一种数据库系统切换方法

文档序号:7973784阅读:145来源:国知局

专利名称::一种数据库系统切换方法
技术领域
:本发明涉及数据库^a术,具体涉及一种数据库系统切换方法。技术背景广义的数据库系统冗灾指的是减小自然、战争等不可抗力造成的数据丢失;狹义的数据库系统冗突,包括因为误搡作、硬件损坏、业务高峰、断电等对数据库系统造成的沖击等带来的数据库系统瘫痪,这在数据库系统存在BUG的情况下,更为常见,这种情况比较频繁,而且对业务的正常运行带来了不可估量的损失。按业务是否中断,又分为数据级冗灾和应用级冗灾①。应用级指的是系统自动完成灾备切换,最大减小切换时间,使应用不间断的运行;数据冗灾则不可避免的会中断业务,在数据恢复到数据库系统这段时间内,数据库系统是不能工作的,最常见的就是绝大多数商用关系数据库提供的备份恢复,在恢复之前,数据库是不可用的。冗灾数据库系统一般由两部份构成,一是数据库系统切换,二是数据复制。IBM的应用级突备主要采用基于AIX平台的HighAvailabilityGeographicalCluster/HighAvailabilityClusterMulti-Processing,简称HAGEO/HACMP方案或基于S/390的GeographicallyDispersedParallelSysplex,简称GDPS方案,而数据级的方案采用基于磁盘系统的PeerToPeerRemoteCopy或ExtendRemoteCopy,筒称PPRC或XRC功能软件②。Veritas的系统切换策略则可由用户定制,并在GlobalClusterManager/VeritasClusterServer,简称GCM/VCS软件中实现,数据复制则采用VolumeReplicator,简称VVR将逻辑巻复制到多个备份节点上③。数据复制,一般来说可以在硬件或软件层上实现,如,磁盘硬件存储级,文件系统级,操作系统级,数据库级,SNA网络级等。目前的冗灾方案大多还是针对数据级的冗灾,例如,IBM的PPRC/XRC功能软件,它是通过光纤通道,以逻辑巻为单位,将本地数据同步镜像到远端,可以有同步和异步方式,区别在于主机是否收到备机写完成信号后才确认数据写成功。针对业务不间断的应用级冗灾并不多见,成熟的产品,如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提供的一些机制,如ErrorNotificationFacility,clinfoAPI等对故障进行监控并采取切换等恢复措施。ORACLEDataGuard则提供了数据库层次上的一个突备方案,它是将主机的redo日志拷贝到备机上,同时恢复日志,以达到主备机数据一致,但某个节点发生事故需要主备切换,仍然需要人工参与,ORACLERAC允许N节点备份,但节点之间仍然通过交换方式链接,发生切换仍然需要clustermanager模块进行心跳监控⑤,而不是利用业务过程中产生的信息来进行判断。
发明内容本发明需要解决的技术问题是提供一种数据库切换方法,能够利用业务信息进行切换。本发明的上述技术问题这样解决,提供一种数据库切换方法,使用数据库操作数据包在多个网络节点进行备份,包括以下步骤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操作执行完毕,返回成功/失败标志等状态码,主用机上代理101对该标志进行归类判断处理,见表l:表1<table>tableseeoriginaldocumentpage9</column></row><table>键沖突,找不到数据,表被锁...等影响下一次的数据库操作返回业务系统40本次操作结果;如果为同步模式,主用机上代理101将等待所有备用机上代理201"操作完毕"通知消息后再返回业务处理系统40本次搡作结果软件故障,如数据库实例当机,程序异常退出,通信异常...等故障不可恢复,影响下一次的数据库操作,但不需要人工千预主用才;l上4气理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所述切换方法,其特征在于,所述备用机是多个,按其替换队列优先顺序发起主备切换。3、根据权利要求1所述切换方法,其特征在于,所述备用机根据自身数据库操作超出其切换计时器通知主用机代理其失效。4、根据权利要求3所述切换方法,其特征在于,所述备用机根据自身数据库操作超出其切换计时器还输出失效告警。5、根据权利要求1所述切换方法,其特征在于,所述主备切换包括备用机代理将备用机IP地址改为主用机IP地址。6、根据权利要求1或2所述切换方法,其特征在于,所述主备切换包括主用机代理将主用机改为备用机,并置于所述替换队列队尾。7、根据权利要求1所述切换方法,其特征在于,所述主用机和备用机通过总线方式进行网络连接。8、根据权利要求1所述切换方法,其特征在于,所述主用机和备用才几的网卡i殳为Promiscuous才莫式。全文摘要本发明涉及一种数据库系统切换方法,包括将原始相同的数据库在多个网络节点中独立保存;将该网络通过网关/路由器与业务处理系统连接;该网内各节点通过同时侦听网内广播的数据库操作数据包对各自数据库实例进行相同数据库操作完成数据备份。这种方法,利用以太网广播在多节点进行备份,进一步利用消息确认机制、切换计时器来进行数据库系统主备机切换,从而能在一个确定的数据操作周期的时间中完成主备切换且系统简单,特别能够解决移动通信HLR网元中,数据库系统常常因为瞬断或一些程序中断等异常而引起的业务瘫痪,尽可能减小因为数据库异常带来的系统不稳定性。文档编号H04L12/24GK101212341SQ200610161789公开日2008年7月2日申请日期2006年12月25日优先权日2006年12月25日发明者健罗申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1