毛文卉 劉雅琴 李凱 嚴帆 熊鷹



摘? ?要:近幾年來,學校信息系統和師生對數據一致性、準確性、及時性和完整性提出了更高要求,數據治理成為了信息化建設的熱點之一。數據共享是數據治理的基礎和重要內容。文章主要基于本校的實際情況,研究數據共享的模式、要點和實現方法;按照相關研究方法,理清了基礎數據的源頭,打通了數據孤島,數據共享取得了預期的效果,減少了教工學生反復填報基本信息的麻煩,消除了各個系統數據不一致的問題。
關鍵詞:數據共享與交換;數據共享模式;數據治理
中圖分類號:TP39 文獻標志碼:A 文章編號:1673-8454(2021)01-0039-04
一、學校數據共享的現狀及問題
《教育信息化十年發展規劃(2011—2020年)》中提出要大力推進普通高校數字校園建設,推進系統整合與數據共享,促進教育決策科學化、公共服務系統化、學校管理規范化。[1]隨著我國高校信息化建設的快速推進,信息系統在高校的應用程度不斷提高,信息化建設規模不斷增長,信息不斷積累。[2]我校各個業務部門根據管理需要,都建成了自己獨立的信息系統,由于建設周期和所用技術不同,各個系統之間相對封閉,直接進行數據交換十分困難。但是隨著系統越來越多,保持各個系統數據的一致性、減少教師學生基礎信息的反復填報、數據共享的需求越來越強烈。為保證數據共享的順利進行,在正式實施共享前,需要理清幾個問題:選擇什么樣的共享模式?數據從哪里取?數據的權威性由誰負責?取到數據后,選擇什么標準存儲數據?如何提高數據質量?異常的數據如何處理?文章將基于上述幾個問題展開。
二、如何進行數據共享
1.數據共享的要點
數據共享包含很多具體工作,主要工作包括選擇數據共享模式、確定數據權威源、制定數據標準、數據清洗、數據異常處理、確定數據同步頻率及相關技術等。
(1)選擇數據共享模式
數據共享有兩種模式:[3]一是各個信息系統之間兩兩共享;二是建立一個基礎數據庫(有的高校稱之為共享數據庫或公共數據庫),所有信息系統之間的數據共享均通過基礎數據庫實現,基礎數據庫作為中心節點與其他各業務信息系統之間共享,形成一個星型結構,如圖1所示。第一種模式適合于信息系統數量較少、共享數據較為簡單的場景,例如,如果學校或某部門內部只存在兩三個系統之間需要共享數據,就沒有必要單獨再建立一個基礎數據庫作為橋梁,這樣會增加共享環節。但是,如果信息系統較多,而且數據共享的內容也多且復雜,就必須使用第二種模式。隨著共享系統的增多和共享數據規模的不斷增大,第二種模式中的基礎數據庫的壓力也將越來越大,如何管理控制好基礎數據庫的權限,確保共享效率,減少共享故障或中斷的發生,也是面臨的一個難點。
基礎數據庫存儲的數據范圍應該是各業務信息系統之間用于共享的基礎數據的集合,而不是所有業務信息系統的所有數據的集合(為了便于區分,我們將與基礎數據庫進行數據共享交換的信息系統統稱為業務信息系統,業務信息系統的數據庫稱為業務數據庫)。有些高校按“所有數據集合”模式建立數據庫,并稱之為中心數據庫或數據倉庫,大而全的中心數據庫與以共享為目的的基礎數據庫在數據量、建表規則、共享技術上都有較大差異。基礎數據庫中的基礎數據與業務信息系統等的數據庫也不是簡單的表表對應關系,應該是對數據進行清理、轉換后再行存儲或共享。基礎數據庫和業務數據庫之間的數據共享一般也要經過中間庫或中間表進行轉存,不直接向業務數據庫中插入或更新數據。基礎數據庫的主要功能是存儲和交換數據,除了建立以基礎數據庫為基礎的“數據服務”應用之外,一般不在基礎數據庫上直接建立應用系統對數據進行操作。
(2)確定數據權威源
在數據共享前,必須確定哪些數據是基礎數據,由于業務信息系統中存在大量數據,不可能把所有數據都同步到基礎數據庫中來,必須對信息系統中的數據進行清理,明確哪些是基礎數據。確定基礎數據的一般原則是,數據有明確的權威源且需要被其他信息系統共享使用。沒有明確權威源的數據,無法保證其及時性和準確性,不宜作為基礎數據;雖有明確的權威源但不會被其他業務信息系統使用到的數據,同步到基礎數據庫中意義不大。
確定基礎數據權威源的過程,實際上是確定產生這些基礎數據的業務信息系統,而這些信息系統由學校不同的部門負責建設和管理,最終基礎數據的權威源就落實到了具體的部門。基礎數據的產生和維護按照“誰產生,誰負責”的原則執行,其他信息系統和業務部門在嚴格遵循“最少夠用”的原則下,經基礎數據產生部門批準后共享使用。基礎數據僅允許產生該部分數據的權威源業務信息系統或部門可以更新,其他信息系統只能使用,不能更新。
為了保證數據的唯一性,要避免發生“一數多源”情況,即某個數據的權威源有多個。例如教職工的聯系方式(如手機號碼),可能會有多個業務信息系統中均存儲了該信息,但最終必須明確某一個業務信息系統作為權威源。華中科技大學的師生聯系方式手機號碼權威源為學校信息門戶(綁定微信企業號時必須確定手機號碼),其他所有業務信息系統不得采集師生手機號碼,如需使用,必須從學校基礎數據庫申請。
(3)制定數據標準
數據標準是數據交換與共享的基礎,因此,在實施數據共享前應先制定數據標準。如果所有信息系統均未建立數據庫,就以教育部頒發的《教育管理信息高等學校管理信息》標準和相關行業信息標準為基礎,結合學校實際,制定學校的信息標準,所有信息系統的數據庫必須按照學校發布的信息標準建設,這是最為理想的情況。但現實情況是,很多業務信息系統的數據庫早已建成,并且可能正在支撐龐大的業務信息系統運行,讓這些業務信息系統的數據庫重新按照一個新的數據標準來更新重建,是不現實的,他們會認為即使是很小的數據標準的改動,也會引起現有業務信息系統的穩定運行,因此,他們往往會拒絕采用新制定的標準。如果一個標準被大多業務信息系統拒絕采用,則這個標準注定會成為空中樓閣,就是一個失敗的標準。
那是否可以完全妥協、遷就現有業務信息系統中既有的數據標準,學校新的數據標準按照這些既有的事實標準(舊標準)來制定,而置國家或教育部標準于不顧呢?答案也是否定的,這樣做,就會使國家或學校的新標準永遠無法落地,不利于未來與國家相關信息系統或報表對接,而且隨著需要共享的數據庫和對接的業務信息系統增多,原來的不符合規范和標準的數據在具體共享過程中,也會非常麻煩。
比較可行的辦法是,根據國家相關標準,以及本單位信息化建設的實際情況,制訂較為完善的數據標準化體系。[4]學校的標準仍以國家、教育部以及行業頒布的標準為主,上述標準未涉及的部分根據學校實際情況制定,且盡量遵循現有的權威源業務信息系統中的數據標準,以利于推廣和減少反復。應用標準進行數據共享步驟大致為:首先,以教職工和學生的基本信息、教學、學習、科研等核心數據為主要內容建立一個符合標準的數據集合。其次,將這些數據從權威源同步到基礎數據庫中,同步時如果權威源中的數據標準與學校標準不一致時,要求其轉換成學校新標準或建立學校新標準與舊標準的對照表,通過中間數據庫將數據推送到學校基礎數據庫。這樣,學校基礎庫中收到的數據應是符合學校新標準的數據,如果仍有不準確的,經過雙方協商,確定數據的清洗、糾錯等方案,直至數據準確。再次,基礎數據庫通過中間庫將基礎數據同步到其他業務信息系統中,業務信息系統根據自身數據標準情況確定直接引用或者建立標準轉表后再引用。隨著現有業務信息系統的不斷升級改造和新舊系統的更替,新的標準將會逐步應用到各個業務信息系統中,最終形成全校一盤棋。
(4)數據清洗
數據清洗是對不完整的數據、不一致的數據以及異常的數據進行清洗,并過濾掉重復相似的記錄。[5]數據清洗的任務是過濾掉那些不符合要求的數據,將過濾的結果交給業務主管部門,確認是否過濾掉還是由業務單位修正之后再進行抽取。不符合要求的數據主要有不完整的數據、錯誤的數據和重復的數據三大類。
不完整的數據主要是一些應有數據的缺失,對于缺失的數據按數據項應進一步分類,整理后提交給數據權威源部門補充完整后再進行抽取。實際實施過程中此種方法常常會面臨數據權威源部門補充數據不及時的問題。此時,可以采取“倒逼”方式。例如,如果有教職工或學生“缺失身份證信息”的,則在登錄學校的“統一身份認證系統”時,賬號標識為未激活,需要身份證信息數據權威源業務信息系統完善好信息并同步到基礎數據庫后才可正常使用。
錯誤的數據主要指格式不正確(如數字輸入全角數字字符)、取值范圍不正確(比如日期越界),對于此類錯誤,一般使用SQL腳本進行過濾,找出具體問題,直接在抽取的過程中通過編寫視圖對這些數據進行修正,再抽取到基礎數據庫。
重復的數據,比如身份證號重復,使用SQL腳本導出問題數據,定期反饋給數據源部門。對于數據源部門無法修正的,也采用“倒逼”方式,逐漸完善數據。
(5)數據異常處理
源數據更新包括數據的新增、修改和刪除,一般來說,源數據新增或修改后,同步到基礎數據庫表內的數據進行相應的新增或修改即可,基礎數據庫再把新增和修改后的數據同步到其他業務信息系統的數據庫中。但是如果源數據將一條數據做了刪除處理后,基礎數據庫則不易直接做刪除處理。可在數據同步到基礎庫前使用數據比對工具,找出存在異動的數據,對于刪除的數據,使用工具生成SQL語句,將基礎數據庫的該條數據設置刪除標志位,表示該條記錄已刪除,但該條記錄物理上仍然存在。同時在基礎數據庫的“刪除異動表”中插入該條數據。在將數據同步給其他業務信息系統使用時將“刪除異動表”推送給有需求的業務信息系統,由其根據異動記錄表來更新本地的數據庫。
2.數據共享的實現方式
早期數據共享的方式之一是通過人工從源數據庫中導出Excel表格或Access文件,然后導入到目標數據庫中,這種落后的共享方式早已無法適應現代對數據共享的實時性要求高、多表關聯等復雜度高的要求,目前主要使用的是數據庫之間的同步或復制技術。現介紹三種常見的數據共享技術:一是定時推送,通過ETL工具定時將數據推送到業務信息系統專門為數據共享建立的中間庫中;二是實時同步,通過OGG(Oracle Golden Gate)實現數據的實時同步;三是提供數據接口,通過數據接口工具提供實時查詢。
(1)定時共享技術
定時推送的主要步驟:首先通過視圖等方式規范和清洗數據,其次通過ETL工具將數據定時推送到業務信息系統的中間庫,最后由業務信息系統編寫同步程序從其中間庫同步到業務庫中。
需要說明的是:①關于同步工具。建議選擇Oracle ODI作為ETL工具,它支持幾乎所有主流的數據庫,例如Oracle、Mysql、Microsoft SQL Server、Informix、SybaseASEnterprise、SybaseASIQ等。另外,基于其知識模型體系,它能適應不同的、多種多樣的數據源,靈活有效地完成數據抽取/轉換/載入的過程,通過配置代理和調度,可以實現自動定時執行數據同步。②關于中間庫。在將數據從基礎數據庫推送到業務信息系統時,先將數據推到一個中間庫,這樣可以保證從基礎數據庫中推送出去的是標準化的數據,同時推送的過程不影響業務信息系統數據結構及系統運行。此外,中間庫的建立要與業務信息系統邏輯分離,但要嚴格限制,只能在基礎數據庫和業務信息系統數據庫之間可以訪問,至少應嚴格限制在校內訪問,以保證數據的安全性。
定時推送的流程如圖2所示。
(2)實時共享技術
目前,市場上主流實現實時共享的技術主要是采用OGG(Oracle GoldenGate)進行實時同步。主要步驟如圖3所示。
使用這種方式實現實時同步,需要在數據的源端和目標端同時安裝OGG,OGG可以靈活地在同類和異類系統(包括不同版本的 Oracle Database、不同的硬件平臺)之間以及 Oracle 數據庫和非 Oracle 數據庫(包括 Microsoft SQL Server、用于開放系統和 z/OS 的 IBM DB2、Sybase 等)之間移動數據。
OGG 軟件是一種基于日志的結構化數據復制備份軟件,它通過解析源數據庫在線日志或歸檔日志獲得數據的增量變化,再將這些變化應用到目標數據庫,從而實現源數據庫與目標數據庫同步。[6]所以在源端和目標端都需要開啟歸檔。需要注意的是,如果存儲空間有限,最好設定定時刪除舊的歸檔日志,以免影響數據庫的正常使用。
由于OGG通過傳遞在源端生成的trail文件,在目標端將其解析為 DML或DDL語句,然后應用到目標數據庫中,這就要求源端和目標端的表結構完全一致,這在數據共享出去的時候和定時同步的方式沒有區別,但是數據集成到基礎數據庫中時,就無法再通過視圖的方式清洗和規范數據,為了解決這個問題,就需要在業務信息系統和基礎數據庫中間添加“數據中心實時同步庫”,其中的數據結構與源端保持一致,然后在其中通過建立存儲過程和觸發器的方式進行數據清洗和規范。對于源端和基礎庫差別較大的數據,這種方式效率較低。如果采用此種方式實現實時同步、日常維護時,需要定期在源端和目標端檢查OGG是否正常運行。
(3)數據服務技術
當前的ODI方式只能實現定期(非實時)的數據推送,從其工作機制上就無法實現真正的“實時數據共享”。OGG方式雖然實現了源與目標數據的實時同步,但由于數據結構只能按照源端進行定義,目標程序使用數據時還需要存儲過程進行讀取、轉換、寫入生產庫,才能生效,因此也不能完全實現“端到端”的實時共享。于是需要引入新的數據共享機制,即通過數據接口提供數據。
將需要共享的數據對象封裝為API接口,[7]目標系統需要數據時,直接在代碼中調用API接口,輸入必要的參數發起查詢,API引擎立刻直接執行檢索后返回結果給應用程序,因此減少了使用ODI時定時執行的時間,以及將數據從中間庫轉到生產庫的延遲。
三、結語
校園信息化發展到現階段,數據共享的需求已經呈井噴之勢,而且隨著新系統新應用的不斷推出,數據共享的需求會越來越多。數據共享的方式很多,無法判斷哪一種是最佳的方式,方式的選擇都應該根據具體需求和應用場景來確定。總體來說,對于更新比較頻繁的數據,比如人事信息、學生基本信息應該采用實時同步的方式;對于變化頻率不高的數據,采用定時同步的方式,可以根據需要加快更新頻率,減小更新時間間隔;對于數據量較小、不需要持續和基礎數據庫保持一致的數據,可以采用數據接口的方式。我們也希望數據庫技術更進一步發展,讓數據共享變得更加自動化、智能化,減輕數據管理人員的負擔。
截至目前,我校數據共享平臺已實現約160個應用系統之間數據共享與交換,其中網上辦事大廳的各類流程數據均通過數據共享平臺提供給各系統。目前已包括人事、教務、研究生、科研、資產、財務及后勤等7大類近70萬條數據記錄,集成了近25個系統數據,為近95個應用系統提供基礎數據,為40多個系統之間的數據交換提供平臺。日均交換數據6000萬條。
參考文獻:
[1]教技[2012]5號.教育部關于印發《教育信息化十年發展規劃(2011—2020年)》的通知[Z].
[2]連純華.高校信息化建設中的信息孤島現象及對策[J].教育評論,2009(1):36-38.
[3]俞春,袁芳,劉乃嘉,王茜.高校數據共享與交換技術的應用研究[J].實驗技術與管理,2012(11):109-112,122.
[4]吳琳,張玉振.解析高校數字化校園平臺建設方案與數據共享——以西安電子科技大學為例[J].陜西教育(高教版),2011(10):110-111.
[5]吳信東,董丙冰,堵新政,楊威.數據治理技術[J].軟件學報,2019(9):2830-2856.
[6]卓鳳艷,崔巍,姜娜娜,王凡.基于Oracle GoldenGate的異構數據庫實時同步研究與應用[J].信息技術與信息化,2019(6).
[7]李曉東,楊揚,郭文彩.基于企業服務總線的數據共享與交換平臺[J].計算機工程,2006(21):217-219,223.
(編輯:王天鵬)