?

基于微服務的職業院校數據開放平臺研究

2024-04-14 02:12洪生王俊松
現代信息科技 2024年2期
關鍵詞:微服務數據治理

洪生 王俊松

DOI:10.19850/j.cnki.2096-4706.2024.02.009

收稿日期:2023-05-10

基金項目:中國高校產學研創新基金資助項目(2021FNB03002)

摘? 要:職業院校從信息化向數字化轉型的過程中,傳統中心化、集中式數據共享平臺面臨著巨大挑戰。微服務作為一種去中心化的分布式服務框架,通過將單體應用拆分為多個相互獨立的服務,可使系統獲得較強的松耦合、高可用、易擴展特性。為此,文章提出一種基于微服務的職業院校數據開放平臺,著重分析了數據開放平臺的數據標準化和數據治理,依據數據分級分類標準將全量數據打包成彼此獨立的微服務,開發RESTful風格的輕量級API服務接口,有效解決了分布式環境下的數據交換和共享問題。

關鍵詞:數據開放平臺;微服務;API;數據治理

中圖分類號:TP315? ? 文獻標識碼:A? 文章編號:2096-4706(2024)02-0037-04

Research on Open Data Platform of Vocational Colleges Based on Microservices

HONG Sheng, WANG Junsong

(Information Technology Development Center, Nanjing Vocational College of Information Technology, Nanjing? 210023, China)

Abstract: In the process of vocational colleges transitioning from informatization to digitization, traditional centralized and centralized data sharing platforms face enormous challenges. As a decentralized distributed service framework, microservices can make system achieve strong loose coupling, high availability, and scalability by breaking down individual applications into multiple independent services. For this purpose, this paper proposes a vocational college open data platform based on microservices, focusing on analyzing the data standardization and data governance of the open data platform. Based on the data classification standards, the entire data is packaged into independent microservices, and a RESTful style lightweight API service interface is developed to effectively solve the problem of data exchange and sharing in distributed environments.

Keywords: open data platform; microservice; API; data governance

0? 引? 言

在數字化校園建設階段,為打通各類業務系統,采用中心化服務框架和集中式數據存儲實現業務數據共享,有效緩解了“數據孤島”問題。然而,隨著云計算、人工智能和大數據等新型現代信息技術的快速迭代發展,職業院校面臨著從信息化向數字化轉型、管理和服務向縱深方向發展的挑戰,存在應用粒度大、不同模塊間耦合度高、系統更新及軟件維護成本高、擴展能力差等問題。微服務作為一種去中心化的分布式服務框架,可以在底層架構上將龐大的應用系統和服務分解成體積更小、松耦合的組件,這樣系統可以獲得更高的靈活性、可實施性和擴展性[1-3]。

文獻[4]闡述了教育領域數據的來源、分類及數據開放的標準。文獻[5]提出一種基于微服務的數據開放平臺框架,并將其應用到北京大學信息服務開放平臺,實現了公共信息服務、個人信息服務和受限信息服務三個微服務容器。文獻[6]以數據中心和網上辦事大廳應用場景為例,闡述了一種基于微服務的智慧校園架構。本文提出一種基于微服務的職業院校數據開放平臺,以服務為視角,以數據共享、互聯互通為目標,依托微服務強大的松耦合、高可用、易擴展等特性,將全量數據打包成彼此獨立的微服務。開發RESTful風格的輕量級API服務接口,以JSON格式交換和傳輸數據,有效解決了分布式環境下的數據交換和共享問題。

1? 相關研究

微服務是一種軟件架構風格,其核心思想是:將一個完整的單體應用拆分為多個小巧、相互獨立的微服務,各服務之間互相協調、互相配合[1,2]。這些微服務運行在自己的進程當中,彼此之間松散耦合。與傳統服務依賴企業服務總線SOA(Service Orienented Architechture)不同,微服務注重系統的組件化和去中心化。在微服務架構中每個服務具有明確的自身邊界,不同的微服務(如REST、RPC等)之間通過輕量級交互機制實現通信。

表現層狀態轉移(Representational State Transfer, REST)是Roy Thomas Fielding提出的一種萬維網軟件架構風格,目的是便于不同軟件或程序在網絡中互相傳遞信息。REST是無狀態的,請求之間沒有持久的會話信息,響應需要聲明成可緩存,請求的資源通常是XML或JSON格式。REST通過在接口上設置特定約束實現對服務資源的訪問控制,即客戶端通過HTTP協議的GET、POST、PUT和DELETE等方法對服務端資源進行CRUD操作,實現表現層狀態轉移。

遠程過程調用(remote procedure call, RPC)是一種多語言跨平臺的服務調用,能夠使得分布式應用像調用本地方法一樣調用遠程服務提供的方法,而不需要考慮底層的通信細節。相較于REST對資源進行增刪改查的操作,RPC關注特定方法與功能的實現。RPC采用TCP或HTTP2協議進行通信,比傳統HTTP1.1協議的傳輸效率更高,且自帶序列化機制和負載均衡機制,使得它具有性能消耗低、傳輸效率高的優點,所以微服務系統內部大多采用RPC進行服務調用。

2? 職業院校數據開放平臺設計

職業院校信息化建設的早期階段往往聚焦于系統功能的實現,從而忽視了數據共享與集成的重要性。各業務系統采用不同的數據標準和格式,導致數據共享局限于基礎數據共享,數據集成存在接口重復開發、維護難的問題。隨著職業院校信息化建設的快速發展,迫切需要采用新的技術和手段來解決數據標準不統一、數據共享機制不健全、數據接口開發難的問題。因此,職業院校數據開放平臺設計應遵循三個原則:統一的數據標準、敏捷的開發體驗、便捷的獲取途徑。

職業院校數據開放平臺框架的邏輯結構大致分為三個層次,如圖1所示。其中,全量數據中心層包含各種基礎數據源、非結構化的文檔數據和ELK日志數據[7]。全量數據中心層的關注點主要在于數據標準化、數據治理及數據推送。數據源之間不直接進行數據交換與共享,而是先通過數據標準化和ETL工具將標準化的數據推送至共享中心,再根據需要從共享中心獲取其他數據源。全量數據中心層以視圖的方式向上層提供服務。微服務層按照主題不同分為三類:針對教師的微服務、針對學生的微服務以及針對管理的微服務,針對教師的微服務包括教職工基礎數據、科研、職稱、授課、財務等;針對學生的微服務包括學生基礎數據、課表、成績、日常消費、學籍等;針對管理的微服務包括API注冊管理、申請審核、日志查詢等。API層為各類應用系統提供輕量級RESTful接口。

2.1? 數據標準化

《教育信息化2.0行動計劃》明確提出探索信息化時代的教育治理新模式,推進基于大數據的教育方式變革,建立完善的教育公共資源開放目錄,形成規范統一、互聯互通、安全可控的國家教育數據開放體系[8]。因此,教育治理新模式與數據互聯互通的前提條件是數據標準化。數據標準化的原則是在遵循國家數據標準、行業數據標準規范的基礎上,制定適合本校長遠發展的數據標準,其主要內容包括[9]:

1)數據分類與定義。包括主數據的分級分類、字段定義、元數據的定義等。

2)數據標準化管理。包括標準的執行、維護和監控。

3)數據標準化實施原則。包括開放性(提供統一的開放接口)、完整性(涵蓋各個基礎數據源的結構化數據、半結構化數據、非結構化數據)、一致性和有效性(數據源唯一且準確)。

無論是對數據進行標準化、數據的確權,還是提供數據服務,有效的數據分類是第一要務。數據分類往往是從業務角度或管理角度出發,按照一定的原則和方法(如:行業維度、業務領域維度、數據來源維度、共享維度、數據開放維度等)對具有相同屬性或特征的數據進行歸類。數據分類應體現“相互獨立,完全窮盡”(Mutually Exclusive Collectively Exhaustive, MECE)的原則,即同一類別所有的數據都得包含在內;類別之間不允許重復和交叉;同一層級分類的維度要統一,顆粒度要一致。數據定義則主要體現在每一類數據各個字段編碼和元數據,其中字段編碼用來表征該類數據具有哪些屬性,對應關系型數據庫中的列;元數據用來表達字段所代表的具體含義。

2.2? 數據治理

根據國際數據管理協會的定義,數據治理是對數據資產的管理行使權力的活動集合,即數據治理是保障數據質量和實現數據價值的過程。通過采集、加工、清洗、傳輸、儲存等一系列標準化流程將原本零散的數據轉變成格式規范、結構統一的標準化數據,同時對其進行嚴格規范的監控,保證數據質量,形成具有指導意義的數據報表、數據模型等,以為相關人員的決策制定提供有力支撐。

職業院校數據治理水平的提升,可從以下幾個方面著手:

1)制度和管理層面。制定《數據管理組織的角色權責及管理方法》確定數據確權;制定《數據管理辦法》《數據信息標準規范》《數據質量管理辦法》《元數據質量標準及評估指標體系》確定數據標準化;由校領導牽頭成立信息化工作領導小組,開展頂層設計,信息中心居中協調,各職能部門負責數據源頭控制與治理。

2)數據層面。源數據系統開發商在系統研發過程中應嚴格按照國家級、行業級數據標準編制標準規范的數據字典,提供完整的元數據信息,詳細說明字段含義以及數據表之間的關聯關系。同時,在系統部署過程中,應嚴格按照學校的數據標準將數據推送至共享中心。

3)安全與質量管控層面。一方面要明確數據的確權,明確數據隱私最終責任方,加強數據源頭管控,確保數據質量安全可控。另一方面要加強敏感數據的分級管理,切忌一刀切不進行共享,讓數據價值無以發揮,或無差別、無條件共享,讓數據分類分級失去意義。

2.3? RESTful輕量級API服務

RESTful輕量級API在前端設計時,使用路徑定位資源,利用方法定義操作,通過Content-Type和Accept協商資源的類型。每個統一資源標識符(Uniform Resource Identifier, URI)代表一種資源,客戶端通過四個HTTP動詞對服務器端資源進行操作,實現“表現層狀態轉化”。URI的設計要遵循面向客戶端和基于語義理解的原則,如GET/api/v1/student?id=0001,其中api表示API服務,v1表示版本號,student表示學生基本信息,參數id表示過濾id為0001的學生,GET表示獲取學生信息的動作。URI使用名詞作為路徑,四個HTTP動詞表示動作。

RESTful輕量級API后端實現的核心內容包括:

1)動態路由創建與發布。無須重啟服務即可實現修改、創建、刪除和刷新API路由;同時采用路由持久化技術防止路由丟失,使用緩存技術提高路由刷新速度。

2)SQL語句動態解析。相對于靜態SQL語句,動態SQL語句通過使用OGNL表達式實現根據條件自動拼接、判斷選擇和循環執行SQL語句塊。

3)Token授權。開放的API需要驗證請求者的身份,以此判斷請求是否合法,基于Token的授權優勢在于應用不需要在服務端保留會話信息即可實現無狀態、分布式授權[10]。

3? 應用案例

微服務RPC實現框架,按開發語言區分比較有代表性的有:Java語言SpringCloud、Go語言GoMicro和GoZero、Python語言Nameko。本文將Spring Cloud作為微服務實現框架。Spring Cloud是一款基于Spring Boot實現的微服務框架,是一系列微服務解決方案或框架的有序集合。Spring Cloud將較為成熟、經過驗證的微服務框架整合起來,基于Spring Boot 思想對其進行再封裝,屏蔽其中復雜的配置和實現原理,最終為開發者提供一套通俗易懂、易部署和易維護的分布式系統開發工具包。Spring Cloud包含Spring Cloud Eureka、Spring Cloud Config、Spring Cloud Gateway等眾多服務組件,這些組件提供服務治理、服務配置、服務網關、服務熔斷、負載均衡、鏈路跟蹤、分布式消息隊列和配置管理等功能。

如圖2所示,Eureka注冊中心注冊了3個服務,其中openapi-core-api和openapi-core-mgr是由SpringBoot開發的單體應用openapi-core拆分而來的2個獨立的微服務容器,Zuul為微服務網關,提供網關功能和熔斷機制。微服務網關路由地址如表1所示。

前端UI界面采用Vue.js實現,后端SQL語句動態解析采用基于Mybaits的ORM框架實現,API路由使用MySQL進行持久化,APIToken采用JWT和APIkey相結合的方式實現。如圖3所示,數據源提供基于視圖的關系表。創建API時,使用MyBaits提供的動態標簽編寫SQL腳本。在編寫SQL腳本時,可以根據參數的有無及參數個數返回不同的數據。

在API申請審核時,分配相應的token,標注請求該API的應用名,并記錄每個API的請求次數。統計結果顯示API開放指數,如圖4所示,學生發展中心和教師發展中心請求的API最多。

4? 結? 論

數據開放平臺微服務化有效提升了分布式環境下的數據交換和共享能力。但在實踐過程中仍然有若干問題有待研究和解決:

1)服務拆分方法的科學性和合理性。單體應用程序拆分成微服務后,服務治理是關鍵,服務的拆分方法是否科學合理直接關系到整個系統的性能。過多的服務導致服務之間的RPC調用變得過于頻繁。因此,需要根據實際情況進行合理劃分。

2)數據標準化和數據治理能力需要進一步加強。數據標準化為微服務層提供標準化的視圖數據表,數據標準的優劣將直接影響數據開放平臺的能力。首先要做好數據的分級分類、主數據和元數據定義、字段編碼,建立完整可靠的數據字典。其次從制度和管理層面加強數據源頭的治理與管控。

3)建立分布式共享中心。隨著數據源的增多,業務數據呈指數級增長,需要考慮共享中心的分布式存儲、數據分表、分頁等問題。

參考文獻:

[1] 鐘華.企業IT架構轉型之道:阿里巴巴中臺戰略思想與架構實戰 [M].北京:機械工業出版社,2021.

[2] LEWIS J,FOWLER M. Microservices [EB/OL].[2023-04-02].martinfowler.com/articles/microservices.html.

[3] JAMSHIDI P,PAHL C,MENDONCA N,et al. Microservices: The Journey So Far and Challenges Ahead [J].IEEE Software,2018,35(3):24-35.

[4] 李青,王海蘭.教育數據開放研究與實踐現狀述評 [J].中國遠程教育,2019(11):48-57.

[5] 歐陽榮彬,王倩宜,龍新征.基于微服務的數據服務框架設計 [J].華中科技大學學報:自然科學版,2016,44(S1):126-130.

[6] 童敏,張黎娜,張文盛,等.基于微服務的開放大學智慧校園方案設計 [J].安徽廣播電視大學學報,2020(3):88-92.

[7] 王俊松,洪生.基于ELK Stack網絡安全日志可視化研究 [J].軟件,2021,42(10):1-5.

[8] 教育部.教育部關于印發《教育信息化2.0行動計劃》的通知 [J].中華人民共和國教育部公報,2018(4):118-125.

[9] 余鵬,李艷.智慧校園視域下高等教育數據生態治理體系研究 [J].中國電化教育,2020(5):88-100.

[10] 洪生.基于CAS與令牌的單點授權實現 [J].信息化研究,2021,47(2):70-73+78.

作者簡介:洪生(1987—),男,漢族,安徽合肥人,工程師,碩士研究生,主要研究方向:教育信息化、大數據分析、網絡安全。

猜你喜歡
微服務數據治理
高校數據融合路徑及其治理框架的探討
基于本體的企業運營數據治理
云端數據治理初探
基于供給側改革理論的圖書館社交網絡微服務研究
微信公眾平臺在醫院圖書館的應用現狀調查
基于微信企業號的校園移動服務
微服務視角下高職圖書館數字資源使用分析
從單一模式系統架構往微服務架構遷移轉化技術研究
運用流程化手段提升資產管理水平
基于微信公眾平臺的高校圖書館微服務現狀及對策
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合