一種云端異構存儲系統(tǒng)及其數(shù)據(jù)副本管理方法
【專利摘要】本發(fā)明公開了一種云端異構存儲系統(tǒng),屬于分布式數(shù)據(jù)存儲與數(shù)據(jù)管理【技術領域】。本發(fā)明云端異構存儲系統(tǒng)包括核心層、云內(nèi)層、邊緣層,所述核心層為管理云節(jié)點SN,云內(nèi)層為普通云節(jié)點CN,邊緣層為邊緣節(jié)點PN;所述SN、CN、PN相互之間通過網(wǎng)絡進行信息交互;SN用于存儲數(shù)據(jù)塊的元數(shù)據(jù)信息以及所有CN的屬性信息,并對所有CN進行管理;CN用于存儲與管理數(shù)據(jù)塊及數(shù)據(jù)塊副本信息,各CN分別負責管理一組PN,每個CN存儲與管理其所管理的PN的信息;PN只作為存儲節(jié)點,存儲和管理本地的數(shù)據(jù)副本及數(shù)據(jù)副本屬性信息。本發(fā)明還公開了上述云端異構存儲系統(tǒng)的數(shù)據(jù)副本管理方法。相比現(xiàn)有技術,本發(fā)明可有效避免服務器端性能瓶頸與單點失效問題,緩解系統(tǒng)負載壓力。
【專利說明】一種云端異構存儲系統(tǒng)及其數(shù)據(jù)副本管理方法
【技術領域】
[0001] 本發(fā)明涉及一種云端異構存儲系統(tǒng)及其數(shù)據(jù)副本管理方法,屬于分布式數(shù)據(jù)存儲 與數(shù)據(jù)管理【技術領域】。
【背景技術】
[0002] 隨著Internet技術的快速發(fā)展,互聯(lián)網(wǎng)上的數(shù)據(jù)如海嘯般迎面撲來,單純的同構 環(huán)境處理數(shù)據(jù)的能力變得越來越不能滿足數(shù)據(jù)處理的需求;作為目前兩種典型的網(wǎng)絡計 算模式,云計算和對等計算技術分別側重于利用集群服務器端的資源和網(wǎng)絡邊緣節(jié)點的資 源??紤]到經(jīng)濟效應,云服務器高昂的價格決定了其數(shù)量的有限性,訪問過于頻繁便會出現(xiàn) 服務器端的瓶頸問題;而純對等計算環(huán)境下,每一個節(jié)點的地位都是一樣的,每個節(jié)點的承 受能力基本相同導致沒有負責節(jié)點,整體系統(tǒng)的管理比較復雜。
[0003] 隨著數(shù)據(jù)的海量增加,分布式存儲系統(tǒng)的負擔越來越重。考慮到云服務器與端節(jié) 點的特點,如果能夠更加充分利用網(wǎng)絡中集群服務器和邊緣節(jié)點上的存儲資源,并使兩者 互聯(lián)互通融合于一個云端異構存儲系統(tǒng)中,并結合有效的數(shù)據(jù)副本管理策略,則可有效避 免服務器端性能瓶頸與單點失效問題,從而有效緩解系統(tǒng)負載壓力。有研究者近期提出了 一種PA_Cloud存儲架構[沈靜波.基于P2P和云計算的動態(tài)內(nèi)容管理研究[D].合肥:中 國科學技術大學,2011. 4],其基本思想是通過利用P2P技術在服務提供商的核心云外延構 建由用戶節(jié)點構成的擴展云結構,實現(xiàn)了一部分的負載轉(zhuǎn)嫁,降低了云端服務器的負載。但 是文中并沒有將核心層中云節(jié)點進行有效的角色分工,而是籠統(tǒng)的構建成了 Chord環(huán),這 樣一來并不能在用戶提出數(shù)據(jù)塊訪問請求時迅速地定位到此數(shù)據(jù)塊的所有數(shù)據(jù)副本存儲 地址和存儲節(jié)點的屬性信息以便快遞選擇目標節(jié)點進行訪問;同樣在數(shù)據(jù)塊創(chuàng)建時也不能 很迅速的選擇出數(shù)據(jù)塊的管理節(jié)點。而對于擴展云中的用戶節(jié)點,文中提出的架構并沒有 有效的管理擴展云中的節(jié)點,在對擴展云中的節(jié)點提出訪問請求時不能迅速定位到目前負 載較小的端節(jié)點進行訪問。
【發(fā)明內(nèi)容】
[0004]本發(fā)明所要解決的技術問題在于克服現(xiàn)有技術不足,提供一種云端異構存儲系統(tǒng) 及其數(shù)據(jù)副本管理方法,可有效避免服務器端性能瓶頸與單點失效問題,緩解系統(tǒng)負載壓 力。
[0005]本發(fā)明具體采用以下技術方案:
[0006] -種云端異構存儲系統(tǒng),包括核心層、云內(nèi)層、邊緣層,所述核心層為管理云節(jié)點 SN,云內(nèi)層為普通云節(jié)點CN,邊緣層為邊緣節(jié)點PN ;所述SN、CN、PN相互之間通過網(wǎng)絡進行 信息交互;SN用于存儲數(shù)據(jù)塊的元數(shù)據(jù)信息以及所有CN的屬性信息,并對所有CN進行管 理;CN用于存儲與管理數(shù)據(jù)塊及數(shù)據(jù)塊副本信息,各CN分別負責管理一組PN,每個CN存儲 與管理其所管理的PN的信息;PN只作為存儲節(jié)點,存儲和管理本地的數(shù)據(jù)副本及數(shù)據(jù)副本 屬性信息。
[0007] 如上所述云端異構存儲系統(tǒng)的數(shù)據(jù)副本管理方法,包括副本創(chuàng)建、副本訪問以及 數(shù)據(jù)清除;所述副本創(chuàng)建具體如下:
[0008] 步驟1、SN接收到用戶發(fā)出的數(shù)據(jù)塊存儲請求后,首先選擇剩余容量最大的一個 CN作為該數(shù)據(jù)塊的管理節(jié)點,并將該數(shù)據(jù)塊從用戶端上傳并部署到選定的CN,作為該數(shù)據(jù) 塊的第一個副本,然后更新SN所保存的相應信息;
[0009] 步驟2、SN根據(jù)該數(shù)據(jù)塊的重要性確定部署在其它CN上的該數(shù)據(jù)塊的副本數(shù)量n, n為大于等于1的整數(shù),數(shù)據(jù)塊的重要性越高,n的值越大;
[0010] 步驟3、SN從除數(shù)據(jù)塊的管理節(jié)點以外的其它CN中選擇剩余容量最大的n個CN 并將所選定的這n個CN的信息傳給該數(shù)據(jù)塊的管理節(jié)點,所選擇的n個CN中包括該數(shù)據(jù) 塊的管理節(jié)點的備份節(jié)點;該數(shù)據(jù)塊的管理節(jié)點復制該數(shù)據(jù)塊的副本并分別部署至這n個 CN;部署完成后,SN、該數(shù)據(jù)塊的管理節(jié)點以及這n個CN分別更新各自所保存的相應信息;
[0011] 步驟4、該數(shù)據(jù)塊的管理節(jié)點根據(jù)該數(shù)據(jù)塊的重要性確定部署在PN上的該數(shù)據(jù)塊 的副本數(shù)量m,并從自身所管理的可用的PN中選擇剩余容量最大的m個PN;m為大于等于1 的整數(shù),數(shù)據(jù)塊的重要性越高,m的值越大;
[0012] 步驟5、被選中的m個PN分別在本地部署該數(shù)據(jù)塊的副本;部署完成后,該數(shù)據(jù)塊 的管理節(jié)點、所選中的m個PN分別更新各自所保存的相應信息;
[0013] 步驟6、該數(shù)據(jù)塊的管理節(jié)點的備份節(jié)點更新自身所保存的相應信息。
[0014] 進一步地,所述副本訪問具體如下:
[0015] 步驟1、SN接收到用戶發(fā)出的數(shù)據(jù)塊訪問請求后,首先查找該數(shù)據(jù)塊的管理節(jié)點, 然后通過該數(shù)據(jù)塊的管理節(jié)點確定該數(shù)據(jù)塊的所有副本及相應的存儲節(jié)點;
[0016] 步驟2、SN按照以下方法從所確定的該數(shù)據(jù)塊的所有副本中選擇訪問目標:如果 該數(shù)據(jù)塊的各副本的存儲節(jié)點中既有CN又有PN,則從這些PN中選擇一個剩余容量最大的, 并以所選擇PN上存儲的該數(shù)據(jù)塊的副本作為訪問目標;如果該數(shù)據(jù)塊的各副本的存儲節(jié) 點中僅有CN,則從這些CN中選擇一個剩余容量最大的,并以所選擇CN上存儲的該數(shù)據(jù)塊的 副本作為訪問目標;
[0017] 步驟3、如用戶對訪問目標進行了修改,則更新該數(shù)據(jù)塊的所有副本后轉(zhuǎn)步驟4; 否則,直接轉(zhuǎn)步驟4;
[0018] 步驟4、該數(shù)據(jù)塊的各副本所在的CN和PN分別更新各自所保存的相應信息;
[0019] 步驟5、該數(shù)據(jù)塊的管理節(jié)點的備份節(jié)點更新自身所保存的相應信息。
[0020] 更進一步地,所述數(shù)據(jù)清除具體如下:
[0021] 步驟1、SN接收到用戶發(fā)出的數(shù)據(jù)塊刪除請求后,首先查找該數(shù)據(jù)塊的管理節(jié)點, 然后通過該數(shù)據(jù)塊的管理節(jié)點確定該數(shù)據(jù)塊的所有副本及相應的存儲節(jié)點;
[0022] 步驟2、SN依次訪問該數(shù)據(jù)塊各副本所在的存儲節(jié)點并刪除該數(shù)據(jù)塊相應的副 本;
[0023] 步驟3、全部副本刪除后,SN以及該數(shù)據(jù)塊的所有副本的存儲節(jié)點分別更新自身 所保存的相應信息;
[0024] 步驟4、該數(shù)據(jù)塊的管理節(jié)點的備份節(jié)點更新自身所保存的相應信息。
[0025] 進一步地,所述數(shù)據(jù)副本管理方法還包括副本復制和副本減少;所述副本復制具 體如下:各CN定期檢查自身所管理的每個數(shù)據(jù)塊的所有副本在當前周期內(nèi)被訪問的總次 數(shù)與該數(shù)據(jù)塊的副本總數(shù)之間的比值,如該比值大于預設閾值,則SN復制該數(shù)據(jù)塊的一個 新副本,并從該數(shù)據(jù)塊的管理節(jié)點所管理的可用PN中選擇一個此前未部署該數(shù)據(jù)塊副本 的剩余容量最大的PN,將該新副本部署在所選擇的PN中;所述副本減少具體如下:任一數(shù) 據(jù)塊的某個副本如在預設周期內(nèi)一直未被訪問,則將該副本刪除。
[0026] 相比現(xiàn)有技術,本發(fā)明具有以下有益效果:
[0027] (1)本發(fā)明的云端異構存儲系統(tǒng)模型明確了管理云節(jié)點、普通云節(jié)點、端節(jié)點之間 的分工,管理關系更加清晰和明朗。
[0028] (2)本發(fā)明的云端異構存儲系統(tǒng)模型可有效的管理云節(jié)點與端節(jié)點上所部署的數(shù) 據(jù)副本,包括存儲、訪問、查詢、修改等。
[0029] (3)本發(fā)明的數(shù)據(jù)副本管理方法能有效的提高系統(tǒng)的可靠性,同時能夠有效的利 用邊緣節(jié)點,減少云節(jié)點的負載壓力,使得整個系統(tǒng)達到負載均衡的狀態(tài)。
[0030] (4)本發(fā)明云端異構存儲系統(tǒng)采取的三層結構使得系統(tǒng)更加的穩(wěn)定,數(shù)據(jù)的訪問 將更加高效,節(jié)點與節(jié)點之間的交互也更加的方便快捷。
【專利附圖】
【附圖說明】
[0031] 圖1為本發(fā)明云端異構存儲系統(tǒng)的系統(tǒng)架構示意圖;
[0032] 圖2為本發(fā)明云端異構存儲系統(tǒng)的數(shù)據(jù)副本部署示意圖;
[0033] 圖3為本發(fā)明云端異構存儲系統(tǒng)的副本創(chuàng)建流程示意圖;
[0034] 圖4為本發(fā)明云端異構存儲系統(tǒng)的副本復制流程示意圖;
[0035] 圖5為本發(fā)明云端異構存儲系統(tǒng)的副本只讀訪問流程示意圖;
[0036] 圖6為本發(fā)明云端異構存儲系統(tǒng)的副本修改訪問流程示意圖;
[0037] 圖7為本發(fā)明云端異構存儲系統(tǒng)的副本減少流程示意圖;
[0038] 圖8為本發(fā)明云端異構存儲系統(tǒng)的數(shù)據(jù)清除流程示意圖。
【具體實施方式】
[0039] 下面結合附圖對本發(fā)明的技術方案進行詳細說明:
[0040] 一、系統(tǒng)架構
[0041] 本發(fā)明云端異構存儲系統(tǒng)的系統(tǒng)架構如圖1所示,其在三維空間里的平面圖似雪 花狀,空間上分為三層架構,包括核心層、云內(nèi)層、邊緣層,其中管理云節(jié)點SN為核心層的 節(jié)點,普通云節(jié)點CN為云內(nèi)層的節(jié)點,邊緣節(jié)點PN為邊緣層的節(jié)點。下面對各層節(jié)點進行 詳細說明。
[0042] 1、管理云節(jié)點
[0043]在本發(fā)明的存儲模型架構設計中,SN位于核心層,主要存儲數(shù)據(jù)塊的元數(shù)據(jù)信息, 同時還有所有的數(shù)據(jù)塊直接管理者CN的屬性信息。SN存儲與管理的信息如表1和表2所 /Jn〇
[0044] 系統(tǒng)中的數(shù)據(jù)塊與負責管理該數(shù)據(jù)塊及其副本的普通云節(jié)點之間的對應索引信 息如表1所示,作為全局宏觀的元數(shù)據(jù)管理者SN,管理著所有作為數(shù)據(jù)塊的直接管理者與 存儲者的CN。
[0045]表1數(shù)據(jù)塊及其管理者索引表
[0046]
【權利要求】
1. 一種云端異構存儲系統(tǒng),其特征在于,包括核心層、云內(nèi)層、邊緣層,所述核心層為管 理云節(jié)點SN,云內(nèi)層為普通云節(jié)點CN,邊緣層為邊緣節(jié)點PN ;所述SN、CN、PN相互之間通過 網(wǎng)絡進行信息交互;SN用于存儲數(shù)據(jù)塊的元數(shù)據(jù)信息以及所有CN的屬性信息,并對所有CN 進行管理;CN用于存儲與管理數(shù)據(jù)塊及數(shù)據(jù)塊副本信息,各CN分別負責管理一組PN,每個 CN存儲與管理其所管理的PN的信息;PN只作為存儲節(jié)點,存儲和管理本地的數(shù)據(jù)副本及數(shù) 據(jù)副本屬性信息。
2. 如權利要求1所述云端異構存儲系統(tǒng)的數(shù)據(jù)副本管理方法,包括副本創(chuàng)建、副本訪 問以及數(shù)據(jù)清除;其特征在于,所述副本創(chuàng)建具體如下: 步驟1、SN接收到用戶發(fā)出的數(shù)據(jù)塊存儲請求后,首先選擇剩余容量最大的一個CN作 為該數(shù)據(jù)塊的管理節(jié)點,并將該數(shù)據(jù)塊從用戶端上傳并部署到選定的CN,作為該數(shù)據(jù)塊的 第一個副本,然后更新SN所保存的相應信息; 步驟2、SN根據(jù)該數(shù)據(jù)塊的重要性確定部署在其它CN上的該數(shù)據(jù)塊的副本數(shù)量/7,/?為 大于等于1的整數(shù),數(shù)據(jù)塊的重要性越高,的值越大; 步驟3、SN從除數(shù)據(jù)塊的管理節(jié)點以外的其它CN中選擇剩余容量最大的個CN并將 所選定的這個CN的信息傳給該數(shù)據(jù)塊的管理節(jié)點,所選擇的/7個CN中包括該數(shù)據(jù)塊的 管理節(jié)點的備份節(jié)點;該數(shù)據(jù)塊的管理節(jié)點復制該數(shù)據(jù)塊的副本并分別部署至這《個CN ; 部署完成后,SN、該數(shù)據(jù)塊的管理節(jié)點以及這/7個CN分別更新各自所保存的相應信息; 步驟4、該數(shù)據(jù)塊的管理節(jié)點根據(jù)該數(shù)據(jù)塊的重要性確定部署在PN上的該數(shù)據(jù)塊的副 本數(shù)量?,并從自身所管理的可用的PN中選擇剩余容量最大的《個PN #為大于等于1的 整數(shù),數(shù)據(jù)塊的重要性越高,》的值越大; 步驟5、被選中的《個PN分別在本地部署該數(shù)據(jù)塊的副本;部署完成后,該數(shù)據(jù)塊的管 理節(jié)點、所選中的《個PN分別更新各自所保存的相應信息; 步驟6、該數(shù)據(jù)塊的管理節(jié)點的備份節(jié)點更新自身所保存的相應信息。
3. 如權利要求2所述數(shù)據(jù)副本管理方法,其特征在于,所述副本訪問具體如下: 步驟1、SN接收到用戶發(fā)出的數(shù)據(jù)塊訪問請求后,首先查找該數(shù)據(jù)塊的管理節(jié)點,然后 通過該數(shù)據(jù)塊的管理節(jié)點確定該數(shù)據(jù)塊的所有副本及相應的存儲節(jié)點; 步驟2、SN按照以下方法從所確定的該數(shù)據(jù)塊的所有副本中選擇訪問目標:如果該數(shù) 據(jù)塊的各副本的存儲節(jié)點中既有CN又有PN,則從這些PN中選擇一個剩余容量最大的,并以 所選擇PN上存儲的該數(shù)據(jù)塊的副本作為訪問目標;如果該數(shù)據(jù)塊的各副本的存儲節(jié)點中 僅有CN,則從這些CN中選擇一個剩余容量最大的,并以所選擇CN上存儲的該數(shù)據(jù)塊的副本 作為訪問目標; 步驟3、如用戶對訪問目標進行了修改,則更新該數(shù)據(jù)塊的所有副本后轉(zhuǎn)步驟4 ;否則, 直接轉(zhuǎn)步驟4 ; 步驟4、該數(shù)據(jù)塊的各副本所在的CN和PN分別更新各自所保存的相應信息; 步驟5、該數(shù)據(jù)塊的管理節(jié)點的備份節(jié)點更新自身所保存的相應信息。
4. 如權利要求3所述數(shù)據(jù)副本管理方法,其特征在于,所述數(shù)據(jù)清除具體如下: 步驟1、SN接收到用戶發(fā)出的數(shù)據(jù)塊刪除請求后,首先查找該數(shù)據(jù)塊的管理節(jié)點,然后 通過該數(shù)據(jù)塊的管理節(jié)點確定該數(shù)據(jù)塊的所有副本及相應的存儲節(jié)點; 步驟2、SN依次訪問該數(shù)據(jù)塊各副本所在的存儲節(jié)點并刪除該數(shù)據(jù)塊相應的副本; 步驟3、全部副本刪除后,SN以及該數(shù)據(jù)塊的所有副本的存儲節(jié)點分別更新自身所保 存的相應信息; 步驟4、該數(shù)據(jù)塊的管理節(jié)點的備份節(jié)點更新自身所保存的相應信息。
5.如權利要求2?4任一項所述數(shù)據(jù)副本管理方法,其特征在于,還包括副本復制和 副本減少;所述副本復制具體如下:各CN定期檢查自身所管理的每個數(shù)據(jù)塊的所有副本在 當前周期內(nèi)被訪問的總次數(shù)與該數(shù)據(jù)塊的副本總數(shù)之間的比值,如該比值大于預設閾值, 則SN復制該數(shù)據(jù)塊的一個新副本,并從該數(shù)據(jù)塊的管理節(jié)點所管理的可用PN中選擇一個 此前未部署該數(shù)據(jù)塊副本的剩余容量最大的PN,將該新副本部署在所選擇的PN中;所述副 本減少具體如下:任一數(shù)據(jù)塊的某個副本如在預設周期內(nèi)一直未被訪問,則將該副本刪除。
【文檔編號】H04L29/08GK104317669SQ201410553604
【公開日】2015年1月28日 申請日期:2014年10月17日 優(yōu)先權日:2014年10月17日
【發(fā)明者】徐小龍, 邵軍, 章韻, 金仙力, 李愛群 申請人:南京郵電大學