数据交换
基本概念
数据交换是将符合一个源模式的数据转换为符合目标模式数据的问题,该目标模式尽可能准确并且以与各种依赖性一致的方式反映源数据。
早期数据交换的一个主要方向是在关系模式之间从数据交换的上下文中寻求一阶查询的语义和复杂性。2008 年,Afrati 等人开始系统地研究数据交换中聚合查询的语义和复杂性,给出一些概念并做出了技术贡。在一篇具有里程碑意义的论文中,Fagin 等人提出了一种纯粹逻辑的方法来完成这项任务。从这时起在数据库研究界已经对数据交换进行了深入研究。
近年,Xiao 等人指出跨越不同实体的数据交换是实现智能城市的重要手段,设计了一种新颖的后端计算架构一一数据隐私保护自动化架构(DPA),促进在线隐私保护处理自动化以无中断的方式与公司的主要应用系统无缝集成。允许适应灵活的模型和交叉的服务质量保证实体数据交换。
随着云计算和 Web服务的快速发展,Wu等人将基于特征的数据交换应用于基于云的设计与制造的协作产品开发上,并提出了一种面向服务的基于云的设计和制造数据交换架构。
完善合理的数据交换服务建设,关系到大数据平台是否具有高效、稳定的处理数据能力。
实现模式
数据整合是平台建设的基础涉及到多种数据的整合手段。其中,数据交换、消息推送、通过服务总线实现应用对接等都需要定义一套通用的数据交换标准。基于此标准实现各个系统间数据的共享和交换,并支持未来更多系统与平台的对接。平台数据交换标准的设计,充分借鉴国内外现有的各类共享交换系统的建设经验,采用基于可扩展标记语言(XML)的信息交换框架。
XML定义了一组规则,用于以人类可读和机器可读的格式编码文档,它由国际万维网联盟设计,XML 文档格式良好且结构化,因此它们更易于解析和编写,由于它具有简化、跨平台、可扩展性和自我描述等特征,XML 成为通过 Internet 进行数据传输的通用语言。XML 关心的重点是数据而其他的因素如数据结构和数据类型、表现以及操作,都是有其他的以 XML 为核心的相关技术完成,基于基本的XML语言。通过定义一套数据元模型(语义字典)和一套基于 XML Schema 的描述规范来实现对信息的共同理解,基于此套交换标准完成数据的交换.。数据交换概括地说有以下两种实现模式。
(1)协议式交换
协议式数据交换是源系统和目标系统之间定义一个数据交换交互协议,遵循制定的协议。通过将一个系统数据库的数据移植到另一个系统的数据库来完成数据交换。
Tyagi等人于 2017 年提出一种通用的交互式通信协议,称为递归数据交换协议(RDE),它可以获得各方观察到的任何数据序列,并提供单独的性能序列保证,并于2018 年提出了一种新的数据交换交互协议。它可以逐步增加通信大小,直到任务完成还导出了基于将数据交换问题与秘密密钥协议问题相关联的最小位数的下限。这种交换模式的优点在于它无需对底层数据库的应用逻辑和数据结构做任何改变,可以直接用于开发在数据访问层。
但是编程人员基于底层数据库进行直接修改也是这种模式的缺点之一。编程人员首先要对双方数据库的底层设计有清楚的了解。需要承担较高的安全风险:其次,编程人员在修改原有的数据访问层时需要保证数据的完整性和一致性,此外,这种模式的另一个缺点在于系统的可重用性很低,每次对于不同应用的数据交换都需要做不同的设计。
(2)标准化交换
标准化数据交换是指在网络环境中建立一个可供多方共享的方法作为统一的标准,使得跨平台应用程序之间实现数据共享和交换。
这种交换模式的优点在于,系统对于不同的应用只需要提供一个多方共享的标准即可,具有很高的可重用性。实现基于XML的数据交换平台确实需要一系列的努力和资源来创建/管理交换,但它不是对现有系统的大规模改变而是有限的改变。所以使用基于 XML 数据交换的关键优势是信息共享的组织不需要更改其现有的数据存储或标准,使得异构系统之间可以实现最大限度的协同。并能在现有数据交换应用的基础上扩展更多新的应用。从而对不同企业间发展应用集成起到促进作用。
数据集成
基本概念
在信息化建设初期,由于缺乏有效合理的规划和协作,信息孤岛的现象普遍存在,大量的冗余数据和垃圾数据存在于信息系统中,数据质量得不到保证,信息的利用效率明显低下。为了解决这个问题,数据集成技术应运而生。数据集成技术是协调数据源之间不匹配问题,将异构、分布、自治的数据集成在一起,为用户提供单一视图。使得可以透明地访问数据源。系统数据集成主要指异构数据集成。重点是数据标准化和元数据中心的建立。
数据标准化:数据标准化的作用在于提高系统的可移植性、互操作性、可伸缩性、通用性和共享性。数据集成依据的数据标准包括属性数据标准、网络应用标准和系统元数据标准.名词术语词典、数据文件属性字典、菜单词典及各类代码表等为系统公共数据。在此基础上促成系统间的术语、名称、代码的统一,促成属性数据统一的维护管理。
元数据中心的建立:在建立元数据标准的基础上,统一进行数据抽取、格式转换、重组、储存.实现对各业务系统数据的整合。经处理的数据保存在工作数据库中,库中所有属性数据文件代码及各数据文件中的属性项代码均按标准化要求编制,在整个系统中保持唯一性,可以迅速、准确定位。各属性项的文字值及代码,也都通过词库建设进行标准化处理,实现一词一义。
建立元数据中心的基本流程如图 5所示。
数据集成方法
数据规范和数据交换的完成,对数据集成的有效进行提供了很大的帮助,但在数据集成时仍然需要解决以下难题。首先是异构性,数据异构分为两个方面:其一,不同数据源数据的结构不同,此为结构性异构;其二,不同数据源的数据项在含义上有差别,此为语义性异构:其次是数据源的异地分布性;数据源可以改变自身的结构和数据.这就要求数据集成系统应具有鲁棒性,
为了解决这些难题,现在有模式集成方法、数据复制方法和基于本体的方法这几种典型的数据集成方法:
(1)模式集成方法
模式集成方法为用户提供统一的查询接口,通过中介模式访问实时数据。该模式直接从原始数据库检索信息(如图 6 所示),该方法的实现共分为 4个主要步源:数据库的发现、查询接口模式的抽取、领域源数据库的分类和全局查询接口集成。
模式集成方法依赖于中介模式与原始源模式之间的映射,并将查询转换为专用查询,以匹配原始数据库的模式。这种映射可以用两种方式指定:作为从中介模式中的实体到原始数据源中的实体的映射一一全局视图GAV)方法,或者作为从原始源中的实体到中介模式一一本地视图(LAV)方法的映射。后一种方法需要更复杂的推理来解析对中介模式的查询,但是可以更容易地将新数据源添加到稳定中介模式中。
模式集成方法的优点是为用户提供了统一的访问接口和全局数据视图;缺点是用户使用该方法时经常需要访问多个数据源,存在很大的网络延迟,数据源之间没有进行交互,如果被集成的数据源规模比较大且数据实时性比较高更新频繁,则一般采用模式集成方法。
(2)数据复制方法
数据复制方法是将用户可能用到的其他数据源的数据预先复制到统一的数据源中,用户使用时,仅需访问单一的数据源或少量的数据源。数据复制方法提供了紧密耦合的体系结构。数据已经在单个可查询的存储库中进行物理协调,因此解析查询通常需要很少的时间,系统处理用户请求的效率显著提升;但在使用该方法时数据复制需要一定的时间,所以数据的实时一致性不好保证,数据仓库方法是数据复制方法的一种常见方式。
对于经常更新的数据集,数据仓库方法不太可行,需要连续重新执行提取、转换、加载(ETL)过程以进行同步。根据数据复制方法的优缺点可以看出:数据源相对稳定或者用户查询模式已知或有限的时候,适合采用数据复制方法。数据仓库方法示意图如图 7 所示。
下面举例说明这两种集成方法具体应用的区别:目前我们想要设计一个应用程序,该应用程序的功能为用户可以利用该程序查询到自己所在城市的任何信息,包括天气信息、人口统计信息等.传统的思想是,把所有这些信息保存在一个后台数据库中,但是这种广度的信息收集起来难度大且成本高,即使收集到这些资源,它们也可能会复制已有数据库中的数据。不具备实时性。
此时,我们选择模式集成方法解决该应用程序面临的问题,让开发人员构建虚拟模式一一全局模式,然后对各个单独的数据源进行“包装”,这些“包装”只是将本地查询结果(实际上是由相对应的网站或数据库返回的结果)转换为易于处理的表单,当使用该应用程序的用户查询数据时。看似是本地查询.实则数据集成系统会将此查询转换为相应数据源上的相应查询.最后,虚拟数据库将这些查询的结果反馈给用户。
如果我们选择使用数据复制方法来解决此问题的话,首先,我们需要把所有的数据信息复制到数据仓库中每当数据(如天气情况)有所更新时,我们也要手动集成到系统中。所以,两种数据集成方法的使用需根据具体的情形来选择。
(3)基于本体的数据集成
根据上述介绍,数据异构有两个方面:前两种方法都是针对解决结构异构而提出的解决方案,而本体技术致力于解决语义性异构问题。语义集成过程中,一般通过冲突检测、真值发现等技术来解决冲突常见的冲突,解决策略有如下 3 类:冲突忽略、冲突避免和冲突消解冲突忽略是人工干预把冲突留给用户解决;冲突避免是对所有的情形使用统一的约束规则:
冲突消解又分为 3 类:一是基于投票的方法采用简单的少数服从多数策略;二是基于质量的方法,此方法在第 1 种方法的基础上考虑数据来源的可信度;三是基于关系的方法,此方法在第 2种方法的基础上考虑不同数据来源之间的关系。
本体是对某一领域中的概念及其之间关系的显式描述。基于本体的数据集成系统允许用户通过对本体描述的全局模式的查询来有效地访问位于多个数据源中的数据。陶春等人针对基于本体的 XML 数据集成的查询处理提出了优化算法。目前,基于本体技术的数据集成方法有3 种分别为:单本体方法、多本体方法和混合本体方法。
由于单本体方法所有的数据源都要与共享词汇库全局本体关联,应用范围很小,且数据源的改变会影响全局本体的改变:为了解决单本体方法的缺陷,多本体方法应运而生,多本体方法的每个数据源都由各自的本体进行描述。它的优点是数据源的改变对本体的影响小,但是由于缺少共享的词汇库,不同的数据源之间难以比较数据源之间的共享性和交互性相对较差,混合本体方法的提出,解决了单本体和多本体方法的不足:混合本体的每个数据源的语义都由它们各自的本体进行描述,解决了单本体方法的缺点,混合本体还建立了一个全局共享司汇库以解决多本体方法的缺点,如图 8 所示,混合本体方法有效地解决了数据源间的语义异构问题。
本文引用软件学报吴信东,董丙冰,杨威《数据治理技术》,有删减,有改动,如有侵权,请联系删除。