<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 手機(jī)與無(wú)線通信 > 設(shè)計(jì)應(yīng)用 > 嵌入式網(wǎng)絡(luò)智能控制系統(tǒng)的研究

          嵌入式網(wǎng)絡(luò)智能控制系統(tǒng)的研究

          作者: 時(shí)間:2008-05-26 來(lái)源:網(wǎng)絡(luò) 收藏
          摘要設(shè)備與Internet結(jié)合將代表著技術(shù)的真正未來(lái)。文中將嵌入式操作系統(tǒng)與Internet相結(jié)合,首先給出了基于Web服務(wù)器的嵌入式的體系結(jié)構(gòu);然后,設(shè)計(jì)了軟件系統(tǒng),并給出了嵌入式網(wǎng)絡(luò)控制終端與Web服務(wù)器之間信息交換的報(bào)文格式,提出了調(diào)度服務(wù)器的參數(shù)計(jì)算方法和負(fù)載調(diào)度算法;最后,給出實(shí)驗(yàn)結(jié)果和結(jié)論。
          關(guān)鍵詞:嵌入式操作系統(tǒng);Web服務(wù)器;調(diào)度算法

          1

          隨著 Internet 技術(shù)的發(fā)展、信息家電的普及應(yīng)用以及EOS(Embedded Operating System)的微型化和專業(yè)化,EOS 開(kāi)始從單一的弱功能向高專業(yè)化的強(qiáng)功能方向發(fā)展。以基于Internet為標(biāo)志的嵌入式系統(tǒng),正處在迅速發(fā)展的階段。目前大多數(shù)嵌入式系統(tǒng)還孤立于Internet之外,但隨著Internet的發(fā)展以及Internet技術(shù)與信息家電、工業(yè)控制技術(shù)等結(jié)合日益密切,嵌入式設(shè)備與Internet的結(jié)合將代表著嵌入式技術(shù)的真正未來(lái)。

          本文所的嵌入式網(wǎng)絡(luò)智能終端,以微處理系統(tǒng)直接與以太網(wǎng)連接的方式,將嵌入式操作系統(tǒng)和Internet 網(wǎng)絡(luò)有機(jī)地結(jié)合起來(lái)。以下將從嵌入式網(wǎng)絡(luò)智能控制系統(tǒng)的體系結(jié)構(gòu)、軟件系統(tǒng)兩部分進(jìn)行闡述。

          2 嵌入式網(wǎng)絡(luò)智能控制系統(tǒng)的體系結(jié)構(gòu)

          嵌入式網(wǎng)絡(luò)智能控制系統(tǒng)的應(yīng)用環(huán)境與網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)如圖1所示。圖1所示的拓?fù)浣Y(jié)構(gòu)由嵌入式網(wǎng)絡(luò)智能終端、調(diào)度服務(wù)器、Web服務(wù)器組[2]、Internet主機(jī)組成。嵌入式網(wǎng)絡(luò)智能終端采用uCLinux操作系統(tǒng)[1],該終端直接與以太網(wǎng)相連,將數(shù)據(jù)傳送到Internet廣域網(wǎng)的Web服務(wù)器。調(diào)度服務(wù)器在該系統(tǒng)中起負(fù)載調(diào)度的作用,不至于Web服務(wù)器中的某個(gè)服務(wù)器負(fù)載過(guò)重。Web服務(wù)器組收集嵌入式網(wǎng)絡(luò)智能終端系統(tǒng)的數(shù)據(jù),應(yīng)答廣域網(wǎng)主機(jī)的訪問(wèn)。廣域網(wǎng)中的主機(jī)可以隨機(jī)訪問(wèn)Web服務(wù)器獲取嵌入式網(wǎng)絡(luò)智能終端的數(shù)據(jù),有特定權(quán)限的主機(jī)并可以直接訪問(wèn)嵌入式網(wǎng)絡(luò)智能終端。

          圖1系統(tǒng)應(yīng)用環(huán)境與網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)

          嵌入式網(wǎng)絡(luò)智能終端由微處理器、外部接口、網(wǎng)絡(luò)信息處理、電平轉(zhuǎn)換、擴(kuò)展存儲(chǔ)器等幾部分組成,嵌入式網(wǎng)絡(luò)智能終端的硬件結(jié)構(gòu)如圖2所示。

          圖 2嵌入式網(wǎng)絡(luò)智能終端硬件結(jié)構(gòu)

          3 軟件系統(tǒng)

          3.1嵌入式網(wǎng)絡(luò)智能終端軟件體系結(jié)構(gòu)

          根據(jù)圖1所示的環(huán)境本文選用uClinux操作系統(tǒng)作為軟件系統(tǒng)開(kāi)發(fā)平臺(tái),圖3顯示了軟件系統(tǒng)的整體構(gòu)架。軟件系統(tǒng)分為兩個(gè)部分:受控對(duì)象軟件部分與嵌入式網(wǎng)絡(luò)智能終端軟件部分。

          受控對(duì)象軟件部分涉及傳感器如何收集受控對(duì)象的信號(hào),如何驅(qū)動(dòng)受控對(duì)象和外設(shè),怎樣將信號(hào)傳送到嵌入式網(wǎng)絡(luò)智能控制終端。

          嵌入式網(wǎng)絡(luò)智能終端軟件部分涉及到內(nèi)核的修改、操作系統(tǒng)的移植、文件處理、圖形用戶接口的設(shè)計(jì)、任務(wù)的處理、如何添加應(yīng)用程序到uClinux中以及嵌入式網(wǎng)絡(luò)智能控制終端與Web服務(wù)器之間信息的交換。

          圖3 軟件系統(tǒng)的整體構(gòu)架

          3.2 嵌入式網(wǎng)絡(luò)智能控制終端與Web服務(wù)器之間信息的交換

          Web服務(wù)器是遠(yuǎn)程設(shè)備導(dǎo)出信息的重要手段,它可以通過(guò)公共網(wǎng)關(guān)接口(CGI)的表單允許修改設(shè)備參數(shù),從而進(jìn)行遠(yuǎn)程監(jiān)控[2]。Web服務(wù)器已經(jīng)成為遠(yuǎn)程管理,特別是那些沒(méi)有傳統(tǒng)用戶界面(如本文設(shè)計(jì)的嵌入式智能終端)的設(shè)備標(biāo)準(zhǔn)。Web瀏覽器可以與遠(yuǎn)程設(shè)備進(jìn)行通信,并展示相應(yīng)的數(shù)據(jù)。在圖1所示的拓?fù)洵h(huán)境中Web服務(wù)器、客戶機(jī)和嵌入式網(wǎng)絡(luò)智能終端使用超文本協(xié)議[3](HTTP)和網(wǎng)路編程來(lái)實(shí)現(xiàn)信息的交換和遠(yuǎn)程管理。

          HTTP是一種基于ASCII的協(xié)議。HTTP在TCP/IP協(xié)議上面使用標(biāo)準(zhǔn)同步請(qǐng)求/應(yīng)答模式、客戶機(jī)/服務(wù)器結(jié)構(gòu)[4]。當(dāng)客戶機(jī)向HTTP服務(wù)器提出請(qǐng)求時(shí),需要發(fā)送一個(gè)HTTP請(qǐng)求報(bào)文,該報(bào)文的格式如圖4所示。

          圖4 HTTP請(qǐng)求報(bào)文格式

          圖4顯示HTTP請(qǐng)求報(bào)文由請(qǐng)求行、可選報(bào)頭、可選報(bào)文報(bào)體字段組成。請(qǐng)求行建立后來(lái)活動(dòng)的舞臺(tái)??蛇x報(bào)頭指出客戶機(jī)請(qǐng)求的協(xié)議,以及服務(wù)器在應(yīng)答之前要了解的客戶機(jī)的信息。

          HTTP請(qǐng)求報(bào)文包含很少的一些信息,但通過(guò)這些信息可以通知服務(wù)器它的“能力和偏好”。同樣HTTP應(yīng)答也采用類似的結(jié)構(gòu),在這里就不再闡述。

          3.3 網(wǎng)絡(luò)數(shù)據(jù)的提交

          實(shí)現(xiàn)嵌入式網(wǎng)絡(luò)智能終端應(yīng)用程序網(wǎng)絡(luò)數(shù)據(jù)提交(圖3軟件層中的應(yīng)用程序)時(shí),嵌入式網(wǎng)絡(luò)智能終端與廣域網(wǎng)Web服務(wù)器之間的網(wǎng)絡(luò)通信采用客戶/服務(wù)器模式方式,即uCLinux操作系統(tǒng)環(huán)境下進(jìn)行網(wǎng)絡(luò)編程。實(shí)現(xiàn)網(wǎng)絡(luò)編程(信息傳輸)包括以下五個(gè)基本過(guò)程:創(chuàng)建套接字:調(diào)用socket();綁定套接字:調(diào)用bind();創(chuàng)建連接:調(diào)用connect();監(jiān)聽(tīng)連接:調(diào)用listen();建立連接:調(diào)用accept()。

          3.4調(diào)度服務(wù)器的調(diào)度算法

          影響圖1所示的嵌入式網(wǎng)絡(luò)智能控制系統(tǒng)可靠性的關(guān)鍵因素是調(diào)度服務(wù)器的網(wǎng)絡(luò)性能,合理進(jìn)行參數(shù)計(jì)算和映射與負(fù)載定位是提升網(wǎng)絡(luò)性能的關(guān)鍵。

          3.4.1 參數(shù)的計(jì)算和映射

          CPU利用率能直接反映服務(wù)器的性能,以下給出linux操作系統(tǒng)中獲取CPU利用率過(guò)程,linux操作系統(tǒng)中通過(guò)讀取/proc/stat文件,該文件中記錄有sys、user、nice和idle變量。計(jì)算CPU利用率時(shí)只要兩次讀取這些變量,然后利用公式:

          Total_1=user_1+nice_1+sys_1+idel_1;

          Total_2=user_2+nice_2+sys_1+idel_2;

          IntCpuRate=(int)(((float)((user_2+sys_2+nice_2)-(user_1+sys_1+nice_1))/(float)(total_2-total_1))*100);

          其中total_1為第一次讀取的參數(shù)總和,total_2為第二次讀取的參數(shù)總和。

          對(duì)于其他的參數(shù),例如緩沖區(qū)的大小,可以通過(guò)調(diào)用linux操作系統(tǒng)的系統(tǒng)函數(shù)ioct1()來(lái)獲取。

          獲取對(duì)應(yīng)的參數(shù)以后,再將對(duì)應(yīng)的參數(shù)映射到負(fù)載定位算法中,在參數(shù)的轉(zhuǎn)換過(guò)程中主要采用的算法是動(dòng)態(tài)閥值算法[5]。該算法的數(shù)學(xué)模型如下:

          上式中B為系統(tǒng)接口緩沖區(qū)空間的容量,Qi(t)為第i個(gè)Web服務(wù)器的隊(duì)列長(zhǎng)度,Q(t)為當(dāng)前系統(tǒng)總隊(duì)列長(zhǎng)度,T(t)為不再連接會(huì)話的閥值參數(shù),α為調(diào)節(jié)因子。上述公式可知,動(dòng)態(tài)閥值算法根據(jù)系統(tǒng)狀態(tài)動(dòng)態(tài)調(diào)整控制閥值,閥值的大小與當(dāng)前系統(tǒng)中空閑的資源成正比,當(dāng)某個(gè)Web服務(wù)器緩沖區(qū)空間超過(guò)閥值時(shí),將阻塞該Web服務(wù)器,不再給該Web服務(wù)器分配負(fù)載。

          3.4.2 負(fù)載定位策略

          根據(jù)前面得到參數(shù),將這些參數(shù)傳遞到調(diào)度服務(wù)器。調(diào)度服務(wù)器通過(guò)使用加權(quán)輪轉(zhuǎn)調(diào)度算法[5]來(lái)選擇合適的服務(wù)器,即將負(fù)載定位到具體Web服務(wù)器上。定位策略的算法描述如下:

          假設(shè)有一組Web服務(wù)器表示為S = {S0, S1, …, Sn-1},W(Si)表示W(wǎng)eb服務(wù)器 Si的權(quán)值,變量 i表示上一次選擇的Web服務(wù)器,變量cw表示當(dāng)前調(diào)度的權(quán)值,max(S)表示集合S中所有Web服務(wù)器的最大權(quán)值,gcd(S)表示集合S中所有Web服務(wù)器權(quán)值的最大公約數(shù)。變量 i 和cw最初都被初始化為零。算法描述如下:

          while (true) {

          if (i == 0) {

          cw = cw - gcd(S);

          if (cw = 0) {

          cw = max(S);

          if (cw == 0)

          return NULL;

          }

          } else i = (i + 1) mod n;

          if (W(Si) >= cw)

          return Si; }

          4實(shí)驗(yàn)環(huán)境和結(jié)果

          實(shí)驗(yàn)拓?fù)浣Y(jié)構(gòu)采用如圖1所示的最簡(jiǎn)系統(tǒng)。嵌入式網(wǎng)絡(luò)智能終端采用嵌入uClinux操作系統(tǒng),并在uClinux操作系統(tǒng)添加相應(yīng)的網(wǎng)絡(luò)通信程序。調(diào)度服務(wù)器采用Linux9.0作為操作系統(tǒng)并實(shí)現(xiàn)3.3節(jié)的調(diào)度算法。Web服務(wù)器組、Internet主機(jī)為常見(jiàn)的形式。圖5是利用Ethereal網(wǎng)絡(luò)協(xié)議分析器獲取的數(shù)據(jù)包的情況,該圖表明本文設(shè)計(jì)的系統(tǒng)和采用的算法有效。

          圖5 獲取的數(shù)據(jù)包

          5 結(jié)束語(yǔ)

          實(shí)驗(yàn)表明本文提出的系統(tǒng)結(jié)構(gòu)、負(fù)載計(jì)算法和調(diào)度算法實(shí)現(xiàn)了嵌入式網(wǎng)絡(luò)智能控制終端的遠(yuǎn)程控制。通過(guò)采用加權(quán)輪轉(zhuǎn)調(diào)度算法和動(dòng)態(tài)閥值算法解決了系統(tǒng)負(fù)載調(diào)度問(wèn)題,使得系統(tǒng)具有良好的網(wǎng)絡(luò)性能和較高的實(shí)際應(yīng)用價(jià)值。該系統(tǒng)的實(shí)現(xiàn)為進(jìn)一步進(jìn)行嵌入式網(wǎng)絡(luò)遠(yuǎn)程控制系統(tǒng)服務(wù)的搭建了一個(gè)良好的網(wǎng)絡(luò)平臺(tái)。

          參考文獻(xiàn)

          [1] 李晶,張維新. uClinux下實(shí)時(shí)任務(wù)的一種實(shí)現(xiàn)方法[J].微計(jì)算機(jī)信息,2005(1):129-130

          [2] 王東濱,方濱興,云曉春. 基于Web管理的網(wǎng)絡(luò)監(jiān)測(cè)技術(shù)的設(shè)計(jì)與實(shí)[J]. 計(jì)算機(jī)工程, 2002(10),2003-2004

          [3] J. Gettys J. Mogul Hypertext Transfer Protocol -- HTTP/1.1[S] RFC2068

          [4] M.tim jones 嵌入式系統(tǒng)TCP/IP應(yīng)用層協(xié)議[M]. 北京:電子工業(yè)出版社,2003.91-96.

          [5] Hahme E L, Choudhury A K. Dynamic queue length threshold for mulitiple loss priorities. IEEE/ACM Trans Networking[J],2002,10(3):368-380

          linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)


          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();