Agent技術在校園一卡通異構數據庫中間件中的應用及研究
文章出處:http://5052h112.com 作者:姚敏 人氣: 發表時間:2011年07月19日
隨著信息網絡的發展,高校的信息化建設也正逐步進入軌道,作為高校數字化校園建設的重要基礎建設一一“校園一卡通”工程,同時也是目前高校多校區發展的需求。本文主要是針對高校一卡通信息平臺,研究各個應用支撐系統之間的數據庫異構問題,并引入Agent技術,應用于這些異構數據庫中間件系統中,實現數據庫間信息共享和轉換。
2 相關技術簡介
2.1 Agent技術
Agent技術是在網絡技術和Internet發展以及決策支持系統(NSS)技術的基礎上發展起來的,具有很強的自主能動性的軟件技術,早在上世紀70年代,人工智能領域就已經提出了Agent的概念。它能通過網絡訪問異構的資源,同時具有自主性和學習性,可以不受用戶監控、指導的情況下由自己的決策機制,按照一定的規程遷移,尋找合適的計算資源、信息資源,處理或使用這些資源,代表用戶完成特定任務。
鑒于Agent在處理問題方面的自治性、社會性、反應性,以及移動性等特點,Agent技術能有效地將分布于不同結點間的異構數據庫集成在一起,并提供有效的數據集成和管理技術來動態支持數據的共享。
2.2中間件技術
中間件是在計算機硬件和操作系統之上,支持應用軟件開發和運行的系統軟件,它能夠使應用軟件相對獨立于計算機硬件和操作系統平臺。因此中間件是一種獨立的系統軟件或服務程序,它的主要作用是用來屏蔽網絡硬件平臺的差異性和操作系統與網絡協議的異構性,使應用軟件能夠比較平滑地運行于不同平臺上。同時中間件在負載平衡、連接管理和調度方面起了很大的作用。使企業級應用的性能得到大幅提升,滿足了關鍵業務的需求。
按照IDC的分類方法,中間件可分為六類,分別是數據訪問中間件、遠程過程調用中間件、消息中間件、交易中間件、對象中間件等。其中數據訪問中間件:是為了建立數據應用資源互操作的模式,對異構環境下的數據庫實現聯接或文件系統實現聯接的中間件。
2.3 XML技術
XML(Extensible Markup Language)是一種可以對信息進行自我描述的語言。它允許定義一套符合自己需要的標記,作為信息傳輸的載體。標記用于界定內容。XML語法允許自行定義任意復雜的標記結構。XML使用普通的文本,而不是二進制的數據格式,因此具有跨平臺的優點。XML的優點主要表現為:規范、簡單、可擴展性、自描述性、簡明性 。
3 基于Agent的異構數據庫中間件應用
校園一卡通是一個全新的理念,作為學校數字化校園的基礎建設,在提升學校信息化建設和核心競爭力中起著舉足輕重的作用。校園一卡通的建設目標是為交叉學科建設提供學術平臺;為改善學生培養環境提供完整的數字化解決方案;提高學校內部管理系統的效率,建成集成的校園信息系統。
本文是利用Agent技術的優點,將其引入校園一卡通異構數據庫中間件系統集成中,其建立的模型如圖1所示。
3.1模型各部分功能
(1)管理Agent:它響應用戶Agent發來的用戶信息和操作請求,承擔著對外來請求進行認證并授權的責任,保證系統運行的安全。具體表現為:
①創建和注銷業務Agent。管理Agent根據用戶和程序對工作流程的定義和描述,在工作流程實例化的過程中,創建相應的業務Agent。這些業務Agent的定義,如任務處理接口等,存放在Agent定義庫中,而它的初始化狀態和一些執行參數則放在Agent狀態庫中。這樣,新創建的活動Agent就在管理Agent中完成了注冊,可以在以后的執行過程中接收管理Agent的調度。
②接收用戶請求并分解任務。接收客戶端發來的服務請求,然后根據具體的服務來查詢規則庫和知識庫, 尋找合適的業務Agent來協助完成任務。處理完成任務后接收業務Agent返回的服務結果, 并將其整合返回給用戶Agent。
③對業務Agent的服務進行管理。管理Agent在收到業務Agent或者其它Agent的服務請求以后,查詢Agent定義庫中關于各個Agent的相關數據,同時根據Agent狀態庫中的各個業務Agent的狀態和運行時的參數,返回句柄或者拒絕,并給出拒絕原因。
(2)元數據:包括各局部數據庫的模式信息、集成系統的全局視圖信息以及異構模式問的轉換規則等。元數據位于管理Agent所在的同一機器上,這樣對于全局數據提取相應的信息,再由管理Agent執行。
(3)業務Agent:根據用戶的不同需求,提供不同的業務處理服務,產生相應的規則,調用不問的算法將用戶需求轉換成不同的形式.相互協作,表現同步。它包括接收箭理Agent發來的請求任務,與各業務Agent合作通訊,傳輸數據訪問Agent返回的服務結果等。具體表現為:①數據傳輸管理:主要負責解釋管理Agent發來的服務請求以及將數據庫訪問Agent返回的服務結果傳輸給管理Agent。通過在流套接宇的基礎上一個傳輸通道來完成。 l 務Agent一股處于監聽狀態, 為了保證數據傳輸的完整性,采用雙重確認的機制。 ② 通信管理:主要負責與其它業務Agent進行通信和協作。作為通信的中間層,屏蔽了通信的一致性和完整性,使整個系統在通信上有較好的擴展性和靈活性。
(4)數據訪問Agent:采用Agent技術構建數據訪問中間件,可以根據用戶端程序的不同要求動態連接數據庫。它對應各子系統的數據庫服務器,接收和解釋來自業務Agent的請求, 檢驗業務Agent的合法性及權限,將服務通過標準接口JDBC傳給數據源執行,取得數據結果后,將其轉換成XML格式傳給業務Agent。具體表現為:
①系統檢測:該模塊主要的功能是實時地監測數據庫系統的運行狀況和資源狀況。同時它還維護著一張靜態的系統任務表,當某個任務觸發條件到來時(如到了某個系統時間),它就會自動地觸發系統任務表中指定的任務請求,更好地實現系統層面上的自動化。
②與數據庫的連接管理:該模塊管理中間件系統與數據庫之間的連接,它的功能實現是真正達到數據庫類型和位置對上層的應用系統透明、均衡數據庫服務器負載根本之所存,使得支持異構數據庫更加方便。這種數據庫連接方案采用在中間件環境中命名數據庫連接的方式定義可用的連接(邏輯連接),每個連接指定了(DBMS,DBName,USER,PASSWORD)。每個連接可由一個線程實現,這些連接組成連接池,這些線程于數據庫訪問服務啟動時啟動,于服務終止時終止。這種方式有助于減少用戶程序對具體環境的依賴性。
③緩沖池管理:為了不同速率設備之間傳輸進行匹配,都會采用緩沖區的方式。采用緩沖池一是由于高性能和高可靠性的要求,二是為了提升速度:在進行數據庫操作時,會有一些經常進行的操作,這些頻繁進行的操作如果能夠被保存下來,就可以節省很多的時間。采用的實現方法是根據連接管理中的一個計數器,執行次數多的才可以進行保留。當客戶的SOL請求到達后,先檢查緩沖區中有沒有結果的緩存,如果有就直接將結果返I魚J,如果沒有再進行相應的處理。
④ 數據處理:將數據庫中的數據集提取出來映射成相應的XML文檔,以便傳輸、共享和整合。
3.2工作流程
各個Agent相互配合,共同協作完成任務,其處理過程如下:
(1)用戶Agent接收請求,首先判斷,是否是已定義的正確接口之一,如果不是,則直接返回用戶錯誤信息;如果是,則執行2。
(2)調用緩沖區管理,查詢是否已經執行過這個請求, 如果是,則執行5; 如果不是,則執行3。
(3)調用連接管理,看足否有可用的物理連接,如果無,則等待;如果有,則執行4。
(4)進行物理的連接,進行數據處理。
(5)得到的結果, 打包處理,將其傳送給用戶Agent。
其流程圖如圖2所示。
4 關鍵模塊實現
由于子系統數據庫的異構,它們的數據庫模型,或者是信息的組織形式各不相同,這樣給數據庫之問的數據交換和信息共享帶來了很多問題。本文采用的是將數據庫中的記錄集提取出來轉換成XML,文件,這樣便于數據的交換和整合以及透明訪問。
下面以查詢學生學籍管理系統為例,說明如何將數據庫中讀取的數據轉換成xML文件。數據庫采用的是SOLServer 2000,學生學籍管理系統表student表1。
5 結束語
本文在高校一卡通中針對校園一卡通中異構數據庫的異構問題,結合Agent的技術應用到異構數據庫中間件中,設計了一種基于Agent的校園一卡通異構數據庫中間件模型,有效地解決學校與銀行以及校內各部門之間所存在的異構數據庫之間的關聯數據查詢和共享。