一种嵌入式程序的兼容性升级方法

文档序号:72735阅读:239来源:国知局
专利名称:一种嵌入式程序的兼容性升级方法
技术领域
本发明涉及通信及计算机技术领域
,尤其涉及一种嵌入式程序的兼容性升级方法。
背景技术
嵌入式应用程序已广泛地应用于通信领域,在同步数字传输网络/同步光传输网络/密集波分复用(SDH/SONET/DWDM)等光网络传输系统应用中,网元设备便是基于嵌入式应用程序,通过该嵌入式应用程序,各网络节点都需要实现配置/状态数据的存储、备份、复制和保护等功能,使得在网元软件异常、复位、设备掉电、芯片损坏等异常情况下确保各网络节点仍然能够正确保存并复制出正确的配置/状态数据,确保光网络传输系统正常运行。基于嵌入式程序的设备则通常是采用数据库来存储配置/状态数据。
由于在实际应用当中,需要不断对网元设备的应用软件进行升级,以增强其功能或解决当前运行程序的缺陷。为了支持网元设备的可扩展性,需要支持应用软件的兼容性升级,以保证扩展功能的应用和保持对前向功能的兼容,而保证兼容性升级功能的实现,但最核心的部分是支持数据库的兼容性。
由于现有技术不支持数据库升级,在升级软件时只能删除所有的备份数据,并且在升级完成后重新下发配置,然后再备份数据。在此过程中,存在业务受到影响甚至中断的危险。同时,为保证数据库的一致性,必须在原有的数据库结构不变的情况下对字段进行重新定义,或重新设计一个数据库,放弃原有的数据库设计。因此,利用现有技术升级嵌入式应用程序存在兼容性差和升级复杂的缺点。

发明内容
本发明提供一种嵌入式程序的兼容性升级方法,以解决现有升级嵌入式应用程序中存在兼容性差和升级复杂的问题。
为解决上述问题,本发明提供以下技术方案一种嵌入式程序的兼容性升级方法,包括下述步骤A、在设备上完成升级程序的加载并重新启动设备;B、判断升级前和升级后的数据库的版本号是否一致,如果不一致,则执行升级程序创建新数据库并进行步骤C,否则,将升级前的备份数据库复制到内存并进行步骤D;C、将新数据库中各字段与备份数据库中的字段进行比较,如果字段相同则将备份数据库该字段对应的数据复制到新数据库对应的字段中;以及,在数据库复制完成后,删除升级前的备份数据库并备份当前使用的数据库。
D、正常启动设备并完成升级。
根据上述方法步骤C包括下述步骤(1)取新数据库的一个字段作为当前字段;(2)将当前字段与备份数据库中的字段进行比较,判断当前字段是否为备份数据库中的一个字段,如果是则进行步骤(3),否则进行步骤(4);(3)将备份数据库中对应字段的所有数据复制到新数据库的当前字段中;(4)判断是否已比较完新数据库中的字段,如果是则结束比较,否则,取新数据库中的下一个字段作为当前字段并进行步骤(2)。
如果备份数据库存在多级备份,则在使用备份数据库前先对各级备份进行统一,并在后续步骤中使用统一后的备份数据库。
步骤C中,如果新数据库中的字段与备份数据库中的字段不相同,则给该字段赋默认的数据。
所述设备为传输网络中的网元设备。
采用本发明,可以提高设备的可扩展性,使设备具有前向兼容的扩展能力;同时也能提高设备的可维护性,简化升级步骤,以及提高设备维护升级的安全性。



图1为网元设备中数据库的存储及备份示意图;图2为本发明的实现兼容性升级的主要流程图;图3为从备份数据库复制数据到新建数据库的流程图。
具体实施方式
对于基于嵌入式应用程序的设备而言,一般采用嵌入式关系型数据库来存储配置和状态信息。在升级过程中,加载完升级程序后需要对数据库进行升级处理。由于升级后使用的数据库可能与升级前使用的数据库相同,也可能不相同,因此需要在加载完升级程序后的重启动过程对数据库进行处理。
对于升级前后的数据库是否相同,可通过版本号进行识别。在本发明中,对于升级前后使用相同的数据库则直接从备份的数据库中复制数据,如果升级前后使用的数据库不相同,则将新建的数据库与备份的数据库中的字段比较,并将相同字段的数据从备份数据库中复制到新建的数据库中。
在嵌入式关系型数据库管理系统中,文件实际上是内存中的一块区域。关系型数据库是基于表格的数据管理,基本单位是记录(record)和字段(field),如表1所示表1


数据库文件包括一个数据库文件结构块和若干个记录块。数据库文件结构块包括库文件标志信息和字段描述块两部分,如表2所示表2


本发明所述数据库的兼容性是指支持数据库字段的任意增加、删除、插入和顺序的调整,数据库记录数的增加、减少;但不支持数据库字段属性的改变。
本实施例主要以光传输网络中的网络设备为例对本发明进行说明。
参阅图1所示,SDRAM为网元设备的内存,非易失性存储器(NVRAM)和FLASH用于备份SDRAM中的数据库文件。SDRAM中的数据库文件实时地备份到NVRAM中,而NVRAM中的数据库文件则定时或通过人工方式备份到FLASH中。
应用程序模块通过调用数据库模块的应用编程接口(API)实现数据库文件的创建,每个数据库文件都有版本号标识,在API参数中有版本号信息。本发明通过版本号标识确定是否进行升级,所以在创建每个数据库文件时首先判断版本号,如果API参数中的版本号与备份数据库文件的版本号一致,则表明不需要升级处理,直接复制数据库文件既可;如果API参数的版本号与备份数据库文件的版本号不一致(通常在程序设计时版本号都会递加),则启动数据库文件升级操作。
参阅图2所示,实现兼容性升级的主要过程如下步骤100在网元设备上完成升级程序的加载并重新启动网元设备。
步骤110调用创建数据库的应用编程接口(API),进入数据库创建过程。
步骤120判断升级前和升级后的数据库的版本号是否一致,如果不一致,则进行步骤130,否则进行步骤170。
步骤130将非易失性存储器(NVRAM)和闪存(FLASH)中的多级备份数据库统一备份到NVRAM中。
由于数据库多级备份,可能各备份区的数据库文件不同,将NVRAM/FLASH等存储介质的备份数据库进行比较,并将最新的数据库统一备份到NVRAM中。
步骤140执行升级程序在SDRAM中根据新的数据库结构创建新数据库。
步骤150比较新数据库的每个字段是否是原有数据库有的字段;如果是则将原有数据库对应字段的数据复制到新数据库的对应字段中。
步骤160删除NVRAM/FLASH中的原有数据库,将新的数据库备份到NVRAM/FLASH中,进行步骤180。
步骤170将非易失性存储器(NVRAM)和闪存(FLASH)中的多级备份数据库统一备份到NVRAM中,并将统一后的备份数据库复制到内存。
步骤180数据库数据的复制工作完成后正常启动设备以完成升级。
参阅图3所示,上述步骤150中,从备份数据库复制数据到新建数据库的具体处理过程如下步骤200从新数据库中取第一个字段作为当前字段;步骤210将当前字段与备份数据库中的字段进行比较,判断当前字段是否为备份数据库中的一个字段,如果是则进行步骤220,否则进行步骤230。
步骤220将备份数据库中对应字段的所有数据复制到新数据库的当前字段中。
步骤230判断是否已比较完新数据库中的字段,如果是则结束比较,进行上述流程中的步骤160,否则进行步骤240。
步骤240取新数据库中的下一个字段作为当前字段并进行步骤210。
在将新数据库与备份数据库的字段比较过程中,如果新数据库的字段不是备份数据库中的字段即是新增加的字段,则给新数据库中的该字段赋默认的数据,比如全赋0。
以上虽然网元设备为例对本发明的实现进行说明,但并不限于此,本发明同样适用于其他基于嵌入式应用程序的设备,其实现原理相同。
权利要求
1.一种嵌入式程序的兼容性升级方法,其特征在于包括下述步骤A、在设备上完成升级程序的加载并重新启动设备;B、判断升级前和升级后的数据库的版本号是否一致,如果不一致,则执行升级程序创建新数据库并进行步骤C,否则,将升级前的备份数据库复制到内存并进行步骤D;C、将新数据库中各字段与备份数据库中的字段进行比较,如果字段相同则将备份数据库该字段对应的数据复制到新数据库对应的字段中;以及,在数据库复制完成后,删除升级前的备份数据库并备份当前使用的数据库;D、正常启动设备并完成升级。
2.如权利要求
1所述的方法,其特征在于,步骤C包括下述步骤(1)取新数据库的一个字段作为当前字段;(2)将当前字段与备份数据库中的字段进行比较,判断当前字段是否为备份数据库中的一个字段,如果是则进行步骤(3),否则进行步骤(4);(3)将备份数据库中对应字段的所有数据复制到新数据库的当前字段中;(4)判断是否已比较完新数据库中的字段,如果是则结束比较,否则,取新数据库中的下一个字段作为当前字段并进行步骤(2)。
3.如权利要求
1或2所述的方法,其特征在于,如果备份数据库存在多级备份,则在使用备份数据库前先对各级备份进行统一,并在后续步骤中使用统一后的备份数据库。
4.如权利要求
3所述的方法,其特征在于,步骤C中,如果新数据库中的字段与备份数据库中的字段不相同,则给该字段赋默认的数据。
5.如权利要求
1所述的方法,其特征在于,所述设备为传输网络中的网元设备。
专利摘要
本发明公开了一种嵌入式程序的兼容性升级方法,以解决现有升级嵌入式应用程序中存在兼容性差和升级复杂的问题;该方法为在设备上完成升级程序的加载并重新启动设备,判断升级前和升级后的数据库是否相同,如果相同则将升级前的备份数据库复制到内存;如果不相同,则执行升级程序创建新数据库,然后将新数据库中各字段与备份数据库中的字段进行比较,如果字段相同则将备份数据库该字段对应的数据复制到新数据库对应的字段中;最后正常启动设备并完成升级。
文档编号G06F9/445GKCN1315043SQ200410049498
公开日2007年5月9日 申请日期2004年6月24日
发明者唐晓军, 谢勇 申请人:华为技术有限公司导出引文BiBTeX, EndNote, RefMan专利引用 (4),
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1