CN101499097A - 基于散列表的数据流频繁模式内存压缩存储方法 - Google Patents
基于散列表的数据流频繁模式内存压缩存储方法 Download PDFInfo
- Publication number
- CN101499097A CN101499097A CNA2009100968134A CN200910096813A CN101499097A CN 101499097 A CN101499097 A CN 101499097A CN A2009100968134 A CNA2009100968134 A CN A2009100968134A CN 200910096813 A CN200910096813 A CN 200910096813A CN 101499097 A CN101499097 A CN 101499097A
- Authority
- CN
- China
- Prior art keywords
- memory
- address
- hash table
- frequent
- data stream
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于散列表的数据流频繁模式内存压缩存储方法,采用散列函数,强化频繁项逻辑单元与物理存储单元的映射关系;散列函数不进行硬编码,可以动态的创建与替换。研究人员可以根据需要选择或者创建散列函数,应用与本方法,达到性能最优;使用基址+散列偏移的方式对内存进行寻址,复合内存的物理构造,简单而迅速。本方法可以有效的降低建立起数据流频繁模式挖掘算法的数据基础,降低了的空间复杂度以及内存寻址时的空间复杂度,不但提高了内存空间和CPU的有效利用程度,并且减少了挖掘算法需要处理的数据项。
Description
技术领域
本发明涉及一种内存压缩存储方法,具体涉及一种基于散列表的数据流频繁模式内存压缩存储方法。
背景技术
频繁模式的挖掘被世界上的数据挖掘工作者公认为是很多数据挖掘工作的基础。近年来静态数据库数据的频繁模式挖掘算法已经日渐成熟,但是随着网络应用的不断发展和普及,数据挖掘工作不断的被要求开展到挖掘数据流上来,比如挖掘网络监控数据中的频繁模式发现网络攻击、挖掘信用卡金融交易数据中的频繁模式发现金融犯罪等等。
目前,成熟的数据库或称静态数据的挖掘算法却无法简单的移植到数据流的挖掘工作当中来。究其原因,是因为数据流数据具有不确定性、连续性以及无限性的特点,在有限的内存内维护无限的频繁模式以及潜在频繁模式就变的十分困难。现有的数据流挖掘算法当中,通常采用线性的数组结构、二维的矩阵结构和多叉树结构作为频繁模式在内存中的储存结构,这样的解决方案分别存在着巨大的缺陷,无法适应实际应用中动态的要求:
(1)内存中频繁项的插入、删除操作具有比较高的时空复杂性:线性结构的插入删除必须大量移动原有元素,保持连续的线性;树形结构插入删除还必须修改父结点与子结点的指针信息,保证树的结构完整。
(2)线性结构和二维线性矩阵的内存空间必须是连续的,如果在下一块连续的地址空间内已经存在了数据,则扩展原有存储区域必须进行原有数据的移动与复制带来巨大的IO操作;对于树型存储结构,扩展还必须重新组织新的内存存储单位——结点,与原有结点之间的先后顺序关系,带来很多的CPU运算。
发明内容
本发明目的是提供一种基于散列表的数据流频繁模式内存压缩存储方法,在增加极少的或者有限的空间复杂度的前提下,降低数据流频繁模式挖掘算法所需的空间复杂度,有效的处理内存中项的插入与删除操作,并实现动态的空间扩展与重组,从而降低频繁模式挖掘算法时需要遍历和查找的次数,提高挖掘算法的时空复杂度。
为实现上述目的,本发明的技术方案是一种基于散列表的数据流频繁模式内存压缩存储方法,包括如下步骤:
a、首先建立一个简单的散列函数
key=i×37+j×7+17
i,j分别为逻辑频繁2-项集的频繁项序号,N为分配的内存区域可以容纳概要数据结构的最大数量,key为关键字,f(i,j)为散列值,该散列函数与散列表中存储位置建立一一映射的关系;
b、分配一块内存连续区域作为存储区域,当有数据需要存储时,将数据流频繁项抽象成概要数据结构,然后基于概要数据结构的数据特征作为参数,传递给散列函数,生成一个整数I,将生成的整数I作为分配的存储区域内存地址Address的高地址偏移写入内存,以后新到的数据流频繁项写入内存的地址为Address+I×sizeof(x),其中sizeof(x)为内存存储结构单元大小;
c、内存寻址根据公式:内存地址Address+整数I×内存存储结构单元大小sizeof(x)进行;
本方法可以有效的降低建立起数据流频繁模式挖掘算法的数据基础,降低了的空间复杂度以及内存寻址时的空间复杂度,不但提高了内存空间和CPU的有效利用程度,并且减少了挖掘算法需要处理的数据项。
具体实施方式
下面结合具体实施方式对本发明进行详细说明。
一种基于散列表的数据流频繁模式内存压缩存储方法,包括如下步骤:
a、首先建立一个简单的散列函数
key=i×37+j×7+17
i,j分别为逻辑频繁2-项集的频繁项序号,N为分配的内存区域可以容纳概要数据结构的最大数量,key为关键字,f(i,j)为散列值,该散列函数与散列表中存储位置建立一一映射的关系;
b、分配一块内存连续区域作为存储区域,当有数据需要存储时,将频繁项抽象成概要数据结构,然后基于概要数据结构的数据特征作为参数,传递给散列函数,生成一个整数I,将生成的整数I作为分配的存储区域内存地址Address的高地址偏移写入内存,以后新到的数据流频繁项写入内存的地址为Address+I×sizeof(x),其中sizeof(x)为内存存储结构单元大小;
c、内存寻址根据公式:内存地址Address+整数I×内存存储结构单元大小sizeof(x)进行。
实施例
首先建立一个简单的散列函数:
key=i×37+j×7+17
这个散列函数使用i,j作为键值,i,j分别为逻辑频繁2-项集的频繁项序号。N为分配的内存区域可以容纳概要数据结构的最大数量,key为关键字,f(i,j)为散列值。该散列函数建立i,j与散列表中存储位置间的一一映射。对于一个长度为128的散列表,I1I2在散列表中的相应存储位置为散列表中的第0个元素。
散列表不可避免的会出现冲突(collision或称碰撞)的情况。对不同的关键字可能得到同一散列值即key1≠key2,而f(key1)=f(key2)。具有相同函数值的关键字对该散列函数来说称为同义词(synonym)。对于冲突的情况做如下处理:如果散列函数发生冲突,也就是说在散列表的对应位置已经存储了一个元素,则查找临近的一个高地址元素是否为空,是则插入,否则继续遍历下个位置,直到找到一个空的存储位置。
散列表具体构造过程如下:
首先扫描数据流,对数据流中的每一个二元组T={Tid,Itemset}(Tid是事务编号,Itemset是项集),假设已经求出T中的所有2-项集及其频繁度,使用散列函数f(i,j)映射到存储位置,加入到散列表中。其中i,j均为项的序号。
表一给出了一个由当前包含9个事务的数据流(表二所示数据流事务集)而生成的散列表,且设此时的桶大小远大于16,则当前bucket id为1。
表1 D-散列表
表二 数据流事务集
Claims (1)
1、一种基于散列表的数据流频繁模式内存压缩存储方法,其特征在于包括如下步骤:
a、首先建立一个简单的散列函数
key=i×37+j×7+17
i,j分别为逻辑频繁2-项集的频繁项序号,N为分配的内存区域可以容纳概要数据结构的最大数量,key为关键字,f(i,j)为散列值,该散列函数与散列表中存储位置建立一一映射的关系;
b、分配一块内存连续区域作为存储区域,当有数据需要存储时,将频繁项抽象成概要数据结构,然后基于概要数据结构的数据特征作为参数,传递给散列函数,生成一个整数I,将生成的整数I作为分配的存储区域内存地址Address的高地址偏移写入内存,以后新到的数据流频繁项写入内存的地址为Address+I×sizeof(x),其中sizeof(x)为内存存储结构单元大小;
c、内存寻址根据公式:内存地址Address+整数I×内存存储结构单元大小sizeof(x)进行。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009100968134A CN101499097B (zh) | 2009-03-16 | 2009-03-16 | 基于散列表的数据流频繁模式内存压缩存储方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009100968134A CN101499097B (zh) | 2009-03-16 | 2009-03-16 | 基于散列表的数据流频繁模式内存压缩存储方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101499097A true CN101499097A (zh) | 2009-08-05 |
CN101499097B CN101499097B (zh) | 2011-03-23 |
Family
ID=40946169
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009100968134A Expired - Fee Related CN101499097B (zh) | 2009-03-16 | 2009-03-16 | 基于散列表的数据流频繁模式内存压缩存储方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101499097B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101655861B (zh) * | 2009-09-08 | 2011-06-01 | 中国科学院计算技术研究所 | 基于双计数布鲁姆过滤器的哈希方法和哈希装置 |
CN102760132A (zh) * | 2011-04-28 | 2012-10-31 | 中国移动通信集团浙江有限公司 | 一种数据流频繁项挖掘方法和装置 |
CN104205161A (zh) * | 2012-03-29 | 2014-12-10 | 英特尔公司 | 用于块压缩图象的解压缩的系统、方法和计算机程序产品 |
CN104935348A (zh) * | 2015-05-18 | 2015-09-23 | 中国科学院信息工程研究所 | 一种估算误差可控的概要数据压缩方法 |
CN104951503A (zh) * | 2015-05-18 | 2015-09-30 | 中国科学院信息工程研究所 | 一种新鲜度敏感的大数据概要信息维护及聚合值查询方法 |
CN108241657A (zh) * | 2016-12-24 | 2018-07-03 | 北京亿阳信通科技有限公司 | 一种web数据列表处理方法及装置 |
CN108595581A (zh) * | 2018-04-17 | 2018-09-28 | 清华大学 | 数据流中频繁项的挖掘方法及挖掘系统 |
CN108804508A (zh) * | 2017-04-25 | 2018-11-13 | 联发科技股份有限公司 | 一种存储输入图像的方法及系统 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7403137B1 (en) * | 2007-03-30 | 2008-07-22 | Juniper Networks, Inc. | Memory efficient indexing for disk-based compression |
CN100541453C (zh) * | 2007-12-03 | 2009-09-16 | 腾讯数码(天津)有限公司 | 大容量缓存实现方法及存储系统 |
CN101290635A (zh) * | 2008-06-24 | 2008-10-22 | 中兴通讯股份有限公司 | 一种基于特征字的内存管理方法及其装置 |
-
2009
- 2009-03-16 CN CN2009100968134A patent/CN101499097B/zh not_active Expired - Fee Related
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101655861B (zh) * | 2009-09-08 | 2011-06-01 | 中国科学院计算技术研究所 | 基于双计数布鲁姆过滤器的哈希方法和哈希装置 |
CN102760132A (zh) * | 2011-04-28 | 2012-10-31 | 中国移动通信集团浙江有限公司 | 一种数据流频繁项挖掘方法和装置 |
CN102760132B (zh) * | 2011-04-28 | 2014-11-05 | 中国移动通信集团浙江有限公司 | 一种数据流频繁项挖掘方法和装置 |
CN104205161B (zh) * | 2012-03-29 | 2017-07-14 | 英特尔公司 | 用于块压缩图象的解压缩的系统、方法和计算机程序产品 |
CN104205161A (zh) * | 2012-03-29 | 2014-12-10 | 英特尔公司 | 用于块压缩图象的解压缩的系统、方法和计算机程序产品 |
CN104935348A (zh) * | 2015-05-18 | 2015-09-23 | 中国科学院信息工程研究所 | 一种估算误差可控的概要数据压缩方法 |
CN104951503A (zh) * | 2015-05-18 | 2015-09-30 | 中国科学院信息工程研究所 | 一种新鲜度敏感的大数据概要信息维护及聚合值查询方法 |
CN104935348B (zh) * | 2015-05-18 | 2018-01-05 | 中国科学院信息工程研究所 | 一种估算误差可控的概要数据压缩方法 |
CN104951503B (zh) * | 2015-05-18 | 2018-02-27 | 中国科学院信息工程研究所 | 一种新鲜度敏感的大数据概要信息维护及聚合值查询方法 |
CN108241657A (zh) * | 2016-12-24 | 2018-07-03 | 北京亿阳信通科技有限公司 | 一种web数据列表处理方法及装置 |
CN108804508A (zh) * | 2017-04-25 | 2018-11-13 | 联发科技股份有限公司 | 一种存储输入图像的方法及系统 |
CN108804508B (zh) * | 2017-04-25 | 2022-06-07 | 联发科技股份有限公司 | 一种存储输入图像的方法及系统 |
CN108595581A (zh) * | 2018-04-17 | 2018-09-28 | 清华大学 | 数据流中频繁项的挖掘方法及挖掘系统 |
Also Published As
Publication number | Publication date |
---|---|
CN101499097B (zh) | 2011-03-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101499097B (zh) | 基于散列表的数据流频繁模式内存压缩存储方法 | |
CN101630322B (zh) | 树形目录结构下的文件集在数据库中的存储和访问方法 | |
Tanbeer et al. | CP-tree: a tree structure for single-pass frequent pattern mining | |
CN104915450A (zh) | 一种基于HBase的大数据存储与检索方法及系统 | |
CN103577440A (zh) | 一种非关系型数据库中的数据处理方法和装置 | |
Liu | Study on application of apriori algorithm in data mining | |
CN106991102A (zh) | 倒排索引中键值对的处理方法及处理系统 | |
CN104408163A (zh) | 一种数据分级存储方法和装置 | |
CN106326475A (zh) | 一种高效的静态哈希表实现方法及系统 | |
CN104731925A (zh) | 基于MapReduce的FP-Growth的负载均衡并行计算方法 | |
CN103500183A (zh) | 一种基于多个相关字段组合索引存储结构及建立、查询与维护方法 | |
Challa et al. | DD-Rtree: A dynamic distributed data structure for efficient data distribution among cluster nodes for spatial data mining algorithms | |
CN105589908A (zh) | 用于事务集合的关联规则计算方法 | |
Shangguan et al. | Big spatial data processing with Apache Spark | |
CN113704248B (zh) | 一种基于外置索引的区块链查询优化方法 | |
CN104834709A (zh) | 一种基于负载均衡的并行余弦模式挖掘方法 | |
CN109032526A (zh) | 用于分布式文件系统的数据处理方法及装置 | |
Mao et al. | Comprehensive comparison of LSM architectures for spatial data | |
CN104111899A (zh) | 一种缓存数据的存储方法及系统及读取方法 | |
CN103761298A (zh) | 一种基于分布式架构的实体匹配方法 | |
Cao et al. | Research on searching algorithms for unstructured grid remapping based on KD tree | |
CN112015791B (zh) | 数据处理方法、装置、电子设备及计算机存储介质 | |
CN109460394B (zh) | 一种多级文档条目追踪矩阵的简化方法 | |
Zhang et al. | Collision-free spatial hash functions for structural analysis of billion-vertex chemical bond networks | |
CN105404825B (zh) | 一种移动端数据库的地理信息数据空间拓展及加密方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20110323 |