CN107193754B - 进行数据存储用于搜索的方法及设备 - Google Patents
进行数据存储用于搜索的方法及设备 Download PDFInfo
- Publication number
- CN107193754B CN107193754B CN201710296977.6A CN201710296977A CN107193754B CN 107193754 B CN107193754 B CN 107193754B CN 201710296977 A CN201710296977 A CN 201710296977A CN 107193754 B CN107193754 B CN 107193754B
- Authority
- CN
- China
- Prior art keywords
- index information
- disk
- storage block
- memory
- information
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0646—Configuration or reconfiguration
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明的实施方式提供了一种进行数据存储用于搜索的方法。该进行数据存储用于搜索的方法包括:将新增的索引信息存储在内存中,其中,所述索引信息与内存中存储的历史磁盘索引信息搜索结果一起用于形成搜索关键词的最终搜索结果信息;在检测到所述内存满足预设索引信息迁移条件的情况下,将所述内存中存储的至少部分索引信息迁移到磁盘中;在获取到根据被迁移到磁盘中的索引信息产生的磁盘索引信息搜索结果时,将所述磁盘索引信息搜索结果作为历史磁盘索引信息搜索结果存储在所述内存中。此外,本发明实施方式还提供了一种进行数据存储用于搜索的装置、计算设备以及介质。
Description
技术领域
本发明的实施方式涉及网络通信领域,更具体地,本发明的实施方式涉及进行数据存储用于搜索的方法、介质、装置以及计算设备。
背景技术
本部分旨在为权利要求书中陈述的本发明的实施方式提供背景或者上下文。此处的描述不因为包括在本部分中就承认是现有技术。
在目前的互联网时代,搜索已经成为一项被广泛使用的技术。对于搜索系统而言,快速的获得搜索关键词对应的搜索结果是非常重要的,即搜索响应时间是搜索系统中的一项非常重要的指标参数。
目前,为了降低搜索系统的搜索响应时间,通常会采用对磁盘索引信息搜索结果进行缓存的技术方案,即在接收到搜索关键词时,应先在缓存的历史磁盘索引信息搜索结果中进行查找,如果在缓存的历史磁盘索引信息搜索结果中查找到搜索关键词对应的历史磁盘索引信息搜索结果,则可以直接输出查找到历史磁盘索引信息搜索结果,以便于上层可以根据该历史磁盘索引信息搜索结果从磁盘中读取相应的索引信息,并提供给信息需求方;如果未能在缓存的历史磁盘索引信息搜索结果中查找到搜索关键词对应的历史磁盘索引信息搜索结果,则可以从磁盘中存储的索引信息中查找与搜索关键词对应的索引信息,并根据查找到的索引信息形成磁盘索引信息搜索结果,并将其作为历史磁盘索引信息搜索结果缓存。
发明内容
但是,虽然现有的缓存历史磁盘索引信息搜索结果的技术方案可以在一定程度上降低获得磁盘索引信息搜索结果的搜索响应时间,有利于提高搜索系统的响应速度,然而,现有的缓存历史磁盘索引信息搜索结果的技术方案无疑会影响新增加的索引文档被搜索命中的概率,例如,对于突发的热点新闻事件或者实时跟踪报道等内容而言,虽然能够在磁盘中及时的增加该内容的索引信息,但是,由于该索引信息往往并不能及时的体现在缓存的历史磁盘索引信息搜索结果中,因此,该技术方案存在不能根据用户的搜索关键词将最新内容及时展现给用户的技术问题;为了避免该技术问题,并且为了避免缓存的历史磁盘索引信息搜索结果过多而影响搜索系统的响应时间,现有技术往往会针对缓存的历史磁盘索引信息搜索结果设置失效时间,使每一个历史磁盘索引信息搜索结果会在其失效时间到来时从缓存中删除;然而,缓存的历史磁盘索引信息搜索结果的失效时间的合理设置很难掌控,如果失效时间设置过长,则会影响搜索系统的实时性(也可以称为搜索结果的内容新鲜程度等),而如果失效时间设置过短,则会影响搜索系统的响应时间(即不利于降低搜索时延),使缓存的效果不明显。
因此在现有技术中,如何在保证搜索系统的响应时间(即保证搜索系统的低延时特性)的同时,保证搜索系统的实时性(即保证新增加的索引文档的搜索命中概率),这是非常令人烦恼的技术问题。
为此,非常需要一种改进的进行数据存储用于搜索的技术方案,在能够保证搜索系统具有较好的响应时间的同时,保证搜索系统的实时性,从而提高搜索系统的性能。
在本上下文中,本发明的实施方式期望提供一种进行数据存储用于搜索的方法、介质、装置以及计算设备。
在本发明实施方式的第一方面中,提供了一种进行数据存储用于搜索的方法,包括:将新增的索引信息存储在内存中,其中,所述索引信息与内存中存储的历史磁盘索引信息搜索结果一起用于形成搜索关键词的最终搜索结果信息;在检测到所述内存满足预设索引信息迁移条件的情况下,将所述内存中存储的至少部分索引信息迁移到磁盘中;在获取到根据被迁移到磁盘中的索引信息产生的磁盘索引信息搜索结果时,将所述磁盘索引信息搜索结果作为历史磁盘索引信息搜索结果存储在所述内存中。
在本发明的一个实施例中,所述将新增的索引信息存储在内存中的步骤包括:针对新增的索引文档产生索引信息,并将所述产生的索引信息作为新增的索引信息存储在内存中。
在本发明的又一个实施例中,所述磁盘设置有:至少一个用于存储索引信息的存储块,且所述存储的历史磁盘索引信息搜索结果包括:存储块的第一标识信息和索引信息的第二标识信息;其中,所述第一标识信息用于标识磁盘中唯一一个存储块,所述第二标识信息用于标识磁盘一个存储块中唯一一个索引信息。
在本发明的再一个实施例中,所述将所述内存中存储的至少部分索引信息迁移到磁盘中的步骤包括:在磁盘中创建新的存储块,为所述新的存储块设置第一标识信息,将所述内存中存储的至少部分索引信息复制到所述新的存储块中,并删除所述内存中存储的至少部分索引信息,其中,所述新的存储块中的各索引信息的第二标识信息分别为其在内存中的第二标识信息;设置用于表征磁盘中新增了存储块的新增存储块信息。
在本发明的再一个实施例中,所述获取到根据被迁移到磁盘中的索引信息产生的磁盘索引信息搜索结果的步骤包括:在接收到当前搜索关键词,且在内存中存储有所述当前搜索关键词对应的历史磁盘索引信息搜索结果的情况下,根据所述新增存储块信息在所述新的存储块中的索引信息中进行搜索;在新的存储块中搜索到所述当前搜索关键词对应的索引信息时,根据所述当前搜索关键词对应的索引信息和历史磁盘索引信息搜索结果形成所述磁盘索引信息搜索结果。
在本发明的再一个实施例中,所述方法还包括:在合并磁盘中的存储块的情况下,调整待合并的存储块的第一标识和待合并的存储块中的索引信息的第二标识信息,并设置用于表征磁盘中合并了存储块的合并存储块信息;根据合并后的第一标识信息以及调整后的第二标识信息调整所述内存中存储的相应历史磁盘索引信息搜索结果中的第一标识信息以及第二标识信息。
在本发明的再一个实施例中,所述第二标识信息包括:一个存储块中的所有索引信息依次排序后的顺序编号;且所述调整待合并的存储块的第一标识和待合并的存储块中的索引信息的第二标识信息的步骤包括:针对待合并的第一存储块和第二存储块而言,在不改变第一存储块中的各索引信息的排列顺序以及第二存储块中的各索引信息的排列顺序的情况下,按照第一存储块中的各索引信息在前,第二存储块中的各索引信息在后的顺序,为两存储块中的各索引信息分别设置新的顺序编号;维护新旧存储块的第一标识的映射关系以及新旧索引信息的第二标识的映射关系。
在本发明的再一个实施例中,所述根据合并后的第一标识信息以及调整后的第二标识信息调整所述内存中存储的相应历史磁盘索引信息搜索结果中的第一标识信息以及第二标识信息的步骤包括:在接收到当前搜索关键词的情况下,在根据所述合并存储块信息确定出所述搜索关键词对应的历史磁盘索引信息搜索结果对应的存储块发生合并时,根据所述映射关系调整所述内存中存储的所述当前搜索关键词对应的历史磁盘索引信息搜索结果中的第一标识信息和第二标识信息。
在本发明的再一个实施例中,所述方法还包括:针对磁盘中需要删除的索引信息,为所述需要删除的索引信息设置删除标记。
在本发明的再一个实施例中,所述方法还包括:在合并磁盘中的存储块的情况下,删除设置有删除标记的索引信息。
在本发明实施方式的第二方面中,提供了一种介质,其上存储有计算机程序,该程序被处理器执行时实现下述步骤:将新增的索引信息存储在内存中,其中,所述索引信息与内存中存储的历史磁盘索引信息搜索结果一起用于形成搜索关键词的最终搜索结果信息;在检测到所述内存满足预设索引信息迁移条件的情况下,将所述内存中存储的至少部分索引信息迁移到磁盘中;在获取到根据被迁移到磁盘中的索引信息产生的磁盘索引信息搜索结果时,将所述磁盘索引信息搜索结果作为历史磁盘索引信息搜索结果存储在所述内存中。
在本发明实施方式的第三方面中,提供一种装置,包括:索引信息维护模块,用于将新增的索引信息存储在内存中,其中,所述索引信息与内存中存储的历史磁盘索引信息搜索结果一起用于形成搜索关键词的最终搜索结果信息;索引信息迁移模块,用于在检测到所述内存满足预设索引信息迁移条件的情况下,将所述内存中存储的至少部分索引信息迁移到磁盘中;历史磁盘索引信息搜索结果维护模块,用于在获取到根据被迁移到磁盘中的索引信息产生的磁盘索引信息搜索结果时,将所述磁盘索引信息搜索结果作为历史磁盘索引信息搜索结果存储在所述内存中。
在本发明实施方式的第四方面中,提供一种计算设备,主要包括:存储器,用于存储计算机程序;处理器,用于执行所述存储器中存储的计算机程序,且所述计算机程序被执行时,下述指令被运行:用于将新增的索引信息存储在内存中的指令,其中,所述索引信息与内存中存储的历史磁盘索引信息搜索结果一起用于形成搜索关键词的最终搜索结果信息;用于在检测到所述内存满足预设索引信息迁移条件的情况下,将所述内存中存储的至少部分索引信息迁移到磁盘中的指令;用于在获取到根据被迁移到磁盘中的索引信息产生的磁盘索引信息搜索结果时,将所述磁盘索引信息搜索结果作为历史磁盘索引信息搜索结果存储在所述内存中的指令。
在本发明的一个实施例中,所述用于将新增的索引信息存储在内存中的指令包括:用于针对新增的索引文档产生索引信息,并将所述产生的索引信息作为新增的索引信息存储在内存中的指令。
在本发明的又一个实施例中,所述磁盘设置有:至少一个用于存储索引信息的存储块,且所述存储的历史磁盘索引信息搜索结果包括:存储块的第一标识信息和索引信息的第二标识信息;其中,所述第一标识信息用于标识磁盘中唯一一个存储块,所述第二标识信息用于标识磁盘一个存储块中唯一一个索引信息。
在本发明的再一个实施例中,所述用于在检测到所述内存满足预设索引信息迁移条件的情况下,将所述内存中存储的至少部分索引信息迁移到磁盘中的指令包括:用于在磁盘中创建新的存储块,为所述新的存储块设置第一标识信息,将所述内存中存储的至少部分索引信息复制到所述新的存储块中,并删除所述内存中存储的至少部分索引信息的指令,其中,所述新的存储块中的各索引信息的第二标识信息分别为其在内存中的第二标识信息;用于设置用于表征磁盘中新增了存储块的新增存储块信息的指令。
在本发明的再一个实施例中,所述用于在获取到根据被迁移到磁盘中的索引信息产生的磁盘索引信息搜索结果时,将所述磁盘索引信息搜索结果作为历史磁盘索引信息搜索结果存储在所述内存中的指令包括:用于在接收到当前搜索关键词,且在内存中存储有所述当前搜索关键词对应的历史磁盘索引信息搜索结果的情况下,根据所述新增存储块信息在所述新的存储块中的索引信息中进行搜索的指令;用于在新的存储块中搜索到所述当前搜索关键词对应的索引信息时,根据所述当前搜索关键词对应的索引信息和历史磁盘索引信息搜索结果形成所述磁盘索引信息搜索结果的指令。
在本发明的再一个实施例中,所述设备还包括:用于在合并磁盘中的存储块的情况下,调整待合并的存储块的第一标识和待合并的存储块中的索引信息的第二标识信息,并设置用于表征磁盘中合并了存储块的合并存储块信息的指令;用于根据合并后的第一标识信息以及调整后的第二标识信息调整所述内存中存储的相应历史磁盘索引信息搜索结果中的第一标识信息以及第二标识信息的指令。
在本发明的再一个实施例中,所述第二标识信息包括:一个存储块中的所有索引信息依次排序后的顺序编号;且所述用于在合并磁盘中的存储块的情况下,调整待合并的存储块的第一标识和待合并的存储块中的索引信息的第二标识信息,并设置用于表征磁盘中合并了存储块的合并存储块信息的指令包括:用于针对待合并的第一存储块和第二存储块而言,在不改变第一存储块中的各索引信息的排列顺序以及第二存储块中的各索引信息的排列顺序的情况下,按照第一存储块中的各索引信息在前,第二存储块中的各索引信息在后的顺序,为两存储块中的各索引信息分别设置新的顺序编号的指令;用于维护新旧存储块的第一标识的映射关系以及新旧索引信息的第二标识的映射关系的指令。
在本发明的再一个实施例中,所述用于根据合并后的第一标识信息以及调整后的第二标识信息调整所述内存中存储的相应历史磁盘索引信息搜索结果中的第一标识信息以及第二标识信息的指令包括:用于在接收到当前搜索关键词的情况下,在根据所述合并存储块信息确定出所述搜索关键词对应的历史磁盘索引信息搜索结果对应的存储块发生合并时,根据所述映射关系调整所述内存中存储的所述当前搜索关键词对应的历史磁盘索引信息搜索结果中的第一标识信息和第二标识信息的指令。
在本发明的再一个实施例中,所述设备还包括:用于针对磁盘中需要删除的索引信息,为所述需要删除的索引信息设置删除标记的指令。
在本发明的再一个实施例中,所述设备还包括:用于在合并磁盘中的存储块的情况下,删除设置有删除标记的索引信息的指令。
根据本发明实施方式的进行数据存储用于搜索的方法、介质、装置以及计算设备,通过在内存中存储新增的索引信息,且内存中存储的索引信息会被迁移到磁盘中,使新增的索引信息(如新鲜的新闻资讯等内容的索引信息)可以持续不断的被优先存储于内存中;通过在内存中存储由磁盘中的索引信息而形成的历史磁盘索引信息搜索结果,使磁盘中存储的索引信息可以对应较低的搜索时延;这样,在需要针对接收到的搜索关键词形成最终搜索结果信息时,本发明实施方式可以基于内存中存储的新增的索引信息以及当前缓存的历史磁盘索引信息搜索结果一起产生该搜索关键词的最终搜索结果信息;由于在内存中存储的索引信息中进行搜索的时延非常小,且在缓存的历史磁盘索引信息搜索结果中进行查找的时延同样非常小,因此,本发明实施方式可以在低时延的情况下,使搜索关键词对应的最终搜索结果信息包含有最新内容的索引信息。由此可知,本发明实施方式提供的技术方案在保证了搜索系统具有较好的响应时间的同时,保证了搜索系统的实时性(即保证了搜索结果的内容的及时全面性),从而提高了搜索系统的性能。
附图说明
通过参考附图阅读下文的详细描述,本发明示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本发明的若干实施方式,其中:
图1示意性地示出了根据本发明实施方式的可以在其中实现的应用场景示意图;
图2示意性地示出了根据本发明一实施例的进行数据存储用于搜索的方法流程图;
图3示意性地示出了根据本发明一实施例的装置的结构示意图;
图4示意性地示出了根据本发明一实施例的计算设备的结构示意图;
图5示意性地示出了根据本发明一实施例的介质的示意图。
在附图中,相同或对应的标号表示相同或对应的部分。
具体实施方式
下面将参考若干示例性实施方式来描述本发明的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本发明,而并非以任何方式限制本发明的范围。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
本领域技术人员知道,本发明的实施方式可以实现为一种设备、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:完全的硬件或者完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。
根据本发明的实施方式,提出了一种进行数据存储用于搜索的方法、介质、装置以及计算设备。
在本文中,需要理解的是,本发明实施方式所涉及的术语搜索系统的实时性(有时也可以称为搜索结果的实时性)用于表示能够使用户获得最新内容(即最新索引文档)的程度;所涉及的术语搜索响应时间用于表示搜索系统针对搜索关键词获得搜索结果的时间;所涉及的术语内存(Memory)也可以被称为内存储器或者缓存等,相对于磁盘(例如,硬盘)而言,内存具有存取速率快以及存储空间小等特点,上述磁盘可以包括单个硬盘或者多个硬盘,且多个硬盘可以形成磁盘阵列;所涉及的术语索引信息通常是针对索引文档而建立的用于快速实现搜索的信息;所涉及的术语磁盘索引信息搜索结果是指根据搜索关键词在磁盘中存储的索引信息中进行搜索,并根据搜索结果而形成的信息。此外,附图中的任何元素数量均用于示例而非限制,以及任何命名都仅用于区分,而不具有任何限制含义。下面参考本发明的若干代表性实施方式,详细阐释本发明的原理和精神。
发明概述
本发明人发现,虽然现有的缓存历史磁盘索引信息搜索结果的技术方案可以在一定程度上降低获得磁盘索引信息搜索结果的搜索响应时间,有利于提高搜索系统的响应速度,然而,现有的缓存历史磁盘索引信息搜索结果的技术方案无疑会影响新增加的索引文档被搜索命中的概率,例如,对于突发的热点新闻事件或者实时跟踪报道等内容而言,虽然能够在磁盘中及时的增加该内容的索引信息,但是,由于该索引信息往往并不能及时的体现在缓存的历史磁盘索引信息搜索结果中,因此,该技术方案存在不能根据用户的搜索关键词将最新内容及时展现给用户的技术问题;为了避免该技术问题,并且为了避免缓存的历史磁盘索引信息搜索结果过多而影响搜索系统的响应时间,现有技术往往会针对缓存的历史磁盘索引信息搜索结果设置失效时间,使每一个历史磁盘索引信息搜索结果会在其失效时间到来时从缓存中删除;然而,缓存的历史磁盘索引信息搜索结果的失效时间的合理设置很难掌控,如果失效时间设置过长,则会影响搜索系统的实时性(也可以称为搜索结果的内容新鲜程度等),而如果失效时间设置过短,则会影响搜索系统的响应时间(即不利于降低搜索时延),使缓存的效果不明显。
因此,针对在现有技术中的如何在保证搜索系统的响应时间(即保证搜索系统的低延时特性)的同时,保证搜索系统的实时性(即保证新增加的索引文档的搜索命中概率)的技术问题,本发明针对该技术问题提供了一种进行数据存储用于搜索的方法、介质、装置以及计算设备,通过在内存中存储新增的索引信息,且内存中存储的索引信息会被迁移到磁盘中,使新增的索引信息(如新鲜的新闻资讯等内容的索引信息)可以持续不断的被优先存储于内存中;通过在内存中存储由磁盘中的索引信息而形成的历史磁盘索引信息搜索结果,使磁盘中存储的索引信息可以对应较低的搜索时延;这样,在需要针对接收到的搜索关键词形成最终搜索结果信息时,本发明实施方式可以基于内存中存储的新增的索引信息以及当前缓存的历史磁盘索引信息搜索结果一起产生该搜索关键词的最终搜索结果信息;由于在内存中存储的索引信息中进行搜索的时延非常小,且在缓存的历史磁盘索引信息搜索结果中进行查找的时延同样非常小,因此,本发明实施方式可以在具有较低时延的情况下,使搜索关键词对应的最终搜索结果信息包含有最新内容的索引信息。由此可知,本发明实施方式提供的技术方案在保证了搜索系统具有较好的响应时间的同时,保证了搜索系统的实时性(即保证了搜索结果的内容的及时全面性),从而提高了搜索系统的性能。
在介绍了本发明的基本原理之后,下面具体介绍本发明的各种非限制性实施方式。
应用场景总览
首先参考图1,示意性地示出了根据本发明实施方式的可以在其中实现的应用场景。
图1中,终端设备1、终端设备2、……、终端设备n均为具有网络接入能力的智能电子设备,例如,各终端设备可以具体为台式计算机、笔记型计算机、智能移动电话或者平板电脑等智能电子设备。终端设备1、终端设备2、……终端设备n中分别安装有多款应用程序,例如,表现为智能移动电话的终端设备1中安装有网易公开课APP、网易新闻APP等多款APP,而表现为台式计算机的终端设备2中则安装有浏览器等。
在用户使用其终端设备中安装的应用程序的过程中,往往需要使用相应的搜索功能,以方便快捷的获得其所需的内容;一个具体的例子,终端设备1中安装有网易新闻APP,用户打开其终端设备1中的网易新闻APP,并希望查阅与某位名人相关的新闻,在该应用场景中,用户可以在网易新闻APP提供的搜索输入框中输入该位名人的名字,并点击设置于搜索输入框附近的搜索按钮,网易新闻APP会将搜索输入框中输入的名字作为搜索关键字传输至网易新闻服务器,网易新闻服务器中设置的搜索系统针对当前接收到的搜索关键词执行搜索操作,并根据搜索操作形成相应的搜索结果,搜索结果由网易新闻服务器返回给用户的终端设备1,从而终端设备1中的网易新闻APP将终端设备1接收到的搜索结果呈现给用户。
然而,本领域技术人员完全可以理解,本发明实施方式的适用场景不受到该框架任何方面的限制。
示例性方法
下面结合图1所示的应用场景,参考图2来描述根据本发明示例性实施方式的进行数据存储用于搜索的方法。需要注意的是,上述应用场景仅是为了便于理解本发明的精神和原理而示出,本发明的实施方式在此方面不受任何限制。相反,本发明的实施方式可以应用于适用的任何场景。
参见图2,示意性地示出了根据本发明一实施例的进行数据存储用于搜索的方法的流程图,该方法通常在网络侧的服务器中执行,如在网络侧的搜索系统所在的服务器处执行。本发明实施方式的方法可以包括下述步骤:
S200、将新增的索引信息存储在内存中。
作为示例,本发明实施方式的内存中存储有索引信息以及历史磁盘索引信息搜索结果(即在当前时间之前基于磁盘中存储的索引信息所形成的搜索结果),且本发明实施方式的磁盘(例如,单个硬盘或者多个硬盘形成的磁盘阵列等)中也存储有索引信息,利用内存中存储的历史磁盘索引信息搜索结果可以定位到磁盘中存储的一个或者多个索引信息。
作为示例,磁盘中存储的索引信息与内存中存储的索引信息的差别通常包括:索引信息所对应的索引文档的新鲜程度不同,一个具体的例子,在针对新增的索引文档(例如,最新的索引文档)产生了索引信息(例如,最新的索引信息)的情况下,该新增的索引文档的索引信息通常会被存储在内存中,且内存中存储的索引信息通常会在之后的时间被迁移到磁盘中;也就是说,本发明实施方式可以实现将新增的索引信息(如新鲜的新闻资讯等内容的索引信息)优先存储于内存中。
作为示例,本发明实施方式的内存中存储的索引信息以及历史磁盘索引信息搜索结果主要用于针对接收到的搜索关键词形成最终搜索结果信息;具体而言,在接收到搜索关键词时,可以同时在内存中的索引信息和历史磁盘索引信息搜索结果中进行查找,在从内存中的索引信息中查找并获得了搜索关键词对应的索引信息,且从内存中的历史磁盘索引信息搜索结果中查找并获得了搜索关键词对应的历史磁盘索引信息搜索结果的情况下,本发明实施方式应根据查找并获得的索引信息以及历史磁盘索引信息搜索结果形成该搜索关键词的最终搜索结果信息;在从内存中的索引信息中查找并获得了搜索关键词对应的索引信息,然而,并未从内存中的历史磁盘索引信息搜索结果中查找到搜索关键词对应的历史磁盘索引信息搜索结果的情况下,本发明实施方式应根据查找并获得的索引信息形成该搜索关键词的最终搜索结果信息;在并未从内存中的索引信息中查找到搜索关键词对应的索引信息,然而,从内存中的历史磁盘索引信息搜索结果中查找并获得搜索关键词对应的历史磁盘索引信息搜索结果的情况下,本发明实施方式应将查找并获得的历史磁盘索引信息搜索结果作为该搜索关键词的最终搜索结果信息。由于无论是针对内存中的索引信息进行查找,还是针对内存中的历史磁盘索引信息搜索结果进行查找,内存的响应时延非常小,因此,本发明实施方式可以使搜索系统具有较佳的响应速度;由于可以将新鲜的新闻资讯等新鲜内容的索引信息优先存储在内存中,因此,本发明实施方式可以使搜索系统具有较佳的实时性。
作为示例,本发明实施方式中的磁盘可以以存储块为单位来存储索引信息,且不同存储块的存储空间可以相同,也可以不相同。本发明实施方式可以在接收到需要存储于磁盘中的多个索引信息时,根据当前需要存储的所有索引信息所需的存储空间在磁盘中设置一个新的存储块,并将当前接收到的各索引信息存储于该新的存储块中。
作为示例,本发明实施方式中的磁盘通常包括多个存储块,且每一个存储块各自对应有一个标识信息(即第一标识信息),一个第一标识信息可以唯一标识出磁盘中的一个存储块;一个存储块中的每一个索引信息各自对应有一个标识信息(即第二标识信息),对于一个存储块而言(即在一个存储块内部),一个第二标识信息可以唯一标识出一个索引信息。本发明实施方式允许不同存储块中的索引信息具有相同的第二标识信息,然而,利用第一标识信息和第二标识信息应唯一定位到磁盘中存储的一个索引信息。在一个具体的例子中,本发明实施方式中的第一标识信息可以为存储块在磁盘中顺序排列的顺序编号,且本发明实施方式中的第二标识信息可以为索引信息在存储块中顺序排列的顺序编号。另外,内存中存储的各索引信息也各自具有第二标识信息,通常情况下,利用第二标识信息可以唯一标识出内存中存储的一个索引信息;在内存中用于存储索引信息的存储空间没有被划分为多个区域的情况下,利用第二标识信息可以唯一标识出内存中存储的一个索引信息;而在内存中用于存储索引信息的存储空间被划分为多个区域且不同区域中的索引信息的第二标识信息存在重复的情况下,可以利用区域标识和第二标识信息唯一标识出内存中存储的一个索引信息。
作为示例,在存储块具有第一标识信息,且索引信息具有第二标识信息的情况下,内存中存储的历史磁盘索引信息搜索结果通常包括:至少一组标识信息,且一组标识信息包括:一个第一标识信息和一个第二标识信息。
S210、在检测到内存满足预设索引信息迁移条件的情况下,将内存中存储的至少部分索引信息迁移到磁盘中。
作为示例,本发明实施方式中的预设索引信息迁移条件可以包括:针对时间设置的条件和/或针对存储空间设置的条件等;例如,针对时间设置的条件可以具体为:每间隔一定的时间,便将内存中存储的所有索引信息迁移到磁盘中;再例如,针对存储空间设置的条件可以具体为:在内存中的索引信息所占用的存储空间达到预定存储空间大小时,便将内存中存储的所有索引信息迁移到磁盘中。在预设索引信息迁移条件既包括针对时间设置的条件又包括针对存储空间设置的条件的情况下,本发明实施方式可以规定无论是检测到针对时间设置的条件被满足,还是检测到针对存储空间设置的条件被满足,均可以认为检测到内存满足预设索引信息迁移条件。
本发明实施方式的将内存中存储的至少部分索引信息迁移到磁盘中的一个具体例子为:根据当前内存中存储的至少部分索引信息所占用的存储空间的大小在磁盘中创建新的存储块,例如,创建的新的存储块的大小可以等于内存中存储的至少部分索引信息所占用的存储空间的大小,当然,创建的新的存储块的大小也可以略大于内存中存储的至少部分索引信息所占用的存储空间的大小;为该新的存储块设置第一标识信息,并将当前内存中存储的至少部分索引信息复制到该新的存储块中,删除当前内存中存储的至少部分索引信息。另外,新的存储块中的各索引信息的第二标识信息可以为其在内存中的第二标识信息,当然,也可以为新的存储块中的各索引信息重新设置第二标识信息。
作为示例,本发明实施方式在将内存中存储的部分或者全部索引信息迁移到磁盘中时,可以针对新的存储块设置新增存储块信息,该新增存储块信息可以表征出磁盘中的存储块结构发生了变化,且磁盘中增加了新的存储块。
在一个具体例子中,本发明实施方式设置有当前磁盘的存储块结构版本信息(下述简称为磁盘结构版本号)以及当前磁盘的存储块结构信息;本发明实施方式可以在内存和磁盘中分别设置磁盘结构版本号,且上述当前磁盘的存储块结构信息可以设置于磁盘中或者设置于内存中;当前磁盘的存储块结构信息可以为对应当前磁盘结构版本号的磁盘中的各存储块的第一标识信息列表,本发明实施方式的设置新增存储块信息的操作可以为:更新磁盘中存储的磁盘结构版本号(例如,版本号加1),在第一标识信息列表中增加新增存储块的第一标识信息,并在该第一标识信息处设置新增标志位,当然,也可以在该第一标识信息处设置更新后的磁盘结构版本号,以表示新增存储块的增加时机。
作为示例,内存中存储的磁盘结构版本号通常可以表现为内存中的每一个历史磁盘索引信息搜索结果均对应有一个磁盘结构版本号,以表示一个历史磁盘索引信息搜索结果是由该磁盘结构版本号所对应的存储块中的索引信息形成的。另外,一个历史磁盘索引信息搜索结果所对应的磁盘结构版本号通常是在:针对一个搜索关键词在内存存储的所有历史磁盘索引信息搜索结果中进行查找,该历史磁盘索引信息搜索结果被命中,且该历史磁盘索引信息搜索结果对应的磁盘结构版本号与磁盘中存储的磁盘结构版本号不一致时,被更新。具体的更新方式可以参见下述步骤S220中的相关描述。
S220、在获取到根据被迁移到磁盘中的索引信息产生的磁盘索引信息搜索结果时,将磁盘索引信息搜索结果作为历史磁盘索引信息搜索结果存储在内存中。
作为示例,本发明实施方式在将内存中的索引信息迁移到磁盘中后,在接收到搜索关键词的情况下,应在内存存储的索引信息中查找该搜索关键词对应的索引信息(即与该搜索关键词匹配的索引信息),并在内存存储的历史磁盘索引信息搜索结果中查找该搜索关键词对应的历史磁盘索引信息搜索结果(即与该搜索关键词匹配的历史磁盘索引信息搜索结果),如果查找到匹配的历史磁盘索引信息搜索结果,则判断匹配的历史磁盘索引信息搜索结果所对应的磁盘结构版本号与磁盘中存储的磁盘结构版本号是否一致;如果两个磁盘结构版本号一致,则利用查找到的匹配的历史磁盘索引信息搜索结果以及内存中存储的与该搜索关键词匹配的索引信息形成该搜索关键词的最终搜索结果信息;如果两个磁盘结构版本号不一致(例如,磁盘中存储的磁盘结构版本号高于历史磁盘索引信息搜索结果对应的磁盘结构版本号),则根据第一标识信息列表确定出两个磁盘结构版本号之间的所有新增存储块,并在确定出的所有新增存储块所存储的索引信息中查找与该搜索关键词匹配的索引信息,如果在新增存储块中查找到匹配的索引信息,则利用查找到的匹配的历史磁盘索引信息搜索结果、内存中存储的与该搜索关键词匹配的索引信息以及新增存储块中存储的与该搜索关键词匹配的索引信息形成该搜索关键词的最终搜索结果信息,并根据新增存储块中存储的与该搜索关键词匹配的索引信息对匹配的历史磁盘索引信息搜索结果进行维护,例如,将匹配的索引信息添加在匹配的历史磁盘索引信息搜索结果中,形成该搜索关键词对应的磁盘索引信息搜索结果,并利用该磁盘索引信息搜索结果替换内存中存储的匹配的历史磁盘索引信息搜索结果,同时,将替换后的历史磁盘索引信息搜索结果对应的磁盘结构版本号设置为磁盘中当前存储的磁盘结构版本号。
作为示例,本发明实施方式的磁盘中的存储块会存在合并现象,如在磁盘中的存储块的数量达到一定数量时,可以将两个或者三个或者更多数量的存储块合并为一个存储块。在合并磁盘中的存储块时,应设置合并存储块信息,并调整待合并的存储块的第一标识和待合并的存储块中的索引信息的第二标识信息,且在需要调整内存中存储的相应的历史磁盘索引信息搜索结果中的第一标识信息以及第二标识信息时,可以根据合并后的第一标识信息以及调整后的第二标识信息调整内存中存储的相应历史磁盘索引信息搜索结果中的第一标识信息以及第二标识信息。上述合并存储块信息可以表征出磁盘中的存储块结构发生了变化,且磁盘中的哪些存储块合并为一个存储块。
本发明实施方式的设置合并存储块信息的在一个具体例子为,设定本发明实施方式设置有当前磁盘的存储块结构版本信息(下述简称为磁盘结构版本号)以及当前磁盘的存储块结构信息;且本发明实施方式可以在内存和磁盘中分别设置磁盘结构版本号,上述当前磁盘的存储块结构信息可以设置于磁盘中或者设置于内存中;当前磁盘的存储块结构信息可以为对应当前磁盘结构版本号的磁盘中的各存储块的第一标识信息列表;在上述情况下,本发明实施方式的执行设置合并存储块信息的操作可以为:更新磁盘中存储的磁盘结构版本号(例如,版本号加1),在第一标识信息列表中的待合并存储块的第一标识信息处设置合并标志位或者更新后的磁盘结构版本号,以表示该存储块的合并时机。另外,本发明实施方式可以在第一标识信息列表中的待合并各存储块的第一标识信息处分别设置合并后的存储块的第一标识信息,即维护新旧(合并后和合并前)存储块的第一标识的映射关系。
本发明实施方式的调整待合并的存储块的第一标识和待合并的存储块中的索引信息的第二标识信息的一个具体例子为:设定第一存储块和第二存储块需要合并,且第二标识信息为一个存储块中的所有索引信息依次排序后的顺序编号,例如,第一存储块以及第二存储块中分别存储有100个索引信息,且第一存储块以及第二存储块中的100个索引信息的第二标识信息均为1-100;本发明实施方式可以在不改变第一存储块中的各索引信息的排列顺序以及第二存储块中的各索引信息的排列顺序的情况下,按照第一存储块中的各索引信息在前,第二存储块中的各索引信息在后的顺序,为两个存储块中的各索引信息分别设置新的顺序编号;例如,保留第一存储块中的100个索引信息的第二标识信息不变(即仍然为1-100),而将第二存储块中的100个索引信息的第二标识信息设置为101-200;再例如,将第一存储块中的100个索引信息的第二标识信息设置为101-200,而将第二存储块中的100个索引信息的第二标识信息设置为201-200。本发明实施方式还应维护新旧(合并后和合并前)索引信息的第二标识的映射关系;另外,如果在设置合并存储块信息过程中,并未维护新旧存储块的第一标识的映射关系,则在此还需要维护新旧存储块的第一标识的映射关系;例如,存储第一存储块的第一标识信息和第一存储块中的索引信息的第二标识信息与合并后的存储块的第一标识信息和合并后的存储块中的索引信息的第二标识信息的对应关系。
作为示例,本发明实施方式可以在合并存储块之后,立即调整内存中存储的相应的历史磁盘索引信息搜索结果中的第一标识信息以及第二标识信息;然而,为了避免不必要的调整操作,本发明实施方式可以在接收到当前搜索关键词,且根据合并存储块信息确定出该搜索关键词对应的内存中存储的历史磁盘索引信息搜索结果中的存储块发生合并时,根据上述映射关系调整内存中存储的该当前搜索关键词对应的历史磁盘索引信息搜索结果中的第一标识信息和第二标识信息。
一个具体的例子,本发明实施方式在将磁盘中的存储块进行合并后,在接收到搜索关键词的情况下,应在内存存储的索引信息中查找该搜索关键词对应的索引信息(即与该搜索关键词匹配的索引信息),并在内存存储的历史磁盘索引信息搜索结果中查找该搜索关键词对应的历史磁盘索引信息搜索结果(即与该搜索关键词匹配的历史磁盘索引信息搜索结果),如果查找到匹配的历史磁盘索引信息搜索结果,则判断匹配的历史磁盘索引信息搜索结果所对应的磁盘结构版本号与磁盘中存储的磁盘结构版本号是否一致;如果两个磁盘结构版本号一致,则利用查找到的匹配的历史磁盘索引信息搜索结果以及内存中存储的与该搜索关键词匹配的索引信息形成该搜索关键词的最终搜索结果信息;如果两个磁盘结构版本号不一致(例如,磁盘中存储的磁盘结构版本号高于历史磁盘索引信息搜索结果对应的磁盘结构版本号),则根据上述映射关系对匹配的历史磁盘索引信息搜索结果中的相应的第一标识信息和第二标识信息进行修改(例如,将历史磁盘索引信息搜索结果中的相应的第一标识信息由3修改为2,将相应的第二标识信息由50修改为150等),并将修改后的历史磁盘索引信息搜索结果对应的磁盘结构版本号设置为磁盘中当前存储的磁盘结构版本号;本发明实施方式可以利用修改后的历史磁盘索引信息搜索结果来替换内存中存储的修改前的历史磁盘索引信息搜索结果,并利用内存中存储的与该搜索关键词匹配的索引信息以及修改后的历史磁盘索引信息搜索结果形成该搜索关键词的最终搜索结果信息。
作为示例,对于磁盘的存储块中需要删除的索引信息(即待删除索引信息),本发明实施方式并不需要立即删除该待删除索引信息,而是在存储块合并过程中将待删除索引信息删除,以减小索引信息波动所引起的不稳定因素;具体的,本发明实施方式可以先针对待删除索引信息设置删除标记,之后,在合并磁盘中的第一存储块和第二存储块的过程中,将第一存储块和第二存储块中的设置有删除标记的索引信息删除。另外,本发明实施方式可以设置索引信息删除信息,从而可以根据该索引信息删除信息对内存中存储的历史磁盘索引信息搜索结果进行修改。续前述的存储块合并的例子,在根据映射关系对匹配的历史磁盘索引信息搜索结果中的相应的第一标识信息和第二标识信息进行修改的过程中,如果根据索引信息删除信息确定出匹配的历史磁盘索引信息搜索结果中对应有被删除的索引信息,则还应删除该匹配的历史磁盘索引信息搜索结果中的相应内容,以避免利用该历史磁盘索引信息搜索结果获取存储块中被删除的索引信息的现象。
示例性设备
在介绍了本发明示例性实施方式的方法之后,接下来,参考图3对本发明示例性实施方式的进行数据存储用于搜索的装置进行说明。
参见图3,示意性地示出了根据本发明一实施例的进行数据存储用于搜索的装置的结构示意图,该装置可以设置于网络侧的服务器中,如该装置可以设置于网络侧的搜索系统所在的服务器中。本发明实施方式的装置主要包括:索引信息维护模块300、索引信息迁移模块310以及历史磁盘索引信息搜索结果维护模块320;可选的,该装置还可以包括:存储块合并模块以及索引信息删除模块(图3中未示出)。
索引信息维护模块300主要用于将新增的索引信息存储在内存中。索引信息维护模块300可以针对新增的索引文档产生索引信息,并将其产生的索引信息存储在内存中。本发明实施方式的内存中存储有索引信息以及历史磁盘索引信息搜索结果,利用内存中存储的索引信息以及历史磁盘索引信息搜索结果可以快速的形成搜索关键词的最终搜索结果信息。另外,本发明实施方式的磁盘中也存储有索引信息,利用内存中存储的历史磁盘索引信息搜索结果可以定位到磁盘中存储的一个或者多个索引信息。利用内存中存储的索引信息以及历史磁盘索引信息搜索结果形成搜索关键词的最终搜索结果信息的具体过程、存储块的标识信息以及索引信息的标识信息等内容可以参见上述方法实施例中针对步骤S200的描述,在此不再重复说明。
索引信息迁移模块310主要用于在检测到内存满足预设索引信息迁移条件的情况下,将内存中存储的至少部分索引信息迁移到磁盘中。具体的,索引信息迁移模块310可以在磁盘中创建新的存储块,为新的存储块设置第一标识信息,将内存中存储的至少部分索引信息复制到所述新的存储块中,并删除所述内存中存储的至少部分索引信息,设置用于表征磁盘中新增了存储块的新增存储块信息。更具体的例子可以参见上述方法实施例中针对步骤S210的描述,在此不再重复说明。
历史磁盘索引信息搜索结果维护模块320主要用于在获取到根据被迁移到磁盘中的索引信息产生的磁盘索引信息搜索结果时,将磁盘索引信息搜索结果作为历史磁盘索引信息搜索结果存储在内存中。具体的,在接收到当前搜索关键词,且在内存中存储有当前搜索关键词对应的历史磁盘索引信息搜索结果的情况下,历史磁盘索引信息搜索结果维护模块320可以根据新增存储块信息在新的存储块中的索引信息中进行搜索,在新的存储块中搜索到当前搜索关键词对应的索引信息时,历史磁盘索引信息搜索结果维护模块320可以根据当前搜索关键词对应的索引信息和历史磁盘索引信息搜索结果形成磁盘索引信息搜索结果。更具体的例子可以参见上述方法实施例中针对步骤S220的描述,在此不再重复说明。
存储块合并模块主要用于在合并磁盘中的存储块的情况下,调整待合并的存储块的第一标识和待合并的存储块中的索引信息的第二标识信息,并设置用于表征磁盘中合并了存储块的合并存储块信息,根据合并后的第一标识信息以及调整后的第二标识信息调整内存中存储的相应历史磁盘索引信息搜索结果中的第一标识信息以及第二标识信息。具体的,针对待合并的第一存储块和第二存储块而言,在不改变第一存储块中的各索引信息的排列顺序以及第二存储块中的各索引信息的排列顺序的情况下,存储块合并模块可以按照第一存储块中的各索引信息在前,第二存储块中的各索引信息在后的顺序,为两存储块中的各索引信息分别设置新的顺序编号;另外,存储块合并模块还应维护新旧存储块的第一标识的映射关系以及新旧索引信息的第二标识的映射关系。在接收到当前搜索关键词的情况下,存储块合并模块在根据合并存储块信息确定出所述搜索关键词对应的历史磁盘索引信息搜索结果对应的存储块发生合并时,存储块合并模块根据映射关系调整内存中存储的当前搜索关键词对应的历史磁盘索引信息搜索结果中的第一标识信息和第二标识信息。更具体的例子可以参见上述方法实施例中的相关描述,在此不再重复说明。
索引信息删除模块主要用于针对磁盘中需要删除的索引信息,为需要删除的索引信息设置删除标记。存储块合并模块可以在合并磁盘中的存储块的过程中,删除设置有删除标记的索引信息。具体内容可以参见上述方法实施例中的相关描述,在此不再重复说明。
图4示出了适于用来实现本发明实施方式的示例性计算机系统/服务器40的框图。图4显示的计算机系统/服务器40仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图4所示,计算机系统/服务器40以通用计算设备的形式表现。计算机系统/服务器40的组件可以包括但不限于:一个或者多个处理器或者处理单元401,系统存储器402,连接不同系统组件(包括系统存储器402和处理单元401)的总线403。
系统存储器402可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)4021和/或高速缓存存储器4022。系统存储器402可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,系统存储器402包括不可移动的、非易失性磁介质ROM4023。尽管未在图4中示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线403相连。
具有一组(至少一个)程序模块4024的程序/实用工具4025,可以存储在例如系统存储器402中,且这样的程序模块4024包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块4024通常执行本发明所描述的实施例中的功能和/或方法。
计算机系统/服务器40也可以与一个或多个外部设备404(如键盘、指向设备、显示器等)通信。这种通信可以通过输入/输出(I/O)接口405进行。并且,计算机系统/服务器40还可以通过网络适配器406与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图4所示,网络适配器406通过总线403与计算机系统/服务器40的其它模块(如处理单元401等)通信。应当明白,尽管图4中未示出,可以结合计算机系统/服务器40使用其它硬件和/或软件模块。
处理单元401通过运行存储在系统存储器402中的计算机程序,从而执行各种功能应用以及数据处理,例如,执行并实现各指令;例如,用于将新增的索引信息存储在内存(例如,系统存储器402中的高速缓存存储器4022)中的指令(下述简称为第一指令);用于在检测到内存满足预设索引信息迁移条件的情况下,将内存中存储的至少部分索引信息迁移到磁盘中的指令(下述简称为第二指令);用于在获取到根据被迁移到磁盘中的索引信息产生的磁盘索引信息搜索结果时,将磁盘索引信息搜索结果作为历史磁盘索引信息搜索结果存储在内存中的指令(下述简称为第三指令)。
上述第一指令可以具体为:用于针对新增的索引文档产生索引信息,并将其产生的索引信息存储在内存中的指令。本发明实施方式的内存中存储有索引信息以及历史磁盘索引信息搜索结果,利用内存中存储的索引信息以及历史磁盘索引信息搜索结果可以快速的形成搜索关键词的最终搜索结果信息。另外,本发明实施方式的磁盘中也存储有索引信息,利用内存中存储的历史磁盘索引信息搜索结果可以定位到磁盘中存储的一个或者多个索引信息。利用内存中存储的索引信息以及历史磁盘索引信息搜索结果形成搜索关键词的最终搜索结果信息的具体过程、存储块的标识信息以及索引信息的标识信息等内容可以参见上述方法实施例中针对步骤S200的描述,在此不再重复说明。
上述第二指令可以具体包括:用于在磁盘中创建新的存储块,为新的存储块设置第一标识信息,将内存中存储的至少部分索引信息复制到新的存储块中,并删除内存中存储的至少部分索引信息的指令(下述简称为第四指令);以及用于设置用于表征磁盘中新增了存储块的新增存储块信息的指令(下述简称为第五指令)。第四指令和第五指令所执行的更具体的操作可以参见上述方法实施例中针对步骤S210的描述,在此不再重复说明。
上述第三指令可以具体包括:用于在接收到当前搜索关键词,且在内存中存储有当前搜索关键词对应的历史磁盘索引信息搜索结果的情况下,根据新增存储块信息在新的存储块中的索引信息中进行搜索的指令(下述简称为第六指令);以及用于在新的存储块中搜索到当前搜索关键词对应的索引信息时,根据当前搜索关键词对应的索引信息和历史磁盘索引信息搜索结果形成磁盘索引信息搜索结果的指令(下述简称为第七指令)。第六指令和第七指令具体执行的操作可以参见上述方法实施例中针对步骤S220的描述,在此不再重复说明。
可选的,上述处理单元401通过运行存储在系统存储器402中的计算机程序,可以执行第八指令和第九指令;上述第八指令为:用于在合并磁盘中的存储块的情况下,调整待合并的存储块的第一标识和待合并的存储块中的索引信息的第二标识信息,并设置用于表征磁盘中合并了存储块的合并存储块信息的指令;上述第九指令为:用于根据合并后的第一标识信息以及调整后的第二标识信息调整内存中存储的相应历史磁盘索引信息搜索结果中的第一标识信息以及第二标识信息的指令。
上述第八指令可以具体包括:第十指令和第十一指令;其中的第十指令为:用于针对待合并的第一存储块和第二存储块而言,在不改变第一存储块中的各索引信息的排列顺序以及第二存储块中的各索引信息的排列顺序的情况下,按照第一存储块中的各索引信息在前,第二存储块中的各索引信息在后的顺序,为两存储块中的各索引信息分别设置新的顺序编号的指令;其中的第十一指令为:用于维护新旧存储块的第一标识的映射关系以及新旧索引信息的第二标识的映射关系的指令。第十指令和第十一指令所执行的更具体的操作可以参见上述方法实施例中的相关描述,在此不再重复说明。
上述第九指令可以具体包括:第十二指令,且第十二指令为:用于在接收到当前搜索关键词的情况下,在根据合并存储块信息确定出所述搜索关键词对应的历史磁盘索引信息搜索结果对应的存储块发生合并时,根据映射关系调整内存中存储的当前搜索关键词对应的历史磁盘索引信息搜索结果中的第一标识信息和第二标识信息的指令。第十二指令所执行的更具体的操作可以参见上述方法实施例中的相关描述,在此不再重复说明。
可选的,上述处理单元401通过运行存储在系统存储器402中的计算机程序,执行第十三指令和第十四指令;第十三指令为:用于针对磁盘中需要删除的索引信息,为需要删除的索引信息设置删除标记的指令;第十四指令为:用于在合并磁盘中的存储块的情况下,删除设置有删除标记的索引信息的指令。第十三指令和第十四指令所执行的更具体的操作可以参见上述方法实施例中的相关描述,在此不再重复说明。
本发明实施方式的介质(例如,计算机可读存储介质)一个具体例子如图5所示。
图5的计算机可读存储介质为光盘500,其上存储有计算机程序(即程序产品),该程序被处理器执行时,会实现上述方法实施方式中所记载的各步骤,例如,将新增的索引信息存储在内存中,其中,索引信息与内存中存储的历史磁盘索引信息搜索结果一起用于形成搜索关键词的最终搜索结果信息;在检测到内存满足预设索引信息迁移条件的情况下,将内存中存储的至少部分索引信息迁移到磁盘中;在获取到根据被迁移到磁盘中的索引信息产生的磁盘索引信息搜索结果时,将磁盘索引信息搜索结果作为历史磁盘索引信息搜索结果存储在内存中;各步骤的具体实现方式在此不再重复说明。
应当注意,尽管在上文详细描述中提及了进行数据存储用于搜索的装置以及设备的若干模块或子模块,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多模块的特征和功能可以在一个模块中具体化。反之,上文描述的一个模块的特征和功能可以进一步划分为由多个模块来具体化。
此外,尽管在附图中以特定顺序描述了本发明方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
虽然已经参考若干具体实施方式描述了本发明的精神和原理,但是应该理解,本发明并不限于所公开的具体实施方式,对各方面的划分也不意味着这些方面中的特征不能组合以进行受益,这种划分仅是为了表述的方便。本发明旨在涵盖所附权利要求的精神和范围内所包括的各种修改和等同布置。
Claims (22)
1.一种进行数据存储用于搜索的方法,包括:
将新增的索引信息存储在内存中,其中,所述索引信息与内存中存储的历史磁盘索引信息搜索结果一起用于形成搜索关键词的最终搜索结果信息;
在检测到所述内存满足预设索引信息迁移条件的情况下,将所述内存中存储的至少部分索引信息迁移到磁盘中;
在获取到根据被迁移到磁盘中的索引信息产生的磁盘索引信息搜索结果时,将所述磁盘索引信息搜索结果作为历史磁盘索引信息搜索结果存储在所述内存中。
2.如权利要求1所述的方法,所述将新增的索引信息存储在内存中的步骤包括:
针对新增的索引文档产生索引信息,并将所述产生的索引信息作为新增的索引信息存储在内存中。
3.如权利要求1所述的方法,所述磁盘设置有:至少一个用于存储索引信息的存储块,且所述存储的历史磁盘索引信息搜索结果包括:存储块的第一标识信息和索引信息的第二标识信息;
其中,所述第一标识信息用于标识磁盘中唯一一个存储块,所述第二标识信息用于标识磁盘一个存储块中唯一一个索引信息。
4.如权利要求3所述的方法,所述将所述内存中存储的至少部分索引信息迁移到磁盘中的步骤包括:
在磁盘中创建新的存储块,为所述新的存储块设置第一标识信息,将所述内存中存储的所述至少部分索引信息复制到所述新的存储块中,并删除所述内存中存储的所述至少部分索引信息,其中,所述新的存储块中的各索引信息的第二标识信息分别为其在内存中的第二标识信息;
设置用于表征磁盘中新增了存储块的新增存储块信息。
5.如权利要求4所述的方法,所述获取到根据被迁移到磁盘中的索引信息产生的磁盘索引信息搜索结果的步骤包括:
在接收到当前搜索关键词,且在内存中存储有所述当前搜索关键词对应的历史磁盘索引信息搜索结果的情况下,根据所述新增存储块信息在所述新的存储块中的索引信息中进行搜索;
在新的存储块中搜索到所述当前搜索关键词对应的索引信息时,根据所述当前搜索关键词对应的索引信息和历史磁盘索引信息搜索结果形成所述磁盘索引信息搜索结果。
6.如权利要求3所述的方法,所述方法还包括:
在合并磁盘中的存储块的情况下,调整待合并的存储块的第一标识和待合并的存储块中的索引信息的第二标识信息,并设置用于表征磁盘中合并了存储块的合并存储块信息;
根据合并后的第一标识信息以及调整后的第二标识信息调整所述内存中存储的相应历史磁盘索引信息搜索结果中的第一标识信息以及第二标识信息。
7.如权利要求6所述的方法,所述第二标识信息包括:一个存储块中的所有索引信息依次排序后的顺序编号;
且所述调整待合并的存储块的第一标识和待合并的存储块中的索引信息的第二标识信息的步骤包括:
针对待合并的第一存储块和第二存储块而言,在不改变第一存储块中的各索引信息的排列顺序以及第二存储块中的各索引信息的排列顺序的情况下,按照第一存储块中的各索引信息在前,第二存储块中的各索引信息在后的顺序,为两存储块中的各索引信息分别设置新的顺序编号;
维护新旧存储块的第一标识的映射关系以及新旧索引信息的第二标识的映射关系。
8.如权利要求7所述的方法,所述根据合并后的第一标识信息以及调整后的第二标识信息调整所述内存中存储的相应历史磁盘索引信息搜索结果中的第一标识信息以及第二标识信息的步骤包括:
在接收到当前搜索关键词的情况下,在根据所述合并存储块信息确定出所述搜索关键词对应的历史磁盘索引信息搜索结果对应的存储块发生合并时,根据所述映射关系调整所述内存中存储的所述当前搜索关键词对应的历史磁盘索引信息搜索结果中的第一标识信息和第二标识信息。
9.如权利要求1至8中任一权利要求所述的方法,所述方法还包括:
针对磁盘中需要删除的索引信息,为所述需要删除的索引信息设置删除标记。
10.如权利要求9所述的方法,所述方法还包括:
在合并磁盘中的存储块的情况下,删除设置有删除标记的索引信息。
11.一种介质,其上存储有程序,该程序被处理器执行时实现上述权利要求1-10中任一项所述的方法。
12.一种进行数据存储用于搜索的装置,包括:
索引信息维护模块,用于将新增的索引信息存储在内存中,其中,所述索引信息与内存中存储的历史磁盘索引信息搜索结果一起用于形成搜索关键词的最终搜索结果信息;
索引信息迁移模块,用于在检测到所述内存满足预设索引信息迁移条件的情况下,将所述内存中存储的至少部分索引信息迁移到磁盘中;
历史磁盘索引信息搜索结果维护模块,用于在获取到根据被迁移到磁盘中的索引信息产生的磁盘索引信息搜索结果时,将所述磁盘索引信息搜索结果作为历史磁盘索引信息搜索结果存储在所述内存中。
13.一种计算设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述存储器中存储的计算机程序,且所述计算机程序被执行时,下述指令被运行:
用于将新增的索引信息存储在内存中的指令,其中,所述索引信息与内存中存储的历史磁盘索引信息搜索结果一起用于形成搜索关键词的最终搜索结果信息;
用于在检测到所述内存满足预设索引信息迁移条件的情况下,将所述内存中存储的至少部分索引信息迁移到磁盘中的指令;
用于在获取到根据被迁移到磁盘中的索引信息产生的磁盘索引信息搜索结果时,将所述磁盘索引信息搜索结果作为历史磁盘索引信息搜索结果存储在所述内存中的指令。
14.如权利要求13所述的设备,所述用于将新增的索引信息存储在内存中的指令包括:
用于针对新增的索引文档产生索引信息,并将所述产生的索引信息作为新增的索引信息存储在内存中的指令。
15.如权利要求13所述的设备,所述磁盘设置有:至少一个用于存储索引信息的存储块,且所述存储的历史磁盘索引信息搜索结果包括:存储块的第一标识信息和索引信息的第二标识信息;
其中,所述第一标识信息用于标识磁盘中唯一一个存储块,所述第二标识信息用于标识磁盘一个存储块中唯一一个索引信息。
16.如权利要求15所述的设备,所述用于在检测到所述内存满足预设索引信息迁移条件的情况下,将所述内存中存储的至少部分索引信息迁移到磁盘中的指令包括:
用于在磁盘中创建新的存储块,为所述新的存储块设置第一标识信息,将所述内存中存储的至少部分索引信息复制到所述新的存储块中,并删除所述内存中存储的至少部分索引信息的指令,其中,所述新的存储块中的各索引信息的第二标识信息分别为其在内存中的第二标识信息;
用于设置用于表征磁盘中新增了存储块的新增存储块信息的指令。
17.如权利要求16所述的设备,所述用于在获取到根据被迁移到磁盘中的索引信息产生的磁盘索引信息搜索结果时,将所述磁盘索引信息搜索结果作为历史磁盘索引信息搜索结果存储在所述内存中的指令包括:
用于在接收到当前搜索关键词,且在内存中存储有所述当前搜索关键词对应的历史磁盘索引信息搜索结果的情况下,根据所述新增存储块信息在所述新的存储块中的索引信息中进行搜索的指令;
用于在新的存储块中搜索到所述当前搜索关键词对应的索引信息时,根据所述当前搜索关键词对应的索引信息和历史磁盘索引信息搜索结果形成所述磁盘索引信息搜索结果的指令。
18.如权利要求15所述的设备,所述设备还包括:
用于在合并磁盘中的存储块的情况下,调整待合并的存储块的第一标识和待合并的存储块中的索引信息的第二标识信息,并设置用于表征磁盘中合并了存储块的合并存储块信息的指令;
用于根据合并后的第一标识信息以及调整后的第二标识信息调整所述内存中存储的相应历史磁盘索引信息搜索结果中的第一标识信息以及第二标识信息的指令。
19.如权利要求18所述的设备,所述第二标识信息包括:一个存储块中的所有索引信息依次排序后的顺序编号;
且所述用于在合并磁盘中的存储块的情况下,调整待合并的存储块的第一标识和待合并的存储块中的索引信息的第二标识信息,并设置用于表征磁盘中合并了存储块的合并存储块信息的指令包括:
用于针对待合并的第一存储块和第二存储块而言,在不改变第一存储块中的各索引信息的排列顺序以及第二存储块中的各索引信息的排列顺序的情况下,按照第一存储块中的各索引信息在前,第二存储块中的各索引信息在后的顺序,为两存储块中的各索引信息分别设置新的顺序编号的指令;
用于维护新旧存储块的第一标识的映射关系以及新旧索引信息的第二标识的映射关系的指令。
20.如权利要求19所述的设备,所述用于根据合并后的第一标识信息以及调整后的第二标识信息调整所述内存中存储的相应历史磁盘索引信息搜索结果中的第一标识信息以及第二标识信息的指令包括:
用于在接收到当前搜索关键词的情况下,在根据所述合并存储块信息确定出所述搜索关键词对应的历史磁盘索引信息搜索结果对应的存储块发生合并时,根据所述映射关系调整所述内存中存储的所述当前搜索关键词对应的历史磁盘索引信息搜索结果中的第一标识信息和第二标识信息的指令。
21.如权利要求13至20中任一权利要求所述的设备,所述设备还包括:
用于针对磁盘中需要删除的索引信息,为所述需要删除的索引信息设置删除标记的指令。
22.如权利要求21所述的设备,所述设备还包括:
用于在合并磁盘中的存储块的情况下,删除设置有删除标记的索引信息的指令。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710296977.6A CN107193754B (zh) | 2017-04-28 | 2017-04-28 | 进行数据存储用于搜索的方法及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710296977.6A CN107193754B (zh) | 2017-04-28 | 2017-04-28 | 进行数据存储用于搜索的方法及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107193754A CN107193754A (zh) | 2017-09-22 |
CN107193754B true CN107193754B (zh) | 2020-01-03 |
Family
ID=59873865
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710296977.6A Active CN107193754B (zh) | 2017-04-28 | 2017-04-28 | 进行数据存储用于搜索的方法及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107193754B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108052515A (zh) * | 2017-10-19 | 2018-05-18 | 福建中金在线信息科技有限公司 | 存储局部数据的方法和装置 |
CN111274212B (zh) * | 2020-01-20 | 2023-05-05 | 暨南大学 | 一种数据去重系统中的冷热索引识别与分类管理方法 |
CN113835643B (zh) * | 2021-11-23 | 2022-03-08 | 苏州浪潮智能科技有限公司 | 数据存储方法、装置、电子设备及可读存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2618263A2 (en) * | 2012-01-19 | 2013-07-24 | Yokogawa Electric Corporation | Cache device, communication apparatus, and computer program product |
CN104820693A (zh) * | 2015-04-28 | 2015-08-05 | 广东小天才科技有限公司 | 一种数据搜索的方法及装置 |
CN106294768A (zh) * | 2016-08-11 | 2017-01-04 | 深圳市宜搜科技发展有限公司 | 信息搜索方法及信息搜索引擎 |
-
2017
- 2017-04-28 CN CN201710296977.6A patent/CN107193754B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2618263A2 (en) * | 2012-01-19 | 2013-07-24 | Yokogawa Electric Corporation | Cache device, communication apparatus, and computer program product |
CN104820693A (zh) * | 2015-04-28 | 2015-08-05 | 广东小天才科技有限公司 | 一种数据搜索的方法及装置 |
CN106294768A (zh) * | 2016-08-11 | 2017-01-04 | 深圳市宜搜科技发展有限公司 | 信息搜索方法及信息搜索引擎 |
Also Published As
Publication number | Publication date |
---|---|
CN107193754A (zh) | 2017-09-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11947597B2 (en) | Persisted enterprise graph queries | |
US11113260B2 (en) | Transactional access to records on secondary storage in an in-memory database | |
CN110362727B (zh) | 用于搜索系统的第三方搜索应用 | |
RU2629448C2 (ru) | Система и способ управления и организации кэша веб-браузера | |
US7865476B2 (en) | File sharing system in cooperation with a search engine | |
RU2608668C2 (ru) | Система и способ управления и организации кэша веб-браузера для обеспечения автономного просмотра | |
US20150234927A1 (en) | Application search method, apparatus, and terminal | |
AU2014388153B2 (en) | Client intent in integrated search environment | |
US11074310B2 (en) | Content-based management of links to resources | |
US10678784B2 (en) | Dynamic column synopsis for analytical databases | |
US10282358B2 (en) | Methods of furnishing search results to a plurality of client devices via a search engine system | |
CN107193754B (zh) | 进行数据存储用于搜索的方法及设备 | |
US11886410B2 (en) | Database live reindex | |
CN109815240B (zh) | 用于管理索引的方法、装置、设备和存储介质 | |
US20230367829A1 (en) | Indexing Native Application Data | |
JP2022137281A (ja) | データ照会方法、装置、電子デバイス、記憶媒体、及びプログラム | |
CN113157198A (zh) | 管理缓存的方法、设备和计算机程序产品 | |
CN110291515B (zh) | 计算系统中的分布式索引搜索 | |
US11108802B2 (en) | Method of and system for identifying abnormal site visits | |
CN110515979B (zh) | 数据查询方法、装置、设备和存储介质 | |
US20230259568A1 (en) | Webpage history display method and apparatus, and storage medium | |
US11106628B2 (en) | Method, device and computer program product for storing metadata | |
CN111857934A (zh) | 一种页面加载方法、装置、电子设备及存储介质 | |
US20170177632A1 (en) | Method and apparatus for saving web content | |
US20180329954A1 (en) | Generating reports for enterprise pages based upon instrumentation data generated by client computing devices |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |