楊學瑞,劉國杰
(云南電網有限責任公司德宏供電局,云南 德宏 678499)
隨著電力企業信息化建設進程的加快,電力業務囊括了營銷、生產、計量、調度等多個專業領域,各大業務領域相對獨立的同時又有著一定的關聯,供電企業業務部門匯總統計數據時,不得不在各大業務域系統提取有效數據信息進行數據匯總分析,增加了業務人員工作量。因此迫切需要在注重技術應用創新的同時,利用目前主流的內存計算、分布式存儲、搜索引擎、智能集群等技術,實現電網多領域、多系統資源數據的海量存儲、數據訪問的大規模并發和實時計算,并匯總集中監控展示各種重要指標,從而滿足業務部門無需登錄多個業務系統就能實現統計各項指標的需求。
電力大數據業務監控可視化展現就是應用框架體系將營銷、生產、計量、調度等各大系統的各項重要指標按照“微服務”和“微應用”的方式進行集中監控,以更細的粒度、更高的工作要求、更強的系統復用性提升業務人員工作效率,減少人工干預統計匯總各項報表,進一步提高電網數據信息化應用的水平。本文提出的電力大數據業務監控可視化應用采用前后端分離的開發模式,以Spring Cloud為框架,構建該系統的微服務架構[1]。采用Vue.js構建該應用PC端,以微服務的形式將服務端切分成若干個獨立的服務進行部署,利用Element UI、DATAV和Echarts相關組件對相應數據進行大屏和圖表展示[2,3]。電力大數據業務監控可視化平臺的亮點就在于利用新應用框架,如Spring Cloud框架體系,對開發框架和運行環境進行適配性改造,實現應用全生命周期管理、服務治理及微服務管理[4]。
微服務是將企業通用服務按業務化分成一個個單體服務,增強可用性,服務易擴展,能夠減少開發成本,減少服務發布對整個平臺的影響。微服務是一種思想,實現有很多方式,企業由單個系統轉向微服務就要考慮很多問題,如技術選型、業務拆分、高可用、服務通信、服務發現和治理、集群容錯、配置管理、數據一致性、康威定律、分布式調用跟蹤、微服務測試以及調度和部署等。
微服務架構中的服務與模塊化開發較為相似,但有明確的服務邊界,更易于開發和管控,同時也更易于單獨部署與擴展。微服務架構必須能夠達到借助虛擬化平臺,按需創建機器并調整大小,借助基礎設施的自動化,從一臺機器擴展到多臺,擁有業務監控預警、異常熔斷等功能。基礎框架有Dobbo和Spring Cloud,其中Dubbo是遠程過程調用協議(Remote Procedure Call Protocol,RPC)服務治理框架,Spring Cloud時面向云環境的應用程序”開發的口號,為微服務架構提供了更加全面的技術支持,具備服務注冊、發現、路由、負載均衡等能力[5,6]。
平臺數據庫采用Redis框架。Redis是一個開源使用ANSIC語言編寫Key-Value的跨平臺非關系型數據庫,基于內存運行,性能高效,支持分布式,理論上可以無限擴展。相比于其他類型的數據庫,Redis最受開發者青睞的便是強大的高并發讀寫能力。當面對海量的數據時,開發者可將短期內不會發生變化的數據存入Redis中,從而減輕數據庫的壓力,提高系統響應速度,增強用戶體驗[7]。
本平臺采用Vue.js框架構建PC端。Vue.js是一套用于構建用戶界面的漸進式框架,與其他大型框架不同的是,Vue.js被設計為可以自底向上逐層應用。其核心庫只關注視圖層,不僅易于上手,還便于與第三方庫或既有項目整合。此外,與現代化的工具鏈及各種支持類庫結合使用時,Vue.js也完全能夠為復雜的單頁應用提供驅動。
電力大數據業務監控可視化平臺采用Spring Cloud框架進行開發,對開發框架和運行環境進行適配性改造,實現應用全生命周期管理、服務治理及微服務管理。該應用注重技術應用的創新,并利用目前主流的內存計算、分布式存儲、搜索引擎、智能集群等技術,實現電網資源數據的海量存儲、數據訪問的大數據并發和實時計算,從而滿足業務部門無需重復登錄各個業務系統就實現統計各項指標。
該平臺以微服務架構模式構建共享服務,通過微服務架構將監控平臺按業務劃分為一組組小的服務,每個服務獨立運行,如本應用主要分8個微服務,包括抄核收、智能繳費、業擴、客服、計量、營銷稽查、生產停電以及同期線損等。微服務采用輕量級的通信機制,每個服務都圍繞著具體的業務監控邏輯進行構建,每個微服務之間松耦合,并且能夠被獨立地部署和運行[8]。
微服務架構中的訪問層主要包括服務注冊、服務網關和負載均衡,所有前端業務監控應用只能通過服務網關進行服務訪問,并且只能訪問已注冊的服務。對于高并發的微服務采用集群方式部署和注冊,通過網關自動實現負載均衡調用。微服務架構提供了統一的微服務管理手段,讓微服務應用開發者無需過度關心整個微服務架構體系的細節[9]。灰度發布實現了微服務的局部節點發布能力,可最大程度避免因服務異常導致的整體系統不可用;服務降級和熔斷隔離實現了對服務異常情況的預處理及調用隔離,防止因單個微服務異常導致整體微服務異常傳遞直至雪崩;鏈路追蹤實現了微服務調用鏈路徑及性能的監控,幫助服務更快定位性能問題,解決性能瓶頸;監控告警實現了微服務的健康狀態檢查和QPS性能監控;配置中心實現了微服務的配置統一管理和更新,減少開發和運維人員因配置帶來的各類部署問題;日志中心實現了分布式微服務模式下的統一日志收集、監控和告警功能。電力大數據業務監控可視化平臺微服務架構如圖1所示。

圖1 電力大數據業務監控可視化平臺微服務架構
平臺設計以微服務架構為核心,將各個業務系統中的重要指標匯總展示在平臺中,避免業務人員在匯總統計各項指標時需同時登錄各個業務系統,同時有效降低了業務人員的操作難度,提供了工作效率[10]。本平臺主要分為8個微服務模塊,每個模塊的分析指標具體如下。
抄核收模塊主要匯總分析營銷系統中抄核收相關重要指標,如抄表數據開放率、抄表率、電費自然回收率等。智能繳費模塊主要匯總分析智能繳費支撐平臺的重要指標,如余額充足、余額預警、待停電用戶等。業擴監控模塊集中展現業擴工作單完成及時率、業擴報裝平均時長、業擴報裝各環節時長、工單終止率、超時工單數、臨時用電時長、客戶暫停時長等。客戶服務指標主要根據客服工單進行匯總分析,包括95598投訴量、12398投訴量、重復投訴率、問題升級率、工單質量回退率、工單處理及時率、客戶問題處理平均時長等14項。計量監控主要分析計量自動化相關指標和計量運維指標,如終端覆蓋率、自動抄表率、周檢、首檢完成率、計量裝置異常率等。營銷稽查模塊主要匯總分析差錯防控系統相關指標,如整改完成率、處置率、供電單位異常走勢、業務類別走勢等。停電監控模塊主要采集生產運監平臺重要指標,如停電線路、停電臺區、停電用戶、敏感用戶等,并通過各個指標匯總分析客戶服務態勢。同期線損主要采集臺區線損計算率、線路線損計算率、臺區線損異常率、線路線損異常率等指標。
本文采用Spring Cloud、Vue.js等相關開發技術,設計并實現了基于Spring Cloud的電力大數據業務監控平臺。通過系統平臺建設,建立營銷業務大數據監控機制,強化源頭治理,通過改存量、控增量,抓基礎管理、業務規范、指標提升、監督檢查,及時發現業務、檔案異常,改事后整改為事前預防,主動服務、主動響應,推動營銷數字化轉型升級及相應機制的完善,探索建立“主動服務”的現代供電服務體系。實現業務及工單驅動的業務模式,實現異常和業務集中監控、管理,建立營銷業務工單池,開展工單分析、派發、跟蹤閉環,以工單驅動營銷工作開展,實現任務數字驅動、工單數字閉環,有效促進電力營銷各項業務的合規高效運行。