[發(fā)明專利]一種數(shù)據(jù)庫(kù)操作框架、方法及系統(tǒng)在審
| 申請(qǐng)?zhí)枺?/td> | 202110002124.3 | 申請(qǐng)日: | 2021-01-04 |
| 公開(kāi)(公告)號(hào): | CN112699150A | 公開(kāi)(公告)日: | 2021-04-23 |
| 發(fā)明(設(shè)計(jì))人: | 郭仁康;周玉生;馮哲 | 申請(qǐng)(專利權(quán))人: | 中國(guó)銀聯(lián)股份有限公司 |
| 主分類號(hào): | G06F16/2455 | 分類號(hào): | G06F16/2455;G06F16/25;G06F9/48;G06F11/30 |
| 代理公司: | 北京市中倫律師事務(wù)所 11410 | 代理人: | 鐘錦舜 |
| 地址: | 201203 *** | 國(guó)省代碼: | 上海;31 |
| 權(quán)利要求書(shū): | 查看更多 | 說(shuō)明書(shū): | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 數(shù)據(jù)庫(kù) 操作 框架 方法 系統(tǒng) | ||
本發(fā)明提供了一種數(shù)據(jù)庫(kù)操作框架、方法及系統(tǒng),該框架包括:數(shù)據(jù)庫(kù)連接池,被配置為響應(yīng)于讀服務(wù)線程和/或?qū)懛?wù)線程發(fā)送的連接請(qǐng)求將數(shù)據(jù)庫(kù)連接的使用權(quán)交給讀服務(wù)線程和/或?qū)懛?wù)線程;讀服務(wù)線程池,被配置為用于通過(guò)輪詢至少一個(gè)應(yīng)用程序創(chuàng)建的讀寫(xiě)消息隊(duì)列以獲取讀操作消息,根據(jù)讀操作消息從數(shù)據(jù)庫(kù)連接池中獲取數(shù)據(jù)庫(kù)連接以執(zhí)行數(shù)據(jù)庫(kù)讀操作;寫(xiě)服務(wù)線程池,被配置為用于通過(guò)輪詢至少一個(gè)應(yīng)用程序創(chuàng)建的讀寫(xiě)操作消息隊(duì)列以獲取寫(xiě)操作消息,根據(jù)寫(xiě)操作消息從數(shù)據(jù)庫(kù)連接池中獲取數(shù)據(jù)庫(kù)連接以執(zhí)行數(shù)據(jù)庫(kù)寫(xiě)操作。利用上述方法,能夠緩解數(shù)據(jù)庫(kù)連接瞬間沖高的壓力,另外采用讀寫(xiě)異步設(shè)計(jì)模式,有效地提升數(shù)據(jù)庫(kù)操作性能。
技術(shù)領(lǐng)域
本發(fā)明屬于數(shù)據(jù)庫(kù)領(lǐng)域,具體涉及一種數(shù)據(jù)庫(kù)操作框架、方法及系統(tǒng)。
背景技術(shù)
本部分旨在為權(quán)利要求書(shū)中陳述的本發(fā)明的實(shí)施方式提供背景或上下文。此處的描述不因?yàn)榘ㄔ诒静糠种芯统姓J(rèn)是現(xiàn)有技術(shù)。
通常應(yīng)用程序通過(guò)調(diào)用數(shù)據(jù)庫(kù)提供的客戶端API來(lái)進(jìn)行數(shù)據(jù)庫(kù)的連接、讀寫(xiě)、事務(wù)提交/回滾、斷開(kāi)等操作,應(yīng)用程序與數(shù)據(jù)庫(kù)操作緊耦合。另外在分布式多應(yīng)用節(jié)點(diǎn)的批處理系統(tǒng)環(huán)境中,批處理應(yīng)用程序一般采用短連接的方式,任務(wù)發(fā)起時(shí)多應(yīng)用節(jié)點(diǎn)同時(shí)高并發(fā)的進(jìn)行數(shù)據(jù)庫(kù)連接,使得數(shù)據(jù)庫(kù)節(jié)點(diǎn)的連接壓力瞬間沖高,將導(dǎo)致某些連接請(qǐng)求被拒絕。此外,應(yīng)用程序?qū)?shù)據(jù)庫(kù)的讀寫(xiě)操作一般采用同步方式,也就是讀取完一條數(shù)據(jù)記錄后,需要等到這條記錄的所有業(yè)務(wù)邏輯處理完后才能讀取下一條進(jìn)行處理,但通常數(shù)據(jù)庫(kù)讀操作性能遠(yuǎn)高于業(yè)務(wù)邏輯處理性能(簡(jiǎn)稱寫(xiě)性能),由于寫(xiě)性能瓶頸會(huì)導(dǎo)致應(yīng)用整體性能無(wú)法提升。
發(fā)明內(nèi)容
針對(duì)上述現(xiàn)有技術(shù)中存在的問(wèn)題,提出了一種數(shù)據(jù)庫(kù)操作框架、數(shù)據(jù)庫(kù)操作方法和系統(tǒng),利用這種方法、裝置及計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),能夠解決上述問(wèn)題。
本發(fā)明提供了以下方案。
第一方面,提供一種數(shù)據(jù)庫(kù)操作框架,包括:數(shù)據(jù)庫(kù)連接池,其包括多個(gè)預(yù)設(shè)的數(shù)據(jù)庫(kù)連接,被配置為響應(yīng)于讀服務(wù)線程和/或?qū)懛?wù)線程發(fā)送的連接請(qǐng)求將數(shù)據(jù)庫(kù)連接的使用權(quán)交給讀服務(wù)線程和/或?qū)懛?wù)線程;讀服務(wù)線程池,其包括多個(gè)讀服務(wù)線程,被配置為用于通過(guò)輪詢至少一個(gè)應(yīng)用程序創(chuàng)建的讀寫(xiě)消息隊(duì)列以獲取讀操作消息,根據(jù)讀操作消息從數(shù)據(jù)庫(kù)連接池中獲取數(shù)據(jù)庫(kù)連接以執(zhí)行數(shù)據(jù)庫(kù)讀操作;寫(xiě)服務(wù)線程池,其包括多個(gè)寫(xiě)服務(wù)線程,被配置為用于通過(guò)輪詢至少一個(gè)應(yīng)用程序創(chuàng)建的讀寫(xiě)操作消息隊(duì)列以獲取寫(xiě)操作消息,根據(jù)寫(xiě)操作消息從數(shù)據(jù)庫(kù)連接池中獲取數(shù)據(jù)庫(kù)連接以執(zhí)行數(shù)據(jù)庫(kù)寫(xiě)操作。
在一實(shí)施例中,數(shù)據(jù)庫(kù)操作框架還包括:連接池監(jiān)控線程,被配置為用于對(duì)數(shù)據(jù)庫(kù)連接池的多個(gè)數(shù)據(jù)庫(kù)連接進(jìn)行監(jiān)控;其中,當(dāng)監(jiān)控到數(shù)據(jù)庫(kù)連接池中的數(shù)據(jù)庫(kù)連接的數(shù)量比配置信息少時(shí),使數(shù)據(jù)庫(kù)連接池創(chuàng)建新的數(shù)據(jù)庫(kù)連接;當(dāng)監(jiān)控到數(shù)據(jù)庫(kù)連接池中存在空閑狀態(tài)維持超過(guò)預(yù)設(shè)時(shí)間的數(shù)據(jù)庫(kù)連接時(shí),使數(shù)據(jù)庫(kù)連接池釋放數(shù)據(jù)庫(kù)連接。
在一實(shí)施例中,框架還包括:框架清理工具,用于當(dāng)數(shù)據(jù)庫(kù)操作框架異?;驊?yīng)用程序異常退出時(shí),對(duì)數(shù)據(jù)庫(kù)操作框架的主服務(wù)使用到的消息隊(duì)列和/或連接資源進(jìn)行清理和/或事務(wù)回滾和/或連接釋放操作;以及,框架查看工具,用于在數(shù)據(jù)庫(kù)操作框架運(yùn)行期間即時(shí)查看消息隊(duì)列、數(shù)據(jù)庫(kù)連接池的狀態(tài)信息。
在一實(shí)施例中,數(shù)據(jù)庫(kù)連接池被配置為還用于執(zhí)行:響應(yīng)于第一預(yù)設(shè)條件而創(chuàng)建新的數(shù)據(jù)庫(kù)連接;以及,響應(yīng)于第二預(yù)設(shè)條件而釋放讀服務(wù)線程和/或?qū)懛?wù)線程處占用的數(shù)據(jù)庫(kù)連接。
在一實(shí)施例中,數(shù)據(jù)庫(kù)連接池被配置為還用于:A、接收讀/寫(xiě)服務(wù)線程發(fā)送的連接請(qǐng)求;B、判斷數(shù)據(jù)庫(kù)連接池是否包括空閑數(shù)據(jù)庫(kù)連接,其中,若數(shù)據(jù)庫(kù)連接池包含空閑數(shù)據(jù)庫(kù)連接,則向讀/寫(xiě)服務(wù)線程分配空閑數(shù)據(jù)庫(kù)連接;C、若數(shù)據(jù)庫(kù)連接池不包含空閑數(shù)據(jù)庫(kù)連接,則進(jìn)一步判斷數(shù)據(jù)庫(kù)連接池是否已經(jīng)達(dá)到了最大連接限制,其中,若數(shù)據(jù)庫(kù)連接池未達(dá)到最大連接限制,則創(chuàng)建新的數(shù)據(jù)庫(kù)連接,并向讀/寫(xiě)服務(wù)線程分配新創(chuàng)建的數(shù)據(jù)庫(kù)連接;D、若數(shù)據(jù)庫(kù)連接池達(dá)到最大連接限制,則在等待之后進(jìn)一步判斷連接請(qǐng)求是否超時(shí),若連接請(qǐng)求超時(shí),則向讀寫(xiě)服務(wù)線程返回應(yīng)答異常信息;若連接請(qǐng)求未超時(shí),則重復(fù)執(zhí)行步驟B~D。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于中國(guó)銀聯(lián)股份有限公司,未經(jīng)中國(guó)銀聯(lián)股份有限公司許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202110002124.3/2.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專利網(wǎng)。
- 數(shù)據(jù)庫(kù)
- 數(shù)據(jù)庫(kù)管理系統(tǒng)及數(shù)據(jù)庫(kù)
- 數(shù)據(jù)庫(kù)構(gòu)筑裝置、數(shù)據(jù)庫(kù)檢索裝置、數(shù)據(jù)庫(kù)裝置、數(shù)據(jù)庫(kù)構(gòu)筑方法、以及數(shù)據(jù)庫(kù)檢索方法
- 數(shù)據(jù)庫(kù)和數(shù)據(jù)庫(kù)處理方法
- 數(shù)據(jù)庫(kù)系統(tǒng)、數(shù)據(jù)庫(kù)更新方法、數(shù)據(jù)庫(kù)以及數(shù)據(jù)庫(kù)更新程序
- 容器數(shù)據(jù)庫(kù)
- 數(shù)據(jù)庫(kù)同步方法及數(shù)據(jù)庫(kù)
- 一種MongoDB數(shù)據(jù)庫(kù)對(duì)象復(fù)制延遲監(jiān)控方法和裝置
- 數(shù)據(jù)分布式存儲(chǔ)方法、裝置、電子設(shè)備及存儲(chǔ)介質(zhì)
- 數(shù)據(jù)庫(kù)語(yǔ)句執(zhí)行方法及裝置
- 一種數(shù)據(jù)庫(kù)讀寫(xiě)分離的方法和裝置
- 一種手機(jī)動(dòng)漫人物及背景創(chuàng)作方法
- 一種通訊綜合測(cè)試終端的測(cè)試方法
- 一種服裝用人體測(cè)量基準(zhǔn)點(diǎn)的獲取方法
- 系統(tǒng)升級(jí)方法及裝置
- 用于虛擬和接口方法調(diào)用的裝置和方法
- 線程狀態(tài)監(jiān)控方法、裝置、計(jì)算機(jī)設(shè)備和存儲(chǔ)介質(zhì)
- 一種JAVA智能卡及其虛擬機(jī)組件優(yōu)化方法
- 檢測(cè)程序中方法耗時(shí)的方法、裝置及存儲(chǔ)介質(zhì)
- 函數(shù)的執(zhí)行方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)





