System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请实施例涉及数据同步领域,更具体的,是数据同步结果对比方法、数据同步结果对比设备以及计算机可读存储介质。
技术介绍
1、在企业中往往需要将业务系统数据同步到不同类型的数据库中,例如,业务系统采用的是mysql数据库,分析数据库采用的tidb,则需要将mysql数据库数据同步到tidb数据库中来进行数据分析工作。而同步数据后的数据质量问题成为很多企业困扰的问题,因此,需要进行数据同步结果对比。
2、现有的数据同步结果对比方法是,根据数据表主键进行排序,分别读取源表数据和目标表数据,循环每条数据和数据的所有字段逐一对比。但是,如果源表和目标表数据量达到千万级别,循环每条数据和数据的所有字段逐一对比需要消耗的时间较长。因此,数据同步结果对比的效率较低。
技术实现思路
1、本申请实施例提供了一种数据同步结果对比方法、数据同步结果对比设备以及计算机可读存储介质,能够在提高数据同步结果对比效率的情况下,进行数据同步结果对比。
2、第一方面,本申请实施例提供了一种数据同步结果对比方法,包括:
3、通过二分算法分别对存在同步关系的源数据集和同步数据集进行划分,得到多个与所述源数据集对应的源数据片段和多个与所述同步数据集对应的同步数据片段,其中,所述同步数据集为同步所述源数据集的结果;所述源数据集和同步数据集各自标注有索引字段;
4、将存在同步关系的目标同步数据片段和目标源数据片段进行一致与否的对比;
5、若不一致,则确定所述目标同步数
6、若所述目标同步数据片段和目标源数据片段各自对应的数据条数小于或等于预设最小数据条数,则基于所述目标同步数据片段和目标源数据片段之间的差异确定数据同步的异常情况;
7、若所述目标同步数据片段和目标源数据片段各自对应的数据条数大于所述预设最小数据条数,则执行所述通过二分算法分别对存在同步关系的源数据集和同步数据集进行划分的步骤。
8、可选的,所述通过二分算法分别对存在同步关系的源数据集和同步数据集进行划分,得到多个与所述源数据集对应的源数据片段和多个与所述同步数据集对应的同步数据片段,包括:
9、确定所述源数据集和所述同步数据集各自对应的最大索引字段值与最小索引字段值;
10、基于预设切片块大小值、所述源数据集对应的最大索引字段值与最小索引字段值,确定每个源数据片段对应的最小索引字段值和最大索引字段值;
11、基于预设切片块大小值、所述同步数据集对应的最大索引字段值与最小索引字段值,确定每个同步数据集片段对应的最小索引字段值和最大索引字段值。
12、可选的,所述索引字段包括时间戳;
13、所述将存在同步关系的目标同步数据片段和目标源数据片段进行一致与否的对比,包括:
14、确定上次同步的时间戳,并将大于所述上次同步的时间戳的时间戳作为目标时间戳;
15、针对存在同步关系的目标同步数据片段和目标源数据片段,将所述目标同步数据片段中所述目标时间戳对应的数据与所述源数据片段中所述目标时间戳对应的数据进行一致与否的对比。
16、可选的,所述将存在同步关系的目标同步数据片段和目标源数据片段进行一致与否的对比,包括:
17、基于预设校验和算法分别计算所述目标同步数据片段和所述目标源数据片段各自的校验和,得到所述目标同步数据片段的第一校验值,及所述目标源数据片段的第二校验值;
18、若所述第一校验值与所述第二校验值不一致,则确定所述目标同步数据片段和目标源数据片段不一致。
19、可选的,所述基于所述目标同步数据片段和目标源数据片段之间的差异确定数据同步的异常情况,包括以下至少一种情况:
20、若目标源数据片段存在目标索引字段值,但目标同步数据片段不存在所述目标索引字段值,则确定所述异常情况为所述目标同步数据片段丢失所述目标索引字段值对应的数据;
21、若目标同步数据片段存在目标索引字段值,但目标源数据片段不存在所述目标索引字段值,则确定所述异常情况为所述目标同步数据片段冗余所述目标索引字段值对应的数据;
22、若目标源数据片段和目标同步数据片段都存在目标索引字段值,但所述目标索引字段值对应的数据的校验值不一致,则在确定所述目标索引字段值对应的数据的目标字段不一致后,确定所述异常情况为所述目标同步数据片段的所述目标索引字段值对应的目标字段不一致。
23、可选的,所述确定所述目标索引字段值对应的数据的目标字段不一致,包括:
24、确定所述目标索引字段值在所述目标源数据片段的第一数据,及在所述目标同步数据片段的第二数据;
25、对比所述第一数据和所述第二数据的至少一个字段,得到每个字段对应的比较结果;
26、若目标字段对应的比较结果为不一致,则确定所述目标索引字段值对应的数据的目标字段不一致。
27、可选的,所述方法还包括以下至少一种情况:
28、在所述目标同步数据片段丢失所述目标索引字段值对应的数据的情况下,在所述目标同步数据片段插入所述目标索引字段值对应的数据;
29、在所述目标同步数据片段冗余所述目标索引字段值对应的数据的情况下,在所述目标同步数据片段删除所述目标索引字段值对应的数据;
30、在所述目标同步数据片段的所述目标索引字段值对应的目标字段不一致的情况下,在所述目标同步数据片段将所述目标字段对应的字段值修改为正常的字段值。
31、第二方面,本申请实施例提供了一种数据同步结果对比设备,包括:
32、划分单元,用于通过二分算法分别对存在同步关系的源数据集和同步数据集进行划分,得到多个与所述源数据集对应的源数据片段和多个与所述同步数据集对应的同步数据片段,其中,所述同步数据集为同步所述源数据集的结果;所述源数据集和同步数据集各自标注有索引字段;
33、对比单元,用于将存在同步关系的目标同步数据片段和目标源数据片段进行一致与否的对比;
34、确定单元,用于若不一致,则确定所述目标同步数据片段和目标源数据片段各自对应的数据条数是否小于或等于预设最小数据条数;
35、所述确定单元,还用于若所述目标同步数据片段和目标源数据片段各自对应的数据条数小于或等于预设最小数据条数,则基于所述目标同步数据片段和目标源数据片段之间的差异确定数据同步的异常情况;
36、执行单元,用于若所述目标同步数据片段和目标源数据片段各自对应的数据条数大于所述预设最小数据条数,则执行所述通过二分算法分别对存在同步关系的源数据集和同步数据集进行划分的步骤。
37、第三方面,本申请实施例提供了一种数据同步结果对比设备,包括:
38、中央处理器,存储器,输入输出接口,有线或无线网络接口以及电源;
39、所述存储器为本文档来自技高网...
【技术保护点】
1.一种数据同步结果对比方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述通过二分算法分别对存在同步关系的源数据集和同步数据集进行划分,得到多个与所述源数据集对应的源数据片段和多个与所述同步数据集对应的同步数据片段,包括:
3.根据权利要求1所述的方法,其特征在于,所述索引字段包括时间戳;
4.根据权利要求1所述的方法,其特征在于,所述将存在同步关系的目标同步数据片段和目标源数据片段进行一致与否的对比,包括:
5.根据权利要求1所述的方法,其特征在于,所述基于所述目标同步数据片段和目标源数据片段之间的差异确定数据同步的异常情况,包括以下至少一种情况:
6.根据权利要求5所述的方法,其特征在于,所述确定所述目标索引字段值对应的数据的目标字段不一致,包括:
7.根据权利要求5所述的方法,其特征在于,所述基于所述目标同步数据片段和目标源数据片段之间的差异确定数据同步的异常情况之后,所述方法还包括以下至少一种情况:
8.一种数据同步结果对比设备,其特征在于,包括:
9.一
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括指令,当所述指令在计算机上运行时,使得计算机执行如权利要求1至7中任意一项所述的方法。
...【技术特征摘要】
1.一种数据同步结果对比方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述通过二分算法分别对存在同步关系的源数据集和同步数据集进行划分,得到多个与所述源数据集对应的源数据片段和多个与所述同步数据集对应的同步数据片段,包括:
3.根据权利要求1所述的方法,其特征在于,所述索引字段包括时间戳;
4.根据权利要求1所述的方法,其特征在于,所述将存在同步关系的目标同步数据片段和目标源数据片段进行一致与否的对比,包括:
5.根据权利要求1所述的方法,其特征在于,所述基于所述目标同步数据片段和目标源数据片段之间的差异确定数据同步的异常情况...
【专利技术属性】
技术研发人员:刘本勇,
申请(专利权)人:招银云创信息技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。