Open scheduling method for real-time cloud rendering service
By configuring multiple independent scheduling policies and custom scheduling policy sets in the real-time cloud rendering platform, the problems of poor compatibility and insufficient flexibility of scheduling logic in the existing technology are solved, and compatibility of multiple scheduling logics and flexible adjustment of customer business scenarios are achieved.
Patent Information
- Application Number
- CN202510077955.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-01-17
- Publication Date
- 2025-05-06
AI Technical Summary
The prior art is difficult to achieve good compatibility between scheduling logic in real-time cloud rendering platforms, it is impossible to allow multiple scheduling logic to exist simultaneously, and it is impossible to flexibly adjust the scheduling logic according to the actual business scenarios of the customers.
Provides an open scheduling method for real-time cloud rendering services. By configuring multiple independent scheduling policies, each policy allows configuration of one-way scheduling, reverse scheduling and group parameters, allowing users and terminals to customize scheduling policy sets, and customize resource scheduling policy sets when cloud rendering nodes are managed.
It realizes good compatibility between scheduling logic, allowing multiple scheduling logic to exist at the same time, and can flexibly adjust scheduling logic according to the actual business scenarios of customers to meet the flexible needs of different industries and enterprises.
Abstract
Description
Technical Field
[0001] The present invention relates to the field of cloud rendering technology, and in particular to an open scheduling method for real-time cloud rendering services. Background Art
[0002] In the real-time cloud rendering platform service, since the customer groups include not only non-profit organizations such as governments, schools, and research institutions, but also industry companies such as energy, automobiles, smart cities, and digital twins, the cloud rendering resource scheduling logic that needs to be implemented within different organizations will vary greatly due to the different actual business scenarios between different industries.
[0003] In the traditional scheduling method in the real-time cloud rendering industry, the platform service provider usually pre-develops all the scheduling logic in the system according to the needs of the customer scenario, allowing customers to choose the scheduling method according to their needs. However, within some large enterprises or group enterprises, cloud rendering resources will need to be allocated to individuals, devices or applications in different organizational departments for designated calls. At the same time, the departmental structures within different organizations often vary greatly. In some scenarios, not only do resources need to be allocated according to the departmental structure, but there may also be situations where individuals, devices or applications that are out of the departmental structure specify calls to an indefinite number of rendering node resources.
[0004] The pre-developed scheduling logic in traditional scenarios can often only implement simple scheduling allocation logic, such as group scheduling, fair scheduling, priority scheduling, etc., but the compatibility between scheduling logics is poor, and it is impossible to allow multiple scheduling logics to exist at the same time. The scheduling logic cannot be flexibly adjusted according to the actual business scenario needs of the customer. Once a new business scenario emerges, it needs to be redeveloped.
[0005] Therefore, the prior art has defects and needs to be improved. Summary of the invention
[0006] The technical problem to be solved by the present invention is to provide an open scheduling method for real-time cloud rendering services, achieve good compatibility between scheduling logics, allow multiple scheduling logics to exist at the same time, and flexibly adjust the scheduling logic according to the actual business scenario needs of customers.
[0007] The technical solution of the present invention is as follows: an open scheduling method for real-time cloud rendering services is provided, comprising the following steps:
[0008] S1: Configure multiple scheduling strategies. Each scheduling strategy allows independent configuration of three parameters: unidirectional scheduling, reverse scheduling, and group scheduling. Each parameter in each strategy can only be configured once to ensure that each scheduling strategy is logically independent.
[0009] One-way scheduling: If the scheduling policy is configured with one-way scheduling parameters, the cloud application task configured with this scheduling policy must match the rendering node configured with the same scheduling policy. The rendering node that is not configured with the same scheduling policy will not be matched by the cloud application task.
[0010] Reverse scheduling: If the scheduling policy is configured with reverse scheduling parameters, the rendering node configured with this scheduling policy can only support the running of cloud application tasks configured with the same scheduling policy. Cloud application tasks that are not configured with the same scheduling policy will not be allowed to run on the rendering node;
[0011] Group: If the scheduling policy is configured with group parameters, the cloud application tasks configured with this scheduling policy will give priority to matching the rendering nodes configured with the same scheduling policy. If there are no available nodes in the group, other rendering nodes will be matched through unidirectional scheduling and reverse scheduling parameters.
[0012] S2: Configure the scheduling policy set in the four functional modules of user, terminal, cloud application, and cloud rendering node;
[0013] The scheduling set can be freely configured in the three functional modules of users, terminals, and cloud applications that need to perform specific scheduling of rendering resources. Each scheduling set allows multiple scheduling strategies to be configured.
[0014] Module scheduling set configuration, select multiple scheduling strategies to configure as scheduling strategy sets for users, terminals, and cloud applications; referred to as module scheduling sets;
[0015] Resource scheduling set configuration, select multiple scheduling strategies to configure as the resource scheduling strategy set of the cloud rendering node, referred to as resource scheduling set.
[0016] S3: Start the cloud application task, and assign a message queue to the task according to the task scheduling set of the cloud application task; wherein, the three module scheduling sets of user scheduling set, terminal scheduling set and cloud application scheduling set are merged into the task scheduling set of the cloud application task; according to the task scheduling set of the cloud application task, the cloud application tasks with the same task scheduling set enter the same message queue, which is the scheduling set message queue.
[0017] S4: The cloud application task requests rendering node resources; specifically, it includes:
[0018] The scheduling set message queue of each cloud application task independently requests whether there are available rendering node resources in the rendering node resource pool, and determines whether there is a rendering node in the current rendering node resource pool whose resource scheduling set is the parent set of the task scheduling set of the cloud application task;
[0019] If the parent set of the task scheduling set does not exist, it will directly return "the current cloud application has no available resources";
[0020] If there is a parent set of the task scheduling set, then determine whether there is a scheduling policy configured with group parameters in the task scheduling set; if there is a scheduling policy configured with group parameters, then prioritize matching among the rendering nodes configured with the same scheduling set, and determine whether there are idle resources among the rendering nodes with the resource scheduling set of the parent set of the task scheduling set; if there are idle resources, then the cloud application task successfully matches the rendering node, and the cloud application can start running; if there are no idle resources, then match among all rendering node resource pools; if there is no scheduling policy configured with group parameters, then match among all rendering node resource pools;
[0021] In all rendering node resource pools, determine whether there are idle resources in the rendering nodes of the resource scheduling set that has the parent set of the task scheduling set;
[0022] If there are idle resources, the cloud application task is successfully matched with the rendering node and the cloud application task can start running;
[0023] If there are no idle resources, the cloud application task is retained in the current message queue, and the cloud application task is synchronized into the scheduling system consumption queue according to the number of scheduling policies in the task scheduling set.
[0024] S5: The scheduling system consumption queue receives the cloud application access tasks in all message queues; specifically, it includes:
[0025] S51: The scheduling system initializes a consumption queue according to the number of scheduling policies of the task scheduling set of the cloud application task;
[0026] S52: Allocate the cloud application task to the designated consumption queue according to the number of scheduling policies in the task scheduling set of the cloud application task synchronized with the message queue;
[0027] S53: The consumption queue records the synchronization time for each newly synchronized cloud application task and marks it as “consumption time”.
[0028] S6: The scheduling system monitors the rendering node resource pool in real time and allocates resources through the scheduling system when a rendering node is idle; specifically, it includes:
[0029] S61: The scheduling system polls the consumer queue from large to small according to the number of scheduling strategies in the scheduling set of the rendering node resources;
[0030] S62: In the same consumption queue, internal polling is performed in order of consumption time of the tasks from first to last;
[0031] S63: If a cloud application task is matched during the polling process, the cloud application task is removed from the consumption queue corresponding to the scheduling policy quantity and the message queue corresponding to the scheduling set, and the cloud application task is run using the rendering node.
[0032] Furthermore, during the cloud application task startup process, the resource scheduling matching logic is implemented by judging the parent set and child set relationship between the task scheduling set and the resource scheduling set.
[0033] Furthermore, in the cloud rendering platform, pre-scheduling is used to configure multiple scheduling strategies, customize the scheduling strategy name and the usage scenario of the scheduling strategy, and configure the forward scheduling parameters, reverse scheduling parameters and group parameters in the scheduling strategy.
[0034] Furthermore, after completing the scheduling policy configuration, when users, terminals and cloud applications reference the scheduling policies configured after pre-scheduling is completed, each user, terminal and cloud application can customize the scheduling policy combination, that is, the task scheduling set; when managing rendering nodes, customize the scheduling policy combination for each node, that is, the resource scheduling set.
[0035] By adopting the above scheme, the present invention provides an open scheduling method for real-time cloud rendering services. By innovatively adding the concept of "scheduling set" in the real-time cloud rendering service scheduling system, multiple scheduling strategies are allowed to be configured simultaneously in the "scheduling set", and parameters such as forward scheduling, reverse scheduling, and group are customized in each scheduling strategy. The customer is allowed to configure the scheduling strategy in the "scheduling set" under different functional modules and business dimensions, thereby realizing the open and free scheduling system logic in the process of starting the real-time cloud rendering task. DETAILED DESCRIPTION
[0036] The present invention is described in detail below in conjunction with specific embodiments.
[0037] The present invention provides an open scheduling method for real-time cloud rendering services, comprising the following steps:
[0038] S1: Configure multiple scheduling strategies. Each scheduling strategy allows independent configuration of three parameters: unidirectional scheduling, reverse scheduling, and group scheduling. Each parameter in each strategy can only be configured once to ensure that each scheduling strategy is logically independent.
[0039] One-way scheduling: If the scheduling policy is configured with one-way scheduling parameters, the cloud application task configured with this scheduling policy must match the rendering node configured with the same scheduling policy. The rendering node that is not configured with the same scheduling policy will not be matched by the cloud application task.
[0040] Reverse scheduling: If the scheduling policy is configured with reverse scheduling parameters, the rendering node configured with this scheduling policy can only support the running of cloud application tasks configured with the same scheduling policy. Cloud application tasks that are not configured with the same scheduling policy will not be allowed to run on the rendering node;
[0041] Group: If the scheduling policy is configured with group parameters, the cloud application tasks configured with this scheduling policy will give priority to matching the rendering nodes configured with the same scheduling policy. If there are no available nodes in the group, other rendering nodes will be matched through unidirectional scheduling and reverse scheduling parameters.
[0042] S2: Configure the scheduling policy set in the four functional modules of user, terminal, cloud application, and cloud rendering node;
[0043] The scheduling set can be freely configured in the three functional modules of users, terminals, and cloud applications that need to perform specific scheduling of rendering resources. Each scheduling set allows multiple scheduling strategies to be configured.
[0044] Module scheduling set configuration, select multiple scheduling strategies to configure as scheduling strategy sets for users, terminals, and cloud applications; referred to as module scheduling sets;
[0045] Resource scheduling set configuration, select multiple scheduling strategies to configure as the resource scheduling strategy set of the cloud rendering node, referred to as resource scheduling set.
[0046] S3: Start the cloud application task, and assign a message queue to the task according to the task scheduling set of the cloud application task; wherein, the three module scheduling sets of user scheduling set, terminal scheduling set and cloud application scheduling set are merged into the task scheduling set of the cloud application task; according to the task scheduling set of the cloud application task, the cloud application tasks with the same task scheduling set enter the same message queue, which is the scheduling set message queue.
[0047] S4: The cloud application task requests rendering node resources; specifically, it includes:
[0048] The scheduling set message queue of each cloud application task independently requests whether there are available rendering node resources in the rendering node resource pool, and determines whether there is a rendering node in the current rendering node resource pool whose resource scheduling set is the parent set of the task scheduling set of the cloud application task;
[0049] If the parent set of the task scheduling set does not exist, it will directly return "the current cloud application has no available resources";
[0050] If there is a parent set of the task scheduling set, then determine whether there is a scheduling policy configured with group parameters in the task scheduling set; if there is a scheduling policy configured with group parameters, then prioritize matching among the rendering nodes configured with the same scheduling set, and determine whether there are idle resources among the rendering nodes with the resource scheduling set of the parent set of the task scheduling set; if there are idle resources, then the cloud application task successfully matches the rendering node, and the cloud application can start running; if there are no idle resources, then match among all rendering node resource pools; if there is no scheduling policy configured with group parameters, then match among all rendering node resource pools;
[0051] In all rendering node resource pools, determine whether there are idle resources in the rendering nodes of the resource scheduling set that has the parent set of the task scheduling set;
[0052] If there are idle resources, the cloud application task is successfully matched with the rendering node and the cloud application task can start running;
[0053] If there are no idle resources, the cloud application task is retained in the current message queue, and the cloud application task is synchronized into the scheduling system consumption queue according to the number of scheduling policies in the task scheduling set.
[0054] S5: The scheduling system consumption queue receives the cloud application access tasks in all message queues; specifically, it includes:
[0055] S51: The scheduling system initializes a consumption queue according to the number of scheduling policies of the task scheduling set of the cloud application task;
[0056] S52: Allocate the cloud application task to the designated consumption queue according to the number of scheduling policies in the task scheduling set of the cloud application task synchronized with the message queue;
[0057] S53: The consumption queue records the synchronization time for each newly synchronized cloud application task and marks it as “consumption time”.
[0058] S6: The scheduling system monitors the rendering node resource pool in real time and allocates resources through the scheduling system when a rendering node is idle; specifically, it includes:
[0059] S61: The scheduling system polls the consumer queue from large to small according to the number of scheduling strategies in the scheduling set of the rendering node resources;
[0060] S62: In the same consumption queue, internal polling is performed in order of consumption time of the tasks from first to last;
[0061] S63: If a cloud application task is matched during the polling process, the cloud application task is removed from the consumption queue corresponding to the scheduling policy quantity and the message queue corresponding to the scheduling set, and the cloud application task is run using the rendering node.
[0062] In this embodiment, during the cloud application task startup process, the resource scheduling matching logic is implemented by judging the parent set and child set relationship between the task scheduling set and the resource scheduling set.
[0063] In this embodiment, in a cloud rendering platform (such as a 3DCAT real-time cloud rendering private cloud service platform), pre-scheduling is used to configure multiple scheduling strategies, customize the scheduling strategy names and usage scenarios of the scheduling strategies, and configure forward scheduling parameters, reverse scheduling parameters, and group parameters in the scheduling strategies.
[0064] In this embodiment, after completing the scheduling policy configuration, the user, terminal and cloud application refer to the scheduling policy configured after the pre-scheduling is completed. Each user, terminal and cloud application can customize the scheduling policy combination, that is, the task scheduling set; when managing the rendering node, customize the scheduling policy combination for each node, that is, the resource scheduling set.
[0065] The method of the present invention is based on an open scheduling system and a real-time cloud rendering platform service provider. There is no need to carry out large-scale customized development for too many industry background differences. Whether it is the government, school, research institution, or energy, automobile, smart city, digital twin, any organization can combine the customer's actual business scenarios to customize the free configuration scheduling system logic.
[0066] It enables cloud rendering resources to be allocated to individuals, devices or applications in different organizational departments within large enterprises or group enterprises for designated calls, and allows the configuration of temporary scheduling policies in certain temporary scenarios, fully and flexibly meeting the scheduling needs of the enterprise.
[0067] Through the present invention, platform service providers can significantly reduce their investment in customized development of scheduling system logic, and customers in various industries can also effectively and freely configure scheduling strategies without having to seek help from suppliers for secondary development during product use.
[0068] In summary, the present invention provides an open scheduling method for real-time cloud rendering services. By innovatively adding the concept of "scheduling set" in the real-time cloud rendering service scheduling system, multiple scheduling strategies are allowed to be configured simultaneously in the "scheduling set", and parameters such as forward scheduling, reverse scheduling, and group are customized in each scheduling strategy. The customer is allowed to configure the scheduling strategy in the "scheduling set" under different functional modules and business dimensions, thereby realizing the open and free scheduling system logic in the process of starting the real-time cloud rendering task.
[0069] The above are only preferred embodiments of the present invention and are not intended to limit the present invention. Any modifications, equivalent substitutions and improvements made within the spirit and principles of the present invention should be included in the protection scope of the present invention.
Claims
1. An open scheduling method for real-time cloud rendering services, characterized in that: The following steps are involved: S1: Configure multiple scheduling strategies. Each scheduling strategy allows independent configuration of three parameters: unidirectional scheduling, reverse scheduling, and group scheduling. Each parameter in each strategy can only be configured once to ensure that each scheduling strategy is logically independent. One-way scheduling: If the scheduling policy is configured with one-way scheduling parameters, the cloud application task configured with this scheduling policy must match the rendering node configured with the same scheduling policy. The rendering node that is not configured with the same scheduling policy will not be matched by the cloud application task. Reverse scheduling: If the scheduling policy is configured with reverse scheduling parameters, the rendering node configured with this scheduling policy can only support the running of cloud application tasks configured with the same scheduling policy. Cloud application tasks that are not configured with the same scheduling policy will not be allowed to run on the rendering node; Group: If the scheduling policy is configured with group parameters, the cloud application tasks configured with this scheduling policy will be matched with the rendering nodes configured with the same scheduling policy first. If there are no available nodes in the group, other rendering nodes will be matched through unidirectional scheduling and reverse scheduling parameters. S2: Configure the scheduling policy set in the four functional modules of user, terminal, cloud application, and cloud rendering node; The scheduling set can be freely configured in the three functional modules of users, terminals, and cloud applications that need to perform specific scheduling of rendering resources. Each scheduling set allows multiple scheduling strategies to be configured. Module scheduling set configuration, select multiple scheduling strategies to configure as scheduling strategy sets for users, terminals, and cloud applications; referred to as module scheduling sets; Resource scheduling set configuration, select multiple scheduling strategies to configure as the resource scheduling strategy set of the cloud rendering node, referred to as resource scheduling set; S3: Start the cloud application task and assign a message queue to the task according to the task scheduling set of the cloud application task; wherein the three module scheduling sets of user scheduling set, terminal scheduling set and cloud application scheduling set are merged into the task scheduling set of the cloud application task; According to the task scheduling set of the cloud application task, the cloud application tasks with the same task scheduling set enter the same message queue, which is the scheduling set message queue; S4: The cloud application task requests rendering node resources; specifically, it includes: The scheduling set message queue of each cloud application task independently requests whether there are available rendering node resources in the rendering node resource pool, and determines whether there is a rendering node in the current rendering node resource pool whose resource scheduling set is the parent set of the task scheduling set of the cloud application task; If there is no parent set of the task scheduling set, it will directly return "no available resources for the current cloud application"; If there is a parent set of the task scheduling set, then determine whether there is a scheduling policy configured with group parameters in the task scheduling set; if there is a scheduling policy configured with group parameters, then prioritize matching among the rendering nodes configured with the same scheduling set, and determine whether there are idle resources among the rendering nodes with the resource scheduling set of the parent set of the task scheduling set; if there are idle resources, then the cloud application task successfully matches the rendering node, and the cloud application can start running; if there are no idle resources, then match among all rendering node resource pools; if there is no scheduling policy configured with group parameters, then match among all rendering node resource pools; In all rendering node resource pools, determine whether there are idle resources in the rendering nodes of the resource scheduling set that has the parent set of the task scheduling set; If there are idle resources, the cloud application task is successfully matched with the rendering node and the cloud application task can start running; If there are no idle resources, the cloud application task is retained in the current message queue, and the cloud application task is synchronized into the scheduling system consumption queue according to the number of scheduling policies in the task scheduling set; S5: The scheduling system consumption queue receives the cloud application access tasks in all message queues; specifically, it includes: S51: The scheduling system initializes a consumption queue according to the number of scheduling policies of the task scheduling set of the cloud application task; S52: Allocate the cloud application task to the designated consumption queue according to the number of scheduling policies in the task scheduling set of the cloud application task synchronized with the message queue; S53: The consumption queue records the synchronization time for each newly synchronized cloud application task and marks it as "consumption time"; S6: The scheduling system monitors the rendering node resource pool in real time and allocates resources through the scheduling system when a rendering node is idle; specifically, it includes: S61: The scheduling system polls the consumer queue from large to small according to the number of scheduling strategies in the scheduling set of the rendering node resources; S62: In the same consumption queue, internal polling is performed in order of consumption time of the tasks from first to last; S63: If a cloud application task is matched during the polling process, the cloud application task is removed from the consumption queue corresponding to the scheduling policy quantity and the message queue corresponding to the scheduling set, and the cloud application task is run using the rendering node.
2. The open scheduling method for real-time cloud rendering services according to claim 1, characterized in that: During the startup of cloud application tasks, the resource scheduling matching logic is implemented by judging the parent-child relationship between the task scheduling set and the resource scheduling set.
3. The open scheduling method for real-time cloud rendering services according to claim 1, characterized in that: In the cloud rendering platform, pre-scheduling is used to configure multiple scheduling strategies, customize the scheduling strategy name and the usage scenarios of the scheduling strategy, and configure the forward scheduling parameters, reverse scheduling parameters, and group parameters in the scheduling strategy.
4. The open scheduling method for real-time cloud rendering services according to claim 3, characterized in that: After completing the scheduling policy configuration, users, terminals, and cloud applications reference the scheduling policies configured after pre-scheduling. Each user, terminal, and cloud application can customize the scheduling policy combination, namely, the task scheduling set. When managing rendering nodes, customize the scheduling policy combination, namely, the resource scheduling set, for each node.