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