【技术实现步骤摘要】
【国外来华专利技术】一种为数据建立索引的方法以及装置
本申请涉及计算机
,尤其涉及为数据建立索引的方法、执行该方法的装置和设备。
技术介绍
在数据库和大数据等领域都有对数据进行快速查找的需求,通常可以通过为数据构建索引来提升后续查找数据的效率,例如,可以为数据构建B树或B+树作为索引。B+树需要基于固定规则为数据构建。然而,在构建索引时,数据本身的特点与构建索引采用的规则之间并无关系,且基于固定规则构建的索引需要占用大量的空间。
技术实现思路
本申请实施例提供了一种为数据建立索引的方法,通过该方法建立的数据索引的复杂度低,占用的存储空间小。本申请实施例的第一方面提供一种为数据建立索引的方法,包括获取原始数据表,所述原始数据表中包括多个原始数据,每个原始数据包括键key和值value;根据所述多个原始数据的键对所述多个原始数据进行分段,获取M段原始数据以及M个第一映射关系,也即采用M个第一映射关系来拟合原始数据的键和原始数据的键在原始数据表中位置之间的关系,其中,每个第一映射关系指示一段原始数据的键与该段原始数据的键在所述原始数据表中所在的位置之间的对应关系;获取所述M段原始数据中每段原始数据的首键;对获取的M个首键进行分段,获取N段首键以及N个第二映射关系,其中,每个第二映射关系指示一段首键内的首键与该段首键内的首键的源数据段的第一映射关系的标识的对应关系,该段首键内的首键从所述源数据段获取,M为大于1的整数,N为大于或等于1的整数。该方法在两次分段的过程中获取的映射关系依据原始数据的键在原始数据表中的 ...
【技术保护点】
一种为数据建立索引的方法,其特征在于,包括:/n获取原始数据表,所述原始数据表中包括多个原始数据,每个原始数据包括键key和值value;/n根据所述多个原始数据的键对所述多个原始数据进行分段,获取M段原始数据以及M个第一映射关系,其中,每个第一映射关系指示一段原始数据的键与该段原始数据的键在所述原始数据表中所在的位置之间的对应关系,M为大于1的整数;/n获取所述M段原始数据中每段原始数据的首键;/n对获取的M个首键进行分段,获取N段首键以及N个第二映射关系,其中,每个第二映射关系指示一段首键内的首键与该段首键内的首键的源数据段的第一映射关系的标识的对应关系,该段首键内的首键从所述源数据段获取,N为大于或等于1的整数。/n
【技术特征摘要】
【国外来华专利技术】一种为数据建立索引的方法,其特征在于,包括:
获取原始数据表,所述原始数据表中包括多个原始数据,每个原始数据包括键key和值value;
根据所述多个原始数据的键对所述多个原始数据进行分段,获取M段原始数据以及M个第一映射关系,其中,每个第一映射关系指示一段原始数据的键与该段原始数据的键在所述原始数据表中所在的位置之间的对应关系,M为大于1的整数;
获取所述M段原始数据中每段原始数据的首键;
对获取的M个首键进行分段,获取N段首键以及N个第二映射关系,其中,每个第二映射关系指示一段首键内的首键与该段首键内的首键的源数据段的第一映射关系的标识的对应关系,该段首键内的首键从所述源数据段获取,N为大于或等于1的整数。
如权利要求1所述的方法,其特征在于,每个第一映射关系包括第一单调函数,所述第一单调函数的输入为键,所述第一单调函数的输出为所述键在所述原始数据表中所在的位置。
如权利要求1或2所述的方法,其特征在于,每个第二映射关系包括第二单调函数,所述第二单调函数的输入为键,所述第二单调函数的输出为一个第一映射关系的标识。
如权利要求1至3任一所述的方法,其特征在于,还包括:
获取N段首键中每段首键的首键;
对获取的N段首键的N个首键进行分段,获取J段首键段的首键以及J个第三映射关系,其中,每个第三映射关系指示一个首键段的首键段内的首键与一个第二映射关系的标识的对应关系,J为大于或等于1的整数。
如权利要求1至4任一所述的方法,其特征在于,所述方法应用于数据库,所述原始数据表从所述数据库获取,所述方法还包括:
将所述M个第一映射关系和所述N个第二映射关系存入存储器。
如权利要求1至5任一所述的方法,其特征在于,还包括:
获取待查询的键;
根据所述待查询的键和所述N个第二映射关系,确定所述待查询的键对应的第一映射关系;
根据所述待查询的键和确定出的所述待查询的键对应的第一映射关系,获得所述待查询的键在所述原始数据表中所在的位置。
一种数据处理装置,其特征在于,包括:
数据表存储模块,用于存储原始数据表,所述原始数据表中包括多个原始数据,每个原始数据包括键key和值value;
索引创建模块,用于获取所述原始数据表;根据所述多个原始数据的键对所述多个原始数据进行分段,获取M段原始数据以及M个第一映射关系,其中,每个第一映射关系指示一段原始数据的键与该段原始数据的键在所述原始数据表中所在的位置之间的对应关系,M为大于1的整数;获取所述M段原始数据中每段原始数据的首键;对获取的M个首键进行分段,获取N段首键以及N个第二映射关系,其中,每个第二映射关系指示一段首键内的首键与该段首键内的首键的源数据段的第一映射关系的标识的对应关系,该段首键内的首键从所述源数据段获取,N为大于或等于1的整数;
索引存储模块,用于存储所述M个第一映射关系和所述N个第二映射关系。
如权利要求7所述的数据处理装置,其特征在于,每个第一映射关系包括第一单调函数,所述第一单调函数的输入为键,所述第一单调函数的输出为所述键在所述原始数据表中所在的位置。
如权利要求7或8所述的数据处理装置,其特征在于,每个第二映射关系包括第二单调函数,所述第二单调函数的输入为键,所述第二单调函数的输出为一个第一映射关系的标识。
如权利要求7至9任一所述的数据处理装置,其特征在于,所述索引创建模块,还用于获取N段首键...
【专利技术属性】
技术研发人员:周文礼,魏明昌,刘江波,
申请(专利权)人:华为技术有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。