CN1940922A - 一种提高搜索信息速度的方法及*** - Google Patents
一种提高搜索信息速度的方法及*** Download PDFInfo
- Publication number
- CN1940922A CN1940922A CNA2005101077938A CN200510107793A CN1940922A CN 1940922 A CN1940922 A CN 1940922A CN A2005101077938 A CNA2005101077938 A CN A2005101077938A CN 200510107793 A CN200510107793 A CN 200510107793A CN 1940922 A CN1940922 A CN 1940922A
- Authority
- CN
- China
- Prior art keywords
- storage unit
- information
- search
- array
- search result
- 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
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种提高搜索信息速度的方法,该方法将用于搜索信息的关键词生成哈希值;利用所述哈希值查询哈希表判断是否已缓存有对应的搜索结果;若缓存有,从所述哈希表中获得所述对应、并用于标识数组内存池中的存储单元的数组元素下标值;从数组元素在所述数组内存池中所标识的存储单元内读取搜索结果信息返回给请求方;若未缓存,由搜索引擎利用所述关键词进行搜索并获得搜索结果,在型哈希表中建立所述哈希值与下标值间的映射关系,将所述搜索结果信息存储到该下标值确定的数组元素在所述数组内存池中标识的存储单元内并将搜索结果信息返回给请求方。本发明还同时公开了一种提高搜索信息速度的方法及***。
Description
技术领域
本发明涉及计算机及通信技术领域,尤其涉及一种提高搜索信息速度的方法及***。
背景技术
目前对象缓存架构大都使用Java实现,开源的项目主要有:Jive、OSCache、Java Caching System、EHCache、ShiftOne、SwarmCache、TreeCache/JBossCache、WhirlyCache。
Jive是一个开放的Java源代码项目。Jive缓存信息为:把所要缓存的对象加到哈希映射表HashMap中,用两个双向链表分别维持着缓存对象和每个缓存对象的生命周期。如果一个缓存对象被访问到,那么就把它放到链表的最前面,然后不定时地把要缓存的对象加入链表中,把过期对象删除,如此反复。
由于Java是使用虚拟机动态分配和回收内存,执行效率不高,而且大都为网站***而设计,不太适用于对性能要求很高的搜索***。
发明内容
本发明提供一种提高搜索信息速度的方法及***,以解决现有技术在搜索信息时存在效率低的问题。
本发明提供以下技术方案:
一种存储信息的方法,包括如下步骤:
将与信息相关的关键词生成哈希值;
从预先设定的数组中分配一个空闲的下标值,该数组中的各元素用于标识数组内存池中的一个存储单元;
在哈希表中建立所述哈希值与下标值间的映射关系,并将与所述关键词相关的信息存储到所述下标值确定的数组元素在所述数组内存池中标识的存储单元内,使通过所述哈希值能够索引到存储单元中的信息。
其中:
根据所有已存储信息的存储单元对应的数组元素的下标值形成最近最少使用链表,链表头对应最近最常使用的存储单元的下标值,链表尾对应最近最少使用的存储单元的下标值。
分配空闲存储单元存储信息时,或使用所述最近最少使用链表中的节点所对应的存储单元内的信息时,将该存储单元对应的节点添加或移动到链表头。
当需要释放存储单元时,从所述最近最少使用链表的尾部取出节点值并重置对应的存储单元,以及从所述密集哈希表中删除对应的哈希值和下标值的对应关系。
根据所有空闲的存储单元对应的数组元素的下标值形成空闲链表;当分配存储单元时从该空闲链表中取出头节点,当最近最少使用链表中释放存储单元的下标值时,在该空闲链表的尾部添加该下标值。
所述哈希表为密集型哈希表。
一种提高搜索信息速度的方法,包括如下步骤:
A、根据搜索请求,将用于搜索信息的关键词生成哈希值;
B、利用所述哈希值查询用于索引缓存的搜索结果信息的哈希表,判断是否缓存有该关键词的搜索结果信息;若是,则进行步骤C、D,否则,进行步骤E、F;
C、从所述哈希表中获得所述哈希值所对应的数值,并将该数值作为用于标识数组内存池中的存储单元的数组的下标值;
D、从所述下标值确定的数组元素在所述数组内存池中所标识的存储单元内读取搜索结果信息,将该信息返回给请求方;
E、由搜索引擎利用所述关键词进行搜索,获得的搜索结果信息;
F、分配一个空闲的数组下标值,在型哈希表中建立所述哈希值与下标值间的映射关系,将所述搜索结果信息存储到该下标值确定的数组元素在所述数组内存池中标识的存储单元内,并将搜索结果信息返回给请求方。
其中:
根据所有已存储搜索结果信息的存储单元形成最近最少使用链表,链表中的每个节点关联一个已缓存搜索结果信息的存储单元,其中,链表头对应最近最常使用的存储单元的下标值,链表尾对应最近最少使用的存储单元的下标值。
分配存储单元存储搜索结果信息时,或所述最近最少使用链表中的节点所对应的存储单元内的搜索结果信息被使用时,将该存储单元对应的节点添加或移动到链表头。
当需要释放存储单元时,从所述最近最少使用链表的尾部取出节点并重置对应的存储单元,以及从所述哈希表中删除对应的哈希值和下标值的对应关系。
根据所有空闲的存储单元形成空闲链表,该链表中的每个节点对应数组内存池中的一个存储单元;当分配存储单元存储搜索结果信息时从该空闲链表中取出头节点,当最近最少使用链表中释放存储单元的下标值时,在该空闲链表的尾部添加该下标值。
从存储单元读取搜索结果信息时,还对该搜索结果信息进行有效性检查,并根据检查结果按下述情况分别处理:
若确定所述搜索结果信息的已保存时间在配置的信息有效时间内,则将搜索结果信息返回给请求方;
若确定所述搜索结果信息的已保存时间大于配置的信息有效时间并且小于最大生命周期时间,则在读取该搜索结果信息后释放该存储单元,并利用所述关键词重搜索信息并缓存;
若确定所述搜索结果信息的已保存时间不小于配置的最大生命周期时间,则释放存储单元,利用所述关键词重搜索信息,并将搜索结果提供给请求方并缓存。
所述哈希表为密集型哈希表。
一种缓存***,包括:
数组内存池,包含多个存储单元,用于缓存信息;
哈希值生成模块,用于将与信息相关的关键词生成哈希值;
哈希表,用于保存哈希值与数组中元素的下标识值之间的映射关系;
管理模块,用于管理所述数组内存池中的已存储信息的存储单元和空闲的存储单元;
保存信息模块,将信息存储到所述存储单元,并在所述哈希表中建立关键词的哈希值与该存储单元对应的数组元素下标值之间的映射关系。
一种搜索***,包括:
数组内存池,包含多个存储单元,用于缓存信息;
哈希值生成模块,用于将搜索关键词生成哈希值;
哈希表,用于保存哈希值与数组中元素的下标识值之间的映射关系,以及根据所述哈希值进行查询并提供查询结果;
管理模块,用于管理所述数组内存池中的存储单元,将哈希值提供给所述哈希表和根据哈希表的查询结果判断是否缓存有所述关键词的搜索结果信息,以及将搜索结果信息返回给请求方;
搜索引擎,用于在所述管理模块确定未缓存有搜索结果信息时,利用所述关键词搜索信息,并返回给管理模块;
信息存取模块,用于在所述查询模块确定缓存有搜索结果信息时,从所述下标值确定的数组元素在数组内存池中所标识的存储单元内读取搜索结果信息;或者,将搜索引擎搜索的结果信息存储到所述存储单元,以及在所述哈希表中建立关键词的哈希值与该存储单元对应的数组元素下标值的映射关系。
本发明具有以下有益效果:
1、本发明在哈希表中使用需要查询的关键词的散列值作为关键(key)值,存储单元所在的内存池数组下标值作为哈希表key值的对应值(value),能够实现从查询关键字到数组内存池索引值的快速定位和降低***的负载,同时还能提高对查询和存储请求的并发处理能力。
2、由于密集型哈希表是一个使用C数组作为内部存储结构的哈希表,这样的存储结构与标准哈希表相比可以带来近50%的速度提升,因此,本发明采用密集型哈希表索引缓存信息,能够大幅度提高***搜索的响应速度。
3、本发明中数组和对应存储单元采用静态配置,因此,还可降低动态分配所带来的损耗。
附图说明
图1为本发明中存储信息的关系示意图;
图2为本发明中存储信息的流程图;
图3为本发明搜索信息的流程;
图4为本发明中缓存***的结构示意图;
图5为本发明中搜索***的结构示意图。
具体实施方式
为了提高搜索信息的效率,本发明利用数组内存池缓存搜索结果信息,利用哈希表作索引。当需要搜索时先通过哈希表查询是否缓存有相应的搜索结果信息,若有则直接读取,若无则进行搜索,并将搜索后的搜索结果信息返回给请求方和缓存该搜索结果信息。本发明中的存储关系如图1所示。
数组内存池是由缓存对象构成的数组,数组内存池包括多个用于存储信息的存储单元(或称元素),数组中的每个数组元素标识一个存储单元。每个存储单元还包含有用于辅助管理的信息,这些包括:建立时间、缓存信息和前后索引信息等。该内存池是在程序启动时根据配置分配固定的内存,以降低动态分配所带来的损耗。
为了提供效率,最佳方式是使用密集型哈希表。密集型哈希表是一个使用C数组作为内部存储结构的哈希表,这样的存储结构与标准哈希表相比可以带来近50%的速度提升。哈希表中使用需要查询的关键词的散列值作为它的key值,而查询结果所在的内存池数组下标值作为哈希表key值的对应value,实现从查询关键字到数组内存池索引值的快速定位。可以通过MD5算法将关键词生成哈希值(散列值)。
最近最少使用列表(LRU list)为双向链表结构,用于管理内存池,链表节点存储的是数组内存池的数组下标值,即每一个节点对应一个存储单元。链表头为最近最常使用(MRU)端,链表尾为最近最少使用(LRU)端。每当一个缓冲区被引用时,将该节点置于链表的MRU端,若数组内存池中没有空闲的缓冲区可用是释放LRU端的节点。
空闲列表(Free list):为普通的链表,***初始化时将数组内存池的索引值(即数组下标值)都放置在该链表中,当需要保存新的查询结果时,它从空闲链表的头部摘出一个缓冲区,同时将该缓冲区加到LRU list的MRU端。当数组内存池没有空闲缓冲区可用时,则从LRU list释放LRU节点到free list中。
数组内存池的数组元素个数根据需要存储的信息量决定设置,该值是静态配置,在程序运行期间不能修改。初始化时,数组内存池中缓存单元没有前/后向元素(如其初始值为-1),最近最少使用列表(LRU list)中没有元素,而所有的数组下标值均保存在空闲列表(Free list)中。
参阅图2所示,在搜索***中,采用以上方式缓存搜索结果信息的主要流程如下:
步骤100、利用MD5算法将需要搜索信息的关键词生成哈希值;该值为一个128位的串。
步骤110、从空闲列表(Free list)中分配一个未使用的数组下标值。
步骤120、在密集哈希表中建立哈希值与数组下标值之间的映射关系。
步骤130、将需要保存的信息存储到所述下标值在数组确定的元素所对应的缓存单元内。
步骤140、在最近最少使用列表(LRU list)中的MRU端增加节点,并将所述下标值保存在该节点中。
上述方法不仅局限于存储搜索结果信息,可以用于保存与关键词相关的其他任何信息。
参阅图3所示,在搜索***中,采用上述方式搜索和缓存信息的主要处理过程如下:
步骤200、接收搜索请求,并将用于搜索信息的关键词生成哈希值,如该值为一个128位的串。
步骤210、利用所述哈希值查询用于索引缓存的搜索结果信息的密集型哈希表,判断是否缓存有该关键词的搜索结果信息;若是,则进行步骤220;否则,进行步骤250。
步骤220、利用所述哈希值查询密集型哈希表,获得所述哈希值所对应的数组元素的下标值。
步骤230、根据所述下标值在数组中确定的数组元素,定位到该数组元素所标识的数组内存池中的存储单元。
步骤240、从所述存储单元读取搜索结果信息并提供给请求方。
步骤250、根据所述存储单元的下标值,将最近最少使用列表(LRU list)中对应的节点移动到的MRU端。
步骤260、将所述关键词传送给搜索引擎,由搜索引擎获得的搜索结果信息。
步骤270、从空闲列表(Free list)中分配一个空闲的数组元素的下标值。
步骤290、在密集哈希表中建立哈希值与数组下标值之间的映射关系。
步骤300、将搜索到的结果信息存储到所述下标值在数组确定的元素所对应的缓存单元内,并将搜索结果信息返回给请求方。
步骤310、在最近最少使用列表(LRU list)中的MRU端增加节点,并将所述下标值保存在该节点中,使该节点对应所述存储单元。
为了保证缓存信息的新鲜度,还可在将缓存数据返回给客户端前要对其进行有效性检测,如果缓存数据已失效则必须重新查询和缓存。其具体方式是:在从数组内存的存储单元读取数据时,根据用户配置的有效时间(ExpireTime)和MaxLifeTime(最大生命周期)判断当前的查询时间与该缓存结果创建时间差值落在哪个时间段内。若时间差小于ExpireTime则从内存池中取出缓存结果返回给客户端;如果时间差大于等于ExpireTime而小于MaxLifeTime时先将缓存结果返回给客户端,然后释放该缓存元素节点,包括完成从密集型哈希表中删除映射关系、从LRU链表中删除该节点和追加至空闲链表尾等一系列操作;然后由搜索引擎利用关键词进行搜索,并将结果重新保存至内存池中,但此时不再返回给客户端,以此保证缓存内容的新鲜度;若时间差值大于MaxLifeTime则马上释放该缓存元素节点,接着按没有缓存结果的处理过程处理该查询请求。
对于数组内存中已存储数据的存储单元,并不限于采用上述的链表结构进行管理,也可以对数组缓存池中保存的每一个对象进行引用计数及最近查询时间,当该缓冲区被引用的次数达到一定值后重新查询并保存查询结果,而释放很久都没有再进行引用的缓冲区。
相应的,一种缓存***如图4所示,该***包括:
数组内存池,包含多个存储单元,用于缓存信息。
哈希值生成模块,用于将与信息相关的关键词生成哈希值;
哈希表,利用散列算法(如MD5)将与信息相关的关键词生成哈希值。
管理模块,与哈希值生成模块和哈希表具有逻辑上的连接关系,用于管理所述数组内存池中的已存储信息的存储单元和空闲的存储单元。较佳的方式是,管理模块通过双向链表管理存储单元。
保存信息模块,与所述数组内存池和管理模块具有逻辑上的连接关系,用于将信息存储到所述存储单元,并在所述哈希表中建立关键词的哈希值与该存储单元对应的数组元素下标值之间的映射关系。
相应的,一种搜索***如图5所示,该***包括:
数组内存池,包含多个存储单元,用于缓存信息。
哈希值生成模块,用于将搜索关键词生成哈希值。
哈希表,用于保存哈希值与数组中元素的下标识值之间的映射关系,以及根据所述哈希值进行查询并提供查询结果。
管理模块,与哈希值生成模块和哈希表具有逻辑上的连接关系,用于管理所述数组内存池中的存储单元,将哈希值提供给所述哈希表和根据哈希表的查询结果判断是否缓存有所述关键词的搜索结果信息,以及将搜索结果信息返回给请求方。
搜索引擎,与所述管理模块具有逻辑上的连接关系,用于在所述管理模块确定未缓存有搜索结果信息时,利用所述关键词搜索信息,并返回给管理模块。
信息存取模块,与所述管理模块和数组内存池具有逻辑上的连接关系,用于在所述查询模块确定缓存有搜索结果信息时,从所述下标值确定的数组元素在数组内存池中所标识的存储单元内读取搜索结果信息;或者,将搜索引擎搜索的结果信息存储到所述存储单元,以及在所述哈希表中建立关键词的哈希值与该存储单元对应的数组元素下标值的映射关系。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若对本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (17)
1、一种存储信息的方法,其特征在于,包括如下步骤:
将与信息相关的关键词生成哈希值;
从预先设定的数组中分配一个空闲的下标值,该数组中的各元素用于标识数组内存池中的一个存储单元;
在哈希表中建立所述哈希值与下标值间的映射关系,并将与所述关键词相关的信息存储到所述下标值确定的数组元素在所述数组内存池中标识的存储单元内,使通过所述哈希值能够索引到存储单元中的信息。
2、如权利要求1所述的方法,其特征在于,根据所有已存储信息的存储单元对应的数组元素的下标值形成最近最少使用链表,链表头对应最近最常使用的存储单元的下标值,链表尾对应最近最少使用的存储单元的下标值。
3、如权利要求2所述的方法,其特征在于,分配空闲存储单元存储信息时,或使用所述最近最少使用链表中的节点所对应的存储单元内的信息时,将该存储单元对应的节点添加或移动到链表头。
4、如权利要求2所述的方法,其特征在于,当需要释放存储单元时,从所述最近最少使用链表的尾部取出节点值并重置对应的存储单元,以及从所述密集哈希表中删除对应的哈希值和下标值的对应关系。
5、如权利要求2所述的方法,其特征在于,根据所有空闲的存储单元对应的数组元素的下标值形成空闲链表;当分配存储单元时从该空闲链表中取出头节点,当最近最少使用链表中释放存储单元的下标值时,在该空闲链表的尾部添加该下标值。
6、如权利要求1至5任一项所述的方法,其特征在于,所述哈希表为密集型哈希表。
7、一种提高搜索信息速度的方法,其特征在于,包括如下步骤:
A、根据搜索请求,将用于搜索信息的关键词生成哈希值;
B、利用所述哈希值查询用于索引缓存的搜索结果信息的哈希表,判断是否缓存有该关键词的搜索结果信息;若是,则进行步骤C、D,否则,进行步骤E、F;
C、从所述哈希表中获得所述哈希值所对应的数值,并将该数值作为用于标识数组内存池中的存储单元的数组的下标值;
D、从所述下标值确定的数组元素在所述数组内存池中所标识的存储单元内读取搜索结果信息,将该信息返回给请求方;
E、由搜索引擎利用所述关键词进行搜索,获得的搜索结果信息;
F、分配一个空闲的数组下标值,在型哈希表中建立所述哈希值与下标值间的映射关系,将所述搜索结果信息存储到该下标值确定的数组元素在所述数组内存池中标识的存储单元内,并将搜索结果信息返回给请求方。
8、如权利要求7所述的方法,其特征在于,根据所有已存储搜索结果信息的存储单元形成最近最少使用链表,链表中的每个节点关联一个已缓存搜索结果信息的存储单元,其中,链表头对应最近最常使用的存储单元的下标值,链表尾对应最近最少使用的存储单元的下标值。
9、如权利要求8所述的方法,其特征在于,分配存储单元存储搜索结果信息时,或所述最近最少使用链表中的节点所对应的存储单元内的搜索结果信息被使用时,将该存储单元对应的节点添加或移动到链表头。
10、如权利要求8所述的方法,其特征在于,当需要释放存储单元时,从所述最近最少使用链表的尾部取出节点并重置对应的存储单元,以及从所述哈希表中删除对应的哈希值和下标值的对应关系。
11、如权利要求8所述的方法,其特征在于,根据所有空闲的存储单元形成空闲链表,该链表中的每个节点对应数组内存池中的一个存储单元;当分配存储单元存储搜索结果信息时从该空闲链表中取出头节点,当最近最少使用链表中释放存储单元的下标值时,在该空闲链表的尾部添加该下标值。
12、如权利要求7所述的方法,其特征在于,从存储单元读取搜索结果信息时,还对该搜索结果信息进行有效性检查,并根据检查结果按下述情况分别处理:
若确定所述搜索结果信息的已保存时间在配置的信息有效时间内,则将搜索结果信息返回给请求方;
若确定所述搜索结果信息的已保存时间大于配置的信息有效时间并且小于最大生命周期时间,则在读取该搜索结果信息后释放该存储单元,并利用所述关键词重搜索信息并缓存;
若确定所述搜索结果信息的已保存时间不小于配置的最大生命周期时间,则释放存储单元,利用所述关键词重搜索信息,并将搜索结果提供给请求方并缓存。
13、如权利要求1至12任一项所述的方法,其特征在于,所述哈希表为密集型哈希表。
14、一种缓存***,其特征在于,包括:
数组内存池,包含多个存储单元,用于缓存信息;
哈希值生成模块,用于将与信息相关的关键词生成哈希值;
哈希表,用于保存哈希值与数组中元素的下标识值之间的映射关系;
管理模块,用于管理所述数组内存池中的已存储信息的存储单元和空闲的存储单元;
保存信息模块,将信息存储到所述存储单元,并在所述哈希表中建立关键词的哈希值与该存储单元对应的数组元素下标值之间的映射关系。
15、如权利要求14所述的缓存***,其特征在于,所述哈希表为密集型哈希表。
16、一种搜索***,其特征在于,包括:
数组内存池,包含多个存储单元,用于缓存信息;
哈希值生成模块,用于将搜索关键词生成哈希值;
哈希表,用于保存哈希值与数组中元素的下标识值之间的映射关系,以及根据所述哈希值进行查询并提供查询结果;
管理模块,用于管理所述数组内存池中的存储单元,将哈希值提供给所述哈希表和根据哈希表的查询结果判断是否缓存有所述关键词的搜索结果信息,以及将搜索结果信息返回给请求方;
搜索引擎,用于在所述管理模块确定未缓存有搜索结果信息时,利用所述关键词搜索信息,并返回给管理模块;
信息存取模块,用于在所述查询模块确定缓存有搜索结果信息时,从所述下标值确定的数组元素在数组内存池中所标识的存储单元内读取搜索结果信息;或者,将搜索引擎搜索的结果信息存储到所述存储单元,以及在所述哈希表中建立关键词的哈希值与该存储单元对应的数组元素下标值的映射关系。
17、如权利要求16所述的搜索***,其特征在于,所述哈希表为密集型哈希表。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2005101077938A CN100468400C (zh) | 2005-09-30 | 2005-09-30 | 一种提高搜索信息速度的方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2005101077938A CN100468400C (zh) | 2005-09-30 | 2005-09-30 | 一种提高搜索信息速度的方法及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1940922A true CN1940922A (zh) | 2007-04-04 |
CN100468400C CN100468400C (zh) | 2009-03-11 |
Family
ID=37959112
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2005101077938A Active CN100468400C (zh) | 2005-09-30 | 2005-09-30 | 一种提高搜索信息速度的方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100468400C (zh) |
Cited By (36)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101478652A (zh) * | 2008-12-31 | 2009-07-08 | 深圳市同洲电子股份有限公司 | 一种内存数据的检索方法、***及数字电视接收终端 |
WO2010124510A1 (zh) * | 2009-04-30 | 2010-11-04 | 广东国笔科技股份有限公司 | 一种人机界面交互***和方法 |
CN101990256A (zh) * | 2010-08-27 | 2011-03-23 | 中兴通讯股份有限公司 | 长连接管理装置及长连接通讯的链路资源管理方法 |
CN102098288A (zh) * | 2010-12-17 | 2011-06-15 | 天津曙光计算机产业有限公司 | 一种采用静态链表构造tcp节点池优化tcp连接管理的方法 |
CN102129473A (zh) * | 2011-04-19 | 2011-07-20 | 北京神州数码思特奇信息技术股份有限公司 | 一种静态数据检索方法 |
CN102156723A (zh) * | 2011-03-31 | 2011-08-17 | 中兴通讯股份有限公司 | 一种基于哈希算法的数据存储和读取的方法及装置 |
CN102202331A (zh) * | 2011-05-31 | 2011-09-28 | 武汉市维优科技有限公司 | 一种朗讯告警信息的管理方法 |
CN102279880A (zh) * | 2011-07-28 | 2011-12-14 | 深圳市五巨科技有限公司 | 一种实时更新缓存的方法和*** |
CN101782922B (zh) * | 2009-12-29 | 2012-01-18 | 山东山大鸥玛软件有限公司 | 一种面向海量数据检索的多级桶哈希索引方法 |
CN101681291B (zh) * | 2007-06-13 | 2012-04-04 | 日本电气株式会社 | 信息处理器 |
CN102436448A (zh) * | 2010-09-29 | 2012-05-02 | 腾讯科技(深圳)有限公司 | 搜索方法和*** |
CN102541924A (zh) * | 2010-12-21 | 2012-07-04 | ***通信集团公司 | 一种检索信息的缓存方法和搜索引擎*** |
CN102629234A (zh) * | 2012-01-18 | 2012-08-08 | 物联微电子(常熟)有限公司 | 一种单片机片内置Flash数据快速检索方法 |
CN102122285B (zh) * | 2010-01-11 | 2012-10-31 | 卓望数码技术(深圳)有限公司 | 一种数据缓存***中的数据查询***和数据查询方法 |
CN103092767A (zh) * | 2013-01-25 | 2013-05-08 | 浪潮电子信息产业股份有限公司 | 一种对云计算内部物理机信息内存池的管理方法 |
CN101764836B (zh) * | 2008-12-23 | 2013-08-07 | 北京大学深圳研究生院 | 分布式心跳服务器架构及其进程处理方法 |
CN103246726A (zh) * | 2013-05-09 | 2013-08-14 | 北京奇虎科技有限公司 | 一种网络信息的搜索方法、装置和*** |
CN103514217A (zh) * | 2012-06-30 | 2014-01-15 | 重庆新媒农信科技有限公司 | 检索应用中检索条件的关联提示处理方法及*** |
CN103593314A (zh) * | 2013-11-19 | 2014-02-19 | 乐视致新电子科技(天津)有限公司 | 外接存储设备断点续传的方法及装置 |
CN103699854A (zh) * | 2013-12-31 | 2014-04-02 | 华为技术有限公司 | 数据存储方法、数据访问方法及存储设备 |
CN104462549A (zh) * | 2014-12-25 | 2015-03-25 | 瑞斯康达科技发展股份有限公司 | 一种数据处理方法和装置 |
CN104809138A (zh) * | 2014-01-28 | 2015-07-29 | 阿里巴巴集团控股有限公司 | 一种基于hash处理的词汇管理方法和设备 |
CN105243030A (zh) * | 2015-10-26 | 2016-01-13 | 北京锐安科技有限公司 | 一种数据缓存方法 |
CN106096023A (zh) * | 2016-06-24 | 2016-11-09 | 腾讯科技(深圳)有限公司 | 数据读取方法、数据写入方法及数据服务器 |
CN106991102A (zh) * | 2016-01-21 | 2017-07-28 | 腾讯科技(深圳)有限公司 | 倒排索引中键值对的处理方法及处理*** |
CN109241196A (zh) * | 2017-07-06 | 2019-01-18 | 阿里巴巴集团控股有限公司 | 数据查询方法及装置、设备 |
CN109656926A (zh) * | 2018-12-24 | 2019-04-19 | 杰信软件科技(苏州)有限公司 | 数据库的管理方法 |
CN110019552A (zh) * | 2017-12-21 | 2019-07-16 | 北京京东尚科信息技术有限公司 | 用户关注状态更新的方法和装置 |
CN110427397A (zh) * | 2018-04-27 | 2019-11-08 | 腾讯科技(深圳)有限公司 | 凭证数据查重方法及相关设备 |
CN111078132A (zh) * | 2019-10-15 | 2020-04-28 | 中国平安财产保险股份有限公司 | 基于Redis集群的数据均匀缓存方法、装置、终端及存储介质 |
CN111143414A (zh) * | 2019-12-26 | 2020-05-12 | 五八有限公司 | 一种缓存数据的反馈方法、装置、电子设备及存储介质 |
CN111162937A (zh) * | 2019-12-20 | 2020-05-15 | 北京格林威尔科技发展有限公司 | 一种在传输设备中实现内存池的方法及装置 |
CN111338731A (zh) * | 2020-02-24 | 2020-06-26 | 腾讯科技(深圳)有限公司 | 页面的显示方法、装置、计算机可读存储介质和计算机设备 |
CN112947856A (zh) * | 2021-02-05 | 2021-06-11 | 彩讯科技股份有限公司 | 一种内存数据的管理方法、装置、计算机设备及存储介质 |
CN112988795A (zh) * | 2021-02-26 | 2021-06-18 | 开放智能机器(上海)有限公司 | 一种号码检索方法、***、设备和存储介质 |
CN113704302A (zh) * | 2021-07-30 | 2021-11-26 | 济南浪潮数据技术有限公司 | 基于hash映射的海量数据检索方法、***、终端及存储介质 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110191428B (zh) * | 2019-05-27 | 2021-10-12 | 北京鸿联九五信息产业有限公司 | 一种基于智能云平台的数据分配方法 |
-
2005
- 2005-09-30 CN CNB2005101077938A patent/CN100468400C/zh active Active
Cited By (51)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101681291B (zh) * | 2007-06-13 | 2012-04-04 | 日本电气株式会社 | 信息处理器 |
CN101764836B (zh) * | 2008-12-23 | 2013-08-07 | 北京大学深圳研究生院 | 分布式心跳服务器架构及其进程处理方法 |
CN101478652B (zh) * | 2008-12-31 | 2013-10-30 | 深圳市同洲电子股份有限公司 | 一种内存数据的检索方法、***及数字电视接收终端 |
CN101478652A (zh) * | 2008-12-31 | 2009-07-08 | 深圳市同洲电子股份有限公司 | 一种内存数据的检索方法、***及数字电视接收终端 |
WO2010124510A1 (zh) * | 2009-04-30 | 2010-11-04 | 广东国笔科技股份有限公司 | 一种人机界面交互***和方法 |
CN102117159B (zh) * | 2009-04-30 | 2012-11-14 | 广东国笔科技股份有限公司 | 一种人机界面交互***和方法 |
CN101782922B (zh) * | 2009-12-29 | 2012-01-18 | 山东山大鸥玛软件有限公司 | 一种面向海量数据检索的多级桶哈希索引方法 |
CN102122285B (zh) * | 2010-01-11 | 2012-10-31 | 卓望数码技术(深圳)有限公司 | 一种数据缓存***中的数据查询***和数据查询方法 |
CN101990256A (zh) * | 2010-08-27 | 2011-03-23 | 中兴通讯股份有限公司 | 长连接管理装置及长连接通讯的链路资源管理方法 |
CN102436448A (zh) * | 2010-09-29 | 2012-05-02 | 腾讯科技(深圳)有限公司 | 搜索方法和*** |
CN102098288A (zh) * | 2010-12-17 | 2011-06-15 | 天津曙光计算机产业有限公司 | 一种采用静态链表构造tcp节点池优化tcp连接管理的方法 |
CN102541924B (zh) * | 2010-12-21 | 2016-01-20 | ***通信集团公司 | 一种检索信息的缓存方法和搜索引擎*** |
CN102541924A (zh) * | 2010-12-21 | 2012-07-04 | ***通信集团公司 | 一种检索信息的缓存方法和搜索引擎*** |
CN102156723A (zh) * | 2011-03-31 | 2011-08-17 | 中兴通讯股份有限公司 | 一种基于哈希算法的数据存储和读取的方法及装置 |
CN102129473B (zh) * | 2011-04-19 | 2016-09-14 | 北京思特奇信息技术股份有限公司 | 一种静态数据检索方法 |
CN102129473A (zh) * | 2011-04-19 | 2011-07-20 | 北京神州数码思特奇信息技术股份有限公司 | 一种静态数据检索方法 |
CN102202331A (zh) * | 2011-05-31 | 2011-09-28 | 武汉市维优科技有限公司 | 一种朗讯告警信息的管理方法 |
CN102279880A (zh) * | 2011-07-28 | 2011-12-14 | 深圳市五巨科技有限公司 | 一种实时更新缓存的方法和*** |
CN102279880B (zh) * | 2011-07-28 | 2014-07-16 | 赵香芳 | 一种实时更新缓存的方法和*** |
CN102629234B (zh) * | 2012-01-18 | 2015-01-21 | 物联微电子(常熟)有限公司 | 一种单片机片内置Flash数据快速检索方法 |
CN102629234A (zh) * | 2012-01-18 | 2012-08-08 | 物联微电子(常熟)有限公司 | 一种单片机片内置Flash数据快速检索方法 |
CN103514217A (zh) * | 2012-06-30 | 2014-01-15 | 重庆新媒农信科技有限公司 | 检索应用中检索条件的关联提示处理方法及*** |
CN103514217B (zh) * | 2012-06-30 | 2017-02-08 | 重庆新媒农信科技有限公司 | 检索应用中检索条件的关联提示处理方法及*** |
CN103092767A (zh) * | 2013-01-25 | 2013-05-08 | 浪潮电子信息产业股份有限公司 | 一种对云计算内部物理机信息内存池的管理方法 |
CN103092767B (zh) * | 2013-01-25 | 2016-12-28 | 浪潮电子信息产业股份有限公司 | 一种对云计算内部物理机信息内存池的管理方法 |
CN103246726A (zh) * | 2013-05-09 | 2013-08-14 | 北京奇虎科技有限公司 | 一种网络信息的搜索方法、装置和*** |
CN103246726B (zh) * | 2013-05-09 | 2017-04-12 | 北京奇付通科技有限公司 | 一种网络信息的搜索方法、装置和*** |
CN103593314A (zh) * | 2013-11-19 | 2014-02-19 | 乐视致新电子科技(天津)有限公司 | 外接存储设备断点续传的方法及装置 |
CN103699854A (zh) * | 2013-12-31 | 2014-04-02 | 华为技术有限公司 | 数据存储方法、数据访问方法及存储设备 |
CN103699854B (zh) * | 2013-12-31 | 2017-02-22 | 华为技术有限公司 | 数据存储方法、数据访问方法及存储设备 |
CN104809138A (zh) * | 2014-01-28 | 2015-07-29 | 阿里巴巴集团控股有限公司 | 一种基于hash处理的词汇管理方法和设备 |
CN104809138B (zh) * | 2014-01-28 | 2018-06-08 | 阿里巴巴集团控股有限公司 | 一种基于hash处理的词汇管理方法和设备 |
CN104462549A (zh) * | 2014-12-25 | 2015-03-25 | 瑞斯康达科技发展股份有限公司 | 一种数据处理方法和装置 |
CN104462549B (zh) * | 2014-12-25 | 2018-03-23 | 瑞斯康达科技发展股份有限公司 | 一种数据处理方法和装置 |
CN105243030A (zh) * | 2015-10-26 | 2016-01-13 | 北京锐安科技有限公司 | 一种数据缓存方法 |
CN106991102B (zh) * | 2016-01-21 | 2021-06-08 | 腾讯科技(深圳)有限公司 | 倒排索引中键值对的处理方法及处理*** |
CN106991102A (zh) * | 2016-01-21 | 2017-07-28 | 腾讯科技(深圳)有限公司 | 倒排索引中键值对的处理方法及处理*** |
CN106096023A (zh) * | 2016-06-24 | 2016-11-09 | 腾讯科技(深圳)有限公司 | 数据读取方法、数据写入方法及数据服务器 |
CN109241196A (zh) * | 2017-07-06 | 2019-01-18 | 阿里巴巴集团控股有限公司 | 数据查询方法及装置、设备 |
CN110019552A (zh) * | 2017-12-21 | 2019-07-16 | 北京京东尚科信息技术有限公司 | 用户关注状态更新的方法和装置 |
CN110427397A (zh) * | 2018-04-27 | 2019-11-08 | 腾讯科技(深圳)有限公司 | 凭证数据查重方法及相关设备 |
CN110427397B (zh) * | 2018-04-27 | 2023-03-21 | 腾讯科技(深圳)有限公司 | 凭证数据查重方法及相关设备 |
CN109656926A (zh) * | 2018-12-24 | 2019-04-19 | 杰信软件科技(苏州)有限公司 | 数据库的管理方法 |
CN111078132A (zh) * | 2019-10-15 | 2020-04-28 | 中国平安财产保险股份有限公司 | 基于Redis集群的数据均匀缓存方法、装置、终端及存储介质 |
CN111162937A (zh) * | 2019-12-20 | 2020-05-15 | 北京格林威尔科技发展有限公司 | 一种在传输设备中实现内存池的方法及装置 |
CN111143414A (zh) * | 2019-12-26 | 2020-05-12 | 五八有限公司 | 一种缓存数据的反馈方法、装置、电子设备及存储介质 |
CN111338731A (zh) * | 2020-02-24 | 2020-06-26 | 腾讯科技(深圳)有限公司 | 页面的显示方法、装置、计算机可读存储介质和计算机设备 |
CN112947856A (zh) * | 2021-02-05 | 2021-06-11 | 彩讯科技股份有限公司 | 一种内存数据的管理方法、装置、计算机设备及存储介质 |
CN112947856B (zh) * | 2021-02-05 | 2024-05-03 | 彩讯科技股份有限公司 | 一种内存数据的管理方法、装置、计算机设备及存储介质 |
CN112988795A (zh) * | 2021-02-26 | 2021-06-18 | 开放智能机器(上海)有限公司 | 一种号码检索方法、***、设备和存储介质 |
CN113704302A (zh) * | 2021-07-30 | 2021-11-26 | 济南浪潮数据技术有限公司 | 基于hash映射的海量数据检索方法、***、终端及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN100468400C (zh) | 2009-03-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1940922A (zh) | 一种提高搜索信息速度的方法及*** | |
US9864696B2 (en) | Multilevel cache-based data read/write method and apparatus, and computer system | |
CN1195273C (zh) | 管理计算机存储器的方法 | |
Im et al. | {PinK}: High-speed In-storage Key-value Store with Bounded Tails | |
CN1295622C (zh) | 地址映射方法和映射信息管理方法及其闪速存储器 | |
CN1226687C (zh) | 用于持久和稳固的存储管理的***和方法 | |
US9471500B2 (en) | Bucketized multi-index low-memory data structures | |
KR100562906B1 (ko) | 시리얼 플래시 메모리에서의 xip를 위한 우선순위기반의 플래시 메모리 제어 장치 및 이를 이용한 메모리관리 방법, 이에 따른 플래시 메모리 칩 | |
CN1311363C (zh) | 生成内容地址的数据处理方法和可内容寻址的存储*** | |
CN102542034B (zh) | 一种数据库接口的结果集缓存方法 | |
US7793070B2 (en) | Processing system implementing multiple page size memory organization with multiple translation lookaside buffers having differing characteristics | |
JP2015512604A (ja) | 暗号ハッシュ・データベース | |
WO2008135412A1 (en) | System and method of managing indexation of flash memory | |
CN1604055A (zh) | 利用永久历史页表数据预取数据到高速缓存的装置和方法 | |
US20200065257A1 (en) | Apparatus and method for performing address translation | |
CN1863169A (zh) | 基于网络处理器的路由查找结果缓存方法 | |
CN1929451A (zh) | 一种解决Hash冲突的方法及装置 | |
CN1673981A (zh) | 用于平衡多个存储器缓冲区大小的***及其方法 | |
CN1858747A (zh) | 一种数据存储/检索方法及*** | |
CN1499382A (zh) | 廉价冗余磁盘阵列***中高效高速缓存的实现方法 | |
CN1719422A (zh) | 一种存储器文件数据虚拟存取方法 | |
KR101768828B1 (ko) | 메모리 물리 어드레스 조회 방법 및 장치 | |
CN1831825A (zh) | 文档管理方法和装置以及文档搜索方法和装置 | |
CN1819544A (zh) | 一种基于bitmap表的缓存管理方法 | |
Wang et al. | ADAPT: Efficient workload-sensitive flash management based on adaptation, prediction and aggregation |
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 | ||
EE01 | Entry into force of recordation of patent licensing contract |
Application publication date: 20070404 Assignee: Beijing Jingdong Shangke Information Technology Co., Ltd. Assignor: Tencent Technology (Shenzhen) Co., Ltd. Contract record no.: 2014990000345 Denomination of invention: Method and system for improving information search speed Granted publication date: 20090311 License type: Common License Record date: 20140526 |
|
LICC | Enforcement, change and cancellation of record of contracts on the licence for exploitation of a patent or utility model |