一种数据增量同步方法、装置及电子设备与流程

文档序号:36816217发布日期:2024-01-26 16:21阅读:47来源:国知局
一种数据增量同步方法、装置及电子设备与流程

本技术涉及计算机,可用于金融领域,特别涉及一种数据增量同步方法、装置及电子设备。


背景技术:

1、银行、电子商务等领域的业务通常会产生大量数据,为这些业务所配置的存储系统通常有至少一个主存储节点、多个备用存储节点,在通常情况下主备存储节点的数据保持同步,在主存储节点故障的情况下,服务器可以将其中一个备用存储节点升级为主存储节点,并从更新的主存储节点读取数据,从而提高存储存储系统整体的高可用性。

2、由于存储系统所需要同步的数据量通常较大,业务服务器不断向主存储节点中写入数据,主存储节点也需不断向备用存储节点发送数据,必须尽量减少重发的次数才能够提高同步效率、达到主备存储节点的同步效果。也就是说,主备存储节点间需要能够实现数据的可靠传输。为此,现有技术通常基于tcp协议实现主存储节点与备用存储节点的同步操作,并通常采用以下同步方法:主存储节点向备用存储节点发送数据包,备用存储节点在接收到该数据包之后会向主存储节点发送确认信息,主存储节点在接收到备用存储节点发送的确认信息之后才开始发送下一个数据包。

3、然而这种数据增量同步方法在协议层存在大量可靠性校验机制开销,如重传、冗余的数据协议头等,导致整体同步效率较低。


技术实现思路

1、本说明书提供一种数据增量同步方法,以解决现有数据增量同步方法的同步效率较低的问题。

2、为解决上述技术问题,本说明书第一方面提供一种数据增量同步方法,包括:主存储节点将待同步数据打包形成各数据包,各数据包的标识按照第一预设规则递增;将大小为n的滑动窗口滑动至标识最小的n个连续的数据包,使滑动窗口中的一个单元与一个数据包的标识对应;n为自然数;将所述滑动窗口的各单元对应的数据包通过不可靠信道发送至备用存储节点,并启动计时器;判断在预定时长内是否接收到备用存储节点发送的确认信号;所述确认信号中包括备用存储节点通过不可靠信道反馈的第一目标标识,所述第一目标标识为备用存储节点所接收到的多个标识连续的数据包中最大的标识;在接收到确认信号的情况下,将滑动窗口滑动至第二目标标识;所述第二目标标识比所述第一目标标识大,且是未发送成功的数据包的标识中最小的标识;在未接收到确认信号的情况下,将所述滑动窗口的各单元对应的数据包重新发送。

3、在一些实施例中,所述方法还包括:所述第一预设规则包括在打包时,当前数据包的标识在上一数据包的标识的基础上增加预定数值。

4、在一些实施例中,所述方法还包括:主存储节点检测不可靠信道的数据传输速率;根据所述数据传输速率调整滑动窗口中所包含的单元的数量。

5、在一些实施例中,主存储节点将待同步数据打包形成各数据包,包括:将待同步数据分段,将每段数据按照如下步骤打包成数据包:按照第一预设规则为当前数据段确定标识;将当前数据段的数据进行压缩;为当前数据段的数据计算校验码;将所述标识、压缩后的数据、校验码形成数据包。

6、在一些实施例中,将待同步数据打包形成各数据包,包括:将待同步数据分成多个数据块,并按照第二预设规则为每个数据块分配数据块标识;将每个数据块进一步划分为多个数据段,并按照第一预设规则为每个数据段分配数据段标识;将每个数据段打包形成各数据包,各数据包的标识是根据所述数据块标识和所述数据段标识确定的;设置多个滑动窗口,每个滑动窗口分别对应一个数据块,以实现各数据包通过对应的滑动窗口并行发送。

7、在一些实施例中,所述方法还包括:主存储节点检测不可靠信道的数据传输速率;根据所述数据传输速率调整滑动窗口的数量。

8、本说明书第二方面提供一种数据增量同步方法,包括:备用存储节点接收主存储节点通过不可靠信道发送的目标数据包;对目标数据包进行解析,得到目标数据包标识;判断目标数据包标识是否与已接收的数据包的标识连续,且大于当前的最大标识;在是的情况下,将所述目标数据包标识作为最大标识,并将目标数据包中的数据进行存储;通过不可靠信道向主存储节点发送当前的最大标识。

9、在一些实施例中,所述方法还包括:在否的情况下,丢弃所述数据包。

10、在一些实施例中,备用存储节点维护多个最大标识,每个最大标识分别与一个滑动窗口对应;所述方法还包括:判断各数据块是否传输成功传输完毕;在各数据块均成功传输完毕的情况下,判断所接收到的数据块的标识是否连续;在连续的情况下,向主存储节点发送当前批次传输成功的信息,以用于主存储节点在接收到所述当前批次传输成功的信息之后开始下一批次的数据传输。

11、在一些实施例中,每一批次的数据段标识重新开始编号;相应地,判断各数据块是否成功传输完毕,包括通过以下方法判断各数据块是否成功传输完毕:判断向主存储节点反馈的最大标识是否达到预定数值,该预定数值是预先确定的、各数据块所划分成的数据段的数量;在达到的情况下,确定所述最大标识所对应的滑动窗口关联的数据块成功传输完毕。

12、本说明书第三方面提供一种数据增量同步装置,包括:打包单元,用于主存储节点将待同步数据打包形成各数据包,各数据包的标识按照第一预设规则递增;第一设置单元,用于将大小为n的滑动窗口滑动至标识最小的n个连续的数据包,使滑动窗口中的一个单元与一个数据包的标识对应;n为自然数;第一发送单元,用于将所述滑动窗口的各单元对应的数据包通过不可靠信道发送至备用存储节点,并启动计时器;第一判断单元,用于判断在预定时长内是否接收到备用存储节点发送的确认信号;所述确认信号中包括备用存储节点通过不可靠信道反馈的第一目标标识,所述第一目标标识为备用存储节点所接收到的多个标识连续的数据包中最大的标识;第二设置单元,用于在接收到确认信号的情况下,将滑动窗口滑动至第二目标标识;所述第二目标标识比所述第一目标标识大,且是未发送成功的数据包的标识中最小的标识;第二发送单元,用于在未接收到确认信号的情况下,将所述滑动窗口的各单元对应的数据包重新发送。

13、在一些实施例中,所述装置还包括:检测单元,用于主存储节点检测不可靠信道的数据传输速率;第一调整单元,用于根据所述数据传输速率调整滑动窗口中所包含的单元的数量。

14、在一些实施例中,所述打包单元包括:第一分段子单元,用于将待同步数据分段;第一打包子单元,用于将每段数据按照如下步骤打包成数据包:按照第一预设规则为当前数据段确定标识;将当前数据段的数据进行压缩;为当前数据段的数据计算校验码;将所述标识、压缩后的数据、校验码形成数据包。

15、在一些实施例中,所述打包单元包括:分块子单元,用于将待同步数据分成多个数据块,并按照第二预设规则为每个数据块分配数据块标识;第二分段子单元,用于将每个数据块进一步划分为多个数据段,并按照第一预设规则为每个数据段分配数据段标识;第二打包子单元,用于将每个数据段打包形成各数据包,各数据包的标识是根据所述数据块标识和所述数据段标识确定的;设置子单元,用于设置多个滑动窗口,每个滑动窗口分别对应一个数据块,以实现各数据包通过对应的滑动窗口并行发送。

16、在一些实施例中,所述装置还包括:检测单元,用于主存储节点检测不可靠信道的数据传输速率;第二调整单元,用于根据所述数据传输速率调整滑动窗口的数量。

17、本说明书第四方面提供一种数据增量同步装置,包括:接收单元,用于备用存储节点接收主存储节点通过不可靠信道发送的目标数据包;解析单元,用于对目标数据包进行解析,得到目标数据包标识;第二判断单元,用于判断目标数据包标识是否与已接收的数据包的标识连续,且大于当前的最大标识;更新存储单元,用于在是的情况下,将所述目标数据包标识作为最大标识,并将目标数据包中的数据进行存储;第三发送单元,用于通过不可靠信道向主存储节点发送当前的最大标识。

18、在一些实施例中,所述装置还包括:丢弃单元,用于在否的情况下,丢弃所述数据包。

19、在一些实施例中,备用存储节点维护多个最大标识,每个最大标识分别与一个滑动窗口对应;所述装置还包括:第三判断单元,用于判断各数据块是否传输成功传输完毕;第四判断单元,用于在各数据块均成功传输完毕的情况下,判断所接收到的数据块的标识是否连续;第四发送单元,用于在连续的情况下,向主存储节点发送当前批次传输成功的信息,以用于主存储节点在接收到所述当前批次传输成功的信息之后开始下一批次的数据传输。

20、在一些实施例中,每一批次的数据段标识重新开始编号;相应地,第三判断单元包括:判断子单元,用于判断向主存储节点反馈的最大标识是否达到预定数值,该预定数值是预先确定的、各数据块所划分成的数据段的数量;确定子单元,用于在达到的情况下,确定所述最大标识所对应的滑动窗口关联的数据块成功传输完毕。

21、本说明书第五方面提供一种电子设备,包括:存储器和处理器,所述处理器和所述存储器之间互相通信连接,所述存储器中存储有计算机指令,所述处理器通过执行所述计算机指令,从而实现第一方面任一项所述方法的步骤。

22、本说明书第六方面提供一种计算机存储介质,所述计算机存储介质存储有计算机程序指令,所述计算机程序指令被执行时实现第一方面任一项所述方法的步骤。

23、本说明书第七方面提供一种计算机程序产品,包含有计算机程序,所述计算机程序被处理器执行时实现第一方面任一项所述方法的步骤。

24、本说明书提供的数据增量同步方法、装置及电子设备中,主存储节点通过不可靠信道向备用存储节点发送同步数据,去除了冗余的可靠性协议层开销,有效利用网络数据带宽,能够高速发送增量同步数据,达到整体同步性能提升的效果;主存储节点在将数据段打包形成数据包时,使得数据包的标识按照预定规则递增,并采用滑动窗口滑动的方式确定当前批次发送的数据,滑动窗口中的各单元分别对应的数据包可以同步发送,实现数据的“批量”发送,提高数据同步效率;备用存储节点在接收到数据包之后仅反馈最大标识,减少了回包数量,可提升整体同步效率。

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