一種云存儲(chǔ)系統(tǒng)內(nèi)主從設(shè)備數(shù)據(jù)快速同步的方法
【技術(shù)領(lǐng)域】
[0001 ]本發(fā)明涉及云存儲(chǔ)系統(tǒng)中數(shù)據(jù)可靠性技術(shù),具體地說,涉及一種云存儲(chǔ)系統(tǒng)內(nèi)主 從設(shè)備數(shù)據(jù)快速同步的方法。
【背景技術(shù)】
[0002] 云存儲(chǔ)系統(tǒng)是一種典型的分布式存儲(chǔ)系統(tǒng),用戶的存儲(chǔ)請(qǐng)求由主存儲(chǔ)器來處理, 主存儲(chǔ)設(shè)備處于工作狀態(tài)。為了保證云存儲(chǔ)系統(tǒng)的可靠性,采用輔助存儲(chǔ)器設(shè)備一直保持 熱備份狀態(tài),當(dāng)主存儲(chǔ)設(shè)備出現(xiàn)故障時(shí)輔助存儲(chǔ)器代替主存儲(chǔ)器,由熱備狀態(tài)切換到工作 狀態(tài)。因此,在云存儲(chǔ)系統(tǒng)中主存儲(chǔ)器與輔助存儲(chǔ)直接的數(shù)據(jù)應(yīng)該保存嚴(yán)格的一致性,否則 當(dāng)故障發(fā)生時(shí)就會(huì)出現(xiàn)丟失用戶數(shù)據(jù)的嚴(yán)重?fù)p失。
[0003] 現(xiàn)有云存儲(chǔ)系統(tǒng)中主存儲(chǔ)器和輔助存儲(chǔ)器直接數(shù)據(jù)同步采用操作日志同步技術(shù), 用戶對(duì)主存儲(chǔ)器的數(shù)據(jù)存取請(qǐng)求操作以日志的方式記錄下來,同時(shí)對(duì)輔助存儲(chǔ)器也進(jìn)行相 同的數(shù)據(jù)存取,特別是對(duì)數(shù)據(jù)的寫操作等改變數(shù)據(jù)的操作。但是現(xiàn)有數(shù)據(jù)同步操作技術(shù)經(jīng) 常會(huì)出現(xiàn)寫操作瓶頸,導(dǎo)致主從存儲(chǔ)器直接數(shù)據(jù)同步效率很低,嚴(yán)重時(shí)會(huì)大大降低云存儲(chǔ) 系統(tǒng)的性能和可靠性。
【發(fā)明內(nèi)容】
[0004] 為了克服現(xiàn)有技術(shù)中存在的缺陷,本發(fā)明提出了一種云存儲(chǔ)系統(tǒng)內(nèi)主從設(shè)備數(shù)據(jù) 快速同步的方法,本發(fā)明還提供了針對(duì)于此分布式存儲(chǔ)系統(tǒng)的更新和查詢方法。為提高云 存儲(chǔ)的性能和可靠性提供基本的技術(shù)支持。實(shí)現(xiàn)云存儲(chǔ)系統(tǒng)中主存儲(chǔ)設(shè)備和輔助存儲(chǔ)設(shè)備 之間高效的數(shù)據(jù)同步。改善并優(yōu)化現(xiàn)有操作日志同步方法的弊端,克服大量并發(fā)寫操作引 起的數(shù)據(jù)同步瓶頸,提高云存儲(chǔ)系統(tǒng)的數(shù)據(jù)可靠性。
[0005] 其技術(shù)方案如下:
[0006] -種云存儲(chǔ)系統(tǒng)內(nèi)主從設(shè)備數(shù)據(jù)快速同步的方法,包括以下步驟:
[0007] 第一步,采用數(shù)據(jù)讀寫操作日志分離方法。首先把數(shù)據(jù)操作分為讀和寫兩大類,分 別建立讀操作日志和寫操作日志。由于讀操作不涉及數(shù)據(jù)同步問題,因此忽略讀操作日志 重點(diǎn)考慮寫操作引起的數(shù)據(jù)不一致。其次,專門為寫操作建立一個(gè)線程池來調(diào)度CHJ資源來 實(shí)現(xiàn)獨(dú)立的寫操作運(yùn)算,從技術(shù)角度使用可緩沖線程池來處理大量用戶的寫操作數(shù)據(jù)同 步,可緩沖線程池能夠根據(jù)用戶負(fù)載的大小動(dòng)態(tài)調(diào)整處理線程的數(shù)量,提高了云存儲(chǔ)系統(tǒng) 的資源利用率。
[0008] 第二步,使用局部時(shí)間片延遲提交同步操作的技術(shù)。對(duì)于大量用戶的寫數(shù)據(jù)操作, 以一個(gè)固定時(shí)間窗為單位選擇該時(shí)間片內(nèi)的所有寫操作一起完成數(shù)據(jù)同步。也就是當(dāng)有寫 操作出現(xiàn)時(shí)并不是立即對(duì)輔助存儲(chǔ)設(shè)備進(jìn)行數(shù)據(jù)同步,而是把一個(gè)時(shí)間片的所有寫操作集 中進(jìn)行同步處理,這樣避免了大量的硬盤尋道時(shí)間。
[0009] 第三步,為了解決延遲同步時(shí)主存儲(chǔ)設(shè)備發(fā)生故障對(duì)數(shù)據(jù)可靠性的影響,對(duì)局部 時(shí)間片延遲周期中的用戶請(qǐng)求提供事務(wù)回滾服務(wù)。當(dāng)用戶提交的寫操作請(qǐng)求處于延遲時(shí)間 片內(nèi),而此時(shí)主存儲(chǔ)器設(shè)備又發(fā)生了故障需要切換輔助存儲(chǔ)器,那么該延遲時(shí)間片內(nèi)所有 的用戶寫操作全部退回用戶,需要重新發(fā)起請(qǐng)求??傊?,這種延遲時(shí)間片內(nèi)回滾服務(wù)僅僅為 了避免極端故障出現(xiàn),對(duì)用戶的云存儲(chǔ)服務(wù)造成一定的負(fù)面影響。
[0010]本發(fā)明的有益效果為:
[0011]本發(fā)明針使得系統(tǒng)具有高可用性、高查詢并行度、和大數(shù)據(jù)容量的管理和擴(kuò)展能 力,并能夠有效降低管理和維護(hù)成本。
【具體實(shí)施方式】
[0012] 下面結(jié)合【具體實(shí)施方式】對(duì)本發(fā)明的技術(shù)方案作進(jìn)一步詳細(xì)地說明。
[0013] 本發(fā)明在仿真實(shí)驗(yàn)環(huán)境中進(jìn)行測(cè)試,仿真環(huán)境中有40個(gè)存儲(chǔ)節(jié)點(diǎn)的分布式集群系 統(tǒng),其中一個(gè)主存儲(chǔ)服務(wù)器,一個(gè)輔助存儲(chǔ)服務(wù)器。然后利用隨機(jī)算法模擬用戶的讀寫數(shù)據(jù) 請(qǐng)求,以泊松分布構(gòu)造請(qǐng)求模型來產(chǎn)生200次/分鐘的負(fù)載壓力,然后逐漸增加寫請(qǐng)求的負(fù) 載壓力,并測(cè)試主存儲(chǔ)器和輔助存儲(chǔ)器直接數(shù)據(jù)同步延遲(毫秒為單位),對(duì)比未使用該方 法和使用該方法的時(shí)間來驗(yàn)證發(fā)明的有效性。測(cè)試結(jié)果如表1所示:
[0014] 表1數(shù)據(jù)同步性能對(duì)比表
[0015]
[〇〇16」 以上所還,彳乂為本友明較佳的具體買施萬式,本友明的保F范圍小|很亍此,仕何熟 悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明披露的技術(shù)范圍內(nèi),可顯而易見地得到的技術(shù)方案的簡(jiǎn) 單變化或等效替換均落入本發(fā)明的保護(hù)范圍內(nèi)。
【主權(quán)項(xiàng)】
1. 一種云存儲(chǔ)系統(tǒng)內(nèi)主從設(shè)備數(shù)據(jù)快速同步的方法,其特征在于,包括以下步驟: 第一步,采用數(shù)據(jù)讀寫操作日志分離方法;首先把數(shù)據(jù)操作分為讀和寫兩大類,分別建 立讀操作日志和寫操作日志;讀操作不涉及數(shù)據(jù)同步問題,忽略讀操作日志重點(diǎn)考慮寫操 作引起的數(shù)據(jù)不一致;其次,專門為寫操作建立一個(gè)線程池來調(diào)度CHJ資源來實(shí)現(xiàn)獨(dú)立的寫 操作運(yùn)算,從技術(shù)角度使用可緩沖線程池來處理大量用戶的寫操作數(shù)據(jù)同步,可緩沖線程 池能夠根據(jù)用戶負(fù)載的大小動(dòng)態(tài)調(diào)整處理線程的數(shù)量,提高了云存儲(chǔ)系統(tǒng)的資源利用率; 第二步,使用局部時(shí)間片延遲提交同步操作的技術(shù);對(duì)于大量用戶的寫數(shù)據(jù)操作,以一 個(gè)固定時(shí)間窗為單位選擇該時(shí)間片內(nèi)的所有寫操作一起完成數(shù)據(jù)同步;也就是當(dāng)有寫操作 出現(xiàn)時(shí)并不是立即對(duì)輔助存儲(chǔ)設(shè)備進(jìn)行數(shù)據(jù)同步,而是把一個(gè)時(shí)間片的所有寫操作集中進(jìn) 行同步處理,這樣避免了大量的硬盤尋道時(shí)間; 第三步,為了解決延遲同步時(shí)主存儲(chǔ)設(shè)備發(fā)生故障對(duì)數(shù)據(jù)可靠性的影響,對(duì)局部時(shí)間 片延遲周期中的用戶請(qǐng)求提供事務(wù)回滾服務(wù);當(dāng)用戶提交的寫操作請(qǐng)求處于延遲時(shí)間片 內(nèi),而此時(shí)主存儲(chǔ)器設(shè)備又發(fā)生了故障需要切換輔助存儲(chǔ)器,那么該延遲時(shí)間片內(nèi)所有的 用戶寫操作全部退回用戶,需要重新發(fā)起請(qǐng)求。
【專利摘要】本發(fā)明公開了一種云存儲(chǔ)系統(tǒng)內(nèi)主從設(shè)備數(shù)據(jù)快速同步的方法,采用數(shù)據(jù)讀寫操作日志分離方法;使用局部時(shí)間片延遲提交同步操作的技術(shù);為了解決延遲同步時(shí)主存儲(chǔ)設(shè)備發(fā)生故障對(duì)數(shù)據(jù)可靠性的影響,本發(fā)明還提供了針對(duì)于此分布式存儲(chǔ)系統(tǒng)的更新和查詢方法。為提高云存儲(chǔ)的性能和可靠性提供基本的技術(shù)支持。實(shí)現(xiàn)云存儲(chǔ)系統(tǒng)中主存儲(chǔ)設(shè)備和輔助存儲(chǔ)設(shè)備之間高效的數(shù)據(jù)同步。改善并優(yōu)化現(xiàn)有操作日志同步方法的弊端,克服大量并發(fā)寫操作引起的數(shù)據(jù)同步瓶頸,提高云存儲(chǔ)系統(tǒng)的數(shù)據(jù)可靠性。
【IPC分類】G06F3/06
【公開號(hào)】CN105468297
【申請(qǐng)?zhí)枴緾N201510795567
【發(fā)明人】王海峰, 劉海濤, 王瑾, 曹云鵬
【申請(qǐng)人】臨沂大學(xué)
【公開日】2016年4月6日
【申請(qǐng)日】2015年11月18日