您所在的位置:e-works首页 > 基础信息化 > SOA与中间件

基于SOA的异构数据管理技术

发表时间:2014/3/28 王俊超 徐锋 李丽君 王慧平 来源:万方数据
随着信息化发展及数据规模的不断扩大,“信息孤岛”问题已成为阻碍信息化进程的主要因素。异构数据管理技术成为解决“信息孤岛”问题的根本方法。数据管理核心功能包括异构数据同步、多数据源互操作、数据状态发布订阅、异构数据可靠访问、分布式数据源状态监控等。通过采用基于SOA的技术体系实现分布式网络环境中异构数据管理技术,为基于分布式网络环境异构数据源的各种应用提供可靠地底层数据支持服务。

    随着计算机技术和网络技术的迅速发展,在信息化建设过程中构建了许多信息系统来管理数据业务。这些信息系统内部的数据带有明显的分布性、自制性和异构性,为了保证各信息系统之间的信息进行共享、维护和管理,使得上层应用可以容易地集成这些异构数据源,使得业务开发人员能够集中精力于业务应用开发,减少在底层数据层的开发、维护和管理成本,需要找出一种能够对分布异构数据进行统一管理的通用、可靠、高效的管理体系。SOA技术能够很好地实现对异构数据进行管理,异构数据管理的方法也有很多,本文从SOA技术方面对异构数据管理进行研究。

  1.异构数据管理理论

  异构数据源主要类型有:数据库、信息系统、数据文件、XML文件、数据采集设备等。这些不同的数据源分布式存在,往往通过系统局域网甚至广域网进行连接,不同的数据源具有不同的数据格式和数据访问方式,如数据库往往提供ODBC 或者JDBC 等程序访问接口;信息系统一般相对封闭,也有一些比较完善的信息系统向外提供Web Service 或者REST API 形式的访问接口;数据文件和XML文件也是数据存储的重要形式,这些文件类的数据源通常无法进行数据互操作,比较难于管理。

  SOA(Service-Oriented Architecture)称为面向服务的体系结构,是一种进行分布式系统开发的体系结构,它将应用程序的不同功能单元/服务通过它们之间定义清晰的接口和约定联系起来,而接口采用中立的描述进行定义,它独立于实现服务的硬件平台、操作系统和编程语言,这使得构建在各种异构系统中的服务能够以一种统一和通用的方式进行交互。SOA 的基础是“服务”的概念,服务是封装成用于业务流程的可重用组件的应用程序函数。SOA结构中所有的功能部件定义为独立的服务,这些服务具有定义明确的可调用接口,它定义了必需的参数和结果的类型,是整个系统的关键,同时也是应用程序关注的焦点。基于SOA的异构数据管理系统是指在依照SOA 概念,采用相对成熟的SOA技术体系,以Web 技术尤其是Web 服务技术为基础构建的面向服务的分布式异构数据管理系统,为数据上层应用提供可靠地数据管理服务。

  异构数据管理主要技术主要包括异构数据集成、异构数据同步、多数据源互操作、数据状态发布订阅、异构数据可靠访问、分布式数据源状态监控。在分布式网络环境中异构数据管理技术主要是通过采用基于SOA的技术体系实现异构数据集成、异构数据同步、多数据源互操作、数据状态发布订阅、异构数据可靠访问、分布式数据源状态监控等数据管理核心功能。

  数据同步的理论研究工作在多个相关领域(变化数据获取领域、数据复制技术领域、数据传输领域以及分布式数据库领域)研究的共同促进下取得了很大的进步。对数据同步技术的分类研究、一致性研究、冲突研究等都发表了大量的文章而且各个数据库厂商都已经提出了各自的解决方案。总的来说,不管是从理论上还是从应用上,数据同步都取得了很大的进展,其中关键的问题是研究变化的数据的获取技术。变化数据获取和数据同步息息相关,变化数据获取是数据同步的前提和基础,对于数据同步的选时方式和更新方式具有直接的决定性作用。常用的数据同步技术包括:基于影子表法、基于API法、基于快照法、基于控制表法、基于时间戳法、基于日志法、基于触发器法。

  实现多数据源之间的互操作的复杂性大大取决于系统中数据源的数目和异构程度。在解决复杂性和异构性方面,SOA和Web 服务技术显示了极大地希望。Web 服务带来了一种新的网络应用模式。以XML为核心的Web 服务技术能在异构系统间构筑一个通用的、平台独立、语言无关的技术层,实现彼此之间的连接和集成。伴随着Web 技术的应用,SOA技术也得到了很好的发展,SOA是一种构件分布式系统的建构模型,它能够根据需求通过网络相对松散耦合的应用组件进行分布式部署、组合和应用,它是当前企业信息系统的发展方向。

  数据状态信息在分布式数据数据管理系统中的作用十分重要,它是数据同步、数据状态监控等底层的实现机制。发布/订阅(Publish/Subscribe,简称pub/sub)是一种使分布式系统中的各参与者能够以发布/ 订阅的方式进行交互的中间件系统。在pub/sub 方式下,生产者将发布内容发送给pub/sub 中间件;消费者则向pub/sub 中间件发出一个订阅条件,表示对系统中的哪些内容感兴趣;而pub/sub 中间件保证将生产者发布的内容及时、可靠地传送给所有对之感兴趣的消费者。

  2.异构数据管理实现

  在分布式网络环境中采用基于SOA技术体系的技术方法,通过SOA技术体系中的Web服务、UDDI、WSDL服务描述、企业服务总线ESB、消息队列MQ实现异构数据管理的功能。基于通用SOA架构的异构数据管理系统框架遵循SOA的基本架构设计,引入服务提供者、服务使用者和服务注册中心的概念。每个系统组件都被进行服务化封装,既是服务提供者优势其他服务的使用者。SOA基本角色的交互关系如图1所示。

 图1 SOA 基本角色关系图

图1 SOA 基本角色关系图

  异构数据管理的实现采用具有高性能的企业服务总线(ESB)为核心,在服务总线内部通过可靠信息传递、组件服务通信优化等技术实现高性能的组件服务交互通道。原系统组件通过各种适配器转换成为可注册服务添加到服务总线管理域。通过这些组件服务的互操作和数据通信实现复杂系统集成,各异构数据源系统内部可以运行独立的特定应用系统,这些数据源系统的输出信息通过服务总线中的服务描述完成系统集成。

  2.1 异构数据源服务化

  异构数据源服务化供应是基于SOA的复杂系统集成的基础。组件服务化描述方法主要以通用SOA 接口描述方法(Web Services Description Language,WSDL)为主,WSDL 可以用于描述组件功能及交互方法,实现不同语言、不同平台间的组件互操作。

  WSDL 是Web 服务描述语言,是基于XML 的关于如何与Web 服务通讯和使用的服务描述;也就是描述与目录中列出的Web 服务进行交互时需要绑定的协议和信息格式。通常采用抽象语言描述该服务支持的操作和信息,使用时再将实际的网络协议和信息格式绑定。包括参数类型、消息、端口类型、操作、绑定、端口和服务等元素。其基本结构如图2 所示。

  图2 WSDL基本结构图

图2 WSDL基本结构图

  2.2 基于SOA的数据组件服务可靠通信与优化技术

  系统数据组件服务通过服务总线进行交互,交互方式又称协调模式。分布式异构数据管理系统对系统性能要求很高,进而需要对数据组件服务的交互进行全面的优化。鉴于在某方面的应用中,由于参与者可能不允许将某些信息交由他方集中管理,这种集中式的管理方式不能够满足要求,由于服务的协作是通过消息传递完成的,因此,可以采用数据流分析方法组件服务交互的数据流进行优化,减少消息传递的数量和次数,从而提高组合服务的性能。

  针对协调模式的优化将首先建立协调模式的形式化模型,然后采用形式化分析方法对模型进行验证,并采用数据分析方法进行优化。

  协调协议是Web 服务协调框架的核心,可以支持基本的Web 服务组合功能,且能够控制数据流和控制流的分离,在参与的服务之间进行数据传输,避免了将所有数据通过中心引擎进行转发。

  针对定义的协调协议模型采用数据流分析方法对其进行数据优化。数据流优化首先是进行数据信息收集,然后研究数据流优化算法。

  数据流分析是编译系统中的重要内容,它能从程序代码中收集程序的语义信息,并通过代数的方法在编译时确定变量的定义和引用。主要通过建立并计算数据流方程来收集数据流信息,最典型的数据流方程为。这个方程的含义为:当控制流通过一个语句(或基本块)时,在语句(或基本块)末尾得到的信息或者是在该语句(或基本块)中产生的信息,或者是进入语句(或基本块)开始点时候带的并且没有被这个语句注销的哪些信息。这样的方程叫数据流方程。可以根据程序的结构设计不同的数据流方程,收集数据流信息,通过设计数据流优化算法优化程序数据流。

  2.3 建立企业服务总线(ESB)实现可靠数据传递与数据发布订阅机制

  在基于通用SOA技术基础之上,采用开放的总线结构,研究并设计的分布式网络环境中用于异构数据传输集成的服务总线体系结构,如图3所示。

 图3 异构数据传输集成服务总线体系结构

图3 异构数据传输集成服务总线体系结构

  在此结构中,异构数据集成服务总线的功能主要分两个层次:应用协议层和服务通信层。在服务通信层,异构数据集成服务总线的功能主要是保证服务间消息通信的安全可靠,实现消息路由以及一些复杂消息传递机制,如组播技术、消息批处理功能、消息分段技术、异步远程拷贝和传送过程中的零拷贝访问等。在应用协议层次,异构数据集成服务总线的功能主要是为不同数据数据源系统进行协议转换,比如数据库系统如何与其他信息系统进行数据互联;不同事务处理机制如何完成分布式事务处理等;还有就是在应用层次对数据管理服务的服务质量或服务等级进行匹配。

  服务总线需要具有以下功能:使用异步操作技术而非阻塞操作;使用多线程技术并发处理紧急任务;仔细挑选架构与优先技术以避免线程冲突,并使用看门狗和延时设定监控以维持应用程序正常运行。

  2.4 建立基于SOA的异构数据监控系统

  异构数据监控系统主要基于SNMP 网络管理协议,结合智能代理技术为每个数据源添加专门的代理,获取数据源状态,通过ESB 进行状态信息发布,信息监控系统通过ESB 获取订阅的状态信息,通过可视化形式显示系统数据源状态信息。

  3.结束语

  本文主要介绍了在分布式网络中异构数据管理技术,在分布式网络中的异构数据管理主要通过采用基于SOA的技术体系,通过基于SOA的数据组件服务和企业服务总线技术实现异构数据管理的功能,达到解决信息集成困难问题的目的。 

本文为授权转载文章,任何人未经原授权方同意,不得复制、转载、摘编等任何方式进行使用,e-works不承担由此而产生的任何法律责任! 如有异议请及时告之,以便进行及时处理。联系方式:editor@e-works.net.cn tel:027-87592219/20/21。

责任编辑:王慧敏