趙靜
(陜西財(cái)經(jīng)職業(yè)技術(shù)學(xué)院,咸陽(yáng) 712000)
隨著計(jì)算機(jī)與信息技術(shù)的不斷發(fā)展,我國(guó)許多學(xué)校在其教學(xué)與管理等方面也逐漸普及了信息化技術(shù)的應(yīng)用,成為反映教學(xué)以及管理水平的重要標(biāo)準(zhǔn)之一,因此各學(xué)校為了提升自身實(shí)力,普遍都在加強(qiáng)學(xué)校的信息化建設(shè)力度。目前,我國(guó)各學(xué)校在信息化建設(shè)方面已經(jīng)取得了較大的進(jìn)展,但也因?yàn)楦鞣N因素的制約而導(dǎo)致了諸多問(wèn)題的存在。比如,目前我國(guó)許多學(xué)校所建設(shè)的信息化系統(tǒng)主要以各個(gè)業(yè)務(wù)系統(tǒng)為主,而在綜合性系統(tǒng)的建設(shè)方面較為薄弱;各業(yè)務(wù)系統(tǒng)之間沒(méi)有構(gòu)建起統(tǒng)一的數(shù)據(jù)標(biāo)準(zhǔn),而彼此之間又存在較大的差異性,從而導(dǎo)致各業(yè)務(wù)系統(tǒng)之間難以實(shí)現(xiàn)數(shù)據(jù)的共享[1-7]。上述這些問(wèn)題不僅制約了學(xué)校的信息化建設(shè),也造成了數(shù)據(jù)資源的浪費(fèi)。對(duì)此,本文從校園一卡通著手,就我國(guó)各學(xué)校在信息化建設(shè)中的數(shù)據(jù)共享問(wèn)題進(jìn)行研究,旨在解決上述問(wèn)題的制約,實(shí)現(xiàn)各業(yè)務(wù)系統(tǒng)數(shù)據(jù)的綜合利用。
校園一卡通基于我國(guó)各學(xué)校普遍建設(shè)的校園網(wǎng)絡(luò),涵蓋了學(xué)生的日常消費(fèi)、身份信息以及其他一些服務(wù)內(nèi)容,是一種綜合性、一體化的應(yīng)用項(xiàng)目。本文根據(jù)我國(guó)各學(xué)校的信息化建設(shè)目標(biāo),在校園一卡通的基礎(chǔ)上將其所涉及的內(nèi)容進(jìn)行整合,形成一個(gè)包含該學(xué)校所有師生的身份、消費(fèi)記錄等信息的數(shù)據(jù)庫(kù),通過(guò)將各業(yè)務(wù)系統(tǒng)與此數(shù)據(jù)庫(kù)進(jìn)行交互,最終實(shí)現(xiàn)數(shù)據(jù)共享的目標(biāo)。根據(jù)上述設(shè)計(jì)思路,本文所構(gòu)建的整體設(shè)計(jì)框架,如圖1所示。
圖1 整體設(shè)計(jì)框架
從圖1可以看到,整體設(shè)計(jì)框架中包含了視圖、公共數(shù)據(jù)表以及中間數(shù)據(jù)表。其中,視圖由學(xué)校各業(yè)務(wù)系統(tǒng)進(jìn)行創(chuàng)建,其內(nèi)容為該業(yè)務(wù)系統(tǒng)所需要的共享數(shù)據(jù)信息;公共數(shù)據(jù)表是該業(yè)務(wù)系統(tǒng)對(duì)其他系統(tǒng)共享的數(shù)據(jù),這些數(shù)據(jù)被共享數(shù)據(jù)庫(kù)抽取并存儲(chǔ);中間數(shù)據(jù)表則是校園一卡通根據(jù)各業(yè)務(wù)系統(tǒng)所創(chuàng)建的視圖,生成所對(duì)應(yīng)的公共數(shù)據(jù)表的鏡像副本,然后由共享數(shù)據(jù)庫(kù)對(duì)其進(jìn)行推送。學(xué)校各業(yè)務(wù)系統(tǒng)通過(guò)校園一卡通,便能夠獲取其他業(yè)務(wù)系統(tǒng)的數(shù)據(jù)表,即實(shí)現(xiàn)了彼此間的數(shù)據(jù)共享。
根據(jù)前文中所述的設(shè)計(jì)框架,本文對(duì)校園一卡通數(shù)據(jù)共享進(jìn)行具體設(shè)計(jì),其中包括邏輯框架設(shè)計(jì)、系統(tǒng)對(duì)接設(shè)計(jì)等。
根據(jù)本文的設(shè)計(jì)思路,學(xué)校各業(yè)務(wù)系統(tǒng)間的數(shù)據(jù)共享主要是通過(guò)校園一卡通的中間數(shù)據(jù)表來(lái)實(shí)現(xiàn)的,數(shù)據(jù)共享分為兩個(gè)部分:第一,各業(yè)務(wù)系統(tǒng)將數(shù)據(jù)寫入中間數(shù)據(jù)表,共享數(shù)據(jù)庫(kù)從中抽取數(shù)據(jù)進(jìn)行存儲(chǔ);第二,共享數(shù)據(jù)庫(kù)將目標(biāo)數(shù)據(jù)寫入校園一卡通的中間數(shù)據(jù)表,當(dāng)某一業(yè)務(wù)系統(tǒng)需要調(diào)用這些數(shù)據(jù)時(shí),校園一卡通將中間數(shù)據(jù)表以及對(duì)應(yīng)的視圖推送給該業(yè)務(wù)系統(tǒng)。
學(xué)校各業(yè)務(wù)系統(tǒng)之間具有較大的差異性,因此在進(jìn)行數(shù)據(jù)共享時(shí)需要注意避免影響到其原始數(shù)據(jù)結(jié)構(gòu),而本文所設(shè)計(jì)的以中間數(shù)據(jù)表進(jìn)行數(shù)據(jù)同步的模式能夠很好地滿足這一要求,從而有效保障業(yè)務(wù)系統(tǒng)的穩(wěn)定運(yùn)行。同時(shí),采用模式進(jìn)行各業(yè)務(wù)系統(tǒng)間的數(shù)據(jù)共享時(shí),只要確保數(shù)據(jù)接口設(shè)置正確即可[8],因此顯著地提高了效率。
以中間數(shù)據(jù)表進(jìn)行數(shù)據(jù)共享的具體流程如下:首先,根據(jù)學(xué)校各業(yè)務(wù)系統(tǒng)的數(shù)據(jù)結(jié)構(gòu)特點(diǎn)以及數(shù)據(jù)庫(kù)類型等情況,確定不同業(yè)務(wù)系統(tǒng)的具體需求;其次,基于統(tǒng)一的數(shù)據(jù)標(biāo)準(zhǔn),梳理好各業(yè)務(wù)系統(tǒng)與共享數(shù)據(jù)庫(kù)之間的關(guān)系;最后,通過(guò)數(shù)據(jù)轉(zhuǎn)換工具,將各業(yè)務(wù)系統(tǒng)所共享的數(shù)據(jù)轉(zhuǎn)換為統(tǒng)一字段,使共享數(shù)據(jù)庫(kù)能夠正常提取并存儲(chǔ)這些數(shù)據(jù)。中間數(shù)據(jù)表的字段類型都具有版本號(hào)、有效標(biāo)記、同步版本3個(gè)字段,如表1所示。
表1 中間數(shù)據(jù)表字段類型
如前文中所述,數(shù)據(jù)共享分為兩個(gè)部分,因此數(shù)據(jù)同步的實(shí)現(xiàn)也分為兩個(gè)部分,即從各業(yè)務(wù)系統(tǒng)到共享數(shù)據(jù)庫(kù)的數(shù)據(jù)同步,以及從共享數(shù)據(jù)庫(kù)到校園一卡通的數(shù)據(jù)同步。
從各業(yè)務(wù)系統(tǒng)到共享數(shù)據(jù)庫(kù)的數(shù)據(jù)同步,主要通過(guò)ODI同步工具來(lái)實(shí)現(xiàn)。業(yè)務(wù)系統(tǒng)創(chuàng)建視圖以及中間數(shù)據(jù)表后,共享數(shù)據(jù)庫(kù)通過(guò)ODI對(duì)其進(jìn)行讀取,然后根據(jù)所讀取到的信息來(lái)創(chuàng)建與中間數(shù)據(jù)表相同的鏡像副本,并將中間數(shù)據(jù)表中的數(shù)據(jù)提取到副本中。
從共享數(shù)據(jù)庫(kù)到校園一卡通的數(shù)據(jù)同步實(shí)現(xiàn)過(guò)程如下:首先由校園一卡通創(chuàng)建相應(yīng)的中間數(shù)據(jù)表,然后,共享數(shù)據(jù)庫(kù)向該中間數(shù)據(jù)表中推送所對(duì)應(yīng)的數(shù)據(jù)。需要強(qiáng)調(diào)的是,共享數(shù)據(jù)庫(kù)具有中間數(shù)據(jù)表的最高讀寫權(quán)限,而各業(yè)務(wù)系統(tǒng)僅具有讀取中間數(shù)據(jù)表中特定內(nèi)容的權(quán)限,以及對(duì)字段SYNVER的寫入權(quán)限。
此外,當(dāng)數(shù)據(jù)發(fā)生更新時(shí),主要是通過(guò)共享數(shù)據(jù)庫(kù)周期性地抽取數(shù)據(jù),以此進(jìn)行發(fā)現(xiàn)并更新自身數(shù)據(jù),然后向該數(shù)據(jù)所對(duì)應(yīng)的校園一卡通進(jìn)行推送。
Oracle公司所研發(fā)的ODI是一款數(shù)據(jù)集成工具,具有界面簡(jiǎn)便易懂、功能強(qiáng)大完善等優(yōu)點(diǎn)[9-13]。因此,本文采用ODI來(lái)進(jìn)行學(xué)校各業(yè)務(wù)系統(tǒng)間的數(shù)據(jù)傳輸與轉(zhuǎn)換,以此實(shí)現(xiàn)數(shù)據(jù)共享。
2.4.1 數(shù)據(jù)模型
本文以某學(xué)校招生數(shù)據(jù)為例,進(jìn)行數(shù)據(jù)模型的具體構(gòu)建,如圖2所示。
圖2 數(shù)據(jù)模型
2.4.2 ODI開發(fā)
在招生數(shù)據(jù)模型構(gòu)建完畢后,接著進(jìn)行ODI開發(fā),其具體過(guò)程如下。
步驟1:配置一部專用于ODI部署的服務(wù)器,安裝ODI并進(jìn)行測(cè)試后,創(chuàng)建用來(lái)存儲(chǔ)各業(yè)務(wù)系統(tǒng)數(shù)據(jù)同步相關(guān)配置信息的信息庫(kù)。
步驟2:配置ODI的基本信息,接著對(duì)CDC以及程序包進(jìn)行開發(fā)。
步驟3:利用設(shè)計(jì)器創(chuàng)建源數(shù)據(jù)表以及ODI接口等項(xiàng)目,通過(guò)調(diào)用ODI集成的知識(shí)模塊來(lái)實(shí)現(xiàn),可以一次性調(diào)用全部模塊,也可以分開進(jìn)行調(diào)用[14]。需要注意的是,在此過(guò)程中應(yīng)當(dāng)對(duì)知識(shí)模塊的屬性進(jìn)行準(zhǔn)確設(shè)置。
步驟4:調(diào)用ODI集成的知識(shí)模塊,對(duì)源數(shù)據(jù)庫(kù)與目標(biāo)數(shù)據(jù)庫(kù)之間的映射關(guān)系進(jìn)行設(shè)計(jì),然后通過(guò)CDC來(lái)監(jiān)控并采集源數(shù)據(jù)的更新信息,并在日志表中記錄。
2.4.3 接口設(shè)計(jì)
ODI能夠?qū)⒐δ芾淄娜舾蓚€(gè)接口封裝在同一個(gè)包中,因此招生業(yè)務(wù)系統(tǒng)接口包括了教職工、學(xué)生等多個(gè)包。本文中主要以學(xué)生接口為例進(jìn)行設(shè)計(jì),相關(guān)的學(xué)生數(shù)據(jù)集實(shí)現(xiàn)了從學(xué)生數(shù)據(jù)表VIEW_XSBM_ALL到共享數(shù)據(jù)庫(kù)TRA_DEPT表的映射關(guān)系,其中VIEW_XSBM_ALL為源數(shù)據(jù)表,而TRA_DEPT為目標(biāo)數(shù)據(jù)表。根據(jù)具體需要,共享數(shù)據(jù)庫(kù)通過(guò)TRA_DEPT表來(lái)抽取學(xué)生數(shù)據(jù)表VIEW_XSBM_ALL中的相關(guān)字段,而對(duì)其余字段并不進(jìn)行抽取。當(dāng)招收的新生入學(xué)后,該校的教務(wù)管理業(yè)務(wù)系統(tǒng)會(huì)對(duì)學(xué)生信息進(jìn)行更新,共享數(shù)據(jù)庫(kù)根據(jù)更新記錄來(lái)對(duì)TRA_DEPT表存儲(chǔ)的數(shù)據(jù)進(jìn)行同步更新。
如上文中所述,若干個(gè)雷同的接口被封裝于同一包中。對(duì)此,ODI主要通過(guò)特定的邏輯標(biāo)準(zhǔn)來(lái)對(duì)其中各接口進(jìn)行排序,根據(jù)順序依次執(zhí)行[15-16]。若執(zhí)行過(guò)程中遇到異常情況,ODI會(huì)將錯(cuò)誤信息發(fā)送給數(shù)據(jù)庫(kù)管理員。
為驗(yàn)證上述的方案,以某學(xué)校招生數(shù)據(jù)為例,對(duì)所提出的設(shè)計(jì)進(jìn)行實(shí)例驗(yàn)證。根據(jù)上文所述的設(shè)計(jì),在該校某臺(tái)服務(wù)器中部署了ODI,并配置了相關(guān)接口。該校教務(wù)管理部門在所招新生入學(xué)后,將所有新生的學(xué)號(hào)、姓名、班級(jí)等身份數(shù)據(jù)錄入其系統(tǒng)中,同時(shí)生成公共數(shù)據(jù)表。共享數(shù)據(jù)庫(kù)抽取公共數(shù)據(jù)表中的信息并進(jìn)行存儲(chǔ)。當(dāng)某一業(yè)務(wù)系統(tǒng)需要調(diào)用新生的身份數(shù)據(jù)時(shí),生成相應(yīng)的視圖,校園一卡通根據(jù)該視圖生成中間數(shù)據(jù)表,由共享數(shù)據(jù)庫(kù)將對(duì)應(yīng)的數(shù)據(jù)推送到中間數(shù)據(jù)表中,使其他業(yè)務(wù)系統(tǒng)能夠調(diào)用查看這些新生的身份信息。而通過(guò)這種共享的方式,讓包括教務(wù)處、各個(gè)二級(jí)學(xué)院、后勤處等通過(guò)校園一卡通等方式,即可對(duì)學(xué)生的這些基本信息進(jìn)行查詢。通過(guò)校園一卡通即可查詢新生信息,如圖3所示。
圖3 查詢新生身份信息
根據(jù)以上的共享方案,教務(wù)部門在對(duì)學(xué)生進(jìn)行編號(hào)以后,都會(huì)由共享平臺(tái)抽取數(shù)據(jù),隨后推送到一卡通對(duì)應(yīng)的數(shù)據(jù)中間表中。而通過(guò)該中間表,即可查詢學(xué)生的基本信息,查詢結(jié)果,如圖4所示。
圖4 中間表數(shù)據(jù)同步查詢結(jié)果
通過(guò)這種共享的方式,將數(shù)據(jù)同步到校園一卡通系統(tǒng),既滿足信息查詢的方便性,也滿足了校園內(nèi)信息更新的同步性,從而大大提升了效率,體現(xiàn)了該共享平臺(tái)的效果。
本文所提出的設(shè)計(jì),主要是利用目前在我國(guó)各學(xué)校普及率較高的校園一卡通系統(tǒng),通過(guò)創(chuàng)建中間數(shù)據(jù)表的方法來(lái)解決各業(yè)務(wù)系統(tǒng)間的數(shù)據(jù)共享問(wèn)題。通過(guò)以某校新生數(shù)據(jù)進(jìn)行實(shí)例驗(yàn)證,證明了本文所提出的設(shè)計(jì)方案具有可行性。由于該方案在技術(shù)上要求不高,而且校園一卡通在我國(guó)學(xué)校中的應(yīng)用非常普及,因此該方案是目前較為適用的校園數(shù)據(jù)共享方案,通過(guò)較少的成本投入就能夠有效地解決學(xué)校各業(yè)務(wù)系統(tǒng)數(shù)據(jù)交互不暢的信息孤島問(wèn)題。