Communication multicast filtering method, device and system

CN116545928BActive Publication Date: 2026-09-11CHONGQING CHANGAN TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202310640230.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-05-31
Publication Date
2026-09-11
Estimated Expiration
2043-05-31

AI Technical Summary

Technical Problem

[0006]为解决现有DDS技术中组播报文无效传播,导致通信质量下降的技术问题,本发明实施例提供一种通讯组播过滤方法、装置及系统

Benefits of technology

[0023](1) The publishing end of this invention multicasts the service code in the data packet of the data to be sent, so that the subscriber end can compare the service code in the data packet with the service code list of the subscriber end. If the service code is confirmed to be in the service code list, the data packet is received. If the service code is confirmed not to be in the service code list, the data packet is discarded, thereby reducing the resource consumption required by the subscriber end and saving the resource consumption of the automotive electronic control unit (ECU), especially the microcontroller (MCU).

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116545928B_ABST
    Figure CN116545928B_ABST
Patent Text Reader

Abstract

The application discloses a communication multicast filtering method, device and system. The method is applied to a publishing end and comprises the following steps: in a data communication stage, confirming to-be-sent data and a service code corresponding to the to-be-sent data; replacing a provider code in a data message of the to-be-sent data by using the service code; and multicasting the replaced data message to a subscribing end. The scheme provided by the application can effectively save resource occupation of an electronic control unit (ECU) of an automobile, in particular, a micro controller unit (MCU).
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of data distribution service technology, and in particular to a communication multicast filtering method, apparatus and system. Background Technology

[0002] With the diversification of automotive functions and the increasing demand for faster in-vehicle data, automakers have proposed the concept of Service-Based Architecture (SOA) and in-vehicle Ethernet technology. DDS (Data Distribution Service) supports operation at the application layer of Ethernet and adopts a publish / subscribe architecture. It defines different entities such as publishers and subscribers, deploys different Quality of Service (QoS) policies on these entities, and requires entities to register for the same topic for communication. DDS is tightly integrated with in-vehicle Ethernet technology and has rapidly become widespread in vehicle network communication.

[0003] In the communication rules between DDS protocol stacks, two entities must first go through a service discovery phase before entering the data communication phase. The service discovery phase is divided into participant discovery (SPDP) and endpoint discovery (SEDP). Successful chain establishment in the SPDP phase requires all DDS entities to be in the same domain, while successful chain establishment in the SEDP phase requires all DDS publishers and subscribers to have the same topic. Chain establishment must be completed in both phases, and only after the service discovery phase is finished can the publishers and subscribers begin data communication.

[0004] Once the data communication phase begins, the message sending method varies depending on the number of subscribers. If there is only one subscriber, the publisher will send data messages using unicast, avoiding multicast redundancy. If there are two or more subscribers, multicast will be used. Because DDS uses a publish / subscribe architecture, during the communication phase, a participant typically needs to send information to multiple participants, requiring multicast for data transmission. This can result in participants receiving many messages they do not need.

[0005] DDS services primarily involve microcontroller units (MCUs) and microprocessors (MPUs). The message buffer space on the MCU is relatively limited. When multicast is used for message transmission, messages arrive at MCUs that don't need them, exacerbating the resource strain on the MCU and further consuming the bandwidth resources of the in-vehicle Ethernet, thus reducing the communication efficiency and connection quality of the entire vehicle network. Summary of the Invention

[0006] To address the technical problem of invalid multicast message propagation leading to decreased communication quality in existing DDS technology, embodiments of the present invention provide a communication multicast filtering method, apparatus, and system.

[0007] The technical solution of this invention is implemented as follows:

[0008] This invention provides a first communication multicast filtering method applied to a publishing end. The communication multicast filtering method includes: during the data communication phase, confirming the data to be sent and the service code corresponding to the data to be sent; replacing the vendor code in the data packet of the data to be sent with the service code; and multicasting the replaced data packet to the subscription end.

[0009] In one embodiment, determining the service code corresponding to the data to be sent includes: determining the corresponding service based on the data to be sent; matching the service to obtain the service code corresponding to the service.

[0010] In one embodiment, prior to the data communication phase, the communication multicast filtering method further includes: during the service discovery phase, identifying subscribers that are in the same data distribution service domain as the publisher and have the same topic name and type name as the publisher; and establishing a link with the subscribers.

[0011] The first communication multicast filtering method in this embodiment is applied to the publishing end and includes: during the data communication phase, confirming the data to be sent and the service code corresponding to the data to be sent; replacing the vendor code in the data packet of the data to be sent with the service code; and multicasting the replaced data packet to the subscriber end. The solution provided by this invention replaces the vendor code in the data packet of the data to be sent with a service code for multicasting, allowing the subscriber end to determine whether to receive the data packet based on the service code, thereby reducing the resource consumption required by the subscriber end and saving resources on the automotive electronic control unit (ECU), especially the microcontroller (MCU).

[0012] This invention also provides a second communication multicast filtering method, applied to the subscriber end. The communication multicast filtering method includes: during the data communication phase, after receiving a multicast data packet from the publisher end, reading the service code in the data packet; comparing the service code with a service code list to confirm whether to receive the data packet; if it is confirmed that the data packet is received, responding to the service corresponding to the service code in the data packet.

[0013] In one embodiment, before comparing the service code with the service code list, the process includes: confirming the service subscribed to by the subscriber and the service code corresponding to the service; and adding the service code to the subscriber's protocol stack to form a service code list.

[0014] In one embodiment, prior to the data communication phase, the communication multicast filtering method further includes: during the service discovery phase, identifying a publisher that is in the same data distribution service domain as the subscriber and has the same topic name and type name as the subscriber; and establishing a link with the publisher.

[0015] In one embodiment, comparing the service code with a service code list to determine whether to receive the data packet includes: comparing the service code with a service code list to determine whether the service code is in the service code list; if the service code is in the service code list, confirming receipt of the data packet; if the service code is not in the service code list, confirming discarding the data packet.

[0016] The second communication multicast filtering method in this embodiment is applied to the subscriber end. The method includes: during the data communication phase, after receiving a multicast data packet from the publisher end, reading the service code in the data packet; comparing the service code with a service code list to confirm whether to receive the data packet; if it is confirmed that the data packet is to be received, responding to the service corresponding to the service code in the data packet. The solution provided by this invention compares the service code in the data packet with the service code list of the subscriber end. If it is confirmed that the service code is in the service code list, the data packet is received; if it is confirmed that the service code is not in the service code list, the data packet is discarded. This reduces the resource consumption required by the subscriber end, thereby saving the resource consumption of the automotive electronic control unit (ECU), especially the microcontroller (MCU).

[0017] This invention also provides a first communication multicast filtering device applied to a publishing end. The communication multicast filtering device includes: a confirmation module, used to confirm the data to be sent and the service code corresponding to the data to be sent during the data communication phase; a replacement module, used to replace the vendor code in the data packet of the data to be sent with the service code; and a multicast module, used to multicast the replaced data packet to the subscription end.

[0018] The first type of communication multicast filtering device in this embodiment, applied at the publishing end, includes: a confirmation module, used to confirm the data to be sent and the service code corresponding to the data to be sent during the data communication phase; a replacement module, used to replace the vendor code in the data packet of the data to be sent with the service code; and a multicast module, used to multicast the replaced data packet to the subscriber end. The solution provided by this invention replaces the vendor code in the data packet of the data to be sent with a service code for multicasting, enabling the subscriber end to determine whether to receive the data packet based on the service code, thereby reducing the resource consumption required by the subscriber end and saving resources on the automotive electronic control unit (ECU), especially the microcontroller (MCU).

[0019] This invention also provides a second communication multicast filtering device applied to a subscriber. The communication multicast filtering device includes: a reading module, used to read the service code in the data packet after receiving the multicast data packet from the publisher during the data communication phase; a comparison module, used to compare the service code with a service code list to confirm whether the data packet is received; and a response module, used to respond to the service corresponding to the service code in the data packet if the data packet is confirmed to be received.

[0020] The second type of communication multicast filtering device in this embodiment is applied to the subscriber end and includes: a reading module, used to read the service code in the data packet after receiving the multicast data packet from the publisher end during the data communication phase; a comparison module, used to compare the service code with a service code list to confirm whether to receive the data packet; and a response module, used to respond to the service corresponding to the service code in the data packet if the data packet is confirmed to be received. The solution provided by this invention compares the service code in the data packet with the service code list of the subscriber end. If the service code is confirmed to be in the service code list, the data packet is received; if the service code is confirmed to be not in the service code list, the data packet is discarded. This reduces the resource consumption required by the subscriber end, thereby saving resources on the automotive electronic control unit (ECU), especially the microcontroller (MCU).

[0021] This invention also provides a communication multicast filtering system, which includes a publisher and a subscriber. The publisher performs the steps of the communication multicast filtering method described in any of the first embodiments above, and the subscriber performs the steps of the communication multicast filtering method described in any of the second embodiments above.

[0022] The beneficial effects of this invention are:

[0023] (1) The publishing end of this invention multicasts the service code in the data packet of the data to be sent, so that the subscriber end can compare the service code in the data packet with the service code list of the subscriber end. If the service code is confirmed to be in the service code list, the data packet is received. If the service code is confirmed not to be in the service code list, the data packet is discarded, thereby reducing the resource consumption required by the subscriber end and saving the resource consumption of the automotive electronic control unit (ECU), especially the microcontroller (MCU).

[0024] (2) The present invention replaces the supplier code in the data packet of the data to be sent with the service code, and uses the service code as an identifier to replace the supplier code. This can avoid the introduction of new identifiers and save packet space. Attached Figure Description

[0025] Figure 1 This is a flowchart illustrating the first communication multicast filtering method according to an embodiment of the present invention;

[0026] Figure 2 This is a flowchart illustrating the second communication multicast filtering method according to an embodiment of the present invention;

[0027] Figure 3 This is a schematic diagram of the structural framework of the communication multicast filtering system according to an embodiment of the present invention;

[0028] Figure 4 This is a schematic diagram of data message fields according to an embodiment of the present invention;

[0029] Figure 5 This is a schematic diagram of the communication multicast filtering system according to an embodiment of the present invention;

[0030] Figure 6 This is a schematic diagram of the structure of the first communication multicast filtering device according to an embodiment of the present invention;

[0031] Figure 7 This is a schematic diagram of the structure of the second type of communication multicast filtering device according to an embodiment of the present invention;

[0032] Figure 8 This is an internal structural diagram of a computer device according to an embodiment of the present invention. Detailed Implementation

[0033] The present invention will now be described in further detail with reference to the accompanying drawings and embodiments.

[0034] This invention provides a first communication multicast filtering method, applied to the publishing end, such as... Figure 1 As shown, the communication multicast filtering method includes:

[0035] Step 101: During the data communication phase, confirm the data to be sent and the service code corresponding to the data to be sent;

[0036] Step 102: Replace the vendor code in the data packet of the data to be sent with the service code;

[0037] Step 103: Multicast the replaced data packets to the subscriber.

[0038] In existing technologies, the communication rules between DDS protocol stacks require two entities to first undergo a service discovery phase before entering the data communication phase. The service discovery phase is divided into Participant Discovery (SPDP) and Endpoint Discovery (SEDP). Successful chain establishment in the SPDP phase requires all DDS entities to be in the same domain, while successful chain establishment in the SEDP phase requires all DDS publishers and subscribers to have the same topic. Both phases must be successfully completed for the service discovery phase to be finished, and then the publishers and subscribers can begin data communication.

[0039] Once the data communication phase begins, the message sending method varies depending on the number of subscribers. If there is only one subscriber, the publisher will send data messages via unicast, avoiding multicast redundancy. If there are two or more subscribers, multicast will be used. Because DDS employs a publish / subscribe architecture, during the communication phase, a participant typically needs to send information to multiple participants, necessitating multicast data transmission. This can result in participants receiving many messages they do not need.

[0040] Based on the above problems, this embodiment uses multicast filtering in the DDS communication service to restrict the number of messages received by the subscriber, which can solve the redundant multicast problem between the publisher and subscriber of the vehicle Ethernet DDS communication protocol stack and help save resources on the automotive electronic control unit (ECU), especially the microcontroller (MCU).

[0041] Furthermore, in this embodiment, the supplier code in the data packet to be sent is replaced with the service code, and the service code is used as an identifier to replace the supplier code. This avoids the introduction of new identifiers and saves packet space.

[0042] Specifically, in one embodiment, determining the service code corresponding to the data to be sent includes: determining the corresponding service based on the data to be sent; matching the service to obtain the service code corresponding to the service.

[0043] In one embodiment, prior to the data communication phase, the method further includes: during the service discovery phase, identifying a subscriber that is in the same data distribution service domain as the publisher and has the same topic name and type name as the publisher; and establishing a link with the subscriber.

[0044] The communication multicast filtering method provided in this invention is applied at the publishing end and includes: during the data communication phase, confirming the data to be sent and the service code corresponding to the data to be sent; replacing the vendor code in the data packet of the data to be sent with the service code; and multicasting the replaced data packet to the subscriber end. The solution provided by this invention replaces the vendor code in the data packet of the data to be sent with the service code for multicasting, allowing the subscriber end to determine whether to receive the data packet based on the service code, thereby reducing the resource consumption required by the subscriber end and saving resources on the automotive electronic control unit (ECU), especially the microcontroller (MCU).

[0045] This invention provides a second communication multicast filtering method, applied to the subscription end, such as... Figure 2 As shown, the communication multicast filtering method includes:

[0046] Step 201: During the data communication phase, after receiving the multicast data packet from the publishing end, read the service code in the data packet;

[0047] Step 202: Compare the service code with the service code list to confirm whether the data packet should be received;

[0048] Step 203: If the data packet is received, respond to the service corresponding to the service code in the data packet.

[0049] In existing technologies, the communication rules between DDS protocol stacks require two entities to first undergo a service discovery phase before entering the data communication phase. The service discovery phase is divided into Participant Discovery (SPDP) and Endpoint Discovery (SEDP). Successful chain establishment in the SPDP phase requires all DDS entities to be in the same domain, while successful chain establishment in the SEDP phase requires all DDS publishers and subscribers to have the same topic. Both phases must be successfully completed for the service discovery phase to be finished, and then the publishers and subscribers can begin data communication.

[0050] Once the data communication phase begins, the message sending method varies depending on the number of subscribers. If there is only one subscriber, the publisher will send data messages via unicast, avoiding multicast redundancy. If there are two or more subscribers, multicast will be used. Because DDS employs a publish / subscribe architecture, during the communication phase, a participant typically needs to send information to multiple participants, necessitating multicast data transmission. This can result in participants receiving many messages they do not need.

[0051] Based on the above problems, this embodiment uses multicast filtering in the DDS communication service to restrict the number of messages received by the subscriber, which can solve the redundant multicast problem between the publisher and subscriber of the vehicle Ethernet DDS communication protocol stack and help save resources on the automotive electronic control unit (ECU), especially the microcontroller (MCU).

[0052] Furthermore, in this embodiment, the supplier code in the data packet to be sent is replaced with the service code, and the service code is used as an identifier to replace the supplier code. This avoids the introduction of new identifiers and saves packet space.

[0053] Specifically, in one embodiment, before comparing the service code with the service code list, the following steps are included:

[0054] Confirm the services subscribed to by this subscription client and the service codes corresponding to those services;

[0055] The service code is added to the protocol stack of this subscriber to form a service code list.

[0056] In one embodiment, prior to the data communication phase, the method further includes: during the service discovery phase, identifying a publisher that is in the same data distribution service domain as the subscriber and has the same topic name and type name as the subscriber; and establishing a link with the publisher.

[0057] In this embodiment, when comparing the service code with the service code list to determine whether to receive the data packet, the service code can be compared with the service code list to determine whether the service code is in the service code list; if the service code is in the service code list, the data packet is confirmed to be received; if the service code is not in the service code list, the data packet is confirmed to be discarded.

[0058] The communication multicast filtering method provided in this invention is applied to a subscriber. The method includes: during the data communication phase, after receiving a multicast data packet from a publisher, reading the service code in the data packet; comparing the service code with a service code list to confirm whether to receive the data packet; if the data packet is confirmed to be received, responding to the service corresponding to the service code in the data packet. The solution provided by this invention compares the service code in the data packet with the subscriber's service code list. If the service code is confirmed to be in the service code list, the data packet is received; if the service code is not confirmed to be in the service code list, the data packet is discarded. This reduces the resource consumption required by the subscriber, thereby saving resources on the automotive electronic control unit (ECU), especially the microcontroller (MCU).

[0059] The following will describe the solution of this embodiment in detail based on a practical application scenario.

[0060] See Figure 3 , Figure 4 and Figure 5 This embodiment addresses the shortcomings of existing technologies by providing a multicast filtering method based on DDS communication service codes (Service IDs), comprising the following steps:

[0061] Step 1: Service confirmation on the publishing end. The publishing end confirms the data it needs to send and confirms the corresponding service based on the data, matching the corresponding service code.

[0062] Step 2: The subscriber confirms the services it has subscribed to and adds the service codes of the services it needs to its local DDS protocol stack. Each subscriber forms its own service code list (referred to as Service ID List).

[0063] Step 3: Establishing the chain between the publisher and subscriber. The car is powered on, the DDS protocol stack is started, and the service discovery phase begins. It detects that the publisher and subscriber are in the same DDS domain, and then checks that the topic name and type name of the publisher and subscriber are the same. The chain establishment is successful in the SEDP and SPDP phases. This phase confirms the number of subscribers.

[0064] Step 4: Entering the data communication phase, the publishing end replaces the vendor ID in the header of the data packet with the service code of its own service, and multicasts it to two or more subscribers.

[0065] Step 5: After receiving the multicast message, the subscriber first reads the service code in the data packet header. If the service code is in the subscriber's permission list, it is accepted; otherwise, it is an invalid service code and the message is discarded.

[0066] Step 6: After receiving a valid message from the publisher, the subscriber responds to the publisher with the specific content requested by the service corresponding to the service code.

[0067] In this embodiment, the service codes carried in the DDS communication protocol can correspond to specific services. Using the service codes as identifiers instead of the vendor codes avoids introducing new identifiers and saves message space. Furthermore, by setting a license list on each subscriber end, the required services can be precisely selected.

[0068] This invention also provides a first type of communication multicast filtering device, applied to the publishing end, such as... Figure 6 As shown, the communication multicast filtering device 600 includes:

[0069] The confirmation module 601 is used to confirm the data to be sent and the service code corresponding to the data to be sent during the data communication phase.

[0070] Replacement module 602 is used to replace the vendor code in the data packet of the data to be sent with the service code;

[0071] Multicast module 603 is used to multicast the replaced data packets to the subscriber.

[0072] In practical applications, the confirmation module 601, the replacement module 602, and the multicast module 603 can be implemented by the processor in the communication multicast filtering device.

[0073] It should be noted that the above-described apparatus, when executed, is only illustrated by the division of the above-described program modules. In actual applications, the above processing can be assigned to different program modules as needed, that is, the internal structure of the terminal can be divided into different program modules to complete all or part of the processing described above. Furthermore, the above-described apparatus and the first method embodiment belong to the same concept, and their specific implementation process is detailed in the first method embodiment, and will not be repeated here.

[0074] The communication multicast filtering device and method provided in this embodiment of the invention are applied to the publishing end and include: a confirmation module, used to confirm the data to be sent and the service code corresponding to the data to be sent during the data communication phase; a replacement module, used to replace the vendor code in the data packet of the data to be sent with the service code; and a multicast module, used to multicast the replaced data packet to the subscriber end. The solution provided by this invention replaces the vendor code in the data packet of the data to be sent with a service code for multicasting, enabling the subscriber end to determine whether to receive the data packet based on the service code, thereby reducing the resource consumption required by the subscriber end and saving resource consumption on automotive electronic control units (ECUs), especially microcontrollers (MCUs).

[0075] This invention also provides a second type of communication multicast filtering device, applied to the subscription end, such as... Figure 7 As shown, the communication multicast filtering device 700 includes:

[0076] The reading module 701 is used to read the service code in the data packet after receiving the multicast data packet from the publishing end during the data communication phase.

[0077] The comparison module 702 is used to compare the service code with the service code list to confirm whether the data packet has been received;

[0078] The response module 703 is configured to respond to the service corresponding to the service code in the data packet if it is confirmed that the data packet has been received.

[0079] In practical applications, the reading module 701, the comparison module 702, and the response module 703 can be implemented by the processor in the communication multicast filtering device.

[0080] It should be noted that the above-described apparatus, when executed, is only illustrated by the division of the program modules described above. In actual applications, the processing can be assigned to different program modules as needed, that is, the internal structure of the terminal can be divided into different program modules to complete all or part of the processing described above. Furthermore, the apparatus provided in the above-described embodiments and the second method embodiment belong to the same concept, and their specific implementation process is detailed in the second method embodiment, and will not be repeated here.

[0081] The communication multicast filtering device provided in this invention is applied to a subscriber and includes: a reading module, used to read the service code in a multicast data packet received from a publisher during the data communication phase; a comparison module, used to compare the service code with a service code list to confirm whether to receive the data packet; and a response module, used to respond to the service corresponding to the service code in the data packet if the data packet is confirmed to be received. The solution provided by this invention reduces the resource consumption required by the subscriber by comparing the service code in the data packet with the subscriber's service code list. If the service code is confirmed to be in the service code list, the data packet is received; if the service code is not confirmed to be in the service code list, the data packet is discarded. This reduces the resource consumption required by the subscriber and thus saves resources on automotive electronic control units (ECUs), especially microcontrollers (MCUs).

[0082] This invention also provides a communication multicast filtering system, which includes a publisher and a subscriber. The publisher performs the steps of the communication multicast filtering method described in any of the first embodiments above, and the subscriber performs the steps of the communication multicast filtering method described in any of the second embodiments above.

[0083] To implement the method of the embodiments of the present invention, the present invention also provides a computer program product, which includes computer instructions stored in a computer-readable storage medium. A processor of a computer device reads the computer instructions from the computer-readable storage medium and executes the computer instructions, causing the computer device to perform the steps of the above-described method.

[0084] Based on the hardware implementation of the above-described program modules, and in order to implement the method of this embodiment of the invention, this embodiment also provides an electronic device (computer device). Specifically, in one embodiment, the computer device may be a terminal, and its internal structure diagram may be as follows: Figure 8As shown. The computer device includes a processor A01, a network interface A02, a display screen A04, an input device A05, and a memory (not shown) connected via a system bus. The processor A01 provides computing and control capabilities. The memory includes internal memory A03 and a non-volatile storage medium A06. The non-volatile storage medium A06 stores an operating system B01 and a computer program B02. The internal memory A03 provides an environment for the operation of the operating system B01 and the computer program B02 stored in the non-volatile storage medium A06. The network interface A02 is used for communication with external terminals via a network connection. When the computer program is executed by the processor A01, it implements the method of any of the above embodiments. The display screen A04 can be a liquid crystal display or an electronic ink display. The input device A05 can be a touch layer covering the display screen, a button, trackball, or touchpad mounted on the computer device casing, or an external keyboard, touchpad, or mouse.

[0085] Those skilled in the art will understand that Figure 8 The structure shown is merely a block diagram of a portion of the structure related to the present application and does not constitute a limitation on the computer device to which the present application is applied. Specific computer devices may include more or fewer components than those shown in the figure, or combine certain components, or have different component arrangements.

[0086] The device provided in the embodiments of the present invention includes a processor, a memory, and a program stored in the memory and executable on the processor. When the processor executes the program, it implements the method of any of the above embodiments.

[0087] Those skilled in the art will understand that embodiments of this application can be provided as methods, systems, or computer program products. Therefore, this application can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, this application can take the form of a computer program product embodied on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0088] This application is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of this application. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, generate instructions for implementing the flowchart... Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.

[0089] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.

[0090] These computer program instructions may also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.

[0091] In a typical configuration, a computing device includes one or more processors (CPU), input / output interfaces, network interfaces, and memory.

[0092] Memory may include non-persistent memory in computer-readable media, such as random access memory (RAM) and / or non-volatile memory, like read-only memory (ROM) or flash RAM. Memory is an example of computer-readable media.

[0093] Computer-readable media include both permanent and non-permanent, removable and non-removable media that can store information by any method or technology. Information can be computer-readable instructions, data structures, modules of programs, or other data. Examples of computer storage media include, but are not limited to, phase-change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technologies, CD-ROM, digital versatile optical disc (DVD) or other optical storage, magnetic tape, magnetic magnetic disk storage or other magnetic storage devices, or any other non-transferable medium that can be used to store information accessible by a computing device. As defined herein, computer-readable media does not include transient computer-readable media, such as modulated data signals and carrier waves.

[0094] It is understood that the memory in the embodiments of the present invention can be volatile memory or non-volatile memory, or both. Specifically, non-volatile memory can be read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), ferromagnetic random access memory (FRAM), flash memory, magnetic surface memory, optical disc, or compact disc read-only memory (CD-ROM); magnetic surface memory can be disk storage or magnetic tape storage. Volatile memory can be random access memory (RAM), which is used as an external cache. By way of example, but not limitation, many forms of RAM are available, such as Static Random Access Memory (SRAM), Synchronous Static Random Access Memory (SSRAM), Dynamic Random Access Memory (DRAM), Synchronous Dynamic Random Access Memory (SDRAM), Double Data Rate Synchronous Dynamic Random Access Memory (DDRSDRAM), Enhanced Synchronous Dynamic Random Access Memory (ESDRAM), SyncLink Dynamic Random Access Memory (SLDRAM), and Direct Rambus Random Access Memory (DRRAM).The memories described in the embodiments of this invention are intended to include, but are not limited to, these and any other suitable types of memories.

[0095] It should also be noted that the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such process, method, article, or apparatus. Unless otherwise specified, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes that element.

[0096] The above are merely embodiments of this application and are not intended to limit the scope of this application. Various modifications and variations can be made to this application by those skilled in the art. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this application should be included within the scope of the claims of this application.

Claims

1. A method for filtering a communication multicast, characterized in that, When applied to the publishing end, the communication multicast filtering method includes: During the data communication phase, the data to be sent and the service code corresponding to the data to be sent are confirmed. Replace the vendor code in the data packet containing the data to be sent with the service code; The replaced data packet is multicast to the subscriber. During the data communication phase, after receiving the multicast data packet from the publisher, the subscriber reads the service code in the data packet; compares the service code with the service code list to confirm whether to receive the data packet; if it confirms that the data packet is received, it responds to the service corresponding to the service code in the data packet.

2. The communication multicast filtering method of claim 1, wherein, Confirm the service code corresponding to the data to be sent, including: The corresponding service is determined based on the data to be sent; The services are matched to obtain the service codes corresponding to the services.

3. The method of claim 1, wherein the multicast filtering is performed by a communication device. Prior to the data communication phase, the communication multicast filtering method further includes: During the service discovery phase, identify subscribers that are in the same data distribution service domain as this publisher and have the same topic name and type name as this publisher; Establish a connection with the aforementioned subscriber.

4. A method for filtering a communication multicast, characterized in that, Applied to the subscription end, the communication multicast filtering method includes: During the data communication phase, after receiving a multicast data packet from the publisher, the publisher reads the service code from the data packet. During this phase, the publisher confirms the data to be sent and the corresponding service code; replaces the vendor code in the data packet containing the data to be sent with the service code; and multicasts the replaced data packet to the subscriber. The service code is compared with the service code list to confirm whether the data packet should be received. If the data packet is confirmed to be received, the service corresponding to the service code in the data packet is responded to.

5. The communication multicast filtering method according to claim 4, characterized in that, Before comparing the service code with the service code list, the following steps are included: Confirm the services subscribed to by this subscription client and the service codes corresponding to those services; The service code is added to the protocol stack of this subscriber to form a service code list.

6. The communication multicast filtering method according to claim 4, characterized in that, Prior to the data communication phase, the communication multicast filtering method further includes: During the service discovery phase, identify publishers that are in the same data distribution service domain as this subscriber and have the same topic name and type name as this subscriber; Establish a link with the publishing end.

7. The communication multicast filtering method according to claim 4, characterized in that, The step of comparing the service code with the service code list to determine whether to receive the data packet includes: The service code is compared with the service code list to determine whether the service code is in the service code list; If the service code is found to be in the service code list, the data packet is confirmed to be received; If the service code is not found in the service code list, the data packet is discarded.

8. A communication multicast filtering device, characterized in that, The communication multicast filtering device, applied at the publishing end, includes: The confirmation module is used to confirm the data to be sent and the service code corresponding to the data to be sent during the data communication phase. The replacement module is used to replace the vendor code in the data packet of the data to be sent with the service code; The multicast module is used to multicast the replaced data packet to the subscriber. During the data communication phase, after receiving the multicast data packet from the publisher, the subscriber reads the service code in the data packet; compares the service code with the service code list to confirm whether to receive the data packet; if it confirms that the data packet is received, it responds to the service corresponding to the service code in the data packet.

9. A communication multicast filtering device, characterized in that, The communication multicast filtering device, applied to the subscription end, includes: The reading module is used to read the service code in the data packet after receiving the multicast data packet from the publishing end during the data communication phase. The comparison module is used to compare the service code with the service code list to confirm whether the data packet has been received. The response module is used to respond to the service corresponding to the service code in the data packet if the receipt of the data packet is confirmed. In the data communication phase, the publishing end confirms the data to be sent and the service code corresponding to the data to be sent; replaces the vendor code in the data packet of the data to be sent with the service code; and multicasts the replaced data packet to the subscriber end.

10. A communication multicast filtering system, characterized in that, The communication multicast filtering system includes a publisher and a subscriber. The publisher performs the steps of the communication multicast filtering method as described in any one of claims 1 to 3, and the subscriber performs the steps of the communication multicast filtering method as described in any one of claims 4 to 7.

Citation Information

Patent Citations

  • Method and device for processing multicast message in PIM (protocol-independent multicast)

    CN102843303A

  • Method and apparatus for generating data distribution service application

    US20150370546A1