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

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 嵌入式網(wǎng)絡(luò)信息發(fā)布系統(tǒng)設(shè)計(jì)

          嵌入式網(wǎng)絡(luò)信息發(fā)布系統(tǒng)設(shè)計(jì)

          作者: 時(shí)間:2011-05-20 來源:網(wǎng)絡(luò) 收藏


          2 的單元交互
          單元之間的通信可以分為兩層:服務(wù)器與數(shù)據(jù)庫(kù)交互、服務(wù)器與遠(yuǎn)程終端通信。
          2.1 服務(wù)器與數(shù)據(jù)庫(kù)交互層
          的服務(wù)器具有遠(yuǎn)程監(jiān)控服務(wù)功能,包括Web服務(wù)器、文件服務(wù)器、本地控制服務(wù)器。其中,Web服務(wù)器提供系統(tǒng)的用戶交互界面和業(yè)務(wù)邏輯處理模塊的運(yùn)行環(huán)境;文件服務(wù)器主要提供系統(tǒng)管理的視頻、圖像等多媒體信息的存取服務(wù);本地控制服務(wù)器主要管理轄區(qū)內(nèi)所有顯示終端的通信分發(fā)。
          在服務(wù)器上編寫了具有人機(jī)交互功能的JSP靜態(tài)管理平臺(tái)界面,用戶可以通過該界面方便地進(jìn)行圖形化操作,并將終端反饋的信息顯示在該界面,方便用戶獲取終端的運(yùn)行情況,還為用戶提供有用戶權(quán)限管理、內(nèi)容管理、播放控制等模塊的監(jiān)控頁(yè)面。用戶只需登錄該管理平臺(tái)界面,即可通過對(duì)遠(yuǎn)程終端進(jìn)行監(jiān)控。
          服務(wù)器對(duì)數(shù)據(jù)庫(kù)的訪問采用JDBC兩層模型方法。JDBC是一種用于執(zhí)行SQL語(yǔ)句的Java API,利用這種方法可以方便地與數(shù)據(jù)庫(kù)建立連接,發(fā)送操作數(shù)據(jù)庫(kù)的語(yǔ)句,并處理結(jié)果。兩層模型可使得Java Applet或應(yīng)用程序?qū)⒅苯优c數(shù)據(jù)庫(kù)進(jìn)行交互。
          服務(wù)器與數(shù)據(jù)庫(kù)服務(wù)器的數(shù)據(jù)交互主要用于存取終端基本狀態(tài)信息。例如:網(wǎng)絡(luò)連接是否正常,連接在同一個(gè)服務(wù)器的各個(gè)終端ID號(hào),終端硬盤的空間大小,硬盤中的內(nèi)容等。指令的生成依賴于該模塊在數(shù)據(jù)庫(kù)中所查詢到的終端狀態(tài)標(biāo)志位。當(dāng)服務(wù)器對(duì)某終端進(jìn)行相應(yīng)的控制操作時(shí),首先從數(shù)據(jù)庫(kù)中讀取出該終端當(dāng)前的狀態(tài)標(biāo)志位,根據(jù)這些標(biāo)志位進(jìn)行邏輯判斷,生成本次控制操作所需要發(fā)送的XML文本指令。
          2.2 服務(wù)器與遠(yuǎn)程終端通信層
          服務(wù)器與遠(yuǎn)程終端的通信采用HTTP超文本傳輸協(xié)議,終端定時(shí)(初定8 s)發(fā)送請(qǐng)求到服務(wù)器。服務(wù)器接受到請(qǐng)求后,將相應(yīng)的XML文本語(yǔ)言形式的控制操作指令發(fā)送到連接的網(wǎng)絡(luò)端口,遠(yuǎn)程終端讀取端口的數(shù)據(jù)進(jìn)行解析,完成本次控制操作。如果一定時(shí)間內(nèi)(初定1 min)沒有收到終端的消息,可斷定出現(xiàn)網(wǎng)絡(luò)異常(終端離線)。
          終端系統(tǒng)正常啟動(dòng)之后,系統(tǒng)將自動(dòng)分配一段內(nèi)存空間,一部分用來存儲(chǔ)請(qǐng)求信息和控制指令,一部分作為消息隊(duì)列。然后,終端的狀態(tài)信息作為請(qǐng)求信息循環(huán)向指定IP地址(服務(wù)器)的端口(初定80端口)發(fā)送。終端請(qǐng)求成功后,服務(wù)器讀取端口接收的請(qǐng)求信息,將請(qǐng)求信息解析后作為終端的當(dāng)前狀態(tài)信息,更新數(shù)據(jù)庫(kù)中的狀態(tài)標(biāo)志位。同時(shí),服務(wù)器也可以通過HTTP傳輸協(xié)議發(fā)送XML語(yǔ)言結(jié)構(gòu)的文本指令給終端,終端接收到指令后進(jìn)行解析,并對(duì)終端進(jìn)行相應(yīng)的控制操作。

          3 信息發(fā)布系統(tǒng)的關(guān)鍵技術(shù)
          硬件的系統(tǒng)頻率、存儲(chǔ)空間、緩存大小、編碼和解碼等性能已經(jīng)達(dá)到了較高的技術(shù)水平。那么,對(duì)于芯片在不同領(lǐng)域中的應(yīng)用更依靠于操作系統(tǒng)和靈活的軟件思想來實(shí)現(xiàn)。
          在該系統(tǒng)的中,服務(wù)器的需要考慮服務(wù)器與數(shù)據(jù)庫(kù)和終端的交互協(xié)議,當(dāng)通過服務(wù)器控制多臺(tái)終端的時(shí)候,對(duì)于指令分發(fā)、數(shù)據(jù)包傳輸、以及數(shù)據(jù)庫(kù)的更新都存在著時(shí)序和邏輯問題。為了節(jié)省系統(tǒng)內(nèi)存的開銷,也要保證系統(tǒng)的實(shí)時(shí)性和可靠性,所以終端的操作系統(tǒng)選擇μC/OS-Ⅱ。該操作系統(tǒng)沒有集成網(wǎng)絡(luò)協(xié)議,所以結(jié)合其性能條件定制適合它的網(wǎng)絡(luò)傳輸協(xié)議。
          3.1 終端網(wǎng)絡(luò)程序的設(shè)計(jì)
          遠(yuǎn)程終端的執(zhí)行效果只有到現(xiàn)場(chǎng)才可以觀察,那么,保證終端接收指令和對(duì)指令響應(yīng)的可靠性是十分必要的。HTTP協(xié)議是一種文本協(xié)議,文本協(xié)議通常是用ASCII符集編碼,具有理解簡(jiǎn)單,擴(kuò)展擴(kuò)充方便,容錯(cuò)性較強(qiáng),可靠性高等優(yōu)點(diǎn)。開發(fā)人員可以方便地進(jìn)行協(xié)議的定制,節(jié)省了軟件調(diào)試時(shí)間,大大縮短了開發(fā)周期。因此,在該系統(tǒng)的操作系統(tǒng)中定制了HTTP超文本傳輸協(xié)議。
          μC/OS-Ⅱ操作系統(tǒng)中創(chuàng)建一個(gè)系統(tǒng)網(wǎng)絡(luò)的入口函數(shù),在此函數(shù)中創(chuàng)建一個(gè)網(wǎng)絡(luò)后臺(tái)任務(wù),該任務(wù)的主要功能是請(qǐng)求網(wǎng)絡(luò)連接,并接收來自服務(wù)器的指令。當(dāng)終端系統(tǒng)初始化后,進(jìn)入網(wǎng)絡(luò)后臺(tái)任務(wù),循環(huán)向服務(wù)器發(fā)送HTTP請(qǐng)求,請(qǐng)求成功后,終端反饋信息到服務(wù)器。
          系統(tǒng)軟件使用C語(yǔ)言編程,將HTTP協(xié)議封裝在結(jié)構(gòu)體中,用結(jié)構(gòu)體屬性字段來表示。
          網(wǎng)絡(luò)端口的所有數(shù)據(jù)項(xiàng),包括HTTP協(xié)議頭、控制指令、lP地址、端口號(hào)、端口信號(hào)量鎖等。HTTP協(xié)議的結(jié)構(gòu)體如下:
          b.jpg
          其中:http_Request[REQUEST_SIZE為HTTP協(xié)議頭字符串;http_Response為服務(wù)器發(fā)給終端的控制指令;httpWait為信號(hào)量。用信號(hào)量來實(shí)現(xiàn)網(wǎng)絡(luò)端口的互斥訪問。
          在系統(tǒng)中,網(wǎng)絡(luò)管理平臺(tái)控制多個(gè)嵌入式終端時(shí),通過網(wǎng)絡(luò)端口與每個(gè)終端進(jìn)行網(wǎng)絡(luò)連接通信。網(wǎng)絡(luò)端口是獨(dú)占性的端口,所以,選擇信號(hào)量機(jī)制對(duì)網(wǎng)絡(luò)端口的訪問進(jìn)行互斥鎖處理。

          本文引用地址:http://www.ex-cimer.com/article/150731.htm

          HTTPTcpConnection_t為網(wǎng)絡(luò)端口連接信息,它也是一個(gè)結(jié)構(gòu)體,屬性字段包括服務(wù)器的IP地址、網(wǎng)絡(luò)端口號(hào)、以及終端請(qǐng)求信息等。代碼如下:
          c.jpg
          d.jpg
          3.2 多任務(wù)間通信
          μC/OS-Ⅱ是多任務(wù)機(jī)制操作系統(tǒng),最多可支持64個(gè)任務(wù),任務(wù)優(yōu)先級(jí)從0~63,對(duì)這樣的多任務(wù)操作系統(tǒng)來說,任務(wù)間的通信是必不可少的。μC/OS-Ⅱ中提供了4種通信對(duì)象,分別是信號(hào)量、郵箱、消息隊(duì)列和事件。所有這些同步對(duì)象都有創(chuàng)建、等待、發(fā)送、查詢的接口用于實(shí)現(xiàn)任務(wù)間的通信。

          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); })();