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

一种直播资源调度方法、装置、设备及存储介质与流程

2022-04-02 02:01:43 来源:中国专利 TAG:


1.本技术涉及互联网技术领域,尤其涉及一种直播资源调度方法、装置、设备及存储介质。


背景技术:

2.随着计算机技术和互联网技术的迅速发展,近年来,各类直播已逐渐深入人们的日常生活,人们可以通过观看直播获知相关信息,也可以通过观看直播进行购物、娱乐等活动。目前,大型直播(如新闻直播、演唱会直播等)从申请到分发所需经历的流程链路较长,通常需要将申请、接入、转码、分发等各个环节串联起来,才能实现一次大型直播。
3.相关技术中,大型直播全流程上的各个环节,都需要依赖运维人员的人工操作才能实现。具体的,运维人员需要根据直播方提出的直播需求,人工设置或调整服务资源调度逻辑,例如,当接入方式发生改变,或者需要增加多机位,或者基于安全考虑需要增加延迟播放和安全播控等直播需求时,运维人员需要相应地基于直播需求的改变,调整服务调度逻辑。
4.这种依赖人工实现的直播资源调度方式,开发维护成本高,往往需要较高的运维人工成本。


技术实现要素:

5.本技术实施例提供了一种直播资源调度方法、装置、设备及存储介质,能够实现直播资源调度的标准化,使得直播资源调度不再完全依赖于人工操作,大幅降低了运维成本。
6.有鉴于此,本技术第一方面提供了一种直播资源调度方法,所述方法包括:
7.获取目标直播对应的目标直播需求;
8.在资源调度模板集合中,选取与所述目标直播需求相匹配的目标资源调度模板;所述资源调度模板集合中包括多种资源调度模板,每种资源调度模板包括多个具有关联关系的服务节点,不同的服务节点用于提供不同的服务;
9.针对所述目标资源调度模板中的每个服务节点,根据该服务节点下各服务器在所述目标直播的播放时间段内的资源使用情况,从该服务节点下各服务器中选取用于支持播放所述目标直播的目标服务器;
10.播放所述目标直播时,调度所述目标资源调度模板中各服务节点下的所目标服务器为所述目标直播提供服务资源。
11.本技术第二方面提供了一种直播资源调度装置,所述装置包括:
12.需求获取模块,用于获取目标直播对应的目标直播需求;
13.模板选择模块,用于在资源调度模板集合中,选取与所述目标直播需求相匹配的目标资源调度模板;所述资源调度模板集合中包括多种资源调度模板,每种资源调度模板包括多个具有关联关系的服务节点,不同的服务节点用于提供不同的服务;
14.服务器调度模块,用于针对所述目标资源调度模板中的每个服务节点,根据该服
务节点下各服务器在所述目标直播的播放时间段内的资源使用情况,从该服务节点下各服务器中选取用于支持播放所述目标直播的目标服务器;
15.资源调度模块,用于播放所述目标直播时,调度所述目标资源调度模板中各服务节点下的所述目标服务器为所述目标直播提供服务资源。
16.本技术第三方面提供了一种设备,所述设备包括处理器以及存储器:
17.所述存储器用于存储计算机程序;
18.所述处理器用于根据所述计算机程序,执行如上述第一方面所述的直播资源调度方法的步骤。
19.本技术第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质用于存储计算机程序,所述计算机程序用于执行上述第一方面所述的直播资源调度方法的步骤。
20.本技术第五方面提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述第一方面所述的直播资源调度方法的步骤。
21.从以上技术方案可以看出,本技术实施例具有以下优点:
22.本技术实施例提供了一种直播资源调度方法,该方法创新性地将直播资源的调度模板化,根据目标直播对应的目标直播需求,在资源调度模板集合中自动匹配与该目标直播需求适配的目标资源调度模板,并且针对目标资源调度模板中的每个服务节点,根据该服务节点下各服务器在目标直播的播放时间段内的资源使用情况,从该服务节点下各服务器中选取用于支持播放目标直播的目标服务器,播放目标直播时,通过目标资源调度模板中服务节点下的目标服务器播放目标直播。由于资源调度模板集合中各资源调度模板中的服务节点之间的关联关系,是基于大量历史直播中服务间的调用逻辑设置的,因此,能够保证资源调度模板集合中的资源调度模板可以基本满足各类直播的服务资源调用需求;如此,使得直播资源的调度不再完全依赖运维人员的人工操作,可以大幅降低运维成本。此外,针对目标资源调度模板中的每个服务节点,根据该服务节点下各服务器在目标直播的播放时间段内的资源使用情况下,选取出用于支持播放目标直播的目标服务器,能够有效地保证为目标直播提供充足的服务资源,避免在播放目标直播的过程中出现因服务资源短缺,而导致目标直播无法顺利进行的情况。
附图说明
23.图1为本技术实施例提供的直播资源调度方法的应用场景示意图;
24.图2为本技术实施例提供的直播资源调度方法的流程示意图;
25.图3为本技术实施例提供的直播需求配置过程示意图;
26.图4为本技术实施例提供的示例性的资源调度模板中服务节点之间的关系示意图;
27.图5为本技术实施例提供的示例性的服务节点的代码描述方式;
28.图6为本技术实施例提供的直播资源调度方法的实现架构图;
29.图7为本技术实施例提供的第一种直播资源调度装置的结构示意图;
30.图8为本技术实施例提供的第二种直播资源调度装置的结构示意图;
31.图9为本技术实施例提供的第三种直播资源调度装置的结构示意图;
32.图10为本技术实施例提供的第四种直播资源调度装置的结构示意图;
33.图11为本技术实施例提供的服务器的结构示意图。
具体实施方式
34.为了使本技术领域的人员更好地理解本技术方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
35.本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本技术的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
36.相关技术中,大型直播全流程上的各个环节都需要依赖运维人员的人工操作,即运维人员需要根据直播方提出的直播需求,人工设置或调整服务调用逻辑,以在播放直播时,基于该服务调用逻辑调用相关服务资源支持直播的播放。这种依赖人工实现的直播资源调度方式,开发维护的成本高,往往需要投入较高的运维成本。
37.针对相关技术存在的问题,本技术实施例提供了一种直播资源调度方法,该方法能够实现直播资源调度的标准化,使得直播资源调度不再完全依赖于人工操作,大幅降低了运维成本。
38.具体的,在本技术实施例提供的直播资源调度方法中,先获取目标直播对应的目标直播需求;然后在资源调度模板集合中,选取与目标直播需求相匹配的目标资源调度模板,此处的资源调度模板集合中包括多种资源调度模板,每种资源调度模板包括多个具有关联关系的服务节点,不同的服务节点能够提供不同的服务;进而,针对目标资源调度模板中的每个服务节点,根据该服务节点下各服务器在目标直播的播放时间段内的资源使用情况,从该服务节点下各服务器中选取用于支持播放目标直播的目标服务器;播放目标直播时,可以通过上述目标服务器播放目标直播。
39.上述方法创新性地将直播资源的调度模板化,根据目标直播对应的目标直播需求,在资源调度模板集合中自动匹配与该目标直播需求适配的目标资源调度模板,播放目标直播时,基于该目标资源调度模板中服务节点以及服务节点间的关联关系调度相关服务资源。由于资源调度模板集合中各资源调度模板中的服务节点之间的关联关系,是基于大量历史直播中服务间的调用逻辑设置的,因此,能够保证资源调度模板集合中的资源调度模板可以基本满足各类直播的服务资源调用需求;如此,使得直播资源的调度不再完全依赖运维人员的人工操作,可以大幅降低运维成本。此外,针对目标资源调度模板中的每个服务节点,根据该服务节点下各服务器在目标直播的播放时间段内的资源使用情况下,选取
出用于支持播放目标直播的目标服务器,能够有效地保证为目标直播提供充足的服务资源,避免在播放目标直播的过程中出现因服务资源短缺,而导致目标直播无法顺利进行的情况。
40.应理解,本技术实施例提供的直播资源调度方法可以应用于服务器,该服务器具体可以为应用服务器或web服务器,在实际部署时,可以为独立的服务器,也可以为集群服务器或云服务器。
41.为了便于理解本技术实施例提供的直播资源调度方法,下面对该直播资源调度方法所适用的应用场景进行示例性介绍。
42.参见图1,图1为本技术实施例提供的直播资源调度方法的应用场景示意图。如图1所示,该应用场景中包括终端设备110和服务器120,终端设备110与服务器120可以通过有线网络和/或无线网络进行通信。其中,终端设备110用于支持直播方设置目标直播对应的目标直播需求;服务器120用于执行本技术实施例提供的直播资源调度方法,调度目标直播所需的服务资源。
43.具体实现时,直播方可以通过终端设备110针对目标直播设置与其对应的目标直播需求,示例性的,直播方通过终端设备110设置目标直播需求时,可以基于频道和栏目这种二级归类的形式,针对目标直播设置目标直播需求;终端设备110检测到直播方完成目标直播需求的设置后,将所设置的目标直播需求通过网络发送给服务器120。
44.服务器120接收到终端设备110发送的目标直播需求后,可以在资源调度模板集合中选取与该目标直播需求相匹配的目标资源调度模板,此处目标资源调度模板中的服务节点能够为目标直播提供满足其目标直播需求的服务。需要说明的是,资源调度模板集合中包括多种资源调度模板,每种资源调度模板中包括多个具有关联关系(也可称为调用关系)的服务节点,不同服务节点下的服务器能够相应地提供不同的服务;此外,由于资源调度模板集合中各资源调度模板中的服务节点之间的关联关系,通常都是基于大量历史直播中服务间的调用逻辑设置的,因此,资源调度模板集合中的资源调度模板基本能够满足各类直播的服务资源调用需求。
45.服务器120确定出目标资源调度模板后,可以针对目标资源调度目标中的每个服务节点,根据该服务节点下各服务器在目标直播的播放时间段内的资源使用情况,从该服务节点下各服务器中选取出用于支持播放目标直播的目标服务器。如此,保证为目标直播提供充足的服务资源,避免在播放目标直播的过程中出现因服务资源短缺,而导致目标直播无法顺利进行的情况。
46.播放目标直播时,服务器120可以基于目标资源调度模板中的服务节点以及服务节点之间的关联关系相应地调度服务资源,即基于目标资源调度目标中服务节点下的目标服务器播放目标直播。
47.应理解,图1所示的应用场景仅为示例,在实际应用中,本技术实施例提供的直播资源调度方法还可以应用于其他应用场景,在此不对该直播资源调度方法所适用的应用场景做任何限定。
48.下面通过实施例对本技术提供的直播资源调度方法进行详细介绍。
49.参见图2,图2为本技术实施例提供的直播资源调度方法的流程示意图,下述实施例以服务器作为执行主体。如图2所示,该直播资源调度方法包括以下步骤:
50.步骤201:获取目标直播对应的目标直播需求。
51.当直播方需要通过直播平台针对目标直播进行转播时,直播方通常需要针对该目标直播设置对应的目标直播需求,该目标直播需求为直播平台转播目标直播时所需达到的播放条件。示例性的,直播方可以通过终端设备基于直播平台提供的直播需求设置接口,设置目标直播对应的目标直播需求,并在完成目标直播需求的设置后,触发直播需求设置完成操作,进而触发终端设备将所设置的目标直播需求通过网络发送给直播平台对应的服务器。
52.在一些实施例中,直播平台支持设置的直播需求包括但不限于:是否多码率、是否多机位、是否延迟播放、是否进行安全播控以及是否添加水印。其中,多码率是指支持多种码率的视频数据流格式的转换。多机位是指支持来自多个机位的视频数据的处理和转播。延迟播放是指将当前采集的视频数据延迟一段时间后再转播至观看用户,例如将当前采集的视频数据延迟5分钟后再转播给观看用户。安全播控需要在选择延迟播放的前提下实现,安全播控是指在延迟播放的时间段内,对未转播的视频数据进行安全监测和控制,并在监测到未转播的视频数据中存在不宜播放的内容时,对此部分内容进行删除或模糊处理。添加水印是指为了防止他人非法盗用直播视频,在直播视频的画面中添加直播方的水印。
53.应理解,直播方通过直播平台设置目标直播对应的目标直播需求时,通常还需要设置目标直播对应的直播时间、直播地点、直播方式、接入方式等基本信息。
54.需要说明的是,在本技术实施例提供的方法中,为了将直播需求进一步标准化,还可以根据直播类型以频道、栏目的形式对目标直播进行二级归类。即,服务器可以先基于直播频道选择操作,确定目标直播对应的目标直播频道,该目标直播频道用于表征目标直播的一级类别;然后,服务器可以基于该目标直播频道下的直播栏目选择操作,确定该目标直播对应的目标直播栏目,该目标直播栏目用于表征目标直播的二级类别,二级类别是一级类别下的细化分类。
55.下面结合图3所示的直播需求配置过程示意图对上述过程进行介绍。如图3所示,直播方通过直播平台提供的直播需求设置接口设置目标直播对应的目标直播需求之前,可以先通过直播平台提供的直播频道选择控件,选择目标直播对应的目标直播频道。直播方完成目标直播频道的选择后,直播平台将进一步根据直播方选择的目标直播频道,向直播方提供该目标直播频道下的直播栏目,直播方可以在该目标直播频道下的直播栏目中选择目标直播对应的目标直播栏目。直播方完成直播栏目的选择后,可以进一步设置该目标直播对应的目标直播需求,例如,针对该目标直播设置是否多码率、是否多机位、是否延迟播放、是否进行安全播控以及是否添加水印等个性化需求。
56.可选的,每个直播栏目可以关联一种或多种对应的直播需求模板,即直播平台预先可以针对每个直播栏目,根据该直播栏目下各次历史直播对应的直播需求,整理出一种或多种在该直播栏目下较为适用的直播需求,作为直播需求模板。相应地,直播方完成目标直播对应的目标直播栏目的选择后,可以在与该目标直播栏目关联的直播需求模板中,选择一种直播需求模板作为目标直播对应的目标直播需求,当然,直播方也可以根据自身需求自定义目标直播对应的目标直播需求。
57.需要说明的是,上述直播频道和直播栏目实质上可以理解为对于直播类型的一级分类和二级分类。示例性的,直播频道对应较粗粒度的分类,如新闻、游戏、购物、娱乐等,直
播栏目对应较细粒度的分类,例如,在新闻直播频道下的直播栏目可以包括体育新闻、时事新闻、娱乐新闻等等。
58.步骤202:在资源调度模板集合中,选取与所述目标直播需求相匹配的目标资源调度模板;所述资源调度模板集合中包括多种资源调度模板,每种资源调度模板包括多个具有关联关系的服务节点,不同的服务节点用于提供不同的服务。
59.服务器获取到直播方针对目标直播设置的目标直播需求后,可以调用资源调度模板集合,并在该资源调度模板集合中选取出与目标直播需求匹配的资源调度模板,作为目标资源调度模板。应理解,与目标直播需求匹配的目标资源调度模板,实质上即为能够实现该目标直播需求的资源调度模板。
60.需要说明的是,资源调度模板集合中的各资源调度模板,是服务器预先根据大量历史直播中的服务调用情况构建的,该资源调度模板集合中的各资源调度模板基本可以满足大多数直播需求。每种资源调度模板中包括多个具有关联关系(也可以理解为调用关系)的服务节点,不同的服务节点能够提供不同的服务。图4所示为一种示例性的资源调度模板中服务节点之间的关系示意图,如图4所示,第二层级中的节点21与第一层级中的节点11和节点1i相关联,第i层级中的节点ii与第二层级中的节点2i相关联,第i层级中的节点in与第二层级中的节点2n相关联,不同层级对应于不同的服务类型,同一层级中不同的服务节点对应于同一服务类型下不同的服务方式。
61.本技术实施例提供的方法可以基于json(javascript object notation)技术,采用父子关系的描述方式构建服务节点之间的关联关系,由此构成json格式的资源调度模板。当存在新类型的直播需求时,服务器可以适应于该直播需求对资源调度模板进行调整,实现不需要发版本即可快速支持新直播需求的效果。图5所示为一种示例性的服务节点的代码描述方式,该节点描述将每个服务抽象为json中的一个服务节点,其中,node_id表征节点索引,通过parent_node、child_node来关联服务节点间的关系,svr_type表示服务所属的类型,encode_param为转码所需的扩展参数,channel_clarity为当前服务节点的清晰度。
62.在一些实施例中,目标直播需求中可以包括目标直播对应的播放条件,相应地,在资源调度模板集合中选取与该目标直播需求相匹配的目标资源调度模板时,可以根据该目标直播需求中包括的播放条件,在资源调度模板集合中选取目标资源调度模板,该目标资源调度模板中包括的服务节点与目标直播需求中包括的播放条件相对应。
63.具体的,目标直播需求中通常包括目标直播对应的若干播放条件,每项播放条件可以相应地表征是否多码率、或者是否多机位、或者是否延迟播放、或者是否进行安全播控、或者是否添加水印等等;资源调度模板中的各个服务节点用于支持与其对应的播放条件的实现。基于此,服务器选取与目标直播需求相匹配的目标资源调度模板时,需要衡量资源调度模板集合中是否存在能够完全实现目标直播需求中各项播放条件的资源调度模板,即服务器需要针对资源调度模板集合中的每种资源调度模板,判断该资源调度模板中的各服务节点是否与目标直播需求中的各项播放条件完全对应,若是,则可以确定该资源调度模板为与目标直播需求匹配的目标资源调度模板。
64.正如上文所提及的,在一些实施例中,每个直播栏目可以关联一种或多种直播需求模板,直播方完成目标直播栏目的选择后,可以在该目标直播栏目关联的直播需求模板
中选择目标直播需求。更进一步地,这些直播需求模板可以对应有资源调度模板,直播方在直播需求模板中完成目标直播需求的选择后,服务器即可自动确定与该目标直播需求对应的资源调度模板,作为目标资源调度模板。
65.需要说明的是,当资源调度模板集合中不包括与目标直播需求相匹配的目标资源调度模板时,服务器可以在资源调度模板集合中选取与目标直播需求匹配度最高的参考资源调度模板;然后,根据该参考资源调度模板与目标直播需求之间的差别,调整该参考资源调度模板,以得到与目标直播需求完全匹配的目标资源调度模板。
66.考虑到在一些情况下资源调度模板集合中包括的资源调度模板可能难以满足一些直播需求,此时,服务器可以对资源调度模板集合中已有的资源调度模板进行调整,以得到能够满足该直播需求的资源调度模板。
67.具体的,服务器可以先根据目标直播需求中包括的播放条件,在资源调度模板集合中选出与该目标直播需求匹配度最高的资源调度模板,作为参考资源调度模板。示例性的,服务器针对资源调度模板集合中的每种资源调度模板,可以根据该种资源调度模板中包括的服务节点与目标直播需求中的播放条件之间的对应情况,确定该种资源调度模板对应的匹配度;应理解,资源调度模板中存在越多与目标直播需求中的播放条件具有对应关系的服务节点,那么该资源调度模板所对应的匹配度越高;进而,在资源调度模板集合中,选取所对应的匹配度最高的资源调度模板,作为参考资源调度模板。
68.完成参考资源调度模板的选取后,服务器可以根据该参考资源调度模板中包括的服务节点对应的播放条件与目标直播需求中的播放条件之间的差别,对该参考资源调度模板进行服务节点的添加、删除、替换等调整操作,以得到目标资源调度模板。
69.具体的,当参考资源调度模板中不包括与目标直播需求中的第一播放条件对应的第一服务节点时,服务器需要调用该第一播放条件对应的第一服务节点,并根据目标直播中的服务资源调用逻辑,将该第一服务节点添加至参考资源调度模板中。当参考资源调度模板中包括与目标直播需求中的各播放条件均不对应的第二服务节点时,服务器需要将该参考资源调度模板中的第二服务接收删除。
70.即,服务器可以根据参考资源调度模板中各服务节点各自对应的播放条件以及目标直播需求中包括的播放条件,确定在目标直播需求中存在而参考资源调度模板不支持实现的第一播放条件,以及确定在目标直播需求中不存在而参考资源调度模板支持实现的第二播放条件。对于第一播放条件,服务器可以调用与该第一播放条件对应的第一服务节点,并根据目标直播对应的服务调用逻辑,将该第一服务节点相应地添加至参考资源调度模板中。对于第二播放条件,服务器可以将参考资源调度模板中与该第二播放条件对应的第二服务节点删除,并相应地修改与该第二服务节点关联的服务节点间的关联关系。
71.应理解,实际应用中,先删除参考资源调度模板中的第二服务节点,再在该参考资源调度模板中添加第一服务节点,即可完成服务节点的修改操作。
72.通过对参考资源调度模板进行服务节点的添加、删除和/或修改等操作,即可实现对于参考资源调度模板的调整,调整后的参考资源调度模板即为与目标直播需求相匹配的目标资源调度模板,其可以支持目标直播需求中各项播放条件的实现。
73.步骤203:针对所述目标资源调度模板中的每个服务节点,根据该服务节点下各服务器在所述目标直播的播放时间段内的资源使用情况,从该服务节点下各服务器中选取用
于支持播放所述目标直播的目标服务器。
74.为了确保播放目标直播时可以顺利调用所需的各项服务资源,在播放目标直播之前,服务器可以针对目标资源调度模板中的每个服务节点,根据该服务节点下的各台服务器在该目标直播的播放时间段内的资源使用情况,从该服务节点下的各台服务器中选取用于支持播放该目标直播的目标服务器。
75.具体的,在播放目标直播之前,服务器针对目标资源调度模板中的每个服务节点,可以获取该服务节点下的各台服务器上传的基础性能指标信息(如cpu、内存、网卡流量等)以及任务信息,进而,根据每台服务器上传基础性能指标信息和任务信息,相应地衡量每台服务器在目标直播的播放时间段内的资源使用情况(也可以理解为负载情况)。然后,从该服务节点下的各台服务器中,选出资源使用情况表征其资源使用率最低的服务器,作为支持播放目标直播的目标服务器。如此,针对目标资源调度模板中的每个服务节点,均选出可以支持目标直播播放的目标服务器。由于在各个服务节点下选出的各台目标服务器均能确保为目标直播提供充足的服务资源,因此,可以进一步保证播放目标直播的过程中服务资源的顺利调用。
76.需要说明的是,服务器除了可以根据目标资源调度模板中服务节点下的服务器的资源使用情况进行服务器的调度外,还可以基于目标直播的直播地点和直播运营商,对服务节点下的服务器进行合理调度。
77.此外,为了保证服务资源的合理利用,服务器还可以自适应地对目标资源调度模板中各个服务节点下的服务器进行扩容操作或者缩容操作。即服务器可以针对目标资源调度模板中的每个服务节点,根据该服务节点下各个服务器在目标直播的播放时间段内的资源使用情况,对该服务节点下的服务器进行扩容操作或者缩容操作。
78.具体的,针对目标资源调度模板中每个服务节点下的服务器,可以根据各台服务器的实例任务情况和资源使用情况,对目标直播的播放时间段内该服务节点的资源使用情况进行预测。当预测该服务节点的资源使用情况表征该服务节点的服务资源较为紧张时,对该服务节点下的服务器进行扩容处理,以确保该服务节点可以顺利地为目标直播提供服务资源。当预测该服务节点的资源使用情况表征该服务节点的服务资源较为宽松时,可以对该服务节点下的服务器进行适当地缩容处理,以节约处理资源。
79.步骤204:播放所述目标直播时,调度所述目标资源调度模板中各服务节点下的所述目标服务器为所述目标直播提供服务资源。
80.服务器确定出与目标直播需求相匹配的目标资源调度模板后,即可在播放目标直播时,基于该目标资源调度模板中的各服务节点,调度该目标直播播放时所需的服务资源。具体的,资源调度模板中的服务节点下关联有若干台服务器,播放目标直播时,服务器可以调度目标资源调度模板中各服务节点下的目标服务器,为目标直播的播放提供相应的服务资源。
81.本技术实施例提供的直播资源调度方法,创新性地将直播资源的调度模板化,根据目标直播对应的目标直播需求,在资源调度模板集合中自动匹配与该目标直播需求适配的目标资源调度模板,播放目标直播时,基于该目标资源调度模板中服务节点以及服务节点间的关联关系调度相关服务资源。由于资源调度模板集合中各资源调度模板中的服务节点之间的关联关系,是基于大量历史直播中服务间的调用逻辑设置的,因此,能够保证资源
调度模板集合中的资源调度模板可以基本满足各类直播的服务资源调用需求;如此,使得直播资源的调度不再完全依赖运维人员的人工操作,可以大幅降低运维成本。此外,针对目标资源调度模板中的每个服务节点,根据该服务节点下各服务器在目标直播的播放时间段内的资源使用情况下,选取出用于支持播放目标直播的目标服务器,能够有效地保证为目标直播提供充足的服务资源,避免在播放目标直播的过程中出现因服务资源短缺,而导致目标直播无法顺利进行的情况。
82.为了便于进一步理解本技术实施例提供的直播资源调度方法,下面结合图6所示的实现架构图,对本技术实施例提供的直播资源调度方法进行整体示例性介绍。
83.如图6所示,本技术实施例提供的直播资源调度方法的实现主要包括三个部分:直播任务申请、任务扫描下发和负载任务调度;其中,直播任务申请主要负责新直播的申请和审批,任务扫描下发主要负责任务的下发控制,负责任务调度主要负责服务资源的调度。
84.在直播任务申请阶段,直播方可以通过直播管理台设置目标直播对应的基本信息(如直播时间、直播地点、直播方式、接入方式等),以及目标直播对应的目标直播需求(如是否多码率、是否多机位、是否延迟播放、是否进行安全播控以及是否添加水印等)。此外,直播方还可以通过该直播管理台设置测试时间,该测试时间通常设置在目标直播的直播时间之前,在该测试时间内可以基于已选取的目标资源调度模板对目标直播的直播效果进行测试,例如,可以将测试时间设置为目标直播的直播时间前的30分钟,在该测试时间内模拟正式的目标直播,以检测目标直播是否存在问题,若存在问题,还可以为运维和开发人员提供30分钟的时间进行人工接入。通过直播平台完成基本信息、目标直播需求、测试时间等内容的设置后,直播平台也可以支持直播方修改其设置的内容。
85.完成基本信息、目标直播需求、测试时间等内容的设置后,将进行目标直播任务的审批,审批通过后,可以为该目标直播分配频道id、接入ip、调度模板id。即对目标直播审批通过后,可以根据该目标直播对应的目标直播需求,在资源调度模板集合中选取出与该目标直播需求相匹配的目标资源调度模板,后续可以根据该目标资源调度模板的id进行任务扫描下发。此外,对目标直播审批通过后,还可以将该目标直播添加至审批通过任务的集合中。
86.在任务扫描下发阶段,服务器可以自动扫描所有直播任务,并得到未结束的直播任务列表,其中包括各项尚未完成的直播任务。进而,服务器可以根据该直播任务列表,向自动化任务管理中心发起调度开始请求或调度结束请求,相应地,自动化任务管理中心将针对所需执行的直播任务,获取其对应的资源调度模板id,并相应地启动该资源调度模板,根据该资源调度模板中的服务节点进行服务的启动或删除。
87.在负载任务调度阶段,服务器可以针对所需启动的资源调度模板中各服务节点下的服务器进行负载任务调度。负载任务调度阶段主要包括四部分:服务注册、服务负载收集、资源预测和负载调度;其中,服务注册用于感知服务节点下各台服务器的上下线,并得到该服务节点下当前在线的服务器列表;负载信息收集用于收集服务节点下每台服务器的任务情况和资源消耗情况(任务情况和资源消耗情况也被统称为负载信息),并将所收集的负载信息存储起来;资源预测用于根据已经提交的各直播任务的直播时间,预测目标直播的播放时间段内所需的资源情况,以判断是否需要对该服务节点下的服务器的容量是否达到预警线,以在达到预警线的情况下进行扩容处理或者缩容处理;负载调度用于通过
docker系统根据当前在线的服务器列表、所收集的服务器的负载信息、服务器的基础性能指标信息(如cpu、内存、网络流量等)以及直播的省份、运营商等信息,对服务资源进行合理调度。
88.针对上文描述的直播资源调度方法,本技术还提供了对应的直播资源调度装置,以使上述直播资源调度方法在实际中的应用以及实现。
89.参见图7,图7为上文图2所示的直播资源调度方法对应的一种直播资源调度装置700的结构示意图,该直播资源调度装置700包括:
90.需求获取模块701,用于获取目标直播对应的目标直播需求;
91.模板选择模块702,用于在资源调度模板集合中,选取与所述目标直播需求相匹配的目标资源调度模板;所述资源调度模板集合中包括多种资源调度模板,每种资源调度模板包括多个具有关联关系的服务节点,不同的服务节点用于提供不同的服务;
92.服务器调度模块704,用于针对所述目标资源调度模板中的每个服务节点,根据该服务节点下各服务器在所述目标直播的播放时间段内的资源使用情况,从该服务节点下各服务器中选取用于支持播放所述目标直播的目标服务器;
93.资源调度模块703,用于播放所述目标直播时,调度所述目标资源调度模板中各服务节点下的所述目标服务器为所述目标直播提供服务资源。
94.可选的,在图7所示的直播资源调度装置的基础上,所述目标直播需求中包括所述目标直播对应的播放条件;所述模板选择模块702具体用于:
95.根据所述目标直播需求中包括的播放条件,在所述资源调度模板集合中选取所述目标资源调度模板;所述目标资源调度模板中包括的服务节点与所述目标直播需求中包括的播放条件相对应。
96.可选的,在图7所示的直播资源调度装置的基础上,参见图8,图8为本技术实施例提供的另一种直播资源调度装置800的结构示意图。如图8所示,该装置还包括:
97.参考模板选择模块801,用于当所述资源调度模板集合中不包括与所述目标直播需求相匹配的所述目标资源调度模板时,在所述资源调度模板集合中选取与所述目标直播需求匹配度最高的参考资源调度模板;
98.模板调整模块802,用于根据所述参考资源调度模板与所述目标直播需求之间的差别,调整所述参考资源调度模板,得到所述目标资源调度模板。
99.可选的,在图8所示的直播资源调度装置的基础上,所述模板调整模块802具体用于:
100.当所述参考资源调度模板中不包括与所述目标直播需求中的第一播放条件对应的第一服务节点时,调用所述第一播放条件对应的第一服务节点,将所述第一服务节点添加至所述参考资源调度模板中;
101.当所述参考资源调度模板中包括与所述目标直播需求中的各播放条件均不对应的第二服务节点时,将所述参考资源调度模板中的所述第二服务节点删除。
102.可选的,在图7所示的直播资源调度装置的基础上,参见图9,图9为本技术实施例提供的另一种直播资源调度装置900的结构示意图。如图9所示,该装置还包括:
103.频道确定模块901,用于基于直播频道选择操作,确定所述目标直播对应的目标直播频道;所述目标直播频道用于表征所述目标直播的一级类别;
104.栏目确定模块902,用于基于所述目标直播频道下的直播栏目选择操作,确定所述目标直播对应的目标直播栏目;所述目标直播栏目用于表征所述目标直播的二级类别,所述二级类别为所述一级类别下的细化分类。
105.可选的,在图7所示的直播资源调度装置的基础上,参见图10,图10为本技术实施例提供的另一种直播资源调度装置1000的结构示意图。如图10所示,该装置还包括:
106.扩容/缩容模块1001,用于针对所述目标资源调度模板中的每个服务节点,根据该服务节点下各个服务器在所述目标直播的播放时间段内的资源使用情况,对该服务节点下的服务器进行扩容操作或缩容操作。
107.本技术实施例提供的直播资源调度装置,创新性地将直播资源的调度模板化,根据目标直播对应的目标直播需求,在资源调度模板集合中自动匹配与该目标直播需求适配的目标资源调度模板,播放目标直播时,基于该目标资源调度模板中服务节点以及服务节点间的关联关系调度相关服务资源。由于资源调度模板集合中各资源调度模板中的服务节点之间的关联关系,是基于大量历史直播中服务间的调用逻辑设置的,因此,能够保证资源调度模板集合中的资源调度模板可以基本满足各类直播的服务资源调用需求;如此,使得直播资源的调度不再完全依赖运维人员的人工操作,可以大幅降低运维成本。此外,针对目标资源调度模板中的每个服务节点,根据该服务节点下各服务器在目标直播的播放时间段内的资源使用情况下,选取出用于支持播放目标直播的目标服务器,能够有效地保证为目标直播提供充足的服务资源,避免在播放目标直播的过程中出现因服务资源短缺,而导致目标直播无法顺利进行的情况。
108.本技术实施例还提供了一种用于调度直播资源的设备,该设备具体可以为服务器,下面将从硬件实体化的角度对本技术实施例提供的服务器进行介绍。
109.参见图11,图11为本技术实施例提供的一种服务器1100的结构示意图。该服务器1100可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processing units,cpu)1122(例如,一个或一个以上处理器)和存储器1132,一个或一个以上存储应用程序1142或数据1144的存储介质1130(例如一个或一个以上海量存储设备)。其中,存储器1132和存储介质1130可以是短暂存储或持久存储。存储在存储介质1130的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器1122可以设置为与存储介质1130通信,在服务器1100上执行存储介质1130中的一系列指令操作。
110.服务器1100还可以包括一个或一个以上电源1126,一个或一个以上有线或无线网络接口1150,一个或一个以上输入输出接口1158,和/或,一个或一个以上操作系统1141,例如windows servertm,mac os xtm,unixtm,linuxtm,freebsdtm等等。
111.上述实施例中由服务器所执行的步骤可以基于该图11所示的服务器结构。
112.其中,cpu 1122用于执行如下步骤:
113.获取目标直播对应的目标直播需求;
114.在资源调度模板集合中,选取与所述目标直播需求相匹配的目标资源调度模板;所述资源调度模板集合中包括多种资源调度模板,每种资源调度模板包括多个具有关联关系的服务节点,不同的服务节点用于提供不同的服务;
115.针对所述目标资源调度模板中的每个服务节点,根据该服务节点下各服务器在所
述目标直播的播放时间段内的资源使用情况,从该服务节点下各服务器中选取用于支持播放所述目标直播的目标服务器;
116.播放所述目标直播时,调度所述目标资源调度模板中各服务节点下的所述目标服务器为所述目标直播提供服务资源。
117.可选的,cpu 1122还可以用于执行本技术实施例提供的直播资源调度方法的任意一种实现方式的步骤。
118.本技术实施例还提供一种计算机可读存储介质,用于存储计算机程序,该计算机程序用于执行前述各个实施例所述的一种直播资源调度方法中的任意一种实施方式。
119.本技术实施例还提供一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行前述各个实施例所述的一种直播资源调度方法中的任意一种实施方式。
120.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
121.在本技术所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
122.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
123.另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
124.所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(英文全称:read-only memory,英文缩写:rom)、随机存取存储器(英文全称:random access memory,英文缩写:ram)、磁碟或者光盘等各种可以存储计算机程序的介质。
125.应当理解,在本技术中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“a和/或b”可以表示:只存在a,只存在b以及同时存在a和b三种情况,其中a,b可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指
这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
126.以上所述,以上实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的精神和范围。
再多了解一些

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

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

相关文献