防篡改系统网页文件指纹的存储和查询方法

文档序号:6546547阅读:173来源:国知局
防篡改系统网页文件指纹的存储和查询方法
【专利摘要】本发明公开了一种防篡改系统网页文件指纹的存储和查询方法,其中存储方法包括步骤:生成指纹存储节点;所述指纹存储节点存储有与当前指纹存储节点对应的系统网页文件的文件标识和文件指纹,每一所述系统网页文件对应的所述文件标识唯一;根据所述文件标识对当前所述指纹存储节点排序并构建形成一二叉树并更新指纹存储节点信息;将当前指纹存储节点写入一记录文件的末尾。由于采用了本发明的一种防篡改系统网页文件指纹的存储和查询方法,具有快速高效地查询到指纹值,以及在指纹保存异常的情况下不会影响指纹的正常读取的优点。
【专利说明】防篡改系统网页文件指纹的存储和查询方法
【技术领域】
[0001]本发明涉及一种文件指纹的存储和查询方法,尤其涉及一种防篡改系统网页文件指纹的存储和查询方法。
【背景技术】
[0002]现有的技术方法都是将网页文件的指纹顺序的写入到文件中,查询的时候逐一读取每个指纹值,一一比较查找指定文件的指纹值,非常耗时,在文件中保存指纹值很多的情况下,查询效率非常的低,其次,现有的技术方法在网页文件指纹值时出现异常,指纹值没有保存成功的情况下会对影响指纹的正常读取,非常的不方便。

【发明内容】

[0003]本发明的目的在于克服现有技术的缺陷,而提供一种防篡改系统网页文件指纹的存储和查询方法,具有快速高效地查询到指纹值,以及在指纹保存异常的情况下不会影响指纹的正常读取的优点。
[0004]本发明所解决的技术问题采用以下技术方案来实现:
[0005]一种防篡改系统网页文件指纹的存储方法,包括步骤:
[0006]S1:生成当前所需存储的文件指纹的指纹存储节点;所述指纹存储节点存储有与当前指纹存储节点对应的系统网页文件的文件标识和文件指纹,每一所述系统网页文件对应的所述文件标识唯一;
[0007]S2:根据所述文件标识对当前所述指纹存储节点排序,并更新一二叉树,更新指纹存储节点信息;
[0008]S3:将当前指纹存储节点写入一记录文件的末尾;
[0009]S4:判断是否存在下一所需存储的文件指纹,如存在选定下一所需存储的文件指纹为当前所需存储文件指纹,并返回步骤Si ;否则结束存储。
[0010]本发明的进一步改进在于,所述指纹存储节点包括:
[0011]一文件标识区,用于存储与当前指纹存储节点对应的系统网页文件的所述文件标识;
[0012]一文件指纹区,用于存储与当前指纹存储节点对应的系统网页文件的所述文件指纹;
[0013]一左子节点位置区,用于存储当前指纹存储节点的左子节点在所述记录文件中的起始位置;
[0014]一右子节点位置区,用于存储当前指纹存储节点的右子节点在所述记录文件中的起始位置;
[0015]一状态区,用于存储与当前指纹存储节点对应的文件指纹的有效信息。
[0016]本发明的进一步改进在于,所述根据所述文件标识对当前所述指纹存储节点排序,并更新一二叉树,更新指纹存储节点信息步骤包括步骤:[0017]判断所述记录文件中是否存在指纹存储节点信息;
[0018]如不存在,将当前所述指纹存储节点作为所述二叉树的根节点,更新当前所述指纹存储节点的左子节点位置区信息为表示不存在左子节点,更新当前所述指纹存储节点的右子节点位置区信息为表示不存在右子节点;
[0019]如存在,查找并定位当前所述指纹存储节点的父节点,比较当前指纹存储节点与当前所述指纹存储节点的父节点的文件标识的数值大小,
[0020]如当前指纹存储节点的文件标识大于所述父节点文件标识,将当前所述指纹存储节点的父节点的右子节点位置区信息更新为所述记录文件当前信息的末尾位置;
[0021]如当前指纹存储节点的文件标识小于所述父节点文件标识,将当前所述指纹存储节点的父节点的左子节点位置区信息更新为所述记录文件当前信息的末尾位置。
[0022]本发明的进一步改进在于,所述查找并定位当前所述指纹存储节点的父节点步骤包括步骤:
[0023]自所述二叉树的根节点开始,按照二分法算法,逐一比较当前指纹存储节点的第一文件标识和二叉树中节点的第二文件标识;
[0024]当第一文件标识大于当前所述第二文件标识,且当前所述二叉树节点的右子节点位置区信息表示不存在右子节点时,将当前所述二叉树节点作为当前所述指纹存储节点的父节点;
[0025]当第一文件标识小于当前所述第二文件标识,且当前所述二叉树节点的左子节点位置区信息表示不存在右子节点时,将当前所述二叉树节点作为当前所述指纹存储节点的父节点。
[0026]本发明的一种基于防篡改系统网页文件指纹的存储方法的文件指纹查询方法,包括步骤:
[0027]SI,:获取所需查询的文件指纹所对应的一第一文件标识;
[0028]S2’:选取所述二叉树的根节点作为当前比较节点;
[0029]S3’:获取当前比较节点的一第二文件标识;
[0030]S4’:比较所述第一文件标识和所述第二文件标识;
[0031]如所述第一文件标识大于所述第二文件标识,将当前比较节点的右子节点作为新的当前比较节点,并返回步骤S3’ ;
[0032]如所述第一文件标识小于所述第二文件标识,将当前比较节点的左子节点作为新的当前比较节点,并返回步骤S3’ ;
[0033]如所述第一文件标识等于所述第二文件标识,当前比较节点为所需查询文件指纹所在的目标指纹存储节点,定位并返回所述目标指纹存储节点信息。
[0034]本发明的进一步改进在于,当需要删除所查询到的目标指纹存储节点的文件指纹时,所述定位并返回所述目标指纹存储节点信息步骤后还包括步骤:
[0035]将所述目标指纹存储节点的状态区信息修改为表示无效状态;
[0036]删除当前目标指纹存储节点的文件指纹。
[0037]本发明的进一步改进在于,当需要更新所查询到的目标指纹存储节点的文件指纹时,所述定位并返回所述目标指纹存储节点信息步骤后还包括步骤:
[0038]更新当前目标指纹存储节点的文件指纹区的文件指纹。[0039]本发明由于采用了以上技术方案,使其具有以下有益效果是:
[0040]系统网页文件设置有一一对应的指纹存储节点,指纹存储节点的采用实现了文件指纹的详细记录防篡改,以及文件指纹的高效查找,以及在指纹保存异常的情况下不会影响指纹的正常读取。另外,文件标识区,用于存储文件标识;文件指纹区用于存储文件指纹;左子节点位置区用于存储当前指纹存储节点的左子节点在所述记录文件中的起始位置;右子节点位置区,用于存储当前指纹存储节点的右子节点在所述记录文件中的起始位置。状态区用于存储与当前指纹存储节点对应的指纹的有效信息。
【专利附图】

【附图说明】
[0041]图1为本发明防篡改系统网页文件指纹的存储和查询方法的存储方法流程图;
[0042]图2为本发明存储方法中根据所述文件标识对当前所述指纹存储节点排序,并更新一二叉树,更新指纹存储节点信息的流程图;
[0043]图3为本发明防篡改系统网页文件指纹的存储和查询方法的存储方法实施例之一形成二叉树的结构示意图。
[0044]图4为本发明防篡改系统网页文件指纹的存储方法的文件指纹查询方法的流程图;
图5为本发明防篡改系统网页文件指纹的存储方法实施例之一的现有二叉树结构示意图;
图6为本发明防篡改系统网页文件指纹的存储方法实施例之一的现有二叉树结构查询路径示意图。
【具体实施方式】
[0045]下面结合具体实施例对本发明作进一步说明。
[0046]请参阅图1,本发明一种防篡改系统网页文件指纹的存储方法,包括步骤:
[0047]S1:生成当前所需存储的文件指纹的指纹存储节点;指纹存储节点存储有与当前指纹存储节点对应的系统网页文件的文件标识和文件指纹,每一系统网页文件对应的文件标识唯一;
[0048]S2:根据文件标识对当前指纹存储节点排序,并更新一二叉树,更新指纹存储节点
信息;
[0049]S3:将当前指纹存储节点写入一记录文件的末尾;
[0050]S4:判断是否存在下一所需存储的文件指纹,如存在选定下一所需存储的文件指纹为当前所需存储文件指纹,并返回步骤Si ;否则结束存储。
[0051]其中,指纹存储节点包括:
[0052]一文件标识区,用于存储与当前指纹存储节点对应的系统网页文件的文件标识;
[0053]一文件指纹区,用于存储与当前指纹存储节点对应的系统网页文件的文件指纹;
[0054]—左子节点位置区,用于存储当前指纹存储节点的左子节点在记录文件中的起始位置;
[0055]—右子节点位置区,用于存储当前指纹存储节点的右子节点在记录文件中的起始位置;
[0056]一状态区,用于存储与当前指纹存储节点对应的文件指纹的有效信息。[0057]文件标识为文件的唯一标示符,文件标识和文件指纹是唯一且定长的字符串,该数据占一定长的空间(如:32位,占32字节的空间)。本实施例中,左子节点在记录文件中的起始位置数据和右子节点在记录文件中的起始位置数据分别占8字节空间,文件指纹的有效息为_1和O,其中-1标识无效、O标识有效。
[0058]请参阅图2,根据文件标识对当前指纹存储节点排序,并更新一二叉树,更新指纹存储节点信息步骤包括步骤:
[0059]判断记录文件中是否存在指纹存储节点信息;
[0060]如不存在,将当前指纹存储节点作为二叉树的根节点,更新当前指纹存储节点的左子节点位置区信息为表示不存在左子节点,更新当前指纹存储节点的右子节点位置区信息为表示不存在右子节点;
[0061]如存在,查找并定位当前指纹存储节点的父节点,比较当前指纹存储节点与当前指纹存储节点的父节点的文件标识的数值大小,
[0062]如当前指纹存储节点的文件标识大于父节点文件标识,将当前指纹存储节点的父节点的右子节点位置区信息更新为记录文件当前信息的末尾位置;
[0063]如当前指纹存储节点的文件标识小于父节点文件标识,将当前指纹存储节点的父节点的左子节点位置区信息更新为记录文件当前信息的末尾位置。
[0064]其中,查找并定位当前指纹存储节点的父节点步骤包括步骤:
[0065]自二叉树的根节点开始,按照二分法算法,逐一比较当前指纹存储节点的第一文件标识和二叉树中节点的第二文件标识;
[0066]当第一文件标识大于当前第二文件标识,且当前二叉树节点的右子节点位置区信息表示不存在右子节点时,将当前二叉树节点作为当前指纹存储节点的父节点;
[0067]当第一文件标识小于当前第二文件标识,且当前二叉树节点的左子节点位置区信息表示不存在右子节点时,将当前二叉树节点作为当前指纹存储节点的父节点。
[0068]请参阅图1、2,例如:
[0069]首先生成一当前所需存储的文件指纹的指纹存储节点Ctltl ;
[0070]记录文件中不存在指纹存储节点信息;故将当前指纹存储节点Ctltl作为二叉树的根节点,更新当前指纹存储节点的左子节点位置区信息为-1,右子节点位置区信息为-1,
[0071]将Cc^ci写入记录文件的末尾,此时记录文件长度为Lm ;
[0072]通过判断存在下一个所需存储的文件指纹,生成该文件指纹对应的指纹存储节点Cm;
[0073]查找并定位当前指纹存储节点Cm的父节点比较Cm与Cc^的文件标识的数值大小;
[0074]如Cc^ci > C1;!的文件标识数值,将Cc^ci的右子节点位置区信息更新为Lm ;
[0075]如Cc^ci < C1;!的文件标识数值,将Cc^ci的左子节点位置区信息更新为Lu。
[0076]根据Cm的插入方式,依次写入所有所需存储指纹的指纹存储节点,最后获得的二叉树请参见图3。
[0077]请参阅图4,本发明的一种基于防篡改系统网页文件指纹的存储方法的文件指纹查询方法,包括步骤 :
[0078]SI,:获取所需查询的文件指纹所对应的一第一文件标识;[0079]S2’:选取二叉树的根节点作为当前比较节点;
[0080]S3’:获取当前比较节点的一第二文件标识;
[0081 ] S4’:比较第一文件标识和第二文件标识;
[0082]如第一文件标识大于第二文件标识,将当前比较节点的右子节点作为新的当前比较节点,并返回步骤S3’ ;
[0083]如第一文件标识小于第二文件标识,将当前比较节点的左子节点作为新的当前比较节点,并返回步骤S3’ ;
[0084]如第一文件标识等于第二文件标识,当前比较节点为所需查询文件指纹所在的目标指纹存储节点,定位并返回目标指纹存储节点信息。
[0085]另外,当需要删除所查询到的目标指纹存储节点的文件指纹时,定位并返回目标指纹存储节点信息步骤后还包括步骤:
[0086]将目标指纹存储节点的状态区信息修改为表示无效状态;
[0087]删除当前目标指纹存储节点的文件指纹。
[0088]当需要更新所查询到的目标指纹存储节点的文件指纹时,定位并返回目标指纹存储节点信息步骤后还包括步骤:
[0089]更新当前目标指纹存储节点的文件指纹区的文件指纹。
[0090]例如:
[0091]现有二叉树结构如图5所示,二叉树的各节点分别为:A、B、C、D、E ;节点A、B、C、D、E所对应的文件标识分别为a、b、C、d、e。
[0092]首先,获取所需查询的文件指纹所对应的文件标识X ;
[0093]然后选取二叉树的根节A点作为当前比较节点;
[0094]获取当前比较节点A的文件标识a ;
[0095]比较文件标识X和文件标识a ;
[0096]文件标识X大于文件标识a,将当前比较节点A的右子节点D作为新的当前比较节
占.[0097]获取当前比较节点D的文件标识d ;
[0098]比较文件标识X和文件标识d ;
[0099]文件标识X大于文件标识d,将当前比较节点D的右子节点E作为新的当前比较节占.[0100]获取当前比较节点E的文件标识e ;
[0101 ] 比较文件标识X和文件标识e ;
[0102]文件标识X等于文件标识e,当前比较节点E为所需查询文件指纹所在的目标指纹存储节点,定位并返回目标指纹存储节点信息。查询路径请参见图6,可见相较于现有的依次查询节点A、B、C、D、E,需要5次判断文件标识是否等于X的方法,本发明的方法只需比较2次节点就可搜索到节点E,提高了检索速度1.5倍。
[0103]以上结合附图实施例对本发明进行了详细说明,本领域中普通技术人员可根据上述说明对本发明做出种种变化例。因而,实施例中的某些细节不应构成对本发明的限定,本发明将以所附权利要求书界定的范围作为本发明的保护范围。
【权利要求】
1.一种防篡改系统网页文件指纹的存储方法,其特征在于,包括步骤: S1:生成当前所需存储的文件指纹的指纹存储节点;所述指纹存储节点存储有与当前指纹存储节点对应的系统网页文件的文件标识和文件指纹,每一所述系统网页文件对应的所述文件标识唯一; 52:根据所述文件标识对当前所述指纹存储节点排序,并更新一二叉树,更新指纹存储节点信息; 53:将当前指纹存储节点写入一记录文件的末尾; 54:判断是否存在下一所需存储的文件指纹,如存在选定下一所需存储的文件指纹为当前所需存储文件指纹,并返回步骤SI ;否则结束存储。
2.根据权利要求1所述的防篡改系统网页文件指纹的存储方法,其特征在于,所述指纹存储节点包括: 一文件标识区,用于存储与当前指纹存储节点对应的系统网页文件的所述文件标识; 一文件指纹区,用于存储与当前指纹存储节点对应的系统网页文件的所述文件指纹; 一左子节点位置区,用于存储当前指纹存储节点的左子节点在所述记录文件中的起始位置; 一右子节点位 置区,用于存储当前指纹存储节点的右子节点在所述记录文件中的起始位置; 一状态区,用于存储与当前指纹存储节点对应的文件指纹的有效信息。
3.根据权利要求2所述的防篡改系统网页文件指纹的存储方法,其特征在于,所述根据所述文件标识对当前所述指纹存储节点排序,并更新一二叉树,更新指纹存储节点信息步骤包括步骤: 判断所述记录文件中是否存在指纹存储节点信息; 如不存在,将当前所述指纹存储节点作为所述二叉树的根节点,更新当前所述指纹存储节点的左子节点位置区信息为表示不存在左子节点,更新当前所述指纹存储节点的右子节点位置区信息为表示不存在右子节点; 如存在,查找并定位当前所述指纹存储节点的父节点,比较当前指纹存储节点与当前所述指纹存储节点的父节点的文件标识的数值大小, 如当前指纹存储节点的文件标识大于所述父节点文件标识,将当前所述指纹存储节点的父节点的右子节点位置区信息更新为所述记录文件当前信息的末尾位置; 如当前指纹存储节点的文件标识小于所述父节点文件标识,将当前所述指纹存储节点的父节点的左子节点位置区信息更新为所述记录文件当前信息的末尾位置。
4.根据权利要求3所述的防篡改系统网页文件指纹的存储方法,其特征在于,所述查找并定位当前所述指纹存储节点的父节点步骤包括步骤: 自所述二叉树的根节点开始,按照二分法算法,逐一比较当前指纹存储节点的第一文件标识和二叉树中节点的第二文件标识; 当第一文件标识大于当前所述第二文件标识,且当前所述二叉树节点的右子节点位置区信息表示不存在右子节点时,将当前所述二叉树节点作为当前所述指纹存储节点的父节占.当第一文件标识小于当前所述第二文件标识,且当前所述二叉树节点的左子节点位置区信息表示不存在右子节点时,将当前所述二叉树节点作为当前所述指纹存储节点的父节点。
5.一种基于权利要求4所述的防篡改系统网页文件指纹的存储方法的文件指纹查询方法,其特征在于,包括步骤: SI,:获取所需查询的文件指纹所对应的一第一文件标识; S2’:选取所述二叉树的根节点作为当前比较节点; S3’:获取当前比较节点的一第二文件标识; S4,:比较所述第一文件标识和所述第二文件标识; 如所述第一文件标识大于所述第二文件标识,将当前比较节点的右子节点作为新的当前比较节点,并返回步骤S3’ ; 如所述第一文件标识小于所述第二文件标识,将当前比较节点的左子节点作为新的当前比较节点,并返回步骤S3’ ; 如所述第一文件标识等于所述第二文件标识,当前比较节点为所需查询文件指纹所在的目标指纹存储节点,定位并返回所述目标指纹存储节点信息。
6.根据权利要 求5所述的文件指纹查询方法,其特征在于,当需要删除所查询到的目标指纹存储节点的文件指纹时,所述定位并返回所述目标指纹存储节点信息步骤后还包括步骤: 将所述目标指纹存储节点的状态区信息修改为表示无效状态; 删除当前目标指纹存储节点的文件指纹。
7.根据权利要求5所述的文件指纹查询方法,其特征在于,当需要更新所查询到的目标指纹存储节点的文件指纹时,所述定位并返回所述目标指纹存储节点信息步骤后还包括步骤: 更新当前目标指纹存储节点的文件指纹区的文件指纹。
【文档编号】G06F17/30GK104021142SQ201410204016
【公开日】2014年9月3日 申请日期:2014年5月14日 优先权日:2014年5月14日
【发明者】杨海飞 申请人:陕西上讯信息技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1