通信网络中长连接的心跳保活方法及装置的制造方法_4

文档序号:9846824阅读:来源:国知局
[0067]步骤408,初始化自学习心跳。
[0068]步骤410,以重置的Ping包发送周期循环判断是否开始心跳,并在判定为是时执行步骤412。
[0069]步骤412,发送Ping包至服务器。
[0070]步骤414,网络监听器除了能获知的网络情况,还需要分析出客户端不知道的网络断开或者连接,具体地,抽象成心跳的成功率或失败率来解决的,即网络监听器借助包收集器经包过滤器判断是Ping包还是断开连接,若是Ping,则执行步骤416,否则执行步骤432。
[0071]步骤416,判断服务器是否收到Ping包,若是,执行步骤418,否则执行步骤424。
[0072]步骤418,根据心跳的成功率来解决,判断服务器是否连续5次成功接收到客户端的Ping包,即成功率是否高于或等于5次,若是,执行步骤420,否则执行步骤422。
[0073]步骤420,表示客户端当前网络良好,延长Ping包发送时间周期重置计数,增加心跳周期,直到接近网络老化的NAT时间,从而达到最高效率。
[0074]步骤422,失败计数加I,重置成功计数。
[0075]步骤424,根据心跳的失败率来解决,判断服务器是否连续3次未接收到客户端的Ping包,即失败率是否高于或等于3次,若是,执行步骤426,否则执行步骤428。
[0076]步骤426,表示客户端有可能已断开链接,需要减少心跳周期时间。
[0077]步骤428,成功计数加I,重置失败计数。
[0078]步骤430,若监听的是网络断开,则执行步骤434。
[0079]步骤432,包过滤器判定是断开连接,则执行步骤434。
[0080]步骤434,在网络关闭的情况下,需要关闭自学习心跳。
[0081](二)用户行为分析机制
[0082]用户在即时通讯中的各种行为,可以抽象成客户端与服务器间的数据包交互过程。通信网络中长连接的心跳保活机制通过分析数据交互包,来计算适合不同使用习惯的用户的心跳时间。
[0083]通信网络中长连接的心跳保活机制在应用中有个包收集器的装置,主要处理服务器通过长连接发送来的业务包,客户端可以认为每个业务包都是用户在使用即时通讯,通过业务包的监听,来分析学习用户的使用情况。默认认为在频繁的业务包收集到的情况下,需要重置自学习心跳的心跳周期(心跳包的发送周期),重置的时间按照之前设置的最优心跳周期,让心跳重新开始计时。若是在频繁的业务交互包未收到的情况下,需要立即激活心跳,并在服务器无响应时,缩短心跳的心跳周期。
[0084]该方法通过分析用户使用的网络情况,和使用即时通信的情况,实现通信网络中长连接的心跳保活机制。采用此方法,可以实现端的省电省流量。与现有技术的区别之处:
(I)学习用户的使用情况和使用习惯,调整心跳包的一个发送周期的计时起点,最大限度的减少智能心跳的工作时间,省电省流量。(2)分析网络情况,判断当前网络的强弱,延长心跳周期至当前最大允许的周期,省电省流量。
[0085]综上,通过对用户所处的网络情况和用户行为进行不断的记录、分析;在保证网络连通性的基础上,最大限度的减少心跳的工作时间,以达到各个端的省电省流量的目的。
[0086]以上结合附图详细说明了本发明的技术方案,可以有效地延长向服务器发送心跳包的发送周期,并通过对用户行为分析调整心跳包的一个发送周期的计时起点,以最大限度地减少心跳的工作时间,节省电量及流量,从而提升用户体验。
[0087]以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【主权项】
1.一种通信网络中长连接的心跳保活方法,其特征在于,包括: 确定当前网络类型; 根据所述当前网络类型按照对应的默认发送周期向服务器发送心跳包; 统计向所述服务器发送心跳包的连续失败次数或连续成功次数; 判断所述连续失败次数是否大于或等于第一预设次数,或者判断所述连续成功次数是否大于或等于第二预设次数; 根据判断结果调整所述当前网络类型对应的默认发送周期,以按照调整后的发送周期向所述服务器发送心跳包。2.根据权利要求1所述的通信网络中长连接的心跳保活方法,其特征在于,所述根据判断结果调整所述当前网络类型对应的默认发送周期,以按照调整后的发送周期向所述服务器发送心跳包,具体包括: 当所述连续失败次数大于或等于所述第一预设次数时,减小所述默认发送周期,或者 当所述连续成功次数大于或等于所述第二预设次数时,延长所述默认发送周期。3.根据权利要求2所述的通信网络中长连接的心跳保活方法,其特征在于,还包括: 当所述连续失败次数小于所述第一预设次数且判定向所述服务器发送心跳包成功时,将当前统计的所述连续失败次数归零,以开始统计所述连续成功次数,或者 当所述连续成功次数小于所述第二预设次数且判定向所述服务器发送心跳包失败时,将当前统计的所述连续成功次数归零,以开始统计所述连续失败次数。4.根据权利要求1所述的通信网络中长连接的心跳保活方法,其特征在于,还包括: 当每次检测到与所述服务器之间存在数据交互时,按照调整后的发送周期从头开始计时,以在达到所述调整后的发送周期时向所述服务器发送心跳包; 当未检测到与所述服务器之间存在数据交互时,立即向所述服务器发送心跳包,以根据发送结果确定是否减小所述调整后的发送周期。5.根据权利要求1至4中任一项所述的通信网络中长连接的心跳保活方法,其特征在于, 所述当前网络类型包括:移动通信网络和无线通信网络,以及所述移动通信网络对应的默认发送周期大于所述无线通信网络对应的默认发送周期。6.—种通信网络中长连接的心跳保活装置,其特征在于,包括: 确定模块,用于确定当前网络类型; 发送模块,用于根据所述确定模块确定的所述当前网络类型按照对应的默认发送周期向服务器发送心跳包; 统计模块,用于统计所述发送模块向所述服务器发送心跳包的连续失败次数或连续成功次数; 判断模块,用于判断所述统计模块统计的所述连续失败次数是否大于或等于第一预设次数,或者判断所述统计模块统计的所述连续成功次数是否大于或等于第二预设次数; 调整模块,用于根据所述判断模块的判断结果调整所述当前网络类型对应的默认发送周期,以按照调整后的发送周期向所述服务器发送心跳包。7.根据权利要求6所述的通信网络中长连接的心跳保活装置,其特征在于,所述调整模块具体用于: 当所述判断模块判定所述连续失败次数大于或等于所述第一预设次数时,减小所述默认发送周期,或者 当所述判断模块判定所述连续成功次数大于或等于所述第二预设次数时,延长所述默认发送周期。8.根据权利要求7所述的通信网络中长连接的心跳保活装置,其特征在于,还包括:重置模块; 所述重置模块具体用于: 当所述判断模块判定所述连续失败次数小于所述第一预设次数且判定向所述服务器发送心跳包成功时,将当前统计的所述连续失败次数归零,以开始统计所述连续成功次数,或者, 当所述判断模块判定所述连续成功次数小于所述第二预设次数且判定向所述服务器发送心跳包失败时,将当前统计的所述连续成功次数归零,以开始统计所述连续失败次数。9.根据权利要求6所述的通信网络中长连接的心跳保活装置,其特征在于,还包括:控制模块; 所述控制模块具体用于: 当每次检测到与所述服务器之间存在数据交互时,按照调整后的发送周期从头开始计时,以在达到所述调整后的发送周期时控制所述发送模块向所述服务器发送心跳包; 当未检测到与所述服务器之间存在数据交互时,控制所述发送模块立即向所述服务器发送心跳包,以根据发送结果确定是否减小所述调整后的发送周期。10.根据权利要求6至9中任一项所述的通信网络中长连接的心跳保活装置,其特征在于, 所述当前网络类型包括:移动通信网络和无线通信网络,以及所述移动通信网络对应的默认发送周期大于所述无线通信网络对应的默认发送周期。
【专利摘要】本发明提供了一种通信网络中长连接的心跳保活方法和一种通信网络中长连接的心跳保活装置,其中,所述方法包括:确定当前网络类型;根据所述当前网络类型按照对应的默认发送周期向服务器发送心跳包;统计向所述服务器发送心跳包的连续失败次数或连续成功次数;判断所述连续失败次数是否大于或等于第一预设次数,或者判断所述连续成功次数是否大于或等于第二预设次数;根据判断结果调整所述当前网络类型对应的默认发送周期,以按照调整后的发送周期向所述服务器发送心跳包。该技术方案,可以有效地延长向服务器发送心跳包的发送周期,并通过对用户行为分析调整心跳包的一个发送周期的计时起点,以最大限度地减少心跳的工作时间,节省电量及流量。
【IPC分类】H04L12/26, H04L29/08
【公开号】CN105610913
【申请号】CN201510971714
【发明人】吴德伦
【申请人】用友网络科技股份有限公司
【公开日】2016年5月25日
【申请日】2015年12月22日
当前第4页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1