数据版本升级方法技术

技术编号:2831075 阅读:189 留言:0更新日期:2012-04-11 18:40
本发明专利技术提供了一种数据版本升级的实现方法,其包括:写入低版本数据库以及版本变迁库到软件系统;以及通过数据升级代理程序,将低版本数据导入到高版本数据库中,升级到高版本数据库。在升级代理程序中要进行以下步骤:读取数据库版本号;将低版本数据库改名,创建高版本数据库;在高版本数据库中,创建版本变迁库中定义的版本升级中要用到的规则函数和存储过程信息,读取变迁规则表中两个版本之间的所有变迁规则;以及对每张表进行升级,在所导入所有表的数据之后,返回所有表的升级状态信息。通过本发明专利技术实现的软件系统能够对数据进行平滑升级,并且系统结构清晰,实现简单。

【技术实现步骤摘要】

本专利技术涉及一种凄t据版本升级方法,更具体的,涉及一种适用 于计算机、通讯领域等以大型数据库系统为基础的软件系统的数据 平滑升级的方法。
技术介绍
在现有的软件系统中,有^艮多是以大型凄t据库系统(诸如ORACLE、 SQLSERVER, SYBASE、 DB2等)为基石出来管理系统 运行相关的配置数据和其它数据的,但是由于软件产品总是不断地 推出新的版本,而每一次新版本的推出都可能涉及到数据结构的变 化和相关数据算法的变化,所以必然会对旧版本数据的平滑升级提 出要求。而目前很多软件产品在升级时需要提供专门的升级手册, 并且编写专门的升级程序来做处理,这样的实现方式不仅工作量大,而且扩展性、灵活性、可维护性都^L差。另外,有一些软件产品虽然j故出了一定改进,^f旦每个新版本都要对应编写相应的SQL 升级脚本文件,通过对SQL脚本文件的逐级调用来实现凄t据库的升 级,这样做的缺点是必须维护大量的复杂的升级脚本文件,不易理 解且可维护性较差,增加了升级失败的可能性。
技术实现思路
因此,提出本专利技术是为了克服现有技术中的工作量大、扩展性、 灵活性和可维护性差等缺点,实现以一套通用的版本变迁库为核心的数据升级方法,应用时可将该方法嵌入到软件的安装程序中,在 软件系统安装的同时实现数据的平滑升级,乂人而, -使得升级完成后 可以平滑地切换到新版本。这样,在日常开发过程中,只需要维护 版本变迁库中的 一条条相对简单的变迁规则即可,大大提高了开发 和维护效率。本专利技术的一个方面提供了一种数据版本升级的实现方法,其包括将低版本数据库以及从低版本到高版本的版本变迁库写入到软 件系统;以及根据预定规则,将低版本数据导入到高版本数据库中, 从而将低版本数据库升级到高版本数据库。才艮据本专利技术的一个方面,版本变迁库包括以数据表形式存在的 版本演变文件,其中包括每个版本与前一版本之间的升级失见则和方法。根据本专利技术的一个方面,版本演变文件包括以下至少之一版 本信息表、变迁规则表、以及实现变迁规则的函数和存储过程信息。根据本专利技术的一个方面,变迁规则表保存在数据版本升级过程 中的凄t据变迁失见则,凄t据变迁失见则相对独立。在本专利技术中,预定规则包括读取数据库版本号,数据库版本 号包括待升级的低版本数据库和将要升级到的高版本数据库的版 本号;将^f氐版本数据库改名,创建高版本tt据库;在高版本数据库 中,创建版本变迁库中定义的版本升级中要用到的规则函数和存储 过程信息,读取变迁规则表中两个版本之间的所有变迁规则;以及 对每一张表进行升级,在所导入所有表的数据之后,返回所有表的 升级状态信息。 在上述对每张表进行升级的过程中,包括以下步骤导入执行 升级所需的基本数据;根据每张表的变迁规则,调用演变文件来进 行数据的变化和升级;以及记录每张表的升级状态信息。其中,升级状态信息包括升级成功信息和升级失败信息。在本专利技术中,如果返回升级成功信息,则升级结束。如果返回 升级失败信息,则恢复到升级前的低版本数据库。本专利技术的另一个方面提供了一种lt据版本升级的实现装置,其 包括版本写入4莫块,用于写入低版本数据库以及从低版本到高版 本的版本变迁库到软件系统;以及升级代理模块,用于将低版本数 据导入到高版本数据库中,升级到高版本数据库。根据本专利技术的一个方面,在版本写入模块中,版本变迁库包括 以数据表形式存在的版本演变文件,其中包括每个版本与前一版本 之间的升级失见则和方法。才艮据本专利技术的一个方面,版本演变文件包括以下至少之一版 本信息表、变迁规则表、以及实现变迁规则的函数和存储过程信息。 其中,变迁规则表保存在数据版本升级过程中的数据变迁规则,数 才居变迁夫见则相对—独立。在本专利技术中,升级代理模块包括数据库版本号读取单元,用 于读取数据库版本号,数据库版本号包括待升级的低版本数据库和 将要升级到的高版本数据库的版本号;高版本数据库创建单元,用 于将^氐版本数据库改名,创建高版本ft据库;变迁规则读取单元, 用于在高版本数据库中,创建版本变迁库中定义的版本升级中要用 到的规则函数和存储过程信息,读取变迁规则表中两个版本之间的 所有变迁^L则;以及升级单元,用于对每一张表进4于升级,在所导 入所有表的数据之后,返回所有表的升级状态信息。冲艮据本专利技术的升级单元包4舌凄t据导入组块,用于导入执4亍升级所需的基本数据;数据变化和升级组块,用于根据每张表的变迁 规則,调用相关表达式、函数或者存储过程信息来进行在数据导入 单元中导入的数据的特殊变化和升级;以及升级状态记录组块,用 于记录每张表的升级状态信息。其中,升级状态信息包括升级成功 信息和升级失败信息。根据本专利技术的另一个方面,提供了一种升级代理方法,其包括 读取数据库版本号,数据库版本号包括待升级的低版本H据库和将 要升级到的高版本数据库的版本号;将低版本数据库改名,创建高 版本数据库;在高版本数据库中,创建版本变迁库中定义的版本升 级中要用到的失见则函数和存储过程信息,读取变迁规则表中两个版 本之间的所有变迁规则;以及对每一张表进行升级,在所导入所有 表的数据之后,返回所有表的升级状态信息。在上述对每张表进行升级的过程包括以下步骤导入执行升级 所需的基本数据;根据每张表的变迁规则,调用演变文件来进行数 据的变化和升级;以及记录每张表的升级状态信息。其中,升级状 态信息包括升级成功信息和升级失败信息。在该升级^理方法中,如果返回升级成功信息,则升级结束。 另外,如果返回升级失败信息,则恢复到升级前的低版本数据库。本专利技术的又一个方面提供了一种数据版本的升级代理模块,其 包括数据库版本号读取单元,用于读取数据库版本号,数据库版 本号包括^寺升级的^氐版本凄t据库和将要升级到的高版本ft据库的 版本号;高版本数据库创建单元,用于将低版本数据库改名,创建 高版本数据库;变迁规则读取单元,用于在高版本数据库中,创建 版本变迁库中定义的版本升级中要用到的规则函数和存储过程信 息,读取变迁规则表中两个版本之间的所有变迁规则;以及升级单元,用于对每一张表进行升级,在所导入所有表的数据之后,返回 所有表的升级状态信息。在升级冲莫块中,包括数据导入组块,用于导入执4亍升级所需 的基本数据;数据变化和升级组块,用于根据每张表的变迁规则,调用相关表达式、函^t或者存储过程信息来进行在凄t据导入单元中导入的数据的特殊变化和升级;以及升级状态记录组块,用于记录 每张表的升级状态信息。其中,升级状态信息包括升级成功信息和 升级失败信息。因而,本专利技术采用数据升级代理和版本变迁库来进行数据系统 的升级,不需要每次都编写专门的升级程序或复杂的SQL脚本文 件,只需要维护好每个软件版本对应的版本变迁库即可,对软件产 品本身具有广泛的通用性,大大简化了开发工作量,而且系统的灵 活性、扩展性、可维护性更好。附图说明此处所说明的附图用来提供对本专利技术的进一步理解,构成本申 请的一部分,本专利技术的示意性实施例及其说明用于解释本专利技术,并 不构成对本专利技术的不当限定。在附图中图1示出了4艮据本专利技术的数据版本升级的实现方法的流程图2是本专利技术的凄t据版本升级的实现方法的系统结构图3是示出了在根据本专利技术的数据版本升级的实现方法中的预 定规则的框图4是示出了对每张表进本文档来自技高网...

【技术保护点】
一种数据版本升级的方法,其特征在于,包括以下步骤:S102,将低版本数据库以及从低版本到高版本的版本变迁库写入到软件系统;以及S104,根据预定规则,将低版本数据导入到高版本数据库中,从而将所述低版本数据库升级到高版本数据库 。

【技术特征摘要】
1.一种数据版本升级的方法,其特征在于,包括以下步骤S102,将低版本数据库以及从低版本到高版本的版本变迁库写入到软件系统;以及S104,根据预定规则,将低版本数据导入到高版本数据库中,从而将所述低版本数据库升级到高版本数据库。2. 根据权利要求1所述的数据版本升级的方法,其特征在于,所述版本变迁库包括以数据表形式存在的版本演变文件,其中包括每个版本与前一版本之间的升级规则和方法。3. 根据权利要求2所述的数据版本升级的方法,其特征在于,所述版本演变文件包括以下至少之一 版本信息表、变迁规则表、 以及实现变迁^见则的函数和存储过程信息。4. 根据权利要求3所述的数据版本升级的方法,其特征在于,所述变迁规则表保存在所述数据版本升级过程中的数据变迁规 则,所述^t据变迁杀见则相对独立。5. 才艮据4又利要求1所述的凄t据版本升级的方法,其特征在于,所述预定规则包括S302,读取待升级的低版本凄史据库和将要升级到的高版本凄史据库的版本号;S304,将所述低版本数据库改名,创建所述高版本数据库;S306,在所述高版本数据库中,创建所述版本变迁库中 定义的在版本升级中要用到的所述规则函数和存储过程,读取所述变迁规则表中两个版本之间的所有变迁规则;以及S308,对每一张表进行升级,在导入所有表的数据之后, 返回所有表的升级状态信息。6. 根据权利要求5所述的数据版本升级的方法,其特征在于,在所述步骤S308中,对每张表进行升级包括以下步骤S402,导入执行升级所需的基本数据;S404,根据所述每张表的变迁规则,调用所述...

【专利技术属性】
技术研发人员:刘民王瑞丰武银成
申请(专利权)人:中兴通讯股份有限公司
类型:发明
国别省市:94[中国|深圳]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1