国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

WSN網(wǎng)絡(luò)數(shù)據(jù)管理軟件系統(tǒng)設(shè)計與開發(fā)

2021-04-04 08:35
信息記錄材料 2021年9期
關(guān)鍵詞:內(nèi)存編程組件

席 奇

(景德鎮(zhèn)學(xué)院 江西 景德鎮(zhèn) 333000)

1 引言

網(wǎng)絡(luò)軟件的重編程基礎(chǔ)設(shè)施傳感器(wireless sensor network,WSN)是由一個數(shù)據(jù)分發(fā)系統(tǒng)構(gòu)成的,能夠組織數(shù)據(jù)的系統(tǒng)內(nèi)存。通過使用嵌入式操作系統(tǒng)提供的應(yīng)用程序,隱藏此數(shù)據(jù)組織的基礎(chǔ)結(jié)構(gòu)[1]。通常情況下,重新編程可更新模塊構(gòu)成。這些模塊的內(nèi)存位置在運行時會被替換。此外,數(shù)據(jù)庫的所有新數(shù)據(jù)相關(guān)節(jié)點都能正確接收更多模塊,在重新編程的過程中為了提供安全的數(shù)據(jù)傳輸,應(yīng)運用數(shù)據(jù)分發(fā)協(xié)議與操作系統(tǒng)基礎(chǔ)設(shè)施。Epos實時更新系統(tǒng)是操作系統(tǒng)的基礎(chǔ)系統(tǒng),在內(nèi)存消耗、方法調(diào)用時間和重新配置時間方面具有更好的性能。這一有利的結(jié)果是,Epos實時更新系統(tǒng)的內(nèi)存消耗仍然需要改進(jìn)。此外,Epos實時更新系統(tǒng)沒有任何用于數(shù)據(jù)傳播的支持[2]。

2 WSN網(wǎng)絡(luò)數(shù)據(jù)管理軟件系統(tǒng)設(shè)計

一般來說,網(wǎng)絡(luò)重新編程過程分為3步進(jìn)行,第1步是負(fù)責(zé)準(zhǔn)備要傳播的數(shù)據(jù)。第2步包括整個傳播過程。第3步,操作系統(tǒng)重構(gòu)機制解釋了接收數(shù)據(jù)并用它來更新程序內(nèi)存。數(shù)據(jù)分發(fā)協(xié)議用于在網(wǎng)絡(luò)上分發(fā)數(shù)據(jù),網(wǎng)絡(luò)使用自己的節(jié)點。特別是,這些協(xié)議必須確保將所有數(shù)據(jù)準(zhǔn)確地傳遞到所有節(jié)點。在設(shè)計一個分發(fā)協(xié)議時,一些屬性必須考慮到:低延遲、低內(nèi)存消耗、可靠性、能效、對節(jié)點的容忍度、插入/移除和均勻性、可靠性和一致性是強制性的,如它們保證了議定書的正確運作。全部屬性是唯一可取的。然而,一個協(xié)議忽略它們沒有什么用處。

2.1 設(shè)計選擇

現(xiàn)有的協(xié)議會做出設(shè)計選擇,優(yōu)先于某些協(xié)議。協(xié)議中的選擇在這項工作中開發(fā)了。

(1)能源效率是非強制性的,被認(rèn)為是最重要的,因為所有的操作都需要在許多嵌入式系統(tǒng)中,只有數(shù)量有限。

(2)內(nèi)存消耗被認(rèn)為是第二大重要屬性,因為傳播協(xié)議不是節(jié)點的主要用途,只是一種服務(wù),由操作系統(tǒng)提供。因此,不應(yīng)限制應(yīng)用程序可用的內(nèi)存量。

(3)最后,延遲。為了優(yōu)化能源和內(nèi)存消耗的一些特性未使用減少延遲(例如管道)。

2.2 實行方式

所開發(fā)協(xié)議的狀態(tài)機通過一個街區(qū)一個街區(qū)地傳播數(shù)據(jù),使用基于發(fā)布/訂閱的發(fā)送者選擇機制,使用接收器進(jìn)行數(shù)據(jù)包丟失檢測,執(zhí)行單播請求、廣播重傳之類的滑動窗口機制。節(jié)點定期發(fā)布其版本,所有相關(guān)方都會請求發(fā)布[3]。潛在發(fā)送方維護(hù)一個變量ReqCtr,初始化為零,每個變量遞增從節(jié)點收到的新請求(針對他)尚未計算。

(1)宣布新版本,并防止節(jié)點成為發(fā)件人的請求。發(fā)布消息具有版本號、節(jié)點ID及其請求。當(dāng)一個節(jié)點接收包含新版本的發(fā)布消息將發(fā)送包含發(fā)件人和收件人的請求消息。它自己的ID和接收到的ReqCtr的值。作為雙方的出版物和訂閱消息在競爭中成為發(fā)送者也會收到它。如果節(jié)點接收到一條消息,它將有一個較低的請求。節(jié)點ID用作斷開連接的工具,當(dāng)一個節(jié)點成為發(fā)送方時,它發(fā)送一個“StartDownload”消息并開始逐包發(fā)送數(shù)據(jù)。

(2)接收者將此節(jié)點定義為其“父節(jié)點”,并且只接受寄來的包裹。所有數(shù)據(jù)都有一個順序唯一的標(biāo)識符,并且接收器保持最后一個收到的數(shù)據(jù)包。因此,在接收到一個新的數(shù)據(jù)包時,它檢查這些數(shù)字之間有差距。當(dāng)損失是檢測到接收器發(fā)送單播重傳請求給發(fā)送者。重新傳輸?shù)恼埱缶哂懈鼉?yōu)先級高于正常的數(shù)據(jù)包,那么發(fā)送方將首先響應(yīng)在繼續(xù)傳輸之前發(fā)送所有請求。

3 WSN網(wǎng)絡(luò)數(shù)據(jù)管理軟件系統(tǒng)

3.1 Epos實時更新系統(tǒng)概述

用于軟件重新編程的Epos實時更新系統(tǒng)框架[4]。PROXY和AGENT元素創(chuàng)建來自方法調(diào)用之間的間接級別應(yīng)用程序和操作系統(tǒng)。因此,代理是系統(tǒng)中唯一的知道組件的內(nèi)存位置的成員。因此,代理能夠定位并更新系統(tǒng)組件的代碼和數(shù)據(jù)。此外,系統(tǒng)組件可以標(biāo)記為可重構(gòu)或者在編譯時通過在其特征類。

對于那些未標(biāo)記為可重新配置的組件,沒有增加內(nèi)存和處理方面的開銷最終的系統(tǒng)映像。適配器類負(fù)責(zé)用于應(yīng)

用場景提供方面的調(diào)用。

3.2 內(nèi)存優(yōu)化

標(biāo)記為可重構(gòu)的每個組件生成由于ELU而導(dǎo)致的內(nèi)存消耗編程框架。除了實際的組件方法,還包括框架的代碼。此外,每個框架方法的代碼可為每個可重構(gòu)組件復(fù)制。例如,方法更新,負(fù)責(zé)更新代碼,以及組件的數(shù)據(jù)將為每個組件復(fù)制。通過使用模板專門化技術(shù),可克服這個限制。我們注意到,可以替換代理類和場景類中的幾種方法,按接收無類型參數(shù)的模板類。通過這種簡單的技術(shù),減少了內(nèi)存消耗,但不損失方法調(diào)用和重新配置時間。

3.3 數(shù)據(jù)傳播協(xié)議集成

Epos實時更新系統(tǒng)接收組件的重新編程請求通過一個傳輸協(xié)議,該協(xié)議定義了更新消息的格式。在系統(tǒng)初始化過程中創(chuàng)建的線程,命名的重新配置程序,創(chuàng)建數(shù)據(jù)分發(fā)協(xié)議實例,在接收到新數(shù)據(jù)后,啟動重新編程過程。可以添加或刪除方法,更新整個組件(所有方法),更新應(yīng)用程序、添加屬性和更新特定地址。如果更新/添加屬性值,數(shù)據(jù)狀態(tài)新舊組件屬性之間的傳遞為由集合完成并獲取每個屬性的方法。

此消息結(jié)構(gòu)允許數(shù)據(jù)的輕松集成傳播協(xié)議和操作系統(tǒng)。數(shù)據(jù)傳播協(xié)議以ETP格式裝載消息和通知更新的代理。相關(guān)工程未發(fā)現(xiàn)結(jié)構(gòu),但必須為開發(fā)人員抽象并提供一個簡單的更新過程。在更新過程重新配置程序啟動協(xié)議通過調(diào)用方法。此方法將一直阻止運行,直到節(jié)點接收到新版本。收到通知新數(shù)據(jù),重新配置程序在ETP格式并將數(shù)據(jù)傳遞給代理。代理將新組件代碼寫入適當(dāng)?shù)娜绻枰ㄎ徊⒏滤斜怼?/p>

4 WSN網(wǎng)絡(luò)數(shù)據(jù)管理軟件系統(tǒng)的開發(fā)運用

對基礎(chǔ)設(shè)施進(jìn)行了內(nèi)存消耗評估,通過網(wǎng)絡(luò)發(fā)送數(shù)據(jù)的延遲以及重新配置時間。這些測試是使用Mica2節(jié)點。系統(tǒng)是用GNU編譯器g++4.0.2生成的,內(nèi)存消耗是用GNU objdump 2.16.1工具。延遲和重新配置時間由微控制器的定時器測量。

4.1 相關(guān)存儲方式

所有框架元素的內(nèi)存消耗對于這個測試,重新配置支持已為包含4個方法的組件啟用。這個分發(fā)協(xié)議占用碼區(qū)2 536 B,未初始化數(shù)據(jù)中有21 B。創(chuàng)建新代碼時動態(tài)創(chuàng)建緩沖區(qū),大小取決于更新的大小。這個Epos實時更新系統(tǒng)框架消耗1 648 B的代碼,26 B的數(shù)據(jù)和68 B的未初始化數(shù)據(jù)以及存儲對象和方法。

當(dāng)一個新的組件被添加到系統(tǒng)中時,創(chuàng)建、銷毀和更新方法表示,組件的構(gòu)造函數(shù)、析構(gòu)函數(shù)和更新方法,并且必須始終存在。每個組件也需要一個信號量來控制其獨占訪問和代碼運行時阻止更新。最小值對添加到框架中的新組件的消耗由構(gòu)造函數(shù)、析構(gòu)函數(shù)、Update方法組成一種無參數(shù)無返回的方法價值觀。

通過空指針使用專門化,可以減少大約1.2 KB(更多)的消耗50%以上。目前,系統(tǒng)新組件的最小內(nèi)存是664 KB,而不是1.6 KB以前的Epos實時更新系統(tǒng)實現(xiàn)。

4.2 測量延遲

為了測量延遲,我們使用了兩種結(jié)構(gòu):基站可以與所有節(jié)點通信,并且那里是基站范圍之外的節(jié)點。在兩種拓?fù)渲邪错樞蛑貜?fù)了20次傳播過程要更新系統(tǒng)組件的方法,請傳播10 B的數(shù)據(jù)(用于更新方法)和6 B的控制信息(由協(xié)議使用)。

基站所用的平均時間將數(shù)據(jù)傳播到其周圍的節(jié)點。我們觀察到標(biāo)準(zhǔn)偏差為0.0233 s。這一次沒有改變通過在1~3之間改變接收器的數(shù)量。這是因為丟失的數(shù)據(jù)包高度相關(guān),所以多個接收器丟失同一組數(shù)據(jù)包。傳播從基站到中間節(jié)點的數(shù)據(jù),以及從這些到節(jié)點超出基站范圍[5]。可能注意到傳播數(shù)據(jù)所需的時間與正常網(wǎng)絡(luò)節(jié)點之間的距離約為4倍,比基站花費的時間還要長。基站未執(zhí)行步驟選擇發(fā)件人的方法。這樣就可以不用發(fā)布版本和接收請求最終成為發(fā)送方開始傳播數(shù)據(jù)。中間時間節(jié)點的標(biāo)準(zhǔn)偏差為1.1288 s。

4.3 重新配置時間

重新配置時間包括節(jié)點的時間在接收到所有必要的數(shù)據(jù)。對更新的調(diào)用,恢復(fù)在ETP消息上傳遞的參數(shù)中,恢復(fù)要在哈希表中更新的對象,找到vtable,并在Flash中寫入數(shù)據(jù),獲得平均重新配置時間。Mica2平臺的一個特點是不可能在閃存中一次只改變一個字節(jié)。它只允許在頁(256 B)和之前寫入重寫一頁就必須刪除它的內(nèi)容。因此,為了更新一部分內(nèi)存,有必要讀取頁面內(nèi)容,將其存儲在臨時緩沖區(qū)中,修改只有它想要的部分,最后寫在Flash里。

5 結(jié)語

本文提出了一種無線傳感器網(wǎng)絡(luò)的操作系統(tǒng)運行時重編程基礎(chǔ)結(jié)構(gòu),該結(jié)構(gòu)由數(shù)據(jù)分發(fā)模塊組成協(xié)議和Epos實時更新系統(tǒng)。該基礎(chǔ)設(shè)施在無線傳感器網(wǎng)絡(luò)中進(jìn)行了測試使用實節(jié)點,并根據(jù)內(nèi)存進(jìn)行評估、傳播和重新編程的時間。數(shù)字證實了設(shè)計選擇比相關(guān)工作中的好,還通過使用C++模板專業(yè)化技術(shù)證實了這一點。

猜你喜歡
內(nèi)存編程組件
無人機智能巡檢在光伏電站組件診斷中的應(yīng)用
編程,是一種態(tài)度
元征X-431實測:奔馳發(fā)動機編程
編程小能手
新型碎邊剪刀盤組件
紡織機上誕生的編程
U盾外殼組件注塑模具設(shè)計
“春夏秋冬”的內(nèi)存
內(nèi)存搭配DDR4、DDR3L還是DDR3?
風(fēng)起新一代光伏組件膜層:SSG納米自清潔膜層
尼玛县| 兴文县| 安溪县| 赤峰市| 鲁甸县| 庆城县| 金塔县| 湖北省| 中超| 林周县| 神池县| 高密市| 乌鲁木齐县| 石首市| 兴义市| 新源县| 应用必备| 治多县| 高陵县| 加查县| 汕尾市| 政和县| 密山市| 门源| 册亨县| 西平县| 柘荣县| 盐池县| 云安县| 四会市| 温泉县| 玉环县| 西乌| 赤峰市| 福鼎市| 招远市| 巴青县| 天祝| 六枝特区| 泸州市| 龙州县|