CN113157415B - Farm rendering method, device, electronic equipment and storage medium - Google Patents
Farm rendering method, device, electronic equipment and storage medium Download PDFInfo
- Publication number
- CN113157415B CN113157415B CN202110429893.1A CN202110429893A CN113157415B CN 113157415 B CN113157415 B CN 113157415B CN 202110429893 A CN202110429893 A CN 202110429893A CN 113157415 B CN113157415 B CN 113157415B
- Authority
- CN
- China
- Prior art keywords
- rendered
- task
- cloud
- target task
- node
- 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
Links
- 238000009877 rendering Methods 0.000 title claims abstract description 101
- 238000000034 method Methods 0.000 title claims abstract description 38
- 238000012163 sequencing technique Methods 0.000 claims abstract description 14
- 238000012545 processing Methods 0.000 claims description 27
- 238000004891 communication Methods 0.000 claims description 21
- 238000004590 computer program Methods 0.000 claims description 7
- 238000005516 engineering process Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000007547 defect Effects 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Multi Processors (AREA)
- Image Generation (AREA)
Abstract
The invention provides a farm rendering method, a farm rendering device, electronic equipment and a storage medium, wherein the farm rendering method comprises the following steps: acquiring a plurality of tasks to be rendered in a first sub-cloud, and sequencing according to the submitting time; determining a target task to be rendered according to the sequencing result; detecting whether the current parallel task number of a request user of a target task to be rendered is smaller than a preset maximum parallel task upper limit value, whether the node number required by the target task to be rendered exceeds the preset maximum parallel node upper limit value, and whether idle node machines with the number corresponding to the target task to be rendered exist in a first sub cloud or not; if the number of the nodes required by the target task to be rendered exceeds the preset maximum parallel node upper limit value, node machines with the number equal to the preset maximum parallel node upper limit value are distributed; and rendering according to the target task to be rendered based on the distributed node machine. The method and the device can effectively render the farm rendering task and avoid long-time waiting of part of rendering tasks.
Description
Technical Field
The present invention relates to the field of farm rendering technologies, and in particular, to a farm rendering method, a device, an electronic apparatus, and a storage medium.
Background
With the popularity of cloud computing technology and distributed technology, there are currently increasing numbers of users submitting rendering tasks that require significant computing resources to each large rendering farm for completion. The rendering farm can call a plurality of processors to perform concurrent computation at the same time through a distributed technology, and the ultra-large-scale graphic computation is completed through the computer cluster, so that the overall rendering efficiency is improved.
In order to meet the rendering demands of users, large-scale cluster node machines are generally required to be deployed at one or more fixed places by large-scale rendering farm merchants, and rendering resources are preferentially allocated to rendering tasks which are preferentially submitted by users by adopting a first-come first-serve principle.
According to investigation, inherent industry factors such as years, light and vigorous seasons, uncertain distribution places and the like in the film industry, and currently, various large rendering farm manufacturers cannot guarantee unlimited expansion of node machines at any time and any place on the basis of cost consideration. The main problems are: the simple use of the first-come first-serve principle can lead to the problem that users with early rendering tasks submitted partially occupy most of node machines, and users with late rendering tasks cannot avoid waiting for all tasks to be rendered for a long time. Simply calling the node machines deployed in the local area often causes the situation that the node machines in the local area are exploded, users need to wait in a long time in a queuing way, but the node machines in other areas are still idle.
At present, a mode which can effectively render farms under the scene of limited regional node machines and avoid long-time waiting of partial users is lacking.
Disclosure of Invention
The invention provides a farm rendering method, a device, electronic equipment and a storage medium, which are used for solving the defect that a part of users can wait for a long time for a rendering task under the condition that a regional node machine is limited in the prior art, and realizing that the farm can be effectively rendered under the condition that the regional node machine is limited, so that the long-time waiting of the users is avoided.
The invention provides a farm rendering method, which comprises the following steps:
acquiring a plurality of tasks to be rendered in a first sub-cloud, and sequencing the plurality of tasks to be rendered according to the submitting time;
determining a target task to be rendered according to the sequencing result;
detecting whether the current parallel task number of a request user of the target task to be rendered is smaller than a preset maximum parallel task upper limit value, detecting whether the node number required by the target task to be rendered exceeds the preset maximum parallel node upper limit value, and detecting whether idle node machines with the number corresponding to the target task to be rendered exist in the first sub cloud;
if the number of the current parallel tasks of the request user of the target task to be rendered is smaller than the preset maximum parallel task upper limit value, the number of nodes required by the target task to be rendered exceeds the preset maximum parallel node upper limit value, and idle node machines with the number corresponding to the target task to be rendered are arranged in the first sub cloud, node machines with the number equal to the preset maximum parallel node upper limit value are distributed for the target task to be rendered;
and rendering according to the target task to be rendered based on the distributed node machines with the same number as the preset maximum parallel node upper limit value.
According to the farm rendering method provided by the invention, after detecting whether the current parallel task number of the request user of the target task to be rendered is smaller than a preset maximum parallel task upper limit value, detecting whether the node number required by the target task to be rendered exceeds the preset maximum parallel node upper limit value, and detecting whether the first sub-cloud is provided with idle node machines with the number corresponding to the target task to be rendered, the farm rendering method further comprises:
if the number of the current parallel tasks of the request user of the target task to be rendered is smaller than the preset maximum parallel task upper limit value, the number of nodes required by the target task to be rendered does not exceed the preset maximum parallel node upper limit value, and the first sub-cloud is internally provided with idle node machines with the number corresponding to the target task to be rendered, distributing the corresponding number of node machines according to the target task to be rendered in the first sub-cloud;
and rendering according to the target task to be rendered based on the distributed node machine.
According to the farm rendering method provided by the invention, after detecting whether the current parallel task number of the request user of the target task to be rendered is smaller than a preset maximum parallel task upper limit value, detecting whether the node number required by the target task to be rendered exceeds the preset maximum parallel node upper limit value, and detecting whether the first sub-cloud is provided with idle node machines with the number corresponding to the target task to be rendered, the farm rendering method further comprises:
if the current parallel task number of the request user of the target task to be rendered is equal to the preset maximum parallel task upper limit value and the node number required by the target task to be rendered does not exceed the preset maximum parallel node upper limit value, the target task to be rendered is made to wait until the current parallel task number of the request user of the target task to be rendered is smaller than the preset maximum parallel task upper limit value.
According to the farm rendering method provided by the invention, after detecting whether the current parallel task number of the request user of the target task to be rendered is smaller than a preset maximum parallel task upper limit value, detecting whether the node number required by the target task to be rendered exceeds the preset maximum parallel node upper limit value, and detecting whether the first sub-cloud is provided with idle node machines with the number corresponding to the target task to be rendered, the farm rendering method further comprises:
if the first sub-cloud does not have idle node machines with the quantity corresponding to the target task to be rendered, rendering the overload sub-task in the target task to be rendered through the node machines of the second sub-cloud determined by the parent cloud of the first sub-cloud;
the parent cloud is respectively in communication connection with the first child cloud and the second child cloud.
According to the farm rendering method provided by the invention, after the overload subtask in the target to-be-rendered task is rendered through the node machine of the second sub cloud determined by the parent cloud of the first sub cloud, the method further comprises the following steps:
and the second sub-cloud sends the rendering result of the overload sub-task to the first sub-cloud.
The invention also provides a farm rendering device, comprising:
the acquisition module is used for acquiring a plurality of tasks to be rendered in the first sub cloud;
the ordering module is used for ordering the plurality of tasks to be rendered according to the submitting time;
the control processing module is used for determining a target task to be rendered according to the sequencing result; the control processing module is further used for detecting whether the current parallel task number of the request user of the target task to be rendered is smaller than a preset maximum parallel task upper limit value, detecting whether the node number required by the target task to be rendered exceeds the preset maximum parallel node upper limit value, and detecting whether idle node machines with the number corresponding to the target task to be rendered exist in the first sub cloud; the control processing module is further configured to allocate node machines equal to the preset maximum parallel node upper limit value for the target task to be rendered if the current parallel task number of the requesting user of the target task to be rendered is smaller than the preset maximum parallel task upper limit value, the number of nodes required by the target task to be rendered exceeds the preset maximum parallel node upper limit value, and idle node machines corresponding to the target task to be rendered are in the first sub-cloud; the control processing module is also used for rendering according to the target task to be rendered based on the distributed node machines with the same number as the preset maximum parallel node upper limit value.
According to the farm rendering device provided by the invention, the control processing module is further configured to allocate a corresponding number of node machines according to the target task to be rendered in the first sub-cloud if the current number of parallel tasks of the requesting user of the target task to be rendered is smaller than the preset maximum upper limit value of parallel tasks, the number of nodes required by the target task to be rendered does not exceed the preset maximum upper limit value of parallel nodes, and the first sub-cloud has a number of idle node machines corresponding to the target task to be rendered in the first sub-cloud; the control processing module is also used for rendering according to the target task to be rendered based on the distributed node machine.
According to the farm rendering device provided by the invention, the control processing module is further configured to wait for the target rendering task if the current number of parallel tasks of the requesting user of the target task to be rendered is equal to the preset maximum upper limit value of parallel tasks until the maximum number of parallel tasks of the requesting user of the target task to be rendered is less than or equal to the preset maximum upper limit value of parallel tasks.
The farm rendering device provided by the invention further comprises a communication module; the control processing module is further used for providing overload tasks in the target tasks to be rendered to a parent cloud of the first child cloud through the communication module if the first child cloud does not have idle node machines with the number corresponding to the target tasks to be rendered, so that the node machines of the second child cloud determined by the parent cloud can render; the parent cloud is respectively in communication connection with the first child cloud and the second child cloud.
According to the farm rendering device provided by the invention, the communication module is further used for receiving the rendering result of the overload task sent by the second sub-cloud.
The invention also provides an electronic device comprising a memory, a processor and a computer program stored on the memory and executable on the processor, the processor implementing the steps of the farm rendering method as described in any of the above when executing the program.
The invention also provides a non-transitory computer readable storage medium having stored thereon a computer program which, when executed by a processor, implements the steps of a farm rendering method as described in any of the above.
According to the farm rendering method, device, electronic equipment and storage medium, the plurality of tasks to be rendered in the sub-cloud are ordered according to the submitting time, the tasks to be rendered which are submitted first are used as target tasks to be rendered according to the ordering result, the maximum parallel task number of a request user of the target tasks to be rendered, the node number required by the target tasks to be rendered and whether enough idle node machines exist in the sub-cloud are detected, if other conditions are met, only the node number required by the target tasks to be rendered exceeds a preset maximum parallel node upper limit value, node machines with the same number as the preset maximum parallel node upper limit value are allocated to the target tasks to be rendered in the sub-cloud, and rendering is carried out according to the rendering tasks through the allocated node machines. According to the invention, the rendering tasks of partial users of the sub-cloud can be prevented from waiting for a long time by a double guarantee mode of the maximum number of parallel tasks and the maximum number of parallel nodes.
Drawings
In order to more clearly illustrate the invention or the technical solutions of the prior art, the drawings used in the description of the embodiments or the prior art will be briefly described, and it is obvious that the drawings in the description below are some embodiments of the invention, and other drawings can be obtained according to these drawings without inventive effort for a person skilled in the art.
Fig. 1 is a schematic flow chart of a farm rendering method provided by the invention;
fig. 2 is a schematic structural view of a farm rendering apparatus provided by the present invention;
fig. 3 is a schematic diagram of an electronic device in one example of the invention.
Detailed Description
For the purpose of making the objects, technical solutions and advantages of the present invention more apparent, the technical solutions of the present invention will be clearly and completely described below with reference to the accompanying drawings, and it is apparent that the described embodiments are some embodiments of the present invention, not all embodiments. All other embodiments, which can be made by those skilled in the art based on the embodiments of the invention without making any inventive effort, are intended to be within the scope of the invention.
It should be appreciated that reference throughout this specification to "an embodiment" or "one embodiment" means that a particular feature, structure or characteristic described in connection with the embodiment is included in at least one embodiment of the present invention. Thus, the appearances of the phrase "in an embodiment" or "in one embodiment" in various places throughout this specification are not necessarily referring to the same embodiment. Furthermore, the particular features, structures, or characteristics may be combined in any suitable manner in one or more embodiments.
In the description of the present invention, it is to be understood that the terms "first" and "second" are used for descriptive purposes only and are not to be construed as indicating or implying relative importance.
In the description of the present invention, it should be noted that the term "coupled" is to be interpreted broadly, unless explicitly stated or defined otherwise, as such, as may be directly or indirectly via an intermediate medium. The specific meaning of the above terms in the present invention will be understood in specific cases by those of ordinary skill in the art.
In the invention, the sub-cloud is a distributed cluster established by adopting a cloud technology according to node machines in a certain region. The parent cloud is a management center of all child clouds.
The farm rendering method of the present invention is described below in connection with fig. 1.
S1: and acquiring a plurality of tasks to be rendered in the first sub cloud, and sequencing the plurality of tasks to be rendered according to the submitting time.
Specifically, when the service system of the first sub-cloud receives a plurality of tasks to be rendered sent by a plurality of users, the tasks can be stored in the intelligent scheduling center in a message queue mode, and the tasks are ordered according to the submitting time of the tasks to be rendered.
S2: and determining a target task to be rendered according to the sequencing result. I.e., the earliest received and unprocessed task to be rendered is taken as the target task to be rendered.
S3: detecting whether the current parallel task number of a request user of a target task to be rendered is smaller than a preset maximum parallel task upper limit value, detecting whether the node number required by the target task to be rendered exceeds the preset maximum parallel node upper limit value, and detecting whether idle node machines with the number corresponding to the target task to be rendered exist in the first sub cloud.
Specifically, according to the number and the performance of the node machines in the first sub-cloud, corresponding maximum parallel task upper limit values and maximum parallel node upper limit values are set for the first sub-cloud, so that the processing capacity of the first sub-cloud is ensured, and meanwhile, the node machines in the first sub-cloud are prevented from being occupied for a long time for rendering a task with larger content, so that the tasks to be rendered of partial users wait for a long time.
After determining the target task to be rendered, detecting whether the current parallel task number of the request user of the target task to be rendered is smaller than the maximum parallel task upper limit value (for example, the request user of the target task to be rendered is user M, the maximum parallel task upper limit value is 5, if the current parallel task number of the user M is 0-4, the current parallel task number of the request user of the target task to be rendered is verified to be smaller than the maximum parallel task upper limit value), detecting whether the node number required by the target task to be rendered exceeds the preset maximum parallel node upper limit value, and detecting whether idle node machines with the number corresponding to the target task to be rendered exist in the first sub cloud. In this embodiment, the number of nodes required by the target task to be rendered is the number of subtasks of the target task to be rendered, for example, if 1000 frames of the target task to be rendered need to be rendered, the number of nodes required by the target task to be rendered is 1000.
S4: if the number of the current parallel tasks of the request user of the target task to be rendered is smaller than the preset maximum parallel task upper limit value, the number of nodes required by the target task to be rendered exceeds the preset maximum parallel node upper limit value, and the first sub cloud is provided with idle node machines with the number corresponding to the target task to be rendered, node machines with the number equal to the preset maximum parallel node upper limit value are allocated for the target task to be rendered.
Specifically, when enough idle node machines exist in the first cloud, if the current parallel task number of the requesting user of the target task to be rendered is smaller than the preset maximum parallel task upper limit value, but the node number required by the target task to be rendered exceeds the preset maximum parallel node upper limit value, a scheduler in the first cloud needs to allocate the idle node machines for the target task to be rendered according to the node number limited by the preset maximum parallel node upper limit value. For example, the target task to be rendered is set by the user M, the maximum parallel task upper limit value is 5, if the number of current parallel tasks of the user M is 0 to 4, the number of nodes required by the target task to be rendered set by the user M is 1000, the maximum parallel node upper limit value is 500, and then the first sub-cloud allocates 500 idle node machines for the target task to be rendered to execute the target task to be rendered.
S5: and rendering according to the target task to be rendered based on the distributed node machines with the same number as the preset maximum parallel node upper limit value. After the target task to be rendered is completed, the dispatcher feeds back the state information to the business system of the first sub-cloud, and informs the business system that the target task to be rendered is completed.
In one embodiment of the present invention, after step S3, further comprising:
if the maximum parallel task number of the request users of the target tasks to be rendered is smaller than the preset maximum parallel task upper limit value, the node number required by the target tasks to be rendered does not exceed the preset maximum parallel node upper limit value, and the first sub-cloud is provided with idle node machines with the number corresponding to the target tasks to be rendered, distributing the corresponding number of node machines in the first sub-cloud according to the target tasks to be rendered; rendering is carried out according to the target task to be rendered based on the distributed node machine.
Specifically, when enough idle node machines exist in the first sub-cloud, if the current parallel task number of the target task to be rendered is smaller than the preset maximum parallel task upper limit value and the node number required by the target task to be rendered does not exceed the preset maximum parallel node upper limit value, the scheduler allocates a corresponding number of idle node machines for the target task to be rendered, and the allocated node machines complete the target task to be rendered.
In another embodiment of the present invention, after step S3, the method further includes:
if the current parallel task number of the requesting user of the target task to be rendered is equal to the preset maximum parallel task upper limit value, the target rendering task is made to wait until the current parallel task number of the requesting user of the target task to be rendered is smaller than the preset maximum parallel task upper limit value.
Specifically, if the number of the current parallel tasks of the requesting user of the target task to be rendered exceeds a preset maximum parallel task upper limit value, for example, the maximum parallel task upper limit value is 5, if the number of the current parallel tasks of the user M is 5, the target task to be rendered proposed by the user M waits until the number of the current parallel tasks of the user M is less than 5, and then the target rendering task is ready to be rendered.
In still another embodiment of the present invention, after step S3, further includes:
if the first sub-cloud does not have the idle node machines with the quantity corresponding to the target task to be rendered, the overload sub-task in the target task to be rendered is rendered through the node machines of the second sub-cloud determined by the parent cloud of the first sub-cloud. The number of the overload subtasks is the difference between the total number of the subtasks of the target task to be rendered and the number of the current idle node machines in the first cloud, for example, the total number of the subtasks of the target task to be rendered is 500, and the number of the current idle node machines in the first cloud is 300, and then the number of the overload subtasks is 200. The parent cloud is respectively in communication connection with the first child cloud and the second child cloud.
Specifically, when the idle node machines of the first sub-cloud are insufficient, the first sub-cloud gives a request for transferring an overload sub-task in a target task to be rendered to the node machines in other sub-clouds for processing to the parent cloud. After the parent cloud receives the request, determining the child cloud to be processed according to the number of idle node machines in other child clouds and the communication line condition between the other child clouds and the first child cloud, and taking the child cloud as a second child cloud. And the idle node machine in the second sub-cloud is responsible for processing the overload sub-task in the target task to be rendered. The method for processing the overload subtask in the target to-be-rendered task by the second sub-cloud is similar to the method for independently processing the target to-be-rendered task in the first sub-cloud, and the difference is that the maximum parallel task upper limit value and the maximum parallel node upper limit value of the second sub-cloud are different from the maximum parallel task upper limit value and the maximum parallel node upper limit value in the first sub-cloud.
After the second sub-cloud finishes rendering the overload sub-task in the target task to be rendered, the rendering result is sent to the first sub-cloud, and the first sub-cloud is combined according to the rendering result of the non-overload sub-task in the target task to be rendered and the rendering result sent by the second sub-cloud and then is displayed to the user corresponding to the target task to be rendered.
The farm rendering apparatus provided by the present invention will be described below, and the farm rendering apparatus described below and the farm rendering method described above may be referred to correspondingly to each other.
Fig. 2 is a schematic structural view of a farm rendering apparatus provided by the present invention. As shown in fig. 2, the farm rendering apparatus provided by the present invention includes: an acquisition module 210, a ranking module 220, and a control processing module 220.
The obtaining module 210 is configured to obtain a plurality of tasks to be rendered in the first sub-cloud. The sorting module 220 is configured to sort the plurality of tasks to be rendered according to the commit time. The control processing module 230 is configured to determine a target task to be rendered according to the sorting result. The control processing module 230 is further configured to detect whether a current number of parallel tasks of a requesting user of the target task to be rendered is less than a preset maximum upper limit value of parallel tasks, detect whether a number of nodes required by the target task to be rendered exceeds the preset maximum upper limit value of parallel nodes, and detect whether a number of idle node machines corresponding to the target task to be rendered is provided in the first sub-cloud. The control processing module 230 is further configured to allocate node machines equal to the preset maximum parallel node upper limit value for the target task to be rendered if the number of current parallel tasks of the requesting user of the target task to be rendered is less than the preset maximum parallel task upper limit value, the number of nodes required by the target task to be rendered exceeds the preset maximum parallel node upper limit value, and the first sub-cloud has idle node machines corresponding to the target task to be rendered. The control processing module 230 is further configured to perform rendering according to the target task to be rendered based on the allocated node machines equal to the preset maximum parallel node upper limit value.
In one embodiment of the present invention, the control processing module 230 is further configured to allocate a corresponding number of node machines according to the target task to be rendered in the first sub-cloud if the current number of parallel tasks of the requesting user of the target task to be rendered is less than the preset maximum parallel task upper limit value, the number of nodes required by the target task to be rendered does not exceed the preset maximum parallel node upper limit value, and the first sub-cloud has idle node machines corresponding to the target task to be rendered in the first sub-cloud; the control processing module 230 is further configured to render according to the target task to be rendered based on the allocated node machine.
In one embodiment of the present invention, the control processing module 230 is further configured to, if the current number of parallel tasks of the requesting user of the target task to be rendered is equal to the preset maximum upper limit value of parallel tasks, wait for the target rendering task until the number of maximum parallel tasks of the requesting user of the target task to be rendered is less than or equal to the preset maximum upper limit value of parallel tasks.
In one embodiment of the invention, the farm rendering device further comprises a communication module. The control processing module 230 is further configured to provide, if the first sub-cloud does not have a number of idle node machines corresponding to the target task to be rendered, an overload sub-task in the target task to be rendered to a parent cloud of the first sub-cloud through the communication module, so that the node machines of the second sub-cloud determined by the parent cloud perform rendering. The parent cloud is respectively in communication connection with the first child cloud and the second child cloud.
In one embodiment of the present invention, the communication module is further configured to receive a rendering result of the overload subtask sent by the second sub-cloud.
It should be noted that, the detailed implementation of the farm rendering device according to the embodiment of the present invention is similar to the detailed implementation of the farm rendering method according to the embodiment of the present invention, and the description of the farm rendering method is specifically referred to in the section of the farm rendering method, so that redundancy is reduced and redundant description is omitted.
In addition, other structures and functions of the farm rendering apparatus according to the embodiments of the present invention are known to those skilled in the art, and are not described in detail for reducing redundancy.
Fig. 3 is a schematic diagram of an electronic device in one example of the invention. As shown in fig. 3, the electronic device may include: processor 310, communication interface 320, memory 330 and communication bus 340, wherein processor 310, communication interface 320, memory 330 accomplish the communication between each other through communication bus 340. The processor 310 may call logic instructions in the memory 330 to perform a farm rendering method, the method comprising: acquiring a plurality of tasks to be rendered in a first sub-cloud, and sequencing the plurality of tasks to be rendered according to the submitting time, wherein the plurality of tasks to be rendered are all used for farm rendering; determining a target task to be rendered according to the sequencing result; detecting whether the current parallel task number of a request user of the target task to be rendered exceeds a preset maximum parallel task upper limit value, detecting whether the node number required by the target task to be rendered is smaller than the preset maximum parallel node upper limit value, and detecting whether idle node machines with the number corresponding to the target task to be rendered exist in the first sub cloud; if the number of the current parallel tasks of the request user of the target task to be rendered is smaller than the preset maximum parallel task upper limit value, the number of nodes required by the target task to be rendered exceeds the preset maximum parallel node upper limit value, and idle node machines with the number corresponding to the target task to be rendered are arranged in the first sub cloud, node machines with the number equal to the preset maximum parallel node upper limit value are distributed for the target task to be rendered; and rendering according to the target task to be rendered based on the distributed node machines with the same number as the preset maximum parallel node upper limit value.
In the embodiment of the invention, the processor may be an integrated circuit chip with signal processing capability.
In another aspect, the present invention also provides a non-transitory computer readable storage medium having stored thereon a computer program which, when executed by a processor, is implemented to perform the farm rendering methods provided above, the method comprising: acquiring a plurality of tasks to be rendered in a first sub-cloud, and sequencing the plurality of tasks to be rendered according to the submitting time, wherein the plurality of tasks to be rendered are all used for farm rendering; determining a target task to be rendered according to the sequencing result; detecting whether the current parallel task number of a request user of the target task to be rendered exceeds a maximum parallel task upper limit value, detecting whether the node number required by the target task to be rendered exceeds a preset maximum parallel node upper limit value, and detecting whether idle node machines with the number corresponding to the target task to be rendered exist in the first sub cloud; if the number of the current parallel tasks of the request user of the target task to be rendered is smaller than the preset maximum parallel task upper limit value, the number of nodes required by the target task to be rendered exceeds the preset maximum parallel node upper limit value, and idle node machines with the number corresponding to the target task to be rendered are arranged in the first sub cloud, node machines with the number equal to the preset maximum parallel node upper limit value are distributed for the target task to be rendered; and rendering according to the target task to be rendered based on the distributed node machines with the same number as the preset maximum parallel node upper limit value.
The storage medium may be memory, for example, may be volatile memory or nonvolatile memory, or may include both volatile and nonvolatile memory.
The nonvolatile Memory may be a Read-Only Memory (ROM), a Programmable ROM (PROM), an Erasable PROM (EPROM), an electrically Erasable ROM (Electrically EPROM, EEPROM), or a flash Memory.
The volatile memory may be a random access memory (Random Access Memory, RAM for short) which acts as an external cache. By way of example, and not limitation, many forms of RAM are available, such as Static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (Double Data Rate SDRAM), enhanced SDRAM (ESDRAM), synchronous Link DRAM (SLDRAM), and direct memory bus RAM (Direct Rambus RAM, DRRAM).
The storage media described in embodiments of the present invention are intended to comprise, without being limited to, these and any other suitable types of memory.
Those skilled in the art will appreciate that in one or more of the examples described above, the functions described in the present invention may be implemented in a combination of hardware and software. When the software is applied, the corresponding functions may be stored in a computer-readable medium or transmitted as one or more instructions or code on the computer-readable medium. Computer-readable media includes both computer storage media and communication media including any medium that facilitates transfer of a computer program from one place to another. A storage media may be any available media that can be accessed by a general purpose or special purpose computer.
The apparatus embodiments described above are merely illustrative, wherein the elements illustrated as separate elements may or may not be physically separate, and the elements shown as elements may or may not be physical elements, may be located in one place, or may be distributed over a plurality of network elements. Some or all of the modules may be selected according to actual needs to achieve the purpose of the solution of this embodiment. Those of ordinary skill in the art will understand and implement the present invention without undue burden.
From the above description of the embodiments, it will be apparent to those skilled in the art that the embodiments may be implemented by means of software plus necessary general hardware platforms, or of course may be implemented by means of hardware. Based on this understanding, the foregoing technical solution may be embodied essentially or in a part contributing to the prior art in the form of a software product, which may be stored in a computer readable storage medium, such as ROM/RAM, a magnetic disk, an optical disk, etc., including several instructions for causing a computer device (which may be a personal computer, a server, or a network device, etc.) to execute the method described in the respective embodiments or some parts of the embodiments.
Finally, it should be noted that: the above embodiments are only for illustrating the technical solution of the present invention, and are not limiting; although the invention has been described in detail with reference to the foregoing embodiments, it will be understood by those of ordinary skill in the art that: the technical scheme described in the foregoing embodiments can be modified or some technical features thereof can be replaced by equivalents; such modifications and substitutions do not depart from the spirit and scope of the technical solutions of the embodiments of the present invention.
Claims (7)
1. A farm rendering method, comprising:
acquiring a plurality of tasks to be rendered in a first sub-cloud, and sequencing the plurality of tasks to be rendered according to the submitting time, wherein the plurality of tasks to be rendered are all used for farm rendering;
determining a target task to be rendered according to the sequencing result;
detecting whether the current parallel task number of a request user of the target task to be rendered is smaller than a preset maximum parallel task upper limit value, detecting whether the node number required by the target task to be rendered exceeds the preset maximum parallel node upper limit value, and detecting whether idle node machines with the number corresponding to the target task to be rendered exist in the first sub cloud;
if the number of the current parallel tasks of the requesting user of the target task to be rendered is equal to the preset maximum parallel task upper limit value, the target rendering task is made to wait;
if the first sub-cloud does not have idle node machines with the quantity corresponding to the target task to be rendered, rendering the overload sub-task in the target task to be rendered through the node machines of the second sub-cloud determined by the parent cloud of the first sub-cloud; the parent cloud is respectively in communication connection with the first child cloud and the second child cloud;
if the number of the current parallel tasks of the request user of the target task to be rendered is smaller than the preset maximum parallel task upper limit value, the number of nodes required by the target task to be rendered exceeds the preset maximum parallel node upper limit value, and idle node machines with the number corresponding to the target task to be rendered are arranged in the first sub cloud, node machines with the number equal to the preset maximum parallel node upper limit value are distributed for the target task to be rendered;
and rendering according to the target task to be rendered based on the distributed node machines with the same number as the preset maximum parallel node upper limit value.
2. The farm rendering method according to claim 1, wherein after detecting whether the current number of parallel tasks of the requesting user of the target task to be rendered is less than a preset maximum parallel task upper limit value, and detecting whether the number of nodes required for the target task to be rendered exceeds the preset maximum parallel node upper limit, and detecting whether there are free node machines in the first sub-cloud corresponding to the target task to be rendered, further comprising:
if the current parallel task number of the request user of the target task to be rendered is smaller than the preset maximum parallel task upper limit value, the node number required by the target task to be rendered does not exceed the preset maximum parallel node upper limit value, and the first sub-cloud is internally provided with idle node machines with the number corresponding to the target task to be rendered, distributing the corresponding number of node machines according to the node number required by the target task to be rendered in the first sub-cloud;
and rendering according to the target task to be rendered based on the distributed node machine.
3. The farm rendering method according to claim 1, characterized in that after rendering an overload subtask of the target task to be rendered by a node machine of a second sub cloud determined by a parent cloud of the first sub cloud, further comprising:
and the second sub-cloud sends the rendering result of the overload sub-task to the first sub-cloud.
4. A farm rendering device, comprising:
the acquisition module is used for acquiring a plurality of tasks to be rendered in the first sub cloud;
the ordering module is used for ordering the plurality of tasks to be rendered according to the submitting time;
the control processing module is used for determining a target task to be rendered according to the sequencing result; the control processing module is further used for detecting whether the current parallel task number of the request user of the target task to be rendered is smaller than a preset maximum parallel task upper limit value, detecting whether the node number required by the target task to be rendered exceeds the preset maximum parallel node upper limit value, and detecting whether idle node machines with the number corresponding to the target task to be rendered exist in the first sub cloud; if the number of the current parallel tasks of the requesting user of the target task to be rendered is equal to the preset maximum parallel task upper limit value, the target rendering task is made to wait; if the first sub-cloud does not have idle node machines with the quantity corresponding to the target task to be rendered, rendering the overload sub-task in the target task to be rendered through the node machines of the second sub-cloud determined by the parent cloud of the first sub-cloud; the parent cloud is respectively in communication connection with the first child cloud and the second child cloud; the control processing module is further configured to allocate node machines equal to the preset maximum parallel node upper limit value for the target task to be rendered if the current parallel task number of the requesting user of the target task to be rendered is smaller than the preset maximum parallel task upper limit value, the number of nodes required by the target task to be rendered exceeds the preset maximum parallel node upper limit value, and idle node machines corresponding to the target task to be rendered are in the first sub-cloud; the control processing module is also used for rendering according to the target task to be rendered based on the distributed node machines with the same number as the preset maximum parallel node upper limit value.
5. The farm rendering apparatus of claim 4, further comprising a communication module; and the communication module is used for receiving the rendering result of the overload task sent by the second sub-cloud.
6. An electronic device comprising a memory, a processor and a computer program stored on the memory and executable on the processor, characterized in that the processor implements the steps of the farm rendering method according to any of claims 1 to 3 when the program is executed.
7. A non-transitory computer readable storage medium, on which a computer program is stored, characterized in that the computer program, when executed by a processor, implements the steps of the farm rendering method according to any of claims 1 to 3.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110429893.1A CN113157415B (en) | 2021-04-21 | 2021-04-21 | Farm rendering method, device, electronic equipment and storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110429893.1A CN113157415B (en) | 2021-04-21 | 2021-04-21 | Farm rendering method, device, electronic equipment and storage medium |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113157415A CN113157415A (en) | 2021-07-23 |
CN113157415B true CN113157415B (en) | 2023-10-13 |
Family
ID=76867764
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110429893.1A Active CN113157415B (en) | 2021-04-21 | 2021-04-21 | Farm rendering method, device, electronic equipment and storage medium |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113157415B (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113592993A (en) * | 2021-08-12 | 2021-11-02 | 炫我云计算技术(北京)有限公司 | Rendering method and device, electronic equipment and computer-readable storage medium |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103617062A (en) * | 2013-12-05 | 2014-03-05 | 山东大学 | Flexible dynamic deployment system and method for render cluster |
CN108710543A (en) * | 2018-05-21 | 2018-10-26 | 苏州本乔信息技术有限公司 | A kind of processing method and equipment of rendering task |
CN109242945A (en) * | 2018-12-13 | 2019-01-18 | 深圳市彬讯科技有限公司 | Intelligent dispatching method, device, equipment and the storage medium of Distributed Rendering Environment |
CN109428926A (en) * | 2017-08-31 | 2019-03-05 | 北京京东尚科信息技术有限公司 | A kind of method and apparatus of scheduler task node |
EP3627318A1 (en) * | 2018-09-12 | 2020-03-25 | Guangdong Oppo Mobile Telecommunications Corp., Ltd. | Game rendering method and apparatus, terminal, and non-transitory computer-readable storage medium |
CN111209098A (en) * | 2019-12-19 | 2020-05-29 | 无锡量子云数字新媒体科技有限公司 | Intelligent rendering scheduling method, server, management node and storage medium |
CN111949398A (en) * | 2020-07-30 | 2020-11-17 | 西安万像电子科技有限公司 | Resource scheduling method and device |
CN115292014A (en) * | 2022-08-03 | 2022-11-04 | 苏州创意云网络科技有限公司 | Image rendering method and device and server |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2538328A1 (en) * | 2011-06-21 | 2012-12-26 | Unified Computing Limited | A method of provisioning a cloud-based render farm |
US9250953B2 (en) * | 2013-11-12 | 2016-02-02 | Oxide Interactive Llc | Organizing tasks by a hierarchical task scheduler for execution in a multi-threaded processing system |
-
2021
- 2021-04-21 CN CN202110429893.1A patent/CN113157415B/en active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103617062A (en) * | 2013-12-05 | 2014-03-05 | 山东大学 | Flexible dynamic deployment system and method for render cluster |
CN109428926A (en) * | 2017-08-31 | 2019-03-05 | 北京京东尚科信息技术有限公司 | A kind of method and apparatus of scheduler task node |
CN108710543A (en) * | 2018-05-21 | 2018-10-26 | 苏州本乔信息技术有限公司 | A kind of processing method and equipment of rendering task |
EP3627318A1 (en) * | 2018-09-12 | 2020-03-25 | Guangdong Oppo Mobile Telecommunications Corp., Ltd. | Game rendering method and apparatus, terminal, and non-transitory computer-readable storage medium |
CN109242945A (en) * | 2018-12-13 | 2019-01-18 | 深圳市彬讯科技有限公司 | Intelligent dispatching method, device, equipment and the storage medium of Distributed Rendering Environment |
CN111209098A (en) * | 2019-12-19 | 2020-05-29 | 无锡量子云数字新媒体科技有限公司 | Intelligent rendering scheduling method, server, management node and storage medium |
CN111949398A (en) * | 2020-07-30 | 2020-11-17 | 西安万像电子科技有限公司 | Resource scheduling method and device |
CN115292014A (en) * | 2022-08-03 | 2022-11-04 | 苏州创意云网络科技有限公司 | Image rendering method and device and server |
Non-Patent Citations (1)
Title |
---|
网格环境下的静态启发式任务调度算法;张忠平;刘欣媛;;计算机研究与发展(第S1期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN113157415A (en) | 2021-07-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11429449B2 (en) | Method for fast scheduling for balanced resource allocation in distributed and collaborative container platform environment | |
CN115328663B (en) | Method, device, equipment and storage medium for scheduling resources based on PaaS platform | |
CN109726005B (en) | Method, server system and computer readable medium for managing resources | |
US10613992B2 (en) | Systems and methods for remote procedure call | |
TWI747092B (en) | Method, equipment and system for resource scheduling and central server thereof | |
CN102594891A (en) | Method and system for processing remote procedure call request | |
CN111104227B (en) | Resource control method and device of K8s platform and related components | |
US20200195520A1 (en) | Adaptive function execution in a function as a service (faas) architecture | |
US20220318065A1 (en) | Managing computer workloads across distributed computing clusters | |
CN114979286B (en) | Access control method, device, equipment and computer storage medium for container service | |
CN113157415B (en) | Farm rendering method, device, electronic equipment and storage medium | |
CN114625533A (en) | Distributed task scheduling method and device, electronic equipment and storage medium | |
CN109002364A (en) | Optimization method, electronic device and the readable storage medium storing program for executing of interprocess communication | |
CN111913792B (en) | Service processing method and device | |
CN111290842A (en) | Task execution method and device | |
CN115640113A (en) | Multi-plane flexible scheduling method | |
CN107045452B (en) | Virtual machine scheduling method and device | |
CN112486638A (en) | Method, apparatus, device and storage medium for executing processing task | |
CN111724262B (en) | Subsequent package query system of application server and working method thereof | |
CN114924888A (en) | Resource allocation method, data processing method, device, equipment and storage medium | |
CN113055199B (en) | Gateway access method and device and gateway equipment | |
CN112328387A (en) | Multi-tenant-oriented micro-service resource scheduling method | |
CN111866159A (en) | Method, system, device and storage medium for calling artificial intelligence service | |
CN113254143A (en) | Virtual network function network element arranging and scheduling method, device and system | |
CN115168057B (en) | Resource scheduling method and device based on k8s cluster |
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 | ||
CP03 | Change of name, title or address |
Address after: 100086 Beijing city Haidian District Shuangyushu Academy Road No. 44 Patentee after: China Film Science and Technology Research Institute (Film Technology Quality Inspection Institute of the Central Propaganda Department) Address before: 100086 No. 44 South Road, Haidian District Academy of Sciences, Beijing Patentee before: CHINA FILM SCIENCE AND TECHNOLOGY INST. |
|
CP03 | Change of name, title or address |