Remote procedure calls between entities in a service bus communication system
By introducing a data exchange system into the service bus communication system, selective subscription remote procedure calls (RPC) are implemented, solving the problems of excessive system load and data transmission waste in the prior art, and achieving efficient and secure data transmission and decoupling.
Patent Information
- Application Number
- CN202110974699.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2020-08-24
- Filing Date
- 2021-08-24
- Publication Date
- 2025-10-28
- Estimated Expiration
- 2041-10-28
AI Technical Summary
In distributed computing, the existing Remote Procedure Call (RPC) mechanism cannot achieve selective subscription, resulting in excessive system load and unnecessary waste of data transmission. This is especially true in the automation system of smart grids, where the consumer and provider ends cannot be decoupled and need to know each other's identities.
By introducing a data exchange system into the service bus communication system, selective subscription remote procedure calls (RPC) are implemented. The consumer does not directly address the provider, but requests data from multiple publishers through the data exchange system and receives responses. The data exchange system is responsible for data relay and publication, ensuring that the consumer only obtains the data it needs.
This reduces system load, avoids the transmission of unsolicited data, lowers initialization load, improves system flexibility and security, decouples the consumer and provider sides, and reduces the number of connections.
Smart Images

Figure CN114090278B_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to remote procedure calls between entities in a service bus communication system, and more particularly to methods for remote procedure calls (RPCs) between entities in a service bus communication system and a corresponding service bus communication system. More specifically, this disclosure relates to RPCs for initializing selective subscriptions between entities in a service bus communication system and a corresponding service bus communication system. Background Technology
[0002] In distributed computing, Remote Procedure Call (RPC) refers to a computer program requesting services from another program on a different computer located on the same network, without needing to know the details of the network itself. In other words, in RPC, the computer program / requesting end causes the process to run in a different address space (e.g., a different entity similar to another computer on a shared network). Figure 1 A schematic diagram of this type of RPC is shown. This type of process call is sometimes also called a function call or subroutine call. In such an RPC scenario, the requesting service must know the intent of the function and the service provider.
[0003] The commonly used subscription pattern is based on publish / subscribe. Publish / subscribe is a messaging pattern in which the sender of a message (called the publisher) does not program messages intended for direct delivery to a specific receiver (called the subscriber). Similarly, a subscriber represents an interest in one or more classes and only receives messages of interest, unaware of which publishers exist (if any). The advantage of this messaging pattern is that the publisher and subscriber are unaware of each other, and both only operate on the data. The disadvantage is that all data is always sent to the data space because the data provider does not know which data the consumer needs or does not need, and therefore it must publish all data. Furthermore, the subscriber cannot customize the data distribution pattern, such as request splitting, data transmission on change, circular transmission, providing current values, data merging, etc.
[0004] Furthermore, some domains use mechanisms that are closer to selective subscription. For example, Open Platform Communications (OPC) Data Access (DA) client / server data subscription is one of the most well-known examples of this subscription method.
[0005] Figure 2This illustrates an OPC pattern that offers selective subscription. This OPC pattern is a messaging pattern where subscribers first invoke the publisher (or central broker) to exchange signals about the data they need and the data distribution pattern to be used. A major drawback is that subscribers need to know the publisher and the data the publisher can provide in order to set up selective subscription channels, or that only a single entity (e.g., a broker) handles this. However, brokers may not be trustworthy. The main advantage is that only the necessary data is published, reducing system load, and subscribers can customize the data distribution pattern, such as transmitting as data changes, cyclic transmission, providing current values, data merging, etc.
[0006] In automation systems such as smart grids, intelligent electronic devices (IEDs) constitute the basic components of the automation system for sensing, measuring, protecting, and controlling. However, those skilled in the art will understand that automation systems are not limited to smart grids, and the components of automation systems are not limited to IEDs. The components of an automation system are part of a service bus system and communicate with each other via the service bus. One standard in this field is IEC 61850, and intelligent electronic devices communicate with each other according to this standard. For distributed computing in such automation systems, each component (e.g., an intelligent electronic device) can act as both a data requester / consumer and a response / publisher providing said data. In this disclosure, the terms "responder" and "consumer" are used interchangeably. Furthermore, the terms "responder" and "publisher" are used interchangeably.
[0007] In automated systems, there may be a scenario where the parties involved in a remote procedure call must be unaware of each other and are completely decoupled. In other words, there may be a requirement that the consumer / requesting end does not know who is publishing / delivering the requested data, and this information should not be known by any other party (e.g., a proxy). Summary of the Invention
[0008] This disclosure is particularly intended to provide solutions to the above-mentioned requirements. This disclosure is defined by the independent claims. Dependent claims relate to preferred embodiments.
[0009] This disclosure relates to a method for remote procedure call (RPC) between entities in a service bus communication system. The service bus communication system includes a first consumer, a data exchange system, and a plurality of publishers. The method includes: sending a first data request from the first consumer to the data exchange system, the first request including at least one first data sub-request; transmitting the first request from the data exchange system to the plurality of publishers; receiving a first response to the first data request from the first publisher among the plurality of publishers by the data exchange system, the first response including a response to at least one first sub-request; and transmitting the first response from the data exchange system to the first consumer. Specifically, this method can be used with RPC to initialize selective subscriptions between entities in the service bus communication system. More specifically, RPC can be used to initialize selective subscriptions to continuously use data updates or to initialize only data updates once. However, those skilled in the art will understand that the RPC of this disclosure is not limited to this purpose. The RPC of this disclosure can be used in different scenarios when the requesting end causes the process to run in different address spaces.
[0010] Various embodiments can preferably achieve the following features:
[0011] Preferably, the method is implemented by a computer.
[0012] Preferably, the data exchange system is provided by a distributed communication middleware within the service bus communication system.
[0013] Preferably, the middleware is distributed across several layers of the service bus communication system.
[0014] Preferably, the data exchange system includes a data space provided by a distributed communication middleware.
[0015] Preferably, the first request includes a plurality of first sub-requests.
[0016] Preferably, the first response includes a response to the corresponding first sub-request.
[0017] Preferably, the first response includes a response to the first group of first sub-requests among a plurality of first sub-requests.
[0018] Preferably, the method further includes: receiving a second response to the first data request from a second publisher among a plurality of publishers by the data exchange system, the second response including a response to a second group of first sub-requests among a plurality of first sub-requests; and transmitting the second response from the data exchange system to a first consumer.
[0019] Preferably, the first group of first sub-requests and the second group of first sub-requests in the plurality of first sub-requests cover all the plurality of first sub-requests. Preferably, the first group of first sub-requests and the second group of first sub-requests do not overlap.
[0020] Preferably, if no response to the request is received or an incomplete response is received after a certain period of time, the first consumer repeats the request or at least one of the multiple sub-requests.
[0021] Preferably, the service bus communication system includes a second consumer terminal.
[0022] Preferably, the method further includes: sending a second data request from a second consumer to a data exchange system, the second request including at least one second data sub-request; transmitting the second request from the data exchange system to a plurality of publishing ends; receiving a first response to the second data request from a first publishing end by the data exchange system, the first response including a response to at least one second sub-request; and transmitting the first response from the data exchange system to the second consumer.
[0023] Preferably, the second request includes a plurality of second sub-requests.
[0024] Preferably, the first response to the second request includes a response to the corresponding second sub-request.
[0025] Preferably, the first response to the second request includes a response to a first group of second sub-requests among a plurality of second sub-requests. Preferably, the method further includes: receiving a second response to the second data request from a second publisher among a plurality of publishers by a data exchange system, the second response to the second data request including a response to a second group of second sub-requests among a plurality of second sub-requests; and transmitting the second response from the data exchange system to a second consumer.
[0026] Preferably, the first group of second sub-requests and the second group of second sub-requests in the plurality of second sub-requests cover all the plurality of first sub-requests. Preferably, the first part and the second part do not overlap.
[0027] Preferably, if no response to the request is received or an incomplete response is received after a certain period of time, the second consumer repeats the request or at least one of the multiple sub-requests.
[0028] This disclosure also relates to a method for selective subscription between entities in a service bus communication system. The method includes the aforementioned method for Remote Procedure Call (RPC) between entities in a service bus communication system according to any of the preferred embodiments described above, and: at least one of a plurality of publishers publishes data to a data exchange system based on a received data request; the data exchange system notifies at least one consumer that the requested data according to the data request from the at least one consumer is available; and the notified at least one consumer subscribes to the requested data.
[0029] This disclosure also relates to a service bus communication system, including a first consumer, a data exchange system, and a plurality of publishers. The first consumer is configured to send a first data request to the data exchange system, the first request including at least one first data sub-request; the data exchange system is configured to transmit the first request to the plurality of publishers; the data exchange system is configured to receive a first response to the first data request from the first publisher among the plurality of publishers, the first response including a response to at least one first sub-request; and the data exchange system is configured to transmit the first response to the first consumer.
[0030] Various embodiments can preferably achieve the following features:
[0031] Preferably, the data exchange system is provided by a distributed communication middleware within the service bus communication system. Preferably, the data exchange system includes a data space provided by the distributed communication middleware.
[0032] Preferably, the first request includes a plurality of first sub-requests.
[0033] Preferably, the first response includes a response to the corresponding first sub-request.
[0034] Preferably, the first response includes a response to a first group of first sub-requests among a plurality of first sub-requests. Preferably, the data exchange system is configured to receive a second response to the first data request from a second publisher among a plurality of publishers, the second response including a response to a second group of first sub-requests among a plurality of first sub-requests, and the data exchange system is configured to transmit the second response to a first consumer.
[0035] Preferably, the first group of first sub-requests and the second group of first sub-requests in the plurality of first sub-requests cover all the plurality of first sub-requests. Preferably, the first group of first sub-requests and the second group of first sub-requests do not overlap.
[0036] Preferably, if no response to the request is received or an incomplete response is received after a certain period of time, the first consumer repeats the request or at least one of the multiple sub-requests.
[0037] Preferably, the service bus communication system includes a second consumer terminal.
[0038] Preferably, the second consumer is configured to send a second data request to the data exchange system, the second request including at least one second data sub-request; the data exchange system is configured to transmit the second request to a plurality of publishing ends; the data exchange system is configured to receive a first response to the second data request from the first publishing end, the first response including a response to at least one second sub-request; and the data exchange system is configured to transmit the first response to the second consumer.
[0039] Preferably, the second request includes a plurality of second sub-requests.
[0040] Preferably, the first response to the second request includes a response to the corresponding second sub-request.
[0041] Preferably, the first response to the second request includes a response to a first group of second sub-requests among a plurality of second sub-requests. Preferably, the data exchange system is configured to receive a second response to the second data request from a second publisher among a plurality of publishers, the second response to the second data request including a response to a second group of second sub-requests among a plurality of second sub-requests, and the data exchange system is configured to transmit the second response to a second consumer.
[0042] Preferably, the first group of second sub-requests and the second group of second sub-requests in the plurality of second sub-requests cover all the plurality of first sub-requests. Preferably, the first part and the second part do not overlap.
[0043] Preferably, if no response to the request is received or an incomplete response is received after a certain period of time, the second consumer will repeat the request or at least one of the multiple sub-requests.
[0044] According to this disclosure, the subscriber does not need to know the publisher, and the system load is only as high as required, without publishing unrequested data. Furthermore, the publisher can be switched at runtime without notifying the subscriber, resulting in high redundancy. Additionally, this disclosure generates less initialization load due to the need for fewer RPC calls. Moreover, by providing the consumer with the exact requests in the connection, only the number of connections needs to be reduced on the subscriber side.
[0045] Through topic-based RPC requests as described in this disclosure, the subscriber / consumer requests data and a specific data distribution pattern. However, the RPC request does not directly address the service provider; instead, it addresses the data space.
[0046] The server capable of providing the requested data will begin publishing this data in the data space, and the subscribing client that initiated the session will use this data. Thus, the communication between the requesting and providing clients remains a mutually uninformed end-to-end exchange.
[0047] Compared to known publish / subscribe and selective subscription methods, this also offers the following advantages:
[0048] - The subscriber does not need to know about the publisher.
[0049] The system load is only as high as needed; no unrequested data will be published.
[0050] - At runtime, publishers can be swapped (and may be redundant) without notifying subscribers.
[0051] - Less initialization load (requires fewer RPC calls).
[0052] - By providing the exact requests made by the consumer in the connection, the number of connections on the subscriber side is reduced. Attached Figure Description
[0053] Various exemplary embodiments of this disclosure are described in detail below with reference to the figures. The figures are provided for illustrative purposes only and only describe exemplary embodiments of this disclosure to help the reader understand it.
[0054] Therefore, the accompanying drawings should not be considered as limiting the breadth, scope, or applicability of this disclosure.
[0055] It should be noted that these figures are not necessarily drawn to scale for clarity and ease of explanation.
[0056] Figure 1 An example of a schematic diagram of an RPC process according to the prior art is shown.
[0057] Figure 2 An example of a schematic diagram illustrating an RPC process and subsequent selective subscription based on existing technology is shown.
[0058] Figure 3a An example of a schematic diagram of an RPC process according to this disclosure is shown.
[0059] Figure 3b It shows in Figure 3a The illustrated RPC process is followed by an example of a schematic diagram of selective subscription according to this disclosure.
[0060] Figure 4a An example of a schematic diagram of an RPC process according to this disclosure is shown.
[0061] Figure 4b It shows in Figure 4a The illustrated RPC process is followed by an example of a schematic diagram of selective subscription according to this disclosure.
[0062] Figure 5a An example of a schematic diagram of an RPC process according to this disclosure is shown.
[0063] Figure 5b It shows in Figure 5a The illustrated RPC process is followed by an example of a schematic diagram of selective subscription according to this disclosure.
[0064] Figure 6a An example of a schematic diagram of an RPC process according to this disclosure is shown.
[0065] Figure 6b It shows in Figure 6a The illustrated RPC process is followed by an example of a schematic diagram of selective subscription according to this disclosure. Detailed Implementation
[0066] Figure 3a An example of a schematic diagram of an RPC process according to this disclosure is shown. The RPC process is executed in a service bus communication system 100, which includes a first consumer 200, a data exchange system 300, and a plurality of publishers 400 and 500.
[0067] In the first step, the first consumer terminal 200 sends a first data request I to the data exchange system 300, which is middleware provided by the service bus system according to this embodiment. The first request I includes a first data sub-request II.
[0068] The data exchange system 300 receives a first request I from the first consumer 200 and transmits it to the first publisher 400 and the second publisher 500. It must be emphasized that, at the latest at this stage, the first request I transmitted to publishers 400 and 500 must not contain any pointers to its source. In other words, the first consumer 200 sends a first data request I without any information about its source (i.e., the first consumer 200), or the data exchange system 300 removes such information before transmitting the first request I to publishers 400 and 500 (e.g., by removing any headers or control information).
[0069] According to this embodiment, only the first publishing end 400 is sending a response AI to the first request I to the data exchange system 300. The first response AI includes a response AI-I to the first sub-request II. Upon receiving the first response AI, the data exchange system 300 transmits the first response AI to the first consumer end 200. As mentioned above, it must be emphasized that the first response AI must not contain any pointers about its origin. Therefore, the first publishing end 400 sends a response AI to the data exchange system 300 that does not contain information about its origin (i.e., the first publisher 400), or the data exchange system 300 removes such information before transmitting the first response AI to the first consumer end 200 (e.g., by removing any headers or control information).
[0070] Figure 3b It shows in Figure 3aThe illustrated RPC process is an example of a selective subscription diagram according to this disclosure. The RPC process is used for selective subscription. However, those skilled in the art will understand that the RPC of this disclosure is not limited to this purpose. The RPC of this disclosure can be used in different scenarios when the requesting end causes the process to run in different address spaces. After the first consumer 200 receives the first response AI from the data exchange system 300, the first publisher publishes the data PAI requested in the first request I to the data exchange system 300. The data exchange system 300 notifies the first consumer 200 that the requested data is available, and the first consumer 200 performs a first subscription SAI for the requested data PAI.
[0071] Figure 4a An example of a schematic diagram of an RPC process according to this disclosure is shown. Figure 3a The difference in the embodiment shown is that the first request I includes multiple first sub-requests (according to this embodiment, three sub-requests II, I-II, and I-III). The first consumer 200 sends the first data request I to the data exchange system 300.
[0072] The data exchange system 300 receives a first request I from the first consumer 200 and transmits it to the first publisher 400 and the second publisher 500. For example, in... Figure 3a In the illustrated embodiment, the first consumer 200 sends a first data request I that does not contain any information about its origin, or the data exchange system 300 removes the information before transmitting the first request I to the publishers 400 and 500.
[0073] According to this embodiment, only the first publishing end 400 is sending a response AI to the first request I to the data exchange system 300. The first response AI includes corresponding responses AI-I, AI-II, and AI-II to all first sub-requests II, I-II, and I-III. In other words, the first response AI includes response AI-I to the first sub-request II, response AI-II to the first sub-request I-II, and response AI-III to the first sub-request I-III. After receiving the first response AI, the data exchange system 300 transmits the first response AI to the first consumer end 200. As described above, the first publishing end 400 sends a response AI to the data exchange system 300 that does not contain information about its source (i.e., the first publishing end 400), or the data exchange system 300 removes this information before transmitting the first response AI to the first consumer end 200.
[0074] Figure 4b It shows in Figure 4aThe illustrated RPC process follows an example of a selective subscription diagram according to this disclosure. After the first consumer 200 receives the first response AI from the data exchange system 300, the first publisher 400 publishes the data PAI requested in the first request I to the data exchange system 300. The data PAI includes datasets PAI-I, PAI-II, and PAI-III corresponding to the corresponding sub-requests II, I-II, and I-III. The data exchange system 300 notifies the first consumer 200 that the requested data is available, and the first consumer 200 performs a first subscription SAI on the requested data PAI. The first subscription SAI includes multiple sub-subscriptions SAI-I, SAI-II, and SAI-III corresponding to datasets PAI-I, PAI-II, and PAI-III.
[0075] Figure 5a An example of a schematic diagram of an RPC process according to this disclosure is shown. Figure 4a The difference in the illustrated embodiment is that both the first publishing end 400 and the second publishing end 500 send responses to the first request I. The response AI of the first publishing end 400 includes a response AI-I to the corresponding first sub-request II, and the response BI of the second publishing end 500 includes responses BI-II and BI-III to the corresponding other first sub-requests I-II and I-III. The data exchange system 300 sends the responses AI and BI to the first consumer end 200. Those skilled in the art will understand that the requests and responses according to this example must also not contain any pointers to their source, and therefore, as in... Figure 3a and Figure 4a Process as described in the example shown. This also applies to requests and responses to and from the second publisher 500.
[0076] Figure 5b It shows in Figure 5aThe illustrated RPC process follows an example of a selective subscription diagram according to this disclosure. After the first consumer 200 receives the first response AI and BI from the data exchange system 300, the first publisher 400 publishes data PAI to the data exchange system 300, containing the dataset PAI-I requested in sub-request II of the first consumer 200. Similarly, the second publisher 500 publishes data PBI to the data exchange system 300, containing the datasets PBI-II and PBI-III requested in sub-requests I-II and I-III of the first consumer 200. The data exchange system 300 notifies the first consumer 200 that the requested data is available, and the first consumer 200 performs a first subscription SAI with sub-subscription SAI-I for the requested data PAI and the corresponding dataset PAI-I, and a second subscription SBI with sub-subscriptions SBI-II and SBI-III for the requested data PBI and the corresponding datasets PBI-II and PBI-III.
[0077] Figure 6a An example of a schematic diagram of an RPC process according to this disclosure is shown. Figure 5a The difference in the illustrated embodiment is that the service bus system 100 includes another consumer 200a. Those skilled in the art will understand that this disclosure is not limited to two consumers, and that it generally covers multiple consumers.
[0078] Requests from the first consumer 200 and responses to requests from the first consumer 200 and Figure 4a The same applies to the illustrated embodiment. The second consumer 200a transmits a second data request II to the data exchange system 300. The second request II according to this example includes, but is not limited to, multiple sub-requests II-I, II-II, and II-III, and a single sub-request is also possible. Furthermore, it should be understood that the example of three sub-requests II-I, II-II, and II-III does not limit this disclosure.
[0079] The data exchange system transmits a second request II to multiple publishing ends 400 and 500. The second request II of the second consumer end 200a is processed in the same way as the first request I of the first consumer end 200, that is, the second consumer end 200 sends a second data request II without any information about its source (i.e., the second consumer end 200a), or the data exchange system 300 removes such information before transmitting the second request II to the publishing ends 400 and 500 (e.g., by removing any headers or control information).
[0080] The response AII from the first publishing end 400 to the data exchange system 300 includes responses AII-I and AII-III to the corresponding second sub-requests II-I and II-III. The response BII from the second publishing end 500 to the data exchange system 300 includes a response BII-II to the corresponding sub-request II-II. The data exchange system 300 transmits responses AII and BII to the first consumer end 200. Those skilled in the art will understand that the requests and responses according to this example must not contain any pointers to their source, and are therefore processed as described above in the examples of this disclosure. This also applies to requests and responses to the second consumer end 200a, as well as requests and responses from the second consumer end 200a.
[0081] According to this disclosure, at least a portion of the first sub-requests II, I-II, and I-III of the first consumer terminal 200 may be identical to at least a portion of the second sub-requests II-I, II-II, and II-III of the second consumer terminal 200a. For example, sub-request I-II of the first consumer terminal 200 may be identical to sub-request II-III of the second consumer terminal 200a.
[0082] Figure 6b It shows in Figure 6aThe illustrated RPC process follows an example of a selective subscription diagram according to this disclosure. After the first consumer 200 receives a response BI and a first response AI from the data exchange system 300, and the second consumer 200a receives a response BII and a first response AII from the data exchange system 300, the first publisher 400 publishes data PAI to the data exchange system 300 containing the dataset PAI-I requested in sub-request II of the first consumer 200, and publishes data PAII to the data exchange system 300 containing the datasets PAI-I and PAI-III requested in sub-requests II-I and II-III of the second consumer 200a. Similarly, the second publisher 500 publishes data PBI to the data exchange system 300 containing the datasets PBI-II and PBI-III requested in sub-requests I-II and I-III of the first consumer 200, and publishes data PBII to the data exchange system 300 containing the dataset PBII-II requested in sub-request II-II of the second consumer 200a. The data exchange system 300 notifies the first consumer 200 and the second consumer 200a that the requested data is available. The first consumer 200 performs a first subscription SAI with sub-subscription SAI-I on the requested data PAI and the corresponding dataset PAI-I, and performs a second subscription SBI with sub-subscriptions SBI-II and SBI-III on the requested data PBI and the corresponding datasets PBI-II and PBI-III. The second consumer 200a performs a first subscription SAII with sub-subscriptions SAII-I and SAII-II on the requested data PAII and the corresponding datasets PAII-I and PAII-III, and performs a second subscription SBII with sub-subscription SBII-II on the requested data PBII and the corresponding dataset PBII-II.
[0083] While this disclosure has been detailed and described in the accompanying drawings and foregoing description, such descriptions should be considered illustrative or exemplary rather than restrictive. It should be understood that changes and modifications made by those skilled in the art are within the scope of the following claims. Specifically, this disclosure covers further embodiments having any combination of features from the different embodiments described above.
[0084] Furthermore, in the claims, the word "comprising" does not exclude other elements or steps, and the indefinite articles "a" or "an" do not exclude a plural. A single unit can perform the function of several features recited in the claims. Terms related to attributes or values, such as "basically," "probably," and "about," specifically and precisely define the attribute or value, respectively. Any reference numerals in the claims should not be construed as limiting the scope.
Claims
1. A method for remote procedure call (RPC) between entities in a service bus communication system (100), the service bus communication system (100) including a first consumer (200), a data exchange system (300), and multiple publishers (400, 500), the method comprising: A first data request (I) is sent from the first consumer (200) to the data exchange system (300), the first data request (I) including a plurality of first sub-requests (II, I-II, I-III); The first data request (I) is transmitted from the data exchange system (300) to the plurality of publishing terminals (400, 500). The data exchange system (300) receives a first response (AI) to the first data request (I) from the first publishing terminal (400) among the plurality of publishing terminals (400, 500), the first response (AI) including a response (AI-I) to the first group of first sub-requests (II) among the plurality of first sub-requests. The data exchange system (300) receives a second response (BI) to the first data request (I) from a second publishing terminal (500) among the plurality of publishing terminals (400, 500), the second response (BI) including responses (BI-II, BI-III) to a second group of first sub-requests (I-II, I-III) among the plurality of first sub-requests; and The first response (AI) and the second response (BI) are transmitted from the data exchange system (300) to the first consumer (200).
2. The method according to claim 1, wherein: The first consumer (200) sends a first data request (I) without any information about the source of the first data request (I), or the data exchange system (300) removes information about the source of the first data request (I) and then transmits a first data request (I) without any information about the source of the first data request; and The first publishing terminal (400) sends a first reply (AI) without any information about the source of the first reply (AI), or the data exchange system (300) removes information about the source of the first reply (AI) and then transmits a first reply (AI) without any information about the source of the first reply.
3. The method according to claim 1, wherein, The data exchange system (300) is provided by a distributed communication middleware within the service bus communication system (100), and the data exchange system (300) includes a data space provided by the distributed communication middleware.
4. The method according to claim 1 or 2, wherein, The first data request (I) includes a plurality of first sub-requests (II, I-II, I-III), and wherein the first response (AI) includes responses (AI-I, AI-II, AI-III) to the corresponding first sub-requests (II, I-II, I-III).
5. The method according to claim 1 or 2, wherein, The service bus communication system (100) includes a second consumer (200a), and the method further includes: A second data request (II) is sent from the second consumer (200a) to the data exchange system (300), the second data request (II) including at least one second data sub-request (II-I); The second data request (II) is transmitted from the data exchange system (300) to the plurality of publishing terminals (400, 500); The data exchange system (300) receives a first response (AII) to the second data request (II) from the first publishing end (400), the first response (AII) including a response (AII-I) to the at least one second sub-request (II-I); The first reply (AII) is transmitted from the data exchange system (300) to the second consumer (200a).
6. The method according to claim 5, wherein, The second data request (II) includes a plurality of second sub-requests (II-I, II-II, II-III), and wherein a first response (AII) to the second data request (II) includes responses (AII-I, AII-II, AII-III) to the corresponding second sub-requests (II-I, II-II, II-III).
7. The method according to claim 5, wherein, The second data request (II) includes a plurality of second sub-requests (II-I, II-II, I-III), and wherein a first response (AII) to the second data request (II) includes a response (AII-I, AII-III) to a first group of second sub-requests (II-I, II-III) among the plurality of second sub-requests, the method further comprising: The data exchange system (300) receives a second response (BII) to the second data request (II) from a second publishing terminal (500) among the plurality of publishing terminals (400, 500). The second response (BII) to the second data request (II) includes a response (BII-II) to a second group of second sub-requests (II-II) among the plurality of second sub-requests; and The second response (BII) is transmitted from the data exchange system (300) to the second consumer (200a).
8. A service bus communication system (100), comprising a first consumer (200), a data exchange system (300), and multiple publishers (400, 500), wherein: The first consumer (200) is configured to send a first data request (I) to the data exchange system (300), the first data request (I) including a plurality of first sub-requests (II, I-II, I-III); The data exchange system (300) is configured to transmit the first data request (I) to multiple publishing terminals (400, 500); The data exchange system (300) is configured to receive a first response (AI) to the first data request (I) from a first publisher (400) among the plurality of publishers (400, 500), the first response (AI) including a response (AI-I) to a first group of first sub-requests (II) among the plurality of first sub-requests. The data exchange system (300) is configured to receive a second response (BI) to the first data request (I) from a second publisher (500) among the plurality of publishers (400, 500), the second response (BI) comprising responses (BI-II, BI-III) to a second group of first sub-requests (I-II, I-III) among the plurality of first sub-requests; and The data exchange system (300) is configured to transmit the first response (AI) and the second response (BI) to the first consumer (200).
9. The service bus communication system (100) according to claim 8, wherein: The first consumer (200) sends a first data request (I) without any information about the source of the first data request (I), or the data exchange system (300) removes information about the source of the first data request (I) and then transmits a first data request (I) without any information about the source of the first data request; and The first publishing terminal (400) sends a first reply (AI) without any information about the source of the first reply (AI), or the data exchange system (300) removes information about the source of the first reply (AI) and then transmits a first reply (AI) without any information about the source of the first reply.
10. The service bus communication system (100) according to claim 8 or 9, wherein, The data exchange system (300) is provided by a distributed communication middleware within the service bus communication system (100), and the data exchange system (300) includes a data space provided by the distributed communication middleware.
11. The service bus communication system (100) according to claim 8 or 9, wherein, The first data request (I) includes a plurality of first sub-requests (II, I-II, I-III), and wherein the first response (AI) includes responses (AI-I, AI-II, AI-III) to the corresponding first sub-requests (II, I-II, I-III).
12. The service bus communication system (100) according to claim 8 or 9, wherein, The service bus communication system (100) includes a second consumer (200a), and in, The second consumer (200a) is configured to send a second data request (II) to the data exchange system (300), the second data request (II) including at least one second data sub-request (II-I); The data exchange system (300) is configured to transmit the second data request (II) to the plurality of publishing terminals (400, 500); The data exchange system (300) is configured to receive a first response (AII) to the second data request (II) from the first publishing end (400), the first response (AII) including a response (AII-I) to the at least one second sub-request (II-I). The data exchange system (300) is configured to transmit the first reply (AII) to the second consumer (200a).
13. The service bus communication system (100) according to claim 12, wherein, The second data request (II) includes a plurality of second sub-requests (II-I, II-II, II-III), and wherein a first response (AII) to the second data request (II) includes responses (AII-I, AII-II, AII-III) to the corresponding second sub-requests (II-I, II-II, II-III).
14. The service bus communication system (100) according to claim 12, wherein, The second data request (II) includes a plurality of second sub-requests (II-I, II-II, I-III), and wherein a first response (AII) to the second data request (II) includes responses (AII-I, AII-III) to a first group of second sub-requests (II-I, II-III) among the plurality of second sub-requests, and in, The data exchange system (300) is configured to receive a second response (BII) to the second data request (II) from a second publisher (500) among the plurality of publishers (400, 500), the second response (BII) to the second data request (II) including responses (BII-II) to a second group of second sub-requests (II-II) among the plurality of second sub-requests, and The data exchange system (300) is configured to transmit the second response (BII) to the second consumer (200a).
15. A method for selective subscription between entities in a service bus communication system (100), comprising the method for Remote Procedure Call (RPC) according to any one of claims 1 to 7, and the following steps: At least one of the plurality of publishing terminals (400, 500) publishes data to the data exchange system (300) according to the received data request; The data exchange system (300) notifies at least one consumer (200, 200a) that the data requested according to the data request of the at least one consumer (200, 200a) is available; and The requested data is subscribed to by at least one consumer (200, 200a) that has been notified.
Citation Information
Patent Citations
Wide area information transmission system based on scheduling data network
CN106027665A