CN104462238B - 一种基于数据离散度无关性的数据立方体构建方法 - Google Patents

一种基于数据离散度无关性的数据立方体构建方法 Download PDF

Info

Publication number
CN104462238B
CN104462238B CN201410653393.6A CN201410653393A CN104462238B CN 104462238 B CN104462238 B CN 104462238B CN 201410653393 A CN201410653393 A CN 201410653393A CN 104462238 B CN104462238 B CN 104462238B
Authority
CN
China
Prior art keywords
subset
tuple
data
hash tables
identifier
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.)
Active
Application number
CN201410653393.6A
Other languages
English (en)
Other versions
CN104462238A (zh
Inventor
高志鹏
李栋
邱雪松
李文璟
孟洛明
杨杨
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing University of Posts and Telecommunications
Original Assignee
Beijing University of Posts and Telecommunications
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing University of Posts and Telecommunications filed Critical Beijing University of Posts and Telecommunications
Priority to CN201410653393.6A priority Critical patent/CN104462238B/zh
Publication of CN104462238A publication Critical patent/CN104462238A/zh
Application granted granted Critical
Publication of CN104462238B publication Critical patent/CN104462238B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/283Multi-dimensional databases or data warehouses, e.g. MOLAP or ROLAP

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供了一种基于数据离散度无关性的数据立方体构建方法,包括针对第一元组,利用其中的N个不同属性产生2N个子集,将所述2N个子集以及每个子集对应的元组标识符放入Hash表中;针对第二元组,利用其中的N个不同属性产生2N个子集;将第二元组所产生的2N个子集和Hash表中已有的子集进行对比;若第二元组所产生的某个子集和Hash表中已有的某个子集一致,则将该子集所对应的元组标识符添加到Hash表中与该子集对应的元组标识符一列中;否则将该子集以及该子集对应的元组标识符放入Hash表中。本发明解决了在数据离散度高的条件下,现有Frag‑Shells算法效率大大降低的问题。

Description

一种基于数据离散度无关性的数据立方体构建方法
技术领域
本发明涉及通信技术领域,具体涉及一种基于数据离散度无关性的数据立方体构建方法。
背景技术
OLAP(On-Line Analytical Processing,联机分析处理)是数据仓库应用和决策支持系统的热点。OLAP分析是基于多维数据上的即席(ad hoc)查询分析。支持在多维数据上进行上卷,下钻,切片等数据操作,侧重决策支持,并且提供直观易懂的查询结果。而绝大多数OLAP产品在进行数据分析之前,都要进行数据立方体预计算(即CUBE计算),生成物化方体。CUBE的预计算是OLAP查询分析的基础。在预计算方面,Frag-Shells算法是一种较常用的计算方法。
但是Frag-Shells算法依赖于数据离散度,在数据之间数据量大、离散度高的情况下表现出来效率低下。而现实生活中,对于具体的分析需求,每个属性要包含很多的数值,因此数据的离散度往往会很大。因此在数据量较大,数据离散度较高的情况下,现有的构建数据立方体的Frag-Shells算法效率大大降低。
发明内容
针对现有技术中的缺陷,本发明提供一种基于数据离散度无关性的数据立方体构建方法,解决了现有数据立方体构建方法中由于数据离散度较高而引起的效率大大降低的问题。
本发明提供一种基于数据离散度无关性的数据立方体构建方法,包括:
对于N维数据,每维数据中有n个属性,所述N*n个属性分布在m个元组中;其中,N>1,n>1,每个元组对应一个元组标识符;
其中,每一个元组中有N个属性,所述N个属性分别属于不同维;
针对第一元组,利用其中的N个不同属性产生2N个子集,每个子集对应第一元组标识符;
将所述2N个子集以及每个子集对应的元组标识符放入Hash表中,所述Hash表中至少有两列,一列用来存放子集,一列用来存放所述子集对应的元组标识符;
针对第二元组,利用其中的N个不同属性产生2N个子集,每个子集对应第二元组标识符;
将第二元组所产生的2N个子集和Hash表中已有的子集进行对比;
若第二元组所产生的某个子集和Hash表中已有的某个子集一致,则将该子集所对应的元组标识符添加到Hash表中与该子集对应的元组标识符一列中;
若第二元组所产生的某个子集和Hash表中已有的子集都不相同,则将该子集以及该子集对应的元组标识符放入Hash表中;
按照同第二元组同样的方式对第三元组至第m元组进行操作,得到一张完整的Hash表;
根据所述完整的Hash表可以得到小于等于N的任意维数据立方体。
优选地,若数据维数N值大于第一阈值时,则先将N维数据划分为p个数据片段,每一数据片段包括两个以上的数据维,所述p个数据片段共包括了N维数据,其中p<N;
对所述每一个数据片段构建每一数据片段的任意维数据立方体。
优选地,所述第一阈值为4。
优选地,采用MapReduce框架对所述p个数据片段进行并行处理。
由上述技术方案可知,本发明的基于数据离散度无关性的数据立方体构建方法,利用每个元组中的属性产生全部维的属性子集,将属性子集及该属性子集对应的标识符TID放在Hash表中,通过对所有元组进行操作,维系和更新Hash表,最终得到包含所有维的完整Hash表。该方法与数据离散度无关,解决了在数据离散度高的条件下,现有Frag-Shells算法效率大大降低的问题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例一提供的基于数据离散度无关性的数据立方体构建方法的流程图;
图2是本发明实施例提供的现有Frag-Shells算法中计算三维ABC方体的过程示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1示出了本发明实施例一提供的基于数据离散度无关性的数据立方体构建方法的流程图,本发明实施例一所述的基于数据离散度无关性的数据立方体构建方法包括:
步骤101:对于N维数据,每维数据中有n个属性,所述N*n个属性分布在m个元组中;其中,N>1,n>1,每个元组对应一个元组标识符;其中,每一个元组中有N个属性,所述N个属性分别属于不同维;针对第一元组,利用其中的N个不同属性产生2N个子集,每个子集对应第一元组标识符;将所述2N个子集以及每个子集对应的元组标识符放入Hash表中,所述Hash表中至少有两列,一列用来存放子集,一列用来存放所述子集对应的元组标识符。
步骤102:针对第二元组,利用其中的N个不同属性产生2N个子集,每个子集对应第二元组标识符。
步骤103:将第二元组所产生的2N个子集和Hash表中已有的子集进行对比,判断Hash表中是否存在第二元组所产生的2N个子集;若存在,即第二元组所产生的某个子集和Hash表中已有的某个子集一致,则执行步骤103a;否则,即第二元组所产生的某个子集和Hash表中已有的子集都不相同,则执行步骤103b。
步骤103a:将该子集所对应的元组标识符添加到Hash表中与该子集对应的元组标识符一列中。
步骤103b:将该子集以及该子集对应的元组标识符放入Hash表中。
步骤104:按照同第二元组同样的方式对第三元组至第m元组进行操作,得到一张完整的Hash表。
步骤105:根据所述完整的Hash表可以得到小于等于N的任意维数据立方体。
本发明实施例的基于数据离散度无关性的数据立方体构建方法,利用每个元组中的属性产生全部维的属性子集,将属性子集及该属性子集对应的标识符TID放在Hash表中,通过对所有元组进行操作,维系和更新Hash表,最终得到包含所有维的完整Hash表。该方法与数据离散度无关,解决了在数据离散度高的条件下,现有Frag-Shells算法效率大大降低的问题。
优选地,若数据维数N值大于第一阈值时,则先将N维数据划分为p个数据片段,每一数据片段包括两个以上的数据维,所述p个数据片段共包括了N维数据,其中p<N;
对所述每一个数据片段按照步骤101-105所述方法构建每一数据片段的任意维数据立方体。
优选地,所述第一阈值为4。
优选地,采用MapReduce框架对所述p个数据片段进行并行处理。
下面以一个具体实施例来对本发明实施例一所述的基于数据离散度无关性的数据立方体构建方法进行解释。
如下表所示,按照倒排索引的方式对给定的N维数据进行归类,数据维数N为7,七维数据分别为A、B、C、D、E、F、G。其中每维数据下有若干个属性,例如A维数据下有a1、a2、a3三个属性。所述N维数据下的所有属性分布在m个元组中,m为8。每个元组对应一个元组标识符TID,这里,第一元组的元组标识符为1,第二元组的元组标识符为2,具体可参见下表1。
这里,由于数据维数N大于第一阈值,则先将7维数据划分为3个数据片段,(A,B,C)、(D,E)、(F,G),对每一个数据片段按照下面所述方法构建每一数据片段任意维数据立方体。
表1原数据库
例如,对于数据片段(A,B,C)构建其任意维数据立方体的方法如下:
针对第一元组,其中有3个属性(a1,b1,c1),利用其中的3个不同属性产生23=8个子集,即子集{a1,b1,c1}、{a1,*,*}、{*,b1,*}、{*,*,c1}、{a1,b1,*}、{a1,*,c1}、{*,b1,c1}、{*,*,*},其中每个子集对应第一元组标识符1,将所述8个子集以及每个子集对应的元组标识符放入Hash表中,所述Hash表中至少有两列,一列用来存放子集,一列用来存放所述子集对应的元组标识符TID。如下表2所示意。
表2 Hash表
子集 TID列表
{a1,b1,c1} {1}
{a1,*,*} {1}
{*,b1,*} {1}
{*,*,c1} {1}
{a1,b1,*} {1}
{a1,*,c1} {1}
{*,b1,c1} {1}
{*,*,*} {1}
针对第二元组,其中有3个属性(a1,b2,c2),利用其中的3个不同属性产生23=8个子集,即子集{a1,b2,c2}、{a1,*,*}、{*,b2,*}、{*,*,c2}、{a1,b2,*}、{a1,*,c2}、{*,b2,c2}、{*,*,*},其中每个子集对应第二元组标识符2。
将第二元组所产生的8个子集和上述Hash表中已有的子集进行对比;
若第二元组所产生的某个子集和Hash表中已有的某个子集一致,例如,第二元组所产生的子集{a1,*,*}在上述Hash表中已经存在,则将该子集所对应的元组标识符添加到Hash表中与该子集对应的元组标识符一列中,即在原有的与该子集对应的元组标识符TID列表{1}中增加第二元组的元组标识符后得到TID列表:{1,2}。
若第二元组所产生的某个子集和Hash表中已有的子集都不相同,例如第二元组所产生的子集{*,b2,*}在上述Hash表中不存在,则将该子集{*,b2,*}以及该子集对应的元组标识符{2}放入到上述Hash表中。
按照同第二元组同样的方式对第三元组至第八元组进行操作,得到一张完整的Hash表。
根据所述完整的Hash表可以得到数据片段(A,B,C)的一维数据立方体、二维数据立方体和三维数据立方体。
利用上述同样的方法对数据片段(D,E)和数据片段(F,G)进行操作,得到数据片段(D,E)的一维数据立方体和二维数据立方体;得到数据片段(F,G)的一维数据立方体和二维数据立方体。
为了说明本发明实施例所述方法的优势,下面结合现有技术中的Frag-Shells算法进行一下对比。
同样,对于上述数据片段(A,B,C),现有技术中的Frag-Shells算法在计算数据片段(A,B,C)的一维数据立方体、二维数据立方体和三维数据立方体时,采用如下做法:
1)一维方体:A方体、B方体、C方体;
2)二维方体:AB方体,AC方体,BC方体;
3)三维方体:ABC方体。
对于A方体,从表1中找出数据维A的各个属性所对应的元组标识符,即{a1}->{1,2,3}、{a2}->{4,5}、{a3}->{6,7,8};
对于B方体,从表1中找出数据维B的各个属性所对应的元组标识符,即{b1}->{1}、{b2}->{2,3,4,6}、{b3}->{5,7,8};
对于C方体,从表1中找出数据维C的各个属性所对应的元组标识符,即{c1}->{1,4,5,6,7}、{c2}->{2,3,8};
对于AB方体,需要对A方体的所有属性值和B方体中每一个属性值做交集,即{a1,b1}->{1}、{a1,b2}->{2,3}、{a2,b2}->{4};{a2,b3}->{5}、{a3,b2}->{6}、{a3,b3}->{7,8};
同理算出方体AC和BC;
为了计算三维ABC方体,根据先计算出的AB方体,分别与C方体各个属性维的TID值做交集,得出ABC方体。其具体过程可参见图2,图2示出了现有Frag-Shells算法中计算三维ABC方体的过程示意图。
从上面的描述可知,现有技术中的Frag-Shells算法在由小维立方体做交集生成多维立方体的过程中,每生成一个多维方体,就需要两个维属性的多个属性值的元组标识符TID集合做交集。若数据的离散度很大,那么倒排索引的元组个数也将变大,即元组标识符TID的个数将变大,那么在做交集时,操作次数将大大增加,这样会严重拖慢算法的处理速度。
而本发明实施例所述的基于数据离散度无关性的数据立方体构建方法,利用每个元组中的属性产生全部维的属性子集,将属性子集及该属性子集对应的标识符TID放在Hash表中,通过对所有元组进行操作,维系和更新Hash表,最终得到包含所有维的完整Hash表。该方法与数据离散度无关,因而解决了在数据离散度高的条件下,现有Frag-Shells算法效率大大降低的问题。
在本申请的另外一个实施例中,采用MapReduce框架对实施例一中所述三个数据片段(A,B,C)、(D,E)、(F,G)进行并行处理,以提高系统的性能。
以上实施例仅用于说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (4)

1.一种基于数据离散度无关性的数据立方体构建方法,其特征在于,包括:
对于N维数据,每维数据中有n个属性,所述N*n个属性分布在m个元组中;其中,N>1,n>1,每个元组对应一个元组标识符;
其中,每一个元组中有N个属性,所述N个属性分别属于不同维;
针对第一元组,利用其中的N个不同属性产生2N个子集,每个子集对应第一元组标识符;
将所述2N个子集以及每个子集对应的元组标识符放入Hash表中,所述Hash表中至少有两列,一列用来存放子集,一列用来存放所述子集对应的元组标识符;
针对第二元组,利用其中的N个不同属性产生2N个子集,每个子集对应第二元组标识符;
将第二元组所产生的2N个子集和Hash表中已有的子集进行对比;
若第二元组所产生的某个子集和Hash表中已有的某个子集一致,则将该子集所对应的元组标识符添加到Hash表中与该子集对应的元组标识符一列中;
若第二元组所产生的某个子集和Hash表中已有的子集都不相同,则将该子集以及该子集对应的元组标识符放入Hash表中;
按照同第二元组同样的方式对第三元组至第m元组进行操作,得到一张完整的Hash表;
根据所述完整的Hash表可以得到小于等于N的任意维数据立方体。
2.根据权利要求1所述的方法,其特征在于,若数据维数N值大于第一阈值时,则先将N维数据划分为p个数据片段,每一数据片段包括两个以上的数据维,所述p个数据片段共包括了N维数据,其中p<N;
对所述每一个数据片段按照权利要求1所述方法构建每一数据片段的任意维数据立方体。
3.根据权利要求2所述的方法,其特征在于,所述第一阈值为4。
4.根据权利要求2或3所述的方法,其特征在于,采用MapReduce框架对所述p个数据片段进行并行处理。
CN201410653393.6A 2014-11-17 2014-11-17 一种基于数据离散度无关性的数据立方体构建方法 Active CN104462238B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410653393.6A CN104462238B (zh) 2014-11-17 2014-11-17 一种基于数据离散度无关性的数据立方体构建方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410653393.6A CN104462238B (zh) 2014-11-17 2014-11-17 一种基于数据离散度无关性的数据立方体构建方法

Publications (2)

Publication Number Publication Date
CN104462238A CN104462238A (zh) 2015-03-25
CN104462238B true CN104462238B (zh) 2017-08-25

Family

ID=52908274

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410653393.6A Active CN104462238B (zh) 2014-11-17 2014-11-17 一种基于数据离散度无关性的数据立方体构建方法

Country Status (1)

Country Link
CN (1) CN104462238B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105142164B (zh) * 2015-06-24 2018-10-30 北京邮电大学 待估节点的数据填补方法和装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1564160A (zh) * 2004-04-22 2005-01-12 重庆市弘越科技有限公司 建立及查询多维数据立方体的方法
CN101183368A (zh) * 2007-12-06 2008-05-21 华南理工大学 联机分析处理中分布式计算及查询海量数据的方法和系统

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7133876B2 (en) * 2001-06-12 2006-11-07 The University Of Maryland College Park Dwarf cube architecture for reducing storage sizes of multidimensional data
US7958122B2 (en) * 2008-03-05 2011-06-07 Microsoft Corporation Data domains in multidimensional databases

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1564160A (zh) * 2004-04-22 2005-01-12 重庆市弘越科技有限公司 建立及查询多维数据立方体的方法
CN101183368A (zh) * 2007-12-06 2008-05-21 华南理工大学 联机分析处理中分布式计算及查询海量数据的方法和系统

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
An Efficient Indexing Technique for Computing High Dimensional Data Cubes;Leng F等;《Springer Link》;20061231;全文 *
High dimensional OLAP a minimal cubing approach;Dehne F等;《Apringer Link》;20060131;第19卷(第1期);全文 *
High-dimensional OLAP: a minimal cubing approach;Li X等;《ACM Digital library》;20040903;第30卷;全文 *
基于MapReduce的封闭数据立方;冷芳玲等;《基于MapReduce的封闭数据立方》;20111230;全文 *
多维分析中数据立方体的模型研究;张辉鹏;《福建电脑》;20050531(第5期);全文 *

Also Published As

Publication number Publication date
CN104462238A (zh) 2015-03-25

Similar Documents

Publication Publication Date Title
Gupta et al. Top-k interesting subgraph discovery in information networks
CN107145523B (zh) 基于迭代匹配的大型异构知识库对齐方法
CN104217015B (zh) 基于互为共享最近邻的层次聚类方法
CN101339553A (zh) 面向海量数据近似快速聚类和索引方法
CN103106262A (zh) 文档分类、支持向量机模型生成的方法和装置
CN107832631A (zh) 一种数据发布的隐私保护方法和系统
Xu et al. Efficient high utility negative sequential patterns mining in smart campus
CN104933143A (zh) 获取推荐对象的方法及装置
Fan et al. Gem: An analytic geometrical approach to fast event matching for multi-dimensional content-based publish/subscribe services
CN104462238B (zh) 一种基于数据离散度无关性的数据立方体构建方法
CN105574076B (zh) 一种基于Bloom Filter的键值对存储结构及方法
US8874615B2 (en) Method and apparatus for implementing a learning model for facilitating answering a query on a database
CN104809210B (zh) 一种基于分布式计算框架下海量数据加权top‑k查询方法
Sheng et al. Research on the influence maximization based on community detection
He et al. Parallel feature selection using positive approximation based on mapreduce
Jain et al. Using Mahout for clustering similar Twitter users: Performance evaluation of k-means and its comparison with fuzzy k-means
Zheng et al. k-dominant Skyline query algorithm for dynamic datasets
CN102902896A (zh) 基于专家知识与拓扑相似的邻居优先生物分子子网搜索方法
CN104699747A (zh) 一种基于高维数据过滤器的近似成员查询方法
McConville et al. Accelerating large scale centroid-based clustering with locality sensitive hashing
CN108846543B (zh) 一种非重叠社区集合质量度量指标的计算方法及装置
CN104021169B (zh) 一种基于SDD‑1算法的Hive连接查询方法
CN104391866A (zh) 一种基于高维数据过滤器的近似成员查询方法
CN117556095B (zh) 图数据分割方法、装置、计算机设备和存储介质
US20200081875A1 (en) Information Association And Suggestion

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant