Communication method, device and communication system
By introducing message proxy services into the proxy server, the application message sending strategy is dynamically controlled according to the usage status of the terminal device, and the problem of terminal devices being frequently awakened when the user is not in use is solved, thereby reducing power consumption and improving user experience.
Patent Information
- Application Number
- PCT/CN2024/114595
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-08-30
- Filing Date
- 2024-08-26
- Publication Date
- 2025-03-06
AI Technical Summary
In the context of the development of mobile Internet technology, terminal devices are still frequently awakened to receive application messages when users are not in use, resulting in increased power consumption and reduced user experience.
By introducing a message proxy service in the proxy server, the application message sending policy is dynamically controlled based on the usage status of the terminal device. The specific method includes batch cache and centrally sending non-real-time application messages when the terminal device is in a non-used state, reducing unnecessary power consumption and disturbance.
While ensuring that important messages arrive at the terminal device in time, it effectively reduces the power consumption and disturbance of frequent wake-up of terminal devices due to non-real-time application messages, and improves the user experience.
Smart Images

Figure CN2024114595_06032025_PF_FP_ABST
Abstract
Description
Communication method, device and communication system
[0001] This application claims priority to the Chinese patent application filed with the State Intellectual Property Office on August 30, 2023, with application number 202311112196.9 and application name “Communication Method, Device and Communication System”, the entire contents of which are incorporated by reference into this application. Technical Field
[0002] The present application relates to the field of communication technology, and in particular to a communication method, device, and communication system. Background Art
[0003] 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.
[0004] 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 woken up to receive application messages. Frequent wake-up of the terminal device will cause more power consumption and interruption to the terminal device, affecting the user experience.
[0005] Summary of the Invention
[0006] 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.
[0007] To achieve the above objectives, this application adopts the following technical solutions:
[0008] 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.
[0009] The proxy server provides proxy policy management services, such as enabling / disabling the application message proxy service, and message proxy services, such as forwarding application messages in real time or caching and sending them in batches according to proxy policies.
[0010] As an example, the first type of application message may have one or more of the following characteristics: low real-time requirement (e.g., 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 (e.g., real-time message), low power consumption, high importance, etc.
[0011] In the solution provided by 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 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.
[0012] As one possible implementation, obtaining the type of the first application message includes querying the first list and / or the second list to obtain the type of the first application message. 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, allowing for the adoption of appropriate message proxying strategies.
[0013] As a possible implementation method, 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 obtain 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 transmission 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 of the application message, so as to adopt an appropriate strategy for message proxying.
[0014] As an example, when determining the type of the first application message based on the application identifier of the application to which the first application message belongs, the proxy server may determine the type of the first application message by checking whether the application identifier is located in a pre-stored list (e.g., a first list or a second list). The first list may include less important application identifiers and / or applications that are not frequently used by the user, and the second list may include more important application identifiers and / or applications that are frequently used by the user.
[0015] As a possible implementation method, 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. By reasonably setting the 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-up of the terminal device due to application messages of lower importance, thereby improving the user experience.
[0016] As a possible implementation, before sending the first application message to the terminal device, the method further includes: the proxy server receiving other application messages of the first type from the application server. Based on this, the proxy server can batch cache the first type of application messages for subsequent centralized transmission. This ensures that the cached application messages reach the terminal device while minimizing unnecessary power consumption and interruption to the terminal device caused by frequent wake-up of less important application messages.
[0017] As one possible implementation, the proxy server sends the first application message to the terminal device via a second message, where the second message also includes other application messages of the first type received by the proxy server. Based on this, the proxy server can ensure that cached application messages reach the terminal device through batch caching and centralized forwarding, while also minimizing unnecessary power consumption and interruptions to the terminal device caused by frequent wake-ups due to less important application messages, thereby improving the user experience.
[0018] As a possible implementation, the method further includes: upon receiving the third information from the terminal device, sending a second message to 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 promptly sent to the terminal device after the message proxy service is shut down.
[0019] As a possible implementation, the first message is sent to the proxy server when the terminal device is not in use. Based on this, the proxy server can adopt different strategies based on the actual needs of the terminal device. For example, it can enable the message proxy service when the terminal device is not in use to minimize unnecessary power consumption and interruptions to the terminal device caused by frequent wake-up due to less important application messages.
[0020] As a possible implementation, the method further includes: the proxy server receiving fourth information from the terminal device, wherein the fourth information instructs the proxy server to disable the message proxy service; and the proxy server receiving a second application message from the application server and forwarding the second application message to the terminal device. Based on this, the proxy server can adopt different strategies based on the actual needs of the terminal device, such as forwarding the application message in real time when the terminal device instructs to disable the message proxy service, ensuring that the application message reaches the terminal device in a timely manner and that the user can use the application normally.
[0021] As one 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 based on the actual needs of the terminal device. For example, it can use a real-time forwarding strategy to send application messages to the terminal device when the terminal device is in use, ensuring that the application messages reach the terminal device in a timely manner and that the user can use the application normally.
[0022] As a possible implementation, the proxy server sends application messages, such as the first application message or the second application message, to the terminal device via a heartbeat message. This allows the existing mechanism to be reused to send application messages, improving the compatibility of the communication process with the existing mechanism, simplifying the communication process, and improving communication efficiency.
[0023] 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 the proxy server, wherein the first message instructs the proxy server to turn on 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 turn off the message proxy service.
[0024] The proxy server provides proxy policy management services, such as enabling / disabling the application message proxy service, and message proxy services, such as forwarding application messages in real time or caching and sending them in batches according to proxy policies.
[0025] 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 a timely manner, thereby improving the user experience.
[0026] As a possible implementation, when the terminal device is in an inactive state, the method further includes: the terminal device receiving second information from a proxy server, where the second information includes multiple application messages. Based on this, when the terminal device is in an inactive state, the proxy server can batch-buffer the application messages according to the terminal device's instructions and then forward them to the terminal device in a centralized manner, thereby minimizing unnecessary power consumption and interruptions to the terminal device caused by frequent wake-ups due to less important application messages.
[0027] As one possible implementation, the terminal device is in use, and the method further includes: the terminal device receiving 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 terminal device's instructions, ensuring that application messages important to the user reach the terminal device in a timely manner.
[0028] As a possible implementation, the method further includes: the terminal device obtaining the terminal device's usage status based on one or more of the following information: whether the screen is on, whether a user operation has been received, whether the device is unlocked, whether there are any tasks running in the foreground, whether the device is charging, and time information. Based on this, the terminal device can quickly and accurately obtain its usage status, and then select different application message sending and receiving strategies based on the actual usage status.
[0029] According to a third aspect, a proxy server is provided, which includes: a message proxy unit, configured to: receive a first message from a terminal device, wherein the first message 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.
[0030] In the solution provided by 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 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 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.
[0031] As one possible implementation, the policy management unit is specifically configured to query the first list and / or the second list to determine the type of the first application message. As an example, the first list and the second list may be stored on a proxy server and managed and maintained by the proxy server. In some examples, the proxy server may accept modifications to the first list or the second list by developers. This allows for convenient, rapid, and accurate identification of application message types, enabling the adoption of appropriate policy for message proxying.
[0032] As a possible implementation, the policy management unit is specifically configured to analyze one or more of the following characteristics of the first application message to determine the type of the first application message: the application identifier of the application to which it belongs, code stream characteristics, message signature, protocol used, and data size. Code stream characteristics such as transmission frequency, message signature, or protocol used can be used to indicate whether a message (e.g., an application message) carries a real-time message, and the protocol used and data size 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 of the application message, so that an appropriate policy can be adopted for message proxying.
[0033] As a possible implementation method, 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. By reasonably setting the 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-up of the terminal device due to application messages of lower importance, thereby improving the user experience.
[0034] As a possible implementation, before sending the first application message to the terminal device, the message proxy unit is further configured 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 transmission. This ensures that the cached application messages reach the terminal device while minimizing unnecessary power consumption and interruptions to the terminal device caused by frequent wake-up calls due to less important application messages.
[0035] As a possible implementation, the message proxy unit sends the first application message to the terminal device via a second message, where the second message also includes other application messages of the first type received by the proxy server. Based on this, the proxy server can ensure that cached application messages reach the terminal device through batch caching and centralized forwarding, while also minimizing unnecessary power consumption and interruptions to the terminal device caused by frequent wake-ups due to less important application messages, thereby improving the user experience.
[0036] As one possible implementation, upon receiving the third information from the terminal device, the message proxy unit sends a second message to 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 terminal device's instruction, and the cached application messages can be promptly sent to the terminal device after the message proxy service is shut down.
[0037] As a possible implementation, the first message is sent to the proxy server when the terminal device is not in use. Based on this, the proxy server can adopt different strategies based on the actual needs of the terminal device. For example, it can enable the message proxy service when the terminal device is not in use to minimize unnecessary power consumption and interruptions to the terminal device caused by frequent wake-up due to less important application messages.
[0038] As a possible implementation, the message proxy unit is further configured to: receive a fourth message from the terminal device, wherein the fourth message 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 based on the actual needs of the terminal device, such as forwarding the application message in real time when the terminal device instructs the message proxy service to shut down, ensuring that the application message reaches the terminal device in a timely manner and that the user can use the application normally.
[0039] As one 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 based on the actual needs of the terminal device. For example, it can use a real-time forwarding strategy to send application messages to the terminal device when the terminal device is in use, ensuring that the application messages reach the terminal device in a timely manner and that the user can use the application normally.
[0040] As a possible implementation, the message proxy unit sends application messages, such as the first application message or the second application message, to the terminal device via a heartbeat message. This allows the existing mechanism to be reused to send application messages, improving the compatibility of the communication process with the existing mechanism, simplifying the communication process, and improving communication efficiency.
[0041] In a fourth aspect, a terminal device is provided, which includes: an agent management unit, which is used to send a first message to a proxy server when the terminal device is in a non-use state, wherein the first information 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 information instructs the proxy server to shut down the message proxy service.
[0042] 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 a timely manner, thereby improving the user experience.
[0043] As one possible implementation, the terminal device is in an inactive state and further includes a message transceiver unit configured to receive second information from a proxy server, where the second information includes multiple application messages. Based on this, when the terminal device is inactive, the proxy server can batch-buffer application messages according to the terminal device's instructions and then forward them to the terminal device in a centralized manner, thereby minimizing unnecessary power consumption and interruptions to the terminal device caused by frequent wake-ups due to less important application messages.
[0044] As one possible implementation, when the terminal device is in use, the message transceiver unit is further configured to receive application messages from the application server, forwarded in real time by the proxy server. Thus, when the terminal device is in use, the proxy server can forward application messages to the terminal device in real time according to the terminal device's instructions, ensuring that application messages important to the user reach the terminal device promptly.
[0045] As a possible implementation, the proxy management unit is further configured to obtain the terminal device's usage status based on one or more of the following information: whether the screen is on, whether a user action has been received, whether the device is unlocked, whether a task is running in the foreground, whether the device is charging, and time information. This allows the terminal device to quickly and accurately obtain its usage status, enabling the selection of different application message sending and receiving strategies based on the actual usage status.
[0046] 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 in implementing the method in any possible implementation manner of the first aspect.
[0047] In a sixth aspect, a terminal device is provided, which includes: 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 as in any possible implementation of the first aspect.
[0048] 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.
[0049] 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.
[0050] In a ninth aspect, a computer program product comprising instructions is provided, which, when executed on a computer, enables the computer to implement the method in any possible implementation of the first aspect or the second aspect.
[0051] In a tenth aspect, a chip system is provided, comprising a processing circuit and a storage medium storing computer program instructions; when the computer program instructions are executed by the processor, the method of any possible implementation of the first or second aspect is implemented. The chip system may be composed of a chip alone or may include a chip and other discrete components. BRIEF DESCRIPTION OF THE DRAWINGS
[0052] FIG1 is a schematic diagram of a notification reminder management interface of an application provided in an embodiment of the present application;
[0053] FIG2 is a schematic diagram of a power usage mode management interface provided by an embodiment of the present application;
[0054] FIG3 is a schematic diagram of the transmission process of an application message provided in an embodiment of the present application;
[0055] FIG4 is a schematic diagram of a communication architecture of an application message provided in an embodiment of the present application;
[0056] FIG5 is a schematic diagram of another communication architecture of application messages provided in an embodiment of the present application;
[0057] FIG6 is a flow chart of an application message transmission method according to an embodiment of the present application;
[0058] FIG7 is an interaction diagram of a communication method for a terminal device in a non-use state provided by an embodiment of the present application;
[0059] FIG8 is an interaction diagram of a communication method of a terminal device in use provided by an embodiment of the present application;
[0060] FIG9 is an interaction diagram of a communication method provided by an embodiment of the present application when the terminal usage status changes. DETAILED DESCRIPTION
[0061] The technical solutions in the embodiments of the present application will be described below in conjunction with the accompanying 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 merely a description of the association relationship of associated objects, indicating that three relationships can exist, 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.
[0062] Hereinafter, the terms "first," "second," and so on are used solely to distinguish different descriptive 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 preceding the "field" in "first field" and "second field" does not define the position or order of the "fields." "First" and "second" do not define whether the modified "fields" are in the same message, nor do they restrict the order of the "first field" and "second field." For another example, if the described object is a "level," the ordinal number preceding the "level" in "first level" and "second level" does not define the priority of the "levels." For another example, the number of described objects is not limited by the ordinal number and can be one or more. For example, in the case of "first device," the number of "devices" can be one or more. Furthermore, 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 "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 "second information" can be information of the same content or different contents. In short, the use of prefixes such as ordinal numbers to distinguish the described objects in the embodiments of the present application does not constitute a restriction 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 restrictions should be constituted due to the use of such prefixes.
[0063] 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 connection 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.
[0064] We know that screen lighting and communication consume relatively high power for terminal devices. When the user is using the terminal device, the terminal device's screen is usually on, and when the user is not using the terminal device, the terminal device's screen is usually black. However, when the terminal device's screen is 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 the user or have low real-time requirements. Therefore, when the user is not using the terminal device, the communication between the terminal device and the application server will also bring a large amount of unnecessary power consumption to the terminal device.
[0065] In order to reduce unnecessary power consumption caused by application messages that are not important to the user or do not require high real-time performance, as another possible implementation method, the terminal device can provide users with configuration options for message notification functions, allowing users to manually manage notification reminders for application messages of each application (Figure 1 shows a schematic diagram of the notification reminder management interface of an application). However, this method is very cumbersome for users because it requires many settings for each application.
[0066] In order to reduce unnecessary power consumption brought to the terminal device by application messages that are not important to the user or have low real-time requirements, and to simplify the user's interface operations, as a possible implementation method, the terminal device can provide the user with multiple power usage modes, such as the performance mode, power saving mode and super power saving mode shown in Figure 2. The user can select the power saving mode or the super power saving mode to turn off or reduce the power consumption brought to the terminal device by some functions (such as automatic synchronization function, 5G communication function, application function, etc.).
[0067] However, the above-mentioned "one-size-fits-all" power usage mode management solution will also affect the user's normal use of the terminal device. For example, a terminal device in 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, a terminal device in super power saving mode cannot provide the user with certain regular applications (such as camera, music, video, 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 and set the power usage mode from super power saving mode to power saving mode or performance mode, or from power saving mode to performance mode. Therefore, the operation is still cumbersome for the user, and the above method also provides a low user experience.
[0068] In order to solve the problems existing in the above-mentioned conventional technologies, an embodiment of the present application provides a communication method, which can dynamically control the policy for sending application messages based on the actual usage status of the terminal device. For example, when the terminal device is in use, application messages are sent to the terminal device according to the conventional communication policy; when the terminal device is not in use, a batch caching and centralized sending communication policy is adopted to send the first type of application messages to the terminal device, or when the terminal device is not in use, a second type of application message is sent to the terminal device according to the conventional communication policy, 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.
[0069] For example, please refer to Figure 3, which shows a schematic diagram of a communication process of an application message provided in an embodiment of the present application. As shown in Figure 3, the communication architecture may include a terminal device 310, an application server 320, and a proxy server 330.
[0070] 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.
[0071] When the terminal device is in use, as shown in Figure 3, the terminal device 310 can request application-related data from the application server 320 according to the user's operation. Correspondingly, the application server 320 can send application-related data to the terminal device 310 according to the request of the terminal device 310.
[0072] When the terminal device is not in use, as shown in Figure 3, 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.
[0073] 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 constrained application protocol (CoAP), etc.), which is not specifically limited in the embodiment of the present application and can be determined according to 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.
[0074] As shown in Figure 3, when the terminal device is in an unused state, 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 cache the message in batches and then send the cached messages to the terminal device 310 through an aggregated 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.
[0075] Based on the end-cloud collaborative communication solution shown in Figure 3, the terminal device usage status can be perceived on the terminal device side, and a strategy adapted to the perceived terminal device usage status can be adopted, and downlink application messages can be sent 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 is possible to ensure that the terminal device provides normal services to the user when the terminal device is in use, and to reduce unnecessary power consumption and disturbance caused to the terminal device by the application server frequently waking up the terminal device when the terminal device is not in use, without affecting the user experience, by batch caching and centralized sending of the first type of application messages, thereby improving the user experience.
[0076] As an example, the structure of the terminal device 310, application server 320, and proxy server 330 shown in Figure 3 may be as shown in Figure 4. As shown in Figure 4, the terminal device 310 has an application program (e.g., Application 1) installed, which is served 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. Based on the user's operation, Application 1 communicates with the application server 320 to provide the user with corresponding application function services, such as social functions (e.g., instant messaging functions), video services, audio services, shooting functions, document editing functions, email sending and receiving functions, shopping functions, game functions, etc.
[0077] For example, the terminal device 310 may include a message agent software development kit (SDK) as shown in FIG. 4 , wherein the message agent SDK includes a message sending and receiving unit for providing an application message sending and receiving function.
[0078] In some embodiments, as shown in FIG4 , the message proxy SDK may further include a proxy management unit for providing message proxy management. For example, functions such as authentication, usage status awareness, and proxy decision-making may be provided as shown in FIG5 . For example, the proxy management unit may decide whether to enable the application message proxy based on the perceived usage status of the terminal device. For example, the proxy management unit may enable the application message proxy service when the terminal device is perceived to be in an inactive state, and disable the application message proxy service when the terminal device is perceived to be in active state.
[0079] 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 may depend on the device capabilities, configuration, and specific usage scenarios.
[0080] Application server 320 is used to provide data related to application 1. For example, application server 320 can send application messages to terminal device 310 in response to a request from application 1 in terminal device 310, or proactively send application messages to terminal device 310 when there are application messages targeted at terminal device 310, such as system notifications, advertisements, communication messages, software update packages, and other messages. For example, application server 320 may include the message transceiver unit shown in FIG4 .
[0081] The proxy server 330 is used to provide proxy policy management services and message proxy services.
[0082] Among them, the proxy policy management service such as opening / closing the application message proxy service.
[0083] For example, when the application message proxy service is enabled, the message proxy service 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, when the application message proxy service is disabled, the message proxy service forwards all application messages from the application server 320 to the terminal device 310 in real time.
[0084] In some embodiments, as shown in FIG4 , the proxy server 330 may include a policy management unit and a message proxy unit. The policy management unit is configured to provide proxy policy management services, and the message proxy unit is configured to provide message proxy services.
[0085] For example, as shown in FIG5 , the policy management unit can be used to provide authentication and policy control. For example, after authentication is passed, the application message proxy service of the message proxy unit can be enabled or disabled according to the instructions of the terminal device 310. The message proxy unit can be used to provide message type identification, message caching, and message forwarding services. For example, after enabling the application message proxy service, 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 enabling the application message proxy service, 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.
[0086] Among them, the first strategy may include caching application messages and, when a preset condition (such as the first condition) is met, aggregating the cached application messages and sending them to the terminal device 310 via an aggregate message. The second strategy may include forwarding the application messages to the terminal device 310 in real time. In some embodiments, the first strategy also includes a first condition, which includes the cache duration, the number of cached messages, the amount of cached data, etc., which are not specifically limited in the embodiments of the present application.
[0087] In some embodiments, the policy management unit is further configured 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.
[0088] In some embodiments, the policy management unit is further configured to provide agent policy modification services, such as accepting modifications made by developers to the first condition, features of the first type or the second type of message, and the like.
[0089] It should be noted that in addition to application 1, the terminal device may also have other application programs installed, such as application 2, application 3, ..., application n as shown in Figure 4 or Figure 5, where n is an integer greater than 3, and each application may correspond to an application server that provides services for it. Figures 3, 4 and 5 only use the application server 320 providing relevant data of application 1 as an example.
[0090] The following will use the communication architecture shown in Figure 3, Figure 4, or Figure 5 as an example, and in conjunction with the accompanying drawings, to specifically introduce a communication method provided in an embodiment of the present application. As shown in Figure 6, a communication method provided in an embodiment of the present application may include S601a-S604a shown in Figure 6 (a), or include S601b-S604b and S605b-2 shown in Figure 6 (b), or include S601b-S604b, S605b-1, and S606b shown in Figure 6 (b).
[0091] In the scenario where the proxy server 330 stops providing the message proxy service for the terminal device 310, as shown in (a) of FIG6 , a communication method provided in an embodiment of the present application may include S601a-S604a:
[0092] 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.
[0093] As an example, the fourth information may be sent to the proxy server when the terminal device senses that the terminal device is in use.
[0094] Taking the structure of the terminal device 310 as shown in Figure 4 or Figure 5 as an 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 a 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.
[0095] S602a: The proxy server 330 shuts down the message proxy service.
[0096] Taking the structure of the proxy server 330 as shown in FIG. 4 or FIG. 5 as an example, after receiving the fourth information from the terminal device 310 , the policy management unit of the proxy server 330 may instruct the message proxy unit to shut down the message proxy service according to the fourth information.
[0097] 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 may be to forward the application message to the terminal device 310 in real time.
[0098] S603a: The proxy server 330 receives a second application message from the application server 320 .
[0099] 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 embodiment of this application does not specifically limit the specific content, form, purpose, etc. of the second application message.
[0100] Taking the structures of the proxy server 330 and the application server 320 as shown in FIG. 4 or FIG. 5 as an example, the proxy server 330 may receive, through the message proxy unit, the second application message sent by the application server 320 through the message transceiver unit.
[0101] S604a: The proxy server 330 forwards the second application message to the terminal device 310.
[0102] 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.
[0103] For a scenario where the proxy server 330 starts providing a message proxy service for the terminal device 310, as shown in (b) of FIG6 , a communication method provided in an embodiment of the present application may include:
[0104] S601b: The proxy server 330 receives first information from the terminal device 310, where the first information is used to instruct the proxy server to start a message proxy service.
[0105] 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 in an unused state.
[0106] Taking the structure of the terminal device 310 as shown in Figure 4 or Figure 5 as an example, when the agent management unit provided by the message agent SDK senses that the terminal device is in an unused state, the terminal device 310 can send a 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.
[0107] S602b: The proxy server 330 starts the message proxy service.
[0108] Taking the structure of the proxy server 330 as shown in FIG. 4 or FIG. 5 as an 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.
[0109] After the message proxy service is enabled, the message proxy unit of the proxy server 330 may use a first strategy to send application messages to the terminal device 310. The first strategy may 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.
[0110] S603b: The proxy server 330 receives the first application message from the application server 320 .
[0111] 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 embodiment of this application does not specifically limit the specific content, form, purpose, etc. of the first application message.
[0112] Taking the structures of the proxy server 330 and the application server 320 as shown in FIG. 4 or FIG. 5 as an example, the proxy server 330 may receive, through the message proxy unit, the first application message sent by the application server 320 through the message transceiver unit.
[0113] S604b: The proxy server 330 obtains the type of the first application message.
[0114] The type of the first application message may include but is not limited to the first type or the second type.
[0115] As an example, the first type of application message may have one or more of the following characteristics: low real-time requirement (e.g., 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 (e.g., real-time message), low power consumption, high importance, etc.
[0116] For example, 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.
[0117] 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.
[0118] In some embodiments, the proxy server 330 can identify the real-time requirements 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 then identify the type of the application message.
[0119] Among them, the code stream characteristics include 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 indicates 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 indicates 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 indicates that the first application message is a real-time message. If the message feature code is the second feature code, it indicates 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 indicates 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 indicates 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 or video call requests), red envelope messages, and instant messaging (IM) (such as instant messaging messages). Non-real-time messages include public account tweets and software update packages.
[0120] 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.
[0121] For example, if the amount of data carried in the first application message exceeds the data volume threshold, it indicates that the first application message consumes a lot of power; if the amount of data carried in the first application message does not exceed the data volume threshold, it indicates that the first application message consumes a lot of power. Application messages that consume a lot of power include software updates and public account tweets, while application messages that consume a lot of power include red envelope messages and instant messaging messages.
[0122] In some embodiments, proxy server 330 can identify the type of application message by analyzing whether the application to which the first application message belongs is in the first list and / or the second list. The first list and the second list are stored, managed, and maintained by proxy server 330. In some embodiments, proxy server 330 can accept modifications to the first list or the second list by developers.
[0123] For example, if the identifier of the application to which the first application message belongs is in the first list, it indicates 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 indicates that the first application message is more important. Applications in the first list include gaming applications, sports applications, and other applications that users do not frequently use; applications in the second list include instant messaging applications, office applications, video applications, live streaming applications, and other applications that users frequently use.
[0124] Taking the structures of the proxy server 330 and the application server 320 as shown in FIG. 4 or FIG. 5 as an example, the proxy server 330 may obtain the type of the first application message through the message proxy unit.
[0125] 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 embodiment of this application does 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.
[0126] Further, as shown in (b) of FIG6 , 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 .
[0127] S605b-1: The proxy server 330 caches the first application message.
[0128] Taking the structure of the proxy server 330 and the application server 320 as shown in FIG. 4 or FIG. 5 as an 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.
[0129] S605b-2: The proxy server 330 forwards the first application message to the terminal device 310.
[0130] Taking the structure of the proxy server 330 and the application server 320 as shown in FIG. 4 or FIG. 5 as an example, the proxy server 330 may forward the first application message to the terminal device 310 in real time through the message proxy unit.
[0131] As shown in FIG. 6 , similar to S603 b to S605 b - 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.
[0132] 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.
[0133] 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, or 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 cumulative total data volume of cached application messages of the first type, and the cached message quantity refers to the cumulative number of cached application messages of the first type.
[0134] Taking the structure of the proxy server 330 and the application server 320 as shown in Figure 4 or Figure 5 as an 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.
[0135] 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 period, 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 period.
[0136] 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.
[0137] 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.
[0138] 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 cached data volume threshold, and the number of cached messages exceeds the cached message number threshold.
[0139] It should be noted that the triggering 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 triggering 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.
[0140] 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.
[0141] Please refer to Figure 7, which shows an interaction diagram of a communication method for a terminal device in a non-use state. As shown in Figure 7, the communication method provided in the embodiment of the present application may include S701-S712a and S713, or include S701-S712b:
[0142] S701: The proxy server 330 obtains a proxy policy.
[0143] The proxy policy may include but is not limited to a message identification policy, a message forwarding policy, a type management list, and the like.
[0144] The message identification policy is used to identify the category of the application message, such as 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.
[0145] 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 further 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.
[0146] 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 first type messages, and the second list includes application identifiers corresponding to second type messages. For another example, the first type management list includes one or more of the following information for first type messages: bitstream characteristics, message signatures, used protocols, etc., while the second type management list includes one or more of the following information for second type messages: bitstream characteristics, message signatures, used protocols, etc.
[0147] In some embodiments, the proxy policy may be pre-configured in the proxy server 330 by a developer.
[0148] In some embodiments, while the proxy server 330 provides message proxy services, the proxy server 330 may accept modifications to the proxy policy from developers.
[0149] In some embodiments, while the proxy server 330 provides 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 based on the learning results.
[0150] Taking the structure of the proxy server 330 as shown in FIG. 4 or FIG. 5 as an example, the policy management unit of the proxy server 330 can be used to maintain the proxy policy.
[0151] S702 : The proxy server 330 receives the authentication request from the terminal device 310 .
[0152] S703: The proxy server 330 performs authentication on the terminal device 310.
[0153] The proxy server 330 may authenticate the terminal device 310, including but not limited to verifying the legitimacy and permissions of the terminal device 310. For example, the proxy server 330 may authenticate the certificate used by the terminal device 310. For specific methods and processes for device authentication, please refer to the relevant technical documentation, and this embodiment of the present application does not limit this.
[0154] Taking the structure of the proxy server 330 as shown in FIG. 4 or FIG. 5 as an example, the policy management unit of the proxy server 330 can receive the authentication request of the terminal device 310 and be responsible for authenticating the terminal device 310 .
[0155] 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.
[0156] For example, the authentication success message carries the first list.
[0157] S705: The terminal device 310 recognizes that it is in an unused state.
[0158] 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.
[0159] 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 an unused state: black screen, no user operation is received, locked, no task is running in the foreground, currently charging, and the time meets the first time period (such as 23:00-7:00).
[0160] Taking the structure of the terminal device 310 as shown in FIG. 4 or FIG. 5 as an 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.
[0161] 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, configuration and specific usage scenarios.
[0162] S706 : The terminal device 310 sends a message proxy request to the proxy server 330 .
[0163] 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 an Enable control instruction.
[0164] Taking the structure of the terminal device 310 as shown in FIG. 4 or FIG. 5 as an example, the terminal device 310 may 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.
[0165] S707: The proxy server 330 starts the message proxy service.
[0166] Taking the structure of the proxy server 330 as shown in FIG. 4 or FIG. 5 as an example, the policy management unit of the proxy server 330 can receive a message proxy request from the terminal device 310 and be responsible for starting the message proxy service.
[0167] S708: When a first type of application process is started, the terminal device 310 sends a link establishment request to the proxy server 330. The link establishment request carries the IP address and port number of the target application server (the application server 320 shown in FIG7).
[0168] 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 .
[0169] Taking the first type management list being 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.
[0170] As a possible implementation, the link establishment request can include a custom message, constructed by terminal device 310 and including the IP address and port number of proxy server 330. Based on this, terminal device 310 can forward the socket of the application message push process to proxy server 330 via the custom message. Combined with the IP address and port number of the target application server included in the link establishment request, proxy server 330 can establish a persistent link between terminal device 310 and application server 320 via proxy server 330.
[0171] S709 : The proxy server 330 establishes a persistent connection with the target application server (the application server 320 shown in FIG. 7 ) according to the link establishment request from the terminal device 310 .
[0172] S710 : The application server 320 sends a first application message to the proxy server 330 .
[0173] 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 embodiment of this application does not specifically limit the specific content, form, purpose, etc. of the first application message.
[0174] Taking the structure of the application server 320 as shown in FIG. 4 or FIG. 5 as an example, the application server 320 may send a first application message to the proxy server 330 through the message transceiver unit.
[0175] S711: The proxy server 330 identifies the type of the first application message.
[0176] The type of the first application message may include but is not limited to the first type or the second type.
[0177] As an example, a first application message of the first type may have one or more of the following characteristics: low real-time requirement (e.g., a non-real-time message), high power consumption, low importance, etc. A first application message of the second type may have one or more of the following characteristics: high real-time requirement (e.g., a real-time message), low power consumption, high importance, etc.
[0178] For example, the proxy server 330 can identify the real-time requirements 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 then identify the type of the first application message.
[0179] 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.
[0180] 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.
[0181] The embodiments of this application do not limit the basis, specific methods and processes for identifying application message categories, and may depend on the specific usage scenario and the hardware and software capabilities of the device.
[0182] Taking the structure of the proxy server 330 as shown in FIG. 4 or FIG. 5 as an example, the proxy server 330 can identify the type of the first application message through the message proxy unit.
[0183] 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.
[0184] S712a: The proxy server 330 caches the first application message.
[0185] Taking the structure of the proxy server 330 as shown in FIG. 4 or FIG. 5 as an example, the proxy server 330 may cache the received first application message through the message proxy unit.
[0186] 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.
[0187] 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.
[0188] 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 duration, that is, the proxy server 330 may send the cached message to the terminal device 310 via the second information every cache duration.
[0189] 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.
[0190] 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.
[0191] Taking the structure of proxy server 330 as shown in FIG4 or FIG5 as an example, proxy server 330 can send cached application messages to terminal device 310 (e.g., the message proxy SDK of terminal device 310) via the message proxy unit. Correspondingly, after receiving the application message sent by proxy server 330, terminal device 310 can hand the application message to the corresponding application for subsequent processing.
[0192] It should be noted that the triggering conditions for the proxy server 330 to send cached messages to the terminal device 310 are only examples. The centralized sending of cached messages to the terminal device 310 can also be triggered based on other bases or triggering conditions. The embodiments of this application do not make specific limitations and can be determined according to the device hardware and software capabilities and usage scenarios.
[0193] S712b: The proxy server 330 forwards the first application message to the terminal device 310.
[0194] That is, upon identifying the first application message as a second-type application message, proxy server 330 forwards the first application message to terminal device 310 in real time. Correspondingly, upon receiving the first application message from proxy server 330, terminal device 310 can hand the first application message off to the corresponding application for subsequent processing. This ensures that application messages important to the user arrive at the terminal device in a timely manner, enhancing the user experience.
[0195] Taking the structure of the proxy server 330 as shown in FIG. 4 or FIG. 5 as an example, the proxy server 330 may forward application messages to the terminal device 310 through a message proxy unit.
[0196] It can be understood that the solution provided by the embodiment of the present application can sense the usage status of the terminal device on the terminal device side, and adopt a strategy adapted to the perceived usage status of the terminal device to send downlink application messages. 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 downlink application messages 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 application messages that are more important to the user can reach the terminal device in a timely manner, 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.
[0197] Please refer to Figure 8, which shows an interactive diagram of a communication method of a terminal device in use. As shown in Figure 8, the communication method provided in the embodiment of the present application may include S801-S808:
[0198] S801: The proxy server 330 obtains a proxy policy.
[0199] S802: The proxy server 330 receives the authentication request from the terminal device 310.
[0200] S803: The proxy server 330 performs authentication on the terminal device 310.
[0201] 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.
[0202] For a detailed introduction to S801-S804, please refer to the description of S701-S704 above, which will not be repeated here.
[0203] S805: The terminal device 310 recognizes that it is in use.
[0204] 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.
[0205] 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 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).
[0206] Taking the structure of the terminal device 310 as shown in FIG. 4 or FIG. 5 as an 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.
[0207] 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, configuration and specific usage scenarios.
[0208] S806: The terminal device 310 sends a message proxy closing request to the proxy server 330.
[0209] 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 via the third message or the fourth message. As an example, the message proxy shutdown request may be an unEnable control instruction.
[0210] Taking the structure of the terminal device 310 as shown in FIG. 4 or FIG. 5 as an example, the terminal device 310 may 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.
[0211] S807: The proxy server 330 shuts down the message proxy service.
[0212] Taking the structure of the proxy server 330 as shown in FIG. 4 or FIG. 5 as an example, the policy management unit of the proxy server 330 may receive a message proxy shutdown request from the terminal device 310 and be responsible for shutting down the message proxy service.
[0213] S808 : The proxy server 330 sends the cached application message to the terminal device 310 .
[0214] Taking the structure of proxy server 330 as shown in Figures 4 or 5 as an example, proxy server 330 can query cached application messages through the message proxy unit and then send the cached application messages in batches to terminal device 310 (e.g., the message proxy SDK of terminal device 310) based on the long connection established between proxy server 330 and terminal device 310. Correspondingly, after receiving the application messages sent by proxy server 330, terminal device 310 can hand the application messages to the corresponding application for subsequent processing.
[0215] In some embodiments, as shown in FIG8 , when the application server 320 has an application message to be sent to the terminal device 310 , the communication method further includes:
[0216] S809 : The application server 320 sends a second application message to the proxy server 330 .
[0217] 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 embodiment of this application does not specifically limit the specific content, form, purpose, etc. of the second application message.
[0218] Taking the structure of the application server 320 as shown in FIG. 4 or FIG. 5 as an example, the application server 320 may send the second application message to the proxy server 330 through the message transceiver unit.
[0219] S810 : The proxy server 330 forwards the second application message to the terminal device 310 .
[0220] 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 pass the second application message to the corresponding application for subsequent processing. In this way, the user's normal user experience when using the terminal device 310 can be guaranteed.
[0221] It should be noted that Figures 7 and 8 of the present application only use terminal devices in a non-use state and a use state as examples to introduce the communication method for transmitting application messages provided in the embodiments of the present application. It is understood that in some embodiments, the communication method shown in Figure 8 can also be combined with the communication method shown in Figure 7. As shown in Figure 9, after executing S701-S712a and S713 shown in Figure 7, or after executing S701-S712b shown in Figure 7, when it is recognized that the terminal device 310 is in a use state (i.e., S805 shown in Figure 9), the terminal device 310 can also execute S806 shown in Figure 9, after which the proxy server 330 executes S807-S808, and S809-S810 shown in Figure 9.
[0222] It is understood that the solution provided by the embodiments of the present application can sense the terminal device's usage status on the terminal device side and adopt 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 can be shut down. After shutting down the message proxy service, the proxy server can batch-send previously cached application messages of the first type to the terminal device side. Based on this, it can be ensured that application messages can reach the terminal device in a timely manner when the terminal device enters the use state, thereby improving the user experience.
[0223] It should be understood that the various schemes of the embodiments of the present application can be reasonably combined and used, and the explanations or descriptions of the various terms appearing in the embodiments can be referenced or explained with each other in the various embodiments, without limitation to this.
[0224] 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.
[0225] 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 that performs the corresponding functions. Those skilled in the art should easily appreciate 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 this application.
[0226] The embodiments of the present application can divide a device (such as a terminal device or a proxy server) into functional modules. For example, each functional module can be divided into corresponding functional modules, or two or more functions can be integrated into one processing module. The above-mentioned integrated modules 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 embodiments of the present application is schematic and is only a logical functional division. In actual implementation, there may be other division methods.
[0227] It should also be understood that the various modules in a device (such as a terminal device or proxy server) can be implemented in software and / or hardware, without specific limitation. In other words, the device (such as a terminal device or proxy server) is presented in the form of functional modules. The "module" here can refer to an application-specific integrated circuit (ASIC), a circuit, a processor and memory that executes one or more software or firmware programs, an integrated logic circuit, and / or other devices that can provide the above-mentioned functions.
[0228] 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 can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can 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 can be transmitted from one website, computer, server or data center to another website, computer, server or data center via a wired (e.g., coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) method. The computer-readable storage medium can be any available medium that can be accessed by a computer or a data storage device such as a server or data center that includes one or more available media. The available medium can 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)).
[0229] The steps of the method or algorithm described in conjunction with the embodiments of the present application can be implemented in hardware or by executing software instructions by a processor. The software instructions can be composed of corresponding software modules, which can be stored in random access memory (RAM), flash memory, read-only memory (ROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM) memory, registers, hard disks, mobile hard disks, 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 an integral part 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.
[0230] 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
Patent Citations
Communication method, device and communication system
CN119545488A
Application-proxy support over wireless link
CN102939782A
Message sending method and system, network device and readable storage medium
CN107484232A
Application Control Method And Mobile Device
CN108156265A
Background program management method, device, computer equipment and storage medium
CN110362395A