CN105589711B - 一种设备升级方法和装置 - Google Patents
一种设备升级方法和装置 Download PDFInfo
- Publication number
- CN105589711B CN105589711B CN201510400325.3A CN201510400325A CN105589711B CN 105589711 B CN105589711 B CN 105589711B CN 201510400325 A CN201510400325 A CN 201510400325A CN 105589711 B CN105589711 B CN 105589711B
- Authority
- CN
- China
- Prior art keywords
- business process
- business
- inactive
- success
- starting
- 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.)
- Active
Links
Landscapes
- Stored Programmes (AREA)
Abstract
本发明提供了一种设备升级方法,该方法包括:在设备升级,进行init进程启动时,启动设备相关进程;当所有设备相关进程启动完成后,使用新版本软件依次启动各业务进程,针对任一业务进程,在启动该业务进程后,确定该业务进程是否启动成功;若确定该业务进程未启动成功,且进一步确定未启动成功的原因为内存不足,则挂起该业务进程,结束init进程启动。基于同样的发明构思,本申请还提出一种设备升级装置,能够在某业务进程升级不成功时,不需要再次重新启动所有业务进程的情况下,完成设备升级。
Description
技术领域
本发明涉及通信技术领域,特别涉及一种设备升级方法和装置。
背景技术
设备上电后,先运行Boot ROM文件,初始化硬件并显示设备的硬件参数,然后运行启动软件包,系统会根据启动软件包列表自动判断相应的软件包是否存在,如果存在是否有效。如果启动软件包列表中没有Feature包/补丁包,则跳过Feature包/补丁包的判断流程。
随着网络设备软件功能越来越丰富,软件所需要的内存空间也逐渐变大,特别是当现有设备存在大配置启动文件,升级新软件版本时,可能会出现内存不足,而导致升级失败,影响业务;在现网中经常会遇到版本升级切换时,出现问题,导致版本切换不成功,影响客户业务。
目前设备升级启动时,先进行硬件设备驱动初始化,再进行操作系统内核态模块启动;当进行操作系统内核态模块启动完成时进行init进程启动。
在进行init进程启动时,首先启动设备相关进程,在设备相关进程启动完成后,启动业务相关进程(业务进程),在业务进程启动过程中,启动任一业务进程时,若遇到内存不足时,会不断申请内存来完成该业务进程的启动,直到申请到启动该业务进程的内存;当为该业务进程申请到内存时,会导致设备的内存不足而造成整机再次重启。
发明内容
有鉴于此,本申请提供一种设备升级方法和装置,以解决某个业务进程升级不成功而导致再次重新启动所有进程的问题。
为解决上述技术问题,本申请的技术方案是这样实现的:
一种设备升级方法,该方法包括:
在设备升级,进行初始化init进程启动时,启动设备相关进程;
当所有设备相关进程启动完成后,使用新版本软件依次启动各业务进程,针对任一业务进程,在启动该业务进程后,确定该业务进程是否启动成功;
若确定该业务进程未启动成功,且进一步确定未启动成功的原因为内存不足,则挂起该业务进程,结束init进程启动。
一种设备升级装置,该装置包括:第一启动模块和第二启动模块;
所述第一启动模块,用于在设备升级,进行初始化init进程启动时,启动设备相关进程;
所述第二启动模块,用于当所述第一启动模块将所有设备相关进程启动完成后,使用新版本软件依次启动各业务进程,针对任一业务进程,在启动该业务进程后,确定该业务进程是否启动成功;若确定该业务进程未启动成功,且进一步确定未启动成功的原因为内存不足,则挂起该业务进程,结束init进程启动。
由上面的技术方案可知,本申请在业务进程启动过程中,若由于内存不足的原因导致某个业务进程不能成功启动,则挂起该业务进程,并停止对后续业务进程的启动,从而能够在某个业务进程升级不成功时,不需要再次重新启动所有业务进程的情况下,完成设备升级。
附图说明
图1为本申请实施例中设备升级流程示意图;
图2为本申请实施例中业务进程启动流程示意图;
图3为本申请实施例中应用于上述技术的装置结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,下面结合附图并举实施例,对本发明的技术方案进行详细说明。
本申请实施例中提供一种设备升级方法,在进行业务进程启动时,通过自检测方式启动,在启动任一业务进程时,若由于内存不足而启动不成功时,挂起该业务进程,并结束设备的启动,能够避免设备一次启动不成功时进行多次启动。
本申请实施例中一个设备在进行设备升级时,先进行硬件设备驱动初始化,再进行操作系统内核态模块启动;当进行操作系统内核态模块启动完成时进行init进程启动。
在进行init进程启动时,首先启动设备相关进程,在设备相关进程启动完成后,再进行业务进程(业务相关进程)的启动。
本申请实施例中,设备升级启动过程中,从硬件设备驱动初始化到设备相关进程启动均同现有实现,在业务进程启动时,与现有实现不同。
下面结合附图,详细说明本申请实施例中如何实现设备升级的。
参见图1,图1为本申请实施例中设备升级流程示意图。具体步骤为:
步骤101,在设备升级,进行init进程启动时,设备先启动设备相关进程。
步骤102,当所有设备相关进程启动完成后,该设备使用新版本软件依次启动各业务进程,针对任一业务进程,在启动该业务进程后,确定该业务进程是否启动成功。
当启动的业务进程正常running,则确定该业务进程启动成功;否则,确定该业务进程启动不成功。
本步骤中,该设备使用新版本软件依次启动各业务进程,具体包括:
该设备按照默认的业务进程的顺序依次启动各业务进程;
或,按照为各业务进程配置的优先级从高到低的顺序依次启动各业务进程。
本申请实施例中默认的业务进程顺序即为预先配置的业务进程列表,按照列表中的业务进程的顺序进行业务进程的启动。
如果在具体实现时,为各业务进程配置优先级,如可以以优先级列表的方式为各业务进程配置优先级,则在启动各业务进程时,按照优先级从高到低的顺序依次启动各业务进程。
通过为业务进程配置优先级,可以按需实现对业务进程的启动,如果所有业务进程都启动,会发生内存不足,具体实现时为比较重要的业务进程配置高优先级,可以使该业务进程被优先启动。
步骤103,该设备若确定该业务进程未启动成功,且进一步确定未启动成功的原因为内存不足,则挂起该业务进程,结束init进程启动。
本步骤中该设备在挂起该业务进程时,标记该业务进程及后续业务进程为不启动进程。
步骤102中在确定该业务进程是否启动成功时,若确定该业务进程未启动成功,且进一步确定未启动成功的原因为业务访问进程资源冲突,则挂起该业务进程,标记该业务进程为不启动进程;并启动后续业务进程。若当前业务进程已为最后一个业务进程,则结束init进程启动。
若确定该业务进程未启动成功,且进一步确定未启动成功的原因不为内存不足且不为业务访问进程资源冲突,则启动回退机制,使用旧版本软件启动该业务进程,并在该进程启动完成后,使用新版本软件继续启动其他进程。
上述使用旧版本软件启动该业务进程,具体包括:
该设备确定该业务进程对应的新旧版本boot包是否一致,如果是,加载旧版本system包启动该业务进程;否则,加载旧版本boot包和旧版本system包启动该业务进程。
在软件版本升级遇到问题时,可以使用旧版本软件启动,尽快回复原有业务。
本申请实施例中的新版本软件指设备当前要使用的版本软件,旧版本软件指设备升级前使用的版本软件。
下面结合附图,详细说明,本申请实施例中详细描述针对一个业务进程的具体启动过程。
参见图2,图2为本申请实施例中业务进程启动流程示意图。具体步骤为:
步骤201,该设备使用新版本软件启动任一业务进程。
步骤202,该设备确定是否成功启动该业务进程,如果是,执行步骤211;否则,执行步骤203。
步骤203,该设备确定该业务进程未启动成功的原因是否为内存不足,如果是,执行步骤204;否则,执行步骤205。
步骤204,该设备将该业务进程挂起,并标记该业务进程和后续业务进程为不启动,结束本流程。
本步骤中,若该业务进程为最后一个业务进程,则结束该次init进程启动。
步骤205,该设备确定该业务进程未启动成功的原因是否为业务访问进程资源冲突,如果是,执行步骤206;否则,执行步骤207。
步骤206,该设备挂起该进程,标记该业务进程为不启动进程,并启动后续业务进程,结束本流程。
本步骤中,若当前业务进程已为最后一个业务进程,则结束该次init进程启动。
步骤207,该设备针对该业务进程启动回退机制,使用旧版本软件启动该进程。
步骤208,该设备确定新旧版本的boot包是否一致,如果是,执行步骤210;否则,执行步骤209。
步骤209,该设备使用旧版本boot包和旧版本system包启动该业务进程,执行步骤211。
步骤210,该设备使用旧版本system包启动该业务进程。
步骤211,该设备完成该业务进程的启动。
基于同样的发明构思,本申请还提出一种设备升级装置。参见图3,图3为本申请实施例中应用于上述技术的装置结构示意图。该装置包括:第一启动模块301和第二启动模块302;
第一启动模块301,用于在设备升级,进行初始化init进程启动时,启动设备相关进程;
第二启动模块302,用于当第一启动模块301将所有设备相关进程启动完成后,使用新版本软件依次启动各业务进程,针对任一业务进程,在启动该业务进程后,确定该业务进程是否启动成功;若确定该业务进程未启动成功,且进一步确定未启动成功的原因为内存不足,则挂起该业务进程,结束init进程启动。
较佳地,
第二启动模块302,进一步用于若确定该业务进程未启动成功,且进一步确定未启动成功的原因为业务访问进程资源冲突,则挂起该业务进程,并继续启动后续业务进程直到结束init进程启动。
较佳地,
第二启动模块302,进一步用于若确定该业务进程未启动成功,且进一步确定未启动成功的原因不为内存不足且不为业务访问进程资源冲突,则启动回退机制,使用旧版本软件启动该业务进程,并在该业务进程启动完成后,使用新版本软件继续启动后续业务进程。
较佳地,
第二启动模块302,具体用于使用旧版本软件启动该业务进程时,确定该业务进程对应的新旧版本boot包是否一致,如果是,加载旧版本system包启动该业务进程;否则,加载旧版本boot包和旧版本system包启动该业务进程。
较佳地,
所述第二启动单元,具体用于使用新版本软件依次启动各业务进程时,按照默认的业务进程的顺序依次启动各业务进程;或,按照为各业务进程配置的优先级从高到低的顺序依次启动各业务进程。
较佳地,
所述第二启动单元,进一步用于若确定该业务进程未启动成功,且进一步确定未启动成功的原因为内存不足,则挂起该业务进程时,标记该业务进程及后续业务进程为不启动进程;若确定该业务进程未启动成功,且进一步确定未启动成功的原因为业务访问进程资源冲突,则挂起该业务进程时,标记该业务进程为不启动进程。
上述实施例的单元可以集成于一体,也可以分离部署;可以合并为一个单元,也可以进一步拆分成多个子单元。
综上所述,本申请通过在业务进程启动过程中,若由于内存不足的原因导致某个业务进程不能成功启动,则挂起该业务进程,并停止对后续业务进程的启动,从而能够在某个业务进程升级不成功时,不需要再次重新启动所有业务进程的情况下,完成设备升级。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (12)
1.一种设备升级方法,其特征在于,该方法包括:
在设备升级过程中,进行初始化init进程启动时,启动设备相关进程;
当所有设备相关进程启动完成后,使用新版本软件依次启动各业务进程,针对任一业务进程,在启动该业务进程后,确定该业务进程是否启动成功;
若确定该业务进程未启动成功,且进一步确定未启动成功的原因为内存不足,则挂起该业务进程,结束init进程启动。
2.根据权利要求1所述的方法,其特征在于,所述方法进一步包括:
若确定该业务进程未启动成功,且进一步确定未启动成功的原因为业务访问进程资源冲突,则挂起该业务进程,并继续启动后续业务进程直到结束init进程启动。
3.根据权利要求1所述的方法,其特征在于,所述方法进一步包括:
若确定该业务进程未启动成功,且进一步确定未启动成功的原因不为内存不足且不为业务访问进程资源冲突,则启动回退机制,使用旧版本软件启动该业务进程,并在该业务进程启动完成后,使用新版本软件继续启动后续业务进程。
4.根据权利要求3所述的方法,其特征在于,所述使用旧版本软件启动该业务进程,包括:
确定该业务进程对应的新旧版本boot包是否一致,如果是,加载旧版本system包启动该业务进程;否则,加载旧版本boot包和旧版本system包启动该业务进程。
5.根据权利要求1-4中任意一项所述的方法,其特征在于,所述使用新版本软件依次启动各业务进程,包括:
按照默认的业务进程的顺序依次启动各业务进程;
或,按照为各业务进程配置的优先级从高到低的顺序依次启动各业务进程。
6.根据权利要求5所述的方法,其特征在于,
所述若确定该业务进程未启动成功,且进一步确定未启动成功的原因为内存不足,则挂起该业务进程时,所述方法进一步包括:
标记该业务进程及后续业务进程为不启动进程;
所述若确定该业务进程未启动成功,且进一步确定未启动成功的原因为业务访问进程资源冲突,则挂起该业务进程时,所述方法进一步包括:
标记该业务进程为不启动进程。
7.一种设备升级装置,其特征在于,该装置包括:第一启动模块和第二启动模块;
所述第一启动模块,用于在设备升级过程中,进行初始化init进程启动时,启动设备相关进程;
所述第二启动模块,用于当所述第一启动模块将所有设备相关进程启动完成后,使用新版本软件依次启动各业务进程,针对任一业务进程,在启动该业务进程后,确定该业务进程是否启动成功;若确定该业务进程未启动成功,且进一步确定未启动成功的原因为内存不足,则挂起该业务进程,结束init进程启动。
8.根据权利要求7所述的装置,其特征在于,
所述第二启动模块,进一步用于若确定该业务进程未启动成功,且进一步确定未启动成功的原因为业务访问进程资源冲突,则挂起该业务进程,并继续启动后续业务进程直到结束init进程启动。
9.根据权利要求7所述的装置,其特征在于,
所述第二启动模块,进一步用于若确定该业务进程未启动成功,且进一步确定未启动成功的原因不为内存不足且不为业务访问进程资源冲突,则启动回退机制,使用旧版本软件启动该业务进程,并在该业务进程启动完成后,使用新版本软件继续启动后续业务进程。
10.根据权利要求9所述的装置,其特征在于,
所述第二启动模块,具体用于使用旧版本软件启动该业务进程时,确定该业务进程对应的新旧版本boot包是否一致,如果是,加载旧版本system包启动该业务进程;否则,加载旧版本boot包和旧版本system包启动该业务进程。
11.根据权利要求7-10中任意一项所述的装置,其特征在于,
所述第二启动单元,具体用于使用新版本软件依次启动各业务进程时,按照默认的业务进程的顺序依次启动各业务进程;或,按照为各业务进程配置的优先级从高到低的顺序依次启动各业务进程。
12.根据权利要求11所述的装置,其特征在于,
所述第二启动单元,进一步用于若确定该业务进程未启动成功,且进一步确定未启动成功的原因为内存不足,则挂起该业务进程时,标记该业务进程及后续业务进程为不启动进程;若确定该业务进程未启动成功,且进一步确定未启动成功的原因为业务访问进程资源冲突,则挂起该业务进程时,标记该业务进程为不启动进程。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510400325.3A CN105589711B (zh) | 2015-07-07 | 2015-07-07 | 一种设备升级方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510400325.3A CN105589711B (zh) | 2015-07-07 | 2015-07-07 | 一种设备升级方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105589711A CN105589711A (zh) | 2016-05-18 |
CN105589711B true CN105589711B (zh) | 2019-02-22 |
Family
ID=55929318
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510400325.3A Active CN105589711B (zh) | 2015-07-07 | 2015-07-07 | 一种设备升级方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105589711B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109828765B (zh) * | 2017-11-23 | 2022-05-17 | 北京华为数字技术有限公司 | 一种在线业务升级的方法、通用路由平台及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101192167A (zh) * | 2006-11-29 | 2008-06-04 | 国际商业机器公司 | 用于显示用户预先设置的信息的方法和计算机 |
CN103049328A (zh) * | 2012-11-06 | 2013-04-17 | 苏州懿源宏达知识产权代理有限公司 | 计算机系统中内存资源分配方法 |
CN104182255A (zh) * | 2014-08-20 | 2014-12-03 | 青岛海信宽带多媒体技术有限公司 | 一种系统应用的库文件升级方法及终端 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8977879B2 (en) * | 2012-03-30 | 2015-03-10 | Motorola Solutions, Inc. | Method and apparatus for enhancing a multi-stage hibernate and resume process |
-
2015
- 2015-07-07 CN CN201510400325.3A patent/CN105589711B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101192167A (zh) * | 2006-11-29 | 2008-06-04 | 国际商业机器公司 | 用于显示用户预先设置的信息的方法和计算机 |
CN103049328A (zh) * | 2012-11-06 | 2013-04-17 | 苏州懿源宏达知识产权代理有限公司 | 计算机系统中内存资源分配方法 |
CN104182255A (zh) * | 2014-08-20 | 2014-12-03 | 青岛海信宽带多媒体技术有限公司 | 一种系统应用的库文件升级方法及终端 |
Also Published As
Publication number | Publication date |
---|---|
CN105589711A (zh) | 2016-05-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110463162B (zh) | 应用部署方法、装置及系统 | |
KR20060051932A (ko) | 소프트웨어를 실행 동안 업데이트하는 시스템, 방법 및컴퓨터-판독가능 매체 | |
CN106549789B (zh) | 一种实现服务器安装的方法及系统 | |
CN111324412A (zh) | 服务部署方法、设备及存储介质 | |
CN109062601A (zh) | Mes系统客户端程序更新方法、装置、设备及介质 | |
CN105744367B (zh) | Android电视上无线快速连网方法 | |
CN101826026A (zh) | 嵌入式设备、嵌入式设备中固件在线升级的系统及方法 | |
CN105721203B (zh) | 升级处理方法及装置 | |
US20200204401A1 (en) | Method and device for automatically implementing ioam encapsulation and storage medium | |
CN105959302B (zh) | 一种终端管理系统及方法 | |
KR20130108613A (ko) | 프로세스 간 통신을 위한 방법, 장치 및 컴퓨터 기록 매체 | |
CN105589711B (zh) | 一种设备升级方法和装置 | |
WO2015154578A1 (zh) | 单板的boot程序远程升级方法、装置及系统 | |
CN112579114B (zh) | 物联网设备的程序升级方法、装置及物联网设备 | |
CN106874188B (zh) | 软件接口测试方法及装置 | |
CN108712298B (zh) | 网络设备升级方法、装置、网络设备及存储介质 | |
CN104754410A (zh) | 电缆调制解调器安全方法及系统 | |
CN103442041A (zh) | 嵌入式设备固件升级的方法、装置及其系统 | |
EP3649762B1 (en) | Method and apparatus for rapidly configuring network element device for plug and play | |
CN116560791A (zh) | 进程的处理器亲和性管理方法、装置及电子设备 | |
US11522759B2 (en) | Method and device manager for controlling program components in a network device | |
WO2013002629A1 (en) | A method of initiating firmware upgrades | |
CN105827467B (zh) | 一种注册中心升级方法、相关设备及系统 | |
CN109472131A (zh) | 一种基于bmc带安全认证的胶囊式uefi固件远程管控方法 | |
CN109669699B (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 | ||
CB02 | Change of applicant information |
Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No. Applicant after: Xinhua three Technology Co., Ltd. Address before: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No. Applicant before: Huasan Communication Technology Co., Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |