(计算机应用技术专业论文)wap事务层协议的有色petri网建模与分析.pdf_第1页
(计算机应用技术专业论文)wap事务层协议的有色petri网建模与分析.pdf_第2页
(计算机应用技术专业论文)wap事务层协议的有色petri网建模与分析.pdf_第3页
(计算机应用技术专业论文)wap事务层协议的有色petri网建模与分析.pdf_第4页
(计算机应用技术专业论文)wap事务层协议的有色petri网建模与分析.pdf_第5页
已阅读5页,还剩46页未读 继续免费阅读

(计算机应用技术专业论文)wap事务层协议的有色petri网建模与分析.pdf.pdf 免费下载

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

文档简介

武汉科技大学硕士学位论文第1 页 摘要 w a p 事务协议( w t p ) 作为w a p 协议体系结构中的一个重要部分,向会话层提供基于请求 响应的分布式事务服务。由于w a p 论坛将w a p 协议规范以自然语言的形式发布,这样的好处 是可读性好,便于直观上去理解。但是,要保证协议实现的一致、完整和正确就必须使用 一种形式化的工具进行描述和验证,这样才能避免自然语言的二义性导致实现上的不一 致。 p e t r i 网作为一种图形化的数学建模工具,特别适合于描述具有并发的、实时的、非 确定性为特征的分布式离散系统,有很多针对模型的分析方法来确定模型是否存在死锁、 并发冲突和资源竞争等特征。有色p e t r i 网作为一种高级网,在基本网的基础上拓展了库 所和变迁的表达能力,从而可以简化网模型的结构。 本文首先对事务协议做了详细的分析,在此基础上利用有色p e t r i 网建模技术对事务 处理过程中协议实体的状态变化做了协议建模。并利用有色p e t r i 网仿真工具c p nt o o l s 对 协议模型进行仿真分析,分析模型在给定的初始参数下,是否存在死锁、活锁以及否满足 有界性要求等,进而判断初始参数对协议模型状态空间的影响。 关键词:w a p ;w t p 协议;有色p e t r i 网;协议建模 第1 i 页武汉科技大学硕士学位论文 a b s t r a c t 1 1 1 et r a n s a c t i o nl a y e r , a sa l li m p o r t a n tp a r ti nw a p ,d e f i n e sap r o t o c o lt os u p p o r t d i s t r i b u t e dt r a n s a c t i o n sw h e r ea ni n i t i a t o rm a k e sar e q u e s tt oar e s p o n d e r , w h i c hr e t u r n st h e r e q u e s t e di n f o r m a t i o n a st h es p e c i f i c a t i o no fw a pp r o t o c o lw a s w r i t t e ni nn a t u r a ll a n g u a g e ,t h e a d v a n t a g eo f d o i n gi ti nt h i sw a yi sw e l lr e a d a b l ea n de a s yt ou n d e r s t a n d h o w e v e r , t og u a r a n t e e t h ec o w g c , t n e s sa n dc o n f o r m a n c eo fp r o t o c o li m p l e m e n t a t i o n ,af o r m a lt e c h n i q u em u s tb eu s e dt o a v o i dt h ea m b i g u i t yo f n a t u r a ll a n g u a g e p e t r in e t , a sam a t h e m a t i cm o d e l i n gt e c h n i q u e ,i se s p e c i a l l ys u i t a b l ef o rm o d e l i n g d i s t r i b u t e dd i s p e r s e ds y s t e mw i t ht h ec h a r a c t e r i s t i co fc o n c u r r e n c yr e a l t i m ea n dn o n d e t e r m i n a e y a l s o ,i th a sm a n ya n a l y t i c a lm e t h o d sw h i c hc a l ld e t e r m i n ew h e t h e rt h em o d e lh a sad e a dl o c k , c o n f l i c to fc o n c u r r e n c ya n dc o m p e t i t i o no fr c s o u r c e c o l o r e dp e t r in e t ,a sa na d v a n c e dn e t , e n r i c ht h ea b i l i t yo fe x p r e s s i o no fp l a c ea n dt r a n s i t i o n s oi tc a ns i m p l i f yt h es t r u c t u r eo ft h e m o d e l i nt h i s t h e s i s ,t h es t a t ec h a n g eo fp r o t o c o le n t i t yi sm o d e l e db yc o l o r e dp e t r in e ti na t r a n s a c t i o n ,w h i c hi sb a s e do nt h ea n a l y s i so fw t pp r o t o c o ls p e c i f i c a t i o n f i n a l l y , t h ec p n m o d e lo ft r a n s a c t i o np r o t o c o li ss i m u l a t e db yc p nt o o l su n d e rt h ei n i t i a lp a r a m e t e r t h er e s u l t s o b t a i n e df r o mt h es i m u l a t i o nc a nb eu s e dt od e t e r m i n ew h e t h e rt h e r ei sad e a dl o c ko rl i v el o c k i nt h em o d e la n dt h eb o u n d e d n e s so ft h em o d e l o b s e r v a t i o n s 撇m a d eo nt h er e l a t i o n s h i p b e t w e e nt h ec o u n t e r su s e di nt h em o d e la n dt h es t a t es p a c es i z e k e yw o r d s :w a p :w t pp r o t o c o l ;c o l o r e dp e t r in e t s ;p r o t o c o lm o d e l i n g 武汉科技大学硕士学位论文第1 页 1 1 引言 1 1 1 问题的提出 第一章绪论 通信协议是计算机网络和通信网络中各种通信实体或进程间交互信息时所遵守的一 组规则“1 。随着网络应用环境的变化和网络系统的复杂性的增加,在协议方面体现出空间 分布性、并发性、异步性、不稳定性和多样性等特征。这种情况下,协议开发过程中任何 一点错误和缺陷都将给通信系统的稳定性、可靠性、安全性、容错性以及系统之间互通性 和互操作性带来巨大的危害。因此,需要合适的方法、建模技术和计算机辅助工具,来验 证协议设计的正确性和一致性,以促进标准化的协议实现。 w a p ( w i r e l e s sa p p l i c a t i o np r o t o c 0 1 ) 协议规范从最初w a pv 1 o 发展到现在的w a p v 2 0 ,u p 论坛先后对其做了多次修改和完善。由于w a p 协议规范的每次发布都是以自然语 言的形式进行,使用自然语言的优点是方便、易懂,但缺点是不严格、存在二义性,而且 很难发现协议设计是否有错误。所以,要保证w a p 协议设计、实现的一致、完整和正确就 必须使用一种形式化的工具进行描述。“捌啪1 ,才能避免自然语言的二义性导致实现上的不 一致。 所以本文就针对该问题提出用有色p e t r i 网作为形式化的建模工具,对w a p 事务层做协 议建模。 1 1 2 研究现状 在通信协议形式化描述方面的研究,所采用的模型技术一般使用数学模型和自动化模 型,常用的通信协议的形式化模型方法有有限状态机( f s m ) 模型,p e t r i 网模型等。 p e t r i 网作为一种图形化的数学建模工具,特别适合于描述具有并发的、实时的、非 确定性为特征的分布式离散系统,随着p e t r i 网理论的不断完善和发展,从最初的基本网 到后来逐渐出现了各种高级网模型,其中有色p e t r i 就是一个重要的发展,有色p e t r i 网作 为高级网模型具有建模表达能力强,对模型的分析方法完善等特点,可以很好的表示复杂 的数据结构。另一方面,用有色p e t r i 网进行建模分析可以利用现有的仿真软件c p nt o o l s 对模型进行很好仿真描述汹1 。利用仿真工具可以自动或交互的执行有色p e t r i 网就像执行, 调试程序一样“”。也可以用有色p e t r i 网完善的理论分析方法来分析所建的网模型。p e t r i 网的应用领域非常广阔,其中很重要的一个应用领域就是对通讯协议的建模仿真“m o “。 目前,p e t r i 网在协议形式化描述,验证分析方面的应用可分为定性分析和定量分析 两类。 a ) 定性分析就是分析所建的p e t r i 网模型的特性,来确定系统的特性。p e t r i 网的主 要特性为:可达性、有界性、安全性及活性等。p e t r i 网的特性又分为动态特性和 第2 页武汉科技大学硕士学位论文 结构特性,动态特性是指与p e t r i 网初始标识有关的性质,结构特性是指与p e t r i 网初始标识无关的性质。 b ) 定量分析是采用时间p e t r i 网和随机p e t r i 网等对系统模型进行定量分析、性能评 价。把每个变迁的实施关联一个固定时间或时问范围,称时间p e t r i 网( t i m e d p e t r in e t ) 。时间参数的引入是对p e t r i 网描述功能的扩充,并没有破坏和修改原 p e t r i 网结构描述以及同步和并行的表达,但由于其模型动态行为将受时间参数影 响,原系统并发次序不确定的行为将受时间参数的影响。 w a p 事务层协议( w t p ) ,在实际应用环境中是一个由并发原语组成的离散事件系统”】, 系统具有并发性、异步性及分布式的特点,而且该层协议在w a p 协议规范中说起非常重要 的作用,任何客户端的代理或者网关的代理都必须实现该层协议。目前,文献 1 5 2 6 涉 及用p e t r i 网对事务协议的建模分析,文献 1 5 3 虽然对w t p 做了简单建模,但是,并没有对 模型进行分析,也没有任何结论。文献 2 6 对协议层的服务原语进行建模对比协议规范所 给出的合法服务原语序列,但是,没有对协议的死锁,活锁,有界性给予讨论和证明。 1 1 3 本文所作工作 本文首先对无线事务层协议进行了详细的分析,包括该层协议的应用环境、各种协议 数据单元的结构、事务类型以及协议实体的状态转换关系图。然后根据事务协议层协议实 体状态转换关系图,对事务类型2 的一次事务处理过程,用有色p e t r i 网建模技术做了协议 建模。并根据协议模型,用有色p e t r i 网建模工具c p nt o o l s 对协议模型进行仿真分析。分 析由协议规范获得的协议模型是否存在不期望发生的情况,如:死锁、活锁等设计的错误。 1 2 本文的结构安排 本文的各章节组织结构如下: 第一章,绪论。简要介绍了了w a p 协议和p e m 网建模技术的产生发展。 第二章,w a p 事务层( w t p ) 协议简介。首先对w a p 协议的整体结构做了介绍,然 后详细讲述了事务层( w t p ) 协议的协议环境、通讯原语、事务类型、协议特征等。并根 据协议状态表给出了协议状态转换图,最后一个协议操作实例作为总结。 第三章,有色p e t r i 网建模技术。首先介绍了p e t f i 网建模技术理论,重点介绍了有色 p e 讲网,包括:有色p e t r i 网的特征、运行规则、分析方法和建模工具c p n t o o l s 。 第四章,事务处理层的p e t r i 网建模分析。本章分析了事务层( w t p ) 协议建模过程, 并实体模型页面进行详细的分析。 第五章,模型仿真结果分析和总结与展望。 武汉科技大学硕士学位论文第3 页 2 1 w a p 协议简介 第二章w a p 事务层协议简介 w a p 协议首先是由以n o k i a 、e r i c s s o n 、m o t o r o l a 和p h o n e t o m 为首的无线设备制造商 组成的w a p 论坛于1 9 9 7 年6 月首次提出的。w a p 协议的设计总体上参考了t c p i p 协议设计的 思想,针对移动无线网络带宽窄、延时长及无线设备的局限等状况,从减小网络传输的数 据量入手,充分考虑到了移动无线网络和终端设备的多样性与特点,并致力于提供一套通 用的、独立于各种不同的移动通信网络的无线应用程序开发平台规范啪。 1 9 9 7 年7 月,w r p 论坛推出了第一个w a p 标准,第二年5 月推出w a pv 1 0 ,1 9 9 9 年6 月发布了w a pv 1 1 版,目前的版本是w a pv 2 0 于2 0 0 1 年8 月由w a p 论坛正式推出,到 目前为止还没有做出大的调整或新的版本发布。 2 1 1w a p 应用模型 基于w a p 的应用与基于w e b 应用是有很大区别的嗍,从图2 1 中所描述的是一个基于 w a p 的应用模型:其中c l i e n t 是指客户终端,无线网络中任何支持w a p 的手持移动设备; o r i g i ns e r v e r 是指w e b 服务器或者w a p 内容服务器,而中间的g a t e w a y 是指网关。 图2 1 无线应用模型 一个具体的请求过程是这样进行的,当w a p 终端发出相应的访问请求时,即用户从手 机键入他想要访问的w a p 内容服务器的u r l 后,请求以二进制流的形式通过无线网络首先 被送到w a p 网关,w a p 网关接受到手机终端的请求后,要对请求进行协议转换、翻译、编 码处理,并从请求中获得终端的相关信息如:手机号码,终端类型等,然后w a p 网关以h t t p 的方式通过i n t e r n e t 将请求发往w a p 内容服务器或者w e b 服务器,再由服务器对请求进 行处理并将结果内容返回w a p 网关,网关将其做相应的处理再以一种紧凑的二进制形式通 过无线网络发回最终的用户终端。这就是一个从发出请求到获取资源的完整过程。从这个 过程中可以看到,为了让有线互联网和无线互联网有机的结合,而引入了网关这一中间层。 第4 页武汉科技大学硕士学位论文 同样,可以看到无线网络中的传输数据更多的是考虑了传输效率,是特别针对无线传输的 特征而设计的。 2 1 2w a p 协议栈结构 通过上节的介绍我们对w a p 请求处理过程有了一个大概的了解。本节将对移动终端与 w a p 网关的协议栈展开讨论,w a p 协议规范定义了一个分层的体系结构,为移动通信设备 上的应用开发提供了一个可伸缩与可扩充的支撑环境。借鉴了i n t e r n e t 协议栈的设计思 想,并根据无线通信网络的特点加以相应的修改和简化”1 。 图2 2 无线应用协议栈 图2 2 中阴影部分属于w a p 协议体系结构。无线数据报协议w d p 作为w a p 的通用传送 层,对底层的不同传输网络可实现透明传送,为上层提供一致性服务,使得上层的w a e 、 w s p 、w t p 、w t l s 独立于下层的不同无线网络“。w t p 层通过w d p 层提供的数据包服务,为 上层协议实体提供面向连接的可靠服务“4 ,w a p 规范并没有将安全机制放入该层,而是作 为单独的一层( w t l s ) 来提出,在协议实现中w t l s 是可选的“。w s p 为上层应用层提供了一 个用于两种会话业务的一致接口。一个是连接模式业务,运行在事务处理协议层( w t p ) 之 上“”;一个是非连接服务,运行在安全或非安全数据报传输业务( w d p ) 之上。w a e 主要考虑 的是用户方面的w a p 体系结构,它包括了w m l ( 一种类似与h t m l 的标记语言) 、w m l s c r i p t ( 一 种类似与j a v as c r i p t 的脚本语言) 1 4 o 2 2 w t p 层协议 事务层( w t p ) 协议主要是为交互式浏览应用提供服务的。在浏览会话期间,客户端( 固 定或移动的) 向服务器请求信息,而服务器则返回信息进行响应。这种请求响应的过程就 称为一次事务( t r a n s a c t i o n ) 。事务协议要达到的目标是:在应用程序所要求的可靠性和达 到这些可靠性所需要付出的花费之间达成一种平衡,为应用提供可靠性的事务操作。w t p 运行在数据报服务层( w d p ) 及安全层( w t l s ) ( 可选) 协议之上,为了适应移动终端和无线数 武汉科技大学硕士学位论文第5 页 据报网络的要求,w t p 被设计成了一种轻量级的事务协议“”。 w t p 能够为上层的w s p 提供可靠的、面向连接的服务。1 盯p 支持对消息的分段,以及 将各分段重组,选择性地重传丢失的分段。另外,还可根据无线承载层的情况进行相应优 化,使得传输的消息最少。 w t p 作为事务层在w a p 体系结构中占有重要的地位,为会话层提供可靠的面向连接的 服务的保证“,所以该层的协议设计实现不管是在网关端,还是移动终端都非常重要。下 面就该层协议的事务类型、服务原语、事务协议特征等进行介绍,为第四章对该层协议建 模做准备。 2 2 1 协议环境分析“” 图2 3 是一个n 层协议的模型,用户l 和用户2 为( n + 1 ) 层协议实体,称之为n 层协 议的用户( 简称n 用户) ,n 层协议实体利用( n 一1 ) 层协议提供的服务按照n 层协议通讯,这 种通信活动在两个( n - 1 ) s a p ( n & 务访问点) 之间构成一个通道,称为( n - 1 ) 层通道。r l 层用户 的要求、( n - 1 ) 层通道的性质以及n 层协议的工作模式就构成n 层协议的工作环境。 用户1 提供n 服务 用户2 图2 3 协议分层模型 图2 3 中,用户1 和用户2 的是借助( n ) 层协议实体,以及( n 一1 ) 层通道提供的服务进 行交互通信的。 2 2 2 层间通信元素 在w a p 协议中,层间的通信以及同一层的实体之间的通信是由服务原语来实现的。服 务原语以抽象的方式提供了在事务层及相邻层的信息和控制的逻辑交换“”。 服务原语表示形式为:x - s e r v i c e t y p e ( p a r a m e t e r s ) ,其中x 代表服务所在的层, s e r v i c e 为该服务原语所代表的服务名,t y p e 为该服务原语的类型,p a r a m e t e r s 为该服务 第6 页武汉科技大学硕士学位论文 原语的参数。 在w t p 中,服务原语主要有如下几种类型,如表2 1 所示 表2 1 服务原语类型 类型缩写描述 请求 r e q 当上层向其下层请求服务时使用 指示 i n d 服务提供者向其上层提示对等层实体或者服务提 供者本身的相关操作 响应r e s某层向它的下层确认收到指示 确认c n f 服务提供者向其用户报告活动已经成功完成 例如,服务原语t r - i n v o k e r e q ( a d d r e s s e s ,a c k t y p e ,u s e r d a t a ,c l a s s t y p e ,h a n d l e ) 它定义了事务层的调用请求服务。参数a d d r e s s e s 包含了源、目的地址信息,a c k t y p e 定 义了确认信息的类型,而u s e r d a t a 则存放s d u ( s e r v i c ed a t au n i t ) ,封装了上层的 p d u ( p r o t o c o ld a t au n i t ) 以进行传送,c l a s s t y p e 定义了事务的类型,h a n d l e 是事务的 标识符。因此,对于不同层之间的通信,服务原语为相邻层之间的服务调用提供了一致的 服务接口形式。 w t p 层为上层提供的服务原语包括: 调用原语( t r i n v o k e ) 一用来发起一个新的事务; 确认原语( t r a c k ) 一服务用户确认收到调用或结果; 结果原语( t r r e s u l t ) 一用来将上次发起的事务的结果返回; 放弃原语( t r a b o r t ) 一用来放弃一个存在的事务。 2 2 3 协议单元结构。1 w t p 的一个协议数据单元( p d u ) 包含一个整数数目的8 位组,分为报头和数据( 如果有) 。 报头又分为固定部分和可变部分。固定部分包含经常使用的参数及p d u 类型,固定部分的 长度和结构由p d u 类型定义。可变部分用来定义不经常使用的参数。 1 ) 通用报头字段 w t p 各个类型p d u 的报头部分一般都包含有以下字段: 夺连续标志位( c o n ) 为报头固定部分的第一个比特,指出在可变部分是否存在t p i ( t r a n s p o r t i n f o r m a t i o ni t e m s ) 。如果这个标志为空,则报头的可变部分是空的。 夺群跟踪( g t r ) 和传输跟踪( t t r ) 标志 当进行分割和重组时,t t r 标志用来表示被分割消息的最后一个分组,而g t r 标志 用来表示分组群的最后一个分组。 分组序列号( p s n ) 被属于分割和重组功能的p d u 使用。这个号码表示这个分组在被分割消息中的位 置。 夺p d u 类型 武汉科技大学硕士学位论文第7 页 表示这个p d u 是什么类型( 调用、确认等) 。它为响应端w t p 提供者提供信息以说明 p d u 数据应该怎样解释以及请求什么样的操作。 保留( r e s ) 除非特别规定,所有保留的比特被设置为值o x 0 0 。 夺重传指示( r i d ) 用于区分是否是被重传的分组。在初始化消息中,r i d 是空的,也就是没有被设置 当消息被重传时,r i d 将被发送方设置。 夺事务标识( t i d ) 将一个分组与一个特定的事务相关联。 2 ) 调用p d u 表2 2 调用协议单元的结构 b i t o c t e t 012345 6 7 1c o np d ut y p e = i n v o k e g t rt t rr i d 2t i d 3 4v e r s i o nt i d n e w u p r e sr e s t c l 在表2 2 中,除通用报头外,调用p d u 包含了特有的报头。其中,t c l :事务类型标志,即: l 、2 、3 ;t i d n e w :回溯标记,当其被设置时,表明t i d 达到了最大值;v e r s i o n :版本信息; u p :确认标记,当其被设置时,则表明改调用需要一个来自对等w t p 层用户的确认,这意 味着w t p 用户要确定每一条收到的消息,否则,表明w t p 提供者可以在没有w t p 用户确认的 情况下响应一个消息。 3 ) 结果p d u 表2 3 结果协议单元的结构 b i t o c t e t0123 l 45 l 67 1c o np d ut y p e = r e s u l t g t rt t rr i d 2 t i d 3 第8 页武汉科技大学硕士学位论文 4 ) 确认p d u 表2 4 确认协议单元的结构 b i t o c t e t o1 l 2 i 34567 l c o np d ut y p e = a c k n o w l e d g e m e n t t v e t o kr e sr i d 2t i d 3 在表2 4 中,t v e t o k 标志:在响应者到发起者的方向上,t v e 标志( t i d 验证) 的含义是 “你携带的这个t i d 相关的事务完成了吗? ” 5 ) 放弃p d u 表2 5 放弃协议单元的结构 b i t o c t e t 012 3 4 5 l 67 1c o n p o ut y p e = a b o r t a b o r t t y p e 2t i d 3 4a b o r tr e a s o n 在表2 5 9 ,a b o r t t y p e 标志:说明了放弃的类型,包括:提供者( p r o v i d e r ) i 妇w t p 提 供者自身产生;用户( u s e r ) 由w t p 用户产生。 2 2 4 协议事务类型。1 由于无线网络有较高的延迟、误码率和有限的带宽等特征。事务层为了提供可靠的面 向连接的服务,同时,使得为此而付出的代价最小,w t p 协议规范为此定义了三种级别的事 务类型,分别是:0 类型事务( 无结果回送,无确认的事务处理) ,1 类型事务( 无结果回送, 有确认的事务处理) 和2 类型事务( 有结果回送,有确认的事务处理) ,来满足不同应用级别 的需求。下面就这三种事务类型分别展开讨论。 依照协议规定将发起事务的w t p 提供者称为发起实体,对事务做出响应的w t p 提供者称 为响应实体,事务的级别由发起实体设置,且不能协商。 1 ) 事务类型0 :无结果回送。无确认的事务处理: 提供了一个不可靠的数据报服务,它适应于不可靠推送服务的应用。此类服务主要是 为了给使用w t p 的应用增加一种功能,即在现存的会话条件下,偶尔地发送一些数据报, 但此类服务并不是发送数据报的主要方法。若上层应用要将数据报服务作为它主要的数据 发送方法,则应直接使用w d p 层提供的服务。 因为响应实体不需要发送结果信息和确认信息,所以这个类型的事务可以增大事务服 务的能力。 事务处理的基本过程是: 发起实体向响应实体发送一个请求报文,响应实体不对该报文确认,也不把请求产生 的结果送回给发送方,发起实体也不重传该请求。在发起实体一端,请求报文一经发出, 事务处理即结束。在响应实体一端,接收到请求,事务处理即结束。整个事务的处理是无 武汉科技大学硕士学位论文第9 页 状态的,故也不能被终止。 2 ) 事务类型1 :无结果回送,有确认的事务处理: 提供了一种可靠的数据报服务,主要是为上层需要“可靠推”服务的应用。 事务处理的基本过程是: 发起实体向响应实体发送一个请求报文,响应实体须对该请求进行确认,以告诉发起 实体该请求报文已被收到,但是响应实体并不将处理结果返回给发送方,响应实体须在确 认报文发送后一段时间内维护状态信息,以处理需重发确认的情况。在发起实体收到确认 后,事务处理就结束了,事务处理可在任何时刻被终止。如果选择了要w t p 用户对请求报 文进行确认,则响应实体的确认包须等w t p 用户确认之后才可发送给发起实体。 3 ) 事务类型2 :有结果回送,有确认的事务处理: 提供了基本请求响应事务处理服务,一个w s p 会话可以由多个此类事务处理组成。 事务处理的基本过程是: 发起实体发送一个请求报文给响应实体,响应实体则以含有确认的结果报文为回答。 如果响应实体的确认定时器超时了它还没没有收到其用户处理完送来的请求,那么响应实 体应在返回结果报文之前,发送一个“h o l do d ”确认,这样可以避免发起实体不必要地 重发请求。发起实体在收到结果报文后,应给响应实体发送确认,并且应在一段时间内维 护状态信息,以处理需重发确认的情况。当响应实体收到确认后事务处理即结束。事务处 理可以在任何时刻被终止。如果选择了用户确认机制,则响应实体在送出结果报文之前应 由w t p 用户对请求报文进行确认。同样,发起实体在送出对结果的确认报文之前应由w t p 用 户对结果报文进行确认。 2 2 5 协议特征 1 ) 协议层消息描述 w t p 包括两种类型的消息:数据消息和控制消息。数据消息携带用户数据;控制消息用 来进行确认、错误报告等等,不携带用户数据。事务在两个w t p 提供者之间发生。一个w t p 用户通过发布t r i n v o k e 请求原语发起一个事务,原语的事务级别参数指示了事务的类型: 0 、1 或2 。各种消息传送的具体过程: 调用消息 总是事务的第一条消息,它通过调用p d u 来发送。每发起一个事务,发起实体就将事务 标识符( t i d ) 加1 ,以达到管理事务的目的,t i d 在事务的每一个p d u 中传送。当调用p d u 被发出,发起实体开启重传计器并等待响应,当响应实体接受到一个带有有效t i d 的调 用p d u 时,它产生调用指示原语,并向用户发送消息。 夺验证 当响应实体收到并接受了调用消息时,它应该缓存其t i d ,这是为了过滤掉较小的或相 等的t i d 值的重复性消息及旧消息。如果响应实体测试出调用p d u 中的t i d 是无效的,则 它需要验证这个调用消息是新的还是被延迟的,即通过发送一个验证标志被设置的a c k 第l o 页武汉科技大学硕士学位论文 p d u 至u 发起实体。响应实体直到收到发起实体的t i d o k 确认信息后才能向其用户发送数 据,如果收到的是放弃信息,则放弃该事务。 夺h o l do n 确认 如果w t p 用户为调用消息提供的服务时间比确认计时器设定的时间间隔长,则响应实体 应该发送一个“h o l do n ”确认到发起实体,这是为了避免发起实体重传调用p d u 。当 发起者收到确认p d u 时,它停止重传调用p d u ,并产生调用确认原语。 夺结果消息 在组装数据方面,w t p 用户通过发出t r r e s u l t 请求原语来发送一个结果消息。当结果 p d u 被发出,响应实体开启重传计器并等待响应,在发起实体收到结果p d u 后,将向其 用户发出一个结果指示原语。 2 ) 重传直到确认 用来保证数据的可靠传输。为了使传输的数据包数量最小化,w t p 在可能的情况下采 用了隐式确认。例如,在服务的发起方接收到结果原语r e s u l t 即代表了对调用原语i n v o k e 的确认。否则,事务的完成就会多用一条a c k ( h o l do n ) 原语。如果事务响应方的r e s u l t 报 文迟迟未产生,在隐式确认的情况下,请求方就会不断的发送i n v o k e 报文直到超时放弃事 务为止。为避免这种情况,响应方将在收到i n v o k e 调用的一段时间后发送一个“h o l do n ” 确认原语给发起方,通知它停止重传调用。 3 ) 用户确认 用户确认是w t p 协议的一个可选配置。如果使用该选项,只有上层协议对w t p 层收到的 每个原语做出确认后,响应原语才能被w t p 层发出。如果上层协议在一段时间内未能做确 认,事务将被终止。这样做能保证响应原语包含上层处理的结果。如果不使用,w t p 层在 收到调用原语后就会立即发出确认原语,不等待上层协议的处理。以后再单独将上层协议 的确认原语发给调用请求方。显然,使用用户确认能提高应用的运行效率,同时也减少了 网络传输量。 4 ) 最后确认中的信息 w t p 用户被允许在事务的最后确认中附加上信息,此功能的目的是为了传输与事务相 关的少量信息。例如,信息可能是收集到的性能测量数据以评价用户感觉到的服务质量。 在事务类型2 中,该特征可被发起实体用来把某些信息传回响应实体。 5 ) 组合和分割 组合是将多个w t p 协议数据单元合成一个底层承载网络的业务数据单元。这样可减少 网络传输次数。分割则是反方向的操作,还原各个w t p 协议数据单元。它们都是只能作用 在具有相同地址的原语上。具有相同地址不同事务的协议数据单元也可以组合,当一个事 务的最后一次确认原语和下一个事务的调用原语连接起来传送时,将可以节省一次传输过 程。 6 ) 异步事务 异步事务这一特征保证了请求方在启动了一个事务后,在没有收到响应方的回复,就 武- m c h 技大学硕士学位论文第l l 页 可以启动另外一个事务。这使得w t p 层能够在异步启动多个事务。这些事务在w t p 中被称为 待处理事务。_ | 盯p 可以对任一时刻待处理事务数量做出限制。事务标识是1 6 比特的,最高 位用于指示消息的方向,因此待处理事务的最大数目为2 ”。 7 ) 事务放弃 w t p 用户可以通过发布t r - a b o r t 请求原语来放弃一个未完成的事务。w t p 提供者还可以 根据协议错误( 例如,拒绝收到的数据) 或者是一个请求的功能未被正确执行来放弃一个未 完成的事务。 8 ) 事务标识 一个具体的事务是由事务套接字对( 源地址、源端口、目的地址、目的端口) 和事务标 识来唯一确定。发起者维持一个t i d 变量,每次启动一个事务时,就将该t i d 变量加1 作为 该事务的标识。当一个消息被重传时,t i d 在重传的消息中被重新使用。在接受了调用消 息并进行了t i d 验证后响应实体可能选择记住该t i d 以避免重建事务。 9 ) 事务标识验证 是一个在发起实体和响应实体之间的三次的握手过程,具体采用以下过程: 夺发起实体到响应实体:这是t i d 。( 调用p d u ) ; 响应实体到发起实体:你携带的这个t i d 相关的事务完成了吗? ( 确认p d o ) ; 发起实体到响应实体:有没有。( 确认p d u 放弃p d u ) 。 具体为响应实体发起一个确认p d u ,此p d u 的t v ef l a g 被设置,指示它已经收到一个 带有此t i d 的调用消息,当发起实体收到此响应者确认p d u 时,它检查是否有一个带有此t i d 的未完成的事务。如果有则发回一个带有t i d o k 标记确认p d i j ,指示该t i d 有效。如果没有, 则它必须发送一个带有放弃原因的放弃p d u 来放弃事务。 1 0 ) 分段和重组 分段和重组是w t p 协议的一个可选配置。如果实现不支持这一特征,当协议p d u 的长度 超过底层承载层的m t u 时,将被丢弃。如果支持这一特性,当这种情况发生时,协议p d u 将 被分为一些更小的包,对等方在收到全部包后重组成完整的协议p d o 并进行处理。如果有 一些包丢失了,w t p 层能够对丢失的包进行选择性重传,从而避免了由发送方重传整个协 议p d u 。 上述w t p 层协议的特征,是事务层协议建模的基础。从中可以看到,在事务层协议的 设计中,尽可能的考虑了在传输过程中可能遇到的各种情况,并做了相应的处理。同时, w t p 层的另外一些特征旨在充分利用各种已有功能,尽力提高协议性能效率,力争使协议 开销达到最小,整体性能达到最高。 2 2 6 协议状态转换 在本节中将就一次事务处理过程中,发起实体和响应实体的状态变化和引起状态变化 的事件展开讨论。 对于参与通信的双方协议实体,当接收到一个事件后,这个事件可能是来自于上层的 第1 2 页武汉科技大学硕士学位论文 协议用户,或者协议对等层实体发出的事件,或者协议实体自身发出的事件像如计时器到 时、出现错误等。对于这样的事件,协议实体需要根据其当时所处的状态,分析事件中的 相关数据项,b j w t p 层协议数据单元的头部,做出相应的处理,包括返回确认信息,向上 层提交数据等操作,然后自身转入其它的特定状态,在该状态下继续处理后续发生的事件。 以下分别以发起实体和响应实体在三种不同事务类型中的状态变化情况展开讨论。分 析引发状态变化的事件,w t p 协议特性对状态变化的影响。 事务发起实体在三种不同的事务类型下面的状态图: 夺事务类型o : 黾。 图2 4 发起实体事务类型0 状态图 发起实体在事务类型0 只对应一个状态,所对应的操作只有请求调用操作,在操作完成之 前和完成之后都保持空状态,如图2 4 夺事务类型l : t r _ i n v o k e r e q t ra b o r t r e q ,r c v a c k ,r c v a b o r t , r c v e r r o r p d u , t i m e r t or ( r c r = m a x _ r c r 、 r c v a c h t i d v e ) , t i m e t or f r c r m a xr c r ) t i m e t or r r c r m a xr c r ,a c k ( a n d o k ) s e n t ) , 图2 5 发起实体事务类型1 状态图 发起实体在事务类型l 对应两种状态,分别是:空状态和等待结果,由用户的调用请求事 件将其状态从空状态转为等待结果状态;对于上层用户的放弃事务请求( t ra b o r t r e q ) 、对 等实体放弃请求( r c v a b o r t ) 、错误( r c v e r r o r p d u ) 、计时器到时( t i m e r t or ) 、对等实体的 确认等事件( r e v a c k ) ,将使等待结果状态转入空状态;对于对等实体的t i d 验证所触发的确 认( t i d o k ) 事件对事务状态不引起变化。 夺事务类型2 : 武汉科技大学硕士学位论文第1 3 页 t r l n v o k e r e q r c v a c k t i m e r t o _ a ( a e c ,则在标识m 下,由于变迁t 的触发,得到得新得标识m ( 记为m t m ) 对vs s 都有如下关系成立: m ( s ) = 肼( s ) 一1 ,若s t - t m ( j ) + l ,若s t - t m ( s ) , 其他 ( 3 4 ) 说明:公式( 3 1 ) 中基本网的定义只给出了网的结构部分,用p e t r i 网为一个系统建模时, 还有另外一个重要的因素要考虑就是标识,网的标识反映的是系统的状态。用图形来表示 一个标识网( n ,m ) 时,对s s ,若m ( s ) = k ,就在表示库所s 的小圆圈内加如k 个小黑点表 示库所s 中有k 个t o k e n ( 标记) ,如果k 很大就直接在圆圈内标示数字k 。一个网系统( n , m o ) 的全部可能的运行情况由它的基网和初始标识l i o 完全的确定,因此给出了基网n 和初始 标识l i d 就确定了一个网系统。 定义3 4 六元组= ( s ,t ;f ,k ,w ,) 称为一个网系统的条件是: 其中( s ,丁;f ) 为一个网,称为的基网; w :f _ l ,2 ,3 , 称为权函数; k :s 斗 l ,2 ,3 ,) 称为容量函数; m :s 寸 0 ,l ,2 , 为的一个标识满足条

温馨提示

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

评论

0/150

提交评论