CN101436138A - Control device and control method for software upgrade and dynamic rolling back - Google Patents

Control device and control method for software upgrade and dynamic rolling back Download PDF

Info

Publication number
CN101436138A
CN101436138A CN 200710170510 CN200710170510A CN101436138A CN 101436138 A CN101436138 A CN 101436138A CN 200710170510 CN200710170510 CN 200710170510 CN 200710170510 A CN200710170510 A CN 200710170510A CN 101436138 A CN101436138 A CN 101436138A
Authority
CN
China
Prior art keywords
software
upgrade
control
verification
upgrade software
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.)
Granted
Application number
CN 200710170510
Other languages
Chinese (zh)
Other versions
CN101436138B (en
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.)
Suzhou Keda Technology Co Ltd
Original Assignee
Suzhou Keda Communications Technology Development Co Ltd
Suzhou Keda Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Suzhou Keda Communications Technology Development Co Ltd, Suzhou Keda Technology Co Ltd filed Critical Suzhou Keda Communications Technology Development Co Ltd
Priority to CN 200710170510 priority Critical patent/CN101436138B/en
Publication of CN101436138A publication Critical patent/CN101436138A/en
Application granted granted Critical
Publication of CN101436138B publication Critical patent/CN101436138B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

The invention provides a control method for upgrading and dynamically rolling back software in equipment where the software is. The method comprises the following steps of acquiring upgrading software, checking the upgrading software, judging whether the upgrading software passes check and setting the upgrading software as current software version. The invention correspondingly provides a control device for upgrading and dynamically rolling back software in equipment where the software is, and the control device comprises an acquisition device, a first checking device, a first judgment device and a first processing device. Preferably, the equipment is embedded equipment. The invention repeatedly checks in a software upgrading process, thereby improving the success rate of software upgrading, particularly on-line upgrading, and the software incapable of normal running can be automatically rolled back by processing a backup version. The invention is particularly suitable for the upgrading management on the embedded equipment, and can effectively reduce the work of maintenance personnel.

Description

A kind of control device and control method that is used for software upgrade and dynamic rolling back
Technical field
The present invention relates to software upgrading control, especially control device and the control corresponding method that the software release upgrade of embedded device is controlled in the computer system.
Background technology
The upgrade problem of various device is that majority is served the problem that manufacturer all must face, wherein related HardwareUpgring problem must be finished replacing or renewal to hardware in device context by the staff, and software upgrade problem then can be solved by number of ways.For example the most original solution is to read upgrade software among the CD by CDROM, then considers to finish by the mode of Long-distance Control after network technology is increasingly mature under the situation of conditions permit.At present, many services manufacturer provides in the mode of online upgrading affiliated equipment (in comprise software) is carried out edition upgrading, and such upgrading mode greatly facilitates user's use, has also saved the maintenance cost of serving manufacturer.
Generally, above-mentioned online upgrading process is handled in the following way: at first, need the equipment of upgrading to send upgrade request to Software Upgrade Server, upgrade server is verified this upgrade request then, checking by after corresponding upgraded version is transferred to equipment; Equipment leaves the version that receives in internal memory or other the storer (as flash memory) in, receives the back original version is replaced.In this process, on the one hand, these solutions itself are not often carried out verification to the upgrade software that is downloaded, usually can be because the imperfect problem that causes of upgrade software occurs; On the other hand, if the version that network takes place to cause equipment to receive unusually has unusually, perhaps aborted (as outage) takes place in equipment in the process that version is replaced, and all can cause equipment normally to use, thereby causes the software upgrading failure.The appearance of these situations all can influence the normal use of equipment.Yet unfortunately, because the performance of internet is not very stable always, and the data volume of upgraded version software usually can be bigger, so the likelihood ratio that above-mentioned on-line software updating failure scenarios takes place is higher.
Therefore, be necessary to propose a solution, solve the problem in the software upgrading, especially the on-line software updating failure problem that causes equipment to run well.
Summary of the invention
Problem at online upgrading failure of the prior art causes equipment to run well the objective of the invention is the control device and the control corresponding method that realize on-line software updating and dynamic rolling back by the on-line software updating process is controlled.
According to an aspect of the present invention, provide a kind of and in the equipment of software place, described software upgraded and the control method of dynamic rolling back, wherein, comprise the steps: that a. obtains and the corresponding upgrade software of the current version of described software; B. described upgrade software is carried out verification; C. judge that whether described upgrade software is by verification; D. if described upgrade software by verification, then described upgrade software is set to the current version of described software.
According to another aspect of the present invention, also provide a kind of and in the equipment of software place described software upgraded and the control device of dynamic rolling back, wherein, comprising: deriving means is used to obtain and the corresponding upgrade software of the current version of described software; First calibration equipment is used for described upgrade software is carried out verification; First judgment means is used to judge that whether described upgrade software is by verification; And first treating apparatus, be used for when described upgrade software during by verification described upgrade software be set to the current version of described software.
Preferably, described first treating apparatus also comprises: the 3rd treating apparatus is used for the former current version of described software and is set to backup software.
Preferably, described equipment is embedded device.
The present invention can improve the success ratio of software upgrading by to carrying out multiple check in the software upgrade process, and is especially significant for online upgrading, reduced to be upgraded the probability that software can not normally move.Simultaneously, the present invention by to the processing of backup version, makes software upgrading failure or because other reasons rollback automatically apace when causing software normally to move in the process that software is upgraded, thereby guarantees that software normally moves.The present invention is particularly suitable for the updating and management of embedded device, can effectively reduce work of maintenance personnel.
Description of drawings
By reading the detailed description of non-limiting example being done with reference to the following drawings, it is more obvious that other features, objects and advantages of the present invention will become:
Fig. 1 illustrates according to a specific embodiment of the present invention, the process flow diagram of the control method of in the equipment of software place described software being upgraded;
Fig. 2 illustrates according to the first embodiment of the present invention, the process flow diagram of the control method of in the equipment of software place described software being upgraded;
Fig. 3 illustrates according to the first embodiment of the present invention, described software is carried out the process flow diagram of the control method of dynamic rolling back in the equipment of software place;
Fig. 4 illustrates according to a second embodiment of the present invention, the process flow diagram of the control method of in the equipment of software place described software being upgraded;
Fig. 5 illustrates according to a specific embodiment of the present invention, in the equipment of software place described software is upgraded and the internal logic structure synoptic diagram of dynamic rolling back;
Fig. 6 illustrates according to a second embodiment of the present invention, the synoptic diagram of the partial information that is comprised in the upgrade software;
Fig. 7 illustrates according to the first embodiment of the present invention, in the equipment of software place described software is upgraded and the structural representation of the control device of dynamic rolling back;
Fig. 8 illustrates according to the first embodiment of the present invention, the structural representation of deriving means 41 shown in Figure 7; And
Fig. 9 illustrates according to a second embodiment of the present invention, the structural representation of first calibration equipment 42 shown in Figure 7.
Embodiment
Fig. 1 illustrates according to a specific embodiment of the present invention, the process flow diagram of the control method of in the equipment of software place described software being upgraded.In the present embodiment, having described equipment obtains corresponding upgrade software and it is made the control method and the overall flow of verification.Particularly, at first execution in step S101 obtains and the corresponding upgrade software of the current version of described software, for example, obtains this upgrade software by network.Enter step S102 then, described upgrade software is carried out verification, this checking procedure can use different verification modes and algorithm to realize, for simple application software, can use simple verification algorithm that it is carried out verification; And, can use complicated strict checking algorithm that it is carried out verification for important system software, for example Fig. 4 and Fig. 6 have set forth the embodiment of verification mode respectively from different perspectives.The purpose that it will be appreciated by those skilled in the art that verification is to guarantee that the upgrade software be acquired is suitable software, for example is and the pairing upgrade software of the current version of described software, and for example this upgrade software is complete or the like again.Next execution in step S103 judges that whether described upgrade software is by verification.Usually, can draw a judged result behind the execution in step S102, i.e. the conclusion whether verification is passed through in this step, can determine that according to this judged result whether described upgrade software is by verification.If the judged result of described step S103 is sure, promptly described upgrade software then enters step S104 by verification, and described upgrade software is set to the current version of described software; If the judged result of described step S103 negates, promptly described upgrading is soft not by verification, then there is no need to carry out upgrade job again, and the entire process process directly finishes.After it will be appreciated by those skilled in the art that execution above-mentioned steps S104, described updating operation success, promptly the former current version of described software is no longer moved, and the substitute is the upgrade software that obtains among the described step S101, promptly up-to-date current version.
In conjunction with above-mentioned Fig. 1, wherein, described software refers to the software that need be upgraded; The current version of described software refers to the software version that described software is using; The former current version of described software refers to that described software is upgraded a software version before, also may store as backup software in the present invention; Upgrade software refers to that the current version that is used for described software carries out the upgrading software version.
With reference to above-mentioned steps S101, it will be appreciated by those skilled in the art that the mode of obtaining described upgrade software can realize by different transmission modes and media.Preferably, in the present embodiment, described software is run on a separate equipment, for example in the personal computer (for example desk-top computer) that an embedded device or a Daepori are logical, can obtain this upgrade software by network, for example described equipment and LAN (Local Area Network) (for example Ethernet) or internet or wireless network are connected and can communicate by these networks and Software Upgrade Server or a device (equipment) that is used to store upgrade software, thereby obtain this upgrade software.In the preferred embodiment, obtain this upgrade software by network and can improve dirigibility of the present invention, especially for the embedded device that disperses to distribute.Each equipment carries out updating operation by network respectively, and no longer need equipment of maintainer to connect an equipment ground and manually upgrade, thereby improved maintenance efficiency, be very favorable under this situation about need safeguard for a large amount of embedded devices.Change in the example at one, also can use serial communication to obtain this upgrade software; Change in the example at another, can come the data of reading and recording in CD or DVD to obtain this upgrade software by CDROM or DVDROM.It will be appreciated by those skilled in the art that the above-mentioned various implementations of enumerating do not influence summary of the invention.Further, obtaining this upgrade software can realize by different steps, for example in the present embodiment, by need initiatively sending upgrade request to the equipment that software is upgraded to a Software Upgrade Server, for example preferably, this process can be finished by dispensing device 414 shown in Figure 8, determine upgrade software and notify described needs upgrading software place equipment by this server according to upgrade request then with the download address of this upgrade software, thus by described equipment by this upgrade software of network download; Perhaps directly send described upgrade software to described equipment by described server.And change in the example at one, described Software Upgrade Server pushes this upgrade software respectively to a plurality of equipment on one's own initiative, and receives this upgrade software by network after confirming to receive this upgrade software respectively by each equipment.
In the present embodiment, after having obtained upgrade software by step S101, at first this upgrade software is stored provisionally, for example preferably it is stored in interim storage space (for example internal memory), in step S104, this upgrade software is trimmed in the permanent storage space from interim storage space; Change in the example at one, it is stored in permanent storage space (flash memory for example, Flash), but in follow-up processing procedure, if determine to carry out updating operation, then the memory location of this upgrade software in described permanent storage space is set to described software current version corresponding position information.
Preferably, in a variation example embodiment illustrated in fig. 1, the former current version of also carrying out described software before described step S104 is set to the step of backup software, and promptly system provides the function that former software is backed up.For example, the storage space of special this backup software of storage is provided on an embedded system, perhaps adopts a specific method to indicate this backup software (for example do not cover under the prerequisite of also not deleting this backup software indicate backup software) by a system variable.It will be understood by those skilled in the art that described backup software can be used for the dynamic rolling back of software in such variation example, for example embodiment illustrated in fig. 3 such.
Fig. 2 illustrates according to the first embodiment of the present invention, the process flow diagram of the control method of in the equipment of software place described software being upgraded.Present embodiment is a thinning process of embodiment shown in Figure 1, wherein the correctness of updating software release is carried out verification, and just carry out upgrading processing after verification is passed through.Particularly, at first execution in step S110 carries out the verification of version correctness to described upgrade software.Similar with step S102 shown in Figure 1, described verification can be accomplished in several ways, and for example can not repeat them here with reference to figure 4 and/or embodiment illustrated in fig. 6 the realization.Enter step S111 then, whether judge described upgrade software by the verification of above-mentioned version correctness, similarly, this step can be finished by the check results among the step S110, does not repeat them here.If the judged result of described step S111 negates, promptly described upgrade software by the verification of version correctness, then can not carried out upgrading processing, and the entire process flow process finishes, and described to be upgraded running software unusual because incorrect upgrade software can cause; If the judged result of described step S111 is sure, be that described upgrade software is by the verification of version correctness, then enter step S112, receive described upgrade software by network, it will be appreciated by those skilled in the art that and to realize this step by multiple different network, can use different network technologies to adapt to polytype network structure, for example, can use Ethernet or internet.Enter step S113 then, described upgrade software is carried out completeness check, the purpose of this verification is to guarantee that the related software part that described upgrade software comprises all is downloaded, in order to avoid because network problem or other problem cause upgrade software imperfect.This step S113 can realize by existing various completeness check algorithms, also can use software integrity verification mode provided by the invention to realize, and is for example embodiment illustrated in fig. 6.Next, execution in step S114 carries out the matched verification to described software, detects the upgrade software of being downloaded and whether is applicable to the equipment of having downloaded this upgrade software, thereby guarantee that suitable upgrade software is used to suitable device.Enter step S115 then, judge that whether described upgrade software is by verification.In the present embodiment, whether described step S115 determines this upgrade software by verification jointly according to the check results in above-mentioned steps S113 and two steps of S114, and when the judged result of any one the determining step S115 when negating in two check results negates; And change in the example at one, only carry out some among described step S113 or the step S114, in step S115, only need the judged result of coming determining step S115 this moment according to the checking procedure that is performed; Change in the example at another, can also adopt other checking procedures to replace described step S113 and/or step S114, do not repeat them here.
If the judged result of step S115 negates, promptly described upgrade software is not by verification, and then the entire process flow process finishes; If the judged result of step S115 is sure, promptly described upgrade software has passed through the verification of above-mentioned steps S113 and step S114, then enters step S116, and described upgrade software is stored to first memory location; Execution in step S117 is stored to second memory location with described backup software then, and so far, the treatment scheme that present embodiment provides finishes.In the present embodiment, first memory location and second memory location are used to store the current version and the backup software of described software respectively, realize version rollback in the software upgrade process with this, for example embodiment illustrated in fig. 3 like that.Those skilled in the art understand, above-mentioned backup software is the backup of described software current version, the last version of described current version normally, from another angle, described current version correspondence after updating operation is finished the upgraded version of updating operation before finishing, the described backup version correspondence after correspondingly updating operation is finished the described current version of updating operation before finishing.
The verification work among above-mentioned steps S110 and step S113, the S114 that it will be appreciated by those skilled in the art that can be finished by number of ways.For example, in the present embodiment, be provided with dbase, version number of this upgrade software etc. in each upgrade software, correspondingly, in step S110, the equipment that need carry out software upgrading can carry out verification to above-mentioned dbase, version number etc., if dbase is incorrect or the version number of this upgrade software little (height) in the version number of the software that is upgraded, determine that then this upgrade software fails by described correctness verification.And change in the example at one, in step S110, can also can determine or auxiliaryly determine that the content of software version correctness judges other, do not repeat them here.Equally, in the present embodiment, be provided with each ingredient of this upgrade software in each upgrade software, information such as the title of each module or sub-software, byte-sized for example, correspondingly, in step S113, after having received whole upgrade softwares, the equipment that need carry out software upgrading carries out verification according to above-mentioned information respectively to downloaded software each several part, is not downloaded or downloads not exclusively if find some modules or sub-software, determines that then this upgrade software fails to pass through completeness check.For example, Fig. 6 shows the embodiment that is used for integrity check of a more complicated, does not repeat them here.Similarly, in the present embodiment, be provided with information such as device name that this upgrade software is suitable for, type in each upgrade software, correspondingly, in step S114, the equipment that need carry out software upgrading judges that whether above-mentioned information be complementary with the information of this equipment, for example if discovering device title or type do not match, determines that then this upgrade software fails by the matched verification.Those skilled in the art understand, in the specific implementation process, device name that this upgrade software can be suitable for and type are encoded and are stored in a string bit, and the equipment that carries out software upgrading by needs reads this Bit String and correspondingly obtains the matched check information then.Change in the example at one, the sequence number or other identification informations that also comprise upgrade software institute suitable device in the above-mentioned information, in such variation example, the check results of this step S114 is more accurate, because upgrade software only is set to one or more particular devices is upgraded; Change in the example at another, also can realize the matched checking procedure, do not repeat them here by moving specific matched detection software.
In conjunction with above-mentioned explanation, and, it will be appreciated by those skilled in the art that and to realize this two steps by number of ways with reference to above-mentioned steps S116, S117 to Fig. 1.In the present embodiment, after having received this upgrade software, at first this upgrade software is placed interim storage space, and in step S116, this upgrade software is stored in the permanent storage space, for example be stored among the Flash of embedded device, for example be stored in the hard disk of desk-top computer again.Preferably, this upgrade software places a particular category (first memory location) all the time, this particular category is used to store the current version of described software, 51 parts for example shown in Figure 5, therefore, after upgrade software is placed in this particular category, in fact finished updating operation to described software, promptly described software will read this upgrade software that is stored in described 51 parts next time when moving; Accordingly; in step S117; usually the former current version of described software can be stored in another particular category (second memory location); be about to former current version and be trimmed to second memory location from first memory location; for example the content in 51 parts shown in Figure 5 is moved to 52 parts, thereby make described former current version become backup software.Change in the example at one, this upgrade software places permanent storage space all the time after receiving by step S112, in such variation example, then use an indication information to indicate the position at the current version place of described software, and when described software restarts, read up-to-date software according to this indication information.At this moment, in step S116, above-mentioned indication information is set to the positional information of described upgrade software; Accordingly, can be in step S117 the indication information of backup software be set to the positional information of the former current version of described software, such process can be finished by the mode that two pointers exchange at least.It will be appreciated by those skilled in the art that common above-mentioned steps S117 can be performed before step S116,, and then use upgrade software to cover former current version, do not repeat them here as new current version because at first will preserve the information of former current version.
Compared to Figure 1 there is following variation in above-mentioned Fig. 2 at least: the first, increased the correctness checking procedure that obtains before the upgrade software this upgrade software; The second, increased processing to backup software.And it will be understood by those skilled in the art that in the variation example of Fig. 2, if not needing to carry out dynamic rolling back handles, then can omit above-mentioned steps S117.
Fig. 3 illustrates according to the first embodiment of the present invention, described software is carried out the process flow diagram of the control method of dynamic rolling back in the equipment of software place, the base conditioning step when promptly software can't normally start.Particularly, at first execution in step S121 judges whether to receive in the given time the normal feedback information that starts of software.After described software is successfully upgraded, carry out up-to-date current version (described upgrade software) during system restart, if described upgrade software can normally start, after starting, can normally provide this upgrade software all functions that should provide, and all component of system is the energy operate as normal all, then this software is considered as and can normally starts, otherwise is considered as the upgrading failure.Preferably, the checkout procedure whether described software normally starts can realize by the mode of robotization, automatically restart and judge the whether normally operation of described software by system, usually, finish such checkout procedure according to the feedback information that sends after the normal startup of described software, it will be appreciated by those skilled in the art that the operation of sending this feedback information controlled by the module that described software is provided with in advance, do not repeat them here.Whether above-mentioned checkout procedure also can realize by artificial method, for example, detect described software by special tester and run well after upgrading.Described Preset Time is used for preventing unrestrictedly waiting for when described software from can not normally start that described feedback information, this Preset Time can be adjusted to adapt to different demands.
If the judged result of described step S121 is sure, promptly in Preset Time, receive the normal feedback information that starts of software, then this flow process finishes, and does not promptly need to carry out rolling back action.If the judged result of step S121 negates, promptly in Preset Time, do not receive the normal feedback information that starts of software, then enter step S122, the routing information of the current version of described software is set to described second memory location, execution in step S123 then, with being stored in the content Delete All of first memory location, enter step S124 at last, the sign of first memory location and second memory location is exchanged.By step S122, the backup software (again) that originally is stored in second memory location is resumed the current version into described software, and promptly described software is rolled back to the situation before the last upgrading.Usually,, for example be set to backup software, be resumed from backup software again and be current version, so the likelihood ratio of using this backup software but can't normally start is less from former current version because this backup software only carries out a series of changes in equipment.Similarly,, make that first memory location is used for storing the current version of described software again after software is finished rollback, and make second memory location be used for storage backup software again simultaneously by step S124.The exchange operation that it will be appreciated by those skilled in the art that the identification information of first memory location and second memory location can realize that for example, when pointer was adopted in the memory location, only needing to exchange two pointers can performing step S124 with multiple mode.
In step S123 shown in Figure 3, the software version that is used for normally starting is removed.The purpose of this step is to make this software version can not cause described software normally to start once more, also prepares for the software upgrading operation of next time simultaneously.It will be appreciated by those skilled in the art that and to pass through alternate manner performing step S123, an identification information for example is set indicates backup software and do not exist, first memory location for example is set again makes it point to other memory locations or the like.Change in the example at another, described step S123 is omitted, and this does not influence essence of the present invention.
Fig. 4 shows according to a second embodiment of the present invention, the process flow diagram of the control method of in the equipment of software place, described software being upgraded, and this flow process is complicated more.Particularly, execution in step S131 at first reads the check code of described upgrade file from upgrade file, and this check code is included in this upgrade file, and is for example shown in Figure 6.This check code is calculated described upgrade file by different checking algorithms by upgrade server usually and obtains.Enter step S132 then, the equipment that need carry out software upgrading carries out verification to described upgrade file, and judges that whether resulting check code is complementary with the check code that above-mentioned steps S131 is read.It will be appreciated by those skilled in the art that the employed checking algorithm of this verification is identical with the employed checking algorithm of described upgrade server usually.After calculating, obtain a check code equally, if the upgrade file that upgrade file that described equipment obtained and above-mentioned upgrade server provide is in full accord, then two check codes should be identical.If the judged result of described step S132 negates, show that there is mistake in the upgrade software that is obtained by described equipment, for example this may be that packet is damaged in the network download process, so this processing procedure finishes; Otherwise execution in step S133 proceeds updating operation to software.It will be appreciated by those skilled in the art that described step S132 can be regarded as the specific embodiment of Fig. 2 step S113, does not repeat them here.
In step S133, obtain the information of each ingredient that comprises in the described upgrade file respectively.In the present embodiment, a complete upgrade file is made up of uboot (startup boot), OS (operating system) and APP (upper level applications), therefore the relevant information of this three partial content be should obtain respectively, type, size, the position in upgrade file, check information etc. for example comprised in the present embodiment at least.Enter step S134 then, respectively uboot, OS and APP are carried out verification operation, this step can realize with reference to above-mentioned steps S132, not repeat them here.Next execution in step S135 judges whether the check code that obtains through step S134 is complementary with the check code that extracts from described upgrade software.It will be appreciated by those skilled in the art that in step S135 not match that then causing the judged result of this step negates that this moment, the entire process flow process finished, and no longer described software was carried out updating operation as if any or an a plurality of check information.On the contrary, if the judged result of described step S135 is sure, promptly the check results of uboot, OS and APP and the check results of extracting from described upgrade file are complementary, then execution in step S136.
In step S136, the data file of the uboot in the described upgrade file, OS and APP correspondence is write among the Flash respectively.It will be appreciated by those skilled in the art that preferably above-mentioned data file is write designated memory space respectively, such situation can realize in conjunction with above-mentioned step S116 shown in Figure 2.For example in the embodiment shown in fig. 6, described app.image is write in the upper level applications corresponding memory space; Similarly, with in the uboot.bin write-enable boot corresponding memory space.And change in the example at one, described three data files are write the optional position in the described Flash subregion respectively, and correspondingly upgrade the indication information of indicating uboot, OS and APP, so that the indication information after upgrading points to the memory location that described data file is written into.For example, in the present embodiment, the data file of described operating system correspondence specifically comprises: cmemk.ko, dsplinkk.ko, mt.linux, and size is respectively 12K, 76K, 6997K; Correspondingly, the data file of described upper level applications correspondence specifically comprises: MediaStart, mtres.rc, mt.image, size is respectively 1168K, 5055K, 12439K.It will be understood by those skilled in the art that wherein, the kernel file that described ko calls for linux operating system, mt.linux is an operating system file; MediaStart is a start-up picture, mtres.rc is a terminal OSD (screen menu type regulative mode, on-screen display) resource file of menu, mt.image is the upper-layer service program, can read these data files accordingly respectively and carry out write operation, can realize this step in conjunction with prior art, will not give unnecessary details.
Then, execution in step S137, judge that the described data file that is written into is whether consistent with the content that comprises in the described upgrade file, whether the data file of the uboot that promptly finally is written into, OS and APP is consistent with the corresponding data file that comprises in the described upgrade file.If arbitrary partial content is inconsistent, then the judged result of described step S137 negates, and enter step S139 this moment, cancels the updating operation to described software; Otherwise, if three partial contents are all correctly write, then the judged result of described step S137 is sure, enters step S138 this moment, send the successful information of upgrading, finished upgrading so that other equipment (for example upgrade server) can be known this equipment.It will be appreciated by those skilled in the art that described step S139 can realize in several ways, preferably, the data file deletion that will be written in the present embodiment; If upgraded relevant indication information, for example the indication information of OS then also will restore to the original state these indication informations.Equally, it will be appreciated by those skilled in the art that described step S138 can be omitted, at this moment, might one equipment finish the process of upgrading and do not known by other equipment, also might other equipment can know that a particular device finishes the information of upgrading by other approach, will not give unnecessary details.
With reference to above-mentioned Fig. 4,, should " Flash " can be understood that other memory devices equally, for example hard disk, CD or tape or the like although it will be understood by those skilled in the art that and in step shown in Figure 4, directly used Flash.Present embodiment preferably is applicable to embedded device, so Flash is also preferably as memory device; And change in the example at other, when for example the present invention was applicable to desk-top computer, then described memory device can adopt hard disk, did not repeat them here.
Fig. 5 illustrates according to a specific embodiment of the present invention, in the equipment of software place described software is upgraded and the internal logic structure synoptic diagram of dynamic rolling back, and present embodiment is further specifying the described embodiment of above-mentioned Fig. 4.Wherein, preferably, described software is placed in the embedded device, from logic, this software comprise start boot (Boot) partly, operating system (OS) partly, upper-layer service program (App) part and user file (User) part.It will be appreciated by those skilled in the art that such composition is common in common equipment, the especially embedded device, does not repeat them here.As above-mentioned explanation to Fig. 1~Fig. 4, in the present embodiment, be provided with two parts of storage spaces and store described operating system and upper level applications respectively, wherein store the current version of described software in first storage space, the i.e. version that is just being used by described software, correspondingly, second storage space is stored the backup software of described software, promptly is used for the backup version of rollback after current version starts failure.Preferably, described first storage space and second storage space are arranged at separately on the independent memory device, for example are arranged on the different Flash; Suboptimum ground, two storage spaces also can be arranged on the same memory device, but lay respectively at different zones, and this does not influence flesh and blood of the present invention.
With reference to figure 5, it will be appreciated by those skilled in the art that the manual or renewal automatically by the user usually of described user data part 53, therefore do not need control method provided by the invention usually.Described startup boot part 50 can use control method provided by the invention to upgrade.But consider that the likelihood ratio that starts the boot upgrading is less,, promptly can't realize above-mentioned dynamic rolling back operation at starting the boot part in the present embodiment so it is not provided with back up memory space in the present embodiment.But it will be appreciated by those skilled in the art that at one to change in the example, also can back up memory space be set at starting boot.
It will be appreciated by those skilled in the art that above-mentioned Fig. 5 shows the logical organization in the equipment.And in actual applications, by there being a plurality of equipment, the software that exists one or more needs to be upgraded in each equipment, and described a plurality of equipment communicates to obtain corresponding upgrade software with the device (equipment) of one or more Software Upgrade Server or other storage upgrade softwares respectively.In such embodiments, each equipment obtain the process of a upgrade software can be according to the present invention content and corresponding embodiment realize, do not repeat them here.
Fig. 6 illustrates according to a second embodiment of the present invention, the synoptic diagram of the partial information that is comprised in the upgrade software.In the present embodiment, described upgrade software 6 comprises two parts content: check information and data content.Wherein, upgrade file check code 61 is used to identify the correctness of described upgrade file version, promptly identifies the renewal which software this upgrade file can be used to.For example, preferably, check code 61 can be used to the version correctness checking procedure among above-mentioned Fig. 2 step S110.Similarly, upgrade file redundant information 62 is used to write down the redundant information that sets in advance, and this redundant information can be used for above-mentioned correctness verification and other proof procedures.Preferably, described redundant information is set in advance to comprising the information of following content: upgrade software title, version number, upgrading date, developer, applied device name, applied device type etc.These redundant informations are set in the data content of described upgrade software simultaneously, for example the ad-hoc location in operating system part 64 has also write down these information simultaneously, after described data content has been written into Flash, then can be by reading these information of writing down in the described data content and comparing with described redundant information 62, if consistent, then definite verification is passed through.For example above-mentioned step S114 shown in Figure 2 can realize by redundant information 62.
With reference to figure 6,, also comprise the various information of each ingredient in the described upgrade file except above-mentioned information at whole upgrade file.In the present embodiment, described message part 63 comprises multiple information, for example is recorded in type, the size of each ingredient in the upgrade file respectively, the position in upgrade file and the check code of each file etc.For example, can write down above-mentioned information in the following way:
[operating system] [30k] [260] [30979] [check code]
[upper level applications] [210k] [30980] [246019] [check code]
……
By above-mentioned information 63, can obtain the included ingredient of described upgrade software at least and which position in upgrade software can obtain this ingredient, thereby this ingredient intactly can be read and write corresponding memory location.For example can read the upgrade software of described operating system at the 260th byte to 30979 place of upgrade software.Simultaneously, by above-mentioned information 63, can also obtain the check code of each ingredient respectively.Based on these check codes, can whether complete to each ingredient respectively in subsequent processes, correctly carry out verification, for example suppose that above-mentioned check code obtains by the Cyclic Redundancy Check mode, then can adopt CRC check to carry out verification equally upper level applications is whether complete.Those skilled in the art are appreciated that foregoing in conjunction with prior art, do not repeat them here.
Further, in the present embodiment, the data content of described upgrade file 6 has partly comprised operating system update file 64, upper level applications mirror image 65 and has started boot upgrade file 66.Those skilled in the art understand, this three partial datas content corresponds respectively to the content in the above-mentioned message part 63, the ingredient that is the upgrade file of record in the information 63 correspondingly exists data content, this partial data content will be used as upgrade software upgrades with the former current version to described software, does not repeat them here.
Fig. 7 illustrates according to the first embodiment of the present invention, in the equipment of software place described software is upgraded and the structural representation of the control device of dynamic rolling back.In the present embodiment, described control device 4 comprises deriving means 41, first calibration equipment 42, first judgment means 43, first treating apparatus 44 and second judgment means 46, second treating apparatus 47.Wherein, described deriving means 41 is used to obtain and the corresponding upgrade software of the current version of described software; Described first calibration equipment 42 is used for described upgrade software is carried out verification, and the purpose of verification is to guarantee that the upgrade software that is acquired is suitable software, for example is and the pairing upgrade software of the current version of described software; Whether described first judgment means 43 is used to judge described upgrade software by verification, and when judged result calling device 44 when being sure; Described first treating apparatus 44 be used for when described upgrade software during by verification described upgrade software be set to the current version of described software.Described second judgment means 46 is used to judge whether described software can normally start, and at judged result calling device 47 whether regularly; Described second treating apparatus 47 is used for the current version that when described software can not normally start backup software is set to described software.
It will be understood by those skilled in the art that described deriving means 41 can be accomplished in several ways, preferably, obtain described upgrade software, for example by LAN (Local Area Network) (for example Ethernet) or internet or wireless network by network; Change in the example at one, also can use serial communication to obtain this upgrade software; Change in the example at another, can also come the content of reading and recording in CD or DVD to obtain this upgrade software by CDROM or DVDROM.Further, described deriving means 41 can initiatively obtain described upgrade software, and is for example embodiment illustrated in fig. 8 such, also can receive described upgrade software passively, do not repeat them here.
Similarly, described first treating apparatus 44 also can be accomplished in several ways.In the present embodiment, after described device 41 has obtained described upgrade software, at first it is stored in the interim storage space (for example internal memory), after this upgrade software is through processes such as verifications, again it is stored in permanent storage space then, for example in the ad-hoc location among the Flash, for example first memory location (51 parts for example shown in Figure 5), deletion simultaneously is stored in this upgrade software in the interim storage space.And change in the example at another, after being obtained by device 41, this upgrade software places some file directorys of permanent storage space all the time, first memory location for example, and after determining to carry out updating operation, be used to indicate the indication information of position at the current version place of described software to be set to this document catalogue (for example first memory location), thereby make described software when start next time, can directly read the file under this document catalogue, promptly call upgrade software, thereby finished updating operation.
Preferably, in the present embodiment, described first treating apparatus 44 also comprises the 3rd treating apparatus 441, and it is used for the former current version of described software and is set to backup software, be that described control device 4 also provides the function that former software is backed up, thereby be used for the dynamic rolling back of software.In conjunction with above-mentioned description to first treating apparatus 44, those skilled in the art understand, preferably, described device 441 can be stored to the former current version of described software in another particular category (second memory location), for example the content in 51 parts shown in Figure 5 is moved to 52 parts, thereby make described former current version become backup software.
In the present embodiment, described device 46 is not received the then definite described software startup failure of the normal feedback information that starts of described software in the given time.It will be appreciated by those skilled in the art that by the prior module controls that is provided with of described software and send this feedback information.Described Preset Time is used for preventing unrestrictedly waiting for when described software from can not normally start that described feedback information, this Preset Time can be adjusted to adapt to different demands.If described device 46 determines that described software normally starts, then no longer call other device and carry out any processing; Otherwise, calling device 47.The fundamental purpose of device 47 is to make described software can use backup software to start, thereby guarantees that described software can normally move, and usually described software is rolled back to the last upgrading situation before.In the present embodiment, the routing information of the current version of described device 47 described softwares is set to described second memory location, is appreciated that the content of storage under this second memory location is the backup version of described software.Change in the example at one, the content Delete All that this device 47 also will be stored in first memory location causes described software normally to start to avoid this software version once more, and the sign of first memory location and second memory location is exchanged.
It will be appreciated by those skilled in the art that preferably above-mentioned first memory location and second memory location can be respectively independent memory device, for example two independent F lash; And change in the example at one, also can be the different storage space on the same memory device, two different catalogues for example.In the previous case,, also can not influence the use of another piece memory device, therefore increase the reliability of backup software to a greater extent, not repeat them here even wherein physical damage has taken place a memory device.
Fig. 8 illustrates according to the first embodiment of the present invention, the structural representation of deriving means 41 shown in Figure 7.In the present embodiment, described deriving means 41 comprises second calibration equipment 411, the 3rd judgment means 412, the 3rd receiving trap 413 and dispensing device 414.Wherein, described second calibration equipment 411 is used for described upgrade software is carried out the verification of version correctness; Described the 3rd judgment means 412 is used to judge that whether described upgrade software is by the verification of version correctness; Described the 3rd receiving trap 413 is used for receiving described upgrade software by network when described upgrade software during by the verification of version correctness; Described dispensing device 414 is used for sending the software upgrading request to the server that stores described upgrade software.Particularly, through after the verification operation of device 411, not by the verification of version correctness, then can not carry out upgrading processing if described device 412 is determined described upgrade software, just no longer calling any device carries out any operation; Otherwise, install 412 calling devices 413 and receive described upgrade software.
Those skilled in the art understand, in a preferred embodiment, be provided with dbase, version number of this upgrade software etc. in each upgrade software, correspondingly, 411 pairs of above-mentioned dbases of above-mentioned second calibration equipment, version number etc. carry out verification, if dbase is incorrect or the version number of this upgrade software little (height) in the version number of the software that is upgraded, then described the 3rd receiving trap 413 determines that these upgrade softwares fail by described correctness verification.
In the present embodiment, described device 413 receives described upgrade software by network, and as previously mentioned, changes in the example at one, also can receive described upgrade software by other modes, for example by serial communication etc., does not repeat them here.
Further, described device 411~413 can cooperate with described dispensing device 414 finishes the operation of obtaining upgrade software, promptly at first initiatively send upgrade request to a Software Upgrade Server by device 414, and determine upgrade software and notify described needs upgrading software place equipment by this server according to upgrade request with the download address of this upgrade software, thereby by described equipment by this upgrade software of network download.And change in the example at one, described dispensing device 414 can be omitted, at this moment, described Software Upgrade Server pushes this upgrade software respectively to a plurality of control device 4 on one's own initiative, and receives this upgrade software by network after being confirmed respectively to receive this upgrade software by each control device 4.
Fig. 9 illustrates according to a second embodiment of the present invention, and the structural representation of first calibration equipment 42 shown in Figure 7, present embodiment are embodiments of device 42.In the present embodiment, described first calibration equipment 42 comprises the 3rd calibration equipment 421 and the 4th calibration equipment 422.Wherein, described the 3rd calibration equipment 421 is used for described upgrade software is carried out completeness check, to determine whether described upgrade software comprises the content that all are essential, this device is used to guarantee that the related software part that described upgrade software comprises all is downloaded, in order to avoid because network problem or other problem cause upgrade software imperfect; Whether described the 4th calibration equipment 422 is used for described upgrade software is carried out the matched verification, be complementary with described software place equipment with definite described upgrade software, thereby guarantee that suitable upgrade software is used to suitable device.Particularly, information such as device name that this upgrade software is suitable for, type can all be set in each upgrade software, then install 422 and judge that whether above-mentioned information be complementary with the information of this device place equipment, for example if discovering device title or type do not match, then definite this upgrade software is failed by the matched verification.
It will be appreciated by those skilled in the art that described device 421 can be accomplished in several ways, for example can be with reference to embodiment illustrated in fig. 6.Particularly, in the present embodiment, described the 3rd calibration equipment 421 comprises redundant information deriving means 4211, and it is used for obtaining the redundant information that described upgrade software comprises, 62 parts for example shown in Figure 6; And first determine device 4212, and it is used for determining according to described redundant information whether described upgrade software comprises the content that all are essential.Preferably, described redundant information is set in advance to comprising the information of following content: upgrade software title, version number, upgrading date, developer, applied device name, applied device type etc.These redundant informations are set in the data content of described upgrade software simultaneously, for example the ad-hoc location in operating system part 64 has also write down these information simultaneously, after described data content has been written into Flash, then can be by reading these information of writing down in the described data content and comparing with described redundant information 62, if consistent, then install 4212 and can determine that verification passes through.
In a variation example embodiment illustrated in fig. 9, described the 3rd calibration equipment 4211 or the 4th calibration equipment 4212 can be omitted, and promptly only carry out verification according to one of them device, at this moment, the function of the device that is omitted then is not performed, and this does not influence flesh and blood of the present invention.
More than specific embodiments of the invention are described.It will be appreciated that the present invention is not limited to above-mentioned specific implementations, those skilled in the art can make various distortion or modification within the scope of the claims, and this does not influence flesh and blood of the present invention.

Claims (28)

1. in the equipment of software place, described software upgraded and the control method of dynamic rolling back for one kind, wherein, comprise the steps:
A. obtain and the corresponding upgrade software of the current version of described software;
B. described upgrade software is carried out verification;
C. judge that whether described upgrade software is by verification;
D. if described upgrade software by verification, then described upgrade software is set to the current version of described software.
2. method according to claim 1, wherein, described steps d also comprises the steps:
The former current version of-described software is set to backup software.
3. method according to claim 1 wherein, also comprises step:
I. judge whether described software can normally start;
Ii. if described software can not normally start, then backup software is set to the current version of described software.
4. according to each described method in the claim 1 to 3, wherein, described step a comprises step:
-receive described upgrade software by network.
5. according to each described method in the claim 1 to 4, wherein, described step a comprises step:
-a1. carries out the verification of version correctness to described upgrade software;
-a2. judges that whether described upgrade software is by the verification of version correctness;
-a3. is if described upgrade software by the verification of version correctness, then receives described upgrade software by network.
6. method according to claim 5 wherein, also comprises step before the described step a1:
-send the software upgrading request to the device that stores described upgrade software.
7. according to each described method in the claim 1 to 6, wherein, any during described step b comprises the steps or appoint a plurality of:
-b1. carries out completeness check to described upgrade software, to determine whether described upgrade software comprises the content that all are essential; And
-b2. carries out the matched verification to described upgrade software, to determine whether described upgrade software is complementary with described software place equipment.
8. method according to claim 7, wherein, described step b1 comprises the steps:
-obtain the redundant information that comprises in the described upgrade software;
-determine according to described redundant information whether described upgrade software comprises the content that all are essential.
9. according to each described method in the claim 1 to 8, wherein, the step that the described upgrade software in the described steps d is set to the current version of described software comprises the steps:
-described upgrade software is stored to first memory location.
10. method according to claim 9, wherein, the step that the described upgrade software in the described steps d is set to the current version of described software comprises the steps:
The routing information of the current version of-described software is set to described first memory location.
11. according to each described method in the claim 1 to 10, wherein, the step that the former current version of described software in the described steps d is set to backup software comprises the steps:
-described backup software is stored to second memory location.
12. according to each described method in the claim 3 to 11, wherein, described step I comprises the steps:
-judge in Preset Time, whether to receive the normal feedback information that starts of described software;
-Ruo does not receive the normal feedback information that starts of described software in Preset Time, determine that then described software can not normally start.
13. according to each described method in the claim 3 to 12, wherein, the step that the backup software among the described step I i is set to the current version of described software comprises the steps:
The routing information of the current version of-described software is set to described second memory location.
14. in the equipment of software place, described software upgraded and the control device of dynamic rolling back, wherein, comprising for one kind:
Deriving means is used to obtain and the corresponding upgrade software of the current version of described software;
First calibration equipment is used for described upgrade software is carried out verification;
First judgment means is used to judge that whether described upgrade software is by verification; And
First treating apparatus, be used for when described upgrade software during by verification described upgrade software be set to the current version of described software.
15. control device according to claim 14, wherein, described first treating apparatus also comprises:
The 3rd treating apparatus is used for the former current version of described software and is set to backup software.
16. control device according to claim 14 wherein, also comprises:
Second judgment means is used to judge whether described software can normally start; And
Second treating apparatus is used for the current version that when described software can not normally start backup software is set to described software.
17. according to each described control device in the claim 14 to 16, wherein, described deriving means comprises:
First receiving device is used for receiving described upgrade software by network.
18. according to each described control device in the claim 14 to 17, wherein, described deriving means comprises:
Second calibration equipment is used for described upgrade software is carried out the verification of version correctness;
The 3rd judgment means is used to judge that whether described upgrade software is by the verification of version correctness; And
The 3rd receiving trap is used for receiving described upgrade software by network when described upgrade software during by the verification of version correctness.
19. control device according to claim 18, wherein, described deriving means also comprises:
Dispensing device is used for sending the software upgrading request to the device that stores described upgrade software.
20. according to each described control device in the claim 14 to 19, wherein, described first calibration equipment comprise as in the lower device any or appoint a plurality of:
The 3rd calibration equipment is used for described upgrade software is carried out completeness check, to determine whether described upgrade software comprises the content that all are essential; And
The 4th calibration equipment is used for described upgrade software is carried out the matched verification, to determine whether described upgrade software is complementary with described software place equipment.
21. control device according to claim 20, wherein, described the 3rd calibration equipment comprises:
The redundant information deriving means is used for obtaining the redundant information that described upgrade software comprises;
First determines device, is used for determining according to described redundant information whether described upgrade software comprises the content that all are essential.
22. according to each described control device in the claim 14 to 21, wherein, described first treating apparatus comprises:
First memory storage is used for described upgrade software is stored to first memory location.
23. control device according to claim 22, wherein, described first treating apparatus comprises:
The 3rd memory storage, the routing information that is used for the current version of described software is set to described first memory location.
24. according to each described control device in the claim 14 to 23, wherein, described first treating apparatus comprises:
Second memory storage is used for described backup software is stored to second memory location.
25. according to each described control device in the claim 16 to 24, wherein, described second judgment means comprises:
The 4th judgment means is used to judge whether receive the normal feedback information that starts of described software in Preset Time; And
Second determines device, determines that described software can not normally start when being used for not receiving the feedback information of the normal startup of described software in Preset Time.
26. according to each described control device in the claim 16 to 25, wherein, described second treating apparatus comprises:
Manages device everywhere, and the routing information that is used for the current version of described software is set to described second memory location.
27. according to each described control device in each described control method and/or the claim 22 to 26 in the claim 9 to 13, wherein, described first memory location is a first memory, described second memory location is a second memory.
28. according to described control method of above-mentioned each claim or control device, wherein, described equipment is embedded device, described first memory and/or second memory are Flash.
CN 200710170510 2007-11-16 2007-11-16 Control device and control method for software upgrade and dynamic rolling back Active CN101436138B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 200710170510 CN101436138B (en) 2007-11-16 2007-11-16 Control device and control method for software upgrade and dynamic rolling back

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 200710170510 CN101436138B (en) 2007-11-16 2007-11-16 Control device and control method for software upgrade and dynamic rolling back

Publications (2)

Publication Number Publication Date
CN101436138A true CN101436138A (en) 2009-05-20
CN101436138B CN101436138B (en) 2013-04-10

Family

ID=40710587

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200710170510 Active CN101436138B (en) 2007-11-16 2007-11-16 Control device and control method for software upgrade and dynamic rolling back

Country Status (1)

Country Link
CN (1) CN101436138B (en)

Cited By (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101996254A (en) * 2010-11-18 2011-03-30 福建升腾资讯有限公司 Software rollback method based on file system layer
CN102063319A (en) * 2010-12-30 2011-05-18 汉柏科技有限公司 Software updating method
CN102073522A (en) * 2011-01-13 2011-05-25 深圳市科陆电子科技股份有限公司 Method for self-renewing embedded system-oriented application program on line
CN102073520A (en) * 2010-12-30 2011-05-25 中国民航信息网络股份有限公司 Dynamic management system and method for C++ application program version
CN102118258A (en) * 2009-12-31 2011-07-06 中兴通讯股份有限公司 Protective method and protective system for abnormal situation in upgrading of gigabit passive optical network terminal
CN102622280A (en) * 2011-01-06 2012-08-01 苏州科达科技有限公司 Control method and control device used for software version upgrade and based on dual file system
CN102662697A (en) * 2012-03-27 2012-09-12 深圳市开立科技有限公司 Software upgrading method and device
CN102662706A (en) * 2012-04-01 2012-09-12 西安合众思壮导航技术有限公司 Method for remotely reliably upgrading XIP (execute in place) chip software
CN102999397A (en) * 2012-12-17 2013-03-27 四川九洲电器集团有限责任公司 Embedded software upgrading and checking method
CN103064715A (en) * 2013-01-09 2013-04-24 上海大唐移动通信设备有限公司 Remote upgrade method and system for automatic drive test systems
CN103092642A (en) * 2011-11-07 2013-05-08 Ls产电株式会社 Apparatus, system and method for upgrading firmware of energy metering device
CN103092659A (en) * 2013-01-31 2013-05-08 中国航空无线电电子研究所 Digital signal processor (DSP) software upgrading system and upgrading method separated from support environment of emulator
CN103677936A (en) * 2013-12-23 2014-03-26 联想(北京)有限公司 Application version upgrading method and electronic device
CN103870291A (en) * 2012-12-13 2014-06-18 鸿富锦精密工业(深圳)有限公司 Upgrade system and upgrade method for electronic device
CN104156249A (en) * 2014-08-18 2014-11-19 四川九成信息技术有限公司 Embedded software upgrading method
CN104217167A (en) * 2014-09-11 2014-12-17 株洲南车时代电气股份有限公司 Software version checking method for multi-software system
CN105242950A (en) * 2015-11-12 2016-01-13 广州视睿电子科技有限公司 Display screen upgrading method and system
CN106293789A (en) * 2015-05-27 2017-01-04 昆达电脑科技(昆山)有限公司 VRD firmware automatic update system and method thereof
CN106528248A (en) * 2016-11-30 2017-03-22 惠州Tcl移动通信有限公司 Downloading method and system of mobile terminal based on software integrity
CN106648578A (en) * 2016-09-09 2017-05-10 深圳市金立通信设备有限公司 Desktop layout sharing method, sending terminal and receiving terminal
CN107391173A (en) * 2017-06-14 2017-11-24 北京康得新创科技股份有限公司 Update method, storage medium and the terminal of application program
CN107577473A (en) * 2017-08-24 2018-01-12 苏州汇川联合动力系统有限公司 The multi-point remote method for burn-recording and system of a kind of electric automobile software upgrading
CN107766063A (en) * 2016-08-15 2018-03-06 深圳壹号柜科技股份有限公司 A kind of method and system of batch upgrade software
CN108073420A (en) * 2016-11-07 2018-05-25 杭州海康威视数字技术股份有限公司 A kind of system non-disk startup method and device
CN109460359A (en) * 2018-10-26 2019-03-12 深圳市鼎阳科技有限公司 A kind of software version test method and system for embedded device
WO2020019536A1 (en) * 2018-07-27 2020-01-30 平安科技(深圳)有限公司 Method and apparatus for filling in requirement rollback scheme, and terminal and readable storage medium
WO2021115477A1 (en) * 2019-12-13 2021-06-17 中兴通讯股份有限公司 Program upgrade method and apparatus, electronic device and storage medium
WO2021115117A1 (en) * 2019-12-10 2021-06-17 杭州海康威视数字技术股份有限公司 File backup method and device, file recovery method and device, and file update method and device

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FI102221B1 (en) * 1995-10-30 1998-10-30 Nokia Telecommunications Oy Detection of memory problems in a computer
US6625749B1 (en) * 1999-12-21 2003-09-23 Intel Corporation Firmware mechanism for correcting soft errors
CN1288570C (en) * 2003-12-19 2006-12-06 北京中星微电子有限公司 On-line soft ware upgrading circuit and its method
CN100368995C (en) * 2006-01-17 2008-02-13 华为技术有限公司 Upgrading device and method in operation for monolithic processor system

Cited By (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2498439A4 (en) * 2009-12-31 2013-08-07 Zte Corp Protection method and system under abnormal conditions in upgrade gigabit passive optical network terminal
EP2498439A1 (en) * 2009-12-31 2012-09-12 ZTE Corporation Protection method and system under abnormal conditions in upgrade gigabit passive optical network terminal
CN102118258A (en) * 2009-12-31 2011-07-06 中兴通讯股份有限公司 Protective method and protective system for abnormal situation in upgrading of gigabit passive optical network terminal
WO2011079632A1 (en) * 2009-12-31 2011-07-07 中兴通讯股份有限公司 Protection method and system under abnormal conditions in upgrade gigabit passive optical network terminal
CN101996254A (en) * 2010-11-18 2011-03-30 福建升腾资讯有限公司 Software rollback method based on file system layer
CN102073520A (en) * 2010-12-30 2011-05-25 中国民航信息网络股份有限公司 Dynamic management system and method for C++ application program version
CN102063319A (en) * 2010-12-30 2011-05-18 汉柏科技有限公司 Software updating method
CN102622280A (en) * 2011-01-06 2012-08-01 苏州科达科技有限公司 Control method and control device used for software version upgrade and based on dual file system
CN102622280B (en) * 2011-01-06 2014-10-15 苏州科达科技股份有限公司 Control method and control device used for software version upgrade and based on dual file system
CN102073522A (en) * 2011-01-13 2011-05-25 深圳市科陆电子科技股份有限公司 Method for self-renewing embedded system-oriented application program on line
CN103092642B (en) * 2011-11-07 2016-04-06 Ls产电株式会社 For upgrading equipment, the system and method for the firmware of electric power meter
US9235405B2 (en) 2011-11-07 2016-01-12 Lsis Co., Ltd. Apparatus, system and method for upgrading firmware of energy metering device
CN103092642A (en) * 2011-11-07 2013-05-08 Ls产电株式会社 Apparatus, system and method for upgrading firmware of energy metering device
CN102662697A (en) * 2012-03-27 2012-09-12 深圳市开立科技有限公司 Software upgrading method and device
CN102662706A (en) * 2012-04-01 2012-09-12 西安合众思壮导航技术有限公司 Method for remotely reliably upgrading XIP (execute in place) chip software
CN103870291A (en) * 2012-12-13 2014-06-18 鸿富锦精密工业(深圳)有限公司 Upgrade system and upgrade method for electronic device
CN102999397A (en) * 2012-12-17 2013-03-27 四川九洲电器集团有限责任公司 Embedded software upgrading and checking method
CN103064715A (en) * 2013-01-09 2013-04-24 上海大唐移动通信设备有限公司 Remote upgrade method and system for automatic drive test systems
CN103092659A (en) * 2013-01-31 2013-05-08 中国航空无线电电子研究所 Digital signal processor (DSP) software upgrading system and upgrading method separated from support environment of emulator
CN103677936B (en) * 2013-12-23 2017-11-28 联想(北京)有限公司 A kind of application version upgrade method and electronic equipment
CN103677936A (en) * 2013-12-23 2014-03-26 联想(北京)有限公司 Application version upgrading method and electronic device
CN104156249A (en) * 2014-08-18 2014-11-19 四川九成信息技术有限公司 Embedded software upgrading method
CN104217167A (en) * 2014-09-11 2014-12-17 株洲南车时代电气股份有限公司 Software version checking method for multi-software system
CN106293789A (en) * 2015-05-27 2017-01-04 昆达电脑科技(昆山)有限公司 VRD firmware automatic update system and method thereof
CN105242950A (en) * 2015-11-12 2016-01-13 广州视睿电子科技有限公司 Display screen upgrading method and system
CN107766063A (en) * 2016-08-15 2018-03-06 深圳壹号柜科技股份有限公司 A kind of method and system of batch upgrade software
CN106648578A (en) * 2016-09-09 2017-05-10 深圳市金立通信设备有限公司 Desktop layout sharing method, sending terminal and receiving terminal
CN108073420A (en) * 2016-11-07 2018-05-25 杭州海康威视数字技术股份有限公司 A kind of system non-disk startup method and device
CN106528248A (en) * 2016-11-30 2017-03-22 惠州Tcl移动通信有限公司 Downloading method and system of mobile terminal based on software integrity
CN107391173A (en) * 2017-06-14 2017-11-24 北京康得新创科技股份有限公司 Update method, storage medium and the terminal of application program
CN107577473A (en) * 2017-08-24 2018-01-12 苏州汇川联合动力系统有限公司 The multi-point remote method for burn-recording and system of a kind of electric automobile software upgrading
WO2020019536A1 (en) * 2018-07-27 2020-01-30 平安科技(深圳)有限公司 Method and apparatus for filling in requirement rollback scheme, and terminal and readable storage medium
CN109460359A (en) * 2018-10-26 2019-03-12 深圳市鼎阳科技有限公司 A kind of software version test method and system for embedded device
WO2021115117A1 (en) * 2019-12-10 2021-06-17 杭州海康威视数字技术股份有限公司 File backup method and device, file recovery method and device, and file update method and device
WO2021115477A1 (en) * 2019-12-13 2021-06-17 中兴通讯股份有限公司 Program upgrade method and apparatus, electronic device and storage medium

Also Published As

Publication number Publication date
CN101436138B (en) 2013-04-10

Similar Documents

Publication Publication Date Title
CN101436138B (en) Control device and control method for software upgrade and dynamic rolling back
US7747997B1 (en) Firmware update in electronic devices employing SIM card for saving metadata information
CN101589592B (en) Multi-protocol removable storage device
US20040117414A1 (en) Method and system for automatically updating operating systems
EP1519268B1 (en) Communication terminal and communication network for partially updating software, software update method, and software creation device and method therefor
US20110283274A1 (en) Firmware image update and management
US20050235281A1 (en) Combined software installation package
CN106843957B (en) System firmware upgrading method and device
JPH11134117A (en) Computer system
TW201102924A (en) Embedded electronic device and method for updating firmware thereof
CN101158906A (en) Customer terminals program automatic update method
US6859924B1 (en) System restore apparatus and method employing virtual restore disk
TW201621647A (en) Operating system updating method
CN103514065A (en) Electronic device with automatic detection and recovery function and method
CN105867962A (en) System upgrading method and device
US6052764A (en) Computer data restoration assembly and associated method
US8560501B2 (en) Method for a cloning process to enable cloning a larger system drive to a smaller system
CN104918114A (en) Method and device for upgrading operation system
CN111562934A (en) Software system upgrading method based on hot patch, terminal and storage medium
US6684293B1 (en) Methods and computer readable media for preserving unique critical information during data imaging
CN108595292B (en) System optimization method, mobile terminal and computer storage medium
EP3260981B1 (en) Information processing apparatus, information processing system, and information processing method for updating firmware
JP2004054421A (en) Memory, information processor, storage method and information processing method
CN109542519A (en) A kind of automatic distributed system method for reconstructing
EP1160666A2 (en) Switching versions of software in a system background

Legal Events

Date Code Title Description
PB01 Publication
C06 Publication
SE01 Entry into force of request for substantive examination
C10 Entry into substantive examination
C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20100317

Address after: 215011 No. 131 Jin Shan Road, Suzhou hi tech Industrial Development Zone, Jiangsu, Suzhou

Applicant after: Suzhou Keda Technology Co., Ltd.

Address before: 215011 No. 131 Jin Shan Road, Suzhou hi tech Industrial Development Zone, Jiangsu, Suzhou

Applicant before: Suzhou Keda Communications Technology Development Co., Ltd.

Co-applicant before: Suzhou Keda Technology Co., Ltd.

ASS Succession or assignment of patent right

Owner name: SUZHOU KEDA TECHNOLOGY CO., LTD.

Free format text: FORMER OWNER: SUZHOU KEDA COMMUNICATION TECHNOLOGY DEVELOPMENT CO., LTD.

Effective date: 20100317

Free format text: FORMER OWNER: SUZHOU KEDA TECHNOLOGY CO., LTD.

C53 Correction of patent for invention or patent application
CB02 Change of applicant information

Address after: 215011 No. 131 Jin Shan Road, Suzhou hi tech Industrial Development Zone, Jiangsu, Suzhou

Applicant after: Suzhou Keda Technology Co., Ltd.

Address before: 215011 No. 131 Jin Shan Road, Suzhou hi tech Industrial Development Zone, Jiangsu, Suzhou

Applicant before: Suzhou Keda Technology Co., Ltd.

C14 Grant of patent or utility model
GR01 Patent grant