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

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

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

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

0引言

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

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

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

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

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

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

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

4結(jié)束語

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

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