WO2019227891A1 - Method and apparatus for implementing communication between nodes, and electronic device - Google Patents

Method and apparatus for implementing communication between nodes, and electronic device Download PDF

Info

Publication number
WO2019227891A1
WO2019227891A1 PCT/CN2018/120069 CN2018120069W WO2019227891A1 WO 2019227891 A1 WO2019227891 A1 WO 2019227891A1 CN 2018120069 W CN2018120069 W CN 2018120069W WO 2019227891 A1 WO2019227891 A1 WO 2019227891A1
Authority
WO
WIPO (PCT)
Prior art keywords
sas
physical channel
ethernet
message
hba
Prior art date
Application number
PCT/CN2018/120069
Other languages
French (fr)
Chinese (zh)
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 WO2019227891A1 publication Critical patent/WO2019227891A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9057Arrangements for supporting packet reassembly or resequencing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/26Special purpose or proprietary protocols or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0028Serial attached SCSI [SAS]

Definitions

  • the present application relates to the field of data communication technology, and in particular, to a method, a device, and an electronic device for implementing communication between nodes.
  • SAS Serial Attached SCSI
  • Serial Attached SCSI is a new generation of SCSI (Small Computer System Interface) technology.
  • SAS uses serial technology to achieve higher transmission speeds, and improves internal space by shortening the connection lines.
  • SCSI is an independent processor standard for a system-level interface between a computer and an intelligent device (hard disk, floppy drive, optical drive, printer, scanner, etc.).
  • SAS-HBA HyperText Bus Adapter, host bus adapter
  • the communication interface adopted by the application layer of the user node is a SAS communication interface.
  • the purpose of the embodiments of the present application is to provide a method, an apparatus, and an electronic device for implementing inter-node communication, so as to achieve an Ethernet-compatible communication interface of a SAS network system, thereby reducing the coupling between the application layer and the data transmission layer of a user node.
  • an embodiment of the present application provides a method for implementing inter-node communication, which is applied to a serially connected user node in a small computer system interface SAS network system; the method includes:
  • target data to be transmitted from the target program wherein the target program is a program that depends on the communication interface of the Ethernet;
  • the SAS-HBA is a host bus adapter adopting the SAS protocol.
  • the step of encapsulating the Ethernet packet into a SAS protocol packet includes:
  • a SAS header is added to the Ethernet packet, and an Ethernet frame header field in the Ethernet packet is assigned to obtain a SAS protocol packet.
  • the step of encapsulating the Ethernet packet into a SAS protocol packet includes:
  • a SAS header is added to the aggregated Ethernet packet, and an Ethernet frame header field in the Ethernet packet is assigned to obtain a SAS protocol packet.
  • the sending the SAS protocol message to a SAS-HBA in the user node so that the SAS-HBA sends the SAS protocol message to a data receiver as a data receiver through a forwarding node.
  • the steps for the destination user node include:
  • the initial SAS address of each physical channel in the SAS-HBA is different.
  • the method further includes:
  • the target physical channel that meets the predetermined idle condition wherein the first physical channel is the Any physical channel or predetermined physical channel;
  • the SAS address of the target physical channel is reset to the SAS address of the first physical channel.
  • the step of resetting the SAS address of the target physical channel to the SAS address of the first physical channel includes:
  • the target physical channel is enabled.
  • an embodiment of the present application provides a device for implementing inter-node communication, which is applied to a serially connected user node in a small computer system interface SAS network system; the device includes:
  • An Ethernet message constructing unit configured to construct an Ethernet message carrying the target data
  • a message encapsulation unit configured to encapsulate the Ethernet message into a SAS protocol message
  • a message sending unit configured to send the SAS protocol message to a SAS-HBA in the user node, so that the SAS-HBA sends the SAS protocol message to a data receiver through a forwarding node A destination user node; wherein when the destination user node receives the SAS protocol message, it decapsulates the SAS protocol message into the Ethernet message, and decapsulates the Ethernet message Is the target data; wherein, the SAS-HBA is a host bus adapter using the SAS protocol.
  • the message encapsulation unit includes:
  • the first packet encapsulation subunit is configured to add a SAS header to the Ethernet packet, and assign a value to an Ethernet frame header field in the Ethernet packet to obtain a SAS protocol packet.
  • the message encapsulation unit includes:
  • An aggregation subunit configured to aggregate multiple Ethernet packets to be transmitted including the Ethernet packet to obtain an aggregated Ethernet packet; wherein the multiple Ethernet packets to be transmitted correspond to the same data The receiver, and the data amount of the plurality of Ethernet packets to be transmitted is not greater than a predetermined data amount threshold;
  • the second message encapsulation subunit is configured to add a SAS header to the aggregated Ethernet packet, and assign a value to an Ethernet frame header field in the Ethernet packet to obtain a SAS protocol packet.
  • the message sending unit is specifically configured to:
  • the initial SAS address of each physical channel in the SAS-HBA is different.
  • the apparatus further includes:
  • a physical channel searching unit configured to find a target physical channel that meets a predetermined idle condition when detecting that the data traffic of the first physical channel in the SAS-HBA meets a predetermined channel busy condition; wherein the first physical channel is Any physical channel or a predetermined physical channel in the SAS-HBA;
  • the address resetting unit is configured to reset the SAS address of the target physical channel to the SAS address of the first physical channel when the target physical channel is found.
  • the address resetting unit is specifically configured to:
  • the target physical channel is enabled.
  • an embodiment of the present application provides an electronic device.
  • the electronic device is a user node in a serial connection small computer system interface SAS network system, and includes a processor, a communication interface, a memory, and a communication bus. Device, communication interface, and memory to complete mutual communication through the communication bus;
  • the processor is configured to implement a method for implementing communication between nodes provided in the embodiments of the present application when a program stored in a memory is executed.
  • an embodiment of the present application provides a computer-readable storage medium, where the computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, a computer program provided by the embodiment of the application is implemented.
  • an embodiment of the present application further provides an executable program code, where the executable program code is used to run to execute a method step of implementing communication between nodes provided by the embodiment of the present application.
  • the user node after the user node obtains the target data to be transmitted from the target program, it first encapsulates the target data into an Ethernet message, and then constructs a SAS protocol message and transmits the SAS protocol message. So that the program relying on the communication interface of Ethernet can be applied to the user node. Therefore, through this solution, the communication interface compatible with the Ethernet of the SAS network system can be realized, thereby reducing the purpose of coupling the application layer and the data transmission layer of the user node.
  • FIG. 1 is a flowchart of a method for implementing communication between nodes according to an embodiment of the present application
  • FIG. 3 (a) is a schematic diagram of a physical channel included in a SAS port before dynamic adjustment
  • FIG. 3 (b) is a schematic diagram of a physical channel included in a SAS port after dynamic adjustment
  • FIG. 4 is a schematic diagram of a topology of a SAS network system according to an embodiment of the present application.
  • FIG. 5 is a schematic structural diagram of a device for implementing communication between nodes according to an embodiment of the present application
  • FIG. 6 is a schematic structural diagram of an electronic device according to an embodiment of the present application.
  • the embodiments of the present application provide a method, a device, and an electronic device for implementing communication between nodes.
  • the method for implementing communication between nodes is applied to a user node in a SAS network system.
  • the device type of the user node may be: a computer, a printer, a scanner, and the like.
  • the SAS network system described in the embodiment of the present application may be a local area network system. In this local area network system, each user node may perform data transfer through a SAS switch.
  • the SAS network system described in the embodiment of the present application may also be a wide area network system. In this wide area network system, each user node may perform data transfer through a SAS switch and a SAS gateway.
  • the user node in the SAS network system is a device that uses the SAS protocol for data transmission at the data transmission layer, which is specifically reflected in the use of SAS-HBA as the network card device.
  • a SAS switch is a switch that uses the SAS protocol for data transmission at the data transmission layer
  • a SAS gateway is a gateway that uses the SAS protocol for data transmission at the data transmission layer.
  • a method for implementing communication between nodes may include the following steps:
  • the target program is a program that depends on the communication interface of the Ethernet.
  • the user node can obtain the target data to be transmitted from the target program, and then perform subsequent processing on the target data.
  • target data sent by the target program can be: user data generated based on user operations, or data generated by the program itself, which are all reasonable.
  • the target data to be transmitted sent by the target program is application layer data
  • the target program is a program that depends on the communication interface of Ethernet
  • the user node is acquiring the target
  • an Ethernet message carrying the target data can be constructed.
  • the data transmission protocol of the Ethernet can be a TCP / IP protocol
  • the Ethernet packet can be a TCP / IP protocol packet.
  • TCP / IP protocol short for Transmission Control Protocol / Internet Protocol
  • Chinese translation is called Transmission Control Protocol / Internet Interconnection Protocol, also known as network communication protocol. It is the most basic protocol of the Internet, the basis of the Internet, It consists of the IP protocol at the layer and the TCP protocol at the transport layer.
  • the specific construction method of constructing the Ethernet packet carrying the target data is the same as that in the prior art.
  • the Ethernet packet carries an active IP address and a destination IP address, wherein the source IP address is the IP address of the user node, and the destination IP address is the IP address of the destination user node as a data receiver.
  • the IP address is Internet Protocol Address, which is a method of addressing hosts on the Internet, also known as an Internet Protocol address.
  • the user node can encapsulate the Ethernet message into a SAS protocol message, where the SAS protocol message is compliant SAS transmission specification message.
  • the SAS protocol packet carries the source SAS address and the destination SAS address.
  • the source SAS address is: the SAS address of the user node that is the sender of the data, specifically: the SAS address of the physical channel in the first SAS-HBA (Host Bus Adapter).
  • the first SAS-HBA is SAS-HBA installed on a user node as a data sender.
  • the destination SAS address is: the SAS address of the user node as the data receiver, specifically the SAS address of the physical channel in the second SAS-HBA, which is installed on the user node as the data receiver SAS-HBA.
  • each user node in a SAS network system when a user node in a SAS network system joins the SAS network system, it reads the SAS address from its corresponding SAS-HBA and broadcasts it to the SAS network system. Other user nodes in. In this way, each user node in the SAS network system can store the SAS address of each user node in the SAS network system in the address chain table.
  • any SAS-HBA may include multiple physical channels, and each physical channel is provided with an 8-byte SAS address.
  • the physical channels with the same SAS address belong to one SAS port. In this way, the number of SAS ports is the same as the number of SAS addresses. It should be noted that in one implementation, the initial SAS address of each physical channel in any SAS-HBA can be different. At this time, one SAS port includes one physical channel. In this way, the same number of physical channels can be constructed. Network card device to achieve physical isolation between TCP / IP channels.
  • the step of encapsulating the Ethernet packet into a SAS protocol packet may include:
  • a SAS header is added to the Ethernet packet, and an Ethernet frame header field in the Ethernet packet is assigned to obtain a SAS protocol packet.
  • the fields included in the SAS header added to the Ethernet packet are the same as the fields included in the header of the SAS protocol packet in the prior art. Specifically, the fields may include at least the source SAS address, the destination SAS address, SAS body length, SAS header length, etc.
  • Figure 2 shows the message format of the SAS protocol message. As shown in Figure 2, the SAS header is the SAS header. The Ethernet frame header, IP header, TCP header, data, and frame check sequence form the SAS protocol message. The style of the message.
  • the value of the source MAC (Media Access Control) address in the Ethernet frame header field may be: the lower 6 bits of the source SAS address; and the value of the destination MAC address in the Ethernet frame header field may be For: The lower 6 bits of the destination SAS address are of course not limited to this.
  • the source MAC address is the MAC address of the user node, and the destination MAC address is the MAC address of the destination user node.
  • the step of encapsulating the Ethernet packet into a SAS protocol packet may include:
  • Aggregating multiple Ethernet packets to be transmitted including the Ethernet packet to obtain an aggregated Ethernet packet; wherein the multiple Ethernet packets to be transmitted correspond to the same data receiver, and the multiple The data volume of the transmitted Ethernet packets is not greater than the predetermined data volume threshold;
  • a SAS header is added to the aggregated Ethernet packet, and an Ethernet frame header field in the Ethernet packet is assigned to obtain a SAS protocol packet.
  • the plurality of Ethernet packets are packets extracted according to a transmission order, that is, the plurality of Ethernet packets are a plurality of packets transmitted continuously.
  • the predetermined data amount threshold can be set according to actual conditions.
  • for a specific implementation manner of adding a SAS header to the aggregated Ethernet packet and assigning values to the Ethernet frame header field in the Ethernet packet refer to the related content described above.
  • S104 Send the SAS protocol message to the SAS-HBA in the user node, so that the SAS-HBA sends the SAS protocol message to the destination user node as a data receiver through the forwarding node.
  • the user node may send the SAS protocol message to the SAS-HBA in the user node, so that the SAS-HBA sends the SAS protocol message to the data as a data through the forwarding node.
  • the destination user node of the receiver Further, when receiving the SAS protocol message, the destination user node decapsulates the SAS protocol message into the Ethernet message, and decapsulates the Ethernet message into the target data.
  • the user node sends the SAS protocol message to the SAS-HBA in the user node, so that the SAS-HBA uses a physical channel having a source SAS address in the SAS protocol message, and forwards the The SAS protocol message is sent to the destination user node as the data receiver.
  • the SAS-HBA in the destination user node can receive the SAS protocol message sent by the forwarding device, and then the destination user node decapsulates the SAS protocol message twice, and finally obtains the target data.
  • the forwarding node is a SAS switch.
  • the SAS-HBA sends the SAS protocol message to a SAS switch using a physical channel having a source SAS address in the SAS protocol message, and the SAS switch sends the SAS protocol message to a destination node.
  • the process of forwarding the SAS protocol message is the same as the process of forwarding the SAS protocol message after the SAS switch of the prior art SAS network system receives a SAS protocol message. It is the same and will not be repeated here.
  • the user node after the user node obtains the target data to be transmitted from the target program, it first encapsulates the target data into an Ethernet message, and then constructs a SAS protocol message and transmits the SAS protocol message. So that the program relying on the communication interface of Ethernet can be applied to the user node. Therefore, through this solution, the communication interface compatible with the Ethernet of the SAS network system can be realized, thereby reducing the purpose of coupling the application layer and the data transmission layer of the user node.
  • the method for implementing communication between nodes may further include the following steps A and B:
  • Step A When detecting that the data flow of the first physical channel in the SAS-HBA meets the predetermined channel busy condition, find a target physical channel that meets the predetermined idle condition; wherein the first physical channel is in the SAS-HBA Any physical channel or scheduled physical channel;
  • the user node can detect the data traffic of each physical channel in its SAS-HBA through real-time detection, timing detection or polling detection, and then when detecting its own SAS-HBA When the data traffic of the first physical channel meets the busy condition of the predetermined channel, the target physical channel that meets the predetermined idle condition is searched, where the first physical channel is any physical channel in the SAS-HBA.
  • the user node can detect the data traffic of a predetermined physical channel in its SAS-HBA, and then the predetermined physical channel is the first physical channel; further, when the predetermined physical channel is detected When the data traffic meets the predetermined channel busy condition, find the target physical channel that meets the predetermined idle condition.
  • the predetermined channel busy condition and the predetermined idle condition can be set according to actual conditions.
  • the predetermined channel busy condition can be that the unit data traffic exceeds the predetermined traffic upper limit value
  • the predetermined idle condition can be that the unit data traffic is low.
  • the lower limit of the predetermined flow rate is of course not limited to this.
  • Step B When the target physical channel is found, reset the SAS address of the target physical channel to the SAS address of the first physical channel.
  • the user node can reset the SAS address of the target physical channel to the SAS address of the first physical channel, so that the number of physical channels in the SAS port where the busy physical channel is located can be obtained. Increase, that is, the port gets aggregated. By dynamically adjusting the number of physical channels included in the SAS port, the communication bandwidth can be dynamically controlled.
  • the step of resetting the SAS address of the target physical channel to the SAS address of the first physical channel may include:
  • each physical channel belongs to a different SAS port.
  • SAS port port1 includes physical channel phy1
  • SAS port port2 includes physical channel phy2
  • port3 includes a physical channel phy3
  • SAS port port4 includes a physical channel phy4.
  • the included physical channels are adjusted from only including phy1 to phy1, 2, 3, and 4, that is, phy1, phy2, phy3, and phy4 are aggregated into port1, as shown in Figure 3 (b), so as to achieve the purpose of dynamically controlling the communication bandwidth.
  • the SAS addresses of phy2, phy3, and phy4 are deleted from the address list, and the SAS address of phy1 is regarded as belonging to the same SAS port.
  • the SAS addresses of phy2, phy3, and phy4 are kept in the address list.
  • the user node retransmits the untransmitted packets from phy2, phy3, and phy4 before the aggregation.
  • the SAS address corresponding to port1 is used for retransmission.
  • the retransmitted packets can be transmitted through four physical channels.
  • FIG. 4 is a schematic diagram of a topology of a SAS network system according to an embodiment of the present application. As shown in FIG. 4, a method for implementing communication between nodes may include the following steps:
  • the application layer of node-1 After receiving the socket communication request, the application layer of node-1 obtains the application layer data packet corresponding to the socket communication request and sends the application layer data packet to the TCP / IP stack of node-1 belonging to the software;
  • the TCP / IP stack of node-1 constructs an Ethernet message carrying the application layer data packet, and sends the Ethernet message to the virtual Ethernet driver of node-1 belonging to the software;
  • the virtual Ethernet driver of node-1 encapsulates the Ethernet message into a SAS protocol message and sends the SAS protocol message to the SAS-HBA driver of node-1 belonging to the software;
  • the SAS-HBA driver of node-1 sends the SAS protocol packet to the SAS-HBA of node-1 belonging to the hardware;
  • the SAS-HBA belonging to the node-n belonging to the hardware receives the SAS protocol packet forwarded by the SAS switch and passes it to the SAS-HBA driver belonging to the node-n belonging to the software;
  • the SAS-HBA driver of node-n sends the received SAS protocol message to the virtual Ethernet driver of node-n belonging to the software;
  • the virtual Ethernet driver of node-n decapsulates the SAS protocol message into an Ethernet message, and passes the Ethernet message to the TCP / IP protocol stack belonging to the software;
  • the TCP-IP protocol stack of node-n parses the Ethernet message into an application layer data packet.
  • the node-1 and node-n SAS-HBAs can monitor the data traffic of each physical channel or a predetermined physical channel, and then dynamically adjust the number of physical channels in the SAS port to achieve dynamic control of TCP / IP communication bandwidth.
  • an Ethernet-compatible communication interface of the SAS network system can be realized, thereby reducing the purpose of coupling the application layer and the data transmission layer of the user node.
  • an embodiment of the present application provides a device for implementing inter-node communication, which is applied to a serially connected user node in a small computer system interface SAS network system.
  • the device for implementing communication between nodes may include:
  • the data obtaining unit 510 is configured to obtain target data to be transmitted sent by the target program, where the target program is a program that depends on a communication interface of the Ethernet;
  • An Ethernet packet constructing unit 520 configured to construct an Ethernet packet carrying the target data
  • a packet encapsulating unit 530 configured to encapsulate the Ethernet packet into a SAS protocol packet
  • a message sending unit 540 configured to send the SAS protocol message to a SAS-HBA in the user node, so that the SAS-HBA sends the SAS protocol message to the data receiver through a forwarding node
  • the destination user node of the party when the destination user node receives the SAS protocol message, it decapsulates the SAS protocol message into the Ethernet message, and decompresses the Ethernet message
  • the package is the target data; wherein, the SAS-HBA is a host bus adapter using the SAS protocol.
  • the user node after the user node obtains the target data to be transmitted from the target program, it first encapsulates the target data into an Ethernet message, and then constructs a SAS protocol message and transmits the SAS protocol message. So that the program relying on the communication interface of Ethernet can be applied to the user node. Therefore, through this solution, the communication interface compatible with Ethernet of the SAS network system can be realized, thereby reducing the coupling between the application layer and the data transmission layer of the user node.
  • the message encapsulation unit 530 may include:
  • the first packet encapsulation subunit is configured to add a SAS header to the Ethernet packet, and assign a value to an Ethernet frame header field in the Ethernet packet to obtain a SAS protocol packet.
  • the message encapsulation unit 530 may include:
  • An aggregation subunit configured to aggregate multiple Ethernet packets to be transmitted including the Ethernet packet to obtain an aggregated Ethernet packet; wherein the multiple Ethernet packets to be transmitted correspond to the same data The receiver, and the data amount of the plurality of Ethernet packets to be transmitted is not greater than a predetermined data amount threshold;
  • the second message encapsulation subunit is configured to add a SAS header to the aggregated Ethernet packet, and assign a value to an Ethernet frame header field in the Ethernet packet to obtain a SAS protocol packet.
  • the message sending unit 540 is specifically configured to:
  • the initial SAS address of each physical channel in the SAS-HBA is different.
  • the apparatus further includes:
  • a physical channel searching unit configured to find a target physical channel that meets a predetermined idle condition when detecting that the data traffic of the first physical channel in the SAS-HBA meets a predetermined channel busy condition; wherein the first physical channel is Any physical channel or a predetermined physical channel in the SAS-HBA;
  • the address resetting unit is configured to reset the SAS address of the target physical channel to the SAS address of the first physical channel when the target physical channel is found.
  • the address resetting unit is specifically configured to:
  • the target physical channel is enabled.
  • An embodiment of the present application further provides an electronic device, as shown in FIG. 6, including a processor 610, a communication interface 620, a memory 630, and a communication bus 640, where the processor 610, the communication interface 620, and the memory 630 pass the communication bus 640.
  • a memory 630 configured to store a computer program
  • the processor 610 is configured to implement a method step for implementing communication between nodes provided in the embodiment of the present application when a program stored in the memory 630 is executed.
  • the communication bus mentioned in the above electronic device may be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus, etc.
  • PCI Peripheral Component Interconnect
  • EISA Extended Industry Standard Architecture
  • the communication bus can be divided into an address bus, a data bus, a control bus, and the like. For ease of representation, the figure only uses a thick line, but it does not mean that there is only one bus or one type of bus.
  • the communication interface is used for communication between the aforementioned electronic device and other devices.
  • the memory may include random access memory (Random Access Memory, RAM), and may also include non-volatile memory (Non-Volatile Memory, NVM), such as at least one disk memory.
  • NVM non-Volatile Memory
  • the memory may also be at least one storage device located far from the foregoing processor.
  • the above processor may be a general-purpose processor, including a central processing unit (CPU), a network processor (NP), etc .; it may also be a digital signal processor (Digital Signal Processing, DSP), special integration Circuit (Application Specific Integrated Circuit, ASIC), Field-Programmable Gate Array (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components.
  • CPU central processing unit
  • NP network processor
  • DSP Digital Signal Processing
  • ASIC Application Specific Integrated Circuit
  • FPGA Field-Programmable Gate Array
  • an embodiment of the present application further provides a computer-readable storage medium.
  • the computer-readable storage medium stores a computer program, and the computer program is executed by a processor to implement an implementation provided by the embodiment of the present application. Method steps for communication between nodes.
  • the embodiment of the present application also provides an executable program code, where the executable program code is used to be executed to perform a method step of implementing communication between nodes provided by the embodiment of the present application.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer And Data Communications (AREA)

Abstract

A method and apparatus for implementing communication between nodes, and an electronic device. The method is applied to a user node in a serial attached small computer system interface (SAS) network system. The method comprises: obtaining target data to be transmitted sent by a target program; constructing an Ethernet packet in which the target data is carried; encapsulating the Ethernet packet as an SAS protocol packet; and sending the SAS protocol packet to an SAS-HBA in the user node, so that the SAS-HBA sends, by means of a forwarding node, the SAS protocol packet to a destination user node serving as a data receiver; upon receiving the SAS protocol packet, the destination user node decapsulates the SAS protocol packet as the Ethernet packet, and decapsulates the Ethernet packet as the target data, wherein the SAS-HBA is a host bus adapter using an SAS protocol. This solution enables the SAS network system to be compatible with an Ethernet communication interface, thereby reducing the coupling between the application layer and the data transmission layer of the user node.

Description

一种实现节点间通讯的方法、装置及电子设备Method, device and electronic equipment for implementing communication between nodes
本申请要求于2018年05月31日提交中国专利局、申请号为201810550194.0发明名称为“一种实现节点间通讯的方法、装置及电子设备”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。This application claims the priority of a Chinese patent application filed with the Chinese Patent Office on May 31, 2018, with application number 201810550194.0 and entitled "A Method, Device and Electronic Equipment for Realizing Communication Between Nodes", the entire contents of which are incorporated by reference Incorporated in this application.
技术领域Technical field
本申请涉及数据通讯技术领域,特别是涉及一种实现节点间通讯的方法、装置及电子设备。The present application relates to the field of data communication technology, and in particular, to a method, a device, and an electronic device for implementing communication between nodes.
背景技术Background technique
SAS(Serial Attached SCSI,串行连接SCSI)是新一代的SCSI(Small Computer System Interface,小型计算机系统接口)技术。其中,SAS采用串行技术以获得更高的传输速度,并通过缩短连接线改善内部空间等。其中,SCSI是一种用于计算机和智能设备之间(硬盘、软驱、光驱、打印机、扫描仪等)系统级接口的独立处理器标准。SAS (Serial Attached SCSI, Serial Attached SCSI) is a new generation of SCSI (Small Computer System Interface) technology. Among them, SAS uses serial technology to achieve higher transmission speeds, and improves internal space by shortening the connection lines. Among them, SCSI is an independent processor standard for a system-level interface between a computer and an intelligent device (hard disk, floppy drive, optical drive, printer, scanner, etc.).
对于SAS网络系统而言,用户节点间的通讯可以利用SAS-HBA(Host Bus Adapter,主机总线适配器)进行数据传输。现有技术中,为了实现用户节点间的通讯,用户节点的应用层所采用的通讯接口为SAS的通讯接口。For a SAS network system, communication between user nodes can use SAS-HBA (Host Bus Adapter, host bus adapter) for data transmission. In the prior art, in order to implement communication between user nodes, the communication interface adopted by the application layer of the user node is a SAS communication interface.
尽管现有技术中用户节点间能够通讯,但是,由于用户节点的应用层和数据传输层具有较高的耦合性,导致依赖以太网的通讯接口的程序无法应用于SAS网络系统的用户节点。而依赖以太网的通讯接口的程序是市场上较为常见程序,这无疑严重影响用户的使用体验。Although user nodes can communicate with each other in the prior art, due to the high coupling between the application layer and the data transmission layer of the user nodes, programs that rely on the Ethernet communication interface cannot be applied to the user nodes of the SAS network system. The programs that rely on the Ethernet communication interface are more common programs on the market, which undoubtedly seriously affects the user experience.
可见,如何实现SAS网络系统兼容以太网的通讯接口,从而降低用户节点的应用层和数据传输层耦合性是一个亟待解决的问题。It can be seen that how to implement the Ethernet-compatible communication interface of the SAS network system, thereby reducing the coupling between the application layer and the data transmission layer of the user node is an urgent problem.
发明内容Summary of the Invention
本申请实施例的目的在于提供一种实现节点间通讯的方法、装置及电子设备,以实现SAS网络系统兼容以太网的通讯接口,从而降低用户节点的应用层和数据传输层耦合性的目的。具体技术方案如下:The purpose of the embodiments of the present application is to provide a method, an apparatus, and an electronic device for implementing inter-node communication, so as to achieve an Ethernet-compatible communication interface of a SAS network system, thereby reducing the coupling between the application layer and the data transmission layer of a user node. The specific technical solutions are as follows:
第一方面,本申请实施例提供了一种实现节点间通讯的方法,应用于串行连接小型计算机系统接口SAS网络系统中的用户节点;所述方法包括:In a first aspect, an embodiment of the present application provides a method for implementing inter-node communication, which is applied to a serially connected user node in a small computer system interface SAS network system; the method includes:
获得目标程序发出的待传输的目标数据;其中,该目标程序为依赖以太网的通讯接口的程序;Obtaining target data to be transmitted from the target program; wherein the target program is a program that depends on the communication interface of the Ethernet;
构建携带有所述目标数据的以太网报文;Constructing an Ethernet message carrying the target data;
将所述以太网报文封装为SAS协议报文;Encapsulating the Ethernet message into a SAS protocol message;
将所述SAS协议报文发送给所述用户节点中的SAS-HBA,以使得所述SAS-HBA通过转发节点,将所述SAS协议报文发送至作为数据接收方的目的用户节点;其中,所述目的用户节点在接收到所述SAS协议报文时,将所述SAS协议报文解封装为所述以太网报文,并将所述以太网报文解封装为所述目标数据;其中,所述SAS-HBA为采用SAS协议的主机总线适配器。Sending the SAS protocol message to a SAS-HBA in the user node, so that the SAS-HBA sends the SAS protocol message to a destination user node as a data receiver through a forwarding node; wherein, When receiving the SAS protocol message, the destination user node decapsulates the SAS protocol message into the Ethernet message, and decapsulates the Ethernet message into the target data; wherein The SAS-HBA is a host bus adapter adopting the SAS protocol.
可选地,所述将所述以太网报文封装为SAS协议报文的步骤,包括:Optionally, the step of encapsulating the Ethernet packet into a SAS protocol packet includes:
对所述以太网报文添加SAS报头,并为所述以太网报文中的以太网帧头字段进行赋值,得到SAS协议报文。A SAS header is added to the Ethernet packet, and an Ethernet frame header field in the Ethernet packet is assigned to obtain a SAS protocol packet.
可选地,所述将所述以太网报文封装为SAS协议报文的步骤,包括:Optionally, the step of encapsulating the Ethernet packet into a SAS protocol packet includes:
将包含所述以太网报文的多个待传输以太网报文进行聚合,得到聚合后的以太网报文;其中,所述多个待传输以太网报文对应同一数据接收方,且所述多个待传输以太网报文的数据量不大于预定数据量阈值;Aggregating a plurality of Ethernet packets to be transmitted including the Ethernet packet to obtain an aggregated Ethernet packet; wherein the plurality of Ethernet packets to be transmitted correspond to a same data receiver, and the The data volume of multiple Ethernet packets to be transmitted is not greater than a predetermined data volume threshold;
对所述聚合后的以太网报文添加SAS报头,并为所述以太网报文中的以太网帧头字段进行赋值,得到SAS协议报文。A SAS header is added to the aggregated Ethernet packet, and an Ethernet frame header field in the Ethernet packet is assigned to obtain a SAS protocol packet.
可选地,所述将所述SAS协议报文发送给所述用户节点中的SAS-HBA,以使得所述SAS-HBA通过转发节点,将所述SAS协议报文发送至作为数据接收方的目的用户节点的步骤,包括:Optionally, the sending the SAS protocol message to a SAS-HBA in the user node, so that the SAS-HBA sends the SAS protocol message to a data receiver as a data receiver through a forwarding node. The steps for the destination user node include:
将所述SAS协议报文发送给该用户节点中的SAS-HBA,以使得所述SAS-HBA利用具有所述SAS协议报文中源SAS地址的物理通道,通过转发节点,将所述SAS协议报文发送至作为数据接收方的目的用户节点。Sending the SAS protocol message to the SAS-HBA in the user node, so that the SAS-HBA uses the physical channel with the source SAS address in the SAS protocol message to forward the SAS protocol through the forwarding node The message is sent to the destination user node as the data receiver.
可选地,所述SAS-HBA中的每个物理通道的初始SAS地址不同。Optionally, the initial SAS address of each physical channel in the SAS-HBA is different.
可选地,所述方法还包括:Optionally, the method further includes:
当检测到自身的SAS-HBA中的第一物理通道的数据流量符合预定通道忙碌条件时,查找符合预定空闲条件的目标物理通道;其中,所述第一物理通道为所述SAS-HBA中的任一物理通道或预定物理通道;When it is detected that the data flow of the first physical channel in the SAS-HBA meets the predetermined channel busy condition, find the target physical channel that meets the predetermined idle condition; wherein the first physical channel is the Any physical channel or predetermined physical channel;
当查找到所述目标物理通道时,将所述目标物理通道的SAS地址重设为所述第一物理通道的SAS地址。When the target physical channel is found, the SAS address of the target physical channel is reset to the SAS address of the first physical channel.
可选地,所述将所述目标物理通道的SAS地址重设为所述第一物理通道的SAS地址的步骤,包括:Optionally, the step of resetting the SAS address of the target physical channel to the SAS address of the first physical channel includes:
将所述目标物理通道进行禁用;Disable the target physical channel;
将所述目标物理通道的SAS地址设置为所述第一物理通道的SAS地址;Setting the SAS address of the target physical channel to the SAS address of the first physical channel;
在设置完成后,将所述目标物理通道进行使能。After the setting is completed, the target physical channel is enabled.
第二方面,本申请实施例提供了一种实现节点间通讯的装置,应用于串行连接小型计算机系统接口SAS网络系统中的用户节点;所述装置包括:In a second aspect, an embodiment of the present application provides a device for implementing inter-node communication, which is applied to a serially connected user node in a small computer system interface SAS network system; the device includes:
数据获得单元,用于获得目标程序发出的待传输的目标数据;其中,该目标程序为依赖以太网的通讯接口的程序;A data obtaining unit for obtaining target data to be transmitted from the target program; wherein the target program is a program that depends on a communication interface of the Ethernet;
以太网报文构建单元,用于构建携带有所述目标数据的以太网报文;An Ethernet message constructing unit, configured to construct an Ethernet message carrying the target data;
报文封装单元,用于将所述以太网报文封装为SAS协议报文;A message encapsulation unit, configured to encapsulate the Ethernet message into a SAS protocol message;
报文发送单元,用于将所述SAS协议报文发送给所述用户节点中的SAS-HBA,以使得所述SAS-HBA通过转发节点,将所述SAS协议报文发送至作为数据接收方的目的用户节点;其中,所述目的用户节点在接收到所述SAS协议报文时,将所述SAS协议报文解封装为所述以太网报文,并将所述以太网报文解封装为所述目标数据;其中,所述SAS-HBA为采用SAS协议的主机总线适配器。A message sending unit, configured to send the SAS protocol message to a SAS-HBA in the user node, so that the SAS-HBA sends the SAS protocol message to a data receiver through a forwarding node A destination user node; wherein when the destination user node receives the SAS protocol message, it decapsulates the SAS protocol message into the Ethernet message, and decapsulates the Ethernet message Is the target data; wherein, the SAS-HBA is a host bus adapter using the SAS protocol.
可选地,所述报文封装单元包括:Optionally, the message encapsulation unit includes:
第一报文封装子单元,用于对所述以太网报文添加SAS报头,并为所述以太网报文中的以太网帧头字段进行赋值,得到SAS协议报文。The first packet encapsulation subunit is configured to add a SAS header to the Ethernet packet, and assign a value to an Ethernet frame header field in the Ethernet packet to obtain a SAS protocol packet.
可选地,所述报文封装单元包括:Optionally, the message encapsulation unit includes:
聚合子单元,用于将包含所述以太网报文的多个待传输以太网报文进行聚合,得到聚合后的以太网报文;其中,所述多个待传输以太网报文对应同一数据接收方,且所述多个待传输以太网报文的数据量不大于预定数据量阈值;An aggregation subunit, configured to aggregate multiple Ethernet packets to be transmitted including the Ethernet packet to obtain an aggregated Ethernet packet; wherein the multiple Ethernet packets to be transmitted correspond to the same data The receiver, and the data amount of the plurality of Ethernet packets to be transmitted is not greater than a predetermined data amount threshold;
第二报文封装子单元,用于对所述聚合后的以太网报文添加SAS报头,并为所述以太网报文中的以太网帧头字段进行赋值,得到SAS协议报文。The second message encapsulation subunit is configured to add a SAS header to the aggregated Ethernet packet, and assign a value to an Ethernet frame header field in the Ethernet packet to obtain a SAS protocol packet.
可选地,所述报文发送单元具体用于:Optionally, the message sending unit is specifically configured to:
将所述SAS协议报文发送给该用户节点中的SAS-HBA,以使得所述SAS-HBA利用具有所述SAS协议报文中源SAS地址的物理通道,通过转发节点,将所述SAS协议报文发送至作为数据接收方的目的用户节点。Sending the SAS protocol message to the SAS-HBA in the user node, so that the SAS-HBA uses the physical channel with the source SAS address in the SAS protocol message to forward the SAS protocol through the forwarding node The message is sent to the destination user node as the data receiver.
可选地,所述SAS-HBA中的每个物理通道的初始SAS地址不同。Optionally, the initial SAS address of each physical channel in the SAS-HBA is different.
可选地,所述装置还包括:Optionally, the apparatus further includes:
物理通道查找单元,用于当检测到自身的SAS-HBA中的第一物理通道的数据流量符合预定通道忙碌条件时,查找符合预定空闲条件的目标物理通道;其中,所述第一物理通道为所述SAS-HBA中的任一物理通道或预定物理通道;A physical channel searching unit, configured to find a target physical channel that meets a predetermined idle condition when detecting that the data traffic of the first physical channel in the SAS-HBA meets a predetermined channel busy condition; wherein the first physical channel is Any physical channel or a predetermined physical channel in the SAS-HBA;
地址重设单元,用于当查找到所述目标物理通道时,将所述目标物理通道的SAS地址重设为所述第一物理通道的SAS地址。The address resetting unit is configured to reset the SAS address of the target physical channel to the SAS address of the first physical channel when the target physical channel is found.
可选地,所述地址重设单元具体用于:Optionally, the address resetting unit is specifically configured to:
当查找到所述目标物理通道时,将所述目标物理通道进行禁用;When the target physical channel is found, disable the target physical channel;
将所述目标物理通道的SAS地址设置为所述第一物理通道的SAS地址;Setting the SAS address of the target physical channel to the SAS address of the first physical channel;
在设置完成后,将所述目标物理通道进行使能。After the setting is completed, the target physical channel is enabled.
第三方面,本申请实施例提供了一种电子设备,所述电子设备为串行连接小型计算机系统接口SAS网络系统中的用户节点,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;In a third aspect, an embodiment of the present application provides an electronic device. The electronic device is a user node in a serial connection small computer system interface SAS network system, and includes a processor, a communication interface, a memory, and a communication bus. Device, communication interface, and memory to complete mutual communication through the communication bus;
存储器,用于存放计算机程序;Memory for storing computer programs;
处理器,用于执行存储器上所存放的程序时,实现本申请实施例所提供的实现节点间通讯的方法。The processor is configured to implement a method for implementing communication between nodes provided in the embodiments of the present application when a program stored in a memory is executed.
第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现本申请实施例所提供的一种实现节点间通讯的方法步骤。In a fourth aspect, an embodiment of the present application provides a computer-readable storage medium, where the computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, a computer program provided by the embodiment of the application is implemented. Method steps for implementing communication between nodes.
第五方面,本申请实施例还提供了一种可执行程序代码,所述可执行程序代码用于被运行以执行本申请实施例所提供的一种实现节点间通讯的方法步骤。In a fifth aspect, an embodiment of the present application further provides an executable program code, where the executable program code is used to run to execute a method step of implementing communication between nodes provided by the embodiment of the present application.
本申请实施例所提供方案中,由于用户节点在获得目标程序发出的待传 输的目标数据后,首先将目标数据封装为以太网报文,进而构建SAS协议报文并传输SAS协议报文,这样使得依赖以太网的通讯接口的程序可以应用于用户节点中。因此,通过本方案,可以实现SAS网络系统兼容以太网的通讯接口,从而降低用户节点的应用层和数据传输层耦合性的目的。In the solution provided by the embodiment of the present application, after the user node obtains the target data to be transmitted from the target program, it first encapsulates the target data into an Ethernet message, and then constructs a SAS protocol message and transmits the SAS protocol message. So that the program relying on the communication interface of Ethernet can be applied to the user node. Therefore, through this solution, the communication interface compatible with the Ethernet of the SAS network system can be realized, thereby reducing the purpose of coupling the application layer and the data transmission layer of the user node.
当然,实施本申请的任一产品或方法必不一定需要同时达到以上所述的所有优点。Of course, to implement any product or method of the present application, it is not necessary to achieve all the advantages described above at the same time.
附图说明BRIEF DESCRIPTION OF THE DRAWINGS
为了更清楚地说明本发明实施例和现有技术的技术方案,下面对实施例和现有技术中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。In order to more clearly illustrate the embodiments of the present invention and the technical solutions of the prior art, the following briefly introduces the embodiments and the drawings needed in the prior art. Obviously, the drawings in the following description are only the present invention. For some embodiments of the invention, for those skilled in the art, other drawings can be obtained based on these drawings without paying creative labor.
图1为本申请实施例所提供的一种实现节点间通讯的方法的流程图;FIG. 1 is a flowchart of a method for implementing communication between nodes according to an embodiment of the present application; FIG.
图2为本申请实施例所提供的SAS协议报文的报文格式;2 is a message format of a SAS protocol message provided by an embodiment of the present application;
图3(a)为动态调节之前SAS端口所包括物理通道的示意图,图3(b)为动态调节之后SAS端口所包括物理通道的示意图;FIG. 3 (a) is a schematic diagram of a physical channel included in a SAS port before dynamic adjustment, and FIG. 3 (b) is a schematic diagram of a physical channel included in a SAS port after dynamic adjustment;
图4为本申请实施例所提供的SAS网络系统的拓扑示意图;4 is a schematic diagram of a topology of a SAS network system according to an embodiment of the present application;
图5为本申请实施例所提供的一种实现节点间通讯的装置的结构示意图;5 is a schematic structural diagram of a device for implementing communication between nodes according to an embodiment of the present application;
图6为本申请实施例所提供的一种电子设备的结构示意图。FIG. 6 is a schematic structural diagram of an electronic device according to an embodiment of the present application.
具体实施方式Detailed ways
为使本发明的目的、技术方案、及优点更加清楚明白,以下参照附图并举实施例,对本发明进一步详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。In order to make the objectives, technical solutions, and advantages of the present invention clearer, the present invention is further described in detail below with reference to the accompanying drawings and examples. Obviously, the described embodiments are only a part of the embodiments of the present invention, but not all the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by a person of ordinary skill in the art without creative efforts shall fall within the protection scope of the present invention.
为了实现SAS网络系统兼容以太网的通讯接口,从而降低用户节点的应用层和数据传输层耦合性的目的,本申请实施例提供了一种实现节点间通讯的方法、装置及电子设备。In order to achieve the purpose of the Ethernet-compatible communication interface of the SAS network system, thereby reducing the coupling between the application layer and the data transmission layer of the user node, the embodiments of the present application provide a method, a device, and an electronic device for implementing communication between nodes.
下面首先对本申请实施例所提供的一种实现节点间通讯的方法进行介绍。The following first describes a method for implementing communication between nodes provided in the embodiments of the present application.
需要说明的是,本申请实施例所提供的一种实现节点间通讯的方法应用 于SAS网络系统中的用户节点。其中,该用户节点的设备类型可以为:计算机、打印机、扫描机等设备。It should be noted that the method for implementing communication between nodes provided in the embodiments of the present application is applied to a user node in a SAS network system. The device type of the user node may be: a computer, a printer, a scanner, and the like.
并且,本申请实施例所述的SAS网络系统可以为局域网系统,该局域网系统中,各个用户节点可以通过SAS交换机进行数据中转。当然,本申请实施例所述的SAS网络系统也可以为广域网系统,该广域网系统中,各个用户节点可以通过SAS交换机、SAS网关进行数据中转。In addition, the SAS network system described in the embodiment of the present application may be a local area network system. In this local area network system, each user node may perform data transfer through a SAS switch. Of course, the SAS network system described in the embodiment of the present application may also be a wide area network system. In this wide area network system, each user node may perform data transfer through a SAS switch and a SAS gateway.
需要强调的是,SAS网络系统中的用户节点为数据传输层采用SAS协议进行数据传输的设备,具体体现在以SAS-HBA作为网卡设备。类似的,SAS交换机为数据传输层采用SAS协议进行数据传输的交换机,而SAS网关为数据传输层采用SAS协议进行数据传输的网关。It should be emphasized that the user node in the SAS network system is a device that uses the SAS protocol for data transmission at the data transmission layer, which is specifically reflected in the use of SAS-HBA as the network card device. Similarly, a SAS switch is a switch that uses the SAS protocol for data transmission at the data transmission layer, and a SAS gateway is a gateway that uses the SAS protocol for data transmission at the data transmission layer.
如图1所示,本申请实施例所提供的一种实现节点间通讯的方法,可以包括如下步骤:As shown in FIG. 1, a method for implementing communication between nodes provided in an embodiment of the present application may include the following steps:
S101,获得目标程序发出的待传输的目标数据;其中,该目标程序为依赖以太网的通讯接口的程序;S101. Obtain target data to be transmitted from a target program. The target program is a program that depends on the communication interface of the Ethernet.
其中,该目标程序发出待传输的目标数据后,该用户节点可以获得目标程序发出的待传输的目标数据,进而对该目标数据进行后续处理。After the target program sends the target data to be transmitted, the user node can obtain the target data to be transmitted from the target program, and then perform subsequent processing on the target data.
可以理解的是,该目标程序所发出的目标数据可以为:基于用户操作所生成的用户数据,也可以为程序本身自行生成的数据,这都是合理的。It can be understood that the target data sent by the target program can be: user data generated based on user operations, or data generated by the program itself, which are all reasonable.
S102,构建携带有该目标数据的以太网报文;S102. Construct an Ethernet packet carrying the target data.
其中,由于目标程序发出的待传输的目标数据为应用层数据,且目标程序为依赖以太网的通讯接口的程序,因此,为了实现SAS网络系统兼容以太网的通讯接口,该用户节点在获得目标程序发出的待传输的目标数据后,可以构建携带有该目标数据的以太网报文。而由于以太网的数据传输协议可以为TCP/IP协议,因此,该以太网报文可以为TCP/IP协议报文。其中,TCP/IP协议,即Transmission Control Protocol/Internet Protocol的简写,中译名为传输控制协议/因特网互联协议,又名网络通讯协议,是Internet最基本的协议、Internet国际互联网络的基础,由网络层的IP协议和传输层的TCP协议组成。Among them, since the target data to be transmitted sent by the target program is application layer data, and the target program is a program that depends on the communication interface of Ethernet, in order to achieve the Ethernet-compatible communication interface of the SAS network system, the user node is acquiring the target After the target data to be transmitted sent by the program, an Ethernet message carrying the target data can be constructed. Since the data transmission protocol of the Ethernet can be a TCP / IP protocol, the Ethernet packet can be a TCP / IP protocol packet. Among them, TCP / IP protocol, short for Transmission Control Protocol / Internet Protocol, Chinese translation is called Transmission Control Protocol / Internet Interconnection Protocol, also known as network communication protocol. It is the most basic protocol of the Internet, the basis of the Internet, It consists of the IP protocol at the layer and the TCP protocol at the transport layer.
需要说明的是,本申请实施例中,构建携带有该目标数据的以太网报文的具体构建方式与现有技术中的构建方式相同。并且,该以太网报文中携带 有源IP地址和目的IP地址,其中,该源IP地址为该用户节点的IP地址,而该目的IP地址为作为数据接收方的目的用户节点的IP地址。其中,IP地址为Internet Protocol Address,是一种在Internet上的给主机编址的方式,也称为网际协议地址。It should be noted that, in the embodiment of the present application, the specific construction method of constructing the Ethernet packet carrying the target data is the same as that in the prior art. In addition, the Ethernet packet carries an active IP address and a destination IP address, wherein the source IP address is the IP address of the user node, and the destination IP address is the IP address of the destination user node as a data receiver. Among them, the IP address is Internet Protocol Address, which is a method of addressing hosts on the Internet, also known as an Internet Protocol address.
S103,将该以太网报文封装为SAS协议报文;S103. Encapsulate the Ethernet packet into a SAS protocol packet.
在构建以太网报文后,为了保证目标数据能够在该用户节点的数据传输层进行传输,该用户节点可以将该以太网报文封装为SAS协议报文,其中,该SAS协议报文为符合SAS传输规范的报文。After the Ethernet message is constructed, in order to ensure that the target data can be transmitted at the data transmission layer of the user node, the user node can encapsulate the Ethernet message into a SAS protocol message, where the SAS protocol message is compliant SAS transmission specification message.
需要说明的是,SAS协议报文中携带有源SAS地址和目的SAS地址。其中,源SAS地址为:作为数据发送方的用户节点的SAS地址,具体指:第一SAS-HBA(Host Bus Adapter,主机总线适配器)中的物理通道的SAS地址,该第一SAS-HBA为安装于作为数据发送方的用户节点的SAS-HBA。而目的SAS地址为:作为数据接收方的用户节点的SAS地址,具体指:第二SAS-HBA中的物理通道的SAS地址,该第二SAS-HBA为安装于作为数据接收方的用户节点的SAS-HBA。It should be noted that the SAS protocol packet carries the source SAS address and the destination SAS address. The source SAS address is: the SAS address of the user node that is the sender of the data, specifically: the SAS address of the physical channel in the first SAS-HBA (Host Bus Adapter). The first SAS-HBA is SAS-HBA installed on a user node as a data sender. The destination SAS address is: the SAS address of the user node as the data receiver, specifically the SAS address of the physical channel in the second SAS-HBA, which is installed on the user node as the data receiver SAS-HBA.
本领域技术人员可以理解的是,根据SAS协议,SAS网络系统中的各个用户节点在加入到该SAS网络系统时,从自身对应的SAS-HBA中读取到SAS地址,并广播至SAS网络系统中的其他用户节点。这样,SAS网络系统中的每一用户节点可以在地址链表中存储有该SAS网络系统中的各个用户节点的SAS地址。Those skilled in the art can understand that according to the SAS protocol, when a user node in a SAS network system joins the SAS network system, it reads the SAS address from its corresponding SAS-HBA and broadcasts it to the SAS network system. Other user nodes in. In this way, each user node in the SAS network system can store the SAS address of each user node in the SAS network system in the address chain table.
并且,任一SAS-HBA可以包括多个物理通道,每一物理通道设置有一个8字节的SAS地址。并且,对于一个SAS-HBA而言,具有同一SAS地址的物理通道属于一个SAS端口,这样,SAS端口的数量与SAS地址的数量相同。需要说明的是,在一种实现方式中,任一SAS-HBA中的每个物理通道的初始SAS地址可以不同,此时一个SAS端口包括一个物理通道,这样,可以构建出与物理通道数量相同的网卡设备,从而实现TCP/IP通道之间的物理隔离。In addition, any SAS-HBA may include multiple physical channels, and each physical channel is provided with an 8-byte SAS address. In addition, for a SAS-HBA, the physical channels with the same SAS address belong to one SAS port. In this way, the number of SAS ports is the same as the number of SAS addresses. It should be noted that in one implementation, the initial SAS address of each physical channel in any SAS-HBA can be different. At this time, one SAS port includes one physical channel. In this way, the same number of physical channels can be constructed. Network card device to achieve physical isolation between TCP / IP channels.
可选地,在一种实现方式中,所述将该以太网报文封装为SAS协议报文的步骤,可以包括:Optionally, in an implementation manner, the step of encapsulating the Ethernet packet into a SAS protocol packet may include:
对该以太网报文添加SAS报头,并为该以太网报文中的以太网帧头字段进行赋值,得到SAS协议报文。A SAS header is added to the Ethernet packet, and an Ethernet frame header field in the Ethernet packet is assigned to obtain a SAS protocol packet.
本实施例中,对该以太网报文所添加的SAS报头包含的字段,与现有技术中SAS协议报文的报头包含的字段的字段相同,具体的,可以至少包括:源SAS地址、目的SAS地址、SAS报文体长度、SAS报头长度等。图2为SAS协议报文的报文格式,如图2所示,SAS头部为SAS报头,以太网帧头、IP头部、TCP头部、数据和帧校验序列构成了SAS协议报文的报文体。In this embodiment, the fields included in the SAS header added to the Ethernet packet are the same as the fields included in the header of the SAS protocol packet in the prior art. Specifically, the fields may include at least the source SAS address, the destination SAS address, SAS body length, SAS header length, etc. Figure 2 shows the message format of the SAS protocol message. As shown in Figure 2, the SAS header is the SAS header. The Ethernet frame header, IP header, TCP header, data, and frame check sequence form the SAS protocol message. The style of the message.
另外,该以太网帧头字段中的源MAC(Media Access Control,媒体访问控制)地址的值可以为:源SAS地址的低6位;而该以太网帧头字段中的目的MAC地址的值可以为:目的SAS地址的低6位,当然并不局限于此。其中,源MAC地址为该用户节点的MAC地址,而该目的MAC地址为该目的用户节点的MAC地址。In addition, the value of the source MAC (Media Access Control) address in the Ethernet frame header field may be: the lower 6 bits of the source SAS address; and the value of the destination MAC address in the Ethernet frame header field may be For: The lower 6 bits of the destination SAS address are of course not limited to this. The source MAC address is the MAC address of the user node, and the destination MAC address is the MAC address of the destination user node.
可选地,为了提高带宽利用率,对于数据量较小的以太网报文,可以将多个数据量较小的以太网报文聚合封装为一个SAS协议报文。基于该种需求,在另一种实现方式中,所述将该以太网报文封装为SAS协议报文的步骤,可以包括:Optionally, in order to improve bandwidth utilization, for Ethernet packets with a small amount of data, multiple Ethernet packets with a small amount of data may be aggregated and encapsulated into one SAS protocol packet. Based on this requirement, in another implementation manner, the step of encapsulating the Ethernet packet into a SAS protocol packet may include:
将包含该以太网报文的多个待传输以太网报文进行聚合,得到聚合后的以太网报文;其中,该多个待传输以太网报文对应同一数据接收方,且该多个待传输以太网报文的数据量不大于预定数据量阈值;Aggregating multiple Ethernet packets to be transmitted including the Ethernet packet to obtain an aggregated Ethernet packet; wherein the multiple Ethernet packets to be transmitted correspond to the same data receiver, and the multiple The data volume of the transmitted Ethernet packets is not greater than the predetermined data volume threshold;
对该聚合后的以太网报文添加SAS报头,并为该以太网报文中的以太网帧头字段进行赋值,得到SAS协议报文。A SAS header is added to the aggregated Ethernet packet, and an Ethernet frame header field in the Ethernet packet is assigned to obtain a SAS protocol packet.
需要说明的是,该多个以太网报文为按照传输顺序所提取的报文,即该多个以太网报文为连续传输的多个报文。并且,在保证较高带宽的前提下,该预定数据量阈值可以根据实际情况设定。并且,对该聚合后的以太网报文添加SAS报头,并为该以太网报文中的以太网帧头字段进行赋值的具体实现方式可以参见上文中介绍的相关内容。It should be noted that the plurality of Ethernet packets are packets extracted according to a transmission order, that is, the plurality of Ethernet packets are a plurality of packets transmitted continuously. In addition, on the premise of ensuring higher bandwidth, the predetermined data amount threshold can be set according to actual conditions. In addition, for a specific implementation manner of adding a SAS header to the aggregated Ethernet packet and assigning values to the Ethernet frame header field in the Ethernet packet, refer to the related content described above.
S104,将该SAS协议报文发送给该用户节点中的SAS-HBA,以使得该SAS-HBA通过转发节点,将该SAS协议报文发送至作为数据接收方的目的用户节点。S104. Send the SAS protocol message to the SAS-HBA in the user node, so that the SAS-HBA sends the SAS protocol message to the destination user node as a data receiver through the forwarding node.
在生成该SAS协议报文后,该用户节点可以将该SAS协议报文发送给该用户节点中的SAS-HBA,以使得该SAS-HBA通过转发节点,将该SAS协议报文发送至作为数据接收方的目的用户节点。进而,该目的用户节点在接收到该SAS协议报文时,将该SAS协议报文解封装为该以太网报文,并将该以太网报文解封装为该目标数据。After generating the SAS protocol message, the user node may send the SAS protocol message to the SAS-HBA in the user node, so that the SAS-HBA sends the SAS protocol message to the data as a data through the forwarding node. The destination user node of the receiver. Further, when receiving the SAS protocol message, the destination user node decapsulates the SAS protocol message into the Ethernet message, and decapsulates the Ethernet message into the target data.
具体的,该用户节点将该SAS协议报文发送给该用户节点中的SAS-HBA,以使得该SAS-HBA利用具有该SAS协议报文中源SAS地址的物理通道,通过转发节点,将该SAS协议报文发送至作为数据接收方的目的用户节点。相应的,目的用户节点中的SAS-HBA可以接收到转发设备所发送的SAS协议报文,进而该目的用户节点对SAS协议报文进行两次解封装,最终得到目标数据。Specifically, the user node sends the SAS protocol message to the SAS-HBA in the user node, so that the SAS-HBA uses a physical channel having a source SAS address in the SAS protocol message, and forwards the The SAS protocol message is sent to the destination user node as the data receiver. Correspondingly, the SAS-HBA in the destination user node can receive the SAS protocol message sent by the forwarding device, and then the destination user node decapsulates the SAS protocol message twice, and finally obtains the target data.
可以理解的是,对于局域网而言,该转发节点为SAS交换机。进而,该SAS-HBA利用具有该SAS协议报文中源SAS地址的物理通道,将该SAS协议报文发送至SAS交换机,进而该SAS交换机将该SAS协议报文发送至目的节点。需要说明的是,SAS交换机在接收到该SAS协议报文后,对该SAS协议报文进行转发的过程,与现有技术SAS网络系统的SAS交换机接收到一SAS协议报文后的转发的过程相同,在此不做赘述。It can be understood that, for a local area network, the forwarding node is a SAS switch. Further, the SAS-HBA sends the SAS protocol message to a SAS switch using a physical channel having a source SAS address in the SAS protocol message, and the SAS switch sends the SAS protocol message to a destination node. It should be noted that after the SAS switch receives the SAS protocol message, the process of forwarding the SAS protocol message is the same as the process of forwarding the SAS protocol message after the SAS switch of the prior art SAS network system receives a SAS protocol message. It is the same and will not be repeated here.
本申请实施例所提供方案中,由于用户节点在获得目标程序发出的待传输的目标数据后,首先将目标数据封装为以太网报文,进而构建SAS协议报文并传输SAS协议报文,这样使得依赖以太网的通讯接口的程序可以应用于用户节点中。因此,通过本方案,可以实现SAS网络系统兼容以太网的通讯接口,从而降低用户节点的应用层和数据传输层耦合性的目的。In the solution provided by the embodiment of the present application, after the user node obtains the target data to be transmitted from the target program, it first encapsulates the target data into an Ethernet message, and then constructs a SAS protocol message and transmits the SAS protocol message. So that the program relying on the communication interface of Ethernet can be applied to the user node. Therefore, through this solution, the communication interface compatible with the Ethernet of the SAS network system can be realized, thereby reducing the purpose of coupling the application layer and the data transmission layer of the user node.
另外,由于具有同一SAS地址的物理通道被归为一个SAS端口,为了提高通讯带宽,可以监控端口的流量压力,动态调节端口所包括的物理通道的数量。基于该种需求,本申请实施例所提供的一种实现节点间通讯的方法,还可以包括如下步骤A和B:In addition, since the physical channels with the same SAS address are classified as one SAS port, in order to increase the communication bandwidth, the traffic pressure of the port can be monitored and the number of physical channels included in the port can be dynamically adjusted. Based on this requirement, the method for implementing communication between nodes provided in the embodiments of the present application may further include the following steps A and B:
步骤A、当检测到自身的SAS-HBA中的第一物理通道的数据流量符合预定通道忙碌条件时,查找符合预定空闲条件的目标物理通道;其中,该第一 物理通道为该SAS-HBA中的任一物理通道或预定物理通道;Step A: When detecting that the data flow of the first physical channel in the SAS-HBA meets the predetermined channel busy condition, find a target physical channel that meets the predetermined idle condition; wherein the first physical channel is in the SAS-HBA Any physical channel or scheduled physical channel;
在该用户节点运行过程中,该用户节点可以通过实时检测方式、定时检测方式或轮询检测方式来检测自身的SAS-HBA中的各个物理通道的数据流量,进而当检测自身的SAS-HBA中的第一物理通道的数据流量符合预定通道忙碌条件时,查找符合预定空闲条件的目标物理通道,其中,该第一物理通道为该SAS-HBA中的任一物理通道。当然,在该用户节点运行过程中,该用户节点可以检测自身的SAS-HBA中的预定物理通道的数据流量,此时该预定物理通道为第一物理通道;进而,当检测到该预定物理通道的数据流量符合预定通道忙碌条件时,查找符合预定空闲条件的目标物理通道。During the operation of the user node, the user node can detect the data traffic of each physical channel in its SAS-HBA through real-time detection, timing detection or polling detection, and then when detecting its own SAS-HBA When the data traffic of the first physical channel meets the busy condition of the predetermined channel, the target physical channel that meets the predetermined idle condition is searched, where the first physical channel is any physical channel in the SAS-HBA. Of course, during the operation of the user node, the user node can detect the data traffic of a predetermined physical channel in its SAS-HBA, and then the predetermined physical channel is the first physical channel; further, when the predetermined physical channel is detected When the data traffic meets the predetermined channel busy condition, find the target physical channel that meets the predetermined idle condition.
其中,预定通道忙碌条件和预定空闲条件可以根据实际情况进行设定,举例而言,该预定通道忙碌条件可以为单位数据流量超过预定流量上限值,而该预定空闲条件可以为单位数据流量低于预定流量下限值,当然并不局限于此。The predetermined channel busy condition and the predetermined idle condition can be set according to actual conditions. For example, the predetermined channel busy condition can be that the unit data traffic exceeds the predetermined traffic upper limit value, and the predetermined idle condition can be that the unit data traffic is low. The lower limit of the predetermined flow rate is of course not limited to this.
步骤B、当查找到该目标物理通道时,将该目标物理通道的SAS地址重设为该第一物理通道的SAS地址。Step B: When the target physical channel is found, reset the SAS address of the target physical channel to the SAS address of the first physical channel.
当查找到该目标物理通道时,该用户节点可以将该目标物理通道的SAS地址重设为该第一物理通道的SAS地址,这样使得处于忙碌的物理通道所在的SAS端口中的物理通道数量得到增加,即端口得到聚合。通过动态调节SAS端口所包括物理通道的数量,可以实现动态控制通讯带宽。When the target physical channel is found, the user node can reset the SAS address of the target physical channel to the SAS address of the first physical channel, so that the number of physical channels in the SAS port where the busy physical channel is located can be obtained. Increase, that is, the port gets aggregated. By dynamically adjusting the number of physical channels included in the SAS port, the communication bandwidth can be dynamically controlled.
具体的,所述将该目标物理通道的SAS地址重设为该第一物理通道的SAS地址的步骤,可以包括:Specifically, the step of resetting the SAS address of the target physical channel to the SAS address of the first physical channel may include:
将该目标物理通道进行禁用;Disable the target physical channel;
将该目标物理通道的SAS地址设置为该第一物理通道的SAS地址;Setting the SAS address of the target physical channel as the SAS address of the first physical channel;
在设置完成后,将该目标物理通道进行使能。After the setting is completed, enable the target physical channel.
为了方便理解动态调节SAS端口所包括物理通道的数量的过程,可以参见图3(a)和图3(b)所示的示例图。参见图3(a),各个物理通道的SAS地址均不同,此时,各个物理通道分属不同的SAS端口,具体为:SAS端口port1包括物理通道phy1,SAS端口port2包括物理通道phy2,SAS端口port3包括物理通道phy3,SAS端口port4包括物理通道phy4。当检测到phy1的数 据流量符合预定通道忙碌条件时,检测到phy2、3和4的数据流量符合预定空闲条件时,可以将phy2、3和4的SAS地址设置为phy1的SAS地址,这样port1所包括的物理通道由仅仅包括phy1调整为phy1、2、3和4,即phy1、phy2、phy3和phy4聚合到port1中,如图3(b),从而达到动态控制通讯带宽的目的。To facilitate understanding of the process of dynamically adjusting the number of physical channels included in the SAS port, refer to the example diagrams shown in FIG. 3 (a) and FIG. 3 (b). Referring to FIG. 3 (a), the SAS address of each physical channel is different. At this time, each physical channel belongs to a different SAS port. Specifically: SAS port port1 includes physical channel phy1, SAS port port2 includes physical channel phy2, and SAS port. port3 includes a physical channel phy3, and SAS port port4 includes a physical channel phy4. When it is detected that the data traffic of phy1 meets the predetermined channel busy condition, and it is detected that the data traffic of phy2, 3, and 4 meets the predetermined idle condition, the SAS address of phy2, 3, and 4 can be set to the SAS address of phy1. The included physical channels are adjusted from only including phy1 to phy1, 2, 3, and 4, that is, phy1, phy2, phy3, and phy4 are aggregated into port1, as shown in Figure 3 (b), so as to achieve the purpose of dynamically controlling the communication bandwidth.
需要说明的是,由于phy2、phy3和phy4被动态聚合到phy1所对应的SAS端口中,因此,将phy2、phy3和phy4的SAS地址从地址链表中删除,而phy1的SAS地址作为属于同一SAS端口的phy2、phy3和phy4的SAS地址保留在地址链表中。并且,用户节点将聚合之前由phy2、phy3和phy4的未传输的报文进行重传,具体的,利用port1对应的SAS地址进行重传,所重传的报文可以通过四个物理通道传输。It should be noted that, because phy2, phy3, and phy4 are dynamically aggregated into the SAS port corresponding to phy1, the SAS addresses of phy2, phy3, and phy4 are deleted from the address list, and the SAS address of phy1 is regarded as belonging to the same SAS port. The SAS addresses of phy2, phy3, and phy4 are kept in the address list. In addition, the user node retransmits the untransmitted packets from phy2, phy3, and phy4 before the aggregation. Specifically, the SAS address corresponding to port1 is used for retransmission. The retransmitted packets can be transmitted through four physical channels.
为了方案清楚,下面结合具体实施例来对本申请实施例所提供的方法进行介绍。In order to clarify the solution, the method provided in the embodiment of the present application is described below with reference to specific embodiments.
图4为本申请实施例所提供的SAS网络系统的拓扑示意图。如图4所示,一种实现节点间通讯的方法可以包括如下步骤:FIG. 4 is a schematic diagram of a topology of a SAS network system according to an embodiment of the present application. As shown in FIG. 4, a method for implementing communication between nodes may include the following steps:
(1)节点-1的应用层接收到socket通讯请求后,获得socket通讯请求对应的应用层数据包,并将该应用层数据包发送至属于软件的节点-1的TCP/IP栈;(1) After receiving the socket communication request, the application layer of node-1 obtains the application layer data packet corresponding to the socket communication request and sends the application layer data packet to the TCP / IP stack of node-1 belonging to the software;
(2)节点-1的TCP/IP栈构建携带有该应用层数据包的以太网报文,并将该以太网报文发送给属于软件的节点-1的虚拟以太网驱动;(2) The TCP / IP stack of node-1 constructs an Ethernet message carrying the application layer data packet, and sends the Ethernet message to the virtual Ethernet driver of node-1 belonging to the software;
(3)节点-1的虚拟以太网驱动将以太网报文封装为SAS协议报文,并将该SAS协议报文发送至属于软件的节点-1的SAS-HBA驱动;(3) The virtual Ethernet driver of node-1 encapsulates the Ethernet message into a SAS protocol message and sends the SAS protocol message to the SAS-HBA driver of node-1 belonging to the software;
(4)节点-1的SAS-HBA驱动将SAS协议报文发送至属于硬件的节点-1的SAS-HBA;(4) The SAS-HBA driver of node-1 sends the SAS protocol packet to the SAS-HBA of node-1 belonging to the hardware;
(5)节点-1的SAS-HBA将该SAS协议报文发送至SAS交换机;(5) The SAS-HBA of node-1 sends the SAS protocol packet to the SAS switch;
(6)SAS交换机将所接收到的SAS协议报文转发至作为数据接收方的节点-n;(6) The SAS switch forwards the received SAS protocol message to node-n, which is the data receiver;
(7)属于硬件的节点-n的SAS-HBA接收到SAS交换机转发的SAS协 议报文,并传递给属于软件的节点-n的SAS-HBA驱动;(7) The SAS-HBA belonging to the node-n belonging to the hardware receives the SAS protocol packet forwarded by the SAS switch and passes it to the SAS-HBA driver belonging to the node-n belonging to the software;
(8)节点-n的SAS-HBA驱动将所接收的SAS协议报文发送至属于软件的节点-n的虚拟以太网驱动;(8) The SAS-HBA driver of node-n sends the received SAS protocol message to the virtual Ethernet driver of node-n belonging to the software;
(9)节点-n的虚拟以太网驱动将SAS协议报文解封装为以太网报文,并将以太网报文传递给属于软件的TCP/IP协议栈;(9) The virtual Ethernet driver of node-n decapsulates the SAS protocol message into an Ethernet message, and passes the Ethernet message to the TCP / IP protocol stack belonging to the software;
(10)节点-n的TCP/IP协议栈将以太网报文解析为应用层数据包。(10) The TCP-IP protocol stack of node-n parses the Ethernet message into an application layer data packet.
进一步的,节点-1和节点-n的SAS-HBA可以监控各个物理通道或预定物理通道的数据流量,进而动态调节SAS端口中物理通道的数量,实现动态控制TCP/IP通讯带宽。Further, the node-1 and node-n SAS-HBAs can monitor the data traffic of each physical channel or a predetermined physical channel, and then dynamically adjust the number of physical channels in the SAS port to achieve dynamic control of TCP / IP communication bandwidth.
可见,通过该具体实施例所提供方案,可以实现SAS网络系统兼容以太网的通讯接口,从而降低用户节点的应用层和数据传输层耦合性的目的。It can be seen that, through the solution provided by this specific embodiment, an Ethernet-compatible communication interface of the SAS network system can be realized, thereby reducing the purpose of coupling the application layer and the data transmission layer of the user node.
相应于上述方法实施例,本申请实施例提供了一种实现节点间通讯的装置,应用于串行连接小型计算机系统接口SAS网络系统中的用户节点。如图5所示,该实现节点间通讯的装置可以包括:Corresponding to the foregoing method embodiments, an embodiment of the present application provides a device for implementing inter-node communication, which is applied to a serially connected user node in a small computer system interface SAS network system. As shown in FIG. 5, the device for implementing communication between nodes may include:
数据获得单元510,用于获得目标程序发出的待传输的目标数据;其中,该目标程序为依赖以太网的通讯接口的程序;The data obtaining unit 510 is configured to obtain target data to be transmitted sent by the target program, where the target program is a program that depends on a communication interface of the Ethernet;
以太网报文构建单元520,用于构建携带有所述目标数据的以太网报文;An Ethernet packet constructing unit 520, configured to construct an Ethernet packet carrying the target data;
报文封装单元530,用于将所述以太网报文封装为SAS协议报文;A packet encapsulating unit 530, configured to encapsulate the Ethernet packet into a SAS protocol packet;
报文发送单元540,用于将所述SAS协议报文发送给所述用户节点中的SAS-HBA,以使得所述SAS-HBA通过转发节点,将所述SAS协议报文发送至作为数据接收方的目的用户节点;其中,所述目的用户节点在接收到所述SAS协议报文时,将所述SAS协议报文解封装为所述以太网报文,并将所述以太网报文解封装为所述目标数据;其中,所述SAS-HBA为采用SAS协议的主机总线适配器。A message sending unit 540, configured to send the SAS protocol message to a SAS-HBA in the user node, so that the SAS-HBA sends the SAS protocol message to the data receiver through a forwarding node The destination user node of the party; when the destination user node receives the SAS protocol message, it decapsulates the SAS protocol message into the Ethernet message, and decompresses the Ethernet message The package is the target data; wherein, the SAS-HBA is a host bus adapter using the SAS protocol.
本申请实施例所提供方案中,由于用户节点在获得目标程序发出的待传输的目标数据后,首先将目标数据封装为以太网报文,进而构建SAS协议报文并传输SAS协议报文,这样使得依赖以太网的通讯接口的程序可以应用于用户节点中。因此,通过本方案,可以实现SAS网络系统兼容以太网的通讯 接口,从而降低用户节点的应用层和数据传输层耦合性的目的。In the solution provided by the embodiment of the present application, after the user node obtains the target data to be transmitted from the target program, it first encapsulates the target data into an Ethernet message, and then constructs a SAS protocol message and transmits the SAS protocol message. So that the program relying on the communication interface of Ethernet can be applied to the user node. Therefore, through this solution, the communication interface compatible with Ethernet of the SAS network system can be realized, thereby reducing the coupling between the application layer and the data transmission layer of the user node.
可选地,所述报文封装单元530可以包括:Optionally, the message encapsulation unit 530 may include:
第一报文封装子单元,用于对所述以太网报文添加SAS报头,并为所述以太网报文中的以太网帧头字段进行赋值,得到SAS协议报文。The first packet encapsulation subunit is configured to add a SAS header to the Ethernet packet, and assign a value to an Ethernet frame header field in the Ethernet packet to obtain a SAS protocol packet.
可选地,所述报文封装单元530可以包括:Optionally, the message encapsulation unit 530 may include:
聚合子单元,用于将包含所述以太网报文的多个待传输以太网报文进行聚合,得到聚合后的以太网报文;其中,所述多个待传输以太网报文对应同一数据接收方,且所述多个待传输以太网报文的数据量不大于预定数据量阈值;An aggregation subunit, configured to aggregate multiple Ethernet packets to be transmitted including the Ethernet packet to obtain an aggregated Ethernet packet; wherein the multiple Ethernet packets to be transmitted correspond to the same data The receiver, and the data amount of the plurality of Ethernet packets to be transmitted is not greater than a predetermined data amount threshold;
第二报文封装子单元,用于对所述聚合后的以太网报文添加SAS报头,并为所述以太网报文中的以太网帧头字段进行赋值,得到SAS协议报文。The second message encapsulation subunit is configured to add a SAS header to the aggregated Ethernet packet, and assign a value to an Ethernet frame header field in the Ethernet packet to obtain a SAS protocol packet.
可选地,所述报文发送单元540具体用于:Optionally, the message sending unit 540 is specifically configured to:
将所述SAS协议报文发送给该用户节点中的SAS-HBA,以使得所述SAS-HBA利用具有所述SAS协议报文中源SAS地址的物理通道,通过转发节点,将所述SAS协议报文发送至作为数据接收方的目的用户节点。Sending the SAS protocol message to the SAS-HBA in the user node, so that the SAS-HBA uses the physical channel with the source SAS address in the SAS protocol message to forward the SAS protocol through the forwarding node The message is sent to the destination user node as the data receiver.
可选地,所述SAS-HBA中的每个物理通道的初始SAS地址不同。Optionally, the initial SAS address of each physical channel in the SAS-HBA is different.
可选地,所述装置还包括:Optionally, the apparatus further includes:
物理通道查找单元,用于当检测到自身的SAS-HBA中的第一物理通道的数据流量符合预定通道忙碌条件时,查找符合预定空闲条件的目标物理通道;其中,所述第一物理通道为所述SAS-HBA中的任一物理通道或预定物理通道;A physical channel searching unit, configured to find a target physical channel that meets a predetermined idle condition when detecting that the data traffic of the first physical channel in the SAS-HBA meets a predetermined channel busy condition; wherein the first physical channel is Any physical channel or a predetermined physical channel in the SAS-HBA;
地址重设单元,用于当查找到所述目标物理通道时,将所述目标物理通道的SAS地址重设为所述第一物理通道的SAS地址。The address resetting unit is configured to reset the SAS address of the target physical channel to the SAS address of the first physical channel when the target physical channel is found.
可选地,所述地址重设单元具体用于:Optionally, the address resetting unit is specifically configured to:
当查找到所述目标物理通道时,将所述目标物理通道进行禁用;When the target physical channel is found, disable the target physical channel;
将所述目标物理通道的SAS地址设置为所述第一物理通道的SAS地址;Setting the SAS address of the target physical channel to the SAS address of the first physical channel;
在设置完成后,将所述目标物理通道进行使能。After the setting is completed, the target physical channel is enabled.
本申请实施例还提供了一种电子设备,如图6所示,包括处理器610、通信接口620、存储器630和通信总线640,其中,处理器610,通信接口620, 存储器630通过通信总线640完成相互间的通信,An embodiment of the present application further provides an electronic device, as shown in FIG. 6, including a processor 610, a communication interface 620, a memory 630, and a communication bus 640, where the processor 610, the communication interface 620, and the memory 630 pass the communication bus 640. Complete mutual communication,
存储器630,用于存放计算机程序;A memory 630, configured to store a computer program;
处理器610,用于执行存储器630上所存放的程序时,实现本申请实施例所提供的一种实现节点间通讯的方法步骤。The processor 610 is configured to implement a method step for implementing communication between nodes provided in the embodiment of the present application when a program stored in the memory 630 is executed.
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral Component Interconnect,PCI)总线或扩展工业标准结构(Extended Industry Standard Architecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。The communication bus mentioned in the above electronic device may be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus, etc. The communication bus can be divided into an address bus, a data bus, a control bus, and the like. For ease of representation, the figure only uses a thick line, but it does not mean that there is only one bus or one type of bus.
通信接口用于上述电子设备与其他设备之间的通信。The communication interface is used for communication between the aforementioned electronic device and other devices.
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。The memory may include random access memory (Random Access Memory, RAM), and may also include non-volatile memory (Non-Volatile Memory, NVM), such as at least one disk memory. Optionally, the memory may also be at least one storage device located far from the foregoing processor.
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital Signal Processing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。The above processor may be a general-purpose processor, including a central processing unit (CPU), a network processor (NP), etc .; it may also be a digital signal processor (Digital Signal Processing, DSP), special integration Circuit (Application Specific Integrated Circuit, ASIC), Field-Programmable Gate Array (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components.
另外,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现本申请实施例所提供的一种实现节点间通讯的方法步骤。In addition, an embodiment of the present application further provides a computer-readable storage medium. The computer-readable storage medium stores a computer program, and the computer program is executed by a processor to implement an implementation provided by the embodiment of the present application. Method steps for communication between nodes.
另外,本申请实施例还提供了一种可执行程序代码,所述可执行程序代码用于被运行以执行本申请实施例所提供的一种实现节点间通讯的方法步骤。In addition, the embodiment of the present application also provides an executable program code, where the executable program code is used to be executed to perform a method step of implementing communication between nodes provided by the embodiment of the present application.
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列 出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。It should be noted that in this article, relational terms such as first and second are used only to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply that these entities or operations There is any such actual relationship or order among them. Moreover, the terms "including", "comprising", or any other variation thereof are intended to encompass non-exclusive inclusion, such that a process, method, article, or device that includes a series of elements includes not only those elements but also those that are not explicitly listed Or other elements inherent to such a process, method, article, or device. Without more restrictions, the elements defined by the sentence "including a ..." do not exclude the existence of other identical elements in the process, method, article, or equipment that includes the elements.
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。Each embodiment in this specification is described in a related manner, and the same or similar parts between the various embodiments can be referred to each other. Each embodiment focuses on the differences from other embodiments. In particular, for the system embodiment, since it is basically similar to the method embodiment, the description is relatively simple, and for the relevant parts, refer to the description of the method embodiment.
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。The above are only preferred embodiments of the present invention and are not intended to limit the present invention. Any modification, equivalent replacement, or improvement made within the spirit and principle of the present invention should be included in the present invention. Within the scope of protection.

Claims (17)

  1. 一种实现节点间通讯的方法,其特征在于,应用于串行连接小型计算机系统接口SAS网络系统中的用户节点;所述方法包括:A method for implementing communication between nodes, which is characterized in that it is applied to a user node in a serial connection small computer system interface SAS network system; the method includes:
    获得目标程序发出的待传输的目标数据;其中,该目标程序为依赖以太网的通讯接口的程序;Obtaining target data to be transmitted from the target program; wherein the target program is a program that depends on the communication interface of the Ethernet;
    构建携带有所述目标数据的以太网报文;Constructing an Ethernet message carrying the target data;
    将所述以太网报文封装为SAS协议报文;Encapsulating the Ethernet message into a SAS protocol message;
    将所述SAS协议报文发送给所述用户节点中的SAS-HBA,以使得所述SAS-HBA通过转发节点,将所述SAS协议报文发送至作为数据接收方的目的用户节点;其中,所述目的用户节点在接收到所述SAS协议报文时,将所述SAS协议报文解封装为所述以太网报文,并将所述以太网报文解封装为所述目标数据;其中,所述SAS-HBA为采用SAS协议的主机总线适配器。Sending the SAS protocol message to a SAS-HBA in the user node, so that the SAS-HBA sends the SAS protocol message to a destination user node as a data receiver through a forwarding node; wherein, When receiving the SAS protocol message, the destination user node decapsulates the SAS protocol message into the Ethernet message, and decapsulates the Ethernet message into the target data; wherein The SAS-HBA is a host bus adapter adopting the SAS protocol.
  2. 根据权利要求1所述的方法,其特征在于,所述将所述以太网报文封装为SAS协议报文的步骤,包括:The method according to claim 1, wherein the step of encapsulating the Ethernet packet into a SAS protocol packet comprises:
    对所述以太网报文添加SAS报头,并为所述以太网报文中的以太网帧头字段进行赋值,得到SAS协议报文。A SAS header is added to the Ethernet packet, and an Ethernet frame header field in the Ethernet packet is assigned to obtain a SAS protocol packet.
  3. 根据权利要求1所述的方法,其特征在于,所述将所述以太网报文封装为SAS协议报文的步骤,包括:The method according to claim 1, wherein the step of encapsulating the Ethernet packet into a SAS protocol packet comprises:
    将包含所述以太网报文的多个待传输以太网报文进行聚合,得到聚合后的以太网报文;其中,所述多个待传输以太网报文对应同一数据接收方,且所述多个待传输以太网报文的数据量不大于预定数据量阈值;Aggregating a plurality of Ethernet packets to be transmitted including the Ethernet packet to obtain an aggregated Ethernet packet; wherein the plurality of Ethernet packets to be transmitted correspond to a same data receiver, and the The data volume of multiple Ethernet packets to be transmitted is not greater than a predetermined data volume threshold;
    对所述聚合后的以太网报文添加SAS报头,并为所述以太网报文中的以太网帧头字段进行赋值,得到SAS协议报文。A SAS header is added to the aggregated Ethernet packet, and an Ethernet frame header field in the Ethernet packet is assigned to obtain a SAS protocol packet.
  4. 根据权利要求1所述的方法,其特征在于,所述将所述SAS协议报文发送给所述用户节点中的SAS-HBA,以使得所述SAS-HBA通过转发节点,将所述SAS协议报文发送至作为数据接收方的目的用户节点的步骤,包括:The method according to claim 1, wherein the sending the SAS protocol message to a SAS-HBA in the user node, so that the SAS-HBA passes the SAS protocol through a forwarding node The steps for sending the message to the destination user node as the data receiver include:
    将所述SAS协议报文发送给该用户节点中的SAS-HBA,以使得所述 SAS-HBA利用具有所述SAS协议报文中源SAS地址的物理通道,通过转发节点,将所述SAS协议报文发送至作为数据接收方的目的用户节点。Sending the SAS protocol message to the SAS-HBA in the user node, so that the SAS-HBA uses the physical channel with the source SAS address in the SAS protocol message to forward the SAS protocol through the forwarding node The message is sent to the destination user node as the data receiver.
  5. 根据权利要求4所述的方法,其特征在于,所述SAS-HBA中的每个物理通道的初始SAS地址不同。The method according to claim 4, wherein an initial SAS address of each physical channel in the SAS-HBA is different.
  6. 根据权利要求4或5所述的方法,其特征在于,所述方法还包括:The method according to claim 4 or 5, further comprising:
    当检测到自身的SAS-HBA中的第一物理通道的数据流量符合预定通道忙碌条件时,查找符合预定空闲条件的目标物理通道;其中,所述第一物理通道为所述SAS-HBA中的任一物理通道或预定物理通道;When it is detected that the data flow of the first physical channel in the SAS-HBA meets the predetermined channel busy condition, find the target physical channel that meets the predetermined idle condition; wherein the first physical channel is the Any physical channel or predetermined physical channel;
    当查找到所述目标物理通道时,将所述目标物理通道的SAS地址重设为所述第一物理通道的SAS地址。When the target physical channel is found, the SAS address of the target physical channel is reset to the SAS address of the first physical channel.
  7. 根据权利要求6所述的方法,其特征在于,所述将所述目标物理通道的SAS地址重设为所述第一物理通道的SAS地址的步骤,包括:The method according to claim 6, wherein the step of resetting the SAS address of the target physical channel to the SAS address of the first physical channel comprises:
    将所述目标物理通道进行禁用;Disable the target physical channel;
    将所述目标物理通道的SAS地址设置为所述第一物理通道的SAS地址;Setting the SAS address of the target physical channel to the SAS address of the first physical channel;
    在设置完成后,将所述目标物理通道进行使能。After the setting is completed, the target physical channel is enabled.
  8. 一种实现节点间通讯的装置,其特征在于,应用于串行连接小型计算机系统接口SAS网络系统中的用户节点;所述装置包括:A device for implementing inter-node communication is characterized in that it is applied to a user node in a serial connection small computer system interface SAS network system; the device includes:
    数据获得单元,用于获得目标程序发出的待传输的目标数据;其中,该目标程序为依赖以太网的通讯接口的程序;A data obtaining unit for obtaining target data to be transmitted from the target program; wherein the target program is a program that depends on a communication interface of the Ethernet;
    以太网报文构建单元,用于构建携带有所述目标数据的以太网报文;An Ethernet message constructing unit, configured to construct an Ethernet message carrying the target data;
    报文封装单元,用于将所述以太网报文封装为SAS协议报文;A message encapsulation unit, configured to encapsulate the Ethernet message into a SAS protocol message;
    报文发送单元,用于将所述SAS协议报文发送给所述用户节点中的SAS-HBA,以使得所述SAS-HBA通过转发节点,将所述SAS协议报文发送至作为数据接收方的目的用户节点;其中,所述目的用户节点在接收到所述SAS协议报文时,将所述SAS协议报文解封装为所述以太网报文,并将所述以太网报文解封装为所述目标数据;其中,所述SAS-HBA为采用SAS协议的主机总 线适配器。A message sending unit, configured to send the SAS protocol message to a SAS-HBA in the user node, so that the SAS-HBA sends the SAS protocol message to a data receiver through a forwarding node A destination user node; wherein when the destination user node receives the SAS protocol message, it decapsulates the SAS protocol message into the Ethernet message, and decapsulates the Ethernet message Is the target data; wherein, the SAS-HBA is a host bus adapter using the SAS protocol.
  9. 根据权利要求8所述的装置,其特征在于,所述报文封装单元包括:The apparatus according to claim 8, wherein the message encapsulation unit comprises:
    第一报文封装子单元,用于对所述以太网报文添加SAS报头,并为所述以太网报文中的以太网帧头字段进行赋值,得到SAS协议报文。The first packet encapsulation subunit is configured to add a SAS header to the Ethernet packet, and assign a value to an Ethernet frame header field in the Ethernet packet to obtain a SAS protocol packet.
  10. 根据权利要求8所述的装置,其特征在于,所述报文封装单元包括:The apparatus according to claim 8, wherein the message encapsulation unit comprises:
    聚合子单元,用于将包含所述以太网报文的多个待传输以太网报文进行聚合,得到聚合后的以太网报文;其中,所述多个待传输以太网报文对应同一数据接收方,且所述多个待传输以太网报文的数据量不大于预定数据量阈值;An aggregation subunit, configured to aggregate multiple Ethernet packets to be transmitted including the Ethernet packet to obtain an aggregated Ethernet packet; wherein the multiple Ethernet packets to be transmitted correspond to the same data The receiver, and the data amount of the plurality of Ethernet packets to be transmitted is not greater than a predetermined data amount threshold;
    第二报文封装子单元,用于对所述聚合后的以太网报文添加SAS报头,并为所述以太网报文中的以太网帧头字段进行赋值,得到SAS协议报文。The second message encapsulation subunit is configured to add a SAS header to the aggregated Ethernet packet, and assign a value to an Ethernet frame header field in the Ethernet packet to obtain a SAS protocol packet.
  11. 根据权利要求8所述的装置,其特征在于,所述报文发送单元具体用于:The apparatus according to claim 8, wherein the message sending unit is specifically configured to:
    将所述SAS协议报文发送给该用户节点中的SAS-HBA,以使得所述SAS-HBA利用具有所述SAS协议报文中源SAS地址的物理通道,通过转发节点,将所述SAS协议报文发送至作为数据接收方的目的用户节点。Sending the SAS protocol message to the SAS-HBA in the user node, so that the SAS-HBA uses the physical channel with the source SAS address in the SAS protocol message to forward the SAS protocol through the forwarding node The message is sent to the destination user node as the data receiver.
  12. 根据权利要求11所述的装置,其特征在于,所述SAS-HBA中的每个物理通道的初始SAS地址不同。The apparatus according to claim 11, wherein an initial SAS address of each physical channel in the SAS-HBA is different.
  13. 根据权利要求11或12所述的装置,其特征在于,所述装置还包括:The device according to claim 11 or 12, wherein the device further comprises:
    物理通道查找单元,用于当检测到自身的SAS-HBA中的第一物理通道的数据流量符合预定通道忙碌条件时,查找符合预定空闲条件的目标物理通道;其中,所述第一物理通道为所述SAS-HBA中的任一物理通道或预定物理通道;A physical channel searching unit, configured to find a target physical channel that meets a predetermined idle condition when detecting that the data traffic of the first physical channel in the SAS-HBA meets a predetermined channel busy condition; wherein the first physical channel is Any physical channel or a predetermined physical channel in the SAS-HBA;
    地址重设单元,用于当查找到所述目标物理通道时,将所述目标物理通道的SAS地址重设为所述第一物理通道的SAS地址。The address resetting unit is configured to reset the SAS address of the target physical channel to the SAS address of the first physical channel when the target physical channel is found.
  14. 根据权利要求13所述的装置,其特征在于,所述地址重设单元具体用于:The apparatus according to claim 13, wherein the address resetting unit is specifically configured to:
    当查找到所述目标物理通道时,将所述目标物理通道进行禁用;When the target physical channel is found, disable the target physical channel;
    将所述目标物理通道的SAS地址设置为所述第一物理通道的SAS地址;Setting the SAS address of the target physical channel to the SAS address of the first physical channel;
    在设置完成后,将所述目标物理通道进行使能。After the setting is completed, the target physical channel is enabled.
  15. 一种电子设备,所述电子设备为串行连接小型计算机系统接口SAS网络系统中的用户节点,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;An electronic device is a user node in a serial connection small computer system interface SAS network system, characterized in that it includes a processor, a communication interface, a memory, and a communication bus, wherein the processor, the communication interface, and the memory Complete communication with each other through the communication bus;
    存储器,用于存放计算机程序;Memory for storing computer programs;
    处理器,用于执行存储器上所存放的程序时,实现权利要求1-7任一所述的方法步骤。The processor is configured to implement the method steps according to any one of claims 1 to 7 when executing a program stored in the memory.
  16. 一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-7任一所述的方法步骤。A computer-readable storage medium, characterized in that a computer program is stored in the computer-readable storage medium, and when the computer program is executed by a processor, the method steps according to any one of claims 1-7 are implemented.
  17. 一种可执行程序代码,其特征在于,所述可执行程序代码用于被运行以执行权利要求1-7任一所述的方法步骤。An executable program code, wherein the executable program code is used to be executed to execute the method steps according to any one of claims 1-7.
PCT/CN2018/120069 2018-05-31 2018-12-10 Method and apparatus for implementing communication between nodes, and electronic device WO2019227891A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201810550194.0A CN110557354B (en) 2018-05-31 2018-05-31 Method and device for realizing communication between nodes and electronic equipment
CN201810550194.0 2018-05-31

Publications (1)

Publication Number Publication Date
WO2019227891A1 true WO2019227891A1 (en) 2019-12-05

Family

ID=68698600

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2018/120069 WO2019227891A1 (en) 2018-05-31 2018-12-10 Method and apparatus for implementing communication between nodes, and electronic device

Country Status (2)

Country Link
CN (1) CN110557354B (en)
WO (1) WO2019227891A1 (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112636789A (en) * 2020-12-31 2021-04-09 广东电网有限责任公司电力调度控制中心 Virtual MAC method and device for power line communication
CN114157684A (en) * 2020-08-18 2022-03-08 华为终端有限公司 Message processing method, device and storage medium
CN114338262A (en) * 2021-11-26 2022-04-12 国网信息通信产业集团有限公司 Energy cabin communication method and system and electronic equipment
CN114928589A (en) * 2022-03-17 2022-08-19 京东科技信息技术有限公司 Data transmission method, data transmission device, computer readable medium and equipment
CN115086446A (en) * 2022-08-16 2022-09-20 国能日新科技股份有限公司 Data transmission method, system, device, equipment and computer readable storage medium
CN116016725A (en) * 2023-03-24 2023-04-25 深圳开鸿数字产业发展有限公司 Information transmission method, computer device and storage medium
CN116436994A (en) * 2023-06-15 2023-07-14 杭州禾芯半导体有限公司 Profinet protocol message transmission method, device, equipment and medium

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114338798B (en) * 2021-12-27 2023-04-25 北京神经元网络技术有限公司 Data transmission method, device, system, equipment and storage medium
CN118018352A (en) * 2023-08-25 2024-05-10 深圳市汇顶科技股份有限公司 Chip, networking system and electronic equipment

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090222569A1 (en) * 2008-02-29 2009-09-03 Atrato, Inc. Storage system front end
US20120303701A1 (en) * 2011-05-25 2012-11-29 Lsi Corporation Transmitting internet protocol over scsi in a high availability cluster
CN103116504A (en) * 2011-11-16 2013-05-22 Lsi公司 Method and system to enable pre-boot executable environment operating system install using switch in scalable direct attached storage environment
US20140122766A1 (en) * 2012-10-26 2014-05-01 International Business Machines Corporation High speed differential wiring strategy for serially attached scsi systems
CN103812777A (en) * 2012-11-01 2014-05-21 国际商业机器公司 Efficient data transmission system and method in overlay virtualized network
US20150301964A1 (en) * 2014-02-18 2015-10-22 Alistair Mark Brinicombe Methods and systems of multi-memory, control and data plane architecture

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4347351B2 (en) * 2007-02-15 2009-10-21 富士通株式会社 Data encryption apparatus, data decryption apparatus, data encryption method, data decryption method, and data relay apparatus
US8140696B2 (en) * 2007-03-12 2012-03-20 International Business Machines Corporation Layering serial attached small computer system interface (SAS) over ethernet
CN101729580A (en) * 2008-10-24 2010-06-09 成都市华为赛门铁克科技有限公司 Storage method and system, terminal service panel, control panel and storage channel panel
CN105867843A (en) * 2016-03-25 2016-08-17 天津书生云科技有限公司 Data transmission method and device
CN105472047B (en) * 2016-02-03 2019-05-14 天津书生云科技有限公司 Storage system
JP2014026529A (en) * 2012-07-27 2014-02-06 Fujitsu Ltd Storage system and control method thereof
CN104111805B (en) * 2014-07-15 2017-06-13 华为技术有限公司 A kind of I/O request processing methods and storage system
CN104657316B (en) * 2015-03-06 2018-01-19 北京百度网讯科技有限公司 Server

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090222569A1 (en) * 2008-02-29 2009-09-03 Atrato, Inc. Storage system front end
US20120303701A1 (en) * 2011-05-25 2012-11-29 Lsi Corporation Transmitting internet protocol over scsi in a high availability cluster
CN103116504A (en) * 2011-11-16 2013-05-22 Lsi公司 Method and system to enable pre-boot executable environment operating system install using switch in scalable direct attached storage environment
US20140122766A1 (en) * 2012-10-26 2014-05-01 International Business Machines Corporation High speed differential wiring strategy for serially attached scsi systems
CN103812777A (en) * 2012-11-01 2014-05-21 国际商业机器公司 Efficient data transmission system and method in overlay virtualized network
US20150301964A1 (en) * 2014-02-18 2015-10-22 Alistair Mark Brinicombe Methods and systems of multi-memory, control and data plane architecture

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114157684B (en) * 2020-08-18 2024-01-02 华为终端有限公司 Message processing method, device and storage medium
CN114157684A (en) * 2020-08-18 2022-03-08 华为终端有限公司 Message processing method, device and storage medium
CN112636789A (en) * 2020-12-31 2021-04-09 广东电网有限责任公司电力调度控制中心 Virtual MAC method and device for power line communication
CN114338262A (en) * 2021-11-26 2022-04-12 国网信息通信产业集团有限公司 Energy cabin communication method and system and electronic equipment
CN114338262B (en) * 2021-11-26 2024-02-20 国网信息通信产业集团有限公司 Energy cabin communication method and system and electronic equipment
CN114928589A (en) * 2022-03-17 2022-08-19 京东科技信息技术有限公司 Data transmission method, data transmission device, computer readable medium and equipment
CN114928589B (en) * 2022-03-17 2024-04-12 京东科技信息技术有限公司 Data transmission method, data transmission device, computer readable medium and apparatus
CN115086446A (en) * 2022-08-16 2022-09-20 国能日新科技股份有限公司 Data transmission method, system, device, equipment and computer readable storage medium
CN115086446B (en) * 2022-08-16 2022-12-02 国能日新科技股份有限公司 Data transmission method, system, device, equipment and computer readable storage medium
CN116016725A (en) * 2023-03-24 2023-04-25 深圳开鸿数字产业发展有限公司 Information transmission method, computer device and storage medium
CN116016725B (en) * 2023-03-24 2023-06-13 深圳开鸿数字产业发展有限公司 Information transmission method, computer device and storage medium
CN116436994B (en) * 2023-06-15 2023-08-25 杭州禾芯半导体有限公司 Profinet protocol message transmission method, device, equipment and medium
CN116436994A (en) * 2023-06-15 2023-07-14 杭州禾芯半导体有限公司 Profinet protocol message transmission method, device, equipment and medium

Also Published As

Publication number Publication date
CN110557354B (en) 2020-10-13
CN110557354A (en) 2019-12-10

Similar Documents

Publication Publication Date Title
WO2019227891A1 (en) Method and apparatus for implementing communication between nodes, and electronic device
CN107046542B (en) Method for realizing consensus verification by adopting hardware at network level
US8189584B2 (en) Multicast traffic management in a network interface
WO2019134383A1 (en) Method for controlling network congestion, access device, and computer readable storage medium
WO2020000489A1 (en) Pcie sending and receiving method, apparatus, device and system
US10812292B2 (en) Packet processing method and device
RU2010147816A (en) LOCAL IP ACCESS DIAGRAM
WO2017054576A1 (en) Unicast tunnel building method, apparatus and system
WO2016184283A1 (en) Data stream management method and system for virtual machine
KR102025680B1 (en) SDN based ARP implementation method and device
WO2020073907A1 (en) Method and apparatus for updating forwarding entry
US20190020570A1 (en) Link discovery method and apparatus
WO2019100794A1 (en) Message processing method and apparatus
WO2022257763A1 (en) Routing method and apparatus, device, and storage medium
CN111835764A (en) ARP anti-spoofing method, tunnel endpoint and electronic equipment
WO2022028342A1 (en) Method for processing congestion flow and device
WO2018177353A1 (en) Multicast data forwarding method and apparatus
WO2012146139A1 (en) Message filtering method and access device
US12003417B2 (en) Communication method and apparatus
WO2021031092A1 (en) Packet processing method and network device
CN108833284B (en) Communication method and device for cloud platform and IDC network
WO2020007278A1 (en) Data transmitting method and device, and data receiving method and device
WO2023173876A1 (en) Data communication method and apparatus, device and medium
CN107547691B (en) Address resolution protocol message proxy method and device
US20080056263A1 (en) Efficient transport layer processing of incoming packets

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: 18920880

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18920880

Country of ref document: EP

Kind code of ref document: A1

122 Ep: pct application non-entry in european phase

Ref document number: 18920880

Country of ref document: EP

Kind code of ref document: A1

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 16/06/2021)

122 Ep: pct application non-entry in european phase

Ref document number: 18920880

Country of ref document: EP

Kind code of ref document: A1