一种p2p双向语音对讲通信的心跳检测方法及装置的制造方法

文档序号:9814032阅读:599来源:国知局
一种p2p双向语音对讲通信的心跳检测方法及装置的制造方法
【技术领域】
[0001]本发明涉及多媒体网络通信技术领域,特别是涉及一种P2P双向语音对讲通信的心跳检测方法及装置。
【背景技术】
[0002]在互联网环境下,由于网络通信的不稳定性和不确定性,经常会出现网络延迟或传输中断的情况,特别是在多媒体视音频数据的长时间、多频次的传输过程中,由于数据流量大及传输质量要求高的客观因素,经常出现网络故障导致通信中断的情况。
[0003]在多媒体实时通信过程中,当网络故障导致通信中断时,由于其中一方通信异常终止,另一方无法知道对方的在线状态,所以仍然处于通信状态中,这样就会造成原来正常通信的一方状态异常,并且无法接受新的连接请求,而成为“僵尸”资源,甚至会造成服务器资源耗尽而导致整个系统崩溃或者僵死情况的发生。

【发明内容】

[0004]本发明的目的是提供一种P2P双向语音对讲通信的心跳检测方法及装置,目的在于解决现有语音对讲通信中服务器无法实时检测呼叫方的状态的问题。
[0005]为解决上述技术问题,本发明提供一种P2P双向语音对讲通信的心跳检测方法,包括:
[0006]呼叫方登录P2P服务器,启动心跳定时器,按照第一预设频率向所述P2P服务器发送心跳包;
[0007]所述P2P服务器接收到所述呼叫方的心跳包后,刷新所述呼叫方的心跳包更新时间;
[0008]当所述P2P服务器检测到所述呼叫方的心跳出现超时的情况时,断开与所述呼叫方的连接。
[0009]可选地,在所述P2P服务器收到所述呼叫方的心跳包后,刷新所述呼叫方的心跳包更新时间之后还包括:
[0010]通过操作界面对所述呼叫方的状态信息进行显示。
[0011]可选地,在所述当所述P2P服务器检测到所述呼叫方的心跳出现超时的情况时,断开与所述呼叫方的连接之后还包括:
[0012]清除用于标识所述呼叫方在线的标志位,并释放相关资源。
[0013]可选地,还包括:
[0014]主叫方与被叫方建立P2P双向语音通信链路;
[0015]所述主叫方启动心跳定时器,按照第二预设频率向所述被叫方发送心跳请求信息;
[0016]所述被叫方收到所述心跳请求消息后,发送心跳响应消息;
[0017]当所述主叫方检测到所述被叫方的心跳出现超时的情况时,关闭语音对讲。
[0018]可选地,在所述当所述主叫方检测到所述被叫方的心跳出现超时的情况时,关闭语首对讲之后还包括:
[0019]清除本地语音对讲资源,并通知所述P2P服务器断开语音对讲连接。
[0020]本发明还提供了一种P2P双向语音对讲通信的心跳检测装置,包括:
[0021]第一发送模块,用于在呼叫方登录P2P服务器之后,启动心跳定时器,按照第一预设频率向所述P2P服务器发送心跳包;
[0022]刷新模块,用于在所述P2P服务器接收到所述呼叫方的心跳包后,刷新所述呼叫方的心跳包更新时间;
[0023]第一检测模块,用于当所述P2P服务器检测到所述呼叫方的心跳出现超时的情况时,断开与所述呼叫方的连接。
[0024]可选地,还包括:
[0025]显示模块,用于在刷新所述呼叫方的心跳包更新时间之后,通过操作界面对所述呼叫方的状态信息进行显示。
[0026]可选地,还包括:
[0027]第一清除模块,用于在断开与所述呼叫方的连接之后,清除用于标识所述呼叫方在线的标志位,并释放相关资源。
[0028]可选地,还包括:
[0029]第二检测模块,用于主叫方与被叫方建立P2P双向语音通信链路;所述主叫方启动心跳定时器,按照第二预设频率向所述被叫方发送心跳请求信息;所述被叫方收到所述心跳请求消息后,发送心跳响应消息;当所述主叫方检测到所述被叫方的心跳出现超时的情况时,关闭语音对讲。
[0030]可选地,还包括:
[0031 ]第二清除模块,用于在关闭语音对讲之后,清除本地语音对讲资源,并通知所述P2P服务器断开语音对讲连接。
[0032]本发明所提供的P2P双向语音对讲通信的心跳检测方法及装置,通过呼叫方登录P2P服务器,启动心跳定时器,按照第一预设频率向P2P服务器发送心跳包;P2P服务器接收至IJ呼叫方的心跳包后,刷新呼叫方的心跳包更新时间;当P2P服务器检测到呼叫方的心跳出现超时的情况时,断开与呼叫方的连接。可见,本发明所提供的P2P双向语音对讲通信的心跳检测方法及装置,在呼叫方异常下线时,P2P服务器在规定时间内无法获取到呼叫方的心跳信息,即认为呼叫方已下线,立即停止通信并刷新呼叫方的状态,从而保证了系统的健康运行。
【附图说明】
[0033]为了更清楚的说明本发明实施例或现有技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0034]图1为本发明所提供的P2P双向语音对讲通信的心跳检测方法的一种【具体实施方式】的流程图;
[0035]图2为本发明所提供的P2P双向语音对讲通信的心跳检测方法的另一种【具体实施方式】的流程图;
[0036]图3为本发明实施例提供的P2P双向语音对讲通信的心跳检测装置的结构框图。
【具体实施方式】
[0037]为了使本技术领域的人员更好地理解本发明方案,下面结合附图和【具体实施方式】对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0038]本发明所提供的P2P双向语音对讲通信的心跳检测方法的一种【具体实施方式】的流程图如图1所示,该方法包括:
[0039]步骤SlOl:呼叫方登录P2P服务器,启动心跳定时器,按照第一预设频率向所述P2P服务器发送心跳包;
[0040]具体地,可以在P2P服务器初始化时,启动心跳检测线程。呼叫方初始化时,登录P2P服务器。
[0041]呼叫方登录上P2P服务器后,启动心跳定时器,按照第一预设频率向P2P服务器发送心跳包。第一预设频率可以具体为每隔一秒发送一次。
[0042]步骤S102:所述P2P服务器接收到所述呼叫方的心跳包后,刷新所述呼叫方的心跳包更新时间;
[0043]该步骤中,在刷新呼叫方的心跳包更新时间之后还可以进一步包括:通过操作界面对呼叫方的状态信息进行显示。
[0044]步骤S103:当所述P2P服务器检测到所述呼叫方的心跳出现超时的情况时,断开与所述呼叫方的连接。
[0045]如果出现呼叫方异常下线的情况,P2P服务器可以在预设频率内对呼叫方的心跳例行检测中发现出超时。此时,P2P服务器可以立即断开与呼叫方的连接。
[0046]作为一种优选实施方式,在断开与呼叫方的连接之后还可以进一步包括:
[0047]清除用于标识所述呼叫方在线的标志位,并释放相关资源。
[0048]本实施例通过上述心跳检测机制,P2P服务器可以实时检测到已登录的呼叫方状态,动态刷新呼叫方状态列表,并在管理员操作界面上进行展示。
[0049]本发明所提供的P2P双向语音对讲通信的心跳检测方法,通过呼叫方登录P2P服务器,启动心跳定时器,按照第一预设频率向P2P服务器发送心跳包;P2P服务器接收到呼叫方的心跳包后,刷新呼叫方的心跳包更新时间;当P2P服务器检测到呼叫方的心跳出现超时的情况时,断开与呼叫方的连接。可见,本发明所提供的P2P双向语音对讲通信的心跳检测方法,在呼叫方异常下线时,P2P服务器在规定时间内无法获取到呼叫方的心跳信息,即认为呼叫方已下线,立即停止通信并刷新呼叫方的状态,从而保证了系统的健康运行。
[0050]上述实施例描述了 P2P双向语音对讲通信中呼叫方与P2P服务器之间进行心跳检测的方法,优选地,本申请还可以进一步包括呼叫双方之间进行心跳检测的过程。本发明所提供的P2P双向语音对讲通信的心跳检测方法的另一种【具体实施方式】的流程图如图2所示,该过程包括:
[0051]步骤S201:主叫方与被叫方建立P2P双向语音通信链路;
[0052]建立P2P双向语音通信链路的过程可以具体为:
[0053]呼叫双方上线,登录P2P服务器;主叫方向被叫方发送语音对讲请求消息,P2P服务器协助打洞,主叫方和被叫方的P2P通信建立;被叫方向主叫方发送语音对讲响应消息;主叫方通知P2P服务器语音对讲链路建立。
[0054]步骤S202:所述主叫方启动心跳定时器,按照第二预设频率向所述被叫方发送心跳请求信息;
[0055]具体地,在P2P双向语音通信链路建立之后,可以在主叫方启动心跳检测线程,实时检测被叫方的心跳响应消息。
[0056]主叫方启动心跳定时器,在心跳定时器中,主叫方按照第二预设频率向被叫方发送心跳请求消息。具体地,第二预设频率可以与第一预设频率相同,即每隔一秒发送一次。第一预设频率以及第二预设频率可以具体进行设置,这均不影响本发明的实现。
[0057]步骤S203:所述被叫方收到所述心跳请求消息后,发送心跳响应消息;
[0058]步骤S204:当所述主叫方检测到所述被叫方的心跳出现超时的情况时,关闭语音对讲。
[0059]被叫方每收到一个心
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1