?

跨平臺訪問端傳感網絡串口通信多線程實現*

2024-03-06 02:54許弟建吳云君
傳感技術學報 2024年1期
關鍵詞:跨平臺線程傳感

許弟建,吳云君,孫 韜

(1.重慶科技大學電氣工程學院,重慶 401331;2.重慶大學電氣工程學院,重慶 400044)

跨平臺泛指程序語言、軟件或硬件設備可以在多種作業系統或不同硬件架構的電腦上運作。而傳感網絡是集數據采集、管理和發送于一體的信息處理技術。隨著無線傳感技術的發展與成熟,目前該技術已在傳感通信領域受到極大的關注與重視,成為目前應用最為廣泛的技術之一[1-2],無線傳感網絡通常以多跳自組織網絡形式實現通信[3]。但是,多線程傳感網絡的通信技術還存在一定的問題,相關學者也在不斷地改進方法。

于楊等[4]采用通信流水線方式使相同線程內信息傳輸和運算保持同步,通過消息集聚方式集聚串口通信線程,引入通信隊列方式減少線程切換次數,利用面向依賴環的優化方式避免依賴環限制的影響,實現跨平臺訪問端電力網絡串口通信。Gao等[5]采用基于邊緣的跨平臺訪問端傳感網絡串口通信多線程分配方法,考慮分配序列的影響提出以循環神經網絡為基礎的線程估計法并在邊緣服務器上執行分配算法,實現跨平臺訪問端傳感網絡串口通信。張雪堅等[6]建立跨平臺訪問端傳感網絡模型,以最優化效益函數為指標構造目標函數,引入布谷鳥搜索算法生成串口通信多線程分配策略,通過迭代收斂機制優化多線程選擇,實現跨平臺訪問端電力無線網絡串口通信。李菲等[7]提出多線程電子通信網絡數據流榮譽量消除方法,采用主動采樣法計算數據間的特征相似度,得出基本數據特征收縮量,利用數據動態Dynatable 消除算法,實現冗余數據消除。張翠芳等[8]提出基于模糊矩陣的多線程網絡通信延遲檢測技術,通過建立多線程通信延遲檢測模糊矩陣,分析判別通信延遲情況,實現對通信延遲的檢測。Kanthavel 等[9]提出基于多希望協作通信的地下無線傳感器網絡設計,針對通信網絡中的節點在通信中協調工作,促進通信資源的有效利用,實現無線傳感器網絡適應高數據流量下的多跳傳輸。但是,由于跨平臺訪問端的傳感器數據來自不同平臺,具有顯著獨立性,融合難度較大,直接影響多線程通信效率。由于以上方法中存在只考慮了跨平臺訪問,或只考慮多線程間的數據傳輸,忽略了對多線程間激烈競爭對信息傳輸造成的影響的考慮,導致網絡延遲仍然得不到顯著縮短,存在所需線程數和進程平均超限步數較多的問題。

為此,設計一種跨平臺訪問端傳感網絡串口通信多線程實現方法。通過構建跨平臺訪問端,采用統計概率置信度算法剔除異常值。從時間相關性和空間相關性兩方面,完成傳感網絡的數據融合。通過分配多線程執行信息傳輸,實現跨平臺訪問端傳感網絡串口多線程通信,所提方法可有效降低網絡延遲,提高了傳輸效率。

1 傳感數據異常值剔除

跨平臺訪問端建立在HTML5-NET 服務器基礎上,服務器端嚴格遵循WebSocket 協議。在跨平臺訪問端無線傳感網絡中,同一個數據會被若干節點重復轉發,產生大量冗余數據,導致數據信息內爆現象,影響數據傳輸的整體性能和最終服務質量。為了解決以上問題,所提方法在執行串口通信多線程傳輸前將傳感網絡采集到的數據融合處理[10]。由于跨平臺訪問端傳感網絡采集數據時受自身設備和外界環境的影響,數據中難免存在部分異常數據,所以在數據融合[11]前剔除數據異常值。

采用統計概率置信度算法檢驗傳感網絡采集到數據中的異常值[12]。假設存在具有m個傳感器的傳感網絡,全部傳感器對跨平臺訪問端網絡中同一目標參數加以監測,用i、j表示任意兩個傳感器,i,j∈m,xi表示傳感器i的測量值,xj表示傳感器j的測量值,wij表示xi與xj的偏差,wij=|xi-xj|,wij越大則xi與xj的偏差越大,因此可建立誤差矩陣Wm,用于描述傳感器采集到的每兩個數據之間的偏差程度,Wm如下所示:

結合實際需求設置一個置信閾值T,若wij>T,則傳感器i與j之間誤差較大,數據互不支持,可認為信任度rij=0,反之數據相關性較大,兩者間相互支持,信任度rij=1,即:

由此設定判別準則pi,如下所示:

在確定閾值T的情況下,若全部采樣數據之間均相互信任,則全部數據均為參數值的無偏估計。依據式(3)對全部數據判定,修正異常數據或直接剔除異常數據,在保證相關性同時實現異常數據剔除,為后續數據融合奠定基礎,以實現多線程串口通信。

2 基于傳感數據融合的多線程串口通信方法設計

2.1 傳感數據融合

剔除異常數據后,為了保障傳感網絡采集數據的真實性,將數據相關性劃分為時間和空間兩個部分,完成傳感網絡的數據融合[13]。

2.1.1 時間相關性

用(xi,yi)表示節點在當前時刻前n個時刻獲取到的數據組,a=1,2,…,n,依據最小二乘法求解k次擬合多項式Hn(x)[14],k<n,如下所示:

式中:a0,a1,…,ak表示多項式系數,F(·)為多項式相關函數,假設?ap,aq∈ak,p,q∈k,則依據多元函數極值條件可得方程如下所示:

采用主元素法求解式(5),可得到當前時刻t前n個時刻參數(Gt-n,…,Gt-2,Gt-1)的最小二乘k次擬合多項式,將解得的系數代入計算即可得到當前時刻參數估計值。依據實際需求設置閾值ψt,用Gmax表示參數最大值,Gmin表示參數最小值,則可得到時間相關修正參數St如下所示:

當傳感器采集到的數據與估計值差值小于閾值ψt時,可將估計值忽略不計,此時節點時間相關修正系數為1,直接將傳感器采集到的數據用于數據融合。

2.1.2 空間相關性

假設存在需要實行空間相關性判斷的節點k,該節點具有與其擁有相同父節點的兄弟節點i和j,k處于三者中間,由節點i為基礎,遍歷全部滿足Rikj最近接0 度或180 度的節點j,在該情況下將節點i和j定義為以節點k為中心節點的隸屬于節點i的傳感器節點組,Rikj為該節點組的夾角,對Rikj與直線的偏差角ΔR加以計算,如下所示:

若ΔR符號為正,則節點i和j與節點k方向相同,否則方向相反。當ΔR>時,則定義為未搜索到符合要求的節點組,令ΔR=π。

根據實際情況設定ΔR的閾值ψp,用Rmax表示接近直線的最大偏差角,ψmin表示設定的最小閾值,ψadd表示閾值最大增量,則ψp如下所示:

若節點k在節點i到節點k方向上的參數變化率與節點k在節點k到節點j方向上的參數變化率差值小于ψp,則定義該節點組支持節點k采集到的數據,令Mreliable數值加1,Mreliable表示參數變化率差值小于ψp節點組總數,用Mline表示搜索到的節點組總數,Ep表示空間支持度調節系數,用于調節空間相關支持度對Mreliable和Mline的敏感程度,則空間相關支持度Sp計算方式如下所示:

2.1.3 傳感數據融合的實現

通過上式計算,獲取時間相關修正參數和空間相關支持度,完成傳感網絡的數據融合。用M表示子節點總數,Gsensor,i表示當前時刻子節點i傳感器采集到的數值,i=1,2,…,M,St,i表示當前時刻子節點i時間相關修正系數,Sp,i表示當前時刻子節點i空間相關支持度,Mdata,i表示當前時刻子節點i數據豐富度,則當前時刻子節點i傳感器融合后數據如下所示:

依據以上計算實現跨平臺訪問端無線傳感網絡數據融合,為后續串口通信多線程提供更為優質的數據信息,降低系統負擔,提升數據傳輸實時性。

2.2 多線程串口通信

根據融合后的傳感器網絡數據融合,通過多線程串口通信方法,實現跨平臺數據訪問,提升數據的傳輸性能。為了保障串口通信中信息以最優速率傳輸,務必保證相同時間下存在至少一個根節點發送信息至Sink 節點[15],但因為路由節點僅能夠轉發其子節點信息且不能連續向上發出信息,所以需要調度節點傳輸時序,錯落分布各節點的發送和傳輸狀態。由于父節點和子節點具有傳輸狀態相反的性質,因此所提方法采用父子鏈路時序輪轉調度法自上而下逐層確定節點傳輸時序。

統計傳感網絡中根節點總數,記作M,由此生成根節點列表,記作Li,其中,Li前端為采集節點。依據信息采集命令在上位機中統計各根節點傳輸信息量,記作Ui,用Vj表示Li中采集節點j采集的信息量,則Ui=∑Vj,根據Ui將根節點劃分為兩類,記作Ψa和Ψb,兩者滿足Ψa的信息總數Ua與Ψb的信息總數Ub大體上相同,從而使Ψa和Ψb輪流發送信息且信息傳輸時間基本相同。設置Ψa的初始狀態為傳輸狀態,Ψb的初始狀態為接收狀態,如果當下不存在需要傳輸的信息,則節點進入休眠。

由以上分析可知,依據時序輪轉調度方式能夠逐層確定節點傳輸時序,進而實現全網絡時序分配。

在跨平臺訪問端傳感網絡中節點的部署較為密集,串口節點通信范圍內也許會存在其他無關節點,因此信息傳輸線程的分配中務必對信息多線程并行傳輸造成的線程鄰頻干擾情況加以考慮,同時為避免外界環境影響信息傳輸效果,還需對信息傳輸線程鏈路質量加以考慮。

sink 節點對全部線程發起能量掃描任務并記錄全部可用線程峰值能量,降序排列能量值,生成可用線程列表,記作Di,為了防止鄰頻對信息傳輸的影響,需要滿足同時傳輸的線程之間相隔頻段大于2。

構建圖1(a)rn fi 的傳感網絡模型,當sink 入網時為其分配線程D1,依據初始狀態將路由節點劃分類別R1i和R2j,存儲兩類路由節點中的傳輸線程于兩個不同列表之中,實現跨平臺訪問端傳感網絡串口通信多線程信息傳輸,線程分配方法如圖1(b)所示。

圖1 傳輸時序調度示意圖

3 仿真分析

仿真軟件采用MATLAB2020b 實現仿真,通過調用Instrument Control Toolbox 中的serial 類函數創建串口對象,設置發送區域的數據類型。

仿真過程的具體步驟為:

步驟1 在MATLAB 中,采用Python 編譯數據信息轉換程序,搭建無線傳感網絡中多信道信息融合仿真模型,并設置一個置信閾值T,輸入仿真函數。

步驟2 通過serial 函數創建串口對象,設置偏差角的閾值ψp,并設置發送區域的數據類型和a0,a1,…,ak多項式系數,實現數據融合。

步驟3 將傳感器融合后的數據Gfusion輸入到仿真模型,通過發送握手命令,將多個串口連接起來。

步驟4 使用fwrite 函數,將采集節點Cj采集到的數據發送。

步驟5 將發送的數據信息傳輸至上機位,實現通信仿真。

為了驗證跨平臺訪問端傳感網絡串口通信多線程實現整體有效性,需要測試跨平臺訪問端傳感網絡串口通信多線程實現。不同線程數量對串口通信信息傳輸延遲具有不同的影響,分別以數量為1、8和16 的線程檢測所提方法、文獻[4]方法和文獻[5]方法在跨平臺訪問端傳感網絡串口通信中的信息傳輸效果,統計低網絡流量負載和高網絡流量負載下三種方法的網絡延遲,結果如表1 所示。

表1 不同線程數量下網絡延遲檢測結果 單位:ms

由表1 可以看出,在低網絡流量負載和高網絡流量負載下,線程數量的增加均有降低網絡延遲的效果,在低網絡流量負載線程數量為1 時,所提方法網絡延遲比文獻[4]方法短1.1 ms,比文獻[5]方法短0.31 ms;當在線程數量增加至為16 時,所提方法網絡延遲比文獻[4]方法短0.92 ms,比文獻[5]方法短0.18 ms??梢?,所提方法在不同情況下均具有更低網絡延遲,更能夠滿足跨平臺訪問端傳感網絡串口通信要求。

隨機生成進程和相關指標用于信息傳輸所需線程數對比,在確定傳輸密度下統計所提方法、文獻[4]方法和文獻[5]方法的所需線程數,結果如表2所示。

表2 不同傳輸密度下線程數檢測結果

由表2 可以看出,所提方法與文獻[4]方法和文獻[5]方法相比,在進程數和傳輸密度相同的情況下,所提方法所需線程數少于文獻方法,且隨著進程數增加,與另外兩種方法所需線程數差值更加明顯。

信息傳輸存在不同概率的錯漏,傳輸錯漏率的增大會導致進程平均超限步數的增加,進而造成信息傳輸失敗的問題,相同錯漏下超過協方差閾值的平均步數越少則信息傳輸效果越好,假設傳輸錯漏率服從伯努利分布,統計線程數為8、進程數為30時所提方法、文獻[4]方法和文獻[5]方法的進程平均超限步數,結果如圖2 所示。

圖2 不同傳輸錯漏率下進程平均超限步數檢測結果

由圖2 可以看出,當傳輸錯漏率增大時,所提方法、文獻[4]方法和文獻[5]方法的進程平均超限步數也會隨之上升,但相同傳輸錯漏率下,所提方法的進程平均超限步數始終更低,說明所提方法具有更好的跨平臺訪問端傳感網絡串口通信效果。

以平均丟包率和平均吞吐量為指標進一步檢測所提方法、文獻[4]方法和文獻[5]方法串口通信性能,平均丟包率越低、平均吞吐量越高,則對應方法的串口通信效果越好,統計線程為8 時不同節點負載下平均丟包率和不同業務流負載下平均吞吐量,結果如圖3 和圖4 所示。

圖3 不同節點負載下平均丟包率檢測結果

圖4 不同業務流負載下平均吞吐量檢測結果

由圖3 和圖4 可以看出,所提方法在不同業務流負載下平均吞吐量均高于文獻方法,說明所提方法規劃的跨平臺訪問端傳感網絡串口通信多線程分配方法能夠有效提升串口通信性能,因為所提方法提出時鐘同步調度串口通信多線程信息傳輸方法,有效避免了傳感網絡中節點由于線程競爭造成的信息傳輸性能下降和傳輸失敗的問題。

4 結束語

為了解決網絡延遲、以及所需線程數和進程平均超限步數較多問題,提出跨平臺訪問端傳感網絡串口通信多線程實現新方法。通過統計概率置信度算法修正或剔除傳感網絡采集到數據中的異常值,采用時空關聯性融合傳感網絡數據,依據信標時序補償網絡時鐘同步法、父子鏈路時序輪轉調度法和干擾最小化法分配線程執行跨平臺訪問端傳感網絡串口通信。該方法能夠有效地降低網絡延遲、平均丟包率,提高平均吞吐量,減少所需線程數和進程平均超限步數,為跨平臺訪問端傳感網絡串口通信的穩定應用奠定基礎。

猜你喜歡
跨平臺線程傳感
《傳感技術學報》期刊征訂
新型無酶便攜式傳感平臺 兩秒內測出果蔬農藥殘留
IPv6與ZigBee無線傳感網互聯網關的研究
跨平臺APEX接口組件的設計與實現
淺談linux多線程協作
基于QT的跨平臺輸電鐵塔監控終端軟件設計與實現
基于OPC跨平臺通信的電機監測與診斷系統
基于B/S的跨平臺用戶界面可配置算法研究
某型Fabry-Perot光纖應變計的傳感特性試驗
基于上下文定界的Fork/Join并行性的并發程序可達性分析*
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合