CN113542412B - Data transmission method, device, electronic equipment and storage medium - Google Patents

Data transmission method, device, electronic equipment and storage medium Download PDF

Info

Publication number
CN113542412B
CN113542412B CN202110805400.XA CN202110805400A CN113542412B CN 113542412 B CN113542412 B CN 113542412B CN 202110805400 A CN202110805400 A CN 202110805400A CN 113542412 B CN113542412 B CN 113542412B
Authority
CN
China
Prior art keywords
read
scsi
write
write instruction
iscsi
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
CN202110805400.XA
Other languages
Chinese (zh)
Other versions
CN113542412A (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.)
Tianyi Cloud Technology Co Ltd
Original Assignee
Tianyi 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 Tianyi Cloud Technology Co Ltd filed Critical Tianyi Cloud Technology Co Ltd
Priority to CN202110805400.XA priority Critical patent/CN113542412B/en
Publication of CN113542412A publication Critical patent/CN113542412A/en
Application granted granted Critical
Publication of CN113542412B publication Critical patent/CN113542412B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2212/00Encapsulation of packets

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Communication Control (AREA)

Abstract

The disclosure provides a data transmission method, a data transmission device, electronic equipment and a storage medium. The data transmission method comprises the following steps: receiving a read-write data packet sent by a client through a TCP/IP network; analyzing the read-write data packet based on the user state to obtain an iSCSI read-write instruction; analyzing the iSCSI read-write instruction to obtain a SCSI read-write instruction; and sending the SCSI read-write instruction to target storage equipment so as to execute read-write operation according to the SCSI read-write instruction. The method realizes the full user mode of the protocol stack, greatly reduces the network IO path and avoids the interaction between the user mode and the kernel mode.

Description

Data transmission method, device, electronic equipment and storage medium
Technical Field
The disclosure relates to the technical field of distributed storage, and in particular relates to a data transmission method, a data transmission device, electronic equipment and a storage medium.
Background
The distributed storage is to store data in a scattered way on a plurality of independent devices, and adopts an extensible system structure, and the storage load is shared by a plurality of storage servers.
In the related art, a technology of operating in a kernel mode or overlapping user space input/output (UIO) on the basis of the kernel mode is adopted for distributed block storage, so that semi-user mode is realized, the performance is poor, and the expandability is low.
It should be noted that the information disclosed in the above background section is only for enhancing understanding of the background of the present disclosure and thus may include information that does not constitute prior art known to those of ordinary skill in the art.
Disclosure of Invention
The invention aims to provide a data transmission method, a device, electronic equipment and a storage medium, wherein the data transmission method realizes the full user mode of a protocol stack, the network IO path is greatly reduced, and the interaction between a user mode and a kernel mode is avoided.
Other features and advantages of the present disclosure will be apparent from the following detailed description, or may be learned in part by the practice of the disclosure.
The embodiment of the disclosure provides a data transmission method, which comprises the following steps: receiving a read-write data packet sent by a client through a TCP/IP network; analyzing the read-write data packet based on the user state to obtain an iSCSI read-write instruction; analyzing the iSCSI read-write instruction to obtain a SCSI read-write instruction; and sending the SCSI read-write instruction to target storage equipment so as to execute read-write operation according to the SCSI read-write instruction.
In some exemplary embodiments of the present disclosure, the above method further comprises: generating a SCSI response after executing the SCSI read-write instruction; encapsulating the SCSI response to obtain an iSCSI response; the iSCSI response is returned to the client over a TCP/IP network.
In some exemplary embodiments of the present disclosure, receiving a data packet sent by a client over a TCP/IP network includes: receiving a data packet sent by a network card of the client based on a producer thread; analyzing the data packet based on the user mode to obtain an iSCSI read-write instruction, which comprises the following steps: and analyzing the data packet based on the producer thread to obtain an iSCSI read-write instruction.
In some exemplary embodiments of the present disclosure, sending the SCSI read and write instruction to a target storage device includes: and sending the SCSI read-write instruction to the target storage device based on the consumer thread.
In some exemplary embodiments of the present disclosure, the producer Thread is a PMD Thread and the consumer Thread is a Work Thread.
In some exemplary embodiments of the present disclosure, the above method further comprises: receiving a control request data packet sent by a client through a TCP/IP network; analyzing the control request data packet to obtain a control request; and determining a target storage device corresponding to the control request.
An embodiment of the present disclosure provides a data transmission device, including: the data packet receiving module is used for receiving a read-write data packet sent by the client through a TCP/IP network; the data packet analysis module is used for analyzing the read-write data packet based on the user state to obtain an iSCSI read-write instruction; the instruction obtaining module is used for analyzing the iSCSI read-write instruction to obtain a SCSI read-write instruction; and the instruction sending module is used for sending the SCSI read-write instruction to target storage equipment so as to execute read-write operation according to the SCSI read-write instruction.
An embodiment of the present disclosure provides a data transmission device, including: the response generation module is used for generating a SCSI response after executing the SCSI read-write instruction; the response encapsulation module is used for encapsulating the SCSI response to obtain an iSCSI response; and the response return module is used for returning the iSCSI response to the client through a TCP/IP network.
An embodiment of the present disclosure provides an electronic device, including: at least one processor; and a storage device for storing at least one program which, when executed by the at least one processor, causes the at least one processor to implement any one of the data transmission methods described above.
The disclosed embodiments provide a computer-readable storage medium having a computer program stored thereon, characterized in that the computer program, when executed by a processor, implements any of the above-described data transmission methods.
The data transmission method provided by the embodiment of the disclosure realizes the full user mode of the protocol stack, greatly reduces the network IO path and avoids interaction between the user mode and the kernel mode; simultaneously supporting a larger iSCSI link, and configurable and customized authentication; by utilizing the VF characteristic of the network card and adopting a PMD efficient datagram receiving and transmitting mode, the bandwidth/message receiving and transmitting capability of the network card is fully exerted. In addition, compared with the traditional whole column storage, the method is easier to expand and easy to deploy.
It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the disclosure.
Drawings
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the disclosure and together with the description, serve to explain the principles of the disclosure. It will be apparent to those of ordinary skill in the art that the drawings in the following description are merely examples of the disclosure and that other drawings may be derived from them without undue effort.
Fig. 1 is a flow chart illustrating a data transmission method according to an exemplary embodiment.
Fig. 2 is a diagram illustrating an IO system processing diagram according to an example.
Fig. 3 is a flow chart illustrating a data transmission method according to an exemplary embodiment.
Fig. 4 is a flow chart illustrating a data transmission method according to an exemplary embodiment.
Fig. 5 is a block diagram illustrating a data transmission apparatus according to an exemplary embodiment.
Fig. 6 is a schematic diagram of an electronic device according to an exemplary embodiment.
Detailed Description
Example embodiments will now be described more fully with reference to the accompanying drawings. However, the exemplary embodiments may be embodied in many forms and should not be construed as limited to the examples set forth herein; rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the concept of the example embodiments to those skilled in the art. The described features, structures, or characteristics may be combined in any suitable manner in one or more embodiments.
Furthermore, the drawings are merely schematic illustrations of the present disclosure and are not necessarily drawn to scale. The same reference numerals in the drawings denote the same or similar parts, and thus a repetitive description thereof will be omitted. Some of the block diagrams shown in the figures are functional entities and do not necessarily correspond to physically or logically separate entities. These functional entities may be implemented in software or in one or more hardware modules or integrated circuits or in different networks and/or processor devices and/or microcontroller devices.
Fig. 1 is a flow chart illustrating a data transmission method according to an exemplary embodiment.
As shown in fig. 1, the data transmission method provided by the embodiment of the present disclosure may include the following steps.
In step S102, the read/write data packet sent by the client is received through a TCP/IP (Transmission Control Protocol/Internet Protocol ) network.
Fig. 2 is a diagram illustrating an IO (Input/Output) system process according to an example.
Referring to fig. 2, an IO system of an embodiment of the present disclosure may include an iSCSI (Internet Small Computer System Interface ) initiator, a Target, and a storage cluster, and the iSCSI initiator may include App (application) IO, VFS (Virtual File System ), file system (file system), block IO, IO schedule SCSI upper, SCSI mid, and SCSI low.
The iSCSI technology may combine the existing SCSI interface with the Ethernet (Ethernet) technology, and connect the iSCSI server (Target) and the client (Initiator) based on the TCP/IP protocol, so that the encapsulated SCSI data packet may be transmitted over the general internet, and finally, the iSCSI server is mapped into a storage space (disk) and provided for the client after the connection authentication.
Wherein, the upper layer can adopt the shared memory technology, the receiving and transmitting queue of the network card is directly exposed to the user mode, bypass kernel mode; the mid layer can convert TCP/IP protocol into iSCSI protocol, and further complete the analysis of iSCSI protocol, and convert into CLIENT universal identifiable request; the low layer can adopt CAS (Central Authentication Service ) and thread kernel-splitting lock-free data distribution scheme, so that the processing capacity of the target is greatly increased, and the cost of the target client is reduced. The request may be sent to a different storage system using the CLIENT's data translation function.
In an exemplary embodiment, the data packets sent by the client's network card may be received based on the producer thread.
Wherein the producer thread may be a PMD thread.
In step S104, the read-write data packet is parsed based on the user mode, and the iSCSI read-write instruction is obtained.
In an exemplary embodiment, the iSCSI read/write instructions are obtained based on the producer thread parsing the data packets.
Referring to FIG. 2, the PMD thread may receive network packets in a user mode scenario and parse out iSCSI instructions in the user mode scenario.
In step S106, the iSCSI read/write command is parsed to obtain the SCSI read/write command.
With continued reference to FIG. 2, the PMD thread may parse the iSCSI instruction packet into SCSI instructions and then perform related operations (e.g., read-write operations, etc.) based on the operation code of the SCSI instructions.
In step S108, a SCSI read/write command is sent to the target storage device to perform a read/write operation according to the SCSI read/write command.
In an exemplary embodiment, SCSI read-write instructions are sent to a target storage device based on a consumer thread.
The consumer Thread may be a Work Thread, and the target storage device may be a block device, for example, a hard disk in a storage cluster.
With continued reference to FIG. 2, embodiments of the present disclosure may employ a CAS multi-core lock-free consumer producer model. The Work Thread is a consumer Thread, mainly consumes a request generated by the PMD Thread, processes the SCSI instruction, splits data according to a certain rule, and then sends the request to the storage device according to a routing rule. The Work Thread may use ring buffer.
In the embodiment of the disclosure, after the SCSI read/write instruction is sent to the target storage device, the target storage device may perform the read/write operation according to the SCSI read/write instruction.
In the embodiment of the disclosure, a PMD module, an interface function library module, an STGT module, and a CLIENT module may be configured to accomplish the above functions.
The PMD module can be used for completing the receiving and sending of the request of the VF queue of the network card, and placing the request into the LITNET module queue after receiving the request; the LIBNET module can complete analysis of a TCP/IP protocol stack on the basis of a user mode, and after analyzing the TCP/IP protocol stack into a request of an iSCSI protocol or CMD, the request is put into a storage module queue; after receiving the request from the queue, the target in the STGT module completes the request analysis of the iSCSI data format, analyzes the request into a universal data format and sends the universal data format to the CLIENT module; the CLIENT module can interface with the back-end storage request to mainly complete the conversion of the data format so as to interface with different back-end storages.
The data transmission method provided by the embodiment of the disclosure realizes the full user mode of the protocol stack, greatly reduces the network IO path and avoids interaction between the user mode and the kernel mode; simultaneously supporting a larger iSCSI link, and configurable and customized authentication; by utilizing the VF characteristic of the network card and adopting a PMD efficient datagram receiving and transmitting mode, the bandwidth/message receiving and transmitting capability of the network card is fully exerted. In addition, compared with the traditional whole column storage, the method is easier to expand and easy to deploy.
Fig. 3 is a flow chart illustrating a data transmission method according to an exemplary embodiment.
As shown in fig. 3, the data transmission method provided by the embodiment of the present disclosure may include the following steps.
In step S302, after the SCSI read and write instruction is executed, a SCSI response is generated.
In the embodiment of the disclosure, after the target storage device executes the SCSI read-write instruction, a SCSI Response (Response) may be generated and returned to the CLIENT module; the CLIENT can read Response information from the kernel, analyze out the relevant information needed by SCSI and transmit the information to the Target.
In step S304, the SCSI response is encapsulated to obtain an iSCSI response.
In the embodiment of the disclosure, the Target may encapsulate the SCSI command into an iSCSI command, and send the command to the CLIENT module, where it is sent to the remote end.
In step S306, an iSCSI response is returned to the client over the TCP/IP network.
In the embodiment of the disclosure, the CLIENT module may encapsulate the iSCSI response into TCP related information, generate a network message, and store the request to the network card queue; after the network card NIC (Network Interface Controller ) receives the request, the request is sent to the remote end via the physical network.
The data transmission method provided by the embodiment of the disclosure can realize the mounting of the high-availability iSCSI block equipment, ensure the quick recovery when the system fails, ensure the zero perception of the user service and greatly improve the performance.
Fig. 4 is a flow chart illustrating a data transmission method according to an exemplary embodiment.
As shown in fig. 4, the data transmission method provided by the embodiment of the present disclosure may include the following steps.
In step S402, a control request packet transmitted from a client is received through a TCP/IP network.
In the embodiment of the disclosure, before performing the read-write operation, a control request data packet sent by the client may be received through a TCP/IP network, where the control request may include an authentication request.
In step S404, the control request packet is parsed to obtain a control request.
In the embodiment of the disclosure, the control request data packet can be parsed to obtain the control request in the universal format.
In step S406, a target storage device corresponding to the control request is determined.
In the embodiment of the disclosure, the target storage device corresponding to the control request can be determined according to the control request. And accessing the determined target storage device during the subsequent read-write operation.
The following are device embodiments of the present disclosure that may be used to perform method embodiments of the present disclosure. For details not disclosed in the embodiments of the apparatus of the present disclosure, please refer to the embodiments of the method of the present disclosure.
Fig. 5 is a block diagram illustrating a data transmission apparatus according to an exemplary embodiment.
As shown in fig. 5, the data transmission apparatus 700 may include: a data packet receiving module 702, a data packet parsing module 704, an instruction obtaining module 706 and an instruction sending module 708.
The data packet receiving module 702 is configured to receive a read-write data packet sent by a client through a TCP/IP network; the data packet analysis module 704 is configured to analyze the read-write data packet based on a user state, so as to obtain an iSCSI read-write instruction; the instruction obtaining module 706 is configured to parse the iSCSI read/write instruction to obtain a SCSI read/write instruction; the instruction sending module 708 is configured to send the SCSI read/write instruction to a target storage device, so as to perform a read/write operation according to the SCSI read/write instruction.
In an exemplary embodiment, the data transmission apparatus 700 may further include: the response generation module is used for generating a SCSI response after executing the SCSI read-write instruction; the response encapsulation module is used for encapsulating the SCSI response to obtain an iSCSI response; and the response return module is used for returning the iSCSI response to the client through a TCP/IP network.
In an exemplary embodiment, receiving a data packet sent by a client over a TCP/IP network includes: receiving a data packet sent by a network card of the client based on a producer thread; analyzing the data packet based on the user mode to obtain an iSCSI read-write instruction, which comprises the following steps: and analyzing the data packet based on the producer thread to obtain an iSCSI read-write instruction.
In an exemplary embodiment, sending the SCSI read-write instruction to a target storage device includes: and sending the SCSI read-write instruction to the target storage device based on the consumer thread.
In an exemplary embodiment, the producer Thread is a PMD Thread and the consumer Thread is a Work Thread.
In an exemplary embodiment, the data transmission apparatus 700 may further include: the control request data packet receiving module is used for receiving a control request data packet sent by a client through a TCP/IP network; the control request data packet analysis module is used for analyzing the control request data packet to obtain a control request; and the target storage device determining module is used for determining the target storage device corresponding to the control request.
It should be noted that the block diagrams shown in the above figures are functional entities and do not necessarily correspond to physically or logically separate entities. These functional entities may be implemented in software or in one or more hardware modules or integrated circuits or in different networks and/or processor devices and/or microcontroller devices.
Fig. 6 is a schematic diagram of an electronic device according to an exemplary embodiment. It should be noted that the electronic device shown in fig. 6 is only an example, and should not impose any limitation on the functions and the scope of use of the embodiments of the present disclosure.
As shown in fig. 6, the electronic device 800 includes a Central Processing Unit (CPU) 801 that can perform various appropriate actions and processes according to a program stored in a Read Only Memory (ROM) 802 or a program loaded from a storage section 808 into a Random Access Memory (RAM) 803. In the RAM803, various programs and data required for the operation of the system 800 are also stored. The CPU 801, ROM802, and RAM803 are connected to each other by a bus 804. An input/output (I/O) interface 805 is also connected to the bus 804.
The following components are connected to the I/O interface 805: an input portion 806 including a keyboard, mouse, etc.; an output portion 807 including a display such as a Cathode Ray Tube (CRT), a Liquid Crystal Display (LCD), and a speaker; a storage section 808 including a hard disk or the like; and a communication section 809 including a network interface card such as a LAN card, a modem, or the like. The communication section 809 performs communication processing via a network such as the internet. The drive 810 is also connected to the I/O interface 805 as needed. A removable medium 811 such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, or the like is mounted on the drive 810 as needed so that a computer program read out therefrom is mounted into the storage section 808 as needed.
In particular, according to embodiments of the present disclosure, the processes described above with reference to flowcharts may be implemented as computer software programs. For example, embodiments of the present disclosure include a computer program product comprising a computer program embodied on a computer readable medium, the computer program comprising program code for performing the method shown in the flowcharts. In such an embodiment, the computer program may be downloaded and installed from a network via the communication section 809, and/or installed from the removable media 811. The above-described functions defined in the system of the present disclosure are performed when the computer program is executed by a Central Processing Unit (CPU) 801.
It should be noted that the computer readable medium shown in the present disclosure may be a computer readable signal medium or a computer readable storage medium, or any combination of the two. The computer readable storage medium can be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or a combination of any of the foregoing. More specific examples of the computer-readable storage medium may include, but are not limited to: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the context of this disclosure, a computer-readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device. In the present disclosure, however, the computer-readable signal medium may include a data signal propagated in baseband or as part of a carrier wave, with the computer-readable program code embodied therein. Such a propagated data signal may take any of a variety of forms, including, but not limited to, electro-magnetic, optical, or any suitable combination of the foregoing. A computer readable signal medium may also be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device. Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to: wireless, wire, fiber optic cable, RF, etc., or any suitable combination of the foregoing.
The flowcharts and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present disclosure. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams or flowchart illustration, and combinations of blocks in the block diagrams or flowchart illustration, can be implemented by special purpose hardware-based systems which perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
The units involved in the embodiments of the present disclosure may be implemented by means of software, or may be implemented by means of hardware. The described units may also be provided in a processor, for example, described as: a processor includes a transmitting unit, an acquiring unit, a determining unit, and a first processing unit. The names of these units do not constitute a limitation on the unit itself in some cases, and for example, the transmitting unit may also be described as "a unit that transmits a picture acquisition request to a connected server".
As another aspect, the present disclosure also provides a computer-readable medium that may be contained in the apparatus described in the above embodiments; or may be present alone without being fitted into the device. The computer readable medium carries one or more programs which, when executed by a device, cause the device to include: receiving a read-write data packet sent by a client through a TCP/IP network; analyzing the read-write data packet based on the user state to obtain an iSCSI read-write instruction; analyzing the iSCSI read-write instruction to obtain a SCSI read-write instruction; and sending the SCSI read-write instruction to target storage equipment so as to execute read-write operation according to the SCSI read-write instruction.
Exemplary embodiments of the present disclosure are specifically illustrated and described above. It is to be understood that this disclosure is not limited to the particular arrangements, instrumentalities and methods of implementation described herein; on the contrary, the disclosure is intended to cover various modifications and equivalent arrangements included within the spirit and scope of the appended claims.

Claims (7)

1. A data transmission method, comprising:
receiving a read-write data packet sent by a client based on a PMD thread in a user mode scene through a TCP/IP network, wherein the client comprises a SCSI upper layer, a SCSI middle layer and a SCSI bottom layer, and the SCSI upper layer directly exposes a receiving and transmitting queue of a network card to the user mode by adopting a shared content technology;
analyzing the read-write data packet based on the PMD thread under the user mode scene to obtain an iSCSI read-write instruction;
analyzing the iSCSI read-write instruction to obtain a SCSI read-write instruction;
and sending the SCSI read-write instruction to target storage equipment based on a Work Thread so as to execute read-write operation according to the SCSI read-write instruction.
2. The method as recited in claim 1, further comprising:
generating a SCSI response after executing the SCSI read-write instruction;
encapsulating the SCSI response to obtain an iSCSI response;
the iSCSI response is returned to the client over a TCP/IP network.
3. The method as recited in claim 1, further comprising:
receiving a control request data packet sent by a client through a TCP/IP network;
analyzing the control request data packet to obtain a control request;
and determining a target storage device corresponding to the control request.
4. A data transmission apparatus, comprising:
the system comprises a data packet receiving module, a network interface module and a network interface module, wherein the data packet receiving module is used for receiving read-write data packets sent by a client based on a PMD thread under a user mode scene through a TCP/IP network, the client comprises a SCSI upper layer, a SCSI middle layer and a SCSI bottom layer, and the SCSI upper layer directly exposes a receiving and transmitting queue of a network card to the user mode by adopting a shared content technology;
the data packet analysis module is used for analyzing the read-write data packet based on the PMD thread under the user state scene to obtain an iSCSI read-write instruction;
the instruction obtaining module is used for analyzing the iSCSI read-write instruction to obtain a SCSI read-write instruction;
and the instruction sending module is used for sending the SCSI read-write instruction to the target storage device based on the Work Thread so as to execute read-write operation according to the SCSI read-write instruction.
5. The apparatus as recited in claim 4, further comprising:
the response generation module is used for generating a SCSI response after executing the SCSI read-write instruction;
the response encapsulation module is used for encapsulating the SCSI response to obtain an iSCSI response;
and the response return module is used for returning the iSCSI response to the client through a TCP/IP network.
6. An electronic device, comprising:
at least one processor;
storage means for storing at least one program which, when executed by the at least one processor, causes the at least one processor to implement the method of any one of claims 1 to 3.
7. A computer readable storage medium, on which a computer program is stored, which computer program, when being executed by a processor, implements the method according to any of claims 1 to 3.
CN202110805400.XA 2021-07-16 2021-07-16 Data transmission method, device, electronic equipment and storage medium Active CN113542412B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110805400.XA CN113542412B (en) 2021-07-16 2021-07-16 Data transmission method, device, electronic equipment and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110805400.XA CN113542412B (en) 2021-07-16 2021-07-16 Data transmission method, device, electronic equipment and storage medium

Publications (2)

Publication Number Publication Date
CN113542412A CN113542412A (en) 2021-10-22
CN113542412B true CN113542412B (en) 2024-01-05

Family

ID=78128427

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110805400.XA Active CN113542412B (en) 2021-07-16 2021-07-16 Data transmission method, device, electronic equipment and storage medium

Country Status (1)

Country Link
CN (1) CN113542412B (en)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012152210A1 (en) * 2011-05-11 2012-11-15 北京奇虎科技有限公司 Method and device for executing file operation
CN105472030A (en) * 2015-12-30 2016-04-06 浪潮(北京)电子信息产业有限公司 Remote mirror image method and system based on iSCSI
CN109597582A (en) * 2018-12-03 2019-04-09 郑州云海信息技术有限公司 A kind of data processing method and relevant device
CN111078154A (en) * 2019-12-20 2020-04-28 厦门市超游网络科技股份有限公司 Method and system for quickly loading data
CN111176577A (en) * 2019-12-28 2020-05-19 浪潮电子信息产业股份有限公司 Distributed block storage service command processing method, device, equipment and medium
CN111897492A (en) * 2020-07-15 2020-11-06 杭州海康威视***技术有限公司 Data processing method and device based on block device driver and electronic device
CN112052291A (en) * 2020-09-03 2020-12-08 苏宁云计算有限公司 Method and system for accessing distributed block storage system by user mode
CN112306380A (en) * 2019-08-01 2021-02-02 中移(苏州)软件技术有限公司 Storage management method and device and computer storage medium
CN113067849A (en) * 2021-02-05 2021-07-02 湖南国科亿存信息科技有限公司 Network communication optimization method and device based on Glusterfs

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9262346B2 (en) * 2010-06-21 2016-02-16 Hewlett Packard Enterprises Development LP Prioritizing input/outputs at a host bus adapter

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012152210A1 (en) * 2011-05-11 2012-11-15 北京奇虎科技有限公司 Method and device for executing file operation
CN105472030A (en) * 2015-12-30 2016-04-06 浪潮(北京)电子信息产业有限公司 Remote mirror image method and system based on iSCSI
CN109597582A (en) * 2018-12-03 2019-04-09 郑州云海信息技术有限公司 A kind of data processing method and relevant device
CN112306380A (en) * 2019-08-01 2021-02-02 中移(苏州)软件技术有限公司 Storage management method and device and computer storage medium
CN111078154A (en) * 2019-12-20 2020-04-28 厦门市超游网络科技股份有限公司 Method and system for quickly loading data
CN111176577A (en) * 2019-12-28 2020-05-19 浪潮电子信息产业股份有限公司 Distributed block storage service command processing method, device, equipment and medium
CN111897492A (en) * 2020-07-15 2020-11-06 杭州海康威视***技术有限公司 Data processing method and device based on block device driver and electronic device
CN112052291A (en) * 2020-09-03 2020-12-08 苏宁云计算有限公司 Method and system for accessing distributed block storage system by user mode
CN113067849A (en) * 2021-02-05 2021-07-02 湖南国科亿存信息科技有限公司 Network communication optimization method and device based on Glusterfs

Non-Patent Citations (7)

* Cited by examiner, † Cited by third party
Title
iscsi target IET架构;指尖的舞曲;《https://developer.aliyun.com/article/296889》;全文 *
iscsi target tgt架构;weixin_34185320;《https://blog.csdn.net/weixin_34185320/article/details/86390323?spm=1001.2101.3001.6650.1&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1-86390323-blog-122668475.235%5Ev38%5Epc_relevant_anti_vip_base&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1-86390323-blog-122668475.235%5Ev38%5Epc_relevant_anti_vip_base&utm_relevant_index=2》;全文 *
iSCSI(一) iSCSI详解 及 iSCSI配置;shangyuanlang;CSDN https://blog.csdn.net/shangyuanlang/article/details/80696692;正文第1-4页 *
iSCSI-SAN网络异构存储***管理策略的研究;向东;《博士电子期刊出版信息》(第2期);全文 *
shangyuanlang.iSCSI(一) iSCSI详解 及 iSCSI配置.CSDN https://blog.csdn.net/shangyuanlang/article/details/80696692.2018,正文第1-4页. *
客户端通过iscsi使用glusterfs;JackLiu16;https://blog.csdn.net/JackLiu16/article/details/83380291;正文第1-2页 *
生产者消费者模式_技术人生;willis_sun;https://blog.51cto.com/willis/1902591;正文第1-2页 *

Also Published As

Publication number Publication date
CN113542412A (en) 2021-10-22

Similar Documents

Publication Publication Date Title
CN112165532B (en) Node access method, device, equipment and computer readable storage medium
CN107635027B (en) Domain name resolution method, medium, device and computing equipment
US20130054841A1 (en) Multiple i/o request processing in a storage system
US20230118176A1 (en) Data transmission method and apparatus, computer-readable storage medium, electronic device, and computer program product
CN112532673B (en) Message sending method and device, computer readable storage medium and electronic equipment
WO2023065749A1 (en) Distributed database embedding method and apparatus, and device and storage medium
CN115550687A (en) Three-dimensional model scene interaction method, system, equipment, device and storage medium
CN113596017A (en) Protocol analysis method, device, soft gateway and storage medium
CN114201317B (en) Data transmission method and device, storage medium and electronic equipment
CN113765867B (en) Data transmission method, device, equipment and storage medium
CN113422669B (en) Data transmission method, device and system, electronic equipment and storage medium
CN113542412B (en) Data transmission method, device, electronic equipment and storage medium
CN109358820B (en) Data access method and device, electronic equipment and computer readable storage medium
CN110889880A (en) Map processing method, device, equipment and storage medium
CN113849449A (en) Communication system and information interaction method, device and medium
CN111355629B (en) Client test method and device, computer equipment and storage medium
US11797277B2 (en) Neural network model conversion method server, and storage medium
CN111835686A (en) Data compression method, data decompression method, data compression device, data decompression device, electronic equipment and storage medium
CN113572809B (en) Single request source multi-target source data communication method, computer equipment and storage medium
CN113660063B (en) Spatial audio data processing method and device, storage medium and electronic equipment
WO2021226965A1 (en) Resource processing method and apparatus, electronic device and storage medium
CN112511528B (en) Streaming media distribution method, system, server and storage medium
CN117519728A (en) Container mirror image deployment method, system, device, equipment and storage medium
CN114237590A (en) Data request method, device, medium and electronic equipment
CN117193631A (en) Disk management method, device, equipment and storage medium based on libvirt

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
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20220129

Address after: 100007 room 205-32, floor 2, building 2, No. 1 and No. 3, qinglonghutong a, Dongcheng District, Beijing

Applicant after: Tianyiyun Technology Co.,Ltd.

Address before: No.31, Financial Street, Xicheng District, Beijing, 100033

Applicant before: CHINA TELECOM Corp.,Ltd.

GR01 Patent grant
GR01 Patent grant