Web服务异构数据集成在石油行业中的研究
2019-03-25李昌武
李昌武
摘要:针对石油行业信息系统数据异构分布、形成信息孤岛等问题,设计了Web服务异构数据集成框架。在此基础上,对Web服务异构数据集成算法展开了研究,该算法对运行时的Web服务进行评估,考虑了性能、可靠性等指标,选取最优的Web服务作为数据集成服务,以提高数据集成的效率和效果。模拟实验对数据集成的效果进行了验证,实验结果表明本数据集成框架和算法能高效、可靠地解决石油行业异构数据集成问题。
关键词:石油行业;数据集成;Web 服务;可靠性;异构
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2019)03-0012-02
1 研究背景
信息的深化应用是XX石油公司在日益激烈的市场竞争中处于优势地位的关键。在信息化建设过程中,由于信息系统在不同的时期内建设,XX石油公司无法做到对核心数据库和应用进行规划和分析,没有形成围绕核心数据库进行信息系统开发的理念,由于内容标准验证滞后,各个应用系统之间的数据定义和数据模型互为不同,应用接口和数据交换没有标准;系统运行在不同的软硬件平台上,数据不能相互共享,历尽艰辛建设的一个个IT支持系统变成了信息孤岛。
因此,寻找一种对运行在不同操作系统、分布在不同网络位置、不同厂商的数据库的数据进行集成的方法刻不容缓。另一方面,数据集成系统部署在动态多变的网络环境中,其面临的环境变得更加复杂和不确定,因此数据集成系统的性能和可靠性保障也是需要解决的关键问题。
2 研究现状
为了实现企业数据资源的共享集成,已有学者在数据集成方面做了大量的工作。文献[1]提出了数据仓库的概念,即建立一个数据库,由ETL(Extract, Transform and Load)工具定期从数据源过滤数据然后装载到数据仓库,供用户查询,但是该方法投入的费用昂贵,开发周期长,而且很难做到与数据源保持实时同步。为了实现异构平台上的数据集成,各大厂商纷纷推出了自己的集成平台,如IBM在2003年7月推出了DB2信息集成软件[2],目的是整合异构环境中的网络信息;ODI(Oracle Data Integrator)是Oracle公司针对Oracle数据库推出的数据集成平台[3],它能满足用户一般需求,支持高性能审批等优点;微软公司推出的MSSIS(Microsoft SQL server2005 integration services) 是利用数据仓原理实现的[4],是一种性能较高的集成平台。这些解决方案存在的主要问题是他们都是基于自己的产品进行的数据集成,对其他厂家的数据库兼容性不高。
XX石油公司的关键业务系统运行在不同的软硬件平台上,现有的解决方案无法满足其数据集成的要求。因此,研究如何对XX石油公司的系统数据进行全面的集成,对提升XX石油公司的信息化能力、提高员工和客户的满意度具有深远的意义。
3 Web服务异构数据集成框架及算法
3.1 Web服务异构数据集成框架
XX石油公司关键业务系统的数据具有明显的异构性和分布性,其平台、数据格式和语义等方面存在较大差异。为了解决以上异构数据的集成问题,本文采用Web 服务作为异构数据集成平台关键技术。Web服务是使用SOAP进行通讯 、使用UDDI进行发布和使用WSDL进行描述的一种新型的分布式计算模型[5]。Web服务是一项新型技术,它最大的优点是使分布在网络上运行在不同操作系统、使用不同编程语言的应用程序无须借助第三方软件或硬件,通过标准的XML消息传递机制,可实现数据集成、数据交换等操作,因此本文采用Web服务关键技术对异构数据进行集成是可行的。
本文采用的是虚拟化视图法中的中介系统(Mediated System)体系结构进行数据集成[6],其工作方式是用户只需访问中介系统的地址,无须了解各数据源的访问方法、模式和位置。图1是本文的基于中介系统的数据集成框架。在整个框架中主要模块有Web服务数据集成中介(Web Services data integration medium),Web服务应用服务器群(Web service application server)和UDDI。
数据集成中介平台的主要功能是拦截用户的消息,解释消息的内容、调用相应远端的Web服务进行数据抽取并实现相应的业务逻辑,最后把结果返回给用户。同时为了提高数据集成的可靠性和性能,在企业广域网内同时发布多个功能相同的Web服务,并对Web服务的存活情況、性能等状态进行实时监测,以便挑选出性能、可靠性最高的服务对异构数据进行抽取和组合。具体包括:1)SOAP消息拦截器(Message Interceptor,MI),其功能是对用户请求消息进行拦截,并把数据集成后的处理结果返回给用户; 2)情境感知器(Context Detector,CD)负责探测远端Web服务的运行时状态,如执行时间、性能、可靠性等指标;3)业务逻辑执行器(Business Logic Actuator, BLA),数据集成业务通过Web服务组合来完成,BLA负责把用户请求分解,调用相关的Web服务进行数据抽取,并根据业务逻辑对数据进行计算和集成;4)集成数据库(Integrated Database,ID)主要的作用是保存数据抽取的中间结果、运算后的最终结果和Web服务评价结果,同时还保存集成业务系统的重要数据;5)失效检测器(Failure Detector,FD)负责定期向远端Web服务发送SOAP消息,以获取其存活状态。
Web服务应用服务器群部署核心数据抽取Web 服务,负责对数据库服务器(Database server)上的数据进行抽取。为了提高数据集成的性能和可靠性,Web服务采用冗余的方式进行部署,即在多台服务器中部署功能相同的Web服务。图1中的WS1表示数据库1(Data Server 1)的数据抽取Web服务,WS2表示数据库2的数据抽取Web服务,依此类推……核心Web服务发布到企业私有的UDDI服务器上,并以服务组(Service Group)的方式对功能相同的Web服务进行管理,数据集成中介平台与UDDI交换获取服务组成员。
3.2 服务选择算法和集成算法
关键业务系统进行数据集成后所面临的环境更加复杂、应用动态变化,为了提高数据集成的可靠性,在众多功能相同的Web服务中寻找一个负载率、可靠性、集成速度最优Web服务作为数据抽取服务是关键的,以下是Web服务选择算法描述:
综上数据集成框架和运行时因素评估的Web服务选择算法,提出了本文的基于多因素运行时评估的异构数据集成算法HDIRE(HeterogeneousData Integration algorithm based on Runtime factors Evaluation),其核心思想是在中介系統中记录每个服务执行任务所需的时间、可靠性等要素,并对这些要素进行计算,最终选择最优的服务作为数据集成服务,算法的执行过程是:1)用户首先访问Web服务数据集成中介,集成中介的拦截器(MI)拦截用户消息,业务逻辑执行器(BLA)解释用户消息,对用户消息进行分解,分解后得到相应所需的数据源;2)根据CD对运行时Web服务的评估情况,选取性能、可靠性最高服务作为数据的抽取服务;3)数据抽取完毕后BLA对业务逻辑进行处理,并把处理结果返回给用户。
4 异构数据集成在石油行业中的应用验证
我们把设计好的原型系统部署在石油企业的广域网中进行验证,选取两个运行环境差别很大的业务系统进行异构数据集成。中介系统部署在8核CPU、64G内存、操作系统是Windows2008上;UDDI服务部署在另一个服务器上。本实验是对业务系统A的数据和业务系统B的数据进行集成,自动集成这两个业务系统的销售数据。业务系统A的数据库是Sybase,运行在AIX操作系统中;业务系统B的数据库Oracle,操作系统是LINUX。每个系统的数据集成功能对应一个Web服务,为提高Web服务的可靠性,每个Web服务部署2个副本,通过UDII进行发布供中介系统调用,中介系统实时对这两个副本进行失效检测和对其性能、负载、执行时间等指标进行实时评估,选择存活并且性能较好的Web服务作为数据集成服务。当用户点击数据集成界面的销售数据集成按钮时,A业务系统和B业务系统的销量便能显示出来,达到了数据集成预期的效果。
为了测试本文HDIRE算法的性能,本文采用Loadrunner性能测试软件模拟1000个用户同时访问数据集成平台,在实验中将统计用户请求平均响应时间,分别进行两种情形测试:1)不考虑运行时因素的数据集成算法(标记为Normal-DI);2)本文的HDIRE算法。测试结果如图2所示:
从实验结果看出,一方面,本文的数据集成研究可以对运行在不同操作系统的异构数据集进行集成;另一方面,由于本文考虑了对运行时的性能和可靠性进行评估,即在服务组中挑选出一个可靠性、性能最高的Web服务进行数据集成,所以减少了用户请求的平均响应时间。
5 结论
本文从XX石油公司的信息系统实际出发,研究现有系统的数据集成、共享等问题。在研究过程中我们结合目前比较流行的Web服务技术和虚拟化视图,提出了Web服务数据集成框架,在此框架基础上给出了数据集成算法,该算法考虑了Web服务的可靠性、执行时间和性能,目标是提高数据集成的性能和可靠性。模拟实验表明,本文的解决方案一方面可对异构数据进行集成,另一面在数据集成质量保障方面获得较好的优化效果。
参考文献:
[1] Ab1teboul,Agrawal,Bernstein P, Carey M, Ceri S, Croft B. The Lowell Database Research Self-Assessment Meeting[C]. Lowell Massachusetts,2003.
[2]刘军.IBM DB2 简介[EB/OL].http://soft.chinabyte.com/23/8288023.shtml,2008-09-01/2010-3-10.
[3]Mark Rittman.实时数据集成简介[EB/OL].
http://www.oracle.com/technology/global/cn/artieles/rittman-odi.html,2010-03-10/2010-3-10.
[4]Microsoft.概述(Integration Services)[EB/OL]. http://msdn.microsoft.com/zh-cn/library/ms14126.aspx,2009-07/2010-3-10.
[5] 范小芹,蒋昌俊,王俊丽,等.随机QoS感知的可靠Web服务组合[J].软件学报,2009,20(3):546-556.
[6] Wu W,Yu C,Doan A,Meng W.An Interactive Clustering-based Approach to Integrating Source Query Interfaces on the Deep Web. Porc. Of the ACM SIGMOD Intl Conf.on Management of Data(SIGMOD 2004)[C].ACM Press,2004:95-106.
【通联编辑:代影】