本發(fā)明專利技術涉及一種傳感器網(wǎng)絡節(jié)點代碼升級管理中間件、方法及應用,其特征在于代碼升級管理中間件作為一個中間體位于底層模塊和應用模塊之間;作為一個基本中間件子集,起運行代碼管理服務,為整個系統(tǒng)的維護升級提供解決方案;所述的傳感器網(wǎng)絡包括普通節(jié)點和傳感器網(wǎng)絡管理服務節(jié)點。底層模塊與中間件模塊的劃分;網(wǎng)絡使用的不同的無線或有線傳輸模塊,只需要更換底層模塊驅動。所述中間件內(nèi)置于節(jié)點和網(wǎng)絡管理服務節(jié)點內(nèi)部。中間件升級依次包括以下四個過程:a)升級包構建管理;b)升級包網(wǎng)絡傳輸采用無線傳輸方式;c)升級包接受與預處理;d)升級過程管理。本發(fā)明專利技術利用中間體技術,最大限度的應用于不同架構的硬件系統(tǒng)內(nèi),統(tǒng)一了升級接口、規(guī)范了升級步驟。
【技術實現(xiàn)步驟摘要】
一種傳感器網(wǎng)絡節(jié)點代碼升級管理中間件的升級方法
本專利技術涉及傳感器網(wǎng)絡中間件領域,特別是涉及一種傳感器網(wǎng)絡節(jié)點代碼升級管理中間件的升級方法。
技術介紹
傳感網(wǎng)是由大量多種類傳感節(jié)點組成的自治網(wǎng)絡,實現(xiàn)對物理世界的智能協(xié)同感知,是以感知為目的的物物互聯(lián)綜合信息系統(tǒng)。傳感網(wǎng)作為信息技術前沿領域,將改變未來人們的生活方式,對國家安全、經(jīng)濟和社會發(fā)展產(chǎn)生重大影響。傳感網(wǎng)具有高度創(chuàng)造性、滲透性和帶動性,在工業(yè)、農(nóng)業(yè)、軍事、環(huán)境、電力、交通、醫(yī)療、家居、公共安全等領域具有重大的應用價值,還將在許多新興領域體現(xiàn)其優(yōu)越性,如保健、媒體、咨詢等領域。雖然我國的傳感網(wǎng)技術及其應用的研究幾乎與發(fā)達國家同步啟動,但投入相對較少。由于目前傳感網(wǎng)缺乏統(tǒng)一的標準體系,設備種類和功能繁雜,節(jié)點的升級維護各自為政,無法互通,沒有形成一個統(tǒng)一的升級管理方法。長期以來,傳感網(wǎng)的統(tǒng)一標準一直沒有真正出臺,包括傳感器網(wǎng)絡升級管理中間件。傳感網(wǎng)節(jié)點的升級管理中間件是一個重點也是難點,它能有效解決節(jié)點遠程模塊升級,提高節(jié)點管理效率,降低管理成本。與中國科學院上海微系統(tǒng)與信息技術研究所作為申請人先前提出的“一種對無線傳感器網(wǎng)絡中的節(jié)點進行無線升級的方法(申請?zhí)枺?01210156913.3)”專利技術專利申請比較,本專利技術擬從下述六方面作改進:1)所述的中間件不僅僅是升級網(wǎng)絡節(jié)點代碼,還應具有對網(wǎng)絡節(jié)點代碼進行管理的功能;2)所述的中間件應適用于多種傳感器網(wǎng)絡,也就是所謂的可以跨平臺,可以適用于多種不同的廠家和型號的單片機,而不是單一的硬件平臺;3)可以對傳感器網(wǎng)絡的節(jié)點的程序進行模塊的選擇化升級,而不是一次性全部升級,這樣節(jié)約了升級成本,可以大大縮短升級時間;4)通過編譯器的鏈接器對軟件系統(tǒng)進行了邏輯劃分,總體上分為應用、驅動、中間件三大塊,提高了中間件的可移植性和可維護性;5)由于程序的邏輯劃分,尤其是驅動層的劃分,中間件可以適用于各種傳輸方式,可以是無線方式,也可以是有線方式,只要用戶對驅動進行重新升級即可。6)升級過程包含模塊版本管理過程,因此當某個模塊被升級同時,模塊內(nèi)部相關的其他模塊的版本如果過低,也可以進行關聯(lián)升級,提高了升級效率和智能性。以上幾方面的改進,構筑了本專利技術的構思。
技術實現(xiàn)思路
本專利技術的目的在于提供一種傳感器網(wǎng)絡節(jié)點代碼升級管理中間件的升級方法,所述的中間件能統(tǒng)一對不同處理器的傳感器網(wǎng)絡節(jié)點的進行代碼管理和升級維護,形成標準的代碼管理中間件。代碼升級管理中間件作為一個中間件它位于底層模塊和應用模塊之間,作為一個基本中間件子集,能夠運行代碼管理服務,為整個系統(tǒng)的維護升級提供解決方案。如圖1所示:所述的底層模塊可以任何驅動模塊和操作系統(tǒng)模塊,該方法能夠對驅動模塊和操作系統(tǒng)進行升級;所述的中間件模塊可以是任何中間件模塊,也可以是網(wǎng)絡節(jié)點代碼升級管理中間件本身,該方法能夠對任意某個中間件進行升級;所述的應用模塊指的是在底層操作系統(tǒng)和中間件之上的任何應用模塊,可以是單個模塊,也可以是多個應用模塊的集合,該方法能夠對單個或多個應用模塊進行升級;底層與中間件的劃分,是本專利技術的特點之一。如果網(wǎng)絡使用的不同的無線或有線傳輸模塊,那么只需要更換底層驅動即可。而底層驅動對上層中間件提供統(tǒng)一的傳輸接口,C語言描述如下:BoolHalDataSend(char*pkt,int16len)表示報文數(shù)據(jù)的傳輸,其中pkt表示被傳輸?shù)膱笪牡氖椎刂?,len表示該被傳輸報文的長度。另外底層驅動需要提供的接口是存儲器的操作接口,C語言描述如下:BoolHalFlashReaseAll()表示擦除整個Flash;BoolHalFlashRease(char*addr)表示對addr所指地址段Flash的擦除;BoolHalFlashWrite(char*addr,char*data,int16len)表示往addr地址的Flash段寫入長度為len的數(shù)據(jù)data;代碼管理中間件只需調(diào)用上述幾個固定標準的驅動接口即可,體現(xiàn)了中間件的分層思想。代碼升級管理可以對上層的應用模塊、中間件自身的模塊以及底層的OS(OperateSystem)、協(xié)議棧和硬件驅動的鏡像模塊進行遠程更新,升級過過如圖2所示。在設備的存儲區(qū)域中有一個專門的空間,用來存放三個區(qū)的起始和結束地址如圖3所示,起始地址的值寫入可以通過編譯器軟件的鏈接器事先指定。節(jié)點平時處于一般的應用程序運行狀態(tài),當接收到來自網(wǎng)絡管理節(jié)點升級命令,節(jié)點的升級管理中間件將節(jié)點的狀態(tài)切換至升級狀態(tài),即立即執(zhí)行升級模塊代碼,升級可以針對特定某個節(jié)點也可以對部分節(jié)點,甚至整個網(wǎng)絡進行升級,當對部分或者整個網(wǎng)絡進行升級時使用擴散傳輸方式。整個升級過程依次描述為:升級包構建管理升級包構建管理運行在網(wǎng)絡管理節(jié)點上,它通過版本管理、升級模式判斷和傳輸準備等服務,將需要部署的新模塊轉換成適合網(wǎng)絡傳輸?shù)纳壈F渲校姹竟芾矸战⒘酥虚g件與應用模塊之間的版本依賴關系列表,并維護著傳感網(wǎng)模塊更新歷史記錄表。當新模塊所調(diào)用的其它模塊的版本高于傳感網(wǎng)節(jié)點上運行的模塊版本時,版本管理服務就會先啟動對這些低版本模塊的升級任務。升級模式判斷服務先對新舊模塊進行比較,再根據(jù)模塊本身和增量內(nèi)容的大小,通過一定的算法分別計算出增量升級和整體升級的能耗,然后選擇出最佳的升級模式。如果新模塊僅改變了少量的代碼而模塊本身又很大,則應該選擇增量升級模式,通過傳輸代碼的差異部分而非整個模塊來減少不必要的帶寬開銷;然而當模塊修改幅度過大、或者傳感器節(jié)點上并無舊模塊時,則應使用整體升級模式,免去節(jié)點做增量更新時耗時的內(nèi)存操作。傳輸準備服務首先會判斷模塊是否能夠裝載在目標節(jié)點上,如果目標節(jié)點容量已經(jīng)無法容納新模塊,則升級直接宣告失敗,而如果可以容納,那么將繼續(xù)升級過程。接下來,將升級代碼分段打包封裝,加上包頭,并計算CRC校驗碼,為升級包在網(wǎng)絡中的傳輸做準備工作。升級包網(wǎng)絡傳輸升級包經(jīng)過構建管理環(huán)節(jié)封裝好之后,還需要通過網(wǎng)絡傳輸環(huán)節(jié)使用廣播擴散和周期性版本比較的方式將其快速、可靠地發(fā)布到網(wǎng)絡中的各個節(jié)點。廣播擴散服務又可以按照升級對象分為網(wǎng)絡整體升級和網(wǎng)絡局部升級,網(wǎng)絡整體升級需要研發(fā)低功耗、收斂速度快、可靠性高的廣播協(xié)議;而網(wǎng)絡局部升級則需要研發(fā)高效的多播、路由協(xié)議。一般的廣播協(xié)議難以保證全網(wǎng)絡覆蓋的可靠性(特別是移動節(jié)點),各節(jié)點還可以通過版本比較的方式保證可靠性:每個節(jié)點周期性和鄰居節(jié)點交換模塊版本索引,如鄰居節(jié)點有新版本的模塊則向其發(fā)送模塊請求,鄰居節(jié)點收到模塊請求后發(fā)送模塊的升級包,此方式也有助于升級模塊的擴散。升級包接收與預處理節(jié)點接收到第一個升級包,并處理完包頭信息后,先為整個升級模塊的存放分配存儲空間;在接收后續(xù)的升級包時,檢查序列號的連貫性,并對丟失的包發(fā)送重傳請求;直到新模塊的所有升級包都被完整接收后,再根據(jù)升級類型還原出升級模塊的完整代碼。在存儲空間分配時,可以根據(jù)升級模塊的大小和節(jié)點MCU內(nèi)部自由存儲空間的余量選擇合適的分配方案。如果內(nèi)部存儲空間足夠放置升級模塊,則應該使用內(nèi)部空間分配的方式來避免對外接Flash的低速操作;然而當內(nèi)部存儲空間不足時,只能使用大容量的外接Flash來存放升級模塊。丟包重傳的設計可以借鑒TCPreno(Transm本文檔來自技高網(wǎng)...

【技術保護點】
一種傳感器網(wǎng)絡節(jié)點代碼升級管理中間件,其特征在于代碼升級管理中間件作為一個中間體位于底層模塊和應用模塊之間;作為一個基本中間件子集,起運行代碼管理服務,為整個系統(tǒng)的維護升級提供解決方案;所述的傳感器網(wǎng)絡包括普通節(jié)點和傳感器網(wǎng)絡管理服務節(jié)點。
【技術特征摘要】
1.一種傳感器網(wǎng)絡節(jié)點代碼升級管理中間件的升級方法,其特征在于所述升級方法包括以下四個過程:a)升級包構建管理,所述升級包構建管理運行在網(wǎng)絡管理服務節(jié)點上,通過版本管理、升級模式判斷和傳輸準備服務,將需要部署的新模塊轉換成適合網(wǎng)絡傳輸?shù)纳壈?;b)升級包網(wǎng)絡傳輸,所述的升級包網(wǎng)絡傳輸采用無線傳輸方式,采用比較擴散方式,實現(xiàn)單個節(jié)點或區(qū)域性節(jié)點的升級;c)升級包接收與預處理,完成代碼完整性檢查和代碼空間開辟;d)升級過程管理,負責模塊升級前的預處理和升級時機的選擇,并在升級時使用新模塊替換舊模塊,在升級后對新模塊進行初始化、回收舊模塊空間...
【專利技術屬性】
技術研發(fā)人員:趙康,
申請(專利權)人:中國科學院上海微系統(tǒng)與信息技術研究所,
類型:發(fā)明
國別省市:
還沒有人留言評論。發(fā)表了對其他瀏覽者有用的留言會獲得科技券。