[發(fā)明專利]一種數(shù)據(jù)寫入方法、裝置、計算機(jī)設(shè)備及存儲介質(zhì)有效
| 申請?zhí)枺?/td> | 202010463909.6 | 申請日: | 2020-05-27 |
| 公開(公告)號: | CN111625601B | 公開(公告)日: | 2023-03-14 |
| 發(fā)明(設(shè)計)人: | 諶宗佳;吳振宇;王家琦;林豪翔;周旋 | 申請(專利權(quán))人: | 北京火山引擎科技有限公司 |
| 主分類號: | G06F16/27 | 分類號: | G06F16/27;G06F16/23;G06F16/22;G06F11/14 |
| 代理公司: | 北京中知法苑知識產(chǎn)權(quán)代理有限公司 11226 | 代理人: | 李明;趙吉陽 |
| 地址: | 100190 北京市海*** | 國省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 數(shù)據(jù) 寫入 方法 裝置 計算機(jī) 設(shè)備 存儲 介質(zhì) | ||
本公開提供了一種數(shù)據(jù)寫入方法、裝置、計算機(jī)設(shè)備及存儲介質(zhì),其中,數(shù)據(jù)寫入方法應(yīng)用于數(shù)據(jù)庫系統(tǒng)中的第一數(shù)據(jù)節(jié)點,該方法包括:在接收到第二數(shù)據(jù)節(jié)點發(fā)送的第一寫入請求時,根據(jù)第一寫入請求中攜帶的請求編號,可以確定在第一數(shù)據(jù)節(jié)點已存儲數(shù)據(jù)中發(fā)送自第二數(shù)據(jù)節(jié)點發(fā)送的數(shù)據(jù)中是否出現(xiàn)缺失,響應(yīng)于存在缺失的情況,基于各個數(shù)據(jù)節(jié)點廣播的存儲數(shù)據(jù)信息,可以確定存儲有缺失數(shù)據(jù)的目標(biāo)數(shù)據(jù)節(jié)點,并從目標(biāo)數(shù)據(jù)節(jié)點中獲取缺失數(shù)據(jù)并進(jìn)行存儲,這樣,通過請求編號可以及時發(fā)現(xiàn)是否出現(xiàn)缺失數(shù)據(jù),并通過廣播的存儲數(shù)據(jù)信息,可以確定存儲有該缺失數(shù)據(jù)的數(shù)據(jù)節(jié)點,進(jìn)而補齊缺失數(shù)據(jù),可以實現(xiàn)數(shù)據(jù)庫系統(tǒng)中各個數(shù)據(jù)節(jié)點之間存儲數(shù)據(jù)的一致性。
技術(shù)領(lǐng)域
本公開涉及數(shù)據(jù)存儲技術(shù)領(lǐng)域,具體而言,涉及一種數(shù)據(jù)寫入方法、裝置、計算機(jī)設(shè)備及存儲介質(zhì)。
背景技術(shù)
目前,在無主數(shù)據(jù)庫(Leaderless Database)中,任一個數(shù)據(jù)節(jié)點均可直接響應(yīng)用戶的寫入請求。近些年來,無主數(shù)據(jù)庫由于其高可用性受到了廣大用戶的歡迎,無主數(shù)據(jù)庫比如Dynamo、Riak、Cassandra、Voldemort、ScyllaDB。
通常,大多數(shù)無主數(shù)據(jù)庫在一致性、可用性、分區(qū)容錯性三個要素中妥協(xié)了一致性,而一致性是數(shù)據(jù)庫的一個重要指標(biāo),因此,如何使無主數(shù)據(jù)庫中各個數(shù)據(jù)節(jié)點之間的數(shù)據(jù)保持一致是一個值得研究的話題。
發(fā)明內(nèi)容
本公開實施例至少提供一種數(shù)據(jù)寫入方法、裝置、計算機(jī)設(shè)備及存儲介質(zhì),可以實現(xiàn)數(shù)據(jù)庫系統(tǒng)中各個數(shù)據(jù)節(jié)點中存儲數(shù)據(jù)的一致性。
第一方面,本公開實施例提供了一種數(shù)據(jù)寫入方法,應(yīng)用于數(shù)據(jù)庫系統(tǒng)中的第一數(shù)據(jù)節(jié)點,所述數(shù)據(jù)寫入方法包括:
接收所述數(shù)據(jù)庫系統(tǒng)中第二數(shù)據(jù)節(jié)點發(fā)送的第一寫入請求;所述第一寫入請求攜帶有請求寫入的數(shù)據(jù)和該數(shù)據(jù)對應(yīng)的請求編號;
基于所述請求編號,確定所述第一數(shù)據(jù)節(jié)點已存儲數(shù)據(jù)中發(fā)送自所述第二數(shù)據(jù)節(jié)點的數(shù)據(jù)是否存在缺失;
響應(yīng)于存在缺失的情況,基于所述數(shù)據(jù)庫系統(tǒng)中各個數(shù)據(jù)節(jié)點廣播的存儲數(shù)據(jù)信息,確定存儲有所述缺失數(shù)據(jù)的目標(biāo)數(shù)據(jù)節(jié)點;
從所述目標(biāo)數(shù)據(jù)節(jié)點中獲取所述缺失數(shù)據(jù)并寫入。
一種可選的實施方式中,所述數(shù)據(jù)寫入方法還包括:
針對已存儲數(shù)據(jù)中帶有相同鍵的多個數(shù)據(jù),根據(jù)所述多個數(shù)據(jù)的時間戳,刪除所述多個數(shù)據(jù)中除最近寫入的數(shù)據(jù)之外的數(shù)據(jù);其中,所述數(shù)據(jù)以鍵值對的形式存儲。
一種可選的實施方式中,所述數(shù)據(jù)寫入方法還包括:
接收用戶端發(fā)送的第二寫入請求;
將所述第二寫入請求對應(yīng)的數(shù)據(jù)寫入,并將所述第二寫入請求對應(yīng)的數(shù)據(jù)發(fā)送至所述數(shù)據(jù)庫系統(tǒng)中的其它數(shù)據(jù)節(jié)點。
一種可選的實施方式中,所述第二寫入請求攜帶有配置值;在所述將所述第二寫入請求對應(yīng)的數(shù)據(jù)發(fā)送至所述數(shù)據(jù)庫系統(tǒng)中的其它數(shù)據(jù)節(jié)點之后,所述數(shù)據(jù)寫入方法還包括:
統(tǒng)計寫入所述第二寫入請求對應(yīng)的數(shù)據(jù)的數(shù)據(jù)節(jié)點的數(shù)量;
若所述數(shù)量大于或等于所述配置值,向所述用戶端反饋寫入所述第二寫入請求對應(yīng)的數(shù)據(jù)的成功信息;
若所述數(shù)量小于所述配置值,向所述用戶端反饋寫入所述第二寫入請求對應(yīng)的數(shù)據(jù)的失敗信息。
一種可選的實施方式中,所述基于所述請求編號,確定所述第一數(shù)據(jù)節(jié)點已存儲數(shù)據(jù)中發(fā)送自所述第二數(shù)據(jù)節(jié)點的數(shù)據(jù)是否存在缺失,包括:
確定存儲的所述第二數(shù)據(jù)節(jié)點發(fā)送的數(shù)據(jù)對應(yīng)的最大數(shù)據(jù)編號;
根據(jù)所述請求編號與所述最大數(shù)據(jù)編號之間的差值,確定所述第一數(shù)據(jù)節(jié)點已存儲數(shù)據(jù)中發(fā)送自所述第二數(shù)據(jù)節(jié)點的數(shù)據(jù)是否存在缺失。
該專利技術(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/202010463909.6/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 數(shù)據(jù)顯示系統(tǒng)、數(shù)據(jù)中繼設(shè)備、數(shù)據(jù)中繼方法、數(shù)據(jù)系統(tǒng)、接收設(shè)備和數(shù)據(jù)讀取方法
- 數(shù)據(jù)記錄方法、數(shù)據(jù)記錄裝置、數(shù)據(jù)記錄媒體、數(shù)據(jù)重播方法和數(shù)據(jù)重播裝置
- 數(shù)據(jù)發(fā)送方法、數(shù)據(jù)發(fā)送系統(tǒng)、數(shù)據(jù)發(fā)送裝置以及數(shù)據(jù)結(jié)構(gòu)
- 數(shù)據(jù)顯示系統(tǒng)、數(shù)據(jù)中繼設(shè)備、數(shù)據(jù)中繼方法及數(shù)據(jù)系統(tǒng)
- 數(shù)據(jù)嵌入裝置、數(shù)據(jù)嵌入方法、數(shù)據(jù)提取裝置及數(shù)據(jù)提取方法
- 數(shù)據(jù)管理裝置、數(shù)據(jù)編輯裝置、數(shù)據(jù)閱覽裝置、數(shù)據(jù)管理方法、數(shù)據(jù)編輯方法以及數(shù)據(jù)閱覽方法
- 數(shù)據(jù)發(fā)送和數(shù)據(jù)接收設(shè)備、數(shù)據(jù)發(fā)送和數(shù)據(jù)接收方法
- 數(shù)據(jù)發(fā)送裝置、數(shù)據(jù)接收裝置、數(shù)據(jù)收發(fā)系統(tǒng)、數(shù)據(jù)發(fā)送方法、數(shù)據(jù)接收方法和數(shù)據(jù)收發(fā)方法
- 數(shù)據(jù)發(fā)送方法、數(shù)據(jù)再現(xiàn)方法、數(shù)據(jù)發(fā)送裝置及數(shù)據(jù)再現(xiàn)裝置
- 數(shù)據(jù)發(fā)送方法、數(shù)據(jù)再現(xiàn)方法、數(shù)據(jù)發(fā)送裝置及數(shù)據(jù)再現(xiàn)裝置





