A method, device, medium and program product for transmitting heterogeneous messages

By converting heterogeneous messages into RabbitMQ format and transmitting the data transparently in the Internet of Things (IoT), the problems of resource redundancy and strong architectural coupling in private IoT deployments are solved, thereby optimizing resources and simplifying operation and maintenance.

CN122120332APending Publication Date: 2026-05-29SHENZHEN KAADAS INTELLIGENT TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
SHENZHEN KAADAS INTELLIGENT TECH CO LTD
Filing Date
2026-02-26
Publication Date
2026-05-29

AI Technical Summary

Technical Problem

When deploying IoT devices in a private environment, there is significant resource redundancy, and the architecture is tightly coupled, leading to high operational complexity.

Method used

By acquiring the message to be converted, converting it according to the standard message model into RabbitMQ format, and then passing the data through, a unified conversion and output of heterogeneous messages of various formats can be achieved, avoiding the repeated deployment of multiple heterogeneous message queues and pass-through services.

Benefits of technology

It reduces resource redundancy in private IoT deployments, breaks the strong coupling of the architecture, and reduces operational complexity.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122120332A_ABST
    Figure CN122120332A_ABST
Patent Text Reader

Abstract

The application discloses a heterogeneous message transmission method, device, medium and program product, and relates to the field of Internet of Things. The heterogeneous message transmission method comprises the following steps: obtaining a to-be-converted message; performing format conversion on the to-be-converted message according to a standard message model to obtain an initial standard message; converting the initial standard message into a RabbitMQ format to obtain a target to-be-transmitted message body, and performing data transparent transmission on the target to-be-transmitted message body according to routing configuration data. The technical scheme of the embodiment of the application can reduce resource redundancy during private deployment of the existing Internet of Things, break the strong coupling of the architecture, and thus reduce the operation and maintenance complexity.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of Internet of Things (IoT) technology, and in particular to a method, device, medium, and program product for transmitting heterogeneous messages. Background Technology

[0002] IoT devices can interact with the cloud via LAN or cellular network. When deploying privately on-premises, it is necessary to simultaneously build Kafka, distributed message middleware, message queues, and multiple transparent transmission services on the device. Meanwhile, the cloud's business side also has multiple heterogeneous "message buses" (such as Kafka, distributed message middleware, and message queues). To support the "transparent transmission" function, the cloud also needs to configure multiple component application services, resulting in severe resource redundancy in existing private IoT deployments and high operational complexity due to the strong coupling between the device and cloud communication architecture. Summary of the Invention

[0003] This invention provides a method, device, medium, and program product for transmitting heterogeneous messages to solve the problems of severe resource redundancy and high complexity of operation and maintenance in existing private IoT deployments.

[0004] According to one aspect of the present invention, a method for transmitting heterogeneous messages is provided, comprising: Obtain the message to be converted; the message to be converted includes private deployment upload messages and / or third-party public cloud upload messages; According to the standard message model, the message to be transformed is formatted to obtain the initial standard message; The initial standard message is converted into RabbitMQ format to obtain the target message body to be transmitted, and the target message body to be transmitted is then passed through according to the routing configuration data.

[0005] According to another aspect of the present invention, a heterogeneous message transmission device is provided, comprising: The message acquisition module is used to acquire messages to be converted; among which, messages to be converted include private deployment upload messages and / or third-party public cloud upload messages; The format conversion module is used to convert the format of the message to be converted according to the standard message model to obtain the initial standard message. The data pass-through module is used to convert the initial standard message into RabbitMQ format, obtain the target message body to be transmitted, and pass through the target message body according to the routing configuration data.

[0006] According to another aspect of the present invention, an electronic device is provided, the electronic device comprising: At least one processor; and a memory communicatively connected to said at least one processor; The memory stores a computer program that can be executed by the at least one processor, which is then executed by the at least one processor to enable the at least one processor to perform the heterogeneous message transmission method according to any embodiment of the present invention.

[0007] According to another aspect of the present invention, a computer-readable storage medium is provided, the computer-readable storage medium storing computer instructions for causing a processor to execute and implement the heterogeneous message transmission method according to any embodiment of the present invention.

[0008] According to another aspect of the present invention, a computer program product is provided, the computer program product comprising a computer program that, when executed by a processor, implements the heterogeneous message transmission method according to any embodiment of the present invention.

[0009] The technical solution of this invention obtains the message to be converted and performs format conversion on the message according to the standard message model to obtain the initial standard message. This initial standard message is then converted into RabbitMQ format to obtain the target message body to be transmitted. Finally, the target message body is transmitted transparently according to the routing configuration data. In this solution, multiple heterogeneous message formats can be uniformly converted and output with a single access, achieving unified integration with downstream RabbitMQ. This avoids the need for private deployment of multiple heterogeneous message queues and transparent transmission services, decoupling business code from middleware. That is, middleware replacement will not affect the global deployment of the IoT private deployment. This solves the problems of severe resource redundancy and high operational complexity caused by strong architectural coupling in existing IoT private deployments. It reduces resource redundancy in existing IoT private deployments, breaks the strong coupling of the architecture, and thus reduces operational complexity.

[0010] It should be understood that the description in this section is not intended to identify key or essential features of the embodiments of the present invention, nor is it intended to limit the scope of the invention. Other features of the invention will become readily apparent from the following description. Attached Figure Description

[0011] To more clearly illustrate the technical solutions in the embodiments of the present invention, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0012] Figure 1 A flowchart illustrating a method for transmitting heterogeneous messages according to Embodiment 1 of the present invention; Figure 2A flowchart illustrating a method for transmitting heterogeneous messages according to Embodiment 2 of the present invention; Figure 3 This is a key architecture diagram of the heterogeneous message transmission system architecture provided in Embodiment 3 of the present invention; Figure 4 This is a schematic diagram of the structure of a heterogeneous message transmission device provided in Embodiment 4 of the present invention; Figure 5 A schematic diagram of an electronic device that can be used to implement embodiments of the present invention is shown. Detailed Implementation

[0013] To enable those skilled in the art to better understand the present invention, the technical solutions of the present invention will be clearly and completely described below with reference to the accompanying drawings of the embodiments of the present invention. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort should fall within the scope of protection of the present invention.

[0014] It should be noted that the terms "target," "current," etc., in the specification, claims, and accompanying drawings of this invention 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 where appropriate so that embodiments of the invention described herein can be implemented in orders other than those illustrated or described herein. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover a non-exclusive inclusion; for example, a process, method, system, product, or apparatus that comprises a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to such processes, methods, products, or apparatus.

[0015] Example 1 Figure 1 This is a flowchart of a heterogeneous message transmission method provided in Embodiment 1 of the present invention. This embodiment is applicable to local private lightweight deployment scenarios on IoT devices. The method can be executed by a heterogeneous message transmission device, which can be implemented in hardware and / or software and can be configured in an electronic device. Figure 1 As shown, the method includes: Step 110: Obtain the message to be converted.

[0016] The messages to be converted can be messages uploaded from the device to the cloud. When IoT devices are deployed locally in a private environment, the device and the gateway can be networked via LoRa (Long Range Radio), and the gateway aggregates data to the MQTT server cluster in the cloud via a long MQTT (Message Queuing Telemetry Transport) connection. Devices with a SIM (Subscriber Identification Module) can directly connect to the MQTT server cluster in the cloud via a short connection + MQTT flash connection. The messages to be converted can include messages uploaded from the private deployment and / or messages uploaded from a third-party public cloud. Private deployment upload messages can be messages uploaded from the privately deployed device to the cloud. Third-party public cloud upload messages can be messages uploaded from a device that does not need to communicate with the cloud through a gateway. Devices can include, but are not limited to, smart locks and smart monitoring systems.

[0017] In this embodiment of the invention, the upload messages of a third-party public cloud can be monitored through a standard unencrypted interface, and the upload messages of a private deployment can be monitored through an encrypted interface.

[0018] Step 120: According to the standard message model, perform format conversion on the message to be converted to obtain the initial standard message.

[0019] The standard message model can be a pre-defined message format. The initial standard message can be a message to be transformed that conforms to the standard message model. The standard message model can use protocol buffers / pattern evolution to replace JSON (JavaScript Object Notation) to further compress bandwidth.

[0020] In this embodiment of the invention, a standard message model that masks differences in data packets can be determined, and then the message to be converted is uniformly converted according to the standard message model to obtain an initial standard message.

[0021] Step 130: Convert the initial standard message into RabbitMQ format to obtain the target message body to be transmitted, and then transmit the target message body to be transmitted through the routing configuration data.

[0022] RabbitMQ is a message queue server, a third-party pass-through service component, and can be deployed on third-party public clouds. The RabbitMQ format can be any message format required by RabbitMQ. The target message body to be transmitted can be an initial standard message in RabbitMQ format. Routing configuration data can be used to indicate the transmission channel for the target message body.

[0023] In this embodiment of the invention, the initial standard message can be converted into RabbitMQ format to obtain the target message body to be transmitted, and the target message body to be transmitted can be transmitted in the corresponding transmission channel according to the routing configuration data to achieve data pass-through.

[0024] The technical solution of this invention obtains the message to be converted and performs format conversion on the message according to the standard message model to obtain the initial standard message. This initial standard message is then converted into RabbitMQ format to obtain the target message body to be transmitted. Finally, the target message body is transmitted transparently according to the routing configuration data. In this solution, multiple heterogeneous message formats can be uniformly converted and output with a single access, achieving unified integration with downstream RabbitMQ. This avoids the need for private deployment of multiple heterogeneous message queues and transparent transmission services, decoupling business code from middleware. That is, middleware replacement will not affect the global deployment of the IoT private deployment. This solves the problems of severe resource redundancy and high operational complexity caused by strong architectural coupling in existing IoT private deployments. It reduces resource redundancy in existing IoT private deployments, breaks the strong coupling of the architecture, and thus reduces operational complexity.

[0025] Example 2 Figure 2 This is a flowchart of a heterogeneous message transmission method provided in Embodiment 2 of the present invention. This embodiment is based on the above embodiment and provides a specific optional implementation method for converting the format of the message to be converted according to the standard message model to obtain an initial standard message. Figure 2 As shown, the method includes: Step 210: Obtain the message to be converted.

[0026] Step 220: Determine the target message elements and the order in which the message elements are filled, based on the standard message model.

[0027] The target message element can be a message element in the standard message model. The order in which message elements are populated can be the order in which message elements are in the standard message model.

[0028] In this embodiment of the invention, a standard message model can be parsed to determine the target message elements and the filling order of the message elements in the standard message model.

[0029] Step 230: Parse the message to be converted based on the target message elements to obtain the target valid data.

[0030] Among them, the target valid data can be the element content in the message to be transformed that corresponds to the target message element.

[0031] In this embodiment of the invention, the message to be transformed can be parsed according to the target message elements to obtain the target valid data.

[0032] In an optional embodiment of the present invention, parsing the message to be converted according to the target message elements to obtain the target valid data may include: when the message to be converted is a non-preset network data type, parsing the message to be converted based on the message parsing plugin and the target message elements to obtain the target valid data; wherein, the non-preset network data type may include narrowband Internet of Things data type.

[0033] The non-preset network data types can be network data types other than those existing network data types used in private IoT deployments on the device. Existing network data types can include, but are not limited to, communication data types from Kafka, distributed message middleware, and message queues. The message parsing plugin can be a pre-defined plugin for parsing messages of non-preset network data types.

[0034] In this embodiment of the invention, if the message to be converted is a non-preset network data type, the message to be converted is parsed according to the target message elements by a pre-set message parsing plugin that matches the non-preset network data type, and the target valid data is obtained.

[0035] Step 240: Fill the target valid data into the message according to the message element filling order to obtain the initial standard message.

[0036] In this embodiment of the invention, the element content of the target message element corresponding to the target valid data can be filled into a message according to the message element filling order to obtain an initial standard message.

[0037] In an optional embodiment of the present invention, the target message elements may include device identifier, payload, timestamp, quality response, and working mode; after the target message body to be transmitted is transmitted through data according to the routing configuration data, the following may be included: when the working mode corresponding to the target message body to be transmitted is short connection session mode, disconnect the transport layer security protocol and trigger the acknowledgment mechanism.

[0038] The device identifier can be an identifier that identifies the device. The quality response can be feedback information regarding the communication quality. The quality response can include reliable or unreliable. The operating mode can be the session connection mode of the message to be converted. Operating modes can include short-connection session mode and long-connection session mode. The acknowledgment mechanism is the mechanism that returns an MQTT ACK (acknowledgment character or acknowledgment signal).

[0039] Specifically, the target message elements in the standard message model can include device identifier, payload, timestamp, quality response, and operating mode. When the operating mode corresponding to the target message body is short connection session mode, after the target message body is transparently transmitted through the routing configuration data, the transport layer security protocol is immediately disconnected, and the acknowledgment mechanism is triggered.

[0040] Step 250: Convert the initial standard message into RabbitMQ format to obtain the target message body to be transmitted, and then transmit the target message body to be transmitted through the routing configuration data.

[0041] In an optional embodiment of the present invention, transmitting the target message body to be transmitted through data according to the routing configuration data may include: determining the transmission route of each message body in the target message body to be transmitted according to the routing configuration data; transmitting each message body in the target message body to be transmitted through data according to the corresponding transmission route; wherein the transmission routes of message bodies of the same type in the target message body to be transmitted are the same or different.

[0042] In this embodiment of the invention, routing configuration data can be parsed to determine the transmission route of each message body in the target message body to be transmitted, thereby enabling the same type of message bodies in the target message body to be transmitted to pass through data according to the same or different transmission routes. That is, multiple message bodies in the same type of message body can pass through data through one transmission route, or multiple message bodies in the same type of message body can pass through data through different transmission routes respectively.

[0043] In an optional embodiment of the present invention, after converting the initial standard message into RabbitMQ format to obtain the target message body to be transmitted, the method may further include: fragmenting and persisting the target message body to be transmitted; and transmitting the target message body to be transmitted through routing configuration data, which may include: when the working mode corresponding to the target message body to be transmitted is short connection session mode, retransmitting the target message body to be transmitted based on exponential backoff and random jitter strategies; and when the working mode corresponding to the target message body to be transmitted is long connection session mode, retransmitting the target message body to be transmitted based on a sliding window strategy.

[0044] Exponential backoff can be a strategy of retransmitting data by using an exponentially increasing retry interval. Random jitter can be a strategy of adding a random value to the backoff time in exponential backoff. A sliding window can be used to control the number of packets sent at one time.

[0045] In this embodiment of the invention, the target message body to be transmitted can be fragmented and persisted. When the data pass-through of the target message body according to the routing configuration data fails, if the working mode corresponding to the target message body is short connection session mode, the target message body to be transmitted is retransmitted based on exponential backoff and random jitter strategies. If the working mode corresponding to the target message body to be transmitted is long connection session mode, the target message body to be transmitted is retransmitted based on a sliding window strategy.

[0046] In an optional embodiment of the present invention, the method for transmitting heterogeneous messages may further include: outputting the message volume, message transmission delay, and message retransmission count of the target message body to be transmitted to a process monitoring tool through an index measurement interface.

[0047] The metrics interface can be a Metrics interface. The process monitoring tool can be a system monitoring and alarm toolkit. The message retransmission count can be the number of times the message body in the target message body to be transmitted has been retransmitted. The message transmission delay can be used to describe the transmission delay duration of the message body in the target message body to be transmitted. The message volume can be used to describe the data volume of the message body in the target message body to be transmitted.

[0048] In this embodiment of the invention, the message volume, message transmission delay, and message retransmission count of the target message body to be transmitted can be output to the process monitoring tool through the exposed indicator measurement interface, so as to achieve seamless integration with the process monitoring tool.

[0049] The technical solution of this invention obtains the message to be converted, determines the target message elements and the message element filling order according to the standard message model, parses the message to be converted to obtain the target valid data, and then fills the message according to the target message elements and the message element filling order to obtain the initial standard message. The initial standard message is further converted into RabbitMQ format to obtain the target message body to be transmitted, and the target message body to be transmitted is then transmitted transparently according to the routing configuration data. In this solution, multiple heterogeneous messages of various formats can be uniformly converted and output through a single access, and unified interface with downstream RabbitMQ can be achieved. This avoids the need for private deployment of multiple sets of heterogeneous message queues and transparent transmission services, and decouples business code from middleware. That is, middleware replacement will not affect the global deployment of the IoT private deployment, solving the problems of severe resource redundancy and high operational complexity in existing IoT private deployments. It can reduce resource redundancy in existing IoT private deployments, break the strong coupling of the architecture, and thus reduce operational complexity.

[0050] Example 3 Embodiment 3 of the present invention provides an optional embodiment of a heterogeneous message transmission system architecture, the specific implementation of which can be found in the following embodiments. Technical terms that are the same as or corresponding to those in the above embodiments will not be repeated here.

[0051] The heterogeneous message transmission system architecture includes offline devices (gateway locks and home locks), device gateways, a consumer-facing home lock cloud service platform, MQTT middleware, RabbitMQ middleware, an IoT rental server, a cloud open platform, microservice components, Kafka middleware, Connect Server (message conversion module), device authorization middleware, and the consumer-facing MQTT middleware. For the key architecture details of the heterogeneous message transmission system, please refer to [link to relevant documentation]. Figure 3 The microservice component receives data from users (operator administrators, tenants, and developers). The cloud open platform communicates with the operator's services.

[0052] The heterogeneous message transmission system architecture also includes value-added services (such as anti-theft home locks), customized services (such as smart campuses), health monitoring middleware, scheduled task middleware, recording middleware, file storage middleware, log tracking middleware, caching middleware, database middleware, and registration discovery and configuration center middleware.

[0053] Only one RabbitMQ and Connect-Server are deployed locally. Connect-Server includes a protocol access layer, a message standardization layer, a routing-transformation engine, a buffering-retransmission layer, and a unified monitoring interface. The original third-party pass-through scripts are migrated to the routing-transformation engine, while the business microservices maintain their original RabbitMQ subscription logic. Connect-Server nodes can be horizontally scaled with a single click using Helm scripts, allowing QPS (queries per second) to grow linearly.

[0054] The SIM device establishes a short connection using the Transport Layer Security (TLS) protocol. The protocol access layer recognizes this as a short connection session mode and performs format conversion on the message to be converted sent by the SIM device according to the standard message model to obtain an initial standard message. The routing-conversion engine converts the initial standard message into RabbitMQ format according to the script and delivers it. After returning an MQTT ACK, the TLS protocol is disconnected. The business microservice receives the target message body to be transmitted from RabbitMQ and completes the business processing.

[0055] The protocol access layer identifies client identifier prefixes and automatically distinguishes between long-connection and short-connection session modes. For short-connection sessions, "flash connection optimization" is enabled, releasing the transport layer security protocol immediately after a data exchange, reducing wireless traffic by 40%. The message standardization layer defines a unified standard message model, UnifiedMsg{device identifier, payload, timestamp, quality response, working mode}, parses and fills the message to be transformed into UnifiedMsg, masking packet differences to obtain the initial standard message. The routing-conversion engine, based on configurable Groovy / JS scripts, converts the initial standard message into the format required by downstream RabbitMQ, supporting "multi-route for the same type of message" and enabling third-party pass-through functionality without the need to deploy multiple pass-through services. The buffer-retransmission layer uses a local RocksDB (embedded key-value storage system) to fragment and persist the target message body, ensuring zero message loss after a Connect-Server crash and restart. For short-connection session modes, the target message body to be transmitted is retransmitted using an "exponential backoff + random jitter" retransmission strategy. For long-connection session modes, a "sliding window" strategy is used to balance low power consumption and high throughput. A unified monitoring interface exposes a Metrics interface to output the message volume, message transmission latency, and message retransmission count of the target message body, achieving seamless integration with process monitoring tools.

[0056] The buffer-retransmission layer can use SQLite (a lightweight database) or memory-mapped files instead of RocksDB; the unified monitoring interface can be an observability framework specification.

[0057] When deploying devices locally in a private environment, the message middleware type is simplified from "Kafka + distributed message middleware + message queue" to "RabbitMQ only", saving 60% of memory and 45% of CPU. N components of the third-party pass-through service are replaced by the Connect-Server script, reducing the deployment package size by 70%, reducing the upgrade window from hours to minutes, and reducing the average end-to-end latency of short connection device messages from 400ms to 180ms.

[0058] By using a unified MQTT access port, it is compatible with both "LoRa gateway long connection" and "SIM short connection" devices, and internally converts them into a unified standard message model. Finally, it outputs to a single RabbitMQ cluster. Its routing-conversion engine completes the third-party pass-through function through configurable scripts, thereby avoiding the need to deploy multiple pass-through services. Its buffer-retransmission layer adopts "exponential backoff" and "sliding window" strategies for the two connection types, respectively, to take into account both low-power terminals and high-throughput gateways.

[0059] The Connect-Server simultaneously opens Port 1883 (LoRa gateway long connection) and Port 8883 (SIM short connection) to the northbound direction, enabling unified MQTT access for narrowband IoT, Cat-1 (LTE UE-Category 1, a terminal capability level under 4G LTE network), LoRa, WiFi, and Ethernet devices. The protocol access layer automatically identifies the device type through the client identifier prefix, and the message standardization layer completes differentiated preprocessing and outputs a unified UnifiedMsg. When adding a new network standard, only the corresponding parsing plugin needs to be added to the message standardization layer to achieve three-dimensional expansion of "device-protocol-network" without adjusting the service microservice or message bus configuration, enabling multi-device and multi-protocol access.

[0060] Connect-Server connects to the single RabbitMQ via a standard message model in the southbound direction. Business microservices can obtain all device data simply by subscribing to RabbitMQ, without needing to be aware of upstream device types, protocol differences, or message formats.

[0061] After identifying the client identifier prefix at the protocol access layer, Connect-Server strips the MQTT retransmission flag, remaining length field, message identifier, LoRa physical layer HopCnt (hop count), and routing path relay information from the LoRa gateway long connection session, retaining only the service payload and quality of service level to generate a unified standard message model UnifiedMsg. It also removes the transport layer security protocol handshake padding field, transport layer security protocol / Internet protocol segmentation sequence number, KeepAlive (keep-alive mechanism), CleanStart (reset connection flag), and SessionPresent (session current identifier) ​​from the SIM card short connection session, and merges multiple PUBLISH payloads split due to wireless data saving into a single service payload to generate a unified standard message model.

[0062] Deploying only one RabbitMQ and Connect-Server on a private local machine replaces the original three heterogeneous middlewares (Kafka, distributed message middleware, and message queue) and N third-party transparent service components. The deployment package size is reduced by 70%, memory usage by 60%, CPU usage by 45%, and the upgrade window is shortened from hours to minutes.

[0063] Example 4 Figure 4 This is a schematic diagram of a heterogeneous message transmission device provided in Embodiment 4 of the present invention. Figure 4 As shown, the device includes: The message acquisition module 310 is used to acquire messages to be converted; among which, the messages to be converted include private deployment upload messages and / or third-party public cloud upload messages; The format conversion module 320 is used to convert the format of the message to be converted according to the standard message model to obtain the initial standard message. The data pass-through module 330 is used to convert the initial standard message into RabbitMQ format, obtain the target message body to be transmitted, and pass-through the target message body to be transmitted according to the routing configuration data.

[0064] The technical solution of this invention obtains the message to be converted and performs format conversion on the message according to the standard message model to obtain the initial standard message. This initial standard message is then converted into RabbitMQ format to obtain the target message body to be transmitted. The target message body is then transmitted transparently according to the routing configuration data. In this solution, multiple heterogeneous message formats can be uniformly converted and output with a single access, gateway long connections and SIM short connections can be normalized, and unified interface with downstream RabbitMQ can be achieved. This avoids the need for private deployment of multiple sets of heterogeneous message queues and transparent transmission services, and decouples business code from middleware. That is, middleware replacement will not affect the global deployment of the IoT private deployment. This solves the problems of severe resource redundancy and high operational complexity caused by strong architectural coupling in existing IoT private deployments. It can reduce resource redundancy in existing IoT private deployments, break the strong coupling of the architecture, and thus reduce operational complexity.

[0065] Optionally, the format conversion module 320 is specifically used to determine the target message elements and the message element filling order according to the standard message model; parse the message to be converted according to the target message elements to obtain the target valid data; and fill the message with the target valid data according to the message element filling order to obtain the initial standard message.

[0066] Optionally, the format conversion module 320 is specifically used to parse the message to be converted based on the message parsing plugin and the target message elements when the message to be converted is a non-preset network data type, to obtain the target valid data; wherein, the non-preset network data type includes narrowband Internet of Things data type.

[0067] Optionally, the target message elements include device identifier, payload, timestamp, quality response, and operating mode; the heterogeneous message transmission device also includes a short connection disconnection module, used to disconnect the transport layer security protocol and trigger an acknowledgment mechanism when the operating mode corresponding to the target message body to be transmitted is short connection session mode.

[0068] Optionally, the data pass-through module 330 is specifically used to determine the transmission route of each message body in the target message body to be transmitted according to the routing configuration data; and to pass-through the data of each message body in the target message body to be transmitted according to the corresponding transmission route; wherein the transmission routes of message bodies of the same type in the target message body to be transmitted are the same or different.

[0069] Optionally, the heterogeneous message transmission device further includes a persistence module and a retransmission module. The persistence module is used to fragment and persist the target message body to be transmitted. The retransmission module is used to retransmit the target message body to be transmitted based on an exponential backoff and random jitter strategy when the operating mode corresponding to the target message body to be transmitted is a short connection session mode; and to retransmit the target message body to be transmitted based on a sliding window strategy when the operating mode corresponding to the target message body to be transmitted is a long connection session mode.

[0070] Optionally, the heterogeneous message transmission device also includes a data output module, which outputs the message volume, message transmission delay, and message retransmission count of the target message body to be transmitted to the process monitoring tool through an indicator measurement interface.

[0071] The heterogeneous message transmission device provided in the embodiments of the present invention can execute the heterogeneous message transmission method provided in any embodiment of the present invention, and has the corresponding functional modules and beneficial effects of executing the method.

[0072] Example 5 Figure 5 A schematic diagram of an electronic device that can be used to implement embodiments of the present invention is shown. The electronic device is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The components shown herein, their connections and relationships, and their functions are merely illustrative and are not intended to limit the implementation of the invention described and / or claimed herein.

[0073] like Figure 5As shown, the electronic device 10 includes at least one processor 11 and a memory, such as ROM 12, RAM 13, etc., communicatively connected to the at least one processor 11. The memory stores computer programs executable by the at least one processor. The processor 11 can perform various appropriate actions and processes based on the computer program stored in the ROM 12 or loaded into the RAM 13 from the storage unit 18. The RAM 13 can also store various programs and data required for the operation of the electronic device 10. The processor 11, ROM 12, and RAM 13 are interconnected via a bus 14. An I / O interface 15 is also connected to the bus 14. The ROM 12 is a read-only memory, the RAM 13 is a random access memory, and the I / O interface 15 is an input / output interface.

[0074] Multiple components in electronic device 10 are connected to I / O interface 15, including: input unit 16, such as keyboard, mouse, etc.; output unit 17, such as various types of displays, speakers, etc.; storage unit 18, such as disk, optical disk, etc.; and communication unit 19, such as network card, modem, wireless transceiver, etc. Communication unit 19 allows electronic device 10 to exchange information / data with other devices through computer networks such as the Internet and / or various telecommunications networks.

[0075] Processor 11 can be a variety of general-purpose and / or special-purpose processing components with processing and computing capabilities. Some examples of processor 11 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various special-purpose artificial intelligence (AI) computing chips, various processors running machine learning model algorithms, a digital signal processor (DSP), and any suitable processor, controller, microcontroller, etc. Processor 11 performs the various methods and processes described above, such as methods for transmitting heterogeneous messages.

[0076] In some embodiments, the heterogeneous message transmission method may be implemented as a computer program tangibly contained in a computer-readable storage medium, such as storage unit 18. In some embodiments, part or all of the computer program may be loaded and / or installed on electronic device 10 via ROM 12 and / or communication unit 19. When the computer program is loaded into RAM 13 and executed by processor 11, one or more steps of the heterogeneous message transmission method described above may be performed. Alternatively, in other embodiments, processor 11 may be configured to perform the heterogeneous message transmission method by any other suitable means (e.g., by means of firmware).

[0077] Various embodiments of the systems and techniques described above herein can be implemented in digital electronic circuit systems, integrated circuit systems, field-programmable gate arrays (FPGAs), application-specific integrated circuits (ASICs), application-specific standard products (ASSPs), systems-on-a-chip (SoCs), payload-programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various embodiments may include implementations in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which may be a dedicated or general-purpose programmable processor, capable of receiving data and instructions from a storage system, at least one input device, and at least one output device, and transmitting data and instructions to the storage system, the at least one input device, and the at least one output device.

[0078] Computer programs used to implement the methods of the present invention may be written in any combination of one or more programming languages. These computer programs may be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing device, such that when executed by the processor, the computer programs cause the functions / operations specified in the flowcharts and / or block diagrams to be performed. The computer programs may be executed entirely on a machine, partially on a machine, or as a standalone software package, partially on a machine and partially on a remote machine, or entirely on a remote machine or server.

[0079] In the context of this invention, a computer-readable storage medium can be a tangible medium that may contain or store a computer program for use by or in conjunction with an instruction execution system, apparatus, or device. A computer-readable storage medium may include, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination of the foregoing. Alternatively, a computer-readable storage medium may be a machine-readable signal medium. More specific examples of machine-readable storage media include electrical connections based on one or more wires, portable computer disks, hard disks, RAM, ROM, erasable programmable read-only memory (EPROM or flash memory), optical fibers, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination of the foregoing.

[0080] To provide interaction with a user, the systems and techniques described herein can be implemented on an electronic device having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user; and a keyboard and pointing device (e.g., a mouse or trackball) through which the user provides input to the electronic device. Other types of devices can also be used to provide interaction with the user; for example, feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including sound input, voice input, or tactile input).

[0081] The systems and technologies described herein can be implemented in computing systems that include backend components (e.g., as data servers), or middleware components (e.g., application servers), or frontend components (e.g., user computers with graphical user interfaces or web browsers through which users can interact with implementations of the systems and technologies described herein), or any combination of such backend, middleware, or frontend components. The components of the system can be interconnected via digital data communication of any form or medium (e.g., communication networks). Examples of communication networks include local area networks (LANs), wide area networks (WANs), blockchain networks, and the Internet.

[0082] A computing system can include clients and servers. Clients and servers are generally located far apart and typically interact through communication networks. The client-server relationship is created by computer programs running on the respective computers and having a client-server relationship with each other. The server can be a cloud server, also known as a cloud computing server or cloud host, which is a hosting product within the cloud computing service system to address the shortcomings of traditional physical hosts and VPS servers, such as high management difficulty and weak business scalability.

[0083] This application also discloses a computer program product, which includes a computer program that, when executed by a processor, implements the heterogeneous message transmission method provided in any embodiment of this application. This program product and the heterogeneous message transmission method disclosed in the embodiments of this application belong to the same inventive concept, and therefore will not be described in detail here.

[0084] It should be understood that the various forms of processes shown above can be used, with steps reordered, added, or deleted. For example, the steps described in this invention can be executed in parallel, sequentially, or in different orders, as long as the desired result of the technical solution of this invention can be achieved, and this is not limited herein.

[0085] The specific embodiments described above do not constitute a limitation on the scope of protection of this invention. Those skilled in the art should understand that various modifications, combinations, sub-combinations, and substitutions can be made according to design requirements and other factors. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of this invention should be included within the scope of protection of this invention.

Claims

1. A method for transmitting heterogeneous messages, characterized in that, include: Obtain the message to be converted; wherein, the message to be converted includes private deployment upload message and / or third-party public cloud upload message; The message to be converted is formatted according to the standard message model to obtain the initial standard message; The initial standard message is converted into RabbitMQ format to obtain the target message body to be transmitted, and the target message body to be transmitted is then transmitted transparently according to the routing configuration data.

2. The method according to claim 1, characterized in that, According to the standard message model, the message to be converted is formatted to obtain an initial standard message, including: Based on the standard message model, determine the target message elements and the order in which the message elements are filled. The message to be converted is parsed based on the target message elements to obtain the target valid data; The target valid data is filled into the message according to the filling order of the message elements to obtain the initial standard message.

3. The method according to claim 2, characterized in that, The message to be converted is parsed based on the target message elements to obtain the target valid data, including: When the message to be converted is a non-preset network data type, the message to be converted is parsed based on the message parsing plugin and the target message elements to obtain the target valid data; The non-preset network data types include narrow-bandwidth Internet of Things (IoT) data types.

4. The method according to claim 2, characterized in that, Target message elements include device identifier, payload, timestamp, quality response, and operating mode; After the target message body to be transmitted is transparently transmitted according to the routing configuration data, the process includes: When the working mode corresponding to the target message body to be transmitted is short connection session mode, the transport layer security protocol is disconnected and the acknowledgment mechanism is triggered.

5. The method according to claim 1, characterized in that, The target message body to be transmitted is transparently transmitted according to the routing configuration data, including: Based on the routing configuration data, determine the transmission route for each message body in the target message body to be transmitted; Each message body in the target message body to be transmitted is transmitted through the data according to the corresponding transmission route; Among them, the transmission routes of message bodies of the same type in the target message body to be transmitted are the same or different.

6. The method according to claim 4, characterized in that, After converting the initial standard message into RabbitMQ format to obtain the target message body to be transmitted, the process also includes: The target message body to be transmitted is fragmented and persisted. The target message body to be transmitted is transparently transmitted according to the routing configuration data, including: When the working mode corresponding to the target message body to be transmitted is short connection session mode, the target message body to be transmitted is retransmitted based on exponential backoff and random jitter strategy. When the working mode corresponding to the target message body to be transmitted is long connection session mode, the target message body to be transmitted is retransmitted based on the sliding window strategy.

7. The method according to claim 1, characterized in that, Also includes: The message volume, message transmission delay, and message retransmission count of the target message body to be transmitted are output to the process monitoring tool through the indicator measurement interface.

8. An electronic device, characterized in that, The electronic device includes: At least one processor, and a memory communicatively connected to said at least one processor; The memory stores a computer program that can be executed by the at least one processor, which is then executed by the at least one processor to enable the at least one processor to perform the heterogeneous message transmission method according to any one of claims 1-7.

9. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer instructions that, when executed by a processor, implement the method for transmitting heterogeneous messages as described in any one of claims 1-7.

10. A computer program product, characterized in that, The computer program product includes a computer program that, when executed by a processor, implements the method for transmitting heterogeneous messages according to any one of claims 1-7.