国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種數(shù)據(jù)存儲(chǔ)方法以及協(xié)議服務(wù)器的制造方法

      文檔序號(hào):9489110閱讀:362來源:國知局
      一種數(shù)據(jù)存儲(chǔ)方法以及協(xié)議服務(wù)器的制造方法
      【技術(shù)領(lǐng)域】
      [0001] 本發(fā)明涉及計(jì)算機(jī)領(lǐng)域,尤其涉及一種數(shù)據(jù)存儲(chǔ)方法以及協(xié)議服務(wù)器。
      【背景技術(shù)】
      [0002] 在現(xiàn)有的分布式存儲(chǔ)系統(tǒng)中,多個(gè)存儲(chǔ)節(jié)點(diǎn)相連形成集群,每個(gè)存儲(chǔ)節(jié)點(diǎn)均具備 數(shù)據(jù)存儲(chǔ)功能。分布式存儲(chǔ)系統(tǒng)通常提供一臺(tái)或多臺(tái)協(xié)議服務(wù)器(英文全稱:Protocol server)向用戶提供標(biāo)準(zhǔn)的服務(wù)器信息塊(英文全稱:ServerMessageBlock,簡稱:SMB) 協(xié)議服務(wù)功能。
      [0003] 如圖1所示,分布式存儲(chǔ)系統(tǒng)包括協(xié)議服務(wù)器和多個(gè)存儲(chǔ)節(jié)點(diǎn),圖1示出了存儲(chǔ) 節(jié)點(diǎn)1至存儲(chǔ)節(jié)點(diǎn)5,用戶程序可以通過如圖1所示的協(xié)議客戶端(英文全稱:Protocol client)訪問存儲(chǔ)系統(tǒng),其中,協(xié)議客戶端與協(xié)議服務(wù)器通過前端網(wǎng)絡(luò)相連,分布式存儲(chǔ)系 統(tǒng)內(nèi)部各存儲(chǔ)節(jié)點(diǎn)之間通過后端網(wǎng)絡(luò)連接,前端網(wǎng)絡(luò)用于用戶業(yè)務(wù)與分布式存儲(chǔ)系統(tǒng)之間 進(jìn)行請(qǐng)求與數(shù)據(jù)交互,后端網(wǎng)絡(luò)用于分布式存儲(chǔ)系統(tǒng)內(nèi)部各存儲(chǔ)節(jié)點(diǎn)之間進(jìn)行請(qǐng)求與數(shù)據(jù) 交互。
      [0004] 現(xiàn)有技術(shù)通常采用前向糾錯(cuò)(英文全稱:ForwardErrorCorrection,簡稱:FEC) 的保護(hù)方式,使得分布式存儲(chǔ)系統(tǒng)具備在存儲(chǔ)節(jié)點(diǎn)發(fā)生故障時(shí)也能繼續(xù)提供數(shù)據(jù)服務(wù)的能 力。前向糾錯(cuò)數(shù)據(jù)保護(hù)方式也叫N+M保護(hù)方式,其中,N代表存儲(chǔ)節(jié)點(diǎn)的數(shù)量,Μ代表在不發(fā) 生數(shù)據(jù)丟失的前提下,集群所允許的同時(shí)發(fā)生故障的存儲(chǔ)節(jié)點(diǎn)數(shù)。在Ν+Μ保護(hù)方式下,協(xié)議 服務(wù)器以分條為單位進(jìn)行讀寫,一個(gè)分條包括Ν個(gè)數(shù)據(jù)條帶以及Μ個(gè)校驗(yàn)條帶,具體地,協(xié) 議服務(wù)器在寫入大塊數(shù)據(jù)時(shí),將大塊數(shù)據(jù)分割成長度固定的Ν個(gè)小塊數(shù)據(jù),根據(jù)所述Ν個(gè)小 塊數(shù)據(jù)通過算法進(jìn)行計(jì)算,得到Μ個(gè)糾刪碼,則一個(gè)分條中的Ν個(gè)數(shù)據(jù)條帶用于存儲(chǔ)所述Ν 個(gè)小塊數(shù)據(jù),Μ個(gè)校驗(yàn)條帶用于存儲(chǔ)所述Μ個(gè)糾刪碼,其中,糾刪碼具有冗余信息,在存儲(chǔ)節(jié) 點(diǎn)發(fā)生故障時(shí),可以利用糾刪碼計(jì)算出丟失的數(shù)據(jù)。
      [0005] 但是,由于糾刪碼是根據(jù)整個(gè)分條計(jì)算出來的,因此,當(dāng)在分條的任意一數(shù)據(jù)條帶 內(nèi)新寫入數(shù)據(jù)時(shí),協(xié)議服務(wù)器需要先從整個(gè)分條內(nèi)的數(shù)據(jù)以及糾刪碼讀出,并與新寫入的 數(shù)據(jù)合并后重新計(jì)算糾刪碼,得到新的分條,并將新的分條的寫入存儲(chǔ)節(jié)點(diǎn)。以圖1舉例說 明,圖1示出了一個(gè)分條,該分條包括數(shù)據(jù)條帶1至數(shù)據(jù)條帶4以及校驗(yàn)條帶,其中,數(shù)據(jù)條 帶1至數(shù)據(jù)條帶4存儲(chǔ)數(shù)據(jù)1至數(shù)據(jù)4,校驗(yàn)條帶存儲(chǔ)有該分條的糾刪碼,協(xié)議服務(wù)器根據(jù) 數(shù)據(jù)1至數(shù)據(jù)4中的任意三個(gè)數(shù)據(jù),以及該糾刪碼,可以計(jì)算出第四個(gè)數(shù)據(jù),此時(shí),若協(xié)議服 務(wù)器向數(shù)據(jù)條帶3新寫入數(shù)據(jù)5時(shí),需要先將數(shù)據(jù)條帶1至數(shù)據(jù)條帶4中存儲(chǔ)的數(shù)據(jù)1至 數(shù)據(jù)4,以及校驗(yàn)條帶中的糾刪碼全部讀出,再利用數(shù)據(jù)5替換數(shù)據(jù)3,根據(jù)數(shù)據(jù)1,數(shù)據(jù)2, 數(shù)據(jù)5和數(shù)據(jù)4重新計(jì)算得到新的糾刪碼,最后將數(shù)據(jù)1,數(shù)據(jù)2,數(shù)據(jù)5和數(shù)據(jù)4以及新的 糾刪碼重新寫入分條。
      [0006] 由上可知,在現(xiàn)有的Ν+Μ保護(hù)方式下,協(xié)議服務(wù)器向分條的一個(gè)數(shù)據(jù)條帶內(nèi)寫入 新的數(shù)據(jù)的過程十分繁瑣,數(shù)據(jù)寫入速率較慢。

      【發(fā)明內(nèi)容】

      [0007] 本發(fā)明提供一種數(shù)據(jù)存儲(chǔ)方法以及協(xié)議服務(wù)器,用于解決現(xiàn)有技術(shù)對(duì)于分布式存 儲(chǔ)系統(tǒng)的數(shù)據(jù)保護(hù)降低了數(shù)據(jù)寫入速率的技術(shù)問題。
      [0008] 為了達(dá)到上述目的,本發(fā)明采用如下的技術(shù)方案:
      [0009] 第一方面,提供一種數(shù)據(jù)存儲(chǔ)方法,包括:
      [0010] 協(xié)議服務(wù)器接收第一數(shù)據(jù);其中,所述第一數(shù)據(jù)用于更新目的分條的第一數(shù)據(jù)條 帶內(nèi)存儲(chǔ)的數(shù)據(jù),所述目的分條包括N個(gè)數(shù)據(jù)條帶以及Μ個(gè)校驗(yàn)條帶,所述N個(gè)數(shù)據(jù)條帶分 別是Ν個(gè)存儲(chǔ)節(jié)點(diǎn)上特定的存儲(chǔ)空間,所述Μ個(gè)校驗(yàn)條帶分別是Μ個(gè)存儲(chǔ)節(jié)點(diǎn)上特定的存 儲(chǔ)空間,Ν為大于2的正整數(shù),Μ為小于Ν的正整數(shù);所述第一數(shù)據(jù)條帶是所述Κ個(gè)數(shù)據(jù)條 帶中的任一個(gè)數(shù)據(jù)條帶;
      [0011]向L個(gè)鏡像條帶所處的存儲(chǔ)節(jié)點(diǎn)分別發(fā)送寫入指令,所述寫入指令包括所述第一 數(shù)據(jù),以及所述鏡像條帶的地址;所述L個(gè)鏡像條帶是至少兩個(gè)存儲(chǔ)節(jié)點(diǎn)上特定的存儲(chǔ)空 間,L為大于1的正整數(shù);
      [0012] 建立所述L個(gè)鏡像條帶與所述第一數(shù)據(jù)條帶之間的對(duì)應(yīng)關(guān)系;其中,基于所述對(duì) 應(yīng)關(guān)系,所述協(xié)議服務(wù)器能夠?qū)?duì)所述第一數(shù)據(jù)條帶的讀取指令轉(zhuǎn)換為對(duì)任一所述鏡像條 帶的讀取指令。
      [0013] 在結(jié)合第一方面的第一種可能的實(shí)現(xiàn)方式中,在所述建立所述L個(gè)鏡像條帶與所 述第一數(shù)據(jù)條帶之間的對(duì)應(yīng)關(guān)系之后,所述方法還包括:
      [0014] 接收第二數(shù)據(jù);所述第二數(shù)據(jù)用于更新所述目的分條中的所有數(shù)據(jù)條帶內(nèi)存儲(chǔ)的 數(shù)據(jù);
      [0015] 將所述第二數(shù)據(jù)分為Ν個(gè)數(shù)據(jù),并根據(jù)所述Ν個(gè)數(shù)據(jù)計(jì)算得到Μ個(gè)糾刪碼;在將所 述Ν個(gè)數(shù)據(jù)寫入所述Ν個(gè)數(shù)據(jù)條帶,將所述Μ個(gè)糾刪碼寫入所述Μ個(gè)校驗(yàn)條帶后,刪除所述 L鏡像條帶內(nèi)存儲(chǔ)的所述第一數(shù)據(jù),以及所述對(duì)應(yīng)關(guān)系。
      [0016] 結(jié)合第一方面或者第一方面的第一種可能的實(shí)現(xiàn)方式,在第一方面的第二種可能 的實(shí)現(xiàn)方式中,所述刪除所述L鏡像條帶內(nèi)存儲(chǔ)的所述第一數(shù)據(jù),以及所述對(duì)應(yīng)關(guān)系之后, 還包括:
      [0017] 接收協(xié)議客戶端發(fā)送的讀取指令;所述讀取指令用于指示所述協(xié)議服務(wù)器讀取所 述第一數(shù)據(jù)條帶內(nèi)存儲(chǔ)的數(shù)據(jù);
      [0018] 若存在所述第一數(shù)據(jù)條帶與所述L個(gè)鏡像條帶的對(duì)應(yīng)關(guān)系,根據(jù)所述對(duì)應(yīng)關(guān)系, 讀取所述第一數(shù)據(jù)條帶對(duì)應(yīng)的任一鏡像條帶內(nèi)存儲(chǔ)的所述第一數(shù)據(jù);
      [0019] 將所述第一數(shù)據(jù)返回至所述協(xié)議客戶端。
      [0020] 結(jié)合第一方面至第一方面的第二種可能的實(shí)現(xiàn)方式中的任一種可能的實(shí)現(xiàn)方式, 在第一方面的第三種可能的實(shí)現(xiàn)方式中,所述建立所述L個(gè)鏡像條帶與所述第一數(shù)據(jù)條帶 之間的對(duì)應(yīng)關(guān)系之后,還包括:
      [0021] 接收協(xié)議客戶端發(fā)送的讀取指令;所述讀取指令用于指示所述協(xié)議服務(wù)器讀取所 述第一數(shù)據(jù)條帶內(nèi)存儲(chǔ)的數(shù)據(jù);
      [0022] 讀取所述第一數(shù)據(jù)條帶內(nèi)存儲(chǔ)的數(shù)據(jù)的第一版本號(hào);
      [0023] 根據(jù)所述對(duì)應(yīng)關(guān)系,讀取所述第一數(shù)據(jù)條帶對(duì)應(yīng)的任一鏡像條帶內(nèi)存儲(chǔ)的所述第 一數(shù)據(jù)的版本號(hào);
      [0024] 根據(jù)所述第一版本號(hào)以及所述第二版本號(hào),確定所述第一數(shù)據(jù)的寫入時(shí)間晚于所 述第一數(shù)據(jù)條帶內(nèi)存儲(chǔ)的數(shù)據(jù)的寫入時(shí)間;
      [0025] 讀取所述第一數(shù)據(jù)條帶對(duì)應(yīng)的任一鏡像條帶內(nèi)存儲(chǔ)的所述第一數(shù)據(jù);并
      [0026] 將所述第一數(shù)據(jù)返回至所述協(xié)議客戶端。
      [0027] 結(jié)合第一方面至第一方面的第三種可能的實(shí)現(xiàn)方式中的任一種可能的實(shí)現(xiàn)方式, 在第一方面的第四種可能的實(shí)現(xiàn)方式中,還包括:
      [0028] 根據(jù)所述第一版本號(hào)以及所述第二版本號(hào),確定所述第一數(shù)據(jù)的寫入時(shí)間早于所 述第一數(shù)據(jù)條帶內(nèi)存儲(chǔ)的數(shù)據(jù)的寫入時(shí)間;
      [0029] 讀取所述第一數(shù)據(jù)條帶內(nèi)存儲(chǔ)的數(shù)據(jù);并
      [0030] 將所述第一數(shù)據(jù)條帶內(nèi)存儲(chǔ)的數(shù)據(jù)返回至所述協(xié)議客戶端。
      [0031] 結(jié)合第一方面至第一方面的第四種可能的實(shí)現(xiàn)方式中的任一種可能的實(shí)現(xiàn)方式, 在第一方面的第五種可能的實(shí)現(xiàn)方式中,所述讀取所述第一數(shù)據(jù)條帶對(duì)應(yīng)的任一鏡像條帶 內(nèi)存儲(chǔ)的所述第一數(shù)據(jù),包括:
      [0032] 若所述第一數(shù)據(jù)條帶對(duì)應(yīng)的所述L個(gè)鏡像條帶中的第一鏡像條帶所處的存儲(chǔ)節(jié) 點(diǎn)發(fā)生故障,則根據(jù)所述對(duì)應(yīng)關(guān)系讀取所述第一數(shù)據(jù)條帶對(duì)應(yīng)的所述L個(gè)鏡像條帶中的第 二鏡像條帶內(nèi)存儲(chǔ)的所述第一數(shù)據(jù)。
      [0033] 第二方面,提供一種協(xié)議服務(wù)器,包括:
      [0034] 接收單元,用于接收第一數(shù)據(jù);其中,所述第一數(shù)據(jù)用于更新目的分條的第一數(shù)據(jù) 條帶內(nèi)存儲(chǔ)的數(shù)據(jù),所述目的分條包括N個(gè)數(shù)據(jù)條帶以及Μ個(gè)校驗(yàn)條帶,所述N個(gè)數(shù)據(jù)條帶 分別是Ν個(gè)存儲(chǔ)節(jié)點(diǎn)上特定的存儲(chǔ)空間,所述Μ個(gè)校驗(yàn)條帶分別是Μ個(gè)存儲(chǔ)節(jié)點(diǎn)上特定的 存儲(chǔ)空間,Ν為大于2的正整數(shù),Μ為小于Ν的正整數(shù);所述第一數(shù)據(jù)條帶是所述Κ個(gè)數(shù)據(jù) 條帶中的任一個(gè)數(shù)據(jù)條帶;
      [0035] 寫入單元,用于向L個(gè)鏡像條帶所處的存儲(chǔ)節(jié)點(diǎn)分別發(fā)送寫入指令,所述寫入指 令包括所述第一數(shù)據(jù),以及所述鏡像條帶的地址;所述L個(gè)鏡像條帶是至少兩個(gè)存儲(chǔ)節(jié)點(diǎn) 上特定的存儲(chǔ)空間,L為大于1的正整數(shù);
      [0036] 建立單元,用于建立所述L個(gè)鏡像條帶與所述第一數(shù)據(jù)條帶之間的對(duì)應(yīng)關(guān)系;其 中,基于所述對(duì)應(yīng)關(guān)系,所述協(xié)議服務(wù)器能夠?qū)?duì)所述第一數(shù)據(jù)條帶的讀取指令轉(zhuǎn)換為對(duì) 任一所述鏡像條帶的讀取指令。
      [0037] 在結(jié)合第二方面的第一種可能的實(shí)現(xiàn)方式中,還包括計(jì)算單元以及刪除單元;
      [0038] 所述接收單元還用于:接收第二數(shù)據(jù);所述第二數(shù)據(jù)用于更新所述目的分條中的 所有數(shù)據(jù)條帶內(nèi)存儲(chǔ)的數(shù)據(jù);
      [0039] 所述計(jì)算單元用于,將所述第二數(shù)據(jù)分為Ν個(gè)數(shù)據(jù),并根據(jù)所述Ν個(gè)數(shù)據(jù)計(jì)算得到 Μ個(gè)糾刪碼;
      [0040] 所述刪除單元用于,在所述數(shù)據(jù)寫入單元將所述Ν個(gè)數(shù)據(jù)寫入所述Ν個(gè)數(shù)據(jù)條帶, 將所述Μ個(gè)糾刪碼寫入所述Μ個(gè)校驗(yàn)條帶后,刪除所述L鏡像條帶內(nèi)存儲(chǔ)的所述第一數(shù)據(jù), 以及所述對(duì)應(yīng)關(guān)系。
      [0041] 結(jié)合第二方面或者第二方面的第一種可能的實(shí)現(xiàn)方式,在第二方面的第二種可能 的實(shí)現(xiàn)方式中,還包括:讀取單元以及發(fā)送單元;
      [0042] 所述接收單元還用于,接收協(xié)議客戶端發(fā)送的讀取指令;所述讀取指令用于指示 所述協(xié)議服務(wù)器讀取所述第一數(shù)據(jù)條帶內(nèi)存儲(chǔ)的數(shù)據(jù);
      [0043] 所述讀取單元,用于在存在所述第一數(shù)據(jù)條帶與所述L個(gè)鏡像條帶的對(duì)應(yīng)關(guān)系 時(shí),根據(jù)所述對(duì)應(yīng)關(guān)系,讀取所述第一數(shù)據(jù)條帶對(duì)應(yīng)的任一鏡像條帶內(nèi)存儲(chǔ)的所述第一數(shù) 據(jù);
      [0044] 所述發(fā)送單元,用于將所述第一數(shù)據(jù)返回至所述協(xié)議客戶端。
      [0045] 結(jié)合第二方面至第二方面的第二種可能的實(shí)現(xiàn)方式中的任一種可能的實(shí)現(xiàn)方式, 在第二方面的第三種可能的實(shí)現(xiàn)方式中,還包括讀取單元和發(fā)送單元;
      [0046] 所述接收單元還用于,接收協(xié)議客戶端發(fā)送的讀取指令;所述讀取指令用于指示 所述協(xié)議服務(wù)器讀取所述第一數(shù)據(jù)條帶內(nèi)存儲(chǔ)的數(shù)據(jù);
      [0047] 所述讀取單元用于,讀取所述第一數(shù)據(jù)條帶內(nèi)存儲(chǔ)的數(shù)據(jù)的第一版本號(hào);
      [0048] 根據(jù)所述對(duì)應(yīng)關(guān)系,讀取所述第一數(shù)據(jù)條帶對(duì)應(yīng)的任一鏡像條帶內(nèi)存儲(chǔ)的所述第 一數(shù)據(jù)的版本號(hào);
      [0049] 在根據(jù)所述第一版本號(hào)以及所述第二版本號(hào),確定所述第一數(shù)據(jù)的寫入時(shí)間晚于 所述第一數(shù)據(jù)條帶內(nèi)存儲(chǔ)的數(shù)據(jù)的寫入時(shí)間時(shí),讀取所述第一數(shù)據(jù)條帶對(duì)應(yīng)的任一鏡像條 帶內(nèi)存儲(chǔ)的所述第一數(shù)據(jù);
      [0050] 所述發(fā)送單元用于,將所述第一數(shù)據(jù)返回至所述協(xié)議客戶端。
      [0051] 結(jié)合第二方面至第二方面的第三種可能的實(shí)現(xiàn)方式中的任一種可能的實(shí)現(xiàn)方式, 在第二方面的第四種可能的實(shí)現(xiàn)方式中,所述讀取單元還用于,在根據(jù)所述第一版本號(hào)以 及所述第二版本號(hào),確定所述第一數(shù)據(jù)的寫入時(shí)間早于所述第一數(shù)據(jù)條帶內(nèi)存儲(chǔ)的數(shù)據(jù)的 寫入時(shí)間時(shí),讀取所述第一數(shù)據(jù)條帶內(nèi)存儲(chǔ)的數(shù)據(jù);
      [0052] 所述發(fā)送單元還用于,將所述第一數(shù)據(jù)條帶內(nèi)存儲(chǔ)的數(shù)據(jù)返回至所述協(xié)議客戶 端。
      [005
      當(dāng)前第1頁1 2 3 4 5 
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1