公務(wù)員期刊網(wǎng) 論文中心 正文

高校管理信息系統(tǒng)整合中異構(gòu)數(shù)據(jù)庫的應(yīng)用

前言:想要寫出一篇引人入勝的文章?我們特意為您整理了高校管理信息系統(tǒng)整合中異構(gòu)數(shù)據(jù)庫的應(yīng)用范文,希望能給你帶來靈感和參考,敬請(qǐng)閱讀。

高校管理信息系統(tǒng)整合中異構(gòu)數(shù)據(jù)庫的應(yīng)用

0引言

隨著“互聯(lián)網(wǎng)+”國家戰(zhàn)略的提出,如何基于互聯(lián)網(wǎng)為大眾提供方便快捷的服務(wù)已是當(dāng)下研究的一個(gè)熱門課題。高等學(xué)校作為公共服務(wù)的重要一環(huán),辦學(xué)規(guī)模不斷擴(kuò)大,為了便于管理,高校各部門都建立了各自的管理系統(tǒng)。對(duì)現(xiàn)有的應(yīng)用系統(tǒng)而言,各系統(tǒng)相互孤立,數(shù)據(jù)不能共享,造成了很多不必要的浪費(fèi)和重復(fù)建設(shè)[1]。如何將這些異構(gòu)的信息系統(tǒng)整合,實(shí)現(xiàn)信息交互資源共享是當(dāng)下校園信息化建設(shè)的一個(gè)難點(diǎn)。異構(gòu)數(shù)據(jù)庫技術(shù)的提出解決了這一難題。

1異構(gòu)數(shù)據(jù)庫定義

異構(gòu)數(shù)據(jù)庫是將各個(gè)已經(jīng)存在的、自治的及異構(gòu)的數(shù)據(jù)庫系統(tǒng)集合在一起。異構(gòu)數(shù)據(jù)庫繼承和發(fā)展了分布式數(shù)據(jù)庫技術(shù),分布式數(shù)據(jù)庫由多個(gè)結(jié)構(gòu)相同的子數(shù)據(jù)庫組成,在物理上可以分布在各地,但實(shí)際上只有一個(gè)數(shù)據(jù)庫系統(tǒng)為其服務(wù),提供統(tǒng)一的查詢與更新;而異構(gòu)數(shù)據(jù)庫則是以多個(gè)結(jié)構(gòu)不同、運(yùn)行獨(dú)立的數(shù)據(jù)庫系統(tǒng)為基礎(chǔ),通過統(tǒng)一的規(guī)則集成的一個(gè)分布式數(shù)據(jù)庫系統(tǒng)[2]。簡言之異構(gòu)數(shù)據(jù)庫系統(tǒng),就是通過統(tǒng)一的表示、存儲(chǔ)和管理集成存在的異構(gòu)的且獨(dú)立的數(shù)據(jù)庫,使用戶感覺獲取到的數(shù)據(jù)都具有單一的模式且存儲(chǔ)在單個(gè)數(shù)據(jù)庫中。

2異構(gòu)數(shù)據(jù)庫集成方法

一般來說,異構(gòu)數(shù)據(jù)庫集成方法主要有:數(shù)據(jù)倉庫(DataWarehouse)及中間件方式(Middleware)。上述兩種集成方法根據(jù)數(shù)據(jù)是否在本地存儲(chǔ),又可分為實(shí)際存儲(chǔ)方式和虛擬存儲(chǔ)方式兩種。“數(shù)據(jù)倉庫是面向主題的、集成的、具有時(shí)間特征的、穩(wěn)定的數(shù)據(jù)集合,用以支持經(jīng)營管理中的決策制定過程”,這一概念是W.H.Inmon在其《建立數(shù)據(jù)倉庫》一書中提出的,它是一個(gè)能夠支持企業(yè)或組織進(jìn)行決策分析處理的數(shù)據(jù)集合,具有面向主題、集成性、穩(wěn)定性及時(shí)變性四個(gè)特征。數(shù)據(jù)倉庫的關(guān)鍵技術(shù)包括數(shù)據(jù)的抽取、清洗、轉(zhuǎn)換、加載和維護(hù)技術(shù)。它屬于實(shí)際存儲(chǔ)方式。數(shù)據(jù)倉庫法是將數(shù)據(jù)通過ETL(Extract,Transformandload抽取,轉(zhuǎn)換和加載)工具定期從各個(gè)分散的數(shù)據(jù)庫中抽取出來,集中存儲(chǔ)于一個(gè)存儲(chǔ)數(shù)據(jù)的倉庫,在數(shù)據(jù)進(jìn)入數(shù)據(jù)倉庫之前必須要統(tǒng)一數(shù)據(jù)格式,如字段的同名異義、異名同義、字段長度不一致等,另外需要進(jìn)行數(shù)據(jù)的整合與計(jì)算以滿足數(shù)據(jù)倉庫的格式要求,經(jīng)過必要的清洗加工后加載到數(shù)據(jù)倉庫中,供用戶查詢。如上所述。前臺(tái)數(shù)據(jù)查詢服務(wù)和后臺(tái)數(shù)據(jù)預(yù)處理服務(wù)是數(shù)據(jù)倉庫法中主要的兩種數(shù)據(jù)服務(wù)。前臺(tái)數(shù)據(jù)查詢服務(wù)的主要功能是將各種分析應(yīng)用工具得到的可視化分析結(jié)果展現(xiàn)給最終用戶,如數(shù)據(jù)查詢結(jié)果、生成的各類報(bào)表等;后臺(tái)數(shù)據(jù)預(yù)處理服務(wù)的主要職責(zé)是實(shí)現(xiàn)數(shù)據(jù)由數(shù)據(jù)源數(shù)據(jù)到數(shù)據(jù)倉庫數(shù)據(jù)的格式轉(zhuǎn)換,使數(shù)據(jù)倉庫能夠以多維數(shù)據(jù)模型進(jìn)行主題數(shù)據(jù)存儲(chǔ)。抽取、轉(zhuǎn)換和加載是后臺(tái)數(shù)據(jù)預(yù)處理服務(wù)的三種重要數(shù)據(jù)操作。抽取是從數(shù)據(jù)源抽取所需數(shù)據(jù);轉(zhuǎn)換是對(duì)抽取出的數(shù)據(jù)進(jìn)行格式轉(zhuǎn)換,使其與數(shù)據(jù)倉庫中的數(shù)據(jù)格式一致;加載是將轉(zhuǎn)換后的數(shù)據(jù)記錄到數(shù)據(jù)倉庫中。數(shù)據(jù)倉庫法會(huì)生成一個(gè)全新的數(shù)據(jù)庫系統(tǒng)作為數(shù)據(jù)倉庫,倉庫所有數(shù)據(jù)都從各數(shù)據(jù)源中抽取,形成一個(gè)全局模式。用戶查詢數(shù)據(jù)時(shí),系統(tǒng)把查詢所需數(shù)據(jù)預(yù)先提取存儲(chǔ)到本地,用戶直接訪問本地?cái)?shù)據(jù)[3]。中間件集成解決方案是虛擬存儲(chǔ)方式,它也使用了全局?jǐn)?shù)據(jù)模式。它不僅能夠集成結(jié)構(gòu)統(tǒng)一的數(shù)據(jù)源數(shù)據(jù),還可以集成結(jié)構(gòu)不同的數(shù)據(jù)源數(shù)據(jù),如Web數(shù)據(jù)等。根據(jù)IDC對(duì)中間件的定義:中間件是一種獨(dú)立的系統(tǒng)軟件或服務(wù)程序,它位于客戶機(jī)/服務(wù)器的操作系統(tǒng)之上,管理計(jì)算資源和網(wǎng)絡(luò)通信,在底層操作系統(tǒng)包括底層通信協(xié)議和各分布式應(yīng)用軟件搭起了溝通的橋梁,從而實(shí)現(xiàn)分布式應(yīng)用軟件在不同技術(shù)平臺(tái)間的資源共享。

3中間件方式實(shí)現(xiàn)異構(gòu)數(shù)據(jù)庫

通過以上兩種集成方法的介紹,筆者認(rèn)為中間件方式是實(shí)現(xiàn)異構(gòu)數(shù)據(jù)庫最簡便,代價(jià)最小的辦法。中間件是一種起連接作用的分布式軟件,處于操作系統(tǒng)(包括底層通信協(xié)議)和應(yīng)用軟件之間。其作用是屏蔽底層分布式環(huán)境的復(fù)雜性和異構(gòu)性,為不同環(huán)境下的應(yīng)用軟件建立相互通信的操作機(jī)制,使各應(yīng)用軟件可以有效地進(jìn)行數(shù)據(jù)交互與協(xié)同,從而提高軟件的易移植性、適應(yīng)性和可靠性。對(duì)于異構(gòu)數(shù)據(jù)庫系統(tǒng)集成而言,各子系統(tǒng)數(shù)據(jù)庫的結(jié)構(gòu)及運(yùn)行環(huán)境均不重要,中間件的程序接口定義了一個(gè)統(tǒng)一的數(shù)據(jù)交互接口,無論各子系統(tǒng)數(shù)據(jù)庫及其運(yùn)行環(huán)境如何更新,只要中間件對(duì)外接口定義不變,中間件程序做相應(yīng)更新,上層應(yīng)用軟件幾乎不用修改,這樣就避免了“推倒重建”的巨大代價(jià),降低了高校集成各異構(gòu)數(shù)據(jù)庫系統(tǒng)的成本。簡言之,中間件就是一個(gè)分布式軟件管理框架,通過API的形式提供一組軟件服務(wù),具有良好的可擴(kuò)展性和強(qiáng)大的通信能力。整個(gè)系統(tǒng)可以分為五層,分別是:①子系統(tǒng)數(shù)據(jù)庫,即校內(nèi)各部門現(xiàn)有的數(shù)據(jù)庫系統(tǒng),它們可能位于不同操作系統(tǒng)平臺(tái)下且結(jié)構(gòu)各不相同,各系系統(tǒng)獨(dú)立運(yùn)行相對(duì)自治。②客戶端層,將各子系統(tǒng)數(shù)據(jù)庫中共享的數(shù)據(jù)變化情況通過觸發(fā)器實(shí)時(shí)記錄到相應(yīng)的表格中,通過JAVA定時(shí)器定期將變化的數(shù)據(jù)從表格中提取出來,并利用XML解析工具將其轉(zhuǎn)換為XML消息。JMS客戶端發(fā)送程序再將被包裝成適合JMS傳遞的XML消息(即文本消息TextMessage)發(fā)送給JMS主題或隊(duì)列。因?yàn)镴MS中未定義XML消息,所以它在傳遞前還需要做轉(zhuǎn)換,通常做法是將其作為一個(gè)TextMessage或一個(gè)DOM對(duì)象來對(duì)待,以此方式來實(shí)現(xiàn)XML消息的傳遞。這里所提出的模型是將XML消息轉(zhuǎn)換為TextMessage進(jìn)行傳遞,因?yàn)榇朔绞絺鬟f效果最佳。③中間件層,實(shí)現(xiàn)中央服務(wù)器端應(yīng)用程序和客戶端應(yīng)用程序的消息傳遞,該服務(wù)由應(yīng)用服務(wù)器中間件配置的JMS來實(shí)現(xiàn)。該層的功能就是維護(hù)建立的消息主題或隊(duì)列,完成消息的發(fā)送和接收任務(wù),屏蔽復(fù)雜的底層通信。它是整個(gè)模型的重要組成部分,確保了消息通信的異步性、持久性和可靠性,是各個(gè)應(yīng)用系統(tǒng)交換數(shù)據(jù)的平臺(tái)。④中央數(shù)據(jù)庫客戶端層,該層的主要功能就是監(jiān)聽JMS服務(wù)器的消息隊(duì)列或主題是否有消息到來。中央數(shù)據(jù)庫客戶端程序一直保持監(jiān)聽狀態(tài),若有消息到來,則進(jìn)行相應(yīng)的處理;若無消息則繼續(xù)監(jiān)聽。若接收到消息,則將其由文本格式轉(zhuǎn)換為XML格式,然后依據(jù)數(shù)據(jù)模式映射文件轉(zhuǎn)換成對(duì)應(yīng)于中央數(shù)據(jù)庫系統(tǒng)的XML消息,最后中央數(shù)據(jù)庫再將轉(zhuǎn)換后的XML消息通過解析工具記錄在案。⑤中央數(shù)據(jù)庫,需要共享的數(shù)據(jù)都存儲(chǔ)于此,它為數(shù)據(jù)共享提供統(tǒng)一的數(shù)據(jù)平臺(tái),是進(jìn)一步進(jìn)行數(shù)據(jù)挖掘、信息共享的基礎(chǔ)。整個(gè)模型的業(yè)務(wù)流程是:共享數(shù)據(jù)在發(fā)生變化時(shí)被觸發(fā)器記錄在相應(yīng)的表格中;JAVA定時(shí)器定時(shí)提取表格中的變化數(shù)據(jù),利用解析工具將其轉(zhuǎn)換為XML消息;將轉(zhuǎn)換后的XML消息封裝打包成文本消息,發(fā)送到JMS服務(wù)器的主題或隊(duì)列中;監(jiān)聽該主題或隊(duì)列的服務(wù)器接收到文本消息后,則通過解析工具將其解析成XML消息;通過映射文件將得到的XML消息轉(zhuǎn)換為對(duì)應(yīng)于中央數(shù)據(jù)庫系統(tǒng)數(shù)據(jù)的XML消息;最后再將XML消息通過解析工具還原成中央數(shù)據(jù)庫的數(shù)據(jù),以實(shí)現(xiàn)異構(gòu)數(shù)據(jù)庫的同步刷新和集成共享。

4結(jié)束語

隨著“互聯(lián)網(wǎng)+服務(wù)”行動(dòng)的不斷深入,政府及各公共服務(wù)部門的管理系統(tǒng)整合需求也越來越大,以最小的代價(jià)整合現(xiàn)有的異構(gòu)系統(tǒng)實(shí)現(xiàn)信息共享、資源整合、減少投資浪費(fèi)勢在必行。本文所提出的以中間件方式實(shí)現(xiàn)異構(gòu)管理系統(tǒng)整合是一個(gè)有益的嘗試。

作者:劉好斌 韓宏旺 陳宇斌 單位:南昌航空大學(xué)軟件學(xué)院 南昌航空大學(xué)學(xué)工處