[发明专利]一种数据库系统及其升级的方法无效
申请号: | 200910167254.1 | 申请日: | 2009-08-27 |
公开(公告)号: | CN101650663A | 公开(公告)日: | 2010-02-17 |
发明(设计)人: | 刘洋;杨志 | 申请(专利权)人: | 中兴通讯股份有限公司 |
主分类号: | G06F9/445 | 分类号: | G06F9/445;G06F17/30 |
代理公司: | 北京市浩天知识产权代理事务所 | 代理人: | 许志勇 |
地址: | 518057广东省深圳市南山*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据库 系统 及其 升级 方法 | ||
技术领域
本发明涉及数据库领域,尤其涉及一种数据库系统及其升级的方法。
背景技术
在项目开发实践中,经常需要根据应用要求,开发并维护多个代码分支。对于某一组件或功能,可能只需要存在于特定的分支之中,而且,组件或功能在不同的分支之中的支持程度可能也不一样。按照一般的做法,对于同一功能组件,需要按照需求合入特定的分支。
事实上,这样做是比较繁琐的,首先,需要耗费开发人员大量的开发时间;同时由于代码分散,很难做到统一管理和检查,需要开发人员对各个分支的代码都比较熟悉,增加了代码维护的复杂性。
因此当前需要一种代码的开发和版本安装的技术方案,统一维护一套代码,通过在代码中嵌入代码段归属的版本信息来决定安装哪些功能组件。
发明内容
本发明所要解决的技术问题是提供一种数据库系统及其升级的方法,解决了数据库系统可以自动升级的问题,提高了效率。
为了解决上述问题,本发明提供了一种数据库系统升级的方法,包括:
数据库系统创建脚本模块升级的信息;
所述数据库系统根据脚本模块的类别和所述脚本模块升级的信息,对相应的脚本模块进行升级。
进一步地,上述方法还可包括,所述脚本模块的类别包括:每次都执行的脚本模块、在特定版本基础上执行的脚本模块、只执行一次的脚本模块和在特定版本间执行的脚本模块。
进一步地,上述方法还可包括,所述数据库系统创建脚本模块升级的信息,包括:
所述数据库系统建立当前版本表、功能脚本归属版本表、唯一一次升级版本表,以及所述数据库系统建立脚本模块的历史版本表。
进一步地,上述方法还可包括,所述当前版本表:用于描述当前升级的脚本模块的版本信息,包括大版本号Version和小版本号SubVersion;其中,所述大版本号用于区分不同的脚本模块的代码分支,所述小版本号用于描述所述代码分支内的历史版本;
所述功能脚本归属版本表:用于描述在对应的版本中执行的脚本模块的信息,针对部分的创建脚本模块、部分的初始化脚本模块和部分的更新脚本模块;其中,每个脚本模块都需要在该表中增加一条记录,定义该脚本模块起始的版本号和子版本号;所述功能脚本归属版本表包括VerIdx、SinceVer和SinceSubVer,其中,VerIdx用于唯一标识该脚本模块;SinceVer用于标识脚本模块起始的版本号;SinceSubVer用于标识脚本模块起始的子版本号;
所述唯一一次升级版本表:用于描述只需要执行一次的脚本模块的信息,该表中记录其执行状态,主要针对部分的更新脚本模块和部分的初始化脚本模块;其中,所述唯一一次升级版本表包括;ExecIdx和Isupdate,所述ExecIdx用于唯一标识该脚本段,所述Isupdate字段初始化为0;
所述历史版本表:用于记录脚本模块历次升级写入的版本号,每次执行升级脚本模块时在该表中插入一条记录,存储升级脚本模块的版本号和升级日期,后续升级时依据读取到的历史版本信息来决定执行对应的脚本模块;所述历史版本表包括VerHistory和SubVerHistory,所述VerHistory用于描述安装时的Version,所述SubVerHistory用于描述安装时的SubVersion。
进一步地,上述方法还可包括,所述数据库系统根据脚本模块的类别和所述脚本模块升级的信息,对相应的脚本模块进行升级,包括:
所述数据库系统根据脚本模块的类别,判断该脚本模块是所述每次都执行的脚本模块,则根据所述脚本模块升级的信息,对该脚本模块进行升级。
进一步地,上述方法还可包括,所述数据库系统根据脚本模块的类别和所述脚本模块升级的信息,对相应的脚本模块进行升级,包括:
所述数据库系统根据脚本模块的类别,判断该脚本模块是所述在特定版本基础上执行的脚本模块,则对所述脚本模块升级的信息中当前版本表和功能脚本归属版本表进行比较,判断SinceVer>Version或(SinceVer==Version) & & (SinceSubVer>=SubVersion)时,则对该脚本模块进行升级。
进一步地,上述方法还可包括,所述数据库系统根据脚本模块的类别和所述脚本模块升级的信息,对相应的脚本模块进行升级,包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中兴通讯股份有限公司,未经中兴通讯股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910167254.1/2.html,转载请声明来源钻瓜专利网。