《電子技術應用》
您所在的位置:首頁 > 通信與網(wǎng)絡 > 業(yè)界動態(tài) > 在應用系統(tǒng)中嵌入WWW服務功能的實現(xiàn)方法

在應用系統(tǒng)中嵌入WWW服務功能的實現(xiàn)方法

2009-03-11
作者:王晶晶1 王善義2

  摘? 要: 在通信線路實時狀態(tài)信息監(jiān)視系統(tǒng)中嵌入WWW服務功能的設計方法,系統(tǒng)構成以及各組成部分結構和WWW功能的實現(xiàn)流程,描述了系統(tǒng)中的關鍵技術,。目前該設計方法已經成功應用于通信線路實時狀態(tài)信息監(jiān)視系統(tǒng)中,取得了很好的效果,。?

  關鍵詞: 全球信息網(wǎng)? 實時嵌入系統(tǒng)? 通信線路狀態(tài)信息監(jiān)視?

?

  目前客戶在訪問具有遠程訪問和控制功能的應用系統(tǒng)時,大多都需要安裝專門的客戶端軟件,這給客戶的訪問帶來了很大的不便。隨著全球信息網(wǎng)(Wide World Web)的發(fā)展和Web瀏覽器的廣泛應用,在應用系統(tǒng)設計時使用HTTP協(xié)議和HTML標準嵌入WWW服務功能,使應用系統(tǒng)與Web連接起來,這樣任何一個有標準Web瀏覽器的客戶都可以通過Web瀏覽器直接訪問該應用系統(tǒng),而不需要安裝專門的客戶端軟件,。?

  這里設計的通信線路實時狀態(tài)信息監(jiān)視系統(tǒng)主要是對多路通信線路的收電平,、發(fā)電平及誤碼率等指標進行實時測試,并通過網(wǎng)絡將實時測試結果送到相應的各級客戶;各級客戶在遠端通過Web瀏覽器而不用專門的客戶端程序就可以對自己所關心的數(shù)據(jù)進行監(jiān)測,通過Web瀏覽器客戶還可以在客戶端選擇所關心的線路及各類參數(shù),并依據(jù)權限對應用系統(tǒng)進行相應的遠程控制。?

  在實時系統(tǒng)中嵌入WWW服務功能,主要解決了如下問題:?

  (1)動態(tài)實時地改變數(shù)據(jù)網(wǎng)頁,即將需要發(fā)送的數(shù)據(jù)網(wǎng)頁模板在系統(tǒng)啟動時裝入內存,根據(jù)實時采集的數(shù)據(jù),實時改變已裝入內存的數(shù)據(jù)網(wǎng)頁,。?

  (2)對HTTP服務器端口(80)進行監(jiān)聽,處理,、響應客戶端的各類請求。?

  (3)實現(xiàn)安全控制,根據(jù)訪問客戶的IP地址和登錄信息,對客戶進行過濾和權限設置,記錄客戶的操作,。?

  (4)根據(jù)各級客戶的權限不同,實現(xiàn)對不同客戶的同一請求發(fā)送不同的客戶數(shù)據(jù)網(wǎng)頁,。?

  (5)根據(jù)正在訪問客戶的數(shù)量和級別,動態(tài)控制數(shù)據(jù)網(wǎng)頁的發(fā)送和刷新。?

1 系統(tǒng)設計方法?

1.1系統(tǒng)構成?

  通信線路實時狀態(tài)信息監(jiān)視系統(tǒng)主要由以下三部分構成:數(shù)據(jù)采集子系統(tǒng),、數(shù)據(jù)處理子系統(tǒng)和信息表現(xiàn)子系統(tǒng),。其系統(tǒng)構成如圖1所示。?

?

?

  數(shù)據(jù)采集子系統(tǒng)主要由收電平測量板,、發(fā)電平測量板和誤碼測量板組成,。這些測量板在信息處理器的控制下,對各路通信線路的接收電壓、發(fā)送電壓和誤碼等指標進行測量,并將測量數(shù)據(jù)送到信息處理器進行處理,。?

  數(shù)據(jù)處理子系統(tǒng)主要由信息處理器,、多串口卡和網(wǎng)絡卡等組成,它是信息處理的核心。一方面控制著數(shù)據(jù)采集子系統(tǒng)各采集板的數(shù)據(jù)采集,接收并處理這些采集板發(fā)送來的數(shù)據(jù),并根據(jù)處理后的數(shù)據(jù)和主頁模板生成公共數(shù)據(jù)主頁;另一方面響應本地客戶和網(wǎng)絡客戶的請求,根據(jù)客戶的請求進行相應的處理,、顯示和控制,。?

  信息表現(xiàn)子系統(tǒng)主要由本地監(jiān)視、控制平臺和內、外部網(wǎng)絡構成,。本地客戶通過本地監(jiān)視,、控制平臺監(jiān)視整個系統(tǒng)的通信線路實時狀態(tài)信息,控制系統(tǒng)的工作狀態(tài),設置網(wǎng)絡客戶的權限,根據(jù)需要對系統(tǒng)進行配置和維護;網(wǎng)絡客戶則根據(jù)自己所擁有的權限通過Web瀏覽器監(jiān)視應用系統(tǒng)中通信線路的實時狀態(tài)信息,向系統(tǒng)發(fā)送遠程控制命令。?

1.2嵌入WWW服務功能的實現(xiàn)?

  在應用系統(tǒng)中嵌入WWW服務功能需要完成兩個方面的工作:一是動態(tài)主頁的實時生成;二是偵聽應答客戶請求,其具體實現(xiàn)流程圖如圖2所示,。?

?

?

1.2.1動態(tài)主頁生成過程?

  動態(tài)主頁生成過程主要是應用系統(tǒng)根據(jù)主頁模板和實時采集的數(shù)據(jù),實時更新生成通用的公共數(shù)據(jù)主頁;在客戶請求時依據(jù)客戶的權限和設置生成客戶數(shù)據(jù)主頁,發(fā)送給遠程客戶,。其具體過程如下:?

  (1)主頁模板的生成。根據(jù)客戶顯示的需求,采用HTML標準,創(chuàng)建在Web瀏覽器上可以瀏覽的主頁模板,。對于主頁模板中需要實時更新的數(shù)據(jù)和根據(jù)客戶需求可能會改變的數(shù)據(jù),采用相應的變量代替,。?

  (2)公共數(shù)據(jù)主頁的生成。應用系統(tǒng)啟動后,將事先生成的主頁模板加載到內存中,根據(jù)系統(tǒng)的配置,對部分公共變量用實際的內容(如各路通信線路的名稱等)進行替換,生成公共數(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ù)的對應項進行更新替換,實現(xiàn)公共數(shù)據(jù)主頁的實時更新,。?

  (5)客戶數(shù)據(jù)主頁的生成,。當應用系統(tǒng)收到客戶請求的發(fā)送主頁消息后,根據(jù)客戶的權限和需求對公共數(shù)據(jù)主頁中需要保密、限制的內容以及客戶主頁的刷新頻率進行更新處理,為各級別的客戶生成各自的客戶數(shù)據(jù)主頁,。這樣處理后對于不同客戶的同一請求,發(fā)送的客戶主頁信息就可能不同,。?

1.2.2 應答客戶請求過程?

  應答客戶請求的過程主要是應用系統(tǒng)在TCP端口(80)上偵聽客戶的連接。當連接建立后,為該客戶的請求建立一個線程,讀取并解析客戶從Web瀏覽器發(fā)送來的請求,并對請求進行安全和權限控制,應答客戶請求,最后關閉此客戶的連接并退出該線程,。具體過程如下:?

  (1)偵聽客戶請求,。應用系統(tǒng)啟動后首先初始化網(wǎng)絡設置,并在80端口打開一個被動的TCP連接,等待接受客戶的連接。?

  (2)創(chuàng)建客戶請求處理線程,。在收到客戶連接后,應用系統(tǒng)為該客戶請求創(chuàng)建一個線程,用來解析,、處理、應答客戶的請求,。?

  (3)解析客戶請求,。應用系統(tǒng)根據(jù)請求消息的格式解讀請求消息,如果客戶所請求的動作不能實施或者URI無效,返回一個錯誤狀態(tài)并關閉該連接,否則對客戶進行安全控制。?

  (4)安全控制,。根據(jù)客戶的IP地址或者登錄信息,判別客戶的權限,。如果客戶不具備所請求動作的權限則返回權限不足信息并關閉該連接,否則對客戶請求進行處理,同時記錄客戶請求內容、時間等信息,。?

  (5)處理客戶請求,。根據(jù)客戶的權限和請求,對構建于內存中的公共數(shù)據(jù)主頁信息進行進一步處理,生成客戶所需要的客戶數(shù)據(jù)主頁。?

  (6)應答客戶請求,。對于客戶的請求為Get方式時,打開該URI所指定的被程序構建于內存之中客戶數(shù)據(jù)主頁,在發(fā)送以前,應用系統(tǒng)為客戶數(shù)據(jù)主頁建立一個適當?shù)念}頭區(qū),其后放一個空白行,然后將該題頭區(qū)發(fā)送出去,最后發(fā)出客戶數(shù)據(jù)主頁,。對于客戶的請求為Post方式時,,根據(jù)解析后的信息對應用系統(tǒng)進行相應的設置和操作,實現(xiàn)客戶的遠程控制。?

  (7)關閉客戶連接,退出線程,。?

2 關鍵技術?

2.1處理客戶請求?

2.1.1 客戶請求?

  當客戶通過Web瀏覽器向應用系統(tǒng)發(fā)出請求時,需要指定一個全球資源定位器(URL),。URL是某個特定資源的Web名,用于定位Internet上面的資源,一個URL的基本格式為:?

  協(xié)議://主機名[:端口]/路徑?

  Web瀏覽器分析該URL,提取協(xié)議(這里是HTTP)、主機名以及全球資源路徑(URI),并使用提取的協(xié)議向具有該主機名的網(wǎng)絡主機發(fā)起連接,。當連接建立后,Web瀏覽器發(fā)送請求消息,該消息包含一些可選配的題頭,用于標識該客戶和列出可接受的資源類型。應用系統(tǒng)發(fā)送響應消息,該消息有一個狀態(tài)行,后隨一個或多個題頭,然后是所請求的資源,。?

2.1.2 解析客戶請求?

  對客戶請求的解析主要是應用系統(tǒng)根據(jù)HTTP消息的格式,從客戶發(fā)送來的請求消息中提取客戶請求的內容,并向客戶發(fā)送響應消息,。HTTP消息是客戶發(fā)給應用系統(tǒng)的請求或者由應用系統(tǒng)傳給客戶的應答,消息格式為:?

  Start-line(開始行)?

  Message-headers(消息題頭)?

  CR LF(換行回車符,即空一行)?

  Message-body(消息正文)?

  一個請求包括三部分:開始行、題頭以及正文,。開始行是必須有的,題頭及正文則是可選的,。在客戶傳給應用系統(tǒng)的請求中,開始行就是請求行;在應用系統(tǒng)的應答中,則是狀態(tài)行。?

  請求行僅有一行文本,包括三個區(qū),以CR LF結束,格式如下:?

  Method? 請求的URI? HTTP版本?

  請求行也僅有一行文本,包括三個區(qū),以CR LF結束,格式如下:?

  HTTP版本? 狀態(tài)碼? 原因說明文字?

2.2 安全控制?

  在該應用系統(tǒng)中主要采用身份限制,、密碼保護,、數(shù)據(jù)加密等方法來增強客戶訪問的安全性。?

2.2.1 身份限制?

  當應用系統(tǒng)接收到客戶發(fā)送來的請求后,提取客戶的IP地址,過濾掉非法IP地址的客戶請求,并判斷合法IP地址的客戶權限;根據(jù)系統(tǒng)的設置,為每個客戶生成并發(fā)送相應權限的客戶數(shù)據(jù)主頁,同時根據(jù)客戶的遠程控制權限響應客戶對應用系統(tǒng)的控制,向客戶發(fā)送控制后的結果信息,。?

2.2.2 密碼保護?

  當客戶訪問應用系統(tǒng)中需要安全保護的數(shù)據(jù)主頁,或者遠程進行可能對應用系統(tǒng)造成危害的控制操作時,應用系統(tǒng)首先要求客戶進行登錄帳號和密碼,。只有經過應用系統(tǒng)確認后,應用系統(tǒng)才會應答客戶的這些請求。

2.3 動態(tài)控制數(shù)據(jù)發(fā)送?

  應用系統(tǒng)所處理的數(shù)據(jù)是實時采集的,、不斷變化的,如果客戶要實時檢測到這些采集的數(shù)據(jù),就要按照一定時間間隔不斷地向應用系統(tǒng)發(fā)送頁面刷新請求,應用系統(tǒng)根據(jù)客戶請求也不斷地向每一個客戶實時發(fā)送最新的客戶數(shù)據(jù)網(wǎng)頁,。當大量客戶同時對應用系統(tǒng)進行請求時,就可能導致客戶數(shù)據(jù)網(wǎng)頁發(fā)送時間減慢,甚至引起系統(tǒng)崩潰。為解決這種情況,這里提出一種動態(tài)控制客戶數(shù)據(jù)主頁的發(fā)送方法,。?

  動態(tài)控制客戶數(shù)據(jù)主頁的發(fā)送主要是根據(jù)單位時間內客戶請求的數(shù)量,動態(tài)改變客戶數(shù)據(jù)主頁的刷新頻率,。當單位時間內客戶請求的數(shù)量大于某一門限值時,就降低客戶數(shù)據(jù)主頁刷新頻率;反之,就增加客戶數(shù)據(jù)主頁刷新頻率;這樣保證單位時間內客戶請求數(shù)量在一定可允許的范圍內。對于實時性要求較高的客戶,不降低刷新頻率,。?

  假定單位時間內允許客戶請求為N,實時性要求較高的客戶數(shù)量為n1,,刷新頻率為f1, 其它客戶數(shù)量為n2,,刷新頻率為f2,,則:?

?????????

??? 隨著Internet的不斷發(fā)展,在應用系統(tǒng)中嵌入WWW服務功能具有廣闊的應用前景。一方面增強了應用系統(tǒng)的網(wǎng)絡功能,在客戶不用下載專門的客戶端應用程序情況下,就可以通過Web瀏覽器直接對應用系統(tǒng)中的實時數(shù)據(jù)信息進行訪問,實現(xiàn)對應用系統(tǒng)的遠程控制;另一方面可以廣泛應用于具有微處理器和存儲器的家用電器,、設備儀器之中,在它們的處理系統(tǒng)中嵌入WWW服務功能,通過有線,、無線等數(shù)據(jù)傳輸技術,利用Web瀏覽器遠程監(jiān)視、控制這些家用電器和儀器設備的狀態(tài),。?

參考文獻?

1 許汝峰. 32位嵌入系統(tǒng)編程.北京:中國電力出版社,,2001;3?

2 許錦波,嚴望佳.Internet/Intranet網(wǎng)絡安全結構設計.北京:清華大學出版社,,1999.2?

3 汪 翔,,袁 輝.Visual C++實踐與提高——網(wǎng)絡編程篇.北京:中國鐵道出版社,,2001
本站內容除特別聲明的原創(chuàng)文章之外,轉載內容只為傳遞更多信息,,并不代表本網(wǎng)站贊同其觀點,。轉載的所有的文章、圖片,、音/視頻文件等資料的版權歸版權所有權人所有,。本站采用的非本站原創(chuàng)文章及圖片等內容無法一一聯(lián)系確認版權者。如涉及作品內容,、版權和其它問題,,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,,避免給雙方造成不必要的經濟損失,。聯(lián)系電話:010-82306118;郵箱:[email protected],。