一种数据存储方法及装置的制造方法

文档序号:8473010阅读:227来源:国知局
一种数据存储方法及装置的制造方法
【技术领域】
[0001]本发明涉及计算机技术领域,特别是涉及一种数据存储方法及装置。
【背景技术】
[0002]搜索引擎在为用户提供搜索服务时,主要是利用倒排索引和正排索引的映射结构获得目标网页的相关信息并提供给用户。倒排索引是从关键词映射到若干个排序后的网页的索引结构,正排索引是从具体的网页映射到该网页的摘要信息的索引结构。在搜索时,搜索引擎首先根据用户输入的搜索语句确定搜索关键词,然后根据搜索关键词和倒排索引检索到相关的若干目标网页,并将这些目标网页排序之后,根据正排索引将网页摘要和网页的原始地址提供给用户,用户再根据网页摘要来决定是否点击该网页的原始地址进一步浏览该网页。
[0003]在互联网上网页的更新速度非常快,不断有更新网页生成(本文中将新生成的网页、待删除的网页和有更新的网页统称为更新网页)。为向用户提供更实时、准确的搜索服务,搜索引擎会在后台利用爬虫软件不断搜寻更新网页,并存储更新网页的摘要,同时对已有的倒排索引和正排索引进行增量更新,即在原有的索引结构上新创建基于从关键词到该更新网页的倒排索引,以及从该更新网页到对应的网页摘要的正排索引。
[0004]正排索引在增量更新时,同时伴随着存储的网页摘要的增量更新。网页摘要由若干字段组成,例如作者、关键词、标题、创建时间、更新时间、网页点击量等字段。任一字段发生变化时,都需要重新存储一条包含所有字段的完整网页摘要,并重新存储该网页对应的正排索引。通常在正排索引经过若干次增量更新之后,由于新增的数据量较大,引起搜索效率降低,因此会进行全量更新,即对正排索引的整个数据结构进行更新。
[0005]由此可见,现有的网页摘要的存储方式在对网页摘要进行增量更新时,需要对网页摘要包含的所有字段进行增量存储,因此每次增量更新所存储的数据量较大。加之由于网页更新的频率较快,因此在若干次增量更新后,导致不得不进行网页摘要和正排索引的全量更新,而全量更新所涉及的数据量更大,由此占用了大量的时间和设备资源。

【发明内容】

[0006]本发明实施例提供了一种数据存储方法及装置,以解决现有技术的网页摘要存储方法在经过若干次增量更新后,不得不进行全量更新,导致占用大量的时间和设备资源的技术问题。
[0007]为了解决上述技术问题,本发明实施例公开了如下技术方案:
[0008]一方面,提供了一种数据存储方法,所述数据包括网页摘要和所述网页摘要的索引信息,所述方法包括:
[0009]在网页摘要更新时,确定所述网页摘要中的更新字段,以及所述更新字段对应的字段存储区;
[0010]在所述字段存储区新增加更新存储区,在所述更新存储区存储所述更新字段在本次更新后的字段数据和所述字段数据的索引信息。
[0011]可选的,所述更新存储区包括数据存储区和对应的索引存储区,在所述数据存储区存储所述本次更新后的字段数据,在所述索引存储区存储所述字段数据的索引信息。
[0012]可选的,所述在所述索引存储区存储所述字段数据的索引信息包括:
[0013]在所述索引存储区存储所述字段数据对应的网页标识,以及所述字段数据在所述数据存储区中的存储位置信息。
[0014]可选的,所述方法还包括:
[0015]新增加网页索引表,在所述网页索引表中存储本次更新对应的网页标识,以及所述网页标识在所述索引存储区中的存储位置信息。
[0016]可选的,所述在所述网页索引表中存储本次更新对应的网页标识包括:
[0017]在所述网页索引表中设置2N个索引子表,为每一个索引字表设置对应的N位二进制表值,N为预设大于等于I的整数;
[0018]获取所述网页的标识对应的二进制数值,根据所述二进制数值的前N位将所述网页标识存储到对应表值的索引子表中。
[0019]可选的,所述方法还包括:
[0020]预设若干字段存储区,分别为每一个字段存储区指定对应的一个或多个字段。
[0021]可选的,所述分别为每一个字段区指定对应的一个或多个字段包括:
[0022]统计网页摘要包含的各字段的更新频率,根据所述更新频率分别为每一个字段存储区指定对应的一个或多个字段。
[0023]可选的,所述方法还包括:
[0024]判断是否有待删除的网页,如果有,在新增加的更新存储区中设置所述待删除的网页的有效时间;
[0025]当达到所述有效时间后,将所述待删除的网页在各次更新时存储的字段数据和对应的索引信息标记为无效。
[0026]可选的,所述方法还包括:
[0027]将历史更新存储区中与所述更新字段对应的历史字段数据和对应的历史索引信息标记为无效。
[0028]可选的,所述方法还包括:
[0029]合并所述字段存储区包含的若干更新存储区,在合并后的新更新存储区中删除标记为无效的字段数据和对应的索引信息。
[0030]可选的,所述合并所述字段存储区包含的若干更新存储区包括:
[0031]在所述字段存储区中选择若干待合并的更新存储区;
[0032]分别计算所述待合并的更新存储区包含的有效字段数据的数量之和;
[0033]如果所述数量之和小于第一预设阈值,则合并所述待合并的更新存储区。
[0034]可选的,所述从所述字段存储区中选择若干待合并的更新存储区包括:
[0035]分别计算每一个更新存储区包含的有效字段数据数量;
[0036]从所述字段存储区中选择所述有效字段数据数量最少的若干更新存储区作为所述待合并的更新存储区。
[0037]可选的,所述从所述字段存储区中选择若干待合并的更新存储区包括:
[0038]分别计算所述更新存储区包含的有效字段数据数量与所述更新存储区包含的总字段数据数量的比值;
[0039]在所述字段存储区中选择所述比值最低的若干更新存储区作为所述待合并的更新存储区。
[0040]另一方面,本发明提供了一种数据存储装置,所述数据包括网页摘要和所述网页摘要的索引信息,所述装置包括:
[0041]确定单元,用于在网页摘要更新时,确定所述网页摘要中的更新字段,以及所述更新字段对应的字段存储区;
[0042]第一存储单元,用于在所述字段存储区新增加更新存储区,在所述更新存储区存储所述更新字段在本次更新后的字段数据和所述字段数据的索引信息。
[0043]可选的,所述更新存储区包括数据存储区和对应的索引存储区;
[0044]所述第一存储单元包括:数据存储子单元和索引存储子单元;
[0045]所述数据存储子单元,具体用于在所述数据存储区存储所述本次更新后的字段数据;
[0046]所述索引存储子单元,用于在所述索引存储区存储所述字段数据的索引信息。
[0047]可选的,所述索引存储单元用于在所述索引存储区存储所述字段数据对应的网页标识,以及所述字段数据在所述数据存储区中的存储位置信息。
[0048]可选的,所述装置还包括:
[0049]第二存储单元,用于新增加网页索引表,并在所述网页索引表中存储本次更新对应的网页标识,以及所述网页标识在所述索引存储区中的存储位置信息。
[0050]可选的,所述第二存储单元包括:
[0051]设置子单元,用于在所述网页索引表中设置2N个索引子表,为每一个索引字表设置对应的N位二进制表值,N为预设大于等于I的整数;
[0052]网页存储子单元,用于获取所述网页的标识对应的二进制数值,根据所述二进制数值的前N位将所述网页标识存储到对应表值的索引子表中。
[0053]可选的,所述装置还包括:
[0054]设置单元,用于预设若干字段存储区,分别为每一个字段存储区指定对应的一个或多个字段。
[0055]可选的,所述设置单元具体用于:
[0056]统计网页摘要包含的各字段的更新频率,根据所述更新频率分别为每一个字段存储区指定对应的一个或多个字段。
[0057]可选的,所述装置还包括:
[0058]判断设置单元,用于判断是否有待删除的网页,如果有,在新增加的更新存储区中设置所述待删除的网页的有效时间;
[0
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1