CN113821362A - 数据复制方法及装置 - Google Patents

数据复制方法及装置 Download PDF

Info

Publication number
CN113821362A
CN113821362A CN202111408986.2A CN202111408986A CN113821362A CN 113821362 A CN113821362 A CN 113821362A CN 202111408986 A CN202111408986 A CN 202111408986A CN 113821362 A CN113821362 A CN 113821362A
Authority
CN
China
Prior art keywords
copy
data
source
log
target
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202111408986.2A
Other languages
English (en)
Other versions
CN113821362B (zh
Inventor
吴红伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yunhe Enmo Beijing Information Technology Co ltd
Original Assignee
Yunhe Enmo Beijing Information Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Yunhe Enmo Beijing Information Technology Co ltd filed Critical Yunhe Enmo Beijing Information Technology Co ltd
Priority to CN202111408986.2A priority Critical patent/CN113821362B/zh
Publication of CN113821362A publication Critical patent/CN113821362A/zh
Application granted granted Critical
Publication of CN113821362B publication Critical patent/CN113821362B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/543User-generated data transfer, e.g. clipboards, dynamic data exchange [DDE], object linking and embedding [OLE]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种数据复制方法及装置。其中,该方法包括:响应创建目标副本的操作,创建所述目标副本;从已有的主副本和从副本中选择一个作为所述目标副本的复制源;获取所述复制源中待复制数据的一致性视图;基于所述一致性视图将所述待复制数据复制到所述目标副本。本发明解决了相关技术中在分布式系统中主副本和从副本之间进行数据同步时,存在时延较长的技术问题。

Description

数据复制方法及装置
技术领域
本发明涉及数据同步领域,具体而言,涉及一种数据复制方法及装置。
背景技术
在分布式系统中为了提高系统可用性,会采用多副本策略。通常会选择一个副本作为主副本,其余副本作为从副本,主副本对外提供读写操作,从副本可以提供只读操作。
由于只有主副本提供写操作,主副本上的数据会因为写操作的执行而变化,主从副本的数据就会出现不一致,且随着时间的推移差异情况会越来越大,那么就需要一种机制来同步主从副本的数据。
主副本可以定期或者差异累计到一定程度时,主动把所有的数据批量复制给所有从副本,从副本直接使用接收到的全量数据替换本地数据,从而减少主从副本之间数据的差异,提高系统的一致性。在数据量较小的情况下,通过这种定时批量复制的方式是可行的,并且实现过程也比较简单。但是在数据量大的情况下,需要传输的数据量太大,效率上就达不到要求。
主副本可以通过增量同步的方式跟从副本保持一致,通过每次只同步变化的数据或者把引起变化操作同步给从副本,在从副本上重放一次操作。此时引入复制状态机(RSM),在主从副本初始状态一致的情况下,主从副本同时执行一组相同的操作,主从副本最终状态也是一致的。Raft协议就是用来保证所有的操作有序地复制到所有副本。
具体在采用复制状态进行复制时, leader(主副本)接收来自客户端的操作请求;一致性模块(raft)把操作(在raft中称为日志)放入本地队列,同时复制给follower(从副本)的一致性模块;在状态机上应用操作。
在所有副本的状态机都应用到相同的日志后,状态机的状态都是一致的。为了减少日志占用的空间,需要删除已经应用过的日志。leader会在本地保留一段最近的日志,用于确保日志同步给正常的follower。但是当follower长时间离线又恢复后或者是完全新加入的follower,leader和follower之间的日志存在断层,此时就需要批量复制状态机的数据。
现有方案:leader使用全量备份数据进行数据同步
在正常工作的情况下,节点定期生成本地数据的备份。当出现follower需要通过全量数据同步时,leader直接把最新的备份数据复制给follower,follower接收全量数据后可以继续使用增量同步log的方式保持与leader的一致。由于备份据包含全部数据内容,整个系统的存储空间占用会翻倍。同时,由于所有的客户端请求都是通过leader进行处理,同时leader还需要同步日志到follower。在备份数据很大的情况下,同步备份数据会影响leader响应客户端请求的时延。对此,又有以下两种改进:
(1)有的通过限制全量数据同步使用的资源来降低全量同步对时延的影响,但这会导致全量同步的时间过长,使集群长时间处于降级的状态。
(2)有的通过压缩快照数据,降低快照数据的大小。但对于二进制类型的数据压缩比不会太大,同时压缩大量也会占用CPU资源。
现有方案的备份数据会导致存储空间的翻倍,进行全量备份的过程中也会占用大量的磁盘带宽。由于客户端的读写请求需要leader处理,同步新增日志到正常follower。此时leader如果还要复制全量备份数据到异常的follower,所有的压力都集中在leader上,势必增加 leader处理请求响应时延。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种数据复制方法及装置,以至少解决相关技术中在分布式系统中主副本和从副本之间进行数据同步时,存在时延较长的技术问题。
根据本发明实施例的一个方面,提供了一种数据复制方法,包括:响应创建目标副本的操作,创建所述目标副本;从已有的主副本和从副本中选择一个作为所述目标副本的复制源;获取所述复制源中待复制数据的一致性视图;基于所述一致性视图将所述待复制数据复制到所述目标副本。
可选的,从已有的主副本和从副本中选择一个作为所述目标副本的复制源包括;接收预设策略,其中,所述预设策略用于选择复制过程中占用资源更少的副本作为复制源;按照所述预设策略从已有的主副本和从副本中选择一个作为目标副本的复制源,其中,所述主副本的数量为一个,所述从副本的数量为至少一个。
可选的,所述预设策略包括下列之一:选择负载更小的副本作为复制源;选择与所述目标副本的位置距离更近的副本作为复制源;其中,所述副本为主副本或从副本。
可选的,获取所述复制源中待复制数据的一致性视图包括:确定所述复制源基于预设复制协议的最新日志,其中,所述预设复制协议的日志用于标识所述复制源的数据操作;根据所述最新日志生成一致性视图。
可选的,确定所述复制源基于预设复制协议的最新日志包括:确定所述复制源的所述预设复制协议的日志的编号,其中,所述编号用于标识日志操作的时间先后;将编号最大的日志作为所述最新日志,其中,所述日志的编号从小到大按照时间先后进行排列。
可选的,根据所述最新日志生成一致性视图包括:确定所述最新日志的多个数据块对应的最新编号,其中,所述最新日志包括多个数据块,每个数据块的数据至少对应一个日志的编号;根据所述多个数据块分别对应的最新编号,生成所述一致性视图。
可选的,基于所述一致性视图将所述待复制数据复制到所述目标副本包括:根据所述一致性视图将所述复制源的最新日志以及对应的最新数据,交替复制到所述目标副本。
可选的,基于所述一致性视图将所述待复制数据复制到所述目标副本之后,还包括:通过写时复制技术在所述复制源的副本在数据复制过程中进行日志的新增,保留一致性视图对应的数据块;在所述复制源的副本在数据复制完成后,将所述一致性视图对应的旧数据块删除。
根据本发明实施例的另一方面,还提供了一种数据复制装置,包括:创建模块,用于响应创建目标副本的操作,创建所述目标副本;选择模块,用于从已有的主副本和从副本中选择一个作为所述目标副本的复制源;获取模块,用于获取所述复制源中待复制数据的一致性视图;复制模块,用于基于所述一致性视图将所述待复制数据复制到所述目标副本。
根据本发明实施例的另一方面,还提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行上述中任意一项所述的数据复制方法。
根据本发明实施例的另一方面,还提供了一种计算机存储介质,所述计算机存储介质包括存储的程序,其中,在所述程序运行时控制所述计算机存储介质所在设备执行上述中任意一项所述的数据复制方法。
在本发明实施例中,采用响应创建目标副本的操作,创建目标副本;从已有的主副本和从副本中选择一个作为目标副本的复制源;获取复制源中待复制数据的一致性视图;基于一致性视图将待复制数据复制到目标副本的方式,不再固定的只选取主副本作为复制源,根据需求在已有的主副本和从副本中选取复制源,对新建的目标副本进行数据同步,达到了不依赖主副本对新建的目标副本进行数据同步的目的,从而实现了分散辅主副本的压力,降低数据批量复制的时延的技术效果,进而解决了相关技术中在分布式系统中主副本和从副本之间进行数据同步时,存在时延较长的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种数据复制方法的流程图;
图2是根据本发明实施方式的两个副本正常工作流程的示意图;
图3是根据本发明实施方式的新加入目标副本的示意图;
图4是根据本发明实施方式的目标副本同步的示意图;
图5是根据本发明实施例的一种数据复制装置的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
根据本发明实施例,提供了一种数据复制方法的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图1是根据本发明实施例的一种数据复制方法的流程图,如图1所示,该方法包括如下步骤:
步骤S102,响应创建目标副本的操作,创建目标副本;
步骤S104,从已有的主副本和从副本中选择一个作为目标副本的复制源;
步骤S106,获取复制源中待复制数据的一致性视图;
步骤S108,基于一致性视图将待复制数据复制到目标副本。
通过上述步骤,采用响应创建目标副本的操作,创建目标副本;从已有的主副本和从副本中选择一个作为目标副本的复制源;获取复制源中待复制数据的一致性视图;基于一致性视图将待复制数据复制到目标副本的方式,不再固定的只选取主副本作为复制源,根据需求在已有的主副本和从副本中选取复制源,对新建的目标副本进行数据同步,达到了不依赖主副本对新建的目标副本进行数据同步的目的,从而实现了分散辅主副本的压力,降低数据批量复制的时延的技术效果,进而解决了相关技术中在分布式系统中主副本和从副本之间进行数据同步时,存在时延较长的技术问题。
上述步骤的执行主体可以为分布式存储系统,在分布式系统中为了提高系统可用性,会采用多副本策略。通常会选择一个副本作为主副本,其余副本作为从副本,主副本对外提供读写操作,从副本可以提供只读操作。在创建新的目标副本一般都是从副本,主副本会定期将数据批量复制给从副本,在采用全量复制时,其复制效率过低,时延较长,采用增量复制时,通过复制状态机的方式又存在占用空间较大。本申请的上述步骤可以极大的提高全量复制时的复制效率,降低时延。
上述响应创建目标副本的操作可以为客户端向分布式存储系统发送的请求,想应该请求创建一个从副本,也即是上述目标副本。上述主副本是通过分布式存储系统的机制,在集群中的多个副本中选择一个从副本作为主副本。在本实施例中上述主副本是已经确定好的。创建目标副本后,目标副本是一片空白,需要将主副本的部分数据或者全部数据批量复制给目标副本。
上述从已有的主副本和从副本中选择一个作为目标副本的复制源,可以采用预设的选取策略,例如,根据主副本和从副本的负载,选择负载更低的主副本或从副本作为复制源,或者根据目标副本与已有的主副本和从副本的位置,选择位置更接近,例如一个机房或者一个机架,选择复制源。从而均衡负载,降低数据传输距离,提高数据传输效率。
上述一致性视图可以为副本的多个数据块在同一时刻的数据,从而获取复制源中待复制数据的一致性视图,基于一致性视图将待复制数据复制到目标副本。
可选的,从已有的主副本和从副本中选择一个作为目标副本的复制源包括;接收预设策略,其中,预设策略用于选择复制过程中占用资源更少的副本作为复制源;按照预设策略从已有的主副本和从副本中选择一个作为目标副本的复制源,其中,主副本的数量为一个,从副本的数量为至少一个。
上述预设策略可以预先设置,根据不同的需求设定不同的选取策略。然后根据上述预设策略就可以从已有的主副本和从副本中选择一个作为目标副本的复制源,需要说明的是,在一种情况下,根据预设策略最终筛选出的复制源为包括主副本和从副本的多个副本,此种情况下,有限选取从副本作为复制源,以降低主副本的数据压力,进而提高数据复制的效率。
在整个系统中包括个服务集群,一个集群中包括一个主副本,一个或多个从副本。不同的服务集群之间不涉及一个集群的主副本与其他集群的从副本进行数据同步。
可选的,预设策略包括下列之一:选择负载更小的副本作为复制源;选择与目标副本的位置距离更近的副本作为复制源;其中,副本为主副本或从副本。
上述预设策略用于选择复制过程中占用资源更少的副本作为复制源,具体的,根据主副本和从副本的负载,选择负载更低的主副本或从副本作为复制源,可以均衡负载降低数据复制的占用资源。根据目标副本与已有的主副本和从副本的位置,选择位置更接近,例如一个机房或者一个机架,选择复制源。可以降低数据复制占用的数据传输资源,进而提高数据复制的效率。
可选的,获取复制源中待复制数据的一致性视图包括:确定复制源基于预设复制协议的最新日志,其中,预设复制协议的日志用于标识复制源的数据操作;根据最新日志生成一致性视图。
复制源根据一致性协议的最新日志,也即是日志编号最大的日志,生成一致性视图。上述一致性协议可以为raft协议,其日志编号为index编号。根据最新日志生成一致性视图,可以将最接近主副本的数据复制到目标副本上。
具体的,确定复制源基于预设复制协议的最新日志包括:确定复制源的预设复制协议的日志的编号,其中,编号用于标识日志操作的时间先后;将编号最大的日志作为最新日志,其中,日志的编号从小到大按照时间先后进行排列。
可选的,根据最新日志生成一致性视图包括:确定最新日志的多个数据块对应的最新编号,其中,最新日志包括多个数据块,每个数据块的数据至少对应一个日志的编号;根据多个数据块分别对应的最新编号,生成一致性视图。
上述最新日志包括多个数据块的元数据,通过原数据可以标记数据块的位置,包括卷位置,块位置,以及快照位置。从而确定出数据块的最新数据。每个数据块的块位置,对应多个快照位置,不同的快照记录了主副本不同时间的数据,由于不同的额快照时间存在数据块的引用,也即是快照中数据相同的数据块,因此,其数据块对应的快照编号,也即是上述日志编号是不同的,可能是对应最新的日志编号,也可能是对应之前的某一次日志的快照的编号,在此处获取日式的方式就是快照,也即是日志就是快照。
可选的,基于一致性视图将待复制数据复制到目标副本包括:根据一致性视图将复制源的最新日志以及对应的最新数据,交替复制到目标副本。
在向目标副本复制数据时,由于目标副本中数据块的数据和日志的数据都是需要进行复制的,如图2至图4所示,主副本leader和从副本follower都包括了数据块的数据,以及日志的数据,最新日志以及对应的最新数据,交替复制到目标副本,可以是复制一个日志的数据块,然后复制对应的数据块的数据,然后再去复制日志中接下来的数据块,一直这样交替复制,可以避免最新日志在复制源中堆积。
可选的,基于一致性视图将待复制数据复制到目标副本之后,还包括:通过写时复制技术在复制源的副本在数据复制过程中进行日志的新增,保留一致性视图对应的数据块;在复制源的副本在数据复制完成后,将一致性视图对应的旧数据块删除。
需要说明的是,本申请实施例还提供了一种可选的实施方式,下面对该实施方式进行详细说明。
本实施方式本方案提供了一种raft批量数据复制的方法,它有如下特点:
a)基于策略在raft组中选择批量复制数据的源节点;
b)使用数据分块的策略,使用raft日志的id生成一致性视图保证批量复制数据的一致性;
c)对数据块使用写时复制(COW)的技术,保证在批量复制数据的过程中,raft日志的应用操作不受影响。主要有以下技术要点:
(1)根据策略在leader和其他正常的follower节点中选择一个作为批量数据复制的数据源,分散集群压力、降低批量复制对客户端请求时延的影响。
(2)将状态机数据按规则切分为块,按块进行批量数据复制。批量复制数据前,在源节点生成一致性视图,保证批量复制数据的一致性。同时批量复制的数据源节点可以继续应用日志,不影响它的数据更新。
(3)批量数据复制完成后,源节点删除一致性视图引用的旧数据块。到此整个批量数据复制流程结束。
图2是根据本发明实施方式的两个副本正常工作流程的示意图,如图2所示,两副本正常工作情况下,leader通过同步日志保持与follower的一致。
图3是根据本发明实施方式的新加入目标副本的示意图,如图3所示,当node3加入集群时,leader发现需要进行批量数据复制,根据策略选定node2作为批量复制的数据源。
node3向node2请求一致性视图,node2根据当前最大日志id(229)生成一致性视图。
图4是根据本发明实施方式的目标副本同步的示意图,如图4所示,node3根据node2返回的一致性视图id(229)请求数据块数据。
node3交替请求新增日志和数据块,避免新增日志在node2堆积。
node2使用写时复制技术(COW)应用新增日志,保留一致性视图的数据块。
数据块复制完成后,整个批量复制数据流程结束,node2清理一致性视图使用的旧数据。
本实施方式基于一定的策略(如:节点负载情况)在leader和现有的follower之中选择批量复制数据的源节点,而不是只有leader可以作为数据源。基于raft日志id的生成数据块的一致性视图,不用全量备份数据,减少存储空间的占用。
现有的raft批量数据复制方式,主要是通过leader节点作为源节点进行批量数据复制。无法分散集群的压力,造成在批量数据复制时客户端请求的响应时延增加。
本实施方式根据策略选择批量数据复制的数据源节点,有效地分散集群负载,降低批量复制对客户端的影响。同时使用raft日志id生成数据块一致性视图,避免占用过多的存储空间。并且在复制数据的过程中raft的正常读写流程不受影响。
图5是根据本发明实施例的一种数据复制装置的示意图,如图5所示,根据本发明实施例的另一方面,还提供了一种数据复制装置,包括:创建模块52,选择模块54,获取模块56和复制模块58,下面对该装置进行详细说明。
创建模块52,用于响应创建目标副本的操作,创建目标副本;选择模块54,与上述创建模块52相连,用于从已有的主副本和从副本中选择一个作为目标副本的复制源;获取模块56,选择模块54相连,用于获取复制源中待复制数据的一致性视图;复制模块58,与上述获取模块56相连,用于基于一致性视图将待复制数据复制到目标副本。
通过该装置,采用创建模块52响应创建目标副本的操作,创建目标副本;选择模块54从已有的主副本和从副本中选择一个作为目标副本的复制源;获取模块56获取复制源中待复制数据的一致性视图;复制模块58基于一致性视图将待复制数据复制到目标副本的方式,不再固定的只选取主副本作为复制源,根据需求在已有的主副本和从副本中选取复制源,对新建的目标副本进行数据同步,达到了不依赖主副本对新建的目标副本进行数据同步的目的,从而实现了分散辅主副本的压力,降低数据批量复制的时延的技术效果,进而解决了相关技术中在分布式系统中主副本和从副本之间进行数据同步时,存在时延较长的技术问题。
根据本发明实施例的另一方面,还提供了一种处理器,处理器用于运行程序,其中,程序运行时执行上述中任意一项的数据复制方法。
根据本发明实施例的另一方面,还提供了一种计算机存储介质,计算机存储介质包括存储的程序,其中,在程序运行时控制计算机存储介质所在设备执行上述中任意一项的数据复制方法。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (11)

1.一种数据复制方法,其特征在于,包括:
响应创建目标副本的操作,创建所述目标副本;
从已有的主副本和从副本中选择一个作为所述目标副本的复制源;
获取所述复制源中待复制数据的一致性视图;
基于所述一致性视图将所述待复制数据复制到所述目标副本。
2.根据权利要求1所述的方法,其特征在于,从已有的主副本和从副本中选择一个作为所述目标副本的复制源包括;
接收预设策略,其中,所述预设策略用于选择复制过程中占用资源更少的副本作为复制源;
按照所述预设策略从已有的主副本和从副本中选择一个作为目标副本的复制源,其中,所述主副本的数量为一个,所述从副本的数量为至少一个。
3.根据权利要求2所述的方法,其特征在于,所述预设策略包括下列之一:
选择负载更小的副本作为复制源;
选择与所述目标副本的位置距离更近的副本作为复制源;
其中,所述副本为主副本或从副本。
4.根据权利要求1所述的方法,其特征在于,获取所述复制源中待复制数据的一致性视图包括:
确定所述复制源基于预设复制协议的最新日志,其中,所述预设复制协议的日志用于标识所述复制源的数据操作;
根据所述最新日志生成一致性视图。
5.根据权利要求4所述的方法,其特征在于,确定所述复制源基于预设复制协议的最新日志包括:
确定所述复制源的所述预设复制协议的日志的编号,其中,所述编号用于标识日志操作的时间先后;
将编号最大的日志作为所述最新日志,其中,所述日志的编号从小到大按照时间先后进行排列。
6.根据权利要求5所述的方法,其特征在于,根据所述最新日志生成一致性视图包括:
确定所述最新日志的多个数据块对应的最新编号,其中,所述最新日志包括多个数据块,每个数据块的数据至少对应一个日志的编号;
根据所述多个数据块分别对应的最新编号,生成所述一致性视图。
7.根据权利要求4所述的方法,其特征在于,基于所述一致性视图将所述待复制数据复制到所述目标副本包括:
根据所述一致性视图将所述复制源的最新日志以及对应的最新数据,交替复制到所述目标副本。
8.根据权利要求1至7中任一项所述的方法,其特征在于,基于所述一致性视图将所述待复制数据复制到所述目标副本之后,还包括:
通过写时复制技术在所述复制源的副本在数据复制过程中进行日志的新增,保留一致性视图对应的数据块;
在所述复制源的副本在数据复制完成后,将所述一致性视图对应的旧数据块删除。
9.一种数据复制装置,其特征在于,包括:
创建模块,用于响应创建目标副本的操作,创建所述目标副本;
选择模块,用于从已有的主副本和从副本中选择一个作为所述目标副本的复制源;
获取模块,用于获取所述复制源中待复制数据的一致性视图;
复制模块,用于基于所述一致性视图将所述待复制数据复制到所述目标副本。
10.一种处理器,其特征在于,所述处理器用于运行程序,其中,所述程序运行时执行权利要求1至8中任意一项所述的数据复制方法。
11.一种计算机存储介质,其特征在于,所述计算机存储介质包括存储的程序,其中,在所述程序运行时控制所述计算机存储介质所在设备执行权利要求1至8中任意一项所述的数据复制方法。
CN202111408986.2A 2021-11-25 2021-11-25 数据复制方法及装置 Active CN113821362B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111408986.2A CN113821362B (zh) 2021-11-25 2021-11-25 数据复制方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111408986.2A CN113821362B (zh) 2021-11-25 2021-11-25 数据复制方法及装置

Publications (2)

Publication Number Publication Date
CN113821362A true CN113821362A (zh) 2021-12-21
CN113821362B CN113821362B (zh) 2022-03-22

Family

ID=78918262

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111408986.2A Active CN113821362B (zh) 2021-11-25 2021-11-25 数据复制方法及装置

Country Status (1)

Country Link
CN (1) CN113821362B (zh)

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060026219A1 (en) * 2004-07-29 2006-02-02 Orenstein Jack A Metadata Management for fixed content distributed data storage
US20090193208A1 (en) * 2005-11-14 2009-07-30 Hitachi, Ltd. Storage control system
CN102308286A (zh) * 2009-02-03 2012-01-04 国际商业机器公司 用于在不停止i/o情况下的多服务器应用同步的方法和系统
US8127104B1 (en) * 2007-08-06 2012-02-28 Marvell International Ltd. Alignment matrix memory copy
CN103678141A (zh) * 2012-09-05 2014-03-26 深圳市中兴移动通信有限公司 闪存的管理方法和管理系统
US20160077936A1 (en) * 2014-09-12 2016-03-17 Facebook, Inc. Failover mechanism in a distributed computing system
CN107391642A (zh) * 2017-07-11 2017-11-24 人人行科技股份有限公司 物化视图刷新方法和装置、存储介质以及处理器
CN107728940A (zh) * 2017-09-27 2018-02-23 柏科数据技术(深圳)股份有限公司 一种数据存储系统中的管理副本的方法、装置和存储介质
US20180137017A1 (en) * 2016-11-17 2018-05-17 International Business Machines Corporation Copying data from multiple point-in-time copies to a log storage to use to roll-back a source storage
CN111752931A (zh) * 2020-07-01 2020-10-09 浪潮云信息技术股份公司 一种用于newsql数据库管理系统的智能存储表实现方法及系统
CN111813760A (zh) * 2020-05-29 2020-10-23 阿里巴巴集团控股有限公司 数据迁移方法以及装置
CN113590039A (zh) * 2021-07-28 2021-11-02 江苏淳客网络科技有限公司 一种基于多副本缓存动态伸缩分布的方法

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060026219A1 (en) * 2004-07-29 2006-02-02 Orenstein Jack A Metadata Management for fixed content distributed data storage
US20090193208A1 (en) * 2005-11-14 2009-07-30 Hitachi, Ltd. Storage control system
US8127104B1 (en) * 2007-08-06 2012-02-28 Marvell International Ltd. Alignment matrix memory copy
CN102308286A (zh) * 2009-02-03 2012-01-04 国际商业机器公司 用于在不停止i/o情况下的多服务器应用同步的方法和系统
CN103678141A (zh) * 2012-09-05 2014-03-26 深圳市中兴移动通信有限公司 闪存的管理方法和管理系统
US20160077936A1 (en) * 2014-09-12 2016-03-17 Facebook, Inc. Failover mechanism in a distributed computing system
US20180137017A1 (en) * 2016-11-17 2018-05-17 International Business Machines Corporation Copying data from multiple point-in-time copies to a log storage to use to roll-back a source storage
CN107391642A (zh) * 2017-07-11 2017-11-24 人人行科技股份有限公司 物化视图刷新方法和装置、存储介质以及处理器
CN107728940A (zh) * 2017-09-27 2018-02-23 柏科数据技术(深圳)股份有限公司 一种数据存储系统中的管理副本的方法、装置和存储介质
CN111813760A (zh) * 2020-05-29 2020-10-23 阿里巴巴集团控股有限公司 数据迁移方法以及装置
CN111752931A (zh) * 2020-07-01 2020-10-09 浪潮云信息技术股份公司 一种用于newsql数据库管理系统的智能存储表实现方法及系统
CN113590039A (zh) * 2021-07-28 2021-11-02 江苏淳客网络科技有限公司 一种基于多副本缓存动态伸缩分布的方法

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
C. HAMON ET AL: "Two-level caching of composite object views of relational databases", 《PROCEEDINGS OF THE ELEVENTH INTERNATIONAL CONFERENCE ON DATA ENGINEERING》 *
余安东等: "数据副本一致性的算法研究与实现", 《数据副本一致性的算法研究与实现 *
凌宗虎等: "远程复制系统数据一致性研究与实现", 《计算机应用》 *
张胜: "基于Raft算法的分布式系统数据一致性研究", 《中国优秀硕士学位论文全文库 信息科技辑》 *
王小虎主编: "《计算机多媒体技术》", 31 October 2018, 中国铁道出版社 *
赵秋云等: "网格环境下的数据副本一致性维护解决方案", 《电脑知识与技术》 *

Also Published As

Publication number Publication date
CN113821362B (zh) 2022-03-22

Similar Documents

Publication Publication Date Title
US11360854B2 (en) Storage cluster configuration change method, storage cluster, and computer system
US11010358B2 (en) Data migration method and system
CN111182067B (zh) 一种基于星际文件系统ipfs的数据写入方法及设备
CN110445822B (zh) 一种对象存储方法及装置
CN107085539B (zh) 一种云数据库系统以及云数据库资源动态调整方法
US7761431B2 (en) Consolidating session information for a cluster of sessions in a coupled session environment
US11579986B2 (en) Data query method and apparatus
WO2020063600A1 (zh) 数据容灾方法与站点
JP2017504880A (ja) 分散データグリッドにおいて永続性パーティションリカバリをサポートするためのシステムおよび方法
CN108572976A (zh) 一种分布式数据库中数据恢复方法、相关设备和系统
CN116680256B (zh) 数据库节点升级方法、装置和计算机设备
CN111935320B (zh) 一种数据同步的方法、相关装置、设备以及存储介质
CN113553179A (zh) 分布式键值存储负载均衡方法及系统
CN113821362B (zh) 数据复制方法及装置
US9037762B2 (en) Balancing data distribution in a fault-tolerant storage system based on the movements of the replicated copies of data
CN116389233B (zh) 容器云管理平台主备切换系统、方法、装置和计算机设备
CN116521083A (zh) 一种分布式存储集群数据的存储方法、装置及介质
CN116303789A (zh) 多分片多副本数据库并行同步方法、装置及可读介质
CN112202601B (zh) 副本集模式运行的两物理节点mongo集群的应用方法
CN111488238B (zh) 一种块存储节点数据修复方法及存储介质
CN111522688B (zh) 分布式系统的数据备份方法及装置
CN112685130A (zh) 分布式存储环境下的虚拟机备份方法、装置和存储介质
CN111400098A (zh) 一种副本管理方法、装置、电子设备及存储介质
KR20100071491A (ko) 데이터 관리 방법 및 그 시스템
CN117555493B (zh) 数据处理方法、系统、装置、存储介质及电子设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant