殷錫亮
摘 要:文章提出了在專用數(shù)字通信網(wǎng)絡(luò)中使用虛擬數(shù)據(jù)庫的必要性,并設(shè)計(jì)了基于專用數(shù)字通信網(wǎng)絡(luò)三層架構(gòu)中各層應(yīng)用的虛擬數(shù)據(jù)庫,屏蔽了物理數(shù)據(jù)庫對(duì)上層軟件設(shè)計(jì)的限制,提出了在專網(wǎng)通信系統(tǒng)中的一種分布式數(shù)據(jù)庫架構(gòu)設(shè)計(jì),設(shè)計(jì)了傳輸數(shù)據(jù)的兩種方式,最后通過一個(gè)數(shù)據(jù)傳輸過程的舉例描述了網(wǎng)元間數(shù)據(jù)交換的典型流程。
關(guān)鍵詞:專用數(shù)字通信網(wǎng)絡(luò);虛擬數(shù)據(jù)庫;分布式數(shù)據(jù)庫架構(gòu)
引言
專用數(shù)字通信網(wǎng)是專用模擬通信網(wǎng)的數(shù)字化替代產(chǎn)物,它除了具備個(gè)人移動(dòng)通信的全部功能,它還能控制與實(shí)現(xiàn)個(gè)人與群體間任意通信,保密性高,功能豐富,真正全面實(shí)現(xiàn)了通訊的智能化,一個(gè)成熟的專用數(shù)字集群通信網(wǎng)用戶數(shù)量比較龐大,系統(tǒng)管理這些用戶就需要用到數(shù)據(jù)庫,傳統(tǒng)的數(shù)據(jù)集中式管理一旦數(shù)據(jù)庫損壞,恢復(fù)期間必將影響系統(tǒng)的正常運(yùn)行,給用戶帶來通信中斷。專用數(shù)字集群網(wǎng)絡(luò)需要采用分布式數(shù)據(jù)管理,其3層架構(gòu)網(wǎng)絡(luò)單元各自擁有數(shù)據(jù)庫,出現(xiàn)故障不相互影響,還能繼續(xù)保持通訊不間斷,對(duì)于每個(gè)網(wǎng)絡(luò)單元必須采用不同的物理數(shù)據(jù)庫實(shí)現(xiàn),這就對(duì)數(shù)據(jù)庫上層的管理單元的開發(fā)維護(hù)帶來困難,引入虛擬數(shù)據(jù)庫后,上層軟件管理單元不需要關(guān)心物理數(shù)據(jù)庫接口,直接調(diào)用虛擬數(shù)據(jù)庫接口,即可輕松地完成數(shù)據(jù)庫的管理,而且無需由于客戶使用其它物理數(shù)據(jù)庫引起的變動(dòng)而改動(dòng)。文章對(duì)分布式數(shù)據(jù)庫架構(gòu)以及虛擬數(shù)據(jù)庫的實(shí)現(xiàn)設(shè)計(jì)進(jìn)行了描述分析。
1 分布式數(shù)據(jù)庫架構(gòu)
一個(gè)可以覆蓋一個(gè)省級(jí)地域的專用無線通信網(wǎng)絡(luò)架構(gòu)可以設(shè)計(jì)為圖1,由3級(jí)網(wǎng)絡(luò)單元組成,分布在省會(huì)城市的網(wǎng)絡(luò)中心處理單元,分布在省會(huì)城市的各個(gè)區(qū)中心、各個(gè)地級(jí)市的基站控制器,調(diào)度臺(tái)服務(wù)器,網(wǎng)管服務(wù)器網(wǎng)絡(luò)單元,分布在各個(gè)街道的基站,網(wǎng)管客戶端,調(diào)度臺(tái)客戶端網(wǎng)絡(luò)單元。對(duì)應(yīng)著每層的網(wǎng)絡(luò)單元有自己的數(shù)據(jù)庫用來存儲(chǔ)不同的用戶數(shù)據(jù),在一級(jí)網(wǎng)絡(luò)單元中心數(shù)據(jù)庫保存全網(wǎng)的數(shù)據(jù),2、3級(jí)網(wǎng)絡(luò)單元保存經(jīng)常在本地?zé)o線覆蓋范圍內(nèi)的用戶設(shè)備數(shù)據(jù)。此優(yōu)點(diǎn)是一個(gè)節(jié)點(diǎn)單元出現(xiàn)故障,不影響整網(wǎng)的處理流程,缺點(diǎn)是如需做不同節(jié)點(diǎn)的join操作,必須在上級(jí)節(jié)點(diǎn)網(wǎng)元操作。
2 虛擬數(shù)據(jù)庫設(shè)計(jì)
基站網(wǎng)元需要對(duì)數(shù)據(jù)的各種操作方式作出快速的響應(yīng),以及用戶信息的固化存儲(chǔ),防止斷電后引起的數(shù)據(jù)丟失,基站的系統(tǒng)資源有限制,不能選用耗費(fèi)系統(tǒng)資源的物理數(shù)據(jù)庫,專用通信網(wǎng)絡(luò)使用SQLite數(shù)據(jù)庫,集成了內(nèi)存的高效操作以及支持物理存儲(chǔ),無需安裝,應(yīng)用廣,商用性好?;究刂破鳎{(diào)度臺(tái)服務(wù)器,網(wǎng)管服務(wù)器等網(wǎng)元需要存儲(chǔ)各種不同的用戶信息以及呼叫服務(wù)信息,計(jì)費(fèi)信息等各種海量數(shù)據(jù),它們對(duì)操作數(shù)據(jù)的反應(yīng)時(shí)間沒有很嚴(yán)格的需求,但對(duì)數(shù)據(jù)庫存儲(chǔ)能力有較大的需求,可以采用應(yīng)用比較廣泛的MySQL數(shù)據(jù)庫。一級(jí)網(wǎng)元,作為整網(wǎng)的數(shù)據(jù)存儲(chǔ)以及處理中心,數(shù)據(jù)量以及數(shù)據(jù)安全性是需要首先考慮的問題,Oracle是最值得信賴的大型關(guān)系型數(shù)據(jù)庫。虛擬數(shù)據(jù)庫使上層軟件開發(fā)人員無需關(guān)心任何物理數(shù)據(jù)庫接口,只需要使用虛擬數(shù)據(jù)庫提供的一套接口,即可自由靈活進(jìn)行數(shù)據(jù)的管理操作。
2.1 虛擬數(shù)據(jù)庫的基本操作
數(shù)據(jù)庫的基本操作分為插入,更新,刪除,查詢,針對(duì)每張表的操作方式,也是基于基本的四類操作,根據(jù)操作條件進(jìn)行操作,總可以將數(shù)據(jù)轉(zhuǎn)化成SQL語句進(jìn)行操作。
2.2 虛擬數(shù)據(jù)庫的實(shí)現(xiàn)
虛擬數(shù)據(jù)庫操作的底層接口是各種物理數(shù)據(jù)庫提供的API,虛擬數(shù)據(jù)庫需要將這些API集中地封裝起來,并根據(jù)用戶的需求選擇使用。封裝結(jié)構(gòu)可以如下所示:
示例中僅封裝了幾個(gè)常用的數(shù)據(jù)庫API,也可以根據(jù)需求追加定義其他API進(jìn)入封裝結(jié)構(gòu),也可以根據(jù)用戶需求隨時(shí)將其他數(shù)據(jù)庫API封裝進(jìn)來。
3 數(shù)據(jù)下發(fā)過程
3.1 數(shù)據(jù)正常下發(fā)過程
(1)底層網(wǎng)元首先向上層網(wǎng)元上報(bào)數(shù)據(jù)資源審計(jì)請(qǐng)求,并將底層網(wǎng)元的數(shù)據(jù)標(biāo)識(shí)(通常為MD5校驗(yàn)碼)帶給上層網(wǎng)元。(2)計(jì)算底層網(wǎng)元數(shù)據(jù)審計(jì)標(biāo)識(shí),判斷底層數(shù)據(jù)是否與上層網(wǎng)元數(shù)據(jù)一致,如果一致,發(fā)送數(shù)據(jù)審計(jì)結(jié)果正確給底層網(wǎng)元,否則發(fā)送數(shù)據(jù)不一致給底層網(wǎng)元。(3)根據(jù)結(jié)果判斷,如果無需同步,向上層網(wǎng)元發(fā)送數(shù)據(jù)審計(jì)流程結(jié)束,如果需要同步,向上層網(wǎng)元發(fā)送數(shù)據(jù)請(qǐng)求,數(shù)據(jù)請(qǐng)求中包含請(qǐng)求數(shù)據(jù)表,以及數(shù)據(jù)指針,用于標(biāo)識(shí)上次請(qǐng)求到的數(shù)據(jù)位置。(4)按照請(qǐng)求數(shù)據(jù),從數(shù)據(jù)庫中取出數(shù)據(jù),以及數(shù)據(jù)指針,封裝進(jìn)數(shù)據(jù)下發(fā)包。(5)數(shù)據(jù)循環(huán)向下層網(wǎng)元發(fā)送,直到底層網(wǎng)元不在請(qǐng)求數(shù)據(jù)為止,同時(shí)底層網(wǎng)元上報(bào)數(shù)據(jù)審計(jì)流程結(jié)束,完成數(shù)據(jù)下發(fā)過程。
3.2 數(shù)據(jù)異常下發(fā)過程
(1)底層網(wǎng)元在無法打開本地的數(shù)據(jù)庫情況下,判斷為本地?cái)?shù)據(jù)庫已經(jīng)損壞,向上層網(wǎng)元發(fā)送數(shù)據(jù)庫崩潰通知。(2)生成下層網(wǎng)元的數(shù)據(jù)庫,根據(jù)網(wǎng)元類型,通過FTP向底層網(wǎng)元發(fā)送數(shù)據(jù)庫文件或者數(shù)據(jù)文件。(3)底層網(wǎng)元接收完成數(shù)據(jù)庫后,打開數(shù)據(jù)庫,上報(bào)數(shù)據(jù)資源審計(jì)請(qǐng)求。
4 結(jié)束語
每個(gè)通信系統(tǒng)都有自身特點(diǎn),設(shè)計(jì)出一個(gè)適用于本系統(tǒng)的數(shù)據(jù)庫架構(gòu),將極大提高系統(tǒng)對(duì)數(shù)據(jù)的處理能力,同時(shí)不會(huì)降低系統(tǒng)的運(yùn)營速度,虛擬數(shù)據(jù)庫涉及到數(shù)據(jù)庫技術(shù),操作系統(tǒng),計(jì)算機(jī)通信等多方面知識(shí),是一項(xiàng)復(fù)雜的工作,需要在實(shí)踐中不斷創(chuàng)新發(fā)展。
參考文獻(xiàn)
[1]何雄,等.Oracle Spatial 與OCI高級(jí)編程[M].中國鐵道出版社,2006,4.
[2]Dharma Prakash Agrawal Qing-An Zeng.徐春秀,武穆清,等譯.無線與移動(dòng)通信系統(tǒng)[M].人民郵電出版社,2005,10.
[3][美] W.Richard Stevens Stephen A. Rago著.尤晉元,張亞英,戚正偉譯.UNIX環(huán)境高級(jí)編程[M].人民郵電出版社,2008,8.
[4]嚴(yán)蔚敏,吳偉民.數(shù)據(jù)結(jié)構(gòu)(C語言)[M].清華大學(xué)出版社,2007.
[5]張俐,等.C語言高級(jí)程序設(shè)計(jì)[M].清華大學(xué)出版社,2006.