胡聰,王鵬,張翠翠,劉翠玲
(國網(wǎng)安徽省電力有限公司信息通信分公司,合肥230041)
隨著電網(wǎng)核心業(yè)務數(shù)字化、智能化的發(fā)展,各專業(yè)數(shù)據(jù)分析服務數(shù)量不斷增長,這些服務具有種類多樣、標準不一、共享度不高的特征,主要用于本專業(yè)業(yè)務分析及預測,缺乏公司層級統(tǒng)一管理及成果共享[1-2]。根據(jù)國家電網(wǎng)公司戰(zhàn)略部署,數(shù)據(jù)中臺初步建成,數(shù)據(jù)分析服務將通過數(shù)據(jù)中臺統(tǒng)一構(gòu)建,用于支撐跨部門、跨層級數(shù)據(jù)共享分析應用[3-4]。為有效管理公司數(shù)據(jù)資產(chǎn)并規(guī)避數(shù)據(jù)分析服務應用門檻高、數(shù)據(jù)難讀懂、服務獲取難等問題,亟需基于數(shù)據(jù)中臺建立企業(yè)級數(shù)據(jù)分析服務構(gòu)建標準及構(gòu)建能力,實現(xiàn)公司共性數(shù)據(jù)分析服務資產(chǎn)的沉淀,滿足橫向跨專業(yè)間、縱向跨層級間的分析結(jié)果數(shù)據(jù)共享及分析挖掘需求,為各專業(yè)提供統(tǒng)一的數(shù)據(jù)分析服務,提升數(shù)據(jù)管理水平,打造數(shù)據(jù)資產(chǎn)良性生態(tài)環(huán)境[5-6]。
企業(yè)中臺按照服務能力類型劃分共享為業(yè)務中臺、數(shù)據(jù)中臺。其中數(shù)據(jù)中臺以公司數(shù)據(jù)中心為基礎,根據(jù)數(shù)據(jù)共享和分析應用的需求,沉淀共性數(shù)據(jù)服務能力,通過數(shù)據(jù)服務滿足橫向跨專業(yè)間、縱向不同層級間數(shù)據(jù)共享、分析挖掘需求[7-8]。
數(shù)據(jù)分析服務構(gòu)建將以業(yè)務應用、業(yè)務中臺、普通用戶等數(shù)據(jù)分析服務需求的快速響應和高效構(gòu)建為目標,完成企業(yè)級數(shù)據(jù)分析服務總體設計、形成數(shù)據(jù)分析服務標準規(guī)范及典型技術方案,指導試點單位開展數(shù)據(jù)分析服務(含數(shù)據(jù)分析場景)構(gòu)建及應用,完成數(shù)據(jù)分析服務能力驗證及評估,實現(xiàn)數(shù)據(jù)分析服務的統(tǒng)一管理及兩級服務貫通,打造公司服務設計、服務構(gòu)建、服務應用、服務管理一體化數(shù)據(jù)分析服務體系。以分析場景服務沉淀和服務共享為目標,各新建業(yè)務系統(tǒng)分析場景全面基于數(shù)據(jù)中臺構(gòu)建,并以服務化方式發(fā)布,實現(xiàn)對數(shù)據(jù)中臺分析服務統(tǒng)一、標準管理,支撐分析服務跨專業(yè)、跨層級共享工作[9-10]。
結(jié)合電力行業(yè)特點,分別給出了數(shù)據(jù)中臺的數(shù)據(jù)服務接口集成架構(gòu)、數(shù)據(jù)服務接口流程、數(shù)據(jù)服務接口設計、數(shù)據(jù)服務接口注冊發(fā)布、數(shù)據(jù)服務接口形式。
數(shù)據(jù)服務接口是通過數(shù)據(jù)中臺的數(shù)據(jù)服務組件,實現(xiàn)安全、友好、可控的對內(nèi)對外數(shù)據(jù)服務統(tǒng)一訪問。其中數(shù)據(jù)服務組件應支持數(shù)據(jù)中臺組件接口和第三方接口的數(shù)據(jù)服務接口統(tǒng)一注冊、管理和調(diào)度等全生命周期的管理,支持免認證、token、Basic等認證形式,主要提供Web Service和Rest Service兩種接口形式。數(shù)據(jù)服務接口總體集成架構(gòu)如圖1所示。
圖1 數(shù)據(jù)服務接口總體集成架構(gòu)
數(shù)據(jù)服務接口流程請求/響應模式由使用者發(fā)起請求,數(shù)據(jù)中臺相關組件處理請求,具體交互過程如下圖2所示。
圖2 數(shù)據(jù)服務接口流程
服務提供者基于數(shù)據(jù)服務組件(數(shù)據(jù)中臺)注冊相關數(shù)據(jù)服務接口定義信息,支持數(shù)據(jù)中臺各組件API接口及第三方接口的注冊;
服務調(diào)用者通過數(shù)據(jù)服務組件(數(shù)據(jù)中臺)查詢數(shù)據(jù)服務接口定義信息;
服務調(diào)用者獲取數(shù)據(jù)服務接口定義信息;
服務調(diào)用者向數(shù)據(jù)服務組件(數(shù)據(jù)中臺)發(fā)起數(shù)據(jù)服務接口請求,數(shù)據(jù)服務組件(數(shù)據(jù)中臺)請求進行鑒權(quán)、路由等處理,并將請求轉(zhuǎn)發(fā)到數(shù)據(jù)中臺相關組件或第三方接口;
服務提供者接收數(shù)據(jù)服務接口請求;
服務提供者對請求進行處理,并返回數(shù)據(jù)服務接口應答信息至數(shù)據(jù)服務組件,由數(shù)據(jù)服務組件對響應進行路由、轉(zhuǎn)換等處理,并轉(zhuǎn)發(fā)到服務調(diào)用者;
服務調(diào)用者接收數(shù)據(jù)服務接口應答結(jié)果。
數(shù)據(jù)服務接口設計應遵循以下要求:
(1)以業(yè)務應用需求為驅(qū)動,按需進行服務的生成,遵循企業(yè)級服務沉淀共享原則,避免重復生成同一類型、同一性質(zhì)的服務接口;
(2)按照數(shù)據(jù)中臺數(shù)據(jù)存儲分層架構(gòu)設計,基于共享層、分析層數(shù)據(jù)進行數(shù)據(jù)服務接口生成,原則上不基于貼源層生成服務接口;
(3)嚴格按照數(shù)據(jù)分級權(quán)限進行數(shù)據(jù)服務接口訪問控制,根據(jù)數(shù)據(jù)業(yè)務特點及應用特點設置服務接口的有效期約束,確保服務接口授權(quán)范圍符合安全管理要求。
數(shù)據(jù)中臺相關的數(shù)據(jù)服務需基于數(shù)據(jù)服務組件進行統(tǒng)一注冊、發(fā)布,并對外提供服務調(diào)用。為確保服務接口的有效運行,需常態(tài)開展服務接口運行的巡查監(jiān)控,及時處理服務接口異常,主要的服務接口監(jiān)控及異常處理規(guī)則如下:基于數(shù)據(jù)中臺數(shù)據(jù)服務接口監(jiān)控管理功能,按照服務接口對應的業(yè)務應用調(diào)用頻度分別設置監(jiān)控規(guī)則,并進行服務接口的常態(tài)監(jiān)控。根據(jù)服務接口監(jiān)測發(fā)現(xiàn)的異常,按以下處理規(guī)則進行服務接口異常的處理:針對服務接口狀態(tài)失效的異常情況,按照服務接口標準操作流程,進行服務狀態(tài)的重啟,并監(jiān)測服務接口重啟后的狀態(tài);針對服務接口訪問延遲、響應時間過長,結(jié)合監(jiān)測日志分析結(jié)果,進行服務接口的訪問流量的優(yōu)化配置或其他并發(fā)參數(shù)配置;針對服務接口異常重啟或參數(shù)配置優(yōu)化無法解決的異常,轉(zhuǎn)入服務接口故障分析處理流程,進行詳細分析處理。版本更新分為新版本上線和舊版本下線兩個階段,數(shù)據(jù)服務接口版本更新如圖3所示,具體要求如下。
圖3 數(shù)據(jù)服務接口版本更新
數(shù)據(jù)服務提供者在數(shù)據(jù)中臺數(shù)據(jù)服務組件注冊新版本數(shù)據(jù)服務接口;數(shù)據(jù)中臺數(shù)據(jù)服務組件發(fā)布新版本數(shù)據(jù)服務并自動替換老版本數(shù)據(jù)服務,同時下線老版本數(shù)據(jù)服務;數(shù)據(jù)服務調(diào)用者調(diào)用新版本數(shù)據(jù)服務。
系統(tǒng)間交互的數(shù)據(jù)宜采用UTF-8字符集進行編碼。服務接口集成以Web Service和REST Service為載體。Web Service采用基于XML的數(shù)據(jù)格式,REST Service應采用基于JSON的數(shù)據(jù)格式。其中Web Service 協(xié)議棧相關協(xié)議要求如表1。
表1 Web Service 協(xié)議棧
REST Service為載體的Web Service 協(xié)議棧相關協(xié)議要求如表2。
表2 REST Service 協(xié)議棧
數(shù)據(jù)服務命名是為表示各個數(shù)據(jù)服務定制一個規(guī)范的名稱,用于能夠容易的識別、檢索出某一服務,因此,數(shù)據(jù)服務的命名規(guī)范如下:
數(shù)據(jù)服務名稱應由數(shù)據(jù)服務提供者組織機構(gòu)、數(shù)據(jù)服務所屬應用域、自定義字段和版本號四部分組成,中間以“_”分隔,具體要求如下:數(shù)據(jù)服務提供者組織機構(gòu),以國家電網(wǎng)有限公司單位/部門簡稱命名;數(shù)據(jù)服務所屬應用域,根據(jù)業(yè)務部門的應用場景簡稱命名;自定義字段,服務提供者按需增加的字段,用作區(qū)分同類應用域下的數(shù)據(jù)服務;版本號,描述服務接口的版本信息,如v1.0.0。
在數(shù)據(jù)服務建設單位范圍內(nèi)保證數(shù)據(jù)服務名稱唯一、無歧義。數(shù)據(jù)服務名稱允許出現(xiàn)中文、英文、數(shù)字、下劃線,且必須以中文或英文開頭,禁止以數(shù)值、下劃線等開頭,名稱長度不超過50個字符。數(shù)據(jù)服務命名應使用中性或褒義性質(zhì)的詞語,避免貶義性質(zhì)的詞語,避免使用生僻字。
依托國網(wǎng)安徽電力數(shù)據(jù)中臺,遵循數(shù)據(jù)服務建設規(guī)范要求,模擬數(shù)據(jù)服務請求及返回應答,數(shù)據(jù)服務請求示例如下所示。
https://apigateway.cn-sgcc.com/?Action=DeployApi&ApiId=d6f679aeb3be4b91b3688e887ca1fe16&StageName=release&Description=for_test1&<公共請求參數(shù)>
數(shù)據(jù)服務XML格式返回示例如下所示。
數(shù)據(jù)服務JSON格式返回示例如下所示。
{“RequestId”:“CEF72CEB-54B6-4AE8-B225-F876FF7BZ015”}
通過遵循數(shù)據(jù)中臺數(shù)據(jù)服務格式規(guī)范,實現(xiàn)統(tǒng)一數(shù)據(jù)服務格式,達到預期的數(shù)據(jù)中臺數(shù)據(jù)服務要求,進而可以分析得出本文設計的數(shù)據(jù)中臺數(shù)據(jù)服務規(guī)范的可行性。
針對當前電力數(shù)據(jù)中臺數(shù)據(jù)服務建設規(guī)范需要,本文提出了基于數(shù)據(jù)中臺的數(shù)據(jù)服務建設規(guī)范方法,給出了數(shù)據(jù)服務接口集成架構(gòu),闡述了數(shù)據(jù)中臺服務服務接口交互流程,設計了數(shù)據(jù)服務接口注冊發(fā)布、協(xié)議格式規(guī)約等,通過數(shù)據(jù)服務請求實驗驗證了數(shù)據(jù)服務建設規(guī)范的可行性。