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