一种索引数据处理方法及设备技术

技术编号:7841843 阅读:161 留言:0更新日期:2012-10-12 23:08
一种索引数据处理方法,其中,至少一种属性信息的索引数据存储在一个索引结构中,所述索引结构包括一头索引和至少一块索引,所述至少一块索引的索引存储在所述头索引中,所述至少一块索引的索引包括存储在所述块索引中的索引数据的属性信息,所述方法包括:接收对指定索引数据的处理指令,所述处理指令中包括指定索引数据的属性信息;若根据所述索引结构中的头索引和所述指定索引数据的属性信息能确定一块索引的索引,则根据所述块索引的索引定位所述块索引,并对所述块索引中匹配所述索引数据的数据项进行处理。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术涉及数据处理
,尤其涉及一种索引数据处理方法及设备
技术介绍
Key-Value数据库提供键值对〈Key,Value)的存储,一般的Key-Value系统仅提供基于Key的操作。对于根据Value中的属性进行检索的应用,需要在Key-value系统的基础上构建适配层来提供结构化的数据检索,通过适配层,将不同Key的Value包含的数据模型表格化,即将Value抽象为属性名称和属性值的方式(或者称为列和值),这样不同的Key对应的Value可能具有相同的属性名称,因此可以为按照属性名称进行检索创造了前提。为了提闻检索的效率,可以对属性的值建立索引。 现有技术中可以采用B+树或前缀哈希树的形式来组织索引数据。其中,B+树结构如图Ia所示,其中内部节点保存范围的信息,如内部节点I中表示小于等于0110的属性值在其左边的子树中,大于0110的属性值在其右边的子树中;叶子节点中保存真实的索引数据。前缀哈希树构建一个基于字典树的数据结构,其原理是利用字符串的公共前缀来组织数据,以包括O和I的字符集为例的前缀哈希树如图Ib所示,每个节点的前缀为从根到此节点的字符组成的字符串,中间节点仅存储了和子节点的关系,叶子节点存储真实的索引数据。然而,无论是B+树还是前缀哈希树的索引数据组织形式,对于每一个需要建立索引的属性信息,都需要单独组织一颗B+树或前缀哈希树结构来存储该属性的索引数据,同时树中的每一个节点对应Key-Value数据库中的一个键值对,因此,在当对索引数据进行相关数据操作时,例如定位或增加或删除某一索引数据,都需要先从众多B+树或前缀哈希树中确定该索引数据的属性信息所对应的B+树或前缀哈希树,然后再从最上级的内部节点或中间节点向下遍历,直到它到达一个叶子节点。因此,基于现有技术中的索引数据组织形式,在对索引数据进行处理时,均需要与Key-Value系统进行多次交互,效率较低。
技术实现思路
本专利技术实施例提供一种索引数据处理方法及设备,能够在对索引数据进行处理时,减少与Key-Value系统的交互,提高效率。为了解决上述技术问题,本专利技术实施例的技术方案如下一种索引数据处理方法,至少一种属性信息的索引数据存储在一个索引结构中,所述索引结构包括一头索引和至少一块索引,所述至少一块索引的索引存储在所述头索引中,所述至少一块索引的索引包括存储在所述块索引中的索引数据的属性信息,所述方法包括接收对指定索引数据的处理指令,所述处理指令中包括指定索引数据的属性信息;若根据所述索引结构中的头索引和所述指定索引数据的属性信息能确定一块索引的索引,则根据所述块索引的索引定位所述块索引,并对所述块索引中匹配所述索引数据的数据项进行处理。一种索引数据处理设备,至少一种属性信息的索引数据存储在一个索引结构中,所述索引结构包括一头索引和至少一块索引,所述至少一块索引的索引存储在所述头索引中,所述至少一块索引的索引包括存储在所述块索引中的索引数据的属性信息,所述设备包括指令接收模块,用于接收对指定索引数据的处理指令,所述处理指令中包括指定索引数据的属性信息;数据处理模块,用于当根据所述索引结构中的头索引和所述指定索引数据的属性信息能确定一块索引的索引时,根据所述块索引的索引定位所述块索引,并对所述块索引中匹配所述索弓I数据的数据项进行处理。本专利技术实施例通过将具有不同属性信息的索引数据存储在一个索引结构中,使得 数据存储更为紧凑,从而一次Key-Value访问可以获取或者更新更多的数据,所以可以减少数据处理时与Key-Value系统之间的交互,从而提高了索引建立和查询的性能。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图Ia是现有技术中索引数据以B+树结构形式组织的示意图;图Ib是现有技术中索引数据以前缀哈希树形式组织的示意图;图2是本专利技术实施例一种索引数据处理方法的流程图;图3是图2所示实施例中索引结构的示意图;图4a是一种索引结构的示意图;图4b是本专利技术实施例另一种索引数据处理方法的流程图;图5是本专利技术实施例一种删除索引数据的流程图;图6是图5所示实施例中索引结构的示意图;图7是本专利技术另一实施例中块索引的结构示意图;图8是本专利技术实施例一种增加索引数据的流程图;图9是本专利技术另一实施例索引结构的示意图;图10是本专利技术实施例一种索引数据处理设备的结构示意图;图11是本专利技术实施例另一种索引数据处理设备的结构示意图。具体实施例方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。参见图2,为本专利技术实施例一种索引数据处理方法的流程图。本实施例中,至少一种属性信息的索引数据存储在一个索引结构中,如图3所示,该索引结构包括一头索引(head index) 31和至少一块索引(block index)32,该块索引32可以用于存储数据项数量较大的索引数据,该至少一块索引的索引(block indexreference) 33存储在头索引31中,至少一块索引的索引33包括存储在块索引32中的索引数据的属性信息。 基于上述索引结构,当指定一索引数据时,对该索引数据的处理方法可以包括步骤201,接收对指定索引数据的处理指令,该处理指令中包括指定索引数据的属性信息。本专利技术实施例中所有的实施方法可以由PC机等终端或服务器执行,该索引结构可以存储在PC机等终端或服务器的内部或外部的数据库中。其中,索引数据中可以包括属性名称(attr)、属性值(value)等属性信息,还包括具体的数据项(item),例如〈Attrn, Valuen, Itemn〉。步骤202,若根据索引结构中的头索引和指定索引数据的属性信息能确定一块索引的索引,则根据块索弓丨的索引定位块索引,并对块索引中匹配索引数据的数据项进行处理。PC机等终端或服务器查找头索引31中存储的块索引的索引33中的属性信息,如果其中包括指定索引数据的属性信息,则可定位块索引32,进而可以对该块索引32中与该指定索引数据匹配的索引数据的数据项进行处理。在本专利技术的另一实施例中,该索引结构可以包括至少一个存储单元,在存储单元中,如图4a所示,除了可以包括块索引41外,还可以包括至少一分段索引(segmentindex) 42,用于存储数据项数量较小的索引数据,头索引43中存储有块索引的索引44和分段索引的索引(segment index reference) 45,分段索引的索引45包括存储在分段索引42中的索引数据的属性信息。索引数据根据各自数据项数量的多少,分配在块索引41和分段索引(segment index) 42中存储,例如当索引数据的数据项数量大于一个预设值时,可以将该索引数据存储在块索引41中,当小于该预设值时,可以将索引数据存储在分段索引42中,其中,块索引4本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.一种索引数据处理方法,其特征在于,至少一种属性信息的索引数据存储在一个索引结构中,所述索引结构包括一头索引和至少一块索引,所述至少一块索引的索引存储在所述头索引中,所述至少一块索引的索引包括存储在所述块索引中的索引数据的属性信息,所述方法包括 接收对指定索引数据的处理指令,所述处理指令中包括指定索引数据的属性信息;若根据所述索引结构中的头索引和所述指定索引数据的属性信息能确定一块索引的索引,则根据所述块索引的索引定位所述块索引,并对所述块索引中匹配所述索引数据的数据项进行处理。2.根据权利要求I所述的方法,其特征在于,所述索引结构还包括至少一分段索引,所述至少一分段索引的索引存储在所述头索引中,所述至少一分段索引的索引包括存储在所述分段索引中的索引数据的属性信息; 若根据所述索引结构中的头索引和所述指定索引数据的属性信息能确定一分段索引的索引,则根据所述分段索引的索引定位所述分段索引,并对所述分段索引中匹配所述索引数据的数据项进行处理。3.根据权利要求I或2所述的方法,其特征在于,所述索引结构被存储在多个存储单元中,所述索引结构中还包括所述多个存储单元的存储信息。4.根据权利要求2或3所述的方法,其特征在于,所述分段索引中包括至少一个分段索引单元,所述分段索引单元并列存储,每个分段索引单元中包含多个索引数据。5.根据权利要求4所述的方法,其特征在于,所述方法还包括 当相邻两分段索引单元中索引数据的数量和小于第一阈值时,将所述相邻两分段索引单元进行合并;或者, 当分段索引单元中索引数据的数据项数量超过第二阈值时,将该索引数据从其所在的分段索引单元迁移至块索引中;或者, 当分段索引单元的大小大于第三阈值时,将该分段索引单元划分为两个新的分段索引单元。6.根据权利要求I至5中任意一项所述的方法,其特征在于,所述块索引中,具有相同属性信息的索引数据的数据项划分为至少一个分段单元。7.根据权利要求6所述的方法,其特征在于, 所述分段单元之间链式连接形成分段单元链,该分段单元链的相邻两分段单元中,上一分段单元存储有下一分段单元的访问信息;或者, 所述分段单元之间并列存储,所述块索引中还存储有各分段单元的分段信息。8.根据权利要求6所述的方法,其特征在于,所述方法还包括 当相邻两分段单元中数据项的数量和小于第四阈值时,将所述相邻两分段单元合并;或者, 当索引数据的数据项只划分为一个分段单元时,若该分段单元中的数据项数量小于第五阈值,则将该索引数据从块索引迁移至分段索引中;或者, 当分段单元中数据项的数量大于第六阈值时,将该分段单元划分为两个新的分段单元ο9.一种索引数据处理设备,其特征在于,至少一种属性信息的索引数据存储在一个索引结构中,所述索引结构包括一头...

【专利技术属性】
技术研发人员:曹俊亮
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1