CN113157415B - Farm rendering method, device, electronic equipment and storage medium - Google Patents

Farm rendering method, device, electronic equipment and storage medium Download PDF

Info

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
Application number
CN202110429893.1A
Other languages
Chinese (zh)
Other versions
CN113157415A (en
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 Film Science And Technology Research Institute Film Technology Quality Inspection Institute Of Central Propaganda Department
Original Assignee
CHINA FILM SCIENCE AND TECHNOLOGY INST
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 FILM SCIENCE AND TECHNOLOGY INST filed Critical CHINA FILM SCIENCE AND TECHNOLOGY INST
Priority to CN202110429893.1A priority Critical patent/CN113157415B/en
Publication of CN113157415A publication Critical patent/CN113157415A/en
Application granted granted Critical
Publication of CN113157415B publication Critical patent/CN113157415B/en
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/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
    • 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
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General 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

Farm rendering method, device, electronic equipment and storage medium
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.
CN202110429893.1A 2021-04-21 2021-04-21 Farm rendering method, device, electronic equipment and storage medium Active CN113157415B (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (8)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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