[發(fā)明專利]分布式內(nèi)存數(shù)據(jù)庫長連接使用的實現(xiàn)方法及系統(tǒng)、電子設(shè)備、存儲介質(zhì)在審
| 申請?zhí)枺?/td> | 202011443567.8 | 申請日: | 2020-12-08 |
| 公開(公告)號: | CN112632031A | 公開(公告)日: | 2021-04-09 |
| 發(fā)明(設(shè)計)人: | 蘇潤清 | 申請(專利權(quán))人: | 北京思特奇信息技術(shù)股份有限公司 |
| 主分類號: | G06F16/21 | 分類號: | G06F16/21;G06F16/27;G06F9/52 |
| 代理公司: | 北京匯信合知識產(chǎn)權(quán)代理有限公司 11335 | 代理人: | 王維新 |
| 地址: | 100086 北京*** | 國省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 分布式 內(nèi)存 數(shù)據(jù)庫 連接 使用 實現(xiàn) 方法 系統(tǒng) 電子設(shè)備 存儲 介質(zhì) | ||
本發(fā)明公開了一種分布式內(nèi)存數(shù)據(jù)庫長連接使用的實現(xiàn)方法及系統(tǒng)、電子設(shè)備、存儲介質(zhì),屬于數(shù)據(jù)庫應(yīng)用技術(shù)領(lǐng)域,該方法為編寫數(shù)據(jù)庫連接類,且建立數(shù)據(jù)庫連接類與內(nèi)存數(shù)據(jù)庫的連接;用裝飾器裝飾數(shù)據(jù)庫連接類,使得數(shù)據(jù)庫連接類與不同內(nèi)存數(shù)據(jù)庫建立的連接實例存儲在裝飾器內(nèi),或從裝飾器直接獲取已經(jīng)存儲的連接實例;在數(shù)據(jù)庫連接類中設(shè)有線程模塊,線程模塊中的LOCK在執(zhí)行數(shù)據(jù)庫連接與一個內(nèi)存數(shù)據(jù)庫建立連接時上鎖,執(zhí)行完畢或異常釋放鎖。本發(fā)明在每次內(nèi)存數(shù)據(jù)庫連接之前加鎖,避免并發(fā)請求導(dǎo)致之前建立的連接失效。
技術(shù)領(lǐng)域
本發(fā)明屬于數(shù)據(jù)庫應(yīng)用技術(shù)領(lǐng)域,特別涉及一種分布式內(nèi)存數(shù)據(jù)庫長連接使用的實現(xiàn)方法及系統(tǒng)、電子設(shè)備、存儲介質(zhì)。
背景技術(shù)
隨著通訊技術(shù)的發(fā)展,電信行業(yè)也取得突飛猛進(jìn)的發(fā)展,需要接入大量電信行業(yè)的數(shù)據(jù)來進(jìn)行分析和處理,對數(shù)據(jù)采集平臺提出了很高的要求,既要實現(xiàn)大量的實時數(shù)據(jù)快速采集,同時又要快速存儲到數(shù)據(jù)庫。現(xiàn)有的分布式內(nèi)存數(shù)據(jù)庫通過單例模式建立連接后,后續(xù)發(fā)起建立連接會獲取之前已經(jīng)建立的連接,達(dá)到長連接效果,此連接如果遇到執(zhí)行內(nèi)存數(shù)據(jù)庫操作的并發(fā)請求,內(nèi)存數(shù)據(jù)庫連接將會失效。
發(fā)明內(nèi)容
針對內(nèi)存數(shù)據(jù)庫通過單例模式建立連接后,若內(nèi)存數(shù)據(jù)庫遇到并發(fā)請求,則之前內(nèi)存數(shù)據(jù)庫連接將會失效的問題,本發(fā)明提供一種分布式內(nèi)存數(shù)據(jù)庫長連接使用的實現(xiàn)方法及系統(tǒng)、電子設(shè)備、存儲介質(zhì)。
一種分布式內(nèi)存數(shù)據(jù)庫長連接使用的實現(xiàn)方法包括:
編寫數(shù)據(jù)庫連接類,且建立所述數(shù)據(jù)庫連接類與內(nèi)存數(shù)據(jù)庫的連接;
用裝飾器裝飾所述數(shù)據(jù)庫連接類,使得所述數(shù)據(jù)庫連接類與不同所述內(nèi)存數(shù)據(jù)庫建立的連接實例存儲在所述裝飾器內(nèi),或從所述裝飾器直接獲取已經(jīng)存儲的連接實例;
在所述數(shù)據(jù)庫連接類中設(shè)有線程模塊,所述線程模塊中的LOCK在執(zhí)行所述數(shù)據(jù)庫連接類與一個所述內(nèi)存數(shù)據(jù)庫建立連接時上鎖,執(zhí)行完畢或異常釋放鎖。
優(yōu)選的是,所述數(shù)據(jù)庫連接類通過python驅(qū)動建立與所述內(nèi)存數(shù)據(jù)庫的連接。
優(yōu)選的是,所述編寫數(shù)據(jù)庫連接類,且建立所述數(shù)據(jù)庫連接類與內(nèi)存數(shù)據(jù)庫的連接的步驟包括:
定義數(shù)據(jù)庫連接類,并將用戶名稱、用戶密碼、內(nèi)存數(shù)據(jù)庫名稱參數(shù)傳入所述數(shù)據(jù)庫連接類中,與所述內(nèi)存數(shù)據(jù)庫建立連接。
優(yōu)選的是,所述數(shù)據(jù)庫連接類與不同所述內(nèi)存數(shù)據(jù)庫建立的連接實例存儲在所述裝飾器內(nèi),或從所述裝飾器直接獲取已經(jīng)存儲的連接實例的步驟包括:
當(dāng)所述數(shù)據(jù)庫連接類與所述內(nèi)存數(shù)據(jù)庫建立連接時,判斷所述裝飾器內(nèi)是否存在與所述內(nèi)存數(shù)據(jù)庫連接時建立的連接實例;若不存在,則建立所述連接實例并存儲在所述裝飾器內(nèi);若存在,則直接調(diào)用所述連接實例。
優(yōu)選的是,所述線程模塊中的LOCK在執(zhí)行所述數(shù)據(jù)庫連接與一個所述內(nèi)存數(shù)據(jù)庫建立連接時上鎖,執(zhí)行完畢或異常釋放鎖的步驟為:
所述線程模塊用于獲取所述數(shù)據(jù)庫連接類與所述內(nèi)存數(shù)據(jù)庫連接的任務(wù),并建立所述內(nèi)存數(shù)據(jù)庫連接的隊列任務(wù),提取所述隊列任務(wù)的首個數(shù)據(jù)庫連接的任務(wù)并上鎖。
本發(fā)明實施例提供的一種分布式內(nèi)存數(shù)據(jù)庫長連接使用的實現(xiàn)系統(tǒng),用于實現(xiàn)上述所述的方法,包括:
數(shù)據(jù)庫連接模塊,用于建立所述數(shù)據(jù)庫連接模塊與內(nèi)存數(shù)據(jù)庫的連接;
裝飾器,用于裝飾所述數(shù)據(jù)庫連接類,使得所述數(shù)據(jù)庫連接類與不同所述內(nèi)存數(shù)據(jù)庫建立的連接實例存儲在所述裝飾器內(nèi),或從所述裝飾器直接獲取已經(jīng)存儲的連接實例;
線程模塊,用于所述線程模塊中的LOCK在執(zhí)行所述數(shù)據(jù)庫連接與一個所述內(nèi)存數(shù)據(jù)庫建立連接時上鎖,執(zhí)行完畢或異常釋放鎖。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于北京思特奇信息技術(shù)股份有限公司,未經(jīng)北京思特奇信息技術(shù)股份有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202011443567.8/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 數(shù)據(jù)庫
- 數(shù)據(jù)庫管理系統(tǒng)及數(shù)據(jù)庫
- 數(shù)據(jù)庫構(gòu)筑裝置、數(shù)據(jù)庫檢索裝置、數(shù)據(jù)庫裝置、數(shù)據(jù)庫構(gòu)筑方法、以及數(shù)據(jù)庫檢索方法
- 數(shù)據(jù)庫和數(shù)據(jù)庫處理方法
- 數(shù)據(jù)庫系統(tǒng)、數(shù)據(jù)庫更新方法、數(shù)據(jù)庫以及數(shù)據(jù)庫更新程序
- 容器數(shù)據(jù)庫
- 數(shù)據(jù)庫同步方法及數(shù)據(jù)庫
- 一種MongoDB數(shù)據(jù)庫對象復(fù)制延遲監(jiān)控方法和裝置
- 數(shù)據(jù)分布式存儲方法、裝置、電子設(shè)備及存儲介質(zhì)
- 數(shù)據(jù)庫語句執(zhí)行方法及裝置





