一种基于唯一标识的数据集成和交换方法

文档序号:6506788阅读:311来源:国知局
一种基于唯一标识的数据集成和交换方法
【专利摘要】本发明涉及信息【技术领域】,具体公开了一种基于唯一标识的数据集成和交换方法;包括:对需要进行集成、交换和共享的业务建立数据元管理模型,并对所述数据元管理模型内的每一个数据项进行唯一标识;将数据元管理模型中标识与多源异构数据库字段进行映射;根据标识所对应的字段生成相应的目标SQL语句;访问多源异构数据库,执行目标SQL语句,返回结果集;采用融合算法对结果集进行融合处理。本发明可以有效识别并融合异构数据源中存在的冲突实例,可以在更高层次上提高数据集成/数据融合的效果;有效的提高了数据交换和集成的准确性,大大提高了数据集成和交换的效率。
【专利说明】一种基于唯一标识的数据集成和交换方法

【技术领域】
[0001]本发明涉及信息【技术领域】,尤其是涉及一种基于唯一标识的数据集成和交换方法。

【背景技术】
[0002]数据共享:是每个信息系统建设共同的目标,可以使更多的人更充分的使用已有数据资源,减少资料收集、数据采集等重复劳动和相应费用,而把精力重点放在开发新的应用程序及系统集成上。
[0003]传统的数据共享技术概括起来,有以下特征:①仅支持数据模型间的基本几何要素映射,一般仅支持简单的点、线概念;②传统属性(非图形)数据单独处理;③未定义元数据,即使定义了元数据也是建立在对共享数据直接映射基础上的应用,如数据资源目录和注册管理信息等,也仅作为数据索引加以引用,并没有本质提升输入数据与输出模型要求一致。
[0004]目前多源异构数据共享主要面临如下困难:①可实现性,是指用户获取数据的难易程度;由于多源异构数据结构复杂多样,数据传输的工作量较大,用户只能通过网络来获取多源异构数据资源。而以往大量的应用数据是针对单机或局域网开发的,这样就产生了大量不可在互联网上直接访问的遗留型数据资源,如何在互联网上对这些资源的访问需要考虑,如何弥合多源异构数据和互联网之间的鸿沟,如何利用互联网协议传输多源异构数据;用户如何在互联网上找到该系统,通过该系统访问到遗留型多源异构数据;用户得到的多源异构数据的格式如何,能否直接应用或经转换后应用,目前还没有有效的解决方案。②互操作性,是指用户理解数据的难易程度;由于不同产品的开发与商业策略差异,造成了不同的应用数据之间边界分明,用户难以理解和使用多源异构数据。多源异构数据互操作的关键就是解决多源异构数据异构问题,而数据具有语法和语义,如何分层次讨论数据异构问题,以及解决在互联网环境中考虑语法差异、语义差异和融合差异的问题,目前还没有有效的解决方案。③易用性,是指用户处理多源异构数据的简易程度;很多多源异构数据产品都提供了二次开发平台以便用户构造自己的应用以满足各种需求;在互联网环境中应用的构造方法也从单机单任务模式扩展到了多任务分布计算模式,潜在的用户市场不可能被少数厂商垄断,而且也很难针对特定应用提供服务,这就需要开放的数据处理框架提供数据要素与服务要素,然后通过要素之间的整合应用完成任务,目前还没有有效的解决方案。
[0005]数据交换:是指在不同的软件和操作系统之间使用网络以及那些特殊的设备等硬件进行数据移动的过程。各个系统间实现业务协作,互联互通以及数据共享在企业异构数据系统中,其主要解决方法就是通过数据交换技术。
[0006]目前已知的数据交换方案存在的缺陷如下:①针对具体应用编制且配置复杂;②灵活性和通用性低;③异构适应能力低。异构性,是数据集成必须面临的首要问题,其主要表现在两个方面:系统异构,数据源所依赖的应用系统、数据库管理系统乃至操作系统之间的不同构成了系统异构;模式异构,数据源在存储模式上的不同,包括结构化和非结构化的。实现异构数据库的数据交换需要考虑数据的透明访问与异构数据转换的问题,目前还没有有效的解决方案。
[0007]数据中心:标志着IT应用的规范化和组织化。如今各种数据中心已经成为如交通、能源一样的经济基础设施。随着数据中心规模和密度的急剧扩大,人类社会在得益于数据中心的同时,也受到利用传统技术建立起来的庞大数据中心在成本、因变速度、能源消耗等方面的种种困扰。
[0008]传统数据中心的管理存在着如下缺陷:①利用率低,灵活性差;②可扩展性差烟囱式管理成本高,能耗加剧。
[0009]数据融合:是指利用计算机对按时序获得的若干观测信息,在一定准则下加以自动分析、综合,以完成所需的决策和评估任务而进行的信息处理技术。该技术的核心问题是针对不同的环境选择合适的融合算法,由于信息的多样性和复杂性,数据融合算法要求具有鲁棒性和并行处理能力,目前的融合算法都无法适合信息的多样性和复杂性。
[0010]唯一标识:国内大型数字期刊生产商都不同程度的使用了唯一标识符。例如,万方数据、清华同方和重庆维普等都采用了各自的唯一标识符方案。此外,其他类型的数字资源生产商,如方正Apabi电子图书同样使用了唯一标识符。作为人类社会的伴生物,它的悠久历史和重要程度,远远超过我们通常的认识。作为视觉识别的标识已取得广泛应用,作为信息识别的标识目前还没有很好的得到普遍应用。
[0011]同国外相比,国内唯一标识符的应用仍处于初级阶段,主要存在下述缺陷:①国内的自定义唯一标识符作用仅仅是数字对象的唯一编号,唯一标识符的制定和使用缺少规范,各个数字文献生产商使用的唯一标识符各异,没有形成统一的规范标准;②唯一标识符仅在各自资源范围内发挥作用,一旦脱离各自的数据库,其唯一标识符便不能揭示文献的任何特征;③唯一标识符的应用层次比较低,其作用仅限于对内部数字对象的标识,与唯一标识符应用相关的解析系统和管理机制也没有建立起来,无法实现各个数字文献生产商的资源共享;④唯一标识无层级关系,对于所有数据采用统一的标识方式,无法体现数据之间的层级和关系。
[0012]整合分布异构数据资源、实现数据共享,为管理决策提供更加完整和可靠的数据服务支持,是当前及未来各领域深化信息系统建设发展的重要课题和方向。从各种分布、异构数据源中抽取数据,并进行数据变换、数据合并、数据融合和数据分发等处理工作,则是数据集成处理的一项最基本任务。建立一个相对静态的集成环境,对用户提供统一的信息存取接口,是目前常用的数据集成方法。无论哪一种集成方法,异构性是数据集成面临的首要问题,主要表现在两个方面:系统异构,数据源所依赖的应用系统、数据库管理系统乃至操作系统之间的不同构成了系统异构;模式异构,数据源在存储模式上的不同,可能是结构化的,也可能是非结构化的;即使是结构化的数据源,其数据结构和存取模式也会不同。实现异构数据集成主要需要解决数据的透明访问、数据在语法、语义和结构上的异构以及其异构数据转换的问题。
[0013]传统的异构数据集成方法可以分为两种:1)模式集成方法,主要是利用自定义的全局模式(标准数据模型),提供一个所有异构数据源的虚拟视图(数据映射字典),数据既可以保留在数据源处,也可以集中存放在数据交换中心,该方法由于其灵活性和典型性,成为数据集成的常用方法。2)物化处理方法,主要是建立中心数据库,将各个数据源的数据复制到数据中心,其优点是容易获得较好的集成查询性能,但不能灵活的适应需求变化。
[0014]以上两种方法在技术实现上多采用“基于数据结构直接映射的数据匹配集成/交换技术”,虽然基本能够满足对异构数据源的统一查询接口,但对于定义多源分布式异构数据同步集成/交换处理需求,此法会变得异常复杂,导致很多方面难以满足应用要求,且很难达到多源数据融合服务要求。
[0015]如何将数据标识转换成语义网络,利用语义网络实现业务数据的统一描述和自动集成处理,主要表现在以下方面:①业务数据的描述方法,针对各部门的业务数据,因业务标准的不一,描述的方式会千差万别。②数据对象的统一表示,由于数据结构差异化,数据对象的表示有多种方式,使得数据集成过程复杂多样。③唯一标识的规范,唯一标识的制定和使用缺少规范,因此需要制定一种统一的标识方法与处理规则。
[0016]目前还没有数据集成和交换方法来有效的解决上述问题。


【发明内容】

[0017]本发明所解决的技术问题是提供一种基于唯一标识的数据集成和交换方法,本发明在深入研究国内外数据集成/转换常用方法的基础上,提出了一种基于6W原则的唯一标识,在6个方向上针对数据、信息、知识、接口等内容,从4个层级(系列、集合、实体、子集)同时对数据集关键属性进行网格化唯一标识,并利用标识所具有的多维矩阵计算特征,对每个层级每个方向都进行了唯一性规范和符号化处理,要求每一层级的标识加上父级标识都不允许重复。本发明解决了数据源在存储模式上的不同、业务数据描述问题、数据对象的唯一表示以及唯一标识的规范问题,由于本发明采用唯一性标识中的4层6向网格化数据融合快速计算方法,允许系统在6个方向上同时对不同来源数据进行融合处理,为不同诉求的数据共享/集成/交换/融合的计算处理方法提供了技术支持,实现了多源异构数据之间的数据、信息、知识和服务的全面集成、交换和融合,并可将该方法应用到数据集成/转换/融合处理系统中,改善对异构数据进行自动合并处理的实用性。此方法可以有效识别并融合异构数据源中存在的冲突实例,可以在更高层次上提高数据集成/数据融合的效果;有效的提高了数据交换和集成的准确性,大大提高了数据集成和交换的效率。
[0018]为了解决上述技术问题,本发明提供了一种基于唯一标识的数据集成和交换方法;包括:
[0019]步骤一、建立数据元管理模型:对需要进行集成、交换和共享的业务建立数据元管理模型,并对所述数据元管理模型内的每一个数据项进行唯一标识;
[0020]步骤二、字段和标识映射:将所述数据元管理模型中的所述标识与多源异构数据库中字段进行映射;
[0021]步骤三、自动转换SQL:根据所述标识映射的所述字段生成相应的目标SQL语句;
[0022]步骤四、目标SQL执行并返回结果:访问所述多源异构数据库,执行所述目标SQL语句,返回结果集;
[0023]步骤五、多源数据结果融合:采用融合算法对所述结果集进行融合处理。
[0024]优选的,所述步骤一中,建立所述数据元管理模型包括步骤如下:
[0025]①访问业务模型库,或者根据业务场景手动录入业务模型,对通过访问元数据库中的描述异构源数据库的部分,分析各个数据库的数据结构,生成数据元管理模型的树形结构;
[0026]②制定划分树形结构的规则,包括:不同的领域对象划分为一个系列;同一所述系列下具有相同属性的业务划分为一个集合;同一所述集合下不同活动划分为不同的实体;所述同一活动下其他子活动划分为子集;所述多源异构数据库中的所述字段划分为字符,所述多源异构数据库中的表字段划分为属性或特性;
[0027]③根据划分规则对所述业务进行划分,根据已经制定的所述树形结构的规则对生成的树形结构进行判断,依次将相应的业务数据进行唯一标识描述,简化的标识对应关系,任何一个领域中的对象的都用一个唯一标识描述;
[0028]④所述划分结束后,则异构数据交换数据元模型建成,将所述模型保存到数据元模型库中。
[0029]更加优选的,所述步骤二中,所述字段中和所述数据元管理模型中定义的所述标识的数据类型、单位和意义完全一样的做直接映射,所述字段中和所述数据元管理模型中定义的所述标识的数据类型、单位和意义不同的进行额外处理,所述额外处理是添加额外交换规则,用来指导交换程序进行处理。
[0030]更加优选的,所述额外交换规则包括:码表转换规则、默认值规则、别名规则、替换规则、条件规则、筛选规则、冗余列和计算公式,所述额外交换规则中的每种规则只处理一种交换情况的字段,当处理包含有两种或者两种以上交换情况的所述字段时,则根据所述交换情况将对应的所述额外交换规则组合起来描述一个字段,直到所述字段与所述标识映射完成。
[0031]更加优选的,所述步骤一中,在对所述业务模型内的每一个数据项进行唯一标识时,所述数据项包括对象、活动和属性;所述数据项还分为Μ类、C类和0类,所述Μ类数据项为确定数据唯一性的标识且为必填项,所述C类数据项为条件必选项,所述0类数据项的标识为可选项,所述C类数据项和所述0类数据项均为非必填项。
[0032]更加优选的,所述步骤一中,所述数据元管理模型构建的规则是:根据业务域分成不同的系列,每个系列内的业务报表按照业务分类以及对象不同分成不同的集合,所述集合再分成实体,即业务报表;所述实体再分成子集,即所述业务报表内的子表格;每一个所述集合至少含有一个Μ类实体,即基础的所述业务报表。
[0033]更加优选的,所述步骤三中,所述自动转换SQL包括select转换、delete转换、insert 和 update 转换。
[0034]更加优选的,所述select转换包括步骤如下:
[0035]①把源SQL中字段名根据上一节做的映射关系,进行一一替换,把SQL转换成基于标识的SQL ;
[0036]②基于标识SQL去掉叶子节点,留下所述叶子节点隶属的对象,所述对象包括系列、集合、实体和子集,将所述对象进行合并,保留不同的所述对象;
[0037]③将所述对象标识按从小到大的顺序进行排序,并对应添加所述对象对应的对象表,将所述对象表分别重新命名;
[0038]④依次把相邻的两个所述对象建立自连接,自连接的条件是两个所述对象中具有相同的所述Μ类数据项,其中,所述Μ类数据项是指数据唯一性的数据字段;
[0039]⑤将所述对象表中主键和目标库中表的主键建立连接,使所述对象表中记录和物理表建立起连接,形成完整的记录;
[0040]⑥将基于标识的SQL转换成目标库中的字段,生成目标库脚本,在目标库中查询所述目标库脚本。
[0041]更加优选的,所述Delete转换包括步骤如下:
[0042]①Delete转换主要用于进行不同数据库之间数据删除,若A库为源库,B库为目标库,现在将所述A库中的表A1数据删除相应的记录,此时B库对应的表也删除相应记录;
[0043]②构造删除所述表A1记录的Delete SQL,转换时,通过所述A库与所述B库模型映射,根据表名和字段,获取对应的需要删除的目标表集合;
[0044]③根据所述目标表之间的关系,依次处理所述目标表,调用所述select转换,根据源表名称、目标表名称,得到需要删除的记录的rowid或者主键,构造目标表的deleteSQL语句,并同时处理各种约束和规则,将所有所述目标表的delete SQL语句封装到过程;
[0045]④多线程批量执行过程,完成数据删除;
[0046]其中,删除数据时,删除语句的顺序不能变更,即先从子表进行删除,再删除所述子表的父表。
[0047]更加优选的,所述insert转换和所述update转换包括步骤如下:
[0048]①insert转换和update转换主要用于进行不同数据库之间数据同步,若A库为源库,B库为目标库,将所述A库中的表A1数据同步到所述B库对应的表;
[0049]②查询所述表A1的数据,循环记录,并同时将每条记录构造成insert/updateSQL语句;
[0050]③获取insert/update SQL的列名称及对应的值,分别存储,循环列名称及值,通过所述A库与所述B库的模型映射找到每个列对应的目标表及与该表对应的目标列,然后存储目标表集合;
[0051]④根据所述目标表之间的关系,依次处理所述目标表,构造所述目标表的insert/update SQL语句,并处理过程中各种约束和规则,直到所有的所述目标表处理完成,将所有目标表的insert SQL语句封装到过程;在构造insert/update SQL语句的同时,构造select语句和update语句,查询所述目标表中是否存在要同步的记录,若存在,则更新对应的记录,否则,插入记录;
[0052]⑤多线程批量执行所述步骤④生成的所述SQL语句,完成数据导入和更新;
[0053]其中,当插入或者修改数据时,操作的顺序不能随意变更,即先从父表进行操作,再对其子表操作。
[0054]更加优选的,所述步骤四中,当执行所述目标SQL语句时,根据所述目标SQL语句的类型进行判断,根据所述类型给予对应的处理。
[0055]更加优选的,所述对应的处理包括:对于select句型,执行完之后,返回查询结果,对于delete句型以及insert和update句型,执行完之后,返回操作成功或者操作失败的提示。
[0056]更加优选的,所述步骤五中,所述融合处理包括步骤如下:
[0057]①所述数据的采集,采集的所述数据为所述步骤四中的所得到的所述结果集;
[0058]②数据预处理,将采集到的所述数据转换统一成数据元管理模型中定义的格式,再根据字段和唯一标识的映射规则,对所述数据的结果进行组合,从而得到有条理有层次的信息;
[0059]③数据融合计算,采用改进的D-S证据理论方法对所述信息进行融合,包括:首先把针对结果集中的所述信息逐个取出,与数据元管理库中的对应结果进行匹配,为匹配成功的结果分配相应的权值,所述权值是结果进行基本可信度分配,依此分配计算,直到匹配结果集合的所有的匹配成功的所述结果都分析完,则得到最终的结果;
[0060]④输出所述最终的结果。
[0061]其中,所述Μ类表示必选(Mandatory);所述C类表示条件必选(Condit1nal);所述0类表示可选(Opt1nal)。
[0062]其中,所述SQL是结构化查询语言(Structured Query Language)的缩写,结构化查询语言是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;同时也是数据库脚本文件的扩展名。结构化查询语言是高级的非过程化编程语言,允许用户在高层数据结构上工作。它不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,所以具有完全不同底层结构的不同数据库系统可以使用相同的结构化查询语言语言作为数据输入与管理的接口。结构化查询语言语句可以嵌套,这使他具有极大的灵活性和强大的功能。
[0063]其中,所述D-S(Dempster-Shafer)证据理论是由Dempster于1967年首先提出,由他的学生shafer于1976年进一步发展起来的一种不精确推理理论,也称为Dempster/Shafer证据理论(D_S证据理论)。D_S证据理论是对传统的贝叶斯理论的重要推广,它用信任区间代替概率,用集合表示命题(事件),用Dempster组合规则代替贝叶斯公式来更新信任函数。作为一种不确定推理方法,证据理论的主要特点是:满足比贝叶斯概率论更弱的条件;具有直接表达“不确定”和“不知道”的能力。
[0064]本发明与现有技术相比,具有如下有益效果:
[0065]①一次描述
[0066]基于唯一标识的实现,实现了数据资源的统一集中管理,面对分散、多来源、多类型的元数据数据、对象数据,本系统要能够实现对这些数据的标识,对所标识的数字对象而言,相当于人的身份证,具有唯一性。保证了在网络环境下对数字化对象的准确提取,有效的避免重复冗余的工作,大大提高数据库利用效率,使得数据集成和交换效率大大提高。
[0067]唯一标识的特性是一次描述,这一特性避免并且解决了多重规则和标准不统一的问题。是建立完整标准体系的基础,为数据集成和交换提供了完整性,准确性,高效性的保证。
[0068]②规范VS脚本
[0069]解决了数据清洗、汇总、别名和替换的问题;
[0070]唯一标识的重点是制定统一规范的规则,规则制定包括了规则划分,访问数据库,根据划分规则对业务进行描述等等。按照规则所处理的数据,据有统一的数据结构,将多源同类的数据进行规范统一输出,不仅完成了数据清洗的工作,还解决了汇总以及别名替换的问题。
[0071]③健壮性
[0072]因为建立了统一的规则,并且每个规则都映射了唯一标识,最大程度的减少了系统中的奇异性,有效的提高了数据交换和集成的准确性。在异构数据的适宜性反面,也有着足够的优势,只要有规则就能完成数据的集成和交换,大大提高了系统的通用性。
[0073]本发明基于唯一标识实现数据资源的统一集中管理,使得分散的、多源的异构数据的访问更为规范,另外,唯一标识的应用保证了对数字化对象的准确提取,有效的避免重复冗余的工作,大大提高数据库利用效率,使得数据集成和交换效率大大提高,在一定程度上减少了数据清洗的复杂度。元数据的应用,优化了异构数据库的访问,使得访问更为透明。
[0074]本发明在深入研究国内外数据集成/转换常用方法的基础上,提出了一种基于6W原则的唯一标识,在6个方向上针对数据、信息、知识、接口等内容,从4个层级(系列、集合、实体、子集)同时对数据集关键属性进行网格化唯一标识,并利用标识所具有的多维矩阵计算特征,对每个层级每个方向都进行了唯一性规范和符号化处理,要求每一层级的标识加上父级标识都不允许重复。本发明解决了数据源在存储模式上的不同、业务数据描述问题、数据对象的唯一表示以及唯一标识的规范问题,由于本发明采用唯一性标识中的4层6向网格化数据融合快速计算方法,允许系统在6个方向上同时对不同来源数据进行融合处理,为不同诉求的数据共享/集成/交换/融合的计算处理方法提供了技术支持,实现了多源异构数据之间的数据、信息、知识和服务的全面集成、交换和融合,并可将该方法应用到数据集成/转换/融合处理系统中,改善对异构数据进行自动合并处理的实用性。此方法可以有效识别并融合异构数据源中存在的冲突实例,可以在更高层次上提高数据集成/数据融合的效果;有效的提高了数据交换和集成的准确性,大大提高了数据集成和交换的效率。

【专利附图】

【附图说明】
[0075]图1示例性的示出了基于唯一标识的数据集成和交换方法总体框架示意图;
[0076]图2示例性的示出了基于唯一标识的数据集成和交换方法流程示意图;
[0077]图3示例性的示出了按照6W原则建立的数据交换数据元模型结构示意图;
[0078]图4示例性的示出了按照6W原则建立的数据交换数据元模型构建示意图;
[0079]图5示例性的示出了数据集成和交换方法中唯一标识示意图;
[0080]图6示例性的示出了数据集成和交换方法中SQL转换过程示意图;
[0081]图7示例性的示出了数据集成和交换方法中数据融合过程示意图。

【具体实施方式】
[0082]为了更好的理解本发明所解决的技术问题、所提供的技术方案,以下结合附图及实施例,对本发明进行进一步详细说明。此处所描述的具体实施例仅用以解释本发明的实施,但并不用于限定本发明。
[0083]本发明设计主要是为了解决异构数据库之间进行数据集成、转换、融合和共享服务,如图1所示,目的是屏蔽底层数据库种类、数据管理模式、数据存取方式、数据库物理结构以及数据库访问实体的名称等属性信息。
[0084]在优选的实施例中,图2示例性的示出了一种基于唯一标识的数据集成和交换方法流程图;包括:
[0085]①建立数据交换数据元模型:把需要进行集成、交换和共享的数据涉及到的业务逻辑,按照6W原则建立的数据交换数据元模型,该模型结构如图2,其中主要包括属性名称、属性代码、属性类型、属性标识、值域、来源/计算、约束条件、非空值、重复次数等字段列,其中属性标识就是唯一标识列;
[0086]②字段和标识映射:对需要进行集成交换的数据库,利用数据元模型建立的唯一标识进行描述,把数据库中的需要交换字段和唯一标识进行映射,对于某些特例需要借助交换规则才能完成交换;
[0087]③自动转换成目标SQL:将数据源访问逻辑转换成目标数据库数据访问逻辑(SQL或存储过程),根据所提供标识所对应的字段,生成相应的目标SQL语句;
[0088]④执行目标SQL,返回结果:执行目标SQL语句,返回结果集;
[0089]⑤多源数据结果融合:采用D-S证据理论方法对所述结果集进行融合处理。
[0090]在更加优选的实施例中,建立数据交换数据元模型包括:
[0091]异构数据交换数据元模型的目标是通过树形结构,用系列、集合、实体、子集、属性和特性(后两种对象在表现形式上为字符、数字、日期、Blob、Clob)对业务进行描述,并对这些结构的节点进行唯一标识,如:系列为根节点标识为1,系列下的叶子节点标识为1.1按递增排序,子节点的标识为上级节点标识加”加上本节点的标识,如图3所示,为对应丰吴型关系。
[0092]在更加优选的实施例中,数据交换数据元模型的构建整体思路如图4所示,包括:
[0093]1、访问业务模型库,
[0094]访问业务模型库,或者根据业务场景手动录入业务模型,对通过访问元数据库中的描述异构源数据库的部分,分析各个数据库的数据结构,生成数据元管理模型的树形结构,以便进行下一步的处理;
[0095]2、设定划分规则,
[0096]制定划分树形结构的规则,分别是:依据不同的领域对象划分为系列;同一系列下具体有相同属性的业务划分为一个集合;同一集合不同活动划分为不同的实体;活动下有其他子活动的则划分为子集;而数据库的表字段划分为属性或者特性;
[0097]在更加优选的实施例中,根据划分规则对业务进行描述,包括:
[0098]根据已经制定的规则对生成的树形结构进行判断,依次对相应的业务数据进行唯一标识描述,简化的标识对应关系如图5所示,任何一个领域对象的都用一个唯一标识描述;
[0099]划分结束后,则异构数据交换数据元模型建成,把模型保存到数据元模型库中。
[0100]在更加优选的实施例中,字段和标识映射包括:
[0101]异构数据元模型建好后,则进入数据库中字段和标识映射步骤。对于大多数的字段,直接和标识做映射就可以交换了。有些字段需要额外处理,主要是添加某些交换规则,用来指导交换程序进行相应处理,主要包含规则有:码表转换规则、默认值规则、别名规则、替换规则、冗余列和计算公式等等,每种规则处理一种情况,这些规则也可以综合起来描述一个字段,处理比较复杂的交换情况。
[0102]对于规则部分的管理,采用动态加载的方法实现,如果有无法处理的情况,可以根据具体情况添加新的规则处理类,这样扩大了平台服务的适应性。
[0103]在更加优选的实施例中,自动转换成目标SQL包括:
[0104]根据字段和唯一标识映射关系,以及交换规则把源SQL(包括select、delete、update、insert和存储过程等)转换成目标库可以执行的SQL。转换过程如图6所示。
[0105]SQL的转换主要分为select转换、delete转换、insert和update转换和存储过程转换,具体包括:
[0106]1、select 转换
[0107]①把源SQL中字段名根据上一节做的映射关系,进行一一替换,把SQL转换成基于标识的SQL。
[0108]②基于标识SQL去掉叶子节点,留下该节点隶属的系列、集合、实体和子集,把这些对象进行合并,只保留不同的对象;把这些对象标识按从小到大的顺序进行排序;依次把相邻的两个对象建立自连接,自连接的条件是两个对象中相同的Μ列,其中,Μ列是指数据唯一性的数据字段。
[0109]③把对象表中主键和目标库中表的主键建立连接,这样对象表中记录就和物理表建立起连接,形成完整的记录。
[0110]④把SQL中的标识的转换成目标库中的字段,生成目标库脚本,就可以在目标库中进行查询了。
[0111]2、delete 转换算法
[0112]①delete转换主要用于进行不同数据库之间数据删除。假设A(源库),B(目标库),现在将A库中的表A1数据删除相应的记录,此时B库对应的表也应该删除相应记录。
[0113]②构造删除A1记录的delete SQL,转换时,通过A与B模型映射,根据表名和字段,获取对应的需要删除的目标表集合。
[0114]③根据目标表之间的关系,依次处理目标表,调用select,根据源表名称、目标表名称,得到需要删除的记录的rowid或者主键,构造该表的delete SQL语句,在此过程中处理各种约束和规则,将所有目标表的delete SQL语句封装到过程。
[0115]④多线程批量执行过程,完成数据删除。
[0116]注意,由于删除数据时,需要先从子表进行删除,再删除其父表,因此,删除语句的顺序不能变更。
[0117]3、insert 和 update 转换算法
[0118]①insert/update转换主要用于进行不同数据库之间数据同步。假设A (源库),B(目标库),现在将A库中的表A1数据同步到B库对应的表。
[0119]②查询A1表数据,循环记录,在此过程中,将每条记录构造成insert/update SQL语句。
[0120]③获取insert/update SQL的列名称及对应的值,分别存储,循环列名称及值,通过A与B的模型映射找到每个列对应的目标表及与该表对应的目标列,然后存储目标表集入口 ο
[0121]④根据目标表之间的关系,依次处理目标表,构造该表的insert/updateSQL语句,并处理过程中各种约束和规则,直到所有目标表处理完成,将所有目标表的insert SQL语句封装到过程。在构造insert/update SQL语句的同时,构造select、update语句,查询目标表中是否存在要同步的记录,如果存在,则更新对应的记录,否则,插入记录。
[0122]⑤多线程批量执行第四步生成的SQL过程,完成数据导入/更新。
[0123]由于插入或者修改数据时,需要先从父表进行操作,再对其子表操作,因此,操作的顺序不能随意变更。
[0124]在更加优选的实施例中,存储过程的转换算法包括:
[0125]存储过程转换算法主要是依赖以上转换算法,对应其他语法的脚本例如变量定义、赋值、分支、循环、游标操作、异常处理等等,保持原来的脚本,只需要转换成目标库中支持的关键字,只要把遇到的select、insert、update和delete语句按上面方法进行转换即可。
[0126]在更加优选的实施例中,执行目标SQL,返回结果,包括:
[0127]在目标库中执行上一节中所生成的结果脚本。在执行结果脚本时,需要根据脚本的类型进行判断,根据类型给予对应的处理。对于select句型,执行完之后,返回查询结果,对于delete句型以及insert和update句型,执行完之后,返回操作成功或者失败的提
/j、l Ο
[0128]在更加优选的实施例中,多源数据结果融合包括:
[0129]多源数据结果融合主要是针对上一节中进行执行了 select语句的查询结果进行处理的过程,以下重点介绍多源数据结果融合的步骤,如图7所示为数据融合过程。
[0130]①数据采集,采集的数据为来自上一节中所得到的数据结果;
[0131]②数据预处理,将采集到的数据转换成统一的格式,再根据字段和唯一标识的映射规则,对数据结果进行组合,从而得到有条理有层次的信息;
[0132]③数据融合计算,改进的D-S(Dempster-Shafer)证据理论方法对数据进行融合;基于D-S证据理论数据融合算法的融合过程为:首先把针对结果集中的结果逐个取出,与知识库中的对应结果进行匹配,为匹配成功的结果分配相应的权值记为,这个权值是结果进行基本可信度分配。在本课题中用a表示结果匹配,表示结果不匹配。依此分配计算下去,直到匹配结果集合的所有的结果都分析完后,则得到最终的结果。
[0133]④结果输出。
[0134]具体的实施例中:
[0135]以新疆油田数据为例,示例性的示出了一种基于唯一标识的数据集成和交换方法,具体包括数据交换数据元模型、字段和标志映射、应用程序、源SQL、自动转换成目标SQL、执行目标SQL,返回结果和多元数据结果融合的如下几个步骤:
[0136]1、建立数据交换数据元模型:访问业务模型库,或者根据业务场景手动录入业务模型,对通过访问元数据库中的描述异构源数据库的部分,分析各个数据库的数据结构,生成数据元管理模型的树形结构;依据不同的领域对象划分为系列;同一系列下具体有相同属性的业务划分为一个集合;同一集合不同活动划分为不同的实体;活动下有其他子活动的则划分为子集;而数据库的表字段划分为属性或者特性;根据已经制定的规则对生成的树形结构进行判断,依次对相应的业务数据进行唯一标识描述,任何一个领域对象的都用一个唯一标识描述;划分结束后,则异构数据交换数据元模型建成,把模型保存到数据元模型库中。
[0137]2、字段和标志映射:对于大多数的字段,直接和标识做映射就可以交换;有些字段需要额外处理,主要是添加某些交换规则,用来指导交换程序进行相应处理,主要包含规则有:码表转换规则、默认值规则、别名规则、替换规则、冗余列和计算公式等等,每种规则处理一种情况,这些规则也可以综合起来描述一个字段,处理比较复杂的交换情况;对于规则部分的管理,采用动态加载的方法实现,如果有无法处理的情况,可以根据具体情况添加新的规则处理类。
[0138]3、应用程序:对业务模型进行分析,得到标志或字段;
[0139]4、根据标识和字段生成原始的SQL,称为源SQL ;
[0140]5、如图6所示,根据字段和唯一标识映射关系,将源SQL转换成目标SQL,根据字段和唯一标识映射关系,以及交换规则把源SQL(包括select、delete、update、insert和存储过程等)转换成目标库可以执行的SQL:①select转换,把源SQL中字段名根据上一节做的映射关系,进行一一替换,把SQL转换成基于标识的SQL ;基于标识SQL去掉叶子节点,留下该节点隶属的系列、集合、实体和子集,把这些对象进行合并,只保留不同的对象,把这些对象标识按从小到大的顺序进行排序,依次把相邻的两个对象建立自连接,自连接的条件是两个对象中相同的Μ列,其中,Μ列是指数据唯一性的数据字段;把对象表中主键和目标库中表的主键建立连接,这样对象表中记录就和物理表建立起连接,形成完整的记录;把SQL中的标识的转换成目标库中的字段,生成目标库脚本,就可以在目标库中进行查询了。②delete转换,主要用于进行不同数据库之间数据删除。假设A(源库),B(目标库),现在将A库中的表A1数据删除相应的记录,此时B库对应的表也应该删除相应记录;构造删除A1记录的delete SQL,转换时,通过A与B模型映射,根据表名和字段,获取对应的需要删除的目标表集合;根据目标表之间的关系,依次处理目标表,调用select,根据源表名称、目标表名称,得到需要删除的记录的rowid,构造该表的delete SQL语句,在此过程中处理各种约束和规则,将所有目标表的delete SQL语句封装到过程;多线程批量执行过程,完成数据删除;注意,由于删除数据时,需要先从子表进行删除,再删除其父表,因此,删除语句的顺序不能变更。③insert和update转换算法,insert/update转换主要用于进行不同数据库之间数据同步。假设A(源库),B(目标库),现在将A库中的表A1数据同步至1J B库对应的表;查询A1表数据,循环记录,在此过程中,将每条记录构造成insert/updateSQL语句;获取insert/update SQL的列名称及对应的值,分别存储,循环列名称及值,通过A与B的模型映射找到每个列对应的目标表及与该表对应的目标列,然后存储目标表集合;根据目标表之间的关系,依次处理目标表,构造该表的insert/update SQL语句,并处理过程中各种约束和规则,直到所有目标表处理完成,将所有目标表的insert SQL语句封装到过程。在构造insert/update SQL语句的同时,构造select、update语句,查询目标表中是否存在要同步的记录,如果存在,则更新对应的记录,否则,插入记录;多线程批量执行第四步生成的SQL过程,完成数据导入/更新;注意,由于插入或者修改数据时,需要先从父表进行操作,再对其子表操作,因此,操作的顺序不能随意变更。④存储过程的转换算法,存储过程转换算法主要是依赖以上转换算法,对应其他语法的脚本例如变量定义、赋值、分支、循环、游标操作、异常处理等等,保持原来的脚本,只需要转换成目标库中支持的关键字,只要把遇到的select、insert、update和delete语句按上面方法进行转换即可。
[0141]6、在目标库中执行上一步中的目标SQL,返回结果需要根据脚本的类型进行判断,根据类型给予对应的处理:对于select句型,执行完之后,返回查询结果;对于delete句型以及insert和update句型,执行完之后,返回操作成功或者失败的提示。
[0142]7、采集上一步的结果;将采集到的数据转换成统一的格式,再根据字段和唯一标识的映射规则,对数据结果进行组合,得到有条理有层次的信息;采用改进的D-S证据理论方法对数据进行融合,首先把针对结果集中的结果逐个取出,与知识库中的对应结果进行匹配,为匹配成功的结果分配相应的权值记为,这个权值是结果进行基本可信度分配。在本课题中用a表示结果匹配,表示结果不匹配。依此分配计算下去,直到匹配结果集合的所有的结果都分析完后,则得到最终的结果;结果输出。
[0143]以上通过具体的和优选的实施例详细的描述了本发明,但本领域技术人员应该明白,本发明并不局限于以上所述实施例,凡在本发明的基本原理之内,所作的任何修改、组合及等同替换等,均包含在本发明的保护范围之内。
【权利要求】
1.一种基于唯一标识的数据集成和交换方法,其特征在于,包括: 步骤一、建立数据元管理模型:对需要进行集成、交换和共享的业务建立数据元管理模型,并对所述数据元管理模型内的每一个数据项进行唯一标识; 步骤二、字段和标识映射:将所述数据元管理模型中的所述标识与多源异构数据库中字段进行映射; 步骤三、自动转换SQL:根据所述标识映射的所述字段生成相应的目标SQL语句; 步骤四、目标SQL执行并返回结果:访问所述多源异构数据库,执行所述目标SQL语句,返回结果集; 步骤五、多源数据结果融合:采用融合算法对所述结果集进行融合处理。
2.根据权利要求1所述的基于唯一标识的数据集成和交换方法,其特征在于,所述步骤一中,建立所述数据元管理模型包括步骤如下: ①访问业务模型库,或者根据业务场景手动录入业务模型,对通过访问元数据库中的描述异构源数据库的部分,分析各个数据库的数据结构,生成数据元管理模型的树形结构; ②制定划分树形结构的规则,包括:不同的领域对象划分为一个系列;同一所述系列下具有相同属性的业务划分为一个集合;同一所述集合下不同活动划分为不同的实体;所述同一活动下其他子活动划分为子集;所述多源异构数据库中的所述字段划分为字符,所述多源异构数据库中的表字段划分为属性或特性; ③根据划分规则对所述业务进行划分,根据已经制定的所述树形结构的规则对生成的树形结构进行判断,依次将相应的业务数据进行唯一标识描述,简化的标识对应关系,任何一个领域中的对象的都用一个唯一标识描述; ④所述划分结束后,则异构数据交换数据元模型建成,将所述模型保存到数据元模型库中。
3.根据权利要求1所述的基于唯一标识的数据集成和交换方法,其特征在于,所述步骤二中,所述字段中和所述数据元管理模型中定义的所述标识的数据类型、单位和意义完全一样的做直接映射,所述字段中和所述数据元管理模型中定义的所述标识的数据类型、单位和意义不同的进行额外处理,所述额外处理是添加额外交换规则,用来指导交换程序进行处理。
4.根据权利要求3所述的基于唯一标识的数据集成和交换方法,其特征在于,所述额外交换规则包括:码表转换规则、默认值规则、别名规则、替换规则、条件规则、筛选规则、冗余列和计算公式,所述额外交换规则中的每种规则只处理一种交换情况的字段,当处理包含有两种或者两种以上交换情况的所述字段时,则根据所述交换情况将对应的所述额外交换规则组合起来描述一个字段,直到所述字段与所述标识映射完成。
5.根据权利要求1所述的基于唯一标识的数据集成和交换方法,其特征在于,所述步骤一中,在对所述业务模型内的每一个数据项进行唯一标识时,所述数据项包括对象、活动和属性;所述数据项还分为M类、C类和O类,所述M类数据项为确定数据唯一性的标识且为必填项,所述C类数据项为条件必选项,所述O类数据项的标识为可选项,所述C类数据项和所述O类数据项均为非必填项。
6.根据权利要求1所述的基于唯一标识的数据集成和交换方法,其特征在于,所述步骤一中,所述数据元管理模型构建的规则是:根据业务域分成不同的系列,每个系列内的业务报表按照业务分类以及对象不同分成不同的集合,所述集合再分成实体,即业务报表;所述实体再分成子集,即所述业务报表内的子表格;每一个所述集合至少含有一个M类实体,即基础的所述业务报表。
7.根据权利要求1所述的基于唯一标识的数据集成和交换方法,其特征在于,所述步骤三中,所述自动转换SQL包括select转换、delete转换、insert和update转换; 所述select转换包括步骤如下: ①把源SQL中字段名根据上一节做的映射关系,进行一一替换,把SQL转换成基于标识的 SQL ; ②基于标识SQL去掉叶子节点,留下所述叶子节点隶属的对象,所述对象包括系列、集合、实体和子集,将所述对象进行合并,保留不同的所述对象; ③将所述对象标识按从小到大的顺序进行排序,并对应添加所述对象对应的对象表,将所述对象表分别重新命名; ④依次把相邻的两个所述对象建立自连接,自连接的条件是两个所述对象中具有相同的所述M类数据项,其中,所述M类数据项是指数据唯一性的数据字段; ⑤将所述对象表中主键和目标库中表的主键建立连接,使所述对象表中记录和物理表建立起连接,形成完整的记录; ⑥将基于标识的SQL转换成目标库中的字段,生成目标库脚本,在目标库中查询所述目标库脚本; 所述Delete转换包括步骤如下: ①Delete转换主要用于进行不同数据库之间数据删除,若A库为源库,B库为目标库,现在将所述A库中的表Al数据删除相应的记录,此时B库对应的表也删除相应记录; ②构造删除所述表Al记录的DeleteSQL,转换时,通过所述A库与所述B库模型映射,根据表名和字段,获取对应的需要删除的目标表集合; ③根据所述目标表之间的关系,依次处理所述目标表,调用所述select转换,根据源表名称、目标表名称,得到需要删除的记录的rowid或者主键,构造目标表的delete SQL语句,并同时处理各种约束和规则,将所有所述目标表的delete SQL语句封装到过程; ④多线程批量执行过程,完成数据删除; 其中,删除数据时,删除语句的顺序不能变更,即先从子表进行删除,再删除所述子表的父表; 所述insert转换和所述update转换包括步骤如下: ①insert转换和update转换主要用于进行不同数据库之间数据同步,若A库为源库,B库为目标库,将所述A库中的表Al数据同步到所述B库对应的表; ②查询所述表Al的数据,循环记录,并同时将每条记录构造成insert/updateSQL语句; ③获取insert/updateSQL的列名称及对应的值,分别存储,循环列名称及值,通过所述A库与所述B库的模型映射找到每个列对应的目标表及与该表对应的目标列,然后存储目标表集合; ④根据所述目标表之间的关系,依次处理所述目标表,构造所述目标表的insert/update SQL语句,并处理过程中各种约束和规则,直到所有的所述目标表处理完成,将所有目标表的insert SQL语句封装到过程;在构造insert/updateSQL语句的同时,构造select语句和update语句,查询所述目标表中是否存在要同步的记录,若存在,则更新对应的记录,否则,插入记录; ⑤多线程批量执行所述步骤④生成的所述SQL语句,完成数据导入和更新; 其中,当插入或者修改数据时,操作的顺序不能随意变更,即先从父表进行操作,再对其子表操作。
8.根据权利要求1所述的基于唯一标识的数据集成和交换方法,其特征在于,所述步骤四中,当执行所述目标SQL语句时,根据所述目标SQL语句的类型进行判断,根据所述类型给予对应的处理。
9.根据权利要求8所述的基于唯一标识的数据集成和交换方法,其特征在于,所述对应的处理包括:对于select句型,执行完之后,返回查询结果,对于delete句型以及insert和update句型,执行完之后,返回操作成功或者操作失败的提示。
10.根据权利要求1所述的基于唯一标识的数据集成和交换方法,其特征在于,所述步骤五中,所述融合处理包括步骤如下: ①所述数据的采集,采集的所述数据为所述步骤四中的所得到的所述结果集; ②数据预处理,将采集到的所述数据转换统一成数据元管理模型中定义的格式,再根据字段和唯一标识的映射规则,对所述数据的结果进行组合,从而得到有条理有层次的信息; ③数据融合计算,采用改进的D-S证据理论方法对所述信息进行融合,包括:首先把针对结果集中的所述信息逐个取出,与数据元管理库中的对应结果进行匹配,为匹配成功的结果分配相应的权值,所述权值是结果进行基本可信度分配,依此分配计算,直到匹配结果集合的所有的匹配成功的所述结果都分析完,则得到最终的结果; ④输出所述最终的结果。
【文档编号】G06F17/30GK104346377SQ201310330170
【公开日】2015年2月11日 申请日期:2013年7月31日 优先权日:2013年7月31日
【发明者】谭远华, 张建涛, 朱平, 夏东梅 申请人:克拉玛依红有软件有限责任公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1