数据库备份信息清理系统及方法

文档序号:6482708阅读:211来源:国知局
专利名称:数据库备份信息清理系统及方法
技术领域
本发明涉及一种数据库备份系统,尤其涉及一种数据库备份系统中的信息清理系 统及其方法。
背景技术
数据丢失对大小企业来说都是个恶梦,业务数据与企业日常业务运作唇齿相依, 损失这些数据,即使是暂时性,亦会威胁到企业辛苦赚来的竞争优势,更可能摧毁你公司的 声誉,或可能引致昂贵的诉讼和索偿费用。在震惊世界的美国“9 · 11”恐怖事件发生后,许多人将目光投向金融界巨头摩根 士丹利公司。这家金融机构在世贸大厦租有25层,惨剧发生时有2000多名员工正在楼内 办公,公司受到重创。可是正当大家扼腕痛惜时,该公司宣布,全球营业部第二天可以照常 工作。其主要原因是它在新泽西州建立了灾备中心,并保留着数据备份,从而保障公司全球 业务的不间断运行。灾备的重要性和巨大价值由此可见一斑。所谓数据灾备,就是指建立一个异地的数据系统,该系统是本地关键应用数据的 一个可用复制。在本地数据及整个应用系统出现灾难时,系统至少在本地或者异地保存有 一份可用的关键业务的数据。该数据可以是与本地生产数据的完全实时复制,也可以比本 地数据略微落后,但一定是可用的。采用的主要技术是数据复制,数据传输以及数据存储等 技术。传统的灾备体系(数据备份系统),其体系庞大,结构复杂,且对设备的要求较为 严苛,因而费用昂贵。同时,这些传统的灾备体系均根据各自的数据库设置方式设有专门的 控制系统,且难以与其他现有系统兼容。随着越来越多的传统企业开始考虑使用开源产品降低成本,数据库方面尤其以 MySQL突出,而利用MySQL在企业级的数据库灾备体系中的应用还未能得到充分开发。提到备份,众所周知的利用MySQL所提供的一些工具能够完成简单的备份,但在 涉及到企业级的数据库的灾备体系的建设的问题,却没有任何现有的较为成功的实践先 例。因此,对于利用MySQL的基础,建设企业级数据库备份体系,存在了如下的需求■当你只有几台数据库的时候你只需要一个备份命令或者一个备份工具就可以 完成,■当你有百台左右的数据库时候,你会不得不写脚本来自动帮你完成,■当你有更多数据库,你会发现每天维护这个备份列表,开启和关闭,调整某些备 份将会成为一个瓶颈,此时你需要一个web系统能更简易的系统完成这些日常维护工作,■当业务体系越来越复杂的时候,不同存储引擎,不同的逻辑,不同的备份保留间 隔等各式各样的需求都会使得我们不断在备份系统上扩充功能■当同时维护MySQL和Oracle的备份工作时,此时你需要一个平台能容纳不同的 数据库备份需求,■当这些底层的备份细节都实现后,如何保障本地,本市的灾难发生后依然有备份的数据可恢复,这就涉及到如何把本地备份的数据保留倒同城异地,异城,甚至是银行保
存,一整套策略■最后解决灾难的最终依据是灾难后的数据恢复,所以如何制定数据恢复,灾难 演习的策略,并记录经验,上述这些都是普通数据库运行和维护人员在实践过程中所能够普遍遇到的问题, 而将这些普遍的需求进行整合,并有针对性地加以解决,一步步升华,这样从简单的命令行 备份到最终得到一套完整的灾备体系。以上这些从最底层的备份实现细节,到满足各种备 份需求的功能,到容灾恢复策略,一起就构成了灾备体系。而在运行具体数据库备份体系中,在多次备份打包和压缩过程之后,数据库内的 系统资源冗余需要得到合理地清除,以保障系统的稳定,而如何对于备份信息进行清除,尚 未能有较为系统的体系和方法来控制。一般仅采取普通的清除,而不能做到真正的有效、安 全以及稳定的清理备份的系统和方法。

发明内容
本发明的目的在于提供一种安全、高效的数据库备份信息清理系统和方法,其主 要利用现有的MySQL数据库管理系统,并且兼容于Oracle数据库管理系统中。通过系统化 的备份系统的设置和安排,以实现全量备份的功能,并且对已备份过的资料,进行一定程度 地清理,以合理利用存储空间,并且维护系统长期有效地运行。本发明所提供的数据库备份信息清理系统所采取的技术方案如下提供了一种数据库备份信息清理系统,其中包括同城数据库11,第一异城数据 库12,第二异城数据库13,离线磁带机20,财务/银行保管系统30,本地电信机房41,本地 网通机房42 ;所述的本地电信机房41以及本地网通机房42与同城数据库11连接,备份本地数 据;所述的同城数据库11,第一异城数据库12,第二异城数据库13依次连接,互相备 份异地数据;所述的同城数据库11,第一异城数据库12,第二异城数据库13均与离线磁带机20 连接,定期备份离线数据;所述数据库备份信息清理系统包括监控至少一个监控服务器,与每个数据库以及 机房相连接,自动检查和清理过期备份数据。上述的数据库备份信息清理系统,其中,所述本地数据、异地数据最终以离线数据 形式存储于离线磁带机20的离线磁带中,所述离线磁带存放于所述财务/银行保管系统 中。上述的数据库备份信息清理系统,其中,所述的本地电信机房41与本地网通机房 42与同城数据库11分别设立在不同地点,且都配置有至少一台监控服务器。上述的数据库备份信息清理系统,其中,所述的同城数据库11通过网络将备份数 据传输至第一异城数据库12 ;第一异城数据库12通过网络将备份数据传输至第一异城数 据库13 ;第二异城数据库13通过网络将备份数据传输至同城数据库11,形成循环异地数据 备份体系,每个数据库配置有两台或两台以上监控服务器。
本发明还提供了一种数据库备份信息清理系统的方法,其中,所述备份信息清理 系统清理信息之前,先通过监控服务器,取得所有机器的备份配置信息;所述的所有机器设 备包括数据库网络中的每台主机或服务器。上述的方法,其中,还包括如下步骤循环读取配置信息文件,获取其内容;根据 生成的配置文件取得备份所需的变量。上述的方法,其中,还包括如下步骤判断备份信息清理过程的间隔是否为小时, 如间隔是以小时计算,则按小时取得过期备份。。上述的方法,其中,还包括如下步骤判断备份信息清理过程的间隔是否为小时, 如间隔不局限于以小时计算,按日期进行排序,再取得过期备份。上述的方法,其中,还包括如下步骤步骤408,判断是否存在过期文件;步骤409,遍历所有过期文件名;步骤410,根据取得的过期文件获取参数;步骤411,获取主机名;步骤413,查找此文件是否在备份机上;步骤415,远程执行删除此文件;步骤416,读取下一行配置信息;步骤417,判断读取的此行是否为空;步骤418,清理过程结束。上述的方法,其中,还包括如下步骤当判断不存在过期文件,或遍历过程已完成,或不能获得主机名,或查找的文件不 在备份机上时,自动结束整个备份清理流程。本发明的数据库备份信息系统及方法能够提供一种自动高效的过期备份信息清 理系统和方法,对于在大型数据库备份体系中产生的大量的过期备份,能够以合理的频率 和时间,给予处置,以保障备份系统的利用率,同时也提高了整个数据库的安全和稳定性 能,避免了冗余备份数据占据大量额外存储空间。


图1为本发明的数据库备份系统的结构模块图;图2为本发明的数据库备份系统的主要流程图;图3为本发明的数据库备份系统的MySQL备份流程图;图4为本发明的数据库备份系统的Oracle备份流程图;图5为本发明的数据库备份信息清理系统的流程图。
具体实施例方式如图1所示,为本发明的数据库备份系统的一种优选的网络架构模块图。本发明 的数据库备份系统包括同城数据库11,异城数据库12,异城数据库13,离线磁带机20,财务 /银行保管系统30,本地机房41 (本地电信机房),本地机房42 (本地网通机房)。其中,同 城数据库11与本地备份机房41和本地备份机房42相互网络连接,将数据库上的备份数据传输至本地备份机房,即完成本地备份流程。本地备份可以定制备份周期间隔,例如设定每 隔半小时、1小时或2小时等进行增量备份,每天或者每隔一天进行全量备份,将备份数据 储存在本地机房上。所述备份采用交叉备份策略,即例如,第一次数据备份在本地备份机房 41上,则第二次数据备份在另一个本地备份机房42上,第三次再备份至本地备份机房41 上,如此循环交叉,以最大限度地利用备份机房的存储能力。由于本地服务器的数据交换频繁,其需存储的数据量随着时间推移会不断增长, 因此需要采取上述的本地备份流程,将同城本地数据库机房11上的备份数据传输至一个 同城的本地备份机房41或42,优选的该数据库机房11与本地备份机房41、42架设在不同 的地方,即所谓的“同城异地”,主要是为了便于放置数据库机房与本地备份机房不受同样 的外在条件影响,如网络故障、供电故障、通讯电缆损坏等各种天灾人祸,从而提高了备份 机房的容灾强度,不会因为本地数据库机房的故障而导致所有备份机房的数据受到损害而 失去了备份的价值。此外,在异城异地的数据库机房之间,也需要进行异地备份,例如将同城数据库 机房11的备份数据,设定一定周期,传输至异城异地数据库机房12。同样,异城异地数据库 机房12也能够在其所在的城市实现本地备份,传输备份数据值数据库机房12所在城市的 本地备份机房(图中未示出),其结构运行模式与同城数据库机房11和本地服务器41,42 之间相类似。所述的备份周期,应大于本地全量备份的周期,如每周1次或2次实施异地备 份。同时,异城异地数据库机房12也可设置按照一定周期向另一个异城异地数据库机房13 进行备份数据传输,从而动态地形成了数据异地备份。同理,已成异地数据库机房13也可 将其备份数据再传送至同城异地数据库机房11,构成一个循环。同时,各个数据库机房11,12,13,按照一定的周期,将其备份数据集中传输给离线 磁带机20进行离线备份。该周期需大于异地备份周期,可设定为每2周或每隔1个月进行 一次离线备份。离线备份后的数据存储于离线磁带上,所述离线磁带可托付财务/银行保 管系统存放。在上述的架构中,各数据库机房的数量并不限定于三个,可根据实际情况架设在 多个城市的数据库机房之间,如五个或者更多。且本地服务器在图1中仅根据现有的两种 主要的网络供应商分为本地电信机房41和本地网通机房42,但在实际应用中还可以针对 每个供应商提供更多的本地机房,并且在提供网络资源共享的企业级的数据库中,每个机 房所提供的主机的数量较多,常常达到几十台甚至上百台,并且根据实际情况与各种网络 供应商均设置有特定的服务器以供其使用。如图2所示,为本发明的数据库备份系统所采用的备份步骤的详细流程图,包括 如下各个步骤步骤100,备份流程开始。步骤101,初始参数设定,包括MySQL备份参数及Oracle备份参数。步骤102,备份控制文件生成备份进程。步骤103,生成备份控制文件共有参数。步骤104,查询备份控制文件的共有参数是否存在。如不存在,即共有参数生成失 败,则进入步骤160,备份流程结束;如存在,则进入下一步骤105。步骤105,查询MySQL及Oracle备份命令是否存在。若不存在,即所述参数初始化失败或有其他故障,则进入步骤160 ;若存在,则执行备份命令,并进入下一步骤106。步骤106,去除备份文件中的空格。步骤107,读取一行控制文件记录。步骤108,生成备份参数。步骤109,获取远程主机名。如未能成功获取,则进入步骤160 ;获取成功后进入步 骤 110。步骤110,获取该远程主机机器的当前ROLE (任务)。步骤120,执行ROLE (任务)。随后分别进入MySQL进程和Oracle进程。步骤121,MySQL进程第一步,获取MySQL备份参数。步骤122,导入MySQL备份脚本。步骤123,执行MySQL备份脚本。步骤131,Oracle进程第一步,获取Oracle备份参数。步骤132,导入Oracle备份脚本。步骤133,执行Oracle备份脚本。步骤140,当MySQL和Oracle进程都完成后,读取下一行配置信息。步骤150,判断是否为最后一行。如为最后一行,则进入步骤160 ;如不是最后一 行,则回到步骤107并继续执行后续操作。步骤160,备份流程结束。如图3所示,为本发明的数据库备份系统的MySQL备份流程图,其具体包括如下步 骤步骤200,MySQL备份流程开始。步骤201,初始参数设定。步骤202,遍历服务器上的实例。步骤203,根据SOCK(端口)到监控机取得备份信息,可包括相应的第一备份地址 和第二备份地址。步骤204,判断第二备份地址是否设定。假如已设定,则进入步骤205 ;否则,进入 步骤208。步骤205,由于第二备份地址已设定,对比上次备份地址与第一备份地址是否一 致。如不一致,则进入步骤206 ;如一致,则进入步骤207。步骤206,经判断上次备份地址与第一备份地址不一致,则将此次备份地址仍设为 第一备份地址,然后进入步骤209。步骤207,经判断上次备份地址与第一备份地址一致,则将此次备份地址设为第二 备份地址,然后进入步骤209。步骤208,经判断第二备份地址未设定,则将备份地址设为第一备份地址。步骤209,生成此次备份信息。步骤210,备份目录是否存在。若备份目录不存在,则进入步骤211 ;若备份目录存 在,则进入步骤213。步骤211,创建备份目录。若备份目录创建失败,进入步骤212 ;否则,进入步骤 213。
步骤212,备份目录创建失败,输出错误信息,停止此次备份,进入步骤240。步骤213,判断执行MySQL备份管理命令,如MySQL,MySQLadmin以及MySQLdump 等工具。如无法执行则进入步骤214 ;否则,进入步骤215。步骤214,由于判断MySQL备份管理命令无法执行,输出错误信息停止此次备份, 并进入步骤240。步骤215,当MySQL管理命令执行后,选择备份方式、备份数据库、目的地址、放置 目录等信息,可由备份管理系统直接指定默认信息或者通过外部输入信息确定。步骤216,判断是否备份所有数据库。根据实际输入情况,判断进入何种备份模式, 当输入一databases命令时,进入步骤217 ;当输入-A命令时,进入步骤218。步骤217,根据选定的数据库,进行各个数据库的数据备份。随后进入步骤220。步骤218,对所有数据库进行备份,之后进入步骤220。步骤220,选择具体备份方式。同时列出各分支供选择,包括步骤221-226供6中 具体备份方式可平等选择。步骤221,S_INN0DB_DUMP 模式,为采用 INNODB 工具及 MySQL SlaveInnoDB DUMP 策略的备份流程。完成备份后进入步骤230。步骤222,M_INN0DB_DUMP 模式,为采用 INNODB 工具及 MySQL MasterInnoDB DUMP 策略,完成备份后进入步骤230。步骤223,T_STRUCTURE_DUMP 模式,为采用 MySQL STRUCTUREDUMP 策略的备份流 程。完成备份后进入步骤230。步骤224,S_MYISAM_TAR 模式,为采用 MYISAM 工具及 MySQL SlaveMyISAM TAR 策 略的备份流程。完成备份后进入步骤230。步骤225,S_MYISAM_DUMP 模式,为采用 MYISAM 工具及 MySQL SlaveMyISAM DUMP 策略的备份流程。完成备份后进入步骤230。步骤226,M_ARCHIVE_TAR 模式,为采用 MySQL Master ARCHIVE TAR 策略的备份流 程。完成备份后进入步骤230。步骤230,判断是否存在未遍历的S0CK,若存在,则返回步骤203继续操作;若不存 在,则进入步骤240。步骤240,流程结束。如图4所示,为本发明的数据库备份系统的Oracle备份流程图,具体包括如下步骤。步骤300,Oracle备份流程开始。对应于Oracle备份命令。步骤301,获取环境变量。步骤302,判断第二备份地址是否存在。若存在,则进入步骤303 ;若不存在,进入 步骤307。步骤303,当判断第二备份地址存在,则将上次备份地址与第一备份地址进行比 较。当上次备份地址等于第一备份地址时,进入步骤304 ;当上次备份地址不等于第一备份 地址时,进入步骤305。步骤304,由于上次备份地址与第一备份地址相等且第二备份地址存在,根据交叉 备份的原则,将备份存至第二备份地址。随后进入步骤306。
步骤305,由于上次备份地址与第一次备份地址不同,则将备份存入第一备份地 址。随后进入步骤306。步骤306,将此次备份地址存为“上次备份地址”,供后续循环比较之用。进入步骤 307。步骤307,当第二备份地址不存在或者已根据第二备份地址完成备份之后,即执行
获取变量步骤。步骤308,判断远程备份目录是否存在。若不存在,则进入步骤309 ;若存在,则进 入步骤312。步骤309,由于远程备份目录不存在,则创建所述远程备份目录。进入步骤310。步骤310,判断目录创建是否正常。若异常,则进入步骤311 ;若正常,则进入步骤 312。步骤311,当判断目录创建异常,则输出错误信息,并进入步骤330。步骤312,输入参数,包括备份方式、备份数据库、目的地址,放置目录等,并检查参 数有效性。若输入参数无效,则进入步骤313。若输入参数有效,则进入步骤314。步骤313,由于输入参数检查无效,故输出错误信息后,进入步骤330。步骤314,输入参数有效,则根据输入参数开始进行备份,生成备份文件。步骤315,传输所述的备份文件。步骤316,传输情况判断。若传输情况发生异常,则进入步骤317 ;若传输情况正 常,则继续进入步骤318。步骤317,当判断传输情况异常,产生错误报告信息,并输出该错误信息。随后进入 步骤330。步骤318,检查备份文件是否存在。若备份文件不存在,则进入步骤319 ;若备份文 件存在,继续进入步骤320。步骤319,备份文件不存在,则生成相应错误报告信息,并传输该错误信息。随后进 入步骤330。步骤320,计算备份大小。步骤321,显示计算出的备份大小,并选择采用何种方式进行备份。若选择“自动” 备份,则进入步骤322 ;若选择“手动”备份,则进入步骤323。步骤322,执行自动备份操作,更新自动备份信息。进入步骤324。步骤323,进入手动备份操作等待过程,根据相应的后续命令执行操作。更新自动 备份信息。进入步骤324。步骤324,完成备份,清楚备份文件。步骤325,备份过程结束。本发明的数据库备份清理系统还包括至少一个监控服务器,与各个数据库服务器 或者主机相互连接,用以定期检查和清理过期备份数据。同一台监控服务器可以同时监视 多台服务器或主机,但当服务器或主机数量较庞大时,需要设置多台监控服务器,以便于提 高监控效率。此外,在同一个区域的服务器组或者主机组中,可以设置两台监控服务器,以 保证当一台监控服务器运行异常时,所述检查和清理进程不会因此而受到影响,以确保整 个自动清理系统的稳定性。
如图5所示,为本发明的数据库备份信息清理系统的流程,用于清除过期备份数 据。其具体步骤如下步骤400,清理过程开始。步骤401,初始参数设定。步骤402,通过监控服务器,取得所有机器的备份配置信息。所有机器设备包括数 据库网络中的各台主机或服务器或者需要进行备份的单台主机或服务器。步骤403,循环读取配置信息文件,即反复读取各机器的备份配置信息文件,获取 其内容。步骤404,根据生成的配置文件取得备份需要的变量。通过对配置文件的处理,得 到备份过程所需的各个参数、变量等。步骤405,根据所生成的变量,判断清理过程的间隔是否为小时。如间隔是以小时 计算,则进入步骤407,如间隔不局限于以小时计算,则进入步骤406。步骤406,按日期取得过期的备份。仅以日期为依据对过期备份进行按序排列并提 取。步骤407,按小时取得过期备份。根据间隔的小时对过期备份依次生成相应的序号 排列,并提取。步骤408,判断是否存在过期文件。如存在,则进入步骤409 ;如不存在,则进入步 骤 416。步骤409,遍历所有过期文件名。同时判断,如该遍历过程未完成,则进入步骤 410 ;如遍历过程已完成,则进入步骤416。步骤410,根据取得的过期文件获取参数。步骤411,获取主机名(hostname),如不能获得,则进入步骤413 ;如成功获得了主 机名,则进入步骤412。步骤412,向管理端或者用户端输出无法连接信息。并且进入步骤413。步骤413,查找此文件是否在备份机上。步骤414,判断次文件是否存在于备份机上,若存在,则进入步骤415 ;若不存在, 则进入步骤416。步骤415,远程执行删除此文件。步骤416,读取下一行配置信息。步骤417,判断读取的此行是否为空。若为空,则进入步骤418 ;若不为空,则进入 步骤404。步骤418,清理过程结束。上述,仅为本发明的优选的实施方式,并不用于限定本发明的保护范围,根据本领 域的技术常识,结合本领域现有的技术,对上述内容所做的显而易见的修改和变化,其也应 当落入本发明的保护范围。
1权利要求
一种数据库备份信息清理系统,其特征在于,包括同城数据库(11),第一异城数据库(12),第二异城数据库(13),离线磁带机(20),财务/银行保管系统(30),本地电信机房(41),本地网通机房(42);所述的本地电信机房(41)以及本地网通机房(42)与同城数据库(11)连接,备份本地数据;所述的同城数据库(11),第一异城数据库(12),第二异城数据库(13)依次连接,互相备份异地数据;所述的同城数据库(11),第一异城数据库(12),第二异城数据库(13)均与离线磁带机(20)连接,定期备份离线数据;所述数据库备份信息清理系统包括监控至少一个监控服务器,与每个数据库以及机房相连接,自动检查和清理过期备份数据。
2.如权利要求1所述的数据库备份信息清理系统,其特征在于,所述本地数据、异地数 据最终以离线数据形式存储于离线磁带机(20)的离线磁带中,所述离线磁带存放于所述 财务/银行保管系统中。
3.如权利要求1所述的数据库备份信息清理系统,其特征在于,所述的本地电信机房 (41)与本地网通机房(42)与同城数据库(11)分别设立在不同地点,且都配置有至少一台 监控服务器。
4.如权利要求1所述的数据库备份信息清理系统,其特征在于,所述的同城数据库 (11)通过网络将备份数据传输至第一异城数据库(12);第一异城数据库(12)通过网络将 备份数据传输至第一异城数据库(13);第二异城数据库(13)通过网络将备份数据传输至 同城数据库(11),形成循环异地数据备份体系,每个数据库配置有两台或两台以上监控服 务器。
5.如权利要求1所述的数据库备份信息清理系统的方法,其特征在于,所述备份信息 清理系统清理信息之前,先通过监控服务器,取得所有机器的备份配置信息;所述的所有机 器设备包括数据库网络中的每台主机或服务器。
6.如权利要求5所述的方法,其特征在于,还包括如下步骤循环读取配置信息文件, 获取其内容;根据生成的配置文件取得备份所需的变量。
7.如权利要求5所述的方法,其特征在于,还包括如下步骤判断备份信息清理过程的 间隔是否为小时,如间隔是以小时计算,则按小时取得过期备份。。
8.如权利要求5所述的方法,其特征在于,还包括如下步骤判断备份信息清理过程的 间隔是否为小时,如间隔不局限于以小时计算,按日期进行排序,再取得过期备份。
9.如权利要求5所述的方法,其特征在于,还包括如下步骤 步骤408,判断是否存在过期文件;步骤409,遍历所有过期文件名;步骤410,根据取得的过期文件获取参数;步骤411,获取主机名;步骤413,查找此文件是否在备份机上;步骤415,远程执行删除此文件;步骤416,读取下一行配置信息;步骤417,判断读取的此行是否为空; 步骤418,清理过程结束。
10.如权利要求9所述的方法,其特征在于,还包括如下步骤 当判断不存在过期文件,或遍历过程已完成,或不能获得主机名,或查找的文件不在备 份机上时,自动结束整个备份清理流程。
全文摘要
本发明提供了一种数据库备份信息清理系统,其中包括同城数据库11,第一异城数据库12,第二异城数据库13,离线磁带机20,财务/银行保管系统30,本地电信机房41,本地网通机房42。所述数据库备份信息清理系统包括监控至少一个监控服务器,与每个数据库以及机房相连接,自动检查和清理过期备份数据。本发明的数据库备份信息系统及方法能够提供一种自动高效的过期备份信息清理系统和方法,对于在大型数据库备份体系中产生的大量的过期备份,能够以合理的频率和时间,给予处置,以保障备份系统的利用率,同时也提高了整个数据库的安全和稳定性能,避免了冗余备份数据占据大量额外存储空间。
文档编号G06F17/30GK101930431SQ200910053849
公开日2010年12月29日 申请日期2009年6月25日 优先权日2009年6月25日
发明者周枫, 姚艳庆, 徐景春, 谭俊青 申请人:升东网络科技发展(上海)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1