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