Communication method, device and communication system

By dynamically controlling the application message sending strategy in the proxy server, cache and centrally sending application messages according to the usage status of the terminal device, the power consumption and user experience problems caused by the smart terminal device receiving a large number of messages when it is not in use are solved, and more efficient message management is achieved.

CN119545488APending Publication Date: 2025-02-28HUAWEI TECH CO LTD
View PDF 0 Cites 2 Cited by

Patent Information

Application Number
CN202311112196.9
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2023-08-30
Publication Date
2025-02-28

AI Technical Summary

Technical Problem

In the context of the development of mobile Internet technology, smart terminal devices still receive a large number of application messages when they are not in use, resulting in frequent wake-up and increased power consumption, affecting the user experience.

Method used

By implementing dynamic application message sending policy control in the proxy server, non-real-time application messages are cached and sent centrally when specific conditions are met, unnecessary wake-up is reduced.

Benefits of technology

While ensuring that important messages arrive at the terminal device in time, it reduces frequent wake-ups and power consumption increase due to non-real-time application messages, improving user experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119545488A_ABST
    Figure CN119545488A_ABST
Patent Text Reader

Abstract

The invention discloses a communication method, equipment and a communication system, relates to the technical field of communication, and can reduce the power consumption of terminal equipment while ensuring the user experience. According to the application, the proxy server can be indicated to adopt an adaptive strategy to perform downlink transmission of the application message based on the perceived use state of the terminal equipment. For example, the proxy server can adopt a specific strategy to send a downlink application message to the terminal equipment according to the message type of the application message when the terminal equipment is in a non-use state, such as forwarding a second type of application message in real time, and forwarding a first type of application message in a centralized manner after caching. For example, the proxy server can no longer cache the application message when the terminal device is in the use state. Therefore, on the premise of ensuring that important application messages timely arrive at the terminal equipment, unnecessary power consumption and disturbance to the terminal equipment due to frequent wakeup of the terminal equipment caused by the application messages with low importance can be reduced to the maximum extent.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of communication technology, and in particular to a communication method, device and communication system. Background Art

[0002] With the rapid development of mobile Internet technology, smart terminal devices such as mobile phones have become an indispensable part of people's daily life and work. For example, users can use applications installed on terminal devices to work, watch movies, chat, read books, shop, socialize, and play games.

[0003] However, when the user is not using the terminal device, the application server corresponding to the application will often send some application messages (such as system notifications, advertisements, communication messages, software update packages, etc.) to the terminal device, so the terminal device will be frequently awakened to receive application messages. Frequent awakening of the terminal device will bring more power consumption and interruption to the terminal device, affecting the user experience. Summary of the invention

[0004] The present application provides a communication method, device and communication system, which can dynamically control the policy of sending application messages based on the actual usage status of the terminal device, thereby reducing the power consumption of the terminal device while ensuring that important messages can trigger the terminal device in a timely manner.

[0005] In order to achieve the above objectives, this application adopts the following technical solutions:

[0006] In a first aspect, a communication method is provided, which is applied to a proxy server, and the method includes: the proxy server receives first information from a terminal device, wherein the first information instructs the proxy server to start a message proxy service; the proxy server receives a first application message from an application server and obtains the type of the first application message; the proxy server caches the first application message when the first application message is of a first type, and sends the first application message to the terminal device when a first condition is met; or, the proxy server forwards the first application message to the terminal device when the first application message is of a second type.

[0007] The proxy server is used to provide proxy policy management services and message proxy services. Proxy policy management services include turning on / off application message proxy services, and message proxy services include forwarding application messages in real time according to proxy policies or sending application messages in batches after caching.

[0008] As an example, the first type of application message may have one or more of the following characteristics: low real-time requirement (such as non-real-time message), high power consumption, low importance, etc. The second type of application message may have one or more of the following characteristics: high real-time requirement (such as real-time message), low power consumption, high importance, etc.

[0009] In the solution provided in the first aspect above, the proxy server can start the message proxy service according to the instruction of the terminal device, and after starting the message proxy service, adopt a specific strategy (such as the first strategy or the second strategy) according to the specific type of application message to send the downlink application message to the terminal device side. For example, the second type of application message is forwarded in real time, and the first type of application message is cached and then forwarded in a centralized manner. Based on this, different strategies can be adopted according to the actual needs of the terminal device. For example, when the terminal device is not in use, on the premise of ensuring that the application messages that are more important to the user can reach the terminal device in time, the unnecessary power consumption and disturbance caused to the terminal device by frequently waking up the terminal device due to less important application messages can be minimized, thereby improving the user experience.

[0010] As a possible implementation, the above-mentioned obtaining of the type of the first application message includes: obtaining the type of the first application message by querying the first list and / or the second list. As an example, the first list and the second list can be stored in a proxy server and managed and maintained by the proxy server. In some examples, the proxy server can accept modifications to the first list or the second list by developers. Based on this, the type of application message can be easily, quickly and accurately identified so that an appropriate strategy can be adopted for message proxying.

[0011] As a possible implementation, the above-mentioned acquisition of the type of the first application message includes: analyzing one or more of the following characteristics of the first application message to acquire the type of the first application message: application identification of the application to which it belongs, code stream characteristics, message characteristic code, protocol used, and data volume. Among them, code stream characteristics such as sending frequency, message characteristic code or protocol used can be used to indicate whether the message (such as application message) carries real-time messages, and the protocol used and data volume can be used to indicate the power consumption of the application message. Based on this, the type of application message can be conveniently, quickly and accurately identified by analyzing the specific content in the application message, so as to adopt an appropriate strategy for message proxy.

[0012] As an example, when determining the type of the first application message according to the application identifier of the application program to which the first application message belongs, the proxy server can determine the type of the first application message by finding out whether the application identifier is in a pre-stored list (such as a first list or a second list). The first list may include application identifiers of lower importance and / or applications that are not frequently used by the user, and the second list may include application identifiers of higher importance and / or applications that are frequently used by the user.

[0013] As a possible implementation, the first condition mentioned above includes one or more of the following: the cached message meets the cache duration, the cached message exceeds the cached data volume threshold, and the cached message exceeds the cached message quantity threshold. Among them, the cache duration refers to the cumulative cache duration of the first type of application messages, the cached data volume threshold refers to the total data volume of the first type of application messages that are cached, and the cached message quantity refers to the cumulative number of cached first type application messages. Based on this, the centralized forwarding of cached application messages can be triggered by conditions. Through the reasonable setting of triggering conditions, on the one hand, it can ensure that the cached application messages can reach the terminal device, and on the other hand, it can maximize the reduction of unnecessary power consumption and disturbance to the terminal device caused by frequent wake-ups of less important application messages, thereby improving the user experience.

[0014] As a possible implementation, before sending the first application message to the terminal device, the method further includes: the proxy server receives other application messages of the first type from the application server. Based on this, the proxy server can cache the first type of application messages in batches for subsequent centralized sending, which, on the one hand, ensures that the cached application messages can reach the terminal device, and on the other hand, minimizes unnecessary power consumption and disturbance to the terminal device caused by frequent awakening of the terminal device due to application messages of lower importance.

[0015] As a possible implementation, the proxy server sends the first application message to the terminal device through the second information, wherein the second information also includes other application messages of the first type received by the proxy server. Based on this, the proxy server can ensure that the cached application messages can reach the terminal device through batch caching and centralized forwarding, and on the other hand, minimize the unnecessary power consumption and disturbance caused to the terminal device by frequently waking up the terminal device due to application messages of lower importance, thereby improving the user experience.

[0016] As a possible implementation, the method further includes: sending second information to the terminal device when receiving the third information from the terminal device; wherein the third information instructs the proxy server to shut down the message proxy service, and the second information includes the first application message. Based on this, the message proxy service can be shut down according to the instruction of the terminal device, and the cached application message can be sent to the terminal device in a timely manner after the message proxy service is shut down.

[0017] As a possible implementation, the first information is sent to the proxy server when the terminal device is not in use. Based on this, the proxy server can adopt different strategies according to the actual needs of the terminal device, such as starting the message proxy service when the terminal device is not in use, to minimize unnecessary power consumption and disturbance caused by frequent wake-up of the terminal device due to application messages of lower importance.

[0018] As a possible implementation, the method further includes: the proxy server receives fourth information from the terminal device, wherein the fourth information instructs the proxy server to shut down the message proxy service; the proxy server receives a second application message from the application server and forwards the second application message to the terminal device. Based on this, the proxy server can adopt different strategies according to the actual needs of the terminal device, such as forwarding the application message in real time when the terminal device instructs to shut down the message proxy service, to ensure that the application message can reach the terminal device in time and ensure normal use by the user.

[0019] As a possible implementation, the fourth information is sent to the proxy server when the terminal device is in use. Based on this, the proxy server can adopt different strategies according to the actual needs of the terminal device, such as using a real-time forwarding strategy to send application messages to the terminal device when the terminal device is in use, to ensure that the application message can reach the terminal device in time and ensure normal use by the user.

[0020] As a possible implementation, the proxy server sends an application message, such as a first application message or a second application message, to the terminal device through a heartbeat message. Based on this, the existing mechanism can be reused to implement the sending of application messages, improve the adaptability of the communication process to the existing mechanism, simplify the communication process and improve communication efficiency.

[0021] In a second aspect, a communication method is provided, which is applied to a terminal device, and the method includes: when in a non-use state, the terminal device sends a first message to a proxy server, wherein the first message instructs the proxy server to start a message proxy service; when in a use state, the terminal device sends a fourth message to the proxy server, wherein the fourth message instructs the proxy server to shut down the message proxy service.

[0022] The proxy server is used to provide proxy policy management services and message proxy services. Proxy policy management services include turning on / off application message proxy services, and message proxy services include forwarding application messages in real time according to proxy policies or sending application messages in batches after caching.

[0023] In the solution provided in the second aspect above, the terminal device can instruct the terminal device to turn on or off the message proxy service according to its actual needs, so that the proxy server can adopt different strategies (such as the first strategy or the second strategy) to send downlink application messages to the terminal device side. For example, when the terminal device is not in use, it can instruct the proxy server to turn on the message proxy service to minimize the unnecessary power consumption and disturbance caused to the terminal device by frequent wake-up of the terminal device due to application messages of lower importance; for another example, when the terminal device is in use, it can instruct the proxy server to turn off the message proxy service to ensure that application messages that are more important to the user can reach the terminal device in time, thereby improving the user experience.

[0024] As a possible implementation, the terminal device is in a non-use state, and the method further includes: the terminal device receives second information from the proxy server, wherein the second information includes multiple application messages. Based on this, when the terminal device is in a non-use state, the proxy server can batch cache application messages according to the instructions of the terminal device and then centrally forward them to the terminal device, so as to minimize unnecessary power consumption and disturbance caused to the terminal device by frequently waking up the terminal device due to application messages of lower importance.

[0025] As a possible implementation, the terminal device is in use, and the method further includes: the terminal device receives an application message from the application server forwarded in real time by the proxy server. Based on this, when the terminal device is in use, the proxy server can forward the application message to the terminal device in real time according to the instruction of the terminal device, so as to ensure that the application message that is more important to the user can reach the terminal device in time.

[0026] As a possible implementation, the method further includes: the terminal device obtains the usage status of the terminal device based on one or more of the following information: whether the screen is on, whether a user operation is received, whether it is unlocked, whether there is a task running in the foreground, whether it is charging, and time information. Based on this, the terminal device can quickly and accurately obtain its usage status, and then different application message sending and receiving strategies can be selected according to the actual usage status.

[0027] According to a third aspect, a proxy server is provided, comprising: a message proxy unit, configured to: receive first information from a terminal device, wherein the first information instructs the proxy server to start a message proxy service; receive a first application message from an application server and obtain the type of the first application message; a policy management unit, configured to: cache the first application message when the first application message is of a first type, and send the first application message to the terminal device when a first condition is met; or forward the first application message to the terminal device when the first application message is of a second type.

[0028] In the solution provided in the third aspect above, the proxy server can start the message proxy service according to the instruction of the terminal device, and after starting the message proxy service, adopt a specific strategy (such as the first strategy or the second strategy) according to the specific type of application message to send the downlink application message to the terminal device side. For example, the second type of application messages are forwarded in real time, and the first type of application messages are cached and then forwarded in a centralized manner. Based on this, different strategies can be adopted according to the actual needs of the terminal device. For example, when the terminal device is not in use, on the premise of ensuring that application messages that are more important to the user can reach the terminal device in time, the unnecessary power consumption and disturbance caused to the terminal device by frequent wake-up of the terminal device due to less important application messages can be minimized, thereby improving the user experience.

[0029] As a possible implementation, the policy management unit is specifically used to obtain the type of the first application message by querying the first list and / or the second list. As an example, the first list and the second list can be stored in the proxy server and managed and maintained by the proxy server. In some examples, the proxy server can accept modifications to the first list or the second list by developers. Based on this, the type of application message can be easily, quickly and accurately identified so that a suitable policy can be used for message proxying.

[0030] As a possible implementation, the above-mentioned policy management unit is specifically used to: analyze one or more of the following characteristics of the first application message to obtain the type of the first application message: application identification of the application to which it belongs, code stream characteristics, message feature code, protocol used, and data volume. Among them, code stream characteristics such as sending frequency, message feature code or protocol used can be used to indicate whether the message (such as application message) carries real-time messages, and the protocol used and data volume can be used to indicate the power consumption of the application message. Based on this, the type of application message can be easily, quickly and accurately identified by analyzing the specific content in the application message, so as to adopt an appropriate strategy for message proxy.

[0031] As a possible implementation, the first condition mentioned above includes one or more of the following: the cached message meets the cache duration, the cached message exceeds the cached data volume threshold, and the cached message exceeds the cached message quantity threshold. Among them, the cache duration refers to the cumulative cache duration of the first type of application messages, the cached data volume threshold refers to the total data volume of the first type of application messages that are cached, and the cached message quantity refers to the cumulative number of cached first type application messages. Based on this, the centralized forwarding of cached application messages can be triggered by conditions. Through the reasonable setting of triggering conditions, on the one hand, it can ensure that the cached application messages can reach the terminal device, and on the other hand, it can maximize the reduction of unnecessary power consumption and disturbance to the terminal device caused by frequent wake-ups of less important application messages, thereby improving the user experience.

[0032] As a possible implementation, before sending the first application message to the terminal device, the message proxy unit is further used to: receive other application messages of the first type from the application server. Based on this, the proxy server can cache the first type of application messages in batches for subsequent centralized sending, which, on the one hand, ensures that the cached application messages can reach the terminal device, and on the other hand, minimizes unnecessary power consumption and disturbance to the terminal device caused by frequent wake-up of the terminal device due to application messages of lower importance.

[0033] As a possible implementation method, the message proxy unit sends the first application message to the terminal device through the second information, wherein the second information also includes other application messages of the first type received by the proxy server. Based on this, the proxy server can ensure that the cached application messages can reach the terminal device through batch caching and centralized forwarding, and on the other hand, minimize the unnecessary power consumption and disturbance caused to the terminal device by frequently waking up the terminal device due to application messages of lower importance, thereby improving the user experience.

[0034] As a possible implementation, the message proxy unit sends second information to the terminal device when receiving the third information from the terminal device; wherein the third information instructs the proxy server to shut down the message proxy service, and the second information includes the first application message. Based on this, the message proxy service can be shut down according to the instruction of the terminal device, and the cached application message can be sent to the terminal device in a timely manner after the message proxy service is shut down.

[0035] As a possible implementation, the first information is sent to the proxy server when the terminal device is not in use. Based on this, the proxy server can adopt different strategies according to the actual needs of the terminal device, such as starting the message proxy service when the terminal device is not in use, to minimize unnecessary power consumption and disturbance caused by frequent wake-up of the terminal device due to application messages of lower importance.

[0036] As a possible implementation, the message proxy unit is further used to: receive fourth information from the terminal device, wherein the fourth information instructs the proxy server to shut down the message proxy service; and receive a second application message from the application server and forward the second application message to the terminal device. Based on this, the proxy server can adopt different strategies according to the actual needs of the terminal device, such as forwarding the application message in real time when the terminal device instructs to shut down the message proxy service, to ensure that the application message can reach the terminal device in time and ensure normal use by the user.

[0037] As a possible implementation, the fourth information is sent to the proxy server when the terminal device is in use. Based on this, the proxy server can adopt different strategies according to the actual needs of the terminal device, such as using a real-time forwarding strategy to send application messages to the terminal device when the terminal device is in use, to ensure that the application message can reach the terminal device in time and ensure normal use by the user.

[0038] As a possible implementation, the message proxy unit sends an application message, such as a first application message or a second application message, to the terminal device through a heartbeat message. Based on this, the existing mechanism can be reused to implement the sending of application messages, improve the adaptability of the communication process to the existing mechanism, simplify the communication process and improve communication efficiency.

[0039] In a fourth aspect, a terminal device is provided, comprising: a proxy management unit, configured to send a first message to a proxy server when the terminal device is not in use, wherein the first message instructs the proxy server to start a message proxy service; or, when the terminal device is in use, send a fourth message to the proxy server, wherein the fourth message instructs the proxy server to shut down the message proxy service.

[0040] In the solution provided in the fourth aspect above, the terminal device can instruct the terminal device to turn on or off the message proxy service according to its actual needs, so that the proxy server can adopt different strategies (such as the first strategy or the second strategy) to send downlink application messages to the terminal device side. For example, when the terminal device is not in use, it can instruct the proxy server to turn on the message proxy service to minimize the unnecessary power consumption and disturbance caused to the terminal device by frequent wake-up of the terminal device due to application messages of lower importance; for another example, when the terminal device is in use, it can instruct the proxy server to turn off the message proxy service to ensure that application messages that are more important to the user can reach the terminal device in time, thereby improving the user experience.

[0041] As a possible implementation, the terminal device is in a non-use state, and the terminal device further includes: a message transceiver unit, configured to receive second information from a proxy server, wherein the second information includes multiple application messages. Based on this, when the terminal device is in a non-use state, the proxy server can batch cache application messages according to the instructions of the terminal device and then centrally forward them to the terminal device, so as to minimize unnecessary power consumption and disturbance caused to the terminal device by frequently waking up the terminal device due to application messages of lower importance.

[0042] As a possible implementation, the terminal device is in use, and the message transceiver unit is further used to receive application messages from the application server forwarded in real time by the proxy server. Based on this, when the terminal device is in use, the proxy server can forward application messages to the terminal device in real time according to the instructions of the terminal device, so as to ensure that application messages that are important to the user can reach the terminal device in time.

[0043] As a possible implementation, the proxy management unit is also used to obtain the usage status of the terminal device based on one or more of the following information: whether the screen is on, whether a user operation is received, whether it is unlocked, whether there is a task running in the foreground, whether it is charging, and time information. Based on this, the terminal device can quickly and accurately obtain its usage status, and then different application message sending and receiving strategies can be selected according to the actual usage status.

[0044] In a fifth aspect, a proxy server is provided, comprising: a transceiver for receiving and sending wireless signals; a memory for storing computer program instructions; and a processor for executing the computer program instructions to support the proxy server to implement a method as in any possible implementation of the first aspect.

[0045] In a sixth aspect, a terminal device is provided, comprising: a transceiver for receiving and sending wireless signals; a memory for storing computer program instructions; and a processor for executing the computer program instructions to support the terminal device to implement a method in any possible implementation manner of the first aspect.

[0046] In a seventh aspect, a communication system is provided, comprising a proxy server as described in any one of the third aspect or the fifth aspect and a terminal device as described in any one of the fourth aspect or the sixth aspect.

[0047] In an eighth aspect, a computer-readable storage medium is provided, on which computer program instructions are stored. When the computer program instructions are executed by a processor, the method in any possible implementation of the first aspect or the second aspect is implemented.

[0048] In a ninth aspect, a computer program product comprising instructions is provided, which, when executed on a computer, enables the computer to implement a method in any possible implementation of the first aspect or the second aspect.

[0049] In a tenth aspect, a chip system is provided, the chip system comprising a processing circuit and a storage medium, wherein the storage medium stores computer program instructions; when the computer program instructions are executed by the processor, the method in any possible implementation of the first aspect or the second aspect is implemented. The chip system may be composed of a chip, or may include a chip and other discrete devices. BRIEF DESCRIPTION OF THE DRAWINGS

[0050] Figure 1 A schematic diagram of a notification reminder management interface of an application provided in an embodiment of the present application;

[0051] Figure 2 A schematic diagram of a power usage mode management interface provided in an embodiment of the present application;

[0052] Figure 3 A schematic diagram of the transmission process of an application message provided in an embodiment of the present application;

[0053] Figure 4 A schematic diagram of a communication architecture of an application message provided in an embodiment of the present application;

[0054] Figure 5 A schematic diagram of another communication architecture of application messages provided in an embodiment of the present application;

[0055] Figure 6 A flowchart of transmitting an application message provided in an embodiment of the present application;

[0056] Figure 7An interaction diagram of a communication method for a terminal device in a non-use state provided in an embodiment of the present application;

[0057] Figure 8 An interaction diagram of a communication method for a terminal device in use provided in an embodiment of the present application;

[0058] Fig. 9 An interaction diagram of a communication method provided in an embodiment of the present application when the terminal usage status changes. DETAILED DESCRIPTION

[0059] The technical solutions in the embodiments of the present application will be described below in conjunction with the drawings in the embodiments of the present application. In the description of the embodiments of the present application, unless otherwise specified, " / " means or, for example, A / B can mean A or B; "and / or" in this article is only a description of the association relationship of associated objects, indicating that there can be three relationships, for example, A and / or B can mean: A exists alone, A and B exist at the same time, and B exists alone. In addition, in the description of the embodiments of the present application, "multiple" means two or more than two.

[0060] In the following, the terms "first", "second", etc. are only used to distinguish different description objects, and have no limiting effect on the position, order, priority, quantity or content of the described objects. For example, if the described object is a "field", the ordinal number before the "field" in the "first field" and the "second field" does not limit the position or order between the "fields", and the "first" and "second" do not limit whether the "fields" they modify are in the same message, nor do they limit the order of the "first field" and the "second field". For another example, if the described object is a "level", the ordinal number before the "level" in the "first level" and the "second level" does not limit the priority between the "levels". For another example, the number of described objects is not limited by the ordinal number, and can be one or more. Taking the "first device" as an example, the number of "devices" can be one or more. In addition, the objects modified by different prefixes can be the same or different. For example, if the described object is a "device", the "first device" and the "second device" can be the same type of device or different types of devices. For another example, if the described object is "information", the "first information" and the "second information" can be information of the same content or information of different contents. In summary, the use of prefixes such as ordinal numbers to distinguish the described objects in the embodiments of the present application does not constitute a limitation on the described objects. For the statement of the described objects, please refer to the description in the context of the claims or embodiments, and no unnecessary limitation should be constituted due to the use of such prefixes.

[0061] Furthermore, in the embodiments of the present application, "connection" may be a direct connection or an indirect connection; in addition, it may refer to an electrical connection or a communication connection; for example, the connection between two electrical components A and B may refer to a direct connection between A and B, or may refer to an indirect connection between A and B through other electrical components or connecting media, or may refer to an indirect connection between A and B through other communication devices or communication media, as long as communication between A and B can be achieved.

[0062] We know that screen lighting and communication consume relatively high power for terminal devices. When a user is using a terminal device, the screen of the terminal device is usually on, and when the user is not using the terminal device, the screen of the terminal device is usually black. However, during the process of the terminal device's screen being black, the terminal device background will also communicate with other devices, such as receiving system notifications, advertisements, communication messages, software update packages and other application messages sent by the server corresponding to the application installed in the terminal device (hereinafter referred to as the "application server"). Among these application messages, there will be a large number of messages that are not important to users or have low real-time requirements. Therefore, when the user is not using the terminal device, the communication with the application server will also bring large unnecessary power consumption to the terminal device.

[0063] In order to reduce unnecessary power consumption of terminal devices caused by application messages that are not important to users or have low real-time requirements, as another possible implementation method, the terminal device can provide users with configuration options for message notification functions, and users can manually manage notification reminders for application messages of each application (where Figure 1 ) However, since there are many setting items for each application, the operation of this method is very complicated for the user.

[0064] In order to reduce unnecessary power consumption of terminal devices caused by application messages that are not important to users or have low real-time requirements, and simplify user interface operations, as a possible implementation method, the terminal device can provide users with multiple power usage modes, such as providing Figure 2 The performance mode, power saving mode and super power saving mode are shown. Users can select the power saving mode or the super power saving mode to turn off or reduce the power consumption of some functions (such as automatic synchronization function, 5G communication function, application function, etc.) brought to the terminal device.

[0065] However, the above-mentioned "one-size-fits-all" power usage mode management solution will also affect the normal use of the user's terminal device. For example, the terminal device in the super power saving mode cannot normally receive application messages that are important to the user or have high real-time requirements, such as emails, instant messages, etc.; for another example, the terminal device in the super power saving mode cannot provide the user with certain conventional applications (such as cameras, music, videos, etc.). Moreover, based on this solution, when the user needs to use some functions, it is necessary to reopen the power usage mode setting interface to set the power usage mode from the super power saving mode to the power saving mode or performance mode, or from the power saving mode to the performance mode. Therefore, the operation is still cumbersome for the user, so the above method also has a low user experience.

[0066] In order to solve the problems existing in the above conventional technologies, an embodiment of the present application provides a communication method, which can dynamically control the policy of sending application messages based on the actual use status of the terminal device. For example, when the terminal device is in use, the application message is sent to the terminal device according to the conventional communication strategy; when the terminal device is not in use, the first type of application message is sent to the terminal device using a batch cache and centralized sending communication strategy, or when the terminal device is not in use, the second type of application message is sent to the terminal device according to the conventional communication strategy, wherein the first type of application message is an application message that is not important to the user or has low real-time requirements, and the second type of application message is an application message that is important to the user or has high real-time requirements. Based on this, the power consumption of the terminal device can be minimized while ensuring the important functions of the terminal device.

[0067] For example, please refer to Figure 3 , Figure 3 FIG. 1 shows a schematic diagram of a communication process of an application message provided in an embodiment of the present application. Figure 3 As shown, the communication architecture may include a terminal device 310 , an application server 320 and a proxy server 330 .

[0068] Among them, the terminal device 310 can be used to provide users with corresponding application function services through one or more applications, such as social functions (such as instant messaging functions), video services, audio services, shooting functions, document editing functions, email sending and receiving functions, shopping functions, game functions, etc.

[0069] When the terminal device is in use, Figure 3 As shown, the terminal device 310 can request application-related data from the application server 320 according to the user's operation, and correspondingly, the application server 320 can send the application-related data to the terminal device 310 according to the request of the terminal device 310.

[0070] When the terminal device is not in use, such as Figure 3 As shown, the terminal device 310 can maintain a long connection with the proxy server 330 to maintain a long connection with the application server 320 through the proxy server 330. For example, the application server 320 and the proxy server 330, and the proxy server 330 and the terminal device 310 can maintain a long connection by periodically sending heartbeat messages.

[0071] Among them, the long connection described in the embodiment of the present application may include but is not limited to a hypertext transfer protocol (HTTP) persistent connection, a transmission control protocol (TCP) connection, a user datagram protocol (UDP) connection, an Internet of Things protocol (such as Websocket, RESTful, message queuing telemetry transport (MQTT) or a constrained application protocol (CoAP), etc.), which is not specifically limited in the embodiment of the present application and may depend on the specific device function and usage scenario. After establishing a long connection, continuous and low-power signal transmission and reception can be performed based on the long connection through heartbeat messages.

[0072] like Figure 3 As shown, when the terminal device is not in use, if the proxy server 330 receives a first type of application message from the application server 320 and the target device is the terminal device 310, the proxy server 330 can batch cache the message and then send the cached message to the terminal device 310 via an aggregate message; if the proxy server 330 receives a second type of application message from the application server 320 and the target device is the terminal device 310, the proxy server 330 can forward the message to the terminal device 310 in real time.

[0073] based on Figure 3The end-cloud collaborative communication scheme shown can sense the terminal device usage status on the terminal device side, adopt a strategy adapted to the perceived terminal device usage status, and send downlink application messages to the terminal device side according to the message type of the application message. By controlling and managing the message proxy service based on the perceived usage status, it can be ensured that the terminal device provides normal services to the user when the terminal device is in use, and when the terminal device is not in use, by batch caching and centralized sending of the first type of application messages without affecting the user experience, the unnecessary power consumption and disturbance caused by the application server frequently waking up the terminal device can be reduced, thereby improving the user experience.

[0074] As an example, Figure 3 The structures of the terminal device 310, the application server 320 and the proxy server 330 may be as follows: Figure 4 As shown. Figure 4 As shown, the terminal device 310 is installed with an application program (such as Application 1) provided by the application server 320. The terminal device can provide the user with a human-computer interaction interface or interface for using Application 1 through Application 1, and provide the user with corresponding application function services through communication between Application 1 and the application server 320 according to the user's operation, such as social functions (such as instant messaging functions), video services, audio services, shooting functions, document editing functions, email sending and receiving functions, shopping functions, game functions, etc.

[0075] For example, the terminal device 310 may include Figure 4 The message agent software development kit (SDK) shown in the figure includes a message sending and receiving unit for providing application message sending and receiving functions.

[0076] In some embodiments, Figure 4 As shown, the message agent SDK may also include an agent management unit for providing message agent management. Figure 5 The authentication, usage status perception, and proxy decision functions shown. For example, the proxy management unit can decide whether to enable the application message proxy based on the perceived usage status of the terminal device, such as enabling the application message proxy service when the terminal device is perceived to be in a non-use state, and disabling the application message proxy service when the terminal device is perceived to be in a use state.

[0077] As an example, the terminal device 310 can perceive the usage status of the terminal device based on one or more of the following information: whether the screen is on, whether a user operation is received, whether it is unlocked, whether there is a task running in the foreground, whether it is charging, and time information. For example, when it is recognized that the terminal device 310 has a light screen and is unlocked, the terminal device 310 can be considered to be in use; when it is recognized that the terminal device 310 has a black screen, is locked, and the time information is 2:00 a.m., the terminal device 310 can be considered to be in a non-use state. The specific basis, method, and process for the terminal device 310 to perceive the usage status are not specifically limited in the embodiments of the present application, and can be determined according to the device capabilities, configurations, and specific usage scenarios.

[0078] The application server 320 is used to provide relevant data of application 1. For example, the application server 320 can send an application message to the terminal device 310 according to the request of application 1 in the terminal device 310, or actively send an application message to the terminal device 310 when there is an application message for the terminal device 310, such as system notification, advertisement, communication message, software update package, etc. For example, the application server 320 may include Figure 4 The messaging unit is shown.

[0079] The proxy server 330 is used to provide proxy policy management services and message proxy services.

[0080] Among them, the proxy policy management service is such as turning on / off the application message proxy service.

[0081] The message proxy service, for example, when the application message proxy service is turned on, batch-buffers the first type of application messages from the application server 320 and sends them to the terminal device 310 in a centralized manner, and forwards the second type of application messages from the application server 320 to the terminal device 310 in real time. Alternatively, the message proxy service, for example, when the application message proxy service is turned off, forwards all application messages from the application server 320 to the terminal device 310 in real time.

[0082] In some embodiments, Figure 4 As shown, the proxy server 330 may include a policy management unit and a message proxy unit. The policy management unit is used to provide proxy policy management services, and the message proxy unit is used to provide message proxy services.

[0083] For example, Figure 5As shown, the policy management unit can be used to provide authentication and policy control, such as after authentication is passed, the application message proxy service of the message proxy unit is turned on or off according to the instruction of the terminal device 310. The message proxy unit can be used to provide message type identification, message caching and message forwarding services, such as after the application message proxy service is turned on, when it is identified that the application message from the application server 320 is a first type of application message, a first policy is used to send the application message to the terminal device 310; for another example, after the application message proxy service is turned on, when it is identified that the application message from the application server 320 is a second type of application message, a second policy is used to send the application message to the terminal device 310.

[0084] Among them, the first strategy is such as caching the application message, and when the preset condition (such as the first condition) is met, the cached application message is aggregated and sent to the terminal device 310 through the aggregate message. The second strategy is such as forwarding the application message to the terminal device 310 in real time. In some embodiments, the first strategy also includes the first condition, and the first condition includes the cache duration, the number of cached messages, the amount of cached data, etc., which is not specifically limited in the embodiments of the present application.

[0085] In some embodiments, the policy management unit is further used to provide message type management, such as managing characteristics of a first type of message, managing characteristics of a second type of message, and so on.

[0086] In some embodiments, the policy management unit is further used to provide agent policy modification services, such as accepting modifications made by developers to the first condition, to the characteristics of the first type or the second type of message, and so on.

[0087] It should be noted that, in addition to application 1, the terminal device may also have other application programs installed, such as Figure 4 or Figure 5 As shown, application 2, application 3, ..., application n, where n is an integer greater than 3, each application may correspond to an application server that provides services for it. Figure 3 , Figure 4 and Figure 5 The application server 320 providing the relevant data of application 1 is merely taken as an example.

[0088] The following will be Figure 3 , Figure 4 or Figure 5 The communication architecture shown is taken as an example, and a communication method provided by an embodiment of the present application is specifically introduced in combination with the accompanying drawings. Figure 6 As shown, a communication method provided by an embodiment of the present application may include Figure 6 S601a-S604a shown in (a) or including Figure 6S601b-S604b and S605b-2 as shown in (b) or including Figure 6 S601b-S604b, S605b-1 and S606b are shown in (b).

[0089] Among them, for the scenario where the proxy server 330 closes the message proxy service provided to the terminal device 310, such as Figure 6 As shown in (a), a communication method provided in an embodiment of the present application may include S601a-S604a:

[0090] S601a: The proxy server 330 receives fourth information from the terminal device 310, where the fourth information is used to instruct the proxy server to shut down the message proxy service.

[0091] As an example, the fourth information may be sent by the terminal device to the proxy server when the terminal device senses that the terminal device is in use.

[0092] The structure of the terminal device 310 is as follows Figure 4 or Figure 5 As shown in the example, when the agent management unit provided by the message agent SDK senses that the terminal device is in use, the terminal device 310 can send fourth information to the policy management unit of the proxy server 330 through the agent management unit provided by the message agent SDK to instruct the proxy server to shut down the message proxy service.

[0093] S602a: The proxy server 330 shuts down the message proxy service.

[0094] The structure of the proxy server 330 is as follows Figure 4 or Figure 5 As shown in the example, after receiving the fourth information from the terminal device 310, the policy management unit of the proxy server 330 can instruct the message proxy unit to close the message proxy service according to the fourth information.

[0095] After the message proxy service is closed, the message proxy unit of the proxy server 330 may adopt a second strategy to send the application message to the terminal device 310. The second strategy is such as forwarding the application message to the terminal device 310 in real time.

[0096] S603a: The proxy server 330 receives a second application message from the application server 320 .

[0097] Among them, the second application message may include but is not limited to the following messages: system notification messages, advertising messages, instant messaging messages, call request messages, software update packages, etc. The embodiments of the present application do not specifically limit the specific content, form, purpose, etc. of the second application message.

[0098] The structure of the proxy server 330 and the application server 320 is as follows: Figure 4 or Figure 5 As shown in the example, the proxy server 330 can receive the second application message sent by the application server 320 through the message transceiver unit through the message proxy unit.

[0099] S604a: The proxy server 330 forwards the second application message to the terminal device 310.

[0100] For example, the message proxy unit of the proxy server 330 may adopt the second policy to forward the second application message to the terminal device 310 in real time according to the instruction of the policy management unit, so as to ensure that the terminal device can provide services to the user normally.

[0101] For a scenario where the proxy server 330 starts to provide message proxy services to the terminal device 310, such as Figure 6 As shown in (b), a communication method provided in an embodiment of the present application may include:

[0102] S601b: The proxy server 330 receives first information from the terminal device 310, wherein the first information is used to instruct the proxy server to start a message proxy service.

[0103] As an example, the first information may be sent by the terminal device to the proxy server when the terminal device senses that the terminal device is not in use.

[0104] The structure of the terminal device 310 is as follows Figure 4 or Figure 5 As shown in the example, when the agent management unit provided by the message agent SDK senses that the terminal device is not in use, the terminal device 310 can send the first information to the policy management unit of the proxy server 330 through the agent management unit provided by the message agent SDK to instruct the proxy server to start the message proxy service.

[0105] S602b: The proxy server 330 starts the message proxy service.

[0106] The structure of the proxy server 330 is as follows Figure 4 or Figure 5 As shown in the example, after receiving the first information from the terminal device 310, the policy management unit of the proxy server 330 can instruct the message proxy unit to start the message proxy service according to the first information.

[0107] After the message proxy service is started, the message proxy unit of the proxy server 330 may adopt a first strategy to send application messages to the terminal device 310. The first strategy is to cache application messages and aggregate the cached application messages and send them to the terminal device 310 via an aggregate message when a first condition is met.

[0108] S603b: The proxy server 330 receives the first application message from the application server 320 .

[0109] Among them, the first application message may include but is not limited to the following messages: system notification messages, advertising messages, instant messaging messages, call request messages, software update packages, etc. The embodiments of the present application do not specifically limit the specific content, form, purpose, etc. of the first application message.

[0110] The structure of the proxy server 330 and the application server 320 is as follows: Figure 4 or Figure 5 As shown in the example, the proxy server 330 can receive the first application message sent by the application server 320 through the message transceiver unit through the message proxy unit.

[0111] S604b: The proxy server 330 obtains the type of the first application message.

[0112] The type of the first application message may include but is not limited to the first type or the second type.

[0113] As an example, the first type of application message may have one or more of the following characteristics: low real-time requirement (such as non-real-time message), high power consumption, low importance, etc. The second type of application message may have one or more of the following characteristics: high real-time requirement (such as real-time message), low power consumption, high importance, etc.

[0114] Exemplarily, the first type of application messages include system notifications, advertisements, public account tweets, group messages, and other messages with low real-time requirements, high power consumption, and low importance; the second type of application messages include call request messages (such as audio and video call requests), red envelope messages, instant messaging messages, and other messages with high real-time requirements and high importance.

[0115] In some embodiments of the present application, the type of the first application message may be pre-set in the proxy server 330 by a developer.

[0116] In some embodiments, the proxy server 330 may identify the real-time requirement of the first application message (such as whether it is a real-time message) by analyzing one or more information such as the code stream characteristics, message feature code, and the protocol used of the first application message, and further identify the type of the application message.

[0117] Among them, the code stream feature is such as the sending frequency corresponding to the first application message. If the sending frequency corresponding to the first application message is higher than a certain frequency (such as 1 second), it means that the first application message is a real-time message. If the sending frequency corresponding to the first application message is not higher than a certain frequency, it means that the first application message is a non-real-time message. The message feature code can be used to indicate whether the message carries a real-time message. If the message feature code is the first feature code, it means that the first application message is a real-time message. If the message feature code is the second feature code, it means that the first application message is a non-real-time message. The protocol used can be used to indicate whether the message carries a real-time message. If the message uses the real-time communication (RTC) protocol, it means that the first application message is a real-time message such as an audio or video stream. If the message uses the UDP protocol, it means that the first application message is a non-real-time message such as an advertisement. Real-time messages include call request messages (such as audio and video call requests), red envelope messages, instant messaging (IM) (such as instant messaging messages), etc. Non-real-time messages include public account tweets, software update packages, etc.

[0118] In some embodiments, the proxy server 330 may identify the power consumption of the first application message by analyzing the amount of data carried in the first application message, and further identify the type of the application message.

[0119] For example, if the amount of data carried in the first application message is higher than the data amount threshold, it means that the power consumption of the first application message is high; if the amount of data carried in the first application message is not higher than the data amount threshold, it means that the power consumption of the first application message is low. Application messages with high power consumption include software update packages, public account tweets, etc.; application messages with low power consumption include red envelope messages, instant messaging messages, etc.

[0120] In some embodiments, the proxy server 330 may identify the type of the application message by analyzing whether the application to which the first application message belongs is in the first list and / or in the second list. The first list and the second list are stored in the proxy server 330 and managed and maintained by the proxy server 330. In some embodiments, the proxy server 330 may accept modifications to the first list or the second list by developers.

[0121] For example, if the identifier of the application to which the first application message belongs is in the first list, it means that the first application message is less important; if the identifier of the application to which the first application message belongs is not in the first list and / or in the second list, it means that the first application message is more important. Applications in the first list include game applications, sports applications, and other applications that are not frequently used by users; applications in the second list include instant messaging applications, office applications, video applications, live broadcast applications, and other applications that are frequently used by users.

[0122] The structure of the proxy server 330 and the application server 320 is as follows: Figure 4 or Figure 5 As shown in the example, the proxy server 330 can obtain the type of the first application message through the message proxy unit.

[0123] It should be noted that the above method of identifying the real-time requirements, power consumption, importance, etc. of the first application message is only an example. The embodiments of the present application do not limit the basis, specific method and process for identifying the above information, which may depend on the specific usage scenario and the hardware and software capabilities of the device.

[0124] Furthermore, if Figure 6 As shown in (b), when the first application message is of the first type, the proxy server executes S605b-1; when the first application message is of the second type, the proxy server executes S605b-2.

[0125] S605b-1: The proxy server 330 caches the first application message.

[0126] The structure of the proxy server 330 and the application server 320 is as follows: Figure 4 or Figure 5 As shown in the example, the proxy server 330 may cache the first application message in the storage space of the proxy server 330 through the message proxy unit.

[0127] S605b - 2: The proxy server 330 forwards the first application message to the terminal device 310 .

[0128] The structure of the proxy server 330 and the application server 320 is as follows: Figure 4 or Figure 5 As shown in the example, the proxy server 330 can forward the first application message to the terminal device 310 in real time through the message proxy unit.

[0129] like Figure 6 As shown, similar to S603b to S605b-1, the proxy server 330 may also cache other application messages of the first type (such as the third application message) from the application server.

[0130] S606b: When the message cached by the proxy server 330 meets the first condition, the proxy server 330 sends second information to the terminal device 310, where the second information includes the first application message and the other application messages mentioned above.

[0131] The first condition may include but is not limited to one or more of the following: the cached application message meets the cache duration, the cached application message exceeds the cached data volume threshold, and the cached application message exceeds the cached message quantity threshold. The cache duration refers to the cumulative duration of cached application messages of the first type, the cached data volume threshold refers to the total data volume of the first type of application messages that are cached, and the cached message quantity refers to the cumulative number of cached application messages of the first type.

[0132] The structure of the proxy server 330 and the application server 320 is as follows: Figure 4 or Figure 5 As shown in the example, as an example, when the message cached by the proxy server 330 meets the first condition, the proxy server 330 can send the second information to the terminal device through the message proxy unit.

[0133] For example, the message proxy unit of the proxy server 330 can send the cached message to the terminal device 310 through the second information when the cached application message meets the cache time length, that is, the message proxy unit of the proxy server 330 can send the cached message to the terminal device 310 through the second information every cache time length.

[0134] For another example, when the data volume of the cached messages exceeds a cached data volume threshold, the message proxy unit of the proxy server 330 may send the cached messages to the terminal device 310 via the second information.

[0135] For another example, when the number of cached messages exceeds a threshold number of cached messages, the message proxy unit of the proxy server 330 may send the cached messages to the terminal device 310 via the second information.

[0136] Alternatively, the message proxy unit of the proxy server 330 can send the cached message to the terminal device 310 through the second information when the following multiple conditions are met: the cached application message meets the cache duration, the data volume of the cached message exceeds the cache data volume threshold, and the number of cached messages exceeds the cache message number threshold.

[0137] It should be noted that the trigger condition for the proxy server 330 to send the second information to the terminal device 310 is only an example. The centralized sending of cached messages to the terminal device 310 can also be triggered based on other bases or trigger conditions. The embodiment of the present application does not make specific limitations and can be determined according to the device hardware and software capabilities and usage scenarios.

[0138] The following will specifically introduce the communication method of the terminal device in different usage states provided by the embodiment of the present application in combination with the specific usage state of the terminal device.

[0139] Please refer to Figure 7 , Figure 7 The figure shows an interaction diagram of a communication method of a terminal device in a non-use state. Figure 7 As shown, the communication method provided in the embodiment of the present application may include S701-S712a and S713, or include S701-S712b:

[0140] S701: The proxy server 330 obtains a proxy policy.

[0141] Among them, the proxy strategy may include but is not limited to message identification strategy, message forwarding strategy, type management list, etc.

[0142] The message identification policy is used to identify the category of the application message, such as identifying whether the application message belongs to the first type or the second type. As an example, the message identification policy can be in the form of a message identification condition or a message identification model, etc., which is not specifically limited in the embodiments of the present application.

[0143] The message forwarding strategy is such as the first strategy or the second strategy, wherein the first strategy is such as the cache strategy, and the second strategy is such as the real-time forwarding strategy. The cache strategy is used to specify the cache rules for the first type of application messages, such as the specified cache duration, the specified number of cached messages, the specified cached data volume, etc. In some embodiments, the specified cache duration is such as 2 hours, the specified number of cached messages is such as 100, the specified cached data volume is such as 100M, etc. In some embodiments, the cache strategy can also be refined to specify the cache rules for the first type of application messages in different time periods. For example. During the period from 23:00 to 7:00, the specified cache duration is such as 2 hours, the specified number of cached messages is such as 100, and the specified cached data volume is such as 100M; during the period from 7:01 to 22:59, the specified cache duration is such as 10 minutes, the specified number of cached messages is such as 20, and the specified cached data volume is such as 10M.

[0144] The type management list includes a first type management list and a second type management list. For example, the first type management list is a first list, and the second type management list is a second list. The first list includes application identifiers corresponding to messages of the first type, and the second list includes application identifiers corresponding to messages of the second type. For another example, the first type management list includes one or more of the following information of messages of the first type: one or more information such as code stream characteristics, message feature codes, and the protocol used, and the second type management list includes one or more of the following information of messages of the second type: one or more information such as code stream characteristics, message feature codes, and the protocol used.

[0145] In some embodiments, the proxy policy may be pre-configured in the proxy server 330 by a developer.

[0146] In some embodiments, while the proxy server 330 provides message proxy services, the proxy server 330 may accept modifications to the proxy policy made by developers.

[0147] In some embodiments, during the process of the proxy server 330 providing message proxy services, the proxy server 330 may also perform deep learning on the message proxy process of the proxy server 330 and automatically optimize the proxy strategy according to the learning results.

[0148] The structure of the proxy server 330 is as follows Figure 4 or Figure 5 As shown in the example, the policy management unit of the proxy server 330 can be used to maintain the proxy policy.

[0149] S702: The proxy server 330 receives the authentication request from the terminal device 310.

[0150] S703: The proxy server 330 performs authentication on the terminal device 310.

[0151] The proxy server 330 may perform authentication and authorization on the terminal device 310, including but not limited to performing a legitimacy check and an authority check on the terminal device 310. For example, the proxy server 330 may perform authentication and authorization on the certificate used by the terminal device 310. For the specific method and process of device authentication and authorization, reference may be made to the technology, which is not limited in the embodiments of the present application.

[0152] The structure of the proxy server 330 is as follows Figure 4 or Figure 5 As shown in the example, the policy management unit of the proxy server 330 can receive the authentication request of the terminal device 310 and is responsible for authenticating the terminal device 310 .

[0153] S704: When the authentication of the terminal device 310 is successful, the proxy server 330 sends an authentication success message to the terminal device 310, wherein the authentication success message carries the first type management list.

[0154] For example, the authentication success message carries the first list.

[0155] S705: The terminal device 310 recognizes that it is not in use.

[0156] As an example, the terminal device 310 can perceive the usage status of the terminal device based on one or more of the following information: whether the screen is on, whether a user operation is received, whether it is unlocked, whether there is a task running in the foreground, whether it is charging, and time information.

[0157] For example, when it is identified that the terminal device 310 meets one or more of the following conditions, the terminal device 310 can be considered to be in a non-use state: black screen, no user operation received, locked, no task running in the foreground, currently charging, and the time meets the first time period (such as 23:00-7:00).

[0158] The structure of the terminal device 310 is as follows Figure 4 or Figure 5 As shown in the example, the terminal device 310 can sense the usage status of the terminal device through the agent management unit provided by the message agent SDK.

[0159] The specific basis, method and process for the terminal device 310 to perceive the usage status are not specifically limited in the embodiments of the present application and may depend on the device capabilities, configurations and specific usage scenarios.

[0160] S706: The terminal device 310 sends a message proxy request to the proxy server 330.

[0161] The message proxy request is used to request the proxy server 330 to enable the message proxy service. As an example, the message proxy request is such as an Enable control instruction.

[0162] The structure of the terminal device 310 is as follows Figure 4 or Figure 5 As shown in the example, the terminal device 310 can send a message proxy request to the policy management unit of the proxy server 330 through the proxy management unit provided by the message proxy SDK.

[0163] S707: The proxy server 330 starts the message proxy service.

[0164] The structure of the proxy server 330 is as follows Figure 4 or Figure 5 As shown in the example, the policy management unit of the proxy server 330 can receive the message proxy request of the terminal device 310 and is responsible for starting the message proxy service.

[0165] S708: When a first type of application process is started, the terminal device 310 sends a link establishment request to the proxy server 330, and the link establishment request carries the target application server (such as Figure 7 The IP address and port number of the application server 320 shown.

[0166] As an example, the terminal device 310 may send a link establishment request to the proxy server 330 when an application process of the first type is started, according to the first type management list received from the proxy server 330 in S704 .

[0167] Taking the first type management list as the first name list as an example, the terminal device 310 may send a link establishment request to the proxy server 330 when an application process of an application in the first name list is started.

[0168] As a possible implementation, the link establishment request may carry a custom message, wherein the custom message is constructed by the terminal device 310, and the custom message includes the IP address and port number of the proxy server 330. Based on this, the terminal device 310 may forward the socket of the application message push process to the proxy server 330 through the custom message, and the proxy server 330 may establish a long link between the terminal device 310 and the application server 320 through the proxy server 330 in combination with the IP address and port number of the target application server carried in the link establishment request.

[0169] S709: The proxy server 330 communicates with the target application server (eg, Figure 7 The application server 320 shown establishes a long connection.

[0170] S710: The application server 320 sends a first application message to the proxy server 330.

[0171] Among them, the first application message may include but is not limited to the following messages: system notification messages, advertising messages, instant messaging messages, call request messages, software update packages, etc. The embodiments of the present application do not specifically limit the specific content, form, purpose, etc. of the first application message.

[0172] The structure of the application server 320 is as follows Figure 4 or Figure 5 As shown in the example, the application server 320 may send a first application message to the proxy server 330 through the message transceiver unit.

[0173] S711: The proxy server 330 identifies the type of the first application message.

[0174] The type of the first application message may include but is not limited to the first type or the second type.

[0175] As an example, the first application message of the first type may specifically have one or more of the following characteristics: low real-time requirement (such as a non-real-time message), high power consumption, low importance, etc. The first application message of the second type may specifically have one or more of the following characteristics: high real-time requirement (such as a real-time message), low power consumption, high importance, etc.

[0176] For example, the proxy server 330 may identify the real-time requirement of the first application message (such as whether it is a real-time message) by analyzing one or more information such as the code stream characteristics, message feature code, and the used protocol of the first application message, and further identify the type of the first application message.

[0177] For another example, the proxy server 330 may identify the power consumption of the first application message by analyzing the amount of data carried in the first application message, and further identify the type of the first application message.

[0178] For another example, the proxy server 330 may identify the type of the first application message by analyzing whether the application to which the first application message belongs is located in the first list and / or in the second list.

[0179] The embodiments of the present application do not limit the basis, specific method and process for identifying the application message category, and may depend on the specific usage scenario and the hardware and software capabilities of the device.

[0180] The structure of the proxy server 330 is as follows Figure 4 or Figure 5 As shown in the example, the proxy server 330 can identify the type of the first application message through the message proxy unit.

[0181] When the proxy server 330 identifies that the first application message is an application message of the first type, it executes S712a and then S713; when the proxy server 330 identifies that the first application message is an application message of the second type, it executes S712b.

[0182] S712a: The proxy server 330 caches the first application message.

[0183] The structure of the proxy server 330 is as follows Figure 4 or Figure 5 As shown in the example, the proxy server 330 may cache the received first application message through the message proxy unit.

[0184] S713: When the message cached by the proxy server 330 meets the first condition, the proxy server 330 sends the cached application message to the terminal device 310, where the cached application message includes the first application message.

[0185] Among them, satisfying the first condition may include but is not limited to one or more of the following: the cached application message meets the cache duration, the cached application message exceeds the cached data volume threshold, and the cached application message exceeds the cached message quantity threshold.

[0186] For example, the proxy server 330 may send the cached application message to the terminal device 310 via the second information when the cached application message meets the cache time period, that is, the proxy server 330 may send the cached message to the terminal device 310 via the second information every cache time period.

[0187] For another example, the proxy server 330 may send the cached message to the terminal device 310 when the data volume of the cached message exceeds a cached data volume threshold.

[0188] For another example, the proxy server 330 may send the cached messages to the terminal device 310 when the number of cached messages exceeds a threshold number of cached messages.

[0189] The structure of the proxy server 330 is as follows Figure 4 or Figure 5 As shown in the example, the proxy server 330 can send the cached application message to the terminal device 310 (such as the message proxy SDK of the terminal device 310) through the message proxy unit. Correspondingly, after receiving the application message sent by the proxy server 330, the terminal device 310 can hand over the application message to the corresponding application for subsequent processing.

[0190] It should be noted that the trigger condition for the proxy server 330 to send cached messages to the terminal device 310 is only an example. The centralized sending of cached messages to the terminal device 310 can also be triggered based on other bases or trigger conditions. The embodiments of the present application do not make specific limitations and can be determined according to the device hardware and software capabilities and usage scenarios.

[0191] S712b: The proxy server 330 forwards the first application message to the terminal device 310 .

[0192] That is, when the first application message is identified as the second type of application message, the proxy server 330 forwards the first application message to the terminal device 310 in real time; correspondingly, after receiving the first application message sent by the proxy server 330, the terminal device 310 can hand over the first application message to the corresponding application for subsequent processing. In this way, it can be ensured that application messages that are more important to the user can reach the terminal device in time, ensuring the user experience.

[0193] The structure of the proxy server 330 is as follows Figure 4 or Figure 5 As shown in the example, the proxy server 330 can forward the application message to the terminal device 310 through the message proxy unit.

[0194] It can be understood that the solution provided by the embodiment of the present application can sense the terminal device usage status on the terminal device side, and adopt a strategy adapted to the perceived terminal device usage status to send the application message downlink. For example, when it is identified that the terminal device is in a non-use state, the message proxy service is turned on. After the message proxy service is turned on, the proxy server can adopt a specific strategy (such as the first strategy or the second strategy) according to the message type of the application message to send the downlink application message to the terminal device side. For example, the second type of application message is forwarded in real time, and the first type of application message is cached and then forwarded centrally. Based on this, when the terminal device is in a non-use state, on the premise of ensuring that the application messages that are more important to the user can reach the terminal device in time, the unnecessary power consumption and disturbance caused to the terminal device by the frequent awakening of the terminal device due to the application messages of less importance can be minimized, thereby improving the user experience.

[0195] Please refer to Figure 8 , Figure 8 FIG. 1 shows an interaction diagram of a communication method of a terminal device in use. Figure 8 As shown, the communication method provided in the embodiment of the present application may include S801-S808:

[0196] S801: The proxy server 330 obtains a proxy policy.

[0197] S802: The proxy server 330 receives the authentication request from the terminal device 310.

[0198] S803: The proxy server 330 performs authentication on the terminal device 310.

[0199] S804: When the authentication of the terminal device 310 is successful, the proxy server 330 sends an authentication success message to the terminal device 310, wherein the authentication success message carries the first type management list.

[0200] For a detailed introduction to S801-S804, please refer to the above description of S701-S704, which will not be repeated here.

[0201] S805: The terminal device 310 recognizes that it is in use.

[0202] As an example, the terminal device 310 can perceive the usage status of the terminal device based on one or more of the following information: whether the screen is on, whether a user operation is received, whether it is unlocked, whether there is a task running in the foreground, whether it is charging, and time information.

[0203] For example, when it is recognized that the terminal device 310 meets one or more of the following conditions, the terminal device 310 can be considered to be in use: the screen is on, user operation is received, it is unlocked, there is a task running in the foreground, it is not currently charging, and the time meets the second time period (such as 11:45-13:30).

[0204] The structure of the terminal device 310 is as follows Figure 4 or Figure 5 As shown in the example, the terminal device 310 can sense the usage status of the terminal device through the agent management unit provided by the message agent SDK.

[0205] The specific basis, method and process for the terminal device 310 to perceive the usage status are not specifically limited in the embodiments of the present application and may depend on the device capabilities, configurations and specific usage scenarios.

[0206] S806: The terminal device 310 sends a request to close the message proxy to the proxy server 330.

[0207] The message proxy shutdown request is used to request the proxy server 330 to shut down the message proxy service. For example, the terminal device 310 may send the message proxy shutdown request to the proxy server 330 through the third information or the fourth information. As an example, the message proxy shutdown request is such as the unEnable control instruction.

[0208] The structure of the terminal device 310 is as follows Figure 4 or Figure 5 As shown in the example, the terminal device 310 can send a message proxy closing request to the policy management unit of the proxy server 330 through the proxy management unit provided by the message proxy SDK.

[0209] S807: The proxy server 330 shuts down the message proxy service.

[0210] The structure of the proxy server 330 is as follows Figure 4 or Figure 5 As shown in the example, the policy management unit of the proxy server 330 can receive a request from the terminal device 310 to close the message proxy service and be responsible for closing the message proxy service.

[0211] S808 : The proxy server 330 sends the cached application message to the terminal device 310 .

[0212] The structure of the proxy server 330 is as follows Figure 4 or Figure 5As shown in the example, the proxy server 330 can query the cached application messages through the message proxy unit, and then send the cached application messages in batches to the terminal device 310 (such as the message proxy SDK of the terminal device 310) based on the long link established between the proxy server 330 and the terminal device 310. Correspondingly, after receiving the application message sent by the proxy server 330, the terminal device 310 can hand over the application message to the corresponding application for subsequent processing.

[0213] In some embodiments, Figure 8 As shown, when the application server 320 has an application message to be sent to the terminal device 310, the communication method further includes:

[0214] S809: The application server 320 sends a second application message to the proxy server 330.

[0215] Among them, the second application message may include but is not limited to the following messages: system notification messages, advertising messages, instant messaging messages, call request messages, software update packages, etc. The embodiments of the present application do not specifically limit the specific content, form, purpose, etc. of the second application message.

[0216] The structure of the application server 320 is as follows Figure 4 or Figure 5 As shown in the example, the application server 320 may send the second application message to the proxy server 330 through the message transceiver unit.

[0217] S810 : The proxy server 330 forwards the second application message to the terminal device 310 .

[0218] That is, the proxy server 330 forwards the second application message to the terminal device 310 in real time; correspondingly, after receiving the second application message sent by the proxy server 330, the terminal device 310 can hand over the second application message to the corresponding application program for subsequent processing. In this way, the normal user experience of the user when using the terminal device 310 can be guaranteed.

[0219] It should be noted that this application Figure 7 and Figure 8 The communication method for transmitting application messages provided in the embodiments of the present application is introduced by taking the terminal devices in the non-use state and the terminal devices in the use state as examples. It can be understood that in some embodiments, Figure 8 The communication method shown can also be used with Figure 7 The communication method shown is combined. Fig. 9 As shown, after executing Figure 7 S701-S712a and S713 shown, or after executing Figure 7 After S701-S712b shown, after recognizing that the terminal device 310 is in use (i.e. Fig. 9 As shown in S805), the terminal device 310 can also execute Fig. 9 As shown in S806, after that, the proxy server 330 executes Fig. 9 Shown are S807-S808, and S809-S810.

[0220] It can be understood that the solution provided by the embodiment of the present application can sense the terminal device usage status on the terminal device side, and use a strategy adapted to the perceived terminal device usage status to send application messages downlink. For example, when the terminal device is identified as being in use, the message proxy service is turned off. After the message proxy service is turned off, the proxy server can send the previously cached first type of application messages in batches to the terminal device side. Based on this, it can be ensured that the application messages can reach the terminal device in time when the terminal device enters the use state, thereby improving the user experience.

[0221] It should be understood that the various schemes of the embodiments of the present application can be used in reasonable combination, and the explanations or descriptions of the various terms appearing in the embodiments can be mutually referenced or explained in the various embodiments, without limitation.

[0222] It should also be understood that in the various embodiments of the present application, the size of the serial numbers of the above-mentioned processes does not mean the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of the present application.

[0223] It is understandable that, in order to implement the functions of any of the above-mentioned embodiments, a device (such as a terminal device or a proxy server) includes a hardware structure and / or software module corresponding to each function. Those skilled in the art should easily realize that, in combination with the units and algorithm steps of each example described in the embodiments disclosed herein, the present application can be implemented in the form of hardware or a combination of hardware and computer software. Whether a function is executed in the form of hardware or computer software driving hardware 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 the present application.

[0224] The embodiment of the present application can divide the functional modules of the device (such as a terminal device or a proxy server). For example, each functional module can be divided corresponding to each function, or two or more functions can be integrated into one processing module. The above-mentioned integrated module can be implemented in the form of hardware or in the form of software functional modules. It should be noted that the division of modules in the embodiment of the present application is schematic and is only a logical function division. There may be other division methods in actual implementation.

[0225] It should also be understood that each module in a device (such as a terminal device or a proxy server) can be implemented in software and / or hardware form, and there is no specific limitation on this. In other words, a device (such as a terminal device or a proxy server) is presented in the form of a functional module. The "module" here can refer to an application-specific integrated circuit ASIC, a circuit, a processor and a memory that executes one or more software or firmware programs, an integrated logic circuit, and / or other devices that can provide the above functions.

[0226] In an optional manner, when data transmission is 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 described in the embodiment of the present application is implemented 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 disk (DVD)), or a semiconductor medium (e.g., a solid state disk (SSD)), etc.

[0227] The steps of the method or algorithm described in conjunction with the embodiments of the present application can be implemented in a hardware manner or by a processor executing software instructions. The software instructions can be composed of corresponding software modules, and the software modules can be stored in random access memory (RAM), flash memory, read-only memory (ROM), erasable programmable read-only memory (EPROM), electrically erasable read-only memory (EEPROM) memory, register, hard disk, mobile hard disk, compact disc read-only memory (CD-ROM) or any other form of storage medium known in the art. An exemplary storage medium is coupled to a processor so that the processor can read information from the storage medium and write information to the storage medium. Of course, the storage medium can also be a component of the processor. The processor and the storage medium can be located in an application specific integrated circuit (ASIC). In addition, the ASIC can be located in a device (such as a terminal device or a proxy server). Of course, the processor and the storage medium can also exist as discrete components.

[0228] Through the description of the above implementation methods, technical personnel in the relevant field can clearly understand that for the convenience and simplicity of description, only the division of the above-mentioned functional modules is used as an example. In actual applications, the above-mentioned functions can be assigned to different functional modules as needed, that is, the internal structure of the device can be divided into different functional modules to complete all or part of the functions described above.

Claims

1. A communication method, characterized in that: The method is applied to a proxy server, and the method comprises: Receiving first information from a terminal device, wherein the first information instructs the proxy server to start a message proxy service; Receiving a first application message from an application server and obtaining a type of the first application message; cache the first application message when the first application message is of a first type, and send the first application message to the terminal device when a first condition is met; When the first application message is of the second type, the first application message is forwarded to the terminal device.

2. The method according to claim 1, characterized in that: The acquiring the type of the first application message includes: Analyze one or more of the following characteristics of the first application message to obtain the type of the first application message: application identifier of the application to which it belongs, code stream characteristics, message characteristic code, used protocol, and data volume.

3. The method according to claim 1 or 2, characterized in that: The first condition is satisfied, which includes one or more of the following: the cached message meets the cache duration, the cached message exceeds the cached data volume threshold, and the cached message exceeds the cached message quantity threshold.

4. The method according to any one of claims 1 to 3, characterized in that Before sending the first application message to the terminal device, the method further includes: Receive other application messages of the first type from the application server.

5. The method according to claim 4, characterized in that The proxy server sends the first application message to the terminal device via second information, where the second information also includes other application messages of the first type.

6. The method according to any one of claims 1 to 5, characterized in that The method further comprises: sending second information to the terminal device upon receiving third information from the terminal device; The third information instructs the proxy server to shut down a message proxy service, and the second information includes the first application message.

7. The method according to any one of claims 1 to 6, characterized in that The first information is sent to the proxy server when the terminal device is in a non-use state.

8. The method according to any one of claims 1 to 7, characterized in that The method further comprises: receiving fourth information from the terminal device, wherein the fourth information instructs the proxy server to shut down a message proxy service; A second application message is received from an application server and the second application message is forwarded to the terminal device.

9. The method according to claim 8, characterized in that The fourth information is sent to the proxy server when the terminal device is in use.

10. The method according to any one of claims 1 to 9, characterized in that The proxy service sends an application message to the terminal device via a heartbeat message.

11. A communication method, characterized in that: The method is applied to a terminal device, and the method comprises: When in a non-use state, sending first information to a proxy server, wherein the first information instructs the proxy server to start a message proxy service; When in use, fourth information is sent to the proxy server, wherein the fourth information instructs the proxy server to close the message proxy service.

12. The method according to claim 11, characterized in that The terminal device is in a non-use state, and the method further includes: Second information is received from the proxy server, the second information comprising a plurality of application messages.

13. The method according to claim 11, characterized in that The terminal device is in use, and the method further includes: Receive an application message from an application server that is forwarded in real time by the proxy server.

14. The method according to any one of claims 11 to 13, characterized in that The method further comprises: The usage status of the terminal device is obtained based on one or more of the following information: whether the screen is on, whether a user operation is received, whether it is unlocked, whether there is a task running in the foreground, whether it is charging, and time information.

15. A proxy server, characterized in that: The proxy server comprises: A transceiver for sending and receiving radio signals; a memory for storing computer program instructions; A processor, configured to execute the computer program instructions to support the proxy server to implement the method according to any one of claims 1 to 10.

16. A terminal device, characterized in that: The terminal device comprises: A transceiver for sending and receiving radio signals; a memory for storing computer program instructions; A processor, configured to execute the computer program instructions to support the proxy server to implement the method as claimed in any one of claims 11 to 14.

17. A communication system, characterized in that: The communication system comprises: Application server; The proxy server of claim 15; and The terminal device as claimed in claim 16.

18. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores computer program instructions, and when the computer program instructions are executed by a processing circuit, the method according to any one of claims 1 to 14 is implemented.

19. A computer program product comprising instructions, characterized in that When the computer program product is run on a computer, the computer is caused to execute the method according to any one of claims 1 to 14.

20. A chip system, characterized in that: The chip system includes a processing circuit and a storage medium, wherein the storage medium stores computer program instructions; when the computer program instructions are executed by the processing circuit, the method as described in any one of claims 1 to 14 is implemented.

Citation Information

Cited By

  • Communication method, device and communication system

    EP4757432A1

  • Communication method, device and communication system

    WO2025044993A1