最新的毛片基地免费,国产国语一级毛片,免费国产成人高清在线电影,中天堂国产日韩欧美,中国国产aa一级毛片,国产va欧美va在线观看,成人不卡在线

一種云存儲節(jié)點負載均衡方法與流程

文檔序號:11215993閱讀:751來源:國知局
一種云存儲節(jié)點負載均衡方法與流程

本發(fā)明涉及云計算,特別涉及一種云存儲節(jié)點負載均衡方法。



背景技術(shù):

云計算作為一種服務(wù),需要向用戶提供可靠、高效的大規(guī)模數(shù)據(jù)服務(wù),并且由服務(wù)運營商保證數(shù)據(jù)的安全性以及可用性。但是,在主流云存儲的mapreduce過程中存儲節(jié)點意外失效的概率很大,大規(guī)模的云平臺出現(xiàn)過由于存儲節(jié)點失效而造成的系統(tǒng)崩潰事件曾經(jīng)給數(shù)以千萬計的企業(yè)用戶和個人用戶造成了巨大的損失。因而,容錯技術(shù)的發(fā)展是為存儲節(jié)點中的數(shù)據(jù)創(chuàng)建多個數(shù)據(jù)拷貝,并將生成的若干個拷貝按照一定的策略分散存儲到不同的存儲節(jié)點上。當(dāng)存儲節(jié)點失效造成數(shù)據(jù)丟失時,按照策略訪問存儲在有效存儲節(jié)點上的有效拷貝恢復(fù)數(shù)據(jù)。所以,只要能從網(wǎng)絡(luò)中獲取足夠多的數(shù)據(jù)塊,就能夠還原出系統(tǒng)所存儲的原始數(shù)據(jù),這盡管增加了系統(tǒng)的可靠性,但也成為系統(tǒng)的安全瓶頸。存儲集群彼此間需要依靠外網(wǎng)進行連接,那么必然要向外開放端口,而且,存儲集群之間往往距離較遠,系統(tǒng)很難完全掌控整個系統(tǒng)中存儲集群內(nèi)存儲節(jié)點的狀態(tài),這樣的特點也使攻擊者更容易利用存儲集群的開放性來實現(xiàn)對云的攻擊。



技術(shù)實現(xiàn)要素:

為解決上述現(xiàn)有技術(shù)所存在的問題,本發(fā)明提出了一種云存儲節(jié)點負載均衡方法,包括:

將各級存儲節(jié)點組成層次化集群網(wǎng)絡(luò),定期監(jiān)控各節(jié)點的負載情況,將所請求的負載均衡分配到各個節(jié)點上。

優(yōu)選地,所述將各級存儲節(jié)點組成層次化集群網(wǎng)絡(luò),進一步包括:

主節(jié)點維護全部數(shù)據(jù)拷貝,主節(jié)點將所有數(shù)據(jù)拷貝分配到各個次級節(jié)點,次級節(jié)點再將數(shù)據(jù)拷貝分配到下屬節(jié)點。

優(yōu)選地,所述定期監(jiān)控各節(jié)點的負載情況之前,還包括:

將葉節(jié)點及其向上的各級父節(jié)點構(gòu)成一個虛擬群組;

所述將請求的負載均衡分配到各個節(jié)點,進一步包括,將請求的負載均衡分配到虛擬群組中的各個節(jié)點上。

優(yōu)選地,由云計算環(huán)境中設(shè)置的負載均衡控制引擎來實現(xiàn)系統(tǒng)訪問性能的全局最優(yōu)化。

優(yōu)選地,當(dāng)用戶通過接口api訪問云存儲環(huán)境時,首先查詢?nèi)指鶖?shù)據(jù)庫,獲取存儲數(shù)據(jù)所在的各級存儲節(jié)點地址,即某個虛擬群組;

接著請求發(fā)起節(jié)點根據(jù)各個節(jié)點存儲的負載情況選擇訪問速度最快的節(jié)點;

由負載均衡控制引擎協(xié)調(diào)系統(tǒng)全局資源分配,通過監(jiān)控各個存儲節(jié)點的請求負載情況,根據(jù)資源分配策略調(diào)整各節(jié)點的請求通行能力,從而優(yōu)化系統(tǒng)全局訪問性能。

本發(fā)明相比現(xiàn)有技術(shù),具有以下優(yōu)點:

本發(fā)明提出了一種云存儲節(jié)點負載均衡方法,通過智能負載均衡策略實現(xiàn)了系統(tǒng)訪問性能的全局最優(yōu)化,并基于安全架構(gòu)防止非法用戶實現(xiàn)對分布式存儲節(jié)點之間的非法存取和攻擊。

附圖說明

圖1是根據(jù)本發(fā)明實施例的一種云存儲節(jié)點負載均衡方法的流程圖。

具體實施方式

下文與圖示本發(fā)明原理的附圖一起提供對本發(fā)明一個或者多個實施例的詳細描述。結(jié)合這樣的實施例描述本發(fā)明,但是本發(fā)明不限于任何實施例。本發(fā)明的范圍僅由權(quán)利要求書限定,并且本發(fā)明涵蓋諸多替代、修改和等同物。在下文描述中闡述諸多具體細節(jié)以便提供對本發(fā)明的透徹理解。出于示例的目的而提供這些細節(jié),并且無這些具體細節(jié)中的一些或者所有細節(jié)也可以根據(jù)權(quán)利要求書實現(xiàn)本發(fā)明。

本發(fā)明的一方面提供了一種云存儲節(jié)點負載均衡方法。圖1是根據(jù)本發(fā)明實施例的一種云存儲節(jié)點負載均衡方法流程圖。

大規(guī)模分布式系統(tǒng)中,即特定區(qū)域內(nèi)的用戶只對特定部分的數(shù)據(jù)最感興趣,因此在本發(fā)明的云存儲環(huán)境中,各級存儲節(jié)點組成一個層次化集群網(wǎng)絡(luò),主節(jié)點維護全部數(shù)據(jù)拷貝,主節(jié)點按照數(shù)據(jù)所屬地域?qū)⑺袛?shù)據(jù)拷貝分配到各個次級節(jié)點,次級節(jié)點再將數(shù)據(jù)拷貝分配到下屬節(jié)點。葉節(jié)點及其向上的各級父節(jié)點構(gòu)成一個虛擬群組。系統(tǒng)負載均衡控制引擎定期監(jiān)控各節(jié)點的負載情況,將各虛擬群組的請求負載分配到虛擬群組內(nèi)部的各個節(jié)點上,實現(xiàn)系統(tǒng)訪問性能的全局最優(yōu)化。

當(dāng)用戶通過接口api訪問云存儲環(huán)境時,首先查詢?nèi)指鶖?shù)據(jù)庫,獲取存儲該數(shù)據(jù)所在的各級存儲節(jié)點地址,即某個虛擬群組。接著請求發(fā)起節(jié)點根據(jù)各個節(jié)點存儲的負載情況選擇訪問速度最快的節(jié)點。負載均衡控制引擎負責(zé)協(xié)調(diào)系統(tǒng)全局資源分配,通過監(jiān)控各個存儲節(jié)點的請求負載情況,根據(jù)資源分配策略調(diào)整各節(jié)點的請求通行能力。

云計算環(huán)境體系結(jié)構(gòu)有以下3個優(yōu)點:(1)系統(tǒng)數(shù)據(jù)具有高可靠性。主節(jié)點和各級節(jié)點的數(shù)據(jù)互為異地備份。每一個數(shù)據(jù)有多個拷貝,且拷貝互為異地備份。(2)系統(tǒng)具有很好的容錯性。任何節(jié)點的單點故障都不會影響系統(tǒng)運行。例如,當(dāng)主節(jié)點發(fā)生故障時,其他拷貝節(jié)點可繼續(xù)為用戶提供數(shù)據(jù)訪問服務(wù)。(3)系統(tǒng)具有負載均衡能力。主節(jié)點和各級節(jié)點構(gòu)成:一個分布式虛擬群組。當(dāng)某個節(jié)點或某條路徑訪問負載高于預(yù)設(shè)值時,系統(tǒng)自動將訪問請求分配到其他節(jié)點上。

在云計算環(huán)境多存儲節(jié)點有向圖g(v,e)中,如果單位時間內(nèi)到達系統(tǒng)的總請求數(shù)為λ,訪問虛擬群組v的請求數(shù)為λv,帶寬分配后到達節(jié)點j的請求數(shù)為λj,節(jié)點j的處理能力為μj,則節(jié)點j的平均請求等待時間tj為

并計算得到單位時間內(nèi)到達節(jié)點j的請求數(shù)占其最大處理能力的比例即節(jié)點資源利用率sj為

用θm,j表示節(jié)點j的不同服務(wù)等級m下的負載請求變量。云存儲節(jié)點資源調(diào)度可以分為2個子問題:一是為不同服務(wù)等級用戶分配帶寬,使用戶平均請求等待時間最小化。二是節(jié)點負載利用率最大化,即充分利用冗余節(jié)點實現(xiàn)請求負載均衡。

綜上所述,全局最優(yōu)化目標(biāo)為確定負載請求變量θm,j使得不同服務(wù)等級業(yè)務(wù)的平均請求等待時間最小化,同時實現(xiàn)節(jié)點資源利用率最大化。

其中n為集群節(jié)點總數(shù),m為服務(wù)級別數(shù)量。

采用線性加權(quán)和法將上述目標(biāo)問題轉(zhuǎn)換為全局最優(yōu)資源調(diào)度目標(biāo)函數(shù)minz(λ):

minz(λ)=αt(θ1,j)+βt(θ2,j)+γt(θ3,j)-hs(λ)/ε

以存儲節(jié)點間的有向連接數(shù)作為解空間維度,每一維對應(yīng)一條有向連接,其取值為分配給該連接的請求流量。每個粒子對應(yīng)的d維向量x表示系統(tǒng)資源調(diào)度問題的一個解,適應(yīng)度函數(shù)為上式所定義的目標(biāo)函數(shù)。

給定一個l層的云存儲集群拓撲圖g(v,e),用l(v)表示節(jié)點所屬的層次。用p(vi,vj)表示vj是vi的子節(jié)點。對節(jié)點進行劃分計算等價關(guān)系r(lk)。該r(lk)將某一級節(jié)點及其各自所有子節(jié)點看作一個粒子,和上級節(jié)點歸為同一等價類。當(dāng)li從1增大到k時,在各個級別層次上構(gòu)建不同粒度的網(wǎng)絡(luò)拓撲,形成分層的解空間鏈。

定義等價關(guān)系r(lk)對應(yīng)的解空間為vk={v1k,v2k…,vnk},k=1,2,…,l。v1表示最粗粒度的空間,即將所有節(jié)點集合看做一個粒子v11,vl表示最細粒度的空間,其中的節(jié)點集合vl={v1l,v2l…,vnl}和原始云存儲中的節(jié)點一一對應(yīng)。按照節(jié)點集合由粗到細得到v1>v2>…>vl的分層的商集。在vk上定義邊集合ek,在層次k的粒度上節(jié)點間存在連接的條件為這對粒子包含的子節(jié)點在層次l的原始拓撲中存在連接。記存儲集群拓撲解空間為gk(vk,ek),k=1,2,...l。根據(jù)節(jié)點粒度進行排序,g1>g2>…>gl構(gòu)成一個分層解空間鏈。

基于上述解空間,逐層對系統(tǒng)負載進行分配。對于位于第k層的某節(jié)點vik,其單位時間請求率λ1k為其所有子節(jié)點的請求率之和,其請求處理率μ1k為其所有子節(jié)點的請求處理率之和。解空間gk中最優(yōu)分配策略對應(yīng)的解向量表示為xk。存儲節(jié)點負載調(diào)度根據(jù)以下步驟執(zhí)行。

1.在構(gòu)建解空間并構(gòu)建分層解空間鏈g1>g2>…>gl之后,確定求解最優(yōu)化算法的粒子群規(guī)模m和算法參數(shù),包括慣性因子w、學(xué)習(xí)因子c和速度閾值s,其中速度閾值s為集群最大負載;。

2.設(shè)定最大迭代次數(shù)n和迭代終止閾值ε,從第二層解空間開始進行遞歸求解。即k=2;

3.在解空間gk中,根據(jù)節(jié)點數(shù)量vk構(gòu)建負載請求變量θkm作為解向量xk。使用粒子群算法完成一次搜索,求得本層粒子的一個最優(yōu)解;査看該空間是否有更細粒度的空間,如果有轉(zhuǎn)到4),否則轉(zhuǎn)到5)。

4.進入更細一層解空間gk+1,構(gòu)建負載請求變量θk+1m,使用兩個粒子群按照不同的策略進行搜索。第一個粒子群中增加上一層空間求得的最優(yōu)解作為本次求解的約束條件,即由上一層粒子分解而得的各粒子負載之和不超出上一層粒子獲得的最優(yōu)分配值;第二個粒子群則不增加約束條件進行搜索;當(dāng)兩個粒子群分別完成最優(yōu)化搜索之后,比較其最優(yōu)解。如果不加約束條件的粒子群獲得的解更優(yōu),則將該解合成為上一層空間的最優(yōu)解,重復(fù)步驟4),跳轉(zhuǎn)到上一層空間重新搜索;如果施加約束條件的粒子群獲得的解更優(yōu),則該最優(yōu)解為本層粒子的最優(yōu)解;査看本層是否有更細粒度的空間,如果有則重復(fù)步驟4),跳轉(zhuǎn)到下一層空間進行搜索,否則轉(zhuǎn)到5)。

5.完成最細一層解空間,得到原始拓撲空間的負載分配向量。系統(tǒng)根據(jù)最優(yōu)值定義的負載請求變量調(diào)度各級服務(wù)級別業(yè)務(wù)請求流量。

在本發(fā)明的存儲集群體系結(jié)構(gòu)中,為防止非法數(shù)據(jù)發(fā)送和恢復(fù),設(shè)備在發(fā)送數(shù)據(jù)時必須使用地址作為來源,在數(shù)據(jù)發(fā)送過程中,該地址被鑒別,從外網(wǎng)通過開放端口傳入存儲集群內(nèi)部的數(shù)據(jù)在沒有被分配合法地址的情況下禁止在存儲集群內(nèi)部進行轉(zhuǎn)發(fā)。在數(shù)據(jù)存入系統(tǒng)時,系統(tǒng)為其選擇一個安全服務(wù)器的集合作為數(shù)據(jù)恢復(fù)服務(wù)器。當(dāng)存儲節(jié)點失效時,只有系統(tǒng)選定的數(shù)據(jù)恢復(fù)服務(wù)器才能夠?qū)崿F(xiàn)數(shù)據(jù)恢復(fù),而其他服務(wù)器即使截獲了發(fā)送給數(shù)據(jù)恢復(fù)服務(wù)器的數(shù)據(jù)塊,也無法恢復(fù)原始數(shù)據(jù)。同時采用獨立密鑰服務(wù)器,用戶將數(shù)據(jù)存放于存儲集群時從編碼陣列中選取部分加密信息,并將加密信息分發(fā)給獨立密鑰服務(wù)器,當(dāng)需要對失效存儲節(jié)點中的數(shù)據(jù)進行恢復(fù)或者是其他數(shù)據(jù)使用者下載數(shù)據(jù)時,需要向獨立密鑰服務(wù)器提供安全性鑒別,通過鑒別后才能夠從中獲取編碼陣列的加密信息,進而構(gòu)造解碼陣列恢復(fù)失效數(shù)據(jù)或下載原始數(shù)據(jù)。

本發(fā)明的集群網(wǎng)絡(luò)采用分層體系結(jié)構(gòu),包括集群接入層以及集群網(wǎng)絡(luò)層的鑒別,門戶網(wǎng)關(guān)負責(zé)存儲集群網(wǎng)絡(luò)與外網(wǎng)之間的數(shù)據(jù)交換,并構(gòu)建不同門戶網(wǎng)關(guān)之間的穿越外網(wǎng)的數(shù)據(jù)通道,并具備來源鑒別功能。每個存儲集群網(wǎng)絡(luò)中,設(shè)置有一臺dns,當(dāng)主機接入該存儲集群網(wǎng)絡(luò)時,通過向dns發(fā)送請求獲取可鑒別的來源,該地址理論上在存儲集群網(wǎng)絡(luò)內(nèi)全局唯一。主機使用該地址向外發(fā)送報文,并接受兩層鑒別。

存儲集群網(wǎng)絡(luò)外部的合法設(shè)備對存儲集群的訪問是通過存儲集群網(wǎng)絡(luò)的管理設(shè)備完成。未被分配可鑒別來源的外部設(shè)備若直接訪問存儲集群網(wǎng)絡(luò),其報文將被鑒別設(shè)備過濾。

集群接入層設(shè)置在匯聚交換機上利用了交換機的物理地址防偽實現(xiàn)服務(wù)器物理地址與ip地址的綁定。集群網(wǎng)絡(luò)層設(shè)置在存儲集群的門戶網(wǎng)關(guān)以及匯聚交換機的上游路由器上,對本數(shù)據(jù)中心內(nèi)的存儲節(jié)點向外發(fā)送的報文的來源進行鑒別,防止存儲集群內(nèi)的存儲節(jié)點發(fā)起來源偽造攻擊,并防止來自于同一網(wǎng)絡(luò)的其他存儲集群的來源偽造攻擊。

網(wǎng)絡(luò)節(jié)點由路由器、網(wǎng)關(guān)以及交換機組成。網(wǎng)絡(luò)節(jié)點包括密鑰存儲模塊,用于存儲和更新鑒別來源所必需的密鑰;轉(zhuǎn)發(fā)信息數(shù)據(jù)庫,用于保存分組轉(zhuǎn)發(fā)所需的路由和交換信息;轉(zhuǎn)發(fā)引擎,用于依據(jù)轉(zhuǎn)發(fā)信息數(shù)據(jù)庫轉(zhuǎn)發(fā)報文;鑒別引擎,用于對來源進行鑒別,只有通過鑒別的報文才被送交轉(zhuǎn)發(fā)引擎轉(zhuǎn)發(fā)。鑒別協(xié)議模塊:用于網(wǎng)絡(luò)節(jié)點間交換來源鑒別信息,是密鑰更新協(xié)議和鑒別算法更新;路由交換協(xié)議模塊:用于網(wǎng)絡(luò)節(jié)點間交換轉(zhuǎn)發(fā)信息。

本發(fā)明利用散列算法來生成節(jié)點的接口id。散列地址的接口id由兩部分組成,存儲節(jié)點的存儲集群id和存儲節(jié)點id,其中存儲集群id用以實現(xiàn)集群網(wǎng)絡(luò)層的存儲集群內(nèi)驗證,而存儲節(jié)點id則用于實現(xiàn)集群接入層鑒別。在每一個存儲集群中存儲節(jié)點id必須全局唯一,保證在存儲集群網(wǎng)絡(luò)中,每一個存儲節(jié)點的接口id是全局唯一的。

散列地址的生成過程包括以下步驟:

1.存儲集群中的存儲節(jié)點向dns發(fā)出申請。存儲節(jié)點向dns發(fā)送的申請中包含有存儲節(jié)點所屬存儲集群信息、存儲節(jié)點管理者信息以及存儲節(jié)點物理地址,這些信息用于dns判斷該節(jié)點是否具備獲取地址的條件。

2.dns根據(jù)存儲節(jié)點所在存儲集群為其選擇子網(wǎng)標(biāo)識。每一個接入子網(wǎng)都被分配一個全局唯一的子網(wǎng)標(biāo)識,dns依據(jù)存儲節(jié)點提供的存儲集群所在網(wǎng)絡(luò)位置信息選擇與之相對應(yīng)的子網(wǎng)標(biāo)識用以生成地址;

3.利用散列算法為存儲節(jié)點生成存儲節(jié)點id(snid),可表示為:

snid=sha(mac||addrkey)

其中mac為存儲節(jié)點物理地址;addrkey為dns所擁有的用于生成和鑒別地址的密鑰,該密鑰存儲在dns以及支持分層來源鑒別的網(wǎng)絡(luò)節(jié)點的密鑰存儲模塊中。

4.利用散列算法為存儲節(jié)點生成存儲集群id(scid),可表示為:

scid=sha(snid||addrkey)

5.檢查該地址是否全局唯一,若該地址已存在,重新生成snid,生成過程可表示為:

snid=(mac||addrkey||addr_rdmpara)

其中addr_rdmpara為dns選取的用以重新生成存儲節(jié)點id的隨機參數(shù)。若生成的地址全局唯一,則將地址分配給存儲節(jié)點使用。

存儲節(jié)點向dns申請地址后,集群接入層鑒別過程包括:

1.存儲節(jié)點向dns申請地址,并以該地址為來源向外發(fā)送數(shù)據(jù);

2.匯聚交換機從鏈路層獲取存儲節(jié)點的物理地址;

3.匯聚交換機使用addrkey和存儲節(jié)點的物理地址,計算發(fā)送服務(wù)器的存儲節(jié)點id如果地址生成過程使用了addr_rdmpara,還需要查詢并使用與該物理地址對應(yīng)的addr_rdmpara;

4.將計算出的存儲節(jié)點id與當(dāng)前報文中來源的存儲節(jié)點id進行比較,若相同則繼續(xù)傳輸,反之,則丟棄該報文。

集群網(wǎng)絡(luò)層鑒別可分為存儲集群內(nèi)部鑒別和存儲集群間鑒別兩部分。存儲集群內(nèi)部鑒別流程包括:

1.路由器從報文中獲取來源的存儲節(jié)點id;

2.路由器使用addrkey和報文來源中的存儲節(jié)點id計算發(fā)送節(jié)點的集群id;

3.將計算出的存儲集群id與當(dāng)前報文來源的存儲集群id進行比較;若相同,則鑒別通過,進行轉(zhuǎn)發(fā),反之,則丟棄該報文。

存儲集群間鑒別由存儲集群的門戶網(wǎng)關(guān)完成,在鑒別過程中,門戶網(wǎng)關(guān)一是向由本存儲集群發(fā)往其他存儲集群的報文中添加簽名信息,用以表示該報文在集群內(nèi)己經(jīng)過鑒別;二是檢查所收到的來自于其他存儲集群的報文是否具有簽名信息,并對簽名信息進行鑒別。

本發(fā)明在存儲集群網(wǎng)絡(luò)中為所有存儲集群建立一臺管理節(jié)點,通過該服務(wù)器實現(xiàn)對存儲集群網(wǎng)絡(luò)中門戶網(wǎng)關(guān)的管理。具體描述如下。

1.門戶網(wǎng)關(guān)進行注冊,然后為注冊成功的門戶網(wǎng)關(guān)對應(yīng)分配一個隨機數(shù),為下一步做準(zhǔn)備。產(chǎn)生門戶網(wǎng)關(guān)的密鑰,即為各門戶網(wǎng)關(guān)安全生成并分發(fā)私鑰,而門戶網(wǎng)關(guān)公鑰是由門戶網(wǎng)關(guān)根據(jù)其所在存儲集群子網(wǎng)標(biāo)識和系統(tǒng)共享參數(shù)生成的。通過管理節(jié)點的主私鑰和門戶網(wǎng)關(guān)在上一步得到的隨機數(shù),保證只有擁有合法身份的門戶網(wǎng)關(guān)才能獲得對應(yīng)的私鑰,同時保證門戶網(wǎng)關(guān)獲得的私鑰是由管理節(jié)點產(chǎn)生。

其中,門戶網(wǎng)關(guān)進行注冊過程進一步包括:

(1)管理節(jié)點運行初始設(shè)置算法。輸入一個安全參數(shù),輸出一系列系統(tǒng)共享參數(shù)(包括明文空間、密文空間、哈希函數(shù))、主公鑰kmp和主私鑰kms。主私鑰用來生成門戶網(wǎng)關(guān)私鑰。

(2)門戶網(wǎng)關(guān)向管理節(jié)點發(fā)送注冊信息。每臺門戶網(wǎng)關(guān)在準(zhǔn)備連接到該存儲集群網(wǎng)絡(luò)時,都需要先以其所在存儲集群的子網(wǎng)標(biāo)識作為身份向管理節(jié)點進行注冊。

(3)管理節(jié)點響應(yīng)門戶網(wǎng)關(guān)注冊請求。管理節(jié)點收到主機注冊請求后,記錄下該主機的子網(wǎng)標(biāo)識,并為其生成一個隨機數(shù)rdm。同時,將每個門戶網(wǎng)關(guān)的子網(wǎng)標(biāo)識和分配給該主機的隨機數(shù)對應(yīng)起來,以列表的形式保存,稱該列表為lmac。然后,管理節(jié)點將隨機數(shù)rdm、主公鑰kmp及系統(tǒng)共享參數(shù)發(fā)送給門戶網(wǎng)關(guān)。

進一步,門戶網(wǎng)關(guān)生成并分發(fā)私鑰的具體過程為:

(1)門戶網(wǎng)關(guān)根據(jù)注冊過程中收到的主公鑰和系統(tǒng)共享參數(shù),結(jié)合其子網(wǎng)標(biāo)識,根據(jù)基于身份的數(shù)字簽名方案計算出門戶網(wǎng)關(guān)公鑰kp。

(2)門戶網(wǎng)關(guān)用主公鑰kmp對隨機數(shù)rdm進行加密,生成加密信息,防止隨機數(shù)在發(fā)送過程中被篡改。然后,門戶網(wǎng)關(guān)把子網(wǎng)標(biāo)識及該加密信息發(fā)送給管理節(jié)點,申請門戶網(wǎng)關(guān)私鑰。

(3)管理節(jié)點收到門戶網(wǎng)關(guān)請求后,首先根據(jù)信息中的子網(wǎng)標(biāo)識查找其保存的列表lmac。如果在列表中能找到對應(yīng)表項,則說明該門戶網(wǎng)關(guān)注冊過,進行下一步鑒別;否則,丟棄該請求信息。找到對應(yīng)的表項后,對收到信息的剩余部分進行解密,將解密得到的信息與對應(yīng)表項中的隨機數(shù)比較。如果匹配成功,則說明請求是由注冊過的合法接入網(wǎng)關(guān)發(fā)出的,鑒別成功;否則丟棄該請求信息。

(4)鑒別成功后,管理節(jié)點根據(jù)該門戶網(wǎng)關(guān)子網(wǎng)標(biāo)識和主私鑰kms生成門戶網(wǎng)關(guān)私鑰ks。管理節(jié)點將該門戶網(wǎng)關(guān)私鑰與對應(yīng)表項的隨機數(shù)rdm進行異或運算,然后,使用主私鑰kms對子網(wǎng)標(biāo)識及異或值進行私鑰運算,將運算結(jié)果作為響應(yīng)信息發(fā)送給主機。

(5)門戶網(wǎng)關(guān)收到響應(yīng)信息后,使用之前收到的主公鑰kmp對該響應(yīng)信息進行鑒別。如果其中的子網(wǎng)標(biāo)識與門戶網(wǎng)關(guān)的子網(wǎng)標(biāo)識一致,則判定該信息是來自管理節(jié)點,將信息的剩余部分與其保存的隨機數(shù)進行異或操作,得到私鑰并將其安全保存;否則,丟棄該響應(yīng)信息,門戶網(wǎng)關(guān)重新發(fā)送私鑰申請。

2.門戶網(wǎng)關(guān)每隔預(yù)定的時間將向存儲集群網(wǎng)絡(luò)中的其他門戶網(wǎng)關(guān)分別發(fā)送一個簽名報文,估算出與其他門戶網(wǎng)關(guān)通信所需要的時間,即報文從門戶網(wǎng)關(guān)發(fā)送到其他門戶網(wǎng)關(guān)所花費的時間,將該時間記為t,由門戶網(wǎng)關(guān)保存。簽名報文生成過程如下。假設(shè)f為偽隨機函數(shù),門戶網(wǎng)關(guān)使用其密鑰發(fā)生器來生成兩個會話密鑰k0、k1并計算f(k0)、f(k1)然后使用門戶網(wǎng)關(guān)私鑰對子網(wǎng)標(biāo)識sp和f(k0)進行簽名,得到簽名報文s,使用k0和集合d1計算一個消息認(rèn)證碼mack0d1,其中d1為{sp,k0,f(k1)}。將f(k0)和mack0d1作為數(shù)據(jù),生成一個報文,并將簽名s添加到報文的擴展首部,將該簽名報文發(fā)送給其他門戶網(wǎng)關(guān)。

門戶網(wǎng)關(guān)收到來自其他門戶網(wǎng)關(guān)的簽名信息后,根據(jù)主公鑰系統(tǒng)共享參數(shù)及源門戶網(wǎng)關(guān)的子網(wǎng)標(biāo)識來計算出一個公鑰kp’。用公鑰對報文擴展首部中的簽名進行鑒別,將得到的子網(wǎng)標(biāo)識、f(k0)與報文中的子網(wǎng)標(biāo)識、報文中的數(shù)據(jù)f(k0)分別進行比較。如果都一致,則鑒別通過,記錄下報文的數(shù)據(jù)f(k0)、mack0d1及子網(wǎng)標(biāo)識地址,保存在以子網(wǎng)標(biāo)識為索引的列表lip。

3.門戶網(wǎng)關(guān)在發(fā)送完簽名報文后,首先記錄下發(fā)送完成的時刻t1。然后生成下一個密鑰k2,計算出f(k2)、mack1d2,其中d2={sp,k1,f(k2)},當(dāng)門戶網(wǎng)關(guān)需要向其他門戶網(wǎng)關(guān)轉(zhuǎn)發(fā)報文時,需要在其所轉(zhuǎn)發(fā)的報文的擴展首部中添加{k0,f(k1),mack1d2}。當(dāng)門戶網(wǎng)關(guān)準(zhǔn)備轉(zhuǎn)發(fā)報文時,首先計算此時時刻t2與t1的差值δt。如果δt>t,則確定之前發(fā)送的簽名報文已經(jīng)到達目的門戶網(wǎng)關(guān),將這些報文全部轉(zhuǎn)發(fā)出去;否則直到δt>t再發(fā)送報文。

門戶網(wǎng)關(guān)收到來自其他門戶網(wǎng)關(guān)轉(zhuǎn)發(fā)的一組報文后,對其中的每個報文分別進行鑒別:根據(jù)報文中的來源的子網(wǎng)標(biāo)識在表lip中找到對應(yīng)的f(k0)和mack0d1;再使用報文擴展首部中的k0來計算f(k0),將此計算結(jié)果與表lip中的進行比較,如果比較結(jié)果一致,則說明傳遞過來的f(k0)是合法的;然后,用f(k0)來鑒別表lip中的mack0d1,如果此鑒別通過,則將報文擴展首部去除后向存儲集群內(nèi)轉(zhuǎn)發(fā)。

對于該組中第1個鑒別成功的報文,在執(zhí)行完上述鑒別后,還要在表lip對應(yīng)表項中添加上f(k1)和mack1d2。對于該組中最后一個被鑒別的報文,還要將表lip對應(yīng)表項中的f(k0)和mack0d1刪除。對此后收到的該門戶網(wǎng)關(guān)的報文,需要執(zhí)行此鑒別過程。

數(shù)據(jù)分發(fā)到存儲節(jié)點的過程,以及數(shù)據(jù)從有效節(jié)點發(fā)送給待恢復(fù)存儲節(jié)點的過程可以看作為一個廣播過程。本發(fā)明將將待恢復(fù)存儲節(jié)點分為可信服務(wù)器和非可信服務(wù)器,可信服務(wù)器可以參與數(shù)據(jù)恢復(fù),而非可信服務(wù)器無法參與數(shù)據(jù)恢復(fù),同時將用戶也看作為參與到廣播加密中的向可信服務(wù)器發(fā)送數(shù)據(jù)的存儲節(jié)點,即對數(shù)據(jù)接收節(jié)點進行選擇,只有被選中的節(jié)點才能夠?qū)?shù)據(jù)進行解碼,確保數(shù)據(jù)的安全性。

用戶的數(shù)據(jù)在存儲前將進行編碼,編碼后的數(shù)據(jù)分為兩類,一類為存儲數(shù)據(jù)塊,另一類為加密信息數(shù)據(jù),其中包含有數(shù)據(jù)編碼恢復(fù)的關(guān)鍵信息,其由可信數(shù)據(jù)恢復(fù)服務(wù)器存儲,當(dāng)存儲節(jié)點存在失效存儲節(jié)點時,系統(tǒng)依據(jù)傳輸路徑最優(yōu)原則從可信數(shù)據(jù)恢復(fù)服務(wù)器中選擇若干服務(wù)器進行數(shù)據(jù)恢復(fù),對于非可信數(shù)據(jù)服務(wù)器而言,由于其沒有加密信息數(shù)據(jù),所以無法對數(shù)據(jù)進行編碼恢復(fù)。

在用戶將數(shù)據(jù)提交存儲節(jié)點時,存儲節(jié)點將數(shù)據(jù)構(gòu)造為d×d消息陣列m,利用n×d編碼陣列ψ對m進行編碼,編碼陣列ψ表示為ψ=[φ,δ],其中φ,δ分別為n×k和n×(d-k)陣列,且滿足ψ中的任意d行是線性無關(guān)的,φ中的任意k行是線性無關(guān)的。

通過編碼可以獲取n個數(shù)據(jù)片段,并分別存儲于n個存儲節(jié)點,每個服務(wù)器存儲m/k的數(shù)據(jù)量,任意k個存儲節(jié)點即可以重構(gòu)原始數(shù)據(jù)m。

當(dāng)有r個存儲節(jié)點失效后,為了保證數(shù)據(jù)的可靠性,存儲節(jié)點選取大于等于r個可信數(shù)據(jù)恢復(fù)服務(wù)器,通過仍然有效的n-r存儲節(jié)點來為每個可信數(shù)據(jù)恢復(fù)服務(wù)器獲取大于等于d個數(shù)據(jù)塊用以恢復(fù)數(shù)據(jù)。數(shù)據(jù)恢復(fù)過程可以描述如下:

1.每個可信數(shù)據(jù)恢復(fù)服務(wù)器連接d臺存儲節(jié)點進行修復(fù),d臺存儲節(jié)點是最初由存儲節(jié)點分配的存儲節(jié)點,或已經(jīng)完成數(shù)據(jù)恢復(fù)的可信數(shù)據(jù)恢復(fù)服務(wù)器;

2.每臺可信數(shù)據(jù)恢復(fù)服務(wù)器利用其收到的d個數(shù)據(jù)塊來產(chǎn)生一個與已失效服務(wù)器存儲數(shù)據(jù)相同的大小為m/k的數(shù)據(jù)塊。

3.數(shù)據(jù)恢復(fù)完成后,從n個存儲節(jié)點中任意選取d個來重構(gòu)原始數(shù)據(jù)文件。

綜上所述,本發(fā)明提出了一種云存儲節(jié)點負載均衡方法,通過智能負載均衡策略實現(xiàn)了系統(tǒng)訪問性能的全局最優(yōu)化,并基于安全架構(gòu)防止非法用戶實現(xiàn)對分布式存儲節(jié)點之間的非法存取和攻擊。

顯然,本領(lǐng)域的技術(shù)人員應(yīng)該理解,上述的本發(fā)明的各模塊或各步驟可以用通用的計算系統(tǒng)來實現(xiàn),它們可以集中在單個的計算系統(tǒng)上,或者分布在多個計算系統(tǒng)所組成的網(wǎng)絡(luò)上,可選地,它們可以用計算系統(tǒng)可執(zhí)行的程序代碼來實現(xiàn),從而,可以將它們存儲在存儲節(jié)點中由計算系統(tǒng)來執(zhí)行。這樣,本發(fā)明不限制于任何特定的硬件和軟件結(jié)合。

應(yīng)當(dāng)理解的是,本發(fā)明的上述具體實施方式僅僅用于示例性說明或解釋本發(fā)明的原理,而不構(gòu)成對本發(fā)明的限制。因此,在不偏離本發(fā)明的精神和范圍的情況下所做的任何修改、等同替換、改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。此外,本發(fā)明所附權(quán)利要求旨在涵蓋落入所附權(quán)利要求范圍和邊界、或者這種范圍和邊界的等同形式內(nèi)的全部變化和修改例。

當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1