CN113721853A - NVMe (network video Me) -based multi-path load balancing implementation method - Google Patents

NVMe (network video Me) -based multi-path load balancing implementation method Download PDF

Info

Publication number
CN113721853A
CN113721853A CN202111014628.3A CN202111014628A CN113721853A CN 113721853 A CN113721853 A CN 113721853A CN 202111014628 A CN202111014628 A CN 202111014628A CN 113721853 A CN113721853 A CN 113721853A
Authority
CN
China
Prior art keywords
bit
disk
name
hex
value
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.)
Granted
Application number
CN202111014628.3A
Other languages
Chinese (zh)
Other versions
CN113721853B (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.)
Whale Cloud Technology Co Ltd
Original Assignee
Whale Cloud 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 Whale Cloud Technology Co Ltd filed Critical Whale Cloud Technology Co Ltd
Priority to CN202111014628.3A priority Critical patent/CN113721853B/en
Publication of CN113721853A publication Critical patent/CN113721853A/en
Application granted granted Critical
Publication of CN113721853B publication Critical patent/CN113721853B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/062Securing storage systems
    • G06F3/0622Securing storage systems in relation to access
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Abstract

The invention discloses a method for realizing multi-path load balancing based on NVMe, which comprises the following steps: adding configuration items of bandwidth, IOPS and name in the configuration of the server; encoding the character string in the name and generating a 20-bit hex value; acquiring an MAC address in a server network card by using a server to form a 12-bit string, and performing operation; converting the operation result into a numerical value in a 32-system scale, and performing block coding to regenerate a new 12-bit string; combining the new 12-bit string with the 20-bit hex value as a globally unique name for the disk; the client performs reverse resolution on the globally unique name of the disk. Has the advantages that: the invention increases the limitation of IOPS and bandwidth on the disk, and the users can perform resource isolation of storage performance, thereby ensuring the reliability of the resources of each user in a multi-user scene.

Description

NVMe (network video Me) -based multi-path load balancing implementation method
Technical Field
The invention relates to the field of storage protocols, in particular to a method for realizing multi-path load balancing based on NVMe.
Background
Storage is one of the cores of the IT hardware infrastructure. With the increasing popularization of SSDs based on Flash and a new generation of PCM solid state storage, the storage performance is higher and higher, and meanwhile, the density of the solid state storage is higher and higher, so that the storage capacity and the performance of a single server are over-surpassed. It is not possible to fully exploit its value for a single application.
SCSI (Small Computer System Interface) relies on the TCP protocol, which is expensive, and thus its performance is not good under normal configuration. iSER is still extended based on SCSI storage protocol and thus is still limited in the organization of the protocol stack by limitations of the SCSI protocol, such as number of queues, depth, etc. There is still a large protocol overhead when the performance reaches hundreds of thousands of IOPS.
For the reasons stated above and due to the need for future NVM storage functionality requirements, the NVMe over Fabrics protocol arose.
However, the multi-path function in NVMe over Fabrics in Linux has no load balancing function, which is not beneficial to performance improvement in multi-link. Meanwhile, the NGUID of the disk and the name of the disk are not defined in the server. After the client is connected with the server, the client renames the disk in an nvme mode according to the kernel rule. Thus, in a wide range of applications, the client cannot know which disk is specifically used. Is not conducive to large-scale commercial use. And NVMe over Fabrics under Linux has no function of controlling the performance of a disk, so that the performance requirements of different users are not isolated under a large-scale use environment.
An effective solution to the problems in the related art has not been proposed yet.
Disclosure of Invention
Aiming at the problems in the related art, the invention provides a method for realizing multi-path load balancing based on NVMe, so as to overcome the technical problems in the prior related art.
Therefore, the invention adopts the following specific technical scheme:
a method for realizing multi-path load balancing based on NVMe comprises the following steps:
s1, adding configuration items of bandwidth, IOPS and name in the configuration of the server;
s2, encoding the character string in the name and generating a hex value with 20 bits;
s3, obtaining the MAC address in the server network card by using the server to form a 12-bit string, and performing amplification bit operation on each character in the 12-bit string;
s4, converting the operation result into a 32-system numerical value, and performing block coding to regenerate a new 12-bit string;
s5, combining the new 12-bit character string and the 20-bit hex value into a globally unique name of the disk (wwn);
s6, the client reversely resolves the globally unique name of the disk, and uses the resolved globally unique identifier (NGUID) as the name of the disk.
Furthermore, in S1, the configuration items of the bandwidth and the configuration items of the IOPS are both composed of numbers, the configuration items of the name are composed of english letters and numbers, and the total length of the character string is less than or equal to 12 bits.
Further, the configuration item for increasing the bandwidth in the configuration of the server in S1 further includes that the server performs IO bandwidth limitation according to the set bandwidth size, where the step of performing IO bandwidth limitation by the server according to the set bandwidth size includes:
acquiring a main equipment number and a secondary equipment number of a disk according to a disk path;
confirming a disk device in a system kernel by using the primary device number and the secondary device number;
the read bandwidth and write bandwidth of the disk device are limited.
Further, the encoding the character string in the name and generating the 20-bit hex value in S2 further includes the following steps:
s21, dividing every two character strings in the name from right to left into a group of double character strings, and if the length of the character strings in the name is odd, finally reserving single character strings at high positions;
s22, encoding the single character string into a 3-bit hex value according to a single character encoding table;
s23, encoding the double-character string into a 3-bit hex value by adopting an encoding formula;
s24, combining 3-bit hex values generated by all character strings into a hex value with the length of 18 bits, and supplementing 0 at the front end if the value is less than 18 bits;
s25, supplementing the hex value with 18 bit length to the front end with 2 bit FF value to form the hex value with 20 bit length.
Further, the coding formula is as follows:
the hex value is 3 x the single character hex value of the high character string in the double character string + the single character hex value of the low character string in the double character string.
Further, the formula of the operation of the amplification bit is as follows:
hash=uint64(c)+(hash<<4)+(hash<<10)–hash。
further, the step of converting the operation result into a 32-ary number in S4, and performing block coding to regenerate a new 12-bit string includes the following steps:
s41, converting the operation result into a 32-system numerical value by using a 32-system definition;
s42, acquiring the first 8-bit 32-system code in the 32-system numerical value;
s43, splitting the 8-bit 32-system code into 4 groups of 2-bit 32-system codes, and converting each group of 2-bit 32-system codes into 3-bit hex values by using a coding formula;
s44, converting the 4 groups of 32-bit system numerical values into hex values and recombining into a new 12-bit string.
Further, the combining the new 12-bit string and the 20-bit hex value as the globally unique name of the disk in S5 (wwn) includes the client re-defining the globally unique name of the disk using the device manager, and combining the new 12-bit string and the 20-bit hex value as the globally unique name of the disk.
Further, the client multipath software uses a globally unique name (wwn) as the unique identifier for the disk.
Further, the step of reversely resolving the globally unique name of the disk by the client in S6, and using the resolved globally unique identifier (NGUID) as the name of the disk includes:
s61, the client configures multi-path software to reversely analyze the global unique name (wwn) to obtain the hex value of the MAC address and the 18-bit hex value of the disk name;
s62, reversely analyzing the 18-bit hex values of the disk names, and splitting the 18-bit hex values into 6 groups of 3-bit hex values according to the 3-bit group;
and S63, analyzing the 3-bit hex value, and combining all the character strings obtained by analysis to obtain the name of the disk.
The invention has the beneficial effects that:
(1) the invention increases the limitation of IOPS and bandwidth on the disk, and the users can perform resource isolation of storage performance, thereby ensuring the reliability of the resources of each user in a multi-user scene; the resource performance of a single user is not interfered by other users.
(2) The NGUID adopted by the invention uses the MAC address of the server to carry out an amplification bit operation formula, so that the uniqueness of the universal unique identification code is ensured, and meanwhile, the MAC address is not exposed, thereby improving the safety.
(3) Compared with the traditional 2-bit hex coding table, the length of the character string is increased by adopting the 3-bit hex coding table definition; and the name of the disk is defined by adopting a 3-bit hex code table, so that the NGUID is more readable, and a user can analyze the name of the disk according to the NGUID.
(4) The Linux distribution system has the advantages that the Linux self-carrying udev and the multipath software multpath are used as the configuration for load balancing, extra software does not need to be installed, the application range is wide, and all Linux distribution versions can be used.
Drawings
In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings needed in the embodiments will be briefly described below, and it is obvious that the drawings in the following description are only some embodiments of the present invention, and it is obvious for those skilled in the art to obtain other drawings without creative efforts.
Fig. 1 is a schematic flowchart of an implementation method for NVMe-based multipath load balancing according to an embodiment of the present invention;
FIG. 2 is a flowchart illustrating BW/IOPS restrictions of a disk in an implementation method based on NVMe multi-path load balancing according to an embodiment of the present invention;
FIG. 3 is a flow chart of a principle of disk BW/IOPS restriction in an implementation method based on NVMe multi-path load balancing according to an embodiment of the present invention;
fig. 4 is a schematic diagram illustrating a principle of an NVMe multipath load balancing-based implementation method according to an embodiment of the present invention.
Detailed Description
For further explanation of the various embodiments, the drawings which form a part of the disclosure and which are incorporated in and constitute a part of this specification, illustrate embodiments and, together with the description, serve to explain the principles of operation of the embodiments, and to enable others of ordinary skill in the art to understand the various embodiments and advantages of the invention, and, by reference to these figures, reference is made to the accompanying drawings, which are not to scale and wherein like reference numerals generally refer to like elements.
According to the embodiment of the invention, an implementation method for multi-path load balancing based on NVMe is provided.
Referring to the drawings and the detailed description, the present invention is further described, as shown in fig. 1 and fig. 4, according to an embodiment of the present invention, a method for implementing NVMe over Fabrics multipath load balancing based on NGUID includes the following steps:
s1, adding configuration items of bandwidth, IOPS and name in the configuration of the server (wherein, the name is an essential configuration item);
in one embodiment, the configuration items of the bandwidth and the configuration items of the IOPS in S1 are both composed of numbers, the configuration items of the name are composed of english letters and numbers, and the total length of the character string is less than or equal to 12 bits, wherein the unit size of the bandwidth is bytes (bytes).
As shown in fig. 2 and fig. 3, in an embodiment, the configuration item for increasing bandwidth in the configuration of the server in S1 further includes that the server performs IO bandwidth limitation according to the set bandwidth size, where the step of performing IO bandwidth limitation by the server according to the set bandwidth size includes:
acquiring a main equipment number and a secondary equipment number of a disk according to a disk path;
confirming a disk device in a system kernel by using the primary device number and the secondary device number;
the read bandwidth and write bandwidth of the disk device are limited.
Specifically, the server limits the IO bandwidth of the block device in response in the blkio subsystem of the linux kernel according to the set bandwidth, where the primary device number indicates a driver corresponding to the device, and the secondary device number indicates a device driven by the driver. The combination of the primary device number and the secondary device number can identify a disk device in the linux kernel.
Further, by writing "master number" into the blkio. Device number, bandwidth size (in bytes) "to limit the read bandwidth of the device; by writing "master number" into a blkio. Device number, bandwidth size (in bytes) ", to limit the write bandwidth of the device. By writing "master number" to the blkio. Device number, bandwidth size (in bytes) "to limit the device's read IOPS; by writing "master device number" into the blkio. Device number, bandwidth size (in bytes) ", to limit the write IOPS of the device.
S2, encoding the character string in the name and generating a hex value with 20 bits;
in one embodiment, the encoding the character string in the name and generating the 20-bit hex value in S2 further includes:
s21, dividing every two character strings in the name from right to left into a group of double character strings, and if the length of the character strings in the name is odd, finally reserving single character strings at high positions;
s22, encoding the single character string into 3-bit hex value according to the single character encoding table (shown in Table 1);
s23, encoding the double-character string into a 3-bit hex value by adopting an encoding formula;
s24, combining 3-bit hex values generated by all character strings into a hex value with the length of 18 bits, and supplementing 0 at the front end if the value is less than 18 bits;
s25, supplementing the hex value with 18 bits length with FF value with 2 bits at the front end to form the hex value with 20 bits length (format: xxxx-xxxx-xxxxxxxxxx, 4-4-12).
Table 1 single character encoding table
Figure BDA0003239995430000061
Figure BDA0003239995430000071
In one embodiment, the encoding formula is:
the hex value is 3 x the single character hex value of the high character string in the double character string + the single character hex value of the low character string in the double character string.
For example: the character string is "1A", where the high-order character is 1, the unit character code table value of 1 is 001, the single character string code table value of a is 00A, and the final code value is 3F 001+00A ═ 04A.
S3, obtaining the MAC address in the server network card by using the server to form a 12-bit string, and performing amplification bit operation on each character in the 12-bit string;
in one embodiment, the formula of the amplified bit operation is:
hash=uint64(c)+(hash<<4)+(hash<<10)–hash。
s4, converting the operation result into a 32-system numerical value, and performing block coding to regenerate a new 12-bit string;
in one embodiment, the converting the operation result into a 32-ary number in S4, and performing block coding to regenerate a new 12-bit string includes the following steps:
s41, converting the operation result into a 32-system numerical value by using a 32-system definition;
s42, acquiring the first 8-bit 32-system code in the 32-system numerical value;
s43, splitting the 8-bit 32-system code into 4 groups of 2-bit 32-system codes, and converting each group of 2-bit 32-system codes into 3-bit hex values by using a coding formula;
s44, converting 4 groups of 32-bit numerical values into hex values and recombining into a new 12-bit string (format: xxxxxxxx-xxxx.8-4).
Here, the 32-system is defined as BASE32 ═ 0123456789 abcdefghijklmnopqrstuvwyyz.
S5, combining the new 12-bit character string and the 20-bit hex value into a globally unique name of the disk (wwn);
and combining xxxxxxxxxx-xxxx (8-4) of the MAC address and xxxx-xxxx-xxxxxxxxxxxxxx (4-4-12) of the name to form a UUID of xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxxxxx (8-4-4-12) as the NGUID.
The client redefines the globally unique name of the NVMe disk (wwn) using the device manager (udev), and uses the NGUID of the disk as the globally unique name of the disk (wwn).
In one embodiment, the combining the new 12-bit string and the 20-bit hex value as the globally unique name of the disk in S5 (wwn) includes the client re-defining the globally unique name of the disk using the device manager (wwn) and combining the new 12-bit string and the 20-bit hex value as the globally unique name of the disk (wwn).
In one embodiment, the client multipath software uses a globally unique name (wwn) as the unique identifier for the disk.
S6, the client reversely resolves the globally unique name of the disk, and uses the resolved globally unique identifier (NGUID) as the name of the disk.
In one embodiment, the step of reversely resolving the globally unique name of the disk by the client in S6, and using the resolved globally unique identifier (NGUID) as the name of the disk includes the following steps:
s61, the client configures multi-path software to reversely analyze the global unique name (wwn) to obtain the hex value of the MAC address and the 18-bit hex value of the disk name;
s62, reversely analyzing the 18-bit hex values of the disk names, and splitting the 18-bit hex values into 6 groups of 3-bit hex values according to the 3-bit group;
and S63, analyzing the 3-bit hex value, and combining all the character strings obtained by analysis to obtain the name of the disk.
Wherein, the 3-bit hex value is resolved according to the following formula:
the 3-bit hex value/3F is a quotient … … remainder, the quotient is reversely resolved by using a single character encoding table to obtain an upper single character, the remainder is reversely resolved by using the single character encoding table to obtain a lower single character, and the two upper characters and the lower character form a two-bit character.
For example: 04A/3F is 001 … … 00A, 001 is the quotient used to resolve the single character "1" in reverse using the single character encoding table, and the remainder 00A resolves the single character "a" in reverse using the single character encoding table, and finally "1A" is obtained.
Interpretation of technical terms:
NVMe: NVM Express is an open collection of standards and information to fully demonstrate the advantages of non-volatile memory in all types of computing environments from mobile devices to data centers.
NVMe over Fabrics: architectural specifications for accessing storage devices and systems through ethernet, fibre channel, InfiniBand and other network architectures.
And NGUID: for NVMe devices, NGUID is a namespace globally unique identifier using EUI 6416 byte indicator format.
Load balancing: is a computer networking technology used to distribute load among multiple computers (computer clusters), network connections, CPUs, disk drives, or other resources for the purpose of optimizing resource usage, maximizing throughput, minimizing response time, while avoiding overload.
The Server SAN is a storage resource pool formed by the storage of a plurality of independent Server belts, and has good cost performance and expansibility.
UUID: abbreviation of universal Unique Identifier (universal Unique Identifier).
BW: bandwidth, herein mainly referred to as the bandwidth of the disk.
IOPS: the method is a measurement method for testing the performance of the computer storage equipment and can be regarded as the read-write times per second.
In summary, by means of the above technical solution of the present invention, the limitation of IOPS and bandwidth on the disk is increased, and the user can perform resource isolation of storage performance, thereby ensuring the reliability of resources of each user in a multi-user scenario; the resource performance of a single user is not interfered by other users.
In addition, the NGUID adopted by the invention uses the MAC address of the server to carry out an amplification bit operation formula, thereby ensuring the uniqueness of the universal unique identification code and simultaneously ensuring that the MAC address is not exposed, thereby improving the safety.
In addition, the length of the character string is increased compared with the traditional 2-bit hex coding table by adopting the 3-bit hex coding table definition; and the name of the disk is defined by adopting a 3-bit hex code table, so that the NGUID is more readable, and a user can analyze the name of the disk according to the NGUID.
In addition, by adopting the configuration of using Linux self-contained udev and multipath software multpath as load balancing, no additional software needs to be installed, the application range is wide, and all Linux distribution versions can be used.
The above description is only for the purpose of illustrating the preferred embodiments of the present invention and is not to be construed as limiting the invention, and any modifications, equivalents, improvements and the like that fall within the spirit and principle of the present invention are intended to be included therein.

Claims (10)

1. An NVMe multi-path load balancing based implementation method is characterized by comprising the following steps:
s1, adding configuration items of bandwidth, IOPS and name in the configuration of the server;
s2, encoding the character string in the name and generating a hex value with 20 bits;
s3, obtaining the MAC address in the server network card by using the server to form a 12-bit string, and performing amplification bit operation on each character in the 12-bit string;
s4, converting the operation result into a 32-system numerical value, and performing block coding to regenerate a new 12-bit string;
s5, combining the new 12-bit character string and the 20-bit hex value into a globally unique name of the disk;
s6, the client reversely resolves the globally unique name of the disk, and takes the resolved globally unique identifier as the name of the disk.
2. The NVMe multi-path load balancing-based implementation method of claim 1, wherein the configuration items of the bandwidth and the configuration items of the IOPS in S1 are both composed of numbers, the configuration items of the names are composed of English letters and numbers, and the total length of the character string is less than or equal to 12 bits.
3. The NVMe multipath load balancing based implementation method of claim 1, wherein the configuration item for increasing the bandwidth in the configuration of the server in S1 further includes that the server performs IO bandwidth limitation according to the set bandwidth size, wherein the step of performing IO bandwidth limitation by the server according to the set bandwidth size includes:
acquiring a main equipment number and a secondary equipment number of a disk according to a disk path;
confirming a disk device in a system kernel by using the primary device number and the secondary device number;
the read bandwidth and write bandwidth of the disk device are limited.
4. The method for implementing NVMe multi-path load balancing according to claim 1, wherein the step of encoding the character string in the name and generating the 20-bit hex value in S2 further comprises the steps of:
s21, dividing every two character strings in the name from right to left into a group of double character strings, and if the length of the character strings in the name is odd, finally reserving single character strings at high positions;
s22, encoding the single character string into a 3-bit hex value according to a single character encoding table;
s23, encoding the double-character string into a 3-bit hex value by adopting an encoding formula;
s24, combining 3-bit hex values generated by all character strings into a hex value with the length of 18 bits, and supplementing 0 at the front end if the value is less than 18 bits;
s25, supplementing the hex value with 18 bit length to the front end with 2 bit FF value to form the hex value with 20 bit length.
5. The NVMe multi-path load balancing based implementation method according to claim 4, wherein the encoding formula is as follows:
the hex value is 3 x the single character hex value of the high character string in the double character string + the single character hex value of the low character string in the double character string.
6. The NVMe multi-path load balancing-based implementation method of claim 1, wherein the formula of the amplification bit operation is as follows:
hash=uint64(c)+(hash<<4)+(hash<<10)–hash。
7. the NVMe multi-path load balancing based implementation method of claim 1 or 5, wherein the step of converting the operation result into a 32-ary number in S4 and performing block coding to regenerate a new 12-bit string comprises the following steps:
s41, converting the operation result into a 32-system numerical value by using a 32-system definition;
s42, acquiring the first 8-bit 32-system code in the 32-system numerical value;
s43, splitting the 8-bit 32-system code into 4 groups of 2-bit 32-system codes, and converting each group of 2-bit 32-system codes into 3-bit hex values by using a coding formula;
s44, converting the 4 groups of 32-bit system numerical values into hex values and recombining into a new 12-bit string.
8. The method of claim 1, wherein the combining the new 12-bit string and the 20-bit hex value into the globally unique name of the disk in S5 comprises the client using a device manager to redefine the globally unique name of the disk and combining the new 12-bit string and the 20-bit hex value into the globally unique name of the disk.
9. The NVMe multi-path load balancing-based implementation method of claim 8, wherein the client multi-path software uses a globally unique name as the unique identifier of a disk.
10. The NVMe multipath load balancing based implementation method according to claim 1, wherein the step of performing reverse parsing on the globally unique name of the disk by the client in S6, and using the globally unique identifier obtained through parsing as the name of the disk includes the following steps:
s61, the client configures multi-path software to reversely analyze the global unique name to obtain a hex value of the MAC address and an 18-bit hex value of the disk name;
s62, reversely analyzing the 18-bit hex values of the disk names, and splitting the 18-bit hex values into 6 groups of 3-bit hex values according to the 3-bit group;
and S63, analyzing the 3-bit hex value, and combining all the character strings obtained by analysis to obtain the name of the disk.
CN202111014628.3A 2021-08-31 2021-08-31 NVMe (network video Me) -based multi-path load balancing implementation method Active CN113721853B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111014628.3A CN113721853B (en) 2021-08-31 2021-08-31 NVMe (network video Me) -based multi-path load balancing implementation method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111014628.3A CN113721853B (en) 2021-08-31 2021-08-31 NVMe (network video Me) -based multi-path load balancing implementation method

Publications (2)

Publication Number Publication Date
CN113721853A true CN113721853A (en) 2021-11-30
CN113721853B CN113721853B (en) 2022-08-30

Family

ID=78679974

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111014628.3A Active CN113721853B (en) 2021-08-31 2021-08-31 NVMe (network video Me) -based multi-path load balancing implementation method

Country Status (1)

Country Link
CN (1) CN113721853B (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105573807A (en) * 2015-12-31 2016-05-11 清华大学苏州汽车研究院(吴江) ECU online program upgrading system and method based on CAN bus
CN105704255A (en) * 2016-04-29 2016-06-22 浙江理工大学 Server load balancing method based on genetic algorithm
CN106155567A (en) * 2015-02-11 2016-11-23 旺宏电子股份有限公司 Storage arrangement and operational approach thereof
CN106572165A (en) * 2016-10-26 2017-04-19 宜人恒业科技发展(北京)有限公司 Distributed global unique ID application method
CN108093095A (en) * 2017-12-13 2018-05-29 清华大学 Address character string with short name word is converted to the method and device of IPv6 addresses
CN110297608A (en) * 2019-06-28 2019-10-01 潍柴动力股份有限公司 Processing method, device and the storage medium of data

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106155567A (en) * 2015-02-11 2016-11-23 旺宏电子股份有限公司 Storage arrangement and operational approach thereof
CN105573807A (en) * 2015-12-31 2016-05-11 清华大学苏州汽车研究院(吴江) ECU online program upgrading system and method based on CAN bus
CN105704255A (en) * 2016-04-29 2016-06-22 浙江理工大学 Server load balancing method based on genetic algorithm
CN106572165A (en) * 2016-10-26 2017-04-19 宜人恒业科技发展(北京)有限公司 Distributed global unique ID application method
CN108093095A (en) * 2017-12-13 2018-05-29 清华大学 Address character string with short name word is converted to the method and device of IPv6 addresses
CN110297608A (en) * 2019-06-28 2019-10-01 潍柴动力股份有限公司 Processing method, device and the storage medium of data

Also Published As

Publication number Publication date
CN113721853B (en) 2022-08-30

Similar Documents

Publication Publication Date Title
US10503679B2 (en) NVM express controller for remote access of memory and I/O over Ethernet-type networks
US10063638B2 (en) NVM express controller for remote access of memory and I/O over ethernet-type networks
US20170031964A1 (en) Rollover Strategies in a N-Bit Dictionary Compressed Column Store
CN111090628A (en) Data processing method and device, storage medium and electronic equipment
US20140189269A1 (en) System and Method for Virtual Tape Library Over S3
CN108027713A (en) Data de-duplication for solid state drive controller
WO2023096118A1 (en) Data input and output method using storage node-based key-value store
CN112286714A (en) Method and system for improving big data analysis throughput in NAND-based read source storage
US11733867B2 (en) System and method for multiple pass data compaction utilizing delta encoding
CN104007938B (en) Key assignments generation method and device in storage network
US11928335B2 (en) System and method for data compaction utilizing mismatch probability estimation
CN1976299A (en) Method and system of managing application log configuration settings
US9870168B1 (en) Key-value store with internal key-value storage interface
CN113721853B (en) NVMe (network video Me) -based multi-path load balancing implementation method
CN111522514B (en) Cluster file system, data processing method, computer equipment and storage medium
US11334487B2 (en) Cache sharing in virtual clusters
CN108845892A (en) Data processing method, device, equipment and the computer storage medium of distributed data base
US20230283292A1 (en) System and method for data compaction and security with extended functionality
US11868616B2 (en) System and method for low-distortion compaction of floating-point numbers
US9396023B1 (en) Methods and systems for parallel distributed computation
US11487465B2 (en) Method and system for a local storage engine collaborating with a solid state drive controller
US11243890B2 (en) Compressed data verification
US9811545B1 (en) Storage of sparse files using parallel log-structured file system
US7099930B1 (en) System using truncated superior resource name and unique counter number obtained from a global counter for generating a unique subordinate resource name
CN114115735B (en) Method and device for writing data

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
GR01 Patent grant
GR01 Patent grant