[发明专利]一种长连接下心跳数据包的处理方法、装置和客户端有效
申请号: | 201210182004.7 | 申请日: | 2012-06-04 |
公开(公告)号: | CN102684949A | 公开(公告)日: | 2012-09-19 |
发明(设计)人: | 高薇 | 申请(专利权)人: | 北京神州泰岳软件股份有限公司 |
主分类号: | H04L12/26 | 分类号: | H04L12/26;H04L12/56;H04L29/08 |
代理公司: | 北京市隆安律师事务所 11323 | 代理人: | 权鲜枝 |
地址: | 100089 北京市海淀区万*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 接下 心跳 数据包 处理 方法 装置 客户端 | ||
技术领域
本发明涉及通信技术领域,特别涉及一种长连接下心跳数据包的处理方法、装置和客户端。
背景技术
当网络通信采用传输控制协议(Transmission Control Protocol,TCP)时,在执行真正的数据传输之前,服务器(Server)和客户端(Client)之间必须建立一个连接,这种连接方式包括短连接和长连接。
对于短连接,通信双方在有数据交互时,建立一个TCP连接,在本次数据发送完成后,就断开此TCP连接,短连接只会在Server/client之间传递一次读写操作。
对于长连接,在一个TCP连接上可以连续发送多个数据包。通信双方完成一次数据交互后,双方之间的TCP连接不会主动关闭,后续双方间的数据交互会继续使用这个TCP连接。由于移动网络中可提供的连接是有限的,当一个连接单位时间内没有数据交互时,移动网关会自动切断这个连接,以释放资源供其它应用使用,所以为了保持长连接一直存在,会采用心跳机制来维持长连接,参见图1,客户端通过每间隔一段时间(如30秒)向服务器发送一个心跳数据包,以检测所连接的服务器端是否还存在,若存在的话,则服务器端回传一个心跳数据包确定长连接有效,如果客户端没接收到回传的心跳数据包或者回传的心跳数据包有问题,则客户端通知上层应用该TCP连接出现问题。客户端通过计时器控制发送心跳数据包的间隔时间,每隔30秒将计时器重置(归零)一次。
目前,各种移动应用,如即时通信(Instant Messaging,IM)、社会性网络服务(Social Networking Services,SNS)和微博等普遍采用长连接的方式,以避免客户端频繁开关网络连接。然而,现有的长连接需要依赖心跳机制保持连接有效,大量的心跳数据包增大了网络流量,增加了服务器操作处理的负荷,也导致客户端的电量消耗过大。
发明内容
本发明提供的一种长连接下心跳数据包的处理方法、装置和客户端,以解决现有长连接下心跳数据包过多导致网络流量过大、服务器负荷较重和客户端电量消耗过大的问题。
为达到上述目的,本发明实施例采用了如下技术方案:
本发明实施例提供了一种长连接下心跳数据包的处理方法包括:
客户端对长连接的网络数据通道上的数据传输进行监听;
客户端对在所述网络数据通道上发送心跳数据包的触发时间进行计时;
当客户端根据所述监听确认网络数据通道上当前存在数据传输时,客户端当前不向所连接的服务器发送心跳数据包,并调整所述对触发时间的计时。
本发明实施例提供了一种长连接下心跳数据包的处理装置包括:
数据传输监听单元,用于对长连接的网络数据通道上的数据传输进行监听;
计时器,用于对在所述网络数据通道上发送心跳数据包的触发时间进行计时;
触发调整单元,用于当根据所述数据传输监听单元确认网络数据通道上当前存在数据传输时,控制客户端当前不向所连接的服务器发送心跳数据包,并调整所述计时器对触发时间的计时。
本发明实施例还提供了一种包括上述长连接下心跳数据包的处理装置的客户端。
本发明实施例的有益效果是:
本发明实施例通过利用网络数据通道中实际的数据传输情况来控制心跳数据包的发送,在确认网络数据通道上当前有数据传输时,则当前不再额外发送心跳数据包,从而能够在保持长连接有效的同时,大大减少了心跳数据包的数量,减轻了服务器的负荷压力,降低了客户端的电量消耗,提高了客户端电池的续航能力。
附图说明
图1为现有心跳机制的处理流程图;
图2为本发明实施例一提供的一种长连接下心跳数据包的处理方法流程图;
图3为本发明实施例二提供的一种长连接下心跳数据包的处理方法流程图;
图4为本发明实施例三提供的一种长连接下心跳数据包的处理装置的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
本发明实施例一提供的一种长连接下心跳数据包的处理方法,参见图2,所述方法包括:
21:客户端对长连接的网络数据通道上的数据传输进行监听。
所监听的事件可以包括客户端通过网络数据通道发送数据,或者客户端通过网络数据通道接收到来自服务器推送的数据。
22:客户端对在所述网络数据通道上发送心跳数据包的触发时间进行计时。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京神州泰岳软件股份有限公司,未经北京神州泰岳软件股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210182004.7/2.html,转载请声明来源钻瓜专利网。