CN101078990A - 一种客户端启动软件的动态更新方法及其装置 - Google Patents
一种客户端启动软件的动态更新方法及其装置 Download PDFInfo
- Publication number
- CN101078990A CN101078990A CN 200610011997 CN200610011997A CN101078990A CN 101078990 A CN101078990 A CN 101078990A CN 200610011997 CN200610011997 CN 200610011997 CN 200610011997 A CN200610011997 A CN 200610011997A CN 101078990 A CN101078990 A CN 101078990A
- Authority
- CN
- China
- Prior art keywords
- bootstrap memory
- software
- startup
- starts
- client
- 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
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
本发明公开了一种客户端启动软件的动态更新方法及其装置,适用于分布式***,该方法包括:步骤一,通过客户端设置第一启动引导存储器、第二启动引导存储器;步骤二,服务器端与所述客户端建立连接并向所述客户端发送动态更新启动软件的命令消息,所述客户端从所述服务器端下载并保存更新启动软件;步骤三,根据引导存储器启动标志值判断所述客户端当前是从所述第一启动引导存储器还是从所述第二启动引导存储器启动,将所述更新启动软件写入非当前启动引导存储器,并设置所述客户端下次从所述非当前启动引导存储器启动;及步骤四,所述客户端复位后从所述非当前启动引导存储器启动,运行所述更新启动软件。本发明实现了客户端启动软件的动态更新。
Description
技术领域
本发明涉及一种启动软件的更新方法和装置,特别是涉及一种分布式***中客户端启动软件的动态更新方法和装置。
背景技术
目前移动通信领域的基站***可能由分布在一个城市或地区的很广范围内数以百计的基站组成,且为了便于维护,降低维护成本一般采用无人职守方式,通过网管***进行自动化管理。
基站***的各功能模块的启动都是由该模块上的非易失性启动引导存储器(BOOT)上的启动软件来完成。目前该启动软件普遍采用专门的烧录设备固化到BOOT上,一旦需要更新BOOT中的启动软件,就要求维护人员亲自到上百个基站去取下相关模块,替换其BOOT,这对于无人职守,分布广泛的移动通信基站***来说,无疑要耗费大量的人力、物力,增加了维护成本,加大了维护人员的工作量,也增加了***的不稳定性。
发明内容
本发明所要解决的技术问题在于提供一种客户端启动软件的动态更新方法及其装置,用于解决现有技术分布式***中客户端启动软件只能手工烧录,无法动态更新的缺陷。
为了实现上述目的,本发明提供了一种客户端启动软件的动态更新方法,适用于分布式***,其特征在于,包括:
步骤一,通过客户端设置一第一启动引导存储器、一第二启动引导存储器;
步骤二,服务器端与所述客户端建立连接并向所述客户端发送一动态更新启动软件的命令消息,所述客户端从所述服务器端下载并保存更新启动软件;
步骤三,根据引导存储器启动标志值判断所述客户端当前是从所述第一启动引导存储器还是从所述第二启动引导存储器启动,将所述更新启动软件写入非当前启动引导存储器,并设置所述客户端下次从所述非当前启动引导存储器启动;及
步骤四,所述客户端复位后从所述非当前启动引导存储器启动,运行所述更新启动软件。
所述的客户端启动软件的动态更新方法,其中,若所述客户端当前从所述第一启动引导存储器启动,则所述第二启动引导存储器启动为非当前启动引导存储器;若所述客户端当前从所述第二启动引导存储器启动,则所述第一启动引导存储器启动为非当前启动引导存储器。
所述的客户端启动软件的动态更新方法,其中,所述步骤四中,还包括一判断所述客户端从所述非当前启动引导存储器启动是否成功的步骤。
所述的客户端启动软件的动态更新方法,其中,若所述客户端从所述非当前启动引导存储器启动失败,则所述客户端切换至所述当前启动引导存储器启动,所述客户端动态更新启动软件失败。
为了实现上述目的,本发明还提供了一种客户端启动软件的动态更新装置,设置于分布式***的客户端,其特征在于,包括:客户端CPU、第一启动引导存储器、第二启动引导存储器、逻辑控制器以及非易失性随机存取存储器;
所述逻辑控制器根据所述非易失性随机存取存储器中记录的引导存储器启动模式值选择从所述第一启动引导存储器或第二启动引导存储器启动,并保存成功启动的引导存储器为当前启动引导存储器;
所述客户端CPU根据所述逻辑控制器中的启动引导存储器的编号将更新启动软件写入非当前启动引导存储器,并将所述引导存储器启动模式值设置为非当前启动引导存储器;
所述客户端CPU在复位后根据所述引导存储器启动模式值从所述非当前启动引导存储器启动,运行所述更新启动软件。
所述的客户端启动软件的动态更新装置,其中,所述逻辑控制器还包括一启动引导存储器定时切换模块,用于在所述当前启动引导存储器与所述非当前启动引导存储器之间进行切换。
所述的客户端启动软件的动态更新装置,其中,当所述更新启动软件运行成功时,所述启动引导存储器定时切换模块处于关闭状态;当所述更新启动软件运行失败时,所述启动引导存储器定时切换模块处于开启状态。
所述的客户端启动软件的动态更新装置,其中,当所述客户端CPU从所述非当前启动引导存储器启动失败时,则所述客户端CPU切换至所述当前启动引导存储器启动。
所述的客户端启动软件的动态更新装置,其中,所述逻辑控制器为电可编程逻辑器。
本发明的有益技术效果在于:
相对于现有技术方法,本发明所提供的灵活可靠的动态更新方法和装置可以根据需要在***运行中,从有人职守的服务器端动态更新无人职守的客户端启动软件,无需到分散的客户端去更换BOOT,节省了大量人力、物力,降低了***维护成本,大大增强了***稳定性。
以下结合附图和具体实施例对本发明进行详细描述,但不作为对本发明的限定。
附图说明
图1为本发明客户端启动软件动态更新装置图;
图2为本发明客户端启动软件动态更新方法流程图。
具体实施方式
下面结合附图对本发明的技术方案作进一步详细的说明。
请参阅图1所示,为本发明客户端启动软件动态更新装置图。如图1所示,该动态更新装置设置于客户端,包括CPU(Central Processing Unit,中央处理器)10、EPLD(Electrically Programmable Logic Device,电可编程逻辑器)20、BOOT 30和NVRAM(Non-Volatile Random Access Memory,非易失性随机存取存储器)40;BOOT 30用于存放不同版本的启动软件,其又包括BOOT0 301、BOOT1 302两片BOOT;CPU 10只能从一片BOOT0 301或BOOT1 302启动;NVRAM 40由于其具有掉电不丢失信息的特性,用于记录BOOT启动标志值(或称为BOOT启动模式值),即CPU 10复位后应该从BOOT0 301还是BOOT1302启动。
EPLD 20在上电后根据NVRAM 40中记录的BOOT启动标志值选中一片BOOT,CPU 10从选中的BOOT启动,即当前启动BOOT。
EPLD 20在上电后将CPU 10的BOOT片选交给上述NVRAM 40记录的BOOT启动标志值对应的BOOT,使CPU 10从该BOOT启动,并在BOOT启动成功后保存当前启动BOOT的编号;另外,作为一种BOOT保护机制,EPLD 20还包括一BOOT定时切换模块201,用于实现BOOT定时切换,当选中的BOOT无法成功启动时,EPLD 20的BOOT定时切换模块201在定时时间到后将BOOT片选切换到另一片BOOT,使得CPU 10从另一片BOOT启动,当BOOT成功启动后,需要在启动软件中关闭该BOOT定时切换模块201。
当需要动态更新启动软件时,CPU 10会读取到当前启动BOOT的编号,将更新的启动软件写到非当前启动BOOT中,并将NVRAM 40中的BOOT启动标志值设定为非当前启动BOOT,客户端复位后,就会根据NVRAM 40中记录的BOOT启动标志值运行更新的启动软件,完成启动软件的动态更新。
EPLD 20也可为其他逻辑控制器。
而目前现有装置则普遍采用一片BOOT,CPU 10只能从该BOOT启动,BOOT所包含的启动软件的更新只能采用专门的烧录设备固化到BOOT上。
请参阅图2所示,为本发明客户端启动软件动态更新方法流程图。在图2中,给出了本发明具体实施例的软件流程,结合图1所示,该流程包括如下步骤:
步骤200,***正常运行后,服务器端与客户端建立连接;
步骤210,当软件或硬件接口发生变化,需要更新客户端BOOT的启动软件时,通过操作维护***的服务器端(后台)向客户端发起动态更新客户端启动软件的命令消息;
步骤220,客户端收到命令消息后,从服务器端下载更新的启动软件,经校验无误后保存在随机存储器RAM(Random Access Memory)中;
步骤230,接着客户端根据启动标志值判断CPU当前是从BOOT0启动还是从BOOT1启动的,若CPU当前是从BOOT0启动,BOOT0为当前启动BOOT,那么BOOT1为非当前启动BOOT;若CPU当前是从BOOT1启动,BOOT1为当前启动BOOT,那么BOOT0为非当前启动BOOT;根据EPLD记录的启动标志值,确定当前启动BOOT的编号,客户端将下载获得的更新的启动软件写入到非当前启动BOOT中,非当前启动BOOT成为更新了启动软件的BOOT,由于EPLD中保留了当前启动BOOT的编号,由EPLD来确保每次CPU写BOOT操作都只能将数据写入非当前启动BOOT,用于保护当前启动成功的BOOT启动软件不被破坏。
步骤240,然后客户端将BOOT启动模式值(即非当前启动BOOT的BOOT启动模式值)写入NVRAM,指示下一次复位时,CPU从更新了启动软件的BOOT启动;
步骤250,复位客户端;
步骤260,客户端复位后,客户端的EPLD根据NVRAM中存储的BOOT启动模式值,将BOOT片选交给更新了启动软件的BOOT启动,CPU从该更新了启动软件的BOOT启动,运行更新的启动软件;
步骤270,通过启动软件是否关闭了EPLD的BOOT定时切换模块来判断更新的启动软件是否成功运行,如果更新的启动软件成功运行,即CPU从该更新了启动软件的BOOT启动成功,则转至步骤280执行,如果更新的启动软件无法成功运行(即运行失败),即CPU从该更新了启动软件的BOOT启动失败,则转至步骤290执行;
步骤280,启动软件关闭了EPLD的BOOT切换功能,BOOT定时切换模块处于关闭状态,将当前启动BOOT的编号写入EPLD,客户端设置更新了启动软件的BOOT为当前启动BOOT,本次客户端启动软件动态更新成功,以后客户端使用新的启动软件启动,即下一次运行更新的启动软件;
步骤290,EPLD中BOOT定时切换模块处于开启状态,其BOOT定时切换功能起作用,待定时时间到后,将BOOT片选切换到包含旧启动软件的BOOT启动,本次客户端启动软件动态更新失败,以后客户端仍然使用旧的启动软件启动,即下一次仍然运行旧的启动软件。
综上所述,本发明方法和装置克服了现有启动软件只能手工烧录和替换的缺陷,可以动态更新客户端的启动软件,并采用了有效的保护机制以确保动态更新的安全可靠,从而节省了大量人力、物力,降低了维护成本,增加了***的稳定性。
当然,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
Claims (9)
1、一种客户端启动软件的动态更新方法,适用于分布式***,其特征在于,包括:
步骤一,通过客户端设置一第一启动引导存储器、一第二启动引导存储器;
步骤二,服务器端与所述客户端建立连接并向所述客户端发送一动态更新启动软件的命令消息,所述客户端从所述服务器端下载并保存更新启动软件;
步骤三,根据引导存储器启动标志值判断所述客户端当前是从所述第一启动引导存储器还是从所述第二启动引导存储器启动,将所述更新启动软件写入非当前启动引导存储器,并设置所述客户端下次从所述非当前启动引导存储器启动;及
步骤四,所述客户端复位后从所述非当前启动引导存储器启动,运行所述更新启动软件。
2、根据权利要求1所述的客户端启动软件的动态更新方法,其特征在于,若所述客户端当前从所述第一启动引导存储器启动,则所述第二启动引导存储器启动为非当前启动引导存储器;若所述客户端当前从所述第二启动引导存储器启动,则所述第一启动引导存储器启动为非当前启动引导存储器。
3、根据权利要求1或2所述的客户端启动软件的动态更新方法,其特征在于,所述步骤四中,还包括一判断所述客户端从所述非当前启动引导存储器启动是否成功的步骤。
4、根据权利要求3所述的客户端启动软件的动态更新方法,其特征在于,若所述客户端从所述非当前启动引导存储器启动失败,则所述客户端切换至所述当前启动引导存储器启动,所述客户端动态更新启动软件失败。
5、一种客户端启动软件的动态更新装置,设置于分布式***的客户端,其特征在于,包括:客户端CPU、第一启动引导存储器、第二启动引导存储器、逻辑控制器以及非易失性随机存取存储器;
所述逻辑控制器根据所述非易失性随机存取存储器中记录的引导存储器启动模式值选择从所述第一启动引导存储器或第二启动引导存储器启动,并保存成功启动的引导存储器为当前启动引导存储器;
所述客户端CPU根据所述逻辑控制器中的启动引导存储器的编号将更新启动软件写入非当前启动引导存储器,并将所述引导存储器启动模式值设置为非当前启动引导存储器;
所述客户端CPU在复位后根据所述引导存储器启动模式值从所述非当前启动引导存储器启动,运行所述更新启动软件。
6、根据权利要求5所述的客户端启动软件的动态更新装置,其特征在于,所述逻辑控制器还包括一启动引导存储器定时切换模块,用于在所述当前启动引导存储器与所述非当前启动引导存储器之间进行切换。
7、根据权利要求6所述的客户端启动软件的动态更新装置,其特征在于,当所述更新启动软件运行成功时,所述启动引导存储器定时切换模块处于关闭状态;当所述更新启动软件运行失败时,所述启动引导存储器定时切换模块处于开启状态。
8、根据权利要求5、6或7所述的客户端启动软件的动态更新装置,其特征在于,当所述客户端CPU从所述非当前启动引导存储器启动失败时,则所述客户端CPU切换至所述当前启动引导存储器启动。
9、根据权利要求5、6或7所述的客户端启动软件的动态更新装置,其特征在于,所述逻辑控制器为电可编程逻辑器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2006100119976A CN100501672C (zh) | 2006-05-25 | 2006-05-25 | 一种客户端启动软件的动态更新方法及其装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2006100119976A CN100501672C (zh) | 2006-05-25 | 2006-05-25 | 一种客户端启动软件的动态更新方法及其装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101078990A true CN101078990A (zh) | 2007-11-28 |
CN100501672C CN100501672C (zh) | 2009-06-17 |
Family
ID=38906476
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2006100119976A Active CN100501672C (zh) | 2006-05-25 | 2006-05-25 | 一种客户端启动软件的动态更新方法及其装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100501672C (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102880478A (zh) * | 2011-07-15 | 2013-01-16 | 启碁科技股份有限公司 | 软件更新方法 |
CN103500110A (zh) * | 2013-09-30 | 2014-01-08 | Tcl通讯(宁波)有限公司 | 一种移动终端及其***软件下载方法 |
WO2016145774A1 (zh) * | 2015-03-18 | 2016-09-22 | 中兴通讯股份有限公司 | 电子设备的启动方法和装置 |
WO2023123037A1 (zh) * | 2021-12-29 | 2023-07-06 | 华为技术有限公司 | 电子设备及其启动方法、装置、存储介质、车辆 |
-
2006
- 2006-05-25 CN CNB2006100119976A patent/CN100501672C/zh active Active
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102880478A (zh) * | 2011-07-15 | 2013-01-16 | 启碁科技股份有限公司 | 软件更新方法 |
CN102880478B (zh) * | 2011-07-15 | 2015-11-25 | 启碁科技股份有限公司 | 软件更新方法 |
CN103500110A (zh) * | 2013-09-30 | 2014-01-08 | Tcl通讯(宁波)有限公司 | 一种移动终端及其***软件下载方法 |
WO2016145774A1 (zh) * | 2015-03-18 | 2016-09-22 | 中兴通讯股份有限公司 | 电子设备的启动方法和装置 |
CN106033365A (zh) * | 2015-03-18 | 2016-10-19 | 中兴通讯股份有限公司 | 电子设备的启动方法和装置 |
WO2023123037A1 (zh) * | 2021-12-29 | 2023-07-06 | 华为技术有限公司 | 电子设备及其启动方法、装置、存储介质、车辆 |
Also Published As
Publication number | Publication date |
---|---|
CN100501672C (zh) | 2009-06-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1118749C (zh) | 可以自动调整数据存取兼容性的远程软件下载方法及装置 | |
CN1684427A (zh) | 一种软件升级及回退方法 | |
CN1252951C (zh) | 节点b单板软件下载及升级方法 | |
CN105681060B (zh) | 一种虚拟化网络功能管理升级方法、装置及服务器 | |
CN1361634A (zh) | 在蜂窝基站***中处理消息的方法 | |
CN101526984B (zh) | 一种修复漏洞的方法及装置 | |
CN100421071C (zh) | 用于远程设备***软件的升级方法 | |
CN109587331B (zh) | 云手机故障自动修复的方法与*** | |
CN1874563A (zh) | 一种手机程序与文件管理***及方法 | |
CN101078990A (zh) | 一种客户端启动软件的动态更新方法及其装置 | |
CN1495610A (zh) | 用于固件更新的方法和装置 | |
CN101639785A (zh) | 软件升级方法及装置 | |
CN104375844A (zh) | 固件升级方法及装置 | |
CN1694070A (zh) | Pos终端设备的升级方法 | |
CN101038561A (zh) | 一种计算机远程控制方法及*** | |
CN101051912A (zh) | 一种数据自动更新方法 | |
CN101656627A (zh) | 一种主程序还原的方法、装置及网络设备 | |
CN1364390A (zh) | 下载到无线终端的方法和设备 | |
CN1719413A (zh) | 通信设备的升级方法 | |
CN1878366A (zh) | 移动电话的固件升级方法 | |
CN111625249A (zh) | 用于物联网设备的自动升级和回滚方法和装置 | |
CN105912365A (zh) | 一种移动终端***更新方法及*** | |
CN1295903C (zh) | 一种***安全启动方法 | |
CN109375939A (zh) | 一种车载***固件在线升级方法 | |
CN111198703A (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |