Database 版 (精华区)
发信人: joy ( 雨送黄昏花易落), 信区: Database
标 题: 异构数据库集成方案的改进
发信站: 紫 丁 香 (Sun Jul 26 10:16:07 1998), 转信
异构数据库集成技术的发展现状
目前,异构数据库集成已经成为一个比较热的研究课题,并且已经
取得了一定的成绩。从技术角度,主要有以下几种方法:
1.公共编程接口;
2.专用数据库网关(Gateway);
3.公共协议。
这几种方法基本上都是基于客户 /服务器体系结构的。从产品角
度,主要有以下几种:
1.以客户机程序身份出现的数据库前台开发工具;
2.各数据库厂家推出的依托于自己数据库的集成产品;
3.利用各种工具、技术开发的特殊的数据库集成应用。
这些产品在一定程度上满足了实际应用的部分需求,但还存在着
许多技术难点和不足之处,主要有下述几方面:
1.数据库网关(Gateway)产品的双向通讯问题;
2.访问DOS等其它环境下的异构数据库问题;
3.微机数据库不能作为数据库服务器的问题。
这些问题的存在,大大阻碍了异构数据库集成的研究和应用。
本文以863/CIMS重点应用工厂的需求为背景,提出一种改进的异
构数据库集成技术。
对异构数据库集成技术的改进
一、新集成方案的提出
目前,异构数据库集成技术主要采用下面两种结构:
1.第三方厂家采用的结构(如图1所示):
图1
PowerBuilder所采用的就是这种结构,它针对不同的数据库提供
了ODBC(Open DataBas Connectivity)接口和/或各种专用接口。在这
种结构中,微机数据库是作为文件系统在本地进行处理的。
2.各数据库厂家采用的结构
在实际的分布式数据库应用系统中,各数据库厂家为自己的产品
扩充了新的功能,主要是为了使自己的产品能够访问其它厂家的数据
库,结构如图2所示: 图2
在这种结构中,数据库之间的通讯是单向的。
上面的两种结构基本上能满足实际应用的大部分需求。但在863/
CIMS重点应用工厂中系统的结构不仅仅是简单的两级C/S结构,甚至存在着三级或多级C/
S结构;系统不仅要求保护用户在数据库上的投资,而且要求最大程度
地保护用户在软件开发等方面的投资。这些要求,仅用上面的两种结
构是无法满足的。因此,作者在实际应用研究中,提出了新的结构(如
图所示)。
在图3的结构中,具有下述特点:
·改进每个数据库系统既可作为Client,又可作为Server,由DBCA
(DataBase ClientAgn t)作Client和Server之间的代理。
·把微机数据库和数据库服务器放在了等同的地位,由DBCA协助
微机数据库实现数据库服务器的功能。
图3
·对传统的两级C/S模式作了扩充,屏蔽了客户对异构数据库的直
接操作;客户的所有异构数据库操作请求由数据库客户代理DBCA统一
处理,并进行相应的异构数据库之间数据转换等操作,对客户提供数据
的双向流通功能。
·DBCA以服务器进程的形式活动在集成后的系统中,对用户提供
一系列标准的服务项,用户只要向它送一条命令或几个参数,它就可以
完成用户对不同数据库的操作。这在一定程度上保护了程序员的利益
;对用户以前开发的软件进行升级也提供了很大的方便,用户只需在客
户端进行简单的修改,而不用关心DBCA是如何对异构数据库进行操作
的。
DBCA通过ODBC调用实现对支持ODBC标准的数据库的通用,通过专
用接口实现对特殊数据库的操作,并把操作结果放在专用缓冲区中。D
BCA提供在专用缓冲区和ODBC缓冲区之间的数据转换,达到专用数据库
和其它数据库的通用;对其它平台的数据库的操作也在专用接口部分
实现。
DBCA具有以下功能:
·以服务器和客户的双重身份活动在集成后的分布式系统里。
·完成多个不同数据源间的相互协议转换。这是DBCA的基本功能
,其中的协议转换关系是多对多关系。
·具有数据源选择、判断功能。DBCA应该根据不同客户的不同请
求自动完成对不同数据源的选择,从而确定应该进行怎样的协议转换
。
·最大程度地提高透明性和各节点的自治性。
·具备良好的扩充性。
除了支持标准ODBC接口外,还具备各种专用接口,如OCI、API等,
力求能适应较多数据源的要求。
编者注:这种结构中的DBCA是否负荷很大?请广大读者发表意见。
二、DBCA的功能划分
如前面所述,DBCA起着Client和Server的双重作用,这两重作用可
以集成在一个模块中实现。在实现时,考虑到用户操作的方便和编程
的方便以及软件的扩充和移植性,这两种功能是作为Client和Server
两个模块来分别实现的。在运行时,这两个模块又有机地结合在一起
使用。其结构如图4所示:
图4
在图4中,Client进程为用户提供了一套丰富的数据库操作界面,
包括对数据库的查询、增、删、改等各种操作。一般情况下,Client
进程的各种数据库操作通过ODBC Driver提交给数据库服务器,由数据
库服务器完成。或者直接对本地微机数据库进行操作,完成用户的各
种要求。对远程微机数据库的存取有一定的难度,这也是当前异构数
据库集成中的一个难点,造成这个问题的主要原因是微机数据库不能
作为数据库服务器。因此,图4中,Server进程的主要作用是解决对远程微机数据库的存取问
题。Server进程的另一个作用是为程序员提供了一个一致的编程模块
,程序员可以在自己的应用程序中按照一定的规范调用Server进程,达
到对异构数据库的透明访问。
三、Server进程的功能分析
图4中Server进程主要有下面两种功能:
1.为用户提供对异构数据库的透明访问
这个功能的工作原理如图5所示:
图5
2.实现对远程微机数据库的访问
这个功能在实现方式上采取把DBCA的Server进程按照功能分割为
本地进程(Local Sere r)和远地进程(Remote Server)。Local Serve
r负责响应本地Client的数据库操作请求,并把这种请求通过调用网络
功能把请求传给Remote Server,Remote Server根据这种请求通过OD
BC调用微机数据库并进行一系列的数据库处理,然后把处理结果传给L
ocal Server,Loca Se rver再把结果传给Client,其工作流程如图6所
示。图6
这种工作方式为对等工作方式,要求远程工作站和本地工作站的
软件平台基本相同,至少都应该配备Windows平台,且具有ODBC管理器
。每台需要异构数据库操作的工作站都要安装运行Local Server和Re
mote Server,以满足本地工作站和远程工作站对异地微机数据库的异
构数据库操作,其结构如图7所示。
图7
--
※ 来源:.紫 丁 香 bbs.hit.edu.cn.[FROM: 202.118.229.129]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:2.971毫秒