UML软件工程组织

异构的多媒体与空间信息共享
作者:易宝林 曹忠升 肖力 选自:www.tongji.edu.cn

目前,人类在信息技术领域面临着这样的局面:一方面,一些应用领域要求管理越来越复杂的信息,这些领域(如CAD/CAM、CIMS、CASE、GIS)数据类型众多,具有诸如多媒体、空间数据、科学数据、地理数据等复杂数据类型,这些数据类型较传统数据复杂,因此,它们提出了用数据库技术和系统来管理这些复杂数据的要求,以图获得数据库系统所具备的许多数据管理功能,如恢复、并发控制、完整性、存储管理等;另一方面,由于网络技术的蓬勃发展,信息处理早已从单用户环境发展到网络环境,这种环境为资源、信息的共享提供了极大的方便,并且由于多机协同工作可以大大提高工作的效率。这两者的结合要求数据库管理系统能够在异构环境中管理复杂数据对象,本文以国产数据库管理系统DM2为例,介绍了异构环境中的多媒体和空间数据的共享机制。

异构环境的集成
 

----产生异构问题的原因在于:1. 多种机器型号的不同,这些机器包括PC机、小型机、工作站甚至大型机和巨型计算机,各种型号不同的计算机在协调工作时必然存在着硬件设备兼容性的问题;2. 多种操作系统的存在,目前,流行的操作系统有Windows、Unix、Linux等,不同的操作系统在协调工作时同样存在着如何进行通信的问题;3. 多种网络协议标准的存在,如TCP/IP、DECNet、NETWare等,这些协议在实际应用中各有特色。各种协议支持的应用系统越来越丰富,而且这些协议之间存在兼容性的问题。除此之外,还存在着数据库的异构问题以及多媒体和空间数据因格式和执行标准不同而产生的异构问题。所有这些使得用户面临着这样一个问题:在异构环境下各应用之间如何进行信息交流和共享?

----为了实现在异构环境中的信息交流和共享,人们采用了诸多方法来实现异构环境的集成处理。集成处理时充分利用操作系统的特点来实现对设备的管理,从而使得OS支持不同型号的机器设备;对网络进行集成处理的本质在于协议的集成,但到目前为止还没有一种统一的方法来实现这种集成。常见的方法有:

----直接法 该方法运用网桥(Bridge)、路由器(Router)和网关(Gateway)等网络设备直接实现集成。这种方法适用于对所需要的协议间的通讯是明确的情况,不足之处在于方法的通用性较差。

----枚举法 该方法在同一台机器上保存多种协议,根据不同的应用调用相应的协议驱动模块。这种方法实现起来非常方便,但执行时要增加对协议的全局控制使得数据处理效率受到影响。

----中间件法 这种方法可以看做枚举法的扩展,它通过在应用层和协议之间加入中间构件来完成集成功能,当协议发生改变时只需更新驱动模块,从而增加了灵活性,但该方法选择合适的中间构件比较困难,而且集成的执行效率比直接法低。

----COM/DCOM COM是微软公司、原DEC公司及其他一些公司所支持的一种软件结构“工业标准”。COM作为一种组件软件体系结构,它通过定义对象之间互操作的二进制接口标准来提供一种强有力的集成技术,为软件复用和信息共享提供极大方便,同时COM允许组件共存于相同进程空间或不同的进程空间,甚至支持运行在不同机器上的部件进行跨网络的互操作,并且这些差异对那些开发部件对象或开发使用组件对象的客户程序而言是透明的。DCOM是为支持分布式操作而对COM标准进行的扩展标准,DCOM主要负责网络协议底层的细节问题。COM/DCOM并不是唯一的标准,与之竞争的还有OSF的CORBA标准。COM/DCOM结构原理如图1所示。

----对于数据库异构集成主要侧重于异构分布式数据库集成研究。这种集成技术是将参与数据库的有关信息在逻辑上集成为一个属于异构分布式数据库的全局概念模式,以达到信息共享的目的。实现策略首先是通过模式翻译器将局部数据库模式以某种公共数据模型为基础映射成局部集成模式;然后,通过模式集成器将各个局部集成模式根据用户的需要采用全局数据模型来定义,最终成为全局概念模式。在集成过程中应当遵循的基本原则是:共享数据访问的透明性、各个局部数据库的自治性。当前,基于C/S模式的数据库之间的互连互访主要通过ODBC、存储过程等方式实现。尽管如此,在多媒体和空间数据的支持方面却显得十分脆弱。

DM2对异构环境的支持
 

----DM2是华中科技大学达梦数据库与多媒体研究所开发的,自主版权的分布式多媒体数据库管理系统。该系统除了具有一般通用的关系数据库功能外,还能对多媒体数据和空间数据进行直接管理,由于采用分布式体系结构,使得该系统能够支持异构环境下的应用开发。

----体系结构及特点

----DM2在体系结构方面采用客户/服务器的模型。整个系统可由多个服务器和多个客户机组成,客户机与服务器、服务器之间均通过网络互连,通过消息机制进行通信,组成一个分布式数据库管理系统。

----这种结构具有以下特点:

DM2核心在服务器上运行,各个服务器互相协作共同完成客户对数据库的各种请求,每个服务器可以通过服务器接口向其他服务器发出命令并接收处理结果,或通过远程访问接口接收、处理远程服务器发来的命令。
服务器和客户机可以动态随机地增加,同一台计算机既可以作为服务器又可作为客户机,此时客户与服务器仅通过系统内的消息进行通信。 C/S模式有利于DM2服务器进行异构平台间的数据共享和文件管理,由客户和服务器共同解决共享数据的定义和解释及有关的处理操作,从而分解了问题的难点,使得网络负载趋于平衡。
----异构环境的支持

----DM2的设计和运行考虑了国内流行的软硬件平台,从而使得它支持异构平台的运行。其硬件平台包括X86系列的PC机、Alpha机、Sun工作站、曙光机等。

----服务器可以建立在不同的操作系统平台上。支持的 OS有:Unix(AT&T Unix、Sco Unix、 Cosix、Uniware)、Linux、Windows NT、Solaris、 AIX;客户端支持的OS有Unix、 Windows95/98/NT、Solaris等。

----DM2之所以支持异构平台环境的运行,是因为它集成了TCP/IP、IPX/SPX等网络协议,向外则提供了自己的应用开发工具和开放式的互连接口。一些常用的开发工具有DM2_ISQL、Pro*c、Pro*Ada等;开放式的互连接口包括 ODBC、JDBC、API等,如通过ODBC用户可以访问不同厂商的数据库管理系统,也可用 DM2与其他流行的DBMS组成一个异构型的分布式数据库,但在客户机上访问数据库时完全感觉不到异构系统的存在;JDBC作为Java与数据库的接口规范,DM2同样实现了JDBC 驱动程序,使得基于DM2 JDBC的程序不仅能够实现跨平台(OS平台、DBMS平台)操作,还可以在Internet/Intranet环境下基于异构系统平台,实现对异构数据库的查询和联合使用,客户端只需要一个Web浏览器即可。此外,DM2的开放数据接口可以与各种流行系统共存于一个系统中。

多媒体与空间信息共享机制
 

----DM2的上述结构特点为在异构环境下实现多媒体和空间信息的共享提供了切实可行的解决方案。

----多媒体与空间数据的表示

----多媒体与空间数据比传统数据复杂,因此用传统的关系模型进行存储和处理不太方便,效率也受到影响,同时关系模型的规范化理论要求数据具有原子性,这些都限制了多媒体数据与空间数据的使用;处理复杂对象的理想数据模型是采用面向对象的数据库模型,但OODB尚有许多理论和实现技术没有得到根本解决,用户能接受的OODB产品很少。针对这种情况,一些DBMS扩展了一种BLOB的数据类型,以存放多媒体和空间数据,但这是一种没有任何语义解释的字符流方式,由此给用户的应用开发带来了不便。

----DM2则采取了一种关系—层次—面向对象的混合数据模型。用户在界面层采用SQL语言来操纵数据库中所有对象,包括多媒体和空间信息,数据在逻辑表达和程序设计方面则采用面向对象的方法,在物理存储上采用层次结构,通过上下层关系解决存储嵌套数据的问题。

----DM2在上述混合模型的基础上为解决多媒体和空间数据的存取问题,专门扩展了两类数据类型。即:

多媒体数据类型:SOUND、TEXT、IMAGE 分别存取声音、文本和图象(静态的、视频的);
空间数据类型:PICTURE(下层关系)、 ADJION(邻接图)、SUBMAP(下属图)、SORT(对象编码)、NAMEXY(注记)、 VARDOT(变长坐标串)、ZONE(独立点)等。
----这些扩充的数据类型与常规数据类型一样使用,给用户开发带来了极大的方便。

----共享环境的实现

----DM2多媒体和空间信息的存储对于用户是透明的。这些数据都以非文件方式存放在DM2服务器端,服务器采用分区的概念将用户所有多媒体数据和空间数据分别存放于专用数据分区和用户数据分区中,这些分区作为DM2物理数据库的一部分,每一个分区对应于一个操作系统的外存文件,分区文件由DM2系统自动建立而无需用户干预。分区的目的在于允许把某一类应用密切相关的数据存放在一个数据分区中,而把另一类应用密切相关的数据存放在另一个数据分区中,这样可以提高系统的效率。此外,对于分布到不同服务器的数据,为了获取数据,服务器可以通过全局数据字典获取分布站点信息以建立联系从而共同协作完成任务。

----对于客户而言,一方面可以运用DM2提供的应用工具进行应用开发,另一方面可以通过DM2提供的开放数据接口(如ODBC、JDBC和API)进行应用开发。客户虽然处于异构环境中,但只要能够连接到代理站点上,那么服务器之间的通信以及数据在多个服务器间的分布对用户是透明的。对于多媒体和空间信息通过向客户提供多媒体与空间信息存取、识别、播放等组件来实现信息查询浏览功能。不仅如此,客户还可以通过网络实现相互间的通信,并且可以对数据进行更新、删除、插入等基本操作。

----并发控制策略

----在一个多用户运行的异构环境中,由于经常要对数据库进行大量的操作,为维护数据的一致性和完整性,同时尽可能提高系统运行的并发度, DM2同其他数据库系统一样对事务采用了并发控制的策略。

----DM2中对事务采用了多线程调度方式,即在一个操作系统进程中处理多个用户的事务,对于支持多线程机制的操作系统,DM2直接利用其功能完成事务的调度;对于没有提供多线程机制的操作系统则自行实现了多线程机制。线程是 DM2的并发调度的执行单位。

----此外,DM2服务器进程提供了公有缓冲、私有缓冲和后映像文件三种缓冲方式,对不同缓冲区采用不同的控制策略。具体来说有以下方法:

对消息通信区实行互斥访问;
对系统缓冲区实行互斥访问;
对用户进程中事务申请的资源(如表、块、视图)采用封锁机制;
事务的提交采用两阶段确认方式;
死琐检测。
----从并发控制角度来看,DM2对多媒体和空间信息的处理同常规数据处理处于同等地位。

----完整性维护

----为防止用户随意更改或删除多媒体和空间信息而造成完整性遭到破坏,可以利用DM2所提供的约束机制来保证系统数据的完整性,约束机制有:

在用户建表时给出完整性约束;
主动规则约束;
权限机制。
----分布式多媒体数据库管理系统DM2由于其本身的分布特性和对多媒体及空间数据的支持,使得其在异构环境中能够管理多媒体及空间信息等复杂对象,具有其他数据库系统所没有的独特功能。从实际运行在Unix和Windows NT平台的应用看,其管理多媒体和空间信息的效率、性能和健壮性都是令人满意的。

----当然,IT行业技术发展是日新月异的,数据库技术也不例外。随着实际应用领域的不断拓展和研究的深入,数据库在理论和实践方面面临着许多新问题,仅仅就多媒体和空间信息而言,多维空间数据查询与索引技术、基于内容的检索、组件/对象技术等等都是当前的研究热点。DM2作为完全自主版权的数据库系统同样是任重而道远

 

版权所有:UML软件工程组织