一种大文件差异对比方法、装置、计算机设备及存储介质与流程

文档序号:28328142发布日期:2022-01-05 01:43阅读:来源:国知局

技术特征:
1.一种大文件差异对比方法,其特征在于,包括下述步骤:获取文件,提取所述文件的特征数据;将所述特征数据生成数据结构,保存到数据库中,所述数据结构包括多个字段;根据所述多个字段的值,进行不同文件差异对比;及判定文件差异对比结果;所述获取文件,提取所述文件的特征数据的步骤包括:获取所述文件;计算所述文件的大小,根据所述文件的大小,计算出矩阵比,划分文件二进制矩阵阵块的比例;根据所述文件二进制矩阵阵块的比例,计算奇偶值;根据所述奇偶值,提取所述文件二进制矩阵块值和哈希值。2.根据权利要求1所述的大文件差异对比方法,其特征在于,所述将所述特征数据生成数据结构,保存到数据库中,所述数据结构包括多个字段的步骤具体包括:将所述特征数据生成数据结构;判断数据库的数据结构表是否存在,如果不存在,则创建数据结构表;将所述数据结构保存到所述数据结构表里。3.根据权利要求1所述的大文件差异对比方法,其特征在于,所述提取所述文件二进制矩阵块值和哈希值的步骤具体包括:计算以奇排列的稀疏矩阵阵块,把稀疏矩阵为1的值作为位置索引,把二进制矩阵块的对应位置值保存为数组,得出稀疏矩阵列二维数组和差异矩阵列二维数组;计算以偶排列的二进制矩阵阵块,把每个二进制矩阵阵块的所有值,用sha1的哈希算法来计算值,最后保存为一维数组;或者计算以偶排列的稀疏矩阵阵块,把稀疏矩阵为1的值作为位置索引,把二进制矩阵块的对应位置值保存为数组,得出稀疏矩阵列二维数组和差异矩阵列二维数组;计算以奇排列的二进制矩阵阵块,把每个二进制矩阵阵块的所有值,用sha1的哈希算法来计算值,最后保存为一维数组。4.根据权利要求1至3任意一项所述的大文件差异对比方法,其特征在于,所述根据所述多个字段的值,进行不同文件差异对比的步骤包括:将所述多个字段分为奇偶值、矩阵分布比、稀疏矩阵列、差异矩阵列、差异哈希数组、文件名、文件路径和修改时间戳;根据矩阵分布比,把所述文件的二进制数据划分成多个矩阵块,存储所述多个矩阵块的索引值;存储稀疏矩阵列的二维数组索引值,和差异矩阵列的二维数组的数值;将每块稀疏矩阵列的二维数组索引值,与所述多个矩阵块的位置进行一一对应,选取差异矩阵列的数组值;假设稀疏矩阵列的二维数组里第n个行下标,是一维数组索引值a,差异矩阵列的二维数组里第n个行下标,是一维数组差异值b,与第n个二进制矩阵块c匹配,a是索引值数组,b是差异值数组,c是二进制矩阵,a的每个值映射到c的矩阵值位置,即选取差异矩阵列的数组值d,判定差异值数组b与选取差异矩阵列的数组值d的一致性,如果数值不一致,则说明两个文件有差异,判定不一致的结果;如果数值一致,则依次判断所有块稀疏阵列是否相
同;如果所有块稀疏阵列值相同,则启用二次差异对比。5.根据权利要求4所述的大文件差异对比方法,其特征在于,所述二次差异对比的步骤包括:将字段差异哈希数组,存放到内存;对文件二进制矩阵的对应阵块,用sha1的哈希算法来计算哈希值,然后与记录的哈希值也就是字段差异哈希数组中的哈希值一一对应,比较两值一致性;如果其中有哈希值不一致的情况,则表明文件有差异,判定不一致的结果,如果所有的哈希值数据一致,则表明文件相同。6.一种大文件差异对比装置,其特征在于,包括:获取模块,用于获取文件,提取所述文件的特征数据;数据结构生成模块,用于将所述特征数据生成数据结构,保存到数据库中,所述数据结构包括多个字段;差异对比模块,用于根据所述多个字段的值,进行不同文件差异对比;及判定模块,用于判定不同文件差异对比结果;所述获取模块包括:文件提取模块,用于获取所述文件;特征数据获取模块,用于计算所述文件的大小,根据所述文件的大小计算出矩阵比,划分文件二进制矩阵阵块的比例,根据文件二进制矩阵阵块的比例,计算奇偶值,提取所述文件的二进制矩阵块值和哈希值。7.一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述处理器执行所述计算机可读指令时实现如权利要求1至5中任一项所述的大文件差异对比方法的步骤。8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机可读指令,所述计算机可读指令被处理器执行时实现如权利要求1至5中任一项所述的大文件差异对比方法的步骤。

技术总结
本申请属于数据处理领域,应用于网盘同步数据,多人协同文档、云数据存储等领域中,涉及一种大文件差异对比方法、装置、计算机设备及存储介质,所述方法包括获取文件,提取所述文件的特征数据;将所述特征数据生成数据结构,保存到数据库中,所述数据结构包括多个字段;根据所述多个字段的值,进行不同文件差异对比;及判定文件差异对比结果。此外,本申请还涉及区块链技术,用户的大文件差异数据可存储于区块链中。采用排列的矩阵块点值进行差异对比,用排列的矩阵块的哈希值做二次差异对比,从个别到局部地扩大范围,减少误判率,提高判定差异一致性;减少内存资源,差异对比效率高,可节省时间和空间。可节省时间和空间。可节省时间和空间。


技术研发人员:李伟豪 韩帆
受保护的技术使用者:广东睿江云计算股份有限公司
技术研发日:2021.12.09
技术公布日:2022/1/4
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1