一种基于RDC不定长分块策略的数据同步方法及装置与流程

文档序号:21972776发布日期:2020-08-25 19:03阅读:204来源:国知局
一种基于RDC不定长分块策略的数据同步方法及装置与流程

本发明涉及计算机数据备份技术领域,特别是涉及一种基于rdc(remotedifferentialcompression,远程差分压缩)不定长分块策略的数据同步方法及装置。



背景技术:

数据备份是容灾的基础。数据备份的过程就是将生产机的数据同步到目标机。

在数据同步过程中,目前普遍采用的方法是将需要备份的文件或块设备(例如磁盘)分成等长的数据块,对每个数据块进行校验和同步。这种等长的数据块方法有效地提高了数据同步效率,同时缓解了内存压力。但同时,该方法也有不小的弊端,其中较为明显的一个弊端就是:当生产机增量数据不多或增量数据块比较集中时,该方法会对不变的数据块多次等长发送,导致同步效率较低。



技术实现要素:

为克服上述现有技术存在的不足,本发明之目的在于提供一种基于rdc不定长分块策略的数据同步方法及装置,以实现不定长地发送增量数据块和不变数据块,从而提高数据同步效率。

为达上述目的,本发明提供一种基于rdc不定长分块策略的数据同步系统,包括:

源端,将需要同步的块设备/文件信息发送至备端,获取所述备端发送的该块设备/文件对应的备份块设备/文件的各数据块的校验和,读取源端所述块设备/文件的各数据块并计算校验和,将计算获得的校验和与获得的备份块设备/文件对应数据块的校验和对比,根据对比结果基于不定长策略确定连续性不变数据块以及连续性增量数据块,并对连续性不变数据块以及连续性增量数据块采用不同策略分别进行同步;

备端,用于获取所述源端发送的需要同步的块设备/文件信息,根据需要同步的块设备/文件信息获取备端本机的所述备份块设备/文件,读取并计算所述备份块设备/文件各数据块的校验和,并发送至所述源端,于接收到所述源端的同步数据后,对连续性不变数据块以及连续性增量数据块采用对应策略进行同步处理。

优选地,所述源端包括:

发送单元,用于将需要同步的块设备或文件信息发送至所述备端;

备端校验和接收单元,用于接收所述备端发送的对应备份块设备/文件的各数据块的校验和;

源端校验和计算比对单元,用于读取所述块设备/文件的各数据块,计算各数据块的校验和,与接收的备份块设备/文件的对应数据块的校验和进行比对;

统计单元,用于根据所述源端校验和计算比对单元的计算比对结果累计校验和相同的和校验和不同的连续性数据块;

同步单元,用于根据统计结果,分别发送校验和相同的连续多个数据块偏移量和大小,以及校验和不同的连续多个数据块偏移量和增量数据至所述备端。

优选地,所述备端校验和接收单元于接收到所述备端发送的对应备份块设备/文件的各数据块的校验和后,将其加载至一校验和线性表中。

优选地,所述统计单元分别累计统计连续性的校验和相同的数据块直到校验结果不同,以及累计统计连续性的校验和不同的数据块,直到校验结果相同。

优选地,所述统计单元将各累计值与预设的最大发送数据块阈值进行比对,当其中之一或全部累计值到达所述最大发送数据块阈值时,启动所述同步单元。

优选地,所述备端进一步包括:

接收单元,用于接收所述源端发送的需要同步的块设备/文件信息,并于本机获取对应的备份块设备/文件;

备端校验和计算单元,用于读取该备份块设备/文件的各数据块,计算其校验和,并发送至所述源端;

同步处理单元,根据接收到源端同步单元发送的校验和相同的连续多个数据块偏移量和大小于备端本机获取对应的备份块设备/文件的相应数据,并与接收到的源端同步单元发送的校验和不同的连续多个数据块偏移量和增量数据合并形成新的备份块设备/文件。

优选地,所述同步处理单元于所述备端创建一用于备份该块设备/文件的临时文件,对接收到的源端同步单元发送的校验和相同的连续多个数据块偏移量和大小,根据该偏移量和大小读取备端本机中对应的备份块设备/文件的相应数据写入所述临时文件中,对接收到的源端同步单元发送的校验和不同的连续多个数据块偏移量和增量数据,根据偏移量和大小,将增量数据写入该临时文件中,并于备份完成后,将所述临时文件设置为所述新的备份块设备/文件,同时删除备端原备份块设备/文件。

为达到上述目的,本发明还提供一种基于rdc不定长分块策略的数据同步方法,包括如下步骤:

步骤s1,由源端将需要同步的块设备/文件信息发送至备端;

步骤s2,获取备端发送的该块设备/文件对应的备份块设备/文件的各数据块的校验和;

步骤s3,源端读取所述块设备/文件的各数据块,并计算校验和,将计算获得的校验和与获得的备份块设备/文件对应数据块的校验和对比;

步骤s4,根据步骤s3的对比结果基于不定长策略确定连续性不变数据块以及连续性增量数据块,并对连续性不变数据块以及连续性增量数据块采用不同策略分别进行同步。

优选地,于步骤s4中,分别累计统计连续性的校验和相同的数据块,以及连续性的校验和不同的数据块,分别发送校验和相同的连续多个数据块偏移量和大小,以及校验和不同的连续多个数据块偏移量和增量数据至备端。

优选地,于步骤s4后,还包括如下步骤:

步骤s5,于备端创建一用于备份该块设备/文件的临时文件对接收到源端发送的校验和相同的连续多个数据块偏移量和大小,根据该偏移量和大小读取备端本机中对应的备份块设备/文件的相应数据写入临时文件中,对接收到源端发送的校验和不同的连续多个数据块偏移量和增量数据,则根据偏移量和大小,将增量数据写入该临时文件中,并于备份完成后,将所述临时文件设置为所述新的备份块设备/文件,同时删除备端原备份块设备/文件。

与现有技术相比,本发明一种基于rdc不定长分块策略的数据同步系统及方法通过在源端获取备端发送的备份块设备/文件的各数据块的校验和,然后读取源端块设备/文件的各数据块并计算校验和,将计算获得的校验和与获得的备份块设备/文件对应数据块的校验和对比,根据对比结果基于不定长策略确定连续性不变数据块以及连续性增量数据块,并对连续性不变数据块以及连续性增量数据块采用不同策略分别进行同步,实现了不定长地发送增量数据块和不变数据块的目的,从而提高了数据同步的效率。

附图说明

图1为本发明一种基于rdc不定长分块策略的数据同步系统的系统架构图;

图2为本发明一种基于rdc不定长分块策略的数据同步方法的步骤流程图;

图3为本发明实施例中基于rdc不定长分块策略的数据同步流程图;

图4为本发明实施例中不定长策略的流程图。

具体实施方式

以下通过特定的具体实例并结合附图说明本发明的实施方式,本领域技术人员可由本说明书所揭示的内容轻易地了解本发明的其它优点与功效。本发明亦可通过其它不同的具体实例加以施行或应用,本说明书中的各项细节亦可基于不同观点与应用,在不背离本发明的精神下进行各种修饰与变更。

图1为本发明一种基于rdc不定长分块策略的数据同步系统的系统架构图。如图1所示,本发明一种基于rdc不定长分块策略的数据同步系统,包括:

源端10,即生产端,将需要同步的块设备/文件信息发送至备端20,获取备端20发送的该块设备/文件对应的备份块设备/文件的各数据块的校验和,读取源端所述块设备/文件的各数据块,并计算校验和,将计算获得的校验和与获得的备份块设备/文件对应数据块的校验和对比,根据对比结果基于不定长策略确定连续性不变数据块以及连续性增量数据块,并对连续性不变数据块以及连续性增量数据块采用不同策略分别进行同步,即根据对比结果累计校验和相同的和校验和不同的连续性数据块,根据累计结果分别发送校验和相同的连续多个数据块偏移量和大小,以及校验和不同的连续多个数据块偏移量和增量数据。

具体地,源端10进一步包括:

发送单元101,用于将需要同步的块设备或文件信息发送至备端20。

所述块设备指的是i/o设备中的一类,其将信息存储在固定大小的块中,每个块都有自己的地址,还可以在设备的任意位置读取一定长度的数据,例如硬盘,u盘,sd卡等。在本发明具体实施例中,所述块设备或文件信息可以是块设备或文件信息的名称,即发送单元101将需要同步的块设备或文件的名称发送到备端20,备端20则根据块设备或文件的名称于备端本机获取对应的备份块设备或文件,读取备端本机对应的备份块设备或文件的各数据块,计算校验和,持续不断发送到源端10。

备端校验和接收单元102,用于接收备端20发送的对应备份块设备/文件的各数据块的校验和。优选地,于接收到备端20发送的对应备份块设备/文件的各数据块的校验和后,将其加载到一校验和线性表中。

源端校验和计算比对单元103,用于读取所述块设备/文件的各数据块,采用md5算法计算各数据块的校验和,即md5值,与备份块设备/文件的对应数据块的校验和进行比对。在本发明具体实施例中,源端校验和计算比对单元103依次读取所述块设备/文件的各数据块并计算其校验和,然后将其与校验和线性表中备份块设备/文件对应数据块的校验和进行比对。

统计单元104,用于根据源端校验和计算比对单元103的计算比对结果累计校验和相同的和校验和不同的连续性数据块,校验和相同的数据块即不变数据块,校验和不同的数据块即增量数据块,也就是说,统计单元104分别累计统计连续性的校验和相同的数据块,直到校验结果不同,即累计连续性的不变数据块,以及连续性的校验和不同的数据块,直到校验结果相同,即累计连续性的增量数据块。

同步单元105,根据统计结果,分别发送校验和相同的连续多个数据块偏移量和大小,以及校验和不同的连续多个数据块偏移量和增量数据至备端20。也就是说,对于不变数据块,同步单元105只需发送累计的数据块的偏移量和大小至20,备端20可于备端本机获取对应数据,而对于增量数据块,同步单元105则需发送累计的数据块的偏移量和增量数据,以实现数据同步。

优选地,于统计单元104中,还可将累计值与预设的最大发送数据块阈值进行比对,当不变数据块的累计值和/或增量数据块的累计值到达最大发送数据块阈值时,启动同步单元105。也就是说,为了避免一次同步的数据量过大,在本发明具体实施例中,还设置有最大发送数据块阈值,当某个累计值到达最大发送数据块阈值时,即进行数据同步,具体地,统计单元104会累计统计校验和连续性相同的数据块,直到校验结果不同或统计结果到达最大发送数据块阈值时,由同步单元105发送连续多个相同数据块偏移量和总量的大小至备端20,或者,统计单元104累计统计校验和连续性不同数据块,直到校验结果相同或统计结果到达最大发送数据块阈值时,由同步单元105发送累计的连续性不同的增量数据的偏移量和增量数据至备端20。

备端20,即目标端,用于获取源端10发送的需要同步的块设备/文件信息,开启校验线程,即根据需要同步的块设备/文件信息获取备端本机的备份块设备/文件,读取并计算该备份块设备或文件各数据块的校验和,并发送至源端10。备端20还于接收到源端10的同步数据后,对连续性不变数据块以及连续性增量数据块采用不同策略进行同步处理。

具体地,备端20进一步包括:

接收单元201,用于接收源端10发送的需要同步的块设备/文件信息,并获取对应的备份块设备/文件。在本发明具体实施例中,接收单元201接收到源端发送的需要同步的块设备/文件的名称,根据该块设备/文件的名称于备端本机获取对应的备份块设备或文件。

备端校验和计算单元202,用于开启校验线程,读取该备份块设备/文件的各数据块,计算其校验和,并发送至源端10。也就是说,备端校验和计算单元202会根据获取的备份块设备/文件,依序读取该备份块设备/文件的各数据块,计算校验和,不断发送到源端,以供源端进行校验。需说明的是,备端的备端校验和计算单元202开启校验线程与源端的,该校验线程实现:读取备端本机的备份块设备文件,计算校验和,不断发送到源端的备端校验和接收单元102能同时持续进行,即,备端开启校验线程,不断计算并发送块设备文件的数据块校验和,源端接受并将校验和加载到校验和线性表中。

同步处理单元203,用于接收源端发送的同步数据,对其中的连续性不变数据块以及连续性增量数据块采用不同策略进行同步处理。

具体地,同步处理单元203首先于备端20创建一用于备份该块设备/文件的临时文件即tmp文件,对接收到源端同步单元105发送的校验和相同的连续多个数据块偏移量和大小,根据该偏移量和大小读取备端本机中对应的备份块设备/文件的相应数据写入临时文件中,对接收到源端同步单元105发送的校验和不同的连续多个数据块偏移量和增量数据,则根据偏移量和大小,将增量数据写入该临时文件中。当备份完成后,删除备端本机原备份块设备/文件,将该临时文件(tmp文件)设成备份块设备/文件。

图2为本发明一种基于rdc不定长分块策略的数据同步方法的步骤流程图。如图2所示,本发明一种基于rdc不定长分块策略的数据同步方法,包括如下步骤:

步骤s1,由源端将需要同步的块设备/文件信息发送至备端。

步骤s2,获取备端发送的该块设备/文件对应的备份块设备/文件的各数据块的校验和。

在本发明具体实施例中,所述块设备或文件信息可以是块设备或文件信息的名称,即源端将需要同步的块设备或文件的名称发送到备端,备端则根据块设备或文件的名称于备端本机获取对应的备份块设备或文件,读取备端本机对应的备份块设备或文件的各数据块,计算校验和,持续不断发送到源端。

步骤s3,源端读取所述块设备/文件的各数据块,并计算校验和,将计算获得的校验和与获得的备份块设备/文件对应数据块的校验和对比。

具体地说,源端会依次读取所述块设备/文件的各数据块并计算其校验和,然后将其与校验和线性表中备份块设备/文件对应数据块的校验和进行比对。

步骤s4,根据步骤s3的对比结果基于不定长策略确定连续性不变数据块以及连续性增量数据块,并对连续性不变数据块以及连续性增量数据块采用不同策略分别进行同步。具体地说,根据步骤s3的计算比对结果累计校验和相同的和校验和不同的连续性数据块,在本发明具体实施例中,校验和相同的数据块即不变数据块,校验和不同的数据块即增量数据块,也就是说,于步骤s4中,分别累计统计连续性的校验和相同的数据块,直到校验结果不同,即累计连续性的不变数据块,以及连续性的校验和不同的数据块,直到校验结果相同,即累计连续性的增量数据块,然后根据统计结果,分别发送校验和相同的连续多个数据块偏移量和大小,以及校验和不同的连续多个数据块偏移量和增量数据至备端。也就是说,对于不变数据块,只需发送累计的数据块的偏移量和大小至,备端可于备端本机获取对应数据,而对于增量数据块,则需发送累计的数据块的偏移量和增量数据,以实现数据同步。

优选地,于步骤s4中,还将累计值与预设的最大发送数据块阈值进行比对,当不变数据块的累计值和/或增量数据块的累计值到达最大发送数据块阈值时,启动数据同步,具体地,于步骤s4中,累计统计校验和连续性相同的数据块,直到校验结果不同或统计结果到达最大发送数据块阈值时,发送连续多个相同数据块偏移量和总量的大小至备端,或者,累计统计校验和连续性不同数据块,直到校验结果相同或统计结果到达最大发送数据块阈值时,发送累计的连续性不同的增量数据的偏移量和增量数据至备端。

优选地,于步骤s4之后,还包括如下步骤:

步骤s5,当备端接收到源端发送的同步数据,对其中的连续性不变数据块以及连续性增量数据块采用不同策略进行同步处理。

具体地,首先于备端创建一用于备份该块设备/文件的临时文件即tmp文件,对接收到源端发送的校验和相同的连续多个数据块偏移量和大小,根据该偏移量和大小读取备端本机中对应的备份块设备/文件的相应数据写入临时文件中,对接收到源端发送的校验和不同的连续多个数据块偏移量和增量数据,则根据偏移量和大小,将增量数据写入该临时文件中。当备份完成后,删除备端本机原备份块设备/文件,将该临时文件(tmp文件)设成备份块设备/文件。

实施例

如图3所示,在本实施例中,数据同步过程如下:

步骤1,源端发送start信号到备端,备端接受后开启校验线程。

步骤2,源端发送需要同步的块设备文件名称到备端,备端接受设置对应的块设备文件名。

步骤3,备端校验线程打开读取对应的备份块设备文件的各数据块,计算校验和,发送到源端。

步骤4,源端接受备端发送的校验和,加载到一校验和线性表中。

步骤5,源端从校验线性表中取出校验和,源端读取源端块设备文件,计算读取的数据块校验和,并进行比对。

步骤6,根据比对结果基于不定长策略数据同步。数据同步流程如图4所示,具体同步流程如下:与上一个数据块校验结果是否相同;累计统计连续性相同数据块,直到校验结果不同或当统计结果大于预先设置的最大发送数据块大小,发送偏移量和相同数据块总量的大小;累计统计连续性不同数据块,直到校验结果相同或当统计结果大于预先设置的最大发送数据块大小,发送累计的增量数据的偏移量和数据。

步骤7,备端创建块设备文件的临时文件,即tmp文件。根据源端发送的同步结果,对块设备文件及其临时文件进行相应操作,具体如下:备端接受到源端发送的相同数据块的偏移量及大小,读取备端备份块设备相应数据,写入到tmp文件中;备端接受到源端发送的不同数据块的偏移量和大小,将增量数据写入到tmp文件中。

步骤8,备份完成,删除备端原备份块设备文件,将临时文件tmp文件设成备端的备份块设备文件。

综上所述,本发明一种基于rdc不定长分块策略的数据同步系统及方法通过在源端获取备端发送的备份块设备/文件的各数据块的校验和,然后读取源端块设备/文件的各数据块并计算校验和,将计算获得的校验和与获得的备份块设备/文件对应数据块的校验和对比,根据对比结果基于不定长策略确定连续性不变数据块以及连续性增量数据块,并对连续性不变数据块以及连续性增量数据块采用不同策略分别进行同步,实现了不定长地发送增量数据块和不变数据块的目的,从而提高了数据同步的效率。

上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何本领域技术人员均可在不违背本发明的精神及范畴下,对上述实施例进行修饰与改变。因此,本发明的权利保护范围,应如权利要求书所列。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1