CN117527458B - Multicast data distribution method and device, electronic equipment and storage medium - Google Patents
Multicast data distribution method and device, electronic equipment and storage medium Download PDFInfo
- Publication number
- CN117527458B CN117527458B CN202410020969.9A CN202410020969A CN117527458B CN 117527458 B CN117527458 B CN 117527458B CN 202410020969 A CN202410020969 A CN 202410020969A CN 117527458 B CN117527458 B CN 117527458B
- Authority
- CN
- China
- Prior art keywords
- address
- data distribution
- multicast
- data
- distribution request
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 86
- 230000004044 response Effects 0.000 claims abstract description 80
- 230000003068 static effect Effects 0.000 claims description 6
- 230000005540 biological transmission Effects 0.000 abstract description 44
- 230000006854 communication Effects 0.000 description 18
- 238000004891 communication Methods 0.000 description 17
- 238000012545 processing Methods 0.000 description 14
- 238000010586 diagram Methods 0.000 description 11
- 230000008569 process Effects 0.000 description 11
- 238000007726 management method Methods 0.000 description 10
- 230000007246 mechanism Effects 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 6
- 238000012544 monitoring process Methods 0.000 description 5
- 101100352419 Pithecopus hypochondrialis psn1 gene Proteins 0.000 description 3
- 230000006399 behavior Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000012216 screening Methods 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 239000008186 active pharmaceutical agent Substances 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000005192 partition Methods 0.000 description 2
- 230000003252 repetitive effect Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
- H04L12/1863—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast comprising mechanisms for improved reliability, e.g. status reports
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/20—Support for services
- H04L49/201—Multicast operation; Broadcast operation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/50—Address allocation
- H04L61/5069—Address allocation for group communication, multicast communication or broadcast communication
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
The embodiment of the disclosure provides a multicast data distribution method, a device, electronic equipment and a storage medium. The method comprises the following steps: receiving a data distribution request sent by an application program; the data distribution request is used for requesting to send the data packet from the source address to the first target address; judging whether the data distribution request meets a multicast condition according to the data distribution request; acquiring at least one second target address associated with the first target address in response to the data distribution request satisfying the multicast condition; and sending a data distribution instruction to the switch to instruct the switch to copy and forward the data packet to the first target address and the second target address. According to the method, the original single-to-single connection can be expanded into single-to-multiple connection according to the data distribution request, so that efficient multicast transmission of the data packet among a plurality of target addresses is realized, the data distribution range and efficiency are greatly expanded, the bandwidth consumption is reduced, and meanwhile, the reliability of data transmission can be considered.
Description
Technical Field
The disclosure relates to the field of computer technology, and in particular, to a multicast data distribution method, a device, an electronic device and a storage medium.
Background
Mainstream network transport protocols are generally based on a hierarchical design and classified into two major classes, connection-oriented and non-connection-oriented, according to the transport layer. Among them, connection-oriented protocols such as TCP mainly support point-to-point data transmission, whereas non-connection-oriented protocols such as UDP support one-to-many communication, and thus a multicast protocol has been developed. The multicast protocol can realize single-to-many data distribution and transmission in the data exchange equipment, and greatly enriches the network application form.
However, in most cross-node network applications, data traffic transport services with reliable protocols are required. This requires that the communication protocol must be reliable, even connection-oriented. With the rapid development of the internet, many such applications have seen single-to-many network transmission demands, such as N-copy writing in a distributed storage system, multi-terminal push streaming of video conferences, and multi-node forwarding of service messages.
Currently, reliable connection oriented communication protocols do not directly support multicasting. The existing solutions mainly include two types: one is that the application layer establishes N1-to-1 connections, and data are respectively sent to different target nodes in each connection; the other is to use a non-reliable non-connection oriented protocol, and then introduce a mechanism at the application layer to ensure the integrity and reliability of data transmission. Both of these methods have their limitations: the former needs the application layer to manage multiple connections and process multiple channels for sending and receiving, thus consuming a great deal of bandwidth resources; the latter requires implementing a complex packet management mechanism at the application layer due to unreliability of the transmission protocol, and the application itself needs to ensure reliability of data transmission.
Therefore, there is a need in the art for a method of multicast data distribution that supports multicast functionality while maintaining the reliability of connection-oriented communication protocols.
Disclosure of Invention
The embodiment of the disclosure provides a multicast data distribution method, a device, electronic equipment and a storage medium.
According to a first aspect of an embodiment of the present disclosure, there is provided a multicast data distribution method, including: receiving a data distribution request sent by an application program; the data distribution request at least comprises the following steps: a source address, a first destination address, and a data packet; the data distribution request is used for requesting to send the data packet from the source address to the first target address; judging whether the data distribution request meets a multicast condition according to the data distribution request; responsive to the data distribution request satisfying a multicast condition, obtaining at least one second target address associated with the first target address; sending a data distribution instruction to the switch; the data distribution instruction is configured to instruct the switch to copy and forward the data packet to the first destination address and the second destination address.
In some exemplary embodiments of the disclosure, the determining, according to the data distribution request, whether the data distribution request satisfies a multicast condition includes: acquiring multicast address configuration information; the multicast address configuration information comprises a plurality of target addresses which are mutually related; judging whether the first target address belongs to the multicast address configuration information; in response to the first target address belonging to the multicast address configuration information, the data distribution request satisfies a multicast condition.
In some exemplary embodiments of the present disclosure, the obtaining at least one second destination address associated with the first destination address in response to the data distribution request satisfying a multicast condition includes: responding to the data distribution request to meet a multicast condition, and acquiring the multicast address configuration information; the destination address associated with the first destination address in the multicast address configuration information is the at least one second destination address.
In some exemplary embodiments of the present disclosure, the acquiring multicast address configuration information includes: and acquiring the multicast address configuration information through a static configuration file or a dynamic configuration address.
In some exemplary embodiments of the present disclosure, the issuing of the data distribution instruction to the switch includes: generating a first addressing address according to the first target address; the first addressing address is used for sending the data packet to the first target address; generating a second addressing address according to the first addressing address and the second target address; the second addressing address is used for sending the data packet to the second target address; and generating the data distribution instruction according to the first addressing address and the second addressing address.
In some exemplary embodiments of the present disclosure, the method further comprises: hijacking a data response message returned by the switch; judging whether the data response message contains the source address or not; and responding to the data response message containing the source address, and returning the data response message to the application program as a response to the data distribution request.
In some exemplary embodiments of the disclosure, the hijacking the data response message returned by the switch further includes: responding to the data distribution request, and establishing a sliding window; and hijacking a data response message returned by the switch in the sliding window.
In some exemplary embodiments of the present disclosure, the method further comprises: hijacking a first connection control instruction sent by the application program; the first connection control instruction is used for controlling the connection state between the first connection control instruction and the first target address; and controlling the connection state with the second target address according to the first connection control instruction.
According to a second aspect of the embodiments of the present disclosure, there is provided a multicast data distribution apparatus, including: a request receiving module configured to receive a data distribution request transmitted by an application program; the data distribution request at least comprises the following steps: a source address, a first destination address, and a data packet; the data distribution request is used for indicating that the data packet is sent from the source address to the first target address; a multicast judgment module configured to judge whether the data distribution request satisfies a multicast condition according to the data distribution request; an address acquisition module configured to acquire at least one second target address associated with the first target address in response to the data distribution request satisfying a multicast condition; the data distribution module is configured to send a data distribution instruction to the switch; the data distribution instruction is configured to instruct the switch to copy and forward the data packet to the first destination address and the second destination address.
According to a third aspect of embodiments of the present disclosure, there is provided an electronic device, comprising: one or more processors; a storage configured to store one or more programs that, when executed by the one or more processors, cause the one or more processors to implement the multicast data distribution method of any of the claims.
According to a fourth aspect of embodiments of the present disclosure, there is provided a computer readable storage medium, which when executed by a processor of an electronic device, causes the electronic device to perform any of the multicast data distribution methods.
According to the multicast data distribution method provided by the embodiment of the disclosure, an application program initiates a data distribution request, and the data distribution request is used for requesting to send a data packet from a source address to a first target address. In case the data distribution request satisfies a multicast condition, at least one second destination address associated with the first destination address is obtained. And through the data distribution instruction, instruct the switch to copy and forward the data packet to the first destination address and the second destination address. The method can initiate a single-to-single data distribution request by an application program based on a connection-oriented reliable transmission protocol. And expanding the original single-to-single connection into a single-to-many connection according to the data distribution request to forward the data packet to the associated first target address and second target address. The method can realize the efficient multicast transmission of the data packet among a plurality of target addresses, greatly expands the range and the efficiency of data distribution, reduces the bandwidth consumption of the network equipment of the transmitting end, simplifies the network programming in a single-to-multiple communication mode to a certain extent, and simultaneously can consider the reliability of data transmission.
It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the disclosure.
Drawings
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the disclosure and together with the description, serve to explain the principles of the disclosure. It will be apparent to those of ordinary skill in the art that the drawings in the following description are merely examples of the disclosure and that other drawings may be derived from them without undue effort.
FIG. 1 shows a schematic diagram of an exemplary system architecture to which the methods of embodiments of the present disclosure may be applied.
Fig. 2 is a flow chart illustrating a method of multicast data distribution according to an exemplary embodiment.
Fig. 3 is a schematic architecture diagram illustrating a multicast data distribution method according to an example.
Fig. 4 is a flowchart illustrating a multicast condition judgment method according to an example.
Fig. 5 is a flow chart illustrating a method of generating a data distribution instruction according to an example.
Fig. 6 is a schematic diagram illustrating a multicast data distribution method according to an example.
Fig. 7 is a flow chart illustrating a method of processing a data response message according to an example.
Fig. 8 is a flow chart illustrating a connection control instruction synchronization method according to an example.
Fig. 9 is a block diagram illustrating a multicast data distribution device according to an exemplary embodiment.
Fig. 10 is a schematic diagram illustrating a structure of an electronic device suitable for use in implementing exemplary embodiments of the present disclosure, according to an exemplary embodiment.
Detailed Description
Example embodiments will now be described more fully with reference to the accompanying drawings. However, the exemplary embodiments can be embodied in many forms and should not be construed as limited to the embodiments set forth herein; rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the concept of the example embodiments to those skilled in the art. The same reference numerals in the drawings denote the same or similar parts, and thus a repetitive description thereof will be omitted.
The described features, structures, or characteristics of the disclosure may be combined in any suitable manner in one or more embodiments. In the following description, numerous specific details are provided to give a thorough understanding of embodiments of the present disclosure. However, those skilled in the art will recognize that the aspects of the present disclosure may be practiced with one or more of the specific details, or with other methods, components, devices, steps, etc. In other instances, well-known methods, devices, implementations, or operations are not shown or described in detail to avoid obscuring aspects of the disclosure.
The drawings are merely schematic illustrations of the present disclosure, in which like reference numerals denote like or similar parts, and thus a repetitive description thereof will be omitted. Some of the block diagrams shown in the figures do not necessarily correspond to physically or logically separate entities. These functional entities may be implemented in software or in at least one hardware module or integrated circuit or in different networks and/or processor devices and/or microcontroller devices.
The flow diagrams depicted in the figures are exemplary only, and not necessarily all of the elements or steps are included or performed in the order described. For example, some steps may be decomposed, and some steps may be combined or partially combined, so that the order of actual execution may be changed according to actual situations.
In the present specification, the terms "a," "an," "the," "said" and "at least one" are used to indicate the presence of at least one element/component/etc.; the terms "comprising," "including," and "having" are intended to be inclusive and mean that there may be additional elements/components/etc., in addition to the listed elements/components/etc.; the terms "first," "second," and "third," etc. are used merely as labels, and do not limit the number of their objects.
FIG. 1 shows a schematic diagram of an exemplary system architecture to which the methods of embodiments of the present disclosure may be applied.
As shown in fig. 1, the system architecture may include a server 101, a network 102, a terminal device 103, a terminal device 104, and a terminal device 105. Network 102 is the medium used to provide communication links between terminal device 103, terminal device 104, or terminal device 105 and server 101. Network 102 may include various connection types such as wired, wireless communication links, or fiber optic cables, among others.
The server 101 may be a server providing various services, such as a background management server providing support for devices operated by a user with the terminal device 103, the terminal device 104, or the terminal device 105. The background management server may perform analysis and other processing on the received data such as the request, and feed back the processing result to the terminal device 103, the terminal device 104, or the terminal device 105.
The terminal device 103, the terminal device 104, and the terminal device 105 may be, but are not limited to, a smart phone, a tablet computer, a notebook computer, a desktop computer, a smart speaker, a wearable smart device, a virtual reality device, an augmented reality device, and the like.
It should be understood that the numbers of the terminal device 103, the terminal device 104, the terminal device 105, the network 102 and the server 101 in fig. 1 are only illustrative, and the server 101 may be a server of one entity, may be a server cluster formed by a plurality of servers, may be a cloud server, and may have any number of terminal devices, networks and servers according to actual needs.
On mainstream network transport protocols, their design is typically hierarchical based. The protocols are classified according to the transport layer of the protocol stack, and there are two main types of protocols, connection-oriented and non-connection-oriented. Such as TCP and UDP protocols for streaming protocols, RDMA-based RC and UD modes in message protocols. The connection-oriented protocol is naturally a point-to-point transmission protocol; whereas non-connection oriented protocols naturally support one-to-many communications. Among non-connection oriented protocols, multicast protocols are rapidly evolving. By utilizing multicast protocols and techniques, single-to-many data distribution and transmission can be completed in the data exchange device, which greatly enriches the form of network application and reduces the network bandwidth consumption of the Host channel adapter (Host CHANNEL ADAPTER, HCA) side.
However, in most cross-node network applications, data traffic transport services with reliable protocols are required. This requires that the communication protocol must be reliable and even connection oriented. With the rapid growth of the internet, a significant portion of these applications have single-to-many network transmission requirements.
Currently, in reliable connection oriented communication protocols, multicasting is not supported. Existing methods generally rely on the application side to establish multiple point-to-point connections and send data to different target nodes in respective connections. Or directly, unreliable, connection-oriented protocols, which requires the introduction of mechanisms at the application side to ensure the integrity and reliability of data transmission. The disadvantages of both methods are: the former needs the application layer to carry out multi-connection management, multi-channel sending and receiving, and the bandwidth consumption of the network card side is huge. The latter requires introducing a complex data packet management mechanism at the application layer due to the unreliability of the transmission protocol, and the application itself needs to ensure the reliability of data transmission.
The steps of the method in the exemplary embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings and examples.
Fig. 2 is a flow chart illustrating a method of multicast data distribution according to an exemplary embodiment. Fig. 3 is a schematic architecture diagram illustrating a multicast data distribution method according to an example. The method provided by the embodiment of fig. 2 may be performed by any electronic device, for example, the terminal device in fig. 1, or the server in fig. 1, or a combination of the terminal device and the server in fig. 1, which is not limited in this disclosure. As shown in fig. 2 and 3, the multicast data distribution method includes:
In step S210, a data distribution request transmitted by an application program is received; the data distribution request at least comprises the following steps: a source address, a first destination address, and a data packet; the data distribution request is used for requesting to send the data packet from the source address to the first target address.
In an embodiment of the present disclosure, a data distribution request sent by an application is received. The data distribution request includes at least: a source address, a first destination address, and a data packet. The source address is the address of the sender of the data and typically represents the network address of the device or process in which the application is located. Identification of the source address is critical to network data volume tracking management. The first destination address is a destination address to which the data packet is expected to be sent. The first destination address may be a network address of another device, process, or service. The data packet is the actual data content that needs to be distributed. The data packets may contain various types of information such as text, images, audio, video, or other binary data. The data packets are typically encoded and encapsulated to conform to the requirements of the network communication protocol and to ensure the integrity and security of the data during transmission. The data distribution request is used for requesting to send the data packet from the source address to the first target address.
In an exemplary embodiment, the data distribution request may be a connection-oriented protocol based, point-to-point data distribution request, i.e. a point-to-point data connection is established between the source address and the first destination address. For example, based on a data distribution request initiated by the TCP protocol. Since the connection-oriented protocol is adopted to initiate the data distribution request, the reliability of the communication thereof can be satisfied.
In step S220, it is determined whether the data distribution request satisfies a multicast condition according to the data distribution request.
In the embodiment of the disclosure, whether the data distribution request meets the multicast condition is judged according to the data distribution request. As shown in fig. 3, this determination step is performed by the software intermediate layer, more specifically, by the connection management module in the software intermediate layer. In the process of processing the data distribution request, the connection management module can judge whether the data distribution request meets preset multicast conditions according to the specific content of the received data distribution request or preset judgment rules.
In an exemplary embodiment, whether the multicast condition is satisfied may be determined by a specific flag bit in the data distribution request. A specific flag bit is preset in the data distribution request, and the flag bit can indicate whether the data distribution request needs multicast transmission or not.
In an exemplary embodiment, whether the multicast condition is satisfied may be determined by a first destination address in the data distribution request. Target address information to be multicast-transmitted is preset. And judging whether the first target address belongs to the target address information or not, and further judging whether the data distribution request needs multicast transmission or not.
In an exemplary embodiment, whether the multicast condition is satisfied may be determined by a current environment variable. The current environmental variable may include: current network state, bandwidth utilization, device capabilities, application state, etc. Judging whether the data distribution request needs to be transmitted in a multicast mode or not according to whether the current environment variable meets a preset multicast condition or not.
In an exemplary embodiment, whether the multicast condition is satisfied may be determined by data security requirements. In order to protect the security of data and maintain the stability of the network, strict rights control and policy management may be performed on the multicast operation. And judging whether the data distribution request meets the related data security requirement or not, and further judging whether the data distribution request needs to carry out multicast transmission or not.
In step S230, at least one second destination address associated with the first destination address is acquired in response to the data distribution request satisfying a multicast condition.
In the embodiment of the present disclosure, if it is determined in step S220 that the data distribution request satisfies the multicast condition, at least one second destination address associated with the first destination address is acquired. The second destination address is associated with the first destination address and is the other destination address to which the data packet is intended. The first destination address and at least one second destination address together constitute a multicast destination address for the data distribution request.
In an exemplary embodiment, the multicast destination address may be obtained via multicast address configuration information. The multicast address configuration information includes a plurality of target addresses associated with each other. The plurality of target addresses are associated with each other and are used for representing a group of target addresses which need multicast transmission. The multicast address configuration information includes the first target address, and other target addresses associated with the first target address in the multicast address configuration information are the at least one second target address.
The multicast address configuration information can be used for storing and reading the multicast target address in a static configuration file mode. For example, a corresponding key-value database may be built to store and read the relevant multicast address configuration information based on the first destination address being a key and the at least one second destination address being a value. The multicast address configuration information may also be used to store and read multicast destination addresses in the form of dynamic configuration addresses. For example, a configuration connection for multicast address configuration information may be pre-established, with the multicast destination address dynamically adjusted based on an environment variable. In step S230, the current first destination address and at least one second destination address can be obtained only by reading the current multicast destination address in real time according to the configuration connection.
In an exemplary embodiment, in step S220, it is determined that the data distribution request does not meet the multicast condition, which means that the data distribution request does not need to be multicast for transmission, and then the data transmission is performed by directly establishing a point-to-point connection between the source address and the first destination address based on the data distribution request. The scheme is the same as the existing point-to-point connection establishment and will not be described in detail here.
In step S240, a data distribution instruction is issued to the switch; the data distribution instruction is configured to instruct the switch to copy and forward the data packet to the first destination address and the second destination address.
In the embodiment of the disclosure, after determining that the data distribution request meets a multicast condition and acquiring a multicast target address (including a first target address and at least one second target address), a data distribution instruction is sent to a switch for realizing multicast transmission of a data packet. The data distribution instruction is configured to instruct the switch to copy and forward the data packet to the first destination address and the second destination address. The source address of the data packet and the first destination address and the second destination address that need to be reached are explicitly indicated in the data distribution instruction. Since multicasting requires that packets be sent to multiple destination addresses at the same time, the data distribution instruction will include an indication to replicate the packet. After receiving the instruction, the switch creates a copy of the data packet according to the instruction for subsequent forwarding operations.
The switch will perform the corresponding operation as indicated in the data distribution instruction. First, the switch finds the location of the packet in the network and replicates it. The switch will then forward the replicated data packets to the first destination address and the second destination address, respectively, according to the specified forwarding path and policy. As shown in fig. 3, the data packet can be forwarded to the first destination address, and the second destination address 1, the second destination address 2 and the second destination address n through the switch distribution, so as to realize multicast transmission of the data packet.
According to the multicast data distribution method provided by the embodiment of the disclosure, an application program initiates a data distribution request, and the data distribution request is used for requesting to send a data packet from a source address to a first target address. In case the data distribution request satisfies a multicast condition, at least one second destination address associated with the first destination address is obtained. And through the data distribution instruction, instruct the switch to copy and forward the data packet to the first destination address and the second destination address. The method can initiate a single-to-single data distribution request by an application program based on a connection-oriented reliable transmission protocol. And expanding the original single-to-single connection into a single-to-many connection according to the data distribution request to forward the data packet to the associated first target address and second target address. The method can realize the efficient multicast transmission of the data packet among a plurality of target addresses, greatly expands the range and the efficiency of data distribution, reduces the bandwidth consumption of the network equipment of the transmitting end, simplifies the network programming in a single-to-multiple communication mode to a certain extent, and simultaneously can consider the reliability of data transmission.
Fig. 4 is a flowchart illustrating a multicast condition judgment method according to an example. As shown in fig. 4, the foregoing step S220 may further include the following steps.
In step S410, multicast address configuration information is acquired; the multicast address configuration information includes a plurality of target addresses associated with each other.
In the embodiment of the disclosure, in the multicast condition judging process, multicast address configuration information is first acquired. The multicast address configuration information includes a plurality of target addresses associated with each other. The plurality of target addresses are associated with each other and are used for representing a group of target addresses which need multicast transmission.
The multicast address configuration information can be used for storing and reading the multicast target address in a static configuration file mode. For example, a corresponding key-value database may be built to store and read relevant multicast address configuration information based on one destination address being a key and the other destination addresses being values. The multicast address configuration information may also be used to store and read multicast destination addresses in the form of dynamic configuration addresses. For example, a configuration connection for multicast address configuration information may be pre-established, with the multicast destination address dynamically adjusted based on an environment variable.
In the exemplary embodiment, for most applications, multicast address configuration information is typically already preset prior to starting the process. At this time, the multicast destination address may be provided by a configuration manner. After the process is started, the multicast address configuration information may be read and stored in a buffer based on a certain priority for use in the multicast condition determination process.
In step S420, it is determined whether the first destination address belongs to the multicast address configuration information.
In the embodiment of the disclosure, it is determined whether the first target address in the data distribution request belongs to the multicast address configuration information. Whether the data distribution request satisfies a multicast condition is determined based on the first target address.
In step S430, the data distribution request satisfies a multicast condition in response to the first target address belonging to the multicast address configuration information.
In an embodiment of the disclosure, if the first destination address belongs to the multicast address configuration information, it is indicated that the first destination address has other multicast destination addresses associated therewith. Therefore, the data distribution request satisfies the multicast condition and requires multicast transmission.
In the embodiment of the disclosure, multicast address configuration information is acquired in response to the data distribution request meeting a multicast condition. The multicast address configuration information includes the first target address and other target addresses associated with the first target address. The other target addresses associated with the first target address in the multicast address configuration information are the at least one second target address. The first destination address and at least one second destination address together constitute a multicast destination address for the data distribution request. In the multicast transmission process, the data packet is duplicated and forwarded to the first target address and at least one second target address, so as to realize the multicast transmission of the data packet.
According to the multicast data distribution method provided by the embodiment of the disclosure, static or dynamic configuration of the multicast target address is realized through the multicast address configuration information. Further, by determining whether the first destination address belongs to the multicast address configuration information, it is determined whether the data distribution request satisfies a multicast condition, providing basic configuration information of the multicast destination address for subsequent multicast transmission.
Fig. 5 is a flow chart illustrating a method of generating a data distribution instruction according to an example. Fig. 6 is a schematic diagram illustrating a multicast data distribution method according to an example. As shown in fig. 5 and 6, the foregoing step S240 of issuing a data distribution instruction to the switch may further include the following steps.
In step S510, a first addressing address is generated according to the first target address; the first address is used to send the data packet to the first destination address.
In the disclosed embodiment, multicast extension of the data packet is required to be completed on the switch. The instructions to the switch need to be implemented by data distribution instructions. Currently, most switches and routers support dynamic configuration protocols, such as: SNMPv1/v2/v3 protocol, etc., can be configured by a dynamic program. The upper layer application can quickly adjust and optimize the network setting according to the actual requirement, and dynamically configure the sending strategy of the data packet.
In connection-oriented protocol packets, the data packets typically generate an addressing address in a particular format based on the destination address. The data packet is sent to the destination address via the address.
In the embodiment of the disclosure, a corresponding first addressing address is generated according to the first target address. The first addressing address is for transmitting the data packet to a first destination address. The first addressing address may be an addressing address of any existing format.
In an exemplary embodiment, in an end-to-end application of TCP/IP, a binary format addressing address of < IP: port > is typically employed. Where IP denotes the IP address of the target host and Port denotes the Port number of the target application or service.
In an exemplary embodiment, in the RC (Reliable Connected) connection of RDMA (Remote Direct Memory Access), a quad format addressing address of < QPN, PSN, PKEY, PADDR > is typically employed. Wherein QPN (Queue Pair Number) is a queue pair number for identifying a queue pair between a source address and a destination address; PSN (Packet Sequence Number) are packet sequence numbers for ensuring sequential transmission of data packets and detecting lost or duplicate data packets. PKEY (Partition Key) is a partition key for defining and isolating different logical network areas, ensuring that packets are only propagated in authorized areas. PADDR (Physical Address) is a physical address for pointing to a physical location of the target memory.
In step S520, a second addressing address is generated according to the first addressing address and the second target address; the second addressing address is used for sending the data packet to the second target address.
In an embodiment of the disclosure, the first address generated is modified based on a second target address associated with the first target address, and a second address corresponding to the second target address is generated. The second addressing address is used to send the data packet to the second destination address.
As described above, the first address includes the target address information and the non-target address information. The non-target address information may be protocol sequence number information, security authentication information, etc. In the process of generating the second addressing address, the target address information in the first addressing address is replaced by the second target address, and the non-target address information in the original first addressing address is reserved, so that the second addressing address corresponding to the second target address is generated.
In an exemplary embodiment, such as an addressing address in a quad format of < QPN, PSN, PKEY, PADDR >. The original first addressing address is < QPN1, PSN1, PKEY1, PADDR1>. In the process of generating the second addressing address, QPN1 and PSN1 in the original first addressing address are reserved, and PKEY and PADR 1 in the original first addressing address are correspondingly modified into PKEY and PADR 2 according to the second target address. A second addressing address is generated corresponding to the second target address < QPN1, PSN1, PKEY, PADDR2>.
In step S530, the data distribution instruction is generated according to the first address and the second address.
In an embodiment of the disclosure, the data distribution instruction is generated according to the generated first addressing address corresponding to the first target address and the generated second addressing address corresponding to the second target address. The switch is instructed by the data distribution instruction to copy and forward the data packet to the first destination address and the second destination address according to the first addressing address and the second addressing address.
As shown in fig. 6, a primary connection between a source address and a first destination address is established according to a data distribution request and a data packet is sent to a switch. In response to the data distribution request satisfying the multicast condition, a plurality of expansion connections are virtually generated from at least one second destination address based on the addressing address of the primary connection. A first addressing address corresponding to the first target address and a second addressing address corresponding to the second target address are generated, thereby generating a corresponding data distribution instruction. The switch establishes a plurality of multicast packets according to the data distribution instruction, and the multicast packets respectively correspond to the first target address and at least one second target address. The data packets are copied by the data unit into respective multicast packets to complete multicast distribution of the data packets to the first destination address and the at least one second destination address.
The multicast data distribution method provided by the embodiment of the disclosure generates the first addressing address corresponding to the first target address, and further modifies the first addressing address to generate the second addressing address corresponding to the second target address. The switch may be instructed to send the data packet to the corresponding first destination address or second destination address by means of the first addressing address and the second addressing address.
In the disclosed embodiment, an application initiates a single-to-single data distribution request under a connection-oriented reliable transport protocol, and establishes a primary connection from a source address to a first target address. And expanding the main connection based on the multicast transmission requirement, and establishing an expansion connection facing at least one second target address so as to realize the multicast expansion from single to single direction to multiple directions. According to the network protocol, the destination address needs to return a data response message to the source address after receiving the data packet, so as to complete the sending flow of the data packet. And the station is on the application program side, and the data response message returned by at least one second target address of the expansion connection cannot be processed correctly because the station initiates a single-to-single data distribution request. To address this problem, a processing mechanism needs to be established for the data response messages returned by the first target address and the second target address so that the application program can correctly receive the data response message returned by the second target address.
Fig. 7 is a flow chart illustrating a method of processing a data response message according to an example. As shown in fig. 7, the multicast data distribution method may further include the following steps.
In step S710, the data response message returned by the switch is hijacked.
In the disclosed embodiment, hijacking techniques are employed to monitor data response messages returned by the exchange side. The hijacking technology is a monitoring means in the field of computer network security, and is used for monitoring system or network communication messages by modifying program execution flow. There are many hijacking techniques available including, but not limited to:
1. Library APIs or system call hijacking: this technique is primarily directed to the intervention of library functions or operating system calls that are invoked by an application at run-time. By replacing or modifying the behavior of these functions, the data flow may be changed, specific information collected, or monitoring code may be implanted. For example, a custom shared library is loaded in a Linux system using ld_reload environment variables to hijack system calls.
2. Kernel hook technology: kernel hook refers to inserting code at a specific location of an operating system kernel to perform custom operations when a specific event occurs. This approach allows for monitoring and manipulating underlying system behavior, including network communications, file system access, and the like. For example, API hooking in the Windows system may be implemented by a library such as Detours.
3. EBPF (Extended Berkeley PACKET FILTER) technique: eBPF is a program running in the Linux kernel that can be injected into multiple locations of the kernel, including network protocol stacks, schedulers, file systems, etc. By writing eBPF programs, the behavior of the kernel, such as the packet back flow of hijacking the TCP protocol, can be carefully controlled. eBPF is that it runs in the kernel and is thus able to access and manipulate the underlying data structures and functions, while being used in many legal performance analysis and security monitoring scenarios due to its security and flexibility.
In step S720, it is determined whether the source address is included in the data response message.
In the embodiment of the disclosure, since the hijacking technology does not distinguish the source and the type of the hijacking message, the hijacked data response message needs to be judged to screen the data response message, which is returned by the first target address and the at least one second target address and is required to be hijacked by the multicast data distribution method of the disclosure, and corresponds to the data distribution request sent by the application program.
In an exemplary embodiment, since the source address of the connection is typically included in the data response message, it may be determined whether the data response message is a target hijacking message by determining whether the source address of the data distribution request is included in the hijacked data response message.
There are many methods for judging whether or not the hijacked data response message is a target hijacking message. The determination may also be made, for example, by the start protocol sequence number of the primary connection. It should be noted that any way of screening whether the hijacked data response message is a target hijacking message should be considered within the scope of the present disclosure.
In step S730, in response to the data response message including the source address, the data response message is returned to the application program as a response to the data distribution request.
In the embodiment of the disclosure, in response to the data response message including the source address of the data distribution request, it is indicated that the data response message is a target hijacking message corresponding to the data distribution request. Thus, the data response message is returned to the application as a response to the data distribution request. At this time, the application program can correctly process the data response message as a response message to the data distribution request.
Accordingly, if the hijacking data response message does not include the source address, it is indicated that the data response message is not a target hijacking message and should be discarded.
Based on this, the application can extend to single-to-multiple multicast transmissions to send data packets to the first destination address and the at least one second destination address based on the original single-to-single data distribution request. And screening out the data response messages returned by each target address by using the hijacking technology, and correctly returning the data response messages to the application program for processing. By the method, the extension from single-to-single data transmission to multicast transmission can be realized on the basis of a connection-oriented reliable transmission protocol, and the communication process of the whole data transmission is completed.
In the embodiment of the present disclosure, on the basis of the above data response message processing method, a sliding window mechanism may be further introduced for some specific types of data packets, so as to define a time window for hijacking the data response message. Specifically, the step S710 may further include the following steps.
In step S710a, a sliding window is established in response to the data distribution request.
In step S710b, the data response message returned by the switch is hijacked within the sliding window.
In an embodiment of the present disclosure, a sliding window is established based on the primary connection in response to the type information of the data packet in the data distribution request. The sliding window mechanism is a technique that enables flow control and error recovery in network communications. For the sender, the sliding window contains a range of sequence numbers for packets that can be sent immediately. When the sender receives an Acknowledgement (ACK) for a certain packet, the window will slide forward, allowing a new packet to be sent. For the receiver, the sliding window contains a range of sequence numbers of packets that can be received. The receiver accepts only the packets in this window, and packets outside the window are discarded or the buffer waits for the window to slide forward.
In an exemplary embodiment, the method may determine whether data transceiving on multiple parallel connections has been completed by hijacking ACK (Acknowledgment) the data packets via a sliding window mechanism. By analyzing the serial number and the confirmation information in the sliding window, we can accurately judge the data transmission progress of each connection and determine whether the transceiving operation of all connections is completed according to the data transmission progress.
In the disclosed embodiment, an application initiates a single-to-single data distribution request under a connection-oriented reliable transport protocol, and establishes a primary connection from a source address to a first target address. The application program may control and manage the established main connection state through the connection control instruction. For example, control the initiation and closure operations of the connection. Thus, in the embodiments of the present disclosure, it is necessary to synchronize connection control instructions of an application program for a main connection onto a corresponding extension connection to perform synchronous control management for the corresponding extension connection.
Fig. 8 is a flow chart illustrating a connection control instruction synchronization method according to an example. As shown in fig. 8, the multicast data distribution method may further include the following steps.
Hijacking a first connection control instruction sent by the application program in step S810; the first connection control instruction is used for controlling the connection state with the first target address.
In the disclosed embodiment, a hijacking technique is employed to monitor the first connection control instructions sent by the application. The related hijacking technique is described in the foregoing embodiments, and will not be described in detail herein.
The first connection control command is issued by the application program, and is mainly used for controlling the connection state between the first connection control command and the first target address. This may include operations to establish a new connection, maintain an active state of an existing connection, adjust connection parameters (e.g., bandwidth, delay, etc.), or disconnect a connection.
In step S820, according to the first connection control instruction, a connection state with the second target address is controlled.
In the embodiment of the disclosure, when the first connection control instruction sent by the application program is hijacked, the first connection control instruction may be synchronized to other extended connections facing the second target address, so as to synchronously control the connection states of the related extended connections. This may involve, among other things, copying and applying the first connection control instruction to the second target address, or dynamically adjusting the connection parameters with the second target address in accordance with the connection state of the first target address.
In an exemplary embodiment, if the first connection control instruction instructs the application to establish a new connection with the first target address, then by hijacking the instruction, it may be similarly controlled to establish a new connection with the second target address. Conversely, if the first connection control instruction requires disconnection from the first target address, then the connection to the second target address may be disconnected accordingly.
According to the multicast data distribution method provided by the embodiment of the disclosure, the first connection control instruction sent by the data response message returned by the target address or the application program is hijacked through the hijacking technology. Based on the identification and screening of the data response message or the first connection control instruction, the data response message or the first connection control instruction related to the data distribution request is returned to the application program or is synchronized to other expansion connection positions, so that the collection of the data response message in the multicast transmission related to the method or the state synchronization control of the expansion connection is realized.
The following are device embodiments of the present disclosure that may be used to perform method embodiments of the present disclosure. For details not disclosed in the embodiments of the apparatus of the present disclosure, please refer to the embodiments of the method of the present disclosure.
Fig. 9 is a block diagram illustrating a multicast data distribution device according to an exemplary embodiment. Referring to fig. 9, the apparatus 900 may include: a request receiving module 910, a multicast judging module 920, an address obtaining module 930, and a data distributing module 940.
A request receiving module 910 configured to receive a data distribution request transmitted by an application program; the data distribution request at least comprises the following steps: a source address, a first destination address, and a data packet; the data distribution request is used for indicating that the data packet is sent from the source address to the first target address.
The multicast judging module 920 is configured to judge whether the data distribution request satisfies a multicast condition according to the data distribution request.
An address acquisition module 930 configured to acquire at least one second destination address associated with the first destination address in response to the data distribution request satisfying a multicast condition.
A data distribution module 940 configured to issue a data distribution instruction to the switch; the data distribution instruction is configured to instruct the switch to copy and forward the data packet to the first destination address and the second destination address.
In some exemplary embodiments of the present disclosure, the multicast determining module 920 is further configured to obtain multicast address configuration information; the multicast address configuration information comprises a plurality of target addresses which are mutually related; judging whether the first target address belongs to the multicast address configuration information; in response to the first target address belonging to the multicast address configuration information, the data distribution request satisfies a multicast condition.
In some exemplary embodiments of the present disclosure, the address acquisition module 930 is further configured to acquire the multicast address configuration information in response to the data distribution request satisfying a multicast condition; the destination address associated with the first destination address in the multicast address configuration information is the at least one second destination address.
In some exemplary embodiments of the present disclosure, the acquiring multicast address configuration information includes: and acquiring the multicast address configuration information through a static configuration file or a dynamic configuration address.
In some exemplary embodiments of the present disclosure, the data distribution module 940 is further configured to generate a first addressing address from the first target address; the first addressing address is used for sending the data packet to the first target address; generating a second addressing address according to the first addressing address and the second target address; the second addressing address is used for sending the data packet to the second target address; and generating the data distribution instruction according to the first addressing address and the second addressing address.
In some exemplary embodiments of the present disclosure, a loop hijacking module configured to hijack data response messages returned by the switch; judging whether the data response message contains the source address or not; and responding to the data response message containing the source address, and returning the data response message to the application program as a response to the data distribution request.
In some exemplary embodiments of the present disclosure, the loop hijacking module is further configured to establish a sliding window in response to the data distribution request; and hijacking a data response message returned by the switch in the sliding window.
In some exemplary embodiments of the present disclosure, a connection control instruction module configured to hijack a first connection control instruction sent by the application; the first connection control instruction is used for controlling the connection state between the first connection control instruction and the first target address; and controlling the connection state with the second target address according to the first connection control instruction.
The specific manner in which the various modules perform the operations in the apparatus of the above embodiments have been described in detail in connection with the embodiments of the method, and will not be described in detail herein.
An electronic device 1000 according to such an embodiment of the present disclosure is described below with reference to fig. 10. The electronic device 1000 shown in fig. 10 is merely an example and should not be construed as limiting the functionality and scope of use of the disclosed embodiments.
As shown in fig. 10, the electronic device 1000 is embodied in the form of a general purpose computing device. Components of electronic device 1000 may include, but are not limited to: the at least one processing unit 1010, the at least one memory unit 1020, a bus 1030 connecting the various system components (including the memory unit 1020 and the processing unit 1010), and a display unit 1040.
Wherein the storage unit stores program code that is executable by the processing unit 1010 such that the processing unit 1010 performs steps according to various exemplary embodiments of the present disclosure described in the above section of the present specification. For example, the processing unit 1010 may perform the various steps shown in fig. 2.
As another example, the electronic device may implement the various steps shown in fig. 2.
The memory unit 1020 may include readable media in the form of volatile memory units such as Random Access Memory (RAM) 1021 and/or cache memory unit 1022, and may further include Read Only Memory (ROM) 1023.
Storage unit 1020 may also include a program/utility 1024 having a set (at least one) of program modules 1025, such program modules 1025 including, but not limited to: an operating system, one or more application programs, other program modules, and program data, each or some combination of which may include an implementation of a network environment.
Bus 1030 may be representing one or more of several types of bus structures including a memory unit bus or memory unit controller, a peripheral bus, an accelerated graphics port, a processing unit, or a local bus using any of a variety of bus architectures.
The electronic device 1000 can also communicate with one or more external devices 1070 (e.g., keyboard, pointing device, bluetooth device, etc.), with one or more devices that enable a user to interact with the electronic device 1000, and/or with any device (e.g., router, modem, etc.) that enables the electronic device 1000 to communicate with one or more other computing devices. Such communication may occur through an input/output (I/O) interface 1050. Also, electronic device 1000 can communicate with one or more networks such as a Local Area Network (LAN), a Wide Area Network (WAN), and/or a public network, such as the Internet, through network adapter 1060. As shown, the network adapter 1060 communicates with other modules of the electronic device 1000 over the bus 1030. It should be appreciated that although not shown, other hardware and/or software modules may be used in connection with the electronic device 1000, including, but not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, data backup storage systems, and the like.
From the above description of embodiments, those skilled in the art will readily appreciate that the example embodiments described herein may be implemented in software, or in combination with the necessary hardware. Thus, the technical solution according to the embodiments of the present disclosure may be embodied in the form of a software product, which may be stored in a non-volatile storage medium (may be a CD-ROM, a U-disk, a mobile hard disk, etc.) or on a network, and includes several instructions to cause a computing device (may be a personal computer, a server, a terminal device, or a network device, etc.) to perform the method according to the embodiments of the present disclosure.
In an exemplary embodiment, a computer readable storage medium is also provided, e.g., a memory, comprising instructions executable by a processor of an apparatus to perform the above method. Alternatively, the computer readable storage medium may be ROM, random Access Memory (RAM), CD-ROM, magnetic tape, floppy disk, optical data storage device, etc.
In an exemplary embodiment, a computer program product is also provided, comprising a computer program/instruction which, when executed by a processor, implements the method in the above embodiments.
Other embodiments of the disclosure will be apparent to those skilled in the art from consideration of the specification and practice of the disclosure disclosed herein. This application is intended to cover any adaptations, uses, or adaptations of the disclosure following, in general, the principles of the disclosure and including such departures from the present disclosure as come within known or customary practice within the art to which the disclosure pertains. It is intended that the specification and examples be considered as exemplary only, with a true scope and spirit of the disclosure being indicated by the following claims.
It is to be understood that the present disclosure is not limited to the precise arrangements and instrumentalities shown in the drawings, and that various modifications and changes may be effected without departing from the scope thereof. The scope of the present disclosure is limited only by the appended claims.
Claims (9)
1. A method of multicast data distribution, comprising:
receiving a data distribution request sent by an application program; the data distribution request at least comprises the following steps: a source address, a first destination address, and a data packet; the data distribution request is initiated by adopting a connection-oriented protocol and is used for requesting to send the data packet from the source address to the first target address;
Judging whether the data distribution request meets a multicast condition according to the data distribution request;
responsive to the data distribution request satisfying a multicast condition, obtaining at least one second target address associated with the first target address;
Sending a data distribution instruction to the switch; the data distribution instruction is used for instructing the switch to copy and forward the data packet to the first target address and the second target address;
hijacking a data response message returned by the switch;
judging whether the data response message contains the source address or not;
and responding to the data response message containing the source address, and returning the data response message to the application program as a response to the data distribution request.
2. The method according to claim 1, wherein said determining whether the data distribution request satisfies a multicast condition according to the data distribution request comprises:
Acquiring multicast address configuration information; the multicast address configuration information comprises a plurality of target addresses which are mutually related;
judging whether the first target address belongs to the multicast address configuration information;
in response to the first target address belonging to the multicast address configuration information, the data distribution request satisfies a multicast condition.
3. The method of claim 2, wherein the obtaining at least one second destination address associated with the first destination address in response to the data distribution request satisfying a multicast condition comprises:
Responding to the data distribution request to meet a multicast condition, and acquiring the multicast address configuration information;
The destination address associated with the first destination address in the multicast address configuration information is the at least one second destination address.
4. The method of claim 2, wherein the obtaining multicast address configuration information comprises:
And acquiring the multicast address configuration information through a static configuration file or a dynamic configuration address.
5. The method of claim 1, wherein the issuing of the data distribution instruction to the switch comprises:
Generating a first addressing address according to the first target address; the first addressing address is used for sending the data packet to the first target address;
generating a second addressing address according to the first addressing address and the second target address; the second addressing address is used for sending the data packet to the second target address;
and generating the data distribution instruction according to the first addressing address and the second addressing address.
6. The method of claim 1, wherein hijacking the data response message returned by the switch further comprises:
responding to the data distribution request, and establishing a sliding window;
and hijacking a data response message returned by the switch in the sliding window.
7. The method as recited in claim 1, further comprising:
Hijacking a first connection control instruction sent by the application program; the first connection control instruction is used for controlling the connection state between the first connection control instruction and the first target address;
And controlling the connection state with the second target address according to the first connection control instruction.
8. A multicast data distribution apparatus, comprising:
A request receiving module configured to receive a data distribution request transmitted by an application program; the data distribution request at least comprises the following steps: a source address, a first destination address, and a data packet; the data distribution request is initiated by adopting a connection-oriented protocol and is used for indicating the data packet to be sent from the source address to the first target address;
a multicast judgment module configured to judge whether the data distribution request satisfies a multicast condition according to the data distribution request;
An address acquisition module configured to acquire at least one second target address associated with the first target address in response to the data distribution request satisfying a multicast condition;
The data distribution module is configured to send a data distribution instruction to the switch; the data distribution instruction is used for instructing the switch to copy and forward the data packet to the first target address and the second target address;
the loop hijacking module is configured to hijack the data response message returned by the switch; judging whether the data response message contains the source address or not; and responding to the data response message containing the source address, and returning the data response message to the application program as a response to the data distribution request.
9. An electronic device, comprising:
One or more processors; a storage device configured to store one or more programs that, when executed by the one or more processors, cause the one or more processors to implement the method of any of claims 1-7.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410020969.9A CN117527458B (en) | 2024-01-05 | 2024-01-05 | Multicast data distribution method and device, electronic equipment and storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410020969.9A CN117527458B (en) | 2024-01-05 | 2024-01-05 | Multicast data distribution method and device, electronic equipment and storage medium |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117527458A CN117527458A (en) | 2024-02-06 |
CN117527458B true CN117527458B (en) | 2024-05-28 |
Family
ID=89757065
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410020969.9A Active CN117527458B (en) | 2024-01-05 | 2024-01-05 | Multicast data distribution method and device, electronic equipment and storage medium |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117527458B (en) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101409672A (en) * | 2007-10-10 | 2009-04-15 | Nec爱克赛斯科技株式会社 | Data distribution apparatus, data distribution method, and distribution control program |
CN101860563A (en) * | 2009-04-02 | 2010-10-13 | 索尼公司 | Delivery server, content delivery method in delivery server and multicast server, content delivery method in multicast server |
CN109155904A (en) * | 2016-03-31 | 2019-01-04 | 诺基亚通信公司 | The device and method for supporting local multicast broadcast multimedia service (MBMS) to distribute |
CN111869133A (en) * | 2018-03-26 | 2020-10-30 | 三菱电机株式会社 | Multicast distribution target specifying method, transmitter station, and receiver station |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7792984B2 (en) * | 2003-01-23 | 2010-09-07 | International Business Machines Corporation | Systems and methods for the distribution of bulk data using multicast routing that mitigates network traffic on subnets |
JP4292890B2 (en) * | 2003-06-26 | 2009-07-08 | 株式会社日立製作所 | Multicast distribution method, distribution apparatus and system |
-
2024
- 2024-01-05 CN CN202410020969.9A patent/CN117527458B/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101409672A (en) * | 2007-10-10 | 2009-04-15 | Nec爱克赛斯科技株式会社 | Data distribution apparatus, data distribution method, and distribution control program |
CN101860563A (en) * | 2009-04-02 | 2010-10-13 | 索尼公司 | Delivery server, content delivery method in delivery server and multicast server, content delivery method in multicast server |
CN109155904A (en) * | 2016-03-31 | 2019-01-04 | 诺基亚通信公司 | The device and method for supporting local multicast broadcast multimedia service (MBMS) to distribute |
CN111869133A (en) * | 2018-03-26 | 2020-10-30 | 三菱电机株式会社 | Multicast distribution target specifying method, transmitter station, and receiver station |
Also Published As
Publication number | Publication date |
---|---|
CN117527458A (en) | 2024-02-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2023005773A1 (en) | Message forwarding method and apparatus based on remote direct data storage, and network card and device | |
US20030101284A1 (en) | Virtual network with adaptive dispatcher | |
US8352619B2 (en) | Method and system for data processing | |
CN111966446B (en) | RDMA virtualization method in container environment | |
WO2022148363A1 (en) | Data transmission method and data transmission server | |
US20100049785A1 (en) | Recovery of disconnected channels over a reliable protocol | |
EP4287591A1 (en) | Data transmission method and apparatus, and server, storage medium and program product | |
WO2019100266A1 (en) | Mobile edge host-machine service notification method and apparatus | |
US8539089B2 (en) | System and method for vertical perimeter protection | |
US11500666B2 (en) | Container isolation method and apparatus for netlink resource | |
EP4221233A1 (en) | Data download method and apparatus, computer device and storage medium | |
CN114124929A (en) | Cross-network data processing method and device | |
US20200112510A1 (en) | Redirecting data packets between overlay network and underlay network | |
US20240205284A1 (en) | Multimedia content transmission method and apparatus, device, and storage medium | |
US12120203B2 (en) | UDP message distribution method, UDP message distribution apparatus, electronic device and computer readable storage medium | |
US11546261B2 (en) | Congestion control method and related device | |
CN117527458B (en) | Multicast data distribution method and device, electronic equipment and storage medium | |
CN116962441A (en) | Cloud storage control method and device and cloud storage system | |
CN109660370A (en) | A kind of equipment communication means of digit broadcasting system | |
EP1258127B1 (en) | Method and apparatus for making a computational service highly available | |
CN114885007A (en) | Method and electronic device for real-time strong consistency session synchronization | |
US20030093536A1 (en) | Support interface module | |
CN117201479B (en) | Cross-cluster file transmission method, system and device | |
CN116760504B (en) | Session synchronization method, device, service node, terminal and readable storage medium | |
CN116760850B (en) | Data processing method, device, equipment, medium and system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |