奚煒弘 李晴飛
摘要:隨著衛(wèi)星通信技術(shù)的發(fā)展,衛(wèi)星通信終端得到了大量的普及和應(yīng)用,這也使得遠(yuǎn)程維護(hù)成為衛(wèi)星通信系統(tǒng)的一個(gè)重要細(xì)成部分。文章通過對(duì)網(wǎng)橋、B/S架構(gòu)的分析研究,設(shè)計(jì)了一種基于B/S架構(gòu)的衛(wèi)星地球站遠(yuǎn)程維護(hù)方案。
關(guān)鍵詞:衛(wèi)星通信;B/S;網(wǎng)橋
隨著空間技術(shù)和電子技術(shù)的發(fā)展,衛(wèi)星通信技術(shù)得到了不斷的發(fā)展,移動(dòng)衛(wèi)星通信系統(tǒng)開始受到TM門廣泛的關(guān)注和應(yīng)用。衛(wèi)星通信以其覆蓋區(qū)域大、通信距離遠(yuǎn)、機(jī)動(dòng)靈活、不受陸地災(zāi)害影響等眾多優(yōu)勢(shì),開始進(jìn)入各個(gè)領(lǐng)域,并在其中占據(jù)了重要的份額。在大量衛(wèi)星終端的普及和應(yīng)用的同時(shí),終端的維護(hù)方式也必然開始成為衛(wèi)星通信系統(tǒng)的一個(gè)重要研究方向。
傳統(tǒng)的衛(wèi)星地球站現(xiàn)場(chǎng)維護(hù)方式,通常是當(dāng)客戶的設(shè)備產(chǎn)生故障之后,通知設(shè)備廠家,此時(shí)設(shè)備廠家才會(huì)派出工程師到現(xiàn)場(chǎng)為客戶解決問題。這樣的方式會(huì)引起客戶的設(shè)備長(zhǎng)時(shí)間無法使用,從而降低客戶滿意度,并且耗費(fèi)大量的人員時(shí)間和出差費(fèi)用。
本文通過對(duì)衛(wèi)星鏈路轉(zhuǎn)地面網(wǎng)絡(luò)的方式和維護(hù)平臺(tái)系統(tǒng)架構(gòu)的分析研究,設(shè)計(jì)了一種基于B/S架構(gòu)的衛(wèi)星地球站遠(yuǎn)程維護(hù)方案,該方案可大幅度降低維護(hù)成本,減少用戶損失。
1.衛(wèi)星鏈路轉(zhuǎn)地面網(wǎng)絡(luò)設(shè)計(jì)
在衛(wèi)星地球站遠(yuǎn)程維護(hù)方案的設(shè)計(jì)中,需要將衛(wèi)星鏈路轉(zhuǎn)換為地面網(wǎng)絡(luò),在轉(zhuǎn)換的過程中,需要注意以下幾點(diǎn)。
(1)不能改變收到的幀的內(nèi)容和格式,也不能在幀的外部添加任何內(nèi)容。每一個(gè)要傳輸?shù)膸瑧?yīng)該是簡(jiǎn)單地從衛(wèi)星鏈路中復(fù)制出來,并原封不動(dòng)地送給地面網(wǎng)絡(luò),反之亦然;(2)需要有足夠的緩存空間以滿足峰值的需要;(3)具有數(shù)據(jù)過濾功能,解決循環(huán)回路。
通過上述分析可以發(fā)現(xiàn)使用網(wǎng)橋模式是最優(yōu)的選擇。在衛(wèi)星通信中,網(wǎng)橋的功能是將從地面網(wǎng)絡(luò)接收到的數(shù)據(jù)幀進(jìn)行緩存,分析該幀的目的MAC地址,如果MAC地址屬于另一端網(wǎng)絡(luò)時(shí),則通過衛(wèi)星鏈路進(jìn)行轉(zhuǎn)發(fā)。如圖1所示,同樣當(dāng)接收到衛(wèi)星鏈路的數(shù)據(jù)幀時(shí),將數(shù)據(jù)幀進(jìn)行緩存,分析該幀的目的MAC地址,如果MAC地址屬于本端網(wǎng)絡(luò),則轉(zhuǎn)發(fā)到本地網(wǎng)絡(luò)。
在對(duì)衛(wèi)星通信中網(wǎng)橋工作原理進(jìn)行分析后,發(fā)現(xiàn)可以利用libnet和libpcap的編程接口以軟件的方式來實(shí)現(xiàn)。libnet和libpcap都是Unix/Linux平臺(tái)下用c語(yǔ)言實(shí)現(xiàn)的API library,它們都擁有很高的可移植性,可以移植到VxWorks,Windows等平臺(tái)下使用。其中l(wèi)ibnet提供了數(shù)據(jù)包的構(gòu)造和發(fā)送功能,libpcap則提供了數(shù)據(jù)包捕獲的功能。
實(shí)現(xiàn)網(wǎng)橋功能,libnet庫(kù)需要調(diào)用以下函數(shù):
(1)初始化。
libnet_t*libnet_init(int injection_type,char*device,char*err_buf);
(2)數(shù)據(jù)包發(fā)送。
mt hbnet wnte(hbnet_t*);
(3)資源釋放。
void libnet_destroy(libnet_t*);
libpcap庫(kù)需要調(diào)用以下函數(shù):
(4)初始化。
pcap_t*pcap_open_live(const char*device,intsnaplen,int promisc,int to_ms,char*errbuf);
(5)數(shù)據(jù)包捕獲。
int pcap_loop(pcap_t*p,int cnt,pcap_handlercallback u_char*user);
(6)資源釋放。
void pcap_close(pcap_t*p);
當(dāng)衛(wèi)星鏈路建立后,通過調(diào)用libnet和libpcap的編程接口函數(shù)將衛(wèi)星鏈路轉(zhuǎn)換為地面網(wǎng)路,以網(wǎng)橋的方式將兩個(gè)使用相同MAC協(xié)議的局域網(wǎng)相連,最終達(dá)到維護(hù)平臺(tái)遠(yuǎn)程登陸維護(hù)的目的。
2.維護(hù)平臺(tái)系統(tǒng)架構(gòu)選擇
目前,主流體系架構(gòu)為B/S和C/S兩種。B/S架構(gòu)的全稱為Browser/Server,即瀏覽器/服務(wù)器架構(gòu)。Browser指的是web瀏覽器,極少數(shù)事務(wù)邏輯在前端實(shí)現(xiàn),主要事務(wù)邏輯在服務(wù)器端實(shí)現(xiàn),由Browser客戶端,WebApp服務(wù)器端和DB端構(gòu)成三層架構(gòu)。C/S架構(gòu)是一種典型的兩層架構(gòu),其全稱是Client/Server,即客戶端/服務(wù)器端架構(gòu)。其客戶端包含一個(gè)或多個(gè)在用戶的電腦上運(yùn)行的程序,而服務(wù)器端建立數(shù)據(jù)庫(kù)服務(wù)器或Socket服務(wù)器,允許客戶端通過數(shù)據(jù)庫(kù)連接訪問服務(wù)器端的數(shù)據(jù);或客戶端通過與服務(wù)端的Socket通信獲取數(shù)據(jù)。
在本遠(yuǎn)程維護(hù)方案中,選擇B/S架構(gòu)擁有以下幾個(gè)優(yōu)勢(shì):
(1)采用分布式系統(tǒng)設(shè)計(jì),安全性更高。從程序運(yùn)行安全角度考慮,在衛(wèi)星地球站中,通信App和維護(hù)App是兩個(gè)獨(dú)立的程序,兩個(gè)App的運(yùn)行互不干擾,實(shí)現(xiàn)了運(yùn)行的隔離。從數(shù)據(jù)調(diào)用角度考慮,通信hpp和維護(hù)App所使用的數(shù)據(jù)在不同的內(nèi)存中,實(shí)現(xiàn)數(shù)據(jù)的隔離。運(yùn)行的隔離和數(shù)據(jù)的隔離保證了衛(wèi)星地球站的使用更加可靠和安全。
(2)操作靈活便利。B/S架構(gòu)的特點(diǎn)決定了只需要一個(gè)衛(wèi)星地球站和普通計(jì)算機(jī),就可以在任何地方進(jìn)行遠(yuǎn)程維護(hù),無需為計(jì)算機(jī)安裝任何客戶端,也不需要考慮計(jì)算機(jī)的硬件配置。
(3)開發(fā)成本低。在B/S架構(gòu)中只需要開發(fā)服務(wù)器端的WebApp,無需像C/S架構(gòu)一樣開發(fā)服務(wù)器端的App和客戶端的App,這樣節(jié)約了開發(fā)成本。
(4)共享性好。B/S架構(gòu)允許多個(gè)Browser客戶端同時(shí)登陸服務(wù)器端,可以對(duì)衛(wèi)星地球站出現(xiàn)的故障問題進(jìn)行會(huì)診。
3.方案總體設(shè)計(jì)
衛(wèi)星地球站遠(yuǎn)程維護(hù)方案模型由3部分組成,如圖2所示。
衛(wèi)星:提供轉(zhuǎn)發(fā)功能,實(shí)現(xiàn)兩個(gè)地球站衛(wèi)星鏈路建立的功能。
維護(hù)平臺(tái):由一臺(tái)衛(wèi)星地球站和一臺(tái)普通計(jì)算機(jī)組成。衛(wèi)星地球站用來與故障設(shè)備建立衛(wèi)星鏈路,并提供衛(wèi)星鏈路轉(zhuǎn)網(wǎng)絡(luò)鏈路的功能;普通計(jì)算機(jī)通過網(wǎng)絡(luò)與衛(wèi)星地球站相連,通過Web瀏覽器登錄故障設(shè)備。
故障設(shè)備:故障設(shè)備與維護(hù)平臺(tái)的連接支持兩種方式,一是直接通過衛(wèi)星鏈路建立連接,二是使用地面網(wǎng)絡(luò)通過中繼設(shè)備建立連接。
這種設(shè)計(jì)方案支持以下兩種情況的遠(yuǎn)程維護(hù)。
(1)當(dāng)故障設(shè)備衛(wèi)星通信鏈路正常時(shí),維護(hù)平臺(tái)可以遠(yuǎn)程登陸設(shè)備進(jìn)行維護(hù)。例如:當(dāng)衛(wèi)星地球站B需要進(jìn)行遠(yuǎn)程維護(hù)并且衛(wèi)星通信鏈路正常時(shí),在衛(wèi)星地球站A與衛(wèi)星地球站B之間建立衛(wèi)星通信維護(hù)鏈路,將衛(wèi)星鏈路轉(zhuǎn)換成地面網(wǎng)絡(luò),通過維護(hù)平臺(tái)登陸衛(wèi)星地球站B,對(duì)衛(wèi)星地球站B進(jìn)行設(shè)備運(yùn)行監(jiān)控、參數(shù)設(shè)置和版本升級(jí)等操作,以達(dá)到遠(yuǎn)程維護(hù)的目的。
(2)當(dāng)故障設(shè)備出現(xiàn)衛(wèi)星通信路故障時(shí),可以將一臺(tái)衛(wèi)星通信鏈路正常的設(shè)備和故障設(shè)備組成網(wǎng)絡(luò),以衛(wèi)星通信鏈路正常的設(shè)備作為為中繼,讓維護(hù)平臺(tái)可以遠(yuǎn)程登陸故障設(shè)備進(jìn)行維護(hù)。例如:衛(wèi)星地球站C2星通信鏈路故障,衛(wèi)星地球站B衛(wèi)星通信鏈路正常。將衛(wèi)星地球站C和衛(wèi)星地球站B相連組成網(wǎng)絡(luò),衛(wèi)星地球站A與衛(wèi)星地球站B之間建立衛(wèi)星通信維護(hù)鏈路,以衛(wèi)星地球站B為中繼,通過維護(hù)平臺(tái)登陸衛(wèi)星地球站C,對(duì)衛(wèi)星地球站C進(jìn)行遠(yuǎn)程維護(hù)。
通過上述研究可以發(fā)現(xiàn),本方案的設(shè)計(jì)擁有以下幾個(gè)優(yōu)點(diǎn):
(1)實(shí)時(shí)監(jiān)控:定期與客戶建立衛(wèi)星通信維護(hù)鏈路,實(shí)時(shí)掌握客戶設(shè)備的使用情況,遠(yuǎn)程修改客戶設(shè)備的不合適配置參數(shù),保證客戶設(shè)備可以得到最優(yōu)的運(yùn)行,降低故障出現(xiàn)的概率。
(2)軟件版本控制:通過與客戶建立衛(wèi)星通信維護(hù)鏈路,掌握客戶設(shè)備中的軟件系統(tǒng)版本,可以遠(yuǎn)程對(duì)客戶設(shè)備中的軟件系統(tǒng)進(jìn)行升級(jí),避免了派專人去現(xiàn)場(chǎng)為用戶升級(jí)的情況。
(3)中繼功能:即使客戶設(shè)備出現(xiàn)衛(wèi)星通信鏈路故障,也可以通過使用一臺(tái)正常的設(shè)備作為中繼,完成遠(yuǎn)程維護(hù)功能。
4.結(jié)語(yǔ)
隨著衛(wèi)星通信終端的大量普及,傳統(tǒng)的現(xiàn)場(chǎng)維護(hù)方式不僅影響了用戶的體驗(yàn),也造成了公司維護(hù)成本的不必要開銷。本文設(shè)計(jì)了一種基于B/S架構(gòu)的衛(wèi)星地球站遠(yuǎn)程維護(hù)方案。在該方案中,B/S架構(gòu)的應(yīng)用,充分利用了分布式系統(tǒng)的特點(diǎn),保證了程序運(yùn)行和數(shù)據(jù)的獨(dú)立與安全,并且維護(hù)手段也更加方便靈活;遠(yuǎn)程維護(hù)的應(yīng)用,則使工程師不需要再親臨現(xiàn)場(chǎng),在本地就可以對(duì)遠(yuǎn)端的衛(wèi)星地球站進(jìn)行維護(hù),并根據(jù)維護(hù)的結(jié)果,判斷是否需要再進(jìn)行現(xiàn)場(chǎng)維護(hù)。該方案的設(shè)計(jì)實(shí)現(xiàn)了一種新的高效率、低成本的服務(wù)方式。