余向前,張東平,王曉燕,張長青
(國網甘肅省電力公司,甘肅蘭州 730030)
目前,線損管理系統結構面臨電力工業結構調整的問題,無法帶動電網變化[1]。大多數線損管理系統不能實現實時的精細管理,各系統之間難以實現信息共享,容易形成信息孤島[2]。
使用SCADA 系統管理電力企業的線損管理系統,運行過程比較復雜,數據不能整合,給分析統計帶來許多麻煩,具體的線損信息無法直接查看;線損管理系統以面向服務的架構SOA 為基礎,配電網絡運行方式改變時,由于線損管理信息系統無法實現信息統一,容易出現系統互操作性差的問題,導致線損管理效果較差。
針對這一問題,提出了基于SelTree 樹形組件的電力企業線損管理系統設計方案。使用SelTree 組件表示數據之間的層次性依賴關系是一種生動直觀的方式,因此SelTree 樹形組件在應用程序設計中扮演著重要角色。
通過對線損管理工作需求分析,建立了比較完整的線損管理系統,形成了相對開放、支持標準接口的服務系統平臺。圖1 給出了電力企業線損管理系統結構。

圖1 電力企業線損管理系統結構
1)顯示層
顯示層是與顧客互動的界面,通過瀏覽器與B/S結構中的客戶交互。使用者通過瀏覽器向處理器發出請求,處理器將處理過的資料傳回界面,界面由PC 機瀏覽器顯示[3-4],PC 端瀏覽器如圖2 所示。

圖2 PC端瀏覽器
在PC 端瀏覽器上選擇特定服務標簽,背景資料以JSON 格式傳送至前臺,資料會顯示在前臺PC 端瀏覽器標簽上[5-6]。標記使用JQUERY 選擇器,可以選擇特定標記。
2)應用層
應用層是系統的核心部分,根據實際業務邏輯,將系統分為不同的功能模塊[7-9]。在系統啟動時,通過向Spring 容器注入應用層代碼,實現對應用層的管理[10]。當系統運行時,如果在業務之間進行了調用,那么將從Spring 容器獲得特定服務,隨后調用該代碼來完成特定的業務操作[11]。
3)服務層
服務層為系統最底層,該層借助Hibernate 框架對數據庫中所需數據進行封裝。服務層的代碼在使用時必須調用數據層代碼,通過傳遞參數來完成數據庫的操作。使用HQL數據庫操作語言的Hibernate,對于Hibernate,可將HQL 轉換成SQL 語句,完成數據處理[12]。
4)接口層
針對接口層,需通過URL 訪問后臺,后臺通過提供的XML/Web Service 接口接收來自前臺的請求內容[13],一旦前臺接收到請求,立刻調用業務服務層執行特定的業務操作[14]。
利用SelTree 樹形組件存儲關系數據庫,獲取全部的電力企業線損管理數據,并計算臺區線損、10 kV饋線線損、10 kV 及以下饋線線損和分區線損,根據顯示和計算結果,設計實時線損服務管理流程。
樹形數據結構是一種常見的非線性數據結構,在電力企業線損管理中,用來顯示信息的層次結構圖。其以層次清晰、意義明確的特點,實現了對電力企業線損管理指標的顯示[15]。
Path 表示方法擁有記錄從樹的根節點到當前節點完整路徑的路徑字段,以FAT 文件分配表來說,各級目錄名和文件名組成了FAT 結構,如圖3 所示。

圖3 FAT結構
Path 表示方法的優勢在于節點可以快速查找,然而一個節點的位置改變后,其路徑和子節點必須保持一致。這種情況下會頻繁操作樹,因此有必要使用父級符號來維護此節點[16]。
父級表示指的是在連續空間中存儲樹中的一組節點,每個節點代表鏈表中父節點的位置,數據域存儲節點的數據信息。parent 是一個指針字段,存儲數組中的父節點下標。利用此存儲結構,可以輕松地根據節點的父指針找到它,其時間復雜性為O(1)。如果父節點為0 或null,則表示找到樹節點的根,由此實現SelTree 樹形組件在關系數據庫中的存儲。
線損就是線損功率,由于電力通過導線傳播(通常是銅線),導線本身具有一定的電阻,因此在傳播過程中,這條線(網格)的電阻會消耗掉一部分電力,詳細的線損統計算法如下所示:
1)臺區線損

式(1)中,L1表示臺區線損率;W1表示臺區供電量;S表示臺區售電量。在同一天,抄表臺區供電量和臺區售電量,臺區售電量計算公式如下:

式(2)中,xr表示臺區下低壓用戶每月抄表得到的實際用電量;sr表示以客戶正常月份用電量為基準,按正常月與故障月的差額補收的相應電量;gr表示加減電量。
2)10 kV 饋線線損

式(3)中,L2表示饋線線損率;W2表示10 kV 饋線供電量;m表示凍結電量;v表示10 kV 饋線用戶用電量。
3)10 kV 及以下饋線線損

4)分區線損

式(5)中,L4表示分區線損率;W3表示分區供電量;G表示分區售電量。
該系統的基本服務主要包括4 個方面:服務資源的通知/取消、服務資源查詢、服務資源使用、結果的計算和顯示。圖4 為實時線損業務管理流程。

圖4 實時線損服務管理流程
1)用戶開始訪問門戶實時線損估算系統Web瀏覽器。
2)PortalSearch 可以搜索注冊表中可用的實時線路損耗估計服務。
3)實時線損估算服務通過調用其組件服務(包括實時數據服務、區域拓撲數據的實時線損估算模塊以及計算節點)來尋找滿足需求的可用資源或服務。
4)實時線損評估服務通過查看實時線損評估指標選擇最合適的資源。
5)使用全新數據集估算線損,并實時采集數據,向數據服務提供虛擬服務模式。
6)在計算結束后,結果將發送給DataServices。
7)PortalRequest 請求的結果顯示在用戶顯示服務和Web 瀏覽器中。
在系統正式投入使用前,可發現系統開發和設計過程中的漏洞,改進系統設計,提高系統質量和可靠性。測試主要是模擬和執行系統在實際工作中需要完成的相關任務,利用系統反饋的結果和相關的信息指標,對系統進行最終評價,并發現潛在問題。
進行系統測試前,必須建立一個測試環境,測試環境如下:測試平臺為Windows10;測試設備為酷睿i5.8GHzde CPU;硬盤大小為500 G;測試地點為機房;測試人員共2 位;次數共5 次。
1)單一用戶界面響應時間應在10 s 以內作出響應,而客戶端統計時間應在5 s 以內,單一用戶操作響應如圖5 所示。

圖5 單一用戶操作響應
分別使用SCADA 系統、基于面向服務架構SOA線損管理系統、SelTree 樹形系統分析單一用戶操作響應時間,對比結果如表1 所示。

表1 不同系統單一用戶操作響應時間對比分析
由表2 可知,使用SCADA 系統界面響應時間超過10 s,而客戶端統計時間在5 s 以內;使用SOA 線損管理系統界面響應時間超過10 s,客戶端統計時間也超過5 s;使用SelTree 樹形系統界面響應時間在10 s 以內,客戶端統計時間在5 s 以內。
2)正常情況下,事物處理響應時間應在3 s 以內作出響應,涉及跨系統事物響應時間應在7 s 以內,事物處理響應如圖6 所示。

圖6 事物處理響應
分別使用SCADA 系統、基于面向服務架構SOA線損管理系統、SelTree 樹形系統分析事物處理響應時間,對比結果如表2 所示。

表2 不同系統事物處理響應時間對比分析
由表2 可知,使用SCADA 系統事物處理響應時間超過3 s,而涉及跨系統事物響應時間大部分超過7 s;使用SOA 線損管理系統事物處理響應時間大部分在7 s 以內,而涉及跨系統事物響應時間超過7 s;使用SelTree 樹形系統事物處理時間在3 s 以內,涉及跨系統事物響應時間在7 s 以內。
通過上述對比結果可知,使用SelTree 樹形系統線損管理時間在實際操作預期時間范圍內,由此說明設計的系統具有良好的管理效果。
SelTree 樹形組件能夠有效地集成已有的數據資源,所構建的系統具有良好的擴展性和重用性。基于SelTree 樹形組件設計了電力企業線損管理系統,對線損管理系統的目標、流程進行了分析,以適應線損業務過程的動態變化,實現了對線損情況的智能計算和分析。