CN113596509A - 节点调度方法及装置 - Google Patents

节点调度方法及装置 Download PDF

Info

Publication number
CN113596509A
CN113596509A CN202110987389.3A CN202110987389A CN113596509A CN 113596509 A CN113596509 A CN 113596509A CN 202110987389 A CN202110987389 A CN 202110987389A CN 113596509 A CN113596509 A CN 113596509A
Authority
CN
China
Prior art keywords
node
scheduled
scheduling
target
quality score
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.)
Granted
Application number
CN202110987389.3A
Other languages
English (en)
Other versions
CN113596509B (zh
Inventor
孙袁袁
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Bilibili Technology Co Ltd
Original Assignee
Shanghai Bilibili Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shanghai Bilibili Technology Co Ltd filed Critical Shanghai Bilibili Technology Co Ltd
Priority to CN202110987389.3A priority Critical patent/CN113596509B/zh
Publication of CN113596509A publication Critical patent/CN113596509A/zh
Application granted granted Critical
Publication of CN113596509B publication Critical patent/CN113596509B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/2187Live feed
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management 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/262Content 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/26208Content 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management 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/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network 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/63Control 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/647Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
    • H04N21/64784Data processing by the network
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本申请提供节点调度方法及装置,其中所述节点调度方法包括:接收待处理直播流,确定所述待处理直播流对应的待调度节点集合;获取所述待调度节点集合中每个待调度节点的当前节点质量分数和每个待调度节点的调度阈值,其中,每个待调度节点的调度阈值根据每个待调度节点在第一预设周期内的至少两个节点质量分数确定;基于每个待调度节点的当前节点质量分数和每个待调度节点的调度阈值确定目标调度节点;调度待处理直播流至所述目标调度节点。本申请通过为每个与直播流对应的边缘计算节点进行打分,并动态调整节点的调度阈值,从而实现对边缘计算节点的针对性调度,保证边缘计算节点传输质量的情况下,接收更多的流数据提高边缘计算节点的利用率。

Description

节点调度方法及装置
技术领域
本申请涉及互联网技术领域,特别涉及一种节点调度方法。本申请同时涉及一种节点调度装置,一种计算设备,以及一种计算机可读存储介质。
背景技术
随着互联网技术的发展,许多用户使用内容分发网络(Content DeliveryNetwork,CDN)进行数据的推流,如在现有直播体系中,一般由主播在主播端发布直播内容后,将直播流推流到直播的边缘计算节点,边缘计算节点再将直播流转推至其他CDN节点。边缘计算节点作为用户推流的第一站,其质量的好坏直接影响着后续流的健康度,故需将流调度至质量较好的边缘计算节点从而完成对流数据的推流。
然而,如何针对每个边缘计算节点的具体质量情况对边缘计算节点进行调度成为技术人员目前亟待解决的问题。
发明内容
有鉴于此,本申请实施例提供了一种节点调度方法。本申请同时涉及一种节点调度装置,一种计算设备,以及一种计算机可读存储介质,以解决现有技术中存在的调度的边缘计算节点质量低,影响流数据推流的问题。
根据本申请实施例的第一方面,提供了一种节点调度方法,包括:
接收待处理直播流,确定所述待处理直播流对应的待调度节点集合;
获取所述待调度节点集合中每个待调度节点的当前节点质量分数和每个待调度节点的调度阈值,其中,所述每个待调度节点的调度阈值根据每个待调度节点在第一预设周期内的至少两个节点质量分数确定;
基于所述每个待调度节点的当前节点质量分数和每个待调度节点的调度阈值确定目标调度节点;
调度所述待处理直播流至所述目标调度节点。
根据本申请实施例的第二方面,提供了一种节点调度装置,包括:
接收模块,被配置为接收待处理直播流,确定所述待处理直播流对应的待调度节点集合;
获取模块,被配置为获取所述待调度节点集合中每个待调度节点的当前节点质量分数和每个待调度节点的调度阈值,其中,所述每个待调度节点的调度阈值根据每个待调度节点在第一预设周期内的至少两个节点质量分数确定;
确定模块,被配置为基于所述每个待调度节点的当前节点质量分数和每个待调度节点的调度阈值确定目标调度节点;
调度模块,被配置为调度所述待处理直播流至所述目标调度节点。
根据本申请实施例的第三方面,提供了一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机指令,所述处理器执行所述计算机指令时实现所述节点调度方法的步骤。
根据本申请实施例的第四方面,提供了一种计算机可读存储介质,其存储有计算机指令,该计算机指令被处理器执行时实现所述节点调度方法的步骤。
本申请提供的节点调度方法,接收待处理直播流,确定所述待处理直播流对应的待调度节点集合;获取所述待调度节点集合中每个待调度节点的当前节点质量分数和每个待调度节点的调度阈值,其中,所述每个待调度节点的调度阈值根据每个待调度节点在第一预设周期内的至少两个节点质量分数确定;基于所述每个待调度节点的当前节点质量分数和每个待调度节点的调度阈值确定目标调度节点;调度所述待处理直播流至所述目标调度节点。本申请通过为每个节点质量打分,并不断探测节点可承受的最多直播流数,根据节点质量动态调整单个节点可被调度的阈值,从而针对性对将直播流调度至合适的节点。
附图说明
图1是本申请一实施例提供的一种节点调度方法的流程图;
图2是本申请一实施例提供的节点质量分数与直播流数量的示意图;
图3是本申请一实施例提供的一种应用于直播流E的节点调度方法的处理流程图;
图4是本申请一实施例提供的一种节点调度装置的结构示意图;
图5是本申请一实施例提供的一种计算设备的结构框图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本申请。但是本申请能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本申请内涵的情况下做类似推广,因此本申请不受下面公开的具体实施的限制。
在本申请一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请一个或多个实施例。在本申请一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本申请一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
首先,对本申请一个或多个实施例涉及的名词术语进行解释。
直播流:直播音视频数据的传输,它能够被作为一个稳定的和连续的流通过网络传输给观众观看。
CDN:内容分发网络。
边缘计算节点:用于接收推流的服务节点。
在当前直播体系中,推流端将直播流推流至边缘计算节点上,边缘计算节点再转推至CDN中的其他节点。在边缘计算节点接收到推流的过程中,当流的数量超过边缘计算节点可承受的上限,流数据会发生堵塞或丢弃的现象,此时会看到卡顿或模糊的画面,因此需要对边缘计算节点进行调度来提高用户体验感。边缘计算节点是否可以被调度,通常存在两种处理方式:
1、直接不设置质量判断条件:只要节点本身是活着的,即节点本身是可以提供服务的,就无条件的提供推流服务。
2、提供固定的质量判断:预先给节点设置一个质量阈值,当节点当质量低于固定设置的值,该节点将不再被调度出去。
然而,采取上述第一种处理方式,不判断节点质量,进行无脑调度,当节点存在负载过高或者短时间内丢包严重等,当出现这种情况的时候,会导致推到该节点上的流出现卡顿或者断流情况,该情况严重影响推流和观看体验。
采用上述第二种处理方式,当以固定的质量阈值,判断节点是否可以被调度的时候,没有考虑节点本身差异,也没有考虑节点在全国各地的分布情况。例如,由于人口分布情况和基建设施差别,在华东地区部署的节点必然会很多,华东地区的基建设施也必然会很好。但东北地区,相对于华东地区,地广人稀,所以部署的节点会相对偏少。基建设施也较差,特别是在一些小城镇,因此如果网络设施差,用户推到该节点的质量就差,进而会导致节点上的流产生卡顿和断流的概率就大,节点质量一直下降。即第二种处理方式存在以下问题:(1)如果我们采用华东地区最低可调度节点阈值作为筛选条件,最后导致东北区域的节点都低于预设阈值,东北地区无节点可以给用户推流。(2)如果我们采用东北地区最低可调度节点阈值作为筛选条件,则对于华东地区而言,一些节点较差的节点也会被调度出去。(3)如果我们一直使用区域内最高的节点质量来调度,则会出现某个节点的质量刚刚开始很好,一直被调度,导致负载过高,最后影响了该节点的质量。
为了解决上述存在的技术问题,在本申请中,提供了一种节点调度方法,本申请同时涉及一种节点调度装置,一种计算设备,以及一种计算机可读存储介质,在下面的实施例中逐一进行详细说明。
图1示出了根据本申请一实施例提供的一种节点调度方法的流程图,具体包括以下步骤:
步骤102:接收待处理直播流,确定所述待处理直播流对应的待调度节点集合。
其中,待处理直播流是指调度服务器需要将其分配至边缘计算节点的直播流。边缘计算节点是指由推流端向节点推流的第一站节点。待调度节点集合是指与待处理直播流对应的待调度节点组成的集合。
在实际应用中,可根据待处理直播流对应的位置信息确定与待处理直播流对应的待调度节点,具体方法包括:
获取所述待处理直播流对应的位置信息;
基于所述位置信息获取与所述位置信息对应的调度节点作为待调度节点,构成所述待调度节点集合。
其中,位置信息是指与待处理直播流对应的位置信息。位置信息可以是用于标识待处理直播流推流至哪部分区域范围或与待处理直播流接近的区域范围。基于位置信息可以确定与待处理直播流对应的待调度节点。例如,待处理直播流A对应的位置信息是华北地区,将直播流A推流至华北地区的边缘计算节点,则部署在华北地区的边缘计算节点为待调度节点;再如,待处理直播流A对应的位置信息是北京市,将直播流A推流至北京市的边缘计算节点,则部署在北京市的边缘计算节点为待调度节点。
在本申请一具体实施方式中,以直播流A为例,调度服务器接收推流端发送的直播流A,确定与直播流A对应的位置信息“东北地区”。调度服务器是指用于将推流端的直播流调度至边缘计算节点的服务器。根据直播流A对应的位置信息“东北地区”,确定部署在东北地区的多个边缘计算节点,组成直播流A对应的待调度节点集合。
根据直播流对应的位置信息确定与直播流对应的待调度节点集合,确定了直播流可调度至节点的范围,便于后续在确定的待调度节点集合中确定用于接收直播流的待调度节点。
步骤104:获取所述待调度节点集合中每个待调度节点的当前节点质量分数和每个待调度节点的调度阈值,其中,所述每个待调度节点的调度阈值根据每个待调度节点在第一预设周期内的至少两个节点质量分数确定。
其中,待调度节点的当前节点质量分数是指待调度节点当前时刻的质量分数。节点质量分数用于表征每个节点实际接收直播流的情况,例如,节点可正常接收直播流,则节点的质量分数高,若节点不能正常接收直播流,如接收直播流发生流断开或流抖动的情况影响直播流的传输,则节点的质量分低。每个待调度节点的调度阈值是指节点可被调度质量分数阈值,是根据节点历史的节点质量分数计算获得,每个待调度节点间的调度阈值可以相同也可以不同,每个待调度节点的调度阈值是由当前待调度节点的历史节点质量分数确定的。
在本申请一具体实施方式中,以待调度节点集合a为例,确定待调度集合a中的待调度节点{节点1,节点2,...节点n}。获取待调度集合a中的每个节点的当前节点质量分数以及调度阈值。即获取与每个待调度节点{节点1,节点2,...节点n}分别对应的当前节点质量分数和调度阈值的集合为{70#50、80#60...70#55},其中,70#50表示节点1的当前质量分数为70,调度阈值为50。
通过获取待调度集合中每个待调度节点的节点质量分数和每个待调度节点的质量阈值,便于基于节点质量分数以及调度阈值针对性的确定每个节点对直播流的实际接收情况,方便后续基于每个节点的实际情况调度直播流。
为了根据每个节点的状态向节点推流,需要获取每个待调度节点的节点质量分数和每个待调度节点的调度阈值,用于确定每个节点的实际接收直播流的情况。
在实际应用中,获取所述待调度节点集合中每个待调度节点的当前节点质量分数和每个待调度节点的调度阈值,包括:
在所述待调度节点集合中确定目标待调度节点;
获取所述目标待调度节点的当前节点质量分数;
基于所述目标待调度节点在第一预设时间周期内的节点质量分数确定所述目标待调度节点的调度阈值。
其中,目标待调度节点是指在待调度节点集合中的任意一个待调度节点。目标待调度节点的当前节点质量分数是指目标待调度节点当前时刻的节点质量分数。第一预设时间周期是指预先设置的用于确定节点的调度阈值的时间周期,例如,第一预设时间周期可设置为1天。目标待调度节点的调度阈值是指目标待调度节点可被调度的质量分数阈值。根据目标待调度节点在第一预设时间周期内的节点质量分数,即根据在预设周期内目标待调度节点接收直播流的情况,确定目标待调度节点的调度阈值,即确定目标待调度节点是否可以接收更多的直播流。
具体的,获取待调度节点集合中的每个待调度节点的当前质量分数,根据每个待调度节点在第一预设时间周期内的节点质量分数确定每个待调度节点的调度阈值。
在本申请一具体实施方式中,沿用上例,在待调度节点集合a中确定节点2,获取节点2的当前节点质量分数70;获取节点2在预设时间周期4小时内的节点质量分数,用于确定节点2的调度阈值。同时确定待调度节点集合a中节点1、节点3、...节点n的当前质量分数和调度阈值。
通过确定待调度节点集合中每个待调度节点的当前质量分数和调度阈值,便于后续针对每个节点独自的节点状态,将直播流针对性的推流至节点。
在实际应用中,可通过计算待调度节点的节点抖动率和节点断开率确定待调度节点的质量分数,即确定待调度节点接收直播流的情况。
即获取所述目标待调度节点的当前节点质量分数,包括:
获取所述目标待调度节点的节点抖动率和节点断开率;
基于所述目标待调度节点的节点抖动率和节点断开率计算所述目标待调度节点的当前节点质量分数。
其中,节点抖动率是指节点接收的直播流中,接收发生抖动的直播流的占比。节点断开率是指节点接收的直播流中,接收发生断开的直播流的占比。
直播流的抖动以及直播流的断开均为直播流非正常发送的情况,故节点接收发生抖动或断开的直播流越少,则节点处于较好的接收直播流的状态。即根据节点的节点抖动率以及断开率可计算节点的当前节点质量分数。节点质量分数的计算公式如下公式1所示:
Q=(1-r-r)*100% 公式1
其中,r代表节点抖动率,r代表节点断开率,Q代表节点质量分数。
在本申请一具体实施方式中,以获取节点3的当前数量分数为例,获取节点3的节点抖动率3%和节点断开率5%。根据节点3的节点抖动率3%和节点断开率5%计算节点3的当前节点质量分数。
通过获取节点的节点抖动率和节点断开率计算节点的节点质量分数,便于后续基于节点的质量分数针对性的向节点调度直播流。
在实际应用中,通过判断在一个时间周期内一个节点上有多少条流发生抖动,从而计算节点的质量,具体节点抖动率的计算方法包括:
统计所述目标待调度节点在第二预设时间周期内的总直播流数值;
统计所述目标待调度节点在所述第二预设时间周期内发生抖动的直播流的抖动直播流数值;
基于所述目标待调度节点的抖动直播流数值以及总直播流数值计算所述目标待调度节点的节点抖动率。
其中,第二预设时间周期是指预先设定的用于确定节点的节点抖动率的时间周期,例如。第二预设周期为5分钟。总直播流数值是指目标待调度节点在第二预设时间周期内接收的直播流的总数。抖动直播流数值是指在第二预设时间周期内待调度节点接收发生抖动的直播流的总数。根据第二预设时间段内待调度节点接收的抖动的直播流数值以及总直播流数值,计算抖动直播流数值在总直播流数值中的占比,即节点抖动率。节点抖动率的计算公式如下公式2所示:
Figure BDA0003231176360000081
其中,r代表节点抖动率,s代表预设时间周期内接收发生抖动的直播流总数,S代表预设时间周期内节点接收直播流总数。
在本申请一具体实施方式中,以第二预设时间周期为5分钟为例,统计在5分钟内节点4接收的总直播流数值200,统计在5分钟内接收的抖动直播流数值为10。根据节点4在5分钟内接收的总直播流数值200以及抖动直播流数值20,计算抖动直播流数值在总直播流数值中的占比5%,即用公式2计算节点4的节点抖动率为5%。
通过计算待调度节点的节点抖动率,便于后续进一步确定待调度节点的质量。
在实际应用中,在计算节点抖动率之前,需要确定待调度节点接收的直播流中哪些发生了抖动,具体为通过下述步骤S10402-S10410确定直播流在所述第二预设时间周期内是否发生抖动:
S10402、选择所述第二预设时间周期内调度至所述目标待调度节点的目标直播流。
其中,目标直播流是指由服务器在第二预设时间周期内调度至目标待调度节点的直播流。目标直播流可以为一个或多个目标待调度节点在第二预设时间周期内接收的直播流。
在本申请一具体实施方式中,以直播流B为例,在第二预设时间周期5分钟内选择节点1接收的直播流B。
S10404、统计所述目标待调度节点在所述第二预设时间周期内的每个预设时间点接收到目标直播流的数据包数值。
其中,待调度节点以接收数据包的形式接收目标直播流。目标直播流的数据包是指用于组成目标直播流的数据包。目标直播流的数据包数值是指待调度节点在预设时间点接收的数据包的总数。在第二预设时间周期内,确定多个时间点,例如,在5分钟的时间周期中每隔10s确定一个时间点,共30个时间点。统计每个时间点在5分钟内接收目标直播流的数据包的数值。
在本申请一具体实施方式中,沿用上例,第二预设时间周期5分钟内每隔10s确定一个预设时间点,包括时间点1、时间点2...时间点30,共30个时间点。统计节点1在每个预设时间点接收的数据包数值,例如,在时间点3接收直播流B的30个数据包等。
S10406、计算所述目标待调度节点在所述第二预设时间周期内接收到目标直播流的数据包平均值。
其中,数据包平均值是待调度节点在第二预设时间内平均每个时间点接收目标直播流的数据包的数量。
具体的,获取每个时间点接收目标直播流的数据包的数量以及预设时间点的总数量,计算目标待调度节点接收目标直播流的数据包平均值。
在本申请一具体实施方式中,沿用上例,获取节点1在时间点1接收直播流B的31个数据包、在时间点2接收直播流B的32个数据包...在时间点30接收直播流B的30个数据包。根据每个时间点的数据包数值和预设时间点的总数节点1在预设时间周期5分钟内接收的直播流B的数据包平均值30。
S10408、根据每个预设时间点接收到目标直播流的数据包数值和所述数据包平均值确定抖动时间点数值。
其中,抖动时间点数值是指在预设时间周期内的每个预设时间点中,发生直播流抖动的时间点的数量。
具体的,确定目标待调度节点在第二预设时间周期内每个预设时间点接收的目标直播流的数据包数量,并计算数据包平均值;将每个预设时间点的数据包数量与数据包平均值进行对比,获得数据包数量浮动值;将数据包数量浮动值超过预设阈值的预设时间点,作为发生直播流抖动的预设时间点。预设阈值可以为数据包平均值的30%,或20%等,具体以实际应用为准,在本申请中对此不做限定。例如,根据预设时间点的数据包数量分别为340、395、205、260,计算数据包平均值为300,即数据包数量浮动值分别为60、95、95、40,根据预设阈值为数据包平均值的30%,即90,确定数据包数量浮动值超过90的预设时间点,即确定数据包数量为395和205的预设时间点作为发生抖动的预设时间点。
统计第二预设时间周期内发生直播流抖动的预设时间点的数量,作为抖动时间点数值。
在本申请一具体实施方式中,沿用上例,根据直播流B的数据包平均值30,设置预设阈值为数据包平均值的30%,即预设阈值为9;将数据包平均值30与每个时间点的数据包数值进行对比,获得每个时间点的数据包数量浮动值;将数据包数量浮动值超过预设阈值9的时间点作为直播流B的抖动时间点。例如,时间点5对应的数据包数量为40,数据包数量浮动值为10,超过了预设阈值,故将时间点5作为抖动时间点。统计30个时间点内发生抖动的时间点数量为5;再如,时间点6对应的数据包数量为20,即数据包数量浮动值为10,超过了预设阈值9,故将时间点6也作为抖动时间点。
S10410、根据所述抖动时间点数值和预设时间点数值确定目标直播流在所述第二预设时间周期内是否发生抖动。
其中,预设时间点数值即预设时间点的总数量。
具体的,基于预设时间点数确定预设点数阈值。在抖动时间点数值大于预设点数阈值的情况下,确定目标待调度节点接收的目标直播流在第二预设时间周期内发生了抖动;若抖动时间点数值小于或等于预设点数阈值的情况下,则确定目标待调度节点接收的目标直播流在第二预设时间周期内未发生抖动。
在本申请一具体实施方式中,沿用上例,设置预设点数阈值为30个时间点总数的30%,即预设点数阈值为9。节点1接收的直播流B的抖动时间点数值为5,未超过9则确定在预设时间周期5分钟内,直播流B未发生抖动。
通过确定在预设周期内发生抖动的直播流,便于基于抖动的直播流数量计算节点的节点质量分数。
在实际应用中,推流端将直播流推流至节点的过程中,推流端与节点是一致保持链接的,若推流端的网络发生了剧烈抖动或服务器直接重启,则可能导致直播流被主动断开,网络抖动的程度会影响直播流的数量,若节点重启则影响所有的直播流,故通过在一个时间周期内一个节点有多少条流发生了断开,从而计算节点的质量,具体节点断开率的计算方法包括:
统计所述目标待调度节点在第三预设时间周期内的总直播流数值;
统计所述目标待调度节点在所述第三预设时间周期内发生断开的直播流的断开直播流数值;
基于所述目标待调度节点的断开直播流数值以及总直播流数值计算所述目标待调度节点的节点断开率。
其中,第三预设时间周期是指预先设定的用于确定节点的节点断开率的时间周期,例如,第三预设周期为10分钟。总直播流数值是指目标待调度节点在第三预设时间周期内接收的直播流的总数。断开直播流数值是指在第三预设时间周期内目标待调度节点接收的发生断开的直播流总数。根据第三预设时间段内待调度节点接收的发生断开的直播流数值以及总直播流数值,计算断开直播流数值在总直播流数值中的占比,即节点断开率。节点断开率的计算公式如下公式3所示:
Figure BDA0003231176360000121
其中,r代表节点断开率,s代表预设时间周期内接收发生断开的直播流总数,s代表预设时间周期内节点接收直播流总数。
在本申请一具体实施方式中,以第三预设周期为10分钟为例,统计在10分钟内节点5接收的总直播流数值300,统计在10分钟内接收的断开直播流数值为10。根据节点5在10分钟内接收的总直播流数值300以及断开直播流数值10,计算断开直播流数值为总直播流数值中的占比3%,即用公式3计算节点5的节点抖动率为3%。
通过计算待调度节点的节点断开率,便于后续进一步确定待调度节点的质量。
在实际应用中,为了实现对节点的针对性调度,需要确定每个待调度节点的节点质量分数,并基于每个节点质量分数确定每个待调度节点的调度阈值,具体基于每个节点的节点质量分数确定每个节点的调度阈值的方法,包括:
获取所述目标待调度节点在第一预设时间周期内的至少两个节点质量分数的质量分数平均值和质量分数标准差;
基于所述质量分数平均值和所述质量分数标准差,计算所述目标待调度节点的调度阈值。
其中,节点质量分数的质量分数平均值是指根据第一预设时间周期内包含的节点质量分数以及节点质量分数的总数,计算得到的节点质量分数的平均值。节点质量分数的质量分数标准差是指根据第一预设时间周期内包含的节点质量分数的总数以及目标待调度节点的节点质量分数平均值,计算得到的节点质量分数的标准差。平均值的计算公式如下公式4所示:
Figure BDA0003231176360000131
其中,
Figure BDA0003231176360000132
代表节点质量分数的平均值,n代表节点质量分数的总数,xn代表不同预设时间点对应的节点质量分数。
标准差的计算公式如下公式5所示:
Figure BDA0003231176360000133
其中,σ代表节点质量分数的标准差,μ代表节点质量分数的平均值,N代表节点质量分数的总数,xi代表不同预设时间点对应的节点质量分数。
将目标待调度节点的质量分数平均值与质量分数标准差的差值,作为目标待调度节点的调度阈值。调度阈值的计算公式如下公式6所示:
Figure BDA0003231176360000134
其中,M代表节点的调度阈值,
Figure BDA0003231176360000135
代表节点质量分数的平均值,σ代表节点质量分数的标准差。
在本申请一具体实施方式中,以节点6为例,获取节点6在第一预设时间周期23小时内的节点质量分数的质量分数平均值85和质量分数标准差3。将质量分数平均值85与质量分数标准差3的差值82作为节点6的调度阈值。
在实际应用中,获取所述目标待调度节点在第一预设时间周期内的至少两个节点质量分数的质量分数平均值和质量分数标准差的方法包括S104002-S104010:
S104002、获取所述目标待调度节点在第一预设时间周期内的至少两个节点质量分数和每个节点质量分数对应的直播流数值。
具体的,获取目标待调度节点在第一预设时间周期内计算的至少两个节点质量分数以及与节点质量分数对应的目标待调度节点在同一时刻的接收的直播流总数。
在实际应用中存在获取至少两个节点质量分数的多种方法,例如,通过在预设时间间隔内选取规定数量的节点质量分数或每隔预设时间周期获取规定数量的节点质量分数等。
在本申请一具体实施例中,以节点2为例,在预设时间周期4小时内每5分钟计算一次节点2的节点质量分数并确定与节点质量分数对应的直播流数值。在预设时间周期4小时内,设定节点初始的可调度阈值为50,即在节点2的节点质量分数小于50的情况下,不再分配给用户推流。获取节点2在4小时内的计算的节点质量分数以及与每个质量分数对应的节点2接收的直播流数值。以直播流数值为横坐标,以质量分数为纵坐标,将获取的节点质量分数和对应的直播流数值,绘制为如图2所示的散点图,图2为本申请一实施例提供的节点质量分数与直播流数量的示意图。
S104004、根据每个节点质量分数和每个节点质量分数对应的直播流数值确定每个节点质量分数对应的质量直播流斜率。
其中,质量直播流斜率是指用于确定节点质量分数中可作为节点调度阈值的节点质量分数对应的斜率。质量直播流斜率的计算公式如下公式7所示:
Figure BDA0003231176360000141
其中,L代表质量直播流斜率,a代表节点在预设时间点接收的直播流数量,b代表节点在预设时间点的节点质量分数。
在本申请一具体实施方式中,沿用上例,以图2中的点3为例,点3对应的直播流数量100为节点2接收的直播流数值,点3对应的节点质量分数90为节点2的节点质量分数,将直播流数值100除以节点质量分数90,获得节点2的质量直播流斜率为1.2。
S104006、根据每个节点质量分数对应的质量直播流斜率确定临界节点质量分数。
其中,临界节点质量分数是指节点在正常接收直播流的情况下,能接收最多直播流时对应的节点质量分数。
具体的,每个节点质量分数对应有质量直播流斜率,计算节点质量分数间质量直播流斜率的增长率如下公式8所示:
Figure BDA0003231176360000151
其中,r表示质量直播流斜率的增长率,x表示前一个时间点的质量直播流斜率,y表示后一个时间点的质量直播流斜率。在增长率大于预设阈值的情况下,确定临界节点质量分数。
S104008、根据所述临界节点质量分数在至少两个节点质量分数中确定目标节点质量分数集合。
其中,目标节点质量分数集合是指由目标节点质量分数组成的集合,其中目标节点质量分数均为节点质量分数对应的直播流数值小于临界节点质量分数对应的直播流数值的节点质量分数。
在本申请一具体实施方式中,沿用上例,确定图2中的点2对应的节点质量分数为临界点质量分数,则确定图中点2之前的点对应的节点质量分数为目标节点质量分数,并组成目标节点质量分数集合。
S104010、根据所述目标节点质量分数集合计算所述目标待调度节点在第一预设时间周期内的节点质量分数的质量分数平均值和质量分数标准差。
在本申请一具体实施方式中,沿用上例,图2中点1为异常节点,因此在实际应用中需计算质量分数标准差来弱化异常节点质量分数对最终调度阈值的影响。具体的,根据目标节点质量分数集合中的节点质量分数90、91、87、85...80(到点2的前一个点)和总点数19,计算节点2在4小时内的节点质量分数的平均值85,计算节点2在4小时内的质量分数标准差1.5。
通过获取目标待调度节点的节点质量分数和标准差,便于后续基于节点质量分数和质量分数标准差更准确的确定节点的调度阈值。
在实际应用中,根据每个节点质量分数对应的质量直播流斜率确定临界节点质量分数的方法包括:
将第一个质量直播流斜率大于预设阈值的节点质量分数作为临界点质量分数。
在本申请一具体实施方式中,以节点6为例,确定在4小时的时间周期内,节点6的每个节点质量分数对应的质量直播流斜率分别为1.2、1.5、...,根据公式8计算节点质量分数间斜率的增长率。以节点质量分数60对应的质量直播流斜率1和节点质量分数70对应的质量直播流斜率3为例,计算节点质量分数60与节点质量分数70之间的斜率增长率为67%,大于预设增长率30%,且节点质量分数70为第一个大于预设增长率的节点质量分数,故将节点质量分数70作为临界点质量分数。
通过确定第一个超过预设增长率阈值的节点质量分数作为临界点质量分数,便于后续确定目标待调度节点的节点阈值。
步骤106:基于所述每个待调度节点的当前节点质量分数和每个待调度节点的调度阈值确定目标调度节点。
其中,目标调度节点是指接收服务器分配的待处理直播流的节点。通过获取待调度节点的节点质量分数和调度阈值确定待调度节点是否可以正常低啊都更多节点。例如,节点的调度阈值为80,节点的当前质量分数为90,即可以正常调度更多的直播流,则节点可被调度;若节点的当前质量分数为70,小于调度阈值80,即节点负载以到上限继续接收直播流会影响节点接收直播流的质量,则节点不可被调度。
在实际应用中,基于所述每个待调度节点的当前节点质量分数和每个待调度节点的调度阈值确定目标调度节点的具体方法包括:
将当前节点质量分数大于调度阈值的待调度节点组成目标待调度节点集合;
根据预设的调度节点规则在所述目标待调度节点集合中确定目标调度节点。
其中,目标待调度节点集合是指由目标待调度节点组成的集合,其中,目标待调度节点为待调度节点集合中当前节点质量分数大于调度阈值的待调度节点。调度节点规则是指在目标待调度节点集合中确定目标调度节点的规则,调度节点规则的设置可依照实际情况进行设置,例如,选择在调度阈值内节点质量分数最高的待调度节点,或,在节点质量分数相同的情况下选择可接收直播流数量最高的待调度节点;在调度直播流数量和节点质量分数均相等的情况下,选择节点质量分数与调度阈值差值最小的待调度节点,或,在节点质量分数、可接收的直播流数量、节点质量分数与调度阈值的差值均相同的待调度节点中任选一个作为目标待调度节点等等,在本申请中对调度节点规则不做具体限定,以实际应用为准。
在目标待调度节点集合中确定目标调度节点。
步骤108:调度所述待处理直播流至所述目标调度节点。
具体的,调度服务器确定目标调度节点后,将待处理直播流推流至目标调度节点。
在本申请一具体实施方式中,以直播流C为例,调度服务器将推流端的直播流C推流至目标调度节点,完成对直播流C的推流。
本申请的节点调度方法,接收待处理直播流,确定所述待处理直播流对应的待调度节点集合;获取所述待调度节点集合中每个待调度节点的当前节点质量分数和每个待调度节点的调度阈值,其中,所述每个待调度节点的调度阈值根据每个待调度节点在第一预设周期内的至少两个节点质量分数确定;基于所述每个待调度节点的当前节点质量分数和每个待调度节点的调度阈值确定目标调度节点;调度所述待处理直播流至所述目标调度节点。本申请一实施例实现了通过为每个节点质量打分,并不断探测节点可承受的最多直播流数,根据节点质量动态调整单个节点可被调度的阈值,从而针对性对将直播流调度至合适的节点。
下述结合附图3,以本申请提供的节点调度方法在直播流E的应用为例,对所述节点调度方法进行进一步说明。其中,图3示出了本申请一实施例提供的一种应用于直播流E的节点调度方法的处理流程图,具体包括以下步骤:
步骤302:接收待处理直播流,确定所述待处理直播流对应的待调度节点集合。
在本申请一具体实施方式中,以接收待处理直播流E为例,接收直播流E,确定与直播流E对应的待调度节点集合{a,b,...n}。
步骤304:获取每个待调度节点的节点抖动率和节点断开率,计算每个待调度节点的当前节点质量分数。
在本申请一具体实施方式中,沿用上例,本实施例中以在预设时间周期5分钟计算待调度集合{a,b,...n}中每个待调度节点的节点质量分数。在预设时间周期5分钟内,每隔10秒添加一个时间点,即在5分钟内添加时间点集合{时间点1、时间点2...时间点n},通过每个时间点接收抖动直播流以及断开直播流的数量确定直播流是否发生抖动或断开的情况,并记录每个每个时间点接收抖动直播流以及断开直播流的数量,根据公式3计算待调度节点集合{a,b,...n}中每个待调度节点的节点断开率,根据公式2计算待调度节点集合{a,b,...n}中每个待调度节点的节点抖动率。获取与直播流E对应的待调度节点集合{a,b,...n}中每个待调度节点的分别对应的节点抖动率和节点断开率的集合为{3%#2%、2%#5%...2%#1%},其中,3%#2%表示节点a的节点抖动率为3%、断开率为2%,根据公式1计算每个待调度节点的当前节点质量分数{95%、93%...97%}。
步骤306:根据所述待调度节点集合中每个待调度节点的当前节点质量分数的质量分数平均值和质量分数标准差,计算每个待调度节点的调度阈值。
在本申请一具体实施方式中,沿用上例,本实施例中以在预设时间周期4小时计算待调度集合{a,b,...n}中每个待调度节点的调度阈值,在预设时间周期内每隔10秒添加一个时间点。确定在4小时内待调度节点与设定的时间点对应的节点质量分数以及直播流数量。使用公式7计算待调度节点对应的时间点的质量直播流斜率;使用公式8计算质量直播流斜率的增长率,确定预设时间周期4小时内待调度节点的临界节点质量分数,并获取临界节点质量分数之前的节点质量分数。根据公式4计算待调度节点集合{a,b,...n}中每个待调度节点在临界节点质量分数前的质量分数平均值,并根据公式5计算待每个待调度节点在临界节点质量分数前的质量分数标准差,获得集合为{96%#2,97%#3,...96%#1},其中,96%#2表示节点a的质量分数平均值为96%、质量分数标准差为2。基于计算获得的平均值和标准差,根据公式6计算每个待调度节点的调度阈值分别为{94%、94%...95%}。
步骤308:基于所述每个待调度节点的当前节点质量分数和每个待调度节点的调度阈值确定目标调度节点。
在本申请一具体实施方式中,沿用上例,预设调度规则为在节点可调度直播流数量相同的情况下,调度节点质量分数与节点的调度阈值的差值小于等于1%的节点。在待调度节点结集合{a,b,...n}中根据预设调度规则确定节点1为调度直播流E的目标调度节点。
步骤310:调度所述待处理直播流至所述目标调度节点。
在本申请一具体实施方式中,沿用上例,调度直播流E至节点1完成直播流E的推流。
本申请的节点调度方法,接收待处理直播流,确定所述待处理直播流对应的待调度节点集合;获取所述待调度节点集合中每个待调度节点的当前节点质量分数和每个待调度节点的调度阈值,其中,所述每个待调度节点的调度阈值根据每个待调度节点在第一预设周期内的至少两个节点质量分数确定;基于所述每个待调度节点的当前节点质量分数和每个待调度节点的调度阈值确定目标调度节点;调度所述待处理直播流至所述目标调度节点。本申请一实施例实现了通过为每个节点质量打分,并不断探测节点可承受的最多直播流数,根据节点质量动态调整单个节点可被调度的阈值,从而针对性对将直播流调度至合适的节点。
与上述方法实施例相对应,本申请还提供了节点调度装置实施例,图4示出了本申请一实施例提供的一种节点调度装置的结构示意图。如图4所示,该装置包括:
接收模块402,被配置为接收待处理直播流,确定所述待处理直播流对应的待调度节点集合;
获取模块404,被配置为获取所述待调度节点集合中每个待调度节点的当前节点质量分数和每个待调度节点的调度阈值,其中,所述每个待调度节点的调度阈值根据每个待调度节点在第一预设周期内的至少两个节点质量分数确定;
确定模块406,被配置为基于所述每个待调度节点的当前节点质量分数和每个待调度节点的调度阈值确定目标调度节点;
调度模块408,被配置为调度所述待处理直播流至所述目标调度节点。
在本申请一具体实施方式中,所述获取模块404,进一步被配置为:在所述待调度节点集合中确定目标待调度节点;
获取所述目标待调度节点的当前节点质量分数;
基于所述目标待调度节点在第一预设时间周期内的节点质量分数确定所述目标待调度节点的调度阈值。
所述获取模块404,进一步被配置为:获取所述目标待调度节点的节点抖动率和节点断开率;
基于所述目标待调度节点的节点抖动率和节点断开率计算所述目标待调度节点的当前节点质量分数。
所述获取模块404,进一步被配置为:统计所述目标待调度节点在第二预设时间周期内的总直播流数值;
统计所述目标待调度节点在所述第二预设时间周期内发生抖动的直播流的抖动直播流数值;
基于所述目标待调度节点的抖动直播流数值以及总直播流数值计算所述目标待调度节点的节点抖动率。
所述装置还包括抖动确定模块,被配置为选择所述第二预设时间周期内调度至所述目标待调度节点的目标直播流;
统计所述目标待调度节点在所述第二预设时间周期内的每个预设时间点接收到目标直播流的数据包数值;
计算所述目标待调度节点在所述第二预设时间周期内接收到目标直播流的数据包平均值;
根据每个预设时间点接收到目标直播流的数据包数值和所述数据包平均值确定抖动时间点数值;
根据所述抖动时间点数值和预设时间点数值确定目标直播流在所述第二预设时间周期内是否发生抖动。
所述获取模块404,进一步被配置为:统计所述目标待调度节点在第三预设时间周期内的总直播流数值;
统计所述目标待调度节点在所述第三预设时间周期内发生断开的直播流的断开直播流数值;
基于所述目标待调度节点的断开直播流数值以及总直播流数值计算所述目标待调度节点的节点断开率。
所述获取模块404,进一步被配置为:在所述待调度节点集合中确定目标待调度节点;
获取所述目标待调度节点在第一预设时间周期内的至少两个节点质量分数的质量分数平均值和质量分数标准差;
基于所述质量分数平均值和所述质量分数标准差,计算所述目标待调度节点的调度阈值。
所述获取模块404,进一步被配置为:获取所述目标待调度节点在第一预设时间周期内的至少两个节点质量分数和每个节点质量分数对应的直播流数值;
根据每个节点质量分数和每个节点质量分数对应的直播流数值确定每个节点质量分数对应的质量直播流斜率;
根据每个节点质量分数对应的质量直播流斜率确定临界节点质量分数;
根据所述临界节点质量分数在至少两个节点质量分数中确定目标节点质量分数集合;
根据所述目标节点质量分数集合计算所述目标待调度节点在第一预设时间周期内的节点质量分数的质量分数平均值和质量分数标准差。
所述获取模块404,进一步被配置为:将第一个质量直播流斜率大于预设阈值的节点质量分数作为临界点质量分数。
所述确定模块406,进一步被配置为将当前节点质量分数大于调度阈值的待调度节点组成目标待调度节点集合;
根据预设的调度节点规则在所述目标待调度节点集合中确定目标调度节点。
所述接收模块402,进一步被配置为:获取所述待处理直播流对应的位置信息;
基于所述位置信息获取与所述位置信息对应的调度节点作为待调度节点,构成所述待调度节点集合。
本申请的节点调度装置,接收待处理直播流,确定所述待处理直播流对应的待调度节点集合;获取所述待调度节点集合中每个待调度节点的当前节点质量分数和每个待调度节点的调度阈值,其中,所述每个待调度节点的调度阈值根据每个待调度节点在第一预设周期内的至少两个节点质量分数确定;基于所述每个待调度节点的当前节点质量分数和每个待调度节点的调度阈值确定目标调度节点;调度所述待处理直播流至所述目标调度节点。本申请一实施例实现了通过为每个节点质量打分,并不断探测节点可承受的最多直播流数,根据节点质量动态调整单个节点可被调度的阈值,从而针对性对将直播流调度至合适的节点。
上述为本实施例的一种节点调度装置的示意性方案。需要说明的是,该节点调度装置的技术方案与上述的节点调度方法的技术方案属于同一构思,节点调度装置的技术方案未详细描述的细节内容,均可以参见上述节点调度方法的技术方案的描述。
图5示出了根据本申请一实施例提供的一种计算设备500的结构框图。该计算设备500的部件包括但不限于存储器510和处理器520。处理器520与存储器510通过总线530相连接,数据库550用于保存数据。
计算设备500还包括接入设备540,接入设备540使得计算设备500能够经由一个或多个网络560通信。这些网络的示例包括公用交换电话网(PSTN)、局域网(LAN)、广域网(WAN)、个域网(PAN)或诸如因特网的通信网络的组合。接入设备540可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(NIC))中的一个或多个,诸如IEEE802.11无线局域网(WLAN)无线接口、全球微波互联接入(Wi-MAX)接口、以太网接口、通用串行总线(USB)接口、蜂窝网络接口、蓝牙接口、近场通信(NFC)接口,等等。
在本申请的一个实施例中,计算设备500的上述部件以及图5中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图5所示的计算设备结构框图仅仅是出于示例的目的,而不是对本申请范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。
计算设备500可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或PC的静止计算设备。计算设备500还可以是移动式或静止式的服务器。
其中,处理器520执行所述计算机指令时实现所述的节点调度方法的步骤。
上述为本实施例的一种计算设备的示意性方案。需要说明的是,该计算设备的技术方案与上述的节点调度方法的技术方案属于同一构思,计算设备的技术方案未详细描述的细节内容,均可以参见上述节点调度方法的技术方案的描述。
本申请一实施例还提供一种计算机可读存储介质,其存储有计算机指令,该计算机指令被处理器执行时实现如前所述节点调度方法的步骤。
上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述的节点调度方法的技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述节点调度方法的技术方案的描述。
上述对本申请特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上公开的本申请优选实施例只是用于帮助阐述本申请。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本申请的内容,可作很多的修改和变化。本申请选取并具体描述这些实施例,是为了更好地解释本申请的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本申请。本申请仅受权利要求书及其全部范围和等效物的限制。

Claims (14)

1.一种节点调度方法,其特征在于,包括:
接收待处理直播流,确定所述待处理直播流对应的待调度节点集合;
获取所述待调度节点集合中每个待调度节点的当前节点质量分数和每个待调度节点的调度阈值,其中,所述每个待调度节点的调度阈值根据每个待调度节点在第一预设周期内的至少两个节点质量分数确定;
基于所述每个待调度节点的当前节点质量分数和每个待调度节点的调度阈值确定目标调度节点;
调度所述待处理直播流至所述目标调度节点。
2.如权利要求1所述的节点调度方法,其特征在于,获取所述待调度节点集合中每个待调度节点的当前节点质量分数和每个待调度节点的调度阈值,包括:
在所述待调度节点集合中确定目标待调度节点;
获取所述目标待调度节点的当前节点质量分数;
基于所述目标待调度节点在第一预设时间周期内的节点质量分数确定所述目标待调度节点的调度阈值。
3.如权利要求2所述的节点调度方法,其特征在于,获取所述目标待调度节点的当前节点质量分数,包括:
获取所述目标待调度节点的节点抖动率和节点断开率;
基于所述目标待调度节点的节点抖动率和节点断开率计算所述目标待调度节点的当前节点质量分数。
4.如权利要求3所述的节点调度方法,其特征在于,获取所述目标待调度节点的节点抖动率,包括:
统计所述目标待调度节点在第二预设时间周期内的总直播流数值;
统计所述目标待调度节点在所述第二预设时间周期内发生抖动的直播流的抖动直播流数值;
基于所述目标待调度节点的抖动直播流数值以及总直播流数值计算所述目标待调度节点的节点抖动率。
5.如权利要求4所述的节点调度方法,其特征在于,通过下述步骤确定直播流在所述第二预设时间周期内是否发生抖动:
选择所述第二预设时间周期内调度至所述目标待调度节点的目标直播流;
统计所述目标待调度节点在所述第二预设时间周期内的每个预设时间点接收到目标直播流的数据包数值;
计算所述目标待调度节点在所述第二预设时间周期内接收到目标直播流的数据包平均值;
根据每个预设时间点接收到目标直播流的数据包数值和所述数据包平均值确定抖动时间点数值;
根据所述抖动时间点数值和预设时间点数值确定目标直播流在所述第二预设时间周期内是否发生抖动。
6.如权利要求3所述的节点调度方法,其特征在于,获取所述目标待调度节点的节点断开率,包括:
统计所述目标待调度节点在第三预设时间周期内的总直播流数值;
统计所述目标待调度节点在所述第三预设时间周期内发生断开的直播流的断开直播流数值;
基于所述目标待调度节点的断开直播流数值以及总直播流数值计算所述目标待调度节点的节点断开率。
7.如权利要求1所述的节点调度方法,其特征在于,所述每个待调度节点的调度阈值根据每个待调度节点在第一预设周期内的至少两个节点质量分数确定,包括:
在所述待调度节点集合中确定目标待调度节点;
获取所述目标待调度节点在第一预设时间周期内的至少两个节点质量分数的质量分数平均值和质量分数标准差;
基于所述质量分数平均值和所述质量分数标准差,计算所述目标待调度节点的调度阈值。
8.如权利要求7所述的节点调度方法,其特征在于,获取所述目标待调度节点在第一预设时间周期内的至少两个节点质量分数的质量分数平均值和质量分数标准差,包括:
获取所述目标待调度节点在第一预设时间周期内的至少两个节点质量分数和每个节点质量分数对应的直播流数值;
根据每个节点质量分数和每个节点质量分数对应的直播流数值确定每个节点质量分数对应的质量直播流斜率;
根据每个节点质量分数对应的质量直播流斜率确定临界节点质量分数;
根据所述临界节点质量分数在至少两个节点质量分数中确定目标节点质量分数集合;
根据所述目标节点质量分数集合计算所述目标待调度节点在第一预设时间周期内的节点质量分数的质量分数平均值和质量分数标准差。
9.如权利要求8所述的节点调度方法,其特征在于,根据每个节点质量分数对应的质量直播流斜率确定临界节点质量分数,包括:
将第一个质量直播流斜率大于预设阈值的节点质量分数作为临界点质量分数。
10.如权利要求1所述的节点调度方法,其特征在于,基于所述每个待调度节点的当前节点质量分数和每个待调度节点的调度阈值确定目标调度节点,包括:
将当前节点质量分数大于调度阈值的待调度节点组成目标待调度节点集合;
根据预设的调度节点规则在所述目标待调度节点集合中确定目标调度节点。
11.如权利要求1-10任意一项所述的节点调度方法,其特征在于,接收待处理直播流,确定所述待处理直播流对应的待调度节点集合,包括:
获取所述待处理直播流对应的位置信息;
基于所述位置信息获取与所述位置信息对应的调度节点作为待调度节点,构成所述待调度节点集合。
12.一种节点调度装置,其特征在于,包括:
接收模块,被配置为接收待处理直播流,确定所述待处理直播流对应的待调度节点集合;
获取模块,被配置为获取所述待调度节点集合中每个待调度节点的当前节点质量分数和每个待调度节点的调度阈值,其中,所述每个待调度节点的调度阈值根据每个待调度节点在第一预设周期内的至少两个节点质量分数确定;
确定模块,被配置为基于所述每个待调度节点的当前节点质量分数和每个待调度节点的调度阈值确定目标调度节点;
调度模块,被配置为调度所述待处理直播流至所述目标调度节点。
13.一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机指令,其特征在于,所述处理器执行所述计算机指令时实现权利要求1-11任意一项所述方法的步骤。
14.一种计算机可读存储介质,其存储有计算机指令,其特征在于,该计算机指令被处理器执行时实现权利要求1-11任意一项所述方法的步骤。
CN202110987389.3A 2021-08-26 2021-08-26 节点调度方法及装置 Active CN113596509B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110987389.3A CN113596509B (zh) 2021-08-26 2021-08-26 节点调度方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110987389.3A CN113596509B (zh) 2021-08-26 2021-08-26 节点调度方法及装置

Publications (2)

Publication Number Publication Date
CN113596509A true CN113596509A (zh) 2021-11-02
CN113596509B CN113596509B (zh) 2023-04-11

Family

ID=78239367

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110987389.3A Active CN113596509B (zh) 2021-08-26 2021-08-26 节点调度方法及装置

Country Status (1)

Country Link
CN (1) CN113596509B (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105207947A (zh) * 2015-08-28 2015-12-30 网宿科技股份有限公司 一种过滤抖动的渐进式流量调度方法和系统
CN109889569A (zh) * 2019-01-03 2019-06-14 网宿科技股份有限公司 Cdn服务调度方法及系统
CN109951716A (zh) * 2019-03-26 2019-06-28 北京达佳互联信息技术有限公司 一种主播调度方法、装置、电子设备及可读存储介质
CN111464659A (zh) * 2020-04-27 2020-07-28 广州虎牙科技有限公司 节点的调度、节点的预选处理方法、装置、设备及介质
CN113038191A (zh) * 2021-02-26 2021-06-25 北京百度网讯科技有限公司 直播流的调度方法、装置、电子设备及可读存储介质
CN113099261A (zh) * 2021-04-27 2021-07-09 上海哔哩哔哩科技有限公司 节点处理方法及装置、节点处理系统
CN113194134A (zh) * 2021-04-27 2021-07-30 上海哔哩哔哩科技有限公司 节点确定方法及装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105207947A (zh) * 2015-08-28 2015-12-30 网宿科技股份有限公司 一种过滤抖动的渐进式流量调度方法和系统
CN109889569A (zh) * 2019-01-03 2019-06-14 网宿科技股份有限公司 Cdn服务调度方法及系统
CN109951716A (zh) * 2019-03-26 2019-06-28 北京达佳互联信息技术有限公司 一种主播调度方法、装置、电子设备及可读存储介质
CN111464659A (zh) * 2020-04-27 2020-07-28 广州虎牙科技有限公司 节点的调度、节点的预选处理方法、装置、设备及介质
CN113038191A (zh) * 2021-02-26 2021-06-25 北京百度网讯科技有限公司 直播流的调度方法、装置、电子设备及可读存储介质
CN113099261A (zh) * 2021-04-27 2021-07-09 上海哔哩哔哩科技有限公司 节点处理方法及装置、节点处理系统
CN113194134A (zh) * 2021-04-27 2021-07-30 上海哔哩哔哩科技有限公司 节点确定方法及装置

Also Published As

Publication number Publication date
CN113596509B (zh) 2023-04-11

Similar Documents

Publication Publication Date Title
US8825777B2 (en) Selective delivery of social network messages within a social network
US9730016B2 (en) Broadcast of content data to geographic areas by devices
US8775605B2 (en) Method and apparatus to identify outliers in social networks
US10205908B2 (en) Multi-media quality of service and quality of user experience optimization through voice prioritization
US20170048161A1 (en) Adaptive data synchronization
US20200359075A1 (en) Pre-positioning of streaming content onto communication devices for future content recommendations
CN113055701B (zh) 数据处理方法及装置
WO2022193835A1 (zh) 数据处理方法、直播方法、鉴权服务器及直播数据服务器
CN113055692A (zh) 数据处理方法及装置
CN113194134B (zh) 节点确定方法及装置
CN113891114B (zh) 转码任务调度方法及装置
CN113891175B (zh) 直播推流方法、装置及系统
CN114501073A (zh) 直播回源方法及装置
CN113676754A (zh) 直播视频转码方法及装置
WO2012109958A1 (zh) 通信网络中数据处理的方法及设备
US20220053373A1 (en) Communication apparatus, communication method, and program
CN114173160B (zh) 直播推流方法及装置
EP3285217A1 (en) A method for predicting the engagement level of a user of a user device, a related engagement prediction device and user device
CN102902674A (zh) 服务群组分类方法和系统
CN113596509B (zh) 节点调度方法及装置
CN107483990B (zh) 一种流媒体传输的动态码率调节方法、装置及传输系统
CN114866790B (zh) 直播流调度方法及装置
US12010525B2 (en) Prioritizing an issue reported by a user of a wireless telecommunication network
CN115942007A (zh) 直播流调度方法及装置
CN114679598B (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