首页> 中国专利> 一种基于概要结构的流数据立方体构建方法

一种基于概要结构的流数据立方体构建方法

摘要

本发明涉及一种基于概要结构的流数据立方体构建方法(Sketch Cube),包括以下步骤:把任意维度组合映射成唯一自然数;根据上下限单调原则对维度组合裁剪;在类线性空间中保存有效数据单元信息;构建时间序列索引。本发明的有益效果为:可以在类线性存储空间中满足实时分析要求,并且可以有效地控制正确率。

著录项

  • 公开/公告号CN104199821A

    专利类型发明专利

  • 公开/公告日2014-12-10

    原文格式PDF

  • 申请/专利权人 浙江大学城市学院;

    申请/专利号CN201410323039.7

  • 申请日2014-07-08

  • 分类号G06F17/30(20060101);

  • 代理机构33100 浙江杭州金通专利事务所有限公司;

  • 代理人赵红英

  • 地址 310015 浙江省杭州市拱墅区湖州街51号

  • 入库时间 2023-12-17 03:18:42

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-06-20

    授权

    授权

  • 2015-01-07

    实质审查的生效 IPC(主分类):G06F17/30 申请日:20140708

    实质审查的生效

  • 2014-12-10

    公开

    公开

说明书

技术领域

本发明属于计算机数据统计与分析领域,尤其涉及一种基于概要结构的流数据立方体构建方法。 

背景技术

移动互联网的发展带来了越来越多的流数据,如路由器中的IP地址包、微博微信等社交媒体中的短文本内容、用户商品浏览行为日志信息等,流数据是一组顺序、大量、快速且连续到达的数据序列,一般情况下,其可被视为随时间延续而无限增长的动态数据的集合。 

目前,常见的流数据分析方法有基于数据抽样和基于数据压缩两种方式。这些方法把数据看成整体而进行全局的分析,而并没有把流数据看成是一串连续的多维度数据而在不同层次进行分析挖掘。对不同层次和大小的数据单元进行聚合操作分析,可以挖掘出应用在特定时间下的使用场景,因而具有重要意义。传统数据仓库联机分析OLAP处理工具把数据仓库中的记录投射到不同空间中的数据立方进行分析,从而提供多角度综合分析能力。OLAP结合概要结构可以提供在实时流数据中的数据立方方法。 

发明内容

针对现有技术中存在的不足,本发明的目的在于提供一种基于概要结构的流数据立方体构建方法,以解决现有海量流数据下的数据立方体在存储空间、处理速度等方面的缺点。 

本发明的技术方案如下: 

一种基于概要结构的流数据立方体构建方法,包括以下步骤: 

步骤S100:对流数据的任意维度组合通过配对函数映射成一唯一标识,该标识为一自然数; 

步骤S100进一步包括有: 

步骤S110:将所需构建的流数据立方体中的相同属性值按照频率的高低进行排序,并按照自然数从小向大的次序进行映射; 

步骤S120:对于所需构建的流数据立方体中的不同属性值,按其数值的基数进行倒排; 

步骤S200:提供一概要统计模型,其根据所需构建的流数据立方体的数据分布特性和存储模型特点,依据上下限单调原则对各维度组合裁剪; 

步骤S200进一步包括有: 

步骤S210:提供一裁剪模型,对单个维度进行统计,由所需构建的流数据立方体聚合的单调性获得裁剪公式; 

步骤S220:根据最终效果,判断使用单维度裁剪模型或者组合维度的裁剪模型; 

步骤S300:以固定时间片为单位进行索引,使用的主键为流数据所在的ID和时间值,对应的值为概要统计模型中的多维度数组,并将有效的数据单元信息保存在类线性空间中; 

步骤S300进一步包括: 

步骤S310:不同的流数据在特定的时间段内,对所有维度组合产生的唯一标识进行最小计数概要统计; 

步骤S320:对于统计结果先放置在计算机的内存,然后定时存储于NoSql数据库中; 

步骤S400:实时查询时,给定流数据所在的ID、时间段以及相关属性 值,返回相应流数据立方体中的度量值。 

步骤S400进一步包括: 

步骤S410:不同的流数据在特定的时间段内,所有的维度都会在先映射后添加到Hash表中,给定流数据所在的ID、时间段以及相关属性值,生成含有这些属性的所有维度组合; 

步骤S420:将这些维度组合映射成为映射值后,找出各映射值所对应的在Hash表中的位置信息; 

步骤S430:根据步骤S420中获得的位置信息,查询并使用最小技术概要方法得到该组合的统计数据; 

步骤S440:将这些维度组合按照所要求的属性,进行组合或者抵消后形成具体的属性,然后将结果返回。 

本发明的有益效果是:对于互联网中出现的越来越复杂的流数据,将其看作是一连串的多维度数据并当作整体进行全局分析,将流数据的各维度组合进行一一映射生成一永不冲突且唯一的标识,并以连续的自然数依小到大的方式呈现,如此实现了在类线性存储空间中的实时分析,且可以有效地控制正确率。 

说明书附图

图1是本发明的流程框图; 

图2是本发明的操作框图; 

图3是小颗粒时间累加得到大颗粒时间度量值示意图。 

具体实施方式

以下描述和附图充分地示出本发明的具体实施方案,以使本领域的技术人员能够实践它们。实施例仅代表可能的变化。本发明的实施方案的范 围包括权利要求书的整个范围,以及权利要求书的所有可获得的等同物。在本文中,本发明的这些实施方案可以被单独地或总地用术语“发明”来表示,这仅仅是为了方便,并且如果事实上公开了超过一个的发明,不是要自动地限制该应用的范围为任何单个发明或发明构思。 

实施例1 

本发明提出一种基于概要结构的流数据立方体构建方法,其用于解决海量流数据下的数据立方体在存储空间、处理速度等方面的缺点。 

构建概要结构的流数据立方体包括如下步骤: 

步骤S100:提出一种可扩展的数据单元标识模型,对流数据的任意维度组合通过配对函数映射生成唯一标识,且永不冲突。 

该步骤S100进一步包括: 

步骤S110:将所需要的流数据立方体中的相同属性值按照其频率的高低排序,按自然数从小向大的次序进行映射; 

步骤S120:对于所需要的流数据立方体中的不同属性值,按其数值的基数进行倒排,使得属性值分布广泛的值放置靠后,可以有效减少配对函数产生的值。 

在步骤S100中运用一数据单元标识器进行映射,其功能是把不同的维度组合映射成一唯一整数,且该数据单元标识器支持维度的扩展,在新增维度或修改维度值都不会影响原有的映射值。 

数据单元标识器为一数据单元标识函数,具体包括: 

算法1:数据单元标识算法DCI 

输入:流数据记录r=(a1,a2,…,ai,m,t)。 

输出:r所有维度组合标识。 

①将记录r中的维度映射成(n1,n2,…,nn

②根据(n1,n2,…,nn)计算出其对应的所有组合set<Combination>。 

③将set<result>设置为空; 

④对于set<Combination>中的任何一个元素x,做以下操作: 

⑤对这个元素进行求Pairing Function(x)操作后,将结果存入到set<result>集中; 

⑥结束循环; 

⑦将set<result>集返回; 

算法1(Data Cell Identifier)把流数据中每条记录映射成由小到大的自然数,通过递归函数得到与之相关的所有维度组合,并使用康托尔配对函数获得每个组合唯一标识。数据单元标识算法输出所有相关数据单元标识,且配对函数保证标识符可扩展不冲突。 

具体地,如,在流数据R=(A1,A2,…,An,M,T)中,|Ai|表示第i维的基数。 

把记录R的维度Ai映射成连续的自然数。 

对于上述的记录R产生的n个自然数Ni,这些自然数形成了一个集合S,使用配对函数对S中的任意非空子集生成唯一自然数。 

继续进行一第二步骤S200,为一数据分析步骤,该步骤S200为提出一种改进的概要统计模型,根据数据分布特性和存储模型特点,有效裁剪结果无效的数据单元。不但可以提高计算能力和存储空间效率,而且可大幅度提高统计精确度。 

提出一种通过概要技术对流数据进行OLAP统计的方法,存储和计数由数据单元标识模型产生的维度组合信息。 

计数最小概要模型CM Sketch(Count-Min Sketch)是一个使用互相独立哈希函数族函数统计流数据元素出现频率的模型。 

该模型进一步包括: 

下面所示为w×d的二维数组。 

其中d表示互相独立哈希族函数的个数,w表示每个哈希函数的映射范围,如下式所示 

hk:{1...N}→{1...w},(1≤k≤d) 

同时,对于2n元素的集合只需n位就能表示。因此,设计包含d个函数的互相独立哈希函数族,可使用个不同元素两两组合表示。 

在该数据表示时,给定数据集合如下式所示 

SeedSet={1,2,...,n|nd+1}

从SeedSet中随机取不同的元素a和b,设计哈希函数为式 

ha,b(Z)=a×z+b 

由ha,b(Z)产生的坐标信息是变长的,下式可把变长值规约到长度为w大小的数组中: 

ha,b(Z)=((a×z+b)%p)%w,    (1)其中p为大质数。 

上式(1)为Carter-Wegman模型,以保证元素的平均分布。 

该步骤S200进一步包括: 

步骤S210:提供一种裁剪模型,对单个维度进行统计,由数据立方体聚合的单调性给出裁剪公式; 

步骤S220:根据最终效果,判断使用单维度裁剪模型或者组合维度的裁剪模型。 

继续进行一第三步骤S300,以固定时间片为单位进行索引,使用的主键为流数据所在的ID和时间值,对应的值为概要统计模型中的多维度数 组,并将有效的数据单元信息保存在类线性空间中; 

步骤S300进一步包括: 

步骤S310:不同的流数据在特定的时间段内,对所有维度组合产生的唯一标识进行最小计数概要统计; 

步骤S320:对于统计结果先放置在计算机的内存,然后定时存储于NoSql数据库中。 

然后进行步骤S400,为在实时查询时,给定流数据所在的ID、时间段以及相关属性值,返回相应流数据立方体中的度量值。 

步骤S400进一步包括: 

步骤S410:不同的流数据在特定的时间段内,所有的维度都会在先映射后添加到Hash表中,给定流数据所在的ID、时间段以及相关属性值,生成含有这些属性的所有维度组合; 

步骤S420:将这些维度组合映射成为映射值后,找出各映射值所对应的在Hash表中的位置信息; 

步骤S430:根据步骤S420中获得的位置信息,查询并使用最小技术概要方法得到该维度组合的统计数据; 

步骤S440:将这些维度组合按照所要求的属性,进行组合或者抵消后形成具体的属性,然后将结果返回。 

具体如下,对于该概要统计模型的填充操作为:对于第t次到达的元素c,计数最小概要模型更新操作如下式所示。 

1jd:CM[j,hj(it)]CM[j,hj(it)]+ct---(2)

该概要统计模型的更新时间复杂度为

该概要统计模型中统计元素ai在CM Sketch中的操作如下式: 

a^i=min1jdCM[j,hj(i)]---(3)

即通过哈希函数族中的每个函数计算该元素在对应数组中的下标值,获得所有可能值中的最小值即为该元素的估计值。其查询时间复杂度为O(1)。 

该概要统计模型的压缩率为: 

对于(A1,A2,…,An)数据立方体,其所有数据单元个数T为: 

T=Π1n(|Ai|+1)---(4)

则Sketch Cube模型的压缩率P为下式: 

P=Π1n(|Ai|+1)w×d×100%---(5)

流数据具体有内在时序性,对流数据挖掘用倾斜时间窗口TTW(Tilted-Time Window)在不同时间粒度(Multiple Time Granularities)上进行分析,即对流数据挖掘用倾斜时间窗口在不同时间粒度上进行分析。Sketch Cube按时间片段对元素组合进行统计把结果放入计数最小概要模型。如此不但可以提高计算能力和存储空间效率,而且可大幅度提高统计精确度。 

SketchCube设计的存储结构可支持任意时间粒度的组合,其合并公式如下。 

1jd:CM[j,hj(ita+tb)]CM[j,hj(ita)]+CM[j,hj(itb)]---(6)

对于给定哈希函数族,相同维度组合在不同时间中的映射地址相等,可单次扫描小颗粒时间累加得到大颗粒时间度量值(参见图3)。 

上述实施例仅仅是为清楚地说明本发明创造所作的举例,而并非对本发明具体实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本发明的精神和原则之内所引伸出的任何显 而易见的变化或变动仍处于本权利要求的保护范围之中。 

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号