Inter-core communication method, message middleware, electronic equipment and storage medium

The method maintains real-time mapping tables to facilitate seamless inter-core communication in multi-core systems by directly using migrated middleware, addressing the disruption and reconfiguration issues in existing technologies.

CN119166382APending Publication Date: 2024-12-20KYLAND TECH CO LTD
View PDF 0 Cites 1 Cited by

Patent Information

Application Number
CN202411129668.6
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-08-16
Publication Date
2024-12-20

AI Technical Summary

Technical Problem

In multi-core processor systems, migrating applications between cores disrupts inter-core communication, requiring reconfiguration of message middleware, which consumes resources and time.

Method used

A method for inter-core communication using message middleware that maintains real-time mapping tables to directly utilize migrated middleware without additional configuration, enabling seamless communication by identifying publisher and subscriber cores through shared memory and interrupt instructions.

Benefits of technology

Enables direct use of migrated middleware for inter-core communication without additional setup, ensuring correct message delivery and maintaining publish/subscribe connections across core migrations.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119166382A_ABST
    Figure CN119166382A_ABST
Patent Text Reader

Abstract

The invention relates to an inter-core communication method, message middleware, electronic equipment and a storage medium, the method is applied to first message middleware, and the method comprises the following steps: obtaining a publisher ID of a publisher in response to a to-be-published message sent by the publisher; searching in a first mapping relation table according to the publisher ID to obtain a first core number; sending the to-be-published message to a target storage area corresponding to the first core number in the shared memory; obtaining a subscriber ID of a subscriber who subscribes to the publisher; searching in a second mapping relation table according to the subscriber ID to obtain a second core number; and sending an inter-core interrupt instruction to a core corresponding to the second core number to notify a subscriber running on the core corresponding to the second core number to obtain the to-be-published message from the target storage area in the shared memory. According to the technical scheme provided by the invention, after the application program is subjected to inter-core migration, the inter-core communication can be directly carried out by using the message middleware migrated along with the application program without additional configuration.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of computer software technology, and in particular to a method for inter-core communication, message middleware, electronic equipment and storage medium. Background Art

[0002] In a multi-core processor system, different cores need to communicate with each other, so as to share and exchange application messages between the cores and ensure the state consistency of the entire multi-core processor system. In the prior art, message middleware can be deployed in a multi-core processor system to achieve inter-core communication.

[0003] In a possible actual scenario, the application and message middleware on one core are migrated to another new core. At this time, the original inter-core communication is disconnected and messages cannot be sent correctly. At this time, if you want to continue the original inter-core communication on the new core through the message middleware that was migrated with the application, you need to reconfigure the message middleware.

[0004] After the application is migrated between cores, reconfiguring the message middleware will consume certain application resources and take up a certain amount of configuration time, which is inconvenient. Summary of the invention

[0005] The present application provides a method for inter-core communication, message middleware, electronic device and storage medium. After an application is migrated between cores, the message middleware that is migrated with the application can be directly used for inter-core communication without any additional configuration.

[0006] In a first aspect, the present application provides a method for inter-core communication, the method being applied to a first message middleware, the first message middleware running in a publish / subscribe mode, the first message middleware being a message middleware run by a publisher, the method comprising:

[0007] In response to the to-be-published message sent by the publisher, obtaining the publisher ID of the publisher;

[0008] Searching in the first mapping table according to the publisher ID to obtain the first core number; wherein the first mapping table is used to record the real-time mapping relationship between the publisher ID and the first core number, and the core number of the core currently running by the publisher is the first core number;

[0009] Sending the message to be published to a target storage area corresponding to the first core number in the shared memory;

[0010] Get the subscriber ID of the subscriber subscribing to the publisher;

[0011] Searching in the second mapping relationship table according to the subscriber ID to obtain the second core number; wherein the second mapping relationship table is used to record the real-time mapping relationship between the subscriber ID and the second core number, and the core number of the core currently running by the subscriber is the second core number;

[0012] An inter-core interrupt instruction is sent to the core corresponding to the second core number to notify the subscriber running on the core corresponding to the second core number to obtain the message to be published from the target storage area in the shared memory.

[0013] In a feasible embodiment of the present application, before searching in the first mapping relationship table according to the publisher ID to obtain the first core number, the method further includes:

[0014] Maintaining the first mapping relationship table;

[0015] Wherein, maintaining the first mapping relationship table includes:

[0016] Get the publisher ID and the core number of the core currently running by the publisher;

[0017] Search in the first mapping relationship table to determine whether the publisher ID exists;

[0018] If the publisher ID does not exist, add the publisher ID and the core number of the core currently running by the publisher in a blank row at the end of any table of the first mapping relationship table;

[0019] In the case that the publisher ID exists, the core number of the row corresponding to the publisher ID in the first mapping relationship table is modified according to the core number of the core currently running by the publisher.

[0020] In a feasible embodiment of the present application, obtaining a subscriber ID of a subscriber who subscribes to the publisher includes:

[0021] The subscriber ID is searched in a registration relationship table, wherein the registration relationship table is used to record the subscriber ID of the subscriber who subscribes to the publisher.

[0022] In a feasible embodiment of the present application, before obtaining the subscriber ID of the subscriber who subscribes to the publisher, the method further includes:

[0023] Maintaining the registration relationship table;

[0024] Wherein, maintaining the registration relationship table includes:

[0025] In response to a subscription request, obtaining the subscriber ID from the subscription request; wherein the subscription request is sent by the subscriber who subscribes to the publisher;

[0026] The registration relationship table is maintained according to the subscriber ID.

[0027] In a feasible embodiment of the present application, after maintaining the registration relationship table, the method further includes:

[0028] In response to the subscription request, obtaining the message subject of the message to be published from the subscription request;

[0029] The message subject is added to the corresponding row of the publisher ID in the first mapping relationship table.

[0030] In a second aspect, the present application provides a method for inter-core communication, the method being applied to a second message middleware, the second message middleware running in a publish / subscribe mode, the second message middleware being a message middleware run by a subscriber, the method comprising:

[0031] Obtaining the publisher ID of the publisher to be subscribed, searching in a first mapping relationship table according to the publisher ID of the publisher to be subscribed, and determining the first core number corresponding to the publisher ID; wherein the first mapping relationship table is used to record the real-time mapping relationship between the publisher ID and the first core number, and the first core number is the core number of the core currently running by the publisher;

[0032] Sending a subscription request to the core corresponding to the first core number to subscribe to the publisher;

[0033] In response to an inter-core interrupt instruction, a message to be published is obtained from a target storage area in a shared memory; wherein the inter-core interrupt instruction is sent by the publisher, and the message to be published is published by the publisher.

[0034] In a feasible embodiment of the present application, before subscribing to the publisher, the method further includes:

[0035] Maintaining a second mapping relationship table; wherein the second mapping relationship table is used to record a real-time mapping relationship between the subscriber ID and the second core number, the second core number being the core number of the core currently running by the subscriber;

[0036] Wherein, maintaining the second mapping relationship table includes:

[0037] Get the subscriber ID and the core number of the core currently running by the subscriber;

[0038] Search in the second mapping relationship table to determine whether the subscriber ID exists;

[0039] In the case where the subscriber ID does not exist, adding the subscriber ID and the core number of the core currently running by the subscriber in a blank row at the end of any table of the second mapping relationship table;

[0040] In the case where the subscriber ID exists, the core number of the row corresponding to the subscriber ID in the second mapping relationship table is modified according to the core number of the core currently running by the subscriber.

[0041] In a feasible embodiment of the present application, after sending a subscription request to the core corresponding to the first core number to subscribe to the publisher, the method further includes:

[0042] In response to the subscription request, obtaining a message subject of the message to be published from the subscription request;

[0043] Add the message subject to the row corresponding to the subscriber ID in the second mapping relationship table.

[0044] In a third aspect, the present application provides a message middleware, the message middleware comprising:

[0045] A first acquisition module, configured to acquire a publisher ID of the publisher in response to a message to be published sent by the publisher;

[0046] A second acquisition module is used to search in a first mapping relationship table according to the publisher ID to acquire a first core number; wherein the first mapping relationship table is used to record a real-time mapping relationship between the publisher ID and the first core number, and the core number of the core currently running by the publisher is the first core number;

[0047] A first sending module, used for sending the message to be published to a target storage area corresponding to the first core number in the shared memory;

[0048] A third acquisition module is used to obtain a subscriber ID of a subscriber who subscribes to the publisher;

[0049] A fourth acquisition module is used to search in the second mapping relationship table according to the subscriber ID to obtain the second core number; wherein the second mapping relationship table is used to record the real-time mapping relationship between the subscriber ID and the second core number, and the core number of the core currently running by the subscriber is the second core number;

[0050] A second sending module is used to send an inter-core interrupt instruction to the core corresponding to the second core number, so as to notify the subscriber running on the core corresponding to the second core number to obtain the message to be published from the target storage area in the shared memory;

[0051] and / or,

[0052] A search module, used to obtain the publisher ID of the publisher to be subscribed, and search in the first mapping relationship table according to the publisher ID of the publisher to be subscribed to determine the first core number corresponding to the publisher ID; wherein the first mapping relationship table is used to record the real-time mapping relationship between the publisher ID and the first core number, and the first core number is the core number of the core currently running by the publisher;

[0053] A third sending module, used to send a subscription request to the core corresponding to the first core number to subscribe to the publisher;

[0054] The fifth acquisition module is used to obtain the message to be published from the target storage area in the shared memory in response to the inter-core interrupt instruction; wherein the inter-core interrupt instruction is sent by the publisher, and the message to be published is published by the publisher.

[0055] In a fourth aspect, the present application provides an electronic device comprising: at least one communication interface; at least one bus connected to the at least one communication interface; at least one processor connected to the at least one bus; and at least one memory connected to the at least one bus, wherein the processor is configured to execute a method of inter-core communication as described in any one of the first aspect or any one of the second aspect of the present application.

[0056] In a fifth aspect, the present application also provides a computer storage medium storing computer executable instructions, wherein the computer executable instructions are used to execute a method of inter-core communication described in any one of the first aspect or any one of the second aspect of the present application.

[0057] The above technical solution provided by the embodiment of the present application has the following advantages compared with the prior art:

[0058] Through the technical solution provided by the present application, when a message to be published is published, the first message middleware will store the message to be published in the target storage area in the shared memory based on the first mapping relationship table, and the target storage area is identified by the first core number; determine the subscriber ID of the subscriber who subscribes to the publisher; query the second core number corresponding to the subscriber ID based on the second mapping relationship table, and notify the subscriber running on the core corresponding to the second core number through the inter-core interrupt instruction to obtain the message to be published from the target storage area, thereby completing the inter-core communication.

[0059] It is understandable that, since the first mapping table records the real-time mapping relationship between the publisher ID and the first core number, and the second mapping table records the real-time mapping relationship between the subscriber ID and the second core number, even if the application migrates between cores, the first message middleware can store the message to be published in the correct target storage area, and can correctly notify the corresponding subscriber to obtain the message to be published from the target storage area. Through the technical solution provided by the present application, after the application migrates between cores, it is possible to directly use the message middleware that comes with the application migration for inter-core communication without any other additional configuration, which is relatively simple. BRIEF DESCRIPTION OF THE DRAWINGS

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

[0061] In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, for ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative labor.

[0062] One or more embodiments are exemplarily described by pictures in the corresponding drawings, and these exemplified descriptions do not constitute limitations on the embodiments. Elements with the same reference numerals in the drawings represent similar elements, and unless otherwise stated, the figures in the drawings do not constitute proportional limitations.

[0063] Figure 1 A diagram of an implementation scenario of a method for inter-core communication provided in an embodiment of the present application;

[0064] Figure 2 A flowchart of an inter-core communication method provided in an embodiment of the present application when applied to a first message middleware;

[0065] Figure 3 A flow chart of an inter-core communication method provided in an embodiment of the present application when applied to a second message middleware;

[0066] Figure 4 A method for inter-core communication provided in an embodiment of the present application is a schematic diagram of data flow between cores when a publisher is connected to multiple subscribers;

[0067] Figure 5 A schematic diagram of data flow between cores in a method for inter-core communication provided by an embodiment of the present application when multiple publishers are connected to one subscriber;

[0068] Figure 6 A schematic diagram of the structure of a message middleware provided in an embodiment of the present application;

[0069] Figure 7 A schematic diagram of the structure of an electronic device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0070] In order to make the purpose, technical solution and advantages of the embodiments of the present application clearer, the technical solution in the embodiments of the present application will be clearly and completely described below in conjunction with the drawings in the embodiments of the present application. Obviously, the described embodiments are part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without making creative work are within the scope of protection of this application.

[0071] The disclosure below provides many different embodiments or examples to implement different structures of the present invention. In order to simplify the disclosure of the present invention, the parts and settings of specific examples are described below. Of course, they are only examples, and the purpose is not to limit the present invention. In addition, the present invention can repeat reference numbers and / or letters in different examples. This repetition is for the purpose of simplification and clarity, and does not itself indicate the relationship between the various embodiments and / or settings discussed.

[0072] Figure 1 This is an implementation scenario diagram of a method for inter-core communication provided in an embodiment of the present application, referring to Figure 1 , a method for inter-core communication provided in this application can be applied to a multi-core processor system.

[0073] A multi-core processor system includes multiple cores, and each core communicates with the other core based on message middleware to implement message exchange between applications running on the cores.

[0074] On any core, there is a message middleware and an application running, and the message middleware runs in publish / subscribe mode. When the application registers as a publisher with the message middleware, the corresponding message middleware on the core is the first message middleware, and when the application registers as a subscriber with the message middleware, the corresponding message middleware on the core is the second message middleware.

[0075] In the multi-core processor system, a shared memory is provided. Any core in the multi-core processor system can access the shared memory through the message middleware to perform add, delete, read and write operations on the data stored in the shared memory.

[0076] A method for inter-core communication provided in the present application is applied to a message middleware, which may be a first message middleware or a second message middleware. Through the technical solution provided in the present application, after an application is migrated between cores, the message middleware migrated along with the application can be directly used for inter-core communication without any additional configuration.

[0077] Figure 2 A flow chart of a method for inter-core communication provided in an embodiment of the present application when applied to a first message middleware, referring to Figure 2 The present application provides a method for inter-core communication, which specifically includes the following steps:

[0078] S21: In response to the to-be-published message sent by the publisher, obtain the publisher ID of the publisher;

[0079] S22: searching in the first mapping table according to the publisher ID to obtain the first core number; wherein the first mapping table is used to record the real-time mapping relationship between the publisher ID and the first core number, and the core number of the core currently running by the publisher is the first core number;

[0080] S23: Send the message to be published to the target storage area corresponding to the first core number in the shared memory;

[0081] S24: Get the subscriber ID of the subscriber who subscribes to the publisher

[0082] S25: searching in the second mapping table according to the subscriber ID to obtain the second core number; wherein the second mapping table is used to record the real-time mapping relationship between the subscriber ID and the second core number, and the core number of the core currently running by the subscriber is the second core number;

[0083] S26: Send an inter-core interrupt instruction to the core corresponding to the second core number to notify the subscriber running on the core corresponding to the second core number to obtain the to-be-published message from the target storage area in the shared memory.

[0084] Specifically, in step S21, when the application participates in communication, the application calls the API (Application Programming Interface) of the message middleware and sends an identity creation request to the message middleware. The message middleware responds to the identity creation request, creates an identity for the application in the publish / subscribe mode, and identifies the identity of the application in the publish / subscribe mode through the identity identifier.

[0085] When the message middleware creates an application as a publisher in the publish / subscribe mode, the message middleware is the first message middleware. When the application is a publisher, the identity identifier created by the application in the publish / subscribe mode is the publisher ID, which is used to uniquely identify the publisher.

[0086] Specifically, in step S22, after obtaining the publisher ID, the first message middleware searches the first mapping relationship table according to the publisher ID to obtain the first core number corresponding to the publisher ID.

[0087] The first mapping relationship table is maintained by the first message middleware. The first mapping relationship table is stored in the shared memory. The message middleware running on any core in the multi-core processor system can access the first mapping relationship table in the shared memory.

[0088] The first mapping relationship table is used to record the real-time mapping relationship between the publisher ID and the first core number. Specifically, the publisher ID and the first core number are recorded in one row of the first mapping relationship table, and there is a corresponding relationship between the publisher ID and the first core number in the same row.

[0089] Specifically, in step S23, the first message middleware determines the first core number through the first mapping relationship table. Since the first message middleware is currently running in the publish / subscribe mode, the publisher only publishes the message to be published during communication and does not care where the message to be published is published. In order to achieve inter-core communication, the first message middleware temporarily stores the message to be published in the shared memory. At the same time, in order to enable the subscribers who subscribe to the publisher to accurately obtain the message to be published, the first message middleware stores the message to be published in the target storage area corresponding to the first core number in the shared memory.

[0090] In the shared memory, multiple storage areas are set, and any storage area is identified by a core number. The storage area identified by a specific core number only stores the to-be-published messages published by the publisher running on the core corresponding to the specific core number.

[0091] Specifically, in step S24, the first message middleware obtains the subscriber ID of the subscriber who subscribes to the publisher.

[0092] Specifically, in step S25, after obtaining the subscriber ID, the first message middleware searches the second mapping relationship table according to the subscriber ID to obtain the second core number corresponding to the subscriber ID.

[0093] The second mapping relationship table is maintained by the second message middleware, and the second mapping relationship table is stored in the shared memory. The message middleware running on any core in the multi-core processor system can access the second mapping relationship table in the shared memory.

[0094] The second mapping relationship table is used to record the real-time mapping relationship between the subscriber ID and the second core number. Specifically, the subscriber ID and the second core number are recorded in one row of the second mapping relationship table respectively, and there is a corresponding relationship between the subscriber ID and the second core number in the same row.

[0095] Specifically, in step S26, the current first message middleware determines the second core number of the core on which the subscriber is currently running. At this time, the first message middleware sends an inter-core interrupt instruction to the core corresponding to the second core number, notifying the subscriber on the core corresponding to the second core number to obtain the message to be published from the target storage area through the second message middleware, thereby completing the inter-core communication.

[0096] In order to enable the first mapping relationship table to reflect the real-time mapping relationship between the publisher ID and the first core number, even after the application is migrated between cores, the first message middleware can find the correct first core number based on the first mapping relationship table. In a feasible embodiment of the present application, the first mapping relationship table can be maintained when the application initiates an identity creation request to the first message middleware.

[0097] In this embodiment, before searching in the first mapping table according to the publisher ID to obtain the first core number, the method further includes:

[0098] Maintaining a first mapping relationship table;

[0099] Wherein, maintaining the first mapping relationship table includes:

[0100] Get the publisher ID and the core number of the core currently running on the publisher;

[0101] Search in the first mapping relationship table to determine whether the publisher ID exists;

[0102] If the publisher ID does not exist, add the publisher ID and the core number of the core currently running by the publisher in a blank row at the end of any table of the first mapping relationship table;

[0103] When the publisher ID exists, the core number of the row corresponding to the publisher ID in the first mapping relationship table is modified according to the core number of the core currently running by the publisher.

[0104] Specifically, whether the application is running for the first time or running again after sending an inter-core migration, the application needs to first create an identity in the message middleware and be assigned an identity by the message middleware before it can participate in communication.

[0105] Therefore, the message middleware can maintain the first mapping relationship table in response to the identity creation request. For the first message middleware, the application is created as a publisher on the first message middleware, and the first message middleware maintains the first mapping relationship table when the application is created as a publisher.

[0106] The first message middleware obtains the publisher ID of the publisher, and searches the first mapping relationship table based on the publisher ID.

[0107] When the publisher ID does not exist, the application registers its identity in the publish / subscribe mode on the message middleware for the first time. If the current application's identity is the publisher and the publisher ID of the publisher is not included in the first mapping relationship table, the publisher ID field is added to the blank line at the end of the first mapping relationship table, and the core number of the core currently running by the publisher is added to the blank line at the end of the table, so that a mapping relationship is formed between the core number of the core currently running by the publisher and the publisher ID.

[0108] In the case of the existence of the publisher ID, this is not the first time that the application registers its identity in the publish / subscribe mode on the message middleware. The current identity of the application is the publisher, and the first mapping relationship table contains the publisher ID of the publisher. Then, the corresponding row of the publisher ID in the first mapping relationship table is modified, and the original core number is modified to the core number of the core currently running by the publisher, so that a mapping relationship is formed between the core number of the core currently running by the publisher and the publisher ID.

[0109] For example, the application originally runs on core Core0 with identity A0. At this time, a field [Core0, A0] is added to a row in the first mapping table (that is, the application registers its identity in the publish / subscribe mode on the message middleware for the first time); subsequently, the application is migrated to core Core1, and the application registers again with identity A0. After searching the first mapping table, it is found that a row already contains a field containing identity A0. The message middleware running on core Core1 then modifies the row, changing the original [Core0, A0] in the row to [Core1, A0] (that is, this is not the first time the application registers its identity in the publish / subscribe mode on the message middleware).

[0110] In a feasible embodiment of the present application, in step S24, obtaining a subscriber ID of a subscriber who subscribes to a publisher includes:

[0111] The subscriber ID is searched in the registration relationship table, wherein the registration relationship table is used to record the subscriber ID of the subscriber who subscribes to the publisher.

[0112] Specifically, the registration relationship table is also stored in the shared memory, and the registration relationship table is maintained by the first message middleware. For a multi-core processor system with multiple publishers, there are multiple registration relationship tables, and any registration relationship table only records the subscriber ID of the subscriber of its corresponding publisher, and is only maintained by the first message middleware of the corresponding publisher. In a feasible embodiment of the present application, the registration relationship table can be uniquely identified by the publisher ID.

[0113] The registration relationship table is used to record the subscriber IDs of all subscribers who subscribe to the publisher. Specifically, the subscriber ID is recorded in one row in the first mapping relationship table. By searching the registration relationship table corresponding to the publisher, the subscriber ID of the subscriber currently subscribing to the publisher can be determined.

[0114] In a feasible embodiment of the present application, before obtaining the subscriber ID of the subscriber who subscribes to the publisher, the method further includes:

[0115] Maintaining the registration relationship table;

[0116] Among them, the registration relationship table is maintained, including:

[0117] In response to a subscription request, obtaining a subscriber ID from the subscription request; wherein the subscription request is sent by a subscriber who subscribes to a publisher;

[0118] Maintain a registration relationship table based on the subscriber ID.

[0119] Specifically, the registration relationship table is maintained by the first message middleware, and the first message middleware maintains the registration relationship table in response to a subscription request. The subscription request is sent by a subscriber who subscribes to the publisher, and the subscription request contains the subscriber ID of the subscriber who sent the subscription request. After receiving the subscription request, the first message middleware adds the subscriber ID contained in the subscription request to the corresponding registration relationship table.

[0120] In a feasible embodiment of the present application, the following may also be included:

[0121] In response to the subscription request, obtaining a message topic of the message to be published from the subscription request;

[0122] The message subject is added to the row corresponding to the subscriber ID in the first mapping relationship table.

[0123] Through the technical solution provided by the above embodiments of the present application, when a message to be published is published, the first message middleware will store the message to be published in the target storage area in the shared memory based on the first mapping relationship table, and the target storage area is identified by the first core number; determine the subscriber ID of the subscriber who subscribes to the publisher; query the second core number corresponding to the subscriber ID based on the second mapping relationship table, and notify the subscriber running on the core corresponding to the second core number through the inter-core interrupt instruction to obtain the message to be published from the target storage area to complete the inter-core communication.

[0124] It is understandable that, since the first mapping table records the real-time mapping relationship between the publisher ID and the first core number, and the second mapping table records the real-time mapping relationship between the subscriber ID and the second core number, even if the application migrates between cores, the first message middleware can store the message to be published in the correct target storage area, and can correctly notify the corresponding subscriber to obtain the message to be published from the target storage area. Through the technical solution provided by the present application, after the application migrates between cores, it is possible to directly use the message middleware that comes with the application migration for inter-core communication without any other additional configuration, which is relatively simple.

[0125] Figure 3 A flow chart of a method for inter-core communication provided in an embodiment of the present application when applied to a second message middleware, referring to Figure 3 The present application provides a method for inter-core communication, which specifically includes the following steps:

[0126] S31: Obtain the publisher ID of the publisher to be subscribed, search in the first mapping relationship table according to the publisher ID of the publisher to be subscribed, and determine the first core number corresponding to the publisher ID; wherein the first mapping relationship table is used to record the real-time mapping relationship between the publisher ID and the first core number, and the first core number is the core number of the core currently running by the publisher;

[0127] S32: Send a subscription request to the core corresponding to the first core number to subscribe to the publisher;

[0128] S33: In response to the inter-core interrupt instruction, obtain the message to be published from the target storage area in the shared memory; wherein the inter-core interrupt instruction is sent by the publisher, and the message to be published is published by the publisher.

[0129] Specifically, in step S31, when the application participates in communication, the application calls the API of the message middleware and sends an identity creation request to the message middleware. The message middleware responds to the identity creation request, creates an identity for the application in the publish / subscribe mode, and identifies the identity of the application in the publish / subscribe mode through the identity identifier.

[0130] When the message middleware creates an application as a subscriber in the publish / subscribe mode, the message middleware is the second message middleware. When the application is a subscriber, the identity identifier created by the application in the publish / subscribe mode is the subscriber ID, which is used to uniquely identify the subscriber.

[0131] When a subscriber participates in communication, it needs to subscribe to the publisher first. The application initiates a communication request, and the second message middleware determines the publisher ID of the publisher to be subscribed by the subscriber, and searches in the first mapping relationship table to determine the first core number corresponding to the publisher ID.

[0132] Specifically, in step S32, the second message middleware sends a subscription request to the core indicated by the first core number based on the first core number, and subscribes to the publisher running on the core indicated by the first core number.

[0133] Specifically, in step S33, after the publisher stores the message to be published in the target storage area, it determines the second core number corresponding to the subscriber ID of the subscriber based on the second mapping relationship table, and sends an inter-core interrupt instruction to the core indicated by the second core number. After receiving the inter-core interrupt instruction, the second message middleware obtains the message to be published from the target storage area in the shared memory to realize inter-core communication.

[0134] The publisher needs to determine the core on which the subscriber is currently running based on the second mapping table. In order to enable the publisher to send inter-core interrupt instructions to the second message middleware running on the correct core, in a feasible embodiment of the present application, the second message middleware needs to maintain the second mapping table in a timely manner so that the second mapping table can describe the mapping relationship between the subscriber ID and the second core number in real time.

[0135] In this embodiment, before subscribing to the publisher, the method further includes:

[0136] Maintaining a second mapping relationship table; wherein the second mapping relationship table is used to record a real-time mapping relationship between a subscriber ID and a second core number, where the second core number is the core number of the core currently running by the subscriber;

[0137] Wherein, maintaining the second mapping relationship table includes:

[0138] Get the subscriber ID and the core number of the core currently running on the subscriber;

[0139] Search in the second mapping relationship table to determine whether the subscriber ID exists;

[0140] If the subscriber ID does not exist, add the subscriber ID and the core number of the core currently running by the subscriber in a blank row at the end of any table of the second mapping relationship table;

[0141] When the subscriber ID exists, the core number of the row corresponding to the subscriber ID in the second mapping relationship table is modified according to the core number of the core currently running by the subscriber.

[0142] In this embodiment, the maintenance process of the second mapping relationship table by the second message middleware is similar to the maintenance process of the first mapping relationship table by the first message middleware in the above embodiment, and will not be described in detail here.

[0143] In a feasible embodiment of the present application, after sending a subscription request to the core corresponding to the first core number and subscribing to the publisher, the method further includes:

[0144] In response to the subscription request, obtaining a message topic of the message to be published from the subscription request;

[0145] The message subject is added to the row corresponding to the subscriber ID in the second mapping relationship table.

[0146] Based on the description of each of the above embodiments, the first mapping relationship table includes three fields: publisher ID, core number, and subject, and the second mapping relationship table includes three fields: subscriber ID, core number, and subject. There is only one first mapping relationship table, which is maintained by the first message middleware, and there is only one second mapping relationship table, which is maintained by the second message middleware.

[0147] Through all the above-mentioned method embodiments of the present application, the message middleware is separated from the binding with the core number through the mapping relationship table, and is only related to the identity of the application in the publish / subscribe mode. After the application migrates between cores, it is only necessary to determine the core that is currently processing the message based on the mapping relationship table maintained in advance by the core. As a result, the application can use the message middleware to send messages normally and maintain the original publish / subscribe connection. Through the technical solution provided by the present application, after the application migrates between cores, no other additional configuration is required, and the message middleware that migrates with the application can be directly used for inter-core communication.

[0148] The method for inter-core communication provided by the present application can be implemented as follows: Figure 4 As shown, refer to Figure 4 In combination with the above method embodiments, the present application provides a method for inter-core communication in which a publisher is connected to multiple subscribers, and its specific implementation process is as follows:

[0149] S401: The application on the core Core0 calls the API of the message middleware and creates an identity as a publisher, and the publisher ID is A0;

[0150] S402: The first message middleware on the core Core0 maintains the first mapping relationship table and adds a field [Core0, A0];

[0151] S403: The application on the core Core1 calls the API of the message middleware and creates a subscriber with the identity of B1;

[0152] S404: The second message middleware on the core Core1 maintains the second mapping relationship table and adds a field [Core1, B1];

[0153] S405: The application on the core Core2 calls the API of the message middleware and creates a subscriber with the identity of B2.

[0154] S406: The second message middleware on the core Core2 maintains the second mapping relationship table and adds a field [Core2, B2];

[0155] S407: The subscriber with the subscriber ID B1 sends a CONNECT connection command to register with the publisher with the publisher ID A0, and the subscriber with the subscriber ID B1 subscribes to the red topic;

[0156] S408: The second message middleware on the core Core1 maintains the second mapping relationship table and adds a field [Core1, B1, red];

[0157] S409: The subscriber with the subscriber ID B2 sends a CONNECT command to register with the publisher with the publisher ID A0, and the subscriber with the subscriber ID B2 subscribes to the blue topic;

[0158] S410: The second message middleware on the core Core2 maintains the second mapping relationship table and adds a field [Core2, B2, blue];

[0159] S411: The first message middleware on the core Core0 maintains its own subscription relationship table and adds fields [B1, B2];

[0160] S412: The first message middleware on the publisher with publisher ID A0 stores the message to be published in the storage area corresponding to Core0 in the shared memory; the first message middleware on the publisher with publisher ID A0 notifies core Core1 to receive the message based on the field [Core1, B1, red]; the first message middleware on the publisher with publisher ID A0 notifies core Core2 to receive the message based on the field [Core2, B2, blue]; cores Core1 and Core2 obtain the message to be published from the storage area corresponding to Core0 in the shared memory.

[0161] S413: The application in core Core1 is migrated to core Core3;

[0162] S414: The application on the core Core3 calls the API of the message middleware and creates a subscriber identity. The subscriber ID is still B1.

[0163] S415: The second message middleware on the core Core3 maintains the second mapping relationship table and modifies the field [Core1, B1, red] to [Core3, B1, red];

[0164] S416: The first message middleware on the publisher with publisher ID A0 notifies the core Core3 to receive the message based on the field [Core3, B1, red] in the second mapping relationship table.

[0165] The method for inter-core communication provided by the present application can be implemented as follows: Figure 5 As shown, refer to Figure 5 In combination with the above method embodiments, the present application provides a method for inter-core communication in which multiple publishers are connected to one subscriber, and its specific implementation process is as follows:

[0166] S501: The application on the core Core0 calls the API of the message middleware and creates an identity as a publisher, and the publisher ID is A0;

[0167] S502: The first message middleware on the core Core0 maintains the first mapping relationship table and adds a field [Core0, A0];

[0168] S503: The application on the core Core1 calls the API of the message middleware and creates an identity as a publisher, and the publisher ID is A1;

[0169] S504: The first message middleware on the core Core1 maintains the first mapping relationship table and adds a field [Core1, A1];

[0170] S505: The application on the core Core2 calls the API of the message middleware and creates a subscriber with the identity of B1;

[0171] S506: The second message middleware on the core Core2 maintains the second mapping relationship table and adds a field [Core2, B1];

[0172] S507: The subscriber with the subscriber ID B1 sends a CONNECT command to register with the publisher with the publisher ID A0, and the subscriber with the subscriber ID B1 subscribes to the red topic;

[0173] S508: The subscriber with the subscriber ID B1 sends a CONNECT command to register with the publisher with the publisher ID A1, and the subscriber with the subscriber ID B1 subscribes to the blue topic;

[0174] S509: The first message middleware on the core Core0 maintains the first mapping relationship table and adds a field [Core0, A0, red];

[0175] S510: The first message middleware on the core Core1 maintains the first mapping relationship table and adds a field [Core1, A1, blue];

[0176] S511: The first message middleware on the core Core0 maintains its own subscription relationship table and adds a field [B1]; the first message middleware on the core Core1 maintains its own subscription relationship table and adds a field [B1];

[0177] S512: The first message middleware on the publisher with publisher ID A0 stores the message to be published in the storage area corresponding to Core0 in the shared memory; the first message middleware on the publisher with publisher ID A1 stores the message to be published in the storage area corresponding to Core1 in the shared memory; the first message middleware on the publisher with publisher ID A0 notifies core Core2 to receive the message based on field [B1]; the first message middleware on the publisher with publisher ID A1 notifies core Core2 to receive the message based on field [B1]; core Core2 obtains the message to be published from the storage area corresponding to Core0 and the storage area corresponding to Core1 in the shared memory;

[0178] S513: The application in core Core0 is migrated to core Core3;

[0179] S514: The application on the core Core3 calls the API of the message middleware and creates an identity as a publisher. The publisher ID is still A0.

[0180] S515: The first message middleware on the core Core3 maintains the first mapping relationship table, and modifies the field [Core0, A0, red] to [Core3, A0, red];

[0181] S516: The first message middleware on the publisher with publisher ID A0 stores the message to be published in the storage area corresponding to Core3 in the shared memory; the first message middleware on the publisher with publisher ID A0 notifies core Core2 to receive the message based on field [B1]; core Core2 obtains the message to be published from the storage area corresponding to Core3 in the shared memory.

[0182] Reference Figure 6The present application also provides a message middleware. It can be understood that the message middleware can be the first message middleware or the second message middleware. The message middleware specifically includes:

[0183] The first acquisition module 601 is used to obtain the publisher ID of the publisher in response to the message to be published sent by the publisher;

[0184] The second acquisition module 602 is used to search in the first mapping table according to the publisher ID to obtain the first core number; wherein the first mapping table is used to record the real-time mapping relationship between the publisher ID and the first core number, and the core number of the core currently running by the publisher is the first core number;

[0185] The first sending module 603 is used to send the message to be published to the target storage area corresponding to the first core number in the shared memory;

[0186] The third acquisition module 604 is used to obtain the subscriber ID of the subscriber who subscribes to the publisher;

[0187] The fourth acquisition module 605 is used to search in the second mapping relationship table according to the subscriber ID to obtain the second core number; wherein the second mapping relationship table is used to record the real-time mapping relationship between the subscriber ID and the second core number, and the core number of the core currently running by the subscriber is the second core number;

[0188] The second sending module 606 is used to send an inter-core interrupt instruction to the core corresponding to the second core number, so as to notify the subscriber running on the core corresponding to the second core number to obtain the to-be-published message from the target storage area in the shared memory;

[0189] and / or,

[0190] The search module 607 is used to search in the first mapping relationship table according to the publisher ID of the publisher to be subscribed, and determine the first core number corresponding to the publisher ID; wherein the first mapping relationship table is used to record the real-time mapping relationship between the publisher ID and the first core number, and the first core number is the core number of the core currently running by the publisher;

[0191] The third sending module 608 is used to send a subscription request to the core corresponding to the first core number to subscribe to the publisher;

[0192] The fifth acquisition module 609 is used to obtain the message to be published from the target storage area in the shared memory in response to the inter-core interrupt instruction; wherein the inter-core interrupt instruction is sent by the publisher, and the message to be published is published by the publisher.

[0193] In a feasible embodiment of the present application, the message middleware further includes:

[0194] A first maintenance module, used for maintaining a first mapping relationship table;

[0195] Wherein, the first maintenance module includes:

[0196] A first acquisition unit is used to acquire a publisher ID and a core number of a core currently running by the publisher;

[0197] A first search unit, used to search in the first mapping relationship table to determine whether the publisher ID exists;

[0198] A first maintenance unit is used to add the publisher ID and the core number of the core currently running by the publisher in a blank row at the end of any table of the first mapping relationship table when the publisher ID does not exist;

[0199] The second maintenance unit is used to modify the core number of the row corresponding to the publisher ID in the first mapping relationship table according to the core number of the core currently running by the publisher when the publisher ID exists.

[0200] In a feasible embodiment of the present application, the third acquisition module 604 includes:

[0201] The second search unit is used to search for the subscriber ID in the registration relationship table; wherein the registration relationship table is used to record the subscriber ID of the subscriber who subscribes to the publisher.

[0202] In a feasible embodiment of the present application, the message middleware further includes:

[0203] The second maintenance module is used to maintain the registration relationship table;

[0204] Wherein, the second maintenance module includes:

[0205] A second acquisition unit is used to obtain a subscriber ID from the subscription request in response to the subscription request; wherein the subscription request is sent by a subscriber who subscribes to the publisher;

[0206] The third maintenance unit is used to maintain the registration relationship table according to the subscriber ID.

[0207] In a feasible embodiment of the present application, the message middleware further includes:

[0208] A sixth acquisition module, used to acquire the message subject of the message to be published;

[0209] The first adding module is used to add the message subject to the corresponding row of the publisher ID in the first mapping relationship table.

[0210] In a feasible embodiment of the present application, the message middleware further includes:

[0211] A third maintenance module is used to maintain a second mapping relationship table; wherein the second mapping relationship table is used to record a real-time mapping relationship between a subscriber ID and a second core number, and the second core number is a core number of a core currently running by the subscriber;

[0212] Among them, the third maintenance module includes:

[0213] A third acquisition unit is used to acquire the subscriber ID and the core number of the core currently running by the subscriber;

[0214] A third search unit is used to search in the second mapping relationship table to determine whether the subscriber ID exists;

[0215] A fourth maintenance unit, configured to add the subscriber ID and the core number of the core currently running the subscriber in a blank row at the end of any table of the second mapping relationship table if the subscriber ID does not exist;

[0216] The fifth maintenance unit is used to modify the core number of the row corresponding to the subscriber ID in the second mapping relationship table according to the core number of the core currently running by the subscriber when the subscriber ID exists.

[0217] In a feasible embodiment of the present application, the message middleware further includes:

[0218] The seventh acquisition module is used to obtain the message subject of the message to be published;

[0219] The second adding module is used to add the message subject to the corresponding row of the subscriber ID in the second mapping relationship table.

[0220] like Figure 7 As shown, an embodiment of the present application provides an electronic device, including a processor 701, a communication interface 702, a memory 703 and a communication bus 704, wherein the processor 701, the communication interface 702, and the memory 703 communicate with each other through the communication bus 704.

[0221] Memory 703, used for storing computer programs;

[0222] In one embodiment of the present application, the processor 701 is used to implement a method for inter-core communication provided by any one of the aforementioned method embodiments when executing a program stored in the memory 703, including:

[0223] In response to a to-be-published message sent by a publisher, obtaining a publisher ID of the publisher;

[0224] Search the first mapping table according to the publisher ID to obtain the first core number; wherein the first mapping table is used to record the real-time mapping relationship between the publisher ID and the first core number, and the core number of the core currently running by the publisher is the first core number;

[0225] Send the message to be published to the target storage area corresponding to the first core number in the shared memory;

[0226] Get the subscriber ID of the subscriber who subscribes to the publisher;

[0227] Searching in the second mapping table according to the subscriber ID to obtain the second core number; wherein the second mapping table is used to record the real-time mapping relationship between the subscriber ID and the second core number, and the core number of the core currently running by the subscriber is the second core number;

[0228] An inter-core interrupt instruction is sent to the core corresponding to the second core number to notify the subscriber running on the core corresponding to the second core number to obtain the message to be published from the target storage area in the shared memory.

[0229] and / or include:

[0230] Search in the first mapping table according to the publisher ID of the publisher to be subscribed, and determine the first core number corresponding to the publisher ID; wherein the first mapping table is used to record the real-time mapping relationship between the publisher ID and the first core number, and the first core number is the core number of the core currently running by the publisher;

[0231] Send a subscription request to the core corresponding to the first core number to subscribe to the publisher;

[0232] In response to the inter-core interrupt instruction, the message to be published is obtained from the target storage area in the shared memory; wherein the inter-core interrupt instruction is sent by the publisher, and the message to be published is published by the publisher.

[0233] An embodiment of the present application also provides a computer-readable storage medium having a computer program stored thereon. When the computer program is executed by a processor, the steps of a method for inter-core communication provided in any of the aforementioned method embodiments are implemented.

[0234] The device embodiments described above are merely illustrative, wherein the units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, i.e., they may be located in one place, or may be distributed over multiple network units. Some or all of the modules may be selected according to actual needs to achieve the purpose of the solution of this embodiment.

[0235] Through the description of the above implementation methods, those skilled in the art can clearly understand that each implementation method can be implemented by means of software plus a general hardware platform, and of course, by hardware. Based on this understanding, the above technical solution is essentially or the part that contributes to the relevant technology can be embodied in the form of a software product, and the computer software product can be stored in a computer-readable storage medium, such as ROM / RAM, a disk, an optical disk, etc., including a number of instructions for a computer device (which can be a personal computer, a server, or a network device, etc.) to execute the methods described in each embodiment or some parts of the embodiments.

[0236] It should be understood that the terms used herein are only for the purpose of describing specific example embodiments and are not intended to be limiting. Unless the context clearly indicates otherwise, the singular forms "one", "an" and "said" as used herein may also be meant to include plural forms. The terms "include", "comprise", "contain", and "have" are inclusive, and therefore specify the existence of stated features, steps, operations, elements and / or parts, but do not exclude the existence or addition of one or more other features, steps, operations, elements, parts, and / or combinations thereof. The method steps, processes, and operations described herein are not interpreted as necessarily requiring them to be performed in the specific order described or illustrated, unless the execution order is clearly indicated. It should also be understood that additional or alternative steps may be used.

[0237] The foregoing is merely a specific embodiment of the present invention, which enables those skilled in the art to understand or implement the present invention. Various modifications to these embodiments will be apparent to those skilled in the art, and the general principles defined herein may be implemented in other embodiments without departing from the spirit or scope of the present invention. Therefore, the present invention will not be limited to the embodiments shown herein, but rather to the widest scope consistent with the principles and novel features claimed herein.

Claims

1. A method for inter-core communication, It is characterized in that The method is applied to a first message middleware, the first message middleware runs in a publish / subscribe mode, and the first message middleware is a message middleware run by a publisher. The method includes: In response to the to-be-published message sent by the publisher, obtaining the publisher ID of the publisher; Searching in the first mapping table according to the publisher ID to obtain the first core number; wherein the first mapping table is used to record the real-time mapping relationship between the publisher ID and the first core number, and the core number of the core currently running by the publisher is the first core number; Sending the message to be published to a target storage area corresponding to the first core number in the shared memory; Get the subscriber ID of the subscriber subscribing to the publisher; Searching in the second mapping relationship table according to the subscriber ID to obtain the second core number; wherein the second mapping relationship table is used to record the real-time mapping relationship between the subscriber ID and the second core number, and the core number of the core currently running by the subscriber is the second core number; An inter-core interrupt instruction is sent to the core corresponding to the second core number to notify the subscriber running on the core corresponding to the second core number to obtain the message to be published from the target storage area in the shared memory.

2. The method according to claim 1, It is characterized in that Before searching in the first mapping relationship table according to the publisher ID to obtain the first core number, the method further includes: Maintaining the first mapping relationship table; Wherein, maintaining the first mapping relationship table includes: Get the publisher ID and the core number of the core currently running by the publisher; Search in the first mapping relationship table to determine whether the publisher ID exists; If the publisher ID does not exist, add the publisher ID and the core number of the core currently running by the publisher in a blank row at the end of the first mapping relationship table; In the case that the publisher ID exists, the core number of the row corresponding to the publisher ID in the first mapping relationship table is modified according to the core number of the core currently running by the publisher.

3. The method according to claim 1, It is characterized in that Gets the subscriber ID of the subscriber subscribing to the publisher, including: The subscriber ID is searched in a registration relationship table, wherein the registration relationship table is used to record the subscriber ID of the subscriber who subscribes to the publisher.

4. The method according to claim 3, It is characterized in that Before obtaining the subscriber ID of the subscriber who subscribes to the publisher, the method further includes: Maintaining the registration relationship table; Wherein, maintaining the registration relationship table includes: In response to a subscription request, obtaining the subscriber ID from the subscription request; wherein the subscription request is sent by the subscriber who subscribes to the publisher; The registration relationship table is maintained according to the subscriber ID.

5. The method according to claim 4, It is characterized in that After maintaining the registration relationship table, the method further includes: In response to the subscription request, obtaining a message subject of the message to be published from the subscription request; The message subject is added to the corresponding row of the publisher ID in the first mapping relationship table.

6. A method for inter-core communication, It is characterized in that The method is applied to a second message middleware, the second message middleware runs in a publish / subscribe mode, and the second message middleware is a message middleware run by a subscriber, and the method includes: Obtaining the publisher ID of the publisher to be subscribed, searching in a first mapping relationship table according to the publisher ID of the publisher to be subscribed, and determining the first core number corresponding to the publisher ID; wherein the first mapping relationship table is used to record the real-time mapping relationship between the publisher ID and the first core number, and the first core number is the core number of the core currently running by the publisher; Sending a subscription request to the core corresponding to the first core number to subscribe to the publisher; In response to an inter-core interrupt instruction, a message to be published is obtained from a target storage area in a shared memory; wherein the inter-core interrupt instruction is sent by the publisher, and the message to be published is published by the publisher.

7. The method according to claim 6, It is characterized in that Before subscribing to the publisher, the method further includes: Maintaining a second mapping relationship table; wherein the second mapping relationship table is used to record a real-time mapping relationship between the subscriber ID and the second core number, the second core number being the core number of the core currently running by the subscriber; Wherein, maintaining the second mapping relationship table includes: Get the subscriber ID and the core number of the core currently running by the subscriber; Search in the second mapping relationship table to determine whether the subscriber ID exists; If the subscriber ID does not exist, add the subscriber ID and the core number of the core currently running by the subscriber in a blank row at the end of the second mapping relationship table; In the case where the subscriber ID exists, the core number of the row corresponding to the subscriber ID in the second mapping relationship table is modified according to the core number of the core currently running by the subscriber.

8. The method according to claim 7, It is characterized in that After sending a subscription request to the core corresponding to the first core number to subscribe to the publisher, the method further includes: In response to the subscription request, obtaining a message subject of the message to be published from the subscription request; Add the message subject to the row corresponding to the subscriber ID in the second mapping relationship table.

9. A message middleware, It is characterized in that The message middleware includes: A first acquisition module, configured to acquire a publisher ID of the publisher in response to a message to be published sent by the publisher; A second acquisition module is used to search in a first mapping relationship table according to the publisher ID to acquire a first core number; wherein the first mapping relationship table is used to record a real-time mapping relationship between the publisher ID and the first core number, and the core number of the core currently running by the publisher is the first core number; A first sending module, used for sending the message to be published to a target storage area corresponding to the first core number in the shared memory; A third acquisition module is used to obtain a subscriber ID of a subscriber who subscribes to the publisher; A fourth acquisition module is used to search in the second mapping relationship table according to the subscriber ID to obtain the second core number; wherein the second mapping relationship table is used to record the real-time mapping relationship between the subscriber ID and the second core number, and the core number of the core currently running by the subscriber is the second core number; A second sending module is used to send an inter-core interrupt instruction to the core corresponding to the second core number, so as to notify the subscriber running on the core corresponding to the second core number to obtain the message to be published from the target storage area in the shared memory; and / or, A search module, used to obtain the publisher ID of the publisher to be subscribed, and search in the first mapping relationship table according to the publisher ID of the publisher to be subscribed to determine the first core number corresponding to the publisher ID; wherein the first mapping relationship table is used to record the real-time mapping relationship between the publisher ID and the first core number, and the first core number is the core number of the core currently running by the publisher; A third sending module, used to send a subscription request to the core corresponding to the first core number to subscribe to the publisher; The fifth acquisition module is used to obtain the message to be published from the target storage area in the shared memory in response to the inter-core interrupt instruction; wherein the inter-core interrupt instruction is sent by the publisher, and the message to be published is published by the publisher.

10. An electronic device, It is characterized in that include: at least one communication interface; at least one bus connected to the at least one communication interface; at least one processor coupled to the at least one bus; At least one memory connected to the at least one bus, wherein the processor is configured to implement the method of any one of claims 1-5 or any one of claims 6-8.

11. A computer storage medium, It is characterized in that Computer executable instructions are stored, and the computer executable instructions are used to execute the method according to any one of claims 1 to 5 or any one of claims 6 to 8.

Citation Information

Cited By

  • Communication middleware-oriented communication method and system based on shared memory

    CN120144337A