前言:想要寫出一篇引人入勝的文章?我們特意為您整理了高校管理信息系統(tǒng)整合中異構數(shù)據(jù)庫的應用范文,希望能給你帶來靈感和參考,敬請閱讀。
0引言
隨著“互聯(lián)網(wǎng)+”國家戰(zhàn)略的提出,如何基于互聯(lián)網(wǎng)為大眾提供方便快捷的服務已是當下研究的一個熱門課題。高等學校作為公共服務的重要一環(huán),辦學規(guī)模不斷擴大,為了便于管理,高校各部門都建立了各自的管理系統(tǒng)。對現(xiàn)有的應用系統(tǒng)而言,各系統(tǒng)相互孤立,數(shù)據(jù)不能共享,造成了很多不必要的浪費和重復建設[1]。如何將這些異構的信息系統(tǒng)整合,實現(xiàn)信息交互資源共享是當下校園信息化建設的一個難點。異構數(shù)據(jù)庫技術的提出解決了這一難題。
1異構數(shù)據(jù)庫定義
異構數(shù)據(jù)庫是將各個已經(jīng)存在的、自治的及異構的數(shù)據(jù)庫系統(tǒng)集合在一起。異構數(shù)據(jù)庫繼承和發(fā)展了分布式數(shù)據(jù)庫技術,分布式數(shù)據(jù)庫由多個結構相同的子數(shù)據(jù)庫組成,在物理上可以分布在各地,但實際上只有一個數(shù)據(jù)庫系統(tǒng)為其服務,提供統(tǒng)一的查詢與更新;而異構數(shù)據(jù)庫則是以多個結構不同、運行獨立的數(shù)據(jù)庫系統(tǒng)為基礎,通過統(tǒng)一的規(guī)則集成的一個分布式數(shù)據(jù)庫系統(tǒng)[2]。簡言之異構數(shù)據(jù)庫系統(tǒng),就是通過統(tǒng)一的表示、存儲和管理集成存在的異構的且獨立的數(shù)據(jù)庫,使用戶感覺獲取到的數(shù)據(jù)都具有單一的模式且存儲在單個數(shù)據(jù)庫中。
2異構數(shù)據(jù)庫集成方法
一般來說,異構數(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ù)倉庫的關鍵技術包括數(shù)據(jù)的抽取、清洗、轉換、加載和維護技術。它屬于實際存儲方式。數(shù)據(jù)倉庫法是將數(shù)據(jù)通過ETL(Extract,Transformandload抽取,轉換和加載)工具定期從各個分散的數(shù)據(jù)庫中抽取出來,集中存儲于一個存儲數(shù)據(jù)的倉庫,在數(shù)據(jù)進入數(shù)據(jù)倉庫之前必須要統(tǒng)一數(shù)據(jù)格式,如字段的同名異義、異名同義、字段長度不一致等,另外需要進行數(shù)據(jù)的整合與計算以滿足數(shù)據(jù)倉庫的格式要求,經(jīng)過必要的清洗加工后加載到數(shù)據(jù)倉庫中,供用戶查詢。如上所述。前臺數(shù)據(jù)查詢服務和后臺數(shù)據(jù)預處理服務是數(shù)據(jù)倉庫法中主要的兩種數(shù)據(jù)服務。前臺數(shù)據(jù)查詢服務的主要功能是將各種分析應用工具得到的可視化分析結果展現(xiàn)給最終用戶,如數(shù)據(jù)查詢結果、生成的各類報表等;后臺數(shù)據(jù)預處理服務的主要職責是實現(xiàn)數(shù)據(jù)由數(shù)據(jù)源數(shù)據(jù)到數(shù)據(jù)倉庫數(shù)據(jù)的格式轉換,使數(shù)據(jù)倉庫能夠以多維數(shù)據(jù)模型進行主題數(shù)據(jù)存儲。抽取、轉換和加載是后臺數(shù)據(jù)預處理服務的三種重要數(shù)據(jù)操作。抽取是從數(shù)據(jù)源抽取所需數(shù)據(jù);轉換是對抽取出的數(shù)據(jù)進行格式轉換,使其與數(shù)據(jù)倉庫中的數(shù)據(jù)格式一致;加載是將轉換后的數(shù)據(jù)記錄到數(shù)據(jù)倉庫中。數(shù)據(jù)倉庫法會生成一個全新的數(shù)據(jù)庫系統(tǒng)作為數(shù)據(jù)倉庫,倉庫所有數(shù)據(jù)都從各數(shù)據(jù)源中抽取,形成一個全局模式。用戶查詢數(shù)據(jù)時,系統(tǒng)把查詢所需數(shù)據(jù)預先提取存儲到本地,用戶直接訪問本地數(shù)據(jù)[3]。中間件集成解決方案是虛擬存儲方式,它也使用了全局數(shù)據(jù)模式。它不僅能夠集成結構統(tǒng)一的數(shù)據(jù)源數(shù)據(jù),還可以集成結構不同的數(shù)據(jù)源數(shù)據(jù),如Web數(shù)據(jù)等。根據(jù)IDC對中間件的定義:中間件是一種獨立的系統(tǒng)軟件或服務程序,它位于客戶機/服務器的操作系統(tǒng)之上,管理計算資源和網(wǎng)絡通信,在底層操作系統(tǒng)包括底層通信協(xié)議和各分布式應用軟件搭起了溝通的橋梁,從而實現(xiàn)分布式應用軟件在不同技術平臺間的資源共享。
3中間件方式實現(xiàn)異構數(shù)據(jù)庫
通過以上兩種集成方法的介紹,筆者認為中間件方式是實現(xiàn)異構數(shù)據(jù)庫最簡便,代價最小的辦法。中間件是一種起連接作用的分布式軟件,處于操作系統(tǒng)(包括底層通信協(xié)議)和應用軟件之間。其作用是屏蔽底層分布式環(huán)境的復雜性和異構性,為不同環(huán)境下的應用軟件建立相互通信的操作機制,使各應用軟件可以有效地進行數(shù)據(jù)交互與協(xié)同,從而提高軟件的易移植性、適應性和可靠性。對于異構數(shù)據(jù)庫系統(tǒng)集成而言,各子系統(tǒng)數(shù)據(jù)庫的結構及運行環(huán)境均不重要,中間件的程序接口定義了一個統(tǒng)一的數(shù)據(jù)交互接口,無論各子系統(tǒng)數(shù)據(jù)庫及其運行環(huán)境如何更新,只要中間件對外接口定義不變,中間件程序做相應更新,上層應用軟件幾乎不用修改,這樣就避免了“推倒重建”的巨大代價,降低了高校集成各異構數(shù)據(jù)庫系統(tǒng)的成本。簡言之,中間件就是一個分布式軟件管理框架,通過API的形式提供一組軟件服務,具有良好的可擴展性和強大的通信能力。整個系統(tǒng)可以分為五層,分別是:①子系統(tǒng)數(shù)據(jù)庫,即校內(nèi)各部門現(xiàn)有的數(shù)據(jù)庫系統(tǒng),它們可能位于不同操作系統(tǒng)平臺下且結構各不相同,各系系統(tǒng)獨立運行相對自治。②客戶端層,將各子系統(tǒng)數(shù)據(jù)庫中共享的數(shù)據(jù)變化情況通過觸發(fā)器實時記錄到相應的表格中,通過JAVA定時器定期將變化的數(shù)據(jù)從表格中提取出來,并利用XML解析工具將其轉換為XML消息。JMS客戶端發(fā)送程序再將被包裝成適合JMS傳遞的XML消息(即文本消息TextMessage)發(fā)送給JMS主題或隊列。因為JMS中未定義XML消息,所以它在傳遞前還需要做轉換,通常做法是將其作為一個TextMessage或一個DOM對象來對待,以此方式來實現(xiàn)XML消息的傳遞。這里所提出的模型是將XML消息轉換為TextMessage進行傳遞,因為此方式傳遞效果最佳。③中間件層,實現(xiàn)中央服務器端應用程序和客戶端應用程序的消息傳遞,該服務由應用服務器中間件配置的JMS來實現(xiàn)。該層的功能就是維護建立的消息主題或隊列,完成消息的發(fā)送和接收任務,屏蔽復雜的底層通信。它是整個模型的重要組成部分,確保了消息通信的異步性、持久性和可靠性,是各個應用系統(tǒng)交換數(shù)據(jù)的平臺。④中央數(shù)據(jù)庫客戶端層,該層的主要功能就是監(jiān)聽JMS服務器的消息隊列或主題是否有消息到來。中央數(shù)據(jù)庫客戶端程序一直保持監(jiān)聽狀態(tài),若有消息到來,則進行相應的處理;若無消息則繼續(xù)監(jiān)聽。若接收到消息,則將其由文本格式轉換為XML格式,然后依據(jù)數(shù)據(jù)模式映射文件轉換成對應于中央數(shù)據(jù)庫系統(tǒng)的XML消息,最后中央數(shù)據(jù)庫再將轉換后的XML消息通過解析工具記錄在案。⑤中央數(shù)據(jù)庫,需要共享的數(shù)據(jù)都存儲于此,它為數(shù)據(jù)共享提供統(tǒng)一的數(shù)據(jù)平臺,是進一步進行數(shù)據(jù)挖掘、信息共享的基礎。整個模型的業(yè)務流程是:共享數(shù)據(jù)在發(fā)生變化時被觸發(fā)器記錄在相應的表格中;JAVA定時器定時提取表格中的變化數(shù)據(jù),利用解析工具將其轉換為XML消息;將轉換后的XML消息封裝打包成文本消息,發(fā)送到JMS服務器的主題或隊列中;監(jiān)聽該主題或隊列的服務器接收到文本消息后,則通過解析工具將其解析成XML消息;通過映射文件將得到的XML消息轉換為對應于中央數(shù)據(jù)庫系統(tǒng)數(shù)據(jù)的XML消息;最后再將XML消息通過解析工具還原成中央數(shù)據(jù)庫的數(shù)據(jù),以實現(xiàn)異構數(shù)據(jù)庫的同步刷新和集成共享。
4結束語
隨著“互聯(lián)網(wǎng)+服務”行動的不斷深入,政府及各公共服務部門的管理系統(tǒng)整合需求也越來越大,以最小的代價整合現(xiàn)有的異構系統(tǒng)實現(xiàn)信息共享、資源整合、減少投資浪費勢在必行。本文所提出的以中間件方式實現(xiàn)異構管理系統(tǒng)整合是一個有益的嘗試。
作者:劉好斌 韓宏旺 陳宇斌 單位:南昌航空大學軟件學院 南昌航空大學學工處