Summary of the invention
In view of this, the present disclosure proposes a kind of method for upgrading software and device, it is slower with the speed for solving software upgrading
The problem of.
According to the one side of the disclosure, a kind of method for upgrading software is provided, comprising:
Obtain the component list of the target version of software;
The component list of the target version is compared with the component list of the current version of the software, determines institute
State target version from the current version identical module information and different module informations;
According to the identical module information, from local identical group for obtaining the target version and the current version
Part;
According to the different module information, it is different from the current version that the target version is obtained from server
Component;
According to the identical component and the different component, the software is upgraded.
In one possible implementation, from local identical group for obtaining the target version and the current version
Part, comprising:
In the case where the current version is original installation version, from the first area acquisition target version with it is described
The identical component of current version, wherein the first area is the region for needing to carry out user account control UAC certification.
In one possible implementation, from local identical group for obtaining the target version and the current version
Part, comprising:
In the case where the current version is not original installation version, the target version and institute are obtained from second area
State the identical component of current version, wherein the second area is the region for not needing to carry out UAC certification.
In one possible implementation, the method also includes:
According to the identical component and the different component, the corresponding upgrade package of the target version is generated;
In the second area by upgrade package storage.
In one possible implementation, after upgrading to the software, the method also includes:
In the case where the software upgrading is completed, the corresponding agent configuration file of the software is generated, wherein the generation
Reason configuration file includes the storage location information of the target version.
In one possible implementation, the method also includes:
In the case where detecting the corresponding enabled instruction of the software, if being detected by the agent process of the software
There are agent configuration files, then the storage location information of the target version is obtained from the agent configuration file;
According to the storage location information of target version, start the target version.
According to another aspect of the present disclosure, a kind of software updating apparatus is provided, comprising:
First obtains module, the component list of the target version for obtaining software;
Determining module, for by the component list of the component list of the target version and the current version of the software into
Row compares, determine the target version from the current version identical module information and different module informations;
Second obtains module, for according to the identical module information, from it is local obtain the target version with it is described
The identical component of current version;
Third obtains module, for obtaining the target version and institute from server according to the different module information
State the different components of current version;
Upgraded module, for upgrading to the software according to the identical component and the different component.
In one possible implementation, the second acquisition module includes:
First acquisition submodule, for being obtained from first area in the case where the current version is original installation version
Take the identical component of the target version Yu the current version, wherein the first area is to need to carry out user account
Control the region of UAC certification.
In one possible implementation, the second acquisition module includes:
Second acquisition submodule, in the case where the current version is not original installation version, from second area
Obtain the identical component of the target version Yu the current version, wherein the second area is not need progress UAC to recognize
The region of card.
In one possible implementation, described device further include:
First generation module, for generating the target version according to the identical component and the different component
Corresponding upgrade package;
Memory module, for storing in the second area the upgrade package.
In one possible implementation, described device further include:
Second generation module is matched in the case where the software upgrading is completed, generating the corresponding agency of the software
Set file, wherein the agent configuration file includes the storage location information of the target version.
In one possible implementation, described device further include:
Third obtains module, in the case where detecting the corresponding enabled instruction of the software, if by described soft
The agent process of part detects the presence of agent configuration file, then depositing for the target version is obtained from the agent configuration file
Store up location information;
Starting module starts the target version for the storage location information according to target version.
According to another aspect of the present disclosure, a kind of software updating apparatus is provided, comprising: processor;It is handled for storage
The memory of device executable instruction;Wherein, the processor is configured to executing the above method.
According to another aspect of the present disclosure, a kind of non-volatile computer readable storage medium storing program for executing is provided, is stored thereon with
Computer program instructions, wherein the computer program instructions realize the above method when being executed by processor.
The method for upgrading software and device of all aspects of this disclosure, will by the component list of the target version of acquisition software
The component list of the current version of the component list and software of target version is compared, and determines target version and current version
Identical module information and different module informations, according to identical module information, from the local target version and current of obtaining
The identical component of version obtains the target version group different from current version from server according to different module informations
Part, and according to identical component and different components, which is upgraded, thus, it is possible to subtract significantly in software upgrading
Few download, so as to improve the speed of software upgrading.
According to below with reference to the accompanying drawings to detailed description of illustrative embodiments, the other feature and aspect of the disclosure will become
It is clear.
Specific embodiment
Various exemplary embodiments, feature and the aspect of the disclosure are described in detail below with reference to attached drawing.It is identical in attached drawing
Appended drawing reference indicate element functionally identical or similar.Although the various aspects of embodiment are shown in the attached drawings, remove
It non-specifically points out, it is not necessary to attached drawing drawn to scale.
Dedicated word " exemplary " means " being used as example, embodiment or illustrative " herein.Here as " exemplary "
Illustrated any embodiment should not necessarily be construed as preferred or advantageous over other embodiments.
In addition, giving numerous details in specific embodiment below to better illustrate the disclosure.
It will be appreciated by those skilled in the art that without certain details, the disclosure equally be can be implemented.In some instances, for
Method, means, element and circuit well known to those skilled in the art are not described in detail, in order to highlight the purport of the disclosure.
Fig. 1 shows the flow chart of the method for upgrading software according to one embodiment of the disclosure.This method can be applied to mobile phone,
The terminals such as tablet computer, laptop, PC (Personal Computer, personal computer) or wearable intelligent equipment
In equipment, it is not limited thereto.The present embodiment can be used for upgrading the software of independent process form, not limit herein
It is fixed.As shown in Figure 1, the method comprising the steps of S11 to step S15.
In step s 11, the component list of the target version of software is obtained.
As an example of the present embodiment, terminal device detect need the software is upgraded in the case where,
The component list of the target version of the software can be obtained from server.Wherein, the component list of target version may include mesh
Title and the version number etc. for marking all components of version, are not limited thereto.
In step s 12, the component list of target version is compared with the component list of the current version of the software,
Determine target version from current version identical module information and different module informations.
Wherein, the component list of current version may include title and version number of all components of current version etc.,
This is not construed as limiting.
In the present embodiment, by the various components in the component list of target version respectively with the component list of current version
In various components be compared, can determine that target version from current version believe by identical module information and different component
Breath.Wherein, module information may include title and version number of component etc., be not limited thereto.
In step s 13, according to identical module information, from local identical group for obtaining target version and current version
Part.
In the present embodiment, for the identical component of target version and current version, without being obtained from server, but
From local acquisition, thus, it is possible to greatly reduce the download for downloading the component of target version of the software from server, so as to
Enough escalation process for completing software more quickly.
It in one possible implementation, can be with from the local identical component for obtaining target version and current version
It include: that it is identical as current version to obtain target version from first area in the case where current version is original installation version
Component, wherein first area be need to carry out UAC (User Account Control, user account control) certification area
Domain.For example, first area can be the installation directory in terminal device, i.e., first area can be when installing the software for the first time
Installation path.In this implementation, the case where current version is original installation version (i.e. this upgrades to upgrades for the first time)
Under, can be copied from first area it is original installation version and target version identical component to second area target version pair
In the subregion answered.
It in one possible implementation, can be with from the local identical component for obtaining target version and current version
It include: that the phase of target version and current version is obtained from second area in the case where current version is not original installation version
Same component, wherein second area is the region for not needing to carry out UAC certification.For example, second area can be in terminal device
Upgrading catalogue under appdata.In this implementation, second area can be used for storing the upgrade package of each upgrading.At this
In implementation, in the case where current version is not original installation version (i.e. this upgrading is not upgrading for the first time), Ke Yicong
In the corresponding subregion of the current version of second area, the identical component of current version and target version is copied to second area
The corresponding subregion of target version in.
In step S14, according to different module informations, it is different from current version that target version is obtained from server
Component.
In the present embodiment, the target version component different from current version is downloaded from server.
In step S15, according to identical component and different components, which is upgraded.
By obtain target version from current version identical component and different components, obtain the institute of target version
There is component, to complete the upgrading of the software.
Conditioning step S13 and step S14 does not execute sequence to the present embodiment.For example, step S13 can be first carried out, then hold
Row step S14;Alternatively, step S14 can be first carried out, then execute step S13.
The present embodiment passes through the component list for obtaining the target version of software, by the component list of target version and the software
The component list of current version be compared, determine target version from current version identical module information and different groups
Part information, according to identical module information, from the local identical component for obtaining target version and current version, according to different
Module information obtains the target version component different from current version from server, and according to identical component and difference
Component, which is upgraded, thus, it is possible to greatly reduce download in software upgrading, so as to improve software liter
The speed of grade.
Fig. 2 shows the illustrative flow charts according to the method for upgrading software of one embodiment of the disclosure.As shown in Fig. 2,
The method comprising the steps of S11 to step S17.
In step s 11, the component list of the target version of software is obtained.
In step s 12, the component list of target version is compared with the component list of the current version of the software,
Determine target version from current version identical module information and different module informations.
In step s 13, according to identical module information, from local identical group for obtaining target version and current version
Part.
In step S14, according to different module informations, it is different from current version that target version is obtained from server
Component.
In step S15, according to identical component and different components, which is upgraded.
In step s 16, according to identical component and different components, the corresponding upgrade package of target version is generated.
In step S17, in the second area by upgrade package storage.
In the present embodiment, by the way that upgrade package to be stored in the second area for not needing to carry out UAC certification, thus, it is possible to keep away
Exempting to need to input administrator's password could complete to upgrade.
In the present embodiment, by store in the second area include target version all components upgrade package, that is,
The complete upgrade package for storing target version in the second area, can guarantee the stability of software upgrading.
In one possible implementation, it in the case where the corresponding upgrade package verification of target version passes through, can delete
Except the corresponding upgrade package of last revision in second area, to save the memory space of terminal device.
In one possible implementation, original installation version can be retained in the first region, in second area
In upgrade package damage or not available situation under, start first area in original installation version, to allow users to
Normal use software under upgrade package damage or not available situation in second area.
Fig. 3 shows an illustrative flow chart of the method for upgrading software according to one embodiment of the disclosure.As shown in figure 3,
The method comprising the steps of S11 to step S15 and step S18.
In step s 11, the component list of the target version of software is obtained.
In step s 12, the component list of target version is compared with the component list of the current version of the software,
Determine target version from current version identical module information and different module informations.
In step s 13, according to identical module information, from local identical group for obtaining target version and current version
Part.
In step S14, according to different module informations, it is different from current version that target version is obtained from server
Component.
In step S15, according to identical component and different components, which is upgraded.
In step S18, in the case where the software upgrading is completed, the corresponding agent configuration file of the software is generated,
In, which includes the storage location information of target version.
In one possible implementation, which can also include version number and the target of last revision
The version number of version.
Fig. 4 shows an illustrative flow chart of the method for upgrading software according to one embodiment of the disclosure.As shown in figure 4,
The method comprising the steps of S11 to step S15 and step S18, step S19 and step S20.
In step s 11, the component list of the target version of software is obtained.
In step s 12, the component list of target version is compared with the component list of the current version of the software,
Determine target version from current version identical module information and different module informations.
In step s 13, according to identical module information, from local identical group for obtaining target version and current version
Part.
In step S14, according to different module informations, it is different from current version that target version is obtained from server
Component.
In step S15, according to identical component and different components, which is upgraded.
In step S18, in the case where the software upgrading is completed, the corresponding agent configuration file of the software is generated,
In, which includes the storage location information of target version.
In step S19, in the case where detecting the corresponding enabled instruction of the software, if by the agency of the software into
Journey detects the presence of agent configuration file, then the storage location information of target version is obtained from the agent configuration file.
In the present embodiment, after the completion of software upgrading, when starting the software next time, pass through the agent process of the software
Detect whether that there are agent configuration files.The agent configuration file of the software if it exists then shows that the software has a update, and according to
The storage location information of target version in the agent configuration file starts the software.The proxy configurations text of the software if it does not exist
Part then starts the software from first area.
In step S20, according to the storage location information of target version, start target version.
In the present embodiment, it is possible to complete the silent upgrading of software during user uses software, without with
Prompt user needs to upgrade when family starts software, prompts user to need to upgrade without during user is using software, from
And software upgrading can be completed in the case where user's unaware, greatly improve the experience that user uses software.
Fig. 5 shows the block diagram of the software updating apparatus according to one embodiment of the disclosure.As shown in figure 5, the device includes:
One obtains module 51, the component list of the target version for obtaining software;Determining module 52, for by the target version
The component list is compared with the component list of the current version of the software, determines the target version and the current version
Identical module information and different module informations;Second obtains module 53, for according to the identical module information, from
The local identical component for obtaining the target version and the current version;Third obtains module 54, described not for basis
Same module information, obtains the target version component different from the current version from server;Upgraded module 55 is used
According to the identical component and the different component, the software is upgraded.
Fig. 6 shows an illustrative block diagram of the software updating apparatus according to one embodiment of the disclosure.It is as shown in Figure 6:
In one possible implementation, the second acquisition module 53 includes: the first acquisition submodule 531, is used for
In the case where the current version is original installation version, the target version and the current version are obtained from first area
Identical component, wherein the first area is the region for needing to carry out user account control UAC certification.
In one possible implementation, the second acquisition module 53 includes: the second acquisition submodule 532, is used for
In the case where the current version is not original installation version, the target version and the current version are obtained from second area
This identical component, wherein the second area is the region for not needing to carry out UAC certification.
In one possible implementation, described device further include: the first generation module 56, for according to described identical
Component and the different component, generate the corresponding upgrade package of the target version;Memory module 57 is used for the upgrading
Packet storage is in the second area.
In one possible implementation, described device further include: the second generation module 58, in the software liter
In the case that grade is completed, the corresponding agent configuration file of the software is generated, wherein the agent configuration file includes the mesh
Mark the storage location information of version.
In one possible implementation, described device further include: third obtains module 59, for detect it is described
In the case where the corresponding enabled instruction of software, if detecting the presence of agent configuration file by the agent process of the software,
The storage location information of the target version is obtained from the agent configuration file;Starting module 60, for according to target version
This storage location information, starts the target version.
The present embodiment passes through the component list for obtaining the target version of software, by the component list of target version and the software
The component list of current version be compared, determine target version from current version identical module information and different groups
Part information, according to identical module information, from the local identical component for obtaining target version and current version, according to different
Module information obtains the target version component different from current version from server, and according to identical component and difference
Component, which is upgraded, thus, it is possible to greatly reduce download in software upgrading, so as to improve software liter
The speed of grade.
Fig. 7 is a kind of block diagram of device 800 for software upgrading shown according to an exemplary embodiment.For example, dress
Setting 800 can be mobile phone, computer, digital broadcasting terminal, messaging device, game console, tablet device, medical treatment
Equipment, body-building equipment, personal digital assistant etc..
Referring to Fig. 7, device 800 may include following one or more components: processing component 802, memory 804, power supply
Component 806, multimedia component 808, audio component 810, the interface 812 of input/output (I/O), sensor module 814, and
Communication component 816.
The integrated operation of the usual control device 800 of processing component 802, such as with display, telephone call, data communication, phase
Machine operation and record operate associated operation.Processing component 802 may include that one or more processors 820 refer to execute
It enables, to perform all or part of the steps of the methods described above.In addition, processing component 802 may include one or more modules, just
Interaction between processing component 802 and other assemblies.For example, processing component 802 may include multi-media module, it is more to facilitate
Interaction between media component 808 and processing component 802.
Memory 804 is configured as storing various types of data to support the operation in device 800.These data are shown
Example includes the instruction of any application or method for operating on device 800, contact data, and telephone book data disappears
Breath, picture, video etc..Memory 804 can be by any kind of volatibility or non-volatile memory device or their group
It closes and realizes, such as static random access memory (SRAM), electrically erasable programmable read-only memory (EEPROM) is erasable to compile
Journey read-only memory (EPROM), programmable read only memory (PROM), read-only memory (ROM), magnetic memory, flash
Device, disk or CD.
Power supply module 806 provides electric power for the various assemblies of device 800.Power supply module 806 may include power management system
System, one or more power supplys and other with for device 800 generate, manage, and distribute the associated component of electric power.
Multimedia component 808 includes the screen of one output interface of offer between described device 800 and user.One
In a little embodiments, screen may include liquid crystal display (LCD) and touch panel (TP).If screen includes touch panel, screen
Curtain may be implemented as touch screen, to receive input signal from the user.Touch panel includes one or more touch sensings
Device is to sense the gesture on touch, slide, and touch panel.The touch sensor can not only sense touch or sliding action
Boundary, but also detect duration and pressure associated with the touch or slide operation.In some embodiments, more matchmakers
Body component 808 includes a front camera and/or rear camera.When device 800 is in operation mode, such as screening-mode or
When video mode, front camera and/or rear camera can receive external multi-medium data.Each front camera and
Rear camera can be a fixed optical lens system or have focusing and optical zoom capabilities.
Audio component 810 is configured as output and/or input audio signal.For example, audio component 810 includes a Mike
Wind (MIC), when device 800 is in operation mode, when such as call mode, recording mode, and voice recognition mode, microphone is matched
It is set to reception external audio signal.The received audio signal can be further stored in memory 804 or via communication set
Part 816 is sent.In some embodiments, audio component 810 further includes a loudspeaker, is used for output audio signal.
I/O interface 812 provides interface between processing component 802 and peripheral interface module, and above-mentioned peripheral interface module can
To be keyboard, click wheel, button etc..These buttons may include, but are not limited to: home button, volume button, start button and lock
Determine button.
Sensor module 814 includes one or more sensors, and the state for providing various aspects for device 800 is commented
Estimate.For example, sensor module 814 can detecte the state that opens/closes of device 800, and the relative positioning of component, for example, it is described
Component is the display and keypad of device 800, and sensor module 814 can be with 800 1 components of detection device 800 or device
Position change, the existence or non-existence that user contacts with device 800,800 orientation of device or acceleration/deceleration and device 800
Temperature change.Sensor module 814 may include proximity sensor, be configured to detect without any physical contact
Presence of nearby objects.Sensor module 814 can also include optical sensor, such as CMOS or ccd image sensor, at
As being used in application.In some embodiments, which can also include acceleration transducer, gyro sensors
Device, Magnetic Sensor, pressure sensor or temperature sensor.
Communication component 816 is configured to facilitate the communication of wired or wireless way between device 800 and other equipment.Device
800 can access the wireless network based on communication standard, such as WiFi, 2G or 3G or their combination.In an exemplary implementation
In example, communication component 816 receives broadcast singal or broadcast related information from external broadcasting management system via broadcast channel.
In one exemplary embodiment, the communication component 816 further includes near-field communication (NFC) module, to promote short range communication.Example
Such as, NFC module can be based on radio frequency identification (RFID) technology, Infrared Data Association (IrDA) technology, ultra wide band (UWB) technology,
Bluetooth (BT) technology and other technologies are realized.
In the exemplary embodiment, device 800 can be believed by one or more application specific integrated circuit (ASIC), number
Number processor (DSP), digital signal processing appts (DSPD), programmable logic device (PLD), field programmable gate array
(FPGA), controller, microcontroller, microprocessor or other electronic components are realized, for executing the above method.
In the exemplary embodiment, a kind of non-volatile computer readable storage medium storing program for executing is additionally provided, for example including calculating
The memory 804 of machine program instruction, above-mentioned computer program instructions can be executed above-mentioned to complete by the processor 820 of device 800
Method.
The disclosure can be system, method and/or computer program product.Computer program product may include computer
Readable storage medium storing program for executing, containing for making processor realize the computer-readable program instructions of various aspects of the disclosure.
Computer readable storage medium, which can be, can keep and store the tangible of the instruction used by instruction execution equipment
Equipment.Computer readable storage medium for example can be-- but it is not limited to-- storage device electric, magnetic storage apparatus, optical storage
Equipment, electric magnetic storage apparatus, semiconductor memory apparatus or above-mentioned any appropriate combination.Computer readable storage medium
More specific example (non exhaustive list) includes: portable computer diskette, hard disk, random access memory (RAM), read-only deposits
It is reservoir (ROM), erasable programmable read only memory (EPROM or flash memory), static random access memory (SRAM), portable
Compact disk read-only memory (CD-ROM), digital versatile disc (DVD), memory stick, floppy disk, mechanical coding equipment, for example thereon
It is stored with punch card or groove internal projection structure and the above-mentioned any appropriate combination of instruction.Calculating used herein above
Machine readable storage medium storing program for executing is not interpreted that instantaneous signal itself, the electromagnetic wave of such as radio wave or other Free propagations lead to
It crosses the electromagnetic wave (for example, the light pulse for passing through fiber optic cables) of waveguide or the propagation of other transmission mediums or is transmitted by electric wire
Electric signal.
Computer-readable program instructions as described herein can be downloaded to from computer readable storage medium it is each calculate/
Processing equipment, or outer computer or outer is downloaded to by network, such as internet, local area network, wide area network and/or wireless network
Portion stores equipment.Network may include copper transmission cable, optical fiber transmission, wireless transmission, router, firewall, interchanger, gateway
Computer and/or Edge Server.Adapter or network interface in each calculating/processing equipment are received from network to be counted
Calculation machine readable program instructions, and the computer-readable program instructions are forwarded, for the meter being stored in each calculating/processing equipment
In calculation machine readable storage medium storing program for executing.
Computer program instructions for executing disclosure operation can be assembly instruction, instruction set architecture (ISA) instructs,
Machine instruction, machine-dependent instructions, microcode, firmware instructions, condition setup data or with one or more programming languages
The source code or object code that any combination is write, the programming language include the programming language-of object-oriented such as
Smalltalk, C++ etc., and conventional procedural programming languages-such as " C " language or similar programming language.Computer
Readable program instructions can be executed fully on the user computer, partly execute on the user computer, be only as one
Vertical software package executes, part executes on the remote computer or completely in remote computer on the user computer for part
Or it is executed on server.In situations involving remote computers, remote computer can pass through network-packet of any kind
It includes local area network (LAN) or wide area network (WAN)-is connected to subscriber computer, or, it may be connected to outer computer (such as benefit
It is connected with ISP by internet).In some embodiments, by utilizing computer-readable program instructions
Status information carry out personalized customization electronic circuit, such as programmable logic circuit, field programmable gate array (FPGA) or can
Programmed logic array (PLA) (PLA), the electronic circuit can execute computer-readable program instructions, to realize each side of the disclosure
Face.
Referring herein to according to the flow chart of the method, apparatus (system) of the embodiment of the present disclosure and computer program product and/
Or block diagram describes various aspects of the disclosure.It should be appreciated that flowchart and or block diagram each box and flow chart and/
Or in block diagram each box combination, can be realized by computer-readable program instructions.
These computer-readable program instructions can be supplied to general purpose computer, special purpose computer or other programmable datas
The processor of processing unit, so that a kind of machine is produced, so that these instructions are passing through computer or other programmable datas
When the processor of processing unit executes, function specified in one or more boxes in implementation flow chart and/or block diagram is produced
The device of energy/movement.These computer-readable program instructions can also be stored in a computer-readable storage medium, these refer to
It enables so that computer, programmable data processing unit and/or other equipment work in a specific way, thus, it is stored with instruction
Computer-readable medium then includes a manufacture comprising in one or more boxes in implementation flow chart and/or block diagram
The instruction of the various aspects of defined function action.
Computer-readable program instructions can also be loaded into computer, other programmable data processing units or other
In equipment, so that series of operation steps are executed in computer, other programmable data processing units or other equipment, to produce
Raw computer implemented process, so that executed in computer, other programmable data processing units or other equipment
Instruct function action specified in one or more boxes in implementation flow chart and/or block diagram.
The flow chart and block diagram in the drawings show system, method and the computer journeys according to multiple embodiments of the disclosure
The architecture, function and operation in the cards of sequence product.In this regard, each box in flowchart or block diagram can generation
One module of table, program segment or a part of instruction, the module, program segment or a part of instruction include one or more use
The executable instruction of the logic function as defined in realizing.In some implementations as replacements, function marked in the box
It can occur in a different order than that indicated in the drawings.For example, two continuous boxes can actually be held substantially in parallel
Row, they can also be executed in the opposite order sometimes, and this depends on the function involved.It is also noted that block diagram and/or
The combination of each box in flow chart and the box in block diagram and or flow chart, can the function as defined in executing or dynamic
The dedicated hardware based system made is realized, or can be realized using a combination of dedicated hardware and computer instructions.
The presently disclosed embodiments is described above, above description is exemplary, and non-exclusive, and
It is not limited to disclosed each embodiment.Without departing from the scope and spirit of illustrated each embodiment, for this skill
Many modifications and changes are obvious for the those of ordinary skill in art field.The selection of term used herein, purport
In the principle, practical application or technological improvement to the technology in market for best explaining each embodiment, or lead this technology
Other those of ordinary skill in domain can understand each embodiment disclosed herein.