



下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
一种改进的网络节点空心模型
1网络节点通信控制形成培育跳线规范随着互联网的发展和基于网络的商业应用的日益增长,高应用和基于高可靠的网络设备和网络应用程序对网络和网络服务的可用性和高可靠性变得越来越重要。心跳机制是实现高可用性和低可用性,确保网络和应用程序的正常运行并不会中断服务。所谓心跳机制,是收发心跳数据包(简称心跳包)的机制,心跳包是遵循心跳数据包协议定义的、周期性、循环发送的数据包,用于判断网络节点是否“存活”,即是否还在连接.实际运用时,首先需设计各网络节点都支持心跳数据包协议,各网络节点按照一定心跳机制向其它网络节点发送心跳包,用于判断对方(设备、进程或其它网元)是否正常运行,如果在指定时间段内未收到对方响应,即没有收到对方发回的心跳包,则认为与对方的连接已经中断,这样可检测TCP的异常断开,如突然断电、网络中断.目前这种方法已经广泛被用于网络通信服务、网络平台的故障检测等相关领域.国内对于心跳包的应用主要包括基于GPRS的系统设计、网络负载均衡以及服务系统双机热备等方面,但很少有文章针对心跳机制和心跳包的设计做出详细介绍.本文提出了一种网络节点通信控制的心跳模型,通过定义网络节点状态、设计心跳机制和心跳数据包协议,建立心跳模型.本文的心跳模型考虑在CS(Client/Server)模式下,通过在服务器节点和客户机节点间传递心跳包,检测对方节点状态,以便在通信及节点出现异常时采取相应措施,保证连接和通信服务的正常;考虑单服务器多客户机工作情况下,服务器节点与多个客户机节点均存在心跳包通信,服务器节点的网络负担相对繁重,故在服务器节点和客户机节点设计不同的心跳机制,以降低服务器节点的网络负担.最后,在VisualC++6.0开发环境下,对模型进行功能分析和性能分析,结果表明模型具有很好的可用性和有效性.2上传改件发跳包心跳模型旨在让网络节点获取对方节点状态,以保证通信服务正常工作.它按照心跳机制发送心跳数据包,通过判断是否接收到一个相应数据包,来判断数据通信是否正常.一般情况下,服务器在指定时间内没有收到客户机心跳包则视为客户端断开;如果客户机在指定时间内没有收到服务器返回的心跳包,则认为网络异常中断,并采取相应的措施.节点状态转换为建立心跳模型,首先为网络节点定义3个状态:“通信中断”,表示未建立连接链路;“通信中...”,表示正在尝试/等待建立Socket连接,或心跳包收发不正常;“通信正常”,表示链路正常,心跳包收发正常.节点状态间的转换及对应的心跳包收发状况如图1所示.如图1所示,程序启动后,节点仍处于“通信中断”状态.网络连接操作成功后,网络节点状态转换到“通信正常”状态,只有处于该状态的心跳包可以正常收发,同时,心跳包的正常收发也表示了节点的连接正常、通信正常;一旦检测心跳包发送失败,节点状态转换到“通信中...”,停止心跳包的收发,断开连接链路,并尝试重新建立网络连接,此时对方节点通过心跳包的收发情况,也可判断该节点连接中断,若尝试连接失败则转换到“通信中断”状态,若尝试成功则转换到“通信正常”状态,继续收发心跳包.规范跳亲设计,增加主观条件,提高网络效率一般情况下,服务器节点和客户机节点采用相同的心跳机制,即网络节点收到对方节点的心跳数据包后,返回一个对应的心跳数据包给对方节点,但在单服务器多客户机工作模式下,服务器的心跳数据包发送量将是所有客户机的心跳数据包发送量的总和.当客户机节点过多时,服务器的网络负担会十分繁重.所以,我们在服务器和客户机设计不同的心跳机制,从而减轻服务器的负担,提高网络效率.心跳包的主动发包方既可以是客户,也可以是服务端,但出于效率的考虑,一般由客户端主动向服务器端发包.出于这些因素的考虑,可以设计心跳机制:客户机主动向服务器发送心跳数据包,心跳包中包含用于检测连接的测试数据,测试数据并不固定,每次发送心跳包时从一组数据序列循环地、顺序地选取一位;在客户机的测试数据序列中,指定其中一位为特殊校验数据,只有当服务器收到的心跳包数据中包含特殊校验位数据时,才返回相应的心跳包,否则,不做任何操作,继续接收下一个心跳包.在这种心跳机制下,假定数据序列长度为N,服务器收到来自客户机的N条心跳包后返回一个心跳包,那么服务器的网络负担就减少到原有的1/N.但数据序列长度过大,可能会造成数据校验延时,影响到心跳数据校验的有效性,所以数据序列的长度不宜过大.关于索赔协议的设计根据通信实时性的要求,数据包的大小应尽可能小,以减少带宽的占用,所以整套应用层传输协议的设计应该力求简洁.心跳数据包协议为:主客户机id在该协议中:包头、包尾均用2个字节;数据方向用1个字节表示,用于表示心跳包是服务器发送给客户机,还是客户机发送给服务器;厂站号多用于在客户机向服务器发送的心跳数据包中,用于表示客户机的ID,这里用2个字节表示;心跳测试位是用于检测连接的特定信息,心跳测试位采用了一组序列数据,这里采用数据序列0∼N.由于客户机与服务器的心跳机制不同,因此客户机每次发送心跳包时,循环地、顺序地选择序列中的一个数据作为测试位,而服务器仅在收到包含特殊校验位的心跳包后,返回一个心跳包,其心跳测试位取值为特殊校验位.该协议具有可扩展性,可根据设计要求增减字段.例如当需要考虑信息传输的安全性时,可加入加密字段;若考虑延时,可增加时间戳字段等.采用了以上的心跳机制后,对于很小的延时,仍可不定义时间戳字段.跳包测试位数据序列在以上内容基础上,心跳模型可按照如图2所示的流程实现.首先,客户机与服务器建立连接后,初始化参数,主要包括以下几点:1)设置心跳包的发送周期.2)设置连接正常标志位.这里定义为一个BOOL型变量,初始值为1,如果经校验后连接正常则置位,进行新的一轮判断前,需要将其复位.3)设置心跳包测试位数据序列.在模型的应用中采用的数据序列为0∼N,发送心跳包时循环地、顺序地发送,当测试位为N时,再发送的心跳包的测试位重新从0开始计数.4)设置特殊校验位.特殊校验位从测试位数据序列中任意挑选一位.5)设置重新连接服务器的次数.当客户机节点尝试连接服务器节点时,如果到达设定的连接次数时,仍没有成功连接服务器节点,则认为连接彻底失败,服务结束.6)设置重新连接服务器的周期.当客户机节点尝试连接服务器节点时,根据设置的周期值,周期性地连接服务器.参数初始化完毕后,开始周期性地发送心跳包,一旦服务器接收到的心跳包数据中包含特殊校验位,就返回一个校验数据包给客户机,如果当客户机再次发送包含特殊校验位的心跳包时,已经收到此校验数据包,则认为连接正常;否则,认为连接出现问题,客户机关闭Socket,并尝试重新连接服务器;如果在指定的连接次数内连接成功,则继续进行数据的通信,否则,则认为连接中断,并采取相应的应急措施,处理出现的问题.3控制及运行状态用VisualC++6.0开发一个测试系统实现心跳模型,并在4台PC上应用该系统测试心跳模型功能,其中1台作为服务器,另外3台作为客户机,模拟不同网络条件,包括网络连接正常、网络中断、网络拥塞,进行功能测试,如图3所示.测试过程表明,通过心跳包收发状态,心跳模型可以实现对网络连接状态的判断,并根据不同情况,在客户端和服务器端采取相应的操作.心跳包状态、网络连接状态和采取的相应操作的对应关系如表1和表2所示.测试结果表明,各状态与当前操作之间的关系符合模型的设计.从表1和表2看出,由于客户机与服务器采用不同的心跳机制,所以心跳包收发状态与节点状态对应情况也存在差异.当客户机节点发生链路故障或网络拥塞时,客户机心跳包发送失败,但是却仍显示心跳包接收状态成功,如表1中第5条所示.经测试,在这种情况下,客户机显示状态为“通信中...”,将继续发送心跳包,在N个心跳包的发送周期(即完成一组测试位数据序列发送的时间)内,客户机会自动根据收发状态的改变而调整显示状态及当前操作,如表1中第4、6条所示.由于系统服务器采用专用网络连接Internet,经测试,很少出现服务器网络连接中断的情况,所以这里认为服务器永远在线,一旦心跳包接收/发送均失败,则认为网络通信出现问题,服务器等待客户机重新连接.在完成心跳模型功能测试的基础上,通过修改发送定时器、心跳测试位数据序列长度、最大重连次数、尝试连接周期,以及通过启动和关闭各网络节点来模拟真实情况下的宕机和启动,通过关闭网络设备终端来模拟链路失效等多种手段,对心跳模型进行连续7×24小时的实际使用,以测试其性能.测试过程中,每次心跳状态的变化都会通过屏幕给予提示,结果表明,心跳模型很好地实现了可用性.4使用了两种形成模型的病毒传播模型,提高了系统的处理能力和可靠性,和维护和提高服务本文提出了一种用于网络通信控制的、采用改
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024秋七年级语文上册 第二单元 7《散文诗二首》荷叶 母亲教学设计 新人教版
- 3我很诚实(教学设计)-统编版道德与法治三年级下册
- 《第4节 组装电脑了解电脑硬件的主要部件》教学设计 -2023-2024学年北师大版初中信息技术七年级上册
- 15《我们不乱扔》(教学设计)2024-2025学年统编版(2024)道德与法治一年级上册
- 5《我们的校园》第一课时(教学设计)-部编版道德与法治一年级上册
- 认知发展差异的教育意义
- 6 花儿草儿真美丽 教学设计-2023-2024学年道德与法治一年级下册统编版
- 2024秋四年级英语上册 Unit 2 My schoolbag第6课时(Read and write Story time)教学设计 人教PEP
- 2024-2025学年新教材高中语文 第3单元 探索与发现 群文阅读(三)学习科技 开拓创新教学设计 新人教版必修下册
- Unit 5 I Have a Bag (Period 3) (教学设计)-2024-2025学年陕旅版(三起)(2024)英语三年级上册
- 2024年国家危险化学品经营单位安全生产考试题库(含答案)
- 防性侵安全教育课件
- 改革开放课件教案
- 自行车采购合同模板
- 《美的集团股权激励实施过程及实施效果分析案例(论文)》14000字
- 2024年四川省南充市中考生物试卷真题(含官方答案及解析)
- JT-T-524-2019公路工程水泥混凝土用纤维
- DL-T5501-2015冻土地区架空输电线路基础设计技术规程
- 鸡毛信的故事-红色故事课件
- 代理记账业务规范-代理记账业务内部规范制度
- 川教版信息技术六年级下册全册教案【新教材】
评论
0/150
提交评论