一种分组数据的实时重传方法、实时重传系统及相关装置与流程

文档序号:15061682发布日期:2018-07-31 21:58阅读:124来源:国知局

本发明涉及网络传输领域,尤指一种分组数据的实时重传方法、实时重传系统及相关装置。



背景技术:

以双向媒体流和严格的实时性约束为两大特征的“实时会话类业务”,由于因特网有限的传输模式而导致了网络的拥堵、抖动、丢包现象,造成了端对端的传输服务质量无法得到保证。

目前,针对上述问题,主要有三种解决方案:通过设置重传请求的重传法、利用编码解码恢复数据的前向差错控制法、以及通过插值运算替换丢失数据的后向差错隐藏法。虽然这些方法可以有效解决上述问题,但因重传法的重传时延是正常媒体流传输时延的3倍,导致实时性体验较差;前向差错控制法为了抵抗网络丢包需要加入大量的冗余信息,造成网络负载损耗较大;后向差错隐藏法需要强大的运算能力,增加了移动终端的计算压力。

基于此,如何有效地解决实时会话类业务中出现的网络拥堵、抖动和丢包问题,同时满足双向媒体流和严格的实时性约束,又不会增加移动终端的计算压力和网络负载的损耗,是本领域技术人员亟待解决的技术问题。



技术实现要素:

本发明实施例提供了一种分组数据的实时重传方法、实时重传系统及相关装置,用以解决如何有效地解决实时会话类业务中出现的网络拥堵、抖动和丢包问题,同时满足双向媒体流和严格的实时性约束,又不会增加移动终端的计算压力和网络负载的损耗的问题。

本发明实施例提供了一种分组数据的实时重传方法,包括:

重传服务器确定是否接收到发送端通过第一传输路径发送的分组数据;

所述重传服务器在确定未接收到所述发送端通过第一传输路径发送的分组数据时,向所述发送端反馈第一失败消息,并通过所述发送端重新确定的所述第一传输路径接收所述分组数据;

所述重传服务器在确定接收到所述发送端通过第一传输路径发送的分组数据时,向所述发送端反馈第一确认消息,并通过第二传输路径将接收到的所述分组数据发送至接收端;

所述重传服务器确定接收到所述接收端反馈的第二失败消息是否有效;

所述重传服务器在确定接收到所述接收端反馈的第二失败消息有效时,重新确定所述第二传输路径,并通过重新确定的所述第二传输路径向所述接收端重新发送所述分组数据。

在一种可能的实施方式中,在本发明实施例提供的上述实时重传方法中,在重传服务器确定是否接收到发送端通过第一传输路径发送的分组数据之前,还包括:

收发单元接收所述发送端发送的呼叫和媒体协商请求;

所述收发单元根据接收到的所述呼叫和媒体协商请求,确定所述接收端的地址,并向所述接收端转发所述呼叫和媒体协商请求;

所述收发单元在确定接收到所述接收端反馈的媒体参数时,调用重传控制单元;

所述重传控制单元根据所述发送端与所述接收端在网络拓扑中的位置,以及预先设定的重传服务器的选择标准,确定用于转发所述发送端和所述接收端之间传输的分组数据的所述重传服务器;

所述重传服务器初始化所述第一传输路径和所述第二传输路径。

在一种可能的实施方式中,在本发明实施例提供的上述实时重传方法中,所述预先设定的重传服务器的选择标准为同时满足以下条件:

所述重传服务器与所述发送端之间存在至少两条传输路径;

所述重传服务器与所述接收端之间存在至少两条传输路径;

所述重传服务器与所述发送端之间的传输时延小于所述发送端与所述接收端之间的传输时延;

所述重传服务器与所述接收端之间的传输时延小于所述发送端与所述接收端之间的传输时延;

所述重传服务器的负载未饱和。

在一种可能的实施方式中,在本发明实施例提供的上述实时重传方法中,所述重传服务器初始化所述第一传输路径和所述第二传输路径,具体包括:

所述重传服务器在与所述发送端之间存在的至少两条传输路径中随机选择一条传输路径作为所述第一传输路径;

所述重传服务器在与所述接收端之间存在的至少两条传输路径中随机选择一条传输路径作为所述第二传输路径。

在一种可能的实施方式中,在本发明实施例提供的上述实时重传方法中,所述重传服务器确定是否接收到发送端通过第一传输路径发送的分组数据,具体包括:

所述重传服务器确定是否在预设回路时间内接收到所述发送端通过所述第一传输路径发送的分组数据;

若是,则确定接收到所述发送端发送的所述分组数据;

若否,则确定未接收到所述发送端发送的所述分组数据。

在一种可能的实施方式中,在本发明实施例提供的上述实时重传方法中,所述重传服务器确定接收到所述接收端反馈的第二失败消息是否有效,具体包括:

所述重传服务器确定接收到所述接收端反馈的第二失败消息是否为针对同一所述分组数据且首次反馈的第二失败消息;

若是,则确定所述第二失败消息有效;

若否,则确定所述第二失败消息无效。

在一种可能的实施方式中,在本发明实施例提供的上述实时重传方法中,所述重新确定所述第二传输路径,具体包括:

所述重传服务器在与所述接收端之间存在的至少两条传输路径中随机选择不同于更新前的所述第二传输路径的一条传输路径作为重新确定的所述第二传输路径。

本发明实施例还提供了一种分组数据的实时重传方法,包括:

通过第一传输路径向重传服务器发送分组数据;

确定接收到所述重传服务器反馈的第一失败消息是否有效;

在确定接收到所述重传服务器反馈的第一失败消息有效时,重新确定所述第一传输路径,并通过重新确定的所述第一传输路径向所述重传服务器重新发送所述分组数据。

在一种可能的实施方式中,在本发明实施例提供的上述实时重传方法中,在通过第一传输路径向重传服务器发送分组数据之前,还包括:

向收发单元发送呼叫和媒体协商请求;

接收所述重传服务器发送的携带初始化后的所述第一传输路径的消息。

在一种可能的实施方式中,在本发明实施例提供的上述实时重传方法中,所述确定接收到所述重传服务器反馈的第一失败消息是否有效,具体包括:

确定接收到所述重传服务器反馈的第一失败消息是否为针对同一所述分组数据且首次反馈的第一失败消息;

若是,则确定所述第一失败消息有效;

若否,则确定所述第一失败消息无效。

在一种可能的实施方式中,在本发明实施例提供的上述实时重传方法中,所述重新确定所述第一传输路径,具体包括:

在与所述重传服务器之间存在的至少两条传输路径中随机选择不同于更新前的所述第一传输路径的一条传输路径作为重新确定的所述第一传输路径。

本发明实施例还提供了一种分组数据的实时重传方法,包括:

确定是否接收到重传服务器通过第二传输路径发送的分组数据;

在确定未接收到所述重传服务器通过第二传输路径发送的分组数据时,向所述重传服务器反馈第二失败消息,并通过所述重传服务器重新确定的所述第二传输路径接收所述分组数据。

在一种可能的实施方式中,在本发明实施例提供的上述实时重传方法中,在确定是否接收到重传服务器通过第二传输路径发送的分组数据之前,还包括:

接收收发单元发送的呼叫和媒体协商请求;

接收所述重传服务器发送的携带初始化后的所述第二传输路径的消息。

在一种可能的实施方式中,在本发明实施例提供的上述实时重传方法中,所述确定是否接收到重传服务器通过第二传输路径发送的分组数据,具体包括:

确定是否在预设回路时间内接收到所述重传服务器通过第二传输路径发送的分组数据;

若是,则确定接收到所述重传服务器发送的所述分组数据;

若否,则确定未接收到所述重传服务器发送的所述分组数据。

本发明实施例还提供了一种业务平台,包括:

第一判断模块,用于重传服务器确定是否接收到发送端通过第一传输路径发送的分组数据;

反馈模块,用于所述重传服务器在确定未接收到所述发送端通过第一传输路径发送的分组数据时,向所述发送端反馈第一失败消息,并通过所述发送端重新确定的所述第一传输路径接收所述分组数据;

发送模块,用于所述重传服务器在确定接收到所述发送端通过第一传输路径发送的分组数据时,向所述发送端反馈第一确认消息,并通过第二传输路径将接收到的所述分组数据发送至接收端;

第二判断模块,用于所述重传服务器确定接收到所述接收端反馈的第二失败消息是否有效;

传输路径更新模块,用于所述重传服务器在确定接收到所述接收端反馈的第二失败消息有效时,重新确定所述第二传输路径,并通过重新确定的所述第二传输路径向所述接收端重新发送所述分组数据。

在一种可能的实施方式中,在本发明实施例提供的上述业务平台中,还包括:

收发模块,用于收发单元接收所述发送端发送的呼叫和媒体协商请求;所述收发单元根据接收到的所述呼叫和媒体协商请求,确定所述接收端的地址,并向所述接收端转发所述呼叫和媒体协商请求;

调用模块,用于所述收发单元在确定接收到所述接收端反馈的媒体参数时,调用重传控制单元;

确定模块,用于所述重传控制单元根据所述发送端与所述接收端在网络拓扑中的位置,以及预先设定的重传服务器的选择标准,确定用于转发所述发送端和所述接收端之间传输的分组数据的所述重传服务器;

初始化模块,用于所述重传服务器初始化所述第一传输路径和所述第二传输路径。

在一种可能的实施方式中,在本发明实施例提供的上述业务平台中,所述确定模块具体用于所述预先设定的重传服务器的选择标准为同时满足以下条件:所述重传服务器与所述发送端之间存在至少两条传输路径;所述重传服务器与所述接收端之间存在至少两条传输路径;所述重传服务器与所述发送端之间的传输时延小于所述发送端与所述接收端之间的传输时延;所述重传服务器与所述接收端之间的传输时延小于所述发送端与所述接收端之间的传输时延;所述重传服务器的负载未饱和。

在一种可能的实施方式中,在本发明实施例提供的上述业务平台中,所述初始化模块具体用于所述重传服务器在与所述发送端之间存在的至少两条传输路径中随机选择一条传输路径作为所述第一传输路径;所述重传服务器在与所述接收端之间存在的至少两条传输路径中随机选择一条传输路径作为所述第二传输路径。

在一种可能的实施方式中,在本发明实施例提供的上述业务平台中,所述第一判断模块具体用于所述重传服务器确定是否在预设回路时间内接收到所述发送端通过所述第一传输路径发送的分组数据;若是,则确定接收到所述发送端发送的所述分组数据;若否,则确定未接收到所述发送端发送的所述分组数据。

在一种可能的实施方式中,在本发明实施例提供的上述业务平台中,所述第二判断模块具体用于所述重传服务器确定接收到所述接收端反馈的第二失败消息是否为针对同一所述分组数据且首次反馈的第二失败消息;若是,则确定所述第二失败消息有效;若否,则确定所述第二失败消息无效。

在一种可能的实施方式中,在本发明实施例提供的上述业务平台中,所述传输路径更新模块具体用于所述重传服务器在与所述接收端之间存在的至少两条传输路径中随机选择不同于更新前的所述第二传输路径的一条传输路径作为重新确定的所述第二传输路径。

本发明实施例还提供了一种发送端,包括:

发送模块,用于通过第一传输路径向重传服务器发送分组数据;

判断模块,用于确定接收到所述重传服务器反馈的第一失败消息是否有效;

传输路径更新模块,用于在确定接收到所述重传服务器反馈的第一失败消息有效时,重新确定所述第一传输路径,并通过重新确定的所述第一传输路径向所述重传服务器重新发送所述分组数据。

在一种可能的实施方式中,在本发明实施例提供的上述发送端中,还包括:

请求发送模块,用于向收发单元发送呼叫和媒体协商请求;

消息接收模块,用于接收所述重传服务器发送的携带初始化后的所述第一传输路径的消息。

在一种可能的实施方式中,在本发明实施例提供的上述发送端中,所述判断模块具体用于确定接收到所述重传服务器反馈的第一失败消息是否为针对同一所述分组数据且首次反馈的第一失败消息;若是,则确定所述第一失败消息有效;若否,则确定所述第一失败消息无效。

在一种可能的实施方式中,在本发明实施例提供的上述发送端中,所述传输路径更新模块具体用于在与所述重传服务器之间存在的至少两条传输路径中随机选择不同于更新前的所述第一传输路径的一条传输路径作为重新确定的所述第一传输路径。

本发明实施例还提供了一种接收端,包括:

判断模块,用于确定是否接收到重传服务器通过第二传输路径发送的分组数据;

反馈模块,用于在确定未接收到所述重传服务器通过第二传输路径发送的分组数据时,向所述重传服务器反馈第二失败消息,并通过所述重传服务器重新确定的所述第二传输路径接收所述分组数据。

在一种可能的实施方式中,在本发明实施例提供的上述接收端中,还包括:

请求接收模块,用于接收收发单元发送的呼叫和媒体协商请求;

消息接收模块,用于接收所述重传服务器发送的携带初始化后的所述第二传输路径的消息。

在一种可能的实施方式中,在本发明实施例提供的上述接收端中,所述判断模块具体用于确定是否在预设回路时间内接收到所述重传服务器通过第二传输路径发送的分组数据;若是,则确定接收到所述重传服务器发送的所述分组数据;若否,则确定未接收到所述重传服务器发送的所述分组数据。

本发明实施例还提供了一种分组数据的实时重传系统,包括:发送端、接收端、以及业务平台;其中,

所述业务平台包括收发单元、重传控制单元、以及多个重传服务器;

所述收发单元,用于接收所述发送端发送的呼叫和媒体协商请求;根据接收到的所述呼叫和媒体协商请求,确定所述接收端的地址,并向所述接收端转发所述呼叫和媒体协商请求;在确定接收到所述接收端反馈的媒体参数时,调用重传控制单元;

所述重传控制单元,用于根据所述发送端与所述接收端在网络拓扑中的位置,以及预先设定的重传服务器的选择标准,确定用于转发所述发送端和所述接收端之间传输的分组数据的所述重传服务器;

所述重传服务器,用于初始化所述第一传输路径和所述第二传输路径;确定是否接收到发送端通过第一传输路径发送的分组数据;在确定未接收到所述发送端通过第一传输路径发送的分组数据时,向所述发送端反馈第一失败消息,并通过所述发送端重新确定的所述第一传输路径接收所述分组数据;在确定接收到所述发送端通过第一传输路径发送的分组数据时,向所述发送端反馈第一确认消息,并通过第二传输路径将接收到的所述分组数据发送至接收端;确定接收到所述接收端反馈的第二失败消息是否有效;在确定接收到所述接收端反馈的第二失败消息有效时,重新确定所述第二传输路径,并通过重新确定的所述第二传输路径向所述接收端重新发送所述分组数据;

所述发送端,用于通过第一传输路径向重传服务器发送分组数据;确定接收到所述重传服务器反馈的第一失败消息是否有效;在确定接收到所述重传服务器反馈的第一失败消息有效时,重新确定所述第一传输路径,并通过重新确定的所述第一传输路径向所述重传服务器重新发送所述分组数据;

所述接收端,用于确定是否接收到重传服务器通过第二传输路径发送的分组数据;在确定未接收到所述重传服务器通过第二传输路径发送的分组数据时,向所述重传服务器反馈第二失败消息,并通过所述重传服务器重新确定的所述第二传输路径接收所述分组数据。

附图说明

图1为本发明实施例中提供的一种分组数据的实时重传方法的流程图之一;

图2为本发明实施例中提供的一种分组数据的实时重传方法的流程图之二;

图3为本发明实施例中提供的一种业务平台;

图4为本发明实施例中提供的一种分组数据的实时重传方法的流程图之三;

图5为本发明实施例中提供的一种发送端;

图6为本发明实施例中提供的一种分组数据的实时重传方法的流程图之四;

图7为本发明实施例中提供的一种接收端;

图8为本发明实施例中提供的一种分组数据的实时重传系统;

图9为本发明实施例中提供的实施例一的方法的流程图;

图10为本发明实施例中提供的实施例一的交互流程的示意图。

具体实施方式

下面将结合附图,对本发明实施例提供的一种分组数据的实时重传方法、实时重传系统及相关装置的具体实施方式进行详细地说明。需要说明的是,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明实施例提供了一种分组数据的实时重传方法,适用于业务平台侧,如图1所示,可以包括:

s101、重传服务器确定是否接收到发送端通过第一传输路径发送的分组数据;若否,则执行步骤s102;若是,则执行步骤s103;

s102、向发送端反馈第一失败消息,并通过发送端重新确定的第一传输路径接收分组数据;

s103、向发送端反馈第一确认消息,并通过第二传输路径将接收到的分组数据发送至接收端;

s104、重传服务器确定接收到接收端反馈的第二失败消息是否有效;若是,则执行步骤s105;

s105、重新确定第二传输路径,并通过重新确定的第二传输路径向接收端重新发送分组数据。

本发明存在多种不同的实施例,在s102中,向发送端反馈第一失败消息所采用的路径,可以是原来的路径,也可以由重传服务器重新确定;重传服务器可以依据历史数据,例如,分别或综合考量不同路径的丢包率、成功使用时长和切换频度等情况,提供重新选择路径的建议,提供给发送端。

本发明实施例提供的上述分组数据的实时重传方法,通过重传服务器与发送端和重传服务器与接收端之间端对端的交互,在发送分组数据的一端确定接收到有效的失败消息时,重新确定传输路径,并通过重新确定的传输路径重新发送分组数据;同时,在接收分组数据一端根据是否接收到分组数据而向发送分组数据的一端反馈相应的消息,使得发送分组数据的一端进行相应的操作,因此,为分组数据的传输创造乐一次重传的机会,将重传数据造成的时延缩短了一半,减少了分组数据丢失的概率,有效地处理实时会话类业务中时延约束的问题;另外,该实时重传方法可以减少网络传输的负载,无需预先加入大量的冗余信息来保障传输质量,并且还可以减少移动终端的计算压力,有效提高了实时性会话类业务的通话质量。

在具体实施时,在本发明实施例提供的上述实时重传方法中的步骤s101重传服务器确定是否接收到发送端通过第一传输路径发送的分组数据之前,如图2所示,还可以包括:

s201、收发单元接收发送端发送的呼叫和媒体协商请求;

s202、收发单元根据接收到的呼叫和媒体协商请求,确定接收端的地址,并向接收端转发呼叫和媒体协商请求;

s203、收发单元在确定接收到接收端反馈的媒体参数时,调用重传控制单元;

s204、重传控制单元根据发送端与接收端在网络拓扑中的位置,以及预先设定的重传服务器的选择标准,确定用于转发发送端和接收端之间传输的分组数据的重传服务器;

s205、重传服务器初始化第一传输路径和第二传输路径。

具体地,收发单元在接收到接收端反馈的媒体参数时,结合发送端发送的媒体协商请求,确定传输的分组数据的音、视频编码标准和参数,为分组数据传输做准备。

具体地,为了选择出与发送端和接收端匹配的重传服务器,在本发明实施例提供的上述实时重传方法中的步骤s204预先设定的重传服务器的选择标准为同时满足以下条件:

重传服务器与发送端之间存在至少两条传输路径;

重传服务器与接收端之间存在至少两条传输路径;

重传服务器与发送端之间的传输时延小于发送端与接收端之间的传输时延;

重传服务器与接收端之间的传输时延小于发送端与接收端之间的传输时延;

重传服务器的负载未饱和。

具体地,业务平台包括收发单元、重传控制器、以及多个重传服务器,每个服务器在发送端与接收端之间的位置关系和连接关系可能均不相同,为了能够确定匹配的重传服务器,实现实时重传,需要根据重传服务器与发送端和重传服务器与接收端之间的传输路径的个数,传输时延,以及重传服务器的负载情况而定。

具体地,为了能够确定出首次传输分组数据的传输路径,在本发明实施例提供的上述实时重传方法中的步骤s205重传服务器初始化第一传输路径和第二传输路径,可以具体包括:

重传服务器在与发送端之间存在的至少两条传输路径中随机选择一条传输路径作为第一传输路径;

重传服务器在与接收端之间存在的至少两条传输路径中随机选择一条传输路径作为第二传输路径。

在具体实施时,为了能够判断出重传服务器是否接收到了发送端发送的分组数据,在本发明实施例提供的上述实时重传方法中的步骤s101重传服务器确定是否接收到发送端通过第一传输路径发送的分组数据,可以具体包括:

重传服务器确定是否在预设回路时间内接收到发送端通过第一传输路径发送的分组数据;

若是,则确定接收到发送端发送的分组数据;

若否,则确定未接收到发送端发送的分组数据。

具体地,回路时间是指从发送端到接收端所需时长的2倍,当接收分组数据的时间超过了回路时间,则确定该分组数据发生了丢包,即重传服务器确定未接收到发送端发送的分组数据。

在具体实施时,为了确定接收端反馈的第二失败消息是否有效,在本发明实施例提供的上述实时重传方法中的步骤s104重传服务器确定接收到接收端反馈的第二失败消息是否有效,可以具体包括:

重传服务器确定接收到接收端反馈的第二失败消息是否为针对同一分组数据且首次反馈的第二失败消息;

若是,则确定第二失败消息有效;

若否,则确定第二失败消息无效。

具体地,重传服务器只有在接收到对于同一分组数据且首次反馈的第二失败消息时,确定为第二失败消息有效,并重新确定第二传输路径;而当重传服务器第二次接收到对同一组分组数据反馈的第二失败消息时,确定为第二失败消息无效,则不再第二次重新确定第二传输路径,也不再第二次重新传输二次丢失的分组数据,而是通过第一次重新确定的传输路径继续传输后续的分组数据。

在具体实施时,为了实现对第二传输路径的更新,在本发明实施例提供的上述实时重传方法中的步骤s105重新确定第二传输路径,可以具体包括:

重传服务器在与接收端之间存在的至少两条传输路径中随机选择不同于更新前的第二传输路径的一条传输路径作为重新确定的第二传输路径。

具体地,在分组数据的传输过程中,是按照自动生成的分组数据的编号由小到大的顺序依次传输的,当分组数据发生丢包之后,重新发送该分组数据之前,会对该分组数据自动重新编号,且更新后的编号与原编号相似而不同,以便于在继续传输分组数据时,依然能够按照编号由小到大的顺序依次传输;例如,在重传服务器接收到接收端反馈的对于编号为#2的分组数据有效的第二失败消息时,重新确定第二传输路径,同时将编号为#2的分组数据被重新编号为#2’,通过重新确定的第二传输路径发送至接收端。

具体地,重传服务器在接收到接收端反馈的第二确认消息时,通过第二传输路径继续向接收端发送后续的分组数据。

基于同一发明构思,本发明实施例还提供了一种业务平台,由于该装置解决问题的原理与前述一种分组数据的实时重传方法相似,因此该装置的实施可以参见方法的实施,重复之处不再赘述。

具体地,本发明实施例提供的一种业务平台,如图3所示,可以包括:

第一判断模块301,用于重传服务器确定是否接收到发送端通过第一传输路径发送的分组数据;

反馈模块302,用于重传服务器在确定未接收到发送端通过第一传输路径发送的分组数据时,向发送端反馈第一失败消息,并通过发送端重新确定的第一传输路径接收分组数据;

发送模块303,用于重传服务器在确定接收到发送端通过第一传输路径发送的分组数据时,向发送端反馈第一确认消息,并通过第二传输路径将接收到的分组数据发送至接收端;

第二判断模块304,用于重传服务器确定接收到接收端反馈的第二失败消息是否有效;

传输路径更新模块305,用于重传服务器在确定接收到接收端反馈的第二失败消息有效时,重新确定第二传输路径,并通过重新确定的第二传输路径向接收端重新发送分组数据。

在具体实施时,在本发明实施例提供的上述业务平台中,如图3所示,还可以包括:

收发模块306,用于收发单元接收发送端发送的呼叫和媒体协商请求;收发单元根据接收到的呼叫和媒体协商请求,确定接收端的地址,并向接收端转发呼叫和媒体协商请求;

调用模块307,用于收发单元在确定接收到接收端反馈的媒体参数时,调用重传控制单元;

确定模块308,用于重传控制单元根据发送端与接收端在网络拓扑中的位置,以及预先设定的重传服务器的选择标准,确定用于转发发送端和接收端之间传输的分组数据的重传服务器;

初始化模块309,用于重传服务器初始化第一传输路径和第二传输路径。

具体地,在本发明实施例提供的上述业务平台中,确定模块308具体用于预先设定的重传服务器的选择标准为同时满足以下条件:重传服务器与发送端之间存在至少两条传输路径;重传服务器与接收端之间存在至少两条传输路径;重传服务器与发送端之间的传输时延小于发送端与接收端之间的传输时延;重传服务器与接收端之间的传输时延小于发送端与接收端之间的传输时延;重传服务器的负载未饱和。

具体地,在本发明实施例提供的上述业务平台中,初始化模块309具体用于重传服务器在与发送端之间存在的至少两条传输路径中随机选择一条传输路径作为第一传输路径;重传服务器在与接收端之间存在的至少两条传输路径中随机选择一条传输路径作为第二传输路径。

在具体实施时,在本发明实施例提供的上述业务平台中,第一判断模块301具体用于重传服务器确定是否在预设回路时间内接收到发送端通过第一传输路径发送的分组数据;若是,则确定接收到发送端发送的分组数据;若否,则确定未接收到发送端发送的分组数据。

在具体实施时,在本发明实施例提供的上述业务平台中,第二判断模块304具体用于重传服务器确定接收到接收端反馈的第二失败消息是否为针对同一分组数据且首次反馈的第二失败消息;若是,则确定第二失败消息有效;若否,则确定第二失败消息无效。

在具体实施时,在本发明实施例提供的上述业务平台中,传输路径更新模块305具体用于重传服务器在与接收端之间存在的至少两条传输路径中随机选择不同于更新前的第二传输路径的一条传输路径作为重新确定的第二传输路径。

基于同一发明构思,本发明实施例还提供了一种分组数据的实时重传方法,适用于发送端侧,如图4所示,可以包括:

s401、通过第一传输路径向重传服务器发送分组数据;

s402、确定接收到重传服务器反馈的第一失败消息是否有效;若是,则执行步骤s403;

s403、重新确定第一传输路径,并通过重新确定的第一传输路径向重传服务器重新发送分组数据。

本发明实施例提供的上述分组数据的实时重传方法,通过重传服务器与发送端之间端对端的交互,在发送分组数据的一端确定接收到有效的失败消息时,重新确定传输路径,并通过重新确定的传输路径重新发送分组数据;因此,该方法为分组数据的传输创造了一次重传的机会,将重传数据造成的时延缩短了一半,减少了分组数据丢失的概率,有效地处理实时会话类业务中时延约束的问题;另外,该实时重传方法可以减少网络传输的负载,无需预先加入大量的冗余信息来保障传输质量,并且还可以减少移动终端的计算压力,有效提高了实时性会话类业务的通话质量。

在具体实施时,在本发明实施例提供的上述实时重传方法中的步骤s401通过第一传输路径向重传服务器发送分组数据之前,还可以包括:

向收发单元发送呼叫和媒体协商请求;

接收重传服务器发送的携带初始化后的第一传输路径的消息。

具体地,发送端接收重传服务器发送的携带初始化后的第一传输路径的消息,即可以获知发送端向重传服务器传输分组数据时的首次传输路径。

在具体实施时,为了能否确定出第一失败消息是否有效,在本发明实施例提供的上述实时重传方法中的步骤s402确定接收到重传服务器反馈的第一失败消息是否有效,可以具体包括:

确定接收到重传服务器反馈的第一失败消息是否为针对同一分组数据且首次反馈的第一失败消息;

若是,则确定第一失败消息有效;

若否,则确定第一失败消息无效。

具体地,发送端只有在接收到对于同一分组数据且首次反馈的第一失败消息时,确定为第一失败消息有效,并重新确定第一传输路径;而当发送端第二次接收到对同一组分组数据反馈的第一失败消息时,确定为第一失败消息无效,则不再第二次重新确定第一传输路径,也不再第二次重新传输二次丢失的分组数据,而是通过第一次重新确定的传输路径继续传输后续的分组数据。

在具体实施时,为了能够更新第一传输路径,重新发送丢失的分组数据,在本发明实施例提供的上述实时重传方法中的步骤s403重新确定第一传输路径,可以具体包括:

在与重传服务器之间存在的至少两条传输路径中随机选择不同于更新前的第一传输路径的一条传输路径作为重新确定的第一传输路径。

具体地,在分组数据的传输过程中,是按照自动生成的分组数据的编号由小到大的顺序依次传输的,当分组数据发生丢包之后,重新发送该分组数据之前,会对该分组数据自动重新编号,且更新后的编号与原编号相似而不同,以便于在继续传输分组数据时,依然能够按照编号由小到大的顺序依次传输;例如,在发送端接收到重传服务器反馈的对于编号为#2的分组数据有效的第一失败消息时,重新确定第一传输路径,同时将编号为#2的分组数据被重新编号为#2’,通过重新确定的第一传输路径发送至重传服务器。

具体地,发送端在接收到重传服务器反馈的第一确认消息时,通过第一传输路径继续向重传服务器发送后续的分组数据。

基于同一发明构思,本发明实施例还提供了一种发送端,由于该装置解决问题的原理与前述一种分组数据的实时重传方法相似,因此该装置的实施可以参见方法的实施,重复之处不再赘述。

具体地,本发明实施例提供的一种发送端,如图5所示,可以包括:

发送模块501,用于通过第一传输路径向重传服务器发送分组数据;

判断模块502,用于确定接收到重传服务器反馈的第一失败消息是否有效;

传输路径更新模块503,用于在确定接收到重传服务器反馈的第一失败消息有效时,重新确定第一传输路径,并通过重新确定的第一传输路径向重传服务器重新发送分组数据。

在具体实施时,在本发明实施例提供的上述发送端中,如图5所示,还可以包括:

请求发送模块504,用于向收发单元发送呼叫和媒体协商请求;

消息接收模块505,用于接收重传服务器发送的携带初始化后的第一传输路径的消息。

在具体实施时,在本发明实施例提供的上述发送端中,判断模块502具体用于确定接收到重传服务器反馈的第一失败消息是否为针对同一分组数据且首次反馈的第一失败消息;若是,则确定第一失败消息有效;若否,则确定第一失败消息无效。

在具体实施时,在本发明实施例提供的上述发送端中,传输路径更新模块503具体用于在与重传服务器之间存在的至少两条传输路径中随机选择不同于更新前的第一传输路径的一条传输路径作为重新确定的第一传输路径。

基于同一发明构思,本发明实施例还提供了一种分组数据的实时重传方法,适用于接收端侧,如图6所示,可以包括:

s601、确定是否接收到重传服务器通过第二传输路径发送的分组数据;若否,则执行步骤s602;

s602、向重传服务器反馈第二失败消息,并通过重传服务器重新确定的第二传输路径接收分组数据。

本发明实施例提供的上述分组数据的实时重传方法,通过重传服务器与接收端之间端对端的交互,由接收分组数据的一端即接收端在确定未接收到重传服务器发送的分组数据时,向重传服务器反馈第二失败消息,并通过重传服务器重新确定的第二传输路径重新接收分组数据;因此,该方法有效地将重传数据造成的时延缩短了一半,有效地处理实时会话类业务中时延约束的问题;另外,该实时重传方法可以减少网络传输的负载,无需预先加入大量的冗余信息来保障传输质量,并且还可以减少移动终端的计算压力,有效提高了实时性会话类业务的通话质量。

在具体实施时,在本发明实施例提供的上述实时重传方法中的步骤s601确定是否接收到重传服务器通过第二传输路径发送的分组数据之前,还可以包括:

接收收发单元发送的呼叫和媒体协商请求;

接收重传服务器发送的携带初始化后的第二传输路径的消息。

具体地,接收端接收重传服务器发送的携带初始化后的第二传输路径的消息,即可以获知重传服务器向接收端传输分组数据时的首次传输路径。

在具体实施时,为了能够确定出是否接收到重传服务器发送的分组数据,在本发明实施例提供的上述实时重传方法中的步骤s601确定是否接收到重传服务器通过第二传输路径发送的分组数据,可以具体包括:

确定是否在预设回路时间内接收到重传服务器通过第二传输路径发送的分组数据;

若是,则确定接收到重传服务器发送的分组数据;

若否,则确定未接收到重传服务器发送的分组数据。

具体地,回路时间是指从发送端到接收端所需时长的2倍,当接收分组数据的时间超过了回路时间,则确定该分组数据发生了丢包,即接收端确定未接收到重传服务器发送的分组数据。

具体地,在接收到重传服务器通过第二传输路径发送的分组数据时,向重传服务器反馈第二确认消息,并通过第二传输路径继续接收重传服务器发送的后续的分组数据。

基于同一发明构思,本发明实施例还提供了一种接收端,由于该装置解决问题的原理与前述一种分组数据的实时重传方法相似,因此该装置的实施可以参见方法的实施,重复之处不再赘述。

具体地,本发明实施例提供的一种接收端,如图7所示,可以包括:

判断模块701,用于确定是否接收到重传服务器通过第二传输路径发送的分组数据;

反馈模块702,用于在确定未接收到重传服务器通过第二传输路径发送的分组数据时,向重传服务器反馈第二失败消息,并通过重传服务器重新确定的第二传输路径接收分组数据。

在具体实施时,在本发明实施例提供的上述接收端中,如图7所示,还可以包括:

请求接收模块703,用于接收收发单元发送的呼叫和媒体协商请求;

消息接收模块704,用于接收重传服务器发送的携带初始化后的第二传输路径的消息。

在具体实施时,在本发明实施例提供的上述接收端中,判断模块701具体用于确定是否在预设回路时间内接收到重传服务器通过第二传输路径发送的分组数据;若是,则确定接收到重传服务器发送的分组数据;若否,则确定未接收到重传服务器发送的分组数据。

基于同一发明构思,本发明实施例还提供了一种分组数据的实时重传系统,如图8所示,可以包括:发送端801、接收端802、以及业务平台803;其中,

业务平台803包括收发单元803-1、重传控制单元803-2、以及多个重传服务器803-3;

收发单元803-1,用于接收发送端801发送的呼叫和媒体协商请求;根据接收到的呼叫和媒体协商请求,确定接收端802的地址,并向接收端802转发呼叫和媒体协商请求;在确定接收到接收端802反馈的媒体参数时,调用重传控制单元803-2;

重传控制单元803-2,用于根据发送端801与接收端802在网络拓扑中的位置,以及预先设定的重传服务器803-3的选择标准,确定用于转发发送端801和接收端802之间传输的分组数据的重传服务器803-3;

重传服务器803-3,用于初始化第一传输路径和第二传输路径;确定是否接收到发送端801通过第一传输路径发送的分组数据;在确定未接收到发送端801通过第一传输路径发送的分组数据时,向发送端801反馈第一失败消息,并通过发送端801重新确定的第一传输路径接收分组数据;在确定接收到发送端801通过第一传输路径发送的分组数据时,向发送端801反馈第一确认消息,并通过第二传输路径将接收到的分组数据发送至接收端802;确定接收到接收端802反馈的第二失败消息是否有效;在确定接收到接收端802反馈的第二失败消息有效时,重新确定第二传输路径,并通过重新确定的第二传输路径向接收端802重新发送分组数据;

发送端801,用于通过第一传输路径向重传服务器803-3发送分组数据;确定接收到重传服务器803-3反馈的第一失败消息是否有效;在确定接收到重传服务器803-3反馈的第一失败消息有效时,重新确定第一传输路径,并通过重新确定的第一传输路径向重传服务器803-3重新发送分组数据;

接收端802,用于确定是否接收到重传服务器803-3通过第二传输路径发送的分组数据;在确定未接收到重传服务器803-3通过第二传输路径发送的分组数据时,向重传服务器803-3反馈第二失败消息,并通过重传服务器803-3重新确定的第二传输路径接收分组数据。

具体地,在实际的实时会话类业务中,当移动终端a和移动终端b进行实时会话时,因处于实时会话业务中,两个移动终端既可以发送分组数据,又可以接收分组数据,因此,移动终端a在发送分组数据时即为发送端,在接收分组数据时即为接收端,移动终端b亦之如此。

下面将以一次标准的视频通话为例,详细说明本发明实施例提供的上述实时重传系统的工作流程。

实施例一:结合图8所示的实时重传系统、图9所示的方法的流程图、以及图10所示的交互流程的示意图;以移动终端a为发送端,移动终端b为接收端,且由移动终端a向移动终端b传输一个分组数据为例,业务平台包括收发单元、重传控制单元、以及多个重传服务器。

s901、移动终端a向收发单元发送呼叫和媒体协商请求;

s902、收发单元根据接收到的呼叫和媒体协商请求,确定移动终端b的地址,并向移动终端b转发呼叫和媒体协商请求;

s903、移动终端b根据接收到的呼叫和媒体协商请求,向收发单元反馈媒体参数;

s904、收发单元根据接收到的移动终端b反馈的媒体参数,调用重传控制单元;

s905、重传控制单元根据移动终端a和移动终端b在网络拓扑中的位置,以及预先设定的重传服务器的选择标准,确定用于转发移动终端a和移动终端b之间传输的分组数据的传输路径;

s906、重传服务器向移动终端a发送携带有初始化后的第一传输路径的消息,以及向移动终端b发送携带有初始化后的第二传输路径的消息;

s907、移动终端a通过第一传输路径将分组数据发送至重传服务器;

s908、重传服务器确定是否在预先设定回路时间内接收到分组数据;若是,则执行步骤s909;若否,则执行步骤s910;

s909、重传服务器向移动终端a反馈第一确认消息,并通过第二传输路径向移动终端b发送分组数据;执行步骤s915;

s910、重传服务器向移动终端a反馈第一失败消息;

s911、移动终端a确定接收到重传服务器反馈的第一失败消息是否有效;若是,则执行步骤s912;若否,则执行步骤s914;

s912、移动终端a重新确定第一传输路径;

s913、移动终端a通过重新确定的第一传输路径重新发送分组数据;

s914、移动终端a不再重新确定第一传输路径;

s915、移动终端b确定是否在预先设定回路时间内接收到分组数据;若是,则执行步骤s916;若否,则执行步骤s917;

s916、移动终端b向重传服务器反馈第二确认消息;结束流程;

s917、移动终端b向重传服务器反馈第二失败消息;

s918、重传服务器确定接收到移动终端b反馈的第二失败消息是否有效;若是,则执行步骤s919;若否,则执行步骤s921;

s919、重传服务器重新确定第二传输路径;

s920、重传服务器通过重新确定的第二传输路径重新发送分组数据;结束流程;

s921、重传服务器不再重新确定第二传输路径。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。

本发明实施例提供了一种分组数据的实时重传方法、实时重传系统及相关装置,该实时重传方法包括:发送端首先通过第一传输路径向重传服务器发送分组数据,重传服务器在接收分组数据时确定是否接收到发送端发送的的分组数据,在确定接收到发送端发送的分组数据时,向发送端反馈第一确认消息,同时通过第二传输路径将接收到的分组数据发送至接收端,使得接收端在确定未接收到分组数据时向重传服务器反馈第二失败消息,此时重传服务器确定接收到的接收端反馈的第二失败消息是否有效,若有效,则重传服务器更新第二传输路径,并向接收端重新发送分组数据;在确定未接收到发送端发送的分组数据时,向发送端反馈第一失败消息,此时发送端确定接受到重传服务器反馈的第一失败消息是否有效,若有效,则发送端更新第一传输路径,并向重传服务器重新发送分组数据。因此,通过重传服务器与发送端和重传服务器与接收端之间端对端的交互,在发送分组数据的一端确定接收到有效的失败消息时,重新确定传输路径,并通过重新确定的传输路径重新发送分组数据;同时,在接收分组数据一端根据是否接收到分组数据而向发送分组数据的一端反馈相应的消息,使得发送分组数据的一端进行相应的操作,因此,为分组数据的传输创造了一次重传的机会,将重传数据造成的时延缩短了一半,减少了分组数据丢失的概率,有效地处理实时会话类业务中时延约束的问题;另外,该实时重传方法可以减少网络传输的负载,无需预先加入大量的冗余信息来保障传输质量,并且还可以减少移动终端的计算压力,有效提高了实时性会话类业务的通话质量。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1