胡笳鳴,陳常明,羅宏川
(1.中國人民解放軍94860部隊,南京 210000;2.中國人民解放軍94789部隊,南京 210000)
對空信息通信臺站用于保障空地通信,通常分布于高山、海島、鄉(xiāng)鎮(zhèn)、城郊等偏遠地區(qū),其供配電系統(tǒng)是臺站開展通信戰(zhàn)備工作的基礎(chǔ),也是軍事保障工作的重要因素。隨著軍事通信網(wǎng)的日益擴張,數(shù)量龐大的供配電系統(tǒng)完成建設(shè)并投入使用,采用先進技術(shù)集中統(tǒng)一管理供配電系統(tǒng)的需求日益緊迫[1]。同時,由于現(xiàn)代供配電系統(tǒng)技術(shù)進步,其工況數(shù)據(jù)中狀態(tài)參量的數(shù)量和類型數(shù)不斷增多,特別是為了支撐大數(shù)據(jù)挖掘分析應(yīng)用,采集數(shù)據(jù)的采樣頻率和量化精度不斷提高,供配電系統(tǒng)工況數(shù)據(jù)的采集、傳輸、存儲難度大幅提升。截至目前,尚無滿足公開文獻報道需求的供配電系統(tǒng)數(shù)據(jù)采集系統(tǒng)。
本文基于聲卡模數(shù)轉(zhuǎn)換單元獲取供配電系統(tǒng)工況的高頻率高數(shù)度數(shù)據(jù),綜合應(yīng)用云存儲、Active Data Object 接 口、 TCP/IP 協(xié) 議Socket 程序、服務(wù)端多線程等技術(shù)實現(xiàn)海量數(shù)據(jù)傳輸存儲,設(shè)計了一種數(shù)據(jù)采集系統(tǒng)。該系統(tǒng)可實現(xiàn)對各個站點供配電數(shù)據(jù)的采集、存儲、查詢和分析,相較于現(xiàn)有技術(shù)具有精度高、信息粒度小的優(yōu)勢,可支撐配電系統(tǒng)工況大數(shù)據(jù)挖掘分析應(yīng)用。
對空信息通信臺站部署的供配電系統(tǒng)通常包含供配電監(jiān)測模塊,安裝于配電柜的通信處理框架內(nèi),針對電網(wǎng)中的輸入輸出電壓、電流、頻率、相位等參數(shù)實時旁路監(jiān)控。雖然這些數(shù)據(jù)會存儲于本地CF 卡或固態(tài)硬盤中,可以使用廠商提供的軟件接口調(diào)取。但是廠商集成的數(shù)據(jù)采集功能通常缺乏電網(wǎng)信息細節(jié),信息顆粒度不夠,難以藉此開展后期的數(shù)據(jù)挖掘分析。吉淑嬌等[2]基于聲卡的模數(shù)轉(zhuǎn)換單元(ADC),在Lab VIEW 程序開發(fā)環(huán)境下,實現(xiàn)音頻范圍內(nèi)的信號細顆粒采集。本文利用Realtek ALC269型聲卡的ADC單元采集電網(wǎng)旁路數(shù)據(jù),可以實現(xiàn)對電網(wǎng)參數(shù)的高精度記錄,采樣頻率可以達96 kHz,量化精度24 bit[3]。新設(shè)計的供配電數(shù)據(jù)采集系統(tǒng)將會以云存儲技術(shù)為基礎(chǔ)構(gòu)建存儲核心模塊,實現(xiàn)海量數(shù)據(jù)存儲和均衡數(shù)據(jù)調(diào)閱;同時配合設(shè)計的網(wǎng)絡(luò)通信模塊對站點前端聲卡采集的數(shù)據(jù)進行壓縮傳輸,如圖1所示。
圖1 供配電數(shù)據(jù)采集系統(tǒng)設(shè)計思路
對空信息通信臺站使用聲卡采集數(shù)據(jù)將會積累大量電網(wǎng)實時監(jiān)測數(shù)據(jù),每路電源數(shù)據(jù)產(chǎn)生率接近6 MByte/分鐘,站點監(jiān)控模塊中自帶的CF 存儲卡無法支持長時間的數(shù)據(jù)存儲,需要使用集中式的數(shù)據(jù)庫實現(xiàn)龐大數(shù)量站點上報信息的長時段記錄??梢钥紤]對采集數(shù)據(jù)采用云存儲技術(shù),即數(shù)據(jù)分布到存儲終端中,服務(wù)端提供從網(wǎng)絡(luò)云查詢數(shù)據(jù)的功能[4]。當用戶需要精確查詢某一臺站某一時間段內(nèi)的電網(wǎng)運行數(shù)據(jù)時,在客戶端使用軟件登錄服務(wù)器,由服務(wù)器從網(wǎng)絡(luò)云中調(diào)閱歷史數(shù)據(jù)并進行動態(tài)展現(xiàn)。
存儲核心模塊的整體架構(gòu)如圖2所示,包括客戶端、服務(wù)器、數(shù)據(jù)庫服務(wù)器、云存儲服務(wù)器集群四個部分。其中,服務(wù)器是供配電數(shù)據(jù)采集系統(tǒng)的服務(wù)提供者,負責面向保障部門的用戶提供數(shù)據(jù)的查詢、分析和動態(tài)展現(xiàn);數(shù)據(jù)庫服務(wù)器用于調(diào)度任務(wù)相關(guān)數(shù)據(jù)的動態(tài)緩存;所有歷史的、海量的臺站供配電數(shù)據(jù)存儲在電網(wǎng)云存儲服務(wù)器集群之中。
圖2 存儲核心模塊架構(gòu)
存儲核心模塊的架構(gòu)設(shè)計必須具備以下幾個技術(shù)能力:①各個通信站點上傳的電網(wǎng)數(shù)據(jù)能夠進行分布式存儲;②多個客戶端在使用服務(wù)器查閱數(shù)據(jù)時能實現(xiàn)任務(wù)的負載均衡;③隨著業(yè)務(wù)量的上升可以動態(tài)添加服務(wù)器節(jié)點,同時不影響現(xiàn)有系統(tǒng)的穩(wěn)定運行。
云存儲是通過集群、網(wǎng)格技術(shù)或分布式文件系統(tǒng)等功能,將網(wǎng)絡(luò)中大量各種不同類型的存儲設(shè)備通過應(yīng)用軟件集合起來協(xié)同工作,共同對外提供數(shù)據(jù)存儲和業(yè)務(wù)訪問功能的一個服務(wù)系統(tǒng)。各個通信站點采集到的實時電網(wǎng)數(shù)據(jù)依托服務(wù)器中的分布式存儲進程完成到各個云存儲服務(wù)器的均勻分配存儲,如圖3所示。所有站點的電網(wǎng)數(shù)據(jù)以壓縮格式存儲于云中。
圖3 供配電數(shù)據(jù)存儲過程
各個通信站點采集數(shù)據(jù)存儲詳細流程如下:
(1)通信站點數(shù)據(jù)采集客戶端周期性向系統(tǒng)服務(wù)器請求云存儲,服務(wù)器采用任務(wù)調(diào)度技術(shù)為每個采集客戶端定制任務(wù)時間和云存儲塊資源;
(2)服務(wù)器向站點客戶端通報下一個周期內(nèi)的資源分配計劃單;
(3)站點客戶端收到服務(wù)器授權(quán)的計劃單后,按照調(diào)度計劃將供配電數(shù)據(jù)上傳;
(4)站點客戶端完成數(shù)據(jù)推送后告知云存儲服務(wù)器,云端回復(fù)服務(wù)器確認該任務(wù)周期內(nèi)數(shù)據(jù)完成寫入。
本文供配電數(shù)據(jù)采集系統(tǒng)中數(shù)據(jù)傳輸使用TCP/IP 協(xié)議,協(xié)議實現(xiàn)依托Socket 套接字。在IP 網(wǎng)絡(luò)進程中,每一個Socket 編程界面由一個三元組描述:協(xié)議、本地地址、本地端口。一個完整的Socket 鏈接則用一個五元組描述:協(xié)議、本地地址、本地端口、遠程地址、遠程端口。每一個Socket 有一個本地唯一的ID 號,由操作系統(tǒng)分配[5]。
數(shù)據(jù)的網(wǎng)絡(luò)傳輸通常使用幀格式進行。一個完整的數(shù)據(jù)幀由幀頭及具體內(nèi)容組成,幀頭中包含了該數(shù)據(jù)幀的預(yù)處理方式,例如幀的序號、信道編碼濾波方式有中值濾波和低通濾波、壓縮方式為有損及無損壓縮等,幀內(nèi)容中包含聲卡采集電網(wǎng)數(shù)據(jù)的時間、地點和各類測量參數(shù)。完成數(shù)據(jù)幀格式定義后,還需進一步開展網(wǎng)絡(luò)傳輸流程設(shè)計,流程內(nèi)容主要包括客戶端主動采集電壓數(shù)據(jù)傳輸過程、服務(wù)器控制數(shù)據(jù)采集過程及數(shù)據(jù)查詢傳輸過程。
(1)客戶端主動采集電壓數(shù)據(jù)傳輸過程。站點客戶端首先向服務(wù)器發(fā)送傳輸請求,服務(wù)器收到請求后根據(jù)服務(wù)調(diào)度進程響應(yīng)。在傳輸過程中,客戶端會發(fā)送采集的供配電數(shù)據(jù)容量信息(以Byte 計);隨后將數(shù)據(jù)文件分割為5 KByte的片段排序發(fā)送。數(shù)據(jù)傳輸成功后關(guān)閉Socket接口,服務(wù)器對收到的數(shù)據(jù)進行分析。
(2)服務(wù)器端控制數(shù)據(jù)采集過程。首先站點客戶端啟動傳輸控制進程監(jiān)聽服務(wù)器的指令信息,服務(wù)器通常采用手動和自動電壓采集兩種模式。手動模式即管理人員使用服務(wù)端Web頁面遠程遙控具體站點客戶端的數(shù)據(jù)采集進程;自動模式即服務(wù)器根據(jù)調(diào)度任務(wù)安排以一定周期發(fā)送數(shù)據(jù)采集命令,客戶端監(jiān)聽后立即執(zhí)行;如果服務(wù)器端向客戶端發(fā)送的request控制幀中包含有中止數(shù)據(jù)采集命令,則客戶端立即停止數(shù)據(jù)采集工作。
(3)數(shù)據(jù)查詢傳輸過程。首先查詢服務(wù)器端發(fā)送數(shù)據(jù)查詢請求,請求幀格式中包含目標數(shù)據(jù)屬性信息。 數(shù)據(jù)存儲云服務(wù)器收到后便從數(shù)據(jù)文件中查找到相應(yīng)的數(shù)據(jù)文件,隨后利用數(shù)據(jù)傳輸過程(首先發(fā)送數(shù)據(jù)文件的大小,然后再發(fā)送數(shù)據(jù)文件)將相應(yīng)的、已壓縮的電網(wǎng)數(shù)據(jù)文件傳輸?shù)讲樵兎?wù)器端,查詢服務(wù)器端對接收到的供配電數(shù)據(jù)進行解壓縮和拼裝后恢復(fù)原始的采集數(shù)據(jù)。
軍事通信臺站供配電數(shù)據(jù)采集系統(tǒng)中,客戶端采集的數(shù)據(jù)要通過TCP/IP 協(xié)議傳輸?shù)椒?wù)器端,然后服務(wù)器端對其進行存儲。必須考慮數(shù)量龐大的各級站點接入時,海量數(shù)據(jù)傳輸會導(dǎo)致嚴重的網(wǎng)絡(luò)擁塞問題。本文在設(shè)計具體程序時可以適當調(diào)整Socket 緩沖區(qū)的大小,同時讓服務(wù)器端的守護進程周期讀取Socket 通信端口狀態(tài)信息,有效監(jiān)測Socket 關(guān)閉事件,確保資源占用率來規(guī)避擁塞的發(fā)生。
為滿足海量網(wǎng)絡(luò)用戶的并發(fā)式接入,本系統(tǒng)基于Java 采用多線程技術(shù),多線程技術(shù)具有同時處理多項任務(wù)、提升服務(wù)端資源利用效率的優(yōu)勢,給用戶更佳的體驗感。根據(jù)實際需要,應(yīng)用程序可分解成許多獨立執(zhí)行的線程,每個線程并行地運行在同一進程中[6]。在客戶端數(shù)據(jù)傳輸時,新用戶接入可能因為現(xiàn)有用戶占用資源而導(dǎo)致數(shù)據(jù)無法接收處理,程序設(shè)計采用對不同用戶分配不同線程進行單獨處理技術(shù)。線程間的區(qū)分使用數(shù)據(jù)接入時不同的套接字實現(xiàn),多用戶接入與線程分配框圖如圖4所示。
圖4 多用戶接入與線程分配
本系統(tǒng)設(shè)計的服務(wù)器提供從網(wǎng)絡(luò)云中直接查詢數(shù)據(jù)的功能,便于客戶高效實現(xiàn)數(shù)據(jù)再挖掘;搭配SQL 數(shù)據(jù)庫服務(wù)器實現(xiàn)網(wǎng)絡(luò)云存儲模塊索引和數(shù)據(jù)動態(tài)緩存功能。具體的數(shù)據(jù)查詢流程如圖5所示。
圖5 數(shù)據(jù)查詢流程
數(shù)據(jù)查詢詳細流程如下:
(1)客戶端登錄系統(tǒng)服務(wù)器的請求查詢頁面,輸入所要查詢供配電數(shù)據(jù)時間、地點等屬性,服務(wù)器中的查詢進程通過SQL 數(shù)據(jù)庫服務(wù)器獲取目標信息的云存儲索引。
(2)服務(wù)器使用索引向數(shù)據(jù)云存儲端發(fā)送數(shù)據(jù)查詢請求,索引中包含云存儲模塊的IP地址、相關(guān)數(shù)據(jù)的時間、地點、參數(shù)閾值等屬性信息,云存儲端接收到查詢請求后利用TCP/IP 協(xié)議將壓縮數(shù)據(jù)發(fā)送至服務(wù)器端。
(3)服務(wù)器分析接收的數(shù)據(jù)結(jié)構(gòu),使用解壓縮算法處理接收數(shù)據(jù),未釋放的查詢進程會進一步驗證數(shù)據(jù)信息是否正確,驗證后的數(shù)據(jù)將會交給顯示處理進程。
(4)頻繁調(diào)閱和制定任務(wù)計劃的數(shù)據(jù)將會存儲在SQL 數(shù)據(jù)庫服務(wù)器的表空間內(nèi),方便客戶端直接查詢使用。
SQL 數(shù)據(jù)庫服務(wù)器的應(yīng)用層面使用Active Data Object(ADO)接口訪問技術(shù),為關(guān)系型數(shù)據(jù)庫提供高性能訪問服務(wù),同時也為客戶展現(xiàn)靈活的Web應(yīng)用模式。
本文提出了一種對空信息通信臺站供配電系統(tǒng)的數(shù)據(jù)采集系統(tǒng)設(shè)計方案,按照該方案設(shè)計完成的系統(tǒng)可以存儲、查詢和分析電力遙測數(shù)據(jù),提升了軍事保障部門對規(guī)模性通信站點供配電系統(tǒng)的管控能力。相比現(xiàn)有的供配電管理系統(tǒng)而言,本文設(shè)計的系統(tǒng)因為采用了新技術(shù)而具備以下幾個特點:
(1)采用云存儲技術(shù)實現(xiàn)存儲核心模塊設(shè)計,當部署站點數(shù)量增加時,僅需添加相應(yīng)的服務(wù)器節(jié)點即可完成系統(tǒng)擴容,降低了升級維護成本;
(2)以Realtek 聲卡ADC 采樣單元為基礎(chǔ)為各個通信站點設(shè)計了獨立的供配電數(shù)據(jù)采集客戶端,其采集精度可以實現(xiàn)電壓、電流時域波形的恢復(fù)成像,提升了供配電信息的管控力度;
(3)利用TCP/IP協(xié)議中的Socket套接字實現(xiàn)系統(tǒng)的網(wǎng)絡(luò)傳輸通信,方便通信站點利用現(xiàn)有的網(wǎng)絡(luò)傳輸信道實現(xiàn)系統(tǒng)部署;同時采用多線程技術(shù)實現(xiàn)大用戶接入的負載均衡;
(4)使用ADO 技術(shù)在Web 端為管理用戶提供靈活高效的用戶界面,管理用戶可以查詢?nèi)我馊刖W(wǎng)站點供配電系統(tǒng)的在線工作狀態(tài),快速調(diào)閱目標站點供配電系統(tǒng)中電壓、電流、功率、阻抗的詳細歷史數(shù)據(jù),利用軟件功能實現(xiàn)大數(shù)據(jù)的統(tǒng)計和分析。