The invention discloses a method for streaming large data base estimation method, the flow for large data base flow estimation method for large data, improve the calculation precision of estimation efficiency by reducing the base; intermediate statistical information required for HyperLogLog Counting algorithm to partition computation, several bucket selection efficient the hash algorithm and the optimal mapping hash the data evenly to m different bucket number by bucket method improved, and incremental maintenance, then combined the middle final statistics, to calculate the cardinality estimate. The invention effectively utilizes historical data, to avoid repeated calculation, greatly improve the efficiency of cardinality estimation; to achieve high-precision cardinality estimation algorithm is given, compared with the traditional method, the barrel, improves the accuracy of cardinality estimation algorithm; space complexity is low, reduces the computational resource consumption.
【技术实现步骤摘要】
一种面向流式大数据的基数估计方法
本专利技术属于大数据计算
,尤其涉及一种面向流式大数据的基数估计方法。
技术介绍
当前大数据时代可把大数据分成两种:批式大数据和流式大数据。如果把数据当成水库的话,水库里的水就是批式大数据,进来的水就是流式大数据。流式大数据是指以数据流的方式到达并实时写入到存储管理系统中的数据源,也称FastData。其具有高吞吐率、体量巨大的特点,而且数据规模与数据值范围往往不可预知。基数(cardinality)是指一个集合(允许存在重复元素,与集合论对集合严格的定义略有不同)中不同元素的个数。精确的基数计数在面对大数据场景时往往力不从心,因此如何在误差可控的情况下对基数进行估计就显得十分重要。目前常见的基数估计算法有LinearCounting、LogLogCounting、AdaptiveCounting及HyperLogLogCounting等,都是基于概率统计理论所设计的概率算法。基数估计在数据库优化、网络监控、数据分析等领域都有广泛的应用需求。例如数据库优化中需要计算的一个重要统计特性NDV(numberofdistinctvalues),实际上就是对表中的相应数据进行基数估计。再例如入侵检测系统(IDS)中需要统计每一个源地址建立了多少个不同的连接,来检测一些拒绝服务攻击(DOS),实际上就是提取数据包头的相应信息进行计数估计。因此,对流式大数据进行高精度实时的基数估计具有重要的价值。目前的大数据分析统计系统本质是一种精确计算的方法,例如基于Hadoop的相关大数据存储管理系统与方法,是基于先存储后处理的批处理模式实 ...
【技术保护点】
一种面向流式大数据的基数估计方法,其特征在于,所述面向流式大数据的基数估计方法针对流式大数据,通过降低计算精度提高基数估计效率;对HyperLogLog Counting算法所需的中间统计信息进行分区计算,选择高效的哈希算法和最优的分桶个数,通过改进的分桶方法将哈希过的数据较为均匀的映射到m个不同的桶号中,并进行增量维护,再进行合并得到最终的中间统计信息,从而计算基数估计值。
【技术特征摘要】
1.一种面向流式大数据的基数估计方法,其特征在于,所述面向流式大数据的基数估计方法针对流式大数据,通过降低计算精度提高基数估计效率;对HyperLogLogCounting算法所需的中间统计信息进行分区计算,选择高效的哈希算法和最优的分桶个数,通过改进的分桶方法将哈希过的数据较为均匀的映射到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所述的面向流式大数据的基数估计方法,其特征在于,所述...
【专利技术属性】
技术研发人员:赵兴文,王浩,李晖,朱辉,
申请(专利权)人:西安电子科技大学,
类型:发明
国别省市:陕西,61
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。