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

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

Info

Publication number
CN113268485A
CN113268485A CN202110611634.0A CN202110611634A CN113268485A CN 113268485 A CN113268485 A CN 113268485A CN 202110611634 A CN202110611634 A CN 202110611634A CN 113268485 A CN113268485 A CN 113268485A
Authority
CN
China
Prior art keywords
target data
data table
tree
branch
data tables
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
CN202110611634.0A
Other languages
English (en)
Other versions
CN113268485B (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.)
Tenth Research Institute Of Telecommunications Technology Co ltd
Original Assignee
Tenth Research Institute Of Telecommunications Technology Co ltd
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 Tenth Research Institute Of Telecommunications Technology Co ltd filed Critical Tenth Research Institute Of Telecommunications Technology Co ltd
Priority to CN202110611634.0A priority Critical patent/CN113268485B/zh
Publication of CN113268485A publication Critical patent/CN113268485A/zh
Application granted granted Critical
Publication of CN113268485B publication Critical patent/CN113268485B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/22Indexing; Data structures therefor; Storage structures
    • G06F16/2282Tablespace storage structures; Management thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • 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/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2246Trees, e.g. B+trees
    • 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/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24553Query execution of query operations
    • G06F16/24558Binary matching operations
    • G06F16/2456Join operations
    • 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/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Computing Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种数据表关联分析方法、装置、设备及存储介质,该方法包括:获取多个不同结构类型的目标数据表的配置文件信息;计算任意两类目标数据表之间的相似度值,并构建相似度矩阵;根据相似度矩阵,构建具有关联关系的多棵多叉树,形成多叉树集合;将多叉树集合中的各多叉树进行归类合并,得到多个多叉树组合及其对应的合并多叉树;计算各合并多叉树的关联系数权值,将关联系数权值最大的合并多叉树作为关联关系树。本发明可在明显减少人工参与的情况下,借助少量先验知识自动完成多个数据表之间关联关系的挖掘,有效解决了工作效率低、错误率高、开发周期长等问题,为后期业务工作的开展提供了良好的基础。

Description

数据表关联分析方法、装置、设备及存储介质
技术领域
本发明涉及数据处理技术领域,具体涉及一种数据表关联分析方法、装置、设备及存储介质。
背景技术
随着5G时代的到来,数据量剧增,数据信息来源日渐多样化。对不同电信业务系统之间多个数据表的结构进行关联分析,能够进一步找出系统之间的潜在联系,从而达到对数据信息的最优化利用。现有的分析方法采用人工进行分析,先向原业务系统的设计人员了解数据表结构,而后人工梳理各业务系统内部以及系统之间的关联字段,最终将不同的业务系统数据进行整合分析,得到关联关系结果集。
然而,上述分析方法在分析工作开始前,需花费大量精力和时间去参与到原业务系统中进行交流沟通。例如,首先需了解各个业务系统内部数据表结构的相关信息,如主键、外键、数据类型等,然后在各业务系统之间进行分析查找,挖掘潜在联系。同时,在海量数据的情况下,当业务系统中数据表结构字段数目多,关联关系错综复杂,势必会增加人工分析数据的难度。
因此,这种分析方法会浪费大量人力资源,而且容易出错误,存在工作效率低、错误率高、开发周期长等问题。
需要注意的是,本部分旨在为权利要求书中陈述的本公开的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
发明内容
本发明实施例提供一种数据表关联分析方法、装置、设备及存储介质,以解决现有技术中采用人工进行分析的方法存在的工作效率低、错误率高、开发周期长等问题。
第一方面,本发明实施例提供了一种数据表关联分析方法,包括:
获取多个不同结构类型的目标数据表的配置文件信息;
根据所述配置文件信息,计算任意两类目标数据表之间的相似度值,并构建相似度矩阵;其中,所述相似度矩阵的行向量指示所述目标数据表与其他类目标数据表之间的相似度值;
根据所述相似度矩阵,构建具有关联关系的多棵多叉树,形成多叉树集合;
将所述多叉树集合中的各多叉树进行归类合并,得到多个多叉树组合及其对应的合并多叉树;计算各所述合并多叉树的关联系数权值,将关联系数权值最大的合并多叉树作为关联关系树,所述关联关系树中任意两个结点的连通性指示对应的两类目标数据表之间的关联关系。
作为本发明第一方面的优选方式,在获取多个不同结构类型的目标数据表的配置文件信息之前,还包括:
接收数据表关联分析请求后,将多个样本数据表加载到分布式存储平台;
根据各所述样本数据表中名称的关键字信息,将相同结构类型的样本数据表进行合并,得到多个不同结构类型的目标数据表。
作为本发明第一方面的优选方式,所述获取多个不同结构类型的目标数据表的配置文件信息,包括:
采用预设抽取规则,从各所述目标数据表中分别抽取多条样本数据;
根据各所述目标数据表的分隔符和阈值,对所述样本数据进行列数的百分比统计,并将各所述目标数据表对应的列数作为配置文件信息记录在配置文件中;
根据各所述目标数据表的分隔符、阈值和字符集编码,对所述样本数据进行中文列数的百分比统计,并将满足阈值要求的中文列数作为配置文件信息记录在配置文件中;
根据各所述目标数据表的阈值和正则表达式规则,对所述样本数据进行日期列数的百分比统计,并将满足阈值要求的日期列数作为配置文件信息记录在配置文件中。
作为本发明第一方面的优选方式,所述根据所述配置文件信息,计算任意两类目标数据表之间的相似度值,包括:
对所述目标数据表中的数据进行转置存储后,根据所述配置文件信息,判断各所述目标数据表中是否包含中文列或者日期列,并对包含中文列或者日期列的目标数据表进行标识;
从各所述目标数据表中任意选取两类目标数据表,分别作为基础目标数据表和比较目标数据表;
将所述基础目标数据表中除中文列和日期列以外的每一个列向量分别与所述比较目标数据表中除中文列和日期列以外的每一个列向量进行交集运算,得到交集运算结果集;
将所述交集运算结果集中的最大值作为所述两类目标数据表之间的相似度值,并继续执行所述从各所述目标数据表中任意选取两类目标数据表,分别作为基础目标数据表和比较目标数据表的步骤,直至遍历计算出任意两类目标数据表之间的相似度值。
作为本发明第一方面的优选方式,所述根据所述相似度矩阵,构建具有关联关系的多棵多叉树,形成多叉树集合,包括:
按照从上至下的顺序,依次从所述相似度矩阵的各行向量中选取最大的相似度值,并用坐标
Figure BDA0003096178560000041
表示;其中,
Figure BDA0003096178560000042
为第i行行向量对应的目标数据表Ai中的
Figure BDA0003096178560000043
列,Ai∈{A1,A2,…,Ai,…,An},
Figure BDA0003096178560000044
N为目标数据表Ai对应的列数,
Figure BDA0003096178560000045
为与目标数据表Ai关联关系最大的目标数据表
Figure BDA0003096178560000046
中的
Figure BDA0003096178560000047
列,
Figure BDA0003096178560000048
i,j∈{1,2,…,n},n为所有目标数据表的结构类型数,
Figure BDA0003096178560000049
M为目标数据表
Figure BDA00030961785600000410
对应的列数;
根据所述相似度矩阵中各行向量中最大的相似度值,构建最大相似度行列坐标集合,并用
Figure BDA00030961785600000411
表示;其中,
Figure BDA00030961785600000412
为目标数据表Ai中的xr列,
Figure BDA00030961785600000413
为目标数据表
Figure BDA00030961785600000414
中的yt列,
Figure BDA00030961785600000415
为在所有目标数据表中与目标数据表Ai关联关系最大的目标数据表
Figure BDA00030961785600000416
中分别对应的列;
从所述最大相似度行列坐标集合中选取行列坐标
Figure BDA00030961785600000417
Figure BDA00030961785600000418
作为根结点,将
Figure BDA00030961785600000419
作为
Figure BDA00030961785600000420
的子结点,构建一棵多叉树;
重复上述步骤,直至遍历所述最大相似度行列坐标集合中的所有行列坐标,形成所述多叉树集合。
作为本发明第一方面的优选方式,所述形成所述多叉树集合,包括:
若i等于1时,将构建的多叉树加入所述多叉树集合中;
若i大于1时,判断
Figure BDA0003096178560000051
是否出现在所述多叉树集合中;若
Figure BDA0003096178560000052
出现在所述多叉树集合中,则将
Figure BDA0003096178560000053
直接加入所述多叉树集合中
Figure BDA0003096178560000054
对应的多叉树中;若
Figure BDA0003096178560000055
未出现在所述多叉树集合中,则将
Figure BDA0003096178560000056
作为新的根结点,将
Figure BDA0003096178560000057
作为子结点,重新构建一棵多叉树,并将重新构建的多叉树加入所述多叉树集合中。
作为本发明第一方面的优选方式,所述将所述多叉树集合中的各多叉树进行归类合并,得到多个多叉树组合及其对应的合并多叉树;计算各所述合并多叉树的关联系数权值,将关联系数权值最大的合并多叉树作为关联关系树,包括:
通过将所述多叉树集合中包含相同结点的多叉树进行归类,得到多个多叉树组合,各所述多叉树组合均包含所述目标数据表的全部结构类型;
对各所述多叉树组合中的相同结点进行合并,得到各所述多叉树组合对应的合并多叉树;
计算各所述合并多叉树的关联系数权值,并将关联系数权值最大的合并多叉树作为关联关系树,所述关联关系树中任意两个结点的连通性指示对应的两类目标数据表之间的关联关系。
第二方面,本发明实施例提供了一种数据表关联分析装置,包括:
配置信息获取单元,用于获取多个不同结构类型的目标数据表的配置文件信息;
相似度值计算单元,用于根据所述配置文件信息,计算任意两类目标数据表之间的相似度值,并构建相似度矩阵;其中,所述相似度矩阵的行向量指示所述目标数据表与其他类目标数据表之间的相似度值;
多叉树构建单元,用于根据所述相似度矩阵,构建具有关联关系的多棵多叉树,形成多叉树集合;
关联关系分析单元,用于将所述多叉树集合中的各多叉树进行归类合并,得到多个多叉树组合及其对应的合并多叉树;计算各所述合并多叉树的关联系数权值,将关联系数权值最大的合并多叉树作为关联关系树,所述关联关系树中任意两个结点的连通性指示对应的两类目标数据表之间的关联关系。
第三方面,本发明实施例提供了一种数据表关联分析设备,包括处理器和存储器,其中所述存储器内存储有执行指令,所述处理器读取所述存储器内的执行指令用于执行如第一方面及其优选方式中任一项所述的数据表关联分析方法中的步骤。
第四方面,本发明实施例提供了一种计算机可读存储介质,所述存储介质存储有计算机执行指令,所述计算机执行指令被用于执行如第一方面及其优选方式中任一项所述的数据表关联分析方法中的步骤。
本发明实施例提供的一种数据表关联分析方法、装置、设备及存储介质,在利用数据分析和分布式计算的基础上,不需要预知各数据表的结构信息,通过构造相似度矩阵来挖掘不同类型数据表各列之间的关联性,从而构建多棵具有一定关联关系的多叉树,并最终筛选出权值最大的多叉树,作为最优结果,该多叉树展示了所有不同类型目标数据表之间的关联关系。
本发明可在明显减少人工参与的情况下,借助少量先验知识自动完成多个数据表之间关联关系的挖掘,有效解决了工作效率低、错误率高、开发周期长等问题,为后期业务工作的开展提供了良好的基础,特别是针对数据量较大的情况,效果更加明显。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图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、从各目标数据表中任意选取两类目标数据表,分别作为基础目标数据表和比较目标数据表。
该步骤中,计算任意两类目标数据表之间的相似度值时,先从上述预处理过的目标数据表中任意选取两类目标数据表,然后将其中一个目标数据表Ai作为基础目标数据表,其列向量集合为{ai(0),ai(1),…,ai(X),…,ai(N)},将另一个目标数据表Aj作为比较目标数据表,其列向量集合为{aj(0),aj(1),…,aj(Y),…,aj(M)}。其中N、M分别为基础目标数据表和比较目标数据表的列数。
步骤1023、将基础目标数据表中除中文列和日期列以外的每一个列向量分别与比较目标数据表中除中文列和日期列以外的每一个列向量进行交集运算,得到交集运算结果集。
该步骤中,将基础目标数据表Ai中除中文列和日期列以外的每一个列向量分别与比较目标数据表Aj中除中文列和日期列以外的每一个列向量进行交集运算,得到一个交集运算结果集。
具体地,将基础目标数据表Ai中除中文列和日期列以外的N列向量数据和比较目标数据表Aj中除中文列和日期列以外的M列向量数据进行交集运算,交集个数除以所选基础目标数据表Ai的第X列和比较目标数据表Aj的第Y列中行数最小的。公式如下所示:
Corrcc_ai(X)aj(Y)=((ai(X)∩aj(Y))个数/min{ai(X)列数,aj(Y)列数})。
将Corrcc_ai(X)aj(Y)作为基础目标数据表Ai的第X列和比较目标数据表Aj的第Y列的相似度。
重复执行上述步骤,直至获取到基础目标数据表中的每一个列向量分别与比较目标数据表中的每一个列向量的相似度,并将这些相似度组成一个交集运算结果集。
步骤1024、将交集运算结果集中的最大值作为两类目标数据表之间的相似度值,并继续执行从各目标数据表中任意选取两类目标数据表,分别作为基础目标数据表和比较目标数据表的步骤,直至遍历计算出任意两类目标数据表之间的相似度值。
该步骤中,选取交集运算结果集的最大值max(Corrcc_ai(X)aj(Y)),作为基础目标数据表Ai与比较目标数据表Aj之间的相似度值,记为
Figure BDA0003096178560000121
其中,ai(X)∈{ai(0),aj(1),…,ai(X),…,ai(N)},aj(Y)∈{aj(0),aj(1),…,aj(Y),…,aj(M)},且i≠j。
根据上述步骤计算出任意两个目标数据表之间的相似度值后,构造映射关系,得到相似度矩阵。其中,相似度矩阵的每一行向量,分别代表对应类型的目标数据表与其他类型的目标数据表之间的最大相似度,进而从此相似度矩阵中可以寻找到各目标数据表之间的关联关系。
其中,相似度矩阵中的元素为两类目标数据表相似度值,行列坐标可进一步映射为取此相似度时对应的两类目标数据表的列,记为
Figure BDA0003096178560000122
Figure BDA0003096178560000123
Ai,Aj∈{A1,A2,…,An},为所有目标数据表的结构类型数,Ai_X为目标数据表Ai的第X列,Aj_Y为目标数据表Aj的第Y列,
Figure BDA0003096178560000131
为目标数据表Ai与目标数据表Aj之间的相似度值。当i=j时,
Figure BDA0003096178560000132
由其数学含义可知,此相似度矩阵为对角线上元素为0的对称矩阵。
在步骤103中,根据上述步骤得到的相似度矩阵,通过构建多棵多叉树来寻找各目标数据表之间的关联关系,并将构建出的多棵多叉树形成多叉树集合。
在本申请提供的一种可选实施例中,步骤103可按照如下步骤具体实施:
步骤1031、按照从上至下的顺序,依次从相似度矩阵的各行向量中选取最大的相似度值,并用坐标
Figure BDA0003096178560000133
表示;其中,
Figure BDA0003096178560000134
为第i行行向量对应的目标数据表Ai中的
Figure BDA0003096178560000135
列,Ai∈{A1,A2,…,Ai,…,An},
Figure BDA0003096178560000136
N为目标数据表Ai对应的列数,
Figure BDA0003096178560000137
为与目标数据表Ai关联关系最大的目标数据表
Figure BDA0003096178560000138
中的
Figure BDA0003096178560000139
列,
Figure BDA00030961785600001310
i,j∈{1,2,…,n},n为所有目标数据表的结构类型数,
Figure BDA00030961785600001311
M为目标数据表
Figure BDA00030961785600001312
对应的列数。
该步骤中,将上述步骤中构建相似度矩阵的映射关系
Figure BDA00030961785600001313
Figure BDA00030961785600001314
另记为
Figure BDA00030961785600001315
其中xr=X,yt=Y。
按照从上至下的顺序,先从相似度矩阵中取出第一行的行向量为
Figure BDA00030961785600001316
其中a1(xr)∈{a1(0),a1(1),a1(2),…,a1(N)},xr∈{1,2,…,N},N为目标数据表A1对应的列数。aj(yt)∈{aj(0),aj(1),aj(2),…,aj(M)},j∈{1,2,…,n},n为所有目标数据表的结构类型数,yt∈{1,2,…,M},M为目标数据表Aj对应的列数。
该第一行行向量
Figure BDA0003096178560000141
表示目标数据表A1分别与其他类目标数据表A2,…,Aj,…,An之间的相似度值。其中,xr为目标数据表A1对应的列数,映射的行列坐标为{(A1_x1,A1_x1),…,(A1_xr,Aj_yt),…}。
从该第一行行向量中选取最大的相似度值,相当于在其他类目标数据表A2,…,Aj,…,An中,优选出与目标数据表A1的相似度值最大的目标数据表Aj,记为
Figure BDA0003096178560000142
对应的行列坐标为
Figure BDA0003096178560000143
Figure BDA0003096178560000144
属于目标数据表A1中的某一列,而
Figure BDA0003096178560000145
属于与目标数据表A1的相似度值最大的目标数据表
Figure BDA0003096178560000146
中的某一列。
依次将第二行行向量、…、第i行行向量、…、第n行行向量中最大的相似度值选取出来,并分别用对应的行列坐标表示。示例性地,第i行行向量
Figure BDA0003096178560000147
表示目标数据表Ai分别与其他目标数据表A1,A2,…,Aj,…,An的相似度值,行列坐标为{(Ai_x1,A1_x1),…,(Ai_xr,Aj_yt),…}。
从该第i行行向量中选取最大的相似度值
Figure BDA0003096178560000148
相当于在其他目标数据表A1,A2,…,Aj,…,An中,优选出与目标数据表Ai的相似度值最大的目标数据表Aj,并对应用行列坐标
Figure BDA0003096178560000151
表示。
步骤1032、根据相似度矩阵中各行向量中最大的相似度值,构建最大相似度行列坐标集合,并用
Figure BDA0003096178560000152
表示;其中,
Figure BDA0003096178560000153
为目标数据表Ai中的xr列,
Figure BDA0003096178560000154
为目标数据表
Figure BDA0003096178560000155
中的yt列,
Figure BDA0003096178560000156
为在所有目标数据表中与目标数据表Ai关联关系最大的目标数据表
Figure BDA0003096178560000157
中分别对应的列。
该步骤中,根据上述步骤,遍历整个相似度矩阵中各行向量,最终可构建一个最大相似度行列坐标集合,记为
Figure BDA0003096178560000158
其中,Ai∈{A1,A2,…,Ai,…,An},
Figure BDA0003096178560000159
Figure BDA00030961785600001510
表示目标数据表Ai所在的列,
Figure BDA00030961785600001511
表示目标数据表
Figure BDA00030961785600001512
所在的列,
Figure BDA00030961785600001513
表示在所有目标数据表中与目标数据表Ai关联关系最大的目标数据
Figure BDA00030961785600001514
分别对应的列。
步骤1033、从最大相似度行列坐标集合中选取行列坐标
Figure BDA00030961785600001515
Figure BDA00030961785600001516
作为根结点,将
Figure BDA00030961785600001517
作为
Figure BDA00030961785600001518
的子结点,构建一棵多叉树。
该步骤中,按顺序从最大相似度行列坐标集合中对应选取一个行列坐标,并以此构建一棵多叉树。
示例性地,将最大相似度行列坐标集合中的第i个行列坐标选取出构建多叉树时,其对应的行列坐标为
Figure BDA00030961785600001519
于是将行列坐标中的
Figure BDA00030961785600001520
作为根结点,将
Figure BDA00030961785600001521
作为
Figure BDA00030961785600001522
的子结点,构建一棵多叉树,记为
Figure BDA0003096178560000161
i∈{1,2,…,n}。其中,Ai∈{A1,A2,…,Ai,…,An},
Figure BDA0003096178560000162
Figure BDA0003096178560000163
表示对应目标数据表Ai所在的列,
Figure BDA0003096178560000164
表示表示对应目标数据表
Figure BDA0003096178560000165
所在的列。
步骤1034、重复上述步骤,直至遍历所述最大相似度行列坐标集合中的所有行列坐标,形成多叉树集合。
该步骤中,重复执行步骤1033,直至遍历最大相似度行列坐标集合中的所有行列坐标,对应构建具有关联关系的多棵多叉树,并形成多叉树集合。
优选地,步骤1034中具体包括如下步骤:
若i等于1时,将构建的多叉树加入多叉树集合中;
若i大于1时,判断
Figure BDA0003096178560000166
是否出现在多叉树集合中;若
Figure BDA0003096178560000167
出现在多叉树集合中,则将
Figure BDA0003096178560000168
直接加入多叉树集合中
Figure BDA0003096178560000169
对应的多叉树中;若
Figure BDA00030961785600001610
未出现在多叉树集合中,则将
Figure BDA00030961785600001611
作为新的根结点,将
Figure BDA00030961785600001612
作为子结点,重新构建一棵多叉树,并将重新构建的多叉树加入多叉树集合中。
该步骤中,构建多棵多叉树时,遍历上述步骤得到的最大相似度行列坐标集合,需对新生成的根结点
Figure BDA00030961785600001613
进行判断,即该结点是否已出现在多叉树集合中;若
Figure BDA00030961785600001614
出现在多叉树集合中,则将
Figure BDA00030961785600001615
直接加入
Figure BDA00030961785600001616
对应的多叉树中;若
Figure BDA00030961785600001617
未出现在多叉树集合中,则将
Figure BDA00030961785600001618
作为根结点,将
Figure BDA00030961785600001619
作为子结点,重新构建一棵多叉树,并将重新构建的多叉树加入多叉树集合中。
若i等于1,即从最大相似度行列坐标集合中选取行列坐标
Figure BDA00030961785600001620
并据此构建一棵多叉树,其中根结点为
Figure BDA00030961785600001621
子结点为
Figure BDA0003096178560000171
记为
Figure BDA0003096178560000172
然后,将构建好的多叉树T1加入到多叉树集合T中,记为T={T1}。
若i大于1,即从最大相似度行列坐标的集合依次选取后面的行列坐标构建多叉树,选取的行列坐标为
Figure BDA0003096178560000173
然后判断
Figure BDA0003096178560000174
是否已出现在多叉树集合中。
Figure BDA0003096178560000175
已经出现在多叉树集合T中,则说明已经将
Figure BDA0003096178560000176
作为根结点构建过多叉树,此时将
Figure BDA0003096178560000177
加入多叉树集合T中
Figure BDA0003096178560000178
对应的多叉树中即可,不需要再重新构建一棵多叉树;若
Figure BDA0003096178560000179
未出现在多叉树集合T中,则说明未将
Figure BDA00030961785600001710
作为根结点构建过多叉树,此时将
Figure BDA00030961785600001711
作为根结点,将
Figure BDA00030961785600001712
作为
Figure BDA00030961785600001713
的子结点,重新构建一棵多叉树,并将重新构建的多叉树也加入多叉树集合T中。
按照上述步骤,得到最终的多叉树集合T={T1,T2,…,Tz},z为多叉树集合中包含的多叉树的数量。经过结点的合并操作,此时多叉树集合中的多叉树所有结点的数量和必少于或者等于最大相似度行列集合的坐标数量,且每棵多叉树的结构已逐渐紧凑。
在步骤104中,先将上述步骤得到的多叉树集合的各多叉树进行归类合并,归类合并的步骤为:首先在多叉树集合中寻找不同多叉树上包含的相同结点,即具有相同的目标数据表结构但列数不同的结点,将含有这类相同结点的多叉树归为一类,得到一个多叉树组合,然后合并该多叉树组合中不同多叉树中的这类相同结点,最终得到该多叉树组合对应的合并多叉树。计算得到的各合并多叉树的关联系数权值,然后选择关联系数权值最大的合并多叉树作为关联关系树,即为最终关联关系树。
在本申请提供的一种可选实施例中,步骤104可按照如下步骤具体实施:
步骤1041、通过将多叉树集合中包含相同结点的多叉树进行归类,得到多个多叉树组合,各多叉树组合均包含目标数据表的全部结构类型。
该步骤中,将多叉树集合T中的包含相同结点的各多叉树进行归类,此处所述的相同结点指包含有相同的目标数据表结构但列数不同的结点。
设最终得到的多叉树组合集F={C1,C2,…,Ci…},其中Ci={T1,T2,…,Ti,…}是多叉树组合集F中的任意一种多叉树组合。具体地,进行组合的规则如下:
若Ci中包含的元素的个数大于2时,满足:
(1)对于任意一种多叉树组合Ci中的任意一棵多叉树Ti,存在一棵多叉树Tj,使得多叉树Ti存在一个唯一的结点,与多叉树Tj中根结点具有相同的目标数据表的结构类型。
(2)多叉树组合Ci中所有多叉树Ti中各结点对应的目标数据表的结构类型之和包含目标数据表的全部结构类型。
步骤1042、对各多叉树组合中的相同结点进行合并,得到各多叉树组合对应的合并多叉树。
该步骤中,对多叉树组合集F进行判别。若{C1}={T1},即该多叉树组合中仅含有一棵多叉树,则不需要对多叉树进行合并,直接将该多叉树作为该多叉树组合对应的合并多叉树输出即可;若Ci={T1,T2,…,Ti,…},即该多叉树组合中包含有多棵多叉树,则进一步对多叉树组合Ci中的相同结点进行合并,最终构成一棵多叉树后作为该多叉树组合对应的合并多叉树输出。
步骤1043、计算各合并多叉树的关联系数权值,并将关联系数权值最大的合并多叉树作为关联关系树,关联关系树中任意两个结点的连通性指示对应的两类目标数据表之间的关联关系。
该步骤中,通过比较各多叉树组合{C1,C2,…,Ci…}对应的合并多叉树的关联系数权值,并将关联系数权值最大的合并多叉树作为关联关系树。具体的计算规则如下:
将多叉树组合Ci中各多叉树连通结点之间的相似度值相乘;若连通结点的父结点对应的结构类型与子结点对应的结构类型相同,则设其关联系数权值为1。
将该关联系数权值最大的合并多叉树作为最终的关联关系树,该关联关系树中任意两个结点的连通性即指示了对应的两类目标数据表之间的关联关系。
本发明实施例能大幅度减少电信业务中关于多表关联性的分析工作,提高工作效率,并降低人力成本,主要优点表现在以下两个方面:
(1)原有大部分关联算法前期需进行大量的调研工作,才可获得较为完整的数据表结构,进而方可开展下一步分析工作。而利用本发明实施例所述的方法,可在借助少量先验知识的情况下,自动完成多表类型关联分析工作。
(2)在现今海量数据的条件下,数据表类型多达到十几种甚至几十种,人为根据数据表结构去寻找多表之间的关联关系,工作复杂度增加,时间增长。而利用本发明实施例所述的方法,可减少人力投入,提高工作效率。
需要说明的是,对于上述方法的实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明所必须的。
综上所述,本发明实施例提供的一种数据表关联分析方法,在利用数据分析和分布式计算的基础上,不需要预知各数据表的结构信息,通过构造相似度矩阵来挖掘不同类型数据表各列之间的关联性,从而构建多棵具有一定关联关系的多叉树,并最终筛选出权值最大的多叉树,作为最优结果,该多叉树展示了所有不同类型目标数据表之间的关联关系。
本发明可在明显减少人工参与的情况下,借助少量先验知识自动完成多个数据表之间关联关系的挖掘,有效解决了工作效率低、错误率高、开发周期长等问题,为后期业务工作的开展提供了良好的基础,特别是针对数据量较大的情况,效果更加明显。
基于同一发明构思,本发明实施例还提供了一种数据表关联分析装置,由于该装置解决技术问题的原理与一种数据表关联分析方法相似,因此该装置的具体实施方式可以参见方法的具体实施方式,重复之处不再赘述。
参照图2所示,该装置主要包括:
配置信息获取单元201,用于获取多个不同结构类型的目标数据表的配置文件信息;
相似度值计算单元202,用于根据所述配置文件信息,计算任意两类目标数据表之间的相似度值,并构建相似度矩阵;其中,所述相似度矩阵的行向量指示所述目标数据表与其他类目标数据表之间的相似度值;
多叉树构建单元203,用于根据相似度矩阵,构建具有关联关系的多棵多叉树,形成多叉树集合;
关联关系分析单元204,用于将多叉树集合中的各多叉树进行归类合并,得到多个多叉树组合及其对应的合并多叉树;计算各合并多叉树的关联系数权值,将关联系数权值最大的合并多叉树作为关联关系树,关联关系树中任意两个结点的连通性指示对应的两类目标数据表之间的关联关系。
此处需要说明的是,上述配置信息获取单元201、相似度值计算单元202、多叉树构建单元203和关联关系分析单元204对应于上述方法实施例中的步骤101至步骤104,四个单元与对应的步骤所实现的实例和应用场景相同,但不限于上述方法实施例所公开的内容。
优选地,还包括数据表存储单元,具体用于:
接收数据表关联分析请求后,将多个样本数据表加载到分布式存储平台;
根据各所述样本数据表中名称的关键字信息,将相同结构类型的样本数据表进行合并,得到多个不同结构类型的目标数据表。
优选地,配置信息获取单元201具体用于:
采用预设抽取规则,从各所述目标数据表中分别抽取多条样本数据;
根据各所述目标数据表的分隔符和阈值,对所述样本数据进行列数的百分比统计,并将各所述目标数据表对应的列数作为配置文件信息记录在配置文件中;
根据各所述目标数据表的分隔符、阈值和字符集编码,对所述样本数据进行中文列数的百分比统计,并将满足阈值要求的中文列数作为配置文件信息记录在配置文件中;
根据各所述目标数据表的阈值和正则表达式规则,对所述样本数据进行日期列数的百分比统计,并将满足阈值要求的日期列数作为配置文件信息记录在配置文件中。
优选地,相似度值计算单元202具体用于:
对所述目标数据表中的数据进行转置存储后,根据所述配置文件信息,判断各所述目标数据表中是否包含中文列或者日期列,并对包含中文列或者日期列的目标数据表进行标识;
从各所述目标数据表中任意选取两类目标数据表,分别作为基础目标数据表和比较目标数据表;
将所述基础目标数据表中除中文列和日期列以外的每一个列向量分别与所述比较目标数据表中除中文列和日期列以外的每一个列向量进行交集运算,得到交集运算结果集;
将所述交集运算结果集中的最大值作为所述两类目标数据表之间的相似度值,并继续执行所述从各所述目标数据表中任意选取两类目标数据表,分别作为基础目标数据表和比较目标数据表的步骤,直至遍历计算出任意两类目标数据表之间的相似度值。
优选地,多叉树构建单元203具体用于:
按照从上至下的顺序,依次从所述相似度矩阵的各行向量中选取最大的相似度值,并用坐标
Figure BDA0003096178560000221
表示;其中,
Figure BDA0003096178560000222
为第i行行向量对应的目标数据表Ai中的
Figure BDA0003096178560000223
列,Ai∈{A1,A2,…,Ai,…,An},
Figure BDA0003096178560000224
N为目标数据表Ai对应的列数,
Figure BDA0003096178560000225
为与目标数据表Ai关联关系最大的目标数据表
Figure BDA0003096178560000226
中的
Figure BDA0003096178560000227
列,
Figure BDA0003096178560000228
i,j∈{1,2,…,n},n为所有目标数据表的结构类型数,
Figure BDA0003096178560000229
M为目标数据表
Figure BDA00030961785600002210
对应的列数;
根据所述相似度矩阵中各行向量中最大的相似度值,构建最大相似度行列坐标集合,并用
Figure BDA00030961785600002211
表示;其中,
Figure BDA00030961785600002212
为目标数据表Ai中的xr列,
Figure BDA00030961785600002213
为目标数据表
Figure BDA00030961785600002214
中的yt列,
Figure BDA00030961785600002215
为在所有目标数据表中与目标数据表Ai关联关系最大的目标数据表
Figure BDA00030961785600002216
中分别对应的列;
从所述最大相似度行列坐标集合中选取行列坐标
Figure BDA0003096178560000231
Figure BDA0003096178560000232
作为根结点,将
Figure BDA0003096178560000233
作为
Figure BDA0003096178560000234
的子结点,构建一棵多叉树;
重复上述步骤,直至遍历所述最大相似度行列坐标集合中的所有行列坐标,形成所述多叉树集合。
优选地,多叉树构建单元203还具体用于:
若i等于1时,将构建的多叉树加入所述多叉树集合中;
若i大于1时,判断
Figure BDA0003096178560000235
是否出现在所述多叉树集合中;若
Figure BDA0003096178560000236
出现在所述多叉树集合中,则将
Figure BDA0003096178560000237
直接加入所述多叉树集合中
Figure BDA0003096178560000238
对应的多叉树中;若
Figure BDA0003096178560000239
未出现在所述多叉树集合中,则将
Figure BDA00030961785600002310
作为新的根结点,将
Figure BDA00030961785600002311
作为子结点,重新构建一棵多叉树,并将重新构建的多叉树加入所述多叉树集合中。
优选地,关联关系分析单元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),连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种数据表关联分析方法,其特征在于,包括:
获取多个不同结构类型的目标数据表的配置文件信息;
根据所述配置文件信息,计算任意两类目标数据表之间的相似度值,并构建相似度矩阵;其中,所述相似度矩阵的行向量指示所述目标数据表与其他类目标数据表之间的相似度值;
根据所述相似度矩阵,构建具有关联关系的多棵多叉树,形成多叉树集合;
将所述多叉树集合中的各多叉树进行归类合并,得到多个多叉树组合及其对应的合并多叉树;计算各所述合并多叉树的关联系数权值,将关联系数权值最大的合并多叉树作为关联关系树,所述关联关系树中任意两个结点的连通性指示对应的两类目标数据表之间的关联关系。
2.根据权利要求1所述的方法,其特征在于,在获取多个不同结构类型的目标数据表的配置文件信息之前,还包括:
接收数据表关联分析请求后,将多个样本数据表加载到分布式存储平台;
根据各所述样本数据表中名称的关键字信息,将相同结构类型的样本数据表进行合并,得到多个不同结构类型的目标数据表。
3.根据权利要求2所述的方法,其特征在于,所述获取多个不同结构类型的目标数据表的配置文件信息,包括:
采用预设抽取规则,从各所述目标数据表中分别抽取多条样本数据;
根据各所述目标数据表的分隔符和阈值,对所述样本数据进行列数的百分比统计,并将各所述目标数据表对应的列数作为配置文件信息记录在配置文件中;
根据各所述目标数据表的分隔符、阈值和字符集编码,对所述样本数据进行中文列数的百分比统计,并将满足阈值要求的中文列数作为配置文件信息记录在配置文件中;
根据各所述目标数据表的阈值和正则表达式规则,对所述样本数据进行日期列数的百分比统计,并将满足阈值要求的日期列数作为配置文件信息记录在配置文件中。
4.根据权利要求3所述的方法,其特征在于,所述根据所述配置文件信息,计算任意两类目标数据表之间的相似度值,包括:
对所述目标数据表中的数据进行转置存储后,根据所述配置文件信息,判断各所述目标数据表中是否包含中文列或者日期列,并对包含中文列或者日期列的目标数据表进行标识;
从各所述目标数据表中任意选取两类目标数据表,分别作为基础目标数据表和比较目标数据表;
将所述基础目标数据表中除中文列和日期列以外的每一个列向量分别与所述比较目标数据表中除中文列和日期列以外的每一个列向量进行交集运算,得到交集运算结果集;
将所述交集运算结果集中的最大值作为所述两类目标数据表之间的相似度值,并继续执行所述从各所述目标数据表中任意选取两类目标数据表,分别作为基础目标数据表和比较目标数据表的步骤,直至遍历计算出任意两类目标数据表之间的相似度值。
5.根据权利要求1或2所述的方法,其特征在于,所述根据所述相似度矩阵,构建具有关联关系的多棵多叉树,形成多叉树集合,包括:
按照从上至下的顺序,依次从所述相似度矩阵的各行向量中选取最大的相似度值,并用坐标
Figure FDA0003096178550000031
表示;其中,
Figure FDA0003096178550000032
为第i行行向量对应的目标数据表Ai中的
Figure FDA0003096178550000033
列,Ai∈{A1,A2,…,Ai,…,An},
Figure FDA0003096178550000034
N为目标数据表Ai对应的列数,
Figure FDA0003096178550000035
为与目标数据表Ai关联关系最大的目标数据表
Figure FDA0003096178550000036
中的
Figure FDA0003096178550000037
列,
Figure FDA0003096178550000038
n为所有目标数据表的结构类型数,
Figure FDA0003096178550000039
M为目标数据表
Figure FDA00030961785500000310
对应的列数;
根据所述相似度矩阵中各行向量中最大的相似度值,构建最大相似度行列坐标集合,并用
Figure FDA00030961785500000311
表示;其中,
Figure FDA00030961785500000312
为目标数据表Ai中的xr列,
Figure FDA00030961785500000313
为目标数据表
Figure FDA00030961785500000314
中的yt列,
Figure FDA00030961785500000315
为在所有目标数据表中与目标数据表Ai关联关系最大的目标数据表
Figure FDA00030961785500000316
中分别对应的列;
从所述最大相似度行列坐标集合中选取行列坐标
Figure FDA00030961785500000317
Figure FDA00030961785500000318
作为根结点,将
Figure FDA00030961785500000319
作为
Figure FDA00030961785500000320
的子结点,构建一棵多叉树;
重复上述步骤,直至遍历所述最大相似度行列坐标集合中的所有行列坐标,形成所述多叉树集合。
6.根据权利要求5所述的方法,其特征在于,所述形成所述多叉树集合,包括:
若i等于1时,将构建的多叉树加入所述多叉树集合中;
若i大于1时,判断
Figure FDA00030961785500000321
是否出现在所述多叉树集合中;若
Figure FDA00030961785500000322
出现在所述多叉树集合中,则将
Figure FDA0003096178550000041
直接加入所述多叉树集合中
Figure FDA0003096178550000042
对应的多叉树中;若
Figure FDA0003096178550000043
未出现在所述多叉树集合中,则将
Figure FDA0003096178550000044
作为新的根结点,将
Figure FDA0003096178550000045
作为子结点,重新构建一棵多叉树,并将重新构建的多叉树加入所述多叉树集合中。
7.根据权利要求1所述的方法,其特征在于,所述将所述多叉树集合中的各多叉树进行归类合并,得到多个多叉树组合及其对应的合并多叉树;计算各所述合并多叉树的关联系数权值,将关联系数权值最大的合并多叉树作为关联关系树,包括:
通过将所述多叉树集合中包含相同结点的多叉树进行归类,得到多个多叉树组合,各所述多叉树组合均包含所述目标数据表的全部结构类型;
对各所述多叉树组合中的相同结点进行合并,得到各所述多叉树组合对应的合并多叉树;
计算各所述合并多叉树的关联系数权值,并将关联系数权值最大的合并多叉树作为关联关系树,所述关联关系树中任意两个结点的连通性指示对应的两类目标数据表之间的关联关系。
8.一种数据表关联分析装置,其特征在于,包括:
配置信息获取单元,用于获取多个不同结构类型的目标数据表的配置文件信息;
相似度值计算单元,用于根据所述配置文件信息,计算任意两类目标数据表之间的相似度值,并构建相似度矩阵;其中,所述相似度矩阵的行向量指示所述目标数据表与其他类目标数据表之间的相似度值;
多叉树构建单元,用于根据所述相似度矩阵,构建具有关联关系的多棵多叉树,形成多叉树集合;
关联关系分析单元,用于将所述多叉树集合中的各多叉树进行归类合并,得到多个多叉树组合及其对应的合并多叉树;计算各所述合并多叉树的关联系数权值,将关联系数权值最大的合并多叉树作为关联关系树,所述关联关系树中任意两个结点的连通性指示对应的两类目标数据表之间的关联关系。
9.一种数据表关联分析设备,其特征在于,包括处理器和存储器,其中所述存储器内存储有执行指令,所述处理器读取所述存储器内的执行指令用于执行如权利要求1~7中任一项所述的数据表关联分析方法中的步骤。
10.一种计算机可读存储介质,其特征在于,所述存储介质存储有计算机执行指令,所述计算机执行指令被用于执行如权利要求1~7中任一项所述的数据表关联分析方法中的步骤。
CN202110611634.0A 2021-06-02 2021-06-02 数据表关联分析方法、装置、设备及存储介质 Active CN113268485B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110611634.0A CN113268485B (zh) 2021-06-02 2021-06-02 数据表关联分析方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110611634.0A CN113268485B (zh) 2021-06-02 2021-06-02 数据表关联分析方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN113268485A true CN113268485A (zh) 2021-08-17
CN113268485B CN113268485B (zh) 2024-02-09

Family

ID=77233847

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110611634.0A Active CN113268485B (zh) 2021-06-02 2021-06-02 数据表关联分析方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN113268485B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114153925A (zh) * 2021-11-12 2022-03-08 城云科技(中国)有限公司 数据表关联分析方法和装置
CN114385623A (zh) * 2021-11-30 2022-04-22 北京达佳互联信息技术有限公司 数据表获取方法、设备、装置、存储介质及程序产品
CN116450653A (zh) * 2023-06-09 2023-07-18 浙江大学 一种针对供应链数据缺失的补全方法及装置

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103425672A (zh) * 2012-05-17 2013-12-04 阿里巴巴集团控股有限公司 一种数据库索引的建立方法及装置
WO2016192604A1 (zh) * 2015-06-05 2016-12-08 阿里巴巴集团控股有限公司 一种全局任务节点依赖关系可视化方法、装置和系统
CN106682192A (zh) * 2016-12-29 2017-05-17 北京奇虎科技有限公司 一种基于搜索关键词训练回答意图分类模型的方法和装置
US20180067937A1 (en) * 2016-09-01 2018-03-08 Morphick, Inc. Variable Cardinality Index and Data Retrieval
CN107992481A (zh) * 2017-12-25 2018-05-04 中科鼎富(北京)科技发展有限公司 一种基于多叉树的正则表达式匹配方法、装置及系统
CN108132957A (zh) * 2016-12-01 2018-06-08 中国移动通信有限公司研究院 一种数据库处理方法及装置
CN109491989A (zh) * 2018-11-12 2019-03-19 北京懿医云科技有限公司 数据处理方法及装置、电子设备、存储介质
WO2019127299A1 (zh) * 2017-12-25 2019-07-04 深圳云天励飞技术有限公司 数据查询方法、电子设备及存储介质
US20190392073A1 (en) * 2018-06-22 2019-12-26 Microsoft Technology Licensing, Llc Taxonomic tree generation
CN111985837A (zh) * 2020-08-31 2020-11-24 平安医疗健康管理股份有限公司 基于层次聚类的风险分析方法、装置、设备及存储介质
CN112434084A (zh) * 2020-12-02 2021-03-02 电信科学技术第十研究所有限公司 基于geohash和LCSS的轨迹相似度匹配方法及装置
CN112434048A (zh) * 2021-01-26 2021-03-02 湖州市大数据运营有限公司 一种数据交叉分析方法、装置、计算机设备和存储介质
CN112597154A (zh) * 2020-12-11 2021-04-02 广州橙行智动汽车科技有限公司 一种数据的存储方法、装置、电子设备、可读介质

Patent Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103425672A (zh) * 2012-05-17 2013-12-04 阿里巴巴集团控股有限公司 一种数据库索引的建立方法及装置
WO2016192604A1 (zh) * 2015-06-05 2016-12-08 阿里巴巴集团控股有限公司 一种全局任务节点依赖关系可视化方法、装置和系统
CN106293928A (zh) * 2015-06-05 2017-01-04 阿里巴巴集团控股有限公司 一种全局任务节点依赖关系可视化方法、装置和系统
US20180067937A1 (en) * 2016-09-01 2018-03-08 Morphick, Inc. Variable Cardinality Index and Data Retrieval
CN108132957A (zh) * 2016-12-01 2018-06-08 中国移动通信有限公司研究院 一种数据库处理方法及装置
CN106682192A (zh) * 2016-12-29 2017-05-17 北京奇虎科技有限公司 一种基于搜索关键词训练回答意图分类模型的方法和装置
CN107992481A (zh) * 2017-12-25 2018-05-04 中科鼎富(北京)科技发展有限公司 一种基于多叉树的正则表达式匹配方法、装置及系统
WO2019127299A1 (zh) * 2017-12-25 2019-07-04 深圳云天励飞技术有限公司 数据查询方法、电子设备及存储介质
US20190392073A1 (en) * 2018-06-22 2019-12-26 Microsoft Technology Licensing, Llc Taxonomic tree generation
CN109491989A (zh) * 2018-11-12 2019-03-19 北京懿医云科技有限公司 数据处理方法及装置、电子设备、存储介质
CN111985837A (zh) * 2020-08-31 2020-11-24 平安医疗健康管理股份有限公司 基于层次聚类的风险分析方法、装置、设备及存储介质
CN112434084A (zh) * 2020-12-02 2021-03-02 电信科学技术第十研究所有限公司 基于geohash和LCSS的轨迹相似度匹配方法及装置
CN112597154A (zh) * 2020-12-11 2021-04-02 广州橙行智动汽车科技有限公司 一种数据的存储方法、装置、电子设备、可读介质
CN112434048A (zh) * 2021-01-26 2021-03-02 湖州市大数据运营有限公司 一种数据交叉分析方法、装置、计算机设备和存储介质

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114153925A (zh) * 2021-11-12 2022-03-08 城云科技(中国)有限公司 数据表关联分析方法和装置
CN114385623A (zh) * 2021-11-30 2022-04-22 北京达佳互联信息技术有限公司 数据表获取方法、设备、装置、存储介质及程序产品
CN116450653A (zh) * 2023-06-09 2023-07-18 浙江大学 一种针对供应链数据缺失的补全方法及装置
CN116450653B (zh) * 2023-06-09 2023-08-25 浙江大学 一种针对供应链数据缺失的补全方法及装置

Also Published As

Publication number Publication date
CN113268485B (zh) 2024-02-09

Similar Documents

Publication Publication Date Title
CN110837550B (zh) 基于知识图谱的问答方法、装置、电子设备及存储介质
CN113268485B (zh) 数据表关联分析方法、装置、设备及存储介质
Kalmegh Analysis of weka data mining algorithm reptree, simple cart and randomtree for classification of indian news
US10452992B2 (en) Interactive interfaces for machine learning model evaluations
US10191968B2 (en) Automated data analysis
US11449761B2 (en) Efficient value lookup in a set of scalar intervals
WO2021051864A1 (zh) 词典扩充方法及装置、电子设备、存储介质
US11631205B2 (en) Generating a data visualization graph utilizing modularity-based manifold tearing
CN113761185B (zh) 主键提取方法、设备及存储介质
US20220245465A1 (en) Picture searching method and apparatus, electronic device and computer readable storage medium
CN114862656A (zh) 基于多gpu的分布式深度学习模型训练代价的获取方法
CN112783786B (zh) 测试案例的生成方法、装置、设备、介质和程序产品
CN114090838B (zh) 大数据可视化展示的方法、系统、电子装置和存储介质
Ahmad 40 Algorithms Every Programmer Should Know: Hone your problem-solving skills by learning different algorithms and their implementation in Python
CN103902582A (zh) 一种减少数据仓库数据冗余的方法和装置
CN115033616A (zh) 一种基于多轮采样的数据筛查规则验证方法及其装置
CN110175128B (zh) 一种相似代码案例获取方法、装置、设备和存储介质
CN117472904A (zh) 一种业务模型构建方法、装置、设备及存储介质
CN111858366A (zh) 一种测试用例生成方法、装置、设备及存储介质
KR20200103133A (ko) 하둡 기반의 빅데이터 시스템에서 etl 절차를 수행하는 방법 및 장치
CN115809304A (zh) 字段级血缘解析方法、装置、计算机设备、存储介质
CN114048211A (zh) 数据集成方法、装置及电子设备
CN109542986B (zh) 网络数据的要素归一化方法、装置、设备及存储介质
CN113704494A (zh) 基于知识图谱的实体检索方法、装置、设备以及存储介质
CN114610741A (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