一种多流并发传输方法、装置和系统与流程

文档序号:16104951发布日期:2018-11-30 19:07阅读:117来源:国知局

本发明涉及通信技术领域,特别涉及一种多流并发传输方法、装置和系统。



背景技术:

随着无线网络的普及,终端可以通过多种无线接入技术接入互联网(Internet)。与此同时,移动终端也经历了从单模、双模到多模的演进,并具备了越来越多无线接口。在这一基础之上,研究人员致力于通过整合多模终端的多种接入技术或个域网内不同终端的多种接入技术,使异构网络同时承载一个数据业务,不仅向用户提供更快的传输速率,而且能够提高网络资源利用率、业务的可靠性,增强用户的体验。该技术的关键在于如何根据业务特点、网络情况以及各终端的能力将数据合理地分配到不同的终端,以及如何在接收端将接收到的数据排序恢复原有的数据。上述个域网(Personal Area Network,PAN)是为了实现活动半径小、业务类型丰富、面向特定群体、无线无缝的连接而提出的新兴无线通信网络技术。

基于SCTP(Stream Control Transmission Protocol,流控制传输协议)多路径并行传输受到大家的关注。SCTP允许关联的一端绑定多个IP(Internet Protocol,互联网协议)地址,这种绑定允许发送者将数据通过不同路径发送到接收端,从而提高了关联的可靠性。但目前SCTP协议只允许使用其中一条路径进行数据传输。正常情况下,数据只在首选路径上传输,当首选路径的联通性出现故障时会转到备选路径。由于,SCTP协议只允许同时使用其中一条路径进行数据传输,因此SCTP协议并不能充分利用多条路径的网络资源,来提高端到端的吞吐量,因而网络资源利用率较低。



技术实现要素:

本发明实施例提供了一种多流并发传输方法、装置和系统,用于提高网络资源利用率。

本发明实施例一方面提供了一种多流并发传输方法,包括:

主终端通过第一网络与媒体服务器建立连接,并向媒体服务器发送业务请求;所述第一网络为所述主终端连接到所述媒体服务器使用的网络;

主终端在检测到通过第二网络与媒体服务器建立连接的从终端后,向分流决策服务器发送协作传输请求,并与从终端建立个域网获取从终端的上下文信息,将所述个域网内的主终端和从终端的上下文信息发送给分流决策服务器;所述主终端和从终端的上下文信息用于执行分流决策;所述分流决策的结果用于将所述业务请求对应的原始数据拆分为第一数据和第二数据;所述第二网络为所述从终端连接到所述媒体服务器的网络;

主终端接收媒体服务器发送给所述主终端的第一数据,接收所述从终端转发的来自所述媒体服务器的第二数据;

主终端将所述第一数据和第二数据进行重组,得到原始数据。

结合一方面的实现方式,在第一种可选的实现方式中,所述第一数据和第二数据包含有:用于表示所述第一数据或第二数据在原始数据中的数据段的标号;

所述主终端将所述第一数据和第二数据进行重组,得到原始数据包括:

所述主终端按照所述标号对第一数据和第二数据进行排序,得到原始数据。

结合一方面的第一种可选的实现,在第二种可选的实现方式中,所述第二数据包还包含有:

用于表示第二数据包所经过路径的套接字描述符、从终端的地址以及主终端的地址。

结合一方面或一方面的第一种或一方面的第二种可选的实现,在第三种可选的实现方式中,所述方法,还包括:

若所述主终端检测到新的从终端,所述主终端将所述新的从终端加入所述个域网并获取所述新的从终端的上下文信息,并将所述新的从终端的上下文信息发送给所述分流决策服务器。

本发明实施例二方面提供了一种多流并发传输方法,包括:

媒体服务器接收主终端的业务请求,确定所述业务请求对应的原始数据;

媒体服务器接收分流决策服务器下发的分流决策的结果,所述分流决策由所述分流决策服务器依据所述主终端的上下文信息以及与所述主终端处于同一个域网内的从终端的上下文信息确定;

媒体服务器按照所述分流决策的结果将所述原始数据拆分为第一数据和第二数据;

媒体服务器将所述第一数据发送给所述主终端,将所述第二数据发送给从终端。

结合二方面的实现方式,在第一种可选的实现方式中,将所述原始数据拆分为第一数据和第二数据之后还包括:

媒体服务器在所述第一数据和第二数据中分别添加用于表示所述第一数据或第二数据在原始数据中的数据段的标号。

结合二方面的实现方式或二方面的第一种可选的实现方式,在第二种可选的实现方式中,所述分流决策的结果为第一比例,所述第一比例为将主终端和从终端各自所在网络的传输带宽占总带宽的比例;

媒体服务器按照所述第一比例将所述原始数据拆分为第一数据和第二数据,所述第一数据的数据量与所述原始数据的数据量的比例等于所述第一比例。

本发明实施例三方面提供了一种多流并发传输方法,包括:

分流决策服务器接收主终端的上下文信息以及与所述主终端处于同一个域网内的从终端的上下文信息;

分流决策服务器依据所述主终端的上下文信息以及与所述主终端处于同一个域网内的从终端的上下文信息确定主终端的业务请求对应的原始数据的分流决策;

分流决策服务器将所述分流决策的结果发送给所述媒体服务器,指示所述媒体服务器按照所述分流决策的结果对所述主终端的业务请求对应的原始数据进行拆分。

结合三方面的实现方式,在第一种可选的实现方式中,上下文信息包括:表示上下文对应终端所在网络的传输带宽;

所述依据所述主终端的上下文信息以及与所述主终端处于同一个域网内的从终端的上下文信息确定主终端的业务请求对应的原始数据的分流决策包括:

分流决策服务器将第一比例作为分流决策的结果;所述第一比例为主终端和从终端各自所在网络的传输带宽占总带宽的比例,所述总带宽为主终端和从终端所在网络的传输带宽的总和。

本发明实施例四方面提供了一种终端,包括:

连接建立单元,用于通过第一网络使主终端与媒体服务器建立连接;所述第一网络为所述主终端连接到所述媒体服务器使用的网络;

业务请求发送单元,用于在连接建立单元与媒体服务器建立连接后,向媒体服务器发送业务请求;

检测单元,用于检测是否有通过第二网络与媒体服务器建立连接的从终端;所述第二网络为所述从终端连接到所述媒体服务器的网络;

协作请求发送单元,用于在所述检测单元检测到通过第二网络与媒体服务器建立连接的从终端后,向分流决策服务器发送协作传输请求;

信息获取单元,用于与从终端建立个域网获取从终端的上下文信息;

信息发送单元,用于将所述个域网内的主终端和从终端的上下文信息发送给分流决策服务器;所述主终端和从终端的上下文信息用于执行分流决策;所述分流决策的结果用于将所述业务请求对应的原始数据拆分为第一数据和第二数据;

数据接收单元,用于接收媒体服务器发送给所述主终端的第一数据,接收所述从终端转发的来自所述媒体服务器的第二数据;

数据重组单元,用于将所述第一数据和第二数据进行重组,得到原始数据。

结合四方面的实现方式,在第一种可选的实现方式中,所述第一数据和第二数据包含有:用于表示所述第一数据或第二数据在原始数据中的数据段的标号;

所述数据重组单元,用于按照所述标号对第一数据和第二数据进行排序,得到原始数据。

结合四方面的第一种可选的实现,在第二种可选的实现方式中,所述数据接收单元接收的所述第二数据包还包含有:用于表示第二数据包所经过路径的套接字描述符、从终端的地址以及主终端的地址。

结合四方面或四方面的第一种或四方面的第二种可选的实现,在第三种可选的实现方式中,所述信息获取单元,还用于若所述检测单元检测到新的从终端,待所述从终端被加入所述个域网后获取所述新的从终端的上下文信息;

所述信息发送单元,还用于将所述新的从终端的上下文信息发送给所述分流决策服务器。

本发明实施例五方面提供了一种媒体服务器,包括:

业务请求接收单元,用于接收主终端的业务请求;

数据确定单元,用于确定所述业务请求接收单元接收的业务请求对应的原始数据;

决策接收单元,用于接收分流决策服务器下发的分流决策的结果,所述分流决策由所述分流决策服务器依据所述主终端的上下文信息以及与所述主终端处于同一个域网内的从终端的上下文信息确定;

拆分单元,用于按照所述决策接收单元接收的分流决策的结果将所述数据确定单元确定的原始数据拆分为第一数据和第二数据;

数据发送单元,用于将所述第一数据发送给所述主终端,将所述第二数据发送给从终端。

结合五方面的实现方式,在第一种可选的实现方式中,所述媒体服务器,还包括:

标号单元,用于将所述拆分单元将原始数据拆分为第一数据和第二数据之后,在所述第一数据和第二数据中分别添加用于表示所述第一数据或第二数据在原始数据中的数据段的标号。

结合五方面的实现方式或五方面的第一种可选的实现方式,在第二种可选的实现方式中,所述分流决策的结果为第一比例,所述第一比例为将主终端和从终端各自所在网络的传输带宽占总带宽的比例;

所述拆分单元,用于按照所述第一比例将所述原始数据拆分为第一数据和第二数据,所述第一数据的数据量与所述原始数据的数据量的比例等于所述第一比例。

本发明实施例六方面提供了一种分流决策服务器,包括:

信息接收单元,用于接收主终端的上下文信息以及与所述主终端处于同一个域网内的从终端的上下文信息;

决策确定单元,用于依据所述主终端的上下文信息以及与所述主终端处于同一个域网内的从终端的上下文信息确定主终端的业务请求对应的原始数据的分流决策;

决策发送单元,用于将所述分流决策的结果发送给所述媒体服务器,指示所述媒体服务器按照所述分流决策的结果对所述主终端的业务请求对应的原始数据进行拆分。

结合六方面的实现方式,在第一种可选的实现方式中,上下文信息包括:表示上下文对应终端所在网络的传输带宽;

所述决策确定单元,用于将第一比例作为分流决策的结果;所述第一比例为主终端和从终端各自所在网络的传输带宽占总带宽的比例,所述总带宽为主终端和从终端所在网络的传输带宽的总和。

本发明实施例七方面提供给了一种多流并发传输系统,包括:媒体服务器和分流决策服务器;

其中,所述媒体服务器为本发明实施例五方面提供的任意一项的媒体服务器,分流决策服务器为本发明实施例六方面提供的任意一项的分流决策服务器。

从以上技术方案可以看出,本发明实施例具有以下优点:主终端和从终端分别采用不同的网络接入,主终端与从终端建立个域网,主终端将个域网内终端的上下文信息发送到决策服务器,由决策服务器进行分流决策,由媒体服务器依据分流决策的结果对原始数据包进行拆分,然后通过不同链路发送到主终端,再由主终端恢复出原始数据。数据可以并发传输,充分利用了主终端周围可协助传输的从终端的网络资源,可以提高端到端的吞吐量和网络资源利用率。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例方法流程示意图;

图2为本发明实施例方法流程示意图;

图3为本发明实施例方法流程示意图;

图4为本发明实施例方法流程示意图;

图5为本发明实施例组网结构示意图;

图6为本发明并发服务器结构示意图;

图7为本发明实施例终端发起会话的信令流程示意图;

图8为本发明实施例恢复数据方法流程示意图;

图9为本发明实施例终端结构示意图;

图10为本发明实施例媒体服务器结构示意图;

图11为本发明实施例媒体服务器结构示意图;

图12为本发明实施例分流决策服务器结构示意图;

图13为本发明实施例系统结构示意图;

图14为本发明实施例终端结构示意图;

图15为本发明实施例媒体服务器结构示意图;

图16为本发明实施例分流决策服务器结构示意图。

具体实施方式

为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部份实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。

本发明实施例提供了一种多流并发传输方法,本实施例方案可以在主终端侧实现,请参阅图1所示,包括:

101:主终端通过第一网络与媒体服务器建立连接,并向媒体服务器发送业务请求;所述第一网络为所述主终端连接到所述媒体服务器使用的网络;

上述第一网络一般可以为WLAN(Wireless Local Area Network,无线局域网)也可以是其它网络,本发明实施例对此不予限定,后续提到的第二网络是与第一网络不完全相同的网络,为了区分主终端和从终端接入到媒体服务器使用的网络,使用第一网络和第二网络来区分。第二网络一般可以是3G(The third Generation Mobile Telecommunicatio,第三代移动通信网)、4G网络等,例如:CDMA(Code Division Multiple Access,码分多址接入)网络、WCDMA(Wideband Code Division Multiple Access,宽带码分多址接入)、LTE(Long Term Evolution,长期演进)、GSM(Global System for Mobile communications,全球移动通信系统),宽带网络等。第一网络和第二网络具体网络类型本发明实施例不予限定。

102:主终端在检测到通过第二网络与媒体服务器建立连接的从终端后,向分流决策服务器发送协作传输请求,并与从终端建立个域网获取从终端的上下文信息,将上述个域网内的主终端和从终端的上下文信息发送给分流决策服务器;上述主终端和从终端的上下文信息用于执行分流决策;上述分流决策的结果用于将上述业务请求对应的原始数据拆分为第一数据和第二数据;所述第二网络为所述从终端连接到所述媒体服务器的网络;

103:主终端接收媒体服务器发送给上述主终端的第一数据,接收上述从终端转发的来自上述媒体服务器的第二数据;

104:主终端将上述第一数据和第二数据进行重组,得到原始数据。

以上实施例,主终端和从终端分别采用不同的网络接入,主终端与从终端建立个域网,主终端将个域网内终端的上下文信息可以通过上下文服务器发送到决策服务器,由决策服务器进行分流决策,由媒体服务器依据分流决策的结果对原始数据包进行拆分,然后通过不同链路发送到主终端,再由主终端恢复出原始数据。数据可以并发传输,充分利用了主终端周围可协助传输的从终端的网络资源,可以提高端到端的吞吐量和网络资源利用率。

可选地,上述第一数据和第二数据包含有:用于表示上述第一数据或第二数据在原始数据中的数据段的标号;上述主终端将上述第一数据和第二数据进行重组,得到原始数据包括:上述主终端按照上述标号对第一数据和第二数据进行排序,得到原始数据。

进一步地,上述第二数据包还包含有:用于表示第二数据包所经过路径的套接字描述符、从终端的地址以及主终端的地址。

进一步地,上述方法还包括:若所述主终端检测到新的从终端,所述主终端将上述新的从终端加入上述个域网并获取上述新的从终端的上下文信息,并将上述新的从终端的上下文信息发送给上述分流决策服务器。

本发明实施例还提供了另一种多流并发传输方法,本实施例方法可以在媒体服务器侧实现,如图2所示,包括:

201:媒体服务器接收主终端的业务请求,确定上述业务请求对应的原始数据;

202:媒体服务器接收分流决策服务器下发的分流决策的结果,上述分流决策由上述分流决策服务器依据上述主终端的上下文信息以及与上述主终端处于同一个域网内的从终端的上下文信息确定;

203:媒体服务器按照上述分流决策的结果将上述原始数据拆分为第一数据和第二数据;

进一步地,将上述原始数据拆分为第一数据和第二数据之后还包括:媒体服务器在上述第一数据和第二数据中分别添加用于表示上述第一数据或第二数据在原始数据中的数据段的标号。

可选地,若上述分流决策的结果为第一比例,上述第一比例为将主终端和从终端各自所在网络的传输带宽占总带宽的比例;媒体服务器按照上述第一比例将上述原始数据拆分为第一数据和第二数据,上述第一数据的数据量与上述原始数据的数据量的比例等于上述第一比例。

204:媒体服务器将上述第一数据发送给上述主终端,将上述第二数据发送给从终端。

以上实施例,主终端和从终端分别采用不同的网络接入,主终端与从终端建立个域网,主终端将个域网内终端的上下文信息可以通过上下文服务器发送到决策服务器,由决策服务器进行分流决策,由媒体服务器依据分流决策的结果对原始数据包进行拆分,然后通过不同链路发送到主终端,再由主终端恢复出原始数据。数据可以并发传输,充分利用了主终端周围可协助传输的从终端的网络资源,可以提高端到端的吞吐量和网络资源利用率。

本发明实施例还提供了另一种多流并发传输方法,本实施例方法可以在分流决策服务器侧实现,如图3所示,包括:

301:分流决策服务器接收主终端的上下文信息以及与上述主终端处于同一个域网内的从终端的上下文信息;

302:分流决策服务器依据上述主终端的上下文信息以及与上述主终端处于同一个域网内的从终端的上下文信息确定主终端的业务请求对应的原始数据的分流决策;

上下文信息包括:表示上下文对应终端所在网络的传输带宽;上述依据上述主终端的上下文信息以及与上述主终端处于同一个域网内的从终端的上下文信息确定主终端的业务请求对应的原始数据的分流决策包括:分流决策服务器将第一比例作为分流决策的结果;上述第一比例为主终端和从终端各自所在网络的传输带宽占总带宽的比例,上述总带宽为主终端和从终端所在网络的传输带宽的总和。

303:将上述分流决策的结果发送给上述媒体服务器,指示上述媒体服务器按照上述分流决策的结果对上述主终端的业务请求对应的原始数据进行拆分。

以上实施例,主终端和从终端分别采用不同的网络接入,主终端与从终端建立个域网,主终端将个域网内终端的上下文信息可以通过上下文服务器发送到决策服务器,由决策服务器进行分流决策,由媒体服务器依据分流决策的结果对原始数据包进行拆分,然后通过不同链路发送到主终端,再由主终端恢复出原始数据。数据可以并发传输,充分利用了主终端周围可协助传输的从终端的网络资源,可以提高端到端的吞吐量和网络资源利用率。

以上实施例分别给出了在主终端、媒体服务器、决策服务器侧实现多流并发传输的方法,后续实施例将以系统集成的方式来对多流并发传输的方法进行更详细和系统的举例说明,在举例说明中还会涉及到前述实施例中提到的上下文服务器、从终端侧的具体执行步骤。请参阅图4、5所示。

在以下实施例的举例中业务以下载业务为例,那么业务请求相应可以是业务下载请求,需要说明的是需要进行数据传输的业务有很多,下载业务的举例不应理解为对本发明实施例的唯一限定。在以下实施例中,主终端采用WLAN接入媒体服务器,从终端采用3G网络接入媒体服务器。具体流程请参阅图4,组网结构请参阅图5。

图5所示为基于业务自适应的多流并发传输控制方法的网络结构示意图,主终端采用WLAN接入媒体服务器,从终端采用3G网络接入媒体服务器。从终端的个数大于等于1个,其数量上限本发明实施例不予限定。主终端和从终端融合为个域网,从终端将各自的上下文信息发送给主终端,主终端将个域网中的主终端和从终端的上下文信息发送给上下文服务器,上下文服务器再将收到的上下文信息转发给分流决策服务器,分流决策服务器依据上下文信息确定分流决策并发送给媒体服务器,媒体服务器对下载业务的原始数据进行拆分,拆分得到的数据一部分直接发送给主终端,一部分通过从终端发送给主终端。请参阅图4,并请一并参阅图5,具体的流程包括:

401:主终端通过WLAN接入网络与媒体服务器建立连接,主终端向媒体服务器发起业务请求。

402:由于业务类型不同,所需的传输带宽也不同,如果主终端发现单链路(媒体服务器与主终端之间的链路)的数据传输能力不能完全满足主终端的业务需求,那么主终端会希望通过其终端协同的方式进行协作传输以提高数据下载链路速率。主终端检测是否有可以协作传输的设备(从终端),如果发现有,则可以向分流决策服务器发送协作传输请求,并将上述从终端的信息发送给分流决策服务器。

403:分流决策服务器将从终端的信息通知给上下文服务器,上下文服务器则可以对从终端进行鉴权,确定从是否能够或被允许进行协作传输,如果鉴权通过,进入下一步,如果鉴权失败本流程结束。

404:从终端通过与主终端不同的接入网接入网络,例如GSM、WCDMA、CDMA,或者宽带接入网络等。在本步骤中从终端还与主终端建立个域网,并将各自的上下文信息发送给主终端。本步骤中上报上下文信息可以采用周期性(如3min/次)上报,也可以采用更新上报(即上下文信息发生更新才上报,不发生更新则不上报)的方式,具体上报上下文信息的方式本发明实施例不予限定。

上述上下文信息可以包括:网络状况、传输带宽、存储容量、终端位置等信息。具体的信息内容可以依据分流策略需要的依据来对应确定,上下文信息的可选信息项的组合非常多,本发明实施例无法穷举,以上举例也不应理解为对本发明实施例的限定。

本步骤,主要可以分为如下两个方面:

1)从终端在接入网络之前可以先通过Wifi(WirelessFidelity,无线保真)、Bluetooth(蓝牙)等方式与主终端建立连接,从而组成个域网,并向主终端传递上下文信息。从而使得主终端可以与上下文服务器交互个域网内各终端的上下文信息。

2)主终端和从终端与媒体服务器之间构成的可以是C/S(Client/Server,客户机/服务器二层结构技术)模式,使用TCP(Transmission Control Protocol,传输控制协议)进行通信。然后建立主终端和从终端的链路关联,使媒体服务器和终端之间构成并发传输系统,可以有如下处理方式:

例如:媒体服务器可以工作于被动打开模式,媒体服务器绑定一个端口用于监听客户端的连接请求,当收到主终端发来的连接请求后,为主终端发起的连接分配一个临时端口,使用于监听的端口将释放出来继续监听下一个连接请求。从终端分别通过(WCDMA、CDMA等)网络接入到媒体服务器。

如果在Linux(一种自由和开放源码的操作系统)下,则可以用父子进程实现。媒体服务器负责接收主终端和从终端的连接请求,并使主终端成为父进程,它工作于众所周知端口,子进程工作在临时端口。媒体服务器则可以成为并发式服务器,媒体服务器和终端之间构成了并发传输系统。

405:主终端将个域网内的终端的上下文信息发送给上下文服务器。可以理解的是上述个域网内的终端包含有主终端和从终端。从终端可以是1个也可以是1个以上的任意个数,本发明实施例对从终端的数量上限不予限定。

406:上下文服务器可以建立和管理数据库,在数据库中可以存储终端的上下文信息,上下文信息可以包括:网络状况、传输带宽、存储容量、终端位置等信息。上下文服务器可以周期性的从主终端获取上下文信息,也可以是被动接收上下文信息,在接收到上下文信息后更新数据库中的上下文信息,并将上下文信息发送给分流决策服务器。

发送给分流决策服务器的上下文信息可以是直接转发的,也可以是先判断上下文信息是否有更新,在有更新的情况下发送的出现了更新的上下文信息。前者上下文服务器数据处理量更小,后者则可以减少不需要的上下文信息传递,具体采用何种方式发送上下文信息本发明实施例不予限定。

407:分流决策服务器根据接收到的上下文信息通过综合计算决定分流决策并将分流决策发送给媒体服务器。

上述分流决策可以包含三个方面:从终端的个数、那些从终端、各从终端所在链路的数据量。具体地:

1、分流决策服务器根据接收到的上下文信息通过综合计算决定接收端与发送端连接的TCP的数量(即所需从终端的数量)。当业务对时延要求不高时,可以采用较少从终端,当业务对时延要求高时,可以适当增加从终端的数量,来提高下载链路速率。

2、分流决策服务器接收到上下文服务器发过来的数据之后,结合业务的类型,综合计算。若业务所需的传输带宽为B,数据库中显示当前网络状况适合传输的只有终端N个,其传输带宽为B1、B2...BN,则终端分得的业务量为Pi如下:

408:媒体服务器根据分流决策服务器提供的分流决策将数据分流,并对每个流添加传输序列号通过不同的链路传输到主终端或从终端。

可以理解的是,被分流的数据包含两类,一类是直接从媒体服务器发送至主终端,另一类是经从终端发送给主终端。从终端接收到的数据可以直接转发给主终端,从终端可以只负责数据的接收和转发并不需要存储数据。

由于使用并行TCP多条链路传输数据时,各链路使用不同的网络,网络信号、传输带宽、时延都可能不同,这将会导致数据不会顺序到达主终端,即:会出现乱序现象。这会给主终端重组数据带来困难。为了解决这个问题,本发明实施例提供了解决方案:将传输的数据添加了包头,参照图下表。

表1包头字段

上表1中各字段定义如下:

ID NUM表示传输的数据段的标号,在分割数据段的时候加上的,这个标识用于保证数据段不会被多条链路重复传输,也不会被丢失,也给接收端排序带来了方便。

STREAM NUM表示各链路连接套接字(socket)描述符,若传输无故障时设置为本链路的连接socket描述符的值。

IP OF RELAY CLIENT表示从终端的IP(Internet Protocol,互联网协议)地址,该IP地址可以让媒体服务器寻找链路的目的地址,也可以让主终端获悉数据转发的路径,以确保数据的正确传输。

IP OF MASTE表示数据传输的最终目的地址即主终端的地址。

DATA表示要传输的数据。

409:主终端接收到的数据先放入缓存中,然后对缓存中的数据进行排序,通过恢复出原始数据。排序的方式可以是按照上述ID NUM顺序排序,在后续实施例会给出一个更为详细的恢复数据的方案举例。

可以理解的是,在数据传输过程中,若主终端发现新的可以协作传输的从终端,可以随时通知分流决策服务器,分流决策服务器则指示媒体服务器增加新的传输链路,并重新进行分流;增加新的传输链路可以参阅本实施例中从终端分流方案。数据传输过程中,从终端检测下行传输链路,主终端检测上行链路,当不满足数据传输条件时,可以通知分流决策服务器,停止或者释放该链路,并重新进行分流。

以下实施例,将就前述图4所示流程中的几个步骤所涉及的技术内容进行更详细的说明。

一、关于404中个域网中主终端和从终端与媒体服务器之间构成的并发系统的过程,请参阅图6所示为并发服务器结构示意图:媒体服务器在众所周知的端口上工作于被动打开模式,当收到客户端发来的连接请求后,服务器为此连接分配一个临时端口,于是用于监听的端口将被释放出来继续监听下一个请求。Linux下用父子进程实现此工作方式,其中上述众所周知的端口工作于父进程,其他终端(主终端和从终端)工作于子进程。

终端发起会话的信令流程,请参见图7,包括如下步骤:

701:个域网初始化。

个域网初始化包括:个域网内的主终端和从终端向媒体服务器注册,从终端与个域网的主终端建立连接并向其传递各自的上下文信息等。

702:个域网内的主终端发起会话请求。该会话请求发往为主终端服务的分流决策服务器,触发异构网络融合决策。异构网络融合决策结果会在后续的分流决策以及数据发送阶段有具体体现。

703:分流决策服务器从上下文服务器获取上下文信息,并根据会话请求的业务特征、终端设备信息、网络信息等做出分流决策结果。

二、关于主终端恢复原始数据,本发明实施例还给出了一个实现举例:

分流决策结果由媒体服务器负责实施。媒体服务器根据分流决策对数据进行处理并将其分发到不同的网络,最终由主终端在个域网内部对数据排序重组。在主设备侧接收到数据之后,需要对接收到的数据进行排序,排序的流程可以如下:主终端接收到的数据先放入程序设定的缓存中,若缓存区已满则溢出,暂停接收数据;若缓存区未满,将接收到的数据存放于缓存中。最后根据排序算法恢复出原始数据。主终端恢复数据的具体流程,请参阅图8,可以包括如下步骤:

801:主终端接收数据。可以理解的是,这里接收的数据可以是从媒体服务器直接发送的,也可以经从终端转发的。

802:检查程序设定的缓存是否已满,如果为是,即:缓存已满,则阻塞链路,停止数据接收,再进入801;否则进入803。

803:将接收的数据放入缓存。

804:对接收的数据进行拆包,得到数据段标号ID NUM,依据ID NUM确定是否需要写入磁盘,具体确定是否写入磁盘的方式如下:若磁盘内数据的ID NUM与当前接收到的NUM ID连续,则将接收到的数据拆包后存入磁盘中;若当前接收到的数据不可写入磁盘,将数据继续保留在缓存中,等待可以写入时再写入磁盘中,再则进入801。

可以理解的是,在全部数据写入磁盘以后,原始数据就已经在磁盘内得到了恢复。

805:在数据写入磁盘后,判断该写入的数据是否为结束的数据包,若是,则关闭该数据包对应链路,进入806;若否,则删除缓存内上述写入磁盘中的数据包,然后进入801。

806:确定链路是否全部关闭,如果是,则确定数据传输结束,本流程结束。如果否,则进入801。

本发明实施例提供了一种终端,如图9所示,包括:

连接建立单元901,用于通过第一网络使主终端与媒体服务器建立连接;所述第一网络为所述主终端连接到所述媒体服务器使用的网络;

业务请求发送单元902,用于在连接建立单元901与媒体服务器建立连接后,向媒体服务器发送业务请求;

检测单元903,用于检测是否有通过第二网络与媒体服务器建立连接的从终端;

协作请求发送单元904,用于在上述检测单元903检测到通过第二网络与媒体服务器建立连接的从终端后,向分流决策服务器发送协作传输请求;所述第二网络为所述从终端连接到所述媒体服务器的网络;

信息获取单元905,用于与从终端建立个域网获取从终端的上下文信息;

信息发送单元906,用于将上述个域网内的主终端和从终端的上下文信息发送给分流决策服务器;上述主终端和从终端的上下文信息用于执行分流决策;上述分流决策的结果用于将上述业务请求对应的原始数据拆分为第一数据和第二数据;

数据接收单元907,用于接收媒体服务器发送给上述主终端的第一数据,接收上述从终端转发的来自上述媒体服务器的第二数据;

数据重组单元908,用于将上述第一数据和第二数据进行重组,得到原始数据。

以上实施例,主终端和从终端分别采用不同的网络接入,主终端与从终端建立个域网,主终端将个域网内终端的上下文信息可以通过上下文服务器发送到决策服务器,由决策服务器进行分流决策,由媒体服务器依据分流决策的结果对原始数据包进行拆分,然后通过不同链路发送到主终端,再由主终端恢复出原始数据。数据可以并发传输,充分利用了主终端周围可协助传输的从终端的网络资源,可以提高端到端的吞吐量和网络资源利用率。

可选地,上述第一数据和第二数据包含有:用于表示上述第一数据或第二数据在原始数据中的数据段的标号;

上述数据重组单元908,用于按照上述标号对第一数据和第二数据进行排序,得到原始数据。

可选地,上述数据接收单元907接收的上述第二数据包还包含有:用于表示第二数据包所经过路径的套接字描述符、从终端的地址以及主终端的地址。

可选地,上述信息获取单元905,还用于若上述检测单元903检测到新的从终端,待上述从终端被加入上述个域网后获取上述新的从终端的上下文信息;

上述信息发送单元906,还用于将上述新的从终端的上下文信息发送给上述分流决策服务器。

本发明实施例还提供了一种媒体服务器,如图10所示,包括:

业务请求接收单元1001,用于接收主终端的业务请求;

数据确定单元1002,用于确定上述业务请求接收单元1001接收的业务请求对应的原始数据;

决策接收单元1003,用于接收分流决策服务器下发的分流决策的结果,上述分流决策由上述分流决策服务器依据上述主终端的上下文信息以及与上述主终端处于同一个域网内的从终端的上下文信息确定;

拆分单元1004,用于按照上述决策接收单元1003接收的分流决策的结果将上述数据确定单元1002确定的原始数据拆分为第一数据和第二数据;

数据发送单元1005,用于将上述第一数据发送给上述主终端,将上述第二数据发送给从终端。

以上实施例,主终端和从终端分别采用不同的网络接入,主终端与从终端建立个域网,主终端将个域网内终端的上下文信息可以通过上下文服务器发送到决策服务器,由决策服务器进行分流决策,由媒体服务器依据分流决策的结果对原始数据包进行拆分,然后通过不同链路发送到主终端,再由主终端恢复出原始数据。数据可以并发传输,充分利用了主终端周围可协助传输的从终端的网络资源,可以提高端到端的吞吐量和网络资源利用率。

进一步地,如图11所示,上述媒体服务器还包括:

标号单元1101,用于将上述拆分单元1004将原始数据拆分为第一数据和第二数据之后。在上述第一数据和第二数据中分别添加用于表示上述第一数据或第二数据在原始数据中的数据段的标号。

可选地,上述分流决策的结果为第一比例,上述第一比例为将主终端和从终端各自所在网络的传输带宽占总带宽的比例;

上述拆分单元1004,用于按照上述第一比例将上述原始数据拆分为第一数据和第二数据,上述第一数据的数据量与上述原始数据的数据量的比例等于上述第一比例。

本发明实施例还提供了一种分流决策服务器,如图12所示,包括:

信息接收单元1201,用于接收主终端的上下文信息以及与上述主终端处于同一个域网内的从终端的上下文信息;

决策确定单元1202,用于依据上述主终端的上下文信息以及与上述主终端处于同一个域网内的从终端的上下文信息确定主终端的业务请求对应的原始数据的分流决策;

决策发送单元1203,用于将上述分流决策的结果发送给上述媒体服务器,指示上述媒体服务器按照上述分流决策的结果对上述主终端的业务请求对应的原始数据进行拆分。

以上实施例,主终端和从终端分别采用不同的网络接入,主终端与从终端建立个域网,主终端将个域网内终端的上下文信息可以通过上下文服务器发送到决策服务器,由决策服务器进行分流决策,由媒体服务器依据分流决策的结果对原始数据包进行拆分,然后通过不同链路发送到主终端,再由主终端恢复出原始数据。数据可以并发传输,充分利用了主终端周围可协助传输的从终端的网络资源,可以提高端到端的吞吐量和网络资源利用率。

可选地,上下文信息包括:表示上下文对应终端所在网络的传输带宽;

上述决策确定单元1202,用于将第一比例作为分流决策的结果;上述第一比例为主终端和从终端各自所在网络的传输带宽占总带宽的比例,上述总带宽为主终端和从终端所在网络的传输带宽的总和。

本发明实施例还提供了一种多流并发传输系统,如图13所示,包括:媒体服务器1301和分流决策服务器1302;

其中,上述媒体服务器为本发明实施例提供的任意一项的媒体服务器,分流决策服务器为本发明实施例提供的任意一项的分流决策服务器。

以上实施例,主终端和从终端分别采用不同的网络接入,主终端与从终端建立个域网,主终端将个域网内终端的上下文信息可以通过上下文服务器发送到决策服务器,由决策服务器进行分流决策,由媒体服务器依据分流决策的结果对原始数据包进行拆分,然后通过不同链路发送到主终端,再由主终端恢复出原始数据。数据可以并发传输,充分利用了主终端周围可协助传输的从终端的网络资源,可以提高端到端的吞吐量和网络资源利用率。

本发明实施例还提供了一种终端,该终端作为主终端使用,如图14所示,包括:接收器1401、发射器1402以及处理器1403;

其中,处理器1403,用于在主终端通过第一网络与媒体服务器建立连接后,指示发射器1402并向媒体服务器发送业务请求;所述第一网络为所述主终端连接到所述媒体服务器使用的网络;在主终端检测到通过第二网络与媒体服务器建立连接的从终端后,指示发射器1402向分流决策服务器发送协作传输请求,并与从终端建立个域网获取从终端的上下文信息,将所述个域网内的主终端和从终端的上下文信息发送给分流决策服务器;所述主终端和从终端的上下文信息用于执行分流决策;所述分流决策的结果用于将所述业务请求对应的原始数据拆分为第一数据和第二数据;所述第二网络为所述从终端连接到所述媒体服务器的网络;通过接收器1401接收媒体服务器发送给所述主终端的第一数据,接收所述从终端转发的来自所述媒体服务器的第二数据;所述处理器1403将所述第一数据和第二数据进行重组,得到原始数据。

以上实施例,主终端和从终端分别采用不同的网络接入,主终端与从终端建立个域网,主终端将个域网内终端的上下文信息可以通过上下文服务器发送到决策服务器,由决策服务器进行分流决策,由媒体服务器依据分流决策的结果对原始数据包进行拆分,然后通过不同链路发送到主终端,再由主终端恢复出原始数据。数据可以并发传输,充分利用了主终端周围可协助传输的从终端的网络资源,可以提高端到端的吞吐量和网络资源利用率。

可选地,所述第一数据和第二数据包含有:用于表示所述第一数据或第二数据在原始数据中的数据段的标号;

所述处理器1403将所述第一数据和第二数据进行重组,得到原始数据包括:所述处理器1403按照所述标号对第一数据和第二数据进行排序,得到原始数据。

可选地,所述第二数据包还包含有:用于表示第二数据包所经过路径的套接字描述符、从终端的地址以及主终端的地址。

可选地,所述处理器1403,还用于若所述主终端检测到新的从终端,将所述新的从终端加入所述个域网并获取所述新的从终端的上下文信息,并指示所述发射器1402将所述新的从终端的上下文信息发送给所述分流决策服务器。

本发明实施例还提供了一种媒体服务器,如图15所示,包括:接收器1501、发射器1502以及处理器1503;

其中,处理器1503,用于通过接收器1501接收主终端的业务请求,并确定所述业务请求对应的原始数据;通过接收器1501接收分流决策服务器下发的分流决策的结果,所述分流决策由所述分流决策服务器依据所述主终端的上下文信息以及与所述主终端处于同一个域网内的从终端的上下文信息确定;

所述处理器1503按照所述分流决策的结果将所述原始数据拆分为第一数据和第二数据;指示发射器1502将所述第一数据发送给所述主终端,将所述第二数据发送给从终端。

以上实施例,主终端和从终端分别采用不同的网络接入,主终端与从终端建立个域网,主终端将个域网内终端的上下文信息可以通过上下文服务器发送到决策服务器,由决策服务器进行分流决策,由媒体服务器依据分流决策的结果对原始数据包进行拆分,然后通过不同链路发送到主终端,再由主终端恢复出原始数据。数据可以并发传输,充分利用了主终端周围可协助传输的从终端的网络资源,可以提高端到端的吞吐量和网络资源利用率。

进一步地,所述处理器1503,还用于将所述原始数据拆分为第一数据和第二数据之后,在所述第一数据和第二数据中分别添加用于表示所述第一数据或第二数据在原始数据中的数据段的标号。

可选地,所述分流决策的结果为第一比例,所述第一比例为将主终端和从终端各自所在网络的传输带宽占总带宽的比例;

所述处理器1503,具体用于按照所述第一比例将所述原始数据拆分为第一数据和第二数据,所述第一数据的数据量与所述原始数据的数据量的比例等于所述第一比例。

本发明实施例还提供了一种分流决策服务器,如图16所示,包括:接收器1601、发射器1602以及处理器1603;

其中,所述处理器1603,用于通过接收器1601接收主终端的上下文信息以及与所述主终端处于同一个域网内的从终端的上下文信息;所述处理器1603依据所述主终端的上下文信息以及与所述主终端处于同一个域网内的从终端的上下文信息确定主终端的业务请求对应的原始数据的分流决策;指示所述发射器1602将所述分流决策的结果发送给所述媒体服务器,指示所述媒体服务器按照所述分流决策的结果对所述主终端的业务请求对应的原始数据进行拆分。

以上实施例,主终端和从终端分别采用不同的网络接入,主终端与从终端建立个域网,主终端将个域网内终端的上下文信息可以通过上下文服务器发送到决策服务器,由决策服务器进行分流决策,由媒体服务器依据分流决策的结果对原始数据包进行拆分,然后通过不同链路发送到主终端,再由主终端恢复出原始数据。数据可以并发传输,充分利用了主终端周围可协助传输的从终端的网络资源,可以提高端到端的吞吐量和网络资源利用率。

可选地,上下文信息包括:表示上下文对应终端所在网络的传输带宽;

所述处理器1603依据所述主终端的上下文信息以及与所述主终端处于同一个域网内的从终端的上下文信息确定主终端的业务请求对应的原始数据的分流决策包括:所述处理器1603将第一比例作为分流决策的结果;所述第一比例为主终端和从终端各自所在网络的传输带宽占总带宽的比例,所述总带宽为主终端和从终端所在网络的传输带宽的总和。

值得注意的是,上述装置只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。

另外,本领域普通技术人员可以理解实现上述各方法实施例中的全部或部分步骤是可以通过程序来指令相关的硬件完成,相应的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。

以上仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明实施例揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

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