网络软件设计10-有状态设计.ppt
《网络软件设计10-有状态设计.ppt》由会员分享,可在线阅读,更多相关《网络软件设计10-有状态设计.ppt(38页珍藏版)》请在三一办公上搜索。
1、网络软件设计,服务器的有状态与无状态有状态协议设计,制作主讲,段景山,2,状态由服务器维护的,关于服务器与客户机正在进行的交互 的信息称为状态“信息”不是指服务器和客户机交互的数据,而是关于交互过程本身有状态服务器保存状态信息的服务器程序例:认证服务器需要记录与客户交互的状态正在认证(等待用户名、等待口令)、已认证等无状态服务器不保存状态信息的服务器程序例:聊天应用,有状态与无状态服务器,3,有状态服务,为什么要求设计有状态服务器任务需求可以减少报文开销(利用报文间的相关性)有状态服务器面临的问题增加实现的复杂程度需要复杂的协议控制系统在多个状态下转换时,可能因错误事件而导致:进入非期望状态、
2、死锁、崩溃可以设计有限状态机来指导软件实现,4,无状态是一个协议问题,为什么要设计无状态服务任务需求服务实现简单,可靠性强一个报文的意义不依赖先前的报文状态的依赖性究竟网络应用软件是有状态的还是无状态的从系统的角度,系统是“无状态”的系统能不断为各次通信服务从功能实现角度,复杂的通信应采用有状态方法设计,5,有限状态机,一种直观、全局、准确的协议描述方法,状态,转换,事件,动作,缺点时序性不强,6,有限状态机的基本结构,状态:实体有有限个状态 每一时刻,实体只处于其中一个状态事件:事件引起实体产生动作,如收到PDU、定时器到时等 事件按发生的顺序排在事件队列中,等待处理 事件可能有附加条件动作
3、:处理队列中的一个事件,转移到下一状态 不同状态下,对同一事件可能有不同的处理方法 最简动作:忽略事件,保持状态(图中可省略不画),FSM,事件,状态1,状态2,事件e1/动作a1,事件e2/动作a2,事件e3/动作a3,7,例,以停等协议为例,讲解利用有限状态机实现有状态设计发送方发送完一个数据包后,需得到接收方的确认才能发送下一个数据包若接收方超时没有确认,发送方将重传,8,停等协议的状态机(1),状态机(Ns,Nr),发送,接收,递交,上层DU,协议实体,PDU、ACKTo:对等实体,PDU、ACKFrom:对等实体,状态机的位置,9,停等协议(2),状态的确定,0,ACK,1,ACK,
4、发送方,接收方,准备发送帧1,准备发送帧0,等待帧1,等待帧0,10,停等协议状态机,准备发送帧0,准备发送帧1,等待接收帧0,等待接收帧1,接收方,发送方,11,有限状态机小结,状态状态是复合的由多个要素形成如:准备发送帧0状态刚发送了帧1上层有一个待发的SDU收到了对前一帧的应答等待刚发送的帧的应答还没有超时系统的状态是稳定的不触发就不变化制定状态的结果可能不唯一,状态1,状态2,/,x,12,有限状态机小结,事件转换的输入条件若是别的状态的动作造成转换,则跃迁的状态是不稳定状态,不应出现可以是对等实体的动作状态机一次只处理一个事件如果有必要处理多个事件,应定义为复合事件,状态1,状态2,
5、事件1/动作1,事件2(动作1)/动作2,,动作2,事件1,事件2/动作3,事件1/动作1,事件2/动作2,状态3,状态1,事件3/动作3,13,有限状态机小结,动作动作一定由事件触发不触发就自发产生动作是不稳定状态某些转换不一定产生动作,动作不一定伴随状态转换触发不一定有动作产生,不一定造成状态转换,状态1,/动作1,事件1/,x,状态1,事件2/动作2,事件3/,14,有限状态机的作用(1),指导协议实现根据有限状态机形成状态转移表,状态转移表,15,状态转移表,停等协议的状态转移表,16,状态转移表,停等协议的状态转移表,等待帧0,等待帧1,发送ACK,收到帧0,发送ACK,收到帧1,1
6、7,fsm程序框架,根据状态转移表形成fsm程序可能的框架,fsm(当前状态,事件),switch(事件),case 事件1:,case 事件2:,default:ignore;,return next_state;,action 1;,next_state=xxx;,main()state=initial;while(1)waite for a event;state=fsm(state,event);,fsm.c,if(当前状态=X),18,改进的fsm程序框架,main()state=initial;while(1)waite for a event;switch(state)case
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 网络软件 设计 10 状态

链接地址:https://www.31ppt.com/p-6336123.html