Monitoring data transmission scheduling method and device and computer equipment
By building a directed graph of node-target server, determining the optimal path and dynamically adjusting the monitoring data transmission strategy, the problem of fragile monitoring data transmission in cloud storage clusters is solved, and efficient monitoring data push and stable cluster state management are achieved.
Patent Information
- Application Number
- CN202510560156.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-04-29
- Publication Date
- 2025-07-11
AI Technical Summary
In cloud storage clusters, the monitoring data transmission scheduling method between nodes and target servers is relatively fragile, resulting in data loss and increased difficulty in system maintenance, affecting the high availability and continuity of the monitoring system.
By obtaining the current information of nodes in the cluster, building a directed graph of node-target servers, determining the optimal path between each node and the target server, dynamically adjusting the monitoring data push strategy to ensure that the push rate remains high in abnormal situations.
It improves the stability and continuity of monitoring data push, reduces the possibility of data interruption caused by network fluctuations, enhances the transparency of cluster state, simplifies operation and maintenance difficulties, and saves resource costs.
Smart Images

Figure CN120301822A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of communication technologies, and in particular, to a method and apparatus for monitoring data transmission scheduling and a computer device. Background Art
[0002] In a cloud storage cluster, detecting the cluster status is a key link to ensure the reliability and stability of data storage services. A cloud storage cluster usually consists of multiple storage nodes, which are connected through a network and work together to provide a highly available and high-performance data storage solution. The administrator of the cloud storage cluster can comprehensively understand the running status of the cluster through monitoring metrics, discover and solve problems in a timely manner, and ensure the continuity and reliability of the storage service. Stably and continuously obtaining the key monitoring metrics of each node in the cluster is the basis for ensuring the operation of the cluster.
[0003] In the cluster, each node independently pushes data to resource monitoring platforms such as Prometheus, Nagios, and Zabbix. As Figure 1 shown, taking Prometheus as an example, it provides an intermediate component Pushgateway (i.e., the Figure 1 target server in ), allowing nodes to actively push data to Pushgateway. In this mode, the nodes do not need to know the location of the Prometheus server, nor do they need to be directly discovered by Prometheus. They only need to push data to the known Pushgateway, and then Prometheus pulls the data from Pushgateway and stores the data for querying and displaying.
[0004] Generally, the nodes in the cluster independently push monitoring metrics to the target server, lacking a unified coordination mechanism. Once the connection between a node and the target server is disconnected, these nodes can no longer upload data, resulting in the accumulated monitoring data being unable to be collected and analyzed, forming data islands. This monitoring data push design based on a fragile node-target server reduces the overall efficiency of the monitoring system, increases the difficulty of data loss and system maintenance, and is not conducive to maintaining the high availability and continuity of cluster monitoring data. Summary of the Invention
[0005] In view of this, the present invention provides a method and apparatus for monitoring data transmission scheduling and a computer device to solve the problem that the monitoring data transmission scheduling method between nodes and the target server is relatively fragile.
[0006] In a first aspect, the present invention provides a method for monitoring data transmission scheduling, including the following steps: obtaining the current information of nodes in a cluster; constructing a node-target server directed graph based on the current information; determining the optimal path between each node in the cluster and the target server according to the current information of the nodes and the node-target server directed graph.
[0007] The method for monitoring data transmission scheduling provided by the present invention can dynamically adjust the monitoring data push policy of the cluster by obtaining the current information of nodes in the cluster, constructing a node-target server directed graph based on the current information, and determining the optimal path between each node in the cluster and the target server according to the current information of the nodes and the node-target server directed graph. When there are abnormal situations in the cluster, it can still maintain a high push rate of performance monitoring data, ensuring that all cluster monitoring information is pushed as required.
[0008] In an optional implementation manner, the current information of nodes in the cluster includes: the distribution of key processes, the current load of each node in the cluster, the connectivity between each node in the cluster and other nodes, and the connectivity between each node in the cluster and the target server.
[0009] Thus, a directed graph can be abstractly constructed to build the node-node relationship and the cluster topology. This data structure can accurately, concisely, and clearly reflect the real-time state of the cluster, facilitating the study and judgment of the monitoring data transmission strategy.
[0010] In an optional implementation manner, the connectivity between each node in the cluster and other nodes includes: whether each node in the cluster is connected to other nodes; the message transmission delay between each node in the cluster and other nodes; the message transmission packet loss rate between each node in the cluster and other nodes.
[0011] Thus, the constructed node-target server directed graph can be relatively accurate according to the current information.
[0012] In an optional implementation manner, constructing a node-target server directed graph based on the current information includes: calculating the current state score of each node in the cluster according to the distribution of key processes and the current load of each node; calculating the weight of each edge between each node in the cluster and the target server according to the connectivity between each node in the cluster and the target server to obtain a first weight set; calculating the weight of each edge between each node in the cluster and other nodes according to the connectivity between each node in the cluster and other nodes to obtain a second weight set.
[0013] Thus, the constructed node-target server directed graph can be relatively accurate.
[0014] In an alternative embodiment, determining the optimal path between each node in the cluster and the target server according to the current information of the nodes and the node-target server directed graph includes: calculating the score of each path directly connecting each node in the cluster to the target server according to the current state score of each node in the cluster and the first weight set, to obtain the first path score set; selecting secondary nodes from the first path score set; calculating the score of each path for each node in the cluster to reach the target server through each secondary node according to the current state score of each node in the cluster, the second weight set and the first weight set, to obtain the second path score set; sorting and selecting the paths covering all non-secondary nodes in the second path score set as the push paths under the clustering strategy.
[0015] Thus, the optimal path for each node to push to the target server can be determined using the clustering strategy.
[0016] In an alternative embodiment, determining the optimal path between each node in the cluster and the target server according to the current information of the nodes and the node-target server directed graph includes: calculating the score of each path for each node in the cluster to reach the target server through other nodes according to the current state score of each node in the cluster, the second weight set and the first weight set, to obtain the third path score set; adding the score of each path directly connecting each node in the cluster to the target server to the third path score set; sorting and selecting the path with the minimum cost and covering all nodes in the third path score set as the push path under the clustering strategy.
[0017] Thus, the optimal path for each node to push to the target server can be determined using the free selection strategy.
[0018] In a second aspect, the present invention also provides a monitoring data transmission scheduling device, including an acquisition module, a directed graph construction module and a path selection module; the acquisition module is used to acquire the current information of the nodes in the cluster; the directed graph construction module is used to construct a node-target server directed graph according to the current information; the path selection module is used to determine the optimal path between each node in the cluster and the target server according to the current information of the nodes and the node-target server directed graph.
[0019] In a third aspect, the present invention also provides a computer device, including a memory and a processor, which are communicatively connected to each other. The memory stores computer instructions, and the processor executes the computer instructions to execute the monitoring data transmission scheduling method according to the first aspect or any corresponding embodiment thereof.
[0020] Fourthly, the present invention also provides a computer-readable storage medium, on which computer instructions are stored, and the computer instructions are used to cause a computer to execute the monitoring data transmission scheduling method according to the first aspect or any corresponding embodiment thereof as described above.
[0021] Fifthly, the present invention also provides a computer program product, including computer instructions, and the computer instructions are used to cause a computer to execute the monitoring data transmission scheduling method according to the first aspect or any corresponding embodiment thereof as described above.
[0022] The monitoring data transmission scheduling method, device and computer equipment provided by the present invention can dynamically adjust the monitoring data push policy of the cluster by obtaining the current information of the nodes in the cluster, constructing a node-target server directed graph according to the current information, and determining the optimal path between each node in the cluster and the target server according to the current information of the nodes and the node-target server directed graph. When there are abnormal situations in the cluster, the high push rate of performance monitoring data can still be maintained, ensuring that all cluster monitoring information that should be pushed is pushed. BRIEF DESCRIPTION OF THE DRAWINGS
[0023] In order to more clearly illustrate the specific embodiments of the present invention or the technical solutions in the prior art, the following will briefly introduce the drawings required for the description of the specific embodiments or the prior art. Obviously, the drawings in the following description are some embodiments of the present invention. For those of ordinary skill in the art, other drawings can be obtained based on these drawings without creative efforts.
[0024] Figure 1 It is a schematic diagram of each node in a related art cluster pushing monitoring metrics to a target server;
[0025] Figure 2 It is a flowchart of the monitoring data transmission scheduling method according to an embodiment of the present invention;
[0026] Figure 3 It is a flowchart of another monitoring data transmission scheduling method according to an embodiment of the present invention;
[0027] Figure 4 It is a schematic diagram of the state of the cluster application clustering strategy according to an embodiment of the present invention;
[0028] Figure 5 It is a flowchart of yet another monitoring data transmission scheduling method according to an embodiment of the present invention;
[0029] Figure 6 It is a schematic diagram of the state of the cluster application free selection strategy according to an embodiment of the present invention;
[0030] Figure 7It is a schematic diagram when some nodes need operation and maintenance in the free selection strategy state according to an embodiment of the present invention;
[0031] Figure 8 It is a schematic diagram when the free selection strategy switches to the clustering strategy state after some nodes are stripped according to an embodiment of the present invention;
[0032] Figure 9 It is a structural block diagram of a monitoring data transmission scheduling device according to an embodiment of the present invention;
[0033] Figure 10 It is a schematic diagram of the hardware structure of a computer device according to an embodiment of the present invention. Specific Embodiments
[0034] To make the objectives, technical solutions and advantages of the embodiments of the present invention clearer, the following will clearly and completely describe the technical solutions in the embodiments of the present invention with reference to the accompanying drawings in the embodiments of the present invention. Obviously, the described embodiments are some but not all of the embodiments of the present invention. All other embodiments obtained by those skilled in the art based on the embodiments of the present invention without creative efforts belong to the scope of protection of the present invention.
[0035] According to an embodiment of the present invention, an embodiment of a monitoring data transmission scheduling method is provided. It should be noted that the steps shown in the flowchart of the accompanying drawings can be executed in a computer system such as a set of computer executable instructions, and although the logical order is shown in the flowchart, in some cases, the steps shown or described can be executed in a different order than here.
[0036] In this embodiment, a monitoring data transmission scheduling method is provided, which can be used for a computer device. Figure 2 It is a flowchart of a monitoring data transmission scheduling method according to an embodiment of the present invention, as Figure 2 shown, and the process includes the following steps:
[0037] Step S201: Obtain the current information of the nodes in the cluster.
[0038] Specifically, the current information of the nodes in the cluster includes: the distribution of key processes, the current load of each node in the cluster, the connectivity between each node in the cluster and other nodes, and the connectivity between each node in the cluster and the target server.
[0039] When collecting the connectivity between each node in the cluster and other nodes and the connectivity between each node in the cluster and the target server, the log records of the services on the nodes can be used as a reference, and the logs recorded by the service message packets transmitted between the nodes can be combined to assist in judging the node situation, thereby avoiding enabling additional processes to continuously broadcast test messages and increasing the network load of the cluster and each node.
[0040] Among them, the connectivity between each node in the cluster and other nodes includes: whether each node in the cluster is connected to other nodes; the message transmission delay between each node in the cluster and other nodes; the message transmission packet loss rate between each node in the cluster and other nodes.
[0041] Step S202: Construct a node-target server directed graph according to the current information.
[0042] A directed graph (DG) is a concept in graph theory. It consists of a set of vertices and a set of directed edges. Each edge connects two vertices and has a direction indicating the starting point and the ending point of the edge. In a directed graph, vertices can represent entities, and edges represent a certain relationship or connection between entities.
[0043] In this embodiment, the vertices of the node-target server directed graph include all the nodes in the cluster and the target server. The edges of the node-target server directed graph include a first type of edge connecting the nodes in the cluster to the target server and a second type of edge connecting the nodes in the cluster to each other. Among them, the first type of edge is unidirectional, and the second type of edge is bidirectional.
[0044] Step S203: Determine the optimal path between each node in the cluster and the target server according to the current information of the nodes and the node-target server directed graph.
[0045] The monitoring data transmission scheduling method provided by the present invention can dynamically adjust the monitoring data push policy of the cluster by obtaining the current information of the nodes in the cluster, constructing a node-target server directed graph according to the current information, and determining the optimal path between each node in the cluster and the target server according to the current information of the nodes and the node-target server directed graph, so as to maintain a high push rate of performance monitoring data when there are abnormal situations in the cluster and ensure that all cluster monitoring information is pushed as much as possible.
[0046] In this embodiment, a monitoring data transmission scheduling method is provided, which can be used in a computer device. Figure 3 It is a flowchart of another monitoring data transmission scheduling method according to an embodiment of the present invention. As Figure 3 shown, this process includes the following steps:
[0047] Step S301: Obtain the current information of the nodes in the cluster.
[0048] Step S302: Construct a node-target server directed graph according to the current information.
[0049] In an optional implementation manner, constructing a node-target server directed graph according to the current information includes the following steps S3021 to S3023.
[0050] Step S3021: Calculate the current state score of each node in the cluster according to the critical process distribution and the current load of each node.
[0051] Exemplarily, the current state score of each node can be calculated using H i = aX i + bY i where H i represents the current state score of the i-th node in the cluster, a represents the weight of the load in the current state score, Xi represents the current load of the i-th node in the cluster, b represents the weight of the critical process in the current state score, and Yi represents whether there is a critical process in the i-th node in the cluster.
[0052] Step S3022: Calculate the weight of each edge between each node in the cluster and the target server according to the connectivity between each node in the cluster and the target server, and obtain the first weight set.
[0053] Exemplarily, the weight of each edge between each node and the target server can be calculated using S j1 = mQ j1 2 + nZ j1 where S j1 represents the weight value of the j-th first-type edge between the node in the cluster and the target server, Q j1 represents the delay of the j-th first-type edge between the node and the target server, m represents the weight of the delay between the node and the target server, Z j1 represents the packet loss rate between the node and the target server connected by the j-th first-type edge, and n represents the weight of the packet loss rate between the node and the target server.
[0054] Step S3023: Calculate the weight of each edge between each node in the cluster and other nodes according to the connectivity between each node in the cluster and other nodes, and obtain the second weight set.
[0055] Exemplarily, the weight of each edge between each node and other nodes can be calculated using S j2 = cQ j2 2 + dZ j2 where S j2 represents the weight value of the j-th second-type edge between any node in the cluster and other nodes, Q j2 represents the delay of the j-th second-type edge between any node in the cluster and other nodes, c represents the weight of the delay between nodes, Z j2 represents the packet loss rate between the nodes connected by the j-th second-type edge, and d represents the weight of the packet loss rate between nodes.
[0056] Step S303: Determine the optimal paths between each node in the cluster and the target server according to the current information of the nodes and the node-target server directed graph.
[0057] In an alternative embodiment, determining the optimal paths between each node in the cluster and the target server according to the current information of the nodes and the node-target server directed graph includes the following steps S3031 to S3034.
[0058] Step S3031: Calculate the score of each path directly connecting each node in the cluster to the target server according to the current state score of each node in the cluster and the first weight set, and obtain the first path score set.
[0059] Exemplarily, the score of each path directly connecting each node in the cluster to the target server can be calculated by F i =H i +S j1 where F i represents the path score between the i-th node and the target server, H i is the current state score of the i-th node, and S j1 is the weight value of the first type of edge between the i-th node in the cluster and the target server.
[0060] Step S3032: Select secondary nodes from the first path score set.
[0061] Specifically, a preset number of secondary nodes can be selected from the first path score set. Exemplarily, a threshold can be preset in advance. When the score of the path directly connecting node m in the cluster to the target server is greater than the preset threshold, then node m belongs to the secondary nodes; if after a period of time, the score of the path directly connecting node m to the target server is less than the preset threshold, then node m is demoted to an ordinary node. Step S3033: Calculate the score of each path for each node in the cluster to reach the target server through each secondary node according to the current state score of each node in the cluster, the second weight set, and the first weight set, and obtain the second path score set.
[0062] Exemplarily, the score of each path for each node in the cluster to reach the target server through each secondary node can be calculated by R ie =S ie +H e +S e where R ie represents the path score for the i-th node in the cluster to reach the target server through the secondary node e, S ie is the weight value of the second type of edge between the i-th node in the cluster and the secondary node e, H e is the current state score of the secondary node e, and S e1is the weight value of the first type of edge between the secondary node e and the target server.
[0063] Step S3034: Sort and select paths that cover all non-secondary nodes in the second path score set as the push paths under the clustering strategy.
[0064] In some alternative embodiments, sorting and selecting paths that cover all non-secondary nodes in the second path score set as the push paths under the clustering strategy includes: for any non-secondary node in the cluster, sort and select the push path corresponding to the non-secondary node in the second path score set; traverse all non-secondary nodes in the cluster to obtain the push paths corresponding to each non-secondary node in the cluster. Exemplarily, sorting and selecting the push path corresponding to the non-secondary node can be to select the path with the highest score corresponding to the non-secondary node.
[0065] That is to say, when using the clustering strategy in the cluster, the monitoring data transmission scheduling method includes the following steps: S10: Collect the current information of each node in the cluster; S20: Construct a directed graph of cluster nodes - target servers according to the collected current information; S30: According to the configured clustering strategy, use the directed graph to calculate the optimal paths of each node to the target server under this strategy, and push data to the target server using the optimal paths. Exemplarily, the state of the cluster is as Figure 4 shown; S40: Continuously monitor the cluster connectivity status, and repeat the above steps S10, S20, and S30 according to the configured policy and state changes to update the directed graph and the optimal push paths of each node.
[0066] The monitoring data transmission scheduling method provided by the present invention can dynamically adjust the monitoring data push strategy of the cluster by obtaining the current information of the nodes in the cluster, constructing a directed graph of nodes - target servers according to the current information, and determining the optimal paths between each node in the cluster and the target server using the clustering strategy based on the current information of the nodes and the directed graph of nodes - target servers, so as to maintain a high push rate of performance monitoring data when there are abnormal situations in the cluster and ensure that all cluster monitoring information is pushed as much as possible.
[0067] In this embodiment, a monitoring data transmission scheduling method is provided, which can be used in computer devices. Figure 5 is a flowchart of another monitoring data transmission scheduling method according to an embodiment of the present invention, as Figure 5 shown, and this process includes the following steps:
[0068] Step S501: Obtain the current information of the nodes in the cluster.
[0069] Step S502: Construct a directed graph of nodes - target servers according to the current information.
[0070] Step S503: Determine the optimal path between each node in the cluster and the target server according to the current information of the nodes and the node-target server directed graph.
[0071] In an alternative implementation, determining the optimal path between each node in the cluster and the target server according to the current information of the nodes and the node-target server directed graph includes the following steps S5031 to S5033.
[0072] Step S5031: Calculate the score of each path for each node in the cluster to reach the target server through other nodes according to the current state score of each node in the cluster, the second weight set, and the first weight set, and obtain the third path score set.
[0073] Exemplarily, the score of each path for each node in the cluster to reach the target server through other nodes can be calculated by R if = S if + H f + S f where R if represents the path score of the i-th node in the cluster to reach the target server through node f, S if is the sum of the weight values of all edges between the i-th node and node f in the cluster and the current state scores of all nodes; H e is the current state score of node f, and S e1 is the weight value of the first type of edge between the node and the f target server, where node f is an exit node in the cluster, that is, a node in the cluster that can be directly connected to the target server.
[0074] Step S5032: Add the scores of each path for each node in the cluster directly connected to the target server to the third path score set.
[0075] As above, the score of each path for each node in the cluster directly connected to the target server can be calculated by F i = H i + S j1 where F i represents the path score between the i-th node and the target server, H i is the current state score of the i-th node, and S j1 is the weight value of the first type of edge between the i-th node and the target server in the cluster.
[0076] Step S5033: Sort and select the path with the minimum cost and covering all nodes in the third path score set as the push path under the free selection strategy.
[0077] In some alternative embodiments, sorting and selecting the path with the minimum cost and covering all nodes in the third path score set as the push path under the free selection strategy includes: for any node in the cluster, sorting and selecting the push path corresponding to the node in the third path score set; traversing all nodes in the cluster to obtain the push paths corresponding to each node in the cluster. By way of example, sorting and selecting the push path corresponding to the node may be selecting the path with the highest score corresponding to the node.
[0078] That is to say, when using the free selection strategy in the cluster, the monitoring data transmission scheduling method includes the following steps: S10: Collect the current information of each node in the cluster; S20: Construct a cluster node - target server directed graph according to the collected current information; S30: According to the configured free selection strategy, use the directed graph to calculate the optimal path for each node to the target server under this strategy, and push data to the target server using the optimal path. By way of example, the state of the cluster is as Figure 6 shown; S40: Continuously monitor the cluster connectivity status, and repeat the above steps S10, S20, and S30 according to the configured policy and status changes to update the directed graph and the optimal push paths of each node.
[0079] The monitoring data transmission scheduling method provided by the present invention can dynamically adjust the monitoring data push policy of the cluster by obtaining the current information of the nodes in the cluster, constructing a node - target server directed graph according to the current information, and determining the optimal path between each node in the cluster and the target server using the free selection strategy according to the current information of the nodes and the node - target server directed graph, so as to maintain a high push rate of performance monitoring data when there are abnormal situations in the cluster and ensure that all cluster monitoring information is pushed as required.
[0080] It should be noted that in the scenario where some nodes in the cluster need to be maintained, if these nodes undertake the task of forwarding the data pushed by other nodes, as Figure 7 shown, the free selection strategy can be switched to the clustering strategy; designating some nodes with better performance and not requiring operation and maintenance as the new secondary nodes of the clustering strategy can strip the nodes that need operation and maintenance from the cluster without affecting the data push of the remaining relevant nodes. After switching the strategy, it is as Figure 8 shown.
[0081] The present invention designs two basic partition strategy modes, namely the clustering strategy and the free selection strategy, and the two basic modes can be nested with each other and themselves, making the relationship between nodes more free and flexible on the premise of ensuring high availability. Based on the above two basic partition strategy modes, the main - standby strategy of node push can be switched during the network service operation and maintenance in the cluster to ensure the continuity and stability of service monitoring data.
[0082] In summary, the monitoring data transmission scheduling method provided by the present invention has the following beneficial effects:
[0083] (1) Provide high availability features for cluster monitoring data push, improve the stability and continuity of monitoring data push, reduce the possibility of cluster status data interruption during network fluctuations, enhance cluster status transparency, facilitate users and operation and maintenance personnel to grasp the operation status, and reduce the difficulty of operation and maintenance.
[0084] (2) In the operation and maintenance scenario, the push strategy can be switched with one click to quickly remove nodes that need to be temporarily shut down without affecting the overall data push performance of the cluster.
[0085] (3) In the regulatory audit scenario, by setting designated push nodes, the audit supervision scope can be narrowed from the surface to the point, which can effectively reduce the audit difficulty and save audit costs and time.
[0086] (4) In scenarios where rapid deployment is required, the system strategy adapts to the cluster environment and no manual parameter adjustment is required.
[0087] (5) Compared with the existing network redundancy and node redundancy solutions, the present invention uses a directed graph to plan the push path on the nodes with relatively light load within the cluster, making full use of existing resources, without using redundant server equipment, network segments, IP and other resources, avoiding idle resources, lowering costs, and reflecting the advantages of green saving. It has application prospects in scenarios such as limited number of nodes and limited export IP resources.
[0088] (6) Compared with the solution of transforming intermediate components such as pushgateway to achieve high availability, the implementation of the present invention is less difficult and does not have problems such as data consistency and increased management difficulty.
[0089] In the present embodiment, a monitoring data transmission scheduling device is also provided, which is used to implement the above-mentioned embodiments and preferred implementation modes, and the descriptions that have been made will not be repeated. As used below, the term "module" can implement a combination of software and / or hardware of a predetermined function. Although the devices described in the following embodiments are preferably implemented in software, the implementation of hardware, or a combination of software and hardware, is also possible and conceivable.
[0090] This embodiment provides a monitoring data transmission scheduling device, such as Figure 9 As shown, including:
[0091] The acquisition module 901 is used to acquire the current information of the nodes in the cluster.
[0092] The directed graph construction module 902 is used to construct a node-target server directed graph according to current information.
[0093] A path selection module 903, configured to determine an optimal path between each node in the cluster and the target server according to the current information of the node and the node-target server directed graph.
[0094] In some alternative embodiments, the current information of the nodes in the cluster includes: the distribution of critical processes, the current load of each node in the cluster, the connectivity between each node in the cluster and other nodes, and the connectivity between each node in the cluster and the target server.
[0095] In some alternative embodiments, the connectivity between each node in the cluster and other nodes includes: whether each node in the cluster is connected to other nodes; the message transmission delay between each node in the cluster and other nodes; the message transmission packet loss rate between each node in the cluster and other nodes.
[0096] In some alternative embodiments, the directed graph construction module 902 is specifically configured to: calculate the current state score of each node in the cluster according to the distribution of critical processes and the current load of each node; calculate the weight of each edge between each node in the cluster and the target server according to the connectivity between each node in the cluster and the target server to obtain a first weight set; calculate the weight of each edge between each node in the cluster and other nodes according to the connectivity between each node in the cluster and other nodes to obtain a second weight set.
[0097] In some alternative embodiments, the path selection module 903 is specifically configured to: calculate the score of each path where each node in the cluster is directly connected to the target server according to the current state score of each node in the cluster and the first weight set to obtain a first path score set; select secondary nodes from the first path score set; calculate the score of each path where each node in the cluster reaches the target server through each secondary node according to the current state score of each node in the cluster, the second weight set, and the first weight set to obtain a second path score set; sort and select a path covering all non-secondary nodes in the second path score set as the push path under the clustering strategy.
[0098] In some alternative embodiments, the path selection module 903 is specifically configured to: calculate the score of each path where each node in the cluster reaches the target server through other nodes according to the current state score of each node in the cluster, the second weight set, and the first weight set to obtain a third path score set; add the score of each path where each node in the cluster is directly connected to the target server to the third path score set; sort and select a path with the minimum cost and covering all nodes in the third path score set as the push path under the clustering strategy.
[0099] The further function descriptions of the above-mentioned various modules and units are the same as those in the corresponding embodiments above, and will not be elaborated here.
[0100] The monitoring data transmission scheduling device in this embodiment is presented in the form of functional units. Here, the unit refers to an ASIC (Application Specific Integrated Circuit) circuit, a processor and a memory that execute one or more software or fixed programs, and / or other devices that can provide the above functions.
[0101] An embodiment of the present invention further provides a computer device having the above-mentioned Figure 9 monitoring data transmission scheduling device.
[0102] Please refer to Figure 10 , Figure 10 which is a schematic structural diagram of a computer device provided by an alternative embodiment of the present invention. As Figure 10 shown, the computer device includes: one or more processors 10, a memory 20, and interfaces for connecting various components, including high-speed interfaces and low-speed interfaces. Each component communicates with each other using different buses and can be installed on a common motherboard or installed in other ways as needed. The processor can process instructions executed within the computer device, including instructions stored in the memory or on the memory to display graphical information of the GUI on an external input / output device (such as a display device coupled to the interface). In some alternative embodiments, if necessary, multiple processors and / or multiple buses can be used together with multiple memories and multiple memories. Similarly, multiple computer devices can be connected, and each device provides some necessary operations (such as a server array, a set of blade servers, or a multi-processor system). Figure 10 In
[0103] FIG. 14, one processor 10 is taken as an example.
[0104] The processor 10 can be a central processor, a network processor, or a combination thereof. Among them, the processor 10 can further include a hardware chip. The above-mentioned hardware chip can be an application specific integrated circuit, a programmable logic device, or a combination thereof. The above-mentioned programmable logic device can be a complex programmable logic device, a field programmable gate array, a generic array logic, or any combination thereof.
[0105] The memory 20 may include a program storage area and a data storage area. Among them, the program storage area can store an operating system and application programs required for at least one function; the data storage area can store data created according to the use of the computer device, etc. In addition, the memory 20 may include high-speed random access memory, and may also include non-transitory memory, such as at least one magnetic disk storage device, a flash memory device, or other non-transitory solid-state storage devices. In some alternative embodiments, the memory 20 may optionally include a memory remotely provided with respect to the processor 10, and these remote memories can be connected to the computer device through a network. Examples of the above network include but are not limited to the Internet, an enterprise intranet, a local area network, a mobile communication network, and combinations thereof.
[0106] The memory 20 may include volatile memory, such as random access memory; the memory may also include non-volatile memory, such as flash memory, a hard disk, or a solid-state drive; the memory 20 may further include a combination of the above types of memory.
[0107] The computer device further includes an input device 30 and an output device 40. The processor 10, the memory 20, the input device 30, and the output device 40 can be connected through a bus or other means. Figure 10 Taking connection through a bus as an example.
[0108] The input device 30 can receive input digital or character information, and generate key signal inputs related to the user settings and function control of the computer device, such as a touch screen, a keypad, a mouse, a trackpad, a touchpad, a pointing stick, one or more mouse buttons, a trackball, a joystick, etc. The output device 40 may include a display device, an auxiliary lighting device (e.g., an LED), and a haptic feedback device (e.g., a vibration motor), etc. The above display device includes but is not limited to a liquid crystal display, a light-emitting diode, a display, and a plasma display. In some alternative embodiments, the display device may be a touch screen.
[0109] Embodiments of the present invention also provide a computer-readable storage medium. The method according to the embodiments of the present invention can be implemented in hardware, firmware, or be implemented as computer code that can be recorded on a storage medium, or be implemented as computer code that is originally stored in a remote storage medium or a non-transitory machine-readable storage medium and downloaded through a network and will be stored in a local storage medium. Thus, the method described herein can be stored in such software processing on a storage medium using a general-purpose computer, a dedicated processor, or programmable or dedicated hardware. Among them, the storage medium can be a magnetic disk, an optical disk, a read-only memory, a random access memory, a flash memory, a hard disk, a solid-state drive, etc.; further, the storage medium can also include a combination of the above types of memories. It can be understood that a computer, a processor, a microprocessor controller, or programmable hardware includes a storage component that can store or receive software or computer code. When the software or computer code is accessed and executed by the computer, the processor, or the hardware, the method shown in the above embodiments is implemented.
[0110] A part of the present invention can be applied as a computer program product, such as computer program instructions. When executed by a computer, through the operation of the computer, the method and / or technical solution according to the present invention can be invoked or provided. Those skilled in the art should be able to understand that the forms in which computer program instructions exist in a computer-readable medium include, but are not limited to, source files, executable files, installation package files, etc. Correspondingly, the ways in which computer program instructions are executed by a computer include, but are not limited to: the computer directly executes the instruction, or the computer compiles the instruction and then executes the corresponding compiled program, or the computer reads and executes the instruction, or the computer reads and installs the instruction and then executes the corresponding installed program. Herein, the computer-readable medium can be any available computer-readable storage medium or communication medium accessible to the computer.
[0111] Although the embodiments of the present invention have been described in conjunction with the accompanying drawings, those skilled in the art can make various modifications and variations without departing from the spirit and scope of the present invention, and such modifications and variations all fall within the scope defined by the appended claims.
Claims
1. A monitoring data transmission scheduling method, characterized in that, including: Obtain the current information of the nodes in the cluster; Construct a node-target server directed graph according to the current information; Determine the optimal path between each node in the cluster and the target server according to the current information of the nodes and the node-target server directed graph.
2. The method according to claim 1, wherein The current information of the nodes in the cluster includes: the distribution of key processes, the current load of each node in the cluster, the connectivity between each node in the cluster and other nodes, and the connectivity between each node in the cluster and the target server.
3. The method according to claim 1, wherein The connectivity between each node in the cluster and other nodes includes: Whether each node in the cluster is connected to other nodes; The message transmission delay between each node in the cluster and other nodes; The message transmission packet loss rate between each node in the cluster and other nodes.
4. The method according to claim 2, wherein The constructing a node-target server directed graph according to the current information includes: Calculate the current state score of each node in the cluster according to the distribution of key processes and the current load of each node; Calculate the weight of each edge between each node in the cluster and the target server according to the connectivity between each node in the cluster and the target server, and obtain a first weight set; Calculate the weight of each edge between each node in the cluster and other nodes according to the connectivity between each node in the cluster and other nodes, and obtain a second weight set.
5. The method according to claim 4, characterized in that, The determining the optimal path between each node in the cluster and the target server according to the current information of the nodes and the node-target server directed graph includes: Calculate the score of each path where each node in the cluster directly connects to the target server according to the current state score of each node in the cluster and the first weight set, and obtain a first path score set; Select secondary nodes from the first path score set; Calculate the score of each path where each node in the cluster reaches the target server through each secondary node according to the current state score of each node in the cluster, the second weight set and the first weight set, and obtain a second path score set; Sort and select the path that covers all non-secondary nodes in the second path score set as the push path under the clustering strategy.
6. The method according to claim 4, characterized in that, The determining the optimal path between each node in the cluster and the target server according to the current information of the nodes and the node-target server directed graph includes: Calculate the score of each path where each node in the cluster reaches the target server through other nodes according to the current state score of each node in the cluster, the second weight set and the first weight set, and obtain a third path score set; Add the score of each path where each node in the cluster directly connects to the target server to the third path score set; Sort and select the path with the minimum cost and covering all nodes in the third path score set as the push path under the clustering strategy.
7. A monitoring data transmission scheduling device, characterized in that, including: An obtaining module, configured to obtain the current information of the nodes in the cluster; A directed graph construction module for constructing a node-target server directed graph according to the current information; A path selection module for determining an optimal path between each node in the cluster and the target server according to the current information of the node and the node-target server directed graph.
8. A computer device, characterized in that, Comprising: A memory and a processor, which are communicatively connected to each other. The memory stores computer instructions, and the processor executes the computer instructions to execute the monitoring data transmission scheduling method according to any one of claims 1 to 6.
9. A computer-readable storage medium, characterized in that, Computer instructions are stored on the computer-readable storage medium, and the computer instructions are used to cause a computer to execute the monitoring data transmission scheduling method according to any one of claims 1 to 6.
10. A computer program product, characterized in that, Comprising computer instructions for causing a computer to execute the monitoring data transmission scheduling method according to any one of claims 1 to 6.