Multi-instance task scheduling method, system and device for complex service scene and medium

By optimizing the allocation of multi-instance tasks through an intelligent scheduling engine and skill matching algorithm, the problems of task response delay and resource waste in existing technologies are solved, achieving efficient and balanced task execution and resource utilization, and adapting to complex business needs.

CN121684356APending Publication Date: 2026-03-17浪潮智慧科技有限公司 +2
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-10-17
Publication Date
2026-03-17

AI Technical Summary

Technical Problem

Existing technologies suffer from problems such as task response delays, resource waste, and inability to adapt to dynamic changes in business data and complex logical requirements in multi-instance task scheduling, resulting in low efficiency of business processes.

Method used

The system receives the task type and base number through the configuration interface. After the reasonableness is verified, the intelligent scheduling engine assigns executors to the task instances, dynamically adjusts the execution strategy of parallel or serial tasks, and optimizes task allocation by combining skill matching and load balancing algorithms.

Benefits of technology

It improved task execution efficiency, balanced resource utilization, reduced operating costs, and enhanced the system's adaptability and intelligence to complex business needs.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121684356A_ABST
    Figure CN121684356A_ABST
Patent Text Reader

Abstract

The invention relates to the technical field of data processing, and particularly provides a multi-instance task scheduling method, system, device and medium for a complex service scenario, comprising: receiving task type configuration and cardinal number selected by a user for a multi-instance task node through a configuration interface, the task types comprising serial multiple instances and parallel multiple instances; performing rationality verification on the cardinal number; according to the task type configuration, calling a corresponding scheduling engine to allocate an executor for the task instance; wherein if the task type is configured to be serial multiple instances, an executor capable of enabling the expected completion time to be earliest is selected for the current to-be-allocated single task instance for allocation; and if the task type is configured to be parallel multiple instances, carrying out batch allocation on all to-be-allocated task instances with the goal of minimizing the expected completion time in all the task instances. According to the invention, the intelligent level and stability of the business process are comprehensively improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention belongs to the field of data processing technology, specifically relating to a method, system, device, and medium for scheduling multi-instance tasks in complex business scenarios. Background Technology

[0002] In the field of business process management, multi-instance tasks (such as multi-department co-signing and multi-member collaboration) are core application scenarios. While current mainstream workflow engines support the configuration and execution of multi-instance tasks, their scheduling mechanisms have significant limitations. For serial multi-instance tasks, tasks can only be executed sequentially in a fixed order, unable to dynamically adjust based on the real-time load of the executor and task priority, leading to delays in critical task response and overall low process efficiency. For parallel multi-instance tasks, the lack of intelligent resource scheduling mechanisms often results in uneven task allocation, with some executors overloaded while others are idle, leading to resource waste, and an inability to effectively monitor progress and intervene dynamically. Furthermore, the task base is often statically set, unable to adapt to dynamic changes in business data; completion conditions are also relatively simple, making it difficult to meet complex business logic. These shortcomings severely restrict the execution efficiency and resource utilization of business processes, making it difficult to cope with the complex and ever-changing business needs of modern enterprises. Therefore, there is an urgent need for a multi-instance task processing method that can achieve intelligent, dynamic, and differentiated scheduling. Summary of the Invention

[0003] In view of the above-mentioned shortcomings of the prior art, the present invention provides a method, system, device and medium for scheduling multi-instance tasks in complex business scenarios to solve the above-mentioned technical problems.

[0004] In a first aspect, the present invention provides a multi-instance task scheduling method for complex business scenarios, comprising: Through the configuration interface, the user can receive the task type configuration and cardinality selected for the multi-instance task nodes. The task types include serial multi-instance and parallel multi-instance. The rationality of the stated base number is verified. Based on the task type configuration, the corresponding scheduling engine is invoked to assign an executor to the task instance; If the task type is configured as serial multiple instances, then the single task instance to be assigned will be selected and assigned to the executor whose expected completion time is the earliest. If the task type is configured as parallel multi-instance, then all task instances to be assigned will be batch-assigned with the goal of minimizing the expected completion time of all task instances.

[0005] In an optional implementation, the rationality check of the base number includes: If the task type is configured as serial multiple instances, then verify whether the base number exceeds a preset maximum serial node number threshold. If the task type is configured as parallel multiple instances, then verify whether the cardinality matches the number of currently available executors; When the verification fails, a prompt message is sent to the user and suggestions for base adjustment are provided.

[0006] In one optional implementation, the method for scheduling task instances includes: The predefined organizational association rules on the task nodes are submitted to the rule engine for query matching to generate an initial candidate pool. The organizational association rules include at least one of the following: role, group, or logical expression based on user attributes and task attributes. The skills required for the task and the skills possessed by the executor are vectorized based on a pre-built global skill dictionary, generating task skill vectors and executor skill vectors respectively. The element values ​​in the vectors represent the required level or proficiency of a specific skill. Calculate the cosine similarity between the task skill vector and the executor skill vector of each executor in the initial candidate pool to obtain the skill matching degree; The skill matching degree is compared with a preset threshold, and multiple executors whose matching degree reaches the threshold are selected to form the final list of qualified candidates. Assign an executor to the corresponding task instance based on the list of qualified candidates.

[0007] In an optional implementation, predefined organizational association rules on task nodes are submitted to the rule engine for query matching to generate an initial candidate pool, including: Obtain the organization association rules bound to the task node, wherein the rules include at least one of role rules, group rules, or logical expression rules; The organization association rules are converted into a syntax format that the rule engine can recognize; The transformed rules are pattern matched with the executor data to filter out all executors that match the rules and generate the initial candidate pool. The logical expression rules are used to define dynamic matching conditions based on user attributes and task attributes.

[0008] In one optional implementation, assigning an executor to the corresponding task instance based on the list of qualified candidates includes: If the task type is configured as serial multiple instances, the first allocation strategy is adopted: for the single task instance to be allocated, the executor with the earliest expected completion time is selected from the list of qualified candidates for allocation; If the task type is configured as parallel multi-instance, then the second allocation strategy is adopted: with the optimization goal of minimizing the expected completion time of all task instances to be allocated, all task instances to be allocated in batches are allocated to the executors in the qualified candidate list at one time.

[0009] In an optional implementation, for a single task instance currently awaiting assignment, the executor whose expected completion time is the earliest is selected from the list of qualified candidates for assignment, including: Iterate through each executor in the list of qualified candidates; For each executor, perform queue simulation operations: obtain the current task queue of the executor, and calculate the expected start time of the current task instance at the executor based on the remaining processing time prediction value of each task in the queue; Based on the expected start time, the baseline time and complexity coefficient of the current task instance, and the executor's personal efficiency factor, calculate the expected completion time of the current task instance. From all qualified candidates, select the executor that minimizes the expected completion time, and assign the current task instance to that executor; If the current task instance is marked as an urgent task, then when performing the queue simulation operation, the current task instance is placed at the front of the current task queue of the executor for the calculation of the expected start time. The remaining processing time prediction is calculated using the following formula: Remaining processing time = (Task baseline time × Task complexity coefficient) / Executor efficiency factor; The executor efficiency factor is calculated using a weighted moving average method based on the executor's historical average processing efficiency.

[0010] In an optional implementation, with the optimization objective of minimizing the expected completion time of all pending task instances, all pending task instances are batch-assigned to executors in the qualified candidate list at once, including: Initialize the current expected completion time for each qualified executor; Repeat the following allocation steps until all pending task instances have been allocated: For each unassigned task instance and each qualified executor, calculate the expected completion time after assigning the task instance to the executor, based on the executor's current expected completion time, the baseline time and complexity coefficient of the task instance, and the executor's efficiency factor. From all the calculated expected completion times, select the one with the smallest value and assign its corresponding task instance to the corresponding executor; Update the current expected completion time of the executor to the expected completion time calculated for this allocation.

[0011] Secondly, the present invention provides a multi-instance task scheduling system for complex business scenarios, comprising: The configuration receiving module is used to receive the task type configuration and cardinality selected by the user for the multi-instance task nodes through the configuration interface. The task types include serial multi-instance and parallel multi-instance. A radix verification module is used to verify the reasonableness of the radix; The task scheduling module is used to call the corresponding scheduling engine to assign an executor to the task instance according to the task type configuration; If the task type is configured as serial multiple instances, then the single task instance to be assigned will be selected and assigned to the executor whose expected completion time is the earliest. If the task type is configured as parallel multi-instance, then all task instances to be assigned will be batch-assigned with the goal of minimizing the expected completion time of all task instances.

[0012] Thirdly, a device is provided, comprising: The memory is used to store multi-instance task schedulers for complex business scenarios; The processor, when executing the multi-instance task scheduler for the complex business scenario, implements the steps of the multi-instance task scheduling method for the complex business scenario provided in the first aspect.

[0013] Fourthly, a computer-readable medium is provided, on which a multi-instance task scheduler for complex business scenarios is stored. When the multi-instance task scheduler for complex business scenarios is executed by a processor, it implements the steps of the multi-instance task scheduling method for complex business scenarios provided in the first aspect.

[0014] The beneficial effects of this invention are as follows: the multi-instance task scheduling method, system, device, and medium provided by this invention for complex business scenarios, through the introduction of an intelligent scheduling mechanism, bring significant benefits to the management of multi-instance tasks in complex business scenarios. Firstly, by dynamically selecting the fastest executor for serial tasks and performing globally optimized batch allocation for parallel tasks, task execution efficiency and overall process speed are greatly improved. Secondly, precise scheduling based on real-time load and skill matching achieves balanced utilization of human resources, avoids uneven workloads, and reduces enterprise operating costs. Thirdly, the dynamic base adjustment and custom completion condition mechanism enhance the system's adaptability to complex and changing business needs, while automated scheduling reduces the complexity of manual intervention and maintenance costs, comprehensively improving the intelligence level and stability of business processes. Attached Figure Description

[0015] To more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, for those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0016] Figure 1 This is a schematic flowchart of a method according to an embodiment of the present invention.

[0017] Figure 2 This is a schematic block diagram of a system according to an embodiment of the present invention.

[0018] Figure 3 This is a schematic diagram of the structure of a device provided in an embodiment of the present invention. Detailed Implementation

[0019] To enable those skilled in the art to better understand the technical solutions of this invention, the technical solutions of the embodiments of this invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this invention, and not all embodiments. Based on the embodiments of this invention, all other embodiments obtained by those skilled in the art without creative effort should fall within the scope of protection of this invention.

[0020] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this invention pertains. The terminology used herein in the description of the invention is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention.

[0021] The multi-instance task scheduling method for complex business scenarios provided in this embodiment of the invention is executed by a computer device, and correspondingly, the multi-instance task scheduling system for complex business scenarios runs on the computer device.

[0022] Figure 1 This is a schematic flowchart illustrating a method according to an embodiment of the present invention. Wherein, Figure 1 The executing entity can be a multi-instance task scheduling system for complex business scenarios. Depending on different requirements, the order of steps in this flowchart can be changed, and some steps can be omitted.

[0023] like Figure 1 As shown, the method includes: S1. Receive the task type configuration and base number selected by the user for the multi-instance task nodes through the configuration interface. The task type includes serial multi-instance and parallel multi-instance. S2. Perform a rationality check on the base number; S3. Based on the task type configuration, call the corresponding scheduling engine to assign an executor to the task instance; If the task type is configured as serial multiple instances, then the single task instance to be assigned will be selected and assigned to the executor whose expected completion time is the earliest. If the task type is configured as parallel multi-instance, then all task instances to be assigned will be batch-assigned with the goal of minimizing the expected completion time of all task instances.

[0024] In one embodiment of the present invention, based on step S1, the following will provide a possible embodiment and describe its specific implementation in a non-limiting manner.

[0025] A visual workflow designer is provided. When a user drags and drops the "Multi-Instance Task" component onto the workflow canvas and selects it, its dedicated property configuration panel is activated on the right side of the designer. Within the "Multi-Instance Settings" area of ​​this panel, the following core configuration items are available: Task type configuration: UI element: Provides a group of radio buttons called "Execution Mode" with two explicit options: "Execute sequentially (serial)" and "Execute simultaneously (parallel)".

[0026] User actions: The process designer makes selections based on business logic. For example, for the "expense reimbursement approval at each level" process, "sequential execution (serial)" is selected; for the "multi-departmental review of technical solutions" process, "simultaneous execution (parallel)" is selected.

[0027] System Receives: The user's selection is recorded by the system as the taskType attribute of the task node, with a value of sequential or parallel.

[0028] Base configuration: UI element: Provides a configuration area called "Number of Task Instances (Base)", which contains two sub-options: Fixed quantity (static): A number input box that allows the user to directly enter a positive integer.

[0029] Dynamic Calculation: An expression editor that allows users to combine calculation rules by selecting business variables, operators, and functions.

[0030] User Operations and Implementation Examples: If the business scenario is fixed, such as requiring a fixed number of 3 quality inspectors, the user can select "Fixed Quantity" and enter 3.

[0031] If the business scenario changes dynamically, users can choose "Dynamic Calculation". For example, in a "project task distribution" scenario, the base number must equal the number of current project team members. Users can write rules in the expression editor, such as `@project.getMemberList().size()`. The system provides auxiliary functions, such as code completion, syntax highlighting, and variable suggestions, to reduce the difficulty of writing code for users.

[0032] The system receives: The fixed number or dynamic expression input by the user is recorded by the system as the cardinality attribute of the task node.

[0033] In one embodiment of the present invention, based on step S2, the following will provide a possible embodiment and describe its specific implementation in a non-limiting manner.

[0034] The cardinality verification step is automatically triggered after the user completes the configuration but before the process instance starts, and is executed by the system's cardinality verification module. This module invokes different verification logic based on the configured task type, and its specific implementation is as follows: S201. Serial Multi-Instance Radix Check When the task type is configured as "Serial Multiple Instances", the system performs the following operations: Threshold acquisition: The system reads a system parameter named MAX_SEQUENTIAL_NODES from the configuration center or database. Its value is the preset maximum number of serial nodes threshold (for example, the default value is 20, which the system administrator can adjust according to the enterprise specifications).

[0035] Logical comparison: The verification module compares the user-configured base number with this threshold. If the base number > MAX_SEQUENTIAL_NODES, the verification fails.

[0036] Tips and Suggestions: When validation fails, the system will display an error warning in the configuration panel of the workflow designer (e.g., with a red border and an exclamation mark icon). The warning message is: "Warning: The number of serial nodes [{base number}] has exceeded the system's recommended maximum value [{threshold}]. An excessively long workflow chain will significantly reduce approval efficiency. It is recommended to break it down into sub-processes or evaluate whether a parallel countersigning mode can be adopted." Here, {base number} and {threshold} are the actual replacement values.

[0037] S202. Parallel Multi-Instance Cardinality Verification When the task type is configured as "parallel multiple instances", the system performs the following operations: To obtain the number of available executors: The system first queries the organizational structure service or graph database in real time based on the "organization association rules" predefined for the task node (such as role = "department manager", group = "finance department") to obtain a list of all currently available executors (such as those who have not resigned or are not on vacation), and calculates the number N in the list.

[0038] Logical matching: The verification module compares the user-configured base number with the quantity N. If the base number > N, the verification fails.

[0039] Tips and suggestions: When the verification fails, the system will display an error warning on the configuration panel. The warning message is: "Warning: The number of task instances [{base number}] is greater than the number of currently available executors [{N}]. There will be [{base number - N}] instances that cannot be allocated, which may cause the process to stall. It is recommended to adjust the base number to <= {N}, or check and expand the executor range of associated roles." In one embodiment of the present invention, based on step S3, the following will provide a possible embodiment and describe its specific implementation in a non-limiting manner.

[0040] S301. Screening the list of qualified candidates.

[0041] 1. Generate the initial candidate pool The system retrieves predefined organizational association rules for task nodes, which are configured through a visual interface during the process design phase. Rule type: Role rules: such as "Department Manager" Group rules: such as "Finance Department" Logical expression rules: such as "user.department != task.initiatingDepartment" (used to implement an avoidance mechanism to prohibit approval by personnel in the initiating department).

[0042] Rule engine processing: The system converts the above rules into a syntax format that can be executed by a rule engine (such as Drools).

[0043] Example: Convert the logical expression "user.department != task.initiatingDepartment" into Drools rule language: rule "DepartmentFilter" when $task : Task(initiatingDepartment != null) $user : User(department != $task.initiatingDepartment) then / / Add to candidate set End.

[0044] The rule engine performs pattern matching between the transformed rules and user attributes in the executor database, outputting all executors that meet the conditions, forming the initial candidate pool C_initial. 2. Skill vectorization processing The system performs skill matching based on a pre-built global skill dictionary: Skills Dictionary: The system maintains a global dictionary containing all skills, such as ["Java Programming", "SQL", "Financial Analysis", "Project Management", "UI Design"...], with a dictionary size of N.

[0045] Vector generation: Task skill vector: An N-dimensional vector is generated based on the skill requirements in the task profile, where the value of each dimension represents the degree of demand for that skill (0-1). Example: For the "Financial Reporting Development" task, its vector might be [0.7, 0.8, 0.9, 0.5, 0...]; Executor Skill Vector: An N-dimensional vector is generated based on the executor's skill profile, where the value of each dimension represents the executor's proficiency in that skill (0-1). Example: A full-stack developer's vector might be [0.9, 0.9, 0.3, 0.6, 0.7...].

[0046] 3. Skill matching degree calculation The system uses a cosine similarity algorithm to calculate skill matching degree: Calculation formula: Matching_Score = (TaskVector • UserVector) / (||TaskVector|| × ||UserVector||) where • represents the dot product, and ||V|| represents the magnitude of the vector. Calculation process: For each executor in the initial candidate pool C_initial, calculate the cosine similarity between the executor skill vector and the task skill vector to obtain a matching score between 0 and 1.

[0047] 4. Compile a list of qualified candidates. Threshold filtering: The system compares the matching degree of each executor with the preset matching degree threshold (the default value is 0.6, which can be adjusted by the administrator); List generation: Filter out executors with a matching degree greater than or equal to the threshold to form the final qualified candidate list C_qualified; Exception handling: If no one meets the requirements after screening, the system will automatically relax the threshold (e.g., reduce it to 0.5) and re-screen, while sending an alert notification to the administrator.

[0048] Through the aforementioned multi-dimensional screening mechanism, the system ensures that qualified candidates not only meet organizational structure requirements but also possess the professional skills needed to complete tasks, laying a solid foundation for subsequent intelligent scheduling.

[0049] S302. Assign an executor to the corresponding task instance based on the list of qualified candidates.

[0050] (1) If the task type is configured as serial multiple instances, the first allocation strategy is adopted: for the single task instance to be allocated, the executor with the earliest expected completion time is selected from the list of qualified candidates for allocation.

[0051] 1) Initialization and Data Preparation When the process engine needs to allocate a serial task instance, the intelligent scheduling center initiates the allocation process. The system first obtains the list of qualified candidates C_qualified for the task, and reads the attribute information of the current task instance, including the baseline processing time (e.g., standard processing time of 2 hours), complexity coefficient (e.g., 1.0 for regular tasks and 1.5 for complex tasks), and emergency flag.

[0052] 2) Queue Simulation and Time Prediction The system iterates through each executor in the list of qualified candidates and performs the following queue simulation operations: Get Executor Status: Retrieve the executor's current task queue Q from the task management service, including tasks being processed and tasks assigned to be processed.

[0053] Calculate the expected start time: For non-urgent tasks: Expected start time = Current system time + Σ(Remaining processing time of all tasks in queue Q) For urgent tasks: Expected start time = Current system time + Σ(Remaining processing time of tasks currently being processed in queue Q) Calculate the expected completion time: Expected completion time = Expected start time + (Task baseline time × Task complexity coefficient) / Executor efficiency factor.

[0054] 3) Calculation of the executor's efficiency factor The system maintains a dynamically updated efficiency factor for each executor: Efficiency factor = (Σ(actual time spent on the last 30 completed tasks / baseline time) × weight) / total weight Example: A weighted moving average is used, with higher weights for recent tasks, to ensure that the factor reflects the current efficiency level of the executor.

[0055] The efficiency factor is typically maintained in the range of 0.8-1.2, with a value above 1.0 indicating that the efficiency is better than average.

[0056] 4) Optimal Executor Selection and Allocation The system compares the expected completion time calculated by all candidate executors, selects the executor with the smallest value, assigns the task instance to the selected executor, and updates the executor's task queue; the assignment result is synchronized to the process engine through the task assignment interface.

[0057] 5) Special handling for emergency tasks When a task is marked as urgent: In queue simulation, the task is placed at the front of the executor queue; the system prioritizes calculating the allocation scheme for urgent tasks.

[0058] Example: For a certain "urgent approval" task, even if there are 5 pending tasks in the executor's queue, this task will be inserted at the top of the queue to ensure the fastest response.

[0059] (2) If the task type is configured as parallel multi-instance, the second allocation strategy is adopted: with the optimization goal of minimizing the expected completion time of all task instances to be allocated, all task instances to be allocated are batch-allocated to the executors in the qualified candidate list at one time.

[0060] 1) Initialization phase The system creates a load status record for each qualified executor, initializing its current expected completion time to the system's current time. Example: Assuming the current time is 2024-06-01 09:00:00, the system creates status records for executors A, B, and C respectively: {Executor: A, Expected Completion Time: 09:00:00}, {Executor: B, Expected Completion Time: 09:00:00}, and {Executor: C, Expected Completion Time: 09:00:00}.

[0061] 2) Cyclic Allocation Phase The system maintains a collection of unassigned task instances and executes the following steps repeatedly until the collection is empty: Completion Time Matrix Calculation: For each unassigned task instance Ti and each qualified executor Uj, calculate the expected completion time ECT_ij: ECT_ij = Current expected completion time of executor Uj + (Base time of task instance Ti × Complexity coefficient of task instance Ti) / Efficiency factor of executor Uj in, Example: Task T1 (baseline time 2 hours, complexity 1.2), executor A (current expected completion time 09:00, efficiency factor 1.1): ECT_A1 = 09:00 + (2 × 1.2) / 1.1 ≈ 11:11 Optimal pair selection: The system selects the pair with the smallest ECT_ij value from all (Ti, Uj) combinations.

[0062] Example: Calculations show ECT_A1=11:11, ECT_B1=10:45, ECT_C1=11:30. The pair corresponding to the minimum value is selected (T1, B). Task Assignment and Status Update: Assign task T1 to executor B and update B's current expected completion time to 10:45. Remove T1 from the unassigned set.

[0063] 3) Algorithm execution example Suppose there are 2 tasks [T1, T2] and 2 executors [A, B], where: T1: baseline time 1 hour, complexity 1.0; T2: baseline time 2 hours, complexity 1.0; A: efficiency factor 1.0, initial completion time 09:00; B: efficiency factor 1.0, initial completion time 09:00.

[0064] First loop: Calculate all ECTs: ECT_A1=10:00, ECT_B1=10:00, ECT_A2=11:00, ECT_B2=11:00; Select any pair corresponding to the smallest ECT (10:00), such as (T1, A); Update the completion time of A to 10:00, and remove T1.

[0065] Second round of loop: Calculate the ECT of the remaining tasks: ECT_A2=11:00, ECT_B2=10:00 (because B still starts at 09:00); Select the pair (T2, B) corresponding to the smallest ECT (10:00) and update the completion time of B to 11:00, remove T2; Allocation result: T1→A, T2→B, maximum completion time 11:00.

[0066] 4) Exception handling If multiple identical minimum ECT values ​​appear during the calculation process, the system prioritizes the executor with the lighter current load (i.e., the earlier the expected completion time) to ensure load balancing.

[0067] Through the above implementation methods, the system achieves global optimized allocation of parallel task instances, ensuring that the maximum completion time of all task instances is minimized, effectively avoiding the situation where a single executor becomes overloaded and becomes a system bottleneck.

[0068] Based on the above implementation method, step S4 is added to configure and verify the custom completion conditions for multi-instance tasks: It provides a visual configuration tool for completion conditions, allowing users to build custom rules by "drag and drop condition components + logical operator combinations", covering three types: quantity conditions (such as "number of completed instances >= 80% of the total base"), result conditions (such as "number of rejected instances <= 1"), and association conditions (such as "critical instances (such as department manager approval) must be completed").

[0069] Establish a condition verification mechanism: After completing the condition configuration, simulate multi-instance execution scenarios (such as generating 10 sets of simulated instance results) to verify whether the condition logic meets expectations and avoid anomalies such as "condition always true" or "condition always false"; during the process execution, determine in real time whether the instance completion status meets the conditions. Once it does, immediately trigger the end of the multi-instance task through the process advancement interface without waiting for all instances to complete.

[0070] In some embodiments, the user churn prediction system may include multiple functional modules composed of computer program segments. The computer programs of each program segment in the multi-instance task scheduling system for complex business scenarios may be stored in the memory of a computer device and executed by at least one processor to perform (see details). Figure 1 (Description) Functionality for multi-instance task scheduling in complex business scenarios.

[0071] In this embodiment, the multi-instance task scheduling system for complex business scenarios can be divided into multiple functional modules based on the functions it performs, such as... Figure 2 As shown. The module referred to in this invention is a series of computer program segments that can be executed by at least one processor and perform a fixed function, and is stored in memory. In this embodiment, the functions of each module will be described in detail in subsequent embodiments.

[0072] The configuration receiving module is used to receive the task type configuration and cardinality selected by the user for the multi-instance task nodes through the configuration interface. The task types include serial multi-instance and parallel multi-instance. A radix verification module is used to verify the reasonableness of the radix; The task scheduling module is used to call the corresponding scheduling engine to assign an executor to the task instance according to the task type configuration; If the task type is configured as serial multiple instances, then the single task instance to be assigned will be selected and assigned to the executor whose expected completion time is the earliest. If the task type is configured as parallel multi-instance, then all task instances to be assigned will be batch-assigned with the goal of minimizing the expected completion time of all task instances.

[0073] Figure 3 The multi-instance task scheduling method for complex business scenarios provided in the embodiments of this application can be applied to devices. Those skilled in the art will understand that the device structure involved in the embodiments of this invention does not constitute a limitation on the device. A device may include more or fewer components than illustrated, or combine certain components, or have different component arrangements. In the embodiments of this invention, the device includes, but is not limited to, laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The device may also represent various forms of mobile devices, such as personal digital processors, cellular phones, smartphones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely examples and are not intended to limit the implementation of the embodiments of this application described and / or claimed herein.

[0074] The device 300 may include a processor 310, a memory 320, and a communication unit 330. These components communicate via one or more buses. Those skilled in the art will understand that the server structure shown in the figure does not constitute a limitation of the present invention. It may be a bus topology or a star topology, and may include more or fewer components than shown, or combine certain components, or have different component arrangements.

[0075] The present invention also provides a computer medium, wherein the computer medium may store a program, which, when executed, may include some or all of the steps provided in the embodiments of the present invention. The medium may be a magnetic disk, an optical disk, read-only memory (ROM), or random access memory (RAM), etc.

[0076] Those skilled in the art will clearly understand that the techniques in the embodiments of the present invention can be implemented using software plus necessary general-purpose hardware platforms. Based on this understanding, the technical solutions in the embodiments of the present invention, or the parts that contribute to the prior art, can be embodied in the form of a software product. This computer software product is stored in a medium such as a USB flash drive, a portable hard drive, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk, or any other medium capable of storing program code. It includes several instructions to cause a computer device (which may be a personal computer, a server, or a second device, network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of the present invention.

[0077] The same or similar parts between the various embodiments in this specification can be referred to mutually. In particular, the device embodiments are basically similar to the method embodiments, so the description is relatively simple, and the relevant parts can be referred to the description in the method embodiments.

[0078] In the embodiments provided by this invention, it should be understood that the disclosed systems and methods can be implemented in other ways. For example, the system embodiments described above are merely illustrative. For instance, the division of modules is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple modules or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces; the indirect coupling or communication connection between systems or modules may be electrical, mechanical, or other forms.

[0079] The modules described as separate components may or may not be physically separate. The components shown as modules may or may not be physical modules; that is, they may be located in one place or distributed across multiple network modules. Some or all of the modules can be selected to achieve the purpose of this embodiment according to actual needs.

[0080] In addition, the functional modules in the various embodiments of the present invention can be integrated into one processing module, or each module can exist physically separately, or two or more modules can be integrated into one module.

[0081] Although the present invention has been described in detail with reference to the accompanying drawings and preferred embodiments, the present invention is not limited thereto. Various equivalent modifications or substitutions can be made to the embodiments of the present invention by those skilled in the art without departing from the spirit and essence of the invention, and such modifications or substitutions should all be within the scope of the present invention. Any variations or substitutions that can be easily conceived by those skilled in the art within the technical scope disclosed in the present invention should also be covered within the protection scope of the present invention.

Claims

1. A multi-instance task scheduling method for complex business scenarios, characterized in that, Comprise: Through the configuration interface, receive the user selected task type configuration and base number for multi-instance task node, the task type includes serial multi-instance and parallel multi-instance; Reasonable check is carried out to the base number; According to the task type configuration, corresponding scheduling engine is called to allocate the executor for task instance; If the task type configuration is serial multi-instance, then for the single task instance to be allocated, the executor who can make its expected completion time earliest is selected for allocation; If the task type configuration is parallel multi-instance, then for all task instances to be allocated, batch allocation is carried out with the goal of minimizing the expected completion time of all task instances.

2. The method of claim 1, wherein, Reasonable check is carried out to the base number, including: If the task type configuration is serial multi-instance, then check whether the base number exceeds a preset maximum serial node number threshold; If the task type configuration is parallel multi-instance, then check whether the base number matches the number of currently available executors; When the check fails, prompt information is sent to the user and base number adjustment suggestion is provided.

3. The method of claim 1, wherein, The method for scheduling task instance, comprising: Submit the organization association rule predefined on the task node to the rule engine for query matching to generate an initial candidate pool, wherein the organization association rule includes at least one of the following: role, group, or logical expression based on user attributes and task attributes; Vectorize the skills required by the task and the skills possessed by the executors based on a pre-constructed global skill dictionary to generate task skill vector and executor skill vector respectively, wherein the element value in the vector represents the demand level or proficiency of a specific skill; Calculate the cosine similarity between the task skill vector and the executor skill vector of each executor in the initial candidate pool to obtain the skill matching degree; Compare the skill matching degree with a preset threshold to filter out a plurality of executors whose matching degree reaches the threshold to form a final qualified candidate list; Allocate the executors for the corresponding task instances according to the qualified candidate list.

4. The method of claim 3, wherein, Submit the organization association rule predefined on the task node to the rule engine for query matching to generate an initial candidate pool, including: Obtain the organization association rule bound for the task node, the rule including at least one of the following: role rule, group rule or logical expression rule; Convert the organization association rule into a syntax format recognizable by the rule engine; Perform pattern matching on the converted rule and executor data to filter out all executors that meet the rule to generate the initial candidate pool; Wherein, the logical expression rule is used to define dynamic matching conditions based on user attributes and task attributes.

5. The method of claim 3, wherein, Allocate the executors for the corresponding task instances according to the qualified candidate list, including: If the task type configuration is serial multi-instance, then a first allocation strategy is adopted: for the single task instance to be allocated, the executor who can make its expected completion time earliest is selected from the qualified candidate list for allocation; If the task type configuration is parallel multi-instance, a second allocation strategy is adopted: all the task instances to be allocated are allocated to the executors in the qualified candidate list in one batch with the optimization objective of minimizing the expected completion time of all the task instances to be allocated.

6. The method of claim 5, wherein, For a single task instance to be currently allocated, an executor is selected from the qualified candidate list to minimize the expected completion time of the task instance, including: traversing each executor in the qualified candidate list; for each executor, performing a queue simulation operation: obtaining the current task queue of the executor, calculating the expected start time of the current task instance at the executor based on the residual processing time prediction value of each task in the queue; calculating the expected completion time of the current task instance based on the expected start time, the reference time consumption and complexity coefficient of the current task instance, and the personal efficiency factor of the executor; selecting the executor that minimizes the expected completion time from all the qualified candidates, and allocating the current task instance to the executor; if the current task instance is marked as an urgent task, the current task instance is placed at the front end of the current task queue of the executor for the calculation of the expected start time when the queue simulation operation is performed; wherein the residual processing time prediction value is calculated by the following formula: residual processing time = (task reference time consumption × task complexity coefficient) / executor efficiency factor; the executor efficiency factor is calculated by the weighted moving average method based on the historical average processing efficiency of the executor.

7. The method of claim 5, wherein, allocating all the task instances to be allocated to the executors in the qualified candidate list in one batch with the optimization objective of minimizing the expected completion time of all the task instances to be allocated, including: initializing the current expected completion time of each qualified executor; recursively performing the following allocation steps until all the task instances to be allocated are allocated: for each unallocated task instance and each qualified executor, calculating the expected completion time after allocating the task instance to the executor based on the current expected completion time of the executor, the reference time consumption and complexity coefficient of the task instance, and the efficiency factor of the executor; selecting the one with the minimum value from all the calculated expected completion times, and allocating the corresponding task instance to the corresponding executor; updating the current expected completion time of the executor to the expected completion time calculated in this allocation.

8. A multi-instance task scheduling system for complex business scenarios, characterized in that, including: a configuration receiving module configured to receive the task type configuration and the base number selected by a user for a multi-instance task node through a configuration interface, wherein the task type includes serial multi-instance and parallel multi-instance; a base number checking module configured to perform rationality checking on the base number; a task scheduling module configured to call a corresponding scheduling engine to allocate an executor for a task instance according to the task type configuration; wherein if the task type configuration is serial multi-instance, an executor is selected to minimize the expected completion time of a single task instance to be currently allocated; If the task type is configured as parallel multi-instance, all to-be-assigned task instances are batch-assigned in order to minimize the expected completion time of all task instances.

9. A multi-instance task scheduling device for complex business scenarios, characterized in that, The application relates to a complex business scenario multi-instance task scheduling method and device. The memory is used for storing a complex business scenario multi-instance task scheduling program. The processor is used for implementing the steps of the complex business scenario multi-instance task scheduling method according to any one of claims 1-7 when the complex business scenario multi-instance task scheduling program is executed.

10. A computer readable medium having stored thereon a computer program, characterized in that, The readable medium stores the complex business scenario multi-instance task scheduling program, and the complex business scenario multi-instance task scheduling program is executed by the processor to implement the steps of the complex business scenario multi-instance task scheduling method according to any one of claims 1-7.