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毫秒