欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

基于自建數(shù)據(jù)庫連接池的關(guān)系型數(shù)據(jù)庫的訪問方法和系統(tǒng)的制作方法

文檔序號:6628190閱讀:239來源:國知局
基于自建數(shù)據(jù)庫連接池的關(guān)系型數(shù)據(jù)庫的訪問方法和系統(tǒng)的制作方法
【專利摘要】本發(fā)明提供一種基于自建數(shù)據(jù)庫連接池的關(guān)系型數(shù)據(jù)庫的訪問方法和系統(tǒng),其中方法包括:建立訪問關(guān)系型數(shù)據(jù)庫的單例模式的數(shù)據(jù)庫連接池;創(chuàng)建設(shè)定數(shù)量的訪問所述關(guān)系型數(shù)據(jù)庫的數(shù)據(jù)庫連接,并將數(shù)據(jù)庫連接存放到所述數(shù)據(jù)庫連接池中;獲取用戶對所述關(guān)系型數(shù)據(jù)庫進行的數(shù)據(jù)庫操作,并從數(shù)據(jù)庫連接池申請一個數(shù)據(jù)庫連接;根據(jù)所述申請的數(shù)據(jù)庫連接,在所述數(shù)據(jù)庫連接上對所述關(guān)系型數(shù)據(jù)庫執(zhí)行所述數(shù)據(jù)庫操作。本發(fā)明的技術(shù)方案,可以實現(xiàn)快速和高效的數(shù)據(jù)庫訪問;數(shù)據(jù)庫操作效率更高,實現(xiàn)將大量實時數(shù)據(jù)快速存儲到數(shù)據(jù)庫,極大提高了數(shù)據(jù)采集平臺的處理效率,可以達到商用實時數(shù)據(jù)庫的效果。
【專利說明】基于自建數(shù)據(jù)庫連接池的關(guān)系型數(shù)據(jù)庫的訪問方法和系統(tǒng)

【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及數(shù)據(jù)庫應(yīng)用【技術(shù)領(lǐng)域】,特別是涉及一種基于自建數(shù)據(jù)庫連接池的關(guān)系型數(shù)據(jù)庫的訪問方法和系統(tǒng)。

【背景技術(shù)】
[0002]隨著我國電力需求側(cè)管理城市綜合試點工作開展,需要接入大量用電企業(yè)的實時用電數(shù)據(jù)來進行分析和處理,對數(shù)據(jù)采集平臺提出了很高的要求,既要實現(xiàn)大量的實時數(shù)據(jù)快速采集,同時又要快速存儲到數(shù)據(jù)庫。
[0003]例如,在國內(nèi)首批電力需求側(cè)管理城市綜合試點的四個城市之一的佛山市,要完成試點任務(wù)和目標,則需要接入大約2000家企業(yè)的實時用電數(shù)據(jù),每個企業(yè)至少安裝30個表計,要求接入的企業(yè)數(shù)據(jù)多達85項,采集頻度達到為5分鐘,對于現(xiàn)有的數(shù)據(jù)采集平臺來說,要實現(xiàn)如此多的實時數(shù)據(jù)快速采集,數(shù)據(jù)庫存儲技術(shù)將會是一大瓶頸。
[0004]由于要進行海量實時數(shù)據(jù)的采集和存儲,采用關(guān)系型數(shù)據(jù)庫時,現(xiàn)有數(shù)據(jù)庫處理技術(shù)很難做到如此高效的處理,數(shù)據(jù)采集成功率和完整率難以滿足采集海量數(shù)據(jù)的要求,如果采用商品化的實時數(shù)據(jù)庫,要存儲如此多的數(shù)據(jù)點數(shù),成本高昂,現(xiàn)實意義不大。
[0005]綜合上述分析,現(xiàn)有數(shù)據(jù)庫處理技術(shù)難以滿足海量數(shù)據(jù)的快速存儲。


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

[0006]基于此,有必要針對上述問題,提供一種數(shù)據(jù)庫訪問效率更高的基于自建數(shù)據(jù)庫連接池的關(guān)系型數(shù)據(jù)庫的訪問方法和系統(tǒng)。
[0007]—種基于自建數(shù)據(jù)庫連接池的關(guān)系型數(shù)據(jù)庫的訪問方法,包括如下步驟:
[0008]建立訪問關(guān)系型數(shù)據(jù)庫的單例模式的數(shù)據(jù)庫連接池;
[0009]創(chuàng)建設(shè)定數(shù)量的訪問所述關(guān)系型數(shù)據(jù)庫的數(shù)據(jù)庫連接,并將數(shù)據(jù)庫連接存放到所述數(shù)據(jù)庫連接池中;
[0010]獲取用戶對所述關(guān)系型數(shù)據(jù)庫進行的數(shù)據(jù)庫操作,并從數(shù)據(jù)庫連接池申請一個數(shù)據(jù)庫連接;
[0011]根據(jù)所述申請的數(shù)據(jù)庫連接,在所述數(shù)據(jù)庫連接上對所述關(guān)系型數(shù)據(jù)庫執(zhí)行所述數(shù)據(jù)庫操作。
[0012]一種基于自建數(shù)據(jù)庫連接池的關(guān)系型數(shù)據(jù)庫的訪問系統(tǒng),包括:
[0013]連接池建立模塊,用于建立訪問關(guān)系型數(shù)據(jù)庫的單例模式的數(shù)據(jù)庫連接池;
[0014]連接創(chuàng)建模塊,用于創(chuàng)建設(shè)定數(shù)量的訪問所述關(guān)系型數(shù)據(jù)庫的數(shù)據(jù)庫連接,并將數(shù)據(jù)庫連接存放到所述數(shù)據(jù)庫連接池中;
[0015]連接申請模塊,用于獲取用戶對所述關(guān)系型數(shù)據(jù)庫進行的數(shù)據(jù)庫操作,并從數(shù)據(jù)庫連接池申請一個數(shù)據(jù)庫連接;
[0016]數(shù)據(jù)庫操作模塊,用于根據(jù)所述申請的數(shù)據(jù)庫連接,在所述數(shù)據(jù)庫連接上對所述關(guān)系型數(shù)據(jù)庫執(zhí)行所述數(shù)據(jù)庫操作。
[0017]上述基于自建數(shù)據(jù)庫連接池的關(guān)系型數(shù)據(jù)庫的訪問方法和系統(tǒng),通過建立訪問關(guān)系型數(shù)據(jù)庫的數(shù)據(jù)庫連接池,并一次性把數(shù)據(jù)庫連接建好,放在數(shù)據(jù)庫連接池中待用,免去了頻繁建立數(shù)據(jù)庫連接、斷開數(shù)據(jù)庫連接的時間開銷,;當需要對數(shù)據(jù)庫進行操作時,用戶只需要從數(shù)據(jù)庫連接池申請一個數(shù)據(jù)庫連接,獲取到數(shù)據(jù)庫連接后,就可以通過該數(shù)據(jù)庫連接對數(shù)據(jù)庫進行操作,數(shù)據(jù)庫訪問效率更高,實現(xiàn)將大量數(shù)據(jù)實時數(shù)據(jù)快速存儲到數(shù)據(jù)庫,極大提高了數(shù)據(jù)采集平臺的處理效率,可以實現(xiàn)實時數(shù)據(jù)庫的效果。

【專利附圖】

【附圖說明】
[0018]圖1為一個實施例的基于自建數(shù)據(jù)庫連接池的關(guān)系型數(shù)據(jù)庫的訪問方法流程圖;
[0019]圖2為另一個實施例的基于自建數(shù)據(jù)庫連接池的關(guān)系型數(shù)據(jù)庫的訪問方法流程圖;
[0020]圖3為基于本發(fā)明基于自建數(shù)據(jù)庫連接池的關(guān)系型數(shù)據(jù)庫的訪問方法的原理框圖;
[0021]圖4為一個實施例的基于自建數(shù)據(jù)庫連接池的關(guān)系型數(shù)據(jù)庫的訪問系統(tǒng)結(jié)構(gòu)示意圖;
[0022]圖5為另一個實施例的基于自建數(shù)據(jù)庫連接池的關(guān)系型數(shù)據(jù)庫的訪問系統(tǒng)結(jié)構(gòu)示意圖。

【具體實施方式】
[0023]下面結(jié)合附圖對本發(fā)明的基于自建數(shù)據(jù)庫連接池的關(guān)系型數(shù)據(jù)庫的訪問方法和系統(tǒng)的【具體實施方式】作詳細描述。
[0024]參考圖1所示,圖1為一個實施例的基于自建數(shù)據(jù)庫連接池的關(guān)系型數(shù)據(jù)庫的訪問方法流程圖,包括如下步驟:
[0025]步驟S10,建立訪問關(guān)系型數(shù)據(jù)庫的單例模式的數(shù)據(jù)庫連接池。
[0026]在此步驟中,可以采用Oracle數(shù)據(jù)庫,利用Oracle數(shù)據(jù)庫的OCCI接口,在Linux環(huán)境下采用C++語言為開發(fā)工具構(gòu)建單例模式數(shù)據(jù)連接池,;數(shù)據(jù)庫連接池采用單例模式,保證只可能初始化一次。其中,OCCI是一套應(yīng)用程序編程接口。
[0027]步驟S20,創(chuàng)建設(shè)定數(shù)量的訪問所述關(guān)系型數(shù)據(jù)庫的數(shù)據(jù)庫連接,并將數(shù)據(jù)庫連接存放到所述數(shù)據(jù)庫連接池中。
[0028]在此步驟中,可以根據(jù)需要使用數(shù)據(jù)庫連接的應(yīng)用,一次性把一定數(shù)量的數(shù)據(jù)庫連接建好,一般只需要花費40多毫秒的時間,放在連接池中給需要使用數(shù)據(jù)連接的應(yīng)用使用,免去了頻繁建立數(shù)據(jù)庫連接、斷開數(shù)據(jù)庫連接的時間開銷。
[0029]在一個實施例中,步驟S20的過程具體包括如下:
[0030]步驟S201,初始化所述數(shù)據(jù)庫連接池,建立設(shè)定數(shù)量的數(shù)據(jù)庫連接,并將其置于所述數(shù)據(jù)庫連接池內(nèi)。
[0031]對于上述建立設(shè)定數(shù)量的數(shù)據(jù)庫連接的方法,可以利用OCCI接口建立設(shè)定數(shù)量的數(shù)據(jù)庫連接,在所述數(shù)據(jù)庫連接上封裝對外使用的接口函數(shù),包括ExecuteSql,Execute,Close Record Set, COMMIT, R0LLBAC K 等。
[0032]步驟S202,保存所述數(shù)據(jù)庫連接;在本實施例中,可以采用隊列queue<DBConnect1n*>m_connpool 來保存數(shù)據(jù)庫連接。
[0033]步驟S30,獲取用戶(即數(shù)據(jù)庫連接使用者)對所述關(guān)系型數(shù)據(jù)庫進行的數(shù)據(jù)庫操作,并從數(shù)據(jù)庫連接池申請一個數(shù)據(jù)庫連接。
[0034]在此步驟中,用戶需要對所述關(guān)系型數(shù)據(jù)庫進行數(shù)據(jù)庫操作時,從數(shù)據(jù)庫連接池申請一個數(shù)據(jù)庫連接來使用,通過該數(shù)據(jù)庫連接實現(xiàn)對數(shù)據(jù)庫的操作。
[0035]在一個實施例中,步驟S30的過程具體包括如下:
[0036]步驟S301,從數(shù)據(jù)庫連接池獲取數(shù)據(jù)庫連接。
[0037]具體的,可以調(diào)用數(shù)據(jù)庫連接的對外接口函數(shù)GetConnectO獲取數(shù)據(jù)庫連接,該函數(shù)首先獲取數(shù)據(jù)庫連接時的隊列鎖。
[0038]由此,可以保證同一時刻只有一個用戶從數(shù)據(jù)庫連接池獲取數(shù)據(jù)庫連接。
[0039]步驟S302,獲取數(shù)據(jù)庫連接池隊列鎖;判斷所述隊列是否為非空,若是,則提取隊列的首個數(shù)據(jù)庫連接返回至所述用戶,將所述數(shù)據(jù)庫連接從所述隊列中刪除;否則等待有空閑連接重新加入到數(shù)據(jù)庫連接池隊列的觸發(fā)信號。
[0040]上述實施例中,如果保存數(shù)據(jù)庫連接的隊列為空,說明當前沒有空閑的數(shù)據(jù)庫連接,,等待觸發(fā)信號進行喚醒。
[0041]步驟S40,根據(jù)所述申請的數(shù)據(jù)庫連接,在所述數(shù)據(jù)庫連接上對所述關(guān)系型數(shù)據(jù)庫執(zhí)行所述數(shù)據(jù)庫操作。
[0042]此步驟中用戶可以通過申請到的數(shù)據(jù)庫連接對關(guān)系型數(shù)據(jù)庫執(zhí)行相應(yīng)的數(shù)據(jù)庫操作。
[0043]在一個實施例中,步驟S40的數(shù)據(jù)庫操作過程可以如下:
[0044]調(diào)用封裝在數(shù)據(jù)庫連接的接口函數(shù),根據(jù)所述申請的數(shù)據(jù)庫連接對所述關(guān)系型數(shù)據(jù)庫進行訪問操作。
[0045]參考圖2所示,圖2為另一個實施例的基于自建數(shù)據(jù)庫連接池的關(guān)系型數(shù)據(jù)庫的訪問方法流程圖,所述方法還包括步驟S50。
[0046]步驟S50,在所述數(shù)據(jù)庫操作完成后,將所述數(shù)據(jù)庫連接返回至所述數(shù)據(jù)庫連接池。
[0047]此步驟中,為了便于其他用戶使用數(shù)據(jù)庫連接,用戶在使用完數(shù)據(jù)庫連接后,將該數(shù)據(jù)庫連接返回給數(shù)據(jù)庫連接池,從而可以提供給其他用戶使用。
[0048]在一個實施例中,步驟S50的過程具體可以如下:
[0049]步驟S501,調(diào)用數(shù)據(jù)庫連接池的對外接口函數(shù)釋放數(shù)據(jù)庫連接;
[0050]步驟S502,判斷所述隊列是否為空,若是,將數(shù)據(jù)庫連接重新放入所述隊列中并發(fā)出有空閑連接重新加入到數(shù)據(jù)庫連接池的觸發(fā)信號喚醒等待線程;否則只需將數(shù)據(jù)庫連接重新放入所述隊列中。。
[0051]上述實施例的方案,當一用戶利用數(shù)據(jù)庫連接完成數(shù)據(jù)處理后,調(diào)用數(shù)據(jù)庫連接池的對外接口(Release Connect)釋放數(shù)據(jù)庫連接,將數(shù)據(jù)庫連接重新放入數(shù)據(jù)連接池隊列,放入隊列之前首先看數(shù)據(jù)連接池隊列是否為空,如果為空,說明此時可能有用戶正在等待空閑的數(shù)據(jù)庫連接重新加入數(shù)據(jù)庫連接池,因此,在釋放數(shù)據(jù)庫連接時,發(fā)出觸發(fā)信號,在等待空閑數(shù)據(jù)庫連接的用戶將被喚醒,從而可以獲取剛加入數(shù)據(jù)連接池的數(shù)據(jù)庫連接進行數(shù)據(jù)庫操作。
[0052]參考圖3所示,圖3為基于本發(fā)明基于自建數(shù)據(jù)庫連接池的關(guān)系型數(shù)據(jù)庫的訪問方法的原理框圖。以O(shè)racle數(shù)據(jù)庫為例,其中,數(shù)據(jù)庫連接使用者通過連接池初始化(int),對數(shù)據(jù)庫連接池進行初始化;通過Get Connect函數(shù)獲取數(shù)據(jù)庫連接,通過操作數(shù)據(jù)庫連接實現(xiàn)對Oracle數(shù)據(jù)庫的操作,通過Release Connect接口實現(xiàn)釋放數(shù)據(jù)庫連接。
[0053]對Oracle數(shù)據(jù)庫的操作的過程,通過數(shù)據(jù)庫連接上封裝的ExecuteSql,Execute,Close Record Set, COMMIT, ROLLBACK 等對外接口來實現(xiàn)。
[0054]參考圖4所示,圖4為一個實施例的基于自建數(shù)據(jù)庫連接池的關(guān)系型數(shù)據(jù)庫的訪問系統(tǒng)結(jié)構(gòu)示意圖,包括:連接池建立模塊,連接創(chuàng)建模塊,連接申請模塊和數(shù)據(jù)庫操作模塊。
[0055]所述連接池建立模塊,用于建立訪問關(guān)系型數(shù)據(jù)庫的單例模式的數(shù)據(jù)庫連接池;
[0056]所述連接創(chuàng)建模塊,用于創(chuàng)建設(shè)定數(shù)量的訪問所述關(guān)系型數(shù)據(jù)庫的數(shù)據(jù)庫連接,并將數(shù)據(jù)庫連接存放到所述數(shù)據(jù)庫連接池中;
[0057]所述連接申請模塊,用于獲取用戶對所述關(guān)系型數(shù)據(jù)庫進行的數(shù)據(jù)庫操作,并從數(shù)據(jù)庫連接池申請一個數(shù)據(jù)庫連接;
[0058]所述數(shù)據(jù)庫操作模塊,用于根據(jù)所述申請的數(shù)據(jù)庫連接,在所述數(shù)據(jù)庫連接上對所述關(guān)系型數(shù)據(jù)庫執(zhí)行所述數(shù)據(jù)庫操作。
[0059]進一步地,參考圖5所示,圖5為另一個實施例的基于自建數(shù)據(jù)庫連接池的關(guān)系型數(shù)據(jù)庫的訪問系統(tǒng)結(jié)構(gòu)示意圖。
[0060]本發(fā)明的基于自建數(shù)據(jù)庫連接池的關(guān)系型數(shù)據(jù)庫的訪問系統(tǒng),還可以包括:連接返回模塊,用于在所述數(shù)據(jù)庫操作完成后,將所述數(shù)據(jù)庫連接返回至所述數(shù)據(jù)庫連接池。
[0061]本發(fā)明的基于自建數(shù)據(jù)庫連接池的關(guān)系型數(shù)據(jù)庫的訪問系統(tǒng)與本發(fā)明的基于自建數(shù)據(jù)庫連接池的關(guān)系型數(shù)據(jù)庫的訪問方法一一對應(yīng),在上述基于自建數(shù)據(jù)庫連接池的關(guān)系型數(shù)據(jù)庫的訪問方法的實施例闡述的技術(shù)特征及其有益效果均適用于基于自建數(shù)據(jù)庫連接池的關(guān)系型數(shù)據(jù)庫的訪問系統(tǒng)的實施例中,特此聲明。
[0062]綜合上述各個實施例的技術(shù)方案,具有如下明顯特點:
[0063](I)方案可以采用C++語言來進行開發(fā),運行于Linux操作系統(tǒng),執(zhí)行效率高。
[0064](2)利用OCCI接口創(chuàng)建數(shù)據(jù)庫連接,并將數(shù)據(jù)庫連接放入到數(shù)據(jù)庫連接池,為各個需要使用數(shù)據(jù)連接的應(yīng)用進行使用,從數(shù)據(jù)庫連接池獲取一個可用的連接耗時可以用CPU的時鐘周期來計算的,因此基本可以忽略不計,執(zhí)行一條查詢語句的速度可以達到Ims,通過基于OCCI接口開發(fā)數(shù)據(jù)庫連接池,開發(fā)數(shù)據(jù)的查詢,增刪改接口函數(shù),實現(xiàn)實時采集數(shù)據(jù)的高速存儲,解決數(shù)據(jù)存儲的問題。
[0065]通過數(shù)據(jù)庫連接池,總體在建立數(shù)據(jù)庫連接時一般只需要花費40多毫秒的時間,通過一次性把數(shù)據(jù)庫連接建好,放在數(shù)據(jù)庫連接池中待用,免去了頻繁建立數(shù)據(jù)庫連接、斷開數(shù)據(jù)庫連接的時間開銷,實現(xiàn)快速和高效的數(shù)據(jù)庫訪問。
[0066](3)需要對數(shù)據(jù)庫進行操作時,用戶只需要從數(shù)據(jù)庫連接池申請一個數(shù)據(jù)庫連接,獲取到數(shù)據(jù)庫連接后,就可以通過該數(shù)據(jù)庫連接對數(shù)據(jù)庫進行操作,數(shù)據(jù)庫操作效率更高,實現(xiàn)將大量數(shù)據(jù)實時數(shù)據(jù)快速存儲到數(shù)據(jù)庫,極大提高了數(shù)據(jù)采集平臺的處理效率,可以實現(xiàn)實時數(shù)據(jù)庫效果。
[0067](4)在用戶使用完該數(shù)據(jù)庫連接后,將數(shù)據(jù)庫連接返回至數(shù)據(jù)庫連接池,其他用戶可以重復使用。
[0068]以上所述實施例僅表達了本發(fā)明的幾種實施方式,其描述較為具體和詳細,但并不能因此而理解為對本發(fā)明專利范圍的限制。應(yīng)當指出的是,對于本領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明構(gòu)思的前提下,還可以做出若干變形和改進,這些都屬于本發(fā)明的保護范圍。因此,本發(fā)明專利的保護范圍應(yīng)以所附權(quán)利要求為準。
【權(quán)利要求】
1.一種基于自建數(shù)據(jù)庫連接池的關(guān)系型數(shù)據(jù)庫的訪問方法,其特征在于,包括如下步驟: 建立訪問關(guān)系型數(shù)據(jù)庫的單例模式的數(shù)據(jù)庫連接池; 創(chuàng)建設(shè)定數(shù)量的訪問所述關(guān)系型數(shù)據(jù)庫的數(shù)據(jù)庫連接,并將數(shù)據(jù)庫連接存放到所述數(shù)據(jù)庫連接池中; 獲取用戶對所述關(guān)系型數(shù)據(jù)庫進行的數(shù)據(jù)庫操作,并從數(shù)據(jù)庫連接池申請一個數(shù)據(jù)庫連接; 根據(jù)所述申請的數(shù)據(jù)庫連接,在所述數(shù)據(jù)庫連接上對所述關(guān)系型數(shù)據(jù)庫執(zhí)行所述數(shù)據(jù)庫操作。
2.根據(jù)權(quán)利要求1所述的基于自建數(shù)據(jù)庫連接池的關(guān)系型數(shù)據(jù)庫的訪問方法,其特征在于,創(chuàng)建設(shè)定數(shù)量的訪問所述關(guān)系型數(shù)據(jù)庫的數(shù)據(jù)庫連接,并將數(shù)據(jù)庫連接存放到所述數(shù)據(jù)庫連接池中的步驟包括: 初始化所述數(shù)據(jù)庫連接池,建立設(shè)定數(shù)量的數(shù)據(jù)庫連接,并將其置于所述數(shù)據(jù)庫連接池內(nèi); 通過隊列保存所述數(shù)據(jù)庫連接。
3.根據(jù)權(quán)利要求1或2所述的基于自建數(shù)據(jù)庫連接池的關(guān)系型數(shù)據(jù)庫的訪問方法,其特征在于,還包括: 在所述數(shù)據(jù)庫操作完成后,將所述數(shù)據(jù)庫連接返回至所述數(shù)據(jù)庫連接池。
4.根據(jù)權(quán)利要求1所述的基于自建數(shù)據(jù)庫連接池的關(guān)系型數(shù)據(jù)庫的訪問方法,其特征在于,建立設(shè)定數(shù)量的數(shù)據(jù)庫連接的步驟包括: 利用OCCI接口建立數(shù)據(jù)庫連接,在所述數(shù)據(jù)庫連接上封裝對外使用的接口函數(shù)。
5.根據(jù)權(quán)利要求3所述的基于自建數(shù)據(jù)庫連接池的關(guān)系型數(shù)據(jù)庫的訪問方法,其特征在于,所述從數(shù)據(jù)庫連接池申請一個數(shù)據(jù)庫連接的步驟包括: 獲取數(shù)據(jù)庫連接池隊列鎖;判斷所述隊列是否為非空,若是,則提取隊列的首個數(shù)據(jù)庫連接返回至所述用戶,將所述數(shù)據(jù)庫連接從所述隊列中刪除;否則等待有空閑連接重新加入到數(shù)據(jù)庫連接池隊列的觸發(fā)信號。
6.根據(jù)權(quán)利要求3所述的基于自建數(shù)據(jù)庫連接池的關(guān)系型數(shù)據(jù)庫的訪問方法,其特征在于,從數(shù)據(jù)庫連接池獲取數(shù)據(jù)庫連接的步驟包括: 調(diào)用數(shù)據(jù)庫連接池的對外接口的接口函數(shù)獲取數(shù)據(jù)庫連接,該函數(shù)首先獲取數(shù)據(jù)庫連接池的隊列鎖; 在所述將所述數(shù)據(jù)庫連接從所述隊列中刪除后還包括:釋放所述隊列鎖。
7.根據(jù)權(quán)利要求3所述的基于自建數(shù)據(jù)庫連接池的關(guān)系型數(shù)據(jù)庫的訪問方法,其特征在于,將所述數(shù)據(jù)庫連接返回至所述數(shù)據(jù)庫連接池的步驟包括: 調(diào)用數(shù)據(jù)庫連接池的對外接口函數(shù)釋放數(shù)據(jù)庫連接; 判斷所述隊列是否為空,若是,將數(shù)據(jù)庫連接重新放入所述隊列中并發(fā)出有空閑連接重新加入到數(shù)據(jù)庫連接池的觸發(fā)信號喚醒等待線程;否則只需將數(shù)據(jù)庫連接重新放入所述隊列中。
8.根據(jù)權(quán)利要求1所述的基于自建數(shù)據(jù)庫連接池的關(guān)系型數(shù)據(jù)庫的訪問方法,其特征在于,根據(jù)所述申請的數(shù)據(jù)庫連接,在所述數(shù)據(jù)庫連接上對所述關(guān)系型數(shù)據(jù)庫執(zhí)行所述數(shù)據(jù)庫操作的步驟包括: 調(diào)用封裝在數(shù)據(jù)庫連接的接口函數(shù),根據(jù)所述申請的數(shù)據(jù)庫連接對所述關(guān)系型數(shù)據(jù)庫進行訪問操作。
9.一種基于自建數(shù)據(jù)庫連接池的關(guān)系型數(shù)據(jù)庫的訪問系統(tǒng),其特征在于,包括: 連接池建立模塊,用于建立訪問關(guān)系型數(shù)據(jù)庫的單例模式的數(shù)據(jù)庫連接池; 連接創(chuàng)建模塊,用于創(chuàng)建設(shè)定數(shù)量的訪問所述關(guān)系型數(shù)據(jù)庫的數(shù)據(jù)庫連接,并將數(shù)據(jù)庫連接存放到所述數(shù)據(jù)庫連接池中; 連接申請模塊,用于獲取用戶對所述關(guān)系型數(shù)據(jù)庫進行的數(shù)據(jù)庫操作,并從數(shù)據(jù)庫連接池申請一個數(shù)據(jù)庫連接; 數(shù)據(jù)庫操作模塊,用于根據(jù)所述申請的數(shù)據(jù)庫連接,在所述數(shù)據(jù)庫連接上對所述關(guān)系型數(shù)據(jù)庫執(zhí)行所述數(shù)據(jù)庫操作。
10.根據(jù)權(quán)利要求9所述的基于自建數(shù)據(jù)庫連接池的關(guān)系型數(shù)據(jù)庫的訪問系統(tǒng),其特征在于,還包括: 連接返回模塊,用于在所述數(shù)據(jù)庫操作完成后,將所述數(shù)據(jù)庫連接返回至所述數(shù)據(jù)庫連接池。
【文檔編號】G06F17/30GK104361000SQ201410495563
【公開日】2015年2月18日 申請日期:2014年9月24日 優(yōu)先權(quán)日:2014年9月24日
【發(fā)明者】羅宇, 羅建, 于濤, 何德衛(wèi), 鄭展, 陳文浩, 周智榮, 黃宇魁, 項灤, 易國亮, 王賽, 李暢 申請人:廣東電網(wǎng)有限責任公司佛山供電局, 廣東卓維網(wǎng)絡(luò)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
手机| 金乡县| 库车县| 福建省| 庐江县| 西城区| 沙河市| 五家渠市| 临朐县| 新乡县| 健康| 图木舒克市| 邛崃市| 西平县| 高邮市| 类乌齐县| 东平县| 兰州市| 江津市| 家居| 库伦旗| 奉节县| 竹北市| 西华县| 六盘水市| 天祝| 威宁| 福泉市| 建阳市| 襄城县| 芜湖县| 三河市| 甘肃省| 江都市| 东莞市| 简阳市| 东兴市| 会同县| 永川市| 怀安县| 万盛区|