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