发明内容
本发明的实施例提供一种处理重传信息的方法及装置,可以在WebRTC应用中实现快速重传,提高用户体验。
第一方面,本发明的实施例提供一种处理重传信息的方法,包括:
重传设备通过实时传输协议RTP报文序列号检测RTP报文的传输情况;
根据所述传输情况,所述重传设备确定第一RTP报文丢失;
所述重传设备向通信设备发送重传请求,所述重传请求中包括丢失的所述第一RTP报文序列号,以便所述通信设备根据所述重传请求向所述重传设备重传所述第一RTP报文。
在第一种可能的实施例中,结合第一方面,所述通信设备为用户设备UE;或者所述通信设备为与所述重传设备相邻的另一重传设备。
在第二种可能的实施例中,结合第一方面中的第一种可能的实施例,所述重传设备分别部署在生成RTP报文的第一UE侧和接收RTP报文的第二UE侧;
所述当所述第一RTP报文丢失时,所述重传设备向通信设备发送重传请求,以便所述通信设备根据所述重传请求向所述重传设备重传所述第一RTP报文,包括:
当所述重传设备检测到所述重传设备与所述第一UE之间的所述RTP报文中的所述第一RTP报文丢失时,所述重传设备向所述第一UE发送重传请求,以便所述第一UE根据所述重传请求向所述重传设备重传所述第一RTP报文;或者,
当所述重传设备检测到所述重传设备与所述重传设备相邻的另一重传设备之间的所述RTP报文中的所述第一RTP报文丢失时,所述重传设备向所述重传设备相邻的另一重传设备发送重传请求,以便所述重传设备相邻的重传设备根据所述重传请求向所述重传设备重传所述第一RTP报文;或者,
当所述第二UE检测到所述第二UE与所述重传设备之间的RTP报文中的所述第一RTP报文丢失时,所述重传设备接收所述第二UE发送的重传请求;所述重传设备根据所述重传请求,向所述第二UE重传所述第一RTP报文。
在第三种可能的实施例中,结合第一方面中的第一种可能的实施例,所述重传设备部署在所述第一UE侧或者所述第二UE侧,所述当所述第一RTP报文出现丢失时,所述重传设备向通信设备发送重传请求,包括:
当所述重传设备检测到所述重传设备与所述第一UE之间的所述RTP报文中的所述第一RTP报文丢失时,所述重传设备向所述第一UE发送所述重传请求,以便所述第一UE根据所述重传请求向所述重传设备重传所述第一RTP报文;或者,
当所述第二UE检测到所述第二UE与所述重传设备之间的所述RTP报文中的所述第一RTP报文丢失时,所述重传设备接收所述第二UE发送的所述重传请求,所述重传设备根据所述重传请求向所述第二UE重传所述第一RTP报文。
在第四种可能的实施例中,结合第一方面中的任一种可能的实施例,在所述重传设备通过实时传输协议RTP报文序列号检测RTP报文传输情况之前,还包括:
所述重传设备接收所述UE发送的注册请求;
根据所述注册请求,所述重传设备对所述UE进行注册;
当所述UE注册完成之后,所述重传设备接收所述UE发送的会话信息;
所述重传设备根据所述会话信息的内容,获取并存储所述RTP报文。
第二方面,本发明的实施例提供一种处理重传信息的方法,包括:
用户设备UE根据重传设备的网络之间互连的协议IP地址,向所述重传设备发送注册请求,以便所述重传设备根据所述注册请求对所述UE进行注册以及获取UE的实时传输协议RTP报文;
当所述重传设备检测到所述重传设备与所述UE之间的所述RTP报文中的第一RTP报文丢失时,所述UE接收所述重传设备发送的重传请求;
所述UE根据所述重传请求向所述重传设备重传所述第一RTP报文。
在第一种可能的实施例中,结合第二方面,所述用户设备UE根据重传设备的网络之间互连的协议IP地址,向所述重传设备发送注册请求,包括:
所述UE向域名系统DNS服务器发送解析请求,以便所述DNS服务器根据所述解析请求解析重传设备查询服务器的IP地址;
所述UE接收所述DNS服务器发送的所述重传设备查询服务器的IP地址;
所述UE根据所述重传设备查询服务器的IP地址向所述重传设备查询服务器发送查询请求,所述查询请求中包括所述UE的IP地址,以便所述重传设备查询服务器根据所述查询请求的内容查询所述UE对应的重传设备的IP地址;
所述UE接收所述重传设备查询服务器发送的所述重传设备的IP地址;
所述UE根据所述重传设备的IP地址向所述重传设备发送注册请求。
在第二种可能的实施例中,结合第二方面中的第一种可能的实施例,在所述UE根据所述重传设备的IP地址向所述重传设备发送注册请求之后,还包括:
接收到所述重传设备发送的注册完成信息之后,所述UE向所述重传设备发送会话信息,以便所述重传设备根据所述会话信息的内容,获取并存储所述RTP报文。
在第三种可能的实施例中,结合第二方面中的第二种可能的实施例,所述UE为生成RTP报文的第一UE,或者接收RTP报文的第二UE;
所述当所述重传设备检测到所述重传设备与所述UE之间传输的所述RTP报文中的第一RTP报文丢失时,所述UE接收所述重传设备发送的重传请求,包括:
当所述重传设备检测到所述重传设备与所述第一UE之间的所述RTP报文中的所述第一RTP报文丢失时,所述第一UE接收所述重传设备发送的所述重传请求;或者,
当所述第二UE检测到所述第二UE与所述重传设备之间的所述RTP报文中的第一RTP报文丢失时,所述第二UE向所述重传设备发送所述重传请求;
所述UE根据所述重传请求向所述重传设备重传所述第一RTP报文,包括:
所述第一UE根据所述重传请求向所述重传设备重传所述第一RTP报文;或者,
所述第二UE接收所述重传设备重传的所述第一RTP报文。
第三方面,本发明的实施例提供一种处理重传信息的装置,包括:
检测模块,用于通过实时传输协议RTP报文序列号检测RTP报文的传输情况,并将所述传输情况提供给处理模块;
所述处理模块,用于根据所述检测模块发送的所述传输情况,确定第一RTP报文丢失;
发送模块,用于根据当所述处理模块确定所述第一RTP报文丢失时,向通信设备发送重传请求,所述重传请求中包括丢失的所述第一RTP报文序列号。
在第一种可能的实施例中,结合第三方面,所述通信设备为用户设备UE;或者所述通信设备为与所述装置相邻的另一重传设备。
在第二种可能的实施例中,结合第三方面中的第一种可能的实施例,所述装置分别部署在生成RTP报文的第一UE侧和接收RTP报文的第二UE侧;
所述装置还包括:第一接收模块、第二接收模块;
所述第一接收模块,用于接收所述第一UE发送的所述RTP报文;
所述第一接收模块,还用于接收与所述装置相邻的另一重传设备之间的所述RTP报文;
所述第二接收模块,还用于当所述第二UE检测到所述第二UE与所述重传设备之间的所述RTP报文中的所述第一RTP报文丢失时,接收所述第二UE发送的重传请求,并将所述重传请求提供给所述处理模块;
所述处理模块,用于根据所述第二接收模块接收的所述重传请求,获取所述第一RTP报文,并将所述第一RTP报文提供给所述发送模块;
所述发送模块,具体用于当所述检测模块检测到所述装置与所述第一UE之间的RTP报文中的所述第一RTP报文丢失时,向所述第一UE发送重传请求;
所述发送模块,还用于当所述检测模块检测到所述装置与所述装置相邻的另一重传设备之间的所述RTP报文中的所述第一RTP报文丢失时,向所述装置相邻的另一重传设备发送重传请求;
所述发送模块,还用于根据所述处理模块获取的所述第一RTP报文,向所述第二UE重传所述第一RTP报文。
在第三种可能的实施例中,结合第三方面中的第一种可能的实施例,所述装置部署在所述第一UE侧或者所述第二UE侧;
所述发送模块,还用于当所述检测模块检测所述装置到与所述第一UE之间的所述RTP报文中的所述第一RTP报文丢失时,向所述第一UE发送所述重传请求;
所述第二接收模块,还用于当所述第二UE检测到所述第二UE与所述重传设备之间的所述RTP报文中的所述第一RTP报文丢失时,接收所述第二UE发送的所述重传请求,并将所述重传请求提供给所述处理模块;
所述处理模块,用于根据所述第二接收模块接收的所述重传请求,获取所述第一RTP报文,并将所述第一RTP报文提供给所述发送模块;
所述发送模块,还用于根据所述处理模块获取的所述第一RTP报文,向所述第二UE重传所述第一RTP报文。
在第四种可能的实施例中,结合第三方面中的任一种可能的实施例,所述装置还包括:第三接收模块,注册模块,第四接收模块,存储模块;
所述第三接收模块,还用于接收所述UE发送的注册请求,并将所述注册请求提供给所述注册模块;
所述注册模块,用于根据所述第三接收模块接收的所述注册请求,对所述UE进行注册;
所述第四接收模块,还用于当所述UE注册完成之后,接收所述UE发送的会话信息,并将所述会话信息提供给所述处理模块;
所述处理模块,用于根据所述第四接收模块接收的所述会话信息的内容,获取所述RTP报文,并将所述RTP报文提供给所述存储模块;
所述存储模块,还用于将所述处理模块获取的所述RTP报文进行存储。
第四方面,本发明的实施例提供一种处理重传信息的装置,包括:
第一发送模块,用于根据重传设备的网络之间互连的协议IP地址,向所述重传设备发送注册请求,以便所述重传设备根据所述注册请求对所述装置进行注册以及获取所述装置的实时传输协议RTP报文;
第一接收模块,用于当所述重传设备检测到所述重传设备与所述装置之间的所述RTP报文中的第一RTP报文丢失时,接收所述重传设备发送的重传请求,并将所述重传请求提供给处理模块;
所述处理模块,用于根据所述接收模块接收的所述重传请求,获取所述第一RTP报文,并将所述第一RTP报文提供给第二发送模块;
所述第二发送模块,还用于根据所述处理模块获取的所述第一RTP报文,向所述重传设备重传所述第一RTP报文。
在第一种可能的实施例中,结合第四方面,所述第一发送模块,还用于向域名系统DNS服务器发送解析请求;
所述装置还包括:
第二接收模块,还用于接收所述DNS服务器发送的所述重传设备查询服务器的IP地址,并将所述重传设备查询服务器的IP地址提供给所述第一发送模块;
所述第一发送模块,还用于根据所述第二接收模块接收的所述重传设备查询服务器的IP地址,向所述重传设备查询服务器发送查询请求,所述查询请求中包括所述装置的IP地址;
所述第二接收模块,还用于接收所述重传设备查询服务器发送的所述重传设备的IP地址,并将所述重传设备的IP地址提供给所述第一发送模块;
所述第一发送模块,还用于根据所述第二接收模块接收的所述重传设备的IP地址,向所述重传设备发送注册请求。
在第二种可能的实施例中,结合第四方面中的第一种可能的实施例,所述第二接收模块,还用于接收所述重传设备发送的注册完成信息;
所述装置还包括:
第三发送模块,还用于在所述第二接收模块接收到所述重传设备发送的注册完成信息之后,向所述重传设备发送会话信息。
在第三种可能的实施例中,结合第四方面中的第二种可能的实施例,所述装置为生成RTP报文的第一UE;
所述第一接收模块,还用于当所述重传设备检测到所述重传设备与所述第一UE之间的所述RTP报文中的所述第一RTP报文丢失时,接收所述重传设备发送的所述重传请求,并将所述重传请求提供给所述处理模块;
所述处理模块,用于根据所述第一接收模块接收的所述重传请求,获取所述第一RTP报文,并将所述第一RTP报文提供给所述第二发送模块;
所述第二发送模块,还用于根据所述处理模块获取的所述第一RTP报文,向所述重传设备重传所述第一RTP报文。
在第四种可能的实施例中,结合第四方面中的第二种可能的实施例,所述装置为接收RTP报文的第二UE;
所述第一发送模块,还用于当所述第三接收模块接收到的所述第二UE与所述重传设备之间的所述RTP报文中的第一RTP报文丢失时,向所述重传设备发送所述重传请求;
所述装置还包括:
所述第三接收模块,还用于通过所述第一发送模块向重传设备发送的所述重传请求,接收所述重传设备重传的所述第一RTP报文。
本发明实施例提供的一种处理重传信息的方法及装置,重传设备通过实时传输协议RTP报文序列号检测RTP报文的传输情况;根据传输情况,重传设备确定第一RTP报文丢失;重传设备向通信设备发送重传请求,重传请求中包括丢失的第一RTP报文序列号,以便通信设备根据重传请求向重传设备重传第一RTP报文。与现有技术中WebRTC应用在Internet上运行,用户的位置、重传点设备IP地址以及所属的运营商都是不确定的,而快速重传中重传点设备不直接参与通信,使得WebRTC应用无法获得重传点设备IP地址,且通信双方可以存在不同的运营商接入网络,导致不能实现快速重传的问题相比,本发明实施例可以在WebRTC应用中实现快速重传,提高用户体验。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明实施例提供一种处理重传信息的方法,该方法包括以下步骤:
步骤101,重传设备通过实时传输协议(Real-time Transport Protocol,RTP)报文序列号检测RTP报文传输情况;
在本实施例中,重传设备用于实现终端点到点的实时通信,其中,终端采用WebRTC应用,终端可以为计算(Personal Computer,PC)机、手机或者平板电脑等。WebRTC是一种在Web应用间进行实时媒体或者数据通信能力的技术,通过在浏览器中集成实时通信协议(如RTP),以及提供标准的应用程序编程(Application Programming Interface,API)接口,使得Web应用之间无需插件支持即可实现点到点的实时通信。
需要理解的是,重传设备可以为转发设备内部的模块;或者,第一重传设备可以为转发设备周边的独立设备。例如,转发设备为路由器。
步骤102,根据传输情况,重传设备确定第一RTP报文丢失;
具体的,重传设备根据传输情况中缺失的RTP报文序列号确定是否丢失RTP报文。当重传设备检测到第一RTP报文对应的序列号缺失时,确定第一RTP报文丢失。
步骤103,重传设备向通信设备发送重传请求,重传请求中包括丢失的第一RTP报文序列号,以便通信设备根据重传请求向重传设备重传第一RTP报文。
若重传设备分别部署在生成RTP报文的第一用户设备(User Equipment,UE)侧和接收RTP报文的第二UE侧时,重传设备有三种方式对第一RTP报文进行重传;
第一种方式:当重传设备检测到重传设备与第一UE之间的RTP报文中的第一RTP报文丢失时,重传设备向第一UE发送重传请求,以便第一UE根据重传请求向重传设备重传第一RTP报文;
第二种方式:当重传设备检测到重传设备与重传设备相邻的另一重传设备之间的RTP报文中的第一RTP报文丢失时,重传设备向重传设备相邻的另一重传设备发送重传请求,以便重传设备相邻的另一重传设备根据重传请求向重传设备重传第一RTP报文;
第三种方式:当第二UE检测到第二UE与重传设备之间的RTP报文中的第一RTP报文丢失时,重传设备接收第二UE发送的重传请求,然后重传设备根据重传请求,向第二UE重传第一RTP报文。
若重传设备部署在生成RTP报文的第一UE侧,当重传设备检测到重传设备与第一UE之间的RTP报文中的第一RTP报文丢失时,重传设备向第一UE发送重传请求,以便第一UE根据重传请求向重传设备重传第一RTP报文。
若重传设备部署在接收RTP报文的第二UE侧,当第二UE检测到第二UE与重传设备之间的RTP报文中的第一RTP报文丢失时,重传设备接收第二UE发送的重传请求,然后重传设备根据重传请求向第二UE重传第一RTP报文。
需要理解的是,RTP报文的传输不依赖于重传设备,即重传设备与UE(第一UE和第二UE)之间没有直接传输RTP报文的关系。RTP报文的传输依赖于转发设备,转发设备在接收UE发送的RTP报文之后,将RTP报文提供给转发设备对应的重传设备,以便重传设备检测RTP报文的传输是否出现丢失。
本发明实施例提供的一种处理重传信息的方法,重传设备通过实时传输协议RTP报文序列号检测RTP报文的传输情况;根据传输情况,重传设备确定第一RTP报文丢失;重传设备向通信设备发送重传请求,重传请求中包括丢失的第一RTP报文序列号,以便通信设备根据重传请求向重传设备重传第一RTP报文。与现有技术中WebRTC应用在Internet上运行,用户的位置、重传点设备IP地址以及所属的运营商都是不确定的,而快速重传中重传点设备不直接参与通信,使得WebRTC应用无法获得重传点设备IP地址,且通信双方可以存在不同的运营商接入网络,导致不能实现快速重传的问题相比,本发明实施例可以在WebRTC应用中实现快速重传,提高用户体验。
如图2所示,本发明实施例提供另一种处理重传信息的方法,该方法包括以下步骤:
步骤201,UE根据重传设备的IP地址,向重传设备发送注册请求,以便重传设备根据注册请求对UE进行注册以及获取UE的实时传输协议RTP报文;
UE可以为PC机、手机或者平板电脑等。UE采用WebRTC应用。WebRTC应用是一种在Web应用间进行实时媒体或者数据通信能力的技术,通过在浏览器中集成实时通信协议(如RTP),以及提供标准的API接口,使得Web应用之间无需插件支持即可实现点到点的实时通信。在本实施例中,UE可以为生成RTP报文的第一UE,或者UE可以为接收RTP报文的第二UE。
具体的,UE向域名系统(Domain Name System,DNS)服务器发送解析请求,DNS服务器根据解析请求解析重传设备查询服务器的IP地址,然后将该重传设备查询服务器的IP地址发送给UE;UE接收DNS服务器发送的重传设备查询服务器的IP地址,然后UE根据重传设备查询服务器的IP地址向重传设备查询服务器发送查询请求。其中,查询请求中包括UE的IP地址,以便重传设备查询服务器根据查询请求查询UE对应的重传设备的IP地址。重传设备查询服务器根据查询请求中UE的IP地址确定UE的接入位置,将查询到的UE的接入位置对应的重传设备的IP地址发送给UE。UE根据接收到的重传设备查询服务器发送的重传设备的IP地址,向重传设备发送注册请求。可以理解的是,该重传设备查询服务器用于查询UE对应的重传设备的IP地址。例如,当第一UE向第一重传设备查询服务器发送一条查询请求,该查询请求中包括第一UE对应的IP地址。第一重传设备查询服务器根据查询请求的内容查询第一UE对应的重传设备的IP地址。然后将查询结果发送给第一UE。
步骤202,当重传设备检测到重传设备与UE之间的RTP报文中的第一RTP报文丢失时,UE接收重传设备发送的重传请求;
当UE为生成RTP报文的第一UE,重传设备检测到重传设备与第一UE之间的RTP报文中的第一RTP报文丢失时,第一UE接收重传设备发送的重传请求。其中,重传请求中包括丢失的第一RTP报文序列号。
另外,需要说明的是,当UE为接收RTP报文的第二UE,第二UE检测到第二UE与重传设备之间的RTP报文中的第一RTP报文丢失时,第二UE向重传设备发送重传请求。
步骤203,UE根据重传请求向重传设备重传第一RTP报文。
生成第一RTP报文的第一UE根据重传请求中包括丢失的所述第一RTP报文序列号,在第一UE的存储区域查找第一RTP报文序列号对应的第一RTP报文,然后将该第一RTP报文重传给重传设备。
本发明实施例提供的一种处理重传信息的方法,UE根据重传设备的IP地址,向重传设备发送注册请求,以便重传设备根据注册请求对UE进行注册以及获取UE的实时传输协议RTP报文;当重传设备检测到重传设备与UE之间的RTP报文中的第一RTP报文丢失时,UE接收重传设备发送的重传请求;UE根据重传请求向重传设备重传第一RTP报文。与现有技术中WebRTC应用在Internet上运行,用户的位置、重传点设备IP地址以及所属的运营商都是不确定的,而快速重传中重传点设备不直接参与通信,使得WebRTC应用无法获得重传点设备IP地址,且通信双方可以存在不同的运营商接入网络,导致不能实现快速重传的问题相比,本发明实施例可以在WebRTC应用中实现快速重传,提高用户体验。
如图3所示,本发明实施例提供另一种处理重传信息的方法,该方法包括以下步骤:
步骤301,第一UE向运营商A的DNS服务器发送解析请求;
在本步骤中,第一UE为生成RTP报文的UE,即发送RTP报文方。第一UE可以为PC机、手机或者平板电脑等。
在第一UE中采用WebRTC应用,在WebRTC应用中包括内置重传设备查询服务器对应的标准域名。例如,标准域名可以为query.standard.net。解析请求包括该标准域名。
DNS服务器是因特网的一项核心服务器,它作为可以将域名和IP地址相互映射的一个分布式数据库,用于根据域名查找该域名对应的重传设备查询服务器IP地址。
步骤302,运营商A的DNS服务器根据解析请求的内容,获取运营商A的重传设备查询服务器的IP地址;
运营商A为第一UE对应的运营商。例如,运营商A的DNS服务器根据标准域名query.standard.net,获取该标准域名对应的运营商A的重传设备查询服务器IP地址1.1.1.1。
步骤303,运营商A的DNS服务器将运营商A的重传设备查询服务器的IP地址发送给第一UE;
步骤304,第一UE向运营商A的重传设备查询服务器发出查询请求;
第一UE根据运营商A的重传设备查询服务器的IP地址1.1.1.1向运营商A的重传设备查询服务器发出查询请求。其中,查询请求中包括第一UE的IP地址。可以理解的是,该重传设备查询服务器用于查询UE对应的重传设备的IP地址。
步骤305,运营商A的重传设备查询服务器根据查询请求的内容,获取第一UE对应的第一重传设备的IP地址,然后将第一重传设备的IP地址发送给第一UE;
具体的,重传设备查询服务器根据查询请求中第一UE的IP地址确定第一UE的接入位置,将查询到的第一UE的接入位置对应的重传设备的IP地址发送给第一UE。根据步骤301-步骤304的举例,运营商A的重传设备查询服务器根据查询请求的内容,获取第一UE对应的第一重传设备的IP地址2.2.2.2。
步骤306,第一UE向第一重传设备发送注册请求;
第一UE根据第一重传设备的IP地址2.2.2.2,向第一重传设备发送注册请求。其中,第一重传设备可以为转发设备内部的模块;或者,第一重传设备可以为转发设备周边的独立设备。例如,转发设备为路由器。
步骤307,第一重传设备接收第一UE发送的注册请求,并根据该注册请求对第一UE进行注册,在注册完成之后,向第一UE发送注册完成信息;
步骤308,第二UE按照步骤301-步骤307的描述,向第二UE对应的第二重传设备进行注册,然后在注册完成之后,向第二UE发送注册完成信息;
第二UE为接收RTP报文的UE,即接收RTP报文方。第二UE可以为PC机、手机或者平板电脑等。第二UE的运营商可以与第一UE的运营商相同,也可以为第一UE的运营商不同。为了方便描述,在本实施例中,第二UE对应的运营商为运营商B。在第二UE中也采用WebRTC应用。具体的,第二UE向运营商B的DNS服务器发送解析请求,运营商B的DNS服务器根据解析请求解析重传设备查询服务器IP地址3.3.3.3,然后将该重传设备查询服务器IP地址3.3.3.3发送给第二UE;第二UE根据重传设备查询服务器IP地址3.3.3.3向重传设备查询服务器发送查询请求。其中,该查询请求中包括第二UE的IP地址。重传设备查询服务器根据查询请求中第二UE的IP地址确定第二UE的接入位置,将查询到的第二UE对应的第二重传设备的IP地址4.4.4.4发送给第二UE。第二UE根据接收到的重传设备查询服务器发送的第二重传设备的IP地址4.4.4.4,向第二重传设备发送注册请求。
需要说明的是,第一UE向第一重传设备进行注册与第二UE向第二重传设备进行注册没有固定的先后顺序,当然,第一UE和第二UE可以同时向对应的重传设备进行注册。为了方便描述,在附图3中,显示第一UE和第二UE同时向对应的重传设备进行注册。
步骤309,在第一UE和第二UE注册完成之后,第一UE与第二UE协商会话信息;
会话信息包括源地址、目的地址、源端口、目的端口、RTP参数以及实时传输控制协议(Real-time Transport Control Protocol,RTCP)参数等。
第一UE向第二UE发送第一UE的IP地址信息、端口信息以及第一重传设备的IP地址信息等;第二UE向第一UE发送第二UE的IP地址信息、端口信息以及第二重传设备的IP地址信息等。通过第一UE与第二UE交互信息之后,第一UE生成第一会话信息;第二UE生成第二会话信息。
步骤310,第一UE向第一重传设备发送第一会话信息;
第一会话信息包括源地址为第一UE的IP地址,目的地址为第二UE的IP地址,源端口为第一UE发送数据的端口,目的端口为第二UE接收数据的端口,RTP参数,RTCP参数以及第二重传设备的IP地址等信息。
步骤311,第二UE向第二重传设备发送第二会话信息;
第二会话信息包括源地址为第一UE的IP地址,目的地址为第二UE的IP地址,源端口为第一UE发送数据的端口,目的端口为第二UE接收数据的端口,RTP参数,RTCP参数以及第一重传设备的IP地址等信息。
需要说明的是,步骤310与步骤311过程没有先后顺序,步骤310与步骤311可以同时进行;或者,步骤310先执行,步骤311后执行;反之亦可。为了描述方便,在附图3中显示步骤310与步骤311可以同时进行。
步骤312,第一UE和第二UE开始进行媒体通话;
步骤313,在媒体通话后,第一重传设备根据第一会话信息的内容,获取并存储RTP报文;
RTP报文为与第一UE和第二UE相关的所有RTP报文。需要说明的是,第一重传设备根据预设时间,清除接收RTP报文的时间超过预设时间的RTP报文,以便存储最新的RTP报文。
步骤314,在媒体通话后,第二重传设备根据第二会话信息的内容,获取并存储RTP报文;
RTP报文为与第一UE和第二UE相关的所有RTP报文。第二重传设备根据预设时间,清除超过预设时间的RTP报文,以便存储最新的RTP报文。
需要理解的是,RTP报文的传输不依赖于第一重传设备和第二重传设备,即第一UE、第一重传设备、第二重传设备以及第二UE各个之间没有直接传输RTP报文的关系。RTP报文的传输依赖于转发设备,转发设备在接收第一UE或者另一转发设备发送的RTP报文之后,将RTP报文提供给转发设备对应的第一重传设备或者第二重传设备,以便第一重传设备或者第二重传设备检测RTP报文的传输是否出现丢失。
需要说明的是,步骤313与步骤314过程仍没有先后顺序,步骤313与步骤314可以同时进行;或者,步骤313先执行,步骤314后执行;反之亦可。为了描述方便,在附图3中显示步骤313与步骤314可以同时进行。
步骤315,第一重传设备通过RTP报文序列号检测RTP报文传输情况;当第一RTP报文丢失时,第一重传设备向第一UE发送重传请求;
第一重传设备在接收第一重传设备转发设备提供的RTP报文之后,通过RTP报文序列号检测RTP报文传输情况。当第一重传设备在检测RTP报文之后,发现没有RTP报文丢失时,可将接收的RTP报文进行存储;当第一重传设备在检测RTP报文之后,发现第一RTP报文丢失时,向第一UE发送重传请求。该重传请求包括第一RTP报文的序列号。第一RTP报文为第一UE与第二UE在进行媒体通信中的任意RTP报文。
具体的,当第一重传设备检测到第一重传设备与第一UE之间的RTP报文中的第一RTP报文丢失时,第一重传设备向第一UE发送重传请求。例如,如图4所示,当第一UE401与第一重传设备403之间的发送方接入链路402上第一RTP报文丢失时,第一重传设备403向第一UE401发送重传请求。
步骤316,第一UE根据第一重传设备发送的重传请求,向第一重传设备重传第一RTP报文;
第一UE根据重传请求中的序列号,在存储区域查找该序列号对应的RTP报文。
步骤317,第一重传设备将第一RTP报文进行存储;
第一重传设备在接收第一RTP报文之后,将该第一RTP报文进行存储,以便当第二重传设备丢失该第一RTP报文时,将该第一RTP报文重传给第二重传设备。
步骤318,第二重传设备通过RTP报文序列号检测RTP报文传输情况;当第一RTP报文丢失时,第二重传设备向第一重传设备发送重传请求;
第二重传设备在接收第二重传设备对应的转发设备提供的RTP报文之后,通过RTP报文序列号检测RTP报文传输情况。当第二重传设备在检测RTP报文之后,发现没有RTP报文丢失时,可将接收的RTP报文进行存储;当第二重传设备在检测RTP报文之后,发现第一RTP报文丢失时,向第一重传设备发送重传请求。该重传请求包括第一RTP报文的序列号。
具体的,当第二重传设备检测到第二重传设备与第一重传设备之间的RTP报文中的第一RTP报文丢失时,第二重传设备向第一重传设备发送重传请求。例如,如图4所示,当第一重传设备403与第二重传设备405之间的骨干链路404上发生第一RTP报文丢失时,第二重传设备405向第一重传设备403发送重传请求。
步骤319,第一重传设备根据第二重传设备发送的重传请求,向第二重传设备重发第一RTP报文;
步骤320,第二重传设备将第一RTP报文进行存储;
第二重传设备在接收第一RTP报文之后,将该第一RTP报文进行存储,以便当第二UE丢失该第一RTP报文时,将该第一RTP报文重发给第二UE。
步骤321,第二UE通过RTP报文序列号检测RTP报文传输情况;当第一RTP报文丢失时,第二UE向第二重传设备发送重传请求;
具体的,当第二UE检测到第二UE与第二重传设备之间的RTP报文中的第一RTP报文丢失时,第二UE向第二重传设备发送重传请求。例如,如图4所示,当第二重传设备405与第二UE407之间的接收方接入链路406上第一RTP报文丢失时,第二UE407向第二重传设备405发送重传请求。
步骤322,第二重传设备根据第二UE发送的重传请求,向第二UE发送第一RTP报文;
需要说明的是,步骤315-步骤322为可选步骤,如图4所示,在第一UE401与第一重传设备403之间的发送方接入链路402上发生第一RTP报文丢失,和/或第一重传设备403与第二重传设备405之间的骨干链路404上发生第一RTP报文丢失,和/或在第二重传设备405与第二UE407之间的接收方接入链路406上发生第一RTP报文丢失时,第一重传设备403、第二重传设备405或者第二UE407可执行对应的步骤。当发送方接入链路402、骨干链路404以及接收方接入链路406均没有发生第一RTP报文丢失时,可在执行步骤314之后,直接执行步骤323。
步骤323,第二UE接收第一RTP报文,与第一UE进行完整的通信交互。
需要说明的是,当第二UE为生成RTP报文的UE方,第一UE为接收RTP报文的UE方时,第一UE与第二UE进行通信交互的过程可参照步骤301-步骤322,在此不一一赘述。
本发明实施例提供的一种处理重传信息的方法,与现有技术中WebRTC应用运行于Internet上,用户的位置、重传点设备IP地址以及所属的运营商都是不确定的,而快速重传中重传点设备不直接参与通信,使得WebRTC应用无法获得重传点设备IP地址,且通信双方可以存在不同的运营商接入网络,导致不能实现快速重传的问题相比,本发明实施例可以在WebRTC应用中实现点到点的快速重传,以及可以使用不同的运营商,从而减小时延,提高用户体验。
如图7所示,本发明实施例提供另一种处理重传信息的方法,该方法包括以下步骤:
步骤701,第一UE向运营商A的DNS服务器解析请求;
在本步骤中,第一UE为生成RTP报文的UE,即发送RTP报文方。第一UE可以为PC机、手机或者平板电脑等。
在第一UE中采用WebRTC应用,在WebRTC应用中包括内置重传设备查询服务器对应的标准域名。例如,标准域名可以为query.standard.net。解析请求包括该标准域名。
步骤702,运营商A的DNS服务器根据解析请求的内容,获取运营商A的重传设备查询服务器的IP地址;
运营商A为第一UE对应的运营商。例如,运营商A的DNS服务器根据标准域名query.standard.net,获取该标准域名对应的运营商A的重传设备查询服务器IP地址1.1.1.1。
步骤703,运营商A的DNS服务器将运营商A的重传设备查询服务器的IP地址发送给第一UE;
步骤704,第一UE向运营商A的重传设备查询服务器发出查询请求;
第一UE根据运营商A的重传设备查询服务器IP地址1.1.1.1向运营商A的重传设备查询服务器发出查询请求。其中,查询请求中包括第一UE的IP地址。
步骤705,运营商A的重传设备查询服务器根据查询请求的内容,获取第一UE对应的第一重传设备的IP地址;
具体的,运营商A的重传设备查询服务器根据查询请求中第一UE的IP地址确定第一UE的接入位置,将查询到的第一UE的接入位置对应的第一重传设备的IP地址发送给第一UE。根据步骤701-步骤704的举例,运营商A的重传设备查询服务器根据查询请求的内容,获取第一UE对应的第一重传设备的IP地址2.2.2.2。
步骤706,第一UE向第一重传设备发送注册请求;
第一UE根据第一重传设备的IP地址2.2.2.2,向第一重传设备发送注册请求。其中,第一重传设备可以为转发设备内部的模块;或者,第一重传设备可以为转发设备周边的独立设备。例如,转发设备为路由器。
步骤707,第一重传设备接收第一UE发送的注册请求,并根据该注册请求对第一UE进行注册,在注册完成之后,向第一UE发送注册完成信息;
步骤708,在第一UE注册完成之后,第一UE与第二UE协商会话信息;
会话信息包括源地址、目的地址、源端口、目的端口、RTP参数以及RTCP参数等。第一UE向第二UE发送第一UE的IP地址信息、端口信息以及第一重传设备的IP地址信息等;第二UE向第一UE发送第二UE的IP地址信息、端口信息以及第二重传设备的IP地址信息等。通过第一UE与第二UE交互信息之后,第一UE生成第一会话信息。
可以理解的是,第二UE也可以为PC机、手机或者平板电脑等。在第二UE中采用WebRTC应用。本实施例不限制第二UE的运营商,第二UE的运营商可以为运营商A或者运营商B。为了方便描述,在步骤中设置第二UE的运营商为运营商B。
步骤709,第一UE向第一重传设备发送第一会话信息;
第一会话信息包括源地址为第一UE的IP地址,目的地址为第二UE的IP地址,源端口为第一UE发送数据的端口,目的端口为第二UE接收数据的端口,RTP参数以及RTCP参数等信息。
步骤710,第一UE和第二UE开始进行媒体通话;
可以理解的是,第二UE侧没有部署第二重传设备,故在第一UE向第一重传设备进行注册以及向第一重传设备发送第一会话信息之后,第一UE与第二UE可以进行媒体通话。
步骤711,在媒体通话后,第一重传设备根据第一会话信息的内容获取并存储RTP报文;
RTP报文为与第一UE和第二UE相关的所有RTP报文。需要说明的是,第一重传设备根据预设时间,清除接收RTP报文的时间超过预设时间的RTP报文,以便存储最新的RTP报文。
步骤712,第一重传设备通过RTP报文序列号检测RTP报文传输情况;当第一RTP报文丢失时,第一重传设备向第一UE发送重传请求;
第一重传设备在接收第一重传设备对应的转发设备提供的RTP报文之后,通过RTP报文序列号对RTP报文传输情况检测以及对RTP报文进行转发的描述可参照附图3中的步骤315,在此不一一赘述。
具体的,当第一重传设备检测第一重传设备到与第一UE之间的RTP报文中的第一RTP报文丢失时,第一重传设备向第一UE发送重传请求。例如,如图5所示,当第一UE501与第一重传设备503之间的发送方接入链路502上第一RTP报文丢失时,第一重传设备503向第一UE501发送重传请求。
步骤713,第一UE根据第一重传设备发送的重传请求,向第一重传设备发送第一RTP报文;
第一UE根据重传请求中的序列号,在存储区域查找该序列号对应的RTP报文。
步骤714,第一重传设备将第一RTP报文进行存储;
第一重传设备在接收第一RTP报文之后,将该第一RTP报文进行存储,以便当第二UE丢失该第一RTP报文时,将该第一RTP报文重传给第二UE。
步骤715,第二UE通过RTP报文序列号检测RTP报文传输情况;当第一RTP报文丢失时,第二UE向第一重传设备发送重传请求;
具体的,当第二UE检测到第二UE与第一重传设备之间的RTP报文中的第一RTP报文丢失时,第二UE向第一重传设备发送重传请求。例如,如图5所示,当第一重传设备503与第二UE506之间的骨干链路504或者接收方接入链路505上第一RTP报文丢失时,第二UE506向第一重传设备503发送重传请求。
步骤717,第一重传设备根据第二UE发送的重传请求,向第二UE发送第一RTP报文;
需要说明的是,步骤712-步骤717为可选步骤,如图5所示,在第一UE501与第一重传设备503之间的发送方接入链路502上发生第一RTP报文丢失,和/或在第二重传设备503与第二UE506之间的骨干链路504和/或接收方接入链路505上发生第一RTP报文丢失时,第一重传设备503或者第二UE506可执行对应的步骤。当发送方接入链路502、骨干链路504以及接收方接入链路505均没有发生第一RTP报文丢失时,可在执行步骤711之后,直接执行步骤717。
步骤717,第二UE接收第一RTP报文,与第一UE进行完整的通信交互。
另外,当第二UE为生成RTP报文的UE方,第一UE为接收RTP报文的UE方时,第一UE与第二UE进行通信交互的过程可参照步骤701-步骤717,在此不一一赘述。
本发明实施例可以在WebRTC应用中实现点到点的快速重传,以及可以使用不同的运营商,从而达到减小时延,提高用户体验的目的。
如图8所示,本发明实施例提供另一种处理重传信息的方法,该方法包括以下步骤:
步骤801,第二UE向运营商B的DNS服务器解析请求;
在本步骤中,第二UE为接收RTP报文的UE,即接收RTP报文方。第二UE可以为PC机、手机或者平板电脑等。
在第二UE中采用WebRTC应用,在WebRTC应用中包括内置重传设备查询服务器对应的标准域名。例如,标准域名可以为query.standard.net。解析请求包括该标准域名。
步骤802,运营商B的DNS服务器根据解析请求的内容,获取运营商B的重传设备查询服务器的IP地址;
运营商B为第二UE对应的运营商。例如,运营商B的DNS服务器根据标准域名query.standard.net,获取该标准域名对应的运营商B的重传设备查询服务器IP地址3.3.3.3。
步骤803,运营商B的DNS服务器将运营商B的重传设备查询服务器的IP地址发送给第二UE;
步骤804,第二UE向运营商B的重传设备查询服务器发出查询请求;
第二UE根据运营商B的重传设备查询服务器的IP地址3.3.3.3向运营商B的重传设备查询服务器发出查询请求。其中,查询请求中包括第一UE的IP地址。
步骤805,运营商B的重传设备查询服务器根据查询请求的内容,获取第二UE对应的第二重传设备的IP地址;
具体的,运营商B的重传设备查询服务器根据查询请求中第二UE的IP地址确定第二UE的接入位置,将查询到的第二UE的接入位置对应的第二重传设备的IP地址发送给第二UE。根据步骤801-步骤804的举例,运营商B的重传设备查询服务器根据查询请求的内容,获取第二UE对应的第二重传设备的IP地址4.4.4.4。
步骤806,第二UE向第二重传设备发送注册请求;
第二UE根据第一重传设备的IP地址4.4.4.4,向第二重传设备发送注册请求。其中,第二重传设备可以为转发设备内部的设备;或者,第二重传设备可以为转发设备周边的独立设备。其中,转发设备可以为路由器。
步骤807,第二重传设备接收第二UE发送的注册请求,并根据该注册请求对第二UE进行注册,在注册完成之后,向第二UE发送注册完成信息;
步骤808,在第二UE注册完成之后,第一UE与第二UE协商会话信息;
会话信息包括源地址、目的地址、源端口、目的端口、RTP参数以及RTCP参数等。第一UE向第二UE发送第一UE的IP地址信息、端口信息以及第一重传设备的IP地址信息等;第二UE向第一UE发送第二UE的IP地址信息、端口信息以及第二重传设备的IP地址信息等。通过第一UE与第二UE交互信息之后,第二UE生成第二会话信息。
可以理解的是,第一UE也可以PC机、手机或者平板电脑等。在第一UE中采用WebRTC应用。本实施例不限制第一UE的运营商,第一UE的运营商可以为运营商A或者运营商B。为了方便描述,在步骤中设置第一UE的运营商为运营商A。
步骤809,第二UE向第二重传设备发送第二会话信息;
第二会话信息包括源地址为第一UE的IP地址,目的地址为第二UE的IP地址,源端口为第一UE发送数据的端口,目的端口为第二UE接收数据的端口,RTP参数以及RTCP参数等信息。
步骤810,第一UE和第二UE开始进行媒体通话;
可以理解的是,第一UE没有部署第一重传设备,故在第二UE向第二重传设备进行注册以及向第二重传设备发送第二会话信息之后,第一UE与第二UE可以进行媒体通话。
步骤811,在媒体通话后,第二重传设备根据第二会话信息的内容获取并存储RTP报文;
RTP报文为与第一UE和第二UE相关的所有RTP报文。需要说明的是,第二重传设备根据预设时间,清除接收RTP报文的时间超过预设时间的RTP报文,以便存储最新的RTP报文。
步骤812,第二重传设备通过RTP报文序列号检测RTP报文传输情况;当第一RTP报文丢失时,第二重传设备向第一UE发送重传请求;
第二重传设备在接收第二重传设备对应的转发设备提供的RTP报文之后,通过RTP报文序列号对RTP报文传输情况检测以及对RTP报文进行转发的描述可参照附图3中的步骤315,在此不一一赘述。
具体的,当第二重传设备检测到第二重传设备与第一UE之间的RTP报文中的第一RTP报文丢失时,第二重传设备向第一UE发送重传请求。例如,如图6所示,当第一UE601与第二重传设备604之间的发送方接入链路602和/或骨干链路603上第一RTP报文丢失时,第二重传设备604向第一UE601发送重传请求。
步骤813,第一UE根据第二重传设备发送的重传请求,向第二重传设备发送第一RTP报文;
第一UE根据重传请求中的序列号,在存储区域查找该序列号对应的RTP报文。
步骤814,第二重传设备将第一RTP报文进行存储;
第二重传设备在接收第一RTP报文之后,将该第一RTP报文进行存储,以便当第二UE丢失该第一RTP报文时,将该第一RTP报文重传给第二UE。
步骤815,第二UE通过RTP报文序列号检测RTP报文传输情况;当第一RTP报文丢失时,第二UE向第二重传设备发送重传请求;
具体的,当第二UE检测到第二UE与第二重传设备之间的RTP报文中的第一RTP报文丢失时,第二UE向第二重传设备发送重传请求。例如,如图6所示,当第二重传设备604与第二UE606之间的接收方接入链路605上第一RTP报文丢失时,第二UE606向第二重传设备604发送重传请求。
步骤816,第二重传设备根据第二UE发送的重传请求,向第二UE发送第一RTP报文;
需要说明的是,步骤812-步骤816为可选步骤,如图6所示,在第一UE601与第二重传设备604之间的发送方接入链路602和/或骨干链路603上发生第一RTP报文丢失,和/或在第二重传设备604与第二UE606之间的接收方接入链路605上发生第一RTP报文丢失时,第二重传设备604或者第二UE606可执行对应的步骤。当发送方接入链路602、骨干链路603以及接收方接入链路605均没有发生第一RTP报文丢失时,可在执行步骤811之后,直接执行步骤818。
步骤818,第二UE接收第一RTP报文,与第一UE进行完整的通信交互。
另外,当第二UE为生成RTP报文的UE方,第一UE为接收RTP报文的UE方时,第一UE与第二UE进行通信交互的过程可参照步骤801-步骤818,在此不一一赘述。
本发明实施例可以在WebRTC应用中实现点到点的快速重传,以及可以使用不同的运营商,从而达到减小时延,提高用户体验的目的。
如图9所示,本发明实施例提供一种处理重传信息的装置,包括:检测模块901,处理模块902,发送模块903。该装置可以为独立的装置;或者可以设置在路由器上。
检测模块901,用于通过RTP报文序列号检测RTP报文的传输情况,并将该传输情况提供给处理模块902;
处理模块902,用于根据检测模块901发送的传输情况,确定第一RTP报文丢失;
发送模块903,用于根据当处理模块902确定所述第一RTP报文丢失时,向通信设备发送重传请求,重传请求中包括丢失的第一RTP报文序列号。
其中,通信设备为UE;或者通信设备为与该处理重传信息的装置相邻的另一重传设备。
进一步的,如图10所示,该装置还包括:第一接收模块904,第二接收模块905,第三接收模块906,第四接收模块907,注册模块908,存储模块909;
当该处理重传信息的装置分别部署在生成RTP报文的第一UE侧和接收RTP报文的第二UE侧,即第一UE侧部署第一重传设备,第二UE侧部署第二重传设备,该处理重传信息的装置为第一重传设备或者第二重传设备;
在第一UE与第二UE进行媒体通信之前,第三接收模块906接收第一UE或者第二UE发送的注册请求,并将注册请求提供给注册模块908;
根据第三接收模块906接收的注册请求,注册模块908对第一UE或者第二UE进行注册;
当第一UE和第二UE分别注册完成之后,第四接收模块907接收第一UE或者第二UE发送的会话信息,并将会话信息提供给处理模块902;
根据会话信息的内容,处理模块902获取RTP报文,RTP报文为与第一UE和第二UE相关的所有RTP报文,并将RTP报文提供给存储模块909;
存储模块909将处理模块902获取的RTP报文进行存储。当存储模块909存储的RTP报文超过预设时间之后,处理模块902清除接收RTP报文的时间超过预设时间的RTP报文。例如,预设时间可以为10s,当然本实施例不限制预设时间的设置,该处理重传信息的装置根据存储模块909实际的存储量而决定预设时间的大小,在此不一一赘述。
在第一UE与第二UE进行媒体通信之后,当该处理重传信息的装置部署在第一UE侧时,第一接收模块904接收第一UE发送的RTP报文,即该处理重传信息的装置为第一重传设备;当该处理重传信息的装置部署在第二UE侧时,第一接收模块904接收与该处理重传信息的装置相邻的另一重传设备之间的RTP报文,即该处理重传信息的装置为第二重传设备。
可选的,当该处理重传信息的装置部署在第一UE侧时,且第二UE侧没有部署与该装置同类型的装置时,当检测模块901检测到部署在第一UE侧的处理重传信息的装置与第一UE之间的RTP报文中的第一RTP报文丢失时,发送模块903向第一UE发送重传请求。其中,重传请求包括第一RTP报文的序列号。第一UE根据重传请求向第一接收模块904重传第一RTP报文。当第二UE检测到第二UE与部署在第一UE侧的处理重传信息的装置之间的RTP报文中的第一RTP报文丢失时,第二接收模块905接收第二UE发送的重传请求,并将重传请求提供给处理模块902,处理模块902根据重传请求中第一RTP报文的序列号,获取存储模块909中保存的第一RTP报文;然后发送模块903根据处理模块902获取的第一RTP报文,向第二UE重传第一RTP报文。
可选的,当该处理重传信息的装置部署在第一UE侧时,且第二UE侧部署了与该装置同类型的装置时,即第一UE侧部署第一重传设备,第二UE侧部署第二重传设备。当该处理重传信息的装置为第一重传设备时,若检测模块901检测到部署在第一UE侧的处理重传信息的装置与第一UE之间的RTP报文中的第一RTP报文丢失时,发送模块903向第一UE发送重传请求。其中,重传请求包括第一RTP报文的序列号。第一UE根据重传请求向第一接收模块904重传第一RTP报文。若第二重传设备检测到第二重传设备与部署在第一UE侧的处理重传信息的装置之间的RTP报文中的第一RTP报文丢失时,第二接收模块905接收第二重传设备发送的重传请求,并将重传请求提供给处理模块902,处理模块902根据重传请求中第一RTP报文的序列号,获取存储模块909中保存的第一RTP报文;然后发送模块903根据处理模块902获取的第一RTP报文,向第二重传设备重传第一RTP报文。
可选的,当该处理重传信息的装置部署在第一UE侧时,且第二UE侧部署了与该装置同类型的装置时,即第一UE侧部署第一重传设备,第二UE侧部署第二重传设备。当该处理重传信息的装置为第二重传设备时,若检测模块901检测到部署在第二UE侧的处理重传信息的装置与第一重传设备之间的RTP报文中的第一RTP报文丢失时,发送模块903向第一重传设备发送重传请求。其中,重传请求包括第一RTP报文的序列号。第一重传设备根据重传请求向第一接收模块904重传第一RTP报文。若第二UE检测到第二UE与部署在第二UE侧的处理重传信息的装置之间的RTP报文中的第一RTP报文丢失时,第二接收模块905接收第二UE发送的重传请求,并将重传请求提供给处理模块902,处理模块902根据重传请求中第一RTP报文的序列号,获取存储模块909中保存的第一RTP报文;然后发送模块903根据处理模块902获取的第一RTP报文,向第二UE重传第一RTP报文。
可选的,当该处理重传信息的装置部署在第二UE侧,且在第一UE侧没有部署与该装置同类型的装置,即第一UE侧没有部署第一重传设备,第二UE侧部署第二重传设备,该处理重传信息的装置为第二重传设备。若检测模块901检测到部署在第二UE侧的处理重传信息的装置与第一UE之间的RTP报文中的第一RTP报文丢失时,发送模块903向第一UE发送重传请求,以便第一UE根据重传请求向第一接收模块904重传第一RTP报文。若第二UE检测到第二UE与部署在第二UE侧的处理重传信息的装置之间的RTP报文中的第一RTP报文丢失时,第二接收模块905接收第二UE发送的重传请求,并将重传请求提供给处理模块902,处理模块902根据重传请求中第一RTP报文序列号,获取存储模块909中保存的第一RTP报文;然后发送模块903根据处理模块902获取的第一RTP报文,向第二UE重传第一RTP报文。
需要说明的是,存储模块909将第一接收模块904接收的第一UE或者该处理重传信息的装置相邻的另一重传设备发送的第一RTP报文进行存储。
需要说明的是,附图9-附图10所示装置中,其各个模块的具体实施过程以及各个模块之间的信息交互等内容,由于与本发明方法实施例基于同一发明构思,可以参见方法实施例,在此不一一赘述。
本发明实施例提供的一种处理重传信息的装置,检测模块通过实时传输协议RTP报文序列号检测RTP报文传输情况,并将RTP报文传输结果提供给发送模块;发送模块根据接收检测模块检测的传输结果,当第一RTP报文丢失时,向通信设备发送重传请求,重传请求中包括丢失的第一RTP报文序列号。与现有技术中WebRTC应用在Internet上运行,用户的位置、重传点设备IP地址以及所属的运营商都是不确定的,而快速重传中重传点设备不直接参与通信,使得WebRTC应用无法获得重传点设备IP地址,且通信双方可以存在不同的运营商接入网络,导致不能实现快速重传的问题相比,本发明实施例可以在WebRTC应用中实现快速重传,提高用户体验。
如图11所示,本发明实施例提供另一种处理重传信息的装置,包括:第一发送模块1101,第一接收模块1102,处理模块1103,第二发送模块1104,该装置可以设置在终端,比如,PC机、手机或者平板电脑。其中,该装置可为生成RTP报文的第一UE,或者可以为接收RTP报文的第二UE。
第一发送模块1101,用于根据重传设备的IP地址,向重传设备发送注册请求,以便重传设备根据注册请求对该处理重传信息的装置进行注册以及获取该装置的RTP报文;
第一接收模块1102,用于当重传设备检测到重传设备与该处理重传信息的装置之间的RTP报文中的第一RTP报文丢失时,接收重传设备发送的重传请求,并将重传请求提供给处理模块1103;
处理模块1103,用于根据第一接收模块1102接收的重传请求,获取第一RTP报文,并将第一RTP报文提供给第二发送模块1104;
第二发送模块1104,还用于根据处理模块1103获取的第一RTP报文,向重传设备重传第一RTP报文。
进一步的,如图12所示,该装置还包括:第二接收模块1105,第三发送模块1106,第三接收模块1107;
在第一UE与第二UE进行媒体通信之前,第一发送模块1101向DNS服务器发送解析请求;DNS服务器根据解析请求解析重传设备查询服务器的IP地址,然后将该重传设备查询服务器的IP地址发送给第二接收模块1105,第二接收模块1105接收DNS服务器发送的重传设备查询服务器的IP地址,并将重传设备查询服务器的IP地址提供给第一发送模块1101;第一发送模块1101根据第二接收模块1105接收的重传设备查询服务器的IP地址,向重传设备查询服务器发送查询请求,查询请求中包括该装置的IP地址。具体的,重传设备查询服务器根据查询请求中UE的IP地址确定UE的接入位置,将确定的UE的接入位置对应的重传设备的IP地址发送给第二接收模块1105;第二接收模块1105接收重传设备查询服务器发送的重传设备的IP地址,并将重传设备的IP地址提供给第一发送模块1101;第一发送模块1101根据接收模块1102接收的重传设备的IP地址,向重传设备发送注册请求。
第二接收模块1105还用于接收重传设备发送的注册完成信息,在第二接收模块1105接收到重传设备发送的注册完成信息之后,第三发送模块1106向重传设备发送会话信息。
当重传设备接收到第三发送模块1106发送的会话信息之后,第一UE和第二UE开始媒体通信。
当该处理重传信息的装置为生成RTP报文时,重传设备检测到重传设备与第一UE之间的RTP报文中的第一RTP报文丢失时,第一接收模块1102接收重传设备发送的重传请求,并将重传请求提供给处理模块1103;
处理模块1103根据第一接收模块1102接收的重传请求,获取第一RTP报文,并将第一RTP报文提供给第二发送模块1104;
第二发送模块1104根据处理模块1103获取的第一RTP报文,向重传设备或者第二UE重传第一RTP报文;
当该处理重传信息的装置为接收RTP报文的第二UE时,若第二UE与重传设备之间的RTP报文中的第一RTP报文丢失时,第一发送模块1101向重传设备发送重传请求;通过第一发送模块1101向重传设备发送的重传请求,第三接收模块1107接收第一UE或者重传设备重传的第一RTP报文。
需要说明的是,附图11-附图12所示装置中,其各个模块的具体实施过程以及各个模块之间的信息交互等内容,由于与本发明方法实施例基于同一发明构思,可以参见方法实施例,在此不一一赘述。
本发明实施例提供的一种处理重传信息的装置,可以在WebRTC应用中实现快速重传,减少时延,提高用户体验。
如图13所示,本发明实施例提供另一种处理重传信息的装置,包括:存储器1301,处理器1302,发送器1303,接收器1304。该装置可以为独立的装置;或者可以设置在路由器上。
存储器1301,用于存储包括程序指令的信息;
存储器1301可以是只读存储器(Read Only Memory,ROM),静态存储设备,动态存储设备或者随机存取存储器(Random Access Memory,RAM)。存储器1301可以存储序指令的信息。在通过软件或者固件来实现本发明实施例提供的技术方案时,用于实现本发明实施例提供的技术方案的程序代码保存在存储器1301中,并由处理器1302来执行。
处理器1302,与存储器1301、发送器1303和接收器1304耦合,用于控制程序指令的执行,具体包括通过RTP报文序列号检测RTP报文的传输情况,并根据该传输情况确定是否存在某一RTP报文的丢失;当存在某一RTP报文丢失时,确定该丢失的RTP报文为第一RTP报文;
发送器1303,用于根据当处理器1302确定第一RTP报文丢失时,向通信设备发送重传请求,重传请求中包括丢失的第一RTP报文序列号。
其中,通信设备为UE;或者通信设备为与该处理重传信息的装置相邻的另一重传设备。
当该处理重传信息的装置分别部署在生成RTP报文的第一UE侧和接收RTP报文的第二UE侧或者该处理重传信息的装置仅部署在生成RTP报文的第一UE侧或者该处理重传信息的装置仅部署在接收RTP报文的第二UE侧时,即第一UE侧部署第一重传设备,第二UE侧部署第二重传设备;或者,第一UE侧部署第一重传设备,第二UE侧没有部署第二重传设备;或者第一UE侧没有部署第一重传设备,第二UE侧部署第二重传设备。可以理解的是,该处理重传信息的装置为第一重传设备或者第二重传设备;
在第一UE与第二UE进行媒体通信之前,接收器1304接收第一UE或者第二UE发送的注册请求,并将注册请求提供给处理器1302;
根据接收器1304接收的注册请求,处理器1302对第一UE或者第二UE进行注册;
当第一UE和第二UE分别注册完成之后,接收器1304接收第一UE或者第二UE发送的会话信息,并将会话信息提供给处理器1302;
根据会话信息的内容,处理器1302获取RTP报文,RTP报文为与第一UE和第二UE相关的所有RTP报文,并将RTP报文提供给存储器1301;
存储器1301将处理器1302获取的RTP报文进行存储。当存储器1301存储的RTP报文超过预设时间之后,处理器1302清除接收RTP报文的时间超过预设时间的RTP报文。例如,预设时间可以为10s,当然本实施例不限制预设时间的设置,装置根据存储器1301实际的存储量而决定预设时间的大小,在此不一一赘述。
在第一UE与第二UE进行媒体通信之后,当该处理重传信息的装置部署在第一UE侧时,接收器1304接收第一UE发送的RTP报文,即该处理重传信息的装置为第一重传设备;当该处理重传信息的装置部署在第二UE侧时,接收器1304接收与该处理重传信息的装置相邻的另一重传设备之间的RTP报文,即该装置为第二重传设备。
可选的,当该处理重传信息的装置部署在第一UE侧时,且第二UE侧没有部署与该装置同类型的装置时,当处理器1302检测到部署在第一UE侧的处理重传信息的装置与第一UE之间的RTP报文中的第一RTP报文丢失时,发送器1303向第一UE发送重传请求。其中,重传请求包括第一RTP报文的序列号。第一UE根据重传请求向接收器1304重传第一RTP报文。当第二UE检测到与该装置之间的RTP报文中的第一RTP报文丢失时,接收器1304接收第二UE发送的重传请求,并将重传请求提供给处理器1302,处理器1302根据重传请求中第一RTP报文的序列号,获取存储器1301中保存的第一RTP报文;然后发送器1303根据处理器1302获取的第一RTP报文,向第二重传设备重传第一RTP报文。
可选的,当该处理重传信息的装置部署在第一UE侧时,且第二UE侧部署了与该装置同类型的装置时,即第一UE侧部署第一重传设备,第二UE侧部署第二重传设备。当该处理重传信息的装置为第一重传设备时,若处理器1302检测到与部署在第一UE侧的处理重传信息的第一UE之间的RTP报文中的第一RTP报文丢失时,发送器1303向第一UE发送重传请求。其中,重传请求包括第一RTP报文的序列号。第一UE根据重传请求向接收器1304重传第一RTP报文。若第二重传设备检测到第二重传设备与部署在第一UE侧的处理重传信息的装置(第一重传设备)之间的RTP报文中的第一RTP报文丢失时,接收器1304接收第二重传设备发送的重传请求,并将重传请求提供给处理器1302,处理器1302根据重传请求中第一RTP报文的序列号,获取存储器1301中保存的第一RTP报文;然后发送器1303根据处理器1302获取的第一RTP报文,向第二重传设备重传第一RTP报文。
可选的,当该处理重传信息的装置部署在第一UE侧时,且第二UE侧部署了与该处理重传信息的装置同类型的装置时,即第一UE侧部署第一重传设备,第二UE侧部署第二重传设备。当该装置为第二重传设备时,若处理器1302检测到部署在第二UE侧的处理重传信息的装置(第二重传设备)与第一重传设备之间的RTP报文中的第一RTP报文丢失时,发送器1303向第一重传设备发送重传请求。第一重传设备根据重传请求向接收器1304重传第一RTP报文。若第二UE检测到第二UE与部署在第二UE侧的处理重传信息的装置之间的RTP报文中的第一RTP报文丢失时,接收器1304接收第二UE发送的重传请求,并将重传请求提供给处理器1302,处理器1302根据重传请求中第一RTP报文的序列号,获取存储器1301中保存的第一RTP报文;然后发送器1303根据处理器1302获取的第一RTP报文,向第二UE重传第一RTP报文。
可选的,当该处理重传信息的装置部署在第二UE侧,且在第一UE侧没有部署与该装置同类型的装置,即第一UE侧没有部署第一重传设备,第二UE侧部署第二重传设备,该装置为第二重传设备。若处理器1302检测到部署在第二UE侧的处理重传信息的装置与第一UE之间的RTP报文中的第一RTP报文丢失时,发送器1303向第一UE发送重传请求,以便第一UE根据重传请求向接收器1304重传第一RTP报文。若第二UE检测第二UE到与部署在第二UE侧的处理重传信息的装置之间的RTP报文中的第一RTP报文丢失时,接收器1304接收第二UE发送的重传请求,并将重传请求提供给处理器1302,处理器1302根据重传请求中第一RTP报文序列号,获取存储器1301中保存的第一RTP报文;然后发送器1303根据处理器1302获取的第一RTP报文,向第二UE重传第一RTP报文。
需要说明的是,存储器1301将接收器1304接收的第一UE或者该处理重传信息的装置相邻另一重传设备发送的第一RTP报文进行存储。
本发明实施例提供的一种处理重传信息的装置,可以在WebRTC应用中实现点到点的快速重传,达到减少时延,提高用户体验的目的。
需要说明的是,附图13所示装置中,其各个模块的具体实施过程以及各个模块之间的信息交互等内容,由于与本发明方法实施例基于同一发明构思,可以参见方法实施例,在此不一一赘述。
如图14所示,本发明实施例提供另一种处理重传信息的装置,包括:存储器1401,发送器1402,接收器1403,处理器1404;该装置可以设置在终端,比如,PC机、手机或者平板电脑。其中,该装置可为生成RTP报文的第一UE,或者可以为接收RTP报文的第二UE。
存储器1401,用于存储包括程序例程的信息;
存储器1401可以是ROM,静态存储设备,动态存储设备或者RAM。存储器1401可以存储操作系统和其他应用程序。在通过软件或者固件来实现本发明实施例提供的技术方案时,用于实现本发明实施例提供的技术方案的程序代码保存在存储器1401中,并由处理器1404来执行。
发送器1402,用于根据重传设备的IP地址,向重传设备发送注册请求;以及向重传设备发送RTP报文,以便重传设备根据注册请求对该处理重传信息的装置进行注册以及获取该装置的RTP报文;
接收器1403,用于当重传设备检测到重传设备与该处理重传信息的装置之间的RTP报文中的第一RTP报文丢失时,接收重传设备发送的重传请求,并将重传请求提供给处理器1404;
处理器1404,与存储器1401、发送器1402和接收器1403耦合,用于控制所述程序例程的执行,具体用于根据接收器1403接收的重传请求,获取第一RTP报文,并将第一RTP报文提供给发送器1402;
发送器1402,还用于根据处理器1404接收的重传请求,向重传设备重传第一RTP报文。
进一步的,在第一UE与第二UE进行媒体通信之前,发送器1402向DNS服务器发送解析请求;DNS服务器根据解析请求解析重传设备查询服务器的IP地址,然后将该重传设备查询服务器的IP地址发送给接收器1403,接收器1403接收DNS服务器发送的重传设备查询服务器的IP地址,并将重传设备查询服务器的IP地址提供给发送器1402;发送器1402根据接收器1403接收的重传设备查询服务器的IP地址,向重传设备查询服务器发送查询请求,查询请求中包括装置的IP地址。具体的,重传设备查询服务器根据查询请求中UE的IP地址确定UE的接入位置,然后将查询到的UE的接入位置对应的重传设备的IP地址发送给接收器1403;接收器1403接收重传设备查询服务器发送的重传设备的IP地址,并将重传设备的IP地址提供给发送器1402;发送器1402根据接收器1403接收的重传设备的IP地址,向重传设备发送注册请求。
在接收器1403接收到重传设备发送的注册完成信息之后,发送器1402向重传设备发送会话信息。
当重传设备接收到发送器1402发送的会话信息之后,第一UE和第二UE开始媒体通信。
当该处理重传信息的装置为生成RTP报文的第一UE时,重传设备检测到重传设备与该处理重传信息的装置之间的RTP报文中的第一RTP报文丢失时,接收器1403接收重传设备发送的重传请求,并将重传请求提供给处理器1404;处理器1404根据接收器1403接收的重传请求中的第一RTP报文序列号,获取存储器1401中保存的第一RTP报文,并将第一RTP报文提供给发送器1402;发送器1402根据处理器1404获取的第一RTP报文,向重传设备重传第一RTP报文。
当该处理重传信息的装置为接收RTP报文的第二UE时,该处理重传信息的装置检测到该处理重传信息的装置与重传设备之间的RTP报文中的第一RTP报文丢失时,发送器1402向重传设备发送重传请求;通过发送器1402向重传设备发送的重传请求,接收器1403接收重传设备重传的第一RTP报文。
需要说明的是,附图14所示装置中,其各个模块的具体实施过程以及各个模块之间的信息交互等内容,由于与本发明方法实施例基于同一发明构思,可以参见方法实施例,在此不一一赘述。
本发明实施例提供的一种处理重传信息的装置,可以在WebRTC应用中实现快速重传,减少时延,提高用户体验。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。