CN104657173A - 一种升级单板软件不中断业务的处理方法 - Google Patents
一种升级单板软件不中断业务的处理方法 Download PDFInfo
- Publication number
- CN104657173A CN104657173A CN201510055782.3A CN201510055782A CN104657173A CN 104657173 A CN104657173 A CN 104657173A CN 201510055782 A CN201510055782 A CN 201510055782A CN 104657173 A CN104657173 A CN 104657173A
- Authority
- CN
- China
- Prior art keywords
- hardware
- warm start
- write
- read
- abstraction
- 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
Landscapes
- Storage Device Security (AREA)
Abstract
一种升级单板软件不中断业务的处理方法,涉及通信领域中单板升级,在硬件和驱动软件之间添加硬件操作抽象层,硬件操作抽象层用于操作所有硬件;处理方法的步骤:S1.硬件操作抽象层收到芯片的硬件寄存器读写操作时,进行读写判断,若是写操作,进入S2;若是读操作,进入S4;S2.进入写操作流程,判断单板当前是否处于热启动状态中,若是,进入S3;若否,进入S4;S3.进入写保护,所有对硬件寄存器的写操作被屏蔽;S4.直接对硬件寄存器进行操作,所有对硬件的操作都被执行。本发明使得热启动情况下单板软件升级不中断业务,大大优化了软件处理的复杂度,提高了系统的稳定性。
Description
技术领域
本发明涉及通信领域中单板升级,具体来讲是一种升级单板软件不中断业务的处理方法。
背景技术
在通信领域,对处于使用状态单板的业务稳定性要求非常高,其承载的业务发生中断是不能容忍的。但由于维护的需要,单板软件有时候会遇到需要升级的情况,如何在升级单板软件的过程中不影响其承载的业务,成为各通信设备供应商研究的重点。
对于重要的单板,可以使用主备备份的方式工作,作为主备使用的单板必须成对使用,且要求使用同种类型的单板进行主备配置,当需要升级单板软件时,先对备用单板进行升级,升级成功之后,再让工作通道从主用切换到备用,完成平滑升级。但这种方式不能覆盖所有单板,而且切换主备工作通道会引入不稳定因素。
现在通信领域的芯片开发厂家,在提供芯片的SDK(Software Development Kit,软件开发工具包)时,多数都会考虑到单板软件升级的情况,在对芯片进行初始化的时候提供两种芯片初始化的选择,分别是冷启动和热启动。对芯片做冷启动初始化,表示需要对芯片做充分复位,所有初始化的动作都需要进行。反之,对芯片做热启动初始化,表示对芯片的初始化不能影响芯片上正在承载的业务,避免一切影响当前业务的操作,只进行恢复芯片软件运行环境的相关操作。但并非所有芯片厂家都能够非常好的支持热启动功能,如果遇上没有提供此功能的芯片,单板软件人员只能自己修改芯片驱动,添加这部分的支持,修改量往往是非常大的,同时也会给后期维护增加难度,增加系统的不稳定性。
发明内容
针对现有技术中存在的缺陷,本发明的目的在于提供一种升级单板软件不中断业务的处理方法,使得热启动情况下单板软件升级不中断业务,大大优化了软件处理的复杂度,提高了系统的稳定性。
为达到以上目的,本发明采取的技术方案是:一种升级单板软件不中断业务的处理方法,在硬件和驱动软件之间添加硬件操作抽象层,硬件操作抽象层用于操作所有硬件;处理方法的步骤如下:S1.硬件操作抽象层收到芯片的硬件寄存器读写操作时,进行读写判断,若是写操作,进入S2;若是读操作,进入S4;S2.进入写操作流程,判断单板当前是否处于热启动状态中,若是,进入S3;若否,进入S4;S3.进入写保护,所有对硬件寄存器的写操作被屏蔽;S4.直接对硬件寄存器进行操作,所有对硬件的操作都被执行。
在上述技术方案的基础上,预先在硬件操作抽象层设置热启动标识,在热启动开始时,热启动标识置0,表示单板处于热启动状态中;在热启动进行完毕后,热启动标识置1,表示单板热启动完成。
在上述技术方案的基础上,步骤S2中,根据热启动标识判断单板是否处于热启动状态中,当热启动标识为0时,表示单板处于热启动状态中。
在上述技术方案的基础上,所述硬件操作抽象层包括启动判断模块、读写判断模块和写保护模块,启动判断模块用来区分是热启动状态中还是热启动完成,读写判断模块用来区分读写操作,写保护模块用来防止热启动中对硬件配置的修改。
在上述技术方案的基础上,所述处理方法在用户需要热启动的前提下进行。
在上述技术方案的基础上,步骤S1中进行读写判断,通过硬件操作抽象层调用的是读寄存器函数还是写寄存器函数,来判断当前的操作是读操作还是写操作。
本发明的有益效果在于:通过在硬件和驱动软件之间添加了硬件操作抽象层的方式,将所有的硬件操作交给硬件操作抽象层来处理,使得单板升级不中断业务的处理变得简单而易于控制,即使遇上不支持冷启动和热启动的芯片驱动软件,通过此方法也可以非常方便的得到支持,大大优化了软件处理的复杂度,提高了系统的稳定性。
附图说明
图1为本发明硬件操作抽象层示意图;
图2为本发明升级单板软件不中断业务的处理方法流程图。
具体实施方式
以下结合附图及实施例对本发明作进一步详细说明。
本发明升级单板软件不中断业务的处理方法,在硬件和驱动软件之间(即以前的读写函数中)添加硬件操作抽象层,用于操作所有硬件,并使用注册的方式将读写寄存器函数告知硬件操作抽象层,以便硬件抽象层需要的时候调用。如图1所示,硬件操作抽象层包括启动判断模块、读写判断模块和写保护模块,启动判断模块用来区分是热启动状态中还是热启动完成,读写判断模块用来区分读写操作,写保护模块用来防止热启动中对硬件配置的修改。
如图2所示,本发明升级单板软件不中断业务的处理方法,在用户需要热启动的前提下进行,具体步骤如下:
S1.当硬件操作抽象层收到芯片的硬件寄存器读写操作时,并不会立即执行相应的操作,而是进行读写判断,通过硬件操作抽象层调用的是读寄存器函数还是写寄存器函数,来判断当前的操作是读操作还是写操作,若是写操作(调用的是写寄存器函数),进入S2;若是读操作(调用的是读寄存器函数),进入S4。
S2.进入写操作流程,判断当前单板是否处于热启动状态中,若是,进入S3;若否,进入S4。
S3.进入写保护,所有对硬件寄存器的写操作被屏蔽。
S4.直接对硬件寄存器进行操作,所有对硬件的操作都被执行。
上述步骤中,在热启动前提下,还需要根据热启动在什么时候结束,而考虑写保护结束的时间。因此预先在硬件操作抽象层设置热启动标识,在热启动开始时,硬件操作抽象层会将热启动标识置0,表示单板处于热启动状态中;在热启动进行完毕后,硬件操作抽象层会将热启动标识置1,表示单板热启动完成。因此,在步骤S2中,只需要判断热启动标识,当热启动标识为0时,表示单板处于热启动状态中。
本发明通过在硬件和驱动软件之间添加了硬件操作抽象层来隔离具体的硬件操作,本实施例中硬件为芯片驱动,驱动软件为芯片驱动读写函数。添加了硬件操作抽象层后,所有的硬件读写操作,首先是调用硬件操作抽象层的读写函数,这时所有对硬件的写操作不会被真正的执行,这样就不会改变硬件当前配置;同时由于读硬件寄存器并不会影响硬件配置,对硬件寄存器的读操作是可以被真正执行的。通过了硬件操作抽象层读写函数的逻辑判断以后,才会真正进行对硬件的具体操作。当单板软件完成了热启动的所有相关操作之后,可以再次通过设置函数通知硬件操作抽象层退出热启动状态,后续的硬件操作将恢复对实际的硬件进行操作。
本发明不局限于上述实施方式,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围之内。本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。
Claims (6)
1.一种升级单板软件不中断业务的处理方法,其特征在于,在硬件和驱动软件之间添加硬件操作抽象层,硬件操作抽象层用于操作所有硬件;处理方法的步骤如下:
S1.硬件操作抽象层收到芯片的硬件寄存器读写操作时,进行读写判断,若是写操作,进入S2;若是读操作,进入S4;
S2.进入写操作流程,判断单板当前是否处于热启动状态中,若是,进入S3;若否,进入S4;
S3.进入写保护,所有对硬件寄存器的写操作被屏蔽;
S4.直接对硬件寄存器进行操作,所有对硬件的操作都被执行。
2.如权利要求1所述升级单板软件不中断业务的处理方法,其特征在于:预先在硬件操作抽象层设置热启动标识,在热启动开始时,热启动标识置0,表示单板处于热启动状态中;在热启动进行完毕后,热启动标识置1,表示单板热启动完成。
3.如权利要求2所述升级单板软件不中断业务的处理方法,其特征在于:步骤S2中,根据热启动标识判断单板是否处于热启动状态中,当热启动标识为0时,表示单板处于热启动状态中。
4.如权利要求1所述升级单板软件不中断业务的处理方法,其特征在于:所述硬件操作抽象层包括启动判断模块、读写判断模块和写保护模块,启动判断模块用来区分是热启动状态中还是热启动完成,读写判断模块用来区分读写操作,写保护模块用来防止热启动中对硬件配置的修改。
5.如权利要求1所述升级单板软件不中断业务的处理方法,其特征在于:所述处理方法在用户需要热启动的前提下进行。
6.如权利要求1所述升级单板软件不中断业务的处理方法,其特征在于:步骤S1中进行读写判断,通过硬件操作抽象层调用的是读寄存器函数还是写寄存器函数,来判断当前的操作是读操作还是写操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510055782.3A CN104657173B (zh) | 2015-02-03 | 2015-02-03 | 一种升级单板软件不中断业务的处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510055782.3A CN104657173B (zh) | 2015-02-03 | 2015-02-03 | 一种升级单板软件不中断业务的处理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104657173A true CN104657173A (zh) | 2015-05-27 |
CN104657173B CN104657173B (zh) | 2017-12-22 |
Family
ID=53248352
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510055782.3A Active CN104657173B (zh) | 2015-02-03 | 2015-02-03 | 一种升级单板软件不中断业务的处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104657173B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112636934A (zh) * | 2020-12-29 | 2021-04-09 | 北京东土军悦科技有限公司 | 交换机的复位方法、装置、计算机设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101008900A (zh) * | 2007-01-31 | 2007-08-01 | 华为技术有限公司 | 一种区分系统冷启动和热启动的方法及装置 |
CN101078993A (zh) * | 2007-03-13 | 2007-11-28 | 中兴通讯股份有限公司 | 一种终端产品不中断业务在线升级版本的方法 |
CN103064695A (zh) * | 2011-10-21 | 2013-04-24 | 上海湾流仪器技术有限公司 | 现场可编程门阵列的动态加载系统及其加载方法 |
CN103092662A (zh) * | 2013-02-04 | 2013-05-08 | 烽火通信科技股份有限公司 | 一种基于嵌入式操作系统的终端设备的软件模块升级方法 |
US20130305259A1 (en) * | 2012-05-09 | 2013-11-14 | Mstar Semiconductor, Inc. | Hardware control method and apparatus |
-
2015
- 2015-02-03 CN CN201510055782.3A patent/CN104657173B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101008900A (zh) * | 2007-01-31 | 2007-08-01 | 华为技术有限公司 | 一种区分系统冷启动和热启动的方法及装置 |
CN101078993A (zh) * | 2007-03-13 | 2007-11-28 | 中兴通讯股份有限公司 | 一种终端产品不中断业务在线升级版本的方法 |
CN103064695A (zh) * | 2011-10-21 | 2013-04-24 | 上海湾流仪器技术有限公司 | 现场可编程门阵列的动态加载系统及其加载方法 |
US20130305259A1 (en) * | 2012-05-09 | 2013-11-14 | Mstar Semiconductor, Inc. | Hardware control method and apparatus |
CN103092662A (zh) * | 2013-02-04 | 2013-05-08 | 烽火通信科技股份有限公司 | 一种基于嵌入式操作系统的终端设备的软件模块升级方法 |
Non-Patent Citations (1)
Title |
---|
王志刚: ""嵌入式系统硬件抽象层研究及其在开发过程中的应用"", 《中国优秀博硕士学位论文全文数据库(硕士) 信息科技辑》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112636934A (zh) * | 2020-12-29 | 2021-04-09 | 北京东土军悦科技有限公司 | 交换机的复位方法、装置、计算机设备及存储介质 |
CN112636934B (zh) * | 2020-12-29 | 2022-06-24 | 北京东土军悦科技有限公司 | 交换机的复位方法、装置、计算机设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN104657173B (zh) | 2017-12-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102236621B (zh) | 计算机接口信息配置系统及方法 | |
CN104102506B (zh) | 一种基于ARM平台的Android启动加速方法 | |
CN100377085C (zh) | 嵌入式操作系统硬件镜像启动优化的实现方法 | |
CN102663003B (zh) | 移动终端多web页面应用中的页面切换方法及系统 | |
CN101699402B (zh) | 一种多模式启动的嵌入式系统 | |
CN108388496A (zh) | 一种系统日志的收集方法 | |
CN104572161B (zh) | 一种基于龙芯便携式计算机的uefi固件实现方法 | |
JPWO2007094268A1 (ja) | 複数のウィンドウを重ねて表示する表示装置の表示を制御する制御装置、制御プログラムおよび制御方法 | |
CN102419719A (zh) | 电脑系统及电脑系统的开机方法 | |
CN102708027B (zh) | 一种避免通信设备运行中断的方法及系统 | |
CN102141940A (zh) | 一种固件刷机恢复设备、固件刷机恢复方法及系统 | |
CN104572164A (zh) | 一种基于飞腾便携式计算机的uefi固件实现方法 | |
CN101246449B (zh) | 跟踪函数调用轨迹的方法和装置 | |
CN106648869A (zh) | 一种智能终端应用切换方法 | |
CN101964725A (zh) | 业务不中断升级的方法和系统 | |
CN103455393A (zh) | 一种基于进程冗余的容错系统设计方法 | |
CN106095493A (zh) | 双操作系统的加载方法和系统 | |
CN110018856A (zh) | 动态修改uefi启动顺序的方法 | |
CN105468390A (zh) | Boot在线升级装置及方法 | |
CN106843940A (zh) | 一种嵌入式系统的快速升级方法 | |
CN104572163A (zh) | 一种基于龙芯台式计算机的uefi固件实现方法 | |
CN105515811A (zh) | Usb无线网卡配置方法、主机、usb无线网卡及通信系统 | |
US20070260761A1 (en) | Inter-module data communication control method and system for ACPI and BIOS | |
CN104657173A (zh) | 一种升级单板软件不中断业务的处理方法 | |
CN101841430A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20180213 Address after: 430073 No. 4 Guanshan Second Road, East Lake Development Zone, Wuhan City, Hubei Province Patentee after: WUHAN FIBERHOME TECHNICAL SERVICES CO., LTD. Address before: China Science and Technology Park Dongxin road East Lake Development Zone 430074 Hubei Province, Wuhan City, No. 5 Patentee before: Fenghuo Communication Science &. Technology Co., Ltd. |