[发明专利]一种设备跨版本升级方法和装置在审
申请号: | 201410201310.X | 申请日: | 2014-05-13 |
公开(公告)号: | CN103995854A | 公开(公告)日: | 2014-08-20 |
发明(设计)人: | 肖浩;杨明成 | 申请(专利权)人: | 大唐移动通信设备有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30;G06F9/445 |
代理公司: | 北京润泽恒知识产权代理有限公司 11319 | 代理人: | 兰淑铎 |
地址: | 100191*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 设备 版本 升级 方法 装置 | ||
技术领域
本发明涉及通信技术领域,特别是涉及一种设备跨版本升级方法和装置。
背景技术
基于嵌入式Mysql数据库的电信设备跨版本升级,基本分为版本下载、升级任务构造和版本升级三个过程。其中,版本升级过程分为软件版本升级和数据升级两个部分。在跨版本进行升级时,Mysql数据库中的数据表结构在升级前后会发生变化,而由于Mysql数据库不具备像Oracle等大型数据库具有自动升级功能,因此,嵌入式设备对Mysql数据库中数据进行跨版本升级是数据升级的难点。
现有的两种基于嵌入式Mysql数据库的电信设备的跨版本数据升级方法如下:
一种为人工制作数据方法,即人工使用Mysql数据库客户端导出待升级版本数据文件,根据新版本的数据表结构对导出的待升级数据文件进行修改,制作成符合新版本数据表结构的数据文件。把修改后的数据文件打包到最终的升级版本包中,此时,最终的升级版本包包括软件版本和数据文件。然后,按照基本升级流程对电信设备进行升级。
另一种为临时表过渡方法,即使用工具分析升级前后的数据表结构差异,把分析出来的数据表差异部分生成差异临时表作为过渡导入到数据库中;再使用工具把表结构无变化的数据表和表结构变化的数据表以及相关的数据最终组合为升级后的数据表结构和数据。
现有的人工制作数据方法,一方面,由于需要人工对Mysql数据库中数据表结构根据升级后的数据表结构进行离线修改,因此效率低、易出错。另一方面,由于对数据表结构的修改是离线进行的,而此时,电信设备仍是在运行,那么就会造成电信设备运行过程中的产生的动态数据无法在修改的数据中继承,从而造成动态数据损耗。
而临时表过渡方法虽然通过使用工具解放了人力,比人工制作数据效率有所改善,但因为差异临时表是由工具分析得来,因此软件版本不支持对差异临时表进行相关操作。这就使得新版本数据升级完成前,新软件版本无法动态对数据库中的数据表信息进行控制,那么在此期间生成的数据就无法继承,同样也会造成动态数据损耗。再就是,临时表过渡方法需要人为将数据信息导出,并将组合后的数据导入,不能在电信设备内部完成,带来多余的处理流程。
发明内容
本发明提供了一种设备版本升级方法和装置,以解决现有的版本升级过程中,存在的动态数据损耗以及不能在设备内部完成版本升级的问题。
为了解决上述问题,本发明公开了一种设备跨版本升级方法,包括:生成与数据库中的旧版本数据表对应的第一数据库文件,其中,所述旧版本数据表为对应于旧版本软件的数据表,所述第一数据库文件中包括:所述旧版本数据表的表结构信息,和所述旧版本数据表中的数据;运行新版本软件,并在所述数据库中创建与所述新版本软件相对应的新版本数据表,实时接收对所述新版本数据表的操作;生成与所述新版本数据表对应的第二数据库文件,其中,所述第二数据库文件中包括:所述新版本数据表的表结构信息;对所述第一数据库文件和所述第二数据库文件中存储的表结构信息进行比对,获得表结构差异信息;依据所述表结构差异信息和所述第一数据库文件中的所述旧版本数据表中的数据,生成所述新版本数据表中的数据;将生成的所述新版本数据表中的数据导入所述新版本数据表。
优选地,所述对所述第一数据库文件和所述第二数据库文件中存储的表结构信息进行比对,获得表结构差异信息步骤包括:逐行对所述第一数据库文件和所述第二数据库文件中存储的相对应的各个数据表的表结构信息进行比对,获得各个数据表的表结构差异。
优选地,所述依据所述表结构差异信息和所述第一数据库文件中的所述旧版本数据表中的数据,生成所述新版本数据表中的数据步骤包括:依据获得的所述各个数据表的表结构差异,结合所述第一数据库文件中、各个旧版本数据表中未发生变化的表结构部分对应的数据,和设定的、对应于所述各个数据表的发生表结构变化部分的默认数据,在所述第二数据库文件中生成所述新版本数据表中的数据。
优选地,所述将生成的所述新版本数据表中的数据导入所述新版本数据表步骤包括:在使用所述第二数据库文件中的所述新版本数据表中的数据,向所述新版本数据表中导入数据时,逐条逐字段判断所述新版本数据表中待导入的字段下是否已经存储有数据;若已存储,则放弃该字段的导入;若未存储,则将该字段对应的数据导入所述新版本数据表中。
优选地,所述第一数据库文件和所述第二数据库文件均为SQL文件;所述第一数据库文件与所述第二数据库文件中的表结构信息与数据信息分开存储。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于大唐移动通信设备有限公司,未经大唐移动通信设备有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410201310.X/2.html,转载请声明来源钻瓜专利网。
- 上一篇:负离子红外发热板制作方法
- 下一篇:一种半导体加热元器件的结构