云渲染资源调度方法、装置、电子设备及存储介质与流程

文档序号:20510926发布日期:2020-04-24 18:31阅读:120来源:国知局
云渲染资源调度方法、装置、电子设备及存储介质与流程

本发明涉及云计算技术领域,具体而言,涉及一种云渲染资源调度方法、装置、电子设备及存储介质。



背景技术:

在云游戏、云vr等业务场景下,诸多应用以虚拟化方式运行于云端的云渲染服务器上,由于云渲染服务器同时为大量终端用户提供应用实时渲染的服务,因此为确保大量的终端用户均具有高质量的用户体验,需要保证每个用户能够使用足够的云渲染资源。

现有技术中,一般是通过静态分配的方式,为每路应用分配固定大小的资源;比如,设置每台云渲染服务器可同时启动多路应用,同时为多个终端提供服务,使用静态设置的方式预先配置好上线部署的应用的各资源消耗值。在该方式下,在收到客户端发送的启动应用的请求后,根据应用的各资源消耗值,为该应用分配固定大小的资源以启动一路应用进程,该方式中存在着资源分配不够灵活、准确的问题。



技术实现要素:

有鉴于此,为克服相关技术中存在的至少部分问题,本发明提供了一种云渲染资源调度方法、装置、电子设备及存储介质,以提高资源分配的灵活性和准确性。

具体地,本发明是通过如下技术方案实现的:

第一方面,本发明实施例提供了一种云渲染资源调度方法,所述方法包括:

响应于客户端发送的应用启动请求,确定应用进程的运行方式;

若所述应用在所述运行方式下的资源消耗配置值不为空,则参照所述资源消耗配置值和当前各所述第二云渲染服务器的资源剩余情况从所述第二云渲染服务器中选取目标云渲染服务器,控制所述应用进程在所述目标云渲染服务器上按照所述运行方式启动运行,并获取所述应用进程的资源使用状态;

若满足资源配置更新条件,根据已获取的所述应用的资源使用状态更新所述应用在所述运行方式下的资源消耗配置值;以使有应用进程再次启动时,参照更新后的资源消耗配置值和各第二云渲染服务器的资源剩余情况控制该应用进程的启动。

第二方面,本发明实施例提供了一种资源调度装置,包括:

确定模块,用于响应于客户端发送的应用启动请求,确定应用进程的运行方式;

控制模块,用于若所述应用在所述运行方式下的资源消耗配置值不为空,则参照所述资源消耗配置值和当前各所述第二云渲染服务器的资源剩余情况从所述第二云渲染服务器中选取目标云渲染服务器,控制所述应用进程在所述目标云渲染服务器上按照所述运行方式启动运行,并获取所述应用进程的资源使用状态;

更新模块,用于若满足资源配置更新条件,根据已获取的所述应用的资源使用状态更新所述应用在所述运行方式下的资源消耗配置值;以使有应用进程再次启动时,参照更新后的资源消耗配置值和各第二云渲染服务器的资源剩余情况控制该应用进程的启动。

第三方面,本发明实施例提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;

存储器,用于存放计算机程序;

处理器,用于执行存储器上所存放的程序时,实现第一方面所述的方法步骤。

第四方面,本发明实施例提供了一种算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如第一方面所述的方法。

本发明的实施例提供的一种资源调度方法、装置、电子设备及存储介质,至少包括以下有益效果:

本发明实施例中,在接收到客户端发送的应用的启动请求时,根据该应用在确定的运行方式下的资源消耗配置值和各第二云渲染服务器的资源剩余情况,控制该应用在目标云渲染服务器上启动,并且在应用进程运行过程中,监控应用的资源使用状态,在满足资源消耗更新的情况下根据已统计的同一运行方式下的应用的资源使用状态对应用在该运行方式下的资源消耗配置值进行修正,使得该资源消耗配置值逐渐逼近资源消耗的真实值,进而使得能够更加准确、合理的控制应用进程在云渲染服务器上的启动,使得云渲染服务器的资源分配更加准确和灵活,提高了云渲染服务器的资源利用效率。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本说明书的实施例,并与说明书一起用于解释本说明书的原理。

图1是本发明一示例性实施例示出的一种云渲染资源调度方法的应用场景示意图;

图2是本发明一示例性实施例示出的一种云渲染资源调度方法的流程示意图;

图3是本发明一示例性实施例示出的一种云渲染服务器机柜的示意图;

图4是本发明一示例性实施例示出的一种根据应用资源使用状态更新该应用的资源消耗配置值的流程示意图;

图5是本发明一示例性实施例示出的一种调整应用进程运行的方法流程示意图;

图6是本发明一示例性实施例示出的另一种云渲染资源调度方法流程示意图;

图7是本发明一示例性实施例示出的一种云渲染资源调度装置的结构示意图;

图8是申请一示例性实施例示出的一种电子设备的结构示意图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。

在本发明使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。

应当理解,尽管在本发明可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本发明范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。

云流化技术实现了将云游戏、云vr等应用在云渲染服务器上运行,不受客户端的硬件条件的限制;应用的正常运行需要消耗云渲染服务器的各类资源(比如cpu资源、gpu资源、内存资源等),当同时有多个客户端请求启动同一个应用时,云渲染服务器上要同时运行多路应用进程,部署该应用的云渲染服务器只有在具有足够的cpu、gpu、内存等资源提供给各路应用进程情况下,才能保证各路应用进程的正常启动运行,保证用户体验;但是若预留过多的资源则会造成资源的浪费;基于此,本发明实施例提供了一种云渲染资源调度方法、装置、电子设备及存储介质。

图1给出了本发明一个实施例所提供的一种云渲染资源调度方法的应用场景示意图;参照图1所示,资源调度服务器100在接收到客户端300发送的应用启动请求时,参照该应用的在确定的运行方式下的资源消耗配置值(是指应用的单路应用进程在该运行方式下的资源消耗配置值),以及当前的云渲染服务器200的资源剩余情况,从云渲染服务器中选取目标云渲染服务器启动该应用进程。

本发明实施例中,上述的资源调度服务器100可以是包括云渲染服务器中的任意一个或多个云渲染服务器,也可以是独立设置的服务器。

图2为本发明一示例性的实施例所提供的一种资源调度方法的流程示意图;参照图2所示,该方法的执行主体是上述的资源调度服务器,该方法包括如下步骤s10-s30:

s10、资源调度服务器响应于客户端发送的应用启动请求,确定应用进程的运行方式。

s20、若所述应用在所述运行方式下的资源消耗配置值不为空,则参照所述资源消耗配置值和当前各所述第二云渲染服务器的资源剩余情况从所述第二云渲染服务器中选取目标云渲染服务器,控制所述应用进程在所述目标云渲染服务器上按照所述运行方式启动运行,并获取所述应用进程的资源使用状态。

本发明实施例中,针对于各路应用进程在云渲染服务器上所需要的资源,设置资源消耗配置值包括:cpu资源消耗配置值、内存资源消耗配置值、gpu资源消耗配置值、显存资源消耗配置值和编码引擎能力配置值;其中,编码引擎能力是指应用进程运行在单位时间内所要求达到的编码的帧数。同一应用在不同的运行方式下的资源消耗配置值不同。

本发明实施例中,资源调度服务器在接收到客户端发送的应用启动请求后,从部署了该应用的第二云渲染服务器中选取目标云渲染服务器启动应用进程;可选的,上述的应用启动请求中携带有应用id,资源调度服务器通过该应用id从资源调度数据库中读取该应用的配置文件,进而从配置文件中得到该应用所支持的不同的运行方式,以及不同的运行方式下的该应用运行的渲染画面的分辨率、编码码率、输出帧率、网络带宽、各类资源的资源消耗配置值等参数。

s30、若满足资源配置更新条件,根据已获取的所述应用的资源使用状态更新所述应用在所述运行方式下的资源消耗配置值;以使有应用进程再次启动时,参照更新后的资源消耗配置值和各第二云渲染服务器的资源剩余情况控制该应用进程的启动。

本发明一可能的实施例中,上述的云渲染服务器包括第一云渲染服务器和第二云渲染服务器。需要说明的是,此处的第一与第二仅作为区分的用途,不作为对云渲染服务器其他方面的限定。

可选的,上述方法还包括如下步骤s20′-s30′:

s20′、若所述应用在所述运行方式下的资源消耗配置值为空,则控制所述应用进程在第一云渲染服务器上按照所述运行方式启动运行,并获取所述应用进程的资源使用状态。

s30′、若满足资源消耗配置条件,根据已获取的所述应用的资源使用状态数据,配置所述应用在所述运行方式下的资源消耗配置值;以使有应用进程再次启动时,参照所配置的资源消耗配置值和各第二云渲染服务器的资源剩余情况控制该应用进程的启动。

本发明实施例中,上述步骤s20-s30与步骤s20′-s30′是并列关系。

进而本实施例中,由于设置有第一云渲染服务器,若应用未经过完全测试,即在该应用的部分或者全部运行方式下的资源消耗配置值没有被配置的情况下,可以是将应用进程按照确定的运行方式启动于第一云渲染服务器上,该第一云渲染服务器为该应用进程的启动提供最大额度的资源大小,在该应用进程运行中获取应用进程的资源使用状态,在满足资源配置的条件下,根据获取的同一运行方式下的应用的资源使用状态数据,配置该应用的单路应用进程在该运行方式下的资源消耗配置值;或者根据获取的不同的运行方式下的应用的资源使用状态数据之间的换算关系,配置该应用的单路应用进程在该运行方式下的资源消耗配置值。

本发明另一实施例中,也可以是在将应用正式部署于第二云渲染服务器上之前,将待部署的应用在测试服务器上进行测试,该测试服务器的性能指标是已知的,得到该应用在不同运行方式下运行所需要消耗的各类资源的资源消耗值,该资源消耗值可以是测试得到的最大资源消耗值,或者是平均资源消耗值;也可以是将该最大资源消耗值或者平均资源消耗值按照指定的比例放大以后作为初始的资源消耗配置值。

示例性的,在测试服务器上部署并运行待测试的应用,在应用运行过程中正常使用应用的各种场景,通过监控工具,定时采集应用在该测试云渲染服务器上运行过程中的cpu占用率、内存占用量、gpu占用率、显存占用率、编码引擎占用率等;将按照不同的运行方式多次运行应用后,将从测试云渲染服务器采集的每项资源的资源消耗值中的最大值,作为应用在该运行方式下的初始的资源消耗配置值(该资源消耗配置值是指单路应用进程的资源消耗配置值),或者是将高最大值乘以一个大于1的经验值后作为该应用的单路应用进程初始的资源消耗配置值。

本实施例中,在进行应用部署之前,也可以是通过使用统一的测试工具评测各第二云渲染服务器的实际资源能力值,该实际资源能力值包括:cpu能力值、内存能力值、gpu能力值、显存能力值和编码引擎的能力值;在得到实际资源能力值以后,将该资源能力值乘以一个小于1的经验值后,作为初始的云渲染服务器能力配置值,进而本实施例中在实际进行应用配置时预留了部分云渲染服务器的资源,以保证用户体验。

本发明一可选的实施例中,在所述控制应用进程按照确定的运行方式在所述目标云渲染服务器上按照所述运行方式运行前,上述方法还包括:

根据当前各第二云渲染服务器的资源能力值和资源占用情况,得到所述第二云渲染服务器的资源剩余情况。

进而本实施例中上述方法,还包括:监控各第二云渲染服务器的资源剩余情况,在满足资源能力值更新的条件下,根据监控结果更新所述第二云渲染服务器的资源能力值;其中,所述资源能力值表征云渲染服务器的可用资源的上限,所述资源能力值小于所述云渲染服务器的实际资源能力值。

本实施例中通过监控各第二云渲染服务器上的资源剩余情况,参照实际资源剩余情况对该资源能力值进行更新;比如,当该资源剩余大小大于指定大小时,将该资源能力值按照指定的调节幅度进行调高。

一可选的实施例中,针对每个应用分别设置不同运行方式下的资源消耗配置值,在接收到某个应用的启动请求后,在控制一路应用进程启动时,若当前系统处于应用启动的高峰时段,则参照该应用的资源消耗比较低的运行方式下的资源消耗配置值进行选取目标云渲染服务器,在该目标云渲染服务器上按照该运行方式启动该应用,并且将该目标云渲染服务器的剩余资源减去该应用的高峰时段的资源消耗配置值得到该云渲染服务器的新的剩余资源量。

本发明一实施例中,按照预设的控制应用进程启动的策略从该应用所部署的云渲染服务器资源中选取目标云渲染服务器,在该目标云渲染服务器上启动该应用。

进而本发明一实施例中,上述步骤s20中,参照所述资源消耗配置值和当前各所述第二云渲染服务器的资源剩余情况从所述第二云渲染服务器中选取目标云渲染服务器,控制所述应用进程在所述目标云渲染服务器上按照所述运行方式启动运行,具体包括如下步骤a10:

步骤a10、按照所述应用所部署的第二云渲染服务器的排列顺序,依次将所述第二云渲染服务器的剩余资源大小与所述资源消耗配置值进行比较,直至得到剩余资源大小大于或等于所述资源消耗配置值的第二云渲染服务器作为所述目标云渲染服务器,在所述目标云渲染服务器上按照所述运行方式启动所述应用进程。

本发明实施例中,考虑到各个第二云渲染服务器是分机柜按顺序部署的,例如参照图3所示,多个第二云渲染服务器按顺序设置于多个机柜上,比如第二云渲染服务器s1-s20(图中未全部示出)部署于机柜1#上,第二云渲染服务器s21-s40部署于机柜2上,依次类推;由于当机柜上有一台第二云渲染服务器处于工作状态时整个机柜都处于供电状态,因此本实施例中为达到节电的目的,在查找剩余资源大于或等于该应用的单路应用进程的资源消耗配置值的目标云渲染服务器时,按照第二云渲染服务器的顺序依次进行查找,比如从第二云渲染服务器s1开始,依次按照第二云渲染服务器s2、第二云渲染服务器s3、第二云渲染服务器s4、、、进行匹配,若匹配得到第二云渲染服务器s3的剩余资源大于或等于该应用的单路应用进程在所述运行方式下的资源消耗配置值的云渲染服务器作为目标云渲染服务器,进而使得优先在同一机柜上进行应用进程的启动。

本发明另一实施例中,上述步骤s20中,所述参照所述资源消耗配置值和当前各所述第二云渲染服务器的资源剩余情况从所述第二云渲染服务器中选取目标云渲染服务器,控制所述应用进程在所述目标云渲染服务器上按照所述运行方式启动运行,具体包括如下步骤b10:

步骤b10、从所述应用所部署的第二云渲染服务器中查找出剩余资源大小大于或等于所述资源消耗配置值且综合剩余资源量最大的第二云渲染服务器作为所述目标云渲染服务器,在所述目标云渲染服务器上按照所述运行方式启动所述应用进程。

示例性的,按照应用对各类资源需求的重要程度对各类资源进行分配权值,比如,云vr应用对gpu资源要求较高,则将gpu资源的权值设置的较大;将每个待选第二云渲染服务器上的各类剩余资源分别按照对应的权值进行加权求和,得到综合剩余资源量,将综合剩余资源量最多的待选第二云渲染服务器作为目标云渲染服务器。

进而本实施例中所提供的应用启动控制方法中,一定程度上起到了各第二云渲染服务器间负载均衡的目的。

本发明再一实施例中,上述步骤s20中,参照所述资源消耗配置值和当前各所述第二云渲染服务器的资源剩余情况从所述第二云渲染服务器中选取目标云渲染服务器,控制所述应用进程在所述目标云渲染服务器上按照所述运行方式启动运行,具体包括如下步骤c10:

步骤c10、从所述应用所部署的第二云渲染服务器中选取出剩余资源大小大于或等于所述资源消耗配置值且gpu资源剩余最多的第二云渲染服务器作为所述目标云渲染服务器,在所述目标云渲染服务器上按照所述运行方式启动所述应用进程。

本发明实施例,在从应用所部署的第二云渲染服务器中选取出剩余资源大于或等于应用的资源消耗配置值的待选第二云渲染服务器后,进一步从待选第二云渲染服务器中选取gpu资源剩余最多的第二云渲染服务器作为目标云渲染服务器;进而,本发明实施例中针对于比如云游戏应用、云vr应用等对画面渲染的能力要求比较高的一类应用,优先分配gpu资源剩余最多的第二云渲染服务器进行启动该应用,以保证用户的体验。

图4是本发明一示例性实施例示出的一种根据资源使用状态更新该应用的资源消耗配置值的流程示意图;本发明实施例中,参照图4所示,上述步骤s30,具体包括如下步骤s301-s304:

s301、计算在第一时间段内所述应用按照所述运行方式运行的第一平均资源消耗值。

s302、若在第一周期内所述第一平均资源消耗值与所述应用在所述运行方式下的资源消耗配置值之间的偏差在指定阈值范围内,则将在所述第一周期内的所述第一平均资源消耗值的均值作为更新后的所述应用的资源消耗配置值。

示例性的,上述的第一时间段可以是24小时,进而以天为单位,在一天内监控应用的运行情况,在应用运行期间定时采集该应用运行(包括所有的应用进程)所消耗的cpu资源大小、内存资源大小、gpu资源大小、显存资源大小和编码引擎的能力值大小,需要说明的是,此处可以是采集应用在上述运行方式下所消耗的各类资源的大小,也可以是采集应用在多种运行方式下的所消耗的各类资源的大小,然后通过不同运行方式之间的资源消耗换算关系得到该应用在上述运行方式下所消耗的各类资源的大小,本发明对此不作限定;分别计算该应用在一天内单应用进程的各类资源的日平均资源消耗值,作为上述的第一平均资源消耗值。

例如以三天为一个第一周期,若连续三天的该应用的某类资源的第一平均资源消耗值与对应的资源消耗配置值之间的偏差在指定阈值范围,示例性的,该指定阈值范围为大于等于5%小于15%,则将该三天的第一平均资源消耗值的均值作为更新后的资源配置值。比如,某一应用三天的内存的第一平均资源消耗值分别为第一天a1、第二天a2、第三天a3,则第一天的第一平均资源消耗值与资源消耗配置值a0之间的偏差为:当连续三天的偏差f都大于5%时,则将该三天的第一平均资源消耗值的平均值作为更新后的资源配置值。

本发明一可选的实施例中,上述方法,还包括:若上述第一平均资源消耗值与所述应用的单路应用进程在该运行方式下的资源消耗配置值之间的偏差大于指定阈值范围的上限,则将该第一平均资源消耗值作为更新后的所述应用的单路应用进程在所述运行方式下的资源消耗配置值。

示例性的,如果在一运行方式下,日平均资源消耗值与资源配置值之间的偏差大于指定阈值范围上限,则将这一天的日平均资源消耗值作为更新后的资源消耗配置值。本实施例中,为应用的更新升级提供了足够的资源分配。

为提高各资源消耗配置值的准确性,在使用第一平均资源消耗值对资源配置值进行更新以后,继续按照上述方式对该初步更新后的资源配置值进行更新。

s303、基于所述应用的所述第一平均资源消耗值计算所述应用在第二时间段内的第二平均资源消耗值。

示例性的,针对某一应用,在得到该应用的各资源的日平均资源消耗值基础上,统计该应用的各资源的周平均资源消耗值和/或月平均资源消耗值。继续参照上述的实施例,上述内存资源的周平均资源消耗值按照相同的方式,使用日平均资源消耗值或者周平均资源消耗值可以计算得到该资源的月平均资源消耗值。

s304、若所述第二平均资源消耗值的变化率在大于指定时间段内保持低于期望值,则将所述第二平均资源消耗值作为更新后的所述应用的资源消耗配置值;其中,所述第二时间段大于所述第一时间段。

继续以上述实施例为例,比如,在得到应用的某类资源的日平均资源消耗值、周平均资源消耗值后,分别制作该应用的日平均资源消耗值、周平均资源消耗值的变化曲线,当该应用的日平均资源消耗值和周平均资源消耗值都趋于平稳时,将当前的周平均资源消耗值作为该类资源的资源消耗配置值。若上述的日平均资源消耗值、周平均资源消耗值的变化曲线出现变化率超出预设阈值时,自动修正应用的资源消耗指标配置值,并且触发预警通知运维关注应用具体情况。

进而本发明实施例中监控第二平均资源消耗值的变化趋势,若所述第二平均资源消耗值的变化率大于第二指定值,则进行告警提示或者调整该应用的资源消耗配置值为第二平均资源消耗值。

本实施例中,当第二平均资源消耗值的变化率大于第二指定值时,说明该第二平均资源消耗值出现了陡增的现象,此时可能出现了应用的更新升级或者网络带宽的下降等,此时进行告警提示以警告维护人员及时采取维护措施,并且更新资源消耗配置值。

图5是本发明一示例性实施例示出的一种调整应用运行的方法流程示意图。本实施例中,上述方法,还包括根据客户端的网络时延参数进行调整应用进程的运行方式,参照图5所示,具体包括以下步骤s51-s52:

s51、在所述应用进程运行过程中,获取客户端的时延参数。

本实施例中,上述的时延参数包括:网络时延参数、解码时延参数和编码时延参数。

可选的,上述获取客户端的时延参数的方式包括:客户端周期性统计并上报网络时延参数、解码时延参数、编码时延参数;比如,每隔5秒上报一次。

s52、在所述时延参数大于极限值时,参照所述应用进程在所述运行方式下所支持的编码输出帧率范围和编码码率范围,指示所述目标云渲染服务器调低所述应用进程运行的编码输出帧率和编码码率。

本发明实施例中,分别设置用户可以承受的网络时延的极限值,解码时延的极限值和编码时延的极限值;上述若有一项时延参数大于对应的极限值时,资源调度云渲染服务器控制运行该应用进程的目标云渲染服务器在所述运行方式所支持的编码输出帧率范围和编码码率范围内,降低编码码率、输出帧率等参数;当获取的客户端的时延参数恢复至正常值以后,再次指示云渲染服务器恢复编码码率和输出帧率等参数。

进而本发明实施例中,资源调度服务器可以根据客户端发送的终端的时延参数判断客户端当前的时延状况,在时延比较严重的情况下提示目标云渲染服务器以该应用进程的编码码率、输出帧率等,以保证用户体验。

图6是本发明一示例性实施例示出的另一种云渲染资源调度方法的流程示意图;参照图6所示,该方法中上述步骤s10具体包括如下步骤s10′:

s10′、获取终端的性能参数,参照所述性能参数和所述应用的资源梯度配置表确定所述应用进程的运行方式;其中,所述资源梯度配置表中设置了所述应用所支持的多种运行方式,所述应用在不同运行方式下的资源消耗不同。

本实施例中在按照上述步骤s10′确定应用晋城的运行方式以后,再执行上述的步骤s20-s30。

根据客户端上报的终端的标识,获取该终端的性能参数,在控制应用启动时,针对不同性能参数的终端,选取不同的运行方式,以提高用户体验和提高资源利用率。

本发明一可选的实施例,上述方法,还包括:

统计各第二云渲染服务器的资源利用率,若针对某一类资源存在超过预设数量的第二云渲染服务器的资源利用率均低于预设利用率,进行告警提示。

示例性的,统计所有应用的每日在线时长和各类资源的日平均资源消耗值,计算所有应用的各类资源消耗总量(每日在线时长*资源日平均资源消耗值)之和,同云渲染服务器各资源能力总值(资源能力值*24小时)相比,得出资源利用率。

当存在有超过预设数量的第二云渲染服务器的资源利用率均低于预设利用率,则说明当前网络需要扩容,此时进行告警提示,以提示运维人员及时进行维护。

再例如,统计每台第二云渲染服务器的每日资源利用率,根据历史数据按天给出每台第二云渲染服务器的利用率变化曲线,然后按照利用率对第二云渲染服务器进行排名,考虑到资源利用率过低的第二云渲染服务器可能存在应用部署不合理的情况,因此,本实施例中在上述统计各第二云渲染服务器的资源利用率之后,还包括:

查找所有第二云渲染服务器中的资源利用率最低的云渲染服务器,提高所述资源利用率最低的第二云渲染服务器在选取目标云渲染服务器的启动应用时的命中率和/或进行告警提示。

本实施例中,提高资源利用率最低的第二云渲染服务器在选取目标云渲染服务器的启动应用时的命中率的方式,可以是包括:每次在响应客户端的应用启动请求时,首先获取该资源利用率最低的云渲染服务器进行匹配;或者进行告警提示,比如提示运营人员调整运营策略。

图7是本发明一示例性实施例示出的一种云渲染资源调度装置的结构示意图;参照图7所示,该资源调度装置700,包括:

确定模块701,用于响应于客户端发送的应用启动请求,确定应用进程的运行方式;

控制模块702,用于若所述应用在所述运行方式下的资源消耗配置值不为空,则参照所述资源消耗配置值和当前各所述第二云渲染服务器的资源剩余情况从所述第二云渲染服务器中选取目标云渲染服务器,控制所述应用进程在所述目标云渲染服务器上按照所述运行方式启动运行,并获取所述应用进程的资源使用状态;

更新模块703,用于若满足资源配置更新条件,根据已获取的所述应用的资源使用状态更新所述应用在所述运行方式下的资源消耗配置值;以使有应用进程再次启动时,参照更新后的资源消耗配置值和各第二云渲染服务器的资源剩余情况控制该应用进程的启动。

可选地,所述控制模块,还用于:

若所述应用在所述运行方式下的资源消耗配置值为空,则控制所述应用进程在第一云渲染服务器上按照所述运行方式启动运行,并获取所述应用进程的资源使用状态;

所述装置,还包括:

资源消耗值配置模块,用于若满足资源消耗配置条件,根据已获取的所述应用的资源使用状态数据,配置所述应用在所述运行方式下的资源消耗配置值;以使有应用进程再次启动时,参照所配置的资源消耗配置值和各第二云渲染服务器的资源剩余情况控制该应用进程的启动。

可选的,上述装置,还包括:

资源剩余统计模块,用于根据当前各第二云渲染服务器的资源能力值和资源占用情况,得到所述第二云渲染服务器的资源剩余情况;;

上述更新模块703,还用于:

监控各第二云渲染服务器的资源剩余情况,在满足资源能力值更新的条件下,根据监控结果更新所述第二云渲染服务器的资源能力值;其中,所述资源能力值表征云渲染服务器的可用资源的上限,所述资源能力值小于所述云渲染服务器的实际资源能力值。

可选地,所述控制模块702,具体用于:

按照所述应用所部署的第二云渲染服务器的排列顺序,依次将所述第二云渲染服务器的剩余资源大小与所述资源消耗配置值进行比较,直至得到剩余资源大小大于或等于所述资源消耗配置值的第二云渲染服务器作为所述目标云渲染服务器,在所述目标云渲染服务器上按照所述运行方式启动所述应用进程;

或者,

从所述应用所部署的第二云渲染服务器中查找出剩余资源大小大于或等于所述资源消耗配置值且综合剩余资源量最大的第二云渲染服务器作为所述目标云渲染服务器,在所述目标云渲染服务器上按照所述运行方式启动所述应用进程;

或者,

从所述应用所部署的第二云渲染服务器中选取出剩余资源大小大于或等于所述资源消耗配置值且gpu资源剩余最多的第二云渲染服务器作为所述目标云渲染服务器,在所述目标云渲染服务器上按照所述运行方式启动所述应用进程。

可选地,所述资源消耗配置值包括:cpu资源消耗配置值、内存资源消耗配置值、gpu资源消耗配置值、显存资源的消耗配置值和编码引擎能力配置值中的任意多个。

可选的,上述更新模块703,具体用于:

计算在第一时间段内所述应用按照所述运行方式运行的第一平均资源消耗值;

若在第一周期内所述第一平均资源消耗值与所述应用在所述运行方式下的资源消耗配置值之间的偏差在指定阈值范围内,则将在所述第一周期内的所述第一平均资源消耗值的均值作为更新后的所述应用的在所述运行方式下的资源消耗配置值。

可选地,上述更新模块703,还用于:

基于所述应用的所述第一平均资源消耗值计算所述应用在第二时间段内的第二平均资源消耗值;

若所述第二平均资源消耗值的变化率在大于指定时间段内保持低于期望值,则将所述第二平均资源消耗值作为更新后的所述应用的资源消耗配置值;其中,所述第二时间段大于所述第一时间段。

可选地,上述更新模块703,还用于:

若所述第一平均资源消耗值与所述应用在所述运行方式下的资源消耗配置值之间的偏差大于所述指定阈值范围的上限,则将所述第一平均资源消耗值作为更新后的所述应用的在所述运行方式下的资源消耗配置值。

可选地,上述确定模块701,具体用于:

获取终端的性能参数,参照所述性能参数和所述应用的资源梯度配置表确定所述应用进程的运行方式;其中,所述资源梯度配置表中设置了所述应用所支持的多种运行方式,所述应用在不同运行方式下的资源消耗不同。

图8是申请一示例性实施例示出的一种电子设备的结构示意图;参照图8所示,本发明实施例中提供的电子设备800,包括处理器801、通信接口(未示出)、存储器802和通信总线803,其中,处理器801,通信接口,存储器802通过通信总线完成相互间的通信;

存储器802,用于存放计算机程序;

处理器801,用于执行存储器上所存放的程序时,实现上述任一实施例所述的资源调度方法的步骤。

本发明一实施例中还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述任一实施例所述的资源调度方法的步骤。

上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。

对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本发明方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

本说明书中描述的主题及功能操作的实施例可以在以下中实现:数字电子电路、有形体现的计算机软件或固件、包括本说明书中公开的结构及其结构性等同物的计算机硬件、或者它们中的一个或多个的组合。本说明书中描述的主题的实施例可以实现为一个或多个计算机程序,即编码在有形非暂时性程序载体上以被数据处理装置执行或控制数据处理装置的操作的计算机程序指令中的一个或多个模块。可替代地或附加地,程序指令可以被编码在人工生成的传播信号上,例如机器生成的电、光或电磁信号,该信号被生成以将信息编码并传输到合适的接收机装置以由数据处理装置执行。计算机存储介质可以是机器可读存储设备、机器可读存储基板、随机或串行存取存储器设备、或它们中的一个或多个的组合。

本说明书中描述的处理及逻辑流程可以由执行一个或多个计算机程序的一个或多个可编程计算机执行,以通过根据输入数据进行操作并生成输出来执行相应的功能。所述处理及逻辑流程还可以由专用逻辑电路—例如fpga(现场可编程门阵列)或asic(专用集成电路)来执行,并且装置也可以实现为专用逻辑电路。

适合用于执行计算机程序的计算机包括,例如通用和/或专用微处理器,或任何其他类型的中央处理单元。通常,中央处理单元将从只读存储器和/或随机存取存储器接收指令和数据。计算机的基本组件包括用于实施或执行指令的中央处理单元以及用于存储指令和数据的一个或多个存储器设备。通常,计算机还将包括用于存储数据的一个或多个大容量存储设备,例如磁盘、磁光盘或光盘等,或者计算机将可操作地与此大容量存储设备耦接以从其接收数据或向其传送数据,抑或两种情况兼而有之。然而,计算机不是必须具有这样的设备。此外,计算机可以嵌入在另一设备中。

适合于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、媒介和存储器设备,例如包括半导体存储器设备(例如eprom、eeprom和闪存设备)、磁盘(例如内部硬盘或可移动盘)、磁光盘以及cdrom和dvd-rom盘。处理器和存储器可由专用逻辑电路补充或并入专用逻辑电路中。

虽然本说明书包含许多具体实施细节,但是这些不应被解释为限制任何发明的范围或所要求保护的范围,而是主要用于描述特定发明的具体实施例的特征。本说明书内在多个实施例中描述的某些特征也可以在单个实施例中被组合实施。另一方面,在单个实施例中描述的各种特征也可以在多个实施例中分开实施或以任何合适的子组合来实施。此外,虽然特征可以如上所述在某些组合中起作用并且甚至最初如此要求保护,但是来自所要求保护的组合中的一个或多个特征在一些情况下可以从该组合中去除,并且所要求保护的组合可以指向子组合或子组合的变型。

类似地,虽然在附图中以特定顺序描绘了操作,但是这不应被理解为要求这些操作以所示的特定顺序执行或顺次执行、或者要求所有例示的操作被执行,以实现期望的结果。在某些情况下,多任务和并行处理可能是有利的。此外,上述实施例中的各种系统模块和组件的分离不应被理解为在所有实施例中均需要这样的分离,并且应当理解,所描述的程序组件和系统通常可以一起集成在单个软件产品中,或者封装成多个软件产品。

由此,主题的特定实施例已被描述。其他实施例在所附权利要求书的范围以内。在某些情况下,权利要求书中记载的动作可以以不同的顺序执行并且仍实现期望的结果。此外,附图中描绘的处理并非必需所示的特定顺序或顺次顺序,以实现期望的结果。在某些实现中,多任务和并行处理可能是有利的。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1