[发明专利]一种大数据多区间查询条件下的基数估计方法及装置有效
申请号: | 201310484503.6 | 申请日: | 2013-10-16 |
公开(公告)号: | CN103544258B | 公开(公告)日: | 2016-11-30 |
发明(设计)人: | 云晓春;徐小琳;王明华;刘阳;李志辉;吴广君;王树鹏;王勇;常为领 | 申请(专利权)人: | 国家计算机网络与信息安全管理中心;中国科学院信息工程研究所 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京轻创知识产权代理有限公司 11212 | 代理人: | 杨立 |
地址: | 100029*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据 区间 查询 条件下 基数 估计 方法 装置 | ||
技术领域
本发明涉及大数据计算领域,特别涉及一种大数据多区间查询条件下的基数估计方法及装置。
背景技术
随着移动互联网和Web2.0的发展,全球数据量正在惊人的增长:2008年全球产生的数据量为0.49ZB(1ZB=1021字节),2009年为0.8ZB,2010年为1.2ZB,2011年高达1.82ZB。IDC预计到2020年,全人类会产生超过40ZB的数据。在大数据中一类重要的数据是结构化、半结构化数据,主要包括:交易数据,日志数据等。据了解,淘宝网每日新增的交易数据达10TB,eBay分析平台日处理数据量高达100PB,沃尔玛每小时有大约2.5PB的数据存入数据库。基于日志类数据进行挖掘、分析可以获得越来越多的有价值的信息。如Google Trends对用户上网记录进行统计,成功预测流感在全球的扩散范围,其准确度高达到97%以上。
多区间条件大数据基数估算是统计同时符合多个区间查询条件下的不同的记录的个数,是聚合运算、统计分析的基础计算工具,在数据分析、网络监控及数据库优化等领域都有广泛的相关需求。但是目前的大数据分析统计系统本质是一种精确计算的方法,例如Hadoop为基础的大数据管理系统Hive,pig等通过扫描原始数据获得准确的计算值,但是随着数据规模的增大计算效率显著下降。近似查询是通过降低部分计算精度,来提高大数据的计算效率。传统的基数估算算法,如Linear Counting、LogLog Counting、HyperLogLog Counting、Adaptive Counting,以及Bloomfilter等能解决简单的不同元素个数的统计,但是不支持区间查询条件下的基数统计。实现多区间条件下的大数据高精度基数统计成为本发明需要解决的核心问题。
发明内容
本发明所要解决的技术问题是提供一种大数据多区间查询条件下的进行高精度近似计算的基数估计方法及装置。
本发明解决上述技术问题的技术方案如下:一种大数据多区间查询条件下的基数估计方法,包括以下步骤:
步骤1:按照数值属性对大数据预先划分成多个分区,每个分区内保存所述大数据中的一段数据源,各个分区之间有序排列;
步骤2:建立树形索引结构,每个分区作为树形索引结构的一个节点,每个节点用于记录对应的分区的最大值和最小值,每个节点中设置数据文件和基数估算器;
步骤3:获取待写入树形索引结构的数据源,对支持区间查询条件的数据源进行倒排索引处理;
步骤4:将经过倒排索引处理的数据源的相应部分分别写入数据文件及基数估算器内;
步骤5:根据区间查询条件在树形索引结构中查询满足区间查询条件的节点,得到节点中的基数估算器,对基数估算器中的数据源的相应部分进行逻辑处理,得到基数估算值。
本发明的有益效果是:本发明针对大数据统计分析中通常使用的多区间查询条件,提出一种近似查询方法,通过降低数据的计算精度提高基数统计效率。本发明在每个分区内使用了HyperLogLog基数估算算法,公开的资料和理论证明该算法可以在较小内存条件下(5KB),在10亿规模的数据中,获得小于1.14%的计算误差,并且,估算器之间的合并不会降低计算误差,因此本发明同样可以在任意的多区间条件下,提供较高计算精度;
本发明在任意多区间查询条件下,具备较高的查询效率,适用于大数据的在线统计查询。本发明基于分区信息建立层次化的索引结构RC-Tree,在执行具体的查询操作时仅在RC-Tree中进行检索,查询效率与RC-Tree的节点数目相关与具体的数据量无关。在多个区间条件下的检索运算,都转化为二进制或运算,因此都具有较高计算效率;
本发明使用了大数据增量更新技术提高索引数据在线更新效率。发明使用临时表索引结构保存增量更新的数据,并对数据进行合并,当到达到一定的数据规模后,把合并以后的数据批量更新到全局的索引结构中,并与全局索引进行再次合并,提高大数据的更新效率。
在上述技术方案的基础上,本发明还可以做如下改进。
进一步,所述步骤3具体为:为每个待写入的数据源分配一个全局唯一的ID,将每个数据源分别拆分为<value,ID>结构。
进一步,所述步骤4具体为:将<value,ID>结构中的value写入相应的节点内的数据文件中,ID利用哈希算法写入节点内的基数估算器中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国家计算机网络与信息安全管理中心;中国科学院信息工程研究所,未经国家计算机网络与信息安全管理中心;中国科学院信息工程研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310484503.6/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置