Internet of Things platform service deployment method and device, electronic equipment and storage medium

By using the call configuration information and deployment information of the service modules in the Internet of Things platform, dynamic conversion and decoupling between service modules is realized, which solves the problem that services cannot be deployed freely, and reduces resource occupancy.

CN120301876APending Publication Date: 2025-07-11HANGZHOU ALICLOUD FEITIAN INFORMATION TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202410035704.6
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-01-09
Publication Date
2025-07-11

AI Technical Summary

Technical Problem

Free combination deployment cannot be achieved between services in the Internet of Things platform, with high coupling and high resource occupancy.

Method used

By determining the second service module to be called based on the call configuration information of the local service module, and injecting service call instructions based on the service module deployment information, supporting dynamic conversion and decoupling between service modules.

Benefits of technology

It realizes free combination deployment between service modules, reduces resource occupancy, and supports dynamic conversion between local calls and remote calls.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120301876A_ABST
    Figure CN120301876A_ABST
Patent Text Reader

Abstract

The invention discloses an Internet of Things platform service deployment method and device, electronic equipment and a storage medium. The method comprises the following steps: based on calling configuration information of a local first service module, determining a second service module required to be called by the first service module; injecting a service calling instruction of the second service module into the first service module based on service module deployment information; the service module deployment information is used for representing the distribution condition of each service module in the Internet of Things platform in each current deployment instance; and receiving a service calling request of the first service module, and controlling the first service module to call the second service module based on the service calling instruction. According to the embodiment of the invention, the technical problems that the services of the Internet of Things platform cannot be freely combined and deployed, the coupling degree between the services is relatively high, and the resource occupancy rate is relatively high in the deployment process of the services can be solved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the technical field of the Internet of Things, and in particular to an Internet of Things platform service deployment method, device, electronic device, and storage medium. Background Art

[0002] The Internet of Things platform usually needs to bear a large number of device connections and up / downlink messages to meet various customized requirements of users; when each service in the Internet of Things platform is deployed, the service invoker can only deterministically integrate one of the local call service or the remote call service, and does not support the dynamic conversion between the local call and the remote call of the service.

[0003] In related technologies, usually by pre-writing the call instruction into the service provider to ensure the service call of the service provider by the service invoker, each service cannot effectively realize the free combination and deployment between services, the coupling degree between services is relatively high, and the resource occupancy rate is relatively high during the service deployment process. Summary of the Invention

[0004] In view of the above problems, the present application provides an Internet of Things platform service deployment method, device, equipment, and storage medium to at least solve the technical problem that the services in the Internet of Things platform in related technologies cannot realize free combination and deployment, the coupling degree between services is relatively high, and the resource occupancy rate is relatively high during the service deployment process.

[0005] According to a first aspect of an embodiment of the present application, there is provided an Internet of Things platform service deployment method, including: determining a second service module required to be called by the first service module based on the call configuration information of the first service module locally; injecting a service call instruction of the second service module into the first service module based on the service module deployment information; the service module deployment information is used to represent the distribution of each service module in the current deployment instances in the Internet of Things platform; receiving a service call request of the first service module, and controlling the first service module to call the second service module based on the service call instruction.

[0006] According to a second aspect of the embodiments of the present application, there is provided an Internet of Things platform service deployment device, which is applied to a first deployment instance in the Internet of Things platform. The device includes: a determination unit configured to determine a second service module required to be called by the first service module based on the call configuration information of the first service module locally; an injection unit configured to inject a service call instruction of the second service module into the first service module based on service module deployment information, where the service module deployment information is used to represent the distribution of each service module in the current deployment instances in the Internet of Things platform; and a control unit configured to, upon receiving a service call request of the first service module, control the first service module to call the second service module based on the service call instruction.

[0007] According to a third aspect of the embodiments of the present application, there is further provided an electronic device, including a memory and a processor. A computer program is stored in the memory, and the processor is configured to execute the Internet of Things platform service deployment method in the first aspect through the computer program.

[0008] According to a fourth aspect of the embodiments of the present application, there is further provided a computer-readable storage medium in which a computer program is stored. The computer program is configured to execute the Internet of Things platform service deployment method in the first aspect when running.

[0009] In the embodiments of the present application, the method of determining a second service module required to be called by the first service module based on the call configuration information of the first service module locally; injecting a service call instruction of the second service module into the first service module based on service module deployment information, where the service module deployment information is used to represent the distribution of each service module in the current deployment instances in the Internet of Things platform; upon receiving a service call request of the first service module, controlling the first service module to call the second service module based on the service call instruction; by injecting the service call instruction of the second service module into the first service module based on the pre-configured service module deployment information, there is no need to write the call instruction into the service provider in advance, which can decouple the service caller and the service provider. Therefore, free combination deployment between service instances can be realized, and dynamic conversion between local call and remote call of services can also be realized. In addition, services that the user does not need can be removed during service deployment, reducing the resource occupancy rate during service deployment. Description of the Drawings

[0010] It will become apparent to those of ordinary skill in the art that various other advantages and benefits through reading the following detailed description of the preferred embodiments. The drawings are only for the purpose of illustrating the preferred embodiments and are not considered to be a limitation of the present application. Moreover, in all the drawings, the same reference numerals are used to represent the same components. In the drawings:

[0011] Figure 1 is a schematic diagram of the application environment of an alternative method for deploying Internet of Things platform services according to an embodiment of the present application;

[0012] Figure 2 is a schematic flowchart of an alternative method for deploying Internet of Things platform services according to an embodiment of the present application;

[0013] Figure 3 is a schematic flowchart of another alternative method for deploying Internet of Things platform services according to an embodiment of the present application;

[0014] Figure 4 is a schematic flowchart of yet another alternative method for deploying Internet of Things platform services according to an embodiment of the present application;

[0015] Figure 5 is a schematic diagram showing an alternative method for deploying Internet of Things platform services according to an embodiment of the present application;

[0016] Figure 6 is a schematic diagram showing another alternative method for deploying Internet of Things platform services according to an embodiment of the present application;

[0017] Figure 7 is a schematic diagram showing another alternative method for deploying Internet of Things platform services according to an embodiment of the present application;

[0018] Figure 8 is a schematic diagram showing yet another alternative method for deploying Internet of Things platform services according to an embodiment of the present application;

[0019] Figure 9 is a schematic diagram of the structure of an Internet of Things platform service deployment device provided by an embodiment of the present application;

[0020] Figure 10 is a schematic diagram of the structure of an electronic device provided by an embodiment of the present application. Detailed Embodiments

[0021] To enable those skilled in the art to better understand the solution of the present invention, the technical solutions in the embodiments of the present application will be clearly and completely described below in conjunction with the accompanying drawings in the embodiments of the present application. Obviously, the described embodiments are only a part of the embodiments of the present invention, rather than all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those of ordinary skill in the art without creative efforts shall fall within the protection scope of the present invention.

[0022] It should be noted that the terms "first", "second", etc. in the description and claims of the present invention and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged under appropriate circumstances so that the embodiments of the present invention described herein can be implemented in an order other than those illustrated or described herein. In addition, the terms "comprising" and "having" and any variations thereof are intended to cover non-exclusive inclusion. For example, a process, method, system, product or device that includes a series of steps or units does not necessarily limit to those clearly listed steps or units, but may include other steps or units not clearly listed or inherent to these processes, methods, products or devices.

[0023] As an alternative implementation, the above-mentioned Internet of Things platform service deployment method can be applied, but is not limited to, an application environment as Figure 1 shown. The application environment may include, but is not limited to: Instance 1 and Instance 2 that interact with users, and Instance 1 and Instance 2 call each other through a network. The above-mentioned network may include, but is not limited to: wired network, wireless network, where the wired network includes: local area network, metropolitan area network and wide area network, and the wireless network includes: Bluetooth, WIFI and other networks that implement wireless communication. The above-mentioned Instance 1 is connected to Device 1 or multiple devices, and Instance 2 is connected to Device 2 or multiple devices. The above-mentioned Device 1 and Device 2 include, but are not limited to, various smart devices, such as smart TVs, smart refrigerators, smart washing machines and other appliances with networking functions. The above-mentioned Instance 1 and Instance 2 can be application programs configured by users on the Internet platform. Instance 1 and Instance 2 can be located in one server or in different servers. The above-mentioned server 112 can be a single server, or a server cluster composed of multiple servers, or a cloud server. The above-mentioned cloud server includes, but is not limited to, a private cloud server or a public cloud server. The above is only an example, and this embodiment does not make any limitation thereto. Instance 1 and Instance 2 can also be located in containers in the cloud server. The above-mentioned Instance 1 includes Service Module A, Service Module B and Service Module C; Instance 2 includes Service Module A, Service Module B, Service Module C and Service Module D.

[0024] In one example, assume that service module A in instance 1 needs to call service module D in instance 2. The specific process is as follows: Service module A executes step S102 and sends a call request to service module D in instance 2. After receiving the call request, service module D executes step S104 and sends a call result to service module A in instance 1. In another example, for instance, a user sends a control instruction in an Internet of Things application to control device 2 through service module B. When this control instruction is received by service module B in instance 1 of the Internet of Things platform, service module B in instance 1 forwards this control instruction to service module B in the target deployment instance (instance 2) included in the addressing call information to send it to device 2.

[0025] In the related art, usually, a call instruction is pre-written into the service provider to ensure the service call of the service caller to the service provider. Each service cannot effectively achieve the free combined deployment between services. The coupling degree between services is relatively high, and the resource occupancy rate is relatively high during the service deployment process.

[0026] To solve the above technical problems, as an optional implementation manner, as Figure 2 shown, the embodiment of the present application provides an Internet of Things platform service deployment method. The method is applied to a first deployment instance in the Internet of Things platform. The method includes the following steps:

[0027] S202, based on the call configuration information of the first service module locally, determine the second service module that the first service module needs to call.

[0028] Specifically, in the embodiment of the present application, as Figure 1 shown, assume that the above first deployment instance is instance 1, and the first service module is service module A; the above call configuration information includes the service identification information of the service caller and the callee and / or an addressing call request, and the addressing call request may carry the address information of the service module to be called. In the present application, based on the call configuration information of service module A in instance 1, it is determined that the second service modules that service module A needs to call are service module C in instance 1 and module D in instance 2.

[0029] S204, inject the service call instruction of the second service module into the first service module based on the service module deployment information; the service module deployment information is used to represent the distribution of each service module in the current deployment instances in the Internet of Things platform.

[0030] Specifically, in the embodiment of the present application, as Figure 1As shown, it is assumed that the current Internet of Things platform includes instance 1 and instance 2; the corresponding service module deployment information in the Internet of Things platform at this time includes: service module A, service module B and service module C are deployed in instance 1, and service module A, service module B, service module C and service module D are deployed in instance 2. According to the service module deployment information, when the second service module that service module A needs to call is service module C in instance 1 and module D in instance 2, the service call instructions of service module C in instance 1 and module D in instance 2 are injected into service module A in instance 1.

[0031] S206: Receive a service calling request from the first service module, and control the first service module to call the second service module based on the service calling instruction.

[0032] Specifically, for example, when service module A in instance 1 initiates a call request, instance 1 receives a service call request for service module A, and controls service module A in instance 1 to call service module C in instance 1 and module D in instance 2 based on the service call instruction.

[0033] In an embodiment of the present application, the second service module to be called by the first service module is determined by using the call configuration information of the first service module based on the local; the service call instruction of the second service module is injected into the first service module based on the service module deployment information; the service module deployment information is used to characterize the distribution of each service module in the current deployment instance in the IoT platform; the method of controlling the first service module to call the second service module based on the service call instruction is received; by injecting the service call instruction of the second service module into the first service module based on the pre-configured service module deployment information, there is no need to write the call instruction to the service provider in advance, and the service caller and the service provider can be decoupled, so that the free combination deployment between each service instance can be realized, and the dynamic conversion between the local call and the remote call of the service can also be realized. In addition, when deploying services, service modules that users do not need can be removed to reduce the resource occupancy rate of the service during the deployment process.

[0034] In one or more embodiments, Figure 3 As shown, the embodiment of the present application also provides a module deployment information method, comprising the following steps:

[0035] S302: Determine a second service module that needs to be called by the first service module based on the calling configuration information of the local first service module.

[0036] S304. Based on the service module deployment information, determine the deployment relationship between the first service module and the second service module, where the deployment relationship is used to represent whether the first service module and the second service module are deployed on the same deployment instance;

[0037] S306. Based on the deployment relationship and the call configuration information, inject the service call instruction of the second service module into the first service module.

[0038] Specifically, in the embodiment of the present application, assume that the first service module is service module A, and the second service modules required to be called by service module A are service module C in instance 1 and module D in instance 2. According to the above-preconfigured service module deployment information, it can be determined that service module C in the second service module and the first service module are deployed on the same deployment instance. It is determined that service module D in the second service module and the first service module are not on the same deployment instance. At this time, according to the above deployment relationship and the call configuration information, the service call instructions including service module C in instance 1 and module D in instance 2 are injected into service module A in instance 1.

[0039] As Figure 1 shown, the corresponding service module deployment information in the Internet of Things platform at this time includes: service module A, service module B, and service module C are deployed in instance 1, and service module A, service module B, service module C, and service module D are deployed in instance 2. According to this service module deployment information, when the second service modules required to be called by service module A are service module C in instance 1 and module D in instance 2, the service call instructions of service module C in instance 1 and module D in instance 2 are injected into service module A in instance 1.

[0040] S308. Receive the service call request of the first service module, and control the first service module to call the second service module based on the service call instruction.

[0041] The above steps S302 and S308 have been clearly described above and will not be elaborated here.

[0042] In one or more embodiments, the determining the deployment relationship between the first service module and the second service module based on the service module deployment information includes:

[0043] Based on the service identifier of the second service module included in the call configuration information, query from the service module deployment information whether the above first deployment instance deploys the second service module;

[0044] If the second service module is deployed in the first deployment instance, determine that the deployment relationship is merged deployment, and the merged deployment is used to represent that the first service module and the second service module are deployed on the same deployment instance;

[0045] If the second service module is not deployed in the first deployment instance, determine that the deployment relationship is split deployment, and the split deployment is used to represent that the first service module and the second service module are deployed on different deployment instances.

[0046] Specifically, in the embodiments of the present application, as shown in FIG. 5, assume that the first service module is service module A in deployment instance X. Query from the service module deployment information corresponding to the IoT platform at this time whether the second service module is deployed in deployment instance X. For example, deployment instance X includes service module B, and determine that the deployment relationship between the first service module (service module A) and the second service module (service module B) is merged deployment.

[0047] As shown in FIG. 6, assume that the first service module is service module A in deployment instance X. It is queried from the service module deployment information that the second service module is not deployed in deployment instance X. At this time, determine that the deployment relationship between service module A and service module B is split deployment.

[0048] In one or more embodiments, the deployment relationship includes merged deployment. Based on the deployment relationship and the call configuration information, injecting a service call instruction of the second service module into the first service module includes:

[0049] Based on the deployment relationship being the merged deployment, check whether the call configuration information includes an addressing call request. The addressing call request carries address information, and the addressing call request is used to request to call a service module in a deployment instance corresponding to the address information in the IoT platform;

[0050] If the call configuration information does not include the addressing call request, inject the service call instruction of the local service of the second service module into the first service module.

[0051] Specifically, as Figure 5 shown, when the deployment relationship between the first service module (service module A) and the second service module (service module B) is merged deployment and the call configuration information does not include an addressing call request, inject the service call instruction of the local service of service module B into service module A. Through the above technical means of directly calling locally in deployment instance X, the data access efficiency can be improved, and the network IO (input / output) overhead of interaction between service modules can be reduced, that is, the network throughput is reduced.

[0052] In one or more embodiments, injecting the service call instruction of the second service module into the first service module based on the deployment relationship and the call configuration information further includes:

[0053] If the deployment relationship is merged deployment and the call configuration information includes the above addressing call request, generate a service call instruction for a dynamic service proxy, where the dynamic service proxy is used to implement local calls and remote calls of the second service module; inject the service call instruction of the dynamic service proxy into the first service module.

[0054] Specifically, in the application embodiment, as Figure 7 shown, the first service module is service module A, and the deployment relationship with the second service module (service module B) is merged deployment. When the addressing call request in the addressing call information includes an addressing call request, the first deployment instance X-1 generates a service call instruction for a dynamic service proxy. The dynamic service proxy can implement local calls of service module B in the first deployment instance X-1 and remote calls of service module B in the second deployment instance X-2. Inject the service call instruction of the dynamic service proxy into the first service module, that is, inject it into service module A of the first deployment instance X-1.

[0055] In one or more embodiments, generating the service call instruction for the dynamic service proxy includes:

[0056] If the second service module corresponding to the address information is in the first deployment instance, generate a service call instruction for the local service of the second service module; use the service call instruction for the local service of the second service module as the service call instruction for the dynamic service proxy; or,

[0057] If the second service module corresponding to the address information is in the second deployment instance, generate a service call instruction for the remote service proxy of the second service module in the second deployment instance; use the service call instruction for the remote service proxy corresponding to the second deployment instance as the service call instruction for the dynamic service proxy.

[0058] Specifically, as Figure 7 shown, when the address information carried in the addressing call request in the addressing call information points to service module B in deployment instance X-1, at this time, it is necessary to generate a service call instruction for the local service of service module B in the first deployment instance X-1, and then use the service call instruction for the local service of service module B in the first deployment instance X-1 as the service call instruction for the dynamic service proxy.

[0059] When the address information carried in the addressing call request in the addressing call information points to the service module B in the deployment instance X-2, it is necessary to generate a service call instruction for the remote service proxy of the service module B in the first deployment instance X-2, and then use the service call instruction of the remote service proxy of the service module B in the first deployment instance X-2 as the service call instruction of the dynamic service proxy.

[0060] In one or more embodiments, the deployment relationship includes split deployment. Based on the deployment relationship and the call configuration information, injecting the service call instruction of the second service module into the first service module includes:

[0061] If the deployment relationship is split deployment and the addressing call request in the call configuration information carries the address information of the second service module deployed in the second deployment instance, then generate a service call instruction for the remote service proxy of the second service module in the second deployment instance; inject the address information and the service call instruction of the remote service proxy into the first service module.

[0062] Specifically, in the embodiments of the present application, as Figure 6 shown, the first service module (service module A) is in the deployment instance X, and the second service module (service module B) is in the deployment instance Y. The deployment relationship between the two is split deployment; when the address information carried in the addressing call request of the deployment instance X contains the address information of the second service module (service module B) deployed in the second deployment instance (deployment instance Y), the service module A cannot locally call the service module B. At this time, it is necessary to generate a service call instruction for the remote service proxy of the service module B in the second deployment instance Y; then inject the service call instruction of the remote service proxy of the second service module (service module B) and the address information of the service module B into the first service module (service module A).

[0063] If the deployment relationship is split deployment and the addressing call information does not contain the address information, then select the second deployment instance in which the second service module is deployed from the corresponding service module deployment information in the Internet of Things platform at this time; generate a service call instruction for the remote service proxy of the second service module in the selected second deployment instance; inject the service call instruction of the remote service proxy corresponding to the selected second deployment instance into the first service module.

[0064] Specifically, in the embodiments of the present application, as Figure 6As shown, the first service module (Service Module A) is in deployment instance X, and the second service module (Service Module B) is in deployment instance Y or deployment instance Z (not shown in the figure). That is, the above-mentioned second deployment instance can be either deployment instance Y or deployment instance Z. The deployment relationship between Service Module A and Service Module B is split deployment. When the addressing call information of deployment instance X does not contain the address information of the deployed second service module (Service Module B), one of deployment instance Y or deployment instance Z can be determined as the second deployment instance at this time. Suppose the currently selected second deployment instance is deployment instance Y. At this time, it is necessary to generate a service call instruction for the remote service proxy of Service Module B in deployment instance Y; then inject the service call instruction of the remote service proxy corresponding to deployment instance Y into Service Module A.

[0065] In one or more embodiments, controlling the first service module to call the second service module based on the service call instruction includes:

[0066] If the service call instruction is a service call instruction for the local service of the second service module, control the first service module to call the local second service module;

[0067] If the service call instruction is a service call instruction for the remote service proxy of the second service module, based on the service call instruction of the remote service proxy, call the second service module in the corresponding second deployment instance;

[0068] If the service call instruction includes the service call instruction for the local service and the service call instruction for the remote service proxy, in the case where the instance identifier included in the service call request is the instance identifier of the first deployment instance, control the first service module to call the local second service module; in the case where the instance identifier included in the service call request is not the instance identifier of the first deployment instance, based on the service call instruction of the remote service proxy, call the second service module in the corresponding second deployment instance.

[0069] Specifically, as Figure 5 shown, if the service call instruction is a service call instruction for the local service of the second service module (Service Module B), control the first service module (Service Module A) to call the local second service module (Service Module B).

[0070] As Figure 6 shown, if the service call instruction is a service call instruction for the remote service proxy of the second service module (Service Module B), based on the service call instruction of the remote service proxy, call the second service module (Service Module B) in the corresponding second deployment instance (deployment instance Y).

[0071] As Figure 7 shown, if the service call instruction includes the service call instruction of the local service and the service call instruction of the remote service proxy, then when the instance identifier included in the service call request is the instance identifier of the first deployment instance (deployment instance X), control the first service module (service module A) to call the second service module (service module B in deployment instance X) locally; when the instance identifier included in the service call request is not the instance identifier of the first deployment instance (deployment instance X), based on the service call instruction of the remote service proxy, call the service module B in the corresponding second deployment instance (deployment instance Y).

[0072] In one or more embodiments, as Figure 4 shown, the embodiment of the present application also provides a method for module deployment information, including the following steps:

[0073] S402, based on the call configuration information of the first service module locally, determine the second service module that the first service module needs to call;

[0074] S404, based on the service module deployment information, inject the service call instruction of the second service module into the first service module; the service module deployment information is used to characterize the distribution of each service module in the current deployment instances in the Internet of Things platform;

[0075] S406, receive the service call request of the first service module, and control the first service module to call the second service module based on the service call instruction;

[0076] S408, receive the message subscription request of the first service module for the third service module; the third service module is any service module other than the first service module in the Internet of Things platform;

[0077] S410, based on the subscription topic included in the message subscription request, register the subscription relationship and the subscription topic between the first service module and the third service module to the remote message queue service;

[0078] S412, generate a hook program corresponding to the first service module for processing subscription messages, and store the subscription relationship, the subscription topic, and the hook program in the local message queue.

[0079] Specifically, in the embodiment of the present application, as Figure 8As shown, receive the message subscription requests of the first service modules (Service Module B and Service Module C) for the third service module (Service Module A). Assume that Service Module B subscribes to the message topic Topic1 of Service Module A, and Service Module C subscribes to the message topic Topic2 of Service Module A. Register the subscription relationships between Service Module A and Service Module B and Service Module C and the subscription topics (Topic1 and Topic2) to the remote message queue service. Generate a hook program corresponding to Service Module A for processing subscription messages, and store the subscription relationships, the subscription topics, and the hook program in the local message queue of Deployment Instance X.

[0080] The above steps S402 to S406 have been clearly described above and will not be elaborated here.

[0081] In one or more embodiments, the method for deploying the Internet of Things platform service further includes:

[0082] Detect the topic message sent by the third service module, and obtain each subscription relationship that subscribes to the topic message from the remote message queue service;

[0083] For the subscription relationships that exist in the local message queue among the various subscription relationships, push the topic message to the local service module corresponding to the subscription relationship through the hook program corresponding to the subscription relationship in the local message queue;

[0084] For the subscription relationships that do not exist in the local message queue among the various subscription relationships, send the topic message to the remote message queue service, so that the remote message queue service pushes the topic message to the service module corresponding to the subscription relationship in the corresponding deployment instance.

[0085] Specifically, in the embodiments of the present application, as Figure 8 shown, it is detected that the topics corresponding to the topic messages sent by the third service module (Service Module A) include Topic1 and Topic2, and each subscription relationship that subscribes to the topic message is obtained from the remote message queue service; the subscription relationships in the local message queue include: Service Module B subscribes to the message topic Topic1 of Service Module A, and the message corresponding to Topic1 is pushed to the local service module (Service Module B) corresponding to the subscription relationship through the hook program corresponding to the subscription relationship in the local message queue of Deployment Instance X. The subscription relationships in the local message queue do not include: Service Module C subscribes to the message topic Topic2 of Service Module A, and the message with the message topic Topic2 is sent to the remote message queue service, so that the remote message queue service pushes the message with the message topic Topic2 to the service module (Service Module C) corresponding to the subscription relationship in Deployment Instance Y.

[0086] Based on the above embodiments, as an alternative implementation, the embodiments of the present application further provide an Internet of Things platform service deployment method. The above Internet of Things platform is split into different modules according to functional attributes, such as a device access module, a message flow module, a rule engine module, a management and control capability module, etc. The Internet of Things platform service deployment method in the present application allows free combination and deployment among multiple modules, which can solve the problems of service invocation and message queue communication under different deployment modes. According to the module service invocation configuration and module distribution, on the premise of meeting the characteristics of downlink addressing invocation in the Internet of Things scenario, service integration and message queue docking are automatically performed.

[0087] Specifically, the Internet of Things platform service deployment method in the present application for service integration and service invocation includes but is not limited to the following several ways:

[0088] 1. The service dependent party (invoking party) and the service providing party are deployed together, and the service dependent party does not require addressing invocation. At this time, a local service invocation instruction is selected to be injected into the service dependent party.

[0089] As Figure 5 shown, the above Internet of Things platform service deployment method includes: S1. The service integration processor finds the local service of module B within the same deployment instance (deployment instance X).

[0090] S2. The invoking service module A does not require addressing invocation. The service integration processor determines that the local service can meet the invocation request of service module A, and injects the local service provided by service module B into service module A.

[0091] S3. When service module A invokes the service of service module B, a local invocation is directly performed, which can greatly reduce the network throughput through local invocation.

[0092] 2. The service dependent party and the service providing party are split and deployed. At this time, a remote proxy service is generated and injected into the service dependent party. As Figure 6 shown, the above Internet of Things platform service deployment method includes: S1. If the service integration processor cannot find the local service of module B within the same deployment instance, the remote service proxy of module B is initialized.

[0093] S2. The service integration processor injects the remote service proxy of service module B into service module A

[0094] S3. When service module A invokes the service of service module B, the request first enters the remote service proxy of service module B.

[0095] S4. The remote service proxy of service module B forwards the request to the deployment instance where service module B is located (deployment instance Y), and completes the service call in the form of Remote Procedure Call (RPC). If a deployment instance identifier is specified, the request will be forwarded to the specified deployment instance, such as making an addressing call to an instance where service module B is also deployed.

[0096] 3. The service dependent party and the service provider are co-deployed, but an addressing call is required. In this case, a dynamic service proxy is generated and injected. For example Figure 6 As shown, the above networked platform service deployment method includes: S1. The service integration processor finds the local service of service module B within the same deployment instance (deployment instance X-1). However, the calling module A needs to make an addressing call, and the local service alone cannot meet the call request of service module A in deployment instance X-1. The service integration processor constructs a dynamic service proxy and initializes the remote service proxy of service module B, which is built into the dynamic service proxy.

[0097] S2. The service integration processor of deployment instance X-1 also builds the local service of module B into the dynamic service proxy.

[0098] S3. The service integration processor of deployment instance X-1 injects the dynamic service proxy into service module A of deployment instance X-1.

[0099] S4. Service module A calls the service of service module B, and the call request first enters the dynamic service proxy.

[0100] The dynamic service proxy dynamically selects a specific call method for addressing call according to the deployment instance identifier specified by the caller (service module A of deployment instance X-1).

[0101] S51. If the target deployment instance identifier corresponding to the deployment instance identifier is the same as the current instance identifier, it means that the called service instance is local, and the local service is directly used to complete the service call, and the service module B of deployment instance X-1 is called through dynamic local call.

[0102] S52. If the target deployment instance identifier is different from the current instance identifier, it means that the called service instance is not local to deployment instance X-1, and the service call is completed through the remote service proxy of service module B in the form of RPC call.

[0103] The method for deploying the Internet of Things platform service in this application includes, in the scenario of message queue communication docking and message sending: when the application of the Internet of Things starts, the service subscription requests of each service module are first registered by the message queue communication processor to the local queue and the remote message queue service. Then, when sending a message, the message is first delivered to the message queue communication processor, and the message queue communication processor dynamically selects different modes to push the message according to the message subscription relationship in the remote message queue service. Specifically, as Figure 8 shown, the above method for deploying the Internet of Things platform service further includes: S11, when the application starts, service module B subscribes to messages through the message queue communication processor in the current deployment instance (deployment instance X).

[0104] S12, the message queue communication processor of deployment instance X first registers the subscriber service module B in the subscription request to the local queue of the current deployment instance and generates a corresponding message processing hook function (hook).

[0105] S13, the message queue communication processor of deployment instance X then registers the subscriber service module B in the subscription request to the remote message queue service.

[0106] S21, when the application starts, service module C subscribes to messages through the message queue communication processor in the current deployment instance (deployment instance Y).

[0107] S22, the message queue communication processor of deployment instance Y first registers the subscriber service module C in the subscription request to the local queue of the current deployment instance and generates a corresponding message processing hook function (hook).

[0108] S23, the message queue communication processor of deployment instance Y then registers the subscriber service module B in the subscription request to the remote message queue service.

[0109] S31, when service module A sends a message, it first sends the message to the message queue communication processor in the current deployment instance (deployment instance X).

[0110] S32, the message queue communication processor queries the message subscription relationship from the remote message queue server according to the theme of the message, or can obtain the message subscription relationship through the message subscription relationship in the local cache, so as to reduce the actual query frequency, and compare the returned subscription relationship list with the local queue, and then dynamically select different message sending methods.

[0111] S33, if all subscribers in the subscription relationship list exist in the local queue, reduce the network throughput through dynamic local sending.

[0112] S331, the message queue communication processor delivers the message to the local queue of deployment instance X.

[0113] S332. Messages in the local queue of deployment instance X are matched with corresponding message processing hooks according to the message topic, and the messages are forwarded to service module B that subscribes to the messages through the message processing hooks.

[0114] S34. If not all subscribers in the subscription relationship list exist in the local queue of deployment instance X, message sending is performed through the message remote message queue service.

[0115] S341. The message queue communication processor of deployment instance X delivers the message to the remote message queue service.

[0116] S342. The remote message queue service forwards the message to the message queue communication processor in the corresponding deployment instance (deployment instance Y) according to the subscription relationship.

[0117] S343. The message queue communication processor in deployment instance Y forwards the message to service module C in deployment instance Y that subscribes to the message.

[0118] The above technical solutions of this application have the following beneficial technical effects:

[0119] 1. Support arbitrary combined deployment between service modules: multiple deployment modes such as full merge deployment, partial merge deployment, and full split deployment, flexibly meeting service requirements in different scenarios. For example, by trimming or removing some function modules that users do not need in the deployment configuration, system performance loss and resource occupation can be reduced; it also supports separate merge deployment at runtime / management time, which can ensure the stability of the Internet of Things platform, improve service performance, and reduce system resource consumption at the same time.

[0120] 2. Deduce according to service call configuration and deployment structure, and automatically complete service integration and message queue docking with the minimum network IO (input / output) strategy. Local service calls, RPC service calls, or local message sending and remote message queue service message sending can be dynamically switched within the same deployment instance. On the premise of supporting the current deployment architecture and addressing calls, the performance of the Internet of Things platform can be guaranteed.

[0121] It should be noted that for the foregoing method embodiments, for the sake of simple description, they are all expressed as a series of action combinations. However, those skilled in the art should know that the present invention is not limited by the described action sequence, because according to the present invention, certain steps can be performed in other sequences or simultaneously. Secondly, those skilled in the art should also know that the embodiments described in the specification are all preferred embodiments, and the actions and modules involved are not necessarily essential to the present invention.

[0122] According to another aspect of the embodiments of the present application, there is also provided an Internet of Things platform component deployment device for implementing the above-mentioned Internet of Things platform component deployment method. As Figure 9 shown, the device includes:

[0123] A determination unit 902, configured to determine a second service module that needs to be called by the first service module based on the call configuration information of the first service module locally;

[0124] An injection unit 904, configured to inject a service call instruction of the second service module into the first service module based on service module deployment information; the service module deployment information is used to characterize the distribution of each service module in the current deployment instances in the Internet of Things platform;

[0125] A control unit 906, configured to receive a service call request of the first service module, and control the first service module to call the second service module based on the service call instruction.

[0126] In the embodiments of the present application, the method of determining a second service module that needs to be called by the first service module based on the call configuration information of the first service module locally; injecting a service call instruction of the second service module into the first service module based on service module deployment information; the service module deployment information is used to characterize the distribution of each service module in the current deployment instances in the Internet of Things platform; receiving a service call request of the first service module, and controlling the first service module to call the second service module based on the service call instruction; by injecting the service call instruction of the second service module into the first service module based on the pre-configured service module deployment information, there is no need to write the call instruction to the service provider in advance, which can decouple the service caller and the service provider. Therefore, free combination deployment between service entities can be realized, and dynamic conversion between local call and remote call of services can also be realized. In addition, services that users do not need can be removed during service deployment, reducing the resource occupancy rate during service deployment.

[0127] In one or more embodiments, the injection unit 904 includes:

[0128] A first determination module, configured to determine a deployment relationship between the first service module and the second service module based on the service module deployment information, where the deployment relationship is used to characterize whether the first service module and the second service module are deployed on the same deployment instance;

[0129] An injection module, configured to inject a service call instruction of the second service module into the first service module based on the deployment relationship and the call configuration information.

[0130] In one or more embodiments, the first determination module includes:

[0131] A query subunit, configured to query, based on the service identifier of the second service module in the call configuration information, whether the first deployment instance deploys the second service module from the service module deployment information;

[0132] A first determination sub-module, configured to determine that the deployment relationship is a merged deployment if the second service module is deployed in the first deployment instance, where the merged deployment is used to represent that the first service module and the second service module are deployed on the same deployment instance;

[0133] A second determination sub-module, configured to determine that the deployment relationship is a split deployment if the second service module is not deployed in the first deployment instance, where the split deployment is used to represent that the first service module and the second service module are deployed on different deployment instances.

[0134] In one or more embodiments, the injection module includes:

[0135] A view subunit, configured to view whether the call configuration information includes an addressing call request based on the merged deployment of the deployment relationship; the addressing call request carries address information, and the addressing call request is used to request to call a service module in a deployment instance corresponding to the address information in the Internet of Things platform;

[0136] A first injection subunit, configured to inject a service call instruction of the local service of the second service module into the first service module if the call configuration information does not include the addressing call request.

[0137] In one or more embodiments, the injection module further includes:

[0138] A first generation subunit, configured to inject a service call instruction of the local service of the second service module into the first service module if the call configuration information does not include the addressing call request;

[0139] A second injection subunit, configured to inject a service call instruction of the dynamic service proxy into the first service module.

[0140] In one or more embodiments, the generation subunit includes:

[0141] A first generation sub-module, configured to generate a service call instruction of the local service of the second service module and use the service call instruction of the local service of the second service module as the service call instruction of the dynamic service proxy if the second service module corresponding to the address information is in the first deployment instance; or,

[0142] A second generation sub-module, configured to generate a service call instruction for a remote service proxy of the second service module in the second deployment instance if the second service module corresponding to the address information is in the second deployment instance, and use the service call instruction for the remote service proxy of the second service module as the service call instruction for the dynamic service proxy.

[0143] In one or more embodiments, the deployment relationship includes split deployment. Based on the deployment relationship and the call configuration information, the injection module includes:

[0144] A second generation sub-unit, configured to generate a service call instruction for a remote service proxy of the second service module in the second deployment instance if the deployment relationship is split deployment and the addressing call request in the call configuration information carries the address information of the second service module deployed in the second deployment instance; inject the address information and the service call instruction for the remote service proxy into the first service module; or,

[0145] A third generation sub-unit, configured to select a second deployment instance in which the second service module is deployed from the service module deployment information if the deployment relationship is split deployment and the addressing call request does not carry the address information; generate a service call instruction for a remote service proxy of the second service module in the selected second deployment instance; inject the service call instruction for the remote service proxy corresponding to the selected second deployment instance into the first service module.

[0146] In one or more embodiments, the control unit 906 includes:

[0147] A control module, configured to control the first service module to call the local second service module if the service call instruction is a service call instruction for the local service of the second service module;

[0148] A call module, configured to call the second service module in the corresponding second deployment instance based on the service call instruction for the remote service proxy if the service call instruction is a service call instruction for the remote service proxy of the second service module;

[0149] A control call module, configured to control the first service module to call the local second service module if the service call instruction includes the service call instruction for the local service and the service call instruction for the remote service proxy and the instance identifier included in the service call request is the instance identifier of the first deployment instance; call the second service module in the corresponding second deployment instance based on the service call instruction for the remote service proxy if the instance identifier included in the service call request is not the instance identifier of the first deployment instance.

[0150] In one or more embodiments, the IoT platform component deployment device further includes:

[0151] A receiving unit, configured to receive a message subscription request of the first service module for the third service module;

[0152] A registration unit, configured to register a subscription relationship and the subscription topic between the first service module and the third service module to a remote message queue service based on the subscription topic included in the message subscription request; the third service module is any service module in the IoT platform other than the first service module;

[0153] A generation and storage unit, configured to generate a hook program for the first service module to process subscription messages, and store the subscription relationship, the subscription topic, and the hook program in a local message queue.

[0154] In one or more embodiments, the IoT platform component deployment device further includes:

[0155] An obtaining unit, configured to, when detecting a topic message sent by the third service module, obtain each subscription relationship subscribing to the topic message from the remote message queue service;

[0156] A pushing unit, configured to, for a subscription relationship existing in the local message queue among the subscription relationships, push the topic message to a local service module corresponding to the subscription relationship through a hook program corresponding to the subscription relationship in the local message queue;

[0157] A sending unit, configured to, for a subscription relationship not existing in the local message queue among the subscription relationships, send the topic message to the remote message queue service, so that the remote message queue service pushes the topic message to a service module corresponding to the subscription relationship in a corresponding deployment instance.

[0158] According to another aspect of the embodiments of the present application, there is also provided an electronic device for implementing the above IoT platform service deployment method. The electronic device may be Figure 1 the server or container where the example 1 or 2 shown is located. In this embodiment, the electronic device is taken as an example of a server for illustration. As Figure 10 shown, the electronic device includes a memory 1002 and a processor 1004. A computer program is stored in the memory 1002, and the processor 1004 is configured to execute the steps in any one of the above method embodiments through the computer program.

[0159] Optionally, in this embodiment, the above electronic device may be at least one network device among multiple network devices of a computer network.

[0160] Optionally, in this embodiment, the above-mentioned processor may be configured to execute the following steps through a computer program:

[0161] S1. Based on the call configuration information of the first service module locally, determine the second service module that the first service module needs to call;

[0162] S2. Based on the service module deployment information, inject a service call instruction of the second service module into the first service module; the service module deployment information is used to characterize the distribution of each service module in the current deployment instances in the Internet of Things platform;

[0163] S3. Upon receiving a service call request from the first service module, control the first service module to call the second service module based on the service call instruction.

[0164] Optionally, those of ordinary skill in the art can understand that Figure 10 the structure shown is only schematic, and the electronic device may also be a cloud server or a physical server, or a cloud server cluster or a physical server cluster, etc. Figure 10 It does not limit the structure of the above-mentioned electronic device. For example, the electronic device may further include more or fewer components (such as a network interface, etc.) than those shown in Figure 10 or have a different configuration from that shown in Figure 10 shown.

[0165] Among them, the memory 1002 can be used to store software programs and modules, such as the program instructions / modules corresponding to the Internet of Things platform service deployment method and device in the embodiments of the present application. The processor 1004 executes various functional applications and data processing by running the software programs and modules stored in the memory 1002, that is, implements the above-mentioned power failure detection method. The memory 1002 may include a high-speed random access memory, and may also include a non-volatile memory, such as one or more magnetic storage devices, flash memories, or other non-volatile solid-state memories. In some instances, the memory 1002 may further include a memory remotely disposed relative to the processor 1004, and these remote memories can be connected to the terminal through a network. Examples of the above-mentioned network include but are not limited to the Internet, an enterprise intranet, a local area network, a mobile communication network, and combinations thereof. Among them, the memory 1002 may specifically but not limitedly be used to store service module deployment information.

[0166] As an example, such as Figure 10As shown, the above-mentioned memory 1002 may but is not limited to include the determination unit 902, injection unit 904, and control unit 906 in the above-mentioned Internet of Things platform service deployment device. In addition, it may also include but is not limited to other module units in the above-mentioned Internet of Things platform service deployment device, which will not be elaborated in this example.

[0167] Optionally, the above-mentioned transmission device 1006 is used to receive or send data via a network. Specific examples of the above-mentioned network may include a wired network and a wireless network. In one example, the transmission device 1006 includes a network adapter (Network Interface Controller, NIC), which can be connected to other network devices and routers through a network cable so as to communicate with the Internet or a local area network. In one example, the transmission device 1006 is a radio frequency (RF) module, which is used to communicate with the Internet wirelessly.

[0168] In addition, the above-mentioned electronic device further includes: a display 1008, which is used to display Internet of Things platform service deployment information; and a connection bus 1010, which is used to connect each module component in the above-mentioned electronic device.

[0169] In other embodiments, the above-mentioned electronic device may be a node in a distributed system, where the distributed system may be a blockchain system, and the blockchain system may be a distributed system formed by connecting the multiple nodes in the form of network communication. Among them, the nodes can form a peer-to-peer (P2P, Peer To Peer) network, and any form of computing device, such as a server, terminal, etc., can become a node in the blockchain system by joining the peer-to-peer network.

[0170] In one or more embodiments, the present application also provides a computer program product or a computer program, and the computer program product or the computer program includes computer instructions, and the computer instructions are stored in a computer-readable storage medium. The processor of the computer device reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions, so that the computer device executes the above-mentioned power failure detection method. Among them, the computer program is set to execute the steps in any one of the above method embodiments when running.

[0171] Optionally, in this embodiment, the above-mentioned computer-readable storage medium may be set to store a computer program for executing the following steps:

[0172] S1, based on the call configuration information of the first service module locally, determine the second service module required to be called by the first service module;

[0173] S2. Inject service call instructions of the second service module into the first service module based on the service module deployment information, where the service module deployment information is used to characterize the distribution of each service module in the current deployment instances in the Internet of Things platform.

[0174] S3. Upon receiving a service call request from the first service module, control the first service module to call the second service module based on the service call instructions.

[0175] Optionally, in this embodiment, those of ordinary skill in the art can understand that all or part of the steps in the above-described various methods can be completed by instructing the relevant hardware of the terminal device through a program, and this program can be stored in a computer-readable storage medium. The storage medium can include: a flash drive, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disc, etc.

[0176] The serial numbers of the embodiments of the present application are only for description and do not represent the superiority or inferiority of the embodiments.

[0177] If the integrated unit in the above embodiments is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in the above computer-readable storage medium. Based on this understanding, the technical solution of the present invention, in essence, or the part that contributes to the prior art, or all or part of this technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions for causing one or more computer devices (which can be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the methods of the various embodiments of the present invention.

[0178] In the above embodiments of the present invention, the descriptions of the various embodiments have their own emphases. For the parts not detailed in a certain embodiment, reference can be made to the relevant descriptions of other embodiments.

[0179] In several embodiments provided in the present application, it should be understood that the disclosed client can be implemented in other ways. Among them, the device embodiments described above are only illustrative. For example, the division of units is only a logical function division, and there can be other division methods in actual implementation. For example, multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the displayed or discussed mutual coupling or direct coupling or communication connection can be through some interfaces, and the indirect coupling or communication connection of units or modules can be in an electrical or other form.

[0180] The unit described as a separation component may or may not be physically separated. The component shown as a unit may or may not be a physical unit, that is, it may be located in one place or may be distributed over multiple network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of this embodiment.

[0181] In addition, each functional unit in various embodiments of the present invention may be integrated in a processing unit, may exist physically alone for each unit, or two or more units may be integrated in one unit. The above-mentioned integrated units can be implemented in the form of hardware or in the form of software functional units.

[0182] The above are only the preferred embodiments of the present invention. It should be noted that for those of ordinary skill in the art, without departing from the principle of the present invention, several improvements and retouches can be made, and these improvements and retouches should also be regarded as the protection scope of the present invention.

[0183] The user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data for analysis, stored data, displayed data, etc.) involved in this application are all information and data that have been authorized by the user or fully authorized by all parties. And the collection, use and processing of relevant data need to comply with the relevant laws, regulations and standards of relevant countries and regions, and corresponding operation entrances are provided for users to choose to authorize or refuse.

Claims

1. An Internet of Things platform service deployment method, characterized in that, The method is applied to a first deployment instance in the Internet of Things platform, and the method includes: Determine a second service module to be called by the first service module based on the call configuration information of the local first service module; Inject a service call instruction of the second service module into the first service module based on the service module deployment information; the service module deployment information is used to characterize the distribution of each service module in the Internet of Things platform in each current deployment instance; Upon receiving a service call request of the first service module, control the first service module to call the second service module based on the service call instruction.

2. The method according to claim 1, wherein The injecting the service call instruction of the second service module into the first service module based on the service module deployment information includes: Determine the deployment relationship between the first service module and the second service module based on the service module deployment information, where the deployment relationship is used to characterize whether the first service module and the second service module are deployed on the same deployment instance; Inject the service call instruction of the second service module into the first service module based on the deployment relationship and the call configuration information.

3. The method according to claim 2, characterized in that, The determining the deployment relationship between the first service module and the second service module based on the service module deployment information includes: Query from the service module deployment information whether the second service module is deployed in the first deployment instance based on the service identifier of the second service module in the call configuration information; If the second service module is deployed in the first deployment instance, determine that the deployment relationship is merged deployment, where the merged deployment is used to characterize that the first service module and the second service module are deployed on the same deployment instance; If the second service module is not deployed in the first deployment instance, determine that the deployment relationship is split deployment, where the split deployment is used to characterize that the first service module and the second service module are deployed on different deployment instances.

4. The method according to claim 2, characterized in that, The deployment relationship includes merged deployment, and the injecting the service call instruction of the second service module into the first service module based on the deployment relationship and the call configuration information includes: Based on the deployment relationship being the merged deployment, check whether the call configuration information contains an addressing call request; the addressing call request carries address information and is used to request to call a service module in a deployment instance corresponding to the address information in the Internet of Things platform; If the call configuration information does not contain the addressing call request, inject the service call instruction of the local service of the second service module into the first service module.

5. The method according to claim 4, characterized in that The injecting the service call instruction of the second service module into the first service module based on the deployment relationship and the call configuration information further includes: If the deployment relationship is merged deployment and the call configuration information contains the addressing call request, generate a service call instruction of a dynamic service proxy, where the dynamic service proxy is used to implement local call and remote call of the second service module; Inject the service call instruction of the dynamic service proxy into the first service module.

6. The method according to claim 5, wherein Generating the service call instruction of the dynamic service proxy includes: If the second service module corresponding to the address information is in the first deployment instance, generate the service call instruction of the local service of the second service module, and use the service call instruction of the local service of the second service module as the service call instruction of the dynamic service proxy; or, If the second service module corresponding to the address information is in the second deployment instance, generate the service call instruction of the remote service proxy of the second service module in the second deployment instance, and use the service call instruction of the remote service proxy of the second service module as the service call instruction of the dynamic service proxy.

7. The method according to claim 2, characterized in that, The deployment relationship includes split deployment. Based on the deployment relationship and the call configuration information, injecting the service call instruction of the second service module into the first service module includes: If the deployment relationship is split deployment, and the addressing call request in the call configuration information carries the address information of the second service module deployed in the second deployment instance, generate the service call instruction of the remote service proxy of the second service module in the second deployment instance; inject the address information and the service call instruction of the remote service proxy into the first service module; or, If the deployment relationship is split deployment, and the addressing call request does not carry the address information, select the second deployment instance in which the second service module is deployed from the service module deployment information; generate the service call instruction of the remote service proxy of the second service module in the selected second deployment instance; inject the service call instruction of the remote service proxy corresponding to the selected second deployment instance into the first service module.

8. The method according to any one of claims 1 to 7, characterized in that, Controlling the first service module to call the second service module based on the service call instruction includes: If the service call instruction is the service call instruction of the local service of the second service module, control the first service module to call the local second service module; If the service call instruction is the service call instruction of the remote service proxy of the second service module, call the second service module in the corresponding second deployment instance based on the service call instruction of the remote service proxy; If the service call instruction includes the service call instruction of the local service and the service call instruction of the remote service proxy, when the instance identifier included in the service call request is the instance identifier of the first deployment instance, control the first service module to call the local second service module; when the instance identifier included in the service call request is not the instance identifier of the first deployment instance, call the second service module in the corresponding second deployment instance based on the service call instruction of the remote service proxy.

9. The method according to any one of claims 1-7, characterized in that, The method further includes: Receiving a message subscription request from the first service module for a third service module; the third service module is any service module in the Internet of Things platform other than the first service module. Based on the subscription topic included in the message subscription request, register the subscription relationship between the first service module and the third service module and the subscription topic to the remote message queue service; Generate a hook program for the first service module to process subscription messages, and store the subscription relationship, the subscription topic, and the hook program in the local message queue.

10. The method according to claim 9, characterized in that, The method further includes: Upon detecting a topic message sent by the third service module, obtain each subscription relationship subscribing to the topic message from the remote message queue service; For the subscription relationships existing in the local message queue among the various subscription relationships, push the topic message to the local service module corresponding to the subscription relationship through the hook program corresponding to the subscription relationship in the local message queue; For the subscription relationships not existing in the local message queue among the various subscription relationships, send the topic message to the remote message queue service, so that the remote message queue service pushes the topic message to the service module corresponding to the subscription relationship in the corresponding deployment instance.

11. An Internet of Things platform component deployment device, characterized in that, Applied to the first deployment instance in the Internet of Things platform, the device includes: A determination unit, configured to determine a second service module that needs to be called by the first service module based on the call configuration information of the local first service module; An injection unit, configured to inject a service call instruction of the second service module into the first service module based on the service module deployment information; the service module deployment information is used to characterize the distribution of each service module in the current deployment instances in the Internet of Things platform; A control unit, configured to, upon receiving a service call request of the first service module, control the first service module to call the second service module based on the service call instruction.

12. An electronic device, characterized in that, It includes a memory, a processor, and a computer program stored on the memory and executable on the processor, wherein the processor runs the computer program to implement the method according to any one of claims 1 to 10.

13. A computer-readable storage medium having a computer program stored thereon, characterized in that, The program is executed by the processor to implement the method according to any one of claims 1 to 10.