CN104750509A - 系统升级方法及装置 - Google Patents
系统升级方法及装置 Download PDFInfo
- Publication number
- CN104750509A CN104750509A CN201310745089.XA CN201310745089A CN104750509A CN 104750509 A CN104750509 A CN 104750509A CN 201310745089 A CN201310745089 A CN 201310745089A CN 104750509 A CN104750509 A CN 104750509A
- Authority
- CN
- China
- Prior art keywords
- iarge
- scale
- upgrading
- scale system
- mini
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Stored Programmes (AREA)
Abstract
本发明提供一种系统升级方法及装置,方法包括:检测当前的启动标识,若所述启动标识为大系统启动标识,则启动大系统,并在所述大系统下检测当前的大系统是否需要升级;若是,且若当前小系统的系统状态为升级已验证状态,则下载第一大系统升级包,并将所述启动标识设置为小系统启动标识;根据所述第一大系统升级包,对所述大系统进行升级,若升级成功,则将所述启动标识设置为大系统启动标识,并继续运行所述大系统。通过本发明提供的系统升级方法及装置,既保证对大系统进行升级的可靠性,且大系统升级过程中无需重启,从而既可靠又方便地实现系统升级。
Description
技术领域
本发明涉及通信领域,尤其涉及一种系统升级方法及装置。
背景技术
随着嵌入式系统产品的种类和数量的日益庞大,在实际使用中,为了扩展业务功能、解决软件中存在的问题和提升系统性能,以及为了满足广电等用户不断提出的新的需求,对嵌入式系统进行系统升级就变得越来越频繁。
现有的一种系统升级方案为单系统升级,包括:系统启动后,在系统正常运行过程中,若检测到当前系统需要升级,则下载升级所需的系统升级包,并根据该系统升级包对系统进行升级后,重启系统以加载升级后的系统。在该现有方案中,在原系统软件被擦除之后,且在写入系统升级包中的新系统软件之前,如果因各种原因导致系统重启,则由于原系统被破坏,且没有新的系统供以加载,该系统将无法再正常运行。
针对上述问题,为了增强系统升级的安全性,现有的另一种系统升级方案为双系统升级,即在嵌入式系统中设有小系统和大系统。其中,小系统仅用于升级大系统,大系统用于用户的正常使用。具体的,在大系统正常运行过程中,若检测到当前的大系统需要升级,则系统将自动关机并启动小系统,在小系统下对大系统进行升级,之后,系统再次关机并启动大系统。该方案尽管克服了单系统升级产生的安全性缺陷,但是,这种升级方式每次都需要重新启动系统。因此可见,通过上述现有方案,均无法在保证可靠性的同时,对系统方便地进行升级。
发明内容
本发明提供一种系统升级方法及装置,用于解决现有的系统升级方案无法在保证可靠性的同时,对系统方便地进行升级的问题。
本发明的第一个方面是提供一种系统升级方法,包括:
检测当前的启动标识,若所述启动标识为大系统启动标识,则启动大系统,并在所述大系统下检测当前的大系统是否需要升级;
若是,且若当前小系统的系统状态为升级已验证状态,则下载第一大系统升级包,并将所述启动标识设置为小系统启动标识;
根据所述第一大系统升级包,对所述大系统进行升级,若升级成功,则将所述启动标识设置为大系统启动标识,并继续运行所述大系统。
本发明的另一个方面是提供一种系统升级装置,包括:
启动模块,用于检测当前的启动标识,若所述启动标识为大系统启动标识,则启动大系统;
第一检测模块,用于在所述启动模块启动所述大系统之后,在所述大系统下检测当前的大系统是否需要升级;
处理模块,用于若所述第一检测模块在所述大系统下检测到当前的大系统需要升级,且若当前小系统的系统状态为升级已验证状态,则下载第一大系统升级包;
控制模块,用于在所述处理模块下载所述第一大系统升级包之后,将所述启动标识设置为小系统启动标识;
第一升级模块,用于根据所述第一大系统升级包,对所述大系统进行升级;
所述控制模块,还用于若所述第一升级模块对所述大系统升级成功,则将所述启动标识设置为大系统启动标识,并继续运行所述大系统。
本发明提供的系统升级方法及装置,若检测到当前运行的大系统需要升级,且当前小系统的系统状态为升级已验证状态时,则下载相应的大系统升级包,设置小系统启动标识,并根据下载的所述大系统升级包,对大系统成功升级后,设置大系统启动标识,并继续运行所述大系统的技术方案,既保证对大系统进行升级的可靠性,且大系统的升级过程中无需重启,从而既可靠又方便地实现系统升级。
附图说明
图1为本发明实施例一提供的一种系统升级方法的流程示意图;
图2为本发明实施例二提供的另一种系统升级方法的流程示意图;
图3为本发明实施例三提供的又一种系统升级方法的流程示意图;
图4为本发明实施例四提供的一种系统升级装置的结构示意图;
图5为本发明实施例五提供的另一种系统升级装置的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
图1为本发明实施例一提供的一种系统升级方法的流程示意图,如图1所示,所述方法包括:
101、检测当前的启动标识,若所述启动标识为大系统启动标识,则启动大系统,并在所述大系统下检测当前的大系统是否需要升级。
在实际应用中,系统上电后如果当前的启动标识为大系统启动标识,则表明当前选择启动大系统,进入大系统系统正常运行状态后,系统后台可以自动启动检测当前系统是否需要升级。
需要说明的是,如果启动大系统失败,则可切换至小系统。相应的,切换的具体方法可以包括:若未成功启动所述大系统,则将所述启动标识设置为小系统启动标识,并重启系统。
102、若是,且若当前小系统的系统状态为升级已验证状态,则下载第一大系统升级包,并将所述启动标识设置为小系统启动标识。
具体的,在实际应用中,在大系统下对大系统进行升级的过程中,如果检测到当前小系统的系统状态为升级已验证状态,即当前的小系统能够对大系统进行升级,则大系统可以在后台进行大系统升级包的下载并根据下载的升级包对大系统进行升级,即使在大系统下升级失败,也可切换至小系统中进行大系统升级。
其中,当小系统的系统状态不为升级已验证状态,而是升级未验证状态时,则不能在大系统中直接升级大系统,而是需要切换至小系统。否则,如果在大系统下对大系统自身进行升级的过程中,因升级失败造成大系统被破坏,同时小系统因处于升级未验证状态,即小系统可能不具备对大系统进行升级的功能,则会导致整个系统将不再具有升级功能,此后,大系统也将无法再被正常使用。则相应的,在101之后,还可以包括:
若当前的所述大系统需要升级,且当前所述小系统的系统状态为升级未验证状态,则将所述启动标识设置为所述小系统启动标识,并重启系统。
可以理解,102中将启动标识设置为小系统启动标识的,是为了倘若在大系统下未对大系统成功升级,即大系统被破坏的情况下,还可通过重启系统运行升级已验证的小系统,从而在小系统中对大系统重新进行升级,从而进一步保证系统升级的可靠性。具体的,在小系统中对大系统进行升级的具体流程可参见后述实施例二中的内容。
103、根据所述第一大系统升级包,对所述大系统进行升级,若升级成功,则将所述启动标识设置为大系统启动标识,并继续运行所述大系统。
在实际应用中,所述系统可以为嵌入式系统,嵌入式系统的软件存储在flash中,系统启动后,会从flash中读取软件至内存中。系统升级的具体过程可以描述为根据下载的系统升级包,把flash中旧系统的软件擦除,并将所述系统升级包中新系统的软件写入至flash中,以使得系统再次启动时,载入当前flash中新系统的软件,从而正常运行新系统。具体的,上述系统升级的过程均在内存中运行,因此,不会影响当前正在运行的系统。
在本实施例中,只要当前小系统的系统状态为升级已验证状态,即可重复在大系统下对大系统自身进行升级,且不需重启,既保证了对大系统升级的可靠性,又可以方便快捷地对大系统进行升级。
具体的,在大系统下对大系统进行升级的过程中,如果升级失败,则切换至小系统。相应的,在103中所述根据所述第一大系统升级包,对所述大系统进行升级之后,还可以包括:
若升级失败,则将所述启动标识设置为所述小系统启动标识,并重启系统。
可选的,在本实施例中,还可以对大系统的系统状态进行更新,相应的,在103中所述根据所述第一大系统升级包,对所述大系统进行升级之后,还包括:
若升级成功,则检测所述大系统的升级模块当前是否发生更新;
若未发生更新,则将所述大系统的系统状态设置为升级已验证状态,否则,将所述大系统的系统状态设置为升级未验证状态。
具体的,大系统为升级已验证状态可以表明当前的大系统能够对大系统自身或小系统进行升级。故可选的,在上述实施方式中,在大系统下除了可以对大系统进行升级以外,还可以基于所述大系统的系统状态,对小系统进行升级,则相应的,在101中所述启动大系统之后,还可以包括:
在大系统下检测当前的小系统是否需要升级,若是,且若当前所述大系统的系统状态为升级已验证状态,则下载小系统升级包,并将所述启动标识设置为所述大系统启动标识;
根据所述小系统升级包,对所述小系统进行升级,若升级成功,则继续运行所述大系统。
可以理解,在上述在大系统下对小系统进行升级的过程中,将启动标识设置为大系统启动标识,是为了倘若在大系统下未对小系统成功升级,即小系统被破坏的情况下,还可通过重启系统运行升级已验证的大系统,再次在大系统中对小系统进行升级,从而进一步保证小系统升级的可靠性。则相应的,在所述根据所述小系统升级包,对所述小系统进行升级之后,还可以包括:若升级失败,则重启系统。
具体的,在上述在大系统下对小系统进行升级的过程中,如果大系统为升级未验证状态,则不在大系统下升级小系统,否则可能造成小系统被破坏,同时大系统也不能对小系统进行升级。因此,为了保证系统升级的可靠性,在上述情况下,将忽略对小系统的本次升级,直至检测到大系统的系统状态为升级已验证状态,才在大系统中对小系统进行升级。则相应的,所述在大系统下检测当前的小系统是否需要升级之后,还可以包括:
若是,且若当前所述大系统的系统状态为升级未验证状态,则继续运行所述大系统。
进一步具体的,在上述在大系统下对小系统进行升级的过程中,在所述根据所述小系统升级包,对所述小系统进行升级之后,还可以包括:
若升级成功,则检测所述小系统的升级模块当前是否发生更新,若是,则将所述小系统的系统状态设置为升级未验证状态。
可以理解,在本实施方式中,可能会导致小系统的系统状态更新为升级未验证状态。则相应的,基于本实施方式,在大系统下对大系统进行升级的过程中,检测到当前小系统的系统状态为升级未验证状态时,则切换至小系统,通过在小系统下对大系统进行升级,对小系统的系统状态进行验证,若升级成功,则将小系统的系统状态更新为升级已验证状态。
通过本实施例提供的系统升级方法,若检测到当前运行的大系统需要升级,且当前小系统的系统状态为升级已验证状态时,则下载相应的大系统升级包,设置小系统启动标识,并根据下载的所述大系统升级包,对大系统成功升级后,设置大系统启动标识,并继续运行所述大系统的技术方案,即使在大系统下对大系统升级失败,也可切换至处于升级已验证状态的小系统中对大系统进行升级,从而保证大系统升级的可靠性,并且,在升级已验证的小系统的保证下,可重复在大系统中对大系统进行升级,升级过程中无需重启,从而既可靠又方便地实现大系统升级。
图2为本发明实施例二提供的另一种系统升级方法的流程示意图,如图2所示,根据实施例一所述的系统升级方法,所述检测当前的启动标识之后,还包括:
201、若所述启动标识为小系统启动标识,则启动小系统,在所述小系统下检测当前的大系统是否需要升级,若是,则下载第二大系统升级包,并将所述启动标识设置为所述小系统启动标识。
需要说明的是,如果启动小系统失败,则可切换至大系统。相应的,切换的具体方法可以包括:若未成功启动所述小系统,则将所述启动标识设置为所述大系统启动标识,并重启系统。
可选的,201的一种应用场景可以为,初次启动系统时,通过将启动标识设置为小系统启动标识,选择启动小系统,并通过在小系统下对大系统进行升级,对小系统的系统状态进行设置,从而在后续流程的,基于所述小系统的系统状态,在大系统下对大系统进行升级。
可选的,201的另一种应用场景可以为,在大系统下对系统进行升级的过程中,需要切换至小系统的各场景,例如实施例一中,在大系统下对大系统进行升级的过程中,当大系统启动失败、检测到小系统为升级未验证状态或者根据升级包对大系统进行的升级失败。
需要说明的是,图中给出的只是其中一种具体的实施方式,其并未对其它实施方式进行限制。具体的,在201中所述在所述小系统下检测当前的大系统是否需要升级之后,还可以包括:若检测到当前的所述大系统不需要升级,则将所述启动标识设置为所述大系统启动标识,并重启系统。通过本实施方式,可以在小系统下不需要对大系统进行升级时,切换至大系统。
202、根据所述第二大系统升级包,对所述大系统进行升级,若升级成功,则将所述小系统的系统状态设置为升级已验证状态。
可以理解,在本实施例中,若小系统能够成功对大系统进行升级,则小系统的系统状态为升级已验证状态。具体的,在本实施例中,在小系统下,若未成功对大系统进行升级,则可切换至大系统下对大系统进行升级,从而保证系统升级的可靠性。则相应的,在202中所述根据所述第二大系统升级包,对所述大系统进行升级之后,还可以包括:若升级失败,则直接执行203。
203、将所述启动标识设置为所述大系统启动标识,并重启系统。
可以理解,执行202之后,当前小系统的系统状态为升级已验证状态,再通过执行203切换至大系统后,在大系统下,若检测到大系统需要升级,则可基于小系统的升级已验证状态,在大系统下对大系统进行升级,且升级成功后可继续运行大系统,既可靠又无需重启。
可选的,在小系统下对大系统进行升级的过程中,也可以对大系统的系统状态进行更新,相应的,在本实施例中,在202中所述根据所述第二大系统升级包,对所述大系统进行升级之后,还可以包括:
若升级成功,则检测所述大系统的升级模块当前是否发生更新,若是,则将所述大系统的系统状态设置为升级未验证状态。
可以理解,本实施方式可能会导致大系统的系统状态更新为升级未验证状态。则相应的,基于本实施方式,可通过执行203切换至大系统中,进而通过在大系统下对大系统进行升级的过程,对大系统的系统状态进行验证,具体的,若在大系统下对大系统升级成功后,其升级模块未发生更新,则将大系统的系统状态更新为升级已验证状态。
具体的,在本实施例中,如果在小系统下检测到当前的大系统需要升级,则直接下载相应的大系统升级包并对大系统进行升级,如果升级成功,则设置小系统的系统状态为升级已验证状态,进一步的,若大系统的升级模块进行了更新,则设置大系统的系统状态为升级未验证状态,并切换至大系统中,后续的,可以通过在大系统下对大系统进行升级,对大系统的系统状态进行验证,若在大系统下对大系统升级成功,且其升级模块未发生更新,则将大系统的系统状态设为升级已验证状态。
本实施例提供的系统升级方法,通过在小系统下对大系统进行升级的技术方案,当在大系统下对大系统升级失败时,也可切换至小系统中,通过本实施例在小系统下对大系统进行更新,保证了大系统更新的可靠性,此外,通过本实施例还能够对小系统和大系统的系统状态进行更新,从而实现在大系统下,基于各系统的系统状态,既可靠又方便地进行系统升级。
具体的,在上述任一实施例中,检测当前系统是否需要升级,可以通过检测系统的版本号实现。相应的,在上述任一实施例中,对于大系统和小系统中的任一系统来说,所述检测当前的系统是否需要升级,具体可以包括:
获取所述系统当前的版本号和最新版本号;
若所述当前的版本号低于所述最新版本号,则所述系统需要升级,否则,当前的所述系统不需要升级。
相应的,基于本实施方式,当对系统进行升级之后,需要相应的对系统当前的版本号进行更新。则在上述任一实施例中,在根据系统升级包,对系统进行升级之后,还包括:
若升级成功,则将所述系统的版本号更新为所述最新版本号。
图3为本发明实施例三提供的又一种系统升级方法的流程示意图,如图3所示,所述方法包括:
301、检测当前启动标识,若启动标识为大系统启动标识,则执行302,若启动标识为小系统启动标识,则执行311;
302、启动大系统,并检测当前的大系统和小系统是否需要升级,若大系统需要升级,则执行303,若小系统需要升级,则执行308;
303、检测小系统的系统状态是否为升级已验证状态,若是,则执行304,否则,执行306;
304、下载大系统升级包,将启动标识设置为小系统启动标识,并对大系统进行升级,若升级成功,则执行305,若升级失败,则执行306;
305、将启动标识设置为大系统启动标识,并继续运行所述大系统;
306、将启动标识设置为所述小系统启动标识,并执行307;
307、重启系统;
308、检测大系统的系统状态是否为升级已验证状态,若是,则执行309,否则执行310;
309、下载小系统升级包,将启动标识设置为大系统启动标识,并对小系统进行升级,若升级成功,则执行310,若升级失败,则执行307;
310、继续运行所述大系统;
311、启动小系统,并检测当前的大系统是否需要升级,若是,则执行312,否则,直接执行314;
312、下载大系统升级包,将启动标识设置为小系统启动标识,并对小系统进行升级,若升级成功,则执行313,若升级失败,则直接执行314;
313、将所述小系统的系统状态设置为升级已验证状态,并执行314;
314、将所述启动标识设置为所述大系统启动标识,并执行307。
通过本实施例提供的系统升级方法,既保证了系统升级的可靠性,又可以方便快捷地对大系统进行升级,且在小系统和大系统下均能可靠地对系统进行升级。
图4为本发明实施例四提供的一种系统升级装置的结构示意图,如图4所示,所述装置包括:
启动模块41,用于检测当前的启动标识,若所述启动标识为大系统启动标识,则启动大系统;
第一检测模块42,用于在启动模块41启动所述大系统之后,在所述大系统下检测当前的大系统是否需要升级;
处理模块43,用于若第一检测模块42在所述大系统下检测到当前的大系统需要升级,且若当前小系统的系统状态为升级已验证状态,则下载第一大系统升级包;
控制模块44,用于在处理模块43下载所述第一大系统升级包之后,将所述启动标识设置为小系统启动标识;
第一升级模块45,用于根据所述第一大系统升级包,对所述大系统进行升级;
控制模块44,还用于若第一升级模块45对所述大系统升级成功,则将所述启动标识设置为大系统启动标识,并继续运行所述大系统。
可选的,如果启动大系统失败,则可切换至小系统。相应的,控制模块44,还用于若启动模块41未成功启动所述大系统,则将所述启动标识设置为所述小系统启动标识,并重启系统。
其中,当小系统的系统状态不为升级已验证状态,而是升级未验证状态时,则不能在大系统中直接升级大系统,而是需要切换至小系统。则相应的,控制模块44,还可以用于若第一检测模块42在所述大系统下检测到当前的所述大系统需要升级,且当前所述小系统的系统状态为升级未验证状态,则将所述启动标识设置为所述小系统启动标识,并重启系统。
在本实施例中,只要当前小系统的系统状态为升级已验证状态,即可重复在大系统下对大系统自身进行升级,且不需重启,既保证了对大系统升级的可靠性,又可以方便快捷地对大系统进行升级。
具体的,在大系统下对大系统进行升级的过程中,如果升级失败,则切换至小系统。相应的,控制模块44,还用于在第一升级模块45根据所述第一大系统升级包,对所述大系统进行升级之后,若升级失败,则将所述启动标识设置为所述小系统启动标识,并重启系统。
可选的,在本实施例中,还可以对大系统的系统状态进行更新,则所述装置还可以包括:
第二检测模块46,还可以用于在第一升级模块45根据所述第一大系统升级包,对所述大系统成功升级之后,检测所述大系统的升级模块当前是否发生更新;
设置模块47,用于若第二检测模块46检测到所述大系统的升级模块未发生更新,则将所述大系统的系统状态设置为升级已验证状态,否则,将所述大系统的系统状态设置为升级未验证状态。
具体的,大系统为升级已验证状态可以表明当前的大系统能够对大系统自身或小系统进行升级。故可选的,在上述实施方式中,可选的,在大系统下除了可以对大系统进行升级以外,还可以基于所述大系统的系统状态,对小系统进行升级,则相应的:
第一检测模块42,还用于在启动模块41启动所述大系统之后,在所述大系统下检测当前的小系统是否需要升级;
处理模块43,还用于若第一检测模块42在所述大系统下检测到当前的小系统需要升级,且若当前大系统的系统状态为升级已验证状态,则下载小系统升级包;
控制模块44,还用于在处理模块43下载所述小系统升级包之后,将所述启动标识设置为所述大系统启动标识;
第一升级模块45,还用于根据所述小系统升级包,对所述小系统进行升级;
控制模块44,还用于若第一升级模块45对所述小系统升级成功,则继续运行所述大系统。
可选的,控制模块44,还可以用于若第一升级模块45根据所述小系统升级包,对所述小系统升级失败,则重启系统。
具体的,在上述在大系统下对小系统进行升级的过程中,如果大系统为升级未验证状态,则忽略对小系统的本次升级,直至检测到大系统的系统状态为升级已验证状态。则相应的,控制模块44,还可以用于若第一检测模块42在所述大系统下检测到当前的小系统需要升级,且若当前所述大系统的系统状态为升级未验证状态,则继续运行所述大系统。
进一步具体的,第二检测模块46,还可以用于在第一升级模块45根据所述小系统升级包,对所述小系统成功升级之后,检测所述小系统的升级模块当前是否发生更新;相应的,设置模块47,还可以用于若第二检测模块46检测到所述小系统的升级模块发生更新,则将所述小系统的系统状态设置为升级未验证状态。
通过本实施例提供的系统升级装置,若检测到当前运行的大系统需要升级,且当前小系统的系统状态为升级已验证状态时,则下载相应的大系统升级包,设置小系统启动标识,并根据下载的所述大系统升级包,对大系统成功升级后,设置大系统启动标识,并继续运行所述大系统的技术方案,即使在大系统下对大系统升级失败,也可切换至处于升级已验证状态的小系统中对大系统进行升级,从而保证大系统升级的可靠性,并且,在升级已验证的小系统的保证下,可重复在大系统中对大系统进行升级,升级过程中无需重启,从而既可靠又方便地实现大系统升级。
图5为本发明实施例五提供的另一种系统升级装置的结构示意图,如图5所示,根据实施例四所述的系统升级装置,
启动模块41,还用于在检测当前的启动标识之后,若所述启动标识为小系统启动标识,则启动所述小系统;
第一检测模块42,还用于在启动模块41启动所述小系统之后,在所述小系统下检测当前的大系统是否需要升级;
处理模块43,还用于若第一检测模块42在所述小系统下检测到当前的大系统需要升级,则下载第二大系统升级包;
控制模块44,还用于在处理模块43下载所述第二大系统升级包之后,将所述启动标识设置为所述小系统启动标识;
所述装置还包括:
第二升级模块51,用于根据所述第二大系统升级包,对所述大系统进行升级;
设置模块47,还用于若第二升级模块51对所述大系统升级成功,则将所述小系统的系统状态设置为升级已验证状态;
控制模块44,还用于若第二升级模块51对所述大系统升级成功,则将所述启动标识设置为所述大系统启动标识,并重启系统。
可选的,控制模块44,还可以用于若启动模块41未成功启动所述小系统,则将所述启动标识设置为所述大系统启动标识,并重启系统。
可选的,启动模块41启动所述小系统的一种应用场景可以为,初次启动系统时,选择启动小系统,并通过在小系统下对大系统进行升级,对小系统的系统状态进行设置,从而在后续流程的,基于所述小系统的系统状态,在大系统下对大系统进行升级。可选的,启动模块41启动所述小系统的另一种应用场景可以为,在大系统下对系统进行升级的过程中,需要切换至小系统的各场景。
需要说明的是,图中给出的只是其中一种具体的实施方式,其并未对其它实施方式进行限制。具体的,控制模块44,还可以用于若第一检测模块42检测到当前的所述大系统不需要升级,则将所述启动标识设置为所述大系统启动标识,并重启系统。通过本实施方式,可以在小系统下不需要对大系统进行升级时,切换至大系统。
具体的,在本实施例中,在小系统下,若未成功对大系统进行升级,则可切换至大系统下对大系统进行升级,从而保证系统升级的可靠性。则相应的,控制模块44,还可以用于在第二升级模块51根据所述第二大系统升级包,对所述大系统进行升级之后,若升级失败,则直接将所述启动标识设置为所述大系统启动标识,并重启系统。
可选的,在小系统下对大系统进行升级的过程中,也可以对大系统的系统状态进行更新,相应的,第二检测模块46,还可以用于在第二升级模块51根据所述第二大系统升级包,对所述大系统成功升级之后,检测所述大系统的升级模块当前是否发生更新;
设置模块47,仍用于若第二检测模块46检测到所述大系统的升级模块发生更新,则将所述大系统的系统状态设置为升级未验证状态。
具体的,在本实施例中,如果在小系统下检测到当前的大系统需要升级,则直接下载相应的大系统升级包并对大系统进行升级,如果升级成功,则设置小系统的系统状态为升级已验证状态,进一步的,若大系统的升级模块进行了更新,则设置大系统的系统状态为升级未验证状态,并切换至大系统中,后续的,可以通过在大系统下对大系统进行升级,对大系统的系统状态进行验证,若在大系统下对大系统升级成功,且其升级模块未发生更新,则将大系统的系统状态设为升级已验证状态。
本实施例提供的系统升级装置,通过在小系统下对大系统和小系统进行升级的技术方案,当在大系统下对大系统升级失败时,也可切换至小系统中,通过本实施例在小系统下对大系统进行更新,保证了大系统更新的可靠性,此外,通过本实施例还能够对小系统和大系统的系统状态进行更新,从而实现在大系统下,基于各系统的系统状态,既可靠又方便地进行系统升级。
具体的,在上述任一装置实施例中,对于大系统和小系统中的任一系统来说,用于检测当前的该系统是否需要升级的第一检测模块42,具体可以包括:
获取单元,用于获取所述系统当前的版本号和最新版本号;
判断单元,用于若所述当前的版本号低于所述最新版本号,则所述系统需要升级,否则,当前的所述系统不需要升级。
相应的,基于本实施方式,当对系统进行升级之后,需要相应的对系统当前的版本号进行更新。则在上述任一实施例中,第一检测模块42还可以包括:处理单元,用于对系统成功升级之后,将所述系统的版本号更新为所述最新版本号。
总的来说,上述实施例通过对系统的系统状态进行设置,保证了在大系统中升级大系统时,小系统是升级已验证状态,如果升级失败,则可切换至小系统中进行大系统升级;再例如,在大系统中升级小系统时,应保证大系统是升级已验证状态,如果升级失败,则重启大系统进行小系统升级。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (10)
1.一种系统升级方法,其特征在于,包括:
检测当前的启动标识,若所述启动标识为大系统启动标识,则启动大系统,并在所述大系统下检测当前的大系统是否需要升级;
若是,且若当前小系统的系统状态为升级已验证状态,则下载第一大系统升级包,并将所述启动标识设置为小系统启动标识;
根据所述第一大系统升级包,对所述大系统进行升级,若升级成功,则将所述启动标识设置为大系统启动标识,并继续运行所述大系统。
2.根据权利要求1所述的方法,其特征在于,所述启动大系统之后,还包括:
在大系统下检测当前的小系统是否需要升级,若是,且若当前所述大系统的系统状态为升级已验证状态,则下载小系统升级包,并将所述启动标识设置为所述大系统启动标识;
根据所述小系统升级包,对所述小系统进行升级,若升级成功,则继续运行所述大系统。
3.根据权利要求1所述的方法,其特征在于,所述检测当前的启动标识之后,还包括:
若所述启动标识为小系统启动标识,则启动所述小系统,在所述小系统下检测当前的大系统是否需要升级,若是,则下载第二大系统升级包,并将所述启动标识设置为所述小系统启动标识;
根据所述第二大系统升级包,对所述大系统进行升级,若升级成功,则将所述小系统的系统状态设置为升级已验证状态;
将所述启动标识设置为所述大系统启动标识,并重启系统。
4.根据权利要求1所述的方法,其特征在于,所述根据所述第一大系统升级包,对所述大系统进行升级之后,还包括:
若升级成功,则检测所述大系统的升级模块当前是否发生更新;
若未发生更新,则将所述大系统的系统状态设置为升级已验证状态,否则,将所述大系统的系统状态设置为升级未验证状态。
5.根据权利要求2所述的方法,其特征在于,所述在大系统下检测当前的小系统是否需要升级之后,还包括:
若是,且若当前所述大系统的系统状态为升级未验证状态,则继续运行所述大系统。
6.一种系统升级装置,其特征在于,包括:
启动模块,用于检测当前的启动标识,若所述启动标识为大系统启动标识,则启动大系统;
第一检测模块,用于在所述启动模块启动所述大系统之后,在所述大系统下检测当前的大系统是否需要升级;
处理模块,用于若所述第一检测模块在所述大系统下检测到当前的大系统需要升级,且若当前小系统的系统状态为升级已验证状态,则下载第一大系统升级包;
控制模块,用于在所述处理模块下载所述第一大系统升级包之后,将所述启动标识设置为小系统启动标识;
第一升级模块,用于根据所述第一大系统升级包,对所述大系统进行升级;
所述控制模块,还用于若所述第一升级模块对所述大系统升级成功,则将所述启动标识设置为大系统启动标识,并继续运行所述大系统。
7.根据权利要求6所述的装置,其特征在于,
所述第一检测模块,还用于在所述启动模块启动所述大系统之后,在所述大系统下检测当前的小系统是否需要升级;
所述处理模块,还用于若所述第一检测模块在所述大系统下检测到当前的小系统需要升级,且若当前大系统的系统状态为升级已验证状态,则下载小系统升级包;
所述控制模块,还用于在所述处理模块下载所述小系统升级包之后,将所述启动标识设置为所述大系统启动标识;
所述第一升级模块,还用于根据所述小系统升级包,对所述小系统进行升级;
所述控制模块,还用于若所述第一升级模块对所述小系统升级成功,则继续运行所述大系统。
8.根据权利要求6所述的装置,其特征在于,
所述启动模块,还用于在检测当前的启动标识之后,若所述启动标识为小系统启动标识,则启动所述小系统;
所述第一检测模块,还用于在所述启动模块启动所述小系统之后,在所述小系统下检测当前的大系统是否需要升级;
所述处理模块,还用于若所述第一检测模块在所述小系统下检测到当前的大系统需要升级,则下载第二大系统升级包;
所述控制模块,还用于在所述处理模块下载所述第二大系统升级包之后,将所述启动标识设置为所述小系统启动标识;
所述装置还包括:
第二升级模块,用于根据所述第二大系统升级包,对所述大系统进行升级;
所述设置模块,还用于若所述第二升级模块对所述大系统升级成功,则将所述小系统的系统状态设置为升级已验证状态;
所述控制模块,还用于若所述第二升级模块对所述大系统升级成功,则将所述启动标识设置为所述大系统启动标识,并重启系统。
9.根据权利要求6所述的装置,其特征在于,所述装置还包括:
第二检测模块,用于在所述第一升级模块根据所述第一大系统升级包,对所述大系统成功升级之后,检测所述大系统的升级模块当前是否发生更新;
设置模块,用于若所述第二检测模块检测到所述大系统的升级模块未发生更新,则将所述大系统的系统状态设置为升级已验证状态,否则,将所述大系统的系统状态设置为升级未验证状态。
10.根据权利要求7所述的装置,其特征在于,
所述控制模块,还用于若所述第一检测模块在所述大系统下检测到当前的小系统需要升级,且若当前所述大系统的系统状态为升级未验证状态,则继续运行所述大系统。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310745089.XA CN104750509A (zh) | 2013-12-30 | 2013-12-30 | 系统升级方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310745089.XA CN104750509A (zh) | 2013-12-30 | 2013-12-30 | 系统升级方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104750509A true CN104750509A (zh) | 2015-07-01 |
Family
ID=53590260
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310745089.XA Pending CN104750509A (zh) | 2013-12-30 | 2013-12-30 | 系统升级方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104750509A (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1710864A (zh) * | 2004-06-16 | 2005-12-21 | 华为技术有限公司 | 可升级通信系统及通信系统的升级方法 |
US7146610B2 (en) * | 2003-03-27 | 2006-12-05 | Taiwan Semiconductor Manufacturing Company, Ltd. | Method for upgrading software components without system shutdown |
CN1889042A (zh) * | 2006-07-17 | 2007-01-03 | 华为技术有限公司 | 一种终端升级方法及系统 |
CN102129375A (zh) * | 2010-01-12 | 2011-07-20 | 中国移动通信集团公司 | 一种移动终端系统升级的方法和设备 |
CN102141921A (zh) * | 2010-02-03 | 2011-08-03 | 华为终端有限公司 | 一种终端设备系统升级方法及终端设备 |
-
2013
- 2013-12-30 CN CN201310745089.XA patent/CN104750509A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7146610B2 (en) * | 2003-03-27 | 2006-12-05 | Taiwan Semiconductor Manufacturing Company, Ltd. | Method for upgrading software components without system shutdown |
CN1710864A (zh) * | 2004-06-16 | 2005-12-21 | 华为技术有限公司 | 可升级通信系统及通信系统的升级方法 |
CN1889042A (zh) * | 2006-07-17 | 2007-01-03 | 华为技术有限公司 | 一种终端升级方法及系统 |
CN102129375A (zh) * | 2010-01-12 | 2011-07-20 | 中国移动通信集团公司 | 一种移动终端系统升级的方法和设备 |
CN102141921A (zh) * | 2010-02-03 | 2011-08-03 | 华为终端有限公司 | 一种终端设备系统升级方法及终端设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5113700B2 (ja) | ファームウェア更新装置及び方法 | |
CN102830984B (zh) | 固件更新的方法、芯片以及通信终端 | |
CN102023908B (zh) | 一种引导程序备份方法及装置 | |
US20110302572A1 (en) | Embedded network device and firmware upgrading method | |
CN102722394B (zh) | 一种嵌入式设备的启动升级方法 | |
CN101923473B (zh) | 嵌入式电子装置及更新其固件的方法 | |
CN105760200A (zh) | 终端设备及其系统升级方法 | |
CN107783776B (zh) | 固件升级包的处理方法及装置、电子设备 | |
CN102184111B (zh) | 操作系统在线升级方法及带操作系统的设备 | |
CN101594613A (zh) | 终端设备及其升级的方法、系统 | |
CN112416406B (zh) | 终端设备升级方法、装置、终端设备和介质 | |
CN105094927A (zh) | 一种设备固件升级方法和装置 | |
CN102508686A (zh) | 一种系统安全升级的实现方法及其系统 | |
CN106020861A (zh) | 一种智能手表的fota升级方法及系统 | |
CN103970564A (zh) | 嵌入式操作系统自动修复升级功能的方法及其系统 | |
CN104918114A (zh) | 一种操作系统升级方法及装置 | |
CN112612524A (zh) | Linux系统启动的方法、装置、设备及存储介质 | |
EP3153968A1 (en) | Multi-system terminal system updating method, updating device and terminal | |
CN110597545A (zh) | 一种基于ota组件的热补丁智能升级方法及系统 | |
CN105677409A (zh) | 一种系统升级方法及装置 | |
CN112416411B (zh) | 升级方法及装置、设备端、服务器、计算机可读介质 | |
CN113032183A (zh) | 系统管理方法、装置、计算机设备和存储介质 | |
CN115951920A (zh) | 移动设备升级方法、装置、存储单元和移动设备 | |
CN102184115A (zh) | 升级系统软件的方法及设备 | |
CN104750509A (zh) | 系统升级方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20150701 |