基于ORBIX的分布式数据库系统的设计与实现.pdf
基于ORBIX的分布式数据库系统的设计与实现
摘要:本文给出了基于CORBA的ORBIX分布式数据库系统结构。在此基础上,就使用
ORBIX实现分布式数据库系统的几个关键技术即分布式事务处理、交易服务、会话管理等
进行了研究
关键词:CORBA;ORBIX;分布式数据库;资源管理器;XA接
ABSTRACT:TheORBIXdistributeddatabasesystemarchitectureisgiveninthisthesis.
Onthisbasis,Severalkeytechnologysuchasdistributedtransactionprocessing、trader
serviceandsessionmanagementetc.inthedevelopmentofdistributeddatabasesystem
areresearched
KeyWords:CORBA;ORBIX;DistributedDatabaseSystem;Resourcemanager;XA
Interfac
物理上分散而逻辑上有集中是分布式数据库系统(DDBS)的最显著的特点。DDBS的实现实
际上就是将分布在不同地理位置上的集中式数据库系统通过相应的软件连接起来构成逻辑
上统一的数据库系统。而对于任何节点用户来说使用DDBS就好象在使用一个集中式数据
库。CORBA规范是目前最为流行的应用最广的分布式对象技术。CORBA的目的是定义
一套协议,符合这个协议的对象可以互相交互,不论它们是用什么样的语言写的,不论它
们运行于什么样的机器和操作系统。从而简化了简化本地与远地对象间的通信,使之以透
明的方式实现互连、互通与互操作,免去繁琐易于出错的底层工作,使大型分布软件开发
工作相对地提高速度并增加其可靠性[1]
2相关技
在分布式数据库应用的设计过程中需要解决分布存储、分布式查询处理、逻辑互联、网
络信息传输等问题,其复杂性导致软件开发成本高、开发周期长。所以在开发过程中若
能充分利用现有的分布式计算技术,将极大提高分布式数据库的开发效率[5]
(1)CORBA的主要内容包括:IDL接口定义语言、ORB核心、OA对象适配器、IDL桩
、IDL构架、DII动态调用接口、DSI动态程序构架接口、GIOP协议[1]
(2)Orbix是IONA公司研制的基于库的CORBA规范实现,支持Windows、OS/2、各种
UNIX等20余种操作平台。Orbix是建立在IONA的ART(AdaptiveRuntimeTechnology)技
术之上的。ART高效的模块化结构允许在运行过程中添加新的功能模块,只是通过改变配
置的设置就可以完成。这样大大的缩减了开发时间[2]
3基于ORBIX分布式数据库系统结构
如图1为基于Orbix的分布是系统结构。其中每个客户端Orbix对一个客户应用程序,每
个服务器端Orbix对应一个服务器应用程序。使用XA接口,使全局事务的提交是由交易
服务控制,应用程序只需通知交易服务提交或回滚事务,就可以控制整个事务(可能涉及
多个异地的数据库)的全部提交或回滚,应用程序完全不用考虑冲正逻辑。XA协议属于
X/OPENDTP(DistributedTransactionProcessing)模型中的一部分,是中间件产品与数
据库之间的标准协议。采用ADO作为数据库连接工具,从而简化了数据库访问的开发过
程,数据访问更快捷,支持当前流行的各种数据库格式,有利于使用当前已有的数据资源
4ORBIX分布式数据库系统实
4.1分布式事务处
事务指一个程序或程序段,在一个或多个资源如数据库或文件上为完成某些功能的执行过
程的集合。为了支持面向对象、分布式、事务处理应用,实现了(1)对象事务管理器。
(2)X/OpenXA接口。(3)两阶段提交(2PC)[4]协议
4.1.1分布事务管理
数据库,支持本地事务。当一个应用需要两个或多个资源管理器参与同一事务时,某第三
方必须提供必要的协调以保证分布式事务的ACID属性
应用程序使用事务管理器创建事务。处理期间访问的每个资源管理器都是一个事务的参
与者。因而,当应用程序完成事务时,要么一个提交请求,要么一个回滚请求,事务管理
器与每个资源管理器联络
4.1.2OTS和X/OpenXA