王宜东
国家林业局大兴安岭地区规划院黑龙江大兴安岭165000
摘要:数字林业数据库的建设过程中,数据共享是核心问题之一。解决数据共享问题的最简单有效的方法就是数据转换。不同的部门分别建立不同的系统,当要进行数据集成时,先将数据进行转换,转为本系统所支持的数据格式再进行应用。本文研究了异构数据集成的相关理论和技术,结合XML技术的优势,用基于XML文档的通用数据交换方法,解决了完善数字林业数据库的问题。
关键词:数字林业数据库;异构数据;XML
一、基于XML的数据集成概述
1、XML的特点。XML(ExtensibleMarkupLanguage)作为一种可扩展性标记语言,其自描述性使其非常适用于不同应用间的数据交换,而且这种交换是不以预先规定一组数据结构定义为前提。XML可以脱离具体应用来描述保存在异构环境中的各种数据,其他系统应用能直接对这些自描述的XML文件中的数据进行操作,XML最大的优点是它对数据的描述和传送能力。XML实现了数据不仅与平台无关,而且与厂商无关。XML可作为中介格式,异构数据源之间可保持相互透明,不再需要知道对方内部存储格式。某个数据源内部的变更,也不会影响其他数据源,因此XML为各异构数据源提供了理想的缓冲。由于XML的自定义性及可扩展性,它足以表达各种类型的数据,作为独立于平台和设备的结构化数据表达方式,它有效地实现了异构数据源之间的对话。
2、XML与数据库的关系。数据库是数据存储的地方,与平台相关,而XML更适合于动态的数据传输和交换,与平台无关。许多数据库厂商在自己的引擎中增加了对XML的支持,采用XML作为数据模型异构数据源系统用户视图,用XML实现异构数据源的共享,向用户提供XML模型的统一的用户视图,使XML成为异构数据源之间的桥梁。
XML与数据库交互需要同时借助XML编程接口和数据库编程接口,前者用于对XML文档的解析、定位和查询,所需技术包括DOM(DocumentObjectModel)和SAX(SimpleAPIforXML)等;后者则用于访问数据库,如数据库中数据的更新和检索等,相关技术有JDBC、ODBC等。在异构平台中,经常会遇到一些数据库存在数据表达等方面的差异,如一些关系表中字段的命名不同、数据类型不等。这些差异将在不同程度上给数据库之间数据信息的共享和交互造成困难。采用XML转换器进行数据库之间数据信息的交互将能够解决上述问题。因为每个XML文档有各自的Schema,Schema中定义了相应XML文档的结构、元素、标记、属性等信息,这些差异在XML文档中就体现为XML的Schema不同。
XML提供了一种连接关系数据库和面向对象数据库以及其他数据库管理系统之间的纽带。XML文档本身是一种由若干节点组成的结构,这种特点使得数据更适宜于用面向对象格式来存储,同时也有利于面向对象语言(C++、JAVA等)调用XML编程接口访问XML节点。
二、数据交换模型体系结构
在基于XML的异构多数据源信息访问的解决中,采用最具可扩展性的中间件技术来实现。该方案中采用XML解决了各种类型数据库及其应用系统的异构问题。
传统的数据库应用模型通常是采用三层架构来实现的。第一层为客户端程序,一般通过Web服务器来传递客户端程序的请求、接收响应结果。第二层为应用层,一般实现与数据库系统的连接和应用,通常采取在Web服务器端提供中间件来连接Web服务器与数据库服务器的认识方法,中间件负责管理Web服务器和数据库服务器之间的通信并提供数据给应用程序服务,它能够直接调用外部程序或脚本代码来访问数据库,因此可以提供与数据库相关的动态HTML页面。第三层是数据层,提供所需要的数据。数据库服务器数据层在传统的三层应用结构中,从客户端浏览器到Web服务器,再到API或CGI之间的数据都是基于HTML的。根据XML本身的特点,本研究对网络数据交换进行如下的模型设计:保持传统的三层结构不变,在应用层使用XML来代替HTML作为网络数据交换中的标准格式,ML的应用框架也是分为三层:数据层、对数据进行处理的逻辑应用层、数据显示与进一步处理的客户层。数据层一般都是指后端数据库服务器,它们可能是SQLServer,也可能是Oracle;应用层一方面从Web服务器接收用户的数据请求,另一方面完成在异构数据库之间通过XML进行数据交换,并将交换后的数据在客户端上发布;客户层实际上就是一个具有Web浏览器的瘦客户端,用户借助它来定制、执行所需要的数据交换工作。
(1)客户层:客户层只需要浏览器,所有的数据交换请求通过浏览器发出,交换的结果也返回到客户端浏览器;
(2)应用层:Web服务器、数据交换核心、JDBC驱动构成平台的应用层,数据交换模块;
(3)数据层:由各种不同的异构数据库构成,这些数据库可以是本地的,也可以是远程的;
(4)数据交换处理模块:该模块根据用户所提出的数据交换请求,按照交换规则所设置的数据交换参数(数据库及其相应参数),通过JDBC连接指定的数据库并提取相关的数据。数据提取完成后经过数据类型及数据格式的转换形成XML格式的文档。
三、课题设计方案
根据数字林业的实际需要,同时为了实现以上异构数据库数据交换的设计思想,提出如下的集成方案:
(1)能实现基于多种应用系统的数据综合查询,所查询的数据以WWW方式显示在页面上。
(2)完成从某一应用系统的数据库的一个或多个表中数据转移到另外一个应用系统的数据库的指定表中。
(3)根据用户所需在两个系统中实现语义级的转换,其转换规则取决于用户自己对的XML转换规则文档的填写。
(4)当一个应用系统升级或重新开发后,利用本系统可以将旧系统数据库中的数据根据新系统的要求升迁到新数据库中。
(5)数据交换的请求与操作的结果均通过用户在WEB页面上进行,要求用户界面友好,操作简便。
结束语
综上所述,本文研究了异构数据集成的相关理论和技术,解决了数字林业技术中关系数据库系统间的异构数据的信息交换问题。即在JAVA环境下,借助于JDBC,DOMAPI等技术,在两个数据库之间以XML作为媒介,实现对现有数据库的访问。整个研究的设计立足于通用、灵活、易于使用、可移植并且可扩展。经实验验证,该机制具有通用性,适应广泛。
参考文献:
[1]靳强勇,李冠宇,张俊.异构数据集成技术的发展和现状[J].计算机工程与应用,2002(11):112.
[2]王春枝,纪利群.利用XML实现异构数据库间互访[J].微型机与应用,2002,(8):13-14.
[3]周园春,李森,张健,等.中间件技术综述[J].计算机工程与应用,2002:80-82.
[4]王宁,王能斌.异构数据源集成系统查询分解和优化的实现[J].软件学报,2000,11(2):222-228.
[5]DinoEsposito.建平,等译.Microsoft.NETXML程序设计[M].北京:机械工业出版社,2003:335-384.