一种文件修复方法及其系统技术方案

技术编号:38391476 阅读:11 留言:0更新日期:2023-08-05 17:44
本发明专利技术涉及计算机通讯技术领域,特别是一种文件修复方法及其系统,所述方法包括以下步骤:步骤S1:对文件进行分块操作,根据默认的等大小分块方式将文件分为多个分块;步骤S2:对于每个分块,记录其起始位置和每个分块前N个字符内容作为特征字符;步骤S3:比对所有分块,对它们的起始位置和特征字符数进行调整,以确保不同的分块具有唯一的起始位置;步骤S4:通过Reed

【技术实现步骤摘要】
一种文件修复方法及其系统


[0001]本专利技术涉及计算机通讯
,特别是一种文件修复方法及其系统。

技术介绍

[0002]目前对原始文件生成修复文件,是通过Reed

Solomon编码来修复,当Reed

Solomon编码修复文件时,对文件进行冗余编码存储,能够修复某一位由0变1或者由1变0,但只能对文件相同位置出错进行修复,当出现插入字符或者缺少字符的情况时,无法对文件修复。

技术实现思路

[0003]为了解决上述技术问题,本专利技术提供一种文件修复方法及其系统,能够在出现插入字符或者缺少字符的情况时对文件进行修复。
[0004]本专利技术采用以下技术方案实现:
[0005]一种文件修复方法,所述方法包括以下步骤:
[0006]步骤S1:对文件进行分块操作,根据默认的等大小分块方式将文件分为多个分块;
[0007]步骤S2:对于每个分块,记录其起始位置和每个分块前N个字符内容作为特征字符;
[0008]步骤S3:比对所有分块,对它们的起始位置和特征字符数进行调整,以确保不同的分块具有唯一的起始位置;
[0009]步骤S4:通过Reed

Solomon编码对每个分块生成修复文件,并和每个分块的特征字符保存映射关系,以及对每个分块的起始位置、长度、哈希值进行保存;
[0010]步骤S5:通过Reed

Solomon编码对文件进行修复。
[0011]优选的,步骤S3中,比对所有块,从第二个块开始,把起始位置逐个字符往后移动调整,通过对每个分块前N个字符进行逐位比较,比较到有差异的那个字符就终止。
[0012]优选的,步骤S5中,如果匹配的每个分块起始位置,长度都匹配,但某个分块哈希值不一致,则直接通过Reed

Solomon编码对这个分块修复。
[0013]优选的,步骤S5中,如果起始位置不对应,就通过每个分块特征字符,找到对应的位置,匹配出不一致的分块,把不一致的分块,通过Reed

Solomon编码修复;
[0014]修复前每个分块如果是插入字符从而导致分块的长度超出,则将超出的长度截断;
[0015]修复前每个分块如果是删除字符导致分块的长度变短,就用0补足。
[0016]优选的,步骤S4中,修复文件包含:每个分块的起始位置,每个分块的特征字符和映射关系,以及每个分块的长度和哈希值;
[0017]Reed

Solomon编码通过修复文件对这个分块进行修复。
[0018]一种文件修复系统,所述系统包括分块模块、记录模块、对比模块、生成模块、修复模块;
[0019]分块模块,对文件进行分块操作,根据默认的等大小分块方式将文件分为多个分块;
[0020]记录模块,对于每个分块,记录其起始位置和每个分块前N个字符内容作为特征字符;
[0021]对比模块,比对所有分块,对它们的起始位置和特征字符数进行调整,以确保不同的分块具有唯一的起始位置;
[0022]生成模块,通过Reed

Solomon编码对每个分块生成修复文件,并和每个分块的特征字符保存映射关系,以及对每个分块的起始位置、长度、哈希值进行保存;
[0023]修复模块,通过Reed

Solomon编码对文件进行修复。
[0024]优选的,对比模块中,比对所有块,从第二个块开始,把起始位置逐个字符往后移动调整,通过对每个分块前N个字符进行逐位比较,比较到有差异的那个字符就终止。
[0025]优选的,修复模块中,如果匹配的每个分块起始位置,长度都匹配,但某个分块哈希值不一致,则直接通过Reed

Solomon编码对这个分块修复。
[0026]优选的,修复模块中,如果起始位置不对应,就通过每个分块特征字符,找到对应的位置,匹配出不一致的分块,把不一致的分块,通过Reed

Solomon编码修复;
[0027]修复前每个分块如果是插入字符从而导致分块的长度超出,则将超出的长度截断;
[0028]修复前每个分块如果是删除字符导致分块的长度变短,就用0补足。
[0029]优选的,生成模块中,修复文件包含:每个分块的起始位置,每个分块的特征字符和映射关系,以及每个分块的长度和哈希值;
[0030]Reed

Solomon编码通过修复文件对这个分块进行修复。
[0031]本专利技术的有益效果:
[0032]本专利技术提供一种文件修复方法及其系统,本专利技术能够在不修改源文件的情况下,创建较小的修复文件,即可修复原始文件,并且在文件被插入内容或者删除一定内容的情况下也可以修复。
附图说明
[0033]图1是本专利技术的方法流程示意图。
[0034]图2是本专利技术的系统原理框图。
具体实施方式
[0035]下面结合附图对本专利技术做进一步说明。
[0036]请参阅图1,本专利技术提供一种文件修复方法,所述方法包括以下步骤:
[0037]步骤S1:对文件进行分块操作,根据默认的等大小分块方式将文件分为多个分块;
[0038]步骤S2:对于每个分块,记录其起始位置和每个分块前N个字符内容作为特征字符;
[0039]步骤S3:比对所有分块,对它们的起始位置和特征字符数进行调整,以确保不同的分块具有唯一的起始位置;
[0040]步骤S4:通过Reed

Solomon编码对每个分块生成修复文件,并和每个分块的特征
字符保存映射关系,以及对每个分块的起始位置、长度、哈希值进行保存;
[0041]步骤S5:通过Reed

Solomon编码对文件进行修复。
[0042]步骤S3中,比对所有块,从第二个块开始,把起始位置逐个字符往后移动调整,通过对每个分块前N个字符进行逐位比较,比较到有差异的那个字符就终止。
[0043]步骤S5中,如果匹配的每个分块起始位置,长度都匹配,但某个分块哈希值不一致,则直接通过Reed

Solomon编码对这个分块修复。
[0044]步骤S5中,如果起始位置不对应,就通过每个分块特征字符,找到对应的位置,匹配出不一致的分块,把不一致的分块,通过Reed

Solomon编码修复;
[0045]修复前每个分块如果是插入字符从而导致分块的长度超出,则将超出的长度截断;
[0046]修复前每个分块如果是删除字符导致分块的长度变短,就用0补足,完成后再通过Reed

Solomon编码来修复。
[0047]步骤S4中,修复文件包含:每个分块的起始位置,每个分块的特征字符和映射关系,以及每个分块的长度和哈希值;
[0048]R本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种文件修复方法,其特征在于:所述方法包括以下步骤:步骤S1:对文件进行分块操作,根据默认的等大小分块方式将文件分为多个分块;步骤S2:对于每个分块,记录其起始位置和每个分块前N个字符内容作为特征字符;步骤S3:比对所有分块,对它们的起始位置和特征字符数进行调整,以确保不同的分块具有唯一的起始位置;步骤S4:通过Reed

Solomon编码对每个分块生成修复文件,并和每个分块的特征字符保存映射关系,以及对每个分块的起始位置、长度、哈希值进行保存;步骤S5:通过Reed

Solomon编码对文件进行修复。2.根据权利要求1所述的一种文件修复方法,其特征在于:步骤S3中,比对所有块,从第二个块开始,把起始位置逐个字符往后移动调整,通过对每个分块前N个字符进行逐位比较,比较到有差异的那个字符就终止。3.根据权利要求1所述的一种文件修复方法,其特征在于:步骤S5中,如果匹配的每个分块起始位置,长度都匹配,但某个分块哈希值不一致,则直接通过Reed

Solomon编码对这个分块修复。4.根据权利要求1所述的一种文件修复方法,其特征在于:步骤S5中,如果起始位置不对应,就通过每个分块特征字符,找到对应的位置,匹配出不一致的分块,把不一致的分块,通过Reed

Solomon编码修复;修复前每个分块如果是插入字符从而导致分块的长度超出,则将超出的长度截断;修复前每个分块如果是删除字符导致分块的长度变短,就用0补足。5.根据权利要求4所述的一种文件修复方法,其特征在于:步骤S4中,修复文件包含:每个分块的起始位置,每个分块的特征字符和映射关系,以及每个分块的长度和哈希值;Reed

Solomon编码通过修复文件对这个分块进行修复。6.一种文件修复系统,其特征在于:...

【专利技术属性】
技术研发人员:刘德建陈丛亮李佳
申请(专利权)人:福建天晴在线互动科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1