新聞中心

EEPW首頁 > 手機與無線通信 > 設(shè)計應(yīng)用 > 號碼攜帶集中管理系統(tǒng)的高可用技術(shù)應(yīng)用

號碼攜帶集中管理系統(tǒng)的高可用技術(shù)應(yīng)用

作者: 時間:2010-08-27 來源:網(wǎng)絡(luò) 收藏

  3.5.2 數(shù)據(jù)庫集群軟件

  我們以O(shè)RACLE的真正應(yīng)用集群(Real Application Cluster,RAC)軟件為例,介紹數(shù)據(jù)庫集群軟件的主要特點。

  (1)共享磁盤

  與Single-Instance Oracle的存儲方式最主要的不同之處在于RAC存儲必須將所有RAC中數(shù)據(jù)文件存放在共享設(shè)備中,以便訪問相同Database的Instance能夠共享。同時,為了能夠使每個Instance能夠獨立操作,也為了系統(tǒng)恢復(fù)時其他Instance能找到相關(guān)的操作痕跡,RAC數(shù)據(jù)庫與單實例數(shù)據(jù)庫在存儲結(jié)構(gòu)上還存在以下不同:

 ?。?)每一個Instance都有自己的SGA(系統(tǒng)全局區(qū))。

  (2)每一個Instance都有自己的Background Process。

  (3)每一個Instance都有自己的Redo Logs。

 ?。?)每一個Instance都有自己的Undo表空間。

  RAC也不能使用傳統(tǒng)的文件系統(tǒng),因為傳統(tǒng)的文件系統(tǒng)不支持多系統(tǒng)的并行掛載,必須將文件存儲在沒有任何文件系統(tǒng)的裸設(shè)備或是支持多系統(tǒng)并發(fā)訪問的文件系統(tǒng)中。

  RAC操作要求在所有Instance中對控制共享資源的訪問進行同步。RAC使用Global Resource Directory來記錄Cluster Database中資源的使用信息,Global Cache Service(GCS)和Global Enqueue Service(GES)管理GRD中的信息。每個Instance在進行讀寫操作后,要由GCS或者GES按照嚴格的流程同步到其他Instance的Buffer中。

  (2)緩存融合(Cache Fusion)

  在RAC環(huán)境中,每個實例的內(nèi)存結(jié)構(gòu)和后臺進程都是相同的,它們看起來像單一系統(tǒng)的一樣。每個實例的SGA內(nèi)有一個緩沖區(qū),使用Cache Fusion技術(shù),每個實例就像使用單一緩存一樣使用集群實例的緩存來處理數(shù)據(jù)庫。Cache Fusion技術(shù)可以最大限度地降低磁盤I/O,優(yōu)化數(shù)據(jù)讀寫。節(jié)點之間會產(chǎn)生不小的網(wǎng)絡(luò)通信和CPU的開銷,因此雙節(jié)點RAC的性能不會是單節(jié)點性能的兩倍。

 ?。?)透明應(yīng)用切換

  當(dāng)RAC群的一個節(jié)點發(fā)生了故障,故障節(jié)點上所有保存在內(nèi)存中運行的事務(wù)會丟失,Oracle將故障節(jié)點所擁有數(shù)據(jù)塊的控制權(quán)限重新轉(zhuǎn)交給正常節(jié)點,此過程稱為全局緩存服務(wù)重置。在全局緩存服務(wù)重置發(fā)生時,RAC中所有服務(wù)器都會被凍結(jié),所有應(yīng)用程序?qū)⒈粧炱穑珿CS將不會響應(yīng)群任何節(jié)點發(fā)出的請求;重置后,Oracle讀取日志記錄,確定并鎖定需要恢復(fù)的頁面,并執(zhí)行回滾,此時數(shù)據(jù)庫恢復(fù)。

  3.6 應(yīng)用軟件的系統(tǒng)恢復(fù)方案

  即使我們采取了前面所有的措施,也需要考慮在前面方案失敗的情況下,即系統(tǒng)底層軟件或者硬件發(fā)生錯誤而導(dǎo)致系統(tǒng)重啟時的處理辦法。

  系統(tǒng)在重啟前,系統(tǒng)中正在運行的有若干個流程,每個流程都處于不同的狀態(tài),應(yīng)用軟件的恢復(fù)方案就是要保證系統(tǒng)重啟后,這些狀態(tài)都能夠恢復(fù)并自動運行到結(jié)束狀態(tài)。為此,系統(tǒng)在運行過程中,所有消息和流程的狀態(tài)都需要在修改的時候保存在數(shù)據(jù)庫中,而不能僅僅保存在內(nèi)存中,在System Recover的時候,需要檢查數(shù)據(jù)庫中所有沒有到最終狀態(tài)的消息和流程并進行后續(xù)處理。

  CSMS在System Recover后實現(xiàn)過程如下:

 ?。?)恢復(fù)所有消息:恢復(fù)CSMS發(fā)出的消息,恢復(fù)CSMS收到的消息。

 ?。?)恢復(fù)申請流程。

 ?。?)恢復(fù)注銷流程。

 ?。?)恢復(fù)停機相關(guān)流程。

  (5)恢復(fù)審計流程。

 ?。?)檢查當(dāng)天的生效廣播。

 ?。?)檢查當(dāng)天的同步。

  (8)檢查當(dāng)月的同步。

  系統(tǒng)恢復(fù)的關(guān)鍵就是要清楚每個流程的不同狀態(tài),比如在消息的恢復(fù)中,對于從CSMS發(fā)送出去的NP消息,狀態(tài)包括:

  ●Init(初始)。

  ●Sending(發(fā)送中):該消息已經(jīng)發(fā)送給SOA/LSMS,等待ACK。

  ●Wait Send(等待發(fā)送):ACK超時重發(fā)。

  ●Sent(發(fā)送成功):收到ACK信息。

  ●Complete(完成):收到該NP消息(請求/指示)的回復(fù)(響應(yīng)/確認),并已經(jīng)成功發(fā)送相應(yīng)的ACK。

  對于CSMS接收到的NP消息,狀態(tài)包括:

  ●Init(初始)。

  ●Processing(處理中):表示系統(tǒng)正在處理該NP消息,主要包括將該NP消息保存入系統(tǒng),根據(jù)該NP消息的類型,選擇需要處理的方式。

  ●Processed(處理結(jié)束):表示系統(tǒng)已經(jīng)處理結(jié)束該NP消息。

  ●Replying(正在發(fā)送回復(fù)消息):系統(tǒng)將組織好的NP回復(fù)消息已經(jīng)發(fā)送到SOA/LSMS,該消息沒有收到ACK。

  ●Wait Reply(等待回復(fù)):ACK超時等待重發(fā)。

  ●Complete(完成):系統(tǒng)收到該消息的ACK信息。

  對于系統(tǒng)的其他恢復(fù)流程,方法類似不再贅述。

  3.7 磁盤陣列的RAID和磁帶庫備份方案

  系統(tǒng)高可靠性最后的考慮就是存儲設(shè)備,以目前的技術(shù)而言,有效的存儲方案不僅可以保證存儲數(shù)據(jù)的安全可靠,還能夠提高硬盤讀寫的速度,常用的技術(shù)就是RAID。

  RAID技術(shù)按照級別可以分為RAID0,RAID1,RAID5等,不同級別RAID的存儲效率不同,當(dāng)硬盤出現(xiàn)故障時能夠恢復(fù)的時間也不相同,具體技術(shù)可以參考相關(guān)技術(shù)文檔。

  為了進一步增加數(shù)據(jù)存儲的保護功能,系統(tǒng)一般還會有其他介質(zhì)的備份方案,如磁帶庫備份。磁盤陣列的數(shù)據(jù)按照一定的規(guī)則備份到磁帶庫上,一方面可以增加存儲設(shè)備的容量,同時對數(shù)據(jù)保護又增加了一層保障。

  4 結(jié)束語

  作為的重要性能指標之一,高性具有十分重要的意義。因為高性需要考慮到系統(tǒng)的各個層面,相對也比較復(fù)雜。尤其在各種新的IT技術(shù)層出不窮的今天,研究各種高可用性技術(shù),選擇合適的高可用性技術(shù)方案,應(yīng)作為系統(tǒng)架構(gòu)設(shè)計者和相關(guān)技術(shù)研究人員的重點研究內(nèi)容。本文僅作為拋磚引玉,對集中的各種高可用技術(shù)進行了簡單的分析和總結(jié),相信這些高可用性技術(shù)對類似系統(tǒng)的設(shè)計具有一定的參考意義。


上一頁 1 2 3 下一頁

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉