一种基于模式和实例的数据库匹配方法及系统的制作方法

文档序号:10687149阅读:288来源:国知局
一种基于模式和实例的数据库匹配方法及系统的制作方法
【专利摘要】本发明涉及一种基于模式和实例的数据库匹配方法及其系统,所述方法包括:导入源文件和目标文件;对文件进行解析及预处理;计算相似度;构建相似度矩阵,得到匹配结果;合并匹配结果;显示匹配结果。所述系统包括:预处理模块、相似度计算模块、模式生成模块以及文本生成模块。本发明提供的基于模式和实例的数据库匹配方法及系统,主要用于进行数据库表的模式匹配,方便进行数据迁移,能够得到源表和目标表之间的映射关系,在模式信息较少或不明确时,此方法结合分析了实例信息,能更准确地得到匹配结果;同时,通过遗传算法进行预处理,减少了数据集范围。
【专利说明】
一种基于模式和实例的数据库匹配方法及系统
技术领域
[0001] 本发明涉及计算机领域,具体的,涉及一种基于模式和实例的数据库匹配方法及 系统。
【背景技术】
[0002] 以往,在为了提高处理速度而在通信网络中配置了多个数据库装置的情况下,有 时存在以下问题:由于数据库装置的故障等而不能在数据库装置之间正常发送接收控制信 号,致使产生在数据库装置中存储的数据之间不匹配。
[0003] 模式匹配在许多应用中都起着关键作用,如数据仓库中的数据抽取过程需要将数 据源的数据按仓库的格式转换;电子商务信息交换的处理中的异构信息的映射;以及数据 集成中全局视图的构建。
[0004]模式匹配的目标是找出异构模式中实体之间的映射关系,目前模式匹配主要有基 于模式内部信息的模式匹配和基于大规模数据以及背景知识的模式匹配等两类。基于待匹 配模式内部信息的模式匹配的优点在于整合模式内聚信息,其局限性在于模式自身语义的 不完备;基于大规模数据以及背景知识的模式匹配方法充分利用了数据实例或以往的匹配 结果,但往往不具备通用性,并且学习数据较难获取。

【发明内容】

[0005] 为解决现有技术的不足,提供一种能得到更准确的匹配结果的模式匹配方法,本 发明提供了一种基于模式和实例的数据库匹配方法,包括如下步骤:
[0006] S1:导入源文件和目标文件;
[0007] S2:对源文件和目标文件进行解析及预处理;
[0008] S3:计算源文件和目标文件的相似度;
[0009] S4:根据相似度构建相似度矩阵,得到匹配结果;
[0010] S5:合并匹配结果;
[0011] S6:显示匹配结果。
[0012]其中,前述步骤S1中,导入的源文件和目标文件的格式为.xdr。
[0013]其中,前述步骤S2具体包括如下步骤:
[0014] S21:将解析好的数据保存到class中;
[0015] S22:对源文件和目标文件进行预处理,得到关于源文件和目标文件对应的图;
[0016] S23:读取源文件和目标文件的元素信息;
[0017] S24:根据步骤S23中的元素信息构造出树;
[0018] S25:将步骤S24中构造出的树显示在软件界面上。
[0019] 其中,前述步骤S21中,所述class包括Manager和Controller。其中,Class [0020] 代表JAVA的类,Manager和Controller分别是两个类的名称。其中,前述 [0021 ]步骤S22中,通过遗传算法对源文件和目标文件进行预处理。其中,前
[0022]述步骤S23中,所述元素信息包括路径及叶子节点。
[0023] 其中,前述步骤S3中,通过三种方法计算相似度:Jaccard系数算法、Levenshtein 算法以及Jaro-Winkler算法。
[0024]其中,前述步骤S4中,通过组合步骤S3中三种算法计算出的相似度得到相似度矩 阵。
[0025]本发明另外提供了一种基于模式和实例的数据库匹配系统,包括:
[0026]预处理模块,用于对导入的源文件和目标文件进行解析及预处理;
[0027] 相似度计算模块,与预处理模块连接,用于计算源文件和目标文件的相似度;
[0028] 模式生成模块,与相似度计算模块连接,用于组合相似度计算模块计算出的相似 度,从而得到相似度矩阵及匹配结果;
[0029] 文本生成模块,与模式生成模块连接,用于输出文本文件以方便查看匹配结果及 相似度。
[0030] 其中,前述相似度计算模块通过Jaccard系数算法、Levenshtein算法以及Jaro-Winkler算法计算相似度。
[0031 ]其中,前述预处理模块主要通过遗传算法对导入的源文件和目标文件进行解析及 预处理。
[0032] 本发明提供的基于模式和实例的数据库匹配方法及系统,主要用于进行数据库表 的模式匹配,方便进行数据迀移,能够得到源表和目标表之间的映射关系,在模式信息较少 或不明确时,此方法结合分析了实例信息,能更准确地得到匹配结果;同时,通过遗传算法 进行预处理,减少了数据集范围。
【附图说明】
[0033] 图1:本发明的基于模式和实例的数据库匹配方法的流程图;
[0034] 图2:本发明的基于模式和实例的数据库匹配系统的结构示意图;
[0035]图3:本发明的一个相似度矩阵图;
[0036] 图4:本发明所适用的复制情景的情景示意图;
[0037] 图5:本发明所适用的合并情景的情景示意图;
[0038] 图6:本发明所适用的分类情景的情景示意图;
[0039] 图7:本发明所适用的嵌套情景的情景示意图。
【具体实施方式】
[0040] 为了对本发明的技术方案及有益效果有更进一步的了解,下面配合附图详细说明 本发明的技术方案及其产生的有益效果。
[0041] 图1为本发明的基于模式和实例的数据库匹配方法的流程图,如图1所示,本发明 提供了一种基于模式和实例的数据库匹配方法,包括如下步骤:
[0042] S1:导入源文件和目标文件;
[0043] S2:对源文件和目标文件进行解析及预处理;
[0044] S3:计算源文件和目标文件的相似度,在计算源文件和目标文件的相似度时,主要 是计算相应的每条路径以及叶子节点等信息的相似度;如果实例信息差别很大,那么源文 件和目标文件对应的项的相似度很低;
[0045] S4:根据相似度构建相似度矩阵,得到匹配结果;图示的迭代过程即,首先使用一 种相似度算法计算出一种相似度后,回去再使用另一种算法计算的过程。
[0046] S5:合并匹配结果;
[0047] S6:显示匹配结果。
[0048]较优的,所述步骤S1中,导入的源文件和目标文件的格式为.xdr。
[0049] xdr是SunSoft的开放网络计算环境的一种功能。xdr提供了 一种与体系结构无关 的表示数据,解决了数据字节排序的差异、数据字节大小、数据表示和数据对准的方式。使 用xdr的应用程序,可以在异构硬件系统上交换数据。
[0050] xdr架构如下,例如
[0051]
[0052] 较优的,所述步骤S2具体包括如下步骤:
[0053] S2 1 :将解析好的数据保存到class中;较优的,所述class包括Manager和 Controller;
[0054] S22:对源文件和目标文件进行预处理,得到关于源文件和目标文件对应的图;其 中,每条路径的最后一个节点为实例信息;
[0055] 在实际操作中,可通过遗传算法对源文件和目标文件进行预处理,因此能够减少 数据集范围;
[0056] S23:读取源文件和目标文件的元素信息;具体的,所述元素信息包括路径及叶子 节点;
[0057] S24:根据步骤S23中的元素信息构造出树;
[0058] S25:将步骤S24中构造出的树显示在软件界面上。
[0059] 较优的,所述步骤S 3中,通过三种方法计算相似度:Ja c c a r d系数算法、 Levenshtein^'^ljl^.Jaro-ffinkler^^o
[0060] 较优的,所述步骤S4中,通过组合步骤S3中三种算法计算出的相似度得到相似度 矩阵。
[0061 ] 所述步骤S5中,匹配结果例如显示如下:
[0063] 图2为本发明的基于模式和实例的数据库匹配系统的结构示意图,如图2所示,本 发明另外提供了一种基于模式和实例的数据库匹配系统,包括:
[0064] 预处理模块,用于对导入的源文件和目标文件进行解析及预处理;
[0065] 相似度计算模块,与预处理模块连接,用于计算源文件和目标文件的相似度;
[0066] 模式生成模块,与相似度计算模块连接,用于组合相似度计算模块计算出的相似 度,从而得到相似度矩阵及匹配结果,利用相似矩阵得到最终匹配的映射;
[0067] 文本生成模块,与模式生成模块连接,用于输出文本文件以方便查看匹配结果及 各项相似度评分。
[0068] 具体的,预处理模块可实现上述步骤S1和步骤S2的操作;相似度计算模块可实现 上述步骤S3的操作;模式生成模块可实现上述步骤S4的操作;文本生成模块可实现上述步 骤S5及S6的操作。
[0069] 较优的,所述预处理模块主要通过遗传算法对导入的源文件和目标文件进行解析 及预处理。
[0070] 预处理模块读取导入的源文件和目标文件的元素信息,然后构造出树,并在软件 界面上显示,并将解析后的文件保存到SaveToGraphThread类中。
[0071 ] 较优的,所述相似度计算模块通过Jaccard系数算法、Levenshtein算法以及Jaro- Winkler算法计算相似度。
[0072]具体的,所述三种算法的具体计算公式及方法如下:
[0073] 1、Jaccard系数算法公式
[0074]元素的取值可以是实数。又称为Tanimoto系数,用EJ来表示,
[0075]计算方式如下:
[0076] EJ(A,B) = (A*B)/( | |A| |~2+| |B| |~2-A*B)
[0077] 其中,A、B分别是两个向量,集合中每一个元素都表示向量中的一个维度,在每个 维度上,取值通常是0到1之间的值,A*B表示向量的乘积,| |A| |~2表示向量的模,即| |A| |~2 = sqrt(al '2+a2'2+a3'2+......) 〇
[0078] J accard distance(A,B)=l-Jaccard(A,B)
[0079] 2、Levenshtein 算法
[0080]编辑操作包含删除,增加,一比一的替换。
[0081] 取两个字符串的长度中的最大值,用编辑操作/字符串长度最大值,相似度为1-(编辑操作/字符串长度最大值)
[0082] 例如chane和chakre-个操作,长度为6,所以相似度为1 -2/6 = 0.666。
[0083] 3、The Jaro-Winkler
[0084] The Jaro Winker距离是由Winkler首先提出的,它是一种计算字符串之间相似度 的算法。Jaro-Winkler距离算法最后得到的评分越高就表示相似度更高
[0086]其中,si,s2是两个要比对的字符串,Dj为最后得分,m是匹配的字符数,t是换位的 数目
[0087]匹配窗口计算公式:
[0089] Dw = Dj+L*P*(l_Dj)//公式三
[0090] Dw为jaro winlker距离Dj为公式一,P为前缀范围前缀相同部分长度为L。
[0091] 具体的,在相似度计算模块中得到了各属性对之前的相似度评分,在模式生成模 块中利用相似度矩阵来储存相似度。
[0092] 图3为本发明的一个相似度矩阵图(利用数组存放),如图3所示,相似度取上一个 模块中三个算法的加权平均,提高容错率。在生成映射前输定阈值为将矩阵中元素值小于 阈值的元素设为〇。相似度大于阈值的匹配对,我们认为它为匹配项的可能性较大。确定匹 配项后将在工具上对匹配项进行连线。
[0093] 图4-图7分别为本发明所适用的四种情景的情景示意图,如图4所示,为本发明所 适用的复制情景的情景示意图,复制情景是模式匹配中最普遍的一种场景,它将源模式中 的属性直接复制到目标模式中。
[0094] 如图5所示,为本发明所适用的合并情景的情景示意图,合并场景也是模式匹配中 比较熟悉的一种场景,它将源模式中多个关系表中的几个类型差不多的属性合并到目标模 式中的相关属性中。
[0095] 如图6所示,为本发明所适用的分类情景的情景示意图,分类情景是合并场景的一 个反向过程,它指的是源模式中一个关系表的相关属性元素分类到到目标模式中多个关系 表的属性元素中。
[0096] 如图7所示,为本发明所适用的嵌套情景的情景示意图,嵌套情景是模式匹配中很 常见的一种情景,意思是在源模式中具有主外键关系的多个关系表的元素映射到目标模式 中同一个模式元素。如图7所示,Article关系表的AuthorlD字段与Author表的ID字段是外 键关系,在匹配过程中需要将其映射到目标模式的Author表的ID中。
[0097] 综上,本发明提供的基于模式和实例的数据库匹配方法及系统,主要用于进行数 据库表的模式匹配,方便进行数据迀移,能够得到源表和目标表之间的映射关系,在模式信 息较少或不明确时,此方法结合分析了实例信息,能更准确地得到匹配结果;同时,通过遗 传算法进行预处理,减少了数据集范围。
[0098]虽然本发明已利用上述较佳实施例进行说明,然其并非用以限定本发明的保护范 围,任何本领域技术人员在不脱离本发明的精神和范围之内,相对上述实施例进行各种变 动与修改仍属本发明所保护的范围,因此本发明的保护范围以权利要求书所界定的为准。
【主权项】
1. 一种基于模式和实例的数据库匹配方法,其特征在于,包括如下步骤: S1:导入源文件和目标文件; S2:对源文件和目标文件进行解析及预处理; S3:计算源文件和目标文件的相似度; S4:根据相似度构建相似度矩阵,得到匹配结果; S5:合并匹配结果; S6:显示匹配结果。2. 如权利要求1所述的基于模式和实例的数据库匹配方法,其特征在于,所述步骤S1 中,导入的源文件和目标文件的格式为.xdr。3. 如权利要求1所述的基于模式和实例的数据库匹配方法,其特征在于,所述步骤S2具 体包括如下步骤: S21:将解析好的数据保存到class中; S22:对源文件和目标文件进行预处理,得到关于源文件和目标文件对应的图; S23:读取源文件和目标文件的元素信息; S24:根据步骤S23中的元素信息构造出树; S25:将步骤S24中构造出的树显示在软件界面上。4. 如权利要求3所述的基于模式和实例的数据库匹配方法,其特征在于,所述步骤S21 中,所述class包括Manager和Controller。5. 如权利要求3所述的基于模式和实例的数据库匹配方法,其特征在于,所述步骤S22 中,通过遗传算法对源文件和目标文件进行预处理。6. 如权利要求3所述的基于模式和实例的数据库匹配方法,其特征在于,所述步骤S23 中,所述元素信息包括路径及叶子节点。7. 如权利要求1所述的基于模式和实例的数据库匹配方法,其特征在于,所述步骤S3 中,通过三种方法计算相似度:Jaccard系数算法、Levenshtein算法以及Jaro-Winkler算 法。8. 如权利要求7所述的基于模式和实例的数据库匹配方法,其特征在于,所述步骤S4 中,通过组合步骤S3中三种算法计算出的相似度得到相似度矩阵。9. 一种基于模式和实例的数据库匹配系统,其特征在于,包括: 预处理模块,用于对导入的源文件和目标文件进行解析及预处理; 相似度计算模块,与预处理模块连接,用于计算源文件和目标文件的相似度; 模式生成模块,与相似度计算模块连接,用于组合相似度计算模块计算出的相似度,从 而得到相似度矩阵及匹配结果; 文本生成模块,与模式生成模块连接,用于输出文本文件以方便查看匹配结果及相似 度。10. 如权利要求8所述的基于模式和实例的数据库匹配系统,其特征在于,所述相似度 计算模块通过Jaccard系数算法、Levenshtein算法以及Jaro-Winkler算法计算相似度。11. 如权利要求8所述的基于模式和实例的数据库匹配系统,其特征在于,所述预处理 模块主要通过遗传算法对导入的源文件和目标文件进行解析及预处理。
【文档编号】G06F17/30GK106055652SQ201610380637
【公开日】2016年10月26日
【申请日】2016年6月1日
【发明人】兰雨晴, 解刚, 顾迪华
【申请人】兰雨晴
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1