午夜毛片免费看,老师老少妇黄色网站,久久本道综合久久伊人,伊人黄片子

用于數(shù)據(jù)庫連接池的資源分配方法和裝置的制造方法

文檔序號:9708319閱讀:538來源:國知局
用于數(shù)據(jù)庫連接池的資源分配方法和裝置的制造方法
【技術領域】
[0001] 本申請涉及數(shù)據(jù)庫領域,具體而言,涉及一種用于數(shù)據(jù)庫連接池的資源分配方法 和裝置。
【背景技術】
[0002] 在分布式環(huán)境下,應用系統(tǒng)需要對外提供多種服務,這些服務大多需要訪問數(shù)據(jù) 庫。在相關技術中,為了使應用系統(tǒng)能夠快速訪問數(shù)據(jù)庫中的數(shù)據(jù),通常采用數(shù)據(jù)庫連接池 機制來實現(xiàn)應用系統(tǒng)和數(shù)據(jù)庫之間的連接:當應用系統(tǒng)需要與數(shù)據(jù)庫通信時,需要先檢查 數(shù)據(jù)庫連接池中是否有可用的數(shù)據(jù)庫連接(即,空閑數(shù)據(jù)庫連接);如果該數(shù)據(jù)庫連接池中 有可用的數(shù)據(jù)庫連接,則直接使用可用的數(shù)據(jù)庫連接來實現(xiàn)上述通信;如果該數(shù)據(jù)庫連接 池中沒有可用的數(shù)據(jù)庫連接,則需要實時創(chuàng)建新的數(shù)據(jù)庫連接,并使用新創(chuàng)建的數(shù)據(jù)庫連 接來實現(xiàn)上述通信。
[0003] 雖然上述數(shù)據(jù)庫連接池機制避免了建立大量數(shù)據(jù)庫連接所花費的時間代價,提升 了應用系統(tǒng)的性能,但是該機制缺乏對sql (Structured Query Language,結構化查詢語 言)運行狀況的監(jiān)控管理。這樣,每當應用系統(tǒng)需要訪問數(shù)據(jù)庫時,數(shù)據(jù)庫都會直接給予 連接,導致某些由于運維故障或者數(shù)據(jù)不斷積累等原因而運行越來越慢的sql在獲得連接 后,難以釋放連接,從進而導致數(shù)據(jù)庫連接池中的資源耗盡,使得其他需要訪問數(shù)據(jù)庫的應 用系統(tǒng)無法正常對外提供服務。
[0004] 針對相關技術中數(shù)據(jù)庫連接池機制在執(zhí)行數(shù)據(jù)庫連接分配時,容易導致數(shù)據(jù)庫連 接池中的資源耗盡的問題,目前尚未提出有效的解決方案。
[0005] 申請內(nèi)容
[0006] 本申請的主要目的在于提供一種用于數(shù)據(jù)庫連接池的資源分配方法和裝置,以解 決相關技術中數(shù)據(jù)庫連接池機制在執(zhí)行數(shù)據(jù)庫連接分配時,容易導致數(shù)據(jù)庫連接池中的資 源耗盡的問題。
[0007] 為了實現(xiàn)上述目的,根據(jù)本申請的一個方面,提供了一種用于數(shù)據(jù)庫連接池的資 源分配方法,該方法包括:接收客戶端發(fā)送的數(shù)據(jù)庫訪問請求;以及根據(jù)所述數(shù)據(jù)庫訪問 請求的歷史執(zhí)行結果判斷是否允許將數(shù)據(jù)庫連接池中空閑的數(shù)據(jù)庫連接分配給所述客戶 端。
[0008] 進一步地,根據(jù)所述數(shù)據(jù)庫訪問請求的歷史執(zhí)行結果判斷是否允許將數(shù)據(jù)庫連接 池中空閑的數(shù)據(jù)庫連接分配給所述客戶端包括:從所述歷史執(zhí)行結果中獲取已執(zhí)行的所述 數(shù)據(jù)庫訪問請求的執(zhí)行結果屬性;以及根據(jù)所述執(zhí)行結果屬性判斷是否允許將數(shù)據(jù)庫連接 池中空閑的數(shù)據(jù)庫連接分配給所述客戶端。
[0009] 進一步地,所述執(zhí)行結果屬性包括:執(zhí)行時間,根據(jù)所述執(zhí)行結果屬性判斷是否允 許將數(shù)據(jù)庫連接池中空閑的數(shù)據(jù)庫連接分配給所述客戶端包括:從已執(zhí)行的所述數(shù)據(jù)庫訪 問請求中獲取執(zhí)行時間超過第一預定時間閾值的數(shù)據(jù)庫訪問請求的第一個數(shù);以及若所述 第一個數(shù)小于第一數(shù)量閾值,則判斷出允許將所述數(shù)據(jù)庫連接池中空閑的數(shù)據(jù)庫連接分配 給所述客戶端。
[0010] 進一步地,所述執(zhí)行結果屬性包括:出錯率,根據(jù)所述執(zhí)行結果屬性判斷是否允許 將數(shù)據(jù)庫連接池中空閑的數(shù)據(jù)庫連接分配給所述客戶端包括:從已執(zhí)行的所述數(shù)據(jù)庫訪問 請求中獲取出現(xiàn)執(zhí)行錯誤的數(shù)據(jù)庫訪問請求的第一比例;以及若所述第一比例小于第一比 例閾值,則判斷出允許將所述數(shù)據(jù)庫連接池中空閑的數(shù)據(jù)庫連接分配給所述客戶端。
[0011] 進一步地,所述執(zhí)行結果屬性包括:執(zhí)行時間和出錯率,根據(jù)所述執(zhí)行結果屬性判 斷是否允許將數(shù)據(jù)庫連接池中空閑的數(shù)據(jù)庫連接分配給所述客戶端包括:從已執(zhí)行的所述 數(shù)據(jù)庫訪問請求中獲取執(zhí)行時間超過第一預定時間閾值的數(shù)據(jù)庫訪問請求的第一個數(shù)、且 從已執(zhí)行的所述數(shù)據(jù)庫訪問請求中獲取出現(xiàn)執(zhí)行錯誤的數(shù)據(jù)庫訪問請求的第一比例;以及 若所述第一個數(shù)小于第一數(shù)量閾值、且所述第一比例小于第一比例閾值,則判斷出允許將 所述數(shù)據(jù)庫連接池中空閑的數(shù)據(jù)庫連接分配給所述客戶端。
[0012] 進一步地,在判斷出允許將所述數(shù)據(jù)庫連接池中空閑的數(shù)據(jù)庫連接分配給所述客 戶端之后,所述資源分配方法還包括:創(chuàng)建數(shù)據(jù)庫訪問請求白名單;以及將允許將所述數(shù) 據(jù)庫連接池中空閑的數(shù)據(jù)庫連接分配給所述客戶端的數(shù)據(jù)庫訪問請求存儲至所述數(shù)據(jù)庫 訪問請求白名單中。
[0013] 進一步地,所述執(zhí)行結果屬性包括:執(zhí)行時間,根據(jù)所述執(zhí)行結果屬性判斷是否允 許將數(shù)據(jù)庫連接池中空閑的數(shù)據(jù)庫連接分配給所述客戶端包括:從已執(zhí)行的所述數(shù)據(jù)庫訪 問請求中獲取執(zhí)行時間超過第二預定時間閾值的數(shù)據(jù)庫訪問請求的第二個數(shù);判斷已執(zhí)行 的所述數(shù)據(jù)庫訪問請求中由所述客戶端發(fā)送的所述數(shù)據(jù)庫訪問請求的執(zhí)行結果是否滿足 預定條件;以及若所述第二個數(shù)小于第二數(shù)量閾值、且所述執(zhí)行結果滿足所述預定條件,則 判斷出允許將所述數(shù)據(jù)庫連接池中空閑的數(shù)據(jù)庫連接分配給所述客戶端。
[0014] 進一步地,判斷已執(zhí)行的所述數(shù)據(jù)庫訪問請求中由所述客戶端發(fā)送的所述數(shù)據(jù)庫 訪問請求的執(zhí)行結果是否滿足預定條件包括:從已執(zhí)行的所述數(shù)據(jù)庫訪問請求中由所述客 戶端發(fā)送的所述數(shù)據(jù)庫訪問請求中獲取執(zhí)行時間超過第三預定時間閾值的數(shù)據(jù)庫訪問請 求的第三個數(shù);若所述第三個數(shù)小于第三數(shù)量閾值,則判斷出所述已執(zhí)行的所述數(shù)據(jù)庫訪 問請求中由所述客戶端發(fā)送的所述數(shù)據(jù)庫訪問請求的執(zhí)行結果滿足所述預定條件。
[0015] 進一步地,所述執(zhí)行結果屬性包括:出錯率,根據(jù)所述執(zhí)行結果屬性判斷是否允許 將數(shù)據(jù)庫連接池中空閑的數(shù)據(jù)庫連接分配給所述客戶端包括:從已執(zhí)行的所述數(shù)據(jù)庫訪問 請求中獲取出現(xiàn)執(zhí)行錯誤的數(shù)據(jù)庫訪問請求的第二比例;判斷已執(zhí)行的所述數(shù)據(jù)庫訪問請 求中由所述客戶端發(fā)送的所述數(shù)據(jù)庫訪問請求的執(zhí)行結果是否滿足預定條件;以及若所述 第二比例小于第二比例閾值、且所述執(zhí)行結果滿足所述預定條件,則判斷出允許將所述數(shù) 據(jù)庫連接池中空閑的數(shù)據(jù)庫連接分配給所述客戶端。
[0016] 進一步地,判斷已執(zhí)行的所述數(shù)據(jù)庫訪問請求中由所述客戶端發(fā)送的所述數(shù)據(jù)庫 訪問請求的執(zhí)行結果是否滿足預定條件包括:從已執(zhí)行的所述數(shù)據(jù)庫訪問請求中由所述客 戶端發(fā)送的所述數(shù)據(jù)庫訪問請求中獲取出現(xiàn)執(zhí)行錯誤的數(shù)據(jù)庫訪問請求的第三比例;以及 若所述第三比例小于第三比例閾值,則判斷出所述已執(zhí)行的所述數(shù)據(jù)庫訪問請求中由所述 客戶端發(fā)送的所述數(shù)據(jù)庫訪問請求的執(zhí)行結果滿足所述預定條件。
[0017] 進一步地,所述執(zhí)行結果屬性包括:執(zhí)行時間和出錯率,根據(jù)所述執(zhí)行結果屬性判 斷是否允許將數(shù)據(jù)庫連接池中空閑的數(shù)據(jù)庫連接分配給所述客戶端包括:從已執(zhí)行的所述 數(shù)據(jù)庫訪問請求中獲取執(zhí)行時間超過第二預定時間閾值的數(shù)據(jù)庫訪問請求的第二個數(shù);從 已執(zhí)行的所述數(shù)據(jù)庫訪問請求中獲取出現(xiàn)執(zhí)行錯誤的數(shù)據(jù)庫訪問請求的第二比例;判斷已 執(zhí)行的所述數(shù)據(jù)庫訪問請求中由所述客戶端發(fā)送的所述數(shù)據(jù)庫訪問請求的執(zhí)行結果是否 滿足預定條件;以及若所述第二個數(shù)小于第二數(shù)量閾值、且所述比例小于第二比例閾值以 及所述執(zhí)行結果滿足所述預定條件,則判斷出允許將數(shù)據(jù)庫連接池中空閑的數(shù)據(jù)庫連接分 配給所述客戶端。
[0018] 進一步地,判斷已執(zhí)行的所述數(shù)據(jù)庫訪問請求中由所述客戶端發(fā)送的所述數(shù)據(jù)庫 訪問請求的執(zhí)行結果是否滿足預定條件包括:從已執(zhí)行的所述數(shù)據(jù)庫訪問請求中由所述客 戶端發(fā)送的所述數(shù)據(jù)庫訪問請求中獲取執(zhí)行時間超過第三預定時間閾值的數(shù)據(jù)庫訪問請 求的第三個數(shù);從已執(zhí)行的所述數(shù)據(jù)庫訪問請求中由所述客戶端發(fā)送的所述數(shù)據(jù)庫訪問請 求中獲取出現(xiàn)執(zhí)行錯誤的數(shù)據(jù)庫訪問請求的第三比例;以及若所述第三個數(shù)小于第三數(shù)量 閾值、且所述第三比例小于第三比例閾值,則判斷出所述已執(zhí)行的所述數(shù)據(jù)庫訪問請求中 由所述客戶端發(fā)送的所述數(shù)據(jù)庫訪問請求的執(zhí)行結果滿足所述預定條件。
[0019] 進一步地,在判斷出允許將所述數(shù)據(jù)庫連接池中空閑的數(shù)據(jù)庫連接分配給所述客 戶端之后,所述資源分配方法還包括:創(chuàng)建客戶端白名單;以及將被允許分配所述數(shù)據(jù)庫 連接池中空閑的數(shù)據(jù)庫連接的客戶端存儲至客戶端白名單中。
[0020] 為了實現(xiàn)上述目的,根據(jù)本申請的另一方面,提供了一種用于數(shù)據(jù)庫連接池的資 源分配裝置,該裝置包括:接收單元,用于接收客戶端發(fā)送的數(shù)據(jù)庫訪問請求;以及判斷單 元,用于根據(jù)所述數(shù)據(jù)庫訪問請求的歷史執(zhí)行結果判斷是否允許將數(shù)據(jù)庫連接池中空閑的 數(shù)據(jù)庫連接分配給所述客戶端。
[0021] 進一步地,所述判斷單元包括:獲取模塊,用于從所述歷史執(zhí)行結果中獲取已執(zhí)行 的所述數(shù)據(jù)庫訪問請求的執(zhí)行結果屬性;以及判斷模塊,用于根據(jù)所述執(zhí)行結果屬性判斷 是否允許將數(shù)據(jù)庫連接池中空閑的數(shù)據(jù)庫連接分配給所述客戶端。
[0022] 通過本申請,采用接收客戶端發(fā)送的數(shù)據(jù)庫訪問請求;根據(jù)數(shù)據(jù)庫訪問請求的歷 史執(zhí)行結果判斷是否允許將數(shù)據(jù)庫連接池中空閑的數(shù)據(jù)庫連接分配給客戶端,由于可以通 過歷史執(zhí)行結果對數(shù)據(jù)庫訪問請求進行篩選,僅僅將空閑的數(shù)據(jù)庫連接分配給歷史表現(xiàn)良 好的數(shù)據(jù)庫訪問請求,而不對歷史表現(xiàn)差的數(shù)據(jù)庫訪問請求分配數(shù)據(jù)庫連接,因此可以防 止歷史表現(xiàn)差的數(shù)據(jù)庫訪問請求占用數(shù)據(jù)庫連接,節(jié)約數(shù)據(jù)庫連接資源,達到了防止數(shù)據(jù) 庫連接池中的資源耗盡的效果。
【附圖說明】
[0023] 構成本申請的一部分的附圖用來提供對本申請的進一步理解,本申請的示意性實 施例及其說明用于解釋本申請,并不構成對本申請的不當限定。在附圖中:
[0024] 圖1是根據(jù)本申請實施例的用于數(shù)據(jù)庫連接池的資源分配方法的流程圖;
[0025] 圖2是根據(jù)本申請實施例的動態(tài)分配數(shù)據(jù)庫連接池中的資源的系統(tǒng)架構圖;以及
[0026] 圖3是根據(jù)本申請實施例的用于數(shù)據(jù)庫連接池的資源分配裝置的示意圖。
【具體實施方式】
[0027] 需要說明的是,在不沖突的情況下,本申請中的實施例及實施例中的特征可以相 互組合。下面將參考附圖并結合實施例來詳細說明本申請。
[0028] 為了使本領域的技術人員更好的理解本申請方案,下面將結合本申請實施例中的 附圖,對本申請實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是 本申請一部分的實施例,而不是全部的實施例?;诒旧暾堉械膶嵤├?,在本領域普通技 術人員沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都應當屬于本申請的保護范 圍。
[0029] 需要說明的是,本申請的說明書和權利要求書及上述附圖中的術語"第一"、"第 二"等是用于區(qū)別類似的對象,而不必用于描述特定的順序或先后次序。應該理解這樣使用 的數(shù)據(jù)在適當情況下可以互換,以便這里描述的本申請的實施例能夠以除了在這里圖示或 描述的那些以外的順序?qū)嵤?。此外,術語"包括"和"具有"以及他們的任何變形,意圖在于 覆蓋不排他的包含。
[0030] 根據(jù)本申請的實施例,提供了一種用于數(shù)據(jù)庫連接池的資源分配方法,該用于數(shù) 據(jù)庫連接池的資源分配方法可以運行在計算機處理設備上。需要說明的是,在本申請實施 例中,附圖的流程圖示出的步驟可以在諸如一組計算機可執(zhí)行指令的計算機系統(tǒng)中執(zhí)行, 并且,雖然在流程圖中示出了邏輯順序,但是在某些情況下,可以以不同于此處的順序執(zhí)行 所示出或描述的步驟。
[0031] 在詳細闡述本申請之前,先對本申請中引用的以下名詞進行解釋:
[0032] 數(shù)據(jù)庫:用來永久或監(jiān)時存放業(yè)務數(shù)據(jù)、系統(tǒng)數(shù)據(jù)的軟件系統(tǒng)及其數(shù)據(jù),包括但不 僅限于 Oracle、MySQL、SQL Server、Tair、Ocea
當前第1頁1 2 3 4 5 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1