文/梁倩
華南理工大學面向智慧校園的數據集成平臺設計
文/梁倩
數據是智慧校園建設中的重要資產,校園中需要管理的數據非常多,包括人事數據、學生數據、教務數據、科研數據、資產資源數據、財務數據等等。由于歷史原因,學校的IT支撐系統往往由各部門獨立建設、獨立部署,缺乏總體規劃和建設標準,導致系統管理的數據分散,往往會形成數據孤島,從而導致教職工和學生辦事需在學校多個部門來回奔波,業務辦理效率低,用戶體驗差,更無法為智慧校園建設提供數據支持。
智慧校園要求“以人為本”、“面向服務”,做好數據管理和服務是邁向智慧校園的必經之路。智慧校園面向的服務應該是能夠體現互聯網+時代特點的,依托于智能化終端和云平臺技術的一站式服務。一站式服務必然要求將學校多個二級業務部門的業務數據進行共享,業務流程進行整合。我們應該利用好當前校園IT建設中已經積累下來的大量數據資源,使其成為智慧校園建設中的重要基礎資源。
因此,我們需要有一種具有無關平臺,無關應用,無關空間邏輯的一種數據集成和分配的系統,來管理現有的數據調用需求,實現數據共享。
數據總線(DataBus)是集成各個原始數據庫并對外提供一種有規則的,可控的數據鏈接存儲服務。IBM和Oracle都提供了較為成熟的基于SOA架構的數據總線解決方案,包括IBM的WebSphere Message Broker/MQ產品線、Oracle的Oracle Service Bus企業級服務總線、Oracle Data Integrator數據集成平臺等產品。
數據集成平臺可以看作是數據總線的擴展,具有自己的數據庫和數據緩存機制,從各個數據源系統獲取數據副本后,供數據消費方系統進行查詢和使用。數據集成平臺還能提供配置、監控的管理界面,提供數據安全保障等。
數據集成平臺能為智慧校園服務和決策提供重要的數據支撐,智慧校園是數據集成平臺建設的最根本的業務驅動力。
數據集成平臺是獨立于業務系統的平臺,不含任何業務邏輯,它負責接收來自各業務系統的數據,并根據業務系統的合法的數據請求返回相應的數據。業務系統之間不進行數據交互,業務數據由數據生產者寫入數據集成平臺,數據消費者從數據集成平臺讀取相應的數據。目前數據平臺建設的數據流向如圖1所示。

圖1 數據流向圖
數據集成平臺的數據共享遵循以下原則:
1.統一數據標準,數據分域管理
數據集成平臺需要制訂統一數據標準,凡是共享到該平臺的數據均需要遵循數據標準;數據分成人事數據、學生數據、教務數據、科研數據、資產資源數據等。
2.共享數據只能由數據生產者修改
業務系統將數據共享到數據集成平臺,記錄數據源系統,非數據源系統只能讀取數據,所有的數據變更操作必須由生產者即數據源系統進行操作。當數據使用方發現數據錯誤時,只能向數據源系統返回異常,由數據源系統進行數據修改。
3.數據集成平臺不參與數據加密解密和數字簽名
如果存在消息傳輸過程的機密性需求,由業務系統對業務數據進行加密和解密,加密方式由數據的生產者和使用者協商確定,數據生產者對數據加密后寫入數據集成平臺,數據使用者從數據集成平臺獲取密文后自行進行解密。
基礎功能
包括系統管理、數據安全、配置管理、運行監控等功能模塊。
1. 系統管理,指用戶、角色、權限、菜單等基礎的管理功能。
2. 容災備份,包括數據備份和災難恢復機制。
3. 配置管理,主要包括接入系統配置、數據源配置、數據塊配置、數據對象配置、數據規則配置、數據拆分組合規則配置等。可根據數據處理平臺的特殊性,實現針對數據交換處理的靈活的配置功能。
4. 運行監控,提供數據服務從接收請求到最后返回的全過程監控,包括請求鑒權、任務調度、數據處理等方面的詳細情況和日志需要能夠在界面上面查詢,并提供必要的維護手段。
展示層
展示層主要用于提供配置管理界面和運行監控界面。
為提供良好用戶體驗的UI可以使用JSP為基礎,用jQuery與AJAX技術實現異步局部刷新的交互能力。
數據服務接口層
數據服務接口層負責接收業務系統的服務調用請求及返回調用結果和相應數據。
數據服務以HTTP方式提供,HTTP請求的內容可以是XML或者JSON。
數據訪問層對底層數據存儲層進行訪問封裝,提供易于編碼的API。數據訪問層使用技術包括JDBC、Apache Thrift、Spring Data、RPC。
訪問控制層
1. 任務調度
對數據請求生成任務管理,進行任務調度,通過優先等級控制、并行任務處理、定時處理等機制使數據服務請求的處理有序進行。
2. 請求鑒權
服務消費者在通過數據集成平臺訪問數據時,數據集成平臺要先對請求服務進行訪問鑒權控制,數據集成平臺只會對通過訪問鑒權的請求進行處理。
請求鑒權包括身份認證、系統級服務鑒權兩部分內容。
通過服務消費者的IP地址或認證碼的比對等進行認證來證實服務消費者的身份,對于不滿足身份認證的請求予以拒絕。
系統級服務鑒權,是指對通過認證的服務消費者進行訪問數據對象授權的過程,通過鑒權確定服務消費者可以對哪些數據對象做相應的操作。
系統級鑒權的前提是數據集成平臺通過服務鑒權配置的功能配置并保存了服務商與數據集成平臺定義的數據對象的訪問關系,見表1。

表1
系統級鑒權根據訪問數據對象的范圍來鑒權,找到對應的ROWKEY記錄則可判定系統級鑒權即通過。譬如,科研系統請求訪問讀取人事數據域數據,數據集成平臺拿配置數據1進行鑒權,科研系統對人事數據域數據有讀訪問權限,因此鑒權通過;若人事系統請求修改資產資源域數據,在鑒權表中找不到對應的鑒權配置,則請求鑒權失敗,該次訪問請求被拒絕。
數據處理層
1. 數據校驗
數據集成平臺訪問URI識別請求類型,當請求為數據對象建立或者數據新增、修改的時候為了保證數據的有效性,必須對請求所攜帶的數據內容進行校驗。數據校驗是通過校驗規則配置在數據對象和數據塊上,當服務請求的目標是配置了校驗規則的數據對象或者數據塊時,數據集成平臺就需要按照配置的校驗規則執行校驗,在校驗失敗時停止數據操作并返回錯誤信息。
2. 數據適配
數據集成平臺支持對數據內容的適配能力,數據適配包括:數據豐富、數據裁剪、數據映射、數據變換。
(1) 數據豐富:數據豐富是指數據集成平臺通過配置的規則,將業務需要的附加信息添加到已有的報文或者數據塊實例中。
(2) 數據裁剪:在實際數據處理過程中時常需要把一個大的報文或者數據塊實例進行裁剪,去掉一些不必要的信息。以減少存儲量和數據處理量。
(3) 數據映射:數據映射是指將數據編碼按照映射規則從一個集合映射到另外一個集合中。比如性別字段從“m”映射到“男”,從“f”映射到“女”。
(4) 數據變換:數據變換是指通過配置的運算得出數據的值。運算可以包含四則運算、邏輯運算、腳本運算等。
3. 數據組包
數據集成平臺可根據接口要求,將多個數據塊或數據項按接口包文的格式要求進行組合。
數據訪問層
數據訪問層實現對數據的安全、高效、準確地訪問。
數據訪問層對底層數據存儲層進行訪問封裝,提供易于編碼的API。數據訪問層技術包括JDBC、Apache Thrift、Spring Data、RPC。
數據存儲層
數據存儲層是數據平臺的基礎設施層。數據存儲分為一級緩存、二級緩存和數據庫,分別實現高速存儲、快速存儲和數據持久,平臺中的數據根據訪問時效要求和訪問頻率以及系統內存使用情況進行存儲。一級緩存采用Redis,二級緩存采用HBase。
數據集成平臺根據各種數據的特點充分利用各種數據庫的特性以達到最優的存儲效果和讀取效果。實時性要求高的,可以進行離散的數據盡量放在Redis或在HBase中,對于關系型、非離散的數據,盡量放在HBase或者關系型數據庫中。
數據集成平臺對于需要快速開通且對數據依賴較大的業務流程能起到較好的效果,在智慧校園建設中已經開始了各項實踐。通過建設面向智慧校園大數據業務的數據集成平臺,基于云平臺技術,著力于校園業務辦理所需的數據共享管理,可打通相關IT系統的數據,提高業務辦理效率,縮短服務時限,提升服務質量。
實際上,此平臺由于與業務邏輯無關,因此它可快速擴展到其他企業級行業應用。另一方面,數據集成平臺還可應用于統計分析,并向大數據應用的方向進行擴展。
(作者單位為華南理工大學信息網絡工程研究中心)