一种数据库对象变更的控制方法及装置的制作方法

文档序号:6584760阅读:173来源:国知局
专利名称:一种数据库对象变更的控制方法及装置的制作方法
技术领域
本发明涉及数据库控制技术领域,更具体地,涉及一种数据库对象变更的控制方 法及装置。
背景技术
对数据库对象的变更,一般需要经过申请、审批、实施等流程,如果有不经过变更 流程的非法变更或恶意变更,会对数据库的正常运行产生不良影响。数据库对象是指数据 库中的表、视图、约束、序列、函数、存储过程、包、触发器等。目前,控制数据库对象变更的方法,通常是采用管理制度来约束,只能人为进行监 控和判断。然而在实际操作过程中,变更频繁、变更内容众多,人工进行监控和判断,费时费 力,且效果很差。另外,数据库对象的非法变更一直是困扰数据库管理者的问题,对于一些复杂的 数据库,管理员需要管理数以万计的数据库对象。同时开发商和第三方服务商也能对数据 库对象进行相关操作。综上,现有技术对数据库中对象变更的控制方法难以保证数据库的安全。

发明内容
本发明实施例提出一种数据库对象变更的控制方法,以保证数据库的安全。本发明实施例还提出一种数据库对象变更的控制装置,以保证数据库的安全。本发明实施例的技术方案如下一种数据库对象变更的控制方法,包括对数据库进行快照得到作为基础信息的数据库快照;由通过审核后的变更对象得到变更对象列表;对更新后的数据库进行快照得到数据库更新后快照;数据库快照与数据库更新后快照逐项对比,得到实际变更对象列表,再将实际变 更对象列表与变更对象列表对比,得到合理变更和/或非合理变更;根据合理变更更新数据库快照;和/或根据非合理变更发出警告信息并变更数据 库快照;得到作为基础信息的数据库快照。所述合理变更是实际变更对象列表和变更对象列表中均有的变更对象,所述非合 理变更是仅在实际变更对象列表中存在,或仅在变更对象列表存在的变更对象。优选地,所述非合理变更包括,在实际变更对象列表中存在,在变更对象列表中没 有的非法变更,根据非法变更发出警告信息,在数据库快照中更改非法变更。优选地,所述非合理变更包括,在实际变更对象列表中没有,在变更对象列表中存 在的遗漏变更,根据遗漏变更发出警告信息,在数据库快照中依照遗漏变更进行更改。优选地,对更新后的数据库进行快照是周期进行的。
一种数据库对象变更的控制装置,该装置包括快照模块,对数据库快照得到作为基础信息的数据库快照;对更新后的数据库进 行快照得到数据库更新后快照,并将数据库快照和数据库更新后快照输入判断模块;审核模块,将通过审核的变更对象生成变更对象列表,将变更对象列表输入判断 模块;判断模块,将数据库更新后快照与数据库快照逐项对比,得到实际变更对象列表, 再将实际变更对象列表与变更对象列表进行比较,得到合理变更和/或不合理变更,并将 合理变更和/或不合理变更发送至执行模块;执行模块,对于合理变更,更新数据库快照得到作为基础信息的数据库快照,对于 不合理变更发出警告信息,然后更新数据库快照得到作为基础信息的数据库快照,并将得 到的数据库快照输入所述快照模块。所述判断模块将实际变更对象列表与变更对象列表进行比较,实际变更对象列表 和变更对象列表中均有的变更对象是所述合理变更,仅在实际变更对象列表中存在,或仅 在变更对象列表存在的变更对象是所述非合理变更对象。优选地,所述判断模块将实际变更对象列表与变更对象列表进行比较,在实际变 更对象列表中存在,在变更对象列表中没有是非法变更,并将非法变更发送至执行模块;所述执行模块进一步对于非法变更,发出警告信息,在数据库快照中更改非法变 更。优选地,所述判断模块将实际变更对象列表与变更对象列表进行比较,在实际变 更对象列表中没有,在变更对象列表中存在是遗漏变更,并将遗漏变更发送至执行模块;所述执行模块进一步对于遗漏变更,发出警告信息,在数据库快照中依照遗漏变 更进行更改。优选地,所述快照模块周期性的对更新后的对象进行快照得到数据库更新后快 照。 从上述技术方案中可以看出,在本发明实施例中首先对数据库进行快照得到数据 库快照,数据库快照作为基础信息保存;由通过审核后的变更对象得到变更对象列表,周期 性的对更新的数据库进行快照得到数据库更新后快照;数据库快照与数据库更新后快照逐 项对比,得到实际变更对象列表,再将实际变更对象列表与变更对象列表对比,得到合理变 更和/或非合理变更;再根据合理变更更新作为基础信息的数据库快照;和/或根据非合 理变更发出警告信息并变更数据库快照;得到作为基础信息的数据库快照。本发明采用对 数据库快照的方式来判断变更对象的合理性,仅对于合理变更才可以更新作为基础信息的 数据库快照,从而保证了数据库的安全。


图1为本发明实施例中数据库对象变更的控制方法流程示意图;图2为本发明实施例中数据库对象变更的控制装置结构示意图。
具体实施例方式为使本发明的目的、技术方案和优点表达得更加清楚明白,下面结合附图及具体实施例对本发明再作进一步详细的说明。在本发明实施例中,首先对数据库进行快照得到数据库快照,作为基础信息保留; 当变更对象申请通过审核后,更新数据库并得到数据库更新后快照,由变更对象生成变更 对象列表;数据库快照与数据库更新后快照对比,生成实际变更对象列表,再将实际变更对 象列表和变更对象列表比较,得到合理变更和/或非合理变更;对于合理变更则更新数据 库快照,对于非合理变更则通知相关数据库管理人员。非合理变更包括非法变更和遗漏变 更。利用本发明的技术方案,避免了在变更对象通过审核后,手工更新数据库所产生的错 误。且本发明实现对数据库对象非法变更的有效监控,避免非法变更对数据库造成的影响, 并有效监控数据库对象的遗留变更,避免应做而未做的遗留变更对数据库造成的影响,特 别是在新业务上线时。从而保证了数据库的安全。图1是本发明实施例中数据库对象变更的控制方法流程示意图,具体包括以下步 骤步骤101、对数据库的对象进行完整的快照,得到数据库快照,并作为基础信息保存。数据库有自带的对象字典表,比如=Oracle数据库有DBA_0BJECTS表,存放数据 库所有的各种类型的对象及相关属性;DBA_TABLES表,存放数据表的各种属性信息;DBA_ C0LUMES存放表的列信息;DBA_INDEXES存放索引的属性信息;其他还有很多数据字典表。 根据上述数据字典表,就可以获取数据库对象的各种基础信息,比如A表的数据列、属性、 索引以及各个索引的结构和属性等。将这些对象信息保存起来,即是对数据库对象进行快 照。步骤102、申请变更对象。根据申请变更对象类型不同,分别下载申请单模板。将填写好变更对象内容的申 请单以附件的形式上传至审批模块,进入审批环节,执行步骤103。步骤103、审核变更对象。审核申请变更对象,若变更对象通过审核,则执行步骤104 ;否则,返回步骤102, 重新修改申请变更对象。有申请单审批权限的用户,登录到审批模块可以看到审批环节所有的申请单,并 查看申请单内容,从而决定审批通过或审批驳回。当申请变更对象通过审核,拥有更新数据 库权利的用户执行变更操作,更新数据库中相应对象。但往往由于变更对象众多,拥有更新 数据库权利的用户难免有所遗漏。步骤104、生成变更对象列表。由变更对象生成变更对象列表,进入变更对象实施阶段。步骤105、数据库更新后快照。更新数据库后,可以立即对数据库内容进行快速扫描,得到数据库更新后快照。也 可以周期性的对数据库内容进行快速扫描,得到数据库更新后快照。数据库更新后快照的 周期可以依据具体的情况进行设置,一般来说将周期设置为M小时。步骤106、判断变更对象的合理性。将数据库更新后快照与数据库快照逐项对比,得到此次实施对象变更后的实际变 更对象列表。将实际变更对象列表与变更对象列表进行比较。若判断对象变更为合理变更,则执行步骤108 ;若判断对象变更为非合理变更,则执行步骤107。实际变更对象列表和变更对象列表中均有的变更对象称为合理变更;仅在实际变 更对象列表中存在,或仅在变更对象列表存在的变更对象,称为不合理变更。不合理变更包 括非法变更和遗漏变更。实际变更对象列表中存在的变更对象,但在变更对象列表中没有, 称为非法变更;实际变更对象列表中没有的变更对象,但在变更对象列表中存在,称为遗漏 变更。例如,在变更对象列表中,A表增加USER列和ID列。对象变更实施后,依据得到 数据库更新后快照,与数据库快照比对,发现A表的实际变化是新增了 ID、C0DE两列。那么 新增ID变更操作是合理变更,新增CODE和没有增加的USER列是不合理变更。其中,新增 CODE变更操作是非法变更,没有增加的USER列是遗留变更。步骤107、对于不合理变更,向数据库管理人员发出警告信息。针对非法变更,向数据库管理人员发出警告信息,在数据库快照中更改非法变更; 针对遗漏变更,向数据库管理人员发出警告信息,在数据库快照中依照遗漏变更进行更改。步骤108、对于合理变更,更新数据库快照,以便更数据基础信息。附图2是本发明实施例中数据库对象变更的控制装置结构示意图,数据库对象变 更的控制装置包括,快照模块201、审核模块202、判断模块203和执行模块204。快照模块201,对数据库进行快照得到数据库快照,对更新后的数据库进行周期性 快照得到数据库更新后快照,并将数据库快照和数据库更新后快照输入判断模块203 ;审核模块202,根据通过审核的变更对象生成变更对象列表,将变更对象列表输入 判断模块203 ;判断模块203,将数据库更新后快照与数据库快照逐项对比,得到实际变更对象列 表,再将实际变更对象列表与变更对象列表进行比较,判断得到合理变更和/或不合理变 更,并将合理变更和/或不合理变更发送至执行模块204 ;执行模块204,对于合理变更,更新数据库快照得到作为基础信息的数据库快照, 并输入快照模块,对于不合理变更发出警告信息。执行模块对于非法变更在数据库快照中 更改非法变更;执行模块对于遗漏变更,在数据库快照中依照遗漏变更进行更改。以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在 本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护 范围之内。
权利要求
1.一种数据库对象变更的控制方法,其特征在于,包括 对数据库进行快照得到作为基础信息的数据库快照;由通过审核后的变更对象得到变更对象列表; 对更新后的数据库进行快照得到数据库更新后快照;数据库快照与数据库更新后快照逐项对比,得到实际变更对象列表,再将实际变更对 象列表与变更对象列表对比,得到合理变更和/或非合理变更;根据合理变更更新数据库快照;和/或根据非合理变更发出警告信息并变更数据库快照。得到作为基础信息的数据库快照。
2.根据权利要求1所述数据库对象变更的控制方法,其特征在于,所述合理变更是实 际变更对象列表和变更对象列表中均有的变更对象,所述非合理变更是仅在实际变更对象 列表中存在,或仅在变更对象列表存在的变更对象。
3.根据权利要求2所述数据库对象变更的控制方法,其特征在于,所述非合理变更包 括,在实际变更对象列表中存在,在变更对象列表中没有的非法变更,根据非法变更发出警 告信息,在数据库快照中更改非法变更。
4.根据权利要求2所述数据库对象变更的控制方法,其特征在于,所述非合理变更包 括,在实际变更对象列表中没有,在变更对象列表中存在的遗漏变更,根据遗漏变更发出警 告信息,在数据库快照中依照遗漏变更进行更改。
5.根据权利要求1至4中任意一项权利要求所述数据库对象变更的控制方法,其特征 在于,对更新后的数据库进行快照是周期进行的。
6.一种数据库对象变更的控制装置,其特征在于,该装置包括快照模块,对数据库快照得到作为基础信息的数据库快照;对更新后的数据库进行快 照得到数据库更新后快照,并将数据库快照和数据库更新后快照输入判断模块;审核模块,将通过审核的变更对象生成变更对象列表,将变更对象列表输入判断模块;判断模块,将数据库更新后快照与数据库快照逐项对比,得到实际变更对象列表,再将 实际变更对象列表与变更对象列表进行比较,得到合理变更和/或不合理变更,并将合理 变更和/或不合理变更发送至执行模块;执行模块,对于合理变更,更新数据库快照得到作为基础信息的数据库快照,对于不合 理变更发出警告信息,然后更新数据库快照得到作为基础信息的数据库快照,并将得到的 数据库快照输入所述快照模块。
7.根据权利要求6所述数据库对象变更的控制装置,其特征在于,所述判断模块将实 际变更对象列表与变更对象列表进行比较,实际变更对象列表和变更对象列表中均有的变 更对象是所述合理变更,仅在实际变更对象列表中存在,或仅在变更对象列表存在的变更 对象是所述非合理变更对象。
8.根据权利要求7所述数据库对象变更的控制装置,其特征在于,所述判断模块将实际变更对象列表与变更对象列表进行比较,在实际变更对象列表中 存在,在变更对象列表中没有是非法变更,并将非法变更发送至执行模块;所述执行模块进一步对于非法变更,发出警告信息,在数据库快照中更改非法变更。
9.根据权利要求7所述数据库对象变更的控制装置,其特征在于,所述判断模块将实际变更对象列表与变更对象列表进行比较,在实际变更对象列表中 没有,在变更对象列表中存在是遗漏变更,并将遗漏变更发送至执行模块;所述执行模块进一步对于遗漏变更,发出警告信息,在数据库快照中依照遗漏变更进 行更改。
10.根据权利要求6至9中任意一项权利要求所述数据库对象变更的控制装置,其特征 在于,所述快照模块周期性的对更新后的对象进行快照得到数据库更新后快照。
全文摘要
一种数据库对象变更的控制方法,包括对数据库进行快照得到作为基础信息的数据库快照;由通过审核后的变更对象得到变更对象列表,对更新后的数据库进行快照得到数据库更新后快照;数据库快照与数据库更新后快照逐项对比,得到实际变更对象列表,再将实际变更对象列表与变更对象列表对比,得到合理变更和非合理变更;根据合理变更更新数据库快照;根据非合理变更发出警告信息并变更数据库快照;得到作为基础信息的数据库快照。本文还公开了一种数据库对象变更的控制装置。应用本发明实施例以后,保证了数据库的安全。
文档编号G06F17/30GK102081620SQ20091023857
公开日2011年6月1日 申请日期2009年11月26日 优先权日2009年11月26日
发明者刘娟, 徐力, 李波, 杨胜利 申请人:中国移动通信集团贵州有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1