[发明专利]一种数组构建、数组查询的方法、装置及电子设备有效
申请号: | 201611187039.4 | 申请日: | 2016-12-20 |
公开(公告)号: | CN108205577B | 公开(公告)日: | 2022-06-03 |
发明(设计)人: | 代兵 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
主分类号: | G06F16/22 | 分类号: | G06F16/22;G06F16/2453 |
代理公司: | 北京清源汇知识产权代理事务所(特殊普通合伙) 11644 | 代理人: | 冯德魁 |
地址: | 英属开曼群岛大开*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数组 构建 查询 方法 装置 电子设备 | ||
本申请公开了一种数组构建的方法、装置、一种电子设备、一种数组查询的方法、装置以及另一种电子设备。其中,所述数组构建的方法包括:根据待存储的各字段的取值,确定能存储各字段的取值所需的比特位数;将比特位数作为数组元素的容量建立数组;将各字段的取值存储到数组的数组元素内。采用上述方法通过键值对的键值所占用的最大空间,将bitmap数组中数组元素的容量进行扩容,将常规的数组元素的容量从一个bit位扩展到能存放下键值所占用的最大内存空间的bit位数,并以扩展容量后的数组元素为单位创建数组,扩展了使用bitmap数组查询的使用场景,这种结构相对于hash表查询,不进行hash值的函数的计算,也无hash值的冲突处理,只需要O(1)的时间复杂度,查询效率高。
技术领域
本申请涉及数据处理技术领域,具体涉及一种数组构建的方法以及一种数组查询的方法;本申请同时涉及一种数组构建的装置、一种电子设备、一种数组查询的装置以及另一种电子设备。
背景技术
随着计算机信息技术的快速发展,越来越多的用户对数据的存储和查询提出了更高的要求。目前在大量数据信息中进行特定数据元素的查询时,常使用bitmap(位图)数据结构实现快速查询以及存储数据。bitmap数据结构以key-value(键值对)的数据存储都是基于一个字段作为key,将bitmap中每一个bit位来表示一个key对应的value,key不单独占用存储空间,通过在bitmap中的偏移bit来表示。由于bitmap是使用每一个bit位单独存放value,所以value的值为只能为0或1,例如:用数字表示的用户ID时,key可以表示为int类型,而且value只有两个值可以表示为用户在线或不在线,此时使用bitmap数组来查询非常高效。
而当value为字符或字符串类型,不能使用数值类型来表达时,就无法使用bitmap数据结构来查询数据元素,此时常使用hashtable(hash表)来提高查询效率。使用hash表来进行查询时,在数据元素的数目较大的情况下,由于对key进行hash值计算时,计算出的hash值可能会存在冲突,在hash值冲突以及hash桶遍历都需要一些计算资源,即使增加表项容量,也并不能改善冲突率,同时也增加了内存消耗。
由此可见,在现有的快速查询方案下,如果使用bitmap数据结构来查询数据元素,则要求value只能包含0或1两个值,使用场景有限;对于不能使用bitmap数据结构来查询数据元素的情况下,使用hash表作为替代方案时,计算hash值以及在hash冲突时查询的计算代价高,相对于bitmap的时间复杂度较高。
发明内容
本申请提供了一种数组构建的方法以及一种数组查询的方法,以解决现有技术中的上述问题。本申请同时提供了一种数组构建的装置、一种电子设备、一种数组查询的装置以及另一种电子设备。
本申请实施例提供了一种数组构建的方法,所述数组构建的方法,包括:
根据待存储的各字段的取值,确定能存储各字段的取值所需的比特位数;
将所述比特位数作为数组元素的容量建立数组;
将各字段的取值存储到所述数组的数组元素内。
可选的,所述字段,包括:键值对。
可选的,所述根据待存储的各字段的取值,确定能存储各字段的取值所需的比特位数,包括:
根据待存储的各键值对的键值,确定存储最大键值占用的比特位数;或者
根据待存储的各键值对预设的键值容量,确定所述键值容量占用的比特位数。
可选的,所述将所述比特位数作为数组元素的容量建立数组时,包括:
按照所述数组元素在所述数组内的偏移位置,为所述数组元素设置下标。
可选的,所述将各字段的取值存储到所述数组的数组元素内,包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201611187039.4/2.html,转载请声明来源钻瓜专利网。