嵌入WWW服務(wù)功能的通信線路實時狀態(tài)信息監(jiān)視系統(tǒng)的設(shè)計與實現(xiàn)
近年來,Internet已經(jīng)成為現(xiàn)代生活中不可缺少的一部分。隨著被廣泛應(yīng)用的全球信息網(wǎng)(Wide World Web)的發(fā)展和Web瀏覽器,在應(yīng)用系統(tǒng)設(shè)計時使用HTTP協(xié)議和HTML標準嵌入WWW服務(wù)功能,使應(yīng)用系統(tǒng)與Web連接起來,這樣任何一個有標準Web瀏覽器的客戶都可以通過Web瀏覽器直接訪問該應(yīng)用系統(tǒng),而無需安裝專門的客戶端軟件,這給客戶的訪問帶來方便。
這里設(shè)計的通信線路實時狀態(tài)信息監(jiān)視系統(tǒng)主要是對多路通信線路的收電平、發(fā)電平及誤碼率指標進行實時測試,并通過網(wǎng)絡(luò)將實時測試結(jié)果送到相應(yīng)的各級客戶;各級客戶通過Web瀏覽器選擇所關(guān)心的線路及各類參數(shù),并依據(jù)權(quán)限對應(yīng)用系統(tǒng)進行相應(yīng)的遠程控制。
1 系統(tǒng)設(shè)計方法
1.1 系統(tǒng)構(gòu)成
本系統(tǒng)主要由數(shù)據(jù)采集子系統(tǒng)、信息表現(xiàn)子系統(tǒng)和數(shù)據(jù)處理子系統(tǒng)三部分構(gòu)成。其系統(tǒng)構(gòu)成如圖1所示。
數(shù)據(jù)采集子系統(tǒng)主要由收電平測量板、發(fā)電平測量板和誤碼測量板三個部分組成。在信息處理器的控制下,測量板對各路通信線路的各方面指標進行測量之后,送到信息處理器進行處理。
信息表現(xiàn)子系統(tǒng)主要由本地監(jiān)視、控制平臺和內(nèi)、外部網(wǎng)絡(luò)構(gòu)成。本地客戶通過本地監(jiān)視來控制平臺監(jiān)視整個系統(tǒng)的通信線路實時狀態(tài)信息和系統(tǒng)的工作狀態(tài),設(shè)置網(wǎng)絡(luò)客戶的權(quán)限,根據(jù)需要對系統(tǒng)進行配置和維護;網(wǎng)絡(luò)客戶則根據(jù)自己所擁有的權(quán)限通過Web瀏覽器監(jiān)視應(yīng)用系統(tǒng)中通信線路的實時狀態(tài)信息,向系統(tǒng)發(fā)送遠程控制命令。
數(shù)據(jù)處理子系統(tǒng)是信息處理的核心,它主要由信息處理器、多串口卡和網(wǎng)絡(luò)卡等組成。一方面控制著數(shù)據(jù)采集子系統(tǒng)各采集板的數(shù)據(jù)采集,接收并處理采集板發(fā)送來的數(shù)據(jù),并根據(jù)處理后的數(shù)據(jù)和主頁模板生成公共數(shù)據(jù)主頁;另一方面也響應(yīng)本地客戶和網(wǎng)絡(luò)客戶的請求,根據(jù)客戶的請求進行相應(yīng)的處理、顯示和控制。
1.2 嵌入WWW服務(wù)功能的實現(xiàn)
在應(yīng)用系統(tǒng)中嵌入WWW服務(wù)功能需要完成動態(tài)主頁的實時生成和埂偵聽應(yīng)答客戶請求這兩個方面的工作即可,其具體實現(xiàn)流程如圖2所示。
1.2.1 動態(tài)主頁生成過程
動態(tài)主頁生成的具體過程如下:
(1)主頁模板的生成。
根據(jù)客戶顯示的需求,采用HTML標準,創(chuàng)建在Web瀏覽器上可以瀏覽的主頁模板。對于主頁模板中需要實時更新的數(shù)據(jù)和根據(jù)客戶需求可能會改變的數(shù)據(jù),采用相應(yīng)的變量代替。
(2)公共數(shù)據(jù)主頁的生成。
應(yīng)用系統(tǒng)啟動后,將事先生成的主頁模板加載到內(nèi)存中,根據(jù)系統(tǒng)的配置,對部分公共變量用實際的內(nèi)容(如各路通信線路的名稱等)進行替換,生成公共數(shù)據(jù)主頁。
(3)更新數(shù)據(jù)的生成。
系統(tǒng)通過各類數(shù)據(jù)采集板采集各路通信線路中實時變化的接收電壓、發(fā)送電壓和誤碼等數(shù)據(jù),并將這些采集的數(shù)據(jù)實時送到數(shù)據(jù)處理器進行處理,生成客戶需要的收電平、發(fā)電平和誤碼率等實時更新數(shù)據(jù)。
(4)公共數(shù)據(jù)主頁的實時更新。
數(shù)據(jù)處理器生成實時更新的數(shù)據(jù)后,將公共數(shù)據(jù)主頁中該數(shù)據(jù)的對應(yīng)項進行更新替換,實現(xiàn)公共數(shù)據(jù)主頁的實時更新。
(5)客戶數(shù)據(jù)主頁的生成。
當(dāng)應(yīng)用系統(tǒng)收到客戶請求的消息后,根據(jù)客戶的權(quán)限和需求對公共數(shù)據(jù)主頁中需要保密、限制的內(nèi)容以及客戶主頁的刷新頻率進行更新處理,為各級別的客戶生成各自的客戶數(shù)據(jù)主頁。數(shù)據(jù)處理后對于不同客戶的同一請求,發(fā)送的客戶主頁信息就可能不同。
1.2.2 應(yīng)答客戶請求過程
應(yīng)答客戶請求的具體過程有如下七個步驟:
(1)偵聽客戶請求。
應(yīng)用系統(tǒng)啟動后首先初始化網(wǎng)絡(luò)設(shè)置,并在80端口打開一個被動的TCP連接,等待接受客戶的連接。
(2)創(chuàng)建客戶請求處理線程。
在收到客戶連接后,應(yīng)用系統(tǒng)為該客戶請求創(chuàng)建一個線程,用來解析、處理、應(yīng)答客戶的請求。
(3)解析客戶請求。
應(yīng)用系統(tǒng)根據(jù)請求消息的格式解讀請求消息,如果客戶所請求的動作不能實施或者URI無效,返回一個錯誤狀態(tài)并關(guān)閉該連接,否則對客戶進行安全控制。
(4)完全控制。
根據(jù)客戶的IP地址或者登錄信息,判別客戶的權(quán)限。如果客戶不具備所請求動作的權(quán)限則返回權(quán)限足信息開關(guān)閉該連接,否則對客戶請求進行處理,同時記錄請求內(nèi)容、時間等信息。
(5)處理客戶請求。
根據(jù)客戶的權(quán)限和請求,對構(gòu)建于內(nèi)存中的公共數(shù)據(jù)主頁信息進行進一步處理,生成客戶所需要的客戶數(shù)據(jù)主頁。
(6)應(yīng)答客戶請求。
對于客戶的請求為Get方式時,打開該URI所指定的被程序構(gòu)成建于內(nèi)存之口客戶數(shù)據(jù)主頁,在發(fā)送以前,應(yīng)用系統(tǒng)為客戶數(shù)據(jù)主頁建立一個適當(dāng)?shù)念}頭區(qū),其后放一個空白行,然后將該題頭區(qū)發(fā)送出去,最后發(fā)出客戶數(shù)據(jù)主頁。對于客戶的請求為Post方式時,根據(jù)解析后的信息對應(yīng)用系統(tǒng)進行相應(yīng)的設(shè)置和操作,實現(xiàn)客戶的遠程控制。
(7)關(guān)閉客戶連接,退出線制。
2 關(guān)鍵技術(shù)
2.1 處理客戶請求
2.1.1 客戶請求
當(dāng)客戶通過Web瀏覽器向應(yīng)用系統(tǒng)發(fā)出請求時,需要指定一個全球資源定位器(URL)。URL是某個特定資源的Web名,用于定位Internet上面的資源,一個URL的基本格式為:
協(xié)議://主機名[:端口]/路徑
Web瀏覽器分析該URL,提取協(xié)議(這里是HTTP)、主機名以及全球資源路徑(URI),并使用提取的協(xié)議向具有該主機中的網(wǎng)絡(luò)主機發(fā)起連接。當(dāng)連接建立后,Web瀏覽器發(fā)送請求消息,該消息包括一些可選配的題頭,用于標識該客戶和列出可接受的資源類型。應(yīng)用系統(tǒng)發(fā)送響應(yīng)消息,該消息有一個狀態(tài)行,后隨一個或多個題頭,然后是所請求的資源。
2.1.2 解析客戶請求
對客戶請求的解析主要是應(yīng)用系統(tǒng)根據(jù)HTTP消息的格式,從請求消息中提取客戶請求的內(nèi)容,并發(fā)送響應(yīng)消息。HTTP消息是客戶發(fā)給應(yīng)用系統(tǒng)的請求或者由應(yīng)用系統(tǒng)傳給客戶的應(yīng)答,消息格式為:
Start-line(開始行)
Message-headers(消息題頭)
CR LF(換行回車符,即空一行)
Message-body(消息正文)
請求包括開始行,題頭和正文三部分。開始行一定要有,題頭和正文可有可無。在客戶傳給應(yīng)用系統(tǒng)的請求中,開始行就是請求行;在應(yīng)用系統(tǒng)的應(yīng)答中,則是狀態(tài)行。
請求行僅有一行文本,包括三個區(qū),以CR LF結(jié)束,格式如下:
Method 請求的URI HTTP版本
同上:
HTTP版本 狀態(tài)碼 原因說明文字
2.2 安全控制
應(yīng)用系統(tǒng)中增強客戶訪問安全性的方法主要采用密碼保護、身份限制、數(shù)據(jù)加密等。
2.2.1 密碼保護
當(dāng)客戶訪問應(yīng)用系統(tǒng)中需要安全保護的數(shù)據(jù)主頁,或者遠程進行可能對應(yīng)用系統(tǒng)造成危害和控制操作時,應(yīng)用系統(tǒng)就會要求客戶進行登錄。經(jīng)過應(yīng)用系統(tǒng)確認后,才會應(yīng)答客戶的請求。
2.2.2 身份限制
當(dāng)應(yīng)用系統(tǒng)接收到客戶發(fā)送來的請求后,將對客戶IP進行過濾處理,判斷合法IP地址的客戶權(quán)限;根據(jù)系統(tǒng)的設(shè)置,為每個客戶生成并發(fā)送相應(yīng)權(quán)限的客戶數(shù)據(jù)主頁,同時根據(jù)客戶的遠程控制權(quán)限響應(yīng)客戶對應(yīng)用系統(tǒng)的控制,向客戶發(fā)送控制后的結(jié)果信息。
2.3 動態(tài)控制數(shù)據(jù)發(fā)送
客戶想要實時檢測到這些實時采集的、不斷變化的的數(shù)據(jù),就要不間斷地向應(yīng)用系統(tǒng)及送頁而刷新請求,應(yīng)用系統(tǒng)根據(jù)客戶請求也不斷地向客戶實時發(fā)送最新的客戶數(shù)據(jù)網(wǎng)頁。當(dāng)客戶數(shù)量達到一定程度,就可能導(dǎo)致客戶數(shù)據(jù)網(wǎng)頁發(fā)送時間減慢,甚至引起系統(tǒng)崩潰。
一種叫動態(tài)控制客戶數(shù)據(jù)主頁的發(fā)送方法解決了這一難題。它是根據(jù)單位時間內(nèi)客戶請求的數(shù)量,來改變客戶數(shù)據(jù)主頁的刷新頻率。當(dāng)單位時間內(nèi)客戶請求的數(shù)量大于某一門限值時,就降低客戶數(shù)據(jù)主頁刷新頻率;反之,則相反。
假定單位時間內(nèi)允許客戶請求為N,實時性要求較高客戶數(shù)量為n1,刷新頻率為f1,其它客戶數(shù)量為n2,刷新頻率為f2,則:
隨著Internet的不斷發(fā)展,在應(yīng)用系統(tǒng)中嵌入WWW服務(wù)功能具有廣闊的應(yīng)用空間。不僅在應(yīng)用系統(tǒng)的網(wǎng)絡(luò)功能方面得到了增強,客戶只要通過Web瀏覽器就能直接對信息進行訪問,就能實現(xiàn)遠程控制。而且可以廣泛應(yīng)用于家用電器、設(shè)備儀器之中,在它們的處理系統(tǒng)中嵌入WWW服務(wù)功能,通過有線、無線等數(shù)據(jù)傳輸技術(shù),利用Web瀏覽器遠程監(jiān)視、控制這些家用電器和儀器設(shè)備的狀態(tài)。