份副本數(shù)據(jù)進(jìn)行 業(yè)務(wù)處理時(shí),具體執(zhí)行以下步驟:
[0157] 判斷正確版本號與指定版本號是否相同;
[0158] 若正確版本號與指定版本號相同,更新指定版本號對應(yīng)的副本數(shù)據(jù);
[0159] 若正確版本號與指定版本號不相同,向客戶端返回失敗響應(yīng)。
[0160] 在一個(gè)實(shí)施例中,業(yè)務(wù)請求包括:客戶端發(fā)送的寫數(shù)據(jù)請求;業(yè)務(wù)處理包括:寫操 作;
[0161] 若目標(biāo)數(shù)據(jù)的副本數(shù)據(jù)的總數(shù)量為N,N為大于1的正整數(shù);讀取的所述目標(biāo)數(shù)據(jù) 的副本數(shù)據(jù)的最小數(shù)量為R,R為大于〇的正整數(shù);則完成寫操作所需要寫入的副本數(shù)據(jù)的 最小數(shù)量為W ;
[0162] 處理器601在執(zhí)行根據(jù)確定的正確的副本數(shù)據(jù)對目標(biāo)數(shù)據(jù)的多份副本數(shù)據(jù)進(jìn)行 業(yè)務(wù)處理之后,還用于執(zhí)行:
[0163] 在滿足R+W>N的條件時(shí),向客戶端返回成功響應(yīng)。
[0164] 本發(fā)明實(shí)施例提供一種數(shù)據(jù)處理方法,在分布式存儲系統(tǒng)中,目標(biāo)數(shù)據(jù)的多份副 本數(shù)據(jù)可分別在不同的存儲服務(wù)器中,在接收到對目標(biāo)數(shù)據(jù)的業(yè)務(wù)請求時(shí),讀取目標(biāo)數(shù)據(jù) 的多份副本數(shù)據(jù),在判斷到目標(biāo)數(shù)據(jù)的多份副本數(shù)據(jù)不一致時(shí),從目標(biāo)數(shù)據(jù)的多份副本數(shù) 據(jù)中確定一份正確的副本數(shù)據(jù),進(jìn)而可根據(jù)正確的副本數(shù)據(jù)對目標(biāo)數(shù)據(jù)的多份副本數(shù)據(jù)進(jìn) 行業(yè)務(wù)處理。通過本發(fā)明實(shí)施例,可檢測到副本數(shù)據(jù)的不一致,且可確定正確的副本數(shù)據(jù), 從而根據(jù)正確的副本數(shù)據(jù)進(jìn)行業(yè)務(wù)處理,保證了數(shù)據(jù)的一致性,提高了數(shù)據(jù)的讀寫性能。
[0165] 本發(fā)明實(shí)施例還公開了一種數(shù)據(jù)處理系統(tǒng),如圖7所示,是本發(fā)明實(shí)施例提供的 一種數(shù)據(jù)處理系統(tǒng)的示意圖。如圖7所示,本發(fā)明實(shí)施例提供的數(shù)據(jù)處理系統(tǒng)可包括:客戶 端71、訪問服務(wù)器72、存儲服務(wù)器731、存儲服務(wù)器732……存儲服務(wù)器73N,進(jìn)一步可選的, 還可以包括修復(fù)服務(wù)器74、搬遷服務(wù)器75。其中,N為大于1的正整數(shù)。其中,訪問服務(wù)器 72如圖5所示實(shí)施例中的裝置。進(jìn)一步可選的,本發(fā)明實(shí)施例提供的數(shù)據(jù)處理系統(tǒng)還可以 包括:分布式管理單元76,用于管理存儲的數(shù)據(jù)和數(shù)據(jù)的路由信息等,分布式管理單元76 可分別與訪問服務(wù)器72和搬遷服務(wù)器75連接。
[0166] 本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例方法中的全部或部分流程,是可以 通過計(jì)算機(jī)程序來指令相關(guān)的硬件來完成,所述的程序可存儲于一計(jì)算機(jī)可讀取存儲介質(zhì) 中,該程序在執(zhí)行時(shí),可包括如上述各方法的實(shí)施例的流程。其中,所述的存儲介質(zhì)可為磁 碟、光盤、只讀存儲記憶體(Read-Only Memory, ROM)或隨機(jī)存儲記憶體(Random Access Memory,RAM)等。
[0167] 以上所揭露的僅為本發(fā)明較佳實(shí)施例而已,當(dāng)然不能以此來限定本發(fā)明之權(quán)利范 圍,因此依本發(fā)明權(quán)利要求所作的等同變化,仍屬本發(fā)明所涵蓋的范圍。
【主權(quán)項(xiàng)】
1. 一種數(shù)據(jù)處理方法,其特征在于,所述方法包括: 在接收到對目標(biāo)數(shù)據(jù)的業(yè)務(wù)請求時(shí),讀取所述目標(biāo)數(shù)據(jù)的多份副本數(shù)據(jù),其中,所述多 份副本數(shù)據(jù)為分別存儲在不同的存儲服務(wù)器中的副本數(shù)據(jù); 判斷所述目標(biāo)數(shù)據(jù)的多份副本數(shù)據(jù)是否一致; 在所述目標(biāo)數(shù)據(jù)的多份副本數(shù)據(jù)不一致時(shí),從所述目標(biāo)數(shù)據(jù)的多份副本數(shù)據(jù)中確定一 份正確的副本數(shù)據(jù); 根據(jù)所述確定的正確的副本數(shù)據(jù)對所述目標(biāo)數(shù)據(jù)的多份副本數(shù)據(jù)進(jìn)行業(yè)務(wù)處理。2. 如權(quán)利要求1所述的方法,其特征在于,所述讀取所述目標(biāo)數(shù)據(jù)的多份副本數(shù)據(jù)包 括:讀取所述目標(biāo)數(shù)據(jù)的多份副本數(shù)據(jù)的版本號; 所述判斷所述目標(biāo)數(shù)據(jù)的多份副本數(shù)據(jù)是否一致包括: 判斷所述目標(biāo)數(shù)據(jù)的多份副本數(shù)據(jù)的版本號是否一致; 所述從所述目標(biāo)數(shù)據(jù)的多份副本數(shù)據(jù)中確定一份正確的副本數(shù)據(jù),包括: 比較所述目標(biāo)數(shù)據(jù)的多份副本數(shù)據(jù)的版本號,將所述多份副本數(shù)據(jù)的版本號中最新的 版本號確定為所述目標(biāo)數(shù)據(jù)的正確版本號; 將所述正確版本號對應(yīng)的副本數(shù)據(jù)確定為所述正確的副本數(shù)據(jù)。3. 如權(quán)利要求1所述的方法,其特征在于,所述業(yè)務(wù)請求包括:所述目標(biāo)數(shù)據(jù)的數(shù)據(jù)標(biāo) 識; 所述根據(jù)所述確定的正確的副本數(shù)據(jù)對所述目標(biāo)數(shù)據(jù)的多份副本數(shù)據(jù)進(jìn)行業(yè)務(wù)處理, 包括: 向修復(fù)服務(wù)器發(fā)送修復(fù)信息,以使所述修復(fù)服務(wù)器根據(jù)所述修復(fù)服務(wù)器控制訪問服務(wù) 器執(zhí)行數(shù)據(jù)修復(fù),其中,所述修復(fù)信息包括所述目標(biāo)數(shù)據(jù)的數(shù)據(jù)標(biāo)識。4. 如權(quán)利要求2所述的方法,其特征在于,所述根據(jù)所述確定的正確的副本數(shù)據(jù)對所 述目標(biāo)數(shù)據(jù)的多份副本數(shù)據(jù)進(jìn)行業(yè)務(wù)處理包括: 接收修復(fù)服務(wù)器發(fā)送的修復(fù)請求,其中,所述修復(fù)請求包括所述目標(biāo)數(shù)據(jù)的數(shù)據(jù)標(biāo) 識; 確定所述目標(biāo)數(shù)據(jù)的數(shù)據(jù)標(biāo)識對應(yīng)的多份副本數(shù)據(jù)的版本號中與所述正確版本號不 一致的版本號,對所述不一致的版本號對應(yīng)的副本數(shù)據(jù)進(jìn)行修復(fù)。5. 如權(quán)利要求1所述的方法,其特征在于,所述業(yè)務(wù)請求包括:所述目標(biāo)數(shù)據(jù)的數(shù)據(jù)標(biāo) 識; 所述方法還包括: 向搬遷管理服務(wù)器發(fā)送數(shù)據(jù)搬遷請求,其中,所述數(shù)據(jù)搬遷請求包括所述目標(biāo)數(shù)據(jù)的 數(shù)據(jù)標(biāo)識和所述目標(biāo)存儲服務(wù)器的標(biāo)識,以使所述搬遷服務(wù)器控制將所述目標(biāo)數(shù)據(jù)的數(shù)據(jù) 標(biāo)識對應(yīng)的正確的副本數(shù)據(jù)寫入所述目標(biāo)存儲服務(wù)器標(biāo)識對應(yīng)的目標(biāo)存儲服務(wù)器。6. 如權(quán)利要求2所述的方法,其特征在于,所述業(yè)務(wù)請求包括:攜帶指定版本號的寫數(shù) 據(jù)請求; 所述根據(jù)所述確定的正確的副本數(shù)據(jù)對所述目標(biāo)數(shù)據(jù)的多份副本數(shù)據(jù)進(jìn)行業(yè)務(wù)處理, 包括: 判斷所述正確版本號與所述指定版本號是否相同; 若所述正確版本號與所述指定版本號相同,更新所述指定版本號對應(yīng)的副本數(shù)據(jù); 若所述正確版本號與所述指定版本號不相同,向客戶端返回失敗響應(yīng)。7. 如權(quán)利要求1所述的方法,其特征在于,所述業(yè)務(wù)請求包括:客戶端發(fā)送的寫數(shù)據(jù)請 求;所述業(yè)務(wù)處理包括:寫操作; 若所述目標(biāo)數(shù)據(jù)的副本數(shù)據(jù)的總數(shù)量為N,N為大于1的正整數(shù);所述讀取的所述目標(biāo) 數(shù)據(jù)的副本數(shù)據(jù)的最小數(shù)量為R,R為大于〇的正整數(shù);則完成所述寫操作所需要寫入的副 本數(shù)據(jù)的最小數(shù)量為W; 所述根據(jù)所述確定的正確的副本數(shù)據(jù)對所述目標(biāo)數(shù)據(jù)的多份副本數(shù)據(jù)進(jìn)行業(yè)務(wù)處理 之后,所述方法還包括: 在滿足R+W>N的條件時(shí),向所述客戶端返回成功響應(yīng)。8. -種數(shù)據(jù)處理裝置,其特征在于,所述裝置包括: 讀取模塊,用于在接收到對目標(biāo)數(shù)據(jù)的業(yè)務(wù)請求時(shí),讀取所述目標(biāo)數(shù)據(jù)的多份副本數(shù) 據(jù),其中,所述多份副本數(shù)據(jù)為分別存儲在不同的存儲服務(wù)器中的副本數(shù)據(jù); 判斷模塊,用于判斷所述目標(biāo)數(shù)據(jù)的多份副本數(shù)據(jù)是否一致; 確定模塊,用于在所述判斷模塊的判斷結(jié)果為否時(shí),從所述目標(biāo)數(shù)據(jù)的多份副本數(shù)據(jù) 中確定一份正確的副本數(shù)據(jù); 業(yè)務(wù)處理模塊,用于根據(jù)所述確定的正確的副本數(shù)據(jù)對所述目標(biāo)數(shù)據(jù)的多份副本數(shù)據(jù) 進(jìn)行業(yè)務(wù)處理。9. 如權(quán)利要求8所述的裝置,其特征在于,所述讀取模塊具體用于:讀取所述目標(biāo)數(shù)據(jù) 的多份副本數(shù)據(jù)的版本號; 所述判斷模塊具體用于:判斷所述所述目標(biāo)數(shù)據(jù)的多份副本數(shù)據(jù)的版本號是否一致; 所述確定模塊具體用于:比較所述目標(biāo)數(shù)據(jù)的多份副本數(shù)據(jù)的版本號,將所述多份副 本數(shù)據(jù)的版本號中最新的版本號確定為所述目標(biāo)數(shù)據(jù)的正確版本號;將所述正確版本號對 應(yīng)的副本數(shù)據(jù)確定為所述正確的副本數(shù)據(jù)。10. 如權(quán)利要求8所述的裝置,其特征在于,所述業(yè)務(wù)請求包括:所述目標(biāo)數(shù)據(jù)的數(shù)據(jù) 標(biāo)識; 所述業(yè)務(wù)處理模塊包括: 修復(fù)信息發(fā)送單元,用于向修復(fù)服務(wù)器發(fā)送修復(fù)信息,以使所述修復(fù)服務(wù)器根據(jù)所述 修復(fù)服務(wù)器控制所述裝置執(zhí)行數(shù)據(jù)修復(fù),其中,所述修復(fù)信息包括所述目標(biāo)數(shù)據(jù)的數(shù)據(jù)標(biāo) 識。11. 如權(quán)利要求9所述的裝置,其特征在于,所述業(yè)務(wù)處理模塊包括: 修復(fù)請求接收單元,用于接收修復(fù)服務(wù)器發(fā)送的修復(fù)請求,其中,所述修復(fù)請求包括所 述目標(biāo)數(shù)據(jù)的數(shù)據(jù)標(biāo)識; 修復(fù)單元,用于確定所述目標(biāo)數(shù)據(jù)的數(shù)據(jù)標(biāo)識對應(yīng)的多份副本數(shù)據(jù)的版本號中與所述 正確版本號不一致的版本號,對所述不一致的版本號對應(yīng)的副本數(shù)據(jù)進(jìn)行修復(fù)。12. 如權(quán)利要求8所述的裝置,其特征在于,所述業(yè)務(wù)請求包括:所述目標(biāo)數(shù)據(jù)的數(shù)據(jù) 標(biāo)識; 所述方法還包括: 搬遷請求發(fā)送模塊,用于向搬遷管理服務(wù)器發(fā)送數(shù)據(jù)搬遷請求,其中,所述數(shù)據(jù)搬遷請 求包括所述目標(biāo)數(shù)據(jù)的數(shù)據(jù)標(biāo)識和所述目標(biāo)存儲服務(wù)器的標(biāo)識,以使所述搬遷服務(wù)器控制 將所述目標(biāo)數(shù)據(jù)的數(shù)據(jù)標(biāo)識對應(yīng)的正確的副本數(shù)據(jù)寫入所述目標(biāo)存儲服務(wù)器標(biāo)識對應(yīng)的 目標(biāo)存儲服務(wù)器。13. 如權(quán)利要求9所述的裝置,其特征在于,所述業(yè)務(wù)請求包括:攜帶指定版本號的寫 數(shù)據(jù)請求; 所述業(yè)務(wù)處理模塊,包括: 判斷單元,用于判斷所述正確版本號與所述指定版本號是否相同; 更新單元,用于在所述判斷單元的判斷結(jié)果為是時(shí),更新所述指定版本號對應(yīng)的副本 數(shù)據(jù); 響應(yīng)單元,用于在所述判斷單元的判斷結(jié)果為否時(shí),向客戶端返回失敗響應(yīng)。14. 如權(quán)利要求8所述的裝置,其特征在于,所述業(yè)務(wù)請求包括:客戶端發(fā)送的寫數(shù)據(jù) 請求;所述業(yè)務(wù)處理包括:寫操作; 若所述目標(biāo)數(shù)據(jù)的副本數(shù)據(jù)的總數(shù)量為N,N為大于1的正整數(shù);所述讀取模塊讀取的 所述目標(biāo)數(shù)據(jù)的副本數(shù)據(jù)的最小數(shù)量為R,R為大于〇的正整數(shù);則完成所述寫操作所需要 寫入的副本數(shù)據(jù)的最小數(shù)量為W ; 所述裝置還包括: 響應(yīng)模塊,用于在滿足R+W>N的條件時(shí),向所述客戶端返回成功響應(yīng)。15. -種訪問服務(wù)器,其特征在于,包括如權(quán)利要求8~14任一所述的裝置。
【專利摘要】本發(fā)明公開了一種數(shù)據(jù)處理方法及裝置,其中方法可包括:在接收到對目標(biāo)數(shù)據(jù)的業(yè)務(wù)請求時(shí),讀取目標(biāo)數(shù)據(jù)的多份副本數(shù)據(jù),其中,多份副本數(shù)據(jù)為分別存儲在不同的存儲服務(wù)器中的副本數(shù)據(jù);判斷目標(biāo)數(shù)據(jù)的多份副本數(shù)據(jù)是否一致;若不一致,從目標(biāo)數(shù)據(jù)的多份副本數(shù)據(jù)中確定一份正確的副本數(shù)據(jù);根據(jù)確定的正確的副本數(shù)據(jù)對目標(biāo)數(shù)據(jù)的多份副本數(shù)據(jù)進(jìn)行業(yè)務(wù)處理。采用本發(fā)明實(shí)施例,可檢測到副本數(shù)據(jù)的不一致,且可確定正確的副本數(shù)據(jù),從而根據(jù)正確的副本數(shù)據(jù)進(jìn)行業(yè)務(wù)處理,保證了數(shù)據(jù)的一致性,提高了數(shù)據(jù)的讀寫性能。
【IPC分類】H04L29/08
【公開號】CN105516230
【申請?zhí)枴緾N201410545693
【發(fā)明人】傅飛玲, 李雅卿, 肖芬, 吳景旺, 鐘軼
【申請人】深圳市騰訊計(jì)算機(jī)系統(tǒng)有限公司
【公開日】2016年4月20日
【申請日】2014年10月15日