[发明专利]心跳机制的实现方法有效
申请号: | 200910236819.7 | 申请日: | 2009-10-30 |
公开(公告)号: | CN101714991A | 公开(公告)日: | 2010-05-26 |
发明(设计)人: | 王凯;薛一波;李军 | 申请(专利权)人: | 清华大学 |
主分类号: | H04L29/06 | 分类号: | H04L29/06;H04L12/56;H04L12/18 |
代理公司: | 北京路浩知识产权代理有限公司 11002 | 代理人: | 胡小永 |
地址: | 100084 北京市海*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 心跳 机制 实现 方法 | ||
技术领域
本发明涉及网络测试或监控技术领域,尤其涉及一种心跳机制的 实现方法。
背景技术
心跳机制一般是用来判断对方(设备、进程等网络实体或应用) 是否正常运行。
服务器端不能有效的判断客户端是否在线,也就是说,服务器端 无法区分客户端是长时间在空闲,还是已经掉线的情况,这样就需要 心跳机制来实现客户端定时发送简单的信息给服务器端,以告诉服务 器端该客户端还在线。心跳机制通常采用定时发送简单的通讯包的方 式,如果在指定时间段内未收到对方响应,则判断对方已经当掉。
TCP(Transmission Control Protocol,传输控制协议)中已实 现了一个心跳机制。如图1所示,即如果在指定的时间内(一般为2 个小时)没有数据传送,客户端会给服务器端发送一个Keep-Alive 数据报文,使用的序列号是曾发出的最后一个报文的最后一个字节的 序列号,服务器端如果收到这个数据,则回送一个TCP的ACK报文 (ACKnowledge Caracter,确认字符),确认该字节已收到,这样就知 道此连接没有断开。如果一段时间没有收到服务器端的响应,客户端 会进行重试,重试几次后,认为TCP连接异常断开,再向服务器端 发一个RST(Reset the connection,复位连接)报文,然后将连接 关闭。
如果需要在服务器端采用该心跳机制来实现检测多个客户端在 线与否,服务器端与每个客户端之间需要维护一条专门的TCP数据 连接。当某客户端当机时,服务器端会检测到客户端当机,并关闭与 该客户端的连接;而当该客户端再次恢复正常工作时,服务器端则需 要重建与该客户端的TCP数据连接才能开始实时检测该客户端的状 态。因此,该心跳机制应用范围有限,且可靠性差,效率低。另外, 利用TCP报文实现的心跳机制因为发送的TCP报文较长,不符合心 跳数据包信息应相对简短的要求。
发明内容
本发明的目的是提供一种心跳机制的实现方法,该方法独立性、 可靠性强,效率高,且简单易行,通用性强,可克服现有技术的不足。
为实现上述目的,本发明采用如下技术方案。
本发明提出的一种心跳机制的实现方法,该方法包括步骤:
S1.服务器端向所有客户端发送心跳请求数据包;
S2.在设定时间后,所述服务器端以非阻塞的方式接收数据包, 若接收到数据包,则执行步骤S3,否则判定所有客户端均未正常工作, 并返回步骤S1;
S3.解析接收到的数据包,若所述数据包为心跳应答数据包,则 判定发送该心跳应答数据包的客户端工作正常,未发送任何数据包的 客户端未正常工作,并返回步骤S1,否则判定发送该数据包的客户端 以及未发送任何数据包的客户端均未正常工作,并返回步骤S1。
其中,步骤S1中,所述服务器端以广播的方式发送所述心跳请 求数据包。
其中,在所述设定时间内,所述客户端返回的数据包均存储于接 收缓冲区内。
其中,步骤S2中,所述设定时间为心跳机制的周期。
其中,所述服务器端以及客户端均为统一威胁管理系统中的处理 器。
其中,该方法中的数据包包括:用于表示数据包为心跳数据包或 非心跳数据包的字节,用于辅助进行心跳请求数据包与心跳应答数据 包的匹配的字节,以及用于表示心跳数据包的类型为心跳请求数据包 或心跳应答数据包的字节。
本发明的方法基于UDP,用户可自定义该心跳机制的通信格式, 这样就能够很方便地将心跳接收与其他远程配置的消息格式兼容;本 发明方法实现的心跳机制不需要socket绑定接收端口,不需要去维护 一条专门的连接,所以独立性和可靠性很强。另外,该心跳机制所基 于的系统相当于是在一个设备不同板卡之间,或者说该心跳机制是多 处理器之间通过控制总线实现的,因为不在数据总线上,所以不存在 带宽问题。最后,该心跳机制简单易行,通用性强。
附图说明
图1为传统心跳机制流程图;
图2为依照本发明一种实施方式的心跳机制的实现方法流程图;
图3为依照本发明一种实施方式的心跳机制的实现方法实现的心 跳机制的协议流程图;
图4为实施例中应用本发明方法的UTM系统架构图;
图5为实施例中的UTM系统应用本发明方法的流程图;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于清华大学,未经清华大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910236819.7/2.html,转载请声明来源钻瓜专利网。