WO2024051259A1 - 数据处理方法及装置 - Google Patents

数据处理方法及装置 Download PDF

Info

Publication number
WO2024051259A1
WO2024051259A1 PCT/CN2023/101002 CN2023101002W WO2024051259A1 WO 2024051259 A1 WO2024051259 A1 WO 2024051259A1 CN 2023101002 W CN2023101002 W CN 2023101002W WO 2024051259 A1 WO2024051259 A1 WO 2024051259A1
Authority
WO
WIPO (PCT)
Prior art keywords
address
data
interface card
storage
processed
Prior art date
Application number
PCT/CN2023/101002
Other languages
English (en)
French (fr)
Inventor
向光友
张鹏
崔文林
Original Assignee
华为技术有限公司
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 华为技术有限公司 filed Critical 华为技术有限公司
Publication of WO2024051259A1 publication Critical patent/WO2024051259A1/zh

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation

Definitions

  • the present application relates to the field of data storage, and in particular, to a data processing method and device.
  • computing nodes for example, computing nodes may include business servers, personal computers, etc.
  • storage nodes for example, storage nodes may be storage servers, etc. device
  • This application provides a data processing method and device for efficiently and conveniently realizing data reading/writing from computing nodes to storage nodes.
  • a data processing method includes: an interface card of a computing node receives a write request from an application, and the write request carries data to be processed.
  • the interface card sends a network packet whose destination address is the first address.
  • the network message carries the data to be processed, the first address is used to indicate the storage unit of the data to be processed in the storage node, and the network message is used to write the data to be processed into the storage unit.
  • the interface card and the storage node communicate through the network.
  • this method by assigning a network address to the storage unit in the storage node (that is, addressing the location information of the storage unit in the storage node into the network address), in this way, the computing node can send network messages (The destination address of the network message indicates the storage unit in the storage node), the data is written into the storage unit of the storage node, that is, the addressing capability of the network layer is used to achieve access to the storage node.
  • this method can simplify the front-end protocol conversion process on the computing node side and the back-end protocol conversion process on the storage node side, thereby reducing system resource consumption in the data reading and writing process.
  • the method further includes: the interface card allocates a storage unit in a storage node for the data to be processed.
  • the computing node can manage the storage resources in the storage node.
  • the first address includes at least one of a first address segment, a second address segment, and a third address segment; wherein the first address segment is used to identify the storage node, and the third address segment is used to identify the storage node.
  • the second address segment is used to identify the hard disk in the storage node used to store the data to be processed, and the second address segment is used to identify the storage unit in the hard disk used to store the data to be processed.
  • the network packet can be forwarded to the storage node smoothly according to the first address; by including the second address segment in the first address, the storage node can be The interface card of the storage node can determine the hard disk in the storage node used to store the data to be processed according to the first address; by including the third address segment in the first address, the interface card of the storage node can determine according to the first address. Remove the storage unit in the hard disk for storing the data to be processed.
  • the first address includes a fourth address segment; the fourth address segment is used to instruct the data to be processed to be written into the storage unit.
  • the interface card of the storage node can determine that the network message is a network message for data writing, so as to subsequently read the network message. of data to be processed, writing the data to be processed into the storage unit corresponding to the first address, and other tasks.
  • the first address is an Internet Protocol version 6 IPv6 address.
  • a data processing method includes: an interface card of a storage node receives a network message from a computing node whose destination address is the first address; the network message carries data to be processed; the interface card with the compute node Communicate through the network. The interface card determines the storage unit in the storage node corresponding to the first address. The interface card writes the data to be processed into the storage unit.
  • the interface card of the storage node receives the After receiving the network message, the storage unit of the data to be processed in the storage node can be determined according to the destination address of the network message. That is, the storage unit of the data to be processed in the storage node can be determined by using the addressing capability of the network layer, so as to achieve Access to storage unit.
  • the above method can simplify the front-end protocol conversion process on the computing node side and the back-end protocol conversion process on the storage node side, thereby reducing system resource consumption in the data reading and writing process.
  • the interface card determines the storage unit in the storage node corresponding to the first address, including: the interface card determines the network report based on the first address segment in the first address.
  • the message is a network message sent to the storage node.
  • the interface card determines the hard disk in the storage node used to store the data to be processed according to the second address segment in the first address.
  • the interface card determines a storage unit in the hard disk used to store the data to be processed based on the third address segment in the first address.
  • the first address segment used to indicate the storage node, the second address segment used to determine the hard disk in the storage node, and the third address segment used to determine the storage unit in the hard disk are combined into the first address. Therefore, the network message can be successfully forwarded to the storage node according to the first address, and the hard disk in the storage node used to store the data to be processed can be determined according to the first address, and the hard disk for storing the data to be processed can be determined according to the first address.
  • the method further includes: the interface card determines, according to the fourth address segment in the first address, that the network message is used to write the data to be processed into the storage unit.
  • the interface card of the storage node can determine that the network message is a network message for data writing, so as to subsequently read the network message. of data to be processed, writing the data to be processed into the storage unit corresponding to the first address, and other tasks.
  • a data processing method includes: an interface card of a computing node receives a read request from an application; the read request is used to request to read data to be processed.
  • the interface card sends a network message whose destination address is a first address; the first address is used to indicate the storage unit of the data to be processed in the storage node, and the network message is used to read the storage unit
  • the data to be processed in the interface card communicates with the storage node through the network.
  • the interface card receives the data to be processed from the storage node.
  • this method by assigning a network address to the storage unit in the storage node (that is, addressing the location information of the storage unit in the storage node into the network address), in this way, the computing node can send network messages (The destination address of the network message indicates the storage unit in the storage node), the data stored in the storage node is read, that is, the addressing capability of the network layer is used to achieve access to the storage node.
  • this method can simplify the front-end protocol conversion process on the computing node side and the back-end protocol conversion process on the storage node side, thereby reducing system resource consumption in the data reading and writing process.
  • the first address includes at least one of a first address segment, a second address segment, and a third address segment; wherein the first address segment is used to identify the storage node, and the third address segment is used to identify the storage node.
  • the second address segment is used to identify the hard disk in the storage node used to store the data to be processed, and the second address segment is used to identify the storage unit in the hard disk used to store the data to be processed.
  • the network packet can be forwarded to the storage node smoothly according to the first address; by including the second address segment in the first address, the storage node can be The interface card of the storage node can determine the hard disk in the storage node used to store the data to be processed according to the first address; by including the third address segment in the first address, the interface card of the storage node can determine according to the first address. Remove the storage unit in the hard disk for storing the data to be processed.
  • the first address includes a fourth address segment; the fourth address segment is used to indicate that the network message is used to write the data to be processed into the storage unit.
  • the interface card of the storage node can determine that the network message is a network message for data writing, so as to subsequently read the network message. of data to be processed, writing the data to be processed into the storage unit corresponding to the first address, and other tasks.
  • the first address is an Internet Protocol version 6 IPv6 address.
  • a data processing method includes: an interface card of a storage node receives a network message from a computing node whose destination address is the first address; and the interface card communicates with the computing node through the network.
  • the interface card determines the storage unit in the storage node corresponding to the first address.
  • the interface card sends the data to be processed stored in the storage unit to the computing node.
  • the interface card of the storage node receives the After receiving the network message, the storage unit of the data to be processed in the storage node can be determined according to the destination address of the network message. That is, the storage unit of the data to be processed in the storage node can be determined by using the addressing capability of the network layer, so as to achieve Access to storage unit.
  • the above method can simplify the front-end protocol conversion process on the computing node side and the back-end protocol conversion process on the storage node side, thereby reducing system resource consumption in the data reading and writing process.
  • the interface card determines the storage unit in the storage node corresponding to the first address, including: the interface card determines the network report based on the first address segment in the first address.
  • the text is a network message sent to the storage node; the interface card determines the hard disk in the storage node used to store the data to be processed according to the second address segment in the first address; the interface The card determines the storage unit in the hard disk used to store the data to be processed according to the third address segment in the first address.
  • the first address segment used to indicate the storage node, the second address segment used to determine the hard disk in the storage node, and the third address segment used to determine the storage unit in the hard disk are combined into the first address. Therefore, the network message can be successfully forwarded to the storage node according to the first address, and the hard disk in the storage node used to store the data to be processed can be determined according to the first address, and the hard disk for storing the data to be processed can be determined according to the first address.
  • the method further includes: the interface card determines, according to the fourth address segment in the first address, that the network message is used to write the data to be processed into the storage unit.
  • the interface card of the storage node can determine that the network message is a network message for data writing, so as to subsequently read the network message. of data to be processed, writing the data to be processed into the storage unit corresponding to the first address, and other tasks.
  • a fifth aspect provides an interface card, which is applied to a computing node in a storage system.
  • the interface card includes: a processing unit configured to receive a write request from an application; the write request carries data to be processed.
  • a communication unit configured to send a network message whose destination address is a first address; the network message carries the data to be processed, and the first address is used to indicate the storage of the data to be processed in the storage node. unit, the network message is used to write the data to be processed into the storage unit; the interface card communicates with the storage node through the network.
  • the processing unit is also used to allocate storage units in storage nodes for the data to be processed.
  • the first address includes at least one of a first address segment, a second address segment, and a third address segment; wherein the first address segment is used to identify the storage node, and the third address segment is used to identify the storage node.
  • the second address segment is used to identify the hard disk in the storage node used to store the data to be processed, and the second address segment is used to identify the storage unit in the hard disk used to store the data to be processed.
  • the first address includes a fourth address segment; the fourth address segment is used to instruct the data to be processed to be written into the storage unit.
  • the first address is an Internet Protocol version 6 IPv6 address.
  • an interface card is provided.
  • the interface card is applied to a storage node in a storage system.
  • the interface card includes: a communication unit configured to receive a network message from a computing node whose destination address is the first address; Network messages carry data to be processed; the interface card communicates with the computing node through the network.
  • a processing unit configured to determine the storage unit in the storage node corresponding to the first address.
  • a processing unit configured to write the data to be processed into the storage unit.
  • the processing unit is configured to determine the storage unit in the storage node corresponding to the first address, including: the processing unit is configured to determine the storage unit according to the first address segment in the first address. , determining that the network message is a network message sent to the storage node; the processing unit is configured to determine, according to the second address segment in the first address, that the storage node is used to store the A hard disk containing data to be processed; the processing unit is configured to determine a storage unit in the hard disk for storing the data to be processed according to the third address segment in the first address.
  • the processing unit is further configured to determine the network packet according to the fourth address segment in the first address.
  • the file is used to write the data to be processed into the storage unit.
  • an interface card is provided.
  • the interface card is applied to a computing node in a storage system.
  • the interface card includes: a processing unit for receiving a read request from an application; the read request is used to request to read the data to be read. Process data; a communication unit is used to send a network message whose destination address is a first address; the first address is used to indicate the storage unit of the data to be processed in the storage node, and the network message is used to read The data to be processed in the storage unit; the interface card communicates with the storage node through a network; the communication unit is also used to receive the data to be processed from the storage node.
  • the first address includes at least one of a first address segment, a second address segment, and a third address segment; wherein the first address segment is used to identify the storage node, and the third address segment is used to identify the storage node.
  • the second address segment is used to identify the hard disk in the storage node used to store the data to be processed, and the second address segment is used to identify the storage unit in the hard disk used to store the data to be processed.
  • the first address includes a fourth address segment; the fourth address segment is used to indicate that the network message is used to write the data to be processed into the storage unit.
  • the first address is an Internet Protocol version 6 IPv6 address.
  • an interface card is provided, the interface card being applied to a storage node in a storage system, the interface card including: a communication unit configured to receive a network message from a computing node whose destination address is the first address; The interface card communicates with the computing node through a network; a processing unit is used to determine the storage unit in the storage node corresponding to the first address; the communication unit is also used to store the data in the storage unit. The data to be processed is sent to the computing node.
  • the processing unit is configured to determine the storage unit in the storage node corresponding to the first address, including: a processing unit, configured to determine based on the first address segment in the first address.
  • the network message is a network message sent to the storage node; a processing unit is configured to determine, according to the second address segment in the first address, the address in the storage node used to store the data to be processed.
  • Hard disk a processing unit, configured to determine a storage unit in the hard disk for storing the data to be processed according to the third address segment in the first address.
  • the processing unit is further configured to determine, according to the fourth address segment in the first address, that the network message is used to write the data to be processed into the storage unit.
  • an interface card including a memory and a processor.
  • the memory is used to store computer instructions.
  • the processor is used to call and run the computer instructions from the memory to implement the first aspect as above. Or any implementation in the first aspect or the above second aspect or any implementation in the second aspect or the above third aspect or any implementation in the third aspect or the above fourth aspect or any implementation in the fourth aspect any one of the methods.
  • a chip including a memory and a processor, the memory is used to store computer instructions, and the processor is used to call and run the computer instructions from the memory to implement the above-mentioned first aspect or Any implementation in the first aspect or the above second aspect or any implementation in the second aspect or the above third aspect or any implementation in the third aspect or the above fourth aspect or any implementation in the fourth aspect any one of the methods.
  • a computer-readable storage medium is provided.
  • a computer program is stored in the storage medium.
  • the above-mentioned first aspect or any implementation manner in the first aspect is implemented.
  • a twelfth aspect a computer program product is provided.
  • the computer program product includes instructions. When the instructions are run on a processor, to implement the above-mentioned first aspect or any one of the first aspects or the above-mentioned second aspect.
  • a storage system including at least one computing node and at least one storage node, wherein the at least one computing node is used to perform the above-mentioned first aspect or any implementation of the first aspect or the above-mentioned third aspect.
  • Figure 1 is one of the structural schematic diagrams of a storage system provided by an embodiment of the present application.
  • Figure 2 is a second structural schematic diagram of a storage system provided by an embodiment of the present application.
  • Figure 3 is a schematic flow chart of a data storage method in related technology
  • Figure 4 is one of the schematic flow diagrams of a data processing method provided by an embodiment of the present application.
  • Figure 5 is a second schematic flowchart of a data processing method provided by an embodiment of the present application.
  • Figure 6 is one of the structural schematic diagrams of a network message provided by an embodiment of the present application.
  • Figure 7 is a second structural schematic diagram of a network message provided by an embodiment of the present application.
  • Figure 8 is the third schematic flowchart of a data processing method provided by an embodiment of the present application.
  • Figure 9 is a third structural schematic diagram of a network message provided by an embodiment of the present application.
  • Figure 10 is the fourth schematic structural diagram of a network message provided by an embodiment of the present application.
  • Figure 11 is one of the structural schematic diagrams of an interface card provided by an embodiment of the present application.
  • Figure 12 is a second structural schematic diagram of an interface card provided by an embodiment of the present application.
  • FIG. 1 is a schematic structural diagram of a storage system provided in this embodiment.
  • the storage system 100 may include one or more computing nodes 120 and one or more storage nodes 110 .
  • each computing node 120 can store data on the storage node 110 or read data from the storage node 110.
  • the functions of each computing node 120 and storage node 110 in the storage system 100 can be implemented by various hardware devices.
  • the specific structure of the storage system 100 may be as shown in the storage system 200 in FIG. 2 .
  • the storage system 200 includes one or more computing nodes 220 (three computing nodes are shown in FIG. 2 , but are not limited to computing nodes), and each computing node 220 can communicate with each other.
  • Each computing node 220 may be a computing device.
  • the computing node 220 may be a server, a desktop computer, or a controller of a storage array.
  • the computing node 220 at least includes an interface card 221 , a processor 222 and a memory 223 .
  • the processor 222 may be a central processing unit (CPU), used to process data access requests from outside the computing node 220, or data access requests generated within the computing node 220. For example, when the processor 222 receives write data requests sent by the user, the data in these write data requests will be temporarily stored in the memory 223 . When the total amount of data in the memory 223 reaches a certain threshold, the processor 222 sends the data stored in the memory 223 to the storage node 210 for persistent storage.
  • CPU central processing unit
  • each computing node 220 only shows one CPU 222.
  • the number of CPUs 222 can often be multiple.
  • each CPU 222 may have one or more CPU cores. In this embodiment, there is no limit on the number of CPUs and the number of CPU cores.
  • Memory 223 refers to the internal memory that directly exchanges data with the processor. It can read and write data at any time and very quickly, and serves as a temporary data storage for the operating system or other running programs.
  • the memory 223 may include at least two types of memory.
  • the memory may be a random access memory, a dynamic random access memory (Dynamic Random Access Memory, DRAM), or a storage class memory (Storage Class Memory, SCM).
  • DRAM is a semiconductor memory that, like most Random Access Memory (RAM), is a volatile memory device.
  • SCM is a composite storage technology that combines the characteristics of traditional storage devices and memory. Storage-level memory can provide faster read and write speeds than hard disks, but is slower than DRAM in terms of access speed and cheaper than DRAM in cost. .
  • DRAM and SCM are only exemplary descriptions in this embodiment, and the memory may also include other Random access memory, such as static random access memory (Static Random Access Memory, SRAM), etc.
  • SRAM static random access memory
  • the read-only memory for example, it can be a programmable read-only memory (Programmable Read Only Memory, PROM), an erasable programmable read-only memory (Erasable Programmable Read Only Memory, EPROM), etc.
  • the memory 223 can also be a dual in-line memory module or a dual in-line memory module (Dual In-line Memory Module, DIMM), that is, a module composed of dynamic random access memory (DRAM), or a solid state hard drive ( Solid State Disk (SSD).
  • DIMM Dual In-line Memory Module
  • each computing node 220 may be configured with multiple memories 223 and different types of memories 223 .
  • This embodiment does not limit the number and type of memory 223 .
  • the memory 223 can be configured to have a power-saving function.
  • the power-saving function means that the data stored in the memory 223 will not be lost when the system is powered off and then on again.
  • Memory with a power-saving function is called non-volatile memory.
  • the interface card 22 that is, the network interface card (NIC), is used to communicate with the storage node 210. For example, when the total amount of data in the memory 223 reaches a certain threshold, the computing node 220 can send a request to the storage node 210 through the interface card 221 according to the method provided in this embodiment to persistently store the data.
  • the computing node 220 may also include a bus for communication between components within the computing node 220 .
  • remote storage can be used to implement persistent storage when storing data, so it has less local storage than a conventional server, thus achieving cost and Space saving. However, this does not mean that the computing node 220 cannot have local storage.
  • the computing node 220 may also have a small number of built-in hard disks or a small number of external hard disks.
  • Any computing node 220 can access any storage node 210 in the storage node cluster through the network.
  • the storage node cluster includes a plurality of storage nodes 210 (three storage nodes 210 are shown in FIG. 2, but are not limited to three storage nodes 210).
  • a storage node 210 includes one or more controllers 211 , interface cards 212 and multiple hard disks 213 .
  • Interface card 212 is used to communicate with computing node 220.
  • the hard disk 213 is used to store data, and can be a magnetic disk or other types of storage media, such as a solid-state hard disk or a shingled magnetic recording hard disk.
  • the controller 211 is used to write data to the hard disk 213 or read data from the hard disk 213 according to the read/write data request sent by the computing node 220. During the process of reading and writing data, the controller 211 may convert the address carried in the read/write data request into an address that the hard disk can recognize. It can be seen that the controller 211 also has some simple calculation functions.
  • the controller 211 may have various forms.
  • the controller 211 includes a CPU and memory.
  • the CPU is used to perform operations such as address translation and reading and writing data.
  • the memory is used to temporarily store data to be written to the hard disk 213, or data to be read from the hard disk 213 and to be sent to the computing node 220.
  • the controller 211 is a programmable electronic component, such as a data processing unit (DPU).
  • the DPU has the generality and programmability of a CPU, but is more specialized and can run efficiently on network packets, storage requests, or analysis requests. DPUs are distinguished from CPUs by their greater degree of parallelism (the need to handle large numbers of requests).
  • the DPU here can also be replaced with processing chips such as graphics processing unit (GPU) and embedded neural network processor (neural-network processing units, NPU).
  • the number of controllers 211 may be one, two or more.
  • the storage node 210 includes at least two controllers 211, there may be a belonging relationship between the hard disk 213 and the controller 211.
  • each controller can only access the hard disk that belongs to it, so this often involves forwarding read/write data requests between the controllers 211, resulting in a data access path. longer.
  • the functions of the controller 211 can be offloaded to the interface card 212.
  • the storage node 210 may not have a controller 211 inside, but the interface card 212 may complete data reading and writing, address conversion, and other computing functions.
  • the interface card 212 is an intelligent network card. It can contain CPU and memory. The CPU is used to perform operations such as address translation and reading and writing data. The memory is used to temporarily store data to be written to the hard disk 213, or data to be read from the hard disk 213 and to be sent to the computing node 220.
  • the interface card 212 may also be a programmable electronic component, such as a data processing unit (DPU).
  • DPU data processing unit
  • the DPU has the generality and programmability of a CPU, but is more specialized and can run efficiently on network packets, storage requests, or analysis requests. DPUs are distinguished from CPUs by their greater degree of parallelism (the need to handle large numbers of requests).
  • the DPU here can also be replaced by a processing chip such as a graphics processing unit (GPU) or an embedded neural network processing unit (NPU).
  • GPU graphics processing unit
  • NPU embedded neural network processing unit
  • FIG. 2 only provides an exemplary storage system architecture.
  • the storage system can also adopt other architectures.
  • a storage system can consist of one or more servers.
  • each server is a device with both computing capabilities and storage capabilities.
  • Virtual machines can be created on each server.
  • the computing resources required by each virtual machine come from the local processor and memory of the server.
  • the storage resources required by the virtual machine can come from the local hard disk of the server or from other servers. harddisk.
  • various applications can be run in the virtual machine, and users can trigger read/write data requests through the applications in the virtual machine.
  • the virtual machine accesses the storage system as a client.
  • each virtual machine running on the server is equivalent to the computing node 220 in Figure 2.
  • each server can also be used to implement the function of the storage node 210 in Figure 2.
  • the above mainly uses a distributed storage system including multiple storage nodes as an example to introduce the application scenarios of the embodiments of the present application.
  • the relevant description of the distributed storage system should not be understood as a limitation on the framework of the storage system applied in this application.
  • the embodiments of the present application can also be applied to centralized storage systems.
  • a centralized storage system can be understood as a central node composed of one or more master devices. Data is centrally stored in the central node, and the data processing business of the entire system Deployed centrally on the central node. That is to say, the embodiments of the present application may not limit the framework structure of the storage system applying the technical solution provided by the embodiments of the present application.
  • step 220 the application (application, APP) first sends a data storage request (carrying the data to be written and the logical address of the data to be written) to the operating system.
  • the operating system performs front-end protocol conversion according to the corresponding storage protocol, and converts the application's data storage request into a front-end storage protocol request.
  • SAN Storage Area Network
  • NAS Network Attached Storage
  • SAN can specifically include: non-volatile memory standard (non-volatile memory express, NVMe) structure (NVMe over fabric, NOF) and small computer system interface (small computer system interface, SCSI), these two protocols.
  • NVMe non-volatile memory express
  • NOF non-volatile memory express
  • SCSI small computer system interface
  • NAS can include: network file system (NFS) and service message block (SMB), both protocols.
  • NFS network file system
  • SMB service message block
  • the interface card 221 encapsulates the front-end storage protocol request into a network message according to the corresponding network protocol, so as to use the network to send the front-end storage protocol request to the storage node side.
  • network protocols include: Ethernet (ETH), Fiber Channel (FC), and Remote Direct Memory Access (RDMA).
  • the interface card 212 decapsulates the network message to obtain the front-end storage protocol request. Then, the operating system in the storage node 210 uses the corresponding driver protocol (for example, Serial Attached SCSI interface (Serial Attached SCSI, SAS), Serial Advanced Technology Attachment (SATA), and NVMe), Convert front-end storage protocol requests into back-end driver protocol requests, allocate the location on the hard disk where the data is to be written, and write the data to the hard disk through the media index.
  • driver protocol for example, Serial Attached SCSI interface (Serial Attached SCSI, SAS), Serial Advanced Technology Attachment (SATA), and NVMe
  • Convert front-end storage protocol requests into back-end driver protocol requests allocate the location on the hard disk where the data is to be written, and write the data to the hard disk through the media index.
  • the data storage request needs to be converted into a front-end storage protocol request through front-end protocol conversion, and the front-end storage protocol request also needs to be encapsulated in the load of the network message, so that Send the front-end storage protocol to the storage node 210.
  • the network message needs to be decapsulated, the front-end storage protocol request is obtained from the load of the network message, and then the front-end storage protocol request is converted into a back-end driver protocol request in order to provide data for the data. Allocate storage units. This process requires multiple protocol format conversions, is complex to implement, and consumes a large amount of system resources.
  • this embodiment considers that the direct addressing capability of the network can be used to allocate network addresses to the storage units in the storage nodes.
  • the computing node can directly use the addressing capability of the network layer to achieve access to the storage unit (such as reading) by sending a network message whose destination address is the network address corresponding to the storage unit in the storage node. / Write).
  • the computing node 220 when the computing node 220 obtains a read/write request from the application (for example, when the application needs to perform a data read operation), the computing node 220 obtains a read request including the identification of the data to be processed; for another example, when the application needs to perform a data read operation, During the data writing operation, when the computing node 220 obtains a write request including the data to be processed), the computing node 220 sends a network message with the destination address being the first address to the network. The first address is used to indicate the storage unit of the data to be processed in the storage node 210 .
  • the computing node 220 includes a data processing device 2211 for managing data storage.
  • the functions of the data processing device 2211 in Figure 4 can also be implemented by software or hardware modules in the interface card 221.
  • the data processing device 2211 in the interface card 221 is connected to the communication interface 2212 in order to control sending network messages to the network through the communication interface 2212.
  • the functions of the data processing device 2211 can be implemented by software modules in the operating system running on the processor 222 and the memory 223, or the functions of the data processing device 2211 can also be implemented by software modules that are independent of the processor 222 and memory of the computing node 220. 223 and other hardware modules of the interface card 221, and this embodiment may not limit this.
  • the application sends a read/write request to the data processing device 2211 (ie, S301 in Figure 4).
  • the data processing device 2211 determines the first address corresponding to the data to be processed according to the read/write request (ie, S302 in Figure 4).
  • the computing node 220 sends a network packet whose destination address is the above-mentioned first address.
  • the interface card 221 encapsulates the network message according to the first address and sends it (ie, S303 in Figure 4).
  • the switching device in the network (such as a switch or router, etc.) forwards the network packet to the storage node 210 according to the destination address of the network packet (ie, the first address).
  • the storage node 210 can transfer the network packet to the storage node 210 according to the first address. Determine the storage unit in the hard disk and perform read and write operations.
  • the interface card 212 in the storage node 210 determines the storage unit x in the hard disk 213 according to the first address, and completes the read/write operation in the storage unit x (i.e., Figure 4 S304).
  • this embodiment by allocating a network address to the storage unit in the storage node (that is, addressing the location information of the storage unit in the storage node into the network address), in this way, the storage node 210 After receiving the network message, the storage unit of the data to be processed in the storage node 210 can be determined according to the destination address of the network message. That is, the addressing capability of the network layer can be used to determine the location of the data to be processed in the storage node 210. storage unit to enable access to the storage unit.
  • this embodiment can simplify the front-end protocol conversion process on the computing node 220 side and the back-end protocol conversion process on the storage node 210 side, thereby reducing system resource consumption in the data reading and writing process.
  • the method may include:
  • the computing node 220 obtains the write request.
  • the write request carries data to be processed.
  • the data processing device 2211 in the interface card 221 obtains a write request carrying data to be processed from the application.
  • the data processing device 2211 in this embodiment, there is no restriction on the specific form of the software/hardware of the data processing device 2211.
  • the computing node 220 allocates storage unit x in the storage node 210 for the data to be processed.
  • the data processing device 2211 can allocate storage unit x for the data to be processed in the storage node 210, and obtain the storage unit information of storage unit x.
  • the storage unit information may include: the identification of the storage node 210 where the storage unit x is located (such as the access address of the storage node), the identification of the hard disk of the storage unit
  • the identification of the hard disk can be the ID of a logical disk or a physical disk, etc.) and information such as the disk offset of storage unit x on the hard disk.
  • the computing node 220 determines the address a according to the storage unit x.
  • the data processing device 2211 can address and map the storage unit information of the storage unit x to the network address, thereby obtaining the address a.
  • address a may be an Internet Protocol Version 6 (IPv6) address.
  • IPv6 Internet Protocol Version 6
  • address a can be divided into multiple address segments.
  • the first address segment is used to refer to Indicates the identification of the storage node 210 where the storage unit
  • the second address segment can be used to indicate the hard disk ID
  • the third address segment can be used to indicate the disk offset of the storage unit x on the hard disk.
  • address a may also include a fourth address segment.
  • the fourth address segment is used to instruct the data to be processed to be written into the storage unit x (that is, used to instruct a write operation).
  • the computing node 220 sends the network packet 1 whose destination address is address a.
  • network message 1 carries data to be processed.
  • the communication interface 2212 After the data processing device 2211 determines address a, the communication interface 2212 generates a network message 1 whose destination address is address a and carries data to be processed. Afterwards, the communication interface 2212 forwards the network packet 1 to the network, so that the switching device in the network forwards the network packet 1 to the storage node 210 .
  • the structure of the network message 1 is shown in Figure 6.
  • the IP header of network message 1 includes the source address and the destination address.
  • the source address may be the IP address of the computing node 220, and the destination address may be address a.
  • the specific structure of address a has been introduced in detail above.
  • the payload of the network message 1 carries data to be processed.
  • the storage node 210 can determine that the network message 1 is used to address the storage unit x according to the destination address (ie, address a) of the network message 1, so that Perform data read/write operations.
  • a TCP port type may also be predefined, and the TCP port type is used to indicate that the storage unit is addressed according to the destination address of the network message.
  • the destination port in the TCP header of the network message 1 is port p1, and the port p1 is used to indicate that the storage unit is addressed according to the destination address of the network message 1.
  • the storage node 210 can determine that the network message 1 is used according to the destination address of the network message 1 (ie, port p1). Address a) addresses memory location x. Then, the storage node 210 can determine the storage unit x based on the first address segment, the second address segment, and the third address segment in the address a, and determine that a write operation needs to be performed based on the fourth address segment in the address a. Then the storage node 210 writes the data to be processed carried in the payload of the network message 1 into the storage unit x.
  • a TCP port type can also be predefined.
  • the TCP port type is used to indicate addressing the storage unit according to the destination address of the network message 1 and performing a write operation on the storage unit.
  • the destination port in the TCP header of the network message 1 is port p2.
  • Port p2 is used to instruct the storage unit to be addressed according to the destination address of the network message 1 and to perform a write operation on the storage unit. .
  • the storage node 210 can determine that the network message 1 is used according to the destination address of the network message 1 (ie, port p2). Address a) addresses memory location x. Then, the storage node 210 can determine the storage unit x according to the first address segment, the second address segment and the third address segment in the address a. Then the storage node 210 writes the data to be processed carried in the payload of the network message 1 into the storage unit x.
  • the fourth address segment may not be included.
  • the above S402-S403 is based on the case where the computing node 220 can directly allocate and manage the storage unit location when data is written to the storage node 210.
  • the computing node 220 allocates storage units x and The process of determining address a based on memory unit x is introduced.
  • the storage node 210 may also allocate storage units for the data to be processed. For example, after receiving the network message 1, the storage node 210 establishes a corresponding relationship between the address a and the storage unit x. When the storage node 210 allocates a storage unit for the data to be processed, the computing node 220 may not execute the above-mentioned S402-S403.
  • the method may also include:
  • the storage node 210 determines the storage unit x corresponding to address a.
  • the interface card 212 can determine the storage unit information of the storage unit x according to the destination address of the network message 1 (ie, address a). , that is, determine the storage unit x.
  • the storage node 210 writes the data to be processed carried in the network message 1 into the storage unit x.
  • the interface card 212 After receiving the network message 1 shown in Figure 6, the interface card 212 first determines based on the destination port (ie, port p1) of the TCP header that the network message 1 is used to address the storage unit according to the destination address. Then the interface card 212 determines the address according to the first address segment in address a, The second address segment and the third address segment determine the storage unit information of the storage unit x. In addition, the interface card 212 also determines based on the fourth address segment in address a that the network message 1 is used to write the data to be processed carried in the network message 1 into the determined storage unit, and then the interface card 212 determines according to the storage unit Storage unit information of x, write the data to be processed into storage unit x.
  • the destination port ie, port p1
  • the interface card 212 determines the address according to the first address segment in address a
  • the second address segment and the third address segment determine the storage unit information of the storage unit x.
  • the interface card 212 also determines based on
  • the interface card 212 After receiving the network message 1 shown in Figure 7, the interface card 212 first determines based on the destination port (ie, port p1) of the TCP header that the network message 1 is used to address the storage unit according to the destination address, and then The storage unit performs a write operation. Then the interface card 212 determines the storage unit information of the storage unit x according to the first address segment, the second address segment and the third address segment in the address a. Then the interface card 212 writes the data to be processed into the storage unit x according to the storage unit information of the storage unit x.
  • the destination port ie, port p1
  • the method may include:
  • the computing node 220 obtains a read request.
  • the read request is used to read the data to be processed.
  • the read request may carry identifiers such as the logical address of the data to be processed.
  • the data processing device 2211 obtains a read request from an application.
  • the data processing device 2211 in this embodiment, there is no restriction on the specific form of the software/hardware of the data processing device 2211.
  • the computing node 220 determines address b.
  • the address b is used to indicate the storage unit x in the storage node 210 where the data to be processed is.
  • the data processing device 2211 can determine the address b according to the logical address of the data to be processed carried in the read request.
  • the computing node 220 may not execute the content of S502.
  • address b can be an Internet Protocol Version 6 (IPv6) address.
  • IPv6 Internet Protocol Version 6
  • address b can be divided into multiple address segments.
  • the first address segment is used to indicate the identity of the storage node 210 where the storage unit x is located (specifically, the first address segment may be the IPv4 address of the storage node 210); the second address segment is used to indicate the location of the storage node
  • the identification of the hard disk in 210 specifically, the second address segment can be used to indicate the hard disk ID); the third address segment is used to indicate the disk offset of the storage unit x on the hard disk.
  • address b may also include a fourth address segment.
  • the fourth address segment is used to instruct reading of data in storage unit x (that is, used to instruct a read operation).
  • the computing node 220 sends the network packet 2 whose destination address is address b.
  • the communication interface 2212 After the data processing device 2211 determines the address b, the communication interface 2212 generates a network message 2 whose destination address is the address b. Afterwards, the communication interface 2212 forwards the network packet 2 to the network, so that the switching device in the network forwards the network packet 2 to the storage node 210 .
  • the structure of the network message 2 is shown in Figure 9.
  • the IP header of network message 2 includes the source address and the destination address.
  • the source address may be the IP address of the computing node 220, and the destination address may be address b.
  • the specific structure of address b has been introduced in detail above.
  • a TCP port type may also be predefined, and the TCP port type is used to indicate that the storage unit is addressed according to the destination address of the network message 2.
  • the destination port in the TCP header of the network message 2 is port p1, and the port p1 is used to indicate that the storage unit is addressed according to the destination address of the network message 2.
  • the storage node 210 can determine, based on the destination port of the network message 2 (ie, port p1), that the network message 2 is used according to the destination address of the network message 2 (ie, port p1). Address b) addresses memory location x. Then, the storage node 210 can determine the storage unit x based on the first address segment, the second address segment, and the third address segment in the address b, and determine that a read operation needs to be performed based on the fourth address segment in the address b. Then the storage node 210 reads the data in the storage unit x and feeds it back to the computing node 220 .
  • a TCP port type may also be predefined, and the TCP port type is used for Instructs to address the storage unit according to the destination address of network message 2 and perform a read operation on the storage unit.
  • the destination port in the TCP header of the network message 2 is port p3.
  • Port p3 is used to instruct the storage unit to be addressed according to the destination address of the network message 2 and to perform a read operation on the storage unit. .
  • the storage node 210 can determine that the network message 2 is used according to the destination port of the network message 2 (ie, port p3). Address b) addresses memory location x. Then, the storage node 210 can determine the storage unit x according to the first address segment, the second address segment and the third address segment in the address b. Then the storage node 210 reads the data in the storage unit x and feeds it back to the computing node 220 .
  • the method may also include:
  • the storage node 210 determines the storage unit x corresponding to address b.
  • the interface card 212 can determine the storage unit information of the storage unit x according to the destination address of the network message 2 (ie, address b). , that is, determine the storage unit x.
  • the storage node 210 reads the data to be processed in the storage unit x.
  • the interface card 212 After receiving the network message 2 shown in Figure 9, the interface card 212 first determines based on the destination port (ie, port p1) of the TCP header that the network message 2 is used to address the storage unit according to the destination address. Then the interface card 212 determines the storage unit information of the storage unit x according to the first address segment, the second address segment and the third address segment in the address b. In addition, the interface card 212 also determines that the network message 2 is used to read the data in the storage unit according to the fourth address segment in the address b, and then the interface card 212 reads the data in the storage unit x according to the storage unit information of the storage unit x. of data to be processed.
  • the destination port ie, port p1
  • the interface card 212 determines the storage unit information of the storage unit x according to the first address segment, the second address segment and the third address segment in the address b.
  • the interface card 212 also determines that the network message 2 is used to read the data in the storage unit
  • the interface card 212 After receiving the network message 2 shown in Figure 10, the interface card 212 first determines based on the destination port (ie, port p3) of the TCP header that the network message 2 is used to address the storage unit according to the destination address, and then The memory unit performs a read operation. Then the interface card 212 determines the storage unit information of the storage unit x according to the first address segment, the second address segment and the third address segment in the address b. Then the interface card 212 reads the data to be processed in the storage unit x according to the storage unit information of the storage unit x.
  • the destination port ie, port p3
  • the storage node 210 sends the data to be processed to the computing node 220.
  • the interface card 212 encapsulates the data to be processed into a network message 3 and sends it to the computing node 220. Afterwards, after receiving the network message 3, the computing node 220 feeds back the data to be processed carried in the network message 3 to the application.
  • this embodiment also provides an interface card, which can be used to execute some or all of the steps in the above-mentioned data processing method of this embodiment.
  • the interface card includes hardware structures and/or software modules corresponding to each function.
  • the technical solution provided in this embodiment can be implemented in the form of hardware or a combination of hardware and computer software. Whether a certain function is executed by hardware or computer software driving the hardware depends on the specific application scenarios and design constraints of the technical solution.
  • FIG 11 is a schematic structural diagram of an interface card provided in this embodiment.
  • the interface card 60 includes one or more of a communication unit 601 and a processing unit 602 .
  • the data processing device can be used to implement the functions of some or all steps of the interface card 221 or the interface card 212 in the method described in FIG. 4, FIG. 5 or FIG. 8.
  • the communication unit 601 may be used to perform one or more of S303 in Figure 4, S404 in Figure 5, and S503 in Figure 8;
  • the processing unit 602 may be used to perform one or more of S301 and S302 in Figure 4, S401-S403 in Figure 5, and S501 and S502 in Figure 8.
  • the communication unit 601 may be used to perform the functions of receiving network messages from the computing nodes or sending network messages to the computing nodes in Figures 4, 5, and 8;
  • the processing unit 602 may be configured to perform one or more of S304 in Figure 4, S405-S406 in Figure 5, and S504 and S505 in Figure 8.
  • FIG 12 is a schematic structural diagram of another interface card provided by this application.
  • the interface card 70 is used to implement the data processing method provided by this application. Specifically, the interface card can be used to implement some or all of the steps of the interface card 221 or the interface card 212 in the above data processing method. Among them, the interface card 70 includes:
  • the processor 701 is used to execute the data processing method provided by this application.
  • the processor 701 can include a general central processing unit (CPU) and memory.
  • the processor 701 can also be a microprocessor, a field programmable gate array (Field Programmable Gate Array, FPGA) or a specific application integrated Circuit (application-specific integrated circuit, ASIC), etc.
  • the processor 701 includes a CPU and a memory, the CPU executes computer instructions stored in the memory to execute the data processing method provided by this application.
  • the interface card 70 may also include: a memory 702 .
  • Computer instructions are stored in the memory 702, and the processor 701 executes the computer instructions stored in the memory to execute the data processing method provided by this application.
  • the memory 702 can be a read-only memory (ROM) or other types of static storage devices that can store static information and instructions, a random access memory (random access memory, RAM) or can store information and instructions.
  • ROM read-only memory
  • RAM random access memory
  • Other types of dynamic storage devices can also be electrically erasable programmable read-only memory (EEPROM), compact disc read-only memory (CD-ROM) or other optical disk storage , optical disc storage (including compressed optical discs, laser discs, optical discs, digital versatile discs, Blu-ray discs, etc.), magnetic disk storage media or other magnetic storage devices, or can be used to carry or store program codes in the form of instructions or data structures and can be used by Any other media accessible by a computer, but not limited to this.
  • EEPROM electrically erasable programmable read-only memory
  • CD-ROM compact disc read-only memory
  • optical disc storage including compressed optical discs, laser discs, optical discs, digital versatile discs, Blu-ray discs, etc.
  • the interface card 70 may also include: an interface 703.
  • Interface 703 can be used to receive and send data.
  • the interface 702 may be a communication interface or a transceiver, or the like.
  • interface card 70 may also include communication lines 704.
  • communication line 704 may be a data bus used to transmit information between the components described above.
  • the method steps in the embodiments of the present application can be implemented by hardware or by a processor executing software instructions.
  • Software instructions can be composed of corresponding software modules, and the software modules can be stored in RAM, flash memory, ROM, PROM, EPROM, EEPROM, registers, hard disks, mobile hard disks, CD-ROM or any other form of storage media well known in the art.
  • An exemplary storage medium is coupled to the processor such that the processor can read information from the storage medium and write information to the storage medium.
  • the storage medium can also be an integral part of the processor.
  • the processor and storage media may be located in an ASIC. Additionally, the ASIC can be located in network equipment or terminal equipment.
  • the processor and the storage medium can also exist as discrete components in network equipment or terminal equipment.
  • the computer program product includes one or more computer programs or instructions.
  • the computer may be a general purpose computer, a special purpose computer, a computer network, a network device, a user equipment, or other programmable device.
  • the computer program or instructions may be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another.
  • the computer program or instructions may be transmitted from a website, computer, A server or data center transmits via wired or wireless means to another website site, computer, server, or data center.
  • the computer-readable storage medium may be any available medium that can be accessed by a computer or a data storage device such as a server or data center that integrates one or more available media.
  • the available media may be magnetic media, such as floppy disks, hard disks, and magnetic tapes; they may also be optical media, such as digital video discs (DVDs); they may also be semiconductor media, such as SSDs.
  • At least one of (at least one of) means one or any combination of subsequent associated objects, for example, "at least one of A, B, and C” includes A, B, C, AB, AC, BC, or ABC.
  • the character “/” generally indicates that the related objects are an “or” relationship; in the formula of this application, the character “/” indicates that the before and after The associated object is a "division" relationship.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请提供一种数据处理方法及装置,涉及存储领域。该方法包括:计算节点的接口卡接收来自应用的写请求;所述写请求中携带待处理数据。该接口卡发送目的地址为第一地址的网络报文;所述网络报文中携带有所述待处理数据,所述第一地址用于指示所述待处理数据在存储节点中的存储单元,所述网络报文用于将所述待处理数据写入所述存储单元,该接口卡与存储节点通过网络通信。该方法用于高效、便捷的实现计算节点对存储节点的读/写过程。

Description

数据处理方法及装置
本申请要求于2022年9月6日提交中国专利局、申请号为202211082777.8、申请名称为“数据处理方法及装置”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及数据存储领域,尤其涉及一种数据处理方法及装置。
背景技术
目前,为了满足各业务的数据存储需求,现有技术中计算节点(例如,计算节点可以包括业务服务器、个人电脑等设备)可以将数据存储在存储节点中(例如,存储节点可以为存储服务器等设备),并从存储节点上读取数据。
因此,如何高效、便捷的实现计算节点对存储节点的读/写过程,便成为了影响业务运行的重要因素之一。
发明内容
本申请提供一种数据处理方法及装置,用于高效、便捷的实现计算节点对存储节点的数据读/写。
第一方面,提供一种数据处理方法,该方法包括:计算节点的接口卡接收来自应用的写请求,该写请求中携带待处理数据。接口卡发送目的地址为第一地址的网络报文。网络报文中携带有待处理数据,第一地址用于指示待处理数据在存储节点中的存储单元,网络报文用于将待处理数据写入存储单元。其中,接口卡与存储节点通过网络通信。
上述方法中,通过为存储节点中的存储单元分配网络地址(也就是说,将存储单元在存储节点中的位置信息编址到网络地址中),这样一来,计算节点可以通过发送网络报文(该网络报文的目的地址指示存储节点中的存储单元)的方式,将数据写入存储节点的存储单元,即利用网络层的寻址能力实现对存储节点的访问。相比于现有技术,本方法可以简化计算节点侧的前端协议转换过程以及存储节点侧的后端协议转换过程,从而降低数据读写过程中的系统资源消耗。
在一种实现方式中,该方法还包括:所述接口卡为所述待处理数据在存储节点中分配存储单元。
通过上述实现方式,可以实现由计算节点对存储节点中的存储资源进行管理。
在一种实现方式中,第一地址中包括第一地址段、第二地址段和第三地址段中至少一项;其中,所述第一地址段用于标识所述存储节点,所述第二地址段用于标识所述存储节点中用于存储所述待处理数据的硬盘,所述第二地址段用于标识所述硬盘中用于存储所述待处理数据的存储单元。
上述实现方式中,通过在第一地址中包括第一地址段,从而可以按照第一地址将网络报文顺利转发至存储节点;通过在第一地址中包括第二地址段,从而可以使得存储节点的接口卡可以按照第一地址确定出存储节点中用于存储所述待处理数据的硬盘;通过在第一地址中包括第三地址段,从而可以使得存储节点的接口卡可以按照第一地址确定出硬盘中用于存储所述待处理数据的存储单元。
在一种实现方式中,第一地址中包括第四地址段;所述第四地址段用于指示将所述待处理数据写入所述存储单元。
上述实现方式中,通过在第一地址中包括第四地址段,从而可以使得存储节点的接口卡确定网络报文为用于进行数据写入的网络报文,以便后续进行读取网络报文中的待处理数据,将待处理数据写入第一地址对应的存储单元等任务。
在一种实现方式中,第一地址为互联网协议第六版IPv6地址。
第二方面,提供一种数据处理方法,该方法包括:存储节点的接口卡接收来自计算节点的目的地址为第一地址的网络报文;所述网络报文中携带有待处理数据;所述接口卡与所述计算节点 通过网络通信。所述接口卡确定所述第一地址对应的所述存储节点中的存储单元。所述接口卡将所述待处理数据写入所述存储单元。
上述方法中,通过为存储节点中的存储单元分配网络地址(也就是说,将存储单元在存储节点中的位置信息编址到网络地址中),这样一来,存储节点的接口卡在接收到网络报文后,根据网络报文的目的地址便可以确定待处理数据在存储节点中的存储单元,即利用网络层的寻址能力便可以确定待处理数据在存储节点中的存储单元,以便实现对存储单元的访问。上述方法可以简化计算节点侧的前端协议转换过程以及存储节点侧的后端协议转换过程,从而降低数据读写过程中的系统资源消耗。
在一种实现方式中,接口卡确定所述第一地址对应的所述存储节点中的存储单元,包括:所述接口卡根据所述第一地址中的第一地址段,确定所述网络报文为发送至所述存储节点的网络报文。所述接口卡根据所述第一地址中的第二地址段,确定所述存储节点中用于存储所述待处理数据的硬盘。所述接口卡根据所述第一地址中的第三地址段,确定所述硬盘中用于存储所述待处理数据的存储单元。
上述实现方式中,通过将用于指示存储节点的第一地址段、用于确定存储节点中硬盘的第二地址段和用于确定硬盘中存储单元的第三地址段,组合为第一地址。从而可以按照第一地址将网络报文顺利转发至存储节点,并且可以按照第一地址确定出存储节点中用于存储所述待处理数据的硬盘,并且可以按照第一地址确定出硬盘中用于存储所述待处理数据的存储单元。
在一种实现方式中,该方法还包括:所述接口卡根据所述第一地址中的第四地址段,确定所述网络报文用于将所述待处理数据写入所述存储单元。
上述实现方式中,通过在第一地址中包括第四地址段,从而可以使得存储节点的接口卡确定网络报文为用于进行数据写入的网络报文,以便后续进行读取网络报文中的待处理数据,将待处理数据写入第一地址对应的存储单元等任务。
第三方面,提供一种数据处理方法,该方法包括:计算节点的接口卡接收来自应用的读请求;所述读请求用于请求读取待处理数据。所述接口卡发送目的地址为第一地址的网络报文;所述第一地址用于指示所述待处理数据在存储节点中的存储单元,所述网络报文用于读取所述存储单元中的所述待处理数据;所述接口卡与所述存储节点通过网络通信。所述接口卡接收来自所述存储节点的所述待处理数据。
上述方法中,通过为存储节点中的存储单元分配网络地址(也就是说,将存储单元在存储节点中的位置信息编址到网络地址中),这样一来,计算节点可以通过发送网络报文(该网络报文的目的地址指示存储节点中的存储单元)的方式,读取存储节点中存储的数据,即利用网络层的寻址能力实现对存储节点的访问。相比于现有技术,本方法可以简化计算节点侧的前端协议转换过程以及存储节点侧的后端协议转换过程,从而降低数据读写过程中的系统资源消耗。
在一种实现方式中,第一地址中包括第一地址段、第二地址段和第三地址段中至少一项;其中,所述第一地址段用于标识所述存储节点,所述第二地址段用于标识所述存储节点中用于存储所述待处理数据的硬盘,所述第二地址段用于标识所述硬盘中用于存储所述待处理数据的存储单元。
上述实现方式中,通过在第一地址中包括第一地址段,从而可以按照第一地址将网络报文顺利转发至存储节点;通过在第一地址中包括第二地址段,从而可以使得存储节点的接口卡可以按照第一地址确定出存储节点中用于存储所述待处理数据的硬盘;通过在第一地址中包括第三地址段,从而可以使得存储节点的接口卡可以按照第一地址确定出硬盘中用于存储所述待处理数据的存储单元。
在一种实现方式中,第一地址中包括第四地址段;所述第四地址段用于指示所述网络报文用于将所述待处理数据写入所述存储单元。
上述实现方式中,通过在第一地址中包括第四地址段,从而可以使得存储节点的接口卡确定网络报文为用于进行数据写入的网络报文,以便后续进行读取网络报文中的待处理数据,将待处理数据写入第一地址对应的存储单元等任务。
在一种实现方式中,第一地址为互联网协议第六版IPv6地址。
第四方面,提供一种数据处理方法,该方法包括:存储节点的接口卡接收来自计算节点的目的地址为第一地址的网络报文;所述接口卡与所述计算节点通过网络通信。所述接口卡确定所述第一地址对应的所述存储节点中的存储单元。所述接口卡将所述存储单元中存储的待处理数据发送至所述计算节点。
上述方法中,通过为存储节点中的存储单元分配网络地址(也就是说,将存储单元在存储节点中的位置信息编址到网络地址中),这样一来,存储节点的接口卡在接收到网络报文后,根据网络报文的目的地址便可以确定待处理数据在存储节点中的存储单元,即利用网络层的寻址能力便可以确定待处理数据在存储节点中的存储单元,以便实现对存储单元的访问。上述方法可以简化计算节点侧的前端协议转换过程以及存储节点侧的后端协议转换过程,从而降低数据读写过程中的系统资源消耗。
在一种实现方式中,接口卡确定所述第一地址对应的所述存储节点中的存储单元,包括:所述接口卡根据所述第一地址中的第一地址段,确定所述网络报文为发送至所述存储节点的网络报文;所述接口卡根据所述第一地址中的第二地址段,确定所述存储节点中用于存储所述待处理数据的硬盘;所述接口卡根据所述第一地址中的第三地址段,确定所述硬盘中用于存储所述待处理数据的存储单元。
上述实现方式中,通过将用于指示存储节点的第一地址段、用于确定存储节点中硬盘的第二地址段和用于确定硬盘中存储单元的第三地址段,组合为第一地址。从而可以按照第一地址将网络报文顺利转发至存储节点,并且可以按照第一地址确定出存储节点中用于存储所述待处理数据的硬盘,并且可以按照第一地址确定出硬盘中用于存储所述待处理数据的存储单元。
在一种实现方式中,该方法还包括:所述接口卡根据所述第一地址中的第四地址段,确定所述网络报文用于将所述待处理数据写入所述存储单元。
上述实现方式中,通过在第一地址中包括第四地址段,从而可以使得存储节点的接口卡确定网络报文为用于进行数据写入的网络报文,以便后续进行读取网络报文中的待处理数据,将待处理数据写入第一地址对应的存储单元等任务。
第五方面,提供一种接口卡,该接口卡应用于存储系统中的计算节点,所述接口卡包括:处理单元,用于接收来自应用的写请求;所述写请求中携带待处理数据。通信单元,用于发送目的地址为第一地址的网络报文;所述网络报文中携带有所述待处理数据,所述第一地址用于指示所述待处理数据在存储节点中的存储单元,所述网络报文用于将所述待处理数据写入所述存储单元;所述接口卡与所述存储节点通过网络通信。
在一种实现方式中,处理单元还用于为所述待处理数据在存储节点中分配存储单元。
在一种实现方式中,第一地址中包括第一地址段、第二地址段和第三地址段中至少一项;其中,所述第一地址段用于标识所述存储节点,所述第二地址段用于标识所述存储节点中用于存储所述待处理数据的硬盘,所述第二地址段用于标识所述硬盘中用于存储所述待处理数据的存储单元。
在一种实现方式中,第一地址中包括第四地址段;所述第四地址段用于指示将所述待处理数据写入所述存储单元。
在一种实现方式中,第一地址为互联网协议第六版IPv6地址。
第六方面,提供一种接口卡,接口卡应用于存储系统中的存储节点,所述接口卡包括:通信单元,用于接收来自计算节点的目的地址为第一地址的网络报文;所述网络报文中携带有待处理数据;所述接口卡与所述计算节点通过网络通信。处理单元,用于确定所述第一地址对应的所述存储节点中的存储单元。处理单元,用于将所述待处理数据写入所述存储单元。
在一种实现方式中,处理单元,用于确定所述第一地址对应的所述存储节点中的存储单元,包括:所述处理单元,用于根据所述第一地址中的第一地址段,确定所述网络报文为发送至所述存储节点的网络报文;所述处理单元,用于根据所述第一地址中的第二地址段,确定所述存储节点中用于存储所述待处理数据的硬盘;所述处理单元,用于根据所述第一地址中的第三地址段,确定所述硬盘中用于存储所述待处理数据的存储单元。
在一种实现方式中,处理单元,还用于根据所述第一地址中的第四地址段,确定所述网络报 文用于将所述待处理数据写入所述存储单元。
第七方面,提供一种接口卡,该接口卡应用于存储系统中的计算节点,所述接口卡包括:处理单元,用于接收来自应用的读请求;所述读请求用于请求读取待处理数据;通信单元,用于发送目的地址为第一地址的网络报文;所述第一地址用于指示所述待处理数据在存储节点中的存储单元,所述网络报文用于读取所述存储单元中的所述待处理数据;所述接口卡与所述存储节点通过网络通信;所述通信单元,还用于接收来自所述存储节点的所述待处理数据。
在一种实现方式中,第一地址中包括第一地址段、第二地址段和第三地址段中至少一项;其中,所述第一地址段用于标识所述存储节点,所述第二地址段用于标识所述存储节点中用于存储所述待处理数据的硬盘,所述第二地址段用于标识所述硬盘中用于存储所述待处理数据的存储单元。
在一种实现方式中,第一地址中包括第四地址段;所述第四地址段用于指示所述网络报文用于将所述待处理数据写入所述存储单元。
在一种实现方式中,第一地址为互联网协议第六版IPv6地址。
第八方面,提供一种接口卡,所述接口卡应用于存储系统中的存储节点,所述接口卡包括:通信单元,用于接收来自计算节点的目的地址为第一地址的网络报文;所述接口卡与所述计算节点通过网络通信;处理单元,用于确定所述第一地址对应的所述存储节点中的存储单元;所述通信单元,还用于将所述存储单元中存储的待处理数据发送至所述计算节点。
在一种实现方式中,处理单元,用于确定所述第一地址对应的所述存储节点中的存储单元,包括:处理单元,用于根据所述第一地址中的第一地址段,确定所述网络报文为发送至所述存储节点的网络报文;处理单元,用于根据所述第一地址中的第二地址段,确定所述存储节点中用于存储所述待处理数据的硬盘;处理单元,用于根据所述第一地址中的第三地址段,确定所述硬盘中用于存储所述待处理数据的存储单元。
在一种实现方式中,处理单元,还用于根据所述第一地址中的第四地址段,确定所述网络报文用于将所述待处理数据写入所述存储单元。
第九方面,提供一种接口卡,包括存储器和处理器,所述存储器用于存储计算机指令,所述处理器用于从所述存储器中调用并运行所述计算机指令,以实现如上述第一方面或第一方面中任一实现方式或上述第二方面或第二方面中任一实现方式或上述第三方面或第三方面中任一实现方式或上述第四方面或第四方面中任一实现方式中任一项所述的方法。
第十方面,提供一种芯片,包括存储器和处理器,所述存储器用于存储计算机指令,所述处理器用于从所述存储器中调用并运行所述计算机指令,以实现如上述第一方面或第一方面中任一实现方式或上述第二方面或第二方面中任一实现方式或上述第三方面或第三方面中任一实现方式或上述第四方面或第四方面中任一实现方式中任一项所述的方法。
第十一方面,提供一种计算机可读存储介质,该存储介质中存储有计算机程序,当所述计算机程序被处理器执行时,以实现如上述第一方面或第一方面中任一实现方式或上述第二方面或第二方面中任一实现方式或上述第三方面或第三方面中任一实现方式或上述第四方面或第四方面中任一实现方式中任一项所述的方法。
第十二方面,提供一种计算机程序产品,该计算机程序产品包括指令,当所述指令在处理器上运行时,以实现如上述第一方面或第一方面中任一实现方式或上述第二方面或第二方面中任一实现方式或上述第三方面或第三方面中任一实现方式或上述第四方面或第四方面中任一实现方式中任一项所述的方法。
第十三方面,提供一种存储系统,包括至少一个计算节点和至少一个存储节点,其中,所述至少一个计算节点用于执行如上述第一方面或第一方面中任一实现方式或上述第二方面或第二方面中任一实现方式中任一项所述的方法;所述至少一个存储节点用于执行如上述第三方面或第三方面中任一实现方式或上述第四方面或第四方面中任一实现方式中任一项所述的方法中任一项所述的方法。
附图说明
图1为本申请实施例提供的一种存储系统的结构示意图之一;
图2为本申请实施例提供的一种存储系统的结构示意图之二;
图3为相关技术中的一种数据存储方法的流程示意图;
图4为本申请实施例提供的一种数据处理方法的流程示意图之一;
图5为本申请实施例提供的一种数据处理方法的流程示意图之二;
图6为本申请实施例提供的一种网络报文的结构示意图之一;
图7为本申请实施例提供的一种网络报文的结构示意图之二;
图8为本申请实施例提供的一种数据处理方法的流程示意图之三;
图9为本申请实施例提供的一种网络报文的结构示意图之三;
图10为本申请实施例提供的一种网络报文的结构示意图之四;
图11为本申请实施例提供的一种接口卡的结构示意图之一;
图12为本申请实施例提供的一种接口卡的结构示意图之二。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。其中,为了便于清楚描述本申请实施例的技术方案,在本申请的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。同时,在本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念,便于理解。
为了便于理解本实施例,首先对本实施例所提供技术方案的应用场景进行介绍:
示例性的,图1为本实施例提供的一种存储系统的结构示意图。其中,存储系统100中可以包括一个或多个计算节点120以及一个或多个存储节点110。该存储系统100中,各计算节点120可以将数据存储在存储节点110上或者从存储节点110上读取数据。具体的,在实际应用中,存储系统100中的各计算节点120和存储节点110的功能可以由各种硬件设备来实现。
在一种实现方式中,在存储系统100中各计算节点和存储节点分别为独立的设备的情况下,存储系统100的具体结构可以如图2中存储系统200所示。
其中,在存储系统200中,包括一个或多个计算节点220(图2中示出了三个计算节点,但不限于计算节点),各个计算节点220之间可以相互通信。其中,各计算节点220可以为一种计算设备,例如计算节点220可以为服务器、台式计算机或存储阵列的控制器等。
在硬件上,如图2所示,计算节点220至少包括接口卡221、处理器222和内存223。其中,处理器222可以为中央处理器(central processing unit,CPU),用于处理来自计算节点220外部的数据访问请求,或者计算节点220内部生成的数据访问请求。示例性的,处理器222接收用户发送的写数据请求时,会将这些写数据请求中的数据暂时保存在内存223中。当内存223中的数据总量达到一定阈值时,处理器222将内存223中的存储的数据发送给存储节点210进行持久化存储。除此之外,处理器222还用于数据的计算或处理,例如元数据管理、重复数据删除、数据压缩、虚拟化存储空间以及地址转换等等。图2中每个计算节点220仅示出了一个CPU 222,在实际应用中,CPU 222的数量往往可以有多个。并且,其中每个CPU 222可以具有一个或多个CPU核。本实施例中对CPU的数量以及CPU核的数量可以不做限制。
内存223是指与处理器直接交换数据的内部存储器,它可以随时读写数据,而且速度很快,作为操作系统或其他正在运行中的程序的临时数据存储器。内存223包括可以至少两种存储器,例如内存既可以是随机存取存储器,也可以是动态随机存取存储器(Dynamic Random Access Memory,DRAM),或者存储级存储器(Storage Class Memory,SCM)。DRAM是一种半导体存储器,与大部分随机存取存储器(Random Access Memory,RAM)一样,属于一种易失性存储器(volatile memory)设备。SCM是一种同时结合传统储存装置与存储器特性的复合型储存技术,存储级存储器能够提供比硬盘更快速的读写速度,但存取速度上比DRAM慢,在成本上也比DRAM更为便宜。然而,DRAM和SCM在本实施例中只是示例性的说明,内存还可以包括其他 随机存取存储器,例如静态随机存取存储器(Static Random Access Memory,SRAM)等。而对于只读存储器,举例来说,可以是可编程只读存储器(Programmable Read Only Memory,PROM)、可抹除可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)等。另外,内存223还可以是双列直插式存储器模块或双线存储器模块(Dual In-line Memory Module,DIMM),即由动态随机存取存储器(DRAM)组成的模块,还可以是固态硬盘(Solid State Disk,SSD)。实际应用中,每个计算节点220中可配置多个内存223,以及不同类型的内存223。本实施例不对内存223的数量和类型进行限定。此外,可对内存223进行配置使其具有保电功能。保电功能是指系统发生掉电又重新上电时,内存223中存储的数据也不会丢失。具有保电功能的内存被称为非易失性存储器。
接口卡221,即网络接口卡(network interface card,NIC)用于与存储节点210通信。例如,当内存223中的数据总量达到一定阈值时,计算节点220可通过接口卡221,按照本实施例所提供方法向存储节点210发送请求以对所述数据进行持久化存储。另外,计算节点220还可以包括总线,用于计算节点220内部各组件之间的通信。在功能上,由于图2中的计算节点220的主要功能是计算业务,在存储数据时可以利用远程存储器来实现持久化存储,因此它具有比常规服务器更少的本地存储器,从而实现了成本和空间的节省。但这并不代表计算节点220不能具有本地存储器,在实际实现中,计算节点220也可以内置少量的硬盘,或者外接少量硬盘。
任意一个计算节点220可通过网络访问存储节点集群中的任意一个存储节点210。存储节点集群包括多个存储节点210(图2中示出了三个存储节点210,但不限于三个存储节点210)。一个存储节点210包括一个或多个控制器211、接口卡212与多个硬盘213。接口卡212用于与计算节点220通信。硬盘213用于存储数据,可以是磁盘或者其他类型的存储介质,例如固态硬盘或者叠瓦式磁记录硬盘等。控制器211用于根据计算节点220发送的读/写数据请求,往硬盘213中写入数据或者从硬盘213中读取数据。在读写数据的过程中,控制器211可以将读/写数据请求中携带的地址转换为硬盘能够识别的地址。由此可见,控制器211也具有一些简单的计算功能。
在实际应用中,控制器211可具有多种形态。一种情况下,控制器211包括CPU和内存。CPU用于执行地址转换以及读写数据等操作。内存用于临时存储将要写入硬盘213的数据,或者从硬盘213读取出来将要发送给计算节点220的数据。另一种情况下,如图2所示,控制器211是一个可编程的电子部件,例如数据处理单元(data processing unit,DPU)。DPU具有CPU的通用性和可编程性,但更具有专用性,可以在网络数据包,存储请求或分析请求上高效运行。DPU通过较大程度的并行性(需要处理大量请求)与CPU区别开来。可选的,这里的DPU也可以替换成图形处理单元(graphics processing unit,GPU)、嵌入式神经网络处理器(neural-network processing units,NPU)等处理芯片。通常情况下,控制器211的数量可以是一个,也可以是两个或两个以上。当存储节点210包含至少两个控制器211时,硬盘213与控制器211之间可具有归属关系。当硬盘213与控制器211之间具有归属关系时,每个控制器只能访问归属于它的硬盘,因此这往往涉及到在控制器211之间转发读/写数据请求,导致数据访问的路径较长。另外,如果存储空间不足,在存储节点210中增加新的硬盘213时需要重新绑定硬盘213与控制器211之间的归属关系,操作复杂,导致存储空间的扩展性较差。
因此在另一种实施方式中,控制器211的功能可以卸载到接口卡212上。换言之,在图2所示的实施方式中,存储节点210内部可以不具有控制器211,而是由接口卡212来完成数据读写、地址转换以及其他计算功能。此时,接口卡212是一个智能网卡。它可以包含CPU和内存。CPU用于执行地址转换以及读写数据等操作。内存用于临时存储将要写入硬盘213的数据,或者从硬盘213读取出来将要发送给计算节点220的数据。另外,接口卡212也可以是一个可编程的电子部件,例如数据处理单元(data processing unit,DPU)。DPU具有CPU的通用性和可编程性,但更具有专用性,可以在网络数据包,存储请求或分析请求上高效运行。DPU通过较大程度的并行性(需要处理大量请求)与CPU区别开来。可选的,这里的DPU也可以替换成图形处理单元(graphics processing unit,GPU)、嵌入式神经网络处理器(neural-network processing units,NPU)等处理芯片。存储节点210中的接口卡212和硬盘213之间没有归属关系,接口卡212可访问该存储节点210中任意一个硬盘213,因此在存储空间不足时扩展硬盘会较为便捷。
容易理解的是,图2中仅示例性的提供了一种存储系统的架构。在一些可能的设计中,存储系统也可以采用其他的架构。例如,存储系统可以由一个或多个服务器组成。其中,各服务器是一种既具有计算能力又具有存储能力的设备。在各服务器上可以创建虚拟机,各虚拟机所需的计算资源来自于服务器本地的处理器和内存,而虚拟机所需的存储资源既可以来源于服务器本地的硬盘也可以来自于其他服务器的硬盘。此外,虚拟机中可以运行各种应用程序,用户可以通过虚拟机中的应用程序触发读/写数据请求。虚拟机作为客户端访问存储系统。此时,运行在服务器上的各虚拟机即相当于图2中计算节点220,另外各服务器还可以用于实现图2中存储节点210的功能。
另外,为了便于对本申请实施例所提供的技术方案进行理解,上文中主要以包括多个存储节点的分布式存储系统为例对本申请实施例的应用场景进行介绍,但需要说明的是,上述对分布式存储系统的相关描述并不宜理解为对本申请所应用的存储系统的框架的限制。例如,在另一些应用场景中,本申请实施例也可以应用于集中式存储系统中。具体的,与分布式存储系统不同的是,集中式存储系统可以理解为由一台或多台主设备组成的一种中心节点,数据集中存储于该中心节点中,并且整个系统的数据处理业务集中部署在该中心节点上。也就是说,本申请实施例对于应用本申请实施例所提供技术方案的存储系统的框架结构,可以不做限制。
下面结合实例,对本实施例所提供技术方案进行详细介绍。
在相关技术中,为了实现计算节点对存储节点进行读/写数据的操作,需要经过多次软件栈处理,也就是需要经过多次协议格式的转换,实现过程复杂,需要消耗大量的系统资源。
示例性的,以图2中的一个计算节点220向一个存储节点210写入数据的过程为例,当计算节点220向存储节点210写入数据时,如图3所示:首先,在计算节点220中,应用(application,APP)先将数据存储请求(携带待写入数据以及待写入数据的逻辑地址)给操作系统。操作系统根据对应的存储协议进行前端协议转换,将应用程序的数据存储请求转换为前端存储协议请求。
例如,目前常用的存储协议包括:存储区域网络(Storage Area Network,SAN)以及网络附加存储(Network Attached Storage,NAS)。其中,SAN具体可以包括:非易失性存储器标准(non-volatile memory express,NVMe)结构(NVMe over fabric,NOF)以及小型计算机接口(small computer system interface,SCSI),这两种协议。NAS具体可以包括:网络文件系统(network file system,NFS)以及服务信息块(service message block,SMB),这两种协议。
之后,在计算节点220中,接口卡221按照相应的网络协议,将前端存储协议请求封装至网络报文中,以便利用网络将前端存储协议请求发送至存储节点侧。例如,目前常用的网络协议包括:以太网(ethernet,ETH)、光纤通道(fibre channel,FC)以及远程直接内存访问(remote direct memory access,RDMA)等。
当存储节点210接收到来自计算节点220的网络报文后,由接口卡212对网络报文进行解封装,得到前端存储协议请求。进而,再由存储节点210中的操作系统根据对应的驱动协议(例如,串行连接SCSI接口(Serial Attached SCSI,SAS)、串行高级的技术附件(Serial Advanced Technology Attachment,SATA)以及NVMe),将前端存储协议请求转换为后端驱动协议请求,并在硬盘上分配数据要写入的位置,通过介质索引将数据写入硬盘。
可以看出,上述过程中,首先在计算节点220中,需要通过前端协议转换,将数据存储请求转换为前端存储协议请求,并还需要将前端存储协议请求封装在网络报文的负荷中,以便将前端存储协议发送至存储节点210。然后,在存储节点210中,则需要对网络报文进行解封装,从网络报文的负荷中获取到前端存储协议请求,然后再将前端存储协议请求转换为后端驱动协议请求,以便为数据分配存储单元。这一过程需要经过多次协议格式的转换,实现过程复杂,需要消耗大量的系统资源。
针对上述技术问题,本实施例中考虑到,可以利用网络直接寻址能力,为存储节点中的存储单元分配网络地址。这样一来,可以通过由计算节点发送目的地址为存储节点中存储单元所对应的网络地址的网络报文的这一方式,直接利用网络层的寻址能力,实现对存储单元的访问(如读/ 写)。
具体的,当计算节点220获取到应用的读/写请求(例如,当应用需要进行数据读操作时,则计算节点220获取到包括待处理数据的标识的读请求;再例如,当应用需要进行数据写操作时,则计算节点220获取到包括待处理数据的写请求)时,计算节点220向网络中发送目的地址为第一地址的网络报文。其中,第一地址用于指示待处理数据在存储节点210中的存储单元。
示例性的,如图4所示,计算节点220中包括用于进行管理数据存储的数据处理装置2211。其中,在实际应用时,如图4中数据处理装置2211的功能也可以由接口卡221中的软件或硬件模块来实现。其中,在接口卡221中数据处理装置2211与通信接口2212连接,以便控制通过通信接口2212向网络发送网络报文。或者,数据处理装置2211的功能可以由运行在处理器222和内存223之上的操作系统中的软件模块实现,或者数据处理装置2211的功能也可以由独立于计算节点220中处理器222、内存223和接口卡221的其他硬件模块来实现,对此本实施例可以不做限制。
当计算节点220中应用需要进行数据读/写操作时,应用将读/写请求发送至数据处理装置2211(即图4中S301)。数据处理装置2211根据读/写请求,确定与待处理数据对应的第一地址(即图4中S302)。之后,计算节点220发送目的地址为上述第一地址的网络报文。如图4中,数据处理装置2211在确定第一地址后,由接口卡221根据第一地址封装网络报文并发送(即图4中S303)。
之后,网络中的交换设备(例如交换机或路由器等)根据网络报文的目的地址(即第一地址)将网络报文转发至存储节点210后,存储节点210可以根据第一地址在存储节点210的硬盘中确定存储单元,并进行读写操作。
继续以图4为例,存储节点210中接口卡212在接收到网络报文后,根据第一地址在硬盘213中确定存储单元x,并在存储单元x中完成读/写操作(即图4中S304)。
本实施例所提供技术方案中,通过为存储节点中的存储单元分配网络地址(也就是说,将存储单元在存储节点中的位置信息编址到网络地址中),这样一来,存储节点210在接收到网络报文后,根据网络报文的目的地址便可以确定待处理数据在存储节点210中的存储单元,即利用网络层的寻址能力便可以确定待处理数据在存储节点210中的存储单元,以便实现对存储单元的访问。相比于上述图3所示相关技术,本实施例可以简化计算节点220侧的前端协议转换过程以及存储节点210侧的后端协议转换过程,从而降低数据读写过程中的系统资源消耗。
下面分别从数据写入和数据读取两种场景,对本实施例所提供技术方案进行介绍。
在计算节点220将数据写入存储节点210的场景下,如图5所示,该方法可以包括:
S401、计算节点220获取写请求。
其中,写请求中携带待处理数据。
例如图5中,在计算节点220中,接口卡221中的数据处理装置2211获取来自应用的携带待处理数据的写请求。其中,参照上文对于数据处理装置2211的描述,本实施例中对于数据处理装置2211的软/硬件的具体形式可以不做限制。
S402、计算节点220为待处理数据在存储节点210中分配存储单元x。
例如图5中,数据处理装置2211在获取到写请求后,可以在存储节点210中为待处理数据分配存储单元x,并获取到存储单元x的存储单元信息。其中,存储单元信息可以包括:存储单元x所在存储节点210的标识(例如存储节点的访问地址)、存储单元x在存储节点210中的硬盘的标识(其中,硬盘可以为逻辑盘或物理磁盘,硬盘的标识可以为逻辑盘或物理磁盘的ID等)以及存储单元x在硬盘上的盘偏移量等信息。
S403、计算节点220根据存储单元x,确定地址a。
例如图5中,数据处理装置2211在为待处理数据在存储节点210中分配存储单元x后,可以将存储单元x的存储单元信息编址映射到网络地址,进而得到地址a。
在一种实现方式中,地址a可以为互联网协议第六版(Internet Protocol Version 6,IPv6)地址。
在一种可能的设计中,如图6所示,地址a可以分为多个地址段。其中,第一地址段用于指 示存储单元x所在存储节点210的标识(具体的,第一地址段可以为存储节点210的IPv4地址);第二地址段,用于指示存储单元x在存储节点210中的硬盘的标识(具体的,第二地址段可以用于指示硬盘ID);第三地址段,用于指示存储单元x在硬盘上的盘偏移量。
另外,在一种可能的设计中,如图6所示,地址a还可以包括第四地址段。其中第四地址段用于指示将待处理数据写入存储单元x(即用于指示写操作)。
S404、计算节点220发送目的地址为地址a的网络报文1。
其中,网络报文1中携带有待处理数据。
例如图5中,在数据处理装置2211确定地址a后,通信接口2212生成目的地址为地址a并且携带待处理数据的网络报文1。之后,通信接口2212将该网络报文1转发至网络中,以便网络中的交换设备将该网络报文1转发至存储节点210。
示例性的,该网络报文1的结构如图6所示。其中,网络报文1的IP首部包括源地址和目的地址。其中,源地址可以为计算节点220的IP地址,目的地址为地址a。对于地址a的具体结构上文中已做详细介绍。另外,该网络报文1的负荷(payload)中携带有待处理数据。
在一种实现方式中,为了使得存储节点210在接收到网络报文1后,能够确定该网络报文1用于根据网络报文1的目的地址(即地址a)寻址存储单元x,以便进行数据读/写操作。本实施例中还可以预先定义一种TCP端口类型,该TCP端口类型用于指示根据网络报文的目的地址寻址存储单元。示例性的,如图6中,该网络报文1的TCP首部中目的端口为端口p1,端口p1用于指示根据网络报文1的目的地址寻址存储单元。
这样一来,存储节点210在接收到网络报文1后,便可以根据网络报文1的目的端口(即端口p1),确定该网络报文1用于根据网络报文1的目的地址(即地址a)寻址存储单元x。然后,存储节点210便可以根据地址a中的第一地址段、第二地址段和第三地址段,确定存储单元x,并根据地址a中的第四地址段确定需要进行写操作。进而存储节点210将网络报文1的负荷中携带的待处理数据写入存储单元x中。
在另一种实现方式中,本实施例中还可以预先定义一种TCP端口类型,该TCP端口类型用于指示根据网络报文1的目的地址寻址存储单元,并对该存储单元执行写操作。示例性的,如图7中,该网络报文1的TCP首部中目的端口为端口p2,端口p2用于指示根据网络报文1的目的地址寻址存储单元,并对该存储单元执行写操作。
这样一来,存储节点210在接收到网络报文1后,便可以根据网络报文1的目的端口(即端口p2),确定该网络报文1用于根据网络报文1的目的地址(即地址a)寻址存储单元x。然后,存储节点210便可以根据地址a中的第一地址段、第二地址段和第三地址段,确定存储单元x。进而存储节点210将网络报文1的负荷中携带的待处理数据写入存储单元x中。
可以看出,上述实现方式中,由于直接利用TCP端口指示了该网络报文1用于根据网络报文1的目的地址寻址存储单元,并对该存储单元执行写操作,因此在地址a中可以不包括第四地址段。
另外,需要说明的是,上述S402-S403是以计算节点220能够直接分配和管理数据写入存储节点210时的存储单元位置的情况为例,对于计算节点220为待处理数据分配存储单元x和根据存储单元x确定地址a的过程进行介绍。在另外一些场景中,也可以由存储节点210为待处理数据分配存储单元。例如,存储节点210在接收到网络报文1后,建立地址a与存储单元x的对应关系。当由存储节点210为待处理数据分配存储单元时,计算节点220也可以不执行上述S402-S403的内容。
在存储节点210接收到上述网络报文1后,该方法还可以包括:
S405、存储节点210确定地址a对应的存储单元x。
示例性的,如图5所示,存储节点210中,接口卡212在接收到网络报文1后,可以根据网络报文1的目的地址(即地址a),确定存储单元x的存储单元信息,即确定存储单元x。
S406、存储节点210将网络报文1中携带的待处理数据写入存储单元x。
例如,接口卡212在接收到图6所示网络报文1后,先根据TCP首部的目的端口(即端口p1)确定该网络报文1用于根据目的地址寻址存储单元。进而接口卡212根据地址a中的第一地址段、 第二地址段和第三地址段确定存储单元x的存储单元信息。另外,接口卡212还根据地址a中的第四地址段确定该网络报文1用于将网络报文1中携带的待处理数据写入确定出的存储单元中,进而接口卡212根据存储单元x的存储单元信息,将待处理数据写入存储单元x。
再例如,接口卡212在接收到图7所示网络报文1后,先根据TCP首部的目的端口(即端口p1)确定该网络报文1用于根据目的地址寻址存储单元,并对该存储单元执行写操作。进而接口卡212根据地址a中的第一地址段、第二地址段和第三地址段确定存储单元x的存储单元信息。进而接口卡212根据存储单元x的存储单元信息,将待处理数据写入存储单元x。
在计算节点220读取存储节点210中存储的数据的场景下,如图8所示,该方法可以包括:
S501、计算节点220获取读请求。
其中,该读请求用于读取待处理数据。具体的,该读请求中可以携带有待处理数据的逻辑地址等标识。
示例性的,图8中,在计算节点220中,数据处理装置2211获取来自应用的读请求。其中,参照上文对于数据处理装置2211的描述,本实施例中对于数据处理装置2211的软/硬件的具体形式可以不做限制。
S502、计算节点220确定地址b。
其中,地址b用于指示待处理数据在存储节点210中的存储单元x。
示例性的,图8中,在计算节点220中,可以由数据处理装置2211根据读请求中携带的待处理数据的逻辑地址,确定地址b。
可以理解的是,在一些场景中,例如当读请求中携带有地址b时,计算节点220也可以不执行S502的内容。
与上文地址a类似的,在一种实现方式中,地址b可以为互联网协议第六版(Internet Protocol Version 6,IPv6)地址。
在一种可能的设计中,如图9所示,地址b可以分为多个地址段。其中,第一地址段用于指示存储单元x所在存储节点210的标识(具体的,第一地址段可以为存储节点210的IPv4地址);第二地址段,用于指示存储单元x在存储节点210中的硬盘的标识(具体的,第二地址段可以用于指示硬盘ID);第三地址段,用于指示存储单元x在硬盘上的盘偏移量。
另外,在一种可能的设计中,如图9所示,地址b还可以包括第四地址段。其中第四地址段用于指示读取存储单元x中的数据(即用于指示读操作)。
S503、计算节点220发送目的地址为地址b的网络报文2。
例如图8中,在数据处理装置2211确定地址b后,通信接口2212生成目的地址为地址b的网络报文2。之后,通信接口2212将该网络报文2转发至网络中,以便网络中的交换设备将该网络报文2转发至存储节点210。
示例性的,该网络报文2的结构如图9所示。其中,网络报文2的IP首部包括源地址和目的地址。其中,源地址可以为计算节点220的IP地址,目的地址为地址b。对于地址b的具体结构上文中已做详细介绍。
在一种实现方式中,与图6所示示例类似,为了使得存储节点210在接收到网络报文2后,能够确定该网络报文2用于根据网络报文2的目的地址(即地址b)寻址存储单元x,以便进行数据读/写操作。本实施例中还可以预先定义一种TCP端口类型,该TCP端口类型用于指示根据网络报文2的目的地址寻址存储单元。示例性的,如图9中,该网络报文2的TCP首部中目的端口为端口p1,端口p1用于指示根据网络报文2的目的地址寻址存储单元。
这样一来,存储节点210在接收到网络报文2后,便可以根据网络报文2的目的端口(即端口p1),确定该网络报文2用于根据网络报文2的目的地址(即地址b)寻址存储单元x。然后,存储节点210便可以根据地址b中的第一地址段、第二地址段和第三地址段,确定存储单元x,并根据地址b中的第四地址段确定需要进行读操作。进而存储节点210读取存储单元x中的数据并反馈给计算节点220。
在另一种实现方式中,本实施例中还可以预先定义一种TCP端口类型,该TCP端口类型用于 指示根据网络报文2的目的地址寻址存储单元,并对该存储单元执行读操作。示例性的,如图10中,该网络报文2的TCP首部中目的端口为端口p3,端口p3用于指示根据网络报文2的目的地址寻址存储单元,并对该存储单元执行读操作。
这样一来,存储节点210在接收到网络报文2后,便可以根据网络报文2的目的端口(即端口p3),确定该网络报文2用于根据网络报文2的目的地址(即地址b)寻址存储单元x。然后,存储节点210便可以根据地址b中的第一地址段、第二地址段和第三地址段,确定存储单元x。进而存储节点210读取存储单元x中的数据并反馈给计算节点220。
可以看出,上述实现方式中,由于直接利用TCP端口指示了该网络报文2用于根据网络报文2的目的地址寻址存储单元,并对该存储单元执行读操作,因此在地址b中可以不包括第四地址段。
在存储节点210接收到上述S503中的网络报文2后,该方法还可以包括:
S504、存储节点210确定地址b对应的存储单元x。
示例性的,如图8所示,存储节点210中,接口卡212在接收到网络报文2后,可以根据网络报文2的目的地址(即地址b),确定存储单元x的存储单元信息,即确定存储单元x。
S505、存储节点210读取存储单元x中的待处理数据。
例如,接口卡212在接收到图9所示网络报文2后,先根据TCP首部的目的端口(即端口p1)确定该网络报文2用于根据目的地址寻址存储单元。进而接口卡212根据地址b中的第一地址段、第二地址段和第三地址段确定存储单元x的存储单元信息。另外,接口卡212还根据地址b中的第四地址段确定该网络报文2用于读取存储单元中的数据,进而接口卡212根据存储单元x的存储单元信息,读取存储单元x中的待处理数据。
再例如,接口卡212在接收到图10所示网络报文2后,先根据TCP首部的目的端口(即端口p3)确定该网络报文2用于根据目的地址寻址存储单元,并对该存储单元执行读操作。进而接口卡212根据地址b中的第一地址段、第二地址段和第三地址段确定存储单元x的存储单元信息。进而接口卡212根据存储单元x的存储单元信息,读取存储单元x中的待处理数据。
S506、存储节点210将待处理数据发送至计算节点220。
示例性的,如图8中,存储节点210中,接口卡212在读取到待处理数据后,将待处理数据封装至网络报文3发送至计算节点220。之后,计算节点220在接收到网络报文3后,将网络报文3中携带的待处理数据反馈至应用。
对于存储节点210将待处理数据发送至计算节点220,以及计算节点220接收到待处理数据后的处理过程,可参照相关技术,在此不做赘述。
另外,本实施例还提供一种接口卡,该接口卡能够用于执行本实施例上述数据处理方法中的部分或全部步骤。
可以理解的是,为了实现上述数据处理方法中功能,接口卡包括了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本实施例中描述的各示例的单元及方法步骤,本实施例所提供技术方案能够以硬件或硬件和计算机软件相结合的形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用场景和设计约束条件。
图11为本实施例提供的一种接口卡的结构示意图。该接口卡60包括通信单元601和处理单元602中一项或多项。该数据处理装置可以用于实现上述图4、图5或图8所述的方法中接口卡221或接口卡212的部分或全部步骤的功能。
当接口卡60用于实现上述图4、图5或图8所述的方法中接口卡221的功能时:
通信单元601可以用于执行图4中S303、图5中S404和图8中S503中的一项或多项;
处理单元602可以用于执行图4中S301、S302、图5中S401-S403和图8中S501、S502中的一项或多项。
当接口卡60用于实现上述图4、图5或图8所述的方法中接口卡212的功能时:
通信单元601可以用于执行图4、图5和图8中接收来自计算节点的网络报文或者向计算节点发送网络报文的功能;
处理单元602可以用于执行图4中S304、图5中S405-S406和图8中S504、S505中的一项或多项。
有关上述通信单元601和处理单元602更详细的描述,可以直接参考图4、图5和图8中所示的方法中相关描述,这里不再赘述。
图12为本申请提供的另一种接口卡的结构示意图。该接口卡70用于实现本申请所提供的数据处理方法。具体的,该接口卡可以用于实现上述数据处理方法中接口卡221或接口卡212的部分或全部步骤。其中,该接口卡70包括:
处理器701用于执行本申请所提供的数据处理方法。
具体的,处理器701可以包含通用中央处理器(central processing unit,CPU)和存储器,处理器701还可以为微处理器、现场可编程逻辑门阵列(Field Programmable Gate Array,FPGA)或者特定应用集成电路(application-specific integrated circuit,ASIC)等。在处理器701包含CPU和存储器的场景中,CPU执行存储器中存储的计算机指令,用于执行本申请所提供的数据处理方法。
另外,该接口卡70还可以包括:存储器702。存储器702中存储有计算机指令,处理器701执行存储器中存储的计算机指令,用于执行本申请所提供的数据处理方法。
具体的,存储器702可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electrically erasable programmable read-only memory,EEPROM)、只读光盘(compact disc read-only memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的程序代码并能够由计算机存取的任何其他介质,但不限于此。
另外,该接口卡70还可以包括:接口703。接口703可以用于接收和发送数据。接口702可以为通信接口或收发器等。
另外,接口卡70还可以包括通信线路704。例如,通信线路704可以为数据总线,用于在上述组件之间传输信息。
关于上述接口卡70更详细的描述可以直接参考上述数据处理方法中相关描述,这里不再赘述。
本申请的实施例中的方法步骤可以通过硬件的方式来实现,也可以由处理器执行软件指令的方式来实现。软件指令可以由相应的软件模块组成,软件模块可以被存放于RAM、闪存、ROM、PROM、EPROM、EEPROM、寄存器、硬盘、移动硬盘、CD-ROM或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于ASIC中。另外,该ASIC可以位于网络设备或终端设备中。当然,处理器和存储介质也可以作为分立组件存在于网络设备或终端设备中。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机程序或指令。在计算机上加载和执行所述计算机程序或指令时,全部或部分地执行本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、网络设备、用户设备或者其它可编程装置。所述计算机程序或指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机程序或指令可以从一个网站站点、计算机、服务器或数据中心通过有线或无线方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是集成一个或多个可用介质的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,例如,软盘、硬盘、磁带;也可以是光介质,例如,数字视频光盘(digital video disc,DVD);还可以是半导体介质,例如,SSD。
在本申请的各个实施例中,如果没有特殊说明以及逻辑冲突,不同的实施例之间的术语和/或描述具有一致性、且可以相互引用,不同的实施例中的技术特征根据其内在的逻辑关系可以组 合形成新的实施例。
本申请中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上,其它量词与之类似。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。此外,对于单数形式“a”,“an”和“the”出现的元素(element),除非上下文另有明确规定,否则其不意味着“一个或仅一个”,而是意味着“一个或多于一个”。例如,“a device”意味着对一个或多个这样的device。再者,至少一个(at least one of).......”意味着后续关联对象中的一个或任意组合,例如“A、B和C中的至少一个”包括A,B,C,AB,AC,BC,或ABC。在本申请的文字描述中,字符“/”,一般表示前后关联对象是一种“或”的关系;在本申请的公式中,字符“/”,表示前后关联对象是一种“相除”的关系。
可以理解的是,在本申请的实施例中涉及的各种数字编号仅为描述方便进行的区分,并不用来限制本申请的实施例的范围。上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定。

Claims (32)

  1. 一种数据处理方法,其特征在于,所述方法包括:
    计算节点的接口卡接收来自应用的写请求;所述写请求中携带待处理数据;
    所述接口卡发送目的地址为第一地址的网络报文;所述网络报文中携带有所述待处理数据,所述第一地址用于指示所述待处理数据在存储节点中的存储单元,所述网络报文用于将所述待处理数据写入所述存储单元;所述接口卡与所述存储节点通过网络通信。
  2. 根据权利要求1所述的方法,其特征在于,所述方法还包括:
    所述接口卡为所述待处理数据在存储节点中分配存储单元。
  3. 根据权利要求1或2所述的方法,其特征在于,所述第一地址中包括第一地址段、第二地址段和第三地址段中至少一项;其中,所述第一地址段用于标识所述存储节点,所述第二地址段用于标识所述存储节点中用于存储所述待处理数据的硬盘,所述第二地址段用于标识所述硬盘中用于存储所述待处理数据的存储单元。
  4. 根据权利要求1-3任一项所述的方法,其特征在于,所述第一地址中包括第四地址段;所述第四地址段用于指示将所述待处理数据写入所述存储单元。
  5. 根据权利要求1-4任一项所述的方法,其特征在于,所述第一地址为互联网协议第六版IPv6地址。
  6. 一种数据处理方法,其特征在于,所述方法包括:
    存储节点的接口卡接收来自计算节点的目的地址为第一地址的网络报文;所述网络报文中携带有待处理数据;所述接口卡与所述计算节点通过网络通信;
    所述接口卡确定所述第一地址对应的所述存储节点中的存储单元;
    所述接口卡将所述待处理数据写入所述存储单元。
  7. 根据权利要求6所述的方法,其特征在于,所述接口卡确定所述第一地址对应的所述存储节点中的存储单元,包括:
    所述接口卡根据所述第一地址中的第一地址段,确定所述网络报文为发送至所述存储节点的网络报文;
    所述接口卡根据所述第一地址中的第二地址段,确定所述存储节点中用于存储所述待处理数据的硬盘;
    所述接口卡根据所述第一地址中的第三地址段,确定所述硬盘中用于存储所述待处理数据的存储单元。
  8. 根据权利要求6或7所述的方法,其特征在于,所述方法还包括:
    所述接口卡根据所述第一地址中的第四地址段,确定所述网络报文用于将所述待处理数据写入所述存储单元。
  9. 一种数据处理方法,其特征在于,所述方法包括:
    计算节点的接口卡接收来自应用的读请求;所述读请求用于请求读取待处理数据;
    所述接口卡发送目的地址为第一地址的网络报文;所述第一地址用于指示所述待处理数据在存储节点中的存储单元,所述网络报文用于读取所述存储单元中的所述待处理数据;所述接口卡与所述存储节点通过网络通信;
    所述接口卡接收来自所述存储节点的所述待处理数据。
  10. 根据权利要求9所述的方法,其特征在于,所述第一地址中包括第一地址段、第二地址段和第三地址段中至少一项;其中,所述第一地址段用于标识所述存储节点,所述第二地址段用于标识所述存储节点中用于存储所述待处理数据的硬盘,所述第二地址段用于标识所述硬盘中用于存储所述待处理数据的存储单元。
  11. 根据权利要求9或10所述的方法,其特征在于,所述第一地址中包括第四地址段;所述第四地址段用于指示所述网络报文用于将所述待处理数据写入所述存储单元。
  12. 根据权利要求9-11任一项所述的方法,其特征在于,所述第一地址为互联网协议第六版IPv6地址。
  13. 一种数据处理方法,其特征在于,所述方法包括:
    存储节点的接口卡接收来自计算节点的目的地址为第一地址的网络报文;所述接口卡与所述计算节点通过网络通信;
    所述接口卡确定所述第一地址对应的所述存储节点中的存储单元;
    所述接口卡将所述存储单元中存储的待处理数据发送至所述计算节点。
  14. 根据权利要求13所述的方法,其特征在于,所述接口卡确定所述第一地址对应的所述存储节点中的存储单元,包括:
    所述接口卡根据所述第一地址中的第一地址段,确定所述网络报文为发送至所述存储节点的网络报文;
    所述接口卡根据所述第一地址中的第二地址段,确定所述存储节点中用于存储所述待处理数据的硬盘;
    所述接口卡根据所述第一地址中的第三地址段,确定所述硬盘中用于存储所述待处理数据的存储单元。
  15. 根据权利要求13或14所述的方法,其特征在于,所述方法还包括:
    所述接口卡根据所述第一地址中的第四地址段,确定所述网络报文用于将所述待处理数据写入所述存储单元。
  16. 一种接口卡,其特征在于,所述接口卡应用于存储系统中的计算节点,所述接口卡包括:
    处理单元,用于接收来自应用的写请求;所述写请求中携带待处理数据;
    通信单元,用于发送目的地址为第一地址的网络报文;所述网络报文中携带有所述待处理数据,所述第一地址用于指示所述待处理数据在存储节点中的存储单元,所述网络报文用于将所述待处理数据写入所述存储单元;所述接口卡与所述存储节点通过网络通信。
  17. 根据权利要求16所述的接口卡,其特征在于,所述处理单元还用于为所述待处理数据在存储节点中分配存储单元。
  18. 根据权利要求16或17所述的接口卡,其特征在于,所述第一地址中包括第一地址段、第二地址段和第三地址段中至少一项;其中,所述第一地址段用于标识所述存储节点,所述第二地址段用于标识所述存储节点中用于存储所述待处理数据的硬盘,所述第二地址段用于标识所述硬盘中用于存储所述待处理数据的存储单元。
  19. 根据权利要求16-18任一项所述的接口卡,其特征在于,所述第一地址中包括第四地址段;所述第四地址段用于指示将所述待处理数据写入所述存储单元。
  20. 根据权利要求16-19任一项所述的接口卡,其特征在于,所述第一地址为互联网协议第六版IPv6地址。
  21. 一种接口卡,其特征在于,所述接口卡应用于存储系统中的存储节点,所述接口卡包括:
    通信单元,用于接收来自计算节点的目的地址为第一地址的网络报文;所述网络报文中携带有待处理数据;所述接口卡与所述计算节点通过网络通信;
    处理单元,用于确定所述第一地址对应的所述存储节点中的存储单元;
    所述处理单元,还用于将所述待处理数据写入所述存储单元。
  22. 根据权利要求21所述的接口卡,其特征在于,所述处理单元,用于确定所述第一地址对应的所述存储节点中的存储单元,包括:
    所述处理单元,用于根据所述第一地址中的第一地址段,确定所述网络报文为发送至所述存储节点的网络报文;
    所述处理单元,用于根据所述第一地址中的第二地址段,确定所述存储节点中用于存储所述待处理数据的硬盘;
    所述处理单元,用于根据所述第一地址中的第三地址段,确定所述硬盘中用于存储所述待处理数据的存储单元。
  23. 根据权利要求21或22所述的接口卡,其特征在于,所述处理单元,还用于根据所述第一地址中的第四地址段,确定所述网络报文用于将所述待处理数据写入所述存储单元。
  24. 一种接口卡,其特征在于,所述接口卡应用于存储系统中的计算节点,所述接口卡包括:
    处理单元,用于接收来自应用的读请求;所述读请求用于请求读取待处理数据;
    通信单元,用于发送目的地址为第一地址的网络报文;所述第一地址用于指示所述待处理数据在存储节点中的存储单元,所述网络报文用于读取所述存储单元中的所述待处理数据;所述接口卡与所述存储节点通过网络通信;
    所述通信单元,还用于接收来自所述存储节点的所述待处理数据。
  25. 根据权利要求24所述的接口卡,其特征在于,所述第一地址中包括第一地址段、第二地址段和第三地址段中至少一项;其中,所述第一地址段用于标识所述存储节点,所述第二地址段用于标识所述存储节点中用于存储所述待处理数据的硬盘,所述第二地址段用于标识所述硬盘中用于存储所述待处理数据的存储单元。
  26. 根据权利要求24或25所述的接口卡,其特征在于,所述第一地址中包括第四地址段;所述第四地址段用于指示所述网络报文用于将所述待处理数据写入所述存储单元。
  27. 根据权利要求24-26任一项所述的接口卡,其特征在于,所述第一地址为互联网协议第六版IPv6地址。
  28. 一种接口卡,其特征在于,所述接口卡应用于存储系统中的存储节点,所述接口卡包括:
    通信单元,用于接收来自计算节点的目的地址为第一地址的网络报文;所述接口卡与所述计算节点通过网络通信;
    处理单元,用于确定所述第一地址对应的所述存储节点中的存储单元;
    所述通信单元,还用于将所述存储单元中存储的待处理数据发送至所述计算节点。
  29. 根据权利要求28所述的接口卡,其特征在于,处理单元,用于确定所述第一地址对应的所述存储节点中的存储单元,包括:
    处理单元,用于根据所述第一地址中的第一地址段,确定所述网络报文为发送至所述存储节点的网络报文;
    所述处理单元,用于根据所述第一地址中的第二地址段,确定所述存储节点中用于存储所述待处理数据的硬盘;
    所述处理单元,用于根据所述第一地址中的第三地址段,确定所述硬盘中用于存储所述待处理数据的存储单元。
  30. 根据权利要求28或29所述的接口卡,其特征在于,所述处理单元,还用于根据所述第一地址中的第四地址段,确定所述网络报文用于将所述待处理数据写入所述存储单元。
  31. 一种接口卡,其特征在于,包括处理器和接口,所述处理器用于通过所述接口接收或发送数据,所述处理器用于实现如权利要求1-15中任一项所述的方法。
  32. 一种计算机可读存储介质,其特征在于,所述存储介质中存储有计算机程序,当所述计算机程序被处理器执行时,实现如权利要求1-15中任一项所述的方法。
PCT/CN2023/101002 2022-09-06 2023-06-19 数据处理方法及装置 WO2024051259A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202211082777.8A CN117675759A (zh) 2022-09-06 2022-09-06 数据处理方法及装置
CN202211082777.8 2022-09-06

Publications (1)

Publication Number Publication Date
WO2024051259A1 true WO2024051259A1 (zh) 2024-03-14

Family

ID=90081343

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2023/101002 WO2024051259A1 (zh) 2022-09-06 2023-06-19 数据处理方法及装置

Country Status (2)

Country Link
CN (1) CN117675759A (zh)
WO (1) WO2024051259A1 (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104023076A (zh) * 2014-06-17 2014-09-03 华为技术有限公司 以太网接口硬盘容量的管理方法和多租户交换机
CN106341448A (zh) * 2016-08-15 2017-01-18 乐视控股(北京)有限公司 分布式存储方法、装置及系统
CN107229415A (zh) * 2016-03-24 2017-10-03 华为技术有限公司 一种数据写方法、数据读方法及相关设备、系统
WO2017185322A1 (zh) * 2016-04-29 2017-11-02 华为技术有限公司 存储网元发现方法及装置
CN112130747A (zh) * 2019-06-24 2020-12-25 北京金山云网络技术有限公司 分布式对象存储系统及数据读写方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104023076A (zh) * 2014-06-17 2014-09-03 华为技术有限公司 以太网接口硬盘容量的管理方法和多租户交换机
CN107229415A (zh) * 2016-03-24 2017-10-03 华为技术有限公司 一种数据写方法、数据读方法及相关设备、系统
WO2017185322A1 (zh) * 2016-04-29 2017-11-02 华为技术有限公司 存储网元发现方法及装置
CN106341448A (zh) * 2016-08-15 2017-01-18 乐视控股(北京)有限公司 分布式存储方法、装置及系统
CN112130747A (zh) * 2019-06-24 2020-12-25 北京金山云网络技术有限公司 分布式对象存储系统及数据读写方法

Also Published As

Publication number Publication date
CN117675759A (zh) 2024-03-08

Similar Documents

Publication Publication Date Title
EP3214553B1 (en) Storage resource access method supporting sr-iov, storage controller and storage device
EP4318251A1 (en) Data access system and method, and device and network card
US11500542B2 (en) Generation of a volume-level of an IO request
US11210240B2 (en) Memory appliance couplings and operations
US20220206969A1 (en) Data forwarding chip and server
WO2022007470A1 (zh) 一种数据传输的方法、芯片和设备
US20210081352A1 (en) Internet small computer interface systems extension for remote direct memory access (rdma) for distributed hyper-converged storage systems
US20230152978A1 (en) Data Access Method and Related Device
WO2024041412A1 (zh) 存储系统、方法以及硬件卸载卡
WO2021249059A1 (zh) 网卡以及网卡处理数据的方法
WO2023093418A1 (zh) 数据迁移方法、装置及电子设备
US20170003998A1 (en) Compute Cluster Load Balancing Based on Disk I/O Cache Contents
WO2023000770A1 (zh) 一种处理访问请求的方法、装置、存储设备及存储介质
WO2023246843A1 (zh) 数据处理方法、装置及系统
KR102471966B1 (ko) 스토리지 노드 기반의 키-값 스토어를 이용하는 데이터 입출력 방법
CN102843435A (zh) 一种在集群系统中存储介质的访问、响应方法和系统
US20230342087A1 (en) Data Access Method and Related Device
WO2024051259A1 (zh) 数据处理方法及装置
WO2023273803A1 (zh) 一种认证方法、装置和存储系统
WO2022073399A1 (zh) 存储节点、存储设备及网络芯片
US10289550B1 (en) Method and system for dynamic write-back cache sizing in solid state memory storage
WO2022262345A1 (zh) 一种数据管理方法、存储空间管理方法及装置
WO2017177400A1 (zh) 一种数据处理方法及系统
CN116566933A (zh) 报文处理方法、网关设备及存储系统
WO2020118650A1 (zh) 快速发送写数据准备完成消息的方法、设备和系统

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 23861962

Country of ref document: EP

Kind code of ref document: A1