[发明专利]一种快速统计频数的方法及系统有效
申请号: | 201510940356.8 | 申请日: | 2015-12-16 |
公开(公告)号: | CN105574152B | 公开(公告)日: | 2019-03-01 |
发明(设计)人: | 刘军;杨迅;周文莉;刘芳;何大中 | 申请(专利权)人: | 北京邮电大学 |
主分类号: | G06F16/2455 | 分类号: | G06F16/2455 |
代理公司: | 北京柏杉松知识产权代理事务所(普通合伙) 11413 | 代理人: | 马敬;项京 |
地址: | 100876 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明实施例公开了一种快速统计频数的方法及系统,属于数据统计领域,本发明通过数据处理子单元进行频数统计,数据合并单元汇总数据处理子单元数据,通过数据汇总单元统计增量,从而摆脱时下依靠硬件性能来保证算法的吞吐量的限制,来应对日益增长的网络流速,同时保证系统的可扩展性,以应对快速增长的流量对系统吞吐量的要求。 | ||
搜索关键词: | 一种 快速 统计 频数 方法 系统 | ||
【主权项】:
1.一种快速统计频数的方法,其特征在于:包括数据处理子单元进行频数统计的步骤和数据汇总单元统计增量的步骤;所述数据处理子单元进行频数统计按以下步骤进行:A1、所述数据处理子单元收到一个元素e;A2、所述数据处理子单元检查是否有计数器对e进行计数;如果e有对应的计数器对其进行计数,那么就增加对应计数器的delta变量和计数值,然后执行步骤A3;如果e没有对应的计数器对其进行计数,判断系统中所有的计数器个数是否达到上限;如果系统中所有的计数器个数没有达到上限,则初始化一个新的计数器来对这个元素计数,然后执行步骤A3;如果系统中所有的计数器个数达到上限,则找到系统中计数值最小的计数器,然后用元素e把系统中计数值最小的计数器中的元素替换掉,接着把计数误差的值设置为当前的计数值;设置该计数器中的delta_error变量等于该计数器中的delta,最后增加对应计数器的delta变量和计数值;然后执行步骤A3;A3、更新计数器链表结构,判断delta是否达到发送阈值threshold,如果达到则向数据汇总单元发送该计数器的元素e、delta和delta_error的值,然后把delta和delta_error变量清零;否则在接收到新的元素后返回执行步骤A2;所述数据汇总单元统计增量按以下步骤执行:B1、所述数据汇总单元收到元素e、delta和delta_error的值;B2、所述数据汇总单元判断元素e是否有计数器对其进行计数;如果元素e有计数器对其进行计数,就增加对应元素e的计数器的计数值和误差值,然后执行步骤B3;如果元素e没有计数器对其进行计数,判断系统中所有的计数器个数是否达到上限;如果系统中所有的计数器个数没有达到上限,初始化一个新的计数器来对元素e进行计数,然后执行步骤B3;如果系统中所有的计数器个数达到上限,就找到系统中计数值最小的计数器,然后用元素e把这个计数器中的元素替换掉,接着把计数误差的值设置为当前的计数值,最后根据delta值增加计数值;然后执行步骤B3;B3、更新计数器链表结构,并判断是否达到输出结果条件,如果达到条件则输出所有计数器的结果,否则在接收到新的元素后返回执行步骤B1。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京邮电大学,未经北京邮电大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201510940356.8/,转载请声明来源钻瓜专利网。