黃俊偉,陶功平,宋國壯
(重慶郵電大學(xué) 通信與信息工程學(xué)院,重慶 400065)
伴隨著“十四五”期間新能源、微電網(wǎng)、互動(dòng)式設(shè)備的大量接入[1-2],以及電力現(xiàn)貨交易等新業(yè)務(wù)的持續(xù)涌現(xiàn),用戶用電信息采集系統(tǒng)不斷地為多系統(tǒng)、多專業(yè)提供實(shí)時(shí)數(shù)據(jù)和應(yīng)用支撐[3-4],采集的數(shù)據(jù)類型不斷增多,對數(shù)據(jù)采集頻率的要求也越來越高[5-6]。
目前的用電信息采集方法仍是遵循國家電網(wǎng)提供的集中器主動(dòng)抄表、路由主動(dòng)抄表和集中器主動(dòng)并發(fā)抄表[7-9]。這些方法均為點(diǎn)對點(diǎn)的輪詢方式,一次只能抄讀一個(gè)電能表的數(shù)據(jù),報(bào)文串行收發(fā),且上下行流程對稱,報(bào)文開銷大,效率低[10-11]?,F(xiàn)有的確認(rèn)與重傳機(jī)制效率低且無法保證抄表成功率,并未達(dá)到密集數(shù)據(jù)快速采集的要求。
因此,本文針對密集的用戶用電信息快速采集的情況提出一種基于邊緣計(jì)算的快速抄表方法。通過在靠近數(shù)據(jù)源頭的網(wǎng)絡(luò)邊緣進(jìn)行數(shù)據(jù)的處理、分析及應(yīng)用[12-13],利用邊緣節(jié)點(diǎn)對數(shù)據(jù)進(jìn)行傳輸控制、分析和存儲等操作,優(yōu)化抄表流程,減少網(wǎng)絡(luò)時(shí)延及流量,避免大量數(shù)據(jù)匯聚而產(chǎn)生沖突[14-15]。
本文主要考慮對一個(gè)樹狀的能夠雙向通信的多跳自組織網(wǎng)絡(luò)進(jìn)行用戶用電信息快速采集,采集系統(tǒng)中與集中器連接的通信模塊稱為CCO(Central Coordinator),與電能表連接的通信模塊稱為STA(Station),作為中繼的STA稱為代理節(jié)點(diǎn)(Proxy Coordinator,PCO)。
基于邊緣計(jì)算的快速抄表方法包含以下幾個(gè)步驟:
(1)集中器向CCO 發(fā)送基于周期性任務(wù)規(guī)劃的信息采集命令,CCO 構(gòu)造信息采集條目,廣播攜帶信息采集條目的中央信標(biāo)幀;
(2)PCO 接收中央信標(biāo)幀后,廣播攜帶信息采集條目的代理信標(biāo)幀,并處理周期性采集任務(wù);
(3)STA 接收中央信標(biāo)幀或代理信標(biāo)幀,根據(jù)信息采集條目的內(nèi)容,預(yù)先讀取電能表內(nèi)容并根據(jù)任務(wù)規(guī)劃自動(dòng)周期性上報(bào)采集響應(yīng)數(shù)據(jù);
(4)PCO 將匯集的數(shù)據(jù)封裝成一個(gè)或多個(gè)報(bào)文上傳給上級節(jié)點(diǎn),通過批量確認(rèn)的方式對下級節(jié)點(diǎn)進(jìn)行確認(rèn)、切換路由向備用中繼節(jié)點(diǎn)重傳及啟動(dòng)路由修復(fù)等機(jī)制保證PCO 上傳報(bào)文成功;
(5)CCO 收集完所有數(shù)據(jù)后,完成每個(gè)節(jié)點(diǎn)數(shù)據(jù)的完整性及連續(xù)性的檢查,并對缺漏的數(shù)據(jù)進(jìn)行補(bǔ)點(diǎn)。
快速抄表方法的數(shù)據(jù)報(bào)文只有一次下行,有多次上行,由PCO 匯集數(shù)據(jù)后再上傳,可減少上行報(bào)文數(shù)量,匯集數(shù)據(jù)的幀格式如圖1 所示。
圖1 PCO 匯集幀格式
圖1中,任務(wù)序列號對應(yīng)CCO 的采集條目中的任務(wù)序列號;當(dāng)前上報(bào)序列號為對應(yīng)于本任務(wù)自動(dòng)響應(yīng)數(shù)據(jù)上報(bào)的序列號;抄讀完成標(biāo)志標(biāo)識本節(jié)點(diǎn)是否收集完所有下級節(jié)點(diǎn)的響應(yīng)數(shù)據(jù);分包標(biāo)志標(biāo)識匯集的數(shù)據(jù)是否需要分包發(fā)送;由于抄讀的數(shù)據(jù)項(xiàng)一樣,因此各節(jié)點(diǎn)的響應(yīng)數(shù)據(jù)長度是一樣的,統(tǒng)一由單個(gè)節(jié)點(diǎn)響應(yīng)長度標(biāo)識即可;響應(yīng)數(shù)據(jù)則為每個(gè)節(jié)點(diǎn)對應(yīng)的響應(yīng)數(shù)據(jù),TEI 為節(jié)點(diǎn)的唯一標(biāo)識。
為了保證響應(yīng)數(shù)據(jù)最終能成功地發(fā)送至CCO,PCO增加以下幾個(gè)功能:
(1)PCO 上報(bào)前,需要將響應(yīng)幀添加至重傳列表備份,當(dāng)收到上級節(jié)點(diǎn)的確認(rèn)幀后,再從重傳列表中刪除;
(2)PCO 上報(bào)后,構(gòu)造批量確認(rèn)報(bào)文發(fā)送給下級節(jié)點(diǎn),批量確認(rèn)報(bào)文中對沒有接收到響應(yīng)數(shù)據(jù)的下級節(jié)點(diǎn)進(jìn)行標(biāo)記。
PCO 將匯集的響應(yīng)數(shù)據(jù)上報(bào)后,與上級節(jié)點(diǎn)的處理流程如圖2 所示。
圖2 與上級節(jié)點(diǎn)的確認(rèn)與重傳流程
其中,PCO 除了有一個(gè)直連的上級節(jié)點(diǎn),在網(wǎng)絡(luò)中還會維護(hù)數(shù)個(gè)備用上級節(jié)點(diǎn),當(dāng)與直連上級節(jié)點(diǎn)通信失敗時(shí),PCO 會選擇向通信質(zhì)量最好的備用上級節(jié)點(diǎn)進(jìn)行重傳,以確保傳輸?shù)某晒β省?/p>
PCO 將匯集的響應(yīng)數(shù)據(jù)上報(bào)給上級節(jié)點(diǎn)后,與下級節(jié)點(diǎn)的處理流程如圖3 所示。
圖3 與下級節(jié)點(diǎn)的確認(rèn)與重傳流程
圖3中,PCO 若接收到標(biāo)記節(jié)點(diǎn)的重傳報(bào)文,可繼續(xù)上報(bào)給上級節(jié)點(diǎn);若未接收到標(biāo)記節(jié)點(diǎn)的重傳報(bào)文,則等待CCO 的補(bǔ)點(diǎn)命令再對此下級節(jié)點(diǎn)進(jìn)行抄讀。
綜上所述,此方法中,在邊緣節(jié)點(diǎn)進(jìn)行數(shù)據(jù)的處理及存儲,將聚集的數(shù)據(jù)分布式處理,并進(jìn)一步通過重傳與確認(rèn)機(jī)制在邊緣節(jié)點(diǎn)保證數(shù)據(jù)傳輸?shù)目煽啃裕瑢⒃炯杏贑CO 的計(jì)算、存儲和通信等資源下放到各個(gè)邊緣節(jié)點(diǎn),讓數(shù)據(jù)的處理和應(yīng)用更貼近終端設(shè)備,從而提高了整個(gè)系統(tǒng)對數(shù)據(jù)的響應(yīng)效率。
本文將邊緣計(jì)算應(yīng)用于用戶用電信息采集系統(tǒng),提出快速抄表方法實(shí)現(xiàn)對密集用電信息的快速采集,為驗(yàn)證快速抄表方法的性能優(yōu)于目前最常用的抄表方法(即文獻(xiàn)[3]中提到的方法,后文將統(tǒng)一稱為傳統(tǒng)抄表方法),對兩種方法的時(shí)間開銷進(jìn)行分析并對比。
根據(jù)傳統(tǒng)抄表流程標(biāo)記每個(gè)環(huán)節(jié)的時(shí)間開銷如圖4所示。
圖4 傳統(tǒng)抄表環(huán)節(jié)時(shí)間標(biāo)記
假設(shè)CCO 處于第0層,以圖4 所示的抄讀一個(gè)第2層節(jié)點(diǎn)所需要經(jīng)歷的環(huán)節(jié)來描述,其中經(jīng)由一個(gè)PCO 轉(zhuǎn)發(fā)所花費(fèi)的時(shí)間為Tp,抄讀第i 層節(jié)點(diǎn)需要經(jīng)過i-1 個(gè)PCO 轉(zhuǎn)發(fā)。STA 發(fā)送抄表命令到接收抄表響應(yīng)所需要的時(shí)間為Ts,令Tt為其余時(shí)間的和。
若討論網(wǎng)絡(luò)中所有節(jié)點(diǎn)都能抄讀成功且不存在重傳的情況,假設(shè)整個(gè)網(wǎng)絡(luò)共有L層,第i 層的節(jié)點(diǎn)數(shù)量為Ni,則對所有節(jié)點(diǎn)抄讀M 個(gè)數(shù)據(jù)項(xiàng)所需要的時(shí)間Tc為:
從式(1)中可看出,隨著層級、節(jié)點(diǎn)數(shù)量和抄讀項(xiàng)數(shù)的增加,傳統(tǒng)抄表的時(shí)間開銷越來越大。
而對于快速抄表,其各環(huán)節(jié)的時(shí)間開銷如圖5 所示。
圖5 快速抄表時(shí)間標(biāo)記
由于快速抄表的下行命令通過信標(biāo)發(fā)送,因此下行時(shí)間開銷可忽略不計(jì)??焖俪淼纳闲袝r(shí)間開銷Tq_up為:
其中,Msi為第i層STA的個(gè)數(shù),Mpi為第i層PCO的個(gè)數(shù),Δt為節(jié)點(diǎn)上報(bào)抄表響應(yīng)時(shí)為避免通信沖突的報(bào)文間隔時(shí)間。由于無法確定匯集報(bào)文的長度,為了方便分析,取為發(fā)送最長匯集報(bào)文的傳輸時(shí)間。
在PCO 處匯集數(shù)據(jù)后存在分包的情況,式(2)只記錄了一次PCO 上報(bào)的時(shí)間,則剩余包傳輸?shù)臅r(shí)間Tqs為:
其中,p 為CCO 接收到的剩余包的個(gè)數(shù),pi為第i 層剩余包的個(gè)數(shù),第i 層的剩余包需要由i-1 個(gè)PCO 轉(zhuǎn)發(fā)。
在采集任務(wù)周期較長的情況下,快速抄表對于現(xiàn)有抄表方法節(jié)約的時(shí)間為:
化簡可得到Te=Te1+Te2+Te3,其中Te1、Te2、Te3具體為:
為了更直觀地顯示本方法的優(yōu)越性,取實(shí)測環(huán)境中用示波器觀測得到的均值,如表1所示,且有N>p,Ni=Nsi+Npi。
表1 時(shí)間參數(shù)值
當(dāng)節(jié)點(diǎn)數(shù)量大于0時(shí),Te1>0,Te2>0,Te3>0,證得Te>0,即快速抄表方法相比于傳統(tǒng)抄表方法節(jié)省的時(shí)間更多。
由于傳統(tǒng)抄表方法為點(diǎn)對點(diǎn)的采集方式,因此采集整個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)信息所需要的時(shí)間與節(jié)點(diǎn)所處的層級、節(jié)點(diǎn)數(shù)量和抄讀的項(xiàng)數(shù)相關(guān)。而基于邊緣計(jì)算的快速抄表方法是通過CCO 下發(fā)一次任務(wù)型抄表命令、節(jié)點(diǎn)預(yù)讀取和PCO 對下級節(jié)點(diǎn)進(jìn)行數(shù)據(jù)匯集,來減少串口通信時(shí)間和重復(fù)的轉(zhuǎn)發(fā)開銷,總體來說,快速抄表方法能取得較好的性能提升。
為了進(jìn)一步驗(yàn)證本文提出的方法的優(yōu)化性能,模擬真實(shí)環(huán)境,搭建硬件平臺進(jìn)行網(wǎng)絡(luò)測試驗(yàn)證。由于硬件模塊數(shù)量有限,可用7 個(gè)STA 搭建一個(gè)兩層網(wǎng)絡(luò)。用傳統(tǒng)抄表方法與快速抄表方法分別對此網(wǎng)絡(luò)的節(jié)點(diǎn)抄讀一個(gè)數(shù)據(jù)項(xiàng),通過抓包工具得到空口數(shù)據(jù)并進(jìn)行解析。
圖6 為傳統(tǒng)抄表方法的部分交互信息,對一個(gè)1 層節(jié)點(diǎn)的抄表數(shù)據(jù)為一次下行通信,一次上行通信,空口時(shí)間開銷約為347.33 ms。對一個(gè)2 層節(jié)點(diǎn)抄表的數(shù)據(jù)為兩次下行通信,兩次上行通信,空口時(shí)間開銷約為363.47 ms。但CCO 接收上一個(gè)節(jié)點(diǎn)的響應(yīng)數(shù)據(jù)到發(fā)送下一個(gè)節(jié)點(diǎn)的命令的時(shí)間約為1 017.42 ms,可見通過集中器下發(fā)命令的效率是十分低的。經(jīng)統(tǒng)計(jì),抄讀完整個(gè)網(wǎng)絡(luò)的空口時(shí)間開銷約為2 495.87 ms。
圖6 傳統(tǒng)抄表方法的數(shù)據(jù)流
圖7 為本文提出的基于邊緣計(jì)算的快速抄表方法的部分交互信息。節(jié)點(diǎn)接收到攜帶抄表?xiàng)l目的信標(biāo)幀后開始上報(bào)響應(yīng)數(shù)據(jù),節(jié)點(diǎn)上報(bào)間隔約8.57 ms。3 號節(jié)點(diǎn)作為PCO,其下級節(jié)點(diǎn)先將數(shù)據(jù)上報(bào)給3號,再由3號節(jié)點(diǎn)匯集并上報(bào)給CCO,由此3 號節(jié)點(diǎn)上報(bào)數(shù)據(jù)的長度更長。
圖7 快速抄表方法的數(shù)據(jù)流
分別用兩種方法循環(huán)300 次對此網(wǎng)絡(luò)進(jìn)行數(shù)據(jù)采集,測試結(jié)果如表2 所示。
表2 測試結(jié)果
快速抄表協(xié)議減少了CCO 與集中器的串口通信,減少了下行報(bào)文,節(jié)約了STA 與電能表串口通信的時(shí)間,也減少了PCO 轉(zhuǎn)發(fā)帶來的開銷,并通過PCO 匯集進(jìn)一步減少上行報(bào)文,因此快速抄表的時(shí)間開銷大幅度減少。
對于抄表失敗的情況,通過分析,確定是由于網(wǎng)絡(luò)質(zhì)量問題所致。由于傳統(tǒng)抄表方法的重傳機(jī)制為由CCO判斷是否收到節(jié)點(diǎn)響應(yīng)并控制重傳,若重傳3 次仍失敗,則放棄對該節(jié)點(diǎn)的數(shù)據(jù)采集。而快速抄表的重傳機(jī)制為由上級PCO 控制,并提供備用PCO 及路由修復(fù)的方案保證響應(yīng)數(shù)據(jù)傳輸至CCO。由表2 可見,快速抄表方法在可靠性方面優(yōu)于傳統(tǒng)抄表方法。
由于快速抄表方法較于傳統(tǒng)抄表方法的節(jié)約時(shí)間與抄讀的數(shù)據(jù)項(xiàng)數(shù)有關(guān),因此分別使用傳統(tǒng)抄表方法和快速抄表方法測試抄讀不同數(shù)量數(shù)據(jù)項(xiàng)的情況,測試結(jié)果如表3 所示。
表3 抄讀不同數(shù)據(jù)項(xiàng)數(shù)測試結(jié)果
傳統(tǒng)抄表方法在網(wǎng)絡(luò)拓?fù)涔潭ǖ那闆r下抄讀項(xiàng)數(shù)M 是唯一變量,因此時(shí)間開銷隨抄表項(xiàng)數(shù)增加而線性增長,平均每增加一個(gè)數(shù)據(jù)項(xiàng),傳統(tǒng)抄表的時(shí)間開銷增加311.734 ms。由于快速抄表協(xié)議采用了預(yù)讀取流程,數(shù)據(jù)項(xiàng)數(shù)的增加對利用快速抄表方法抄表的時(shí)間開銷影響不大,只是由于數(shù)據(jù)項(xiàng)數(shù)的增多,傳輸?shù)膱?bào)文長度變長了,但與Mb/s 的速度起來,100 bit 左右的長度對抄表時(shí)間開銷的影響是微小的。
由于快速抄表方法較于傳統(tǒng)抄表方法的節(jié)約時(shí)間與網(wǎng)絡(luò)拓?fù)涔?jié)點(diǎn)的分布有關(guān),通過對模塊射頻輸出線連接衰減器,并調(diào)節(jié)衰減大小構(gòu)建不同拓?fù)鋱D對兩種抄表方法進(jìn)行測試。結(jié)果顯示需要PCO 轉(zhuǎn)發(fā)的次數(shù)更多,在PCO 處開銷的時(shí)間更多,當(dāng)節(jié)點(diǎn)規(guī)模更大時(shí),網(wǎng)絡(luò)拓?fù)鋵Τ頃r(shí)間的影響更大,在PCO 處開銷的時(shí)間也會更顯著。而快速抄表協(xié)議設(shè)計(jì)在PCO 處進(jìn)行數(shù)據(jù)匯集,連同自己的響應(yīng)數(shù)據(jù)在上報(bào)時(shí)間到達(dá)時(shí)上傳即可,因此節(jié)點(diǎn)的分布情況對使用快速抄表方法下的時(shí)間開銷影響不大。
本文針對用戶用電信息采集方法進(jìn)行研究,提出了基于邊緣計(jì)算的快速抄表方法。此方法利用邊緣計(jì)算的思想將數(shù)據(jù)的分析和存儲放到邊緣節(jié)點(diǎn)進(jìn)行處理,較于傳統(tǒng)抄表方法減少了串口通信時(shí)間,節(jié)約了代理節(jié)點(diǎn)轉(zhuǎn)發(fā)的時(shí)間開銷,提高了數(shù)據(jù)傳輸?shù)挠行约翱煽啃?。并通過實(shí)驗(yàn)結(jié)果證明,對于一個(gè)7 個(gè)節(jié)點(diǎn)的二層網(wǎng)絡(luò)快速抄表的時(shí)間開銷大幅度縮短,采集成功率高達(dá)100%。且隨著網(wǎng)絡(luò)規(guī)模、節(jié)點(diǎn)層級和抄讀項(xiàng)數(shù)的增加,相較于傳統(tǒng)抄表方法,快速抄表協(xié)議理論上會取得更佳的性能提升。