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、通过本申请,可以将待校验的目标文件分成多个数据块,通过哈希算法对多个数据块进行计算生成第一层级校验文件,在目标文件更新后,相应的将第一层级校验文件更新为第二层级校验文件,通过对比第一层级校验文件和第二层级校验文件就可以确定目标文件更新的数据块。因此,可以解决相关技术中,文件校验效率低的问题。
本文档来自技高网...【技术保护点】
1.一种文件校验方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,通过哈希算法对所述多个数据块进行计算,得到第一层级校验文件,包括:
3.根据权利要求2所述的方法,其特征在于,所述预设数据结构为三层键值对结构,将多个一级标识,多个二级标识,所述多个三级标识按照预设数据结构进行保存,得到所述第一层级校验文件,包括:
4.根据权利要求3所述的方法,其特征在于,在所述目标文件更新之后对所述第一层级校验文件进行更新,得到第二层级校验文件,包括:
5.根据权利要求4所述的方法,其特征在于,对所述第一层级校验文件和所述第二层级校验文件进行校验,根据所述第一层级校验文件和所述第二层级校验文件中不同的标识确定所述目标文件的更新数据块,包括:
6.根据权利要求4所述的方法,其特征在于,所述方法还包括:
7.根据权利要求6所述的方法,其特征在于,从所述第二层级校验文件中删除所述目标二级标识对应的三级标识之后,所述方法还包括:
8.一种文件校验装置,其特征在于,包括:
9.一种计算机可读存
10.一种电子设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现所述权利要求1至7任一项中所述的方法的步骤。
...【技术特征摘要】
1.一种文件校验方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,通过哈希算法对所述多个数据块进行计算,得到第一层级校验文件,包括:
3.根据权利要求2所述的方法,其特征在于,所述预设数据结构为三层键值对结构,将多个一级标识,多个二级标识,所述多个三级标识按照预设数据结构进行保存,得到所述第一层级校验文件,包括:
4.根据权利要求3所述的方法,其特征在于,在所述目标文件更新之后对所述第一层级校验文件进行更新,得到第二层级校验文件,包括:
5.根据权利要求4所述的方法,其特征在于,对所述第一层级校验文件和所述第二层级校验文件进行校验,根据所述第一层级校验文件和所述第二层级校验文件中不同的标识确定所述...
【专利技术属性】
技术研发人员:夏令洲,李旭东,孙业宽,
申请(专利权)人:济南浪潮数据技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。