一种基于边缘网络聚合的在线直播上传方法及系统与流程

文档序号:12494558阅读:481来源:国知局
一种基于边缘网络聚合的在线直播上传方法及系统与流程

本发明属于网络通讯领域,特别涉及一种基于边缘网络聚合的在线直播上传方法及系统。



背景技术:

在现有的在线直播平台、框架中,一方面优化主要是针对视频从服务器或者CDN分发到观众这一过程,没有针对视频上传到服务器这一过程进行优化,而由于高清视频上传所需的带宽巨大,使得绝大部分边缘网络无法满足。与通常高速的下行带宽相比,上行带宽往往是下行带宽的十分之一,这导致无法上传足够清晰的画面,极大的影响了用户体验。另一方面,现有的研究报告表明在中国Wi-Fi网络密集区域,有超过50%的情况下附近有10个以上的Wi-Fi热点可供连接,但是其中有60%左右的Wi-Fi网络带宽的传输速度小于1Mbit/s。

另一项研究表明在连接LTE网络的前提下,Wi-Fi热点的上传带宽受到接入点的地理位置因素影响。以一个100X100米的范围为例,不同位置的接入点传输速度从0.4Mbit/s变化到11Mbit/s。该研究显示在传输数据时根据不同Wi-Fi网络链路的状态进行调度是很有必要的。

综上,现有的边缘网络带宽都很小,如何利用现有的多个边缘网络传输大量数据,并如何根据不同的网络链路状态进行调度就是亟待解决的问题。



技术实现要素:

为解决上述技术问题,本发明提出了一种基于边缘网络聚合的在线直播上传方法及系统,旨在利用多个小带宽的边缘网络传输大量数据即边缘网络的带宽聚合,根据不同的网络链路状态进行调度,使上行带宽最大化。

一方面,本发明提供了一种基于边缘网络聚合的在线直播上传方法,所述方法包括下述步骤:

A1:数据源客户端将视频传输到网络聚合终端,所述网络聚合终端向调度服务器发出请求连接一个最优聚合服务器;

A2:计算每个聚合服务器到原始服务器的上行带宽,将距网络聚合终端附近或与其连接带宽超过一定阈值的多个聚合服务器确定为可用聚合服务器名单;

A3:所述调度服务器选择所述可用聚合服务器名单上的若干个聚合服务器组成候选服务器子集S0;调度服务器通过计算网络聚合终端与所述候选服务器子集中每个聚合服务器Sj(j∈{1,...,m})连接所获得的带宽增益,选择出使带宽增益最大化的聚合服务器作为最优聚合服务器,分配给网络聚合终端;将调度服务器为网络聚合终端分配最优服务器的过程称为第一调度;

A4:网络聚合终端通过至少一个Wi-Fi和/或至少一个LTE网络链路,将视频传输到最优聚合服务器;

A5:最优聚合服务器将视频传输到原始服务器,再由原始服务器分发到各个数据接收端。

另一方面,本发明提供了一种基于边缘网络聚合的在线直播上传系统,其中该系统包括:

数据源客户端,用于用户输入视频数据;

网络聚合终端,用于利用MPTCP协议将视频数据分发到至少一个Wi-Fi和/或至少一个LTE网络链路上同时传输到最优聚合服务器;

调度服务器,用于根据网络聚合终端和原始服务器的反馈信息、网络带宽测算等,为网络聚合终端分配一个最优聚合服务器;

聚合服务器,用于接收通过MPTCP协议从网络聚合终端上传的视频数据,并将视频数据传输到原始服务器;

原始服务器,用于对视频数据进行存储、计算、分发等管理操作;

数据接收端,用于接收视频数据。

本发明的有益效果是:提出了网络聚合终端、调度服务器和聚合服务器。能同时利用多个边缘网络,提高上行带宽,获取更高的视频上传码率。调度服务器根据网络聚合终端和原始服务器的反馈信息、网络带宽测算等,针对性的动态分配聚合服务器,在实现边缘网络的带宽聚合同时,最大化了上传带宽。并且,无需对现有的网络框架、服务器或者客户端进行改动,把数据源客户端的数据重定向到了网络聚合终端上,这样就可以对数据进行针对性处理且不用在数据源客户端上操作,方案实现简单、节省成本。

附图说明

图1是本发明实施例一提供的基于边缘网络聚合的在线直播上传方法的流程图;

图2是本发明实施例二提供的基于边缘网络聚合的在线直播上传系统的示意图;

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

以下结合具体实施例对本发明的具体实现进行详细描述:

实施例一

图1示出了本发明实施例一提供的基于边缘网络聚合的在线直播上传方法的流程图,为了便于说明,仅示出了与本发明实施例相关的部分,详述如下:

A1:数据源客户端将视频传输到网络聚合终端,所述网络聚合终端向调度服务器发出请求连接一个最优聚合服务器;

作为一种可选的实施方式,网络聚合终端可以是一个带有多种网络接口并内置轻量级linux操作系统如OpenWrt,能提供Wi-Fi热点的装置。具体实施时,网络聚合终端需要有多个网卡,包括LTE无线网卡和Wi-Fi接入无线网卡。所述Wi-Fi接入无线网卡可以为支持802.11n/b/ac等协议的无线网卡,具备连接大多数常见AP的能力,并且网卡会随AP的升级改变或新协议的推出而改变,即能包容、支持更多的Wi-Fi无线网络。所述LTE无线网卡指的是移动通信网卡,即4g等,所述LTE无线网卡也会随新技术、标准的推出而改变,如支持5g网络等。每个实体网卡在连接网络后,都会有一个独立的IP地址,可与聚合服务器通信,网络聚合终端可使用任意一个网卡连接互联网与聚合服务器进行交流。网络聚合终端与聚合服务器之间建立MPTCP连接,数据可通过多条链路同时传输。MPTCP的每一个subflow,即每条链路上的传输仍采用TCP连接。使用选择MPTCP的连接方式是因为此协议对底层做了包装,在使用时无需考虑多条链路,可当作普通TCP来使用。网络聚合终端通过Wi-Fi以单个TCP连接并接收从客户端发过来的数据。并且因为网络聚合终端设置成为用户随身携带,与客户端距离近,所以此处Wi-Fi为高速Wi-Fi,如基于802.11n的5ghz Wi-Fi,因此网络聚合终端和客户端之间具有高速且低延时的带宽。在数据源客户端,用户只需要使用原有的正常的直播软件,无需重新设计、制作新的客户端软件,客户端软件仍采用原来的方式和服务器通信。

聚合服务器是一组内置有MPTCP协议的,通常是以云端分布的虚拟计算机服务器如Amazon EC2。优选的,聚合服务器的设置也是为了实现延时相对最低。因此在布置聚合服务器时会选择与原始服务器相同的虚拟云服务器提供商,或者在地理位置上相近的,即比如在国内各大城市设有机群,以保证到原始服务器实体机群的距离近。

调度服务器是一个可以监控所述一组聚合服务器状态并分配其实施MPTCP协议的计算机服务器。数据源客户端通过网络聚合终端发出的Wi-Fi网络与其进行TCP连接,网络聚合终端通过TCP连接向调度服务器发出请求,网络聚合终端通过MPTCP连接与最优聚合服务器进行数据传输。

A2:计算每个聚合服务器到原始服务器的上行带宽,将距网络聚合终端附近或与其连接带宽超过一定阈值的多个聚合服务器确定为可用聚合服务器名单;

进一步可选的,可用聚合服务器名单上不含有负载率低于一定阈值的聚合服务器,所述阈值取决于流畅处理用户突发流量所需要的带宽。以4K直播为例,一个平均传输速度为15M/S且最大为50M/S的带宽才足以满足直播4K视频的要求。因此聚合服务器需要预留一些带宽以备带宽高峰时的需求。这个阈值可以根据聚合服务器Sj的总带宽容量调整,带宽负载率定义如下:

其中,r(Sj)为聚合服务器Sj的带宽负载率;R(Sj)为聚合服务器Sj的剩余带宽承载能力;j∈{1,...,m},m为聚合服务器的个数。T(Sj)为聚合服务器Sj的总带宽承载能力。

进一步可选的,由于聚合服务器的实时带宽负载率和聚合服务器到原始服务器的上行带宽在不断变化,因此每间隔一定时间,聚合服务器需要将自身状态反馈给调度服务器,调度服务器根据反馈结果重新确定可用聚合服务器名单。优选的,每隔30分钟或者当网络聚合终端的网络流通量非常低时进行更新。

A3:所述调度服务器选择所述可用聚合服务器名单上的若干个聚合服务器组成候选服务器子集S0;调度服务器通过计算网络聚合终端与所述候选服务器子集中每个聚合服务器Sjj∈{1,...,m}连接所获得的带宽增益,选择出使带宽增益最大化的聚合服务器作为最优聚合服务器,分配给网络聚合终端;将调度服务器为网络聚合终端分配最优服务器的过程称为第一调度;

进一步可选的,调度服务器通过计算网络聚合终端与所述候选服务器子集中每个聚合服务器Sj连接所获得的带宽增益,带宽增益定义如下:

G(Ci,Sj)=Bo(Ci,Sj)-Bo(Ci)

其中,G(Ci,Sj)为网络聚合终端Ci通过聚合服务器Sj获得的带宽增益;Bo(Ci,Sj)为经过聚合服务器Sj传输后,网络聚合终端Ci与原始服务器之间的带宽;Bo(Ci)为网络聚合终端Ci与原始服务器之间的带宽。

进一步可选的,Bo(Ci,Sj)的测量是由网络聚合终端自身完成的,再将测量结果上传到调度服务器,由调度服务器计算网络聚合终端与所述候选服务器子集中每个聚合服务器Sjj∈{1,...,m}连接所获得的带宽增益。

进一步可选的,S0的尺寸大小要使得测算带宽增益所需的时间最短。例如,一个网络聚合终端可以选取可用聚合服务器名单上的3个聚合服务器并花费5秒时间来测量到每个聚合服务器的带宽,以使总的启动时间相对最短。

进一步可选的,将网络聚合终端与不同聚合服务器之间的带宽测试结果储存在网络聚合终端,按一定频率更新并反馈给调度服务器,以避免重复测量带宽。

进一步可选的,在网络聚合终端得到了其与不同聚合服务器之间的带宽测试结果后,通过计算网络聚合终端Ci与聚合服务器Sj之间的带宽B(Ci,Sj)。在与Bo(Sj)比较后,两者中的较小值为Bo(Ci,Sj),即

Bo(Ci,Sj)=min{B(Ci,Sj),Bo(Sj)}

其中,Bo(Ci,Sj)为经过聚合服务器Sj传输后,网络聚合终端Ci与原始服务器之间的带宽;B(Ci,Sj)为网络聚合终端Ci与聚合服务器Sj之间的带宽;Bo(Sj)为聚合服务器Sj与原始服务器之间的带宽。

进一步可选的,当调度服务器在一定时间t内接收到来自n个网络聚合终端的n个请求时,将会通过计算找到网络聚合终端和聚合服务器之间的最优匹配,使在该时间t内总的带宽增益最大化,满足如下公式:

使满足于

其中,Гt为在时间t内总的带宽增益;n为请求聚合服务器的网络聚合终端的个数;m为聚合服务器的个数;如果聚合服务器Sj分配给网络聚合终端Ci,则A(Ci,Sj)为1,否则为0;G(Ci,Sj)为网络聚合终端Ci通过聚合服务器Sj获得的带宽增益;Bo(Ci,Sj)为经过聚合服务器Sj传输后,网络聚合终端Ci与原始服务器之间的带宽;R(Sj)为聚合服务器Sj的剩余带宽承载能力。

进一步可选的,网络聚合终端在获得连接到聚合服务器Sj的可用链路时,网络聚合终端可以对多个可用Wi-Fi的网络质量进行比较与评估,并选择满足最低传输带宽要求的至少一个Wi-Fi。具体实施时,当网络聚合终端上存储了大量的附近或本地Wi-Fi数据,包括其地理位置、SSID、BSSID、密码等。在连网的情况下,网络聚合终端也可以从全国可连接的Wi-Fi数据库获取、更新这些数据。网络聚合终端可以通过Wi-Fi网卡定期扫描周围存在的Wi-Fi网络,当扫描到可连接的Wi-Fi网络时,网络聚合终端会评估这些Wi-Fi的质量,在可行的情况下,自动连接上这些Wi-Fi。可连接的Wi-Fi网络是指,网络聚合终端本地的数据库或者在线的数据库中,包含了这些Wi-Fi的密码,或者对于有合作的商用Wi-Fi,使得网络聚合终端可以自动连接上。

进一步可选的,网络聚合终端在获得连接到聚合服务器Sj的可用链路时,网络聚合终端可以对已连接的Wi-Fi网络进行预判,根据预判结果选择断开或链接某个Wi-Fi。在网络聚合终端主动连接Wi-Fi网络前,会预判这个网络的质量,通常是针对已连接过的Wi-Fi。网络聚合终端在连接某个Wi-Fi的时候会记录这个Wi-Fi的质量(文中提到的质量就是网速、延时、丢包率这些指标)、同时在线用户人数等数据。收集到这些数据后,会将这些数据上传到服务器,以备下次预判时,对数据进行提取。并根据预判结果选择断开或链接此Wi-Fi。所述预判还包括对正在连接的Wi-Fi网络进行预判。对于Wi-Fi这种因为用户移动很可能导致失去连接的网络,网络聚合终端所装备的网络质量监测模块会实时监控Wi-Fi网络的信号强度、丢包率、延时等指标。所述网络质量监测模块可以是具有此功能的实体或者软件。当检测到网络质量下降时,网络聚合终端会减少在这条链路上传输数据;当网络质量低于某个阈值时,网络聚合终端会断开此Wi-Fi转而去连接其他Wi-Fi。

A4:网络聚合终端通过至少一个Wi-Fi和/或至少一个LTE网络链路,将视频传输到最优聚合服务器;

进一步可选的,网络聚合终端还会对视频数据进行第二次调度。第二次调度包括根据数据内容调度和/或根据各个链路质量进行调度。针对数据内容调度是指,如果存在数据中各部分优先级不一的情况,网络聚合终端会将最重要的数据传输到质量最高的链路上。以http数据为例,网络聚合终端会将从数据源客户端传输的数据包进行拆分,解析出其中的host、ip、address、端口等信息,网络聚合终端还可以判断数据包中是否包含视频数据,对包含视频数据的大数据包启用带宽聚合的方式传输,而对带宽和延迟要求低的非视频数据可采用传统单个TCP连接方式传输。针对各个链路质量调度是指,数据的分发根据各链路质量而定,在各链路质量相当的情况下,可以采用随机或轮流的分发策略。在链路质量不一,差别很大的情况下,可以采用优先向质量高的链路分发的策略,在质量最高的链路的容量已满后,将数据分发到次优的链路。在链路带宽、容量充足的情况下,也可能将数据传输到所有链路上,以保证聚合服务器可以最快的接收到数据。所述第二调度除了链路质量、数据内容影响外,还有链路费用的影响,用户可以设置不同链路上的资费。在传输时,网络聚合终端优先选择质量相对较好、费用较低的链路。网络聚合终端也可通过计算找出相对最优的既保证质量,又降低费用的传输方案。

A5:最优聚合服务器通过高速带宽将视频传输到原始服务器,再由原始服务器分发到各个数据接收端。

实施例二

图2示出了本发明实施例二提供的基于边缘网络聚合的在线直播上传系统的示意图,为了便于说明,仅示出了与本发明实施例相关的部分,详述如下:

本发明实施例的基于边缘网络聚合的在线直播上传系统包括数据源客户端、网络聚合终端、调度服务器、聚合服务器、原始服务器和数据接收端。数据源客户端可以是手机等具有视频录制和无线传输功能的智能终端。数据源客户端通过TCP连接,将数据有线,或无线如Wi-Fi传输到网络聚合终端。网络聚合终端通过TCP连接,与调度服务器之间通信如发出请求。调度服务器根据网络聚合终端和原始服务器的反馈信息、网络带宽测算等,为网络聚合终端分配一个最优聚合服务器。其中,调度服务器也是通过TCP连接与聚合服务器进行通信。网络聚合终端利用MPTCP协议将视频数据分发到至少一个Wi-Fi和/或至少一个LTE网络链路上同时传输到最优聚合服务器。内置MPTCP协议的最优聚合服务器通常是具有不会与原始服务器之间产生带宽瓶颈的云端计算机服务器,接收来自网络聚合终端上传的视频数据,并传输到原始服务器。可选的,由于公共Wi-Fi这种存在很大安全隐患的网络,如果用户需要加密,网络聚合终端接收并拆分用户传来的数据包后,会对其中的数据部分进行加密,加密的数据传输到聚合服务器会被解密,然后以正常数据的形式传输到原始服务器,以保证数据的安全性。最后,由原始服务器将数据分发到各个数据接收端。

以上内容是结合具体/优选的实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,其还可以对这些已描述的实施方式做出若干替代或变型,而这些替代或变型方式都应当视为属于本发明的保护范围。

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