A node management method, device, equipment and storage medium

By dynamically managing work nodes in cloud servers and adjusting the number of nodes according to usage rate and trend values, the cloud server's resource utilization efficiency problem in high concurrency and low concurrency is solved, and the timeliness of work tasks and rational utilization of resources are achieved.

CN118138591BActive Publication Date: 2024-12-24SUZHOU WANDIANZHANG NETWORK TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202410553670.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-05-07
Publication Date
2024-12-24
Estimated Expiration
2044-05-07

AI Technical Summary

Technical Problem

In cloud servers, a fixed number of work nodes has a long inference time when facing instantaneously high concurrent work tasks, and it is easy to cause waste of resources when there are fewer tasks, and it is impossible to effectively deal with changes in node usage.

Method used

By obtaining the operating status of the work node in the scheduling center, dynamically calculate the node usage rate, and determine the expansion or reduction strategy based on the usage rate and trend value, sending a request to the cloud vendor abstract layer for node management, realizing dynamic expansion without human intervention and shrink.

Benefits of technology

Improve the timeliness of work tasks, optimize resource utilization, increase nodes at high concurrency to reduce latency, and reduce nodes when tasks are reduced to save resources and avoid resource waste.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN118138591B_ABST
    Figure CN118138591B_ABST
Patent Text Reader

Abstract

The present application discloses a node management method, device, equipment and storage medium, which relates to the field of node management, including: the scheduling center in the preset scheduling group obtains the operating status of all working nodes in the current preset scheduling group, and determines the current node utilization rate based on the operating status of each working node; determines the node management strategy based on the current node utilization rate; if the node management strategy indicates that the working nodes in the preset scheduling group need to be expanded or reduced, then a node management request is sent to the cloud provider abstraction layer, so that the cloud provider abstraction layer manages the working nodes in the preset scheduling group based on the node management request; wherein the cloud provider abstraction layer is connected to multiple cloud providers and is connected to the scheduling center through a unified interface. The present application realizes dynamic expansion and reduction of working nodes based on node utilization without manual intervention, ensures the timeliness of work tasks, and realizes the rational use of resources.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of node management, and in particular to a node management method, device, equipment and storage medium. Background Art

[0002] A cloud server can contain one or more GPUs (Graphics Processing Units). One GPU corresponds to one video memory, that is, one worker node. The video memory used to deploy a single large language model is large, so generally one worker node can only deploy one model. In addition, when a single worker node runs a single model, the total time it takes to reason about two tasks at the same time is usually greater than the total time it takes to execute the two tasks in series. Therefore, in general, a worker node only reason about one task at a time. For a fixed number of cloud servers, that is, a fixed number of worker nodes, when faced with instantaneous high-concurrency tasks, task reasoning takes a long time; when faced with fewer tasks, it is easy to cause resource waste. Summary of the invention

[0003] In view of this, the purpose of the present invention is to provide a node management method, device, equipment and storage medium, which can realize dynamic expansion and reduction of working nodes based on node utilization without manual intervention, ensure the timeliness of work tasks, and realize the rational use of resources. The specific scheme is as follows:

[0004] In a first aspect, the present application provides a node management method, which is applied to a scheduling center in a preset scheduling group, wherein the preset scheduling group also includes a plurality of working nodes; wherein the method includes:

[0005] Obtaining the running status of all current working nodes, and determining the current node utilization rate based on the running status of each of the working nodes;

[0006] Determine a node management strategy based on the current node usage rate;

[0007] If the node management policy indicates that the working nodes in the preset scheduling group need to be expanded or reduced, a node management request is sent to the cloud provider abstraction layer so that the cloud provider abstraction layer manages the working nodes in the preset scheduling group based on the node management request;

[0008] The cloud provider abstraction layer is connected to multiple cloud providers and is connected to the dispatch center through a unified interface.

[0009] Optionally, the obtaining the running status of all current working nodes and determining the current node usage rate based on the running status of each working node includes:

[0010] Obtain the running status of all current working nodes, and determine the target working node whose running status is busy from all the working nodes;

[0011] The current node usage rate is determined based on the number of the target working nodes and the total number of all the working nodes.

[0012] Optionally, the acquiring the running status of all current working nodes and determining the target working node whose running status is busy from all the working nodes includes:

[0013] Obtain the running status of all current working nodes sent based on a preset heartbeat rate, and update the node index table in the preset cache based on the running status of all the working nodes; the node index table is an index table pre-constructed based on each of the working nodes and the corresponding running status;

[0014] The updated node index table is index traversed to determine a target working node whose running status is a busy state from all the working nodes.

[0015] Optionally, determining a node management strategy based on the current node usage rate includes:

[0016] Determine whether the current node usage rate is within a preset usage rate range;

[0017] If the current node usage rate is greater than the upper limit of the preset usage rate range, the node expansion strategy is determined as the node management strategy;

[0018] If the current node usage rate is less than the lower limit of the preset usage rate range, the node scaling-in strategy is determined as the node management strategy.

[0019] Optionally, determining a node management strategy based on the current node usage rate includes:

[0020] Obtaining node usage rates at any two different moments in a first preset historical time period that is adjacent to the current moment and includes the current moment;

[0021] Determine a node usage rate trend value based on the node usage rates at any two different times, and determine whether the node usage rate trend value is within a preset trend value range;

[0022] If the node usage trend value is greater than the upper limit of the preset trend value range, the node expansion strategy is determined as the node management strategy;

[0023] If the node usage trend value is less than the lower limit of the preset trend value range, the node scaling strategy is determined as the node management strategy;

[0024] The node usage rates at any two different moments include the current node usage rate corresponding to the current moment.

[0025] Optionally, determining a node management strategy based on the current node usage rate includes:

[0026] Obtain historical node usage rates at least two different moments in a second preset historical time period that is adjacent to the current moment and does not include the current moment;

[0027] Determine a node usage trend value based on each of the historical node usages and the current node usage;

[0028] If the number of trend values ​​greater than the preset trend value upper limit among all the node usage trend values ​​is greater than a preset number, the node capacity expansion strategy is determined as the node management strategy;

[0029] If the number of trend values ​​that are less than the preset trend value lower limit among all the node usage trend values ​​is greater than the preset number, the node scaling strategy is determined as the node management strategy.

[0030] Optionally, if the node management policy indicates that the working nodes in the preset scheduling group need to be expanded or reduced in capacity, sending a node management request to a cloud provider abstraction layer so that the cloud provider abstraction layer manages the working nodes in the preset scheduling group based on the node management request, including:

[0031] If the node management policy indicates that the working nodes in the preset scheduling group need to be expanded, a node addition request is sent to the cloud provider abstraction layer, and the cloud provider abstraction layer calls the cloud provider corresponding to the node addition request to create a corresponding new cloud server in the preset scheduling group through the unified interface, and after the new cloud server is started based on the preset startup image containing the scheduling agent, the scheduling agent in the new cloud server determines each new working node based on each local graphics processor, and sends the node registration request determined based on each new working node to the scheduling center, so that the scheduling center locally registers the information of each new working node based on the node registration request;

[0032] If the node management policy indicates that the working nodes in the preset scheduling group need to be scaled down, a server offline request is sent to the corresponding target cloud server, and after the scheduling agent in the target cloud server shuts down each working node in the target cloud server based on the server offline request, a server destruction instruction is sent to the cloud provider abstraction layer so that the cloud provider abstraction layer destroys the target cloud server in the preset scheduling group.

[0033] In a second aspect, the present application provides a node management device, which is applied to a scheduling center in a preset scheduling group, wherein the preset scheduling group also includes a plurality of working nodes; wherein the device includes:

[0034] A utilization rate determination module is used to obtain the operating status of all current working nodes and determine the current node utilization rate based on the operating status of each of the working nodes;

[0035] A strategy determination module, used to determine a node management strategy based on the current node usage rate;

[0036] A node management module, configured to send a node management request to a cloud provider abstraction layer if the node management policy indicates that the working nodes in the preset scheduling group need to be expanded or reduced, so that the cloud provider abstraction layer manages the working nodes in the preset scheduling group based on the node management request;

[0037] The cloud provider abstraction layer is connected to multiple cloud providers and is connected to the dispatch center through a unified interface.

[0038] In a third aspect, the present application provides an electronic device, including:

[0039] Memory, used to store computer programs;

[0040] A processor is used to execute the computer program to implement the aforementioned node management method.

[0041] In a fourth aspect, the present application provides a computer-readable storage medium for storing a computer program, which implements the aforementioned node management method when executed by a processor.

[0042] In the present application, the scheduling center in the preset scheduling group obtains the running status of all current working nodes, and determines the current node utilization rate based on the running status of each of the working nodes; determines the node management strategy based on the current node utilization rate; if the node management strategy indicates that the working nodes in the preset scheduling group need to be expanded or reduced, a node management request is sent to the cloud provider abstraction layer, so that the cloud provider abstraction layer manages the working nodes in the preset scheduling group based on the node management request; wherein the cloud provider abstraction layer is connected to multiple cloud providers and connected to the scheduling center through a unified interface. It can be seen that the present application connects multiple cloud providers through the cloud provider abstraction layer, thereby supporting multiple different cloud providers, and the cloud provider abstraction layer is connected to the scheduling center through a unified interface, shielding the differences between the major cloud providers, and improving the compatibility and adaptability of node management; further, the present application realizes dynamic expansion and reduction of working nodes based on the node utilization rate without manual intervention, so that it can not only cope with instantaneous high-concurrency work tasks and ensure the timeliness of work tasks, but also can ensure the work efficiency of nodes while realizing the rational use of resources. BRIEF DESCRIPTION OF THE DRAWINGS

[0043] In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are only embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on the provided drawings without paying creative work.

[0044] Figure 1 A flowchart of a node management method disclosed in this application;

[0045] Figure 2 This is a scheduling platform architecture diagram disclosed in this application;

[0046] Figure 3 A schematic diagram of the structure of a node management device disclosed in this application;

[0047] Figure 4 This is a structural diagram of an electronic device disclosed in this application. DETAILED DESCRIPTION

[0048] The following will be combined with the drawings in the embodiments of the present invention to clearly and completely describe the technical solutions in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.

[0049] For a fixed number of cloud servers, that is, a fixed number of working nodes, when faced with instantaneous high-concurrency work tasks, task reasoning consumes a long time; when faced with fewer work tasks, it is easy to cause resource waste. To this end, the present application provides a node management method that can dynamically expand and reduce the capacity of working nodes based on node utilization without manual intervention, ensure the timeliness of work tasks, and achieve rational use of resources.

[0050] See also Figure 1 As shown, an embodiment of the present invention discloses a node management method, which is applied to a scheduling center in a preset scheduling group, wherein the preset scheduling group also includes a plurality of working nodes; wherein the method includes:

[0051] Step S11: Obtain the operating status of all current working nodes, and determine the current node utilization rate based on the operating status of each working node.

[0052] In this embodiment, one working node corresponds to one GPU, and one cloud server may contain one or more GPUs, that is, one cloud server may contain one or more working nodes. In addition, the running status of the working node includes busy status, idle status, alarm status, etc.; wherein the busy status indicates that the working node is processing a work task, the idle status indicates that the working node has not processed a work task, and the alarm status indicates that an abnormality occurs when the working node processes a work task.

[0053] Specifically, the scheduling center in the preset scheduling group obtains the running status of all current working nodes in the scheduling group, and determines the target working node whose running status is busy from all working nodes; then the current node utilization rate is determined based on the number of target working nodes and the total number of all working nodes, that is, the current node utilization rate = the number of target working nodes / the total number of all working nodes.

[0054] Furthermore, the scheduling center will obtain the operating status of all current working nodes based on the preset heartbeat rate; wherein, the preset heartbeat rate can be set according to the actual needs of the user, for example, set to send the operating status once per second. Then the scheduling center updates the node index table in the preset cache based on the operating status of all working nodes; wherein, the node index table is an index table pre-constructed based on each working node and the corresponding operating status. Further, the scheduling center performs an index traversal on the updated node index table to determine the target working node whose operating status is a busy state from all working nodes. In this way, the working node in a busy state can be quickly retrieved through the node index table to quickly calculate the current node utilization rate.

[0055] It should be noted that in addition to sending its own operating status to the scheduling center, the working node can also send GPU performance parameters, the node's own network information, node type, node memory usage, etc. Among them, the node types include fixed nodes and non-fixed nodes; fixed nodes refer to resident nodes that ensure the normal operation of the system. Fixed nodes will not be released or destroyed, while non-fixed nodes can be released and destroyed. In other words, for the expansion and reduction of working nodes in the preset scheduling group, the expansion can be either fixed nodes or non-fixed nodes; the reduction is for non-fixed nodes.

[0056] Step S12: Determine a node management strategy based on the current node usage rate.

[0057] In a specific implementation, determining a node management strategy based on the current node usage rate may include: determining whether the current node usage rate is within a preset usage rate range; wherein the preset usage rate range may be set by the user according to actual needs, for example, it may be set to 30% to 80%. If the current node usage rate is greater than the upper limit of the preset usage rate range, the node expansion strategy is determined as the node management strategy; if the current node usage rate is less than the lower limit of the preset usage rate range, the node reduction strategy is determined as the node management strategy. It should be noted that the number of node expansions and the number of node reductions may be pre-set or determined based on the actual work tasks received.

[0058] In another specific embodiment, determining the node management strategy based on the current node usage rate may include: obtaining the node usage rates at any two different moments within the first preset historical time period adjacent to the current moment and including the current moment; wherein the node usage rates at any two different moments may include or exclude the current node usage rate corresponding to the current moment. Then, the node usage rate trend value is determined based on the node usage rates at any two different moments, that is, the node usage rate trend value = the usage rate difference between the node usage rates at any two different moments / the time difference between any two different moments; it should be noted that the usage rate difference between the node usage rates at any two different moments corresponds to any two different moments involved in the time difference between any two different moments, that is, if the any two different moments involved in the usage rate difference between the node usage rates at any two different moments are moment a and moment b, then the any two different moments involved in the time difference between any two different moments are also moment a and moment b. After obtaining the node utilization trend value, determine whether the node utilization trend value is within the preset trend value range; if the node utilization trend value is greater than the upper limit value of the preset trend value range, the node expansion strategy is determined as the node management strategy; if the node utilization trend value is less than the lower limit value of the preset trend value range, the node reduction strategy is determined as the node management strategy.

[0059] In another specific implementation, determining a node management strategy based on the current node usage rate may include: obtaining the historical node usage rates of at least two different moments within a second preset historical time period that is adjacent to the current moment and does not include the current moment; determining corresponding node usage trend values ​​based on each historical node usage rate and the current node usage rate; if the number of trend values ​​greater than the preset trend value upper limit among all node usage trend values ​​is greater than the preset number, determining the node expansion strategy as the node management strategy; if the number of trend values ​​less than the preset trend value lower limit among all node usage trend values ​​is greater than the preset number, determining the node scaling strategy as the node management strategy. It should be noted that the preset number is determined based on the total number of all node usage trend values. For example, the preset number may be half of the total number of all node usage trend values.

[0060] For example, the current node usage is a1, the historical node usage at 10 seconds before the current moment is b1, the historical node usage at 30 seconds before the current moment is c1, the historical node usage at 100 seconds before the current moment is d1, and the historical node usage at 300 seconds before the current moment is e1. The node usage trend value E1 within 300 seconds is calculated using |a1-e1| / 300, the node usage trend value D1 within 100 seconds is calculated using |a1-d1| / 100, the node usage trend value C1 within 30 seconds is calculated using |a1-c1| / 30, and the node usage trend value B1 within 10 seconds is calculated using |a1-b1| / 10. If B1, C1, D1, and E1 are all greater than the preset trend value upper limit, the node expansion strategy is determined as the node management strategy.

[0061] Step S13: If the node management policy indicates that the working nodes in the preset scheduling group need to be expanded or reduced in capacity, a node management request is sent to the cloud provider abstraction layer so that the cloud provider abstraction layer manages the working nodes in the preset scheduling group based on the node management request; wherein the cloud provider abstraction layer is connected to multiple cloud providers and is connected to the scheduling center through a unified interface.

[0062] In this embodiment, if the node management strategy is a node expansion strategy, that is, the node management strategy indicates that the working nodes in the preset scheduling group need to be expanded, the scheduling center sends a node addition request to the cloud provider abstraction layer. Then the cloud provider abstraction layer calls the cloud provider corresponding to the node addition request to create a corresponding new cloud server (ECS, Elastic Compute Service) in the preset scheduling group through a unified interface, wherein the node addition request includes GPU specifications, required memory capacity, CPU (Central Processing Unit, central processing unit) specifications, etc.; then the cloud provider abstraction layer uses a preset startup image containing a scheduling agent to start the new cloud server; wherein the preset startup image has a built-in Docker container, and the Docker container includes a scheduling agent and other default programs. After the new cloud server is started, the scheduling agent in the new cloud server determines each new working node based on each local graphics processor GPU, and sends the node registration request determined based on each new working node to the scheduling center. After receiving the node registration request, the scheduling center locally registers the information of each newly added work node based on the node registration request, and after the registration is completed, loads the corresponding large language model to each newly added work node. Taking into account that the first use of the model takes a long time, after the large language model is loaded into the corresponding new work node, the large language model performs a simulated reasoning to warm up, and then it can process normal work tasks.

[0063] In this embodiment, if the node management policy is a node scaling policy, that is, the node management policy indicates that the working nodes in the preset scheduling group need to be scaled down, the scheduling center sends a server offline request to the corresponding target cloud server. The scheduling agent in the target cloud server shuts down each working node in the target cloud server based on the server offline request, that is, the closed working node will no longer receive and process work tasks, and responds to the scheduling center after shutting down the working node. The scheduling center then sends a server destruction instruction to the cloud provider abstract layer so that the cloud provider abstract layer destroys the target cloud server in the preset scheduling group, that is, destroys each working node in the target cloud server, thereby realizing the scaling down of the working nodes in the preset scheduling group.

[0064] It can be seen that the present application connects multiple cloud providers through the cloud provider abstraction layer, thereby supporting multiple different cloud providers, and the cloud provider abstraction layer is connected to the scheduling center through a unified interface, shielding the differences between the major cloud providers and improving the compatibility and adaptability of node management; further, the present application realizes dynamic expansion and reduction of working nodes based on node utilization rate without manual intervention, thereby not only being able to cope with instantaneous high-concurrency work tasks and ensure the timeliness of work tasks, but also achieving rational use of resources while ensuring node work efficiency.

[0065] See also Figure 2 As shown, an embodiment of the present invention discloses a node management method, including:

[0066] The scheduling platform includes a cloud provider abstraction layer and multiple scheduling groups; each scheduling group includes a scheduling center and multiple worker nodes; the cloud provider abstraction layer is connected to multiple different cloud providers and connected to the scheduling center through a unified interface, thus shielding the differences between major cloud providers.

[0067] The scheduling platform receives the work tasks sent by the business side and assigns the work tasks to the corresponding scheduling group based on the DNS (Domain Name System) load balancing strategy. The scheduling center in the scheduling group assigns the corresponding working node to the work task to process the work task.

[0068] At the same time, for any scheduling group, the scheduling center will obtain the running status of all current working nodes in the scheduling group based on the high-frequency heartbeat, and determine the target working node with a busy running status from all working nodes in the scheduling group, and then determine the current node utilization rate based on the ratio between the number of target working nodes and the total number of all working nodes. The node management strategy is determined based on the current node utilization rate; if the node utilization rate is high, the node expansion strategy is determined as the node management strategy; if the node utilization rate is low, the node reduction strategy is determined as the node management strategy.

[0069] If the node management strategy is a node expansion strategy, the scheduling center sends a node addition request to the cloud provider abstraction layer, and calls the cloud provider corresponding to the node addition request in the cloud provider abstraction layer to create a corresponding new cloud server in the scheduling group through a unified interface. After the new cloud server is started based on the preset startup image containing the scheduling agent, the scheduling agent in the new cloud server determines each new working node based on each local GPU, and sends the node registration request determined based on each new working node to the scheduling center, so that the scheduling center can register the information of each new working node locally based on the node registration request, thereby realizing the expansion of the working nodes in the scheduling group.

[0070] If the node management strategy is a node scaling strategy, the scheduling center sends a server offline request to the corresponding target cloud server, and after the scheduling agent in the target cloud server shuts down each working node in the target cloud server based on the server offline request, the scheduling center sends a server destruction instruction to the cloud provider abstraction layer so that the cloud provider abstraction layer can destroy the target cloud server in the scheduling group, thereby achieving scaling down of the working nodes in the scheduling group.

[0071] It can be seen that when facing instantaneous high-concurrency work tasks, this embodiment expands the capacity of the work nodes in the scheduling group to use more work nodes to process work tasks, thereby avoiding the problems of task accumulation and additional delays; and when facing fewer work tasks, it reduces the capacity of the work nodes in the scheduling group, thereby releasing some work nodes to save resources and costs, realize the rational use of resources, and ensure the processing speed of work tasks.

[0072] See also Figure 3 As shown, an embodiment of the present invention discloses a node management device, which is applied to a scheduling center in a preset scheduling group, wherein the preset scheduling group also includes a plurality of working nodes; wherein the device includes:

[0073] A usage rate determination module 11 is used to obtain the operating status of all current working nodes and determine the current node usage rate based on the operating status of each working node;

[0074] A strategy determination module 12, configured to determine a node management strategy based on the current node usage rate;

[0075] The node management module 13 is used to send a node management request to the cloud provider abstraction layer if the node management policy indicates that the working nodes in the preset scheduling group need to be expanded or reduced, so that the cloud provider abstraction layer manages the working nodes in the preset scheduling group based on the node management request;

[0076] The cloud provider abstraction layer is connected to multiple cloud providers and is connected to the dispatch center through a unified interface.

[0077] It can be seen that the present application connects multiple cloud providers through the cloud provider abstraction layer, thereby supporting multiple different cloud providers, and the cloud provider abstraction layer is connected to the scheduling center through a unified interface, shielding the differences between the major cloud providers and improving the compatibility and adaptability of node management; further, the present application realizes dynamic expansion and reduction of working nodes based on node utilization rate without manual intervention, thereby not only being able to cope with instantaneous high-concurrency work tasks and ensure the timeliness of work tasks, but also achieving rational use of resources while ensuring node work efficiency.

[0078] In some specific embodiments, the usage rate determination module 11 includes:

[0079] The node determination submodule is used to obtain the running status of all current working nodes, and determine the target working node whose running status is busy from all the working nodes;

[0080] The utilization rate determining unit is used to determine the current node utilization rate based on the number of the target working nodes and the total number of all the working nodes.

[0081] In some specific embodiments, the node determination submodule includes:

[0082] An index table updating unit, used to obtain the running status of all current working nodes sent based on a preset heartbeat rate, and update the node index table in the preset cache based on the running status of all the working nodes; the node index table is an index table pre-constructed based on each of the working nodes and the corresponding running status;

[0083] The index traversal unit is used to perform index traversal on the updated node index table to determine the target working node whose running status is busy from all the working nodes.

[0084] In some specific embodiments, the strategy determination module 12 includes:

[0085] A usage rate determination unit, used to determine whether the current node usage rate is within a preset usage rate range;

[0086] a first capacity expansion strategy determination unit, configured to determine the node capacity expansion strategy as a node management strategy if the current node usage rate is greater than an upper limit value of the preset usage rate range;

[0087] The first scaling-down strategy determining unit is configured to determine the node scaling-down strategy as the node management strategy if the current node usage rate is less than a lower limit of the preset usage rate range.

[0088] In some specific embodiments, the strategy determination module 12 includes:

[0089] A first usage rate acquisition unit, used to acquire node usage rates at any two different moments in a first preset historical time period adjacent to the current moment and including the current moment;

[0090] A trend value judgment unit, used to determine a node usage rate trend value based on the node usage rates at any two different moments, and to judge whether the node usage rate trend value is within a preset trend value range;

[0091] a second capacity expansion strategy determination unit, configured to determine the node capacity expansion strategy as a node management strategy if the node usage rate trend value is greater than an upper limit value of the preset trend value range;

[0092] a second scaling-down strategy determining unit, configured to determine the node scaling-down strategy as a node management strategy if the node usage rate trend value is less than a lower limit of the preset trend value range;

[0093] The node usage rates at any two different moments include the current node usage rate corresponding to the current moment.

[0094] In some specific embodiments, the strategy determination module 12 includes:

[0095] A second usage rate acquisition unit, used to acquire historical node usage rates at least two different moments in a second preset historical time period adjacent to the current moment and excluding the current moment;

[0096] A trend value determining unit, configured to determine a node usage rate trend value based on each of the historical node usage rates and the current node usage rate;

[0097] A third capacity expansion strategy determination unit, configured to determine the node capacity expansion strategy as a node management strategy if the number of trend values ​​greater than a preset trend value upper limit among all the node usage rate trend values ​​is greater than a preset number;

[0098] The third scaling-down strategy determining unit is configured to determine the node scaling-down strategy as the node management strategy if the number of trend values ​​that are less than a preset trend value lower limit among all the node usage trend values ​​is greater than the preset number.

[0099] In some specific embodiments, the node management module 13 includes:

[0100] A node expansion unit, for sending a node addition request to a cloud provider abstraction layer if the node management policy indicates that the working nodes in the preset scheduling group need to be expanded, and calling the cloud provider corresponding to the node addition request in the cloud provider abstraction layer to create a corresponding new cloud server in the preset scheduling group through the unified interface, and after starting the new cloud server based on a preset startup image including a scheduling agent, the scheduling agent in the new cloud server determines each new working node based on each local graphics processor, and sends a node registration request determined based on each new working node to the scheduling center, so that the scheduling center locally registers the information of each new working node based on the node registration request;

[0101] The node scaling unit is used to send a server offline request to the corresponding target cloud server if the node management policy indicates that the working nodes in the preset scheduling group need to be scaled down, and after the scheduling agent in the target cloud server shuts down each working node in the target cloud server based on the server offline request, send a server destruction instruction to the cloud provider abstraction layer so that the cloud provider abstraction layer destroys the target cloud server in the preset scheduling group.

[0102] Furthermore, the present application also discloses an electronic device. Figure 4 This is a structural diagram of an electronic device 20 according to an exemplary embodiment. The content in the diagram cannot be regarded as any limitation on the scope of use of the present application.

[0103] Figure 4 A schematic diagram of the structure of an electronic device 20 provided in an embodiment of the present application. The electronic device 20 may specifically include: at least one processor 21, at least one memory 22, a power supply 23, a communication interface 24, an input / output interface 25, and a communication bus 26. The memory 22 is used to store a computer program, which is loaded and executed by the processor 21 to implement the relevant steps in the node management method disclosed in any of the aforementioned embodiments. In addition, the electronic device 20 in this embodiment may specifically be an electronic computer.

[0104] In this embodiment, the power supply 23 is used to provide working voltage for each hardware device on the electronic device 20; the communication interface 24 can create a data transmission channel between the electronic device 20 and the external device, and the communication protocol it follows is any communication protocol that can be applied to the technical solution of the present application, and is not specifically limited here; the input and output interface 25 is used to obtain external input data or output data to the outside world, and its specific interface type can be selected according to specific application needs and is not specifically limited here.

[0105] In addition, the memory 22, as a carrier for storing resources, can be a read-only memory, a random access memory, a disk or an optical disk, etc. The resources stored thereon can include an operating system 221, a computer program 222, etc., and the storage method can be temporary storage or permanent storage.

[0106] The operating system 221 is used to manage and control the hardware devices on the electronic device 20 and the computer program 222, which can be Windows Server, Netware, Unix, Linux, etc. In addition to including a computer program that can be used to complete the node management method performed by the electronic device 20 disclosed in any of the aforementioned embodiments, the computer program 222 can further include a computer program that can be used to complete other specific tasks.

[0107] Furthermore, the present application also discloses a computer-readable storage medium for storing a computer program; wherein the computer program, when executed by a processor, implements the node management method disclosed above. The specific steps of the method can refer to the corresponding contents disclosed in the above embodiments, and will not be repeated here.

[0108] In this specification, each embodiment is described in a progressive manner, and each embodiment focuses on the differences from other embodiments. The same or similar parts between the embodiments can be referred to each other. For the device disclosed in the embodiment, since it corresponds to the method disclosed in the embodiment, the description is relatively simple, and the relevant parts can be referred to the method part.

[0109] Professionals may further appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, computer software, or a combination of the two. In order to clearly illustrate the interchangeability of hardware and software, the composition and steps of each example have been generally described in the above description according to function. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professionals and technicians may use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of this application.

[0110] The steps of the method or algorithm described in conjunction with the embodiments disclosed herein may be implemented directly using hardware, a software module executed by a processor, or a combination of the two. The software module may be placed in a random access memory (RAM), a memory, a read-only memory (ROM), an electrically programmable ROM, an electrically erasable programmable ROM, a register, a hard disk, a removable disk, a CD-ROM, or any other form of storage medium known in the art.

[0111] Finally, it should be noted that, in this article, relational terms such as first and second, etc. are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Moreover, the terms "include", "comprise" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, the elements defined by the sentence "comprise a ..." do not exclude the presence of other identical elements in the process, method, article or device including the elements.

[0112] The technical solution provided by the present application is introduced in detail above. Specific examples are used in this article to illustrate the principles and implementation methods of the present application. The description of the above embodiments is only used to help understand the method of the present application and its core idea. At the same time, for general technicians in this field, according to the idea of ​​the present application, there will be changes in the specific implementation methods and application scope. In summary, the content of this specification should not be understood as a limitation on the present application.

Claims

1. A node management method, characterized in that: The method is applied to a dispatch center in a preset dispatch group, wherein the preset dispatch group also includes a plurality of working nodes; wherein the method includes: Obtaining the running status of all current working nodes, and determining the current node utilization rate based on the running status of each of the working nodes; Determine a node management strategy based on the current node usage rate; If the node management policy indicates that the working nodes in the preset scheduling group need to be expanded or reduced, a node management request is sent to the cloud provider abstraction layer so that the cloud provider abstraction layer manages the working nodes in the preset scheduling group based on the node management request; If the node management policy indicates that the working nodes in the preset scheduling group need to be expanded, a node addition request is sent to the cloud provider abstraction layer; If the node management policy indicates that the working nodes in the preset scheduling group need to be scaled down, a server destruction instruction is sent to the cloud provider abstraction layer; The cloud provider abstraction layer is connected to multiple cloud providers and is connected to the dispatch center through a unified interface.

2. The node management method according to claim 1, characterized in that: The obtaining the running status of all current working nodes and determining the current node usage rate based on the running status of each working node includes: Obtain the running status of all current working nodes, and determine the target working node whose running status is busy from all the working nodes; The current node usage rate is determined based on the number of the target working nodes and the total number of all the working nodes.

3. The node management method according to claim 2, characterized in that: The obtaining the running status of all current working nodes and determining the target working node whose running status is busy from all the working nodes includes: Obtain the running status of all current working nodes sent based on a preset heartbeat rate, and update the node index table in the preset cache based on the running status of all working nodes; the node index table is an index table pre-constructed based on each of the working nodes and the corresponding running status; The updated node index table is index traversed to determine a target working node whose running status is a busy state from all the working nodes.

4. The node management method according to claim 1, characterized in that: The determining of the node management strategy based on the current node usage rate includes: Determine whether the current node usage rate is within a preset usage rate range; If the current node usage rate is greater than the upper limit of the preset usage rate range, the node expansion strategy is determined as the node management strategy; If the current node usage rate is less than the lower limit of the preset usage rate range, the node scaling-in strategy is determined as the node management strategy.

5. The node management method according to claim 1, characterized in that: The determining of the node management strategy based on the current node usage rate includes: Obtaining node usage rates at any two different moments in a first preset historical time period that is adjacent to the current moment and includes the current moment; Determine a node usage rate trend value based on the node usage rates at any two different times, and determine whether the node usage rate trend value is within a preset trend value range; If the node usage trend value is greater than the upper limit of the preset trend value range, the node expansion strategy is determined as the node management strategy; If the node usage trend value is less than the lower limit of the preset trend value range, the node scaling strategy is determined as the node management strategy; The node usage rates at any two different moments include the current node usage rate corresponding to the current moment.

6. The node management method according to claim 1, characterized in that: The determining of the node management strategy based on the current node usage rate includes: Obtain historical node usage rates at least two different moments in a second preset historical time period that is adjacent to the current moment and does not include the current moment; Determine a node usage trend value based on each of the historical node usages and the current node usage; If the number of trend values ​​greater than the preset trend value upper limit among all the node usage trend values ​​is greater than a preset number, the node capacity expansion strategy is determined as the node management strategy; If the number of trend values ​​that are less than the preset trend value lower limit among all the node usage trend values ​​is greater than the preset number, the node scaling strategy is determined as the node management strategy.

7. The node management method according to any one of claims 1 to 6, characterized in that: If the node management policy indicates that the working nodes in the preset scheduling group need to be expanded or reduced, a node management request is sent to the cloud provider abstraction layer so that the cloud provider abstraction layer manages the working nodes in the preset scheduling group based on the node management request, including: If the node management policy indicates that the working nodes in the preset scheduling group need to be expanded, a node addition request is sent to the cloud provider abstraction layer, and the cloud provider abstraction layer calls the cloud provider corresponding to the node addition request to create a corresponding new cloud server in the preset scheduling group through the unified interface, and after the new cloud server is started based on the preset startup image containing the scheduling agent, the scheduling agent in the new cloud server determines each new working node based on each local graphics processor, and sends the node registration request determined based on each new working node to the scheduling center, so that the scheduling center locally registers the information of each new working node based on the node registration request; If the node management policy indicates that the working nodes in the preset scheduling group need to be scaled down, a server offline request is sent to the corresponding target cloud server, and after the scheduling agent in the target cloud server shuts down each working node in the target cloud server based on the server offline request, a server destruction instruction is sent to the cloud provider abstraction layer so that the cloud provider abstraction layer destroys the target cloud server in the preset scheduling group.

8. A node management device, characterized in that: The device is applied to a dispatch center in a preset dispatch group, wherein the preset dispatch group also includes a plurality of working nodes; wherein the device includes: A utilization rate determination module is used to obtain the operating status of all current working nodes and determine the current node utilization rate based on the operating status of each of the working nodes; A strategy determination module, used to determine a node management strategy based on the current node usage rate; A node management module, for sending a node management request to a cloud provider abstraction layer if the node management policy representation requires expansion or reduction of the working nodes in the preset scheduling group, so that the cloud provider abstraction layer manages the working nodes in the preset scheduling group based on the node management request; wherein, if the node management policy representation requires expansion of the working nodes in the preset scheduling group, a node addition request is sent to the cloud provider abstraction layer; if the node management policy representation requires reduction of the working nodes in the preset scheduling group, a server destruction instruction is sent to the cloud provider abstraction layer; The cloud provider abstraction layer is connected to multiple cloud providers and is connected to the dispatch center through a unified interface.

9. An electronic device, characterized in that: include: Memory, used to store computer programs; A processor, configured to execute the computer program to implement the node management method according to any one of claims 1 to 7.

10. A computer-readable storage medium, characterized in that: Used to store a computer program, which, when executed by a processor, implements the node management method according to any one of claims 1 to 7.