数据复制方法、系统、设备、介质和程序产品与流程

文档序号:37005355发布日期:2024-02-09 12:51阅读:17来源:国知局
数据复制方法、系统、设备、介质和程序产品与流程

本发明涉及计算机数据处理领域,特别涉及一种基于lsm存储引擎的数据复制方法、系统、设备、介质和程序产品。


背景技术:

1、在实际业务场景中,业务方对数据一致性的要求越来越高,同时对延迟也很敏感,所以要保证数据一致性的同时,又要保证延迟在可接受范围内是当前计算机数据处理面临的重要问题。现有主要采用异步复制方式和同步复制方式;异步复制方式是只要主节点写成功即可反馈给客户端写成功状态,同步复制方式是等主节点和从节点均写成功后才反馈给客户端写成功状态;在异步复制场景中,系统拥有较低的延迟和较高的吞吐量,考虑到存在磁盘损坏的情况,如果主节点出了故障,有些数据因为没有被写入从节点,会导致丢失更多的数据;而在同步复制场景中,如果主节点出故障,从节点上有全部的备份数据,容易恢复,但是同步复制会增大数据写入延迟,降低系统吞吐量,复制延迟高会让客户端感受到延迟大大增加。


技术实现思路

1、本发明的目的在于提供基于lsm存储引擎的数据复制方法、系统、设备、介质和程序产品,在通过控制复制日志边界,保证wal日志的迭代器高概率有效情况下,结合批量同步方式,减小扫描wal日志延迟,提升网络传输效率,以解决增量复制迟高的问题。

2、本发明的实施方式公开了一种数据复制方法,所述方法包括:

3、接收来自从节点的数据复制请求;

4、确定wal日志数据中的第一位置,以及所述wal日志数据当前的写入位置,所述第一位置是上一次结束对所述wal日志数据扫描的位置;

5、从所述第一位置开始扫描所述wal日志数据到所述当前的写入位置;

6、当判断有新增的所述wal日志数据的情况下,扫描新增的所述wal日志数据并重复预定次数,直至不再有新增的所述wal日志数据;

7、存储第二位置,所述第二位置是不再发现新增的所述wal日志数据时,结束扫描的位置;

8、将所述wal日志数据发送给所述从节点。

9、可选地,当判断有新增的所述wal日志数据的情况下,扫描新增的所述wal日志数据包括,确定所述wal日志数据的最新写入位置,当所述当前的写入位置和所述最新写入位置不一致的情况下,判断有新增的所述wal日志数据。

10、可选地,当判断有新增的所述wal日志数据的情况下,扫描新增的所述wal日志数据包括,从所述当前的写入位置开始扫描到所述最新写入位置。

11、可选地,所述预定次数为三次。

12、本发明的实施方式公开了一种数据复制系统,所述系统包括:

13、接收模块,接收来自从节点的数据复制请求;

14、确定模块,确定wal日志数据中的第一位置,以及所述wal日志数据当前的写入位置,所述第一位置是上一次结束对所述wal日志数据扫描的位置;

15、扫描模块,从所述第一位置开始扫描所述wal日志数据到所述当前的写入位置;

16、重复模块,当判断有新增的所述wal日志数据的情况下,扫描新增的所述wal日志数据并重复预定次数,直至不再有新增的所述wal日志数据;

17、存储模块,存储第二位置,所述第二位置是不再发现新增的所述wal日志数据时,结束扫描的位置;

18、发送模块,将所述wal日志数据发送给所述从节点。

19、本发明的实施方式公开了一种存储系统的主节点设备,其特征在于,所述设备包括存储有计算机可执行指令的存储器和处理器,所述处理器被配置为执行所述指令以实施所述数据复制方法。

20、本发明的实施方式公开了一种使用计算机程序编码的计算机存储介质,其特征在于,所述计算机可读存储介质中存储有至少一条计算机指令,所述至少一条指令由处理器加载并执行,以实现所述数据复制方法。

21、本发明提供了一种高效的同步写策略,通过控制复制日志边界,保证wal日志的迭代器高概率有效情况下,并结合批量同步方式,减小扫描wal日志延迟,提升网络传输效率,既可以保障数据高可用,也使得增量操作能尽快同步到从节点,有效降低增量复制的延迟。

22、本发明实施方式与现有技术相比,主要区别及其效果在于:

23、现有技术中,每次复制都需要生成用于读取wal日志的迭代器,扫描到具体位置,扫描过程中会涉及wal中数据的校验,会消耗cpu资源,并耗费时间,这样延迟就会增加。同时一次性“盲目”扫描后续一大片数据来提高单次扫描数据量,但碰到wal日志末尾时容易导致迭代器失效。总之,这些方式都会对增量复制带来延迟高的影响。

24、相较于现有技术,本发明的区别技术特征在于,确定wal日志数据中的第一位置,以及wal日志数据当前的写入位置,从第一位置开始扫描wal日志数据到当前的写入位置;在有新增的wal日志数据的情况下,扫描新增的wal日志数据并重复预定次数,直至不再有新增的wal日志数据。

25、本发明的技术效果在于,本发明只会在首次生成用于读取wal数据的迭代器,当读取了增量的日志后,迭代器内部会移动到下一个待读取的位置,后续扫描wal日志直接复用该迭代器,可以有效避免扫描过得数据重复扫描,降低了每次的扫描的延迟。如果发现存在新增的wal日志数据,每次只会扫描新增的wal日志数据,可以保证迭代器是有效的,减少了下一次扫描重新创建迭代器的步骤;扫描新增的wal日志数据并重复预定次数,直至不再有新增的wal日志数据,这样的重复逻辑,可以保证在高qps场景下增量复制效率高,有效降低延迟。



技术特征:

1.一种数据复制方法,用于存储系统的主节点设备,其特征在于,包括:

2.根据权利要求1所述的一种数据复制方法,其特征在于,当判断有新增的所述wal日志数据的情况下,扫描新增的所述wal日志数据包括,确定所述wal日志数据的最新写入位置,当所述当前的写入位置和所述最新写入位置不一致的情况下,判断有新增的所述wal日志数据。

3.根据权利要求1-2任一项所述的一种数据复制方法,其特征在于,当判断有新增的所述wal日志数据的情况下,扫描新增的所述wal日志数据包括,从所述当前的写入位置开始扫描到所述最新写入位置。

4.根据权利要求1所述的一种数据复制方法,其特征在于,所述预定次数为三次。

5.一种数据复制系统,其特征在于,包括:

6.一种存储系统的主节点设备,其特征在于,所述设备包括存储有计算机可执行指令的存储器和处理器,所述处理器被配置为执行所述指令以实施根据权利要求1-4中任一项所述的数据复制方法。

7.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有至少一条计算机指令,所述至少一条指令由处理器加载并执行,以实现如权利要求1-4中任一项所述的数据复制方法。

8.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机指令,所述计算机指令被执行时,实现如权利要求1-4中任一项所述的数据复制方法。


技术总结
本发明涉及计算机数据处理领域,特别涉及一种针对LSM存储引擎增量日志的高效复制方法、系统、设备、介质和程序产品。其特征在于,接收来自从节点的数据复制请求;确定WAL日志数据中的第一位置,以及所述WAL日志数据当前的写入位置,所述第一位置是上一次结束对所述WAL日志数据扫描的位置;从所述第一位置开始扫描所述WAL日志数据到所述当前的写入位置;当判断有新增的所述WAL日志数据的情况下,扫描新增的所述WAL日志数据并重复预定次数,直至不再有新增的所述WAL日志数据;存储第二位置,所述第二位置是不再发现新增的所述WAL日志数据时,结束扫描的位置;将所述WAL日志数据发送给所述从节点。本发明可以保证数据一致性的同时,有效减少延迟的发生。

技术研发人员:吴发发,李清炳,毛琦
受保护的技术使用者:行吟信息科技(上海)有限公司
技术研发日:
技术公布日:2024/2/8
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1