Application updating method and device, equipment and storage medium

By predicting the idle period of the client and feedbacking the target differential package, the problem of application update affecting user usage is solved, and no perceived application incremental update is achieved.

CN119759399APending Publication Date: 2025-04-04INDUSTRIAL AND COMMERCIAL BANK OF CHINA
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411917275.1
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-24
Publication Date
2025-04-04

AI Technical Summary

Technical Problem

In the prior art, the application update will affect the normal use of the user. The user needs to update the software in a good network state and then use the updated application.

Method used

The server predicts the idle period of the client and feedbacks the target differential packet to the client during this period, and the client performs incremental updates based on the differential packet.

Benefits of technology

It realizes rapid application incremental updates during the idle period of the client, and the user has no perception updates and does not affect the normal use of the user.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119759399A_ABST
    Figure CN119759399A_ABST
Patent Text Reader

Abstract

The invention discloses an application updating method and device, equipment and a storage medium, and relates to the technical field of financial science and technology. The application updating method comprises the following steps: predicting an idle time period of a client according to user historical behavior data sent by the client, and sending the idle time period to the client; in response to an application updating request sent by the client for the to-be-updated application in the idle period, obtaining a current application version of the to-be-updated application in the application updating request; and determining a target differential package matched with the current application version, and feeding back the target differential package to the client for indicating the client to perform incremental updating on the to-be-updated application according to the target differential package. According to the technical scheme provided by the embodiment of the invention, incremental updating can be quickly carried out on the application in the idle time period of the client, so that non-perceptual updating of a user is realized, and normal use of the user is not influenced.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of financial technology, and in particular to an application updating method, device, equipment and storage medium. Background Art

[0002] With the rapid development of computer technology, people use various software applications to process transactions in more and more scenarios in their daily lives. And applications need to be constantly updated as user needs change.

[0003] In the prior art, when updating applications, users need to actively go to the application market to update, or when using applications, the user is prompted to update the program. Users need to update the software first under the condition of ensuring a good network status, and then use the updated application, which interrupts the user's use process and brings inconvenience to the user. Summary of the invention

[0004] The present invention provides an application updating method, device, equipment and storage medium to solve the problem that application updating may affect normal use of users.

[0005] According to one aspect of the present invention, there is provided an application update method, which is applied to a server and includes:

[0006] Predicting the idle time period of the client according to the user historical behavior data sent by the client, and sending the idle time period to the client;

[0007] In response to an application update request sent by the client during the idle period for the application to be updated, obtaining a current application version of the application to be updated in the application update request;

[0008] A target differential package matching the current application version is determined, and the target differential package is fed back to the client to instruct the client to perform an incremental update on the application to be updated according to the target differential package.

[0009] According to another aspect of the present invention, there is provided an application updating method, which is applied to a client and includes:

[0010] Send the user's historical behavior data to the server, and obtain the idle time period fed back by the server; the idle time period is predicted by the server based on the user's historical behavior data;

[0011] Sending an application update request to the server for the application to be updated during the idle period;

[0012] Based on the target differential package fed back by the server in response to the application update request, an incremental update is performed on the application to be updated.

[0013] According to another aspect of the present invention, there is provided an application updating device, which is configured at a server, and includes:

[0014] An idle period prediction module, used to predict the idle period of the client according to the user historical behavior data sent by the client, and send the idle period to the client;

[0015] A request response module, configured to respond to an application update request sent by the client during the idle period for the application to be updated, and obtain a current application version of the application to be updated in the application update request;

[0016] The differential package feedback module is used to determine a target differential package that matches the current application version, and feed the target differential package back to the client, so as to instruct the client to perform an incremental update on the application to be updated according to the target differential package.

[0017] According to another aspect of the present invention, there is provided an application updating device, which is configured on a client and includes:

[0018] An idle time period acquisition module is used to send the user's historical behavior data to the server and obtain the idle time period fed back by the server; the idle time period is predicted by the server based on the user's historical behavior data;

[0019] A request sending module, used for sending an application update request to the server for the application to be updated during the idle period;

[0020] The incremental update module is used to incrementally update the application to be updated based on the target differential package fed back by the server in response to the application update request.

[0021] According to another aspect of the present invention, an electronic device is provided, the electronic device comprising:

[0022] at least one processor; and

[0023] a memory communicatively connected to the at least one processor; wherein,

[0024] The memory stores a computer program executable by the at least one processor, and the computer program is executed by the at least one processor so that the at least one processor can execute the application updating method described in any embodiment of the present invention.

[0025] According to another aspect of the present invention, a computer-readable storage medium is provided, wherein the computer-readable storage medium stores computer instructions, and the computer instructions are used to enable a processor to implement the application updating method described in any embodiment of the present invention when executed.

[0026] According to another aspect of the present invention, a computer program product is provided, including a computer program, and when the computer program is executed by a processor, the application updating method of any embodiment of the present disclosure is implemented.

[0027] According to the technical solution of the embodiment of the present invention, the server predicts the idle period of the client based on the user historical behavior data sent by the client, and sends the idle period to the client, and then responds to the application update request sent by the client for the application to be updated during the idle period, obtains the current application version of the application to be updated in the application update request, and finally determines the target differential package that matches the current application version, and feeds back the target differential package to the client, so as to instruct the client to perform an incremental update on the application to be updated according to the target differential package. The application can be incrementally updated quickly during the idle period of the client, so as to achieve user-imperceptible update and not affect the normal use of the user.

[0028] It should be understood that the contents described in this section are not intended to identify the key or important features of the embodiments of the present invention, nor are they intended to limit the scope of the present invention. Other features of the present invention will become easily understood through the following description. BRIEF DESCRIPTION OF THE DRAWINGS

[0029] In order to more clearly illustrate the technical solutions in the embodiments of the present invention, the following briefly introduces the drawings required for use in the description of the embodiments. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without creative work.

[0030] Figure 1 is a flowchart of an application updating method provided according to Embodiment 1 of the present invention;

[0031] Figure 2 is a flowchart of an application updating method provided according to Embodiment 2 of the present invention;

[0032] Figure 3 is a schematic diagram of the structure of an application updating device provided according to Embodiment 3 of the present invention;

[0033] Figure 4 is a structural diagram of an application updating device provided according to a fourth embodiment of the present invention;

[0034] Figure 5 It is a structural schematic diagram of an electronic device for implementing the application updating method according to an embodiment of the present invention. DETAILED DESCRIPTION

[0035] In order to enable those skilled in the art to better understand the scheme of the present invention, the technical scheme in the embodiments of the present invention will be clearly and completely described below in conjunction with the drawings in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work should fall within the scope of protection of the present invention.

[0036] It should be noted that the terms "first", "second", etc. in the specification and claims of the present invention and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence. It should be understood that the data used in this way can be interchanged where appropriate, so that the embodiments of the present invention described herein can be implemented in an order other than those illustrated or described herein. In addition, the terms "including" and "having" and any variations thereof are intended to cover non-exclusive inclusions, for example, a process, method, system, product or device that includes a series of steps or units is not necessarily limited to those steps or units that are clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products or devices.

[0037] Embodiment 1

[0038] Figure 1 A flowchart of an application update method is provided for the first embodiment of the present invention. This embodiment is applicable to the case where incremental application updates are performed during the idle period of the client. The method can be executed by an application update device, which can be implemented in the form of hardware and / or software. The application update device can be configured in various general computing devices, for example, a server for application updates. Figure 1 As shown, the method includes:

[0039] S110 . Predict the idle time period of the client according to the user historical behavior data sent by the client, and send the idle time period to the client.

[0040] User historical behavior data refers to the behavior data of users using application software in the client within a period of time. User historical behavior data includes the start time, usage duration, usage frequency, usage habits and operation mode of each application software in the client.

[0041] The idle period is the period when the user does not use any application software in the client. By predicting the idle period of the client, preparations can be made for application updates that are imperceptible to the user.

[0042] After collecting the user's historical behavior data, the client can perform data preprocessing on the historical behavior data, and then encrypt and send the preprocessed user historical behavior data to the server. The server predicts the client's idle time period based on the user's historical behavior data, and sends the idle time period to the client, so that the client can perform application update operations during the idle time period.

[0043] Specifically, the server can train a basic neural network model using the historical behavior data of multiple users using the client application and the corresponding idle time period labels (i.e. manually labeled idle time periods) collected in advance to obtain a user behavior prediction model. Subsequently, the user historical behavior data sent by the client can be input into the user behavior prediction model to obtain the idle time period output by the model.

[0044] Exemplarily, the basic neural network model can be a convolutional neural network (CNN) or a long short-term memory network (LSTM).

[0045] Optionally, based on the user's historical behavior data sent by the client, predict the client's idle time period, including:

[0046] Input the user historical behavior data sent by the client into the user behavior prediction model, and obtain the idle time period of the client output by the user behavior prediction model;

[0047] Among them, the user behavior prediction model is obtained by training the basic long short-term memory network LSTM through the historical behavior data of multiple users.

[0048] In this optional embodiment, a specific method for predicting the idle time period of the client based on the user historical behavior data sent by the client is provided, specifically: the user historical behavior data sent by the client is input into the user behavior prediction model, and the idle time period of the client output by the user behavior prediction model is obtained. The user historical behavior data input into the LSTM model can be a behavior data sequence sorted by time.

[0049] Among them, the user behavior prediction model is obtained by training the basic LSTM through the historical behavior data of multiple users. By using the LSTM model to capture the long-term dependencies in the time series and extract the features in the user's historical behavior data, the accuracy of the acquired features can be improved, thereby improving the prediction accuracy.

[0050] S120 . In response to an application update request sent by the client during an idle period for an application to be updated, obtain a current application version of the application to be updated in the application update request.

[0051] The application update request is sent by the client and is used to request the server for the installation package or differential package of the application to be updated. The application update request includes the identifier of the application to be updated and the current application version of the application to be updated in the client.

[0052] In the embodiment of the present invention, after the client obtains the idle period fed back by the server, it can send an application update request to the server for the application to be updated during the idle period. In response to the application update request sent by the client for the application to be updated during the idle period, the server obtains the current application version of the application to be updated in the application update request, so as to perform application update for the current application version.

[0053] S130 , determining a target differential package that matches the current application version, and feeding back the target differential package to the client, so as to instruct the client to perform an incremental update on the application to be updated according to the target differential package.

[0054] A differential package is an update package generated by the differences between two versions of an application. The differential package is smaller than the complete application installation package.

[0055] In an embodiment of the present invention, after receiving an application update request sent by a client for an application to be updated, the server needs to determine a differential package associated with the current application version of the application to be updated from among multiple pre-stored differential packages. Specifically, a target differential package matching the current application version can be determined from among multiple differential packages associated with the application to be updated based on the current application version contained in the application update request. Finally, the target differential package is fed back to the client to instruct the client to perform an incremental update on the application to be updated based on the target differential package. Compared to updating applications with complete installation packages, updating applications through differential packages can reduce data traffic and network resource consumption, effectively save user application update costs, and increase the probability of user application updates.

[0056] Optionally, before predicting the idleness of the client according to the historical user behavior data sent by the client, the following is further included:

[0057] In response to the latest application version package uploaded by the developer for the application to be updated, determining the difference between the latest application version package and each historical application version package through a difference algorithm;

[0058] When the difference is less than a preset difference threshold, generating a differential package corresponding to each historical application version according to the latest application version package and the historical application version package;

[0059] Determine the target differential package that matches the current application version, including:

[0060] According to the current application version, a target differential package matching the current application version is determined from differential packages corresponding to a plurality of pre-stored historical version packages.

[0061] In this optional embodiment, specific steps are provided before predicting the idleness of the client according to the user historical behavior data sent by the client: the server responds to the latest application version package uploaded by the developer for the application to be updated, and determines the difference between the latest application version package and each historical application version package through the difference (BSDiff) algorithm. Among them, the block size used in the difference algorithm can be determined according to the file content characteristics of the latest application version package and each historical application version package, including file size, type, data distribution characteristics, file update frequency, update amount and update time. Specifically, the above file content characteristics of the latest application version package and each historical application version package can be input into the difference prediction model to obtain the block size output by the difference prediction model, so as to guide the difference algorithm to calculate the difference amount according to the block size. Among them, the block size is an important parameter required by the difference algorithm, and the block size determines the granularity of the algorithm when scanning file differences. The larger the block, the algorithm only needs to compare fewer blocks each time, and the patch generation speed is faster, but the patch file will be larger. Conversely, the smaller the block, the smaller the patch file, but the patch generation speed will be slower. The differential prediction model can predict the optimal dynamic block size based on the latest application version package and each historical application version package, generate a differential package, and achieve a balance between the differential package size and the differential package generation efficiency.

[0062] If the difference between the latest application version package and a certain historical application version package is less than the set difference threshold, then the differential package corresponding to the historical application version package is generated based on the latest application version package and the historical application version package, and the generated differential package is stored on the server side through object storage. The high concurrency characteristics of object storage improve concurrent access performance through data sharding and load balancing technology, and can support more users to download installation packages at the same time; if the difference between the latest application version package and a certain historical application version package is greater than the set difference threshold, then based on the latest application version package and the historical application version package, the differential package corresponding to the historical application version package is not generated, and the incremental update is performed directly. By pre-generating and storing the differential packages corresponding to each historical application version, when the user sends an application update request, no matter which version the current application version of the current client is, the differential package can be quickly determined, which can improve the efficiency of application upgrades.

[0063] Based on the above operation of generating differential packages, a specific method for determining the target differential package that matches the current application version is provided: according to the current application version, the target differential package that matches the current application version is determined in the differential packages corresponding to multiple pre-stored historical version packages. The differential package can be quickly determined through the current application version, thereby achieving efficient and cost-effective application updates.

[0064] It is worth noting that if the difference between the current application version of the client and the latest application version is greater than the set threshold, the corresponding differential package will not be generated. In this case, the full installation package of the latest version will be directly fed back to the user.

[0065] Optionally, after feeding back the target differential packet to the client, the following is further included:

[0066] Get the user feedback data for incremental updates sent by the client;

[0067] Parameters of the user behavior prediction model are adjusted according to the feedback data.

[0068] In this optional embodiment, specific steps are provided after the target differential package is fed back to the client: after the client uses the target differential package to incrementally update the application to be updated, it will obtain user feedback data on the incremental update, for example, the feedback data includes satisfaction with the update time and update frequency, etc. Based on the above feedback data, more user historical behavior data can be collected to optimize the parameters of the user behavior prediction model in a scenario to improve the accuracy of idle time prediction.

[0069] In addition, user feedback data may also include whether to allow the collection of user information and the expected update time period. Through these feedback data, after the user behavior prediction model outputs the idle time period, the idle time period can be further narrowed to obtain an idle time period that better meets user expectations, thereby improving user satisfaction.

[0070] According to the technical solution of the embodiment of the present invention, the server predicts the idle period of the client based on the user historical behavior data sent by the client, and sends the idle period to the client, and then responds to the application update request sent by the client for the application to be updated during the idle period, obtains the current application version of the application to be updated in the application update request, and finally determines the target differential package that matches the current application version, and feeds back the target differential package to the client, so as to instruct the client to perform an incremental update on the application to be updated according to the target differential package. The application can be incrementally updated quickly during the idle period of the client, so as to achieve user-imperceptible update and not affect the normal use of the user.

[0071] The relevant information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data for display, data for analysis, etc.) involved in this disclosure are all information and data authorized by the user or fully authorized by all parties, and the collection, use and processing of relevant data comply with the relevant laws, regulations and standards of the relevant regions.

[0072] Embodiment 2

[0073] Figure 2This is a flowchart of an application update method provided in the second embodiment of the present invention. This embodiment is applicable to the case where incremental application updates are performed during the idle period of the client. The method can be executed by an application update device, which can be implemented in the form of hardware and / or software. The application update device can be configured in various general computing devices, for example, a client for application updates. Figure 2 As shown, the method includes:

[0074] S210, sending the user's historical behavior data to the server, and obtaining the idle time period fed back by the server; the idle time period is predicted by the server based on the user's historical behavior data.

[0075] In the embodiment of the present invention, the client collects user historical behavior data, for example, the user historical behavior data includes the start time, usage duration, usage frequency, usage habits and operation mode of each application software in the client.

[0076] Then, the user's historical behavior data is sent to the client, and the idle time period fed back by the client is obtained, so as to initiate the application update operation during the idle time period to avoid affecting the normal use of the user. Among them, the idle time period is predicted by the server based on the user's historical behavior data, for example, through the user behavior prediction model.

[0077] S220: Send an application update request to the server for the application to be updated during the idle period.

[0078] In the embodiment of the present invention, an application update request is sent to the server for the application to be updated during the idle period. The application update request may include the identifier of the application to be updated and the current application version of the application to be updated on the client. The server may determine the differential package for updating the application to be updated from the current application version to the latest application version based on the current application version of the application to be updated.

[0079] Optionally, during the idle period, an application update request is sent to the server for the application to be updated, including:

[0080] Monitoring the device resources of the client during the idle period; the device resources include at least one of the network environment, device power, processor load, and remaining memory;

[0081] When the device resources meet the application update conditions, an application update request for the application to be updated is sent to the server.

[0082] In this optional embodiment, a specific method for sending an application update request to a server for an application to be updated during an idle period is provided: the device resources of the client are monitored during the idle period, for example, the device resources include the network environment, device power, processor load, and remaining memory. When the device resources meet the application update conditions, an application update request for the application to be updated is sent to the server. Specifically, the application update request can be initiated to the server through the update interface provided by the server. By monitoring the device resources, the stability and success rate of the application update can be improved when the client network conditions are unstable.

[0083] Exemplarily, when the network environment, device power, processor load, and remaining memory all meet the set conditions, it is determined that the device resources meet the application update conditions, and an application update request for the application to be updated is sent to the server.

[0084] S230: Based on the target differential package fed back by the server in response to the application update request, incrementally update the application to be updated.

[0085] In the embodiment of the present invention, after the client obtains the target differential package fed back by the server in response to the application update request, it decompresses the target differential package and performs other processing, and incrementally updates the application to be updated to the minimum application version. By incrementally updating, the network resources consumed when updating the application can be reduced, saving the update cost and improving the application update efficiency.

[0086] The above-mentioned incremental update process of the application to be updated supports interruption operation. If the user uses the client during the incremental update process, the update is suspended. After the client is idle, the application update is continued starting from the interruption position.

[0087] It is worth noting that after receiving the target differential package sent by the server, the client can merge the target differential package and the installation package of the current application version through the incremental update algorithm (BSPatch algorithm), and calculate the message digest algorithm (Message-Digest Algorithm5, referred to as MD5) code of the merged file. And request the MD5 code of the latest version package from the server. If the MD5 code of the merged file is the same as the MD5 code of the latest version package, the incremental update of the application to be updated is performed based on the merged file. On the contrary, if the MD5 values ​​of the two are different, the full installation package is requested from the server again. By comparing the MD5 codes, it can be confirmed whether the differential package completely covers the difference between the latest version package and the current version package in the current client, thereby ensuring the incremental update effect.

[0088] The technical solution of the embodiment of the present invention sends the user's historical behavior data to the server and obtains the idle time period fed back by the server, and then sends an application update request to the server for the application to be updated during the idle time period, and performs an incremental update on the application to be updated based on the target differential package fed back by the server for the application update request. The application can be quickly updated incrementally during the client's idle time period, realizing user-imperceptible updates without affecting the user's normal use.

[0089] Embodiment 3

[0090] Figure 3 This is a schematic diagram of the structure of an application update method and device provided in Embodiment 3 of the present invention, which is configured on the server side. Figure 3 As shown, the device comprises:

[0091] The idle period prediction module 310 is used to predict the idle period of the client according to the user historical behavior data sent by the client, and send the idle period to the client;

[0092] The request response module 320 is used to respond to the application update request sent by the client for the application to be updated during the idle period, and obtain the current application version of the application to be updated in the application update request;

[0093] The differential package feedback module 330 is used to determine a target differential package that matches the current application version, and feed the target differential package back to the client, so as to instruct the client to perform an incremental update on the application to be updated according to the target differential package.

[0094] According to the technical solution of the embodiment of the present invention, the server predicts the idle period of the client based on the user historical behavior data sent by the client, and sends the idle period to the client, and then responds to the application update request sent by the client for the application to be updated during the idle period, obtains the current application version of the application to be updated in the application update request, and finally determines the target differential package that matches the current application version, and feeds back the target differential package to the client, so as to instruct the client to perform an incremental update on the application to be updated according to the target differential package. The application can be incrementally updated quickly during the idle period of the client, so as to achieve user-imperceptible update and not affect the normal use of the user.

[0095] Optionally, the idle period prediction module 310 is specifically configured to:

[0096] Inputting the user historical behavior data sent by the client into the user behavior prediction model, and obtaining the idle time period of the client output by the user behavior prediction model;

[0097] The user behavior prediction model is obtained by training the basic long short-term memory network LSTM through the historical behavior data of multiple users.

[0098] Optionally, the application updating device further includes:

[0099] A difference calculation module, used to determine the difference between the latest application version package and each historical application version package by using a difference algorithm in response to the latest application version package uploaded by the developer for the application to be updated before predicting the idleness of the client according to the historical user behavior data sent by the client;

[0100] A difference package generation module, used for generating a difference package corresponding to each historical application version according to the latest application version package and the historical application version package when the difference amount is less than a preset difference threshold;

[0101] The differential packet feedback module 330 is specifically used for:

[0102] According to the current application version, a target differential package matching the current application version is determined from differential packages corresponding to a plurality of pre-stored historical version packages.

[0103] Optionally, the application updating device further includes:

[0104] A feedback acquisition module, used for acquiring feedback data of the user for the incremental update sent by the client after feeding back the target differential package to the client;

[0105] A parameter adjustment module is used to adjust the parameters of the user behavior prediction model according to the feedback data.

[0106] The application updating device provided in the embodiment of the present invention can execute the application updating method provided in any embodiment of the present invention, and has the corresponding functional modules and beneficial effects of the execution method.

[0107] Embodiment 4

[0108] Figure 4 This is a schematic diagram of the structure of an application update method and device provided in Embodiment 4 of the present invention, which is configured on the client. Figure 4 As shown, the device comprises:

[0109] The idle time period acquisition module 410 is used to send the user's historical behavior data to the server and obtain the idle time period fed back by the server; the idle time period is predicted by the server based on the user's historical behavior data;

[0110] A request sending module 420, configured to send an application update request to a server for the application to be updated during the idle period;

[0111] The incremental update module 430 is used to perform incremental update on the application to be updated based on the target differential package fed back by the server in response to the application update request.

[0112] The technical solution of the embodiment of the present invention sends the user's historical behavior data to the server and obtains the idle time period fed back by the server, and then sends an application update request to the server for the application to be updated during the idle time period, and performs an incremental update on the application to be updated based on the target differential package fed back by the server for the application update request. The application can be quickly updated incrementally during the client's idle time period, realizing user-imperceptible updates without affecting the user's normal use.

[0113] Optionally, the request sending module 420 is specifically configured to:

[0114] Monitoring the device resources of the client during the idle period; the device resources include at least one of a network environment, device power, processor load, and remaining memory;

[0115] When the device resources meet the application update conditions, an application update request for the application to be updated is sent to the server.

[0116] The application updating device provided in the embodiment of the present invention can execute the application updating method provided in any embodiment of the present invention, and has the corresponding functional modules and beneficial effects of the execution method.

[0117] In the technical solution of the present invention, the collected information is information and data authorized by the user or fully authorized by all parties, and the collection, storage, use, processing, transmission, provision, disclosure and application of relevant data comply with the relevant laws, regulations and standards of relevant countries and regions, take necessary confidentiality measures, do not violate public order and good morals, and provide corresponding operation entrances for users to choose to authorize or refuse.

[0118] Embodiment 5

[0119] According to an embodiment of the present invention, the present invention also provides an electronic device, a readable storage medium and a computer program product.

[0120] Figure 5 A schematic diagram of the structure of an electronic device 10 that can be used to implement an embodiment of the present invention is shown. The electronic device is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, applicators, blade applicators, mainframe computers, and other suitable computers. The electronic device can also represent various forms of mobile devices, such as personal digital processing, cellular phones, smart phones, wearable devices (such as helmets, glasses, watches, etc.) and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely examples and are not intended to limit the implementation of the present invention described and / or required herein.

[0121] like Figure 5 As shown, the electronic device 10 includes at least one processor 11, and a memory connected to the at least one processor 11, such as a read-only memory (ROM) 12, a random access memory (RAM) 13, etc., wherein the memory stores a computer program that can be executed by at least one processor, and the processor 11 can perform various appropriate actions and processes according to the computer program stored in the read-only memory (ROM) 12 or the computer program loaded from the storage unit 18 to the random access memory (RAM) 13. In the RAM 13, various programs and data required for the operation of the electronic device 10 can also be stored. The processor 11, the ROM 12, and the RAM 13 are connected to each other through a bus 14. An input / output (I / O) interface 15 is also connected to the bus 14.

[0122] A number of components in the electronic device 10 are connected to the I / O interface 15, including: an input unit 16, such as a keyboard, a mouse, etc.; an output unit 17, such as various types of displays, speakers, etc.; a storage unit 18, such as a disk, an optical disk, etc.; and a communication unit 19, such as a network card, a modem, a wireless communication transceiver, etc. The communication unit 19 allows the electronic device 10 to exchange information / data with other devices through a computer network such as the Internet and / or various telecommunication networks.

[0123] The processor 11 may be a variety of general and / or special processing components with processing and computing capabilities. Some examples of the processor 11 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various special artificial intelligence (AI) computing chips, various processors running machine learning model algorithms, a digital signal processor (DSP), and any appropriate processor, controller, microcontroller, etc. The processor 11 executes the various methods and processes described above, such as an application update method.

[0124] In some embodiments, the application update method may be implemented as a computer program, which is tangibly contained in a computer-readable storage medium, such as a storage unit 18. In some embodiments, part or all of the computer program may be loaded and / or installed on the electronic device 10 via the ROM 12 and / or the communication unit 19. When the computer program is loaded into the RAM 13 and executed by the processor 11, one or more steps of the application update method described above may be performed. Alternatively, in other embodiments, the processor 11 may be configured to perform the application update method in any other appropriate manner (e.g., by means of firmware).

[0125] Various implementations of the systems and techniques described above herein can be implemented in digital electronic circuit systems, integrated circuit systems, field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), systems on chips (SOCs), complex programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various implementations can include: being implemented in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which can be a special purpose or general purpose programmable processor that can receive data and instructions from a storage system, at least one input device, and at least one output device, and transmit data and instructions to the storage system, the at least one input device, and the at least one output device.

[0126] Computer programs for implementing the methods of the present invention may be written in any combination of one or more programming languages. These computer programs may be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing device, so that when the computer program is executed by the processor, the functions / operations specified in the flow chart and / or block diagram are implemented. The computer program may be executed entirely on the machine, partially on the machine, partially on the machine and partially on a remote machine as a stand-alone software package, or entirely on a remote machine or application.

[0127] In the context of the present invention, a computer-readable storage medium may be a tangible medium that may contain or store a computer program for use by or in combination with an instruction execution system, device or equipment. A computer-readable storage medium may include, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, devices or equipment, or any suitable combination of the foregoing. Alternatively, a computer-readable storage medium may be a machine-readable signal medium. A more specific example of a machine-readable storage medium may include an electrical connection based on one or more lines, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.

[0128] To provide interaction with a user, the systems and techniques described herein may be implemented on an electronic device having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user; and a keyboard and a pointing device (e.g., a mouse or trackball) through which the user can provide input to the electronic device. Other types of devices may also be used to provide interaction with the user; for example, the feedback provided to the user may be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user may be received in any form (including acoustic input, voice input, or tactile input).

[0129] The systems and techniques described herein may be implemented in a computing system that includes a backend component (e.g., as a data applier), or a computing system that includes a middleware component (e.g., an application applier), or a computing system that includes a frontend component (e.g., a user computer with a graphical user interface or a web browser through which a user can interact with an implementation of the systems and techniques described herein), or a computing system that includes any combination of such backend components, middleware components, or frontend components. The components of the system may be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include: a local area network (LAN), a wide area network (WAN), a blockchain network, and the Internet.

[0130] A computing system may include a client and an application server. The client and the application server are generally remote from each other and usually interact through a communication network. The relationship between the client and the application server is generated by computer programs running on corresponding computers and having a client-application server relationship with each other. The application server may be a cloud application server, also known as a cloud computing application server or a cloud host, which is a host product in a cloud computing application system to solve the defects of difficult management and weak business scalability in traditional physical hosts and VPS applications.

[0131] It should be understood that the various forms of processes shown above can be used to reorder, add or delete steps. For example, the steps described in the present invention can be executed in parallel, sequentially or in different orders, as long as the desired results of the technical solution of the present invention can be achieved, and this document does not limit this.

[0132] The above specific implementations do not constitute a limitation on the protection scope of the present invention. It should be understood by those skilled in the art that various modifications, combinations, sub-combinations and substitutions can be made according to design requirements and other factors. Any modification, equivalent substitution and improvement made within the spirit and principle of the present invention should be included in the protection scope of the present invention.

Claims

1. An application update method, characterized in that: Applied to the server, including: Predicting the idle time period of the client according to the user historical behavior data sent by the client, and sending the idle time period to the client; In response to an application update request sent by the client during the idle period for the application to be updated, obtaining a current application version of the application to be updated in the application update request; A target differential package matching the current application version is determined, and the target differential package is fed back to the client to instruct the client to perform an incremental update on the application to be updated according to the target differential package.

2. The method according to claim 1, characterized in that Based on the historical user behavior data sent by the client, predict the client's idle time period, including: Inputting the user historical behavior data sent by the client into the user behavior prediction model, and obtaining the idle time period of the client output by the user behavior prediction model; The user behavior prediction model is obtained by training the basic long short-term memory network LSTM through the historical behavior data of multiple users.

3. The method according to claim 1, characterized in that Before predicting the client's idle time based on the user's historical behavior data sent by the client, it also includes: In response to the latest application version package uploaded by the developer for the application to be updated, determining the difference between the latest application version package and each historical application version package through a difference algorithm; When the difference is less than a preset difference threshold, generating a differential package corresponding to each historical application version according to the latest application version package and the historical application version package; Determining a target differential package that matches the current application version includes: According to the current application version, a target differential package matching the current application version is determined from differential packages corresponding to a plurality of pre-stored historical version packages.

4. The method according to claim 2, characterized in that: After feeding back the target differential packet to the client, the method further includes: Get the user feedback data for incremental updates sent by the client; Parameters of the user behavior prediction model are adjusted according to the feedback data.

5. An application update method, characterized in that: Applied to the client, including: Send the user's historical behavior data to the server, and obtain the idle time period fed back by the server; the idle time period is predicted by the server based on the user's historical behavior data; Sending an application update request to the server for the application to be updated during the idle period; Based on the target differential package fed back by the server in response to the application update request, an incremental update is performed on the application to be updated.

6. The method according to claim 5, characterized in that Sending an application update request to the server for the application to be updated during the idle period includes: Monitoring the device resources of the client during the idle period; the device resources include at least one of a network environment, device power, processor load, and remaining memory; When the device resources meet the application update conditions, an application update request for the application to be updated is sent to the server.

7. An application updating device, characterized in that: Configuration on the server side includes: An idle period prediction module, used to predict the idle period of the client according to the user historical behavior data sent by the client, and send the idle period to the client; A request response module, configured to respond to an application update request sent by the client during the idle period for the application to be updated, and obtain a current application version of the application to be updated in the application update request; The differential package feedback module is used to determine a target differential package that matches the current application version, and feed the target differential package back to the client, so as to instruct the client to perform an incremental update on the application to be updated according to the target differential package.

8. An application updating device, characterized in that: Configured on the client, including: An idle time period acquisition module is used to send the user's historical behavior data to the server and obtain the idle time period fed back by the server; the idle time period is predicted by the server based on the user's historical behavior data; A request sending module, used for sending an application update request to the server for the application to be updated during the idle period; The incremental update module is used to incrementally update the application to be updated based on the target differential package fed back by the server in response to the application update request.

9. An electronic device, characterized in that: The electronic device comprises: at least one processor; and a memory communicatively connected to the at least one processor; wherein, The memory stores a computer program executable by the at least one processor, and the computer program is executed by the at least one processor so that the at least one processor can execute the application updating method according to any one of claims 1 to 6.

10. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores computer instructions, and the computer instructions are used to enable a processor to implement the application updating method according to any one of claims 1 to 6 when executed.