A workflow batch processing concurrent node scheduling method and device, electronic equipment and storage medium

By employing the highest random weight algorithm and robust capacity scoring method in batch concurrent node scheduling, the problem of secondary correction of node capacity in high-concurrency scenarios is solved, achieving stability and balance in node allocation and reducing routing jitter.

CN121858213BActive Publication Date: 2026-06-09CHANGSHA YIZHI INTELLIGENT TECHNOLOGY CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202610322561.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2026-03-17
Publication Date
2026-06-09
Estimated Expiration
2046-03-17

AI Technical Summary

Technical Problem

Existing batch processing concurrent node scheduling methods lack secondary correction of the real-time capacity of execution nodes in high-concurrency scenarios, resulting in severe routing jitter when rerunning or when the cluster fluctuates.

Method used

The highest random weight algorithm is used to select anchor nodes, construct robust capacity scores within the neighborhood, and select target nodes through the candidate node set to achieve local balanced allocation and reduce routing jitter.

Benefits of technology

By ensuring minimal stickiness and migration during node allocation and utilizing capacity weights to achieve local balance, routing jitter in high-concurrency batch processing scenarios is significantly reduced.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121858213B_ABST
    Figure CN121858213B_ABST
Patent Text Reader

Abstract

The application discloses a workflow batch processing concurrent node scheduling method and device, electronic equipment and a storage medium. After obtaining a to-be-processed workflow and determining a to-be-scheduled object, an anchor node is selected from all nodes by using a highest random weight algorithm, a neighborhood is constructed with a preset neighborhood radius taking the anchor node as the center, a robust capacity score of each node in the neighborhood is calculated, a candidate node is selected from each node in the neighborhood according to the robust capacity score, a candidate node set is obtained, one node is selected from the candidate node set as a target node, and finally the to-be-scheduled object is distributed to the target node for execution. By using the scheme of the application, the adhesion and the minimum migration amount can be ensured when the nodes are distributed, the local balance can be realized by using the capacity weight, and therefore the route jitter in the high-concurrent batch processing scene or when the cluster fluctuates can be significantly reduced.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of artificial intelligence technology, and in particular to a scheduling method, apparatus, electronic device and storage medium for concurrent nodes in workflow batch processing. Background Technology

[0002] Workflow systems designed for large-scale data processing, artificial intelligence inference, and ETL (Extract, Transform, Load) pipelines generally adopt a model where array input is followed by concurrent processing through nodes, and the results are then aggregated.

[0003] Existing batch processing concurrent node scheduling typically uses round-robin or consistent hashing, which only performs static node allocation on the commit side and lacks secondary correction of the real-time capacity of execution nodes.

[0004] Therefore, how to provide a solution to the above-mentioned technical problems is a technical problem that needs to be solved by those in the relevant technical field. Summary of the Invention

[0005] To address the aforementioned technical issues, this application provides a scheduling method, apparatus, electronic device, and storage medium for concurrent nodes in workflow batch processing. This not only ensures minimal stickiness and migration during node allocation but also achieves local balancing using capacity weights, thereby significantly reducing routing jitter during reruns or cluster fluctuations in high-concurrency batch processing scenarios.

[0006] To achieve the above objectives, the first aspect of this application provides a scheduling method for concurrent nodes in workflow batch processing, comprising:

[0007] Obtain the workflow to be processed and determine the objects to be scheduled;

[0008] The anchor node is selected from all nodes using the highest random weight algorithm;

[0009] Construct a neighborhood with the anchor node as the center and a preset neighborhood radius, and calculate the robust capacity score of each node in the neighborhood.

[0010] Candidate nodes are selected from each node in the neighborhood based on the robust capacity score, resulting in a candidate node set;

[0011] Select one node from the candidate node set as the target node;

[0012] The objects to be scheduled are assigned to the target nodes for execution.

[0013] Preferably, the anchor node is selected from all nodes using the highest random weight algorithm, including:

[0014] Based on the task key corresponding to the object to be scheduled and the identifier of each node, the weight value of each node is generated by a pseudo-random algorithm.

[0015] Select the node with the largest weight value from all nodes as the anchor node.

[0016] Preferably, the robust capacity score is calculated using the following formula:

[0017] ;

[0018] in, The robust capacity score represents the node. A metric representing the CPU resource utilization of a node. A metric representing the GPU resource utilization of a node. Queue length metric representing nodes. The latency metric representing a node. Error rate metric representing nodes. Represents the time delay scale parameter. , , , , Represents the capacity index coefficient.

[0019] Preferably, candidate nodes are selected from each node in the neighborhood based on the robust capacity score, resulting in a candidate node set, including:

[0020] Nodes with robust capacity scores greater than or equal to the capacity score threshold are selected from the nodes in the neighborhood as candidate nodes, thus obtaining a candidate node set.

[0021] Preferably, the method further includes:

[0022] Determine if the candidate node set is empty;

[0023] If so, expand the neighborhood radius and reconstruct the neighborhood with the anchor node as the center, using the expanded neighborhood radius, until the candidate node set is no longer empty.

[0024] Preferably, the method further includes:

[0025] If the expanded neighborhood radius reaches the neighborhood radius threshold and the candidate node set is still empty, the anchor node is determined as the target node.

[0026] Preferably, selecting a node as the target node from the candidate node set includes:

[0027] Calculate the product of the robust capacity score and the corresponding soft weighting coefficient for each node in the candidate node set;

[0028] Select the node with the largest product from the candidate node set as the target node.

[0029] A second aspect of this application provides a scheduling device for concurrent nodes in workflow batch processing, comprising:

[0030] The acquisition module is used to acquire the workflow to be processed and determine the objects to be scheduled;

[0031] The anchor node selection module is used to select anchor nodes from all nodes using the highest random weight algorithm;

[0032] The neighborhood construction module is used to construct a neighborhood with the anchor node as the center and a preset neighborhood radius, and to calculate the robust capacity score of each node in the neighborhood.

[0033] The candidate node selection module is used to select candidate nodes from each node in the neighborhood based on the robust capacity score, and obtain a set of candidate nodes.

[0034] The target node selection module is used to select a node as the target node from the candidate node set;

[0035] The node scheduling module is used to assign the objects to be scheduled to the target nodes for execution.

[0036] A third aspect of this application provides an electronic device including a memory and a processor, wherein the memory stores a computer program, and the processor is configured to implement the steps of the above-described workflow batch processing concurrent node scheduling method when executing the computer program.

[0037] A fourth aspect of this application provides a storage medium storing a computer program, which, when executed by a processor, implements the steps of the above-described workflow batch processing concurrent node scheduling method.

[0038] This application has at least the following beneficial effects:

[0039] After acquiring the workflow to be processed and determining the objects to be scheduled, this application uses the highest random weight algorithm to select an anchor node from all nodes. Then, a neighborhood is constructed with the anchor node as the center and a preset neighborhood radius. The robust capacity score of each node in the neighborhood is calculated. Based on the robust capacity score, candidate nodes are selected from each node in the neighborhood to obtain a candidate node set. From the candidate node set, a node is selected as the target node. Finally, the objects to be scheduled are assigned to the target node for execution. The scheme of this application can not only ensure stickiness and minimize migration during node allocation, but also achieve local balance by utilizing capacity weights, thereby significantly reducing routing jitter during reruns or cluster fluctuations in high-concurrency batch processing scenarios. Attached Figure Description

[0040] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments recorded in this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0041] Figure 1 This is a hardware structure diagram of a computer device for scheduling concurrent nodes in a workflow batch processing method according to an embodiment of this application.

[0042] Figure 2 This is a flowchart illustrating a scheduling method for concurrent nodes in a workflow batch processing embodiment of this application.

[0043] Figure 3 This is a schematic diagram of the structure of a scheduling device for concurrent nodes in a workflow batch processing according to an embodiment of this application. Detailed Implementation

[0044] To make the objectives, technical solutions, and advantages of this application clearer, the application is described and illustrated below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative and not intended to limit the application. All other embodiments obtained by those skilled in the art based on the embodiments provided in this application without inventive effort are within the scope of protection of this application. Furthermore, it is understood that although the efforts made in such a development process may be complex and lengthy, for those skilled in the art related to the content disclosed in this application, modifications to design, manufacturing, or production based on the technical content disclosed in this application are merely conventional technical means and should not be construed as insufficient disclosure of the content of this application.

[0045] In this application, the reference to "embodiment" means that a specific feature, structure, or characteristic described in connection with an embodiment may be included in at least one embodiment of this application. The appearance of this phrase in various places in the specification does not necessarily refer to the same embodiment, nor is it a separate or alternative embodiment that is mutually exclusive with other embodiments. It will be explicitly and implicitly understood by those skilled in the art that the embodiments described in this application may be combined with other embodiments without conflict.

[0046] Unless otherwise defined, the technical or scientific terms used in this application shall have the ordinary meaning understood by one of ordinary skill in the art to which this application pertains. The terms “a,” “an,” “an,” “the,” and similar words used in this application do not indicate quantity limitation and may indicate singular or plural. The terms “comprising,” “including,” “having,” and any variations thereof used in this application are intended to cover non-exclusive inclusion; for example, a process, method, system, product, or device that includes a series of steps or modules (units) is not limited to the listed steps or units, but may also include steps or units not listed, or may include other steps or units inherent to these processes, methods, products, or devices. The terms “connected,” “linked,” “coupled,” and similar words used in this application are not limited to physical or mechanical connections, but may include electrical connections, whether direct or indirect. “Multiple” used in this application means two or more. “And / or” describes the relationship between related objects, indicating that three relationships may exist; for example, “A and / or B” can represent: A alone, A and B simultaneously, and B alone. The terms “first,” “second,” “third,” etc., used in this application are merely to distinguish similar objects and do not represent a specific ordering of the objects.

[0047] The method embodiments provided in this application can be executed in a terminal, computer device, or similar computing device. Taking running on a computer device as an example, Figure 1 This is a hardware structure diagram of the computer device used in the scheduling method for concurrent nodes of workflow batch processing in this embodiment of the application. For example... Figure 1 As shown, the computer device includes a processor A01, a network interface A02, a display screen A04, an input device A05, and a memory (not shown) connected via a system bus. The processor A01 provides computing and control capabilities. The memory includes internal memory A03 and a non-volatile storage medium A06. The non-volatile storage medium A06 stores an operating system B01 and a computer program B02. The internal memory A03 provides an environment for the operation of the operating system B01 and the computer program B02 stored in the non-volatile storage medium A06. The network interface A02 is used to communicate with external terminals via a network connection. When the computer program is executed by the processor A01, it implements the workflow batch processing concurrent node scheduling method of this embodiment. The display screen A04 can be a liquid crystal display or an e-ink display. The input device A05 can be a touch layer covering the display screen, buttons, a trackball, or a touchpad mounted on the computer device casing, or an external keyboard, touchpad, or mouse.

[0048] Those skilled in the art will understand that Figure 1 The structure shown is merely a block diagram of a portion of the structure related to the present application and does not constitute a limitation on the computer device to which the present application is applied. Specific computer devices may include more or fewer components than those shown in the figure, or combine certain components, or have different component arrangements.

[0049] This application provides a method for scheduling concurrent nodes in workflow batch processing. Please refer to... Figure 2 , Figure 2 This is a flowchart illustrating the scheduling method for concurrent nodes in workflow batch processing provided in this embodiment. The method may include the following steps:

[0050] Step S210: Obtain the workflow to be processed and determine the objects to be scheduled.

[0051] Step S220: Select the anchor node from all nodes using the highest random weight algorithm.

[0052] In this embodiment, when assigning execution nodes to the workflow to be processed, the highest random weight (HRW) algorithm is first used to select an anchor node from all nodes. The HRW algorithm is an algorithm used in distributed systems to achieve load balancing and consistency selection. It allows clients to independently reach consensus among multiple nodes (such as servers or cache nodes) to determine which node a given object or key should be assigned to. The HRW algorithm ensures the stickiness of routes to keys, remapping only keys falling on the changed node when members undergo minor changes, minimizing migration and providing a stable anchor point for subsequent secondary balancing within the neighborhood.

[0053] Step S230: Construct a neighborhood with the anchor node as the center and a preset neighborhood radius, and calculate the robust capacity score of each node in the neighborhood.

[0054] In this embodiment, after the anchor node is determined, a neighborhood is constructed with the anchor node as the center and a preset neighborhood radius. Robust capacity scores are then calculated for each node within the neighborhood. The preset neighborhood radius can be defined based on the topological affinity of several servers before and after the hash ring, or the same rack / availability zone, and is set to 2-5 by default.

[0055] Step S240: Select candidate nodes from each node in the neighborhood based on the robust capacity score to obtain a candidate node set.

[0056] In this embodiment of the application, based on the robust capacity score of each node in the neighborhood, only nodes that meet the availability conditions are retained as the candidate node set.

[0057] Step S250: Select a node from the candidate node set as the target node.

[0058] In this embodiment, nodes are reassigned according to capacity weight within the symmetric neighborhood of the anchor node. Unlike the traditional global least connection or global weighted hash algorithm, this embodiment limits the secondary balancing to the symmetric neighborhood of the anchor node. This can maintain the stickiness and minimize migration of the HRW algorithm, and achieve local balancing by utilizing capacity weight. This significantly reduces routing jitter during reruns or cluster fluctuations in high-concurrency batch processing scenarios.

[0059] Step S260: Assign the object to be scheduled to the target node for execution.

[0060] As described above, the workflow batch processing concurrent node scheduling method provided in this application, after acquiring the workflow to be processed and determining the scheduling object, selects an anchor node from all nodes using the highest random weight algorithm. Then, a neighborhood is constructed with the anchor node as the center and a preset neighborhood radius. The robust capacity score of each node in the neighborhood is calculated. Candidate nodes are selected from each node in the neighborhood based on the robust capacity score, resulting in a candidate node set. A node is selected from the candidate node set as the target node, and finally, the scheduling object is assigned to the target node for execution. The scheme of this application not only ensures minimal stickiness and migration during node allocation but also achieves local equilibrium using capacity weights, thereby significantly reducing routing jitter during reruns or cluster fluctuations in high-concurrency batch processing scenarios.

[0061] Optionally, in the above embodiments, step S220, which uses the highest random weight algorithm to select the anchor node from all nodes, includes:

[0062] Step S2201: Based on the task key corresponding to the object to be scheduled and the identifier of each node, generate the weight value of each node through a pseudo-random algorithm.

[0063] Step S2202: Select the node with the largest weight value from all nodes as the anchor node.

[0064] In practice, a task key can be constructed for each entry. k Recommended key fields are:

[0065] ;

[0066] in, For a stable 64-bit hash, This is a batch unique key that identifies a unique instance of a batch process. For the entry index, Used as a node identifier.

[0067] The node with the largest weight value is selected as the anchor node from all nodes according to the HRW algorithm:

[0068] ;

[0069] in, For the selected anchor nodes, For the first n 1 node The set of all nodes. For task key With the n The random weight value corresponding to each node.

[0070] Optionally, in the above embodiments, the robust capacity score is calculated using the following formula:

[0071] ;

[0072] in, The robust capacity score represents the node. Representing nodes CPU Resource utilization rate indicators A metric representing the GPU resource utilization of a node. Queue length metric representing nodes. The latency metric representing a node. Error rate metric representing nodes. Represents the time delay scale parameter. , , , , Represents the capacity index coefficient.

[0073] In practice, to suppress transient spike noise, a sliding window median filter can be applied to each original index sequence, and Hampel or IQR filters can be used to prune and remove extreme values ​​(samples exceeding the threshold are replaced with the median within the window). Capacity snapshots must include a timestamp; snapshots exceeding three sampling periods are considered invalid. Capacity index coefficients. , , , , The default values ​​are 1, 1, 0.5, 0.5, and 2, respectively.

[0074] Optionally, in the above embodiments, step S240, selecting candidate nodes from each node in the neighborhood based on the robust capacity score to obtain a candidate node set, includes:

[0075] Nodes with robust capacity scores greater than or equal to the capacity score threshold are selected from the nodes in the neighborhood as candidate nodes, thus obtaining a candidate node set.

[0076] In this embodiment of the application, the capacity score threshold We can take the 10th percentile of the robust capacity scores set of all nodes in the neighborhood, that is, sort the robust capacity scores in this set from smallest to largest, and then take the robust capacity score corresponding to the 10th percentile position as the capacity score threshold. From each node in the neighborhood, select those whose robust capacity scores are greater than or equal to the capacity score threshold. The nodes are selected as candidate nodes, resulting in a candidate node set. Only the nodes that meet the requirements for usability are retained. A hysteresis mechanism can also be used, setting an entry threshold. and exit threshold Among them, the entry threshold Greater than the exit threshold In practice, the default is... , .

[0077] Furthermore, in the above embodiments, the method further includes the following steps:

[0078] Determine whether the set of candidate nodes is empty.

[0079] If so, expand the neighborhood radius and reconstruct the neighborhood with the anchor node as the center, using the expanded neighborhood radius, until the candidate node set is no longer empty.

[0080] In this embodiment of the application, when the capacity score index is missing or the neighborhood is blocked, the available candidate node set may be empty. At this time, the neighborhood radius can be adaptively expanded, the neighborhood can be reconstructed, and the robust capacity score of each node in the expanded neighborhood can be calculated to obtain a new candidate node set. This process is repeated until the candidate node set is no longer empty.

[0081] Furthermore, in the above embodiments, the method further includes the following steps:

[0082] If the expanded neighborhood radius reaches the neighborhood radius threshold and the candidate node set is still empty, the anchor node is determined as the target node.

[0083] In this embodiment, the neighborhood radius threshold can be preset, with a default value of 6. When the neighborhood radius expands to the threshold, if the candidate node set is still empty, it reverts to the anchor node and directly determines the anchor node as the target node. It is understood that this embodiment adopts a fixed "expand radius → revert to anchor point" order, with clear availability priority. When indicators are missing or the neighborhood is congested, it avoids blind global diffusion, ensuring degraded availability.

[0084] Optionally, in the above embodiments, step S250, selecting a node from the candidate node set as the target node, includes:

[0085] Step S2501: Calculate the product of the robust capacity score and the corresponding soft weighting coefficient for each node in the candidate node set.

[0086] Step S2502: Select the node with the largest product from the candidate node set as the target node.

[0087] In this embodiment, a dimensionless soft-weighting coefficient related to tenant quota / hardware affinity (such as GPU model) can be set for each node. When the candidate node set is not empty, the robust capacity score of each node in the candidate node set is calculated as the product of the corresponding soft-weighting coefficient, and the node with the largest product is selected as the target node. It can be understood that by setting a soft-weighting coefficient for each node, nodes with insufficient quotas can be downweighted and nodes with hardware affinity can be slightly weighted, and both are soft constraints that do not violate the stickiness of the HRW algorithm.

[0088] This application also provides a scheduling device for concurrent nodes in workflow batch processing. Please refer to... Figure 3 , Figure 3 This is a schematic diagram of the scheduling device for concurrent workflow batch processing nodes in an embodiment of this application. The scheduling device may include:

[0089] The acquisition module 310 is used to acquire the workflow to be processed and determine the objects to be scheduled;

[0090] Anchor node selection module 320 is used to select anchor nodes from all nodes using the highest random weight algorithm;

[0091] The neighborhood construction module 330 is used to construct a neighborhood with the anchor node as the center and a preset neighborhood radius, and to calculate the robust capacity score of each node in the neighborhood.

[0092] The candidate node selection module 340 is used to select candidate nodes from each node in the neighborhood based on the robust capacity score, and obtain a candidate node set.

[0093] The target node selection module 350 is used to select a node as the target node from the candidate node set;

[0094] The node scheduling module 360 ​​is used to assign objects to be scheduled to target nodes for execution.

[0095] It should be noted that the apparatus provided in the above embodiments is only illustrated by the division of the above program modules when performing related operations. In actual applications, the above processing can be assigned to different program modules as needed, that is, the internal structure of the terminal can be divided into different program modules to complete all or part of the processing described above. In addition, the apparatus provided in the above embodiments and the method embodiments in the above embodiments belong to the same concept, and the specific implementation process can be found in the method embodiments, which will not be repeated here.

[0096] Based on the hardware implementation of the above program modules, and in order to implement the method of the embodiments of this application, the embodiments of this application also provide an electronic device, including a memory and a processor, wherein the memory stores a computer program, and the processor is configured to implement the steps of the above-described workflow batch processing concurrent node scheduling method when executing the computer program.

[0097] In an exemplary embodiment, the processor may be implemented by one or more application-specific integrated circuits (ASICs), DSPs, programmable logic devices (PLDs), complex programmable logic devices (CPLDs), field-programmable gate arrays (FPGAs), general-purpose processors, controllers, microcontrollers (MCUs), microprocessors, or other electronic components to perform the aforementioned method.

[0098] It is understood that the memory in the embodiments of this application can be volatile memory or non-volatile memory, or both. Non-volatile memory can be read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), ferromagnetic random access memory (FRAM), flash memory, magnetic surface memory, optical disc, or compact disc read-only memory (CD ROM); magnetic surface memory can be disk storage or magnetic tape storage. Volatile memory can be random access memory (RAM), which is used as an external cache. By way of example, but not limitation, many forms of RAM are available, such as Static Random Access Memory (SRAM), Synchronous Static Random Access Memory (SSRAM), Dynamic Random Access Memory (DRAM), Synchronous Dynamic Random Access Memory (SDRAM), Double Data Rate Synchronous Dynamic Random Access Memory (DDRSDRAM), Enhanced Synchronous Dynamic Random Access Memory (ESDRAM), SyncLink Dynamic Random Access Memory (SLDRAM), and Direct Rambus Random Access Memory (DRRAM).The memories described in the embodiments of this application are intended to include, but are not limited to, these and any other suitable types of memories.

[0099] In one embodiment, this application also provides a computer-readable storage medium storing a computer program that, when executed by a processor, implements the steps of the workflow batch processing concurrent node scheduling method described above.

[0100] It is understood that the computer-readable storage medium in the embodiments of this application includes permanent and non-permanent, removable and non-removable media, and information storage can be implemented by any method or technology. Information can be computer-readable instructions, data structures, program modules, or other data. Examples of computer storage media include, but are not limited to, phase-change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technologies, CD-ROM, digital versatile optical disc (DVD) or other optical storage, magnetic tape, magnetic magnetic disk storage or other magnetic storage devices, or any other non-transfer medium that can be used to store information accessible by a computing device. As defined herein, computer-readable storage media does not include transient media, such as modulated data signals and carrier waves.

[0101] Those skilled in the art should understand that this application is not limited to the above embodiments. The embodiments and descriptions in the specification are merely illustrative of the principles of this application. Various changes and modifications can be made to this application without departing from the spirit and scope thereof, and all such changes and modifications fall within the scope of this application as claimed. The scope of protection of this application is defined by the appended claims and their equivalents.

Claims

1. A scheduling method for concurrent nodes in a workflow batch processing, characterized in that, include: Obtain the workflow to be processed and determine the objects to be scheduled; The anchor node is selected from all nodes using the highest random weight algorithm; With the anchor node as the center, a neighborhood is constructed with a preset neighborhood radius, and the robust capacity score of each node in the neighborhood is calculated. Candidate nodes are selected from each node in the neighborhood based on the robust capacity score to obtain a candidate node set; Select one node from the candidate node set as the target node; The object to be scheduled is assigned to the target node for execution; The robust capacity score is calculated using the following formula: ; in, The robust capacity score represents the node. A metric representing the CPU resource utilization of a node. A metric representing the GPU resource utilization of a node. Queue length metric representing nodes. The latency metric representing a node. Error rate metric representing nodes. Represents the time delay scale parameter, , , , , Representative capacity index coefficient; Selecting a node from the candidate node set as the target node includes: Calculate the product of the robust capacity score and the corresponding soft weighting coefficient for each node in the candidate node set; Select the node with the largest product from the candidate node set as the target node; The soft weighting coefficient is a dimensionless coefficient related to the tenant quota and hardware affinity of each node.

2. The scheduling method for concurrent nodes in workflow batch processing according to claim 1, characterized in that, The step of selecting the anchor node from all nodes using the highest random weight algorithm includes: Based on the task key corresponding to the object to be scheduled and the identifier of each node, a pseudo-random algorithm is used to generate the weight value of each node. Select the node with the largest weight value from all nodes as the anchor node.

3. The scheduling method for concurrent nodes in workflow batch processing according to claim 1, characterized in that, The step of selecting candidate nodes from each node in the neighborhood based on the robust capacity score to obtain a candidate node set includes: Nodes with robust capacity scores greater than or equal to the capacity score threshold are selected from the nodes in the neighborhood as candidate nodes, thus obtaining a candidate node set.

4. The scheduling method for concurrent nodes in workflow batch processing according to claim 3, characterized in that, The method further includes: Determine whether the candidate node set is an empty set; If so, the neighborhood radius is expanded, and the neighborhood is reconstructed with the anchor node as the center and the expanded neighborhood radius until the candidate node set is not an empty set.

5. The scheduling method for concurrent nodes in workflow batch processing according to claim 4, characterized in that, The method further includes: If the expanded neighborhood radius reaches the neighborhood radius threshold and the candidate node set is still empty, the anchor node is determined as the target node.

6. A scheduling device for concurrent nodes in a workflow batch processing, characterized in that, include: The acquisition module is used to acquire the workflow to be processed and determine the objects to be scheduled; The anchor node selection module is used to select anchor nodes from all nodes using the highest random weight algorithm; The neighborhood construction module is used to construct a neighborhood with the anchor node as the center and a preset neighborhood radius, and to calculate the robust capacity score of each node in the neighborhood. The candidate node selection module is used to select candidate nodes from each node in the neighborhood based on the robust capacity score, so as to obtain a candidate node set; The target node selection module is used to select a node as the target node from the candidate node set; The node scheduling module is used to assign the object to be scheduled to the target node for execution; The robust capacity score is calculated using the following formula: ; in, The robust capacity score represents the node. A metric representing the CPU resource utilization of a node. A metric representing the GPU resource utilization of a node. Queue length metric representing nodes. The latency metric representing a node. Error rate metric representing nodes. Represents the time delay scale parameter, , , , , Representative capacity index coefficient; Selecting a node from the candidate node set as the target node includes: Calculate the product of the robust capacity score and the corresponding soft weighting coefficient for each node in the candidate node set; Select the node with the largest product from the candidate node set as the target node; The soft weighting coefficient is a dimensionless coefficient related to the tenant quota and hardware affinity of each node.

7. An electronic device comprising a memory and a processor, characterized in that, The memory stores a computer program, and the processor is configured to run the computer program to perform the scheduling method for workflow batch processing concurrent nodes as described in any one of claims 1 to 5.

8. A storage medium, characterized in that, The storage medium stores a computer program, wherein the computer program is configured to execute, when run, the scheduling method for concurrent workflow batch processing nodes as described in any one of claims 1 to 5.

Citation Information

Patent Citations

  • Scheduling method, device and equipment based on double-layer large-scale neighborhood search

    CN118485171A

  • Method for applying linear programming to CDN (Content Delivery Network) scheduling

    CN121603504A