WO2008037202A1 - Method and apparatus for transmitting data - Google Patents

Method and apparatus for transmitting data Download PDF

Info

Publication number
WO2008037202A1
WO2008037202A1 PCT/CN2007/070478 CN2007070478W WO2008037202A1 WO 2008037202 A1 WO2008037202 A1 WO 2008037202A1 CN 2007070478 W CN2007070478 W CN 2007070478W WO 2008037202 A1 WO2008037202 A1 WO 2008037202A1
Authority
WO
WIPO (PCT)
Prior art keywords
multicast
data
stream
storage device
transmitted
Prior art date
Application number
PCT/CN2007/070478
Other languages
French (fr)
Chinese (zh)
Inventor
Di Zhou
Jun Wang
Original Assignee
Hangzhou H3C Technologies Co., Ltd.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hangzhou H3C Technologies Co., Ltd. filed Critical Hangzhou H3C Technologies Co., Ltd.
Publication of WO2008037202A1 publication Critical patent/WO2008037202A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/16Multipoint routing

Definitions

  • the present invention relates to data transmission technologies, and more particularly to data transmission methods and data transmission devices. Background of the invention
  • IP Multicast refers to the transmission of data packets to a subset of nodes in the network in an IP network. This subset of nodes is called a Multicast Group.
  • the sender that serves as the multicast source sends a multicast stream with the multicast address as the destination address. All receivers that join the multicast address can receive the multicast stream sent by the multicast source. .
  • the Internet Small Computer System Interface (ISCSI) protocol is a Small Computer System Interface (SCSI) protocol based on Transmission Control Protocol (TCP).
  • the ISCSI protocol is currently a widely used network storage protocol in storage systems. SCSI commands and data are transmitted over the IP network between the transmitting end as a data source and the storage device for storing data in the storage system to implement network storage of data. During transmission, a session connection between the sender and the storage device is established, and the sender and the storage device interact with the SCSI command and data through the established session connection. The way the ISCSI protocol transmits data is unicast.
  • the sender When the sender sends data to multiple receivers in multicast mode and also sends data to the storage device through unicast mode, the sender sends the multicast stream as a multicast source and sends the ticket as a unicast source. Broadcast.
  • FIG. 1 is a schematic structural diagram of a system for simultaneously transmitting a multicast stream and a unicast stream.
  • the transmitting end 110 serves as both a multicast source and a unicast source, respectively.
  • the multicast address and the unicast address are encapsulated into a multicast stream and a unicast stream, and then sent out.
  • the packets constituting the multicast stream are usually in accordance with the user datagram protocol.
  • the packet that constitutes a unicast stream is an ISCSI-compliant packet, and the unicast stream is an ISCSI stream. Since the transmission of the ISCSI stream requires a session connection between the sender 110 and the storage device 140, when the ISCSI stream is sent, the encapsulated ISCSI stream is output through the corresponding outbound interface of the established tongue connection.
  • the thick solid line with arrows in Figure 1 indicates the direction of transmission of the multicast stream, and the dashed line with arrows indicates the direction of transmission of the ISCSI stream.
  • the network device 120 After receiving the multicast stream, the network device 120 forwards the received multicast stream to the receiving end 130 or the network device directly connected to the network device 120 according to the multicast entry that is saved for forwarding the multicast stream. 120. After receiving the ISCSI stream, the network device 120 sends the ISCSI stream to the storage device 140 either directly or through other network devices 120 connected to the network device through the session connection.
  • the multicast entry is also called a (S, G) multicast entry, where G represents the multicast address as the destination address, and S represents the source address of the multicast sent to the multicast address G, (S, G)
  • the multicast address, multicast address, and its inbound interface list and outbound interface list are saved in the multicast entry.
  • the receiving end 130 is configured to receive a multicast stream, and perform corresponding operations according to the received multicast stream, for example, display.
  • Storage device 140 is used to store the received ISCSI stream. Specifically, the storage device 140 performs storage operations by parsing the received ISCSI stream to obtain SCSI commands, data, responses, and the like.
  • the multicast stream is ultimately sent to the receiving end 130 via one or more network devices 120.
  • a unicast stream exemplified by an ISCSI stream, is ultimately sent to storage device 140 via one or more network devices 120.
  • the system structure shown in Figure 1 can be applied to many display and storage systems for media streams.
  • Medium For example, many cities now set up monitoring systems at key points such as various business units and major transportation routes, and use storage devices to store recorded video data.
  • a city public security bureau has 20 sub-bureaus, each sub-office has 25 police stations, and each police station has 1000 cameras.
  • each camera is a multicast source, and it is sent to the city bureau in the form of multicast data stream.
  • the real-time monitoring host of the branch office and the police station sends the recorded video data for monitoring; in order to store the recorded video data in the storage device, each camera is also a unicast source, and sends the unicast stream to the storage device.
  • the recorded video data is stored for it.
  • FIG. 2 is a schematic structural diagram of a conventional video monitoring and storage system. As shown in FIG. 2, the system adopts the structure shown in FIG. 1.
  • the thin solid line with arrows in FIG. 2 indicates the internal modules of the transmitting end and the receiving end. The direction of the output transmission.
  • the transmitting end 110 is composed of a camera 111 and a hardware encoder 112.
  • the camera 111 collects the video data and sends it to the hardware encoder 112. After the video data is encoded and correspondingly encapsulated by the hardware encoder 112, the multicast stream and the unicast stream are obtained, and then sent to the network device 120 connected thereto.
  • the receiving end 130 is composed of a hardware decoder 132 and a display device 133.
  • the hardware decoder 132 performs a decoding operation on the multicast data stream and transmits it to the display device 133 for display.
  • the display device is a display device 131 with a decoding function, such as a computer, the display device 131 with decoding function will directly decode and display the multicast data stream received from the network device 120.
  • the sender 110 needs to simultaneously send the multicast stream.
  • the unicast stream has high performance requirements on the transmitting end 110, and the link bandwidth of the transmitting end 110 communicating with the external device is also heavy.
  • the amount of data to be processed by the transmitting end is quite large, and the transmitting end needs to perform encapsulation of the huge amount of data and multicast and unicast. Therefore, the transmitting end bears a lot. Difficult data delivery tasks. In order to improve the performance of the sender, you need A higher performance device is configured for the sender, resulting in an increase in cost. Summary of the invention
  • the present invention provides a data transmission method capable of realizing network storage by using a multicast stream.
  • the method includes: establishing an association relationship between a multicast stream and a storage device;
  • the establishing the association relationship between the multicast stream and the storage device includes: creating a tongue connection between the network device for forwarding the multicast stream and the storage device; establishing the session connection and forwarding the multicast stream Association between multicast entries.
  • the determining, by the network device, the storage device corresponding to the data to be transmitted in the form of the received multicast stream, according to the established association relationship, includes:
  • the storage device connected to the corresponding session connection is determined as the storage device corresponding to the data to be transmitted in the form of the multicast stream.
  • the data to be transmitted in the form of a unicast stream in which the data to be transmitted in the form of a multicast stream is converted to the destination address of the corresponding storage device includes:
  • the number of to-be-transmitted forms in the form of a multicast stream according to a protocol supported by the connected storage device According to the encapsulation, data to be transmitted in the form of a unicast stream with the corresponding storage device as a destination address is generated.
  • the data to be transmitted in the form of the multicast stream is converted into a unicast stream in the form of the corresponding storage device.
  • the method further includes: adding the corresponding session connection as a virtual interface to the outbound interface list of the found multicast entry;
  • the sending to the corresponding storage device is: sending the to-be-transmitted data in the form of the generated unicast stream to the corresponding storage device by using the virtual interface in the join multicast entry.
  • the method further includes: determining, according to the association relationship between the established session connection and the multicast entry, whether the found multicast entry has a corresponding session connection, and if yes, performing the determining The operation of the storage device corresponding to the data to be transmitted in the form of a multicast stream; otherwise, the data to be transmitted in the form of the received multicast stream is forwarded according to the outbound interface in the found multicast entry.
  • the session connection is an ISCSI session connection
  • the storage device is a storage device that supports the ISCSI protocol.
  • the present invention also provides a data transmission device capable of implementing network storage by using a multicast stream.
  • the device includes: an association establishing unit, a storage unit, and a multicast stream processing unit, wherein
  • the association relationship establishing unit is configured to establish an association relationship between the multicast stream and the storage device
  • the multicast stream processing unit is configured to determine, according to the association relationship established by the association relationship establishing unit, a storage device corresponding to the data to be transmitted in the form of a multicast stream; ⁇ according to the protocol supported by the determined storage device, the group The data to be transmitted in the form of broadcast is converted into the corresponding storage
  • the storage device is in the form of a unicast stream of the destination address to be transmitted and transmitted.
  • the device further comprises a storage unit
  • the association module is configured to establish an association relationship between a session connection created by the session establishment module and a multicast entry for forwarding a multicast stream, and send the established association relationship to the storage unit;
  • the storage unit further stores each multicast entry, and stores the received association relationship between the session connection and the multicast entry.
  • the multicast stream processing unit includes a lookup determination module, a processing module, and a conversion sending module, where
  • the search and judgment module is configured to search for a multicast entry corresponding to the data to be transmitted in the form of a multicast stream from the storage unit; and determine, according to the association relationship between the session connection and the multicast entry saved by the storage unit, Whether the multicast entry has a corresponding session connection, and sends the determination result to the processing module;
  • the conversion sending module decapsulates the multicast stream to obtain data to be transmitted, and the used data to be transmitted is encapsulated into data to be transmitted in a unicast stream conforming to the protocol supported by the storage device; according to the received group
  • the virtual interface in the broadcast entry sends the generated data to be transmitted in the form of a unicast stream.
  • the present invention can implement network storage by using a multicast stream. Specifically, the present invention has the following beneficial effects:
  • the network device of the present invention After receiving the multicast stream from the sending end, the network device of the present invention converts the multicast stream into a unicast stream with the corresponding storage device as the destination address and sends the multicast stream according to the protocol supported by the storage device corresponding to the multicast stream. To the storage device, network storage using the multicast stream is realized.
  • the transmitting end since the transmitting end only needs to send the multicast stream, the performance requirement of the transmitting end is reduced, and the transmitting end can be implemented by a device with a lower cost. At the same time, the transmitting end does not need to send a unicast stream, which reduces the link bandwidth burden of the transmitting end to communicate with the external device.
  • FIG. 1 is a schematic structural diagram of a system for simultaneously transmitting a multicast stream and a unicast stream.
  • FIG. 2 is a schematic structural diagram of a conventional video monitoring and storage system.
  • FIG. 3 is a schematic flowchart of a data transmission method according to the present invention.
  • FIG. 4 is a flowchart of a data transmission method according to an embodiment of the present invention.
  • FIG. 5 is an ISCSI package format in an embodiment of the present invention.
  • FIG. 6 is a schematic structural diagram of a data transmission system according to an embodiment of the present invention.
  • FIG. 7 is a schematic structural diagram of a data transmission device according to an embodiment of the present invention. Mode for carrying out the invention
  • the present invention is a data transmission scheme, and the basic idea is: after receiving a multicast stream, the network device converts the multicast stream to a corresponding storage device according to a protocol supported by the storage device corresponding to the multicast stream. A unicast stream of the destination address is sent to the corresponding storage device. Then, the storage device can use the converted unicast stream for network storage.
  • FIG. 3 is a schematic flowchart of a data transmission method according to the present invention. As shown in FIG. 3, the method includes the following steps:
  • Step 301 Establish an association relationship between the multicast stream and the storage device.
  • Step 302 Determine, according to the established association relationship, a storage device corresponding to the data to be transmitted in the form of a multicast stream.
  • Step 303 Send the unicast stream supported by the storage device corresponding to the data to be transmitted in the form of a multicast stream to the corresponding storage device.
  • the present invention implements network storage using the multicast stream by converting the multicast stream to be stored into a unicast stream and then transmitting the data to the storage device. Since the sender only needs to send the multicast stream, the performance requirements of the sender are reduced, and the sender can be implemented by a lower cost device. At the same time, the transmitting end does not need to send a unicast stream, which reduces the bandwidth burden of the link between the transmitting end and the external device.
  • the data transmission method of the present invention can be applied to a network device that uses an ISCSI session to send an ISCSI stream to a storage device to implement network storage.
  • the network device can be a Layer 3 device, such as a Layer 3 switch, a Layer 3 router, or the like.
  • FIG. 4 is a flowchart of a data transmission method according to an embodiment of the present invention. As shown in Figure 4, the method includes the following steps:
  • Step 401 Configure an ISCSI session on a Layer 3 device configured with a multicast routing protocol.
  • an ISCSI session connection is established between the Layer 3 device and the corresponding resource of the storage device, and the established ISCSI session connection is associated with the (S, G) multicast entry. Since the multicast stream is associated with the (S, G) multicast entry, the (S, G) multicast entry is associated with the ISCSI session connection, and the ISCSI session connection is associated with the storage device, then this step is established after execution. The relationship between the multicast stream and the storage device. At this point, the (S, G) multicast entry is unchanged. Table 1 shows the composition of the (S, G) multicast entry. As shown in Table 1, the (S, G) multicast entry includes the source address, multicast address, inbound interface list, and outbound interface list.
  • Vlan - interfacel5 ( 10.10.10.1 ) in the inbound interface list indicates the inbound interface name ( Vlan - interfacel5 ) and the inbound interface IP address ( 10.10.10.1 );
  • Vlan - interface25 ( 11.11.11.1 ) in the outbound interface list indicates The interface name (Vlan - interface25) and the outbound interface IP address (11.11.11.1).
  • the multicast routing protocols configured on the Layer 3 device include: Distance Vector Multicast Routing Protocol
  • DVMRP Distance Vector Multicast Routing Protocol
  • PIM-DM Protocol Independent Multicast-Dense Mode
  • PIM-SM Protocol Independent Multicast-Sparse Mode
  • the corresponding resources on the storage device include the IP address and port number of the storage device, and may also include the storage device name.
  • Step 402 The layer 3 device receives the multicast stream from the sender.
  • Step 403 Find a corresponding (S, G) multicast entry according to the received multicast stream.
  • Step 405 Add the corresponding ISCSI session connection as an ISCSI virtual interface to the outbound interface list of the discovered (S, G) multicast entry.
  • the virtual interface refers to the interface occupied by the established ISCSI tongue.
  • the interface occupied by the ISCSI port is called the ISCSI virtual interface.
  • the interface used by the ISCSI module is different from the original forwarding interface in the outbound interface list of the (S, G) multicast entry.
  • An ISCSI virtual interface is a logical interface that can be understood as an identifier. In the process of forwarding a multicast stream by using the (S, G) multicast entry, when the outbound interface is an ISCSI virtual interface, it indicates that the multicast stream to be forwarded is converted into an ISCSI stream, and then sent to the storage through the ISCSI virtual interface. device.
  • Table 2 shows the (S, G) multicast entries after the ISCSI virtual interface is added to Table 1.
  • the ISCSI virtual interface interface iscsi 12.12.12.1
  • interface iscsi is virtual.
  • Interface name, 12.12.12.1 indicates the IP address of the virtual interface.
  • Step 406 Replace the multicast address of the received multicast stream with the address of the connected storage device by using the corresponding ISCSI session connection, and perform ISCSI encapsulation on the address-replaced multicast stream data to generate an ISCSI stream.
  • the multicast stream is first decapsulated to obtain the payload of the data to be transmitted, and the address of the storage device is used as the destination address, and the data payload to be transmitted is ISCSI encapsulated.
  • the data to be transmitted in the form of an ISCSI stream is obtained. Since the destination device of the ISCSI stream is a storage device, the storage device performs according to the received ISCSI stream. Data storage, therefore, does not focus on the source address when encapsulating. Therefore, the address of the Layer 3 device can be used, or the source address in the original multicast stream can be used as the source address of the ISCSI stream.
  • the ISCSI package is available in an existing ISCSI package format.
  • Figure 5 shows an ISCSI package format.
  • the ISCSI packet includes a 48-byte ISCSI header and ISCSI data.
  • the ISCSI data carries data to be transmitted, such as SCSI commands, management functions, command responses, data to be stored, and the like.
  • the ISCSI data is sequentially added with a 20-byte TCP header, and the 20-byte IP header constitutes an IP packet, and then a 14-byte Ethernet header and a 4-byte Ethernet tail are respectively added at the beginning and the end of the IP packet. , thus forming an Ethernet frame.
  • the length of the ISCSI data portion is related to the length of the data to be transmitted.
  • the ISCSI package in this step can be implemented in software.
  • hardware devices connected to Layer 3 devices dedicated to ISCSI encapsulation can be used.
  • the package processing can be implemented by programming an Application Specific Integrated Circuit (AISC), or by using an ISCSI Host Bus Adapter (HBA).
  • AISC Application Specific Integrated Circuit
  • HBA ISCSI Host Bus Adapter
  • Step 407 Send the encapsulated ISCSI stream to the storage device by adding the virtual interface in the (S, G) multicast entry.
  • Step 408 Forward the multicast stream according to the outbound interface in the (S, G) multicast entry.
  • the outbound interface of the forwarding multicast stream does not include a virtual interface for forwarding the ISCSI stream.
  • the multicast stream can be forwarded using the outgoing interface Vlan - interface25 ( 11.11.11.1 ) shown in Table 2.
  • Steps 406 to 407 are steps of forwarding the ISCSI stream
  • step 408 is the step of forwarding the multicast stream. There is no obvious sequence between the two parts. You can also forward the multicast stream first, then convert and send the unicast stream. In an actual application, the forwarding sequence may be determined according to the outbound interface list of the (S, G) multicast entry. Take the (S, G) multicast entry shown in Table 2 as an example. When the outbound interface is Vlan - interface25 ( 11.11.11.1 ), go to step 408 to forward the packet.
  • the outbound interface is the virtual interface interface iscsi ( 12.12.12.1 )
  • replace the group address 225.1.1.111 with the storage device address encapsulate the multicast stream data into an ISCSI stream, and use the virtual interface and storage.
  • the ISCSI session connection between the settings sends the encapsulated ISCSI stream to the storage device.
  • FIG. 6 is a schematic structural diagram of a data transmission system according to an embodiment of the present invention. As shown in FIG. 6, the system includes: a transmitting end 610, a network device 620, a receiving end 630, a storage device 640, and a data transmission device 650.
  • the sender 610 is a multicast source.
  • the transmitting end 610 encapsulates the data to be transmitted into a multicast stream according to the configured multicast address.
  • Network device 620 forwards the received multicast stream. It receives the multicast stream from the sender 610 or other network device 620 directly connected to the network device 620 and forwards it to the receiver 630 and/or to the network device 620 directly connected to the network device 620.
  • the data transmission device 650 also belongs to a network device, which has the basic functions of a network device and is capable of forwarding a multicast stream.
  • the data transmission device 650 further stores a pre-established association relationship between the multicast stream and the storage device, and determines a storage device corresponding to the data to be transmitted in the form of a multicast stream according to the saved association relationship, and supports the storage device according to the determined storage device.
  • the protocol converts the data to be transmitted in the form of a multicast stream into data to be transmitted in the form of a unicast stream with the determined storage device as the destination address, and sends the data to the determined storage device 640.
  • the storage device 640 receives data from the external unicast stream and saves it.
  • FIG. 7 is a schematic structural diagram of a data transmission device according to an embodiment of the present invention.
  • the data transmission device 700 includes: an association establishing unit 710, a storage unit 720, and a multicast stream processing unit 730.
  • the association relationship establishing unit 710 is configured to establish an association relationship between the multicast stream and the storage device, and send the established association relationship to the storage unit 720.
  • the storage unit 720 is configured to store an association relationship between the multicast stream and the storage device. If it is not necessary to permanently save the association relationship established by the association establishing unit 710, the storage unit 720 may not be included in the data transmission device 700. Then, the multicast stream processing unit 730 directly uses the association relationship established by the association relationship establishing unit 710.
  • the multicast stream processing unit 730 is configured to determine, according to the association relationship acquired from the storage unit 720, a storage device corresponding to the data to be transmitted in the form of a multicast stream, and to wait for the multicast stream according to the determined protocol supported by the storage device.
  • the transmission data is converted into data to be transmitted in the form of a unicast stream with the determined storage device as a destination address, and transmitted to the outside.
  • the association relationship establishing unit 710 specifically includes a session establishing module 711 and an association module 712. among them,
  • the session establishing module 711 is configured to create a session connection between the data transmission device and the storage device where the data is located.
  • the session connection established by the module is an ISCSI connection.
  • the association module 712 is configured to establish an association relationship between the session connection created by the session establishment module 711 and the (S, G) multicast entry, and send the established association relationship to the storage unit 720.
  • the module establishes the association relationship between the ISCSI session connection and the (S, G) multicast entry.
  • the storage unit 720 specifically stores (S, G) multicast entries, and association relationships between session connections and (S, G) multicast entries.
  • the foregoing multicast stream processing unit 730 specifically includes a lookup determining module 731, a processing module 732, and a conversion sending module 733, where
  • the search judging module 731 is configured to receive data to be transmitted in the form of a multicast stream from the outside, and search for the data to be transmitted in the form of the received multicast stream according to the (S, G) multicast entry obtained from the storage unit 720.
  • the (S, G) multicast entry determines whether the found (S, G) multicast entry has a corresponding session connection according to the association relationship obtained by the storage unit 720. The result of the determination is sent to the processing module 732.
  • the processing module 732 is configured to: when the received judgment result is that the found (S, G) multicast entry has a corresponding session connection, add the corresponding session connection as a virtual interface to find the
  • the modified (S, G) multicast entry is sent to the conversion sending module 733; when the received judgment result is that there is no corresponding session connection, the The modified (S, G) multicast entry is sent to the conversion sending module 733.
  • the conversion sending module 733 is configured to forward the multicast stream according to the received (S, G) multicast entry. Specifically, for the modified (S, G) multicast table, the multicast stream is decapsulated, and the data to be transmitted is obtained, and the address of the storage device connected by the corresponding session connection is used as the destination address, and the obtained The transport data is encapsulated into a unicast stream that conforms to the protocols supported by the storage device. The generated unicast stream is sent to the storage device in the session connection through the virtual interface in the (S, G) multicast entry. The outbound interface except the virtual interface is sent through the (S, G) multicast entry. In the case of multicast streaming, the existing forwarding mode is used to forward the multicast stream. In addition, for the multicast determination that the lookup determination module 731 determines that there is no corresponding session connection, the conversion sending module 733 is based on the unmodified
  • the multicast stream sent by the sender 610 passes through the network device 1 and the network device 2 to the data transmission device 650, which is converted into a unicast stream by the data transmission device 650.
  • the data transmission device 650 can also be placed at any node through which the multicast stream flows, for example, at the location of the network device 1 or the network device 2.
  • each network device 620 between the data transmission device 650 and the transmitting end 610 does not need to forward the unicast stream, which reduces the forwarding burden of these network devices.
  • the video monitoring and storage system mentioned in the background art can be implemented by the data transmission system in the embodiment of the present invention.
  • the transmitting end 610 is composed of a camera 611 and a hardware encoder 612.
  • the hardware encoder 612 only enters the video data collected by the camera 611.
  • the lines are encoded and encapsulated into a multicast stream that is sent to the network device 620 to which it is connected.
  • Network device 620 is responsible for forwarding the multicast stream.
  • the network device connected to the storage device 640 is implemented by the data transmission device 650 in the embodiment of the present invention.
  • the data transmission device 650 converts the received multicast stream into a unicast stream, and sends the converted unicast stream to the storage device 640.
  • the received multicast stream is also forwarded to the receiving end 630 connected thereto.
  • the hardware decoder 632 in the receiving end 630 decodes the data in the form of a unicast stream, displays it by the display device 633, or directly decodes and displays it by the display device 631 with the decoding function.
  • the multicast stream is converted into a unicast stream on a network device that flows from the sending end 610 to the storage device 640, and then the storage module 640 can utilize the converted single.
  • the broadcast stream performs network storage without the sender 610 sending a unicast stream.
  • the hardware encoder 612 in the transmitting end 610 only needs to process the multicast stream, which reduces the burden on the hardware encoder 612.
  • the network device through which the multicast stream flows Before being converted to a unicast stream, the network device through which the multicast stream flows only needs to forward the multicast stream, which avoids the heavy forwarding load caused by the existing network device needing to forward the unicast stream and the multicast stream at the same time. problem.

Abstract

A method for transmitting data, which includes: establishing the association relation between the multicast stream and the storage apparatus; determining the storage apparatus corresponding to the data which will be transmitted in the form of multicast stream, according to the established association relation; transforming the data which will be transmitted in the form of multicast stream to the data which will be transmitted in the form of unicast stream with the destination address of said corresponding storage apparatus, according to the protocol supported by the determined storage apparatus, and transmitting said data to said corresponding storage apparatus. An apparatus for transmitting data is provided. It realizes network storage using multicast stream, reducing the workload of the transmitter effectively, and reducing the cost of the transmitter.

Description

数据传输方法和数据传输设备  Data transmission method and data transmission device
技术领域 本发明涉及数据传输技术,尤其涉及数据传输方法和数据传输设备。 发明背景 TECHNICAL FIELD The present invention relates to data transmission technologies, and more particularly to data transmission methods and data transmission devices. Background of the invention
因特网协议 ( IP, Internet Protocol )组播是指在 IP网络中将数据包 发送到网络中的节点子集,这个节点子集称为组播组( Multicast Group )。 在 IP组播过程中 ,作为组播源的发送端发送一份以组播地址作为目的地 址的组播流, 加入该组播地址的所有接收端都可接收到组播源发送的组 播流。  Internet Protocol (IP) Multicast refers to the transmission of data packets to a subset of nodes in the network in an IP network. This subset of nodes is called a Multicast Group. In the IP multicast process, the sender that serves as the multicast source sends a multicast stream with the multicast address as the destination address. All receivers that join the multicast address can receive the multicast stream sent by the multicast source. .
因特网小型计算机系统接口( ISCSI, Internet Small Computer System Interface )协议是一种基于传输控制协议 ( TCP, Transmission Control Protocol ) /IP 的小型计算机系统接口 (SCSI, Small Computer System Interface )协议。 该 ISCSI协议是目前在存储系统中应用较为广泛的网 络存储协议。 存储系统中的作为数据源的发送端和用于存储数据的存储 设备之间通过 IP网络来传输 SCSI命令和数据 ,以实现数据的网络存储。 在传输时, 建立发送端和存储设备之间的会话连接, 发送端和存储设备 通过所建立的会话连接交互 SCSI命令和数据。 ISCSI协议传输数据的方 式是单播。  The Internet Small Computer System Interface (ISCSI) protocol is a Small Computer System Interface (SCSI) protocol based on Transmission Control Protocol (TCP). The ISCSI protocol is currently a widely used network storage protocol in storage systems. SCSI commands and data are transmitted over the IP network between the transmitting end as a data source and the storage device for storing data in the storage system to implement network storage of data. During transmission, a session connection between the sender and the storage device is established, and the sender and the storage device interact with the SCSI command and data through the established session connection. The way the ISCSI protocol transmits data is unicast.
当发送端通过组播方式向多个接收者发送数据, 同时还通过单播方 式向存储设备发送数据时, 该发送端在作为组播源发送组播流的同时还 要作为单播源发送单播流。  When the sender sends data to multiple receivers in multicast mode and also sends data to the storage device through unicast mode, the sender sends the multicast stream as a multicast source and sends the ticket as a unicast source. Broadcast.
图 1为现有的同时传输组播流和单播流的系统结构示意图。 如图 1 所示, 在该系统中, 发送端 110同时作为组播源和单播源, 分别根据配 置的组播地址和单播地址, 将待传输的数据封装为组播流和单播流, 然 后发送出去。 其中, 组成组播流的报文通常为符合用户数据报协议FIG. 1 is a schematic structural diagram of a system for simultaneously transmitting a multicast stream and a unicast stream. As shown in Figure 1, in the system, the transmitting end 110 serves as both a multicast source and a unicast source, respectively. The multicast address and the unicast address are encapsulated into a multicast stream and a unicast stream, and then sent out. The packets constituting the multicast stream are usually in accordance with the user datagram protocol.
( UDP, User Datagram Protocol )或 TCP/IP协议的报文; 组成单播流的 报文为符合 ISCSI协议的报文, 该单播流为 ISCSI流。 由于传输 ISCSI 流需要建立发送端 110与存储设备 140之间的会话连接,则在发送 ISCSI 流时, 通过所建立的^舌连接对应的出接口输出封装后的 ISCSI流。 图 1 中带有箭头的粗实线表示组播流的传输方向, 带有箭头的虚线代表 ISCSI流的传输方向。 (UDP, User Datagram Protocol) or TCP/IP packet; The packet that constitutes a unicast stream is an ISCSI-compliant packet, and the unicast stream is an ISCSI stream. Since the transmission of the ISCSI stream requires a session connection between the sender 110 and the storage device 140, when the ISCSI stream is sent, the encapsulated ISCSI stream is output through the corresponding outbound interface of the established tongue connection. The thick solid line with arrows in Figure 1 indicates the direction of transmission of the multicast stream, and the dashed line with arrows indicates the direction of transmission of the ISCSI stream.
网络设备 120在接收到组播流后, 根据其保存的用于转发组播流的 组播表项, 将接收到的组播流转发给接收端 130或与该网络设备 120直 接相连的网络设备 120。 该网络设备 120在接收到 ISCSI流后, 通过会 话连接将 ISCSI流直接或通过与该网络设备相连的其他网络设备 120发 送给存储设备 140。 其中, 组播表项又称为 (S, G )组播表项, 其中 G 表示作为目的地址的组播地址, S表示向组播地址 G发送组播的源地址, 该(S, G )组播表项中保存有源地址、 组播地址及其入接口列表和出接 口列表。  After receiving the multicast stream, the network device 120 forwards the received multicast stream to the receiving end 130 or the network device directly connected to the network device 120 according to the multicast entry that is saved for forwarding the multicast stream. 120. After receiving the ISCSI stream, the network device 120 sends the ISCSI stream to the storage device 140 either directly or through other network devices 120 connected to the network device through the session connection. The multicast entry is also called a (S, G) multicast entry, where G represents the multicast address as the destination address, and S represents the source address of the multicast sent to the multicast address G, (S, G) The multicast address, multicast address, and its inbound interface list and outbound interface list are saved in the multicast entry.
接收端 130用于接收组播流, 根据接收的组播流进行相应操作, 例 如显示。  The receiving end 130 is configured to receive a multicast stream, and perform corresponding operations according to the received multicast stream, for example, display.
存储设备 140用于存储接收到的 ISCSI流。具体地,该存储设备 140 通过解析接收到的 ISCSI流获取 SCSI命令、 数据、 响应等信息后进行 存储操作。  Storage device 140 is used to store the received ISCSI stream. Specifically, the storage device 140 performs storage operations by parsing the received ISCSI stream to obtain SCSI commands, data, responses, and the like.
从以上所述可以看出, 组播流通过一个或多个网络设备 120最终发 送到接收端 130。以 ISCSI流为例的单播流通过一个或多个网络设备 120 最终发送到存储设备 140。  As can be seen from the above, the multicast stream is ultimately sent to the receiving end 130 via one or more network devices 120. A unicast stream, exemplified by an ISCSI stream, is ultimately sent to storage device 140 via one or more network devices 120.
图 1 所示的系统结构可以应用在很多对媒体流的显示和存储系统 中。 例如, 现在很多的城市在各个事业单位、 交通要道等关键点设立监 控系统, 并使用存储设备存储录制的视频数据。 假设一个城市公安局下 辖 20个分局, 每个分局下辖 25个派出所, 每个派出所设置 1000个摄 像头, 那么, 每个摄像头是一个组播源, 以组播数据流的形式向市局、 分局、 派出所的实时监控主机发送所录制的视频数据, 供其监视; 为了 在存储设备中存储所录制的视频数据, 每个摄像头同时又是单播源, 以 单播流的形式向存储设备发送所录制的视频数据, 供其存储。 The system structure shown in Figure 1 can be applied to many display and storage systems for media streams. Medium. For example, many cities now set up monitoring systems at key points such as various business units and major transportation routes, and use storage devices to store recorded video data. Suppose a city public security bureau has 20 sub-bureaus, each sub-office has 25 police stations, and each police station has 1000 cameras. Then, each camera is a multicast source, and it is sent to the city bureau in the form of multicast data stream. The real-time monitoring host of the branch office and the police station sends the recorded video data for monitoring; in order to store the recorded video data in the storage device, each camera is also a unicast source, and sends the unicast stream to the storage device. The recorded video data is stored for it.
图 2为现有的视频监控和存储系统的组成结构示意图,如图 2所示, 该系统采用图 1示出的结构, 图 2中带有箭头的细实线表示发送端和接 收端内部模块之间的输出传输方向。 其中, 发送端 110由摄像头 111和 硬件编码器 112组成。摄像头 111采集视频数据发送给硬件编码器 112, 由硬件编码器 112对视频数据进行编码和相应封装后, 得到组播流和单 播流, 然后发送给与其相连的网络设备 120。  2 is a schematic structural diagram of a conventional video monitoring and storage system. As shown in FIG. 2, the system adopts the structure shown in FIG. 1. The thin solid line with arrows in FIG. 2 indicates the internal modules of the transmitting end and the receiving end. The direction of the output transmission. The transmitting end 110 is composed of a camera 111 and a hardware encoder 112. The camera 111 collects the video data and sends it to the hardware encoder 112. After the video data is encoded and correspondingly encapsulated by the hardware encoder 112, the multicast stream and the unicast stream are obtained, and then sent to the network device 120 connected thereto.
接收端 130由硬件解码器 132和显示设备 133组成。硬件解码器 132 对组播数据流执行解码操作后发送给显示设备 133进行显示。 当然, 如 果显示设备为带解码功能的显示设备 131 , 例如电脑, 该带解码功能的 显示设备 131将直接对从网络设备 120接收的组播数据流进行解码和显 示。  The receiving end 130 is composed of a hardware decoder 132 and a display device 133. The hardware decoder 132 performs a decoding operation on the multicast data stream and transmits it to the display device 133 for display. Of course, if the display device is a display device 131 with a decoding function, such as a computer, the display device 131 with decoding function will directly decode and display the multicast data stream received from the network device 120.
可见, 现有的传输组播流和单播流的系统中, 由于只能利用发送端 发出的单播流对存储设备 140进行写操作, 实现网络存储, 因此发送端 110需要同时发送组播流和单播流, 对发送端 110的性能要求较高, 且 发送端 110与外部设备进行通信的链路带宽负担也比较重。 例如, 在上 述视频监控和存储系统中, 发送端所要处理的数据量相当庞大, 而且该 发送端需要执行对该庞大数据量数据的封装以及组播和单播, 因此, 发 送端承担了甚为艰巨的数据发送任务。 为了提高发送端的性能, 就需要 为该发送端配置性能较高的设备, 从而导致成本的增加。 发明内容 It can be seen that in the existing system for transmitting the multicast stream and the unicast stream, since the unicast stream sent by the sender can only be used to perform the write operation on the storage device 140 to implement network storage, the sender 110 needs to simultaneously send the multicast stream. And the unicast stream has high performance requirements on the transmitting end 110, and the link bandwidth of the transmitting end 110 communicating with the external device is also heavy. For example, in the above video surveillance and storage system, the amount of data to be processed by the transmitting end is quite large, and the transmitting end needs to perform encapsulation of the huge amount of data and multicast and unicast. Therefore, the transmitting end bears a lot. Difficult data delivery tasks. In order to improve the performance of the sender, you need A higher performance device is configured for the sender, resulting in an increase in cost. Summary of the invention
有鉴于此, 本发明提供了一种数据传输方法, 能够利用组播流实现 网络存储。  In view of this, the present invention provides a data transmission method capable of realizing network storage by using a multicast stream.
该方法包括: 建立组播流与存储设备之间的关联关系;  The method includes: establishing an association relationship between a multicast stream and a storage device;
根据所建立的关联关系 , 确定组播流形式的待传输数据对应的存储 设备;  Determining, according to the established association relationship, a storage device corresponding to the data to be transmitted in the form of a multicast stream;
根据所确定的存储设备支持的协议, 将组播流形式的待传输数据转 换为以所述对应的存储设备为目的地址的单播流形式的待传输数据 , 并 发送给所述对应的存储设备。  Converting the data to be transmitted in the form of a multicast stream to the data to be transmitted in the form of a unicast stream with the corresponding storage device as the destination address, and transmitting the data to the corresponding storage device, according to the protocol supported by the storage device. .
其中, 所述建立组播流与存储设备之间的关联关系包括: 创建用于转发组播流的网络设备与存储设备之间的^舌连接; 建立所述会话连接与用于转发组播流的组播表项之间的关联关系。 其中, 所述网络设备根据所建立的关联关系, 确定接收到的组播流 形式的待传输数据对应的存储设备包括:  The establishing the association relationship between the multicast stream and the storage device includes: creating a tongue connection between the network device for forwarding the multicast stream and the storage device; establishing the session connection and forwarding the multicast stream Association between multicast entries. The determining, by the network device, the storage device corresponding to the data to be transmitted in the form of the received multicast stream, according to the established association relationship, includes:
根据组播流形式的待传输数据查找对应的组播表项;  Finding a corresponding multicast entry according to the data to be transmitted in the form of a multicast stream;
在根据所建立的关联关系判定查找到的组播表项具有对应的会话连 接时 , 将对应的会话连接所连接的存储设备确定为所述组播流形式的待 传输数据对应的存储设备。  When it is determined that the discovered multicast entry has a corresponding session connection according to the established association relationship, the storage device connected to the corresponding session connection is determined as the storage device corresponding to the data to be transmitted in the form of the multicast stream.
其中, 所述将组播流形式的待传输数据转换为以所述对应的存储设 备为目的地址的单播流形式的待传输数据包括:  The data to be transmitted in the form of a unicast stream in which the data to be transmitted in the form of a multicast stream is converted to the destination address of the corresponding storage device includes:
采用所述对应的会话连接所连接的存储设备的地址替换所述组播流 形式的待传输数据的组播地址;  Replacing the multicast address of the data to be transmitted in the form of the multicast stream by using the address of the storage device connected to the corresponding session connection;
根据所述所连接的存储设备支持的协议, 将组播流形式的待传输数 据进行封装, 生成以所述对应的存储设备为目的地址的单播流形式的待 传输数据。 The number of to-be-transmitted forms in the form of a multicast stream according to a protocol supported by the connected storage device According to the encapsulation, data to be transmitted in the form of a unicast stream with the corresponding storage device as a destination address is generated.
其中, 所述确定组播流形式的待传输数据对应的存储设备之后, 且 所述将组播流形式的待传输数据转换为以所述对应的存储设备为目的 地址的单播流形式的待传输数据之前或之后进一步包括: 将所述对应的 会话连接作为虚接口加入查找到的组播表项的出接口列表中;  After the determining the storage device corresponding to the data to be transmitted in the form of the multicast stream, the data to be transmitted in the form of the multicast stream is converted into a unicast stream in the form of the corresponding storage device. Before or after the data is transmitted, the method further includes: adding the corresponding session connection as a virtual interface to the outbound interface list of the found multicast entry;
所述发送给所述对应的存储设备为: 通过所述加入组播表项中的虚 接口将所述生成的单播流形式的待传输数据发送给对应的存储设备。  The sending to the corresponding storage device is: sending the to-be-transmitted data in the form of the generated unicast stream to the corresponding storage device by using the virtual interface in the join multicast entry.
较佳地, 该方法进一步包括: 根据查找到的组播表项中除虚接口之 外的出接口转发接收到的组播流形式的待传输数据。  Preferably, the method further includes: forwarding the to-be-transmitted data in the form of the received multicast stream according to the outbound interface except the virtual interface in the found multicast entry.
较佳地, 该方法进一步包括: 根据所建立的会话连接与组播表项之 间的关联关系判断所述查找到的组播表项是否具有对应的会话连接 , 如 果是, 则执行所述确定组播流形式的待传输数据对应的存储设备的操 作; 否则, 根据查找到的组播表项中的出接口转发接收到的组播流形式 的待传输数据。  Preferably, the method further includes: determining, according to the association relationship between the established session connection and the multicast entry, whether the found multicast entry has a corresponding session connection, and if yes, performing the determining The operation of the storage device corresponding to the data to be transmitted in the form of a multicast stream; otherwise, the data to be transmitted in the form of the received multicast stream is forwarded according to the outbound interface in the found multicast entry.
其中,所述会话连接为 ISCSI会话连接;所述存储设备为支持 ISCSI 协议的存储设备。  The session connection is an ISCSI session connection; the storage device is a storage device that supports the ISCSI protocol.
本发明还提供了一种数据传输设备,能够利用组播流实现网络存储。 该设备包括: 关联关系建立单元、 存储单元和组播流处理单元, 其 中,  The present invention also provides a data transmission device capable of implementing network storage by using a multicast stream. The device includes: an association establishing unit, a storage unit, and a multicast stream processing unit, wherein
所述关联关系建立单元, 用于建立组播流与存储设备之间的关联关 系;  The association relationship establishing unit is configured to establish an association relationship between the multicast stream and the storage device;
所述组播流处理单元, 用于根据所述关联关系建立单元建立的关联 关系, 确定组播流形式的待传输数据对应的存储设备; ^^据所确定的存 储设备支持的协议, 将组播流形式的待传输数据转换为以所述对应的存 储设备为目的地址的单播流形式的待传输数据并发送。 The multicast stream processing unit is configured to determine, according to the association relationship established by the association relationship establishing unit, a storage device corresponding to the data to be transmitted in the form of a multicast stream; ^^ according to the protocol supported by the determined storage device, the group The data to be transmitted in the form of broadcast is converted into the corresponding storage The storage device is in the form of a unicast stream of the destination address to be transmitted and transmitted.
较佳地, 该设备进一步包括存储单元;  Preferably, the device further comprises a storage unit;
所述关联关系建立单元进一步将所建立的关联关系发送给所述存储 单元;  The association establishing unit further sends the established association relationship to the storage unit;
所述存储单元, 用于存储接收的所述关联关系。  The storage unit is configured to store the received association relationship.
其中,所述关联关系建立单元包括会话建立模块和关联模块,其中, 所述会话建立模块, 用于创建其所在数据传输设备与存储设备之间 的^舌连接;  The association establishing unit includes a session establishing module and an association module, where the session establishing module is configured to create a tongue connection between the data transmission device and the storage device where the node is located;
所述关联模块, 用于建立所述会话建立模块所创建的会话连接与用 于转发组播流的组播表项之间的关联关系 , 将所建立的关联关系发送给 所述存储单元;  The association module is configured to establish an association relationship between a session connection created by the session establishment module and a multicast entry for forwarding a multicast stream, and send the established association relationship to the storage unit;
所述存储单元进一步存储各组播表项, 并且存储接收的所述会话连 接与组播表项之间的关联关系。  The storage unit further stores each multicast entry, and stores the received association relationship between the session connection and the multicast entry.
其中, 所述组播流处理单元包括查找判断模块、 处理模块和转换发 送模块, 其中,  The multicast stream processing unit includes a lookup determination module, a processing module, and a conversion sending module, where
所述查找判断模块, 用于从存储单元中查找组播流形式的待传输数 据对应的组播表项; 根据存储单元保存的所述会话连接与组播表项之间 的关联关系判断查找到的组播表项是否具有对应的会话连接 , 将判断结 果发送给所述处理模块;  The search and judgment module is configured to search for a multicast entry corresponding to the data to be transmitted in the form of a multicast stream from the storage unit; and determine, according to the association relationship between the session connection and the multicast entry saved by the storage unit, Whether the multicast entry has a corresponding session connection, and sends the determination result to the processing module;
所述转换发送模块, 对组播流进行解封装, 获得待传输数据, 采用 得的待传输数据封装为符合所述存储设备所支持协议的单播流形式的 待传输数据; 根据接收到的组播表项中的所述虚接口将生成的单播流形 式的待传输数据发送出去。  The conversion sending module decapsulates the multicast stream to obtain data to be transmitted, and the used data to be transmitted is encapsulated into data to be transmitted in a unicast stream conforming to the protocol supported by the storage device; according to the received group The virtual interface in the broadcast entry sends the generated data to be transmitted in the form of a unicast stream.
较佳地, 所述转换发送模块进一步用于根据接收到的组播表项中除 所述虚接口之外的出接口转发组播流形式的待传输数据。 Preferably, the conversion sending module is further configured to: according to the received multicast entry The outbound interface other than the virtual interface forwards the data to be transmitted in the form of a multicast stream.
应用本发明能够利用组播流实现网络存储, 具体而言, 本发明具有 如下有益效果:  The present invention can implement network storage by using a multicast stream. Specifically, the present invention has the following beneficial effects:
本发明的网络设备在接收到来自发送端的组播流后, 根据组播流所 对应的存储设备支持的协议, 将该组播流转换为以对应的存储设备为目 的地址的单播流并发送给存储设备, 从而实现了利用组播流的网络存 储。  After receiving the multicast stream from the sending end, the network device of the present invention converts the multicast stream into a unicast stream with the corresponding storage device as the destination address and sends the multicast stream according to the protocol supported by the storage device corresponding to the multicast stream. To the storage device, network storage using the multicast stream is realized.
同时, 由于发送端只需要发送组播流, 降低了对发送端的性能要求, 发送端可以采用成本较低的设备实现。同时,发送端不需要发送单播流, 减轻了发送端与外部设备进行通信的链路带宽负担。  At the same time, since the transmitting end only needs to send the multicast stream, the performance requirement of the transmitting end is reduced, and the transmitting end can be implemented by a device with a lower cost. At the same time, the transmitting end does not need to send a unicast stream, which reduces the link bandwidth burden of the transmitting end to communicate with the external device.
此外, 在被转换为单播流之前, 组播流所流经的网络设备只需要转 发组播流, 避免了现有的发送端到存储设备之间的网络设备需要同时转 发单播流和组播流所带来的转发负担重的问题。 附图简要说明  In addition, before being converted to a unicast stream, the network device through which the multicast stream flows only needs to forward the multicast stream, so that the existing network device between the sender and the storage device needs to forward the unicast stream and the group at the same time. The problem of heavy forwarding burden caused by broadcast streaming. BRIEF DESCRIPTION OF THE DRAWINGS
图 1为现有的同时传输组播流和单播流的系统结构示意图。  FIG. 1 is a schematic structural diagram of a system for simultaneously transmitting a multicast stream and a unicast stream.
图 2为现有的视频监控和存储系统的组成结构示意图。  FIG. 2 is a schematic structural diagram of a conventional video monitoring and storage system.
图 3为本发明数据传输方法的示意性流程图。  FIG. 3 is a schematic flowchart of a data transmission method according to the present invention.
图 4为本发明实施例中数据传输方法的流程图。  FIG. 4 is a flowchart of a data transmission method according to an embodiment of the present invention.
图 5为本发明实施例中 ISCSI封装格式。  FIG. 5 is an ISCSI package format in an embodiment of the present invention.
图 6为本发明实施例中数据传输系统的结构示意图。  FIG. 6 is a schematic structural diagram of a data transmission system according to an embodiment of the present invention.
图 7为本发明实施例中数据传输设备的结构示意图。 实施本发明的方式  FIG. 7 is a schematic structural diagram of a data transmission device according to an embodiment of the present invention. Mode for carrying out the invention
下面结合附图并举实施例, 对本发明进行伴细描述。 本发明为一种数据传输方案, 其基本思想为: 网络设备在接收到组 播流后, 根据组播流所对应的存储设备支持的协议, 将该组播流转换为 以对应的存储设备为目的地址的单播流并发送给该对应的存储设备。 那 么, 存储设备可以利用转换后的单播流进行网络存储。 The present invention will be described in detail below with reference to the accompanying drawings and embodiments. The present invention is a data transmission scheme, and the basic idea is: after receiving a multicast stream, the network device converts the multicast stream to a corresponding storage device according to a protocol supported by the storage device corresponding to the multicast stream. A unicast stream of the destination address is sent to the corresponding storage device. Then, the storage device can use the converted unicast stream for network storage.
图 3为本发明数据传输方法的示意性流程图, 如图 3所示, 该方法 包括以下步骤:  FIG. 3 is a schematic flowchart of a data transmission method according to the present invention. As shown in FIG. 3, the method includes the following steps:
步骤 301: 建立组播流与存储设备之间的关联关系。  Step 301: Establish an association relationship between the multicast stream and the storage device.
步骤 302: 根据所建立的关联关系, 确定组播流形式的待传输数据 对应的存储设备。  Step 302: Determine, according to the established association relationship, a storage device corresponding to the data to be transmitted in the form of a multicast stream.
步骤 303: 根据组播流形式的待传输数据对应的存储设备支持的协 单播流形式, 发送给该对应的存储设备。  Step 303: Send the unicast stream supported by the storage device corresponding to the data to be transmitted in the form of a multicast stream to the corresponding storage device.
由图 3示出的流程可见, 本发明通过将待存储的组播流转换为单播 流后发送给存储设备, 实现了利用组播流的网络存储。 由于发送端只需 要发送组播流, 降低了对发送端的性能要求, 发送端可以采用成本较低 的设备实现。 同时, 发送端不需要发送单播流, 减轻了发送端与外部设 备进行通信的链路带宽负担。  As can be seen from the flow shown in FIG. 3, the present invention implements network storage using the multicast stream by converting the multicast stream to be stored into a unicast stream and then transmitting the data to the storage device. Since the sender only needs to send the multicast stream, the performance requirements of the sender are reduced, and the sender can be implemented by a lower cost device. At the same time, the transmitting end does not need to send a unicast stream, which reduces the bandwidth burden of the link between the transmitting end and the external device.
本发明的数据传输方法可以应用于采用 ISCSI会话向存储设备发送 ISCSI流从而实现网络存储的网络设备上。该网络设备可以为三层设备, 例如三层交换机、 三层路由器等。  The data transmission method of the present invention can be applied to a network device that uses an ISCSI session to send an ISCSI stream to a storage device to implement network storage. The network device can be a Layer 3 device, such as a Layer 3 switch, a Layer 3 router, or the like.
下面就以三层设备接收组播流并通过 ISCSI会话存储到存储设备中 为例, 对本发明的数据传输方法进行详细描述。  The data transmission method of the present invention will be described in detail below by taking a multicast stream in a Layer 3 device and storing it in a storage device through an ISCSI session.
图 4为本发明实施例中数据传输方法的流程图。 如图 4所示, 该方 法包括以下步骤:  FIG. 4 is a flowchart of a data transmission method according to an embodiment of the present invention. As shown in Figure 4, the method includes the following steps:
步骤 401 : 在配置了组播路由协议的三层设备上配置 ISCSI会话连 接与用于转发组播流的 (S, G )组播表项之间的关联关系。 Step 401: Configure an ISCSI session on a Layer 3 device configured with a multicast routing protocol. The association relationship between the (S, G) multicast entries used to forward the multicast stream.
本步骤中,为三层设备与存储设备的相应资源建立 ISCSI会话连接, 将建立起的 ISCSI会话连接与( S, G )组播表项关联。由于组播流与( S, G )组播表项相关联, (S, G )组播表项与 ISCSI会话连接关联, ISCSI 会话连接与存储设备相关联, 那么, 本步骤执行后就建立起了组播流与 存储设备之间的关联关系。 此时, (S, G )组播表项被没有更改。 表 1 为 (S, G )组播表项的组成。 如表 1所示, (S, G )组播表项包括源地 址、 组播地址、 入接口列表和出接口列表。 其中, 入接口列表中的 Vlan - interfacel5 ( 10.10.10.1 )表示入接口名 ( Vlan - interfacel5 )及入接口 IP地址 ( 10.10.10.1 ); 出接口列表中的 Vlan - interface25 ( 11.11.11.1 ) 表示出接口名 ( Vlan - interface25 )和出接口 IP地址(11.11.11.1 )。 In this step, an ISCSI session connection is established between the Layer 3 device and the corresponding resource of the storage device, and the established ISCSI session connection is associated with the (S, G) multicast entry. Since the multicast stream is associated with the (S, G) multicast entry, the (S, G) multicast entry is associated with the ISCSI session connection, and the ISCSI session connection is associated with the storage device, then this step is established after execution. The relationship between the multicast stream and the storage device. At this point, the (S, G) multicast entry is unchanged. Table 1 shows the composition of the (S, G) multicast entry. As shown in Table 1, the (S, G) multicast entry includes the source address, multicast address, inbound interface list, and outbound interface list. Vlan - interfacel5 ( 10.10.10.1 ) in the inbound interface list indicates the inbound interface name ( Vlan - interfacel5 ) and the inbound interface IP address ( 10.10.10.1 ); Vlan - interface25 ( 11.11.11.1 ) in the outbound interface list indicates The interface name (Vlan - interface25) and the outbound interface IP address (11.11.11.1).
Figure imgf000011_0001
Figure imgf000011_0001
表 1  Table 1
三层设备上配置的组播路由协议包括: 距离矢量组播路由协议 The multicast routing protocols configured on the Layer 3 device include: Distance Vector Multicast Routing Protocol
( DVMRP, Distance Vector Multicast Routing Protocol )、 十办议无关组播 -密集模式 ( PIM-DM, Protocol Independent Multicast-Dense Mode )协 议、 协议无关组播 -稀疏模式 ( PIM-SM , Protocol Independent Multicast- Sparse Mode )十办议等。 (DVMRP, Distance Vector Multicast Routing Protocol), Protocol Independent Multicast-Dense Mode (PIM-DM) protocol, Protocol Independent Multicast-Sparse Mode (PIM-SM, Protocol Independent Multicast-Sparse) Mode) Ten meetings and so on.
存储设备上的相应资源包括存储设备的 IP地址、端口号, 还可以包 括存储设备名称等。  The corresponding resources on the storage device include the IP address and port number of the storage device, and may also include the storage device name.
步骤 402: 三层设备接收来自发送端的组播流。  Step 402: The layer 3 device receives the multicast stream from the sender.
步骤 403: 根据接收到的组播流查找对应的 (S, G )组播表项。 步骤 404:根据步骤 401建立的关联关系,判断接收到组播流的( S, G )组播表项是否具有对应的 ISCSI会话连接;如果有,则执行步骤 405; 否则, 执行步骤 408。 Step 403: Find a corresponding (S, G) multicast entry according to the received multicast stream. Step 404: Determine, according to the association relationship established in step 401, that the received multicast stream (S, G) Whether the multicast entry has a corresponding ISCSI session connection; if yes, step 405 is performed; otherwise, step 408 is performed.
步骤 405: 将对应的 ISCSI会话连接作为 ISCSI虚接口加入到查找 到的( S , G )组播表项的出接口列表中。其中,虚接口是指已建立的 ISCSI ^舌所占用的接口。 这里为了与(S, G )组播表项出接口列表中原有的 转发接口相区别,将 ISCSI ^舌所占用的接口称为 ISCSI虚接口。 ISCSI 虚接口是逻辑接口, 可以将它理解为一种标识。 在利用 (S, G )组播表 项转发组播流过程中, 当出接口为 ISCSI虚接口时, 表示要将待转发的 组播流转换为 ISCSI流, 再通过该 ISCSI虚接口发送给存储设备。  Step 405: Add the corresponding ISCSI session connection as an ISCSI virtual interface to the outbound interface list of the discovered (S, G) multicast entry. The virtual interface refers to the interface occupied by the established ISCSI tongue. The interface occupied by the ISCSI port is called the ISCSI virtual interface. The interface used by the ISCSI module is different from the original forwarding interface in the outbound interface list of the (S, G) multicast entry. An ISCSI virtual interface is a logical interface that can be understood as an identifier. In the process of forwarding a multicast stream by using the (S, G) multicast entry, when the outbound interface is an ISCSI virtual interface, it indicates that the multicast stream to be forwarded is converted into an ISCSI stream, and then sent to the storage through the ISCSI virtual interface. device.
表 2为在表 1中添加 ISCSI虚接口后的 (S, G )组播表项。 如表 2 所示, 在组播地址为 225.1.1.111的(S, G )组播表项的出接口列表中添 力口了 ISCSI虚接口 interface iscsi ( 12.12.12.1 )„ 其中, interface iscsi表示 虚接口名, 12.12.12.1表示虚接口的 IP地址。  Table 2 shows the (S, G) multicast entries after the ISCSI virtual interface is added to Table 1. As shown in Table 2, the ISCSI virtual interface interface iscsi ( 12.12.12.1 ) is added to the outbound interface list of the (S, G) multicast entry with the multicast address 225.1.1.111. Where, interface iscsi is virtual. Interface name, 12.12.12.1 indicates the IP address of the virtual interface.
Figure imgf000012_0001
Figure imgf000012_0001
表 2  Table 2
步骤 406: 采用对应的 ISCSI会话连接所连接的存储设备的地址替 换接收到的组播流的组播地址, 并对经地址替换的组播流数据进行 ISCSI封装, 生成 ISCSI流。  Step 406: Replace the multicast address of the received multicast stream with the address of the connected storage device by using the corresponding ISCSI session connection, and perform ISCSI encapsulation on the address-replaced multicast stream data to generate an ISCSI stream.
本步骤中,对于待替换目的地址的组播流,先对组播流进行解封装, 获得待传输的数据净荷, 采用存储设备的地址作为目的地址, 对待传输 的数据净荷进行 ISCSI封装, 得到 ISCSI流形式的待传输数据。 由于该 ISCSI流的目的设备是存储设备, 存储设备根据接收到的 ISCSI流进行 数据存储, 因此, 在封装时并不关注源地址。 因此, 可以采用该三层设 备的地址,或者采用原组播流中的源地址作为 ISCSI流的源地址。 ISCSI 封装采用现有的 ISCSI封装格式。 图 5为一种 ISCSI封装格式。 如图 5 所示, ISCSI数据包包括 48字节的 ISCSI头以及 ISCSI数据。 该 ISCSI 数据承载有待传输的数据, 例如 SCSI命令、 管理函数、 命令响应、 待 存储数据等内容。 然后给该 ISCSI数据依次添加 20字节的 TCP头、 20 字节的 IP头即构成了 IP包, 然后在 IP包的头尾分别添加 14字节的以 太网头和 4字节的以太网尾, 从而构成了以太网帧。 ISCSI数据部分的 长度与待传输的数据长度有关。 In this step, for the multicast stream to be replaced, the multicast stream is first decapsulated to obtain the payload of the data to be transmitted, and the address of the storage device is used as the destination address, and the data payload to be transmitted is ISCSI encapsulated. The data to be transmitted in the form of an ISCSI stream is obtained. Since the destination device of the ISCSI stream is a storage device, the storage device performs according to the received ISCSI stream. Data storage, therefore, does not focus on the source address when encapsulating. Therefore, the address of the Layer 3 device can be used, or the source address in the original multicast stream can be used as the source address of the ISCSI stream. The ISCSI package is available in an existing ISCSI package format. Figure 5 shows an ISCSI package format. As shown in Figure 5, the ISCSI packet includes a 48-byte ISCSI header and ISCSI data. The ISCSI data carries data to be transmitted, such as SCSI commands, management functions, command responses, data to be stored, and the like. Then, the ISCSI data is sequentially added with a 20-byte TCP header, and the 20-byte IP header constitutes an IP packet, and then a 14-byte Ethernet header and a 4-byte Ethernet tail are respectively added at the beginning and the end of the IP packet. , thus forming an Ethernet frame. The length of the ISCSI data portion is related to the length of the data to be transmitted.
本步骤中的 ISCSI封装可以利用软件实现。 为了减少三层设备资源 的消耗, 可以采用专门用于 ISCSI封装的外接于三层设备的硬件设备来 实现。例如,利用对专用集成电路( AISC, Application Specific Integrated Circuit )编程实现封装处理, 或者采用 ISCSI主机总线适配器(HBA, Host Bus Adapter )可以实现封装处理。  The ISCSI package in this step can be implemented in software. In order to reduce the consumption of Layer 3 device resources, hardware devices connected to Layer 3 devices dedicated to ISCSI encapsulation can be used. For example, the package processing can be implemented by programming an Application Specific Integrated Circuit (AISC), or by using an ISCSI Host Bus Adapter (HBA).
步骤 407:通过加入( S, G )组播表项中的虚接口 ,将封装后的 ISCSI 流发送给存储设备。  Step 407: Send the encapsulated ISCSI stream to the storage device by adding the virtual interface in the (S, G) multicast entry.
步骤 408: 根据(S, G )组播表项中的出接口, 转发组播流。 其中, 转发组播流的出接口不包括用于转发 ISCSI流的虚接口。 例如, 可以采 用表 2示出的出接口 Vlan - interface25 ( 11.11.11.1 )转发组播流。  Step 408: Forward the multicast stream according to the outbound interface in the (S, G) multicast entry. The outbound interface of the forwarding multicast stream does not include a virtual interface for forwarding the ISCSI stream. For example, the multicast stream can be forwarded using the outgoing interface Vlan - interface25 ( 11.11.11.1 ) shown in Table 2.
至此, 本流程结束。  At this point, the process ends.
其中, 步骤 406 ~步骤 407是转发 ISCSI流的步骤, 步骤 408是转 发组播流的步骤。 这两部分内容之间没有明显的先后顺序, 也可以先转 发组播流, 再转换并发送单播流。 在实际应用中, 可以根据(S, G )组 播表项的出接口列表确定转发顺序。 以表 2示出的(S, G )组播表项为 例, 当出接口为 Vlan - interface25 ( 11.11.11.1 ) 时, 执行步骤 408转发 组播流的步骤; 当出接口为虚接口 interface iscsi ( 12.12.12.1 ) 时, 将组 地址 225.1.1.111替换为存储设备地址, 将组播流数据封装为 ISCSI流, 并通过该虚接口与存储设置之间的 ISCSI会话连接将封装后的 ISCSI流 发送给存储设备。 Steps 406 to 407 are steps of forwarding the ISCSI stream, and step 408 is the step of forwarding the multicast stream. There is no obvious sequence between the two parts. You can also forward the multicast stream first, then convert and send the unicast stream. In an actual application, the forwarding sequence may be determined according to the outbound interface list of the (S, G) multicast entry. Take the (S, G) multicast entry shown in Table 2 as an example. When the outbound interface is Vlan - interface25 ( 11.11.11.1 ), go to step 408 to forward the packet. If the outbound interface is the virtual interface interface iscsi ( 12.12.12.1 ), replace the group address 225.1.1.111 with the storage device address, encapsulate the multicast stream data into an ISCSI stream, and use the virtual interface and storage. The ISCSI session connection between the settings sends the encapsulated ISCSI stream to the storage device.
为了实现上述数据传输方法, 本发明实施例提供了一种数据传输系 统。 图 6为本发明实施例中数据传输系统的结构示意图。 如图 6所示, 该系统包括: 发送端 610、 网络设备 620、 接收端 630、 存储设备 640和 数据传输设备 650。  In order to implement the above data transmission method, an embodiment of the present invention provides a data transmission system. FIG. 6 is a schematic structural diagram of a data transmission system according to an embodiment of the present invention. As shown in FIG. 6, the system includes: a transmitting end 610, a network device 620, a receiving end 630, a storage device 640, and a data transmission device 650.
其中, 发送端 610为组播源。 该发送端 610根据配置的组播地址, 将待传输的数据封装为组播流发送出去。  The sender 610 is a multicast source. The transmitting end 610 encapsulates the data to be transmitted into a multicast stream according to the configured multicast address.
网络设备 620转发接收到的组播流。 其接收来自发送端 610或与该 网络设备 620 直接相连的其他网络设备 620 的组播流并转发给接收端 630和 /或与该网络设备 620直接相连的网络设备 620。  Network device 620 forwards the received multicast stream. It receives the multicast stream from the sender 610 or other network device 620 directly connected to the network device 620 and forwards it to the receiver 630 and/or to the network device 620 directly connected to the network device 620.
数据传输设备 650也属于网络设备, 其具有网络设备的基本功能, 能够转发组播流。 该数据传输设备 650还保存有预先建立的组播流与存 储设备之间的关联关系, 根据其保存的关联关系确定组播流形式的待传 输数据对应的存储设备, 根据所确定的存储设备支持的协议, 将组播流 形式的待传输数据转换为以所确定的存储设备为目的地址的单播流形 式的待传输数据, 并发送给所确定的存储设备 640。  The data transmission device 650 also belongs to a network device, which has the basic functions of a network device and is capable of forwarding a multicast stream. The data transmission device 650 further stores a pre-established association relationship between the multicast stream and the storage device, and determines a storage device corresponding to the data to be transmitted in the form of a multicast stream according to the saved association relationship, and supports the storage device according to the determined storage device. The protocol converts the data to be transmitted in the form of a multicast stream into data to be transmitted in the form of a unicast stream with the determined storage device as the destination address, and sends the data to the determined storage device 640.
存储设备 640, 接收来自外部的单播流形式的数据并保存。  The storage device 640 receives data from the external unicast stream and saves it.
图 7为本发明实施例中数据传输设备的结构示意图。 如图 7所示, 该数据传输设备 700包括: 关联关系建立单元 710、 存储单元 720和组 播流处理单元 730。  FIG. 7 is a schematic structural diagram of a data transmission device according to an embodiment of the present invention. As shown in FIG. 7, the data transmission device 700 includes: an association establishing unit 710, a storage unit 720, and a multicast stream processing unit 730.
其中, 关联关系建立单元 710, 用于建立组播流与存储设备之间的 关联关系, 将所建立的关联关系发送给存储单元 720。 存储单元 720, 用于存储组播流与存储设备之间的关联关系。 如果 不需要永久保存关联关系建立单元 710所建立的关联关系 , 那么该数据 传输设备 700中可以不包括存储单元 720。 那么, 组播流处理单元 730 直接使用关联关系建立单元 710所建立的关联关系即可。 The association relationship establishing unit 710 is configured to establish an association relationship between the multicast stream and the storage device, and send the established association relationship to the storage unit 720. The storage unit 720 is configured to store an association relationship between the multicast stream and the storage device. If it is not necessary to permanently save the association relationship established by the association establishing unit 710, the storage unit 720 may not be included in the data transmission device 700. Then, the multicast stream processing unit 730 directly uses the association relationship established by the association relationship establishing unit 710.
组播流处理单元 730, 用于根据从存储单元 720获取的关联关系, 确定组播流形式的待传输数据对应的存储设备, 根据所确定的存储设备 支持的协议, 将组播流形式的待传输数据转换为以所确定的存储设备为 目的地址的单播流形式的待传输数据, 并发送给外部。  The multicast stream processing unit 730 is configured to determine, according to the association relationship acquired from the storage unit 720, a storage device corresponding to the data to be transmitted in the form of a multicast stream, and to wait for the multicast stream according to the determined protocol supported by the storage device. The transmission data is converted into data to be transmitted in the form of a unicast stream with the determined storage device as a destination address, and transmitted to the outside.
上述关联关系建立单元 710具体包括会话建立模块 711和关联模块 712。 其中,  The association relationship establishing unit 710 specifically includes a session establishing module 711 and an association module 712. among them,
会话建立模块 711 , 用于创建其所在数据传输设备与存储设备之间 的会话连接。 对于支持 ISCSI协议的存储设备来说, 该模块建立的会话 连接为 ISCSI ^舌连接。  The session establishing module 711 is configured to create a session connection between the data transmission device and the storage device where the data is located. For storage devices that support the ISCSI protocol, the session connection established by the module is an ISCSI connection.
关联模块 712,用于建立会话建立模块 711所创建的会话连接与( S, G )组播表项之间的关联关系 ,将所建立的关联关系发送给存储单元 720。 对于支持 ISCSI协议的存储设备来说, 该模块具体建立 ISCSI会话连接 与 (S, G )组播表项之间的关联关系。  The association module 712 is configured to establish an association relationship between the session connection created by the session establishment module 711 and the (S, G) multicast entry, and send the established association relationship to the storage unit 720. For a storage device that supports the ISCSI protocol, the module establishes the association relationship between the ISCSI session connection and the (S, G) multicast entry.
上述存储单元 720具体保存有(S, G )组播表项, 以及会话连接与 ( S, G )组播表项之间的关联关系。  The storage unit 720 specifically stores (S, G) multicast entries, and association relationships between session connections and (S, G) multicast entries.
上述组播流处理单元 730具体包括查找判断模块 731、处理模块 732 和转换发送模块 733, 其中,  The foregoing multicast stream processing unit 730 specifically includes a lookup determining module 731, a processing module 732, and a conversion sending module 733, where
查找判断模块 731 , 用于接收来自外部的组播流形式的待传输数据, 根据从存储单元 720获取的(S, G )组播表项, 查找接收到的组播流形 式的待传输数据对应的(S, G )组播表项, 根据存储单元 720获取的关 联关系, 判断查找到的(S, G )组播表项是否具有对应的会话连接, 将 判断结果发送给处理模块 732。 The search judging module 731 is configured to receive data to be transmitted in the form of a multicast stream from the outside, and search for the data to be transmitted in the form of the received multicast stream according to the (S, G) multicast entry obtained from the storage unit 720. The (S, G) multicast entry determines whether the found (S, G) multicast entry has a corresponding session connection according to the association relationship obtained by the storage unit 720. The result of the determination is sent to the processing module 732.
处理模块 732, 用于在接收的判断结果为查找到的 (S, G )组播表 项具有对应的会话连接时, 将对应的会话连接作为虚接口加入查找到的 The processing module 732 is configured to: when the received judgment result is that the found (S, G) multicast entry has a corresponding session connection, add the corresponding session connection as a virtual interface to find the
( S , G )组播表项的出接口列表中, 将修改后的 (S , G )组播表项发 送给转换发送模块 733; 当接收的判断结果为没有对应的会话连接时, 将未修改的 (S, G )组播表项发送给转换发送模块 733。 (S, G) in the outbound interface list of the multicast entry, the modified (S, G) multicast entry is sent to the conversion sending module 733; when the received judgment result is that there is no corresponding session connection, the The modified (S, G) multicast entry is sent to the conversion sending module 733.
转换发送模块 733, 用于根据接收的(S, G )组播表项转发组播流。 具体而言, 对于修改过的(S, G )组播表, 对组播流进行解封装, 获得 待传输数据, 采用对应的会话连接所连接的存储设备的地址作为目的地 址, 将获得的待传输数据封装为符合存储设备所支持协议的单播流。 再 通过(S, G )组播表项中的虚接口将生成的单播流发送到会话连接中的 存储设备; 在通过( S , G )组播表项中除虚接口以外的出接口发送组播 流时, 采用现有的转发方式转发组播流。 另外, 对于查找判断模块 731 判定为没有对应会话连接的组播流, 转换发送模块 733根据未修改过的 The conversion sending module 733 is configured to forward the multicast stream according to the received (S, G) multicast entry. Specifically, for the modified (S, G) multicast table, the multicast stream is decapsulated, and the data to be transmitted is obtained, and the address of the storage device connected by the corresponding session connection is used as the destination address, and the obtained The transport data is encapsulated into a unicast stream that conforms to the protocols supported by the storage device. The generated unicast stream is sent to the storage device in the session connection through the virtual interface in the (S, G) multicast entry. The outbound interface except the virtual interface is sent through the (S, G) multicast entry. In the case of multicast streaming, the existing forwarding mode is used to forward the multicast stream. In addition, for the multicast determination that the lookup determination module 731 determines that there is no corresponding session connection, the conversion sending module 733 is based on the unmodified
( S, G )组播表项的出接口列表中的各出接口, 采用现有的转发方式转 发组播流。 (S, G) Each outgoing interface in the outbound interface list of the multicast entry forwards the multicast stream using the existing forwarding mode.
图 6中, 发送端 610发送出的组播流经过网络设备 1和网络设备 2 到达数据传输设备 650, 由数据传输设备 650将其转换为单播流。 在实 际中该数据传输设备 650也可以设置在组播流流经的任意节点, 例如可 以设置在网络设备 1或网络设备 2的位置。 在数据传输设备 650靠近存 储设备时, 数据传输设备 650与发送端 610之间的各网络设备 620都不 需要转发单播流, 减轻了这些网络设备的转发负担。  In Figure 6, the multicast stream sent by the sender 610 passes through the network device 1 and the network device 2 to the data transmission device 650, which is converted into a unicast stream by the data transmission device 650. In practice, the data transmission device 650 can also be placed at any node through which the multicast stream flows, for example, at the location of the network device 1 or the network device 2. When the data transmission device 650 is close to the storage device, each network device 620 between the data transmission device 650 and the transmitting end 610 does not need to forward the unicast stream, which reduces the forwarding burden of these network devices.
对于背景技术中提到的视频监控和存储系统, 可以采用本发明实施 例中的数据传输系统实现。 如图 6所示, 发送端 610由摄像头 611和硬 件编码器 612组成。 硬件编码器 612只对摄像头 611采集的视频数据进 行编码并封装为组播流,发送给与其相连的网络设备 620。 网络设备 620 负责转发组播流。 与存储设备 640相连的网络设备采用本发明实施例中 数据传输设备 650实现。 该数据传输设备 650将接收到的组播流转换为 单播流, 将转换后的单播流发送给存储设备 640; 还将接收的组播流转 发给与其相连的接收端 630。 该接收端 630中的硬件解码器 632对单播 流形式的数据解码后, 由显示设备 633进行显示, 或者直接由带解码功 能的显示设备 631进行解码和显示。 The video monitoring and storage system mentioned in the background art can be implemented by the data transmission system in the embodiment of the present invention. As shown in FIG. 6, the transmitting end 610 is composed of a camera 611 and a hardware encoder 612. The hardware encoder 612 only enters the video data collected by the camera 611. The lines are encoded and encapsulated into a multicast stream that is sent to the network device 620 to which it is connected. Network device 620 is responsible for forwarding the multicast stream. The network device connected to the storage device 640 is implemented by the data transmission device 650 in the embodiment of the present invention. The data transmission device 650 converts the received multicast stream into a unicast stream, and sends the converted unicast stream to the storage device 640. The received multicast stream is also forwarded to the receiving end 630 connected thereto. The hardware decoder 632 in the receiving end 630 decodes the data in the form of a unicast stream, displays it by the display device 633, or directly decodes and displays it by the display device 631 with the decoding function.
可见, 采用本发明的数据传输方案, 组播流在从发送端 610到存储 设备 640所流经的某个网络设备上被转换为单播流,那么,存储模块 640 就可以利用转换后的单播流进行网络存储, 而不需要发送端 610发送单 播流。 同时, 发送端 610中的硬件编码器 612只需要处理组播流, 降低 了硬件编码器 612的负担。 在被转换为单播流之前, 组播流所流经的网 络设备只需要转发组播流, 避免了现有的网络设备需要同时转发单播流 和组播流所带来的转发负担重的问题。  It can be seen that, by using the data transmission scheme of the present invention, the multicast stream is converted into a unicast stream on a network device that flows from the sending end 610 to the storage device 640, and then the storage module 640 can utilize the converted single. The broadcast stream performs network storage without the sender 610 sending a unicast stream. At the same time, the hardware encoder 612 in the transmitting end 610 only needs to process the multicast stream, which reduces the burden on the hardware encoder 612. Before being converted to a unicast stream, the network device through which the multicast stream flows only needs to forward the multicast stream, which avoids the heavy forwarding load caused by the existing network device needing to forward the unicast stream and the multicast stream at the same time. problem.
以上所述仅为本发明的较佳实施例而已, 并不用以限制本发明, 凡 在本发明的精神和原则之内, 所做的任何修改、 等同替换、 改进等, 均 应包含在本发明的保护范围之内。  The above is only the preferred embodiment of the present invention, and is not intended to limit the present invention. Any modifications, equivalents, improvements, etc., which are made within the spirit and principles of the present invention, should be included in the present invention. Within the scope of protection.

Claims

权利要求书 Claim
1、 一种数据传输方法, 该方法包括:  1. A data transmission method, the method comprising:
建立组播流与存储设备之间的关联关系;  Establish an association relationship between the multicast stream and the storage device.
根据所建立的关联关系 , 确定组播流形式的待传输数据对应的存储 设备;  Determining, according to the established association relationship, a storage device corresponding to the data to be transmitted in the form of a multicast stream;
根据所确定的存储设备支持的协议, 将组播流形式的待传输数据转 换为以所述对应的存储设备为目的地址的单播流形式的待传输数据, 并 发送给所述对应的存储设备。  Converting the data to be transmitted in the form of a multicast stream to the data to be transmitted in the form of a unicast stream with the corresponding storage device as the destination address, and transmitting the data to the corresponding storage device, according to the protocol supported by the storage device. .
2、如权利要求 1所述的方法, 其特征在于, 所述建立组播流与存储 设备之间的关联关系包括:  The method of claim 1, wherein the establishing the association relationship between the multicast stream and the storage device comprises:
创建用于转发组播流的网络设备与存储设备之间的^舌连接; 建立所述会话连接与用于转发组播流的组播表项之间的关联关系。 Creating a link between the network device for forwarding the multicast stream and the storage device; establishing an association relationship between the session connection and the multicast entry for forwarding the multicast stream.
3、如权利要求 2所述的方法, 其特征在于, 所述网络设备根据所建 立的关联关系 , 确定接收到的组播流形式的待传输数据对应的存储设备 包括: The method of claim 2, wherein the determining, by the network device, the storage device corresponding to the data to be transmitted in the form of the received multicast stream, according to the established association relationship, includes:
根据组播流形式的待传输数据查找对应的组播表项;  Finding a corresponding multicast entry according to the data to be transmitted in the form of a multicast stream;
在根据所建立的关联关系判定查找到的组播表项具有对应的会话连 接时 , 将对应的会话连接所连接的存储设备确定为所述组播流形式的待 传输数据对应的存储设备。  When it is determined that the discovered multicast entry has a corresponding session connection according to the established association relationship, the storage device connected to the corresponding session connection is determined as the storage device corresponding to the data to be transmitted in the form of the multicast stream.
4、如权利要求 3所述的方法, 其特征在于, 所述将组播流形式的待 传输数据转换为以所述对应的存储设备为目的地址的单播流形式的待 传输数据包括:  The method according to claim 3, wherein the data to be transmitted in the form of a unicast stream in which the data to be transmitted in the form of a multicast stream is converted to the destination address of the corresponding storage device comprises:
采用所述对应的会话连接所连接的存储设备的地址替换所述组播流 形式的待传输数据的组播地址; 根据所述所连接的存储设备支持的协议, 将组播流形式的待传输数 据进行封装, 生成以所述对应的存储设备为目的地址的单播流形式的待 传输数据。 Replacing the multicast address of the data to be transmitted in the form of the multicast stream by using the address of the storage device connected to the corresponding session connection; The data to be transmitted in the form of a multicast stream is encapsulated according to the protocol supported by the connected storage device, and the data to be transmitted in the form of a unicast stream with the destination storage device as the destination address is generated.
5、如权利要求 3所述的方法, 其特征在于, 所述确定组播流形式的 待传输数据对应的存储设备之后, 且所述将组播流形式的待传输数据转 换为以所述对应的存储设备为目的地址的单播流形式的待传输数据之 前或之后进一步包括: 将所述对应的会话连接作为虚接口加入查找到的 组播表项的出接口列表中;  The method according to claim 3, after the determining the storage device corresponding to the data to be transmitted in the form of a multicast stream, and converting the data to be transmitted in the form of a multicast stream to the corresponding Before or after the data to be transmitted in the unicast stream of the destination address, the method further includes: adding the corresponding session connection as a virtual interface to the outbound interface list of the found multicast entry;
所述发送给所述对应的存储设备为: 通过所述加入组播表项中的虚 接口将所述生成的单播流形式的待传输数据发送给对应的存储设备。  The sending to the corresponding storage device is: sending the to-be-transmitted data in the form of the generated unicast stream to the corresponding storage device by using the virtual interface in the join multicast entry.
6、 如权利要求 5所述的方法, 其特征在于, 该方法进一步包括: 根 据查找到的组播表项中除虚接口之外的出接口转发接收到的组播流形 式的待传输数据。  The method according to claim 5, wherein the method further comprises: forwarding the data to be transmitted in the received multicast stream according to the outbound interface except the virtual interface in the found multicast entry.
7、 如权利要求 3所述的方法, 其特征在于, 该方法进一步包括: 根 据所建立的会话连接与组播表项之间的关联关系判断所述查找到的组 播表项是否具有对应的会话连接, 如果是, 则执行所述确定组播流形式 的待传输数据对应的存储设备的操作; 否则, 根据查找到的组播表项中 的出接口转发接收到的组播流形式的待传输数据。  The method of claim 3, wherein the method further comprises: determining, according to the association relationship between the established session connection and the multicast entry, whether the found multicast entry has a corresponding a session connection, if yes, performing the operation of determining the storage device corresponding to the data to be transmitted in the form of a multicast stream; otherwise, forwarding the received multicast stream according to the outbound interface in the found multicast entry transfer data.
8、 如权利要求 2所述的方法, 其特征在于, 所述会话连接为 ISCSI 会话连接; 所述存储设备为支持 ISCSI协议的存储设备。  The method of claim 2, wherein the session connection is an ISCSI session connection; and the storage device is a storage device supporting the ISCSI protocol.
9、一种数据传输设备, 其特征在于, 该设备包括关联关系建立单元 和组播流处理单元, 其中,  A data transmission device, comprising: an association relationship establishing unit and a multicast stream processing unit, wherein
所述关联关系建立单元, 用于建立组播流与存储设备之间的关联关 系;  The association relationship establishing unit is configured to establish an association relationship between the multicast stream and the storage device;
所述组播流处理单元, 用于根据所述关联关系建立单元建立的关联 关系, 确定组播流形式的待传输数据对应的存储设备; ^^据所确定的存 储设备支持的协议, 将组播流形式的待传输数据转换为以所述对应的存 储设备为目的地址的单播流形式的待传输数据并发送。 The multicast stream processing unit is configured to establish an association established by the unit according to the association relationship a relationship, the storage device corresponding to the data to be transmitted in the form of a multicast stream is determined; and the data to be transmitted in the form of a multicast stream is converted into the destination address of the corresponding storage device according to the protocol supported by the storage device determined by the storage device. The data to be transmitted in the form of a unicast stream is sent.
10、 如权利要求 9所述的设备, 其特征在于, 该设备进一步包括存 储单元;  10. The device of claim 9, wherein the device further comprises a storage unit;
所述关联关系建立单元进一步将所建立的关联关系发送给所述存储 单元;  The association establishing unit further sends the established association relationship to the storage unit;
所述存储单元, 用于存储接收的所述关联关系。  The storage unit is configured to store the received association relationship.
11、如权利要求 10所述的设备, 其特征在于, 所述关联关系建立单 元包括会话建立模块和关联模块, 其中,  The device according to claim 10, wherein the association establishing unit includes a session establishing module and an association module, where
所述会话建立模块, 用于创建其所在数据传输设备与存储设备之间 的^舌连接;  The session establishing module is configured to create a tongue connection between a data transmission device and a storage device;
所述关联模块, 用于建立所述会话建立模块所创建的会话连接与用 于转发组播流的组播表项之间的关联关系 , 将所建立的关联关系发送给 所述存储单元;  The association module is configured to establish an association relationship between a session connection created by the session establishment module and a multicast entry for forwarding a multicast stream, and send the established association relationship to the storage unit;
所述存储单元进一步存储各组播表项, 并且存储接收的所述会话连 接与组播表项之间的关联关系。  The storage unit further stores each multicast entry, and stores the received association relationship between the session connection and the multicast entry.
12、如权利要求 11所述的设备, 其特征在于, 所述组播流处理单元 包括查找判断模块、 处理模块和转换发送模块, 其中,  The device according to claim 11, wherein the multicast stream processing unit includes a lookup determination module, a processing module, and a conversion sending module, where
所述查找判断模块, 用于从存储单元中查找组播流形式的待传输数 据对应的组播表项; 根据存储单元保存的所述会话连接与组播表项之间 的关联关系判断查找到的组播表项是否具有对应的会话连接 , 将判断结 果发送给所述处理模块;  The search and judgment module is configured to search for a multicast entry corresponding to the data to be transmitted in the form of a multicast stream from the storage unit; and determine, according to the association relationship between the session connection and the multicast entry saved by the storage unit, Whether the multicast entry has a corresponding session connection, and sends the determination result to the processing module;
所述处理模块在接收到的判断结果为查找到的组播表项具有对应的 会话连接时 , 将所述对应的会话连接作为虚接口加入查找到的组播表项 的出接口列表中, 将修改后的组播表项发送给所述转换发送模块; 所述转换发送模块, 对组播流进行解封装, 获得待传输数据, 采用 得的待传输数据封装为符合所述存储设备所支持协议的单播流形式的 待传输数据; 根据接收到的组播表项中的所述虚接口将生成的单播流形 式的待传输数据发送出去。 The processing module adds the corresponding session connection as a virtual interface to the found multicast entry when the received judgment result is that the found multicast entry has a corresponding session connection. In the outbound interface list, the modified multicast entry is sent to the conversion sending module; the conversion sending module decapsulates the multicast stream, obtains data to be transmitted, and uses the data to be transmitted to be encapsulated into a matching The data to be transmitted in the form of a unicast stream of the protocol supported by the storage device; the data to be transmitted in the form of a unicast stream generated according to the virtual interface in the received multicast entry is sent out.
13、如权利要求 12所述的设备, 其特征在于, 所述转换发送模块进 一步用于根据接收到的组播表项中除所述虚接口之外的出接口转发组 播流形式的待传输数据。  The device according to claim 12, wherein the conversion sending module is further configured to: forward the to-be-transmitted form in the form of a multicast stream according to the outbound interface except the virtual interface in the received multicast entry data.
PCT/CN2007/070478 2006-09-25 2007-08-15 Method and apparatus for transmitting data WO2008037202A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN200610139358.8 2006-09-25
CN2006101393588A CN1964345B (en) 2006-09-25 2006-09-25 A method to process multicast stream and network equipment

Publications (1)

Publication Number Publication Date
WO2008037202A1 true WO2008037202A1 (en) 2008-04-03

Family

ID=38083235

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2007/070478 WO2008037202A1 (en) 2006-09-25 2007-08-15 Method and apparatus for transmitting data

Country Status (2)

Country Link
CN (1) CN1964345B (en)
WO (1) WO2008037202A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113950007A (en) * 2020-07-17 2022-01-18 维沃移动通信有限公司 Service transmission method, device and communication equipment

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1964345B (en) * 2006-09-25 2010-06-30 杭州华三通信技术有限公司 A method to process multicast stream and network equipment
WO2011000151A1 (en) * 2009-06-30 2011-01-06 华为技术有限公司 Method and the corresponding apparatus for realizing internet protocol television channel services
US9503276B2 (en) 2012-12-12 2016-11-22 Pismo Labs Technology Limited Method and system to reduce wireless network packets for centralised layer two network
US10298416B2 (en) 2013-09-05 2019-05-21 Pismo Labs Technology Limited Method and system for converting a broadcast packet to a unicast packet at an access point
CN108616710A (en) * 2016-12-09 2018-10-02 北京视联动力国际信息技术有限公司 A kind of generation method and device of high definition picture

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1574788A (en) * 2003-06-04 2005-02-02 日本电气株式会社 Ip multicast distribution system, streaming data distribution system and program therefor
WO2006052639A2 (en) * 2004-11-05 2006-05-18 Ruckus Wireless, Inc. Systems and methods for improved data throughput in communications networks
CN1964345A (en) * 2006-09-25 2007-05-16 杭州华为三康技术有限公司 A method to process multicast stream and network equipment

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7007071B1 (en) * 2000-07-24 2006-02-28 Mosaid Technologies, Inc. Method and apparatus for reducing pool starvation in a shared memory switch
CN1142660C (en) * 2001-11-06 2004-03-17 四川大学 Flow-type broadcast video server system
CN1753406B (en) * 2005-10-26 2010-06-30 华中科技大学 IP storage control method based on iSCSI protocol and apparatus thereof

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1574788A (en) * 2003-06-04 2005-02-02 日本电气株式会社 Ip multicast distribution system, streaming data distribution system and program therefor
WO2006052639A2 (en) * 2004-11-05 2006-05-18 Ruckus Wireless, Inc. Systems and methods for improved data throughput in communications networks
CN1964345A (en) * 2006-09-25 2007-05-16 杭州华为三康技术有限公司 A method to process multicast stream and network equipment

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
ZHU L. ET AL.: "Study of Internet SCSI protocol", COMPUTER ENGINEERING AND APPLICATIONS, no. 15, 31 May 2002 (2002-05-31), pages 44 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113950007A (en) * 2020-07-17 2022-01-18 维沃移动通信有限公司 Service transmission method, device and communication equipment
CN113950007B (en) * 2020-07-17 2023-12-05 维沃移动通信有限公司 Service transmission method, device and communication equipment

Also Published As

Publication number Publication date
CN1964345B (en) 2010-06-30
CN1964345A (en) 2007-05-16

Similar Documents

Publication Publication Date Title
CN109525460B (en) Method and device for monitoring number resources of video network
US20090154474A1 (en) Server apparatus
US20060171407A1 (en) Multicast packet processing apparatus and method
JP2008079175A (en) Frame transfer system
CN110087102B (en) State query method, device and storage medium
WO2007019785A1 (en) A multicast supported virtual local area network switching system and a method thereof
CN109474715B (en) Resource configuration method and device based on video network
JP2012513692A (en) Method and apparatus for performing reliable multicast streaming
CN108881796B (en) Video data processing method and video networking protocol conversion server
CN110035005B (en) Data processing method and device
WO2008037202A1 (en) Method and apparatus for transmitting data
WO2011017982A1 (en) System, method and terminal for processing media services
WO2007079632A1 (en) A MULTICAST DISPOSING METNOD, MULTICAST METNOD AND APPARATUS AMONG IPv6 ISLANDS
JP2006074132A (en) Multicast communication method and gateway device
CN111614927A (en) Video session establishment method, device, electronic equipment and storage medium
CN101009669B (en) A method and system and route device for transmitting the multicast message
WO2007041942A1 (en) System for Ethernet supporting the transmitting of the source-specific multicast and the method thereof
US20090106436A1 (en) Methods and systems for offload processing
CN110519331B (en) Method and device for processing resources of video network
CN110417792B (en) Communication method, system, gateway device and storage medium
CN110336796B (en) Communication method and communication device
CN109889516B (en) Method and device for establishing session channel
JP2006295787A (en) System, apparatus, and method for information processing
CN110336710B (en) Terminal testing method, system and device and storage medium
CN109922300B (en) Method and server for inviting video network MCU conference to Internet MCU conference

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

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

Country of ref document: EP

Kind code of ref document: A1