[發(fā)明專利]數(shù)據(jù)庫的事務(wù)請求處理方法、相關(guān)設(shè)備及存儲介質(zhì)在審
| 申請?zhí)枺?/td> | 202010965264.6 | 申請日: | 2020-09-15 |
| 公開(公告)號: | CN112084206A | 公開(公告)日: | 2020-12-15 |
| 發(fā)明(設(shè)計(jì))人: | 賴錚;周信靜 | 申請(專利權(quán))人: | 騰訊科技(深圳)有限公司 |
| 主分類號: | G06F16/23 | 分類號: | G06F16/23 |
| 代理公司: | 廣州三環(huán)專利商標(biāo)代理有限公司 44202 | 代理人: | 熊永強(qiáng);賈允 |
| 地址: | 518057 廣東省深圳*** | 國省代碼: | 廣東;44 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 數(shù)據(jù)庫 事務(wù) 請求 處理 方法 相關(guān) 設(shè)備 存儲 介質(zhì) | ||
本發(fā)明公開了數(shù)據(jù)庫的事務(wù)請求處理方法、相關(guān)設(shè)備及存儲介質(zhì),該方法包括:接收針對數(shù)據(jù)庫中第一數(shù)據(jù)行的更新事務(wù)請求;若存儲引擎中存在第一數(shù)據(jù)行的第一熱行更新等待隊(duì)列,則將更新事務(wù)請求寫入第一熱行更新等待隊(duì)列;若存儲引擎中不存在第一數(shù)據(jù)行對應(yīng)的第一熱行更新等待隊(duì)列,則確定存儲引擎中第一數(shù)據(jù)行對應(yīng)的第一行鎖等待隊(duì)列的隊(duì)列長度;當(dāng)?shù)谝恍墟i等待隊(duì)列的隊(duì)列長度超過預(yù)設(shè)長度閾值時(shí),在存儲引擎中為第一數(shù)據(jù)行創(chuàng)建對應(yīng)的第一熱行更新等待隊(duì)列,將更新事務(wù)請求寫入該第一熱行更新等待隊(duì)列;響應(yīng)于預(yù)設(shè)觸發(fā)信號,將第一熱行更新等待隊(duì)列中的更新事務(wù)請求加入第一行鎖等待隊(duì)列。本發(fā)明提高了數(shù)據(jù)庫系統(tǒng)在高并發(fā)情況下的事務(wù)吞吐率。
技術(shù)領(lǐng)域
本發(fā)明涉及計(jì)算機(jī)技術(shù)領(lǐng)域,特別涉及一種數(shù)據(jù)庫的事務(wù)請求處理方法、相關(guān)設(shè)備及存儲介質(zhì)。
背景技術(shù)
在數(shù)據(jù)庫系統(tǒng),當(dāng)有大量的并發(fā)事務(wù)針對數(shù)據(jù)庫中的同一數(shù)據(jù)行發(fā)出更新操作時(shí),該數(shù)據(jù)行即成為熱點(diǎn)數(shù)據(jù)行。為了確保數(shù)據(jù)庫系統(tǒng)在高并發(fā)情況下的事務(wù)吞吐率,一般會針對熱點(diǎn)數(shù)據(jù)行的更新事務(wù)請求進(jìn)行限流處理。
以關(guān)系型數(shù)據(jù)庫系統(tǒng)MySQL為例,相關(guān)技術(shù)中通過增加SQL熱點(diǎn)數(shù)據(jù)行更新hint語法,讓MySQL用戶在提交SQL語句(即事務(wù)請求)時(shí)提供熱點(diǎn)數(shù)據(jù)行的主鍵,MySQL收到帶熱點(diǎn)數(shù)據(jù)行hint的SQL語句后,提取出熱點(diǎn)數(shù)據(jù)行主鍵,然后在MySQL的Server層針對熱點(diǎn)數(shù)據(jù)行主鍵對事務(wù)請求進(jìn)行排隊(duì),確保在任一時(shí)刻每個(gè)熱點(diǎn)數(shù)據(jù)行主鍵只有一個(gè)事務(wù)正在執(zhí)行操作直至該事務(wù)執(zhí)行結(jié)束。
上述相關(guān)技術(shù)的實(shí)現(xiàn)需要改變SQL語法,增加了MySQL用戶工作負(fù)擔(dān),用戶若要使用熱點(diǎn)數(shù)據(jù)行功能,需要改變原有應(yīng)用程序的SQL語句以提供滿足上述功能語法格式的SQL語句;此外,由于MySQL用戶需要提供熱點(diǎn)數(shù)據(jù)行的主鍵,因此熱點(diǎn)數(shù)據(jù)行的感知需要由用戶來做,這意味著用戶程序需要再分配一些系統(tǒng)資源來統(tǒng)計(jì)哪些數(shù)據(jù)行是熱點(diǎn),比如需要用額外的鍵值緩存系統(tǒng)來存儲數(shù)據(jù)庫中數(shù)據(jù)行的訪問頻率、主鍵等信息,同時(shí)還需要隨著熱點(diǎn)變更即時(shí)更新維護(hù)這些信息,大大增加了數(shù)據(jù)庫用戶的維護(hù)成本;而且在Server層對熱點(diǎn)數(shù)據(jù)行的更新事務(wù)請求用鎖作序列化,降低了對同一熱點(diǎn)數(shù)據(jù)行的更新事務(wù)之間的并發(fā)度,無法充分利用數(shù)據(jù)庫系統(tǒng)閑置資源,不利于提高數(shù)據(jù)庫系統(tǒng)在高并發(fā)情況下的事務(wù)吞吐率。
發(fā)明內(nèi)容
為了解決現(xiàn)有技術(shù)的問題,本發(fā)明實(shí)施例提供了一種數(shù)據(jù)庫的事務(wù)請求處理方法、相關(guān)設(shè)備及存儲介質(zhì)。所述技術(shù)方案如下:
一方面,提供了一種數(shù)據(jù)庫的事務(wù)請求處理方法,所述方法包括:
接收針對數(shù)據(jù)庫中第一數(shù)據(jù)行的更新事務(wù)請求;
若存儲引擎中存在所述第一數(shù)據(jù)行對應(yīng)的第一熱行更新等待隊(duì)列,則將所述更新事務(wù)請求寫入所述第一熱行更新等待隊(duì)列;
若所述存儲引擎中不存在所述第一數(shù)據(jù)行對應(yīng)的第一熱行更新等待隊(duì)列,則確定所述存儲引擎中所述第一數(shù)據(jù)行對應(yīng)的第一行鎖等待隊(duì)列的隊(duì)列長度;
當(dāng)所述第一行鎖等待隊(duì)列的隊(duì)列長度超過預(yù)設(shè)長度閾值時(shí),在所述存儲引擎中為所述第一數(shù)據(jù)行創(chuàng)建對應(yīng)的所述第一熱行更新等待隊(duì)列,將所述更新事務(wù)請求寫入所述第一熱行更新等待隊(duì)列;
響應(yīng)于預(yù)設(shè)觸發(fā)信號,將所述第一熱行更新等待隊(duì)列中的更新事務(wù)請求加入所述第一行鎖等待隊(duì)列。
另一方面,提供了一種數(shù)據(jù)庫的事務(wù)請求處理裝置,所述裝置包括:
接收模塊,用于接收針對數(shù)據(jù)庫中第一數(shù)據(jù)行的更新事務(wù)請求;
第一寫入模塊,用于在存儲引擎中存在所述第一數(shù)據(jù)行對應(yīng)的第一熱行更新等待隊(duì)列時(shí),將所述更新事務(wù)請求寫入所述第一熱行更新等待隊(duì)列;
第一確定模塊,用于在所述存儲引擎中不存在所述第一數(shù)據(jù)行對應(yīng)的第一熱行更新等待隊(duì)列時(shí),確定所述存儲引擎中所述第一數(shù)據(jù)行對應(yīng)的第一行鎖等待隊(duì)列的隊(duì)列長度;
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于騰訊科技(深圳)有限公司,未經(jīng)騰訊科技(深圳)有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010965264.6/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í)行方法及裝置
- 一種事務(wù)處理的方法和裝置
- 分布式事務(wù)處理方法與系統(tǒng)
- 一種融合原生事務(wù)和邏輯事務(wù)的方法
- 用于聚結(jié)內(nèi)存事務(wù)的方法和系統(tǒng)
- 事務(wù)處理方法、事務(wù)參與節(jié)點(diǎn)及事務(wù)協(xié)調(diào)節(jié)點(diǎn)
- 跨進(jìn)程分布式事務(wù)控制方法及相關(guān)系統(tǒng)
- 一種分布式事務(wù)管理方法及系統(tǒng)
- 一種分布式事務(wù)處理的智能監(jiān)控方法及服務(wù)器
- 分布式事務(wù)處理方法及裝置
- 讀寫事務(wù)控制方法、系統(tǒng)、終端設(shè)備及存儲介質(zhì)





