Network data flow scheduling method, device, program product and medium for distributed storage system
By dividing and prioritizing network data streams in the distributed storage system, measure and analyze the network performance of the candidate path, and use the multi -attribute decision model to select the best transmission path to solve the problem of low data flow efficiency in the distributed storage system. , Achieve higher system performance and user experience.
Patent Information
- Application Number
- CN202411276051.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-09-12
- Publication Date
- 2025-01-28
- Estimated Expiration
- 2044-09-12
AI Technical Summary
In a distributed storage system, network data streams generated by different services have different transmission priorities and requirements for network performance. It is difficult for the prior art to effectively schedule these data streams, affecting system performance and service quality.
By obtaining the service type of network data stream, it is divided into different types of target data streams. The corresponding network performance weight parameters are determined according to the priority features of each type, the network performance parameters of the candidate path are measured, and the network status parameter matrix is constructed. And use multi -attribute decision model to screen the best transmission path.
The effective scheduling of different types of data streams has been realized, the overall performance of the system is improved, and the user experience is improved.
Smart Images

Figure CN118869573B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of data processing technology, and in particular to a network data flow scheduling method, device, program product and medium for a distributed storage system. Background Art
[0002] With the rapid development of Internet business, the scale of data continues to explode, which puts extremely high demands on the scale and scalability of storage systems. Traditional centralized storage can no longer meet the needs of reliable storage and fast access to massive data. Distributed storage systems have been widely used due to their low cost, strong scalability, high access speed, high reliability, and support for higher concurrent access. Since the various services running inside the distributed storage system generate diverse, large-scale, and long-term coexisting network data flows, and the data flows generated by different services have different transmission priorities, different types of data flows have different requirements for network performance. Therefore, how to effectively schedule the data flows generated by these different services has become one of the key factors affecting the performance and service quality of distributed storage systems. Summary of the invention
[0003] In view of this, the purpose of the present invention is to provide a network data flow scheduling method, device, program product and medium for a distributed storage system, which can find the best transmission path for the data flow. The specific scheme is as follows:
[0004] In a first aspect, the present application discloses a network data flow scheduling method for a distributed storage system, comprising:
[0005] Acquire a network data flow, and divide the network data flow according to a service type of the network data flow to obtain different types of target data flows;
[0006] Determining a weight parameter of a first network performance of the target data flow according to a priority feature corresponding to the type of the target data flow;
[0007] Obtaining a flow scheduling request, and reading connection information of each switch according to the flow scheduling request, so as to determine each candidate path from the source switch to the target switch in the network topology based on the connection information;
[0008] Measuring parameters of the second network performance of each of the candidate paths, and constructing a network state parameter matrix of each of the candidate paths using the parameters of the second network performance;
[0009] The suitability evaluation index of each candidate path is determined based on the network state parameter matrix and the weight parameter, and then a preset multi-attribute decision model is used to select the best transmission path for the network data flow based on the suitability evaluation index.
[0010] Optionally, dividing the network data flow according to the service type of the network data flow to obtain different types of target data flows includes:
[0011] The network data flow is divided into a heartbeat flow, a user business flow and a migration flow according to the service type of the network data flow; wherein the heartbeat flow is used to monitor whether each storage node in the network topology is working normally; the user business flow is used to indicate different data operations performed by the user; and the migration flow is used to perform load balancing between the storage nodes.
[0012] Optionally, the first network performance includes a delay, a remaining bandwidth, and a number of flow tables of the network data flow; before determining a weight parameter of the first network performance of the target data flow according to a priority feature corresponding to the type of the target data flow, the method further includes:
[0013] Configuring a first priority for the heartbeat flow, and setting a weight parameter of the network performance corresponding to the heartbeat flow to obtain a first delay weight parameter, a first remaining bandwidth weight parameter, and a first flow table quantity weight parameter;
[0014] Configuring a second priority for the user service flow, and setting a weight parameter of the network performance corresponding to the user service flow to obtain a second delay weight parameter, a second remaining bandwidth weight parameter, and a second flow table quantity weight parameter;
[0015] Configuring a third priority for the migration flow, and setting a weight parameter of the network performance corresponding to the migration flow to obtain a third delay weight parameter, a third remaining bandwidth weight parameter, and a third flow table quantity weight parameter;
[0016] The first priority is higher than the second priority, and the second priority is higher than the third priority.
[0017] Optionally, determining a weight parameter of the first network performance of the target data flow according to a priority feature corresponding to the type of the target data flow includes:
[0018] If the target data flow is the heartbeat flow, determining the weight parameter of the first network performance according to the first priority as the first delay weight parameter, the first remaining bandwidth weight parameter and the first flow table quantity weight parameter;
[0019] If the target data flow is the user service flow, determining the weight parameters of the first network performance according to the second priority as the second delay weight parameter, the second remaining bandwidth weight parameter and the second flow table quantity weight parameter;
[0020] If the target data flow is the migration flow, the weight parameters of the first network performance are determined according to the third priority as the third delay weight parameter, the third remaining bandwidth weight parameter and the third flow table quantity weight parameter.
[0021] Optionally, before obtaining the flow scheduling request and reading the connection information of each switch according to the flow scheduling request, the method further includes:
[0022] Determine the current switch, and match the first data packet of the network data flow with the flow table entry in the current switch to determine whether the match is successful;
[0023] If the first data packet of the network data flow successfully matches the flow table entry in the current switch, forwarding the network data flow through the forwarding port specified by the flow table entry;
[0024] If the first data packet of the network data flow fails to match the flow table entry in the current switch, the target message in the data packet is uploaded to the software-defined network controller through the southbound interface, so that the software-defined network controller generates the flow scheduling request according to the target message.
[0025] Optionally, after obtaining the stream scheduling request, the method further includes:
[0026] According to the stream scheduling request, respectively obtaining the target port number information contained in the target message and the target port number array pre-set for the target data stream;
[0027] The target port number information is compared with the target port number array to determine the type of the target data flow.
[0028] Optionally, reading connection information of each switch according to the flow scheduling request so as to determine each candidate path from the source switch to the target switch in the network topology based on the connection information includes:
[0029] Reading connection information of each switch according to the flow scheduling request, and constructing an undirected graph according to the connection information;
[0030] Based on the undirected graph, a preset shortest path algorithm is used to determine candidate paths from a source switch to a target switch in a network topology.
[0031] Optionally, measuring the parameters of the second network performance of each of the candidate paths and constructing a network state parameter matrix of each of the candidate paths using the parameters of the second network performance includes:
[0032] The maximum transmission delay, remaining bandwidth, packet loss rate and number of flow tables of each candidate path are measured, and the network state parameter matrix of each candidate path is constructed using the maximum transmission delay, remaining bandwidth, packet loss rate and number of flow tables.
[0033] Optionally, after measuring the parameters of the second network performance of each candidate path and constructing the network state parameter matrix of each candidate path using the parameters of the second network performance, the method further includes:
[0034] The network state parameter matrix is normalized; wherein the normalization is used to normalize each element in the network state parameter matrix separately, and the maximum transmission delay, remaining bandwidth, packet loss rate and number of flow tables of the core switch contained in each element are normalized separately.
[0035] Optionally, the using a preset multi-attribute decision-making model to select an optimal transmission path for the network data flow based on the suitability evaluation index includes:
[0036] Constructing a delay screening strategy, and screening a first candidate path from each of the candidate paths according to the delay screening strategy to construct a first candidate path set;
[0037] Constructing a bandwidth screening strategy, and screening a second candidate path from the first candidate path set according to the bandwidth screening strategy to construct a second candidate path set;
[0038] The candidate path corresponding to the maximum suitability evaluation index is determined from the second candidate path set to obtain the optimal transmission path.
[0039] Optionally, the network data flow scheduling method for a distributed storage system further includes:
[0040] Based on a preset time interval, periodically sending a network information query request to each of the switches through a software-defined network controller;
[0041] Acquire a reply message from each of the switches according to the network information query request, and calculate network information of each link in the network topology according to the reply message;
[0042] The network information is used to update a corresponding data table in the software defined network controller.
[0043] Optionally, after selecting the best transmission path for the network data flow based on the suitability evaluation index by using a preset multi-attribute decision model, the method further includes:
[0044] Determine a traffic scheduling strategy according to the optimal transmission path, and generate control information based on the traffic scheduling strategy;
[0045] The traffic scheduling strategy is sent to each of the switches based on the control information, so that each of the switches updates its own flow table according to the traffic scheduling strategy.
[0046] Optionally, the determining the suitability evaluation index of each of the candidate paths based on the network state parameter matrix and the weight parameter includes:
[0047] Determining the suitability evaluation index of each of the candidate paths by a preset suitability evaluation index calculation formula based on the network state parameter matrix and the weight parameter;
[0048] The preset fitness evaluation index calculation formula is: ;in, is the suitability evaluation index of the pth candidate path, , , are weight parameters corresponding to the first network performance, , , , They are respectively corresponding parameters obtained after normalizing the parameters of the second network performance.
[0049] In a second aspect, the present application discloses an electronic device, comprising:
[0050] Memory for storing computer programs;
[0051] A processor is used to load and execute the computer program to implement the aforementioned network data flow scheduling method for distributed storage systems.
[0052] In a third aspect, the present application discloses a computer program product, including a computer program / instruction, which, when executed by a processor, implements the steps of the aforementioned network data flow scheduling method for a distributed storage system.
[0053] In a fourth aspect, the present application discloses a computer-readable storage medium for storing a computer program; wherein the computer program, when executed by a processor, implements the aforementioned network data flow scheduling method for a distributed storage system.
[0054] The present application provides a network data flow scheduling method for a distributed storage system, comprising: obtaining a network data flow, and dividing the network data flow according to the service type of the network data flow to obtain different types of target data flows; determining a weight parameter of a first network performance of the target data flow according to a priority feature corresponding to the type of the target data flow; obtaining a flow scheduling request, and reading connection information of each switch according to the flow scheduling request, so as to determine each candidate path from a source switch to a target switch in a network topology based on the connection information; measuring parameters of a second network performance of each candidate path, and constructing a network state parameter matrix of each candidate path using the parameters of the second network performance; determining a fitness evaluation index of each candidate path based on the network state parameter matrix and the weight parameter, and then using a preset multi-attribute decision model to screen an optimal transmission path for the network data flow based on the fitness evaluation index.
[0055] The beneficial technical effects of the present application are as follows: first, for the network data stream generated by the distributed storage network, different types of target data streams are divided into different types considering different service types. Different types of target data streams have different transmission priorities, and the weight parameters of the corresponding network performance are determined according to the priority characteristics; second, after receiving the stream scheduling request, the network performance requirements of the data stream are considered, and a network state parameter matrix is constructed according to each candidate path in the network topology; finally, the suitability evaluation index of all candidate paths is calculated based on the network state parameter matrix and the weight parameter, and then the multi-attribute decision model is used to find the best transmission path for the data stream. In this way, the traffic scheduling strategy determined based on the best transmission path can perceive the characteristics of different types of data streams and their different requirements for network performance, realize the effective scheduling of network data streams, improve the overall performance of the system, and improve the user experience.
[0056] In addition, the present application provides a network data flow scheduling device, program product and medium for a distributed storage system, which correspond to the above-mentioned network data flow scheduling method for a distributed storage system and have the same effect as above. BRIEF DESCRIPTION OF THE DRAWINGS
[0057] In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are only embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on the provided drawings without paying creative work.
[0058] Figure 1 A flow chart of a network data flow scheduling method for a distributed storage system disclosed in this application;
[0059] Figure 2 A schematic diagram of a software defined network architecture disclosed in this application;
[0060] Figure 3 A schematic diagram of a fat tree network topology structure disclosed in this application;
[0061] Figure 4 A software defined network controller update data representation intent disclosed in this application;
[0062] Figure 5 A schematic diagram of the structure of a network data flow scheduling device for a distributed storage system disclosed in this application;
[0063] Figure 6 This is a structural diagram of an electronic device disclosed in this application. DETAILED DESCRIPTION
[0064] The following will be combined with the drawings in the embodiments of the present invention to clearly and completely describe the technical solutions in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.
[0065] Currently, there are some general scheduling schemes designed for all data flows in general data center networks to reduce the completion time of flows; there are also some scheduling methods that divide data into elephant flows and mouse flows according to size and give targeted scheduling strategies.
[0066] However, since different business scenarios will produce different traffic models, the scheduling method of network flow needs to be deployed in combination with specific business scenarios and traffic models. The current flow scheduling strategy lacks consideration of the priority characteristics of different types of data flows in the storage network and their different requirements for network performance.
[0067] To this end, the present application provides a network data flow scheduling solution that can perceive the characteristics of different types of data flows and their different requirements for network performance, and achieve effective scheduling of network data flows.
[0068] The embodiment of the present invention discloses a network data flow scheduling method for a distributed storage system. Figure 1 As shown, the method includes:
[0069] Step S11: Acquire a network data flow, and divide the network data flow according to the service type of the network data flow to obtain different types of target data flows.
[0070] In the embodiment of the present application, the specific application scenario can be a distributed storage system, where each storage node in the distributed storage system is interconnected through a network to form a whole to provide high-quality services to the outside world. Among them, the network topology within the cloud storage system and the scheduling of network data flows are the key to the service quality of the distributed storage system.
[0071] The various services running inside the cloud storage system can generate diverse, large-scale, and long-term coexisting network data flows. In the embodiment of the present application, the acquired network data flows are divided according to the service type, and the network data flows are divided into different types of target data flows, and each type of target data flow corresponds to a specific service type.
[0072] In a specific implementation, the network data flow is divided into three categories, namely, heartbeat flow, user service flow and migration flow. A person skilled in the art can understand that the above type classification is only for illustration and does not limit the types of the above network data flow classification. In the following embodiments, the heartbeat flow, user service flow and migration flow obtained by the classification are used as examples for explanation as target data flows, and no further description will be given below.
[0073] Specifically, the network data flow is divided into a heartbeat flow, a user business flow and a migration flow according to the service type of the network data flow; wherein the heartbeat flow is used to monitor whether each storage node in the network topology is working normally; the user business flow is used to indicate different data operations performed by the user, usually generated by upload or download operation tasks performed by the user; the migration flow is used to perform load balancing between the storage nodes.
[0074] Step S12: Determine a weight parameter of the first network performance of the target data flow according to a priority feature corresponding to the type of the target data flow.
[0075] It should be pointed out that the target data flows corresponding to different services have different transmission priorities and different requirements for network performance. Generally, the heartbeat flow is used to determine whether each storage node is normal, has the highest priority, is highly sensitive to latency, and requires less bandwidth; the user service flow has a higher transmission priority, is more sensitive to latency, and requires more bandwidth; the migration flow is generated by the load balancing mechanism of the distributed storage system, has a low priority, is not sensitive to latency, and requires more bandwidth.
[0076] In the embodiment of the present application, the weight parameters of the first network performance of the three data flows are determined respectively according to the priority characteristics corresponding to the types of the target data flows. In a specific implementation, the first network performance includes the remaining bandwidth, delay and number of flow tables of the network data flow. Therefore, the process of determining the weight parameters is to determine the weight parameters of the remaining bandwidth, delay and number of flow tables of the target data flow, which are recorded as .
[0077] It should be noted that the delay, remaining bandwidth and flow table quantity weight parameters of three types of heartbeat flow, user service flow and migration flow are preset in advance. Specifically, the following steps are included:
[0078] Configuring a first priority for the heartbeat flow, and setting a weight parameter of the network performance corresponding to the heartbeat flow to obtain a first delay weight parameter, a first remaining bandwidth weight parameter, and a first flow table quantity weight parameter;
[0079] Configuring a second priority for the user service flow, and setting a weight parameter of the network performance corresponding to the user service flow to obtain a second delay weight parameter, a second remaining bandwidth weight parameter, and a second flow table quantity weight parameter;
[0080] Configuring a third priority for the migration flow, and setting a weight parameter of the network performance corresponding to the migration flow to obtain a third delay weight parameter, a third remaining bandwidth weight parameter, and a third flow table quantity weight parameter;
[0081] The first priority is higher than the second priority, and the second priority is higher than the third priority.
[0082] Exemplarily, the remaining bandwidth, delay and flow table quantity weight parameters of the three types of preset heartbeat flow, user service flow and migration flow are respectively , and .
[0083] Further, the values of w1, w2, and w3 are determined according to the type of the target data stream. For example, if the type of the target data stream is a heartbeat stream, then , , ; If the data flow type is user service flow, then , , ; If the data stream type is migration stream, then , , .
[0084] Specifically, determining the weight parameter of the first network performance of the target data flow according to the priority feature corresponding to the type of the target data flow includes the following steps:
[0085] If the target data flow is the heartbeat flow, determining the weight parameter of the first network performance according to the first priority as the first delay weight parameter, the first remaining bandwidth weight parameter and the first flow table quantity weight parameter;
[0086] If the target data flow is the user service flow, determining the weight parameters of the first network performance according to the second priority as the second delay weight parameter, the second remaining bandwidth weight parameter and the second flow table quantity weight parameter;
[0087] If the target data flow is the migration flow, the weight parameters of the first network performance are determined according to the third priority as the third delay weight parameter, the third remaining bandwidth weight parameter and the third flow table quantity weight parameter.
[0088] Step S13: Obtain a flow scheduling request, and read connection information of each switch according to the flow scheduling request, so as to determine each candidate path from the source switch to the target switch in the network topology based on the connection information.
[0089] In an embodiment of the present application, a flow scheduling request is obtained, and an optimal transmission path for forwarding network data flows is selected through service perception based on the flow scheduling request. After the flow scheduling request is obtained, the connection information of the switch is read according to the flow scheduling request to construct an undirected graph, and further, all candidate paths from the source switch to the target switch in the network topology are determined based on the undirected graph.
[0090] Specifically, the connection information of each switch is read according to the flow scheduling request, and an undirected graph is constructed according to the connection information; based on the undirected graph, each candidate path from the source switch to the target switch in the network topology is determined using a preset shortest path algorithm.
[0091] For example, the preset shortest path algorithm may adopt the Dijkstra algorithm, and all the candidate paths calculated may be recorded as a set .
[0092] Step S14: measuring the parameters of the second network performance of each of the candidate paths, and constructing a network state parameter matrix of each of the candidate paths using the parameters of the second network performance.
[0093] In an embodiment of the present application, different measurement methods can be used to measure the parameters of the second network performance of each candidate path. The second network performance includes the maximum transmission delay, remaining bandwidth, packet loss rate, and the number of flow tables of the core switch of each candidate path. When different measurement methods are used to measure the parameters of network performance, for example, the ABWM (Available Bandwidth Measurement) method can be used to measure the bandwidth, the SLAM (Simultaneous Localization and Mapping) method can be used to measure the delay, and the EPLE (Efficient Passive Lightweight Estimator, an efficient passive lightweight SDN packet loss rate estimator) method can be used to measure the packet loss rate, but it is not limited to the above methods.
[0094] Furthermore, the network state parameter matrix of each candidate path is constructed using the measured maximum transmission delay, the remaining bandwidth, the packet loss rate, and the number of flow tables. For example, if the measured maximum transmission delay is recorded as ; The measured residual bandwidth is recorded as ; The measured packet loss rate is recorded as ; The measured number of flow tables of the core switch is recorded as ; Then, the constructed network state parameter matrix is expressed as ,in, .
[0095] It is worth noting that after the network state parameter matrix is determined, the network state parameter matrix needs to be normalized. Specifically, the network state parameter matrix is normalized; wherein the normalization is used to normalize each element in the network state parameter matrix separately, and the maximum transmission delay, remaining bandwidth, packet loss rate and number of flow tables of the core switch contained in each element are normalized separately.
[0096] For example, After normalization, we get ; ; , , , .
[0097] in, is the maximum remaining bandwidth among the candidate paths, is the minimum remaining bandwidth among the candidate paths; is the maximum delay among the candidate paths, is the minimum delay among the candidate paths; is the maximum number of flow tables in the candidate path core switch, is the minimum number of flow tables of the candidate path core switch; is the maximum packet loss rate of the candidate path, is the minimum packet loss rate of the candidate path, are the preset transformation parameters.
[0098] Step S15: determining the suitability evaluation index of each candidate path based on the network state parameter matrix and the weight parameter, and then using a preset multi-attribute decision model to select the best transmission path for the network data flow based on the suitability evaluation index.
[0099] In the embodiment of the present application, the suitability evaluation indexes of all candidate paths are calculated, wherein the suitability evaluation index of the pth candidate path is calculated as follows:
[0100] ;
[0101] in, is the suitability evaluation index of the pth candidate path, , , are weight parameters corresponding to the first network performance, , , , They are respectively corresponding parameters obtained after normalizing the parameters of the second network performance. The specific meanings thereof can be referred to the contents disclosed in the aforementioned embodiments and will not be repeated here.
[0102] Finally, the optimal transmission path for the data flow is found based on the multi-attribute decision model through the fitness evaluation index. It should be pointed out that after determining the optimal transmission path, the flow table of the relevant switch needs to be configured to improve the overall performance of the system and further improve the user experience.
[0103] Specifically, a traffic scheduling strategy is determined according to the optimal transmission path, and control information is generated based on the traffic scheduling strategy; based on the control information, the traffic scheduling strategy is sent to each switch, so that each switch updates its own flow table according to the traffic scheduling strategy.
[0104] That is, after determining the best transmission path, the control information is sent to the router after matching. The traffic scheduling policy generated is forwarded by the SDN (Software Define Networking) controller. In addition to sending the traffic scheduling policy to the switch that triggers the target Packet_in message, the SDN controller will also send the matching scheduling policy to all switches on the complete transmission path. Each switch along the way that receives the scheduling policy will update its flow table so that the data flow to be transmitted can be smoothly forwarded to the destination node.
[0105] The present application provides a network data flow scheduling method for a distributed storage system, comprising: obtaining a network data flow, and dividing the network data flow according to the service type of the network data flow to obtain different types of target data flows; determining a weight parameter of a first network performance of the target data flow according to a priority feature corresponding to the type of the target data flow; obtaining a flow scheduling request, and reading connection information of each switch according to the flow scheduling request, so as to determine each candidate path from a source switch to a target switch in a network topology based on the connection information; measuring parameters of a second network performance of each candidate path, and constructing a network state parameter matrix of each candidate path using the parameters of the second network performance; determining a fitness evaluation index of each candidate path based on the network state parameter matrix and the weight parameter, and then using a preset multi-attribute decision model to screen an optimal transmission path for the network data flow based on the fitness evaluation index.
[0106] The beneficial technical effects of the present application are as follows: first, for the network data stream generated by the distributed storage network, different types of target data streams are divided into different types considering different service types. Different types of target data streams have different transmission priorities, and the weight parameters of the corresponding network performance are determined according to the priority characteristics; second, after receiving the stream scheduling request, the network performance requirements of the data stream are considered, and a network state parameter matrix is constructed according to each candidate path in the network topology; finally, the suitability evaluation index of all candidate paths is calculated based on the network state parameter matrix and the weight parameter, and then the multi-attribute decision model is used to find the best transmission path for the data stream. In this way, the traffic scheduling strategy determined based on the best transmission path can perceive the characteristics of different types of data streams and their different requirements for network performance, realize the effective scheduling of network data streams, improve the overall performance of the system, and improve the user experience.
[0107] A specific implementation method for measuring the parameters of the second network performance of each candidate path provided by the present invention is described in detail below. The implementation is based on step S14 and is expanded to a certain extent on the basis of step S14.
[0108] In a first specific implementation, the remaining bandwidth of all candidate paths is measured based on the ABWM method and recorded as The method is as follows: (1) The SDN controller obtains the statistical information of the port from each switch through the Open Flow protocol at a fixed time interval T. The remaining bandwidth of the switch port is , where C is the known link bandwidth capacity, The cumulative number of bytes forwarded on the current link. is the cumulative number of bytes forwarded by the link recorded in the previous measurement cycle. (2) Compare the remaining bandwidth of each switch port on the candidate path and take the minimum remaining bandwidth as the remaining bandwidth of the path.
[0109] In a second specific implementation, the maximum transmission delay of all candidate paths is measured based on the SLAM method and recorded as The SLAM method is a method for measuring the single-way transmission delay of a data packet between two switches. The maximum transmission delay of a candidate path is the sum of the transmission delays between all switches on the path.
[0110] In a third specific implementation, the EPLE method is used to measure the packet loss rate of all candidate paths and is recorded as EPLE is a method used to measure the packet loss rate of a data stream after it is transmitted through the path to be tested.
[0111] In a fourth specific implementation, the number of flow tables of all candidate path core switches is obtained and recorded as ,The more flow tables in the switch the more flow table lookup delay will occur.
[0112] In traditional distributed networks, the scheduling of network flow transmission paths is mainly carried out according to the routing tables in the routing switching devices along the way. Since each routing switching device often performs routing calculations based on the status of the local network it manages, it is difficult to perform global optimal scheduling, and the service quality of traffic scheduling is difficult to guarantee. SDN is a new type of network innovation architecture that can define and control the network through software programming. It greatly improves the flexibility of network flow scheduling and flexible and efficient network management mechanisms through a logically centralized control plane and programmable network management, and has been widely used. SDN consists of a three-layer structure consisting of an application plane, a control plane, and a data plane. Figure 2As shown in the figure, various SDN-based network applications are running in the application plane, and communicate with the control plane through the northbound interface. Users do not need to care about the underlying details of the overall SDN network, and can deploy network applications by programming according to the protocol of the northbound interface. The control plane mainly includes a logically centralized programmable SDN controller. The SDN controller can grasp the status information of the entire network, formulate various traffic scheduling rules according to the needs of the data flow and the network status, and send the formulated scheduling rules to the data plane through the southbound interface. The data plane is mainly composed of various general network switching devices, which update their flow tables according to the traffic scheduling rules sent by the control plane. The network switching equipment of the SDN data plane is generally an SDN switch that supports the southbound interface protocol.
[0113] With respect to step S13 of the previous embodiment, the flow scheduling request described therein can be obtained by executing the following steps. Here, the Ceph distributed storage system in single copy working mode is taken as an example. The storage network adopts software defined network SDN, and the network topology adopts fat tree architecture. It can be understood that the fat tree network topology is a routing network of a complete binary tree, and each processing node is located at the leaf node of the complete binary tree. Figure 3 As shown, for each pod, the number of links between each connected node and its parent node gradually increases along the fat tree, so the bandwidth capacity also increases accordingly.
[0114] Specifically, before obtaining the flow scheduling request and reading the connection information of each switch according to the flow scheduling request, the following steps may also be included:
[0115] Determine the current switch, and match the first data packet of the network data flow with the flow table entry in the current switch to determine whether the match is successful;
[0116] If the first data packet of the network data flow successfully matches the flow table entry in the current switch, forwarding the network data flow through the forwarding port specified by the flow table entry;
[0117] If the first data packet of the network data flow fails to match the flow table entry in the current switch, the target message in the data packet is uploaded to the software-defined network controller through the southbound interface, so that the software-defined network controller generates the flow scheduling request according to the target message.
[0118] In the embodiment of the present application, when a data stream is transmitted in the SDN network environment, when the first data packet of the data stream arrives at the switch, it will be matched with the flow entry in the switch. If the match is successful, the data stream will forward data according to the forwarding port specified by the flow entry. If the match is unsuccessful, the switch triggers the Packet_in message and uploads the relevant information of the data packet, including the source IP (Internet Protocol) address, destination IP address, protocol type, etc., to the SDN controller through the southbound interface.
[0119] It should be noted that after receiving the Packet_in message, the SDN controller will determine whether the type of the current network data flow is a heartbeat flow, a user service flow, or a migration flow based on the data content contained therein. Specifically, according to the flow scheduling request, the target port number information contained in the target message and the target port number array pre-set for the target data flow are obtained respectively; the target port number information is compared with the target port number array to determine the type of the target data flow.
[0120] In a feasible implementation, three arrays are preset in the SDN controller, which respectively record the preset heartbeat flow target port number array, business flow target port number array and migration flow target port number array. After receiving the Packet_in message, the SDN controller compares the target port number information contained in the reason field and the data field with the port numbers in the heartbeat flow target port number array, the business flow target port number array and the migration flow target port number data array, respectively, to determine whether the data flow belongs to the heartbeat flow, the user business flow or the migration flow.
[0121] Based on the above embodiment, this embodiment will specifically explain S15 in the above embodiment. In order to implement unicast stream scheduling based on a multi-attribute decision model, the process of selecting the best transmission path for the network data stream based on the suitability evaluation index using the preset multi-attribute decision model may include the following steps:
[0122] Constructing a delay screening strategy, and screening a first candidate path from each of the candidate paths according to the delay screening strategy to construct a first candidate path set;
[0123] Constructing a bandwidth screening strategy, and screening a second candidate path from the first candidate path set according to the bandwidth screening strategy to construct a second candidate path set;
[0124] The candidate path corresponding to the maximum suitability evaluation index is determined from the second candidate path set to obtain the optimal transmission path.
[0125] In the embodiment of the present application, the first step of selecting the best transmission path using the multi-attribute decision model is to select from all candidate paths according to the minimum delay requirement to construct a first candidate path set. The delays of the candidate paths in the first candidate path set meet the constructed delay screening strategy.
[0126] The second step of selecting the best transmission path using the multi-attribute decision model is to select from the first candidate path set according to the bandwidth requirement to construct a second candidate path set. The candidate paths in the second candidate path set meet the constructed bandwidth screening strategy.
[0127] The third step of selecting the best transmission path using the multi-attribute decision model is to select the best transmission path from the second candidate path set according to the suitability evaluation index. The suitability evaluation index of the best transmission path is the largest in the second candidate path set.
[0128] In addition, in a feasible implementation, taking into account the large load differences that may occur in the network, the corresponding selection probabilities can be marked for different transmission paths, and the network traffic can be adaptively forwarded according to the selection probabilities, thereby achieving balanced processing of the network traffic and improving the user experience.
[0129] Based on the above embodiment, in a feasible implementation manner, in the embodiment of the present application, the data table in the SDN controller is updated. Specifically, the following steps may be included:
[0130] Based on a preset time interval, periodically sending a network information query request to each of the switches through a software-defined network controller;
[0131] Acquire a reply message from each of the switches according to the network information query request, and calculate network information of each link in the network topology according to the reply message;
[0132] The network information is used to update a corresponding data table in the software defined network controller.
[0133] In the embodiments of the present application, the parameters of network performance are measured periodically, such as using the ABWM method to measure bandwidth, using the SLAM method to measure latency, and using the EPLE method to measure packet loss rate, but are not limited to the above methods. The SDN controller periodically sends network information queries to each switch, processes the replies from the switch to calculate the information of each link, including the bandwidth of the link, the cumulative number of forwarded bytes of the link, etc.; then the calculated network information, such as: network topology, transmission latency, remaining bandwidth and number of flow entries, is updated to the corresponding data table. Figure 4 As shown, the SDN controller maintains data tables containing different data information, including a topology information table, a delay information table, a bandwidth information table, a flow table information table, etc.
[0134] Correspondingly, the embodiment of the present application also discloses a network data flow scheduling device for a distributed storage system, see Figure 5 As shown, the device comprises:
[0135] The data flow division module 11 is used to obtain the network data flow and divide the network data flow according to the service type of the network data flow to obtain different types of target data flows;
[0136] A weight parameter determination module 12, configured to determine a weight parameter of a first network performance of the target data flow according to a priority feature corresponding to the type of the target data flow;
[0137] The candidate path determination module 13 is used to obtain a flow scheduling request and read the connection information of each switch according to the flow scheduling request, so as to determine each candidate path from the source switch to the target switch in the network topology based on the connection information;
[0138] A parameter matrix construction module 14 is used to measure the parameters of the second network performance of each candidate path, and construct a network state parameter matrix of each candidate path using the parameters of the second network performance;
[0139] The optimal transmission path determination module 15 is used to determine the suitability evaluation index of each candidate path based on the network state parameter matrix and the weight parameter, and then use a preset multi-attribute decision model to select the optimal transmission path for the network data flow based on the suitability evaluation index.
[0140] Among them, for more specific working processes of the above-mentioned modules, please refer to the corresponding contents disclosed in the aforementioned embodiments, which will not be repeated here.
[0141] It can be seen that the above scheme of this embodiment includes: obtaining a network data flow, and dividing the network data flow according to the service type of the network data flow to obtain different types of target data flows; determining a weight parameter of the first network performance of the target data flow according to the priority characteristics corresponding to the type of the target data flow; obtaining a flow scheduling request, and reading the connection information of each switch according to the flow scheduling request, so as to determine each candidate path from the source switch to the target switch in the network topology based on the connection information; measuring the parameters of the second network performance of each candidate path, and using the parameters of the second network performance to construct a network state parameter matrix for each candidate path; determining the suitability evaluation index of each candidate path based on the network state parameter matrix and the weight parameter, and then using a preset multi-attribute decision model to screen the best transmission path for the network data flow based on the suitability evaluation index.
[0142] The beneficial technical effects of the present application are as follows: first, for the network data stream generated by the distributed storage network, different types of target data streams are divided into different types considering different service types. Different types of target data streams have different transmission priorities, and the weight parameters of the corresponding network performance are determined according to the priority characteristics; second, after receiving the stream scheduling request, the network performance requirements of the data stream are considered, and a network state parameter matrix is constructed according to each candidate path in the network topology; finally, the suitability evaluation index of all candidate paths is calculated based on the network state parameter matrix and the weight parameter, and then the multi-attribute decision model is used to find the best transmission path for the data stream. In this way, the traffic scheduling strategy determined based on the best transmission path can perceive the characteristics of different types of data streams and their different requirements for network performance, realize the effective scheduling of network data streams, improve the overall performance of the system, and improve the user experience.
[0143] In a specific implementation, the data stream division module 11 is specifically used to:
[0144] The network data flow is divided into a heartbeat flow, a user business flow and a migration flow according to the service type of the network data flow; wherein the heartbeat flow is used to monitor whether each storage node in the network topology is working normally; the user business flow is used to indicate different data operations performed by the user; and the migration flow is used to perform load balancing between the storage nodes.
[0145] In a specific implementation, the weight parameter determination module 12 further includes: a weight parameter preset unit, which is used to:
[0146] Configuring a first priority for the heartbeat flow, and setting a weight parameter of the network performance corresponding to the heartbeat flow to obtain a first delay weight parameter, a first remaining bandwidth weight parameter, and a first flow table quantity weight parameter;
[0147] Configuring a second priority for the user service flow, and setting a weight parameter of the network performance corresponding to the user service flow to obtain a second delay weight parameter, a second remaining bandwidth weight parameter, and a second flow table quantity weight parameter;
[0148] Configuring a third priority for the migration flow, and setting a weight parameter of the network performance corresponding to the migration flow to obtain a third delay weight parameter, a third remaining bandwidth weight parameter, and a third flow table quantity weight parameter;
[0149] The first priority is higher than the second priority, and the second priority is higher than the third priority.
[0150] In a specific implementation, the weight parameter determination module 12 is specifically used to:
[0151] If the target data flow is the heartbeat flow, determining the weight parameter of the first network performance according to the first priority as the first delay weight parameter, the first remaining bandwidth weight parameter and the first flow table quantity weight parameter;
[0152] If the target data flow is the user service flow, determining the weight parameters of the first network performance according to the second priority as the second delay weight parameter, the second remaining bandwidth weight parameter and the second flow table quantity weight parameter;
[0153] If the target data flow is the migration flow, the weight parameters of the first network performance are determined according to the third priority as the third delay weight parameter, the third remaining bandwidth weight parameter and the third flow table quantity weight parameter.
[0154] In a specific implementation, the network data flow scheduling device for a distributed storage system further includes:
[0155] A flow table matching module, used to determine the current switch, and match the first data packet of the network data flow with the flow table entry in the current switch to determine whether the match is successful;
[0156] If the first data packet of the network data flow successfully matches the flow table entry in the current switch, forwarding the network data flow through the forwarding port specified by the flow table entry;
[0157] If the first data packet of the network data flow fails to match the flow table entry in the current switch, the target message in the data packet is uploaded to the software-defined network controller through the southbound interface, so that the software-defined network controller generates the flow scheduling request according to the target message.
[0158] In a specific implementation, the candidate path determination module 13 further includes:
[0159] A data acquisition unit, configured to respectively acquire the target port number information contained in the target message and the target port number array pre-set for the target data flow according to the stream scheduling request;
[0160] The data stream type determination unit is used to compare and judge the target port number information with the target port number array to determine the type of the target data stream.
[0161] In a specific implementation, the candidate path determination module 13 is specifically configured to:
[0162] Reading connection information of each switch according to the flow scheduling request, and constructing an undirected graph according to the connection information;
[0163] Based on the undirected graph, a preset shortest path algorithm is used to determine candidate paths from a source switch to a target switch in a network topology.
[0164] In a specific implementation, the parameter matrix construction module 14 is specifically used to:
[0165] The maximum transmission delay, remaining bandwidth, packet loss rate and number of flow tables of each candidate path are measured, and the network state parameter matrix of each candidate path is constructed using the maximum transmission delay, remaining bandwidth, packet loss rate and number of flow tables.
[0166] In a specific implementation, the parameter matrix construction module 14 further includes:
[0167] A normalization processing unit is used to normalize the network state parameter matrix; wherein the normalization processing is used to normalize each element in the network state parameter matrix separately, and to normalize the maximum transmission delay, remaining bandwidth, packet loss rate and number of flow tables of the core switch contained in each element separately.
[0168] In a specific implementation, the optimal transmission path determination module 15 is specifically used to:
[0169] Constructing a delay screening strategy, and screening a first candidate path from each of the candidate paths according to the delay screening strategy to construct a first candidate path set;
[0170] Constructing a bandwidth screening strategy, and screening a second candidate path from the first candidate path set according to the bandwidth screening strategy to construct a second candidate path set;
[0171] The candidate path corresponding to the maximum suitability evaluation index is determined from the second candidate path set to obtain the optimal transmission path.
[0172] In a specific implementation, the network data flow scheduling device for a distributed storage system further includes: a data table updating module, which is used to:
[0173] Based on a preset time interval, periodically sending a network information query request to each of the switches through a software-defined network controller;
[0174] Acquire a reply message from each of the switches according to the network information query request, and calculate network information of each link in the network topology according to the reply message;
[0175] The network information is used to update a corresponding data table in the software defined network controller.
[0176] In a specific implementation, the network data flow scheduling device for a distributed storage system further includes: a flow table updating module, which is used to:
[0177] Determine a traffic scheduling strategy according to the optimal transmission path, and generate control information based on the traffic scheduling strategy;
[0178] The traffic scheduling strategy is sent to each of the switches based on the control information, so that each of the switches updates its own flow table according to the traffic scheduling strategy.
[0179] In a specific implementation, the optimal transmission path determination module 15 includes:
[0180] A fitness evaluation index calculation module, used to determine the fitness evaluation index of each candidate path through a preset fitness evaluation index calculation formula based on the network state parameter matrix and the weight parameter;
[0181] The preset fitness evaluation index calculation formula is: ;in, is the suitability evaluation index of the pth candidate path, , , are weight parameters corresponding to the first network performance, , , , They are respectively corresponding parameters obtained after normalizing the parameters of the second network performance.
[0182] Furthermore, the present application also discloses an electronic device. Figure 6 This is a structural diagram of an electronic device 20 according to an exemplary embodiment, and the content in the diagram cannot be considered as any limitation on the scope of use of the present application.
[0183] Figure 6 A schematic diagram of the structure of an electronic device 20 provided in an embodiment of the present application. The electronic device 20 may specifically include: at least one processor 21, at least one memory 22, a power supply 23, a communication interface 24, an input / output interface 25, and a communication bus 26. The memory 22 is used to store a computer program, and the computer program is loaded and executed by the processor 21 to implement the relevant steps in the network data flow scheduling method for a distributed storage system disclosed in any of the aforementioned embodiments. In addition, the electronic device 20 in this embodiment may specifically be a software-defined network controller.
[0184] In this embodiment, the power supply 23 is used to provide working voltage for each hardware device on the electronic device 20; the communication interface 24 can create a data transmission channel between the electronic device 20 and the external device, and the communication protocol it follows is any communication protocol that can be applied to the technical solution of the present application, and is not specifically limited here; the input and output interface 25 is used to obtain external input data or output data to the outside world, and its specific interface type can be selected according to specific application needs and is not specifically limited here.
[0185] In addition, the memory 22 as a carrier for resource storage may be a read-only memory, a random access memory, a disk or an optical disk, etc. The resources stored thereon may include an operating system 221, a computer program 222 and data 223, etc. The data 223 may include various data. The storage method may be temporary storage or permanent storage.
[0186] The operating system 221 is used to manage and control the hardware devices on the electronic device 20 and the computer program 222, which can be Windows Server, Netware, Unix, Linux, etc. In addition to including a computer program that can be used to complete the network data flow scheduling method for a distributed storage system executed by the electronic device 20 disclosed in any of the aforementioned embodiments, the computer program 222 can further include a computer program that can be used to complete other specific tasks.
[0187] Furthermore, the embodiment of the present application also discloses a computer-readable storage medium, wherein the computer-readable storage medium mentioned here includes a random access memory (RAM), a memory, a read-only memory (ROM), an electrically programmable ROM, an electrically erasable programmable ROM, a register, a hard disk, a magnetic disk or an optical disk, or any other form of storage medium known in the technical field. Wherein, when the computer program is executed by the processor, the aforementioned network data flow scheduling method for a distributed storage system is implemented. For the specific steps of the method, reference can be made to the corresponding contents disclosed in the aforementioned embodiment, which will not be repeated here.
[0188] Furthermore, an embodiment of the present application also provides a computer program product, including a computer program / instruction, which, when executed by a processor, implements any one of the above-mentioned network data flow scheduling methods for distributed storage systems.
[0189] In this specification, each embodiment is described in a progressive manner, and each embodiment focuses on the differences from other embodiments. The same or similar parts between the embodiments can be referred to each other. For the device disclosed in the embodiment, since it corresponds to the method disclosed in the embodiment, the description is relatively simple, and the relevant parts can be referred to the method part.
[0190] The steps of the network data flow scheduling method or algorithm for a distributed storage system described in conjunction with the embodiments disclosed herein can be implemented directly using hardware, a software module executed by a processor, or a combination of the two. The software module can be placed in a random access memory (RAM), a memory, a read-only memory (ROM), an electrically programmable ROM, an electrically erasable programmable ROM, a register, a hard disk, a removable disk, a CD-ROM, or any other form of storage medium known in the technical field.
[0191] Finally, it should be noted that, in this article, relational terms such as first and second, etc. are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Moreover, the terms "include", "comprise" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, the elements defined by the sentence "comprise a ..." do not exclude the presence of other identical elements in the process, method, article or device including the elements.
[0192] The above is a detailed introduction to a network data stream scheduling method, device, program product and medium for a distributed storage system provided by the present invention. Specific examples are used in this article to illustrate the principles and implementation methods of the present invention. The description of the above embodiments is only used to help understand the method of the present invention and its core idea. At the same time, for general technical personnel in this field, according to the idea of the present invention, there will be changes in the specific implementation method and application scope. In summary, the content of this specification should not be understood as a limitation on the present invention.
Claims
1. A network data flow scheduling method for a distributed storage system, characterized in that: include: Acquire a network data flow, and divide the network data flow according to a service type of the network data flow to obtain different types of target data flows; Determining a weight parameter of a first network performance of the target data flow according to a priority feature corresponding to the type of the target data flow; Obtaining a flow scheduling request, and reading connection information of each switch according to the flow scheduling request, so as to determine each candidate path from the source switch to the target switch in the network topology based on the connection information; Measuring parameters of the second network performance of each of the candidate paths, and constructing a network state parameter matrix of each of the candidate paths using the parameters of the second network performance; Determine the suitability evaluation index of each candidate path based on the network state parameter matrix and the weight parameter, and then use a preset multi-attribute decision model to select the best transmission path for the network data flow based on the suitability evaluation index; Wherein, determining the suitability evaluation index of each candidate path based on the network state parameter matrix and the weight parameter includes: Determining the suitability evaluation index of each of the candidate paths by a preset suitability evaluation index calculation formula based on the network state parameter matrix and the weight parameter; The preset fitness evaluation index calculation formula is: ;in, is the suitability evaluation index of the pth candidate path; is the weight parameter corresponding to the remaining bandwidth of the target data flow, is the weight parameter corresponding to the delay of the target data stream, A weight parameter corresponding to the number of flow tables of the target data flow; is the parameter obtained after normalizing the residual bandwidth, is the parameter obtained after normalizing the maximum transmission delay, is the parameter obtained by normalizing the number of flow tables of the core switch, is the parameter obtained by normalizing the measured packet loss rate; The network data flow scheduling method for the distributed storage system also includes: marking corresponding selection probabilities for different transmission paths, and adaptively forwarding the network traffic according to the selection probabilities.
2. The network data flow scheduling method for a distributed storage system according to claim 1, characterized in that: The dividing the network data flow according to the service type of the network data flow to obtain different types of target data flows includes: The network data flow is divided into a heartbeat flow, a user business flow and a migration flow according to the service type of the network data flow; wherein the heartbeat flow is used to monitor whether each storage node in the network topology is working normally; the user business flow is used to indicate different data operations performed by the user; and the migration flow is used to perform load balancing between the storage nodes.
3. The network data flow scheduling method for a distributed storage system according to claim 2, characterized in that: The first network performance includes the latency, remaining bandwidth and number of flow tables of the network data flow; before determining the weight parameter of the first network performance of the target data flow according to the priority characteristics corresponding to the type of the target data flow, the method further includes: Configuring a first priority for the heartbeat flow, and setting a weight parameter of the network performance corresponding to the heartbeat flow to obtain a first delay weight parameter, a first remaining bandwidth weight parameter, and a first flow table quantity weight parameter; Configuring a second priority for the user service flow, and setting a weight parameter of the network performance corresponding to the user service flow to obtain a second delay weight parameter, a second remaining bandwidth weight parameter, and a second flow table quantity weight parameter; Configuring a third priority for the migration flow, and setting a weight parameter of the network performance corresponding to the migration flow to obtain a third delay weight parameter, a third remaining bandwidth weight parameter, and a third flow table quantity weight parameter; The first priority is higher than the second priority, and the second priority is higher than the third priority.
4. The method for scheduling network data flow for distributed storage system according to claim 3, characterized in that: The determining, according to the priority feature corresponding to the type of the target data flow, a weight parameter of the first network performance of the target data flow comprises: If the target data flow is the heartbeat flow, determining the weight parameter of the first network performance according to the first priority as the first delay weight parameter, the first remaining bandwidth weight parameter and the first flow table quantity weight parameter; If the target data flow is the user service flow, determining the weight parameters of the first network performance according to the second priority as the second delay weight parameter, the second remaining bandwidth weight parameter and the second flow table quantity weight parameter; If the target data flow is the migration flow, the weight parameters of the first network performance are determined according to the third priority as the third delay weight parameter, the third remaining bandwidth weight parameter and the third flow table quantity weight parameter.
5. The method for scheduling network data flow for distributed storage system according to claim 1, characterized in that: Before obtaining the flow scheduling request and reading the connection information of each switch according to the flow scheduling request, the method further includes: Determine the current switch, and match the first data packet of the network data flow with the flow table entry in the current switch to determine whether the match is successful; If the first data packet of the network data flow successfully matches the flow table entry in the current switch, forwarding the network data flow through the forwarding port specified by the flow table entry; If the first data packet of the network data flow fails to match the flow table entry in the current switch, the target message in the data packet is uploaded to the software-defined network controller through the southbound interface, so that the software-defined network controller generates the flow scheduling request according to the target message.
6. The method for scheduling network data flow for distributed storage system according to claim 5, characterized in that: After obtaining the stream scheduling request, the method further includes: According to the stream scheduling request, respectively obtaining the target port number information contained in the target message and the target port number array pre-set for the target data stream; The target port number information is compared with the target port number array to determine the type of the target data flow.
7. The network data flow scheduling method for a distributed storage system according to claim 1, characterized in that: The reading of connection information of each switch according to the flow scheduling request so as to determine each candidate path from the source switch to the target switch in the network topology based on the connection information includes: Reading connection information of each switch according to the flow scheduling request, and constructing an undirected graph according to the connection information; Based on the undirected graph, a preset shortest path algorithm is used to determine candidate paths from a source switch to a target switch in a network topology.
8. The method for scheduling network data flow for distributed storage system according to claim 1, characterized in that: The measuring the parameters of the second network performance of each of the candidate paths and constructing a network state parameter matrix of each of the candidate paths using the parameters of the second network performance includes: The maximum transmission delay, remaining bandwidth, packet loss rate and number of flow tables of each candidate path are measured, and the network state parameter matrix of each candidate path is constructed using the maximum transmission delay, remaining bandwidth, packet loss rate and number of flow tables.
9. The method for scheduling network data flow for distributed storage system according to claim 8, characterized in that: After measuring the parameters of the second network performance of each candidate path and constructing the network state parameter matrix of each candidate path using the parameters of the second network performance, the method further includes: The network state parameter matrix is normalized; wherein the normalization is used to normalize each element in the network state parameter matrix separately, and the maximum transmission delay, remaining bandwidth, packet loss rate and number of flow tables of the core switch contained in each element are normalized separately.
10. The method for scheduling network data flow for distributed storage system according to claim 1, characterized in that: The method of selecting the best transmission path for the network data flow based on the suitability evaluation index by using a preset multi-attribute decision model includes: Constructing a delay screening strategy, and screening a first candidate path from each of the candidate paths according to the delay screening strategy to construct a first candidate path set; Constructing a bandwidth screening strategy, and screening a second candidate path from the first candidate path set according to the bandwidth screening strategy to construct a second candidate path set; The candidate path corresponding to the maximum suitability evaluation index is determined from the second candidate path set to obtain the optimal transmission path.
11. The method for scheduling network data flow for distributed storage system according to claim 1, characterized in that: Also includes: Based on a preset time interval, periodically sending a network information query request to each of the switches through a software-defined network controller; Acquire a reply message from each of the switches according to the network information query request, and calculate network information of each link in the network topology according to the reply message; The network information is used to update a corresponding data table in the software defined network controller.
12. The method for scheduling network data flow for distributed storage system according to claim 1, characterized in that: After selecting the best transmission path for the network data flow based on the suitability evaluation index by using the preset multi-attribute decision model, the method further includes: Determine a traffic scheduling strategy according to the optimal transmission path, and generate control information based on the traffic scheduling strategy; The traffic scheduling strategy is sent to each of the switches based on the control information, so that each of the switches updates its own flow table according to the traffic scheduling strategy.
13. An electronic device, characterized in that: include: Memory for storing computer programs; A processor is used to load and execute the computer program to implement the network data flow scheduling method for a distributed storage system as described in any one of claims 1 to 12.
14. A computer program product comprising a computer program / instructions, characterized in that When the computer program / instructions are executed by a processor, the steps of the network data flow scheduling method for a distributed storage system according to any one of claims 1 to 12 are implemented.
15. A computer-readable storage medium, characterized in that: Used to store computer programs; wherein the computer program, when executed by a processor, implements the network data flow scheduling method for a distributed storage system as described in any one of claims 1 to 12.
Citation Information
Patent Citations
Cloud storage network multicast flow scheduling method based on service priority distinguishing
CN112260950A