一种面向流式大数据的基数估计方法与流程

文档序号:12063849阅读:来源:国知局

技术特征:

1.一种面向流式大数据的基数估计方法,其特征在于,所述面向流式大数据的基数估计方法针对流式大数据,通过降低计算精度提高基数估计效率;对HyperLogLog Counting算法所需的中间统计信息进行分区计算,选择高效的哈希算法和最优的分桶个数,通过改进的分桶方法将哈希过的数据较为均匀的映射到m个不同的桶号中,并进行增量维护,再进行合并得到最终的中间统计信息,从而计算基数估计值。

2.如权利要求1所述的面向流式大数据的基数估计方法,其特征在于,所述面向流式大数据的基数估计方法包括以下步骤:

步骤一,按照流式数据到达时刻以相同的时间间隔将大数据划分成多个分区,每个分区内保存所述大数据中的一段数据源,各个分区之间按照时序关系有序排列;

步骤二,在每个分区构建统计信息计算器,通过改进的分桶方法将哈希过的数据较为均匀的映射到m个不同的桶号中,维护和建立一个m字节大小的记录分区数据统计信息的bitmap;

步骤三,建立和增量维护全局哈希表,每个分区的统计信息以键值对的形式存入全局哈希表,键为对应分区起始时刻时间经过哈希后的值,值即为该分区的经过统计信息计算器获得的bitmap中存放的值;

步骤四,构建分区统计信息合并器,从全局哈希表中获取给定数据时间窗口中所有分区的统计信息bitmap,合并成代表数据时间窗口中所有数据的统计信息bitmap;

步骤五,构建基数估计计算器,从分区统计信息合并器中获取最终的统计信息bitmap,进行偏差调整,选择最优的结果。

3.如权利要求2所述的面向流式大数据的基数估计方法,其特征在于,所述分区的建立包括:按照流式数据到达时刻以相同的时间间隔将大数据划分成多个分区,每个分区内保存所述大数据中的一段数据源,各个分区之间按照时序关系有序排列如下:[t1,t1+Δt),[t1+Δt,t1+2Δt),[t1+2Δt,t1+3Δt),...,[t1+kΔt,t2),其中k=floor((t2-t1)/Δt)。

4.如权利要求2所述的面向流式大数据的基数估计方法,其特征在于,所述在每个分区构建统计信息计算器将数据映射到64比特空间;最终确定分桶数m=216;截取64比特数据值的前3组log2m比特的二进制值相互异或,将异或值作为桶号;64比特数据值去掉前log2m比特剩余比特组成的二进制值就是需处理的真实值,计算其ρ值,更新bitmap中对应桶号的最大ρ值。

5.如权利要求2所述的面向流式大数据的基数估计方法,其特征在于,所述建立和增量维护全局哈希表包括:

第一步,实时监控数据时间窗口中的分区,确定离开数据时间窗口,新进入数据时间窗口,仍在数据时间窗口数据未发生改变,仍在数据时间窗口数据发生改变这四类分区;

第二步,根据键值从全局哈希表中删除不在数据时间窗口的分区统计信息;

第三步,计算新进入时间窗口中的分区统计信息,添加到全局哈希表中;

第四步,重新计算仍在时间窗口中但数据发生改变的分区统计信息;

第五步,保持仍在时间窗口中数据未发生改变的分区统计信息。

6.如权利要求2所述的面向流式大数据的基数估计方法,其特征在于,所述构建分区统计信息合并器包括:

1)遍历全局哈希表,根据键获取存放分区统计新的所有值;

2)存放每个分区统计信息的bitmap一共有m字节,有n个分区统计信息b1,b2,b3,...,bn,则M[i]=max{b1[i],b2[i],...,bn[i]},i=0,1,...,m-1,则M中存放的就是最终所有分区合并后的统计信息。

7.如权利要求2所述的面向流式大数据的基数估计方法,其特征在于,所述构建基数估计计算器包括:

(1)从分区统计信息合并器中获取最终的统计信息M,通过调和平均计算初步的基数估计值E;

(2)根据计算出的基数估计值,E太大就进行大范围修正,若范围太小则进行小范围修正,若范围刚好则不修正。

8.一种应用权利要求1~7任意一项所述面向流式大数据的基数估计方法的数据库优化系统。

9.一种应用权利要求1~7任意一项所述面向流式大数据的基数估计方法的网络监控系统。

10.一种应用权利要求1~7任意一项所述面向流式大数据的基数估计方法的数据分析系统。

当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1