[發(fā)明專利]一種數(shù)據(jù)寫入的方法和裝置有效
| 申請(qǐng)?zhí)枺?/td> | 201810706826.8 | 申請(qǐng)日: | 2018-07-02 |
| 公開(公告)號(hào): | CN110737716B | 公開(公告)日: | 2022-09-23 |
| 發(fā)明(設(shè)計(jì))人: | 戴冠群 | 申請(qǐng)(專利權(quán))人: | 華為技術(shù)有限公司 |
| 主分類號(hào): | G06F16/27 | 分類號(hào): | G06F16/27;G06F11/14 |
| 代理公司: | 北京龍雙利達(dá)知識(shí)產(chǎn)權(quán)代理有限公司 11329 | 代理人: | 張欣;王君 |
| 地址: | 518129 廣東*** | 國省代碼: | 廣東;44 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 數(shù)據(jù) 寫入 方法 裝置 | ||
本申請(qǐng)?zhí)峁┝艘环N數(shù)據(jù)寫入的方法和裝置。該方法包括:主節(jié)點(diǎn)將日志的N個(gè)子日志存儲(chǔ)到本地,所述日志是根據(jù)一個(gè)原子寫請(qǐng)求生成的,所述一個(gè)原子寫請(qǐng)求包括N個(gè)子寫,所述子日志中記錄子寫的信息,N為大于0的正整數(shù);所述主節(jié)點(diǎn)將所述N個(gè)子日志備份到備節(jié)點(diǎn)中;所述主節(jié)點(diǎn)在確定所述N個(gè)子日志全部存儲(chǔ)到所述備節(jié)點(diǎn)的情況下,將所述日志標(biāo)記為有效。本申請(qǐng)?zhí)峁┑募夹g(shù)方案可以在數(shù)據(jù)備份的過程中通過日志機(jī)制保證一組寫請(qǐng)求的原子性,避免了現(xiàn)有技術(shù)中通過文件系統(tǒng)語義鎖來實(shí)現(xiàn)原子性,從而可以降低流程復(fù)雜性以及系統(tǒng)開銷。
技術(shù)領(lǐng)域
本申請(qǐng)涉及存儲(chǔ)領(lǐng)域,并且更具體地,涉及一種數(shù)據(jù)寫入的方法和裝置。
背景技術(shù)
存儲(chǔ)系統(tǒng)中,為了防止操作系統(tǒng)出現(xiàn)硬件或存儲(chǔ)媒體出現(xiàn)故障而導(dǎo)致的數(shù)據(jù)丟失,可以將本地存儲(chǔ)的數(shù)據(jù)備份到備用節(jié)點(diǎn)中。文件系統(tǒng)是操作系統(tǒng)中管理和存儲(chǔ)文件信息的軟件機(jī)構(gòu),主要負(fù)責(zé)為用戶建立文件,存入、讀出、轉(zhuǎn)儲(chǔ)文件,控制文件的存取等。文件系統(tǒng)在提供數(shù)據(jù)備份的存儲(chǔ)服務(wù)過程中,主要通過原子操作(即需要保證一組寫請(qǐng)求全部成功或全部失敗)來防止掉電或系統(tǒng)崩潰造成的數(shù)據(jù)不一致或損壞。例如,網(wǎng)絡(luò)附屬存儲(chǔ)(network attached storage,NAS)可以是一種為存儲(chǔ)設(shè)備提供高效穩(wěn)定的文件系統(tǒng)。
現(xiàn)有技術(shù)在數(shù)據(jù)備份的過程中,為了保證文件系統(tǒng)中多個(gè)節(jié)點(diǎn)之間的原子操作,需要在文件系統(tǒng)中增加語義鎖,在數(shù)據(jù)備份過程中,通過語義鎖保證一組寫請(qǐng)求的原子操作。但是,通過增加語義鎖來保證寫請(qǐng)求的原子操作會(huì)使得系統(tǒng)流程復(fù)雜,同時(shí)需要在一組寫請(qǐng)求全部寫入并備份成功之后,需要打開語義鎖,從而增加了系統(tǒng)開銷。
因此,如何在數(shù)據(jù)備份過程中,保證寫請(qǐng)求的原子操作的同時(shí)可以降低流程復(fù)雜性以及系統(tǒng)開銷。
發(fā)明內(nèi)容
本申請(qǐng)?zhí)峁┮环N數(shù)據(jù)寫入的方法和裝置,可以在數(shù)據(jù)備份的過程中通過日志機(jī)制保證一組寫請(qǐng)求的原子性,避免了現(xiàn)有技術(shù)中通過文件系統(tǒng)語義鎖來實(shí)現(xiàn)原子性,從而可以降低流程復(fù)雜性以及系統(tǒng)開銷。
第一方面,提供了一種數(shù)據(jù)寫入的方法,該方法包括:主節(jié)點(diǎn)將日志的N個(gè)子日志存儲(chǔ)到本地;所述主節(jié)點(diǎn)將所述N個(gè)子日志備份到備節(jié)點(diǎn)中;所述主節(jié)點(diǎn)在確定N個(gè)子日志全部存儲(chǔ)到所述備節(jié)點(diǎn)的情況下,將所述日志標(biāo)記為有效。
本申請(qǐng)實(shí)施例中,一組寫請(qǐng)求可以包括N個(gè)子寫,N為大于0的正整數(shù)。為了保證該一組寫請(qǐng)求全部成功或全部失敗(也就是說,該一組寫請(qǐng)求為不可被中斷的一個(gè)或一個(gè)系列操作),該組寫請(qǐng)求可以被稱為一個(gè)原子寫,該組寫請(qǐng)求也可以稱為具有原子性。
應(yīng)理解,一個(gè)原子寫中的一連串子寫可以生成一條日志(log),一個(gè)原子寫中的N個(gè)子寫可以生成N條子日志(sublog)。其中,子日志可以記錄子寫的信息(也就是說,一個(gè)子寫可以對(duì)應(yīng)一條子日志),記錄的信息可以包括但不限于:存放的地址(起始地址),寫入的數(shù)據(jù)、寫入數(shù)據(jù)的長度等。
本申請(qǐng)實(shí)施例中,在數(shù)據(jù)備份的過程中通過日志機(jī)制保證一組寫請(qǐng)求的原子性,避免了現(xiàn)有技術(shù)中通過文件系統(tǒng)語義鎖來實(shí)現(xiàn)原子性,從而可以降低流程復(fù)雜性以及系統(tǒng)開銷。
結(jié)合第一方面,在第一方面的某些實(shí)現(xiàn)方式中,所述方法還包括:在所述備節(jié)點(diǎn)中的所述N個(gè)子日志存儲(chǔ)失敗的情況下,所述主節(jié)點(diǎn)將存儲(chǔ)的所述N個(gè)子日志刪除。
可選地,在一些實(shí)施例中,如果對(duì)端由于資源或各種原因,使得對(duì)端的操作執(zhí)行失敗。本申請(qǐng)實(shí)施例可以采用回滾機(jī)制,可以將本端存儲(chǔ)的log回滾掉,可以保障整個(gè)系統(tǒng)數(shù)據(jù)的原子性(一組寫請(qǐng)求或者全部成功或者全部失敗)。
本申請(qǐng)實(shí)施例中,通過回滾機(jī)制保障節(jié)點(diǎn)間寫請(qǐng)求的原子性,避免了現(xiàn)有技術(shù)中依賴重試來保障節(jié)點(diǎn)間寫請(qǐng)求的原子性,提高了系統(tǒng)的可服務(wù)性。
結(jié)合第一方面,在第一方面的某些實(shí)現(xiàn)方式中,所述N個(gè)子日志攜帶相同的日志標(biāo)識(shí)號(hào)ID,所述主節(jié)點(diǎn)根據(jù)所述ID將所述N個(gè)子日志有序存儲(chǔ)到所述主節(jié)點(diǎn)的日志存儲(chǔ)容器中。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于華為技術(shù)有限公司,未經(jīng)華為技術(shù)有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201810706826.8/2.html,轉(zhuǎn)載請(qǐng)聲明來源鉆瓜專利網(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)裝置
- 一種數(shù)據(jù)庫讀寫分離的方法和裝置
- 一種手機(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ì)





