分布异构环境下数据库访问技术的研究

时间:2022-06-25 06:25:26

分布异构环境下数据库访问技术的研究

摘 要: 详细分析了当前分布异构数据库访问技术的研究现状和发展趋势,结合Web Services的优势构造了一个基于Web Services的分布异构数据库访问系统,并阐述了系统的实现过程。该系统能够有效地支持分布式数据查询,数据源透明并且支持跨平台检索。

关键词: 分布异构; 数据库访问技术; Web Services

中图分类号:TP301 文献标志码:A 文章编号:1006-8228(2012)05-01-02

Research of database access technology for heterogeneous distributed environment

Liu Fang1, Yang Chang2, Pi Biyuan1

(1. Engineering College of Jiangxi yuzhou scientific vocational college, Xinyu, Jiangxi 338029, China;

2. The Pinghu campus of Jiaxing University Institute of computer)

Abstract: The status and development trend of Database Access Technology for Heterogeneous Distributed Environment is analyzed, Combined the advantages of web service, a model of database access system based on Web Services for Heterogeneous Distributed Environment is constructed, and then the system implementation process is elaborated, This system can achieve distributed data query, and data source is transparent and supports cross-platform retrieval.

Key words: heterogeneous distributed; database access technology; Web Services

0 引言

网络技术的迅速发展,为企业与企业之间实现资源共享提供了可能。然而企业内部各个部门所使用的数据库系统往往不相同,不同企业所使用的数据库系统也可能不一致,随着企业内部各部门之间以及企业与企业之间的联系日益紧密,迫切需要把这些相对孤立的信息资源有效地统一起来,提高信息资源的共享程度。在这种分布异构环境下实现不同数据库之间数据资源的共享,成为当前信息化建设过程中急需解决的问题之一。

1 研究现状及发展趋势

把异构数据库集成起来,给用户呈现一个通用的数据视图,是有效解决异构数据库访问的关键。目前常用解决异构数据库集成的方法主要有数据库迁移和转换、多数据库系统和中间件[1]技术等。数据库迁移和转换方法的主要原理是,通过数据类型的转换实现格式的一致性,使得数据源中的数据迁移到新的数据库管理系统能够被有效管理。然而这种方法在对数据进行更新时很难达到同步,往往不能应用在数据更新比较频繁而实时要求较高的情况下。

多数据库系统是一个能够实现对多个异构数据库进行有效管理的系统,它呈现在用户面前的往往是一个集成度较高的结构而其内部又能实现各个异构数据库的自治,系统相对比较成熟,然而扩展性较差。多数据库系统主要有全局模式和联邦数据库系统两种类型,由于缺乏相应的统一标准,需要进行某些特定的限制条件才能实现,其灵活性和通用性比较差。

中间件是一个介于异构数据库系统和应用程序之间的统一接口,其作用主要是协调各数据库系统并且给应用程序访问集成数据提供相应支持。图1所示是一个利用中间件技术实现异构数据库访问的常用模型。

[用户][数据集成和查询处理器][包装器][包装器][包装器] [数据库] [数据库] [数据库]

图1 基于中间件的异构数据库访问模型

中间件能够有效地解决异构数据库系统中数据冗余以及不一致的问题,呈现给用户的数据视图是一致的,并且可以通过统一的查询语句实现相关的应用,有效地屏蔽了异构数据间的差异,集成后的所有数据从用户角度来说都是统一无差异的。基于中间件的异构数据库集成方法,根本不需要对原始数据的存储和管理进行改变,有效地解决了数据同步的问题,同时能够保证各个异构数据库的自治性。目前,中间件技术是实现对异构数据库系统进行有效访问的理想方案[2]。

2 基于Web Services的异构数据库中间件

从数据库应用的角度来说,网络上的每一个节点中的资源都可以看成是一个数据库,每一个节点就相当于一个数据源。可见Internet就是一个大型而复杂的分布异构数据库环境,用传统的数据库管理系统已经难以有效解决分布异构数据的通讯问题,实现异构数据集成系统中的互操作,成为解决分布异构环境下数据库访问的关键问题。

分布式技术将网络上的资源相互连接起来,对外表现为一个统一的整体,对用户是透明的。面向对象技术通过封装、继承、多态等技术提供了良好的代码重用机制。分布式对象技术为网络计算平台上软件的开发提供了很好的解决方案[3]。目前三大主流分布式对象中间件技术是,公共对象请求体系结构(CORBA)、分布组件对象模式(DCOM)和JAVA企业应用组件技术(EJB)。表1所示为三种主流分布式对象中间件技术的比较。

表1 三种主流分布式对象中间件技术的比较

[[接口定义

开发语言\&CORBA\&OMG IDL接口支持多语言\&DCOM\&与C++紧密集成\&EJB\&JAVA RMI API接口定义\&平台

通信\&CORBA\&支持异构平台间通信\&DCOM\&仅限WINDOWS平台\&EJB\&几乎所有OS和WEB服务

器、览器\&]]

异构数据集成系统中的互操作,可以利用前面介绍的CORBA、EJB和DCOM等技术来实现,但它们过多地依赖于特定的对象模型,支持特定的通信协议,而无法在Internet环境下发挥作用。利用Web Services具有的完好封装、松散耦合和规范协议高度集成能力等特性,可以对每个数据源创建一个Web Service,然后使用WSDL向服务中心注册,这样集成系统就可以向注册中心发送查找请求并选择合适的数据源,然后通过SOAP协议从这些数据源获取数据。这种方法很好地解决了分布环境下异构数据集成中数据通信的问题,具有简单性、开放性、灵活性、动态性、高效性、安全性等优势。

3 基于Web Services的分布异构数据库访问系统模型

基于Web Services的中间件给应用程序提供了一个访问分布异构数据的平台,通过这一平台,用户可以对分布在不同位置的远端数据源进行查询,实现了多个分布异构数据的资源共享。基于Web Services的分布异构数据库访问系统模型如图2所示。

该模型把整个系统划分为表示层、应用层、中间件层和数据层。表示层主要由各种应用程序和浏览器等各种终端设备构成,用户通过表示层能够访问部署在应用层服务器中的应用程序和服务。应用层的主要任务是实现与用户的交互,把中间件层返回的合成结果,根据用户的不同需求,以相应的格式进行包装后反馈到表示层,用户根本不需要知道数据源所处的位置、数据的存储格式以及具体的数据集成环境,获得经过所需要的中间件层和数据层处理后的结果。

图2 基于Web Services的分布异构数据库系统模型

中间件层是整个模型的业务处理核心,其主要任务有,请求服务、服务分解、服务结果、结果合成、注册服务、服务引用和服务管理。该层一般需要先进行初始化生成元数据。元数据相当于一个虚拟数据库,是依照服务管理的要求而产生的。用户提出某个请求时,由服务请求分解程序根据元数据中的映射关系将其分解为一个或多个服务请求,同时转到相应的服务引用去申请Web Service,由包装器打包执行结果并传回到中间件层,经服务结果程序处理后,再由结果合成程序形成用户所要求的形式通过应用界面反馈给用户。

数据层主要由各种分布异构数据库构成。为了能够高效灵活地集成这些分布异构数据库,较好地实现数据层与中间件层的通讯,每个数据源都有一个Web Service包装器,对数据源进行封装并进行,注册相应的Web Service。服务请求者调用服务后,服务管理程序根据请求执行相应的服务,然后把执行结果打包以SOAP形式传输到中间件层。

4 基于Web Services的分布异构数据库访问系统实现过程

结合上述基于Web Services的分布异构数据库访问系统模型,系统的实现可以划分为初始化和运行两个过程,如图3所示。

[用户界面][服务请求分解][服务引用] [服务请求][分解请求并将请

求转给服务引用] [UDDI(私有)] [Web Service包装器m][Web Service包装器n] [请求转给相应的

Web Services包装器] [数据源m] [数据源m] [服务调用][服务调用][服务结果] [结果合成] [结果处理] [合成结果]

图3 分布异构数据库访问系统实现过程

初始化过程主要是利用中间件系统实现元数据信息的生成。这一过程一般通过中间件管理员和各数据库管理员来完成。中间件管理员负责在中间件系统中完成对元数据定义的全局描述;各数据库管理员利用本地数据源包装器,负责完成相关私有服务的和注册,并通过中间件管理系统实现共享。

用户经应用界面进行服务请求,经应用层的应用服务器提交到中间件层的服务请求分解程序。服务请求分解程序根据元数据和各数据库管理员注册的共享信息,将其分解为多个服务请求,同时从服务注册中心获得相应服务的信息,通过服务引用将获取的信息打包并发送到相应的服务包装器。服务被执行后其结果被打包以SOAP形式发送给中间件层的服务结果程序进行结果合成,生成符合用户需求的规范信息返回到应用层,同时把最终结果在表示层上的相应界面显示给用户。

5 结束语

本文构造的基于Web Services的分布异构数据库访问系统,以中间件系统作为数据处理的核心,能够将多个分布异构数据库中的数据集成后以单一的接口返回给用户。该系统能够完成有效的分布式数据查询,数据源透明并且支持跨平台检索。当然,本系统在数据安全以及查询优化方面考虑还不够周全,将是我们后期的研究重点。

参考文献:

[1] 聂丽平,张维勇等.分布式异构数据库集成技术的研究与应用[J].合肥工业大学学报(自然科学版),2006.3:309~312

[2] 王越, 杨平利等.一种分布异构数据库集成中间件的设计与实现[J].微电子学与计算机,2009.7:80~83

[3] 李亚红,吴江等.基于Web Services实现异构数据库集成技术研究[J]. 计算机应用研究,2006.2:81~83

上一篇:基于多因素语义相似度的主观题自动评阅方法研... 下一篇:3DMAX在虚拟人穴位模型三维重建中的应用