新聞中心

EEPW首頁 > 測(cè)試測(cè)量 > 設(shè)計(jì)應(yīng)用 > 網(wǎng)絡(luò)故障測(cè)試儀遠(yuǎn)程監(jiān)控軟件的設(shè)計(jì)

網(wǎng)絡(luò)故障測(cè)試儀遠(yuǎn)程監(jiān)控軟件的設(shè)計(jì)

作者: 時(shí)間:2013-02-05 來源:網(wǎng)絡(luò) 收藏
是指在網(wǎng)絡(luò)中由一臺(tái)設(shè)備(客戶端)通過軟件遠(yuǎn)距離監(jiān)視與控制目標(biāo)設(shè)備(服務(wù)器端)的技術(shù)。操作者可以監(jiān)視被控端設(shè)備的屏幕顯示,啟動(dòng)被控端設(shè)備應(yīng)用程序,執(zhí)行操作指令,獲取結(jié)果?,F(xiàn)代技術(shù)是實(shí)時(shí)在線的監(jiān)控方式,借助于計(jì)算機(jī)、網(wǎng)絡(luò)和通信技術(shù),具有控制功能強(qiáng)、操作簡(jiǎn)便和可靠性高等特點(diǎn)。

是基于Linux操作系統(tǒng)的嵌入式手持設(shè)備,主要用于測(cè)試現(xiàn)場(chǎng)、評(píng)估性能、提供專家解釋。專家親臨故障現(xiàn)場(chǎng)需要耗費(fèi)一定的時(shí)間和財(cái)力,遠(yuǎn)程監(jiān)控軟件可以幫助專家通過互聯(lián)網(wǎng)絡(luò)訪問遠(yuǎn)端的測(cè)試設(shè)備,了解網(wǎng)絡(luò)運(yùn)行參數(shù),給出解決方案,實(shí)現(xiàn)遠(yuǎn)程專家系統(tǒng)。遠(yuǎn)程監(jiān)控軟件將為便攜式提供有效的遠(yuǎn)程操作、監(jiān)控及遠(yuǎn)程技術(shù)支持能力。

1、遠(yuǎn)程監(jiān)控軟件的功能和結(jié)構(gòu)

1.1 軟件主要功能

網(wǎng)絡(luò)故障是一臺(tái)便攜式設(shè)備,通常接人需要測(cè)試的網(wǎng)絡(luò)中。遠(yuǎn)程監(jiān)控將為用戶提供在個(gè)人電腦上直接觀測(cè)網(wǎng)絡(luò)狀態(tài)的能力;同時(shí)當(dāng)網(wǎng)絡(luò)出現(xiàn)故障時(shí),也能為遠(yuǎn)程專家了解網(wǎng)絡(luò)故障,給出解決方案提供便利。因此,遠(yuǎn)程監(jiān)控軟件主要實(shí)現(xiàn)對(duì)異地測(cè)試儀的操作功能,顯示設(shè)備返回的狀態(tài);通過在設(shè)備間建立起的數(shù)據(jù)交換通道,實(shí)現(xiàn)雙向的數(shù)據(jù)通信。

遠(yuǎn)程監(jiān)控軟件實(shí)現(xiàn)在監(jiān)控時(shí),獲取客戶端發(fā)出的控制命令,控制服務(wù)器根據(jù)應(yīng)用層協(xié)議對(duì)命令解釋后執(zhí)行相應(yīng)的動(dòng)作,返回執(zhí)行結(jié)果;同時(shí)設(shè)置服務(wù)器根據(jù)用戶界面所需顯示參數(shù),定時(shí)執(zhí)行操作返回結(jié)果數(shù)據(jù)刷新界面。

1.2 軟件體系結(jié)構(gòu)

軟件功能分解到通信的兩個(gè)端點(diǎn)上,即客戶端和服務(wù)器端,采用Client/Server模式。這樣能提高設(shè)計(jì)的靈活性,易于系統(tǒng)的擴(kuò)展。服務(wù)器端集成在測(cè)試儀中,與設(shè)備的其他功能模塊協(xié)調(diào)工作,為客戶端提供執(zhí)行共享資源的管理應(yīng)用程序人口;客戶端則提供交互界面及結(jié)果顯示;數(shù)據(jù)交換通道的建立由雙方的數(shù)據(jù)通信模塊負(fù)責(zé)。從而實(shí)現(xiàn)點(diǎn)到點(diǎn)的直接控制監(jiān)控,滿足實(shí)時(shí)性要求。軟件體系結(jié)構(gòu)如圖1所示。


圖1 系統(tǒng)體系結(jié)構(gòu)

① 客戶端的主要功能模塊為:消息輸入/顯示模塊,通信管理模塊。消息輸入模塊負(fù)責(zé)將用戶界面的按鈕事件傳送到通信模塊,通信模塊將命令信息發(fā)送到受控端;受控端執(zhí)行操作后返回的成功或失敗信息交由客戶端消息顯示模塊根據(jù)信息的格式進(jìn)行顯示。

② 服務(wù)器端的主要功能模塊為:通信管理模塊,命令解釋模塊,函數(shù)調(diào)用模塊。服務(wù)器處于偵聽狀態(tài), 一旦接收到合法的連接請(qǐng)求,則建立信號(hào)通路,通過通信管理模塊接收客戶端發(fā)來的命令信息,經(jīng)解釋模塊解釋后,調(diào)用函數(shù)執(zhí)行相應(yīng)的指令,并將結(jié)果返回到客戶端。

2、遠(yuǎn)程監(jiān)控軟件設(shè)計(jì)

2.1 消息輸入/顯示模塊實(shí)現(xiàn)

客戶端輸入/顯示模塊的開發(fā)采用Visual C++,利用模塊化、通用性強(qiáng)的特點(diǎn),實(shí)現(xiàn)遠(yuǎn)程監(jiān)控中用戶界面的編寫。用戶顯示界面保持與設(shè)備界面的一致,方便用戶操作。

2.2 通信模塊實(shí)現(xiàn)

(1) Socket編程

數(shù)據(jù)通信模塊中的數(shù)據(jù)通道建立采用Socket編程。Socket支持TCP/IP協(xié)議網(wǎng)絡(luò)通信的基本操作;它屏蔽了網(wǎng)絡(luò)底層的通信細(xì)節(jié),使編程簡(jiǎn)單;它對(duì)通信端點(diǎn)進(jìn)行了抽象,提供發(fā)送和接收數(shù)據(jù)機(jī)制及打開、計(jì)算和關(guān)閉會(huì)話的能力。本項(xiàng)目中,客戶端運(yùn)行在Windows操作平臺(tái)下,采用WinSock來編程實(shí)現(xiàn)命令和數(shù)據(jù)信息的傳輸;而服務(wù)端運(yùn)行在Linux操作平臺(tái)下,通信直接使用Socket編程實(shí)現(xiàn)。

(2) 通信建立

服務(wù)器與客戶端開始都必須調(diào)用socket()函數(shù)產(chǎn)生一個(gè)Socket套接字;然后服務(wù)器調(diào)用bind()函數(shù),將套接字與本地網(wǎng)絡(luò)地址捆扎在一起,在網(wǎng)絡(luò)上標(biāo)志該套接字;只有當(dāng)服務(wù)器執(zhí)行完accept()進(jìn)入監(jiān)聽模式、阻塞狀態(tài)后,才能接收客戶端的connect()請(qǐng)求并決定是否接收數(shù)據(jù);建立連接后,客戶端與服務(wù)器之間便可以雙向傳輸數(shù)據(jù)。服務(wù)器主要通信代碼:

listenfd=socket(AF—INET,SOCK—STREAM,0)
bind(1istenfd,(SOCKADDR %)sockaddr—echo,sizeof(struct sockaddr_in))
echofd=accept(1istenfd,(SOCKADDR %)(sockaddrcli),sizeof(SOCKADDR));
while((read—n=read(echofd,revbuf,BUFLEN))0)
{.一//指令解釋與函數(shù)調(diào)用}
if((write—n=write(echofd,okbuf,strlen(sendbuff)))0)
{.一//將結(jié)果返回給客戶端}

其中,客戶端與服務(wù)器間制定統(tǒng)一的數(shù)據(jù)通信協(xié)議,所有的數(shù)據(jù)和指令信息統(tǒng)一編碼,編碼格式為:命令代碼:數(shù)據(jù)部分(各數(shù)據(jù)之間用#分隔)。在傳輸用戶密碼時(shí),采用事先約定好的數(shù)據(jù)加密密匙,以防明文形式傳輸造成的信息泄漏。


上一頁 1 2 下一頁

評(píng)論


相關(guān)推薦

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

關(guān)閉