專利名稱::一種數(shù)據(jù)庫系統(tǒng)切換方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及數(shù)據(jù)庫^a術(shù),具體涉及一種數(shù)據(jù)庫系統(tǒng)切換方法。技術(shù)背景廣義的數(shù)據(jù)庫系統(tǒng)冗災(zāi)指的是減小自然、戰(zhàn)爭等不可抗力造成的數(shù)據(jù)丟失;狹義的數(shù)據(jù)庫系統(tǒng)冗突,包括因為誤搡作、硬件損壞、業(yè)務(wù)高峰、斷電等對數(shù)據(jù)庫系統(tǒng)造成的沖擊等帶來的數(shù)據(jù)庫系統(tǒng)癱瘓,這在數(shù)據(jù)庫系統(tǒng)存在BUG的情況下,更為常見,這種情況比較頻繁,而且對業(yè)務(wù)的正常運行帶來了不可估量的損失。按業(yè)務(wù)是否中斷,又分為數(shù)據(jù)級冗災(zāi)和應(yīng)用級冗災(zāi)①。應(yīng)用級指的是系統(tǒng)自動完成災(zāi)備切換,最大減小切換時間,使應(yīng)用不間斷的運行;數(shù)據(jù)冗災(zāi)則不可避免的會中斷業(yè)務(wù),在數(shù)據(jù)恢復(fù)到數(shù)據(jù)庫系統(tǒng)這段時間內(nèi),數(shù)據(jù)庫系統(tǒng)是不能工作的,最常見的就是絕大多數(shù)商用關(guān)系數(shù)據(jù)庫提供的備份恢復(fù),在恢復(fù)之前,數(shù)據(jù)庫是不可用的。冗災(zāi)數(shù)據(jù)庫系統(tǒng)一般由兩部份構(gòu)成,一是數(shù)據(jù)庫系統(tǒng)切換,二是數(shù)據(jù)復(fù)制。IBM的應(yīng)用級突備主要采用基于AIX平臺的HighAvailabilityGeographicalCluster/HighAvailabilityClusterMulti-Processing,簡稱HAGEO/HACMP方案或基于S/390的GeographicallyDispersedParallelSysplex,簡稱GDPS方案,而數(shù)據(jù)級的方案采用基于磁盤系統(tǒng)的PeerToPeerRemoteCopy或ExtendRemoteCopy,筒稱PPRC或XRC功能軟件②。Veritas的系統(tǒng)切換策略則可由用戶定制,并在GlobalClusterManager/VeritasClusterServer,簡稱GCM/VCS軟件中實現(xiàn),數(shù)據(jù)復(fù)制則采用VolumeReplicator,簡稱VVR將邏輯巻復(fù)制到多個備份節(jié)點上③。數(shù)據(jù)復(fù)制,一般來說可以在硬件或軟件層上實現(xiàn),如,磁盤硬件存儲級,文件系統(tǒng)級,操作系統(tǒng)級,數(shù)據(jù)庫級,SNA網(wǎng)絡(luò)級等。目前的冗災(zāi)方案大多還是針對數(shù)據(jù)級的冗災(zāi),例如,IBM的PPRC/XRC功能軟件,它是通過光纖通道,以邏輯巻為單位,將本地數(shù)據(jù)同步鏡像到遠端,可以有同步和異步方式,區(qū)別在于主機是否收到備機寫完成信號后才確認(rèn)數(shù)據(jù)寫成功。針對業(yè)務(wù)不間斷的應(yīng)用級冗災(zāi)并不多見,成熟的產(chǎn)品,如IBM的HAGEO/HACMP(HACMP的規(guī)則同樣適用于HAGEO,兩者支持的距離有所區(qū)別④)集群技術(shù),其數(shù)據(jù)復(fù)制方式有三種同步,鏡像同步和異步,同步過程基本是一個線性過程,先寫遠端再寫本地,等主備寫完了,才宣告寫完成,鏡像同步采用了一個狀態(tài)圖的設(shè)備,先寫狀態(tài)圖,再寫本地盤,本地寫完即宣告寫完成,由后臺負(fù)責(zé)遠端寫,直到遠端和本地數(shù)據(jù)完全一致,異步的方式是允許主備之間一定數(shù)據(jù)差異,當(dāng)達到差異值之后轉(zhuǎn)換為鏡像同步,以提高性能。HAGEO/HACMP切換過程是利用lan來監(jiān)控主機、網(wǎng)絡(luò)和網(wǎng)卡的狀態(tài),該環(huán)境由兩套網(wǎng)絡(luò)構(gòu)成,一是客戶端訪問的公共網(wǎng),即TCP/IP網(wǎng)絡(luò),一是替代TCP/IP的通訊路徑,可以是RS232串口等,即非TCP/IP網(wǎng)絡(luò),它實際上是一個'心跳,線,專門用來監(jiān)測缺省的三類故障網(wǎng)卡故障、網(wǎng)絡(luò)故障、節(jié)點故障。主備節(jié)點一旦加入該集群,節(jié)點的各個網(wǎng)卡、非TCP/IP網(wǎng)絡(luò)會不斷的發(fā)送接收K一A(Keep_Alive)信號,如果備機接收的TCP/IP網(wǎng)絡(luò)和非TCP/IP網(wǎng)絡(luò)上的K—A信號都丟失,那么HACMP可以斷定為節(jié)點故障;如果備機接收的TCP/IP網(wǎng)絡(luò)上K一A信號丟失,而TCP/IP網(wǎng)絡(luò)上的K一A信號存在,那么HACMP可以斷定為網(wǎng)絡(luò)故障;如果某一網(wǎng)卡的K^A信號全部丟失,則HACMP可以斷定為網(wǎng)卡故障,默認(rèn)情況下,HACMP只判斷這三種情況,其它故障可以結(jié)合AIX基本功能和HACMP提供的一些機制,如ErrorNotificationFacility,clinfoAPI等對故障進行監(jiān)控并采取切換等恢復(fù)措施。ORACLEDataGuard則提供了數(shù)據(jù)庫層次上的一個突備方案,它是將主機的redo日志拷貝到備機上,同時恢復(fù)日志,以達到主備機數(shù)據(jù)一致,但某個節(jié)點發(fā)生事故需要主備切換,仍然需要人工參與,ORACLERAC允許N節(jié)點備份,但節(jié)點之間仍然通過交換方式鏈接,發(fā)生切換仍然需要clustermanager模塊進行心跳監(jiān)控⑤,而不是利用業(yè)務(wù)過程中產(chǎn)生的信息來進行判斷。
發(fā)明內(nèi)容本發(fā)明需要解決的技術(shù)問題是提供一種數(shù)據(jù)庫切換方法,能夠利用業(yè)務(wù)信息進行切換。本發(fā)明的上述技術(shù)問題這樣解決,提供一種數(shù)據(jù)庫切換方法,使用數(shù)據(jù)庫操作數(shù)據(jù)包在多個網(wǎng)絡(luò)節(jié)點進行備份,包括以下步驟1.1)將原始相同的數(shù)據(jù)庫在數(shù)據(jù)庫系統(tǒng)局域網(wǎng)內(nèi)的多個網(wǎng)絡(luò)節(jié)點中獨立保存;1.2)將該局域網(wǎng)通過網(wǎng)關(guān)/路由器與發(fā)送數(shù)據(jù)庫操作數(shù)據(jù)包的業(yè)務(wù)處理系統(tǒng)連接;1.3)各網(wǎng)絡(luò)節(jié)點通過同時偵聽在數(shù)據(jù)庫系統(tǒng)局域網(wǎng)內(nèi)廣播的數(shù)據(jù)庫搡作數(shù)據(jù)包對各自數(shù)據(jù)庫實例進行相同數(shù)據(jù)庫搡作。按照本發(fā)明提供的切換方法,所迷數(shù)據(jù)庫操作是讀操作,所述步驟1.3)中僅一網(wǎng)絡(luò)節(jié)點返回讀操作的業(yè)務(wù)數(shù)據(jù)示給發(fā)出數(shù)據(jù)庫搡作數(shù)據(jù)包的業(yè)務(wù)處理系統(tǒng)。按照本發(fā)明提供的切換方法,所述數(shù)據(jù)庫操作是寫操作;所述步驟1.3)中僅一網(wǎng)絡(luò)節(jié)點返回寫搡作的成功/失敗標(biāo)示給發(fā)出數(shù)據(jù)庫搡作數(shù)據(jù)包的業(yè)務(wù)處理系統(tǒng)。按照本發(fā)明提供的切換方法,所述一網(wǎng)絡(luò)節(jié)點為主用機,其他網(wǎng)絡(luò)節(jié)點為備用才幾。按照本發(fā)明提供的切換方法,所述備用機是一個或多個。按照本發(fā)明提供的切換方法,所述數(shù)據(jù)庫系統(tǒng)由所述網(wǎng)絡(luò)節(jié)點構(gòu)成,所述數(shù)據(jù)庫系統(tǒng)局域網(wǎng)僅由所述網(wǎng)絡(luò)節(jié)點和網(wǎng)絡(luò)連接構(gòu)成。按照本發(fā)明提供的切換方法,所述網(wǎng)絡(luò)連接是總線方式。按照本發(fā)明提供的切換方法,所述網(wǎng)絡(luò)節(jié)點的網(wǎng)卡設(shè)為Promiscuous模式。本發(fā)明提供的數(shù)據(jù)庫系統(tǒng)切換方法,利用以太網(wǎng)廣播特點在多網(wǎng)絡(luò)節(jié)點進行數(shù)據(jù)備份,進一步利用消息確認(rèn)機制和切換計時器來進行數(shù)據(jù)庫系統(tǒng)主備機切換,數(shù)據(jù)庫系統(tǒng)構(gòu)造筒單,且能在一個確定的數(shù)據(jù)操作周期的時間中完成主備切換,達到多機實時熱備份的效果,特別能夠解決移動通信HLR網(wǎng)元中,數(shù)據(jù)庫系統(tǒng)常常因為瞬斷或一些程序中斷等異常而引起的業(yè)務(wù)癱瘓,盡可能減小因為數(shù)據(jù)庫異常帶來的系統(tǒng)不穩(wěn)定性。下面結(jié)合附圖和具體實施例進一步對本發(fā)明進行詳細(xì)說明。圖l是本發(fā)明冗災(zāi)備份和切換方法實現(xiàn)的系統(tǒng)結(jié)構(gòu)示意圖。圖2是本發(fā)明數(shù)據(jù)備份方法邏輯流程示意圖。圖3是本發(fā)明主備切換方法邏輯流程示意圖。具體實施方式首先,說明本發(fā)明的關(guān)鍵在讀/寫數(shù)據(jù)操作過程中,利用數(shù)據(jù)包在以太網(wǎng)中進行廣播的特點進行備份數(shù)據(jù),并且把數(shù)據(jù)庫系統(tǒng)的失效時間通過切換定時器等機制限定在一個確定的時間范圍內(nèi)。第二步,說明本發(fā)明應(yīng)用總體網(wǎng)絡(luò)環(huán)境,具體如圖l所示,包括①業(yè)務(wù)處理(應(yīng)用)系統(tǒng)40,②路由器50以及③由主用機10和備用機20組成的數(shù)據(jù)庫局域網(wǎng)系統(tǒng)30,具體如下①業(yè)務(wù)處理(應(yīng)用)系統(tǒng)40,它產(chǎn)生對數(shù)據(jù)庫系統(tǒng)的讀/寫操作;②路由器50,位于業(yè)務(wù)處理系統(tǒng)和數(shù)據(jù)庫局域網(wǎng)系統(tǒng)之間,也可以是交換機或者HUB集線器;③數(shù)據(jù)庫局域網(wǎng)系統(tǒng)30,是構(gòu)成后臺整個數(shù)據(jù)庫系統(tǒng)的"共享式,,局域網(wǎng),其實質(zhì)是一個載波檢測多路偵聽機制控制傳輸?shù)墓蚕硇诺溃饔脵C10和備用機20之間通過交換機、HUB集線器或者路由器50以總線方式相連,業(yè)務(wù)處理系統(tǒng)40產(chǎn)生的各類數(shù)據(jù)包在該信道中以廣播方式傳輸,為備用機20的數(shù)據(jù)備份提供了物理環(huán)境;數(shù)據(jù)庫局域網(wǎng)系統(tǒng)30由主用機10和備用機20組成,備用機20可以是一個或多個,這里只列出了一個備用機20,主用機10和備用機20的網(wǎng)卡被設(shè)置為"混雜"Promiscuous模式,接收共享信道局域網(wǎng)上的數(shù)據(jù)包;主用機代理101位于主用機10上的,備用機代理201位于備用機20上的代理,分別操作處理主用機10上的數(shù)據(jù)庫實例102和備用機20上的數(shù)據(jù)庫實例202,它們可以是任何一種支持SQL的數(shù)據(jù)庫;主用才幾代理101和備用機代理201以及多個備用機代理201之間通過代理間通信網(wǎng)絡(luò)60通訊,通信網(wǎng)絡(luò)60可以是TCP/IP也可以是RS235,代理間通過消息確認(rèn)用以主備切換。其中,業(yè)務(wù)處理系統(tǒng)40和由主用才幾10和備用才幾20組成的數(shù)據(jù)庫局域網(wǎng)系統(tǒng)30之間采用TCP/IP網(wǎng)絡(luò)連接;主用機10和備用機20上各有一個代理進程101和201負(fù)責(zé)1)數(shù)據(jù)包處理2)IP地址替換3)發(fā)起主備切換;TCP/IP或串口RS235鏈接進行通訊;備用機人為定義為第一個備用機、第二個備用機等;主/備用機軟硬件配置相同。第三步,進一步說明本發(fā)明數(shù)據(jù)庫局域網(wǎng)系統(tǒng)的讀寫操作(-)讀數(shù)據(jù)操作,包括以下步驟1.業(yè)務(wù)處理系統(tǒng)中,讀數(shù)據(jù)搡作(SQL語句字符串),經(jīng)網(wǎng)絡(luò)/傳輸/鏈路層打包后,進入TCP/IP網(wǎng)絡(luò)中的交換機緩存;2.交換機向主/備用機,通過廣播方式發(fā)出讀數(shù)據(jù)操作數(shù)據(jù)包,主用機上的代理收到讀數(shù)據(jù)操作數(shù)據(jù)包,備用機上的代理也收到讀數(shù)據(jù)操作數(shù)據(jù)包;3.主/備用機上的代理接受讀數(shù)據(jù)操作數(shù)據(jù)包后,主用機和備用機上的切換計時器同時開始計時;4.主用機上的數(shù)據(jù)庫實例對數(shù)據(jù)包中SQL語句字符串處理后,返回給主用機上的代理兩類數(shù)據(jù)業(yè)務(wù)數(shù)據(jù),成功/失敗標(biāo)識(包括硬件,當(dāng)機,超時,SQL語法,查不到數(shù)據(jù)等故障,由代理進一步分揀處理然后進行判別),備用^幾上處理過程與主用^幾一樣,也返回這兩類數(shù)據(jù),如果備用才幾失敗次數(shù)達到一定次數(shù),則第一備用機由原第二備用機替代,依次類推,并告警;5.主用機上的代理將業(yè)務(wù)數(shù)據(jù)打包通過TCP/IP網(wǎng)絡(luò)返回給業(yè)務(wù)處理系統(tǒng),備用機上的代理則將各自數(shù)據(jù)庫返回的數(shù)據(jù)全部屏蔽(全部攔截,不向業(yè)務(wù)處理系統(tǒng)返回數(shù)據(jù)包),將成功/失敗標(biāo)識通過另一套網(wǎng)絡(luò)返回給主用機上的代理,主用機上的代理然后向各備用機發(fā)回響應(yīng)消息;6.如果主用機上的代理監(jiān)測到主機上的數(shù)據(jù)庫實例失敗,或者主用機上的切換計時器已經(jīng)超時,并且已收到第一個備用機上的代理返回的成功標(biāo)識,則由主機代理發(fā)起切換,由第一個備用機接管主機,這個備用機上的代理首先發(fā)起替換主用機IP操作,然后將業(yè)務(wù)數(shù)據(jù)打包通過交換機網(wǎng)絡(luò)返回給業(yè)務(wù)處理系統(tǒng)。這是主用機上的代理正常,在一個讀數(shù)據(jù)操作周期的時間中,由主用機上的代理發(fā)起主備切換的情況;7.如果第5步中,備用機上的代理在第4步啟動的切換計時器超時到來之前,仍未收到主用機上的代理的響應(yīng)消息,則由第一個備用機上的代理發(fā)起主備切換;8.如果第一個備用機發(fā)起主備切換失敗,則由第二個備用機接著發(fā)起主備切換,直到備用機全部失?。蝗?寫數(shù)據(jù)操作,包括以下步驟1.業(yè)務(wù)處理系統(tǒng)中,寫數(shù)據(jù)操作(SQL語句字符串),經(jīng)網(wǎng)絡(luò)/傳輸/鏈路層打包后,進入TCP/IP網(wǎng)絡(luò)中的交換機緩存;2.交換機向主/備用機,通過廣播方式發(fā)出讀數(shù)據(jù)操作數(shù)據(jù)包,主用機上的代理收到寫數(shù)據(jù)操作數(shù)據(jù)包,備用機上的代理也收到寫數(shù)據(jù)操作數(shù)據(jù)包;3.主/備用機上的代理接受寫數(shù)據(jù)操作數(shù)據(jù)包后,主用機和備用機上的切換計時器開始計時;4.主用機上的數(shù)據(jù)庫實例對數(shù)據(jù)包中SQL語句字符串處理后,返回給主用機上的代理僅一類數(shù)據(jù)成功/失敗標(biāo)識(包括硬件,當(dāng)機,超時,SQL語法,查不到數(shù)據(jù)等故障,由代理進一步分揀處理然后進行判別),備用機上處理過程與主用機一樣,也返回這一類數(shù)據(jù),如果備用機失敗次數(shù)達到一定次數(shù),則第一備用機由原第二備用機替代,依次類推,并告警;5.主用機上的代理將成功/失敗標(biāo)識通過TCP/IP網(wǎng)絡(luò)返回給業(yè)務(wù)處理系統(tǒng),備用機將成功/失敗標(biāo)識通過另一套網(wǎng)絡(luò)返回給主用機上的代理,主用機上的代理然后向各備用機發(fā)回響應(yīng)消息;6.如果主用機上的代理監(jiān)測到主機上的數(shù)據(jù)庫實例失敗,或者主用機上的切換計時器已經(jīng)超時,并且已收到第一個備用機上的代理返回的成功標(biāo)識,則由主機代理發(fā)起切換,由第一個備用機接管主機,這個備用機上的代理首先發(fā)起替換主用機IP操作,然后將業(yè)務(wù)數(shù)據(jù)打包通過交換機網(wǎng)絡(luò)返回給業(yè)務(wù)處理系統(tǒng)。這是主用機上的代理正常,在一個讀數(shù)據(jù)操作周期的時間中,由主用機上的代理發(fā)起主備切換的情況;7.如果第5步中,備用機上的代理在第4步啟動的切換計時器超時到來之前,仍未收到主用機上的代理的響應(yīng)消息,則由第一個備用機上的代理發(fā)起主備切換;8.如果第一個備用機上的代理發(fā)起主備切換失敗,則由第二個備用機上的代理接著發(fā)起主備切換,直到備用機全部失敗;其中,讀/寫數(shù)據(jù)過程中,最大的區(qū)別是主/備用機上的數(shù)據(jù)庫實例處理SQL后返回結(jié)果不同如果是讀數(shù)據(jù)過程,則除了成功/失敗標(biāo)識,還有返回查詢結(jié)果集,寫數(shù)據(jù)過程則不會返回結(jié)果集,主/備用機在這上面的處理不一樣,其余相同。第四步,說明本發(fā)明數(shù)據(jù)備份/數(shù)據(jù)復(fù)制過程,具體如圖2所示,包括以下步驟1.業(yè)務(wù)處理系統(tǒng)40發(fā)起讀、寫操作,在共享信道的局域網(wǎng)中,數(shù)據(jù)包能被該局域網(wǎng)中包括主用機10和備用機20的所有節(jié)點偵聽到;2.主用機代理101和備用機代理201接收到包含執(zhí)行SQL指令的數(shù)據(jù)包,啟動"切換計時器",同時,主用機上的數(shù)據(jù)庫實例102和備用機上的數(shù)據(jù)庫實例202也收到該數(shù)據(jù)包;3.主用機數(shù)據(jù)庫實例102對該SQL操作執(zhí)行完畢,返回成功/失敗標(biāo)志等狀態(tài)碼,主用機上代理101對該標(biāo)志進行歸類判斷處理,見表l:表1<table>tableseeoriginaldocumentpage9</column></row><table>鍵沖突,找不到數(shù)據(jù),表被鎖...等影響下一次的數(shù)據(jù)庫操作返回業(yè)務(wù)系統(tǒng)40本次操作結(jié)果;如果為同步模式,主用機上代理101將等待所有備用機上代理201"操作完畢"通知消息后再返回業(yè)務(wù)處理系統(tǒng)40本次搡作結(jié)果軟件故障,如數(shù)據(jù)庫實例當(dāng)機,程序異常退出,通信異常...等故障不可恢復(fù),影響下一次的數(shù)據(jù)庫操作,但不需要人工千預(yù)主用才;l上4氣理101啟動的"切換計時器"已超時,進入圖3中由"計時器"觸發(fā)的切換流程"2"。硬件故障,如機器當(dāng)機,網(wǎng)卡異常,磁盤壞道...等故障不可恢復(fù),影響很長時間段的數(shù)據(jù)庫操作,需要人工干預(yù)硬件故障已影響到主用機上代理101的運行,無法對備用機上代理201"操作完畢"通知消息進行響應(yīng)。4.備用機數(shù)據(jù)庫實例202對該SQL操作執(zhí)行完畢,返回成功/失敗標(biāo)志等狀態(tài)碼,備用機上代理201對該標(biāo)志進行歸類判斷處理,見表2:表2故障類型歸類標(biāo)準(zhǔn)處理過程邏輯故障,如主鍵沖突,找不到數(shù)據(jù),表被鎖...等故障可恢復(fù),不影響下一次的數(shù)據(jù)庫操作備用機上的代理201向主用機上的代理101發(fā)本次"梯:作完畢"的通知消息軟件故障,如數(shù)據(jù)庫實例當(dāng)機,程序異常退出,通信異常...等故障不可恢復(fù),影響下一次的數(shù)據(jù)庫操作,但不需要人工千預(yù)備用機上代理201啟動的"切換計時器"已超時,進入圖3中由"計時器"觸發(fā)的切換流程"2",但不切換。硬件故障,如機器當(dāng)機,網(wǎng)卡異常,磁盤壞道...等故障不可恢復(fù),影響很長時間段的數(shù)據(jù)庫操作,需要人工千預(yù)硬件故障已影響到備用機上代理201的運行,無法發(fā)起"操作完畢"通知消息5.如果第3步中硬件故障已影響到主用機上代理101的運行,無法對備用機上代理201"操作完畢"通知消息進行響應(yīng),則將引起備用機代理201收不到響應(yīng)而進入切換流程;6.如果第4步中硬件故障已影響到備用機上代理201的運行,無法發(fā)起"操作完畢"通知消息,則將引起主用機代理101收不到消息,并將該備用機記為失效,由下一個備用機接替下一次可能發(fā)生的切換;7.數(shù)據(jù)備份的過程在第2步,第4步中完成,備用機上代理201偵聽到業(yè)務(wù)處理系統(tǒng)40發(fā)往主用機10的IP數(shù)據(jù)包,并不接照正常情況下進行丟棄,而將其分拆處理后繼續(xù)發(fā)給備用機上數(shù)據(jù)庫實例202;最后,說明本發(fā)明主備機切換過程,具體如圖3所示,包括以下步驟1.在備用機上數(shù)據(jù)庫實例20b完成本次SQL操作,由備用機上代理201發(fā)出本次"操作完畢"的消息,通知主用機上代理101之后,如果備用機上代理201在一定時間之內(nèi)未收到主用機上代理101的響應(yīng)消息,則發(fā)回本次數(shù)據(jù)庫操作成功/失敗標(biāo)志等結(jié)果給業(yè)務(wù)處理系統(tǒng)40;2.返回結(jié)果后,由備用機上代理201發(fā)起切換,通知余下的備用機該備用機升為主用機,并得到所有正常備用機的確認(rèn),完成一些初始化工作;3.在主用機上代理101接收到來自業(yè)務(wù)處理系統(tǒng)40的SQL操作數(shù)據(jù)包之后,主用機上代理101啟動"切換"計時器,如果主用機正常,到主用機代理101返回業(yè)務(wù)系統(tǒng)本次成功/失敗標(biāo)志等結(jié)果的時候,會將計時器停止清零,如果超時,則發(fā)起"切換,,流程"2";4.由主用機上代理101通知所有的備用機,備用機在整個系統(tǒng)初始化的時候就確定了替換順序隊列,由隊列頭的備用機升為主用機,主用機10進入替換隊列尾,變?yōu)閭溆脵C20,并得到所有正常備用機的確認(rèn),完成一些初始化工作;5.備用機上代理201將備用機的IP替換成主用機的IP后,即可接收來自業(yè)務(wù)處理系統(tǒng)40的數(shù)據(jù)包,進行數(shù)據(jù)庫的SQL操作;6.主備切換的過程通過主備機上代理間的消息交互和主備機上代理所管理的"切換"計時器來完成,前者確保硬件故障下能進行主備切換,后者確保軟件故障下能進行主備切換。權(quán)利要求1.一種數(shù)據(jù)庫系統(tǒng)切換方法,其特征在于,主用機代理和備用機代理根據(jù)廣播的數(shù)據(jù)庫操作數(shù)據(jù)包進行操作,還包括以下步驟1.1)備用機代理將自身數(shù)據(jù)庫操作結(jié)果通過消息傳遞給主用機代理;1.2)主用機代理接收并返回響應(yīng);1.3)備用機代理根據(jù)主用機代理無響應(yīng)次數(shù)達到門限進行主備切換或者主用機代理根據(jù)自身數(shù)據(jù)庫操作超出其切換計時器通知已傳遞消息的備用機代理進行主備切換。2、根據(jù)權(quán)利要求1所述切換方法,其特征在于,所述備用機是多個,按其替換隊列優(yōu)先順序發(fā)起主備切換。3、根據(jù)權(quán)利要求1所述切換方法,其特征在于,所述備用機根據(jù)自身數(shù)據(jù)庫操作超出其切換計時器通知主用機代理其失效。4、根據(jù)權(quán)利要求3所述切換方法,其特征在于,所述備用機根據(jù)自身數(shù)據(jù)庫操作超出其切換計時器還輸出失效告警。5、根據(jù)權(quán)利要求1所述切換方法,其特征在于,所述主備切換包括備用機代理將備用機IP地址改為主用機IP地址。6、根據(jù)權(quán)利要求1或2所述切換方法,其特征在于,所述主備切換包括主用機代理將主用機改為備用機,并置于所述替換隊列隊尾。7、根據(jù)權(quán)利要求1所述切換方法,其特征在于,所述主用機和備用機通過總線方式進行網(wǎng)絡(luò)連接。8、根據(jù)權(quán)利要求1所述切換方法,其特征在于,所述主用機和備用才幾的網(wǎng)卡i殳為Promiscuous才莫式。全文摘要本發(fā)明涉及一種數(shù)據(jù)庫系統(tǒng)切換方法,包括將原始相同的數(shù)據(jù)庫在多個網(wǎng)絡(luò)節(jié)點中獨立保存;將該網(wǎng)絡(luò)通過網(wǎng)關(guān)/路由器與業(yè)務(wù)處理系統(tǒng)連接;該網(wǎng)內(nèi)各節(jié)點通過同時偵聽網(wǎng)內(nèi)廣播的數(shù)據(jù)庫操作數(shù)據(jù)包對各自數(shù)據(jù)庫實例進行相同數(shù)據(jù)庫操作完成數(shù)據(jù)備份。這種方法,利用以太網(wǎng)廣播在多節(jié)點進行備份,進一步利用消息確認(rèn)機制、切換計時器來進行數(shù)據(jù)庫系統(tǒng)主備機切換,從而能在一個確定的數(shù)據(jù)操作周期的時間中完成主備切換且系統(tǒng)簡單,特別能夠解決移動通信HLR網(wǎng)元中,數(shù)據(jù)庫系統(tǒng)常常因為瞬斷或一些程序中斷等異常而引起的業(yè)務(wù)癱瘓,盡可能減小因為數(shù)據(jù)庫異常帶來的系統(tǒng)不穩(wěn)定性。文檔編號H04L12/24GK101212341SQ200610161789公開日2008年7月2日申請日期2006年12月25日優(yōu)先權(quán)日2006年12月25日發(fā)明者健羅申請人:中興通訊股份有限公司