天堂国产午夜亚洲专区-少妇人妻综合久久蜜臀-国产成人户外露出视频在线-国产91传媒一区二区三区

VxWorks下基于緩沖隊(duì)列的網(wǎng)絡(luò)通信

發(fā)布時(shí)間:2016-10-03 22:15

  本文關(guān)鍵詞:VxWorks下基于緩沖隊(duì)列的網(wǎng)絡(luò)通信,由筆耕文化傳播整理發(fā)布。


   當(dāng)前位置: IC37首頁 > 技術(shù)資料 > 通信網(wǎng)絡(luò) > VxWorks下基于緩沖隊(duì)列的網(wǎng)絡(luò)通信

VxWorks下基于緩沖隊(duì)列的網(wǎng)絡(luò)通信

類別:通信網(wǎng)絡(luò)

摘 要:網(wǎng)絡(luò)化是現(xiàn)代監(jiān)控系統(tǒng)的發(fā)展趨勢,網(wǎng)絡(luò)通訊程序的好壞直接影響到系統(tǒng)的可靠性。結(jié)合 VxWorks對(duì)多任務(wù)和網(wǎng)絡(luò)的良好支持,本文介紹了一種基于緩沖隊(duì)列的網(wǎng)絡(luò)通信模式,闡述了網(wǎng)絡(luò)監(jiān)測的原理和過程,通過實(shí)驗(yàn)驗(yàn)證了該通信模式的可靠性。

1引言

現(xiàn)代監(jiān)控系統(tǒng)的監(jiān)控對(duì)象越來越復(fù)雜,越來越分散,信號(hào)采集終端呈現(xiàn)分布式趨勢。各個(gè)信號(hào)采集終端經(jīng)常用小巧靈便、易于控制和性價(jià)比高的嵌入式系統(tǒng)構(gòu)成相對(duì)獨(dú)立的數(shù)據(jù)采集系統(tǒng),然后通過網(wǎng)絡(luò)將數(shù)據(jù)傳輸?shù)缴衔粰C(jī)服務(wù)器進(jìn)行統(tǒng)一分析處理。負(fù)責(zé)數(shù)據(jù)傳輸?shù)木W(wǎng)絡(luò)通信協(xié)議和軟件在整個(gè)監(jiān)控系統(tǒng)中起著十分重要的作用,然而周圍環(huán)境的電磁干擾、上位機(jī) CPU被占用等情況可能導(dǎo)致網(wǎng)絡(luò)阻塞、連接中斷等,如果軟件不能及時(shí)發(fā)現(xiàn)故障并做出相應(yīng)的處理,將會(huì)直接影響到整個(gè)系統(tǒng)的穩(wěn)定性,導(dǎo)致數(shù)據(jù)采集中斷,甚至使系統(tǒng)癱瘓。利用實(shí)時(shí)操作系統(tǒng) VxWorks對(duì)多任務(wù)的良好支持,本文提出了一種基于緩沖隊(duì)列的網(wǎng)絡(luò)通信模式,并添加了網(wǎng)絡(luò)狀態(tài)監(jiān)測功能,使系統(tǒng)能夠快速的對(duì)網(wǎng)絡(luò)斷線等故障做出響應(yīng),提高了網(wǎng)絡(luò)通信的穩(wěn)定性和可靠性。

2 VxWorks及分布式數(shù)據(jù)采集系統(tǒng)介紹

VxWorks是美國風(fēng)河( Wind River Systems)公司開發(fā)的一套具有微內(nèi)核、可裁減的高性能實(shí)時(shí)操作系統(tǒng),適用于當(dāng)下所有流行的目標(biāo) CPU平臺(tái),支持廣泛的網(wǎng)絡(luò)通信協(xié)議,為開發(fā)者提供了高效的實(shí)時(shí)多任務(wù)調(diào)度、終端管理、實(shí)時(shí)的系統(tǒng)資源及實(shí)時(shí)的任務(wù)間通信功能,是嵌入式領(lǐng)域中應(yīng)用最多的實(shí)時(shí)操作系統(tǒng)之一。VxWorks采用了與 4.4BSD TCP/IP兼容的實(shí)時(shí)網(wǎng)絡(luò)協(xié)議棧,使得網(wǎng)絡(luò)開發(fā)變得易于進(jìn)行和方便移植。利用 VxWorks對(duì)多任務(wù)和Socket的良好支持,可以方便地實(shí)現(xiàn)網(wǎng)絡(luò)通訊。

VxWorks下基于緩沖隊(duì)列的網(wǎng)絡(luò)通信

圖1是我們開發(fā)的一個(gè)基于 TCP/IP協(xié)議的分布式監(jiān)測系統(tǒng)的結(jié)構(gòu)示意圖。該系統(tǒng)主要可分為三個(gè)層次結(jié)構(gòu):服務(wù)器、采樣節(jié)點(diǎn)、傳感器。傳感器負(fù)責(zé)采集信號(hào),將物理信號(hào)轉(zhuǎn)換為電信號(hào);采樣節(jié)點(diǎn)首先對(duì)信號(hào)進(jìn)行預(yù)處理,然后通過 A/D芯片將信號(hào)轉(zhuǎn)換為數(shù)字信號(hào),最后通過網(wǎng)絡(luò)傳送給服務(wù)器;服務(wù)器負(fù)責(zé)數(shù)據(jù)的接收、分析、存儲(chǔ)并顯示結(jié)果。服務(wù)器和采樣節(jié)點(diǎn)之間通過TCP/IP協(xié)議進(jìn)行數(shù)據(jù)的傳輸與接收,網(wǎng)絡(luò)通訊程序的質(zhì)量直接影響著整個(gè)系統(tǒng)的穩(wěn)定性和可靠性。TCP/IP協(xié)議是目前廣泛采用的一組完整的網(wǎng)絡(luò)通信協(xié)議,可以用在各種各樣的信道和底層協(xié)議之上,是一組不基于任何特定硬件平臺(tái)而可實(shí)現(xiàn)異種機(jī)互聯(lián)的網(wǎng)絡(luò)通信協(xié)議,在網(wǎng)絡(luò)通信中被廣泛應(yīng)用。

VxWorks下基于緩沖隊(duì)列的網(wǎng)絡(luò)通信

具體表現(xiàn)為,消息隊(duì)列初始為空,數(shù)據(jù)發(fā)送任務(wù)阻塞在消息隊(duì)列上,網(wǎng)絡(luò)正常情況下,每有新的消息單元到達(dá)時(shí),數(shù)據(jù)發(fā)送任務(wù)就將該消息單元指向的數(shù)據(jù)包立刻發(fā)送出去;如果某個(gè)時(shí)刻網(wǎng)絡(luò)受到外界環(huán)境的影響變地不穩(wěn)定或發(fā)生短暫阻塞,數(shù)據(jù)包不能及時(shí)發(fā)出,該數(shù)據(jù)包就可緩存在 Buffer中,其地址信息緩存在消息隊(duì)列中,而不會(huì)丟失,等網(wǎng)絡(luò)正常后再發(fā)送出去。基于緩沖隊(duì)列的網(wǎng)絡(luò)通信模式如圖 3所示。根據(jù)待傳輸信息的緊急程度,不同的任務(wù)可以選擇基于 FIFO或優(yōu)先級(jí)向緩存隊(duì)列中寫入消息單元。

VxWorks下基于緩沖隊(duì)列的網(wǎng)絡(luò)通信

實(shí)驗(yàn)時(shí),以一臺(tái)普通 PC機(jī)作為上位機(jī)服務(wù)器,采樣節(jié)點(diǎn)和服務(wù)器之間通過一個(gè)百兆的交換機(jī)相連。采樣節(jié)點(diǎn)的所有采集通道全開,均設(shè)為最大采樣率,服務(wù)器每隔 5秒鐘查詢一次節(jié)點(diǎn)狀態(tài),此時(shí)數(shù)據(jù)傳輸率約為 65Mbit/s,系統(tǒng)連續(xù)運(yùn)行 8小時(shí)。實(shí)驗(yàn)結(jié)果顯示服務(wù)器收到的數(shù)據(jù)包數(shù)目和采樣節(jié)點(diǎn)發(fā)送的數(shù)據(jù)包數(shù)目相同,數(shù)據(jù)傳輸丟失率為 0.0%。

4網(wǎng)絡(luò)監(jiān)測原理

當(dāng)網(wǎng)絡(luò)發(fā)生中斷時(shí),系統(tǒng)軟件應(yīng)該能夠盡快發(fā)現(xiàn)網(wǎng)絡(luò)故障,并在網(wǎng)絡(luò)恢復(fù)后仍可正常運(yùn)行,因此軟件應(yīng)該具備網(wǎng)絡(luò)監(jiān)控功能,實(shí)時(shí)監(jiān)測網(wǎng)絡(luò)的連通性。監(jiān)測網(wǎng)絡(luò)連通性的一個(gè)比較簡單的方法就是通過服務(wù)器向采樣節(jié)點(diǎn)不間斷發(fā)送 ICMP(Internet控制消息協(xié)議 )包,如果能收到回應(yīng)則證明網(wǎng)絡(luò)連通,反之則表示網(wǎng)絡(luò)中斷。此法雖然簡單,但是當(dāng)節(jié)點(diǎn)比較多時(shí),大量的 ICMP數(shù)據(jù)包會(huì)占用 CPU資源,降低服務(wù)器的效率,故此法不可行。圖 4是我們?cè)O(shè)計(jì)的一個(gè)網(wǎng)絡(luò)監(jiān)控原理圖。

VxWorks下基于緩沖隊(duì)列的網(wǎng)絡(luò)通信

為避免影響到數(shù)據(jù)的實(shí)時(shí)傳輸,通信雙方各建立兩個(gè) socket端口,一個(gè)作為數(shù)據(jù)通道專門用來傳遞數(shù)據(jù)信息,另一個(gè)用作監(jiān)控通道,傳遞應(yīng)答信號(hào),監(jiān)測網(wǎng)絡(luò)的連通性;監(jiān)控通道負(fù)責(zé)管理和維護(hù)數(shù)據(jù)通道。節(jié)點(diǎn)和服務(wù)器端運(yùn)行的監(jiān)控任務(wù)都是無限循環(huán)任務(wù),每若干秒運(yùn)行一次。在每一個(gè)循環(huán)周期內(nèi),采樣節(jié)點(diǎn)都會(huì)向服務(wù)器發(fā)起一次連接,服務(wù)器端收到采樣節(jié)點(diǎn)的連接請(qǐng)求后,和其建立連接,然后向其發(fā)送信號(hào)指令。采樣節(jié)點(diǎn)收到信號(hào)指令后,向服務(wù)器發(fā)送應(yīng)答信號(hào),服務(wù)器若能在 T_wait時(shí)間內(nèi)收到應(yīng)答信號(hào),則判定網(wǎng)絡(luò)通暢,否則認(rèn)為網(wǎng)絡(luò)中斷。如果某時(shí)刻網(wǎng)絡(luò)出現(xiàn)斷線,那么重新建立連接后,服務(wù)器會(huì)向采樣節(jié)點(diǎn)發(fā)送重新連接指令,采樣節(jié)點(diǎn)收到重新連接指令后,會(huì)關(guān)閉原有的數(shù)據(jù)傳輸 socket,,重新和服務(wù)器建立數(shù)據(jù)傳輸通道。

實(shí)驗(yàn)時(shí),通過插拔網(wǎng)線模擬網(wǎng)絡(luò)的連通和斷線。結(jié)果表明,在系統(tǒng)進(jìn)行數(shù)據(jù)傳輸時(shí)拔掉網(wǎng)線,若在 20秒內(nèi)再接上,由于采樣節(jié)點(diǎn)具有一定的緩存能力,數(shù)據(jù)不會(huì)丟失,網(wǎng)絡(luò)仍可正常工作;若拔掉網(wǎng)線,超過 20秒之后再接上網(wǎng)線,采樣節(jié)點(diǎn)和服務(wù)器之間會(huì)重新建立連接,網(wǎng)絡(luò)仍可正常工作,但由于緩存隊(duì)列溢出,數(shù)據(jù)會(huì)發(fā)生丟失;若拔掉網(wǎng)線超過 30分鐘,采樣節(jié)點(diǎn)會(huì)判定網(wǎng)絡(luò)中斷、記錄故障并自動(dòng)關(guān)閉系統(tǒng),插上網(wǎng)線后,服務(wù)器通過網(wǎng)絡(luò)遠(yuǎn)程啟動(dòng)采樣節(jié)點(diǎn),系統(tǒng)繼續(xù)正常工作。

5總結(jié)

利用 VxWorks對(duì)多任務(wù)和網(wǎng)絡(luò)的良好支持,本文提出了一種基于緩沖隊(duì)列的帶網(wǎng)絡(luò)狀態(tài)監(jiān)測功能的網(wǎng)絡(luò)通信模式,目前已經(jīng)在我們開發(fā)的分布式監(jiān)控系統(tǒng)中得到應(yīng)用。該網(wǎng)絡(luò)通信模式使系統(tǒng)能夠應(yīng)付一定的網(wǎng)絡(luò)故障,提高了系統(tǒng)的可靠性。該模式還可以方便地應(yīng)用到其它嵌入式網(wǎng)絡(luò)開發(fā)中,具有廣泛的應(yīng)用前景。本文作者創(chuàng)新點(diǎn):本文提出的這種基于緩沖隊(duì)列的帶網(wǎng)絡(luò)狀態(tài)監(jiān)測功能的網(wǎng)絡(luò)通信模式,充分地利用了 VxWorks對(duì)多任務(wù)和網(wǎng)絡(luò)的良好支持,消息隊(duì)列不僅同步任務(wù),還可作為緩存隊(duì)列用來緩存數(shù)據(jù),使系統(tǒng)能夠應(yīng)付一定的網(wǎng)絡(luò)波動(dòng);監(jiān)控任務(wù)的工作模式使系統(tǒng)能夠快速發(fā)現(xiàn)網(wǎng)絡(luò)故障并做出響應(yīng),待網(wǎng)絡(luò)故障排除后仍可正常運(yùn)行。

相關(guān)技術(shù)資料


  本文關(guān)鍵詞:VxWorks下基于緩沖隊(duì)列的網(wǎng)絡(luò)通信,由筆耕文化傳播整理發(fā)布。



本文編號(hào):130376

資料下載
論文發(fā)表

本文鏈接:http://sikaile.net/kejilunwen/wltx/130376.html


Copyright(c)文論論文網(wǎng)All Rights Reserved | 網(wǎng)站地圖 |

版權(quán)申明:資料由用戶8d42e***提供,本站僅收錄摘要或目錄,作者需要?jiǎng)h除請(qǐng)E-mail郵箱bigeng88@qq.com