[发明专利]数据库检查维护方法无效
申请号: | 201210391160.4 | 申请日: | 2012-10-16 |
公开(公告)号: | CN102890720A | 公开(公告)日: | 2013-01-23 |
发明(设计)人: | 潘付军 | 申请(专利权)人: | 南京通达海信息技术有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 南京知识律师事务所 32207 | 代理人: | 汪旭东 |
地址: | 210019 江苏省南京*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据库 检查 维护 方法 | ||
技术领域
本发明涉及数据库检查维护领域,具体涉及一种数据库的检查、维护方法。
背景技术
在计算机应用领域,根据应用的需要,往往要求对于正在使用的数据库进行不定期的维护及升级。例如,在系软件开发过程中,随着软件版本的变化,会存在数据库结构的不断变化,而发布的软件在客户使用过程中,随着客户的需求变化,在维护过程中,需要对数据库结构进行变更或升级,由于软件本身功能的不断变化,还可能导致不同客户的数据库结构版本可能不一致。在不影响客户使用的情况下进行升级,就必须形成数据库结构及基础数据的差异报告,能够自动产生升级语法。
目前,现有的数据库维护及升级存在一些问题。
首先,在系统设计开发过程中,一般采取维护数据库的物理模型,维护的是完整的数据结构,但在具体开发过程中,可能需要反复的变更数据结构,需要准确的记载变更的语法,这在多人协作的设计及开发环境下,若配置及管理不严,很容易出现记载缺失或部分失误,难以发现,造成模型库同开发库出现不一致情况。
其次,应用系统的客户数据库检查及升级的方式一般是需要先建立不同的数据库版本及相邻版本的升级语法,然后升级时利用版本变化获取一组升级语法,需要从低版本到高版本逐一处理每个版本的升级语法,这样效率低下,而且需要提供的数据库版本信息要完整,一旦客户的数据库因某种原因变化过,则会直接导致升级失败或用户数据丢失。
第三,在开发过程中或实际用户使用过程中,技术人员可能会变动过基础数据,这一行为很难以监管,只能实行严格管理而没有有效的检查机制。
发明内容
所要解决的技术问题:针对现有技术存在的缺陷,本发明的目的是为软件开发或维护过程提供一种数据库的检查维护方法,实现数据库版本的记载及快速检查维护或升级数据库,并能提供报告及数据库脚本语法。
技术方案:一种数据库检查维护方法,其特征在于:包括以下几个步骤:
步骤1:建立数据库版本,获取当前最新版本数据库结构,形成数据库结构脚本语法,存贮数据库结构信息;
步骤2:定义基础表,获取最新版本基础数据,形成基础数据语法,存贮基础数据;
步骤3:获取待比较的数据库或历史版本的数据库结构及基础数据;
步骤4:比较数据库结构及基础数据,形成差异报告,产生升级语法。
所述的步骤1包括以下步骤:
步骤1-1:按顺序获取数据库结构信息,即先获取系统中的用户表,然后获取对应表的字段信息,进一步获取触发器、视图及存贮过程,最后解析出表的主键、外键,在获取数据时,需要对数据进行排序,即对照建立索引的要求进行排序;
步骤1-2:利用已获取的数据库结构信息,按顺序组织数据库的脚本语法,以便可以直接执行数据库脚本;
步骤1-3已获取的数据,根据排序,建立索引,并根据索引中的顺序来组织语法并存贮文件。
所述的步骤2是根据步骤1-1获取到的用户表,设置相关表为基础数据表,即需要采集其数据作为系统的基础数据,采集数据时,需先根据步骤1-1获取的表的字段信息,来组织对应表的数据读取的脚本语法,脚本语法中按步骤1-1中获取的主键增加排序字段,这样,获取的基础数据是按主键排序的,然后利用步骤1-3中构建索引的原则组织索引文件及数据文件。
所述的索引文件主要记载表名,记录主键,数据的大小,数据文件的存贮名称信息。
所述的步骤3分两种情况,一种是直接同历史版本进行比较,只需读取历史版本所保存的版本文件即可,另一种是比较某个具体的用户库,此时,对待比较的库执行的操作为先执行步骤1-1中的获取数据结构信息及存贮文件,然后执行步骤2中的获取基础数据及处理和存贮数据文件;本步骤执行完,最终的结果是要产生两组供比较的数据文件。
所述的步骤4利用步骤3产生的数据文件,对数据库结构的进行比较,需要按顺序比较数据库表、字段、触发器、主键、索引、外键、存贮过程;对于增加或减少的表,则不再比较其表的其他结构信息;在比较过程中,根据差异形成比较报告,并产生对应的升级语法。
所述的升级语法,需先形成增减表的语法,然后形成增减及修改字段的语法,最后形成触发器、主键、外键、索引的变化语法。
所述的步骤4包括以下步骤:
步骤4-1:根据索引文件,读取双方所建立的索引主键;
步骤4-2:比较主键,若主键不一致,直接记载主键小的一方的数据及语法即可,接着继续读取主键小的一方的下条记录重复本步骤;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京通达海信息技术有限公司,未经南京通达海信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210391160.4/2.html,转载请声明来源钻瓜专利网。