顏 濤 蔡美芳 謝瀟睿 楊東寧 趙偉杰
(1.云南電網有限責任公司 2.南昌工學院人工智能學院)
相對于其他工程,電網工程項目更加繁雜,涉及的方面更多,工程結算審核系統面臨著巨大的壓力,如何提高結算審核系統對數據的處理能力,使其更符合實際需要成為當前研究的重點[1,2]。
當前結算審核系統之所以在面對大數據時表現較差,主要原因在于對大數據的處理上,即當前系統多采用集中式任務處理模式,因此單靠一個系統服務器的運算能力是無法處理過大的數據量的,最終造成系統響應能力變差,需要運行很長時間才能給出反饋結果。針對這一原因,有效安排計算任務,分散系統運算壓力成為改善當前結算審核系統處理性能的關鍵[3]。為此,設計了基于數據驅動的電網工程竣工結算自動審核系統。以期提升電網工程竣工結算審核效率,降低電網工程結算審核壓力,促進電網建設。
數據驅動的電網工程竣工結算自動審核系統在采集大量電網工程項目數據的基礎上,對項目數據進行分類整理,然后根據分類數目,在靠近結算審核系統中心服務器的邊緣布設邊緣網絡MEC服務器,將本身都屬于結算審核系統中心服務器業務分散給邊緣服務器,從而減輕系統中心服務器的計算負擔,在邊緣服務器完成結算審核后,將審核結果反饋給中心服務器,中心服務器再進行總結、歸納,最后將結算審核結果以報表或圖形的形式反饋給審核人員[4,5]。
電網工程竣工結算自動審核系統采用B/S三層架構,有效提高數據處理性能[6]。三層結構具體為采集層、處理層以及客戶端層。
1)采集層從工程竣工結算大數據源中提取、導入需要審核結果,從業務系統中集成支持審核結果的憑證數據,將其存儲到數據庫中[7]。
2)處理層把預結算項目劃分為若干組,并將分組任務分給邊緣網絡MEC服務器。在邊緣網絡MEC服務器中對預結算進行審核,并將審核結果反饋給系統中心服務器。系統中心服務器綜合各個邊緣服務器審核結果,繪制審核報表,給出預結算結果是否準確的判斷,以及指出審核存在偏差的數據,并給出原因分析。
3)客戶端層主要是系統與用戶交互層,將系統審核結果通過客戶端將結果顯示出來。
傳統集中式結算審核系統響應變慢,多業務處理需要很長時間才能給予客戶反饋,影響了系統服務質量[8]。針對上述問題,本文系統在原有系統服務器部署的基礎上,在靠近結算審核系統中心服務器的邊緣布設邊緣網絡MEC服務器,將運算任務調度給邊緣網絡MEC服務器,以緩解中心服務器壓力。基于SDN控制架構設計移動邊緣服務器組網方案如圖1所示。

圖1 移動邊緣服務器組網方案
圖1a為底層物理網絡結構圖,包含了各種基礎硬件設施,為實現與系統中心服務器相連,提供了接入方式,主要選取OpenFlow交換機作為傳輸節點,光纖作為傳輸鏈路,以一跳的形式,實現MEC服務器與中心服務器的連接。圖1b為組網方案的控制編排平面設計圖,控制編排平面主要部署在MEC服務器上,主要作用為:一方面對底層網絡交換設備進行管理;另一方面根據需求靈活組建邊緣網絡拓撲,緩解網絡延遲。
1.3.1 數據采集模塊
工程竣工結算與審核都需要以相關大數據作為支撐,如合同條款、工程項目和數量表、約定計價表、各項費用計取表、洽商變更記錄、各種設計和施工圖紙等。審核需要對涉及結算金額的數據一項項核對,因此首要功能模塊就是數據采集模塊。數據采集模塊中主要使用數據倉庫的ETL工具來完成。ETL工具從不同數據庫系統當中抽取工程結算元數據,然后集中到中間層,對其清洗、轉換、整理,最后加載到數據集市當中,作為后期結算審核的憑證數據[9]。
1.3.2 數據壓縮存儲模塊
采集到的結算審核相關數據規模十分龐大,而系統數據庫空間有限,因此需要對數據進行壓縮處理,以方便系統數據庫存儲,緩解存儲資源不足的問題。數據壓縮存儲流程如圖2所示。

圖2 數據采集模塊流程
1.3.3 項目分組模塊
step1:準備結算審核所需要的所有數據;
step2:確定項目分組劃分標準。在這里基于電網全生命周期來進行劃分,按照工程前期準備階段費用結算審核、施工建設階段費用結算審核以及電網工程竣工費用結算審核;
step3:確定三個項目分組各種費用名稱;
step4:以各種費用類型名稱作為聚類中心,將采集到的數據進行聚類;
step5:根據聚類結果將數據劃分到不同的項目小組。
1.3.4 審核任務分配與調度模塊
將項目分組結果其打包分發到邊緣MEC服務器上,每個邊緣服務器上負責一部分的核算任務。審核任務分配與調度如圖3所示。

圖3 審核任務分配與調度模型
1)用戶通過系統窗口發布結算審核任務。
2)系統對結算審核任務進行分析,并對任務分解,分成若干個子任務,實現任務分布式化。
3)將子任務提供給任務調度器。
4)將子任務按照分配策略,將任務分配給邊緣MEC服務器。
1.3.5 結算審核模塊
在各個邊緣MEC服務器中對分配到的任務進行處理,實現一部分的結算審核,然后將結果反饋給中心服務器。中心服務器進行進一步的歸納和整理,完成結算審核確認。結流程如下:
step1:登錄系統;
step2:是否是結算管理員;
step 3:結算數據與預結算結果錄入;
step 4:預結算結果是否準確?預結算結果準確,則進行結算審批確認。否則,進入下一步;
step5:結算偏差分析;
step6:修改原報金額;
step7:錄入核減內容以及金額;
step8:審核后的金額錄入。
step9:判斷審核后結算金額小于預算金額,進行結算審批確認,并錄入日期與日志。否則,回到step5重復執行。
通過審核,能準確判斷預結算是否準確,明確存在偏差的部分,以便進行核查和糾正,最終呈現一份較為精準的工程竣工結算表。
以某已經竣工的電網工程為例,借助工具Loadrunner進行系統性能測試,并與集中式結算審核系統進行對比實驗,參數如表1所示。

表1 仿真測試參數設置表
將1280個審核任務分配給4個MEC服務器和1個中心服務器,分配結果如圖4所示。

圖4 審核任務分配圖
(1)響應延遲
響應延遲是指用戶從輸出操作指令到系統給出反饋之間的時間差值。其平均值計算公式如下:

式中,Δt代表平均響應延遲;T1代表操作指令輸出時間;T2代表系統反饋時間;n代表操作指令數量。
(2)吞吐量
吞吐量是指單位時間內系統能夠處理的任務數量。
(3)并發數
并發數是指在一段時間內允許用戶同時登錄的數量。
相同測試條件下,利用所設計的系統以及集中式結算審核系統進行結算審核,然后統計審核過程中平均響應延遲、吞吐量以及并發數。結果如表2所示。從表2可知,本文系統的響應延遲更短、吞吐量以及并發數更大,比集中式結算審核系統表現要好,說明通過將任務分散出去,能有效提升系統的運算能力,更適用于電網工程竣工結算自動審核工作。

表2 系統性能測試結果
綜上所述,為滿足各地用電需要,通過電網工程建設,可以使電網覆蓋面更廣泛。然而,電網工程項目繁雜,當工程竣工后,結算審核工作量巨大。為此,設計基于數據驅動的電網工程竣工結算自動審核系統。該系統通過采集到的大數據來驅動結算自動審核的完成。最后對系統進行實現與測試,測試結果證明本文系統的數據處理能力更強。然而,本系統測試中,僅是進行仿真測試,而現實情況下,數據量更是龐大,因此有待進一步實踐測試。