System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及数据处理、计算机,具体地涉及一种数据同步方法、装置和电子设备。
技术介绍
1、分布式数据库的数据物理上分散存储在计算机网络的不同节点上,但在逻辑上属于同一个整体。这种数据库架构通过将数据分散存储在多个节点上,实现了数据的并行处理和负载均衡,从而提高了数据库的整体性能,分布式数据库的数据备份可以采取不同的策略和方法,包括利用不同节点的不同数据分片对数据进行全量备份,对数据进行操作时需要对所有数据分片上的备份数据进行操作,导致对部分数据分片上的数据漏操作的情况,影响了数据一致性。
2、在实施本专利技术的过程中,发现现有技术至少存在以下问题,对多个数据分片上的备份数据进行数据同步时,通过数据比对的方式确定存在错误的数据表,并对存在错误的数据表进行全表的同步,比对过程复杂且同步数据量大,数据同步效率低。
技术实现思路
1、鉴于上述问题,本专利技术提供了一种数据同步方法、装置和电子设备。
2、根据本专利技术的第一个方面,提供了一种数据同步方法,应用于数据同步过滤器,包括:响应于接收到数据比对指令,确定数据库中的异常数据表标识,其中,数据比对指令是数据同步服务器基于数据库中存在的报错日志生成的;确定异常数据表标识在多个数据分片中各自的数据表修订号,其中,数据库包括多个数据分片,每个数据分片中保存有与异常数据表标识相对应的候选数据表和候选数据表的数据表修订号,数据表修订号用于表征候选数据表的更新情况;在多个数据表修订号不全部相同的情况下,将每个候选数据表按照
3、根据本专利技术的实施例,基于每个候选数据表的每个数据块的数据块修订号,从多个候选数据表中确定标准数据块和错误数据块,包括:从数据块在多个数据分片中的多个数据块修订号中,将与表征数据块最新的数据块修订号相对应的数据块确定为标准数据块;将标准数据块中的数据确定为标准数据;将与标准数据块的修订号不同的数据块确定为错误数据块;以及将错误数据块中的数据确定为错误数据。
4、根据本专利技术的实施例,基于标准数据和错误数据,对错误数据块进行数据同步,包括:确定错误数据与标准数据之间的数据差异;基于数据差异,确定用于数据同步的数据块操作语句;以及利用数据块操作语句对错误数据块中的数据进行数据同步。
5、根据本专利技术的实施例,数据同步方法还包括:针对每个数据分片,确定对数据分片中存储的数据块中的数据的操作次数;以及基于操作次数,确定数据块修订号。
6、根据本专利技术的实施例,数据同步方法还包括:在多个数据表修订号全部相同的情况下,基于报错日志,确定用于数据同步的数据表操作语句;以及利用数据表操作语句对多个数据分片中与异常数据表标识对应的候选数据表中的数据进行数据同步。
7、根据本专利技术的实施例,本专利技术的第二方面提供了一种数据同步方法,应用于数据同步服务器,包括:基于数据库中存在的报错日志,从数据库的多个数据表中确定异常数据表标识,其中,报错日志表征对数据库中的某个数据分片上的数据表进行数据操作时发生了错误,每个报错日志与一个数据表相对应,异常数据表标识为存在报错日志的数据表的标识;基于异常数据表标识,生成数据比对指令,其中,数据比对指令用于指示数据同步过滤器在候选数据表在多个数据分片中各自的数据表修订号不全部相同的情况下,将候选数据表按照预设大小划分为多个数据块并对多个数据块中的数据块进行数据同步,候选数据表为每个数据分片中保存的与异常数据表标识相对应的数据表;以及将数据比对指令发送至数据同步过滤器。
8、根据本专利技术的实施例,基于数据库中存在的报错日志,从数据库的多个数据表中确定异常数据表标识,包括:确定数据库中存在的报错日志;以及基于报错日志的操作记录,从数据库的多个数据表中确定异常数据表标识。
9、本专利技术的第三方面提供了一种数据同步装置,应用于数据同步过滤器,包括:标识确定模块,用于响应于接收到数据比对指令,确定数据库中的异常数据表标识,其中,数据比对指令是数据同步服务器基于数据库中存在的报错日志生成的;修订号确定模块,用于确定异常数据表标识在多个数据分片中各自的数据表修订号,其中,数据库包括多个数据分片,每个数据分片中保存有与异常数据表标识相对应的候选数据表和候选数据表的数据表修订号,数据表修订号用于表征候选数据表的更新情况;数据表划分模块,用于在多个数据表修订号不全部相同的情况下,将每个候选数据表按照预设大小划分为多个数据块;数据确定模块,用于基于每个候选数据表的每个数据块的数据块修订号,从多个候选数据表中确定标准数据块和错误数据块,其中,数据块修订号用于表征数据块的更新情况,标准数据块表征数据块存储的数据正常,错误数据块表征数据块存储的数据有误;以及数据同步模块,用于基于标准数据块,对错误数据块进行数据同步。
10、本专利技术的第四方面提供了一种数据同步装置,应用于数据同步服务器,包括:异常标识确定模块,用于基于数据库中存在的报错日志,从数据库的多个数据表中确定异常数据表标识,其中,报错日志表征对数据库中的某个数据分片上的数据表进行数据操作时发生了错误,每个报错日志与一个数据表相对应,异常数据表标识为存在报错日志的数据表的标识;指令生成模块,用于基于异常数据表标识,生成数据比对指令,其中,数据比对指令用于指示数据同步过滤器在候选数据表在多个数据分片中各自的数据表修订号不全部相同的情况下,将候选数据表按照预设大小划分为多个数据块并对多个数据块中的数据块进行数据同步,候选数据表为每个数据分片中保存的与异常数据表标识相对应的数据表;以及指令发送模块,用于将数据比对指令发送至数据同步过滤器。
11、本专利技术的第五方面提供了一种电子设备,包括:一个或多个处理器;存储器,用于存储一个或多个计算机程序,其中,上述一个或多个处理器执行上述一个或多个计算机程序以实现上述方法的步骤。
12、根据本专利技术的实施例,响应于数据比对指令,确定异常数据表标识,并基于异常数据表标识确定多个数据分片中的多个候选数据表,根据多个候选数据表各自的数据表修订号,确定多个候选数据表各自的更新情况,通过异常数据表标识能够准确定位到候选数据表,无需对所有数据表进行遍历,减少了数据比对的负载,提高了数据同步的效率。在多个数据表修订号不全部相同的情况下,将候选数据表划分为多个数据块,并确定多个数据块在多个数据分片中的数据块修订号,确定多个数据块各自的更新情况,利用标准数据块对错误数据块进行数据同步,通过将候选数据表划分为多个数据块,能够对需要同步的数据所在的数据块进行数据同步,减少了数据同步的数据量,此外,在候选数据表中存在多个需要同步的数据的情况下,可以对多个数据块同时进行数据同步,提高了数据同步过程的并行度,从而进一步提高了本文档来自技高网...
【技术保护点】
1.一种数据同步方法,应用于数据同步过滤器,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述基于每个所述候选数据表的每个所述数据块的数据块修订号,从多个所述候选数据表中确定标准数据块和错误数据块,包括:
3.根据权利要求2所述的方法,其特征在于,所述基于所述标准数据块,对所述错误数据块进行数据同步,包括:
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
6.一种数据同步方法,应用于数据同步服务器,其特征在于,所述方法包括:
7.根据权利要求6所述的方法,其特征在于,所述基于数据库中存在的报错日志,从所述数据库的多个数据表中确定异常数据表标识,包括:
8.一种数据同步装置,应用于数据同步过滤器,其特征在于,所述装置包括:
9.一种数据同步装置,应用于数据同步服务器,其特征在于,所述装置包括:
10.一种电子设备,包括:
【技术特征摘要】
1.一种数据同步方法,应用于数据同步过滤器,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述基于每个所述候选数据表的每个所述数据块的数据块修订号,从多个所述候选数据表中确定标准数据块和错误数据块,包括:
3.根据权利要求2所述的方法,其特征在于,所述基于所述标准数据块,对所述错误数据块进行数据同步,包括:
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
5.根据权利要求1所述的...
【专利技术属性】
技术研发人员:倪慧玉,
申请(专利权)人:天津南大通用数据技术股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。