Software updating method and device, storage medium and electronic equipment
Through user-generated update instructions and download links, the client obtains the update package from the server without being connected to the Internet, solving the problem of the application being unable to update automatically and realizing convenient update processing.
Patent Information
- Application Number
- CN202410309638.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-03-18
- Publication Date
- 2025-09-19
AI Technical Summary
In the prior art, applications cannot be automatically updated when not connected to the network, resulting in inconvenient update processing.
Through the update instruction generated by the user, the client obtains the download interface and update request parameters, generates an update download link, and instructs the server to send the update package that meets the update instruction. The user performs the update process when not connected to the Internet.
This makes it possible to easily update the client even when the device is offline, thus improving the convenience of the update process.
Smart Images

Figure CN120669999A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of computer technology, and in particular to a software updating method, device, storage medium, and electronic device. Background Art
[0002] After the application is developed, as the application data, user needs, etc. change, the developer can use an update package to update the application. In the existing technology, the application can automatically obtain the update package from the server for update processing when it obtains user authorization and is connected to the network. However, when the application is not connected to the network or cannot be connected to the network, the application cannot be automatically updated. It is necessary to provide a method that can conveniently update the software even when there is no network connection. Summary of the Invention
[0003] The embodiments of the present application provide a software update method, apparatus, storage medium, and electronic device. The method can generate a software update package that instructs a server to send the update package requested by the user based on the user's update instruction, thereby facilitating the user to update the client using the update package. The method also enables the client to update the software even when the client is offline, thereby improving the convenience of the update process. The technical solution is as follows:
[0004] In a first aspect, an embodiment of the present application provides a software update method, applied to a client, the method comprising:
[0005] Receive an update instruction from a user for the client, and obtain a download interface for the client update package;
[0006] generating an update request parameter of the client based on the update instruction;
[0007] An update download link is generated based on the download interface and the update request parameters, wherein the update download link is used to instruct the user to download the client update package from the server. The download interface is used to access the server, and the update request parameters are used to instruct the server to obtain the update package that meets the update instructions.
[0008] In a second aspect, an embodiment of the present application provides a software update method, applied to a server, the method comprising:
[0009] Parsing the update download link uploaded by the user to obtain update request parameters in the update download link, where the update request parameters are generated based on the update instruction issued by the user to the client;
[0010] Acquire an update package that satisfies the update instruction based on the update request parameters;
[0011] The update package is sent to the user, so that the user uses the update package to update the client.
[0012] In a third aspect, an embodiment of the present application provides a software updating device, applied to a client, comprising:
[0013] An interface acquisition module, configured to receive an update instruction from a user for the client and obtain a download interface for the client update package;
[0014] A request parameter acquisition module, configured to generate update request parameters of the client based on the update instruction;
[0015] A download link generation module is used to generate an update download link based on the download interface and the update request parameters, wherein the update download link is used to instruct the user to download the client update package from the server, the download interface is used to access the server, and the update request parameters are used to instruct the server to obtain the update package that meets the update instructions.
[0016] In a fourth aspect, an embodiment of the present application provides a software updating device, applied to a server, the device comprising:
[0017] A parsing module, configured to parse the update download link uploaded by the user and obtain update request parameters in the update download link, wherein the update request parameters are generated based on the update instruction issued by the user to the client;
[0018] An update package acquisition module, configured to acquire an update package that satisfies the update instruction based on the update request parameters;
[0019] The update package sending module is used to send the update package to the user, so that the user uses the update package to update the client.
[0020] In a fifth aspect, an embodiment of the present application provides a computer storage medium, which stores a plurality of instructions, and the instructions are suitable for being loaded by a processor and executing the above-mentioned method steps.
[0021] In a sixth aspect, an embodiment of the present application provides an electronic device, which may include: a processor and a memory; wherein the memory stores a computer program, and the computer program is suitable for being loaded by the processor and executing the above-mentioned method steps.
[0022] In one or more embodiments of the present application, a client receives an update instruction from a user for the client, obtains a download interface for the client update package, generates an update request parameter for the client based on the update instruction, and generates an update download link based on the download interface and the update request parameter. The server parses the update download link uploaded by the user, obtains an update package that meets the update instruction based on the update request parameter, and sends the update package to the user so that the user uses the update package to update the client. The user's update instruction can instruct the server to send the update package required by the user, thereby facilitating the user to use the update package to update the client. This allows the update process to be implemented when the client is not connected to the Internet, thereby improving the convenience of the update process. BRIEF DESCRIPTION OF THE DRAWINGS
[0023] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the following briefly introduces the drawings required for use in the embodiments or the description of the prior art. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without any creative work.
[0024] Figure 1 This is an example schematic diagram of a user updating a client provided in an embodiment of the present application;
[0025] Figure 2 This is a flowchart of a software update method provided in an embodiment of the present application;
[0026] Figure 3 This is a flowchart of a software update method provided in an embodiment of the present application;
[0027] Figure 4 This is an example schematic diagram of an update instruction generation provided by an embodiment of the present application;
[0028] Figure 5 This is a flowchart of a software update method provided in an embodiment of the present application;
[0029] Figure 6 This is a flowchart of a software update method provided in an embodiment of the present application;
[0030] Figure 7 This is a flowchart of a software update method provided in an embodiment of the present application;
[0031] Figure 8 This is a flowchart of a software update method provided in an embodiment of the present application;
[0032] Figure 9This is a structural diagram of a software updating device provided in an embodiment of the present application;
[0033] Figure 10 This is a structural diagram of a software updating device provided in an embodiment of the present application;
[0034] Figure 11 This is a structural diagram of a software updating device provided in an embodiment of the present application;
[0035] Figure 12 This is a structural diagram of a software updating device provided in an embodiment of the present application;
[0036] Figure 13 This is a schematic diagram of the structure of an electronic device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0037] The following will be combined with the drawings in the embodiments of this application to clearly and completely describe the technical solutions in the embodiments of this application. Obviously, the embodiments described are only part of the embodiments of this application, not all of the embodiments. Based on the embodiments in this application, all other embodiments obtained by ordinary technicians in this field without making creative efforts are within the scope of protection of this application.
[0038] After the application is developed, it can be installed by the user on his own terminal device. The terminal device or the application installed on the user's terminal device can be called a client, that is, the client can be an application or terminal device running in a client-server mode, pointing to a terminal device or application that sends requests to the server and receives services or resources. Among them, the client can be a terminal device such as a personal computer, mobile phone, tablet computer, or an application such as a browser, email client, instant messaging application, etc. The server can be a cloud server or a server cluster. The software update method provided in the embodiment of the present application can be implemented by a computer program and can run on a software update device based on the von Neumann system. The computer program can be integrated in the application or run as an independent tool application. The software update device can be a client and a server, or it can be a module or application in the client and the server for implementing the software update method.
[0039] An update package refers to an update file for an application, which can be used to fix vulnerabilities, improve functions, or add new features. Developers can publish update packages on the server, and users can download and install update packages to update the client, thereby improving the stability, security, and performance of the client. The update package can be a complete new version or a series of patch files. For example, when the client is a security protection software such as a firewall or antivirus software, the update package can be a complete new version of the application corresponding to the client, or it can be a patch file that updates the virus database and identification database. In the existing technology, when the client is connected to the network and authorized by the user, the update package can be automatically obtained from the server for update processing, and only one update package can be downloaded from the server and the system version can be updated once each time. If there are multiple update packages on the server that the client has not yet obtained, the client needs to download the update package multiple times and update the system version multiple times. Some clients may be in a state where they are not connected to the network. For example, security protection software does not connect to the network to ensure the security of the terminal device. It is understandable that a client that is not connected to the network cannot automatically download the update package from the server for update processing. In this case, the user needs to update the client. Please refer to Figure 1 , an example schematic diagram of a user updating a client is provided for an embodiment of the present application. When the user needs to update the client, an update instruction can be sent to the client. For example, the user can send an update instruction to the client on the display interface of the client. The display interface of the client is the interface displayed by the client on the terminal device screen, which is used to show the user the application-related services. The update instruction can be a touch instruction, a click instruction, or a voice instruction, etc., and the update instruction can include the user's expectations for the client update process. For example, it can include the updated system version number of the client. The updated system version number can be the system version number that the user expects the client to reach after the update process. It can be understood that each update package released by the developer corresponds to a system version number of the client. The system version number can be used to identify different versions of the application. For example, the current version number of the client is v3.5.9, and then the developer can release an update package v3.5.10. The user uses the update package v3.5.10 to update the client, which can update the client version number from v3.5.9 to v3.5.10.
[0040] After receiving the user's update instruction, the client can generate an update download link. The update download link is used to instruct the user to download the update package from the server. The update download link can be the address of a file stored on the network. The user can use the terminal device corresponding to the client, or any other terminal device connected to the network, to access the server through the update download link and download the update package required for updating the client from the server. The update download link may include a download interface and update request parameters. The download interface can be the network address of the server, which is used to access the server. The update request parameters can be generated based on the user's update instruction and are used to instruct the server to obtain the update package that meets the user's update instruction. When the user accesses the server through the update download link, the server can obtain the update request parameters in the update download link and obtain the update package that meets the update instruction, and then send the update package to the user. The user can upload the update package downloaded from the server in the client, thereby realizing the update processing for the client.
[0041] The software update method provided by this application is described in detail below with reference to specific embodiments.
[0042] See Figure 2 , provides a flowchart of a software update method according to an embodiment of the present application. Figure 2 As shown, the embodiment of the present application describes the method in combination with the client side and the server side, and the method may include the following steps S101-S106.
[0043] S101: The client receives an update instruction from a user for the client and obtains a download interface for a client update package.
[0044] Specifically, if the client is not the latest version of the application, the user can send an update instruction to the client. For example, the user can send the update instruction to the client on the client's display interface. The update instruction can be a touch instruction, a click instruction, or a voice instruction. The client can display a "Download Link Obtain" function button on the display interface, and the user can click this function button to send the update instruction to the client. After receiving the user's update instruction for the client, the client can obtain a download interface for the client update package. The download interface can be the network address of a server corresponding to the client, used to access the server to obtain the update package. The download interface can be stored in the client's local storage.
[0045] S102: The client generates update request parameters of the client based on the update instruction.
[0046] Specifically, the client can generate the client's update request parameters based on the update instruction. It is understandable that the update instruction can include the user's expectations for the client update process, such as the client's updated system version number, etc. The updated system version number can be the system version number that the user expects the client to reach after the update process. Since the update request parameters are generated based on the user's update instruction, they can be used to instruct the server to obtain the update package that meets the user's update instruction. For example, the update request parameters can include the client's current system version number and the number of update packages. The current system version number is the client's current system version number, and the number of update packages is the number of update packages that is the difference between the current system version number and the updated system version number. That is, after the client uses the update package with the same number of update packages for the update process, the current system version number can be updated to the updated system version number, thereby meeting the user's update instruction.
[0047] S103: The client generates an update download link based on the download interface and update request parameters.
[0048] Specifically, the client can combine the download interface and the update request parameters to generate an update download link, which is used to instruct the user to download the client update package from the server. The client can display the update download link on the client's display interface, or copy the update download link to the clipboard of the user's terminal device, so that the user can copy the download link from the clipboard and paste it into the search bar of the terminal device's browser, thereby using the browser to access the server and download the update package. When the user accesses the server through the update download link, the server can obtain the update request parameters in the update download link and obtain the update package that meets the update instructions, and then send the update package to the user. The user can upload the update package downloaded from the server in the client, thereby implementing update processing for the client.
[0049] It is understandable that the user can directly use the terminal device where the client is located to access the server to download the update package, or use other terminal devices to access the server to download the update package, and then upload the update package to the client for update processing.
[0050] S104: The server parses the update download link uploaded by the user to obtain update request parameters in the update download link.
[0051] Specifically, when a user accesses the server based on the update download link, the user also uploads the update download link to the server. The server can parse the update download link uploaded by the user and obtain the update request parameter from the update download link.
[0052] S105: The server obtains an update package that meets the update instruction based on the update request parameters.
[0053] Specifically, since the update request parameters are generated based on the user's update instructions, the update request parameters can instruct the server to obtain an update package that meets the update instructions, so that the client, after the update process is performed using the update package, meets the user's expectations. For example, the update request parameters can include the client's current system version number and the number of update packages. Therefore, the server can obtain a single update package that meets the number of update packages after the current system version number, where the single update package can be an update package that can update the system version number of the server once. Then, the single update package is merged to obtain an update package that meets the update process. It can also achieve a one-time update of the client to the updated system version number, avoiding multiple single update packages and multiple update processes, thereby improving the convenience of software updates.
[0054] S106: The server sends the update package to the user, so that the user uses the update package to update the client.
[0055] Specifically, after determining the update package, the server may send the update package to the user, so that the user uploads the update package to the client and uses the update package to update the client.
[0056] In an embodiment of the present application, a client receives an update instruction from a user for the client, obtains a download interface for the client update package, generates an update request parameter for the client based on the update instruction, and generates an update download link based on the download interface and the update request parameter. The server parses the update download link uploaded by the user, obtains an update package that meets the update instruction based on the update request parameter, and sends the update package to the user so that the user uses the update package to update the client. The user's update instruction can instruct the server to send the update package required by the user, thereby facilitating the user to use the update package to update the client. This allows the update process to be implemented when the client is not connected to the Internet, thereby improving the convenience of the update process.
[0057] See Figure 3 , provides a flowchart of a software update method according to an embodiment of the present application. Figure 3 As shown, the embodiment of the present application describes the method in combination with the client side and the server side, and the method may include the following steps S201-S212.
[0058] S201: The client receives an update instruction from a user for the client and obtains a download interface for a client update package.
[0059] Specifically, if the client is not the latest version of the application, the user can send an update instruction to the client. For example, the user can send the update instruction to the client on the client's display interface. The update instruction can be a touch instruction, a click instruction, or a voice instruction. The client can display a "Download Link Obtain" function button on the display interface, and the user can click this function button to send the update instruction to the client. After receiving the user's update instruction for the client, the client can obtain a download interface for the client update package. The download interface can be the network address of a server corresponding to the client, used to access the server to obtain the update package. The download interface can be stored in the client's local storage.
[0060] S202: The client obtains the system identifier of the client and adds the system identifier to the update request parameters of the client.
[0061] Specifically, after receiving the update instruction, the client can obtain the client's system identifier. The system identifier can be the client's or user's identity identifier, which is used to instruct the server to identify the client or user's identity. The identity identifier can be the user's account in the application, or the International Mobile Equipment Identity (IMEI) code of the terminal device where the client is located, etc. The client can then add the system identifier to the client's update request parameters.
[0062] For example, the update request parameters may include "license_id=G4LY4-D2D8K-W2AJ8-PW2TF-QPVAV" to indicate the client's system identifier, which facilitates the server to obtain the public key corresponding to the user's private key based on the system identifier.
[0063] S203, the client determines the current system version number of the client, determines the updated system version number of the client indicated by the update instruction, determines the number of update packages based on the updated system version number and the current system version number, and adds the current system version number and the number of update packages to the client's update request parameters.
[0064] Specifically, the update instruction may include the user's expectations for the client update process, for example, it may include the client's updated system version number, etc. The updated system version number may be the system version number that the user expects the client to achieve after the update process. The client may first determine the client's current system version number, and then determine the client's updated system version number indicated in the update instruction, and then determine the number of update packages based on the updated system version number and the current system version number. The number of update packages is the number of update packages that is the difference between the current system version number and the updated system version number. That is, after the client uses the update packages with the number of update packages for the update process, the current system version number can be updated to the updated system version number, thereby satisfying the user's update instruction. For example, if the current system version number is v3.5.9 and the updated system version number is v3.5.12, the number of update packages can be 3, namely, update packages that update the client's system version number from v3.5.9 to v3.5.10, update the system version number from v3.5.10 to v3.5.11, and update the system version number v3.5.11 to v3.5.12.
[0065] After the client obtains the number of update packages, it can add the current system version number and the number of update packages to the client's update request parameters, so that the server can obtain the update package for client update processing based on the current system version number and the number of update packages in the update request parameters.
[0066] Optionally, the user may not clearly know the current system version number and the updated system version number of the client, and may not be able to accurately give the updated system version number in the update instruction. The user may also directly include the number of update packages in the update instruction. For example, the update instruction may include the number of system version number updates expected by the user, or the number of update packages of a single update package obtained from the server, where a single update package may be an update package that can update the system version number of the server once. For example, the client may display a "Download Link Obtain" function button on the display interface. After the user clicks the function button, the client may display an update instruction generation interface on the display interface. The user may select the desired updated system version number on the update instruction generation interface, or may select the number of system version number updates or the number of update packages that the user wishes to obtain for a single update package on the update instruction generation interface. The client may generate an update instruction based on the updated system version number, the number of system version number updates, or the number of update packages selected by the user on the update instruction generation interface.
[0067] For example, the update request parameters may include "current_version=official-v3.5.9" and "max_combine_number=3", where "current_version=official-v3.5.9" is used to indicate that the current system version of the client is v3.5.9, and "max_combine_number=3" indicates that the number of update packages that the user expects to obtain in a single update package in the update instruction is 3. When the number of update packages is 0, that is, "max_combine_number=0" in the update request parameter, it may indicate that the user in the update instruction expects the client to upgrade directly to the latest system version, and may instruct the server to obtain all single update packages after the current system version.
[0068] Optionally, the client can also obtain the generation timestamp corresponding to the update instruction. The generation timestamp is the timestamp when the client receives the update instruction, and the generation timestamp can also be added to the client's update request parameters. The generation timestamp can be used to instruct the server to determine whether the update download link meets the timeliness condition. It is understandable that if the update download link meets the timeliness condition, the server can send the update package to the user. If the update download link does not meet the timeliness condition, it means that the update download link is no longer time-effective, and the server does not need to send the update package to the user. The timeliness condition can be the initial setting of the client or server, or it can be set by the user or relevant staff. For example, the generation timestamp can be within 24 hours. For example, the update request parameters can include "timestamp=1702977848716" to indicate the generation timestamp.
[0069] It is understandable that the update package can be a complete new version of the application corresponding to the client, or it can be a patch file for updating the virus database or identification database. Therefore, the update instruction can also include the update type that the user expects to be updated for the client. The update type can include whether to perform a complete update process on the client or to use a patch file to update some modules or functions in the client. After obtaining the update type, the client can add the update type to the client's update request parameters. For example, the update request parameters can include "update_component=content" to indicate that the update type is to use a patch file to update some modules or functions in the client. It is understandable that if the update request parameters include "update_component=engine", it means that the update type is to perform a complete update process on the client.
[0070] Please also see Figure 4, provides an example diagram of update instruction generation for the embodiment of the present application. The user can open the client update interface in the client's display interface. The client can display the system update tab and the patch update tab in the client update interface. If the user generates an update instruction in the system update tab, the update type in the update instruction can be a complete update process for the client. If the user generates an update instruction in the patch update tab, the update type can be an update process for some modules or functions in the client using a patch file. Figure 4 As shown, the user selects the system update tab to operate, and the client can display the current system version number and the latest system version number in the cloud. The latest system version in the cloud is the latest system version in the server, which means that the client can be updated to the cloud-updated system version at most, so as to facilitate the selection of the updated system version number or the number of update packages. The user can click the "Download Link to Get" function button. After the client detects that the "Download Link to Get" function button has been clicked, it can display the update instruction generation interface on the display interface. The user can select the number of update packages or the update system version number on the update instruction generation interface. It is understandable that the update instruction generation interface can only display the selection of the number of update packages. For example, the user can select the number of update packages as 3 on the update instruction generation interface. The update instruction generation interface can also only display the selection of the updated system version number. For example, the user can select the update system version number as V3.5.12 on the update instruction generation interface. Similarly, the update instruction generation interface can also simultaneously display the selection of the number of update packages and the selection of the update system version number. If the user selects the number of update packages, the update system version number can change with the change of the number of update packages. For example, if the user selects the number of update packages as 3, the update system version number can automatically change to V3.5.12. If the user selects the update system version number, the number of update packages can change with the change of the update system version number. For example, if the user selects the update system version number as V3.5.12, the number of update packages can automatically change to 3.
[0071] S204: The client obtains the user private key corresponding to the client, and uses the user private key to sign the update request parameters to obtain parameter signature data.
[0072] Specifically, in order to ensure that the update download link has not been changed during the data transmission process, the client can obtain the user private key corresponding to the client. It can be understood that the user private key is stored in the client, and the public key corresponding to the user private key is stored in the server. The user private key is used by the client to sign the update request parameters to obtain parameter signature data, and the public key is used by the server to verify the parameter signature data, so as to determine whether the update request parameters have been changed.
[0073] Optionally, since the update request parameters may include a system identifier, and the system identifier may correspond to a public key, the server may obtain the system identifier from the update request parameters, and then find the corresponding public key based on the system identifier, thereby using the public key to verify the parameter signature data.
[0074] S205: The client calculates the integrity check code of the update request parameters and the parameter signature data.
[0075] Specifically, in order to ensure that the data in the update download link is not missed during the transmission process and to ensure the integrity of the update download link, the client can calculate an integrity check code for the update request parameters and the parameter signature data. The integrity check code is used to ensure the integrity of the data. For example, the integrity check code can be Message-Digest Algorithm 5 (MD5). MD5 is a commonly used hash function used to convert input data of any length into an output value of a fixed length, which can be a 128-bit hash value.
[0076] S206: The client generates an update download link based on the download interface, update request parameters, parameter signature data, and integrity check code.
[0077] Specifically, the client can generate an update download link based on the download interface, update request parameters, parameter signature data and integrity check code. For example, the client can concatenate the download interface, update request parameters, parameter signature data and integrity check code to generate an update download link.
[0078] For example, the download interface can be "https: / / au.aes.360.net / offline_download", and the update request parameter can be "current_version=official-v3.5.9&license_id=G4LY4-D2D8K-W2AJ8-PW2TF-QPVAV&update_component=content×tamp=1702977848716&max_combine_number=0", where "current_version=official-v3.5.9" represents the current system version number of the client, "license_id=G4LY4-D2D8K-W2AJ8-PW2TF-QPVAV" represents the system identifier of the client, "update_component=content" represents the update type in the update instruction, "timestamp=1702977848716" represents the generation timestamp of the update instruction, and "max_combine_number=0" represents the update instruction. r=3" indicates the number of update packages in the update instruction. The client can use the user's private key to sign the update request parameter and obtain the parameter signature data "signature=wJ5q4DchHzNkRKPeam9dwaLXxWqmhVsExQwAv9z774affg2mqgpMpdyeb0xK98KYVgJW7P6CVVgjrdQG1lRth3xqZEhsPlCUHS4xY07weAw2q5h9sz3A9sgHu As0ENAkjRlJGx7jGQI8yE1U527vyHKu76PK0t6GdWTTu9sLgcRwYL6v1Gdy4TurGkw++L67uacd0eusWc0YnGu8bJQyK2srPH1DV0wWTpZlUDlJL8garFzhG1RoPZ9ocCKnQWIptOpojLj4E37iYu1OYwNFszM0vUQKk6dMSCMm4C1qi0gSt08pgcg7u0ixrcRySHz20EwlIStxWG2DwRFhRs4rQw==”, then the client can calculate the integrity check code for the update request parameters and parameter signature data, “aesqih oobas=061e67746c221f16841de3f22f6da1f6", and then the download interface, update request parameters, parameter signature data and integrity check code can be spliced to generate the update download link "https: / / au.aes.360.net / offline_download? cu rrent_version=official-v3.5.9&license_id=G4LY4-D2D8K-W2AJ8-PW2TF-QPVAV&update_comp onent=content×tamp=1702977848716&max_combine_number=0&signature=wJ5q4DchHzN kRKPeam9dwaLXxWqmhVsExQwAv9z774affg2mqgpMpdyeb0xK98KYVgJW7P6CVVgjrdQG1lRth3xqZEhsPlCUHS4xY07weAw2q5h9sz3A9sg HuAs0ENAkjRlJGx7jGQI8yE1U527vyHKu76PK0t6GdWTTu9sLgcRwYL6v1Gdy4TurGkw++L67uacd0eusWc0YnGu8bJQyK2srPH1DV0wWTpZl UDlJL8garFzhG1RoPZ9ocCKnQWIptOpojLj4E37iYu1OYwNFszM0vUQKk6dMSCMm4C1qi0gSt08pgcg7u0 ixrcRySHz20EwlIStxWG2DwRFhRs4rQw==&aesqihoobas=061e67746c221f16841de3f22f6da1f6”.
[0079] S207: The server parses the update download link uploaded by the user and obtains update request parameters in the update download link.
[0080] Specifically, when the user accesses the server based on the update download link, the user will also upload the update download link to the server. The server can parse the update download link uploaded by the user to facilitate obtaining the update request parameters, parameter signature data and integrity check code from the update download link.
[0081] Optionally, the server obtains the update request parameters from the update download link and can also obtain the system identifier from the update request parameters. The public keys corresponding to all clients can be saved in the server and stored in association with the system identifier, so the server can obtain the public key corresponding to the client's user private key based on the system identifier.
[0082] S208: The server obtains the integrity check code in the update download link, and uses the integrity check code to perform integrity check processing on the update download link.
[0083] Specifically, the server can obtain the integrity check code in the update download link, and then use the integrity check code to perform integrity verification on the update download link. Since the integrity check code is calculated based on the update request parameters and parameter signature data, the server can calculate the integrity check code for the update request parameters and parameter signature data, and then compare whether the integrity check code calculated by the server is the same as the integrity check code in the update download link. If they are the same, the update download link has passed the integrity verification, that is, the data in the update download link is complete and there is no omission. On the contrary, if they are not the same, the update download link has not passed the integrity verification, and the server does not need to send the update package to the user.
[0084] Optionally, if the update download link fails the integrity check, the server may send an integrity check failure message to the user to prompt the user that the update download link data is incomplete. The user may then obtain the update download link from the client again and re-upload it to the server.
[0085] S209: If the update download link passes the integrity check, the server obtains the parameter signature data in the update download link and verifies the parameter signature data using the public key.
[0086] Specifically, if the update download link passes the integrity check, the server can proceed to obtain the parameter signature from the update download link and then verify the parameter signature data using the public key. For example, the server can use the public key to decrypt the parameter signature data to obtain decrypted data, and then compare the decrypted data with the update request parameters to see if they are identical. If they are identical, the parameter signature data has passed the verification process, indicating that the update request parameters are complete and have not been tampered with. Conversely, if they are different, the parameter signature data has failed the verification process, and the server does not need to send the update package to the user.
[0087] Optionally, if the parameter signature data fails the verification process, the server can send a signature verification failure message to the user to prompt the user that the update request parameters are incomplete or have been tampered with. The user can then obtain the update download link from the client again and re-upload it to the server.
[0088] S210, if the parameter signature data passes the verification process, the server obtains the current system version number and the number of update packages in the update request parameters, obtains a single update package that is after the current system version number and meets the number of update packages, merges the single update packages with the number of update packages, and obtains the update package that meets the update instruction.
[0089] Specifically, if the parameter signature data passes the verification process, the server can obtain the current system version number and the number of update packages in the update request parameters, thereby obtaining a single update package that is after the current system version number and meets the number of update packages. The single update package can be an update package that can update the system version number of the server once, and then the single update packages of the update package number are merged to obtain an update package that meets the update instruction, thereby realizing a one-time update of the client to the updated system version number, avoiding multiple single update packages and multiple update processes, and improving the convenience of software updates.
[0090] For example, the server obtains from the update request parameters that the client's current system version number is v3.5.9 and the number of update packages is 3. Then it can obtain the three single update packages v3.5.10, v3.5.11 and v3.5.12 after v3.5.9 and merge them into one update package, so that the client can update from system version number v3.5.9 to system version number v3.5.12 at one time.
[0091] Optionally, before obtaining the update package, the server can also obtain the generation timestamp corresponding to the update instruction in the update request parameters and determine whether the timestamp meets the timeliness condition. The timeliness condition can be the initial setting of the client or server, or it can be set by the user or relevant staff. For example, the generation timestamp can be within 24 hours. If the generation timestamp meets the timeliness condition, the server can obtain the update package that meets the update instruction based on the update request parameters. Conversely, if the generation timestamp does not meet the timeliness condition, the server can send an expiration information to the user to prompt the user that the update download link is no longer valid. The user can re-obtain the update download link from the client and re-upload it to the server.
[0092] S211: The server sends the update package to the user, so that the user uses the update package to update the client.
[0093] Specifically, after determining the update package, the server may send the update package to the user, so that the user uploads the update package to the client and uses the update package to update the client.
[0094] S212: The client receives the update package uploaded by the user, and uses the update package to update the client.
[0095] Specifically, the user can upload the update package obtained from the server to the client. After the client receives the update package uploaded by the user, it can use the update package to update the client, thereby updating the client from the current system version number to the updated system version number.
[0096] In an embodiment of the present application, the client receives an update instruction from the user for the client, obtains the download interface of the client update package, obtains the system identifier of the client and adds the system identifier to the update request parameter of the client, determines the current system version number of the client, determines the updated system version number of the client indicated by the update instruction, determines the number of update packages based on the updated system version number and the current system version number, adds the current system version number and the number of update packages to the update request parameter of the client, and helps the server to obtain the update package so that the client can complete the update process in one go. The user private key corresponding to the client is obtained, the update request parameter is signed with the user private key, the parameter signature data is obtained, and the signature encryption is performed with the user private key to avoid tampering with the update request parameter. The integrity check code of the update request parameter and the parameter signature data is calculated to further ensure the integrity of the update request parameter. The client generates an update download link based on the download interface, update request parameter, parameter signature data and integrity check code. The server parses the update download link uploaded by the user, obtains the update request parameters in the update download link, obtains the integrity check code in the update download link, and uses the integrity check code to perform integrity verification on the update download link. If the update download link passes the integrity verification, the server obtains the parameter signature data in the update download link and verifies the parameter signature data using the public key. If the parameter signature data passes the verification, the server obtains the current system version number and the number of update packages in the update request parameters, obtains a single update package that is after the current system version number and meets the update package number, merges the single update packages with the update package number, and obtains an update package that meets the update instruction. This enables the client to update to the newer system version number in one go, avoiding multiple single update packages and multiple update processes, thereby improving the convenience of software updates. The update package is sent to the user so that the user can use the update package to update the client. The client receives the update package uploaded by the user and uses the update package to update the client. The user's update instruction can instruct the server to send the update package required by the user, thereby facilitating the user to use the update package to update the client. The update process can be performed even when the client is not connected to the Internet, thereby improving the convenience of the update process.
[0097] See Figure 5 , provides a flowchart of a software update method according to an embodiment of the present application. Figure 5 As shown, the embodiment of the present application describes the method in conjunction with the client side, and the method may include the following steps S301-S303.
[0098] S301: Receive an update instruction from a user for the client, and obtain a download interface for the client update package.
[0099] Specifically, if the client is not the latest version of the application, the user can send an update instruction to the client. For example, the user can send the update instruction to the client on the client's display interface. The update instruction can be a touch instruction, a click instruction, or a voice instruction. The client can display a "Download Link Obtain" function button on the display interface, and the user can click this function button to send the update instruction to the client. After receiving the user's update instruction for the client, the client can obtain a download interface for the client update package. The download interface can be the network address of a server corresponding to the client, used to access the server to obtain the update package. The download interface can be stored in the client's local storage.
[0100] S302: Generate update request parameters of the client based on the update instruction.
[0101] Specifically, the client can generate the client's update request parameters based on the update instruction. It is understandable that the update instruction can include the user's expectations for the client update process, such as the client's updated system version number, etc. The updated system version number can be the system version number that the user expects the client to reach after the update process. Since the update request parameters are generated based on the user's update instruction, they can be used to instruct the server to obtain the update package that meets the user's update instruction. For example, the update request parameters can include the client's current system version number and the number of update packages. The current system version number is the client's current system version number, and the number of update packages is the number of update packages that is the difference between the current system version number and the updated system version number. That is, after the client uses the update package with the same number of update packages for the update process, the current system version number can be updated to the updated system version number, thereby meeting the user's update instruction.
[0102] S303: Generate an update download link based on the download interface and the update request parameters.
[0103] Specifically, the client can combine the download interface and the update request parameters to generate an update download link, which is used to instruct the user to download the client update package from the server. The client can display the update download link on the client's display interface, or copy the update download link to the clipboard of the user's terminal device, so that the user can copy the download link from the clipboard and paste it into the search bar of the terminal device's browser, thereby using the browser to access the server and download the update package. When the user accesses the server through the update download link, the server can obtain the update request parameters in the update download link and obtain the update package that meets the update instructions, and then send the update package to the user. The user can upload the update package downloaded from the server in the client, thereby implementing update processing for the client.
[0104] In an embodiment of the present application, the client receives an update instruction from the user for the client, obtains a download interface for the client update package, generates update request parameters for the client based on the update instruction, and generates an update download link based on the download interface and the update request parameters. The user's update instruction can instruct the server to send the update package required by the user, thereby facilitating the user to update the client using the update package. This allows the client to update even when it is not connected to the Internet, thereby improving the convenience of the update process.
[0105] See Figure 6 , provides a flowchart of a software update method according to an embodiment of the present application. Figure 6 As shown, the embodiment of the present application describes the method in conjunction with the client side, and the method may include the following steps S401-S407.
[0106] S401: Receive an update instruction from a user for the client, and obtain a download interface for the client update package.
[0107] Specifically, if the client is not the latest version of the application, the user can send an update instruction to the client. For example, the user can send the update instruction to the client on the client's display interface. The update instruction can be a touch instruction, a click instruction, or a voice instruction. The client can display a "Download Link Obtain" function button on the display interface, and the user can click this function button to send the update instruction to the client. After receiving the user's update instruction for the client, the client can obtain a download interface for the client update package. The download interface can be the network address of a server corresponding to the client, used to access the server to obtain the update package. The download interface can be stored in the client's local storage.
[0108] S402: Obtain the system identifier of the client, and add the system identifier to the update request parameters of the client.
[0109] Specifically, after the client receives the update instruction, it can obtain the client's system identifier. The system identifier can be the client's or user's identity identifier, which is used to instruct the server to identify the client or user's identity. The identity identifier can be the user's account in the application, or it can be the IMEI of the terminal device where the client is located, etc. The client can then add the system identifier to the client's update request parameters.
[0110] S403, determine the current system version number of the client, determine the updated system version number of the client indicated by the update instruction, determine the number of update packages based on the updated system version number and the current system version number, and add the current system version number and the number of update packages to the client's update request parameters.
[0111] Specifically, the update instruction may include the user's expectations for the client update process, for example, it may include the client's updated system version number, etc. The updated system version number may be the system version number that the user expects the client to achieve after the update process. The client may first determine the client's current system version number, and then determine the client's updated system version number indicated in the update instruction, and then determine the number of update packages based on the updated system version number and the current system version number. The number of update packages is the number of update packages that is the difference between the current system version number and the updated system version number. That is, after the client uses the update packages with the number of update packages for the update process, the current system version number can be updated to the updated system version number, thereby satisfying the user's update instruction. For example, if the current system version number is v3.5.9 and the updated system version number is v3.5.12, the number of update packages can be 3, namely, update packages that update the client's system version number from v3.5.9 to v3.5.10, update the system version number from v3.5.10 to v3.5.11, and update the system version number v3.5.11 to v3.5.12.
[0112] After the client obtains the number of update packages, it can add the current system version number and the number of update packages to the client's update request parameters, so that the server can obtain the update package for client update processing based on the current system version number and the number of update packages in the update request parameters.
[0113] Optionally, the user may not clearly know the current system version number and the updated system version number of the client, and may not be able to accurately give the updated system version number in the update instruction. The user may also directly include the number of update packages in the update instruction. For example, the update instruction may include the number of system version updates expected by the user, or the number of update packages of a single update package obtained from the server, where a single update package may be an update package that can update the system version number of the server once.
[0114] Optionally, the client can also obtain the generation timestamp corresponding to the update instruction. The generation timestamp is the timestamp when the client receives the update instruction, and the generation timestamp can also be added to the client's update request parameters. The generation timestamp can be used to instruct the server to determine whether the update download link meets the timeliness condition. It is understandable that if the update download link meets the timeliness condition, the server can send the update package to the user. If the update download link does not meet the timeliness condition, it means that the update download link is no longer time-effective, and the server does not need to send the update package to the user. The timeliness condition can be the initial setting of the client or server, or it can be set by the user or relevant staff. For example, the generation timestamp can be within 24 hours. For example, the update request parameters can include "timestamp=1702977848716" to indicate the generation timestamp.
[0115] It is understandable that the update package can be a complete new version of the application corresponding to the client, or it can be a patch file for updating the virus database and identification database, so the update instruction can also include the update type that the user expects to be updated for the client. The update type can include a complete update process for the client, or an update process for some modules or functions in the client using a patch file, and after obtaining the update type, the client can add the update type to the client's update request parameters.
[0116] S404: Obtain the user private key corresponding to the client, use the user private key to sign the update request parameters, and obtain parameter signature data.
[0117] Specifically, in order to ensure that the update download link has not been changed during the data transmission process, the client can obtain the user private key corresponding to the client. It can be understood that the user private key is stored in the client, and the public key corresponding to the user private key is stored in the server. The user private key is used by the client to sign the update request parameters to obtain parameter signature data, and the public key is used by the server to verify the parameter signature data, so as to determine whether the update request parameters have been changed.
[0118] Optionally, since the update request parameters may include a system identifier, and the system identifier may correspond to a public key, the server may obtain the system identifier from the update request parameters, and then find the corresponding public key based on the system identifier, thereby using the public key to verify the parameter signature data.
[0119] S405: Calculate the integrity check code of the update request parameters and parameter signature data.
[0120] Specifically, in order to ensure that the data in the update download link is not missed during the transmission process and to ensure the integrity of the update download link, the client can calculate an integrity check code for the update request parameters and parameter signature data. The integrity check code is used to ensure the integrity of the data. For example, the integrity check code can be MD5.
[0121] S406: Generate an update download link based on the download interface, update request parameters, parameter signature data, and integrity check code.
[0122] Specifically, the client can generate an update download link based on the download interface, update request parameters, parameter signature data and integrity check code. For example, the client can concatenate the download interface, update request parameters, parameter signature data and integrity check code to generate an update download link.
[0123] S407: Receive the update package uploaded by the user, and use the update package to update the client.
[0124] Specifically, the user can access the server based on the update download link and upload the update download link to the server. The server can obtain the update package that meets the update instructions based on the update request parameters in the update download link and send it to the client, so that the user can upload the update package to the client and use the update package to update the client. After the client receives the update package uploaded by the user, it can use the update package to update the client, so that the client is updated from the current system version number to the updated system version number.
[0125] In an embodiment of the present application, the client receives an update instruction from the user for the client, obtains a download interface for the client update package, obtains the system identifier of the client and adds the system identifier to the update request parameter of the client, determines the current system version number of the client, determines the updated system version number of the client indicated by the update instruction, determines the number of update packages based on the updated system version number and the current system version number, adds the current system version number and the number of update packages to the update request parameter of the client, and helps the server obtain the update package so that the client can complete the update process in one go. The user private key corresponding to the client is obtained, the update request parameter is signed with the user private key, the parameter signature data is obtained, and the signature is encrypted with the user private key to prevent the update request parameter from being tampered with. The integrity check code of the update request parameter and the parameter signature data is calculated to further ensure the integrity of the update request parameter. The client generates an update download link based on the download interface, update request parameters, parameter signature data and integrity check code. The user can upload the update package obtained from the server to the client, and the client receives the update package uploaded by the user and uses the update package to update the client. The update instruction generated by the user can instruct the server to send the update package required by the user, so that the user can use the update package to update the client. The update process can be realized when the client is not connected to the Internet, which improves the convenience of the update process.
[0126] See Figure 7 , provides a flowchart of a software update method according to an embodiment of the present application. Figure 7 As shown, the embodiment of the present application describes the method in conjunction with the server side, and the method may include the following steps S501-S503.
[0127] S501: Parse the update download link uploaded by the user to obtain update request parameters in the update download link.
[0128] Specifically, when a user accesses the server based on the update download link, the user also uploads the update download link to the server. The server can parse the update download link uploaded by the user and obtain the update request parameter from the update download link.
[0129] S502: Acquire an update package that meets the update instruction based on the update request parameters.
[0130] Specifically, since the update request parameters are generated based on the user's update instructions, the update request parameters can instruct the server to obtain an update package that meets the update instructions, so that the client, after the update process is performed using the update package, meets the user's expectations. For example, the update request parameters can include the client's current system version number and the number of update packages. Therefore, the server can obtain a single update package that meets the number of update packages after the current system version number, where the single update package can be an update package that can update the system version number of the server once. Then, the single update package is merged to obtain an update package that meets the update process. It can also achieve a one-time update of the client to the updated system version number, avoiding multiple single update packages and multiple update processes, thereby improving the convenience of software updates.
[0131] S503: The server sends the update package to the user, so that the user uses the update package to update the client.
[0132] Specifically, after determining the update package, the server may send the update package to the user, so that the user uploads the update package to the client and uses the update package to update the client.
[0133] In an embodiment of the present application, the server parses the update download link uploaded by the user, obtains an update package that satisfies the update instructions based on the update request parameters, and sends the update package to the user, so that the user can use the update package to update the client. The user's update instruction can instruct the server to send the update package required by the user, making it easier for the user to use the update package to update the client. This allows the update process to be performed even when the client is not connected to the Internet, improving the convenience of the update process.
[0134] See Figure 8 , provides a flowchart of a software update method according to an embodiment of the present application. Figure 8 As shown, the embodiment of the present application illustrates the method in conjunction with the server side, and the method may include the following steps S601-S605.
[0135] S601: Parse the update download link uploaded by the user to obtain update request parameters in the update download link.
[0136] Specifically, when the user accesses the server based on the update download link, the user will also upload the update download link to the server. The server can parse the update download link uploaded by the user to facilitate obtaining the update request parameters, parameter signature data and integrity check code from the update download link.
[0137] Optionally, the server obtains the update request parameters from the update download link and can also obtain the system identifier from the update request parameters. The public keys corresponding to all clients can be saved in the server and stored in association with the system identifier, so the server can obtain the public key corresponding to the client's user private key based on the system identifier.
[0138] S602: Obtain an integrity check code in the update download link, and use the integrity check code to perform integrity check processing on the update download link.
[0139] Specifically, the server can obtain the integrity check code in the update download link, and then use the integrity check code to perform integrity verification on the update download link. Since the integrity check code is calculated based on the update request parameters and parameter signature data, the server can calculate the integrity check code for the update request parameters and parameter signature data, and then compare whether the integrity check code calculated by the server is the same as the integrity check code in the update download link. If they are the same, the update download link has passed the integrity verification, that is, the data in the update download link is complete and there is no omission. On the contrary, if they are not the same, the update download link has not passed the integrity verification, and the server does not need to send the update package to the user.
[0140] Optionally, if the update download link fails the integrity check, the server may send an integrity check failure message to the user to prompt the user that the update download link data is incomplete. The user may then obtain the update download link from the client again and re-upload it to the server.
[0141] S603: If the update download link passes the integrity check, obtain the parameter signature data in the update download link and verify the parameter signature data using the public key.
[0142] Specifically, if the update download link passes the integrity check, the server can proceed to obtain the parameter signature from the update download link and then verify the parameter signature data using the public key. For example, the server can use the public key to decrypt the parameter signature data to obtain decrypted data, and then compare the decrypted data with the update request parameters to see if they are identical. If they are identical, the parameter signature data has passed the verification process, indicating that the update request parameters are complete and have not been tampered with. Conversely, if they are different, the parameter signature data has failed the verification process, and the server does not need to send the update package to the user.
[0143] Optionally, if the parameter signature data fails the verification process, the server can send a signature verification failure message to the user to prompt the user that the update request parameters are incomplete or have been tampered with. The user can then obtain the update download link from the client again and re-upload it to the server.
[0144] S604: If the parameter signature data passes the verification process, the current system version number and the number of update packages are obtained in the update request parameters, and a single update package that is after the current system version number and meets the number of update packages is obtained. The single update packages of the update package number are merged to obtain the update package that meets the update instruction.
[0145] Specifically, if the parameter signature data passes the verification process, the server can obtain the current system version number and the number of update packages in the update request parameters, thereby obtaining a single update package that is after the current system version number and meets the number of update packages. The single update package can be an update package that can update the system version number of the server once, and then the single update packages of the update package number are merged to obtain an update package that meets the update instruction, thereby realizing a one-time update of the client to the updated system version number, avoiding multiple single update packages and multiple update processes, and improving the convenience of software updates.
[0146] Optionally, before obtaining the update package, the server can also obtain the generation timestamp corresponding to the update instruction in the update request parameters and determine whether the timestamp meets the timeliness condition. The timeliness condition can be the initial setting of the client or server, or it can be set by the user or relevant staff. For example, the generation timestamp can be within 24 hours. If the generation timestamp meets the timeliness condition, the server can obtain the update package that meets the update instruction based on the update request parameters. Conversely, if the generation timestamp does not meet the timeliness condition, the server can send an expiration information to the user to prompt the user that the update download link is no longer valid. The user can re-obtain the update download link from the client and re-upload it to the server.
[0147] S605: Send the update package to the user, so that the user uses the update package to update the client.
[0148] Specifically, after determining the update package, the server may send the update package to the user, so that the user uploads the update package to the client and uses the update package to update the client.
[0149] In an embodiment of the present application, the server parses the update download link uploaded by the user, obtains the update request parameters in the update download link, obtains the integrity check code in the update download link, and uses the integrity check code to perform integrity verification on the update download link. If the update download link passes the integrity verification, the server obtains the parameter signature data in the update download link and verifies the parameter signature data using the public key. If the parameter signature data passes the verification, the server obtains the current system version number and the number of update packages in the update request parameter, obtains a single update package that is after the current system version number and meets the number of update packages, merges the single update packages that meet the number of update packages, and obtains an update package that meets the update instruction, thereby enabling the client to update to the updated system version number at one time, avoiding multiple single update packages and multiple update processes, and improving the convenience of software updates. The update package is sent to the user so that the user uses the update package to update the client. The client receives the update package uploaded by the user and uses the update package to update the client. The update instruction generated by the user can instruct the server to send the update package required by the user, so that the user can use the update package to update the client. The update process can be realized when the client is not connected to the Internet, which improves the convenience of the update process.
[0150] The following will be combined with the Figure 9 -Attached Figure 10 , the software update device applied to the client provided by the embodiment of the present application is introduced in detail. Figure 9 -Attached Figure 10 The software update device in the present application is used to execute the Figure 5 and Figure 6 For the convenience of explanation, only the part related to the embodiment of the present application is shown. For the specific technical details not disclosed, please refer to the present application. Figure 5 and Figure 6 The embodiment shown.
[0151] See Figure 9 , which shows a schematic diagram of the structure of a software update device provided by an exemplary embodiment of the present application. The software update device can be implemented as all or part of a device through software, hardware, or a combination of both. The device 1 includes an interface acquisition module 11, a request parameter acquisition module 12, and a download link generation module 13.
[0152] The interface acquisition module 11 is used to receive the update instruction of the user for the client and obtain the download interface of the client update package;
[0153] A request parameter acquisition module 12, configured to generate update request parameters of the client based on the update instruction;
[0154] The download link generation module 13 is used to generate an update download link based on the download interface and the update request parameters, wherein the update download link is used to instruct the user to download the client update package from the server, the download interface is used to access the server, and the update request parameters are used to instruct the server to obtain the update package that meets the update instructions.
[0155] In an embodiment of the present application, the client receives an update instruction from the user for the client, obtains a download interface for the client update package, generates update request parameters for the client based on the update instruction, and generates an update download link based on the download interface and the update request parameters. The user's update instruction can instruct the server to send the update package required by the user, thereby facilitating the user to update the client using the update package. This allows the client to update even when it is not connected to the Internet, thereby improving the convenience of the update process.
[0156] See Figure 10 , which shows a schematic diagram of the structure of a software update device provided by an exemplary embodiment of the present application. The software update device can be implemented as all or part of a device through software, hardware, or a combination of both. The device 1 includes an interface acquisition module 11, a request parameter acquisition module 12, a signature processing module 14, a verification code generation module 15, a download link generation module 13, and an update processing module 16.
[0157] The interface acquisition module 11 is used to receive the update instruction of the user for the client and obtain the download interface of the client update package;
[0158] A request parameter acquisition module 12, configured to generate update request parameters of the client based on the update instruction;
[0159] Optionally, the request parameter acquisition module 12 is specifically used to obtain the system identifier of the client and add the system identifier to the update request parameter of the client. The system identifier is used to instruct the server to obtain the public key corresponding to the user private key of the client.
[0160] Optionally, the request parameter acquisition module 12 is specifically used to obtain a generation timestamp corresponding to the update instruction, and add the generation timestamp to the update request parameter of the client. The generation timestamp is used to instruct the server to determine whether the update download link meets the timeliness condition.
[0161] Optionally, the request parameter acquisition module 12 is specifically configured to determine the current system version number of the client and determine the updated system version number of the client indicated by the update instruction;
[0162] Determine the number of update packages based on the update system version number and the current system version number;
[0163] The current system version number and the number of update packages are added to the update request parameters of the client.
[0164] The signature processing module 14 is used to obtain the user private key corresponding to the client;
[0165] The update request parameters are signed using the user private key to obtain parameter signature data.
[0166] The check code generation module 15 is used to calculate the integrity check code of the update request parameter and the parameter signature data.
[0167] The download link generation module 13 is used to generate an update download link based on the download interface and the update request parameters, wherein the update download link is used to instruct the user to download the client update package from the server, the download interface is used to access the server, and the update request parameters are used to instruct the server to obtain the update package that meets the update instructions.
[0168] Optionally, the download link generation module 13 is specifically configured to generate an update download link based on the download interface, the update request parameters, and the parameter signature data.
[0169] Optionally, the download link generation module 13 is specifically configured to generate an update download link based on the download interface, the update request parameters, the parameter signature data, and the integrity check code.
[0170] The update processing module 16 is configured to receive the update package uploaded by the user and use the update package to update the client.
[0171] In an embodiment of the present application, the client receives an update instruction from the user for the client, obtains a download interface for the client update package, obtains the system identifier of the client and adds the system identifier to the update request parameter of the client, determines the current system version number of the client, determines the updated system version number of the client indicated by the update instruction, determines the number of update packages based on the updated system version number and the current system version number, adds the current system version number and the number of update packages to the update request parameter of the client, and helps the server obtain the update package so that the client can complete the update process in one go. The user private key corresponding to the client is obtained, the update request parameter is signed with the user private key, the parameter signature data is obtained, and the signature is encrypted with the user private key to prevent the update request parameter from being tampered with. The integrity check code of the update request parameter and the parameter signature data is calculated to further ensure the integrity of the update request parameter. The client generates an update download link based on the download interface, update request parameters, parameter signature data and integrity check code. The user can upload the update package obtained from the server to the client, and the client receives the update package uploaded by the user and uses the update package to update the client. The update instruction generated by the user can instruct the server to send the update package required by the user, so that the user can use the update package to update the client. The update process can be realized when the client is not connected to the Internet, which improves the convenience of the update process.
[0172] The following will be combined with the Figure 11 -Attached Figure 12 , the software update device applied to the server provided in the embodiment of the present application is introduced in detail. Figure 11 -Attached Figure 12 The software update device in the present application is used to execute the Figure 7 and Figure 8 For the convenience of explanation, only the part related to the embodiment of the present application is shown. For the specific technical details not disclosed, please refer to the present application. Figure 7 and Figure 8 The embodiment shown.
[0173] See Figure 11 , which shows a schematic diagram of the structure of a software update device provided by an exemplary embodiment of the present application. The software update device can be implemented as all or part of the device through software, hardware, or a combination of both. The device 2 includes a parsing and processing module 21, an update package acquisition module 22, and an update package sending module 23.
[0174] The parsing module 21 is configured to parse the update download link uploaded by the user and obtain the update request parameters in the update download link, wherein the update request parameters are generated based on the update instruction issued by the user to the client;
[0175] An update package acquisition module 22, configured to acquire an update package that satisfies the update instruction based on the update request parameters;
[0176] The update package sending module 23 is configured to send the update package to the user, so that the user can use the update package to update the client.
[0177] In an embodiment of the present application, the server parses the update download link uploaded by the user, obtains an update package that satisfies the update instructions based on the update request parameters, and sends the update package to the user, so that the user can use the update package to update the client. The user's update instruction can instruct the server to send the update package required by the user, making it easier for the user to use the update package to update the client. This allows the update process to be performed even when the client is not connected to the Internet, improving the convenience of the update process.
[0178] See Figure 12 , which shows a schematic diagram of the structure of a software update device provided by an exemplary embodiment of the present application. The software update device can be implemented as all or part of a device through software, hardware, or a combination of both. The device 2 includes a parsing and processing module 21, an update package acquisition module 22, a public key acquisition module 24, and an update package sending module 23.
[0179] The parsing module 21 is configured to parse the update download link uploaded by the user and obtain the update request parameters in the update download link, wherein the update request parameters are generated based on the update instruction issued by the user to the client;
[0180] The public key acquisition module 24 is configured to acquire the system identifier in the update request parameter, and acquire the public key corresponding to the user private key of the client based on the system identifier.
[0181] An update package acquisition module 22, configured to acquire an update package that satisfies the update instruction based on the update request parameters;
[0182] Optionally, the update package acquisition module 22 is specifically configured to obtain parameter signature data in the update download link and verify the parameter signature data using the public key;
[0183] If the parameter signature data passes the verification process, an update package that meets the update instruction is obtained based on the update request parameters.
[0184] Optionally, the update package acquisition module 22 is specifically configured to obtain an integrity check code from the update download link, and perform integrity verification on the update download link using the integrity check code, where the integrity check code is calculated based on the update request parameters and the parameter signature data.
[0185] If the update download link passes the integrity check process, the parameter signature data in the update download link is obtained.
[0186] Optionally, the update package acquisition module 22 is specifically configured to acquire a generation timestamp corresponding to the update instruction from the update request parameters;
[0187] If the generated timestamp satisfies the timeliness condition, an update package that satisfies the update instruction is obtained based on the update request parameters.
[0188] Optionally, the update package acquisition module 22 is specifically configured to acquire the current system version number and the number of update packages from the update request parameters;
[0189] Obtain a single update package that is after the current system version number and meets the specified update package quantity;
[0190] The single update packages of the number of update packages are merged to obtain update packages that meet the update instruction.
[0191] The update package sending module 23 is configured to send the update package to the user, so that the user can use the update package to update the client.
[0192] In an embodiment of the present application, the server parses the update download link uploaded by the user, obtains the update request parameters in the update download link, obtains the integrity check code in the update download link, and uses the integrity check code to perform integrity verification on the update download link. If the update download link passes the integrity verification, the server obtains the parameter signature data in the update download link and verifies the parameter signature data using the public key. If the parameter signature data passes the verification, the server obtains the current system version number and the number of update packages in the update request parameter, obtains a single update package that is after the current system version number and meets the number of update packages, merges the single update packages that meet the number of update packages, and obtains an update package that meets the update instruction, thereby enabling the client to update to the updated system version number at one time, avoiding multiple single update packages and multiple update processes, and improving the convenience of software updates. The update package is sent to the user so that the user uses the update package to update the client. The client receives the update package uploaded by the user and uses the update package to update the client. The update instruction generated by the user can instruct the server to send the update package required by the user, so that the user can use the update package to update the client. The update process can be realized when the client is not connected to the Internet, which improves the convenience of the update process.
[0193] It should be noted that the software update device provided in the above embodiment, when executing the software update method, is merely illustrated by the division of the aforementioned functional modules. In actual applications, the aforementioned functions can be assigned to different functional modules as needed, i.e., the internal structure of the device can be divided into different functional modules to complete all or part of the functions described above. Furthermore, the software update device provided in the above embodiment and the software update method embodiment are based on the same concept. The implementation process is detailed in the method embodiment and will not be further described here.
[0194] The serial numbers of the above embodiments of the present application are for description only and do not represent the advantages or disadvantages of the embodiments.
[0195] The present application also provides a computer storage medium that can store multiple instructions, which are suitable for being loaded and executed by a processor as described above. Figures 1-8 The software update method of the embodiment shown, the specific execution process can be found in Figures 1-8 The detailed description of the illustrated embodiment will not be repeated here.
[0196] The present application also provides a computer program product, which stores at least one instruction, and the at least one instruction is loaded and executed by the processor as described above. Figures 1-8 The software update method of the embodiment shown, the specific execution process can be found in Figures 1-8 The detailed description of the illustrated embodiment will not be repeated here.
[0197] Please refer to Figure 13 , which shows a block diagram of the structure of an electronic device provided by an exemplary embodiment of the present application. The electronic device in the present application may include one or more of the following components: a processor 110, a memory 120, an input device 130, an output device 140, and a bus 150. The processor 110, the memory 120, the input device 130, and the output device 140 may be connected via the bus 150.
[0198] The processor 110 may include one or more processing cores. The processor 110 utilizes various interfaces and circuits to connect various components within the electronic device. It executes instructions, programs, code sets, or instruction sets stored in the memory 120, as well as accesses data stored in the memory 120, to perform various functions and process data for the terminal 100. Optionally, the processor 110 may be implemented using at least one of the following hardware forms: a digital signal processing (DSP), a field-programmable gate array (FPGA), or a programmable logic array (PLA). The processor 110 may integrate one or a combination of a central processing unit (CPU), a graphics processing unit (GPU), and a modem. The CPU primarily processes the operating system, user interfaces, and applications; the GPU is responsible for rendering and drawing display content; and the modem handles wireless communications. It is understood that the modem may not be integrated into the processor 110 and may be implemented separately via a communication chip.
[0199] The memory 120 may include a random access memory (RAM) or a read-only memory (ROM). Optionally, the memory 120 includes a non-transitory computer-readable storage medium. The memory 120 may be used to store instructions, programs, codes, code sets or instruction sets. The memory 120 may include a program storage area and a data storage area, wherein the program storage area may store instructions for implementing an operating system, instructions for implementing at least one function (such as a touch function, a sound playback function, an image playback function, etc.), instructions for implementing the above-mentioned various method embodiments, etc. The operating system may be an Android system, including a system deeply developed based on the Android system, an iOS system developed by Apple, including a system deeply developed based on the iOS system or other systems.
[0200] The memory 120 can be divided into an operating system space and a user space. The operating system runs in the operating system space, and native and third-party applications run in the user space. In order to ensure that different third-party applications can achieve better operating results, the operating system allocates corresponding system resources to different third-party applications. However, the requirements for system resources in different application scenarios in the same third-party application are also different. For example, in the local resource loading scenario, the third-party application has higher requirements for disk reading speed; in the animation rendering scenario, the third-party application has higher requirements for GPU performance. The operating system and the third-party application are independent of each other, and the operating system often cannot perceive the current application scenario of the third-party application in a timely manner, resulting in the operating system being unable to perform targeted system resource adaptation according to the specific application scenario of the third-party application.
[0201] In order for the operating system to distinguish the specific application scenarios of third-party applications, it is necessary to open up data communication between third-party applications and the operating system so that the operating system can obtain the current scenario information of third-party applications at any time, and then perform targeted system resource adaptation based on the current scenario.
[0202] The input device 130 is used to receive input commands or data and includes, but is not limited to, a keyboard, a mouse, a camera, a microphone, or a touch-sensitive device. The output device 140 is used to output commands or data and includes, but is not limited to, a display device and a speaker. In one example, the input device 130 and the output device 140 may be combined, and the input device 130 and the output device 140 may be a touch-sensitive display.
[0203] The touch display screen can be designed as a full screen, a curved screen or a special-shaped screen. The touch display screen can also be designed as a combination of a full screen and a curved screen, or a combination of a special-shaped screen and a curved screen, which is not limited in the present embodiment.
[0204] In addition, those skilled in the art will understand that the structures of the electronic devices shown in the above figures do not limit the electronic devices. The electronic devices may include more or fewer components than shown, or may combine certain components, or arrange the components differently. For example, the electronic devices may also include radio frequency circuits, input units, sensors, audio circuits, wireless fidelity (WiFi) modules, power supplies, Bluetooth modules, and other components, which will not be described in detail here.
[0205] exist Figure 12 In the electronic device shown, the processor 110 can be used to call the software update application stored in the memory 120 and execute it to implement the touch display method shown in the various method embodiments of this specification.
[0206] Those skilled in the art will appreciate that all or part of the processes in the above-described method embodiments can be implemented by instructing related hardware through a computer program. The program can be stored in a computer-readable storage medium, and when executed, the program can include the processes in the above-described method embodiments. The storage medium can be a magnetic disk, an optical disk, a read-only memory, or a random access memory.
[0207] The above disclosure is only a preferred embodiment of the present application, and certainly cannot be used to limit the scope of rights of the present application. Therefore, equivalent changes made according to the claims of the present application are still within the scope covered by the present application.
[0208] It should be noted that the information (including but not limited to user device information, user personal information, etc.), data (including but not limited to data used for analysis, storage, display, etc.), and signals involved in the embodiments of this specification are all authorized by the user or fully authorized by all parties, and the collection, use, and processing of relevant data must comply with the relevant laws, regulations, and standards of the relevant countries and regions. For example, the download interface and update request parameters involved in this specification are obtained with full authorization.
Claims
1. A software updating method, characterized in that: Applied to a client, the method includes: Receive an update instruction from a user for the client, and obtain a download interface for the client update package; generating an update request parameter of the client based on the update instruction; An update download link is generated based on the download interface and the update request parameters, wherein the update download link is used to instruct the user to download the update package from the server. The download interface is used to access the server, and the update request parameters are used to instruct the server to obtain the update package that meets the update instruction.
2. The method according to claim 1, characterized in that Generating the update request parameters of the client based on the update instruction includes: The system identifier of the client is obtained and added to the update request parameter of the client. The system identifier is used to instruct the server to obtain the public key corresponding to the user private key of the client.
3. The method according to claim 2, characterized in that The method further comprises: Obtaining the user private key corresponding to the client; Signing the update request parameters using the user private key to obtain parameter signature data; The generating of the update download link based on the download interface and the update request parameter includes: An update download link is generated based on the download interface, the update request parameters and the parameter signature data.
4. A software updating method, characterized in that: Applied to a server, the method includes: Parsing the update download link uploaded by the user to obtain update request parameters in the update download link, where the update request parameters are generated based on the update instruction issued by the user to the client; Acquire an update package that satisfies the update instruction based on the update request parameters; The update package is sent to the user, so that the user uses the update package to update the client.
5. The method according to claim 4, characterized in that After obtaining the update request parameter in the update download link, the method further includes: The system identifier in the update request parameter is obtained, and the public key corresponding to the user private key of the client is obtained based on the system identifier.
6. The method according to claim 5, characterized in that The acquiring, based on the update request parameters, an update package that satisfies the update instruction includes: Obtain parameter signature data from the update download link, and verify the parameter signature data using the public key; If the parameter signature data passes the verification process, an update package that meets the update instruction is obtained based on the update request parameters.
7. A software updating device, characterized in that: Applied to a client, the device includes: An interface acquisition module, configured to receive an update instruction from a user for the client and obtain a download interface for the client update package; A request parameter acquisition module, configured to generate update request parameters of the client based on the update instruction; A download link generation module is used to generate an update download link based on the download interface and the update request parameters, wherein the update download link is used to instruct the user to download the client update package from the server, the download interface is used to access the server, and the update request parameters are used to instruct the server to obtain the update package that meets the update instructions.
8. A software updating device, characterized in that: Applied to a server, the device includes: A parsing module, configured to parse the update download link uploaded by the user and obtain update request parameters in the update download link, wherein the update request parameters are generated based on the update instruction issued by the user to the client; An update package acquisition module, configured to acquire an update package that satisfies the update instruction based on the update request parameters; The update package sending module is used to send the update package to the user, so that the user uses the update package to update the client.
9. A computer storage medium, characterized in that The computer storage medium stores a plurality of instructions, which are suitable for being loaded by a processor and executing the method steps according to any one of claims 1 to 3 and 4 to 6.
10. An electronic device, characterized in that: include: A processor and a memory; wherein the memory stores a computer program, and the computer program is suitable for being loaded by the processor and executing the method steps according to any one of claims 1 to 3 and 4 to 6.