淺談在應(yīng)用系統(tǒng)中嵌入WWW服務(wù)功能的實(shí)現(xiàn)
出處:電子技術(shù)應(yīng)用 發(fā)布于:2011-09-04 14:55:03
近年來,Internet已經(jīng)成為現(xiàn)代生活中不可缺少的一部分。隨著被廣泛應(yīng)用的信息網(wǎng)(Wide World Web)的發(fā)展和Web瀏覽器,在應(yīng)用系統(tǒng)設(shè)計(jì)時(shí)使用HTTP協(xié)議和HTML標(biāo)準(zhǔn)嵌入WWW服務(wù)功能,使應(yīng)用系統(tǒng)與Web連接起來,這樣任何一個(gè)有標(biāo)準(zhǔn)Web瀏覽器的客戶都可以通過Web瀏覽器直接訪問該應(yīng)用系統(tǒng),而無需安裝專門的客戶端軟件,這給客戶的訪問帶來方便。
這里設(shè)計(jì)的通信線路實(shí)時(shí)狀態(tài)信息監(jiān)視系統(tǒng)主要是對(duì)多路通信線路的收電平、發(fā)電平及誤碼率指標(biāo)進(jìn)行實(shí)時(shí)測(cè)試,并通過網(wǎng)絡(luò)將實(shí)時(shí)測(cè)試結(jié)果送到相應(yīng)的各級(jí)客戶;各級(jí)客戶通過Web瀏覽器選擇所關(guān)心的線路及各類參數(shù),并依據(jù)權(quán)限對(duì)應(yīng)用系統(tǒng)進(jìn)行相應(yīng)的遠(yuǎn)程控制。
1 系統(tǒng)設(shè)計(jì)方法
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)主要由收電平測(cè)量板、發(fā)電平測(cè)量板和誤碼測(cè)量板三個(gè)部分組成。在信息處理器的控制下,測(cè)量板對(duì)各路通信線路的各方面指標(biāo)進(jìn)行測(cè)量之后,送到信息處理器進(jìn)行處理。
信息表現(xiàn)子系統(tǒng)主要由本地監(jiān)視、控制平臺(tái)和內(nèi)、外部網(wǎng)絡(luò)構(gòu)成。本地客戶通過本地監(jiān)視來控制平臺(tái)監(jiān)視整個(gè)系統(tǒng)的通信線路實(shí)時(shí)狀態(tài)信息和系統(tǒng)的工作狀態(tài),設(shè)置網(wǎng)絡(luò)客戶的權(quán)限,根據(jù)需要對(duì)系統(tǒng)進(jìn)行配置和維護(hù);網(wǎng)絡(luò)客戶則根據(jù)自己所擁有的權(quán)限通過Web瀏覽器監(jiān)視應(yīng)用系統(tǒng)中通信線路的實(shí)時(shí)狀態(tài)信息,向系統(tǒng)發(fā)送遠(yuǎn)程控制命令。
數(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ò)客戶的請(qǐng)求,根據(jù)客戶的請(qǐng)求進(jìn)行相應(yīng)的處理、顯示和控制。
1.2 嵌入WWW服務(wù)功能的實(shí)現(xiàn)
在應(yīng)用系統(tǒng)中嵌入WWW服務(wù)功能需要完成動(dòng)態(tài)主頁的實(shí)時(shí)生成和埂偵聽?wèi)?yīng)答客戶請(qǐng)求這兩個(gè)方面的工作即可,其具體實(shí)現(xiàn)流程如圖2所示。

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

隨著Internet的不斷發(fā)展,在應(yīng)用系統(tǒng)中嵌入WWW服務(wù)功能具有廣闊的應(yīng)用空間。不僅在應(yīng)用系統(tǒng)的網(wǎng)絡(luò)功能方面得到了增強(qiáng),客戶只要通過Web瀏覽器就能直接對(duì)信息進(jìn)行訪問,就能實(shí)現(xiàn)遠(yuǎn)程控制。而且可以廣泛應(yīng)用于家用電器、設(shè)備儀器之中,在它們的處理系統(tǒng)中嵌入WWW服務(wù)功能,通過有線、無線等數(shù)據(jù)傳輸技術(shù),利用Web瀏覽器遠(yuǎn)程監(jiān)視、控制這些家用電器和儀器設(shè)備的狀態(tài)。
參考文獻(xiàn)
1 許汝峰。 32位嵌入系統(tǒng)編程。北京:中國電力出版社,2001;3
2 許錦波,嚴(yán)望佳。Internet/Intranet網(wǎng)絡(luò)安全結(jié)構(gòu)設(shè)計(jì)。北京:清華大學(xué)出版社,1999.2
3 汪 翔,袁 輝。Visual C++實(shí)踐與提高——網(wǎng)絡(luò)編程篇。北京:中國鐵道出版社,2001
版權(quán)與免責(zé)聲明
凡本網(wǎng)注明“出處:維庫電子市場網(wǎng)”的所有作品,版權(quán)均屬于維庫電子市場網(wǎng),轉(zhuǎn)載請(qǐng)必須注明維庫電子市場網(wǎng),http://m.58mhw.cn,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)或證實(shí)其內(nèi)容的真實(shí)性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個(gè)人從本網(wǎng)轉(zhuǎn)載時(shí),必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。
如涉及作品內(nèi)容、版權(quán)等問題,請(qǐng)?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。
- ARM技術(shù)架構(gòu)與應(yīng)用開發(fā)實(shí)踐指南2026/1/6 10:40:19
- 嵌入式實(shí)時(shí)操作系統(tǒng)(RTOS)選型與移植技術(shù)指南2025/12/31 10:42:31
- 工業(yè)嵌入式系統(tǒng):通信接口技術(shù)選型與抗干擾設(shè)計(jì)實(shí)踐2025/12/15 14:36:53
- 深入解析嵌入式 OPENAMP 框架:開啟異核通信新時(shí)代2025/7/22 16:27:29
- 一文快速了解OPENWRT基礎(chǔ)知識(shí)2025/7/14 16:59:04









