高效、多并發(fā)、自適用的數(shù)據(jù)庫及其運(yùn)行方法
【專利摘要】本發(fā)明公開一種高效、多并發(fā)、自適用的數(shù)據(jù)庫及其運(yùn)行方法,包括數(shù)據(jù)庫和至少一個用戶終端,其特征在于:所述數(shù)據(jù)庫連接有連接器,該連接器還連接有適配器,連接器中設(shè)置有緩沖池、專用緩沖池和共享緩沖池,其中緩沖池與所有所述用戶終端相連接,該緩沖池分別于所述專用緩沖池和共享緩沖池連接,專用緩沖池和共享緩沖池與所述數(shù)據(jù)庫相連接。本發(fā)明的顯著效果是:能降低數(shù)據(jù)庫的負(fù)荷,提高系統(tǒng)穩(wěn)定性和運(yùn)行效率。
【專利說明】高效、多并發(fā)、自適用的數(shù)據(jù)庫及其運(yùn)行方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于一種數(shù)據(jù)庫信息采集及處理技術(shù),具體地說,是一種高效、多并發(fā)、自適用的數(shù)據(jù)庫及其運(yùn)行方法。
【背景技術(shù)】
[0002]隨著計算機(jī)信息技術(shù)的發(fā)展,各種應(yīng)用系統(tǒng)都將數(shù)據(jù)存儲在數(shù)據(jù)庫中,因此,系統(tǒng)將非常頻繁的讀和寫數(shù)據(jù)庫,系統(tǒng)每次對數(shù)據(jù)庫的讀寫都必須經(jīng)歷首先根據(jù)數(shù)據(jù)庫用戶名和密碼與數(shù)據(jù)庫建立連接、再在此連接上創(chuàng)建可操作對象、然后才能操作數(shù)據(jù),操作完成后還必須手動關(guān)閉可操作對象和關(guān)閉數(shù)據(jù)庫連接等步驟,下一次對數(shù)據(jù)庫的讀寫操作同樣要周而復(fù)始的經(jīng)歷此過程。在此過程中,與數(shù)據(jù)庫建立連接是一件既消耗資源又費(fèi)時的工作,而隨著系統(tǒng)的運(yùn)行,數(shù)據(jù)庫的用戶名和密碼隨時可能修改,導(dǎo)致系統(tǒng)運(yùn)行緩慢及維護(hù)不易。其次用戶在與數(shù)據(jù)庫連接成功后必須寫程序創(chuàng)建可操作對象,在數(shù)據(jù)庫操作完后必須手動關(guān)閉可操作對象和數(shù)據(jù)庫連接,周而復(fù)始,會產(chǎn)生大量重復(fù)代碼從而占用了系統(tǒng)資源,導(dǎo)致系統(tǒng)運(yùn)行緩慢,如果一旦沒有關(guān)閉可操作對象和數(shù)據(jù)庫連接,則會產(chǎn)生數(shù)據(jù)庫連接泄漏,極大的占用了數(shù)據(jù)庫的連接資源,導(dǎo)致數(shù)據(jù)庫連接數(shù)急劇上升,造成后續(xù)操作連接不上數(shù)據(jù)庫甚至導(dǎo)致系統(tǒng)崩潰。另外,用戶每次操作數(shù)據(jù)庫則申請使用一個連接,這個過程是一對一的操作,例如現(xiàn)在有10個并發(fā)需要操作數(shù)據(jù)庫,則必須建立10個連接,當(dāng)系統(tǒng)的并發(fā)量大的時候,則系統(tǒng)的連接數(shù)很快用完,同樣導(dǎo)致后續(xù)操作不能訪問數(shù)據(jù)庫。因此,減少重復(fù)代碼量,提高系統(tǒng)穩(wěn)定性和運(yùn)行效率,特別是提高系統(tǒng)并發(fā)操作數(shù)據(jù)庫的能力是一個目前待解決的問題。
【發(fā)明內(nèi)容】
[0003]本發(fā)明的目的是提供一種高效、多并發(fā)、自適用的數(shù)據(jù)庫,能減少重復(fù)代碼量,降低數(shù)據(jù)庫的負(fù)荷,提高系統(tǒng)穩(wěn)定性和運(yùn)行效率。
[0004]為達(dá)到上述目的,本發(fā)明提供了一種高效、多并發(fā)、自適用的數(shù)據(jù)庫,包括數(shù)據(jù)庫和至少一個用戶終端,其關(guān)鍵在于:所述數(shù)據(jù)庫連接有連接器(3),該連接器還連接有適配器;
[0005]用戶終端只需登錄連接器,不需要直接登錄數(shù)據(jù)庫,就可以訪問數(shù)據(jù)庫中的數(shù)據(jù),大幅降低了數(shù)據(jù)庫的工作量。
[0006]所述連接器中設(shè)置有緩沖池、專用緩沖池和共享緩沖池,其中緩沖池與所有所述用戶終端相連接,該緩沖池分別于所述專用緩沖池和共享緩沖池連接,專用緩沖池和共享緩沖池與所述數(shù)據(jù)庫相連接。
[0007]專用緩沖池和共享緩沖池的總?cè)萘坎蛔?,但連接器可根據(jù)專用緩沖池和共享緩沖池的占用率調(diào)節(jié)二者的容量大小關(guān)系。
[0008]所述適配器中存儲有用戶登錄賬號及登錄的歷史記錄。
[0009]一種所述高效、多并發(fā)、自適用的數(shù)據(jù)庫的運(yùn)行方法,其關(guān)鍵在于:是按以下工作流程進(jìn)行的:
[0010]步驟a:連接器獲取用戶終端發(fā)來的登錄賬號,并發(fā)送給適配器,連接器還在專用緩沖池中建立該用戶的專用數(shù)據(jù)庫;
[0011]步驟b:適配器根據(jù)登錄賬號查詢用戶歷史查詢記錄,確定用戶常用數(shù)據(jù)庫類型;
[0012]步驟c:連接器根據(jù)數(shù)據(jù)庫類型從數(shù)據(jù)庫調(diào)取相應(yīng)的數(shù)據(jù)庫內(nèi)容到專用緩沖池;
[0013]步驟d:當(dāng)用戶查找其習(xí)慣查找的習(xí)慣信息時,緩沖池從專用緩沖池調(diào)取相應(yīng)的內(nèi)容,存入專用緩沖池中該用戶的專用數(shù)據(jù)庫,用戶直接從專用數(shù)據(jù)庫獲取習(xí)慣信息;當(dāng)用戶查找的非習(xí)慣信息未被送入專用緩沖池,緩沖池從共享緩沖池(32)調(diào)取相應(yīng)的非習(xí)慣內(nèi)容,用戶直接從緩沖池獲取非習(xí)慣信息。
[0014]連接器還可以將最新最熱的數(shù)據(jù)庫信息放入共享緩沖池,供眾多用戶直接同時登錄該共享緩沖池。
[0015]當(dāng)用戶終端發(fā)出退出登錄信息后,連接器刪除該用戶在專用緩沖池的專用數(shù)據(jù)庫。
[0016]本發(fā)明的顯著效果是:提供了一種高效、多并發(fā)、自適用的數(shù)據(jù)庫及其運(yùn)行方法,通過連接器和適配器讀取用戶配置文件中指定的數(shù)據(jù)庫用戶名和密碼與指定的數(shù)據(jù)庫建立多個連接,將獲得的空閑連接放入連接緩沖池備用,節(jié)省了用戶與數(shù)據(jù)庫的連接時間,并且用戶可隨時更改數(shù)據(jù)庫類型以及數(shù)據(jù)庫的用戶名和密碼;其次系統(tǒng)根據(jù)用戶操作數(shù)據(jù)庫的類型和頻率,建立專用操作池和共享操作池,在池內(nèi)建立待操作指令隊列,將用戶所有的操作指令放入各自的待操作指令隊列中,有多個指令執(zhí)行器從操作指令隊列中取出執(zhí)行,在保證了所有指令都能執(zhí)行的同時又提高了操作效率;對每個連接,采用一對多的操作方式,即一個連接上可同時創(chuàng)建多個可操作對象,如10個,20個甚至多達(dá)100個,如有10個連接,則同時進(jìn)行的操作有10X100=1000個,極大的減少了與數(shù)據(jù)庫的連接數(shù)同時又提高了系統(tǒng)的并發(fā)量;另外,系統(tǒng)只對外提供一個命令接口和返回操作結(jié)果接口,數(shù)據(jù)庫的連接操作以及資源回收等問題用戶不用關(guān)心,這樣簡化了用戶的操作,減少了重復(fù)代碼量又提高了系統(tǒng)的運(yùn)行效率。
【專利附圖】
【附圖說明】
[0017]圖1是本發(fā)明的結(jié)構(gòu)框圖。
【具體實(shí)施方式】
[0018]下面結(jié)合附圖和具體對本發(fā)明作進(jìn)一步詳細(xì)說明。
[0019]如圖1所示,一種高效、多并發(fā)、自適用的數(shù)據(jù)庫,包括數(shù)據(jù)庫I和至少一個用戶終端2,其特征在于:所述數(shù)據(jù)庫I連接有連接器3,該連接器3還連接有適配器4 ;
[0020]所述連接器3中設(shè)置有緩沖池31、專用緩沖池32和共享緩沖池33,其中緩沖池31與所有所述用戶終端2相連接,該緩沖池31分別于所述專用緩沖池32和共享緩沖池33連接,專用緩沖池32和共享緩沖池33與所述數(shù)據(jù)庫I相連接。
[0021]2、根據(jù)權(quán)利要求1所述高效、多并發(fā)、自適用的數(shù)據(jù)庫,其特征在于:所述適配器4中存儲有用戶登錄賬號及登錄的歷史記錄。
[0022]3、一種權(quán)利要求1所述高效、多并發(fā)、自適用的數(shù)據(jù)庫的運(yùn)行方法,其特征在于:是按以下工作流程進(jìn)行的:
[0023]步驟a:連接器3獲取用戶終端2發(fā)來的登錄賬號,并發(fā)送給適配器4,連接器3還在專用緩沖池32中建立該用戶的專用數(shù)據(jù)庫;
[0024]步驟b:適配器4根據(jù)登錄賬號查詢用戶歷史查詢記錄,確定用戶常用數(shù)據(jù)庫類型;
[0025]步驟c:連接器3根據(jù)數(shù)據(jù)庫類型從數(shù)據(jù)庫I調(diào)取相應(yīng)的數(shù)據(jù)庫內(nèi)容到專用緩沖池32 ;
[0026]步驟d:當(dāng)用戶查找其習(xí)慣查找的習(xí)慣信息時,緩沖池31從專用緩沖池32調(diào)取相應(yīng)的內(nèi)容,存入專用緩沖池32中該用戶的專用數(shù)據(jù)庫,用戶直接從專用數(shù)據(jù)庫獲取習(xí)慣信息;當(dāng)用戶查找的非習(xí)慣信息未被送入專用緩沖池32,緩沖池31從共享緩沖池32調(diào)取相應(yīng)的非習(xí)慣內(nèi)容,用戶直接從緩沖池31獲取非習(xí)慣信息。
[0027]當(dāng)用戶終端2發(fā)出退出登錄信息后,連接器3刪除該用戶在專用緩沖池32的專用數(shù)據(jù)庫。
【權(quán)利要求】
1.一種高效、多并發(fā)、自適用的數(shù)據(jù)庫,包括數(shù)據(jù)庫(I)和至少一個用戶終端(2),其特征在于:所述數(shù)據(jù)庫(I)連接有連接器(3 ),該連接器(3 )還連接有適配器(4 ); 所述連接器(3 )中設(shè)置有緩沖池(31)、專用緩沖池(32 )和共享緩沖池(33 ),其中緩沖池(31)與所有所述用戶終端(2)相連接,該緩沖池(31)分別于所述專用緩沖池(32)和共享緩沖池(33)連接,專用緩沖池(32)和共享緩沖池(33)與所述數(shù)據(jù)庫(I)相連接。
2.根據(jù)權(quán)利要求1所述高效、多并發(fā)、自適用的數(shù)據(jù)庫,其特征在于:所述適配器(4)中存儲有用戶登錄賬號及登錄的歷史記錄。
3.—種權(quán)利要求1所述高效、多并發(fā)、自適用的數(shù)據(jù)庫的運(yùn)行方法,其特征在于:是按以下工作流程進(jìn)行的: 步驟a:連接器(3)獲取用戶終端(2)發(fā)來的登錄賬號,并發(fā)送給適配器(4),連接器(3)還在專用緩沖池(32)中建立該用戶的專用數(shù)據(jù)庫; 步驟b:適配器(4)根據(jù)登錄賬號查詢用戶歷史查詢記錄,確定用戶常用數(shù)據(jù)庫類型; 步驟c:連接器(3)根據(jù)數(shù)據(jù)庫類型從數(shù)據(jù)庫(I)調(diào)取相應(yīng)的數(shù)據(jù)庫內(nèi)容到專用緩沖池(32); 步驟d:當(dāng)用戶查找其習(xí)慣查找的習(xí)慣信息時,緩沖池(31)從專用緩沖池(32)調(diào)取相應(yīng)的內(nèi)容,存入專用緩沖池(32)中該用戶的專用數(shù)據(jù)庫,用戶直接從專用數(shù)據(jù)庫獲取習(xí)慣信息;當(dāng)用戶查找的非習(xí)慣信息未被送入專用緩沖池(32),緩沖池(31)從共享緩沖池(32)調(diào)取相應(yīng)的非習(xí)慣內(nèi)容,用戶直接從緩沖池(31)獲取非習(xí)慣信息。
4.根據(jù)權(quán)利要求3所述高效、多并發(fā)、自適用的數(shù)據(jù)庫的運(yùn)行方法,其特征在于:當(dāng)用戶終端(2)發(fā)出退出登錄信息后,連接器(3)刪除該用戶在專用緩沖池(32)的專用數(shù)據(jù)庫。
【文檔編號】G06F17/30GK103440325SQ201310391415
【公開日】2013年12月11日 申請日期:2013年9月2日 優(yōu)先權(quán)日:2013年9月2日
【發(fā)明者】張幫祿, 陳蘊(yùn), 熊仕勇 申請人:重慶九鼎山科技有限公司