[word格式] 基于角色的分布式事务处理模型设计
基于角色的分布式事务处理模型设计
第
20
5
056
期
年月
微机发展
MicrocomputerDevelopment
Vo1.15No.6
Jun.2005
基于角色的分布式事务处理模型设计
刘发军,李冠宇,一,张俊,谢益武
(1.大连海事大学计算机科学与技术学院,辽宁大连116026;
2.大连理工大学计算机科学与技术学院,辽宁大连116026)
摘要:传统的事务处理主要应用于数据库系统和操作系统领域.随着网络技术和分布式对象技术的飞速发展,在大型
的,分布的,异构的计算环境中也广泛引入了事务处理技术.通过比较分析目前主要分布式事务处理模型的优缺点,在异
构数据集成系统中设计一种基于角色的Agt~t分布式事务处理模型,
旨在异构数据集成系统中建立高性能,高可用性的应用.
关键词:事务;事务处理;角色;Agent;异构数据集成
中图分类号:11l1.5文献标识码:A文章编
号:1005—3751(2005)06—0025—03
DistributedTransactionProcessingModelDesignBasedonRole
LIUFa-jun,LIGuan—yu,一,ZHANGJun,XIEYi—Vvq.I
(1.DepartmentofComputerScien~andTechnology,IMianMaritimeUniversity,INlian116026,China;
2.DepartmentofComputerScienceandTechnology,IMianUniversityofTechnology,IMian116026,China)
Abstract:Traditionaltransactionprocessingwasappliedprimarilyinthefieldsofdatabasesystemandoperatingsystem.Withtherapidde—
velopmentofnetworkanddistributedobjecttechnology,transactionprocessingiswidelyintroducedintodistributedandheterogeneous
computingenvironment.Byoomparingandanalyzingmajordistributedtransactionprocessingmodelsatpresent,akindofAgentbasedon
roledistributedtransactionprocessingmodelisdesignedinheterogeneousdataintegrationsystem,aimingatestablishinghighper{lorrnance—
andhighusabilityapplicationinheterogeneousdataintegrationsystem.
Keywords:transaction;transactionprocessing;role;Agent;heterogeneousdataintegration
O引言
当前,政府部门,企事业单位及科学,军事等领域的活
动变得越来越依赖于计算机信息资源.而作为信息载体
的数据有结构化的,半结构化的和非结构化的,随着信息
资源种类的不断增多和信息的海量化,如何管理和保护这
些在地理上分布,管理上自治,模式上异构的异构数据对
现代化的信息社会有着至关重要的作用,因此这要求在异
构数据集成系统中引入事务处理技术来有效管理和使用
计算机信息资源.事务处理技术涵盖了对所存储的信息
和应用程序加以管理两方面的技术,它经历了从面向大型
计算机,小型计算机到分布式系统3个重要时期,如今在
分布式计算领域,分布式事务处理技术已经成为构建高可
靠性,高稳定性分布式应用系统的关键.
1分布式事务
事务是指对特定共享资源的一组不可分割的操作,具
收稿日期:2004—1O—O6
基金项目:国家自然科学基金资助项目(60172043)
作者简介:刘发军(1979一),男,湖南祁阳人,硕士研究生,研究领域
为软件理论与软件工程.
有原子性(Atomicity),一致性(C~nsistency),隔离性(Isola.
tion),持续性(Durability).即一个事务具有ACID特性.
原子性:事务所包含的操作要么全部执行,要么全部不执
行;一致性:保持在事务前后,事务所涉及的资源的数据一
致性;隔离性:事务中某个操作的中间结果对其他事务是
不可见的;持续性:事务一旦完成,其影响是持久的,它产
生的结果不可能被修改.
在分布式计算环境中,如果事务执行是在同一物理位
置进行,这个事务称为本地事务或局部事务;如果一个事
务访问了多个不同的独立资源,这些资源可能分布在不同
的应用中,或者不同的进程中,甚至不同的计算机上,称
这种事务为分布式事务,分布式事务同样具有ACID特
性[1l.
2分布式事务处理模型
随着分布式应用系统在规模,复杂程度,分布空间等
方面的迅速增长,系统对事务处理能力以及不同事务处理
引擎之间互操作等方面都提出了更高的要求.一个典型
的分布式事务处理系统是一系列事务处理引擎,数据和应
用程序所组成的集合,它们分布在网络不同的计算节点
?
26?微机发展第l5卷
上,在逻辑上属于同一系统,按照事务处理标准协同地工
作2.当前主要的分布式事务处理标准有:Microsoft的
MTS模型,Sun的EIB模型,X/Open的DTP模型和OMG
的(]rrs模型.
2.1MTS模型
模型基于Miemsoh的00M/I=,它为Win—
dows平台上的分布式应用提供了底层的基础设施,可以
把应用系统的客户程序与应用组件对象以及各种资源有
机地组织起来.在MTS应用中,所有的组件对象都运行
在MTS环境中,由运行环境负责并发性处理,资源管理,
事务管理,安全性管理等系统级的特性处理L3j.
2.2EJB模型
Em模型提供了和MTS模型类似的功能,EJB模型
是一个
规范
编程规范下载gsp规范下载钢格栅规范下载警徽规范下载建设厅规范下载
,而MTS模型是一个产品.EIB模型基于
B组件,模型中的各个部分包括应用服务器,EJB容器,
EJBS等均可以由不同的开发者自行提供,从而EJB模型
保证了它们可以实现理想的互操
作[3I.
2.3DTP模型
DTP模型是OpenGroup提出
的一个分布式处理模型.模型由4
个部分组成:应用程序(AP),资源
管理器(RM),事务管理器(TM),
通信资源管理(CM).模型定义了
XA和TX两个接口用来连接,协调
模型的4个部分,同时提供事务界
定服务.DTP模型面向过程.
2.40Is模型
的,它们分布在网络的各个计算节点上,这些节点平台有
Windows平台,Linu)【平台和Unix平台.根据这个特点和
以上分布式事务处理模型特点,异构数据集成系统中的事
务处理模型要求既能跨越平台,又要能对现有老系统可兼
容和对未来应用需求可扩展.
3.1SORE异构数据集成系统
SORE(SimplifiedObjectRepository)系统是本课题小
组提出的基于(X)RBA技术的智能异构数据集成系统,该
系统通过0()咫A封装技术结合公共数据模型(I7DM)对
局部异构数据源进行包装,包装后的(X)RBA对象对外提
供统一的访问接口和标准的数据交换格式.在客户端,用
户看到的只是一个全局公共模型和全局的数据操作;在集
成内部,实际的用户数据操作被集成系统分解为针对各数
据源的子操作,子操作结果再由集成系统汇总返回给用
户.图1是描述了基于(X)RBA”软总线,软构件”思想的
SORE集成系统框架4j.
o数据表对象(corba对象)??集成处理对象(eorba对象)
0(的(]rrs模型是在I]rrP模型基础上定义的,
(]rrs模型把函数形式的XA和TX接口替换成了(X)RBA
IDL接口,模型中的各种对象通过在IIOP(IntemetInter
—
ORBProtoco1)之上的(X3RBA
方法
快递客服问题件处理详细方法山木方法pdf计算方法pdf华与华方法下载八字理论方法下载
调用来进行通信.
因此(]rrs模型为分布式事务处理提供了一个面向对象的
框架,它可以让分布在各个地点的对象参与到一个全局事
务中来.(]rrs模型面向对象,它既是语言独立又是平台
独立的.
2.5比较分析
从以上各种分布式事务处理模型来看:MTS模型基
于(X3M/DCOM,只适合Windows平台,不适合异构系统.
EIB模型基于EIB,跨越平台,适合异构系统,但限定只能
用Java语言.OMG的OTS模型是在DTP模型基础上定
义的,可以与DTP模型进行互操作,(]rrs模型既是语言独
立,又是平台独立的,因此它适合大型的,异构的分布式应
用系统.
3异构数据集成系统中事务处理模型
异构数据集成系统中的数据是异构的,分布的,动态
图lSORE系统集成框架
在S~DRE系统中各个对象分布在广域的地理空间中,
这些对象有结构化的数据表对象,半结构化的HTML和
XML文档对象,甚至还有非结构化的文件对象.在实施
应用的过程中,由于软硬件平台,执行速度方面都可能存
在较大的差异,很多相关的操作需要合并到一个事务中
来,以保证操作的原子性,从而保证系统的原子性.因此
在S~DRE系统中引入分布式事务处理技术为查询/转换服
务,目录服务提供操作上的可靠性,安全性,同时保证在对
共享资源访问前后数据的一致性,完整性.
3.2基于角色的Agent事务处理模型
为了满足既能跨越平台,语言独立,又能对现有老系
统可兼容和对未来应用需求可扩展的特点,因此S~DRE系
统中的事务处理模型构建在(X)RBA的(3rrs模型基础上,
它包括3个部分:ORB事务服务,事务性应用程序和事务
服务管理器.ORB事务服务实现了对象事务访问接口,
为事务性应用程序访问事务服务系统提供API,它在应用
程序初始化ORB时加载.同时事务服务还能够完成在事
务性应用问隐式或显式的事务传播L2j.在S~DRE事务处
理模型中事务性应用程序实现事务系统的应用业务逻辑,
第6期刘发军等:基于角色的分布式事务处理模型设计?27?
事务性应用程序通常有3种:事务发起者,事务性服务器,
可恢复服务器.为了能够访问事务服务,事务性应用程序
在初使化ORB时加载0I强事务服务,使应用程序具有访
问事务处理系统的能力.事务管理器是SORE事务处理
模型的核心部分,它为事务性应用程序提供事务处理方面
的服务,负责事务的创建,维护和处理过程的全面管理和
控制.
Agent是能为用户执行特定的任务,具有一定程度的
智能以允许自主执行部分任务并以一种合适的方式与环
境相互作用的软件程序J.Agent首先是智能化的,它对
环境具有响应性,自主性和主动性,同时Agent具有自适
应性,社会姓.Agent有静态和移动Agent之分,移动A.
gent除了有静态Agent的特性之外,还有节省带宽,均衡
网络负载等特性.因此SORE系统中基于Agent的事务
处理模型在问题空间上和解空间上有着良好的对应关系,
可见SORE系统中的事务处理模型适合用Agent的思想
来分析和设计.Agent技术应用在SORE系统的事务处
理中将减轻网络负担,实现主动服务和解决协同问题等重
要功能.
结合Agent技术和按照在事务处理中的不同作用,事
务管理器具体可以抽象出6种不同角色的事务处理A.
gent:事务创建Agent,事务分解Agent,事务协调Agent,事
务控制Agent,事务日志Agent,事务恢复Agent.下面给
出SORE系统中基于角色的Agent事务处理模型(见图
2).
事务控制Agent:在异构数据集成系统中,不同模式
结构的分布式数据资源允许多个用户同时访问和使用.
因此在同一时刻可能存在多个并行运行的事务,如何保证
一
个对象被并行事务计算和访问时的数据一致性,这就需
要用到事务控制Agent.事务控制Agent主要负责协调并
行运行的事务,保证事务执行的可串行性,从而保证数据
资源的一致性.
事务日志Agent:事务日志Agent记录事务执行过程
中发生的所有事件,为事务恢复提供依据.事务日志A.
gent把事务开始,事务提交,事务结束和事务回滚等每一
个操作都登记为一条日志记录,存放在日志文件中.日志
登记次序严格按照并行事务操作执行的时间次序,同时遵
循先写日志文件,再执行操作的规则_2J.
事务恢复Agent:事务恢复Agent主要是为了在事务
异常情况下采取一定的事务恢复策略来保证事务的原子
性.根据事务执行在空间,时间上出现故障的不同,事务
恢复Agent将采取不同的恢复策略,如果故障出现在两阶
段协议提交之前,则通过两阶段提交协议就可以保证事务
以回滚而结束,各场地利用日志Agent的日志信息执行恢
复操作.如果故障出现在两阶段协议提交之后和事务提
交之前,情况较复杂,一般采用向前恢复的机制,即恢复出
错部件,重新执行事务操作,将它推进到下一个一致状
态[2l.
图2基于角色的Agent事务处理模型
事务创建Agent:事务创建Agent在收到事务性应用
程序的创建事务请求信息后,为新建事务分配一个唯一的
事务标识号,并且为事务创建相应的事务协调Agent.
事务分解Agent:事务分解Agent负责判断事务是局
部事务还是全局事务.如果是一个全局事务,事务分解
Agent则把全局事务映射到多个分布站点的子事务上去,
保证全局事务的正确调度执行.
事务协调Agent:事务协调Agent是移动Agent,它根
据各个分布式场地参与者的表决信息来完成局部或全局
事务的提交或回滚,实现事务的两阶段提交协议保证事务
执行的原子性.
4结论
分布式事务处理技术在异构数据集成方
向已经成为一个研究重点.文中针对当前几
种分布式事务处理标准的优缺点,设计了一
种基于角色的Agent分布式事务处理模型,
该模型既平台独立又语言独立,能满足大型
分布式异构数据集成系统的事务处理要求.
随着计算机技术的飞速发展,分布式事务处
理变得越来越重要,研究分布式事务处理有
着广阔的发展空间和应用前景.
参考文献:
[1]齐勇,马莉,赵季中,等.分布式事务处理技术及其模
型[J].计算机工程与应用,2oo1(9):60—62.
[2]齐向明.IntexnetZlntranet应用服务器的事务处理机制研究
[D].西安:西安交通大学,2001.
[3]周波.基于CORBA的DOC事务服务中间件的研究和应
用[D].南京:南京航空航天大学,2001.
[4]刘军.分布式智能异构数据集成支持系统的原型实现
[D].大连:大连海事大学,2oo3.
[5]张云勇.移动agent及其应用[M].北京:清华大学出版社,
2002.1O7—113.