[发明专利]一种数据流中Top-k项的挖掘方法及系统有效
申请号: | 200810239188.X | 申请日: | 2008-12-11 |
公开(公告)号: | CN101419630A | 公开(公告)日: | 2009-04-29 |
发明(设计)人: | 张永铮;云晓春;郭莉;罗浩;吴志刚;郝志宇 | 申请(专利权)人: | 中国科学院计算技术研究所 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京律诚同业知识产权代理有限公司 | 代理人: | 梁 挥;祁建国 |
地址: | 100080北京*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据流 top 挖掘 方法 系统 | ||
技术领域
本发明涉及数据流挖掘领域,尤其涉及一种数据流中Top-k项的挖掘方法及系统。
背景技术
近年来,数据流挖掘被广泛应用到传感器网络通信、Web服务器点击日志、网络安全监控与异常检测、股票交易、通话记录、环境监测等领域,因此已成为国内外各界研究的热点。
一般地,数据流可以被认为是一种连续的无穷的数据序列。相对于传统的静态数据挖掘,数据流挖掘面临着实时性、空间性和近似性等技术挑战。目前,针对数据流挖掘的研究工作主要包括聚类分析、数据分类、频繁模式(项)和Top-k项挖掘等方面,其中,Top-k项挖掘在网络安全监控与异常检测领域具有重要意义,它能够有效发现用户最关注的前k个数据项,如网络流量中流向目的IP地址的Top-k流量统计,从而为网络安全监控与网络异常检测提供可靠的技术手段。Top-k项挖掘研究所面临的主要问题为在满足实时性处理需求的前提下,如何利用有限存储空间来尽可能准确地挖掘出用户定义的Top-k数据项。
当前,针对数据流频繁模式(项)的研究工作很多,并取得了很好的研究成果,然而在数据流Top-k项挖掘方面的研究并不多,仅有的一些工作往往集中在Top-k频繁项的挖掘,其中效果最好的研究成果为Metwally等人公开的一种Top-k频繁项的挖掘方法,Space-Saving(空间节约)方法“An IntegratedEfficient Solution for Computing Frequent and Top-k Elements in DataStreams”,A.Metwally,D.Agrawal,And A.E.Abbadi,ACM Transactionson Database Systems.2006,31(3):1095-1133,同时也公开了一种用于存储和查找最小频繁项的链表结构Stream-Summary(流摘要结构)。该方法的核心思想是考察数据流中的每一个数据项,如果数据项在存储结构 Stream-Summary中,将数据项对应的的计数器的值加1;否则,用该数据项替换掉Stream-Summary计数器值最小的数据项,并将计数器的值置为存储的原计数器的值同1的加和。
Space-Saving方法及其Stream-Summary链表结构主要适用于频繁项统计,即加1操作;而针对数据项属性值统计,即加n操作,问题,该方法的最差时间复杂度将降为0(k),同时由于Stream-Summary链表结构本身固有的机制也导致了该方法空间复杂度的提高以及准确性的下降。
发明内容
为了解决上述的技术问题,本发明提供了一种数据流中Top-k项的挖掘方法及系统,能够降低了最差处理时间,降低了存储空间,提高了挖掘的准确性。
本发明公开了一种数据流中Top-k项的挖掘方法,包括:
步骤1,初始化平衡二叉树,所述平衡二叉树的节点用于存储数据流中数据项的信息,所述信息包括所述数据项对应的时间戳和计数器的值;
步骤2,将数据流中的数据项的信息存储到所述平衡二叉树节点中,所述节点在平衡二叉树中的位置依据排序规则,所述排序规则以所述数据项对应的时间戳和计数器的值为参数;
步骤3,按用户需求遍历所述平衡二叉树,输出Top-k项的统计结果。
所述步骤2进一步包括:
步骤21,从所述数据流中取出当前到达的数据项,判断所述平衡二叉树是否已存储所述数据项的信息,如果是,则执行步骤22,否则,执行步骤23;
步骤22,更新所述平衡二叉树中存储的所述数据项对应的时间戳和计数器的值,按所述排序规则调整所述数据项对应节点在所述平衡二叉树中的位置;
步骤23,从所述平衡二叉树中确定一个节点,所述节点存储所述数据项对应的时间戳和计数器的值,按所述排序规则确定所述节点在所述平衡二叉树中的位置。
所述步骤23进一步包括:
步骤31,判断所述二叉树是否已经存满,如果是,则执行步骤32,否则,执行步骤33;
步骤32,从所述平衡二叉树中选择存储的计数器的值最小的节点,采用所述被选择节点中存储的时间戳最小的节点存储所述数据项对应的计数器的值和时间戳,按所述排序规则调整所述节点在所述平衡二叉树中的位置;
步骤33,所述平衡二叉树增加一个新节点,所述新节点存储所述数据项对应的计数器的值和时间戳,按所述排序规则将所述新节点插入到所述平衡二叉树中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院计算技术研究所,未经中国科学院计算技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200810239188.X/2.html,转载请声明来源钻瓜专利网。