陳 夏,張傳棟,李志敏,錢美超
(1.濟寧學院,山東 濟寧 273100;2.中國氣象局公共氣象服務中心,北京 100081)
物聯(lián)網是二十世紀末期所提出的一個旨在將自然物質世界和人類創(chuàng)造的電腦及互聯(lián)網世界整合為一的概念[1]。由于當時受到半導體價格、網絡帶寬和網絡覆蓋的局限,物聯(lián)網的發(fā)展一度十分緩慢。進入新世紀后,半導體工藝發(fā)展迅速,人們可以以更低的價格得到性能更好的電子設備。尤其是隨著近些年云計算技術的逐漸完善以及云端服務的井噴式增長,之前一直被技術瓶頸限制的物聯(lián)網技術迎來了發(fā)展的春天。現(xiàn)在物聯(lián)網已經成為最熱門的學術和應用技術研究方向之一[2]。物聯(lián)網的主要結構分為4個層次[3]:
(1)搜集環(huán)境相關資料,與環(huán)境中的事物進行交流的感知層(Sensing Layer)。在感知層中作為主要工作原件的是小型無線智能系統(tǒng)模塊和傳感器。這兩個原件組成了物聯(lián)網中最基本的工作單位—感知節(jié)點(Sensor Node)。小型無線智能系統(tǒng)模塊負責對傳感器收集到的數(shù)據(jù)進行初步處理。在許多實際應用中,感知節(jié)點上裝備有多個傳感器,這時小型無線智能系統(tǒng)模塊還要負責調度傳感器的運行與休眠。
(2)負責信息傳輸?shù)木W絡層(Networking Layer)。網絡層將所有物聯(lián)網相關設備連接在一起,并允許物聯(lián)網中各個設備共享信息。另外,網絡層還能夠聚合來自現(xiàn)有IT基礎架構(例如,業(yè)務系統(tǒng)、運輸系統(tǒng)、電網、醫(yī)療系統(tǒng)、ICT系統(tǒng)等)的信息。
(3)對數(shù)據(jù)進行分析并作出相應決策的服務層(Service Layer)。服務層依靠提供功能的中間件技術來無縫集成物聯(lián)網中的服務和應用程序。中間件技術為物聯(lián)網提供了一個經濟高效的平臺,可以在其中重用硬件和軟件平臺。服務層的主要活動涉及中間件的服務規(guī)范,該規(guī)范由各組織開發(fā)。設計良好的服務層將能夠識別常見的應用程序需求,并提供API和協(xié)議來支持所需服務、應用程序和用戶需求。
(4)負責與用戶程序以及應用交互的接口層(Interface Layer)。由于物聯(lián)網系統(tǒng)經常要集合來自不同生產商并且有著不同通信協(xié)議的模塊,導致物聯(lián)網系統(tǒng)中設備間的通信面臨許多問題。同時,隨著物聯(lián)網系統(tǒng)規(guī)模的增大,也會增加與之相對應的由于網絡復雜度上升所帶來的問題。接口層的接口配置文件能夠幫助設備快速建立起即插即用的連接。與此同時,接口概述文件能夠促進物聯(lián)網中各種服務之間的交互。同時,接口層上的架構可以使服務層所提供的API接口快速與用戶程序對接,提高系統(tǒng)開發(fā)和運行效率。
得益于人工智能技術的飛速發(fā)展,以及基于物聯(lián)網的云計算平臺的出現(xiàn)[4-7],越來越多的服務層和接口層問題得到了優(yōu)化解決方案。隨著5G等新通信標準的出現(xiàn)及部署,同時對網絡層已有的通信技術的深度探索與優(yōu)化[8],及新通信協(xié)議的開發(fā)[9],為物聯(lián)網網絡層的相關問題提供了相應解決方案。而在感知層上,由于半導體工藝的限制,物聯(lián)網應用的設備功耗問題在設備的制造層面上還得不到解決。比較常見的解決方案是結合上一級傳感器無線網絡進行調度策略的優(yōu)化來實現(xiàn)更長的網絡壽命[10-11]。除此以外,如果想要在感知層上達到延長節(jié)點使用壽命的目標,應用開發(fā)者往往不得不在設備性能上做出讓步或者購買價格更加昂貴的原件。在這種情況下,越來越多的人開始探索如何在同樣的硬件設備條件下,通過直接優(yōu)化物聯(lián)網應用在感知層上的調度策略以達到更加節(jié)能的目的。本文所介紹的調度策略即是在這種背景下,針對物聯(lián)網感知層,將物聯(lián)網應用和模糊計算結合所得到的一種優(yōu)化策略。
隨著計算機技術的不斷發(fā)展,計算機系統(tǒng)可以解決的問題也越來越復雜。具有一一對應關系的普通計算在解決這些復雜問題的同時往往需要動用過多的計算機資源。在這個背景下,計算機科學家開始把目光放在20世紀60年代由數(shù)學家們所提出的模糊計算上,以探求比普通計算更優(yōu)化的解決方案。模糊邏輯能夠模仿人類大腦對于不確定性概念的判斷、推理思維方式,同時對于未知事物的建模或描述不能確定的系統(tǒng)方面要大大優(yōu)于普通計算[5]。針對強非線性、大滯后的控制對象,可以應用模糊集合和模糊規(guī)則進行推理,以表達過渡性界限或定性知識經驗。在實際應用中,它以數(shù)值計算而不是以符號推演為特征,它并不注重如像經典邏輯那樣的基于公理的形式推演或基于賦值的語義運算,而是通過模糊推理的算法,由推理的前提計算出結論。30余年來,模糊推理方法在工業(yè)生產控制,特別是在家電產品中的成功應用,使得它們在模糊系統(tǒng)以及自動控制等領域愈來愈受到人們的重視,如今在近似推理中已成為以數(shù)值計算而不是以符號推演為特征的一個研究發(fā)展方向[12]。
由模糊計算的概念我們可以看出,支撐模糊計算的模糊邏輯是一種接近客觀世界運行規(guī)律的處理方式,即函數(shù)中的變量是根據(jù)其影響因素變化的。由于物聯(lián)網就是一個將真實的客觀世界和人類的主觀世界整合唯一的系統(tǒng),借助模糊計算模擬人腦對于客觀世界的分析方式可以比非黑即白的普通運算有著更高的執(zhí)行效率和準確程度。所以在物聯(lián)網系統(tǒng)中加入模糊運算是一種對于提升物聯(lián)網整體性能有著重要意義的嘗試。
在物聯(lián)網感知層,物聯(lián)網設備的主要作用是捕捉周圍環(huán)境的數(shù)據(jù),傳輸采樣數(shù)據(jù)并根據(jù)數(shù)據(jù)做出相應的反應。物聯(lián)網應用的一般工作流程為對環(huán)境數(shù)據(jù)進行采樣,得到采樣數(shù)據(jù)后,由負責數(shù)據(jù)傳輸?shù)木W絡層將所采集的數(shù)據(jù)傳輸給本地或者云端服務器等服務層設備,最后由接口層將數(shù)據(jù)轉化為用戶可以閱讀的格式。與此同時,服務層的相關應用和設備對數(shù)據(jù)進行分析與處理,并根據(jù)用戶需求給出相應的解決方案,之后通過網絡層將解決方案傳輸給感知層節(jié)點,最后感知層節(jié)點根據(jù)所得數(shù)據(jù)與真實環(huán)境進行交互。我們可以將整個過程抽象為采樣傳輸、處理數(shù)據(jù)和傳輸反饋3個過程。不難看出,處理數(shù)據(jù)過程是在服務層完成,傳輸反饋過程往往是基于對真實世界作出反饋的單一動作,調度策略的優(yōu)化空間十分有限。所以如果要探索通過使用調度策略來減少感知層的功耗,我們應該將主要研究方向定在優(yōu)化采樣傳輸這個過程中。傳統(tǒng)的物聯(lián)網應用一般以一定的時間間隔持續(xù)采樣,并在每一組數(shù)據(jù)采集結束后,將數(shù)據(jù)通過網絡發(fā)送給服務層設備,我們稱這種采樣調度策略為等取樣間隔調度策略。在此種策略下,如果希望得到更高精度的數(shù)據(jù),就要設置更短的采樣間隔,通過提高采樣頻率來獲取更高的數(shù)據(jù)精確度。但是更短的采樣間隔在相同采樣設備的前提下必然會導致更高的功耗。這就使得我們在采用這種調度策略時,會面臨一個在功耗和精度之間進行取舍的問題。這些年,隨著技術的演進,在對嵌入式系統(tǒng)節(jié)能技術的不斷探索中,已經有立足于感知層的基于嵌入式Linux系統(tǒng)的調度策略研究[13]出現(xiàn)。越來越多的應用在無線傳感器網絡(WSN)中出于節(jié)約成本和提高效率的考慮,已經不再在感知節(jié)點上使用操作系統(tǒng),而是使用更簡單、高效的微處理器-傳感器結構。不同于基于如無線傳感器網(WSN)等兼具網絡層和感知層的調度策略[14],在感知層的感知節(jié)點上直接進行傳感器調度,可以更直觀的減少功耗,且不會受到網絡等不確定因素的影響。在其他研究領域,如多處理器計算中,出現(xiàn)了基于能量節(jié)約的實時動態(tài)調度算法[15],可以根據(jù)能耗的不同動態(tài)對任務進行實時調度。受到這個方法的啟發(fā),在同一個感知節(jié)點上裝備多個傳感器時,我們也可以通過使用一定程度的調度策略來達到節(jié)省節(jié)點功耗的目的。
由前文的論述,我們可以將物聯(lián)網由原來的,通過在感知層的感知節(jié)點上執(zhí)行調度策略來解決節(jié)約功耗的問題,轉變?yōu)閷ふ以诒M量少占用外部資源的前提下,以相同的取樣設備,花費更少的功耗,提高更大數(shù)據(jù)精度的應用需求。由此我們將眼光放到了根據(jù)模糊邏輯建立的調度策略上。我們依據(jù)模糊邏輯可以根據(jù)不同條件輸出不同結果的特點,通過類似機器學習中“特征工程”的方法對不同取樣環(huán)境采取不同的取樣策略來節(jié)約功耗。經過我們的實驗,單純將采樣數(shù)據(jù)作為特征工程的輸入并不能很好地體現(xiàn)出數(shù)據(jù)的變化規(guī)律。我們轉而采用數(shù)據(jù)的變化率(Slope),而非數(shù)據(jù)本身作為設定調度策略的參考變量。這樣可以有效減少運算時數(shù)據(jù)比較的運算成本。使用變化率(Slope)的另一個顯著優(yōu)點是,它有相較簡單的數(shù)值比較,同時,變化率(Slope)能夠更好地反映出環(huán)境變化對于環(huán)境數(shù)據(jù)的影響。在物聯(lián)網感知層中,如氣溫、濕度、空氣污染等環(huán)境數(shù)據(jù)的變化率往往會在較長的一段時間內保持相對穩(wěn)定的水平,如一天中上午的氣溫一般都是在平穩(wěn)緩慢上升,我們將這段時間定義為環(huán)境數(shù)據(jù)的平穩(wěn)變化階段。區(qū)別于平穩(wěn)變化階段,環(huán)境數(shù)據(jù)會在特殊條件下發(fā)生劇烈變化,如日出、日落對于溫度的影響,工廠的工作時間與非工作時間對于環(huán)境污染的影響,我們將這部分時間定義為環(huán)境數(shù)據(jù)的劇烈變化階段。通過對數(shù)據(jù)變化率(Slope)的比較,可以幫助我們從數(shù)據(jù)的角度更好地分辨出環(huán)境數(shù)據(jù)的平穩(wěn)變化階段和劇烈變化階段。
首先,我們從對單一環(huán)境變量的采樣策略入手。將傳統(tǒng)的等取樣間隔調度策略進行變化,使其不再以固定的等取樣時間對某一環(huán)境數(shù)據(jù)進行監(jiān)測,而是通過感知節(jié)點上的微處理,動態(tài)分配相應傳感器相鄰兩次采樣之間的間隔,得到一個依據(jù)數(shù)據(jù)變化率(Slope)進行預測的可變取樣間隔采樣策略(Sample Strategy)。在此采樣策略中,我們設置取樣間隔時間增量為一固定值T,在第i次取樣的實際取樣間隔為STi。實際取樣間隔ST、取樣間隔時間增量T和取樣次數(shù)i的關系如公式(1)所示:
設STi=0=0,STi=1=T,Slopei=Slopei-1
式中,第i+1次取樣的時間間隔取決于前兩次取樣數(shù)據(jù)的變化率,即第i次的取樣變化率Slopei與第i-1次的取樣變化率Slopei-1是否近似。這里,由于我們用于比較的參考變量為取樣數(shù)據(jù)的變化率(Slope),第i次與第i-1次取樣數(shù)據(jù)變化率很難做到完全相同,所以在比較時兩者只要在應用需求數(shù)據(jù)精度相應的變化率范圍內即可。當Slopei近似于Slopei-1時,說明前后兩個采樣點的數(shù)據(jù)變化模式相似,因此我們可以延長下一次數(shù)據(jù)的采樣間隔來節(jié)約功耗。另一方面,如果Slopei與Slopei-1之間的差距大于我們設置的近似范圍,則說明在第i次與第i-1次取樣之間數(shù)據(jù)數(shù)值發(fā)生了比較大幅度的變化,很可能進入了環(huán)境數(shù)據(jù)的劇烈變化階段。此時,應縮小采樣間隔,以增加采樣的頻率,以免漏測數(shù)據(jù)導致最終得到的數(shù)據(jù)精度受損。
在確定采樣策略后,我們將所要采樣的每一種類數(shù)據(jù)單獨進行特征工程處理,確定其中數(shù)據(jù)變化率的平穩(wěn)變化階段和劇烈變化階段。針對每種數(shù)據(jù)設定不同的采樣階段(P1...Pn)來貼合該種數(shù)據(jù)平穩(wěn)變化階段和劇烈變化階段的變化規(guī)律。對于每個取樣階段(Pi)設置對應取樣間隔時間增量Ti,并依據(jù)Ti形成相應的采樣策略(Sample Strategyi),該過程可形式化表達為公式(2):
根據(jù)該調度策略采樣時,在相同數(shù)據(jù)變化率的情況下,系統(tǒng)會按照不同的取樣階段,對其分配不同的取樣周期。最終達到在對精度影響較小的情況下,有效降低功耗的目的。
我們選取物聯(lián)網應用中最常見的應用場景之一獲取環(huán)境溫度功能作為實驗場景,來測試本文所提出的調度策略。首先通過特征工程篩選,我們選取時間與溫度變化率的對比作為策略比較的標尺。根據(jù)溫度隨時間變化的特征規(guī)律,我們將一天24個小時分為4個取樣時段,并分配給每個取樣時段不同的取樣間隔時間增量T。詳細信息見表1所列。
表1 實驗范例中的取樣時段和取樣間隔
在表1中,由于在環(huán)境數(shù)據(jù)的平穩(wěn)變化階段,數(shù)據(jù)在很長一段時間內保持相對穩(wěn)定的變化速度,很少發(fā)生劇烈變化,所以適當提高平穩(wěn)變化階段的取樣間隔時間增量T,并不會對最終采樣數(shù)據(jù)的準確度造成巨大影響。因此,我們將環(huán)境數(shù)據(jù)溫度的平穩(wěn)變化階段,即階段1與階段3的取樣間隔時間增量T設置為20 min。相對的,在環(huán)境數(shù)據(jù)的劇烈變化階段,由于數(shù)據(jù)變化劇烈,如果取樣間隔時間增量T設置得太小,則必然會導致最終數(shù)據(jù)精度丟失。所以,我們將環(huán)境數(shù)據(jù)溫度的劇烈變化階段,即階段2與階段4的取樣間隔時間增量T設置為5 min,以適應日出、日落相對劇烈的溫度變化。接下來,我們將從程序模擬和設備實測2個方向分別運行該調度策略,將運行結果和等取樣間隔調度策略的結果進行比較。
模擬實驗采用的模擬程序以取樣間隔為5 min的等取樣間隔調度策略室內氣溫實測數(shù)據(jù)為輸入,模擬程序將輸入的環(huán)境數(shù)據(jù)按照模糊邏輯調度策略進行模擬,輸出依照模糊邏輯調度策略的模擬取樣數(shù)據(jù)。5 min等取樣間隔調度策略與實驗結果的模糊邏輯調度策略的比較如圖1所示。
圖1 等取樣間隔調度策略和模糊邏輯調度策略的模擬器實驗結果比較
從兩種策略通過模擬程序實驗得到的結果對比圖可以看出,圖1(b)中由模糊邏輯調度策略數(shù)據(jù)所繪制出的時間-溫度圖像能達到與圖1(a)所示高精度的等取樣周期策略(5 min取樣間隔)的時間-溫度圖像相近的圖形。2種策略對比模擬實驗的詳細數(shù)據(jù)量化比較見表2所列。
表2 模擬實驗詳細數(shù)據(jù)
從表2所示數(shù)據(jù)中我們可以看出,等取樣時間策略由于不存在預測功能,所以能夠反映出準確的實時環(huán)境溫度。但是其缺點也十分突出,即采樣頻率高,采樣點數(shù)量相對較大。而采樣點的數(shù)量在真實應用中反映了該應用在捕捉采樣數(shù)據(jù)時的功耗。從模擬實驗結果中,我們能看出模糊邏輯調度策略以犧牲小額精度的代價換取了更少的采樣點數(shù)量,也就是降低了應用的功耗。模糊邏輯調度策略的功耗只有5 min取樣間隔等取樣間隔策略的21.9%。相較于5 min取樣間隔等取樣間隔策略的高精度,模糊邏輯調度策略的平均精度只少了在實際應用中可以忽略的0.029 5 ℃。
在設備實測實驗中,我們建立了一個基于ARM Cortex M4 微處理器的實驗環(huán)境。我們選取由NXP出品的搭載了ARM Cortex M4微處理器的LPCXpresso5411x開發(fā)板作為實驗平臺,使用MikroElektronika出品的搭載了HDC1000溫濕度傳感器的HDC1000 Click傳感器模組作為采樣模塊。通信模塊我們選擇使用低功耗ATK-LORA-01模塊,以LoRa通信協(xié)議實現(xiàn)采集節(jié)點和網關節(jié)點的通信。取樣節(jié)點由1節(jié)Panasonic NCR18650A可充電鋰電池供電。為了更好地完成整個系統(tǒng)的功耗測量,我們采用德州儀器出品的BQ27z561電池測量計作為數(shù)據(jù)監(jiān)控和采集設備,最終完成的測試系統(tǒng)如圖2所示。
圖2 實驗系統(tǒng)
為了方便與模擬器實驗進行比較,我們在設備實測實驗中仍然使用5 min取樣間隔的等取樣間隔調度策略和模糊邏輯調度策略作為實驗的對照組。兩組調度策略的時間-溫度圖像如圖3所示,實驗數(shù)據(jù)見表3所列。
圖3 設備實測實驗結果
表3 設備實測實驗詳細數(shù)據(jù)
我們可以看到,設備實測實驗的結果表現(xiàn)出與模擬器實驗相同的對比結果,兩組調度策略的時間-溫度圖像的圖形相似度很高。從表3所提供的數(shù)據(jù)可知,實測數(shù)據(jù)表現(xiàn)出在損失對整體數(shù)據(jù)不構成影響精度的0.037 5 ℃前提下,達到了顯著的節(jié)能效果,即模糊邏輯調度策略的功耗只有等取樣間隔策略的24.3%。這個特性也和模擬器實驗所揭示的結論一致。
本文針對物聯(lián)網感知層上的環(huán)境數(shù)據(jù)采樣應用提出了一個基于模糊邏輯的調度策略,在損失對整體數(shù)據(jù)不構成影響精度的前提下,顯著減少感知層設備采集數(shù)據(jù)時的功耗。并對提出的調度策略從模擬器和設備實測2個方面進行了驗證。實驗結果表明,本文所提出的調度策略達到了預計的精度并降低了功耗的預期。本文提出的調度策略雖然是針對環(huán)境數(shù)據(jù)采樣,但其還是具有一定的通用性,可以擴展使用在所有存在一定變化規(guī)律的采樣場景。在時下物聯(lián)網應用追求低能耗的行業(yè)需求下,本文所介紹的調度策略具有應用價值。在未來的工作中,我們計劃研究通過機器學習方法找到優(yōu)化的采樣區(qū)間劃分方法和對應的取樣區(qū)間長度,來對算法進行進一步的優(yōu)化。