A data transmission method and apparatus

By generating unique message identifiers for messages to be sent in the message push system and performing encoding and aggregation processing between the device and the message pusher, the resource consumption problem caused by event callback notifications is solved, achieving efficient data processing and cost reduction.

CN117527889BActive Publication Date: 2026-07-03E-SURFING DIGITAL LIFE TECH CO LTD

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
E-SURFING DIGITAL LIFE TECH CO LTD
Filing Date
2023-12-11
Publication Date
2026-07-03

AI Technical Summary

Technical Problem

Existing push notification systems consume excessive server and bandwidth resources in event callback notifications, resulting in low processing efficiency and increased operating costs.

Method used

By generating a message to be sent with a unique message identification number, the device generates and sends back an encoded data packet. The message pusher aggregates and compresses the data, generates push receipt data, and sends it to the requester, reducing the amount of callback notifications sent and the amount of data transmitted.

Benefits of technology

This reduces the amount of callback notifications sent and data transmitted, saving server and bandwidth resources, improving data processing efficiency, and reducing operating costs.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN117527889B_ABST
    Figure CN117527889B_ABST
Patent Text Reader

Abstract

This invention discloses a data transmission method and apparatus, comprising: generating a message to be sent with a unique message identification number; the message to be sent containing a device identifier; sending the message to be sent to the device; causing the device to generate a first encoded data packet based on the device identifier, the unique message identification number, and device events generated by the device in the message to be sent, and sending the first encoded data packet back to the message pusher; receiving the first encoded data packet sent by the device, and aggregating the unique message identification numbers and device events restored from the first encoded data packet to generate push receipt data; compressing and encoding the push receipt data to obtain a second encoded data packet; sending the second encoded data packet to the message push requester; causing the message push requester to process the second encoded data packet and restore the device events before data aggregation by the message pusher. This method can be widely applied in the field of data communication technology.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of data communication technology, and in particular to a data transmission method and apparatus. Background Technology

[0002] In existing push notification systems, event callback mechanisms are typically used to obtain relevant information in order to assess the actual effectiveness of push notifications. However, when a large number of events need to be collected, the number of event callback notifications sent will be several times that of the number of push notifications, leading to a significant consumption of server and bandwidth resources, reducing system processing efficiency, and increasing operating costs. Summary of the Invention

[0003] In view of this, embodiments of the present invention provide a data transmission method and apparatus, which aim to at least partially solve one of the technical problems in the related art, thereby saving server resources and bandwidth resources to reduce operating costs and improving data processing efficiency.

[0004] One aspect of this invention provides a data transmission method applied to a message pusher, the method comprising:

[0005] Generate a message to be sent with a unique message identification number; the message to be sent includes a device identifier;

[0006] Send the message to be sent to the device; so that the device generates a first encoded data packet based on the device identifier and the unique message identification number in the message to be sent and the device event generated by the device, and sends the first encoded data packet back to the message pusher;

[0007] Receive the first encoded data packet sent by the device, and aggregate the unique message identification numbers and device events restored from the first encoded data packet to generate push receipt data;

[0008] The push receipt data is compressed and encoded to obtain a second encoded data packet;

[0009] The second encoded data packet is sent to the message push requester so that the message push requester processes the second encoded data packet and restores the device events before the message pusher performs data aggregation.

[0010] Optionally, generating a message to be sent with a unique message identifier includes:

[0011] Receive a message push request; wherein the message push request carries an identifier of the message push requester;

[0012] Generate a message to be sent based on the message push request;

[0013] A unique message identifier is generated based on the message push requester's identifier, and the unique message identifier is used to identify the message to be sent, so as to obtain a message to be sent with a unique message identifier.

[0014] Optionally, receiving the first encoded data packet sent by the device and aggregating each unique message identifier and each device event recovered from the first encoded data packet to generate push receipt data includes:

[0015] Receive the first encoded data packet sent by the device;

[0016] The first encoded data packet is processed to restore the plurality of device identifiers, plurality of unique message identification numbers and plurality of device events contained in the first encoded data packet;

[0017] Based on the unique message identification number, the message push requester identifier corresponding to the unique message identification number is parsed out;

[0018] Each unique message identifier and each device event is aggregated according to the dimension of the message push requester identifier to generate push receipt data. 。

[0019] Another aspect of this invention provides a data transmission method applied to a device, the method comprising:

[0020] Receive a message to be sent from the message pusher; the message to be sent has a unique message identification number and a device identifier;

[0021] Acquire device events;

[0022] Based on the device identifier, the unique message identification number, and the device event in the message to be sent, a first encoded data packet is generated, and the first encoded data packet is sent back to the message pusher;

[0023] The message to be sent is determined according to the data transmission method applied to the message pusher described above.

[0024] Optionally, generating a first encoded data packet based on the device identifier, the unique message identification number, and the device event in the message to be sent, and sending the first encoded data packet back to the message pusher, includes:

[0025] The device identifier, the unique message identification number, and the device event in the message to be sent are aggregated to obtain an aggregated data packet;

[0026] The aggregated data packet is compressed and encoded to obtain a first encoded data packet, and the first encoded data packet is sent back to the message pusher.

[0027] Optionally, the step of compressing and encoding the aggregated data packet to obtain a first encoded data packet, and sending the first encoded data packet back to the message pusher, includes:

[0028] Based on the device identifier, the unique message identification number, and the device event in the message to be sent, an event data packet is generated and stored in a local database; wherein, the number of event data packets in the local database is several;

[0029] The event data packets in the local database are aggregated to obtain an aggregated data packet.

[0030] Another aspect of this invention provides a data transmission method applied to a message push requester, the method comprising:

[0031] Receive the second encoded data packet sent by the message pusher;

[0032] The second encoded data packet is decoded and decompressed to obtain the push receipt data contained in the second encoded data;

[0033] The push receipt data is processed to restore the device events before data aggregation by the message pusher;

[0034] The second encoded data packet is determined according to the data transmission method applied to the message pusher described above.

[0035] Another aspect of the present invention provides a data transmission apparatus applied to a message pusher, the apparatus comprising:

[0036] The message generation module is used to generate a message to be sent with a unique message identification number; the message to be sent includes a device identifier;

[0037] The message sending module is used to send the message to be sent to the device; so that the device generates a first encoded data packet based on the device identifier, the unique message identification number and the device event generated by the device in the message to be sent, and sends the first encoded data packet back to the message pusher;

[0038] The first aggregation module is used to receive the first encoded data packet sent by the device, and aggregate the unique message identification numbers and device events restored from the first encoded data packet to generate push receipt data;

[0039] The first compression encoding module is used to compress and encode the push receipt data to obtain a second encoded data packet;

[0040] The second encoded data packet sending module is used to send the second encoded data packet to the message push requester so that the message push requester can process the second encoded data packet and restore the device events before the message pusher performs data aggregation.

[0041] Another aspect of this invention provides a data transmission apparatus applied to a device, the apparatus comprising:

[0042] The message receiving module is used to receive messages to be sent from the message pusher; each message to be sent has a unique message identification number and a device identifier.

[0043] The device event acquisition module is used to acquire device events;

[0044] The first encoded data packet generation module is used to generate a first encoded data packet based on the device identifier, the unique message identification number, and the device event in the message to be sent, and to send the first encoded data packet back to the message pusher.

[0045] The message to be sent is determined according to the data transmission device applied to the message pusher.

[0046] Another aspect of this invention provides a data transmission apparatus, applied to a message push requester, the apparatus comprising:

[0047] The second encoded data packet receiving module is used to receive the second encoded data packet sent by the message pusher.

[0048] The push receipt data restoration module is used to decode and decompress the second encoded data packet to obtain the push receipt data contained in the second encoded data;

[0049] The device event restoration module is used to process the push receipt data and restore the device events before the data aggregation by the message pusher.

[0050] The second encoded data packet is determined according to the data transmission device applied to the message pusher.

[0051] In this embodiment of the invention, a message to be sent with a unique message identification number is first generated; the message to be sent includes a device identifier; then the message to be sent is sent to the device; so that the device generates a first encoded data packet based on the device identifier, the unique message identification number, and the device events generated by the device in the message to be sent, and sends the first encoded data packet back to the message pusher; the device receives the first encoded data packet sent by the device, and aggregates the unique message identification numbers and device events restored from the first encoded data packet to generate push receipt data; then the push receipt data is compressed and encoded to obtain a second encoded data packet; finally, the second encoded data packet is sent to the message push requester; so that the message push requester processes the second encoded data packet to restore the device events before the message pusher aggregates the data. This embodiment of the invention, by aggregating device events called back by the device, compressing and encoding the data, and generating push receipt data, can reduce the amount of callback notifications sent, the number of callback requests, and the amount of data transmitted. By reducing the amount of callback notifications sent, server resources and bandwidth resources can be saved, thereby reducing operating costs. At the same time, by reducing the number of callback requests and the amount of data transmitted, the processing speed of the message push system can be accelerated, thereby improving data processing efficiency. Attached Figure Description

[0052] To more clearly illustrate the technical solutions in the embodiments of this application, 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 this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0053] Figure 1 This is a flowchart illustrating the steps of a data transmission method provided in this embodiment of the invention when applied to a message pusher.

[0054] Figure 2 This is a flowchart illustrating the steps of a data transmission method provided in this embodiment of the invention when applied to a device.

[0055] Figure 3 This is a flowchart illustrating the steps of a data transmission method provided in this embodiment of the invention when applied to a message push requester.

[0056] Figure 4 This is a schematic diagram of a module structure based on a data transmission method provided in an embodiment of the present invention;

[0057] Figure 5 This is a flowchart illustrating a data transmission method provided in an embodiment of the present invention;

[0058] Figure 6This is a structural block diagram of a data transmission device provided in an embodiment of the present invention when applied to a message pusher;

[0059] Figure 7 This is a structural block diagram of a data transmission device provided in an embodiment of the present invention when applied to a device.

[0060] Figure 8 This is a structural block diagram of a data transmission device provided in an embodiment of the present invention when applied to a message push requester;

[0061] Figure 9 This is a schematic diagram of the structure of an electronic device provided in an embodiment of the present invention;

[0062] Figure 10 This is a computer system architecture block diagram provided by an embodiment of the present invention, suitable for use in implementing an electronic device according to an embodiment of the present invention. Detailed Implementation

[0063] To make the objectives, technical solutions, and advantages of this application clearer, the following detailed description is provided in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative and not intended to limit the scope of this application.

[0064] As an example, in existing push notification systems, to obtain the actual effect of push notifications, it is usually necessary to obtain relevant information through an event callback mechanism. However, when there are many events to be collected, the number of event callback notifications sent will be several times that of the number of push notifications, resulting in a large consumption of server and bandwidth resources, reducing system processing efficiency and increasing operating costs.

[0065] In this embodiment of the invention, a message to be sent with a unique message identification number is first generated; the message to be sent includes a device identifier; then the message to be sent is sent to the device; so that the device generates a first encoded data packet based on the device identifier, the unique message identification number, and the device events generated by the device in the message to be sent, and sends the first encoded data packet back to the message pusher; the device receives the first encoded data packet sent by the device, and aggregates the unique message identification numbers and device events restored from the first encoded data packet to generate push receipt data; then the push receipt data is compressed and encoded to obtain a second encoded data packet; finally, the second encoded data packet is sent to the message push requester; so that the message push requester processes the second encoded data packet to restore the device events before the data aggregation by the message pusher. This invention, through aggregation processing, data compression encoding processing, and generation of push receipt data for device events called back from the device side, can reduce the amount of callback notifications sent, the number of callback requests, and the amount of data transmitted. By reducing the amount of callback notifications sent, server resources and bandwidth resources can be saved, thereby reducing operating costs. At the same time, by reducing the number of callback requests and the amount of data transmitted, the processing speed of the message push system can be accelerated, thereby improving data processing efficiency.

[0066] Reference Figure 1 The diagram illustrates a flowchart of the steps involved in applying a data transmission method provided by an embodiment of the present invention to a message pusher; as shown below. Figure 1 As shown, when applied to a message push provider, this method includes the following steps:

[0067] S101. Generate a message to be sent with a unique message identification number; the message to be sent includes a device identifier;

[0068] For a message to be sent, it is a message with a unique message identification number. The unique message identification number can also be represented as a unique message ID (Identity document identification number). The unique message identification number is generated by the message pusher and is updated every time. It can be understood that each time the message pusher generates a message to be sent, the unique message identification number in each message to be sent is different. They are all unique but not the same.

[0069] Among them, the device identifier can be used to identify the device, enabling the server to accurately locate the target device.

[0070] In one optional embodiment, step S101 may include: receiving a message push request; wherein the message push request carries a message push requester identifier; generating a message to be sent based on the message push request; generating a unique message identification number based on the message push requester identifier, and identifying the message to be sent with the unique message identification number to obtain a message to be sent with a unique message identification number.

[0071] Among them, the message push request is a data callback request initiated by the message push requester to the message pusher. The message pusher can generate a message to be sent to the device based on the message push request. The data callback process can be roughly as follows: the message push requester initiates a message push request to the message pusher, then the message pusher obtains the corresponding device event data from the device and user terminal based on the message push request, and finally callbacks the device event data to the message push requester. Finally, relevant processing is performed based on the callback device event data, such as statistical analysis and anomaly handling.

[0072] The message push request carries a message push requester identifier. The message pusher can generate a unique message identification number based on the message push requester identifier, and then use the unique message identification number to identify the information to be sent. It should be noted that the message push requester identifier carried in the message push request is unique and is used to distinguish it from other requesters. It can be understood that there can be multiple message push requesters, but the message push requester identifier corresponding to each message push requester is unique.

[0073] In this embodiment of the invention, a message push request initiated by a message push requester is first received. Then, a message to be sent is generated based on the message push request. Simultaneously, a unique message identification number is generated based on the message push requester identifier carried in the message push request, and this unique message identification number is used to identify the message to be sent, thus obtaining a message to be sent with a unique message identification number. By generating a message to be sent with a unique message identification number, each message can be accurately tracked and identified, and the message push requester can be accurately determined based on the message push requester identifier.

[0074] S102. Send the message to be sent to the device; so that the device generates a first encoded data packet based on the device identifier and the unique message identification number in the message to be sent and the device event generated by the device, and sends the first encoded data packet back to the message pusher;

[0075] Specifically, the device can generate a first encoded data packet based on the device identifier, unique message identification number, and device events generated by the device carried in the message to be sent, and then send the first encoded data packet back to the message pusher. It is understood that the first encoded data packet contains the device identifier, the unique message identification number, and the device events generated by the device.

[0076] S103. Receive the first encoded data packet sent by the device, and aggregate the unique message identification numbers and device events restored from the first encoded data packet to generate push receipt data;

[0077] The push receipt data is the data sent to the message push requester. The push receipt data also contains multiple device identifiers, multiple unique message identification numbers, and multiple device events.

[0078] In one optional embodiment, step S103 may include: receiving a first encoded data packet sent by the device; processing the first encoded data packet to restore several device identifiers, several unique message identification numbers, and several device events contained in the first encoded data packet; parsing the message push requester identifier corresponding to the unique message identification number based on the unique message identification number; and aggregating each unique message identification number and each device event according to the dimension of the message push requester identifier to generate push receipt data.

[0079] In the specific implementation, after the message pusher receives the first encoded data packet sent by the device, it can decode the first encoded data packet using a specific compression protocol to restore the multiple device identifiers, multiple unique message identification numbers, and multiple device events contained in the first encoded data packet. Then, the message pusher can parse the unique message identification number to obtain the message push requester identifier corresponding to that unique message identification number. Next, the message pusher can aggregate the multiple unique message identification numbers and their related device events according to the dimension of the push requester identifier, based on a set aggregation strategy, to generate push receipt data. It should be noted that one push requester identifier is associated with multiple device identifiers, multiple unique message identification numbers, and multiple device events.

[0080] It should be noted that since a device can receive many messages from different push notification requesters, the callback notification data on the device is an aggregation of multiple push notification requesters. After receiving the data callback notification, the push notification requester needs to group the data according to the dimension identified by the push notification requester and return it to the corresponding target push notification requester. It can be understood that the data aggregation strategy in this case is to aggregate the data according to the dimension identified by the push notification requester.

[0081] In this embodiment of the invention, by aggregating the unique message identification number and device events according to the dimension of the message push requester identifier, it is more convenient to manage and process a large number of message push requests. Furthermore, since the message push requester identifier is unique, the target message push requester can be quickly determined based on the message push requester identifier, thereby improving the efficiency of data callback and reducing processing time.

[0082] S104. The push receipt data is compressed and encoded to obtain a second encoded data packet;

[0083] In the specific implementation, after the push receipt data is generated, the message pusher can use a specific protocol to encode and compress the push receipt data to obtain a second encoded data packet. The second encoded data packet can also be represented as a receipt data packet or a push receipt data packet. It can be understood that the first encoded data packet is obtained by the device end encoding and compressing the relevant event data, while the second encoded data packet is obtained by the message pusher encoding and compressing the relevant event data. It can be understood that the device event data returned from the device has undergone two encoding and compression processes. After the device event data is aggregated, it is encoded and compressed again, which reduces the amount of callback notifications sent and saves server resources and bandwidth resources.

[0084] The specific compression protocol can be serialization protocols such as Google's Protocol Buffers, Apache's Avro, Facebook's Thrift, and Apache's MessagePack. It should be noted that those skilled in the art can choose the specific compression protocol according to the actual situation. Furthermore, the specific compression protocols listed in the embodiments of this invention are existing related technologies. Those skilled in the art can refer to the specific solutions of related technologies. The embodiments of this invention will not elaborate on the principles and compression processes of specific compression protocols. It is understood that the embodiments of this invention do not impose any limitations on this.

[0085] S105. The second encoded data packet is sent to the message push requester so that the message push requester can process the second encoded data packet and restore the device event before the message pusher performs data aggregation.

[0086] The message push requester can process the second encoded data packet to restore the device events before the message pusher performs data aggregation, so as to perform relevant processing and analysis based on the device events and generate processing results.

[0087] In the specific implementation, the encoded and compressed second encoded data packet is sent to the receipt interface address specified by the message push requester via the network.

[0088] In this embodiment of the invention, a message to be sent with a unique message identification number is first generated; the message to be sent includes a device identifier; then the message to be sent is sent to the device; so that the device generates a first encoded data packet based on the device identifier, the unique message identification number, and the device events generated by the device in the message to be sent, and sends the first encoded data packet back to the message pusher; the device receives the first encoded data packet sent by the device, and aggregates the unique message identification numbers and device events restored from the first encoded data packet to generate push receipt data; then the push receipt data is compressed and encoded to obtain a second encoded data packet; finally, the second encoded data packet is sent to the message push requester; so that the message push requester processes the second encoded data packet to restore the device events before the message pusher aggregates the data. This embodiment of the invention, by aggregating device events called back by the device, compressing and encoding the data, and generating push receipt data, can reduce the amount of callback notifications sent, the number of callback requests, and the amount of data transmitted. By reducing the amount of callback notifications sent, server resources and bandwidth resources can be saved, thereby reducing operating costs. At the same time, by reducing the number of callback requests and the amount of data transmitted, the processing speed of the message push system can be accelerated, thereby improving data processing efficiency.

[0089] Reference Figure 2 The flowchart illustrates the steps of a data transmission method provided by an embodiment of the present invention when applied to a device. Figure 2 As shown, when applied to the device side, the method includes the following steps:

[0090] S201. Receive a message to be sent from the message pusher; the message to be sent has a unique message identification number and a device identifier;

[0091] Among them, the message to be sent is based on Figure 1 The data transmission method is determined, specifically, the message to be sent has a unique message identification number and a device identifier.

[0092] In practice, the device can receive messages to be sent from the message push provider.

[0093] S202, Obtain device events;

[0094] Device events can include relevant device events generated locally on the device and relevant device events captured from the user terminal. For example, relevant device events generated locally on the device terminal include message scheduled sending, actual sending, message arrival, and sending failure (network reasons), while relevant device events generated from the user terminal include user clicks and sending failure (user configuration, such as disabling message notifications).

[0095] S203. Based on the device identifier, the unique message identification number, and the device event in the message to be sent, generate a first encoded data packet and send the first encoded data packet back to the message pusher.

[0096] In one optional embodiment, step S203 may include: aggregating the device identifier, unique message identification number, and device event in the message to be sent to obtain an aggregated data packet; compressing and encoding the aggregated data packet to obtain a first encoded data packet; and sending the first encoded data packet back to the message pusher.

[0097] In some specific embodiments, compressing and encoding the aggregated data packet to obtain a first encoded data packet and sending the first encoded data packet back to the message pusher may include: generating an event data packet based on the device identifier, unique message identification number, and device event in the message to be sent, and storing the event data packet in a local database; wherein the number of event data packets in the local database is several; and aggregating the several event data packets in the local database to obtain an aggregated data packet.

[0098] In the specific implementation, after the device receives a message to be sent with a unique message identification number, it generates an event data packet based on the device identifier, the unique message identification number, and related events generated by the device carried in the message to be sent. This event data packet is then stored locally. Each event data packet contains at least one device identifier, at least one unique message identification number, and at least one device event. Next, the device aggregates the multiple locally stored event data packets to generate an aggregated data packet. This aggregated data packet contains multiple device identifiers, multiple unique message identification numbers, and multiple device events. Then, the device encodes the aggregated data packet using a specific compression protocol to generate an encoded data packet. Finally, the device sends the encoded data packet to the callback interface address specified by the message pusher.

[0099] The specific compression protocol can also be one of serialization protocols such as Google's Protocol Buffers, Apache's Avro, Facebook's Thrift, and Apache's MessagePack. It should be noted that those skilled in the art can choose the specific compression protocol according to the actual situation. Furthermore, the specific compression protocols listed in the embodiments of this invention are existing related technologies. Those skilled in the art can refer to the specific solutions of the related technologies. The embodiments of this invention will not elaborate on the principles and compression processes of the specific compression protocols. It is understood that the embodiments of this invention do not impose any limitations on this.

[0100] It should be noted that, in the process of aggregating multiple event data packets to generate an aggregated data packet, the number of "multiple" event data packets can be adjusted according to the actual situation to adapt to the data callback of the message push system in the actual situation. It is understood that the embodiments of the present invention do not impose any restrictions on this.

[0101] In this embodiment of the invention, the device receives a message to be sent from the message pusher and simultaneously acquires device events. Then, based on the device identifier, unique message identification number, and device events generated in the message to be sent, an event data packet is generated and stored in a local database. The local database contains several event data packets. These event data packets are then aggregated to obtain an aggregated data packet. Finally, the aggregated data packet is compressed and encoded to obtain a first encoded data packet, which is then sent back to the message pusher. By aggregating and compressing the callback device events on the device side, the amount of callback notifications sent, the number of callback requests, and the amount of data transmitted can be reduced, accelerating the processing speed of the message push system and saving server and bandwidth resources, thereby reducing operating costs.

[0102] Reference Figure 3 This illustrates a flowchart of the steps involved in applying a data transmission method provided by an embodiment of the present invention to a message push requester; as shown below. Figure 3 As shown, this method, applied to the message push requester, includes the following steps:

[0103] S301, Receive the second encoded data packet sent by the message pusher;

[0104] Among them, the second encoded data packet is based on Figure 1 The data transmission method is defined as follows: the second compressed package is a data packet obtained by encoding and compressing the message pusher.

[0105] In the specific implementation, the message push requester can use a specified receipt interface address to receive the second encoded data packet sent by the message pusher.

[0106] S302. Decode and decompress the second encoded data packet to obtain the push receipt data contained in the second encoded data;

[0107] In the specific implementation, after the message push requester receives the second encoded data packet, it decodes and decompresses the second encoded data packet to obtain the push receipt data contained in the second encoded data.

[0108] S303. Process the push receipt data to restore the device event before the data aggregation by the message pusher;

[0109] In the specific implementation, after the message push requester obtains the push receipt data contained in the second encoded data, it parses the push receipt data to restore the device events before the message pusher performs data aggregation. That is, the message push requester can obtain the device event data generated on the device side, and perform relevant processing and analysis on the obtained device event data according to actual needs (such as statistical analysis, anomaly handling, etc.), and generate processing results, thereby improving the processing efficiency and resource utilization of the message push system.

[0110] To explain in detail the principle of the technical solution of the present invention, the overall process of the present invention will be described below with reference to some specific embodiments. It is easy to understand that the following is an explanation of the technical principle of the present invention and should not be regarded as a limitation of the present invention.

[0111] Reference Figure 4 This illustrates a schematic diagram of a module structure based on a data transmission method provided in an embodiment of the present invention; as shown below. Figure 4 As shown, the event callback mechanism in this embodiment of the invention mainly includes four parts: the message push requester, the message pusher, the device, and the user. Specifically, it may include the following modules:

[0112] Module 1: Request Receiving Module, set up on the message pusher, is used to receive message push requests initiated by the message push requester, and generate a message ID (unique message identification number) to identify the message to be sent to the device based on the message push requester identifier carried in the message push request. For ease of description, the unique message identification number of the following content will be described using the message ID.

[0113] Module 2: Message sending module, set on the message pusher, is used to send messages to the device and carry a device identifier and message ID in the message.

[0114] Module 3: Event Generation Module, set on the device side, is used to generate an event data packet after receiving a message, based on the device identifier and message ID carried in the message and the relevant events generated by the device (device events generated locally on the device and relevant events captured by the user). The event data packet contains at least one device identifier, at least one message ID and at least one device event.

[0115] Module 4: Data aggregation module, set on the device side, is used to aggregate multiple event data packets to generate an aggregated data packet. The aggregated data packet contains multiple device identifiers, multiple message IDs and multiple device events.

[0116] Module 5: Data Encoding Module, located on the device side, is used to encode the aggregated data packets using a specific protocol to generate an encoded data packet.

[0117] Module 6: Data sending module, set on the device side, is used to send encoded data packets to the callback interface address specified by the message pusher.

[0118] Module 7: Data Decoding Module, set up on the message pusher, is used to decode the received encoded data packets using a specific protocol to restore the multiple device identifiers, multiple message IDs, and multiple device events in the aggregated data packets.

[0119] Module 8: Event parsing module, set up on the message pusher, is used to parse event information in the aggregated data packet and obtain the message push requester identifier based on the message ID.

[0120] Module 9: Receipt Generation Module. Located on the message pusher side, this module aggregates multiple device identifiers, message IDs, and events based on the message push requester identifier to generate a push receipt. The aggregated data is encoded using a specific protocol to generate a push receipt data packet.

[0121] Module 10: Receipt Sending Module, set on the message pusher, is used to send the encoded receipt data packet to the push receipt receiving address specified by the message push requester.

[0122] Module 11: Receipt Processing Module, set on the message push request side, is used to parse receipt data and perform related processing (such as statistical analysis, anomaly handling, etc.) based on the restored multiple device identifiers, multiple message IDs, and multiple device events.

[0123] Reference Figure 5 The diagram illustrates a flowchart of a data transmission method provided by an embodiment of the present invention; as shown below. Figure 5 As shown, the overall flow of the data transmission (data callback) method can be summarized in the following steps:

[0124] Step 1: First, the message pusher receives the message push request from the message push requester and generates a unique message ID based on the message push requester identifier carried in the message push request to identify the message sent to the device.

[0125] Step 2: When sending a message to the device, the message includes a device identifier and a message ID to identify the device.

[0126] Step 3: After receiving the message, the device generates an event data packet based on the device identifier, message ID, and relevant events generated by the device carried in the message, and stores the event data packet locally. An event data packet contains at least one device identifier, at least one message ID, and at least one device event.

[0127] Step 4: At the device end, aggregate multiple event data packets to generate an aggregated data packet, which contains multiple device identifiers, multiple message IDs and multiple device events.

[0128] Step 5: On the device side, the aggregated data packet is encoded using a specific compression protocol to generate an encoded data packet.

[0129] Step 6: Send the encoded data packet to the callback interface address specified by the message pusher on the device side.

[0130] Step 7: After the message pusher receives the encoded data packet, it decodes it using a specific compression protocol to restore the multiple device identifiers, multiple message IDs, and multiple device events in the aggregated data packet.

[0131] Step 8: The message pusher parses the message push requester identifier carried in the message push request received by the message pusher in step 1 based on the message ID.

[0132] Step 9: The message push provider, according to the set aggregation strategy, performs secondary aggregation on multiple message IDs and their related events by the message push requester identifier to generate push receipt data. One message push requester identifier is associated with multiple device identifiers, multiple message IDs, and multiple device events.

[0133] Step 10: After the push receipt data is generated, the message pusher encodes and compresses the data using a specific protocol. The encoded and compressed data is then sent over the network to the receipt interface address specified by the message push requester.

[0134] Step 11: After receiving the encoded and compressed push receipt data, the message push requester decodes and decompresses it to restore the event information before aggregation, performs relevant processing and analysis as needed, and generates processing results.

[0135] It should be noted that this embodiment is only a brief illustrative description of the general flow of the data transmission method. For detailed description of each step, please refer to the relevant content in the foregoing embodiments. It will not be repeated here. It is understood that the present invention does not limit this.

[0136] This invention, through aggregation processing, data compression encoding processing, and generation of push receipt data for device events called back from the device side, can reduce the amount of callback notifications sent, the number of callback requests, and the amount of data transmitted. By reducing the amount of callback notifications sent, server resources and bandwidth resources can be saved, thereby reducing operating costs. At the same time, by reducing the number of callback requests and the amount of data transmitted, the processing speed of the message push system can be accelerated, thereby improving data processing efficiency, thus meeting the requirements of high efficiency, stability, and resource saving.

[0137] In summary, the embodiments of the present invention can be used in scenarios such as mobile application push notifications and public account push notifications to obtain relevant event information such as planned message sending, actual sending, message arrival, user clicks, and sending failures through an event callback mechanism. This allows for analysis of the actual effect of push notifications, improving processing efficiency and saving resources. As mentioned above, by aggregating, compressing, and generating receipts for device-side callback events, the total number of event callback notification requests, concurrent requests, and request data volume are significantly reduced, thereby improving processing efficiency, saving server and bandwidth resources, and ultimately reducing operating costs.

[0138] This invention also provides a data transmission device, as described in the embodiments of the present invention. Figure 6 The diagram illustrates a structural block diagram of a data transmission device provided by an embodiment of the present invention when applied to a message pusher. The device includes the following modules:

[0139] The message generation module 601 is used to generate a message to be sent with a unique message identification number; the message to be sent includes a device identifier;

[0140] The message sending module 602 is used to send the message to be sent to the device; so that the device generates a first encoded data packet based on the device identifier, the unique message identification number and the device event generated by the device in the message to be sent, and sends the first encoded data packet back to the message pusher.

[0141] The first aggregation module 603 is used to receive the first encoded data packet sent by the device, and aggregate each unique message identification number and each device event restored from the first encoded data packet to generate push receipt data;

[0142] The first compression encoding module 604 is used to compress and encode the push receipt data to obtain a second encoded data packet.

[0143] The second encoded data packet sending module 605 is used to send the second encoded data packet to the message push requester so that the message push requester can process the second encoded data packet and restore the device events before the message pusher performs data aggregation.

[0144] This invention also provides a data transmission device, as described in the embodiments of the present invention. Figure 7 The diagram illustrates a structural block diagram of a data transmission device provided by an embodiment of the present invention when applied to a device. The device includes the following modules:

[0145] The message receiving module 701 is used to receive a message to be sent from the message pusher; the message to be sent has a unique message identification number and a device identifier;

[0146] Device event acquisition module 702 is used to acquire device events;

[0147] The first encoded data packet generation module 703 is used to generate a first encoded data packet based on the device identifier, the unique message identification number, and the device event in the message to be sent, and to send the first encoded data packet back to the message pusher.

[0148] Wherein, the message to be sent is based on Figure 6 The data transmission device is determined.

[0149] This invention also provides a data transmission device, as described in the embodiments of the present invention. Figure 8 The diagram illustrates a structural block diagram of a data transmission device provided by an embodiment of the present invention when applied to a message push requester. The device includes the following modules:

[0150] The second encoded data packet receiving module 801 is used to receive the second encoded data packet sent by the message pusher;

[0151] The push receipt data restoration module 802 is used to decode and decompress the second encoded data packet to obtain the push receipt data contained in the second encoded data;

[0152] The device event restoration module 803 is used to process the push receipt data and restore the device event before the data aggregation is performed by the message pusher.

[0153] Wherein, the second encoded data packet is based on Figure 6 The data transmission device is determined.

[0154] The content of the method embodiments of the present invention is applicable to the device embodiments. The specific functions implemented by the device embodiments are the same as those of the above method embodiments, and the beneficial effects achieved are also the same as those achieved by the above methods.

[0155] On the other hand, such as Figure 9 As shown, this embodiment of the invention also provides an electronic device 900, which includes at least one processor 910 and at least one memory 920 for storing at least one program; taking one processor 910 and one memory 920 as an example.

[0156] The processor 910 and memory 920 can be connected via a bus or other means.

[0157] Memory 920, as a non-transitory computer-readable storage medium, can be used to store non-transitory software programs and non-transitory computer-executable programs. Furthermore, memory 920 may include high-speed random access memory, and may also include non-transitory memory, such as at least one disk storage device, flash memory device, or other non-transitory solid-state storage device. In some embodiments, memory 920 may optionally include memory remotely located relative to the processor, and this remote memory can be connected to the device via a network. Examples of such networks include, but are not limited to, the Internet, intranets, local area networks, mobile communication networks, and combinations thereof.

[0158] The electronic device embodiments described above are merely illustrative. The units described as separate components may or may not be physically separate; that is, they may be located in one place or distributed across multiple network units. Some or all of the modules can be selected to achieve the purpose of this embodiment according to actual needs.

[0159] Specifically, Figure 10 A schematic block diagram of a computer system architecture for implementing an electronic device according to embodiments of the present invention is shown.

[0160] It should be noted that, Figure 10 The computer system 1000 of the electronic device shown is merely an example and should not impose any limitation on the functionality and scope of use of the embodiments of the present invention.

[0161] like Figure 10 As shown, the computer system 1000 includes a central processing unit (CPU) 1001, which can perform various appropriate actions and processes based on programs stored in read-only memory (ROM) 1002 or programs loaded from storage section 1008 into random access memory (RAM). The RAM 1003 also stores various programs and data required for system operation. The CPU 1001, ROM 1002, and RAM 1003 are interconnected via a bus 1004. An input / output interface 1005 (I / O interface) is also connected to the bus 1004.

[0162] The following components are connected to the input / output interface 1005: an input section 1006 including a keyboard, mouse, etc.; an output section 1007 including a cathode ray tube (CRT), liquid crystal display (LCD), etc., and speakers, etc.; a storage section 1008 including a hard disk, etc.; and a communication section 1009 including a network interface card such as a local area network card, modem, etc. The communication section 1009 performs communication processing via a network such as the Internet. A drive 1010 is also connected to the input / output interface 1005 as needed. A removable medium 1011, such as a disk, optical disk, magneto-optical disk, semiconductor memory, etc., is installed on the drive 1010 as needed so that computer programs read from it can be installed into the storage section 1008 as needed.

[0163] In particular, according to embodiments of the present invention, the processes described in the various method flowcharts can be implemented as computer software programs. For example, embodiments of the present invention include a computer program product comprising a computer program carried on a computer-readable medium, the computer program containing program code for performing the methods shown in the flowcharts. In such embodiments, the computer program can be downloaded and installed from a network via communication section 1009, and / or installed from removable medium 1011. When the computer program is executed by central processing unit 1001, it performs various functions defined in the system of the present invention.

[0164] It should be noted that the computer-readable medium shown in the embodiments of the present invention can be a computer-readable signal medium or a computer-readable storage medium, or any combination thereof. A computer-readable storage medium can be, for example,—but not limited to—an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. More specific examples of a computer-readable storage medium may include, but are not limited to: an electrical connection having one or more wires, a portable computer disk, a hard disk, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM), flash memory, optical fiber, portable compact disc read-only memory (CD-ROM), optical storage device, magnetic storage device, or any suitable combination thereof. In the present invention, a computer-readable storage medium can be any tangible medium containing or storing a program that can be used by or in conjunction with an instruction execution system, apparatus, or device. In the present invention, a computer-readable signal medium can include a data signal propagated in baseband or as part of a carrier wave, wherein computer-readable program code is carried. Such transmitted data signals can take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. The computer-readable signal medium can also be any computer-readable medium other than a computer-readable storage medium, which can send, propagate, or transmit a program for use by or in connection with an instruction execution system, apparatus, or device. The program code contained on the computer-readable medium can be transmitted using any suitable medium, including but not limited to wireless, wired, etc., or any suitable combination thereof.

[0165] The content of the method embodiments of the present invention is applicable to the system embodiments. The specific functions implemented in the system embodiments are the same as those in the above method embodiments, and the beneficial effects achieved are also the same as those achieved by the above methods.

[0166] Another aspect of this invention provides a computer-readable storage medium storing a program that is executed by a processor to implement the aforementioned method.

[0167] The content of the method embodiments of the present invention is applicable to the computer-readable storage medium embodiments. The specific functions implemented by the computer-readable storage medium embodiments are the same as those of the above method embodiments, and the beneficial effects achieved are also the same as those achieved by the above methods.

[0168] This invention also discloses a computer program product or computer program, which includes computer instructions stored in a computer-readable storage medium. A processor of a computer device can read the computer instructions from the computer-readable storage medium and execute the computer instructions, causing the computer device to perform the aforementioned method.

[0169] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present invention. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of code containing one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions indicated in the blocks may occur in a different order than those indicated in the drawings. For example, two consecutively indicated blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in a block diagram or flowchart, and combinations of blocks in a block diagram or flowchart, may be implemented using a dedicated hardware-based system that performs the specified function or operation, or using a combination of dedicated hardware and computer instructions.

[0170] It should be noted that although several modules for the device used to perform actions have been mentioned in the detailed description above, this division is not mandatory. In fact, according to embodiments of the present invention, the features and functions of two or more modules or units described above can be embodied in one module or unit. Conversely, the features and functions of one module or unit described above can be further divided and embodied by multiple modules or units.

[0171] Through the above description of the embodiments, those skilled in the art will readily understand that the exemplary embodiments described herein can be implemented by software or by combining software with necessary hardware. Therefore, the technical solutions according to the embodiments of the present invention can be embodied in the form of a software product, which can be stored in a non-volatile storage medium (such as a CD-ROM, USB flash drive, portable hard drive, etc.) or on a network, including several instructions to cause a computing device (such as a personal computer, server, touch terminal, or network device, etc.) to execute the method according to the embodiments of the present invention.

[0172] In some alternative embodiments, the functions / operations mentioned in the block diagrams may not occur in the order shown in the operation diagrams. For example, depending on the functions / operations involved, two consecutively shown blocks may actually be executed substantially simultaneously, or the blocks may sometimes be executed in reverse order. Furthermore, the embodiments presented and described in the flowcharts of this invention are provided by way of example to provide a more comprehensive understanding of the technology. The disclosed methods are not limited to the operations and logic flows presented herein. Alternative embodiments are contemplated in which the order of various operations is altered and sub-operations described as part of a larger operation are executed independently.

[0173] Furthermore, although the invention has been described in the context of functional modules, it should be understood that, unless otherwise stated, one or more of the described functions and / or features may be integrated into a single physical device and / or software module, or one or more functions and / or features may be implemented in a separate physical device or software module. It is also understood that a detailed discussion of the actual implementation of each module is unnecessary for understanding the invention. Rather, given the properties, functions, and internal relationships of the various functional modules in the apparatus disclosed herein, the actual implementation of the module will be understood within the scope of conventional skill of an engineer. Therefore, those skilled in the art can implement the invention as set forth in the claims using ordinary techniques without excessive experimentation. It is also understood that the specific concepts disclosed are merely illustrative and not intended to limit the scope of the invention, which is determined by the full scope of the appended claims and their equivalents.

[0174] If the aforementioned functions are implemented as software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this invention, essentially, or the part that contributes to the prior art, or a portion of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of this invention. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.

[0175] The logic and / or steps represented in the flowchart or otherwise described herein, for example, can be considered as a sequenced list of executable instructions for implementing logical functions, and can be embodied in any computer-readable medium for use by, or in conjunction with, an instruction execution system, apparatus, or device (such as a computer-based system, a processor-included system, or other system that can fetch and execute instructions from, an instruction execution system, apparatus, or device). For the purposes of this specification, "computer-readable medium" can be any means that can contain, store, communicate, propagate, or transmit programs for use by, or in conjunction with, an instruction execution system, apparatus, or device.

[0176] More specific examples (a non-exhaustive list) of computer-readable media include: electrical connections (electronic devices) having one or more wires, portable computer disk drives (magnetic devices), random access memory (RAM), read-only memory (ROM), erasable and editable read-only memory (EPROM or flash memory), fiber optic devices, and portable optical disc read-only memory (CDROM). Furthermore, computer-readable media can even be paper or other suitable media on which the program can be printed, since the program can be obtained electronically, for example, by optically scanning the paper or other medium, followed by editing, interpreting, or otherwise processing as necessary, and then stored in computer memory.

[0177] It should be understood that various parts of the present invention can be implemented in hardware, software, firmware, or a combination thereof. In the above embodiments, multiple steps or methods can be implemented in software or firmware stored in memory and executed by a suitable instruction execution system. For example, if implemented in hardware, as in another embodiment, it can be implemented using any one or a combination of the following techniques known in the art: discrete logic circuits having logic gates for implementing logical functions on data signals, application-specific integrated circuits (ASICs) having suitable combinational logic gates, programmable gate arrays (PGAs), field-programmable gate arrays (FPGAs), etc.

[0178] In the description of this specification, references to terms such as "one embodiment," "some embodiments," "example," "specific example," or "some examples," etc., indicate that a specific feature, structure, material, or characteristic described in connection with that embodiment or example is included in at least one embodiment or example of the invention. In this specification, the illustrative expressions of the above terms do not necessarily refer to the same embodiment or example. Furthermore, the specific features, structures, materials, or characteristics described may be combined in any suitable manner in one or more embodiments or examples.

[0179] Although embodiments of the invention have been shown and described, those skilled in the art will understand that various changes, modifications, substitutions and alterations can be made to these embodiments without departing from the principles and spirit of the invention, the scope of which is defined by the claims and their equivalents.

[0180] The above is a detailed description of the preferred embodiments of the present invention, but the present invention is not limited to the embodiments described. Those skilled in the art can make various equivalent modifications or substitutions without departing from the spirit of the present invention, and these equivalent modifications or substitutions are all included within the scope defined by the claims of this application.

Claims

1. A data transmission method, characterized in that, Applied to message push providers, the method includes: Generate a message to be sent with a unique message identification number; the message to be sent includes a device identifier; Send the message to be sent to the device; so that the device generates a first encoded data packet based on the device identifier and the unique message identification number in the message to be sent and the device event generated by the device, and sends the first encoded data packet back to the message pusher; Receive the first encoded data packet sent by the device, and aggregate the unique message identification numbers and device events restored from the first encoded data packet to generate push receipt data; The push receipt data is compressed and encoded to obtain a second encoded data packet; The second encoded data packet is sent to the message push requester so that the message push requester processes the second encoded data packet and restores the device events before the message pusher performs data aggregation.

2. The method according to claim 1, characterized in that, The generation of a message to be sent with a unique message identifier includes: Receive a message push request; wherein the message push request carries an identifier of the message push requester; Generate a message to be sent based on the message push request; A unique message identifier is generated based on the message push requester's identifier, and the unique message identifier is used to identify the message to be sent, so as to obtain a message to be sent with a unique message identifier.

3. The method according to claim 1, characterized in that, The step of receiving the first encoded data packet sent by the device and aggregating each unique message identifier and each device event reconstructed from the first encoded data packet to generate push receipt data includes: Receive the first encoded data packet sent by the device; The first encoded data packet is processed to restore the plurality of device identifiers, plurality of unique message identification numbers and plurality of device events contained in the first encoded data packet; Based on the unique message identification number, the message push requester identifier corresponding to the unique message identification number is parsed out; Each unique message identifier and each device event is aggregated according to the dimension of the message push requester identifier to generate push receipt data. 。 4. A data transmission method, characterized in that, Applied to the device side, the method includes: Receive a message to be sent from the message pusher; the message to be sent has a unique message identification number and a device identifier; Acquire device events; Based on the device identifier, the unique message identification number, and the device event in the message to be sent, a first encoded data packet is generated, and the first encoded data packet is sent back to the message pusher; The message to be sent is determined according to any one of claims 1-3.

5. The method according to claim 4, characterized in that, The step of generating a first encoded data packet based on the device identifier, the unique message identification number, and the device event in the message to be sent, and sending the first encoded data packet back to the message pusher, includes: The device identifier, the unique message identification number, and the device event in the message to be sent are aggregated to obtain an aggregated data packet; The aggregated data packet is compressed and encoded to obtain a first encoded data packet, and the first encoded data packet is sent back to the message pusher.

6. The method according to claim 5, characterized in that, The step of compressing and encoding the aggregated data packet to obtain a first encoded data packet, and sending the first encoded data packet back to the message pusher, includes: Based on the device identifier, the unique message identification number, and the device event in the message to be sent, an event data packet is generated and stored in a local database; wherein, the number of event data packets in the local database is several; The event data packets in the local database are aggregated to obtain an aggregated data packet.

7. A data transmission method, characterized in that, Applied to the message push requester, the method includes: Receive the second encoded data packet sent by the message pusher; The second encoded data packet is decoded and decompressed to obtain the push receipt data contained in the second encoded data; The push receipt data is processed to restore the device events before data aggregation by the message pusher; The second encoded data packet is determined according to the data transmission method described in any one of claims 1-3.

8. A data transmission device, characterized in that, The device, used in message push applications, includes: The message generation module is used to generate a message to be sent with a unique message identification number; the message to be sent includes a device identifier; The message sending module is used to send the message to be sent to the device; so that the device generates a first encoded data packet based on the device identifier, the unique message identification number and the device event generated by the device in the message to be sent, and sends the first encoded data packet back to the message pusher; The first aggregation module is used to receive the first encoded data packet sent by the device, and aggregate the unique message identification numbers and device events restored from the first encoded data packet to generate push receipt data; The first compression encoding module is used to compress and encode the push receipt data to obtain a second encoded data packet; The second encoded data packet sending module is used to send the second encoded data packet to the message push requester so that the message push requester can process the second encoded data packet and restore the device events before the message pusher performs data aggregation.

9. A data transmission device, characterized in that, Applied to the device side, the device includes: The message receiving module is used to receive messages to be sent by the message pusher; the messages to be sent have a unique message identification number and a device identifier; The device event acquisition module is used to acquire device events; The first encoded data packet generation module is used to generate a first encoded data packet based on the device identifier, the unique message identification number, and the device event in the message to be sent, and to send the first encoded data packet back to the message pusher. The message to be sent is determined by the data transmission device according to claim 8.

10. A data transmission device, characterized in that, The device, applied to the message push requester, includes: The second encoded data packet receiving module is used to receive the second encoded data packet sent by the message pusher. The push receipt data restoration module is used to decode and decompress the second encoded data packet to obtain the push receipt data contained in the second encoded data; The device event restoration module is used to process the push receipt data and restore the device events before the data aggregation by the message pusher. The second encoded data packet is determined by the data transmission device according to claim 8.