您的位置:網(wǎng)站首頁 > 優(yōu)秀論文 > 正文
基于TCP/IP協(xié)議的電工電子網(wǎng)絡(luò)實(shí)驗(yàn)室
作者:周世澤來源:原創(chuàng)日期:2012-08-25人氣:902
網(wǎng)絡(luò)實(shí)驗(yàn)室的客戶端應(yīng)用程序是用Java編寫的Applet,客戶端采用了目前虛擬實(shí)驗(yàn)室最為通用的Web發(fā)布方式,這可使用戶不必安裝任何其它的附加軟件,即可輕松使用網(wǎng)絡(luò)實(shí)驗(yàn)室的客戶端應(yīng)用程序。圖3是網(wǎng)絡(luò)實(shí)驗(yàn)室客戶端的功能模塊結(jié)構(gòu)圖。實(shí)驗(yàn)運(yùn)行操作模塊是客戶端的主模塊,它負(fù)責(zé)每個具體實(shí)驗(yàn)的數(shù)據(jù)傳輸、運(yùn)行控制和過程管理等。它為用戶提供了同步實(shí)驗(yàn)?zāi)J胶彤惒綄?shí)驗(yàn)?zāi)J?,使得?shí)驗(yàn)設(shè)備的利用率最大化,又使用戶的使用更加靈活。在客戶端中有并列的多個實(shí)驗(yàn)?zāi)K,它們分別對應(yīng)于具體實(shí)驗(yàn),由于不同實(shí)驗(yàn)的內(nèi)容和操作各不相同,所以這些實(shí)驗(yàn)?zāi)K的內(nèi)部機(jī)理也不盡相同。為了把這些不同的實(shí)驗(yàn)?zāi)K統(tǒng)一集成到客戶端框架中,實(shí)現(xiàn)與框架的協(xié)調(diào)工作,在這些實(shí)驗(yàn)?zāi)K和實(shí)驗(yàn)運(yùn)行操作模塊之間有一個實(shí)驗(yàn)?zāi)K接口,它定義了各實(shí)驗(yàn)?zāi)K的統(tǒng)一要求。在程序中,實(shí)驗(yàn)?zāi)K接口的實(shí)現(xiàn)是利用了Java中的interface(接口)和abstractclass(抽象類)機(jī)制。數(shù)據(jù)通信模塊是客戶端、服務(wù)器端和控制器端都具有的,其內(nèi)部細(xì)節(jié)雖有所不同,但都是負(fù)責(zé)數(shù)據(jù)的收發(fā),即把要發(fā)送的數(shù)據(jù)封裝成預(yù)定義的協(xié)議包,以及把收到的協(xié)議包按照相反的過程解析處理。網(wǎng)絡(luò)通信必須按照一定的協(xié)議規(guī)則,客戶端和服務(wù)器端之間、服務(wù)器端和控制端之間的通信均采用了基于TCP/IP協(xié)議族上的自定義協(xié)議,該協(xié)議是利用了傳輸層上的Socket(網(wǎng)絡(luò)套接字)構(gòu)建的TCP協(xié)議,它編程靈活,能保證數(shù)據(jù)傳輸?shù)恼_性??蛻舳说臄?shù)據(jù)通信模塊除了一般的數(shù)據(jù)收發(fā)以外,還負(fù)責(zé)主動連接服務(wù)器端的特定端口,建立網(wǎng)絡(luò)連接。
網(wǎng)絡(luò)實(shí)驗(yàn)室服務(wù)器端的實(shí)現(xiàn)
服務(wù)器端是網(wǎng)絡(luò)實(shí)驗(yàn)室整個系統(tǒng)架構(gòu)的核心,為了隨時響應(yīng)客戶端的連接,必須確保服務(wù)器端滿足24h/d正常運(yùn)行,時刻監(jiān)聽客戶端的請求,因此它運(yùn)行的穩(wěn)定性和高效性至關(guān)重要。服務(wù)器端使用的計算機(jī)是高性能的Dell品牌的專業(yè)服務(wù)器計算機(jī)POWEREDGETM6600,內(nèi)含兩顆服務(wù)器專用處理器IntelXeon2G,4G內(nèi)存,6個72G的SCSI硬盤。在該計算機(jī)上安裝的操作系統(tǒng)為Linux,該系統(tǒng)運(yùn)行穩(wěn)定,性能可靠,適合作為服務(wù)器端的操作系統(tǒng)。在Linux操作系統(tǒng)上裝有3個服務(wù)器應(yīng)用程序。
(1)Web服務(wù)器Apache:Apache是一個非常穩(wěn)定的Web服務(wù)器,功能強(qiáng)大,響應(yīng)速度快,是目前使用最多的Web服務(wù)器之一。使用該服務(wù)器是為了響應(yīng)用戶瀏覽器的請求,把請求的網(wǎng)頁文件和客戶端Applet類文件下載到用戶計算機(jī)中。
(2)用Java編寫的網(wǎng)絡(luò)實(shí)驗(yàn)室應(yīng)用服務(wù)器:該服務(wù)器軟件是網(wǎng)絡(luò)實(shí)驗(yàn)室的中心環(huán)節(jié)。它由具有面向?qū)ο?、面向網(wǎng)絡(luò)、跨平臺、多線程,安全等優(yōu)良特點(diǎn)的Java語言編寫,處于網(wǎng)絡(luò)實(shí)驗(yàn)室的樞紐地位它的基本功能是連接客戶端、控制器端和數(shù)據(jù)庫按照一定的規(guī)則安排用戶實(shí)驗(yàn),并將實(shí)驗(yàn)數(shù)據(jù)保存到數(shù)據(jù)庫中??蛻舳吮O(jiān)聽模塊和控制端監(jiān)聽模塊是服務(wù)器軟件特有的模塊,它體現(xiàn)了服務(wù)器的固有“身份”,用于時刻監(jiān)聽特定的端口,隨時響應(yīng)客戶端和控制器端的連接請求,為不同用戶和實(shí)驗(yàn)建立獨(dú)立的Socket連接。
服務(wù)器端一個尤其重要的基本特征就是多響應(yīng),快速、高效的多響應(yīng)是服務(wù)器端乃至整個網(wǎng)絡(luò)實(shí)驗(yàn)室系統(tǒng)穩(wěn)定、高效地運(yùn)行至關(guān)重要的保證有效地實(shí)現(xiàn)多響應(yīng)的方法是充分利用Java固有的多線程機(jī)制,Java本身有力地支持多線程,使編寫的程序效率更高,性能更好。在服務(wù)器應(yīng)用程序中響應(yīng)客戶端、控制器端和數(shù)據(jù)庫是并列的3個最基本主線程。
(3)數(shù)據(jù)庫服務(wù)器Oracle:Oracle數(shù)據(jù)庫是一種基于SQL標(biāo)準(zhǔn)的關(guān)系數(shù)據(jù)庫產(chǎn)品,它支持大數(shù)據(jù)庫、多用戶和事務(wù)處理等,具有非常優(yōu)秀的性能便于數(shù)據(jù)處理和維護(hù)。該數(shù)據(jù)庫可以用于統(tǒng)一記錄、存取和管理網(wǎng)絡(luò)實(shí)驗(yàn)室的所有數(shù)據(jù)信息,包括每個用戶賬號的各種信息,每個實(shí)驗(yàn)?zāi)K的配置信息、實(shí)驗(yàn)請求、實(shí)驗(yàn)結(jié)果和操作記錄等等。
網(wǎng)絡(luò)實(shí)驗(yàn)室控制器端的實(shí)現(xiàn)
控制器端沒有直接連入Internet,直接連入Internet的只有服務(wù)器,就某種意義而言,服務(wù)器相當(dāng)于整個系統(tǒng)的防火墻,這種結(jié)構(gòu)獲得了極佳的安全特性??刂破鞫说囊粋€顯著特征就是直接實(shí)時地控制真實(shí)的物理設(shè)備;另一個顯著特征就是像服務(wù)器一樣需要24h/d的持續(xù)運(yùn)行,隨時進(jìn)行實(shí)驗(yàn)。因此,控制器端穩(wěn)定、不易出錯的持續(xù)運(yùn)行具有毋容置疑的重要性。為了保證控制器端的可靠運(yùn)行,各控制器端計算機(jī)均采用工控機(jī),使用IntelPIII1G的CPU,用MicrosoftWindows2000Server作為其操作系統(tǒng)。同時,安裝在操作系統(tǒng)上的控制器端應(yīng)用程序是用VisualC++開發(fā)的,它一方面保證了控制程序在運(yùn)行時的高效性和實(shí)時性,另一方面C++語言適合編寫訪問Windows底層的應(yīng)用程序,便于對物理設(shè)備的控制。
由于不同的控制端面向不同的具體實(shí)驗(yàn),控制各自的物理設(shè)備,所以每個控制器端應(yīng)用程序內(nèi)部結(jié)構(gòu)各異的基本的功能模塊結(jié)構(gòu)??刂破鞫顺绦蛑杏袃蓚€最基本的模塊實(shí)驗(yàn)控制模塊和實(shí)時監(jiān)控模塊。實(shí)驗(yàn)控制模塊按照一定的控制算法控制具體的實(shí)驗(yàn)對象,包括對其發(fā)送參數(shù)指令,讀取傳感器數(shù)據(jù)等。實(shí)時監(jiān)控模塊是一個相對獨(dú)立的看門狗程序,它負(fù)責(zé)實(shí)時地監(jiān)視控制器端主程序的狀態(tài),根據(jù)網(wǎng)絡(luò)的連接狀況和實(shí)驗(yàn)控制程序的運(yùn)行狀況,啟動、停止或重啟控制器端應(yīng)用程序,它是在操作系統(tǒng)啟動時就自動運(yùn)行的??撮T狗程序的安裝,最大限度地提升了控制器端糾錯、處理異常的能力。與客戶端相似,控制器端的數(shù)據(jù)通信模塊除收發(fā)一般的數(shù)據(jù)以外,同時負(fù)責(zé)主動與服務(wù)器端建立Socket連接。
網(wǎng)絡(luò)實(shí)驗(yàn)室服務(wù)器端的實(shí)現(xiàn)
服務(wù)器端是網(wǎng)絡(luò)實(shí)驗(yàn)室整個系統(tǒng)架構(gòu)的核心,為了隨時響應(yīng)客戶端的連接,必須確保服務(wù)器端滿足24h/d正常運(yùn)行,時刻監(jiān)聽客戶端的請求,因此它運(yùn)行的穩(wěn)定性和高效性至關(guān)重要。服務(wù)器端使用的計算機(jī)是高性能的Dell品牌的專業(yè)服務(wù)器計算機(jī)POWEREDGETM6600,內(nèi)含兩顆服務(wù)器專用處理器IntelXeon2G,4G內(nèi)存,6個72G的SCSI硬盤。在該計算機(jī)上安裝的操作系統(tǒng)為Linux,該系統(tǒng)運(yùn)行穩(wěn)定,性能可靠,適合作為服務(wù)器端的操作系統(tǒng)。在Linux操作系統(tǒng)上裝有3個服務(wù)器應(yīng)用程序。
(1)Web服務(wù)器Apache:Apache是一個非常穩(wěn)定的Web服務(wù)器,功能強(qiáng)大,響應(yīng)速度快,是目前使用最多的Web服務(wù)器之一。使用該服務(wù)器是為了響應(yīng)用戶瀏覽器的請求,把請求的網(wǎng)頁文件和客戶端Applet類文件下載到用戶計算機(jī)中。
(2)用Java編寫的網(wǎng)絡(luò)實(shí)驗(yàn)室應(yīng)用服務(wù)器:該服務(wù)器軟件是網(wǎng)絡(luò)實(shí)驗(yàn)室的中心環(huán)節(jié)。它由具有面向?qū)ο?、面向網(wǎng)絡(luò)、跨平臺、多線程,安全等優(yōu)良特點(diǎn)的Java語言編寫,處于網(wǎng)絡(luò)實(shí)驗(yàn)室的樞紐地位它的基本功能是連接客戶端、控制器端和數(shù)據(jù)庫按照一定的規(guī)則安排用戶實(shí)驗(yàn),并將實(shí)驗(yàn)數(shù)據(jù)保存到數(shù)據(jù)庫中??蛻舳吮O(jiān)聽模塊和控制端監(jiān)聽模塊是服務(wù)器軟件特有的模塊,它體現(xiàn)了服務(wù)器的固有“身份”,用于時刻監(jiān)聽特定的端口,隨時響應(yīng)客戶端和控制器端的連接請求,為不同用戶和實(shí)驗(yàn)建立獨(dú)立的Socket連接。
服務(wù)器端一個尤其重要的基本特征就是多響應(yīng),快速、高效的多響應(yīng)是服務(wù)器端乃至整個網(wǎng)絡(luò)實(shí)驗(yàn)室系統(tǒng)穩(wěn)定、高效地運(yùn)行至關(guān)重要的保證有效地實(shí)現(xiàn)多響應(yīng)的方法是充分利用Java固有的多線程機(jī)制,Java本身有力地支持多線程,使編寫的程序效率更高,性能更好。在服務(wù)器應(yīng)用程序中響應(yīng)客戶端、控制器端和數(shù)據(jù)庫是并列的3個最基本主線程。
(3)數(shù)據(jù)庫服務(wù)器Oracle:Oracle數(shù)據(jù)庫是一種基于SQL標(biāo)準(zhǔn)的關(guān)系數(shù)據(jù)庫產(chǎn)品,它支持大數(shù)據(jù)庫、多用戶和事務(wù)處理等,具有非常優(yōu)秀的性能便于數(shù)據(jù)處理和維護(hù)。該數(shù)據(jù)庫可以用于統(tǒng)一記錄、存取和管理網(wǎng)絡(luò)實(shí)驗(yàn)室的所有數(shù)據(jù)信息,包括每個用戶賬號的各種信息,每個實(shí)驗(yàn)?zāi)K的配置信息、實(shí)驗(yàn)請求、實(shí)驗(yàn)結(jié)果和操作記錄等等。
網(wǎng)絡(luò)實(shí)驗(yàn)室控制器端的實(shí)現(xiàn)
控制器端沒有直接連入Internet,直接連入Internet的只有服務(wù)器,就某種意義而言,服務(wù)器相當(dāng)于整個系統(tǒng)的防火墻,這種結(jié)構(gòu)獲得了極佳的安全特性??刂破鞫说囊粋€顯著特征就是直接實(shí)時地控制真實(shí)的物理設(shè)備;另一個顯著特征就是像服務(wù)器一樣需要24h/d的持續(xù)運(yùn)行,隨時進(jìn)行實(shí)驗(yàn)。因此,控制器端穩(wěn)定、不易出錯的持續(xù)運(yùn)行具有毋容置疑的重要性。為了保證控制器端的可靠運(yùn)行,各控制器端計算機(jī)均采用工控機(jī),使用IntelPIII1G的CPU,用MicrosoftWindows2000Server作為其操作系統(tǒng)。同時,安裝在操作系統(tǒng)上的控制器端應(yīng)用程序是用VisualC++開發(fā)的,它一方面保證了控制程序在運(yùn)行時的高效性和實(shí)時性,另一方面C++語言適合編寫訪問Windows底層的應(yīng)用程序,便于對物理設(shè)備的控制。
由于不同的控制端面向不同的具體實(shí)驗(yàn),控制各自的物理設(shè)備,所以每個控制器端應(yīng)用程序內(nèi)部結(jié)構(gòu)各異的基本的功能模塊結(jié)構(gòu)??刂破鞫顺绦蛑杏袃蓚€最基本的模塊實(shí)驗(yàn)控制模塊和實(shí)時監(jiān)控模塊。實(shí)驗(yàn)控制模塊按照一定的控制算法控制具體的實(shí)驗(yàn)對象,包括對其發(fā)送參數(shù)指令,讀取傳感器數(shù)據(jù)等。實(shí)時監(jiān)控模塊是一個相對獨(dú)立的看門狗程序,它負(fù)責(zé)實(shí)時地監(jiān)視控制器端主程序的狀態(tài),根據(jù)網(wǎng)絡(luò)的連接狀況和實(shí)驗(yàn)控制程序的運(yùn)行狀況,啟動、停止或重啟控制器端應(yīng)用程序,它是在操作系統(tǒng)啟動時就自動運(yùn)行的??撮T狗程序的安裝,最大限度地提升了控制器端糾錯、處理異常的能力。與客戶端相似,控制器端的數(shù)據(jù)通信模塊除收發(fā)一般的數(shù)據(jù)以外,同時負(fù)責(zé)主動與服務(wù)器端建立Socket連接。
欄目分類
熱門排行
推薦信息
- 人工智能翻譯對文學(xué)翻譯的挑戰(zhàn) ——以ChatGPT對《遠(yuǎn)大前程》的翻譯為例
- 指紋顯現(xiàn)技術(shù)優(yōu)化及實(shí)戰(zhàn)應(yīng)用
- 人工智能驅(qū)動成人教育管理與學(xué)生培養(yǎng)機(jī)制的創(chuàng)新
- 人工智能賦能高校思政教育高質(zhì)量發(fā)展
- AI賦能下數(shù)學(xué)建模課程的改革與實(shí)踐
- 人工智能時代下高校美育實(shí)踐創(chuàng)新研究
- 基于超星平臺的《電力拖動控制系統(tǒng)》課程改革探索
- AI數(shù)字技術(shù)助力珠寶首飾創(chuàng)新設(shè)計的探索與實(shí)踐
- 擁抱大模型時代背景下DEEPSEEK技術(shù)對企業(yè)戰(zhàn)略調(diào)整機(jī)制的影響研究
- 人工智能驅(qū)動學(xué)術(shù)英語寫作教學(xué)模式創(chuàng)新
期刊知識
- 喜報!《中國博物館》入選CSSCI擴(kuò)展版來源期刊(最新CSSCI南大核心期刊目錄2025-2026版)!新入選!
- 2025年中科院分區(qū)表已公布!Scientific Reports降至三區(qū)
- 2023JCR影響因子正式公布!
- 國內(nèi)核心期刊分級情況概覽及說明!本篇適用人群:需要發(fā)南核、北核、CSCD、科核、AMI、SCD、RCCSE期刊的學(xué)者
- 我用了一個很復(fù)雜的圖,幫你們解釋下“23版最新北大核心目錄有效期問題”。
- CSSCI官方早就公布了最新南核目錄,有心的人已經(jīng)拿到并且投入使用!附南核目錄新增期刊!
- 北大核心期刊目錄換屆,我們應(yīng)該熟知的10個知識點(diǎn)。
- 注意,最新期刊論文格式標(biāo)準(zhǔn)已發(fā)布,論文寫作規(guī)則發(fā)生重大變化!文字版GB/T 7713.2—2022 學(xué)術(shù)論文編寫規(guī)則
- 盤點(diǎn)那些評職稱超管用的資源,1,3和5已經(jīng)“絕種”了
- 職稱話題| 為什么黨校更認(rèn)可省市級黨報?是否有什么說據(jù)?還有哪些機(jī)構(gòu)認(rèn)可黨報?