CN113630616A - 直播边缘节点资源管控方法及系统 - Google Patents
直播边缘节点资源管控方法及系统 Download PDFInfo
- Publication number
- CN113630616A CN113630616A CN202110920112.9A CN202110920112A CN113630616A CN 113630616 A CN113630616 A CN 113630616A CN 202110920112 A CN202110920112 A CN 202110920112A CN 113630616 A CN113630616 A CN 113630616A
- Authority
- CN
- China
- Prior art keywords
- edge node
- resource
- edge
- utilization rate
- edge nodes
- 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.)
- Pending
Links
Images
Classifications
-
- 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/21—Server components or server architectures
- H04N21/218—Source of audio or video content, e.g. local disk arrays
- H04N21/2187—Live feed
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- 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/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/262—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
- H04N21/26208—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请公开了一种直播边缘节点资源管控方法,该方法包括:实时采集所有边缘节点的状态信息,所述边缘节点为连接于所述中心服务器的多个云服务器;根据采集到的所述状态信息和预设逻辑综合判断所述边缘节点是否需要调整;当需要时对所述边缘节点进行调整,包括新增边缘节点、删除边缘节点、增加或减少所述边缘节点中配置的资源。本申请还公开了一种直播边缘节点资源管控系统、电子装置和计算机可读存储介质。由此,使用云服务器进行边缘节点部署,可以根据各个边缘节点的实时状态信息来综合判断分析每个边缘节点的使用情况,从而按照预设逻辑动态增删边缘节点或调整其中配置的资源,实现资源的最大利用效率,节省资源和人力。
Description
技术领域
本申请涉及直播技术领域,尤其涉及一种直播边缘节点资源管控方法、系统、电子装置及计算机可读存储介质。
背景技术
在现有直播体系中,主播分布在全国各地,接受主播推流的物理机器节点也部署在全国各地。主播推流的时候,根据域名系统(Domain Name System,DNS)解析获取离主播最佳的节点进行推流。但是,这种技术架构缺乏数据支撑,不具有科学性和严谨性,并且比较浪费资源,物理机器部署也难于扩展。
发明内容
本申请的主要目的在于提出一种直播边缘节点资源管控方法、系统、电子装置及计算机可读存储介质,旨在解决如何科学部署边缘节点、既节省资源又能便于扩展的问题。
为实现上述目的,本申请实施例提供了一种直播边缘节点资源管控方法,应用于中心服务器,所述方法包括:
实时采集所有边缘节点的状态信息,所述边缘节点为连接于所述中心服务器的多个云服务器;
根据采集到的所述状态信息和预设逻辑综合判断所述边缘节点是否需要调整;及
当需要时对所述边缘节点进行调整。
可选地,所述实时采集所有边缘节点的状态信息包括:
采集每个所述边缘节点的资源使用信息、推流数目、每个流的实时卡顿率。
可选地,所述资源使用信息包括实际使用带宽、实际使用CPU核数、实际使用内存。
可选地,所述对所述边缘节点进行调整包括新增边缘节点、删除边缘节点、增加或减少所述边缘节点中配置的资源。
可选地,所述根据采集到的所述状态信息和预设逻辑综合判断所述边缘节点是否需要调整包括:
计算所述边缘节点上的实时总推流数目和所有流的实时卡顿率;
当所述实时总推流数目大于第一阈值或所述实时卡顿率大于第二阈值时,判断需要在所述边缘节点所在区域增加边缘节点。
可选地,所述根据采集到的所述状态信息和预设逻辑综合判断所述边缘节点是否需要调整还包括:
当所述实时总推流数目小于等于所述第一阈值且所述实时卡顿率小于等于所述第二阈值时,根据所述边缘节点的资源使用率判断是否需要删除所述边缘节点或调整所述边缘节点中配置的资源。
可选地,所述根据所述边缘节点的资源使用率判断是否需要删除所述边缘节点或调整所述边缘节点中配置的资源包括:
计算所述边缘节点的资源使用率,包括带宽使用率、CPU使用率和内存使用率;
分别设置各个所述资源使用率的等级阈值;
根据各个所述资源使用率的计算结果和所述等级阈值,判断所述资源使用率所处的等级,从而按照所述等级对应的方式判断是否删除所述边缘节点或调整所述边缘节点中配置的资源。
可选地,所述等级阈值包括阈值Q、W、E且Q>W>E,所述判断所述资源使用率所处的等级,从而按照所述等级对应的方式判断是否删除所述边缘节点或调整所述边缘节点中配置的资源包括:
当计算出的某个资源的使用率大于所述阈值Q时,判断需要增加所述边缘节点中的所述资源;
当计算出的某个资源的使用率小于等于所述阈值Q且大于所述阈值W时,判断所述边缘节点不需要进行调整;
当计算出的某个资源的使用率小于等于所述阈值W且大于等于所述阈值E时,判断需要减小所述边缘节点中的所述资源。
可选地,所述判断所述资源使用率所处的等级,从而按照所述等级对应的方式判断是否删除所述边缘节点或调整所述边缘节点中配置的资源还包括:
当计算出的各个所述资源使用率均小于所述阈值E时,判断需要删除所述边缘节点。
此外,为实现上述目的,本申请实施例还提供一种直播边缘节点资源管控系统,所述系统包括:
采集模块,用于实时采集所有边缘节点的状态信息,所述边缘节点为连接于所述中心服务器的多个云服务器;
判断模块,用于根据采集到的所述状态信息和预设逻辑综合判断所述边缘节点是否需要调整;
调整模块,用于当需要时对所述边缘节点进行调整。
为实现上述目的,本申请实施例还提供一种电子装置,所述电子装置包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的直播边缘节点资源管控程序,所述直播边缘节点资源管控程序被所述处理器执行时实现如上述的直播边缘节点资源管控方法。
为实现上述目的,本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有直播边缘节点资源管控程序,所述直播边缘节点资源管控程序被处理器执行时实现如上述的直播边缘节点资源管控方法。
本申请实施例提出的直播边缘节点资源管控方法、系统、电子装置及计算机可读存储介质,抛弃传统的物理服务器部署方式,使用云服务器进行边缘节点部署,可以根据各个边缘节点的实时状态信息来综合判断分析每个边缘节点的使用情况,从而按照预设逻辑动态新增或删除边缘节点、增加或减少所述边缘节点中配置的资源,实现资源的最大利用效率,节省资源和人力。
附图说明
图1为实现本申请各个实施例的一种应用环境架构图;
图2为本申请第一实施例提出的一种直播边缘节点资源管控方法的流程图;
图3为图2中步骤S202的细化流程示意图;
图4为所述直播边缘节点资源管控方法另一种形式的流程示意图;
图5为本申请第二实施例提出的一种电子装置的硬件架构示意图;
图6为本申请第三实施例提出的一种直播边缘节点资源管控系统的模块示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,在本申请实施例中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本申请要求的保护范围之内。
请参阅图1,图1为实现本申请各个实施例的一种应用环境架构图。本申请可应用于包括,但不仅限于中心服务器2和多个云服务器4的应用环境中。
现有直播体系在主播推流时主要根据域名系统解析获取离主播最佳的节点进行推流。但是,这种技术架构的缺点如下:
(1)缺乏数据支撑,部署节点盲目:主播分布在全国各地,由于人口流动性和人口集中性,一般部署逻辑为每个省份或者相邻省份部署一到两个节点。这样虽然可以保证全国各地均有节点,但是完全是经验主义,不具有科学性和严谨性。
(2)机器资源配置一致,资源浪费严重,扩大成本:在部署的节点中,由于缺乏数据支持,每个节点申请的资源均为一样的。但是由于人员的分布不同,各个省份的资源使用率也有很大差别。例如在东部的一些省份使用率为90%,而在西部地区则只有10%-20%。成本计算是按照申请资源计算,故大多数节点的资源使用率较低,会导致资源浪费,浪费成本。
(3)物理机器部署扩展难:传统方案使用物理机器部署推流节点,物理机器的部署需要经过发起采购、采购完成、运维配置机器基本信息、研发同步部署程序等流程。整体流程流程较长,人工参与程度大,扩展的难度较大。
基于上述问题,本申请各个实施例在直播体系中部署中心服务器2和多个云服务器4,主播向云服务器4上进行推流。所述云服务器4为部署在全国各地的小型推流节点(边缘节点),是一种可弹性伸缩的计算、网络、存储服务器,成本低,使用Docker容器部署,其管理方式比物理服务器更加高效便捷,可以在使用过程中进行硬盘、内存、带宽、中央处理器(Central Processing Unit,CPU)的随时升级。中心服务器2实时采集所有所述云服务器4的状态因素,根据所采集到的实时数据进行细化处理,按照预设的逻辑进行综合判断,从而动态部署和配置直播边缘节点(云服务器4)。
所述中心服务器2和多个所述云服务器42之间通过有线或无线网络通信连接,以进行数据传输和交互。
实施例一
如图2所示,为本申请第一实施例提出的一种直播边缘节点资源管控方法的流程图。可以理解,本方法实施例中的流程图不用于对执行步骤的顺序进行限定。根据需要,还可以对该流程图中的部分步骤进行添加或删减。下面以中心服务器2作为执行主体对该方法进行说明。
该方法包括以下步骤:
S200,实时采集所有边缘节点的状态信息。
本申请实施例抛弃传统的物理服务器部署方式,使用云机器部署。第三方的内容分发网络(Content Delivery Network,CDN)云服务器是可以动态申请和删除的,可以按需申请和使用。因此对接第三方CDN云服务资源,对接CDN接口,将每个云服务器作为该直播体系中的边缘节点,支持动态新增和删除、缩小和扩大配置的云服务器的操作。
所述状态信息用以判断云服务器(边缘节点)资源是否满足当前主播推流需求。在本实施例中,所述状态信息主要包括每个所述边缘节点的资源使用信息、推流数目、每个流的实时卡顿率等。所述资源使用信息包括但不限于实际使用带宽、实际使用CPU核数、实际使用内存。后续判断时需要考虑以下因素:
(1)带宽使用率
带宽分为进带宽和出带宽,是一个节点传输数据的最大考量因素。带宽使用率=实际使用带宽/申请的带宽。如果申请的带宽数小于使用的带宽数,则机器上接收的流信息无法传输出去,会出现数据丢包的情况,进而影响流的质量,导致用户观看卡顿。如果申请的带宽数远大于使用的带宽数,虽然不会影响用户,但是会浪费资源,从而提升成本。
(2)CPU使用率
CPU是计算机系统的运算和控制核心,CPU的大小影响了机器的处理速度和承载力。CPU越大,机器的处理速度越快,能够同时处理的任务越多,但是价格也越贵。
CPU使用率=实际使用CPU核数/申请的CPU核数。理想情况下,CPU的申请核数应该和该机器上接收推流的数目是相匹配的。接收的推流数目越多则应该申请的CPU核数越大,否则应该申请的CPU核数越小。
(3)内存使用率
内存用于存放CPU中的运算数据,计算机系统中所有程序的运行都在内存中进行,内存性能的强弱影响计算机系统整体发挥的水平。内存越大,机器的处理速度越快,能够同时处理的任务越多,但是价格也越贵。
内存使用率=实际使用内存/申请的内存(单位GB)。理论情况下,内存申请的容量应该和该机器上接收推流的数目是相匹配的。接收的推流数目越多则应该申请的内存越大,否则应该缩小。
(4)推流数目
在满足CPU和内存的情况下,并非一个机器上能接收的流的数目越多越好,而是应该保持一个合适的值。因为接收的推流数目越多,该机器发生故障的时候影响的推流数目也越多,即影响的主播数目越多。因此,为了降低机器发生故障时的影响面积,应该让一个机器上能够接收的推流数目保持在一个合理范围内。若接收的推流数目较少,整个机器的使用率便不高;若接收的推流数目越大,影响面积也越大。
(5)流卡顿率
带宽、CPU和内存均是物理层面的信息,是从实际数据分析得出的理论值,在超过一定使用率的时候,确实会发生卡顿,但这仅仅是从硬件层面上的判断。有时候使用率较高,并不实际影响用户推流,则也可以认为该机器是正常的,故需要从应用层面上合理判断一个机器的状态。
因此,本实施例还引入了流卡顿率。整体流卡顿率=卡顿的流数目/总流数目。其中,单个流的卡顿是指:当一个流的每秒传输帧数(Frames Per Second,FPS)在短时间内发生变化并超过一定的幅度,则说明该流发生流抖动,会导致用户观看卡顿。
使用FPS作为卡顿的判断因素的原因是:FPS是每秒传输的帧数,在直播中,主播通过恒定的FPS传输速率向云服务器发送数据。若云服务器发送数据一切正常,则收到的FPS数值始终是恒定的。若云服务器发生数据异常或者负载过高,则云服务器发送数据时无法处理更多的帧数,只能接收用户传输的部分帧数,其他帧数会存储在用户端。等待机器负载恢复正常后,云服务器发送数据会在瞬间接收之前未接收的传输帧数,这样就导致前后传输的帧率变动幅度较大。
卡顿计算公式如下:以一段时间T为周期,计算该周期内接收到的该流的所有FPS值,并且计算平均FPS=总FPS值/时间T。判断一个时间点是否发生卡顿的条件为:绝对值(该时间点的FPS-平均FPS)/平均FPS>30%(一个预定的阈值,也可以根据实际情况设置为其他阈值),当满足该条件时,表示该流该时间点发生流卡顿。
在本步骤中,所述中心服务器实时采集所有作为边缘节点的云服务器的实际使用带宽、实际使用CPU核数、实际使用内存、推流数目、每个流的实时卡顿率等状态信息,为后续判断和部署做准备。
S202,根据采集到的所述状态信息和预设逻辑综合判断所述边缘节点是否需要调整。
具体而言,进一步参阅图3,为上述步骤S202的细化流程示意图。可以理解,该流程图不用于对执行步骤的顺序进行限定。根据需要,还可以对该流程图中的部分步骤进行添加或删减。在本实施例中,所述步骤S202具体包括:
S2020,计算所述边缘节点(例如云服务器A)上的实时总推流数目和所有流的实时卡顿率。
S2022,当所述实时总推流数目大于第一阈值或所述实时卡顿率大于第二阈值时,判断需要增加边缘节点。
若所述实时总推流数目大于第一阈值(预设的理想推流数目)或所述实时卡顿率大于第二阈值(根据实际情况预先设定),即两个条件满足其中一个时,说明已经从应用层面上影响流用户使用,在本实施例中不再考虑云服务器的硬件信息,直接判断所述边缘节点(云服务器A)所在区域需要增加一个边缘节点(云服务器C),用于分担流数量。
S2024,当所述实时总推流数目小于等于所述第一阈值且所述实时卡顿率小于等于所述第二阈值时,根据所述边缘节点的资源使用率判断是否需要删除所述边缘节点或调整所述边缘节点中配置的资源。
当步骤S2022中的两个条件均不满足,也就是所述实时总推流数目小于等于所述第一阈值且所述实时卡顿率小于等于所述第二阈值时,进一步计算所述边缘节点(云服务器A)的各种资源使用率(带宽使用率、CPU使用率和内存使用率),再根据这些资源使用率判断是否需要删除所述边缘节点、增加或减少所述边缘节点中配置的资源。具体包括:
(1)计算所述边缘节点的资源使用率,包括但不限于带宽使用率、CPU使用率和内存使用率。
根据步骤S200中采集的实际使用带宽、实际使用CPU核数、实际使用内存以及各种使用率的计算方式,可以分别计算得到所述边缘节点的带宽使用率、CPU使用率和内存使用率。
(2)分别设置所述资源使用率的三个阈值Q、W、E,且Q>W>E。
在本实施例中,将各个资源使用率按照等级划分,Q为使用率较高,W为使用率正常,E为使用率较低(也就是设置三个使用率阈值Q、W、E,且Q>W>E)。值得注意的是,针对每一种资源使用率,均可以设置不同的等级划分标准,也就是对每一种资源使用率设置不同的Q、W、E阈值。
(3)当计算出的某个资源使用率大于阈值Q时,判断需要增加所述边缘节点中的该资源;当计算出的某个资源使用率小于等于阈值Q且大于阈值W时,判断所述边缘节点不需要进行调整;当计算出的某个资源使用率小于等于阈值W且大于等于阈值E时,判断需要减小所述边缘节点中的该资源;当计算出的各个资源使用率均小于阈值E时,判断需要删除所述边缘节点。
值得注意的是,在本实施例中,若带宽使用率、CPU使用率和内存使用率中的一个或两个小于阈值E,也是判断需要减小所述边缘节点中的该资源。若三者的使用率均小于E则说明所述边缘节点中各种资源的使用率极低,中心服务需要在所述边缘节点(云服务器A)上流数较少的情况下,删除所述边缘节点,将所述边缘节点上的流调往其他节点。
回到图2,S204,当需要时对所述边缘节点进行调整。
根据步骤S202中的判断结果,中心服务器针对每个所述边缘节点(云服务器)进行对应的调整,包括新增边缘节点、删除边缘节点、增加或减少所述边缘节点中配置的资源,当然还有一种情况是不进行调整。
参阅图4所示,为所述直播边缘节点资源管控方法另一种形式的流程示意图。图4中各个步骤的具体内容已在上述图2和图3相关描述中详细说明,在此不再赘述。
本实施例提出的直播边缘节点资源管控方法,抛弃传统的物理服务器部署方式,使用云服务器进行边缘节点部署,可以根据各个边缘节点的实时状态信息来综合判断分析每个边缘节点的使用情况,从而按照预设逻辑动态新增或删除边缘节点、增加或减少所述边缘节点中配置的资源,实现资源的最大利用效率,节省资源和人力。
实施例二
如图5所示,为本申请第二实施例提出一种电子装置20的硬件架构示意图。本实施例中,所述电子装置20可包括,但不仅限于,可通过系统总线相互通信连接的存储器21、处理器22、网络接口23。需要指出的是,图5仅示出了具有组件21-23的电子装置20,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。在本实施例中,所述电子装置20可以是所述中心服务器2。
所述存储器21至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,所述存储器21可以是所述电子装置20的内部存储单元,例如该电子装置20的硬盘或内存。在另一些实施例中,所述存储器21也可以是所述电子装置20的外部存储设备,例如该电子装置20上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,所述存储器21还可以既包括所述电子装置20的内部存储单元也包括其外部存储设备。本实施例中,所述存储器21通常用于存储安装于所述电子装置20的操作系统和各类应用软件,例如直播边缘节点资源管控系统60的程序代码等。此外,所述存储器21还可以用于暂时地存储已经输出或者将要输出的各类数据。
所述处理器22在一些实施例中可以是CPU、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器22通常用于控制所述电子装置20的总体操作。本实施例中,所述处理器22用于运行所述存储器21中存储的程序代码或者处理数据,例如运行所述直播边缘节点资源管控系统60等。
所述网络接口23可包括无线网络接口或有线网络接口,该网络接口23通常用于在所述电子装置20与其他电子设备之间建立通信连接。
实施例三
如图6所示,为本申请第三实施例提出一种直播边缘节点资源管控系统60的模块示意图。所述直播边缘节点资源管控系统60可以被分割成一个或多个程序模块,一个或者多个程序模块被存储于存储介质中,并由一个或多个处理器所执行,以完成本申请实施例。本申请实施例所称的程序模块是指能够完成特定功能的一系列计算机程序指令段,以下描述将具体介绍本实施例各程序模块的功能。
在本实施例中,所述直播边缘节点资源管控系统60包括:
采集模块600,用于实时采集所有边缘节点的状态信息。
本申请实施例抛弃传统的物理服务器部署方式,使用云机器部署。第三方的CDN云服务器是可以动态申请和删除的,可以按需申请和使用。因此对接第三方CDN云服务资源,对接CDN接口,将每个云服务器作为该直播体系中的边缘节点,支持动态新增和删除、缩小和扩大配置的云服务器的操作。
所述状态信息用以判断云服务器(边缘节点)资源是否满足当前主播推流需求。在本实施例中,所述状态信息主要包括每个所述边缘节点的资源使用信息、推流数目、每个流的实时卡顿率等。所述资源使用信息包括但不限于实际使用带宽、实际使用CPU核数、实际使用内存。后续判断时需要考虑以下因素:
(1)带宽使用率
带宽分为进带宽和出带宽,是一个节点传输数据的最大考量因素。带宽使用率=实际使用带宽/申请的带宽。如果申请的带宽数小于使用的带宽数,则机器上接收的流信息无法传输出去,会出现数据丢包的情况,进而影响流的质量,导致用户观看卡顿。如果申请的带宽数远大于使用的带宽数,虽然不会影响用户,但是会浪费资源,从而提升成本。
(2)CPU使用率
CPU是计算机系统的运算和控制核心,CPU的大小影响了机器的处理速度和承载力。CPU越大,机器的处理速度越快,能够同时处理的任务越多,但是价格也越贵。
CPU使用率=实际使用CPU核数/申请的CPU核数。理想情况下,CPU的申请核数应该和该机器上接收推流的数目是相匹配的。接收的推流数目越多则应该申请的CPU核数越大,否则应该申请的CPU核数越小。
(3)内存使用率
内存用于存放CPU中的运算数据,计算机系统中所有程序的运行都在内存中进行,内存性能的强弱影响计算机系统整体发挥的水平。内存越大,机器的处理速度越快,能够同时处理的任务越多,但是价格也越贵。
内存使用率=实际使用内存/申请的内存(单位GB)。理论情况下,内存申请的容量应该和该机器上接收推流的数目是相匹配的。接收的推流数目越多则应该申请的内存越大,否则应该缩小。
(4)推流数目
在满足CPU和内存的情况下,并非一个机器上能接收的流的数目越多越好,而是应该保持一个合适的值。因为接收的推流数目越多,该机器发生故障的时候影响的推流数目也越多,即影响的主播数目越多。因此,为了降低机器发生故障时的影响面积,应该让一个机器上能够接收的推流数目保持在一个合理范围内。若接收的推流数目较少,整个机器的使用率便不高;若接收的推流数目越大,影响面积也越大。
(5)流卡顿率
带宽、CPU和内存均是物理层面的信息,是从实际数据分析得出的理论值,在超过一定使用率的时候,确实会发生卡顿,但这仅仅是从硬件层面上的判断。有时候使用率较高,并不实际影响用户推流,则也可以认为该机器是正常的,故需要从应用层面上合理判断一个机器的状态。
因此,本实施例还引入了流卡顿率。整体流卡顿率=卡顿的流数目/总流数目。其中,单个流的卡顿是指:当一个流的FPS在短时间内发生变化并超过一定的幅度,则说明该流发生流抖动,会导致用户观看卡顿。
使用FPS作为卡顿的判断因素的原因是:FPS是每秒传输的帧数,在直播中,主播通过恒定的FPS传输速率向云服务器发送数据。若云服务器发送数据一切正常,则收到的FPS数值始终是恒定的。若云服务器发生数据异常或者负载过高,则云服务器发送数据时无法处理更多的帧数,只能接收用户传输的部分帧数,其他帧数会存储在用户端。等待机器负载恢复正常后,云服务器发送数据会在瞬间接收之前未接收的传输帧数,这样就导致前后传输的帧率变动幅度较大。
卡顿计算公式如下:以一段时间T为周期,计算该周期内接收到的该流的所有FPS值,并且计算平均FPS=总FPS值/时间T。判断一个时间点是否发生卡顿的条件为:绝对值(该时间点的FPS-平均FPS)/平均FPS>30%(一个预定的阈值,也可以根据实际情况设置为其他阈值),当满足该条件时,表示该流该时间点发生流卡顿。
所述采集模块600实时采集所有作为边缘节点的云服务器的实际使用带宽、实际使用CPU核数、实际使用内存、推流数目、每个流的实时卡顿率等状态信息,为后续判断和部署做准备。
判断模块602,用于根据采集到的所述状态信息和预设逻辑综合判断所述边缘节点是否需要调整。具体包括:
(一)计算所述边缘节点(例如云服务器A)上的实时总推流数目和所有流的实时卡顿率。
(二)当所述实时总推流数目大于第一阈值或所述实时卡顿率大于第二阈值时,判断需要增加边缘节点。
若所述实时总推流数目大于第一阈值(预设的理想推流数目)或所述实时卡顿率大于第二阈值(根据实际情况预先设定),即两个条件满足其中一个时,说明已经从应用层面上影响流用户使用,在本实施例中不再考虑云服务器的硬件信息,直接判断所述边缘节点(云服务器A)所在区域需要增加一个边缘节点(云服务器C),用于分担流数量。
(三)当所述实时总推流数目小于等于所述第一阈值且所述实时卡顿率小于等于所述第二阈值时,根据所述边缘节点的资源使用率判断是否需要删除所述边缘节点或调整所述边缘节点中配置的资源。
当(二)中的两个条件均不满足,也就是所述实时总推流数目小于等于所述第一阈值且所述实时卡顿率小于等于所述第二阈值时,进一步计算所述边缘节点(云服务器A)的各种资源使用率(带宽使用率、CPU使用率和内存使用率),再根据这些资源使用率判断是否需要删除所述边缘节点、增加或减少所述边缘节点中配置的资源。具体包括:
(1)计算所述边缘节点的资源使用率,包括但不限于带宽使用率、CPU使用率和内存使用率。
根据(一)中采集的实际使用带宽、实际使用CPU核数、实际使用内存以及各种使用率的计算方式,可以分别计算得到所述边缘节点的带宽使用率、CPU使用率和内存使用率。
(2)分别设置所述资源使用率的三个阈值Q、W、E,且Q>W>E。
在本实施例中,将各个资源使用率按照等级划分,Q为使用率较高,W为使用率正常,E为使用率较低(也就是设置三个使用率阈值Q、W、E,且Q>W>E)。值得注意的是,针对每一种资源使用率,均可以设置不同的等级划分标准,也就是对每一种资源使用率设置不同的Q、W、E阈值。
(3)当计算出的某个资源使用率大于阈值Q时,判断需要增加所述边缘节点中的该资源;当计算出的某个资源使用率小于等于阈值Q且大于阈值W时,判断所述边缘节点不需要进行调整;当计算出的某个资源使用率小于等于阈值W且大于等于阈值E时,判断需要减小所述边缘节点中的该资源;当计算出的各个资源使用率均小于阈值E时,判断需要删除所述边缘节点。
值得注意的是,在本实施例中,若带宽使用率、CPU使用率和内存使用率中的一个或两个小于阈值E,也是判断需要减小所述边缘节点中的该资源。若三者的使用率均小于E则说明所述边缘节点中各种资源的使用率极低,中心服务需要在所述边缘节点(云服务器A)上流数较少的情况下,删除所述边缘节点,将所述边缘节点上的流调往其他节点。
调整模块604,用于当需要时对所述边缘节点进行调整。
根据判断模块602的判断结果,调整模块604针对每个所述边缘节点(云服务器)进行对应的调整,包括新增边缘节点、删除边缘节点、增加或减少所述边缘节点中配置的资源,当然还有一种情况是不进行调整。
本实施例提出的直播边缘节点资源管控系统,抛弃传统的物理服务器部署方式,使用云服务器进行边缘节点部署,可以根据各个边缘节点的实时状态信息来综合判断分析每个边缘节点的使用情况,从而按照预设逻辑动态新增或删除边缘节点、增加或减少所述边缘节点中配置的资源,实现资源的最大利用效率,节省资源和人力。
实施例四
本申请还提供了另一种实施方式,即提供一种计算机可读存储介质,所述计算机可读存储介质存储有直播边缘节点资源管控程序,所述直播边缘节点资源管控程序可被至少一个处理器执行,以使所述至少一个处理器执行如上述的直播边缘节点资源管控方法的步骤。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
显然,本领域的技术人员应该明白,上述的本申请实施例的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本申请实施例不限制于任何特定的硬件和软件结合。
以上仅为本申请实施例的优选实施例,并非因此限制本申请实施例的专利范围,凡是利用本申请实施例说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请实施例的专利保护范围内。
Claims (12)
1.一种直播边缘节点资源管控方法,应用于中心服务器,其特征在于,所述方法包括:
实时采集所有边缘节点的状态信息,所述边缘节点为连接于所述中心服务器的多个云服务器;
根据采集到的所述状态信息和预设逻辑综合判断所述边缘节点是否需要调整;及
当需要时对所述边缘节点进行调整。
2.根据权利要求1所述的直播边缘节点资源管控方法,其特征在于,所述实时采集所有边缘节点的状态信息包括:
采集每个所述边缘节点的资源使用信息、推流数目、每个流的实时卡顿率。
3.根据权利要求2所述的直播边缘节点资源管控方法,其特征在于,所述资源使用信息包括实际使用带宽、实际使用CPU核数、实际使用内存。
4.根据权利要求1-3任一项所述的直播边缘节点资源管控方法,其特征在于,所述对所述边缘节点进行调整包括新增边缘节点、删除边缘节点、增加或减少所述边缘节点中配置的资源。
5.根据权利要求1-4任一项所述的直播边缘节点资源管控方法,其特征在于,所述根据采集到的所述状态信息和预设逻辑综合判断所述边缘节点是否需要调整包括:
计算所述边缘节点上的实时总推流数目和所有流的实时卡顿率;
当所述实时总推流数目大于第一阈值或所述实时卡顿率大于第二阈值时,判断需要在所述边缘节点所在区域增加边缘节点。
6.根据权利要求5所述的直播边缘节点资源管控方法,其特征在于,所述根据采集到的所述状态信息和预设逻辑综合判断所述边缘节点是否需要调整还包括:
当所述实时总推流数目小于等于所述第一阈值且所述实时卡顿率小于等于所述第二阈值时,根据所述边缘节点的资源使用率判断是否需要删除所述边缘节点或调整所述边缘节点中配置的资源。
7.根据权利要求6所述的直播边缘节点资源管控方法,其特征在于,所述根据所述边缘节点的资源使用率判断是否需要删除所述边缘节点或调整所述边缘节点中配置的资源包括:
计算所述边缘节点的资源使用率,包括带宽使用率、CPU使用率和内存使用率;
分别设置各个所述资源使用率的等级阈值;
根据各个所述资源使用率的计算结果和所述等级阈值,判断所述资源使用率所处的等级,从而按照所述等级对应的方式判断是否删除所述边缘节点或调整所述边缘节点中配置的资源。
8.根据权利要求7所述的直播边缘节点资源管控方法,其特征在于,所述等级阈值包括阈值Q、W、E且Q>W>E,所述判断所述资源使用率所处的等级,从而按照所述等级对应的方式判断是否删除所述边缘节点或调整所述边缘节点中配置的资源包括:
当计算出的某个资源的使用率大于所述阈值Q时,判断需要增加所述边缘节点中的所述资源;
当计算出的某个资源的使用率小于等于所述阈值Q且大于所述阈值W时,判断所述边缘节点不需要进行调整;
当计算出的某个资源的使用率小于等于所述阈值W且大于等于所述阈值E时,判断需要减小所述边缘节点中的所述资源。
9.根据权利要求8所述的直播边缘节点资源管控方法,其特征在于,所述判断所述资源使用率所处的等级,从而按照所述等级对应的方式判断是否删除所述边缘节点或调整所述边缘节点中配置的资源还包括:
当计算出的各个所述资源使用率均小于所述阈值E时,判断需要删除所述边缘节点。
10.一种直播边缘节点资源管控系统,其特征在于,所述系统包括:
采集模块,用于实时采集所有边缘节点的状态信息,所述边缘节点为连接于所述中心服务器的多个云服务器;
判断模块,用于根据采集到的所述状态信息和预设逻辑综合判断所述边缘节点是否需要调整;
调整模块,用于当需要时对所述边缘节点进行调整。
11.一种电子装置,其特征在于,所述电子装置包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的直播边缘节点资源管控程序,所述直播边缘节点资源管控程序被所述处理器执行时实现如权利要求1至9中任一项所述的直播边缘节点资源管控方法。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有直播边缘节点资源管控程序,所述直播边缘节点资源管控程序被处理器执行时实现如权利要求1至9中任一项所述的直播边缘节点资源管控方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110920112.9A CN113630616A (zh) | 2021-08-11 | 2021-08-11 | 直播边缘节点资源管控方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110920112.9A CN113630616A (zh) | 2021-08-11 | 2021-08-11 | 直播边缘节点资源管控方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113630616A true CN113630616A (zh) | 2021-11-09 |
Family
ID=78384520
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110920112.9A Pending CN113630616A (zh) | 2021-08-11 | 2021-08-11 | 直播边缘节点资源管控方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113630616A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114189705A (zh) * | 2021-12-08 | 2022-03-15 | 上海哔哩哔哩科技有限公司 | 直播卡顿处理方法及系统 |
CN114679589A (zh) * | 2022-02-07 | 2022-06-28 | 上海哔哩哔哩科技有限公司 | 直播混流服务动态调整方法及装置 |
CN115002868A (zh) * | 2022-06-13 | 2022-09-02 | 中国电信股份有限公司 | 一种基于容器化的分布式收流方法和系统 |
CN115278281A (zh) * | 2022-07-20 | 2022-11-01 | 上海哔哩哔哩科技有限公司 | 直播质量保障方法、装置、计算设备和存储介质 |
CN115412737A (zh) * | 2022-08-30 | 2022-11-29 | 上海哔哩哔哩科技有限公司 | 直播回源中继节点确定方法及装置 |
CN117014313A (zh) * | 2023-09-26 | 2023-11-07 | 工业云制造(四川)创新中心有限公司 | 一种面向边缘云平台的设备数据实时分析方法及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102801792A (zh) * | 2012-07-26 | 2012-11-28 | 华南理工大学 | 基于统计预测的云cdn资源自动部署方法 |
CN110737442A (zh) * | 2019-09-24 | 2020-01-31 | 厦门网宿有限公司 | 一种边缘应用管理方法及系统 |
CN111800283A (zh) * | 2019-04-08 | 2020-10-20 | 阿里巴巴集团控股有限公司 | 网络系统、服务提供与资源调度方法、设备及存储介质 |
CN112511456A (zh) * | 2020-12-21 | 2021-03-16 | 北京百度网讯科技有限公司 | 流量控制方法、装置、设备、存储介质和计算机程序产品 |
CN112751896A (zh) * | 2019-10-31 | 2021-05-04 | 中国电信股份有限公司 | 资源部署方法、资源部署装置以及存储介质 |
-
2021
- 2021-08-11 CN CN202110920112.9A patent/CN113630616A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102801792A (zh) * | 2012-07-26 | 2012-11-28 | 华南理工大学 | 基于统计预测的云cdn资源自动部署方法 |
CN111800283A (zh) * | 2019-04-08 | 2020-10-20 | 阿里巴巴集团控股有限公司 | 网络系统、服务提供与资源调度方法、设备及存储介质 |
CN110737442A (zh) * | 2019-09-24 | 2020-01-31 | 厦门网宿有限公司 | 一种边缘应用管理方法及系统 |
CN112751896A (zh) * | 2019-10-31 | 2021-05-04 | 中国电信股份有限公司 | 资源部署方法、资源部署装置以及存储介质 |
CN112511456A (zh) * | 2020-12-21 | 2021-03-16 | 北京百度网讯科技有限公司 | 流量控制方法、装置、设备、存储介质和计算机程序产品 |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114189705A (zh) * | 2021-12-08 | 2022-03-15 | 上海哔哩哔哩科技有限公司 | 直播卡顿处理方法及系统 |
CN114679589A (zh) * | 2022-02-07 | 2022-06-28 | 上海哔哩哔哩科技有限公司 | 直播混流服务动态调整方法及装置 |
CN114679589B (zh) * | 2022-02-07 | 2023-11-17 | 上海哔哩哔哩科技有限公司 | 直播混流服务动态调整方法及装置 |
CN115002868A (zh) * | 2022-06-13 | 2022-09-02 | 中国电信股份有限公司 | 一种基于容器化的分布式收流方法和系统 |
CN115278281A (zh) * | 2022-07-20 | 2022-11-01 | 上海哔哩哔哩科技有限公司 | 直播质量保障方法、装置、计算设备和存储介质 |
CN115278281B (zh) * | 2022-07-20 | 2024-06-04 | 上海哔哩哔哩科技有限公司 | 直播质量保障方法、装置、计算设备和存储介质 |
CN115412737A (zh) * | 2022-08-30 | 2022-11-29 | 上海哔哩哔哩科技有限公司 | 直播回源中继节点确定方法及装置 |
CN115412737B (zh) * | 2022-08-30 | 2024-03-08 | 上海哔哩哔哩科技有限公司 | 直播回源中继节点确定方法及装置 |
CN117014313A (zh) * | 2023-09-26 | 2023-11-07 | 工业云制造(四川)创新中心有限公司 | 一种面向边缘云平台的设备数据实时分析方法及系统 |
CN117014313B (zh) * | 2023-09-26 | 2023-12-19 | 工业云制造(四川)创新中心有限公司 | 一种面向边缘云平台的设备数据实时分析方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113630616A (zh) | 直播边缘节点资源管控方法及系统 | |
EP3873066A1 (en) | Method for managing resource state information, and resource downloading system | |
DE60300158T2 (de) | Verfahren und System zur Regelung des Leistungsverbrauchs eines Netzwerk-Schnittstellenmoduls in einem drahtlosen Computer | |
CN106792835B (zh) | 一种无线设备共享带宽的控制方法及系统 | |
US11102289B2 (en) | Method for managing resource state information and system for downloading resource | |
CA2409904A1 (en) | Allocating access across shared communications medium | |
CN107690775B (zh) | 用于从和向一个或多个优先级化自动配置服务器转发优先级化业务的负载均衡服务器 | |
CN103532873B (zh) | 应用于分布式文件系统的流量控制策略 | |
CN110324680B (zh) | 一种视频推送方法、装置及服务器、客户端、存储介质 | |
CN107171839A (zh) | 一种带宽流量成本控制方法 | |
CN108900374A (zh) | 一种应用于dpi设备的数据处理方法和装置 | |
CN113438129B (zh) | 数据采集方法及装置 | |
CN112817753A (zh) | 任务的处理方法及装置、存储介质、电子装置 | |
CN110830964A (zh) | 信息调度方法、物联网平台和计算机可读存储介质 | |
CN103731281A (zh) | 频道处理方法和装置 | |
CN113364682A (zh) | 一种数据传输方法、装置、存储介质及电子装置 | |
CN111291252B (zh) | 一种每秒查询率的调整方法、装置、电子设备及存储介质 | |
US20170013083A1 (en) | Data processing method and apparatus used for terminal application | |
CN107104956A (zh) | 一种基于用户优先度的遥感分发方法及系统 | |
CN115037968B (zh) | 视频的播放方法、装置、存储介质及电子装置 | |
CN112004161A (zh) | 地址资源的处理方法、装置、终端设备和存储介质 | |
CN103747481A (zh) | 一种网络拥塞提醒和接入控制方法及装置 | |
CN108882296B (zh) | 一种处理报文的方法及装置 | |
CN111050356A (zh) | 数据传输的处理方法及装置、存储介质、电子装置 | |
CN108156086B (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 |