CN117850829A - Software updating method, starter, server, electronic device, and storage medium - Google Patents

Software updating method, starter, server, electronic device, and storage medium Download PDF

Info

Publication number
CN117850829A
CN117850829A CN202311675821.0A CN202311675821A CN117850829A CN 117850829 A CN117850829 A CN 117850829A CN 202311675821 A CN202311675821 A CN 202311675821A CN 117850829 A CN117850829 A CN 117850829A
Authority
CN
China
Prior art keywords
program
initiator
starter
information
version information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202311675821.0A
Other languages
Chinese (zh)
Inventor
刘波
罗铭
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Chengdu Xishanju Shiyou Technology Co ltd
Zhuhai Kingsoft Digital Network Technology Co Ltd
Original Assignee
Chengdu Xishanju Shiyou Technology Co ltd
Zhuhai Kingsoft Digital Network Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Chengdu Xishanju Shiyou Technology Co ltd, Zhuhai Kingsoft Digital Network Technology Co Ltd filed Critical Chengdu Xishanju Shiyou Technology Co ltd
Priority to CN202311675821.0A priority Critical patent/CN117850829A/en
Publication of CN117850829A publication Critical patent/CN117850829A/en
Pending legal-status Critical Current

Links

Landscapes

  • Information Transfer Between Computers (AREA)

Abstract

The application provides a software updating method, a starter, a server, electronic equipment and a storage medium, wherein the method comprises the following steps: after the starter is started, a program version request is sent to a server so that the server feeds back an information set, wherein the information set comprises a plurality of first version information, the first version information is used for indicating program reference version information of available applications, and the available applications are programs started and run through the starter; and acquiring a program update resource package corresponding to the target program from the server, and updating the target program based on the program update resource package, wherein the target program is an available application of which the program reference version information is newer than the program local version information. The cost of the software update can be reduced.

Description

Software updating method, starter, server, electronic device, and storage medium
Technical Field
The present disclosure relates to the field of data processing technologies, and in particular, to a software updating method, an initiator, a server, an electronic device, and a storage medium.
Background
As computer technology evolves, computer software is also continually updating iterations. There are two main ways of releasing and updating computer software at present: one is to issue a software installation package through a software management platform, but the research and development cost of the self-research software management platform is high; the other is to issue updated software in the manner of an initiator, but the initiator and the target software have a deep binding relationship, for example, the initiator can bear functions of account login, function setting and the like in the software, so that one target software usually corresponds to one initiator to be developed, but excessive initiators can cause the development and maintenance cost of the initiator to be increased, and thus the cost of software update is also increased.
Disclosure of Invention
The present application aims to solve at least one of the technical problems existing in the prior art. Therefore, the application provides a software updating method, a starter, a server, electronic equipment and a storage medium, and the cost of software updating can be reduced.
In a first aspect, an embodiment of the present application provides a software updating method applied to an initiator, where the initiator is communicatively connected to a server, and the method includes:
after the starter is started, a program version request is sent to the server so that the server feeds back an information set, wherein the information set comprises a plurality of first version information, the first version information is used for indicating program reference version information of available applications, and the available applications are programs started to run through the starter;
and acquiring a program update resource package corresponding to a target program from the server, and updating the target program based on the program update resource package, wherein the target program is the available application of which the program reference version information is newer than the program local version information.
Optionally, the information set further includes initiator reference version information, where the initiator reference version information is version information of the initiator recorded by the server, and after the sending of the version request to the server, the method further includes:
Acquiring the local version information of the starter, wherein the local version information of the starter is used for indicating the current version information of the starter;
acquiring the starter reference version information from the information set;
when the local version information of the starter is inconsistent with the reference version information of the starter, a starter resource package request is sent to the server, so that the server feeds back a starter update resource package;
and acquiring an initiator updating resource package from the server, and updating the initiator based on the initiator updating resource package.
Optionally, when the local version information of the initiator and the reference version information of the initiator are inconsistent, sending an initiator resource package request to the server, including:
acquiring position information of inconsistent file information of the starter reference version information and file information of the starter local version information, and determining the position information as a starter target position;
sending a starter resource package request to the server, wherein the resource package request comprises the starter target position, so that the server acquires updated file information from the starter reference version information according to the starter target position, and acquires file information to be updated from the starter local version information according to the starter target position; and enabling the server to replace file information to be updated in the local version information of the starter through the updated file information to obtain the starter updated resource package.
Optionally, a public key is set in the initiator, the public key is matched with a private key in the server, and after the initiator is started, a program version request is sent to the server, and the method further includes:
checking and decrypting the information set through a public key in a preset encryption and decryption algorithm;
and after the verification and decryption are successful, acquiring the first version information and the starter reference version information from the information set.
Optionally, a preset decompression algorithm is set in the initiator, the decompression algorithm is matched with a preset compression algorithm in the server, the program update resource package corresponding to the target program is obtained from the server, the target program is updated based on the program update resource package, and the method further includes:
decompressing the program update resource package through the decompression algorithm;
and after decompression is successful, acquiring the program update resource package, and updating the target program according to the program update resource package.
In a second aspect, an embodiment of the present application provides a software updating method, applied to a server, where the server is communicatively connected to an initiator, and the method includes:
When a program version request sent by the starter is obtained, sending an information set to the starter, wherein the program version request is sent after being started by the starter, the information set comprises a plurality of first version information, the first version information is used for indicating program reference version information of available applications, and the available applications are programs started to run by the starter;
and sending a program update resource package corresponding to a target program to the initiator so that the initiator updates the target program based on the program update resource package, wherein the target program is the available application of which the program reference version information is newer than the program local version information.
Optionally, the information set further includes initiator reference version information, where the initiator reference version information is version information of the initiator recorded by the server, and after acquiring a program version request sent by the initiator and sending the information set to the initiator, the information set further includes:
when the local version information of the starter is inconsistent with the reference version information of the starter, obtaining a starter resource package request sent by the starter;
And feeding back an initiator update resource package to the initiator, so that the initiator updates the initiator based on the initiator update resource package.
Optionally, determining the location information of the inconsistent file information of the initiator reference version information and the file information of the initiator local version information as the initiator target location, when the initiator local version information and the initiator reference version information are inconsistent, acquiring the initiator resource package request sent by the initiator, including:
acquiring an initiator resource package request sent by the initiator, wherein the resource package request comprises the target position of the initiator;
acquiring updated file information from the starter reference version information according to the starter target position;
acquiring file information to be updated from the local version information of the starter according to the target position of the starter;
and replacing the file information to be updated in the local version information of the starter by the updated file information to obtain the starter update resource package.
Optionally, a private key is set in the server, the private key is matched with a public key in the initiator, when a program version request sent by the initiator is obtained, an information set is sent to the initiator, and the method further includes:
Storing the first version information and the initiator reference version information into the information set;
and carrying out signature encryption on the information set in the information set through a private key in a preset encryption and decryption algorithm.
In a third aspect, an embodiment of the present application provides an initiator, communicatively connected to a server, the initiator including:
a program version request module configured to send a program version request to the server after the initiator is started, so that the server feeds back an information set, wherein the information set comprises a plurality of first version information, the first version information is used for indicating program reference version information of available applications, and the available applications are programs started and run through the initiator;
and the target program updating module is configured to acquire a program updating resource packet corresponding to a target program from the server, and update the target program based on the program updating resource packet, wherein the target program is the available application of which the program reference version information is newer than the program local version information.
In a fourth aspect, embodiments of the present application provide a server in communication with an initiator, the server comprising:
The information collection module is configured to send an information collection to the starter when a program version request sent by the starter is obtained, wherein the program version request is sent after being started by the starter, the information collection comprises a plurality of first version information, the first version information is used for indicating program reference version information of available applications, and the available applications are programs started to run by the starter;
and the program update resource package module is configured to send a program update resource package corresponding to a target program to the initiator so that the initiator updates the target program based on the program update resource package, wherein the target program is the available application of which the program reference version information is newer than the program local version information.
In a fifth aspect, embodiments of the present application provide an electronic device comprising at least one control processor and a memory for communicatively coupling with the at least one control processor; the memory stores instructions executable by the at least one control processor to enable the at least one control processor to perform the software updating method of the first and second aspects described above.
In a sixth aspect, embodiments of the present application provide a computer readable storage medium storing computer executable instructions for performing the software updating method according to the first and second aspects.
According to the software updating method, the starter is started, the program version request is sent to the server, so that the server can feed back an information set to the starter after obtaining the program version request, the information set comprises a plurality of pieces of first version information, the first version information is used for indicating program version information of available applications, and the available applications are used for indicating programs started to run through the starter. The method comprises the steps that a program update resource package corresponding to a target program is sent through a server, the target program is updated based on the program update resource package, the target program is used for indicating available application of program reference version information which is newer than program local version information, the target program which needs to be updated is determined through a server feedback information set, and the update of the target program is completed through the server feedback of the program update resource package corresponding to the target program, so that the update of a plurality of available applications through a single starter is realized, the situation that one starter is needed to be installed on each software program for updating the software program is avoided, and meanwhile, a self-research software management platform is not needed for downloading by clients, so that the update cost of software is reduced.
Drawings
FIG. 1 is a flow chart of a software update method provided by one embodiment of the present application;
FIG. 2 is a schematic diagram of a software update method provided by one embodiment of the present application;
FIG. 3 is a schematic diagram of a client interface provided in one embodiment of the present application;
FIG. 4 is a flow chart of a method for initiator update in a game scenario according to one embodiment of the present application;
FIG. 5 is a flow chart of a method for updating available applications in a game scenario provided by one embodiment of the present application;
FIG. 6 is a schematic structural view of an actuator provided in one embodiment of the present application;
FIG. 7 is a schematic diagram of a server according to an embodiment of the present application;
fig. 8 is a block diagram of an electronic device according to another embodiment of the present application.
Detailed Description
Embodiments of the present application are described in detail below, examples of which are illustrated in the accompanying drawings, wherein the same or similar reference numerals refer to the same or similar elements or elements having the same or similar functions throughout. The embodiments described below by referring to the drawings are exemplary only for the purpose of explaining the present application and are not to be construed as limiting the present application.
In the description of the present application, it should be understood that references to orientation descriptions, such as directions of up, down, front, back, left, right, etc., are based on the orientation or positional relationship shown in the drawings, are merely for convenience of describing the present application and simplifying the description, and do not indicate or imply that the apparatus or element referred to must have a specific orientation, be configured and operated in a specific orientation, and thus should not be construed as limiting the present application.
In the description of the present application, the meaning of a number is one or more, the meaning of a number is two or more, greater than, less than, exceeding, etc. are understood to not include the present number, and the meaning of a number above, below, within, etc. are understood to include the present number. The description of the first and second is for the purpose of distinguishing between technical features only and should not be construed as indicating or implying relative importance or implicitly indicating the number of technical features indicated or implicitly indicating the precedence of the technical features indicated.
In the description of the present application, unless explicitly defined otherwise, terms such as arrangement, installation, connection, etc. should be construed broadly and the specific meaning of the terms in the present application can be reasonably determined by a person skilled in the art in combination with the specific contents of the technical solution.
First, terms related to one or more embodiments of the present invention will be explained:
and (3) a server: the cloud server can be an independent physical server, a server cluster or a distributed system formed by a plurality of physical servers, a cloud server for providing cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communication, middleware services, domain name services, security services, content delivery networks (Content Delivery Network, CDNs), basic cloud computing services such as big data and artificial intelligent platforms, and the like.
Version number naming convention: typically x.y.z [ major version number. Minor version number. Revision number ], the version number increment rule is as follows: (1) major version number: generally, when the software is rewritten in whole or a change which is not backwards compatible occurs, the primary version number is increased by 1, the secondary version is cleared, and the revision number is cleared, for example 1.9.1- >2.0.0. (2) minor version number: when a general function is updated or added, the major version number is unchanged, the minor version number is increased by 1, and the revision number is cleared, for example, 1.5.1- >1.6.0. (3) Revision number when Bug repair is released, the major version number is unchanged, the minor version number is unchanged, and the revision number is increased by 1, for example 1.5.0- >1.5.1.
It should be noted that, with the development of computer technology, higher demands are also put on computer software, such as higher definition of image, high quality audio, CG animation, and the like. This has led to today's computer software becoming larger, perhaps a few or hundreds of megabytes in the past, and now many gigabytes or more under the application of various compression techniques. With the increase of the volume of computer software and the continuous updating and iteration of the computer operating system, a series of problems are brought about: (1) The volume of the software program is large, so that the downloading and updating will of the user is reduced, and the cost of the manufacturer for attracting the user is increased; (2) Because the volume of the software program becomes large, the update maintenance cost of the software program also becomes high; (3) The problem of operation cost is that the operating system environments of users are different, such as the problems of system disk space, system directory authority and the like, so that the software is very likely to be incapable of operating normally; (4) There is a security risk that the complete installation package may be secondarily manufactured to embed illegal programs, and may be maliciously brushed with network traffic to cause a problem of increased cost.
To cope with these problems, there are two main types of current software release update methods: one is to issue a software installation package through a software management platform, and the other is to issue software through a starter mode. However, these methods also have certain drawbacks:
for example, the software management platform enables the downloading and updating of software, such as some software management center, by developing a software management platform or using a third party platform to publish a software installation package. The user can install the software on the software management platform by searching, downloading and executing the installation program, and the installed software is updated by the platform upgrading function. The system is not connected with target software essentially, is actually a software warehouse, and therefore, various problems exist, such as the timely updating of the target software cannot be guaranteed, the target software installation catalog cannot be customized, whether the disk space is enough or not cannot be detected, the safety of the target software installation package cannot be guaranteed, a third-party platform does not have enough autonomy, the research and development cost of an autonomy software management platform is high, and the like;
the software is distributed in a starter mode by self-grinding the starter program, distributing the starter program, installing and operating the starter, so that the downloading and updating of the target software are realized, and the method is common for large programs, especially large games. But currently such triggers are on the market that carry many other functions at the same time, such as activities, bulletins and consultation shows, function settings, account login, social systems, etc. It can be seen that in practice there is a deep binding relationship between these initiator and target software. If there are multiple target software to be released in a mode of using the initiator, multiple similar initiators need to be developed, so that the method cannot be used universally, and the development and maintenance cost is greatly increased.
Therefore, the embodiment of the invention provides a software updating method, which is characterized in that a starter is started, a program version request is sent to a server, so that the server feeds back an information set to the starter after obtaining the program version request, the information set comprises a plurality of first version information, the first version information is used for indicating the program version information of an available application, and the available application is used for indicating a program started and operated by the starter. The method comprises the steps that a program update resource package corresponding to a target program is sent through a server, the target program is updated based on the program update resource package, the target program is used for indicating available application of program reference version information which is newer than program local version information, the target program which needs to be updated is determined through a server feedback information set, and the update of the target program is completed through the server feedback of the program update resource package corresponding to the target program, so that the update of a plurality of available applications through a single starter is realized, the situation that one starter is needed to be installed on each software program for updating the software program is avoided, and meanwhile, a self-research software management platform is not needed for downloading by clients, so that the update cost of software is reduced.
In the present application, a software updating method, an initiator, a server, an electronic device, a computer-readable storage medium are provided, and detailed description is given in the following embodiments.
Referring to fig. 1, fig. 1 is a schematic diagram of a processing procedure of a software updating method according to an embodiment of the present invention, where, as shown in fig. 1, after a user starts a starter, the starter sends a program version request to a server, and after the server obtains the program version request sent by the starter, the server sends an information set to the starter, where the information set includes a plurality of first version information, where the first version information indicates program reference version information of an available application, and the available application is a program running through the starter. After the initiator acquires the information set, the first version information in the information set is compared with the program local version information of the available application, so that the available application with the program reference version information being newer than the program local version information is obtained, and the available application is determined to be the target program. The server sends the program update resource package corresponding to the target program to the starter, and after the starter receives the program update resource package corresponding to the target program, the starter updates the target program based on the program update resource package. The target program can be updated only by one starter, a plurality of starters are not required to be arranged, a software management platform is not required to be researched and developed, and the updating cost of the software is reduced.
Referring to fig. 1, fig. 1 is a flowchart of a software updating method provided in an embodiment of the present invention, where the software updating method is applied to a starter, and the starter is communicatively connected to a server, and the software updating method includes, but is not limited to, the following steps S11 and S12:
step S11, after the starter is started, a program version request is sent to the server so that the server feeds back an information set, wherein the information set comprises a plurality of first version information, the first version information is used for indicating program reference version information of available applications, and the available applications are programs started and run through the starter.
Specifically, the initiator is arranged at the client, the initiator sends a program version request to the server, the server receives the program version request, the fed back information set comprises a plurality of first version information, the first version information indicates program reference version information of available applications, the available applications are the program applications which can be started to run through the initiator, and note that the first version information is generated by reading the program reference version information of the available applications and writing the program reference version information into the information set through scanning all files in a catalog of the available applications. It can be appreciated that when the initiator is capable of initiating running of a plurality of available applications, the initiator is correspondingly provided with a plurality of first version information. The program reference version information is information describing the version of the application available in the server, and is generally information about the version to which the application available in the server is desired to be updated, which is issued by the software publisher.
In an actual application scenario, the initiator is installed in the client, and the initiator can be provided with corresponding initiator buttons on a user interface of the client, and can be started by responding to clicking operation of a user on the initiator buttons. Referring to fig. 2, after the initiator is started, a program version request is automatically sent to the server. And after receiving the program version request, the server feeds back the information set. The number of the first version information in the information set is the same as the number of the available applications, namely, each available application has the corresponding first version information. Since it is then necessary to determine whether an update to the available application is required by comparing the program reference version information with the program local version information, the information set fed back to the initiator must have the first version information of all available applications. ,
for example, the initiator may be communicatively coupled to the server by accessing the CDN (Content Delivery Network content delivery network). It is assumed that the initiator is capable of initiating and executing the available application a, the available application B and the available application C, that is, the information set fed back by the server includes three pieces of first version information, namely program reference version information 7.1.10 of the available application a, program reference version information 10.3.90 of the available application B and program reference version information 8.0.41 of the available application C. If the publisher replaces 7.1.21 the program reference version information of the a-available application in the server, the program reference version information of the B-available application and the program reference version information of the C-available application are unchanged. The information set fed back by the server at this time includes program reference version information 7.1.21 of the available application a, program reference version information 10.3.90 of the available application b and program reference version information 8.0.41 of the available application C. That is, regardless of the variation of the program reference version information, the set of information fed back by the server each time includes the program reference version information of all available applications.
In summary, the program reference version information corresponding to the available application is obtained through the information set fed back by the server, and a basis is provided for comparing the program reference version information with the program local version information of the available application in the follow-up process and determining whether the available application needs to be updated. Meanwhile, each software application program is correspondingly provided with a starter before, so that each starter is required to be judged every time when judging whether the application program needs to be updated or not, and the time and the labor are consumed. The program reference version information of all available applications is stored in the server, and the corresponding program reference version information of each available application can be known only by the feedback information set, so that the available applications need to be updated at one time.
In a specific embodiment provided in the present application, the information set further includes initiator reference version information, where the initiator reference version information is version information of an initiator recorded by a server, and after sending a version request to the server, the method specifically includes, but is not limited to, the following steps:
Acquiring the local version information of the starter, wherein the local version information of the starter is used for indicating the current version information of the starter;
acquiring starter reference version information from an information set;
when the local version information of the starter is inconsistent with the reference version information of the starter, a starter resource package request is sent to a server, so that the server feeds back a starter update resource package;
and acquiring a starter update resource package from the server, and updating the starter based on the starter update resource package.
Specifically, the information set fed back to the initiator by the server further includes initiator reference version information, which is version information recorded in the server, and is generally information of a version to which the publisher wants the initiator to update, because the initiator itself may need to be updated in addition to the situation that the available application will be updated.
In an actual application scenario, referring to fig. 2, after the initiator starts, the initiator automatically sends a program version request to the server, the server feeds back information set to the initiator, the information set includes initiator reference version information, the initiator compares the initiator reference version information with initiator local version information, when the initiator local version information is inconsistent with the initiator reference version information, the initiator sends an initiator resource package request to the server, the initiator needs to update, the server responds to the initiator resource package request, and feeds back an initiator update resource package to the initiator, and the initiator updates the initiator based on the initiator update resource package.
For example, referring to fig. 2, the initiator includes initiator local version information, which is 2.3.10, after the initiator sends a program version request to the server, the server feeds back initiator reference version information to the initiator, where the initiator reference version information is 3.4.20, and according to a version number naming rule, it can be seen that the initiator reference version information is different from the initiator local version information, and meanwhile, the initiator reference version information is newer than the initiator local version information, so that the initiator needs to be updated, and the initiator sends an initiator resource package request to the server, so that the server feeds back an initiator update resource package to the initiator, and the initiator updates the initiator according to the initiator update resource package.
In conclusion, the self-updating flow of the starter is realized, and the cost of the traditional manual processing is saved. Meanwhile, as long as the local version information of the starter is different from the reference version information of the starter, the update is automatically triggered, so that the starter is ensured to be updated in time, and the problems that available programs cannot be driven due to the fact that the starter is not updated in time are effectively avoided. It will be appreciated that in an actual production process, the iteration cycle frequency of the initiator and the target program may be different, and thus it may occur that only the initiator is updated, only the available applications are updated, or both are updated, or neither are updated, as determined by the actual situation.
In one embodiment provided in the present application, when the local version information of the initiator and the reference version information of the initiator are inconsistent, a request for an initiator resource package is sent to the server, which specifically includes, but is not limited to, the following steps:
acquiring position information of inconsistent file information of the starter reference version information and file information of the starter local version information, and determining the position information as a starter target position;
sending a starter resource package request to a server, wherein the resource package request comprises a starter target position, so that the server acquires updated file information in starter reference version information according to the starter target position, and acquires file information to be updated in starter local version information according to the starter target position; the server replaces the file information to be updated in the local version information of the starter by the updated file information to obtain a starter update resource package.
Specifically, the initiator includes a lot of file information, but when the initiator is updated, not all the file information in the initiator needs to be updated, and sometimes the initiator reference version information may only modify part of the file information compared with the initiator local version information, and at this time, if all the data construction resource packages in the initiator reference version information are reacquired, excessive resources are consumed. Therefore, the position information of inconsistent file information is obtained as the target position of the initiator by comparing the initiator reference version information with the initiator local version information, then the file information corresponding to the target position of the initiator in the initiator reference version information is replaced to the file information corresponding to the target position of the initiator in the initiator local version information, and then the initiator local version information with the replaced differential file information is used as the initiator update resource package. The method comprises the steps of firstly positioning the position of the file information with the difference, and then updating only the differentiated part in the local version information, so that the update resource package of the starter can be reconstructed by using a small amount of resources.
Furthermore, not all the file information in the target program needs to be updated, and sometimes the program reference version information of the target program may only be modified by part of the file information compared with the program local version information, and if all the data in the program reference version information is re-acquired as a resource package, excessive resources are consumed. Therefore, the position information of inconsistent file information is obtained as the program target position by comparing the program reference version information of the target program with the program local version information, then the file information corresponding to the program target position in the program reference version information of the target program is replaced to the file information corresponding to the program target position in the program local version information, and then the program local version information with the inconsistent file information replaced is used as the program update resource package of the target program. The method realizes that the program update resource package can be reconstructed by using a small amount of resources.
In a specific embodiment provided in the present application, a public key is set in the initiator, the public key is matched with a private key in the server, and after the initiator is started, a program version request is sent to the server, which specifically includes but is not limited to the following steps:
Checking and decrypting the information set through a public key in a preset encryption and decryption algorithm;
and after the verification and decryption are successful, acquiring the first version information and the starter reference version information from the information set.
Specifically, the information set includes a plurality of first version information and starter reference version information, if information security protection is not performed, the information may be intercepted by other people, so that information leakage is caused, and information security of a user is threatened. Thus, a public key is set in the initiator, a private key is set in the server, and the two are matched with each other. The information set generation method specifically comprises the following steps: scanning all files under the catalog of the starter, and writing starter reference version information of the read starter into the information set; and scanning all files under the catalog of the available application, and writing the program reference version information of the available application into the information set. And finally, the server is required to carry out encryption signature on the information set by using a private key, the starter can request to acquire the information set in the server through the CDN, after the starter acquires the CDN, the starter adopts a preset encryption and decryption algorithm to decrypt and check the information set according to a public key negotiated with the server, and when the decryption and check are successful, the server for transmitting the information set is the server negotiating with the starter instead of other third party platforms, so that the safety of the information set source is ensured, and meanwhile, as the information set is encrypted and signed, the information set is prevented from being tampered or impersonated by other people, and the safety of the content of the information set is ensured.
For example, the preset encryption and decryption algorithm may be an RSA signature encryption and decryption algorithm.
In a specific embodiment provided in the present application, a preset decompression algorithm is set in the initiator, the decompression algorithm is matched with a preset compression algorithm in the server, a program update resource package corresponding to a target program is obtained from the server, and the target program is updated based on the program update resource package, which specifically includes but is not limited to the following steps:
decompressing the program update resource package through a decompression algorithm;
and after decompression is successful, acquiring a program update resource package, and updating the target program according to the program update resource package.
Specifically, the relevant file information of each available application is written into the program update resource package, because the program update resource package involves a lot of data, in order to facilitate the transmission of information and the downloading of the client, the server uses a preset compression algorithm to compress and copy each file in the program update resource package one by one under a designated directory and keep the directory and the directory structure of the available application completely the same, wherein the designated directory is named by the version number of the program reference version information of the available application. The customization of the update catalog of the available application is realized, so that after the initiator downloads the program update resource package, the initiator can directly download the program update resource package to the appointed catalog without manually reclassifying the files in the program update resource package and manually moving the files to the corresponding installation catalog. The updating efficiency of the software is improved.
For example, the preset compression algorithm and decompression algorithm are matched, and a Gzip DEFLATE compression algorithm and a Gzip DEFLATE decompression algorithm can be adopted. The relevant files of each available application are compressed and copied one by one under a specified directory B by using a Gzip DEFLATE compression algorithm, and the directory is kept identical to the directory structure of the available application, wherein the specified directory B is named by the version number of the program reference version information of the available application.
Furthermore, a preset decompression algorithm for updating the resource package aiming at the starter is arranged in the starter, and the decompression algorithm is matched with a preset compression algorithm for updating the resource package aiming at the starter in the server. It can be appreciated that the decompression algorithm and the compression algorithm of the initiator-oriented update resource package may be the same as or different from the decompression algorithm and the compression algorithm of the program-oriented update resource package, and illustratively, the compression algorithm and the decompression algorithm of the initiator-oriented update resource package may also adopt a Gzip DEFLATE compression algorithm and a Gzip DEFLATE decompression algorithm. The server compresses the update resource package of the starter through a compression algorithm, sends the update resource package of the starter to the starter, and decompresses the update resource package of the starter through a decompression algorithm after the starter receives the update resource package of the starter. If decompression is successful, it is indicated that the initiator receiving the initiator update resource packet and the server transmitting the initiator update resource packet are legal, so that the safety of the receiving source and the transmitting source is ensured, meanwhile, the initiator update resource packet compressed by the compression algorithm can only decompress normal data by the matched decompression algorithm, if the unmatched decompression algorithm is used for decompression by strong force, the initiator update resource packet may be damaged, messy codes and the like are caused, and the safety of data transmission is ensured. In addition, the related files of the initiator can be compressed and copied to the appointed catalogue by utilizing a compression algorithm, so that the path positions where the related data files of the initiator are placed do not need to be acquired one by one when the initiator is updated later, and the updating efficiency of the initiator is improved.
For example, the related files of the initiator are compressed and copied one by one under a designated directory A by using a Gzip DEFLATE algorithm, and the directory is kept identical to the initiator directory structure, wherein the designated directory A is named by a version number in initiator reference version information of the initiator, and after the initiator reference version information for updating is determined, the designated directory A can be conveniently and quickly located. Because the related files of the initiator are required to be placed on the corresponding paths when the initiator is updated, the designated directory A is kept to be the same as the initiator directory structure, so that the whole initiator can be updated by directly referring to the paths of the designated directory A when the initiator is updated, and the path of the file is not required to be found. The update efficiency of the starter is improved.
In conclusion, the compression algorithm is used for compressing the file, the size of the downloaded file is reduced, and network traffic is saved. And the risk that the whole compressed large files are maliciously downloaded and brushed with the network flow is reduced. The same directory structure is maintained, and a mapping relation is formed remotely and locally, so that program logic processing in the updating process is facilitated.
Step S12, a program update resource package corresponding to the target program is obtained from the server, and the target program is updated based on the program update resource package, wherein the target program is an available application with program reference version information being newer than program local version information.
Specifically, since there may be an available application that does not need to be updated, in this case, in order to improve the accuracy of the update and thus reduce the cost of the update, the server acquires, as a target program, an available application that transmits program reference version information that is newer than program local version information, and only needs to transmit a program update resource package of the target program to the initiator, which updates the target program.
It is noted that after the initiator receives the information set fed back by the server, the local version information of the available application is compared with the program reference version information of the available application in the information set, when the program reference version information is newer than the local version information of the program, the available application is used as a target program, a program resource package request is sent to the server, the program update resource package carries the target program, and the server obtains the target program according to the program resource package request, so that the program update resource package of the target program is obtained and fed back to the initiator.
In an actual application scene, the downloading and updating of the software are usually realized by developing a software management platform or using a third party platform, but the target software cannot be updated in time, and enough update autonomy is lacked, so that a user needs to wait for logging in the software management platform or the third party platform to update the software. To avoid this situation, so that the software can be updated in time, as long as the initiator is started, the initiator will send a program version request to the server, so that the server feeds back the information set, that is, the version update may not keep up with the interval of the initiator start, and there is a situation that the program reference version information of the available application in the server is the same as the program local version information. Obviously, if the server does not pay attention to whether the program reference version information is the same as the program local version information, each available application corresponding program update resource package is directly fed back to the initiator, or a lot of resources are wasted, and the update cost is increased. In view of the fact that the available applications with the same program reference version information and the same program local version information are not necessary to update, after the server feeds back the information set to the starter, the starter needs to acquire the available applications with different program reference version information and the different program local version information; in addition, the update is usually to replace the old version with the new version, so as to repair the defect problem in the old version, but there may be some unsafe situations, for example, the publisher may missend the old version to the server, or the server is attacked, so that the program reference version information in the server is older than the program local version information, at this time, if the server feeds back the information set to the initiator, the initiator directly uses the available application with the program reference version information different from the program local version information as the target program, then the available application with the program reference version information older than the program local version information may be mistakenly used as the target program, and then the server sends a program update resource packet corresponding to the target program to the initiator, and the initiator updates the target program based on the program update resource packet, so that the target program is updated to the old version, which gives the user bad use experience. In order to avoid this, the initiator needs to further select an available application whose program reference version information is newer than the program local version information as a target program on the basis of acquiring an available application whose program reference version information is different from the program local version information, and then send a program resource package request to the server, so that the server packages the program update resource of the target program to the initiator, and the initiator updates the target program based on the program update resource package of the target program. The target program is guaranteed to be updated to the updated version every time.
For example, referring to fig. 2, the initiator can initiate execution of an a-available application, a B-available application, and a C-available application, program reference version information 7.1.10 of the a-available application, program reference version information 10.3.90 of the B-available application, and program reference version information 8.0.41 of the C-available application in the server. And program local version information of the a available application 7.1.10, program local version information of the b available application 10.3.89, program local version information of the C available application 8.0.42. According to the version naming rule, the program local version information of the A available application is the same as the program reference version information, the program reference version information of the B available application is newer than the program local version information, and the program reference version information of the C available application is older than the program local version information, so that the B available application is used as a target program, a server feeds back a program update resource package of the target program, namely, the program update resource package of the B available application to a starter, and the starter updates the B available application based on the program update resource package of the B available application.
In addition, after the starter is started, a program version request is sent to the server, the server feeds back the information set, and in the process of acquiring the program local version information of the available application and comparing the program local version information with the program reference version information in the information set, the situation that the available application cannot acquire the program local version information possibly occurs, and at the moment, the available application is considered not to be installed, so that the program local version information does not exist, at the moment, the available application is also taken as a target program, and a program update resource package corresponding to the target program is acquired, so that the installation and release of the target program are realized.
In summary, the target program to be updated is accurately obtained by comparing the version information of the program local version information with the version information of the program reference version information, so that the increase of update cost caused by the waste of resources is avoided.
In addition, referring to fig. 1, the embodiment of the present invention further provides a software updating method, which is applied to a server, where the server is in communication connection with an initiator, and the software updating method includes, but is not limited to, steps S21 and S22:
step S21, when a program version request sent by a starter is obtained, an information set is sent to the starter, wherein the program version request is sent after being started by the starter, the information set comprises a plurality of first version information, the first version information is used for indicating program reference version information of available applications, and the available applications are programs started and run by the starter;
step S22, a program update resource package corresponding to the target program is sent to the initiator, so that the initiator updates the target program based on the program update resource package, wherein the target program is an available application with program reference version information newer than program local version information.
It should be noted that, the technical solution of the present embodiment may refer to descriptions of steps S11 to S12, and the difference is only that the execution body of the present embodiment is a server, and the description is not repeated here.
In an embodiment, the information set further includes initiator reference version information, where the initiator reference version information is version information of an initiator recorded by a server, and after acquiring a program version request sent by the initiator and sending the information set to the initiator, the method specifically further includes, but is not limited to, the following steps:
when the local version information of the starter is inconsistent with the reference version information of the starter, obtaining a starter resource package request sent by the starter;
and feeding back an initiator update resource package to the initiator, so that the initiator updates the initiator based on the initiator update resource package.
It should be noted that, the technical solution of this embodiment may refer to the description of the software updating method applied to the initiator, and the difference is only that the execution body of this embodiment is a server, and the description is not repeated here.
In an embodiment, determining location information where file information of the initiator reference version information is inconsistent with file information of the initiator local version information as the target location of the initiator, and when the initiator local version information is inconsistent with the initiator reference version information, obtaining an initiator resource package request sent by the initiator, including but not limited to the following steps:
Acquiring a starter resource package request sent by a starter, wherein the resource package request comprises a starter target position;
acquiring updated file information from the starter reference version information according to the starter target position;
acquiring file information to be updated from the local version information of the starter according to the target position of the starter;
and replacing the file information to be updated in the local version information of the initiator by the updated file information to obtain an update resource package of the initiator.
It should be noted that, the technical solution of this embodiment may refer to the description of the software updating method applied to the initiator, and the difference is only that the execution body of this embodiment is a server, and the description is not repeated here.
In an embodiment, a private key is set in the server, the private key is matched with a public key in the initiator, and when a program version request sent by the initiator is obtained, an information set is sent to the initiator, and the method specifically includes but is not limited to the following steps:
storing the first version information and the initiator reference version information into an information set;
and carrying out signature encryption on the information set in the information set by a private key in a preset encryption and decryption algorithm.
It should be noted that, the technical solution of this embodiment may refer to the description of the software updating method applied to the initiator, and the difference is only that the execution body of this embodiment is a server, and the description is not repeated here.
Further, a preset compression algorithm is set in the initiator, the compression algorithm is matched with a preset decompression algorithm in the initiator, and a program update resource packet corresponding to the target program is sent to the initiator, and the method specifically includes but is not limited to the following steps: and compressing the program update resource package through a compression algorithm.
It should be noted that, the technical solution of this embodiment may refer to the description of the software updating method applied to the initiator, and the difference is only that the execution body of this embodiment is a server, and the description is not repeated here.
In addition, the embodiment of the invention also provides a man-machine interaction flow chart of a software updating method, and the software updating method comprises the following steps:
after the client is started, displaying a plurality of available applications on the client;
based on the target program selected by the user from the available applications, the updating of the target program is completed at the client.
Specifically, the initiator is installed in the client, after the user starts the client, a plurality of available applications are displayed on the client, and the available applications are executed by starting the initiator, and in response to the selection of the available applications by the user, the selected available applications, namely, the target program, are updated on the client.
In practical applications, referring to fig. 3, after a user starts a client, a plurality of available applications are displayed in a client interface, for example, the available applications on the left side A, B, C in fig. 3, and the display form of the available applications is not limited herein, and may be, for example, presented in the form of a list of available applications. The user's selection of the available application is not limited herein, and illustratively, the available application may be a button on the client interface, clicking may be the selection, or may be the selection item, for example, as shown in fig. 3, the selection may be the selection … …, after responding to the user's selection of the available application on the client interface, taking the selected available application as a target program, further, after the user's selection of the available application, a screen related to the available application, for example, a game screen, may be displayed on the client interface, referring to the box on the right side of fig. 3, and after the selection of the available application on the B, a screen of the available application on the right side may appear in the box, for example, some game segments appear, so that the user is convenient to understand the attribute of the available application. Referring to fig. 3, the initial startup in the click graph, which is equivalent to the startup initiator, is determined while the B-available application is taken as the target program.
In addition, the content issued to the client by the issuer is a relevant program of the initiator, and the resource package is issued to the server, and the initiator obtains the resource package through communication connection with the server. However, if the initiator program is directly issued to the client, the use of the initiator program by the user is inconvenient, so that the initiator program is provided for the user to install and use on the client through the programmable automation cloud construction system to generate the initiator installation program. The specific flow is as follows: and (3) scanning a starter catalog, acquiring program and file information, automatically generating NSIS (open source script installation system) configuration, and executing NSIS instructions to generate a starter installation program. Still further, a starter program may be designed: including starter programs, resources and configuration files, adapt different available applications through different configurations. The starter program mainly comprises a UI interaction module, a self-updating module and a target software management module. And the UI interaction module is responsible for Loading background display, updating information display and the like, and different available applications read different display resources through different configurations. And the self-updating module is responsible for updating and maintaining the starter and the same logic used by different target programs. The target software management module comprises a downloading sub-module, a repairing sub-module, an updating sub-module and an unloading sub-module, is responsible for updating and maintaining target programs, and is identical in logical function of the initiator programs among different target programs except configuration information. By designing the initiator program so that it is common for different available applications of the program logic function, different parts are adapted by different configurations, such as different Loading diagrams, program title bar names, etc
In one embodiment, based on a target program selected by a user from available applications, completing updating of the target program at a client comprises:
sending a program version request to a server so as to enable the server to feed back an information set, wherein the information set comprises a plurality of first version information, the first version information is used for indicating program reference version information of available applications, and the available applications are programs started to run through a starter;
and acquiring a program update resource package corresponding to the target program from the server, and updating the target program based on the program update resource package, wherein the target program is an available application of which the program reference version information is newer than the program local version information.
It should be noted that, the technical solution of this embodiment may refer to the description of the software updating method applied to the initiator, and the difference is that in this embodiment, only the initiator is not used as an execution body, only the server is not used as an execution body, and the description is not repeated here.
The software update method provided in the present application is further described below with reference to fig. 4 by taking an application of the software update method in a game scenario as an example. Fig. 4 shows a flowchart of an initiator updating method applied to a software updating method in a game scene, which specifically includes the following steps:
S51: after the starter starts, the starter sends a version file request to the server;
s52: when a server acquires a version file request sent by a starter, sending a version file to the starter, wherein the version file is encrypted and signed by an RSA private key;
s53: the starter verifies and decrypts the version file through the RSA public key;
s54: if the starter verifies that the decryption is successful, obtaining program reference version information of a plurality of available applications and starter reference version information of the starter;
s55: if the starter reference version information of the starter is inconsistent with the starter local version information, sending a launcher file request;
s56: when a server acquires a launcher file request sent by a starter, sending a launcher file to the starter, and carrying out encryption signature on the launcher file by using an RSA private key;
specifically, the relative path, file size, CRC value, and the like of each file information of the initiator are stored in the launcher file.
S57: the initiator performs verification and decryption on the launcher file through the RSA public key, after the verification and decryption are successful, file information of initiator reference version information is obtained, the file information of the initiator reference version information is compared with file information of initiator local version information, and position information of inconsistent file information is obtained and is used as a target position of the initiator; sending a starter resource package request to a server, wherein the resource package request comprises a starter target position;
S58: the server acquires updated file information from the starter reference version information according to the starter target position, and acquires file information to be updated from the starter local version information according to the starter target position; the server replaces file information to be updated in the local version information of the starter by the updated file information to obtain a starter update resource package, and the starter update resource package is compressed by a Gzip DEFLATE algorithm;
s59: the starter decompresses the starter update resource package through a Gzip DEFLATE algorithm, and after decompression is successful, the starter is updated based on the decompressed starter update resource package;
in the software updating method applied to the game scene provided by the embodiment of the invention, whether the initiator needs to be updated can be judged according to the version file fed back by the server, if so, the target position of the initiator corresponding to the file information needing to be replaced in the initiator is obtained according to the initiator file fed back by the server and sent to the server, the server obtains updated file information in the initiator reference version information according to the target position of the initiator, and obtains file information to be updated in the initiator local version information according to the target position of the initiator; the server replaces the file information to be updated in the local version information of the starter by the updated file information to obtain a starter update resource package, and sends the starter update resource package to the starter for updating. When the starter needs to be updated, the starter is updated directly through the starter update resource package, so that the increase of cost caused by the self-research software management platform is avoided, and the trouble that the software management platform can only download the update package or the installation package and reinstallate and operate the update package or the installation package if the starter is required to be updated is avoided. The updating cost of the software is reduced, and the updating efficiency is improved.
Corresponding to the above method embodiment, the application of the software update method in the game scenario provided in the present application is taken as an example, with reference to fig. 5, and the software update method is further described below. Fig. 5 shows a flowchart of an available application update method in a software update method applied to a game scene, which specifically includes the following steps:
s61: after the starter starts, the starter sends a version file request to the server;
s62: when a server acquires a version file request sent by a starter, sending a version file to the starter, and carrying out encryption signature on the version file by using an RSA private key;
s63: the starter verifies and decrypts the version file through the RSA public key;
s64: if the starter verifies that the decryption is successful, obtaining program reference version information of a plurality of available applications and starter reference version information of the starter;
s65: the method comprises the steps that a starter takes an available application with inconsistent program reference version information and program local version information as a target program, and an app file request is sent, wherein the app file request carries the target program;
s66: when the server acquires an app file request sent by a starter, sending an app file of a target program to the starter, wherein the app file is encrypted and signed by an RSA private key;
Specifically, the app file stores therein information such as a relative path, a file size, a CRC value, and the like of each file information of the available applications.
S67: the method comprises the steps that an initiator verifies and decrypts an app file through an RSA public key, after verification and decryption are successful, file information of program reference version information of a target program is obtained, the file information of the program reference version information of the target program is compared with file information of program local version information, and position information of inconsistent file information is obtained and is used as a program target position; sending a program resource package request to a server, wherein the resource package request comprises a program target position;
specifically, the generating process of the laboratory file, the app file and the version file is completed according to the programmable automation cloud building system. And constructing according to a preset automatic task construction flow, solidifying a resource package generation flow, and automatically generating a resource package by running a pipeline by inputting different configuration data. Continuously integrating CI and continuously delivering CD systems.
S68: the server acquires updated file information from the program reference version information according to the program target position, and acquires file information to be updated from the program local version information according to the program target position; the server replaces file information to be updated in the local version information of the program through the updated file information to obtain a program update resource package, and the program update resource package is compressed through a Gzip DEFLATE algorithm;
S69: the starter decompresses the program update resource package through the Gzip DEFLATE algorithm, and updates the target program based on the decompressed program update resource package after the decompression is successful.
In the software updating method applied to the game scene provided by the embodiment of the invention, the available applications can be judged to be updated according to the version files fed back by the server, if the target programs to be updated exist, the program target positions corresponding to the file information to be replaced in the program local version information of the target programs are obtained according to the app files fed back by the server and are sent to the server, the server obtains updated file information in the program reference version information according to the program target positions, and the file information to be updated is obtained in the program local version information of the target programs according to the program target positions; the server replaces the file information to be updated in the local version information of the program by the updated file information to obtain a program update resource package, and the program update resource package is sent to the starter to update the target program. When the starter needs to be updated, the starter is updated directly through the starter update resource package, so that the increase of cost caused by the self-research software management platform is avoided, and the trouble that the software management platform can only download the update package or the installation package and reinstallate and operate the update package or the installation package if the starter is required to be updated is avoided. In addition, through the interaction between the starter and the server, the update of various available applications can be realized, one starter is not required to be correspondingly arranged in each available application, and the update cost of software is reduced.
Corresponding to the method embodiment, the application also provides an embodiment of the starter, and fig. 6 shows a schematic structural diagram of the starter according to one embodiment of the application. The initiator is communicatively connected to the server, as shown in fig. 6, and includes:
a program version request module 701 configured to send a program version request to a server after the initiator is started, so that the server feeds back an information set, where the information set includes a plurality of first version information, the first version information is used to indicate program reference version information of an available application, and the available application is a program started and run by the initiator;
the target program updating module 702 is configured to obtain a program updating resource packet corresponding to the target program from the server, and update the target program based on the program updating resource packet, where the target program is an available application with program reference version information being newer than program local version information.
According to some embodiments of the invention, the program version request module is further configured to:
the system comprises a starter local version information module, a starter local version information module and a starter local version information processing module, wherein the starter local version information module is configured to acquire starter local version information, and the starter local version information is used for indicating the current version information of a starter;
The starter reference version information module is configured to acquire starter reference version information from the information set;
the system comprises a starter resource package request module, a starter resource package management module and a server, wherein the starter resource package request module is configured to send a starter resource package request to the server when the starter local version information is inconsistent with the starter reference version information, so that the server feeds back a starter update resource package;
and the initiator updating resource package module is configured to acquire an initiator updating resource package from the server and update the initiator based on the initiator updating resource package.
According to some embodiments of the invention, the initiator update resource package module is further configured to:
a starter target location module configured to determine location information where file information of starter reference version information is inconsistent with file information of starter local version information as a starter target location; sending a starter resource package request to a server, wherein the resource package request comprises a starter target position, so that the server acquires updated file information in starter reference version information according to the starter target position, and acquires file information to be updated in starter local version information according to the starter target position; the server replaces the file information to be updated in the local version information of the starter by the updated file information to obtain a starter update resource package.
According to some embodiments of the invention, the program version request module is further configured to:
the decryption module is configured to verify and decrypt the information set through a public key in a preset encryption and decryption algorithm;
the first acquisition module is configured to acquire the first version information and the starter reference version information from the information set after the verification and decryption are successful.
According to some embodiments of the invention, the object update module is further configured to:
the decompression module is configured to decompress the program update resource package through a decompression algorithm;
and the second acquisition module is configured to acquire a program update resource package after the decompression is successful, and update the target program according to the program update resource package.
In the initiator provided by the embodiment of the application, by starting the initiator, a program version request is sent to a server, so that after the server obtains the program version request, an information set is fed back to the initiator, the information set comprises a plurality of first version information, the first version information is used for indicating the program version information of an available application, and the available application is used for indicating the program started and operated by the initiator. The method comprises the steps that a program update resource package corresponding to a target program is sent through a server, the target program is updated based on the program update resource package, the target program is used for indicating available application of program reference version information which is newer than program local version information, the target program which needs to be updated is determined through a server feedback information set, and the update of the target program is completed through the server feedback of the program update resource package corresponding to the target program, so that the need of installing an initiator on each software program for updating the software program is avoided, a self-research software management platform is not needed for downloading by clients, and the update cost of software is reduced.
The above is an exemplary version of an initiator of the present embodiment. It should be noted that, the technical solution of the initiator and the technical solution of the software updating method applied to the initiator belong to the same concept, and details of the technical solution of the initiator, which are not described in detail, can be referred to the description of the technical solution of the software updating method applied to the initiator.
Corresponding to the method embodiment, the present application further provides an embodiment of a server, and fig. 7 shows a schematic structural diagram of the server according to one embodiment of the present application. The server is communicatively connected to the initiator, as shown in fig. 7, and includes:
an information aggregation module 801 configured to, when a program version request sent by a starter is acquired, send an information aggregation to the starter, where the program version request is sent after being started by the starter, and the information aggregation includes a plurality of first version information, where the first version information is used to indicate program reference version information of an available application, and the available application is a program started and run by the starter;
the program update resource package module 802 is configured to send a program update resource package corresponding to the target program to the initiator, so that the initiator updates the target program based on the program update resource package, where the target program is an available application with program reference version information newer than program local version information.
According to some embodiments of the invention, the information aggregation module is further configured to:
the system comprises a first acquisition module for acquiring a starter resource package request sent by a starter when the local version information of the starter is inconsistent with the reference version information of the starter;
and the initiator updating resource package feedback module is configured to feed back an initiator updating resource package to the initiator, so that the initiator updates the initiator based on the initiator updating resource package.
According to some embodiments of the invention, the initiator resource package request acquisition module is further configured to:
the system comprises a starter resource package request second acquisition module, a first acquisition module and a second acquisition module, wherein the starter resource package request is configured to acquire a starter resource package request sent by a starter, and the resource package request comprises a starter target position;
the updated file information acquisition module is configured to acquire updated file information from the starter reference version information according to the starter target position;
the file information to be updated acquisition module is configured to acquire file information to be updated from the local version information of the starter according to the target position of the starter;
and the replacing module is configured to replace the file information to be updated in the local version information of the initiator by updating the file information to obtain an update resource package of the initiator.
According to some embodiments of the invention, the information aggregation module is further configured to:
a storage module configured to store the first version information and the initiator reference version information into an information set;
the encryption module is configured to sign and encrypt the information set in the information set through a private key in a preset encryption and decryption algorithm.
In the server provided by the embodiment of the application, by starting the starter, a program version request is sent to the server, so that the server feeds back an information set to the starter after obtaining the program version request, the information set comprises a plurality of first version information, the first version information is used for indicating the program version information of the available application, and the available application is used for indicating the program started and operated by the starter. The method comprises the steps that a program update resource package corresponding to a target program is sent through a server, the target program is updated based on the program update resource package, the target program is used for indicating available application of program reference version information which is newer than program local version information, the target program which needs to be updated is determined through a server feedback information set, and the update of the target program is completed through the server feedback of the program update resource package corresponding to the target program, so that the need of installing an initiator on each software program for updating the software program is avoided, a self-research software management platform is not needed for downloading by clients, and the update cost of software is reduced.
The above is a schematic solution of a server of the present embodiment. It should be noted that, the technical solution of the server and the technical solution of the software updating method applied to the server belong to the same concept, and details of the technical solution of the server, which are not described in detail, can be referred to the description of the technical solution of the software updating method applied to the server.
As shown in fig. 8, fig. 8 shows a block diagram of an electronic device 900 according to an embodiment of the present application. The components of the electronic device 900 include, but are not limited to, a memory 910 and a processor 920. Processor 920 is coupled to memory 910 via bus 930 with database 950 configured to hold data.
The electronic device 900 also includes an access device 940, the access device 940 enabling the electronic device 900 to communicate via one or more networks 960. Examples of such networks include the Public Switched Telephone Network (PSTN), a Local Area Network (LAN), a Wide Area Network (WAN), a Personal Area Network (PAN), or a combination of communication networks such as the internet. Access device 940 may include one or more of any type of network interface, wired or wireless (e.g., a Network Interface Card (NIC)), such as an IEEE802.11 Wireless Local Area Network (WLAN) wireless interface, a worldwide interoperability for microwave access (Wi-MAX) interface, an ethernet interface, a Universal Serial Bus (USB) interface, a cellular network interface, a bluetooth interface, a Near Field Communication (NFC) interface, and so forth.
In one embodiment of the present application, the above-described components of the electronic device 900 and other components not shown in fig. 8 may also be connected to each other, for example, through a bus. It should be understood that the block diagram of the electronic device shown in fig. 8 is for exemplary purposes only and is not intended to limit the scope of the present application. Those skilled in the art may add or replace other components as desired.
The electronic device 900 may be any type of stationary or mobile electronic device including a mobile computer or mobile electronic device (e.g., tablet, personal digital assistant, laptop, notebook, netbook, etc.), mobile telephone (e.g., smart phone), wearable electronic device (e.g., smart watch, smart glasses, etc.), or other type of mobile device, or a stationary electronic device such as a desktop computer or PC. The electronic device 900 may also be a mobile or stationary server.
Wherein the processor 920 is configured to execute computer-executable instructions of the object processing method.
The foregoing is a schematic illustration of a computing device of this embodiment. It should be noted that, the technical solution of the computing device and the technical solution of the object processing method belong to the same concept, and details of the technical solution of the computing device, which are not described in detail, can be referred to the description of the technical solution of the object processing method.
The embodiment of the application also provides a storage medium, which is a computer readable storage medium, and the storage medium stores a computer program, and the computer program realizes the software updating method when being executed by a processor.
The memory, as a non-transitory computer readable storage medium, may be used to store non-transitory software programs as well as non-transitory computer executable programs. In addition, the memory may include high-speed random access memory, and may also include non-transitory memory, such as at least one magnetic disk storage device, flash memory device, or other non-transitory solid state storage device. In some embodiments, the memory optionally includes memory remotely located relative to the processor, the remote memory being connectable to the processor through a network. Examples of such networks include, but are not limited to, the internet, intranets, local area networks, mobile communication networks, and combinations thereof. The apparatus embodiments described above are merely illustrative, in which the elements illustrated as separate components may or may not be physically separate, implemented to reside in one place, or may be distributed over a plurality of network elements. Some or all of the modules may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
Those of ordinary skill in the art will appreciate that all or some of the steps, systems, and methods disclosed above may be implemented as software, firmware, hardware, and suitable combinations thereof. Some or all of the physical components may be implemented as software executed by a processor, such as a central processing unit, digital signal processor, or microprocessor, or as hardware, or as an integrated circuit, such as an application specific integrated circuit. Such software may be distributed on computer readable media, which may include computer storage media (or non-transitory media) and communication media (or transitory media). The term computer storage media includes both volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data, as known to those skilled in the art. Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital Versatile Disks (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can be accessed by a computer. Furthermore, as is well known to those of ordinary skill in the art, communication media typically include computer readable instructions, data structures, program modules, or other data in a modulated data signal, such as a carrier wave or other transport mechanism, and may include any information delivery media.
While the preferred embodiments of the present application have been described in detail, the present application is not limited to the above embodiments, and various equivalent modifications and substitutions can be made by those skilled in the art without departing from the spirit and scope of the present application, and these equivalent modifications and substitutions are intended to be included in the scope of the present application as defined in the appended claims.

Claims (13)

1. A software update method applied to an initiator, the initiator being communicatively coupled to a server, the method comprising:
after the starter is started, a program version request is sent to the server so that the server feeds back an information set, wherein the information set comprises a plurality of first version information, the first version information is used for indicating program reference version information of available applications, and the available applications are programs started to run through the starter;
and acquiring a program update resource package corresponding to a target program from the server, and updating the target program based on the program update resource package, wherein the target program is the available application of which the program reference version information is newer than the program local version information.
2. The method of claim 1, wherein the information set further comprises initiator reference version information, the initiator reference version information being version information of the initiator described by the server, the method further comprising, after the sending of the version request to the server:
Acquiring the local version information of the starter, wherein the local version information of the starter is used for indicating the current version information of the starter;
acquiring the starter reference version information from the information set;
when the local version information of the starter is inconsistent with the reference version information of the starter, a starter resource package request is sent to the server, so that the server feeds back a starter update resource package;
and acquiring an initiator updating resource package from the server, and updating the initiator based on the initiator updating resource package.
3. The method of claim 2, wherein said sending a initiator resource package request to the server when the initiator local version information and the initiator reference version information are inconsistent comprises:
acquiring position information of inconsistent file information of the starter reference version information and file information of the starter local version information, and determining the position information as a starter target position;
sending a starter resource package request to the server, wherein the resource package request comprises the starter target position, so that the server acquires updated file information from the starter reference version information according to the starter target position, and acquires file information to be updated from the starter local version information according to the starter target position; and enabling the server to replace file information to be updated in the local version information of the starter through the updated file information to obtain the starter updated resource package.
4. The method according to claim 2, wherein a public key is provided in the initiator, the public key matches a private key in the server, and the sending of a program version request to the server after the initiator is started further comprises:
checking and decrypting the information set through a public key in a preset encryption and decryption algorithm;
and after the verification and decryption are successful, acquiring the first version information and the starter reference version information from the information set.
5. The method according to claim 1, wherein a preset decompression algorithm is set in the initiator, the decompression algorithm is matched with a compression algorithm preset in the server, the program update resource package corresponding to a target program is obtained from the server, the target program is updated based on the program update resource package, and the method further comprises:
decompressing the program update resource package through the decompression algorithm;
and after decompression is successful, acquiring the program update resource package, and updating the target program according to the program update resource package.
6. A software update method applied to a server, the server being communicatively coupled to an initiator, the method comprising:
When a program version request sent by the starter is obtained, sending an information set to the starter, wherein the program version request is sent after being started by the starter, the information set comprises a plurality of first version information, the first version information is used for indicating program reference version information of available applications, and the available applications are programs started to run by the starter;
and sending a program update resource package corresponding to a target program to the initiator so that the initiator updates the target program based on the program update resource package, wherein the target program is the available application of which the program reference version information is newer than the program local version information.
7. The method of claim 6, wherein the information set further includes initiator reference version information, the initiator reference version information being version information of the initiator recorded by the server, and after acquiring a program version request sent by the initiator, sending the information set to the initiator, further comprising:
when the local version information of the starter is inconsistent with the reference version information of the starter, obtaining a starter resource package request sent by the starter;
And feeding back an initiator update resource package to the initiator, so that the initiator updates the initiator based on the initiator update resource package.
8. The method of claim 7, wherein determining location information where the file information of the initiator reference version information is inconsistent with the file information of the initiator local version information as an initiator target location, and when the initiator local version information is inconsistent with the initiator reference version information, obtaining an initiator resource package request sent by the initiator includes:
acquiring an initiator resource package request sent by the initiator, wherein the resource package request comprises the target position of the initiator;
acquiring updated file information from the starter reference version information according to the starter target position;
acquiring file information to be updated from the local version information of the starter according to the target position of the starter;
and replacing the file information to be updated in the local version information of the starter by the updated file information to obtain the starter update resource package.
9. The method according to claim 7, wherein a private key is set in the server, the private key matches a public key in the initiator, and when a program version request sent by the initiator is obtained, sending an information set to the initiator, further comprising:
Storing the first version information and the initiator reference version information into the information set;
and carrying out signature encryption on the information set in the information set through a private key in a preset encryption and decryption algorithm.
10. An initiator in communication with a server, the initiator comprising:
a program version request module configured to send a program version request to the server after the initiator is started, so that the server feeds back an information set, wherein the information set comprises a plurality of first version information, the first version information is used for indicating program reference version information of available applications, and the available applications are programs started and run through the initiator;
and the target program updating module is configured to acquire a program updating resource packet corresponding to a target program from the server, and update the target program based on the program updating resource packet, wherein the target program is the available application of which the program reference version information is newer than the program local version information.
11. A server in communication with an initiator, the server comprising:
The information collection module is configured to send an information collection to the starter when a program version request sent by the starter is obtained, wherein the program version request is sent after being started by the starter, the information collection comprises a plurality of first version information, the first version information is used for indicating program reference version information of available applications, and the available applications are programs started to run by the starter;
and the program update resource package module is configured to send a program update resource package corresponding to a target program to the initiator so that the initiator updates the target program based on the program update resource package, wherein the target program is the available application of which the program reference version information is newer than the program local version information.
12. An electronic device comprising at least one control processor and a memory for communication connection with the at least one control processor; the memory stores instructions executable by the at least one control processor to enable the at least one control processor to perform the software updating method of any one of claims 1 to 5 or to perform the software updating method of any one of claims 6 to 9.
13. A computer-readable storage medium storing computer-executable instructions for causing a computer to perform the software update method of any one of claims 1 to 5 or capable of performing the software update method of any one of claims 6 to 9.
CN202311675821.0A 2023-12-07 2023-12-07 Software updating method, starter, server, electronic device, and storage medium Pending CN117850829A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311675821.0A CN117850829A (en) 2023-12-07 2023-12-07 Software updating method, starter, server, electronic device, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311675821.0A CN117850829A (en) 2023-12-07 2023-12-07 Software updating method, starter, server, electronic device, and storage medium

Publications (1)

Publication Number Publication Date
CN117850829A true CN117850829A (en) 2024-04-09

Family

ID=90542604

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311675821.0A Pending CN117850829A (en) 2023-12-07 2023-12-07 Software updating method, starter, server, electronic device, and storage medium

Country Status (1)

Country Link
CN (1) CN117850829A (en)

Similar Documents

Publication Publication Date Title
US9075693B2 (en) Methods for updating applications
US8935687B2 (en) Incrementally updating a software appliance
US8316224B2 (en) Systems and methods for tracking a history of changes associated with software packages and configuration management in a computing system
US8799890B2 (en) Generating a version identifier for a computing system based on software packages installed on the computing system
CN106843978B (en) SDK access method and system
CN104657174A (en) Method and device for dynamically realizing application function
CN106843976B (en) Method and apparatus for generating image file
CN111008034B (en) Patch generation method and device
KR20130012929A (en) Method and system for efficient download of data package
CN104052818A (en) Version upgrade method and device for mobile terminal
CN107341025B (en) Application updating method and device
CN107608663B (en) Mobile application plug-in and mobile application development method and device
CN102970342A (en) Automatic update method of embedded terminal based on over the air (OTA) technology
CN105302563A (en) Plug-in method and system for mobile application service
CN109391673A (en) A kind of method, system and the terminal device of management update file
US20140181025A1 (en) Transparent Data Service Suitable For Modifying Data Storage Capabilities In Applications
CN103475721A (en) System for updating digital assets and method thereof
TW201440475A (en) Streaming ZIP
US10324706B1 (en) Automated software deployment for electromechanical systems
CN102521390A (en) Database management and monitoring system based on pin function
KR101402115B1 (en) File syncronization method for multi user and multi terminal
CN115129574A (en) Code testing method and device
KR20160025282A (en) System and method for providing client terminal to user customized synchronization service
WO2017036197A1 (en) Method and device for managing network element model
CN117850829A (en) Software updating method, starter, server, electronic device, and storage medium

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination