System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及数据库一致性检测技术,特别是一种基于增量复制的异构数据库一致性检测方法、装置及介质。
技术介绍
1、随着电力信息化的不断发展,数据中台建设的推进,数据量指数级上升,使用多个异构数据库来满足不同场景需求已经成为常见的需求。基于增量复制的数据库同步方式能够从数据库的事务日志中捕获更改的行,以低延迟传递至目标数据库,提升了数据同步的时效性,成为一种流行的数据同步方式。但是,由于数据传输过程中丢失、篡改或者其他工程问题,可能导致源库与目标库的数据不一致,而基于增量复制的同步方式无法捕捉到数据的差异,数据将一直保持不一致的状态,从而导致采用该方式同步的数据质量不高。在过往的实践过程中对这些数据的对比使用表级锁来锁定源端和目标端表,等待需要对比的数据全部取出后解除表级锁。对于重要业务表是带来的业务延迟是无法容忍的。
技术实现思路
1、专利技术目的:本专利技术提供一种基于增量复制过程的异构数据库一致性检测方法、装置及介质,复用增量传输通路,解决传统一致性检查方法无法准确应用增量复制过程中数据快速变化的源端与目标端的问题,提升增量复制链路的可靠性。
2、技术方案:本专利技术所述的一种基于增量复制过程的异构数据库一致性检测方法,包括以下步骤:
3、(1)在源端侧截取源端至目标端的增量网络数据包,并暂停增量流传输;
4、(2)记录数据库库当前日志位置,并在增量流中插入开始标记;
5、(3)利用关系数据库管理系统索引系统加速数据块查询,使用分
6、(4)在增量流中插入结束标记,并捕获开始标记与结束标记之间的增量流数据形成增量数据集;求取增量数据集和分块数据集的交集,并将分块数据集中的交集数据移除,得到静态分块数据集;获取静态分块数据集的摘要,并将其与分块数据集序列号形成静态数据校验包;恢复增量流,并将静态数据校验包添加到增量流结束标志后;
7、(5)目标端接收到开始标记后,对分块数据集序列区间内的数据进行查询,获取目标端分块数据集;
8、(6)接收到结束标记后,暂停增量流的写入,直到目标端分块数据集查询成功,查询成功后恢复增量流的写入;在目标端,对比源端侧静态分块数据库摘要与目标端静态分块数据库摘要,实现数据不一致性检测;
9、(7)记录所有不一致的数据区间,并将不一致的数据区间传输至源端数据库进行数据补录,对补录后的数据区间重新进行数据对比,或重新进行全量对比。
10、进一步地,步骤(3)所述分块键为可排序分块键。
11、进一步地,步骤(3)所述使用分块键进行分块具体过程如下:
12、在分块键上建立升序或降序索引,由关系数据库内部完成;记录最大分块键值和最小分块键值;从最小分块键值开始,按照分块键的升序对数据进行分块;每固定行数作为一个数据块,以上一个数据块的最大分块键值作为最小约束;直到数据的分块键值大于最大分块键值时停止分块。
13、进一步地,步骤(4)所述增量流数据的获取与投递需要暂停,在增量流数据插入将数据块查询开始位置与块查询结束位置标记水印,通过水印控制流。
14、进一步地,所述块查询结束后,记录当前数据库日志最新序列号,恢复增量流读取,直到包含数据库日志最新序列号的数据出现,在该条数据之后插入块查询结束标记水印,结束标记水印中包含上一块数据块最大分块键值和本块数据最大分块键值。
15、进一步地,所述步骤(6)实现过程如下:
16、读取到结束标记水印后,暂停增量流,读取源端上一块数据块最大分块键值作为最小分块键值约束,本块数据最大分块键值作为最大分块键值约束,查询目标端数据块;
17、目标端读取传输过来增量流开始位置、结束位置标记水印之间所有分块键的集合,读取到结束位置标记水印后暂停增量流的读取,查询目标端对应分快键区间的数据得到目标端数据块,在目标端数据块中去除包含这些分块键的数据形成目标端静态数据块,恢复增量流运行;
18、如果增量流网络带宽不敏感,将源端侧静态分块数据集附在摘要数据包后传输至目标端一致性检测模块,发现数据不一致后直接将不一致的源端静态数据转换为增量更新行数据传递给增量日志写入模块。
19、本专利技术所述的一种装置设备,包括存储器和处理器,其中:
20、存储器,用于存储能够在处理器上运行的计算机程序;
21、处理器,用于在运行所述计算机程序时,执行如上所述的基于增量复制的异构数据库一致性检测方法的步骤。
22、本专利技术所述的一种存储介质,所述存储介质上存储有计算机程序,所述计算机程序被至少一个处理器执行时实现如上所述的基于增量复制的异构数据库一致性检测方法的步骤。
23、有益效果:与现有技术相比,本专利技术的有益效果:
24、1、本专利技术可以准确判断源端和目标端数据库的数据是否一致,从而提高数据同步的质量和可靠性;
25、2、通过对增量数据流的实时监控和处理,可以实现低延迟的数据同步,使源端和目标端数据库之间的数据保持一致性。
26、3、可以缓解源端和目标端流速不一致导致的性能下降问题,提高数据同步的效率和吞吐量;
27、4、本专利技术适用于多种异构数据库,并可根据具体需求进行灵活调整和扩展,以满足不同场景下的数据一致性检测需求;为电力信息化领域的数据同步和一致性检测提供新的解决方案。
本文档来自技高网...【技术保护点】
1.一种基于增量复制的异构数据库一致性检测方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的基于增量复制的异构数据库一致性检测方法,其特征在于,步骤(3)所述分块键为可排序分块键。
3.根据权利要求1所述的基于增量复制的异构数据库一致性检测方法,其特征在于,步骤(3)所述使用分块键进行分块具体过程如下:
4.根据权利要求1所述的基于增量复制的异构数据库一致性检测方法,其特征在于,步骤(4)所述增量流数据的获取与投递需要暂停,在增量流数据插入将数据块查询开始位置与块查询结束位置标记水印,通过水印控制流。
5.根据权利要求4所述的基于增量复制的异构数据库一致性检测方法,其特征在于,所述块查询结束后,记录当前数据库日志最新序列号,恢复增量流读取,直到包含数据库日志最新序列号的数据出现,在该条数据之后插入块查询结束标记水印,结束标记水印中包含上一块数据块最大分块键值和本块数据最大分块键值。
6.根据权利要求1所述的基于增量复制的异构数据库一致性检测方法,其特征在于,所述步骤(6)实现过程如下:
7.一种装置设
8.一种存储介质,其特征在于,所述存储介质上存储有计算机程序,所述计算机程序被至少一个处理器执行时实现如权利要求1-6任一项所述的基于增量复制的异构数据库一致性检测方法的步骤。
...【技术特征摘要】
1.一种基于增量复制的异构数据库一致性检测方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的基于增量复制的异构数据库一致性检测方法,其特征在于,步骤(3)所述分块键为可排序分块键。
3.根据权利要求1所述的基于增量复制的异构数据库一致性检测方法,其特征在于,步骤(3)所述使用分块键进行分块具体过程如下:
4.根据权利要求1所述的基于增量复制的异构数据库一致性检测方法,其特征在于,步骤(4)所述增量流数据的获取与投递需要暂停,在增量流数据插入将数据块查询开始位置与块查询结束位置标记水印,通过水印控制流。
5.根据权利要求4所述的基于增量复制的异构数据库一...
【专利技术属性】
技术研发人员:彭光锐,王鹏,胡健,王想,曹健,黄伟,颜铮,高振宇,周时颉,蒋树嵩,
申请(专利权)人:南京南瑞瑞中数据股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。