Message pushing method, device and equipment

By using a proxy server based on the unique identifier of the application to be pushed to the terminal device and utilizing a preset connection channel, message push for multiple applications can be achieved, which solves the problem of increased power consumption and network load on terminal devices, and realizes resource saving and efficiency improvement.

CN121239737APending Publication Date: 2025-12-30NEW POS TECH
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
CN202511217596.5
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-08-28
Publication Date
2025-12-30

AI Technical Summary

Technical Problem

In existing technologies, the independent establishment of push channels by applications on multiple terminal devices leads to increased power consumption and network load, as well as serious waste of server resources and communication resources.

Method used

By receiving messages from the application server through a proxy server, and based on the unique identifier of the application to be pushed in the terminal device, the message is pushed to the application management module of the terminal device through a preset connection channel. The application management module then forwards the message to the target application. Only a single connection channel needs to be established to achieve message push for multiple applications.

Benefits of technology

It reduces the power consumption and network load of terminal devices, reduces the consumption of server development resources, and saves communication resources.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121239737A_ABST
    Figure CN121239737A_ABST
Patent Text Reader

Abstract

The invention relates to the field of communication, in particular to a message pushing method, device and equipment. The method comprises the steps that a proxy server receives a first message sent by an application server, the first message comprises a theme for subscription and data needing to be sent by the application server, and the data or the theme comprises a unique identifier of a to-be-pushed application; the proxy server searches a terminal device corresponding to the theme of the first message according to predetermined application registration information; and the proxy server pushes the first message to the terminal equipment through a preset connection channel, so that an application management module of the terminal equipment forwards the data to the to-be-pushed application according to the unique identifier of the to-be-pushed application of the theme. According to the method, messages of multiple applications can be pushed only by establishing a single connection channel, the power consumption and the network load of terminal equipment are reduced, the consumption of server development resources is reduced, and communication resources are saved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of communications, and more particularly to a message push method, apparatus, and device. Background Technology

[0002] Push notifications refer to servers proactively sending messages to clients. In mobile applications, push notifications allow developers to deliver important information (such as news, promotions, system notifications, etc.) to users in real time, even when the application is not open. The implementation of push notifications relies on the communication mechanism between the push server and the client, typically achieved through either long-lived or short-lived connections for real-time message delivery.

[0003] As the hardware performance of POS terminal devices improves, the number of applications installed on a single terminal device is also increasing. If each application establishes its own push channel, multiple long-lived connections need to be established for a single terminal device, increasing the terminal device's power consumption and network load, and easily leading to the consumption of server development resources and waste of communication resources. Summary of the Invention

[0004] In view of this, embodiments of this application provide a message push method, apparatus, and device to solve the problems in the prior art where message push to multiple applications on multiple terminal devices easily increases the power consumption and network load of terminal devices, and easily leads to the consumption of server development resources and the waste of communication resources.

[0005] A first aspect of this application provides a message push method, the method comprising:

[0006] The proxy server receives a first message sent by the application server. The first message includes a topic for subscription and data that the application server needs to send. The topic or the data includes a unique identifier of the application to be pushed in the terminal device. The application to be pushed in the terminal device is the application that the first message needs to push to.

[0007] The proxy server searches for the terminal device corresponding to the topic of the first message based on the pre-determined application registration information. The application registration information includes the topics subscribed to by the application to be pushed on different terminal devices.

[0008] The proxy server pushes the first message to the terminal device through a preset connection channel, so that the application management module of the terminal device forwards the data to the target application according to the unique identifier of the topic or the application to which the data is to be pushed.

[0009] With reference to the first aspect, in a first possible implementation manner of the first aspect, before the proxy server receives the first message required to be sent by the application server, the method further includes:

[0010] The proxy server receives an application registration request of the terminal device, the registration request including an application identifier of an application to be registered and a device identifier of the terminal device;

[0011] The proxy server generates a unique identifier of the application to be registered according to the application identifier of the application to be registered and the device identifier of the terminal device on which the application to be registered is located.

[0012] With reference to the first possible implementation manner of the first aspect, in a second possible implementation manner of the first aspect, the proxy server is an MQTT server;

[0013] Before the proxy server generates the unique identifier of the application to be registered according to the application identifier of the application to be registered and the device identifier of the terminal device on which the application to be registered is located, the method further includes:

[0014] The proxy server determines whether the terminal device is a device allowed to use MQTT communication according to the device identifier, and determines whether the application to be registered is an application allowed to use MQTT communication according to the application identifier;

[0015] When both the terminal device and the application to be registered are allowed to use MQTT communication, the proxy server generates the unique identifier of the application to be registered according to the application identifier of the application to be registered and the device identifier of the terminal device on which the application to be registered is located.

[0016] With reference to the first possible implementation manner of the first aspect, in a third possible implementation manner of the first aspect, the proxy server generates the unique identifier of the application to be registered according to the application identifier of the application to be registered and the device identifier of the terminal device, including:

[0017] The proxy server performs digest calculation according to the device identifier of the terminal device on which the application to be registered is located to obtain a digest identifier of the terminal device;

[0018] The proxy server generates the unique identifier of the application to be registered according to the digest identifier of the terminal device and in combination with an application serial number of the application to be registered.

[0019] With reference to the first aspect, in a fourth possible implementation manner of the first aspect, the proxy server is an MQTT server;

[0020] Before the proxy server receives the first message required to be sent by the application server, the method further includes:

[0021] The proxy server receives the MQTT connection channel request from the terminal device for the application to be connected.

[0022] After the MQTT connection channel request verification is completed, the proxy server establishes an MQTT connection channel with the terminal device and sends the proxy server address to the application to be connected, so that the application to be connected will send the proxy server address to the application server of the application to be connected.

[0023] In conjunction with the first aspect, in a fifth possible implementation of the first aspect, before the proxy server pushes the first message to the terminal device through a preset connection channel, the method further includes:

[0024] The proxy server receives a random key from the application to be pushed in the terminal device. The random key is randomly generated by the application to be pushed and encrypted by the application to be pushed according to a preset first key.

[0025] The proxy server obtains the random key by decrypting using a preset second key, wherein the first key and the second key are either symmetric keys or asymmetric keys.

[0026] The proxy server pushes the first message to the terminal device through a preset connection channel, including:

[0027] The proxy server encrypts the data in the first message using the random key to obtain encrypted data, and pushes the encrypted data to the terminal device through a preset connection channel.

[0028] In conjunction with the first aspect, in a sixth possible implementation of the first aspect, the proxy server pushes the first message to the terminal device through a preset connection channel, including:

[0029] The proxy server obtains the message type and / or service level of the first message;

[0030] The proxy server determines the push order of the first message based on the message type and / or service level.

[0031] A second aspect of this application provides a message receiving method, the method being applied to a terminal device, the terminal device including an application management module and an application to be pushed, the method including:

[0032] The proxy server determines the topics to be subscribed to, the topics including the unique identifier of the application to be pushed to the terminal device;

[0033] Based on the subscribed topic, the application management module receives the first message pushed by the proxy server. The first message is generated by the application server corresponding to the application to be pushed, and the first message includes the topic to be subscribed and the data that the application server needs to send.

[0034] Based on the unique identifier of the application to which the topic or data is to be pushed, the data is forwarded to the target application through the application management module.

[0035] A third aspect of this application provides a message push device, the device comprising:

[0036] A message receiving unit is configured to receive a first message sent by an application server from a proxy server. The first message includes a topic for subscription and data that the application server needs to send. The topic or the data includes a unique identifier of the application to be pushed in the terminal device. The application to be pushed in the terminal device is the application to which the first message needs to be pushed.

[0037] The terminal device lookup unit is used by the proxy server to look up the terminal device corresponding to the topic of the first message based on the pre-determined application registration information, wherein the application registration information includes the topics subscribed to by the application to be pushed on different terminal devices.

[0038] The message push unit is used to push the first message to the terminal device through a preset connection channel by the proxy server, so that the application management module of the terminal device forwards the data to the target application according to the topic or the unique identifier of the application to be pushed to the data.

[0039] A fourth aspect of this application provides a message push device, including a memory, a processor, and a computer program stored in the memory and executable on the processor. When the processor executes the computer program, the message push device causes the message push device to implement the method as described in any of the first aspects.

[0040] A fifth aspect of this application provides a computer program product that, when run on a computer, causes the computer to execute the methods described in the first aspect or its various implementations.

[0041] A sixth aspect of this application provides a computer-readable storage medium storing a computer program that, when executed by a processor, implements the steps of the method as described in any of the first aspects.

[0042] A seventh aspect of this application provides a chip for implementing the methods in the various implementations of the first aspect described above. Specifically, the chip includes a processor for calling and running a computer program from a memory, causing a device equipped with the chip to perform the methods as described in the first aspect or its various implementations.

[0043] The beneficial effects of this application embodiment compared with the prior art are as follows: When the application server pushes a message to the application in this application embodiment, the proxy server receives the first message with a topic. Based on the topic subscribed by the application to be pushed on the terminal device, the first message is pushed to the application management module in the terminal device through a preset connection channel. The application management module forwards the data in the first message to the application to be pushed according to the unique identifier of the application to be pushed in the first message. When there are multiple applications in the terminal, only a single connection channel needs to be established between the application management module and the proxy server to realize the push of messages from multiple applications. This helps to reduce the power consumption and network load of the terminal device, reduce the consumption of server development resources, and save communication resources. Attached Figure Description

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

[0045] Figure 1 This is a schematic diagram illustrating an application scenario of a message push method provided in an embodiment of this application;

[0046] Figure 2 This is a schematic diagram illustrating the implementation process of a message push method provided in an embodiment of this application;

[0047] Figure 3 This is a schematic diagram illustrating the implementation process of an application registration method provided in an embodiment of this application;

[0048] Figure 4 This is a schematic diagram illustrating the implementation process of a method for establishing a connection channel provided in an embodiment of this application;

[0049] Figure 5 This is a schematic diagram of a message push device provided in an embodiment of this application;

[0050] Figure 6 This is a schematic diagram of a message push device provided in an embodiment of this application. Detailed Implementation

[0051] In the following description, specific details such as particular system architectures and techniques are set forth for illustrative purposes and not for limitation, in order to provide a thorough understanding of the embodiments of this application. However, those skilled in the art will understand that this application may also be implemented in other embodiments without these specific details. In other instances, detailed descriptions of well-known systems, apparatuses, circuits, and methods have been omitted so as not to obscure the description of this application with unnecessary detail.

[0052] To illustrate the technical solution described in this application, specific embodiments are provided below.

[0053] Push notifications are a technology where servers proactively send real-time messages to clients (such as mobile applications). In mobile application scenarios, this technology allows developers to deliver critical information (such as news, promotions, and system notifications) to users in a timely manner without them actively opening the application, improving user experience and business efficiency. Push notifications rely on the communication mechanism between the push server and the client, typically using either long-lived or short-lived connections for real-time data transmission.

[0054] With the improvement of POS terminal hardware performance, the number of applications running on a single terminal device has increased significantly (such as payment applications, membership management, inventory systems, etc.). If each application establishes an independent push channel, the following problems will occur:

[0055] 1. Increased terminal resource consumption: A single device needs to maintain multiple long connections, which significantly increases power consumption and network bandwidth usage.

[0056] 2. Server load pressure: The server needs to maintain a separate push channel for each application, which will consume a lot of development resources (such as multiple sets of server-side logic) and communication resources (such as redundant connection management).

[0057] 3. Low push efficiency: Dispersed channel management can easily lead to message delays, duplicate pushes, or missed pushes, affecting the timeliness of business operations.

[0058] To address the aforementioned problems, this application proposes a message push method. Figure 1 This is a schematic diagram illustrating an implementation scenario for this message push method. For example... Figure 1As shown, the message push implementation scenario includes a terminal device 1, a proxy server 2, and an application server 3. Terminal device 1 includes an application management module 11 and one or more applications 12 to be pushed to. The application management module 11 can establish a connection channel between each application 12 to be pushed to terminal device 1 and the proxy server 2, and send the proxy server address to the application server of the registered applications to be pushed. The application server 3 can generate a first message to be sent to the applications 12 to be pushed to. The first message includes the data to be sent and the topics to be subscribed to. The application server 3 can send the first message to be pushed to the proxy server 2 according to the pre-obtained proxy server address. The proxy server 2 can compare the topics in the first message with the topics of each application 12 to be pushed to determine the terminal device to which the first message should be pushed. After receiving the first message pushed by the proxy server 2, terminal device 1 forwards the data to the applications to be pushed to based on the unique identifier of the applications to be pushed to terminal device 1 in the first message.

[0059] For security reasons, the application management module can generate a random key for each application to be pushed to, encrypt the random key using a preset manufacturer key, and then send it to proxy server 2. After receiving the first message from application server 3, proxy server 2 can encrypt the first message or the data to be sent in the first message using the same random key. The encrypted data is then sent to terminal device 1, where the application management module 11 decrypts it to obtain the data sent by the application server. Based on the subject of the first message, the application to be pushed to is identified as 12, and the data sent by the application server is forwarded to 12.

[0060] Figure 2 The following is a detailed flowchart illustrating the implementation process of a message push method provided in an embodiment of this application:

[0061] In S201, the proxy server receives the first message sent by the application server.

[0062] The first message includes a subject and data that the application server needs to send. The data or subject includes a unique identifier of the application to be pushed to in the terminal device. The application to be pushed to in the terminal device is the application to which the first message needs to be pushed.

[0063] In this embodiment, the proxy server receives a first message from the application server, locates applications that have subscribed to the topic included in the first message, and pushes the first message to the terminal device where the applications to be pushed reside. The applications to be pushed are those on the terminal device to which the proxy server pushes the message. These applications can be the application management module itself on the terminal device, such as Store applications, or third-party applications installed on the terminal device.

[0064] The application server is the server corresponding to the application to be pushed. Each application to be pushed typically has a corresponding application server. For example, if application A, application B, and application C are installed on a terminal device, the corresponding servers could be server A1, server B1, and server C1. Under normal circumstances, establishing a connection channel between each application server and the application to be pushed consumes significant communication resources and power, and can easily lead to increased server development resource consumption. Therefore, in this embodiment, the terminal device only needs to establish a single connection channel with the proxy server. All applications to be pushed on the terminal device can send messages through this connection channel, effectively reducing communication resource consumption, saving power, and lowering server development resource consumption.

[0065] The first message in this embodiment includes a topic and the data that the application server needs to send. The topic includes a unique identifier for the application to be pushed to the terminal device. To distinguish the same application to be pushed to different terminal devices, the unique identifier includes identifiers for different terminal devices and identifiers for different applications to be pushed to. For example, the identifier of the terminal device can be determined based on the characteristic information of the terminal device. The characteristic information of the terminal device may include at least one of the following: the manufacturer of the terminal device, the model of the terminal device, the serial number of the terminal device, the logical code of the terminal device, the IMEI (International Mobile Equipment Identity), MAC (Media Access Control Address), Android ID, etc. The characteristic information of the terminal device can be digested to obtain a digest identifier for the terminal device as an identifier to distinguish different terminal devices. The identifier of the application to be pushed may include the application serial number (SN) of the application to be pushed (which may also be called the application to be registered during application registration).

[0066] Before the proxy server receives the first message from the application server, the application to be pushed needs to register with the proxy server and obtain its address so that the application server can send the first message to the proxy server. The process of the terminal device registering with the proxy service can be as follows:Figure 3 As shown, it includes:

[0067] In S301, the proxy server receives an application registration request from a terminal device. The registration request includes the application identifier of the application to be registered and the device identifier of the terminal device.

[0068] When an application waiting to be registered (which is called a push notification application after successful registration) on a terminal device registers with the proxy server, it can send a registration request to the proxy server through the application management module on the terminal device.

[0069] In S302, the proxy server generates a unique identifier for the application to be registered based on the application identifier of the application to be registered and the device identifier of the terminal device where the application to be registered is located.

[0070] The application identifier included in the registration request may include an application serial number (SN) or other identifier used to uniquely identify the application on the terminal device. The device identifier in the registration request may be characteristic information of the terminal device, or it may be a digest identifier obtained by digesting the characteristic information of the terminal device.

[0071] When generating a unique identifier for an application to be registered based on the application identifier and the device identifier, the proxy server can perform digest calculation based on the device identifier of the terminal device where the application to be registered is located to obtain the digest identifier of the terminal device; and generate the unique identifier of the application to be registered based on the digest identifier of the terminal device and the application serial number of the application to be registered.

[0072] For example, the characteristic information of a terminal device includes its manufacturer, model, serial number, logical code, IMEI, MAC address, and Android ID. A hash algorithm is selected to calculate the digest, such as SHA-1, to obtain the digest result, which serves as the digest identifier. This digest identifier uniquely identifies the application on the terminal device. Since different terminal devices have different characteristic information, the calculated digest identifiers will also be different. Furthermore, the digest identifier is relatively short, facilitating rapid device matching or comparison.

[0073] In possible implementations, for special applications developed based on open SDK DEMOs, such as acquiring applications in POS terminals, privateDate node information can be added during the registration process to distinguish applications and obtain a unique identifier including private data node information.

[0074] After generating a unique identifier for the application to be registered, the proxy server can send this unique identifier to the application server corresponding to that application. When the application server needs to send data to the application to be registered, it will use this unique identifier as the subject of the data sent.

[0075] In one possible implementation, after the proxy server generates a unique identifier for the application to be registered, it can send this unique identifier to the application, which then forwards it to the corresponding application server. When the application server needs to send data to the application to be registered, it uses this unique identifier as the subject of the data being sent.

[0076] In a possible implementation, the proxy server determines whether the terminal device is allowed to use MQTT communication based on the device identifier, and determines whether the application to be registered is allowed to use MQTT communication based on the application identifier. If both the terminal device and the application to be registered are allowed to use MQTT communication, the proxy server generates a unique identifier for the application to be registered based on the application identifier of the application to be registered and the device identifier of the terminal device where the application to be registered resides.

[0077] When processing application registration, the proxy server first checks whether the terminal device and the application to be registered are allowed to use MQTT communication. Only when both meet the conditions will it generate a unique MQTT identifier (RegId) for the application to be registered, which will be used for subsequent message push.

[0078] The proxy server can query a preset whitelist or rule base based on the device identifier (including device serial number SN, device IMEI, device MAC address, etc.) to determine whether the terminal device is allowed to use MQTT communication.

[0079] The proxy server queries the permission configuration of the application to be registered based on the application identifier (such as APPID or application serial number) to determine whether the application to be registered is allowed to communicate via MQTT.

[0080] In possible implementations, before the proxy server pushes the first message, embodiments of this application may further include a process of establishing a connection channel. This connection channel can be a long-lived connection or a short-lived connection. A long-lived connection may include, for example, an MQTT connection. The process of establishing an MQTT connection channel may be as follows: Figure 4 As shown, it includes:

[0081] In S401, the proxy server receives the MQTT connection channel request from the application to be connected to the terminal device.

[0082] The applications in the terminal device include application management modules (such as store applications) and third-party applications. The application management module can send an MQTT connection channel request to the proxy server. That is, the application management module establishes a communication channel with the proxy server through the MQTT protocol. The application management module can send and receive messages based on this communication channel. Other third-party applications can share this communication channel with the application management module. That is, after the communication channel is established, third-party applications can also send and receive messages with the proxy server based on this communication channel.

[0083] In S402, after the MQTT connection channel request verification is completed, the proxy server establishes an MQTT connection channel with the terminal device and sends the proxy server address to the application to be connected, so that the application to be connected sends the proxy server address to the application server of the application to be connected.

[0084] After receiving a request, the proxy server validates the MQTT connection request, checking its validity and whether the device is authorized to establish a connection. Once the validation is complete and everything is in order, the proxy server establishes an MQTT connection with the terminal device.

[0085] After establishing a connection, the proxy server sends its own server address to the application to be connected. The application then forwards this proxy server address to its application server. This allows the application server to interact with the application on the terminal device through the proxy server.

[0086] In S202, the proxy server searches for the terminal device corresponding to the topic of the first message based on the pre-determined application registration information.

[0087] The application registration information includes the topics subscribed to by the application to be pushed to on different terminal devices. For example, the application registration information may include device 1, device 2, device 3... device n, and the corresponding topics are topic 1, topic 2, topic 3... topic n, respectively. Topic 1, topic 2, topic 3... topic n actually correspond to unique identifier 1, unique identifier 2, unique identifier 3... unique identifier n, respectively. This unique identifier includes the device identifier of the terminal device where the application to be pushed is located, and the application identifier of the application to be pushed, which can be a summary identifier.

[0088] After receiving the first message, the proxy server searches for the unique identifier in the application registration information based on the unique identifier included in the first message, which is the terminal device corresponding to the topic.

[0089] In S203, the proxy server pushes the first message to the terminal device through a preset connection channel, so that the application management module of the terminal device forwards the data to the target application according to the topic or the unique identifier of the application to be pushed to the data.

[0090] After obtaining the proxy server address from the application to be pushed, if the application server needs to push data to the application, it can generate a first message based on the data and a unique identifier, and send the first message to the proxy server via the server address. The proxy server can find the terminal device with the unique identifier as the subscribed subject based on the application registration information, and send the first message to the terminal device according to the pre-established connection channel with that terminal device, such as a pre-established long connection channel. After receiving the first message, the application management module of the terminal device parses the unique identifier included in the first message, determines the application identifier of the application to be pushed, and pushes the data in the first message to the target application determined by the application identifier.

[0091] In possible implementations, to enhance the security of push data, embodiments of this application may, when establishing a connection channel, have the application to be pushed send a random key to the proxy server, so that each application to be pushed on each terminal device corresponds to a random key. Specifically, the proxy server receives the random key from the application to be pushed on the terminal device. The random key is randomly generated by the application to be pushed and encrypted by the application to be pushed according to a preset first key. The proxy server decrypts the random key using a preset second key, where the first key and the second key are either symmetric keys or asymmetric keys.

[0092] When the first and second keys are asymmetric keys, the first key can be a public key and the second key can be a private key. The random key can be a 3DES key.

[0093] After the proxy server receives and parses the encrypted data to obtain a random key, when it needs to push data to a specific application, the proxy server encrypts the data in the first message using the random key to obtain encrypted data, and pushes the encrypted data to the terminal device through a preset connection channel. Upon receiving the encrypted data, the application management module of the terminal device identifies the application to be pushed to based on the unique identifier in the first message, sends the encrypted data to the application, and decrypts the encrypted data using the random key to obtain the data pushed by the application server. This process prevents the data from being pushed to other applications, thus enhancing the security of application message transmission.

[0094] In possible implementations, to better utilize server resources and performance, embodiments of this application may have a proxy server obtain the message type and / or service level of the first message; the proxy server then determines the push order of the first message based on the message type and / or service level. For example, the message type may include instant messages and marketing messages, and different message push service levels can be preset, enabling messages with high push service levels, as well as instant messages, to be pushed more efficiently. Furthermore, embodiments of this application may set up a quota management system to set usage limits based on the application's service level, which helps to limit high-frequency pushes from unnecessary applications and provides push stability.

[0095] In addition, this application embodiment also provides a message receiving method based on a terminal device, which corresponds to the message push method described above. This message push method can be executed by the terminal device. The terminal device and a proxy server determine a subscribed topic, the topic including a unique identifier of the application to be pushed to in the terminal device. Based on the subscribed topic, an application management module receives a first message pushed by the proxy server. The first message is generated by the application server corresponding to the application to be pushed to, and the first message includes the subscribed topic and the data that the application server needs to send. According to the topic or the unique identifier of the application to be pushed to, the application management module forwards the data to the target application.

[0096] It should be understood that the sequence number of each step in the above embodiments does not imply the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of this application.

[0097] Figure 5 This is a schematic diagram of a message push device provided in an embodiment of this application. The device includes:

[0098] The message receiving unit 501 is used to receive a first message sent by the application server from the proxy server. The first message includes a topic for subscription and data that the application server needs to send. The topic or the data includes a unique identifier of the application to be pushed in the terminal device. The application to be pushed in the terminal device is the application to which the first message needs to be pushed.

[0099] The terminal device lookup unit 502 is used by the proxy server to look up the terminal device corresponding to the topic of the first message according to the pre-determined application registration information, wherein the application registration information includes the topics subscribed to by the application to be pushed in different terminal devices.

[0100] The message push unit 503 is used to push the first message to the terminal device through a preset connection channel by the proxy server, so that the application management module of the terminal device forwards the data to the target application according to the topic or the unique identifier of the application to be pushed to the data.

[0101] Figure 5 The message push device shown is similar to... Figure 2 The message push method shown corresponds to this.

[0102] Figure 6 This is a schematic diagram of a message push device provided in an embodiment of this application. Figure 6 As shown, the message push device 6 of this embodiment includes: a processor 60, a memory 61, and a computer program 62, such as a message push program, stored in the memory 61 and executable on the processor 60. When the processor 60 executes the computer program 62, it implements the steps in the various message push method embodiments described above. Alternatively, when the processor 60 executes the computer program 62, it implements the functions of each module / unit in the various device embodiments described above.

[0103] For example, the computer program 62 may be divided into one or more modules / units, which are stored in the memory 61 and executed by the processor 60 to complete this application. The one or more modules / units may be a series of computer program instruction segments capable of performing specific functions, which describe the execution process of the computer program 62 in the message push device 6.

[0104] The message push device 6 can be a desktop computer, laptop, handheld computer, or cloud server, etc. The message push device may include, but is not limited to, a processor 60 and a memory 61. Those skilled in the art will understand that... Figure 6 This is merely an example of a message push device 6 and does not constitute a limitation on the message push device 6. It may include more or fewer components than shown, or combine certain components, or different components. For example, the message push device may also include input / output devices, network access devices, buses, etc.

[0105] The processor 60 may be a Central Processing Unit (CPU), or other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. A general-purpose processor may be a microprocessor or any conventional processor.

[0106] The memory 61 can be an internal storage unit of the message push device 6, such as a hard drive or memory of the message push device 6. The memory 61 can also be an external storage device of the message push device 6, such as a plug-in hard drive, Smart Media Card (SMC), Secure Digital (SD) card, or Flash Card equipped on the message push device 6. Furthermore, the memory 61 can include both internal and external storage units of the message push device 6. The memory 61 is used to store the computer program and other programs and data required by the message push device. The memory 61 can also be used to temporarily store data that has been output or will be output.

[0107] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the above-described division of functional units and modules is merely an example. In practical applications, the above functions can be assigned to different functional units and modules as needed, that is, the internal structure of the device can be divided into different functional units or modules to complete all or part of the functions described above. The functional units and modules in the embodiments can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit. Furthermore, the specific names of the functional units and modules are only for easy differentiation and are not intended to limit the scope of protection of this application. The specific working process of the units and modules in the above system can be referred to the corresponding process in the foregoing method embodiments, and will not be repeated here.

[0108] In the above embodiments, the descriptions of each embodiment have different focuses. For parts that are not described in detail or recorded in a certain embodiment, please refer to the relevant descriptions of other embodiments.

[0109] Those skilled in the art will recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.

[0110] In the embodiments provided in this application, it should be understood that the disclosed devices / terminal equipment and methods can be implemented in other ways. For example, the device / terminal equipment embodiments described above are merely illustrative. For instance, the division of modules or units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the displayed or discussed mutual coupling or direct coupling or communication connection may be through some interfaces; the indirect coupling or communication connection between devices or units may be electrical, mechanical, or other forms.

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

[0112] Furthermore, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.

[0113] If the integrated module / unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, all or part of the processes in the methods of the above embodiments can also be implemented by hardware related to computer program instructions. The computer program can be stored in a computer-readable storage medium, and when executed by a processor, it can implement the steps of the various method embodiments described above. The computer program includes computer program code, which can be in the form of source code, object code, executable files, or certain intermediate forms. The computer-readable medium can include: any entity or device capable of carrying the computer program code, recording media, USB flash drives, portable hard drives, magnetic disks, optical disks, computer memory, read-only memory (ROM), random access memory (RAM), electrical carrier signals, telecommunication signals, and software distribution media, etc.

[0114] In addition, this application also provides a computer program product that, when run on a computer, causes the computer to execute the methods in the above-described implementations.

[0115] The above-described embodiments are only used to illustrate the technical solutions of this application, and are not intended to limit them. Although this application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of this application, and should all be included within the protection scope of this application.

Claims

1. A message pushing method, characterized by, The method comprises: The proxy server receives a first message sent by an application server, the first message comprising a topic and data required to be sent by the application server, wherein the data or the topic comprises a unique identifier of an application to be pushed in a terminal device, the application to be pushed in the terminal device being an application to which the first message needs to be pushed; The proxy server finds a terminal device corresponding to the topic of the first message according to predetermined application registration information, the application registration information comprising topics to which applications to be pushed in different terminal devices are subscribed; The proxy server pushes the first message to the terminal device through a preset connection channel, so that an application management module of the terminal device forwards the data to a target application according to the unique identifier of the application to be pushed in the topic or the data.

2. The method of claim 1, wherein, Before the proxy server receives the first message required to be sent by the application server, the method further comprises: The proxy server receives an application registration request of a terminal device, the registration request comprising an application identifier of an application to be registered and a device identifier of the terminal device; The proxy server generates a unique identifier of the application to be registered according to the application identifier of the application to be registered and the device identifier of the terminal device in which the application to be registered is located.

3. The method of claim 2, wherein, The proxy server is an MQTT server; Before the proxy server generates the unique identifier of the application to be registered according to the application identifier of the application to be registered and the device identifier of the terminal device in which the application to be registered is located, the method further comprises: The proxy server determines whether the terminal device is a device allowed to use MQTT communication according to the device identifier, and determines whether the application to be registered is an application allowed to use MQTT communication according to the application identifier; When both the terminal device and the application to be registered are allowed to use MQTT communication, the proxy server generates the unique identifier of the application to be registered according to the application identifier of the application to be registered and the device identifier of the terminal device in which the application to be registered is located.

4. The method of claim 2, wherein, The proxy server generates the unique identifier of the application to be registered according to the application identifier of the application to be registered and the device identifier of the terminal device in which the application to be registered is located, comprising: The proxy server performs digest calculation according to the device identifier of the terminal device in which the application to be registered is located to obtain a digest identifier of the terminal device; The proxy server generates the unique identifier of the application to be registered according to the digest identifier of the terminal device and in combination with an application serial number of the application to be registered.

5. The method of claim 1, wherein, The proxy server comprises an MQTT server; Before the proxy server receives the first message required to be sent by the application server, the method further comprises: The proxy server receives an MQTT connection channel request of an application to be connected of the terminal device; After the MQTT connection channel request verification is completed, the proxy server establishes an MQTT connection channel with the terminal device and sends the proxy server address to the application to be connected, so that the application to be connected sends the proxy server address to an application server of the application to be connected.

6. The method of claim 1, wherein, Before the proxy server pushes the first message to the terminal device through a preset connection channel, the method further comprises: The proxy server receives a random key of the application to be pushed in the terminal device, the random key being randomly generated by the application to be pushed and encrypted by the application to be pushed according to a preset first key; The proxy server decrypts the random key through a preset second key, the first key and the second key being symmetric keys or asymmetric keys; The proxy server pushes the first message to the terminal device through a preset connection channel, comprising: The proxy server encrypts data in the first message through the random key to obtain encrypted data, and pushes the encrypted data to the terminal device through a preset connection channel.

7. The method of claim 1, wherein, The proxy server pushes the first message to the terminal device through a preset connection channel, comprising: The proxy server obtains a message type and / or a service level of the first message; The proxy server determines a pushing order of the first message according to the message type and / or the service level.

8. A message receiving method characterized by comprising: The method is applied to a terminal device, the terminal device comprising an application management module and an application to be pushed, and the method comprises: Determining a subscribed topic with a proxy server, the topic comprising a unique identifier of the application to be pushed in the terminal device; Receiving a first message pushed by the proxy server through the application management module based on the subscribed topic, the first message being generated by an application server corresponding to the application to be pushed, and the first message comprising the topic for subscription and data required to be sent by the application server; Forwarding the data to a target application through the application management module according to the unique identifier of the application to be pushed of the topic or the data.

9. A message pushing apparatus characterized by comprising: The device comprises: A message receiving unit configured to receive a first message sent by an application server through a proxy server, the first message comprising a topic for subscription and data required to be sent by the application server, the data or the topic comprising a unique identifier of an application to be pushed in a terminal device, the application to be pushed in the terminal device being an application to which the first message needs to be pushed; A terminal device searching unit configured to search for a terminal device corresponding to the topic of the first message according to pre-determined application registration information by the proxy server, the application registration information comprising topics subscribed by applications to be pushed in different terminal devices; A message pushing unit configured to push the first message to the terminal device through a preset connection channel by the proxy server, so that an application management module of the terminal device forwards the data to a target application according to the unique identifier of the application to be pushed of the topic or the data.

10. A message pushing device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, The processor, when executing the computer program, causes the message push device to implement the method of any one of claims 1-7.

Citation Information

Patent Citations

  • Intelligent TV message push device and method based on MQTT

    CN105376589A

  • Message pushing system and method based on MQTT protocol

    CN111131501A

  • Message pushing method and system, equipment and storage medium

    CN113382048A

  • Notification message pushing method and system

    CN115834679A

  • Decoding method, decoding system, electronic apparatus, and storage medium

    WO2022033083A1