一种基于xml和中间件的异构数据库集成的方法

文档序号:6490875阅读:1122来源:国知局
一种基于xml和中间件的异构数据库集成的方法
【专利摘要】一种基于XML和中间件的异构数据库集成的方法是提出了一种新的基于XML和中间件实现异构数据库集成的解决方案:建立一个中央数据库,集成异构数据库中所有需要共享的数据;采用XML作为数据传输格式;利用Web应用服务器(BEAWebLogicServer)构建异构数据库与中央数据库之间的通讯骨架,保证通讯的安全、可靠。
【专利说明】一种基于XML和中间件的异构数据库集成的方法
【技术领域】
[0001]一种基于XML和中间件的异构数据库集成的方法主要是涉及计算机领域中的数据存储技术。
【背景技术】
[0002]异构数据库集成是一个既与各种数据库有密切联系,又有别于各种数据库的新的领域。它的研究目标是对物理上分布的多个不同结构的数据库,在尽可能少地影响本地自治性的基
础上,构造具有用户所需要的透明性的全局数据库,以实现数据的共享和透明访问。

【发明内容】

[0003]通过国家专利检索没有发现关于此系统方面的申请资料。
[0004]基于XML和中间件的异构数据库集成模型,是将企业或单位已有的各个分散的、独立的、异构系统通过中间件连接起来,组成一个有机的整体,生成一中央数据库。在它们之间通过用XML来作为统一的数据格式实现数据的交换和资源的共享。企业原有的各个系统之间相互独立,接口各异,数据格式互不相同。模型将各子系统中的变化数据提取出来,把数据表中的变化数据通过客户端程序转换为统一的数据格式XML文件,由JMS传输到服务器,再由服务端程序接收消息,将数据集成到中央数据库中。
[0005](I)子系统数据库
为企业现有的、正在应用的不同操作系统平台下,不同的关系数据库管理系统,其都保持各自得相对独立性和自治性,如Oracle、SQLServer、MySql、Access等,通过JDBC访问,是我们要集成数据的信息来源。通过触发器随时记录数据变化并写入创建的相应表中。
[0006](2)客户端层
本层次的功能为:通过JDBC访问子数据库系统,用Java定时器定时提取变化的数据,通过XML解析工具将各数据库的更新的数据转换为XML文档,并将XML文档包装成适合JMS传递的消息,通过JMS客户端发送程序发送给JMS主题队列。
[0007]由于JMS没有定义XML消息类型,要通过JMS传递XML消息,目前普遍的做法是将LXM作为一个TextMessage或将XML序列化为一个DOM对象进行传递。实验证明,前者的传递效率更高,因此本文所提出的模型也是将XML封装在TextMessage中进行传递,所以上面所讲并将捌L文档包装成适合JIIS传递的消息实际上是将XML文档转换为文本消息TextMessage0定时器的时间可以根据实际情况设定。比如:如果为了中央数据库能及时得到更新,可以将时间定为每一分钟检查数据库的更新情况并执行以上操作,所以该层次实现的具体功能可以总结如下:定时提取子数据库系统中变化数据:用XML解析工具转换为统一格式的XML文档;将XML文档转换为文本消息并进发送。
[0008](3)中间件层
该层次主要通过应用服务器中间件BEA WebLogic中配置的JMS服务器和消息主题或对列,来实现客户端应用程序和中央服务器端应用程序的消息传递。该层实现的具体功能就是屏蔽底层的通信复杂性,维持建立的消息主题或队列,完成]MS服务器的发送和接收消息的功能。JMS服务器是整个模型的核心,是各个应用系统交换数据的媒介,它确保消息通信的异步性、持久性和可靠性。
[0009](4)中央数据库客户端
该层次的主要功能为:本客户端程序运行就一直监听JMS服务器的消息队列或主题,是否有消息到来。若没有消息就一直监听,若有消息到来,则进行相应得处理。因为我们是通过文本消息TextMessage来进行通信的,所以接收到文本消息后就进行转换为XML文档,将XMI。文档依据中央数据库与子数据库之间的数据模式映射文件转换为对应于中央数据库系统的XML文档,并将该XML文档写入中央数据库中。其具体实现内容可以描述如下:监听消息;接收到消息并转换为XML文档;将得到的XML文档由映射文件转换为对应于中央数据库系统数据的XML文档;将转换后的XML文档通过解析工具写入中央数据库中。
[0010](5)中央数据库
中央数据库为需要共享的统一信息平台,需要共享的信息都存储在此。其为进一步的

据挖掘、信息共享等提供了统一的基础。
[0011]模型流程:
(1)子数据库系统发生变化,创建的触发器,把变化的数据记录在相应的表中;
(2)客户端程序定时时间到,读取记录数据变化的表,有数据存在,则提取变化数据,将其转换为XML文档;
(3)将XML文档转换为TextMessage,发送到]MS服务器的主题或队列中;
(4)监听该主题或队列的服务器端接收到该消息,通过相应转换工具将接收到的TextMessage消息解析成XML文档或DOM对象;
(5)将得到的XML文档由映射文件转换为对应于中央数据库系统数据的XML文档;
(6)解析XML文件,利用XML文件数据信息更新中央共享数据库,最终实现异构数据库集成共享和同步刷新。
[0012]实现模型中数据格式相互转换:
异构数据库管理系统之间的数据不能直接交互,为了解决这一问题,我们采用XML作为表示数据和传输数据的数据格式,屏蔽异构性,容易实现跨平台集成:虽然采用了 XML的格式,但是数据库中的变化数据如何转换为XML格式,就成为模型实现的重点。由于JMS没有定义XML消息类型,要通过JMS传递XML消息,通常用TextMessage来传递,所以XML格式与文本消息格式的转换也至关重要。同时,各分布的异构数据库之间与中央共享数据库之间,肯定存在数据结构和数据类型的不一致性,如何完成数据结构合数据类型的转换,也成为模型实现的关键。总之,如何实现模型中相关的一系列的数据格式的相关转换成为本模型实现的难点。
[0013]本次采用Jdom技术完成数据表与XML格式之间的格式转换,通过利用xmloutputterl311类的outputString方法把dom树文档,变为文本消息。
[0014]中央数据库与各个子数据库之间同步:
实现异构数据库集成,就是在保持各个子数据库系统相对独立性和自治性的丛础上,婴把需要共享的数据传输到中央数据库,所以如何实现中央数据库与各个子数据库之间同步至关重要。简单的说,就是当中央数据库建立之后,分布的子数据库中数据发生变化后,中央数据库的相应数据应当随之而改变。
[0015]要实现这一点,通常可以采用两种方式:一、是全部更新,当同步周期(在模型实现中我们使用的是定时器)到来时,我们将子数据库数据信息全部发送到中央数据库端,根据其更新中央数据库,以实现同步;因为早期的数据库多采用Access,而Access又不存在储发器,所以在集成早期的数据库的时候,我们采用定时全部更新。当定时时间到来时,我们把原来得数据库中的所有数据全部更新到中央数据库。二、是我们仅仅将发生了改变的增量数据发送到中央数据库以实现同步。显然,第二种方式对网络带宽和服务器的压力较小,性能远远优于第一种方式。所以在后面的模型实现中我们采用的第二种方式来实现中央数据库与各个子数据库之间同步。利用数据库触发器记录数据库的增量信息。然后完成赠量信息的传输和数据转换等工作,实现中央数据库与各个子数据库之间同步。对于象Oracle、SQLServer、Mysql (Mysql 5.0也提供了触发器功能)等数据库其本身具有较强的功能,能提供触发器功能,我们就采用第二种增量数据的更新。
[0016]实现数据安全的异步传输:
Java消息服务(JMS)规范为消息传递系统的访问定义了一组标准的接口。WebLogicServer提供了一种完全支持JMS API的企业级消息传递系统。本课题就是利用BEAffebLogic中的JMS功能来实现消息的安全异步传输的。在JMS两种不同的消息传递模型点对点和发布订阅模型中,JMS通过维持消息队列或主题来保证消息传递的安全可靠传输。
[0017]特点:
(I)跨、If台:XML是跨平台数据表示和交换的标准JMS基于Java语言,因而也是平台无关的。JMS雨I XML—起共同实现了平台无关的行为和平台无关的数据。
[0018](2)松耦合:各应用系统对外提供一个基于XML数据格式的接口即可实现系统间的无缝
集成。
[0019](3)异步性:请求数据的应用系统与发送数据的应用系统不需要同时连接。
[0020](4)可靠性JMS的异步消息机制保证了应用系统间数据传输的可靠性。
[0021](5)易扩展:由于系统之间使用的都是标准接口,所以可以比较容易地增加和减少参与集成的子系统。
【权利要求】
1.一种基于XML和中间件的异构数据库集成的方法其特征是将子数据库系统发生变化,创建的触发器,把变化的数据记录在相应的表中。
2.客户端程序定时时间到,读取记录数据变化的表,有数据存在,则提取变化数据,将其转换为XML文档。
3.将XML文档转换为TextMessage,发送到]MS服务器的主题或队列中。
4.监听该主题或队列的服务器端接收到该消息,通过相应转换工具将接收到的TextMessage消息解析成X札文档或DOM对象。
5.将得到的XML文档由映射文件转换为对应于中央数据库系统数据的XML文档。
6.解析XML文件,利用XML文件数据信息更新中央共享数据库,最终实现异构数据库集成共享和同步刷新。
【文档编号】G06F17/30GK103809946SQ201210446237
【公开日】2014年5月21日 申请日期:2012年11月9日 优先权日:2012年11月9日
【发明者】袁帅 申请人:镇江华扬信息科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1