一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

直播流调度方法及装置与流程

2022-08-10 16:17:25 来源:中国专利 TAG:


1.本技术涉及计算机技术领域,特别涉及直播流调度方法。本技术同时涉及直播流调度装置,一种计算设备,以及一种计算机可读存储介质。


背景技术:

2.随着直播技术的不断发展,为了保证边缘计算容器可以提供更好的直播流推流服务,通常会采用发布新版本边缘计算容器的方式对边缘计算容器进行升级;在发布新版本时,通常需要断开当前直播流的推流链接,影响用户或主播的使用。
3.目前,为了解决上述问题,通常会在同一边缘计算节点中创建一个与旧版本ip地址一致的新版本容器,再将直播流转发至新版本容器,实现版本更新。
4.然而,当前的解决方案由于无法确定新版本的容器服务质量,容易造成影响直播流推流质量的问题。
5.因此,如何在版本更新过程中保证直播流的推流质量成为本领域技术人员亟待解决的技术问题。


技术实现要素:

6.有鉴于此,本技术实施例提供了直播流调度方法。本技术同时涉及直播流调度装置,一种计算设备,以及一种计算机可读存储介质,以解决现有技术中存在的服务版本更新对直播流推流影响较大的技术问题。
7.根据本技术实施例的第一方面,提供了一种直播流调度方法,包括:
8.接收直播流调度请求,并基于所述直播流调度请求确定直播流标识以及目标边缘计算节点;
9.获取所述目标边缘计算节点中初始边缘计算容器的第一容器属性信息和目标边缘计算容器的第二容器属性信息;
10.根据所述第一容器属性信息确定所述初始边缘计算容器的第一容器质量信息,并根据所述第二容器属性信息确定所述目标边缘计算容器的第二容器质量信息;
11.基于所述第一容器质量信息、所述第二容器质量信息和预设推流策略确定所述直播流标识对应的边缘计算容器标识。
12.根据本技术实施例的第一方面,提供了另一种直播流调度方法,包括:
13.接收容器版本更新请求,并基于所述容器版本更新请求确定初始边缘计算容器和初始边缘计算容器标识;
14.获取预设容器命名规则以及所述容器版本更新请求中的版本更新数据;
15.基于所述预设容器命名规则和所述版本更新数据创建与所述初始边缘计算容器对应的目标边缘计算容器以及目标边缘计算容器标识。
16.根据本技术实施例的第三方面,提供了一种直播流调度装置,包括:
17.接收模块,被配置为接收直播流调度请求,并基于所述直播流调度请求确定直播
流标识以及目标边缘计算节点;
18.获取模块,被配置为获取所述目标边缘计算节点中初始边缘计算容器的第一容器属性信息和目标边缘计算容器的第二容器属性信息;
19.第一确定模块,被配置为根据所述第一容器属性信息确定所述初始边缘计算容器的第一容器质量信息,并根据所述第二容器属性信息确定所述目标边缘计算容器的第二容器质量信息;
20.第二确定模块,被配置为基于所述第一容器质量信息、所述第二容器质量信息和预设推流策略确定所述直播流标识对应的边缘计算容器标识。
21.根据本技术实施例的第四方面,提供了一种直播流调度装置,包括:
22.接收模块,被配置为接收容器版本更新请求,并基于所述容器版本更新请求确定初始边缘计算容器和初始边缘计算容器标识;
23.获取模块,被配置为获取预设容器命名规则以及所述容器版本更新请求中的版本更新数据;
24.创建模块,被配置为基于所述预设容器命名规则和所述版本更新数据创建与所述初始边缘计算容器对应的目标边缘计算容器以及目标边缘计算容器标识。
25.根据本技术实施例的第五方面,提供了一种直播流调度系统,所述直播流调度系统中包含边缘计算节点和调度服务器,其中,
26.所述边缘计算节点,被配置为接收容器版本更新请求,并基于所述容器版本更新请求确定初始边缘计算容器和初始边缘计算容器标识;获取预设容器命名规则以及所述容器版本更新请求中的版本更新数据;基于所述预设容器命名规则和所述版本更新数据创建与所述初始边缘计算容器对应的目标边缘计算容器以及目标边缘计算容器标识;
27.所述调度服务器,被配置为接收直播流调度请求,并基于所述直播流调度请求确定直播流标识以及目标边缘计算节点;获取所述目标边缘计算节点中初始边缘计算容器的第一容器属性信息和目标边缘计算容器的第二容器属性信息;根据所述第一容器属性信息确定所述初始边缘计算容器的第一容器质量信息,并根据所述第二容器属性信息确定所述目标边缘计算容器的第二容器质量信息;基于所述第一容器质量信息、所述第二容器质量信息和预设推流策略确定所述直播流标识对应的边缘计算容器标识。
28.根据本技术实施例的第六方面,提供了一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机指令,所述处理器执行所述计算机指令时实现所述直播流调度方法的步骤。
29.根据本技术实施例的第七方面,提供了一种计算机可读存储介质,其存储有计算机指令,该计算机指令被处理器执行时实现所述直播流调度方法的步骤。
30.本技术提供的直播流调度方法,接收直播流调度请求,并基于所述直播流调度请求确定直播流标识以及目标边缘计算节点;获取所述目标边缘计算节点中初始边缘计算容器的第一容器属性信息和目标边缘计算容器的第二容器属性信息;根据所述第一容器属性信息确定所述初始边缘计算容器的第一容器质量信息,并根据所述第二容器属性信息确定所述目标边缘计算容器的第二容器质量信息;基于所述第一容器质量信息、所述第二容器质量信息和预设推流策略确定所述直播流标识对应的边缘计算容器标识。
31.本技术一实施例实现了基于从边缘计算节点中获取的第一容器属性信息和第二
容器属性信息,分别确定初始边缘计算容器的第一容器质量信息以及目标边缘计算容器的第二容器质量信息,以便基于容器质量信息确定不同版本的边缘计算容器的服务质量;根据第一容器质量信息、第二容器质量信息和预设推流策略确定直播流标识对应的边缘计算容器标识,从而便于基于边缘计算容器标识确定服务质量高的边缘计算容器,进而保证在容器版本更新过程中直播流的推流质量。
附图说明
32.图1是本技术一实施例提供的一种直播流调度方法的流程图;
33.图2是本技术一实施例提供的另一种直播流调度方法的流程图;
34.图3是本技术一实施例提供的一种直播流调度系统的示意图;
35.图4是本技术一实施例提供的一种应用于边缘计算节点g的直播流调度方法的处理流程图;
36.图5是本技术一实施例提供的一种容器调度策略的流程示意图;
37.图6是本技术一实施例提供的一种直播流调度装置的结构示意图;
38.图7是本技术一实施例提供的另一种直播流调度装置的结构示意图;
39.图8是本技术一实施例提供的一种计算设备的结构框图。
具体实施方式
40.在下面的描述中阐述了很多具体细节以便于充分理解本技术。但是本技术能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本技术内涵的情况下做类似推广,因此本技术不受下面公开的具体实施的限制。
41.在本技术一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本技术一个或多个实施例。在本技术一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本技术一个或多个实施例中使用的术语“和/或”是指包含一个或多个相关联的列出项目的任何或所有可能组合。
42.应当理解,尽管在本技术一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本技术一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”。
43.首先,对本技术一个或多个实施例涉及的名词术语进行解释。
44.直播流:直播音视频数据的传输,它能够被作为一个稳定的和连续的流通过网络传输给观众观看。
45.直播拉流:拉流是指通过直播云平台到用户指定的源站拉取直播流的过程。
46.边缘计算节点容器:用于接收推流的服务。
47.nginx:高性能的web和反向代理服务器,可以将特定的请求,根据设定的规则,转发请求到固定的服务器上。
48.在直播系统中,边缘计算容器用于接受主播推流。推流过程是一个长链接,即如果
主播不主动断流,链接是不会断开的。而对于边缘计算容器上的服务,是需要升级的,升级需要发布新版本,就会主动的断开主播的推流链接。在发布新版本的过程中,该节点上的流均会被断开,影响的主播和用户的数量较多,带来的观看体验很差。
49.目前,针对上述问题一般会推出蓝绿发版的方式,即在发版本的时候,不主动的停止原来的服务,在同节点上内,另起一个容器,他们共用一个公网ip。在直播流转发上,在上层部署nginx,在点击发版本的时候,检测到新容器启动后,通过定时任务,在下一个循环周期内,修改nginx配置,将公网ip转发到新起的容器内部,完成直播流的转发。
50.然而,上述方式仍存在许多问题:(1)nginx转发不是实时生效的,需要定时任务,存在滞后性,如果调度出现问题,直播流再调度给原来旧版的容器,仍需要时间进行转发。(2)共用一个公网ip:当直播流转发到新容器后,原来的直播流还在和旧版的容器保持链接,此时用户需要观看时,cdn需要回源到推流的边缘节点上才可以拉到流,但是该ip已经转发到新容器流,所以cdn回源拉不到流,进而造成用户观看黑屏。(3)停止老版本的时间问题:新的容器已经启动,由于缺少对旧版本的实时监控导致不能及时下掉旧版容器。(4)新版本服务质量未知:新容器的服务质量无法确定,在新容器推流质量差的情况下会影响主播推流质量以及用户观看和体验感。
51.在本技术中,提供了直播流调度方法,本技术同时涉及直播流调度装置,一种计算设备,以及一种计算机可读存储介质,在下面的实施例中逐一进行详细说明。
52.图1示出了根据本技术一实施例提供的一种直播流调度方法的流程图,该直播流调度方法应用于调度服务器,具体包括以下步骤:
53.步骤102:接收直播流调度请求,并基于所述直播流调度请求确定直播流标识以及目标边缘计算节点。
54.其中,直播流调度请求是指在边缘计算节点中调度接收直播流的边缘计算容器的请求,如,调度边缘计算节点a中可以接收目标直播流的边缘计算容器a;解析直播流调度请求获得直播流标识,其中,直播流标识是指可唯一标识目标直播流的字段,如,直播流id号、直播流名称等等;目标边缘计算节点是指在边缘计算节点集群中确定的边缘计算节点。
55.在实际应用中,为了提高对直播流推流任务的处理效率,调度服务器在接收到直播流推流请求后,会优先调度服务质量较好的边缘计算节点处理直播流,具体的,基于所述直播流调度请求确定目标边缘计算节点的方法可以包括:
56.响应于直播流调度请求,确定边缘计算节点集群中每个边缘计算节点的节点服务质量分数;
57.根据每个边缘计算节点的节点服务质量分数确定目标边缘计算节点。
58.其中,节点服务质量分数是指用于表示边缘计算节点服务质量的数值,节点服务质量分数的计算方式本技术不做具体限定;在确定每个边缘计算节点的节点质量分数后,可基于节点质量分数对边缘计算节点进行排序,选取节点质量分数最高(即当前服务质量较好)的边缘计算节点作为目标边缘计算节点;此外,还可采用其他方式在边缘节点集群中选取目标边缘节点,本技术不做具体限定。
59.具体的,基于主播客户端的直播流推流任务生成直播流调度请求;调度服务器接收生成的直播流调度请求,其中,直播流调度请求中包含直播流标识,以用于后续确定待推流的目标直播流;基于直播流调度请求在边缘计算节点集群中选取目标边缘计算节点。
60.通过接收直播流调度请求,对直播流调度请求进行解析得到直播流标识,并根据直播流调度请求确定目标边缘计算节点,以便后续在服务质量较好的目标边缘计算节点中确定边缘计算容器,进而便于后续使用服务质量较高的边缘计算容器处理直播流,提升对直播流的处理效率。
61.步骤104:获取所述目标边缘计算节点中初始边缘计算容器的第一容器属性信息和目标边缘计算容器的第二容器属性信息。
62.在实际应用中,为了实现不停止直播流推流的情况下,对边缘计算容器进行版本更新,通常会在边缘计算节点中基于版本信息创建新的边缘计算容器,即目标边缘计算节点中可以同时包含初始边缘计算容器和目标边缘计算容器。
63.其中,初始边缘计算容器是指目标边缘计算节点中包含的旧版本的边缘计算容器;目标边缘计算容器是指目标边缘计算节点中包含的新版本的边缘计算容器;例如,在边缘计算节点a中包含1.0版本的边缘计算容器以及2.0版本的边缘计算容器;第一容器属性信息是指初始边缘计算容器的容器属性信息;第二容器属性信息是指目标边缘计算容器的容器属性信息。
64.容器属性信息是指与边缘计算容器相关的属性信息;第一容器属性信息是指初始边缘计算容器的容器属性信息,具体的,第一容器属性信息中可以包含容器地址信息、容器名称信息、在预设时间周期内初始边缘计算容器的总直播流数值、抖动直播流数值和断开直播流数值;第二容器属性信息是指目标边缘计算容器的容器属性信息,具体的,第二容器属性信息中可以包含容器地址信息、容器名称信息、在预设时间周期内目标边缘计算容器的总直播流数值、抖动直播流数值和断开直播流数值。
65.其中,边缘计算容器的总直播流数值是指边缘计算容器在预设时间周期内接收的直播流总数,如,初始边缘计算容器在预设时间周期内接收到的直播流总数为总直播流数值。
66.在本技术一具体实施方式,预设时间周期为5分钟,即每5分钟统计一次在上一个5分钟内边缘计算容器a接收到的直播流总数300,即边缘计算容器a总直播流数值为300。
67.边缘计算容器的抖动直播流数值是指边缘计算容器在预设时间周期内接收的直播流中发生抖动的直播流总数,如,目标边缘计算容器在预设时间周期内接收的发生抖动的直播流总数为抖动直播流数值。
68.在本技术一具体实施方式中,预设时间周期为30分钟,即每30分钟统计一次在上一个30分钟内边缘计算容器a接收到的发生抖动的直播流总数为50,即边缘计算容器a抖动直播流数值为50。
69.具体的,在实际应用中,可采用下述方式确定直播流在预设时间周期内是否发生抖动,包括步骤s1-s5:
70.s1、选择预设时间周期内调度至边缘计算容器的目标直播流。
71.其中,目标直播流是指边缘计算容器在预设时间周期内接收到的多个直播流中的一条直播流;通过将边缘计算容器在预设时间周期内接收到的每个直播流作为目标直播流,以便确定在预设时间周期内哪条直播流发生了抖动。
72.例如,确定在预设时间周期5分钟中,调度至边缘计算容器的直播流集合g{直播流a、直播流b、直播流c},在直播流集合g中确定直播流a。
73.s2、统计所述边缘计算容器在预设时间周期内的每个预设时间点接收到目标直播流的数据包数值。
74.边缘计算容器可以通过接收数据包的方式接收目标直播流,故可以通过确定边缘计算容器接收数据包的数量确定目标直播流在传输过程中是否发生抖动。
75.其中,目标直播流的数据包数值是指边缘计算容器在预设时间点接收到的数据包总数;预设时间点是指基于预设时间周期预先设定的时间点,可以每隔一个预设时间段,设置一个预设时间点,确定在预设时间点接收到的数据包总数;在预设时间周期内可设置多个预设时间点,从而可以对每个预设时间点接收到的数据包数量进行统计。
76.沿用上例,在预设时间周期5分钟内每隔10秒设置一个时间点,即在预设时间周期5分钟内共设置30个时间点,构成时间点集合{时间点1、时间点2...时间点30};统计在每个时间点接收数据包的总数,如,在时间点7接收到40个数据包,即边缘计算容器在时间点7接收到的直播流b的数据包数值为40。
77.s3、计算所述边缘计算容器在预设时间周期内接收到目标直播流的数据包平均值。
78.其中,数据包平均值是指边缘计算容器在预设时间周期内的每个预设时间点平均接收到的数据包数量。
79.具体的,统计在预设时间周期内每个预设时间点对应的数据包数值,以及预设时间点的总数计算在预设时间周期内每个预设时间点对应的数据包平均值。
80.沿用上例,获取每个预设时间点对应的数据包数值,如,统计时间点1对应的数据包数值34、统计时间点2对应的数据包数值31...统计时间点30对应的数据包数值30;基于预设时间周期内的预设时间点总数30以及每个预设时间点对应的数据包数值计算数据包平均值,即数据包平均值=(时间点1的数据包数值34 时间点2的数据包数值31 ... 时间点30的数据包数值30)/预设时间点总数30=数据包平均值30。
81.s4、根据每个预设时间点接收到目标直播流的数据包数值和数据包平均值确定抖动时间点数值。
82.其中,抖动点数值是指在预设时间周期内的每个预设时间点发生直播流抖动的时间点的数量。
83.具体的,将每个预设时间点的数据包数值与数据包进行比对,获得每个预设时间点对应的数据包数量浮动值;将数据包数量浮动值超过预设浮动阈值的预设时间点,作为发生直播流抖动的预设时间点;其中,数据包数量浮动值是指每个预设时间点对应的数据包数值与数据包平均值之前的差值。
84.预设浮动阈值是指为数据包数量浮动值设置的上限值,在数据包数量浮动值超过预设浮动阈值的情况下,可确定在该预设时间点发生抖动;预设浮动阈值可以基于实际需求进行设定,如,将预设浮动阈值设置为数据包平均值的20%、30%等等,本技术不做具体限定;统计预设时间周期内发生抖动的预设时间点的数量,作为抖动时间点数值。
85.例如,确定每个预设时间点的数据包数量分别为340、395、205、260,计算获得数据包平均值为300,即每个预设时间点对应的数据包浮动值分别为60、95、95、40;根据预设阈值为数据包平均值的30%,即90,确定数据包数量浮动值超过90的预设时间点,即确定数据包数量为395和205对应的预设时间点为发生抖动的预设时间点,则可以统计在预设时间周
期内的抖动时间点数值为2。
86.s5、根据抖动时间点数值和预设时间点数值确定目标直播流在所述预设时间周期内是否发生抖动。
87.其中,预设时间点数值是指在预设时间周期内设置预设时间点的数量,即预设时间点总数;抖动时间点数值是指在预设时间周期内发生抖动的预设时间点的总数。
88.具体的,可以基于预设时间点数值设定预设点数阈值,例如,在预设时间周期内的预设时间点的总数为30,则可以设置预设点数阈值为预设时间点数值的30%,即9个预设时间点;在抖动时间点数值大于预设点数阈值的情况下,则确定目标直播流在预设时间周期内发生了抖动;若抖动时间点数值小于或等于预设点数阈值,则确定目标直播流在预设时间周期内未发生抖动。
89.例如,预设时间点数值为30,设置预设点数阈值为预设时间点数值的30%,即9个预设时间点;确定在预设时间周期内直播流b发生抖动的预设时间点总数为4,即抖动时间点数值为4未超过预设点数阈值9,则将确定直播流b在预设时间周期内未发生抖动。
90.通过上述方法确定边缘计算容器的总直播流数值以及抖动直播流数值,以便后续调度服务器对边缘计算容器的质量进行评价。
91.除了上述确定抖动的直播流的数量外,还可以确定发生断开的直播流的数量,以便后续进一步确定边缘计算容器的处理质量。
92.具体的,边缘计算容器的断开直播流数值是指边缘计算容器在预设时间周期内接收发生断开的直播流,如,目标边缘计算容器在预设时间周期内接收到的发生断开的直播流总数为断开直播流数值。
93.在本技术一具体实施方式中,预设时间周期为10分钟,即每10分钟统计一次在过去的10分钟内边缘计算容器a接收到的发生断开的直播流总数为30,即边缘计算容器a的断开直播流数值为30。
94.在实际应用中,为了使调度服务器可以确定边缘计算容器的实际处理情况,可以由边缘计算节点定时向调度服务器发送容器属性信息,其中,容器属性信息中可以包含容器名称信息、容器地址信息等,以便后续调度服务器基于每个边缘计算容器的实际情况对边缘计算容器进行调度。
95.通过获取边缘计算容器的容器属性信息,以便后续基于边缘计算容器的容器属性信息确定边缘计算节点中当前服务质量较好的边缘计算容器,进而避免新版本的边缘计算容器服务质量不佳,影响直播流推流质量。
96.步骤106:根据所述第一容器属性信息确定所述初始边缘计算容器的第一容器质量信息,并根据所述第二容器属性信息确定所述目标边缘计算容器的第二容器质量信息。
97.在确定边缘计算容器的容器属性信息后,即可基于容器属性信息确定边缘计算容器的容器质量信息。
98.例如,在确定初始边缘计算容器的第一容器属性信息为容器名称信息“a_01”,目标边缘计算容器的第二容器属性信息为容器名称信息“a_02”,则可以基于容器名称信息中包含的版本号确定容器质量信息,由于版本号“02”大于版本号“01”,目标边缘计算容器的版本更高,则可以设置目标边缘计算容器的容器质量信息对应的质量数值大于初始边缘计算容器的质量数值,即目标边缘计算容器的当前容器质量优于初始边缘计算容器。
99.再如,在确定初始边缘计算容器的第一容器属性信息为在预设时间周期内的总直播流数值m,目标边缘计算容器的第二容器属性信息为在预设时间周期内的总直播流数值n,则可以基于总直播流数值确定容器的质量,即在总直播流数值m大于总直播流数值n的情况下,确定目标边缘计算容器的当前负载较高,即服务质量可能较差,则可以设置目标边缘计算容器的容器质量信息对应的质量数值小于初始边缘计算容器的质量数值,即初始边缘计算容器的当前容器质量优于目标边缘计算容器。
100.又如,在确定初始边缘计算容器的第一容器属性信息为容器名称信息“a_01”,目标边缘计算容器的第二容器属性信息为容器名称信息“a_02”,则可以基于容器名称信息中包含的版本号确定容器质量信息,由于版本号“02”大于版本号“01”,目标边缘计算容器的版本更高,则可以设置目标边缘计算容器的容器质量信息对应的质量数值大于初始边缘计算容器的质量数值,即目标边缘计算容器的当前容器质量优于初始边缘计算容器。
101.再如,在确定初始边缘计算容器的第一容器属性信息为容器地址信息“a-ip01”,目标边缘计算容器的第二容器属性信息为容器地址信息“a-ip02”,则可以基于容器地址信息中包含的容器版本号确定容器质量信息,由于版本号“02”大于版本号“01”,即目标边缘计算容器的版本更高,则可以设置目标边缘计算容器的容器质量信息对应的质量数值大于初始边缘计算容器的质量数值,即目标边缘计算容器的当前容器质量优于初始边缘计算容器。
102.上述均为确定容器质量信息的方式,但为了保证获得更为准确的容器质量信息,从而确保对直播流的高效处理,本技术还提供了可以计算容器质量信息的方法,具体如下:
103.获取初始边缘计算容器的第一容器属性信息,根据所述第一容器属性信息确定所述初始边缘计算容器的第一容器质量信息的方法可以包括:
104.根据所述初始边缘计算容器的总直播流数值和抖动直播流数值计算所述初始边缘计算容器的初始容器抖动率;
105.根据所述初始边缘计算容器的总直播流数值和断开直播流数值计算所述初始边缘计算容器的初始容器断开率;
106.基于所述初始容器抖动率和所述初始容器断开率计算所述初始边缘计算容器的第一容器质量信息。
107.其中,初始容器抖动率是指初始边缘计算容器在预设时间周期内接收的直播流中发生抖动的直播流的占比;可以将初始边缘计算容器的抖动直播流数值与总直播流数值之比作为初始容器抖动率,如,边缘计算容器a在预设时间周期5分钟内的总直播流数值200,抖动直播流数值10,计算得到容器抖动率为5%。
108.初始容器断开率是指初始边缘计算容器在预设时间周期内接收的直播流中发生断开的直播流的占比;可以将初始边缘计算容器的断开直播流数值与总直播流数值之比作为初始容器断开率,如,边缘计算容器b在预设时间周期5分钟内的总直播流数值为200,断开直播流数值20,计算得到容器断开率为10%。
109.第一容器质量信息是指初始边缘计算容器的容器质量信息;容器质量信息是指标识初始边缘计算容器的服务质量的数值,在本实施例中,容器质量信息的数值越大表示边缘计算容器的服务质量越好;容器质量信息的数值越小表示边缘计算容器的服务质量较差。
110.在实际应用中,确定容器属性信息中的总直播流数值、断开直播流数值以及抖动直播流数值;基于总直播流数值和断开直播流数值计算容器断开率的公式如下公式1所示:
[0111][0112]
其中,r

代表容器断开率,s

代表预设时间周期内接收发生断开的直播流总数,s

代表预设时间周期内边缘计算容器接收直播流总数,即初始容器断开率=断开直播流数值/总直播流数值。
[0113]
基于总直播流数值以抖动直播流数值计算容器抖动率的公式如下公式2所示:
[0114][0115]
其中,r

代表容器抖动率,s

代表预设时间周期内接收发生抖动的直播流总数,s

代表预设时间周期内边缘计算容器接收的直播流总数,即初始容器抖动率=抖动直播流数值/总直播流数值;
[0116]
基于容器抖动率和容器断开率计算容器质量信息的公式如下公式3所示:
[0117]
q=(1-r
抖-r

)*100%公式3
[0118]
其中,r

代表容器抖动率,r

代表容器断开率,q代表容器质量信息,即第一容器质量信息=(1-初始容器抖动率-初始容器断开率)*100%。
[0119]
在实际应用中,可以基于上述公式计算第二容器属性信息对应的第一容器质量信息;具体根据所述第二容器属性信息确定所述目标边缘计算容器的第二容器质量信息的方法可以包括:
[0120]
根据所述目标边缘计算容器的总直播流数值和抖动直播流数值计算所述目标边缘计算容器的目标容器抖动率;
[0121]
根据所述目标边缘计算容器的总直播流数值和断开直播流数值计算所述目标边缘计算容器的目标容器断开率;
[0122]
基于所述目标容器抖动率和所述目标容器断开率计算所述目标边缘计算容器的第二容器质量信息。
[0123]
其中,目标边缘计算容器是指目标边缘计算容器在预设时间周期内接收的直播流中发生抖动的直播流的占比;初始容器断开率是指目标边缘计算容器在预设时间周期每接收的直播流中发生断开的直播流的占比;第二容器质量信息是指标识目标边缘计算容器的服务质量的数值。
[0124]
具体的,目标容器断开率=断开直播流数值/总直播流数值;目标容器抖动率=抖动直播流数值/总直播流数值;根据目标容器断开率以及目标容器抖动率计算第二容器质量信息,即第二容器质量信息=(1-目标容器抖动率-目标容器断开率)*100%。
[0125]
通过计算初始边缘计算容器的第一容器质量信息以及目标边缘计算容器的第二容器质量信息,以便后续基于容器质量信息确定将直播流推流至边缘计算节点中的哪个边缘计算容器。
[0126]
步骤108:基于所述第一容器质量信息、所述第二容器质量信息和预设推流策略确定所述直播流标识对应的边缘计算容器标识。
[0127]
其中,预设推流策略是指根据容器质量信息确定边缘计算容器接收直播流概率的策略;在实际应用中,旧版本的初始边缘计算容器与新版本的目标边缘计算容器的容器质量信息不同,目标边缘计算容器的服务质量是未知的;为了保证边缘计算容器的服务质量,可以基于容器质量信息判断当前每个边缘计算容器的实际处理情况,在新版本容器推流质量好的情况下,则将更多直播流调度至目标边缘计算容器,在新版本容器推流质量不好的情况下,则减少向目标边缘计算容器推流的直播流的数量。
[0128]
在实际应用中,基于所述第一容器质量信息、所述第二容器质量信息和预设推流策略确定所述直播流标识对应的边缘计算容器标识的方法可以包括:
[0129]
根据所述第一容器质量信息、所述第二容器质量信息和预设推流权重确定所述初始边缘计算容器的第一推流概率和所述目标边缘计算容器的第二推流概率;
[0130]
基于所述第一推流概率以及所述第二推流概率确定所述直播流标识对应的边缘计算容器标识。
[0131]
其中,预设推流权重是指用于计算推流概率的数值,其可以为用于统计时间周期的数值,如,时间周期为10分钟,则预设推流权重可以是1,在下一个时间周期中预设推流权重增加至2。
[0132]
第一推流概率是指向初始边缘计算容器推流直播流的概率;第二推流概率是指向目标边缘计算容器推流直播流的概率;边缘计算容器标识是指可以唯一表示边缘计算容器的字段。
[0133]
在实际应用中,根据所述第一容器质量信息、所述第二容器质量信息和预设推流权重确定所述初始边缘计算容器的第一推流概率和所述目标边缘计算容器的第二推流概率的方法可以包括:
[0134]
在所述第二容器质量信息大于所述第一容器质量信息或所述第一容器质量信息与第二容器质量信息的质量差值小于预设分数阈值的情况下,基于所述预设推流权重计算增加权重;
[0135]
根据所述增加权重计算所述初始边缘计算容器的第一推流概率以及所述目标边缘计算容器的第二推流概率。
[0136]
其中,预设分数阈值是指预先设定的第一容器质量信息与第二容器质量信息之间差值的上限值;增加权重是指通过增加预设推流权重得到数值。
[0137]
在第二容器质量信息大于第一容器质量信息的情况下,表示第二容器质量信息对应的目标边缘计算容器的服务质量更好,则此时为了保证推流质量以及版本更新,可以增加向目标边缘计算容器推流的概率;
[0138]
或在第二容器质量信息与第一容器质量信息之差小于预设分数阈值的情况下,表示初始边缘计算容器与目标边缘计算容器的服务质量相差不多,则此时为了尽快结束旧版本容器的使用,则可以增加向目标边缘计算容器推流的概率。
[0139]
例如,预设推流权重n为1,调度服务器每10分钟进行一次容器质量信息的计算;当前旧版本的边缘计算容器a1的容器质量信息为30%,新版本的边缘计算容器a2的容器质量信息为50%;通过对比容器质量信息确定新版本的边缘计算容器a2服务质量较好,则基于预设推流权重n计算增加权重,即增加权重n=n 1=2;根据增加权重计算边缘计算容器a1的推流概率=1-n*10%=80%;根据增加权重计算边缘计算容器a2的推流概率=n*10%=
20%。
[0140]
在实际应用中,若新版本容器的推流概率达到100%,即无需再通过旧版本的容器进行直播流推流,则需要结束计算容器质量信息;
[0141]
具体根据所述增加权重计算所述初始边缘计算容器的第一推流概率以及所述目标边缘计算容器的第二推流概率之后,可以包括:
[0142]
判断所述增加权重是否等于预设增加权重阈值;
[0143]
若是,则停止调度所述初始边缘计算容器;
[0144]
若否,则确定所述增加权重为预设推流权重,并继续执行根据所述第一容器质量信息、所述第二容器质量信息和预设推流权重确定所述初始边缘计算容器的第一推流概率和所述目标边缘计算容器的第二推流概率的步骤。
[0145]
其中,增加权重阈值是指增加权重的阈值,在增加权重等于预设增加权重阈值的情况下,则无需进一步计算和判断边缘计算容器的容器质量信息;若增加权重不等于预设增加权重阈值的情况下,则需要进一步计算容器质量信息,并进一步计算第一推流概率以及第二推流概率,直至增加权重等于预设增加权重阈值,即第二推流概率达到100%。
[0146]
通过在目标边缘计算容器服务质量较好的情况下,增加第二推流概率并减少第一推流概率,从而使直播流逐步推流至新版本的边缘计算容器,进而在保证推流质量的前提下,将直播流推流至新版本的边缘计算容器,完成容器版本的无缝更新。
[0147]
在实际应用中,根据所述第一容器质量信息、所述第二容器质量信息和预设推流权重确定所述初始边缘计算容器的第一推流概率和所述目标边缘计算容器的第二推流概率的方法还可以包括:
[0148]
在所述第二容器质量信息小于或等于所述第一容器质量信息或所述第一容器信息与第二容器质量信息的质量差值大于或等于预设分数阈值的情况下,基于预设推流权重计算减少权重;
[0149]
根据所述减少权重计算所述初始边缘计算容器的第一推流概率以及所述目标边缘计算容器的第二推流概率。
[0150]
其中,减少权重是指通过减少预设推流权重得到的数值。
[0151]
在第二容器质量信息小于第一容器质量信息的情况下,表示第一容器质量信息对应的目标边缘计算容器的服务质量更好,则此时为了保证推流质量以及版本更新,可以增加向初始边缘计算容器推流的概率;
[0152]
或在第一容器质量信息与第二容器质量信息之差大于或等于预设分数阈值的情况下,表示初始边缘计算容器的服务质量较好,则此时可以减少向目标边缘计算容器推流的概率。
[0153]
例如,预设推流权重n为3,调度服务器每10分钟进行一次容器质量信息的计算;当前旧版本的边缘计算容器a1的容器质量信息为60%,新版本的边缘计算容器a2的容器质量信息为30%;通过对比容器质量信息确定旧版本的边缘计算容器a1服务质量较好,则基于预设推流权重n计算减少权重,即减少权重n=n-1=2;根据减少权重计算边缘计算容器a1的推流概率=1-n*10%=80%;根据增加权重计算边缘计算容器a2的推流概率=n*10%=20%。
[0154]
在实际应用中,若减少权重减少为0,即旧版本容器的推流概率达到100%,为了实
现版本更新,在新版本容器的服务质量较好时,增加其推流概率,则在减少权重为预设减少阈值的情况下,对减少阈值进行重置。
[0155]
具体的,根据所述减少权重计算所述初始边缘计算容器的第一推流概率以及所述目标边缘计算容器的第二推流概率之后,可以包括:
[0156]
在所述减少权重等于预设减少权重阈值的情况下,重置所述减少权重获得预设推流权重;
[0157]
继续执行根据所述第一容器质量信息、所述第二容器质量信息和预设推流权重确定所述初始边缘计算容器的第一推流概率和所述目标边缘计算容器的第二推流概率的步骤。
[0158]
其中,减少权重阈值是指减少权重的阈值,在减少权重等于减少权重阈值的情况下,则需要对减少权重进行重置得到预设推流权重,再基于预设推流权重继续执行容器推流概率的计算;若减少权重不等于减少权重阈值,则将减少权重作为预设推流权重继续执行容器推流概率的计算。
[0159]
通过在目标边缘计算容器服务质量较差的情况下,减少第二推流概率并增加第一推流概率,从而直播流的推流质量,保证容器版本更新不会对推流产生影响。
[0160]
在确定第一推流概率以及第二推流概率后,即可确定直播流标识对应的边缘计算容器标识。
[0161]
例如,第一推流概率为40%,第二推流概率为60%;则在接收到10条直播流的情况下,可以确定其中4条直播流对应的边缘计算容器标识为初始边缘计算容器的标识,6条直播流对应的边缘计算容器标识为目标边缘计算容器的标识。
[0162]
在实际应用中,基于所述第一容器质量信息、所述第二容器质量信息和预设推流策略确定所述直播流标识对应的边缘计算容器标识之后,还可以包括:
[0163]
基于所述边缘计算容器标识生成直播流推流请求;
[0164]
将所述直播流推流请求发送至所述目标边缘计算节点。
[0165]
其中,直播流推流请求是指向边缘计算容器推流的请求,根据边缘计算容器标识可以在目标边缘计算节点中确定可以接收推流的边缘计算容器,从而实现调度服务器对边缘计算容器的调度。
[0166]
进一步地,调度服务器还需要对每个边缘计算容器的直播流信息进行采集,具体的,所述方法可以包括:
[0167]
基于直播流信息采集任务在所述目标边缘计算节点中采集每个边缘计算容器的流信息;
[0168]
在确定目标边缘计算容器的流信息为空的情况下,停止调度所述目标边缘计算容器。
[0169]
其中,直播流信息采集任务是指采集边缘计算节点中边缘计算容器的流信息的任务;流信息是指由边缘计算容器正在推流的直播流的直播流信息。
[0170]
具体的,调度服务器每个预设时长采集边缘计算容器中正在推流的直播流的流信息;若获取不到目标边缘计算容器中正在推流的流信息的情况下,则可以将该目标边缘计算容器删除;需要注意的是,需要基于边缘计算容器的版本信息进行流信息的采集,避免将新版本容器删除。
[0171]
本技术应用于调度服务器的直播流调度方法,通过接收直播流调度请求,并基于所述直播流调度请求确定直播流标识以及目标边缘计算节点,以便后续在目标边缘计算节点中确定对直播流进行推流的边缘计算容器;获取所述目标边缘计算节点中初始边缘计算容器的第一容器属性信息和目标边缘计算容器的第二容器属性信息,以便基于容器属性信息确定容器质量信息;根据所述第一容器属性信息确定所述初始边缘计算容器的第一容器质量信息,并根据所述第二容器属性信息确定所述目标边缘计算容器的第二容器质量信息,以便后续根据容器质量信息动态调度边缘计算容器;基于所述第一容器质量信息、所述第二容器质量信息和预设推流策略确定所述直播流标识对应的边缘计算容器标识,以便在保证推流质量的前提下,调度边缘计算容器,以使边缘计算节点的版本更新不影响推流质量。
[0172]
图2示出了根据本技术一实施例提供的另一种直播流调度方法的流程图,该直播流调度方法应用于边缘计算节点,具体包括以下步骤:
[0173]
步骤202:接收容器版本更新请求,并基于所述容器版本更新请求确定初始边缘计算容器和初始边缘计算容器标识。
[0174]
其中,版本更新请求是指对边缘计算容器进行版本更新的请求;初始边缘计算容器是指旧版本的边缘计算容器;初始边缘计算容器标识是指可以唯一确定初始边缘计算容器的字段,如,初始边缘计算容器的ip地址、容器名称等,需要注意的是,初始边缘计算容器标识是基于预设容器命名规则生成的。
[0175]
例如,接收针对边缘计算容器a的版本更新请求,基于版本更新请求在边缘计算节点中确定边缘计算容器a以及边缘计算容器a的边缘计算容器标识ip地址“a_01”。
[0176]
步骤204:获取预设容器命名规则以及所述容器版本更新请求中的版本更新数据。
[0177]
其中,预设容器命名规则是指为边缘计算容器创建边缘计算容器标识的规则,如,以a为前缀设置边缘计算容器标识;版本更新数据是指用于创建新版本的边缘计算容器的数据。
[0178]
例如,获取预设容器命名规则为以相同前缀和版本号对边缘计算节点中的边缘计算容器进行命名;解析容器版本更新请求,得到容器版本更新请求中包含的版本更新数据。
[0179]
步骤206:基于所述预设容器命名规则和所述版本更新数据创建与所述初始边缘计算容器对应的目标边缘计算容器以及目标边缘计算容器标识。
[0180]
在确定版本更新数据和预设容器命名规则后,即可根据版本更新数据在边缘计算节点中创建目标边缘计算容器,并基于预设容器命名规则设置目标边缘计算容器的目标边缘计算容器标识。
[0181]
需要注意的是,本技术基于预设容器命名规则生成边缘计算容器标识的目的为:在调度服务器采集到边缘计算容器的边缘计算容器标识后,通过边缘计算容器标识的匹配,即可确定用于推流的不同版本的边缘计算容器;并且新版本的边缘计算容器与旧版本的边缘计算容器的容器地址信息(如ip地址)不同,通过调度不同的容器地址信息可以避免客户端拉取不到直播流,导致黑屏等问题的情况发生。
[0182]
例如,边缘计算节点中旧版本的边缘计算容器的容器ip地址为a-01-ip,基于版本更新请求在边缘计算节点中创建的,新版本的边缘计算容器的容器ip地址为a-02-ip。
[0183]
进一步地,边缘计算节点通过接收调度服务器发送的直播流推流请求,确定接收
直播流的边缘计算容器,所述方法可以包括:
[0184]
接收调度服务器发送的直播流推流请求,其中,所述直播流推流请求中携带有边缘计算容器标识和直播流标识;
[0185]
基于所述边缘计算容器标识确定待推流边缘计算容器,并由所述待推流边缘计算容器处理所述直播流标识对应的目标直播流。
[0186]
其中,直播流推流请求是指对目标直播流进行推流的请求;解析直播流推流请求获得边缘计算容器标识以及直播流标识;待推流边缘计算容器是指用于接收目标直播流的边缘计算容器。
[0187]
例如,边缘计算节点a接收直播流推流请求,并对接收到的直播流推流请求进行解析得到边缘计算容器标识以及直播流标识;根据边缘计算容器标识在边缘计算节点中确定边缘计算容器s,边缘计算容器s以及直播流标识确定直播流1,并接收直播流1,从而完成对直播流1的推流。
[0188]
进一步地,为了保证调度服务器可以确定边缘计算节点中边缘计算容器的实时状态,在基于所述预设容器命名规则和所述版本更新数据创建与所述初始边缘计算容器对应的目标边缘计算容器以及目标边缘计算容器标识之后,还可以包括:
[0189]
接收针对目标边缘计算容器的容器启动请求;
[0190]
基于所述容器启动请求确定所述目标边缘计算容器的容器地址信息和容器名称信息;
[0191]
将所述容器地址信息和容器名称信息发送至调度服务器。
[0192]
其中,容器地址信息是指边缘计算容器的ip地址、物理地址等地址信息;容器名称信息是指边缘计算容器的容器名称。
[0193]
具体的,边缘计算节点可以基于边缘计算容器的容器属性信息生成心跳数据,并将心跳数据上报至调度服务器;故在边缘计算节点中创建新版本的边缘计算容器,并启动该边缘计算容器后,需要将其心跳数据上报至调度服务器,以保证调度服务对边缘计算容器的合理调度。
[0194]
本技术应用于边缘计算节点的直播流调度方法,接收容器版本更新请求,并基于所述容器版本更新请求确定初始边缘计算容器和初始边缘计算容器标识,以便后续在边缘计算节点中与初始边缘计算容器对应的边缘计算容器;获取预设容器命名规则以及所述容器版本更新请求中的版本更新数据,以便创建与初始边缘计算容器标识命名规则一致的边缘计算容器;基于所述预设容器命名规则和所述版本更新数据创建与所述初始边缘计算容器对应的目标边缘计算容器以及目标边缘计算容器标识,以便调度服务器可以通过边缘计算容器标识确定不同版本的边缘计算容器。
[0195]
图3示出了根据本技术一实施例提供的一种直播流调度系统示意图,该直播流调度系统包括边缘计算节点302以及调度服务器304,其中,
[0196]
所述边缘计算节点302,被配置为接收容器版本更新请求,并基于所述容器版本更新请求确定初始边缘计算容器和初始边缘计算容器标识;获取预设容器命名规则以及所述容器版本更新请求中的版本更新数据;基于所述预设容器命名规则和所述版本更新数据创建与所述初始边缘计算容器对应的目标边缘计算容器以及目标边缘计算容器标识;
[0197]
所述调度服务器304,被配置为接收直播流调度请求,并基于所述直播流调度请求
确定直播流标识以及目标边缘计算节点;获取所述目标边缘计算节点中初始边缘计算容器的第一容器属性信息和目标边缘计算容器的第二容器属性信息;根据所述第一容器属性信息确定所述初始边缘计算容器的第一容器质量信息,并根据所述第二容器属性信息确定所述目标边缘计算容器的第二容器质量信息;基于所述第一容器质量信息、所述第二容器质量信息和预设推流策略确定所述直播流标识对应的边缘计算容器标识。
[0198]
本技术的直播流调度系统,基于预设命名规则创建目标边缘计算容器以及目标边缘计算容器标识,以便调度服务器可以基于边缘计算容器标识确定可以提供推流服务的不同版本的边缘计算容器;调度服务器通过获取边缘计算容器的容器属性信息,并基于容器属性信息确定容器质量,从而使得调度服务可以基于不同版本容器的服务质量对不同版本的容器进行调度,保证版本更新过程中推流服务的质量,提升用户体验。
[0199]
下述结合附图4,以本技术提供的直播流调度方法在边缘计算节点g的应用为例,对所述直播流调度方法进行进一步说明。其中,图4示出了本技术一实施例提供的一种应用于边缘计算节点b的直播流调度方法的处理流程示意图,具体包括以下步骤:
[0200]
步骤402:心跳服务器接收边缘计算节点g上报的心跳数据。
[0201]
具体的,边缘计算节点g接收到针对边缘计算容器a_01的版本更新请求后,创建了边缘计算容器a_02,其中,边缘计算容器a_01的ip地址为a_01_ip,边缘计算容器a_02的ip地址为a_02_ip。
[0202]
步骤404:新主播客户端向调度服务器发送的直播流推流任务。
[0203]
步骤406:调度服务器接收直播流推流任务,并基于直播流推流任务确定边缘计算节点g,并在心跳服务器中读取边缘计算节点g中的容器属性信息,并基于容器属性信息确定边缘计算容器a_02的ip地址。
[0204]
具体的,参见图5,图5为本技术一实施例提供的一种容器调度策略的流程示意图,可采用如图5所示的步骤确定调度服务器调度边缘计算节点g中边缘计算容器a_02的ip地址的概率以及边缘计算容器a_01的ip地址的概率,包括步骤a1-a9:
[0205]
a1、确定预设推流权重n等于1。
[0206]
a2、计算a_01的容器质量分数m和a_02的容器质量分数n。
[0207]
具体的,获取边缘计算容器a_01的在预设时间周期内的总直播流数值、抖动直播流数值以及断开直播流数值,并基于总直播流数值、抖动直播流数值以及断开直播流数值计算边缘计算容器a_01的容器质量分数m;
[0208]
获取边缘计算容器a_02的在预设时间周期内的总直播流数值、抖动直播流数值以及断开直播流数值,并基于总直播流数值、抖动直播流数值以及断开直播流数值计算边缘计算容器a_02的容器质量分数n。
[0209]
a3、判断m是否大于n或者(m-n)的绝对值是否小于预设阈值;若是,则执行步骤a4,若否,则执行步骤a5。
[0210]
具体的,判断边缘计算容器a_02的容器质量分数是否大于边缘计算容器a_01的容器质量分数;或边缘计算容器a_02的容器质量分数与边缘计算容器a_01的容器质量分数之差的绝对值是否小于预设阈值。
[0211]
a4、预设推流权重加1得到当前推流权重,并基于当前推流权重计算调度a_01的ip地址的第一概率和调度a_02的ip地址的第二概率。
[0212]
具体的,根据当前推流权重2计算边缘计算容器a_02的ip地址的概率=2*10%=20%;边缘计算容器a_01的ip地址的概率=1-2*10%=80%。
[0213]
a5、预设推流权重加1得到当前推流权重,并基于当前推流权重计算调度a_01的ip地址的第一概率和调度a_02的ip地址的第二概率。
[0214]
具体的,根据当前推流权重0边缘计算容器a_02的ip地址的概率=0*10%=0;边缘计算容器a_01的ip地址的概率=1-0*100%=100%。
[0215]
a6、判断当前推流权重是否等于10,若是,则执行步骤a7,若否,则执行步骤a2。
[0216]
a7、结束容器质量分数的计算。
[0217]
a8、判断当前推流权重是否等于0,若是,则执行步骤a9,若否,则执行步骤a2。
[0218]
a9、将当前推流权重重置为1,并继续执行步骤a2。
[0219]
基于上述方法确定调度服务器调度边缘计算节点g中边缘计算容器a_02的ip地址,即后续由边缘计算容器a_02处理新主播客户端的直播流推流任务。
[0220]
步骤408:调度服务器基于边缘计算容器a_02的ip地址生成直播流推流请求,并反馈至新主播客户端。
[0221]
步骤410:新主播客户端基于边缘计算容器a_02的ip地址向边缘计算容器a_02推流直播流。
[0222]
步骤412:调度服务器每隔预设时间段采集一次边缘计算节点中的推流信息,删除不存在推流信息的边缘计算容器。
[0223]
本技术的直播流调度方法,基于预设命名规则创建目标边缘计算容器以及目标边缘计算容器标识,以便调度服务器可以基于边缘计算容器标识确定可以提供推流服务的不同版本的边缘计算容器;调度服务器通过获取边缘计算容器的容器属性信息,并基于容器属性信息确定容器质量,从而使得调度服务可以基于不同版本容器的服务质量对不同版本的容器进行调度,保证版本更新过程中推流服务的质量,提升用户体验。
[0224]
与上述方法实施例相对应,本技术还提供了直播流调度装置实施例,应用于调度服务器,图6示出了本技术一实施例提供的一种直播流调度装置的结构示意图。如图6所示,该装置包括:
[0225]
接收模块602,被配置为接收直播流调度请求,并基于所述直播流调度请求确定直播流标识以及目标边缘计算节点;
[0226]
获取模块604,被配置为获取所述目标边缘计算节点中初始边缘计算容器的第一容器属性信息和目标边缘计算容器的第二容器属性信息;
[0227]
第一确定模块606,被配置为根据所述第一容器属性信息确定所述初始边缘计算容器的第一容器质量信息,并根据所述第二容器属性信息确定所述目标边缘计算容器的第二容器质量信息;
[0228]
第二确定模块608,被配置为基于所述第一容器质量信息、所述第二容器质量信息和预设推流策略确定所述直播流标识对应的边缘计算容器标识。
[0229]
可选地,所述装置还包括发送模块,被配置为:
[0230]
基于所述边缘计算容器标识生成直播流推流请求;
[0231]
将所述直播流推流请求发送至所述目标边缘计算节点。
[0232]
可选地,所述接收模块602,进一步被配置为:
[0233]
响应于直播流调度请求,确定边缘计算节点集群中每个边缘计算节点的节点服务质量分数;
[0234]
根据每个边缘计算节点的节点服务质量分数确定目标边缘计算节点。
[0235]
可选地,所述第一确定模块606,进一步被配置为:
[0236]
根据所述初始边缘计算容器的总直播流数值和抖动直播流数值计算所述初始边缘计算容器的初始容器抖动率;
[0237]
根据所述初始边缘计算容器的总直播流数值和断开直播流数值计算所述初始边缘计算容器的初始容器断开率;
[0238]
基于所述初始容器抖动率和所述初始容器断开率计算所述初始边缘计算容器的第一容器质量信息。
[0239]
可选地,所述第一确定模块606,进一步被配置为:
[0240]
根据所述目标边缘计算容器的总直播流数值和抖动直播流数值计算所述目标边缘计算容器的目标容器抖动率;
[0241]
根据所述目标边缘计算容器的总直播流数值和断开直播流数值计算所述目标边缘计算容器的目标容器断开率;
[0242]
基于所述目标容器抖动率和所述目标容器断开率计算所述目标边缘计算容器的第二容器质量信息。
[0243]
可选地,所述第二确定模块608,进一步被配置为:
[0244]
根据所述第一容器质量信息、所述第二容器质量信息和预设推流权重确定所述初始边缘计算容器的第一推流概率和所述目标边缘计算容器的第二推流概率;
[0245]
基于所述第一推流概率以及所述第二推流概率确定所述直播流标识对应的边缘计算容器标识。
[0246]
可选地,所述第二确定模块608,进一步被配置为:
[0247]
在所述第二容器质量信息大于所述第一容器质量信息或所述第一容器质量信息与第二容器质量信息的质量差值小于预设分数阈值的情况下,基于所述预设推流权重计算增加权重;
[0248]
根据所述增加权重计算所述初始边缘计算容器的第一推流概率以及所述目标边缘计算容器的第二推流概率。
[0249]
可选地,所述装置还包括判断模块,被配置为:
[0250]
判断所述增加权重是否等于预设增加权重阈值;
[0251]
若是,则停止调度所述初始边缘计算容器;
[0252]
若否,则确定所述增加权重为预设推流权重,并继续执行根据所述第一容器质量信息、所述第二容器质量信息和预设推流权重确定所述初始边缘计算容器的第一推流概率和所述目标边缘计算容器的第二推流概率的步骤。
[0253]
可选地,所述第二确定模块608,进一步被配置为:
[0254]
在所述第二容器质量信息小于或等于所述第一容器质量信息或所述第一容器信息与第二容器质量信息的质量差值大于或等于预设分数阈值的情况下,基于预设推流权重计算减少权重;
[0255]
根据所述减少权重计算所述初始边缘计算容器的第一推流概率以及所述目标边
缘计算容器的第二推流概率。
[0256]
可选地,所述装置还包括重置模块,被配置为:
[0257]
在所述减少权重等于预设减少权重阈值的情况下,重置所述减少权重获得预设推流权重;
[0258]
继续执行根据所述第一容器质量信息、所述第二容器质量信息和预设推流权重确定所述初始边缘计算容器的第一推流概率和所述目标边缘计算容器的第二推流概率的步骤。
[0259]
可选地,所述装置还包括采集模块,被配置为:
[0260]
基于直播流信息采集任务在所述目标边缘计算节点中采集每个边缘计算容器的流信息;
[0261]
在确定目标边缘计算容器的流信息为空的情况下,停止调度所述目标边缘计算容器。
[0262]
可选地,所述第一容器属性信息包括容器地址信息、容器名称信息、在预设时间周期内初始边缘计算容器的总直播流数值、抖动直播流数值和断开直播流数值;
[0263]
所述第二容器属性信息包括容器地址信息、容器名称信息、在预设时间周期内目标边缘计算容器的总直播流数值、抖动直播流数值和断开直播流数值。
[0264]
本技术应用于调度服务器的直播流调度装置,通过接收直播流调度请求,并基于所述直播流调度请求确定直播流标识以及目标边缘计算节点,以便后续在目标边缘计算节点中确定对直播流进行推流的边缘计算容器;获取所述目标边缘计算节点中初始边缘计算容器的第一容器属性信息和目标边缘计算容器的第二容器属性信息,以便基于容器属性信息确定容器质量信息;根据所述第一容器属性信息确定所述初始边缘计算容器的第一容器质量信息,并根据所述第二容器属性信息确定所述目标边缘计算容器的第二容器质量信息,以便后续根据容器质量信息动态调度边缘计算容器;基于所述第一容器质量信息、所述第二容器质量信息和预设推流策略确定所述直播流标识对应的边缘计算容器标识,以便在保证推流质量的前提下,调度边缘计算容器,以使边缘计算容器的版本更新不影响推流质量。
[0265]
与上述方法实施例相对应,本技术还提供了另一种直播流调度装置实施例,应用于边缘计算节点,图7示出了本技术一实施例提供的另一种直播流调度装置的结构示意图。如图7所示,该装置包括:
[0266]
接收模块702,被配置为接收容器版本更新请求,并基于所述容器版本更新请求确定初始边缘计算容器和初始边缘计算容器标识;
[0267]
获取模块704,被配置为获取预设容器命名规则以及所述容器版本更新请求中的版本更新数据;
[0268]
创建模块706,被配置为基于所述预设容器命名规则和所述版本更新数据创建与所述初始边缘计算容器对应的目标边缘计算容器以及目标边缘计算容器标识。
[0269]
可选地,所述装置还包括,接收子模块,被配置为:
[0270]
接收调度服务器发送的直播流推流请求,其中,所述直播流推流请求中携带有边缘计算容器标识和直播流标识;
[0271]
基于所述边缘计算容器标识确定待推流边缘计算容器,并由所述待推流边缘计算
容器处理所述直播流标识对应的目标直播流。
[0272]
可选地,所述装置还包括发送子模块,被配置为:
[0273]
接收针对目标边缘计算容器的容器启动请求;
[0274]
基于所述容器启动请求确定所述目标边缘计算容器的容器地址信息和容器名称信息;
[0275]
将所述容器地址信息和容器名称信息发送至调度服务器。
[0276]
本技术应用于边缘计算节点的直播流调度装置,接收容器版本更新请求,并基于所述容器版本更新请求确定初始边缘计算容器和初始边缘计算容器标识,以便后续在边缘计算节点中与初始边缘计算容器对应的边缘计算容器;获取预设容器命名规则以及所述容器版本更新请求中的版本更新数据,以便创建与初始边缘计算容器标识命名规则一致的边缘计算容器;基于所述预设容器命名规则和所述版本更新数据创建与所述初始边缘计算容器对应的目标边缘计算容器以及目标边缘计算容器标识,以便调度服务器可以通过边缘计算容器标识确定不同版本的边缘计算容器。
[0277]
上述为本实施例的一种直播流调度装置的示意性方案。需要说明的是,该直播流调度装置的技术方案与上述的直播流调度方法的技术方案属于同一构思,直播流调度装置的技术方案未详细描述的细节内容,均可以参见上述直播流调度方法的技术方案的描述。
[0278]
图8示出了根据本技术一实施例提供的一种计算设备800的结构框图。该计算设备800的部件包括但不限于存储器810和处理器820。处理器820与存储器810通过总线830相连接,数据库850用于保存数据。
[0279]
计算设备800还包括接入设备840,接入设备840使得计算设备800能够经由一个或多个网络860通信。这些网络的示例包括公用交换电话网(pstn)、局域网(lan)、广域网(wan)、个域网(pan)或诸如因特网的通信网络的组合。接入设备840可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(nic))中的一个或多个,诸如ieee802.11无线局域网(wlan)无线接口、全球微波互联接入(wi-max)接口、以太网接口、通用串行总线(usb)接口、蜂窝网络接口、蓝牙接口、近场通信(nfc)接口,等等。
[0280]
在本技术的一个实施例中,计算设备800的上述部件以及图8中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图8所示的计算设备结构框图仅仅是出于示例的目的,而不是对本技术范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。
[0281]
计算设备800可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或pc的静止计算设备。计算设备800还可以是移动式或静止式的服务器。
[0282]
其中,处理器820执行所述计算机指令时实现所述的直播流调度方法的步骤。
[0283]
上述为本实施例的一种计算设备的示意性方案。需要说明的是,该计算设备的技术方案与上述的直播流调度方法的技术方案属于同一构思,计算设备的技术方案未详细描述的细节内容,均可以参见上述直播流调度方法的技术方案的描述。
[0284]
本技术一实施例还提供一种计算机可读存储介质,其存储有计算机指令,该计算
机指令被处理器执行时实现如前所述直播流调度方法的步骤。
[0285]
上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述的直播流调度方法的技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述直播流调度方法的技术方案的描述。
[0286]
上述对本技术特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
[0287]
所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
[0288]
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本技术并不受所描述的动作顺序的限制,因为依据本技术,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本技术所必须的。
[0289]
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
[0290]
以上公开的本技术优选实施例只是用于帮助阐述本技术。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本技术的内容,可作很多的修改和变化。本技术选取并具体描述这些实施例,是为了更好地解释本技术的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本技术。本技术仅受权利要求书及其全部范围和等效物的限制。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献