CN112564956A - Remote upgrading method, equipment and device for client and storage medium - Google Patents

Remote upgrading method, equipment and device for client and storage medium Download PDF

Info

Publication number
CN112564956A
CN112564956A CN202011378680.2A CN202011378680A CN112564956A CN 112564956 A CN112564956 A CN 112564956A CN 202011378680 A CN202011378680 A CN 202011378680A CN 112564956 A CN112564956 A CN 112564956A
Authority
CN
China
Prior art keywords
client application
application program
client
upgrade
main process
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
CN202011378680.2A
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.)
Shandong Yahua Electronics Co ltd
Original Assignee
Shandong Yahua Electronics 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 Shandong Yahua Electronics Co ltd filed Critical Shandong Yahua Electronics Co ltd
Priority to CN202011378680.2A priority Critical patent/CN112564956A/en
Publication of CN112564956A publication Critical patent/CN112564956A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • H04L41/082Configuration setting characterised by the conditions triggering a change of settings the condition being updates or upgrades of network functionality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/656Updates while running
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5022Mechanisms to release resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Abstract

The application discloses a remote upgrading method, equipment, a device and a storage medium of a client, which are used for solving the technical problem that when a main process of an existing single-instance mode client application program is defective, an upgrading process is possibly defective or cannot run, and thus upgrading is failed. The method comprises the following steps: receiving a request instruction for starting a first client application program, and starting a main process in the first client application program; executing a check function in the main process to determine whether the first client application program needs to be upgraded; and under the condition that the first client application program needs to be upgraded, calling a preset upgrading process in the first client application program so as to upgrade the first client application program. According to the method and the device, the preset upgrading process and the main process are independently separated, so that the execution of the upgrading process cannot be influenced even if the main process has defects, and the smooth upgrading of the application program of the client side is ensured.

Description

Remote upgrading method, equipment and device for client and storage medium
Technical Field
The present application relates to the field of computer technologies, and in particular, to a method, an apparatus, and a storage medium for remote upgrade of a client.
Background
When the version of the client application program is detected to be too low, the client application program can be automatically upgraded after being started. Normally, the upgrade logic is under the main process program structure, so if the main process is not closed during the upgrade process, the main process in the client application program cannot be covered, which may result in the upgrade failure.
The existing remote upgrading mode of the client application program in the singleton mode is to temporarily modify the name of the main process into other names in the upgrading process, ensure that the main process is not occupied by resources when being covered, and then modify the name of the main process back after the upgrading is finished. However, since the upgrade logic is in the main process program structure and the main process is a complex logic body including a plurality of threads, a defective bug may be generated due to mutual influence of the complex logic bodies in the execution process of the main process, which may cause the upgrade logic to generate a bug or fail to operate the upgrade logic, so that the upgrade process cannot be completed when the client application program is upgraded.
Disclosure of Invention
The embodiment of the application provides a remote upgrading method, equipment, a device and a storage medium of a client, and solves the technical problem that if a bug is generated by a main process of an existing client application program in a singleton mode, the bug is possibly generated by an upgrading logic or the upgrading logic cannot be operated during remote upgrading, so that upgrading failure is caused.
In a first aspect, an embodiment of the present application provides a remote upgrade method for a client, including: receiving a request instruction for starting a first client application program, and starting a main process of the first client application program; wherein the client application is a singleton-mode client application; executing a check function in a main process of the first client application program to determine whether the first client application program needs to be upgraded; under the condition that a first client application program needs to be upgraded, calling a preset upgrading process in the first client application program to upgrade the first client application program into a second client application program; the preset upgrading process is independent from a main process of the first client application program; the second client application is an upgraded version of the first client application.
According to the embodiment of the application, the upgrading program is independent from the main process, and when the upgrading process is completely stable, maintenance is not needed; since the preset upgrading process is an independent and solidified stable program, the remote upgrading can not be carried out under any condition, and the condition that the upgrading fails due to bug occurrence of the upgrading program or incapability of running of upgrading logic caused by bug occurrence of the main process when the upgrading program is stored in the main process is avoided.
In an implementation manner of the present application, executing a check function in a main process to determine whether a first client application program needs to be upgraded specifically includes: calling a checking program in a preset HTTP service based on a checking function; receiving the version number of a second client application program sent by the server based on a check program in a preset HTTP service; judging whether the version number corresponding to the first client application program is the same as the version number corresponding to the second client application program; and under the condition that the version number corresponding to the first client application program is different from the version number corresponding to the second client application program, determining that the first client application program needs to be upgraded.
According to the method and the device, the version number of the second client application program in the server is received and compared with the version number of the first client application program, so that whether the first client needs to be upgraded or not is determined in time, and the accuracy of the determination result is guaranteed.
In one implementation of the present application, after determining that the first client application needs to be upgraded, the method further includes: calling a receiving program in a preset HTTP service based on the check function; and receiving a download address of the second client application program sent by the server.
In an implementation manner of the present application, when a first client application needs to be upgraded, invoking an upgrade process preset in the first client application specifically includes: determining an identifier corresponding to a preset upgrading process in a check function; determining a storage position of a preset upgrading process in a first client application program based on an identifier corresponding to the preset upgrading process; and calling the preset upgrading process based on the storage position of the preset upgrading process.
In an implementation manner of the present application, after the preset upgrade process is called, the method further includes: ending the main process of the first client application program, and releasing the resource occupation of the main process of the first client application program; receiving an upgrade package corresponding to the second client application program according to the download address of the second client application program; and decompressing the upgrade package, and covering the decompressed upgrade package on the first client application program.
In one implementation manner of the present application, after decompressing the upgrade package and overlaying the decompressed upgrade package on the first client application, the method further includes: determining a main process address corresponding to a second client application program in a preset upgrading process; determining a storage position of a main process in the second client application program based on the main process address corresponding to the second client application program; starting a main process of a second client application program based on the storage position of the main process; and ending the preset upgrading process and releasing the resource occupation of the preset upgrading process.
The embodiment of the application automatically restarts after being upgraded to the second client application, so that the user is prevented from manually starting the client application again, the design is more humanized, and the user can obtain better use experience; in addition, after the upgrade is finished, the resource occupation of the upgrade process is released, so that the resource occupation of the computer equipment is saved, and the operation burden of the computer equipment is lightened.
In an implementation manner of the present application, after determining whether the version number corresponding to the first client application program is the same as the version number corresponding to the second client application program, the method further includes: determining that the version number corresponding to the first client application program is the same as the version number corresponding to the second client application program; determining that the first client application does not require upgrading; and starting a main page corresponding to the first client application program based on the main process of the first client application program so as to completely start the first client application program.
In a second aspect, an embodiment of the present application further provides a remote upgrade device for a client, including: a processor; a memory having executable instructions stored thereon that, when executed, cause the processor to perform a method of remote upgrade of a client as described above.
In a third aspect, an embodiment of the present application further provides a remote upgrade apparatus for a client, including: the starting module is used for receiving a request instruction for starting the first client application program and starting a main process of the first client application program; wherein the client application is a singleton-mode client application; the verification module is used for executing a verification function in the main process of the first client application program so as to determine whether the first client application program needs to be upgraded or not; the upgrading module is used for calling a preset upgrading process in the first client application program under the condition that the first client application program needs to be upgraded so as to upgrade the first client application program into a second client application program; the preset upgrading process is independent from a main process of the first client application program; the second client application is an upgraded version of the first client application.
In a fourth aspect, an embodiment of the present application further provides a non-volatile computer storage medium for remote upgrade of a client, where computer-executable instructions are stored, and the computer-executable instructions are configured to: receiving a request instruction for starting a first client application program, and starting a main process of the first client application program; wherein the client application is a singleton-mode client application; executing a check function in a main process of the first client application program to determine whether the first client application program needs to be upgraded; under the condition that a first client application program needs to be upgraded, calling a preset upgrading process in the first client application program to upgrade the first client application program into a second client application program; the preset upgrading process is independent from a main process of the first client application program; the second client application is an upgraded version of the first client application.
Drawings
The accompanying drawings, which are included to provide a further understanding of the application and are incorporated in and constitute a part of this application, illustrate embodiment(s) of the application and together with the description serve to explain the application and not to limit the application. In the drawings:
fig. 1 is a flowchart of a remote upgrade method for a client according to an embodiment of the present disclosure;
fig. 2 is a flowchart of a preset upgrade process according to an embodiment of the present disclosure;
fig. 3 is a schematic internal structural diagram of a remote upgrade device of a client according to an embodiment of the present disclosure;
fig. 4 is a schematic internal structural diagram of a remote upgrade apparatus of a client according to an embodiment of the present disclosure.
Detailed Description
In order to make the objects, technical solutions and advantages of the present application more apparent, the technical solutions of the present application will be described in detail and completely with reference to the following specific embodiments of the present application and the accompanying drawings. It should be apparent that the described embodiments are only some of the embodiments of the present application, and not all of the embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present application.
When the client application program in the current singleton mode is detected to have too low version or the remote server needs to update the program of the client application program, the client application program is automatically upgraded after being started. Normally, the upgrade logic is under the program structure of the host process, so that, when the client is upgraded, if the host process is not closed in the upgrade process, the host process in the client application program cannot be covered.
The existing remote upgrading mode of the client application program in the singleton mode is to temporarily modify the name of the main process into other names in the upgrading process, ensure that the main process is not occupied by resources when being covered, and then modify the name of the main process back after the upgrading is finished. However, if the upgrade logic in the main process has a bug, the upgrade process cannot be completed during the upgrade process, thereby causing the upgrade failure.
The embodiment of the application provides a remote upgrading method, equipment, a device and a storage medium of a client, and solves the technical problem that upgrading fails due to the fact that if a bug is generated in a main process during remote upgrading of an existing single-instance mode client application program, the bug may be generated in upgrading logic or the upgrading logic cannot be operated.
The technical solutions proposed in the embodiments of the present application are described in detail below with reference to the accompanying drawings.
As shown in fig. 1, a remote upgrade method for a client provided in an embodiment of the present application includes the following steps:
it should be noted that the method execution subject provided in the embodiments of the present application is a processor or a computer device having a calculation processing function.
Step 101, receiving a request instruction for starting a first client application program, and starting a main process of the first client application program.
In one embodiment of the present application, the launch request instruction includes, but is not limited to, a launch request instruction formed by triggering a shortcut of the first client application of the desktop. After the start request instruction is triggered, the Windows system receives the start request instruction and starts the main process of the first client application program.
Specifically, after triggering the shortcut of the first client application program, the Windows program manager determines a shortcut loading program associated with the shortcut in a registry file according to the name of the shortcut, and sends the path of the shortcut to the shortcut loading program; the shortcut loading program determines the position of the shortcut according to the path of the shortcut and reads the information in the shortcut; wherein the information in the shortcut includes, but is not limited to, a path of the first client application host process; the shortcut loader determines the host process location of the first client application program according to the path of the host process of the first client application program, thereby starting the host process of the first client application program.
102, executing a check function in a main process of the first client application program to determine whether the first client application program needs to be upgraded;
after a main process in a first client application program is started, executing a check function in the main process; when the check function is executed, calling a check program in a preset HTTP service to judge whether the version number corresponding to the first client application program is the same as the version number corresponding to the second client application program in the server; determining that the first client application program does not need to be upgraded under the condition that the version number corresponding to the first client application program is the same as the version number corresponding to the second client application program; and under the condition that the version number corresponding to the first client application program is different from the version number corresponding to the second client application program, determining that the first client application program needs to be upgraded.
Specifically, after a main process in a first client application program is started in the embodiment of the application, the first client application program establishes a connection relationship with a server through an HTTP protocol; when a check function in the main process is executed, calling a check program in a preset HTTP service to enable the server to send a version number corresponding to a second client application program to a first client application program; and the check function judges whether the version number corresponding to the first client application program is the same as the version number corresponding to the second client application program in the server or not according to preset comparison logic.
It should be noted that, by receiving the version number of the second client application program in the server and comparing the version number with the version number of the first client application program, it is determined in time whether the first client needs to be upgraded, so as to ensure the accuracy of the determination result.
In an embodiment of the present application, when the version number corresponding to the first client application is the same as the version number corresponding to the second client application in the server, it is determined that the first client application does not need to be upgraded, at this time, a main process in the first client application is run, and a main page corresponding to the first client application is started, so that the first client application is completely opened.
In another embodiment of the present application, when a version number corresponding to a first client application program is different from a version number corresponding to a second client application program in a server, it is determined that the first client application program needs to be upgraded; and based on the check function, calling a receiving program in the preset HTTP service, and sending the download address of the second client application program to the first client application program by the server.
Step 103, under the condition that the first client application program needs to be upgraded, calling a preset upgrading process in the first client application program so as to upgrade the first client application program into a second client application program.
In an embodiment of the application, after comparing the version number corresponding to the first client application program with the version number corresponding to the second client application program according to the comparison logic, if the version number corresponding to the first client application program is different from the version number corresponding to the second client application program, the first client application program at this time needs to be upgraded. Further, based on the identifier corresponding to the preset upgrading process contained in the check function, determining a storage position of the preset upgrading process in the first client application program; it can be understood that the preset upgrading process and the main process of the application are two independent process files; and calling the preset upgrading process based on the position of the preset upgrading process.
Fig. 2 is a flowchart of a preset upgrade process according to an embodiment of the present disclosure. As shown in fig. 2, invoking a preset upgrade process in a first client application program to upgrade the first client application program into a second client application program specifically includes the following steps:
step 201, ending the main process in the first client application program, and releasing the resource occupation of the main process.
After the preset upgrading process is started, firstly, calling an exit program in a first client application program by the preset upgrading process; and when the exit program is executed, ending the main process in the first client application program and releasing the resource occupation of the main process.
It should be noted that, the main process started in step 101 is only a check function of the main process started, and determines whether the first client application program needs to be upgraded, and does not start a resident process in the main process, so that the main process in the first client application program can be ended through an exit program in the client application program, and resource occupation of the main process is released; the resident process is a partial process program in the main process, and after the resident process is started, the resident process is always operated in a memory of the computer equipment and cannot be closed through an exit program.
Step 202, receiving an upgrade package corresponding to the second client application program according to the download address of the second client application program.
After the main process in the first client application program is finished, presetting an upgrading process according to a download address of a second client application program sent by a server and received by computer equipment; linking to a location in the server where the second client application is stored, via the HTTP protocol; based on the HTTP service, the server sends an upgrade package corresponding to the second client application to the computer device.
And 203, decompressing the upgrade package, and covering the decompressed upgrade package on the first client application program.
After the upgrade package of the second client application program is downloaded in the preset upgrade process, the upgrade package needs to be decompressed because the upgrade package is a compressed file package of the second client application program. After the upgrade package is decompressed, replacing a file of a local first client application program with a file of a second client application program in the decompressed upgrade package; the version number and data file or configuration file of the local client application program is then updated.
In an embodiment of the application, after decompressing the upgrade package and covering the first client application program, determining a main process address corresponding to the second client application program in a preset upgrade process; determining a host process position in the second client application program based on the host process address corresponding to the second client application program; and running the main process of the second client application program, and starting the main page corresponding to the second client application program.
It can be understood that, since the first client application program is upgraded to the second client application program after being overwritten, the storage location of each program file in the second client application program is the same as the storage location of each program file corresponding to the first client application program, and therefore the host process address corresponding to the second client application program is the same as the host process address corresponding to the first client application program, so that the host process address corresponding to the second client application program can be written in the preset upgrade process, and when the preset upgrade process is run, the storage location of the host process corresponding to the second client application program can be determined by the host process address.
In an embodiment of the application, after the main page corresponding to the second client application program is started and completed, the preset upgrading process is ended, and the resource occupation of the preset upgrading process is released; the method for ending the preset upgrading process includes, but is not limited to: the preset upgrading process is automatically ended; and the preset upgrading process is passively finished. Specifically, the automatic termination of the preset upgrade process means that the preset upgrade process is self-closed after the upgrade process of upgrading the first client application program into the second client application program is executed; the step of passively finishing the preset upgrading process refers to that the second client application program determines the position of the preset upgrading process in the second client application program according to the identification corresponding to the preset upgrading process contained in the check function, so that the preset upgrading process is finished.
The embodiment of the application automatically restarts after being upgraded to the second client application, so that the user is prevented from manually starting the client application again, the design is more humanized, and the user can obtain better use experience; in addition, after the upgrade is finished, the resource occupation of the upgrade process is released, so that the resource occupation of the computer equipment is saved, and the operation burden of the computer equipment is lightened.
It should be noted that, in the present application, by adding a new operation of a preset upgrade process, the main process in the first client application program is ended, the upgrade package corresponding to the second client application program is downloaded, and the upgrade package is decompressed, so that the first client application program is placed in the preset upgrade process for execution, so that the upgrade program is completely independent from the main process, and when the upgrade logic is completely stable, maintenance is not required. When the upgrade package is decompressed and the first client application program is covered, the preset upgrade process does not need to be replaced. Therefore, even if the bug of the client application program needs to be upgraded, the problem cannot occur in any situation when the remote upgrade is carried out due to the fact that the bug does not exist in the preset upgrade process, and the situation that when the upgrade program is stored in the main process, if the bug of the upgrade logic part exists in the main process, the upgrade fails is avoided.
Based on the same inventive concept, the embodiment of the present application further provides a remote upgrade device for a client, and an internal structure of the remote upgrade device is shown in fig. 3.
Fig. 3 is a schematic diagram of an internal structure of a remote upgrade device of a client according to an embodiment of the present application. As shown in fig. 3, the apparatus includes: a processor 301; a memory 302 having stored thereon executable instructions that, when executed, cause the processor 301 to perform a method of remote upgrade of a client as described above.
In an embodiment of the present application, the processor 301 is configured to receive an initiation request instruction, and initiate a host process in a first client application; the system comprises a main process, a first client application program and a second client application program, wherein the main process is used for executing a check function in the main process and judging whether the first client application program needs to be upgraded or not; the method and the device are also used for calling a preset upgrading process in the first client application program under the condition that the first client application program needs to be upgraded so as to upgrade the first client application program into a second client application program.
Based on the same inventive concept, the embodiment of the present application further provides a remote upgrade device for a client, and an internal structure of the remote upgrade device is shown in fig. 4.
Fig. 4 is a schematic internal structural diagram of a remote upgrade apparatus of a client according to an embodiment of the present disclosure. As shown in fig. 4, a remote upgrade apparatus 400 of a client according to an embodiment of the present application includes: a starting module 401, a checking module 402 and an upgrading module 403.
Those skilled in the art will appreciate that the internal structure of the remote upgrade apparatus of the client shown in fig. 4 does not constitute a limitation of the remote upgrade apparatus of the client, and in fact, the remote upgrade apparatus of the client may include more or less components than those shown in fig. 4, or some components may be combined, or an arrangement of different components may be used.
In an embodiment of the present application, the starting module 301 is configured to receive a request instruction for starting a first client application program, and start a main process in the first client application program; wherein the client application is a singleton-mode client application; a checking module 302, configured to execute a checking function in the main process to determine whether the first client application needs to be upgraded; the upgrading module 303 is configured to, when the first client application program needs to be upgraded, call a preset upgrading process in the first client application program to upgrade the first client application program to a second client application program; wherein, the preset upgrading process is independent from the main process; the second client application is an upgraded version of the first client application.
Some embodiments of the present application provide a non-transitory computer storage medium corresponding to a remote upgrade of a client of fig. 1, storing computer-executable instructions configured to:
receiving a request instruction for starting a first client application program, and starting a main process in the first client application program; wherein the client application is a singleton-mode client application;
executing a check function in the main process to determine whether the first client application program needs to be upgraded;
under the condition that a first client application program needs to be upgraded, calling a preset upgrading process in the first client application program to upgrade the first client application program into a second client application program; wherein, the preset upgrading is carried out independently from the main process; the second client application is an upgraded version of the first client application.
The embodiments in the present application are described in a progressive manner, and the same and similar parts among the embodiments can be referred to each other, and each embodiment focuses on the differences from the other embodiments. In particular, for the device and media embodiments, the description is relatively simple as it is substantially similar to the method embodiments, and reference may be made to some descriptions of the method embodiments for relevant points.
The device, the apparatus, and the medium provided in the embodiment of the present application correspond to the method one to one, and therefore, the device, the apparatus, and the medium also have beneficial technical effects similar to those of the corresponding method.
As will be appreciated by one skilled in the art, embodiments of the present application may be provided as a method, system, or computer program product. Accordingly, the present application may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, the present application may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, and the like) having computer-usable program code embodied therein.
The present application is described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the application. It will be understood that each flow and/or block of the flow diagrams and/or block diagrams, and combinations of flows and/or blocks in the flow diagrams and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
In a typical configuration, a computing device includes one or more processors (CPUs), input/output interfaces, network interfaces, and memory.
The memory may include forms of volatile memory in a computer readable medium, Random Access Memory (RAM) and/or non-volatile memory, such as Read Only Memory (ROM) or flash memory (flash RAM). Memory is an example of a computer-readable medium.
Computer-readable media, including both non-transitory and non-transitory, removable and non-removable media, may implement information storage by any method or technology. The information may be computer readable instructions, data structures, modules of a program, or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), Static Random Access Memory (SRAM), Dynamic Random Access Memory (DRAM), other types of Random Access Memory (RAM), Read Only Memory (ROM), Electrically Erasable Programmable Read Only Memory (EEPROM), flash memory or other memory technology, compact disc read only memory (CD-ROM), Digital Versatile Discs (DVD) or other optical storage, magnetic cassettes, magnetic tape magnetic disk storage or other magnetic storage devices, or any other non-transmission medium that can be used to store information that can be accessed by a computing device. As defined herein, a computer readable medium does not include a transitory computer readable medium such as a modulated data signal and a carrier wave.
The embodiments in the present application are described in a progressive manner, and the same and similar parts among the embodiments can be referred to each other, and each embodiment focuses on the differences from the other embodiments. In particular, as for the apparatus embodiment, since it is substantially similar to the method embodiment, the description is relatively simple, and for the relevant points, reference may be made to the partial description of the method embodiment.
It should also be noted that the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising an … …" does not exclude the presence of other like elements in a process, method, article, or apparatus that comprises the element.
The above description is only an example of the present application and is not intended to limit the present application. Various modifications and changes may occur to those skilled in the art. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present application should be included in the scope of the claims of the present application.

Claims (10)

1. A method for remotely upgrading a client, the method comprising:
receiving a request instruction for starting a first client application program so as to start a main process of the first client application program; wherein the client application is a singleton-mode client application;
executing a check function in a main process of the first client application program to determine whether the first client application program needs to be upgraded;
under the condition that the first client application program needs to be upgraded, calling a preset upgrading process in the first client application program to upgrade the first client application program into a second client application program; the first client application program and the second client application program correspond to the same client, and the second client application program is an upgraded version of the first client application program;
and the preset upgrading process is independent from the main process of the first client application program.
2. The method according to claim 1, wherein executing a check function in a host process of the first client application program to determine whether the first client application program needs to be upgraded comprises:
calling a checking program in a preset HTTP service based on the checking function;
receiving the version number of a second client application program sent by the server based on the verification program in the preset HTTP service;
judging whether the version number corresponding to the first client application program is the same as the version number corresponding to the second client application program;
and under the condition that the version number corresponding to the first client application program is different from the version number corresponding to the second client application program, determining that the first client application program needs to be upgraded.
3. The method for remote upgrade of a client according to claim 2, wherein after determining that the first client application requires upgrade, the method further comprises:
based on the check function, calling a receiving program in a preset HTTP service;
and receiving a download address of the second client application program sent by the server.
4. The method according to claim 1, wherein when the first client application program needs to be upgraded, a preset upgrade process in the first client application program is invoked, specifically including:
determining an identifier corresponding to the preset upgrading process in the check function;
determining a storage position of the preset upgrading process in the first client application program based on the identifier corresponding to the preset upgrading process;
and calling the preset upgrading process based on the storage position of the preset upgrading process.
5. The method for remote upgrade of a client according to claim 1, wherein after the pre-set upgrade procedure is invoked, the method further comprises:
ending the main process of the first client application program, and releasing the resource occupation of the main process of the first client application program;
receiving an upgrade package corresponding to the second client application program according to the download address of the second client application program;
decompressing the upgrade package, and covering the decompressed upgrade package on the first client application program.
6. The method of claim 5, wherein after decompressing the upgrade package and overlaying the decompressed upgrade package on the first client application, the method further comprises:
determining a main process address corresponding to the second client application program in the preset upgrading process;
determining a storage position of a main process in the second client application program based on the main process address corresponding to the second client application program;
starting a host process of the second client application program based on a storage location of the host process;
and ending the preset upgrading process and releasing the resource occupation of the preset upgrading process.
7. The method according to claim 2, wherein after determining whether the version number corresponding to the first client application is the same as the version number corresponding to the second client application, the method further comprises:
determining that the version number corresponding to the first client application program is the same as the version number corresponding to the second client application program;
determining that the first client application does not require an upgrade;
and starting a main page corresponding to the first client application program based on the main process of the first client application program so as to completely start the first client application program.
8. A remote upgrade apparatus for a client, the apparatus comprising:
a processor;
memory having stored thereon executable instructions that, when executed, cause the processor to perform a method of remote upgrade of a client according to any one of claims 1-7.
9. An apparatus for remotely upgrading a client, the apparatus comprising:
the starting module is used for receiving a request instruction for starting a first client application program and starting a main process of the first client application program; wherein the client application is a singleton-mode client application;
the verification module is used for executing a verification function in the main process of the first client application program so as to determine whether the first client application program needs to be upgraded or not;
the upgrading module is used for calling a preset upgrading process in the first client application program under the condition that the first client application program needs to be upgraded so as to upgrade the first client application program into a second client application program; the preset upgrading process is independent from a main process of the first client application program; the second client application program is an upgraded version of the first client application program.
10. A non-transitory computer storage medium for remote upgrade of a client, storing computer-executable instructions, the computer-executable instructions configured to:
receiving a request instruction for starting a first client application program, and starting a main process of the first client application program; wherein the client application is a singleton-mode client application;
executing a check function in a main process of the first client application program to determine whether the first client application program needs to be upgraded;
under the condition that the first client application program needs to be upgraded, calling a preset upgrading process in the first client application program to upgrade the first client application program into a second client application program; the preset upgrading is independent from the main process of the first client application program; the second client application program is an upgraded version of the first client application program.
CN202011378680.2A 2020-11-30 2020-11-30 Remote upgrading method, equipment and device for client and storage medium Pending CN112564956A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011378680.2A CN112564956A (en) 2020-11-30 2020-11-30 Remote upgrading method, equipment and device for client and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011378680.2A CN112564956A (en) 2020-11-30 2020-11-30 Remote upgrading method, equipment and device for client and storage medium

Publications (1)

Publication Number Publication Date
CN112564956A true CN112564956A (en) 2021-03-26

Family

ID=75045600

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011378680.2A Pending CN112564956A (en) 2020-11-30 2020-11-30 Remote upgrading method, equipment and device for client and storage medium

Country Status (1)

Country Link
CN (1) CN112564956A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114640584A (en) * 2022-02-14 2022-06-17 西安广和通无线软件有限公司 Module upgrading method and system
WO2024041283A1 (en) * 2022-08-23 2024-02-29 北京比特大陆科技有限公司 Client upgrading method and apparatus, terminal device, and storage medium

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103136013A (en) * 2011-12-01 2013-06-05 腾讯科技(深圳)有限公司 Method and system of software upgrade
WO2015028538A1 (en) * 2013-09-02 2015-03-05 Agfa Healthcare A method and system for upgrading software
CN109656595A (en) * 2018-12-10 2019-04-19 北京百家互联科技有限公司 The method, apparatus and system that client-side program updates
CN110069266A (en) * 2018-01-24 2019-07-30 腾讯科技(深圳)有限公司 Application upgrade method, apparatus, computer equipment and storage medium
CN110119279A (en) * 2018-02-06 2019-08-13 北京京东尚科信息技术有限公司 A kind of method and apparatus applied and its upgrade

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103136013A (en) * 2011-12-01 2013-06-05 腾讯科技(深圳)有限公司 Method and system of software upgrade
WO2015028538A1 (en) * 2013-09-02 2015-03-05 Agfa Healthcare A method and system for upgrading software
CN110069266A (en) * 2018-01-24 2019-07-30 腾讯科技(深圳)有限公司 Application upgrade method, apparatus, computer equipment and storage medium
CN110119279A (en) * 2018-02-06 2019-08-13 北京京东尚科信息技术有限公司 A kind of method and apparatus applied and its upgrade
CN109656595A (en) * 2018-12-10 2019-04-19 北京百家互联科技有限公司 The method, apparatus and system that client-side program updates

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114640584A (en) * 2022-02-14 2022-06-17 西安广和通无线软件有限公司 Module upgrading method and system
CN114640584B (en) * 2022-02-14 2023-11-24 西安广和通无线软件有限公司 Module upgrading method and system
WO2024041283A1 (en) * 2022-08-23 2024-02-29 北京比特大陆科技有限公司 Client upgrading method and apparatus, terminal device, and storage medium

Similar Documents

Publication Publication Date Title
CN105867947B (en) Data processing method and device after preset application program updating
CN109788068B (en) Heartbeat state information reporting method, device and equipment and computer storage medium
CN107220074B (en) Method and device for accessing and upgrading supporting layer software function
CN112564956A (en) Remote upgrading method, equipment and device for client and storage medium
CN112148315A (en) Software deployment method, device, server and storage medium
CN113190282A (en) Android operating environment construction method and device
CN110716845A (en) Method for reading log information of Android system
CN113296896B (en) Distributed transaction processing method, device and equipment
CN112799778A (en) Container application starting method, device and medium
CN111176671B (en) Method for automatically and continuously updating system, mobile terminal and storage medium
US20230359450A1 (en) Cloud application engine deployment method for shielding web framework from users and apparatus, device and storage medium thereof
CN116048618A (en) Probe processing method, system, electronic device and readable storage medium
CN116382713A (en) Method, system, device and storage medium for constructing application mirror image
CN113467893B (en) Automatic testing method and device for virtual machine, storage medium and processor
CN113296793A (en) Application processing method and device, electronic equipment and medium
CN110362320B (en) Command implementation method and device of application development platform
CN111984299A (en) Data loading method and equipment
CN112579145A (en) Application deployment method and device
CN112416555B (en) Client restarting method, device and apparatus, and storage medium
US11714744B2 (en) System and method for diagnosing a computing device in safe mode
CN114785859B (en) Service registration method, device, equipment and storage medium
CN110874238A (en) Online service updating method and device
CN111142915B (en) Updating method, device and equipment
CN117834430A (en) Nacos cluster deployment method and device and electronic equipment
CN109375928B (en) Method and device for integrating and managing third-party driving software based on NSIS script

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
RJ01 Rejection of invention patent application after publication

Application publication date: 20210326

RJ01 Rejection of invention patent application after publication