一种混合网络架构下的设备连接动态调度方法及系统与流程

文档序号:18137126发布日期:2019-07-10 10:42阅读:160来源:国知局
一种混合网络架构下的设备连接动态调度方法及系统与流程

本发明属于网络通信技术领域,尤其涉及一种混合网络架构下的设备连接动态调度方法及系统。



背景技术:

随着物联网领域的飞速发展,在不同的地域部署物联网设备,实现跨地域、跨运营商网络的整体互联成为了大项目的趋势。更多的物联网设备(例如物联网监控设备)需要依赖互联网来承载网络通信服务、文件下载服务、流媒体服务等。现有的p2p网络或cdn网络单独构建来承载这些服务都存在一定的问题。cdn技术虽然可以保证视频的质量,且尽量消除资源热点,解决网络拥堵的问题;但是需要在网络边缘架设大量的服务器,成本很高,可扩展性不强。此外,cdn服务通常根据带宽和流量收费,整个系统中部署的cdn服务器越多,所需要的网络费用更高。p2p技术虽然比较廉价,但是在性能上无法保障,特别是在跨区域在不同网络运营商的系统中进行传输,可能会出现网络转换而丢包,影响实际效果。特别是对实时性要求较高的监控实况业务时,画面会出现卡顿、停滞甚至无法播放的情况。

近年来人们开始将cdn和p2p技术结合,利用两者自身的优势来形成一种较好的视频分发系统。

例如,p2p方首先根据缓存中各个视频数据块的播放时间划分为紧迫或者非紧迫的数据块,然后再基于数据块的属性确定向服务器还是其他对等方请求该数据块。或在调度系统中设定客户端数量的阈值,内容调度子系统根据当前区域客户端的数量是否达到一定阈值来选择采用cdn或者p2p的技术。

然而上述方法都存在各自的缺点,前者主要运用于直播或点播服务,先通过cdn服务器将数据缓存下来,对各个数据块进行分块后再进行调度处理。这种方法无法应用于对实时性要求较高的摄像头实况业务中,且该方法会增加cdn服务器的缓存压力。后者调度策略只是简单的考虑了客户端的数量作为固定阈值,该阈值是一个经验值,在整个系统部署后是固定的,无法根据网路带宽、设备数量等实际环境因素动态调整,可扩展性不强。



技术实现要素:

本发明的目的是提供一种混合网络架构下的设备连接动态调度方法及系统,基于cdn和p2p混合网络架构下,根据设备上行带宽、客户端网络连接情况动态调度,解决大规模的物联网项目中带宽消耗大、网络运营费用高、用户体验效果差的情况。

为了实现上述目的,本发明技术方案如下:

一种混合网络架构下的设备连接动态调度方法,用于客户端登录云平台,与接入到云平台的前端设备建立连接,所述云平台包括调度服务器、转发服务器,所述混合网络架构下的设备连接动态调度方法,包括:

调度服务器在接收到客户端建立连接请求后,发送网络类型探测消息探测客户端和前端设备的网络类型,网络类型探测消息携带转发服务器的地址信息;

客户端和前端设备分别向转发服务器探测延时数据;

客户端和前端设备分别响应调度服务器的网络类型探测消息,在响应消息中携带各自与转发服务器的延时数据;

调度服务器根据延时数据和转发服务器的上行带宽,计算延时因子;

调度服务器根据客户端和前端设备的网络类型,向客户端、前端设备发送建立连接的消息;

客户端、前端设备根据接收的建立连接的信息,按照预设的策略,建立连接。

进一步地,所述调度服务器根据客户端和前端设备的网络类型,向客户端、前端设备发送建立连接的消息,包括:

调度服务器根据客户端和前端设备的网络类型,发现客户端和前端设备在同一局域网时,调度服务器将前端设备的本地网络地址及端口信息发送给客户端;

所述客户端、前端设备根据接收的建立连接的信息,按照预设的策略,建立连接,包括:

客户端根据前端设备的本地网络地址及端口信息,直接与前端设备建立连接。

进一步地,所述调度服务器根据客户端和前端设备的网络类型,向客户端、前端设备发送建立连接的消息,包括:

调度服务器根据客户端和前端设备的网络类型,发现客户端和前端设备不在同一局域网时,调度服务器向转发服务器请求建立连接信息,将连接前端设备的路由器地址及端口信息、以及转发服务器返回的建立连接信息发送给客户端和前端设备;

调度服务器将延时因子对应的并行请求延时数据发送给客户端;

所述客户端、前端设备根据接收的建立连接的信息,按照预设的策略,建立连接,包括:

客户端并发执行建立中继转发连接和建立隧道连接,其中,根据连接前端设备的路由器地址及端口信息,发起隧道连接;在延时所述并行请求延时数据后根据转发服务器对应的建立连接信息,发起与转发服务器建立中继转发连接;

选择先建立成功连接与前端设备建立连接,释放后建立成功的连接。

进一步地,所述云平台还包括cdn服务器,所述调度服务器根据客户端和前端设备的网络类型,向客户端、前端设备发送建立连接的消息,还包括:

调度服务器向cdn服务器请求建立连接信息,将cdn服务器返回的建立连接信息告知客户端和前端设备;

所述客户端、前端设备根据接收的建立连接的信息,按照预设的策略,建立连接,还包括:

在无法通过直接连接、隧道连接或中继转发连接等方式进行连接时,或者当客户端选择进行分发时,前端设备和客户端根据cdn服务器对应的建立连接信息,向cdn服务器发起建立连接。

进一步地,所述混合网络架构下的设备连接动态调度方法,还包括:

客户端定时向调度服务器发送保活消息,携带网络延时、丢包率;

前端设备定时向调度服务器发送保活消息,携带剩余上行带宽信息;

调度服务器根据所接收的保活消息、以及cdn服务器反馈的cdn负载、以及转发服务器负载,计算调度系数,按照计算出的调度系数,下发调度指令,切换连接的方式。

本发明还提出了一种混合网络架构下的设备连接动态调度系统,所述混合网络架构下的设备连接动态调度系统包括云平台、接入到云平台的前端设备和客户端,所述云平台包括调度服务器、转发服务器,其中:

所述客户端和前端设备,用于接收调度服务器发送的网络类型探测消息,分别向转发服务器探测延时数据,并在对网络类型探测消息进行响应时,携带各自与转发服务器的延时数据;

所述调度服务器,用于在接收到客户端建立连接请求后,发送网络类型探测消息探测客户端和前端设备的网络类型,网络类型探测消息携带转发服务器的地址信息,还根据客户端和前端设备发送的与转发服务器的延时数据和转发服务器的上行带宽,计算延时因子,并根据客户端和前端设备的网络类型,向客户端、前端设备发送建立连接的消息,以便客户端、前端设备根据接收的建立连接的信息,按照预设的策略,建立连接。

进一步地,所述云平台还包括cdn服务器,所述调度服务器根据客户端和前端设备的网络类型,向客户端、前端设备发送建立连接的消息,还执行如下操作:

调度服务器向cdn服务器请求建立连接信息,将cdn服务器返回的建立连接信息告知客户端和前端设备;

所述客户端、前端设备根据接收的建立连接的信息,按照预设的策略,建立连接,还包括:

在无法通过直接连接、隧道连接或中继转发连接等方式进行连接时,或者当客户端选择进行分发时,前端设备和客户端根据cdn服务器对应的建立连接信息,向cdn服务器发起建立连接。

进一步地,所述客户端还定时向调度服务器发送保活消息,携带网络延时、丢包率;所述前端设备还定时向调度服务器发送保活消息,携带剩余上行带宽信息;所述调度服务器根据所接收的保活消息、以及cdn服务器反馈的cdn负载、以及转发服务器负载,计算调度系数,按照计算出的调度系数,下发调度指令,切换连接的方式。

本发明提出的一种混合网络架构下的设备连接动态调度方法及系统,针对大规模跨区域级的项目提供一种基于cdn-p2p架构的系统和方法,根据网络类型,优先采用直连的连接方式。在客户端和前端设备不在同一局域网时,并发建立中继转发和隧道连接,选择先建立成功的连接方式。并根据网络延时、丢包率、前端设备的上行带宽和各服务器的负载,在各连接方式中进行切换,选择最优的连接方式进行连接。本发明高效、动态地调度资源,降低网络带宽消耗和运营成本,提高用户体验质量。

附图说明

图1为本发明实施例物联网组网结构示意图;

图2为本发明实施例一种混合网络架构下的设备连接动态调度方法流程图。

具体实施方式

下面结合附图和实施例对本发明技术方案做进一步详细说明,以下实施例不构成对本发明的限定。

针对跨区域级的物联网项目部署,因其组网的复杂性,通常依赖云平台进行部署。如图1所示,一种典型物联网组网结构,用户在物联网云平台上注册账户后,多个物联网监控设备在一个本地局域网中通过路由器接入到云平台,将物联网监控设备添加到账户下。通过客户端应用登录云平台账户后,可以查看到自己账户下的设备,并进行业务操作。

本实施例物联网云平台包括调度服务器、转发服务器、cdn服务器等多个功能组件。调度服务器除了对设备的注册、管理以及状态维护外,还负责对客户端与设备的信令交互进行处理,对交互连接方式的切换,起到整体协调和调度管理的中心作用。转发服务器主要提供中继转发功能,在客户端与设备在无法直连或需要中继转发时,分配链路资源提供给客户端和设备实现连接;设备将码流信令发送给转发服务器,再由转发服务器转发给客户端。设备与客户端通过转发服务器建立的链路是一对一的关系。cdn服务器主要是提供内容分发服务给客户端和设备,设备建立一路连接到cdn服务器后,cdn服务器可将该内容多路分发给不同的客户端,从而建立一对多的连接。

如图2所示,本技术方案的一种实施例,一种混合网络架构下的设备连接动态调度方法,包括:

调度服务器在接收到客户端建立连接请求后,发送网络类型探测消息探测客户端和前端设备的网络类型,网络类型探测消息携带转发服务器的地址信息;

客户端和前端设备分别向转发服务器探测延时数据;

客户端和前端设备分别响应调度服务器的网络类型探测消息,在响应消息中携带各自与转发服务器的延时数据;

调度服务器根据延时数据和转发服务器的上行带宽,计算延时因子;

调度服务器根据客户端和前端设备的网络类型,向客户端、前端设备发送建立连接的消息;

客户端、前端设备根据接收的建立连接的信息,按照预设的策略,建立连接。

以下以客户端建立前端设备的实况业务为例,详细描述本技术方案建立连接的过程。

客户端登录云端账户后,选择账户下的设备,请求实况连接。

调度服务器收到客户端的请求后,在此刻使用stun同时分别向客户端和客户端要连接的前端设备发送网络类型探测消息,探测nat网络类型。其中,stun:(simpletraversalofudpovernats,nat的udp简单穿越)是一种网络协议,它允许位于nat(或多重nat)后的客户端找出自己的公网地址,查出自己位于哪种类型的nat之后以及nat为某一个本地端口所绑定的internet端端口。这些信息被用来在两个同时处于nat路由器之后的主机之间建立udp通信。

在网络类型探测消息中,携带转发服务器的地址信息。另外,在向前端设备发送的网络类型探测消息中,还携带前端设备的上行带宽信息,并于前端设备计算剩余带宽。

客户端和前端设备分别向转发服务器探测延时数据,以获得各自与转发服务器的延时数据。

客户端和前端设备分别响应调度服务器的网络类型探测消息,在响应消息中携带各自与转发服务器的延时数据。此时调度服务器可以根据延时数据和转发服务器的上行带宽,计算延时因子。根据预设的延时因子与并行请求延时数据的映射关系表,可以得到延时因子对应的并行请求延时数据。本实施例计算出延时因子,是为了给后续并行执行建立中继转发、p2p隧道连接时提供一个并行请求延时数据。

其中,以前端设备到转发服务器延时数据d1、客户端到转发服务器延时数据d2、转发服务器的上行带宽w1为参考因素,延时因子=d1*α+d2*β+w1*γ,其中α、β、γ均为权重参数,且α+β+γ=1。容易理解的是,延时因子还可以考虑其他参考因素,例如前端设备的上行带宽等,这里不一一列举。能够根据当前的延时因子,得出并行请求延时数据d3。

例如,假定计算出的延时因子为1.5,通过事先建立的映射关系表,找到对应的并行请求延时数据d3为500ms。

调度服务器在收到客户端和前端设备的响应消息后,能够判断各自的网络类型,从而获知客户端与前端设备是否在同一个局域网内,如果不在同一个nat下,则不在同一个局域网内。

容易理解的是,客户端和前端设备在对调度服务器进行响应时,携带有各自的网络信息,当发现客户端和前端设备在同一局域网时,调度服务器将前端设备的本地网络地址及端口信息发送给客户端。

则客户端采用直连优先的方式,根据前端设备的本地网络地址及端口信息,直接与前端设备建立连接。

若客户端与前端设备不处于同一局域网时,调度服务器向转发服务器、cdn服务器请求建立连接信息,将连接前端设备的路由器地址及端口信息、以及转发服务器、cdn服务器返回的建立连接信息发送给客户端和前端设备。

例如,对于p2p隧道连接的建立连接信息,主要是让客户端知道前端设备所连接的路由器的地址及端口信息,调度服务器将连接前端设备的路由器地址及端口信息返回给客户端。客户端通过调度服务器返回的路由器网络信息,与前端设备所连接的路由器建立p2p隧道,通过该p2p隧道与前端设备连接。

对于中继转发连接的建立连接信息,是要让客户端和前端设备知道转发服务器的转发连接资源信息。调度服务器向转发服务器请求建立中继转发的连接资源,转发服务器向调度服务器返回中继转发连接资源信息。调度服务器在收到转发服务器的中继转发连接资源信息后,将中继转发连接资源信息告知客户端和前端设备。

对于cdn分发连接的建立连接信息,是要让客户端和前端设备知道cdn服务器的分发连接资源信息。调度服务器向cdn服务器请求连接资源,cdn服务器向调度服务器返回连接资源信息,调度服务器在收到cdn服务器的连接资源信息后,将连接资源信息告知客户端和前端设备。

由于客户端建立p2p隧道连接会消耗前端设备的剩余上行带宽,而建立中继转发连接会占用运营商网络带宽及转发服务器负载。本实施例对于采用p2p隧道连接,还是采用转发服务器的中继转发连接,还是采用cdn服务器分发连接,提出了一种优化的快速动态建立连接的实施方案。

本实施例,客户端并发执行建立中继转发连接和建立隧道连接,其中,根据连接前端设备的路由器地址及端口信息,发起隧道连接;在延时所述并行请求延时数据后根据转发服务器对应的建立连接信息,发起与转发服务器建立中继转发连接。

具体地,客户端并发执行中继转发和p2p隧道连接,但是在执行中继转发前先根据延时因子对应的并行请求延时数据(例如500ms)进行延时后发起。最后选择先建立成功连接与前端设备建立连接,释放后建立成功的连接,达到与前端设备快速建立连接的目的。

本实施例在当客户端与设备无法通过直接连接、p2p隧道连接或中继转发连接等方式进行连接,或者当客户端选择进行分发等情况需要进行分发时,还通过cdn服务器来建立连接。即调度服务器向cdn服务器请求建立连接信息,将cdn服务器返回的建立连接信息告知客户端和前端设备,前端设备和客户端根据cdn服务器对应的建立连接信息,向cdn服务器发起建立连接。

此外,本实施例混合网络架构下的设备连接动态调度方法,还包括:

客户端定时向调度服务器发送保活消息,携带网络延时、丢包率;

前端设备定时向调度服务器发送保活消息,携带剩余上行带宽信息;

调度服务器所接收的保活消息、以及cdn服务器反馈的cdn负载、以及转发服务器负载,计算调度系数,按照计算出的调度系数,下发调度指令,切换连接的方式。

具体地,客户端与前端设备连接成功后,客户端定时(例如30s)向调度服务器推送保活消息,消息中包含客户端的网络延时(反映网络连接情况)、丢包率(反映实况图像质量)等。前端设备定时(例如30s)向调度服务器推送保活消息,消息中包含前端设备的剩余上行带宽信息。调度服务器以前端设备的剩余上行带宽、客户端的网络延时、丢包率、cdn服务器连接数(或cdn服务器剩余上行带宽反映cdn负载)、转发服务器连接数(反映转发服务器负载)等作为参考因素,根据不同的等级划分对应阈值,进行权重运算得出调度系数。例如,前端设备的剩余上行带宽*a+客户端的网络延时*b+客户端丢包率*c+cdn服务器连接数*d+转发服务器连接数*e,其中a、b、c、d、e均为权重参数,且a+b+c+d+e=1。

若当前系统中采用cdn服务器连接的路数较多,cdn服务器负载压力过大,或前端设备剩余上行带宽充足等情况,调度服务器可动态将当前的cdn连接切换至p2p隧道连接或转发连接,节省网络带宽资源消耗。同样地,若当前客户端与前端设备建立的实况连接是通过转发的方式建立,若出现客户端实况画面卡顿、停滞等现象。或者前端设备当前的剩余上行带宽较低时,例如某全国连锁的便利店下行带宽为20m,上行带宽为其1/10,只有2m,当上级平台需要查看监控画面时,极易出现上行带宽不足的情况。此时,调度服务器将转发连接或p2p隧道连接切换成cdn服务连接,可节省设备上线带宽资源,提高画面质量。

下面将以调度服务器将已建立的转发连接切换成cdn连接为例进行说明。假定,调度服务器通过运算得出的调度系数超过了事先设置的某个范围的阈值,例如为调度系数为5,处于阈值2-8的范围,根据预先设定的调度映射表,在需要调整当前的连接方式,将连接模式切换为cdn的连接。

调度服务器下发指令给客户端,同时建立cdn连接。在建立新连接成功的同一时刻,整个系统需要中断之前的连接,如下所述:

客户端中断之前的转发连接,同时通知调度服务器。

调度服务器在收到客户端中断转发连接的通知时,发送中断指令给设备和转发服务器。

设备在收到调度服务器的中断指令后,终止对应的转发连接,并上报给调度服务器。

转发服务器在收到调度服务器的中断信令后,回收该连接资源,并上报给调度服务器。

至此,调度服务器完成了客户端与前端设备的连接从转发到cdn的调度切换。

本实施例的方法,在建立客户端与前端设备的连接过程中,根据网络情况快速动态地选择建立p2p隧道连接或转发的方式,提高了连接速度和用户体验。并结合cdn和p2p两种网络模式的特点,根据设备上行带宽、客户端网络情况、cdn服务器负载等因素,动态调度网络连接模式,降低了带宽资源消耗,均衡了整个系统的负载,提高用户体验。

本技术方案还给出了一种混合网络架构下的设备连接动态调度系统的实施例,该混合网络架构下的设备连接动态调度系统包括云平台、接入到云平台的前端设备和客户端,所述云平台包括调度服务器、转发服务器,其中:

所述客户端和前端设备,用于接收调度服务器发送的网络类型探测消息,分别向转发服务器探测延时数据,并在对网络类型探测消息进行响应时,携带各自与转发服务器的延时数据;

所述调度服务器,用于在接收到客户端建立连接请求后,发送网络类型探测消息探测客户端和前端设备的网络类型,网络类型探测消息携带转发服务器的地址信息,还根据客户端和前端设备发送的与转发服务器的延时数据和转发服务器的上行带宽,计算延时因子,并根据客户端和前端设备的网络类型,向客户端、前端设备发送建立连接的消息,以便客户端、前端设备根据接收的建立连接的信息,按照预设的策略,建立连接。

本实施例云平台还包括cdn服务器,所述调度服务器根据客户端和前端设备的网络类型,向客户端、前端设备发送建立连接的消息,还执行如下操作:

调度服务器向cdn服务器请求建立连接信息,将cdn服务器返回的建立连接信息告知客户端和前端设备;

所述客户端、前端设备根据接收的建立连接的信息,按照预设的策略,建立连接,还包括:

在无法通过直接连接、隧道连接或中继转发连接等方式进行连接时,或者当客户端选择进行分发时,前端设备和客户端根据cdn服务器对应的建立连接信息,向cdn服务器发起建立连接。

本实施例各设备的具体实施方式,在前述方法的描述中已经进行了详细的阐述,这里不再赘述。

以上实施例仅用以说明本发明的技术方案而非对其进行限制,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。

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