CN116680086B - 一种基于离线渲染引擎的调度管理*** - Google Patents

一种基于离线渲染引擎的调度管理*** Download PDF

Info

Publication number
CN116680086B
CN116680086B CN202310915234.8A CN202310915234A CN116680086B CN 116680086 B CN116680086 B CN 116680086B CN 202310915234 A CN202310915234 A CN 202310915234A CN 116680086 B CN116680086 B CN 116680086B
Authority
CN
China
Prior art keywords
rendering
task
node
nodes
rendered
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.)
Active
Application number
CN202310915234.8A
Other languages
English (en)
Other versions
CN116680086A (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.)
China Unicom Online Information Technology Co Ltd
China Unicom WO Music and Culture Co Ltd
Original Assignee
China Unicom Online Information Technology Co Ltd
China Unicom WO Music and Culture 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 China Unicom Online Information Technology Co Ltd, China Unicom WO Music and Culture Co Ltd filed Critical China Unicom Online Information Technology Co Ltd
Priority to CN202310915234.8A priority Critical patent/CN116680086B/zh
Publication of CN116680086A publication Critical patent/CN116680086A/zh
Application granted granted Critical
Publication of CN116680086B publication Critical patent/CN116680086B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation 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/5038Allocation 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/48Indexing scheme relating to G06F9/48
    • G06F2209/484Precedence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5021Priority
    • 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
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Image Generation (AREA)

Abstract

本申请涉及图像渲染技术领域,公开了一种基于离线渲染引擎的调度管理***,包括任务获取模块、任务分析模块、渲染节点模块以及节点调度模块;任务获取模块配置为用于获取渲染队列的队列信息;任务分析模块配置为用于对队列信息中的待渲染任务进行任务需求信息的分析;渲染节点模块包括多个渲染节点,每个渲染节点均配置为利用渲染能力和渲染承载量对待渲染任务进行离线渲染;节点调度模块配置为用于读取空闲的渲染节点和/或具有剩余承载量的渲染节点的节点信息,并基于任务需求信息将待渲染任务分配至相应的渲染节点进行离线渲染。本申请能够将一个时间段内的所有的待渲染任务高效地分配到相应的渲染节点处进行离线渲染,提高了渲染效率。

Description

一种基于离线渲染引擎的调度管理***
技术领域
本申请涉及图像渲染技术领域,具体是一种基于离线渲染引擎的调度管理***。
背景技术
渲染是指用软件从模型生成图像的过程,随着计算机图形学的广泛应用,无论是企业用户还是个人用户,对于渲染的需求越来越大。
而渲染一般包括实时渲染和离线渲染,实时渲染一般体现在3D游戏里,离线渲染一般体现在动画电影中。特别地,离线渲染尤其适用于业务处理量级比较大的场景,因此被广泛地应用于广告、影视、动画制作以及个人和企业的非实时图像处理场景。
因此,当离线渲染进行时,一般会有多个待渲染任务需要进行,这些待渲染任务会在队列中等待渲染节点的分配,然后进行离线渲染。传统的云端渲染,对于队列中的待渲染任务的节点分配,一般会采用基于入队时间来一次对每个待渲染任务进行渲染节点的分配,但是,这种分配方式,无法最大化的利用渲染节点的处理能力和处理量,这就导致整个渲染平台的任务响应和反馈效率较低的情况出现,对于工作效率和用户使用体验具有不利的影响。
发明内容
本申请的目的在于提供一种基于离线渲染引擎的调度管理***,以解决上述背景技术中提出的技术问题。
为实现上述目的,本申请公开了以下技术方案:
一种基于离线渲染引擎的调度管理***,包括任务获取模块、任务分析模块、渲染节点模块以及节点调度模块;
所述任务获取模块配置为用于获取渲染队列的队列信息,所述队列信息包括至少一个已提交的待渲染任务;
所述任务分析模块配置为用于对所述队列信息中的待渲染任务进行任务需求信息的分析,所述任务需求信息包括待渲染任务的任务种类和待渲染任务的承载量需求;
所述渲染节点模块包括多个渲染节点,每个所述渲染节点均配置为利用渲染能力和渲染承载量对待渲染任务进行离线渲染;
所述节点调度模块配置为用于读取空闲的渲染节点和/或具有剩余承载量的渲染节点的节点信息,并基于所述任务需求信息将待渲染任务分配至相应的渲染节点进行离线渲染。
在一种实施方式中,所述节点信息包括节点数量、节点能力和节点的剩余承载量。
在一种实施方式中,所述队列信息还包括队列长度,当所述任务获取模块获取到的队列长度大于节点数量时,将待渲染任务分配至剩余承载量满足需求的一个渲染节点中进行离线渲染,具体包括:
定义其中一个待渲染任务为任务a,任务a的承载量需求为P,基于任务a的任务种类匹配到的其中一个具有剩余承载量的渲染节点的剩余承载量为Q,将该渲染节点定义为节点b,当Q≥P时,将任务a分配至节点b进行离线渲染,否则,将任务a分配至至少包括一个空闲的渲染节点中进行离线渲染。
在一种实施方式中,所述渲染节点模块还配置为基于协作协议使两个或两个以上的所述渲染节点之间进行离线渲染的协作。
在一种实施方式中,当Q<P时,如果所有的空闲的渲染节点的承载量均小于P时,所述节点调度模块获取每一个空闲的渲染节点的承载量,分别定义为M1、M2……Mn,同时获取所有的具有剩余承载量的渲染节点的剩余承载量,分别定义为N1、N2……Nd,所述节点调度模块计算每个空闲的渲染节点和任意一个具有剩余承载量的渲染节点之间的承载量总和,承载量总和的计算公式为:Psumi=Mi+Nu,其中,Psumi表示承载量为Mi的空闲的渲染节点和剩余承载量为Nu的具有剩余承载量的渲染节点之间的承载量总和;所述节点调度模块将任务a的承载量需求P与每一个承载量总和进行比对,选取与任务a的承载量需求P最接近的承载量总和对应的空闲的渲染节点和具有剩余承载量的渲染节点作为任务a的渲染节点群,并将任务a分配至该渲染节点群进行离线渲染,其中,被选取的渲染节点群对应的承载量总和大于或等于任务a的承载量需求P。
在一种实施方式中,当所有的承载量总和Psum均小于任务a的承载量需求P时,所述节点调度模块计算两个或两个以上的空闲的渲染节点之间的承载量总和,并将任务a的承载量需求P与计算得到的该承载量总和进行比对,选取与任务a的承载量需求P最接近的承载量总和对应的空闲的渲染节点和具有剩余承载量的渲染节点作为任务a的渲染节点群,并将任务a分配至该渲染节点群进行离线渲染,其中,被选取的渲染节点群对应的承载量总和大于或等于任务a的承载量需求P。
在一种实施方式中,当所有的承载量总和Psum均小于任务a的承载量需求P时,所述节点调度模块计算每个空闲的渲染节点与两个或两个以上的具有剩余承载量的渲染节点之间的承载量总和,并将任务a的承载量需求P与计算得到的该承载量总和进行比对,选取与任务a的承载量需求P最接近的承载量总和对应的空闲的渲染节点和具有剩余承载量的渲染节点作为任务a的渲染节点群,并将任务a分配至该渲染节点群进行离线渲染,其中,被选取的渲染节点群对应的承载量总和大于或等于任务a的承载量需求P。
在一种实施方式中,所述节点调度模块还配置为对待渲染任务进行优先级判断,并将优先地对队列中优先级最高的待渲染任务进行渲染节点的分配。
在一种实施方式中,所述优先级判断具体包括:根据待渲染任务是否携带有优先级标识完成待渲染任务的优先级识别,并将识别到的具有优先级标识的待渲染任务基于优先级从高到低的顺序进行排序。
在一种实施方式中,所述节点调度模块还配置为:当对两个或两个以上的优先级相同的待渲染任务进行渲染节点分配时,优先地对任务需求信息小的待渲染任务进行渲染节点分配。
有益效果:本申请的基于离线渲染引擎的调度管理***,适用于在一个选定的时间段内对队列中的待渲染任务进行渲染节点的合理调度和分配,在调度和分配过程中,通过任务获取模块获取到队列信息、通过任务分析模块分析目标时间段内入队的待渲染任务的任务需求信息,然后由节点调度模块基于队列信息、任务需求信息将待渲染任务调度至合适的渲染节点处进行离线渲染,在调度和分配过程中,合理的利用了任务需求信息以及渲染节点的承载量和能力之间的匹配,能够有效地将该时间段内的所有的待渲染任务快速且高效地分配到相应的渲染节点处进行离线渲染,从而提高了渲染平台的渲染效率,对提高用户使用体验和用户工作效率而言,有较高的促进效果。
进一步地,本申请的基于离线渲染引擎的调度管理***,还通过多个渲染节点的协作渲染,配合前述的分配机制,实现了对待渲染任务的快速调度和渲染节点的合理分配,提高了每个待渲染任务的渲染效率,以及提高了每个渲染节点的资源利用率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例1中基于离线渲染引擎的调度管理***的结构框图。
附图标记:1、任务获取模块;2、任务分析模块;3、渲染节点模块;4、节点调度模块。
具体实施方式
下面将对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在本文中,术语“包括”意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
实施例1
本实施例公开了如图1所示的一种基于离线渲染引擎的调度管理***,包括任务获取模块1、任务分析模块2、渲染节点模块3以及节点调度模块4。
具体的,所述任务获取模块1配置为用于获取渲染队列的队列信息,所述队列信息包括至少一个已提交的待渲染任务。
具体的,所述任务分析模块2配置为用于对所述队列信息中的待渲染任务进行任务需求信息的分析,所述任务需求信息包括待渲染任务的任务种类和待渲染任务的承载量需求。
具体的,所述渲染节点模块3包括多个渲染节点,每个所述渲染节点均配置为利用渲染能力和渲染承载量对待渲染任务进行离线渲染。
具体的,所述节点调度模块4配置为用于读取空闲的渲染节点和/或具有剩余承载量的渲染节点的节点信息,并基于所述任务需求信息将待渲染任务分配至相应的渲染节点进行离线渲染。
在本实施例中,所述节点信息包括节点数量、节点能力和节点的剩余承载量,其中,节点数量表示空闲的渲染节点的数量、具有剩余承载量的渲染节点的数量或空闲的渲染节点和具有剩余承载量的渲染节点的数量和。节点能力表示每个渲染节点的功能配置,如色彩调配、场景布置等等一些现有的功能,每个渲染节点的功能配置为这些功能中的一个或多个,且每个渲染节点的功能配置相同或不同。节点的剩余承载量表示空闲的渲染节点的承载量和具有剩余承载量的渲染节点的剩余承载量。
所述队列信息还包括队列长度,当所述任务获取模块1获取到的队列长度大于节点数量时,将待渲染任务分配至剩余承载量满足需求的一个渲染节点中进行离线渲染,具体包括:
定义其中一个待渲染任务为任务a,任务a的承载量需求为P,基于任务a的任务种类匹配到的其中一个具有剩余承载量的渲染节点的剩余承载量为Q,将该渲染节点定义为节点b,当Q≥P时,将任务a分配至节点b进行离线渲染,否则,将任务a分配至至少包括一个空闲的渲染节点中进行离线渲染。
需要说明的是,待渲染任务的任务种类与节点能力是相对应的,如待渲染任务的任务种类为单一的染色渲染,则具有该功能的渲染节点均能够与这一待渲染任务匹配成功。
基于上述,在队列长度大于节点数量时,优先地将任务a分配至满足需求的具有剩余承载量的渲染节点处进行离线渲染,能够释放出空闲的渲染节点来满足其他的待渲染任务的任务需求,从而提高渲染节点的利用率,同时,提高渲染平台同时或依次渲染的待渲染任务的数量,提高渲染效率,促进用户工作效率和提高用户使用体验。
实施例2
与实施例1不同的是,在本实施例中,所述渲染节点模块3还配置为基于协作协议使两个或两个以上的所述渲染节点之间进行离线渲染的协作。需要说明的是,该种协作协议可以是现有技术中的任意一种云端与云端协作的一种工作方法、通讯方法或交互机制,如公开号为CN202211420831.5公开的中国专利《用于数字内容制作的方法、装置、设备和存储介质》中涉及的这一相关技术,或者是公开号为CN202210830788.3公开的中国专利《基于3D云渲染的多用户协作方法、云渲染服务器及云渲染***》中涉及的这一相关技术,,又或者是公开号为CN202110013645.9公开的中国专利《一种基于服务器和客户端协作的BIM模型渲染方法》中涉及的这一相关技术,等等,需要说明的是,具体的协作协议参考其他本文为例举的相关技术,这一具体技术并非本申请所要求的主张保护的技术内容,因此,本文本不作具体赘述,同时,作为本领域普通技术人员而言,可以通过相关检索渠道对这一具体技术进行进一步地学习和认识。
在本实施例中,当Q<P时,如果所有的空闲的渲染节点的承载量均小于P时,所述节点调度模块4获取每一个空闲的渲染节点的承载量,分别定义为M1、M2……Mn,同时获取所有的具有剩余承载量的渲染节点的剩余承载量,分别定义为N1、N2……Nd,所述节点调度模块4计算每个空闲的渲染节点和任意一个具有剩余承载量的渲染节点之间的承载量总和,承载量总和的计算公式为:Psumi=Mi+Nu,其中,Psumi表示承载量为Mi的空闲的渲染节点和具有剩余承载量为Nu的具有剩余承载量的渲染节点之间的承载量总和;所述节点调度模块4将任务a的承载量需求P与每一个承载量总和进行比对,选取与任务a的承载量需求P最接近的承载量总和对应的空闲的渲染节点和具有剩余承载量的渲染节点作为任务a的渲染节点群,并将任务a分配至该渲染节点群进行离线渲染,其中,被选取的渲染节点群对应的承载量总和大于或等于任务a的承载量需求P。这样设计的好处是,通过空闲的渲染节点和剩余承载量的渲染节点之间的协作,能够有效地利用每一个渲染节点的处理能力,从而优化渲染平台的资源,提高渲染任务进程的效率。
进一步地,当所有的承载量总和Psum均小于任务a的承载量需求P时,所述节点调度模块4计算两个或两个以上的空闲的渲染节点之间的承载量总和,并将任务a的承载量需求P与计算得到的该承载量总和进行比对,选取与任务a的承载量需求P最接近的承载量总和对应的空闲的渲染节点和具有剩余承载量的渲染节点作为任务a的渲染节点群,并将任务a分配至该渲染节点群进行离线渲染,其中,被选取的渲染节点群对应的承载量总和大于或等于任务a的承载量需求P。这样设置的好处是,能够在没有合适的空闲的渲染节点和单个剩余承载量的渲染节点的协作条件下,能够快速的对任务a进行调度和渲染节点的分配,从而提高渲染平台的工作效率。
实施例3
与实施例2不同的是,在本实施例中,当所有的承载量总和Psum均小于任务a的承载量需求P时,所述节点调度模块4计算每个空闲的渲染节点与两个或两个以上的具有剩余承载量的渲染节点之间的承载量总和,并将任务a的承载量需求P与计算得到的该承载量总和进行比对,选取与任务a的承载量需求P最接近的承载量总和对应的空闲的渲染节点和具有剩余承载量的渲染节点作为任务a的渲染节点群,并将任务a分配至该渲染节点群进行离线渲染,其中,被选取的渲染节点群对应的承载量总和大于或等于任务a的承载量需求P。这样设计的好处是,通过空闲的渲染节点和多个剩余承载量的渲染节点之前的协作,能够有效地利用每一个渲染节点的处理能力,从而在确保渲染速度(利用空闲的渲染节点确保任务a中的大篇幅渲染能够稳定进行)的前提下,最大化的优化渲染平台的资源,提高渲染任务进程的效率。
实施例4
与实施例1不同的是,在本实施例中,所述节点调度模块4还配置为对待渲染任务进行优先级判断,并将优先地对队列中优先级最高的待渲染任务进行渲染节点的分配。其中,所述优先级判断具体包括:根据待渲染任务是否携带有优先级标识完成待渲染任务的优先级识别,并将识别到的具有优先级标识的待渲染任务基于优先级从高到低的顺序进行排序。这样设计的好处是,通过优先级判断的方式,优先地对需要优先处理的待渲染任务进行调度和分配,从而提高渲染平台对待渲染任务的合理调度,确保所有待渲染任务的有序进行。
进一步地,所述节点调度模块4还配置为:当对两个或两个以上的优先级相同的待渲染任务进行渲染节点分配时,优先地对任务需求信息小的待渲染任务进行渲染节点分配,特别的,这里的任务需求信息小主要为待渲染任务的承载量需求。这样设置的好处是,由于待渲染任务的承载量需求小的任务完成速度较快,因此,对这一部分的待渲染任务进行更为优先地调度和分配,能够确保所有的需要优先对待的待渲染任务的总体进程,进而确保所有的待渲染任务的调度和分配效率,对提高用户使用体验和用户工作效率而言,有较高的促进效果。
基于以上实施例,可以明确地是,本申请的基于离线渲染引擎的调度管理***,适用于在一个选定的时间段内对队列中的待渲染任务进行渲染节点的合理调度和分配,在调度和分配过程中,通过任务获取模块1获取到队列信息、通过任务分析模块2分析目标时间段内入队的待渲染任务的任务需求信息,然后由节点调度模块4基于队列信息、任务需求信息将待渲染任务调度至合适的渲染节点处进行离线渲染,在调度和分配过程中,合理的利用了任务需求信息以及渲染节点的承载量和能力之间的匹配,能够有效地将该时间段内的所有的待渲染任务快速且高效地分配到相应的渲染节点处进行离线渲染,从而提高了渲染平台的渲染效率,对提高用户使用体验和用户工作效率而言,有较高的促进效果。
进一步地,本申请的基于离线渲染引擎的调度管理***,还通过多个渲染节点的协作渲染,配合前述的分配机制,实现了对待渲染任务的快速调度和渲染节点的合理分配,提高了每个待渲染任务的渲染效率,以及提高了每个渲染节点的资源利用率。
在本申请所提供的实施例中,应该理解到,可以以硬件、软件、固件、中间件、代码或其任何恰当组合来实现这里描述的实施例。对于硬件实现,处理器可以在一个或多个下列单元中实现:专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、处理器、控制器、微控制器、微处理器、设计用于实现这里所描述功能的其他电子单元或其组合。对于软件实现,实施例的部分或全部流程可以通过计算机程序来指令相关的硬件来完成。实现时,可以将上述程序存储在计算机可读介质中或作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是计算机能够存取的任何可用介质。计算机可读介质可以包括但不限于RAM、ROM、EEPROM、CD-ROM或其他光盘存储、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质。
最后应说明的是:以上所述仅为本申请的优选实施例而已,并不用于限制本申请,尽管参照前述实施例对本申请进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (4)

1.一种基于离线渲染引擎的调度管理***,其特征在于,包括任务获取模块、任务分析模块、渲染节点模块以及节点调度模块;
所述任务获取模块配置为用于获取渲染队列的队列信息,所述队列信息包括至少一个已提交的待渲染任务;
所述任务分析模块配置为用于对所述队列信息中的待渲染任务进行任务需求信息的分析,所述任务需求信息包括待渲染任务的任务种类和待渲染任务的承载量需求;
所述渲染节点模块包括多个渲染节点,每个所述渲染节点均配置为利用渲染能力和渲染承载量对待渲染任务进行离线渲染;
所述节点调度模块配置为用于读取空闲的渲染节点和/或具有剩余承载量的渲染节点的节点信息,并基于所述任务需求信息将待渲染任务分配至相应的渲染节点进行离线渲染;
所述节点信息包括节点数量、节点能力和节点的剩余承载量;
所述队列信息还包括队列长度,当所述任务获取模块获取到的队列长度大于节点数量时,将待渲染任务分配至剩余承载量满足需求的一个渲染节点中进行离线渲染,具体包括:
定义其中一个待渲染任务为任务a,任务a的承载量需求为P,基于任务a的任务种类匹配到的其中一个具有剩余承载量的渲染节点的剩余承载量为Q,将该渲染节点定义为节点b,当Q≥P时,将任务a分配至节点b进行离线渲染,否则,将任务a分配至至少包括一个空闲的渲染节点中进行离线渲染;
所述渲染节点模块还配置为基于协作协议使两个或两个以上的所述渲染节点之间进行离线渲染的协作;
当Q<P时,如果所有的空闲的渲染节点的承载量均小于P时,所述节点调度模块获取每一个空闲的渲染节点的承载量,分别定义为M1、M2……Mn,同时获取所有的具有剩余承载量的渲染节点的剩余承载量,分别定义为N1、N2……Nd,所述节点调度模块计算每个空闲的渲染节点和任意一个具有剩余承载量的渲染节点之间的承载量总和,承载量总和的计算公式为:Psumi=Mi+Nu,其中,Psumi表示承载量为Mi的空闲的渲染节点和剩余承载量为Nu的具有剩余承载量的渲染节点之间的承载量总和;所述节点调度模块将任务a的承载量需求P与每一个承载量总和进行比对,选取与任务a的承载量需求P最接近的承载量总和对应的空闲的渲染节点和具有剩余承载量的渲染节点作为任务a的渲染节点群,并将任务a分配至该渲染节点群进行离线渲染,其中,被选取的渲染节点群对应的承载量总和大于或等于任务a的承载量需求P;
当所有的承载量总和Psum均小于任务a的承载量需求P时,所述节点调度模块计算两个或两个以上的空闲的渲染节点之间的承载量总和,并将任务a的承载量需求P与计算得到的该承载量总和进行比对,选取与任务a的承载量需求P最接近的承载量总和对应的空闲的渲染节点和具有剩余承载量的渲染节点作为任务a的渲染节点群,并将任务a分配至该渲染节点群进行离线渲染,其中,被选取的渲染节点群对应的承载量总和大于或等于任务a的承载量需求P;或者,
当所有的承载量总和Psum均小于任务a的承载量需求P时,所述节点调度模块计算每个空闲的渲染节点与两个或两个以上的具有剩余承载量的渲染节点之间的承载量总和,并将任务a的承载量需求P与计算得到的该承载量总和进行比对,选取与任务a的承载量需求P最接近的承载量总和对应的空闲的渲染节点和具有剩余承载量的渲染节点作为任务a的渲染节点群,并将任务a分配至该渲染节点群进行离线渲染,其中,被选取的渲染节点群对应的承载量总和大于或等于任务a的承载量需求P。
2.根据权利要求1所述的基于离线渲染引擎的调度管理***,其特征在于,所述节点调度模块还配置为对待渲染任务进行优先级判断,并将优先地对队列中优先级最高的待渲染任务进行渲染节点的分配。
3.根据权利要求2所述的基于离线渲染引擎的调度管理***,其特征在于,所述优先级判断具体包括:根据待渲染任务是否携带有优先级标识完成待渲染任务的优先级识别,并将识别到的具有优先级标识的待渲染任务基于优先级从高到低的顺序进行排序。
4.根据权利要求3所述的基于离线渲染引擎的调度管理***,其特征在于,所述节点调度模块还配置为:当对两个或两个以上的优先级相同的待渲染任务进行渲染节点分配时,优先地对任务需求信息小的待渲染任务进行渲染节点分配。
CN202310915234.8A 2023-07-25 2023-07-25 一种基于离线渲染引擎的调度管理*** Active CN116680086B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310915234.8A CN116680086B (zh) 2023-07-25 2023-07-25 一种基于离线渲染引擎的调度管理***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310915234.8A CN116680086B (zh) 2023-07-25 2023-07-25 一种基于离线渲染引擎的调度管理***

Publications (2)

Publication Number Publication Date
CN116680086A CN116680086A (zh) 2023-09-01
CN116680086B true CN116680086B (zh) 2024-04-02

Family

ID=87791237

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310915234.8A Active CN116680086B (zh) 2023-07-25 2023-07-25 一种基于离线渲染引擎的调度管理***

Country Status (1)

Country Link
CN (1) CN116680086B (zh)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103299347A (zh) * 2011-12-31 2013-09-11 华为技术有限公司 基于云应用的在线渲染方法和离线渲染方法及相关装置
CN107274471A (zh) * 2017-06-15 2017-10-20 深圳市彬讯科技有限公司 一种基于实时离线渲染并行的多优先级队列调度***
CN111949398A (zh) * 2020-07-30 2020-11-17 西安万像电子科技有限公司 资源调度方法及装置
CN112015533A (zh) * 2020-08-24 2020-12-01 当家移动绿色互联网技术集团有限公司 适用于分布式渲染的任务调度方法和装置
CN113271351A (zh) * 2021-05-13 2021-08-17 叶阗瑞 一种云计算资源调度方法、装置、设备及可读存储介质
CN113608871A (zh) * 2021-08-02 2021-11-05 腾讯科技(深圳)有限公司 业务处理方法及装置
CN113742068A (zh) * 2021-08-27 2021-12-03 深圳市商汤科技有限公司 任务调度方法、装置、设备、存储介质及计算机程序产品
WO2023044877A1 (zh) * 2021-09-26 2023-03-30 厦门雅基软件有限公司 一种渲染任务处理方法、装置、电子设备及存储介质
CN116107710A (zh) * 2022-08-10 2023-05-12 北京字跳网络技术有限公司 用于处理离线渲染任务的方法、装置、设备和介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2538920C2 (ru) * 2013-05-06 2015-01-10 Общество с ограниченной ответственностью "Аби ИнфоПоиск" Способ распределения задач сервером вычислительной системы, машиночитаемый носитель информации и система для реализации способа

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103299347A (zh) * 2011-12-31 2013-09-11 华为技术有限公司 基于云应用的在线渲染方法和离线渲染方法及相关装置
CN107274471A (zh) * 2017-06-15 2017-10-20 深圳市彬讯科技有限公司 一种基于实时离线渲染并行的多优先级队列调度***
CN111949398A (zh) * 2020-07-30 2020-11-17 西安万像电子科技有限公司 资源调度方法及装置
CN112015533A (zh) * 2020-08-24 2020-12-01 当家移动绿色互联网技术集团有限公司 适用于分布式渲染的任务调度方法和装置
CN113271351A (zh) * 2021-05-13 2021-08-17 叶阗瑞 一种云计算资源调度方法、装置、设备及可读存储介质
CN113608871A (zh) * 2021-08-02 2021-11-05 腾讯科技(深圳)有限公司 业务处理方法及装置
WO2023011157A1 (zh) * 2021-08-02 2023-02-09 腾讯科技(深圳)有限公司 业务处理方法、装置、服务器、存储介质和计算机程序产品
CN113742068A (zh) * 2021-08-27 2021-12-03 深圳市商汤科技有限公司 任务调度方法、装置、设备、存储介质及计算机程序产品
WO2023024410A1 (zh) * 2021-08-27 2023-03-02 上海商汤智能科技有限公司 任务调度方法、装置、设备、存储介质及计算机程序产品、计算机程序
WO2023044877A1 (zh) * 2021-09-26 2023-03-30 厦门雅基软件有限公司 一种渲染任务处理方法、装置、电子设备及存储介质
CN116107710A (zh) * 2022-08-10 2023-05-12 北京字跳网络技术有限公司 用于处理离线渲染任务的方法、装置、设备和介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Online Task Scheduling and Resource Allocation for Intelligent NOMA-Based Industrial Internet of Things;Kunlun Wang 等;《IEEE Journal on Selected Areas in Communications》;20200316;第38卷(第5期);803-815 *
边缘计算迁移研究综述;朱友康 等;《电信科学》;20190423;第35卷(第4期);74-94 *

Also Published As

Publication number Publication date
CN116680086A (zh) 2023-09-01

Similar Documents

Publication Publication Date Title
CN109918184B (zh) 图片处理***、方法及相关装置和设备
CN110287003B (zh) 资源的管理方法和管理***
TWI747092B (zh) 資源調度方法、設備、系統及中心伺服器
US20090282413A1 (en) Scalable Scheduling of Tasks in Heterogeneous Systems
CN111506434B (zh) 一种任务处理方法、装置及计算机可读存储介质
CN110569252B (zh) 一种数据处理***及方法
CN110069341A (zh) 边缘计算中结合功能按需配置的有依赖关系任务的调度方法
CN106775948B (zh) 一种基于优先级的云任务调度方法及装置
CN103067468A (zh) 云调度方法及其***
CN105022668B (zh) 一种作业调度方法及***
CN109840149B (zh) 任务调度方法、装置、设备及存储介质
CN112486788A (zh) 一种工作量评估方法、装置、电子设备和可读存储介质
CA2631255A1 (en) Scalable scheduling of tasks in heterogeneous systems
CN117193992B (zh) 模型训练方法、任务调度方法、装置以及计算机存储介质
CN113742009B (zh) 桌面云环境资源调度方法、装置、设备及存储介质
CN111930485B (zh) 一种基于性能表现的作业调度方法
CN112685162A (zh) 边缘服务器异构计算资源的高效能调度方法、***和介质
CN116680086B (zh) 一种基于离线渲染引擎的调度管理***
CN115391053B (zh) 基于cpu和gpu混合计算的在线服务方法及装置
CN109189581B (zh) 一种作业调度方法和装置
CN116010051A (zh) 一种联邦学习多任务调度方法及装置
CN112988363B (zh) 资源调度方法、装置、服务器和存储介质
CN110275778B (zh) 在线程序运行方法、装置、电子设备和计算机存储介质
CN113986511A (zh) 任务管理方法及相关装置
CN113722091A (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