Methods, apparatus, equipment, media, and vehicles for DDS dynamic publishing and dynamic subscription.

By creating a unified interface dynamic library for DDS entities and utilizing dynamic loading technology, the efficiency problem of dynamic publishing/subscription in the DDS recording and playback system was solved, achieving efficient DDS entity creation and data parsing, and improving the system's processing capabilities.

CN117290421BActive Publication Date: 2026-05-05GUOKE FOUNDATION STONE (CHONGQING) SOFTWARE CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
GUOKE FOUNDATION STONE (CHONGQING) SOFTWARE CO LTD
Filing Date
2023-09-19
Publication Date
2026-05-05

AI Technical Summary

Technical Problem

In existing DDS recording and playback systems, the time for dynamic publishing/subscription increases linearly with the number of topics, and the time consumption is long when the publishing or subscribing end is offline. The acquisition of QoS information is uncertain, resulting in low efficiency.

Method used

By creating a unified interface dynamic library for DDS entities and utilizing dynamic loading technology, dynamic subscription and dynamic publishing are achieved. The unified interface layer is consistent with the recording and playback system, supports multiple topics, and parses sample data.

Benefits of technology

Without the user's awareness, it solves the shortcomings of dynamic publishing/dynamic subscription, realizes efficient DDS entity creation and data parsing, reduces compilation time, and improves system efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN117290421B_ABST
    Figure CN117290421B_ABST
Patent Text Reader

Abstract

This disclosure relates to a method, apparatus, device, medium, and vehicle for dynamic publishing and subscription of a DDS (Dynamic Distribution System). It is characterized by comprising: providing resources required to build a DDS entity; generating a unified interface dynamic library for the DDS entity based on the resources required by the DDS entity; during recording services, calling the unified interface dynamic library of the DDS entity by obtaining the topic name required for the recording service to achieve dynamic subscription; and / or during playback services, calling the unified interface dynamic library of the DDS entity by obtaining the topic name required for the playback service to achieve dynamic publishing. This disclosure addresses the shortcomings of dynamic publishing / subscription by providing a unified interface dynamic library without the user's awareness, achieving the same functionality using the same configuration file as dynamic publishing / subscription.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure relates to the field of DDS recording and playback technology, and in particular to a method, apparatus, device, medium and vehicle for dynamic DDS publishing and dynamic subscription. Background Technology

[0002] Existing DDS recording and playback systems all use dynamic publishing / subscription to create DDS entities. This method fully utilizes the interfaces provided by DDS, but it has shortcomings:

[0003] As the number of topics recorded and replayed increases, the time required for dynamic publishing / dynamic subscription increases linearly.

[0004] If the publisher or subscriber for the topic used for recording and playback is offline, dynamic publishing / subscription will attempt multiple times until it times out, which takes several seconds. This time is unacceptable to some users.

[0005] The QoS obtained from dynamic publishing / dynamic subscriptions and the corresponding topic name for topic info information are uncertain. Often, it is necessary to obtain multiple topic names under the participant to obtain the required topic, which also results in uncertain time consumption. Summary of the Invention

[0006] To overcome the problems existing in related technologies, this disclosure provides a method, apparatus, device, medium, and vehicle for dynamic publishing and dynamic subscription of DDS.

[0007] According to a first aspect of the present disclosure, a method for dynamic publishing and dynamic subscription of DDS is provided, comprising:

[0008] Create the resources required for DDS entities, and generate a unified interface dynamic library for DDS entities based on the resources required for DDS entities;

[0009] When providing recording services, the unified interface dynamic library of the DDS entity is invoked by obtaining the topic name required for the recording service to achieve dynamic subscription, and / or

[0010] When performing a replay service, the unified interface dynamic library of the DDS entity is called by obtaining the topic name required for the replay service to achieve dynamic publishing.

[0011] According to a second aspect of the present disclosure, an apparatus for dynamic publishing and dynamic subscription of DDS is provided, comprising:

[0012] The dynamic library module creates the resources required for DDS entities and generates a unified interface dynamic library for DDS entities based on the resources required by the DDS entities.

[0013] The dynamic subscription module is used to call the unified interface dynamic library of the DDS entity by obtaining the topic name required by the recording service when performing the recording service, so as to realize dynamic subscription.

[0014] The dynamic publishing module is used to call the unified interface dynamic library of the DDS entity by obtaining the topic name required by the replay service during the replay service, thereby realizing dynamic publishing.

[0015] According to a third aspect of the present disclosure, an electronic device is provided, comprising: a processor; a memory for storing executable instructions of the processor; the processor being configured to read the executable instructions from the memory and execute the instructions to implement the DDS dynamic publishing and dynamic subscription method provided in the first aspect of the present disclosure.

[0016] According to a fourth aspect of the present disclosure, a computer-readable storage medium is provided that stores computer program instructions thereon, which, when executed by a processor, implement the steps of the DDS dynamic publishing and dynamic subscription method provided in the first aspect of the present disclosure.

[0017] According to a fifth aspect of the present disclosure, a vehicle is provided that stores a set of instructions, which are executed by the vehicle to implement the DDS dynamic publishing and dynamic subscription method provided in the first aspect of the present disclosure.

[0018] The technical solutions provided by the embodiments of this disclosure can include the following beneficial effects: The disclosure completely solves the shortcomings of dynamically publishing / subscribing to create DDS entities by generating the resources required to create DDS entities through changes to the user's compilation configuration; it uses a unified interface layer to achieve interface consistency with the recording and playback system; it uses dynamic loading technology to achieve one-time compilation with the recording and playback system, supporting multiple topics according to the configuration in the configuration file; in the recording and playback services, interfaces are provided through dynamic libraries, and parsing of sample data can also be achieved because the dynamic library contains data structures defined in IDL. The shortcomings of dynamic publishing / subscribing are solved without the user's awareness. The same configuration file can be used to achieve the same functionality as dynamic publishing / subscribing.

[0019] It should be understood that the above general description and the following detailed description are exemplary and explanatory only, and are not intended to limit this disclosure. Attached Figure Description

[0020] The accompanying drawings, which are incorporated in and form a part of this specification, illustrate embodiments consistent with this disclosure and, together with the description, serve to explain the principles of this disclosure.

[0021] Figure 1 This is a flowchart illustrating a DDS dynamic publishing and dynamic subscription method according to an exemplary embodiment;

[0022] Figure 2 This is a flowchart illustrating the implementation of a DDS dynamic publishing and dynamic subscription method according to an exemplary embodiment;

[0023] Figure 3 This is a block diagram illustrating a DDS dynamic publishing and dynamic subscription device according to an exemplary embodiment;

[0024] Figure 4 This is a block diagram illustrating an electronic device according to an exemplary embodiment;

[0025] Figure 5 This is a block diagram illustrating a vehicle according to an exemplary embodiment. Detailed Implementation

[0026] The exemplary embodiments will now be described in detail with reference to the accompanying drawings.

[0027] It should be noted that the relevant embodiments and accompanying drawings are only for describing and illustrating exemplary embodiments provided by this disclosure, and not all embodiments of this disclosure, nor should this disclosure be understood to be limited to the relevant exemplary embodiments.

[0028] It should be noted that the terms "first," "second," etc., used in this disclosure are only used to distinguish different steps, devices, or modules. These terms do not represent any specific technical meaning, nor do they indicate any order or interdependence between them.

[0029] It should be noted that the terms “a,” “a plurality of,” and “at least one” used in this disclosure are illustrative rather than restrictive. Unless otherwise expressly indicated in the context, they should be understood as “one or more.”

[0030] It should be noted that the term "and / or" used in this disclosure is used to describe the relationship between related objects, and generally indicates that there are at least three relationships. For example, A and / or B can at least indicate: the existence of A alone, the existence of both A and B, and the existence of B alone.

[0031] It should be noted that the various steps described in the method embodiments of this disclosure may be performed in different orders and / or in parallel. Unless otherwise specified, the scope of this disclosure is not limited by the order in which the steps are described in the relevant embodiments.

[0032] It should be noted that all actions involving the acquisition of signals, information, or data in this disclosure are carried out in compliance with the relevant data protection laws and policies of the country where the location is situated, and with authorization from the owner of the relevant device.

[0033] Technical Terminology Explanation

[0034] DDS: Data Distribution Service is a data-centric middleware protocol and API standard released by the Object Management Group (OMG). It adopts a distributed publish / subscribe architecture and provides communication services in the form of middleware. It emphasizes data-centricity. DDS middleware is a software layer that abstracts the application from the details of operating system, network transmission and underlying data format.

[0035] DDS Recording and Playback System: The system formed by DDS's data recording and playback functions. During recording, the user's DDS APP data is recorded (dynamic subscription), and during playback, the recorded data is used to play back the data according to the playback strategy (dynamic publishing).

[0036] Dynamic publishing: Through the DDS buildintopic protocol (requires network transmission and is time-consuming), the runtime obtains the QoS and topic info information of the user's DDS APP publishing end for the participant, writer, and topic, and uses this information to dynamically create DDS entities (participant, writer, topic, etc.).

[0037] Dynamic subscription: By building a topic through DDS (which requires network transmission and is time-consuming), the runtime obtains the participant, writer, topic QoS, and topic info information from the user's DDS APP subscription client, and uses this information to dynamically create DDS entities (participant, writer, topic, etc., and set their QoS).

[0038] QoS (Quality of Service) refers to a network's ability to provide better service for specified network communications by utilizing various basic technologies. It is a network security mechanism and a technology used to solve problems such as network latency and congestion.

[0039] Topic: A Topic is used to identify each data object between a DataWriter and a DataReader. Each topic is defined by a name and a data type.

[0040] Entity: An entity refers to various entity objects, such as DomainParticipant, Publisher, Subscriber, DataWriter, and DataReader. The role of an entity is to abstract the concepts in DDS, allowing users to create and manage these objects and communicate and interact with them.

[0041] Exemplary methods

[0042] Figure 1 This is a flowchart illustrating a DDS dynamic publishing and dynamic subscription method according to an exemplary embodiment, such as... Figure 1 As shown, it includes the following steps.

[0043] In step S110, the resources required for the DDS entity are created, and a unified interface dynamic library for the DDS entity is generated based on the resources required for the DDS entity.

[0044] Furthermore, the resources required to create a DDS entity specifically include:

[0045] Get the import path of the IDL file and the QoS settings of the DDS entity corresponding to the topic.

[0046] Furthermore, the creation process of the unified interface dynamic library specifically includes:

[0047] Import user-defined IDL;

[0048] Import the unified interface to generate the script file;

[0049] idlc generates the corresponding header and source files; for example, it can generate corresponding .hc or .hpp.cpp files.

[0050] The unified interface generation script completes the compilation of the dynamic library and generates the unified interface dynamic library.

[0051] The generation of the unified interface dynamic library also includes another generation method: the source code can be directly modified based on the imported user-defined IDL and compiled to generate the unified interface dynamic library.

[0052] Furthermore, the compilation of the dynamic library is completed by the unified interface generation script. The generation of the unified interface dynamic library specifically includes:

[0053] Retrieve all the topic names that need to be recorded from the configuration file;

[0054] Generate the name of the unified interface dynamic library based on the theme name.

[0055] In step S120, when performing the recording service, the unified interface dynamic library of the DDS entity is called by obtaining the topic name required for the recording service to achieve dynamic subscription, and / or

[0056] When performing a replay service, the unified interface dynamic library of the DDS entity is called by obtaining the topic name required for the replay service to achieve dynamic publishing.

[0057] Furthermore, the specific call process for the recording and playback services includes:

[0058] Retrieve all the topic names that need to be recorded from the configuration file;

[0059] Generate the name of the unified interface dynamic library based on the theme name, dynamically load the unified interface dynamic library based on the name, and set the environment variable LD_LIBRARY_PATH as needed;

[0060] Call the unified interface to obtain the data structure representing the creation information of the topic, and then create the DDS topic; the data structure representing the creation information of the topic is represented by dds_topic_descriptor_t.

[0061] Continue creating the DDS entity;

[0062] Set and retrieve the status values ​​of all topic writers on the subscriber side, and publish data based on the status values ​​of the subscriber side. The presence of a subscriber is obtained through DDS_PUBLICATION_MATCHED_STATUS.

[0063] Figure 2 This is a flowchart illustrating the implementation of a DDS dynamic publishing and dynamic subscription method according to an exemplary embodiment. Figure 2 As shown, a specific implementation of this exemplary embodiment will be described in detail:

[0064] First, add the "Generate Unified Interface Library for Recording Playback" feature to the IDE or use a script to implement: a recording playback system, creating a unified interface library for DDS Entities, and using IDL files to achieve compile-time support for data types and complete the creation of DDS entities; the specific process of creating the unified interface library for DDS Entities includes:

[0065] a) Enter the path of the user's project, i.e. the path of the IDL file, to analyze the topic and obtain the QoS settings of the corresponding DDSentities.

[0066] b) Import user-defined IDL

[0067] c) Import the unified interface to generate the script file

[0068] d) idlc generates the corresponding .hc / .hpp.cpp files.

[0069] e) Execute the unified interface generation script to generate the dynamic library of the unified interface (i.e., the compilation of the dynamic library is completed by the unified interface generation script file), and the dynamic library name is named with the prefix of the topic name;

[0070] The above method of generating a dynamic library with a unified interface is not the only way. You can also directly modify the source code and compile it to generate a dynamic library based on step b) above.

[0071] The library files are compiled and linked files, dynamically loaded at runtime. This allows the recording and playback service to support different topic IDLs without needing to compile them. The dynamic libraries implement a unified interface, while the content provides support for different IDLs. There are as many dynamic libraries as there are IDLs, and these dynamic libraries have the same interface. The recording and playback service calls different dynamic libraries based on different topics.

[0072] The compilation of dynamic libraries is accomplished by generating script files (i.e., configuration files) through a unified interface:

[0073] a) Retrieve all (multiple) topic names that need to be recorded from the configuration file.

[0074] b) Generate the name of the dynamic library based on the topic name, which facilitates the recording and playback services to dynamically load the library based on the topic name in the configuration file.

[0075] Secondly, in the source code of the recording and playback services, implement: reusable multi-topic interface calls to a unified interface library.

[0076] a) Retrieve all (multiple) topic names that need to be recorded from the configuration file.

[0077] b) Generate the name of the dynamic library based on the topic name and load it dynamically (set the environment variable LD_LIBRARY_PATH as needed).

[0078] c) Call the unified interface to obtain the dds_topic_descriptor_t structure and create the DDS topic.

[0079] d) Continue creating DDS entities.

[0080] e) Set and retrieve the DDS_PUBLICATION_MATCHED_STATUS for all topic writers, and publish the data based on the peer's status.

[0081] The application scenario of this embodiment is the dynamic creation of DDS entities in a DDS recording and playback system.

[0082] This embodiment offers the following advantages: It completely resolves the shortcomings of dynamically publishing / subscribing to create DDS entities by generating the resources needed to create DDS entities through changes to user compilation configurations within the IDE; it uses a unified interface layer to achieve interface consistency with the recording and playback system; it employs dynamic loading technology to achieve a single compilation similar to the recording and playback system, supporting multiple topics based on the configuration file; in the recording and playback services, interfaces are provided through dynamic libraries, enabling the parsing of sample data, as the dynamic libraries contain data structures defined in the IDL. It resolves the shortcomings of dynamically publishing / subscribing without the user's awareness. The same configuration file can be used to achieve the same functionality as dynamically publishing / subscribing.

[0083] Exemplary device

[0084] Figure 3 This is an apparatus block diagram illustrating a DDS dynamic publishing and dynamic subscription method according to an exemplary embodiment. (Refer to...) Figure 3 The device 300 includes a dynamic library module 310, a dynamic subscription module 320, and a dynamic publishing module 330.

[0085] The dynamic library module 310 is used to create the resources required for DDS entities and generate a unified interface dynamic library for DDS entities based on the resources required for DDS entities.

[0086] The dynamic subscription module 320 is used to call the unified interface dynamic library of the DDS entity by obtaining the topic name required by the recording service when performing the recording service, so as to realize dynamic subscription.

[0087] The dynamic publishing module 330 is used to call the unified interface dynamic library of the DDS entity by obtaining the topic name required for the playback service during playback service, thereby realizing dynamic publishing.

[0088] Dynamic library module 310 is specifically used for:

[0089] The dynamic subscription module 320 and the dynamic publishing module 330, in the source code of the recording and playback services, implement reusable API calls to a unified API library for multiple topics.

[0090] Retrieve all (multiple) topic names that need to be recorded from the configuration file.

[0091] Generate a dynamic library name based on the topic name and load it dynamically (set the environment variable LD_LIBRARY_PATH as needed).

[0092] Call the unified interface to obtain the dds_topic_descriptor_t structure and create a DDS topic. The dds_topic_descriptor_t represents a data structure that describes the topic creation information.

[0093] Continue creating DDS entities

[0094] Set and retrieve the DDS_PUBLICATION_MATCHED_STATUS for all topic writers, and publish data based on the peer's status. DDS_PUBLICATION_MATCHED_STATUS represents the status value indicating whether a subscriber exists.

[0095] The device embodiments disclosed herein correspond to the technical solutions of the above-described invention embodiments. The specific operation of each module can be understood by referring to the description in the method embodiments, and will not be repeated here.

[0096] Exemplary electronic devices

[0097] Figure 4 This is a block diagram illustrating an electronic device 400 according to an exemplary embodiment. The electronic device 400 may be a vehicle controller, an in-vehicle terminal, an in-vehicle computer, or other types of electronic devices.

[0098] Reference Figure 4 The electronic device 400 may include at least one processor 410 and a memory 420. The processor 410 can execute instructions stored in the memory 420. The processor 410 is communicatively connected to the memory 420 via a data bus. In addition to the memory 420, the processor 410 can also be communicatively connected to an input device 430, an output device 440, and a communication device 450 via the data bus.

[0099] Processor 410 can be any conventional processor, such as a commercially available CPU. Processors may also include graphics processing units (GPUs), field-programmable gate arrays (FPGAs), systems-on-chips (SoCs), application-specific integrated circuits (ASICs), or combinations thereof.

[0100] The memory 420 can be implemented by any type of volatile or non-volatile storage device or a combination thereof, such as static random access memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic storage, flash memory, magnetic disk or optical disk.

[0101] In this embodiment of the present disclosure, the memory 420 stores executable instructions, and the processor 410 can read the executable instructions from the memory 420 and execute the instructions to implement all or part of the steps of the DDS dynamic publishing and dynamic subscription method described in any of the exemplary embodiments above.

[0102] Exemplary computer-readable storage media

[0103] In addition to the methods and apparatus described above, exemplary embodiments of this disclosure may also be a computer program product or a computer-readable storage medium storing the computer program product. The computer product includes computer program instructions that can be executed by a processor to perform all or part of the steps described in any of the methods in the exemplary embodiments described above.

[0104] The computer program product can be written in any combination of one or more programming languages ​​to perform the operations of the embodiments of this application. The programming languages ​​include object-oriented programming languages ​​such as Java and C++, as well as conventional procedural programming languages ​​such as C or similar languages, and scripting languages ​​(e.g., Python). The program code can be executed entirely on the user's computing device, partially on the user's device, as a standalone software package, partially on the user's computing device and partially on a remote computing device, or entirely on a remote computing device or server.

[0105] The computer-readable storage medium may be any combination of one or more readable media. A readable medium may be a readable signal medium or a readable storage medium. A readable storage medium may be, for example, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. More specific examples of readable storage media include: static random access memory (SRAM) having one or more electrically connected wires, electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic storage, flash memory, magnetic disk or optical disk, or any suitable combination thereof.

[0106] Exemplary vehicle

[0107] Figure 5 This is a block diagram illustrating a vehicle 500 according to an exemplary embodiment. The vehicle 500 may be a gasoline vehicle, a hybrid vehicle, an electric vehicle, a fuel cell vehicle, or other types of vehicles.

[0108] Reference Figure 5 The vehicle 500 may include multiple subsystems, such as a drive system 510, a control system 520, a sensing system 530, a communication system 540, an information display system 550, and a computing processing system 560. The vehicle 500 may also include more or fewer subsystems, and each subsystem may include multiple components, which will not be described in detail here.

[0109] The drive system 510 includes components that provide power to the vehicle 500. These include, for example, an engine, an energy source, and a transmission.

[0110] The control system 520 includes components that provide control for the vehicle 500. These include, for example, vehicle control, cockpit equipment control, and driver assistance control.

[0111] The perception system 530 includes components that provide the vehicle 500 with perception of its surroundings. Examples include a vehicle positioning system, laser sensors, voice sensors, ultrasonic sensors, and camera equipment.

[0112] The communication system 540 includes components that provide communication connectivity for the vehicle 500. These may include, for example, mobile communication networks (e.g., 3G, 4G, 5G networks), WiFi, Bluetooth, and vehicle-to-everything (V2X) connectivity.

[0113] The information display system 550 includes components that provide various information displays for the vehicle 500. These include, for example, vehicle information displays, navigation information displays, and entertainment information displays.

[0114] The computing processing system 560 includes components that provide data computing and processing capabilities for the vehicle 500. The computing processing system 560 may include at least one processor 561 and a memory 562. The processor 561 can execute instructions stored in the memory 562.

[0115] Processor 561 can be any conventional processor, such as a commercially available CPU. Processors may also include graphics processing units (GPUs), field-programmable gate arrays (FPGAs), systems-on-chips (SoCs), application-specific integrated circuits (ASICs), or combinations thereof.

[0116] The memory 562 can be implemented by any type of volatile or non-volatile storage device or a combination thereof, such as static random access memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic storage, flash memory, magnetic disk or optical disk.

[0117] In this embodiment of the disclosure, a set of instructions is stored in the memory 562, and the processor 561 can execute the set of instructions to implement all or part of the steps of the DDS dynamic publishing and dynamic subscription method described in any of the exemplary embodiments above.

[0118] Other embodiments of this disclosure will readily occur to those skilled in the art upon consideration of the specification and practice of this disclosure. This application is intended to cover any variations, uses, or adaptations of this disclosure that follow the general principles of this disclosure and include common knowledge or customary techniques in the art not disclosed herein. The specification and examples are to be considered exemplary only, and the true scope and spirit of this disclosure are indicated by the following claims.

[0119] It should be understood that this disclosure is not limited to the precise structures described above and shown in the accompanying drawings, and various modifications and changes can be made without departing from its scope. The scope of this disclosure is limited only by the appended claims.

Claims

1. A method for dynamic publishing and dynamic subscription in DDS, characterized in that, include: Create the resources required for DDS entities, and generate the unified interface dynamic library for DDS entities based on the resources required for DDS entities: including generating the name of the unified interface dynamic library based on the topic name; When providing recording services, the unified interface dynamic library of the DDS entity is invoked by obtaining the topic name required for the recording service to achieve dynamic subscription, and / or When performing a replay service, the unified interface dynamic library of the DDS entity is called by obtaining the topic name required for the replay service to achieve dynamic publishing; The invocation process for the recording service and playback service specifically includes: Retrieve all the topic names that need to be recorded from the configuration file; Dynamically load the dynamic library based on the name of the unified interface dynamic library; Call the unified interface dynamic library to obtain the data structure representing the creation information of the DDS topic, and then create the DDS topic; Continue creating the DDS entity; Set and retrieve the status values ​​of all topic writers on the subscription side, and publish data based on the status values ​​on the subscription side.

2. The method according to claim 1, characterized in that, The resources required to create a DDS entity specifically include: Get the import path of the IDL file and the QoS settings of the DDS entity corresponding to the topic.

3. The method for dynamic publishing and dynamic subscription of DDS according to claim 1, characterized in that, The creation process of the unified interface dynamic library specifically includes: Import user-defined IDL; Import the unified interface to generate the script file; idlc generates the corresponding header and source files; The unified interface generation script completes the compilation of the dynamic library and generates the unified interface dynamic library.

4. The method for dynamic publishing and dynamic subscription of DDS according to claim 1, characterized in that, The unified interface dynamic library is generated by modifying the source code based on the imported user-defined IDL and compiling it.

5. The method for dynamic publishing and dynamic subscription of DDS according to claim 3, characterized in that, The compilation of the dynamic library by the unified interface generation script, specifically including the generation of the unified interface dynamic library, includes: Retrieve all the topic names that need to be recorded from the configuration file; Generate the name of the unified interface dynamic library based on the theme name.

6. A device for dynamic publishing and subscription of DDS, characterized in that, include: The dynamic library module creates the resources required for DDS entities and generates a unified interface dynamic library for the DDS entities based on these resources. This includes generating the name of the unified interface dynamic library based on the topic name. The dynamic subscription module is used to call the unified interface dynamic library of the DDS entity by obtaining the topic name required by the recording service when performing the recording service, so as to realize dynamic subscription. The dynamic publishing module is used to dynamically publish the DDS entity's unified interface dynamic library by obtaining the topic name required for the playback service during playback service. The specific calling process of the recording service and playback service includes: Retrieve all the topic names that need to be recorded from the configuration file; Dynamically load the dynamic library based on the name of the unified interface dynamic library; Call the unified interface dynamic library to obtain the data structure representing the creation information of the DDS topic, and then create the DDS topic; Continue creating the DDS entity; Set and retrieve the status values ​​of all topic writers on the subscription side, and publish data based on the status values ​​on the subscription side.

7. An electronic device, characterized in that, include: processor; Memory used to store the processor's executable instructions; The processor is configured to read the executable instructions from the memory and execute the instructions to implement the DDS dynamic publishing and dynamic subscription method as described in any one of claims 1-5.

8. A computer-readable storage medium having computer program instructions stored thereon, characterized in that, When the program instructions are executed by the processor, they implement the steps of the method for dynamic DDS publishing and dynamic subscription as described in any one of claims 1-5.

9. A vehicle, characterized in that, A set of instructions is stored, which is executed by the vehicle to implement the DDS dynamic publishing and dynamic subscription method as described in any one of claims 1-5.

Citation Information

Patent Citations

  • Automatic establishing method of DDS (data distribution service) distributive system based on XML

    CN105205183A