趙靜
(陜西財經職業技術學院,咸陽 712000)
隨著計算機與信息技術的不斷發展,我國許多學校在其教學與管理等方面也逐漸普及了信息化技術的應用,成為反映教學以及管理水平的重要標準之一,因此各學校為了提升自身實力,普遍都在加強學校的信息化建設力度。目前,我國各學校在信息化建設方面已經取得了較大的進展,但也因為各種因素的制約而導致了諸多問題的存在。比如,目前我國許多學校所建設的信息化系統主要以各個業務系統為主,而在綜合性系統的建設方面較為薄弱;各業務系統之間沒有構建起統一的數據標準,而彼此之間又存在較大的差異性,從而導致各業務系統之間難以實現數據的共享[1-7]。上述這些問題不僅制約了學校的信息化建設,也造成了數據資源的浪費。對此,本文從校園一卡通著手,就我國各學校在信息化建設中的數據共享問題進行研究,旨在解決上述問題的制約,實現各業務系統數據的綜合利用。
校園一卡通基于我國各學校普遍建設的校園網絡,涵蓋了學生的日常消費、身份信息以及其他一些服務內容,是一種綜合性、一體化的應用項目。本文根據我國各學校的信息化建設目標,在校園一卡通的基礎上將其所涉及的內容進行整合,形成一個包含該學校所有師生的身份、消費記錄等信息的數據庫,通過將各業務系統與此數據庫進行交互,最終實現數據共享的目標。根據上述設計思路,本文所構建的整體設計框架,如圖1所示。

圖1 整體設計框架
從圖1可以看到,整體設計框架中包含了視圖、公共數據表以及中間數據表。其中,視圖由學校各業務系統進行創建,其內容為該業務系統所需要的共享數據信息;公共數據表是該業務系統對其他系統共享的數據,這些數據被共享數據庫抽取并存儲;中間數據表則是校園一卡通根據各業務系統所創建的視圖,生成所對應的公共數據表的鏡像副本,然后由共享數據庫對其進行推送。學校各業務系統通過校園一卡通,便能夠獲取其他業務系統的數據表,即實現了彼此間的數據共享。
根據前文中所述的設計框架,本文對校園一卡通數據共享進行具體設計,其中包括邏輯框架設計、系統對接設計等。
根據本文的設計思路,學校各業務系統間的數據共享主要是通過校園一卡通的中間數據表來實現的,數據共享分為兩個部分:第一,各業務系統將數據寫入中間數據表,共享數據庫從中抽取數據進行存儲;第二,共享數據庫將目標數據寫入校園一卡通的中間數據表,當某一業務系統需要調用這些數據時,校園一卡通將中間數據表以及對應的視圖推送給該業務系統。
學校各業務系統之間具有較大的差異性,因此在進行數據共享時需要注意避免影響到其原始數據結構,而本文所設計的以中間數據表進行數據同步的模式能夠很好地滿足這一要求,從而有效保障業務系統的穩定運行。同時,采用模式進行各業務系統間的數據共享時,只要確保數據接口設置正確即可[8],因此顯著地提高了效率。
以中間數據表進行數據共享的具體流程如下:首先,根據學校各業務系統的數據結構特點以及數據庫類型等情況,確定不同業務系統的具體需求;其次,基于統一的數據標準,梳理好各業務系統與共享數據庫之間的關系;最后,通過數據轉換工具,將各業務系統所共享的數據轉換為統一字段,使共享數據庫能夠正常提取并存儲這些數據。中間數據表的字段類型都具有版本號、有效標記、同步版本3個字段,如表1所示。

表1 中間數據表字段類型
如前文中所述,數據共享分為兩個部分,因此數據同步的實現也分為兩個部分,即從各業務系統到共享數據庫的數據同步,以及從共享數據庫到校園一卡通的數據同步。
從各業務系統到共享數據庫的數據同步,主要通過ODI同步工具來實現。業務系統創建視圖以及中間數據表后,共享數據庫通過ODI對其進行讀取,然后根據所讀取到的信息來創建與中間數據表相同的鏡像副本,并將中間數據表中的數據提取到副本中。
從共享數據庫到校園一卡通的數據同步實現過程如下:首先由校園一卡通創建相應的中間數據表,然后,共享數據庫向該中間數據表中推送所對應的數據。需要強調的是,共享數據庫具有中間數據表的最高讀寫權限,而各業務系統僅具有讀取中間數據表中特定內容的權限,以及對字段SYNVER的寫入權限。
此外,當數據發生更新時,主要是通過共享數據庫周期性地抽取數據,以此進行發現并更新自身數據,然后向該數據所對應的校園一卡通進行推送。
Oracle公司所研發的ODI是一款數據集成工具,具有界面簡便易懂、功能強大完善等優點[9-13]。因此,本文采用ODI來進行學校各業務系統間的數據傳輸與轉換,以此實現數據共享。
2.4.1 數據模型
本文以某學校招生數據為例,進行數據模型的具體構建,如圖2所示。

圖2 數據模型
2.4.2 ODI開發
在招生數據模型構建完畢后,接著進行ODI開發,其具體過程如下。
步驟1:配置一部專用于ODI部署的服務器,安裝ODI并進行測試后,創建用來存儲各業務系統數據同步相關配置信息的信息庫。
步驟2:配置ODI的基本信息,接著對CDC以及程序包進行開發。
步驟3:利用設計器創建源數據表以及ODI接口等項目,通過調用ODI集成的知識模塊來實現,可以一次性調用全部模塊,也可以分開進行調用[14]。需要注意的是,在此過程中應當對知識模塊的屬性進行準確設置。
步驟4:調用ODI集成的知識模塊,對源數據庫與目標數據庫之間的映射關系進行設計,然后通過CDC來監控并采集源數據的更新信息,并在日志表中記錄。
2.4.3 接口設計
ODI能夠將功能雷同的若干個接口封裝在同一個包中,因此招生業務系統接口包括了教職工、學生等多個包。本文中主要以學生接口為例進行設計,相關的學生數據集實現了從學生數據表VIEW_XSBM_ALL到共享數據庫TRA_DEPT表的映射關系,其中VIEW_XSBM_ALL為源數據表,而TRA_DEPT為目標數據表。根據具體需要,共享數據庫通過TRA_DEPT表來抽取學生數據表VIEW_XSBM_ALL中的相關字段,而對其余字段并不進行抽取。當招收的新生入學后,該校的教務管理業務系統會對學生信息進行更新,共享數據庫根據更新記錄來對TRA_DEPT表存儲的數據進行同步更新。
如上文中所述,若干個雷同的接口被封裝于同一包中。對此,ODI主要通過特定的邏輯標準來對其中各接口進行排序,根據順序依次執行[15-16]。若執行過程中遇到異常情況,ODI會將錯誤信息發送給數據庫管理員。
為驗證上述的方案,以某學校招生數據為例,對所提出的設計進行實例驗證。根據上文所述的設計,在該校某臺服務器中部署了ODI,并配置了相關接口。該校教務管理部門在所招新生入學后,將所有新生的學號、姓名、班級等身份數據錄入其系統中,同時生成公共數據表。共享數據庫抽取公共數據表中的信息并進行存儲。當某一業務系統需要調用新生的身份數據時,生成相應的視圖,校園一卡通根據該視圖生成中間數據表,由共享數據庫將對應的數據推送到中間數據表中,使其他業務系統能夠調用查看這些新生的身份信息。而通過這種共享的方式,讓包括教務處、各個二級學院、后勤處等通過校園一卡通等方式,即可對學生的這些基本信息進行查詢。通過校園一卡通即可查詢新生信息,如圖3所示。

圖3 查詢新生身份信息
根據以上的共享方案,教務部門在對學生進行編號以后,都會由共享平臺抽取數據,隨后推送到一卡通對應的數據中間表中。而通過該中間表,即可查詢學生的基本信息,查詢結果,如圖4所示。

圖4 中間表數據同步查詢結果
通過這種共享的方式,將數據同步到校園一卡通系統,既滿足信息查詢的方便性,也滿足了校園內信息更新的同步性,從而大大提升了效率,體現了該共享平臺的效果。
本文所提出的設計,主要是利用目前在我國各學校普及率較高的校園一卡通系統,通過創建中間數據表的方法來解決各業務系統間的數據共享問題。通過以某校新生數據進行實例驗證,證明了本文所提出的設計方案具有可行性。由于該方案在技術上要求不高,而且校園一卡通在我國學校中的應用非常普及,因此該方案是目前較為適用的校園數據共享方案,通過較少的成本投入就能夠有效地解決學校各業務系統數據交互不暢的信息孤島問題。