對(duì)象存儲(chǔ)系統(tǒng)中的對(duì)象數(shù)據(jù)的更新方法和更新裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本申請(qǐng)涉及計(jì)算機(jī)技術(shù)領(lǐng)域,具體涉及數(shù)據(jù)存儲(chǔ)技術(shù)領(lǐng)域,尤其涉及對(duì)象存儲(chǔ)系統(tǒng)中的對(duì)象數(shù)據(jù)的更新方法和更新裝置。
【背景技術(shù)】
[0002]在云計(jì)算服務(wù)中,對(duì)象存儲(chǔ)服務(wù)是一個(gè)非常重要的基礎(chǔ)服務(wù)。對(duì)象存儲(chǔ)服務(wù)將數(shù)據(jù)作為對(duì)象寫在用戶的存儲(chǔ)區(qū)域中,用戶可以寫入、讀取和刪除該存儲(chǔ)區(qū)域中的對(duì)象。
[0003]在現(xiàn)有的對(duì)象存儲(chǔ)系統(tǒng)中,可以支持的最大單個(gè)對(duì)象數(shù)據(jù)的大小為5T?,F(xiàn)有的對(duì)象存儲(chǔ)系統(tǒng)在進(jìn)行數(shù)據(jù)存儲(chǔ)時(shí),通常采用將數(shù)據(jù)切分成小塊存儲(chǔ),并使用元數(shù)據(jù)(metadata)來維護(hù)對(duì)象和各小塊數(shù)據(jù)之間的關(guān)系。
[0004]—般而言,用戶對(duì)數(shù)據(jù)的操作包括復(fù)制操作和刪除操作。
[0005]對(duì)刪除操作而言,現(xiàn)有的技術(shù)方案可以概括為兩種:
[0006]1、直接刪除:用戶發(fā)起刪除對(duì)象的操作之后,系統(tǒng)就直接刪除該對(duì)象相關(guān)的數(shù)據(jù)塊和metadata。
[0007]2、垃圾回收:刪除時(shí)并不立即釋放物理空間,而是采用惰性策略,在周期性的常規(guī)垃圾掃描才回收物理空間。
[0008]對(duì)復(fù)制操作而言,現(xiàn)有技術(shù)的方案為直接復(fù)制。
[0009]對(duì)于現(xiàn)有的直接復(fù)制和直接刪除操作,其處理邏輯復(fù)雜,容易失敗。特別地,當(dāng)對(duì)象數(shù)據(jù)較大時(shí),甚至?xí)婕暗綆资f個(gè)數(shù)據(jù)塊的復(fù)制/刪除,若處理過程中出現(xiàn)異?;蚴。粌H可能導(dǎo)致垃圾數(shù)據(jù)或者數(shù)據(jù)不完整的情況發(fā)生,還容易導(dǎo)致metadata數(shù)據(jù)不一致的情況發(fā)生。此外,當(dāng)對(duì)象數(shù)據(jù)較大時(shí),復(fù)制/刪除操作的過程時(shí)間長,導(dǎo)致對(duì)象存儲(chǔ)系統(tǒng)壓力較大。若多個(gè)用戶同時(shí)發(fā)起大量的復(fù)制/刪除操作,容易使系統(tǒng)負(fù)載陡然上升,甚至無法執(zhí)行相應(yīng)的操作。
[0010]對(duì)于現(xiàn)有的刪除操作中的垃圾回收的方案,其主要缺點(diǎn)是對(duì)存儲(chǔ)空間的浪費(fèi)。
【發(fā)明內(nèi)容】
[0011]本申請(qǐng)的目的在于提出一種改進(jìn)的對(duì)象存儲(chǔ)系統(tǒng)中的對(duì)象數(shù)據(jù)的更新方法和更新裝置,來解決以上【背景技術(shù)】部分提到的技術(shù)問題。
[0012]第一方面,本申請(qǐng)?zhí)峁┝艘环N對(duì)象存儲(chǔ)系統(tǒng)中的對(duì)象數(shù)據(jù)更新方法,其中,對(duì)象存儲(chǔ)系統(tǒng)中存儲(chǔ)有多個(gè)對(duì)象數(shù)據(jù),每個(gè)對(duì)象數(shù)據(jù)包括元數(shù)據(jù)和分片存儲(chǔ)的實(shí)際數(shù)據(jù),方法包括:接收用戶的對(duì)象數(shù)據(jù)更新請(qǐng)求,其中,對(duì)象數(shù)據(jù)更新請(qǐng)求包括更新請(qǐng)求的類型和待更新的對(duì)象數(shù)據(jù)的身份信息;基于待更新的對(duì)象數(shù)據(jù)的身份信息獲取待更新的對(duì)象數(shù)據(jù)的元數(shù)據(jù);基于更新請(qǐng)求的類型對(duì)待更新的對(duì)象數(shù)據(jù)的元數(shù)據(jù)執(zhí)行第一預(yù)定操作;基于待更新的對(duì)象數(shù)據(jù)的身份信息獲取待更新的對(duì)象數(shù)據(jù)的實(shí)際數(shù)據(jù);以及基于更新請(qǐng)求的類型對(duì)待更新的對(duì)象數(shù)據(jù)的實(shí)際數(shù)據(jù)執(zhí)行第二預(yù)定操作。
[0013]在一些實(shí)施例中,更新請(qǐng)求的類型包括復(fù)制請(qǐng)求,待更新的對(duì)象數(shù)據(jù)包括待復(fù)制對(duì)象數(shù)據(jù),待復(fù)制對(duì)象數(shù)據(jù)的身份信息包括復(fù)制對(duì)象數(shù)據(jù)的源存儲(chǔ)地址信息和目標(biāo)存儲(chǔ)地址信息;基于更新請(qǐng)求的類型對(duì)待更新的對(duì)象數(shù)據(jù)的元數(shù)據(jù)執(zhí)行第一預(yù)定操作包括:將待復(fù)制對(duì)象數(shù)據(jù)的元數(shù)據(jù)作為目標(biāo)對(duì)象數(shù)據(jù)的元數(shù)據(jù)存儲(chǔ)至目標(biāo)存儲(chǔ)地址;基于更新請(qǐng)求的類型對(duì)待更新的對(duì)象數(shù)據(jù)的實(shí)際數(shù)據(jù)執(zhí)行第二預(yù)定操作包括:將待復(fù)制對(duì)象數(shù)據(jù)的實(shí)際數(shù)據(jù)作為目標(biāo)對(duì)象數(shù)據(jù)的實(shí)際數(shù)據(jù)存儲(chǔ)到目標(biāo)存儲(chǔ)地址。
[0014]在一些實(shí)施例中,將待復(fù)制對(duì)象數(shù)據(jù)的元數(shù)據(jù)作為目標(biāo)對(duì)象數(shù)據(jù)的元數(shù)據(jù)存儲(chǔ)至目標(biāo)存儲(chǔ)地址包括:在待復(fù)制對(duì)象數(shù)據(jù)的元數(shù)據(jù)中,添加復(fù)制任務(wù)標(biāo)識(shí)。
[0015]在一些實(shí)施例中,待復(fù)制對(duì)象數(shù)據(jù)的元數(shù)據(jù)包括待復(fù)制對(duì)象數(shù)據(jù)的實(shí)際數(shù)據(jù)的當(dāng)前分片信息;在將待復(fù)制對(duì)象數(shù)據(jù)的實(shí)際數(shù)據(jù)復(fù)制到目標(biāo)存儲(chǔ)地址,生成目標(biāo)對(duì)象數(shù)據(jù)的實(shí)際數(shù)據(jù)之后,方法還包括:刪除復(fù)制任務(wù)標(biāo)識(shí);以及更新目標(biāo)對(duì)象數(shù)據(jù)的元數(shù)據(jù),使得目標(biāo)對(duì)象數(shù)據(jù)的元數(shù)據(jù)包括目標(biāo)對(duì)象數(shù)據(jù)的實(shí)際數(shù)據(jù)的當(dāng)前分片信息。
[0016]在一些實(shí)施例中,更新請(qǐng)求的類型包括刪除請(qǐng)求;待更新的對(duì)象數(shù)據(jù)包括待刪除對(duì)象數(shù)據(jù);待刪除對(duì)象數(shù)據(jù)的元數(shù)據(jù)包括待刪除對(duì)象數(shù)據(jù)的實(shí)際數(shù)據(jù)的當(dāng)前分片信息以及待刪除對(duì)象數(shù)據(jù)的實(shí)際數(shù)據(jù)的歷史分片信息;基于更新請(qǐng)求的類型對(duì)待更新的對(duì)象數(shù)據(jù)的元數(shù)據(jù)執(zhí)行第一預(yù)定操作包括:刪除待刪除對(duì)象數(shù)據(jù)的實(shí)際數(shù)據(jù)的當(dāng)前分片信息;基于更新請(qǐng)求的類型對(duì)待更新的對(duì)象數(shù)據(jù)的實(shí)際數(shù)據(jù)執(zhí)行第二預(yù)定操作包括:刪除待刪除對(duì)象數(shù)據(jù)的實(shí)際數(shù)據(jù)。
[0017]在一些實(shí)施例中,在刪除待刪除對(duì)象數(shù)據(jù)的實(shí)際數(shù)據(jù)之后,方法還包括:刪除待刪除對(duì)象數(shù)據(jù)的元數(shù)據(jù)中的歷史分片信息。
[0018]在一些實(shí)施例中,對(duì)象數(shù)據(jù)更新請(qǐng)求包括用戶身份信息;接收用戶的對(duì)象數(shù)據(jù)更新請(qǐng)求包括:基于用戶身份信息確定用戶的操作權(quán)限;基于待更新的對(duì)象數(shù)據(jù)的身份信息獲取待更新的對(duì)象數(shù)據(jù)的元數(shù)據(jù)包括:基于用戶具有預(yù)定操作權(quán)限,獲取待更新的對(duì)象數(shù)據(jù)的元數(shù)據(jù);基于待更新的對(duì)象數(shù)據(jù)的身份信息獲取待更新的對(duì)象數(shù)據(jù)的實(shí)際數(shù)據(jù)包括:基于用戶具有預(yù)定操作權(quán)限,獲取待更新的對(duì)象數(shù)據(jù)的實(shí)際數(shù)據(jù)。
[0019]第二方面,本申請(qǐng)?zhí)峁┝艘环N對(duì)象存儲(chǔ)系統(tǒng)中的對(duì)象數(shù)據(jù)更新裝置,其中,對(duì)象存儲(chǔ)系統(tǒng)中存儲(chǔ)有多個(gè)對(duì)象數(shù)據(jù),每個(gè)對(duì)象數(shù)據(jù)包括元數(shù)據(jù)和分片存儲(chǔ)的實(shí)際數(shù)據(jù),裝置包括:接收模塊,配置用于接收用戶的對(duì)象數(shù)據(jù)更新請(qǐng)求,其中,對(duì)象數(shù)據(jù)更新請(qǐng)求包括更新請(qǐng)求的類型和待更新的對(duì)象數(shù)據(jù)的身份信息;第一獲取模塊,配置用于基于待更新的對(duì)象數(shù)據(jù)的身份信息獲取待更新的對(duì)象數(shù)據(jù)的元數(shù)據(jù);第一執(zhí)行模塊,配置用于基于更新請(qǐng)求的類型對(duì)待更新的對(duì)象數(shù)據(jù)的元數(shù)據(jù)執(zhí)行第一預(yù)定操作;第二獲取模塊,配置用于基于待更新的對(duì)象數(shù)據(jù)的身份信息獲取待更新的對(duì)象數(shù)據(jù)的實(shí)際數(shù)據(jù);以及第二執(zhí)行模塊,配置用于基于更新請(qǐng)求的類型對(duì)待更新的對(duì)象數(shù)據(jù)的實(shí)際數(shù)據(jù)執(zhí)行第二預(yù)定操作。
[0020]在一些實(shí)施例中,更新請(qǐng)求的類型包括復(fù)制請(qǐng)求,待更新的對(duì)象數(shù)據(jù)包括待復(fù)制對(duì)象數(shù)據(jù);待復(fù)制對(duì)象數(shù)據(jù)的身份信息包括待復(fù)制對(duì)象數(shù)據(jù)的存儲(chǔ)地址信息和目標(biāo)存儲(chǔ)地址信息;第一執(zhí)行模塊包括第一復(fù)制單元,配置用于將待復(fù)制對(duì)象數(shù)據(jù)的元數(shù)據(jù)作為目標(biāo)對(duì)象數(shù)據(jù)的元數(shù)據(jù)存儲(chǔ)至目標(biāo)存儲(chǔ)地址;第二執(zhí)行模塊包括第二復(fù)制單元,配置用于將待復(fù)制對(duì)象數(shù)據(jù)的實(shí)際數(shù)據(jù)作為目標(biāo)對(duì)象數(shù)據(jù)的實(shí)際數(shù)據(jù)存儲(chǔ)到目標(biāo)存儲(chǔ)地址。
[0021]在一些實(shí)施例中,第一復(fù)制單元進(jìn)一步配置用于:在待復(fù)制對(duì)象數(shù)據(jù)的元數(shù)據(jù)中,添加復(fù)制任務(wù)標(biāo)識(shí)。
[0022]在一些實(shí)施例中,待復(fù)制對(duì)象數(shù)據(jù)的元數(shù)據(jù)包括待更新的對(duì)象數(shù)據(jù)的實(shí)際數(shù)據(jù)的當(dāng)前分片信息;裝置還包括元數(shù)據(jù)更新模塊,配置用于:在第二復(fù)制單元將待復(fù)制對(duì)象數(shù)據(jù)的實(shí)際數(shù)據(jù)作為目標(biāo)對(duì)象數(shù)據(jù)的實(shí)際數(shù)據(jù)存儲(chǔ)到目標(biāo)存儲(chǔ)地址之后,刪除復(fù)制任務(wù)標(biāo)識(shí),以及更新目標(biāo)對(duì)象數(shù)據(jù)的元數(shù)據(jù),使得目標(biāo)對(duì)象數(shù)據(jù)的元數(shù)據(jù)包括目標(biāo)對(duì)象數(shù)據(jù)的實(shí)際數(shù)據(jù)的當(dāng)前分片信息。
[0023]在一些實(shí)施例中,更新請(qǐng)求的類型包括刪除請(qǐng)求;待更新的對(duì)象數(shù)據(jù)包括待刪除對(duì)象數(shù)據(jù);待刪除對(duì)象數(shù)據(jù)的元數(shù)據(jù)包括待刪除對(duì)象數(shù)據(jù)的實(shí)際數(shù)據(jù)的當(dāng)前分片信息以及待刪除對(duì)象數(shù)據(jù)的實(shí)際數(shù)據(jù)的歷史分片信息;第一執(zhí)行模塊包括第一刪除單元,配置用于刪除待刪除對(duì)象數(shù)據(jù)的元數(shù)據(jù)中的當(dāng)前分片信息;第二執(zhí)行模塊包括第二刪除單元,配置用于刪除待刪除對(duì)象數(shù)據(jù)的實(shí)際數(shù)據(jù)。
[0024]在一些實(shí)施例中,第二刪除單元進(jìn)一步配置用于:在刪除待刪除對(duì)象數(shù)據(jù)的實(shí)際數(shù)據(jù)之后,刪除待刪除對(duì)象數(shù)據(jù)的元數(shù)據(jù)中的歷史分片信息。
[0025]在一些實(shí)施例中,對(duì)象數(shù)據(jù)更新請(qǐng)求包括用戶身份信息;接收模塊還包括權(quán)限確定單元,配置用于基于用戶身份信息確定用戶的操作權(quán)限;第一執(zhí)行模塊進(jìn)一步配置用于:基于權(quán)限確定單元確定的用戶具有預(yù)定操作權(quán)限,獲取待更新的對(duì)象數(shù)據(jù)的元數(shù)據(jù);第二執(zhí)行模塊進(jìn)一步配置用于:基于權(quán)限確定單元確定的用戶具有預(yù)定操作權(quán)限,獲取待更新的對(duì)象數(shù)據(jù)的實(shí)際數(shù)據(jù)。
[0026]本申請(qǐng)?zhí)峁┑膶?duì)象存儲(chǔ)系統(tǒng)中的對(duì)象數(shù)據(jù)的更新方法和更新裝置,在用戶請(qǐng)求復(fù)制/刪除對(duì)象數(shù)據(jù)時(shí),通過分別對(duì)對(duì)象數(shù)據(jù)的元數(shù)據(jù)和實(shí)際數(shù)據(jù)執(zhí)行復(fù)制/刪除操作,從而提高復(fù)制/刪除操作的效率。
【附圖說明】