烏云娜, 劉 鵬, 劉松旭, 王秋爽
(吉林大學 a. 大數(shù)據(jù)和網(wǎng)絡管理中心; b. 計算機科學與技術學院, 長春 130012)
高校經(jīng)過多年“智慧校園”信息化建設, 目前已經(jīng)建立多套業(yè)務系統(tǒng), 積累海量數(shù)據(jù), 支撐高校業(yè)務發(fā)展, 建設成果顯著。但是由于前期缺乏統(tǒng)一規(guī)劃和頂層設計, 導致各個系統(tǒng)孤立存在, 產(chǎn)生“信息孤島”和數(shù)據(jù)質量問題, 例如數(shù)據(jù)資源分散、 共享困難、 標準不一致、 冗余度高等[1-3]。如何高效存取、 管理、 分析高校數(shù)據(jù)以增強數(shù)據(jù)的可視性和可操作性, 提高服務質量, 優(yōu)化用戶體驗成為當前高校信息化建設的關鍵。
在高校十四五信息化建設目標中, 著重強調重點加強數(shù)據(jù)治理, 實現(xiàn)數(shù)據(jù)共享, 依托大數(shù)據(jù)支持科學決策, 提升高校辦學效益。數(shù)據(jù)治理包括數(shù)據(jù)清洗、 標準制定、 模型和流程制定, 主數(shù)據(jù)管理, 元數(shù)據(jù)管理, 數(shù)據(jù)集成、 共享、 管理等內容, 其中主數(shù)據(jù)管理是核心工作內容之一[4-6]。筆者將結合主流微服務架構建設一個高校主數(shù)據(jù)管理平臺, 探索高校主數(shù)據(jù)管理實踐途徑。
主數(shù)據(jù)(Master Data)是組織內核心業(yè)務實體的參考數(shù)據(jù), 其具有相對靜態(tài)、 重要價值、 跨部門共享、 重復應用等特點。主數(shù)據(jù)管理(MDM: Master Data Management)能實現(xiàn)主數(shù)據(jù)管理的標準規(guī)范與解決方案, 保證數(shù)據(jù)的完整性與一致性, 解決信息孤島問題[7-8]。在組織單位內部, 主數(shù)據(jù)管理通過技術與工具有效降低數(shù)據(jù)差錯, 建立數(shù)據(jù)聚集、 匹配、 整合、 持久化與分發(fā)的完整數(shù)據(jù)生命周期管理, 提升數(shù)據(jù)權威性, 保持數(shù)據(jù)控制力, 發(fā)揮數(shù)據(jù)最大價值。
高校主數(shù)據(jù)管理主要是從高校的各個業(yè)務系統(tǒng)中整合核心數(shù)據(jù), 對數(shù)據(jù)進行處理、 匹配、 聚合等操作, 并以服務的方式分發(fā)給高校業(yè)務系統(tǒng), 實現(xiàn)高校核心數(shù)據(jù)的集中存儲管理, 改進數(shù)據(jù)一致性和合規(guī)性, 減少數(shù)據(jù)使用和治理成本。目前已有的主數(shù)據(jù)管理平臺解決方案, 例如思愛普、 Oracle和Denodo等軟件平臺, 存在開發(fā)周期長, 數(shù)據(jù)集成建模復雜, 不利于高校應用[9]。國內高校主數(shù)據(jù)平臺研究和應用十分缺乏, 需要進一步加強高校主數(shù)據(jù)管理研究[10]。
為提升高校主數(shù)據(jù)管理和治理能力, 筆者提出一種基于微服務架構的高校主數(shù)據(jù)管理平臺, 實現(xiàn)高校數(shù)據(jù)的完備性、 有效性、 及時性、 完整性以及一致性目標。
微服務架構是從單體應用架構、 SOA(Service-Oriented Architecture)架構、 微服務架構的脈絡演變而來。相比于傳統(tǒng)體系架構, 微服務架構具有動態(tài)擴展、 資源占據(jù)容量小、 獨立部署運行、 服務粒度小、 獨立開發(fā)、 服務自治、 去中心化等特點。相比于SOA體系架構, 微服務架構借鑒了SOA架構、 組件化架構以及領域建模思想, 將業(yè)務系統(tǒng)拆分多個可獨立開發(fā)、 設計與運行的小應用; 解耦SOA服務之間的相互依賴, 將使主數(shù)據(jù)的服務治理更加靈活可行; 通過組件化服務實現(xiàn)各類組件, 無需協(xié)調不同服務之間的影響; 去中心化的業(yè)務服務建設, 降低不同服務之間的耦合度。
高校主數(shù)據(jù)管理平臺通過引入微服務設計思想, 采用模塊化的架構, 按照不同功能點將整個平臺拆分成多個細粒度的服務, 并且每個服務獨立擴展運行, 保證平臺升級與維護的方便性[11-12]。傳統(tǒng)中心化主數(shù)據(jù)平臺建設引入的系統(tǒng)壓力只能通過升級服務器硬件配置進行緩解, 無法帶來本質提升, 而通過筆者基于微服務的高校主數(shù)據(jù)管理平臺建設, 可對高頻率訪問微服務進行分布式和集群部署, 從而提升并發(fā)訪問能力。
充分利用現(xiàn)有高校信息化建設成果, 經(jīng)過對高校主數(shù)據(jù)管理需求的分析與整理, 完成高校主數(shù)據(jù)管理平臺的體系架構設計工作。平臺體系結構如圖1所示, 其以主數(shù)據(jù)為核心對全校核心數(shù)據(jù)進行分類、 管理和監(jiān)控, 建立從業(yè)務系統(tǒng)→主數(shù)據(jù)管理平臺→業(yè)務系統(tǒng)的完整閉環(huán)流程。主數(shù)據(jù)管理平臺在高?,F(xiàn)有業(yè)務系統(tǒng)(例如人事、 科研、 財務、 教務、 后勤、 資產(chǎn)等)的基礎上, 將多源異構的核心數(shù)據(jù)轉換成符合標準的主數(shù)據(jù), 并按照相應規(guī)則與標準實現(xiàn)數(shù)據(jù)共享, 提供給其他業(yè)務系統(tǒng)(如校情分析、 辦事大廳、 學工、 采購以及門戶等), 從而消除信息孤島, 實現(xiàn)資源信息的整合管理, 為智慧化高校建設奠定基礎。
在高校主數(shù)據(jù)管理平臺建設中需要構建微服務集群, 主要包括接口、 業(yè)務以及基礎3類微服務集群。接口微服務集群主要是面向其他系統(tǒng)服務的接口配置與管理服務, 例如數(shù)據(jù)訂閱分發(fā)、 接口配置管理、 數(shù)據(jù)查詢管理微服務等; 業(yè)務微服務集群按照數(shù)據(jù)業(yè)務場景進行劃分, 包括人員、 教務數(shù)據(jù)管理等場景下的模型管理、 審批微服務等, 實現(xiàn)主數(shù)據(jù)的實體模型管理以及歸口部門審批; 基礎微服務集群用于支撐整個平臺運行, 包括標準代碼數(shù)據(jù)管理、 數(shù)據(jù)質量監(jiān)測、 運行監(jiān)控管理、 日志管理、 平臺系統(tǒng)管理微服務等。
圖1 平臺體系結構Fig.1 Platform architecture
在高校主數(shù)據(jù)管理平臺的建設過程中, 構建高校數(shù)據(jù)標準體系。高校數(shù)據(jù)標準體系需要參照國家、 行業(yè)、 教育部、 地方以及學校標準建立執(zhí)行標準體系, 同時構建以公共、 業(yè)務編碼規(guī)范為核心的數(shù)據(jù)代碼標準編碼體系。對已有標準的編碼信息, 需直接引用相關標準進行編碼, 其他編碼則采用主數(shù)據(jù)平臺自定義編碼體系, 并將其進行發(fā)布與共享。
在筆者主數(shù)據(jù)平臺建設實施過程中, 需要梳理和識別主數(shù)據(jù), 然后對識別出的主數(shù)據(jù)確定實施優(yōu)先級, 并對主數(shù)據(jù)進行標準化分析、 整理、 清洗、 整合、 集成以及共享工作。在高校數(shù)據(jù)標準體系下, 構建教職工、 學生、 科研、 財務、 教學、 學校、 資產(chǎn)、 外事、 檔案、 辦公、 圖書和一卡通數(shù)據(jù)子集等高校數(shù)據(jù)主數(shù)據(jù)子集, 實現(xiàn)主數(shù)據(jù)統(tǒng)一規(guī)范管理。
從技術架構實現(xiàn)角度看, 高校主數(shù)據(jù)管理平臺自底向上劃分為硬件基礎存儲、 數(shù)據(jù)處理以及平臺應用層3個層次。
硬件基礎存儲層采用云計算平臺進行建設。平臺依托虛擬化云計算平臺實現(xiàn)彈性可擴展服務, 并能提供海量的數(shù)據(jù)存儲和數(shù)據(jù)處理能力, 實現(xiàn)全局的資源監(jiān)控與調度。為保證平臺大規(guī)模并發(fā)訪問能力, 采用Docker容器技術進行集群配置, 每個微服務根據(jù)訪問情況支持動態(tài)負載均衡, 可根據(jù)需要進行遷移、 關閉、 擴容, 從而顯著降低資源能耗, 提升硬件資源利用率。
數(shù)據(jù)處理層主要是實現(xiàn)數(shù)據(jù)采集、 傳輸、 存儲、 匯聚、 加工以及可視化等工作。同時在數(shù)據(jù)平臺處理過程中也會納入深度學習、 機器學習、 自然語言處理、 圖像識別算法等高級數(shù)據(jù)處理功能, 提升平臺數(shù)據(jù)公共處理能力。
平臺應用層采用Spring Cloud框架進行微服務開發(fā)和架構的整體管理??蚣軆炔考闪薙pring Cloud Config配置管理工具、 Eureka服務發(fā)現(xiàn)、 Hystrix容錯管理、 Zuul動態(tài)路由、 Ribbon負載均衡等插件工具包, 實現(xiàn)業(yè)務資源重復利用, 提升業(yè)務服務開發(fā)效率。通過微服務架構實現(xiàn)高校主數(shù)據(jù)平臺的服務拆分以及多個互相獨立的微服務。在微服務架構的開發(fā)過程中, 采用DevOps開發(fā)模式, 其實現(xiàn)模塊開發(fā)、 測試、 發(fā)布、 維護、 更新的一體化。
為加強平臺應用層微服務接口設計, 將遵循公開數(shù)據(jù)協(xié)議(OData: Open Data Protocol)標準進行Restful API接口的構建, 從而實現(xiàn)不同系統(tǒng)服務之間的跨平臺調用。在該項目實施過程中采用Apache Olingo框架來實現(xiàn)OData協(xié)議, 包括元數(shù)據(jù)定義、 請求運行時處理、 Web環(huán)境定義等部分, 同時還支持URL(Uniform Resource Locator)解析、 輸入驗證、 序列化、 請求分發(fā)等功能。
目前本平臺已經(jīng)構建完成, 并且運維近一年, 接入主數(shù)據(jù)13 628 234條, 建立數(shù)據(jù)子集15個, 為校情分析、 網(wǎng)上辦事大廳、 學生在線課堂、 社科管理、 創(chuàng)新創(chuàng)業(yè)管理和財務管理等6個系統(tǒng)提供數(shù)據(jù)接口與共享, 提升了高校數(shù)據(jù)管理的敏捷開發(fā)、 持續(xù)集成以及彈性擴展能力, 帶動高校其他系統(tǒng)的建設工作。高校主數(shù)據(jù)管理平臺的部分系統(tǒng)界面如圖2所示, 其中圖2a對每個數(shù)據(jù)子集的數(shù)據(jù)情況進行統(tǒng)計, 圖2b對以科研成果統(tǒng)計為例進行接口開發(fā)應用效果展示, 從學科類別、 著作類型、 出版社類型等角度進行狀態(tài)分析與統(tǒng)計。
圖2 平臺部分運行界面截圖Fig.2 Platform operation interface screenshot
筆者對平臺服務性能以及業(yè)務穩(wěn)定性進行驗證分析, 以高校最常用的學生信息請求為例進行測試, 生產(chǎn)環(huán)境系統(tǒng)配置信息列入表1。測試平臺在大并發(fā)情況下的性能, 并發(fā)用戶數(shù)為10、100、1 000和10 000, 并發(fā)時間10 s, 輪詢1次。并發(fā)數(shù)據(jù)訪問延遲時間統(tǒng)計結果如表2所示。
表1 生產(chǎn)系統(tǒng)配置信息
表2 并發(fā)延遲時間統(tǒng)計
從表2可看出, 當平臺增長到10 000并發(fā)訪問量時, 請求訪問的隨機性對平臺并無強烈影響, 最大值達到232 ms, 滿足平臺設計500 ms范圍要求, 具備較高的訪問效率和響應速度。
基于微服務的高校主數(shù)據(jù)管理平臺充分利用微服務技術、 云平臺技術、 DevOPS開發(fā)模式, 可以完成高校各類系統(tǒng)的業(yè)務數(shù)據(jù)匯聚、 管理、 共享與分發(fā)工作, 滿足高校數(shù)據(jù)管理的完備性、 有效性、 及時性、 完整性以及一致性目標。本平臺構建了科學的主數(shù)據(jù)管理體系, 實現(xiàn)高校核心數(shù)據(jù)的集中存儲管理, 改進數(shù)據(jù)一致性和合規(guī)性, 提升高校數(shù)據(jù)的數(shù)據(jù)管理能力, 實現(xiàn)了高校業(yè)務系統(tǒng)的互聯(lián)互通, 同時對高頻率訪問微服務進行分布式和集群部署, 從而提升并發(fā)訪問能力。筆者提出的高校微服務方案是實施微服務的通用方案, 可推廣到高校其他領域建設。