CN104102520B - 一种系统启动方法和装置 - Google Patents

一种系统启动方法和装置 Download PDF

Info

Publication number
CN104102520B
CN104102520B CN201410359148.4A CN201410359148A CN104102520B CN 104102520 B CN104102520 B CN 104102520B CN 201410359148 A CN201410359148 A CN 201410359148A CN 104102520 B CN104102520 B CN 104102520B
Authority
CN
China
Prior art keywords
initialization
slot number
system software
unit
hardware
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
Application number
CN201410359148.4A
Other languages
English (en)
Other versions
CN104102520A (zh
Inventor
薛聪
祁正林
刘刀桂
周孟韬
袁洋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
New H3C Technologies Co Ltd
Original Assignee
New H3C Technologies 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 New H3C Technologies Co Ltd filed Critical New H3C Technologies Co Ltd
Priority to CN201410359148.4A priority Critical patent/CN104102520B/zh
Publication of CN104102520A publication Critical patent/CN104102520A/zh
Application granted granted Critical
Publication of CN104102520B publication Critical patent/CN104102520B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Multi Processors (AREA)
  • Stored Programmes (AREA)

Abstract

本发明提供了一种系统启动方法,该方法包括:根据存储的槽位号,以及系统软件进行硬件、驱动初始化;当硬件、驱动初始化完成时,获取CB上存储的PE系统软件,并确定该PE系统软件与本地存储的系统软件是否相同,如果是,开始平台的初始化,完成系统启动;否则,使用获取的PE系统软件更新本地存储的系统软件,并重新根据存储的槽位号,以及系统软件进行硬件、驱动初始化。基于同样的发明构思,本申请还提出一种系统启动装置,在不受光模块类型限制的情况下,能够兼容PE和CB上的不同系统软件,使PE和CB能够正常通信。

Description

一种系统启动方法和装置
技术领域
本发明涉及通信技术领域,特别涉及一种系统启动方法和装置。
背景技术
端口扩展器(Port Extender,PE)上的系统软件加载有两种方法,一是通过引导软件(Bootware)进行加载,二是通过PE系统上运行的系统软件(APP)进行下载。
目前市面上光模块大约有几十种,Bootware功能模块对于光模块无法进行有效的识别,这个给设备初始加载任务带来很大的风险,如果无法识别这些模块,有可能会导致系统软件加载失败等重大问题。而通过APP下载,需要PE上储存的系统软件能够完全启动,而且与控制桥(Controller Bridge,CB)上的软件版本一致,才能与CB正常通信。
发明内容
有鉴于此,本申请提供一种系统启动方法和装置,以解决系统软件不同时通过APP方式进行系统启动,导致CB与PE不能正常通信的问题。
为解决上述技术问题,本申请的技术方案是这样实现的:
一种系统启动方法,所述方法包括:步骤
A、根据存储的槽位号,以及系统软件进行硬件、驱动初始化;
B、当硬件、驱动初始化完成时,获取CB上存储的PE系统软件,并确定该PE系统软件与本地存储的系统软件是否相同,如果是,执行步骤D;否则,执行步骤C;
C、使用获取的PE系统软件更新本地存储的系统软件,执行步骤A;
D、开始平台的初始化,完成系统启动。
一种系统启动装置,所述装置包括:存储单元、第一初始化单元、获取单元、确定单元和第二初始化单元;
所述存储单元,用于存储槽位号和系统软件;当所述确定单元确定获取的PE系统软件与存储的系统软件不同时,使用获取的PE系统软件更新存储的系统软件并触发所述第一初始化单元执行操作;
所述第一初始化单元,用于根据所述存储单元存储的槽位号,以及系统软件进行硬件、驱动初始化;
所述获取单元,用于当所述第一初始化单元完成硬件、驱动初始化时,获取CB上存储的PE系统软件;
所述确定单元,用于确定所述获取单元获取的PE系统软件与所述存储单元存储的系统软件是否相同;
所述第二初始化单元,用于当所述确定单元确定获取的PE系统软件与所述存储单元存储的系统软件相同时,开始平台的初始化,完成系统启动。
综上所述,本申请通过在进行系统启动过程中,当完成硬件、驱动初始化时,不直接进行平台的初始化,而是获取CB上存储的PE系统软件,当CB上的系统软件与本设备初始化的系统软件相同时,才进行平台的初始化,否则,使用从CB上获取的PE系统软件更新本地存储的系统软件并重新进行硬件、驱动初始化。通过该方案进行系统启动后,在不受光模块类型限制的情况下,能够兼容PE和CB上的不同系统软件,使PE和CB能够正常通信。
附图说明
图1为本申请中系统启动方法流程示意图;
图2为本申请具体实施例中系统启动流程示意图;
图3为本申请具体实施例中应用于上述技术的装置结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,下面结合附图并 据实施例,对本发明的技术方案进行详细说明。
本申请提出一种系统启动方法,PE在进行系统启动过程中,当完成硬件、驱动初始化时,不直接进行平台的初始化,而是获取CB上存储的PE系统软件,当CB上的系统软件与本设备初始化的系统软件相同时,才进行平台的初始化,否则,使用从CB上获取的PE系统软件更新本地存储的系统软件并重新进行硬件、驱动初始化。本申请提供的系统启动方法,在不受光模块类型限制的情况下,能够兼容PE和CB上的不同系统软件,使PE和CB能够正常通信。
参见图1,图1为本申请中系统启动方法流程示意图。具体步骤为:
步骤101,PE根据存储的槽位号,以及系统软件进行硬件、驱动初始化。
在PE进行硬件、驱动初始化前,先确定本地是否存储了槽位号,如果是,执行步骤101;否则,虚拟一个槽位号,并使用该槽位号以及存储的系统软件进行初始化,执行步骤102。
在现有实现时,如果本地未存储槽位号,则不能进行硬件、驱动初始化。通常的解决方式是通过bootware引导,在本地的闪存中存储一个槽位号,但是,如果本地不存在槽位号,使用了bootware进行槽位号加载,则会对PE中的光模块进行限制;而本申请在具体实现时,如果本地未存储槽位号,则先虚拟一个槽位号,用于进行硬件、驱动的初始化,这样不会对PE中的光模块进行限制。
在具体实现时,通常将系统软件和槽位号存储在闪存中,实际上将系统软件和槽位号存储在能读取信息的任何非易失存储器中即可。
步骤102,当硬件、驱动初始化完成时,该PE获取CB上存储的PE系统软件,并确定该PE系统软件与本地存储的系统软件是否相同,如果是,执行步骤104;否则,执行步骤103。
为了避免PE当前存储的槽位号与CB为该PE分配的不同,在硬件、驱动初始化完成后,该PE从CB获取槽位号,并更新存储的槽位号;再向CB发送请求,以获取CB上对应本PE进行系统启动的系统软件时,携带从 CB上获取的槽位号,以便CB将对应系统软件响应给该PE。
在本申请的具体实现过程中,当硬件、驱动初始化完成时,不立即进行平台的初始化,而是将平台初始化挂起。执行步骤102即后续步骤,在使用与CB上相同的系统软件完成硬件、驱动初始化时,才将初始化挂起的平台继续进行初始化。
步骤103,该PE使用获取的PE系统软件更新本地存储的系统软件,执行步骤101。
当PE与CB上对应系统软件不同时,需要使用从CB上获取的PE系统软件重新进行硬件、驱动初始化。
步骤104,该PE开始平台的初始化,完成系统启动。
使用与从CB上获取的PE系统软件相同的系统软件进行硬件、驱动初始化完成时,将初始化挂起的平台开始初始化,之后的操作同现有实现。
下面结合附图,详细说明本申请具体实施例中如何实现系统启动。
参见图2,图2为本申请具体实施例中系统启动流程示意图。具体步骤为:
步骤201,PE开始硬件、驱动初始化。
步骤202,该PE确定闪存中是否存储了槽位号,如果是,执行步骤204;否则,执行步骤203。
本实施例中以闪存中存储槽位号和系统软件为例。
步骤203,该PE虚拟一个槽位号,使用该槽位号,以及闪存中存储的系统软件进行硬件、驱动初始化,执行步骤205。
在现有实现时,如果本地未存储槽位号,则不能进行硬件、驱动初始化。通常的解决方式是通过bootware引导,在本地的闪存中存储一个槽位号,但是,如果本地不存在槽位号,使用了bootware进行槽位号加载,则会对PE中的光模块进行限制;而本申请在具体实现时,如果本地未存储槽位号,则先虚拟一个槽位号,用于进行硬件、驱动的初始化,这样不会对PE中的光模块进行限制。
步骤204,该PE读取闪存中存储的槽位号,以及系统软件进行硬件、驱动初始化。
步骤205,该PE完成硬件、驱动初始化,并将平台的初始化挂起。
PE在完成硬件、驱动初始化后,端口管理、收发通道都已经打通,此时需将平台的初始化挂起,防止由于CP和PE上的系统软件版本不匹配造成挂死现象。
步骤206,该PE向CB发送槽位号请求,获取槽位号并更新到闪存中。
当闪存中保存的槽位号,与当前CB分配的槽位号相同,步骤206也可以不执行。
步骤207,该PE获取CB上存储的PE系统软件,并确定该PE系统软件与本地存储的系统软件是否相同,如果是,执行步骤208;否则,执行步骤209。
PE向CB发送请求系统软件的请求报文,并在该请求报文中携带获取的槽位号,CB根据接收到请求报文,向该PE响应对应的系统软件。
在确定获取的PE系统软件与本地存储的系统软件是否相同时,具体实现时,可以通过软件版本、软件特征等确定,本申请具体实施例中不做限制。
步骤208,该PE确定当前存储的槽位号与进行硬件、驱动初始化的槽位号是否相同,如果是,执行步骤211;否则,执行步骤210。
步骤207和步骤208可以不分先后顺序执行,在步骤207之后执行步骤208这种方式执行时,执行效率要更高,由于在步骤207中,如果确定系统软件不同时,需要重启,就没必要先执行步骤208判断中可能执行到的在线更新槽位号的步骤。
步骤209,该PE使用获取到的PE系统软件更新存储在闪存中的系统软件,并执行步骤201。
步骤210,该PE在线更新槽位号。
步骤211,该PE将初始化挂起的平台执行初始化,完成系统启动。
基于同样的发明构思,本申请还提出一种系统启动装置。参见图3,图3为 本申请具体实施例中应用于上述技术的装置结构示意图。该装置包括:存储单元301、第一初始化单元302、获取单元303、确定单元304和第二初始化单元305;
存储单元301,用于存储槽位号和系统软件;当确定单元304确定获取的PE系统软件与存储的系统软件不同时,使用获取的PE系统软件更新存储的系统软件并触发第一初始化单元302执行操作;
第一初始化单元302,用于根据存储单元301存储的槽位号,以及系统软件进行硬件、驱动初始化;
获取单元303,用于当第一初始化单元302完成硬件、驱动初始化时,获取CB上存储的PE系统软件;
确定单元304,用于确定获取单元303获取的PE系统软件与存储单元301存储的系统软件是否相同;
第二初始化单元305,用于当确定单元304确定获取的PE系统软件与存储单元存储301存储的系统软件相同时,开始平台的初始化,完成系统启动。
较佳地,
确定单元304,进一步用于确定存储单元301是否存储了槽位号,如果是,触发第一初始化单元302执行操作;
获取单元303,进一步用于当确定单元304确定本地未存储槽位号时,虚拟一个槽位号;并触发第一初始化单元302执行操作。
较佳地,
获取单元303,进一步用于当第一初始化单元302完成硬件、驱动初始化完成时,从CB获取槽位号,并更新存储的槽位号;
确定单元304,进一步用于确定存储单元301当前存储的槽位号与进行硬件、驱动初始化的槽位号是否相同,如果是,触发第二初始化单元305执行操作;否则,触发第一初始化单元302在线更新槽位号之后,触发第二初始化单元305执行操作。
较佳地,
第二初始化单元305,进一步用于在第一初始化单元302完成硬件、驱动初始化时,将平台初始化挂起。
上述实施例的单元可以集成于一体,也可以分离部署;可以合并为一个单元,也可以进一步拆分成多个子单元。
综上所述,PE在进行系统启动过程中,当完成硬件、驱动初始化时,不直接进行平台的初始化,而是获取CB上存储的PE系统软件,当CB上的系统软件与本设备初始化的系统软件相同时,才进行平台的初始化,否则,使用从CB上获取的PE系统软件更新本地存储的系统软件并重新进行硬件、驱动初始化。通过该方案进行系统启动后,无论PE和CB上的系统软件是否相同,都能够正常通信,并且支持光模块类型广泛。
本申请在具体实现时,为了使PE不受光模块的限制,在本地未存储槽位号时,通过虚拟槽位号实现硬件、驱动初始化,并在硬件、驱动初始化完成时,从CB上获取真正的槽位号,并进行在线更新。从而本申请中PE在系统启动时,不受光模块限制,进行多线程处理,收包快,系统启动效率高;并且能够兼容PE、CB的异构版本。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

Claims (8)

1.一种系统启动方法,其特征在于,所述方法包括:步骤
A、根据存储的槽位号,以及系统软件进行硬件、驱动初始化;
B、当硬件、驱动初始化完成时,获取控制桥CB上存储的端口扩展器PE系统软件,并确定该PE系统软件与本地存储的系统软件是否相同,如果是,执行步骤D;否则,执行步骤C;
C、使用获取的PE系统软件更新本地存储的系统软件,执行步骤A;
D、开始平台的初始化,完成系统启动。
2.根据权利要求1所述的方法,其特征在于,步骤A之前,所述方法进一步包括:
确定本地是否存储了槽位号,如果是,执行步骤A;否则,虚拟一个槽位号,并使用该槽位号以及存储的系统软件进行初始化,执行步骤B。
3.根据权利要求1所述的方法,其特征在于,
步骤B中当硬件、驱动初始化完成时,所述方法进一步包括:从CB获取槽位号,并更新存储的槽位号;
步骤B中确定获取的PE系统软件与存储的系统软件相同,之后,步骤D之前,所述方法进一步包括:确定当前存储的槽位号与进行硬件、驱动初始化的槽位号是否相同,如果是,执行步骤D;否则,执行在线更新槽位号之后,执行步骤D。
4.根据权利要求1-3任意一项所述的方法,其特征在于,步骤B中当硬件、驱动初始化完成时,所述方法进一步包括:将平台初始化挂起。
5.一种系统启动装置,其特征在于,所述装置包括:存储单元、第一初始化单元、获取单元、确定单元和第二初始化单元;
所述存储单元,用于存储槽位号和系统软件;当所述确定单元确定获取的端口扩展器PE系统软件与存储的系统软件不同时,使用获取的PE系统软件更新存储的系统软件并触发所述第一初始化单元执行操作;
所述第一初始化单元,用于根据所述存储单元存储的槽位号,以及系统软件进行硬件、驱动初始化;
所述获取单元,用于当所述第一初始化单元完成硬件、驱动初始化时,获取控制桥CB上存储的PE系统软件;
所述确定单元,用于确定所述获取单元获取的PE系统软件与所述存储单元存储的系统软件是否相同;
所述第二初始化单元,用于当所述确定单元确定获取的PE系统软件与所述存储单元存储的系统软件相同时,开始平台的初始化,完成系统启动。
6.根据权利要求5所述的装置,其特征在于,
所述确定单元,进一步用于确定所述存储单元是否存储了槽位号,如果是,触发所述第一初始化单元执行操作;
所述获取单元,进一步用于当所述确定单元确定本地未存储槽位号时,虚拟一个槽位号;并触发所述第一初始化单元执行操作。
7.根据权利要求5所述的装置,其特征在于,
所述获取单元,进一步用于当所述第一初始化单元完成硬件、驱动初始化完成时,从CB获取槽位号,并更新存储的槽位号;
所述确定单元,进一步用于确定所述存储单元当前存储的槽位号与进行硬件、驱动初始化的槽位号是否相同,如果是,触发所述第二初始化单元执行操作;否则,触发所述第一初始化单元在线更新槽位号之后,触发所述第二初始化单元执行操作。
8.根据权利要求5-7任意一项所述的装置,其特征在于,
所述第二初始化单元,进一步用于在所述第一初始化单元完成硬件、驱动初始化时,将平台初始化挂起。
CN201410359148.4A 2014-07-25 2014-07-25 一种系统启动方法和装置 Active CN104102520B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410359148.4A CN104102520B (zh) 2014-07-25 2014-07-25 一种系统启动方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410359148.4A CN104102520B (zh) 2014-07-25 2014-07-25 一种系统启动方法和装置

Publications (2)

Publication Number Publication Date
CN104102520A CN104102520A (zh) 2014-10-15
CN104102520B true CN104102520B (zh) 2017-10-27

Family

ID=51670693

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410359148.4A Active CN104102520B (zh) 2014-07-25 2014-07-25 一种系统启动方法和装置

Country Status (1)

Country Link
CN (1) CN104102520B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104618145B (zh) * 2014-12-31 2018-05-08 新华三技术有限公司 一种系统启动方法和设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6275932B1 (en) * 1997-10-08 2001-08-14 Sony Corporation Program startup apparatus and program startup method for use in electronic machine, and medium
CN1869935A (zh) * 2005-12-31 2006-11-29 华为技术有限公司 一种交换机设备板件自启动的方法
CN101132312A (zh) * 2007-08-14 2008-02-27 中兴通讯股份有限公司 混插情形下使用配置文件进行设备配置恢复的方法
CN101741533A (zh) * 2008-11-07 2010-06-16 华为技术有限公司 一种设备启动的方法、装置和设备

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6275932B1 (en) * 1997-10-08 2001-08-14 Sony Corporation Program startup apparatus and program startup method for use in electronic machine, and medium
CN1869935A (zh) * 2005-12-31 2006-11-29 华为技术有限公司 一种交换机设备板件自启动的方法
CN101132312A (zh) * 2007-08-14 2008-02-27 中兴通讯股份有限公司 混插情形下使用配置文件进行设备配置恢复的方法
CN101741533A (zh) * 2008-11-07 2010-06-16 华为技术有限公司 一种设备启动的方法、装置和设备

Also Published As

Publication number Publication date
CN104102520A (zh) 2014-10-15

Similar Documents

Publication Publication Date Title
US12056519B2 (en) Virtual machine migration method and apparatus
CN104579719B (zh) 一种固件的升级方法和系统、上位机和光模块
CN103699421B (zh) 嵌入式设备系统升级方法及其装置
WO2017166446A1 (zh) 漏洞修复方法和装置
CN106708597A (zh) 一种基于Openstack创建集群环境的方法、装置及系统
WO2017045424A1 (zh) 一种应用程序部署系统及部署方法
CN107193615B (zh) 项目代码信息的更新部署方法及装置
CN112131099B (zh) 一种版本升级测试方法及装置
US9830181B2 (en) Method and system for gracefully shutdown virtual system
CN111198695A (zh) 微服务治理管理平台的自动化部署方法和电子设备
CN110347483B (zh) 物理机到虚拟机迁移方法、装置及存储介质
CN109347652A (zh) 服务器集群的服务管理方法和装置
WO2011088701A1 (zh) 一种跨平台版本在线升级的方法及装置
CN109669808A (zh) 一种系统备份的方法及设备
CN106569854B (zh) 一种设置设备固件和实现厂测的方法及系统
CN110740188A (zh) 镜像文件上传方法、装置、设备及计算机可读存储介质
CN107329792A (zh) 一种Docker容器启动方法及装置
CN104102520B (zh) 一种系统启动方法和装置
WO2015154578A1 (zh) 单板的boot程序远程升级方法、装置及系统
CN109299116B (zh) 一种数据同步方法、装置、设备及可读存储介质
CN108763098B (zh) 一种内存数据处理测试系统
WO2017054695A1 (zh) 基于kvm部署备份虚拟网卡虚拟机的方法、装置及系统
CN108234174B (zh) 虚拟网络功能的管理方法和装置
CN109039765B (zh) 网络配置方法及装置
CN108920936A (zh) 一种基于Purley平台实现vmware认证的方法和装置

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
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.

GR01 Patent grant
GR01 Patent grant