一种数据库系统备份方法

文档序号:7973783阅读:177来源:国知局
专利名称:一种数据库系统备份方法
技术领域
本发明涉及数据库技术,具体涉及一种数据库系统备份方法。
背景技术
广义的数据库系统冗灾指的是减小自然、战争等不可抗力造成的数据丟失;狭义的数据库系统冗灾,包括因为误操作、硬件损坏、业务高峰、断电 等对数据库系统造成的沖击等带来的数据库系统瘫痪,这在数据库系统存在 BUG的情况下,更为常见,这种情况比较频繁,而且对业务的正常运行带 来了不可估量的损失。按业务是否中断,又分为数据级冗灾和应用级冗灾①。 应用级指的是系统自动完成灾备切换,最大减小切换时间,使应用不间断的 运行;数据冗灾则不可避免的会中断业务,在数据恢复到数据库系统这段时 间内,数据库系统是不能工作的,最常见的就是绝大多数商用关系数据库提 供的备份恢复,在恢复之前,数据库是不可用的。冗灾数据库系统一般由两部份构成, 一是数据库系统切换,二是数据复 制。IBM的应用级灾备主要采用基于AIX平台的High Availability Geographical Cluster /High Availability Cluster Multi-Processing , 简称 HAGEO/HACMP方案或基于S/390的Geographically Dispersed Parallel Sysplex ,简称GDPS方案,而数据级的方案采用基于磁盘系统的Peer To Peer Remote Copy或Extend Remote Copy,简称PPRC或XRC功能软件②。 Veritas的系统切换策略则可由用户定制,并在Global Cluster Manager/ Veritas Cluster Server ,简称GCM/VCS软件中实现,数据复制则采用Volume Replicator,简称VVR将逻辑巻复制到多个备份节点上③。数据复制, 一般 来说可以在硬件或软件层上实现,如,磁盘硬件存储级,文件系统级,操作 系统级,数据库级,SNA网络级等。目前的冗灾方案大多还是针对数据级的冗灾,例如,IBM的PPRC/XRC 功能软件,它是通过光纤通道,以逻辑巻为单位,将本地数据同步镜像到远 端,可以有同步和异步方式,区别在于主才几是否收到备4/U写完成信号后才确 认数据写成功。针对业务不间断的应用级冗灾并不多见,成熟的产品,如IBM的 HAGEO/HACMP (HACMP的规则同样适用于HAGEO,两者支持的距离有 所区别④)集群技术,其数据复制方式有三种同步,镜像同步和异步,同 步过程基本是一个线性过程,先写远端再写本地,等主备写完了,才宣告写 完成,镜像同步采用了一个状态图的设备,先写状态图,再写本地盘,本地 写完即宣告写完成,由后台负责远端写,直到远端和本地数据完全一致,异 步的方式是允许主备之间 一定数据差异,当达到差异值之后转换为镜像同 步,以提高性能。HAGEO/HACMP切换过程是利用lan来监控主机、网络和网卡的状态, 该环境由两套网络构成, 一是客户端访问的公共网,即TCP/IP网络, 一是 替代TCP/IP的通讯路径,可以是RS232串口等,即非TCP/IP网络,它实际 上是一个'心跳,线,专门用来监测缺省的三类故障网卡故障、网络故障、 节点故障。主备节点一旦加入该集群,节点的各个网卡、非TCP/IP网络会 不断的发送接收K一A (Keep—Alive)信号,如果备机接收的TCP/IP网络和 非TCP/IP网络上的K—A信号都丟失,那么HACMP可以断定为节点故障; 如果备机接收的TCP/IP网络上K一A信号丟失,而TCP/IP网络上的K—A信 号存在,那么HACMP可以断定为网络故障;如果某一网卡的K—A信号全 部丟失,则HACMP可以断定为网卡故障,默认情况下,HACMP只判断这 三种情况,其它故障可以结合AIX基本功能和HACMP提供的一些机制, 如Error Notification Facility, clinfo API等对故障进行监控并采取切换等恢复 措施。ORACLE Data Guard则提供了数据库层次上的一个突备方案,它是将主 机的redo日志拷贝到备机上,同时恢复日志,以达到主备机数据一致,但 某个节点发生事故需要主备切换,仍然需要人工参与,ORACLE RAC允许 N节点备份,但节点之间仍然通过交换方式链接,发生切换仍然需要cluster manager模块进行心跳监控(D,而不是利用业务过程中产生的信息来进行判 断。发明内容本发明需要解决的技术问题是提供一种数据库备份方法,能够利用业务 信息进行备份。本发明的上述技术问题这样解决,提供一种数据库备份方法,使用数据库操作数据包在多个网络节点进行备份,包括以下步骤1.1) 将原始相同的数据库在数据库系统局域网内的多个网络节点中独 立保存;1.2) 将该局域网通过网关/路由器与发送数据库操作数据包的业务处理 系统连接;1.3) 各网络节点通过同时侦听在数据库系统局域网内广播的数据库操 作数据包对各自数据库实例进行相同数据库操作。按照本发明提供的备份方法,所迷数据库操作是读操作,所述步骤1.3) 中仅一网络节点返回读操作的业务数据示给发出数据库操作数据包的业务 处理系统。按照本发明提供的备份方法,所述数据库操作是写操作;所述步骤1.3) 中仅一网络节点返回写操作的成功/失败标示给发出数据库搡作数据包的业 务处理系统。按照本发明提供的备份方法,所述一网络节点为主用机,其他网络节点 为备用机。按照本发明提供的备份方法,所述备用机是一个或多个。按照本发明提供的备份方法,所述数据库系统由所述网络节点构成,所 述数据库系统局域网仅由所述网络节点和网络连接构成。按照本发明提供的备份方法,所述网络连接是总线方式。按照本发明提供的备份方法,所述网络节点的网卡设为Promiscuous模式。 本发明提供的数据库系统备份方法,利用以太网广播特点在多网络节点 进行数据备份,进一步利用消息确认机制和切换计时器来进行数据库系统主 备机切换,数据库系统构造简单,且能在一个确定的数据操作周期的时间中完成主备切换,达到多机实时热备份的效果,特别能够解决移动通信HLR 网元中,数据库系统常常因为瞬断或一些程序中断等异常而引起的业务瘫 痪,尽可能减小因为数据库异常带来的系统不稳定性。附围说明下面结合附图
和具体实施例进一步对本发明进行详细说明。图l是本发明冗灾备份和切换方法实现的系统结构示意图。 图2是本发明数据备份方法逻辑流程示意图。 图3是本发明主备切换方法逻辑流程示意图。
具体实施方式
首先,说明本发明的关键在读/写数据操作过程中,利用数据包在以 太网中进行广播的特点进行备份数据,并且把数据库系统的失效时间通过切 换定时器等机制限定在一个确定的时间范围内。第二步,说明本发明应用总体网络环境,具体如图l所示,包括①业务 处理(应用)系统40,②路由器50以及③由主用机10和备用机20组成的 数据库局域网系统30,具体如下① 业务处理(应用)系统40,它产生对数据库系统的读/写操作;② 路由器50,位于业务处理系统和数据库局域网系统之间,也可以是 交换机或者HUB集线器;③ 数据库局域网系统30,是构成后台整个数据库系统的"共享式,,局 域网,其实质是一个载波检测多路侦听机制控制传输的共享信道,主用机 10和备用机20之间通过交换机、HUB集线器或者路由器50以总线方式相 连,业务处理系统40产生的各类数据包在该信道中以广播方式传输,为备 用机20的数据备份提供了物理环境; 数据库局域网系统30由主用机10和备用机20组成,备用机20可以是 一个或多个,这里只列出了一个备用机20,主用机10和备用机20的网卡 被设置为"混杂,,Promiscuous模式,接收共享信道局域网上的数据包;主用机代理101位于主用机10上的,备用机代理201位于备用机20上 的代理,分别操作处理主用机10上的数据库实例102和备用机20上的数据 库实例202,它们可以是任何一种支持SQL的数据库;主用机代理101和备用机代理201以及多个备用机代理201之间通过代 理间通信网络60通讯,通信网络60可以是TCP/IP也可以是RS235,代理 间通过消息确认用以主备切换。其中,业务处理系统40和由主用机10和备用机20组成的数据库局域 网系统30之间采用TCP/IP网络连接;主用机10和备用机20上各有一个代 理进程101和201负责1)数据包处理2) IP地址替换3 )发起主备切换;TCP/IP或串口 RS235链接进行通讯;备用机人为定义为第一个备用机、第 二个备用机等;主/备用机软硬件配置相同。第三步,进一步说明本发明数据库局域网系统的读写操作(-)读数据操作,包括以下步骤1. 业务处理系统中,读数据操作(SQL语句字符串),经网络/传输/链 路层打包后,进入TCP/IP网络中的交换机緩存;2. 交换机向主/备用机,通过广播方式发出读数据操作数据包,主用机上 的代理收到读数据操作数据包,备用机上的代理也收到读数据操作数据包;3. 主/备用机上的代理接受读数据操作数据包后,主用机和备用机上的切 换计时器同时开始计时;4. 主用机上的数据库实例对数据包中SQL语句字符串处理后,返回给 主用机上的代理两类数据业务数据,成功/失败标识(包括硬件,当机, 超时,SQL语法,查不到数据等故障,由代理进一步分拣处理然后进行判别), 备用机上处理过程与主用机一样,也返回这两类数据,如杲备用机失败次数 达到一定次数,则第一备用机由原第二备用机替代,依次类推,并告警; 5. 主用机上的代理将业务数据打包通过TCP/IP网络返回给业务处理系 统,备用机上的代理则将各自数据库返回的数据全部屏蔽(全部拦截,不向 业务处理系统返回数据包),将成功/失败标识通过另一套网络返回给主用 机上的代理,主用机上的代理然后向各备用机发回响应消息;6. 如果主用机上的代理监测到主机上的数据库实例失败,或者主用机上 的切换计时器已经超时,并且已收到第一个备用机上的代理返回的成功标 识,则由主机代理发起切换,由第一个备用机接管主机,这个备用机上的代 理首先发起替换主用机IP操作,然后将业务数据打包通过交换机网络返回 给业务处理系统。这是主用机上的代理正常,在一个读数据操作周期的时间 中,由主用机上的代理发起主备切换的情况;7. 如果第5步中,备用机上的代理在第4步启动的切换计时器超时到来 之前,仍未收到主用机上的代理的响应消息,则由第一个备用机上的代理发 起主备切换;8. 如果第 一个备用机发起主备切换失败,则由第二个备用机接着发起主 备切换,直到备用机全部失败;(二)写数据操作,包括以下步骤1. 业务处理系统中,写数据操作(SQL语句字符串),经网络/传输/链 路层打包后,进入TCP/IP网络中的交换机缓存;2. 交换机向主/备用机,通过广播方式发出读数据操作数据包,主用机上 的代理收到写数据操作数据包,备用机上的代理也收到写数据操作数据包;3. 主/备用机上的代理接受写数据操作数据包后,主用机和备用机上的切 换计时器开始计时;4. 主用机上的数据库实例对数据包中SQL语句字符串处理后,返回给 主用机上的代理仅一类数据成功/失败标识(包括硬件,当机,超时,SQL 语法,查不到数据等故障,由代理进一步分拣处理然后进行判别),备用机 上处理过程与主用机一样,也返回这一类数据,如果备用机失败次数达到一 定次数,则第一备用机由原第二备用机替代,依次类推,并告警;5. 主用机上的代理将成功/失败标识通过TCP/IP网络返回给业务处理系
统,备用机将成功/失败标识通过另一套网络返回给主用才几上的代理,主用机上的代理然后向各备用机发回响应消息;6. 如果主用机上的代理监测到主机上的数据库实例失败,或者主用机上 的切换计时器已经超时,并且已收到第一个备用机上的代理返回的成功标 识,则由主机代理发起切换,由第一个备用机接管主机,这个备用机上的代 理首先发起替换主用机IP操作,然后将业务数据打包通过交换机网络返回 给业务处理系统。这是主用机上的代理正常,在一个读数据操作周期的时间 中,由主用机上的代理发起主备切换的情况;7. 如果第5步中,备用机上的代理在第4步启动的切换计时器超时到来 之前,仍未收到主用机上的代理的响应消息,则由第一个备用机上的代理发 起主备切换;8. 如杲第一个备用机上的代理发起主备切换失败,则由第二个备用机上 的代理接着发起主备切换,直到备用机全部失败;其中,读/写数据过程中,最大的区别是主/备用机上的数据库实例处理 SQL后返回结果不同如果是读数据过程,则除了成功/失败标识,还有返 回查询结果集,写数据过程则不会返回结杲集,主/备用机在这上面的处理 不一样,其余相同。第四步,说明本发明数据备份/数据复制过程,具体如图2所示,包括 以下步骤1. 业务处理系统40发起读、写操作,在共享信道的局域网中,数据包 能被该局域网中包括主用机10和备用机20的所有节点侦听到;2. 主用机代理101和备用机代理201接收到包含执行SQL指令的数据 包,启动"切换计时器",同时,主用机上的数据库实例102和备用机上的 数据库实例202也收到该数据包;3. 主用机数据库实例102对该SQL操作执行完毕,返回成功/失败标志 等状态码,主用^L上代理101对该标志进行归类判断处理,见表l,:表l故障类型归类标准处理过程逻辑故障,如主故障可恢复,不如果为异步模式,主用机上代理101直接
键沖突,找不到数 据,表被锁...等影响下一次的数 据库操作返回业务系统40本次操作结果;如果为同 步模式,主用机上代理101将等待所有备 用机上代理201 "操作完毕"通知消息后再 返回业务处理系统40本次操作结果软件故障,如数 据库实例当机,程 序异常退出,通信 异常...等故障不可恢复, 影响下一次的数 据库操作,但不 需要人工干预主用机上代理101启动的"切换计时器" 已超时,进入图3中由"计时器"触发的 切换流程"2"。硬件故障,如机 器当机,网卡异 常,磁盘坏道...等故障不可恢复, 影响很长时间段 的数据库操作, 需要人工干预硬件故障已影响到主用机上代理101的运 行,无法对备用机上代理201 "操作完毕" 通知消息进行响应。4.备用机数据库实例202对该SQL操作执行完毕,返回成功/失败标志 等状态码,备用机上代理201对该标志进行归类判断处理,见表2:表2故障类型归类标准处理过程逻辑故障,如主键 冲突,找不到数据, 表被锁...等故障可恢复,不 影响下一次的数 据库操作备用机上的代理201向主用机上的代理 101发本次"操作完毕"的通知消息软件故障,如数据 库实例当机,程序异 常退出,通信异常... 等故障不可恢复, 影响下一次的数 据库操作,但不 需要人工干预备用机上代理201启动的"切换计时器" 已超时,进入图3中由"计时器"触发的 切换流程"2",但不切换。硬件故障,如机器 当机,网卡异常,磁 盘坏道…等故障不可恢复, 影响很长时间段 的数据库操作, 需要人工干预硬件故障已影响到备用机上代理201的 运行,无法发起"操作完毕"通知消息5.如果第3步中硬件故障已影响到主用机上代理101的运行,无法对备 用机上代理201 "操作完毕,,通知消息进行响应,则将引起备用机代理201 收不到响应而进入切换流程;6. 如果第4步中硬件故障已影响到备用机上代理201的运行,无法发起 "操作完毕"通知消息,则将引起主用机代理101收不到消息,并将该备用机记为失效,由下一个备用机接替下一次可能发生的切换;7. 数据备份的过程在第2步,第4步中完成,备用机上代理201侦听到 业务处理系统40发往主用机10的IP数据包,并不按照正常情况下进行丢 弃,而将其分拆处理后继续发给备用机上数据库实例202;
最后,说明本发明主备机切换过程,具体如图3所示,包括以下步骤1. 在备用机上数据库实例20b完成本次SQL操作,由备用机上代理201 发出本次"操作完毕"的消息,通知主用机上代理101之后,如果备用机上 代理201在一定时间之内未收到主用机上代理101的响应消息,则发回本次 数据库操作成功/失败标志等结果给业务处理系统40;2. 返回结果后,由备用机上代理201发起切换,通知余下的备用机该备 用机升为主用机,并得到所有正常备用机的确认,完成一些初始化工作;3. 在主用机上代理101接收到来自业务处理系统40的SQL操作数据包 之后,主用机上代理101启动"切换"计时器,如果主用机正常,到主用机 代理101返回业务系统本次成功/失败标志等结果的时候,会将计时器停止 清零,如果超时,则发起"切换,,流程"2";4. 由主用机上代理101通知所有的备用机,备用机在整个系统初始化的 时候就确定了替换顺序队列,由队列头的备用机升为主用机,主用机10进 入替换队列尾,变为备用机20,并得到所有正常备用机的确认,完成一些 初始化工作;5. 备用机上代理201将备用机的IP替换成主用机的IP后,即可接收来 自业务处理系统40的数据包,进行数据库的SQL搡作;6. 主备切换的过程通过主备机上代理间的消息交互和主备机上代理所 管理的"切换"计时器来完成,前者确保硬件故障下能进行主备切换,后者 确保软件故障下能进行主备切换。
权利要求
1. 一种数据库系统备份方法,其特征在于,使用数据库操作数据包在多个网络节点进行备份,包括以下步骤1.1)将原始相同的数据库在数据库系统局域网内的多个网络节点中独立保存;1.2)将该局域网通过网关/路由器与发送数据库操作数据包的业务处理系统连接;1.3)各网络节点通过同时侦听在数据库系统局域网内广播的数据库操作数据包对各自数据库实例进行相同数据库操作。
2、 根据权利要求1所述备份方法,其特征在于,所述数据库操作是 读操作,所述步骤1.3)中仅一网络节点返回读操作的业务数据示给发出数据 库操作数据包的业务处理系统。
3、 根据权利要求1所述备份方法,其特征在于,所述数据库操作是 写操作;所述步骤1.3)中仅一网络节点返回写操作的成功/失败标示给发出数 据库操作数据包的业务处理系统。
4、 根据权利要求2或3所述备份方法,其特征在于,所述一网络节 点为主用机,其他网络节点为备用机。
5、 根据权利要求4所述备份方法,其特征在于,所述备用机是一个 或多个。
6、 根据权利要求1所述备份方法,其特征在于,所述数据库系统由 所述网络节点构成,所述数据库系统局域网仅由所述网络节点和网络连接构成。
7、 根据权利要求6所述备份方法,其特征在于,所述网络连接是总 线方式。
8、 根据权利要求1所述备份方法,其特征在于,所述网络节点的网 卡设为Promiscuous模式。
全文摘要
本发明涉及一种数据库系统备份方法,包括将原始相同的数据库在多个网络节点中独立保存;将该网络通过网关/路由器与业务处理系统连接;该网内各节点通过同时侦听网内广播的数据库操作数据包对各自数据库实例进行相同数据库操作完成数据备份。这种方法,利用以太网广播在多节点进行备份,进一步利用消息确认机制、切换计时器来进行数据库系统主备机切换,从而能在一个确定的数据操作周期的时间中完成主备切换且系统简单,特别能够解决移动通信HLR网元中,数据库系统常常因为瞬断或一些程序中断等异常而引起的业务瘫痪,尽可能减小因为数据库异常带来的系统不稳定性。
文档编号H04L29/06GK101212458SQ200610161788
公开日2008年7月2日 申请日期2006年12月25日 优先权日2006年12月25日
发明者健 罗 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1