CN103559155B - A kind of data transmission method, relevant apparatus and data transmission system - Google Patents

A kind of data transmission method, relevant apparatus and data transmission system Download PDF

Info

Publication number
CN103559155B
CN103559155B CN201310511619.4A CN201310511619A CN103559155B CN 103559155 B CN103559155 B CN 103559155B CN 201310511619 A CN201310511619 A CN 201310511619A CN 103559155 B CN103559155 B CN 103559155B
Authority
CN
China
Prior art keywords
host bus
bus adapter
hba card
adapter hba
data transmission
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.)
Active
Application number
CN201310511619.4A
Other languages
Chinese (zh)
Other versions
CN103559155A (en
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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201310511619.4A priority Critical patent/CN103559155B/en
Publication of CN103559155A publication Critical patent/CN103559155A/en
Application granted granted Critical
Publication of CN103559155B publication Critical patent/CN103559155B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

The embodiment of the invention discloses data transmission method, including: the hardware configuration information of all HBA cards in acquisition system;According to hardware configuration information, analyze the hardware performance reference information of each HBA card;According to the hardware performance reference information of each HBA card, calling default routing algorithm, the path that in selection system, HBA card is corresponding carries out data transmission.Correspondingly, the invention also discloses a kind of data transmission device, the network equipment and data transmission system, use the present invention, by obtaining the hardware configuration information of all HBA cards, analyze the hardware performance reference information of each HBA card, select high performance path to issue I/O, solve the HBA card hardware differences failing to take into full account each path in practical service environment in prior art, the treatment effeciency causing I/O is the highest, the problem that hardware utilization is relatively low, and can effectively prevent the congested generation of I/O.

Description

Data transmission method, related device and data transmission system
Technical Field
The present invention relates to the field of communications, and in particular, to a data transmission method, a related apparatus, and a data transmission system.
Background
In order to improve the reliability of data transmission and avoid single point of failure, multiple links (called paths) are often connected between the application server and the storage system for data transmission. The multi-path software is responsible for managing a plurality of paths, selecting an optimal path to send Input/Output (I/O) to ensure service performance, and switching the I/O to a standby path to send when the path fails:
some of the current routing algorithms, as shown in fig. 1, only consider selecting a path in the preferred controller when selecting a path, and send all I/os to the single path (i.e., path 2 in fig. 1), and in this algorithm, if a path fails, a backup path is selected to send all I/os; still others, like fig. 2, distribute I/O evenly over all available preferred controller paths (i.e., path 1 and path 2 in fig. 2 are split equally for data transfer).
However, the routing method does not fully consider the hardware difference of Host Bus Adapters (HBAs) of each path in the actual use environment, and there is a possibility that the selected path is not issued on the optimal path of the high-performance HBA card, or the performance advantage of the high-performance HBA card is not reasonably utilized, so that the processing efficiency of I/O is not high, and the hardware utilization rate is low.
Disclosure of Invention
The technical problem to be solved by the embodiments of the present invention is to provide a data transmission method, a data transmission method apparatus, a network device, and a data transmission system, which can ensure the processing efficiency of I/O, improve the hardware utilization rate, and effectively prevent the occurrence of I/O congestion.
In a first aspect, an embodiment of the present invention provides a data transmission method, including:
acquiring hardware configuration information of all host bus adapter HBA cards in the system;
analyzing the hardware performance reference information of each host bus adapter HBA card according to the hardware configuration information;
and calling a preset path selection algorithm according to the hardware performance reference information of each host bus adapter HBA card, and selecting a path corresponding to the host bus adapter HBA card in the system for data transmission.
With reference to the first aspect, in a first possible implementation manner, the step of obtaining hardware configuration information of all host bus adapter HBA cards in the system includes:
sending request information for inquiring a host bus adapter HBA card list to a system;
receiving host bus adapter HBA card list information returned by the system according to the request information for inquiring the host bus adapter HBA card list;
inquiring the hardware configuration information of each host bus adapter HBA card in a list from a system according to the list information of the host bus adapter HBA cards;
and acquiring the hardware configuration information of each host bus adapter HBA card returned by the system.
With reference to the first aspect or the first possible implementation manner of the first aspect, in a second possible implementation manner, the step of selecting a path corresponding to a host bus adapter HBA card in the system for data transmission includes:
selecting a path corresponding to a host bus adapter HBA card with the best hardware performance for data transmission; or,
and allocating the paths according to the proportion for data transmission.
With reference to the second possible implementation manner of the first aspect, in a third possible implementation manner, the hardware configuration information includes a fibre channel link rate a, a queue depth b, and a direct memory access size c;
the step of analyzing the hardware performance reference information of each host bus adapter HBA card includes:
selecting the hardware configuration information of any host bus adapter HBA card as a reference value, wherein the reference value is the product of a, b and c corresponding to the selected host bus adapter HBA card;
and respectively calculating the ratio of the product of a, b and c corresponding to each host bus adapter HBA card to the reference value to obtain the hardware performance reference information of each host bus adapter HBA card.
With reference to the third possible implementation manner of the first aspect, in a fourth possible implementation manner, the step of selecting a path corresponding to a host bus adapter HBA card with the best hardware performance for data transmission includes:
determining the host bus adapter HBA card with the highest ratio as the host bus adapter HBA card with the best hardware performance, and selecting a path corresponding to the determined host bus adapter HBA card for data transmission;
the step of allocating the paths in proportion for data transmission comprises:
and distributing the paths for data transmission by taking the ratio corresponding to each host bus adapter HBA card as the proportion size.
In a second aspect, an embodiment of the present invention provides a data transmission apparatus, including:
the acquisition module is used for acquiring hardware configuration information of all host bus adapter HBA cards in the system;
the hardware performance analysis module is used for analyzing the hardware performance reference information of each host bus adapter HBA card according to the hardware configuration information acquired by the acquisition module;
and the calling selection module is used for calling a preset path selection algorithm according to the hardware performance reference information of each host bus adapter HBA card analyzed by the hardware performance analysis module, and selecting a path corresponding to the host bus adapter HBA card in the system for data transmission.
With reference to the second aspect, in a first possible implementation manner, the obtaining module includes:
the query list request sending unit is used for sending request information for querying a host bus adapter HBA card list to the system;
the list receiving unit is used for receiving host bus adapter HBA card list information returned by the system according to the request information for inquiring the host bus adapter HBA card list;
the inquiry configuration request sending unit is used for sending request information of the hardware configuration information of each host bus adapter HBA card in the inquiry list to the system according to the list information of the host bus adapter HBA card received by the list receiving unit;
and the configuration information acquisition unit is used for acquiring the hardware configuration information of each host bus adapter HBA card returned by the system.
With reference to the second aspect or the first possible implementation manner of the second aspect, in a second possible implementation manner, the call selection module includes:
the data transmission selection unit is used for selecting a path corresponding to the host bus adapter HBA card with the best hardware performance to carry out data transmission; or,
and the data transmission distribution unit is used for distributing the paths in proportion to carry out data transmission.
With reference to the second possible implementation manner of the second aspect, in a third possible implementation manner, the hardware configuration information includes a fibre channel link rate a, a queue depth b, and a direct memory access size c;
the hardware performance analysis module comprises:
a reference value selecting unit, configured to select hardware configuration information of any one of the host bus adapter HBA cards as a reference value, where the reference value is a product of a, b, and c corresponding to the selected host bus adapter HBA card;
and the ratio calculation unit is used for calculating the ratio of the product of a, b and c corresponding to each host bus adapter HBA card and the reference value respectively to obtain the hardware performance reference information of each host bus adapter HBA card.
With reference to the third possible implementation manner of the second aspect, in a fourth possible implementation manner, the data transmission selecting unit is specifically configured to determine the host bus adapter HBA card with the highest hardware performance in the ratio as the host bus adapter HBA card with the best hardware performance, and select a path corresponding to the determined host bus adapter HBA card for data transmission;
the data transmission allocation unit is specifically configured to allocate a path to perform data transmission with a ratio corresponding to each host bus adapter HBA card as a proportional size.
In a third aspect, an embodiment of the present invention provides a network device, including: an input device, an output device, a memory, and a processor;
wherein the processor performs the steps of:
acquiring hardware configuration information of all host bus adapter HBA cards in the system; analyzing the hardware performance reference information of each host bus adapter HBA card according to the hardware configuration information; and calling a preset path selection algorithm according to the hardware performance reference information of each host bus adapter HBA card, and selecting a path corresponding to the host bus adapter HBA card in the system for data transmission.
With reference to the third aspect, in a first possible implementation manner, the step of acquiring, by the processor, the hardware configuration information of all host bus adapter HBA cards in the system includes:
sending request information for inquiring a host bus adapter HBA card list to a system; receiving host bus adapter HBA card list information returned by the system according to the request information for inquiring the host bus adapter HBA card list; and inquiring the hardware configuration information of each host bus adapter HBA card in the list from the system according to the list information of the host bus adapter HBA cards, and acquiring the hardware configuration information of each host bus adapter HBA card returned by the system.
With reference to the third aspect or the first possible implementation manner of the third aspect, in a second possible implementation manner, the step of selecting, by the processor, a path corresponding to the host bus adapter HBA card in the system for data transmission includes:
selecting a path corresponding to a host bus adapter HBA card with the best hardware performance for data transmission; or, the paths are allocated in proportion for data transmission.
With reference to the second possible implementation manner of the third aspect, in a third possible implementation manner, the hardware configuration information includes a fibre channel link rate a, a queue depth b, and a direct memory access size c;
the step of the processor analyzing the hardware performance reference information of each host bus adapter HBA card comprises the following steps:
selecting the hardware configuration information of any host bus adapter HBA card as a reference value, wherein the reference value is the product of a, b and c corresponding to the selected host bus adapter HBA card; and respectively calculating the ratio of the product of a, b and c corresponding to each host bus adapter HBA card to the reference value to obtain the hardware performance reference information of each host bus adapter HBA card.
With reference to the third possible implementation manner of the third aspect, in a fourth possible implementation manner, the step of selecting, by the processor, a path corresponding to the host bus adapter HBA card with the best hardware performance to perform data transmission includes:
determining the host bus adapter HBA card with the highest ratio as the host bus adapter HBA card with the best hardware performance, and selecting a path corresponding to the determined host bus adapter HBA card for data transmission;
the step of the processor allocating the paths in proportion for data transmission comprises the following steps:
and distributing the paths for data transmission by taking the ratio corresponding to each host bus adapter HBA card as the proportion size.
In a fourth aspect, an embodiment of the present invention provides a data transmission system, including an application server and a storage system, where the application server includes a network device in combination with the third aspect, or the first possible implementation manner of the third aspect, or the second possible implementation manner of the third aspect, or the third possible implementation manner of the third aspect, or the fourth possible implementation manner of the third aspect, and controls data transmission between the application server and the storage system through the network device.
By implementing the embodiment of the invention, the hardware configuration information of all HBA cards is acquired, the hardware performance reference information of each HBA card is analyzed, and the high-performance path is selected to issue the I/O, so that the problems of low I/O processing efficiency and low hardware utilization rate caused by the fact that the HBA card hardware difference of each path in the actual use environment cannot be fully considered in the prior art are solved, the I/O processing efficiency can be ensured, the hardware utilization rate is improved, and the occurrence of I/O congestion can be effectively prevented.
Drawings
In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings used in the description of the embodiments or the prior art will be briefly described below, it is obvious that the drawings in the following description are only some embodiments of the present invention, and for those skilled in the art, other drawings can be obtained according to the drawings without creative efforts.
FIG. 1 is a diagram illustrating a networking of a first embodiment of data transmission in the prior art;
FIG. 2 is a diagram illustrating a networking of a second embodiment of data transmission in the prior art;
FIG. 3 is a flow chart of a data transmission method provided by the present invention;
FIG. 4 is a schematic diagram of a process for obtaining hardware configuration information according to the present invention;
FIG. 5 is a schematic diagram of a first embodiment of data transmission in the present invention;
FIG. 6 is a schematic diagram of a networking of a second embodiment of data transmission in the present invention;
FIG. 7 is a schematic structural diagram of a data transmission apparatus according to an embodiment of the present invention;
FIG. 8 is a schematic structural diagram of an acquisition module according to an embodiment of the present invention;
FIG. 9 is a block diagram of a network device according to an embodiment of the invention;
fig. 10 is a schematic structural diagram of a data transmission system according to an embodiment of the present invention.
Detailed Description
The technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the drawings in the embodiments of the present invention, and it is obvious that the described embodiments are only a part of the embodiments of the present invention, and not all of the embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present invention.
Referring to fig. 3, it is a schematic flow chart of a data transmission method provided by the present invention, and the method includes:
step S300: acquiring hardware configuration information of all HBA cards in a system;
step S302: analyzing the hardware performance reference information of each HBA card according to the hardware configuration information;
step S304: and calling a preset path selection algorithm according to the hardware performance reference information of each HBA card, and selecting a path corresponding to the HBA card in the system for data transmission.
Specifically, by presetting different path selection algorithms, a path corresponding to the HBA card with the best hardware performance can be selected for data transmission; alternatively, the paths may be proportionally allocated for data transmission.
Further, as shown in the flowchart of fig. 4, where the hardware configuration information is obtained in the present invention, step S300 may include:
step S3000: sending request information for inquiring an HBA card list to a system;
specifically, the path control software sends request information to an operating system to inquire HBA card list information; in detail, the current number of HBA card devices can be queried through the HBA _ getatapterattributes interface, and the name of the HBA card can be queried through the HBA _ getataptername;
step S3002: receiving HBA card list information returned by the system according to the request information for inquiring the HBA card list;
step S3004: inquiring the hardware configuration information of each HBA card in a list from a system according to the HBA card list information;
specifically, the path control software sends requests for inquiring the hardware configuration information of each HBA card to the operating system respectively, and after receiving each request, the operating system inquires the hardware configuration information of each HBA card and returns the hardware configuration information to the path control software; in detail, the hbaagetapters info interface may be used to query hardware configuration information corresponding to each HBA card.
Step S3006: and acquiring the hardware configuration information of each HBA card returned by the system.
Hardware configuration information in the embodiment of the present invention includes a Fiber Channel (FC) link rate a, a queue depth b, and a Direct Memory Access (DMA) size c;
still further, step S302 may include: selecting the hardware configuration information of any one HBA card as a reference value according to the hardware configuration information, wherein the reference value is the product of a, b and c corresponding to the selected HBA card; and respectively calculating the ratio of the product of a, b and c corresponding to each HBA card to the reference value to obtain the hardware performance reference information of each HBA card.
Specifically, the ratio can be used as a hardware performance impact factor x:
x = a * b * c a ′ * b ′ * c ′ equation 1
Wherein:
a ', b' and c 'in formula 1 are respectively FC link rate, queue depth and DMA size corresponding to an arbitrarily selected HBA card, that is, a' × b '× c' is used as a reference value;
a, b and c in formula 1 are respectively the FC link rate, queue depth and DMA size corresponding to the HBA card to be currently calculated;
then, the calculated hardware performance impact factor x may be hardware performance reference information of the HBA card;
furthermore, in step S304, according to the hardware performance reference information of each HBA card, a preset path selection algorithm is called, and a path corresponding to the HBA card with the best hardware performance may be selected for data transmission; specifically, the method comprises the following steps:
according to the calculated hardware performance influence factor x corresponding to each HBA card, a failover algorithm can be called, and if the original path priority is p, the optimized path priority is as follows: p' ═ p/x, then each re-optimized path priority is routed; that is, the higher the calculated hardware performance impact factor x corresponding to which HBA card is, the higher the priority of the path will be, and finally, the path with the highest priority is selected for data transmission.
In order to better understand the technical solutions provided by the embodiments of the present invention, the following description is given with reference to an implementation mode in a specific scenario as an example. The description is made with reference to the networking diagram of the first embodiment of data transmission based on the HBA card shown in fig. 5, assuming that the queue depth and the DMA size of the 4G HBA card are both larger than those of the 2G HBA card, and the FC link rates are the same; and then according to the calculated hardware performance influence factor x corresponding to each HBA card, calling a failover algorithm to carry out a path, wherein the hardware performance influence factor x of the 4G HBA card is larger than that of the GHBA card, and finally selecting a path 2 as a preferred path to carry out data transmission, and taking a path 4 as a standby path.
Furthermore, in step S304, a preset path selection algorithm may be invoked according to the hardware performance reference information of each HBA card, and paths are allocated in proportion to perform data transmission; specifically, the method comprises the following steps:
according to the calculated hardware performance influence factor x corresponding to each HBA card, a round _ robin algorithm can be called, according to the calculated hardware performance influence factor x corresponding to each HBA card, a failover algorithm is called, and the hardware performance influence factor x of each HBA card is used as the proportion of I/O sent to each path; that is, assuming that the hardware performance impact factor x of a certain HBA card is 2, after 2I/os are sent on the path corresponding to the HBA card, 1I/O is sent on the path corresponding to the HBA card selected as the reference value.
In order to better understand the technical solutions provided by the embodiments of the present invention, the following description is given with reference to an implementation mode in a specific scenario as an example. The description is made with reference to the networking diagram of the second embodiment of data transmission based on the HBA card shown in fig. 6, assuming that the queue depth and the DMA size of the 4G HBA card are both larger than those of the 2G HBA card, and the FC link rates are the same; then, according to the calculated hardware performance influence factor x corresponding to each HBA card, a round _ robin algorithm is called to perform a path, and assuming that the hardware performance influence factor x of the 4G HBA card is two times greater than the hardware performance influence factor x of the G HBA card, the I/O issued through the path 2 of the 4G HBA card is two times greater than the I/O issued through the path 1 of the 2G HBA card, and the path 3 and the path 4 serve as standby paths.
It should be noted that, the hardware performance reference information of the HBA card in the embodiment of the present invention is not limited to the ratio x (i.e., the hardware performance impact factor x), and may also be other numerical values that reflect the hardware performance reference information of the HBA card, which should be known by those skilled in the art and will not be described herein again; in addition, the embodiment of the present invention is not limited to invoking the failover algorithm or the round _ robin algorithm for path selection, and those skilled in the art should know that the description is omitted here.
By implementing the data transmission method of the embodiment of the invention, the hardware performance reference information of each HBA card is analyzed by acquiring the hardware configuration information of all HBA cards, the hardware performance of the HBA cards can be specifically increased on the basis of each basic routing algorithm to serve as the influence factor of the path priority, the priority of each path or the I/O distribution proportion is recalculated after the influence factor of the hardware performance of each HBA card is substituted, the I/O is issued by selecting the high-performance path, the problems that the I/O processing efficiency is not high and the hardware utilization rate is low due to the fact that the hardware difference of the HBA cards of each path in the actual use environment cannot be fully considered in the prior art are solved, the I/O processing efficiency can be ensured, the hardware utilization rate is improved, and the occurrence of I/O congestion can be effectively prevented.
The data transmission method according to the embodiment of the present invention is explained in detail above, and in order to better implement the above-mentioned solution according to the embodiment of the present invention, correspondingly, the following also provides a related apparatus for implementing the above-mentioned solution cooperatively.
Fig. 7 shows a schematic structural diagram of a data transmission apparatus according to an embodiment of the present invention, which includes: an acquisition module 70, a hardware performance analysis module 72, and a call selection module 74, wherein
The obtaining module 70 is configured to obtain hardware configuration information of all HBA cards in the system;
the hardware performance analysis module 72 is configured to analyze the hardware performance reference information of each HBA card according to the hardware configuration information acquired by the acquisition module 70;
the calling selection module 74 is configured to call a preset path selection algorithm according to the hardware performance reference information of each HBA card analyzed by the hardware performance analysis module 72, and select a path corresponding to the HBA card in the system for data transmission.
Specifically, by presetting different path selection algorithms, a path corresponding to the HBA card with the best hardware performance can be selected for data transmission; alternatively, the paths may be proportionally allocated for data transmission. That is, the call selection module 74 may include: a data transmission selecting unit 740, configured to select a path corresponding to the HBA card with the best hardware performance for data transmission; or, a data transmission allocating unit 742 is used for allocating the paths in proportion for data transmission.
Further, as shown in fig. 8, which is a schematic structural diagram of an obtaining module according to an embodiment of the present invention, further explaining a data transmission apparatus according to an embodiment of the present invention, the obtaining module 70 includes: a query list request transmitting unit 700, a list receiving unit 702, a query configuration request transmitting unit 704, and a configuration information acquiring unit 706, wherein
The query list request sending unit 700 is configured to send request information for querying the HBA card list to the system;
specifically, the query list request sending unit 700 sends request information to the operating system to query the HBA card list information; in detail, the current number of HBA card devices can be queried through the HBA _ getatapterattributes interface, and the name of the HBA card can be queried through the HBA _ getataptername;
the list receiving unit 702 is configured to receive HBA card list information returned by the system according to the request information for querying the HBA card list;
the query configuration request sending unit 704 is configured to send request information for querying hardware configuration information of each HBA card in the list to the system according to the HBA card list information received by the list receiving unit 702;
specifically, the query configuration request sending unit 704 sends requests for querying hardware configuration information of each HBA card to the operating system, and after receiving each request, the operating system queries the hardware configuration information of each HBA card and returns the hardware configuration information to the path control software; in detail, the hbaagetapters info interface may be used to query hardware configuration information corresponding to each HBA card.
The configuration information obtaining unit 706 is configured to obtain hardware configuration information of each HBA card returned by the system.
Hardware configuration information in the embodiment of the present invention includes a Fiber Channel (FC) link rate a, a queue depth b, and a Direct Memory Access (DMA) size c;
still further, the hardware performance analysis module 72 may include: a reference value selecting unit and a ratio calculating unit, wherein
The reference value selecting unit is used for selecting the hardware configuration information of any one HBA card as a reference value, and the reference value is the product of a, b and c corresponding to the selected HBA card;
and the ratio calculation unit is used for calculating the ratio of the product of a, b and c corresponding to each HBA card and the reference value respectively to obtain the hardware performance reference information of each HBA card.
Specifically, the ratio can be used as a hardware performance impact factor x:
x = a * b * c a ′ * b ′ * c ′ equation 1
Wherein:
a ', b' and c 'in formula 1 are respectively FC link rate, queue depth and DMA size corresponding to an arbitrarily selected HBA card, that is, a' × b '× c' is used as a reference value;
a, b and c in formula 1 are respectively the FC link rate, queue depth and DMA size corresponding to the HBA card to be currently calculated;
then, the calculated hardware performance impact factor x may be hardware performance reference information of the HBA card;
further, the data transmission selecting unit 740 may invoke a failover algorithm according to the calculated hardware performance impact factor x corresponding to each HBA card, and assuming that the original path priority is p, the optimized path priority is: p' ═ p/x, then each re-optimized path priority is routed; that is, the higher the calculated hardware performance impact factor x corresponding to which HBA card is, the higher the priority of the path will be, and finally, the path with the highest priority is selected for data transmission.
In order to better understand the technical solutions provided by the embodiments of the present invention, the following description is given with reference to an implementation mode in a specific scenario as an example. The description is made with reference to the networking diagram of the first embodiment of data transmission based on the HBA card shown in fig. 5, assuming that the queue depth and the DMA size of the 4G HBA card are both larger than those of the 2G HBA card, and the FC link rates are the same; then, the hardware performance analysis module 72 invokes a failover algorithm to perform a path according to the calculated hardware performance impact factor x corresponding to each HBA card, where the hardware performance impact factor x of the 4G HBA card is greater than the hardware performance impact factor x of the G HBA card, and the data transmission selection unit 740 finally selects the path 2 as a preferred path for data transmission and the path 4 as a backup path.
Furthermore, the data transmission allocating unit 742 may invoke a round _ robin algorithm according to the calculated hardware performance impact factor x corresponding to each HBA card, invoke a failover algorithm according to the calculated hardware performance impact factor x corresponding to each HBA card, and use the hardware performance impact factor x of each HBA card as the ratio of I/O sent to each path; that is, assuming that the hardware performance impact factor x of a certain HBA card is 2, after 2I/os are sent on the path corresponding to the HBA card, 1I/O is sent on the path corresponding to the HBA card selected as the reference value.
In order to better understand the technical solutions provided by the embodiments of the present invention, the following description is given with reference to an implementation mode in a specific scenario as an example. The description is made with reference to the networking diagram of the second embodiment of data transmission based on the HBA card shown in fig. 6, assuming that the queue depth and the DMA size of the 4G HBA card are both larger than those of the 2G HBA card, and the FC link rates are the same; then the hardware performance analysis module 72 invokes a round _ robin algorithm to perform a path according to the calculated hardware performance impact factor x corresponding to each HBA card, and if the hardware performance impact factor x of the 4G HBA card is two times greater than the hardware performance impact factor x of the G HBA card, the data transmission allocation unit 742 controls the I/O delivered through the path 2 of the 4G HBA card to be two times greater than the I/O delivered through the path 1 of the 2G HBA card, and the path 3 and the path 4 serve as backup paths.
It should be noted that, the hardware performance reference information of the HBA card in the embodiment of the present invention is not limited to the ratio x (i.e., the hardware performance impact factor x), and may also be other numerical values that reflect the hardware performance reference information of the HBA card, which should be known by those skilled in the art and will not be described herein again; in addition, the embodiment of the present invention is not limited to invoking the failover algorithm or the round _ robin algorithm for path selection, and those skilled in the art should know that the description is omitted here.
Correspondingly, the embodiment of the present invention further discloses a network device, and as shown in fig. 9, the network device 9 may include:
an input device 90, an output device 92, a memory 94, and a processor 96 (the number of processors 96 in a network device may be one or more, and one processor is taken as an example in fig. 9). In some embodiments of the present invention, the input device 91, the output device 92, the memory 94 and the processor 96 may be connected by a bus or other means, wherein the bus connection is exemplified in fig. 9.
Wherein the processor 96 performs the following steps: acquiring hardware configuration information of all host bus adapter HBA cards in the system; analyzing the hardware performance reference information of each host bus adapter HBA card according to the hardware configuration information; and calling a preset path selection algorithm according to the hardware performance reference information of each host bus adapter HBA card, and selecting a path corresponding to the host bus adapter HBA card in the system for data transmission.
In some embodiments of the present invention, the step of the processor 96 obtaining hardware configuration information of all host bus adapter HBA cards in the system comprises: sending request information for inquiring a host bus adapter HBA card list to a system; receiving host bus adapter HBA card list information returned by the system according to the request information for inquiring the host bus adapter HBA card list; and inquiring the hardware configuration information of each host bus adapter HBA card in the list from the system according to the list information of the host bus adapter HBA cards, and acquiring the hardware configuration information of each host bus adapter HBA card returned by the system.
In some embodiments of the present invention, the step of the processor 96 selecting a path corresponding to the host bus adapter HBA card in the system for data transmission includes: selecting a path corresponding to a host bus adapter HBA card with the best hardware performance for data transmission; or, the paths are allocated in proportion for data transmission.
In some embodiments of the invention, the hardware configuration information comprises a fibre channel link rate a, a queue depth b, and a direct memory access size c; the step of the processor 96 analyzing the hardware performance reference information of each host bus adapter HBA card includes:
selecting the hardware configuration information of any host bus adapter HBA card as a reference value, wherein the reference value is the product of a, b and c corresponding to the selected host bus adapter HBA card; and respectively calculating the ratio of the product of a, b and c corresponding to each host bus adapter HBA card to the reference value to obtain the hardware performance reference information of each host bus adapter HBA card.
In some embodiments of the present invention, the step of the processor 96 selecting the path corresponding to the host bus adapter HBA card with the best hardware performance for data transmission includes: determining the host bus adapter HBA card with the highest ratio as the host bus adapter HBA card with the best hardware performance, and selecting a path corresponding to the determined host bus adapter HBA card for data transmission;
the step of the processor 96 allocating the paths for data transmission in proportion comprises: and distributing the paths for data transmission by taking the ratio corresponding to each host bus adapter HBA card as the proportion size.
The network device 96 according to the embodiment of the present invention may be, for example, an application server, or a hardware structure of the application server, or other network devices.
It can be understood that the functions of the functional modules of the network device 96 in this embodiment may be specifically implemented according to the method in the foregoing method embodiment, and the specific implementation process may refer to the relevant description of the foregoing method embodiment, which is not described herein again.
Correspondingly, the embodiment of the present invention further discloses a data transmission system, as shown in fig. 10, the data transmission system of the present invention includes an application server 10 and a storage system 20, wherein the application server 10 is the above-mentioned network device 90, and controls data transmission between the application server 10 and the storage system 20 through the data transmission device 90.
It can be understood that the functions of each functional module of the data transmission system in this embodiment may be specifically implemented according to the method in the foregoing method embodiment, and the specific implementation process may refer to the relevant description of the foregoing method embodiment, which is not described herein again.
In summary, by acquiring the hardware configuration information of all HBA cards and analyzing the hardware performance reference information of each HBA card, the embodiments of the present invention can specifically add the HBA card hardware performance as the influence factor of the path priority on the basis of each basic routing algorithm, and recalculate the priority or I/O distribution proportion of each path after substituting the influence factor of the hardware performance of each HBA card into the influence factor, thereby realizing selecting a high-performance path to issue I/O, solving the problems in the prior art that the difference of the HBA card hardware of each path in the actual use environment cannot be fully considered, resulting in low I/O processing efficiency and low hardware utilization rate, not only ensuring the I/O processing efficiency, improving the hardware utilization rate, but also effectively preventing the occurrence of I/O congestion.
It will be understood by those skilled in the art that all or part of the processes of the methods of the embodiments described above can be implemented by a computer program, which can be stored in a computer-readable storage medium, and when executed, can include the processes of the embodiments of the methods described above. The storage medium may be a magnetic disk, an optical disk, a Read-Only Memory (ROM), a Random Access Memory (RAM), or the like.
While the invention has been described with reference to a preferred embodiment, it will be understood by those skilled in the art that various changes in form and detail may be made therein without departing from the spirit and scope of the invention as defined by the appended claims.

Claims (16)

1. A method of data transmission, comprising:
acquiring hardware configuration information of all host bus adapter HBA cards in the system;
analyzing the hardware performance reference information of each host bus adapter HBA card according to the hardware configuration information;
calling a preset path selection algorithm according to the hardware performance reference information of each host bus adapter HBA card, and selecting a path corresponding to the host bus adapter HBA card in the system for data transmission;
wherein analyzing the hardware performance reference information of each host bus adapter HBA card comprises: and selecting the hardware configuration information of any host bus adapter HBA card as a reference value, and calculating to obtain the hardware performance reference information of each host bus adapter HBA card according to the reference value and the configuration information of each host bus adapter HBA card.
2. The method according to claim 1, wherein the step of obtaining hardware configuration information of all host bus adapter HBA cards in the system comprises:
sending request information for inquiring a host bus adapter HBA card list to a system;
receiving host bus adapter HBA card list information returned by the system according to the request information for inquiring the host bus adapter HBA card list;
inquiring the hardware configuration information of each host bus adapter HBA card in a list from a system according to the list information of the host bus adapter HBA cards;
and acquiring the hardware configuration information of each host bus adapter HBA card returned by the system.
3. The method according to claim 1 or 2, wherein the step of selecting the path corresponding to the host bus adapter HBA card in the system for data transmission comprises:
selecting a path corresponding to a host bus adapter HBA card with the best hardware performance from all host bus adapter HBA cards of the system for data transmission; or,
and allocating the paths according to the proportion for data transmission.
4. The method of claim 3, wherein the hardware configuration information comprises a fibre channel link rate a, a queue depth b, and a direct memory access size c;
the reference value is the product of a, b and c corresponding to the selected host bus adapter HBA card;
the step of calculating the hardware performance reference information of each host bus adapter HBA card according to the reference value and the configuration information of each host bus adapter HBA card comprises the following steps: and respectively calculating the ratio of the product of a, b and c corresponding to each host bus adapter HBA card to the reference value to obtain the hardware performance reference information of each host bus adapter HBA card.
5. The method according to claim 4, wherein the step of selecting the path corresponding to the host bus adapter HBA card with the best hardware performance for data transmission comprises:
determining the host bus adapter HBA card with the highest ratio as the host bus adapter HBA card with the best hardware performance, and selecting a path corresponding to the determined host bus adapter HBA card for data transmission;
the step of allocating the paths in proportion for data transmission comprises:
and distributing the paths for data transmission by taking the ratio corresponding to each host bus adapter HBA card as the proportion size.
6. A data transmission apparatus, comprising:
the acquisition module is used for acquiring hardware configuration information of all host bus adapter HBA cards in the system;
the hardware performance analysis module is used for analyzing the hardware performance reference information of each host bus adapter HBA card according to the hardware configuration information acquired by the acquisition module;
the calling selection module is used for calling a preset path selection algorithm according to the hardware performance reference information of each host bus adapter HBA card analyzed by the hardware performance analysis module, and selecting a path corresponding to the host bus adapter HBA card in the system for data transmission;
the hardware performance analysis module is specifically configured to use the hardware configuration information of any one of the host bus adapter HBA cards as a reference value, and calculate the hardware performance reference information of each host bus adapter HBA card according to the reference value and the configuration information of each host bus adapter HBA card.
7. The apparatus of claim 6, wherein the obtaining module comprises:
the query list request sending unit is used for sending request information for querying a host bus adapter HBA card list to the system;
the list receiving unit is used for receiving host bus adapter HBA card list information returned by the system according to the request information for inquiring the host bus adapter HBA card list;
the inquiry configuration request sending unit is used for sending request information of the hardware configuration information of each host bus adapter HBA card in the inquiry list to the system according to the list information of the host bus adapter HBA card received by the list receiving unit;
and the configuration information acquisition unit is used for acquiring the hardware configuration information of each host bus adapter HBA card returned by the system.
8. The apparatus of claim 6 or 7, wherein the call selection module comprises:
the data transmission selection unit is used for selecting a path corresponding to a host bus adapter HBA card with the best hardware performance from all host bus adapter HBA cards of the system for data transmission; or,
and the data transmission distribution unit is used for distributing the paths in proportion to carry out data transmission.
9. The apparatus of claim 8, wherein the hardware configuration information comprises a fibre channel link rate a, a queue depth b, and a direct memory access size c;
the hardware performance analysis module comprises:
a reference value selecting unit, configured to select hardware configuration information of any one of the host bus adapter HBA cards as a reference value, where the reference value is a product of a, b, and c corresponding to the selected host bus adapter HBA card;
and the ratio calculation unit is used for calculating the ratio of the product of a, b and c corresponding to each host bus adapter HBA card and the reference value respectively to obtain the hardware performance reference information of each host bus adapter HBA card.
10. The apparatus according to claim 9, wherein the data transmission selecting unit is specifically configured to determine the host bus adapter HBA card with the highest hardware performance in the ratio as the host bus adapter HBA card with the best hardware performance, and select a path corresponding to the determined host bus adapter HBA card for data transmission;
the data transmission allocation unit is specifically configured to allocate a path to perform data transmission with a ratio corresponding to each host bus adapter HBA card as a proportional size.
11. A network device, comprising: an input device, an output device, a memory, and a processor;
wherein the processor performs the steps of:
acquiring hardware configuration information of all host bus adapter HBA cards in the system; analyzing the hardware performance reference information of each host bus adapter HBA card according to the hardware configuration information; calling a preset path selection algorithm according to the hardware performance reference information of each host bus adapter HBA card, and selecting a path corresponding to the host bus adapter HBA card in the system for data transmission;
wherein the analyzing, by the processor, the hardware performance reference information of each host bus adapter HBA card comprises: and calculating the hardware performance reference information of each host bus adapter HBA card according to the reference value and the configuration information of each host bus adapter HBA card by taking the hardware configuration information of any host bus adapter HBA card as a reference value.
12. The network device according to claim 11, wherein the step of the processor obtaining hardware configuration information of all host bus adapter HBA cards in the system comprises:
sending request information for inquiring a host bus adapter HBA card list to a system; receiving host bus adapter HBA card list information returned by the system according to the request information for inquiring the host bus adapter HBA card list; inquiring the hardware configuration information of each host bus adapter HBA card in a list from a system according to the list information of the host bus adapter HBA cards; and acquiring the hardware configuration information of each host bus adapter HBA card returned by the system.
13. The network device according to claim 11 or 12, wherein the step of the processor selecting a path corresponding to the host bus adapter HBA card in the system for data transmission comprises:
selecting a path corresponding to a host bus adapter HBA card with the best hardware performance from all host bus adapter HBA cards of the system for data transmission; or, the paths are allocated in proportion for data transmission.
14. The network device of claim 13, wherein the hardware configuration information comprises a fibre channel link rate a, a queue depth b, and a direct memory access size c;
the reference value is the product of a, b and c corresponding to the selected host bus adapter HBA card;
the step of calculating the hardware performance reference information of each host bus adapter HBA card by the processor according to the reference value and the configuration information of each host bus adapter HBA card comprises the following steps: and respectively calculating the ratio of the product of a, b and c corresponding to each host bus adapter HBA card to the reference value to obtain the hardware performance reference information of each host bus adapter HBA card.
15. The network device according to claim 14, wherein the step of the processor selecting the path corresponding to the host bus adapter HBA card with the best hardware performance for data transmission comprises:
determining the host bus adapter HBA card with the highest ratio as the host bus adapter HBA card with the best hardware performance, and selecting a path corresponding to the determined host bus adapter HBA card for data transmission;
the step of the processor allocating the paths in proportion for data transmission comprises the following steps:
and distributing the paths for data transmission by taking the ratio corresponding to each host bus adapter HBA card as the proportion size.
16. A data transmission system comprising an application server and a storage system, the application server comprising a network device according to any one of claims 11 to 15, data transmission between the application server and the storage system being controlled by the network device.
CN201310511619.4A 2013-10-25 2013-10-25 A kind of data transmission method, relevant apparatus and data transmission system Active CN103559155B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310511619.4A CN103559155B (en) 2013-10-25 2013-10-25 A kind of data transmission method, relevant apparatus and data transmission system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310511619.4A CN103559155B (en) 2013-10-25 2013-10-25 A kind of data transmission method, relevant apparatus and data transmission system

Publications (2)

Publication Number Publication Date
CN103559155A CN103559155A (en) 2014-02-05
CN103559155B true CN103559155B (en) 2016-09-14

Family

ID=50013405

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310511619.4A Active CN103559155B (en) 2013-10-25 2013-10-25 A kind of data transmission method, relevant apparatus and data transmission system

Country Status (1)

Country Link
CN (1) CN103559155B (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105739911B (en) * 2014-12-12 2018-11-06 华为技术有限公司 Store distribution method, device and the storage system of data
CN113535525A (en) * 2020-04-15 2021-10-22 哲库科技(北京)有限公司 Tracking message transmission method, electronic device and storage medium

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5522050A (en) * 1993-05-28 1996-05-28 International Business Machines Corporation Bus-to-bus bridge for a multiple bus information handling system that optimizes data transfers between a system bus and a peripheral bus
CN101258725A (en) * 2005-09-08 2008-09-03 国际商业机器公司 Load distribution in storage area networks
CN101741831A (en) * 2008-11-10 2010-06-16 国际商业机器公司 Dynamic physical and virtual multipath input/output method, system and device

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4845982B2 (en) * 2009-03-05 2011-12-28 株式会社日立製作所 Information processing apparatus and management method of configuration information acquired from storage system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5522050A (en) * 1993-05-28 1996-05-28 International Business Machines Corporation Bus-to-bus bridge for a multiple bus information handling system that optimizes data transfers between a system bus and a peripheral bus
CN101258725A (en) * 2005-09-08 2008-09-03 国际商业机器公司 Load distribution in storage area networks
CN101741831A (en) * 2008-11-10 2010-06-16 国际商业机器公司 Dynamic physical and virtual multipath input/output method, system and device

Also Published As

Publication number Publication date
CN103559155A (en) 2014-02-05

Similar Documents

Publication Publication Date Title
CN109218355B (en) Load balancing engine, client, distributed computing system and load balancing method
CN106899680B (en) The fragment treating method and apparatus of multi-tiling chain
CN105940377B (en) Methods, systems, and computer readable media for cloud-based virtualization orchestrators
US9904566B2 (en) Selecting virtual machine placement by computing network link utilization and link variance
CN106471779B (en) Virtual network protection method and device
CN103179217A (en) Load balancing method and device applicable to WEB application server group
US20160196073A1 (en) Memory Module Access Method and Apparatus
CN102984085A (en) Mapping method and device
CN110069337A (en) A kind of method and apparatus that disaster tolerance degrades
CN109614228B (en) Comprehensive monitoring front-end system based on dynamic load balancing mode and working method
CN106375102A (en) Service registration method, application method and correlation apparatus
CN114979024A (en) Computing power network transaction method and device, computer readable medium and electronic equipment
CN113452758A (en) Service access method and device
CN114301980A (en) Method, device and system for scheduling container cluster and computer readable medium
CN103559155B (en) A kind of data transmission method, relevant apparatus and data transmission system
CN109587068A (en) Flow switching method, device, equipment and computer readable storage medium
CN109831467B (en) Data transmission method, equipment and system
CN114064288B (en) Data link allocation method, device and equipment for distributed storage system
CN110493040A (en) The design method and device of airborne network
CN113630327B (en) Flow control method and device, electronic equipment and computer readable medium
CN104468337A (en) Message transmission method and device, message management center device and data centers
CN110247847A (en) The method and apparatus of source routing are returned between node
CN115878309A (en) Resource allocation method, device, processing core, equipment and computer readable medium
CN115114009A (en) Data query method, master node and slave nodes
CN112486876B (en) Distributed bus architecture method and device and electronic equipment

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant