CN102890682A - 构建索引的方法、检索方法、装置及系统 - Google Patents
构建索引的方法、检索方法、装置及系统 Download PDFInfo
- Publication number
- CN102890682A CN102890682A CN2011102048798A CN201110204879A CN102890682A CN 102890682 A CN102890682 A CN 102890682A CN 2011102048798 A CN2011102048798 A CN 2011102048798A CN 201110204879 A CN201110204879 A CN 201110204879A CN 102890682 A CN102890682 A CN 102890682A
- Authority
- CN
- China
- Prior art keywords
- index
- segment
- index segment
- section
- elementary
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2272—Management thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/13—File access structures, e.g. distributed indices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/13—File access structures, e.g. distributed indices
- G06F16/134—Distributed indices
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (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
技术领域
本发明涉及检索技术领域,特别涉及一种构建索引的方法、检索方法、装置及系统。
背景技术
随着网络的普及,信息量的日益增加,检索技术的应用范围越来越广。为了实现检索,需要预先将数据构建成索引,再根据预先构建的索引进行检索,因而构建索引的方式,可决定检索的速度。
现有技术中,构建索引的方式是根据文件大小建立一大一小两个索引段,新数据实时合并到小索引段里面,并且在某些时刻把大索引段和小索引段合并成一个新的大索引段,在检索时,同时检索大索引段和小索引段,然后合并二者的结果。
在实现本发明的过程中,发明人发现现有技术至少存在以下缺点:
由于现有技术需要将新数据和小索引段合并,再将小索引段与大索引段合并后才能提供检索服务,从而影响检索速度,且在纯内存环境下,现有技术提供的构建索引的方式及检索的方式通常还需要额外的内存,导致内存的有效利用率不高。
发明内容
为了在提高检索速度的同时,提高内存利用率,本发明实施例提供了一种构建索引的方法、检索方法、装置及系统。所述技术方案如下:
一方面,提供了一种构建索引的方法,所述方法包括:
将每个预设时间段内获取到的数据各自构建成一个初级索引段,并在每个预设时间段结束后,将构建的初级索引段合并到初级索引段集合中;
复制所述初级索引段集合中的各个初级索引段,并将其合并到对应的大索引段中,得到大索引段集合;
将所述初级索引段集合中的初级索引段或所述大索引段集合中的大索引段发送给检索装置,以用于提供检索服务。
具体地,所述复制所述初级索引段集合中的各个初级索引段,并将其合并到对应的大索引段中,具体包括:
按时间顺序依次复制所述初级索引段集合中的各个初级索引段,并将复制的初级索引段合并到对应的大索引段中,所述对应的大索引段为所述大索引段集合中与空闲内存相连的大索引段。
优选地,所述将构建的初级索引段合并到初级索引段集合中之后,还包括:
每隔预设周期,删除所述初级索引段集合中的在预设周期之前构建的初级索引段。
优选地,所述复制所述初级索引段集合中的各个初级索引段,并将其合并到对应的大索引段中,得到大索引段集合之后,还包括:
将所述大索引段集合中的各个大索引段进行备份。
其中,所述初级索引段和大索引段中均包括一个序列号值和一个是否完整的标志;
相应地,所述复制所述初级索引段集合中的各个初级索引段,并将其合并到对应的大索引段中时,合并后的大索引段的序列号值为合并时的初级索引段的序列号值和大索引段的序列号值中的较大序列号值;
相应地,所述将所述初级索引段集合中的初级索引段或所述大索引段集合中的大索引段发送给检索装置,具体包括:
接收所述检索装置发送的索引段申请,所述申请中携带序列号值和是否完整的标志;
根据所述申请中携带的序列号值和是否完整的标志向所述检索装置发送对应的索引段,所述对应的索引段为所述初级索引段集合中的初级索引段或所述大索引段集合中的大索引段。
具体地,所述根据所述申请中携带的序列号值和是否完整的标志向所述检索装置返回对应的索引段,具体包括:
如果所述申请中携带的序列号值为空,则读取已备份的索引段,并将其发送给所述检索装置;
或者,如果所述申请中携带的序列号值为非空,且所述申请中携带不完整的标志,则将序列号值与所述申请中携带的序列号值相同的索引段返回给所述检索装置;
或者,如果所述申请中携带的序列号值为非空,且所述申请中携带完整的标志,则将序列号值为所述申请中携带的序列号值的下一个序列号值的索引段返回给所述检索装置。
还提供了一种构建索引的装置,所述装置包括:
构建模块,用于将每个预设时间段内获取到的数据各自构建成一个初级索引段,并在每个预设时间段结束后,将构建的初级索引段合并到初级索引段集合中;
合并模块,用于复制所述构建模块得到的初级索引段集合中的各个初级索引段,并将其合并到对应的大索引段中,得到大索引段集合;
发送模块,用于将所述构建模块得到的初级索引段集合中的初级索引段或所述合并模块得到的大索引段集合中的大索引段发送给检索装置,以用于提供检索服务。
具体地,所述合并模块,具体用于按时间顺序依次复制所述第一合并模块合并得到的初级索引段集合中的各个初级索引段,并将复制的初级索引段合并到对应的大索引段中,所述对应的大索引段为所述大索引段集合中与空闲内存相连的大索引段。
优选地,所述装置,还包括:
删除模块,用于在所述构建模块将构建的初级索引段合并到初级索引段集合之后,每隔预设周期,删除所述初级索引段集合中的在预设周期之前构建的初级索引段。
优选地,所述装置,还包括:
备份模块,用于在所述合并模块复制所述构建模块得到的初级索引段集合中的各个初级索引段,并将其合并到对应的大索引段中,得到大索引段集合之后,将所述大索引段集合中的各个大索引段进行备份。
其中,所述构建模块构建的初级索引段和所述合并模块合并得到的大索引段中均包括一个序列号值和一个是否完整的标志;
相应地,所述合并模块复制所述构建模块得到的初级索引段集合中的各个初级索引段,并将其合并到对应的大索引段中时,合并后的大索引段中的序列号值为合并时的初级索引段的序列号值和大索引段的序列号值中的较大序列号值;
相应地,所述发送模块,具体包括:
接收单元,用于接收所述检索装置发送的索引段申请,所述申请中携带序列号值和是否完整的标志;
发送单元,用于根据所述接收单元接收到的申请中携带的序列号值和是否完整的标志向所述检索装置发送对应的索引段,所述对应的索引段为所述初级索引段集合中的初级索引段或所述大索引段集合中的大索引段。
具体地,所述发送单元,具体用于如果所述接收单元接收到的申请中携带的序列号值为空,则读取已备份的索引段,并将其发送给所述检索装置;或者,如果所述接收单元接收到的申请中携带的序列号值为非空,且所述申请中携带不完整的标志,则将序列号值与所述申请中携带的序列号值相同的索引段返回给所述检索装置;或者,如果所述接收单元接收到的申请中携带的序列号值为非空,且所述申请中携带完整的标志,则将序列号值为所述申请中携带的序列号值的下一个序列号值的索引段返回给所述检索装置。
另一方面,还提供了一种检索方法,所述方法包括:
每隔预设时间向构建索引的装置获取一级索引段,并将获取到的一级索引段合并到一级索引段集合中;
复制所述一级索引段集合中的各个一级索引段,并将其合并到对应的二级索引段中,得到二级索引段集合;
根据所述一级索引段集合中的一级索引段和所述二级索引段集合中的二级索引段提供检索服务。
具体地,所述复制所述一级索引段集合中的各个一级索引段,并将其合并到对应的二级索引段中,具体包括:
按时间顺序依次复制所述一级索引段集合中的各个一级索引段,并将复制的一级索引段合并到对应的二级索引段中,所述对应的二级索引段为所述二级索引段集合中与空闲内存相连的二级索引段。
其中,所述一级索引段和二级索引段中均包括一个序列号值和一个是否完整的标志;
相应地,所述每隔预设时间向构建索引的装置获取一级索引段,具体包括:
每隔预设时间向所述构建索引的装置发送索引段申请,所述申请中携带序列号值和是否完整的标志,所述序列号值为已有索引段的最大序列号值或为空;
接收所述构建索引的装置根据所述序列号值及是否完整的标志发送的索引段,并将接收到的索引段作为一级索引段;
相应地,所述复制所述一级索引段集合中的各个一级索引段,并将其合并到对应的二级索引段中时,合并后的二级索引段中的序列号值为合并时的一级索引段的序列号值和二级索引段的序列号值中的较大序列号值。
还提供了一种检索装置,所述装置包括:
获取模块,用于每隔预设时间向构建索引的装置获取一级索引段,并将获取到的一级索引段合并到一级索引段集合中;
合并模块,用于复制所述获取模块得到的一级索引段集合中的各个一级索引段,并将其合并到对应的二级索引段中,得到二级索引段集合;
检索模块,用于根据所述获取模块得到的一级索引段集合中的一级索引段和所述合并模块得到的二级索引段集合中的二级索引段提供检索服务。
具体地,所述合并模块,具体用于按时间顺序依次复制所述一级索引段集合中的各个一级索引段,并将复制的一级索引段合并到对应的二级索引段中,所述对应的二级索引段为所述二级索引段集合中与空闲内存相连的二级索引段。
其中,所述获取模块获取到的一级索引段和所述合并模块得到的二级索引段中均包括一个序列号值和一个是否完整的标志;
相应地,所述获取模块,具体包括:
发送单元,用于每隔预设时间向所述构建索引的装置发送索引段申请,所述申请中携带序列号值和是否完整的标志;
接收单元,用于接收所述构建索引的装置根据所述发送单元发送的序列号值及是否完整的标志发送的索引段,并将接收到的索引段作为一级索引段合并到对应的二级索引段中;
相应地,所述合并模块复制所述获取模块得到的一级索引段集合中的各个一级索引段,并将其合并到对应的二级索引段中时,合并后的二级索引段中的序列号值为合并时的一级索引段的序列号值和二级索引段的序列号值中的较大序列号值。
再一方面,还提供了一种检索系统,所述系统包括:构建索引的装置和检索装置;
所述构建索引的装置如上述构建索引的装置;
所述检索装置如上述检索装置,所述检索装置为一至多个。
本发明实施例提供的技术方案的有益效果是:
通过基于时间构建多个初级索引段,并将构建的初级索引段合并到大索引段,由初级索引段或大索引段同时提供检索服务,从而能够提高检索速度;另外,在合并索引段时,通过优选与空闲内存相连的索引段进行合并,进而提高内存利用率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例一提供的构建索引的方法流程图;
图2是本发明实施例二提供的构建索引的方法流程图;
图3是本发明实施例二提供的索引段合并示意图;
图4是本发明实施例二提供的构建索引过程示意图;
图5是本发明实施例三提供的构建索引的装置的第一种结构示意图;
图6是本发明实施例三提供的构建索引的装置的第二种结构示意图;
图7是本发明实施例三提供的构建索引的装置的第三种结构示意图;
图8是本发明实施例三提供的发送模块结构示意图;
图9是本发明实施例四提供的检索方法流程图;
图10是本发明实施例五提供的检索方法流程图;
图11是本发明实施例五提供的检索示意图;
图12是本发明实施例六提供的检索装置的结构示意图;
图13是本发明实施例六提供的获取模块的结构示意图;
图14是本发明实施例七提供的检索系统的结构示意图;
图15是本发明实施例七提供的检索系统的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
实施例一
本实施例提供了一种构建索引的方法,参见图1,本实施例提供的方法流程具体如下:
101:将每个预设时间段内获取到的数据各自构建成一个初级索引段,并在每个预设时间段结束后,将构建的初级索引段合并到初级索引段集合中;
102:复制初级索引段集合中的各个初级索引段,并将其合并到对应的大索引段中,得到大索引段集合;
103:将初级索引段集合中的初级索引段或大索引段集合中的大索引段发送给检索装置,以用于提供检索服务。
为了更加清楚地阐述本实施例提供的方法,接下来将结合实施例二中的具体内容对本实施例提供的方法作进一步解释说明,详见如下实施例二的内容:
实施例二
本实施例提供了一种构建索引的方法,参见图2,本实施例提供的方法流程具体如下:
201:将每个预设时间段内获取到的数据各自构建成一个初级索引段;
针对该步骤,本实施例不对预设时间段的大小进行限定,为了便于说明,本实施例仅以预设时间段的大小为5分钟为例,则本实施例提供的方法将每5分钟内获取到的数据各自构建成一个初级索引段。由于将数据构建成索引段已经是很成熟的现有技术,因而本实施例在此不对将获取到的数据构建成一个初级索引段的方式进行详述及限定。
具体地,建成的初级索引段中包含多个数据的独立索引结构,包括但不限于倒排索引、删除表、文档基本信息以及自定义的其他信息。其中,倒排索引的索引表中的每一项都包括一个属性值和具有该属性值的各记录的地址,由于不是由记录来确定属性值,而是由属性值来确定记录的位置,因而成为倒排索引。倒排索引的索引对象是文档或文档集合中的单词等,用来存储单词在一个文档或一组文档中的存储位置,是对文档或者文档集合的一种常用的索引机制。而每个文档都有各自独立的文档id,因而能够将不同的文档进行区分。关于文档基本信息的具体内容,本实施例对此不作具体限定。在本实施例中,为了利用索引段中已有的信息构建合适且快速的内存数据结构,本实施例采取了对构建的初级索引段进行初始化的方式,初始化后的初级索引段中的数据结构可如下面的表1所示:
表1
表1中,无论是关键词到倒排索引的映射表,还是文档id到文档基本信息的映射表,每个映射表均由数组hash(哈希)和一个冲突表组成,二者组成一个紧密数组结构。在初始化时,直接将数据当作映射表即可。
202:在每个预设时间段结束后,将构建的初级索引段合并到初级索引段集合中;
针对该步骤,仍以预设时间段为5分钟为例,则在每个5分钟内,将获取到的数据均构建成一个初级索引段,到达5分钟后,该初级索引段即被合并到初级索引段集合中,该初级索引段集合中包括多个5分钟构建的初级索引段。
优选地,由于本实施例提供的方法会在后续步骤将初级索引段集合中的初级索引段合并到对应的大段索引集合中,因而为了节省内存资源,本实施例提供的方法在将构建的初级索引段合并到初级索引段集合中之后,还包括:
每隔预设周期,删除初级索引段集合中的在预设周期之前构建的初级索引段。
其中,本实施例不对预设周期的具体数值进行限定,保证在该预设周期内,待删除的初级索引段已经合并到大索引段集合中即可。
203:复制初级索引段集合中的各个初级索引段,并将其合并到对应的大索引段中,得到大索引段集合;
具体地,从构建得到初级索引段,将初级索引段合并到初级索引段集合,再将初级索引段集合中的初级索引段复制合并到大索引段的整个过程如图3所示。
其中,复制初级索引段集合中的各个初级索引段,并将其合并到对应的大索引段中时,可按时间顺序依次复制初级索引段集合中的各个初级索引段,并将复制的初级索引段合并到对应的大索引段中,对应的大索引段为大索引段集合中与空闲内存相连的大索引段。
为了便于理解,本实施例将结合图4所示的合并过程,对该步骤的合并方式进行详细说明。具体实现时,本实施例提供的方法会预先分配连续大块内存,内存中存放多个大索引段及一个空闲内存,每次选择与空闲内存相连的大索引段进行合并时,既可以选择与空闲内存相连且位于空闲内存上面的大索引段,也可以选择与空闲内存相连且位于空闲内存下面的大索引段,如果空闲内存上下都没有大索引段,则将初级索引段直接合并到该空闲内存中。参见图4(a),本实施例以在大索引段集合中选择与空闲内存相连且位于空闲内存上面的大索引段为大索引段4为例,则该待合并的初级索引段即将被合并到对应的大索引段4中。选择将初级索引段合并到对应的大索引段4之后,合并得到新大索引段4。在后续再合并初级索引段时,参见图4(b),按照上一次的选择方式,选择出的与空闲内存相连且位于空闲内存上面的大索引段为大索引段3,合并后得到的大索引段集合如图4(b)所示。
由于在将初级索引段合并到对应的大索引段时,采取的是将其合并到与空闲内存相连的大索引段中的方式,结合图3及上面论述的内容可以看出,本实施例提供的合并方式能够保证一个连续的空闲内存,即内存无空洞,从而提高了内存利用率。另外,本实施例提供的合并方式,待合并的大索引段及初级索引段没有交集,因而在合并完成之前,该大索引段及初级索引段仍然可继续提供检索服务。
优选地,本实施例提供的方法在复制初级索引段集合中的各个初级索引段,并将其合并到对应的大索引段中,得到大索引段集合之后,还包括:将大索引段集合中的各个大索引段进行备份。关于具体备份方式,本实施例对此不作具体限定,实际应用中,可将得到的大索引段集合中的各个大索引段备份到本地磁盘。
204:将初级索引段集合中的初级索引段或大索引段集合中的大索引段发送给检索装置,以用于提供检索服务。
针对该步骤,本实施例提供的方法在构建索引段时,构建的索引段中除了包括常见的倒排索引、删除表、文档基本信息等信息外,至少还包括一个seqno(序列号)值和一个是否完整的标志IsComplete。Seqno值用于区分构建的不同索引段,本实施例不对序列号值的大小进行限定,以Seqno值是64位整数为例,则对于构建的每个初级索引段,其Seqno值从1开始严格递增,本实施例不对递增的幅度进行限定。例如,可以每次加1的幅度递增。每构建一个新的初级索引段时为其分配新的seqno值。大索引段和初级索引段在合并为一个新的大索引段时,令其seqno值等于大索引段的seqno值和初级索引段的seqno值中的较大值。IsComplete标志是指索引段是否完整,在本实施例中,对于初级索引段而言,如果将其合并到初级索引段集合后,该初级索引段就是完整的,即包括了5分钟时段的所有数据;如果预设时间段还未结束,则后续可能还会继续获取数据,即意味着当前构建的初级索引段未包括5分钟时段的所有数据,因而该初级索引段是不完整的;但对于大索引段,由于是通过完整的初级索引段合并得到,因而大索引段都是完整的。优选地,为了对索引数据进行校验,索引段中还可以包括md5校验值,而该md5校验值是指索引段中所有字节的md5值。
结合上述初级索引段中包含的信息,本实施例提供的方法在将初级索引段集合中的初级索引段或大索引段集合中的大索引段发送给检索装置时,具体包括:
接收检索装置发送的索引段申请,申请中携带序列号值和是否完整的标志;
根据申请中携带的序列号值和是否完整的标志向检索装置发送对应的索引段,对应的索引段为初级索引段集合中的初级索引段或大索引段集合中的大索引段。
其中,检索装置发送索引段申请的目的是为了获取新构建的索引段,从而更新检索装置自身已有的索引段,因此,检索装置发送的申请中携带的序列号值为检索装置已有索引段的最大序列号值。但对于检索装置因为初次启动、重新启动、发生故障等原因导致检索装置没有索引段的情况,则检索装置在发送索引段申请时,将申请中携带的序列号值设置为空。针对序列号值为空的情况,将在介绍检索方法时进行详细描述,详见实施例五中的步骤1001。
进一步地,根据申请中携带的序列号值和是否完整的标志向检索装置返回对应的索引段,具体包括:
如果申请中携带的序列号值为空,则读取已备份的索引段,并将其发送给检索装置;
或者,如果申请中携带的序列号值为非空,且申请中携带不完整的标志,则将序列号值与申请中携带的序列号值相同的索引段返回给检索装置;
或者,如果申请中携带的序列号值为非空,且申请中携带完整的标志,则将序列号值为申请中携带的序列号值的下一个序列号值的索引段返回给检索装置。
本实施例提供的方法,通过基于时间构建多个初级索引段,并将构建的初级索引段合并到大索引段,由初级索引段或大索引段同时提供检索服务,从而能够提高检索速度;在合并索引段时,通过优选与空闲内存相连的索引段进行合并,进而可以提高内存利用率;另外,在构建初级索引段时,通过利用索引段中的已有数据,对索引段进行初始化,构建合适且快速的内存数据结构,可进一步提升检索速度。
实施例三
本实施例提供了一种构建索引的装置,该装置用于执行上述实施例二中的构建索引的方法,参见图5,该装置包括:
构建模块501,用于将每个预设时间段内获取到的数据各自构建成一个初级索引段,并在每个预设时间段结束后,将构建的初级索引段合并到初级索引段集合中;
合并模块502,用于复制构建模块501得到的初级索引段集合中的各个初级索引段,并将其合并到对应的大索引段中,得到大索引段集合;
发送模块503,用于将构建模块501得到的初级索引段集合中的初级索引段或合并模块502得到的大索引段集合中的大索引段发送给检索装置,以用于提供检索服务。
具体地,合并模块502,具体用于按时间顺序依次复制第一合并模块502合并得到的初级索引段集合中的各个初级索引段,并将复制的初级索引段合并到对应的大索引段中,对应的大索引段为大索引段集合中与空闲内存相连的大索引段。
优选地,参见图6,该装置,还包括:
删除模块504,用于在构建模块501将构建的初级索引段合并到初级索引段集合之后,每隔预设周期,删除初级索引段集合中的在预设周期之前构建的初级索引段。
优选地,参见图7,该装置,还包括:
备份模块505,用于在合并模块502复制构建模块501得到的初级索引段集合中的各个初级索引段,并将其合并到对应的大索引段中,得到大索引段集合之后,将大索引段集合中的各个大索引段进行备份。
其中,构建模块501构建的初级索引段和合并模块502合并得到的大索引段中均包括一个序列号值和一个是否完整的标志;
相应地,合并模块502复制构建模块501得到的初级索引段集合中的各个初级索引段,并将其合并到对应的大索引段中时,合并后的大索引段中的序列号值为合并时的初级索引段的序列号值和大索引段的序列号值中的较大序列号值;
相应地,参见图8,发送模块503,具体包括:
接收单元503a,用于接收检索装置发送的索引段申请,申请中携带序列号值和是否完整的标志;
发送单元503b,用于根据接收单元503a接收到的申请中携带的序列号值和是否完整的标志向检索装置发送对应的索引段,对应的索引段为初级索引段集合中的初级索引段或大索引段集合中的大索引段。
进一步地,发送单元503b,具体用于如果接收单元503a接收到的申请中携带的序列号值为空,则读取已备份的索引段,并将其发送给检索装置;或者,如果接收单元503a接收到的申请中携带的序列号值为非空,且申请中携带不完整的标志,则将序列号值与申请中携带的序列号值相同的索引段返回给检索装置;或者,如果接收单元503a接收到的申请中携带的序列号值为非空,且申请中携带完整的标志,则将序列号值为申请中携带的序列号值的下一个序列号值的索引段返回给检索装置。
本实施例提供的装置,通过基于时间构建多个初级索引段,并将构建的初级索引段合并到大索引段,由初级索引段或大索引段同时提供检索服务,从而能够提高检索速度;另外,在合并索引段时,通过优选与空闲内存相连的索引段进行合并,进而可以提高内存利用率。
实施例四
本实施例提供了一种检索方法,参见图9,本实施例提供的方法流程能具体如下:
901:每隔预设时间向构建索引的装置获取一级索引段,并将获取到的一级索引段合并到一级索引段集合中;
902:复制一级索引段集合中的各个一级索引段,并将其合并到对应的二级索引段中,得到二级索引段集合;
903:根据一级索引段集合中的一级索引段和二级索引段集合中的二级索引段提供检索服务。
为了更加清楚地阐述本实施例提供的方法,接下来将结合实施例五中的具体内容对本实施例提供的方法作进一步解释说明,详见如下实施例五的内容:
实施例五
本实施例提供了一种检索方法,参见图10,本实施例提供的方法流程具体如下:
1001:每隔预设时间向构建索引的装置发送索引段申请,该申请中携带序列号值和是否完整的标志;
针对该步骤,为了对已有的索引段进行实时更新,以保证检索结果的准确性,需要不断地从构建索引的装置处获取索引段,因此,可将预设时间设置为几秒,或是几分钟,本实施例不对预设时间的大小进行限定。
进一步地,为了能够从构建索引的装置处获取所需的索引段,检索装置每隔预设时间向构建索引的装置发送索引段申请,该申请中均携带序列号值和是否完整的标志。为了获取构建索引的装置新构建的索引段,从而更新检索时用到的索引段,该步骤在发送索引段申请时,申请中携带的序列号值为检索装置已有索引段的最大序列号值。
但对于检索装置因为初次启动、重新启动、发生故障等原因导致检索装置没有索引段的情况,该步骤在发送索引段申请时,将申请中携带的序列号值确定为空。其确定方式可按照如下两种不同情况分别进行处理:
第一种情况:检索装置因为各种原因(如初始部署、死机、断电),重新启动后,检索装置处没有索引段。
对于该种情况,检索装置向构建索引的装置发送索引段申请时,设置申请中携带的seqno值为空。构建索引的装置在收到序列号值为空的索引段申请后,将返回从磁盘中读取的最近一次备份的数据。以构建索引的装置每隔1小时备份一次大索引段,每隔2小时对初级索引段集合中的初级索引段进行删除为例,则下一次申请索引段时,新索引段将在初级索引段集合中。
第二种情况:在网络环境出状况时(如连续30分钟网络无法使用),检索装置长期无法和构建索引的装置进行通信,则检索装置在检索时用到的索引段与构建索引的装置所构建的索引段差距很大。
对于该种情况,仍以构建索引的装置每隔1小时备份一次大索引段,每隔2小时对初级索引段集合中的初级索引段进行删除为例,该步骤在向构建索引的装置发送索引段申请时,如果申请中携带的序列号值仍为检索装置已有索引段的最大序列号值,则构建索引的装置在接收到申请中携带的序列号值之后,如果查找到该序列号值对应的索引段,并判断出该序列号值对应的索引段构建的时间差距在2个小时内(即断网在2小时内),则仍然走正常流程(因为检索装置的一级索引段集合中包含了2小时的一级索引段);如果判断出该序列号值对应的索引段构建的时间差距大于2小时,(即断网超过2小时),则构建索引的装置可向检索装置下发错误通知,以此通知检索装置,使检索装置清空当前索引段,并且按照第一种情况的处理方式进行处理。其中,本实施例不对构建索引的装置向检索装置发送通知消息的方式进行限定。对于该种情况,还可采用其他处理方式,本实施对此不作具体限定。保证在检索装置发送故障后,能够获取到构建索引的装置所构建的索引段即可。
通过上述实施例二中可以看出,由于每个索引段都包括一个序列号值和是否完整的标志,因此,构建索引的装置在接收到携带了序列号值和是否完整的标志的申请时,即可确定应该返回哪个索引段。构建索引的装置返回索引段的方式详见上述实施例二的步骤201中有相关描述,此处暂不赘述。
1002:接收构建索引的装置根据申请中携带的序列号值及是否完整的标志发送的索引段,将接收到的索引段作为一级索引段,并将其合并到一级索引段集合中;
针对该步骤,具体实现时,在将接收到的一级索引段合并到一级索引段集合中时,可按接收顺序将接收到的一级索引段依次排列到一级索引段集合中,如果接收到的一级索引段为不完整的索引段,则直接将其排列到一级索引段集合中的最后一个一级索引段,如果接收到的一级索引段是完整的索引段,则将其覆盖一级索引段集合中的最后一个一级索引段。关于如何确定接收到的一级索引段是否完整,则可通过一级索引段中包括的是否完整的标志得出。
需要说明的是,上述步骤1001及步骤1002是对实施例四中步骤901的举例说明,实际应用中,还可以采用其他方式实现步骤901中每隔预设时间向构建索引的装置获取一级索引段,本实施例对此不作具体限定。
1003:复制一级索引段集合中的各个一级索引段,并将其合并到对应的二级索引段中,得到二级索引段集合;
针对该步骤,将一级索引段与二级索引段合并的过程可如图11所示,合并原理同上述实施例二步骤203中将初级索引段与大索引段合并的原理,即可按照时间顺序依次复制一级索引段集合中的各个一级索引段,并将复制的一级索引段合并到对应的二级索引段中,对应的二级索引段为二级索引段集合中与空闲内存相连的二级索引段。合并后的二级索引段中的序列号值为合并时的一级索引段的序列号值和二级索引段的序列号值中的较大序列号值。
1004:根据一级索引段集合中的一级索引段和二级索引段集合中的二级索引段提供检索服务。
针对本实施例提供的检索方法,在实际应用中,预设时间段构建的完整的初级索引段和大索引段合并时要小于预设时间段,因而检索和构建索引是完全同步的。计算一个数据从被构建索引到能够被检索出来的总延迟的公式为:
T=Tinsert_to_segment+Tcopy_segment+Treload_segment
其中,Tinsert_to_segment是指数据构建到索引段的时间,在本发明实施例中,即为一个数据构建到初级索引段的时间,相当于将一个数据构建成索引段的耗时加上将其合并到初级索引段的耗时,在单机千万级的系统中,此耗时在秒级。Tcopy_segment是指复制一个初级索引段的耗时,在单机千万级和1000M局域网络的系统中,此耗时在秒级。Treload_segment是指初始化一个初级索引段的耗时,通过实践统计的结果可以做到几乎0s。综上所述,根据上述分析,本实施例提供的检索方法的总延迟在秒级,由此可见,本实施例提供的检索方法的检索速率是相当短暂的,相对于现有技术具有明显提高。
本实施例提供的方法,通过向构建索引的装置获取索引段,并接收构建索引的装置返回的由构建索引的装置构建的初级索引段或大索引段,并由此提供检索服务,以提高检索速度;在将一级索引段合并到对应的二级索引段时,通过将其优选与空闲内存相连的二级索引段进行合并,进而可以提高内存利用率;另外,本实施例提供的检索方法还针对检索过程中遇到的异常情况采取了容错机制,进而保证检索的实时性能。
实施例六
本实施例提供了一种检索装置,参见图12,该装置包括:
获取模块1201,用于每隔预设时间向构建索引的装置获取一级索引段,并将获取到的一级索引段合并到一级索引段集合中;
合并模块1202,用于复制获取模块1201得到的一级索引段集合中的各个一级索引段,并将其合并到对应的二级索引段中,得到二级索引段集合;
检索模块1203,用于根据获取模块1201得到的一级索引段集合中的一级索引段和合并模块1202得到的二级索引段集合中的二级索引段提供检索服务。
具体地,合并模块1202,具体用于按时间顺序依次复制一级索引段集合中的各个一级索引段,并将复制的一级索引段合并到对应的二级索引段中,对应的二级索引段为二级索引段集合中与空闲内存相连的二级索引段。
其中,获取模块1201获取到的一级索引段和合并模块得到的二级索引段中均包括一个序列号值和一个是否完整的标志;
相应地,参见图13,获取模块1201,具体包括:
发送单元1201a,用于每隔预设时间向构建索引的装置发送索引段申请,申请中携带序列号值和是否完整的标志;
接收单元1201b,用于接收构建索引的装置根据发送单元1201a发送的序列号值及是否完整的标志发送的索引段,并将接收到的索引段作为一级索引段合并到对应的二级索引段中;
相应地,合并模块1202复制获取模块1201得到的一级索引段集合中的各个一级索引段,并将其合并到对应的二级索引段中时,合并后的二级索引段中的序列号值为合并时的一级索引段的序列号值和二级索引段的序列号值中的较大序列号值。
本实施例提供的装置,通过向构建索引的装置获取索引段,并接收构建索引的装置返回的由构建索引的装置构建的初级索引段或大索引段,并由此提供检索服务,以提高检索速度;在将一级索引段合并到对应的二级索引段时,通过将其优选与空闲内存相连的二级索引段进行合并,进而可以提高内存利用率;另外,本实施例提供的检索装置还针对检索过程中遇到的异常情况采取了容错机制,进而保证检索的实时性能。
实施例七
本实施例提供了一种检索系统,参见图14,该系统包括:构建索引的装置1401和检索装置1402;
其中,构建索引的装置1401如上述实施例三提供的构建索引的装置;
检索装置1402如上述实施例六提供的检索装置。
实际应用中,检索系统包括构建索引的装置1401和检索装置1402,构建索引的装置1401将获取的数据构建成索引段,然后将其发送给检索装置1402,或者由检索装置1402主动向构建索引的装置1401获取索引段,由检索装置1402对索引段进行处理,以提供检索服务给用户。一般来说,一个构建索引的装置1401为多个检索装置1402提供服务。在大规模的检索应用中,数据被切分为多份,每份数据对应一个构建索引的装置和多个检索装置。本发明实施例及上述各实施例仅针对一份数据来进行说明,至于支持更大规模的检索应用,仅需将本实施例提供的系统复制多份,每份存放不同的数据,在检索时再合并这些数据即可。构建索引的装置1401可在一个独立的设备上,而每台用于检索的设备仅包含一个检索装置1402,包含构建索引的装置1401和检索装置1402的设备之间通过局域网络进行信息传递。因此,本实施例提供的检索系统中,检索装置1402为一至多个,则检索系统的结构还可如图15所示。
本实施例提供的系统,通过构建索引的装置基于时间构建多个初级索引段,将构建的初级索引段合并到大索引段,并将初级索引段或大索引段发送给检索装置,以提供检索服务,从而能够提高检索速度;构建索引的装置在合并索引段时,通过优选与空闲内存相连的索引段进行合并,进而可以提高内存利用率。
需要说明的是:上述实施例提供的构建索引的装置在构建索引时,检索装置在进行检索时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的构建索引的装置与构建索引的方法实施例属于同一构思,上述实施例提供的检索装置与检索方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
本发明实施例中的全部或部分步骤,可以利用硬件实现,也可以通过程序来指令相关的硬件完成,所述的程序可以存储在可读取的存储介质中,如光盘或硬盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (19)
1.一种构建索引的方法,其特征在于,所述方法包括:
将每个预设时间段内获取到的数据各自构建成一个初级索引段,并在每个预设时间段结束后,将构建的初级索引段合并到初级索引段集合中;
复制所述初级索引段集合中的各个初级索引段,并将其合并到对应的大索引段中,得到大索引段集合;
将所述初级索引段集合中的初级索引段或所述大索引段集合中的大索引段发送给检索装置,以用于提供检索服务。
2.根据权利要求1所述的方法,其特征在于,所述复制所述初级索引段集合中的各个初级索引段,并将其合并到对应的大索引段中,具体包括:
按时间顺序依次复制所述初级索引段集合中的各个初级索引段,并将复制的初级索引段合并到对应的大索引段中,所述对应的大索引段为所述大索引段集合中与空闲内存相连的大索引段。
3.根据权利要求1所述的方法,其特征在于,所述将构建的初级索引段合并到初级索引段集合中之后,还包括:
每隔预设周期,删除所述初级索引段集合中的在预设周期之前构建的初级索引段。
4.根据权利要求1所述的方法,其特征在于,所述复制所述初级索引段集合中的各个初级索引段,并将其合并到对应的大索引段中,得到大索引段集合之后,还包括:
将所述大索引段集合中的各个大索引段进行备份。
5.根据权利要求1至权利要求4中任一权利要求所述的方法,其特征在于,所述初级索引段和大索引段中均包括一个序列号值和一个是否完整的标志;
相应地,所述复制所述初级索引段集合中的各个初级索引段,并将其合并到对应的大索引段中时,合并后的大索引段的序列号值为合并时的初级索引段的序列号值和大索引段的序列号值中的较大序列号值;
相应地,所述将所述初级索引段集合中的初级索引段或所述大索引段集合中的大索引段发送给检索装置,具体包括:
接收所述检索装置发送的索引段申请,所述申请中携带序列号值和是否完整的标志;
根据所述申请中携带的序列号值和是否完整的标志向所述检索装置发送对应的索引段,所述对应的索引段为所述初级索引段集合中的初级索引段或所述大索引段集合中的大索引段。
6.根据权利要求5所述的方法,其特征在于,所述根据所述申请中携带的序列号值和是否完整的标志向所述检索装置返回对应的索引段,具体包括:
如果所述申请中携带的序列号值为空,则读取已备份的索引段,并将其发送给所述检索装置;
或者,如果所述申请中携带的序列号值为非空,且所述申请中携带不完整的标志,则将序列号值与所述申请中携带的序列号值相同的索引段返回给所述检索装置;
或者,如果所述申请中携带的序列号值为非空,且所述申请中携带完整的标志,则将序列号值为所述申请中携带的序列号值的下一个序列号值的索引段返回给所述检索装置。
7.一种构建索引的装置,其特征在于,所述装置包括:
构建模块,用于将每个预设时间段内获取到的数据各自构建成一个初级索引段,并在每个预设时间段结束后,将构建的初级索引段合并到初级索引段集合中;
合并模块,用于复制所述构建模块得到的初级索引段集合中的各个初级索引段,并将其合并到对应的大索引段中,得到大索引段集合;
发送模块,用于将所述构建模块得到的初级索引段集合中的初级索引段或所述合并模块得到的大索引段集合中的大索引段发送给检索装置,以用于提供检索服务。
8.根据权利要求7所述的装置,其特征在于,所述合并模块,具体用于按时间顺序依次复制所述第一合并模块合并得到的初级索引段集合中的各个初级索引段,并将复制的初级索引段合并到对应的大索引段中,所述对应的大索引段为所述大索引段集合中与空闲内存相连的大索引段。
9.根据权利要求7所述的装置,其特征在于,所述装置,还包括:
删除模块,用于在所述构建模块将构建的初级索引段合并到初级索引段集合之后,每隔预设周期,删除所述初级索引段集合中的在预设周期之前构建的初级索引段。
10.根据权利要求7所述的装置,其特征在于,所述装置,还包括:
备份模块,用于在所述合并模块复制所述构建模块得到的初级索引段集合中的各个初级索引段,并将其合并到对应的大索引段中,得到大索引段集合之后,将所述大索引段集合中的各个大索引段进行备份。
11.根据权利要求7至权利要求10中任一权利要求所述的装置,其特征在于,所述构建模块构建的初级索引段和所述合并模块合并得到的大索引段中均包括一个序列号值和一个是否完整的标志;
相应地,所述合并模块复制所述构建模块得到的初级索引段集合中的各个初级索引段,并将其合并到对应的大索引段中时,合并后的大索引段中的序列号值为合并时的初级索引段的序列号值和大索引段的序列号值中的较大序列号值;
相应地,所述发送模块,具体包括:
接收单元,用于接收所述检索装置发送的索引段申请,所述申请中携带序列号值和是否完整的标志;
发送单元,用于根据所述接收单元接收到的申请中携带的序列号值和是否完整的标志向所述检索装置发送对应的索引段,所述对应的索引段为所述初级索引段集合中的初级索引段或所述大索引段集合中的大索引段。
12.根据权利要求11所述的装置,其特征在于,所述发送单元,具体用于如果所述接收单元接收到的申请中携带的序列号值为空,则读取已备份的索引段,并将其发送给所述检索装置;或者,如果所述接收单元接收到的申请中携带的序列号值为非空,且所述申请中携带不完整的标志,则将序列号值与所述申请中携带的序列号值相同的索引段返回给所述检索装置;或者,如果所述接收单元接收到的申请中携带的序列号值为非空,且所述申请中携带完整的标志,则将序列号值为所述申请中携带的序列号值的下一个序列号值的索引段返回给所述检索装置。
13.一种检索方法,其特征在于,所述方法包括:
每隔预设时间向构建索引的装置获取一级索引段,并将获取到的一级索引段合并到一级索引段集合中;
复制所述一级索引段集合中的各个一级索引段,并将其合并到对应的二级索引段中,得到二级索引段集合;
根据所述一级索引段集合中的一级索引段和所述二级索引段集合中的二级索引段提供检索服务。
14.根据权利要求13所述的方法,其特征在于,所述复制所述一级索引段集合中的各个一级索引段,并将其合并到对应的二级索引段中,具体包括:
按时间顺序依次复制所述一级索引段集合中的各个一级索引段,并将复制的一级索引段合并到对应的二级索引段中,所述对应的二级索引段为所述二级索引段集合中与空闲内存相连的二级索引段。
15.根据权利要求13或14所述的方法,其特征在于,所述一级索引段和二级索引段中均包括一个序列号值和一个是否完整的标志;
相应地,所述每隔预设时间向构建索引的装置获取一级索引段,具体包括:
每隔预设时间向所述构建索引的装置发送索引段申请,所述申请中携带序列号值和是否完整的标志,所述序列号值为已有索引段的最大序列号值或为空;
接收所述构建索引的装置根据所述序列号值及是否完整的标志发送的索引段,并将接收到的索引段作为一级索引段;
相应地,所述复制所述一级索引段集合中的各个一级索引段,并将其合并到对应的二级索引段中时,合并后的二级索引段中的序列号值为合并时的一级索引段的序列号值和二级索引段的序列号值中的较大序列号值。
16.一种检索装置,其特征在于,所述装置包括:
获取模块,用于每隔预设时间向构建索引的装置获取一级索引段,并将获取到的一级索引段合并到一级索引段集合中;
合并模块,用于复制所述获取模块得到的一级索引段集合中的各个一级索引段,并将其合并到对应的二级索引段中,得到二级索引段集合;
检索模块,用于根据所述获取模块得到的一级索引段集合中的一级索引段和所述合并模块得到的二级索引段集合中的二级索引段提供检索服务。
17.根据权利要求16所述的装置,其特征在于,所述合并模块,具体用于按时间顺序依次复制所述一级索引段集合中的各个一级索引段,并将复制的一级索引段合并到对应的二级索引段中,所述对应的二级索引段为所述二级索引段集合中与空闲内存相连的二级索引段。
18.根据权利要求16或17所述的装置,其特征在于,所述获取模块获取到的一级索引段和所述合并模块得到的二级索引段中均包括一个序列号值和一个是否完整的标志;
相应地,所述获取模块,具体包括:
发送单元,用于每隔预设时间向所述构建索引的装置发送索引段申请,所述申请中携带序列号值和是否完整的标志;
接收单元,用于接收所述构建索引的装置根据所述发送单元发送的序列号值及是否完整的标志发送的索引段,并将接收到的索引段作为一级索引段合并到对应的二级索引段中;
相应地,所述合并模块复制所述获取模块得到的一级索引段集合中的各个一级索引段,并将其合并到对应的二级索引段中时,合并后的二级索引段中的序列号值为合并时的一级索引段的序列号值和二级索引段的序列号值中的较大序列号值。
19.一种检索系统,其特征在于,所述系统包括:构建索引的装置和检索装置;
所述构建索引的装置如所述权利要求7至权利要求12中任一权利要求所述的构建索引的装置;
所述检索装置如所述权利要求16至权利要求18中任一权利要求所述的检索装置,所述检索装置为一至多个。
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110204879.8A CN102890682B (zh) | 2011-07-21 | 2011-07-21 | 构建索引的方法、检索方法、装置及系统 |
PCT/CN2012/076767 WO2013010414A1 (zh) | 2011-07-21 | 2012-06-12 | 构建索引的方法、检索方法、装置及系统 |
JP2014520505A JP5823037B2 (ja) | 2011-07-21 | 2012-06-12 | インデックス構築方法、検索方法、検索デバイス、および検索システム |
US14/234,058 US8914379B2 (en) | 2011-07-21 | 2012-06-12 | Index constructing method, search method, device and system |
AP2014007431A AP2014007431A0 (en) | 2011-07-21 | 2012-06-12 | Index constructing method, search method, device and system |
ZA2014/00873A ZA201400873B (en) | 2011-07-21 | 2014-02-05 | Index constructing method, search method, device and system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110204879.8A CN102890682B (zh) | 2011-07-21 | 2011-07-21 | 构建索引的方法、检索方法、装置及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102890682A true CN102890682A (zh) | 2013-01-23 |
CN102890682B CN102890682B (zh) | 2017-08-01 |
Family
ID=47534189
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110204879.8A Active CN102890682B (zh) | 2011-07-21 | 2011-07-21 | 构建索引的方法、检索方法、装置及系统 |
Country Status (6)
Country | Link |
---|---|
US (1) | US8914379B2 (zh) |
JP (1) | JP5823037B2 (zh) |
CN (1) | CN102890682B (zh) |
AP (1) | AP2014007431A0 (zh) |
WO (1) | WO2013010414A1 (zh) |
ZA (1) | ZA201400873B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103207907A (zh) * | 2013-03-28 | 2013-07-17 | 新浪网技术(中国)有限公司 | 一种索引文件合并方法及装置 |
CN103399915A (zh) * | 2013-07-31 | 2013-11-20 | 北京华易互动科技有限公司 | 一种搜索引擎索引文件的优化读取方法 |
CN106408320A (zh) * | 2015-07-31 | 2017-02-15 | 北京奇虎科技有限公司 | 广告索引构建方法和装置、广告检索方法和系统 |
CN106445953A (zh) * | 2015-08-07 | 2017-02-22 | 北京奇虎科技有限公司 | 广告创意信息检索方法和系统 |
CN109753447A (zh) * | 2019-01-14 | 2019-05-14 | 北京星际荣耀空间科技有限公司 | 一种运载火箭遥测数据实时缓存系统及方法 |
CN111782659A (zh) * | 2020-07-10 | 2020-10-16 | 东北大学 | 数据库索引创建方法、装置、计算机设备和存储介质 |
CN111814003A (zh) * | 2019-04-12 | 2020-10-23 | 伊姆西Ip控股有限责任公司 | 用于建立元数据索引的方法、电子设备和计算机程序产品 |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10303887B2 (en) | 2015-09-14 | 2019-05-28 | T0.Com, Inc. | Data verification methods and systems using a hash tree, such as a time-centric merkle hash tree |
KR101744017B1 (ko) * | 2016-03-11 | 2017-06-07 | 주식회사 지앤클라우드 | 실시간 검색을 위한 데이터 인덱싱 방법 및 장치 |
WO2019010228A1 (en) | 2017-07-03 | 2019-01-10 | Medici Ventures, Inc. | DECENTRALIZED NEGOTIATION SYSTEM FOR FAIR ORDERING AND MATCHING OF TRANSACTIONS RECEIVED AT MULTIPLE NETWORK NODE AND CORRELATED BY MULTIPLE NETWORK NODES IN A DECENTRALIZED NEGOTIATION SYSTEM |
CN107609190A (zh) * | 2017-10-11 | 2018-01-19 | 南京南瑞继保电气有限公司 | 一种海量电力设备快速检索服务的实现方法 |
WO2019113197A1 (en) | 2017-12-05 | 2019-06-13 | Walmart Apollo, Llc | System and method for an index search engine |
CN108418746B (zh) * | 2018-02-13 | 2020-06-12 | 论客科技(广州)有限公司 | 一种邮件同步方法、装置与计算机可读存储介质 |
US11308084B2 (en) | 2019-03-13 | 2022-04-19 | International Business Machines Corporation | Optimized search service |
US11182356B2 (en) | 2019-05-23 | 2021-11-23 | International Business Machines Corporation | Indexing for evolving large-scale datasets in multi-master hybrid transactional and analytical processing systems |
CN117688013B (zh) * | 2024-02-01 | 2024-04-30 | 北方健康医疗大数据科技有限公司 | 一种基于缓存索引的主索引生成方法、装置、设备及介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1979469A (zh) * | 2005-11-29 | 2007-06-13 | 国际商业机器公司 | 索引及其扩展和查询方法 |
US20080071732A1 (en) * | 2006-09-18 | 2008-03-20 | Konstantin Koll | Master/slave index in computer systems |
CN101295323A (zh) * | 2008-06-30 | 2008-10-29 | 腾讯科技(深圳)有限公司 | 一种用于索引更新的处理方法和系统 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5852822A (en) * | 1996-12-09 | 1998-12-22 | Oracle Corporation | Index-only tables with nested group keys |
US6631373B1 (en) * | 1999-03-02 | 2003-10-07 | Canon Kabushiki Kaisha | Segmented document indexing and search |
US6675205B2 (en) * | 1999-10-14 | 2004-01-06 | Arcessa, Inc. | Peer-to-peer automated anonymous asynchronous file sharing |
US6516337B1 (en) * | 1999-10-14 | 2003-02-04 | Arcessa, Inc. | Sending to a central indexing site meta data or signatures from objects on a computer network |
EP1567928A4 (en) * | 2002-09-03 | 2008-04-30 | X1 Technologies Llc | DEVICES AND METHOD FOR FINDING DATA |
CN100495400C (zh) * | 2006-09-01 | 2009-06-03 | 北大方正集团有限公司 | 一种全文检索系统的索引在线更新方法 |
JP4148529B2 (ja) * | 2006-12-28 | 2008-09-10 | インターナショナル・ビジネス・マシーンズ・コーポレーション | データベースにおける索引の整合性をチェックするためのシステム、方法およびプログラム |
US20090193406A1 (en) * | 2008-01-29 | 2009-07-30 | James Charles Williams | Bulk Search Index Updates |
CN101414277B (zh) * | 2008-11-06 | 2010-06-09 | 清华大学 | 一种基于虚拟机的按需增量恢复容灾系统及方法 |
US20110270820A1 (en) * | 2009-01-16 | 2011-11-03 | Sanjiv Agarwal | Dynamic Indexing while Authoring and Computerized Search Methods |
CN101989301B (zh) | 2010-10-22 | 2012-05-23 | 复旦大学 | 一种支持多数据源的索引维护方法 |
-
2011
- 2011-07-21 CN CN201110204879.8A patent/CN102890682B/zh active Active
-
2012
- 2012-06-12 US US14/234,058 patent/US8914379B2/en active Active
- 2012-06-12 JP JP2014520505A patent/JP5823037B2/ja active Active
- 2012-06-12 AP AP2014007431A patent/AP2014007431A0/xx unknown
- 2012-06-12 WO PCT/CN2012/076767 patent/WO2013010414A1/zh active Application Filing
-
2014
- 2014-02-05 ZA ZA2014/00873A patent/ZA201400873B/en unknown
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1979469A (zh) * | 2005-11-29 | 2007-06-13 | 国际商业机器公司 | 索引及其扩展和查询方法 |
US20080071732A1 (en) * | 2006-09-18 | 2008-03-20 | Konstantin Koll | Master/slave index in computer systems |
CN101295323A (zh) * | 2008-06-30 | 2008-10-29 | 腾讯科技(深圳)有限公司 | 一种用于索引更新的处理方法和系统 |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103207907A (zh) * | 2013-03-28 | 2013-07-17 | 新浪网技术(中国)有限公司 | 一种索引文件合并方法及装置 |
CN103207907B (zh) * | 2013-03-28 | 2016-06-29 | 新浪网技术(中国)有限公司 | 一种索引文件合并方法及装置 |
CN103399915A (zh) * | 2013-07-31 | 2013-11-20 | 北京华易互动科技有限公司 | 一种搜索引擎索引文件的优化读取方法 |
CN106408320A (zh) * | 2015-07-31 | 2017-02-15 | 北京奇虎科技有限公司 | 广告索引构建方法和装置、广告检索方法和系统 |
CN106445953A (zh) * | 2015-08-07 | 2017-02-22 | 北京奇虎科技有限公司 | 广告创意信息检索方法和系统 |
CN109753447A (zh) * | 2019-01-14 | 2019-05-14 | 北京星际荣耀空间科技有限公司 | 一种运载火箭遥测数据实时缓存系统及方法 |
CN111814003A (zh) * | 2019-04-12 | 2020-10-23 | 伊姆西Ip控股有限责任公司 | 用于建立元数据索引的方法、电子设备和计算机程序产品 |
CN111814003B (zh) * | 2019-04-12 | 2024-04-23 | 伊姆西Ip控股有限责任公司 | 用于建立元数据索引的方法、电子设备和计算机程序产品 |
CN111782659A (zh) * | 2020-07-10 | 2020-10-16 | 东北大学 | 数据库索引创建方法、装置、计算机设备和存储介质 |
CN111782659B (zh) * | 2020-07-10 | 2023-10-17 | 东北大学 | 数据库索引创建方法、装置、计算机设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
ZA201400873B (en) | 2015-10-28 |
US8914379B2 (en) | 2014-12-16 |
WO2013010414A1 (zh) | 2013-01-24 |
US20140156671A1 (en) | 2014-06-05 |
JP2014521176A (ja) | 2014-08-25 |
CN102890682B (zh) | 2017-08-01 |
AP2014007431A0 (en) | 2014-02-28 |
JP5823037B2 (ja) | 2015-11-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102890682A (zh) | 构建索引的方法、检索方法、装置及系统 | |
US9276959B2 (en) | Client-configurable security options for data streams | |
EP3069274B1 (en) | Managed service for acquisition, storage and consumption of large-scale data streams | |
US9858322B2 (en) | Data stream ingestion and persistence techniques | |
CN103379159B (zh) | 一种分布式Web站点数据同步的方法 | |
CN111258978B (zh) | 一种数据存储的方法 | |
CN102214205A (zh) | 带有自适应克隆的经聚类的数据库系统中的逻辑复制 | |
CN107247778A (zh) | 用于实施可扩展数据存储服务的系统和方法 | |
CN106934048A (zh) | 数据在线迁移方法、代理节点 | |
CN101594256A (zh) | 容灾方法、装置和系统 | |
CN105205143A (zh) | 一种文件存储及处理方法、设备和系统 | |
CN103902405A (zh) | 一种准连续性数据复制方法及装置 | |
CN104166661A (zh) | 数据存储系统和数据存储方法 | |
CN113760513A (zh) | 一种分布式任务调度方法、装置、设备和介质 | |
CN111552701B (zh) | 确定分布式集群中数据一致性的方法及分布式数据系统 | |
CN103365740A (zh) | 一种数据冷备方法及装置 | |
CN112069259B (zh) | 一种基于区块链的多云环境数据存储系统及方法 | |
CN109710454A (zh) | 一种云主机快照方法及装置 | |
CN106933882B (zh) | 一种大数据增量计算方法和装置 | |
US11074002B2 (en) | Object storage system with meta object replication | |
CN113297322A (zh) | 数据同步方法、系统以及装置 | |
CN113297327A (zh) | 生成分布式id的系统和方法 | |
Sit et al. | UsenetDHT: A Low-Overhead Design for Usenet. | |
Zhang et al. | DRONE: An Efficient Distributed Subgraph-Centric Framework for Processing Large-Scale Power-law Graphs | |
CN111324513A (zh) | 一种人工智能开发平台的监控管理方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |