[發(fā)明專利]一種分布式數(shù)據(jù)庫系統(tǒng)中的并發(fā)訪問控制方法有效
| 申請(qǐng)?zhí)枺?/td> | 202010007610.X | 申請(qǐng)日: | 2020-01-04 |
| 公開(公告)號(hào): | CN111259071B | 公開(公告)日: | 2022-08-05 |
| 發(fā)明(設(shè)計(jì))人: | 徐昶;岑躍峰;馬偉鋒;岑崗;張宇來;程志剛;盧方 | 申請(qǐng)(專利權(quán))人: | 浙江科技學(xué)院 |
| 主分類號(hào): | G06F16/27 | 分類號(hào): | G06F16/27;G06F9/52 |
| 代理公司: | 杭州君度專利代理事務(wù)所(特殊普通合伙) 33240 | 代理人: | 朱月芬 |
| 地址: | 310023 浙*** | 國省代碼: | 浙江;33 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 分布式 數(shù)據(jù)庫 系統(tǒng) 中的 并發(fā) 訪問 控制 方法 | ||
1.一種分布式數(shù)據(jù)庫系統(tǒng)中的并發(fā)訪問控制方法,其特征在于該方法使用客戶端的時(shí)間戳加硬件唯一標(biāo)識(shí)來生成事務(wù)號(hào),事務(wù)號(hào)不需要在節(jié)點(diǎn)間進(jìn)行同步即能夠保持全局唯一性,且具有時(shí)序性;
當(dāng)只讀事務(wù)第一次訪問某行數(shù)據(jù)時(shí),讀取該行數(shù)據(jù)最新的提交版本,并將該版本的事務(wù)號(hào)記錄在客戶端,為重復(fù)訪問提供憑據(jù);當(dāng)此事務(wù)再次讀取該行時(shí),則可繼續(xù)讀取該行該版本的數(shù)據(jù);
當(dāng)讀寫事務(wù)訪讀取某行數(shù)據(jù)時(shí),讀取該行數(shù)據(jù)最新的提交版本,并在該行所在的節(jié)點(diǎn)的內(nèi)存中增加該行的讀鎖;
當(dāng)讀寫事務(wù)更新某行數(shù)據(jù)時(shí),將行的當(dāng)前版本的事務(wù)號(hào)和更新的內(nèi)容緩存在客戶端;事務(wù)提交時(shí),再將這次更新的內(nèi)容發(fā)到對(duì)應(yīng)節(jié)點(diǎn),并根據(jù)該行的當(dāng)前狀態(tài)來決定更新是否可行;
所述的根據(jù)該行的當(dāng)前狀態(tài)來決定更新是否可行,具體如下:
若數(shù)據(jù)行的當(dāng)前版本事務(wù)號(hào)與更新時(shí)的事務(wù)號(hào)一致,即該行的當(dāng)前版本仍然是讀寫事務(wù)更新時(shí)看到的版本;此時(shí)讀寫事務(wù)嘗試對(duì)本行加寫鎖,如果寫鎖加成功即可將行的數(shù)據(jù)部分和事務(wù)部分更新成本事務(wù)更新的后項(xiàng)和事務(wù)號(hào),更新動(dòng)作完成;如果讀寫事務(wù)對(duì)所有需要更新的數(shù)據(jù)都操作成功,則事務(wù)提交;事務(wù)提交并不需要再對(duì)數(shù)據(jù)行進(jìn)行操作,只要通知相應(yīng)的結(jié)點(diǎn)事務(wù)提交成功,將日志寫入即可;
若數(shù)據(jù)行的當(dāng)前版本事務(wù)號(hào)與更新時(shí)的事務(wù)號(hào)不一致,則說明在這個(gè)事務(wù)的更新和提交動(dòng)作之間,有另外一個(gè)讀寫事務(wù)更新本行成功,即當(dāng)前版本已經(jīng)被其他事務(wù)修改并已提交,此時(shí)本事務(wù)無條件回滾,讀寫事務(wù)更新失敗;
若該行上當(dāng)前存在其它事務(wù)的寫鎖,則讀寫事務(wù)根據(jù)自身事務(wù)號(hào)和加鎖事務(wù)的事務(wù)號(hào)的大小關(guān)系來決定是否允許本事務(wù)等待;等待關(guān)系規(guī)則如下:只允許事務(wù)號(hào)較大的事務(wù)等待事務(wù)號(hào)較小的事務(wù),不允許事務(wù)號(hào)較小的事務(wù)等待事務(wù)號(hào)較大的事務(wù),如果后一種情況發(fā)生,則此讀寫事務(wù)應(yīng)當(dāng)立即回滾;
若該行上當(dāng)前存在其它事務(wù)的讀鎖,此時(shí)根據(jù)讀鎖的數(shù)目作進(jìn)一步判斷,如果有多于一個(gè)的讀鎖,本讀寫事務(wù)直接回滾;如果只有另一個(gè)讀寫事務(wù)的讀鎖,則通過事務(wù)號(hào)的比對(duì)來決定兩者中事務(wù)號(hào)較小的事務(wù)回滾。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于浙江科技學(xué)院,未經(jīng)浙江科技學(xué)院許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010007610.X/1.html,轉(zhuǎn)載請(qǐng)聲明來源鉆瓜專利網(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ù)庫對(duì)象復(fù)制延遲監(jiān)控方法和裝置
- 數(shù)據(jù)分布式存儲(chǔ)方法、裝置、電子設(shè)備及存儲(chǔ)介質(zhì)
- 數(shù)據(jù)庫語句執(zhí)行方法及裝置





