數據庫連接池概況與關鍵部分論文
一、數據庫連接池基本概念及工作原理
數據庫連接池作為一種將鏈接作為資源管理的實體,此資源就是數據庫的連接。連接池的基本思想就是預先設立一部分放置于內存中的固定對象以備使用。而建立一個數據庫連接池,就可將鏈接發過去進行查詢,從而來獲取結果。一個鏈接在生命周期內所能處理的查詢數據是沒有限制的,通過采用連接池結束,只需從內存中取得而不用反復的建立。在內存中,連接池可對鏈接進行管理,使其利用率提高。
連接池一般使用過程主要有四個部分:
1、發送連接請求:連接池將按照發送請求的順序進行排序,并一對一的對其配置給他們鏈接的處理對象。連接池最大的優勢在于可以允許多個鏈接同時發送申請,而連接池可以對其進行判斷。
2、對發送進行連接處理:連接池可以對列表中的使用和空閑的部分進行維護,連接池從其中空閑的部分取出鏈接后歸還鏈接之前,放回使用池,使整個連接池利用率最大化。
3、取出鏈接環節:連接池按照上一步的操作將空閑部分的鏈接取出。
4、回收鏈接環節:當請求模塊使用完畢時,將鏈接返回到空閑池。模塊登記鏈接后,鏈接就從使用列表中去除并自動回到列表中等待新的請求。
二、數據庫連接池技術關鍵部分
1、連接池配置:數據庫連接池需要多少數量的鏈接這是關鍵所在,如放少了則整個循環受到影響,多了則浪費內存資源。配置的策略為:首先要根據硬件系統的配及軟件環境的應用請求而定,最先配置出一個連接池的數量及最大配置量的'鏈接數量,從而來判斷合適的連接數。
2、并發控制:在有很多數量的線程對共享資源進行同時訪問,則要考慮到線程之間的同步問題,來確保不會在訪問過程中出現邏輯性錯誤。共享資源則為連接池,而要改變連接池的屬性就要對其進行同步化處理。
3、定時檢測:在連接池自我管理的過程中,通過定時地對每個鏈接對象的狀態和連接的數量來判斷完成的。管理者可以設置連接池的參數來管理連接池中的連接最大使用次數及最大空閑時間,以此來約束連接池。
4、復式連接:此種模式在復用鏈接中較為常見,每個數據庫連接都保留其引用的數量,以此來記錄連接使用者的數量。具體而言,就是采用了使用池和空閑池的技術,空閑池中的鏈接被分配出去之后,就可以采取復用來計算最小的鏈接方法。
三、數據庫訪問的過程
用戶由ServletBeans執行數據庫的訪問,調用連接池類ConnectionPool的addTask方法,addTask執行過程為:
、耪{用ThreadPool線程中的getRequesterID以此來得到任務申請。
、茖嵗樵內蝿誕ueryTask對象。
、钦{用ThreadPool線程池類的addTask將查詢任務對象添加到線程池中。
、日{用ThreadPool線程池類addTAskListener添加任務完成時間監聽,過程結束后返回用戶處。
監聽者通過調用查詢信息類SQLInformation對象的getResult的方法得到查詢數據,保存在DbInterface類中,用戶通過調用DBInterface類的getQueryResult方法得到查詢結果。DbInterface類的用法如下:
、沤㈩悓ο。調用構造函數DBInterface,其中dbCon為連接池對象,log為日志對象,thteadPool為線程池對象。
、茍绦蠸Ql語句。調用DBInterface的方法,DBInterface將自動SQL添加到線程中,執行完SQL線程語句將結果和異常傳遞給DBInterface類。
、钦{用DBInterface的方法getQueryResult和hasNextQueryResult得到查詢結果。
⑷如運行出現異常,通過DBInterface的方法getQueryResult和hasNextQueryResult得到異常情況。
【數據庫連接池概況與關鍵部分論文】相關文章:
關于移動數據庫關鍵技術論文11-27
tomcat 6.0配置oracle數據庫連接池 -電腦資料01-01
ORACLE數據庫的部分試題01-01
基于java多線程WebGIS矢量數據庫連接池的實現07-05
poco c++框架庫應用:數據庫的連接池 -電腦資料01-01
寫好論文的關鍵02-10