(计算机应用技术专业论文)基于web+service的长事物处理的研究与实现.pdf_第1页
(计算机应用技术专业论文)基于web+service的长事物处理的研究与实现.pdf_第2页
(计算机应用技术专业论文)基于web+service的长事物处理的研究与实现.pdf_第3页
(计算机应用技术专业论文)基于web+service的长事物处理的研究与实现.pdf_第4页
(计算机应用技术专业论文)基于web+service的长事物处理的研究与实现.pdf_第5页
已阅读5页,还剩54页未读 继续免费阅读

(计算机应用技术专业论文)基于web+service的长事物处理的研究与实现.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

一_ j 独创性( 或创新性) 声明 本人声明所呈交的论文是本人在导师指导下进行的研究工作及取得的研究成果。 尽我所知,除了文中特别加以标注和致谢中所罗列的内容以外,论文中不包含其他人 已经发表或撰写过的研究成果,也不包含为获得北京邮电大学或其他教育机构的学位 或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中 作了明确的说明并表示了谢意。 申请学位论文与资料若有不实之处,本人承担一切相关责任。 本人签名: 辨嗍蚪 关于论文使用授权的说明 学位论文作者完全了解北京邮电大学有关保留和使用学位论文的规定,即:研究 生在校攻读学位期间论文工作的知识产权单位属北京邮电大学。学校有权保留并向国 家有关部门或机构送交论文的复印件和磁盘,允许学位论文被查阅和借阅;学校可以 公布学位论文的全部或部分内容,可以允许采用影印、缩印或其它复制手段保存、汇 编学位论文。( 保密的学位论文在解密后遵守此规定) 保密论文注释:本学位论文属于保密在年解密后适用本授权书。非保密论文 注释:本学位论文不属于保密范围,适 本人签名:撇 导师签名 用本授权书。 日期:竺堕:z 乙日期:塑业 基于w e b 服务的长事务处理的研究与实现 基于w e bs e r vic e 的长事物处理的研究与实现 摘要 在现代服务业的多数服务业态中,为了完成一个业务目标,往往需要 集成多个单项服务,提供组合服务。北京邮电大学作为牵头单位与五家单 位共同承担了国家科技支撑计划重大项目现代人口和生殖健康公共服务 体系及区域综合示范中的“安全可信的电信级生殖健康运营支撑体系关 键技术研究 课题。本课题充分利用2 0 0 6 年启动的“十一五 国家科技 支撑计划重大项目“现代服务业共性技术支撑体系与应用示范工程”中现 代服务业共性服务集成化技术研究课题目前已经取得的研究成果和技术 应用,旨在基于标准化的共性服务接入与集成平台,建立基于第三方提供 的共性服务构件的电信级运营支撑系统。 共性服务集成规范规定,共性服务的调用与集成接口规定为w e b 服 务形式。对于面向共性服务的组合服务运营支撑平台而言,由于其松耦合 特性,组合服务事务处理带有长时间性和参与事务处理服务间的不可控 性,传统的事务处理技术无法满足组合服务的需要。因此,研究基于w e b 服务的长事务处理技术对于安全可信的电信级生殖健康服务运营支撑平 台是至关重要的。基于w e b 服务的长事务处理技术旨在解决基于w e b 服 务的组合服务的在协同性以及完成性问题,为组合服务的最终用户提供组 合服务质量保证,同时为运营支撑平台对于组合服务的运营管理提供有力 保障。 论文由安全可信的电信级生殖健康运营支撑体系关键技术研究课题 中建设安全可信的电信级生殖健康运营支撑平台的总目标,引出了面向共 性服务工作流运营支撑的基于w e b 服务的长事务处理技术的需求;通过 对w e b 服务技术、经典事务处理技术的研究与分析,总结出基于w e b 服 务的商业系统的技术特点,并结合嵌套事务以及补偿事务的概念,通过比 较,提出基于w e b 服务的长事务处理技术在a c i d 属性上的要求。随后, 通过对传统分布式事务系统结构以及其平面事务模型和w s t r a n s a c t i o n 协议族的研究与分析,明确了设计适用于安全可信的电信级生殖健康运营 支撑平台的基于w e b 服务的长事务处理框架在代码耦合性、数据的原子 性、事务协调管理机制以及嵌套与多级事务方面的问题。 北京邮电人学硕十学位论文基于w e b 服务的长事务处理的研究与实现 针对所面临的技术问题并结合长事务技术在a c i d 属性上的个性需 求,本论文完成了基于补偿机制的w e b 服务长事务处理框架的设计工作。 其中包括设计了适用于运营支撑系统的基于共性服务的事务补偿机制、事 务协调机制以及异常处理机制,并通过内存与数据库结合的两层存储结 构,保证了事务状态信息的安全完整。并随后给出了基于补偿机制的w e b 服务长事务处理框架的实现细节以及工作流程。其中包括统一的结构化流 程信息与补偿信息的存储实现,流程单元数据库以及日志的实现,事务协 调器以及事务池的实现;并通过结合流程引擎以及服务总线的总逻辑工作 流程以及单元内部的时序调用流程,详细说明了了在事务各个状态下,长 事务处理框架的工作原理 论文通过对现有分布式事务处理技术的研究与分析,结合当前服务运 营支撑系统的特点,设计并实现了适用于安全可信的电信级生殖健康服务 运营支撑系统的面向共性服务组合的长事务处理框架,有效解决了组合服 务事务处理中代码耦合性、事务原子性、事务协调管理机制以及嵌套与多 级事务方面存在的问题,对于组合服务事务处理技术的发展有一定的价值 与参考意义。 关键字w e b 服务长事务补偿协调器共性服务 f o rt h ed e f i n i t i o nt h a tt h ei n t e r f a c ef o rt h ei n v o c a t i o na n di n t e g r a t i o no f t h ec o m m o ns e r v i c e sm u s tb ew e bs e r v i c e ,t h el o n gr u n n i n gt r a n s a c t i o n p r o c e s s i n gt e c h n o l o g y i s n e c e s s a r y f o rt h ea s s e m b l e dc o m m o ns e r v i c e o r i e n t e do p e r a t i o na n ds u p p o r tp l a t f o r m t h el o n gr u n n i n gt r a n s a c t i o n p r o c e s s i n gt e c h n o l o g yi sa b l e t op r o v i d et h ea s s e m b l e ds e r v i c e su s e r st h e g u a r a n t e e sf o rt h eq u a l i t y o fs e r v i c e sa n di n t e g r a l i t y f i r s t l y , t h ep a p e rd e m o n s t r a t e st h ee s s e n t i a lt h ec o m m o ns e r v i c eo r i e n t e d l o n gr u n n i n gt r a n s a c t i o np r o c e s s i n gt e c h n o l o g yb a s e do nw e b s e r v i c es u i t a b l e f o ro u rs u p p o r ta n do p e r a t i o ns y s t e m t h e n ,t h r o u g ht h er e s e a r c h i n ga n d a n a l y z i n go nw e b s e r v i c ea n dc l a s s i ct r a n s a c t i o np r o c e s s i n g ,i tc o n c l u d e dt h e t e c h n i c a lf e a t u r e so ft h eb u s i n e s ss y s t e m sb a s e do nw e bs e r v i c ea n dr a i s i n g t h er e q u i r e m e n t sf o rt h el o n gr u n n i n gt r a n s a c t i o np r o c e s s i n gb a s e do nw e b s e r v i c eo na c i df e a t u r e s s e c o n d l y , a f t e rt h er e s e a r c ho nt r a d i t i o n a ld i s t r i b u t e dt r a n s a c t i o ns y s t e m a n dw s t r a n s a c t i o np r o t o c o l s t h ed e f i c i e n c i e so ft h et w os o l u t i o n sf o rt h e l o n gr u n n i n gt r a n s a c t i o np r o c e s s i n g b a s e do nw e bs e r v i c ea r ee x p o s e d a i m i n ga tt h ed e f i c i e n c y , t h ep a p e rf i n i s ht h ed e s i g n a t i o no ft h ew e b s y s t e mi sf i n i s h e d t h u s ,t h ep r o b l e m so nc o d ec o u p l i n g ,t r a n s a c t i o na c i d f e a t u r e s ,c o o r d i n a t o r , n e s t i n ga n dm u l t i l e v e l st r a n s a c t i o n a les o l v e d i n a d d i t i o n ,t h i sf f a m e w o r ka l s oc o n t r i b u t e st ot h ef u t u r ed e v e l o p m e n to ft h e a s s e m b l e ds e r v i c e su n i tp r o c e s s i n gt e c h n o l o g y k e yw o r d sw e bs e r v i c e l o n gr u n n i n g t r a n s a c t i o n c o m p e n s a t i o n c o o r d i n a t o rc o m m o ns e r v i c e l v j 实现 2 2 2 并发控制与恢复1 l 2 2 3 提交协议1 2 2 3基于w e b 服务的长事务处理技术研究1 3 2 3 1 基于w e b 服务的长事务介绍与分析1 4 2 3 2 嵌套事务与多级事务1 5 2 3 3 补偿事务1 6 2 4 本章小结。1 6 第三章现有分布式事务处理系统的研究与分析1 7 3 1传统分布式事务系统。1 7 3 1 1 分布式事务系统体系结构1 7 3 1 2 平面事务模型1 8 3 2w s t r a n s a c t i o n 协议族1 8 3 2 1w s c o o r d i n a t i o n1 办议1 9 3 2 2w s a t o m i c t r a n s a c t i o n1 办议1 9 3 2 3w s b u s i n e s s a c t i v i t i e s1 办议2 0 3 3 问题分析与总结2 1 3 3 1 问题分析2 1 3 3 2 问题总结。2 2 3 4 本章小结2 3 第四章长事务处理框架的设计2 4 4 1 总体架构设计2 4 4 2 补偿机制设计2 s 4 2 1 设计原理2 5 v 1 1 1 2 3 4 4 4 6 6 7 7 8 0 0 0 - 1 上,_ i 1 - 北京邮电人学硕j :学位论文 基于w e b 服务的长事务处理的研究与实现 4 2 2 补偿机制的优势2 6 4 2 事务协调器2 7 4 2 1 架构设计2 7 4 2 2 服务代理2 8 4 2 3 事务单元管理器2 9 4 3事务池3 0 4 3 1 结构设计3 0 4 3 2 流程单元3 1 4 3 3 日志管理3 l 4 3 4数据库管理3 1 4 4 异常处理3 2 4 5本章小结3 2 第五章长事务处理框架的实现3 3 5 1事务池的实现3 3 5 1 1事务池容器的设计与实现3 3 5 1 2 统一的信息对象结构设计与实现。3 4 5 1 3 日志设计3 s 5 1 4 流程单元数据库设计3 6 5 2 事务协调器的实现3 7 s 2 1服务代理3 7 5 2 2流程单元管理器。3 8 5 3:i :作流程3 9 5 3 1 整体工作流程3 9 5 3 2l r p t f w s 内部工作流程4 0 5 4 本章小结4 3 第六章总结与展望4 4 参考文献4 6 致谢柏 攻读学位期间发表的学术论文4 9 北京邮电人学硕士学位论文 基于w e b 服务的长事务处理的研究j 实现 1 1 研究背景及意义 1 1 1共性服务集成 第一章绪论弟一早强t 匕 共性服纠1 】【2 】【3 】【4 1 是指跨行业、跨领域普遍使用的、可重用的服务,一般通过标准 开放的网络协议和标准接口被外部访问和使用。如图1 1 所示,按照共性服务接入与 集成规范【3 】的术语,共性服务接入与集成过程涉及到组合共性服务设计者一类角色和 共性服务用户系统、共性服务提供系统、共性服务集成系统三类系统。本文将这些术 语实例化,上述的定义则分别对应着业务流程开发人员、业务应用系统、共性服务系 统以及共性服务集成系统,这些系统分别由业务应用系统开发商、共性服务提供商和 共性服务集成系统运营商开发维护。 业务流程开发人员是总结服务组合需求,并最先描述出组合共性服务逻辑关系的 实体。业务流程开发人员通常是业务应用系统的开发者或运营者,也可能是共性服务 集成系统的运营者。 业务应用系统是指在业务流程中调用了共性服务,特别是组合共性服务的业务应 用信息系统。 所谓共性服务的集成 3 】( 插入引用) ,从概念上讲是指从业务流程需求要完成的业 务目标出发,根据一定的选择策略,选择符合业务活动功能和接口的下层抽象服务, 并使用顺序、并行分支、同步、合并等流程控制机制对下层服务进行组合,形成集成 的组合服务。 if ,忑夏习r 忑瓦司戍n 系统资源! f 蝇系绕资灏1ll 膨蹦系缝谈浓2l i l l 。 j 、 一 圈 哦 菠抛弛, 图l - i 共性服务集成 在现代服务业的多数服务业态中,为了完成一个业务目标,往往需要多个单项服 北京邮电 务的组 。十一 工程 集成化 信息检 的现代 业共性 支撑环 1 1 2 生 健康而进行的投入不仅惠及个人、家庭和整个社会,而且是提高生活质量和实现可持 续发展的关键因素。政府国家对生殖健康问题的关切与思考贯穿其问,呼吁与行动合力 推进,提出携手合作,加大对性健康与生殖健康包括计划生育信息与服务的投入。北 京邮电大学作为牵头单位与五家单位共同承担了国家科技支撑计划重大项目现代人 口和生殖健康公共服务体系及区域综合示范中的“安全可信的电信级生殖健康运营 支撑体系关键技术研究课题【5 】。 r 鬈生殖健康数字教育、5 数字家囊敷电子瞻努与区域象藩”雹 蚴i 。,二0 。 ,。t “i 0 令t i , 用户界面震; 驴。”? ? “”致 嘲黔嘤嬲矽懒 流稷引擎2 = 灞务管理i 呵、? l j 纭l 功能逻辎毽 勃, 撇方臆骧l l k 眙势鬻缘 b 陂 掺盘l le ,一 务 躲餐荫缝t 一一一1 謦稍i ! , 服务运行监管 1罗 琏 兹鳞蹙棒营 霉 支 形7 撑 固压a 隔目 ,”、,”“”_ 、 簇猁嘴 荀定期l l 暂嘧生臻l 勤。曩 l 窀孑认il 管理:l 经从定翰盱五i l 避埭组鑫l 斟匕鬯 话眩鬻i l 骆莳i k 墨羔 1 i,r 缴暖辑久廛 共 生支撑服务 圈国两圈锡回 l 图1 - 2 电信级运营支撑系统架构图 如图1 2 所示,本课题以“可信服务运营支撑”为指导思想【5 】,以数字教育、数 字家庭、电子商务、社区转诊、远程会诊和k m d s s 公共服务的需求为导向,采取具 备良好的系统基础架构,支持灵活的系统整合和可兼容的系统接入技术,实现全生命 周期的服务过程监控、服务质量保证,为生殖健康公共服务提供具备开放性、可控性、 安全性、高效性、灵活性、可扩展性的电信级服务运营管理支撑;充分利用2 0 0 6 年 2 北京邮电大学硕上学位论文基于w e b 服务的长事务处理的研究j 实现 启动的“十一五 国家科技支撑计划重大项目“现代服务业共性技术支撑体系与应用 示范工程 中现代服务业共性服务集成化技术研究课题目前已经取得的研究成果和技 术应用 6 】,基于标准化的共性服务接入与集成平台,通过电子认证服务、授权管理服 务、责任认定服务、可定制的即时通信服务、征信与信用服务、计费管理服务等第三 方提供的共性服务,建立基于第三方提供的共性服务构件的电信级运营支撑系统。 1 1 3面向生殖健康服务运营支撑系统的基于w e b 服务的长事务处理概述 事务处理最早源于d b m s ,是保证共享数据的并发访问一致性和失效恢复正确性 的关键技术。事务是具有原子性、一致性、隔离性和持久性( a t o m i e i t y ,c o n s i s t e n c y , i s o l a t i o n ,d u r a l i t y ,简称a c i d ) 的原子操作序列,是构成一个逻辑工作单元的操作集 合,目的是确保系统容错和并发控制的正确顺利的运行,从而更好地保证系统的可靠 性。对于任何商业系统尤其是分布式系统而吉,由于其对系统处理结果的一致性上的 严格要求,事务处理功能便必可或缺。 近年来,工作流技术是办公信息化以及数据库系统等主流商业系统中最为流行的 一种技术。通常情况下,一组工作流是由若干行为所组成,这些行为多数为一些服 务的调用操作。且这些服务的调用工作能够在工作流引擎的控制下自动完成,但由于 一个工作流程往往需要长时间的运行,这同时也对服务的性能以及服务结果的一致性 提出了很大的挑战。针对工作流技术对与服务的高性能要求,w e b 服务以其自身良好 的开放性、平台无关性以及分布式性能,赢得了市场的青睐;针对其对服务结果一致 性的严格要求,我们便将事务处理技术引入到工作流技术之中,由于工作流运行周期 长的特点,我们形象的称工作流程之中的事务处理技术为长事务处理。 对于电信级生殖健康运营支撑系统而言,其管理的资源就是接入到系统中的众多 共性服务【6 】,其用户则是有着共性服务使用需求的应用系统开发商以及最终用户。由 于平台用户群体的特殊性,各共性服务间有着很强的联系即多数用户使用的服务的最 终体现形式为组合服务即一个工作流。为保证组合服务的质量并实现系统对于组合服 务结果的一致性控制,我们将为系统引入长事务处理技术。 前面我们提到,w e b 服务由于其自身的优势,赢得了市场的青睐,所以共性服务 多以w e b 服务形式呈现。一方面,w e b 服务工作流需要由传统事务机制所提供的协 调行为来控制应用程序的各项操作和输出结果;另一方面,由于其分布式特性,w e b 服务工作流还需要能够以一种更灵活的方式来协调对多个服务的输出状态或结果进 行处理。因此,传统的事务处理机制便爱莫能助,我们需要建立一个工作流长事务处 理框架,提供分布式业务功能的业务协同,使松耦合的w e b 服务形式的共性服务组织 成一个独立的业务事务,并保证一个工作流程中参与各方的原子性和一致性。 3 2 0 0 9 2 至2 0 0 9 5 进入“现代服务业生殖健康服务运营支撑系统”项目组,主要 工作包括:前期对参与需求分析、概要设计以及详细设计文档的撰写;研究s o a 相 关规范和w e bs e r v i c e 技术,重点研究w e b 服务事务相关规范与标准,并设计并实现 系统中基于w 曲服务的长事务处理框架。 另外,作者在两年多的研究生阶段还参与过中国通信标准化协会c c s a 移动互联 网应用协议特别组的研究课题移动w e b 服务课题。 论文期间,曾发表学术论文一篇,aw e bs e r v i c ep r o c e s st r a n s a c t i o nf r a m e w o r k b a s e do nc o m p e n s a t i o na n dp r o x y ) ) ( i c p c a2 0 0 9 国际会议论文,e i 检索) 。 1 4 论文组织结构 第一章绪论部分论述了论文题目的提出背景和研究意义,阐述了共性服务集成的 由来、建立安全可信的电信级生殖健康运营支撑系统的重要意义以及基于w e b 服务的 长事务处理框架对于该系统的必要性。 第二章w e b 服务及事务研究对于w e b 服务、事务以及本文的核心基于w e b 服务 的长事务三个重要技术进行了系统的分析与研究。 第三章现有事务处理相关技术的研究与分析对目前主流的事务处理技术进行了 详细的介绍及分析,包括基于j a v a 的j t a 以及j d b c 中的数据库事务,专门针对w e b 4 北京邮电人学硕十学位论文 基于w e b 服务的长事务处理的研究与实现 服务的w s t r a n s a c t i o n 协议族,并总结出当前事务处理技术存在的问题。 第四章是对基于w e b 服务的长事务处理框架设计的说明。其中,首先给出了框架 的总体设计。而后,对各功能模块的详细设计进行说明,着重解决第三章中总结出的 问题。 第五章是对基于w e b 服务的长事务处理框架实现的详细说明。包括各模块的实 现、同意消息体的实现等的详细说明以及长事务处理框架的工作流程。 第六章为论文总结和进一步工作的建议。 s l 北京邮电大学硕士学位论文 基于w e b 服务的长事务处理的研究与实现 第二章w e b 服务及事务研究 在针对面向服务运营支撑系统的长事务处理的研究初期,我首先需要对有关w e b 服务长事务处理的三个重要相关技术的进行研究:w e b 服务技术、经典事务处理技术 以及工作流中的事务处理技术。 2 1w e b 服务技术研究 在共性服务集成规范【3 】中,人们将共性服务所提供的接口分为两类:基于b s 结 构,用于共性服务构件统一注册与描述的接口;基于w e b 服务的,用于共性构件统一 调用与集成的接口。由此可见,对于工作流开发商以及运营支撑系统,共性服务所提 供的w e b 服务接口至关重要,因此,我们需要对其进行必要的研究。 w e b 服务是随着w w w 的发展和x m l 的出现而迅速发展起来的一项新技术。 w e b 提供了一种在全球范围内共享和分布信息的方式,并且充当了人和应用之间交互 的媒介。通过信息的结构化表示,x m l 的出现使得异构环境能够在w w w 上共享信 息,而w 曲服务则实现了应用之间通信消息的结构化,提升了基于w 曲的应用之间 的交互能力,使大规模的资源共享成为可能。 w 曲服务具有独立性和自描述的特点,可以通过互联网或企业内部网被发现和调 用。w e b 服务是包装了一些操作的接口,通过标准化的x m l 消息传递机制s o a p 来 访问这些操作。使得基于w e b 服务的应用程序具备松散耦合、面向组件和跨技术实现 的特点。使用w e b 服务可以有效地解决异构网络之间的通信,w e b 服务是创建可互 操作的、分布式应用程序的重要选择。w e b 服务可以单独或同其他w e b 服务一起用 于实现复杂的聚集或商业交易,从而可以以一种平台和语言独立的方式在网络上经营 业务。通过w e b 服务,可以包装现有的业务流程,搜索和订阅其它服务,从而实现跨 越企业边界的信息交换。w e b 服务是在互联网上实现应用间交互的关键技术。企业应 用集成和电子商务等系统利用w e b 服务,在工作流技术的保障下,实现了企业间以及 企业内的业务流程管理( b u s i n e s sp r o c e s sm a n a g e m e n t ,简称b p m ) ,从而将业务流程 扩展到整个i n t e i n e t 上,有效的利用了i n t e r n e t 上现有的服务,增强了互联网上的交互 能力,最终使得整个互联网成为一个整合了各种服务的业务流程的有机整体。目前, 各个标准化组织制定了许多w e b 服务的流程协作规范,在业务流程管理( b p m ) 上得到 了广泛的应用。 通过以上的研究,我们可以发现w e b 服务系统具有以下特性: 长事务:由于商务处理,网络延迟和用户的交互,一个w e b 服务事务处理过程 往往会持续较长的时间,使得锁定资源的策略不再适用。 6 北京邮电大学硕十学位论文 基于w e b 服务的长事务处理的研究与实现 自治性:w e b 服务提供者拥有对服务的控制权,其他的应用可能无法锁定它 需要的资源。松耦合:w e b 服务之间是松散耦合的。 更多潜在的故障:不仅进程和机器可能崩溃,广域网络也比传统分布式系统 的内部网更加不可靠。 协同性:一次事务过程可能跨越多个组织。 2 1 1s o a w e b 服务的体系结构,即面向服务的体系结构s o a ( s e r v i c eo r i e n t e d a r c h i t e c t u r e ) ,如图2 1 所示。 图2 一l 面向服务的体系结构( s o a ) 从图3 中可以看出,s o a 结构中共有三种角色: 服务提供者:发布自己的服务,并且对使用自身服务的请求进行响应; 服务代理:注册已经发布的服务提供者,对其进行分类,并提供搜索服务; 服务请求者:利用服务代理查找所需的服务,然后使用该服务。 s o a 体系结构中的组件必须至少具有以上一种角色,并使用下列操作: 发布:使服务提供者可以向服务代理注册自己的功能及访问接口; 查找:使服务请求者可以通过服务代理查找特定种类的服务; 绑定:是服务请求者能够真正使用服务提供者。 为支持这三种操作,s o a 提供了服务描述,包括服务提供者的语义特征,访问特 定服务的接口特征,以及安全要求、事务要求、使用服务的费用等各种非功能特征。 服务代理使用语义特征将服务提供者进行分类,以帮助查找具体服务。服务请求者根 据语义特征来匹配那些满足要求的提供者。接口特征和肺功能特征也可以用来帮助请 求者查找服务提供者 7 】。 2 1 2w s d l 网络服务描述语言( w 曲s e r v i c e sd e s c r i p t i o nl a n g u a g e ,简称w s d l ) 8 是一种 7 北京邮电大学硕上学位论文 基于w e b 服务的长事务处理的研究与实现 描述网络服务的x m l 格式。由于通信协议和消息格式在w e b 技术圈子里己经达到了 标准化,我们知道在通常的开发过程中,对于对象的i n t e r f a c e 一定具备相应的s d k 描述文档,w e b 服务也是一种对象,只不过它是被部署在w e b 上而已。很自然的, 我们也完全需要有对w e b 服务这个对象的界面的s d k 描述文档。然而这两者又不尽 相同,一来目前在w e b 上的应用己经完全接受了x m l 这个基本的标准。基本上所有 新出台的技术都是基于x m l 标准的,二来w e b 服务的目标是即时装配,松散祸合以 及自动集成的,这意味着s d k 描述文档应当是具备被机器识别的能力的。 也就是说,对于使用标准化的消息格式通信协议的w 曲服务,它需要以某种结 构化的方式( 即x m l ) 对w e b 服务的调用通信加以描述,而且实现这一点也显得非 常重要,这是w e b 服务即时装配的基本保证。w s d l 正是这样一种描述语言。w s d l 定义了一套基于x m l 的语法,将w e b 服务描述为能够进行消息交换的服务访问点的 集合,从而满足了这种需求。w s d l 服务定义为分布式系统提供了可用机器识别的 s d k 文档,并且可用于描述自动执行应用程序通信中所涉及的细节【9 】。 w s d l 文档将w 曲服务定义为服务访问点或端口的集合。在w s d l 中,由于服 务访问点和消息的抽象定义已从具体的服务部署或数据格式绑定中分离出来,因此可 以对抽象定义进行再次使用。消息,指对交换数据的抽象描述;而端口类型,指操作 的抽象集合。用于特定端口类型的具体协议和数据。 2 1 3s o a p 简单对象访问协议( s i m p l eo b j e c ta c c e s sp r o t o c o l ,简称s o a p ) 【1 2 】是个基于 x m l 在分布式的环境中交换信息的简单的协议。s o a p 具有供应商中立性、跨平台、 编程语言和对象模型中立性等优点。由w 3 c 成立的x m lp r o t o c o lw o r k i n gg r o u p 专 注开发s o a p 规范。图2 2 所示为s o a p 的架构,它定义一个消息框架、编码规则和 协议绑定。 8 北京邮电人学硕j :学位论文基于w e b 服务的长事务处理的研究与实现 1 _ _ _ 。- 一_ 一 图2 - 2s o a p 架构图 s o a p 的架构的底层是传送协议如h t t p 和s m t p ,通过绑定与消息框架连接。 s o a 的两个主要设计目标是简单性和可扩展性。这就意味着一些传统消息系统或分布 式对象系统中的某些性质不属于s o a p 规范,例如分布式垃圾收集( d i s t r i b u t e d g a r b a g ec o l l e c t i o n ) 和对象引用( o b j e c tb y r e f e r e n c e ) 。 s o a p 包括下面的4 个部分: ( 1 ) 信封( e n v e l o p e ) - 定义了一个消息框架,描述消息的内容是什么,是谁发送的, 谁应当接受并处理处理。 ( 2 ) 编码规则( e n c o d i n g r u l e s ) 用于表示应用程序需要使用的数据类型的实例。 ( 3 ) 绑定( b i n d i n g ) 定义底层通信协议,进行消息交换。 ( 4 ) r p c :表示远程过程调用和应答的协定。 如果简化对s o a p 的理解,它可以说是一个x m l + r p c 并基于h t t p 的开放性标 准协议,方便w e b 服务提供者和w e b 服务请求者穿越防火墙在因特网上进行通信交 互。s o a p 是个跨平台的协议,每一个通过网络的远程调用都可以通过s o a p 封装起 来。s o a p 使用h t t p 传送x m l 消息,尽管h t t p 不是最有效率的通信协议。而且 在传送x m l 消息是还需要额外的文件解析,但是x m l 和h t t p 都是开放标准规范, h t t p 是一个在w e b 上被最广泛应用又能避免许多关于防火墙问题的通信协议,从那 个人使得s o a p 得到了广泛的接受和应用( 注释) s o a ph e a d e r 可以扩展s o a p 的功能。当具体的应用中运用了一些与应用本身关 联不是太大而更面向底层控制的服务的时候应当采用s o a ph e a d e r 来传输这些控制 9 北京邮电火学硕士学位论文 基于w e b 服务的长事务处理的研究与实现 信息,理由是这些服务往往是平台的功能) l t i :具体应用所需要实现的功能。从体系结 构的观点来看,解析s o a ph e a d e r 就可以由平台模块来完成,通过插入不同的标准化 的s o a ph e a d e r 条目解析模块来完成不同墓地的控制功能。而相应的,解析s o a p b o d y 是由应用模块来完成。这样在开发和部署上将会非常的清晰。 2 1 4u d d i 统一描述、发现和集成协议( u n i v e r s a ld e s c r i p t i o nd i s c o v e r ya n di n t e g r a t i o n ,建 成u d d i ) 完全基于现有的标准,如可扩展标记语言( x m l ) 和简单对象访问协议 ( s o a p ) 。u d d i 的所有兼容实现都支持u d d i 规范。公共规范是机构成员在开放的、 兼容并蓄的过程中开发出来的。 u d d i 包含于完整的w e b 服务协议栈之内,而且是协议栈基础的主要部件之一, 支持创建、说明、发现和调用w e b 服务。u d d i 构建于网络传输层和基于s o a p 的 x m l 消息传输层之上,为诸如w e b 服务描述语言( w s d l ) 之类的服务描述语言提 供了统一的x m l 词汇( 与交互式数据语言类似) 供描述w e b 服务及其接口使用。用 户可以通过添加分层的功能搭起整个基础,比如使用w e b 服务流程语言( w e bs e r v i c e s f l o wl a n g u a g e ,简称w s f l ) 的,w e b 服务工作流描述、安全性、管理和服务质量功 能,从而解决系统可靠性和可用性问题【1 0 】。 2 2 经典事务处理技术研究 为了更好的理解长事务的概念,我们首先应从对经典事务处理技术的研究与分析 开始。 事务处理最早源于d b m s ,是保证共享数据的并发访问一致性和失效恢复j 下确性 的关键技术。事务是构成一个逻辑工作单元的操作集合,目的是确保系统容错和并发 控制的正确顺利的运行,从而更好地保证系统的可靠性。 所谓经典事务,是指在传统的关系数据库中应用的事务处理方法。在经典事务处 理技术中,系统通过并发控制、恢复和提交协议三项关键技术保证事务的a c i d 属性。 并发控制目的在于保证多个并发执行事务的最终执行效果等价于某种串行化执行的 效果,即保证执行的串行等价性( s e r i a le q u i v a l e n c e ) ,目前常用并发控制方法为锁机 制;恢复处理针对事务处理过程中出现的各种故障,保证事务的一致性;提交协议保 证了事务的原子性,事务的原子特性要求事务结束时,它的所有操作要么全部成功, 要么全部取消,经典事务中采用的提交协议为两阶段提交协议【1 1 】。 2 2 1 事务的a c i d 属性 事务是具有原子性、一致性、隔离性和持久性( a t o m i c i t y ,c o n s i s t e n c y ,i s o l a t i o n , 北京邮电大学硕七学位论文 基于w e b 服务的长事务处理的研究与实现 d u r a l i t y ,简称a c i d ) 的原子操作序列。 原子性,如果从初始状态到达中介状态的过程中没有任何的中间状态或者初始状 态看似从未改变,那么就说状态的转换保持了原子性;具体来说就是一个事务或者成 功完成,使其操作的所有效果都记录到相关对象中;或者由于故障或有意取消等原因 而不留下任何效果。原子性一般包括两个方面:前向原子性和后向原子性。前向原子 性是指事务参与者故障( 事务故障或进程故障) 时事务协调者发起的整个事务的回滚; 后向原子性则是指事务协调者故障时,由系统重启带来的原子性保障。 一致性( c o n s i s t e n c y ) ,事务只能产生一致的结果,否则将被放弃,即所有操作 要么都成功,要么都没有发生过。它要求该事务中的一组操作都没有违反任何与状态 相关的完整性约束。通常,一个状态在向另外一个新的一致性状态转换时,可能会出 现短暂的不一致,为了应付这些短暂的不一致性,一些操作以组的方式形成事务,以 保持一致性的约束。从一致性的系统状态开始的事务,其问会导致临时的不一致状态, 但是在事务结束时系统会进入一个新的一致状态。因此,事务是一致性的单位。传统 的事务系统中一般采用严格一致性模型,它必须总是读取最近最新的值,为了在大量 数据中识别最近的值,必须有个全局时间的概念,因此它依赖于全局的时间。 隔离性( i s o l a t i o n ) ,意味着程序在事务保护下执行结果必须和单用户模式下的一 样,即并发执行的事务看起来是单个执行的,即对于一个事务t ,任何其它事务要么 在t 之前执行,要么在t 之后执行,但不会既在t 之前,又在t 之后执行。 持久性( d u r a l i t y ) ,需要系统保持事务成功提交后的一致性结果,即系统一旦承 认了事务的执行结果,之后无论发生何种类型的错误,系统都必须能够重建这个结果。 2 2 2 并发控制与恢复 并发是分布式系统的内在特征,然而并发性和并发程序之间的交互性是很难处理 的。基于这个原因,事务处理系统要努力让程序运行在隔离的环境中,让大量的独立 的事务在共享的数据库上并行运行。利用并发控制方法可以合理地调度事务,使它们 的执行效果等价于某种串行化的执行效果,从而保证资源更新的一致性。常用的三种 并发控制方法分别是锁方法、乐观并发控制方式和时间戳方式 1 3 】。 绝大部分系统都用了封锁机制来实现这种环境,通过让事务在访问对象前加锁并 一直保持到事务提交时才释放。可以保证每一个事务的执行不会有并发异常。该思想 的改进是谓词封锁和粒度锁,允许事务动态调整封锁粒度。使用封锁和隔离性定理, 事务处理系统可以自动设置锁来保证隔离性。 降低隔离级别是减少一个事务某一时间内封锁性的一项技术。减少封锁数量和持 续时间,可以减少该事务对其他事务的影响,并增大其并发执行的机会。锁不能获得 时,一些事务必须等待。等待导致锁调度和全局系统资源调度之间的交互作用。目前 任何系统提供的交互都不能够令人满意。死锁是等待的极端情况,往往通过回滚来解 北京邮电大学硕十学位论文 基于w e b 服务的长事务处理的研究与实现 决,简单分析模型指出等待和死锁以多道程序数量的平方级速度而增大。这里也是封 锁和资源调度之间的一种交互。在乐观并发控制中,事务访问数据时不考虑是否产生 冲突,而在事务提交时再验证执行过程中是否存在访问冲突。如果验证的结果是没有 冲突,那么事务将成功提交;如果发现存在冲突,那么该事务将被回滚并重新运行。 在时间戳方式中,每个事务在开始执行时被附上一个时间戳标记。共享数据一旦 被某个事务访问,那么该数据也被标记上该事务的时间戳。如果事务访问数据时发现 数据的时间戳晚于该事务的数据戳,这表明数据已经被一个更晚的事务访问,当前事 务

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论