CN104794177B - 一种数据存储方法及装置 - Google Patents
一种数据存储方法及装置 Download PDFInfo
- Publication number
- CN104794177B CN104794177B CN201510155130.7A CN201510155130A CN104794177B CN 104794177 B CN104794177 B CN 104794177B CN 201510155130 A CN201510155130 A CN 201510155130A CN 104794177 B CN104794177 B CN 104794177B
- Authority
- CN
- China
- Prior art keywords
- memory block
- field
- renewal
- index
- data
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种数据存储方法及装置,所述数据包括网页摘要和所述网页摘要的索引信息,所述方法包括:在网页摘要更新时,确定所述网页摘要中的更新字段,以及所述更新字段对应的字段存储区;在所述字段存储区新增加更新存储区,在所述更新存储区存储所述更新字段在本次更新后的字段数据和所述字段数据的索引信息。该技术方案在对网页摘要存储时,只需对其中的更新字段和对应的索引信息进行增量更新,而无需对所有字段的数据进行增量更新,因此大大降低了单次更新时存储的数据量,从而避免了新增的数据量过大,以及由此导致的全量更新的发生,节约了时间及存储空间的开销,提高了存储效率。
Description
技术领域
本发明涉及计算机技术领域,特别是涉及一种数据存储方法及装置。
背景技术
搜索引擎在为用户提供搜索服务时,主要是利用倒排索引和正排索引的映射结构获得目标网页的相关信息并提供给用户。倒排索引是从关键词映射到若干个排序后的网页的索引结构,正排索引是从具体的网页映射到该网页的摘要信息的索引结构。在搜索时,搜索引擎首先根据用户输入的搜索语句确定搜索关键词,然后根据搜索关键词和倒排索引检索到相关的若干目标网页,并将这些目标网页排序之后,根据正排索引将网页摘要和网页的原始地址提供给用户,用户再根据网页摘要来决定是否点击该网页的原始地址进一步浏览该网页。
在互联网上网页的更新速度非常快,不断有更新网页生成(本文中将新生成的网页、待删除的网页和有更新的网页统称为更新网页)。为向用户提供更实时、准确的搜索服务,搜索引擎会在后台利用爬虫软件不断搜寻更新网页,并存储更新网页的摘要,同时对已有的倒排索引和正排索引进行增量更新,即在原有的索引结构上新创建基于从关键词到该更新网页的倒排索引,以及从该更新网页到对应的网页摘要的正排索引。
正排索引在增量更新时,同时伴随着存储的网页摘要的增量更新。网页摘要由若干字段组成,例如作者、关键词、标题、创建时间、更新时间、网页点击量等字段。任一字段发生变化时,都需要重新存储一条包含所有字段的完整网页摘要,并重新存储该网页对应的正排索引。通常在正排索引经过若干次增量更新之后,由于新增的数据量较大,引起搜索效率降低,因此会进行全量更新,即对正排索引的整个数据结构进行更新。
由此可见,现有的网页摘要的存储方式在对网页摘要进行增量更新时,需要对网页摘要包含的所有字段进行增量存储,因此每次增量更新所存储的数据量较大。加之由于网页更新的频率较快,因此在若干次增量更新后,导致不得不进行网页摘要和正排索引的全量更新,而全量更新所涉及的数据量更大,由此占用了大量的时间和设备资源。
发明内容
本发明实施例提供了一种数据存储方法及装置,以解决现有技术的网页摘要存储方法在经过若干次增量更新后,不得不进行全量更新,导致占用大量的时间和设备资源的技术问题。
为了解决上述技术问题,本发明实施例公开了如下技术方案:
一方面,提供了一种数据存储方法,所述数据包括网页摘要和所述网页摘要的索引信息,所述方法包括:
在网页摘要更新时,确定所述网页摘要中的更新字段,以及所述更新字段对应的字段存储区;
在所述字段存储区新增加更新存储区,在所述更新存储区存储所述更新字段在本次更新后的字段数据和所述字段数据的索引信息。
可选的,所述更新存储区包括数据存储区和对应的索引存储区,在所述数据存储区存储所述本次更新后的字段数据,在所述索引存储区存储所述字段数据的索引信息。
可选的,所述在所述索引存储区存储所述字段数据的索引信息包括:
在所述索引存储区存储所述字段数据对应的网页标识,以及所述字段数据在所述数据存储区中的存储位置信息。
可选的,所述方法还包括:
新增加网页索引表,在所述网页索引表中存储本次更新对应的网页标识,以及所述网页标识在所述索引存储区中的存储位置信息。
可选的,所述在所述网页索引表中存储本次更新对应的网页标识包括:
在所述网页索引表中设置2N个索引子表,为每一个索引字表设置对应的N位二进制表值,N为预设大于等于1的整数;
获取所述网页的标识对应的二进制数值,根据所述二进制数值的前N位将所述网页标识存储到对应表值的索引子表中。
可选的,所述方法还包括:
预设若干字段存储区,分别为每一个字段存储区指定对应的一个或多个字段。
可选的,所述分别为每一个字段区指定对应的一个或多个字段包括:
统计网页摘要包含的各字段的更新频率,根据所述更新频率分别为每一个字段存储区指定对应的一个或多个字段。
可选的,所述方法还包括:
判断是否有待删除的网页,如果有,在新增加的更新存储区中设置所述待删除的网页的有效时间;
当达到所述有效时间后,将所述待删除的网页在各次更新时存储的字段数据和对应的索引信息标记为无效。
可选的,所述方法还包括:
将历史更新存储区中与所述更新字段对应的历史字段数据和对应的历史索引信息标记为无效。
可选的,所述方法还包括:
合并所述字段存储区包含的若干更新存储区,在合并后的新更新存储区中删除标记为无效的字段数据和对应的索引信息。
可选的,所述合并所述字段存储区包含的若干更新存储区包括:
在所述字段存储区中选择若干待合并的更新存储区;
分别计算所述待合并的更新存储区包含的有效字段数据的数量之和;
如果所述数量之和小于第一预设阈值,则合并所述待合并的更新存储区。
可选的,所述从所述字段存储区中选择若干待合并的更新存储区包括:
分别计算每一个更新存储区包含的有效字段数据数量;
从所述字段存储区中选择所述有效字段数据数量最少的若干更新存储区作为所述待合并的更新存储区。
可选的,所述从所述字段存储区中选择若干待合并的更新存储区包括:
分别计算所述更新存储区包含的有效字段数据数量与所述更新存储区包含的总字段数据数量的比值;
在所述字段存储区中选择所述比值最低的若干更新存储区作为所述待合并的更新存储区。
另一方面,本发明提供了一种数据存储装置,所述数据包括网页摘要和所述网页摘要的索引信息,所述装置包括:
确定单元,用于在网页摘要更新时,确定所述网页摘要中的更新字段,以及所述更新字段对应的字段存储区;
第一存储单元,用于在所述字段存储区新增加更新存储区,在所述更新存储区存储所述更新字段在本次更新后的字段数据和所述字段数据的索引信息。
可选的,所述更新存储区包括数据存储区和对应的索引存储区;
所述第一存储单元包括:数据存储子单元和索引存储子单元;
所述数据存储子单元,具体用于在所述数据存储区存储所述本次更新后的字段数据;
所述索引存储子单元,用于在所述索引存储区存储所述字段数据的索引信息。
可选的,所述索引存储单元用于在所述索引存储区存储所述字段数据对应的网页标识,以及所述字段数据在所述数据存储区中的存储位置信息。
可选的,所述装置还包括:
第二存储单元,用于新增加网页索引表,并在所述网页索引表中存储本次更新对应的网页标识,以及所述网页标识在所述索引存储区中的存储位置信息。
可选的,所述第二存储单元包括:
设置子单元,用于在所述网页索引表中设置2N个索引子表,为每一个索引字表设置对应的N位二进制表值,N为预设大于等于1的整数;
网页存储子单元,用于获取所述网页的标识对应的二进制数值,根据所述二进制数值的前N位将所述网页标识存储到对应表值的索引子表中。
可选的,所述装置还包括:
设置单元,用于预设若干字段存储区,分别为每一个字段存储区指定对应的一个或多个字段。
可选的,所述设置单元具体用于:
统计网页摘要包含的各字段的更新频率,根据所述更新频率分别为每一个字段存储区指定对应的一个或多个字段。
可选的,所述装置还包括:
判断设置单元,用于判断是否有待删除的网页,如果有,在新增加的更新存储区中设置所述待删除的网页的有效时间;
第一标记单元,用于当达到所述有效时间后,将所述待删除的网页在各次更新时存储的字段数据和对应的索引信息标记为无效。
可选的,所述装置还包括:
第二标记单元,用于将历史更新存储区中与所述更新字段对应的历史字段数据和对应的历史索引信息标记为无效。
可选的,所述装置还包括:
合并单元,用于合并所述字段存储区包含的若干更新存储区;
删除单元,用于在合并后的新更新存储区中将所述第一标记单元和第二标记单元标记为无效的字段数据和索引信息删除。
可选的,所述合并单元包括:
第一选择子单元,用于在所述字段存储区中选择若干待合并的更新存储区;
第一计算子单元,用于分别计算所述待合并的更新存储区包含的有效字段数据的数量之和;
第一合并子单元,用于如果所述数量之和小于第一预设阈值,则合并所述待合并的更新存储区。
可选的,所述第一选择子单元包括:
第二计算子单元,用于分别计算每一个更新存储区包含的有效字段数据数量;
第二选择子单元,用于从所述字段存储区中选择所述有效字段数据数量最少的若干更新存储区作为所述待合并的更新存储区。
可选的,所述第一选择子单元包括:
第三计算子单元,用于分别计算所述更新存储区包含的有效字段数据数量与所述更新存储区包含的总字段数据数量的比值;
第三选择子单元,用于在所述字段存储区中选择所述比值最低的若干更新存储区作为所述待合并的更新存储区。
上述技术方案提供数据存储方法及装置,在网页摘要更新时,确定所述网页摘要中的更新字段,以及所述更新字段对应的字段存储区;在所述字段存储区新增加更新存储区,在所述更新存储区存储所述更新字段在本次更新后的字段数据和所述字段数据的索引信息。
该技术方案在对网页摘要存储时,只需对其中的更新字段和对应的索引信息进行增量更新,而无需对所有字段的数据进行增量更新,因此大大降低了单次更新时存储的数据量,从而避免了新增的数据量过大,以及由此导致的全量更新的发生,节约了时间及存储空间的开销,提高了存储效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的一种数据存储方法的一个实施例的流程示意图;
图2为本发明提供的一种数据存储方法的另一个实施例的流程示意图;
图3所示为本发明提供的一种数据存储方法对应的数据存储结构示意图;
图4为本发明提供的一种数据存储方法的另一个实施例的流程示意图;
图5为本发明提供的一种数据存储装置的一个实施例的结构示意图;
图6为本发明提供的一种数据存储装置的另一个实施例的结构示意图;
图7为本发明提供的一种数据存储装置的另一个实施例的结构示意图;
图8为本发明提供的一种数据存储装置的另一个实施例的结构示意图;
图9为本发明提供的一种数据存储装置的合并单元的一个实施例的结构示意图。
具体实施方式
首先对本发明数据存储方法提供的实施例进行说明,参见图1,为本发明数据存储方法提供的一个实施例的流程示意图,本实施例包括如下步骤:
步骤101:在网页摘要更新时,确定所述网页摘要中的更新字段,以及所述更新字段对应的字段存储区。
参考背景技术的相关描述可知,网页摘要通常包含作者、关键词、正文、标题、创建时间、更新时间、网页点击量等多个字段。一般来说,当网页更新时其包含的各个字段并非全部都更新,例如作者、创建时间等字段更新的可能性非常小,而网页点击量、访问者等字段更新的可能性则较大,因此需确定网页摘要中存在更新的字段。对于新创建的网页和待删除的网页,可认为其网页摘要包含的所有字段都是更新字段。
步骤102:在所述字段存储区新增加更新存储区,在所述更新存储区存储所述更新字段在本次更新后的字段数据和所述字段数据的索引信息。
每个字段存储区都包含若干更新存储区,各个更新存储区均为在每一次更新网页摘要时,在发生更新的字段所对应的字段存储区中新增的更新存储区。
所述索引信息即为从网页到该网页摘要字段数据的正排索引信息,在搜索时,先利用倒排索引检索到与搜索关键词相关的若干目标网页,再根据正排索引信息获得各个目标网页的摘要字段数据。
在实际应用中,可预设网页摘要的更新存储周期,例如可设为一天,则在每天的预设更新时刻,统计对前一天内所有出现更新的网页,对当中发生更新的摘要字段及其对应的索引信息进行存储。
上述实施例的技术方案提供数据存储方法及装置,在网页摘要更新时,确定所述网页摘要中的更新字段,以及所述更新字段对应的字段存储区;在所述字段存储区新增加更新存储区,在所述更新存储区存储所述更新字段在本次更新后的字段数据和所述字段数据的索引信息。
该实施例在对网页摘要存储时,只需对其中的更新字段和对应的索引信息进行增量更新,而无需对所有字段的数据进行增量更新,因此大大降低了单次更新时存储的数据量,从而避免了新增的数据量过大,以及由此导致的全量更新的发生,节约了时间及存储空间的开销,提高了存储效率。
可选的,在本发明的其他实施例中,可预先设立若干字段存储区,分别为每一个字段存储区指定对应的一个或多个字段。
优选的,预先统计网页摘要包含的各字段的更新频率,根据所述更新频率分别为每一个字段存储区指定对应的一个或多个字段,可以将更新频率相同或相近的字段划分在同一个字段存储区中,这样当网页摘要有更新时,只在有更新的字段所在的字段存储区中新增加更新存储区即可。
例如,可根据各字段的更新频率将其划分为稳定存储区、不易变存储区、易变存储区三个字段存储区。其中,稳定存储区对应作者、关键词、创建时间等较稳定字段,不易变存储区对应正文、标题等较不容易改变的字段,而易变存储区对应更新时间、网页点击量等较容易发生改变的字段。
本领域技术人员也可以根据经验,或者是在实际运行中的统计数据,对各字段自行划分至不同的字段存储区,以获得较高的更新和存储效率。该划分方式可以是固定的,也可以以一定时间周期内的统计数据,周期性的动态调整。
在本发明数据存储方法的另一个实施例中,可将所述更新存储区具体划分为数据存储区和对应的索引存储区两部分,在所述数据存储区存储所述本次更新后的字段数据,在所述索引存储区存储所述字段数据的索引信息。
所述索引信息可具体包括所述字段数据对应的网页标识,以及所述字段数据在所述数据存储区中的存储位置信息。由于每次更新的网页数量一般都比较大,因此在数据存储区中存储的字段数据的条数也较多,在获取某一条字段数据时,可从对应的索引存储区中读取所述字段数据的索引信息,进而在所述数据存储区中定位该条字段数据。
如图2所示为本发明数据存储方法的另一个实施例的流程示意图,所述实施例包括如下步骤201至步骤204:
步骤201:在网页摘要更新时,确定所述网页摘要中的更新字段,以及所述更新字段对应的字段存储区。
步骤202:在所述字段存储区新增加更新存储区,所述更新存储区包括数据存储区和对应的索引存储区。
步骤203:在所述数据存储区存储所述本次更新后的字段数据,在所述索引存储区存储所述字段数据对应的网页标识,以及所述字段数据在所述数据存储区中的存储位置信息。
步骤204:新增加网页索引表,在所述网页索引表中存储本次更新对应的网页标识,以及所述网页标识在所述索引存储区中的存储位置信息。
在新增加的网页索引表中存储有本次更新对应的网页标识,所述网页标识具体可以是该网页的URL地址,或者其他可用于标识该网页的信息。该网页存储表中还存储有所述网页标识在所述索引存储区中的存储位置信息,用于在所述索引存储区中定位目标网页标识。
上述步骤203、204的执行顺序不做限制。
所述步骤204可具体根据如下步骤a)和b)来存储所述字段数据对应的网页标识:
步骤a):在所述网页索引表中设置2N个索引子表,为每一个索引字表设置对应的N位二进制表值,N为预设大于等于1的整数。
步骤b):获取所述网页标识对应的二进制数值,根据所述二进制数值的前N位将所述网页标识存储到对应表值的索引子表中。
由于在每次更新时涉及的网页数量较大,并且网页标识在计算机中的存储形式一般是一个位数较多的二进制数值,为了便于在网页索引表中快速查找目标网页的标识,可将网页索引表划分成2N个索引子表,每一个索引字表对应一个N位二进制表值。在存储网页标识时,可根据该网页标识的前N位二进制数值,将该网页标识存储到对应表值的索引字表中。这样在查找该网页标识时,只需根据该网页标识的前N位二进制数值,去对应表值的索引字表中查找即可,大大节省了查找时间。
如图3所示为采用本发明上述实施例所建立的数据存储结构示意图。互联网中包含的网页数量较大,我们一般将哈希值相同或相近的网页的摘要和索引信息存储在同一个索引分片中,在图3中,以单独的一个索引分片为例进行介绍,该索引分片包含网页索引表、字段存储区、版本信息表。
网页索引表中存储本次更新时涉及的网页标识列表,以及每一个网页标识在新增加的更新存储区中的存储位置信息。网页索引表i为在第i次更新时新增加的网页索引表。在实际应用中,可以将网页索引表的名称上附加更新时间信息,一方面可以区分各个不同的网页索引表,另一方面也便于从名称上立刻辨别出哪一个为最新的网页索引表。
在图3中,包含三个字段存储区,分别是稳定存储区、不易变存储区、易变存储区。每一个字段存储区均包含若干更新存储区。例如,更新存储区i为在第i次更新时,在不易变存储区中新增加的更新存储区,其包含数据存储区i和对应的索引存储区i两部分。在实际应用中,也可以将更新存储区的名称中附加更新时间信息,一方面可以区分各个不同的更新存储区,另一方面也便于从名称上立刻辨别出哪一个为最新的更新存储区。
版本信息表中记录了最新的版本信息,如当前索引分片包含哪些网页索引表、各字段存储区包含哪些更新存储区等信息,以便于进行版本管理,以确保在正排索引时能够按照最新的索引信息获得最新的摘要字段数据。版本信息表i为在第i次更新时新增加的版本信息表,在实际应用中,也可以将版本信息表的名称中附加更新时间信息,一方面可以区分各个不同的版本信息表,另一方面也便于从名称上立刻辨别出哪一个为最新的版本信息表。
如图4所示为本发明提供的一种数据存储方法的另一个实施例的流程示意图,在所述实施例中,步骤201至204参见上述实施例中的对应步骤的描述,所述实施例还包括如下步骤205至步骤208:
步骤205:判断是否有待删除的网页,如果有,在新增加的更新存储区中设置所述待删除的网页的有效时间。
步骤206:当达到所述有效时间后,将所述待删除的网页在各次更新时存储的字段数据和对应的索引信息标记为无效。
本发明的技术方案,对网页摘要及索引的更新均为增量更新,对于待删除的网页也适用。如果本次更新时,检测到有需要删除的网页,则认为该网页的所有字段都是更新字段,在对应的各个字段存储区中相应的也要增加更新存储区。
由于是待删除的网页,更新后的字段数据都是空数据,因此在数据存储区中,可以用预设标识来代替更新后的字段数据,并在索引存储区中相应存储该预设标识的位置信息和网页标识。
倒排索引和正排索引在实际使用时可能存在更新时间差的问题,例如在本次更新中有待删除的网页,如果当网页摘要和对应的正排索引更新后将该待删除的网页的各摘要字段及索引信息立即删除,或标记为无效的话,由于倒排索引此时可能还未完全更新,即在倒排索引使用的网页列表中还未将该待删除的网页标识删除,则此时可能还会有针对该待删除的网页的摘要字段的索引需求。
因此,在实施例中,为待删除的网页设置“有效时间”属性,这样在本次更新网页摘要和对应的索引信息后,仍然会对该待删除的网页的字段数据和对应的索引信息保留一段时间,直至达到所述有效时间后,将所述待删除的网页在各次更新时存储的字段数据和对应的索引信息标记为无效,这样可以保证在倒排索引使用的网页列表中该待删除的网页标识已经确实被删除了,不会再有针对该待删除的网页的摘要字段的索引需求,从而解决了倒排索引和正排索引的更新时间差的问题。
该“有效时间”属性可以与该待删除的网页标识一起,存储在索引存储区中。为了保持存储格式一致,对于不需要删除的网页,也可以在其各个更新存储区中保留该“有效时间”属性,并将该属性值设置为无效,或设置一个无限长的时间,直至检测到该网页需要删除时,才在新增加的更新存储区中真正设置该属性的值。
步骤207:将历史更新存储区中与所述更新字段对应的历史字段数据和对应的历史索引信息标记为无效。
由于本发明的网页摘要字段的更新是增量更新,因此可能出现这样的情况,即多个更新存储区包含同一个网页在不同时期更新的字段数据及对应的索引信息。这时,应以最新更新的更新存储区作为该网页对应的有效更新存储区,该有效更新存储区中包含的字段数据和对应的历史索引信息即为有效的字段数据和索引信息。而将以往的历史更新存储区中与所述更新字段对应的历史字段数据和对应的历史索引信息都标记为无效。
在实际应用中,可在更新存储区对应的文件名中附带更新时间信息,这样从各更新存储区的文件名即可快速判断出哪一个更新存储区为有效更新存储区。
步骤208:合并所述字段存储区包含的若干更新存储区,在合并后的新更新存储区中删除标记为无效的字段数据和对应的索引信息。
随着网页摘要不断更新,各字段存储区中包含的更新存储区的数量越来越多,同时各更新存储区包含的无效字段数据和索引信息的数量也越来越多。过多的更新存储区的数量降低了检索服务的效率,并且无效字段数据和索引信息也浪费了很多存储空间。如果进行全量更新的话,涉及的数据量较大,因此本实施例中对若干更新存储区进行合并,有效减少更新存储区的数量,去掉其中包含的无效字段数据和对应的索引信息,节约存储空间,从而使增量更新一直进行下去,避免全量更新所带来的时间和设备的巨大开销。
具体的,上述步骤208可具体包括如下步骤c)、d)、e):
步骤c):在所述字段存储区中选择若干待合并的更新存储区。
步骤d):分别计算所述待合并的更新存储区包含的有效字段数据的数量之和。
这里所指的有效字段数据的数量具体可以是有效字段的个数,也可以是有效字段数据所占用的内存值。
步骤e):如果所述数量之和小于第一预设阈值,则合并所述待合并的更新存储区。
具体的,可为每个更新存储区设置其包含的字段数据和/或索引信息的数量上限阈值,例如,设置每一个更新存储区最多包含100条字段对应的字段数据。假设选择了两个待合并的更新存储区,并且这两个待合并的更新存储区包含的有效字段分别为55和60,则由于这两个待合并的更新存储区包含的有效字段的数量之和超过了100,因此这两个待合并的更新存储区不能合并。
可选的,上述步骤2081可具体包括如下子步骤:
分别计算每一个更新存储区包含的有效字段数据数量。
从所述字段存储区中选择所述有效字段数据数量最少的若干更新存储区作为所述待合并的更新存储区。
在选择待合并的更新存储区时,可有针对性的选择有效字段数据的数量最少的若干更新存储区,这样选择出来的待合并的更新存储区更有可能符合上述步骤2083的合并条件。
可选的,上述步骤2081也可具体包括如下子步骤:
所述从所述字段存储区中选择若干待合并的更新存储区。
分别计算所述更新存储区包含的有效字段数据数量与所述更新存储区包含的总字段数据数量的比值。
在所述字段存储区中选择所述比值最低的若干更新存储区作为所述待合并的更新存储区。
在选择待合并的更新存储区时,可有针对性的选择有效字段数据的数量最少的若干更新存储区,或选择有效字段数据的比例最少的若干更新存储区,这样选择出来的待合并的更新存储区更有可能符合上述步骤2083的合并条件,更节约时间和空间开销。
上述技术方案提供数据存储方法的实施例,在网页摘要更新时,确定所述网页摘要中的更新字段,以及所述更新字段对应的字段存储区;在所述字段存储区新增加更新存储区,在所述更新存储区存储所述更新字段在本次更新后的字段数据和所述字段数据的索引信息。
该技术方案在对网页摘要存储时,只需对其中的更新字段和对应的索引信息进行增量更新,而无需对所有字段的数据进行增量更新,因此大大降低了单次更新时存储的数据量,从而避免了新增的数据量过大,以及由此导致的全量更新的发生,节约了时间及存储空间的开销,提高了存储效率。
与本发明一种数据存储方法提供的实施例相对应,本发明还提供了一种数据存储装置的实施例,如图5所示为本发明提供的一种数据存储装置的一个实施例的结构示意图,所述装置包括:
确定单元501,用于在网页摘要更新时,确定所述网页摘要中的更新字段,以及所述更新字段对应的字段存储区;
第一存储单元502,用于在所述字段存储区新增加更新存储区,在所述更新存储区存储所述更新字段在本次更新后的字段数据和所述字段数据的索引信息。
可选的,所述更新存储区包括数据存储区和对应的索引存储区;
所述第一存储单元502包括:数据存储子单元5021和索引存储子单元5022;
所述数据存储子单元5021,具体用于在所述数据存储区存储所述本次更新后的字段数据;
所述索引存储子单元5022,具体用于在所述索引存储区存储所述字段数据的索引信息。
可选的,所述索引存储单元5022用于在所述索引存储区存储所述字段数据对应的网页标识,以及所述字段数据在所述数据存储区中的存储位置信息。
如图6所示,为本发明提供的一种数据存储装置的另一个实施例的结构示意图,所述装置还包括:
第二存储单元503,用于新增加网页索引表,并在所述网页索引表中存储本次更新对应的网页标识,以及所述网页标识在所述索引存储区中的存储位置信息。
可选的,所述第二存储单元503包括:
设置子单元5031,用于在所述网页索引表中设置2N个索引子表,为每一个索引字表设置对应的N位二进制表值,N为预设大于等于1的整数;
网页存储子单元5032,用于获取所述网页的标识对应的二进制数值,根据所述二进制数值的前N位将所述网页标识存储到对应表值的索引子表中。
如图7所示,为本发明一种数据存储装置提供的另一个实施例的结构示意图,所述装置还包括:
设置单元504,用于预设若干字段存储区,分别为每一个字段存储区指定对应的一个一个或多个字段。
可选的,所述设置单元504具体用于:
统计网页摘要包含的各字段的更新频率,根据所述更新频率分别为每一个字段存储区指定对应的一个或多个字段。
可选的,如图7所示,所述装置还包括:
判断设置单元505,用于判断是否有待删除的网页,如果有,在新增加的更新存储区中设置所述待删除的网页的有效时间;
第一标记单元506,用于当达到所述有效时间后,将所述待删除的网页在各次更新时存储的字段数据和对应的索引信息标记为无效。
可选的,如图7所示,所述装置还包括:
第二标记单元507,用于将历史更新存储区中与所述更新字段对应的历史字段数据和对应的历史索引信息标记为无效。
如图8所示,为本发明一种数据存储装置提供的另一个实施例的结构示意图,所述装置还包括:
合并单元508,用于合并所述字段存储区包含的若干更新存储区;
删除单元509,用于在合并后的新更新存储区中将所述第一标记单元和第二标记单元标记为无效的字段数据和索引信息删除。
如图9所示,为本发明提供的一种数据存储装置的合并单元508的一个实施例的结构示意图,所述合并单元508包括:
第一选择子单元5081,用于在所述字段存储区中选择若干待合并的更新存储区;
第一计算子单元5082,用于分别计算所述待合并的更新存储区包含的有效字段数据的数量之和;
第一合并子单元5083,用于如果所述数量之和小于第一预设阈值,则合并所述待合并的更新存储区。
可选的,所述第一选择子单元5081包括:
第二计算子单元50811,用于分别计算每一个更新存储区包含的有效字段数据数量;
第二选择子单元50812,用于从所述字段存储区中选择所述有效字段数据数量最少的若干更新存储区作为所述待合并的更新存储区。
可选的,所述第一选择子单元5081也可以包括:
第三计算子单元(图中未示出),用于分别计算所述更新存储区包含的有效字段数据数量与所述更新存储区包含的总字段数据数量的比值;
第三选择子单元(图中未示出),用于在所述字段存储区中选择所述比值最低的若干更新存储区作为所述待合并的更新存储区。
本发明提供的数据存储装置的实施例,技术方案本质与上述数据存储方法的实施例相同,因此未做具体解释描述,相关之处可参见上述数据存储方法的实施例的对应部分。
上述技术方案提供的数据存储装置的实施例,在网页摘要更新时,确定所述网页摘要中的更新字段,以及所述更新字段对应的字段存储区;在所述字段存储区新增加更新存储区,在所述更新存储区存储所述更新字段在本次更新后的字段数据和所述字段数据的索引信息。
该实施例在对网页摘要存储时,只需对其中的更新字段和对应的索引信息进行增量更新,而无需对所有字段的数据进行增量更新,因此大大降低了单次更新时存储的数据量,从而避免了新增的数据量过大,以及由此导致的全量更新的发生,节约了时间及存储空间的开销,提高了存储效率。
本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加必需的通用硬件的方式来实现,通用硬件包括通用集成电路、通用CPU、通用存储器、通用元器件等,当然也可以通过专用硬件包括专用集成电路、专用CPU、专用存储器、专用元器件等来实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置和***实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述的本发明实施方式,并不构成对本发明保护范围的限定。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (24)
1.一种数据存储方法,所述数据包括网页摘要和所述网页摘要的索引信息,其特征在于,所述方法包括:
在网页摘要更新时,确定所述网页摘要中的更新字段,以及所述更新字段对应的字段存储区;
在所述字段存储区新增加更新存储区,在所述更新存储区存储所述更新字段在本次更新后的字段数据和所述字段数据的索引信息;
所述方法还包括:
将历史更新存储区中与所述更新字段对应的历史字段数据和对应的历史索引信息标记为无效。
2.根据权利要求1所述的方法,其特征在于,所述更新存储区包括数据存储区和对应的索引存储区,在所述数据存储区存储所述本次更新后的字段数据,在所述索引存储区存储所述字段数据的索引信息。
3.根据权利要求2所述的方法,其特征在于,所述在所述索引存储区存储所述字段数据的索引信息包括:
在所述索引存储区存储所述字段数据对应的网页标识,以及所述字段数据在所述数据存储区中的存储位置信息。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
新增加网页索引表,在所述网页索引表中存储本次更新对应的网页标识,以及所述网页标识在所述索引存储区中的存储位置信息。
5.根据权利要求4所述的方法,其特征在于,所述在所述网页索引表中存储本次更新对应的网页标识包括:
在所述网页索引表中设置2N个索引子表,为每一个索引字表设置对应的N位二进制表值,N为预设大于等于1的整数;
获取所述网页的标识对应的二进制数值,根据所述二进制数值的前N位将所述网页标识存储到对应表值的索引子表中。
6.根据权利要求1至5任意一项所述的方法,其特征在于,所述方法还包括:
预设若干字段存储区,分别为每一个字段存储区指定对应的一个或多个字段。
7.根据权利要求6所述的方法,其特征在于,所述分别为每一个字段区指定对应的一个或多个字段包括:
统计网页摘要包含的各字段的更新频率,根据所述更新频率分别为每一个字段存储区指定对应的一个或多个字段。
8.根据权利要求6所述的方法,其特征在于,所述方法还包括:
判断是否有待删除的网页,如果有,在新增加的更新存储区中设置所述待删除的网页的有效时间;
当达到所述有效时间后,将所述待删除的网页在各次更新时存储的字段数据和对应的索引信息标记为无效。
9.根据权利要求8所述的方法,其特征在于,所述方法还包括:
合并所述字段存储区包含的若干更新存储区,在合并后的新更新存储区中删除标记为无效的字段数据和索引信息。
10.根据权利要求9所述的方法,其特征在于,所述合并所述字段存储区包含的若干更新存储区包括:
在所述字段存储区中选择若干待合并的更新存储区;
分别计算所述待合并的更新存储区包含的有效字段数据的数量之和;
如果所述数量之和小于第一预设阈值,则合并所述待合并的更新存储区。
11.根据权利要求10所述的方法,其特征在于,所述从所述字段存储区中选择若干待合并的更新存储区包括:
分别计算每一个更新存储区包含的有效字段数据数量;
从所述字段存储区中选择所述有效字段数据数量最少的若干更新存储区作为所述待合并的更新存储区。
12.根据权利要求10所述的方法,其特征在于,所述从所述字段存储区中选择若干待合并的更新存储区包括:
分别计算所述更新存储区包含的有效字段数据数量与所述更新存储区包含的总字段数据数量的比值;
在所述字段存储区中选择所述比值最低的若干更新存储区作为所述待合并的更新存储区。
13.一种数据存储装置,所述数据包括网页摘要和所述网页摘要的索引信息,其特征在于,所述装置包括:
确定单元,用于在网页摘要更新时,确定所述网页摘要中的更新字段,以及所述更新字段对应的字段存储区;
第一存储单元,用于在所述字段存储区新增加更新存储区,在所述更新存储区存储所述更新字段在本次更新后的字段数据和所述字段数据的索引信息;
所述装置还包括:
第二标记单元,用于将历史更新存储区中与所述更新字段对应的历史字段数据和对应的历史索引信息标记为无效。
14.根据权利要求13所述的装置,其特征在于,所述更新存储区包括数据存储区和对应的索引存储区;
所述第一存储单元包括:数据存储子单元和索引存储子单元;
所述数据存储子单元,具体用于在所述数据存储区存储所述本次更新后的字段数据;
所述索引存储子单元,用于在所述索引存储区存储所述字段数据的索引信息。
15.根据权利要求14所述的装置,其特征在于,所述索引存储子单元用于在所述索引存储区存储所述字段数据对应的网页标识,以及所述字段数据在所述数据存储区中的存储位置信息。
16.根据权利要求15所述的装置,其特征在于,所述装置还包括:
第二存储单元,用于新增加网页索引表,并在所述网页索引表中存储本次更新对应的网页标识,以及所述网页标识在所述索引存储区中的存储位置信息。
17.根据权利要求16所述的装置,其特征在于,所述第二存储单元包括:
设置子单元,用于在所述网页索引表中设置2N个索引子表,为每一个索引字表设置对应的N位二进制表值,N为预设大于等于1的整数;
网页存储子单元,用于获取所述网页的标识对应的二进制数值,根据所述二进制数值的前N位将所述网页标识存储到对应表值的索引子表中。
18.根据权利要求13至17任意一项所述的装置,其特征在于,所述装置还包括:
设置单元,用于预设若干字段存储区,分别为每一个字段存储区指定对应的一个或多个字段。
19.根据权利要求18所述的装置,其特征在于,所述设置单元具体用于:
统计网页摘要包含的各字段的更新频率,根据所述更新频率分别为每一个字段存储区指定对应的一个或多个字段。
20.根据权利要求18所述的装置,其特征在于,所述装置还包括:
判断设置单元,用于判断是否有待删除的网页,如果有,在新增加的更新存储区中设置所述待删除的网页的有效时间;
第一标记单元,用于当达到所述有效时间后,将所述待删除的网页在各次更新时存储的字段数据和对应的索引信息标记为无效。
21.根据权利要求20所述的装置,其特征在于,所述装置还包括:
合并单元,用于合并所述字段存储区包含的若干更新存储区;
删除单元,用于在合并后的新更新存储区中将所述第一标记单元和第二标记单元标记为无效的字段数据和索引信息删除。
22.根据权利要求21所述的装置,其特征在于,所述合并单元包括:
第一选择子单元,用于在所述字段存储区中选择若干待合并的更新存储区;
第一计算子单元,用于分别计算所述待合并的更新存储区包含的有效字段数据的数量之和;
第一合并子单元,用于如果所述数量之和小于第一预设阈值,则合并所述待合并的更新存储区。
23.根据权利要求22所述的装置,其特征在于,所述第一选择子单元包括:
第二计算子单元,用于分别计算每一个更新存储区包含的有效字段数据数量;
第二选择子单元,用于从所述字段存储区中选择所述有效字段数据数量最少的若干更新存储区作为所述待合并的更新存储区。
24.根据权利要求23所述的装置,其特征在于,所述第一选择子单元包括:
第三计算子单元,用于分别计算所述更新存储区包含的有效字段数据数量与所述更新存储区包含的总字段数据数量的比值;
第三选择子单元,用于在所述字段存储区中选择所述比值最低的若干更新存储区作为所述待合并的更新存储区。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510155130.7A CN104794177B (zh) | 2015-04-02 | 2015-04-02 | 一种数据存储方法及装置 |
PCT/CN2016/078369 WO2016155669A1 (zh) | 2015-04-02 | 2016-04-01 | 一种数据存储方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510155130.7A CN104794177B (zh) | 2015-04-02 | 2015-04-02 | 一种数据存储方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104794177A CN104794177A (zh) | 2015-07-22 |
CN104794177B true CN104794177B (zh) | 2016-10-12 |
Family
ID=53558969
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510155130.7A Active CN104794177B (zh) | 2015-04-02 | 2015-04-02 | 一种数据存储方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN104794177B (zh) |
WO (1) | WO2016155669A1 (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104794177B (zh) * | 2015-04-02 | 2016-10-12 | 广州神马移动信息科技有限公司 | 一种数据存储方法及装置 |
CN105138562A (zh) * | 2015-07-23 | 2015-12-09 | 小米科技有限责任公司 | 关系型数据库的数据处理方法及装置 |
CN105068843A (zh) * | 2015-08-24 | 2015-11-18 | 北京网田科技发展有限公司 | 一种汽车推介程序的数据更新方法及*** |
CN105205688A (zh) * | 2015-08-25 | 2015-12-30 | 北京网田科技发展有限公司 | 一种汽车信息推介*** |
CN105223405B (zh) * | 2015-10-23 | 2017-12-05 | 上海理工大学 | 电池管理***的数据存储频率的确定方法 |
CN107315693B (zh) * | 2016-04-26 | 2020-06-09 | 阿里巴巴集团控股有限公司 | 一种数据存储方法和装置 |
CN108089879B (zh) * | 2016-11-21 | 2021-11-26 | 阿里巴巴(中国)有限公司 | 增量更新方法、设备及可编程设备 |
CN109408599B (zh) * | 2018-09-20 | 2021-09-28 | 佛山科学技术学院 | 一种大数据的分布式存储方法 |
CN109739857B (zh) * | 2018-12-28 | 2020-09-01 | 深圳市网心科技有限公司 | 高并发下的数据分布式写入方法、装置、终端及存储介质 |
CN110309162A (zh) * | 2019-06-14 | 2019-10-08 | 福建天泉教育科技有限公司 | 一种es更新数据的优化方法及服务端 |
CN111752941B (zh) * | 2019-07-31 | 2024-05-17 | 北京京东尚科信息技术有限公司 | 一种数据存储、访问方法、装置、服务器及存储介质 |
CN111241135B (zh) * | 2019-12-31 | 2024-04-09 | 广州酷旅旅行社有限公司 | 一种商品搜索方法、装置、计算机设备和存储介质 |
CN114748875B (zh) * | 2022-05-20 | 2023-03-24 | 一点灵犀信息技术(广州)有限公司 | 数据存盘方法、装置、设备、存储介质及程序产品 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102831252A (zh) * | 2012-09-21 | 2012-12-19 | 北京奇虎科技有限公司 | 一种用于更新索引数据库的方法及装置、搜索方法和*** |
CN104468807A (zh) * | 2014-12-12 | 2015-03-25 | 北京小渔无限信息技术有限公司 | 进行网页缓存的处理方法、云端装置、本地装置及*** |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1831808A (zh) * | 2005-03-11 | 2006-09-13 | 佛山市顺德区顺达电脑厂有限公司 | 定时更新网页指定字段的***及其方法 |
US20070067305A1 (en) * | 2005-09-21 | 2007-03-22 | Stephen Ives | Display of search results on mobile device browser with background process |
JP5233233B2 (ja) * | 2007-10-05 | 2013-07-10 | 日本電気株式会社 | 情報検索システム、情報検索用インデックスの登録装置、情報検索方法及びプログラム |
CN104794177B (zh) * | 2015-04-02 | 2016-10-12 | 广州神马移动信息科技有限公司 | 一种数据存储方法及装置 |
-
2015
- 2015-04-02 CN CN201510155130.7A patent/CN104794177B/zh active Active
-
2016
- 2016-04-01 WO PCT/CN2016/078369 patent/WO2016155669A1/zh active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102831252A (zh) * | 2012-09-21 | 2012-12-19 | 北京奇虎科技有限公司 | 一种用于更新索引数据库的方法及装置、搜索方法和*** |
CN104468807A (zh) * | 2014-12-12 | 2015-03-25 | 北京小渔无限信息技术有限公司 | 进行网页缓存的处理方法、云端装置、本地装置及*** |
Also Published As
Publication number | Publication date |
---|---|
WO2016155669A1 (zh) | 2016-10-06 |
CN104794177A (zh) | 2015-07-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104794177B (zh) | 一种数据存储方法及装置 | |
US10552287B2 (en) | Performance metrics for diagnosing causes of poor performing virtual machines | |
US9280607B2 (en) | Method and a device for frequency counting | |
JP5244911B2 (ja) | 動的に更新される仮想リストビュー | |
CN107423422B (zh) | 基于网格的空间数据分布式存储及检索方法和*** | |
Ozcan et al. | A five-level static cache architecture for web search engines | |
CN104516920B (zh) | 数据查询方法和数据查询*** | |
CN103051543B (zh) | 一种路由前缀的处理、查找、增加及删除方法 | |
CN105677904B (zh) | 基于分布式文件***的小文件存储方法及装置 | |
CN104731974A (zh) | 基于大数据流式计算的动态页面加载方法 | |
CN103885887B (zh) | 用户数据存储方法、读取方法及*** | |
JP2014225260A (ja) | 分散型データ記憶を管理するデータベース制御部、方法及びプログラム | |
CN107958079A (zh) | 聚合文件删除方法、***、装置及可读存储介质 | |
CN103914483B (zh) | 文件存储方法、装置及文件读取方法、装置 | |
CN103246612A (zh) | 一种数据缓存的方法及装置 | |
CN109344348A (zh) | 一种资源更新方法及装置 | |
CN108769211A (zh) | 客户端设备、网页的路由方法和计算机可读存储介质 | |
Magdy et al. | GeoTrend: spatial trending queries on real-time microblogs | |
Kucukyilmaz et al. | A machine learning approach for result caching in web search engines | |
CN107203532A (zh) | 索引***的构建方法、搜索的实现方法及装置 | |
CN112148217B (zh) | 全闪存储***的重删元数据的缓存方法、装置及介质 | |
CN105302807A (zh) | 一种获取信息类别的方法和装置 | |
CN108874930A (zh) | 文件属性信息统计方法、装置、***、设备及存储介质 | |
Magdy et al. | Venus: Scalable real-time spatial queries on microblogs with adaptive load shedding | |
JP2022137281A (ja) | データ照会方法、装置、電子デバイス、記憶媒体、及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20200420 Address after: 310052 room 508, floor 5, building 4, No. 699, Wangshang Road, Changhe street, Binjiang District, Hangzhou City, Zhejiang Province Patentee after: Alibaba (China) Co.,Ltd. Address before: 510627 Guangdong city of Guangzhou province Whampoa Tianhe District Road No. 163 Xiping Yun Lu Yun Ping square B radio tower 12 layer self unit 01 Patentee before: GUANGZHOU SHENMA MOBILE INFORMATION TECHNOLOGY Co.,Ltd. |
|
TR01 | Transfer of patent right |