您的位置:網(wǎng)站首頁 > 優(yōu)秀論文 > 正文
基于TCP/IP協(xié)議的電工電子網(wǎng)絡(luò)實(shí)驗(yàn)室
作者:周世澤來源:原創(chuàng)日期:2012-08-25人氣:815
網(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é)每個(gè)具體實(shí)驗(yàn)的數(shù)據(jù)傳輸、運(yùn)行控制和過程管理等。它為用戶提供了同步實(shí)驗(yàn)?zāi)J胶彤惒綄?shí)驗(yàn)?zāi)J?,使得?shí)驗(yàn)設(shè)備的利用率最大化,又使用戶的使用更加靈活。在客戶端中有并列的多個(gè)實(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)行操作模塊之間有一個(gè)實(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é)主動(dòng)連接服務(wù)器端的特定端口,建立網(wǎng)絡(luò)連接。
網(wǎng)絡(luò)實(shí)驗(yàn)室服務(wù)器端的實(shí)現(xiàn)
服務(wù)器端是網(wǎng)絡(luò)實(shí)驗(yàn)室整個(gè)系統(tǒng)架構(gòu)的核心,為了隨時(shí)響應(yīng)客戶端的連接,必須確保服務(wù)器端滿足24h/d正常運(yùn)行,時(shí)刻監(jiān)聽客戶端的請求,因此它運(yùn)行的穩(wěn)定性和高效性至關(guān)重要。服務(wù)器端使用的計(jì)算機(jī)是高性能的Dell品牌的專業(yè)服務(wù)器計(jì)算機(jī)POWEREDGETM6600,內(nèi)含兩顆服務(wù)器專用處理器IntelXeon2G,4G內(nèi)存,6個(gè)72G的SCSI硬盤。在該計(jì)算機(jī)上安裝的操作系統(tǒng)為Linux,該系統(tǒng)運(yùn)行穩(wěn)定,性能可靠,適合作為服務(wù)器端的操作系統(tǒng)。在Linux操作系統(tǒng)上裝有3個(gè)服務(wù)器應(yīng)用程序。
(1)Web服務(wù)器Apache:Apache是一個(gè)非常穩(wěn)定的Web服務(wù)器,功能強(qiáng)大,響應(yīng)速度快,是目前使用最多的Web服務(wù)器之一。使用該服務(wù)器是為了響應(yīng)用戶瀏覽器的請求,把請求的網(wǎng)頁文件和客戶端Applet類文件下載到用戶計(jì)算機(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ò)、跨平臺(tái)、多線程,安全等優(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ù)器的固有“身份”,用于時(shí)刻監(jiān)聽特定的端口,隨時(shí)響應(yīng)客戶端和控制器端的連接請求,為不同用戶和實(shí)驗(yàn)建立獨(dú)立的Socket連接。
服務(wù)器端一個(gè)尤其重要的基本特征就是多響應(yīng),快速、高效的多響應(yīng)是服務(wù)器端乃至整個(gè)網(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個(gè)最基本主線程。
(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ù)信息,包括每個(gè)用戶賬號(hào)的各種信息,每個(gè)實(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)于整個(gè)系統(tǒng)的防火墻,這種結(jié)構(gòu)獲得了極佳的安全特性??刂破鞫说囊粋€(gè)顯著特征就是直接實(shí)時(shí)地控制真實(shí)的物理設(shè)備;另一個(gè)顯著特征就是像服務(wù)器一樣需要24h/d的持續(xù)運(yùn)行,隨時(shí)進(jìn)行實(shí)驗(yàn)。因此,控制器端穩(wěn)定、不易出錯(cuò)的持續(xù)運(yùn)行具有毋容置疑的重要性。為了保證控制器端的可靠運(yùn)行,各控制器端計(jì)算機(jī)均采用工控機(jī),使用IntelPIII1G的CPU,用MicrosoftWindows2000Server作為其操作系統(tǒng)。同時(shí),安裝在操作系統(tǒng)上的控制器端應(yīng)用程序是用VisualC++開發(fā)的,它一方面保證了控制程序在運(yùn)行時(shí)的高效性和實(shí)時(shí)性,另一方面C++語言適合編寫訪問Windows底層的應(yīng)用程序,便于對物理設(shè)備的控制。
由于不同的控制端面向不同的具體實(shí)驗(yàn),控制各自的物理設(shè)備,所以每個(gè)控制器端應(yīng)用程序內(nèi)部結(jié)構(gòu)各異的基本的功能模塊結(jié)構(gòu)。控制器端程序中有兩個(gè)最基本的模塊實(shí)驗(yàn)控制模塊和實(shí)時(shí)監(jiān)控模塊。實(shí)驗(yàn)控制模塊按照一定的控制算法控制具體的實(shí)驗(yàn)對象,包括對其發(fā)送參數(shù)指令,讀取傳感器數(shù)據(jù)等。實(shí)時(shí)監(jiān)控模塊是一個(gè)相對獨(dú)立的看門狗程序,它負(fù)責(zé)實(shí)時(shí)地監(jiān)視控制器端主程序的狀態(tài),根據(jù)網(wǎng)絡(luò)的連接狀況和實(shí)驗(yàn)控制程序的運(yùn)行狀況,啟動(dòng)、停止或重啟控制器端應(yīng)用程序,它是在操作系統(tǒng)啟動(dòng)時(shí)就自動(dòng)運(yùn)行的??撮T狗程序的安裝,最大限度地提升了控制器端糾錯(cuò)、處理異常的能力。與客戶端相似,控制器端的數(shù)據(jù)通信模塊除收發(fā)一般的數(shù)據(jù)以外,同時(shí)負(fù)責(zé)主動(dòng)與服務(wù)器端建立Socket連接。
網(wǎng)絡(luò)實(shí)驗(yàn)室服務(wù)器端的實(shí)現(xiàn)
服務(wù)器端是網(wǎng)絡(luò)實(shí)驗(yàn)室整個(gè)系統(tǒng)架構(gòu)的核心,為了隨時(shí)響應(yīng)客戶端的連接,必須確保服務(wù)器端滿足24h/d正常運(yùn)行,時(shí)刻監(jiān)聽客戶端的請求,因此它運(yùn)行的穩(wěn)定性和高效性至關(guān)重要。服務(wù)器端使用的計(jì)算機(jī)是高性能的Dell品牌的專業(yè)服務(wù)器計(jì)算機(jī)POWEREDGETM6600,內(nèi)含兩顆服務(wù)器專用處理器IntelXeon2G,4G內(nèi)存,6個(gè)72G的SCSI硬盤。在該計(jì)算機(jī)上安裝的操作系統(tǒng)為Linux,該系統(tǒng)運(yùn)行穩(wěn)定,性能可靠,適合作為服務(wù)器端的操作系統(tǒng)。在Linux操作系統(tǒng)上裝有3個(gè)服務(wù)器應(yīng)用程序。
(1)Web服務(wù)器Apache:Apache是一個(gè)非常穩(wěn)定的Web服務(wù)器,功能強(qiáng)大,響應(yīng)速度快,是目前使用最多的Web服務(wù)器之一。使用該服務(wù)器是為了響應(yīng)用戶瀏覽器的請求,把請求的網(wǎng)頁文件和客戶端Applet類文件下載到用戶計(jì)算機(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ò)、跨平臺(tái)、多線程,安全等優(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ù)器的固有“身份”,用于時(shí)刻監(jiān)聽特定的端口,隨時(shí)響應(yīng)客戶端和控制器端的連接請求,為不同用戶和實(shí)驗(yàn)建立獨(dú)立的Socket連接。
服務(wù)器端一個(gè)尤其重要的基本特征就是多響應(yīng),快速、高效的多響應(yīng)是服務(wù)器端乃至整個(gè)網(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個(gè)最基本主線程。
(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ù)信息,包括每個(gè)用戶賬號(hào)的各種信息,每個(gè)實(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)于整個(gè)系統(tǒng)的防火墻,這種結(jié)構(gòu)獲得了極佳的安全特性??刂破鞫说囊粋€(gè)顯著特征就是直接實(shí)時(shí)地控制真實(shí)的物理設(shè)備;另一個(gè)顯著特征就是像服務(wù)器一樣需要24h/d的持續(xù)運(yùn)行,隨時(shí)進(jìn)行實(shí)驗(yàn)。因此,控制器端穩(wěn)定、不易出錯(cuò)的持續(xù)運(yùn)行具有毋容置疑的重要性。為了保證控制器端的可靠運(yùn)行,各控制器端計(jì)算機(jī)均采用工控機(jī),使用IntelPIII1G的CPU,用MicrosoftWindows2000Server作為其操作系統(tǒng)。同時(shí),安裝在操作系統(tǒng)上的控制器端應(yīng)用程序是用VisualC++開發(fā)的,它一方面保證了控制程序在運(yùn)行時(shí)的高效性和實(shí)時(shí)性,另一方面C++語言適合編寫訪問Windows底層的應(yīng)用程序,便于對物理設(shè)備的控制。
由于不同的控制端面向不同的具體實(shí)驗(yàn),控制各自的物理設(shè)備,所以每個(gè)控制器端應(yīng)用程序內(nèi)部結(jié)構(gòu)各異的基本的功能模塊結(jié)構(gòu)。控制器端程序中有兩個(gè)最基本的模塊實(shí)驗(yàn)控制模塊和實(shí)時(shí)監(jiān)控模塊。實(shí)驗(yàn)控制模塊按照一定的控制算法控制具體的實(shí)驗(yàn)對象,包括對其發(fā)送參數(shù)指令,讀取傳感器數(shù)據(jù)等。實(shí)時(shí)監(jiān)控模塊是一個(gè)相對獨(dú)立的看門狗程序,它負(fù)責(zé)實(shí)時(shí)地監(jiān)視控制器端主程序的狀態(tài),根據(jù)網(wǎng)絡(luò)的連接狀況和實(shí)驗(yàn)控制程序的運(yùn)行狀況,啟動(dòng)、停止或重啟控制器端應(yīng)用程序,它是在操作系統(tǒng)啟動(dòng)時(shí)就自動(dòng)運(yùn)行的??撮T狗程序的安裝,最大限度地提升了控制器端糾錯(cuò)、處理異常的能力。與客戶端相似,控制器端的數(shù)據(jù)通信模塊除收發(fā)一般的數(shù)據(jù)以外,同時(shí)負(fù)責(zé)主動(dòng)與服務(wù)器端建立Socket連接。
欄目分類
熱門排行
推薦信息
- 光伏制氫摻入天然氣燃燒可行性研究
- 纖維素基摩擦納米發(fā)電機(jī)的制備及其在人機(jī)交互與能源收集中的應(yīng)用研究
- 工業(yè)機(jī)器人技術(shù)在自動(dòng)化控制領(lǐng)域中的應(yīng)用
- 創(chuàng)造低碳舒適家居的追光導(dǎo)光儲(chǔ)能系統(tǒng)研究
- 靜電紡絲法制備納米復(fù)合纖維研究進(jìn)展
- 基于數(shù)字信號(hào)處理的無線傳輸系統(tǒng)優(yōu)化與技術(shù)突破
- 電氣工程推動(dòng)的未來技術(shù)革命
- 機(jī)床精度提升技術(shù)在機(jī)械工程中的應(yīng)用
- 5G通信技術(shù)在智能交通系統(tǒng)中的應(yīng)用研究
- 再論AI對人的異化
期刊知識(shí)
- 2025年中科院分區(qū)表已公布!Scientific Reports降至三區(qū)
- 官方認(rèn)定!CSSCI南大核心首批191家“青年學(xué)者友好期刊名單”
- 2023JCR影響因子正式公布!
- 國內(nèi)核心期刊分級(jí)情況概覽及說明!本篇適用人群:需要發(fā)南核、北核、CSCD、科核、AMI、SCD、RCCSE期刊的學(xué)者
- 我用了一個(gè)很復(fù)雜的圖,幫你們解釋下“23版最新北大核心目錄有效期問題”。
- 重磅!CSSCI來源期刊(2023-2024版)最新期刊目錄看點(diǎn)分析!全網(wǎng)首發(fā)!
- CSSCI官方早就公布了最新南核目錄,有心的人已經(jīng)拿到并且投入使用!附南核目錄新增期刊!
- 北大核心期刊目錄換屆,我們應(yīng)該熟知的10個(gè)知識(shí)點(diǎn)。
- 注意,最新期刊論文格式標(biāo)準(zhǔn)已發(fā)布,論文寫作規(guī)則發(fā)生重大變化!文字版GB/T 7713.2—2022 學(xué)術(shù)論文編寫規(guī)則
- 盤點(diǎn)那些評職稱超管用的資源,1,3和5已經(jīng)“絕種”了