掌桥专利:专业的专利平台
掌桥专利
首页

数据表关联分析方法、装置、设备及存储介质

文献发布时间:2023-06-19 12:14:58


数据表关联分析方法、装置、设备及存储介质

技术领域

本发明涉及数据处理技术领域,具体涉及一种数据表关联分析方法、装置、设备及存储介质。

背景技术

随着5G时代的到来,数据量剧增,数据信息来源日渐多样化。对不同电信业务系统之间多个数据表的结构进行关联分析,能够进一步找出系统之间的潜在联系,从而达到对数据信息的最优化利用。现有的分析方法采用人工进行分析,先向原业务系统的设计人员了解数据表结构,而后人工梳理各业务系统内部以及系统之间的关联字段,最终将不同的业务系统数据进行整合分析,得到关联关系结果集。

然而,上述分析方法在分析工作开始前,需花费大量精力和时间去参与到原业务系统中进行交流沟通。例如,首先需了解各个业务系统内部数据表结构的相关信息,如主键、外键、数据类型等,然后在各业务系统之间进行分析查找,挖掘潜在联系。同时,在海量数据的情况下,当业务系统中数据表结构字段数目多,关联关系错综复杂,势必会增加人工分析数据的难度。

因此,这种分析方法会浪费大量人力资源,而且容易出错误,存在工作效率低、错误率高、开发周期长等问题。

需要注意的是,本部分旨在为权利要求书中陈述的本公开的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。

发明内容

本发明实施例提供一种数据表关联分析方法、装置、设备及存储介质,以解决现有技术中采用人工进行分析的方法存在的工作效率低、错误率高、开发周期长等问题。

第一方面,本发明实施例提供了一种数据表关联分析方法,包括:

获取多个不同结构类型的目标数据表的配置文件信息;

根据所述配置文件信息,计算任意两类目标数据表之间的相似度值,并构建相似度矩阵;其中,所述相似度矩阵的行向量指示所述目标数据表与其他类目标数据表之间的相似度值;

根据所述相似度矩阵,构建具有关联关系的多棵多叉树,形成多叉树集合;

将所述多叉树集合中的各多叉树进行归类合并,得到多个多叉树组合及其对应的合并多叉树;计算各所述合并多叉树的关联系数权值,将关联系数权值最大的合并多叉树作为关联关系树,所述关联关系树中任意两个结点的连通性指示对应的两类目标数据表之间的关联关系。

作为本发明第一方面的优选方式,在获取多个不同结构类型的目标数据表的配置文件信息之前,还包括:

接收数据表关联分析请求后,将多个样本数据表加载到分布式存储平台;

根据各所述样本数据表中名称的关键字信息,将相同结构类型的样本数据表进行合并,得到多个不同结构类型的目标数据表。

作为本发明第一方面的优选方式,所述获取多个不同结构类型的目标数据表的配置文件信息,包括:

采用预设抽取规则,从各所述目标数据表中分别抽取多条样本数据;

根据各所述目标数据表的分隔符和阈值,对所述样本数据进行列数的百分比统计,并将各所述目标数据表对应的列数作为配置文件信息记录在配置文件中;

根据各所述目标数据表的分隔符、阈值和字符集编码,对所述样本数据进行中文列数的百分比统计,并将满足阈值要求的中文列数作为配置文件信息记录在配置文件中;

根据各所述目标数据表的阈值和正则表达式规则,对所述样本数据进行日期列数的百分比统计,并将满足阈值要求的日期列数作为配置文件信息记录在配置文件中。

作为本发明第一方面的优选方式,所述根据所述配置文件信息,计算任意两类目标数据表之间的相似度值,包括:

对所述目标数据表中的数据进行转置存储后,根据所述配置文件信息,判断各所述目标数据表中是否包含中文列或者日期列,并对包含中文列或者日期列的目标数据表进行标识;

从各所述目标数据表中任意选取两类目标数据表,分别作为基础目标数据表和比较目标数据表;

将所述基础目标数据表中除中文列和日期列以外的每一个列向量分别与所述比较目标数据表中除中文列和日期列以外的每一个列向量进行交集运算,得到交集运算结果集;

将所述交集运算结果集中的最大值作为所述两类目标数据表之间的相似度值,并继续执行所述从各所述目标数据表中任意选取两类目标数据表,分别作为基础目标数据表和比较目标数据表的步骤,直至遍历计算出任意两类目标数据表之间的相似度值。

作为本发明第一方面的优选方式,所述根据所述相似度矩阵,构建具有关联关系的多棵多叉树,形成多叉树集合,包括:

按照从上至下的顺序,依次从所述相似度矩阵的各行向量中选取最大的相似度值,并用坐标

根据所述相似度矩阵中各行向量中最大的相似度值,构建最大相似度行列坐标集合,并用

从所述最大相似度行列坐标集合中选取行列坐标

重复上述步骤,直至遍历所述最大相似度行列坐标集合中的所有行列坐标,形成所述多叉树集合。

作为本发明第一方面的优选方式,所述形成所述多叉树集合,包括:

若i等于1时,将构建的多叉树加入所述多叉树集合中;

若i大于1时,判断

作为本发明第一方面的优选方式,所述将所述多叉树集合中的各多叉树进行归类合并,得到多个多叉树组合及其对应的合并多叉树;计算各所述合并多叉树的关联系数权值,将关联系数权值最大的合并多叉树作为关联关系树,包括:

通过将所述多叉树集合中包含相同结点的多叉树进行归类,得到多个多叉树组合,各所述多叉树组合均包含所述目标数据表的全部结构类型;

对各所述多叉树组合中的相同结点进行合并,得到各所述多叉树组合对应的合并多叉树;

计算各所述合并多叉树的关联系数权值,并将关联系数权值最大的合并多叉树作为关联关系树,所述关联关系树中任意两个结点的连通性指示对应的两类目标数据表之间的关联关系。

第二方面,本发明实施例提供了一种数据表关联分析装置,包括:

配置信息获取单元,用于获取多个不同结构类型的目标数据表的配置文件信息;

相似度值计算单元,用于根据所述配置文件信息,计算任意两类目标数据表之间的相似度值,并构建相似度矩阵;其中,所述相似度矩阵的行向量指示所述目标数据表与其他类目标数据表之间的相似度值;

多叉树构建单元,用于根据所述相似度矩阵,构建具有关联关系的多棵多叉树,形成多叉树集合;

关联关系分析单元,用于将所述多叉树集合中的各多叉树进行归类合并,得到多个多叉树组合及其对应的合并多叉树;计算各所述合并多叉树的关联系数权值,将关联系数权值最大的合并多叉树作为关联关系树,所述关联关系树中任意两个结点的连通性指示对应的两类目标数据表之间的关联关系。

第三方面,本发明实施例提供了一种数据表关联分析设备,包括处理器和存储器,其中所述存储器内存储有执行指令,所述处理器读取所述存储器内的执行指令用于执行如第一方面及其优选方式中任一项所述的数据表关联分析方法中的步骤。

第四方面,本发明实施例提供了一种计算机可读存储介质,所述存储介质存储有计算机执行指令,所述计算机执行指令被用于执行如第一方面及其优选方式中任一项所述的数据表关联分析方法中的步骤。

本发明实施例提供的一种数据表关联分析方法、装置、设备及存储介质,在利用数据分析和分布式计算的基础上,不需要预知各数据表的结构信息,通过构造相似度矩阵来挖掘不同类型数据表各列之间的关联性,从而构建多棵具有一定关联关系的多叉树,并最终筛选出权值最大的多叉树,作为最优结果,该多叉树展示了所有不同类型目标数据表之间的关联关系。

本发明可在明显减少人工参与的情况下,借助少量先验知识自动完成多个数据表之间关联关系的挖掘,有效解决了工作效率低、错误率高、开发周期长等问题,为后期业务工作的开展提供了良好的基础,特别是针对数据量较大的情况,效果更加明显。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的一种数据表关联分析方法的流程示意图;

图2为本发明实施例提供的一种数据表关联分析装置的结构示意图;

图3为本发明实施例提供的一种数据表关联分析设备的结构示意图。

具体实施方式

为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。

图1示例性的示出了本发明实施例提供的一种数据表关联分析方法的流程示意图,该方法用于对多个数据表的结构进行关联分析,可在明显减少人工参与的情况下,借助少量先验知识自动完成多个数据表之间关联关系的挖掘。

参照图1所示,该方法主要包括如下步骤:

步骤101、获取多个不同结构类型的目标数据表的配置文件信息;

步骤102、根据配置文件信息,计算任意两类目标数据表之间的相似度值,并构建相似度矩阵;其中,相似度矩阵的行向量指示目标数据表与其他类目标数据表之间的相似度值;

步骤103、根据相似度矩阵,形成多叉树集合,进而构建具有关联关系的多棵多叉树,形成多叉树集合;

步骤104、将多叉树集合中的各多叉树进行归类合并,得到多个多叉树组合及其对应的合并多叉树;计算各所述合并多叉树的关联系数权值,将关联系数权值最大的合并多叉树作为关联关系树,关联关系树中任意两个结点的连通性指示对应的两类目标数据表之间的关联关系。

需要说明的是,在实际应用中,该方法的执行主体可以为服务器。即,本实施例的执行主体为服务器,通过服务器的处理,实现对数据表的关联。本实施例中的服务器可以是云端服务器或由多个计算设备组成的服务器集群等,本实施例对服务器的具体类型不作限定。

本方法采用Spark计算框架进行无监督学习数据表的关联分析,该方法的预设环境是基于yarn的spark分布式集群。

在步骤101之前,还包括以下步骤:

步骤100-1、接收数据表关联分析请求后,将多个样本数据表加载到分布式存储平台;

步骤100-2、根据各样本数据表中名称的关键字信息,将相同结构类型相同的样本数据表进行合并,得到多个不同结构类型的目标数据表。

在步骤100-1中,先接收针对数据表的关联分析请求,然后将多个结构类型不同的样本数据表加载到分布式存储平台HDFS上。

当接收到针对数据表的关联分析请求时,可以首先获取与该分析请求相对应的指令集,上述指令集即是后续计算过程中需要执行的多个指令的集合。该请求可以由工作人员按照一定的计算规则由终端设备发送至分布式存储平台所在的服务器,或者,也可以是根据设定的触发条件自动生成的。

在步骤100-2中,将全部的样本数据表输入到分布式存储平台HDFS上后,根据预知的少量先验知识中提取数据表的关键字信息,即文件名称,将结构类型相同的样本数据表进行合并,得到多个不同结构类型的目标数据表。从而,经合并后得到的目标数据表的结构类型互不相同。

在步骤101中,在上述步骤得到结构类型互不相同的多类目标数据表后,进一步根据每类目标数据表预知的少量先验知识,自动化补全各目标数据表相应的配置文件信息,能够为后期的关联分析提供重要的数据支持。

通常,目标数据表预知的少量先验知识包括数据表的分隔符、字符集编码等。

在本申请提供的一种可选实施例中,步骤101可按照如下步骤具体实施:

步骤1011、采用预设抽取规则,从各目标数据表中分别抽取多条样本数据。

该步骤中,根据相应的预设抽取规则,从每一类型的目标数据表中抽取多条数据作为样本数据。

一般地,采用随机算法进行抽取。抽取规则具体如下:若该类型的目标数据表的总条数<100,则抽取全部数据;若100<该类型的目标数据表的总条数<1000,则随机抽取其中50%的数据;若该类型的目标数据表的总条数>1000,则随机抽取1000条数据。

步骤1012、根据各目标数据表的分隔符和阈值,对样本数据进行列数的百分比统计,并将各目标数据表对应的列数作为配置文件信息记录在配置文件中。

该步骤中,根据预知的先验知识中各目标数据表的分隔符和提前设定的阈值,对已抽取的多条样本数据进行列数的百分比统计,然后将每个类型的目标数据表对应的列数作为配置文件信息记录在配置文件中。

步骤1013、根据各目标数据表的分隔符、阈值和字符集编码,对样本数据进行中文列数的百分比统计,并将满足阈值要求的中文列数作为配置文件信息记录在配置文件中。

该步骤中,根据预知的先验知识中各类目标数据表的分隔符、提前设定的阈值和字符集编码,对已抽取的多条样本数据进行中文列数的百分比统计,然后将每个类型的目标数据表中对应的满足阈值要求的中文列数作为配置文件信息记录在配置文件中。

步骤1014、根据各目标数据表的阈值和正则表达式规则,对样本数据进行日期列数的百分比统计,并将满足阈值要求的日期列数作为配置文件信息记录在配置文件中。

该步骤中,根据预知的先验知识中各目标数据表的提前设定的阈值和正则表达式规则,对已抽取的多条样本数据进行日期列数的百分比统计,然后将每个类型的目标数据表中对应的满足阈值要求的日期列数作为配置文件信息记录在配置文件中。

在步骤102中,根据上述步骤得到的各类目标数据表的配置文件信息,进一步计算出任意两类不同类型的目标数据表之间的相似度值,然后将这些相似度值构建一个相似度矩阵。其中,该相似度矩阵中的每一行向量,分别指示该行向量对应的目标数据表与其他类目标数据表之间的相似度值。

在本申请提供的一种可选实施例中,根据配置文件信息,计算任意两类目标数据表之间的相似度值时,可按照如下步骤具体实施:

步骤1021、对目标数据表中的数据进行转置存储后,根据配置文件信息,判断各目标数据表中是否包含中文列或者日期列,并对包含中文列或者日期列的目标数据表进行标识。

该步骤中,首先对目标数据表中的数据进行转置存储,然后根据上述步骤获取到的配置文件信息判断各目标数据表中是否包含中文列或者日期列。若目标数据表中包含中文列或者日期列,则对该目标数据表进行标识。

先通过各类目标数据表的配置文件信息对应的列数,去除各类目标数据表中不符合列数规定的数据内容。然后,通过依次判断各类目标数据表所取列是否为中文列或者日期列,若是,则选取该表中的下一列进行迭代,若不是,则将该列转换为弹性分布式数据集RDD并进行去重处理,并对该目标数据表进行标识。

步骤1022、从各目标数据表中任意选取两类目标数据表,分别作为基础目标数据表和比较目标数据表。

该步骤中,计算任意两类目标数据表之间的相似度值时,先从上述预处理过的目标数据表中任意选取两类目标数据表,然后将其中一个目标数据表A

步骤1023、将基础目标数据表中除中文列和日期列以外的每一个列向量分别与比较目标数据表中除中文列和日期列以外的每一个列向量进行交集运算,得到交集运算结果集。

该步骤中,将基础目标数据表A

具体地,将基础目标数据表A

Corrcc_a

将Corrcc_a

重复执行上述步骤,直至获取到基础目标数据表中的每一个列向量分别与比较目标数据表中的每一个列向量的相似度,并将这些相似度组成一个交集运算结果集。

步骤1024、将交集运算结果集中的最大值作为两类目标数据表之间的相似度值,并继续执行从各目标数据表中任意选取两类目标数据表,分别作为基础目标数据表和比较目标数据表的步骤,直至遍历计算出任意两类目标数据表之间的相似度值。

该步骤中,选取交集运算结果集的最大值max(Corrcc_a

根据上述步骤计算出任意两个目标数据表之间的相似度值后,构造映射关系,得到相似度矩阵。其中,相似度矩阵的每一行向量,分别代表对应类型的目标数据表与其他类型的目标数据表之间的最大相似度,进而从此相似度矩阵中可以寻找到各目标数据表之间的关联关系。

其中,相似度矩阵中的元素为两类目标数据表相似度值,行列坐标可进一步映射为取此相似度时对应的两类目标数据表的列,记为

在步骤103中,根据上述步骤得到的相似度矩阵,通过构建多棵多叉树来寻找各目标数据表之间的关联关系,并将构建出的多棵多叉树形成多叉树集合。

在本申请提供的一种可选实施例中,步骤103可按照如下步骤具体实施:

步骤1031、按照从上至下的顺序,依次从相似度矩阵的各行向量中选取最大的相似度值,并用坐标

该步骤中,将上述步骤中构建相似度矩阵的映射关系

按照从上至下的顺序,先从相似度矩阵中取出第一行的行向量为

该第一行行向量

从该第一行行向量中选取最大的相似度值,相当于在其他类目标数据表A

依次将第二行行向量、…、第i行行向量、…、第n行行向量中最大的相似度值选取出来,并分别用对应的行列坐标表示。示例性地,第i行行向量

从该第i行行向量中选取最大的相似度值

步骤1032、根据相似度矩阵中各行向量中最大的相似度值,构建最大相似度行列坐标集合,并用

该步骤中,根据上述步骤,遍历整个相似度矩阵中各行向量,最终可构建一个最大相似度行列坐标集合,记为

步骤1033、从最大相似度行列坐标集合中选取行列坐标

该步骤中,按顺序从最大相似度行列坐标集合中对应选取一个行列坐标,并以此构建一棵多叉树。

示例性地,将最大相似度行列坐标集合中的第i个行列坐标选取出构建多叉树时,其对应的行列坐标为

步骤1034、重复上述步骤,直至遍历所述最大相似度行列坐标集合中的所有行列坐标,形成多叉树集合。

该步骤中,重复执行步骤1033,直至遍历最大相似度行列坐标集合中的所有行列坐标,对应构建具有关联关系的多棵多叉树,并形成多叉树集合。

优选地,步骤1034中具体包括如下步骤:

若i等于1时,将构建的多叉树加入多叉树集合中;

若i大于1时,判断

该步骤中,构建多棵多叉树时,遍历上述步骤得到的最大相似度行列坐标集合,需对新生成的根结点

若i等于1,即从最大相似度行列坐标集合中选取行列坐标

若i大于1,即从最大相似度行列坐标的集合依次选取后面的行列坐标构建多叉树,选取的行列坐标为

按照上述步骤,得到最终的多叉树集合T={T

在步骤104中,先将上述步骤得到的多叉树集合的各多叉树进行归类合并,归类合并的步骤为:首先在多叉树集合中寻找不同多叉树上包含的相同结点,即具有相同的目标数据表结构但列数不同的结点,将含有这类相同结点的多叉树归为一类,得到一个多叉树组合,然后合并该多叉树组合中不同多叉树中的这类相同结点,最终得到该多叉树组合对应的合并多叉树。计算得到的各合并多叉树的关联系数权值,然后选择关联系数权值最大的合并多叉树作为关联关系树,即为最终关联关系树。

在本申请提供的一种可选实施例中,步骤104可按照如下步骤具体实施:

步骤1041、通过将多叉树集合中包含相同结点的多叉树进行归类,得到多个多叉树组合,各多叉树组合均包含目标数据表的全部结构类型。

该步骤中,将多叉树集合T中的包含相同结点的各多叉树进行归类,此处所述的相同结点指包含有相同的目标数据表结构但列数不同的结点。

设最终得到的多叉树组合集F={C

若C

(1)对于任意一种多叉树组合C

(2)多叉树组合C

步骤1042、对各多叉树组合中的相同结点进行合并,得到各多叉树组合对应的合并多叉树。

该步骤中,对多叉树组合集F进行判别。若{C

步骤1043、计算各合并多叉树的关联系数权值,并将关联系数权值最大的合并多叉树作为关联关系树,关联关系树中任意两个结点的连通性指示对应的两类目标数据表之间的关联关系。

该步骤中,通过比较各多叉树组合{C

将多叉树组合C

将该关联系数权值最大的合并多叉树作为最终的关联关系树,该关联关系树中任意两个结点的连通性即指示了对应的两类目标数据表之间的关联关系。

本发明实施例能大幅度减少电信业务中关于多表关联性的分析工作,提高工作效率,并降低人力成本,主要优点表现在以下两个方面:

(1)原有大部分关联算法前期需进行大量的调研工作,才可获得较为完整的数据表结构,进而方可开展下一步分析工作。而利用本发明实施例所述的方法,可在借助少量先验知识的情况下,自动完成多表类型关联分析工作。

(2)在现今海量数据的条件下,数据表类型多达到十几种甚至几十种,人为根据数据表结构去寻找多表之间的关联关系,工作复杂度增加,时间增长。而利用本发明实施例所述的方法,可减少人力投入,提高工作效率。

需要说明的是,对于上述方法的实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明所必须的。

综上所述,本发明实施例提供的一种数据表关联分析方法,在利用数据分析和分布式计算的基础上,不需要预知各数据表的结构信息,通过构造相似度矩阵来挖掘不同类型数据表各列之间的关联性,从而构建多棵具有一定关联关系的多叉树,并最终筛选出权值最大的多叉树,作为最优结果,该多叉树展示了所有不同类型目标数据表之间的关联关系。

本发明可在明显减少人工参与的情况下,借助少量先验知识自动完成多个数据表之间关联关系的挖掘,有效解决了工作效率低、错误率高、开发周期长等问题,为后期业务工作的开展提供了良好的基础,特别是针对数据量较大的情况,效果更加明显。

基于同一发明构思,本发明实施例还提供了一种数据表关联分析装置,由于该装置解决技术问题的原理与一种数据表关联分析方法相似,因此该装置的具体实施方式可以参见方法的具体实施方式,重复之处不再赘述。

参照图2所示,该装置主要包括:

配置信息获取单元201,用于获取多个不同结构类型的目标数据表的配置文件信息;

相似度值计算单元202,用于根据所述配置文件信息,计算任意两类目标数据表之间的相似度值,并构建相似度矩阵;其中,所述相似度矩阵的行向量指示所述目标数据表与其他类目标数据表之间的相似度值;

多叉树构建单元203,用于根据相似度矩阵,构建具有关联关系的多棵多叉树,形成多叉树集合;

关联关系分析单元204,用于将多叉树集合中的各多叉树进行归类合并,得到多个多叉树组合及其对应的合并多叉树;计算各合并多叉树的关联系数权值,将关联系数权值最大的合并多叉树作为关联关系树,关联关系树中任意两个结点的连通性指示对应的两类目标数据表之间的关联关系。

此处需要说明的是,上述配置信息获取单元201、相似度值计算单元202、多叉树构建单元203和关联关系分析单元204对应于上述方法实施例中的步骤101至步骤104,四个单元与对应的步骤所实现的实例和应用场景相同,但不限于上述方法实施例所公开的内容。

优选地,还包括数据表存储单元,具体用于:

接收数据表关联分析请求后,将多个样本数据表加载到分布式存储平台;

根据各所述样本数据表中名称的关键字信息,将相同结构类型的样本数据表进行合并,得到多个不同结构类型的目标数据表。

优选地,配置信息获取单元201具体用于:

采用预设抽取规则,从各所述目标数据表中分别抽取多条样本数据;

根据各所述目标数据表的分隔符和阈值,对所述样本数据进行列数的百分比统计,并将各所述目标数据表对应的列数作为配置文件信息记录在配置文件中;

根据各所述目标数据表的分隔符、阈值和字符集编码,对所述样本数据进行中文列数的百分比统计,并将满足阈值要求的中文列数作为配置文件信息记录在配置文件中;

根据各所述目标数据表的阈值和正则表达式规则,对所述样本数据进行日期列数的百分比统计,并将满足阈值要求的日期列数作为配置文件信息记录在配置文件中。

优选地,相似度值计算单元202具体用于:

对所述目标数据表中的数据进行转置存储后,根据所述配置文件信息,判断各所述目标数据表中是否包含中文列或者日期列,并对包含中文列或者日期列的目标数据表进行标识;

从各所述目标数据表中任意选取两类目标数据表,分别作为基础目标数据表和比较目标数据表;

将所述基础目标数据表中除中文列和日期列以外的每一个列向量分别与所述比较目标数据表中除中文列和日期列以外的每一个列向量进行交集运算,得到交集运算结果集;

将所述交集运算结果集中的最大值作为所述两类目标数据表之间的相似度值,并继续执行所述从各所述目标数据表中任意选取两类目标数据表,分别作为基础目标数据表和比较目标数据表的步骤,直至遍历计算出任意两类目标数据表之间的相似度值。

优选地,多叉树构建单元203具体用于:

按照从上至下的顺序,依次从所述相似度矩阵的各行向量中选取最大的相似度值,并用坐标

根据所述相似度矩阵中各行向量中最大的相似度值,构建最大相似度行列坐标集合,并用

从所述最大相似度行列坐标集合中选取行列坐标

重复上述步骤,直至遍历所述最大相似度行列坐标集合中的所有行列坐标,形成所述多叉树集合。

优选地,多叉树构建单元203还具体用于:

若i等于1时,将构建的多叉树加入所述多叉树集合中;

若i大于1时,判断

优选地,关联关系分析单元204具体用于:

通过将所述多叉树集合中包含相同结点的多叉树进行归类,得到多个多叉树组合,各所述多叉树组合均包含所述目标数据表的全部结构类型;

对各所述多叉树组合中的相同结点进行合并,得到各所述多叉树组合对应的合并多叉树;

计算各合并多叉树的关联系数权值,并将关联系数权值最大的合并多叉树作为关联关系树,关联关系树中任意两个结点的连通性指示对应的两类目标数据表之间的关联关系。

需要说明的是,本发明实施例提供的数据表关联分析装置与前述实施例所述的数据表关联分析方法属于相同的技术构思,其具体实施过程可参照前述实施例中对方法步骤的说明,在此不再赘述。

应当理解,以上一种数据表关联分析装置包括的单元仅为根据该装置实现的功能进行的逻辑划分,实际应用中,可以进行上述单元的叠加或拆分。并且该实施例提供的一种数据表关联分析装置所实现的功能与上述实施例提供的一种数据表关联分析方法一一对应,对于该装置所实现的更为详细的处理流程,在上述方法实施例中已做详细描述,此处不再详细描述。

综上所述,本发明实施例提供的一种数据表关联分析装置,在利用数据分析和分布式计算的基础上,不需要预知各数据表的结构信息,通过构造相似度矩阵来挖掘不同类型数据表各列之间的关联性,从而构建多棵具有一定关联关系的多叉树,并最终筛选出权值最大的多叉树,作为最优结果,该多叉树展示了所有不同类型目标数据表之间的关联关系。

本发明可在明显减少人工参与的情况下,借助少量先验知识自动完成多个数据表之间关联关系的挖掘,有效解决了工作效率低、错误率高、开发周期长等问题,为后期业务工作的开展提供了良好的基础,特别是针对数据量较大的情况,效果更加明显。

基于同一发明构思,本发明实施例提供了一种数据表关联分析设备,由于该设备解决技术问题的原理与一种数据表关联分析方法相似,因此该设备的具体实施方式可以参见方法的具体实施方式,重复之处不再赘述。

参照图3所示,本发明实施例提供一种数据表关联分析设备,该设备主要包括处理器301和存储器302,其中存储器302内存储有执行指令。该处理器301读取存储器302内的执行指令用于执行上述数据表关联分析方法任一个实施例中所述的步骤。或者,该处理器301读取存储器302内的执行指令用于实现上述数据表关联分析装置任一个实施例中各单元的功能。

图3为本发明实施例提供的数据表关联分析设备的一种结构示意图,如图3所示,该计算设备包括处理器301、存储器302和收发器303;其中,处理器301、存储器302和收发器303通过总线404相互实现相互间的通信。

上述提到的总线304可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条箭头线表示,但并不表示仅有一根总线或一种类型的总线。

存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。

上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。

综上所述,本发明实施例提供的一种数据表关联分析设备,在利用数据分析和分布式计算的基础上,不需要预知各数据表的结构信息,通过构造相似度矩阵来挖掘不同类型数据表各列之间的关联性,从而构建多棵具有一定关联关系的多叉树,并最终筛选出权值最大的多叉树,作为最优结果,该多叉树展示了所有目标数据表之间的关联关系。

本发明可在明显减少人工参与的情况下,借助少量先验知识自动完成多个数据表之间关联关系的挖掘,有效解决了工作效率低、错误率高、开发周期长等问题,为后期业务工作的开展提供了良好的基础,特别是针对数据量较大的情况,效果更加明显。

本发明实施例还提供一种计算机可读存储介质,包含计算机执行指令,所述计算机执行指令被用于执行上述数据表关联分析方法任一个实施例中所述的步骤。或者,所述计算机执行指令被用于执行上述数据表关联分析方法装置实施例中各单元的功能。

本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是,但不限于,电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(Random Access Memory,RAM)、只读存储器(Read Only Memory,ROM)、可擦式可编程只读存储器(ErasableProgrammable Read Only Memory,EPROM)、闪存、光纤、便携式CD-ROM、光存储器件、磁存储器件、或者上述的任意合适的组合。计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。

计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于:电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。

计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、无线电频率(Radio Frequency,RF)等等,或者上述的任意合适的组合。

可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。

在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

相关技术
  • 数据表关联分析方法、装置、设备及存储介质
  • 数据表关联更新的验证方法及装置、电子设备及存储介质
技术分类

06120113228821