亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種獲取數(shù)據(jù)庫連接池中連接的方法和數(shù)據(jù)庫連接池的制作方法

文檔序號:6504616閱讀:219來源:國知局
一種獲取數(shù)據(jù)庫連接池中連接的方法和數(shù)據(jù)庫連接池的制作方法
【專利摘要】本發(fā)明公開了一種獲取數(shù)據(jù)庫連接池中連接的方法和數(shù)據(jù)庫連接池。本發(fā)明實施例提供的一種獲取數(shù)據(jù)庫連接池中連接的方法包括:在數(shù)據(jù)庫連接池中設置連接池控制器、空閑連接池和已使用連接池;在初始化過程中,連接池控制器啟用數(shù)據(jù)庫的預定數(shù)量的可用連接,并將該可用連接放入空閑連接池中;當接收到調(diào)用端的連接獲取請求時,連接池控制器判斷空閑連接池中是否存在可用連接;當空閑連接池中存在可用連接時,連接池控制器根據(jù)連接獲取請求從空閑連接池中提取可用連接;連接池控制器將提取到的可用連接放入已使用連接池中,并將該提取到的可用連接發(fā)送至調(diào)用端使用。
【專利說明】一種獲取數(shù)據(jù)庫連接池中連接的方法和數(shù)據(jù)庫連接池

【技術領域】
[0001]本發(fā)明涉及數(shù)據(jù)庫應用【技術領域】,特別涉及一種獲取數(shù)據(jù)庫連接池中連接的方法和數(shù)據(jù)庫連接池。

【背景技術】
[0002]隨著數(shù)據(jù)庫技術的發(fā)展,數(shù)據(jù)庫在許多軟件系統(tǒng)中經(jīng)常用到,成為開發(fā)中大型系統(tǒng)不可缺少的輔助。但如果對數(shù)據(jù)庫資源沒有很好地管理,如沒有及時回收數(shù)據(jù)庫的游標(ResultSet)、狀態(tài)(Statement)和連接(Connect1n)等資源,往往會直接導致系統(tǒng)的不穩(wěn)定,這類不穩(wěn)定因素,隨著流量、用戶的增加,會逐步顯露,給整個系統(tǒng)造成影響。
[0003]針對上述數(shù)據(jù)庫的連接資源的管理問題,現(xiàn)有方案中提出了數(shù)據(jù)庫連接池的思想。然而,現(xiàn)有的數(shù)據(jù)庫連接池至少具有如下缺陷:
[0004]當用戶量較大,出現(xiàn)高并發(fā)的現(xiàn)象時,會導致數(shù)據(jù)庫開關頻率增加,對數(shù)據(jù)庫造成壓力,現(xiàn)有數(shù)據(jù)庫連接池對高并發(fā)問題的處理效果不佳,并且,現(xiàn)有數(shù)據(jù)庫連接池分配和釋放連接的速度較慢,數(shù)據(jù)庫連接池的工作效率較低。


【發(fā)明內(nèi)容】

[0005]本發(fā)明提供了一種獲取數(shù)據(jù)庫連接池中連接的方法和數(shù)據(jù)庫連接池,以解決現(xiàn)有方案中對高并發(fā)問題處理欠佳以及連接池工作效率較低的問題等。
[0006]為達到上述目的,本發(fā)明實施例采用了如下技術方案:
[0007]本發(fā)明一個實施例提供了一種獲取數(shù)據(jù)庫連接池中連接的方法,在數(shù)據(jù)庫連接池中設置連接池控制器、空閑連接池和已使用連接池,該方法包括:
[0008]在初始化過程中,連接池控制器啟用數(shù)據(jù)庫的預定數(shù)量的可用連接,并將該可用連接放入空閑連接池中;
[0009]當接收到調(diào)用端的連接獲取請求時,連接池控制器判斷空閑連接池中是否存在可用連接;
[0010]當空閑連接池中存在可用連接時,連接池控制器根據(jù)連接獲取請求從空閑連接池中提取可用連接;
[0011]連接池控制器將提取到的可用連接放入已使用連接池中,并將該提取到的可用連接發(fā)送至調(diào)用端使用;
[0012]其中,放入空閑連接池中連接的狀態(tài)設置為空閑,放入已使用連接池中連接的狀態(tài)設置為已使用。
[0013]本發(fā)明又一個實施例提供了一種數(shù)據(jù)庫連接池,該數(shù)據(jù)庫連接池包括連接池控制器、空閑連接池和已使用連接池,
[0014]空閑連接池,用于放置數(shù)據(jù)庫的可用連接,并將放入空閑連接池中連接的狀態(tài)設置為空閑;
[0015]已使用連接池,用于放置數(shù)據(jù)庫的已使用連接,并將放入已使用連接池中連接的狀態(tài)設置為已使用;
[0016]連接池控制器,用于在初始化過程中,啟用數(shù)據(jù)庫的預定數(shù)量的可用連接,并將該可用連接放入空閑連接池中;當接收到調(diào)用端的連接獲取請求時,判斷空閑連接池中是否存在可用連接;當空閑連接池中存在可用連接時,根據(jù)連接獲取請求從空閑連接池中提取可用連接;將提取到的可用連接放入已使用連接池中,并將該提取到的可用連接發(fā)送至調(diào)用端使用。
[0017]由上所述,本發(fā)明實施例提供了一種新型的數(shù)據(jù)庫連接池,通過控制該數(shù)據(jù)庫連接池初始化時啟用的可用連接的數(shù)量,以及,當判斷空閑連接池中存在可用連接時再為調(diào)用端分配連接的技術手段,控制了數(shù)據(jù)庫所處理的連接的最大數(shù)量,解決了出現(xiàn)高并發(fā)時導致數(shù)據(jù)庫頻繁開關、壓力較大的問題,提高了數(shù)據(jù)庫連接池應對高并發(fā)情況的性能。
[0018]并且,本發(fā)明實施例通過設置空閑連接池和已使用連接池,極大便利了可用連接的提取和回收操作,加快了連接分配與釋放的速度,從而提高了數(shù)據(jù)庫連接池的工作效率。

【專利附圖】

【附圖說明】
[0019]圖1為本發(fā)明一個實施例提供的一種數(shù)據(jù)庫連接池的結構示意圖;
[0020]圖2為本發(fā)明又一個實施例提供的一種獲取數(shù)據(jù)庫連接池中連接的方法流程圖。

【具體實施方式】
[0021]為使本發(fā)明的目的、技術方案和優(yōu)點更加清楚,下面將結合附圖對本發(fā)明實施方式作進一步地詳細描述。
[0022]本方案提供了一套可復用的、在大并發(fā)情況下可迅速準確的提供給調(diào)用端有效、安全的數(shù)據(jù)庫連接的數(shù)據(jù)庫連接池方案。
[0023]本發(fā)明一個實施例提供了一種新型的數(shù)據(jù)庫連接池100。該數(shù)據(jù)庫連接池100包括連接池控制器113、空閑連接池111 (可表示為freeConnect1n)和已使用連接池112 (可表示為inUseConnect1n)。下面對這些器件進行具體說明。
[0024]空閑連接池111用于放置數(shù)據(jù)庫的可用連接,并將放入空閑連接池中連接的狀態(tài)設置為空閑;已使用連接池112用于放置數(shù)據(jù)庫的已使用連接,并將放入已使用連接池中連接的狀態(tài)設置為已使用。采用空閑連接池111和已使用連接池112可以對放入其中的連接的狀態(tài)進行控制和記錄。
[0025]數(shù)據(jù)庫連接池對連接的分配與釋放,對系統(tǒng)的性能有很大的影響。合理的分配與釋放,可以提高連接的復用度,從而降低建立新連接的開銷,同時還可以加快用戶的訪問速度。為實現(xiàn)這一目的,本實施例對連接的管理使用兩個池子,即空閑連接池111和已使用連接池112,一個存放未被使用的連接,一個存放使用中的連接,即本實施例采用對空閑連接和已使用連接分成兩部分分別進行處理的方式,從而便于連接的提取和回收。
[0026]進一步的,本實施例還時時監(jiān)控池中的連接是否正常,及時對連接進行回收,以及保證連接的有效性,以降低并發(fā)問題帶來的影響。每個池子分別有一個線程監(jiān)控,根據(jù)實際需求可以同時對空閑連接池111和已使用連接池112進行監(jiān)控,也可以僅對其中的一個池子進行監(jiān)控。如,連接池控制器113利用第一線程采用同步(synchixmized)方式對已使用連接池中的連接進行監(jiān)測;當監(jiān)測到調(diào)用端使用連接的時間超過為該調(diào)用端設置的連接有效時間時,將該連接從調(diào)用端收回,放入空閑連接池中,這種監(jiān)控處理,當存放在已使用連接池112的連接超過配置的超時時間(連接有效時間)時,自動釋放連接返回空閑連接池111。例如,當為調(diào)用端I設置的連接有效時間為1s時,若調(diào)用端I對已使用連接池112中某一連接的使用時間超過了 10s,則即使調(diào)用端I沒有使用完畢該連接,也要將該連接回收至空閑連接池111中。
[0027]連接池控制器113還用于利用第二線程采用同步方式對空閑連接池中的連接進行監(jiān)測;當監(jiān)測到連接不可用時,關閉該不可用的連接并啟用新的可用連接,將該新啟用的可用連接放入空閑連接池中。這種監(jiān)控處理,如果由于發(fā)生物理破壞或其他情況導致空閑連接池111中的連接不可用時,則關閉連接并重新創(chuàng)建連接。
[0028]上述監(jiān)控方式采用了同步方式,表示第一線程和/或第二線程處于一種鎖住狀態(tài),當?shù)谝痪€程和/或第二線程使用Java平臺中的資源時不允許其他線程使用該資源,其他線程處于等待狀態(tài)。
[0029]連接池控制器113可以對數(shù)據(jù)庫連接池進行配置和維護,例如,配置的參數(shù)可以包括連接池初始化大小(初始化時啟用的可用連接的數(shù)量)、連接池中允許放置的連接的數(shù)量,上述的連接有效時間、連接獲取請求的等待時間閾值以及數(shù)據(jù)庫連接的信息等等,這些配置的參數(shù)可以設置在配置文件中,配置參數(shù)的具體數(shù)值可以根據(jù)服務需求進行修改,實現(xiàn)對數(shù)據(jù)庫連接池的靈活控制。例如,連接池初始化大小和連接池中允許放置的連接的數(shù)量可以根據(jù)數(shù)據(jù)庫連接池的內(nèi)存容量和數(shù)據(jù)庫自身支持的連接數(shù)量的上限數(shù)值來設置。當數(shù)據(jù)庫連接池的內(nèi)存容量較大和/或數(shù)據(jù)庫自身支持的連接數(shù)量的上限數(shù)值較大時,連接池初始化大小和連接池中允許放置的連接的數(shù)量可以選取較大的數(shù)值;當數(shù)據(jù)庫連接池的內(nèi)存容量較小和/或數(shù)據(jù)庫自身支持的連接數(shù)量的上限數(shù)值較小時,連接池初始化大小和連接池中允許放置的連接的數(shù)量需要選取較小的數(shù)值。
[0030]進一步的,本實施例除了利用空閑連接池111和已使用連接池112對放入其中的連接的狀態(tài)進行控制之外,還利用空閑連接池111和已使用連接池112來控制對調(diào)用端開放的連接的數(shù)量,以控制并發(fā)問題對系統(tǒng)造成的影響。例如,當需要向空閑連接池中放入新連接時,連接池控制器113判斷新連接放入后空閑連接池中連接的總數(shù)量是否大于第一數(shù)量閾值,若是,禁止該新連接放入空閑連接池中,若否,允許該新連接放入空閑連接池中;當需要向已使用連接池中放入新連接時,連接池控制器113判斷新連接放入后已使用連接池中連接的總數(shù)量是否大于第二數(shù)量閾值,若是,禁止該新連接放入已使用連接池中,若否,允許該新連接放入已使用連接池中。
[0031]由上,本實施例通過初始化時啟用的連接的數(shù)量,空閑連接池和已使用連接池允許的連接的數(shù)量閾值,以及連接的分配和釋放邏輯等,限制了連接池容納的最大連接數(shù)來防止系統(tǒng)無盡地與數(shù)據(jù)庫連接,更為重要的是可以通過連接池的管理機制監(jiān)視數(shù)據(jù)庫的連接的數(shù)量以及使用情況,從而為系統(tǒng)開發(fā)、測試及性能調(diào)整提供參考依據(jù)。
[0032]本實施例自行提供的新的數(shù)據(jù)庫連接池,配置簡單,方便配置,且代碼具有可控性,易于排查和解決問題。
[0033]下面以一次分配連接的場景為例說明本實施例的技術方案,主要包括如下操作:
[0034]I)、在數(shù)據(jù)庫連接池的初始化過程中,連接池控制器113啟用數(shù)據(jù)庫的預定數(shù)量(如50個)的可用連接,并將該可用連接放入所設置的空閑連接池111中。
[0035]2)、當調(diào)用端需要創(chuàng)建數(shù)據(jù)庫的連接時,連接池控制器113接收到調(diào)用端的連接獲取請求(request)。
[0036]進一步的,對于調(diào)用端的數(shù)量過大,出現(xiàn)高并發(fā)的問題時,本實施例還利用連接池控制器113將接收到的多個連接獲取請求依次加入等待隊列中;對等待隊列中的每個連接獲取請求,判斷該連接獲取請求的等待時間是否超過預設的等待時間閾值,若未超過等待時間閾值,則根據(jù)所述連接獲取請求從空閑連接池中提取可用連接,若超過等待時間閾值,不再對該連接獲取請求進行響應。通過利用等待隊列和等待時間閾值對連接獲取請求進行控制,以進一步降低并發(fā)現(xiàn)象對系統(tǒng)的影響。
[0037]3)、連接池控制器113判斷空閑連接池111中是否存在可用連接。
[0038]連接池控制器113需要確認空閑連接池111中是否存在有效的空閑連接。
[0039]4)、當空閑連接池111中存在可用連接時,連接池控制器113根據(jù)連接獲取請求從空閑連接池中提取可用連接。
[0040]在此,當空閑連接池111中不存在可用連接時,連接池控制器113啟動新的可用連接,將該新的可用連接放入空閑連接池111中。需要說明的是,在啟動上述新的可用連接時,連接池控制器113需要判斷將該新的可用連接加入空閑連接池111后,空閑連接池111中容納的連接的總數(shù)量不會超過配置文件中指示的空閑連接池中允許放置的連接的數(shù)量(如第一數(shù)量閾值)。
[0041]在執(zhí)行獲取操作時,連接池控制器113根據(jù)連接獲取請求,利用所設置的JAR文件包中的getConnect1n(連接獲取)方法從空閑連接池中獲得CinConnect1n對象(連接類對象),由該連接類對象得到提取的可用連接,該獲取到的CinConnect1n對象即為從空閑連接池111中提取到的可用連接。
[0042]5)、將提取到的可用連接放入所設置的已使用連接池112中,并將該提取到的可用連接發(fā)送至調(diào)用端使用。
[0043]當發(fā)送至調(diào)用端的連接使用完畢后,連接池控制器113將該連接回收放入空閑連接池111中,空閑連接池111會將回收到的連接的狀態(tài)設置為空閑??梢岳斫?,在進行連接的回收時,也需要滿足空閑連接池111中容納的連接的總數(shù)量不會超過配置文件中指示的空閑連接池中允許放置的連接的數(shù)量的條件。
[0044]本發(fā)明又一個實施例提供了一種獲取數(shù)據(jù)庫連接池中連接的方法,在該數(shù)據(jù)庫連接池中設置有連接池控制器、空閑連接池和已使用連接池,參見圖2,該方法包括:
[0045]S200:在初始化過程中,連接池控制器啟用數(shù)據(jù)庫的預定數(shù)量的可用連接,并將該可用連接放入空閑連接池中;
[0046]S202:當接收到調(diào)用端的連接獲取請求時,連接池控制器判斷空閑連接池中是否存在可用連接;
[0047]S204:當空閑連接池中存在可用連接時,連接池控制器根據(jù)所述連接獲取請求從空閑連接池中提取可用連接。
[0048]進一步的,本實施例中當判斷出空閑連接池中不存在可用連接時,在上述根據(jù)所述連接獲取請求從空閑連接池中提取可用連接之前,上述方法還包括:連接池控制器啟動新的可用連接,將該新的可用連接放入空閑連接池中。
[0049]需要說明的是,在啟動上述新的可用連接時,需要判斷將該新的可用連接加入空閑連接池后,空閑連接池中容納的連接的總數(shù)量不會超過配置文件中指示的空閑連接池中允許放置的連接的數(shù)量(如第一數(shù)量閾值)。
[0050]S206:連接池控制器將提取到的可用連接放入已使用連接池中,并將該提取到的可用連接發(fā)送至調(diào)用端使用;
[0051]其中,放入所述空閑連接池中連接的狀態(tài)設置為空閑,放入所述已使用連接池中連接的狀態(tài)設置為已使用。
[0052]在圖2所示實施例的基礎上,上述方法還包括:當需要向空閑連接池中放入新連接時,連接池控制器判斷新連接放入后空閑連接池中連接的總數(shù)量是否大于第一數(shù)量閾值,若是,禁止該新連接放入空閑連接池中,若否,允許該新連接放入空閑連接池中;當需要向已使用連接池中放入新連接時,連接池控制器判斷新連接放入后已使用連接池中連接的總數(shù)量是否大于第二數(shù)量閾值,若是,禁止該新連接放入已使用連接池中,若否,允許該新連接放入已使用連接池中。
[0053]其中,在步驟S206之后,上述方法還包括:當發(fā)送至調(diào)用端的連接使用完畢后,連接池控制器將該連接回收放入空閑連接池中。
[0054]其中,步驟S204中根據(jù)所述連接獲取請求從空閑連接池中提取可用連接包括:
[0055]連接池控制器將接收到的多個連接獲取請求依次加入等待隊列中;對該等待隊列中的每個連接獲取請求,判斷該連接獲取請求的等待時間是否超過預設的等待時間閾值,若未超過等待時間閾值,則根據(jù)所述連接獲取請求從空閑連接池中提取可用連接,若超過等待時間閾值,不再對該連接獲取請求進行響應。具體的,該處理可以包括:根據(jù)所述連接獲取請求,利用所設置的JAR文件包中的getConnect1n (連接獲取)方法從空閑連接池中獲得CinConnect1n對象(連接類對象),由該連接類對象得到提取的可用連接。
[0056]上述初始化時啟用的可用連接的預定數(shù)量、第一數(shù)量閾值、第二數(shù)量閾值、等待時間閾值等參數(shù),可以從維護的配置文件中獲取得到,這些參數(shù)的具體數(shù)值可以根據(jù)實際場景(如數(shù)據(jù)庫所支持的連接的最大數(shù)量、數(shù)據(jù)庫連接池的內(nèi)存容量等)進行調(diào)整。
[0057]其中,本實施例還提供了一種監(jiān)控管理機制,上述方法還包括:
[0058]連接池控制器利用第一線程采用同步方式對已使用連接池中的連接進行監(jiān)測;當監(jiān)測到調(diào)用端使用連接的時間超過為該調(diào)用端設置的連接有效時間時,將該連接從調(diào)用端收回,放入空閑連接池中;和/或
[0059]連接池控制器利用第二線程采用同步方式對空閑連接池中的連接進行監(jiān)測;當監(jiān)測到連接不可用時,關閉該不可用的連接并啟用新的可用連接,將該新啟用的可用連接放入空閑連接池中。
[0060]本方法實施例中各步驟的具體執(zhí)行方式可以參見本發(fā)明的裝置實施例,在此不再贅述。
[0061]本發(fā)明實施例針對高并發(fā)現(xiàn)象、連接池的分配與釋放、連接池的配置與維護等問題,提供了一種新型的數(shù)據(jù)庫連接池,實現(xiàn)了數(shù)據(jù)庫獲取連接的高效性,并有嚴格的監(jiān)控機制,可保障數(shù)據(jù)庫的重復使用和準確性,減少了對數(shù)據(jù)庫的壓力;并且配置方便,對數(shù)據(jù)庫開發(fā)人員有很大幫助。較現(xiàn)有方案在量級達到在百萬級數(shù)據(jù)時處理速度有明顯提高。
[0062]由上所述,本發(fā)明實施例通過控制數(shù)據(jù)庫連接池初始化時啟用的可用連接的數(shù)量,以及,當判斷空閑連接池中存在可用連接時再為調(diào)用端分配連接的技術手段,控制了數(shù)據(jù)庫所處理的連接的最大數(shù)量,解決了出現(xiàn)高并發(fā)時導致數(shù)據(jù)庫頻繁開關、壓力較大的問題,提高了數(shù)據(jù)庫連接池應對高并發(fā)情況的性能。
[0063]并且,本發(fā)明實施例通過設置空閑連接池和已使用連接池,極大便利了可用連接的提取和回收操作,加快了連接分配與釋放的速度,從而提高了數(shù)據(jù)庫連接池的工作效率。
[0064]為了便于清楚描述本發(fā)明實施例的技術方案,在發(fā)明的實施例中,采用了“第一”、“第二”等字樣對功能和作用基本相同的相同項或相似項進行區(qū)分,本領域技術人員可以理解“第一”、“第二”等字樣并不對數(shù)量和執(zhí)行次序進行限定。
[0065]以上所述僅為本發(fā)明的較佳實施例而已,并非用于限定本發(fā)明的保護范圍。凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換、改進等,均包含在本發(fā)明的保護范圍內(nèi)。
【權利要求】
1.一種獲取數(shù)據(jù)庫連接池中連接的方法,其特征在于,在所述數(shù)據(jù)庫連接池中設置連接池控制器、空閑連接池和已使用連接池,所述方法包括: 在初始化過程中,所述連接池控制器啟用數(shù)據(jù)庫的預定數(shù)量的可用連接,并將該可用連接放入所述空閑連接池中; 當接收到調(diào)用端的連接獲取請求時,所述連接池控制器判斷所述空閑連接池中是否存在可用連接; 當所述空閑連接池中存在可用連接時,所述連接池控制器根據(jù)所述連接獲取請求從所述空閑連接池中提取可用連接; 所述連接池控制器將所述提取到的可用連接放入所述已使用連接池中,并將該提取到的可用連接發(fā)送至調(diào)用端使用; 其中,放入所述空閑連接池中連接的狀態(tài)設置為空閑,放入所述已使用連接池中連接的狀態(tài)設置為已使用。
2.根據(jù)權利要求1所述的方法,其特征在于,所述方法還包括: 當需要向所述空閑連接池中放入新連接時,所述連接池控制器判斷該新連接放入后所述空閑連接池中連接的總數(shù)量是否大于第一數(shù)量閾值,若是,禁止該新連接放入所述空閑連接池中,若否,允許該新連接放入所述空閑連接池中; 當需要向所述已使用連接池中放入新連接時,所述連接池控制器判斷該新連接放入后所述已使用連接池中連接的總數(shù)量是否大于第二數(shù)量閾值,若是,禁止該新連接放入所述已使用連接池中,若否,允許該新連接放入所述已使用連接池中。
3.根據(jù)權利要求1所述的方法,其特征在于,所述方法還包括: 當發(fā)送至調(diào)用端的連接使用完畢后,所述連接池控制器將該連接回收放入所述空閑連接池中。
4.根據(jù)權利要求1所述的方法,其特征在于,所述連接池控制器根據(jù)所述連接獲取請求從所述空閑連接池中提取可用連接包括: 所述連接池控制器將接收到的多個所述連接獲取請求依次加入等待隊列中; 所述連接池控制器對該等待隊列中的每個連接獲取請求,判斷該連接獲取請求的等待時間是否超過預設的等待時間閾值,若未超過等待時間閾值,則根據(jù)所述連接獲取請求從所述空閑連接池中提取可用連接,若超過等待時間閾值,不再對該連接獲取請求進行響應。
5.根據(jù)權利要求1所述的方法,其特征在于,所述方法還包括: 所述連接池控制器利用第一線程采用同步方式對所述已使用連接池中的連接進行監(jiān)測; 當監(jiān)測到調(diào)用端使用連接的時間超過為該調(diào)用端設置的連接有效時間時,所述連接池控制器將該連接從調(diào)用端收回,放入所述空閑連接池中。
6.根據(jù)權利要求1或5所述的方法,其特征在于,所述方法還包括: 所述連接池控制器利用第二線程采用同步方式對所述空閑連接池中的連接進行監(jiān)測; 當監(jiān)測到連接不可用時,所述連接池控制器關閉該不可用的連接并啟用新的可用連接,將該新啟用的可用連接放入所述空閑連接池中。
7.根據(jù)權利要求1所述的方法,其特征在于,所述連接池控制器根據(jù)所述連接獲取請求從所述空閑連接池中提取該可用連接包括: 所述連接池控制器根據(jù)所述連接獲取請求,利用所設置的JAR文件包中的連接獲取方法從所述空閑連接池中獲得連接類對象,由該連接類對象得到提取的可用連接。
8.根據(jù)權利要求1所述的方法,其特征在于,在所述連接池控制器根據(jù)所述連接獲取請求從所述空閑連接池中提取可用連接之前,所述方法還包括: 當判斷出所述空閑連接池中不存在可用連接時,所述連接池控制器啟動新的可用連接,將該新的可用連接放入所述空閑連接池中。
9.一種數(shù)據(jù)庫連接池,其特征在于,所述數(shù)據(jù)庫連接池包括連接池控制器、空閑連接池和已使用連接池, 所述空閑連接池,用于放置數(shù)據(jù)庫的可用連接,并將放入所述空閑連接池中連接的狀態(tài)設置為空閑; 所述已使用連接池,用于放置數(shù)據(jù)庫的已使用連接,并將放入所述已使用連接池中連接的狀態(tài)設置為已使用; 所述連接池控制器,用于在初始化過程中,啟用數(shù)據(jù)庫的預定數(shù)量的可用連接,并將該可用連接放入所述空閑連接池中;當接收到調(diào)用端的連接獲取請求時,判斷所述空閑連接池中是否存在可用連接;當所述空閑連接池中存在可用連接時,根據(jù)所述連接獲取請求從所述空閑連接池中提取可用連接;將提取到的可用連接放入所述已使用連接池中,并將該提取到的可用連接發(fā)送至調(diào)用端使用。
10.根據(jù)權利要求9所述的數(shù)據(jù)庫連接池,其特征在于,所述連接池控制器,還用于當需要向所述空閑連接池中放入新連接時,判斷新連接放入后所述空閑連接池中連接的總數(shù)量是否大于第一數(shù)量閾值,若是,禁止該新連接放入所述空閑連接池中,若否,允許該新連接放入所述空閑連接池中;當需要向所述已使用連接池中放入新連接時,判斷新連接放入后所述已使用連接池中連接的總數(shù)量是否大于第二數(shù)量閾值,若是,禁止該新連接放入所述已使用連接池中,若否,允許該新連接放入所述已使用連接池中;和/或, 所述連接池控制器,還用于利用第一線程采用同步方式對所述已使用連接池中的連接進行監(jiān)測;當監(jiān)測到調(diào)用端使用連接的時間超過為該調(diào)用端設置的連接有效時間時,將該連接從調(diào)用端收回,放入所述空閑連接池中; 和/或, 所述連接池控制器,還用于利用第二線程采用同步方式對所述空閑連接池中的連接進行監(jiān)測;當監(jiān)測到連接不可用時,關閉該不可用的連接并啟用新的可用連接,將該新啟用的可用連接放入所述空閑連接池中。
【文檔編號】G06F17/30GK104239365SQ201310252758
【公開日】2014年12月24日 申請日期:2013年6月24日 優(yōu)先權日:2013年6月24日
【發(fā)明者】喬巍冉 申請人:北京新媒傳信科技有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1