Method, device and equipment for pushing out-of-end message of application program and storage medium

By receiving the receipt message from the terminal device and searching the bitmap bitmap serial number, the number of messages has been issued in real time is calculated, which solves the problem that the existing technology cannot adjust the push strategy in real time, and realizes effective message push and system resource conservation.

CN120034574APending Publication Date: 2025-05-23TENCENT TECHNOLOGY (SHENZHEN) CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202311563724.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2023-11-21
Publication Date
2025-05-23

AI Technical Summary

Technical Problem

The existing technology cannot observe the use of manufacturer quota by Android manufacturers in real time, resulting in the inability to flexibly adjust the off-application message push strategy, resulting in invalid message issuance and waste of system computing resources.

Method used

By receiving the receipt message of the out-of-application message sent by the terminal device, searching the bitmap bitmap serial number of each terminal device, counting the number of out-of-application messages in real time, and adjusting the push strategy based on this information.

Benefits of technology

It realizes real-time grasp of the usage of off-end messages on each terminal device, avoids invalid issuance, and saves system computing resources.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120034574A_ABST
    Figure CN120034574A_ABST
Patent Text Reader

Abstract

The invention provides a method, device and equipment for pushing out-of-end messages of an application program and a storage medium, and relates to the technical field of communication. The method comprises the following steps: receiving a receipt message, wherein the receipt message comprises identification information of a plurality of terminal devices; searching a bitmap sequence number corresponding to the identification information of each terminal device in a cache according to the identification information of each terminal device; according to at least one of the identification information and the bitmap serial number, searching the number of issued out-of-terminal messages of each terminal device in a preset time period in a cache; adding 1 to the issued number of the off-terminal messages of each terminal device to obtain the issued number of the off-terminal messages of each current terminal device; and adjusting a push strategy of the out-of-end messages according to the number of the issued out-of-end messages of each current terminal device. According to the method, the push condition of the message outside the application program end of each terminal device is mastered in real time, the push strategy of the message outside the application program end can be adjusted, and invalid issuing of the message outside the end is avoided.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of data processing technology, and in particular, to a method, apparatus, device and storage medium for pushing messages outside an application terminal. Background Art

[0002] Android phone manufacturers provide each mobile application (Application, APP) with the ability to push external messages to the terminal device system through the manufacturer's service. For different APPs, Android phone manufacturers limit the maximum number of times each terminal device can push external messages through the manufacturer's service, which is defined as the Android manufacturer quota. Currently, manual operation and algorithm recommendation are usually used alternately to push external APP messages.

[0003] Manual operation is when the operator of an APP uses the push management system to manually select push content and the target terminal device group for push. Usually, there will be several external messages pushed every day, covering some terminal device groups. Algorithmic recommendation is automatically initiated by the operator of an APP using the background recommendation system to push content selected by the recommendation algorithm to all terminal devices.

[0004] Both manual operation and algorithm recommendation methods of pushing off-APP messages cannot observe the usage of manufacturer quotas of various Android manufacturers in real time, and thus cannot flexibly adjust the off-APP message push strategy. Summary of the invention

[0005] The embodiment of the present application provides a method, device, equipment and storage medium for pushing application terminal external messages. The method realizes real-time grasp of the usage of application terminal external messages of each terminal device, and through the usage of application terminal external messages of each terminal device, the push strategy of the application terminal external messages can be adjusted to avoid invalid delivery of terminal external messages and save system computing resources.

[0006] In a first aspect, an embodiment of the present application provides a method for pushing an application external message, including:

[0007] Receiving a receipt message of an external terminal message of an application sent by a first device, the receipt message including identification information of a plurality of terminal devices, the external terminal message being sent to the plurality of terminal devices;

[0008] According to the identification information of each terminal device among the multiple terminal devices, searching the cache for a bitmap serial number corresponding to the identification information of each terminal device, wherein the bitmap serial numbers corresponding to the identification information of each terminal device are all different;

[0009] According to at least one of the identification information of each terminal device and the bitmap sequence number, searching the cache for the number of the application-side external messages that have been sent to each terminal device within a preset time period;

[0010] The number of the application-side external messages that have been sent to each terminal device is accumulated by 1 to obtain the number of the application-side external messages that have been sent to each terminal device at present;

[0011] According to the number of the application-side external messages that have been sent to each terminal device, the push strategy of the application-side external messages is adjusted.

[0012] In a second aspect, an embodiment of the present application provides a device for pushing an application external message, including:

[0013] A receiving unit, configured to receive a receipt message of an external terminal message of an application sent by a first device, wherein the receipt message includes identification information of a plurality of terminal devices, and the external terminal message is sent to the plurality of terminal devices;

[0014] A processing unit, configured to search, in a cache, for a bitmap serial number corresponding to the identification information of each terminal device according to the identification information of each terminal device, wherein the bitmap serial numbers corresponding to the identification information of each terminal device are different;

[0015] The processing unit is further configured to search the cache for the number of application-side external messages sent to each terminal device within a preset period of time according to the identification information of each terminal device and at least one of the bitmap sequence numbers;

[0016] The processing unit is further used to accumulate 1 for the number of the application-side external messages sent to each terminal device, so as to obtain the number of the application-side external messages sent to each terminal device at present;

[0017] The processing unit is further configured to adjust a push strategy for the application-side external messages according to the number of application-side external messages currently sent to each terminal device.

[0018] In a third aspect, the present application provides an electronic device, including:

[0019] a processor adapted to implement computer instructions; and,

[0020] The memory stores computer instructions, where the computer instructions are suitable for being loaded by the processor and executing the method of the first aspect.

[0021] In a fourth aspect, an embodiment of the present application provides a computer-readable storage medium, which stores computer instructions. When the computer instructions are read and executed by a processor of a computer device, the computer device executes the method of the first aspect above.

[0022] In a fifth aspect, an embodiment of the present application provides a computer program product or a computer program, the computer program product or the computer program including computer instructions, the computer instructions being stored in a computer-readable storage medium. A processor of a computer device reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions, so that the computer device executes the method of the first aspect above.

[0023] In the above technical scheme, the server obtains the identification information of multiple terminal devices by receiving a receipt message of the application's external-end message sent by the first device. The multiple terminal devices are the terminal devices that currently push the application's external-end message. The server searches the cache for the bitmap number corresponding to the identification information of each terminal device based on the identification information of each terminal device. Then, the terminal device searches the cache for the number of application external-end messages that have been sent to each terminal device within a preset time period based on the identification information of each terminal device and at least one of the bitmap numbers. The number of application external-end messages that have been sent to each terminal device is accumulated by 1 to obtain the number of application external-end messages that have been sent to each terminal device at present, thereby realizing real-time grasp of the usage of the application external-end messages of each terminal device. Through the usage of the application external-end messages of each terminal device, the push strategy of the application external-end messages can be adjusted to avoid invalid sending of external-end messages and save system computing resources. BRIEF DESCRIPTION OF THE DRAWINGS

[0024] Figure 1 A schematic block diagram of a bitmap storage structure involved in an embodiment of the present application;

[0025] Figure 2 An optional schematic diagram of a system architecture involved in an embodiment of the present application;

[0026] Figure 3 A schematic flowchart of a method for pushing an application-side external message provided in an embodiment of the present application;

[0027] Figure 4 A schematic flow chart of a method for real-time calculation of used manufacturer quotas of a terminal device provided in an embodiment of the present application;

[0028] Figure 5A schematic flowchart of a method for exporting terminal devices with unfilled quotas provided in an embodiment of the present application;

[0029] Figure 6 A schematic flowchart of a method for querying terminal device identification information provided in an embodiment of the present application;

[0030] Figure 7 A schematic flowchart of a method for exporting a terminal device with a specified quota provided in an embodiment of the present application;

[0031] Figure 8 is a schematic block diagram of a device according to an embodiment of the present application;

[0032] Fig. 9 It is a schematic block diagram of an electronic device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0033] The technical solutions in the embodiments of the present application will be clearly and completely described below in conjunction with the drawings in the embodiments of the present application.

[0034] In order to more clearly understand the embodiments of the present application, the relevant terms involved in the present application are briefly described below.

[0035] 1. External messages:

[0036] Message push usually refers to the active message push of the current web page of the terminal device or the mobile device APP by the website operation staff through some tools. The embodiments of the present application mainly involve the push of APP messages installed on the mobile device. There are two forms of push corresponding to the APP running in the foreground and after the APP process is cleaned up. When the APP is running in the foreground, the push at this time is called end-to-end push (end refers to the client, which can also be called the terminal device); when the APP process is cleaned up or for other reasons, the long connection of the APP is disconnected, and the push at this time is called end-to-end push.

[0037] The push of in-terminal messages is generally a push system implemented independently by the APP operator. The push server belongs to the operator. The terminal device maintains a long connection to the APP's push server. For example, the first APP is installed on the terminal device. When the terminal device opens the first APP, the terminal device establishes a connection with the push server of the first APP. The push server can push in-terminal messages to the first APP of the terminal device.

[0038] The push of out-of-terminal messages requires the participation of the manufacturer's server of the terminal device (manufacturers such as Huawei, Xiaomi, Meizu, Samsung, etc.). For another example, when the connection established between the terminal device installed with the first APP and the push server of the first APP is disconnected, and the push server of the first APP needs to push a message to the terminal device installed with the first APP, the push server of the first APP pushes an out-of-terminal message to the manufacturer's server of the terminal device installed with the first APP. The manufacturer's server receives the out-of-terminal message and pushes the out-of-terminal message to the terminal device installed with the first APP. Specifically, for example, the operator server of Douyin pushes an out-of-terminal message to the manufacturer A server. The manufacturer A server receives the out-of-terminal message and pushes it to the terminal devices installed with the Douyin application of manufacturer A. An out-of-terminal message refers to a message pushed to the outside rather than the inside of the APP client, such as a notification bar message.

[0039] II. Bitmap:

[0040] Bitmap is a data structure based on bit storage, used to represent whether an element in a set exists. It can be regarded as a binary vector, where each bit has only two possible values: 0 and 1. If the i-th bit is 1, it means the element belongs to the set; otherwise, it means the element does not belong to the set.

[0041] The following uses a simple example to specifically illustrate how bitmap stores data based on bit storage. The smallest unit of a computer is a byte, and one byte is equal to eight bits. Suppose we want to store the four data 1, 3, 5, and 6. In array 1, the first, fourth, sixth, and seventh bits take the value 1, and the remaining bits take the value 0, as Figure 1 shown, Figure 1 which shows a schematic block diagram of a bitmap storage structure.

[0042] In a computer, different units can be used to store data. For example, if integer data (int) is used to store data, storing 2 billion numbers requires approximately 7.45G of storage space. However, if bits are used as the unit to store data, 2 billion numbers are 2 billion bits, and the space occupied is approximately 0.23G, which can greatly save storage space.

[0043] In data processing and analysis, it is often necessary to perform statistics and calculations on a large amount of data. When the data volume reaches the billion level, traditional data structures and algorithms are no longer capable of handling this task. Bitmap is a data structure suitable for large-scale data statistics, capable of storing large-scale data with a low space complexity and supporting efficient bitwise operation operations. According to this feature, bitmap can be used for large-scale data statistics and calculations.

[0044] Figure 2FIG. 1 is an optional schematic diagram of a system architecture 100 involved in an embodiment of the present application. Figure 2 As shown, the system architecture 100 includes a device 110 of operator A, a device 120 of manufacturer B, and a terminal device 130. The manufacturer of the terminal device 130 is manufacturer B, and the first application provided by operator A is installed on the terminal device 130. The terminal device 130 can receive a message pushed by the device 110 of operator A. Specifically, when the first application on the terminal device 130 is running in the foreground, the device 110 of operator A establishes a long connection with the terminal device 130, and the device 110 can push a message to the terminal device 130. At this time, the push message received by the terminal device 130 is an in-terminal message; when the process of the first application on the terminal device 130 is cleared or due to other reasons, the long connection established between the device 110 of operator A and the terminal device 130 is disconnected, the device 110 can send a push message to the device 120 of manufacturer B, the device 120 of manufacturer B receives the push message, and sends a push message to the terminal device 130. At this time, the push message received by the terminal device 130 is an out-terminal message.

[0045] It should be understood that the system architecture 100 is only used as an example and does not limit the present application in any way. The system architecture 100 may also include other factory equipment and other terminal equipment.

[0046] The terminal device may include a vehicle-mounted terminal and a terminal device terminal.

[0047] The vehicle terminal may include a driving computer or an on-board unit (OBU), etc. The vehicle terminal may also be an application (APP) on a terminal, an APP on a smart rearview mirror, an APP or a small program on a mobile phone, etc., which is not limited here.

[0048] The terminal device (user equipment, UE) can be a wireless terminal device or a wired terminal device. The wireless terminal device can refer to a device with wireless transceiver function. The terminal device can be a mobile phone, a tablet computer (Pad), a computer with wireless transceiver function, virtual reality (Virtual Reality, VR) terminal device, augmented reality (Augmented Reality, AR) terminal device, intelligent voice interaction equipment, smart home appliances, vehicle-mounted terminals, aircraft, etc., without limitation here.

[0049] The client can be deployed on the terminal device, where the client can be run on the terminal device in the form of a browser or in the form of an independent APP. The specific presentation form of the client is not limited here.

[0050] The server can be an independent physical server, a server cluster or distributed system composed of multiple physical servers, or a cloud server that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, CDN (Content Delivery Network), and big data and artificial intelligence platforms. The server can also become a node of the blockchain.

[0051] The server may be one or more servers. When there are multiple servers, there are at least two servers for providing different services, and / or there are at least two servers for providing the same service, such as providing the same service in a load balancing manner, which is not limited in the embodiments of the present application.

[0052] The terminal device and the server can be directly or indirectly connected by wireless communication, and this application does not limit this. This application does not limit the number of servers or terminal devices. The solution provided by this application can be completed by the terminal device independently, or by the server independently, or by the terminal device and the server in cooperation, and this application does not limit this.

[0053] Android phone manufacturers provide each mobile application (Application, APP) with the ability to push external messages to the mobile phone system through manufacturer services. For different APPs, Android phone manufacturers limit the maximum number of times each terminal device can push external messages through manufacturer services, which is defined as the Android manufacturer quota. Currently, manual operation and algorithm recommendation are usually used alternately to push external APP messages.

[0054] Manual operation is when the operator of an APP uses the push management system to manually select push content and the target terminal device group for push. Usually, there will be several external messages pushed every day, covering some terminal device groups. Algorithmic recommendation is automatically initiated by the operator of an APP using the background recommendation system to push content selected by the recommendation algorithm to all terminal devices.

[0055] Both manual operation and algorithm recommendation methods of pushing messages outside the APP end cannot observe the push quota usage of each Android manufacturer in real time, cannot assist operators in determining whether they can continue to push messages to terminal devices, and cannot flexibly adjust the push strategy for messages outside the APP end. When pushing messages, terminal devices without quotas are intercepted by the manufacturer's frequency limiting strategy, resulting in invalid delivery and wasting the system's computing resources.

[0056] Therefore, the present application proposes a method for pushing application-side external messages, which realizes real-time grasp of the usage of application-side external messages of each terminal device. Through the usage of application-side external messages of each terminal device, the push strategy of the application-side external messages can be adjusted to avoid invalid delivery of external messages and save system computing resources.

[0057] The solution provided by the embodiments of the present application is described below in conjunction with the accompanying drawings.

[0058] Figure 3 The present invention provides a schematic flow chart of a method 200 for pushing an application-side message in an embodiment of the present invention. The method 200 can be executed by any electronic device with data processing capability. For example, the electronic device can be implemented as a server or a computer. The following description takes the electronic device as a server as an example. Figure 3 As shown, method 200 may include steps 210 to 250 .

[0059] S210, the server receives a receipt message of an external message of an application sent by a first device, the receipt message includes identification information of multiple terminal devices, the external message is sent to the multiple terminal devices, and the server is a server that manages the external message of the application.

[0060] S220, the server searches the cache for a bitmap number corresponding to the identification information of each terminal device according to the identification information of each terminal device among the multiple terminal devices, and the bitmap number corresponding to the identification information of each terminal device is different.

[0061] S230, the server searches the cache for the number of application-side external messages sent to each terminal device within a preset time period based on the identification information of each terminal device and at least one of the bitmap sequence numbers.

[0062] S240, the server adds 1 to the number of application-side external messages that have been sent to each terminal device to obtain the number of application-side external messages that have been sent to each terminal device.

[0063] S250, the server adjusts the push strategy of the application-side external message according to the number of the application-side external messages currently sent to each terminal device.

[0064] In the method 200, the server obtains identification information of multiple terminal devices by receiving a receipt message of an application's external-end message sent by a first device. The multiple terminal devices are terminal devices that currently push the application's external-end message. The server searches for a bitmap serial number corresponding to the identification information of each terminal device in a cache based on the identification information of each terminal device. Then, the terminal device searches for the number of application external-end messages that have been sent to each terminal device within a preset time period in the cache based on the identification information of each terminal device and at least one of the bitmap serial numbers. The number of application external-end messages that have been sent to each terminal device is accumulated by 1 to obtain the number of application external-end messages that have been sent to each terminal device at present. This achieves real-time understanding of the usage of the application external-end messages of each terminal device. Through the usage of the application external-end messages of each terminal device, the push strategy of the application external-end messages can be adjusted to avoid invalid sending of external-end messages and save system computing resources.

[0065] The method 200 is described in detail step by step below.

[0066] In step S210, the server receives a receipt message of an external message of an application sent by a first device, wherein the first device may be a management device of an operator's message push system.

[0067] Specifically, when the server sends an external message to the multiple terminal devices, it needs to push the external message to the manufacturer's device through the message push system accessed by the operator, and the manufacturer's device pushes the external message to the multiple terminal devices. After the manufacturer's device pushes the external message, it reports a receipt message of the external message to the management device of the message push system, and the management device of the message push system reports the receipt message to the server.

[0068] For example, the message push system is the message push system of operator A, and the application is a video APP provided by operator A. The server of operator A pushes the off-end message to the manufacturer's device of the terminal device through the mobile message push system. After the manufacturer's device pushes the off-end message to multiple terminal devices, it reports the receipt message of the pushed off-end message to the mobile message push system, and the mobile message push system reports the receipt message to the server of operator A.

[0069] Optionally, the first device may also be a manufacturer's device.

[0070] Specifically, when the server sends the external end message to the multiple terminal devices, the server pushes the external end message to the manufacturer device, and the manufacturer device pushes the external end message to the multiple terminal devices. After pushing the external end message, the manufacturer device reports the receipt message to the server.

[0071] Optionally, the receipt message may further include indication information of whether the external message is successfully pushed.

[0072] By carrying indication information of whether the off-end message is successfully pushed in the receipt message, the server can be promptly informed of the status of the off-end message push. If the off-end message push is unsuccessful, a timely warning can be issued to check the reason for the unsuccessful off-end message push, thereby improving the success rate of the off-end message push.

[0073] Optionally, the identification information of the terminal device may be qimei, which is an ID that uniquely identifies the user's mobile phone device. qimei may be abbreviated as Q36.

[0074] In step S220, the server searches for the bitmap number corresponding to the identification information of each terminal device in the cache Redis according to the identification information of each terminal device in the multiple terminal devices, and the bitmap number corresponding to the identification information of each terminal device is different. The identification information of the multiple terminal devices and the bitmap number corresponding to the identification information of each terminal device in the multiple terminal devices are stored in Redis.

[0075] Bitmap is a data structure suitable for large-scale data statistics, which can store large-scale data with low space complexity. In the embodiment of the present application, Redis stores the bitmap serial number corresponding to the identification information of each terminal device. Using the bitmap data structure to represent the serial number corresponding to the identification information of each terminal device can greatly save the storage resources of the device.

[0076] Optionally, the server can consume the receipt message through the first Flink service to obtain the identification information of the multiple terminal devices, and obtain the mapping relationship between the identification information of the multiple terminal devices and the bitmap serial number corresponding to the identification information of each terminal device in the multiple terminal devices by accessing the cache Redis.

[0077] In step S230, the server searches the cache for the number of application-side external messages that have been sent to each terminal device within a preset time period based on the identification information of each terminal device and at least one of the bitmap serial numbers, and the cache Redis stores the number of application-side external messages that have been sent to each terminal device.

[0078] Optionally, the server may query the Redis for the number of application-side external messages sent to each terminal device within a preset time period based on the identification information of each terminal device and at least one of the bitmap sequence numbers through a second Flink service.

[0079] Optionally, the preset time period may generally be one day.

[0080] In step S240, the server adds 1 to the number of application-side external messages that have been sent to each terminal device to obtain the number of application-side external messages that have been sent to each terminal device.

[0081] Optionally, the server may add one to the Redis count of each terminal device through the second Flink service to obtain the number of application-side external messages currently sent to each terminal device.

[0082] Optionally, after obtaining the number of the application-side external messages that have been sent by each terminal device, the method 200 further includes:

[0083] The server records the bitmap serial number corresponding to the identification information of each terminal device in a record unit corresponding to the same number of the external terminal messages that have been sent in the database according to the number of external terminal messages of the application that have been sent to each terminal device.

[0084] Optionally, the database may be a clickhouse database, in which the bitmap set data of the terminal device group in units of days is stored. As shown in Table 1, Table 1 shows the clickhouse table structure definition.

[0085] Table 1 clickhouse table structure definition

[0086] Column Name Storage Content down_times Number of times Android manufacturer quota has been used (1-10) val Save the bitmap data of the terminal device serial number event_time Data storage time

[0087] The number of used Android manufacturer quotas shown in Table 2 is for example only and does not impose any limitation on this application.

[0088] Optionally, after obtaining the number of application-side external messages that have been sent to each terminal device, the server can also use a third Flink service to aggregate the information containing the bitmap sequence number and the number of times the terminal device has been sent, and write the sequence number with the same number of times of sending into the corresponding bitmap data structure of the number of times sent in the data table of the clickhouse database after Flink aggregation.

[0089] After the above process, we obtained the real-time information of the manufacturer quota usage of the current terminal device in the clickhouse database, and stored the bitmap serial numbers of the corresponding terminal devices in the clickhouse database. Through the storage of the manufacturer quota usage of the terminal devices, the push strategy of the application-side external message was adjusted.

[0090] To better understand the process of calculating the used manufacturer quota of the terminal device in real time, Figure 4 This process is described in detail. Figure 4 As shown, Figure 4 The present invention provides a schematic flow chart of a method 300 for real-time calculation of the manufacturer's quota used by a terminal device. Figure 4 As shown, method 300 may include steps 310 to 390 .

[0091] S310, tpns reports a receipt message of the push status to the server, and the server connects the receipt to the first message queue.

[0092] S320, the server consumes the receipt message of tpns through the first Flink service (defined as oc_bitmap here), and obtains the identification information of the terminal device included in the receipt message.

[0093] S330: The server accesses the cache Redis through the first Flink service, and searches the cache Redis for a bitmap number corresponding to the identification information of the terminal device according to the identification information of the terminal device.

[0094] S340: The server writes the message with the bitmap sequence number of the terminal device into the second message queue through the first Flink service.

[0095] S350: The server consumes the message with the bitmap sequence number of the terminal device through the second Flink service (defined as oc_quota here).

[0096] S360, the server queries the number of times the manufacturer's quota has been issued to the terminal device on the day in Redis through the second Flink service, and obtains the number of times the terminal device has issued the quota on the day by adding one to the Redis count of the terminal device.

[0097] S370: The server writes a message containing the number of times the manufacturer's daily quota of the terminal device has been issued into the third message queue through the second Flink service.

[0098] S380: The server consumes the message containing the number of times the manufacturer's quota for the day has been issued to the terminal device through the third Flink service (defined as oc_quota_ck here).

[0099] S390, the server uses the third Flink service to aggregate the information of the bitmap serial number and the number of times the bitmap has been sent to the terminal device, and writes the serial number with the same number of times of sending into the bitmap data structure corresponding to down_times in the clickhouse database.

[0100] After the above process, we obtain the real-time information of the current terminal device manufacturer quota usage in the clickhouse database, and store the corresponding terminal device bitmap data structure from the primary key down_times (1-10). Through the storage of terminal device quota usage, we can adjust the sending strategy of external messages.

[0101] The above real-time data writing process isolates three Flink services through message queues to help improve the scalability of quota data applications. Each message stream can be connected to a new service to achieve future expansion capabilities.

[0102] In step S250, the server adjusts the push strategy of the application-side external message according to the number of the application-side external messages currently sent to each terminal device.

[0103] Optionally, adjusting the push strategy of the application-side external message according to the number of the application-side external messages currently sent to each terminal device includes:

[0104] Determine a terminal device to which the number of external terminal messages of the application program that have been sent within the preset time period does not reach a preset value, and send the external terminal message of the application program to the terminal device; or,

[0105] Determine the terminal device to which the number of external terminal messages of the application program that have been sent within the preset time period reaches a preset value, and no longer send external terminal messages of the application program to the terminal device.

[0106] Specifically, the push strategy refers to which terminal devices to send the application's external end messages and which terminal devices to no longer send the application's external end messages. By determining whether the number of the application's external end messages that have been sent to the terminal device within the preset time period has reached a preset value, it is determined whether to continue sending the application's external end messages to the terminal device. When the number of the application's external end messages that have been sent to the first terminal device within the preset time period has not reached a preset value, the server sends the application's external end message to the first terminal device; when the number of the application's external end messages that have been sent to the second terminal device within the preset time period has reached a preset value, the server no longer sends the application's external end message to the second terminal device.

[0107] By using the application external-end message usage of each terminal device, the push strategy of the application external-end message can be adjusted to avoid invalid delivery of the external-end message, thus saving the computing resources of the system.

[0108] Optionally, the determining of the terminal device to which the number of the application-side external messages sent within the preset time period has not reached a preset value includes:

[0109] The server obtains identification information of multiple first terminal devices corresponding to each manufacturer;

[0110] The server searches the cache for bitmap serial numbers corresponding to the multiple first terminal devices according to the identification information of the multiple first terminal devices;

[0111] The server obtains, from the second database, the number of the sent external end messages and the bitmap sequence number corresponding to the identification information of each terminal device corresponding to the number of the sent external end messages;

[0112] The server deletes the bitmap number corresponding to the second terminal device from the number corresponding to the multiple first terminal devices corresponding to each manufacturer, and obtains the bitmap number corresponding to the third terminal device whose number of off-end messages sent has not reached the limit, and the number of off-end messages sent by the second terminal device has reached the preset value.

[0113] It should be understood that the second terminal device and the third terminal device do not limit the number of terminal devices. The second terminal device is a terminal device to which the number of external messages sent reaches the preset value. The number of second terminal devices can be one or more. The second terminal device is a terminal device to which the number of external messages sent does not reach the preset value. The number of third terminal devices can also be one or more.

[0114] Specifically, if Figure 5 As shown, before the server exports the terminal devices with unfilled quotas, the Q36 number packages of all the terminal devices that install the application can be pre-determined (the Q36 number package refers to a file including multiple terminal device identification information). The server can classify multiple terminal devices according to different manufacturers by querying the device information storage. After classification, we can obtain the Q36 number packages of terminal devices of different manufacturers, such as the Q36 number packages of terminal devices of manufacturer A, manufacturer B, manufacturer C, etc., and store them in the object storage. The manufacturer quota of the application restricted by each manufacturer is different, so when determining the terminal device for which the number of the application terminal external message that has been issued within the preset time period has not reached the preset value, it is first necessary to generate the bitmap number package of the terminal device distinguished by the manufacturer (the bitmap number package refers to a file including the bitmap serial numbers of multiple terminal devices), that is, generate the bitmap number packages of the terminal devices corresponding to different manufacturers, such as accessing the cache, according to the identification information of the multiple terminal devices, that is, Q36, and searching the bitmap serial numbers corresponding to the multiple terminal devices in the cache to determine the bitmap number packages of the terminal devices corresponding to different manufacturers.

[0115] Through a second database, such as the clickhouse database, the bitmap data of all quota counts (1-10) stored in the clickhouse database is downloaded and saved in the memory of the server. The pre-generated bitmap number packages of terminal devices classified by manufacturer are subtracted from the bitmap number packages of terminal devices corresponding to the preset numerical times, and finally the bitmap number packages of terminal devices whose quotas have not been fully issued for the preset numerical times are obtained. For example, the manufacturer quota of manufacturer A is 10 times, and the bitmap number packages of multiple first terminal devices corresponding to manufacturer A are 1, 2, 3, 4 and 5, respectively, wherein the bitmap number packages of the second terminal devices of manufacturer A corresponding to the preset times are 1 and 5, respectively. Then, the bitmap number packages 1 and 5 of the second terminal devices of manufacturer A corresponding to the limited times are subtracted from the bitmap number packages 1, 2, 3, 4 and 5 of the multiple first terminal devices of manufacturer A, and the bitmap number packages 2, 3, 4 of the third terminal devices whose manufacturer quotas have not been fully issued are obtained.

[0116] Finally, the bitmap number package data of devices of all manufacturers that have not met the manufacturer quota is imported into Tencent Cloud Distributed Object Storage (Cloud Object Storage, cos), and provided to the operator as a basis for external terminal message push. For example, the bitmap number packages of terminal devices of each manufacturer that have not met the quota are taken and combined to obtain the bitmap number package of all terminal devices whose manufacturer quota has not been met, and the bitmap number package is uploaded to the object storage system for processing, such as writing the bitmap number package of all terminal devices whose manufacturer quota has not been met in the cache Redis corresponding to the object storage system, and updating the database corresponding to the storage system through Redis, so that the operator can perform subsequent processing on the bitmap number package of all terminal devices whose quota has not been met through the web page, such as selecting certain terminal devices to send external terminal messages of specific topics, etc.

[0117] When the operator of an application pushes messages, it can select the terminal devices with remaining quota from multiple terminal devices. It can push high-quality operational content to these terminal devices to increase the reach and clicks of the messages, thus playing a role in attracting activity.

[0118] Optionally, in order to increase the daily active terminal devices (Daily Active User, DAU) of the APP, the terminal devices for which the manufacturer's quota has not been used up on that day can be exported in real time before the end of the preset time period, and the operator can select content to push to the terminal devices for which the manufacturer's quota has not been used up, so as to increase the reach of the message.

[0119] For example, the preset time period is 1 day, and every night the terminal devices whose manufacturer's quota has not been used up on that day can be exported in real time, and the operator can select content to push to the terminal device.

[0120] Optionally, in step S210, before the server receives a receipt message of the application's external message sent by the first device, the method 200 further includes:

[0121] The server generates a bitmap serial number for each of the multiple terminal devices in sequence according to the identification information of the multiple terminal devices, and the bitmap serial numbers of the multiple terminal devices are serial numbers that increase in sequence.

[0122] The server generates successively increasing bitmap serial numbers of the multiple terminal devices using the identification information of the multiple terminal devices in sequence, that is, mapping the identification information of the terminal devices into a bitmap data structure for storage, so that the daily manufacturer quota consumption of the terminal devices can be counted and stored more quickly later.

[0123] It should be understood that the server may also generate successively decreasing bitmap serial numbers of the plurality of terminal devices in sequence from the identification information of the plurality of terminal devices.

[0124] Optionally, the generating, in sequence according to the identification information of the multiple terminal devices, a bitmap sequence number of each terminal device in the multiple terminal devices includes:

[0125] A MySQL database is used to generate a data table for each terminal device, wherein the data table for each terminal device includes identification information of each terminal device and a bitmap self-incrementing serial number of each terminal device.

[0126] Specifically, because the bitmap data structure can greatly save storage space and can be quickly searched, the bitmap serial number is used to index the terminal device, that is, a unique serial number is assigned to each terminal device as its index value in the bitmap. Here, the relational database management system MySQL auto-increment primary key method is used to assign a unique auto-increment serial number to the terminal device and generate a mapping relationship between the auto-increment serial number and the terminal device.

[0127] Optionally, the data table of each terminal device further includes one or more of the following parameters:

[0128] The creation time of the data table of each terminal device and the update time of the data table of each terminal device.

[0129] The following specifically describes the content of the data table of each terminal device generated by the MySQL database through Table 2. Table 2 is the definition of the MySQL data table, which is the MySQL data table corresponding to a certain terminal device.

[0130] Table 2 MySQL data table definition

[0131]

[0132] The MySQL database can be used to quickly and easily generate a self-increasing bitmap number for each terminal device in sequence for multiple terminal devices.

[0133] Optionally, the method 200 further includes:

[0134] The server receives device information reported by a first terminal device, where the device information includes identification information of the first terminal device;

[0135] Determining whether identification information of the first terminal device exists in the cache;

[0136] When the identification information of the first terminal device does not exist in the cache, using a MySQL database to generate a bitmap auto-increment sequence number corresponding to the identification information of the first terminal device according to the identification information of the first terminal device;

[0137] The identification information of the terminal device and the bitmap self-incrementing sequence number are written into the cache.

[0138] Specifically, when the application on the first terminal device is started or opened, the corresponding device information will be reported to the server. The server queries whether the identification information of the first terminal device exists in the cache Redis based on the identification information of the first terminal device in the device information. If the identification information of the first terminal device does not exist in the cache Redis, the server needs to use the MySQL database to generate a bitmap auto-increment number corresponding to the identification information of the first terminal device based on the identification information of the first terminal device. After the auto-increment number is generated, the server writes the identification information of the terminal device and the bitmap auto-increment number into the cache Redis at the same time. The above steps can be referred to Figure 6 To understand, Figure 6 The following is a schematic flow chart of a method 400 for querying terminal device identification information provided in an embodiment of the present application. Figure 6 As shown, method 400 may include steps 410 to 460 .

[0139] S410, when the application on the first terminal device is started or opened, the first terminal device reports device information to the server, and the first terminal device writes the device information into the Kafka message queue, and the device information includes the identification information of the first terminal device.

[0140] It should be understood that the device information may also include: the version of the application program and the manufacturer of the first terminal device.

[0141] S420: The server consumes the device information reported by the first terminal device.

[0142] S430: The server queries whether the identification information of the first terminal device exists in the Redis cache.

[0143] S440, if the identification information of the first terminal device does not exist in the cache Redis, the server needs to use the bitmap auto-increment number generated in the MySQL database corresponding to the identification information of the first terminal device.

[0144] S450, the MySQL database returns a bitmap auto-incremental number corresponding to the identification information of the first terminal device.

[0145] S460, the server writes the identification information of the terminal device and the bitmap auto-increment number into the cache Redis at the same time. The data storage type in the cache Redis can be a string string.

[0146] It should be understood that the above-mentioned cache Redis and MySQL databases can be deployed on other devices or on the server.

[0147] The Redis cache is introduced here to improve the performance when querying the terminal device identification information. The mapping relationship between the terminal device identification information and the auto-increment sequence number will be used in the subsequent construction of the target terminal device and the push process.

[0148] Optionally, the method 200 further includes:

[0149] The server determines the bitmap serial numbers of multiple terminal devices corresponding to each manufacturer;

[0150] Obtaining the bitmap sequence number of the terminal device in the second database, which has sent the external end message MN times according to the manufacturer classification, where M is the preset value of the manufacturer quota and N is the specified remaining quota number;

[0151] Determine the bitmap sequence number of the terminal device for which the number of the off-end messages sent by each manufacturer is less than or equal to N times according to each terminal device bitmap sequence number among the multiple terminal devices corresponding to each manufacturer and the bitmap sequence number of the terminal device for which the number of the off-end messages sent by each manufacturer is greater than MN times;

[0152] The bitmap sequence numbers of the terminal devices to which the number of the off-end messages sent by each manufacturer is less than or equal to N times are obtained, and the bitmap sequence numbers of the terminal devices to which the number of the off-end messages sent by the application is greater than or equal to N times are obtained.

[0153] This method can be used to select terminal devices with a specified number of remaining quotas. For example, to export terminal devices with 4 remaining manufacturer quotas, assume that the manufacturer of the terminal device is A, which stipulates that the manufacturer quota M of a certain application is 10. It is necessary to select terminal devices with at least 4 remaining quotas N.

[0154] The bitmap number packages of the terminal devices of manufacturer A are 1, 2, 3, 4 and 5 respectively. Among them, the number of external messages sent by the terminal device with bitmap number 1 is 8, the number of external messages sent by the terminal device with bitmap number 2 is 3, the number of external messages sent by the terminal device with bitmap number 3 is 4, the number of external messages sent by the terminal device with bitmap number 4 is 6, and the number of external messages sent by the terminal device with bitmap number 5 is 7. If MN is equal to 6, then the number packages of terminal devices whose number of external messages sent is greater than 6 can be deleted from the bitmap number packages 1, 2, 3, 4 and 5 of the terminal devices of manufacturer A to obtain the bitmap sequence numbers of terminal devices whose number of external messages sent by the application is less than or equal to N times, that is, the terminal devices with bitmap numbers 1 and 5 are deleted, and the remaining bitmap numbers are 2, 3 and 4, which are the bitmap sequence numbers of terminal devices whose number of external messages sent by the application is greater than or equal to 4 times.

[0155] Optionally, the method further includes:

[0156] The server determines the bitmap serial number of the terminal device of the first target group;

[0157] The server determines the bitmap serial numbers of the terminal devices of the first target group classified by manufacturer according to the bitmap serial numbers of the terminal devices of the first group and the bitmap serial numbers of the terminal devices classified by manufacturer.

[0158] For example, the first target group may be a certain region or a certain city. In this way, the bitmap serial number of the terminal device of the first target group classified by manufacturer can be selected according to different regions, which improves flexibility.

[0159] To better understand the process of selecting a terminal device with a specified number of remaining quotas, Figure 7 The process of selecting a terminal device with a specified number of remaining quotas is described as follows: Figure 7 As shown, first, the Q36 number package of the specified terminal device group can be selected, such as the city package of XX city. The intersection is calculated with the pre-generated Q36 number packages of different manufacturers to generate the Q36 number package of the specified terminal device group classified by manufacturer, and then the bitmap number package of the terminal devices distinguished by manufacturer is generated, such as accessing the cache, according to the identification information of the multiple terminal devices, i.e., Q36, the bitmap serial numbers corresponding to the multiple terminal devices are searched in the cache to determine the bitmap number packages of the terminal devices corresponding to different manufacturers.

[0160] If you need to export the terminal device group number package with at least N remaining quotas, use the clickhouse aggregation function to export the bitmap sequence number corresponding to the maximum quota number MN of each manufacturer, use the bitmap number package of the terminal device distinguished by the manufacturer and the bitmap package of MN to find the difference set, and finally get the bitmap number package of the terminal device with at least N remaining quotas.

[0161] The terminal equipment number package bitmaps of various manufacturers are aggregated into a whole, and the number package is imported into the system, thereby providing the operator with a target terminal equipment number package with a specified remaining quota quantity.

[0162] When the operator of the application pushes messages, the operator can obtain the target terminal device number package with the specified remaining quota. Pushing the corresponding remaining quota of the external terminal messages to these terminal devices will not cause waste of system resources. At the same time, by reserving the manufacturer quota of the application external terminal message for the terminal device, it is ensured that the manufacturer push quota is reserved for the target terminal device group before the important message is pushed, so that when a major event occurs, the target terminal device still has available manufacturer quota to use.

[0163] Optionally, the method further includes:

[0164] Determine a fourth terminal device of each manufacturer from the third terminal devices of each manufacturer whose number of the external end messages that have been issued has not reached the limit number of times, the fourth terminal device is a terminal device that needs to reserve the external end message quota of the application program, and the quota that needs to be reserved by the fourth terminal device is V, where V is less than M;

[0165] Monitoring the number of the application-side external messages pushed by the fourth terminal device;

[0166] When the number of the application-side external messages remaining to be pushed by the fourth terminal device is V, the application-side external messages are no longer pushed to the fourth terminal device.

[0167] By reserving manufacturer quotas for messages outside the application end for terminal devices, it is ensured that manufacturer push quotas are reserved for the target terminal device group before important messages are pushed, so that when major events occur, the target terminal devices still have available manufacturer quotas to use. When certain major events (such as important meetings, etc.) occur, operators will push important messages about major events at specific time points to increase the reach and clicks of messages, which plays a role in attracting activity.

[0168] Specifically, for example, the manufacturer quota for the application of manufacturer A is 10, and the bitmap numbers of the third terminal device whose number of off-end messages of manufacturer A does not reach the manufacturer quota are 2, 3, and 4. The terminal devices with bitmap numbers 2 and 3 are selected as the fourth terminal devices, and 2 manufacturer quotas are reserved for the fourth terminal devices for standby use. The terminal devices with bitmap numbers 2 and 3 are monitored in real time through the second database. When the number of the remaining off-end messages of the application that can be pushed by the fourth terminal devices with bitmap numbers 2 and 3 is 2, the off-end messages of the application are no longer pushed to the fourth terminal device. When a major event occurs, the off-end messages of the application are pushed to the fourth terminal devices with bitmap numbers 2 and 3.

[0169] Optionally, the method further includes:

[0170] Displays usage information of the application-side external message quota corresponding to multiple manufacturers,

[0171] The usage information includes any one or more of the following parameters:

[0172] The number of application-side external messages sent by the first manufacturer to the terminal device, the number of application-side external messages sent by the second manufacturer to the terminal device, and the total number of application-side external messages sent by the second manufacturer.

[0173] Displaying the real-time usage of quotas of various manufacturers is beneficial for operators to observe the usage information of the application-side external message quotas corresponding to multiple manufacturers in real time, so as to assist operators in adjusting push strategies.

[0174] The specific implementation modes of the present application are described in detail above in conjunction with the accompanying drawings. However, the present application is not limited to the specific details in the above implementation modes. Within the technical concept of the present application, the technical solution of the present application can be subjected to a variety of simple modifications, and these simple modifications all belong to the protection scope of the present application. For example, the various specific technical features described in the above specific implementation modes can be combined in any suitable manner without contradiction. In order to avoid unnecessary repetition, the present application will not further explain various possible combinations. For another example, the various different implementation modes of the present application can also be arbitrarily combined, and as long as they do not violate the idea of ​​the present application, they should also be regarded as the parameters disclosed in the present application.

[0175] It should also be understood that in the various method embodiments of the present application, the size of the sequence number of the above-mentioned processes does not mean the order of execution, and 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 the present application. It should be understood that these sequence numbers can be interchanged where appropriate, so that the embodiments of the present application described can be implemented in an order other than those shown or described.

[0176] Combination of the above Figures 1 to 7 , describes in detail the method embodiment of the present application, and the following is combined with Figure 8 and Fig. 9 , describe in detail the device embodiments of the present application.

[0177] Figure 8 is a schematic block diagram of an apparatus 500 according to an embodiment of the present application, and the apparatus 500 can implement the functions of the terminal device in the above method. Figure 8 As shown, the apparatus 500 may include a receiving unit 510 and a processing unit 520 .

[0178] The receiving unit 510 is used to receive a receipt message of an external terminal message of an application sent by a first device, wherein the receipt message includes identification information of multiple terminal devices, and the external terminal message is pushed to the multiple terminal devices.

[0179] The processing unit 520 is used to search the cache for a bitmap number corresponding to the identification information of each terminal device according to the identification information of each terminal device among the multiple terminal devices, and the bitmap number corresponding to the identification information of each terminal device is different.

[0180] The processing unit 520 is used to search the cache for the number of the application-side external messages sent to each terminal device within a preset period of time according to the identification information of each terminal device and at least one of the bitmap sequence numbers;

[0181] The processing unit 520 is used to accumulate 1 to the number of the application-side external messages that have been sent to each terminal device, and obtain the number of the application-side external messages that have been sent to each terminal device.

[0182] The processing unit 520 is used to adjust the push strategy of the application-side external message according to the number of the application-side external messages currently sent to each terminal device.

[0183] In some embodiments, before receiving the receipt message of the application's external message sent by the first device, the processing unit 520 is further configured to:

[0184] According to the identification information of the multiple terminal devices, a bitmap serial number of each terminal device in the multiple terminal devices is generated in sequence, and the bitmap serial numbers of the multiple terminal devices are serial numbers that increase in sequence.

[0185] In some embodiments, the processing unit 520 is specifically configured to:

[0186] A first database is used to generate a data table for each terminal device, wherein the data table for each terminal device includes identification information of each terminal device and a bitmap self-incrementing serial number of each terminal device.

[0187] In some embodiments, the data table of each terminal device further includes one or more of the following parameters:

[0188] The creation time of the data table of each terminal device and the update time of the data table of each terminal device.

[0189] In some embodiments, the receiving unit 510 is further configured to:

[0190] Receiving device information reported by a first terminal device, the device information including identification information of the first terminal device;

[0191] The processing unit 520 is further configured to:

[0192] Determining whether identification information of the first terminal device exists in the cache;

[0193] When the identification information of the first terminal device does not exist in the cache, using the first database to generate a bitmap self-incrementing sequence number corresponding to the identification information of the first terminal device according to the identification information of the first terminal device;

[0194] The identification information of the terminal device and the bitmap self-incrementing sequence number are written into the cache.

[0195] In some embodiments, after obtaining the number of the application-side external messages that have been sent to each terminal device, the processing unit 520 is further configured to:

[0196] According to the number of application external-end messages currently sent to each terminal device, the bitmap serial number corresponding to the identification information of each terminal device is recorded in the record unit corresponding to the same number of external-end messages sent in the second database.

[0197] In some embodiments, the processing unit 520 is specifically configured to:

[0198] Determine the terminal devices to which the number of the application-side external messages sent within the preset time period does not reach a preset value, where the preset value is set by the manufacturer corresponding to each terminal device;

[0199] Send an external terminal message of the application to the terminal device that has not reached the preset value.

[0200] In some embodiments, the processing unit 520 is specifically configured to:

[0201] Obtain identification information of multiple first terminal devices corresponding to each manufacturer;

[0202] According to the identification information of the multiple first terminal devices, searching the cache for bitmap serial numbers corresponding to the multiple first terminal devices;

[0203] Obtaining, in the second database, the number of the sent external end messages and the bitmap sequence number of each terminal device corresponding to the number of the sent external end messages;

[0204] The bitmap number corresponding to the second terminal device is deleted from the bitmap numbers corresponding to the multiple first terminal devices corresponding to each manufacturer, and the bitmap number corresponding to the third terminal device whose number of off-end messages sent has not reached the limit is obtained, and the number of off-end messages sent by the second terminal device has reached the preset value.

[0205] In some embodiments, the processing unit 520 is further configured to:

[0206] Determine the bitmap serial numbers of multiple terminal devices corresponding to each manufacturer;

[0207] Obtaining the bitmap sequence number of the terminal device in the second database, which has sent the external end message MN times according to the manufacturer classification, where M is the preset value of the manufacturer quota and N is the specified remaining quota number;

[0208] Determine the bitmap sequence number of the terminal device for which the number of the off-end messages sent by each manufacturer is less than or equal to N times according to the bitmap sequence number of each terminal device among the bitmap sequence numbers of the multiple terminal devices corresponding to each manufacturer and the bitmap sequence number of the terminal device for which the number of the off-end messages sent by each manufacturer is greater than MN times;

[0209] The bitmap sequence numbers of the terminal devices to which the number of the off-end messages sent by each manufacturer is less than or equal to N times are obtained, and the bitmap sequence numbers of the terminal devices to which the number of the off-end messages sent by the application is greater than or equal to N times are obtained.

[0210] In some embodiments, the processing unit 520 is specifically configured to:

[0211] Determine the bitmap serial number of the terminal device of the first target group;

[0212] The bitmap numbers of the terminal devices of the first target group classified by the manufacturer are determined according to the bitmap numbers of the terminal devices of the first target group and the bitmap numbers of the terminal devices classified by the manufacturer.

[0213] In some embodiments, the device further comprises a display unit 530,

[0214] The display unit 530 is used to display usage information of the application-side external message quota corresponding to multiple manufacturers.

[0215] The usage information includes any one or more of the following parameters:

[0216] The number of application-side external messages sent by the first manufacturer to the terminal device, the number of application-side external messages sent by the second manufacturer to the terminal device, and the total number of application-side external messages sent by the second manufacturer.

[0217] It should be understood that the device embodiment and the method embodiment may correspond to each other, and similar descriptions may refer to the method embodiment. To avoid repetition, no further description is given here. Specifically, when the device 500 in this embodiment may correspond to the execution subject of the above-mentioned method of the embodiment of the present application, the aforementioned and other operations and / or functions of each module in the device 500 are respectively for implementing the corresponding processes of each method in the above-mentioned method, and for the sake of brevity, no further description is given here.

[0218] The above describes the device and system of the embodiment of the present application from the perspective of the functional module in conjunction with the accompanying drawings. It should be understood that the functional module can be implemented in hardware form, can be implemented by instructions in software form, and can also be implemented by a combination of hardware and software modules. Specifically, the steps of the method embodiment in the embodiment of the present application can be completed by the hardware integrated logic circuit and / or software form instructions in the processor, and the steps of the method disclosed in the embodiment of the present application can be directly embodied as a hardware decoding processor to perform, or a combination of hardware and software modules in the decoding processor to perform. Optionally, the software module can be located in a mature storage medium in the field such as a random access memory, a flash memory, a read-only memory, a programmable read-only memory, an electrically erasable programmable memory, a register, etc. The storage medium is located in a memory, and the processor reads the information in the memory, and completes the steps in the above method embodiment in conjunction with its hardware.

[0219] like Fig. 9It is a schematic block diagram of an electronic device 600 provided in an embodiment of the present application.

[0220] like Fig. 9 As shown, the electronic device 600 may include:

[0221] The memory 610 and the processor 620, the memory 610 is used to store the computer program and transmit the program code to the processor 620. In other words, the processor 620 can call and run the computer program from the memory 610 to implement the method in the embodiment of the present application.

[0222] For example, the processor 620 may be configured to execute the steps of each execution subject in the above method 300 according to the instructions in the computer program.

[0223] In some embodiments of the present application, the processor 620 may include but is not limited to:

[0224] General-purpose processor, digital signal processor (DSP), application-specific integrated circuit (ASIC), field programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic device, discrete hardware components, etc.

[0225] In some embodiments of the present application, the memory 610 includes but is not limited to:

[0226] Volatile memory and / or non-volatile memory. Among them, the non-volatile memory can be read-only memory (ROM), programmable ROM (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM) or flash memory. The volatile memory can be random access memory (RAM), which is used as an external cache. By way of example and not limitation, many forms of RAM are available, such as static random access memory (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDR SDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous link DRAM (SLDRAM), and direct RAM bus random access memory (DR RAM).

[0227] In some embodiments of the present application, the computer program may be divided into one or more modules, which are stored in the memory 610 and executed by the processor 620 to complete the method provided by the present application. The one or more modules may be a series of computer program instruction segments capable of completing specific functions, and the instruction segments are used to describe the execution process of the computer program in the electronic device 600.

[0228] Optionally, the electronic device 600 may further include:

[0229] The communication interface 630 may be connected to the processor 620 or the memory 610 .

[0230] The processor 620 may control the communication interface 630 to communicate with other devices, specifically, to send information or data to other devices, or to receive information or data sent by other devices. Exemplarily, the communication interface 630 may include a transmitter and a receiver. The communication interface 630 may further include an antenna, and the number of antennas may be one or more.

[0231] It should be understood that the various components in the electronic device 600 are connected via a bus system, wherein the bus system includes not only a data bus but also a power bus, a control bus and a status signal bus.

[0232] According to one aspect of the present application, a communication device is provided, including a processor and a memory, wherein the memory is used to store a computer program, and the processor is used to call and run the computer program stored in the memory, so that the encoder executes the method of the above method embodiment.

[0233] According to one aspect of the present application, a computer storage medium is provided, on which a computer program is stored, and when the computer program is executed by a computer, the computer can perform the method of the above method embodiment. In other words, the present application embodiment also provides a computer program product containing instructions, and when the instructions are executed by a computer, the computer can perform the method of the above method embodiment.

[0234] According to another aspect of the present application, a computer program product or computer program is provided, the computer program product or computer program includes computer instructions, the computer instructions are stored in a computer-readable storage medium. A processor of a computer device reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions, so that the computer device executes the method of the above method embodiment.

[0235] In other words, when implemented using software, it can be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, the process or function according to the embodiment of the present application is generated in whole or in part. The computer may be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions may be stored in a computer-readable storage medium, or transmitted from one computer-readable storage medium to another computer-readable storage medium. For example, the computer instructions may be transmitted from a website site, computer, server or data center by wired (e.g., coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) mode to another website site, computer, server or data center. The computer-readable storage medium may be any available medium that a computer can access or a data storage device such as a server or data center that includes one or more available media integrated. The available medium may be a magnetic medium (e.g., a floppy disk, a hard disk, a tape), an optical medium (e.g., a digital video disc (DVD)), or a semiconductor medium (e.g., a solid state disk (SSD)), etc.

[0236] It should be understood that in the embodiment of the present application, "B corresponding to A" means that B is associated with A. In one implementation, B can be determined based on A. However, it should also be understood that determining B based on A does not mean determining B based only on A, and B can also be determined based on A and / or other information.

[0237] In the description of the present application, unless otherwise specified, "at least one" means one or more, and "plurality" means two or more than two. In addition, "and / or" describes the association relationship of associated objects, indicating that three relationships may exist. For example, A and / or B can represent: the existence of A alone, the existence of A and B at the same time, and the existence of B alone, where A and B can be singular or plural. The character " / " generally indicates that the associated objects before and after are in an "or" relationship. "At least one of the following" or similar expressions refers to any combination of these items, including any combination of single or plural items. For example, at least one of a, b, or c can represent: a, b, c, ab, ac, bc, or abc, where a, b, c can be single or multiple.

[0238] It should also be understood that the first, second, etc. descriptions appearing in the embodiments of the present application are only used for illustration and distinction of the description objects, without any distinction of order, nor do they indicate any special limitation on the number of devices in the embodiments of the present application, and cannot constitute any limitation on the embodiments of the present application.

[0239] It should also be understood that the specific features, structures or characteristics related to the embodiments in the specification are included in at least one embodiment of the present application. In addition, these specific features, structures or characteristics can be combined in one or more embodiments in any suitable manner.

[0240] In addition, the terms "including" and "having" and any variations thereof are intended to cover non-exclusive inclusions. For example, a process, method, system, product, or device that includes a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to such process, method, product, or device.

[0241] It is understandable that in the specific implementation of this application, data related to terminal device information may be involved. When the above embodiments of this application are applied to specific products or technologies, it is necessary to obtain permission or consent from the terminal device, and the collection, use and processing of relevant data must comply with relevant laws, regulations and standards of relevant countries and regions.

[0242] In the embodiments of the present application, the term "module" or "unit" refers to a computer program or a part of a computer program with a predetermined function, and works together with other related parts to achieve a predetermined goal, and can be implemented in whole or in part by using software, hardware (such as processing circuits or memories) or a combination thereof. Similarly, a processor (or multiple processors or memories) can be used to implement one or more modules or units. In addition, each module or unit can be part of an overall module or unit that includes the function of the module or unit.

[0243] Those of ordinary skill in the art will appreciate that the modules and algorithm steps of each example 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 performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of this application.

[0244] In the several embodiments provided in the present application, it should be understood that the disclosed devices, apparatuses and methods can be implemented in other ways. For example, the device embodiments described above are only schematic. For example, the division of the module is only a logical function division. There may be other division methods in actual implementation, such as multiple modules or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or modules, which can be electrical, mechanical or other forms.

[0245] The modules described as separate components may or may not be physically separated, and the components displayed as modules may or may not be physical modules, that is, they may be located in one place, or they may be distributed on multiple network units. Some or all of the modules may be selected according to actual needs to achieve the purpose of the scheme of this embodiment. For example, each functional module in each embodiment of the present application may be integrated into a processing module, or each module may exist physically separately, or two or more modules may be integrated into one module.

[0246] The above is only a specific implementation of the present application, but the protection scope of the present application is not limited thereto. Any technician familiar with the technical field can easily think of changes or substitutions within the technical scope disclosed in the present application, which should be included in the protection scope of the present application. Therefore, the protection scope of the present application should be based on the protection scope of the right indication information.

Claims

1. A method for pushing an external message of an application program, It is characterized in that include: Receiving a receipt message of an external terminal message of an application sent by a first device, the receipt message including identification information of multiple terminal devices, and the external terminal message is pushed to the multiple terminal devices; According to the identification information of each terminal device among the multiple terminal devices, searching the cache for the bitmap sequence number corresponding to the identification information of each terminal device, wherein the bitmap sequence number corresponding to the identification information of each terminal device is different; According to at least one of the identification information of each terminal device and the bitmap sequence number, searching the cache for the number of the application-side external messages that have been sent to each terminal device within a preset time period; The number of the application-side external messages that have been sent to each terminal device is accumulated by 1 to obtain the number of the application-side external messages that have been sent to each terminal device at present; According to the number of the application-side external messages that have been sent to each terminal device, the push strategy of the application-side external messages is adjusted.

2. The method according to claim 1, It is characterized in that Before receiving a receipt message of an external message of an application sent by the first device, the method further includes: According to the identification information of the multiple terminal devices, a bitmap serial number of each terminal device in the multiple terminal devices is generated in sequence, and the bitmap serial numbers of the multiple terminal devices are serial numbers that increase in sequence.

3. The method according to claim 2, It is characterized in that The step of sequentially generating a bitmap sequence number for each terminal device in the plurality of terminal devices according to the identification information of the plurality of terminal devices comprises: A first database is used to generate a data table for each terminal device, wherein the data table for each terminal device includes identification information of each terminal device and a bitmap self-incrementing serial number of each terminal device.

4. The method according to claim 3, It is characterized in that The data table of each terminal device also includes one or more of the following parameters: The creation time of the data table of each terminal device and the update time of the data table of each terminal device.

5. The method according to claim 1, It is characterized in that The method further comprises: Receiving device information reported by a first terminal device, the device information including identification information of the first terminal device; Determining whether identification information of the first terminal device exists in the cache; When the identification information of the first terminal device does not exist in the cache, using the first database to generate a bitmap auto-increment sequence number corresponding to the identification information of the first terminal device according to the identification information of the first terminal device; The identification information of the terminal device and the bitmap self-incrementing sequence number are written into the cache.

6. The method according to claim 1, It is characterized in that After obtaining the number of the application-side external messages currently sent to each terminal device, the method further includes: According to the number of application external-end messages currently sent to each terminal device, the bitmap number corresponding to the identification information of each terminal device is recorded in the record unit corresponding to the same number of external-end messages sent in the second database.

7. The method according to claim 6, It is characterized in that The adjusting the push strategy of the application external-end message according to the number of the application external-end messages currently sent to each terminal device includes: Determine the terminal devices to which the number of the application-side external messages sent within the preset time period does not reach a preset value, where the preset value is set by the manufacturer corresponding to each terminal device; Send an external terminal message of the application to the terminal device that has not reached the preset value.

8. The method according to claim 7, It is characterized in that The determining that the number of the application-side external messages sent within the preset time period has not reached the preset value of the terminal device includes: Obtain identification information of multiple first terminal devices corresponding to each manufacturer; According to the identification information of the multiple first terminal devices, searching the cache for bitmap serial numbers corresponding to the multiple first terminal devices; Obtaining, in the second database, the number of the sent external end messages and the bitmap sequence number of each terminal device corresponding to the number of the sent external end messages; The bitmap number corresponding to the second terminal device is deleted from the bitmap numbers corresponding to the multiple first terminal devices corresponding to each manufacturer, and the bitmap number corresponding to the third terminal device is obtained, the number of the off-end messages sent by the second terminal device does not reach the preset value, and the number of the off-end messages sent by the second terminal device reaches the preset value.

9. The method according to claim 6, It is characterized in that The method further comprises: Determine the bitmap serial numbers of multiple terminal devices corresponding to each manufacturer; Obtaining, in the second database, a bitmap sequence number of a terminal device for which the number of the external end messages issued is MN times according to the manufacturer classification, where M is a preset value of the manufacturer quota and N is a specified remaining quota number; Determine the bitmap sequence number of the terminal device for which the number of the external end messages sent by each manufacturer is less than or equal to N times according to each terminal device bitmap sequence number among the bitmap sequence numbers of the multiple terminal devices corresponding to each manufacturer and the bitmap sequence number of the terminal device for which the number of the external end messages sent by each manufacturer is greater than MN times; The bitmap serial numbers of the terminal devices to which the number of the off-end messages sent by each manufacturer is less than or equal to N times are obtained, and the bitmap serial numbers of the terminal devices to which the number of the off-end messages sent by the application is greater than or equal to N times are obtained.

10. The method according to claim 9, It is characterized in that The bitmap serial numbers of the multiple terminal devices corresponding to each manufacturer include: Determine the bitmap serial number of the terminal device of the first target group; The bitmap serial numbers of the terminal devices of the first target group classified by the manufacturer are determined according to the bitmap serial numbers of the terminal devices of the first target group and the bitmap serial numbers of the terminal devices classified by the manufacturer.

11. The method according to claim 1, It is characterized in that The method further comprises: Displays usage information of the application-side external message quota corresponding to multiple manufacturers, The usage information includes any one or more of the following parameters: The number of application-side external messages sent by the first manufacturer to the terminal device, the number of application-side external messages sent by the second manufacturer to the terminal device, and the total number of application-side external messages sent by the second manufacturer.

12. A device for pushing messages outside an application terminal, It is characterized in that include: A receiving unit, configured to receive a receipt message of a first external end message of an application sent by a first device, wherein the receipt message includes identification information of a plurality of terminal devices that receive the first external end message; a processing unit, configured to search, in a cache, for a bitmap sequence number corresponding to the identification information of each terminal device according to the identification information of each terminal device among the plurality of terminal devices, wherein the bitmap sequence number corresponding to the identification information of each terminal device is different; The processing unit is further configured to search the cache for the number of the application-side external messages received by each terminal device within a preset time period according to the identification information of each terminal device and at least one of the bitmap sequence numbers; The processing unit is further used to accumulate 1 the number of the application-side external messages received by each terminal device within the preset time period to obtain the number of the application-side external messages received by each terminal device within the preset time period; The processing unit is further configured to adjust a push strategy for the application-side external messages according to the number of the application-side external messages received by each terminal device within a preset time period.

13. An electronic device, It is characterized in that The method comprises a processor and a memory, wherein the memory stores instructions, and when the processor runs the instructions, the processor executes the method according to any one of claims 1 to 11.

14. A computer storage medium, It is characterized in that The method comprises instructions which, when executed on a computer, cause the computer to execute the method according to any one of claims 1 to 11.

15. A computer program product, It is characterized in that The method comprises a computer program code, and when the computer program code is executed by an electronic device, the electronic device executes the method according to any one of claims 1 to 11.