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