CN109325062A - 一种基于分布式计算的数据依赖挖掘方法及*** - Google Patents

一种基于分布式计算的数据依赖挖掘方法及*** Download PDF

Info

Publication number
CN109325062A
CN109325062A CN201811061441.7A CN201811061441A CN109325062A CN 109325062 A CN109325062 A CN 109325062A CN 201811061441 A CN201811061441 A CN 201811061441A CN 109325062 A CN109325062 A CN 109325062A
Authority
CN
China
Prior art keywords
data
attribute
dependence
high level
data dependence
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
Application number
CN201811061441.7A
Other languages
English (en)
Other versions
CN109325062B (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.)
Harbin Institute of Technology
Original Assignee
Harbin Institute of Technology
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 Harbin Institute of Technology filed Critical Harbin Institute of Technology
Priority to CN201811061441.7A priority Critical patent/CN109325062B/zh
Publication of CN109325062A publication Critical patent/CN109325062A/zh
Application granted granted Critical
Publication of CN109325062B publication Critical patent/CN109325062B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明涉及数据处理技术领域,提供了一种基于分布式计算的数据依赖挖掘方法及***,其中方法包括:数据重分配步骤、根据原始数据集生成属性相似倒排表;一阶依赖挖掘步骤、根据所述属性相似倒排表挖掘一阶数据依赖关系;高阶依赖挖掘步骤、逐级进行高阶数据依赖关系的挖掘,其中生成高阶数据依赖候选集,并基于挖掘的低阶数据依赖关系对高阶数据依赖候选集进行剪枝,利用属性相似倒排表对剪枝后的高阶数据依赖候选集中的高阶数据依赖关系进行验证。本发明通过生成属性相似倒排表,并采用递推式的数据依赖关系挖掘方式,使得数据依赖挖掘的可靠性和准确性更高。

Description

一种基于分布式计算的数据依赖挖掘方法及***
技术领域
本发明涉及数据处理技术领域,尤其涉及一种基于分布式计算的数据依赖挖掘方法及***。
背景技术
在大数据时代以前,通过数据发现数据中所存在的规律,从而对物理世界进行推断与探索,就是各个领域的研究人员不可或缺的工作。其中,数据的依赖关系,即记录的某个属性由其他属性唯一或近似地决定的关系,就是常见的规律形式。一个新的依赖关系的发现,往往能给相关领域的理论研究带来新的启示与发现,更具有数据清洗、数据查询优化等现实意义。而随着大数据时代的到来,工业、医疗、金融、气象等各个领域每时每刻都在产生着大量的数据。其数据量之大,数据产生之快,已经到了无法由人力进行分析与整合的程度。如何通过算法自动高效地挖掘数据依赖关系,具有广泛的现实背景和重要的应用价值。
目前,对于大规模数据上的数据依赖挖掘研究进展缓慢,有应用意义的解决办法大致有以下两种:
(1)采用数据库领域以TANE算法为代表的函数依赖挖掘算法进行递归与剪枝求解。方法(1)的主要问题在于应用领域狭窄。以TANE算法为代表的函数依赖挖掘算法,虽然能够以动态规划的形式,对函数依赖关系进行快速地求解。但其基础在于,函数依赖关系本质上是建立在数据在特定属性上的等值关系的,这种等值关系带来的等价类划分,是这些算法求解的关键。但数据依赖是比函数依赖更广泛的概念,它只要求两个记录在对应的属性上满足距离度规上的相似即可,这种关系不是等价关系,无法划分等价类。这个矛盾导致,效率较好的函数依赖挖掘算法势必不能应用在允许近似相等的数据依赖上。尤其是对于实数、向量、图像等属性,本身就难以建立严格的等值关系,更不可能通过函数依赖来求解了。
(2)由专家给出可能存在的数据依赖关系,在数据集中进行特定的检测与验证。因为是要对所假设的数据依赖关系进行检验,所以其可靠性与性能主要取决于对数据依赖关系的预估的好坏。这导致了两方面问题,一方面,专家对于数据的了解是有限的,在实际的应用中,那些专家未能预测到的数据依赖关系往往具有更大的理论意义;依赖专家的预测,会导致数据中存在的部分数据依赖关系被遗漏。另一方面,如果要避免遗漏,专家势必要对数据依赖关系做出相当宽泛的猜想,导致总的需要检验的数据依赖关系数目趋于可能的数据依赖关系总数(属性数目的指数级别)。这两者难以进行协调,将会导致数据依赖的挖掘要么遗漏甚多,要么性能低下。
发明内容
本发明要解决的技术问题在于,针对现有技术中时间序列分类存在的以上一个或多个缺陷,提供了一种基于分布式计算的数据依赖挖掘方法及***。
为了解决上述技术问题,本发明第一方面,提供了一种基于分布式计算的数据依赖挖掘方法,包括以下步骤:
数据重分配步骤、根据原始数据集生成属性相似倒排表;
一阶依赖挖掘步骤、根据所述属性相似倒排表挖掘一阶数据依赖关系;
高阶依赖挖掘步骤、逐级进行高阶数据依赖关系的挖掘,其中生成高阶数据依赖候选集,并基于挖掘的低阶数据依赖关系对高阶数据依赖候选集进行剪枝,利用属性相似倒排表对剪枝后的高阶数据依赖候选集中的高阶数据依赖关系进行验证。
可选地,所述数据重分配步骤包括:
为原始数据集的每条数据指定或生成一个数据ID,对于每条数据,将数据ID、属性编号、属性的值作为一个三元组进行储存;对所有的数据处理完毕后,按照属性编号进行重分配,其中每个属性编号对应一个子数据库,记录了该属性下所有源数据的三元组的数据ID与属性的值;
对重分配后的数据集进行与自身的笛卡尔积处理,把原本的数据转换为数据对;对每一个数据对进行筛选,找到每一个数据对满足相似关系的属性;把不同属性上的信息按照数据ID进行聚合,对于每一个数据对,输出这一个数据对满足相似约束的属性集合作为属性相似倒排表。
可选地,所述数据重分配步骤在进行笛卡尔积处理之前,对于数据集先进行一次分块操作,先对数据块进行配对,再逐对地进行并行的笛卡尔积处理;其中调节块的大小使得每两块之间的笛卡尔积能容纳在并行的一个计算节点之内。
可选地,所述一阶依赖挖掘步骤包括:
对于属性相似倒排表中的数据对(i,j)的满足相似约束的属性集合Aij,生成笛卡尔积并将结果汇总到一阶排除列表中;
消除一阶排除列表中的重复元素,得到需排除的一阶数据依赖关系;
用笛卡尔积生成一阶数据依赖关系候选集,并在消除对角元素后得到非平凡的一阶数据依赖关系候选集;
在所述非平凡的一阶数据依赖关系候选集中减去需排除的一阶数据依赖关系,得到挖掘出的一阶数据依赖关系。
可选地,所述基于挖掘的低阶数据依赖关系对高阶数据依赖候选集进行剪枝,具体为:对于在挖掘出的低阶数据依赖关系的左边增加一个属性得到的关系式,将其排除出高阶数据依赖候选集。
可选地,所述高阶依赖挖掘步骤中还包括以下一种或者多种剪枝处理步骤:
1)基于小样本集的剪枝处理步骤:
按照比例抽取属性相似倒排表的子集,将高阶数据依赖候选集中的每个高阶数据依赖关系在该子集上进行验证,当不成立时排除出高阶数据依赖候选集;
2)基于探测集的剪枝处理步骤:
随机生成部分高阶数据依赖关系,将所述部分高阶数据依赖关系在该属性相似倒排表上进行验证,将不成立的作为探测集;检测高阶数据依赖候选集中的每个高阶数据依赖关系是否被探测集中的高阶数据依赖关系所覆盖,是则将其排除出高阶数据依赖候选集;
3)基于不可信度的剪枝处理步骤:
随阶数动态规划近似计算一个高阶数据依赖关系的不可信度;
设置对于不可信度的上限,将不可信度高于上限的高阶数据依赖关系排除出高阶数据依赖候选集。
本发明还提供了一种基于分布式计算的数据依赖挖掘***,包括:
数据重分配单元,用于根据原始数据集生成属性相似倒排表;
一阶依赖挖掘单元,用于根据所述属性相似倒排表挖掘一阶数据依赖关系;
高阶依赖挖掘单元,用于逐级进行高阶数据依赖关系的挖掘,其中生成高阶数据依赖候选集,并基于挖掘的低阶数据依赖关系对高阶数据依赖候选集进行剪枝,利用属性相似倒排表对剪枝后的高阶数据依赖候选集中的高阶数据依赖关系进行验证。
可选地,所述数据重分配单元通过以下方式生成属性相似倒排表:
为原始数据集的每条数据指定或生成一个数据ID,对于每条数据,将数据ID、属性编号、属性的值作为一个三元组进行储存;对所有的数据处理完毕后,按照属性编号进行重分配,其中每个属性编号对应一个子数据库,记录了该属性下所有源数据的三元组的数据ID与属性的值;
对重分配后的数据集进行与自身的笛卡尔积处理,把原本的数据转换为数据对;对每一个数据对进行筛选,找到每一个数据对满足相似关系的属性;把不同属性上的信息按照数据ID进行聚合,对于每一个数据对,输出这一个数据对满足相似约束的属性集合作为属性相似倒排表。
可选地,所述数据重分配单元在进行笛卡尔积处理之前,对于数据集先进行一次分块操作,先对数据块进行配对,再逐对地进行并行的笛卡尔积处理;其中调节块的大小使得每两块之间的笛卡尔积能容纳在并行的一个计算节点之内。
可选地,所述一阶依赖挖掘单元用于执行以下操作:
对于属性相似倒排表中的数据对(i,j)的满足相似约束的属性集合Aij,生成笛卡尔积并将结果汇总到一阶排除列表中;
消除一阶排除列表中的重复元素,得到需排除的一阶数据依赖关系;
用笛卡尔积生成一阶数据依赖关系候选集,并在消除对角元素后得到非平凡的一阶数据依赖关系候选集;
在所述非平凡的一阶数据依赖关系候选集中减去需排除的一阶数据依赖关系,得到挖掘出的一阶数据依赖关系。
可选地,所述高阶依赖挖掘单元基于挖掘的低阶数据依赖关系对高阶数据依赖候选集进行剪枝,具体为:对于在挖掘出的低阶数据依赖关系的左边增加一个属性得到的关系式,将其排除出高阶数据依赖候选集。
可选地,所述高阶依赖挖掘单元中还通过以下一种或者多种剪枝处理步骤对高阶数据依赖候选集进行剪枝:
1)基于小样本集的剪枝处理步骤:
按照比例抽取属性相似倒排表的子集,将高阶数据依赖候选集中的每个高阶数据依赖关系在该子集上进行验证,当不成立时排除出高阶数据依赖候选集;
2)基于探测集的剪枝处理步骤:
随机生成部分高阶数据依赖关系,将所述部分高阶数据依赖关系在该属性相似倒排表上进行验证,将不成立的作为探测集;检测高阶数据依赖候选集中的每个高阶数据依赖关系是否被探测集中的高阶数据依赖关系所覆盖,是则将其排除出高阶数据依赖候选集;
3)基于不可信度的剪枝处理步骤:
随阶数动态规划近似计算一个高阶数据依赖关系的不可信度;
设置对于不可信度的上限,将不可信度高于上限的高阶数据依赖关系排除出高阶数据依赖候选集。
实施本发明实施例提供的基于分布式计算的数据依赖挖掘方法及***,至少具有如下有益效果:
1、本发明可以实现在分布式集群之上,这使得对于大规模数据的数据依赖挖掘成为可能,并且本发明对于高阶的数据依赖关系提出了提前结束与剪枝的新判定条件,解决了数据依赖关系难以剪枝的问题,从而能够在可接受的时间复杂度内完成全部数据依赖关系的查找
2、本发明将一阶数据依赖与高阶数据依赖区别开,从而能够针对一阶数据依赖独特的特点,设计出高效率的分布式算法,在部分满足问题需要的同时,为其他数据依赖挖掘工作打下了计算上的基础。
3、本发明提出了数据依赖不可信度的概念。区别于其他的数据挖掘算法,本发明同时注意到了数据挖掘中真理性的问题,并将其应用在数据依赖挖掘上。一方面,不可信的数据依赖可以在具体检测之前先行予以剔除,大幅降低了运算量;另一方面,不可信度与数据依赖关系同时输出,对于后续的其他应用有相当重要的意义。
附图说明
图1是本发明实施例一所提供基于分布式计算的数据依赖挖掘方法的流程图;
图2是本发明所提供基于分布式计算的数据依赖挖掘方法的数据分块示意图;
图3是本发明实施例四所提供基于分布式计算的高阶数据依赖检测方法的原理示意图;
图4是本发明实施例五所提供基于分布式计算的数据依赖挖掘***的示意图;
图5为本发明的剪枝的实验结果图;
图中:401:数据重分配单元;402:一阶依赖挖掘单元;403:高阶依赖挖掘单元。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提出了数据依赖挖掘解决方案;一方面,本发明可以实现在分布式集群之上,这使得对于大规模数据的数据依赖挖掘成为可能。另一方面,本发明对于高阶的数据依赖关系提出了提前结束与剪枝的新判定条件,解决了数据依赖关系难以剪枝的问题,从而能够在可接受的时间复杂度内完成全部数据依赖关系的查找。
实施例一
如图1所示,本发明实施例一提供的基于分布式计算的数据依赖挖掘方法,可以包括以下步骤:
步骤S1:根据原始数据集生成属性相似倒排表。该步骤为数据重分配步骤。其中地,所述属性相似倒排表中每行对应原始数据集中的一个数据对,且该行记载了该对数据对满足相似约束的属性编号。
步骤S2:根据所述属性相似倒排表挖掘一阶数据依赖关系。该步骤为一阶依赖挖掘步骤。
步骤S3:逐级进行高阶数据依赖关系的挖掘,其中先生成高阶数据依赖候选集,即生成k阶数据依赖的全部候选关系,并基于挖掘的低阶数据依赖关系对高阶数据依赖候选集进行剪枝,利用属性相似倒排表对剪枝后的高阶数据依赖候选集中的高阶数据依赖关系进行验证。该步骤S3为高阶依赖挖掘步骤。
本发明基于分布式计算的数据依赖挖掘方法,采用了递推式的流程设计思路。如果一个属性由k个不同的属性决定,本发明就称这个数据依赖关系为k阶的数据依赖。而本发明设计的方法流程,就是先找全所有的一阶数据依赖关系,再以此为基础找全所有的二阶数据依赖关系,以此类推,直到找全所有的数据依赖关系为止。
对于一阶和更高阶的数据依赖挖掘问题,在性质上会有一些区别。假设数据模式中总计有N个属性。所有的一阶数据依赖关系在逻辑上相当于一个二元有序数对,所有可能的数据依赖关系总数为N2-N(忽略自反的数据依赖),且能够通过一个二维布尔矩阵来完全表达,故适合在一轮并行计算内同时找全所有的一阶数据依赖关系。但对于高阶的数据依赖而言,第k阶所有可能的数据依赖个数为远远超过一阶数据依赖的数量与实际运算环境可接受的数量,因此不适合地毯式地查找。要没有遗漏地挖掘高阶的数据依赖,需要先生成一个该阶数据依赖关系的全部候选集,然后对这个候选集合进行一系列剪枝,最终再把未能经由剪枝操作否定或确认的候选数据依赖关系,放到全数据集上进行并行地一一验证。由于这些性质上的不同,本发明对于一阶的数据依赖与高阶的数据依赖设计了不同的算法流程进行处理,两者共同结合后才能完成发明目标中的各阶的分布式计算数据依赖挖掘。
本发明的方法可以基于分布式计算实现。在上述每一步中,map与reduce都是搭配共同使用的,每一个map操作之后,都会有对应的reduce或shuffle(reduce的变种)操作进行重新整理。
在数据重分配过程中,先使用map操作完成了从原始数据到有分组编号和属性编号的碎片化数据的转换,然后使用reduce操作把这些碎片化数据按照分组编号与属性编号整合起来。在相同属性编号的组之间做笛卡尔积操作后,对笛卡尔积结果进行了filter(map的变种)操作,对每一个元组进行了相似性条件判定,舍去其中不满足相似条件的,再使用reduce操作把原行号相同的数据整合在一起,并转换成属性相似倒排表的形式。
在一阶依赖挖掘过程中,先使用map操作,对属性相似倒排表的每一项,找出其排除的所有一阶数据依赖,再使用reduce操作,对这些被排除的一阶数据依赖取并,从而通过排除法找出所有的一阶数据依赖。
在高阶数据依赖挖掘中,分布式计算体现在数据依赖的验证步骤。对于待验证的数据依赖,使用map操作发送给属性相似倒排表的每一项,考察其是否会被否定;通过reduce操作,把倒排表每一项给出的结果汇总起来,如果无一违背,则该数据依赖为真。
实施例二
在本发明实施例一提供的基于分布式计算的数据依赖挖掘方法的基础上,提供了其中数据重分配步骤的具体实现过程如下:
第一步:由于数据的不同属性可能有不同的格式与相似(或距离)函数,不便于进行并行处理,本发明首先要把按行存储的数据库转为按列重新组织的若干个子数据集。具体来说,为原始数据集的每条数据指定或生成一个数据ID,对于每条数据,将数据ID、属性编号、属性的值作为一个三元组进行储存。对所有的数据处理完毕后,按照属性编号进行重分配(对应Spark框架中的ReduceByKey操作),其中每个属性编号对应一个子数据库,记录了该属性下所有源数据的三元组的数据ID与属性的值。
第二步:对于每一个属性,需要两两比对数据集中的元组,找到每一个元组对在哪些属性上满足相似关系,哪些属性上不满足。即对重分配后的数据集进行与自身的笛卡尔积处理,把原本的数据转换为数据对;对每一个数据对进行筛选(对应Spark框架中的Filter操作),找出哪些数据对在这一个属性上满足了相似约束关系,即每一个数据对满足相似关系的属性。最后,把不同属性上的信息整合到一起,按照数据ID进行聚合,对于每一个数据对,输出这一个数据对满足相似约束的属性集合作为属性相似倒排表。
本发明中为了更加适合进行数据依赖的挖掘,预先对数据进行了上述处理,去除其他无关的信息,仅保留与数据依赖关系直接相关的关键信息,并把它们用易于并行查询的方式进行存储。这一步操作,称之为数据的重分配过程。
无论是数据依赖还是更为严格的函数依赖,本质上都是这样的关系:数据集中的任意两个元组,如果在某些属性上满足等量(对应函数依赖)或距离约束(对应更广泛的数据依赖)关系,则其在另外某个属性上,就必定也满足同样的约束条件。那么,本发明要进行数据依赖的挖掘,就无需记录数据具体的值,而是只需要记录各个元组之间在哪些属性上满足相似约束,哪些属性上不满足即可。
为了简约地记录有关数据依赖的信息,本发明提出了属性相似倒排表这一数据结构。数据集中每一对元组对应属性相似倒排表中的一行,这一行记录了这一对元组在哪些属性上满足相似约束,其余属性上则不满足。例如,第五行与第七行仅在编号为一、二、四、六的属性上满足相似约束关系,我们经过处理后将这个信息存储在列表(1,2,4,6)中,作为属性相似倒排表中的一行。这样,要验证某一个数据依赖关系,如属性一与属性三能够决定属性五,只需要遍历属性相似倒排表的每一行,当存在某一行的记录(如(1,3,4,6))包含了属性一与属性三且不包含属性五时,表明存在某一对数据在属性一与三上满足相似约束,但在属性五上却不满足,那么这个数据依赖关系就能够被排除。因此,属性相似倒排表,能够以简短易用的方式,记录原本数据集中与数据依赖关系相关的信息。
优选地,数据重分配步骤在进行笛卡尔积处理之前,对于数据集先进行一次分块操作,先对数据块进行配对,再逐对地进行并行的笛卡尔积处理;其中调节块的大小使得每两块之间的笛卡尔积能容纳在并行的一个计算节点之内。
下面对本发明的使用的属性相似倒排表及生成过程进行阐述。
1、属性相似关系图
由于数据依赖挖掘本身就是计算压力与存储压力较大的任务,如果直接使用原始数据集进行计算,运行效率和可伸缩性将会受到很大的影响。所以,本发明在具体探讨数据依赖挖掘方法之前,首先要深入研究如何对数据进行重新表示。该重分配可以最高效地压缩数据结构,而又能保留数据依赖挖掘所需的必要信息。
由于数据依赖所需要的信息,是每一对数据在指定属性上的相似信息;而数据具体取了什么样的值,实际上是与我们的问题无关的。因此,本发明可以借助图的拓扑结构来表达这种相似关系,从而把记录中具体的值的信息舍去。这种无向图结构,本发明称之为“属性相似关系图”。
1.1属性相似关系图的定义
现在,我们具体的给出属性相似关系图的形式化定义。对于数据库R中的各个记录{r1,r2,…,rn},我们把它们依次一一映射到顶点集合V中。在这个顶点集V之上,对于每一个属性ak,都有一个属性相似关系图Gk=(V,Ek)。其中边集Ek的定义规则如下:
这样,对于每一个属性,我们都能够从数据集之中,建立出这样一个属性相似关系图。所有属性也就对应了一个所有属性相似关系图的集合:
1.2相似图子图关系与数据依赖关系的等价性
下面,我们要说明在属性相似关系图上,我们能够准确而完备地找出所有数据集所支持的数据依赖关系。
定理1:
定理2:
由此,我们可以看到,只要建立了这样的属性相似关系图结构,我们就能把数据依赖挖掘的问题转化为属性相似关系图之间的包含问题,从而可以屏蔽数据记录在具体属性上的值、距离函数、距离阈值等一系列信息,提高数据依赖挖掘效率。
2、属性相似倒排表
2.1属性相似倒排表的定义
虽然属性相似关系图能够对数据进行有效的压缩存储。然而,从分布式***的观点来看,属性相似关系图对于数据,仅在不同属性上进行了分割。每一个属性相似关系图还是比较庞大的,不利于高效分布式算法的设计。因此,我们进一步使用倒排表来表达属性相似关系图,提高并行度。这个倒排表,形式上记录如下:
inverseG={Aij}
具体定义如下:
用语言来表述,就是对于每一条可能的边(i,j),都有一个对应的属性集合Aij,记录了在哪些属性的属性相似关系图中有该边存在。
2.2属性相似倒排表与数据依赖关系
下面,我们要证明在属性相似倒排表上,我们也能够准确而完备的找出所有数据集所支持的数据依赖关系。当然,从概念上倒排表已经表达了图上的所有信息,所以这个结论也是符合直觉的。
定理3:
从这个定理中我们可以看到,对于某个数据依赖关系的验证,可以由每个边独立地进行判断。这也是我们能够使用map-reduce模型进行分析的基础。
3、数据的重分配
下面,我们讨论如何从原始数据集R中得到属性相似倒排表。注意到要完成这一步需要在属性之间进行两两比较,对于大数据的情况下存储压力过大。因此,首先我们要研究数据的重分配,通过数据的重新划分,来降低每一个计算节点同时需要存储的数据的规模,从而提高***的可扩展性。
3.1依赖属性的重分配
最简单的数据分配模型是按照属性进行分配。由于数据记录之间在某一个属性上的相似关系只和这个属性上的值相关,与其他属性的值是独立的,我们因而可以把数据的每个属性拆解开分别处理。当然,为了保证数据的完整性,我们还需要把数据记录的编号记录下来,作为后续我们重新组织数据的外键依据。具体算法如下:
算法1按属性重分配
按照map-reduce的模型,算法1是一个mapper,对数据集R中的每一个数据记录ri并行执行。在第三行中,数据在对应属性上的值被抽取出来,与数据编号一起组装成一个二元组,以供后续的进一步分析;而属性的编号k,则作为键值对的键,以确保后续我们按照键重新分组的时候,具有相同的属性编号的数据能够被分配到同一计算节点。
从逻辑来说,数据经过算法1这样一个map操作后,如果从键来看,相当于由按行组织的关系型数据模型,转化为了按列组织的数据结构。这样,每一个节点的存储压力将转化为原来的
3.2依赖数据分块与属性的重分配
然而,即使是经过了3.1中的重分配之后,每一个计算节点也要至少存储至少n个数据的某一属性的全部值。在数据量巨大时,仍然是相当庞大的存储压力。为了解决这一问题,我们对于数据进行了进一步地分块。我们引入参数b,作为数据分块数。这样,我们将原来的数据集R在按照属性分配的基础上,进一步地再划分b次。这样数据集就分为了约块,如图2所示。
具体算法如下所示:
算法2数据分块重分配
尤其注意我们这里的键的生成。在算法1中,我们可以只使用属性的编号作为键;而这里,为了区分不同的块,我们把数据在数据集中的分块编号blockID与属性编号叠加在一起,作为这个子块的键。其中,blockID在第2行中,使用记录编号取余的方式选择,确保数据接近均匀分配;子块键的计算方法在第5行中,blockID×m+k作为子块的键,使得外部程序只要获知属性的总数m就能够计算出它所属的数据块编号与属性编号。
通过这种细粒度的数据分块,能够确保每一个计算节点的存储与运算压力不致过大,对于分布式***来说,提高了容错能力和可扩展性。
4、属性相似倒排表的生成算法
基于3.2中算法2所生成的子块划分,我们将可以进一步地生成属性相似倒排表项。具体算法如算法3所示。
算法3生成属性相似倒排表
算法的第2行,是对每一个属性分开进行处理。在这个属性内部,算法的3-4行从(0,0)到(b-1,b-1)遍历所有子块对(i,j)的组合。
在算法的5-6行中,我们获取了属性attri对应的第i个数据分块与第j个数据分块。
因为要进行的是两两比对,所以我们在第7行进行了笛卡尔积操作;需要注意的是,由于Spark具有惰性计算的特性,我们在这里并不会生成完整的笛卡尔积结果,而是会被Spark框架自行优化成元组级的细粒度并行计算。
第8行,我们调用算法5进行第i个数据分块与第j个数据分块在属性attri上的元组级两两比对,生成这两个数据分块内的所有边的倒排表项。
每个子块的倒排表结果将会在第9行中汇总到results集合中。当然,这里的results是比较松散的元组形式存储的。
第10行,就是把results里面松散的元组按照键重新排布分划,这样每条边所对应的属性列表就汇总在一起了。
第11行,进一步把先前用作分组依据的键值去除掉,这样我们得到的列表集合,就是2.1中定义的属性相似倒排表了。
在算法3的第5行与第6行中,使用的获取子块算法如下所示:
算法4获取子块
第1行,我们使用算法2所确定的规则,计算我们所需要的子块(属性编号为attri,数据分块编号为i)的键为i×m+attri。第二行,我们使用map-reduce模型的filter操作,过滤数据集中所有键符合我们要求的元组。第三行,使用map操作,我们摒弃掉了子块ID这一不再需要的域,只留下形如(id,value)的记录编号与attri属性上的值的二元组。
在算法3的第8行中,所使用的生成子块的倒排表的算法如下。该算法对于在属性attri上所有从左子块对应记录出射、右子块对应记录入射的边都进行了统计并输出成倒排表项的形式。
算法5统计子块边
第1行,筛选所有满足阈值的元素对。第二行,使用map操作,去除掉已经冗余的属性具体取值的信息。第三行,对边(i,j)按照公式i×n+j生成边的编号作为键,属性编号attri作为值。输出的这个键值对,就是这两个子块中,左子块出射、右子块入射的边上是否包含属性attri的记录。
5、数据相似关系整体生成算法
在算法上,我们前面提到的一整个过程进行一个总结,把数据相似关系压缩存储的整个流程整合成了下面的算法6。
算法6分析相似关系
第2行,我们通过制定的粒度g,计算数据所应分成的块数。数据的粒度是一个根据具体运行环境确定的参数。具体而言,应当以每个计算节点能充分容纳g2条记录为宜。
第3行,我们使用算法2对每一个记录执行map操作,进行重新分块操作。
第4行,将得到的元组集合交由算法3,进一步转化处理成我们所需要的格式——属性相似倒排表。
实施例三
在本发明实施例二提供的基于分布式计算的数据依赖挖掘方法的基础上,其中一阶依赖挖掘步骤的具体实现过程如下:
1)对于属性相似倒排表中的数据对(i,j)的满足相似约束的属性集合Aij,生成笛卡尔积并将结果汇总到一阶排除列表中。
2)消除一阶排除列表中的重复元素,得到需排除的一阶数据依赖关系;
3)用笛卡尔积生成一阶数据依赖关系候选集,并在消除对角元素后得到非平凡的一阶数据依赖关系候选集;
4)在所述非平凡的一阶数据依赖关系候选集中减去需排除的一阶数据依赖关系,得到挖掘出的一阶数据依赖关系。
本发明在上述定义的属性相似倒排表上,可以很方便的进行数据依赖的挖掘。判别高阶数据依赖比判别一阶数据依赖要更困难,一阶数据依赖的挖掘结果能够为更高阶的数据依赖挖掘带来较大的便利。本发明一阶数据依赖的挖掘算法如下。
一阶数据依赖挖掘算法
本发明把属性相似倒排表记成一个由Aij构成的列表,其中Aij代表了其中的数据对(i,j)在哪些属性上满足相似约束,同时把属性全集记为
算法的第2行,本发明使用了map-reduce模型中的map操作,对于每一个Aij,我们都生成这样的一个笛卡尔积并将结果汇总到一阶排除列表excludedByEdges这个表内。应当注意到,如果某一对编号(k,l)出现在了之中,证明 也就是说在数据对(i,j)上,属性ak满足相似关系而属性al不满足,从而否定了数据依赖关系ak→al。因此,excludedByEdges中的每一个元组(k,l)都否定了一组依赖关系ak→al
由于一条一阶数据依赖可能会被很多条边否定,所以我们在第3行中使用distinct方法,消除掉列表中的重复元素,得到需排除的一阶数据依赖关系集合distinctExclusion。这样,要想得到所有数据集所支持的一阶数据依赖,我们只需要把所有的一阶数据依赖罗列出来,然后删去distinctExclusion中所包含的那些就可以了。
所以算法的第4行,直接用笛卡尔积生成了所有可能的一阶数据依赖;经过第5行与第6行消去对角元素,我们得到的fullDependencies就是所有可能的非平凡的一阶数据依赖关系候选集。
于是,在第7行中,我们用所有可能的非平凡一阶数据依赖关系候选集,剪去需排除的一阶数据依赖关系集合distinctExclusion中的一阶数据依赖,得到的返回结果就是所有数据集支持的一阶非平凡数据依赖了。
实施例四
请参阅图3,为根据本发明的实施例四提供的基于分布式计算的数据依赖挖掘方法的原理示意图。如图3所示,该实施例在实施例四提供的基于分布式计算的数据依赖挖掘方法的基础上,其中高阶依赖挖掘步骤中逐级进行高阶数据依赖关系的挖掘,每阶数据依赖关系挖掘包括以下三个步骤:
1、生成高阶数据依赖候选集。
2、基于挖掘的低阶数据依赖关系对高阶数据依赖候选集进行剪枝。
3、利用属性相似倒排表对剪枝后的高阶数据依赖候选集中的高阶数据依赖关系进行验证。
其中,上述步骤1要生成k阶数据依赖的全部候选,需要生成n个属性中取k个属性的全组合,每种组合代表形如A→a的数据依赖中的一个A。然后对每一个组合,在未被选择的n-k个属性中再依次选择一个属性代表形如A→a的数据依赖中的一个a,两者合在一起,就是一个候选的数据依赖。在未加筛选的情况下,共计会在第k阶生成个候选的数据依赖。但由于后续剪枝步骤的存在,实际只有很少的候选依赖会在完整数据集上被检验。
其中,对高阶数据依赖候选集进行剪枝的目的是给出最小的候选依赖集合,并在全体数据上检验之前先行筛选的问题。具体来说有以下几个策略,在实验中我们看到综合运用这些策略时,能够达到相当高的剪枝效率。
优选地,上述步骤2中包括以下剪枝处理步骤:
1)基于数据依赖推导的剪枝处理步骤:
对于在挖掘出的低阶数据依赖关系的左边增加一个属性得到的关系式,将其排除出高阶数据依赖候选集。
根据数据依赖的定义,如果在数据依赖关系的左边增加某一属性,则原来成立的依赖关系仍然会成立。因此,在找全了k阶数据依赖关系后,对于k+1阶数据依赖,凡是能够通过在k阶数据依赖关系左边增加一个属性得到的关系式,都必然成立而无需验证,应当直接认定为成立而排除出候选集。
由于依赖关系本身的性质,较为低阶的数据依赖不能简单地限制高阶依赖关系的可能范围,而是只能排除一些肯定成立的高阶数据依赖关系。
如已知有依赖关系A→D,在考虑二阶依赖的时候,(B,C)→D这样的关系也仍有可能成立,只有形如(A,C)→D这样的关系才能因为已验证的A→D而可以直接判断为真。实际上,每一个高阶数据依赖,在仅知道其低阶数据依赖的情况下,都有成立的可能性。因此,要找全所有的二阶数据依赖,是无法避免在该阶生成全组合的,只能高阶数据依赖的全体候选,再通过上述效率较高的方式予以剪枝。
本发明在设计过程中,也考虑过是否对已有的低阶数据依赖建立树结构,来提前排除可以通过推导确认的依赖关系。但在实验中发现,与先全部生成再进行筛选相比,在使流程更加复杂的同时,没有性能上的提升。因此,最终选择了此种先生成全部候选,再在剪枝过程中考虑其他低阶依赖关系的方式。
更优选地,上述步骤2还包括以下一种或者多种剪枝处理步骤:
2)基于小样本集的剪枝处理步骤:
按照比例抽取属性相似倒排表的子集,将高阶数据依赖候选集中的每个高阶数据依赖关系在该子集上进行验证,当不成立时排除出高阶数据依赖候选集。
根据数据依赖的定义,只要有一对数据记录不满足依赖关系,这个依赖关系就会被否定。因此,可以按照一个小比例抽取原来属性相似倒排表的子集,把候选的数据依赖关系在这个子集上进行验证。如果某一个数据依赖关系在子集上不成立,则将其直接排除;只有在子集上成立的数据依赖关系,才需要在整个数据集上加以验证。
3)基于探测集的剪枝处理步骤:
随机生成部分高阶数据依赖关系,将所述部分高阶数据依赖关系在该属性相似倒排表上进行验证,将不成立的作为探测集;检测高阶数据依赖候选集中的每个高阶数据依赖关系是否被探测集中的高阶数据依赖关系所覆盖,是则将其排除出高阶数据依赖候选集。
与前述基于数据依赖推导的剪枝相反,如果一条数据依赖关系不成立,那么在它的左边删除某一些属性,得到的依赖关系也一定不成立(这是原来结论的逆否命题)。因此,可以随机生成一些较为高阶的数据依赖关系,在数据集上检验其中哪些数据依赖关系不成立,并把不成立的这些作为探测集。然后对于其他的候选依赖关系而言,只要它能够被探测集中的某一个数据依赖关系所覆盖,则这个候选依赖关系一定不成立,从而能够予以剔除出候选集。
4)基于不可信度的剪枝处理步骤:
随阶数动态规划近似计算一个高阶数据依赖关系的不可信度;
设置对于不可信度的上限,将不可信度高于上限的高阶数据依赖关系排除出高阶数据依赖候选集。
在应用中,往往会出现过拟合的现象。即对于某一个数据依赖关系而言,如果其左侧的属性集包含了过多的属性,那么在数据集中在这么多属性上都满足相似关系的元组对会非常罕见;这样即使找到的所有元组对都不是这个依赖关系的反例,也无法判断这个依赖关系是物理世界中真实存在的关系,还是由于样本不够多产生的偶然特例。为了量化这一指标,我们提出了不可信度这一度量,衡量一个样本集中一个观测到的数据依赖关系是由于偶然因素出现的概率。通过概率论的推导,我们得到了一个可以随阶数动态规划近似计算一个依赖关系的不可信度的公式。这样,如果我们事先有对于不可信度的上限要求,就可以通过不可信度排除一些无意义的候选数据依赖关系,不予检验。
不可信度的计算规则如下。如果这一数据依赖能够根据已被验证的较低阶的数据依赖推导得到,则其不可信度为所有能推导出它的低阶依赖的不可信度的最低值,即其可靠程度与能够推导出它的最可靠的低阶依赖相当。如果没有任何已被验证的低阶数据依赖能够推导出该数据依赖(记为A→a),则统计数据集(大小记为R)中两条数据在属性集A上满足相似约束的个数(记为N(A))和在属性a上满足相似约束的个数(记为N(a)),就可以计算估计这条数据依赖的不可信度为((2N(a))/(R(R-1))^N(A)。
基于不可信度的具体剪枝,需要我们建立一个由数据依赖关系索引到其不可信度的索引结构。每次要对一个数据依赖进行剪定时,在这个索引中查找有无能推导出它的低阶数据依赖,从而按照前述的规则进行不可信度的计算;如果计算得到的不可信度高于所预设的阈值,则予以剪除。
上述四种不同的剪枝策略在同时使用时,需要考虑多剪枝策略融合的问题。其中,基于数据依赖推导的剪枝和基于探测集的剪枝,只需要在备选数据依赖关系上进行逻辑筛选即可,无需额外的计算或访问真实数据,可以最先进行。而基于样本集的剪枝,涉及到了在数据集上的扫描;基于不可信度的剪枝,涉及到了递推式的计算。这两者应当靠后进行。在抽样比例较小,样本集很小的情况下,应当先进行样本集上的剪枝;对于抽样比例较大的情况,可以考虑先进行基于不可信度的剪枝。
通过上述一种或者多种剪枝处理步骤可以得到剪枝后的高阶数据依赖候选集。上述步骤3中在属性相似倒排表(或其子集上),对于该高阶数据依赖候选集进行检验,得到这个高阶数据依赖候选集中所有在数据集上被否定的数据依赖关系集合,在排除掉这些被否定的数据依赖关系后就可以的得到挖掘出的高阶数据依赖关系。具体算法如下:
验证为假
第2行到第5行,是对高阶数据依赖候选集中的每一个依赖关系进行检验。
在第3行中,我们使用filter方法,筛选出数据集中所有不支持这一条数据依赖(即在左边属性上满足相似关系,在右边属性上不满足)的元组。然后使用count方法进行计数。
于是,在第4行中,我们可以判断count的结果(t),是否大于零。只要它大于零,就证明数据集中存在反例,因而该高阶数据依赖关系被数据集证否,在第5行中加入到结果中。
这样,上述算法能够给出给定的依赖关系中所有被给定数据集所否定的数据依赖关系。
实施例五
如图4所示,本发明实施例五提供的基于分布式计算的数据依赖挖掘***可以包括:数据重分配单元401、一阶依赖挖掘单元402和高阶依赖挖掘单元403;
数据重分配单元401,用于根据原始数据集生成属性相似倒排表;该数据重分配单元401执行的操作与前述步骤S1相同,在此不再进行赘述;
一阶依赖挖掘单元402,用于根据所述属性相似倒排表挖掘一阶数据依赖关系;该一阶依赖挖掘单元402执行的操作与前述步骤S2相同,在此不再进行赘述;
高阶依赖挖掘单元403,用于逐级进行高阶数据依赖关系的挖掘,其中生成高阶数据依赖候选集,并基于挖掘的低阶数据依赖关系对高阶数据依赖候选集进行剪枝,利用属性相似倒排表对剪枝后的高阶数据依赖候选集中的高阶数据依赖关系进行验证。该高阶依赖挖掘单元403执行的操作与前述步骤S3相同,在此不再进行赘述。
本发明对上述剪枝的结果进行了研究,实验结果如图5所示。探测集剪枝确实能够有效减少低阶候选数据依赖的个数,并且在阶数达到探测集阶数的时候不再起作用。数据依赖推导剪枝随着阶数的增加,效率稳定上升。小样本集剪枝策略在阶数中等或较低的时候效率很高,对于高阶的数据依赖,由于小样本集未必能够取到所需要的反例,因而效率会渐渐下降。不可信度剪枝随着阶数的增加,剪枝效率快速上升。并且不可信度剪枝具有终止特性,如果某一阶不可信度剪枝排除掉了所有的候选数据依赖,则更高阶的所有候选数据依赖(除了能够根据推导规则得到的那部分)也都会被不可信度约束剪枝。实验证明当四种剪枝策略同时使用时,本发明能够在各个阶数都达到相当高的剪枝效率。
综上所述,本发明具有以下特点:
第一,本发明在计算上将一阶数据依赖与高阶数据依赖区别开。从而能够针对一阶数据依赖独特的特点,设计出高效率的分布式算法,在部分满足问题需要的同时,为其他数据依赖挖掘工作打下了计算上的基础。
第二,本发明提出了数据依赖不可信度的概念。区别于其他的数据挖掘算法,本算法同时注意到了数据挖掘中真理性的问题,并将其应用在数据依赖挖掘上。一方面,不可信的数据依赖可以在具体检测之前先行予以剔除,大幅降低了运算量;另一方面,不可信度与数据依赖关系同时输出,对于后续的其他应用有相当重要的意义。
第三,本发明引入了假设检验的思路,对不可信度进行了动态规划式的求解计算。一方面,从不可信度的公式中能够进行很多的理论推导,发现关于数据依赖关系的规律;另一方面,这种边计算边求解的方式,将不可信度与整体的算法有机结合,起到了相得益彰的效果。
第四,采用多剪枝策略融合的方式。综合运用了五种不同的剪枝策略,从不同的角度对于候选数据依赖集合进行筛选和剔除,使得最终只需要将少量的依赖关系放在全体数据集上进行检验,有效地降低了运算的负担。
与现有技术相比,本发明提供了一整套彼此互为补充的方法,为数据依赖挖掘问题提供了全新的解决方案。在一阶数据依赖挖掘上,充分利用分布式的特点与剪枝优化,既大幅减少了运算量,又能在分布式集群上达到较高的速度。在高阶数据依赖检测上,利用了一阶数据依赖挖掘的中间结果,亦能达到相当高的效率。而高阶数据依赖挖掘这个原本极为困难的问题,通过不可信度概念的提出,借助预设的不可信度阈值进行剪枝,从而有效规避了原本不需要的运算。另外,在输出挖掘到的数据依赖关系的同时也给出不可信度结果,也为现实中的各类应用提供了重要的参考。

Claims (10)

1.一种基于分布式计算的数据依赖挖掘方法,其特征在于,包括以下步骤:
数据重分配步骤、根据原始数据集生成属性相似倒排表;
一阶依赖挖掘步骤、根据所述属性相似倒排表挖掘一阶数据依赖关系;
高阶依赖挖掘步骤、逐级进行高阶数据依赖关系的挖掘,其中生成高阶数据依赖候选集,并基于挖掘的低阶数据依赖关系对高阶数据依赖候选集进行剪枝,利用属性相似倒排表对剪枝后的高阶数据依赖候选集中的高阶数据依赖关系进行验证。
2.根据权利要求1所述的方法,其特征在于,所述数据重分配步骤包括:
为原始数据集的每条数据指定或生成一个数据ID,对于每条数据,将数据ID、属性编号、属性的值作为一个三元组进行储存;对所有的数据处理完毕后,按照属性编号进行重分配,其中每个属性编号对应一个子数据库,记录了该属性下所有源数据的三元组的数据ID与属性的值;
对重分配后的数据集进行与自身的笛卡尔积处理,把原本的数据转换为数据对;对每一个数据对进行筛选,找到每一个数据对满足相似关系的属性;把不同属性上的信息按照数据ID进行聚合,对于每一个数据对,输出这一个数据对满足相似约束的属性集合作为属性相似倒排表。
3.根据权利要求2所述的方法,其特征在于,所述数据重分配步骤在进行笛卡尔积处理之前,对于数据集先进行一次分块操作,先对数据块进行配对,再逐对地进行并行的笛卡尔积处理;其中调节块的大小使得每两块之间的笛卡尔积能容纳在并行的一个计算节点之内。
4.根据权利要求1所述的方法,其特征在于,所述一阶依赖挖掘步骤包括:
对于属性相似倒排表中的数据对(i,j)的满足相似约束的属性集合Aij,生成笛卡尔积并将结果汇总到一阶排除列表中;
消除一阶排除列表中的重复元素,得到需排除的一阶数据依赖关系;
用笛卡尔积生成一阶数据依赖关系候选集,并在消除对角元素后得到非平凡的一阶数据依赖关系候选集;
在所述非平凡的一阶数据依赖关系候选集中减去需排除的一阶数据依赖关系,得到挖掘出的一阶数据依赖关系。
5.根据权利要求1所述的方法,其特征在于,所述基于挖掘的低阶数据依赖关系对高阶数据依赖候选集进行剪枝,具体为:对于在挖掘出的低阶数据依赖关系的左边增加一个属性得到的关系式,将其排除出高阶数据依赖候选集。
6.根据权利要求1所述的方法,其特征在于,所述高阶依赖挖掘步骤中还包括以下一种或者多种剪枝处理步骤:
1)基于小样本集的剪枝处理步骤:
按照比例抽取属性相似倒排表的子集,将高阶数据依赖候选集中的每个高阶数据依赖关系在该子集上进行验证,当不成立时排除出高阶数据依赖候选集;
2)基于探测集的剪枝处理步骤:
随机生成部分高阶数据依赖关系,将所述部分高阶数据依赖关系在该属性相似倒排表上进行验证,将不成立的作为探测集;检测高阶数据依赖候选集中的每个高阶数据依赖关系是否被探测集中的高阶数据依赖关系所覆盖,是则将其排除出高阶数据依赖候选集;
3)基于不可信度的剪枝处理步骤:
随阶数动态规划近似计算一个高阶数据依赖关系的不可信度;
设置对于不可信度的上限,将不可信度高于上限的高阶数据依赖关系排除出高阶数据依赖候选集。
7.一种基于分布式计算的数据依赖挖掘***,其特征在于,包括:
数据重分配单元,用于根据原始数据集生成属性相似倒排表;
一阶依赖挖掘单元,用于根据所述属性相似倒排表挖掘一阶数据依赖关系;
高阶依赖挖掘单元,用于逐级进行高阶数据依赖关系的挖掘,其中生成高阶数据依赖候选集,并基于挖掘的低阶数据依赖关系对高阶数据依赖候选集进行剪枝,利用属性相似倒排表对剪枝后的高阶数据依赖候选集中的高阶数据依赖关系进行验证。
8.根据权利要求7所述的***,其特征在于,所述数据重分配单元通过以下方式生成属性相似倒排表:
为原始数据集的每条数据指定或生成一个数据ID,对于每条数据,将数据ID、属性编号、属性的值作为一个三元组进行储存;对所有的数据处理完毕后,按照属性编号进行重分配,其中每个属性编号对应一个子数据库,记录了该属性下所有源数据的三元组的数据ID与属性的值;
对重分配后的数据集进行与自身的笛卡尔积处理,把原本的数据转换为数据对;对每一个数据对进行筛选,找到每一个数据对满足相似关系的属性;把不同属性上的信息按照数据ID进行聚合,对于每一个数据对,输出这一个数据对满足相似约束的属性集合作为属性相似倒排表。
9.根据权利要求8所述的***,其特征在于,所述数据重分配单元在进行笛卡尔积处理之前,对于数据集先进行一次分块操作,先对数据块进行配对,再逐对地进行并行的笛卡尔积处理;其中调节块的大小使得每两块之间的笛卡尔积能容纳在并行的一个计算节点之内。
10.根据权利要求7所述的***,其特征在于,所述一阶依赖挖掘单元用于执行以下操作:
对于属性相似倒排表中的数据对(i,j)的满足相似约束的属性集合Aij,生成笛卡尔积并将结果汇总到一阶排除列表中;
消除一阶排除列表中的重复元素,得到需排除的一阶数据依赖关系;
用笛卡尔积生成一阶数据依赖关系候选集,并在消除对角元素后得到非平凡的一阶数据依赖关系候选集;
在所述非平凡的一阶数据依赖关系候选集中减去需排除的一阶数据依赖关系,得到挖掘出的一阶数据依赖关系。
CN201811061441.7A 2018-09-12 2018-09-12 一种基于分布式计算的数据依赖挖掘方法及*** Active CN109325062B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811061441.7A CN109325062B (zh) 2018-09-12 2018-09-12 一种基于分布式计算的数据依赖挖掘方法及***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811061441.7A CN109325062B (zh) 2018-09-12 2018-09-12 一种基于分布式计算的数据依赖挖掘方法及***

Publications (2)

Publication Number Publication Date
CN109325062A true CN109325062A (zh) 2019-02-12
CN109325062B CN109325062B (zh) 2020-09-25

Family

ID=65265172

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811061441.7A Active CN109325062B (zh) 2018-09-12 2018-09-12 一种基于分布式计算的数据依赖挖掘方法及***

Country Status (1)

Country Link
CN (1) CN109325062B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112182059A (zh) * 2020-08-20 2021-01-05 北京航空航天大学 一种航班延误特性的高阶分析方法
CN112988892A (zh) * 2021-03-12 2021-06-18 北京航空航天大学 一种分布式***热点数据的管理方法
CN114741381A (zh) * 2022-04-14 2022-07-12 郑州轻工业大学 基于关联依赖的数据清洗方法
WO2022222346A1 (zh) * 2021-04-19 2022-10-27 浙江中控技术股份有限公司 一种数据存储方法及装置
CN116107777A (zh) * 2023-04-12 2023-05-12 霖济智云科技(苏州)有限公司 一种服务依赖挖掘方法及微服务的服务调用方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050216428A1 (en) * 2004-03-24 2005-09-29 Hitachi, Ltd. Distributed data management system
CN102117336A (zh) * 2011-03-25 2011-07-06 华南师范大学 一种基于决策表的模糊粗糙单调依赖数据挖掘方法
CN102646137A (zh) * 2012-04-19 2012-08-22 中国人民解放军总参谋部第六十三研究所 一种基于Markov模型的实体基本信息自动生成***及方法
CN103336790A (zh) * 2013-06-06 2013-10-02 湖州师范学院 基于Hadoop的邻域粗糙集快速属性约简方法
CN103914528A (zh) * 2014-03-28 2014-07-09 南京邮电大学 一种关联分析算法的并行化方法
CN104699761A (zh) * 2015-02-11 2015-06-10 暨南大学 一种最小函数依赖的增量计算方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050216428A1 (en) * 2004-03-24 2005-09-29 Hitachi, Ltd. Distributed data management system
CN102117336A (zh) * 2011-03-25 2011-07-06 华南师范大学 一种基于决策表的模糊粗糙单调依赖数据挖掘方法
CN102646137A (zh) * 2012-04-19 2012-08-22 中国人民解放军总参谋部第六十三研究所 一种基于Markov模型的实体基本信息自动生成***及方法
CN103336790A (zh) * 2013-06-06 2013-10-02 湖州师范学院 基于Hadoop的邻域粗糙集快速属性约简方法
CN103914528A (zh) * 2014-03-28 2014-07-09 南京邮电大学 一种关联分析算法的并行化方法
CN104699761A (zh) * 2015-02-11 2015-06-10 暨南大学 一种最小函数依赖的增量计算方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
YE FEIYUE ET AL.: "A framework for mining functional dependencies from large distributed databased", 《2010 INTERNATIONAL CONFERENCE ON ARTIFICIAL INTELLIGENCE AND COMPUTATIONAL INTELLIGENCE》 *
李卫榜 等: "分布式大数据函数依赖发现", 《计算机研究与发展》 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112182059A (zh) * 2020-08-20 2021-01-05 北京航空航天大学 一种航班延误特性的高阶分析方法
CN112182059B (zh) * 2020-08-20 2022-05-27 北京航空航天大学 一种航班延误特性的高阶分析方法
CN112988892A (zh) * 2021-03-12 2021-06-18 北京航空航天大学 一种分布式***热点数据的管理方法
CN112988892B (zh) * 2021-03-12 2022-04-29 北京航空航天大学 一种分布式***热点数据的管理方法
WO2022222346A1 (zh) * 2021-04-19 2022-10-27 浙江中控技术股份有限公司 一种数据存储方法及装置
CN114741381A (zh) * 2022-04-14 2022-07-12 郑州轻工业大学 基于关联依赖的数据清洗方法
CN116107777A (zh) * 2023-04-12 2023-05-12 霖济智云科技(苏州)有限公司 一种服务依赖挖掘方法及微服务的服务调用方法

Also Published As

Publication number Publication date
CN109325062B (zh) 2020-09-25

Similar Documents

Publication Publication Date Title
CN109325062A (zh) 一种基于分布式计算的数据依赖挖掘方法及***
CN104881424B (zh) 一种基于正则表达式的电力大数据采集、存储及分析方法
CN103562910B (zh) 管理数据查询
Gibson et al. Discovering large dense subgraphs in massive graphs
Godin et al. An incremental concept formation approach for learning from databases
Qian et al. Hybrid approaches to attribute reduction based on indiscernibility and discernibility relation
JP3959027B2 (ja) 情報システムのためのデータ構造
CN104756106B (zh) 表征数据存储***中的数据源
CN102722531B (zh) 一种云环境中基于分片位图索引的查询方法
CN103955542B (zh) 文本词间完全加权正负关联模式挖掘方法及其挖掘***
CN102867066B (zh) 数据汇总装置和数据汇总方法
CN105912666A (zh) 一种面向云平台的混合结构数据高性能存储、查询方法
CN106919719A (zh) 一种面向大数据的信息补全方法
WO2024001080A1 (zh) 基于人工智能运维的数据库贯穿基础设施的故障定位方法
CN103440308B (zh) 一种基于形式概念分析的数字论文检索方法
US20090164445A1 (en) System and method to perform bulk operation database cleanup
Liang et al. Data Mining of Students' Course Selection Based on Currency Rules and Decision Tree
Moret et al. High-Performance Algorithmic Engineering for Computationa Phylogenetics
CN106776704A (zh) 统计信息收集方法和装置
Zada et al. Large-scale data integration using graph probabilistic dependencies (gpds)
Du et al. Research on data cleaning technology based on RD-CFD method
Mansmann et al. Extending the multidimensional data model to handle complex data
Han et al. Dynamic materialized view management using graph neural network
Haruna et al. Cost-based and effective human-machine based data deduplication model in entity reconciliation
CN117390064B (zh) 一种基于可嵌入子图的数据库查询优化方法

Legal Events

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