Data instance transmission method and device, equipment, medium and program product

By running the DDS system and the APP on different cores in a multi-core environment and setting up proxy components for data subscribers and publishers, the need for high-performance, low-latency communication middleware in smart cars is solved, and efficient, low-consumption data instance transmission is achieved.

CN121940448APending Publication Date: 2026-04-28ZEBRED NETWORK TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
ZEBRED NETWORK TECH CO LTD
Filing Date
2025-12-31
Publication Date
2026-04-28

AI Technical Summary

Technical Problem

In a multi-core operating environment, existing technical solutions cannot effectively address the demand of intelligent vehicles for high-performance, low-latency communication middleware, leading to unbalanced CPU load or significantly increased resource consumption.

Method used

By running the DDS system and the applications (APPs) that use the DDS system on different cores, and setting up proxy components for data subscribers and publishers, unified data sending and receiving of multiple APPs can be achieved through the proxy components, reducing resource consumption and improving flexibility and communication efficiency.

Benefits of technology

It enables efficient and low-latency data instance transmission in a multi-core environment, reduces resource consumption, and improves the flexibility of APP configuration and the accuracy of data transmission.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121940448A_ABST
    Figure CN121940448A_ABST
Patent Text Reader

Abstract

The invention provides a data instance transmission method and device, equipment, a medium and a program product. The DDS system and the APP using the DDS system are operated on different cores, so that the flexibility of APP configuration is improved; meanwhile, proxy components are arranged for a data subscriber and a data publisher of the DDS system respectively, data receiving and transmitting of the multiple APPs are achieved through the proxy components, and the multiple APPs running on different cores can use the same DDS system while extra resource consumption is reduced; in addition, after the data subscriber receives the data instance, the subscription application program corresponding to the publishing application program is determined, so that accurate transmission of the data instance is realized.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of communication technology, and in particular to a data instance transmission method, apparatus, device, medium, and program product. Background Technology

[0002] In the field of intelligent driving, vehicles need to process massive amounts of data in real time from sensors (such as cameras, radar, and lidar), actuators (such as braking systems and steering systems), and upper-level decision-making algorithms. This requires communication middleware to have real-time performance, reliability, and resource efficiency. With the rapid development of technologies such as smart cockpits and intelligent driving, the demand for high-performance communication middleware in automotive electronic systems is becoming increasingly urgent. In multi-core operating environments, the introduction of DDS (Distributed Data System) provides stronger communication capabilities to upper-level applications such as intelligent driving.

[0003] Currently, for Classic AutoSAR environments, solutions for introducing DDS to achieve multi-application data interaction in multi-core environments include: First, binding DDS to the application and running it on the same core, with other cores interacting with this core indirectly using DDS through inter-core communication; however, while this solution avoids data contention in multi-core environments, it leads to uneven CPU load across multiple cores. Second, deploying DDS on each core, where each DDS only serves the application on that core; however, this solution significantly increases resource consumption in multi-tasking scenarios and cannot meet the requirements of intelligent vehicles for high-performance, low-latency communication middleware.

[0004] Therefore, there is an urgent need for an efficient and low-consumption data instance transmission solution. Summary of the Invention

[0005] This application provides a data instance transmission method, apparatus, device, medium, and program product to achieve high-performance and low-latency data instance transmission.

[0006] In a first aspect, embodiments of this application provide a data instance transmission method, comprising: a data publisher applied in a DDS system, wherein the DDS system also deploys at least one data subscriber, the application includes a subscription application and a publishing application, the DDS system and the application run on different cores, the data publisher includes a first receiving unit, a first proxy component, and a first sending unit, the method comprising:

[0007] The first receiving unit receives at least one data instance sent by the publishing application;

[0008] The first proxy component writes at least one data instance to the data publishing queue.

[0009] The first sending unit reads data instances from the data publishing queue and sends the read data instances to at least one data subscriber, so that each data subscriber sends the data instances to the subscription application corresponding to the publishing application.

[0010] Secondly, embodiments of this application provide a data instance transmission method, applied to any data subscriber in a DDS system. The DDS system also deploys at least one publisher. The application includes a subscription application and a publishing application. The DDS system and the application run on different cores. The data subscriber includes a second receiving unit, a second proxy component, and a second sending unit. The method further includes:

[0011] Identify at least one subscription application corresponding to the published application;

[0012] The data instance is sent to the second sending unit through the second proxy component;

[0013] The data instance is sent to each subscribing application corresponding to the publishing application via the second sending unit.

[0014] Thirdly, embodiments of this application provide a data instance transmission apparatus applied to a data publisher in a DDS system. The DDS system also deploys at least one data subscriber. The application includes a subscription application and a publishing application. The DDS system and the application run on different cores. The data publisher includes a first receiving unit, a first proxy component, and a first sending unit, comprising:

[0015] A receiving module is used to receive at least one data instance sent by a publishing application through a first receiving unit;

[0016] The first processing module is used to write at least one data instance into the data publishing queue through the first proxy component;

[0017] The transmission module is used to read data instances from the data publishing queue through the first sending unit and send the read data instances to at least one data subscriber, so that each data subscriber sends the data instances to the subscription application corresponding to the publishing application.

[0018] Fourthly, embodiments of this application provide a data instance transmission apparatus, applied to any data subscriber in a DDS system. The DDS system also deploys at least one data publisher. The application includes a subscription application and a publishing application. The DDS system and the application run on different cores. The data subscriber includes a second receiving unit, a second proxy component, and a second sending unit, and further includes:

[0019] The determination module is used to determine at least one subscription application corresponding to the publishing application;

[0020] The second processing module is used to send data instances to the second sending unit through the second proxy component;

[0021] The sending module is used to send data instances to each subscribing application corresponding to the publishing application via the second sending unit.

[0022] Fifthly, embodiments of this application provide an electronic device, including: a memory and a processor;

[0023] The memory stores instructions that the computer executes;

[0024] The processor executes computer execution instructions stored in memory, causing the processor to perform the first aspect and / or various possible implementations of the first aspect, or the second aspect and / or various possible implementations of the second aspect.

[0025] Sixthly, embodiments of this application provide a computer-readable storage medium storing computer-executable instructions, which, when executed by a processor, are used to implement the first aspect and / or various possible implementations of the first aspect, or the second aspect and / or various possible implementations of the second aspect.

[0026] In a seventh aspect, embodiments of this application provide a computer program product, including a computer program that, when executed by a processor, implements the first aspect and / or various possible implementations of the first aspect, or the second aspect and / or various possible implementations of the second aspect.

[0027] The data instance transmission method, apparatus, device, medium, and program product provided in this application improve the flexibility of APP configuration by running the DDS system and the APP using the DDS system on different cores. Simultaneously, proxy components are set up for data subscribers and data publishers of the DDS system, enabling unified data transmission and reception for multiple APPs. This reduces additional resource consumption while allowing multiple APPs running on different cores to use the same DDS system. Furthermore, after receiving a data instance, the data subscriber determines the corresponding subscription application to achieve accurate data instance transmission. Attached Figure Description

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

[0029] Figure 1A schematic diagram illustrating a data instance transmission method provided in this application;

[0030] Figure 2 An interactive schematic diagram of a data instance transmission method provided in this application;

[0031] Figure 3 A schematic diagram of the architecture of a DDS system provided in this application;

[0032] Figure 4 A flowchart illustrating a data instance transmission method provided in this application;

[0033] Figure 5 A schematic diagram of the structure of a data instance transmission device provided in this application Figure 1 ;

[0034] Figure 6 A schematic diagram of the structure of a data instance transmission device provided in this application Figure 2 ;

[0035] Figure 7 This is a schematic diagram of the structure of an electronic device provided in this application.

[0036] The accompanying drawings have illustrated specific embodiments of this application, which will be described in more detail below. These drawings and descriptions are not intended to limit the scope of the concept in any way, but rather to illustrate the concept of this application to those skilled in the art through reference to specific embodiments. Detailed Implementation

[0037] Exemplary embodiments will now be described in detail, examples of which are illustrated in the accompanying drawings. When the following description relates to the drawings, unless otherwise indicated, the same numbers in different drawings denote the same or similar elements. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with this application. Rather, they are merely examples of apparatuses and methods consistent with some aspects of this application as detailed in the appended claims.

[0038] In the field of intelligent driving, vehicles need to process massive amounts of data in real time from sensors (such as cameras, radar, and lidar), actuators (such as braking systems and steering systems), and upper-level decision-making algorithms. This requires communication middleware to have real-time performance, reliability, and resource efficiency. With the rapid development of technologies such as smart cockpits and intelligent driving, the demand for high-performance communication middleware in automotive electronic systems is becoming increasingly urgent. In multi-core operating environments, the introduction of DDS (Distributed Data System) provides stronger communication capabilities to upper-level applications such as intelligent driving.

[0039] Currently, for Classic AutoSAR environments, solutions for introducing DDS to achieve multi-application data interaction in multi-core environments include: First, binding DDS to the application and running it on the same core, with other cores interacting with this core indirectly using DDS through inter-core communication; however, while this solution avoids data contention in multi-core environments, it leads to uneven CPU load across multiple cores. Second, deploying DDS on each core, where each DDS only serves the application on that core; however, this solution significantly increases resource consumption in multi-tasking scenarios and cannot meet the requirements of intelligent vehicles for high-performance, low-latency communication middleware.

[0040] Therefore, there is an urgent need for an efficient and low-consumption data instance transmission solution.

[0041] This application provides a data instance transmission method, apparatus, device, medium, and program product. By running the DDS system and the APP using the DDS system on different cores, the flexibility of APP configuration is improved. Simultaneously, proxy components are set up for data subscribers and data publishers of the DDS system, enabling unified data transmission and reception for multiple APPs. This reduces additional resource consumption while allowing multiple APPs running on different cores to use the same DDS system. Furthermore, after receiving a data instance, the data subscriber determines the corresponding subscription application to achieve accurate data instance transmission.

[0042] The technical solution of this application and how the technical solution of this application solves the above-mentioned technical problems are described in detail below with specific embodiments. These specific embodiments can be combined with each other, and the same or similar concepts or processes may not be described again in some embodiments. The embodiments of this application will now be described with reference to the accompanying drawings.

[0043] Figure 1 A schematic diagram of a data instance transmission method provided in this application, such as... Figure 1 As shown, the DDS system includes a data publisher 200 and a data subscriber 300, wherein the data subscriber 200 and the data publisher 300 are connected by communication; the DDS system, the publishing application 100 and the subscription application 400 are connected by communication.

[0044] The publishing application 100 sends the data instance to be published to the DDS system so that the data instance can be transferred to the subscribing application 400 through the DDS system.

[0045] The data publisher 200 includes a first receiving unit, a first proxy component, and a first sending unit. The first receiving unit receives data instances sent by the publishing application 100 and determines the tag information corresponding to the data instances; according to the tag information, the first proxy component writes the data instances into a data publishing queue; and the first sending unit reads data instances from the data publishing queue and sends them to the data subscriber 300.

[0046] The data subscriber 300 includes a second receiving unit, a second proxy component, and a second sending unit. The second receiving unit receives data instances sent by the data publisher, the second proxy component sends the data instances to the second sending unit, and the second sending unit sends the data instances to the subscription application corresponding to the publishing application.

[0047] Understandably, the first receiving unit corresponding to the data publisher can receive data instances sent by multiple publishing applications, and the first proxy component can write the data instances of multiple publishing applications into the data publishing queue. Data transmission between the publisher and subscriber is implemented based on the first sending unit and the second receiving unit. That is, the first sending unit reads data instances from the data publishing queue and sends them to the data subscribers. The data subscribers receive the data instances through the second receiving unit. Similarly, the data subscribers send data instances to multiple subscribing applications through the second proxy component and the second sending unit.

[0048] In the DDS system, multiple data publishers and multiple data subscribers can be deployed. A data publisher can receive data instances sent by one or more publishing applications; a data subscriber can send data instances to one or more subscribing applications. This application does not impose any restrictions on this.

[0049] Figure 2 An interactive schematic diagram of a data instance transmission method provided in this application is shown below. Figure 2 As shown, a data publisher is applied in the DDS system. The DDS system also deploys at least one data subscriber. The application includes a subscription application and a publishing application. The DDS system and the application run on different cores. The data instance transmission method provided in this embodiment includes:

[0050] In vehicle communication applications, published applications and subscribed applications are different applications (APPs). In a multi-core microcontroller unit (MCU) architecture, when multiple applications (APPs) running on CPU1 communicate with an application running on CPU2, each application on CPU1 runs on a different core, requiring a Data Sharing System (DDS) for data sharing. For example, a sensor data acquisition APP runs on core 1 of CPU1, while a decision algorithm APP runs on core 2 of CPU1. When the sensor data acquisition APP and the decision algorithm APP interact with the application running on CPU2, a DDS system is needed. However, traditional DDS relies on the operating system's locking mechanism and dynamic memory allocation, making it difficult to efficiently transfer data on the CPU.

[0051] To address the aforementioned issues, this application improves the flexibility of app configuration by running the DDS system and the apps using the DDS system on different cores. Simultaneously, proxy components are set up for data subscribers and data publishers of the DDS system, enabling unified data transmission and reception across multiple apps. This reduces additional resource consumption while allowing multiple apps running on different cores to use the same DDS system without the need for additional data relay stations, thus reducing memory consumption. Furthermore, the proxy components address the performance degradation, deadlock risk, and uncertainty of unlocking time caused by lock contention in existing DDS locking mechanisms. For example, the first proxy component receives data instances received by the first receiving unit and writes them to a data queue. After sending a data instance to the first proxy component, the first receiving unit can then continue receiving the next data instance.

[0052] Figure 3 This application provides a schematic diagram of the architecture of a DDS system, such as... Figure 3As shown, taking a DDS system deployment with one data subscriber and one data publisher as an example, the data publisher receives data instances sent by the application, while the data subscriber sends data instances to the application. Specifically, the Data Writer is the first receiving unit, used to receive data instances sent by the application; the Writer Delegate is the first proxy component, used to write the received data instances from multiple applications into a data queue so that the RTPS Writer can directly read data instances from multiple applications; the RTPS Writer is the first sending unit, used to transmit data instances to the data subscriber. The Data Reader is the second sending unit, used to send data instances to the application; the Reader Delegate is the second proxy component, used to send data instances corresponding to different applications received by the data subscriber to the Data Reader; and the RTPS Reader is the second receiving unit, used to receive data instances sent by the data publisher.

[0053] In addition, the DDS system also sets up a Publisher Manager to centrally manage the RTPS Writers corresponding to multiple data publishers and the RTPS Readers corresponding to data subscribers, which are the sending components for reporting reception status; and a Subscriber Manager to centrally manage the RTPS Readers corresponding to multiple data subscribers and the RTPS Writers corresponding to data subscribers, which are the receiving components for receiving the reception status.

[0054] The centralized management mechanism significantly reduces resource consumption caused by deploying multiple DDS systems in traditional solutions. Combined with the configured proxy components, a single DDS system can serve multiple applications, avoiding the memory and bandwidth overhead of independently deploying DDS on each core in traditional solutions. This allows multi-core MCUs to efficiently run DDS services under resource-constrained conditions, while maintaining the scalability and flexibility of the communication middleware. Furthermore, the Publisher Manager and Subscriber Manager run on different cores, enabling the DDS system to operate in parallel and improving the efficiency of data instance transmission.

[0055] S201. Send the data instance to the data publisher;

[0056] S202, Based on the first receiving unit, receive at least one data instance sent by a publishing application;

[0057] In conjunction with the foregoing, for example, when an application APP1 is published, it sends data instance 1 to the data publisher, and APP2 sends data instance 2 to the data publisher; the DDS system, based on the Data Writer, receives data instance 1 and data instance 2.

[0058] S203. Write at least one data instance into the data publishing queue through the first proxy component;

[0059] For example, the data instances received by the Data Writer include: "APP1 - Data Instance 1, APP2 - Data Instance 2, APP3 - Data Instance 3, APP4 - Data Instance 4". The data instances received by the Data Writer include timestamp information, and the time order refers to the receiving order of each data instance determined based on the timestamp information; that is, based on the timestamp information, the receiving order of each data instance is determined as: Data Instance 2 - Data Instance 4 - Data Instance 3 - Data Instance 1.

[0060] The data publishing queue is a multi-write-channel, single-read-channel queue. This means that when writing data, the queue can write data instances sent by multiple apps; similarly, when reading data instances, it reads them only through the same read channel. By setting up the data publishing queue, lock-free data writing and reading are achieved. This ensures data consistency across multiple apps writing data instances while avoiding performance degradation and deadlock risks caused by lock contention.

[0061] S204. Read data instances from the data publishing queue through the first sending unit;

[0062] S205, and send the read data instance to the data subscriber;

[0063] In light of the foregoing, to address the issue in existing technologies where multiple apps need to share the same DDS, requiring the establishment of an additional data transceiver center, leading to high resource consumption and reduced communication efficiency, this solution addresses this problem by setting up WriterDelegate and ReaderDelegate within the DDS. This allows for the reception and transmission of data instances from multiple apps, enabling cross-core data transfer in a lock-free environment.

[0064] When data is transferred between data publishers and data subscribers, the DDS system uses the RTPS Writer to sequentially read data instances from the data publishing queue and transmit them to the data subscribers.

[0065] S206. Determine the subscription application corresponding to the published application;

[0066] For data subscribers, when the RTPS Reader receives a data instance from the RTPS Writer, the RTPS Reader executes the callback function corresponding to the subscribing application. It can broadcast the data instance to multiple subscribing applications and respond to the data instance read requests of the subscribing applications, thus improving the efficiency of data transmission. At the same time, it solves the data synchronization problem in cross-core subscription scenarios and reduces the complexity of the DDS system.

[0067] S207. The data instance is sent to the second sending unit through the second proxy component;

[0068] S208. The data instance is sent to the subscription application corresponding to the publishing application through the second sending unit.

[0069] Specifically, APP11, APP12, and APP13 can obtain data instance 1 through the corresponding interface of Data Reader.

[0070] To improve the stability of data transmission, a reception feedback mechanism is set up to synchronize messages between data subscribers and data publishers, ensuring that the subscription server receives the data instance.

[0071] In one possible implementation, Figure 4 This application provides a flowchart illustrating a data instance transmission method, as shown below. Figure 4 As shown, it includes:

[0072] S401, In response to a data transmission message sent by the data publisher, the data transmission message is used to indicate the data instance that the data publisher has sent;

[0073] For example, when a data publisher sends data instance 1 to a data subscriber, the data transmission message A sent to the data subscriber indicates "Data instance 1 has been transmitted" through the reception feedback mechanism. Similarly, when the data publisher sends data instance 2 to the data subscriber, the data transmission message B sent to the data subscriber indicates "Data instance 1 and data instance 2 have been transmitted" through the reception feedback mechanism; if data instance 1 has been overwritten in the data queue, then the data transmission message C sent to the data subscriber indicates "Data instance 2 has been transmitted".

[0074] S402. Based on the data transmission message, determine the data reception information of the data instance and send the data reception information to the data publisher; wherein, the data reception information is used to indicate the data subscriber's reception status of the data instance sent by the data publisher, and the reception status indicates that the data subscriber has received the data instance.

[0075] Specifically, in conjunction with the foregoing, for example, after receiving data transmission message B, the data subscriber determines the reception status of the data instance based on the received data instance; if the data subscriber has received data instance 1 but not data instance 2, then the data reception information A is "data instance 1 has been received"; and sends this data reception information A to the data publisher; the data publisher determines whether the data subscriber needs to retransmit the sent data instance based on the data reception information A.

[0076] In one possible implementation, the method further includes:

[0077] For any data instance sent to a data subscriber, receive data reception information from the data subscriber. This data reception information indicates the data subscriber's reception status of the data instance sent by the data publisher.

[0078] Based on the data reception information, it is determined whether the data subscriber has received the data instance; if the data subscriber has not received the data instance, the data instance is resent to the data subscriber.

[0079] In conjunction with the foregoing, for example, regarding data instance 2, if the data subscriber's data reception information A is "data instance 1 has been received", then the data publisher can determine that the data subscriber has not received data instance 2, and will resend data instance 2 to the data subscriber. Similarly, if the data reception information A is "data instance 1 and data instance 2 have been received", then the data publisher can determine that the data subscriber has received data instance 2, and will complete the task of transmitting data instance 2 to the data subscriber.

[0080] Understandably, in conjunction with the foregoing, data publishers can use a feedback mechanism to inform data subscribers of the transmitted data instance information. Data subscribers, based on this information and the received data instance details, determine the received data instance. For example, when a data publisher transmits data instance 1 to a data subscriber, it will notify the subscriber that "data instance 1 is available" via a message feedback mechanism. The subscriber, based on the received information "data instance 1 is available" and the received data instance, determines the data reception information. If the received data instances include data instance 1, the subscriber determines the reception status as "data instance 1 received" and sends data instance 1 to the Data Reader via the Reader Delegate. Then, the Data Reader executes the callback function corresponding to the subscribing application to determine the subscribing application corresponding to the publishing application. Finally, the Data Reader's read function sends the data instance to each subscribing application corresponding to the publishing application, thus sending data instance 1 to each subscribing application corresponding to the publishing application.

[0081] This application provides a data instance transmission method that improves the flexibility of APP configuration by decoupling the DDS system from the APP and running them on different cores. Simultaneously, proxy components are set up for data subscribers and data publishers of the DDS system, enabling unified data transmission and reception across multiple APPs. This reduces additional resource consumption while allowing multiple APPs to use the same DDS system. Furthermore, after receiving a data instance, the data subscriber executes the callback function corresponding to the subscribed application through Data Reader to determine the corresponding subscribed application for the publishing application. Then, the data instance is sent to the subscribed application through the DataReader's read function to achieve accurate data instance transmission.

[0082] Figure 5 A schematic diagram of the structure of a data instance transmission device provided in this application Figure 1 ,like Figure 5 As shown, a data publisher is applied in the DDS system. The DDS system also deploys at least one data subscriber. The application includes a subscription application and a publishing application. The DDS system and the application run on different cores. The data publisher includes a first receiving unit, a first proxy component, and a first sending unit. The data instance transmission device 500 provided in this embodiment includes:

[0083] The receiving module 501 is used to receive at least one data instance sent by a publishing application through the first receiving unit;

[0084] The first processing module 502 is used to write at least one data instance into the data publishing queue through the first proxy component;

[0085] The transmission module 503 is used to read data instances from the data publishing queue through the first sending unit and send the read data instances to at least one data subscriber, so that each data subscriber sends the data instances to the subscription application corresponding to the publishing application.

[0086] In one possible implementation, the first processing module 502 is further configured to:

[0087] For any data instance sent to a data subscriber, receive data reception information from the data subscriber. This data reception information indicates the data subscriber's reception status of the data instance sent by the data publisher.

[0088] Based on the data reception information, it is determined whether the data subscriber has received the data instance; if the data subscriber has not received the data instance, the data instance is resent to the data subscriber.

[0089] The data instance transmission device provided in this embodiment can execute the method provided in the above method embodiment. Its implementation principle and technical effect are similar, and will not be described in detail here.

[0090] Figure 6 A schematic diagram of the structure of a data instance transmission device provided in this application Figure 2 ,like Figure 6 As shown, the DDS system is applied to any data subscriber. The DDS system also deploys at least one data publisher. The application includes a subscription application and a publishing application. The DDS system and the application run on different cores. The data subscriber includes a second receiving unit, a second proxy component, and a second sending unit. The data instance transmission device 600 provided in this embodiment includes:

[0091] Module 601 is used to determine at least one subscription application corresponding to the publishing application;

[0092] The second processing module 602 is used to send data instances to the second sending unit through the second proxy component;

[0093] The sending module 603 is used to send data instances to each subscribing application corresponding to the publishing application through the second sending unit.

[0094] In one possible implementation, the second processing module 602 is further configured to:

[0095] In response to a data transmission message sent by a data publisher, the data transmission message is used to indicate the data instance that the data publisher has sent;

[0096] Based on the data transmission message, the data reception information corresponding to the data instance is determined and sent to the data publisher. The data reception information is used to indicate the data subscriber's reception status of the data instance sent by the data publisher, and the reception status indicates that the data subscriber has received the data instance.

[0097] The data instance transmission device provided in this embodiment can execute the method provided in the above method embodiment. Its implementation principle and technical effect are similar, and will not be described in detail here.

[0098] Figure 7 This is a schematic diagram of the structure of an electronic device provided in this application. Figure 7 As shown, the electronic device 70 provided in this embodiment includes at least one processor 701 and a memory 702. Optionally, the device 70 further includes a communication component 703. The processor 701, memory 702, and communication component 703 are connected via a bus 704.

[0099] In a specific implementation, at least one processor 701 executes computer execution instructions stored in memory 702, causing at least one processor 701 to perform the above-described method.

[0100] The specific implementation process of processor 701 can be found in the above method embodiments, and its implementation principle and technical effect are similar. It will not be repeated here.

[0101] In the above embodiments, it should be understood that the processor can be a Central Processing Unit (CPU), or other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), etc. The general-purpose processor can be a microprocessor or any conventional processor. The steps of the method disclosed in this invention can be directly implemented by a hardware processor, or implemented by a combination of hardware and software modules within the processor.

[0102] The memory may include random access memory (RAM) and may also include non-volatile memory (NVM), such as at least one disk storage device.

[0103] The bus can be an Industry Standard Architecture (ISA) bus, a Peripheral Component Interconnect (PCI) bus, or an Extended Industry Standard Architecture (EISA) bus, etc. Buses can be categorized as address buses, data buses, control buses, etc. For ease of illustration, the buses shown in the accompanying drawings are not limited to a single bus or a single type of bus.

[0104] This application also provides a computer program product, including a computer program that, when executed by a processor, implements the above-described method.

[0105] This application also provides a computer-readable storage medium storing computer-executable instructions, which, when executed by a processor, implement the above-described method.

[0106] The aforementioned readable storage medium 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. The readable storage medium can be any available medium accessible to a general-purpose or special-purpose computer.

[0107] An exemplary readable storage medium is coupled to a processor, enabling the processor to read information from and write information to the readable storage medium. Of course, the readable storage medium can also be a component of the processor. The processor and the readable storage medium can reside in an Application Specific Integrated Circuit (ASIC). Alternatively, the processor and the readable storage medium can exist as discrete components in the device.

[0108] The division of units is merely a logical functional division; in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be indirect coupling or communication connection through some interfaces, devices, or units, and may be electrical, mechanical, or other forms.

[0109] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.

[0110] In addition, the functional units in the various embodiments of the present invention can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit.

[0111] If a function is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this invention, or the part that contributes to the prior art, or a part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods of the various embodiments of this invention. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.

[0112] Those skilled in the art will understand that all or part of the steps of the above-described method embodiments can be implemented by hardware related to program instructions. The aforementioned program can be stored in a computer-readable storage medium. When executed, the program performs the steps of the above-described method embodiments; and the aforementioned storage medium includes various media capable of storing program code, such as ROM, RAM, magnetic disks, or optical disks.

[0113] Finally, it should be noted that other embodiments of the invention will readily occur to those skilled in the art upon consideration of the specification and practice of the invention disclosed herein. This invention is intended to cover any variations, uses, or adaptations of the invention that follow the general principles of the invention and include common knowledge or customary techniques in the art not disclosed herein, and 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 the invention is limited only by the appended claims.

Claims

1. A method for transmitting data instances, characterized in that, A data publisher is applied in a DDS system, wherein the DDS system also deploys at least one data subscriber, the application includes a subscription application and a publishing application, the DDS system and the application run on different cores, the publisher includes a first receiving unit, a first agent component, and a first sending unit, and the method includes: The first receiving unit receives at least one data instance sent by a publishing application; The first proxy component writes at least one data instance into the data publishing queue. The first sending unit reads data instances from the data publishing queue and sends the read data instances to at least one data subscriber, so that each data subscriber sends the data instances to the subscription application corresponding to the publishing application.

2. The method according to claim 1, characterized in that, The method further includes: For any data instance sent to a data subscriber, receive data reception information from the data subscriber, the data reception information being used to indicate the data subscriber's reception status of the data instance sent by the data publisher; Based on the data reception information, it is determined whether the data subscriber has received the data instance; if the data subscriber has not received the data instance, the data instance is resent to the data subscriber.

3. A data instance transmission method, characterized in that, The method is applied to any data subscriber in a DDS system, which also deploys at least one data publisher. The application includes a subscription application and a publishing application, with the DDS system and the application running on different cores. The data subscriber includes a second receiving unit, a second agent component, and a second sending unit. The method further includes: Identify at least one subscription application corresponding to the published application; The data instance is sent to the second sending unit via the second proxy component; The data instance is sent to each subscription application corresponding to the publishing application via the second sending unit.

4. The method according to claim 3, characterized in that, The method further includes: In response to a data transmission message sent by a data publisher, the data transmission message being used to indicate a data instance that the data publisher has sent; Based on the data transmission message, the data reception information of the data instance is determined, and the data reception information is sent to the data publisher; wherein, the data reception information is used to indicate the data subscriber's reception status of the data instance sent by the data publisher, and the reception status indicates the data instance that the data subscriber has received.

5. A data instance transmission device, characterized in that, A data publisher is used in a DDS system, which also deploys at least one data subscriber. The application includes a subscription application and a publishing application. The DDS system and the application run on different cores. The publisher includes a first receiving unit, a first agent component, and a first sending unit, comprising: A receiving module is configured to receive at least one data instance sent by a publishing application through the first receiving unit; The first processing module is used to write at least one data instance into the data publishing queue through the first proxy component; The transmission module is used to read data instances from the data publishing queue through the first sending unit and send the read data instances to at least one data subscriber, so that each data subscriber sends the data instances to the subscription application corresponding to the publishing application.

6. A data instance transmission device, characterized in that, The application is applied to any data subscriber in the DDS system, which also deploys at least one data publisher. The application includes a subscription application and a publishing application, with the DDS system and the application running on different cores. The subscriber includes a second receiving unit, a second agent component, and a second sending unit, and further includes: The determination module is used to determine at least one subscription application corresponding to the publishing application; The second processing module is used to send the data instance to the second sending unit through the second proxy component; The sending module is used to send the data instance to each subscription application corresponding to the publishing application through the second sending unit.

7. An electronic device, characterized in that, include: Memory, processor; The memory stores computer-executed instructions; The processor executes computer execution instructions stored in the memory, causing the processor to perform the method as described in any one of claims 1-4.

8. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer-executable instructions, which, when executed by a processor, are used to implement the method as described in any one of claims 1-4.

9. A computer program product, characterized in that, Includes a computer program that, when executed by a processor, implements the method described in any one of claims 1-4.