通用数据库自动转储方法及系统的制作方法

文档序号:6529360阅读:190来源:国知局
专利名称:通用数据库自动转储方法及系统的制作方法
技术领域
本发明涉及数据管理领域,特别涉及一种通用数据库维护方法及系统。
背景技术
在现有的很多数据库应用中,经常会出现由于数据库表的数据量随时间不断增长,导致数据库中出现了大量对于应用来说没有太大意义的旧数据的现象。但这些数据有时又不能被完全删除。当大量的数据存在于数据库中时,不仅降低了数据库操作的效率,也可能会出现数据库因为数据爆满而崩溃(不能插入或更新数据)的危险。现在所有的数据库系统都不具有自动转储旧数据的处理,这就需要应用本身来实现对旧数据的转储,甚至需要由用户来转储这些旧数据。现在的应用中大多采取两种方法来解决该问题手工转储和自动转储。
手工转储要求用户在适当的时间通过查询并转储操作来实现对旧数据的转储,以保证数据库数据不至于过度膨胀。它的操作过程一般包括选择转储操作、设置转储条件、从数据库查询数据、保存查询结果到磁盘文件、删除数据、转储成功。然而该手工转储技术存在以下缺陷不能根本解决数据量过度膨胀的问题;增加系统维护的工作量;增加了应用的开发规模;只是针对于指定的数据库和指定的应用,不具有通用性;当转储项存在关联表时,不能保证数据的一致性。
自动转储的原理是在应用中设置定时器,定时触发转储操作。自动转储的操作过程包括启动应用、设置自动转储定时器、定时触发转储操作,其中,转储操作的过程类似于手工转储技术的操作,只是转储条件是已经配置好的。然而,自动转储技术具有以下缺点使应用的开发规模更加增大;只是针对于指定的数据库和指定的应用,没有通用性;当转储项存在关联表时,不能保证数据的一致性。

发明内容
本发明的目的在于,提供一种通用数据库自动转储方法及系统,解决数据库中过时数据转储较为繁琐的问题。
本发明的技术方案是,提供一种通用数据库自动转储方法,包括以下步骤(a)生成自动转储配置文件,所述配置文件定义了各个常用数据库的转储逻辑;(b)通过应用启动自动转储模块,所述自动转储模块根据配置文件中的转储逻辑来设置所述应用中的自动转储定时器;(c)所述自动转储定时器触发所述自动转储模块,所述自动转储模块选择相应的常用数据库转储逻辑转储对应数据库中的旧数据。
上述的通用数据库自动转储方法中,所述常用数据库包括ORACLE、ACCESS、SQL SEVER、MYSQL、DB2中的一个或多个。
上述的通用数据库自动转储方法中,所述常用数据库的转储逻辑包括转储条件和转储项信息的设置。
上述的通用数据库自动转储方法中,所述常用数据库的转储逻辑的设置还包括定义以下中的一个或多个转储路径、满足转储条件的表空间的使用百分比、转储数据的比例、转储项数。
上述的通用数据库自动转储方法中,所述转储项信息包括转储项名称、转储项数据库表名、所在表空间、时间字段、是否存在关联字段、关联表个数、关联表信息中的一个或多个。
上述的通用数据库自动转储方法中,步骤(c)包括以下步骤(c1)所述定时转储模块查询数据库,并根据转储条件来判断转储项是否达到转储条件;(d2)如果没有达到转储条件,则不进行转储操作;如果检查到转储项达到转储条件,则进行转储操作。
上述的通用数据库自动转储方法中,步骤(d2)包括以下步骤(d21)根据配置文件中的定义,从数据库查询并保存指定比例的按时间字段排序的旧数据;(d22)删除已经保存到文件的旧数据;(d23)记录转储操作结果。
上述的通用数据库自动转储方法中,所述转储逻辑包括定时器执行时间/定时器执行周期。
本发明还涉及一种通用数据库自动转储系统,包括通过对外管理接口由应用来启动的自动转储模块和定义了各个常用数据库的转储逻辑的配置文件,所述自动转储模块根据配置文件中的转储逻辑设置应用中的定时器并由定时器触发以根据配置文件中的转储逻辑进行数据转储。
上述的通用数据库自动转储系统中,所述常用数据库的转储逻辑包括转储条件和转储项信息的设置,所述常用数据库的转储逻辑还包括以下中的一个或多个转储路径、满足转储条件的表空间的使用百分比、转储数据的比例、转储项数。
本发明的通用数据库自动转储方法及系统,通过使用独立的自动转储模块及配置文件,实现了不同的数据库中旧数据的自动转储。对于转储项有关联表的情况,也可以通过在自动转储配置文件中定义设置,即可实现对关联表数据的转储。此外本发明还可针对不同应用的具体情况,设置自动转储触发条件、时间和操作,大大降低了应用开发相关功能的工作量。


图1是本发明的通用数据库自动转储系统的结构框图。
图2是本发明的通用数据库自动转储方法的实现的流程图。
图3是图2中转储数据项步骤的流程图。
具体实施例方式
如图1所示,是本发明的通用数据库自动转储系统的框图。本发明通过自动转储模块12实现数据转储逻辑。该自动转储模块12是一个可以独立运行的模块,通过对外的管理接口与多个应用13(即应用程序,图中仅示出一个)连接。其中对外管理接口包括启动、关闭和重启等应用程序接口,从而自动转储模块12可在应用13启动或关闭的同时启动或关闭,也可在应用的运行过程中启动、关闭或重启。此外,自动转储模块12还可根据定义了数据转储逻辑的配置文件11来设置应用13中的定时器14,并可根据配置文件11中的数据转储逻辑转储数据库12中的包含时间字段的数据项。
在本实施例中,配置文件11为采用SCHEMA(映射文件)生成的一个XML文件,用于定义数据转储逻辑。配置文件11定义了转储不同类型的数据库的通用转储逻辑。例如,应用13中使用的数据库类型为Oracle,则在运行时自动转储模块12会自动根据配置文件11中定义的Oracle数据库类型来调用自动转储模块的相关转储逻辑来进行转储。配置文件11中需要定义的字段包括数据库类型、转储路径、定时器周期、定时器执行时间、满足转储条件的表空间(或表的记录数)的使用百分比、转储数据的比例、转储项数、转储项信息(可以是多个,个数和转储项数一致),转储项信息又包括转储项名称、转储项数据库表名、所在表空间、时间字段、是否存在关联字段、关联表个数、关联表信息(可以是多个,个数和关联表个数一致),关联表信息包括关联表名称、关联字段。在这里数据项和关联表之间必须有唯一的关联字段,并且本发明不支持递归关联,即关联表不能再有其它关联表。
当然,配置文件11也可用其他工具生成,例如文字编辑器等。采用SCHEMA文件的好处是,其可帮助自动生成一些默认的配置,在定义完该配置文件后,SCHEMA文件还可检查XML文件定义是否合法。而配置文件11的格式也并不限于XML格式。
定时器14在应用14中定义,其可触发自动转储模块12开始执行转储操作。定时器14的启动时间由自动转储模块12根据配置文件11中的定义进行设置。如果应用13没有在配置文件11中定义自动转储定时器14的设置,则自动转储模块12会按照默认的定时器设置来启动定时操作。
如图2所示,是本发明的通用数据库自动转储方法的实现的流程图。首先,使用SCHEMA文件定义自动转储配置文件11,配置文件11中的内容包括数据库类型、转储设置、转储项、转储项的关联表、定时器设置信息等;在定义完该配置文件11后,使用SCHEMA文件检查生成的XML文件定义是否合法(步骤S21)。
在应用13启动的同时或运行过程中启动自动转储模块12。该步骤可通过在应用13中配置自动转储模块12的启动信息来实现,并且可通过输出日志来检查该自动转储模块是否启动成功(步骤S22)。自动转储模块12在启动后,首先读取配置文件11,并根据配置文件11中的定时器设置信息(如定时器执行时间、周期等)来设置定时器14(步骤S23)。在达到设置的定时条件后,定时器14触发自动转储模块12开始启动转储操作,自动转储模块12查询于应用13对应的数据库15(步骤S24),并根据配置文件11中定义的转储条件来判断转储项是否达到转储条件而需要转储,例如表空间(或表的记录数)是否超过一定比例等(步骤S25)。若达到转储条件,则自动转储模块12进行数据项转储操作(步骤S27),然后返回步骤S24。如果未达到转储条件,则自动转储模块12在日志文件中记录表空间的使用状况(步骤S26),并返回步骤S24。
如图3所示,为图2中转储数据项步骤(步骤S27)的流程图。首先自动转储模块12启动转储操作(步骤S31),并判断待转储的数据项是否存在关联表(步骤S32)。若存在关联表,则转储关联表数据(步骤S33),然后转储表数据项;否则直接转储表数据项(步骤S34);然后转到步骤S24。在转储表数据项和转储关联表数据(步骤S33、步骤S34)时可根据配置文件11中的定义,从数据库15查询并保存指定比例的按时间字段排序的数据(相对其它数据来说比较旧的数据),然后删除已经保存到文件的旧数据。
以上所述,仅为本发明较佳的具体实施方式
,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
权利要求
1.一种通用数据库自动转储方法,其特征在于,包括以下步骤(a)生成自动转储配置文件,所述配置文件定义了各个常用数据库的转储逻辑;(b)通过应用启动自动转储模块,所述自动转储模块根据配置文件中的转储逻辑来设置所述应用中的自动转储定时器;(c)所述自动转储定时器触发所述自动转储模块,所述自动转储模块选择相应的常用数据库转储逻辑转储对应数据库中的旧数据。
2.根据权利要求1所述的通用数据库自动转储方法,其特征在于,所述常用数据库包括ORACLE、ACCESS、SQL SEVER、MYSQL、DB2中的一个或多个。
3.根据权利要求1所述的通用数据库自动转储方法,其特征在于,所述常用数据库的转储逻辑包括转储条件和转储项信息的设置。
4.根据权利要求3所述的通用数据库自动转储方法,其特征在于,所述常用数据库的转储逻辑的设置还包括定义以下中的一个或多个转储路径、满足转储条件的表空间的使用百分比、转储数据的比例、转储项数。
5.根据权利要求3所述的通用数据库自动转储方法,其特征在于,所述转储项信息包括转储项名称、转储项数据库表名、所在表空间、时间字段、是否存在关联字段、关联表个数、关联表信息中的一个或多个。
6.根据权利要求3所述的通用数据库自动转储方法,其特征在于,步骤(c)包括以下步骤(c1)所述定时转储模块查询数据库,并根据转储条件来判断转储项是否达到转储条件;(d2)如果没有达到转储条件,则不进行转储操作;如果检查到转储项达到转储条件,则进行转储操作。
7.根据权利要求6所述的通用数据库自动转储方法,其特征在于,步骤(d2)包括以下步骤(d21)根据配置文件中的定义,从数据库查询并保存指定比例的按时间字段排序的旧数据;(d22)删除已经保存到文件的旧数据;(d23)记录转储操作结果。
8.根据权利要求1所述的通用数据库自动转储方法,其特征在于,所述转储逻辑包括定时器执行时间/定时器执行周期。
9.一种通用数据库自动转储系统,其特征在于,包括通过对外管理接口由应用来启动的自动转储模块和定义了各个常用数据库的转储逻辑的配置文件,所述自动转储模块根据配置文件中的转储逻辑设置应用中的定时器并由定时器触发以根据配置文件中的转储逻辑进行数据转储。
10.根据权利要求9所述的通用数据库自动转储系统,其特征在于,所述常用数据库的转储逻辑包括转储条件和转储项信息的设置,所述常用数据库的转储逻辑还包括以下中的一个或多个转储路径、满足转储条件的表空间的使用百分比、转储数据的比例、转储项数。
全文摘要
本发明涉及一种通用数据库自动转储方法,包括以下步骤(a)生成自动转储配置文件,所述配置文件定义了各个常用数据库的转储逻辑;(b)通过应用启动自动转储模块,所述自动转储模块根据配置文件中的转储逻辑来设置所述应用中的自动转储定时器;(c)所述自动转储定时器触发所述自动转储模块,所述自动转储模块选择相应的常用数据库转储逻辑转储对应数据库中的旧数据。本发明还提供一种对应的系统。本发明通过使用独立的自动转储模块及配置文件,实现了不同的数据库中旧数据的自动转储。
文档编号G06F11/14GK1877569SQ20051003519
公开日2006年12月13日 申请日期2005年6月6日 优先权日2005年6月6日
发明者皇甫乐彬 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1