Cross-platform special effect task scheduling and state synchronization method
By establishing a unified data format and dependency relationship between the DCC software platform and combining machine learning models for task scheduling, data compatibility and synchronization problems in cross-platform film and television special effects production are solved, and task scheduling efficiency and resource utilization are improved.
Patent Information
- Application Number
- CN202510943474.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-07-09
- Publication Date
- 2025-08-08
- Estimated Expiration
- 2045-07-09
AI Technical Summary
In the prior art, cross-platform DCC software platforms have problems such as incompatibility in film and television special effects production, low task scheduling efficiency, and lack of state synchronization, resulting in low collaboration efficiency and low resource utilization.
By obtaining platform special-effect task node data of multiple DCC software platforms, converting it into a unified data format, establishing unified dependency data, and using machine learning models to predict resource requirements, building a ring-free execution sequence to achieve cross-platform task scheduling and state synchronization.
It realizes compatibility between data formats and task node dependencies of multiple DCC software platforms, improves scheduling efficiency and resource utilization, reduces version conflicts, and improves cross-platform collaboration efficiency.
Smart Images

Figure CN120448136A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of digital content production, and in particular to a cross-platform special effect task scheduling and state synchronization method. Background Art
[0002] In film and television special effects production, task scheduling and resource management face the following technical bottlenecks:
[0003] 1. Cross-platform data barriers: Current DCC (Digital Content Creation) software platforms (such as Houdini, Maya, and Nuke) each use a closed DAG (Directed Acyclic Graph) architecture. Data formats and task dependencies are incompatible, resulting in cross-platform collaboration relying on cumbersome format conversion and manual intervention.
[0004] 2. Low task scheduling efficiency: Traditional linear scheduling methods have difficulty handling complex dependencies, lack parallel computing capabilities, and lack intelligent resource allocation. For example, the tidal resource demand of render farms cannot be dynamically matched.
[0005] 3. Lack of status synchronization: When multiple software platforms are produced in parallel, task progress, parameter changes and version control are difficult to synchronize in real time, which can easily lead to version confusion and duplication of work.
[0006] In existing technologies, although some DCC software platforms optimize internal task flows through the DAG architecture (such as Houdini's node-based workflow), they lack a unified cross-platform scheduling solution with a global perspective, resulting in fragmented and inefficient film and television production processes. Summary of the Invention
[0007] In order to solve the above problems, the inventors have made the present invention, which provides a cross-platform special effect task scheduling and state synchronization method, including:
[0008] Acquire platform special effect task node data of multiple DCC software platforms, wherein the platform special effect task node data includes dependency data, completion data, and version data of the platform special effect task nodes;
[0009] Converting the platform special effect task node data of the multiple DCC software platforms into a unified data format;
[0010] Obtaining unified dependency data of the platform special effect task nodes of the multiple DCC software platforms according to the dependency data of the platform special effect task nodes;
[0011] Predicting and obtaining resource demand data of the platform special effect task node;
[0012] Scheduling the platform special effects tasks of the multiple DCC software platforms according to the unified dependency data, completion data, and resource requirement data of the platform special effects task nodes;
[0013] In response to the data change of the platform special effect task node, the unified dependency data, completion data and version data of the platform special effect task node are updated and synchronized through a distributed log system and a version control method.
[0014] Optionally, obtain platform special effects task node data for multiple DCC software platforms, including:
[0015] Get the platform special effect task node DAG of multiple DCC software platforms respectively;
[0016] Determine dependency data of the platform special effect task node according to the platform special effect task node DAG;
[0017] Obtain the completion data and version data of the platform special effect task nodes of multiple DCC software platforms respectively.
[0018] Optionally, determining dependency data of the platform special effect task node according to the platform special effect task node DAG includes:
[0019] Obtain the node in-degree of the platform special effect task node DAG;
[0020] Dependency data of the platform special effect task node is determined according to the node in-degree.
[0021] Optionally, obtaining unified dependency data of the platform special effect task nodes of the multiple DCC software platforms according to the dependency data of the platform special effect task nodes includes:
[0022] Determining, from the platform special effect task nodes of the multiple DCC software platforms, a platform special effect task node having a cross-platform dependency relationship based on the data transfer relationship between the multiple DCC software platforms, and adding the corresponding cross-platform dependency data of the platform special effect task node to the dependency data of the corresponding platform special effect task node;
[0023] The unified dependency data of the platform special effect task nodes of the multiple DCC software platforms are determined according to the dependency data of the platform special effect task nodes with the cross-platform dependency data added thereto.
[0024] Optionally, the cross-platform special effect task scheduling and state synchronization method further includes:
[0025] determining an acyclic execution sequence of the platform special effect task nodes according to unified dependency data of the platform special effect task nodes of the plurality of DCC software platforms;
[0026] If a platform special effect task node is executed incorrectly, fault-tolerant recovery is performed based on the position and execution order of the platform special effect task node that is executed incorrectly in the acyclic execution sequence.
[0027] Optionally, predicting resource demand data of the platform special effect task node includes:
[0028] Obtaining platform special effect task node types of the multiple DCC software platforms;
[0029] Set initial values for resource requirement data of different types of platform special effect task nodes;
[0030] According to the resource demand data of multiple executed platform special effect task nodes of the same type, the resource demand data of the unexecuted platform special effect task nodes of the same type are corrected to obtain the resource demand data of the platform special effect task nodes.
[0031] Optionally, scheduling the platform special effects tasks of the multiple DCC software platforms according to the unified dependency data, completion data, and resource requirement data of the platform special effects task nodes includes:
[0032] Constructing a unified DAG of the multiple DCC software platforms according to the unified dependency data of the platform special effect task nodes;
[0033] Sorting the platform special effect task nodes sorted and arranged in parallel in the unified DAG according to the completion data of the platform special effect task nodes in descending order of completion, to obtain a first scheduling sequence of the platform special effect task nodes sorted and arranged in parallel in the unified DAG;
[0034] According to the resource demand data of the platform special effect task nodes and the system resource status, the platform special effect task nodes that are sorted and arranged in parallel in the unified DAG are sorted in the order of increasing proportion of resource demand to system idle resources to obtain a second scheduling sequence;
[0035] Predicting resource consumption data of the special effect task executed according to the first scheduling sequence over time to obtain a first time series vector;
[0036] Predicting resource consumption data of the special effect task executed according to the second scheduling sequence over time to obtain a second time series vector;
[0037] Predict system resource data that changes over time and obtain system time series vectors;
[0038] According to multiple continuous time windows, split the first time series vector, the second time series vector, and the system time series vector into sub-vectors under the same time window to obtain multiple first time series sub-vectors, second time series sub-vectors, and system time series sub-vectors;
[0039] Compare the resource conditions of the first timing sub-vector, the second timing sub-vector, and the system timing sub-vector in the same time window, select the timing sub-vector whose resource consumption data does not exceed the system resource data of the system timing sub-vector, and correct the system resource data of the system timing sub-vector in the next time window based on the releasable resource data in the resource consumption data of the selected timing sub-vector;
[0040] Determining a total amount of resource consumption corresponding to the first timing vector in the plurality of consecutive time windows;
[0041] Determining a total amount of resource consumption corresponding to the second time series vector in the plurality of consecutive time windows;
[0042] A scheduling sequence corresponding to a timing vector with a smaller total resource consumption is selected to schedule the platform special effect tasks of the multiple DCC software platforms.
[0043] Optionally, scheduling the platform special effects tasks of the multiple DCC software platforms according to the unified dependency data, completion data, and resource requirement data of the platform special effects task nodes includes:
[0044] Constructing a unified DAG of the multiple DCC software platforms according to the unified dependency data of the platform special effect task nodes;
[0045] Sorting the platform special effect task nodes that are sorted and arranged in parallel in the unified DAG to obtain multiple acyclic execution sequences;
[0046] Using a first machine learning model based on a Markov chain, predicting resource consumption data of the multiple acyclic execution sequences that change over time to obtain multiple third time series vectors;
[0047] An acyclic execution sequence corresponding to a third timing vector with a smaller total resource consumption is selected to schedule the platform special effect tasks of the multiple DCC software platforms.
[0048] Optionally, scheduling the platform special effects tasks of the multiple DCC software platforms according to the unified dependency data, completion data, and resource requirement data of the platform special effects task nodes includes:
[0049] Constructing a unified DAG of the multiple DCC software platforms according to the unified dependency data of the platform special effect task nodes;
[0050] Using a second machine learning model based on a Markov chain, dynamically assigning priorities to the platform special effect task nodes sorted and arranged in parallel in the unified DAG according to their historical task durations and system resource occupancy rates, thereby obtaining a corresponding acyclic execution sequence;
[0051] The platform special effect tasks of the multiple DCC software platforms are scheduled according to the acyclic execution sequence.
[0052] Optionally, the cross-platform special effect task scheduling and state synchronization method further includes:
[0053] The unified data format includes a scene description bit and a parameter bit;
[0054] The scene description part adopts USD format, and the parameter part adopts JSON format and / or YAML format.
[0055] The beneficial effects of the above technical solution provided by the present invention include at least:
[0056] The present invention converts the platform special effects task node data of multiple DCC software platforms into a unified data format, obtains the unified dependency data of the platform special effects task nodes of the multiple DCC software platforms according to the dependency data of the platform special effects task nodes, can make the data formats of multiple DCC software platforms compatible with the dependency relationship of task nodes, and is convenient for unified scheduling and synchronization; Based on multiple dimensions such as unified dependency data, completion data and resource demand data, the platform special effects tasks of multiple DCC software platforms are scheduled, and compared with the traditional linear scheduling method, more complex task node dependencies can be handled, scheduling efficiency is improved, and the ability of multiple DCC software platforms to work in parallel is enhanced; When the platform special effects task node data changes, the platform special effects task node data is updated and synchronized through a distributed log system and a version control method, and can keep the version consistent when multiple DCC software platforms work in parallel, reducing duplication of work and version conflicts. The present invention can uniformly schedule special effects tasks across platforms, support seamless integration of multiple DCC software, contribute to efficient integration of special effects production processes, improve cross-platform collaboration efficiency and resource utilization, and is applicable to digital content production fields such as movies and games.
[0057] Other features and advantages of the present invention will be described in the following description, and in part will become apparent from the description, or will be understood by practicing the present invention. The purposes and other advantages of the present invention can be realized and obtained by the structures particularly pointed out in the written description, claims, and drawings.
[0058] The technical solution of the present invention is further described in detail below through the accompanying drawings and embodiments. BRIEF DESCRIPTION OF THE DRAWINGS
[0059] The accompanying drawings are used to provide a further understanding of the present invention and constitute a part of the specification. Together with the embodiments of the present invention, they are used to explain the present invention and do not constitute a limitation of the present invention. In the accompanying drawings:
[0060] Figure 1 This is a flow chart of a method for scheduling and synchronizing special effects tasks across platforms according to an embodiment of the present invention;
[0061] Figure 2 This is a block diagram of a cross-platform special effects task scheduling and state synchronization system in an embodiment of the present invention. DETAILED DESCRIPTION
[0062] Exemplary embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. Although exemplary embodiments of the present disclosure are shown in the accompanying drawings, it should be understood that the present disclosure can be implemented in various forms and should not be limited by the embodiments set forth herein. Rather, these embodiments are provided to enable a more thorough understanding of the present disclosure and to fully convey the scope of the present disclosure to those skilled in the art.
[0063] In order to solve the problems existing in the prior art, the embodiment of the present invention provides a cross-platform special effect task scheduling and state synchronization method, the process of which is as follows: Figure 1 As shown, the following steps are included:
[0064] Step 1: Obtain platform special effect task node data of multiple DCC software platforms, wherein the platform special effect task node data includes dependency data, completion data and version data of the platform special effect task node; convert the platform special effect task node data of the multiple DCC software platforms into a unified data format; and obtain unified dependency data of the platform special effect task nodes of the multiple DCC software platforms based on the dependency data of the platform special effect task nodes.
[0065] DCC software platforms for digital content creation cover a range of industries, including film and television production, game development, and industrial visualization. Their core technical architecture includes a 3D modeling toolchain, a material and rendering system, and workflow integration. Software products such as Houdini, Maya, and Nuke, for example, fall under this category. These platforms handle tasks such as 2D / 3D editing and synthesis, dynamic / interactive content creation, image editing, and rendering. Special effects tasks refer to those handled by DCC software platforms for film and television special effects, as well as game special effects.
[0066] In step 1, by converting the platform special effects task node data of multiple DCC software platforms into a unified data format, and obtaining the unified dependency data of the platform special effects task nodes of the multiple DCC software platforms based on the dependency data of the platform special effects task nodes, the data formats and dependency relationships of the task nodes of the multiple DCC software platforms can be made compatible, thereby facilitating unified scheduling and synchronization.
[0067] In some specific embodiments, obtaining platform special effects task node data for multiple DCC software platforms includes: obtaining the DAGs of the platform special effects task nodes for each of the multiple DCC software platforms; determining dependency data for the platform special effects task nodes based on the DAGs; and obtaining completion data and version data for the platform special effects task nodes for each of the multiple DCC software platforms. A DAG is a data structure representing the sequential dependencies between nodes and is a directed graph. While the dependencies of some nodes can be determined based on the DAG, some nodes may have parallel dependencies, and the DAG does not show the dependencies between these parallel nodes. The node data and log systems in each DCC software platform are then invoked to obtain completion data and version data for the platform special effects task nodes for the multiple DCC software platforms. The dependency data, completion data, and version data for the platform special effects task nodes for the multiple DCC software platforms obtained in this embodiment form the basis for subsequent technical measures such as obtaining unified dependency data, responding to node data changes, and maintaining version consistency.
[0068] Furthermore, in some specific embodiments, the dependency data of the platform special effect task node is determined based on the platform special effect task node DAG, including: obtaining the node in-degree of the platform special effect task node DAG; and determining the dependency data of the platform special effect task node based on the node in-degree. In the DAG, the in-degree of a node is equal to the total number of edges directly pointing to it from all predecessor nodes. The in-degree of a node can also be understood as the sum of the number of times the point is the end point of the edge in the DAG graph. For example, in the task scheduling DAG, if node A points to node B, then task B depends on task A. Because of this dependency, the out-degree of A increases by 1, and the in-degree of B also increases by 1. Nodes with an in-degree of 0 are the starting point of topological sorting because they have no predecessor dependencies. By continuously removing nodes with an in-degree of 0 and updating the in-degree of their successor nodes, a legal topological sequence can be generated. By obtaining the dependency data of the platform special effect task node of each platform, the unified dependency data of the platform special effect task nodes of multiple platforms can be determined while considering the data dependencies between platforms.
[0069] Furthermore, in some specific embodiments, the dependency data of the platform special effect task nodes is determined based on the node in-degree, including: using the Kahn algorithm to perform topological sorting to obtain the dependency data of the platform special effect task nodes. The steps of the Kahn algorithm include: counting the in-degree of all nodes in the DAG and enqueuing nodes with an in-degree of 0; sequentially removing queue nodes, reducing the in-degree of their successor nodes, and enqueuing nodes if the in-degree becomes 0; if the number of nodes ultimately processed is equal to the total number of nodes, the DAG is acyclic, and a corresponding acyclic execution sequence is obtained; otherwise, the obtained DAG has a cycle, an error occurs, and the DAG needs to be re-acquired.
[0070] Furthermore, in other specific embodiments, the dependency data of the platform special effect task node is determined based on the platform special effect task node DAG, including: based on the depth-first search (DFS) algorithm, marking a platform special effect task node DAG for post-order traversal, traversing the DAG node through DFS, and recording the completion time, arranging in reverse order to obtain the corresponding topological sequence, and determining the dependency data of the platform special effect task node based on the topological sequence.
[0071] In some specific embodiments, obtaining unified dependency data of the platform special effect task nodes of the plurality of DCC software platforms according to the dependency data of the platform special effect task nodes includes:
[0072] According to the data transmission relationship between the multiple DCC software platforms, the platform special effects task nodes with cross-platform dependencies are determined from the platform special effects task nodes of the multiple DCC software platforms, and their corresponding cross-platform dependency data are added to the dependency data of the corresponding platform special effects task nodes; according to the dependency data of the platform special effects task nodes with the cross-platform dependency data added, the unified dependency data of the platform special effects task nodes of the multiple DCC software platforms are determined.
[0073] For example, platform a includes nodes a1, a2, and a3, and its acyclic execution sequence is (a1, a2, a3); platform b includes nodes b1 and b2, and its acyclic execution sequence is (b1, b2). Platforms a and b have a data transfer relationship, and a2 depends on the data transfer of b1. Then the dependency data of a2 includes nodes a1 and b1. Therefore, the unified dependency data of the platform special effect task nodes of platforms a and b can be expressed as the acyclic execution sequence (a1, b1, a2, b2, a3), where nodes a1 and b1 need to be before node a2. Nodes a1 and b1 have no dependency and are parallel-sorted nodes, so the unified dependency data in this example can also be expressed as the acyclic execution sequence (b1, a1, a2, b2, a3). Similarly, nodes b2 and a3 have no dependency and are parallel-sorted nodes. The order of nodes b2 and a3 in the acyclic execution sequence corresponding to the unified dependency data can be changed.
[0074] In some specific embodiments, the cross-platform special effects task scheduling and state synchronization method further includes: determining an acyclic execution sequence of the platform special effects task nodes based on the unified dependency data of the platform special effects task nodes of the multiple DCC software platforms; if the platform special effects task node executes incorrectly, performing fault-tolerant recovery based on the position and execution order of the platform special effects task node that executed incorrectly in the acyclic execution sequence. In this embodiment, the task node that executed incorrectly is rolled back according to the acyclic execution sequence, which can achieve fault-tolerant recovery of the task node without destroying the data dependency relationship of the cause.
[0075] Step 2: Predict resource demand data for the platform special effects task nodes; schedule the platform special effects tasks for the multiple DCC software platforms based on the unified dependency data, completion data, and resource demand data for the platform special effects task nodes. Scheduling platform special effects tasks for multiple DCC software platforms based on multiple dimensions, including unified dependency data, completion data, and resource demand data, can handle more complex task node dependencies than traditional linear scheduling, improving scheduling efficiency and enhancing the ability of multiple DCC software platforms to work in parallel.
[0076] In some specific embodiments, predicting and obtaining resource demand data of the platform special effect task node includes:
[0077] Obtain the platform special effects task node types of the multiple DCC software platforms, for example, the platform special effects task node types include two-dimensional / three-dimensional editing and synthesis, dynamic / interactive content creation, image editing, and rendering; set initial values for the resource requirement data of different types of platform special effects task nodes, wherein different types of task nodes require different types and amounts of system resources, and therefore, based on the platform special effects task node types, set initial values for the resource requirement data of different types of platform special effects task nodes, which can represent the resource requirements of different types of platform special effects task nodes. The initial values can adopt clustering values such as average values and medians; based on the resource requirement data of multiple executed platform special effects task nodes of the same type, The resource requirement data of the unexecuted platform special effects task nodes of the same type are corrected to obtain the resource requirement data of the platform special effects task nodes. For example, the resource requirement data of the executed rendering class platform special effects task nodes are array ζ, and each element in array ζ represents the demand for different resource types. According to the difference between each element in array ζ and its corresponding initial value, the initial value of the resource requirement data of the same type platform special effects task nodes is corrected. Then, according to the difference between the resource requirement data of the next executed rendering class platform special effects task node and the resource requirement data of the current rendering class platform special effects task node, the next data correction of the resource requirement data of the rendering class platform special effects task node is performed.
[0078] In other embodiments, a machine learning model with an LSTM (Long Short-Term Memory) architecture may be used to predict resource demand data for platform special effects task nodes, including: aligning historical resource usage data (CPU / GPU utilization, memory usage, etc.) by timestamp to construct a time series with a preset time length (e.g., 180 seconds) as the granularity; integrating external features such as task queue length, concurrent task type, and network bandwidth to form a multivariate input; using Min-Max normalization to eliminate dimensional differences, and normalizing key features to the [0,1] interval; inputting time series resource data into the main channel of the LSTM, and inputting the task scheduling event sequence into the auxiliary channel of the LSTM, and capturing the long-term dependency of the resource requirements of the bidirectional LSTM unit through a gating mechanism; establishing a training set and a validation set based on the above input data, using the training set to train the machine learning model with the LSTM architecture, and using the validation set to verify the accuracy of the time series output by the machine learning model with the LSTM architecture; when the training termination condition is reached or the verification condition is passed, a resource demand data prediction model for the platform special effects task node that has been trained is obtained. The new time series is used to update the parameters of the resource demand data prediction model.
[0079] According to the unified dependency data, completion data and resource requirement data of the platform special effect task nodes, the platform special effect tasks of the multiple DCC software platforms are scheduled, including the following three methods, and one of them can be selected for implementation.
[0080] The first method, in some specific embodiments, schedules the platform special effects tasks of the multiple DCC software platforms according to the unified dependency data, completion data, and resource requirement data of the platform special effects task nodes, including:
[0081] Constructing a unified DAG of the multiple DCC software platforms according to the unified dependency data of the platform special effect task nodes;
[0082] According to the completion data of the platform special effect task nodes, the platform special effect task nodes sorted and parallel in the unified DAG are sorted in descending order of completion to obtain a first scheduling sequence of the platform special effect task nodes sorted and parallel in the unified DAG; since after the completion reaches 100%, the system recyclable resources occupied by the task node can be released, increasing the supply of system resources, so in the first scheduling sequence, the special effect task nodes with high completion are executed first.
[0083] According to the resource demand data of the platform special effect task nodes and the system resource status, the platform special effect task nodes sorted and arranged in parallel in the unified DAG are sorted in the order of increasing proportion of resource demand to system idle resources to obtain a second scheduling sequence; the task nodes with a lower proportion of resource demand to system idle resources occupy fewer resources during execution and have less impact on other task nodes. Therefore, in the second scheduling sequence, the special effect task nodes with a smaller proportion of resource demand are executed first.
[0084] Predict the resource consumption data that changes over time when executing the special effects task based on the first scheduling sequence to obtain a first time series vector; for example, use a machine learning model with an LSTM or Bi-LSTM architecture for prediction. The detailed prediction process can refer to the aforementioned steps of using an LSTM architecture machine learning model to predict the resource demand data of the platform special effects task node.
[0085] Predict the resource consumption data that changes over time when executing the special effects task based on the second scheduling sequence to obtain a second time series vector; for example, use a machine learning model with an LSTM or Bi-LSTM architecture for prediction. The detailed prediction process can refer to the aforementioned steps of using an LSTM architecture machine learning model to predict the resource demand data of the platform special effects task node.
[0086] Predict system resource data that changes over time to obtain a system time series vector. For example, use a machine learning model with an LSTM or Bi-LSTM architecture for prediction. For detailed prediction process, refer to the steps for using an LSTM architecture machine learning model to predict the resource demand data of platform special effects task nodes.
[0087] According to multiple continuous time windows, the first time series vector, the second time series vector, and the system time series vector are split into sub-vectors under the same time window to obtain multiple first time series sub-vectors, second time series sub-vectors, and system time series sub-vectors; for example, a first time series vector with a time length of 600 seconds is split into 10 consecutive first time series sub-vectors according to a time window of 60 seconds.
[0088] Compare the resource conditions of the first timing sub-vector, the second timing sub-vector, and the system timing sub-vector in the same time window, select the timing sub-vector whose resource consumption data does not exceed the system resource data of the system timing sub-vector, and correct the system resource data of the system timing sub-vector in the next time window according to the releasable resource data in the resource consumption data of the selected timing sub-vector; for example, obtain the resource conditions of the first timing sub-vector, the second timing sub-vector, and the system timing sub-vector corresponding to the second 60-second time window, where the resource consumption data corresponding to the first timing sub-vector in the second 60-second time window exceeds the system resource data in the same time window. If the resource consumption data corresponding to the second timing sub-vector in the second 60-second time window does not exceed the system resource data of the system timing sub-vector in the same time window, the second timing sub-vector corresponding to the second 60-second time window is selected, and the recyclable system resources involved in the second timing sub-vector are released to the system timing sub-vector of the third 60-second window, and the system resource data of the system timing sub-vector is corrected. For example, if the recyclable system resources involved in the second timing sub-vector are 8G storage space, 8G storage space is added to the system resource data of the system timing sub-vector of the third 60-second window.
[0089] Determining a total amount of resource consumption corresponding to the first timing vector in the plurality of consecutive time windows;
[0090] Determining a total amount of resource consumption corresponding to the second time series vector in the plurality of consecutive time windows;
[0091] A scheduling sequence corresponding to a timing vector with a smaller total resource consumption is selected from the first scheduling sequence and the second scheduling sequence to schedule the platform special effect tasks of the multiple DCC software platforms.
[0092] The first method mentioned above takes into account both completion priority and priority for less resource consumption, and also takes into account the system resources released by the execution time as time changes. It can be applied to both completion priority and priority for less resource consumption, and can achieve a more complex scheduling process than traditional linear scheduling. It can also dynamically update resource conditions and dynamically allocate the priority of special effect task nodes to achieve more accurate and intelligent platform special effect task scheduling.
[0093] The second method, in some specific embodiments, schedules the platform special effects tasks of the multiple DCC software platforms according to the unified dependency data, completion data, and resource requirement data of the platform special effects task nodes, including:
[0094] Constructing a unified DAG of the multiple DCC software platforms according to the unified dependency data of the platform special effect task nodes;
[0095] Sorting the platform special effect task nodes that are sorted and arranged in parallel in the unified DAG to obtain a plurality of acyclic execution sequences, wherein the plurality of acyclic execution sequences include acyclic execution sequences sorted in descending order of completion according to completion data of the platform special effect task nodes;
[0096] Using a first machine learning model based on a Markov chain, predicting the resource consumption data of the multiple acyclic execution sequences that change over time to obtain multiple third time series vectors; each first machine learning model corresponds to an acyclic execution sequence and a third time series vector;
[0097] An acyclic execution sequence corresponding to a third timing vector with a smaller total resource consumption is selected to schedule the platform special effect tasks of the multiple DCC software platforms.
[0098] Reinforcement learning is a machine learning model based on Markov chains. It introduces action and reward mechanisms and expands the Markov chain machine learning application model. Using the reinforcement learning model, the resource consumption data of the multiple acyclic execution sequences that change over time is predicted to obtain multiple third time series vectors. The specific process is as follows:
[0099] The agent continuously receives real-time resource consumption data from multiple task sequences, including metrics such as CPU utilization, memory usage, and disk I / O. It also records task attributes (such as task type, number of concurrent tasks, and dependencies) at each point in time. After cleaning and normalizing this data, it forms multi-dimensional state information with timestamps, reflecting the current system resource load and task execution progress. For example, the state at a given moment might include information such as "CPU utilization 75%, memory usage 60%, and 5 parallel tasks executing."
[0100] The agent selects the optimal forecasting solution from a predefined strategy library based on its current state. This strategy library includes various forecasting models (such as LSTM and Prophet) and their parameter combinations. For example, an LSTM model with high-frequency sampling (e.g., every minute) can capture instantaneous changes; an ARIMA (Autoregressive Integrated Moving Average Model) model with seasonal decomposition can be used to predict hourly trends; or an isolation forest algorithm can be used to detect sudden resource peaks.
[0101] The strategy selection is based on the current system load, task queue length, and historical prediction errors. For example, when the load is high, models that are sensitive to sudden fluctuations are given priority.
[0102] After selecting a strategy, the agent generates resource consumption forecasts for the next period (e.g., the next 24 hours). Each forecast value is accompanied by a corresponding timestamp, forming a preliminary time series vector. For example, a forecast might include, "GPU utilization is expected to increase from 75% to 85% and memory usage from 60% to 70% over the next hour." These forecasts are compared with actual resource usage data in the real environment, and the prediction error (e.g., mean squared error) is calculated as feedback.
[0103] The agent adjusts its policy weights based on feedback signals. If a model accurately predicts over multiple consecutive time steps, its application priority is increased. If the prediction deviation continues to increase, parameter fine-tuning or switching to another model is triggered. For example, when a resource anomaly caused by a memory leak is detected, the system automatically enhances the Prophet model's ability to identify periodic leak patterns. This process accelerates policy convergence by storing historical interaction data through an experience replay mechanism.
[0104] After multiple rounds of interactive optimization, the intelligent agent integrates the prediction advantages of each strategy and generates multiple third time series vectors.
[0105] By adopting the above reinforcement learning model, dynamic strategy selection and feedback-driven optimization can significantly improve the prediction accuracy of resource requirements for complex task sequences.
[0106] In the second method, based on multiple acyclic execution sequences, the reinforcement learning model is trained and inferred respectively to obtain the corresponding third time series vectors. Then, the total resource consumption of different acyclic execution sequences is compared. The acyclic execution sequence with the least resource consumption can be selected from various acyclic execution sequences, which facilitates the control and management of the total resource consumption.
[0107] The third method, in some specific embodiments, schedules the platform special effects tasks of the multiple DCC software platforms according to the unified dependency data, completion data, and resource requirement data of the platform special effects task nodes, including:
[0108] Constructing a unified DAG of the multiple DCC software platforms according to the unified dependency data of the platform special effect task nodes;
[0109] Using a second machine learning model based on a Markov chain, dynamically assigning priorities to the platform special effect task nodes sorted and arranged in parallel in the unified DAG according to the completion data and resource requirement data of the platform special effect task nodes sorted and arranged in parallel in the unified DAG, thereby obtaining a corresponding acyclic execution sequence;
[0110] The platform special effect tasks of the multiple DCC software platforms are scheduled according to the acyclic execution sequence.
[0111] Among them, a second machine learning model based on Markov chain is used to dynamically allocate the priorities of the platform special effect task nodes sorted and arranged in parallel in the unified DAG according to the completion data and resource requirement data of the platform special effect task nodes sorted and arranged in parallel in the unified DAG, and obtain a corresponding acyclic execution sequence, including:
[0112] The system captures the state characteristics of each platform special effects task node, including the current completion level, resource consumption rate, remaining execution time, and dependency satisfaction. The system monitors the state changes of each node in real time and constructs a state transition probability matrix, which reflects the probability of migration between adjacent states. For example, a high-resource consumption task may transition from the "Running" state to the "Waiting Queue" state due to resource competition.
[0113] During the dynamic priority calculation phase, the second machine learning model generates a priority score based on state transition probabilities and resource demand weights. For parallel task nodes with similar resource requirements, nodes with the highest dependency on subsequent tasks are prioritized. For tasks with resource conflicts, state transition path analysis is used to select the execution order that minimizes the impact on global resource utilization. For example, when GPU resources are limited, tasks that consume video memory but have low computational requirements are prioritized to avoid stalling the entire pipeline due to large tasks.
[0114] To ensure the generation of loop-free execution sequences, the second machine learning model dynamically maintains the task dependency graph topology during the state transition process. After each priority adjustment, a depth-first search is used to verify whether the execution path has circular dependencies. If a loop is detected, the backtracking mechanism is triggered to recalculate the priorities of the affected nodes. Historical scheduling data is fed back to the second machine learning model based on the Markov chain through a reinforcement learning mechanism, continuously optimizing the state transition probability matrix so that the system gradually adapts to the resource consumption patterns of different types of special effects tasks. When this method is applied in some film and television rendering scenarios, it can improve the execution sequence generation efficiency of complex special effects synthesis tasks by 40% and reduce the resource fragmentation rate by 28%.
[0115] The third method considers both the completion and resource requirements of the platform's special effects task nodes, without considering total resource consumption. Compared to the first and second methods, the third method is more suitable for scenarios with ample system resources. The first method strikes a good balance between completion, resource consumption, and system resources, while the second method focuses more on total resource consumption and is more suitable for scenarios with limited resources.
[0116] The three aforementioned methods for scheduling effects tasks across multiple DCC software platforms based on unified dependency data, completion data, and resource demand data all enable unified scheduling of effects tasks across platforms, helping to efficiently integrate the effects production process and improve cross-platform collaboration. Intelligent scheduling reduces non-creative time (such as waiting and rework), increases the per capita output of effects staff, and dynamically allocates rendering tasks to idle nodes, improving resource utilization.
[0117] Step 3: In response to the data change of the platform special effect task node, the unified dependency data, completion data and version data of the platform special effect task node are updated and synchronized through the distributed log system and version control method.
[0118] When the platform special effects task node data changes, the platform special effects task node data is updated and synchronized through the distributed log system and version control method. This can keep the data version consistent when multiple DCC software platforms work in parallel, reduce duplication of work, and provide support for the drag-and-drop construction and parameter configuration of cross-platform task node dependency chains.
[0119] In some specific embodiments, the cross-platform special effects task scheduling and state synchronization method further includes: the unified data format includes a scene description field and a parameter field; the scene description field uses the USD (Universal Scene Description) format, and the parameter field uses the JSON (JavaScript Object Notation) format and / or the YAML (YAML Ain't Markup Language) format. The USD format supports complex 3D scenes and has strong cross-platform compatibility, making it suitable for describing complex graphic data such as 3D scenes, models, and animations. The JSON format is lightweight and efficient, supporting a wide range of languages and frameworks, and is suitable for Web API data transmission, front-end and back-end communication, and mobile application data storage. The YAML format is highly readable and supports comments and complex data structures, making it suitable for configuration files (such as Kubernetes and Docker Compose) and parameter settings in software development. The scene description field is used to store 3D scenes, models, and animations, while the parameter field is used to store dependency data, completion data, version data, resource requirement data, and so on.
[0120] In the above-mentioned method of the present embodiment, by converting the platform special effect task node data of multiple DCC software platforms into a unified data format, according to the dependency data of the platform special effect task node, the unified dependency data of the platform special effect task node of the multiple DCC software platforms is obtained, the data format of the multiple DCC software platforms and the dependency relationship of the task node can be made compatible, which is convenient for unified scheduling and synchronization; based on multiple dimensions such as unified dependency data, completion data and resource demand data, the platform special effect tasks of multiple DCC software platforms are scheduled, and compared with the traditional linear scheduling method, more complex task node dependencies can be handled, scheduling efficiency is improved, and the ability of multiple DCC software platforms to work in parallel is enhanced; when the platform special effect task node data changes, the platform special effect task node data is updated and synchronized through the distributed log system and version control method, so that when multiple DCC software platforms work in parallel, the data versions of multiple DCC software platforms can be kept consistent, reducing duplication of work and version conflicts. The present invention can uniformly schedule special effect tasks across platforms, support seamless integration of multiple DCC software, contribute to efficient integration of special effect production processes, improve cross-platform collaboration efficiency and resource utilization, and is suitable for digital content production fields such as movies and games.
[0121] Those skilled in the art can change the above sequence without departing from the scope of protection of the present invention.
[0122] Another embodiment of the present invention provides a cross-platform special effect task scheduling and state synchronization system, the structure of which is as follows: Figure 2As shown, it includes: user interface layer, logic control layer, computing engine layer and data storage layer;
[0123] User interface layer: includes node editor, parameter panel and visualization tools, provides a visual node editor, and supports drag-and-drop construction and parameter configuration of cross-platform task dependency chains.
[0124] Logic control layer: includes dependency parsing module, task scheduler and dynamic update module, integrates Kahn algorithm to implement topological sorting, dynamically adjusts task queue; combines machine learning to predict resource demand and optimize scheduling strategy.
[0125] Computing engine layer: includes rendering engine module, physics engine module and data cache module. Through the global scheduling engine, it calls the local rendering engine of each DCC software (such as Karma of Houdini and Arnold of Maya) and isolates the operating environment through containerization technology.
[0126] Data storage layer: includes node data module, resource library and log system, uses USD+JSON hybrid format to store scene data and node logic, and combines distributed database (such as Redis) to achieve state synchronization.
[0127] The key algorithms implemented in the above cross-platform special effects task scheduling and state synchronization system include:
[0128] Dynamic topological sorting: Based on task insertion or parameter changes, the DAG dependency chain is updated in real time, and a loop-free execution sequence is generated using the Kahn algorithm.
[0129] Resource scheduling strategy: Based on the reinforcement learning model, the rendering node priority is dynamically allocated according to the historical task duration and resource utilization.
[0130] In the cross-platform synchronization process, taking Maya and Nuke as an example, when the character animation parameters in Maya change, the engine automatically parses the dependent nodes (such as fluid effects in Houdini) and triggers local recalculation; the updated results are synchronized to the Nuke synthesis node via USD format to ensure the consistency of the final rendered version.
[0131] Regarding the cross-platform special effect task scheduling and state synchronization system in the above embodiment, its specific implementation method has been described in detail in the embodiment of the method, and will not be elaborated here.
[0132] Any modifications, supplements and equivalent substitutions made within the scope of the principles of the present invention shall still fall within the scope of the patent coverage of the present invention.
[0133] The “first”, “second”, etc. mentioned above do not indicate a sequence of precedence, but only indicate the distinction between different features.
Claims
1. A cross-platform special effect task scheduling and state synchronization method, characterized in that: The method comprises: Acquire platform special effect task node data of multiple DCC software platforms, wherein the platform special effect task node data includes dependency data, completion data, and version data of the platform special effect task nodes; Converting the platform special effect task node data of the multiple DCC software platforms into a unified data format; Obtaining unified dependency data of the platform special effect task nodes of the multiple DCC software platforms according to the dependency data of the platform special effect task nodes; Predicting and obtaining resource demand data of the platform special effect task node; Scheduling the platform special effects tasks of the multiple DCC software platforms according to the unified dependency data, completion data, and resource requirement data of the platform special effects task nodes; In response to the data change of the platform special effect task node, the unified dependency data, completion data and version data of the platform special effect task node are updated and synchronized through a distributed log system and a version control method.
2. The method according to claim 1, wherein Obtain platform special effects task node data for multiple DCC software platforms, including: Get the platform special effect task node DAG of multiple DCC software platforms respectively; Determine dependency data of the platform special effect task node according to the platform special effect task node DAG; Obtain the completion data and version data of the platform special effect task nodes of multiple DCC software platforms respectively.
3. The method according to claim 2, wherein Determining dependency data of the platform special effect task node according to the platform special effect task node DAG includes: Obtain the node in-degree of the platform special effect task node DAG; Dependency data of the platform special effect task node is determined according to the node in-degree.
4. The method according to claim 1, wherein Obtaining unified dependency data of the platform special effect task nodes of the multiple DCC software platforms according to the dependency data of the platform special effect task nodes includes: Determining, from the platform special effect task nodes of the multiple DCC software platforms, a platform special effect task node having a cross-platform dependency relationship based on the data transfer relationship between the multiple DCC software platforms, and adding the corresponding cross-platform dependency data of the platform special effect task node to the dependency data of the corresponding platform special effect task node; The unified dependency data of the platform special effect task nodes of the multiple DCC software platforms are determined according to the dependency data of the platform special effect task nodes with the cross-platform dependency data added thereto.
5. The method according to claim 1, wherein The cross-platform special effect task scheduling and state synchronization method further includes: determining an acyclic execution sequence of the platform special effect task nodes according to unified dependency data of the platform special effect task nodes of the plurality of DCC software platforms; If a platform special effect task node is executed incorrectly, fault-tolerant recovery is performed based on the position and execution order of the platform special effect task node that is executed incorrectly in the acyclic execution sequence.
6. The method according to claim 1, wherein The resource demand data of the platform special effect task node is predicted, including: Obtaining platform special effect task node types of the multiple DCC software platforms; Set initial values for resource requirement data of different types of platform special effect task nodes; According to the resource demand data of multiple executed platform special effect task nodes of the same type, the resource demand data of the unexecuted platform special effect task nodes of the same type are corrected to obtain the resource demand data of the platform special effect task nodes.
7. The method according to claim 1, wherein Scheduling the platform special effects tasks of the plurality of DCC software platforms according to the unified dependency data, completion data, and resource requirement data of the platform special effects task nodes includes: Constructing a unified DAG of the multiple DCC software platforms according to the unified dependency data of the platform special effect task nodes; Sorting the platform special effect task nodes sorted and arranged in parallel in the unified DAG according to the completion data of the platform special effect task nodes in descending order of completion, to obtain a first scheduling sequence of the platform special effect task nodes sorted and arranged in parallel in the unified DAG; According to the resource demand data of the platform special effect task nodes and the system resource status, the platform special effect task nodes that are sorted and arranged in parallel in the unified DAG are sorted in the order of increasing proportion of resource demand to system idle resources to obtain a second scheduling sequence; Predicting resource consumption data of the special effect task executed according to the first scheduling sequence over time to obtain a first time series vector; Predicting resource consumption data of the special effect task executed according to the second scheduling sequence over time to obtain a second time series vector; Predict system resource data that changes over time and obtain system time series vectors; According to multiple continuous time windows, split the first time series vector, the second time series vector, and the system time series vector into sub-vectors under the same time window to obtain multiple first time series sub-vectors, second time series sub-vectors, and system time series sub-vectors; Compare the resource conditions of the first timing sub-vector, the second timing sub-vector, and the system timing sub-vector in the same time window, select the timing sub-vector whose resource consumption data does not exceed the system resource data of the system timing sub-vector, and correct the system resource data of the system timing sub-vector in the next time window based on the releasable resource data in the resource consumption data of the selected timing sub-vector; Determining a total amount of resource consumption corresponding to the first timing vector in the plurality of consecutive time windows; Determining a total amount of resource consumption corresponding to the second time series vector in the plurality of consecutive time windows; A scheduling sequence corresponding to a timing vector with a smaller total resource consumption is selected to schedule the platform special effect tasks of the multiple DCC software platforms.
8. The method according to claim 1, wherein Scheduling the platform special effects tasks of the plurality of DCC software platforms according to the unified dependency data, completion data, and resource requirement data of the platform special effects task nodes includes: Constructing a unified DAG of the multiple DCC software platforms according to the unified dependency data of the platform special effect task nodes; Sorting the platform special effect task nodes that are sorted and arranged in parallel in the unified DAG to obtain a plurality of acyclic execution sequences, wherein the plurality of acyclic execution sequences include acyclic execution sequences sorted in descending order of completion according to completion data of the platform special effect task nodes; Using a first machine learning model based on a Markov chain, predicting resource consumption data of the multiple acyclic execution sequences that change over time to obtain multiple third time series vectors; An acyclic execution sequence corresponding to a third timing vector with a smaller total resource consumption is selected to schedule the platform special effect tasks of the multiple DCC software platforms.
9. The method according to claim 1, wherein Scheduling the platform special effects tasks of the multiple DCC software platforms according to the unified dependency data, completion data, and resource requirement data of the platform special effects task nodes includes: Constructing a unified DAG of the multiple DCC software platforms according to the unified dependency data of the platform special effect task nodes; Using a second machine learning model based on a Markov chain, dynamically assigning priorities to the platform special effect task nodes sorted and arranged in parallel in the unified DAG according to the completion data and resource requirement data of the platform special effect task nodes sorted and arranged in parallel in the unified DAG, thereby obtaining a corresponding acyclic execution sequence; The platform special effect tasks of the multiple DCC software platforms are scheduled according to the acyclic execution sequence.
10. The method according to any one of claims 1 to 9, characterized in that: The cross-platform special effect task scheduling and state synchronization method further includes: The unified data format includes a scene description bit and a parameter bit; The scene description part adopts USD format, and the parameter part adopts JSON format and / or YAML format.
Citation Information
Patent Citations
Data synchronization system in CG production
CN111177266A
Distributed big data workflow task scheduling platform for DAG (Directed Acyclic Graph) calculation
CN114625517A
Computing power resource processing method
CN118069380A
Cloud computing parallel task optimization scheduling method based on priority dependency graph
CN119806776A
DAG task scheduling method and apparatus, device, and storage medium
WO2023241000A1