CN101174294A - 一种基于版本增量备份的软件保护方法 - Google Patents
一种基于版本增量备份的软件保护方法 Download PDFInfo
- Publication number
- CN101174294A CN101174294A CNA2007101900036A CN200710190003A CN101174294A CN 101174294 A CN101174294 A CN 101174294A CN A2007101900036 A CNA2007101900036 A CN A2007101900036A CN 200710190003 A CN200710190003 A CN 200710190003A CN 101174294 A CN101174294 A CN 101174294A
- Authority
- CN
- China
- Prior art keywords
- file
- strategy
- directory
- sub
- version
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 50
- 238000011084 recovery Methods 0.000 claims abstract description 10
- 238000004364 calculation method Methods 0.000 claims description 24
- 238000007906 compression Methods 0.000 claims description 15
- 230000006835 compression Effects 0.000 claims description 15
- 238000012217 deletion Methods 0.000 claims description 13
- 230000037430 deletion Effects 0.000 claims description 13
- 238000010276 construction Methods 0.000 claims description 12
- 238000004321 preservation Methods 0.000 claims description 11
- 239000012634 fragment Substances 0.000 claims description 6
- 239000007943 implant Substances 0.000 claims description 6
- 238000000746 purification Methods 0.000 claims description 6
- 230000010076 replication Effects 0.000 claims description 6
- 238000007689 inspection Methods 0.000 claims description 4
- 238000012544 monitoring process Methods 0.000 claims description 3
- 238000006073 displacement reaction Methods 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 5
- 241000700605 Viruses Species 0.000 description 2
- 238000002513 implantation Methods 0.000 description 2
- 230000003716 rejuvenation Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000007257 malfunction Effects 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
基于版本增量备份的软件完整性保护方法,包括以下主要步骤:(1)定义软件版本的保护策略;(2)软件基本版本的初始化;(3)软件子版本的保存;(4)软件运行监视与保护;(5)软件子版本的恢复。本发明通过定义基本版本和子版本增量备份,根据文件作用和工作方式可采取不同保护方式,引入净化目录清除系统外部可能的植入文件。此方法既可保护软件系统的完整性,又为软件版本提供更新功能。
Description
技术领域
本发明涉及计算机主机系统,特别涉及一种对信息系统中软件进行安全备份、监视和恢复的版本完整性保护方法。
背景技术
信息系统中的软件由于病毒、攻击或操作失误等原因,可能导致软件的程序、数据的完整性遭受破坏,进而使得系统不能正常工作。软件的恢复和还原是常用方法,但是需要花费很多时间和精力。此外,软件的升级或更新也是经常发生的。软件的完整性保护、版本更新,可以及时修复损坏的系统,保持数据的持续有效,以提高系统的可用性。软件完整性保护方法可以广泛应用于政治、国防、商业、文化等等领域中的重要信息系统的设计、开发、使用和维护过程,对于提高系统的安全保障能力具有重要作用。
目前的软件恢复和还原技术存在着重复备份占用太多存储空间、还原之后数据丢失、病毒攻击删除不清等问题。
发明内容
本发明的主要目的是针对目前信息系统中软件完整性保护和版本更新过程中重复备份、保护和更新操作繁杂、植入文件删除不清等问题,提供一种基于版本增量备份的软件完整性保护方法,以提高软件备份和保护效率,提高系统的可用性。
为实现本发明的所述目的,本发明提供一种基于版本增量备份的软件完整性保护方法,该方法包括以下主要步骤:(1)定义软件版本的保护策略;(2)软件基本版本的初始化;(3)软件子版本的保存;(4)软件运行监视与保护;(5)软件子版本的恢复。
所述定义软件版本的保护策略的步骤(流程)是定义一个子版本的保护策略:步骤20初始动作;步骤21选择策略设定子目录,得到一个子目录名或结束标记;步骤22判断是否取得子目录;如果取得子目录转步骤23,否则转步骤27;步骤23开始定义目录策略;扩展(第一个为建立)目录策略的记录,设置子目录是否净化,文件计数0;步骤24设定精确保护文件集合,选择、得到策略设定为精确保护的文件集合,为集合中每个文件扩展并填写文件策略记录(含文件名,保护方式为精确、取值2),目录策略的记录中文件计数加上文件个数;步骤25设定粗略保护文件集合,选择、得到策略设定为粗略保护的文件集合;为集合中每个文件扩展并填写文件策略记录(含文件名,保护方式为粗略、取值1),目录策略的记录中文件计数加上文件个数;步骤26设定可变文件集合,选择、得到策略设定为可变的文件集合,为集合中每个文件扩展并填写文件策略记录(含文件名,保护方式为可变、取值0),目录策略的记录中文件计数加上文件个数;步骤27保存策略写入备份库子版本,建立备份库子版本目录,依次将子目录策略、文件策略写入相应备份库子版本的文件中;步骤28是结束状态。结束时,在备份库中该版本目录下保存了子版本保护策略。
软件基本版本初始化的流程:将选择的一个子版本作为基本版本;步骤30为是初始动作,建立备份库基本版本目录,将选定子版本保护策略读入保护策略结构中;步骤31选取一个策略子目录;步骤32判断是否取到子目录策略,如果取到子目录策略转步骤33,否则转步骤38;步骤33取子目录下一个文件策略;步骤34判断是否取到文件策略,如果取到文件策略转步骤35,否则转步骤31;步骤35对被保护文件压缩生成压缩版本,将文件压缩版本复制到备份库基本版本目录;并在方法中选择相同压缩/解压算法;步骤36计算文件特征值;对文件压缩版本FZ=f[0],f[1],...,f[i],...,f[fsize-1],按照保护策略方式采取不同的计算方法得到文件特征向量;步骤37保存文件名和特征值在特征向量表中,将(文件名,特征值向量)填入文件特征向量表;转步骤33;步骤38保存特征向量表至备份库基本版本下的文件中;步骤39是结束状态,结束时,在备份库中基本版本目录下保存了文件压缩版本,文件特征向量表;
软件子版本保存的的流程:按照选择的子版本策略建立一个子版本备份;步骤40为是初始动作,策略定义时已建立了备份库子版本目录,将选定子版本保护策略读入保护策略结构中,步骤41选取一个策略子目录;步骤42判断是否取到子目录策略,如果是转步骤43,否则转步骤4a步骤43取子目录下一个文件策略;步骤44判断是否取到文件策略,如果是转步骤45,否则转步骤41;步骤45判断是否可变策略,如果是转步骤49,否则转步骤46;步骤46对被保护文件压缩生成压缩版本,计算文件特征值;步骤47判断特征值向量是否与基本版本中同文件特征值向量不相同,如果是转步骤48,否则转步骤43;步骤48保存文件名和特征值在特征向量表中,将(文件名,特征值向量)填入文件特征向量表;步骤49将文件压缩版本复制到备份库子版本目录,转步骤43;步骤4a保存特征向量表至备份库子版本的文件中;步骤4b是结束状态,结束时,在备份库中子版本目录下保存了有更新的文件压缩版本,及其文件特征向量表。
软件运行监视与保护的流程,将选择的子版本保护策略作为运行监视保护策略;由定时器定时启动或用户选择启动;步骤50为是初始动作,将选定子版本保护策略读入保护策略结构中;步骤51选取一个策略子目录。步骤52判断是否取到子目录策略。如果是,读取被保护子目录下的文件名集合,转步骤53,否则转步骤5b。步骤53取子目录下一个文件策略。步骤54判断是否取到文件策略。如果是,从子目录下文件名集合中删除该文件名,转步骤55,否则转步骤59。步骤55判断是否可变策略。如果是转步骤53,否则转步骤56。步骤56对被保护文件压缩、计算文件特征值。计算方法同步骤36。步骤57判断特征向量是否与子版本同文件特征向量不相同。子版本同文件特征向量为备份库子版本中该文件特征向量,或基本版本该文件特征向量(若子版本中无保存时)。如果是转步骤58,否则转步骤53。步骤58将备份库子版本中文件压缩版本解压缩复制到软件的子目录,覆盖被保护的原文件。转步骤53。步骤59判断目录策略是否为净化。如果是转步骤5a,否则转步骤51。步骤5a删除被保护子目录下未经策略处理的文件。删除子目录下文件名集合中剩余的文件,以净化目录。步骤5b是结束状态。在发现受策略保护文件被修改时自动恢复,并清除植入文件。
软件子版本恢复的流程。步骤60为是初始动作,将选择的子版本保护策略作为子版本恢复策略,将选定子版本保护策略读入保护策略结构中;步骤61选取一个策略子目录;步骤62判断是否取到子目录策略,如果是,读取被保护子目录下的文件名集合,转步骤63,否则转步骤6b;步骤63取子目录下一个文件策略;步骤64判断是否取到文件策略,如果是,从子目录下文件名集合中删除该文件名,转步骤65,否则转步骤69;步骤65判断是否可变策略,如果是转步骤68,否则转步骤66;步骤66对被保护文件压缩、计算文件特征值;步骤67判断特征向量是否与子版本同或者不相同,如果相同转步骤68,否则转步骤63;步骤68将子版本中文件压缩版本解压缩复制到软件的子目录,覆盖被保护的原文件,转步骤63;步骤69判断目录策略是否为净化,如果是转步骤6a,否则转步骤61;步骤6a删除被保护子目录下未经策略处理的文件,删除子目录下文件名集合中剩余的文件,以净化目录;步骤是结束状态。按照鲍照保护策略恢复,当策略保护文件被修改时自动恢复,可变文件被恢复,并清除植入文件。
这些主要步骤可以根据需要组合使用。例如,步骤1、2、3、4,为对一个软件定义版本保护策略,构成基本版本和一个初始子版本,并进行该子版本的保护。此后,执行步骤1、3、4,就可进行另一子版本的保护。此时,若执行步骤5,可在软件版本被破坏时进行指定子版本的恢复。
本发明的有益效果是:通过定义基本版本和子版本增量备份,根据文件作用和工作方式可采取不同保护方式,引入净化目录清除系统外部可能的植入文件。此方法既可保护软件系统的完整性,又为软件版本提供更新功能。
下面将结合附图对最佳实施例进行详细说明。
附图说明
图1软件保护结构示意图
图2定义软件版本保护策略的流程图
图3软件基本版本初始化的流程图
图4软件子版本保存的流程图
图5软件运行监视与保护的流程图
图6软件子版本的恢复的流程图
具体实施方式
如图1所示,软件完整性保护方法由多个保护功能模块组成,根据保护策略对被保护软件实施完整性保护。系统在安全位置,如移动存储或异地服务器中设置版本备份库,用以保存被保护软件的一个基本版本和若干子版本备份。基于这个基本版本,用户可以根据应用需要,定义若干子版本。子版本对应一个保护策略。对于子版本,版本库中保存保护策略和子版本增量部分的文件备份。可以对软件指定子版本保护策略实施运行时的监视保护。由于各种原因发生软件完整性损坏时,可用指定的子版本进行软件恢复。
文件保护方式可以为精确、粗略、可变等3种。1)精确保护,使用保护特征较多、计算量较大,取值为2;2)粗略保护,使用保护特征较少、计算量较小,取值为1;3)可变保护,对文件变化不检查保护,取值为0。其中精确和粗略保护方式下文件是不可变的。基本版本备份包括基本版本策略保护文件(可变和不可变)的压缩版本集合、文件名和特征值表。基本版本对应一个子版本,通常为第一个子版本。子版本备份包括子版本策略保护的文件集合中,与基本版本有更新的不可变文件的压缩版本集合、文件名和特征值表,可变文件压缩版本集合以及子版本保护策略。版本保护策略按照保护目录来组织,为目录策略的集合。每个目录可定义是否净化,目录下各保护文件分别定义文件策略,包括文件名和保护方式。
本发明方法包括5个主要步骤,工作流程如图2-图6所示。
图2表示软件版本保护策略定义的流程,以此流程可定义基本一个子版本的保护策略。步骤20是初始动作。步骤21选择策略设定子目录,得到一个子目录名或结束标记。步骤22判断是否取得子目录。如果是转步骤23,否则转步骤27。步骤23开始定义目录策略。扩展(第一个为建立)目录策略的记录(含目录名,净化否,文件计数),设置子目录是否净化,文件计数0。步骤24设定精确保护文件集合。选择、得到策略设定为精确保护的文件集合。为集合中每个文件扩展并填写文件策略记录(含文件名,保护方式为精确、取值2)。目录策略的记录中文件计数加上文件个数。步骤25设定粗略保护文件集合。选择、得到策略设定为粗略保护的文件集合。为集合中每个文件扩展并填写文件策略记录(含文件名,保护方式为粗略、取值1)。目录策略的记录中文件计数加上文件个数。步骤26设定可变文件集合。选择、得到策略设定为可变的文件集合。为集合中每个文件扩展并填写文件策略记录(含文件名,保护方式为可变、取值0)。目录策略的记录中文件计数加上文件个数。步骤27保存策略写入备份库子版本。建立备份库子版本目录,依次将子目录策略、文件策略写入相应备份库子版本的文件中。步骤28是结束状态。结束时,在备份库中该版本目录下保存了子版本保护策略。
图3表示软件基本版本初始化的流程。将选择的一个子版本作为基本版本。步骤30为是初始动作。建立备份库基本版本目录。将选定子版本保护策略读入保护策略结构中。步骤31选取一个策略子目录。步骤32判断是否取到子目录策略。如果是转步骤33,否则转步骤38。步骤33取子目录下一个文件策略。步骤34判断是否取到文件策略。如果是转步骤35,否则转步骤31。步骤35对被保护文件压缩生成压缩版本,将文件压缩版本复制到备份库基本版本目录。文件压缩采用压缩率较高的算法,如RAR。并在方法中选择相同压缩/解压算法。步骤36计算文件特征值。
对文件压缩版本FZ=f[o],f[1],...,f[i],...,f[fsize-1],按照保护策略方式采取不同的计算方法得到文件特征向量。
1)精确保护方式。对全文件内容计算文件特征向量,采用哈希函数,如MD5(长度32字节)。
文件特征向量FV(FZ)=MD5(FZ)
2)粗略保护方式。采用文件大小和若干文件片段检查和等特征值组成文件特征向量(长度同精确方式)。
文件特征向量FV(FZ)=<FZ.fsize,Checksum(0),...,Checksum(i),...,Checksum(30)>其中,文件大小FZ.fsize用4字节;
31个检查和表现文件31个片段的特征。选取一定步长L逐步选择片段,如L=4096;r为步内位移,如r=12。
Checksum(i)=f[iL+r:4]<f[iL+r+4:4],i=0,…,30
表示4字节二进制异或运算。从选择的位置iL+r向后取4字节,与其后续的4字节作异或运算。
3)可变保护方式。不用特征值,默认为全0。
步骤37保存文件名和特征值在特征向量表中。将(文件名,特征值向量)填入文件特征向量表。转步骤33。步骤38保存特征向量表至备份库基本版本下的文件中。步骤39是结束状态。结束时,在备份库中基本版本目录下保存了文件压缩版本,文件特征向量表。
图4表示软件子版本保存的的流程。按照选择的子版本策略建立一个子版本备份。步骤40为是初始动作。策略定义时已建立了备份库子版本目录。将选定子版本保护策略读入保护策略结构中。步骤41选取一个策略子目录。步骤42判断是否取到子目录策略。如果是转步骤43,否则转步骤4a。步骤43取子目录下一个文件策略。步骤44判断是否取到文件策略。如果是转步骤45,否则转步骤41。步骤45判断是否可变策略。如果是转步骤49,否则转步骤46。步骤46对被保护文件压缩生成压缩版本,计算文件特征值。计算方法同步骤36。步骤47判断特征值向量是否与基本版本中同文件特征值向量不相同。如果是转步骤48,否则转步骤43。步骤48保存文件名和特征值在特征向量表中。将(文件名,特征值向量)填入文件特征向量表。步骤49将文件压缩版本复制到备份库子版本目录。转步骤43。步骤4a保存特征向量表至备份库子版本的文件中。步骤4b是结束状态。结束时,在备份库中子版本目录下保存了有更新的文件压缩版本,及其文件特征向量表。
图5表示软件运行监视与保护的流程。将选择的子版本保护策略作为运行监视保护策略。可由定时器定时启动或用户选择启动。步骤50为是初始动作。将选定子版本保护策略读入保护策略结构中。步骤51选取一个策略子目录。步骤52判断是否取到子目录策略。如果是,读取被保护子目录下的文件名集合,转步骤53,否则转步骤5b。步骤53取子目录下一个文件策略。步骤54判断是否取到文件策略。如果是,从子目录下文件名集合中删除该文件名,转步骤55,否则转步骤59。步骤55判断是否可变策略。如果是转步骤53,否则转步骤56。步骤56对被保护文件压缩、计算文件特征值。计算方法同步骤36。步骤57判断特征向量是否与子版本同文件特征向量不相同。子版本同文件特征向量为备份库子版本中该文件特征向量,或基本版本该文件特征向量(若子版本中无保存时)。如果是转步骤58,否则转步骤53。步骤58将备份库子版本中文件压缩版本解压缩复制到软件的子目录,覆盖被保护的原文件。转步骤53。步骤59判断目录策略是否为净化。如果是转步骤5a,否则转步骤51。步骤5a删除被保护子目录下未经策略处理的文件。删除子目录下文件名集合中剩余的文件,以净化目录。步骤5b是结束状态。在发现受策略保护文件被修改时自动恢复,并清除植入文件。
图6表示软件子版本恢复的流程。步骤60为是初始动作。将选择的子版本保护策略作为子版本恢复策略。将选定子版本保护策略读入保护策略结构中。步骤61选取一个策略子目录。步骤62判断是否取到子目录策略。如果是,读取被保护子目录下的文件名集合,转步骤63,否则转步骤6b。步骤63取子目录下一个文件策略。步骤64判断是否取到文件策略。如果是,从子目录下文件名集合中删除该文件名,转步骤65,否则转步骤69。步骤65判断是否可变策略。如果是转步骤68,否则转步骤66。步骤66对被保护文件压缩、计算文件特征值。计算方法同步骤36。步骤67判断特征向量是否与子版本同文件特征向量不相同。子版本同文件特征向量为备份库子版本中该文件特征向量,或基本版本该文件特征向量(若子版本中无保存时)。如果是转步骤68,否则转步骤63。步骤68将子版本中文件压缩版本解压缩复制到软件的子目录,覆盖被保护的原文件。转步骤63。步骤69判断目录策略是否为净化。如果是转步骤6a,否则转步骤61。步骤6a删除被保护子目录下未经策略处理的文件。删除子目录下文件名集合中剩余的文件,以净化目录。步骤是结束状态。按照鲍照保护策略恢复,当策略保护文件被修改时自动恢复,可变文件被恢复,并清除植入文件。
Claims (7)
1.一种基于版本增量备份的软件完整性保护方法,其特征是包括以下主要步骤:(1)定义软件版本的保护策略;(2)软件基本版本的初始化;(3)软件子版本的保存;(4)软件运行监视与保护;(5)软件子版本的恢复。
2.根据权利要求1所述的基于版本增量备份的软件完整性保护方法,其特征是所述定义软件版本的保护策略的步骤(流程)是定义一个子版本的保护策略:步骤20初始动作;步骤21选择策略设定子目录,得到一个子目录名或结束标记;步骤22判断是否取得子目录;如果取得子目录转步骤23,否则转步骤27;步骤23开始定义目录策略;扩展(第一个为建立)目录策略的记录,设置子目录是否净化,文件计数0;步骤24设定精确保护文件集合,选择、得到策略设定为精确保护的文件集合,为集合中每个文件扩展并填写文件策略记录(含文件名,保护方式为精确、取值2),目录策略的记录中文件计数加上文件个数;步骤25设定粗略保护文件集合,选择、得到策略设定为粗略保护的文件集合;为集合中每个文件扩展并填写文件策略记录,含文件名,保护方式为粗略、取值1,目录策略的记录中文件计数加上文件个数;步骤26设定可变文件集合,选择、得到策略设定为可变的文件集合,为集合中每个文件扩展并填写文件策略记录,含文件名,保护方式为可变、取值0,目录策略的记录中文件计数加上文件个数;步骤27保存策略写入备份库子版本,建立备份库子版本目录,依次将子目录策略、文件策略写入相应备份库子版本的文件中;步骤28是结束状态。结束时,在备份库中该版本目录下保存了子版本保护策略。
3.根据权利要求1所述的基于版本增量备份的软件完整性保护方法,其特征是所述软件基本版本初始化的流程:将选择的一个子版本作为基本版本;步骤30为是初始动作,建立备份库基本版本目录,将选定子版本保护策略读入保护策略结构中;步骤31选取一个策略子目录;步骤32判断是否取到子目录策略,如果取到子目录策略转步骤33,否则转步骤38;步骤33取子目录下一个文件策略;步骤34判断是否取到文件策略,如果取到文件策略转步骤35,否则转步骤3 1;步骤35对被保护文件压缩生成压缩版本,将文件压缩版本复制到备份库基本版本目录;并在方法中选择相同压缩/解压算法;步骤36计算文件特征值;对文件压缩版本FZ=f[0],f[1],...,f[i],...,f[fsize-1],按照保护策略方式采取不同的计算方法得到文件特征向量,步骤37保存文件名和特征值在特征向量表中,将文件名,特征值向量填入文件特征向量表;转步骤33;步骤38保存特征向量表至备份库基本版本下的文件中;步骤39是结束状态,结束时,在备份库中基本版本目录下保存了文件压缩版本,文件特征向量表;
4.根据权利要求1所述的基于版本增量备份的软件完整性保护方法,其特征是所述软件子版本保存的的流程:按照选择的子版本策略建立一个子版本备份;步骤40为是初始动作,策略定义时已建立了备份库子版本目录,将选定子版本保护策略读入保护策略结构中,步骤41选取一个策略子目录;步骤42判断是否取到子目录策略,如果是转步骤43,否则转步骤4a步骤43取子目录下一个文件策略;步骤44判断是否取到文件策略,如果是转步骤45,否则转步骤41;步骤45判断是否可变策略,如果是转步骤49,否则转步骤46;步骤46对被保护文件压缩生成压缩版本,计算文件特征值;步骤47判断特征值向量是否与基本版本中同文件特征值向量不相同,如果是转步骤48,否则转步骤43;步骤48保存文件名和特征值在特征向量表中,将文件名、特征值向量填入文件特征向量表;步骤49将文件压缩版本复制到备份库子版本目录,转步骤43;步骤4a保存特征向量表至备份库子版本的文件中;步骤4b是结束状态,结束时,在备份库中子版本目录下保存了有更新的文件压缩版本,及其文件特征向量表。
5.根据权利要求1所述的基于版本增量备份的软件完整性保护方法,其特征是所述软件运行监视与保护的流程,将选择的子版本保护策略作为运行监视保护策略;由定时器定时启动或用户选择启动;步骤50为是初始动作,将选定子版本保护策略读入保护策略结构中;步骤51选取一个策略子目录。步骤52判断是否取到子目录策略。如果是,读取被保护子目录下的文件名集合,转步骤53,否则转步骤5b;步骤53取子目录下一个文件策略;步骤54判断是否取到文件策略;如果是,从子目录下文件名集合中删除该文件名,转步骤55,否则转步骤59;步骤55判断是否可变策略;如果是转步骤53,否则转步骤56;步骤56对被保护文件压缩、计算文件特征值。计算方法同步骤36;步骤57判断特征向量是否与子版本同文件特征向量不相同;子版本同文件特征向量为备份库子版本中该文件特征向量,或基本版本该文件特征向量;如果是转步骤58,否则转步骤53;步骤58将备份库子版本中文件压缩版本解压缩复制到软件的子目录,覆盖被保护的原文件,转步骤53;步骤59判断目录策略是否为净化;如果是转步骤5a,否则转步骤51;步骤5a删除被保护子目录下未经策略处理的文件;删除子目录下文件名集合中剩余的文件,以净化目录;步骤5b是结束状态。在发现受策略保护文件被修改时自动恢复,并清除植入文件。
6.根据权利要求1所述的基于版本增量备份的软件完整性保护方法,其特征是所述软件子版本恢复的流程,步骤60为是初始动作,将选择的子版本保护策略作为子版本恢复策略,将选定子版本保护策略读入保护策略结构中;步骤61选取一个策略子目录;步骤62判断是否取到子目录策略,如果是,读取被保护子目录下的文件名集合,转步骤63,否则转步骤6b;步骤63取子目录下一个文件策略;步骤64判断是否取到文件策略,如果是,从子目录下文件名集合中删除该文件名,转步骤65,否则转步骤69;步骤65判断是否可变策略,如果是转步骤68,否则转步骤66;步骤66对被保护文件压缩、计算文件特征值;步骤67判断特征向量是否与子版本同或者不相同,如果相同转步骤68,否则转步骤63;步骤68将子版本中文件压缩版本解压缩复制到软件的子目录,覆盖被保护的原文件,转步骤63;步骤69判断目录策略是否为净化,如果是转步骤6a,否则转步骤61;步骤6a删除被保护子目录下未经策略处理的文件,删除子目录下文件名集合中剩余的文件,以净化目录;步骤是结束状态;按照鲍照保护策略恢复,当策略保护文件被修改时自动恢复,可变文件被恢复,并清除植入文件。
7.根据权利要求1所述的基于版本增量备份的软件完整性保护方法,其特征是所述步骤36计算文件特征值的方法是:对文件压缩版本FZ=f[0],f[1],...,f[i],...,f[fsize-1],按照保护策略方式采取不同的计算方法得到文件特征向量:
1)精确保护方式。对全文件内容计算文件特征向量,采用哈希函数,如MD5(长度32字节)。
文件特征向量FV(FZ)=MD5(FZ)
2)粗略保护方式。采用文件大小和若干文件片段检查和等特征值组成文件特征向量(长度同精确方式);文件特征向量FV(FZ)=<FZ.fsize,Checksum(0),...,Checksum(i),...,Checksum(30)>
其中,文件大小FZ.fsize用4字节;31个检查和表现文件31个片段的特征。选取一定步长L逐步选择片段,如L=4096;r为步内位移,如r=12;
Checksum(i)=f[L+r:4]0<f[iL+r+4:4],i=0,...,30;表示4字节二进制异或运算。从选择的位置iL+r向后取4字节,与其后续的4字节作异或运算。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007101900036A CN101174294B (zh) | 2007-11-19 | 2007-11-19 | 一种基于版本增量备份的软件保护方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007101900036A CN101174294B (zh) | 2007-11-19 | 2007-11-19 | 一种基于版本增量备份的软件保护方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101174294A true CN101174294A (zh) | 2008-05-07 |
CN101174294B CN101174294B (zh) | 2010-07-28 |
Family
ID=39422802
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2007101900036A Expired - Fee Related CN101174294B (zh) | 2007-11-19 | 2007-11-19 | 一种基于版本增量备份的软件保护方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101174294B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102662991A (zh) * | 2012-03-14 | 2012-09-12 | 北京邮电大学 | 一种基于移动存储设备的文件级同步方法 |
CN102937903A (zh) * | 2012-10-23 | 2013-02-20 | 珠海金山网络游戏科技有限公司 | 一种基于特征匹配的打包文件更新方法 |
CN103309768A (zh) * | 2012-03-16 | 2013-09-18 | 腾讯科技(深圳)有限公司 | 系统文件修复方法和装置 |
CN104657386A (zh) * | 2013-11-22 | 2015-05-27 | 南京中兴新软件有限责任公司 | 版本文件去重处理方法及装置 |
CN106202173A (zh) * | 2016-06-26 | 2016-12-07 | 厦门天锐科技股份有限公司 | 一种文件仓库存储的智能排重方法及系统 |
-
2007
- 2007-11-19 CN CN2007101900036A patent/CN101174294B/zh not_active Expired - Fee Related
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102662991A (zh) * | 2012-03-14 | 2012-09-12 | 北京邮电大学 | 一种基于移动存储设备的文件级同步方法 |
CN103309768A (zh) * | 2012-03-16 | 2013-09-18 | 腾讯科技(深圳)有限公司 | 系统文件修复方法和装置 |
CN103309768B (zh) * | 2012-03-16 | 2015-03-11 | 腾讯科技(深圳)有限公司 | 系统文件修复方法和装置 |
US9535781B2 (en) | 2012-03-16 | 2017-01-03 | Tencent Technology (Shenzhen) Company Limited | System file repair method and apparatus |
CN102937903A (zh) * | 2012-10-23 | 2013-02-20 | 珠海金山网络游戏科技有限公司 | 一种基于特征匹配的打包文件更新方法 |
CN102937903B (zh) * | 2012-10-23 | 2016-04-06 | 珠海金山网络游戏科技有限公司 | 一种基于特征匹配的打包文件更新方法 |
CN104657386A (zh) * | 2013-11-22 | 2015-05-27 | 南京中兴新软件有限责任公司 | 版本文件去重处理方法及装置 |
CN106202173A (zh) * | 2016-06-26 | 2016-12-07 | 厦门天锐科技股份有限公司 | 一种文件仓库存储的智能排重方法及系统 |
CN106202173B (zh) * | 2016-06-26 | 2019-11-12 | 厦门天锐科技股份有限公司 | 一种文件仓库存储的智能排重方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN101174294B (zh) | 2010-07-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Quinlan et al. | Venti: A new approach to archival data storage | |
Tan et al. | CABdedupe: A causality-based deduplication performance booster for cloud backup services | |
US10158483B1 (en) | Systems and methods for efficiently and securely storing data in a distributed data storage system | |
CN102236589B (zh) | 一种基于数字标识符管理增量文件的数据保护方法 | |
US7197665B2 (en) | Physical incremental backup using snapshots | |
CN100547555C (zh) | 一种基于指纹的数据备份系统 | |
CN101174294B (zh) | 一种基于版本增量备份的软件保护方法 | |
US8949197B2 (en) | Virtual full backups | |
US7685189B2 (en) | Optimizing backup and recovery utilizing change tracking | |
US6668262B1 (en) | Methods and apparatus for modifying a database | |
US20060218435A1 (en) | Method and system for a consumer oriented backup | |
US7801867B2 (en) | Optimizing backup and recovery utilizing change tracking | |
KR100515890B1 (ko) | 효율적인 데이터베이스 복구방법 | |
WO2007103141A2 (en) | Method and apparatus for providing virtual machine backup | |
US9002800B1 (en) | Archive and backup virtualization | |
US10095415B2 (en) | Performance during playback of logged data storage operations | |
CN105487942A (zh) | 一种基于重复数据删除的备份与远程复制方法 | |
CN105095027A (zh) | 一种数据备份方法及装置 | |
US7949630B1 (en) | Storage of data addresses with hashes in backup systems | |
CN106055430A (zh) | 云台摄像头的系统备份更新方法及装置 | |
CN101916215A (zh) | 一种基于操作截取的分布式关键任务系统悔改方法 | |
US20030101167A1 (en) | File maintenance on a computer grid | |
CN104572891A (zh) | 一种用于网络信息分离存储的文件更新方法 | |
US8595271B1 (en) | Systems and methods for performing file system checks | |
CN110471796B (zh) | 一种面向文件目录的完全和增量的备份恢复方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20100728 Termination date: 20111119 |