盧遠征
摘 要:嵌入式通信系統(tǒng)的廣泛應用使得網(wǎng)絡系統(tǒng)互連成為大勢所趨。作為嵌入式通信系統(tǒng)的關鍵構件——中間件,其具有異構性、異質性、對等性等特征。嵌入式中間件即應用在嵌入式通信系統(tǒng)的中間件,但嵌入式中間件與傳統(tǒng)的中間件相比,由于嵌入式環(huán)境的資源限制,嵌入式通信系統(tǒng)的中間件功能和結構要更為緊湊,實時性也更高。本文分析了嵌入式通信系統(tǒng)的中間件的架構,為解決嵌入式通信系統(tǒng)互連的通信問題提供可行性方案。
關鍵詞:嵌入式通信;中間件;馬爾可夫決策過程;路由算法
一、嵌入式通信系統(tǒng)中間件概述
1. 嵌入式通信系統(tǒng)中間件
中間件系一種獨立的系統(tǒng)軟件程序或者服務程序,其提供一個網(wǎng)絡的化高層抽象集合。嵌入式通信系統(tǒng)的中間件的作用是將編程人員從復雜的聯(lián)系中解脫出來,并提供安全的消息、目錄、服務和文件等功能。嵌入式通信系統(tǒng)軟件開發(fā)者需要屏蔽底層、繁瑣、易錯的細節(jié),同時又起到互連、互動的作用,嵌入式通信系統(tǒng)借助中間件在不同的技術之間共享資源。因此,嵌入式通信系統(tǒng)下的中間件可以簡化為中間件平臺通信。
2. 嵌入式通信系統(tǒng)中間件的功能模塊
研究嵌入式通信系統(tǒng)中間件,需先分析其功能模塊。對實時編程、構件技術進行分析,可以提高信息協(xié)同能力。對消息傳遞、排隊技術進行分析,建立網(wǎng)絡通信通道。進行數(shù)據(jù)、文件發(fā)送設計,可以適應多種嵌入式操作系統(tǒng)環(huán)境,亦可運行于單任務或無操作系統(tǒng)支撐的環(huán)境。支持可擴充性的嵌入式通信系統(tǒng)技術,可以滿足嵌入式通信系統(tǒng)的實時性。嵌入式通信系統(tǒng)中間件在上述過程中完成以下功能:自動發(fā)現(xiàn)通信設備;屏蔽配置通信設備異構性;消息的路由傳遞和排隊;建立網(wǎng)絡通信的通道;控制數(shù)據(jù)、文件傳輸。
二、嵌入式通信系統(tǒng)中間件的系統(tǒng)架構
1. 嵌入式通信系統(tǒng)中間件整體架構
嵌入式通信系統(tǒng)的中間件的核心安裝在設備的物理層之上,位于需要進行消息傳遞的位置。向下游需要屏蔽不同設備系統(tǒng)、通信協(xié)議產生的異構性,向上游需要根據(jù)不同應用,建立邏輯通道,使消息從發(fā)送方傳遞到接收方,實現(xiàn)嵌入式異構對等異質網(wǎng)絡的通信目的。
在嵌入式通信系統(tǒng)中間件層,面向應用程序的部分作為通信接口,對應用程序調用。該接口的運行與具體的操作系統(tǒng)無關,僅為用戶使用的統(tǒng)一規(guī)范的調用接口。在編寫應用程序時,毋需調用具體操作系統(tǒng),亦毋需與具體硬件調用,所有通信功能皆由調用中間件接口完成。對用戶端而言,該層完整地提供了虛擬的通信功能。
2. 嵌入式通信系統(tǒng)中間件設計層次
嵌入式通信系統(tǒng)的中間件處在物理層上,向下游需要屏蔽設備的異構性,向上游需要提供統(tǒng)一的接口,用以供應用程序或者供用戶端直接使用。嵌入式通信系統(tǒng)一般采用層次設計的方式,把中間件分為既獨立又互相調用的六個層次:驅動層;路由層;接口層;應用層;傳輸層和鏈路層。
驅動層包括所有與硬件相關或無關的設備驅動;接口層方便嵌入式通信系統(tǒng)的通信中間件能夠在不同操作系統(tǒng)之間自由移植;鏈路層控制與之直接相連的設備之間的通信時序性、同步性和差錯控制;路由層實現(xiàn)消息在多個設備組成的互連網(wǎng)絡中的尋找最優(yōu)路經,建立數(shù)據(jù)包排隊機制;傳輸層為用戶端提供端到端的傳輸;應用層根據(jù)不同應用,來選擇不同傳輸控制級別和路由層協(xié)議。
三、嵌入式通信系統(tǒng)中間件的馬爾可夫決策
1. 嵌入式通信系統(tǒng)中間件鏈路的因素
在嵌入式環(huán)境下進行轉發(fā),需要考慮如鄰居節(jié)點的處理能力、能量供應、內存資源情況、連通度、鏈路的延時、物理移動性、設備對鏈路介質本身的偏好性傳送速度和流量負載、等鏈路及與其相連的鄰居節(jié)點的因素。嵌入式通信系統(tǒng)根據(jù)可否發(fā)生變化的性質,將這些因素分為時變性因素或確定性因素。
2. 嵌入式通信系統(tǒng)中間件的馬爾可夫決策過程
馬爾可夫決策過程即著名的馬氏過程,作為系統(tǒng)序列決策的一種方法,系高效、低能耗的系統(tǒng)決策方式。序列決策即特定過程在系統(tǒng)中處于一定狀態(tài),根據(jù)其狀態(tài)選擇一個行動,被稱為決策。馬爾可夫決策過程對系統(tǒng)的運行有兩個影響:一是產生即得費用;二是系統(tǒng)的狀態(tài)會依此行動有關的規(guī)律在下一個階段轉移到新的狀態(tài)。重復與開始時相同的問題,亦即為選取時刻的決策。往復循環(huán),直至確定一個過程的決策序列——策略。歸根結底,序列決策問題就是要在第一個決策之前已然選好一個策略,使決策序列相對應的報酬序列中效用函數(shù)值在此策略下達到最優(yōu)。
四、嵌入式通信系統(tǒng)中間件協(xié)議
1. 嵌入式通信系統(tǒng)中間件單播路由過程
嵌入式通信系統(tǒng)中間件在通信時的單播路由工作過程是:首先,查找本地路由表,若查找到目的地的路由表項,下一步按照指示發(fā)送,否則繼續(xù)查找;其次,尋找路徑,在源節(jié)點廣播路徑選擇請求,進而在各設備之間采用泛洪模式傳遞請求。整個決策過程由嵌入式通信系統(tǒng)目的設備節(jié)點發(fā)起,再計算初始試,將計算值傳遞給相鄰設備節(jié)點。在后期各階段,各設備之間分別計算。當階段算法即將結束時,設備節(jié)點、源皆產生本地決策。在路由表中加入新的路由表項,作為目的地址,并繼續(xù)加為下一跳。最后需要初始化此表項路由的超時定時器值,至此路由計算過程方結束。在各設備之間定期的廣播消息中發(fā)現(xiàn)、保持鄰居的信息,利用鏈路狀態(tài)更新策略,在鄰居節(jié)點之間傳遞費用向量,并將其記錄在自己的鄰居表中。
2. 嵌入式通信系統(tǒng)中間件的鏈路狀態(tài)的更新
嵌入式通信系統(tǒng)中間件的鏈路狀態(tài)的更新系基于發(fā)生事件,進而導致鏈路的時變性因素發(fā)生變化,此時必須進行的新鏈路狀態(tài)通告。嵌入式通信系統(tǒng)的中間件鏈路狀態(tài)更新不及時,將會導致信息錯誤。不精確的鏈路狀態(tài)下的路由器,將會關注多種時變性因素的狀態(tài)更新問題。根據(jù)各時變因素的性質,可以采取兩種更新方法:一是閡值事件更新,二是外部事件更新。前者用于因傳輸數(shù)據(jù)而發(fā)生變化的因素,其處理器的處理能力、能量、內存、鏈路可用帶寬更新,當變化幅度大于某閡值時,則自動更新;后者用于由于嵌入式通信系統(tǒng)設備本身的拆除、加入,因此而產生變化的因素節(jié)點的連通性或者移動概率。
參考文獻
[1] 章森,吳建平,林闖.互聯(lián)網(wǎng)端到端擁塞控制研究綜述.軟件學報,2012年.
[2] 李文杰,劉斌.輸入排隊中搶占式的短包優(yōu)先調度算法.電子學報,2015年.
[3] 郭傳雄,鄭少仁.對操作系統(tǒng)中網(wǎng)絡協(xié)議的層排隊分析,計算機學報,2015年.
[4] 唐應輝.論一基礎與應用分析,科學出版社,2015年.
[5] 陳敏.OPNET網(wǎng)絡仿真,清華大學出版社,2014年.