基于共享數據中心的校園一卡通系統的數據同步
文章出處:http://www.nyfzw.net 作者:聶瑞華 林懷恭 鄭凱 王娟 人氣: 發表時間:2011年06月27日
數字化校園就是利用信息化手段和工具將校園的各項資源,管理及服務流程數字化既保護已有的系統資源,又擴展新的應用,同時必須實現信息的交互和共享,提供廣泛深層次的信息服務。設計應用系統集成框架,建立統一的數據標準,實現全校信息資源的整合是實現數字化校園建設的首要問。
校園一卡通是數字校園的重要組成部分,它集校務管理、圖書借閱、校醫院醫療、食堂餐飲以及學校商戶消費等功能于一體,是數字化校園的重要體現。一卡通數據庫數據來源于教務系統、學工系統等相關的應用系統,圖書館借閱信息又依賴于一卡通卡片信息,如何保證一卡通數據與相關應用系統數據同步是一卡通建設要解決的重要問題。
本文將以我校一卡通系統建設為例,在分析了我校一卡通系統數據來源的基礎上,提出基于共享數據中心模式的一卡通數據同步方案,實現一卡通數據的有效采集與同步。
2 一卡通數據采集模式
一卡通所需的信息包括教工號'部門'學生學號'身份證號'所屬院系'專業等多種信息,數據來自包括人事系統'教務系統等多個應用系統。這些應用系統由不同廠商承建,由于在建設之初只著眼于本單位應用,大多缺乏統一的數據標準與數據格式,不同的系統之間無法實現有效的數據共享,容易造成系統間數據的不同步。系統間的這種+信息孤島,現象使得一卡通數據采集無法從單一的系統獲得,實現數據同步也比較麻煩。
2.1 數據采集方案的選擇
一卡通數據采集的方案之一是建立一卡通系統與所需數據相關應用系統的直接關聯。采用此方案首先得熟悉數據來源的應用系統所采用的開發技術,了解其提供的協議以及數據格式,進而建立應用系統與一卡通系統的一對一的數據關聯以及更新機制。而一卡通所需的數據來自較多應用系統,數據采集的工作將變得相對復雜,一卡通系統的維護也將變得困難。
另外,這種方案并不利于數字校園的整體建設,并沒有改變+數據孤島,的現狀。一卡通數據采集的另一方案是建立數據中心,由數據中心保存各個應用系統的公用數據,應用系統的數據更改首先通知數據中心進行更新,再由數據中心分發到相關的應用系統。這樣既保證了數據的準確性又有利于數據的共享以及系統的可擴展性,有利于數字化校園建設。
一卡通數據統一從共享數據中心獲取,利用共享數據中心進行數據分發,實現一卡通數據的實時更新。鑒于此,我校正是采用這種方案進行數據采集的。
2.2基于共享數據中心的一卡通數據同步架構
共享數據中心作為一卡通數據采集的中心樞紐,與一卡通數據來源系統都處于同一網絡中,能夠互相訪問,對應用系統間需要交互的數據進行整理,以完成共享數據模型的構建。一卡通的數據獲得完全通過共享數據中心來實現,應用系統只需要對一卡通系統所需的數據操作進行相應的系統改造就可以實現,并且權限模型可以沿用舊有系統的。
應用系統與共享數據中心之間是松散耦合的,即各個應用系統脫離了共享數據中心也可以正常運行。共享數據中心基于數據庫技術構建在J2EE的架構之上,具體架構如圖所示。
其中WEB服務層為其他應用系統提供訪問一卡通數據服務,包括對共享數據中心數據同步的一些操作;展示層則完成對共享數據中心的管理,這包括一卡通元數據的管理'系統日常維護等方面的功能。
共享數據庫中包含兩部分的數據;交互數據的存根以及共享數據中心元數據。交互數據存根主要是保證數據在各個系統間的準確性和唯一性;而共享數據中心元數據則是對共享數據中心模型的定義及管理,它保證了共享數據中心的正常運作。
鑒于一卡通來源數據的應用系統的實際情況,在數據交互的實現方式上采用數據庫實現以及WEB SERVICE兩種方式。
共享數據中心的esb通過開源技術mule來實現,主要負責控制一卡通業務數據由接口進入,經過清洗'存儲,最后分發到應用系統的整個業務編排。通過在mule中按照一定的業務處理規則進行路由設置,以實現靈活的組合業務處理。
共享數據中心的核心功能就是實現各個系統之間的數據交互,當某個系統數據有更新的時候,通過共享數據中心完成各個系統之間的數據同步,以保證各個系統中數據的唯一性和有效性。
3 一卡通數據同步的實現
3.1技術方案
共享數據中心的主要功能是共享應用系統間的公共數據,實現系統間的數據同步。共享數據中心與一卡通相關的多個應用系統互聯,必須降低與各個應用系統的耦合性,同時考慮到以后新建系統的加入,還必須保證共享數據中心的可擴展性。
根據共享數據中心構建的這些特點,這里提出了一種基于soa的共享數據中心技術方案,它把業務劃分,組件化,為一系列粗粒度的業務服務和業務流程),通過加入ESB支持以及各種數據接口來實現,能實時地實現共享數據中心與各應用系統之間的數據同步,實現共享數據中心各應用系統之間的低耦合性和共享數據中心本身的可擴展性,以滿足當前數字校園建設的需要)?;赟OA的共享數據中心技術方案如圖2所示。
其中,中心數據庫存放各應用系統的一卡通標準數據,兩個交換區存放應用系統的增量數據,ESB總線主要負責控制業務數據由接口進入,經過處理,最后分發到其它應用系統的整個業務編排 。
各個應用系統通過共享數據中心的服務將一卡通數據發往共享數據中心,共享數據中心處理完成后存儲標準數據,一卡通系統通過共享數據中心提供的服務獲得數據。一旦應用系統的數據更新,共享數據中心即調用服務更新中心數據庫數據,再將所更新部分分發給一卡通系統,這樣就保證了一卡通數據的實時有效性。
3.2數據同步步驟
共享數據中心處理各應用系統的數據同步分為四個步驟:導入'清洗'分發'傳送。
1)數據導入和清洗。在共享數據中心中設定了一卡通數據的權威數據來源系統。包括教務系統'人事系統等),當這些應用系統的權威數據發生變化時,共享數據中心要將這些變化的數據導入到數據交換區,然后將這些數據通過數據清洗操作更新到主題庫中,數據導入要做的事就是如何導入這些數據。
根據應用系統接口的不同,從應用系統導入數據到共享數據中心有幾種方式;應用系統調用共享數據中心的webservice傳送數據'直接訪問應用系統數據庫獲取數據'共享數據中心調用應用系統提供的webservice獲取數據。
以教工信息同步到一卡通系統為例。教工信息來源于人事系統,教工信息的導入通過調用共享數據中心提供的webservice實現。初次導入時將人事系統所有已審批的教職工信息導入到共享數據中心,查詢人事系統教職工基本信息表,若存在數據,則將所有的教職工數據存到增量表中。然后觸發服務組件outbond router進行清洗,將導入的數據按照一卡通所需數據的標準格式進行清洗(數據基本校驗和邏輯分析)結果保存到共享數據中心的主題數據庫中。而當人事系統中更新人員信息時,將調用共享數據中心發布的服務將變化的數據發送到共享數據中心。mule中的配置如下:
當共享數據中心提供的webservice方法執行到導入教職工數據到增量表后,最后通過muleclient發送一個VM消息到VM://HRImportRY,觸發導入教職工照片事務和清洗教職工數據事務。而在數據清洗的HRCLeanRY_UMO中實現數據的清洗任務。清洗完的數據將根據OUTBOUND定義的出口ICSDisRY對一卡通數據進行分發。
(2)分發和傳送。將清洗過后的教職工數據分發到一卡通系統,mule中的配置如下:
最后在ICSRcRY_UMO中調用存儲過程實現將教職工數據寫入一卡通數據庫的相應表格中。
而對于有數據項依賴于一卡通數據的系統。如圖書館系統)其數據與一卡通數據同步的步驟也類似從人事系統到一卡通系統數據同步的過程,這里不再一一敘述。
4 結束語
校園一卡通系統是數字校園建設的重要組成部分,其數據來源于相關的業務系統,需要與業務系統數據保持同步。本文針對我校一卡通建設的實際情況,提出了通過共享數據中心實現一卡通數據采集與同步的方案,詳細描述了實現步驟,成功實現了一卡通數據與相關系統的數據同步。