0 引言
廣州地鐵自動售檢票系統(tǒng)(Automatic Fare Collection ,AFC)是基于計算機、通信、網(wǎng)絡(luò)、自動控制等技術(shù),實現(xiàn)城市軌道交通售票、檢票、計費、收費、清分、管理等全過程的自動化系統(tǒng)。AFC系統(tǒng)共分為車票、車站終端設(shè)備、車站計算機系統(tǒng)、線路中央計算機系統(tǒng)、清分系統(tǒng)五個層次。其中清分系統(tǒng)亦即軌道交通清分綜合中央計算機系統(tǒng)(Integrated Central Computer System,ICCS)為AFC系統(tǒng)的數(shù)據(jù)中心,主要用于廣州市軌道交通各條線路之間,與公交系統(tǒng)、銀行系統(tǒng)及其他相關(guān)系統(tǒng)之間的清算分賬、車票交易數(shù)據(jù)的處理及統(tǒng)計分析,同時還具備對線路AFC系統(tǒng)設(shè)備運營管理的功能。ICCS遠期定位于整個廣州市及珠江三角洲城際軌道交通系統(tǒng)的清分中心和AFC運營管理中心,服務(wù)于整個廣州市軌道交通線路的收益清分,實現(xiàn)整體處理車票交易數(shù)據(jù)及統(tǒng)計分析,但不涉及具體線路的內(nèi)部運作。
清分體系是軌道交通線網(wǎng)票務(wù)數(shù)據(jù)的頂級收斂口,其建立及原則的制定最終服務(wù)于“數(shù)據(jù)綜合應(yīng)用”的目的,除了滿足日常的結(jié)算業(yè)務(wù)外,更重要的是使得體系內(nèi)所匯集的各類票務(wù)數(shù)據(jù)能被有效整合、利用。為了提高清分系統(tǒng)的健壯性和可用性,增強系統(tǒng)抵御突發(fā)性災(zāi)難的能力,建立了容災(zāi)系統(tǒng),即使發(fā)生系統(tǒng)災(zāi)難,也能快速地恢復(fù)系統(tǒng)和數(shù)據(jù),確保業(yè)務(wù)的連續(xù)性。
1 容災(zāi)技術(shù)概述
容災(zāi)(disater tolerant)是指除了本地系統(tǒng)以外,用戶另外建立的冗余系統(tǒng),當(dāng)災(zāi)難發(fā)生本地系統(tǒng)受到破壞時,冗余系統(tǒng)可以接管用戶正常的業(yè)務(wù),達到業(yè)務(wù)不間斷的目的。容災(zāi)表現(xiàn)為一種未雨綢繆的主動性,而不是在災(zāi)難發(fā)生后的“亡羊補牢”。
1.1 容災(zāi)原理
容災(zāi)技術(shù)的基本原理就是數(shù)據(jù)備份。數(shù)據(jù)備份是指為防止由系統(tǒng)故障所導(dǎo)致的數(shù)據(jù)丟失,而將全部或部分?jǐn)?shù)據(jù)生產(chǎn)中心的主機系統(tǒng)存儲設(shè)備復(fù)制到其他的存儲介質(zhì)的過程。數(shù)據(jù)備份是用戶進行容災(zāi)系統(tǒng)建設(shè)的第一步,也是最終容災(zāi)系統(tǒng)恢復(fù)的基礎(chǔ)。
隨著業(yè)務(wù)數(shù)據(jù)的不斷增加和可用性要求不斷提高,傳統(tǒng)的離線、在線備份根本無法滿足需求。要想達到抵御災(zāi)難的目的,必須選用專門的軟硬件設(shè)施,制定相應(yīng)的容災(zāi)方案。雖然容災(zāi)的核心是備份,但其不同于一般意義上的數(shù)據(jù)備份,因為通常的備份存儲系統(tǒng)總是與工作系統(tǒng)處于同一位置,而容災(zāi)備份是通過在異地建立和維護一個備份存儲系統(tǒng),利用地理上的分離來保證系統(tǒng)和數(shù)據(jù)對災(zāi)難性事件的抵御能力。因此,容災(zāi)與備份的根本區(qū)別在于容災(zāi)不僅要保證企業(yè)數(shù)據(jù)的安全可靠,同時要保證業(yè)務(wù)的連續(xù)性。
1.2 容災(zāi)系統(tǒng)的構(gòu)成
容災(zāi)系統(tǒng)應(yīng)包括兩個層面的問題:數(shù)據(jù)容災(zāi)和應(yīng)用容災(zāi)。
數(shù)據(jù)容災(zāi)就是指建立一個異地的數(shù)據(jù)系統(tǒng),該系統(tǒng)是本地關(guān)鍵應(yīng)用數(shù)據(jù)的一個實時復(fù)制。在本地數(shù)據(jù)及整個應(yīng)用系統(tǒng)出現(xiàn)災(zāi)難時,系統(tǒng)至少在異地保存一份可用的關(guān)鍵業(yè)務(wù)的數(shù)據(jù)。應(yīng)用容災(zāi)是在容災(zāi)的基礎(chǔ)上,在異地建立一套完整的與本地系統(tǒng)相當(dāng)?shù)膫浞輵?yīng)用系統(tǒng),在災(zāi)難情況下,遠程系統(tǒng)迅速接管業(yè)務(wù)運行。數(shù)據(jù)容災(zāi)是容災(zāi)系統(tǒng)的基本要求,而應(yīng)用容災(zāi)是系統(tǒng)建設(shè)目標(biāo),應(yīng)用容災(zāi)必須建立在數(shù)據(jù)容災(zāi)的基礎(chǔ)之上,通過整合應(yīng)用系統(tǒng)、網(wǎng)絡(luò)系統(tǒng)等各種資源來實現(xiàn)。
1.3 容災(zāi)關(guān)鍵技術(shù)
在建立容災(zāi)系統(tǒng)時會涉及到多種技術(shù),目前,關(guān)鍵的技術(shù)主要有:遠程復(fù)制技術(shù)、快照技術(shù)、基于SAN的互連技術(shù)、虛擬存儲等。
1.3.1 遠程復(fù)制技術(shù)
遠程復(fù)制技術(shù)是將主點數(shù)據(jù)中心的數(shù)據(jù)復(fù)制到遠程的備份數(shù)據(jù)中心,隨著更新在主站點的執(zhí)行,遠程站點保持與主站點的同步,遠程復(fù)制技術(shù)是容災(zāi)備份技術(shù)的核心技術(shù),同時也是保持遠程數(shù)據(jù)同步和實現(xiàn)災(zāi)難恢復(fù)的基礎(chǔ)。
1.3.2 快照技術(shù)
快照是通過軟件對要備份的磁盤子系統(tǒng)的數(shù)據(jù)快速掃描,建立一個要備份數(shù)據(jù)的快照邏輯單元號LUN和快照cache。在快速掃描時,把備份過程中即將要修改的數(shù)據(jù)塊同時快速拷貝到快照cache中。快照LUN是一組指針,它指向快照cache和磁盤子系統(tǒng)中不變的數(shù)據(jù)塊(在備份過程中)。在正常業(yè)務(wù)進行的同時,利用快照LUN實現(xiàn)對原數(shù)據(jù)的一個完全的備份。它可使用戶在正常不受影響的情況下,實時提取當(dāng)前在線業(yè)務(wù)數(shù)據(jù)。其“備份窗口”接近于零,可大大增加系統(tǒng)業(yè)務(wù)的連續(xù)性,為實現(xiàn)系統(tǒng)真正的7×24運轉(zhuǎn)提供了保證。
遠程復(fù)制技術(shù)往往同快照技術(shù)結(jié)合起來實現(xiàn)遠程備份,即先通過遠程復(fù)制技術(shù)把數(shù)據(jù)備份到遠程的存儲系統(tǒng)中,再用快照技術(shù)把遠程存儲系統(tǒng)中的信息備份到遠程的磁帶庫、光盤庫中。
1.3.3 基于SAN的互連技術(shù)
主點數(shù)據(jù)中心和備點數(shù)據(jù)中心之間的數(shù)據(jù)備份,可通過運用SAN的遠程復(fù)制技術(shù)來實現(xiàn)。目前,出現(xiàn)了多種基于IP的SAN的遠程數(shù)據(jù)容災(zāi)備份技術(shù)。它們是基于IP的SAN的互連協(xié)議,將主點數(shù)據(jù)中心SAN中的信息通過現(xiàn)有的TCP/IP網(wǎng)絡(luò),遠程復(fù)制到備援中心SAN中。當(dāng)備點數(shù)據(jù)中心存儲的數(shù)據(jù)量過大時,可利用快照技術(shù)將其備份到磁帶庫或光盤庫中。這種基于IP的SAN的遠程容災(zāi)備份可以跨越LAN、MAN和WAN。
1.3.4 虛擬存儲
虛擬存儲技術(shù)在系統(tǒng)彈性和可擴展性上開創(chuàng)了新的局面,它將幾個IDE或SCSI驅(qū)動器等不同的存儲設(shè)備串聯(lián)為一個存儲池。存儲集群的整個存儲容量可以分為多個邏輯卷,并作為虛擬分區(qū)進行管理。
2 容災(zāi)技術(shù)在城市軌道交通系統(tǒng)中的應(yīng)用
圖 1 容災(zāi)系統(tǒng)組成框圖
2.1 數(shù)據(jù)級容災(zāi)的實現(xiàn)
2.1.1 數(shù)據(jù)復(fù)制產(chǎn)品
容災(zāi)系統(tǒng)中的遠程數(shù)據(jù)復(fù)制產(chǎn)品選用Sybase 復(fù)制服務(wù)器RS(Replication Server)。該技術(shù)是Client/ Server環(huán)境下實現(xiàn)數(shù)據(jù)高可用性的一種方法。一個完整的復(fù)制服務(wù)器RS系統(tǒng)應(yīng)包括:主備點ASE ,RS(Replication server) , LTM(Log Transfer Manger) 或Rep Agent,RSSD(RS System Database),如圖2所示。RS的復(fù)制分為基于表的復(fù)制和數(shù)據(jù)庫的復(fù)制兩種。考慮到數(shù)據(jù)一致性維護的簡易性,采用基于數(shù)據(jù)庫整庫的復(fù)制模式。
圖2 sybase復(fù)制結(jié)構(gòu)示意圖
為不影響清算業(yè)務(wù)的正常運行,復(fù)制同步在非業(yè)務(wù)進行時間進行,其中主點復(fù)制器名為:PS,備點服務(wù)器名為:BS,復(fù)制服務(wù)器名為:ccds_rep,復(fù)制服務(wù)器系統(tǒng)數(shù)據(jù)庫名為:RSSD,預(yù)復(fù)制的數(shù)據(jù)庫名為:dt_center,復(fù)制同步過程如下:
1、停用主點數(shù)據(jù)庫dt_center的Rep agent 線程
isq1 -Usa -P -SPS
> use dt_center
> go
> sp_stop_rep_agent dt_center
> go
2、執(zhí)行忽略輔助截斷點操作,以免在復(fù)制未開啟時主點的日志堆積導(dǎo)致日志空間的不可用
> dbcc settrunc (‘ltm’,‘ignore’)
> go
3、 截斷主點數(shù)據(jù)庫dt_center的日志
dump tran dt_center with truncate_only
4、備份主點數(shù)據(jù)庫dt_center
dump database dt_center to‘/export/home/sybase/dt_center.dmp’
2.1.3 數(shù)據(jù)復(fù)制同步步驟
1、以單用戶模式重啟復(fù)制服務(wù)器
Startserver -f RUN_ccds_rep
2、清空復(fù)制服務(wù)器穩(wěn)定隊列中的數(shù)據(jù)
isq1 -Usa -P -Sccds_rep
> sysadmin sqm_purge_queue ,q number ,q type
> go
q number和q type的值使用admin who或admin who,sqm或admin who,sqt查找,其中:q type=0 表示出站隊列,q type=1 表示入站隊列。
3、登錄到復(fù)制系統(tǒng)數(shù)據(jù)庫,對主點數(shù)據(jù)庫執(zhí)行LTM清空操作
isql -Usa -SBS
> use ccds_rep_RSSD
> go
> rs_zeroltm PS,dt_center
2> go
4、關(guān)閉復(fù)制服務(wù)器
isq1 -Usa -P -Sccds_rep
> shutdown
> go
5、在復(fù)制點裝載(load) 主點dt_center數(shù)據(jù)庫的備份
> load database dt_center from‘/export/home/sybase/dt_center.dmp’
> go
6、以正常模式重啟復(fù)制服務(wù)器
Startserver -f RUN_ccds_rep
7、恢復(fù)主點數(shù)據(jù)庫的輔助截斷點
isq1 -Usa -P -SPS
> use dt_center
> go
> dbcc settrunc (‘ltm’,‘valid’)
> go
8、恢復(fù)主點數(shù)據(jù)庫的復(fù)制代理
> sp_start_rep_agent dt_center
> go
2.1.4 復(fù)制同步后續(xù)工作
數(shù)據(jù)復(fù)制同步后,查看相關(guān)DSI和Agent是否已經(jīng)UP,并進行復(fù)制測試,根據(jù)復(fù)制日志及時排錯,確保復(fù)制功能成功啟用。
復(fù)制技術(shù)作為Sybase數(shù)據(jù)庫系統(tǒng)的關(guān)鍵技術(shù)之一,采用傳遞事務(wù)而不是數(shù)據(jù)行的復(fù)制機制,這樣可以大大減少數(shù)據(jù)的傳送量,并能夠有效地保證數(shù)據(jù)一致性、可靠性。通過以上的操作,實現(xiàn)了容災(zāi)系統(tǒng)中數(shù)據(jù)級的容災(zāi)。
2.2 應(yīng)用級容災(zāi)的實現(xiàn)
在建立了以上數(shù)據(jù)級容災(zāi)的基礎(chǔ)上,在異地容災(zāi)中心建立一套完整的與主點數(shù)據(jù)中心系統(tǒng)相同的關(guān)鍵業(yè)務(wù)應(yīng)用系統(tǒng),確保在災(zāi)難情況下,遠程系統(tǒng)能迅速接管業(yè)務(wù)運行。
3 小結(jié)
建立性能穩(wěn)定的災(zāi)備中心并不意味著從此可以高枕無憂,還必須要制定災(zāi)備的管理制度。廣州地鐵清分中心從容災(zāi)系統(tǒng)的基礎(chǔ)理論出發(fā),構(gòu)建滿足信息系統(tǒng)性能要求的容災(zāi)系統(tǒng)的同時相應(yīng)制定了一系列日常備份制度和災(zāi)難恢復(fù)措施,如災(zāi)備恢復(fù)流程,并在實踐中不斷進行評估、演練并加以完善,以保證災(zāi)備不僅僅是形式上的內(nèi)容,能真正意義上確保主點故障情況下業(yè)務(wù)的連續(xù)性。
參考文獻
[1] 單桂軍,容災(zāi)技術(shù)在校園網(wǎng)絡(luò)信息中心安全中的應(yīng)用與研究[J].太原師范學(xué)院學(xué)報(自然科學(xué)版),2006,9(5):40-43
[2] 楊曉紅,李健,楊衛(wèi)國.信息系統(tǒng)容災(zāi)技術(shù)的分析與研究[J].計算機工程與設(shè)計,2005,10(10):2727-2729
[3] 李兆玉,韋世紅,李鶇.容災(zāi)系統(tǒng)的建設(shè)方案研究[J].重慶郵電學(xué)院學(xué)報(自然科學(xué)版),2005,8(4):478-482
[4] 王渝次.信息系統(tǒng)災(zāi)難恢復(fù)的規(guī)劃及實施[M].北京:北京交通大學(xué)出版社,2006
[5] 朱躍龍,洪筱菡.Sybase Replication Server12. 0 的復(fù)制服務(wù)器技術(shù)研究及應(yīng)用[J]. 計 算 機 與 現(xiàn) 代 化,2002,12,59-62