呂曉東
分布式網絡中數據庫中間件將其與平臺的一些細節進行封裝,使得應用程序開發不必過多的考慮數據庫底層的一些細節,而且對底層配置進行更改時,可不修改應用程序代碼,提高程序編寫效率與質量。因此,加強分布式網絡中數據庫中間件技術的研究具有重要意義。本文對數據庫中間件及數據分布方法進行探討,并以JDBC中間件技術為例進行探討,以供參考。
【關鍵詞】分布式網絡 數據庫 中間件技術 研究
中間件應用于軟件開發中不僅有助于提高軟件的可移植性,而且進一步提高操作系統適應分布式網絡性能。中間件包括事務處理中間件、面向消息中間件、數據庫中間件等多種類型,其中數據庫中間件可從結構不同的數據庫中讀取數據,使得異構平臺的數據庫訪問問題得以順利解決。
1 數據庫中間件
近年來我國軟件產業發展迅速,數據庫中間件技術因此得到廣泛應用。目前來看,數據庫中間件主要包括JDBC、EJB、CORBA等,其中JDBC由Java語言編寫,可實現對不同結構數據庫的訪問。JDBC包括JDBCQ驅動應用程序編程接口、應用程序編程接口兩層,后者對Java中的接口與類進行定義,允許使用小應用程序實現數據庫的連接,而且可實現公用與本地數據庫的同時連接。EJB可實現事務處理、數據存儲、生命周期等業務邏輯,在具有處理事務能力的同時,為程序的進一步擴展與開發提供較大便利。CORBA適合應用在分布式網絡中,支持軟件、硬件間互操作。由于其由標準的接口、語言、協議構成,使用期間可不受平臺限制,使得其具備互操作、易移植、可重用優點。
2 數據分布方法
數據庫中間件可無差別的訪問分布式網絡中的異構數據庫,而這一功能的實現建立在對數據分布式存儲深入了解的基礎上。分析傳統分布方法可知,其包括同步復制技術、分段技術以及單表子系統技術,其中同步復制技術在分布式系統中具有較高應用率,通過互相復制服務器數據,實現系統穩定性的提高。該技術雖然使得查詢速度、系統性能得到明顯提高,但會導致更新速度的變慢,增加時間成本。分段技術在參考分頁大小的基礎上進行查詢,使得數據處理速度以及傳輸數據能力明顯提高。單表子系統技術使得不同子系統可存儲多個單表,但當數據規模比較大時,記錄數增長迅速,降低數據庫運行效率的同時,使得維護數據庫的成本增加。
3 JDBC中間件技術
3.1 JDBC接口技術
JDBC將訪問數據庫接口進行統一,應用者可忽略數據庫底層間的不同而直接用于不同類數據庫的訪問。訪問行為的實現需JDBC驅動程序支撐,不過使用者不用考慮驅動程序的具體實現細節。正是因為JDBC具備上述優點,使得其在數據庫程序開發中應用廣泛。
3.2 JDBC體系結構
JDBC體系主要由Database層、JDBC Driver Manager、應用程序編程接口、Java Application層構成,不同層有著自身的職責,彼此之間相互協作。其中Database層由數據庫系統、數據庫信息構成,在不經驅動程序對請求進行轉化錢,其無法理解應用程序發送的有關數據處理請求。JDBC Driver Manager層負責驅動程序的管理,即,依據不同類型的數據庫,確定對應的驅動程序。在此基礎上應用程序編程接口便可操作數據庫中的數據。Java Application層職責在于響應接口和用戶操作的響應,并實現對JDBC的調用。
3.3 JDBC驅動程序
依據使用方法、特性及訪問方式可將JDBC驅動程序分為四種類型,即,純Java JDBC驅動程序、網絡協議驅動程序、部分Java本地JDBC應用程序接口、JDBC-ODBC橋驅動程序。其中純Java JDBC驅動程序之中存在訪問不同數據路的協議,在這些協議支持下,客戶端可直接連接數據路,完成一些操作。網絡協議驅動程序工作時需要借助其他中間件,實現對數據庫信息的讀取操作。該驅動程序實際工作時,中間件接收數據路訪問請求,轉化成被數據路識別的指令,而后數據庫才會響應相關的查詢操作,并依據原路將結果返回。部分Java本地JDBC應用程序接口由部分Java程序與部分本地代碼構成。實際應用時為能實現對不同數據庫的訪問,需要將對應的代碼庫加載進去,并采用對應的統一資源定位符,給驅動程序命名不同的名稱。當為Oracle數據庫時,其主要代碼為:
Class.forName(“oracle.jdbc.driver.oracleDriver”);
Connection
con=DriverManager.getConnection(“jdbc:oracle.thin:@localhost:1521:Student”,“scott”,“tiger”);
JDBC-ODBC橋驅動程序由ODBC驅動程序、JDBC-ODBC橋組成,借助與ODBC的連接,實現與數據路的連接。
3.4 JDBC連接池
數據庫實際應用過程中會遇到大量訪問的情況,如想提高大量訪問情況下的訪問效率,需要配置連接池,以指向不同類型的數據庫。JDBC連接池對數據庫的基本信息進行了定義,涉及數據超時、連接數量等參數。
連接池由數據庫操作、連接池以及線程池構成,其中數據庫操作的功能為執行不同查詢語句、實現查詢結果的返回,并對查詢發生的異常進行處理。連接池的作用在于管理、建立以及釋放連接。連接池中一般會存儲之前已建立完成的連接,當查詢操作經由線程池調度進行連接時,連接池會提供一個連接,用于完成數據庫的連接。當查詢操作完成后,將連接重新放回連接池即可。線程池的作用在于確保線程資源的合理應用,并統一進行線程調度,用于響應不同查詢請求,并確保線程分配的合理性。
4 總結
分布式網絡中數據庫中間件技術的應用,降低程序開發難度,提高程序開發效率,尤其增強了軟件的可擴展性與可移植性,因此,加強在數據庫中間件方面的研究,對提高軟件開發水平具有重要意義,應引起足夠的重視。
參考文獻
[1]田淼.分布式異構數據庫同步中間件的設計與實現[D].西安電子科技大學,2012.
[2]喬洪宇.分布式數據庫中間件驅動模塊的設計與實現[D].哈爾濱工業大學,2014.
[3]蘇文偉.分布式網絡中數據庫中間件技術探討[J].電子技術與軟件工程,2016,02:196.
作者單位
大慶油田井下作業分公司信息中心數據庫室 黑龍江大慶市 163000