System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及分布式系统,尤其涉及一种数据校验方法、装置、存储介质及电子设备。
技术介绍
1、在分布式系统领域,随着数据量的不断增长和系统复杂性的提高,确保数据的一致性和可靠性成为了一个核心挑战。为了应对节点故障可能导致的单点失效问题,分布式系统通常采用数据冗余策略,即在多个节点上存储数据的多个副本。这种冗余存储机制虽然增强了数据的可用性和容错性,但也引入了新的问题,即需要定期对这些副本进行一致性校验,并在发现数据损坏或丢失时进行快速且有效的修复。
2、然而,由于分布式系统中的数据量通常非常庞大,传统的数据校验和修复方法往往效率低下,无法满足实时或近实时的需求。
3、因此,如何高效地对数据文件进行校验,成为本领域技术人员急需解决的技术问题。
技术实现思路
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.根据权利要求2所述的方法,其特征在于,在所述分别在所述主用数据文件和所述备用数据文件中定位出与所述第一目标校验码对应的第一目标数据块之后,所述方法还包括:
4.根据权利要求1所述的方法,其特征在于,在所述生成所述数据文件单一的文件校验码之后,所述方法还包括:
5.根据权利要求4所述的方法,其特征在于,在所述分别在所述主用数据文件和所述备用数据文件中定位出与所述第二目标校验码对应的第三目标数据块之后,所述方法还包括:
6.根据权利要求1至5中任一项所述的方法,其特征在于,在所述生成所述数据文件单一的文件校验码之后,所述方法还包括:
7.根据权利要求1至5中任一项所述的方法,其特征在于,在所述生成所述数据文件单一的文件校验码之后,所述方法还包括:
8.一种数据校验装置,其特征在于,包括:数据文件获得单元、第一校验码生成单元、第二校验码生成单元、第三校验码
9.一种计算机可读存储介质,其上存储有程序,其特征在于,所述程序被处理器执行时实现如权利要求1至7中任一项所述的数据校验方法。
10.一种电子设备,所述电子设备包括至少一个处理器、以及与处理器连接的至少一个存储器、总线;其中,所述处理器、所述存储器通过所述总线完成相互间的通信;所述处理器用于调用所述存储器中的程序指令,以执行如权利要求1至7中任一项所述的数据校验方法。
...【技术特征摘要】
1.一种数据校验方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,在所述生成所述数据文件单一的文件校验码之后,所述方法还包括:
3.根据权利要求2所述的方法,其特征在于,在所述分别在所述主用数据文件和所述备用数据文件中定位出与所述第一目标校验码对应的第一目标数据块之后,所述方法还包括:
4.根据权利要求1所述的方法,其特征在于,在所述生成所述数据文件单一的文件校验码之后,所述方法还包括:
5.根据权利要求4所述的方法,其特征在于,在所述分别在所述主用数据文件和所述备用数据文件中定位出与所述第二目标校验码对应的第三目标数据块之后,所述方法还包括:
6.根据权利要求1至5中任一项所述的方法,其特征在于,在所述生成所述数据文件单一...
【专利技术属性】
技术研发人员:彭亮,王景飞,
申请(专利权)人:湖南快乐阳光互动娱乐传媒有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。