一种数据列映射方法及系统技术方案

技术编号:15704891 阅读:95 留言:0更新日期:2017-06-26 10:16
本发明专利技术公开了一种数据列映射方法及系统,其中,方法包括:获取源数据库与目标数据库表和列的特征信息;将获取的特征信息文本化;将文本化的特征信息转化为矢量;抽取部分源数据库列与目标数据库列的组合形成样本集合;对样本集合中的源数据库列与目标数据库列的特征信息矢量进行相似度计算并进行匹配判断;基于上述相似度计算结果及匹配判断结果,生成贝叶斯分类器;将上述贝叶斯分类器应用于所有的源数据库列与目标数据库列组合。本发明专利技术可以实现自动化的数据库列映射,提高工作效率。

【技术实现步骤摘要】
一种数据列映射方法及系统
本专利技术涉及数据映射
,更具体地,涉及一种数据列映射方法及系统。
技术介绍
总所周知,数据库尤其是关系型数据库中数据是以表(Table)的形式组织,而每个数据库表又是按行(Rows)和列(Columns)组织的。其中列也被称作字段,每个字段都有一个具体的类型。数据库表中的每一行都代表一条具体的数据,每一条数据正是由上述字段组成。在数据处理任务中,往往会涉及到源数据库到目标数据库的映射和整合,而由于源数据库和目标数据库往往具备不同的数据库模式(Scheme),就是说两个数据库的数据库表及列结构往往是不一样的,因此就需要将源数据库的表和列结构映射到目标数据库的表和列结构上。而由于数据库表的结构由列组成,因此我们可以将这个任务看作是从源数据库列结构到目标数据库列结构的映射。传统上,这个任务基本上是由数据专家人工完成,耗时长,费用高。
技术实现思路
针对现有技术中存在的问题,本专利技术的目的在于设计一种数据列映射方法及系统,解决源数据库列结构到目标数据库列结构的映射需耗费时间长,成本高的问题。为达到上述技术目的,本专利技术的技术方案提供一种数据列映射方法,其中,包括:S1、获取源数据库与目标数据库表和列的特征信息;S2、将获取的特征信息文本化;S3、将文本化的特征信息转化为矢量;S4、抽取部分源数据库列与目标数据库列的组合形成样本集合;S5、对样本集合中的源数据库列与目标数据库列的特征信息矢量进行相似度计算并进行匹配判断;S6、基于上述相似度计算结果及匹配判断结果,生成贝叶斯分类器;S7、将上述贝叶斯分类器应用于所有的源数据库列与目标数据库列组合。本专利技术还提供一种数据列映射系统,其中,包括:获取特征信息模块:用于获取源数据库与目标数据库表和列的特征信息;文本化模块:用于将获取的特征信息文本化;矢量化模块:用于将文本化的特征信息转化为矢量;样本集合模块:用于抽取部分源数据库列与目标数据库列的组合形成样本集合;相似度计算模块:用于对样本集合中的源数据库列与目标数据库列的特征信息矢量进行相似度计算并进行匹配判断;贝叶斯分类器模块:用于将上述相似度计算结果及匹配判断结果,生成贝叶斯分类器;应用模块:用于将贝叶斯分类器应用于所有的源数据库列与目标数据库列组合。与现有技术相比,本专利技术具有以下有益效果:本专利技术可以实现自动化的数据库列映射,提高工作效率。附图说明图1是本专利技术提供的一种数据列映射方法流程图。图2是本专利技术提供的一种数据列映射系统结构框图。附图标记说明:数据列映射系统1,获取特征信息模块11,文本化模块12,矢量化模块13,样本集合模块14,相似度计算模块15,贝叶斯分类器模块16,应用模块17,词集合模块131,ngram元祖文本矢量模块132,权重矢量模块133。具体实施方式下面结合附图对本专利技术进行详细描述,本部分的描述仅是示范性和解释性,不应对本专利技术的保护范围有任何的限制作用。本专利技术提供的一种数据列映射方法,其中,包括:S1、获取源数据库与目标数据库表和列的特征信息;S2、将获取的特征信息文本化,具体地是将得到的数据库表/列特征信息转化为文本字符串;S3、将文本化的特征信息转化为矢量;S4、抽取部分源数据库列与目标数据库列的组合形成样本集合;S5、对样本集合中的源数据库列与目标数据库列的特征信息矢量进行相似度计算并进行匹配判断;S6、基于上述相似度计算结果及匹配判断结果,生成贝叶斯分类器;S7、将上述贝叶斯分类器应用于所有的源数据库列与目标数据库列组合。本专利技术所述的数据列映射方法,步骤S1中:从源数据库和目标数据库中的数据列可以获得如下特征信息:每个数据库列所属表中文表名、每个数据库列所属表英文表名、每个数据库列中文列名、每个数据库列英文表名、每个数据库列的类型、每个数据库列中数据的抽样;若上述描述信息为多种语言版本,则每种语言的版本可作为一种单独的特征信息;源数据库与目标数据库表和列的特征信息还可以是组合特征信息,可以由简单特征信息组合而成,比如数据库表名+数据库列名可以形成一个新的特征信息。例如:源数据库中人员信息表的第一个数据列可以获得以下特征信息:中文表名-人员信息表,英文表名-PeopleInfo,中文列名-姓名,英文列名-Name,类型-Text,数据抽样-“张三李四王五”;对于每个数据库列,均能获得以上类似的特征信息。本专利技术所述的数据列映射方法,步骤S3中包括:S31、将文本化的特征信息转换为由一系列词组成的词集合,对于中文信息,还可能需要应用分词算法。S32、使用Ngram算法将上述词集合转化为一个由ngram元祖组成的文本矢量,Ngram算法是一种常见的将文本字符串矢量化的算法,其中N为正整数。例如:以3gram算法来举例,假设有如下一个字符串:“Thequickbrownfoxjumpsoverthelazydog”,3gram算法的运作方式如下:A,首先在字符串中每个词的前面添加2个空格,然后在每个词的后面添加一个空格;B,从第一个字符开始,取连续三个字符作为矢量分量放入矢量;C,以此循环直到字符串结尾。上述字符串就被转化为以下文本矢量:(t,th,the,he,e,q,qu,qui,uic,ick,ck,k,b,br,bro,row,own,f,fo,fox,ox,x,j,ju,jum,ump,mps,ps,s,o,ov,ove,ver,er,r,t,th,the,l,la,laz,azy,zy,y,d,do,dog),其中每个矢量分量用逗号分隔。S33、使用TF-IDF算法计算上述文本矢量中每个元素的权重,并得到一个权重矢量,其计算方法如下:A,一个文本矢量分量在一个句子中的出现频率可以记为:(ft,d),t代表某个分量,而d代表某个文本矢量;使用对数归一化的tf可以计算为:tf(t,d)=1+log(ft,d)B,但是单独使用tf的问题是某些常用词如the,this等的频繁出现会扭曲相似度的计算,换言之两个句子如果都有一个非常用词比都有一个常用词的相似度应该要更高。我们用idf参数来表示一个文本矢量分量的非常用特性:其中N是指用于计算的文本矢量的总数,而|{d∈D,t∈d}|表示有多少文本矢量包含有该分量t。C,最终的矢量权重如下计算:weight=tf(t,d)×idf(t,D)本专利技术所述的数据列映射方法,步骤S4中:样本集合中包含的每个成员都是由一个源数据库列和一个目标数据库列形成的组合,如果用表名+列名来标识一个列的话,那么该样本集合的一个例子就是:(源数据库人员信息表-姓名列,目标数据库雇员信息表-员工姓名列)、(源数据库人员信息表-姓名列,目标数据库雇员信息表-工号列)。本专利技术所述的数据列映射方法,步骤S5中:使用余弦相似度算法计算源数据库列与目标数据库列对应特征信息权重矢量之间的相似度,并对源数据库列和目标数据库列进行匹配判断。由于提取多种特征信息,因此每个数据列有多个特征信息矢量,因此可以计算出多个相似度,相似度计算采用的是余弦相似度算法来计算两个矢量的相似度:由人工进行样本数据库中源数据库列和目标数据库列的匹配判断,其结果例子如下:(源数据库人员信息表-姓名列,目标数据库雇员信息表-员工姓名列,匹配结果:是)、(源数据库人员信息表-姓本文档来自技高网...
一种数据列映射方法及系统

【技术保护点】
一种数据列映射方法,其特征在于,包括如下步骤:S1、获取源数据库与目标数据库表和列的特征信息;S2、将获取的特征信息文本化;S3、将文本化的特征信息转化为矢量;S4、抽取部分源数据库列与目标数据库列的组合形成样本集合;S5、对样本集合中的源数据库列与目标数据库列的特征信息矢量进行相似度计算并进行匹配判断;S6、基于上述相似度计算结果及匹配判断结果,生成贝叶斯分类器;S7、将上述贝叶斯分类器应用于所有的源数据库列与目标数据库列组合。

【技术特征摘要】
1.一种数据列映射方法,其特征在于,包括如下步骤:S1、获取源数据库与目标数据库表和列的特征信息;S2、将获取的特征信息文本化;S3、将文本化的特征信息转化为矢量;S4、抽取部分源数据库列与目标数据库列的组合形成样本集合;S5、对样本集合中的源数据库列与目标数据库列的特征信息矢量进行相似度计算并进行匹配判断;S6、基于上述相似度计算结果及匹配判断结果,生成贝叶斯分类器;S7、将上述贝叶斯分类器应用于所有的源数据库列与目标数据库列组合。2.根据权利要求1所述的数据列映射方法,其特征在于,步骤S1中:获取的特征信息包括但不限于:数据库表名、数据库表描述信息、数据库列名、数据库列描述信息、数据库列类型、数据库列的数据抽样。3.根据权利要求2所述的数据列映射方法,其特征在于,步骤S3中包括如下步骤:S31、将文本化的特征信息转换为由一系列词组成的词集合;S32、使用Ngram算法将上述词集合转化为一个由ngram元祖组成的文本矢量;S33、使用TF-IDF算法计算上述文本矢量中每个元素的权重,并得到一个权重矢量。4.根据权利要求3所述的数据列映射方法,其特征在于,步骤S4中:所述样本集合中包含的每个成员都是由一个源数据库列和一个目标数据库列形成的组合,其每个成员都包含所述步骤S33中计算的权重矢量。5.根据权利要求4所述的数据列映射方法,其特征在于,步骤S5中:使用余弦相似度算法计算源数据库列与目标数据库列对应特征信息权重矢量之间的相似度,并对源数据库列和目标数据库列进行匹配判断。6.根据权利要求5...

【专利技术属性】
技术研发人员:陈磊
申请(专利权)人:武汉翼海云峰科技有限公司
类型:发明
国别省市:湖北,42

相关技术
    暂无相关专利
网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1