Load management method, device and system, electronic equipment and storage medium
By monitoring the server operating status and network topology data, server classification and load priority sorting are solved, and the challenges that traditional load management methods cannot effectively respond to in high concurrency scenarios are achieved, achieving more efficient and stable load allocation.
Patent Information
- Application Number
- CN202510183212.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-02-19
- Publication Date
- 2025-03-21
- Estimated Expiration
- Not applicable · inactive patent
AI Technical Summary
Traditional load management methods fail to effectively deal with the stability and efficiency challenges of server networks in high concurrency scenarios, resulting in mismatch between load allocation and actual capabilities, which easily leads to overloading of some nodes or idle resources.
By monitoring the operating status of the server, obtaining network topology data and calculating network centrality indicator data, using these data to classify the server and prioritize the load, and reasonably allocate the load to be allocated based on the load capacity and topological relationship of the effective server.
It realizes more scientific and efficient load allocation, ensures priority processing of critical tasks, reduces latency, improves system response speed and stability, improves resource utilization, and reduces the risk of system crashes caused by server failure.
Smart Images

Figure CN119668884A_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to the field of server technology, and in particular to a load management method and device, system, electronic device and storage medium. Background Art
[0002] In modern information technology, server systems, as the core infrastructure of Internet applications, undertake the key tasks of massive data processing and high-concurrency request response. Especially in high-load scenarios such as financial transactions, e-commerce, and online services, the stability and response efficiency of the server directly affect the user experience and system reliability. However, with the surge in user scale and data volume, traditional load management methods have gradually exposed significant defects. In related technologies, the initial load is usually defined based on a single dimension (such as the connectivity value of the server), and a linear or nonlinear static model is used to predict the load capacity. Such methods do not take into account the dynamic performance fluctuations of the server (such as real-time load changes and resource capacity fluctuations), resulting in a mismatch between load distribution and actual capacity, which can easily cause some nodes to be overloaded or resources to be idle. Therefore, there is an urgent need for a load management solution to address the stability and efficiency challenges of server networks in high-concurrency scenarios. Summary of the invention
[0003] The present disclosure provides a method and device, system, electronic device and storage medium for load management, the main purpose of which is to improve the stability of a server system. According to a first aspect of the present disclosure, there is provided a load management method, comprising: Monitor the running status of the servers in the server system and determine the status type of the servers, the status types including valid servers, semi-failed servers, and failed servers; Obtain network topology data of the server system, and calculate network centrality index data of the server based on the network topology data; The servers are classified by using the network centrality index data, and the loads to be allocated are prioritized based on the classification results, and the loads to be allocated come from the semi-failed servers and / or failed servers; According to the load capacity of the effective servers and the server topology, the prioritized load to be allocated is allocated to the effective servers for task processing.
[0004] In some embodiments, the network centrality indicator data includes: betweenness centrality, degree centrality, closeness centrality, vector centrality; Obtain the network topology data of the server system, and calculate the network centrality index data of the server based on the network topology data, including: Obtain the number of first shortest paths between any two servers in the server system except the target server and the number of second shortest paths passing through the target server, the number of edges connected to the target server and the number of servers, the target distance between the target server and other servers, and the adjacency matrix constructed by the connection status between the servers in the server system; Using the first shortest path number, the second shortest path number, and the betweenness centrality; Calculate degree centrality based on the number of edges and servers; Calculate the intimacy centrality based on the target distance and the number of servers; Calculate vector centrality based on the set proportionality constant, number of servers, and adjacency matrix.
[0005] In some embodiments, before obtaining the network topology data of the server system, the method further includes: The server system model is established by taking the connection type of each server in the server system as an edge and the server as a node.
[0006] In some embodiments, the method further comprises: Based on the network centrality index data, the server load capacity is quantitatively characterized.
[0007] In some embodiments, based on the network centrality index data, the load capacity of the server is quantitatively characterized, including: Calculate the initial load of the server based on the network centrality index data; Based on the initial load, load capacity of the servers in the server system is modeled.
[0008] In some embodiments, calculating the initial load of the server according to the network centrality index data includes: Standardize the network centrality index data; Calculate the information entropy of the network centrality index data respectively, and calculate the weight corresponding to the network centrality index data based on the information entropy; The initial load of the server is calculated based on the first preset function, the second preset function and the weight.
[0009] In some embodiments, the server is classified using the network centrality index data, including: Use clustering algorithms to perform cluster analysis on the betweenness centrality, degree centrality, closeness centrality, and vector centrality of servers; The servers are divided into multiple server levels according to the cluster center values obtained by cluster analysis.
[0010] In some embodiments, based on the classification processing result, the loads to be allocated are prioritized, including: According to the server level corresponding to the load to be allocated, the load to be allocated is prioritized according to the level size; Prioritize the loads to be allocated at the same server level according to their load sizes.
[0011] In some embodiments, the method further comprises: The number of loads to be distributed at a time is limited according to the task window parameters.
[0012] In some embodiments, according to the load capacity of the effective server and the server topology relationship, the prioritized load to be allocated is allocated to the effective server for task processing, including: Based on the load occupancy and load capacity of the effective server, the remaining load of the effective server is calculated; Determine, based on the server topology relationship, the adjacent valid servers of the semi-failed servers and / or failed servers, where the adjacent valid servers are directly connected servers or indirectly connected multi-order valid servers; The load to be allocated of the semi-failed server and / or failed server is distributed according to the remaining load of each adjacent valid server.
[0013] According to a second aspect of the present disclosure, there is provided a load management device, comprising: A monitoring unit, used to monitor the running status of the server in the server system and determine the status type of the server, the status type including valid server, semi-failed server, and failed server; A data calculation unit, used to obtain network topology data of the server system, and calculate network centrality index data of the server according to the network topology data; A classification unit, used to classify the servers using the network centrality index data, and prioritize the loads to be allocated based on the classification results, where the loads to be allocated come from semi-failed servers and / or failed servers; The allocation unit is used to allocate the prioritized load to be allocated to the effective server for task processing according to the load capacity of the effective server and the server topology relationship.
[0014] In some embodiments, the network centrality indicator data includes: betweenness centrality, degree centrality, closeness centrality, vector centrality; The data calculation unit includes: An acquisition module is used to acquire the number of first shortest paths between any two servers in the server system except the target server and the number of second shortest paths passing through the target server, the number of edges connected to the target server and the number of servers, the target distance between the target server and other servers, and an adjacency matrix constructed based on the connection status between the servers in the server system; A first calculation module is used to calculate betweenness centrality using the first shortest path number and the second shortest path number; The second calculation module is used to calculate the degree centrality according to the number of connected edges and the number of servers; A third calculation module is used to calculate the intimacy centrality based on the target distance and the number of servers; The fourth calculation module is used to calculate the vector centrality according to the set proportional constant, the number of servers and the adjacency matrix.
[0015] In some embodiments, the load management device further comprises: The modeling unit is used to establish a server system model by taking the connection type of each server in the server system as an edge and the server as a node before obtaining the network topology data of the server system.
[0016] In some embodiments, the load management device further comprises: The quantification unit is used to quantify the load capacity of the server based on the network centrality indicator data.
[0017] In some embodiments, the quantization unit includes: A fifth calculation module, used to calculate the initial load of the server according to the network centrality index data; The modeling module is used to model the load capacity of the servers in the server system based on the initial load.
[0018] In some embodiments, the fifth computing module is further configured to: Standardize the network centrality index data; Calculate the information entropy of the network centrality index data respectively, and calculate the weight corresponding to the network centrality index data based on the information entropy; The initial load of the server is calculated based on the first preset function, the second preset function and the weight.
[0019] In some embodiments, the classification unit comprises: Clustering module, used to perform cluster analysis on the betweenness centrality, degree centrality, closeness centrality, and vector centrality of servers using clustering algorithms; The partitioning module is used to partition the servers into multiple server levels according to the cluster center values obtained by cluster analysis.
[0020] In some embodiments, the classification unit further comprises: A first sorting module is used to sort the loads to be allocated according to the server level corresponding to the loads to be allocated and the priority of the loads to be allocated according to the level size; The second sorting module is used to sort the loads to be allocated at the same server level according to the priority of the load size.
[0021] In some embodiments, the load management device further comprises: The limiting unit is used to limit the number of loads to be distributed in a single load redistribution according to the task window parameters.
[0022] In some embodiments, the allocation unit includes: A sixth calculation module, used to calculate the remaining load of the effective server based on the load occupancy and load capacity of the effective server; A determination module, used to determine, according to the server topology relationship, adjacent valid servers of the semi-failed server and / or failed server, wherein the adjacent valid servers are directly connected servers or indirectly connected multi-order valid servers; The allocation module is used to allocate the load to be allocated of the semi-failed server and / or failed server according to the remaining load of each adjacent valid server.
[0023] According to a third aspect of the present disclosure, there is provided a server system, the server system comprising: a plurality of server nodes, the plurality of server nodes forming a complex network; The server system is used to manage and distribute the load to be distributed generated by the semi-failed servers and / or failed servers using the method described in the first aspect.
[0024] According to a fourth aspect of the present disclosure, there is provided an electronic device, including: at least one processor; and a memory communicatively connected to the at least one processor; wherein, The memory stores instructions that can be executed by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to perform the method described in the first aspect.
[0025] According to a fifth aspect of the present disclosure, a non-transitory computer-readable storage medium storing computer instructions is provided, wherein the computer instructions are used to enable the computer to execute the method described in the first aspect.
[0026] According to a sixth aspect of the present disclosure, a computer program product is provided, comprising a computer program, wherein when the computer program is executed by a processor, the method described in the first aspect is implemented.
[0027] The present disclosure provides a method and device for load management, a system, an electronic device and a storage medium. By monitoring the running status of the server and determining the status type, the working status of the server can be mastered in real time, providing an accurate basis for subsequent load distribution, avoiding assigning tasks to servers that cannot work normally, and ensuring the normal operation of the system. Obtaining network topology data and calculating network centrality index data, evaluating the importance of the server in the network from multiple dimensions, and having an in-depth understanding of the role of the server in network connection and data transmission, and then more reasonably classifying the server, providing a scientific reference for load distribution, and achieving more efficient resource allocation. Using network centrality index data to classify servers, and prioritizing the load to be allocated based on the classification results, it can ensure that key tasks are processed first, reduce key task delays, and improve system response speed and real-time performance. The load is distributed according to the load capacity of the effective server and the server topology relationship to avoid overloading a single server. The complex connection relationship between servers is fully considered, and the load of semi-failed and failed servers is more reasonably distributed, the load balancing between servers is improved, the stability and reliability of the system are improved, the overall resource utilization of the system is improved, and resource waste is reduced. When some servers fail, the load can be redistributed quickly and orderly to ensure the continuous and stable operation of the system, enhance the system's adaptability and fault tolerance in complex network environments, and reduce the risk of system crashes due to server failures.
[0028] It should be understood that the content described in this section is not intended to identify the key or important features of the embodiments of the present application, nor is it intended to limit the scope of the present application. Other features of the present application will become easily understood through the following description. BRIEF DESCRIPTION OF THE DRAWINGS
[0029] The accompanying drawings are used to better understand the present solution and do not constitute a limitation of the present disclosure. Figure 1 A flow chart of a load management method provided by an embodiment of the present disclosure; Figure 2 A flowchart of another load management method provided by an embodiment of the present disclosure; Figure 3 A schematic diagram of the structure of a load management device provided by an embodiment of the present disclosure; Figure 4 A schematic diagram of the structure of another load management device provided by an embodiment of the present disclosure; Figure 5 A schematic block diagram of an exemplary electronic device provided for an embodiment of the present disclosure. DETAILED DESCRIPTION
[0030] The following is a description of exemplary embodiments of the present disclosure in conjunction with the accompanying drawings, including various details of the embodiments of the present disclosure to facilitate understanding, which should be considered as merely exemplary. Therefore, it should be recognized by those of ordinary skill in the art that various changes and modifications may be made to the embodiments described herein without departing from the scope and spirit of the present disclosure. Similarly, for the sake of clarity and conciseness, descriptions of well-known functions and structures are omitted in the following description.
[0031] The following describes the load management method and apparatus, system, electronic device, and storage medium according to embodiments of the present disclosure with reference to the accompanying drawings.
[0032] Figure 1 A flow chart of a load management method provided in an embodiment of the present disclosure.
[0033] like Figure 1 As shown, the method comprises the following steps: Step 101, monitor the running status of the servers in the server system and determine the status type of the servers, which status types include valid servers, semi-failed servers, and failed servers.
[0034] In the embodiments of the present disclosure, during the operation of the server system, it is necessary to monitor the operating status of the server in real time and accurately to determine the specific state type of the server, which is clearly divided into valid server, semi-failed server and failed server.
[0035] Specifically, a variety of monitoring methods and technologies can be used, but not limited to, to monitor the server's operating status in all directions. Through real-time collection and analysis of server hardware resources, such as central processing unit (CPU) usage, memory occupancy, disk I / O read and write rates, and network bandwidth utilization, it is determined whether the server hardware can normally support the processing of various tasks. At the same time, the software services running on the server are monitored, including the operating status of the service process, the response time of key applications, etc., to determine whether there are abnormalities at the software level.
[0036] If the server's hardware resources are within normal range, the software service can run stably and efficiently, its load does not exceed its own load capacity, and it can normally receive and process loads from other servers or user requests, then the server is considered to be a valid server. This type of server undertakes the main work tasks in the entire server system and is the core force to ensure the normal operation of the system.
[0037] When the performance of some hardware resources of the server is degraded, such as the CPU usage rate is continuously too high, the memory leaks and the available memory gradually decreases, or the software service has some functional abnormalities, such as some processes respond slowly but have not completely stopped running, the server still has a certain load, but it can no longer normally receive the load from other servers, and its own load needs to wait to be assigned to other valid servers for processing. At this time, the server is judged as a semi-failed server. If the server hardware has a serious fault, such as CPU burnout, memory damage, etc., or the system crashes at the software level, key services completely stop running, etc., resulting in the server load being 0 and completely losing the ability to receive loads from other servers, it will be judged as a failed server.
[0038] Through this meticulous and accurate monitoring and judgment method, the status type of each server in the server system can be clearly identified, providing a solid and reliable foundation for subsequent targeted management of the server and reasonable distribution of the load, thereby effectively improving the overall operating efficiency and stability of the server system.
[0039] Step 102, obtaining network topology data of the server system, and calculating network centrality index data of the server according to the network topology data.
[0040] In the embodiments of the present disclosure, the network centrality index data of the server is calculated based on this data, which is of key significance for deeply understanding the position and role of the server in the network and optimizing load distribution.
[0041] Use specialized data collection techniques and tools to obtain the network topology data of the server system. Use network scanning tools to traverse the network of the server system and identify each server node and the connection relationship between them. These connections include physical connections, such as actual line connections such as network cables and optical fibers, as well as service dependencies, that is, service call relationships between servers based on business logic. During the collection process, record the network address, connection port information, and connection type of each server in detail (such as Transmission Control Protocol / Internet Protocol (TCP / IP) connection, User Datagram Protocol (UDP) connection, etc.), so as to build a complete server system network topology data model.
[0042] After obtaining the network topology data, the network centrality index data of the server is calculated based on the data. The network centrality index mainly includes betweenness centrality, degree centrality, closeness centrality and vector centrality.
[0043] Betweenness centrality reflects the importance of the target server as the shortest path bridge connecting other servers in the network. The higher the value, the stronger the control role of the target server in the flow of network information. Degree centrality reflects the closeness of the direct connection between the target server and other servers. The higher the degree centrality, the greater the local influence of the target server in the network. Intimacy centrality measures the average distance between the target server and all other servers in the network, reflecting the efficiency of information propagation from the target server to each node in the network. The larger the value of intimacy centrality, the faster the information may propagate. Vector centrality not only takes into account the number of direct connections of the server, but also comprehensively considers the importance of neighboring nodes, which can more comprehensively reflect the position of the target server in the network.
[0044] By accurately obtaining the network topology data of the server system and accurately calculating the network centrality index data, it provides scientific and reliable data support for subsequent server classification, reasonable load distribution, and optimization of server system performance.
[0045] Step 103, using the network centrality index data to classify the servers, and based on the classification results, prioritize the loads to be allocated, and the loads to be allocated come from semi-failed servers and / or failed servers.
[0046] In the embodiments of the present disclosure, by classifying and processing servers and prioritizing the loads to be allocated, a foundation is laid for achieving efficient and reasonable load distribution.
[0047] The network centrality index data obtained in the previous steps, namely, betweenness centrality, degree centrality, closeness centrality and vector centrality data, are used to classify the servers. After completing the server classification, the loads to be allocated are prioritized based on the classification results. These loads to be allocated come from semi-failed servers and / or failed servers. Since these servers cannot handle their own loads normally, they need to be allocated to valid servers for processing. According to the category of the server to which the load belongs, the set of loads waiting to be redistributed is preliminarily sorted.
[0048] Next, for the same level of load, we sort them again in order from small to large load to generate a more refined sorted set. This sorting method takes into account the importance of servers at different levels and the difference in load, which helps to prioritize critical tasks with small loads and improve the overall processing efficiency of the system.
[0049] Step 104, according to the load capacity of the effective server and the server topology relationship, the prioritized load to be allocated is allocated to the effective server for task processing.
[0050] In the embodiment of the present disclosure, based on the load capacity of the effective servers and the topological relationship between the servers, the load to be allocated that has completed the priority sorting is reasonably arranged on the effective servers for task processing.
[0051] The effective server load capacity is modeled as a normal distribution with a non-zero variance and an initial load as the mean, reflecting its changes in actual operation. In actual operation, the specific parameters of the load capacity of each effective server are determined by combining the historical load data of the server and the current operating status of the system.
[0052] There are many types of connections between servers, such as physical connections, service-dependent connections, etc. Using complex network methods, we treat servers as nodes and the connections between them as edges to build a server network model. By analyzing this model, we can clearly understand the connection relationship between servers, including direct connections and more complex high-order neighbor relationships.
[0053] After the preparations are completed, the load distribution phase begins. Taking the second-order neighbor redistribution as an example (which can be expanded according to the complexity of the network), when a server fails, the load of the failed server will be distributed to its first-order valid neighbors and second-order neighbors based on the load capacity and resource capacity of these neighbors. In actual server systems, network failures often affect multiple servers, making load distribution more complicated. This requires comprehensive consideration of the conditions of all failed servers and accurate calculation of the additional load that each valid server must bear.
[0054] During the entire load distribution process, the priority order determined previously will be strictly followed. High-priority loads will be allocated to effective servers with strong load capacity and more suitable for the load from the perspective of topology. At the same time, the load changes of effective servers will be monitored in real time. Once it is found that the load of a server is about to reach the upper limit, the distribution strategy will be adjusted immediately to distribute the subsequent load to other effective servers with lighter loads to avoid overloading of a single server, thereby achieving system load balancing, improving system stability and reliability, and allowing the server system to efficiently manage loads and process tasks.
[0055] The present disclosure provides a method for load management. By monitoring the running status of the server and determining the status type, the working status of the server can be mastered in real time, providing an accurate basis for subsequent load distribution, avoiding assigning tasks to servers that cannot work normally, and ensuring the normal operation of the system. Obtaining network topology data and calculating network centrality index data, evaluating the importance of the server in the network from multiple dimensions, and having an in-depth understanding of the role of the server in network connection and data transmission, and then more reasonably classifying the server, providing a scientific reference for load distribution, and achieving more efficient resource allocation. Using network centrality index data to classify servers, and prioritizing the load to be allocated based on the classification results, it can ensure that key tasks are processed first, reduce key task delays, and improve system response speed and real-time performance. The load is distributed according to the load capacity of the effective server and the server topology relationship to avoid overloading a single server. The complex connection relationship between servers is fully considered, and the load of semi-failed and failed servers is more reasonably distributed, the load balancing between servers is improved, the stability and reliability of the system are improved, the overall resource utilization of the system is improved, and resource waste is reduced. When some servers fail, the load can be redistributed quickly and orderly to ensure the continuous and stable operation of the system, enhance the system's adaptability and fault tolerance in complex network environments, and reduce the risk of system crashes due to server failures.
[0056] In order to clearly illustrate the embodiment of the present disclosure, this embodiment provides a flow chart of another load management method.
[0057] like Figure 2 As shown, the method comprises the following steps: Step 201 , establishing a server system model by taking the connection type of each server in the server system as an edge and the server as a node.
[0058] Specifically in step 201, in the server system, there are multiple types of connections between servers, and these types of connections are key elements in building the model. Among them, physical connection is the most direct way of connection between servers, such as connection realized through physical media such as network cables and optical fibers, which ensures high-speed transmission of data between servers and provides a hardware foundation for communication between servers. In addition, service dependency connection cannot be ignored either. It is established based on the dependency between the services and functions provided by the server. For example, some servers are responsible for data storage, while other servers rely on these storage servers to obtain data for business logic processing. This service dependency constitutes a logical connection between servers and plays a key coordination role in the operation of the entire server system.
[0059] When building the model, each server is abstracted as a node in the model. Each node represents a server individual with independent processing capabilities and load characteristics. It has the functions of receiving, processing and transmitting data and is the basic unit for the operation of the server system. By abstracting the server, complex server entities can be simplified into model elements that are easy to analyze and process, which facilitates the subsequent research and optimization of the server system.
[0060] The connection type between servers is used as an edge to connect the corresponding server nodes. These edges not only reflect the connection relationship between servers, but also contain important information such as data transmission direction, transmission rate, and connection stability. For example, in some cases, an edge can represent a unidirectional transmission of data from one server node to another; in other scenarios, an edge may represent a bidirectional data interaction. The weight of the edge can be set according to the characteristics of the connection. For example, the edge weight corresponding to a physical connection with a larger bandwidth can be set higher to reflect its advantage in data transmission; the importance of a connection with a close service dependency can also be reflected by adjusting the edge weight.
[0061]
[0062] in, is the server system (network), is a collection of servers, is the number of servers, is the set of edges between servers, is the number of edges connected to the server.
[0063] By taking the server as a node and the connection type as an edge, a server system model is finally constructed. This model can intuitively display the topology of the server system and clearly present the relationship between each server, providing strong support for the subsequent in-depth analysis of the performance, load distribution and fault diagnosis of the server system. Through the study of the model, we can better understand the operation mechanism of the server system, discover potential problems, and propose targeted optimization strategies, thereby improving the overall efficiency and reliability of the server system.
[0064] Step 202, monitor the running status of the servers in the server system and determine the status type of the servers, which status types include valid servers, semi-failed servers, and failed servers.
[0065] Specifically in step 202, in order to effectively monitor the running status of the server, it is possible to adopt but not limited to obtaining multi-dimensional monitoring data to accurately determine the status type of the server. If the usage of various hardware resources of the server is within the normal working range, the software service can also run stably and efficiently, can smoothly receive and process load requests from other servers, or respond to user operation instructions in a timely manner, and its load does not exceed the upper limit of the load capacity set by itself, then the server is determined to be a valid server. This type of server is the core guarantee for the normal operation of the server system and undertakes the main business processing tasks. When the performance of some hardware of the server is reduced; or some functions are abnormal at the software level, such as serious response delays in some service processes, but have not completely stopped running, at this time, although the server still has a certain load processing capacity, it can no longer normally receive the load from other servers, and the load currently carried by itself needs to wait for allocation to other valid servers for processing. Such a server is determined to be a semi-failed server. If a server encounters a serious hardware failure, causing the hardware to fail to work properly; or if the system completely crashes at the software level, key service processes are completely terminated and cannot be automatically restored, causing the server load to return to zero and completely losing the ability to receive loads from other servers, such servers will be judged as failed servers.
[0066] Step 203, obtain the network topology data of the server system, calculate the betweenness centrality using the number of first shortest paths and the number of second shortest paths; calculate the degree centrality based on the number of edges and the number of servers; calculate the closeness centrality based on the target distance and the number of servers; calculate the vector centrality based on the set proportional constant, the number of servers and the adjacency matrix.
[0067] Obtain network topology data of the server system, including: The adjacency matrix constructed by obtaining the number of first shortest paths between any two servers except the target server in the server system and the number of second shortest paths passing through the target server, the number of edges connected to the target server and the number of servers, the target distance between the target server and other servers, and the connection status between servers in the server system.
[0068] Specifically, in step 203, the network topology data of the server system is obtained, and multiple key network centrality indicators are calculated based on the data, including betweenness centrality, degree centrality, closeness centrality and vector centrality.
[0069] Obtain the network topology data of the server system. This process is achieved with the help of advanced network detection technology and data analysis tools. For each server in the server system (a specific server is defined as the target server), obtain multi-dimensional data related to it. For the shortest path information between any two servers except the target server, use a specially designed shortest path algorithm to calculate it. These algorithms accurately find the shortest path between any two servers through in-depth analysis of the server network topology structure, and count their number to obtain the number of first shortest paths. At the same time, in the process of calculating the shortest path, accurately count the number of shortest paths passing through the target server, that is, the number of second shortest paths. These two sets of data are crucial to measuring the criticality of the target server in the entire network information flow.
[0070] At the same time, obtain the number of edges with the target server and the total number of servers in the server system. The number of edges reflects the degree of direct connection between the target server and other servers, which can be obtained by combing and counting the server network connection relationship. The total number of servers is a basic indicator of the scale of the entire server system, providing an important reference for subsequent calculations. In addition, calculate the distance between the target server and each other server, and define these distances as target distances. The distance here usually refers to the number of edges contained in the shortest path between two server nodes in the server network topology. By traversing and calculating the paths between the target server and all other servers, a series of target distance data are obtained, which reflect the spatial relationship between the target server and other servers in the network. Finally, construct an adjacency matrix based on the connection between servers in the server system. The adjacency matrix is a two-dimensional matrix whose number of rows and columns are equal to the number of servers. In the matrix, if the server and server If there is a connection between ,otherwise In this way, the adjacency matrix can concisely and intuitively represent the connection relationship between servers.
[0071] Betweenness Centrality :
[0072] in, Is the server and server The number of shortest paths between Through the server The number of shortest paths to the target server.
[0073] Degree Centrality :
[0074] in, Is the server The number of edges, is the number of servers in the network.
[0075] Intimacy Centrality :
[0076] in, Is the server and server The distance between is the number of servers in the network.
[0077] Vector Centrality :
[0078] in, is a proportionality constant, is the adjacency matrix In the element, when the server and server If there is an edge between ,otherwise , is the number of servers in the network.
[0079] Through the above detailed steps, the network topology data of the server system is fully obtained, and multiple key network centrality indicators are accurately calculated, which provides solid data support and theoretical basis for subsequent server classification processing, load distribution optimization and improvement of the overall performance of the server system.
[0080] Step 204: quantitatively characterize the load capacity of the server based on the network centrality index data.
[0081] Step 2041, calculating the initial load of the server according to the network centrality index data.
[0082] Based on the network centrality index data, calculate the initial load of the server, including: Standardize the network centrality index data; Calculate the information entropy of the network centrality index data respectively, and calculate the weight corresponding to the network centrality index data based on the information entropy; The initial load of the server is calculated based on the first preset function, the second preset function and the weight.
[0083] Specifically, in step 2041, the network centrality index data is standardized. Since the network centrality index data such as betweenness centrality, degree centrality, closeness centrality and vector centrality may have differences in dimension and value range, in order to make these data comparable, they need to be standardized. Specifically, a specific standardization algorithm is used to eliminate the dimensional influence between different index data. Standardization processing formula:
[0084] in, is the original data, is the standardized data, is the number of samples.
[0085] The information entropy of the network centrality index data is calculated respectively, and the weight corresponding to the network centrality index data is calculated based on the information entropy. Information entropy is an indicator used to measure the degree of disorder of data information. In this step, the relative importance of each network centrality index in calculating the initial load is determined by calculating the information entropy.
[0086] Calculate the information entropy of data:
[0087] in, is the standardized data, is the number of samples, It is The sample in The proportion of the indicators.
[0088] The smaller the value of information entropy, the more ordered the information contained in the indicator is, and the higher its importance in calculating the initial load is.
[0089]
[0090] in, is the number of samples, is the information entropy, is the weight.
[0091] Network centrality indicators all have corresponding weights. The larger the weight, the greater the impact of the indicator on the initial load of the server.
[0092] The initial load is calculated using the following formula:
[0093] in, is a nonlinear function, , is a linear function, The server The betweenness centrality, closeness centrality, degree centrality and eigenvector centrality of Is the server The performance factors of servers at different levels can be designed according to needs. is the parameter factor.
[0094] In the actual calculation process, different network centrality indicators are weighted and integrated according to the determined weights, and the initial load of each server is accurately calculated through the synergy of the first preset function and the second preset function. This calculation method comprehensively considers the various characteristics of the server in the network. Compared with traditional methods, it can more accurately reflect the actual load of the server and provide a more scientific and reliable basis for subsequent load distribution and management.
[0095] Step 2042, based on the initial load, load capacity modeling is performed on the servers in the server system.
[0096] Specifically, in step 2402, based on the calculated initial load, the load capacity of the servers in the server system is modeled, aiming to more accurately simulate the changes in the load processing capacity of the servers in actual operation, and provide a solid theoretical basis for subsequent load distribution and system optimization.
[0097] In the actual operation process of the server, its load capacity is not fixed, but is affected by many factors and presents dynamic characteristics. Based on this, this step models the load capacity based on the initial load of the server.
[0098] In the modeling process, the server load capacity is modeled as a normal distribution with the initial load as the mean and non-zero variance. That is:
[0099] in, is the variance of the normal distribution, and its density function is:
[0100] It reflects the degree of fluctuation of load capacity around the mean. The size of the variance is not set arbitrarily, but is determined by comprehensively considering multiple factors such as the hardware performance parameters of the server, the fluctuation of historical load data, and the characteristics of the business carried by the server. For example, for servers with relatively stable hardware configurations and small fluctuations in the business traffic carried, a smaller variance can be appropriately set; while for servers with frequent changes in business traffic and complex hardware resource utilization, a relatively large variance needs to be set to more accurately reflect the range of changes in its load capacity.
[0101] The density function of the normal distribution accurately describes the probability distribution of the server load capacity under different values. From the function characteristics, we can see that the closer the load capacity value is to the initial load, the greater the probability of its occurrence; as the load capacity value deviates from the initial load, the probability decreases exponentially. This means that in most cases, the server load capacity will fluctuate around the initial load, and there are relatively few cases of large deviations, but there is still a certain possibility. This modeling method comprehensively covers various possible load capacity changes.
[0102] This normal distribution modeling method based on the initial load can provide a scientific and accurate mathematical expression for the fluctuation of server load capacity. In the actual operation of the server system, this model can play an important role in load prediction, resource scheduling and system performance evaluation. For example, when distributing load, this model can be used to more reasonably estimate the additional load that each server can bear, avoiding server overload due to improper distribution; in terms of system performance evaluation, it can more accurately analyze the operating status of the server under different load conditions, timely discover potential performance bottlenecks, and provide strong support for system optimization. This load capacity modeling method effectively improves the scientificity and effectiveness of server system load management, and enhances the stability and reliability of the server system in a complex business environment.
[0103] Step 205, using a clustering algorithm to perform cluster analysis on the betweenness centrality, degree centrality, closeness centrality, and vector centrality of the server; and dividing the server into multiple server levels according to the cluster center values obtained by the cluster analysis.
[0104] Specifically, in step 205, before performing cluster analysis, first ensure that the betweenness centrality, degree centrality, closeness centrality and vector centrality data of each server in the server system have been accurately obtained. These data reflect the characteristics and status of the server in the network from different dimensions. The betweenness centrality measures the criticality of the server in the shortest path of the network, the degree centrality reflects the closeness of the direct connection of the server, the closeness centrality reflects the efficiency of information dissemination between the server and other servers, and the vector centrality comprehensively considers the connection status of neighboring nodes to evaluate the importance of the server.
[0105] This step uses the K-Means clustering algorithm for cluster analysis. When using the K-Means algorithm, the first task is to determine the number of clusters K. Combined with the actual scale of the server system, business complexity and past experience, after many tests and verifications, the K value is set to 3, that is, the server is divided into three levels. This can effectively distinguish servers with different characteristics without making the classification too complicated and causing increased management costs. It should be noted that the embodiments of the present disclosure do not limit the number of server levels.
[0106] When the algorithm starts, K initial cluster centers are randomly selected. The selection of these initial cluster centers will have a certain impact on the final clustering results. To ensure the stability and reliability of the results, a strategy of multiple random initializations and selecting the optimal results is adopted. Next, it enters the iterative optimization phase. For each server, the distance between it and each cluster center in the four dimensions of betweenness centrality, degree centrality, closeness centrality, and vector centrality is calculated. The Euclidean distance formula is usually used to measure the difference between such multidimensional data. According to the distance, the server is divided into the closest cluster. After each division, the center value of each cluster is recalculated, and the new cluster center is the mean of the four-dimensional data of all servers in the cluster. Repeat the above division and cluster center calculation process until the cluster center no longer changes significantly, or the degree of change is less than the preset threshold. At this time, the clustering process is considered to have converged and the clustering analysis is completed.
[0107] According to the cluster center value obtained by cluster analysis, the servers are divided into multiple server levels. After obtaining a stable clustering result, the center values of the three clusters are compared. Among them, the cluster with the largest values in betweenness centrality, degree centrality, closeness centrality and vector centrality contains servers that are divided into the advanced server level. This type of server is in a key position in the network, has extensive connections and efficient information dissemination capabilities, has strong load processing capabilities and stability, and undertakes core business and key task processing in the system. The servers in the cluster with the smallest cluster center value are divided into the low-level server level. Their influence and load processing capabilities in the network are relatively weak, and they mainly undertake some auxiliary tasks with low performance requirements. The servers in the middle cluster are divided into the intermediate server level. Their various indicators and load processing capabilities are between the advanced and low-level servers. They play a connecting role in the system, assisting the advanced servers in processing some businesses and scheduling and managing tasks for the low-level servers.
[0108] Through such cluster analysis and hierarchical division, the roles and capabilities of different servers in the server system can be clearly defined. This provides clear guidance for subsequent load distribution, task scheduling, and system optimization, allowing system resources to be allocated more reasonably, improving the overall operating efficiency and reliability of the server system, and enhancing the system's ability to cope with complex business scenarios and high load pressure.
[0109] Step 206, according to the server level corresponding to the load to be allocated, the load to be allocated is prioritized according to the level size; the load to be allocated of the same server level is prioritized according to the load size.
[0110] Step 207: limiting the number of loads to be distributed in a single load redistribution according to the task window parameters.
[0111] Specifically, in step 206 to step 207, the load to be distributed mainly comes from the semi-failed servers and failed servers, and these loads need to be reallocated to the valid servers for processing.
[0112] According to the server level corresponding to the load to be allocated, the load to be allocated is sorted according to the level size. On the basis of the previous hierarchical division of the server using the clustering algorithm, the level of the server to which each load to be allocated originally belongs is clarified. The server level is divided into advanced, intermediate and low levels. The advanced server level has significant advantages in network topology and resource processing capabilities, and undertakes key businesses and important tasks; the performance and role of the intermediate server level are at an intermediate level; the low server level is relatively weak. Based on this hierarchical difference, the load to be allocated from the advanced server is defined as the advanced load, the load from the intermediate server is defined as the intermediate load, and the load from the low server is defined as the low load. In the order from high to low levels, that is, the advanced load takes precedence over the intermediate load, and the intermediate load takes precedence over the low load, the set of loads to be allocated is sorted to generate a preliminary priority queue. This sorting strategy ensures that the load related to key businesses can be processed first, avoiding the normal operation of the entire system affected by the delay of key tasks.
[0113] Next, for the loads to be allocated at the same server level, they are further prioritized according to the load size. In the queue after the preliminary sorting, the load sizes of the loads at the same level are compared in detail. For example, for multiple high-level loads, the smaller loads are placed in front and the larger loads are placed in the back. This is because tasks with smaller loads can usually be processed faster, and giving priority to these tasks can release system resources faster, improve the system's response speed and overall processing efficiency. Through this detailed sorting method, while ensuring that key business loads are given priority, the processing order of loads at the same level is optimized, further improving the system's operating efficiency.
[0114] Through the priority sorting in the above two steps, a comprehensive, detailed and reasonable priority queue is formed for the load to be distributed, which provides clear guidance for the subsequent load redistribution work and ensures that the load can be distributed to the effective servers for processing in an orderly manner according to its importance and urgency.
[0115] After completing the priority sorting of the loads to be allocated, the key step is to fine-tune the control of the load redistribution process. By setting the task window parameters, the number of loads to be allocated at a time can be limited to balance the system resource utilization and load processing efficiency, ensuring the stable operation of the server system.
[0116] The task window parameters are determined based on multiple factors such as the hardware resource configuration of the server system, the current system load status, and business needs. For example, considering the limitations of the server's hardware resources such as CPU processing power, memory capacity, and network bandwidth, if the system is currently in a high-load operation state, in order to avoid performance degradation or even crash due to exhaustion of server resources caused by allocating too much load at one time, the task window parameters will be appropriately reduced; on the contrary, if the system resources are relatively abundant and the business has high requirements for processing efficiency, the task window parameters can be appropriately increased.
[0117] In the actual load redistribution process, the priority-sorted set of loads to be allocated is compared with the task window parameters. If the number of loads in the set of loads to be allocated is less than the task window parameters, it means that the current system has enough resources to handle all these loads in a timely manner. At this time, all the loads in the set can be put into the load redistribution work at one time, making full use of system resources and speeding up load processing.
[0118] However, if the number of loads in the set of loads to be allocated is greater than the task window parameters, in order to ensure stable operation of the system and efficient load processing, some loads need to be selected in order of priority for this load redistribution. Specifically, the loads ranked higher in the priority queue are processed first, which are usually high-level tasks with small loads. The remaining unselected loads are temporarily retained and processed in subsequent iteration cycles. In the subsequent iteration process, as system resources are released and the load situation changes, the relationship between the task window parameters and the number of loads to be allocated will be re-evaluated, and the load redistribution strategy will be continuously adjusted.
[0119] By setting task window parameters and limiting the number of single load redistributions accordingly, dynamic and accurate management of server system load is achieved. This approach can not only prevent system failures due to overload, but also make rational use of system resources, improve load processing efficiency, and enhance the adaptability and stability of the server system in complex environments.
[0120] Step 208, based on the load occupancy and load capacity of the effective server, calculate the remaining load of the effective server.
[0121] Step 209, determining the adjacent valid servers of the semi-failed servers and / or failed servers according to the server topology relationship, wherein the adjacent valid servers are directly connected servers or indirectly connected multi-order valid servers.
[0122] Step 210: distribute the load to be distributed of the semi-failed server and / or failed server according to the remaining load of each adjacent valid server.
[0123] Specifically, in steps 208 to 210, for each valid server in the server system, the relevant information of its load occupancy and load capacity is fully obtained. The load occupancy of an effective server refers to the size of the workload that the server has carried and is processing at the current moment. It is determined by real-time monitoring of the usage of various resources of the server, such as monitoring CPU usage, memory occupancy, network bandwidth consumption and other indicators, and converting these resource occupancy into a unified load occupancy value according to pre-set conversion rules. The load capacity of the server is based on the previous load capacity modeling results. Through real-time calculation and updating of model parameters, combined with the current operating status of the server, the current load capacity value of each valid server is accurately obtained.
[0124] After obtaining the load occupancy and load capacity data of the effective server, the remaining load is calculated. The remaining load is calculated using a simple and effective formula: Remaining load = load capacity - load occupancy. Through this calculation, it is possible to clearly obtain the additional load size that each effective server can bear at the current moment. For example, if the load capacity of an effective server is calculated to be 100 units and the current load occupancy is 30 units, then its remaining load is 70 units. This remaining load data provides a key quantitative basis for subsequent load distribution decisions, ensuring that when load redistribution is performed, the effective server will not be overloaded, resulting in performance degradation or failure.
[0125] In the load management process of the server system, step 209 accurately identifies the adjacent valid servers of the semi-failed servers and / or failed servers based on the server topology relationship. These adjacent valid servers include directly connected servers and indirectly connected multi-order valid servers, laying the foundation for the subsequent reasonable distribution of load. When determining the server topology relationship, the network architecture of the server system is traversed by a network scanning tool, which can not only obtain the physical connection information between servers, such as the ports connected by the network cable, IP address mapping relationships, etc., but also deeply explore the service dependency connections based on business logic. For example, some servers are responsible for data storage, while other servers rely on these storage servers to obtain data for business processing. This service call relationship is also included in the category of topological relationship. Using this comprehensive connection information, a detailed server network topology diagram is constructed. Each node in the diagram represents a server, and the lines between the nodes represent the connection relationship between the servers, and the lines are given corresponding attributes according to the nature and characteristics of the connection, such as connection bandwidth, delay time, etc.
[0126] Based on the constructed server topology map, for each semi-failed server and / or failed server, the adjacent valid server is searched. The identification of directly connected servers is relatively intuitive. By checking the nodes directly connected to the failed server in the topology map, these directly adjacent valid servers can be determined. For example, in the topology map, if there is a direct connection between server A and server B, and server B is in a valid state, then server B is the directly adjacent valid server of server A.
[0127] To determine the indirectly connected multi-order valid servers, a specific algorithm is needed to perform a deep search. Taking the second-order valid server as an example, starting from the faulty server, first find all its directly adjacent servers, and then perform another adjacent search on these directly adjacent servers. If other servers in a valid state are found in the second search, these servers are the second-order valid servers of the faulty server. For example, server A is directly connected to server B, and server B is directly connected to server C, and server C is in a valid state, then server C is the second-order valid server of server A. According to the same principle, it can be recursively extended to higher-order valid server searches.
[0128] Step 210 aims to reasonably distribute the load to be distributed of the semi-failed servers and / or failed servers according to the remaining load of the effective servers, so as to optimize the load distribution of the server system and improve the overall performance and stability of the system. Before performing load distribution, the server topology relationship is first clarified. There are complex connection relationships between servers, including physical connections and service dependency connections based on business logic. Through in-depth analysis of the server network topology structure, the adjacent effective servers of the semi-failed servers and / or failed servers are determined. These adjacent effective servers include not only servers directly connected to the failed server, but also multi-order effective servers indirectly connected. For example, if server A fails, server B directly connected to A belongs to its first-order adjacent effective server; and server B is connected to server C, then server C belongs to the second-order adjacent effective server of server A, and so on can be extended to higher orders. Clarifying these adjacent effective servers provides possible target objects for load distribution.
[0129] For each half-failed server and / or failed server, the load to be allocated is allocated according to the remaining load of each adjacent valid server. The specific allocation process follows certain rules and algorithms to ensure the rationality of load distribution. First, the proportion of the remaining load of each adjacent valid server in the total remaining load of all adjacent valid servers is calculated.
[0130] Taking the second-order neighbor redistribution as an example, assuming that the current server When a failure occurs, its first-order effective neighbors and Server The first-order effective neighbor set of The total additional load will be:
[0131] in, Is the server The load, Is the server The first-order neighbor set of Is the server Load capacity, Is the server The remaining load (i.e., resource capacity) of and second-order neighbors The final additional load is:
[0132]
[0133] In the above allocation strategy, there are servers At the same time, it is a faulty server The first-order neighbors of are also second-order neighbors. For example, the server It is a faulty server The first-order neighbor of The first-order neighbors of It is a faulty server ), so the server The newly added load consists of two parts:
[0134] In addition, there is a server are second-order neighbors of multiple servers, such as servers Is the server and The first-order effective neighbors of and All are faulty servers ), so the server The newly added loads are:
[0135] Combining the above formula, we can get the server On the server After the failure, the newly added load is:
[0136] Furthermore, since a network failure may affect multiple servers simultaneously rather than an isolated single point of failure, the server The new load sources are more complex and diverse, and the new loads can be expressed as
[0137] The above formula can be simplified as:
[0138] in, is the set of all failed servers at time t.
[0139] At this point, server load redistribution is achieved based on high-order neighbors and resource capacity.
[0140] During the allocation process, the load changes of the effective servers are monitored in real time. Once it is found that the load of an effective server is close to or reaches its load capacity limit after the load is allocated, the allocation strategy is adjusted immediately. For example, the load allocation to the server is suspended, and the remaining load to be allocated is reallocated to other adjacent effective servers with lighter loads, ensuring that the load of the entire server system is always in a balanced state, improving the stability and reliability of the system. Through this load allocation method based on the remaining load of adjacent effective servers, the system resources are fully utilized, the overload of a single server is avoided, the load distribution of the server system is optimized, and the overall performance of the system is improved.
[0141] It should be noted that the embodiments of the present disclosure may include multiple steps. For the convenience of description, these steps are numbered, but these numbers do not limit the execution time slots or execution order between the steps; these steps can be implemented in any order, and the embodiments of the present disclosure do not limit this.
[0142] Corresponding to the above-mentioned load management method, the present invention also provides a load management device. Since the device embodiment of the present invention corresponds to the above-mentioned method embodiment, details not disclosed in the device embodiment can be referred to the above-mentioned method embodiment, and will not be repeated in the present invention.
[0143] Figure 3 A schematic diagram of a load management device provided by an embodiment of the present disclosure is shown in FIG. Figure 3 As shown, including: A monitoring unit 31, used to monitor the running status of the server in the server system and determine the status type of the server, the status type including a valid server, a semi-failed server, and an invalid server; A data calculation unit 32 is used to obtain network topology data of the server system and calculate network centrality index data of the server according to the network topology data; A classification unit 33 is used to classify the servers using the network centrality index data, and prioritize the loads to be allocated based on the classification results, where the loads to be allocated come from semi-failed servers and / or failed servers; The allocating unit 34 is used to allocate the prioritized loads to be allocated to the effective servers for task processing according to the load capacity of the effective servers and the server topology relationship.
[0144] The present disclosure provides a load management device, which can monitor the server operation status and determine the status type in real time, provide an accurate basis for subsequent load distribution, avoid assigning tasks to servers that cannot work normally, and ensure the normal operation of the system. Obtain network topology data and calculate network centrality index data, evaluate the importance of servers in the network from multiple dimensions, and deeply understand the role of servers in network connection and data transmission, so as to classify servers more reasonably, provide scientific reference for load distribution, and achieve more efficient resource allocation. Classify servers using network centrality index data, and prioritize the load to be allocated based on the classification results, so as to ensure that key tasks are processed first, reduce key task delays, and improve system response speed and real-time performance. Allocate loads according to the load capacity of effective servers and server topology relationships to avoid overloading of a single server. Fully consider the complex connection relationship between servers, more reasonably allocate the load of semi-failed and failed servers, improve load balancing between servers, improve the stability and reliability of the system, improve the overall resource utilization of the system, and reduce resource waste. When some servers fail, the load can be redistributed quickly and orderly to ensure the continuous and stable operation of the system, enhance the system's adaptability and fault tolerance in complex network environments, and reduce the risk of system crashes due to server failures.
[0145] Furthermore, in a possible implementation of this embodiment, as Figure 4 As shown, the network centrality index data include: betweenness centrality, degree centrality, closeness centrality, and vector centrality; The data calculation unit 32 includes: An acquisition module 321 is used to acquire the number of first shortest paths between any two servers except the target server in the server system and the number of second shortest paths passing through the target server, the number of edges connected to the target server and the number of servers, the target distance between the target server and other servers, and an adjacency matrix constructed by the connection status between the servers in the server system; A first calculation module 322 is used to calculate betweenness centrality using the first shortest path number and the second shortest path number; A second calculation module 323 is used to calculate degree centrality according to the number of edges and the number of servers; A third calculation module 324 is used to calculate the intimacy centrality based on the target distance and the number of servers; The fourth calculation module 325 is used to calculate the vector centrality according to the set proportional constant, the number of servers and the adjacency matrix.
[0146] Furthermore, in a possible implementation of this embodiment, as Figure 4 As shown, the device also includes: The modeling unit 35 is used to establish a server system model by taking the connection type of each server in the server system as an edge and the server as a node before obtaining the network topology data of the server system.
[0147] Furthermore, in a possible implementation of this embodiment, as Figure 4 As shown, the device also includes: The quantification unit 36 is used to quantify the load capacity of the server based on the network centrality index data.
[0148] Furthermore, in a possible implementation of this embodiment, as Figure 4 As shown, the quantization unit 36 includes: A fifth calculation module 361, used to calculate the initial load of the server according to the network centrality index data; The modeling module 362 is used to model the load capacity of the servers in the server system based on the initial load.
[0149] Furthermore, in a possible implementation of this embodiment, the fifth calculation module 361 is further configured to: Standardize the network centrality index data; Calculate the information entropy of the network centrality index data respectively, and calculate the weight corresponding to the network centrality index data based on the information entropy; The initial load of the server is calculated based on the first preset function, the second preset function and the weight.
[0150] Furthermore, in a possible implementation of this embodiment, as Figure 4 As shown, the classification unit 33 includes: A clustering module 331 is used to perform cluster analysis on the betweenness centrality, degree centrality, closeness centrality, and vector centrality of the server using a clustering algorithm; The division module 332 is used to divide the servers into multiple server levels according to the cluster center values obtained by cluster analysis.
[0151] Furthermore, in a possible implementation of this embodiment, as Figure 4 As shown, the classification unit 33 also includes: A first sorting module 333 is used to sort the loads to be allocated according to the server level corresponding to the loads to be allocated and the priority of the loads to be allocated according to the level size; The second sorting module 334 is used to sort the loads to be allocated at the same server level according to the priority of the load size.
[0152] Furthermore, in a possible implementation of this embodiment, as Figure 4 As shown, the device also includes: The limiting unit 37 is used to limit the number of loads to be distributed in a single load redistribution according to the task window parameters.
[0153] Furthermore, in a possible implementation of this embodiment, as Figure 4 As shown, the allocation unit 34 includes: The sixth calculation module 341 is used to calculate the remaining load of the effective server based on the load occupancy and load capacity of the effective server; A determination module 342 is used to determine, according to the server topology relationship, adjacent valid servers of the semi-failed server and / or failed server, where the adjacent valid servers are directly connected servers or indirectly connected multi-order valid servers; The allocation module 343 is used to allocate the load to be allocated of the semi-failed server and / or failed server according to the remaining load of each adjacent valid server.
[0154] It should be noted that the above explanation of the method embodiment is also applicable to the device of this embodiment, and the principle is the same, which is not limited in this embodiment.
[0155] Furthermore, in an embodiment of the present disclosure, a server system is also provided, which includes: multiple server nodes, and the multiple server nodes form a complex network; the server system is used to utilize the aforementioned load management method to perform load management and distribution on the load to be distributed generated by semi-failed servers and / or failed servers.
[0156] The server node is configured with different performance factors according to the server classification, and the performance factor is used to adjust the calculation weight of the initial load. For the description of the server system, please refer to the above embodiment, which will not be described in detail in this embodiment.
[0157] According to an embodiment of the present disclosure, the present disclosure also provides an electronic device, a readable storage medium and a computer program product.
[0158] Figure 5A schematic block diagram of an example electronic device 400 that can be used to implement an embodiment of the present disclosure is shown. The electronic device is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device can also represent various forms of mobile devices, such as personal digital processing, cellular phones, smart phones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely examples and are not intended to limit the implementation of the present disclosure described and / or required herein.
[0159] like Figure 5 As shown, the electronic device 400 includes a computing unit 401, which can perform various appropriate actions and processes according to a computer program stored in a ROM (Read-Only Memory) 402 or a computer program loaded from a storage unit 408 to a RAM (Random Access Memory) 403. In the RAM 403, various programs and data required for the operation of the electronic device 400 can also be stored. The computing unit 401, the ROM 402, and the RAM 403 are connected to each other via a bus 404. An I / O (Input / Output) interface 405 is also connected to the bus 404.
[0160] Multiple components in the electronic device 400 are connected to the I / O interface 405, including: an input unit 406, such as a keyboard, a mouse, etc.; an output unit 407, such as various types of displays, speakers, etc.; a storage unit 408, such as a disk, an optical disk, etc.; and a communication unit 409, such as a network card, a modem, a wireless communication transceiver, etc. The communication unit 409 allows the electronic device 400 to exchange information / data with other devices through a computer network such as the Internet and / or various telecommunication networks.
[0161] The computing unit 401 may be a variety of general and / or special processing components with processing and computing capabilities. Some examples of the computing unit 401 include, but are not limited to, a CPU (Central Processing Unit), a GPU (Graphic Processing Units), various dedicated AI (Artificial Intelligence) computing chips, various computing units running machine learning model algorithms, a DSP (Digital Signal Processor), and any appropriate processor, controller, microcontroller, etc. The computing unit 401 performs the various methods and processes described above, such as the method of load management. For example, in some embodiments, the method of load management may be implemented as a computer software program, which is tangibly included in a machine-readable medium, such as a storage unit 408. In some embodiments, part or all of the computer program may be loaded and / or installed on the electronic device 400 via the ROM 402 and / or the communication unit 409. When the computer program is loaded into the RAM 403 and executed by the computing unit 401, one or more steps of the method described above may be performed. Alternatively, in other embodiments, the computing unit 401 may be configured to execute the aforementioned load management method in any other appropriate manner (for example, by means of firmware).
[0162] Various embodiments of the systems and techniques described above herein may be implemented in digital electronic circuit systems, integrated circuit systems, FPGAs (Field Programmable Gate Arrays), ASICs (Application-Specific Integrated Circuits), ASSPs (Application Specific Standard Products), SOCs (System On Chips), CPLDs (Complex Programmable Logic Devices), computer hardware, firmware, software, and / or combinations thereof. These various embodiments may include: being implemented in one or more computer programs that may be executed and / or interpreted on a programmable system including at least one programmable processor that may be a dedicated or general-purpose programmable processor that may receive data and instructions from a storage system, at least one input device, and at least one output device, and transmit data and instructions to the storage system, the at least one input device, and the at least one output device.
[0163] The program code for implementing the method of the present disclosure may be written in any combination of one or more programming languages. These program codes may be provided to a processor or controller of a general-purpose computer, a special-purpose computer, or other programmable data processing device, so that the program code, when executed by the processor or controller, enables the functions / operations specified in the flow chart and / or block diagram to be implemented. The program code may be executed entirely on the machine, partially on the machine, partially on the machine and partially on a remote machine as a stand-alone software package, or entirely on a remote machine or server.
[0164] In the context of the present disclosure, a machine-readable medium may be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, device, or apparatus. A machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium may include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, device, or device, or any suitable combination of the foregoing. More specific examples of machine-readable storage media may include an electrical connection based on one or more wires, a portable computer disk, a hard disk, RAM, ROM, EPROM (Electrically Programmable Read-Only-Memory) or flash memory, optical fiber, CD-ROM (Compact Disc Read-Only Memory), optical storage device, magnetic storage device, or any suitable combination of the foregoing.
[0165] To provide interaction with a user, the systems and techniques described herein can be implemented on a computer having: a display device (e.g., a CRT (Cathode-Ray Tube) or LCD (Liquid Crystal Display) monitor) for displaying information to the user; and a keyboard and pointing device (e.g., a mouse or trackball) through which the user can provide input to the computer. Other types of devices can also be used to provide interaction with the user; for example, the feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including acoustic input, voice input, or tactile input).
[0166] The systems and techniques described herein may be implemented in a computing system that includes a backend component (e.g., as a data server), or a computing system that includes a middleware component (e.g., an application server), or a computing system that includes a frontend component (e.g., a user computer with a graphical user interface or a web browser through which a user can interact with an implementation of the systems and techniques described herein), or a computing system that includes any combination of such backend components, middleware components, or frontend components. The components of the system may be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include: LAN (Local Area Network), WAN (Wide Area Network), the Internet, and blockchain networks.
[0167] A computer system may include a client and a server. The client and the server are generally remote from each other and usually interact through a communication network. The relationship between the client and the server is generated by computer programs running on the corresponding computers and having a client-server relationship with each other. The server may be a cloud server, also known as a cloud computing server or cloud host, which is a host product in the cloud computing service system to solve the defects of difficult management and weak business scalability in traditional physical hosts and VPS services ("Virtual Private Server", or "VPS" for short). The server may also be a server of a distributed system, or a server combined with a blockchain.
[0168] It should be noted that artificial intelligence is a discipline that studies how computers can simulate certain human thought processes and intelligent behaviors (such as learning, reasoning, thinking, planning, etc.), and includes both hardware-level and software-level technologies. Artificial intelligence hardware technologies generally include technologies such as sensors, dedicated artificial intelligence chips, cloud computing, distributed storage, and big data processing; artificial intelligence software technologies mainly include computer vision technology, speech recognition technology, natural language processing technology, as well as machine learning / deep learning, big data processing technology, knowledge graph technology, and other major directions.
[0169] The various numerical numbers such as first and second involved in the present disclosure are only for the convenience of description and are not used to limit the scope of the embodiments of the present disclosure, but also indicate the order of precedence.
[0170] At least one in the present disclosure may also be described as one or more, and a plurality may be two, three, four or more, which is not limited in the present disclosure. In the embodiments of the present disclosure, for a technical feature, the technical features in the technical feature are distinguished by "first", "second", "third", "A", "B", "C" and "D", etc., and there is no order of precedence or size between the technical features described by the "first", "second", "third", "A", "B", "C" and "D".
[0171] It should be understood that the various forms of processes shown above can be used to reorder, add or delete steps. For example, the steps recorded in this disclosure can be executed in parallel, sequentially or in different orders, as long as the desired results of the technical solutions disclosed in this disclosure can be achieved, and this document does not limit this.
[0172] The above specific implementations do not constitute a limitation on the protection scope of the present disclosure. It should be understood by those skilled in the art that various modifications, combinations, sub-combinations and substitutions can be made according to design requirements and other factors. Any modification, equivalent substitution and improvement made within the spirit and principle of the present disclosure shall be included in the protection scope of the present disclosure.
Claims
1. A method for load management, characterized in that: include: Monitoring the running status of servers in the server system and determining the status type of the servers, wherein the status type includes a valid server, a semi-failed server, and an invalid server; Acquire network topology data of the server system, and calculate network centrality index data of the server according to the network topology data; Classifying the servers using the network centrality index data, and prioritizing the loads to be allocated based on the classification results, wherein the loads to be allocated come from the semi-failed servers and / or the failed servers; According to the load capacity of the effective server and the server topology relationship, the load to be allocated after priority sorting is allocated to the effective server for task processing.
2. The method according to claim 1, characterized in that The network centrality index data include: betweenness centrality, degree centrality, closeness centrality, and vector centrality; The obtaining of network topology data of the server system and calculating network centrality index data of the server according to the network topology data includes: Obtain the number of first shortest paths between any two servers in the server system except the target server and the number of second shortest paths passing through the target server, the number of edges connected to the target server and the number of servers, the target distance between the target server and other servers, and an adjacency matrix constructed based on the connection status between the servers in the server system; Calculating the betweenness centrality using the first number of shortest paths and the second number of shortest paths; Calculating the degree centrality according to the number of edges and the number of servers; Calculating the intimacy centrality based on the target distance and the number of servers; The vector centrality is calculated according to a set proportional constant, the number of servers and the adjacency matrix.
3. The method according to claim 1, characterized in that Before acquiring the network topology data of the server system, the method further includes: The connection type of each server in the server system is used as an edge and the server is used as a node to establish a server system model.
4. The method according to claim 1, characterized in that: The method further comprises: Based on the network centrality index data, the load capacity of the server is quantitatively characterized.
5. The method according to claim 4, characterized in that The quantitative characterization of the load capacity of the server based on the network centrality index data includes: Calculating the initial load of the server according to the network centrality index data; Based on the initial load, load capacity modeling is performed on the servers in the server system.
6. The method according to claim 5, characterized in that The calculating the initial load of the server according to the network centrality index data includes: Standardizing the network centrality index data; Calculating the information entropy of the network centrality index data respectively, and calculating the weight corresponding to the network centrality index data based on the information entropy; The initial load of the server is calculated based on the first preset function, the second preset function and the weight.
7. The method according to claim 2, characterized in that: The classifying process of the servers by using the network centrality index data includes: Performing cluster analysis on the betweenness centrality, degree centrality, closeness centrality, and vector centrality of the server using a clustering algorithm; The servers are divided into multiple server levels according to the cluster center values obtained by cluster analysis.
8. The method according to claim 1, characterized in that: The prioritization of the loads to be allocated based on the classification processing result includes: According to the server level corresponding to the load to be allocated, the load to be allocated is prioritized according to the level size; Prioritize the loads to be allocated at the same server level according to their load sizes.
9. The method according to claim 1, characterized in that: The method further comprises: The number of loads to be distributed at a time is limited according to the task window parameters.
10. The method according to claim 1, characterized in that The step of allocating the prioritized load to be allocated to the valid server for task processing according to the load capacity of the valid server and the server topology relationship includes: Calculating the remaining load of the effective server based on the load occupancy of the effective server and the load capacity; Determine, according to the server topology relationship, adjacent valid servers of the semi-failed server and / or the failed server, wherein the adjacent valid servers are directly connected servers or indirectly connected multi-order valid servers; The load to be allocated of the semi-failed server and / or the failed server is allocated according to the remaining load of each adjacent valid server.
11. A load management device, characterized in that: include: A monitoring unit, used to monitor the running status of the server in the server system and determine the status type of the server, wherein the status type includes a valid server, a semi-failed server, and an invalid server; A data calculation unit, used to obtain network topology data of the server system, and calculate network centrality index data of the server according to the network topology data; A classification unit, configured to classify the servers using the network centrality index data, and prioritize the loads to be allocated based on the classification results, wherein the loads to be allocated come from the semi-failed servers and / or the failed servers; The allocation unit is used to allocate the load to be allocated after priority sorting to the effective server for task processing according to the load capacity of the effective server and the server topology relationship.
12. A server system, characterized in that: The server system comprises: a plurality of server nodes, wherein the plurality of server nodes form a complex network; The server system is used to manage and distribute the load to be distributed generated by the semi-failed server and / or failed server using the load management method described in any one of claims 1-10.
13. The system according to claim 12, characterized in that The server node is configured with different performance factors according to server classification, and the performance factors are used to adjust the calculation weight of the initial load.
14. An electronic device, characterized in that: include: at least one processor; as well as a memory communicatively connected to the at least one processor; wherein, The memory stores instructions that can be executed by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to perform the load management method according to any one of claims 1 to 10.
15. A non-transitory computer-readable storage medium storing computer instructions, characterized in that: The computer instructions are used to cause the computer to execute the load management method according to any one of claims 1-10.
Citation Information
Patent Citations
Server cluster control method and system
CN117692460A
Industrial park management system driven by cloud computing
CN117891606A
Adaptive load balancing method and system based on multiple models
CN118656211A