CN110830755B - 一种混合网络模式下码流调度方法及装置 - Google Patents
一种混合网络模式下码流调度方法及装置 Download PDFInfo
- Publication number
- CN110830755B CN110830755B CN201810889632.6A CN201810889632A CN110830755B CN 110830755 B CN110830755 B CN 110830755B CN 201810889632 A CN201810889632 A CN 201810889632A CN 110830755 B CN110830755 B CN 110830755B
- Authority
- CN
- China
- Prior art keywords
- client
- server
- scheduling
- code stream
- connection
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/18—Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1008—Server selection for load balancing based on parameters of servers, e.g. available memory or workload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1074—Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
- H04L67/1078—Resource delivery mechanisms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/141—Setup of application sessions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
- H04L67/63—Routing a service request depending on the request content or context
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/239—Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests
- H04N21/2393—Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests involving handling client requests
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/632—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing using a connection between clients on a wide area network, e.g. setting up a peer-to-peer communication via Internet for retrieving video segments from the hard-disk of other client devices
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Multimedia (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种混合网络模式下码流调度方法及装置,在第一客户端通过第二服务器与物联网设备建立连接情况下,如果中心服务器接收到第二客户端的请求,通过第一客户端保活消息携带的参数和第一服务器的负荷情况计算出第一调度因子,在第一调度因子小于预设的第一阈值时,将第一客户端作为第二服务器,通知第二客户端向第一客户端建立连接,以便第一客户端通过与第二客户端建立的连接,向第二客户端转发数据。并且在第一客户端或第二客户端的网络环境变化时,计算第二调度因子,切换第二客户端的连接。本发明能够兼容更多的网络模式,均衡了整个网络的负载,防止各个服务器因过度访问而负载过重,保证了网络业务的稳定性。
Description
技术领域
本发明属于网络分发技术领域,尤其涉及一种混合网络模式下码流调度方法及装置。
背景技术
在物联网领域中,越来越多的物联网设备需要依赖互联网来进行网络通信服务,实现随时随地对设备进行方便、快捷地访问和控制。为了满足不同层面的需求,往往需要结合多种组网技术来实现,越是大型的项目,所用到的组网越复杂。例如,在某幼儿园内部署监控设备,幼儿园物业管理可通过局域网即可实现对摄像机的控制,而为了让家长能够通过手机客户端随时随地查看幼儿园的摄像机实况画面,就可能会用到P2P技术、中继转发或CDN分发服务。
在这些网络技术中,P2P技术的实现相对廉价,但是性能无法保障,可能会出现因不同运营商网络之间的信令转换而丢包,造成实时监控业务容易出现卡顿、停止甚至无法播放等现象,影响实际效果。CDN服务是通过大量的网络节点服务器的部署来实现,由距离最近的边缘节点分发处理,可保障视频质量。设备发送一路视频流给CDN服务器,CDN服务器可以将同一路码流分发给不同的客户端,节省了设备的上行带宽。但是CDN整体部署的硬件成本和带宽费用较高,且多层CDN服务器之间的信令传输带来了较大的延时。转发是由单独的服务器分配连接资源,由客户端与设备建立一对一的连接,通过转发实现客户端与设备的连接,在保障业务的同时也会占用设备上线带宽和网络带宽。
上述技术方案虽然结合多种不同的组网技术,利用各自的优势形成一种较好的网络调度***,但是当面对大量用户群体集中访问时,依然没有很好地解决带宽资源消耗和服务器负载压力的问题。
发明内容
本发明的目的是提供一种混合网络模式下码流调度方法及装置,以解决现有技术中面对大量用户群体集中访问时,带宽资源消耗严重和服务器负载压力过大的问题。
为了实现上述目的,本发明技术方案如下:
一种混合网络模式下码流调度方法,应用于至少包括中心服务器、第一服务器和第二服务器的混合网络,第一客户端在第一服务器的负荷超过设定的标准负荷时通过第二服务器与物联网设备建立连接,所述混合网络模式下码流调度方法,应用于中心服务器,包括:
接收第一客户端在通过第二服务器与物联网设备建立连接后发送的保活消息,根据第一客户端保活消息中携带的参数和第一服务器的负荷,计算第一调度因子;
接收第二客户端的数据请求,在第一调度因子小于预设的第一阈值时,将第一客户端作为第二服务器,通知第二客户端向第一客户端建立连接,以便第一客户端通过与第二客户端建立的连接,向第二客户端转发数据。
进一步地,所述混合网络模式下码流调度方法,还包括:
按照预设的时间间隔计算第一调度因子,在第一调度因子大于等于预设的第一阈值时,将第二客户端切换为通过第二服务器或第一服务器与物联网设备建立连接。
进一步地,所述混合网络模式下码流调度方法,还包括:
接收第二客户端发送的保活消息,根据第二客户端保活消息携带的参数和第一服务器的负荷,计算第二调度因子,在第二调度因子大于等于预设的第二阈值时,将第二客户端切换为通过第二服务器或第一服务器与物联网设备建立连接。
进一步地,所述通知第二客户端向第一客户端建立连接,还包括:
通知第一客户端以第一客户端的码流参数向第二客户端发送码流。
进一步地,所述通知第二客户端向第一客户端建立连接,还包括:
通知第一客户端以第二客户端的码流参数进行编码后向第二客户端发送码流。
本发明还提出了一种混合网络模式下码流调度装置,应用于至少包括中心服务器、第一服务器和第二服务器的混合网络,第一客户端在第一服务器的负荷超过设定的标准负荷时通过第二服务器与物联网设备建立连接,所述混合网络模式下码流调度装置,应用于中心服务器,包括:
因子计算模块,用于接收第一客户端在通过第二服务器与物联网设备建立连接后发送的保活消息,根据第一客户端保活消息中携带的参数和第一服务器的负荷,计算第一调度因子;
调度模块,用于接收第二客户端的数据请求,在第一调度因子小于预设的第一阈值时,将第一客户端作为第二服务器,通知第二客户端向第一客户端建立连接,以便第一客户端通过与第二客户端建立的连接,向第二客户端转发数据。
进一步地,所述因子计算模块,还用于按照预设的时间间隔计算第一调度因子;所述调度模块在第一调度因子大于等于预设的第一阈值时,将第二客户端切换为通过第二服务器或第一服务器与物联网设备建立连接。
进一步地,所述因子计算模块,还用于接收第二客户端发送的保活消息,根据第二客户端保活消息携带的参数和第一服务器的负荷,计算第二调度因子;所述调度模块在第二调度因子大于等于预设的第二阈值时,将第二客户端切换为通过第二服务器或第一服务器与物联网设备建立连接。
进一步地,所述调度模块通知第二客户端向第一客户端建立连接,还执行如下操作:
通知第一客户端以第一客户端的码流参数向第二客户端发送码流。
进一步地,所述调度模块通知第二客户端向第一客户端建立连接,还执行如下操作:
通知第一客户端以第二客户端的码流参数进行编码后向第二客户端发送码流。
本申请提出一种混合网络模式下码流调度方法及装置,在第一客户端通过第二服务器与物联网设备建立连接情况下,如果中心服务器接收到第二客户端的请求,通过第一客户端保活消息携带的参数和第一服务器的负荷情况计算出第一调度因子,在第一调度因子小于预设的第一阈值时,将第一客户端作为第二服务器,通知第二客户端向第一客户端建立连接,以便第一客户端通过与第二客户端建立的连接,向第二客户端转发数据。并且在第一客户端或第二客户端的网络环境变化时,计算第二调度因子,切换第二客户端的连接。本发明能够兼容更多的网络模式,并优化了客户端共享连接时的延时问题。在大量用户集中访问时,有效降低了CDN的带宽资源和流量费用,并均衡了整个网络的负载,防止各个服务器因过度访问而负载过重。同时本发明的方法有效减少了整个网络中的单点故障,保证了网络业务的稳定性。
附图说明
图1为本发明实施例物联网组网示意图;
图2为本发明混合网络模式下码流调度方法流程图;
图3为本发明实施例混合组网连接示意图;
图4为本发明实施例建立客户端之间的连接时序图;
图5为本发明实施例连接切换示意图。
具体实施方式
下面结合附图和实施例对本发明技术方案做进一步详细说明,以下实施例不构成对本发明的限定。
为了满足不同用户随时随地通过客户端对设备访问的需求,通常依赖云平台进行部署。本发明以如图1所示的物联网为例,将多个物联网设备在局域网部署,通过路由器接入物联网云平台。所述物联网云平台包括中心服务器、CDN服务器等多个功能组件。客户端通过访问物联网云平台实现对物联网设备的访问。
其中,中心服务器除了对设备的注册、管理以及状态维护外,还负责对客户端与设备的信令交互进行处理、对交互连接方式的切换,起到整体协调和调度管理的作用。
CDN服务器是内容分发网络(Content Delivery Network)的核心设备,主要是提供内容分发服务给客户端和设备,设备建立一路连接到CDN服务器后,CDN服务器可将该内容多路分发给不同的客户端,从而建立一对多的连接。
STUN(Simple Traversal of UDP over NATs),NAT的UDP简单穿越,STUN服务器主要提供点对点的NAT穿越服务,可以建立公网下C/S模式的端到端网络连接。
需要说明的是,本技术方案不限于物联网云平台所包括的服务器,例如还可以包括中继服务器等,本技术方案的混合网络需要云平台至少包括两种服务器,能够建立两种不同模式的连接。
管理员在云平台上注册账户,将每个物联网设备出厂唯一的注册码添加到云平台账户下,完成设备添加。例如,在幼儿园各个班级教室或楼道部署监控摄像机后并完成云账户的添加后,管理员将某学生所在班级的摄像机共享给其家长注册的账号,该学生家长可通过客户端查看实况画面,观察到该学生在班级的日常活动。
在实际的运行环境中,以图1的幼儿园的场景为例,在学生进餐或放学的时间,学生家长很有可能集中访问,导致某些设备会出现热点聚焦访问的情况,进而引起服务器性能压力过大,过度消耗网络带宽。
如图2所示,一种混合网络模式下码流调度方法,应用于至少包括中心服务器、第一服务器和第二服务器的混合网络,第一客户端在第一服务器的负荷超过设定的标准负荷时通过第二服务器与物联网设备建立连接。本实施例混合网络模式下码流调度方法,应用于中心服务器,包括如下步骤:
步骤S1、接收第一客户端在通过第二服务器与物联网设备建立连接后发送的保活消息,根据保活消息中携带的参数和第一服务器的负荷,计算第一调度因子。
图1所示的物联网为例,用户在同一个云平台上注册自己的账户后,管理员将物联网设备的部分权限(如实况权限)共享给用户,可以控制不同的用户拥有不同权限。用户可通过客户端应用登录云平台账户后,访问管理员共享的物联网设备,然后在规定的权限内进行相关的业务。
本技术方案的目标是通过客户端来向其他客户端转发物联网设备的数据,因此需要为客户端建立通道权限,此处的通道权限可分为三种:不共享、简单共享和高级共享。其中,简单共享是指客户端直接进行码流转发;高级共享是指提供共享服务的客户端先进行解码,再根据请求业务的客户端的需求进行编码,会耗费提供共享服务的客户端的设备性能。在客户端之间转发码流时,需要客户端支持简单共享或高级共享,客户端通过不同的通道权限来进行不同的码流切换操作。
在实际的运行环境中,某些物联网设备会出现热点聚焦访问,引起服务器性能压力过大,过度消耗网络带宽的情况。以图1幼儿园的场景为例,在学生进餐或放学的时间,学生家长很有可能集中访问。在以往的网络部署中,通常需要CDN服务器建立多路分发业务。
本实施例采用如图3所示的混合网络模式,客户端1、客户端2和客户端3都拥有对物联网设备1的实况访问权限,在同一时刻访问该物联网设备1时,物联网设备1与CDN服务器之间建立连接L101,物联网设备1与STUN服务器之间建立连接L102,CDN服务器同时向两个客户端(客户端1、客户端2)建立两路CDN服务连接L103,STUN服务器与客户端3建立端到端连接L104。
在混合组网模式下,采用CDN内容分发服务能够实时地根据网络流量和各节点的连接、负载状况以及到用户的距离和响应时间等综合信息将用户的请求重新导向离用户最近的服务节点上。其目的是使用户可就近取得所需内容,解决Internet网络拥挤的状况,提高用户访问网站的响应速度。然而由于CDN服务器的费用比较高,本实施例在CDN服务器达到设定的标准负荷时,对新的客户端请求,采用STUN服务器来建立端到端隧道连接实现数据通信。设定的标准负荷可以是连接数,也可以是CDN服务器的CPU占用率,或流量占用率,这里不再赘述。
例如,客户端3在请求访问物联网设备1时,CDN服务器的负荷超出了设定的标准负荷,则客户端3通过STUN服务器与物联网设备1建立端到端连接实现通信。采用本实施例混合组网模式,能够均衡各个服务器的性能压力,特别是解决了大量用户集中访问时,带来的网络带宽资源峰值和服务器性能压力过大的问题,也提高了视频访问的安全性,降低了CDN服务的流量费用。
需要说明的是,本实施例采用CDN服务器和STUN服务器为例进行说明,由于物联网云平台还可以包括其他服务器如中继服务器等,建立客户端与物联网设备的连接不限于采用CDN服务器和STUN服务器,也可以采用中继服务器来建立连接,本发明不限于所采用的连接方式。以下以CDN服务器为第一服务器,STUN服务器为第二服务器为例进行说明。
本实施例以图3中的客户端3为第一客户端,客户端4为第二客户端为例进行说明。
当客户端4向中心服务器请求同一台物联网设备(物联网设备1)的实况业务时,中心服务器根据客户端3所登录账户下视频通道的权限情况分析是否可以从客户端3进行码流共享。若没有共享权限,则新建立一路业务,根据CDN服务器的负荷和STUN服务器的负荷,可以是通过STUN服务器建立端到端的隧道连接,也可以通过CDN服务器建立连接。本实施例假设CDN服务器的负荷已满,客户端4通过客户端3来建立数据通信。若有共享权限,则对数据进行分析进一步调度。在本实施例中引入的通道权限,使码流数据在共享时更加安全。
客户端3与设备通过STUN服务建立端到端隧道连接后,建立实况业务,客户端3定时(例如20秒)向中心服务器推送保活消息,消息中包含客户端3的网络延时、丢包率,CPU使用率和运行内存占用率,用于中心服务器感知网络连接情况和实况画面质量以及客户端运行环境参数。
中心服务器以客户端3网络延时、网络丢包率、CPU使用率、运行内存使用情况、CDN服务器连接数为参考因素,建立第一调度因子。其中,第一调度因子=客户端3网络延时*a(15%)+客户端3网络丢包率*b(15%)+客户端3的设备CPU使用率*c(25%)+剩余运行内存*d(25%)+CDN服务器连接数*e(20%),其中a、b、c、d、e均为权重参数,且a+b+c+d+e=1。
容易理解的是,上述实施例中第一调度因子根据保活消息携带的参数和CDN服务器的负荷(连接数)来计算,还可以进一步接收物联网设备向中心服务器周期性发送的保活消息,根据物联网设备的保活消息中携带的物联网设备的剩余上行带宽等信息来计算第一调度因子,本发明不限于第一调度因子计算的具体方法。例如物联网设备定时(例如20s)向中心服务器推送保活消息,消息中包含物联网设备的剩余上行带宽等信息。第一调度因子=客户端3网络延时*a+客户端3网络丢包率*b+客户端3的设备CPU使用率*c+剩余运行内存*d+CDN服务器连接数*e+物联网设备上行带宽*f,其中a、b、c、d、e、f均为权重参数,且a+b+c+d+e+f=1。
步骤S2、接收第二客户端的数据请求,在第一调度因子小于预设的第一阈值时,将第一客户端作为第二服务器,通知第二客户端向第一客户端建立连接,以便第一客户端通过与第二客户端建立的连接,向第二客户端转发数据。
本实施例中,新的客户端4向物联网设备1请求实况,则在第一调度因子小于预设的第一阈值时,将第一客户端作为STUN服务器,通知第二客户端向第一客户端建立端到端隧道连接,以便第一客户端通过与第二客户端建立的隧道连接,向第二客户端转发数据。
例如,中心服务器在接收到客户端4的请求时,计算出第一调度因子为1.5,小于预先预设的第一阈值2,说明客户端3的网络情况很好,将客户端3作为STUN服务器,并通知客户端4向客户端3通过NAT穿越技术建立端到端隧道连接。
图4提供了客户端4建立端到端建立隧道连接的时序关系图:
S1:客户端3向中心服务器请求某物联网设备的实况业务。
S2:中心服务器通过STUN服务探测客户端3的网络类型。
S3:中心服务器通过调度分析,CDN服务器资源负载已经较重,则向STUN服务器申请连接资源后下发给客户端3和物联网设备,建立客户端3与物联网设备之间的端到端连接,客户端3可查看物联网设备的实况画面。
S4:客户端4向中心服务器请求同一物联网设备的实况业务。
S5:中心服务器通过STUN服务探测客户端4的网络类型。
S6:中心服务器经过分析、调度(计算第一调度因子,并与预设的第一阈值比较),需要从客户端3进行码流转发,则通知客户端3开启STUN服务。
S7:客户端3开始STUN服务器后,将网络信息上报给中心服务器。
S8:中心服务器接收到将客户端3上报的网络信息后,将该信息下发给客户端4。在本例中,假定客户端3和客户端4所登录的账号互相具有对该设备的实况业务共享权限。若没有共享权限,则新建立一路业务。
S9:客户端4接收到中心服务器所发的客户端3的网络信息后,通过NAT穿越技术与客户端3建立端到端隧道连接。
S10:连接建立成功后,客户端3将码流直接转发或解码后重新编码发送给客户端4,建立实况业务。
通过图4所示的时序图,本实施例成功建立客户端3与客户端4的端到端隧道连接,客户端3将码流发送给客户端4,客户端4成功实现了实况的查看。
需要说明的是,本上述实施例中,步骤S2、S5还探测客户端的网络类型,目的是为了方便根据网络类型分析是否适合进行网络调度,例如在客户端的网络类型为WIFI、4G等宽带网络时,确定适合进行网络调度。本发明技术方案可默认发出请求的客户端都是满足网络调度的客户端,即可以省略步骤S2、S5,这里不再赘述。
本发明的又一实施例,所述一种混合网络模式下码流调度方法,还包括:
按照预设的时间间隔计算第一调度因子,在第一调度因子大于等于预设的第一阈值时,将第二客户端切换为通过第二服务器或第一服务器与物联网设备建立连接。
具体地,当用户在客户端3的所在的终端设备(如手机或平板电脑等)开启了其他的应用程序,导致CPU利用率或运行内存不足时,或者当客户端3所处的网络环境发生变化(例如从WIFI切换为4G网络,或网络连接断开),而无法继续提供共享服务时,中心服务器将进行调度。
此时,第一调度因子发生变化,本实施例根据预设的时间间隔(例如20秒)计算第一调度因子,当第一调度因子大于等于预设的第一阈值时,例如第一调度因子为2.1,预设的第一阈值为2,则要进行调度。
调度时,通知客户端3与客户端4之间断开端到端隧道连接,切换为与CDN服务器或STUN服务器或中继转发服务器直接相连。本技术方案在客户端3网络环境变化后,将客户端4调度为通过CDN服务器或STUN服务器或中继转发服务器建立与物联网设备的直接连接,避免了根节点故障导致业务无法持续开展。
本发明的又一实施例,所述一种混合网络模式下码流调度方法,还包括:
接收第二客户端发送的保活消息,根据第二客户端保活消息携带的参数和第一服务器的负荷,计算第二调度因子,在第二调度因子大于等于预设的第二阈值时,将第二客户端切换为通过第二服务器或第一服务器与物联网设备建立连接。
具体地,客户端4与客户端3在建立连接成功后,定时(例如20秒)向中心服务器发送保活消息,保活消息中携带客户端4的网络延时、网络丢包率等信息。中心服务器根据客户端4的网络延时、网络丢包率,以及CDN服务器的连接数量为参考因素,建立第二调度因子,动态地将客户端4与客户端3的端到端隧道连接,切换为直接与CDN服务器或STUN服务器连接。
第二调度因子=客户端4的网络延时*α(如40%)+客户端4的网络丢包率*β(如40%)+CDN服务器连接数量*γ(如20%),其中α、β、γ均为权重参数,且α+β+γ=1。例如,假定客户端4的网络延时较大,计算出的第二因子为2,大于预设的第二阈值1.8,需要将客户端4与客户端3之间的端到端隧道连接切换成与CDN服务器直接相连。当第二调度因子小于预设的第二阈值,则不进行调度切换。
如图5所示,提供了一种时序图描述了客户端4将实况业务连接从与客户端3的端到端隧道连接切换为CDN服务器连接的过程:
D1:中心服务器向CDN服务器申请链接资源;
D2:CDN服务器向中心服务器响应资源请求;
D3:中心服务器成功后,向客户端4告知CDN资源信息;
D4:客户端4在获取到CDN资源信息后,与CDN服务器建立CDN连接;
D5:客户端4通过CDN服务器重新建立实况业务;
D6:客户端4在成功建立实况业务后,断开与客户端3的端到端隧道连接,并将状态上报至中心服务器;
D7:中心服务器在接收到客户端4上报的状态信息后,通知客户端3停止向客户端4转发码流信息,并清除与客户端4的连接资源。至此,完成了客户端4将连接切换到CDN服务连接的过程。
此外,当客户端3主动停止了业务,需要将客户端4切换连接方式时,则由客户端3先通知中心服务器,再依次执行D1–D6步骤,完成客户端4的切换方式。
以上的切换方式并不局限于客户端之间的端到端隧道连接切换为CDN连接,还包括切换为中继转发连接、与其他客户端之间的端到端隧道连接等方式,均在调度切换方法之内。
此外,在实际应用中,客户端4可能为移动客户端,在移动过程中当客户端4的路由信息变更时,将新的路由信息转发至中心服务器。将调度客户端3往新的地址发送码流数据,其调度过程如下:
(1)客户端4将新的路由信息发送至中心服务器。
(2)中心服务器将客户端4新的路由信息发送给客户端3。
(3)客户端3向客户端4新的网络地址和端口发送码流数据。
此外,在客户端建立实况连接时,通常会根据实际要求或网络情况,要求视频画面质量高或流畅性优先。例如,在客户端3已建立实况时,中心服务器保存客户端3建立实况的码流参数信息,其中包括分辨率、编码格式、是否流畅性优先等。在客户端4请求同一设备的实况,或建立实况后切换码流参数时,需要客户端3进行高级共享,先由客户端3进行共享授权,中心服务器根据客户端4下发的码流参数信息进行调度,包括如下两种情况。
第一种情况:通知第一客户端以第一客户端的码流参数向第二客户端发送码流。
在这种情况下,客户端4要求流畅性优先,分辨率不高于客户端3当前实况的分辨率,中心服务器下发指令给客户端3进行码流共享。客户端3在简单授权情况下,直接进行码流转发。
第二种情况,通知第一客户端以第二客户端的码流参数进行编码后向第二客户端发送码流。
在第二种情况下,客户端4要求分辨率更高,中心服务器下发指令给客户端3,由客户端3中提高分辨率,客户端3在高级授权情况下,先解码再通过画面缩放,然后将以第二客户端的码流参数进行编码后的原始码流数据发送给客户端4。
此后,客户端4在接收到客户端3发送的码流数据后,进行解码显示。
需要说明的是,在第二种情况下,客户端3需要进行高级共享,如果客户端3没有进行高级共享,则客户端3只能以第一种情况向客户端4发送码流,或建立单独的CDN服务或与其他满足调度条件的客户端建立STUN服务,这里不再赘述。
与前述方法对应的,这里还给出了一种混合网络模式下码流调度装置的实施例,该装置应用于中心服务器。
本实施例混合网络模式下码流调度装置,包括:
因子计算模块,用于接收第一客户端在通过第二服务器与物联网设备建立连接后发送的保活消息,根据第一客户端保活消息中携带的参数和第一服务器的负荷,计算第一调度因子;
调度模块,用于接收第二客户端的数据请求,在第一调度因子小于预设的第一阈值时,将第一客户端作为第二服务器,通知第二客户端向第一客户端建立连接,以便第一客户端通过与第二客户端建立的连接,向第二客户端转发数据。
本实施例各模块执行的操作与前述一种混合网络模式下码流调度方法中的步骤对应,以下以具体实施例的方式进行对应的说明。
本装置的一种实施例,所述因子计算模块,还用于按照预设的时间间隔计算第一调度因子;所述调度模块在第一调度因子大于等于预设的第一阈值时,将第二客户端切换为通过第二服务器或第一服务器与物联网设备建立连接。
本装置的又一实施例,所述因子计算模块,还用于接收第二客户端发送的保活消息,根据第二客户端保活消息携带的参数和第一服务器的负荷,计算第二调度因子;所述调度模块在第二调度因子大于等于预设的第二阈值时,将第二客户端切换为通过第二服务器或第一服务器与物联网设备建立连接。
本装置的又一实施例,所述调度模块通知第二客户端向第一客户端建立连接,还执行如下操作:
通知第一客户端以第一客户端的码流参数向第二客户端发送码流。
本装置的又一实施例,所述调度模块通知第二客户端向第一客户端建立连接,还执行如下操作:
通知第一客户端以第二客户端的码流参数进行编码后向第二客户端发送码流。
以上实施例仅用以说明本发明的技术方案而非对其进行限制,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
Claims (8)
1.一种混合网络模式下码流调度方法,应用于至少包括中心服务器、第一服务器和第二服务器的混合网络,其特征在于,第一客户端在第一服务器的负荷超过设定的标准负荷时通过第二服务器与物联网设备建立连接,所述混合网络模式下码流调度方法,应用于中心服务器,包括:
接收第一客户端在通过第二服务器与物联网设备建立连接后发送的保活消息,根据第一客户端保活消息中携带的参数和第一服务器的负荷,计算第一调度因子;
接收第二客户端的数据请求,在第一调度因子小于预设的第一阈值时,通知第二客户端向第一客户端建立连接,以便第一客户端通过与第二客户端建立的连接,向第二客户端转发数据;
接收第二客户端发送的保活消息,根据第二客户端保活消息携带的参数和第一服务器的负荷,计算第二调度因子,在第二调度因子大于等于预设的第二阈值时,将第二客户端切换为通过第二服务器或第一服务器与物联网设备建立连接。
2.根据权利要求1所述的混合网络模式下码流调度方法,其特征在于,所述混合网络模式下码流调度方法,还包括:
按照预设的时间间隔计算第一调度因子,在第一调度因子大于等于预设的第一阈值时,将第二客户端切换为通过第二服务器或第一服务器与物联网设备建立连接。
3.根据权利要求1所述的混合网络模式下码流调度方法,其特征在于,所述通知第二客户端向第一客户端建立连接,还包括:
通知第一客户端以第一客户端的码流参数向第二客户端发送码流。
4.根据权利要求1所述的混合网络模式下码流调度方法,其特征在于,所述通知第二客户端向第一客户端建立连接,还包括:
通知第一客户端以第二客户端的码流参数进行编码后向第二客户端发送码流。
5.一种混合网络模式下码流调度装置,应用于至少包括中心服务器、第一服务器和第二服务器的混合网络,其特征在于,第一客户端在第一服务器的负荷超过设定的标准负荷时通过第二服务器与物联网设备建立连接,所述混合网络模式下码流调度装置,应用于中心服务器,包括:
因子计算模块,用于接收第一客户端在通过第二服务器与物联网设备建立连接后发送的保活消息,根据第一客户端保活消息中携带的参数和第一服务器的负荷,计算第一调度因子;
调度模块,用于接收第二客户端的数据请求,在第一调度因子小于预设的第一阈值时,通知第二客户端向第一客户端建立连接,以便第一客户端通过与第二客户端建立的连接,向第二客户端转发数据;
所述因子计算模块,还用于接收第二客户端发送的保活消息,根据第二客户端保活消息携带的参数和第一服务器的负荷,计算第二调度因子;所述调度模块在第二调度因子大于等于预设的第二阈值时,将第二客户端切换为通过第二服务器或第一服务器与物联网设备建立连接。
6.根据权利要求5所述的混合网络模式下码流调度装置,其特征在于,所述因子计算模块,还用于按照预设的时间间隔计算第一调度因子;所述调度模块在第一调度因子大于等于预设的第一阈值时,将第二客户端切换为通过第二服务器或第一服务器与物联网设备建立连接。
7.根据权利要求5所述的混合网络模式下码流调度装置,其特征在于,所述调度模块通知第二客户端向第一客户端建立连接,还执行如下操作:
通知第一客户端以第一客户端的码流参数向第二客户端发送码流。
8.根据权利要求5所述的混合网络模式下码流调度装置,其特征在于,所述调度模块通知第二客户端向第一客户端建立连接,还执行如下操作:
通知第一客户端以第二客户端的码流参数进行编码后向第二客户端发送码流。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810889632.6A CN110830755B (zh) | 2018-08-07 | 2018-08-07 | 一种混合网络模式下码流调度方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810889632.6A CN110830755B (zh) | 2018-08-07 | 2018-08-07 | 一种混合网络模式下码流调度方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110830755A CN110830755A (zh) | 2020-02-21 |
CN110830755B true CN110830755B (zh) | 2021-07-20 |
Family
ID=69534073
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810889632.6A Active CN110830755B (zh) | 2018-08-07 | 2018-08-07 | 一种混合网络模式下码流调度方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110830755B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115102957B (zh) * | 2022-06-08 | 2024-06-04 | 中移(杭州)信息技术有限公司 | 基于混合管理***的业务分发方法及相关设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104539982A (zh) * | 2014-12-18 | 2015-04-22 | 新浪网技术(中国)有限公司 | 一种视频点对点资源共享调度方法、***及节点终端 |
CN105635755A (zh) * | 2015-12-30 | 2016-06-01 | 合一网络技术(北京)有限公司 | 直播流传输方法和装置 |
EP3078173A1 (en) * | 2013-12-02 | 2016-10-12 | Akamai Technologies, Inc. | Virtual private network (vpn)-as-a-service with delivery optimizations while maintaining end-to-end data security |
CN107211297A (zh) * | 2014-11-07 | 2017-09-26 | 交互数字专利控股公司 | 中继通信优化 |
-
2018
- 2018-08-07 CN CN201810889632.6A patent/CN110830755B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3078173A1 (en) * | 2013-12-02 | 2016-10-12 | Akamai Technologies, Inc. | Virtual private network (vpn)-as-a-service with delivery optimizations while maintaining end-to-end data security |
CN107211297A (zh) * | 2014-11-07 | 2017-09-26 | 交互数字专利控股公司 | 中继通信优化 |
CN104539982A (zh) * | 2014-12-18 | 2015-04-22 | 新浪网技术(中国)有限公司 | 一种视频点对点资源共享调度方法、***及节点终端 |
CN105635755A (zh) * | 2015-12-30 | 2016-06-01 | 合一网络技术(北京)有限公司 | 直播流传输方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN110830755A (zh) | 2020-02-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Alsmirat et al. | Internet of surveillance: a cloud supported large-scale wireless surveillance system | |
US20230308951A1 (en) | Data processing method, network element device, and readable storage medium | |
US10277865B2 (en) | Data transmission method and system, and related devices | |
US8984113B2 (en) | Internet of things service architecture and method for realizing internet of things service | |
CN110121059B (zh) | 监控视频处理方法、装置及存储介质 | |
CN109068186B (zh) | 丢包率的处理方法和装置 | |
CN110572433B (zh) | 一种视频调度方法、***及装置 | |
Wu et al. | vSkyConf: Cloud-assisted multi-party mobile video conferencing | |
CN109413138B (zh) | 文件上传方法和装置 | |
CN110460816A (zh) | 云监控*** | |
CN108965428A (zh) | 直播数据的传输方法、装置、电子设备、*** | |
Medagliani et al. | Overlay routing for fast video transfers in CDN | |
CN102857439A (zh) | 基于多节点协作的媒体数据接入与调度体系架构设计方法 | |
Qing et al. | Cactse: Cloudlet aided cooperative terminals service environment for mobile proximity content delivery | |
CN116708598A (zh) | 用于实时网络传输的***及方法 | |
CN111224889A (zh) | 一种数据传输的方法和装置 | |
CN110830755B (zh) | 一种混合网络模式下码流调度方法及装置 | |
CN104753779B (zh) | 一种云群虚拟路由***的实现方法 | |
CN105392025B (zh) | 用户侧带宽聚合的方法、设备和内容分发*** | |
CN115277467B (zh) | 基于家庭网关的通信方法及装置、网关和存储介质 | |
Khalid et al. | An SDN-based device-aware live video service for inter-domain adaptive bitrate streaming | |
CN109040199A (zh) | 一种分发资源数据的方法、***及存储介质 | |
CN109561080B (zh) | 一种动态入网通信的方法和装置 | |
CN112866390A (zh) | 一种数据传输方法、装置、终端设备和存储介质 | |
CN110049227B (zh) | 一种摄像头的操作方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |