CN115292014A - 图像渲染方法、装置和服务器 - Google Patents
图像渲染方法、装置和服务器 Download PDFInfo
- Publication number
- CN115292014A CN115292014A CN202210926262.5A CN202210926262A CN115292014A CN 115292014 A CN115292014 A CN 115292014A CN 202210926262 A CN202210926262 A CN 202210926262A CN 115292014 A CN115292014 A CN 115292014A
- Authority
- CN
- China
- Prior art keywords
- rendering
- task
- target
- node server
- resource pool
- 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
-
- 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/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- 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
- G06F9/5038—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 considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Processing Or Creating Images (AREA)
Abstract
本说明书提供了图像渲染方法、装置和服务器。基于该方法,云渲染服务平台的管理节点服务器在接收到第一渲染节点服务器发起的渲染任务申领请求之后,先确定目标资源池;基于资源池维度,根据预设的优先级规则从目标资源池中筛选出多个候选任务队列;再基于作业维度,从多选任务队列中确定出与第一渲染节点服务器相匹配的目标任务队列;进一步,基于任务维度,从目标任务队列中确定出符合预设的任务要求的渲染任务,作为分配给第一渲染节点服务器处理的目标渲染任务。从而可以通过综合利用资源池层级、作业层级、任务层级等多层级的特征因素,准确、高效为集群中的渲染节点服务器分配合适的渲染任务队列中合适的渲染任务,提高整体的渲染效率。
Description
技术领域
本说明书属于云计算技术领域,尤其涉及图像渲染方法、装置和服务器。
背景技术
基于现有的图像渲染服务平台,在面对数据量庞大的图像渲染作业时,往往存在无法有效、合理地调用服务平台的计算资源,导致图像渲染的整体处理效率较低,用户的等待时间较差长、交互体验较差等问题。
针对上述问题,目前尚未提出有效的解决方案。
发明内容
本说明书提供了图像渲染方法、装置和服务器,通过综合利用资源池层级、作业层级、任务层级等多层级的特征因素,能够准确、高效为集群中的渲染节点服务器分配合适的渲染任务队列中合适的渲染任务,从而有效地提高了云渲染服务平台整体的图像渲染处理效率,缩短了用户的等待时长,使得用户可以获得较好的交互体验。
本说明书提供了一种图像渲染方法,应用于管理节点服务器,包括:
接收第一渲染节点服务器发起的渲染任务申领请求;其中,所述渲染任务申领请求至少携带有第一渲染节点服务器的服务器标识;
根据第一渲染节点服务器的服务器标识,确定出与第一渲染节点服务器匹配的目标资源池;其中,所述目标资源池存放有多个渲染任务队列;所述渲染任务队列分别对应一个图像渲染作业;所述渲染任务队列包括一个或多个渲染任务;
根据预设的优先级规则,从所述目标资源池中筛选出多个候选任务队列;
获取并根据第一渲染节点服务器的特征数据、候选任务队列的作业特征数据,从多个候选任务队列中确定出与第一渲染节点服务器相匹配的目标任务队列;
获取并根据目标任务队列中渲染任务的任务特征数据,从目标任务队列中确定出符合预设的任务要求的渲染任务,作为目标渲染任务;并将该目标渲染任务分配给第一渲染节点服务器处理。
在一个实施例中,根据预设的优先级规则,从所述目标资源池中筛选出多个候选任务队列,包括:
检测目标资源池是否设置有作业优先标记,得到对应的目标检测结果;
根据目标检测结果和预设的优先级规则,确定出相匹配的目标优先级规则;并根据目标优先级规则,从目标资源池中筛选出多个候选任务队列。
在一个实施例中,根据目标检测结果和预设的优先级规则,确定出相匹配的目标优先级规则;并根据目标优先级规则,从目标资源池中筛选出多个候选任务队列,包括:
根据目标检测结果,在确定目标资源池设置有作业优先标记的情况下,从预设的优先级规则中确定出相匹配的第一优先级规则作为目标优先级规则;
相应的,根据目标优先级规则,从目标资源池中筛选出多个候选任务队列,包括:
根据第一优先级规则,确定出目标资源池中各个渲染任务队列的作业优先级指示参数;
根据作业优先级指示参数由大到小的顺序,排列多个渲染任务队列;
从排列后的渲染任务队列中,筛选出排序靠前的预设数量个渲染任务队列作为候选任务队列。
在一个实施例中,根据目标检测结果和预设的优先级规则,确定出相匹配的目标优先级规则;并根据目标优先级规则,从目标资源池中筛选出多个候选任务队列,还包括:
根据目标检测结果,在确定目标资源池未设置有作业优先标记的情况下,从预设的优先级规则中确定出相匹配的第二优先级规则作为目标优先级规则;
相应的,根据目标优先级规则,从目标资源池中筛选出多个候选任务队列,包括:
根据第二优先级规则,确定出目标资源池中各个渲染任务队列中当前已执行的渲染任务的数量;
根据当前已执行的渲染任务的数量由小到大的顺序,排列多个渲染任务队列;
从排列后的渲染任务队列中,筛选出排序靠前的预设数量个渲染任务队列作为候选任务队列。
在一个实施例中,获取并根据第一渲染节点服务器的特征数据、候选任务队列的作业特征数据,从多个候选任务队列中确定出与第一渲染节点服务器相匹配的目标任务队列,包括:
根据目标资源池的内部调度策略,按照相应顺序逐一将候选任务队列的作业特征数据与第一渲染节点服务器的特征数据进行匹配;
在匹配到候选任务队列的作业特征数据与第一渲染节点服务器的特征数据相匹配的候选任务队列时,将该候选任务队列确定为目标任务队列。
在一个实施例中,在匹配到候选任务队列的作业特征数据与第一渲染节点服务器的特征数据相匹配的候选任务队列时,所述方法还包括:
获取该候选任务队列的发起用户的用户特征数据;
根据发起用户的用户特征数据,确定该候选任务队列是否符合预设的作业要求;
在确定该候选任务队列符合预设的作业要求的情况下,将该候选任务队列确定为目标任务队列。
在一个实施例中,所述发起用户的用户特征数据包括以下至少之一:发起用户的用户标识、发起用户的用户标签、当前已执行的且与发起用户关联的渲染任务的数量。
在一个实施例中,获取并根据目标任务队列中渲染任务的任务特征数据,从目标任务队列中确定出符合预设的任务要求的渲染任务,作为目标渲染任务,包括:
确定目标任务队列中当前已执行的渲染任务和当前未执行的渲染任务;
根据当前已执行的渲染任务的任务特征数据和当前未执行的渲染任务的任务特征数据,从当前未执行的渲染任务中确定出与当前已执行的渲染任务相匹配的渲染任务,作为所述目标渲染任务。
本说明书还提供了一种图像渲染装置,应用于管理节点服务器,包括:
接收模块,用于接收第一渲染节点服务器发起的渲染任务申领请求;其中,所述渲染任务申领请求至少携带有第一渲染节点服务器的服务器标识;
第一确定模块,用于根据第一渲染节点服务器的服务器标识,确定出与第一渲染节点服务器匹配的目标资源池;其中,所述目标资源池存放有多个渲染任务队列;所述渲染任务队列分别对应一个图像渲染作业;所述渲染任务队列包括一个或多个渲染任务;
筛选模块,用于根据预设的优先级规则,从所述目标资源池中筛选出多个候选任务队列;
第二确定模块,用于获取并根据第一渲染节点服务器的特征数据、候选任务队列的作业特征数据,从多个候选任务队列中确定出与第一渲染节点服务器相匹配的目标任务队列;
第三确定模块,用于获取并根据目标任务队列中渲染任务的任务特征数据,从目标任务队列中确定出符合预设的任务要求的渲染任务,作为目标渲染任务;并将该目标渲染任务分配给第一渲染节点服务器处理。
本说明书还提供了一种计算机可读存储介质,其上存储有计算机指令,所述指令被处理器执行时实现所述图像渲染方法的相关步骤。
基于本说明书提供的图像渲染方法、装置和服务器,云渲染服务平台的管理节点服务器在接收到第一渲染节点服务器发起的渲染任务申领请求之后,先根据第一渲染节点服务器的服务器标识,确定出与第一渲染节点服务器匹配的目标资源池;其中,目标资源池存放有多个渲染任务队列;所述渲染任务队列分别对应一个图像渲染作业;所述渲染任务队列包括一个或多个渲染任务;基于资源池维度,根据预设的优先级规则,从目标资源池中筛选出多个候选任务队列;再基于作业维度,根据第一渲染节点服务器的特征数据、候选任务队列的作业特征数据,从多个候选任务队列中确定出与第一渲染节点服务器相匹配的目标任务队列;进一步,基于任务维度,获取并根据目标任务队列中渲染任务的任务特征数据,从目标任务队列中确定出符合预设的任务要求的渲染任务,作为目标渲染任务;并将该目标渲染任务分配给第一渲染节点服务器进行处理。从而可以通过综合利用资源池层级、作业层级、任务层级等多层级的特征因素,准确、高效为渲染节点服务器分配合适的渲染任务队列中的合适的渲染任务,有效地提高了云渲染服务平台整体的图像渲染处理效率,缩短了用户的等待时长,使得用户可以获得相对较好的交互体验。进一步,还通过引入并利用与发起用户相关的用户层级的特征因素,再结合上述资源池层级、作业层级、任务层级等多层级的特征因素,从而可以更加精准、合理地为渲染节点服务器分配渲染任务队列中的渲染任务,使得用户可以获得相对更好的交互体验。
附图说明
为了更清楚地说明本说明书实施例,下面将对实施例中所需要使用的附图作简单地介绍,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1本说明书的一个实施例提供的图像渲染方法的流程示意图;
图2是在一个场景示例中,应用本说明书实施例提供的图像渲染方法的一种实施例的示意图;
图3是在一个场景示例中,应用本说明书实施例提供的图像渲染方法的一种实施例的示意图;
图4是在一个场景示例中,应用本说明书实施例提供的图像渲染方法的一种实施例的示意图;
图5是在一个场景示例中,应用本说明书实施例提供的图像渲染方法的一种实施例的示意图;
图6是本说明书的一个实施例提供的服务器的结构组成示意图;
图7是本说明书的一个实施例提供的图像渲染装置的结构组成示意图。
具体实施方式
为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书保护的范围。
参阅图1所示,本说明书实施例提供了一种图像渲染方法,其中,该方法具体应用于管理节点服务器一侧。具体实施时,该方法可以包括以下内容:
S101:接收第一渲染节点服务器发起的渲染任务申领请求;其中,所述渲染任务申领请求至少携带有第一渲染节点服务器的服务器标识;
S102:根据第一渲染节点服务器的服务器标识,确定出与第一渲染节点服务器匹配的目标资源池;其中,所述目标资源池存放有多个渲染任务队列;所述渲染任务队列分别对应一个图像渲染作业;所述渲染任务队列包括一个或多个渲染任务;
S103:根据预设的优先级规则,从所述目标资源池中筛选出多个候选任务队列;
S104:获取并根据第一渲染节点服务器的特征数据、候选任务队列的作业特征数据,从多个候选任务队列中确定出与第一渲染节点服务器相匹配的目标任务队列;
S105:获取并根据目标任务队列中渲染任务的任务特征数据,从目标任务队列中确定出符合预设的任务要求的渲染任务,作为目标渲染任务;并将该目标渲染任务分配给第一渲染节点服务器处理。
在一个实施例中,上述图像渲染方法具体可以应用于管理节点服务器一侧。其中,上述管理节点服务器具体可以为云渲染服务平台的管理节点服务器。
参阅图2所示,上述云渲染服务平台具体可以理解为一种基于云计算技术为用户提供自动图像渲染作业服务的网络平台。
具体的,上述云渲染服务平台至少可以包括:管理节点服务器(或称管理节点)、渲染节点服务器(或称渲染节点)、存储节点服务器(或称存储节点)、资源池等结构。
其中,上述渲染节点服务器具体可以用于执行图像渲染作业中具体的渲染任务。上述云渲染服务平台可以包括多个分布式的渲染节点服务器,多个渲染服务器节点可以组合构成相应的分布式服务器集群。
其中,上述渲染节点服务器具体可以包括以下所列举的一种或多种:基于CPU的渲染节点服务器、基于GPU的渲染节点服务器、基于CPU+GPU异构双子的渲染节点服务器等。通过在云渲染服务平台中组合使用上述多种不同类型的渲染节点服务器可以满足用户多样化的渲染需求,更加高效、精准地完成图像渲染作业。
上述管理节点服务器具体可以用于调配空闲的渲染节点服务器执行具体的渲染任务。
上述资源池用于存储渲染任务队列。其中,每一个渲染任务队列对应一个具体的图像渲染作业,每一个渲染任务队列具体可以包括一个或多个渲染任务。上述渲染任务可以理解为在进行图像渲染作业时的最小任务单位。
上述存储节点服务器具体可以用于存储相关的属性数据。具体的,例如,存储节点服务器可以用于存储与图像渲染作业的发起用户相关的用户的属性数据、资源池的属性数据、渲染任务队列的属性数据、渲染任务的属性数据。
在本实施例中,上述管理节点服务器、渲染节点服务器、存储节点服务器具体可以包括一种应用于云渲染服务平台一侧,能够实现数据传输、数据处理等功能的后台服务器。具体的,所述管理节点服务器、渲染节点服务器、存储节点服务器例如可以为一个具有数据运算、存储功能以及网络交互功能的电子设备。或者,所述管理节点服务器、渲染节点服务器、存储节点服务器也可以为运行于该电子设备中,为数据处理、存储和网络交互提供支持的软件程序。在本实施例中,并不具体限定所述管理节点服务器、渲染节点服务器、存储节点服务器所包含的服务器的数量。所述管理节点服务器、渲染节点服务器、存储节点服务器具体可以为一个服务器,也可以为几个服务器,或者,由若干服务器形成的服务器集群。
具体实施时,参阅图2所示,当用户有图像渲染作业需求时,可以使用终端设备向云渲染服务平台发起图像渲染作业请求;其中,所述图像渲染作业请求至少携带有发起用户的用户标识,以及待渲染的一个或多个图像。
其中,上述图像渲染具体可以理解为将包含材质、纹理、色彩、光源等信息的三维模型,通过计算生成具有真实感效果图像的图像处理过程。
在本实施例中,所述终端设备具体可以包括一种应用于用户一侧,能够实现数据采集、数据传输等功能的前端。具体的,所述终端设备例如可以为台式电脑、平板电脑、笔记本电脑、手机等电子设备。或者,所述终端设备也可以为能够运行于上述电子设备中的软件应用。例如,可以是在手机上运行的XX云渲染APP等。
相应的,管理节点服务器可以接收用户发起的图像渲染作业请求;响应该图像渲染作业请求,根据预设的拆分规则和图像中的图像帧号,将该图像渲染作业请求所指示的图像渲染作业拆分成多个渲染任务;利用上述多个渲染任务,构建得到与该图像渲染作业对应的渲染任务队列。
进一步,管理节点服务器还可以根据相应的存入规则,将该渲染任务队列存入相应的资源池中。
具体的,上述图像渲染作业请求还可以携带有发起用户设置的渲染参数(例如,渲染模式、渲染类型等)。相应的,管理节点服务器可以根据渲染参数以及待渲染的图像数量,预判出图像渲染作业请求所指示的图像渲染作业的作业类型和作业规模;进而可以根据作业类型和作业规模,将与该图像渲染作业对应的渲染任务队列存入相匹配的资源池中。
其中,对于每一个资源池,管理节点服务器可以预先根据该资源池存入的渲染任务队列的作业类型和作业规模,配置好相匹配的服务器集群,并建立资源池的配置关系表。上述资源池的配置关系表中可以包括有针对该资源池配置的服务器集群中的各个渲染节点服务器的服务器标识。
可以理解为一个资源池与所配置的服务器集群相对应的。当然,还需要说明的是,在一些特殊情况下,也可以调用服务器集群中的渲染节点服务器临时处理执行其他资源池中的渲染任务队列中的渲染任务。还可以跨服务器集群组合调用不同服务器集群中的渲染节点服务器来共同执行某个资源池中的渲染任务队列。
按照上述方式,管理节点服务器可以先接收并根据用户发起的图像渲染作业请求,构建出多个渲染任务队列;并将渲染任务队列分别存储相匹配的资源池中,以等待分配处理。
具体实施时,上述渲染节点服务器可以被设置为每间隔预设的时间间隔自动检测本地的剩余资源量;在检测到本地的剩余资源量大于预设的剩余资源量阈值时,确定当前相对较为空闲,可以承接和执行渲染任务,这时该渲染节点服务器可以记为第一渲染节点服务器,进而可以向管理节点服务器发送渲染任务申领请求。
相应的,管理节点服务器接收并响应上述渲染任务申领请求,基于本说明书所提供的方法,通过综合利用资源池层级、作业层级、任务层级等多层级的特征因素,为该第一渲染节点服务器确定出合适的渲染任务队列中合适的渲染任务作为目标渲染任务;再将该目标渲染任务分配给该第一渲染节点服务器具体执行处理。
按照上述方式,管理节点服务器可以高效、准确地为当前相对空闲的第一渲染节点服务器分配合适的目标渲染任务,从而可以合理、有效地利用云渲染服务平台的计算资源,高效地处理完用户所请求的图像渲染作业,减少用户的等待时长。
在一个实施例中,具体实施时,管理节点服务器可以根据第一渲染节点服务器的服务器标识,通过查询资源池的配置关系表,确定出与第一渲染节点服务器相匹配的资源池,作为目标资源池。
在一个实施例中,上述根据预设的优先级规则,从所述目标资源池中筛选出多个候选任务队列,具体实施时,可以包括以下内容:
S1:检测目标资源池是否设置有作业优先标记,得到对应的目标检测结果;
S2:根据目标检测结果和预设的优先级规则,确定出相匹配的目标优先级规则;并根据目标优先级规则,从目标资源池中筛选出多个候选任务队列。
其中,上述作业优先标记具体可以理解为一种用于指示基于资源池中任务队列的优先级来处理该资源池中的任务队列的指示标识。
具体的,对于设置有作业优先标记的资源池,该资源池中的任务队列在存入时还会设置相对应的作业优先级指示参数;相应的,在处理该资源池中的任务队列时,需要考虑不同任务队列的作业优先级。
对于没有设置作业优先标记的资源池,该资源池中的任务队列再存入时不会设置相对应的作业优先级指示参数;相应的,在处理该资源池中的任务队列时,不需要考虑任务队列的作业优先级,但需要考虑各个任务队列中任务的执行情况,避免出现由于某个任务队列长时间没有执行处理,影响用户的交互体验。
上述预设的优先级规则具体可以包括:第一优先级规则和第二优先级规则。其中,上述第一优先级规则具体可以是针对设置有作业优先标记的资源池设计的。上述第二优先级规则具体可以是针对没有设置作业优先标记的资源池设计的。
在一个实施例中,上述根据目标检测结果和预设的优先级规则,确定出相匹配的目标优先级规则;并根据目标优先级规则,从目标资源池中筛选出多个候选任务队列,具体实施时,可以包括以下内容:根据目标检测结果,在确定目标资源池设置有作业优先标记的情况下,从预设的优先级规则中确定出相匹配的第一优先级规则作为目标优先级规则;
相应的,参阅图3所示,上述根据目标优先级规则,从目标资源池中筛选出多个候选任务队列,具体实施时,可以包括以下内容:
S1:根据第一优先级规则,确定出目标资源池中各个渲染任务队列的作业优先级指示参数;
S2:根据作业优先级指示参数由大到小的顺序,排列多个渲染任务队列;
S3:从排列后的渲染任务队列中,筛选出排序靠前的预设数量个渲染任务队列作为候选任务队列。
基于上述实施例,在目标资源池设置有作业优先标记的情况下,可以从目标资源池中优先筛选出作业优先级较高预设数量个(例如,5个)渲染任务队列作为符合要求的候选任务队列。
在一个实施例中,上述根据目标检测结果和预设的优先级规则,确定出相匹配的目标优先级规则;并根据目标优先级规则,从目标资源池中筛选出多个候选任务队列,具体实施时,还可以包括以下内容:根据目标检测结果,在确定目标资源池未设置有作业优先标记的情况下,从预设的优先级规则中确定出相匹配的第二优先级规则作为目标优先级规则;
相应的,参阅图4所示,上述根据目标优先级规则,从目标资源池中筛选出多个候选任务队列,具体实施时,可以包括以下内容:
S1:根据第二优先级规则,确定出目标资源池中各个渲染任务队列中当前已执行的渲染任务的数量;
S2:根据当前已执行的渲染任务的数量由小到大的顺序,排列多个渲染任务队列;
S3:从排列后的渲染任务队列中,筛选出排序靠前的预设数量个渲染任务队列作为候选任务队列。
基于上述实施例,在目标资源池没有设置作业优先标记的情况下,可以从目标资源池中优先筛选出当前未开始执行或者当前已执行的渲染任务数量较少的预设数量个渲染任务队列作为符合要求的候选任务队列。
在一个实施例中,上述获取并根据第一渲染节点服务器的特征数据、候选任务队列的作业特征数据,从多个候选任务队列中确定出与第一渲染节点服务器相匹配的目标任务队列,具体实施时,可以包括以下内容:
S1:根据目标资源池的内部调度策略,按照相应顺序逐一将候选任务队列的作业特征数据与第一渲染节点服务器的特征数据进行匹配;
S2:在匹配到候选任务队列的作业特征数据与第一渲染节点服务器的特征数据相匹配的候选任务队列时,将该候选任务队列确定为目标任务队列。
具体的,可以通过查询存储节点服务器存储的渲染任务队列的属性数据,以获取所需要的候选任务队列的作业特征数据。
其中,上述候选任务队列的作业特征数据具体可以包括以下至少之一:候选任务队列的建立时间、候选任务队列的硬件资源要求参数、候选任务队列的软件资源要求参数、候选任务队列所对应的图像渲染作业与其他图像渲染作业之间的关联性参数等。其中,上述候选任务队列所对应的图像渲染作业与其他图像渲染作业之间的关联性参数具体可以是指用于表征不同图像渲染作业之间的依赖关系的参数。例如,A图像渲染作业要求在B图像渲染作业完成以后才能开始。或者C图像渲染作业在开始进行时,需要使用D图像渲染作业中间生成的某个参数等等。
进一步,上述作业特征数据还可以包括:候选任务队列所对应的图像渲染作业允许的同时占用的渲染节点服务器数的上限、候选任务队列所对应的图像渲染作业的特殊类型(例如,是否需要利用渲染器支持的分布式渲染)等等。
其中,上述第一渲染节点服务器的特征数据具体可以包括以下至少之一:第一渲染节点服务器的剩余资源量、第一渲染节点服务器的运行状态、安装于第一渲染节点服务器的软件应用的应用标识等。
进一步,上述第一渲染节点服务器的特征数据还可以包括:第一渲染节点服务器所支持的软件、渲染器、插件的许可信息,第一渲染节点服务器的机型信息,第一渲染节点服务器的可用磁盘空间、可用内存、显卡数量等等。
具体实施时,管理节点服务器可以根据候选任务队列的队列标识、第一渲染节点服务器的服务器标识,通过查询存储节点服务器,以获取上述候选任务队列的作业特征数据,以及第一渲染节点服务器的特征数据。
具体的,上述内部调度策略包括以下至少之一:全局循环调度策略、基于优先级的多个作业循环调度策略、基于优先级的先进先出调度策略等。
其中,全局循环调度策略具体可以是指忽略图像渲染作业的作业优先级,对同一个资源池内的所有渲染任务队列都是循环均匀地分配渲染节点服务器。基于优先级的多个作业循环调度策略具体可以是指同一个资源池内的所有图像渲染作业所对应的渲染任务队列先按作业优先级从高到低的降序排列,对优先级相同的渲染任务队列进行循环均匀地分配渲染节点服务器。基于优先级的先进先出调度策略具体可以是指同一个资源池内的所有图像渲染作业所对应的渲染任务队列先按作业优先级从高到低的降序排列,优先级相同的渲染任务队列按照图像渲染作业请求的接受时间进行排序,越早接收越早建立的渲染任务队列越优先被分配渲染节点服务器。
基于上述实施例,管理节点服务器可以根据目标资源池的内部调度策略,逐一将每个候选任务队列的作业特征数据分别与第一渲染节点服务器的特征数据进行匹配,在匹配到某个候选任务队列的作业特征数据与第一渲染节点服务器的特征数据匹配成功的情况下,可以确定该候选任务队列为适合第一渲染节点服务器处理的任务队列,进而可以停止继续匹配,并将该候选任务队列确定出适合第一渲染节点服务器处理的目标任务队列。
在一个实施例中,参阅图5所示,在匹配到候选任务队列的作业特征数据与第一渲染节点服务器的特征数据相匹配的候选任务队列时,所述方法具体实施时,还可以包括以下内容:
S1:获取该候选任务队列的发起用户的用户特征数据;
S2:根据发起用户的用户特征数据,确定该候选任务队列是否符合预设的作业要求;
S3:在确定该候选任务队列符合预设的作业要求的情况下,将该候选任务队列确定为目标任务队列。
其中,上述发起用户的用户特征数据具体可以包括以下至少之一:发起用户的用户标识、发起用户的用户标签、当前已执行的且与发起用户关联的渲染任务的数量等。
进一步,上述发起用户的用户特征数据还可以包括:发起用户的剩余资源值、发起用户的会员等级、发起用户的信用评分等等。
具体实施时,管理节点服务器可以按照以下方式,获取候选任务队列的发起用户的用户特征数据:根据候选任务队列的队列标识,通过查询存储节点服务器,确定该候选任务队列所对应的图像渲染作业请求的发起用户的用户标识;根据发起用户的用户标识,通过查询存储节点服务器,获取该发起用户的用户特征数据。
具体实施时,管理节点服务器每次在根据候选任务队列的作业特征数据、第一渲染节点服务器的特征数据匹配到相匹配的候选任务队列时,可以先获取该候选任务队列的发起用户的用户特征数据;再根据发起用户的用户特征数据,通过检测该发起用户是否符合要求来确定该候选任务队列是否符合预设的作业要求。在确定该候选任务队列不符合预设的作业要求的情况下,可以在目标资源池中根据候选任务队列的作业特征数据、第一渲染节点服务器的特征数据继续匹配下一个候选任务队列。相反,在确定该候选任务队列符合预设的作业要求的情况下,将该候选任务队列确定为目标任务队列。
具体的,例如,在根据发起用户的用户特征数据,检测到该发起用户的信用评分较低,低于预设的评分阈值时,可以判断该发起用户属于失信用户,不出要求,进而可以确定该候选任务队列不符合预设的作业要求。基于相应的处理规则,将该候选任务队列滞后一轮处理。
又例如,在根据发起用户的用户特征数据,检测到当前已执行的且与发起用户关联的渲染任务的数量较大,大于预设的数量阈值时,可以判断当前已经耗费了大量的计算资源在处理该用户发起的图像渲染作业,并且涉及该用户的多个渲染任务已经在处理中,这时为了兼顾其他用户的交互体验,可以优先处理其他用户的图像渲染作业,因此可以确定该候选任务队列不符合预设的作业要求。基于相应的处理规则,可以将该候选任务队列滞后一轮再处理。
基于上述实施例,通过进一步引入并利用用户层级的特征因素,能够较好地兼顾更多用户的交互体验,筛选符合当前用户需求的候选任务队列进行优先分配处理,从而可以使得用户可以获得相对更好的交互体验。
在一个实施例中,上述获取并根据目标任务队列中渲染任务的任务特征数据,从目标任务队列中确定出符合预设的任务要求的渲染任务,作为目标渲染任务,具体实施时,可以包括以下内容:
S1:确定目标任务队列中当前已执行的渲染任务和当前未执行的渲染任务;
S2:根据当前已执行的渲染任务的任务特征数据和当前未执行的渲染任务的任务特征数据,从当前未执行的渲染任务中确定出与当前已执行的渲染任务相匹配的渲染任务,作为所述目标渲染任务。
其中,上述渲染任务的任务特征数据具体可以包括以下至少之一:渲染任务的预处理参数,渲染任务的测试参数,渲染任务的处理顺序指示参数,渲染任务与所属的渲染任务对列中的其他渲染任务之间的关联性参数,渲染任务对GPU、显卡的下限要求参数等。
其中,上述预处理具体可以是指在执行具体的渲染任务之前,先对相关的渲染场景进行本地化的修改。例如,修改通道文件的输出路径,修改渲染器可以使用的内存上限等。上述修改的相关参数在渲染场景中具体可以是按照用户自定义的本地环境参数设置的。
上述测试具体可以是指为保证渲染结果的正确性和资源有效使用,在对渲染场景进行本地化修改之后,需要进行的渲染测试计算。具体的,图像渲染作业的渲染测试计算一般是指用户在提交待渲染的多个图像后,为了保证渲染结果的正确和可靠,可以先通过渲染多个图像中的前中后三帧图像(例如,图像帧号排序最靠前、排序中间、排序最靠后的三个图像)进行测试,待确定上述三帧图像的渲染测试结果符合用户要求的情况下,再对渲染任务中的剩余帧图像,以及该渲染任务队列中的其他渲染任务进行处理。
在一个实施例中,上述第一渲染节点服务器具体可以当前能够承接处理渲染任务的渲染节点服务器。具体的,上述第一渲染节点服务器可以为当前剩余资源量大于预设的剩余资源量阈值的渲染节点服务器,或者当前处于空闲状态的渲染节点服务器。
在一个实施例中,上述方法具体实施时,还可以包括以下内容:接收发起用户通过终端设备发起的图像渲染作业请求;其中,所述图像渲染作业请求至少携带有发起用户的用户标识,以及待渲染的图像;响应图像渲染作业请求,根据预设的拆分规则和图像中的图像帧号,拆分出多个渲染任务,以构建相对应的渲染任务队列。
在一个实施例中,在将该目标渲染任务分配给第一渲染节点服务器处理之后,所述方法具体实施时,还可以包括以下内容:第一渲染节点服务器执行并处理所分配的目标渲染任务。具体的,第一渲染节点服务器可以执行预设的脚本文本进行渲染任务的渲染计算,同时读取存储节点服务器中的场景素材,并利用上述场景素材对该目标渲染任务所针对的图像进行处理,以完成目标渲染任务,得到渲染后的图像作为目标处理结果。
进一步,第一渲染节点服务器可以将目标处理结果存入存储节点服务器;同时向管理节点服务器反馈关于目标渲染任务完成的通知信息。
管理节点服务器接收并响应该通知信息,更新目标任务队列中目标渲染任务的状态信息;同时根据目标任务队列中各个渲染任务的状态信息,检测目标任务队列中的各个渲染任务是否都已执行完成。在确定目标任务队列中的各个渲染任务都已执行完成的情况下,可以确定目标任务队列所对应的图像渲染作业已经执行完成。进而服务器可以生成并向终端设备发送提示信息,以提示发起用户所请求的图像渲染作业已经完成。
相应的,发起用户可以利用终端设备,通过相应的数据下载接口,通过存储节点服务器获取得到所需要的最终的图像渲染作业的结果文件。
由上可见,基于本说明书实施例提供的图像渲染方法,云渲染服务平台的管理节点服务器在接收到第一渲染节点服务器发起的渲染任务申领请求之后,先根据第一渲染节点服务器的服务器标识,确定出与第一渲染节点服务器匹配的目标资源池;其中,目标资源池存放有多个渲染任务队列;所述渲染任务队列分别对应一个图像渲染作业;所述渲染任务队列包括一个或多个渲染任务;基于资源池维度,根据预设的优先级规则,从目标资源池中筛选出多个候选任务队列;再基于作业维度,根据第一渲染节点服务器的特征数据、候选任务队列的作业特征数据,从多个候选任务队列中确定出与第一渲染节点服务器相匹配的目标任务队列;进一步,再基于任务维度,获取并根据目标任务队列中渲染任务的任务特征数据,从目标任务队列中确定出符合预设的任务要求的渲染任务,作为目标渲染任务;并将该目标渲染任务分配给第一渲染节点服务器处理。从而可以通过综合利用资源池层级、作业层级、任务层级等多层级的特征因素,准确、高效为渲染节点服务器分配合适的渲染任务队列中的合适的渲染任务,有效提高了云渲染服务平台整体的图像渲染处理效率,缩短了用户的等待时长,使得用户可以获得较好的交互体验。进一步,还通过引入并利用与发起用户相关的用户层级的特征因素,结合上述资源池层级、作业层级、任务层级等多层级的特征因素,从而可以更加精准、合理地为渲染节点服务器分配渲染任务队列中的渲染任务,使得用户可以获得更好的交互体验。
本说明书实施例还提供一种服务器,包括处理器以及用于存储处理器可执行指令的存储器,所述处理器具体实施时可以根据指令执行以下步骤:接收第一渲染节点服务器发起的渲染任务申领请求;其中,所述渲染任务申领请求至少携带有第一渲染节点服务器的服务器标识;根据第一渲染节点服务器的服务器标识,确定出与第一渲染节点服务器匹配的目标资源池;其中,所述目标资源池存放有多个渲染任务队列;所述渲染任务队列分别对应一个图像渲染作业;所述渲染任务队列包括一个或多个渲染任务;根据预设的优先级规则,从所述目标资源池中筛选出多个候选任务队列;获取并根据第一渲染节点服务器的特征数据、候选任务队列的作业特征数据,从多个候选任务队列中确定出与第一渲染节点服务器相匹配的目标任务队列;获取并根据目标任务队列中渲染任务的任务特征数据,从目标任务队列中确定出符合预设的任务要求的渲染任务,作为目标渲染任务;并将该目标渲染任务分配给第一渲染节点服务器处理。
为了能够更加准确地完成上述指令,参阅图6所示,本说明书实施例还提供了另一种具体的服务器,其中,所述服务器包括网络通信端口601、处理器602以及存储器603,上述结构通过内部线缆相连,以便各个结构可以进行具体的数据交互。
其中,所述网络通信端口601,具体可以用于接收第一渲染节点服务器发起的渲染任务申领请求;其中,所述渲染任务申领请求至少携带有第一渲染节点服务器的服务器标识。
所述处理器602,具体可以用于根据第一渲染节点服务器的服务器标识,确定出与第一渲染节点服务器匹配的目标资源池;其中,所述目标资源池存放有多个渲染任务队列;所述渲染任务队列分别对应一个图像渲染作业;所述渲染任务队列包括一个或多个渲染任务;根据预设的优先级规则,从所述目标资源池中筛选出多个候选任务队列;获取并根据第一渲染节点服务器的特征数据、候选任务队列的作业特征数据,从多个候选任务队列中确定出与第一渲染节点服务器相匹配的目标任务队列;获取并根据目标任务队列中渲染任务的任务特征数据,从目标任务队列中确定出符合预设的任务要求的渲染任务,作为目标渲染任务;并将该目标渲染任务分配给第一渲染节点服务器处理。
所述存储器603,具体可以用于存储相应的指令程序。
在本实施例中,所述网络通信端口601可以是与不同的通信协议进行绑定,从而可以发送或接收不同数据的虚拟端口。例如,所述网络通信端口可以是负责进行web数据通信的端口,也可以是负责进行FTP数据通信的端口,还可以是负责进行邮件数据通信的端口。此外,所述网络通信端口还可以是实体的通信接口或者通信芯片。例如,其可以为无线移动网络通信芯片,如GSM、CDMA等;其还可以为Wifi芯片;其还可以为蓝牙芯片。
在本实施例中,所述处理器602可以按任何适当的方式实现。例如,处理器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application SpecificIntegrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式等等。本说明书并不作限定。
在本实施例中,所述存储器603可以包括多个层次,在数字系统中,只要能保存二进制数据的都可以是存储器;在集成电路中,一个没有实物形式的具有存储功能的电路也叫存储器,如RAM、FIFO等;在系统中,具有实物形式的存储设备也叫存储器,如内存条、TF卡。
本说明书实施例还提供了一种基于上述图像渲染方法的计算机可读存储介质,所述计算机可读存储介质存储有计算机程序指令,在所述计算机程序指令被执行时实现以下步骤:接收第一渲染节点服务器发起的渲染任务申领请求;其中,所述渲染任务申领请求至少携带有第一渲染节点服务器的服务器标识;根据第一渲染节点服务器的服务器标识,确定出与第一渲染节点服务器匹配的目标资源池;其中,所述目标资源池存放有多个渲染任务队列;所述渲染任务队列分别对应一个图像渲染作业;所述渲染任务队列包括一个或多个渲染任务;根据预设的优先级规则,从所述目标资源池中筛选出多个候选任务队列;获取并根据第一渲染节点服务器的特征数据、候选任务队列的作业特征数据,从多个候选任务队列中确定出与第一渲染节点服务器相匹配的目标任务队列;获取并根据目标任务队列中渲染任务的任务特征数据,从目标任务队列中确定出符合预设的任务要求的渲染任务,作为目标渲染任务;并将该目标渲染任务分配给第一渲染节点服务器处理。
在本实施例中,上述存储介质包括但不限于随机存取存储器(Random AccessMemory,RAM)、只读存储器(Read-Only Memory,ROM)、缓存(Cache)、硬盘(Hard DiskDrive,HDD)或者存储卡(Memory Card)。所述存储器可以用于存储计算机程序指令。网络通信单元可以是依照通信协议规定的标准设置的,用于进行网络连接通信的接口。
在本实施例中,该计算机可读存储介质存储的程序指令具体实现的功能和效果,可以与其它实施方式对照解释,在此不再赘述。
参阅图7所示,在软件层面上,本说明书实施例还提供了一种图像渲染装置,该装置具体可以包括以下的结构模块:
接收模块701,具体可以用于接收第一渲染节点服务器发起的渲染任务申领请求;其中,所述渲染任务申领请求至少携带有第一渲染节点服务器的服务器标识;
第一确定模块702,具体可以用于根据第一渲染节点服务器的服务器标识,确定出与第一渲染节点服务器匹配的目标资源池;其中,所述目标资源池存放有多个渲染任务队列;所述渲染任务队列分别对应一个图像渲染作业;所述渲染任务队列包括一个或多个渲染任务;
筛选模块703,具体可以用于根据预设的优先级规则,从所述目标资源池中筛选出多个候选任务队列;
第二确定模块704,具体可以用于获取并根据第一渲染节点服务器的特征数据、候选任务队列的作业特征数据,从多个候选任务队列中确定出与第一渲染节点服务器相匹配的目标任务队列;
第三确定模块705,具体可以用于获取并根据目标任务队列中渲染任务的任务特征数据,从目标任务队列中确定出符合预设的任务要求的渲染任务,作为目标渲染任务;并将该目标渲染任务分配给第一渲染节点服务器处理。
在一个实施例中,上述筛选模块703具体实施时,可以按照以下方式根据预设的优先级规则,从所述目标资源池中筛选出多个候选任务队列:检测目标资源池是否设置有作业优先标记,得到对应的目标检测结果;根据目标检测结果和预设的优先级规则,确定出相匹配的目标优先级规则;并根据目标优先级规则,从目标资源池中筛选出多个候选任务队列。
在一个实施例中,上述筛选模块703具体实施时,可以按照以下方式根据目标检测结果和预设的优先级规则,确定出相匹配的目标优先级规则;并根据目标优先级规则,从目标资源池中筛选出多个候选任务队列:根据目标检测结果,在确定目标资源池设置有作业优先标记的情况下,从预设的优先级规则中确定出相匹配的第一优先级规则作为目标优先级规则;相应的,根据目标优先级规则,从目标资源池中筛选出多个候选任务队列,包括:根据第一优先级规则,确定出目标资源池中各个渲染任务队列的作业优先级指示参数;根据作业优先级指示参数由大到小的顺序,排列多个渲染任务队列;从排列后的渲染任务队列中,筛选出排序靠前的预设数量个渲染任务队列作为候选任务队列。
在一个实施例中,上述筛选模块703具体实施时,可以按照以下方式根据目标检测结果和预设的优先级规则,确定出相匹配的目标优先级规则;并根据目标优先级规则,从目标资源池中筛选出多个候选任务队列:根据目标检测结果,在确定目标资源池未设置有作业优先标记的情况下,从预设的优先级规则中确定出相匹配的第二优先级规则作为目标优先级规则;相应的,根据目标优先级规则,从目标资源池中筛选出多个候选任务队列,包括:根据第二优先级规则,确定出目标资源池中各个渲染任务队列中当前已执行的渲染任务的数量;根据当前已执行的渲染任务的数量由小到大的顺序,排列多个渲染任务队列;从排列后的渲染任务队列中,筛选出排序靠前的预设数量个渲染任务队列作为候选任务队列。
在一个实施例中,上述第二确定模块704具体实施时,可以按照以下方式获取并根据第一渲染节点服务器的特征数据、候选任务队列的作业特征数据,从多个候选任务队列中确定出与第一渲染节点服务器相匹配的目标任务队列:根据目标资源池的内部调度策略,按照相应顺序逐一将候选任务队列的作业特征数据与第一渲染节点服务器的特征数据进行匹配;在匹配到候选任务队列的作业特征数据与第一渲染节点服务器的特征数据相匹配的候选任务队列时,将该候选任务队列确定为目标任务队列。
在一个实施例中,上述第二确定模块704具体实施时,在匹配到候选任务队列的作业特征数据与第一渲染节点服务器的特征数据相匹配的候选任务队列时,还可以用于获取该候选任务队列的发起用户的用户特征数据;根据发起用户的用户特征数据,确定该候选任务队列是否符合预设的作业要求;在确定该候选任务队列符合预设的作业要求的情况下,将该候选任务队列确定为目标任务队列。
在一个实施例中,所述发起用户的用户特征数据具体可以包括以下至少之一:发起用户的用户标识、发起用户的用户标签、当前已执行的且与发起用户关联的渲染任务的数量等。
在一个实施例中,上述第三确定模块705具体实施时,可以按照以下方式获取并根据目标任务队列中渲染任务的任务特征数据,从目标任务队列中确定出符合预设的任务要求的渲染任务,作为目标渲染任务:确定目标任务队列中当前已执行的渲染任务和当前未执行的渲染任务;根据当前已执行的渲染任务的任务特征数据和当前未执行的渲染任务的任务特征数据,从当前未执行的渲染任务中确定出与当前已执行的渲染任务相匹配的渲染任务,作为所述目标渲染任务。
需要说明的是,上述实施例阐明的单元、装置或模块等,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本说明书时可以把各模块的功能在同一个或多个软件和/或硬件中实现,也可以将实现同一功能的模块由多个子模块或子单元的组合实现等。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
由上可见,基于本说明书实施例提供的图像渲染装置,通过综合利用资源池层级、作业层级、任务层级等多层级的特征因素,准确、高效为渲染节点服务器分配合适的渲染任务队列中的合适的渲染任务,有效提高了云渲染服务平台整体的图像渲染处理效率,缩短了用户的等待时长,使得用户可以获得较好的交互体验。
在一个具体的场景示例中,可以应用本说明书提供的图像渲染方法通过集群渲染系统完成具体的图像渲染作业。具体实施过程,可以参阅以下内容。
管理节点(例如,管理节点服务器)可以将所有用户提交到每个资源池中的作业(例如,图像渲染作业)拆分成渲染任务,将其添加至任务队列(例如,渲染任务队列),并时刻对该任务队列进行维护更新。渲染节点(例如,第一渲染节点)可以主动向管理节点发起任务请求(例如,渲染任务申领请求)。管理节点根据渲染节点所携带的软硬件环境信息,在任务队列中综合考虑用户级别(例如,用户层级)、资源池级别(例如,资源池层级)、作业级别(例如,作业层级)和任务级别(例如,任务层级)等各方面因素,通过进行优先级排序和遍历,与渲染节点的对应因素进行匹配查询,将适合该节点的任务(例如,渲染任务)分配给该节点进行处理。
在上述集群渲染系统中,按功能可以将服务器分为管理节点、渲染节点和存储节点三类。其中,管理节点主要负责集群任务的分配调度,渲染节点主要从管理节点申请任务后进行渲染计算,存储节点用于存储渲染资产和结果图像等文件。管理节点作为集群的核心,需要时刻更新整个集群的任务队列信息,并随时接受计算节点的请求,根据节点和任务的多层次因素的综合匹配性等因素进行任务的分配调度。其自动调度的效率决定了整个集群系统的机器利用率和任务完成效率,具有重要的意义。
基于上述集群渲染系统,具体实施时,可以包括以下步骤:用户通过接口工具提交渲染作业(例如,图像渲染作业);管理节点将提交的作业进行任务拆分并更新至其维护的任务队列;空闲的渲染节点携带其软硬件环境信息向管理节点请求渲染任务;管理节点的调度系统按照节点所属的资源池的优先级以及和作业和任务的各种属性等,在任务队列中找到与请求节点的软硬件环境等信息相匹配的任务,将其分配给渲染节点;渲染节点执行脚本进行渲染任务的计算,具体的,在读取存储节点的场景素材后将渲染结果写入存储节点并通知管理节点;管理节点更新任务队列中的任务状态等信息,并通知用户端的接口工具自动下载渲染结果图像文件。
基于该方法,考虑到集群渲染调度任务的多因素特点,在管理节点分配任务时,需要考虑的任务因素分为四层:用户级别、资源池级别、作业级别、任务级别,并根据实际业务场景对这些层级下的具体要求进行因素的拆分和排列。渲染节点在请求任务时,管理节点需要对不同层级的各方面因素与渲染节点的软硬件环境进行多方面的融合匹配,最终将最合适的任务分配给渲染节点。
其中,集群渲染系统可以支持多用户同时使用,提交自己的渲染任务到相应的资源池。资源池不仅包括一定数量的作业队列,并与一定数量的渲染节点对应。不同用户的作业可以共享同一个资源池,而每个用户也可以提交作业到不同的资源池。作业一般按照场景里设置的帧编号又继续拆分成渲染任务,因此管理节点维护的任务队列,包含了用户、资源池、作业和任务四个级别信息。
第一层级(对应用户层级),用户级别因素。主要包括用户的等级、状态、余额、该用户允许同时占用的渲染节点数上限等。不同的等级会影响该用户允许同时占用的资源数量,它的上限以及用户状态、余额等则是该级别因素中必要的限制条件。
第二层级(对应资源池层级),资源池级别因素。资源池作为用户提交作业的集中地以及一批渲染节点的集合,对于作业的渲染任务运行中需要的硬件软件等环境,有很多方面的共同要求,因此其包含的具体因素较多。包括:资源池状态、资源池优先级、资源池内作业的循环调度策略、资源池内作业需要的盘符映射、资源池内作业需要的软件环境、资源池内作业需要的硬件要求等。
其中,资源池的优先级可以分为正优先级(例如,设置有作业优先标记的资源池)和零优先级(例如,没有设置有作业优先标记的资源池)。对于正优先级的资源池,根据优先级从大到小的顺序进行降序排列,从而保证优先级越高的资源池中的作业越先被渲染。而对于优先级为零的节点池,按照资源池所有作业当前在运行的总任务数升序排列,从而使得当前运行任务数越少的资源池,其中的作业越先被渲染,以实现资源尽可能均分到这些资源池中,避免一些资源池的作业一直分配不到渲染节点。
资源池内作业之间的调度策略又可以分为三种,根据用户不同需求进行设置。包括:全局循环调度、基于优先级的多个作业循环调度、基于优先级的先进先出。第一种全局循环调度是指忽略作业的优先级属性,同一个资源池内的所有作业都是循环均匀分配渲染节点。第二种基于优先级的多个作业循环调度是指,同一个资源池内的所有作业先按优先级从大到小的降序排列,优先级相同的作业进行循环均匀分配资源;第三种基于优先级的先进先出是指,同一个资源池内的所有作业先按优先级从大到小的降序排列,优先级相同的作业按照作业提交时间进行排序,越早提交的作业越优先被分配节点资源。
资源池内作业需要的软件环境,除了包括检查主要的渲染软件是否有安装在渲染节点上以外,还提供了一种灵活的许可证管理方法。由于渲染用到的软件、渲染器、插件等类型众多,这些软件的授权在每个节点上的许可情况也是不同的,该方案允许对每个渲染节点进行各种软件的许可标注,即告知系统该节点上是否支持这些软件、渲染器、插件的许可,如果不支持,则不能将对于此软件环境有要求的资源池内的作业。
资源池内作业需要的硬件环境,对渲染节点的可用磁盘空间、可用内存、显卡数量进行了明确的要求,避免渲染节点在渲染这些作业的任务时出现硬件不满足的情况,降低渲染的成功率。
第三层级(对应作业层级),作业级别因素。资源池内的作业除了一些共性的因素要求以外,还可能会有作业层级的具体区别。例如作业允许的同时占用的渲染节点数上限、作业之间的依赖性(父作业没有渲染完,则子作业不能开始渲染)、作业的特殊类型(是否需要利用渲染器支持的分布式渲染)等。
此外,渲染节点的硬件配置不尽相同,根据其内存大小、显卡类型等的不同可以分为高配、低配等不同的机型,其对应的单价也不同。除了将不同配置的节点划分到不同的资源池中,让用户根据需求提交作业到不同的资源池,从而进行资源池级别上的区分以外。系统还支持在资源池中包含多种机型的节点,任务调度时在作业层级进行机型的比较,实现任务到节点的精准分配。调度系统提供了一种灵活的机型标签管理方法,每个渲染节点都会根据其硬件配置标注相应的机型标签,用户提交作业时,可以将普通的渲染作业选用低配机型、而一些复杂场景的渲染作业则选用高配机型,这样即使是在同一个资源池内的作业,调度系统也能够通过将请求任务的渲染节点的机型标签与作业要求的节点机型进行配比,从而进行精确的任务分配。
第四层级(对应任务层级),任务级别因素。用户提交的渲染作业会被按照帧号等拆分成一个个独立的渲染任务,它是调度系统内任务队列的最小单位,也是渲染节点请求任务时可能被分配到的基本单位。任务级别的因素主要包括:作业是否需要预处理、作业是否需要预渲染、节点需要申请的任务数等,它们影响着任务调度系统在任务级别的分配顺序和数量。
其中,渲染作业的预处理一般是指在执行渲染之前,对渲染场景进行本地化的修改,例如修改其通道文件的输出路径,渲染器可以使用的内存上限等,这些参数在场景中是按照用户本地环境设置的,为了保证渲染结果的正确性和资源有效使用,需要对场景进行预处理将参数根据集群环境进行修改后,再进行渲染计算。如果作业需要预处理,则其所有任务都需要等待预处理结束后才可以被分配。渲染作业的预渲染一般是指用户在提交多帧作业时,为了检查渲染结果的正确性,优先渲染该作业的前中后三帧,等确认完渲染结果以后人工设置作业状态,其他帧的任务才可以开始被分配。对于GPU渲染任务,每个任务需要的显卡数目不同,调度系统还需要根据请求任务的渲染节点的空余资源来计算可以分配给该节点的任务数。
这四层机因素之间层层递进,又相互融合。例如用户因素和资源池因素之间,单个用户可以提交作业到多个资源池,而多个用户又可以共用同一个资源池,节点请求任务时先按照资源池为索引遍历任务队列,具体到每个作业时又要考虑用户因素的要求是否满足;资源池和作业之间,一个资源池会包括很多作业,而不同的作业对资源的许可、机型等有不同的需求,不是资源池内所有的渲染节点都可以满足。
集群渲染系统具体实施时,可以充分考虑并利用用户、资源池、作业、任务等多层级的各种因素,并根据因素的关联性;并在分配过程中进行了融合处理,来确定分配给各个渲染节点合适的任务,从而可以有效地提升了的资源利用率以及集群整体的渲染效率。
基于上述场景示例,利用本说明书提供的图像渲染方法,可以借助互联网,将云计算与渲染技术相结合。具体可以将虚拟化的硬件资源以一种服务的形式提供给用户,用户只需要利用云渲染配套的客户端或者API,进行场景参数信息的分析,渲染场景及其用到的文件便会自动上传到云端,渲染系统根据场景参数、配置信息等进行任务的分配调度,渲染计算便会在云渲染集群中并行执行渲染,并自动将生成的图像序列回传到客户本地。
基于上述渲染集群系统,云端在对外提供渲染服务时,可以较好的满足整个渲染行业相关的市场和业务存在很大的多样性。具体的,可以兼顾不同客户的各个项目需要的硬件配置、软件环境、资源数量、渲染周期、作业优先级要求的不同,以及关于单价、营收等方面的差异。渲染集群系统在具体调度时,能够满足多种因素条件的要求来进行智能化的任务分配。既能保证渲染节点和渲染任务的适配性,也能尽可能满足各个用户的项目进度要求,还能尽可能提高系统的整体资源利用率。从而可以使得用户获得较好的使用体验。
虽然本说明书提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的手段可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或客户端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境,甚至为分布式数据处理环境)。术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、产品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、产品或者设备所固有的要素。在没有更多限制的情况下,并不排除在包括所述要素的过程、方法、产品或者设备中还存在另外的相同或等同要素。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内部包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
本说明书可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构、类等等。也可以在分布式计算环境中实践本说明书,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机可读存储介质中。
通过以上的实施例的描述可知,本领域的技术人员可以清楚地了解到本说明书可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本说明书的技术方案本质上可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,移动终端,服务器,或者网络设备等)执行本说明书各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例采用递进的方式描述,各个实施例之间相同或相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。本说明书可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。
虽然通过实施例描绘了本说明书,本领域普通技术人员知道,本说明书有许多变形和变化而不脱离本说明书的精神,希望所附的权利要求包括这些变形和变化而不脱离本说明书的精神。
Claims (10)
1.一种图像渲染方法,其特征在于,应用于管理节点服务器,包括:
接收第一渲染节点服务器发起的渲染任务申领请求;其中,所述渲染任务申领请求至少携带有第一渲染节点服务器的服务器标识;
根据第一渲染节点服务器的服务器标识,确定出与第一渲染节点服务器匹配的目标资源池;其中,所述目标资源池存放有多个渲染任务队列;所述渲染任务队列分别对应一个图像渲染作业;所述渲染任务队列包括一个或多个渲染任务;
根据预设的优先级规则,从所述目标资源池中筛选出多个候选任务队列;
获取并根据第一渲染节点服务器的特征数据、候选任务队列的作业特征数据,从多个候选任务队列中确定出与第一渲染节点服务器相匹配的目标任务队列;
获取并根据目标任务队列中渲染任务的任务特征数据,从目标任务队列中确定出符合预设的任务要求的渲染任务,作为目标渲染任务;并将该目标渲染任务分配给第一渲染节点服务器处理。
2.根据权利要求1所述的方法,其特征在于,根据预设的优先级规则,从所述目标资源池中筛选出多个候选任务队列,包括:
检测目标资源池是否设置有作业优先标记,得到对应的目标检测结果;
根据目标检测结果和预设的优先级规则,确定出相匹配的目标优先级规则;并根据目标优先级规则,从目标资源池中筛选出多个候选任务队列。
3.根据权利要求2所述的方法,其特征在于,根据目标检测结果和预设的优先级规则,确定出相匹配的目标优先级规则;并根据目标优先级规则,从目标资源池中筛选出多个候选任务队列,包括:
根据目标检测结果,在确定目标资源池设置有作业优先标记的情况下,从预设的优先级规则中确定出相匹配的第一优先级规则作为目标优先级规则;
相应的,根据目标优先级规则,从目标资源池中筛选出多个候选任务队列,包括:
根据第一优先级规则,确定出目标资源池中各个渲染任务队列的作业优先级指示参数;
根据作业优先级指示参数由大到小的顺序,排列多个渲染任务队列;
从排列后的渲染任务队列中,筛选出排序靠前的预设数量个渲染任务队列作为候选任务队列。
4.根据权利要求3所述的方法,其特征在于,根据目标检测结果和预设的优先级规则,确定出相匹配的目标优先级规则;并根据目标优先级规则,从目标资源池中筛选出多个候选任务队列,还包括:
根据目标检测结果,在确定目标资源池未设置有作业优先标记的情况下,从预设的优先级规则中确定出相匹配的第二优先级规则作为目标优先级规则;
相应的,根据目标优先级规则,从目标资源池中筛选出多个候选任务队列,包括:
根据第二优先级规则,确定出目标资源池中各个渲染任务队列中当前已执行的渲染任务的数量;
根据当前已执行的渲染任务的数量由小到大的顺序,排列多个渲染任务队列;
从排列后的渲染任务队列中,筛选出排序靠前的预设数量个渲染任务队列作为候选任务队列。
5.根据权利要求1所述的方法,其特征在于,获取并根据第一渲染节点服务器的特征数据、候选任务队列的作业特征数据,从多个候选任务队列中确定出与第一渲染节点服务器相匹配的目标任务队列,包括:
根据目标资源池的内部调度策略,按照相应顺序逐一将候选任务队列的作业特征数据与第一渲染节点服务器的特征数据进行匹配;
在匹配到候选任务队列的作业特征数据与第一渲染节点服务器的特征数据相匹配的候选任务队列时,将该候选任务队列确定为目标任务队列。
6.根据权利要求5所述的方法,其特征在于,在匹配到候选任务队列的作业特征数据与第一渲染节点服务器的特征数据相匹配的候选任务队列时,所述方法还包括:
获取该候选任务队列的发起用户的用户特征数据;
根据发起用户的用户特征数据,确定该候选任务队列是否符合预设的作业要求;
在确定该候选任务队列符合预设的作业要求的情况下,将该候选任务队列确定为目标任务队列。
7.根据权利要求6所述的方法,其特征在于,所述发起用户的用户特征数据包括以下至少之一:发起用户的用户标识、发起用户的用户标签、当前已执行的且与发起用户关联的渲染任务的数量。
8.根据权利要求1所述的方法,其特征在于,获取并根据目标任务队列中渲染任务的任务特征数据,从目标任务队列中确定出符合预设的任务要求的渲染任务,作为目标渲染任务,包括:
确定目标任务队列中当前已执行的渲染任务和当前未执行的渲染任务;
根据当前已执行的渲染任务的任务特征数据和当前未执行的渲染任务的任务特征数据,从当前未执行的渲染任务中确定出与当前已执行的渲染任务相匹配的渲染任务,作为所述目标渲染任务。
9.一种图像渲染装置,其特征在于,应用于管理节点服务器,包括:
接收模块,用于接收第一渲染节点服务器发起的渲染任务申领请求;其中,所述渲染任务申领请求至少携带有第一渲染节点服务器的服务器标识;
第一确定模块,用于根据第一渲染节点服务器的服务器标识,确定出与第一渲染节点服务器匹配的目标资源池;其中,所述目标资源池存放有多个渲染任务队列;所述渲染任务队列分别对应一个图像渲染作业;所述渲染任务队列包括一个或多个渲染任务;
筛选模块,用于根据预设的优先级规则,从所述目标资源池中筛选出多个候选任务队列;
第二确定模块,用于获取并根据第一渲染节点服务器的特征数据、候选任务队列的作业特征数据,从多个候选任务队列中确定出与第一渲染节点服务器相匹配的目标任务队列;
第三确定模块,用于获取并根据目标任务队列中渲染任务的任务特征数据,从目标任务队列中确定出符合预设的任务要求的渲染任务,作为目标渲染任务;并将该目标渲染任务分配给第一渲染节点服务器处理。
10.一种服务器,其特征在于,包括处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现权利要求1至8中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210926262.5A CN115292014A (zh) | 2022-08-03 | 2022-08-03 | 图像渲染方法、装置和服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210926262.5A CN115292014A (zh) | 2022-08-03 | 2022-08-03 | 图像渲染方法、装置和服务器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115292014A true CN115292014A (zh) | 2022-11-04 |
Family
ID=83826141
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210926262.5A Pending CN115292014A (zh) | 2022-08-03 | 2022-08-03 | 图像渲染方法、装置和服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115292014A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113157415A (zh) * | 2021-04-21 | 2021-07-23 | 中国电影科学技术研究所 | 农场渲染方法、装置、电子设备和存储介质 |
CN115604270A (zh) * | 2022-11-29 | 2023-01-13 | 北京数原数字化城市研究中心(Cn) | 一种渲染服务器的选取方法及装置 |
CN116843541A (zh) * | 2023-09-01 | 2023-10-03 | 北京数原数字化城市研究中心 | 一种多视角下的云渲染方法及系统 |
CN116974771A (zh) * | 2023-09-18 | 2023-10-31 | 腾讯科技(深圳)有限公司 | 资源调度方法、相关装置、电子设备及介质 |
-
2022
- 2022-08-03 CN CN202210926262.5A patent/CN115292014A/zh active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113157415A (zh) * | 2021-04-21 | 2021-07-23 | 中国电影科学技术研究所 | 农场渲染方法、装置、电子设备和存储介质 |
CN113157415B (zh) * | 2021-04-21 | 2023-10-13 | 中国电影科学技术研究所 | 农场渲染方法、装置、电子设备和存储介质 |
CN115604270A (zh) * | 2022-11-29 | 2023-01-13 | 北京数原数字化城市研究中心(Cn) | 一种渲染服务器的选取方法及装置 |
CN115604270B (zh) * | 2022-11-29 | 2023-03-14 | 北京数原数字化城市研究中心 | 一种渲染服务器的选取方法及装置 |
CN116843541A (zh) * | 2023-09-01 | 2023-10-03 | 北京数原数字化城市研究中心 | 一种多视角下的云渲染方法及系统 |
CN116974771A (zh) * | 2023-09-18 | 2023-10-31 | 腾讯科技(深圳)有限公司 | 资源调度方法、相关装置、电子设备及介质 |
CN116974771B (zh) * | 2023-09-18 | 2024-01-05 | 腾讯科技(深圳)有限公司 | 资源调度方法、相关装置、电子设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11204793B2 (en) | Determining an optimal computing environment for running an image | |
CN115292014A (zh) | 图像渲染方法、装置和服务器 | |
CN113243005A (zh) | 按需网络代码执行系统中的基于性能的硬件仿真 | |
US9122676B2 (en) | License reconciliation with multiple license types and restrictions | |
US9875139B2 (en) | Graphics processing unit controller, host system, and methods | |
CN108255707B (zh) | 测试用例的开发角色创建方法、装置、设备及存储介质 | |
CN110221901A (zh) | 容器资源创建方法、装置、设备及计算机可读存储介质 | |
US11467874B2 (en) | System and method for resource management | |
US20130326510A1 (en) | Virtualization-based environments for problem resolution | |
CN112114950A (zh) | 任务调度方法和装置、以及集群管理系统 | |
CN108958881A (zh) | 数据处理方法、装置及计算机可读存储介质 | |
US10331488B2 (en) | Multilayered resource scheduling | |
CN109254836B (zh) | 面向云计算系统优先依赖任务的期限约束成本优化调度方法 | |
US20170109415A1 (en) | Platform and software framework for data intensive applications in the cloud | |
CN112905342A (zh) | 资源调度方法、装置、设备及计算机可读存储介质 | |
CN115033340A (zh) | 一种宿主机的选择方法及相关装置 | |
CN114721824A (zh) | 一种资源分配方法、介质以及电子设备 | |
US20150212859A1 (en) | Graphics processing unit controller, host system, and methods | |
CN116483546B (zh) | 分布式训练任务调度方法、装置、设备及存储介质 | |
CN113791890A (zh) | 容器分配方法及装置、电子设备、存储介质 | |
US20130145004A1 (en) | Provisioning using presence detection | |
CN116820714A (zh) | 一种算力设备的调度方法、装置、设备和存储介质 | |
CN115665231A (zh) | 服务创建方法、装置以及计算机可读存储介质 | |
CN115729687A (zh) | 任务调度方法、装置、计算机设备、存储介质 | |
CN114356516A (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 |