CN102890714B - 数据索引方法及装置 - Google Patents

数据索引方法及装置 Download PDF

Info

Publication number
CN102890714B
CN102890714B CN201210356475.5A CN201210356475A CN102890714B CN 102890714 B CN102890714 B CN 102890714B CN 201210356475 A CN201210356475 A CN 201210356475A CN 102890714 B CN102890714 B CN 102890714B
Authority
CN
China
Prior art keywords
address
dimensional index
index
address record
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.)
Expired - Fee Related
Application number
CN201210356475.5A
Other languages
English (en)
Other versions
CN102890714A (zh
Inventor
杨建洲
王新宇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201210356475.5A priority Critical patent/CN102890714B/zh
Publication of CN102890714A publication Critical patent/CN102890714A/zh
Priority to JP2015532276A priority patent/JP6148732B2/ja
Priority to PCT/CN2013/075065 priority patent/WO2014044053A1/zh
Priority to EP13840050.2A priority patent/EP2899649A4/en
Priority to US14/665,668 priority patent/US20150193491A1/en
Application granted granted Critical
Publication of CN102890714B publication Critical patent/CN102890714B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2282Tablespace storage structures; Management thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2264Multidimensional index structures

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

本发明实施例公开了一种数据索引方法及装置。本发明实施例提供的数据索引方法及装置,根据N个维度获取与N个维度对应的、且相互独立的N个单维索引,判断与所述维度相对应的N个所述相互独立的单维索引包含的地址记录是否有交集,以获取交集相对应的地址记录所指向的数据为索引目标数据。解决了单维索引技术无法满足多维索引组合查询以及多维分析的需求。以及通过确定与N个所述单维索引包含的地址记录相对应的标签数标志位的计数值的大小,简单方便地满足了多维分析的速度要求,降低了索引的复杂度,提升了数据精确索引数据的性能。

Description

数据索引方法及装置
技术领域
本发明涉及数据索引技术领域,具体涉及数据的索引方法及装置。
背景技术
随着商业智能(Business Intelligent)的发展,在电信业务质量管理、网络性能管理、互联网应用分析等多种领域需要对海量数据进行快速统计以及索引,一般的单维索引技术已经满足不了对海量数据进行快速存储、统计以及索引的高要求。
目前,采用分布式存储系统(Hadoop Database)的数据索引技术解决了海量数据的索引问题,主要通过对海量数据进行区域划分建立索引数据,并以列存储形式存储在不同的域存储器上,依据单维索引技术索引数据。基于分布式存储系统(Hadoop Database)的数据建立的单维索引技术只能建立有限的索引数据,大量的索引数据必须在外部存储介质上存储。而且单维索引技术无法满足多维分析以及多维索引组合查询的需求,增加大量数据后单维索引速度存在衰减,继而不能快捷方便地查询目标数据,应用普遍性受限。因此,为了满足海量数据的快速统计以及索引,多维索引技术成为新的研究方向。
发明内容
鉴于此,本发明实施例提供了一种数据索引方法及装置,解决了单位索引应用普遍性受限,索引效率低的问题。
本发明实施例一方面提供的一种数据索引方法,包括:
获取与N个维度对应的、且相互独立的N个单维索引;所述N大于等于2;
判断所述N个单维索引中包含的地址记录是否有交集;
若有交集,则获取所述交集对应的地址记录所指向的数据作为索引目标数据。
作为一种可选的实施方式,所述判断所述N个单维索引中包含的地址记录是否有交集包括以下步骤:
判断所述N个单维索引中包含的地址记录是否存在相同地址记录;
若存在,则确认所述N个单维索引中包含的地址记录有交集。
作为一种可选的实施方式,所述判断所述N个单维索引包含的地址记录是否存在相同地址记录包括以下步骤:
根据N个维度获取所述N个维度相对应的单维索引的地址记录;
对所述地址记录对应的标签数标志位的计数值加1;
判断所述地址记录对应的标签数标志位的计数值是否等于所述N;
如果是,则选取所述地址记录对应的标签数标志位的计数值等于所述N的地址记录作为相同地址记录。
作为一种可选的实施方式,所述判断所述N个单维索引包含的地址记录是否存在相同地址记录包括以下步骤:
A、从所述N个单维索引中获取第K个单维索引作为当前单维索引,其中,K小于所述N且K大于零;
B、获取所述当前单维索引的地址记录;
C、对与所述地址记录相对应的标签数标志位的计数值加1;
D、从所述N个单维索引中获取第K+1个单维索引,作为当前单维索引;
E、判断K+1是否等于N;如果不等于N则执行步骤B;
F、根据K+1等于N的结果,则获取第N个单维索引的地址记录;
G、判断所述第N个单维索引的地址记录相对应的标签数标志位的计数值是否等于N-1;
H、如果是,则选取所述第N个单维索引的地址记录相对应的标签数标志位的计数值等于N-1的所述地址记录,作为相同地址记录。
作为一种可选的实施方式,对与所述地址记录相对应的标签数标志位进行计数之前,所述方法还包括:
初始化清零与所述地址记录对应的标签数标志位的计数值。
作为一种可选的实施方式,所述获取与N个维度对应的、且相互独立的N个单维索引之前,所述方法还包括:
根据元数据将若干数据进行分区存储,生成i个分区存储区;
根据分类标准对每个分区存储区中的数据建立互相独立的单维索引;
存储所述每个分区存储区及所述每个分区存储区对应包含的单维索引至相同的存储处理节点上,以生成包含i个不同存储处理节点的索引表。
作为一种可选的实施方式,所述索引表包含键值表和地址分配表,所述地址分配表记录了每个单维索引的键值对应的地址记录,所述键值表包括每个单维索引的键值及与所述键值对应的存储地址,与所述键值对应的存储地址用于指向所述键值对应的地址记录;
所述地址记录表示数据记录在分区存储区中的偏移位置,包括记录号和记录长度。
作为一种可选的实施方式,所述键值表的存储方式包括有序线性存储方式或者二叉树存储方式。
作为一种可选的实施方式,所述地址分配表的存储方式采用分块存储方式。
本发明实施例的另一方面提供了一种数据索引装置,包括:
第一单元,用于获取与N个维度对应的、且相互独立的N个单维索引;所述N大于等于2;
第二单元,用于判断所述N个单维索引包含的地址记录是否有交集;
第三单元,用于获取所述交集对应的地址记录所指向的数据作为索引目标数据。
作为一种可选的实施方式,所述第二单元,具体用于判断所述N个单维索引中包含的地址记录是否存在相同地址记录;若存在,则确认所述N个单维索引中包含的地址记录有交集。
作为一种可选的实施方式,所述第二单元包括:
第一子单元,用于获取所述N个单维索引的地址记录;
第二子单元,用于对所述地址记录对应的标签数标志位的计数值加1;
第三子单元,用于判断所述地址记录对应的标签数标志位的计数值是否等于所述N;
第四子单元,用于根据第三子单元判断所述地址记录对应的标签数标志位的计数值等于所述N的判断通知,选取所述地址记录对应的标签数标志位的计数值等于所述N的地址记录作为相同地址记录。
作为一种可选的实施方式,所述第二单元包括:
第一获取单元,用于从所述N个单维索引中获取第K个单维索引作为当前单维索引,其中,K小于所述N且K大于零;
第二获取单元,用于获取所述当前单维索引的地址记录;
计数单元,用于对与所述当前单维索引的地址记录相对应的标签数标志位的计数值加1;
所述第一获取单元,还用于从所述N个单维索引中获取第K+1个单维索引,作为当前单维索引;
控制单元,用于判断K+1是否等于N;如果不等于N,则控制第二获取单元获取所述当前单维索引的地址记录;
所述第一获取单元,还用于根据所述控制单元判断K+1等于N的结果,获取第N个单维索引的地址记录;
所述控制单元,还用于判断所述第N个单维索引的地址记录相对应的标签数标志位的计数值是否等于N-1;
所述第一获取单元,还用于根据所述控制单元判断所述第N个单维索引的地址记录相对应的标签数标志位的计数值等于N-1的判断通知,选取所述第N个单维索引的地址记录相对应的标签数标志位的计数值等于N-1的所述地址记录,作为相同地址记录。
作为一种可选的实施方式,所述第二单元还包括:
初始化单元,用于初始化清零与所述地址记录对应的标签数标志位的计数值。
作为一种可选的实施方式,所述数据索引装置还包括:
分区存储单元,用于根据元数据将若干数据进行分区存储,生成i个分区存储区;
处理单元,用于根据分类标准对每个分区存储区中的数据建立互相独立的单维索引;
所述处理单元,还用于存储所述每个分区存储区及所述每个分区存储区对应包含的单维索引至相同的存储处理节点上,以生成包含i个不同存储处理节点的索引表。
作为一种可选的实施方式,所述索引表包含键值表和地址分配表,所述地址分配表记录了每个单维索引的键值对应的地址记录,所述键值表包括每个单维索引的键值及与所述键值对应的存储地址,与所述键值对应的存储地址用于指向所述键值对应的地址记录;
所述地址记录表示数据记录在分区存储区中的偏移位置,包括记录号和记录长度。
作为一种可选的实施方式,所述键值表的存储方式包括有序线性存储方式或者二叉树存储方式。
作为一种可选的实施方式,所述地址分配表的存储方式采用分块存储方式。
本发明实施例提供的数据索引方法,根据N个维度获取与N个维度对应的、且相互独立的N个单维索引,判断与所述维度相对应的N个所述相互独立的单维索引包含的地址记录是否有交集,以获取交集相对应的地址记录所指向的数据为索引目标数据。解决了单维索引技术无法满足多维索引组合查询以及多维分析的需求。以及通过确定与N个所述单维索引包含的地址记录相对应的标签数标志位的计数值的大小,简单方便地实现了多维分析的速度要求,降低了索引的复杂度,提升了精确索引数据的索引性能。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例一提供的一种数据索引方法示意图;
图2是本发明实施例一提供的另一种数据索引方法示意图;
图3是本发明实施例一提供的又一种数据索引方法示意图;
图4为本发明实施例一提供的数据进行分区存储建立单维索引的示意图;
图5为本发明实施例一提供的索引表中分区存储区CDF1包含的单维索引的键值与地址分配关系示意图;
图6a为本发明实施例提供的多维关键指标分布式存储应用示意图;
图6b为本发明实施例提供的数据索引方法在详单存储查询中的应用示意图;
图7为本发明实施例二提供的一种数据索引装置结构图;
图8为本发明实施例二提供的第二单元的一种结构图;
图9为本发明实施例二提供的第二单元的另一种结构图;
图10为本发明实施例二提供的又一种数据索引装置结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1是本发明实施例一提供的一种数据索引方法示意图,如图1所示,本实施例提供的数据索引方法包括以下步骤:
S110、获取与N个维度对应的、且相互独立的N个单维索引;N大于等于2;
S120、判断N个单维索引包含的地址记录是否有交集;
若有交集,则执行步骤S130;若否,则执行步骤S131,即结束本流程。
S130、获取所述交集对应的地址记录所指向的数据作为索引目标数据。
本实施例根据N个维度获取与N个维度对应的、且相互独立的N个单维索引,判断与维度相对应的N个相互独立的单维索引包含的地址记录是否有交集,以获取交集相对应的地址记录所指向的数据为索引目标数据。解决了单维索引技术无法满足多维索引组合查询以及多维分析的需求。
作为一种可选的实施方式,基于图1所示的步骤S120,即判断所述N个单维索引中包含的地址记录是否有交集还可以包括以下步骤:
判断所述N个单维索引中包含的地址记录是否存在相同地址记录;
若存在,则确认所述N个单维索引中包含的地址记录有交集。
作为一种可选的实施方式,请参阅图2,图2是本发明实施例一提供的另一种数据索引方法的示意图,如图2所示,判断N个单维索引包含的地址记录是否存在相同地址记录包括以下步骤:
S121、获取N个单维索引包含的地址记录;
S122、对地址记录对应的标签数标志位的计数值加1;
S123、判断地址记录对应的标签数标志位的计数值是否等于N;如果是,则执行步骤S124;若果不是,则执行步骤S125,即结束本流程。
S124、选取地址记录对应的标签数标志位的计数值等于N的地址记录作为相同地址记录。
本实施方式通过标签计数的方式实现了选取相同地址记录的功能,技术实现简单可靠,无误差性。通过确定与N个单维索引包含的地址记录相对应的标签数标志位的计数值的大小,简单方便地实现了多维分析的速度要求,降低了索引的复杂度,提升了数据精确索引数据的性能。
作为一种可选的实施方式,请参阅图3,图3是本发明实施例一提供的又一种数据索引方法示意图,如图3所示,判断N个单维索引包含的地址记录是否存在相同地址记录包括以下步骤:
S1201、从N个单维索引中获取第K个单维索引作为当前单维索引;其中,K小于N且K大于零;
S1202、获取当前单维索引的地址记录;
S1203、对与地址记录相对应的标签数标志位的计数值加1;
S1204、从N个单维索引中获取第K+1个单维索引,作为当前单维索引;
S1205、判断K+1是否等于N;
如果不等于N,则执行步骤S1202;
若K+1等于N,则执行步骤S1206;
S1206、获取第N个单维索引的地址记录;
S1207、判断第N个单维索引的地址记录相对应的标签数标志位的计数值是否等于N-1;
如果是,则执行步骤S1208;如果否,则执行步骤S1209,即结束本流程。
S1208、选取第N个单维索引的地址记录相对应的标签数标志位的计数值等于N-1的地址记录,作为相同地址记录。
本实施方式也是通过标签计数的方式实现了选取相同地址记录的功能,技术实现简单可靠,无误差性。当对最后一个单维索引的地址记录进行对应的标签数标志位计数之前,已确定需要对当前的地址记录对应的标签数标志位的计数值加1,故只需判断当前的地址记录对应的标签数标志位的计数值是否等于N-1,如果等于,则可间接的确定当前的地址记录对应的标签数标志位的计数值为N,即当前的地址记录作为相同的地址记录。
作为一种可选的实施方式,对与地址记录相对应的标签数标志位进行计数之前,方法还包括:
初始化清零与地址记录对应的标签数标志位的计数值。
作为一种可选的实施方式,获取与N个维度对应的、且相互独立的N个单维索引之前,方法还可以包括:
根据元数据将若干数据进行分区存储,生成i个分区存储区;
根据分类标准对每个分区存储区中的数据建立相独立的单维索引;
存储每个分区存储区及每个分区存储区对应包含的单维索引至相同的存储处理节点上,以生成包含i个不同存储处理节点的索引表。
元数据包括记录信息,可以是时间信息,也可以是分类标准信息。分区存储区可存储至内存或者外部存储介质中。
其请参阅图4,图4为本发明实施例一提供的数据进行分区存储建立单维索引的示意图。通过元数据对海量数据按照时间记录信息或者其他分类标准信息进行分区存储,可以是若干个,在本实施例中分成三个分区存储区,如图4所示,共分成三个分区存储区(Container Data File,CDF),分别是分区存储区CDF1、分区存储区CDF2以及分区存储区CDF3,根据分类标准针对每个分区存储区的数据建立单维索引,每个分区存储区中的有限数量的单维索引相互之间是独立的,即分区存储区CDF1中包含的单维索引Dimension1Index、Dimension2Index和Dimension3Index三者之间是相互独立的;同理,分区存储区CDF2中包含的单维索引Dimension1 Index、Dimension2Index和Dimension3Index三者之间也是相互独立的;分区存储区CDF3中包含的单维索引Dimension1 Index、Dimension2 Index和Dimension3 Index三者之间也是相互独立的。其中,存储分区存储区CDF1、分区存储区CDF1包含的单维索引Dimension1 Index、Dimension2 Index和Dimension3 Index至同一节点NodeA上,存储分区存储区CDF2、分区存储区CDF2包含的单维索引Dimension1 Index、Dimension2 Index和Dimension3 Index至同一节点NodeB上,存储分区存储区CDF3、分区存储区CDF3包含的单维索引Dimension 1Index、存储Dimension2 Index和Dimension3 Index至同一节点NodeC上。
请参阅图5,图5为本发明实施例一提供的索引表中分区存储区CDF1包含的单维索引的键值与地址分配关系示意图。如图5所示,索引表包含键值表和地址分配表,地址分配表记录了每个单维索引的键值对应的地址记录,键值表包括每个单维索引的键值及与键值对应的地址分配表的首地址记录的存储地址;地址记录可用记录号和记录长度表示,地址记录可定位记录地址偏移量,从而获取数据。其中,地址记录表示数据记录在分区存储区中的偏移位置,对于等长的数据,地址记录可简化用记录号表示。本实施例中,设定若干数据的类型为等长数据类型,则地址记录简化用记录号表示。例如,单维索引Dimension1 Index对应的键值表包括键值K1和键值K1对应的存储地址FirstAdd,其中,键值K1对应的存储地址FirstAdd用于指向键值K1对应的地址记录add1、地址记录add7、地址记录add15;其中,add1、add7、add15为地址记录的记录号。单维索引Dimension2Index对应的键值表包括键值K2和键值K2对应的存储地址FirstAdd,其中,键值K2对应的存储地址FirstAdd用于指向键值K2对应的地址记录add1、地址记录add9、地址记录add14;其中,add1、add9、add14为地址记录的记录号。单维索引Dimension3 Index对应的键值表包括键值K3和键值K3对应的存储地址FirstAdd,其中,键值K3对应的存储地址FirstAdd用于指向键值K3对应的地址记录add2、地址记录add9、地址记录add14;其中add2、add9、add14为记录号。当应用到具体地检索场景时,可以是话单查询,CDF1分区存储区存储的为9月1号的话单信息,单据至少包括两部分信息,分别是区号和计费标识,则检索条件对应区号和计费标识。其中,以键值K1对应区号“武汉”,键值K2对应计费标识“免费拨打”,则通过索引获得维度与索引信息“武汉”对应的单维索引,索引到键值K1对应的地址记录add1、地址记录add7、地址记录add15;以及通过索引获得维度与索引信息“免费拨打”对应的单位索引,则索引到键值K2对应的地址记录add1、地址记录add9、地址记录add14。地址记录add1、add9、add14指向的话单信息都是免费拨打的话单数据。址记录add1、地址记录add7、地址记录add15指向的话单信息都为打给武汉的话单数据,则索引到地址记录add1是相同的地址记录,则确定地址记录add1指向的话单信息是索引目标数据。
作为一种可选的实施方式,键值表的存储方式包括有序线性存储方式或者二叉树存储方式。
作为一种可选的实施方式,地址分配表的存储方式采用分块存储方式。
此外,需要说明的是,本实施例提供的数据索引方法可以有效地提高数据入库性能,以100万512字节的单据为例,包含12个维度,采用正交多维索引组织数据与SybaseIQ数据库入库性能测试结果如表(一)记录:可以看出,正交多维索引数据插入性能是SybaseIQ的9.84倍。
表(一)
本实施例提供的数据索引方法用过标签数标志位计数值叠加方式进行地址记录的正交运算,以取得相同的地址记录,降低了比较次数的算法复杂度,通过表(二)可以看出,标签叠加方式进行向量交集运算大幅降低了算法复杂度,提升了性能。
表(二)
在电信信令监测、网络性能管理(Service Quanlity Management,SQM)、客户经验管理(Customer Experience Management,CEM)及互联网数据分析中,根据输入的呼叫信息记录单据(Call Detail Record,CDR)计算多维关键指标(Key Performance Indicator,KPI),挖掘数据中包含的信息。例如,移动用户上网产生的CDR包含终端类型、操作系统类型、设备类型、小区、网关支持节点(Gateway GPRS Support Node)、服务支持节点(Serving GPRS SUPPORTNODE)、浏览访问网站等维度,需要进行多维KPI分析。
请参阅图6a,图6a为本发明实施例提供的多维关键指标分布式存储应用示意图。如图6a所示,本实施例提供的多维KPI分布式存储可以基于数据索引方法实现,即基于本实施例提供的多维索引方法的实现,获取到包括目标数据的单据,对所述单据进行关键指标的计算。其中,多维关键指标的获取可以基于本实施例提供的索引表的获取方式进行计算得出,即先对所述单据进行分区存储,然后对每个分区存储区建立若干个单维索引,将每个分区存储区的若干个单位索引对应的关键指标元数据进行汇总得出每个分区存储区的关键指标,之后再汇总每个分区存储区的关键指标,以获得多维KPI,如图6a所示,获取多维KPI的方法包括如下步骤:
S610,接收数据;
S620,解析数据;
S630,分布式存储计算出KPI;
S640,联机分析处理;
S650,网络应用呈现多维KPI。
其中,执行步骤S630时,可参考图6a显示的虚线框部分,示出了分布式存储计算获得多维KPI的简单过程,主要是在内存或者外部存储介质中将数据中的呼叫信息记录单据CDR分区存储,图中示出了三个分区存储区,分别是CDF1、CDF2以及CDF3,并在每个分区存储区独立建立多个单维索引,图示中在每个分区存储区中示出三个单维索引,即Dimension1 Index、Dimension2 Index、Dimension3Index,然后对每个分布式节点执行计算任务,利用单维维度,获取CDR,计算每个分布式节点的关键指标即进行KPI分析;分布式节点计算完成后,将每个分布式节点的关键指标KPI发送到汇总节点进行汇总;汇总后的多维关键指标KPI存储在联机分析处理数据仓库中,供网络应用呈现多维关键指标KPI。
在电信信令监测、网络性能管理(Service Quanlity Management,简称SQM)、客户经验管理(Customer Experience Management,简称CEM)及互联网数据分析中,根据输入的呼叫信息记录单据(Call Detail Record,简称CDR)计算多维关键指标(Key Performance Indicator,简称KPI),挖掘数据中包含的信息。例如,移动用户上网产生的CDR包含终端类型、操作系统类型、设备类型、小区、网关(Gateway GPRS Support Node)、服务支持节点(Serving GPRS SUPPORTNODE)、浏览访问网站等维度,需要进行多维详单查询。
请参阅图6b,图6b为本发明实施例提供的数据索引方法在详单存储查询中的应用示意图。如图6b所示,本实施例提供的数据索引方法在详单存储查询中的应用方法如下:
S710、接收数据;
S720、解析数据;
S730、查询详单;
S740、网络应用呈现详单。
其中,步骤S730的执行应基于本实施例提供的数据索引方法实现。如步骤S730指向的虚线框所示,通过本实施例提供的数据索引方法获得包括目标数据的单据后,通过网络应用呈现所述单据。
请参阅图7,图7为本发明实施例二提供的数据索引装置结构图。如图7所示,本实施例提供的数据索引装置包括:第一单元710、第二单元720和第三单元730。
其中,第一单元710,用于获取与N个维度对应的、且相互独立的N个单维索引;N大于等于2;
第二单元720,用于判断N个单维索引包含的地址记录是否有交集;
第三单元730,用于根据第二单元的判断为是的通知获取交集对应的地址记录所指向的数据作为索引目标数据。
本实施例通过第一单元710根据N个维度获取与N个维度对应的、且相互独立的N个单维索引,通过第二单元720判断与维度相对应的N个相互独立的单维索引包含的地址记录是否有交集,以通过第三单元730获取交集相对应的地址记录所指向的数据为索引目标数据。解决了单维索引技术无法满足多维索引组合查询以及多维分析的需求。
作为一种可选的实施方式,第二单元,具体用于判断所述N个单维索引中包含的地址记录是否存在相同地址记录;若存在,则确认所述N个单维索引中包含的地址记录有交集。
作为一种可选的实施方式,请参阅图8,图8为本发明实施例二提供的第二单元的一种结构图,如图8所示,第二单元720具体包括:
第一子单元721,用于获取N个单维索引的地址记录;
第二子单元722,用于对地址记录对应的标签数标志位的计数值加1;
第三子单元723,用于判断地址记录对应的标签数标志位的计数值是否等于N;
第四子单元724,用于根据第三子单元723判断地址记录对应的标签数标志位的计数值等于N的判断通知,选取地址记录对应的标签数标志位的计数值等于N的地址记录作为相同地址记录。
请参阅图9,图9为本发明实施例二提供的第二单元的另一种结构图。如图9所示,基于图7示出的第二单元720具体包括:
第一获取单元7201,用于从N个单维索引中获取第K个单维索引作为当前单维索引,其中,K小于N且K大于零;
第二获取单元7202,用于获取当前单维索引的地址记录;
计数单元7203,用于对与当前单维索引的地址记录相对应的标签数标志位的计数值加1;
第一获取单元7201,还用于从N个单维索引中获取第K+1个单维索引,作为当前单维索引;
控制单元7204,用于判断K+1是否等于N;如果不等于N,则控制第二获取单元7202获取当前单维索引的地址记录;
第一获取单元7201,还用于根据控制单元判断K+1等于N的结果,获取第N个单维索引的地址记录;
控制单元7204,还用于判断第N个单维索引的地址记录相对应的标签数标志位的计数值是否等于N-1;
第一获取单元7201,还用于根据控制单元7204判断第N个单维索引的地址记录相对应的标签数标志位的计数值等于N-1的判断通知,选取第N个单维索引的地址记录相对应的标签数标志位的计数值等于N-1的地址记录,作为相同地址记录。
作为一种可选的实施方式,第二单元还包括初始化单元,用于初始化清零与地址记录对应的标签数标志位的计数值。
作为一种可选的实施方式,数据索引装置还包括:
分区存储单元,用于根据元数据将若干数据进行分区存储,生成i个分区存储区;
处理单元,用于根据分类标准对每个分区存储区中的数据建立互相独立的单维索引;
处理单元,还用于存储每个分区存储区及每个分区存储区对应包含的单维索引至相同的存储处理节点上,以生成包含i个不同存储处理节点的索引表。
作为一种可选的实施方式,索引表包含键值表和地址分配表,地址分配表记录了每个单维索引的键值对应的地址记录,键值表包括每个单维索引的键值及与键值对应的地址分配表的首地址记录的存储地址;
地址记录表示数据记录在分区存储区中的偏移位置,包括记录号和记录长度。
作为一种可选的实施方式,键值表的存储方式包括有序线性存储方式或者二叉树存储方式。
作为一种可选的实施方式,地址分配表的存储方式采用分块存储方式。
请参阅图10,图10为本发明实施例二提供的又一种数据索引装置结构图。如图10所示,该数据索引装置包括至少一个处理器1001,至少一个网络接口1004,存储器1005,至少一个通信总线1002和用户接口1003。
该通信总线1002用于实现上述组件之间的连接通信;该用户接口1003用于实现与用户交互。其中,该存储器1005可以存储指令,以使处理器1001执行以下流程:
获取与N个维度对应的、且相互独立的N个单维索引;所述N大于等于2。
判断所述N个单维索引中包含的地址记录是否有交集;
若有交集,则获取所述交集对应的地址记录所指向的数据作为索引目标数据。
作为一种可选的实施方式,处理器1001还可以执行在判断N个单维索引中包含的地址记录是否存在相同地址记录;若存在,则确认所述N个单维索引中包含的地址记录有交集。
作为一种可选的实施方式,处理器1001还可以具体执行以下流程:
根据N个维度获取所述N个维度相对应的单维索引的地址记录;
对所述地址记录对应的标签数标志位的计数值加1;
判断所述地址记录对应的标签数标志位的计数值是否等于所述N;
如果是,则选取所述地址记录对应的标签数标志位的计数值等于所述N的地址记录作为相同地址记录。
作为一种可选的实施方式,处理器1001还可以具体执行如下流程:
A、从所述N个单维索引中获取第K个单维索引作为当前单维索引,其中,K小于所述N且K大于零;
B、获取所述当前单维索引的地址记录;
C、对与所述地址记录相对应的标签数标志位的计数值加1;
D、从所述N个单维索引中获取第K+1个单维索引,作为当前单维索引;
E、判断K+1是否等于N;如果不等于N则执行步骤B;
F、根据K+1等于N的结果,则获取第N个单维索引的地址记录;
G、判断所述第N个单维索引的地址记录相对应的标签数标志位的计数值是否等于N-1;
H、如果是,则选取所述第N个单维索引的地址记录相对应的标签数标志位的计数值等于N-1的所述地址记录,作为相同地址记录。
作为一种可选的实施方式,处理器1001对与所述地址记录相对应的标签数标志位进行计数之前,还用于初始化清零与所述地址记录对应的标签数标志位的计数值。
作为一种可选的实施方式,处理器1001获取与N个维度对应的、且相互独立的N个单维索引之前,还执行如下步骤:
根据元数据将若干数据进行分区存储,生成i个分区存储区;
根据分类标准对每个分区存储区中的数据建立互相独立的单维索引;
存储所述每个分区存储区及所述每个分区存储区对应包含的单维索引至相同的存储处理节点上,以生成包含i个不同存储处理节点的索引表。
作为一种可选的实施方式,所述索引表包含键值表和地址分配表,所述地址分配表记录了每个单维索引的键值对应的地址记录,所述键值表包括每个单维索引的键值及与所述键值对应的所述地址分配表的首地址记录的存储地址;
所述地址记录表示数据记录在分区存储区中的偏移位置,包括记录号和记录长度。
作为一种可选的实施方式,所述键值表的存储方式包括有序线性存储方式或者二叉树存储方式。
作为一种可选的实施方式,所述地址分配表的存储方式采用分块存储方式。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或模块可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置、模块或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
所述作为分离部件说明的模块或单元可以是或者也可以不是物理上分开的,作为模块或单元显示的部件可以是或者也可以不是物理模块或单元,即可以位于一个地方,或者也可以分布到多个网络模块或单元上。可以根据实际的需要选择其中的部分或者全部模块或单元来实现本发明实施例方案的目的。
另外,在本发明各个实施例中的各功能模块或单元可以集成在一个处理模块或单元中,也可以是各个模块或单元单独物理存在,也可以是两个或两个以上模块或单元集成在一个模块或单元中。上述集成的模块或单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的模块或单元如果以软件功能模块或单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (16)

1.一种数据索引方法,其特征在于,包括:
获取与N个维度对应的、且相互独立的N个单维索引;所述N大于等于2;
判断所述N个单维索引中包含的地址记录是否有交集;
若有交集,则获取所述交集对应的地址记录所指向的数据作为索引目标数据;
其中,所述获取与N个维度对应的、且相互独立的N个单维索引之前,所述方法还包括:
根据元数据将若干数据进行分区存储,生成i个分区存储区;
根据分类标准对每个分区存储区中的数据建立互相独立的单维索引;
存储所述每个分区存储区及所述每个分区存储区对应包含的单维索引至相同的存储处理节点上,以生成包含i个不同存储处理节点的索引表。
2.如权利要求1所述的数据索引方法,其特征在于,所述判断所述N个单维索引中包含的地址记录是否有交集包括以下步骤:
判断所述N个单维索引中包含的地址记录是否存在相同地址记录;
若存在,则确认所述N个单维索引中包含的地址记录有交集。
3.如权利要求2所述的数据索引方法,其特征在于,所述判断所述N个单维索引包含的地址记录是否存在相同地址记录包括以下步骤:
根据N个维度获取所述N个维度相对应的单维索引的地址记录;
对所述地址记录对应的标签数标志位的计数值加1;
判断所述地址记录对应的标签数标志位的计数值是否等于所述N;
如果是,则选取所述地址记录对应的标签数标志位的计数值等于所述N的地址记录作为相同地址记录。
4.如权利要求2所述的数据索引方法,其特征在于,所述判断所述N个单维索引包含的地址记录是否存在相同地址记录包括以下步骤:
A、从所述N个单维索引中获取第K个单维索引作为当前单维索引,其中,K小于所述N且K大于零;
B、获取所述当前单维索引的地址记录;
C、对与所述地址记录相对应的标签数标志位的计数值加1;
D、从所述N个单维索引中获取第K+1个单维索引,作为当前单维索引;
E、判断K+1是否等于N;如果不等于N则执行步骤B;
F、根据K+1等于N的结果,则获取第N个单维索引的地址记录;
G、判断所述第N个单维索引的地址记录相对应的标签数标志位的计数值是否等于N-1;
H、如果是,则选取所述第N个单维索引的地址记录相对应的标签数标志位的计数值等于N-1的所述地址记录,作为相同地址记录。
5.如权利要求3或4所述的数据索引方法,其特征在于,对与所述地址记录相对应的标签数标志位进行计数之前,所述方法还包括:
初始化清零与所述地址记录对应的标签数标志位的计数值。
6.如权利要求5所述的数据索引方法,其特征在于,所述索引表包含键值表和地址分配表,所述地址分配表记录了每个单维索引的键值对应的地址记录,所述键值表包括每个单维索引的键值及与所述键值对应的存储地址,与所述键值对应的存储地址用于指向所述键值对应的地址记录;
所述地址记录表示数据记录在分区存储区中的偏移位置,包括记录号和记录长度。
7.如权利要求6所述的数据索引方法,其特征在于,所述键值表的存储方式包括有序线性存储方式或者二叉树存储方式。
8.如权利要求7所述的数据索引方法,其特征在于,所述地址分配表的存储方式采用分块存储方式。
9.一种数据索引装置,其特征在于,包括:
第一单元,用于获取与N个维度对应的、且相互独立的N个单维索引;所述N大于等于2;
第二单元,用于判断所述N个单维索引包含的地址记录是否有交集;
第三单元,用于获取所述交集对应的地址记录所指向的数据作为索引目标数据;
其中,所述装置还包括:
分区存储单元,用于根据元数据将若干数据进行分区存储,生成i个分区存储区;
处理单元,用于根据分类标准对每个分区存储区中的数据建立互相独立的单维索引;
所述处理单元,还用于存储所述每个分区存储区及所述每个分区存储区对应包含的单维索引至相同的存储处理节点上,以生成包含i个不同存储处理节点的索引表。
10.如权利要求9所述的数据索引装置,其特征在于,所述第二单元,具体用于判断所述N个单维索引中包含的地址记录是否存在相同地址记录;若存在,则确认所述N个单维索引中包含的地址记录有交集。
11.如权利要求10所述的数据索引装置,其特征在于,所述第二单元包括:
第一子单元,用于获取所述N个单维索引的地址记录;
第二子单元,用于对所述地址记录对应的标签数标志位的计数值加1;
第三子单元,用于判断所述地址记录对应的标签数标志位的计数值是否等于所述N;
第四子单元,用于根据第三子单元判断所述地址记录对应的标签数标志位的计数值等于所述N的判断通知,选取所述地址记录对应的标签数标志位的计数值等于所述N的地址记录作为相同地址记录。
12.如权利要求10所述的数据索引装置,其特征在于,所述第二单元包括:
第一获取单元,用于从所述N个单维索引中获取第K个单维索引作为当前单维索引,其中,K小于所述N且K大于零;
第二获取单元,用于获取所述当前单维索引的地址记录;
计数单元,用于对与所述当前单维索引的地址记录相对应的标签数标志位的计数值加1;
所述第一获取单元,还用于从所述N个单维索引中获取第K+1个单维索引,作为当前单维索引;
控制单元,用于判断K+1是否等于N;如果不等于N,则控制第二获取单元获取所述当前单维索引的地址记录;
所述第一获取单元,还用于根据所述控制单元判断K+1等于N的结果,获取第N个单维索引的地址记录;
所述控制单元,还用于判断所述第N个单维索引的地址记录相对应的标签数标志位的计数值是否等于N-1;
所述第一获取单元,还用于根据所述控制单元判断所述第N个单维索引的地址记录相对应的标签数标志位的计数值等于N-1的判断通知,选取所述第N个单维索引的地址记录相对应的标签数标志位的计数值等于N-1的所述地址记录,作为相同地址记录。
13.如权利要求11或12所述数据索引装置,其特征在于,所述第二单元还包括:
初始化单元,用于初始化清零与所述地址记录对应的标签数标志位的计数值。
14.如权利要求13所述的数据索引装置,其特征在于,所述索引表包含键值表和地址分配表,所述地址分配表记录了每个单维索引的键值对应的地址记录,所述键值表包括每个单维索引的键值及与所述键值对应的存储地址,与所述键值对应的存储地址用于指向所述键值对应的地址记录;
所述地址记录表示数据记录在分区存储区中的偏移位置,包括记录号和记录长度。
15.如权利要求14所述的数据索引装置,其特征在于,所述键值表的存储方式包括有序线性存储方式或者二叉树存储方式。
16.如权利要求15所述的数据索引装置,其特征在于,所述地址分配表的存储方式采用分块存储方式。
CN201210356475.5A 2012-09-24 2012-09-24 数据索引方法及装置 Expired - Fee Related CN102890714B (zh)

Priority Applications (5)

Application Number Priority Date Filing Date Title
CN201210356475.5A CN102890714B (zh) 2012-09-24 2012-09-24 数据索引方法及装置
JP2015532276A JP6148732B2 (ja) 2012-09-24 2013-05-02 データインデックス化方法及び装置
PCT/CN2013/075065 WO2014044053A1 (zh) 2012-09-24 2013-05-02 数据索引方法及装置
EP13840050.2A EP2899649A4 (en) 2012-09-24 2013-05-02 DATA INDEXING METHOD AND DEVICE
US14/665,668 US20150193491A1 (en) 2012-09-24 2015-03-23 Data indexing method and apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210356475.5A CN102890714B (zh) 2012-09-24 2012-09-24 数据索引方法及装置

Publications (2)

Publication Number Publication Date
CN102890714A CN102890714A (zh) 2013-01-23
CN102890714B true CN102890714B (zh) 2015-04-15

Family

ID=47534216

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210356475.5A Expired - Fee Related CN102890714B (zh) 2012-09-24 2012-09-24 数据索引方法及装置

Country Status (5)

Country Link
US (1) US20150193491A1 (zh)
EP (1) EP2899649A4 (zh)
JP (1) JP6148732B2 (zh)
CN (1) CN102890714B (zh)
WO (1) WO2014044053A1 (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102890714B (zh) * 2012-09-24 2015-04-15 华为技术有限公司 数据索引方法及装置
CN104714972B (zh) * 2013-12-17 2018-06-22 中国银联股份有限公司 数据库分表建立及查询方法
CN107122358B (zh) * 2016-02-24 2020-09-01 阿里巴巴集团控股有限公司 混合查询方法及设备
CN106295450A (zh) * 2016-08-26 2017-01-04 易联(北京)物联网科技有限公司 一种基于对nfc标签锁定的方法
CN106326461B (zh) * 2016-08-30 2019-07-30 杭州东方通信软件技术有限公司 一种基于网络信令记录的实时处理保障方法及系统
JP6871504B2 (ja) * 2016-12-27 2021-05-12 富士通株式会社 情報処理装置、データロードプログラム及びデータロード方法
CN106940870A (zh) * 2017-03-22 2017-07-11 成都市互联互通大数据科技有限公司 一种用于对建筑业企业信息进行多维度组合检索的方法及其系统
CN109992535B (zh) * 2017-12-29 2024-01-30 华为技术有限公司 一种存储控制方法、装置和系统
CN109145110B (zh) * 2018-06-29 2022-06-28 土巴兔集团股份有限公司 标签查询方法和装置
CN111159140B (zh) * 2019-12-31 2023-09-19 咪咕文化科技有限公司 数据处理方法、装置、电子设备及存储介质
US11954345B2 (en) 2021-12-03 2024-04-09 Samsung Electronics Co., Ltd. Two-level indexing for key-value persistent storage device
CN114647388B (zh) * 2022-05-24 2022-08-12 杭州优云科技有限公司 一种分布式块存储系统和管理方法
CN117811951B (zh) * 2024-02-29 2024-05-31 苏州大学 一种基于Sketch的网络流大小测量方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101707545A (zh) * 2009-11-06 2010-05-12 中兴通讯股份有限公司 一种实现私有虚拟局域网的方法和系统
CN101714172A (zh) * 2009-11-13 2010-05-26 华中科技大学 一种支持访问控制的索引结构及其检索方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0855050A (ja) * 1994-08-09 1996-02-27 Nec Corp 動的インデックス作成装置
US6510435B2 (en) * 1996-09-02 2003-01-21 Rudolf Bayer Database system and method of organizing an n-dimensional data set
DE19635429A1 (de) * 1996-09-02 1998-03-05 Rudolf Prof Bayer Datenbanksystem und Verfahren zum Verwalten eines n-dimensionalen Datenbestands
US6381605B1 (en) * 1999-05-29 2002-04-30 Oracle Corporation Heirarchical indexing of multi-attribute data by sorting, dividing and storing subsets
US6470344B1 (en) * 1999-05-29 2002-10-22 Oracle Corporation Buffering a hierarchical index of multi-dimensional data
US20040133581A1 (en) * 2002-05-21 2004-07-08 High-Speed Engineering Laboratory, Inc. Database management system, data structure generating method for database management system, and storage medium therefor
US7146361B2 (en) * 2003-05-30 2006-12-05 International Business Machines Corporation System, method and computer program product for performing unstructured information management and automatic text analysis, including a search operator functioning as a Weighted AND (WAND)
US8051021B2 (en) * 2006-09-12 2011-11-01 International Business Machines Corporation System and method for resource adaptive classification of data streams
JP5470082B2 (ja) * 2010-02-16 2014-04-16 日本電信電話株式会社 情報蓄積検索方法及び情報蓄積検索プログラム
CN102890714B (zh) * 2012-09-24 2015-04-15 华为技术有限公司 数据索引方法及装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101707545A (zh) * 2009-11-06 2010-05-12 中兴通讯股份有限公司 一种实现私有虚拟局域网的方法和系统
CN101714172A (zh) * 2009-11-13 2010-05-26 华中科技大学 一种支持访问控制的索引结构及其检索方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
High-Speed Policy-based Packet Forwarding Using Efficient Multi-dimensional Range Matching;T.V.Lakshman 等;《ACM SIGCOMM Computer Communication Review》;19981031;第28卷(第4期);4.1 基于位并行的包分类器、图2 *

Also Published As

Publication number Publication date
CN102890714A (zh) 2013-01-23
EP2899649A1 (en) 2015-07-29
JP6148732B2 (ja) 2017-06-14
US20150193491A1 (en) 2015-07-09
WO2014044053A1 (zh) 2014-03-27
EP2899649A4 (en) 2015-11-11
JP2015530666A (ja) 2015-10-15

Similar Documents

Publication Publication Date Title
CN102890714B (zh) 数据索引方法及装置
US9946752B2 (en) Low-latency query processor
CN106528787B (zh) 一种基于海量数据多维分析的查询方法及装置
CN111258978B (zh) 一种数据存储的方法
CN103838867A (zh) 日志处理方法和装置
CN106557498A (zh) 数据存储方法和装置以及数据查询方法和装置
CN106407303A (zh) 数据存储、查询方法及装置
CN103916256A (zh) 网络优化方法及装置、系统
EP3955129A1 (en) Map point information processing method and device, and server
CN102779138A (zh) 实时数据的硬盘存取方法
CN104346458A (zh) 数据存储方法和存储设备
US11928113B2 (en) Structure and method of aggregation index for improving aggregation query efficiency
CN104980462A (zh) 分布式计算方法、装置和系统
KR101654314B1 (ko) 공간 데이터 분산 처리 시스템 및 그 동작 방법
CN103200269A (zh) 互联网信息统计方法及系统
CN103746851A (zh) 一种实现独立用户数统计的方法及装置
CN104462095B (zh) 一种查询语句公共部分的提取方法及装置
CN106326280A (zh) 数据处理方法、装置及系统
WO2020230147A1 (en) Managing network event data in a telecommunications network
CN107203554A (zh) 一种分布式检索方法及装置
CN103020300B (zh) 一种信息检索方法和设备
CN114564501B (zh) 一种数据库数据存储、查询方法、装置、设备及介质
US10467193B1 (en) Real-time ad hoc querying of data records
CN103747048A (zh) 一种信息处理方法和装置
CN104219102A (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
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20150415

Termination date: 20180924