[發明專利]一種面向物聯網應用的以邊緣為中心的編程方法有效
| 申請號: | 202011168995.4 | 申請日: | 2020-10-28 |
| 公開(公告)號: | CN112394914B | 公開(公告)日: | 2022-05-24 |
| 發明(設計)人: | 董瑋;高藝;袁宇;李博睿 | 申請(專利權)人: | 浙江大學 |
| 主分類號: | G06F8/30 | 分類號: | G06F8/30;H04L67/00;G16Y40/00 |
| 代理公司: | 杭州天正專利事務所有限公司 33201 | 代理人: | 王兵 |
| 地址: | 310058 浙江*** | 國省代碼: | 浙江;33 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 面向 聯網 應用 邊緣 中心 編程 方法 | ||
1.一種面向物聯網應用的以邊緣為中心的編程方法,包括以下步驟:
步驟1:開發者根據本發明提供的編程模型編寫應用程序,編程模型分為三個部分:設備配置、邏輯實現和規則定義;
步驟2:利用性能測試和統計來獲取不同硬件平臺上的執行時間;對于低端傳感器節點,利用周期精確的模擬器來獲取時序信息,針對基于MSP430的節點采用MSPsim,針對基于AVR的節點采用Avrora來獲取時間信息;對于Raspberry Pi等高端設備,選擇接近周期精確的模擬器gem5分析;
步驟3:預測部署應用程序時的網絡狀況;利用多輸出支持向量回歸算法(M-SVR)生成一系列表示間隔序列中未來網絡狀況的預測結果;預測器的輸入為帶寬和接收信號強度指示符之類的原始觀測值,數據以0.1Hz采樣以便不影響常規網絡傳輸;預測器輸出將來的吞吐量估算值和每個數據包的傳輸時間;
步驟4:代碼分區器首先將步驟1輸入的應用程序預處理為許多邏輯塊,每個邏輯塊代表一個計算階段;邏輯塊是鍵值對為功能,設備的元組,代表在設備上執行相應功能操作,功能操作包括兩種類型,一種是設備操作原語,一種是步驟1引入的虛擬傳感器操作;根據元組中設備不同,邏輯塊分為兩種:固定和可移動;固定塊執行的通常是受物理約束的功能,須指定執行設備;可移動邏輯塊執行的計算可以部署在設備或邊緣服務器上,具有一定的靈活性;固定邏輯塊元組中設備名稱為步驟1定義的設備別名,可移動邏輯塊的設備用問號表示,以表示不確定性;代碼分區器使用以下3種策略將步驟1中規則定義部分解析為以邏輯塊為基本單元的數據流圖:
(1)對于在IF語句中利用虛擬傳感器的條件,從邏輯實現部分獲取虛擬傳感器工作流程,轉換為可移動邏輯塊,并為該部分的輸入插入數據采樣SAMPLE邏輯塊;
(2)對于僅比較傳感器值的條件,將其轉換為兩個階段:數據采樣SAMPLE和數值比較CMP,使用CONJ塊表示IF語句中所有條件的合計;
(3)對于THEN語句中的每個動作,使用兩個邏輯塊的前后組合表示:一個可移動邏輯塊AUX表示該動作是邊緣服務器觸發或本地設備觸發的,AUX后面的一個固定邏輯塊ACTUATE表示該動作的實際執行;
步驟5:借助步驟4得到的以邏輯塊為基本單元的數據流圖,將最佳設備分配問題公式化為數值優化問題;以二元指示符表示分配結果:
(1)
其中表示可能將邏輯塊分配其上的設備;
以表示數據流圖,以表示從起始邏輯塊到末尾邏輯塊的完整路徑;表示路徑的長度即該路徑上總耗時,包含邏輯塊執行計算的時間以及前后邏輯塊設備之間的數據傳播時延;表示路徑中的邏輯塊即頂點數,表示數據流圖中包含所有完整路徑的集合;優化目標為最大程度地縮短數據流圖中最長路徑的長度,即,表示如下:
其中,表示路徑上的相鄰邏輯塊,;表示第個邏輯塊的計算可能分配到的設備集合;表示第個邏輯塊的計算在設備上的處理時間,由步驟2的時間分析器提供;表示數據在位于設備與設備之間的傳輸時間,與分別為執行邏輯塊與邏輯塊計算的設備,如果兩個連續的邏輯塊計算運行在同一設備上,則數據傳輸時間可以忽略不計,于是有:
(3)
表示邊緣設備之間數據傳輸大小,表示傳輸協議的每個數據包的最大有效負載,表示協議每個數據包的傳輸時間,由步驟3的網絡預測器提供;
步驟6:將公式(2)轉換為整數規劃問題,以下簡稱ILP,引入輔助變量代替二次項將二次目標函數轉換為線性目標函數,的引入的同時需引入以下約束:
然后對極大極小形式的目標函數進一步變換,引入輔助變量z,并將內部max函數轉換為一組約束,使其遵循標準ILP問題公式;重寫的ILP目標函數如下所示:
服從條件:
為確保將所有邏輯塊計算都指定給特定的設備,需添加約束:
利用lp_solve算法求解服從式(4)-(7),式(9)和式(10)約束的公式(8)的最佳解,即為輸入應用程序邏輯塊的最佳劃分;
步驟7:代碼生成器借助Contiki的代碼模板和帶有接收回調功能的發送線程構造可編譯代碼;原型線程從步驟4中求解的最優數據流圖片段生成;每個設備的代碼片段通過利用圖的深度優先遍歷獲得,該遍歷在設備更改時結束;然后,通過調用邏輯塊的函數,將一個線程與一個片段組裝在一起,以線程為載體執行代碼片段;在線程執行末尾,向發送線程發出事件以進行數據傳輸,并讓步其他線程;
步驟8:代碼編譯器根據目標平臺將代碼編譯成可執行程序,之后將可執行程序傳送到邊緣服務器上;
步驟9:邊緣服務器執行屬于其的可執行程序,并告知物聯網節點獲取新的可執行程序;
步驟10:物聯網節點上運行的加載代理通過與邊緣服務器通信以獲取新的可執行應用程序,檢測、驗證和接收可執行文件并動態運行。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于浙江大學,未經浙江大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202011168995.4/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種時裝鞋制備工藝
- 下一篇:一種面向復雜邊緣計算的系統校驗方法





