CN116909953A - Multipath planning method, device and medium - Google Patents

Multipath planning method, device and medium Download PDF

Info

Publication number
CN116909953A
CN116909953A CN202310900300.4A CN202310900300A CN116909953A CN 116909953 A CN116909953 A CN 116909953A CN 202310900300 A CN202310900300 A CN 202310900300A CN 116909953 A CN116909953 A CN 116909953A
Authority
CN
China
Prior art keywords
path
paths
packet
priority
logic unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202310900300.4A
Other languages
Chinese (zh)
Inventor
李梦龙
穆向东
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Inspur Jinan data Technology Co ltd
Original Assignee
Inspur Jinan data Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Inspur Jinan data Technology Co ltd filed Critical Inspur Jinan data Technology Co ltd
Priority to CN202310900300.4A priority Critical patent/CN116909953A/en
Publication of CN116909953A publication Critical patent/CN116909953A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

The invention discloses a multipath planning method, a multipath planning device and a multipath planning medium, relates to the field of computers, and solves the problem that IO distribution is uneven or an optimal path cannot be selected, and an asymmetric logic unit access state of each current path is obtained; determining the priority of the corresponding path according to the access state of the asymmetric logic unit of the path; paths with the same priority are aggregated into a path packet; selecting a path packet with highest operation efficiency as an operation packet after receiving an input/output request; and sending the received input and output request to a path in the running packet in a polling mode. And grouping all paths through the access state of the asymmetric logic unit, selecting a proper grouping for the input/output request for task issuing, and after the grouping is selected, issuing the input/output request to each path of the grouping in a polling mode, so that the input/output request is uniformly distributed on different paths, and the load balance of the input/output request under multiple paths is realized.

Description

Multipath planning method, device and medium
Technical Field
The present invention relates to the field of computers, and in particular, to a multipath planning method, apparatus, and medium.
Background
The internet small computer system interface (Internet Small Computer System Interface, iSCSI) is a protocol based on transmission control protocol/internet protocol (Transmission Control Protocol/Internet Protocol, TCP/IP) that uses iSCSI to exchange small computer system interface (Small Computer System Interface, SCSI) commands between two computers, allowing the computers to emulate a storage area network (Storage Area Network, SAN) as a local storage device via a high-speed lan hub. The multipath technology can perform aggregation management on the same equipment under a plurality of links at a host end, improves the transmission rate, and provides the characteristics of load balancing, fault switching and the like.
In the current application of multipath, the path selection policy of multipath software refers to a method for selecting a target device from multiple devices when Input/Output (IO) operations occur at a host side, and the path selection policy includes three types: and 1 IO is issued on each path, the path with the shortest IO service time is selected, and the path with the least IO number in the current processing is selected. The above method has the problem that IO distribution is not uniform or an optimal path cannot be selected.
Therefore, the path selection method with uniform IO distribution and high performance is provided, and is a technical problem to be solved urgently by the person skilled in the art.
Disclosure of Invention
The invention aims to provide a multipath planning method, device and medium, which solve the problem that IO distribution is uneven or an optimal path cannot be selected.
In order to solve the above technical problems, the present invention provides a multipath planning method, including:
acquiring the access state of an asymmetric logic unit of each current path; the asymmetric logic unit access states of the paths are set by the interface server of the Internet small computer system;
determining the priority of each path according to the access state of the asymmetric logic unit of each path;
aggregating the paths with the same priority into one packet to obtain a plurality of path packets;
selecting the path packet with highest operation efficiency as an operation packet after receiving an input/output request;
and sending the received input and output request to the path in the running packet in a polling mode.
In the above-mentioned multipath planning method, on the other hand, the setting steps of the access states of the explicit asymmetric logical units of each path are as follows:
Acquiring performance indexes of each path;
and setting corresponding explicit asymmetric logic unit access states according to the performance indexes of the paths.
In another aspect, in the above multi-path planning method, the setting the corresponding explicit asymmetric logical unit access state according to the performance index of each path includes:
judging whether the performance index of each path meets the preset performance condition;
if yes, setting the access state of the explicit asymmetric logic unit corresponding to the path as an active state;
and if not, setting the access state of the explicit asymmetric logic unit corresponding to the path as an inactive state.
In another aspect, in the above multi-path planning method, the determining whether the performance index of each path meets a preset performance condition includes:
acquiring a first delay value of a heartbeat message sent to a client by an interface server of an internet small computer system; wherein the first delay difference value is the difference value of two adjacent average delays;
judging whether the first delay difference value is larger than a first threshold value or not;
if yes, judging that the performance index of the path does not meet the preset performance condition.
On the other hand, in the above-mentioned multipath planning method, if the first delay difference value is smaller than a first threshold value, the method further includes:
acquiring a second time delay difference value of the heartbeat message sent to the storage end by the Internet small computer system interface server; wherein the second delay difference is the difference of two adjacent average delays;
judging whether the second time delay difference value is larger than a second threshold value or not;
if yes, judging that the performance index of the path does not meet the preset performance condition;
if not, judging that the performance index of the path meets the preset performance condition.
In another aspect, in the above multi-path planning method, the determining the priority of each path according to the access state of the asymmetric logic unit of each path includes:
determining the priority of each path according to the access state of the asymmetric logic unit of the path; the priorities comprise two types of priorities of available paths and unavailable paths;
correspondingly, aggregating the paths with the same priority into one packet to obtain a plurality of path packets, including:
aggregating paths with priority as available paths into one available packet, and aggregating paths with priority as unavailable paths into one unavailable packet;
Correspondingly, when receiving the input/output request, selecting the path packet with highest operation efficiency as an operation packet, including:
receiving an input/output request;
the packets aggregated by the available paths are taken as running packets.
In another aspect, in the above multi-path planning method, the determining the priority of each path according to the access state of the asymmetric logic unit of each path includes:
acquiring a preset priority dividing threshold value; wherein the preset prioritizing threshold includes a plurality of levels of available paths and an unavailable path;
determining the priority of each path according to the access state of the asymmetric logic unit of each path based on the preset priority dividing threshold;
correspondingly, aggregating the paths with the same priority into one packet to obtain a plurality of path packets, including:
aggregating available paths of each level into a plurality of available packets respectively, and aggregating paths with priority as unavailable paths into one unavailable packet;
correspondingly, when receiving the input/output request, selecting the path packet with highest operation efficiency as an operation packet, including:
receiving an input/output request;
And selecting the least loaded packet from a plurality of the available packets as an operation packet.
In order to solve the above technical problem, the present invention further provides a multipath planning apparatus, including:
the acquisition module is used for acquiring the access state of the asymmetric logic unit of each current path; the asymmetric logic unit access states of the paths are set by the interface server of the Internet small computer system;
a priority determining module, configured to determine a priority of each path according to the access status of the asymmetric logic unit of each path;
a grouping module, configured to aggregate the paths with the same priority into one packet, to obtain multiple path packets;
the selection module is used for selecting the path packet with highest operation efficiency as an operation packet after receiving an input and output request;
and the distribution module is used for sending the received input and output request to the path in the operation packet in a polling mode.
In addition, the device further comprises:
the performance index obtaining module is used for obtaining the performance index of each path;
and the setting state module is used for setting the corresponding explicit asymmetric logic unit access state according to the performance indexes of each path.
The judging unit is used for judging whether the performance index of each path meets the preset performance condition;
if yes, triggering a first setting unit, wherein the first setting unit is used for setting the access state of the explicit asymmetric logic unit corresponding to the path as an active state;
and if not, triggering a second setting unit, wherein the second setting unit is used for setting the access state of the explicit asymmetric logic unit corresponding to the path to be an inactive state.
The first obtaining subunit is used for obtaining a first delay difference value of the heartbeat message sent to the client side by the interface server side of the internet small computer system; wherein the first delay difference value is the difference value of two adjacent average delays;
a first judging subunit, configured to judge whether the first delay difference value is greater than a first threshold;
if yes, triggering a first determining subunit, wherein the first determining subunit is used for judging that the performance index of the path does not meet the preset performance condition.
The second obtaining subunit is used for obtaining a second time delay difference value of the heartbeat message sent to the storage end by the interface server of the internet small computer system; wherein the second delay difference is the difference of two adjacent average delays;
a second judging subunit, configured to judge whether the second delay difference value is greater than a second threshold;
If yes, triggering a first determining subunit, wherein the first determining subunit is used for judging that the performance index of the path does not meet the preset performance condition;
if not, triggering a second determining subunit, configured to determine that the performance index of the path meets a preset performance condition.
A first dividing unit, configured to determine priorities of the paths according to access states of the asymmetric logic units of the paths; the priorities comprise two types of priorities of available paths and unavailable paths;
the receiving instruction unit is used for receiving an input and output request;
a first selecting grouping unit for selecting the grouping of the available path aggregation as the operation grouping.
A second dividing unit, configured to determine priorities of the paths according to access states of the asymmetric logic units of the paths; wherein the priority comprises a plurality of levels of available paths and one unavailable path;
an aggregation unit, configured to aggregate available paths of multiple levels into multiple available packets, and aggregate paths with priority being unavailable paths into one unavailable packet;
the receiving instruction unit is used for receiving an input and output request;
and a second selecting grouping unit, configured to select a least loaded packet from the plurality of available packets as an operation packet.
In order to solve the above technical problem, the present invention further provides a multipath planning apparatus, including:
a memory for storing a computer program;
and the processor is used for realizing the steps of the multi-path planning method when executing the computer program.
In order to solve the above technical problem, the present invention further provides a computer readable storage medium, where a computer program is stored, where the computer program implements the steps of the multi-path planning method when executed by a processor.
The multipath planning method provided by the invention acquires the access state of the asymmetric logic unit of each current path; the asymmetric logic unit access states of all paths are set by an interface server of an Internet small computer system; determining the priority of the corresponding path according to the access state of the asymmetric logic unit of the path; aggregating paths of the same priority into one path packet; selecting a path packet with highest operation efficiency as an operation packet after receiving an input/output request; and sending the received input and output request to a path in the running packet in a polling mode. The invention carries out priority grouping on all paths through the access state of the asymmetric logic unit, selects proper grouping for the input/output request for task issuing, has better performance, and issues the input/output request to each path of the grouping through a polling mode after selecting the grouping, thereby realizing uniform distribution of the input/output request on different paths and realizing load balancing of the input/output request under a multipath scene.
In addition, the invention also provides a device and a medium, which correspond to the method and have the same effects.
Drawings
For a clearer description of embodiments of the present invention, the drawings that are required to be used in the embodiments will be briefly described, it being apparent that the drawings in the following description are only some embodiments of the present invention, and other drawings may be obtained according to the drawings without inventive effort for those skilled in the art.
Fig. 1 is a flowchart of a multi-path planning method according to an embodiment of the present invention;
FIG. 2 is a flowchart of a method for setting an access state of an explicit asymmetric logical unit according to an embodiment of the present invention;
fig. 3 is a block diagram of a multipath planning device according to an embodiment of the present invention;
fig. 4 is a block diagram of another multipath planning apparatus according to an embodiment of the present invention.
Detailed Description
The following description of the embodiments of the present invention will be made clearly and completely with reference to the accompanying drawings, in which it is apparent that the embodiments described are only some embodiments of the present invention, but not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by a person of ordinary skill in the art without making any inventive effort are within the scope of the present invention.
The invention provides a multipath planning method, a multipath planning device and a multipath planning medium.
In order to better understand the aspects of the present invention, the present invention will be described in further detail with reference to the accompanying drawings and detailed description.
The internet small computer system interface (Internet Small Computer System Interface, iSCSI) is a protocol based on transmission control protocol/internet protocol (Transmission Control Protocol/Internet Protocol, TCP/IP) that uses iSCSI to exchange SCSI commands between two computers, so that the computers can emulate a storage area network (Storage Area Network, SAN) as a local storage device through a high-speed lan hub. When a storage system is networked, there is often more than one physical or logical link between a host of a client and a storage end, so the host can be connected to the same device of the storage end through multiple links. The multipath technology can perform aggregation management on the same equipment under a plurality of links at a host end, improves the transmission rate, and provides the characteristics of load balancing, fault switching and the like. The multipath technology is a technology in which a host and a storage device are simultaneously connected and aggregated by a plurality of paths.
Multipath transmission is a data transmission mode between a client and a storage end, and multipath software is software running on a host and used for managing multiple connection paths between the host and the storage device.
The client and the plurality of storage terminals are connected with an interface of the small computer system through the Internet, so that the high reliability of the path and the load balancing are realized.
in iSCSI multipath scenarios, multipath software commonly used by a client is multipath redundancy (multipath), and the software is divided into a user mode library and a kernel mode library, and 3 path selection methods exist in the kernel mode: and 1 IO is issued on each path, the path with the shortest IO service time is selected, and the path with the least IO number in the current processing is selected. However, there are problems in that the IO distribution is not uniform or an optimal path cannot be selected.
An embodiment of the present invention provides a multipath planning method, as shown in fig. 1, including:
s11: acquiring the access state of an asymmetric logic unit of each current path; the asymmetric logic unit access states of all paths are set by an interface server of an Internet small computer system;
s12: determining the priority of each path according to the access state of the asymmetric logic unit of the path;
S13: aggregating paths with the same priority into one packet to obtain a plurality of path packets;
s14: selecting a path packet with highest operation efficiency as an operation packet after receiving an input/output request;
s15: and sending the received input and output request to a path in the running packet in a polling mode.
Asymmetric logical unit access (Asymmetric Logical Unit Access, ALUA), a multi-path mode also known as Target Port Group Support (TPGS), is a Small Computer System Interface (SCSI) protocol that enables storage controllers 22 and 24 to set the state of each of their respective opposing ports. SCSI Primary Command (SPC) is specified by the T10 Committee of the International information technology standards Commission (INCITS), section 5.8 of SPC-3 and sections 5.8 and 5.11 of SPC-4, the disclosures of which are incorporated herein by reference.
The asymmetrical logic unit access states of the paths are set by the interface server of the internet small computer system, and the client can inquire the state of each path leading to the storage end through the asymmetrical logic unit access states.
After the client obtains the access states of the asymmetric logical units of each path, step S12 determines the priority of each path according to the access states of the asymmetric logical units of each path, and the embodiment does not limit the number of the priorities, and can be set according to actual needs, for example, 3 priorities are divided according to the access states of the asymmetric logical units. Step S13 aggregates the paths of the same priority into one packet, resulting in a plurality of path packets.
When an input/output request is received, a packet with highest operation efficiency needs to be selected as a packet for processing the input/output request according to the current divided packet, and the embodiment does not limit how to determine that the operation efficiency is highest, and only needs to be set according to actual needs.
Step S15 sends the received input-output request to the path in the running packet in a polling manner. The received input/output requests are distributed to paths of the packet according to a polling mode, and of course, the polling mentioned in this embodiment may be that each path is sequentially distributed with one input/output request, or may be that after a preset number of input/output requests are distributed to one path, the input/output requests are distributed to the next path, and then the polling is set according to actual needs.
The multi-path planning method provided by the embodiment of the invention acquires the access state of the asymmetric logic unit of each current path; the asymmetric logic unit access states of all paths are set by an interface server of an Internet small computer system; determining the priority of the corresponding path according to the access state of the asymmetric logic unit of the path; aggregating paths of the same priority into one path packet; selecting a path packet with highest operation efficiency as an operation packet after receiving an input/output request; and sending the received input and output request to a path in the running packet in a polling mode. The invention carries out priority grouping on all paths through the access state of the asymmetric logic unit, selects proper grouping for the input/output request for task issuing, has better performance, and issues the input/output request to each path of the grouping through a polling mode after selecting the grouping, thereby realizing uniform distribution of the input/output request on different paths and realizing load balancing of the input/output request under a multipath scene.
According to the above embodiment, the asymmetric logical unit access states of the paths are set by the interface server of the internet small computer system, and specifically, the setting steps of the explicit asymmetric logical unit access states of the paths are as follows:
acquiring performance indexes of each path;
and setting corresponding explicit asymmetric logic unit access states according to the performance indexes of the paths.
The internet small computer system interface server obtains the performance index of each path, the specific type of the performance index is not limited in this embodiment, and the performance index can be set according to actual needs. For example, delay, packet loss rate, error rate, etc., and setting the explicit asymmetric logic unit access state type corresponding to the performance index according to specific requirements. In this embodiment, the interface server of the internet small computer system realizes explicit asymmetric logical unit access, adaptively sets an explicit asymmetric logical unit access state, and is used for access query of the client.
According to the above embodiment, the setting the corresponding explicit asymmetric logical unit access state according to the performance index of each path includes:
judging whether the performance index of each path meets the preset performance condition;
If yes, setting the access state of the explicit asymmetric logic unit corresponding to the path as an active state;
and if not, setting the access state of the explicit asymmetric logic unit corresponding to the path as an inactive state.
In this embodiment, whether the performance index meets the preset performance condition is determined, if yes, it is indicated that the path can be used for service delivery, and if not, it is indicated that the path cannot be used for service delivery. In addition, the active state mentioned in the present embodiment includes a plurality of levels. The paths are divided in more detail according to the performance index, and the paths can be used for the subsequent service delivery to select proper packets.
According to the above embodiment, the determining whether the performance index of each path meets the preset performance condition includes:
acquiring a first delay value of a heartbeat message sent to a client by an interface server of an internet small computer system; wherein the first delay difference value is the difference value of two adjacent average delays;
judging whether the first delay difference value is larger than a first threshold value or not;
if yes, judging that the performance index of the path does not meet the preset performance condition.
The first delay difference mentioned in this embodiment refers to: the method comprises the steps that an interface server of an internet small computer system sends heartbeat messages to a client every preset period, the average time delay of m heartbeat messages is recorded as noop_latency= (noop1+ … +noopm)/m, the difference between the latter noop_latency and the former noop_latency is a first time delay difference value, and the difference value represents network fluctuation between the interface server of the internet small computer system and the client; the first threshold is a value which is set by the user according to the requirement, and exceeding the difference value indicates that the network is congested or the network has a problem. If the first delay difference is greater than the first threshold, the path performance index is not satisfied with the preset performance condition and cannot be used for service delivery. And setting the access state of the explicit asymmetric logic unit corresponding to the path to be an inactive state.
Preferably, the first delay value of the heartbeat message sent to the client by the internet small computer system interface server is obtained in real time. By monitoring the performance index in real time, the access state of the explicit asymmetric logical unit is modified in time.
According to the above embodiment, if the first delay difference is smaller than a first threshold, the method further includes:
acquiring a second time delay difference value of the heartbeat message sent to the storage end by the Internet small computer system interface server; wherein the second delay difference is the difference of two adjacent average delays;
judging whether the second time delay difference value is larger than a second threshold value or not;
if yes, judging that the performance index of the path does not meet the preset performance condition;
if not, judging that the performance index of the path meets the preset performance condition.
The second delay difference mentioned in this embodiment refers to: the method comprises the steps that an internet small computer system interface server sends heartbeat messages to a storage end every preset period, the average time delay of n heartbeat messages is recorded as io_latency= (io1+ … +ion)/n, the difference between the latter io_latency and the former io_latency is a second time delay difference value, and the difference value represents network fluctuation between the internet small computer system interface server and the storage end; and if the second time delay difference value is larger than the second threshold value, the path performance index does not meet the preset performance condition and cannot be used for service delivery. And setting the access state of the explicit asymmetric logic unit corresponding to the path to be an inactive state. If the first delay difference value is smaller than the first threshold value and the second delay difference value is smaller than the second threshold value, judging that the performance index of the path meets the preset performance condition, and can be used for service delivery.
In order to better understand the setting scheme of the explicit asymmetric logic cell access state for those skilled in the art, this embodiment provides a specific scheme, as shown in fig. 2:
s21: acquiring a first delay value of a heartbeat message sent to a client by an interface server of an internet small computer system; the first delay difference value is the difference value of two adjacent average delays;
s22: judging whether the first delay difference value is larger than a first threshold value or not;
s23: if yes, setting the access state of the explicit asymmetric logic unit corresponding to the path as an inactive state;
s24: if not, acquiring a second time delay difference value of the heartbeat message sent to the storage end by the interface server of the internet small computer system; the second time delay difference value is the difference value of two adjacent average time delays;
s25: judging whether the second time delay difference value is larger than a second threshold value or not;
s26: if yes, setting the access state of the explicit asymmetric logic unit corresponding to the path as an inactive state;
s27: if not, the explicit asymmetric logical unit access state corresponding to the path is set to be an active state.
According to the embodiment, whether the access state of the explicit asymmetric logic unit in the interface server of the Internet small computer system is modified or not is judged by comparing the delay difference value of the links of the interface server of the Internet small computer system and the client with the delay difference value of the links of the interface server of the Internet small computer system and the storage end of the Internet small computer system, so that the path grade of the client is affected, and load balancing is realized.
Wherein, step S21: obtaining a first delay value of a heartbeat message sent to a client by an internet small computer system interface server side, wherein the first delay value comprises:
sending heartbeat messages to the client at intervals of a first preset interval in a first preset period;
recording a first heartbeat delay of each heartbeat message in each first preset period;
obtaining a first average time delay corresponding to the first preset period according to the plurality of first heartbeat time delays;
selecting the difference value of the first average time delay of any two adjacent first preset periods as the first time delay difference value;
correspondingly, step S24: obtaining a second delay difference value of a heartbeat message sent to the storage end by the interface server of the internet small computer system, wherein the second delay difference value comprises the following steps:
sending heartbeat messages to the storage end at intervals of a second preset interval time in a second preset period;
recording a second heartbeat delay of each heartbeat message in each second preset period;
obtaining a second average time delay corresponding to the second preset period according to the plurality of second heartbeat time delays;
and selecting the difference value of the second average time delay of any two adjacent second preset periods as the second time delay difference value.
According to the above embodiment, the present embodiment provides a specific path prioritizing scheme, where determining the priority of each path according to the access status of the asymmetric logic unit of each path includes:
determining the priority of each path according to the access state of the asymmetric logic unit of the path; the priorities comprise two types of priorities of available paths and unavailable paths;
correspondingly, aggregating the paths with the same priority into one packet to obtain a plurality of path packets, including:
aggregating paths with priority as available paths into one available packet, and aggregating paths with priority as unavailable paths into one unavailable packet;
correspondingly, when receiving the input/output request, selecting the path packet with highest operation efficiency as an operation packet, including:
receiving an input/output request;
the packets aggregated by the available paths are taken as running packets.
In this embodiment, the priority of each path is determined according to the access status of the asymmetric logic unit of the path, and the paths are divided into available and unavailable paths, where the available paths are used as a packet, and the unavailable paths are used as a packet, and after receiving the input/output request, the packet aggregated by the available paths is used for service delivery, and the input/output request is delivered to each path of the packet by a polling method, so that the input/output request is uniformly distributed on different paths, and load balancing of the input/output request under a multipath scene is realized.
According to the above embodiment, the present embodiment provides another specific path prioritization scheme, where determining the priority of each path according to the access status of the asymmetric logic unit of each path includes:
acquiring a preset priority dividing threshold value; wherein the preset prioritizing threshold includes a plurality of levels of available paths and an unavailable path;
determining the priority of each path according to the access state of the asymmetric logic unit of each path based on the preset priority dividing threshold;
correspondingly, aggregating the paths with the same priority into one packet to obtain a plurality of path packets, including:
aggregating available paths of each level into a plurality of available packets respectively, and aggregating paths with priority as unavailable paths into one unavailable packet;
correspondingly, when receiving the input/output request, selecting the path packet with highest operation efficiency as an operation packet, including:
receiving an input/output request;
and selecting the least loaded packet from a plurality of the available packets as an operation packet.
In this embodiment, the preset prioritizing threshold includes a plurality of levels of available paths and one unavailable path; and determining the priority of each path according to the access state of the asymmetric logic unit of the path, dividing the paths into a plurality of grades of available paths and an unavailable path, respectively aggregating the available paths of the grades into a plurality of available packets, aggregating the paths with the priority of the unavailable paths into an unavailable packet, selecting the least-loaded packet in the plurality of available packets for service delivery after receiving the input/output request, realizing load balancing, and delivering the input/output request to each path of the packet in a polling mode, so that the input/output request is uniformly distributed on different paths, and the load balancing of the input/output request under a multipath scene is realized.
In the foregoing embodiments, the detailed description is given to the multipath planning method, and the present invention further provides a corresponding embodiment of the multipath planning apparatus. It should be noted that the present invention describes an embodiment of the device portion from two angles, one based on the angle of the functional module and the other based on the angle of the hardware.
Based on the angle of the functional module, fig. 3 is a block diagram of a multipath planning device according to an embodiment of the present invention, where, as shown in fig. 3, the multipath planning device includes:
an obtaining module 31, configured to obtain an access state of an asymmetric logic unit of each current path; the asymmetric logic unit access states of the paths are set by the interface server of the Internet small computer system;
a priority determining module 32, configured to determine a priority of each path according to the access status of the asymmetric logic unit of each path;
a grouping module 33, configured to aggregate the paths with the same priority into one packet, so as to obtain a plurality of path packets;
a selecting module 34, configured to select, as an operation packet, the path packet with the highest operation efficiency after receiving an input/output request;
The allocation module 35 is configured to send the received input/output request to the path in the running packet in a polling manner.
The multipath planning device provided in this embodiment is an obtaining module 31, configured to obtain an access state of an asymmetric logic unit of each current path; the asymmetric logic unit access states of the paths are set by the interface server of the Internet small computer system; a priority determining module 32, configured to determine a priority of each path according to the access status of the asymmetric logic unit of each path; a grouping module 33, configured to aggregate the paths with the same priority into one packet, so as to obtain a plurality of path packets; a selecting module 34, configured to select, as an operation packet, the path packet with the highest operation efficiency after receiving an input/output request; the allocation module 35 is configured to send the received input/output request to the path in the running packet in a polling manner. And after the grouping is selected, the input and output requests are issued to each path of the grouping in a polling mode, so that the input and output requests are uniformly distributed on different paths, and the load balance of the input and output requests under a multipath scene is realized.
In addition, the device further comprises:
the performance index obtaining module is used for obtaining the performance index of each path;
and the setting state module is used for setting the corresponding explicit asymmetric logic unit access state according to the performance indexes of each path.
The judging unit is used for judging whether the performance index of each path meets the preset performance condition;
if yes, triggering a first setting unit, wherein the first setting unit is used for setting the access state of the explicit asymmetric logic unit corresponding to the path as an active state;
and if not, triggering a second setting unit, wherein the second setting unit is used for setting the access state of the explicit asymmetric logic unit corresponding to the path to be an inactive state.
The first obtaining subunit is used for obtaining a first delay difference value of the heartbeat message sent to the client side by the interface server side of the internet small computer system; wherein the first delay difference value is the difference value of two adjacent average delays;
a first judging subunit, configured to judge whether the first delay difference value is greater than a first threshold;
if yes, triggering a first determining subunit, wherein the first determining subunit is used for judging that the performance index of the path does not meet the preset performance condition.
The second obtaining subunit is used for obtaining a second time delay difference value of the heartbeat message sent to the storage end by the interface server of the internet small computer system; wherein the second delay difference is the difference of two adjacent average delays;
A second judging subunit, configured to judge whether the second delay difference value is greater than a second threshold;
if yes, triggering a first determining subunit, wherein the first determining subunit is used for judging that the performance index of the path does not meet the preset performance condition;
if not, triggering a second determining subunit, configured to determine that the performance index of the path meets a preset performance condition.
A first dividing unit, configured to determine priorities of the paths according to access states of the asymmetric logic units of the paths; the priorities comprise two types of priorities of available paths and unavailable paths;
a first aggregation unit, configured to aggregate paths with priority being available into one available packet, and aggregate paths with priority being unavailable into one unavailable packet;
the receiving instruction unit is used for receiving an input and output request;
a first selecting grouping unit for selecting the grouping of the available path aggregation as the operation grouping.
The acquisition unit is used for acquiring a preset priority dividing threshold value; wherein the preset prioritizing threshold includes a plurality of levels of available paths and an unavailable path;
the second dividing unit is used for determining the priority of each path according to the access state of the asymmetric logic unit of each path based on the preset priority dividing threshold;
A second aggregation unit, configured to aggregate available paths of respective levels into a plurality of available packets, and aggregate paths having priority as unavailable paths into one unavailable packet;
the receiving instruction unit is used for receiving an input and output request;
and a second selecting grouping unit, configured to select a least loaded packet from the plurality of available packets as an operation packet.
Since the embodiments of the apparatus portion and the embodiments of the method portion correspond to each other, the embodiments of the apparatus portion are referred to the description of the embodiments of the method portion, and are not repeated herein.
Fig. 4 is a block diagram of another multipath planning apparatus according to an embodiment of the present invention, where, as shown in fig. 4, the multipath planning apparatus includes: a memory 40 for storing a computer program;
a processor 41 for implementing the steps of the method of acquiring user operation habit information according to the above-described embodiment (multi-path planning method) when executing a computer program.
The multipath planning device provided in this embodiment may include, but is not limited to, a tablet computer, a notebook computer, a desktop computer, or the like.
Processor 41 may include one or more processing cores, such as a 4-core processor, an 8-core processor, etc., among others. The processor 41 may be implemented in hardware in at least one of a digital signal processor (Digital Signal Processor, DSP), a Field programmable gate array (Field-Programmable Gate Array, FPGA), a programmable logic array (Programmable Logic Array, PLA). The processor 41 may also comprise a main processor, which is a processor for processing data in an awake state, also called central processor (Central Processing Unit, CPU), and a coprocessor; a coprocessor is a low-power processor for processing data in a standby state. In some embodiments, the processor 41 may be integrated with an image processor (Graphics Processing Unit, GPU) for rendering and rendering of content required to be displayed by the display screen. In some embodiments, the processor 41 may also include an artificial intelligence (Artificial Intelligence, AI) processor for processing computing operations related to machine learning.
Memory 40 may include one or more computer-readable storage media, which may be non-transitory. Memory 40 may also include high-speed random access memory, as well as non-volatile memory, such as one or more magnetic disk storage devices, flash memory storage devices. In this embodiment, the memory 40 is at least used for storing a computer program 401, where the computer program, when loaded and executed by the processor 41, can implement the relevant steps of the multipath planning method disclosed in any of the foregoing embodiments. In addition, the resources stored in the memory 40 may further include an operating system 402, data 403, and the like, where the storage manner may be transient storage or permanent storage. Operating system 402 may include, among other things, windows, unix, linux. The data 403 may include, but is not limited to, data involved in implementing a multipath planning method, and the like.
In some embodiments, the multipath planning apparatus may further include a display 42, an input/output interface 43, a communication interface 44, a power supply 45, and a communication bus 46.
Those skilled in the art will appreciate that the configuration shown in fig. 4 is not limiting of the multipath planning apparatus and may include more or fewer components than shown.
The multipath planning device provided by the embodiment of the invention comprises a memory and a processor, wherein the processor can realize the following method when executing a program stored in the memory: the multipath planning method comprises the steps of obtaining the access state of an asymmetric logic unit of each current path; the asymmetric logic unit access states of all paths are set by an interface server of an Internet small computer system; determining the priority of the corresponding path according to the access state of the asymmetric logic unit of the path; aggregating paths of the same priority into one path packet; selecting a path packet with highest operation efficiency as an operation packet after receiving an input/output request; and sending the received input and output request to a path in the running packet in a polling mode. The invention carries out priority grouping on all paths through the access state of the asymmetric logic unit, selects proper grouping for the input/output request for task issuing, has better performance, and issues the input/output request to each path of the grouping through a polling mode after selecting the grouping, thereby realizing uniform distribution of the input/output request on different paths and realizing load balancing of the input/output request under a multipath scene.
Finally, the invention also provides a corresponding embodiment of the computer readable storage medium. The computer-readable storage medium has stored thereon a computer program which, when executed by a processor, performs the steps described in the above-described multipath planning method embodiments.
It will be appreciated that the methods of the above embodiments, if implemented in the form of software functional units and sold or used as stand-alone products, may be stored on a computer readable storage medium. Based on this understanding, the technical solution of the present invention may be embodied essentially or in part or all of the technical solution or in part in the form of a software product stored in a storage medium for performing all or part of the steps of the method according to the embodiments of the present invention. And the aforementioned storage medium includes: a U-disk, a removable hard disk, a Read-Only Memory (ROM), a random access Memory (Random Access Memory, RAM), a magnetic disk, or an optical disk, or other various media capable of storing program codes.
The computer readable storage medium provided in this embodiment has a computer program stored thereon, which when executed by a processor, can implement the following method: the multipath planning method comprises the steps of obtaining the access state of an asymmetric logic unit of each current path; the asymmetric logic unit access states of all paths are set by an interface server of an Internet small computer system; determining the priority of the corresponding path according to the access state of the asymmetric logic unit of the path; aggregating paths of the same priority into one path packet; selecting a path packet with highest operation efficiency as an operation packet after receiving an input/output request; and sending the received input and output request to a path in the running packet in a polling mode. The invention carries out priority grouping on all paths through the access state of the asymmetric logic unit, selects proper grouping for the input/output request for task issuing, has better performance, and issues the input/output request to each path of the grouping through a polling mode after selecting the grouping, thereby realizing uniform distribution of the input/output request on different paths and realizing load balancing of the input/output request under a multipath scene.
The multipath planning method, the multipath planning device and the multipath planning medium provided by the invention are described in detail. In the description, each embodiment is described in a progressive manner, and each embodiment is mainly described by the differences from other embodiments, so that the same similar parts among the embodiments are mutually referred. 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 points refer to the description of the method section. It should be noted that it will be apparent to those skilled in the art that various modifications and adaptations of the invention can be made without departing from the principles of the invention and these modifications and adaptations are intended to be within the scope of the invention as defined in the following claims.
It should also be noted that in this specification, relational terms such as first and second, and the like are used solely to distinguish one entity or action from another entity or action without necessarily requiring or implying any actual such relationship or order between such entities or actions. Moreover, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising one … …" does not exclude the presence of other like elements in a process, method, article, or apparatus that comprises the element.

Claims (10)

1. A method of multipath planning, comprising:
acquiring the access state of an asymmetric logic unit of each current path; the asymmetric logic unit access states of the paths are set by the interface server of the Internet small computer system;
determining the priority of each path according to the access state of the asymmetric logic unit of each path;
aggregating the paths with the same priority into one packet to obtain a plurality of path packets;
selecting the path packet with highest operation efficiency as an operation packet after receiving an input/output request;
and sending the received input and output request to the path in the running packet in a polling mode.
2. The multi-path planning method according to claim 1, wherein the asymmetric logical unit access states of the respective paths are set as follows:
acquiring performance indexes of each path;
and setting corresponding explicit asymmetric logic unit access states according to the performance indexes of the paths.
3. The multi-path planning method according to claim 2, wherein the setting the corresponding explicit asymmetric logical unit access states according to the performance index of each path includes:
Judging whether the performance index of each path meets the preset performance condition;
if yes, setting the access state of the explicit asymmetric logic unit corresponding to the path as an active state;
and if not, setting the access state of the explicit asymmetric logic unit corresponding to the path as an inactive state.
4. A multi-path planning method according to claim 3, wherein said determining whether the performance index of each of the paths satisfies a preset performance condition comprises:
acquiring a first delay value of a heartbeat message sent to a client by an interface server of an internet small computer system; wherein the first delay difference value is the difference value of two adjacent average delays;
judging whether the first delay difference value is larger than a first threshold value or not;
if yes, judging that the performance index of the path does not meet the preset performance condition.
5. The method of multipath planning according to claim 4, further comprising, if the first delay difference is less than a first threshold:
acquiring a second time delay difference value of the heartbeat message sent to the storage end by the Internet small computer system interface server; wherein the second delay difference is the difference of two adjacent average delays;
Judging whether the second time delay difference value is larger than a second threshold value or not;
if yes, judging that the performance index of the path does not meet the preset performance condition;
if not, judging that the performance index of the path meets the preset performance condition.
6. The method of multipath planning according to any of claims 1 to 5, wherein said determining the priority of each of said paths based on the asymmetric logical unit access status of the respective path comprises:
determining the priority of each path according to the access state of the asymmetric logic unit of the path; the priorities comprise two types of priorities of available paths and unavailable paths;
correspondingly, aggregating the paths with the same priority into one packet to obtain a plurality of path packets, including:
aggregating paths with priority as available paths into one available packet, and aggregating paths with priority as unavailable paths into one unavailable packet;
correspondingly, when receiving the input/output request, selecting the path packet with highest operation efficiency as an operation packet, including:
receiving an input/output request;
the packets aggregated by the available paths are taken as running packets.
7. The method of multipath planning according to any of claims 1 to 5, wherein said determining the priority of each of said paths based on the asymmetric logical unit access status of the respective path comprises:
acquiring a preset priority dividing threshold value; wherein the preset prioritizing threshold includes a plurality of levels of available paths and an unavailable path;
determining the priority of each path according to the access state of the asymmetric logic unit of each path based on the preset priority dividing threshold;
correspondingly, aggregating the paths with the same priority into one packet to obtain a plurality of path packets, including:
aggregating available paths of each level into a plurality of available packets respectively, and aggregating paths with priority as unavailable paths into one unavailable packet;
correspondingly, when receiving the input/output request, selecting the path packet with highest operation efficiency as an operation packet, including:
receiving an input/output request;
and selecting the least loaded packet from a plurality of the available packets as an operation packet.
8. A multipath planning apparatus, comprising:
the acquisition module is used for acquiring the access state of the asymmetric logic unit of each current path; the asymmetric logic unit access states of the paths are set by the interface server of the Internet small computer system;
A priority determining module, configured to determine a priority of each path according to the access status of the asymmetric logic unit of each path;
a grouping module, configured to aggregate the paths with the same priority into one packet, to obtain multiple path packets;
the selection module is used for selecting the path packet with highest operation efficiency as an operation packet after receiving an input and output request;
and the distribution module is used for sending the received input and output request to the path in the operation packet in a polling mode.
9. A multipath planning apparatus, comprising:
a memory for storing a computer program;
a processor for implementing the steps of the multi-path planning method according to any one of claims 1 to 7 when executing the computer program.
10. A computer readable storage medium having stored thereon a computer program which when executed by a processor performs the steps of a multipath planning method according to any of claims 1 to 7.
CN202310900300.4A 2023-07-21 2023-07-21 Multipath planning method, device and medium Pending CN116909953A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310900300.4A CN116909953A (en) 2023-07-21 2023-07-21 Multipath planning method, device and medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310900300.4A CN116909953A (en) 2023-07-21 2023-07-21 Multipath planning method, device and medium

Publications (1)

Publication Number Publication Date
CN116909953A true CN116909953A (en) 2023-10-20

Family

ID=88362640

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310900300.4A Pending CN116909953A (en) 2023-07-21 2023-07-21 Multipath planning method, device and medium

Country Status (1)

Country Link
CN (1) CN116909953A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117608867A (en) * 2024-01-24 2024-02-27 苏州元脑智能科技有限公司 Storage IO request processing method and device, electronic equipment and medium

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117608867A (en) * 2024-01-24 2024-02-27 苏州元脑智能科技有限公司 Storage IO request processing method and device, electronic equipment and medium
CN117608867B (en) * 2024-01-24 2024-04-05 苏州元脑智能科技有限公司 Storage IO request processing method and device, electronic equipment and medium

Similar Documents

Publication Publication Date Title
US10078533B2 (en) Coordinated admission control for network-accessible block storage
US9634944B2 (en) Multi-level iSCSI QoS for target differentiated data in DCB networks
EP2466824B1 (en) Service scheduling method and device
US7593948B2 (en) Control of service workload management
WO2021126295A1 (en) Request throttling in distributed storage systems
CN110830391A (en) Resource allocation method and device and cluster system
CN110602156A (en) Load balancing scheduling method and device
CN108027749B (en) Method and system for balancing stored data traffic in converged networks
US10250673B1 (en) Storage workload management using redirected messages
CN105511964B (en) The treating method and apparatus of I/O request
CN116909953A (en) Multipath planning method, device and medium
JP2015191324A (en) Storage management device, performance adjustment method, and performance adjustment program
US8799534B2 (en) Storage apparatus and method for controlling same
US9898205B1 (en) Scheduling of commands in a storage area network to minimize latency
WO2024164614A1 (en) Io request processing method, apparatus and system for multi-path storage and storage medium
CN111782138B (en) Path switching method and device
US11748376B1 (en) Selection of data for transmission from different asynchronous data replication sessions running on a storage system
CN113641688A (en) Node updating method, related device and computer program product
CN112653626A (en) High-delay link determining method, route publishing method and device
US20180323859A1 (en) Wireless data transfer between servers
US12014053B2 (en) Proactive traffic shaping with service levels
US11620054B1 (en) Proactive monitoring and management of storage system input-output operation limits
US20240241768A1 (en) Priorty-based scheduling method and scheduler performing the method
CN107239544A (en) The implementation method and device of a kind of distributed storage
US20140047127A1 (en) Coordinated enforcement of traffic shaping limits in a network system

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination