CN111026541A - 渲染资源调度方法、装置、设备及存储介质 - Google Patents
渲染资源调度方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN111026541A CN111026541A CN201910431401.5A CN201910431401A CN111026541A CN 111026541 A CN111026541 A CN 111026541A CN 201910431401 A CN201910431401 A CN 201910431401A CN 111026541 A CN111026541 A CN 111026541A
- Authority
- CN
- China
- Prior art keywords
- rendering
- sub
- thread
- unit
- task
- 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.)
- Granted
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/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
-
- 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/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5022—Mechanisms to release resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
- G06Q30/0641—Shopping interfaces
- G06Q30/0643—Graphical representation of items or shoppers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/48—Indexing scheme relating to G06F9/48
- G06F2209/482—Application
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5018—Thread allocation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/503—Resource availability
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Economics (AREA)
- General Business, Economics & Management (AREA)
- Strategic Management (AREA)
- Marketing (AREA)
- Development Economics (AREA)
- Computer Graphics (AREA)
- Image Generation (AREA)
Abstract
本发明实施例公开了一种渲染资源调度方法、装置、设备及存储介质。该方法包括:将渲染任务中的至少一个渲染单元分配给至少一个渲染资源,其中,每个渲染单元对应至少一个渲染子单元;创建主线程,并在通过所述主线程创建与所述渲染资源的数量匹配的子线程后,将所述渲染任务中的各所述渲染单元分配给对应的子线程;通过各所述子线程调用对应的渲染资源,对所分配的渲染单元中的各所述渲染子单元进行渲染处理;根据各所述子线程对所分配的渲染单元中至少一个渲染子单元的异常渲染结果,确定对所述渲染任务的重处理策略。在上述技术方案中,采用多线程技术调用多台空闲的渲染资源去处理渲染任务,实现了对渲染集群中各个渲染资源的有效利用。
Description
技术领域
本发明实施例涉及集群渲染技术领域,尤其涉及一种渲染资源调度方法、装置、设备及存储介质。
背景技术
当前伴随电子商务的高速发展,产生了大量的图像渲染需求,即使单台渲染服务器的性能再高,也无法应付。因此,为了解决日益增多的渲染任务,渲染集群应运而生。如何最大限度地利用渲染集群中每台渲染服务器的资源,渲染资源调度方法至关重要。
发明内容
本发明实施例提供一种渲染资源调度方法、装置、设备及存储介质,以实现对渲染集群中各渲染资源的有效利用。
第一方面,本发明实施例提供了一种渲染资源调度方法,包括:
将渲染任务中的至少一个渲染单元分配给至少一个渲染资源,其中,每个渲染单元对应至少一个渲染子单元;
创建主线程,并在通过所述主线程创建与所述渲染资源的数量匹配的子线程后,将所述渲染任务中的各所述渲染单元分配给对应的子线程;
通过各所述子线程调用对应的渲染资源,对所分配的渲染单元中的各所述渲染子单元进行渲染处理;
根据各所述子线程对所分配的渲染单元中至少一个渲染子单元的异常渲染结果,确定对所述渲染任务的重处理策略。
第二方面,本发明实施例还提供了一种渲染资源调度装置,包括:
渲染任务分配模块,用于将渲染任务中的至少一个渲染单元分配给至少一个渲染资源,其中,每个渲染单元对应至少一个渲染子单元;
主子线程创建模块,用于创建主线程,并在通过所述主线程创建与所述渲染资源的数量匹配的子线程后,将所述渲染任务中的各所述渲染单元分配给对应的子线程;
子线程渲染模块,用于通过各所述子线程调用对应的渲染资源,对所分配的渲染单元中的各所述渲染子单元进行渲染处理;
渲染异常处理模块,用于根据各所述子线程对所分配的渲染单元中至少一个渲染子单元的异常渲染结果,确定对所述渲染任务的重处理策略。
第三方面,本发明实施例还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如本发明任意实施例所述的渲染资源调度方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明任意实施例所述的渲染资源调度方法。
本发明实施例提供的技术方案中,在获取到渲染任务时,首先将渲染任务包括的多个渲染单元分配给各个空闲的渲染资源,然后创建主线程,并通过主线程创建与渲染资源相同数量的子线程,通过各个子线程分别调用对应的渲染资源对分配的渲染单元中包括的渲染子单元进行渲染处理,如果在各个子线程对所分配的渲染单元中的渲染子单元进行渲染出现异常,则根据异常渲染结果确定对渲染任务的重处理策略,以实现对渲染任务的成功处理。在上述技术方案中,采用多线程技术调用多台空闲的渲染资源去处理渲染任务,实现了对渲染集群中各个渲染资源的有效利用。
附图说明
图1是本发明实施例一中的一种渲染资源调度方法的流程图;
图2是本发明实施例二中的一种渲染资源调度方法的流程图;
图3是本发明实施例三中的一种渲染资源调度装置的结构示意图;
图4是本发明实施例四中的一种计算机设备的硬件结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作(或步骤)描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
实施例一
图1是本发明实施例一提供的一种渲染资源调度方法的流程图,可适用于采用渲染集群处理大量渲染请求的情况,该方法可以由本发明实施例提供的渲染资源调度装置来执行,该装置可采用软件和/或硬件的方式实现,并一般可集成在处理器中,例如是电商平台服务器的处理器中。
如图1所示,本实施例的方法具体包括:
S110、将渲染任务中的至少一个渲染单元分配给至少一个渲染资源,其中,每个渲染单元对应至少一个渲染子单元。
在一种具体的电商平台应用场景下,渲染任务可以指的是针对一个品类的一款商品进行渲染,例如是针对一双xx鞋子进行渲染。
每个渲染任务中包括的渲染单元,指的对商品的最小库存单元进行渲染,例如是对A颜色B尺码的这双xx鞋子进行渲染。
当一款商品包括多色多尺码时,例如鞋子,对应这款商品的渲染任务中包括多个渲染单元;当一款商品是单款单色单尺码时,例如首饰,对应这款商品的渲染任务中只包括一个渲染单元。
每个渲染单元中包括的渲染子单元,指的是以不同的角度对商品的最小库存单元进行渲染,例如,从8个角度对A颜色B尺码的这双xx鞋子进行渲染时,与A颜色B尺码的这双xx鞋子对应的渲染单元中则包括8个渲染子单元,如果从8个角度对A颜色B尺码的这双xx鞋子进行渲染,得到8张大渲染图和8张小渲染图时,与A颜色B尺码的这双xx鞋子对应的渲染单元中则包括16个渲染子单元。
获取一个渲染任务之后,首先向渲染集群中的各个渲染资源发送询问指令,判断是否存在空闲的渲染资源,并统计空闲的渲染资源的数量,然后将渲染任务中包括的多个渲染单元分配给各个空闲的渲染。其中,一个渲染资源即为渲染集群中的一台渲染服务器。
典型的,可以将S110具体为:根据渲染任务中包括的渲染单元的数量以及空闲的渲染资源的数量,将渲染任务中的至少一个渲染单元分配给至少一个空闲的渲染资源。
对渲染任务中包括渲染单元的数量与空闲的渲染资源的数量进行比较,如果空闲的渲染资源的数量大于等于渲染任务中包括的渲染单元的数量,则可以为每个渲染单元配置一个空闲的渲染资源;如果空闲的渲染资源的数量小于渲染任务中包括的渲染单元的数量,则可以将各个渲染单元平均分配至各个空闲的渲染资源中。
其中,当接收到渲染任务时,可以将渲染任务加入缓存中的渲染队列。
作为本实施例一种具体的实施方式,还可以将S110具体为将渲染任务中的至少一个渲染单元分配给至少一个与所述渲染任务的类型匹配的渲染资源。
具体的,在发送渲染任务时,还需同时指定渲染任务的类型,进而,当接收到渲染任务时,根据渲染任务的类型不同将渲染任务分别加入与渲染任务的类型匹配的渲染队列中。当在渲染队列中取出渲染任务时,根据渲染任务的类型,询问是否存在与该类型匹配的空闲渲染资源,将该渲染任务中的至少一个渲染单元分配给与类型匹配的空闲渲染资源,同样的,可以根据渲染任务中包括的渲染单元的数量以及与类型匹配的空闲渲染资源的数量,将渲染任务中的至少一个渲染单元分配给与类型匹配的空闲渲染资源。
S120、创建主线程,并在通过主线程创建与渲染资源的数量匹配的子线程后,将渲染任务中的各渲染单元分配给对应的子线程。
创建渲染主线程,然后根据空闲的渲染资源的数量创建渲染子线程,也即存在多少个空闲的渲染资源,就创建多少个渲染子线程,每个子线程调用与之对应的渲染资源,分别执行与渲染资源对应的各个渲染单元的渲染操作。
例如,渲染任务中包括12个渲染单元,空闲的渲染资源的数量为4个,则可以将这12个渲染单元平均分配至这4个空闲的渲染资源,进而,主线程创建4个子线程,分别调用这4个空闲的渲染资源,每个子线程调用与其对应的那个空闲的渲染资源,执行与该空闲的渲染资源对应的3个渲染单元的渲染操作。
S130、通过各子线程调用对应的渲染资源,对所分配的渲染单元中的各渲染子单元进行渲染处理。
在子线程调用对应的渲染单元,执行与该渲染资源对应的渲染单元的渲染操作时,依次对每个渲染单元中包括每个渲染子单元进行渲染处理。
S140、根据各子线程对所分配的渲染单元中至少一个渲染子单元的异常渲染结果,确定对渲染任务的重处理策略。
当子线程调用渲染资源对渲染单元中包括各个渲染子单元进行渲染处理时,如果渲染资源返回的渲染结果存在异常,例如是重试状态或者是不可重试状态,则根据渲染结果所属的异常类型,确定对渲染任务进行重新渲染处理的策略。
作为本实施例一种具体的实施方式,异常渲染结果包括不可重试状态,进而可以将S140具体为:
通过第一目标子线程如果检测到当前处理的第一目标渲染子单元的渲染结果为异常渲染结果,且所述异常渲染结果为不可重试状态,则将与第一目标渲染子单元所属的渲染单元对应的不可重试状态发送至主线程;
通过主线程如果接收到与任意一个渲染单元对应的异常渲染结果为不可重试状态时,终止全部子线程,并释放全部渲染资源。
当存在子线程(称之为第一目标子线程)根据对应的渲染资源返回的渲染结果确定出当前处理的渲染子单元(称之为第一目标渲染子单元)的渲染结果为异常渲染结果,且异常渲染结果为不可重试状态时,则将与第一目标渲染子单元所属的渲染单元对应的不可重试状态返回至主线程。
主线程在接收到与渲染单元对应的不可重试状态时,则终止全部子线程,并释放全部渲染资源,以此终止渲染任务,待运营人员修改渲染参数后,重新手动发起渲染请求。其中,不可重试状态可以指的是子线程在调用对应的渲染资源进行渲染操作出现异常时返回的状态,也可以是上传保存渲染结果出错时返回的状态。
作为本实施例另一种具体的实施方式,异常渲染结果包括可重试状态,进而可以将S140具体为:通过主线程接收各子线程对所分配的渲染单元中至少一个渲染子单元的渲染结果,如果确定存在至少一个渲染单元的渲染结果为可重试状态,且不存在任意一个渲染单元的渲染结果为不可重试状态,则将渲染任务重新加入至渲染队列,以对所述渲染任务进行重渲染。
当存在子线程(称之为第一目标子线程)根据对应的渲染资源返回的渲染结果确定出当前处理的渲染子单元(称之为第一目标渲染子单元)的渲染结果为异常渲染结果,且异常渲染结果为可重试状态时,则将与第一目标渲染子单元所属的渲染单元对应的不可重试状态返回至主线程。
主线程接收到第一目标子线程返回的第一目标渲染子单元所属的渲染单元对应的不可重试状态时,会继续等待其他子线程返回渲染结果,待所有子线程均返回渲染结果时,根据所有子线程返回的渲染结果进行判断。主线程根据各个子线程返回的渲染结果确定出至少存在一个渲染单元的渲染结果为可重试状态,而且任意一个渲染单元的渲染结果都不是不可重试状态,则将渲染任务重新加入至渲染队列,对该渲染任务进行重渲染。
值得说明的是,当第一目标子线程根据对应的渲染资源返回的渲染结果确定出当前处理的渲染子单元(称之为第一目标渲染子单元)的渲染结果为可重试状态时,向主线程返回第一目标渲染子单元所属的渲染单元的渲染结果为不可重试状态,然后,第一目标子线程会停止对分配至对应渲染资源的其他渲染单元的渲染操作,并释放对应的渲染资源。
本发明实施例提供的技术方案中,在获取到渲染任务时,首先将渲染任务包括的多个渲染单元分配给各个空闲的渲染资源,然后创建主线程,并通过主线程创建与渲染资源相同数量的子线程,通过各个子线程分别调用对应的渲染资源对分配的渲染单元中包括的渲染子单元进行渲染处理,如果在各个子线程对所分配的渲染单元中的渲染子单元进行渲染出现异常,则根据异常渲染结果确定对渲染任务的重处理策略,以实现对渲染任务的成功处理。在上述技术方案中,采用多线程技术调用多台空闲的渲染资源去处理渲染任务,实现了对渲染集群中各个渲染资源的有效利用。
在上述技术方案的基础上,所述渲染资源调度方法,在通过各子线程调用对应的渲染资源,对所分配的渲染单元中的各渲染子单元进行渲染处理之后,还包括:如果通过主线程接收到全部子线程发送的,对所分配的全部渲染单元中全部渲染子单元的成功渲染信息,则确定对渲染任务渲染完成,终止全部子线程,并释放全部渲染资源。
当子线程调用对应的渲染资源完成与之对应的所有渲染单元的渲染操作,且各个渲染单元中所有渲染子单元的渲染结果为成功渲染时,则向主线程返回成功渲染信息。当主线程接收到所有子线程发送的成功渲染信息时,则确定对渲染任务渲染完成,终止全部子线程,释放全部渲染资源,终止主线程。
实施例二
图2是本发明实施例二提供的一种渲染资源调度方法的流程图,本实施例以上述实施例为基础进行具体化,其中,将通过子线程调用对应的渲染资源,对所分配的渲染单元中的各渲染子单元进行渲染处理,具体为:
通过第二目标子线程获取所分配的一个渲染单元中的一个渲染子单元作为第二目标渲染子单元,并调用对应的渲染资源,对第二目标渲染子单元进行渲染处理;
通过第二目标子线程如果确定第二目标渲染子单元的渲染结果为成功,则返回执行通过第二目标子线程获取所分配的一个渲染单元中的一个渲染子单元作为第二目标渲染子单元的操作;
通过第二目标子线程如果确定第二目标渲染子单元的渲染结果为失败,且与第二目标渲染子单元对应的渲染重试次数未超过设定的重试阈值,则返回执行调用对应的渲染资源,对所述第二目标渲染子单元进行渲染处理的操作,并更新与第二目标渲染子单元对应的渲染重试次数;
通过第二目标子线程如果确定对第二目标渲染子单元的渲染结果为失败,且与第二目标渲染子单元对应的渲染重试次数超过设定的重试阈值,则确定第二目标渲染子单元的渲染结果为异常处理状态;
通过第二目标子线程如果确定所分配的全部渲染单元中全部渲染子单元的渲染结果均为成功渲染,则向主线程发送成功渲染信息。
如图2所示,本实施例的方法具体包括:
S210、根据渲染任务中包括的渲染单元的数量以及空闲的渲染资源的数量,将渲染任务中的至少一个渲染单元分配给至少一个空闲的渲染资源。
在接收到渲染请求后,将与渲染请求对应的渲染任务添加至缓存中的渲染队列中。循环检测渲染队列中是否存在等待渲染的渲染任务,若存在,则获取一个渲染任务后进行后续渲染操作,若不存在,则等待一秒后重新检测。
当在渲染队列中获取一个等待渲染的渲染任务之后,向各个渲染资源发送是否空闲的询问指令,并根据各个渲染资源回复的信息确定空闲的渲染资源的数量。
S220、创建主线程,并在通过主线程创建与渲染资源的数量匹配的子线程后,将渲染任务中的各渲染单元分配给对应的子线程。
下述步骤以一个子线程(称之为第二目标子线程)为例进行解释说明。
S230、通过第二目标子线程获取所分配的一个渲染单元中的一个渲染子单元作为第二目标渲染子单元。
S240、调用对应的渲染资源,对第二目标渲染子单元进行渲染处理,并更新与第二目标渲染子单元对应的渲染重试次数。
与第二目标渲染子单元对应的渲染重试次数初始值为0,每重试一次加1。
S250、通过第二目标子线程判断第二目标渲染子单元的渲染结果是否成功,若是,则执行S260,若否,则执行S270。
第二目标子线程调用对应的渲染资源对第二目标渲染子单元进行渲染,接收渲染资源返回的与第二目标渲染子单元对应的渲染结果,渲染结果可能是渲染成功,也可能是渲染异常。
S260、通过第二目标子线程判断是否完成所分配的全部渲染单元中全部渲染子单元的渲染操作,若否,则执行S230,若是,则执行S290。
在确定第二目标渲染子单元渲染成功后,上传渲染结果进行保存,并将该第二目标渲染子单元标记渲染成功。当一个渲染单元渲染成功时,更新与渲染单元对应的单元渲染进度,并对渲染单元的渲染结果进行保存。
此时,如果确定未完成所分配的全部渲染单元中全部渲染单元的渲染操作,则将下一个渲染子单元作为第二目标渲染子单元进行渲染操作。
S270、通过第二目标子线程判断与第二目标渲染子单元对应的渲染重试次数未超过设定的重试阈值,若否,则执行S240,若是,则执行S280。
第二目标渲染子单元渲染失败后可以进行重试,但是重试次数不能超过设定的重试阈值(例如是三次),当重试次数大于重试阈值时,则返回第二目标渲染子单元的渲染状态为异常渲染状态。
S280、通过第二目标子线程确定第二目标渲染子单元的渲染结果为异常渲染状态,生成与第二目标渲染子单元所属的渲染单元对应的异常渲染结果发送至主线程。
第二目标子线程确定第二目标渲染子单元的渲染结果为可重试状态时,则终止分配至对应渲染资源的其他渲染单元的渲染操作,释放对应的渲染资源。
S290、通过第二目标子线程向主线程发送成功渲染信息。
S2100、通过主线程收集各个子线程反馈的渲染结果,如果确定所有子线程返回的渲染结果均为渲染成功,则确定渲染任务渲染完成,如果确定任一个子线程返回的渲染结果为异常渲染结果,则根据异常渲染结果所属类型确定对渲染任务的重处理策略。
其中,异常渲染结果可以包括可重试状态以及不可重试状态。
当异常渲染结果为不可重试状态时,主线程接收到与渲染单元对应的异常渲染结果为不可重试状态时,终止全部子线程,并释放全部渲染资源,待人工手动修改渲染参数后重新发起渲染请求。
当异常渲染结果为可重试状态时,主线程接收到与渲染单元对应的异常渲染结果为可重试状态,且确认所有子线程均以完成渲染操作并返回渲染结果,根据所有子线程返回的渲染结果可知存在渲染结果为可重试状态的渲染单元,且不存在渲染结果为不可重试状态的渲染单元,则将渲染任务重新加入渲染队列。
具体的,在通过所述主线程接收各所述子线程对所分配的渲染单元中至少一个渲染子单元的渲染结果之前,渲染资源调度方法还包括:通过各所述子线程保存已成功渲染的各渲染单元的渲染结果。每个子线程在调用对应的渲染资源对一个渲染单元进行渲染操作,并根据渲染资源返回的渲染结果确认对该渲染单元渲染成功后,将渲染结果进行上传保存。如果在调用对应的渲染资源对一个渲染单元进行渲染操作时,其中一个渲染子单元的渲染结果为渲染失败,则不对该渲染单元的渲染结果进行保存。
进一步的,在将渲染任务重新加入至渲染队列之后,渲染资源调度方法还包括:在渲染队列中获取所述渲染任务,将渲染任务中的至少一个未成功渲染的渲染单元分配给至少一个渲染资源;创建主线程,并在通过主线程创建与渲染资源的数量匹配的子线程后,将渲染任务中的各未成功渲染的渲染单元分配给对应的子线程;通过各子线程调用对应的渲染资源,对所分配的未成功渲染的渲染单元中的各渲染子单元进行渲染处理。
也即,在将可重试的渲染任务加入渲染队列之后,当重新获取到这个渲染任务进行重新渲染时,首先根据成功渲染的各渲染单元的保存记录,判断这个渲染任务中包括的各个渲染单元是否被成功渲染过,确定出未被成功渲染过的、需要重新渲染的各个渲染单元,并将这些渲染单元分配给至少一个空闲的渲染资源,然后创建主线程以及子线程完成对这些渲染单元的渲染操作。
值得说明的是,在获取渲染队列中的一个渲染任务时,由于不知道这个渲染任务是新任务还是重试任务,因此,都需要首先判断这个渲染任务中包括的各个渲染单元是否被成功渲染过,如果存在被成功渲染的渲染单元(也即渲染任务为重试任务),则无需将这些渲染单元向渲染资源分配,如果不存在被成功渲染的渲染单元(也即渲染任务为新任务),则将所有的渲染单元向渲染资源分配。
在上述技术方案中,无需对已成功渲染的渲染单元进行重复渲染,避免了对渲染集群中渲染资源的浪费。
本实施例未尽详细解释之处,请参见前述实施例,在此不再赘述。
本实施例提供的技术方案中,通过检测渲染资源的空闲状态来有效分配渲染资源,当渲染任务出现异常时,可以及时中断任务,并释放渲染资源,避免占用资源对渲染集群的性能产生影响,实现了对渲染集群中各个渲染资源的有效利用。而且,在渲染集群中渲染资源充足的情况下,还可以同时并行多个渲染任务。
典型的,可以将每个子线程处理的各个渲染单元总称为渲染子任务。渲染子任务的渲染状态分为成功、可重试以及不可重试。当任一渲染子任务出现不可重试的状态时,终止渲染任务,释放所有渲染资源,等待运营人员修改渲染参数,并手动发起渲染请求;当任一渲染子任务出现可重试状态时,待其他渲染子任务运行完成、且确定不存在不可重试的渲染子任务之后,将渲染任务重新加入到渲染队列中;当全部渲染子任务成功时,才可确定渲染任务渲染成功。
进一步的,渲染子任务的渲染状态是根据渲染单元的渲染状态确定的,与渲染子任务对应的任一渲染单元的渲染状态为可重试,则终止渲染子任务,并关闭渲染资源,渲染子任务返回可重试状态;与渲染子任务对应的全部渲染单元的渲染状态为成功时,渲染子任务的渲染状态即为成功。当渲染子任务在执行过程中出现异常,渲染子任务返回不可重试状态。
进一步的,渲染单元的渲染状态是根据渲染子单元的渲染状态确定的,与渲染单元对应的任一渲染子单元的渲染状态为可重试,渲染单元返回可重试状态;与渲染单元对应的全部渲染子单元的渲染状态为成功时,渲染单元的渲染状态即为成功。其中,渲染子单元渲染失败后可以重试,当重试次数超过重试阈值时,渲染子单元返回可重试状态。
由此,在本实施例中,将渲染任务层层分级,父级任务的执行状态是由子级任务的执行状态确定的,例如是渲染任务的执行状态是由渲染子任务的执行状态确定的,渲染子任务的执行状态是由渲染单元的执行状态确定的,渲染单元的执行状态是由渲染子单元的执行状态确定的,通过对各子级任务的执行状态的检测,能够在出现异常时及时中断任务,避免占用资源对渲染集群的性能产生影响。
实施例三
图3是本发明实施例四提供的一种渲染资源调度装置的结构示意图,可适用于采用渲染集群处理大量渲染请求的情况,该装置可采用软件和/或硬件的方式实现,并一般可集成在处理器中,例如是电商平台服务器的处理器中。
如图3所示,该渲染资源调度装置具体包括:渲染任务分配模块310、主子线程创建模块320、子线程渲染模块330和渲染异常处理模块340。其中,
渲染任务分配模块310,用于将渲染任务中的至少一个渲染单元分配给至少一个渲染资源,其中,每个渲染单元对应至少一个渲染子单元;
主子线程创建模块320,用于创建主线程,并在通过所述主线程创建与所述渲染资源的数量匹配的子线程后,将所述渲染任务中的各所述渲染单元分配给对应的子线程;
子线程渲染模块330,用于通过各所述子线程调用对应的渲染资源,对所分配的渲染单元中的各所述渲染子单元进行渲染处理;
渲染异常处理模块340,用于根据各所述子线程对所分配的渲染单元中至少一个渲染子单元的异常渲染结果,确定对所述渲染任务的重处理策略。
本发明实施例提供的技术方案中,在获取到渲染任务时,首先将渲染任务包括的多个渲染单元分配给各个空闲的渲染资源,然后创建主线程,并通过主线程创建与渲染资源相同数量的子线程,通过各个子线程分别调用对应的渲染资源对分配的渲染单元中包括的渲染子单元进行渲染处理,如果在各个子线程对所分配的渲染单元中的渲染子单元进行渲染出现异常,则根据异常渲染结果确定对渲染任务的重处理策略,以实现对渲染任务的成功处理。在上述技术方案中,采用多线程技术调用多台空闲的渲染资源去处理渲染任务,实现了对渲染集群中各个渲染资源的有效利用。
进一步的,所述异常渲染结果包括不可重试状态;渲染异常处理模块340,具体用于通过第一目标子线程如果检测到当前处理的第一目标渲染子单元的渲染结果为异常渲染结果,且所述异常渲染结果为不可重试状态,则将与所述第一目标渲染子单元所属的渲染单元对应的不可重试状态发送至所述主线程;通过所述主线程如果接收到与任意一个渲染单元对应的异常渲染结果为不可重试状态时,终止全部子线程,并释放全部渲染资源。
进一步的,所述异常渲染结果包括重试状态;渲染异常处理模块340,具体用于通过所述主线程接收各所述子线程对所分配的渲染单元中至少一个渲染子单元的渲染结果,如果确定存在至少一个渲染单元的渲染结果为可重试状态,且不存在任意一个渲染单元的渲染结果为不可重试状态,则将所述渲染任务重新加入至渲染队列,以对所述渲染任务进行重渲染。
进一步的,渲染资源调度装置,还包括成功确认模块,用于在通过各所述子线程调用对应的渲染资源,对所分配的渲染单元中的各所述渲染子单元进行渲染处理之后,如果通过所述主线程接收到全部所述子线程发送的,对所分配的全部渲染单元中全部渲染子单元的成功渲染信息,则确定对所述渲染任务渲染完成,终止全部子线程,并释放全部渲染资源。
进一步的,子线程渲染模块330,具体包括:
渲染单元,用于通过第二目标子线程获取所分配的一个渲染单元中的一个渲染子单元作为第二目标渲染子单元,并调用对应的渲染资源,对所述第二目标渲染子单元进行渲染处理;
循环处理单元,用于通过第二目标子线程如果确定所述第二目标渲染子单元的渲染结果为成功,则返回执行通过第二目标子线程获取所分配的一个渲染单元中的一个渲染子单元作为第二目标渲染子单元的操作;
重渲染单元,用于通过第二目标子线程如果确定所述第二目标渲染子单元的渲染结果为失败,且与所述第二目标渲染子单元对应的渲染重试次数未超过设定的重试阈值,则返回执行调用对应的渲染资源,对所述第二目标渲染子单元进行渲染处理的操作,并更新与所述第二目标渲染子单元对应的渲染重试次数;
异常反馈单元,用于通过第二目标子线程如果确定对所述第二目标渲染子单元的渲染结果为失败,且与所述第二目标渲染子单元对应的渲染重试次数超过设定的重试阈值,则确定所述第二目标渲染子单元的渲染结果为异常处理状态;
成功反馈单元,用于通过所述第二目标子线程如果确定所分配的全部渲染单元中全部渲染子单元的渲染结果均为成功渲染,则向所述主线程发送成功渲染信息。
进一步的,渲染资源调度装置,还包括渲染进度保存模块和重新渲染模块,其中,渲染进度保存模块,用于在通过所述主线程接收各所述子线程对所分配的渲染单元中至少一个渲染子单元的渲染结果之前,通过各所述子线程保存已成功渲染的各渲染单元的渲染结果;
重新渲染模块,用于在将所述渲染任务重新加入至渲染队列之后,在所述渲染队列中获取所述渲染任务,将所述渲染任务中的至少一个未成功渲染的渲染单元分配给至少一个渲染资源;创建主线程,并在通过所述主线程创建与所述渲染资源的数量匹配的子线程后,将所述渲染任务中的各所述未成功渲染的渲染单元分配给对应的子线程;通过各所述子线程调用对应的渲染资源,对所分配的所述未成功渲染的渲染单元中的各渲染子单元进行渲染处理。
进一步的,渲染任务分配模块310,具体用于根据渲染任务中包括的渲染单元的数量以及空闲的渲染资源的数量,将所述渲染任务中的至少一个渲染单元分配给至少一个空闲的渲染资源。
进一步的,渲染任务分配模块310,具体用于将渲染任务中的至少一个渲染单元分配给至少一个与所述渲染任务的类型匹配的渲染资源。
上述渲染资源调度装置可执行本发明任意实施例所提供的渲染资源调度方法,具备执行渲染资源调度方法相应的功能模块和有益效果。
实施例四
图4为本发明实施例五提供的一种计算机设备的硬件结构示意图,如图4所示,该设备包括:
一个或多个处理器410,图4中以一个处理器410为例;
存储器420;
所述计算机设备还可以包括:输入装置430和输出装置440。
所述计算机设备中的处理器410、存储器420、输入装置430和输出装置440可以通过总线或者其他方式连接,图4中以通过总线连接为例。
存储器420作为一种非暂态计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的一种渲染资源调度方法对应的程序指令/模块(例如,附图3所示的渲染任务分配模块310、主子线程创建模块320、子线程渲染模块330和渲染异常处理模块340)。处理器410通过运行存储在存储器420中的软件程序、指令以及模块,从而执行计算机设备的各种功能应用以及数据处理,即实现上述方法实施例的一种渲染资源调度方法。
存储器420可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据计算机设备的使用所创建的数据等。此外,存储器420可以包括高速随机存取存储器,还可以包括非暂态性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态性固态存储器件。在一些实施例中,存储器420可选包括相对于处理器410远程设置的存储器,这些远程存储器可以通过网络连接至终端设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置430可用于接收输入的数字或字符信息,以及产生与计算机设备的用户设置以及功能控制有关的键信号输入。输出装置440可包括显示屏等显示设备。
实施例五
本发明实施例五还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种渲染资源调度方法,该方法包括:
将渲染任务中的至少一个渲染单元分配给至少一个渲染资源,其中,每个渲染单元对应至少一个渲染子单元;
创建主线程,并在通过所述主线程创建与所述渲染资源的数量匹配的子线程后,将所述渲染任务中的各所述渲染单元分配给对应的子线程;
通过各所述子线程调用对应的渲染资源,对所分配的渲染单元中的各所述渲染子单元进行渲染处理;
根据各所述子线程对所分配的渲染单元中至少一个渲染子单元的异常渲染结果,确定对所述渲染任务的重处理策略。
可选的,该计算机可执行指令在由计算机处理器执行时还可以用于执行本发明任意实施例所提供的一种渲染资源调度方法的技术方案。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
值得注意的是,上述渲染资源调度装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (11)
1.一种渲染资源调度方法,其特征在于,包括:
将渲染任务中的至少一个渲染单元分配给至少一个渲染资源,其中,每个渲染单元对应至少一个渲染子单元;
创建主线程,并在通过所述主线程创建与所述渲染资源的数量匹配的子线程后,将所述渲染任务中的各所述渲染单元分配给对应的子线程;
通过各所述子线程调用对应的渲染资源,对所分配的渲染单元中的各所述渲染子单元进行渲染处理;
根据各所述子线程对所分配的渲染单元中至少一个渲染子单元的异常渲染结果,确定对所述渲染任务的重处理策略。
2.根据权利要求1所述的方法,其特征在于,所述异常渲染结果包括不可重试状态;
根据各所述子线程对所分配的渲染单元中至少一个渲染子单元的异常渲染结果,确定对所述渲染任务的重处理策略,包括:
通过第一目标子线程如果检测到当前处理的第一目标渲染子单元的渲染结果为异常渲染结果,且所述异常渲染结果为不可重试状态,则将与所述第一目标渲染子单元所属的渲染单元对应的不可重试状态发送至所述主线程;
通过所述主线程如果接收到与任意一个渲染单元对应的异常渲染结果为不可重试状态时,终止全部子线程,并释放全部渲染资源。
3.根据权利要求1所述的方法,其特征在于,所述异常渲染结果包括重试状态;
根据各所述子线程对所分配的渲染单元中至少一个渲染子单元的异常渲染结果,确定对所述渲染任务的重处理策略,包括:
通过所述主线程接收各所述子线程对所分配的渲染单元中至少一个渲染子单元的渲染结果,如果确定存在至少一个渲染单元的渲染结果为可重试状态,且不存在任意一个渲染单元的渲染结果为不可重试状态,则将所述渲染任务重新加入至渲染队列,以对所述渲染任务进行重渲染。
4.根据权利要求1所述的方法,其特征在于,在通过各所述子线程调用对应的渲染资源,对所分配的渲染单元中的各所述渲染子单元进行渲染处理之后,还包括:
如果通过所述主线程接收到全部所述子线程发送的,对所分配的全部渲染单元中全部渲染子单元的成功渲染信息,则确定对所述渲染任务渲染完成,终止全部子线程,并释放全部渲染资源。
5.根据权利要求2或4所述的方法,其特征在于,通过所述子线程调用对应的渲染资源,对所分配的渲染单元中的各所述渲染子单元进行渲染处理,包括:
通过第二目标子线程获取所分配的一个渲染单元中的一个渲染子单元作为第二目标渲染子单元,并调用对应的渲染资源,对所述第二目标渲染子单元进行渲染处理;
通过第二目标子线程如果确定所述第二目标渲染子单元的渲染结果为成功,则返回执行通过第二目标子线程获取所分配的一个渲染单元中的一个渲染子单元作为第二目标渲染子单元的操作;
通过第二目标子线程如果确定所述第二目标渲染子单元的渲染结果为失败,且与所述第二目标渲染子单元对应的渲染重试次数未超过设定的重试阈值,则返回执行调用对应的渲染资源,对所述第二目标渲染子单元进行渲染处理的操作,并更新与所述第二目标渲染子单元对应的渲染重试次数;
通过第二目标子线程如果确定对所述第二目标渲染子单元的渲染结果为失败,且与所述第二目标渲染子单元对应的渲染重试次数超过设定的重试阈值,则确定所述第二目标渲染子单元的渲染结果为异常处理状态;
通过所述第二目标子线程如果确定所分配的全部渲染单元中全部渲染子单元的渲染结果均为成功渲染,则向所述主线程发送成功渲染信息。
6.根据权利要求3所述的方法,其特征在于,在通过所述主线程接收各所述子线程对所分配的渲染单元中至少一个渲染子单元的渲染结果之前,还包括:
通过各所述子线程保存已成功渲染的各渲染单元的渲染结果;
在将所述渲染任务重新加入至渲染队列之后,还包括:
在所述渲染队列中获取所述渲染任务,将所述渲染任务中的至少一个未成功渲染的渲染单元分配给至少一个渲染资源;
创建主线程,并在通过所述主线程创建与所述渲染资源的数量匹配的子线程后,将所述渲染任务中的各所述未成功渲染的渲染单元分配给对应的子线程;
通过各所述子线程调用对应的渲染资源,对所分配的所述未成功渲染的渲染单元中的各渲染子单元进行渲染处理。
7.根据权利要求1所述的方法,其特征在于,将渲染任务中的至少一个渲染单元分配给至少一个渲染资源,包括:
根据渲染任务中包括的渲染单元的数量以及空闲的渲染资源的数量,将所述渲染任务中的至少一个渲染单元分配给至少一个空闲的渲染资源。
8.根据权利要求1所述的方法,其特征在于,将渲染任务中的至少一个渲染单元分配给至少一个渲染资源,包括:
将渲染任务中的至少一个渲染单元分配给至少一个与所述渲染任务的类型匹配的渲染资源。
9.一种渲染资源调度装置,其特征在于,包括:
渲染任务分配模块,用于将渲染任务中的至少一个渲染单元分配给至少一个渲染资源,其中,每个渲染单元对应至少一个渲染子单元;
主子线程创建模块,用于创建主线程,并在通过所述主线程创建与所述渲染资源的数量匹配的子线程后,将所述渲染任务中的各所述渲染单元分配给对应的子线程;
子线程渲染模块,用于通过各所述子线程调用对应的渲染资源,对所分配的渲染单元中的各所述渲染子单元进行渲染处理;
渲染异常处理模块,用于根据各所述子线程对所分配的渲染单元中至少一个渲染子单元的异常渲染结果,确定对所述渲染任务的重处理策略。
10.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1~8中任一所述的方法。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1~8中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910431401.5A CN111026541B (zh) | 2019-05-22 | 2019-05-22 | 渲染资源调度方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910431401.5A CN111026541B (zh) | 2019-05-22 | 2019-05-22 | 渲染资源调度方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111026541A true CN111026541A (zh) | 2020-04-17 |
CN111026541B CN111026541B (zh) | 2020-09-29 |
Family
ID=70199585
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910431401.5A Active CN111026541B (zh) | 2019-05-22 | 2019-05-22 | 渲染资源调度方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111026541B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111552555A (zh) * | 2020-05-19 | 2020-08-18 | 北京数字绿土科技有限公司 | 一种点云的可视化方法和设备 |
CN111880918A (zh) * | 2020-07-28 | 2020-11-03 | 南京市城市与交通规划设计研究院股份有限公司 | 路网前端渲染方法、装置及电子设备 |
WO2022000972A1 (zh) * | 2020-06-30 | 2022-01-06 | 完美世界(北京)软件科技发展有限公司 | 任务的处理方法和装置、存储介质、电子装置 |
CN113923519A (zh) * | 2021-11-11 | 2022-01-11 | 深圳万兴软件有限公司 | 视频渲染方法、装置、计算机设备及存储介质 |
CN117130809A (zh) * | 2023-03-09 | 2023-11-28 | 荣耀终端有限公司 | 一种应用运行状态的检测方法及设备 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102752594A (zh) * | 2012-06-21 | 2012-10-24 | 浙江大学 | 一种基于图像编解码与传输并行的集群渲染方法 |
CN105741227A (zh) * | 2016-01-26 | 2016-07-06 | 网易(杭州)网络有限公司 | 渲染方法和装置 |
CN105959238A (zh) * | 2016-06-28 | 2016-09-21 | 深圳市彬讯科技有限公司 | 一种基于消息队列多优先级渲染资源的调度方法及系统 |
CN106776018A (zh) * | 2016-12-01 | 2017-05-31 | 三星(中国)半导体有限公司 | 用于分布式系统的主节点和从节点的并行处理方法和设备 |
CN106777180A (zh) * | 2016-12-22 | 2017-05-31 | 北京京东金融科技控股有限公司 | 高性能分布式数据转换的方法、装置及系统 |
CN108710537A (zh) * | 2018-04-09 | 2018-10-26 | 平安科技(深圳)有限公司 | 一种任务处理方法、存储介质和服务器 |
CN109308214A (zh) * | 2017-07-27 | 2019-02-05 | 北京京东尚科信息技术有限公司 | 数据任务处理方法和系统 |
CN109669752A (zh) * | 2018-12-19 | 2019-04-23 | 北京达佳互联信息技术有限公司 | 一种界面绘制方法、装置及移动终端 |
-
2019
- 2019-05-22 CN CN201910431401.5A patent/CN111026541B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102752594A (zh) * | 2012-06-21 | 2012-10-24 | 浙江大学 | 一种基于图像编解码与传输并行的集群渲染方法 |
CN105741227A (zh) * | 2016-01-26 | 2016-07-06 | 网易(杭州)网络有限公司 | 渲染方法和装置 |
CN105959238A (zh) * | 2016-06-28 | 2016-09-21 | 深圳市彬讯科技有限公司 | 一种基于消息队列多优先级渲染资源的调度方法及系统 |
CN106776018A (zh) * | 2016-12-01 | 2017-05-31 | 三星(中国)半导体有限公司 | 用于分布式系统的主节点和从节点的并行处理方法和设备 |
CN106777180A (zh) * | 2016-12-22 | 2017-05-31 | 北京京东金融科技控股有限公司 | 高性能分布式数据转换的方法、装置及系统 |
CN109308214A (zh) * | 2017-07-27 | 2019-02-05 | 北京京东尚科信息技术有限公司 | 数据任务处理方法和系统 |
CN108710537A (zh) * | 2018-04-09 | 2018-10-26 | 平安科技(深圳)有限公司 | 一种任务处理方法、存储介质和服务器 |
CN109669752A (zh) * | 2018-12-19 | 2019-04-23 | 北京达佳互联信息技术有限公司 | 一种界面绘制方法、装置及移动终端 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111552555A (zh) * | 2020-05-19 | 2020-08-18 | 北京数字绿土科技有限公司 | 一种点云的可视化方法和设备 |
CN111552555B (zh) * | 2020-05-19 | 2023-07-28 | 北京数字绿土科技股份有限公司 | 一种点云的可视化方法和设备 |
WO2022000972A1 (zh) * | 2020-06-30 | 2022-01-06 | 完美世界(北京)软件科技发展有限公司 | 任务的处理方法和装置、存储介质、电子装置 |
CN111880918A (zh) * | 2020-07-28 | 2020-11-03 | 南京市城市与交通规划设计研究院股份有限公司 | 路网前端渲染方法、装置及电子设备 |
CN113923519A (zh) * | 2021-11-11 | 2022-01-11 | 深圳万兴软件有限公司 | 视频渲染方法、装置、计算机设备及存储介质 |
CN113923519B (zh) * | 2021-11-11 | 2024-02-13 | 深圳万兴软件有限公司 | 视频渲染方法、装置、计算机设备及存储介质 |
CN117130809A (zh) * | 2023-03-09 | 2023-11-28 | 荣耀终端有限公司 | 一种应用运行状态的检测方法及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN111026541B (zh) | 2020-09-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111026541B (zh) | 渲染资源调度方法、装置、设备及存储介质 | |
US9501319B2 (en) | Method and apparatus for scheduling blocking tasks | |
CN107450971B (zh) | 任务处理方法及装置 | |
EP3913859A1 (en) | Vnf life cycle management method and apparatus | |
WO2017193737A1 (zh) | 一种软件测试方法及系统 | |
CN109660569B (zh) | 一种多任务并发执行方法、存储介质、设备及系统 | |
US20160371123A1 (en) | Data Processing Method and Apparatus | |
CN112241316A (zh) | 一种分布式调度应用的方法以及装置 | |
CN106775975B (zh) | 进程调度方法及装置 | |
WO2015042904A1 (zh) | 一种多核系统中资源池的调度方法、装置和系统 | |
CN104702534A (zh) | 一种实现多进程共享端口的数据处理的方法及装置 | |
CN111163140A (zh) | 资源获取和分配的方法、装置和计算机可读存储介质 | |
CN111290842A (zh) | 一种任务执行方法和装置 | |
CN111831408A (zh) | 异步任务处理方法、装置、电子设备及介质 | |
CN113326025A (zh) | 一种单一集群远程持续发布方法及装置 | |
CN107634978B (zh) | 一种资源调度方法及装置 | |
US10970098B2 (en) | Methods for sharing input-output device for process automation on a computing machine and devices thereof | |
CN111666141A (zh) | 任务调度方法、装置、设备及计算机存储介质 | |
CN111382141A (zh) | 主从架构配置方法、装置、设备以及计算机可读存储介质 | |
CN112486638A (zh) | 用于执行处理任务的方法、装置、设备和存储介质 | |
CN116302420A (zh) | 并发调度方法、装置、计算机设备及计算机可读存储介质 | |
CN115114022A (zh) | 对gpu资源进行使用的方法、系统、设备及介质 | |
CN106598706B (zh) | 一种提高服务器的稳定性的方法、装置及服务器 | |
WO2021253875A1 (zh) | 内存管理方法和相关产品 | |
CN112379952B (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 | ||
CP01 | Change in the name or title of a patent holder |
Address after: 519085 Building 8, No.1, Tangjiawan Harbin Institute of technology, high tech Zone, Zhuhai City, Guangdong Province Patentee after: Zhuhai necessary Industrial Technology Co.,Ltd. Address before: 519085 Building 8, No.1, Tangjiawan Harbin Institute of technology, high tech Zone, Zhuhai City, Guangdong Province Patentee before: ZHUHAI SUIBIAN TECHNOLOGY Co.,Ltd. |
|
CP01 | Change in the name or title of a patent holder |