云存儲(chǔ)平臺(tái)的數(shù)據(jù)處理方法
【專利摘要】本發(fā)明提供了一種云存儲(chǔ)平臺(tái)的數(shù)據(jù)處理方法,該方法包括:在數(shù)據(jù)在寫入前通過存儲(chǔ)負(fù)載平衡策略確定存儲(chǔ)節(jié)點(diǎn),在數(shù)據(jù)寫入后根據(jù)訪問頻率或節(jié)點(diǎn)存儲(chǔ)容量重新分配副本存儲(chǔ)節(jié)點(diǎn)。本發(fā)明提出了一種云存儲(chǔ)平臺(tái)的數(shù)據(jù)處理方法,簡化了服務(wù)器集群部署方式,避免用戶直接對(duì)服務(wù)器集群進(jìn)行操作,保證存儲(chǔ)節(jié)點(diǎn)的合理性和數(shù)據(jù)穩(wěn)定性。
【專利說明】
云存儲(chǔ)平臺(tái)的數(shù)據(jù)處理方法
技術(shù)領(lǐng)域
[0001] 本發(fā)明設(shè)及云存儲(chǔ),特別設(shè)及一種云存儲(chǔ)平臺(tái)的數(shù)據(jù)處理方法。
【背景技術(shù)】
[0002] 云存儲(chǔ)采用了云計(jì)算、分布式文件系統(tǒng)W及服務(wù)器集群等技術(shù),將網(wǎng)絡(luò)中各種存 儲(chǔ)資源聚合起來,共同對(duì)外提供數(shù)據(jù)存儲(chǔ)和業(yè)務(wù)訪問功能,在科研、生產(chǎn)和貿(mào)易服務(wù)領(lǐng)域有 著廣泛應(yīng)用。目前的云存儲(chǔ)分為公有服務(wù)型存儲(chǔ),即對(duì)企業(yè)或者個(gè)人提供存儲(chǔ)服務(wù);一種是 私有架構(gòu)型云存儲(chǔ),即企業(yè)內(nèi)部搭建的基于存儲(chǔ)服務(wù)器集群和分布式文件系統(tǒng),部署在企 業(yè)數(shù)據(jù)中屯、或者安全的節(jié)點(diǎn)托管場所,為企業(yè)自身提供相應(yīng)的存儲(chǔ)服務(wù)。云存儲(chǔ)平臺(tái)保密 性較高,且存儲(chǔ)過程無需太多I/O操作,因此采用搭建私有云存儲(chǔ)系統(tǒng)來保存其數(shù)據(jù)文件是 最好的選擇。目前,私有云存儲(chǔ)搭建方案有很多種:包括鍵值型分布式文件系統(tǒng),采用了分 組的方式,服務(wù)器集群由一個(gè)或多個(gè)組構(gòu)成,同組內(nèi)的業(yè)務(wù)節(jié)點(diǎn)為互備關(guān)系。采用分組存儲(chǔ) 的方式能夠使存儲(chǔ)服務(wù)器集群更加靈活,可控性也相對(duì)較強(qiáng)。然而,化doop作為一個(gè)開源的 分布式存儲(chǔ)計(jì)算框架,也有著它自身的缺點(diǎn)。那就是系統(tǒng)架構(gòu)設(shè)計(jì)復(fù)雜,運(yùn)行維護(hù)難度較 大。對(duì)云存儲(chǔ)平臺(tái)的使用不僅需要多方面的知識(shí)積累,而且在其運(yùn)行維護(hù)方面也有很多技 能去學(xué)習(xí)掌握,從一定程度上限制了云存儲(chǔ)平臺(tái)的行業(yè)推廣和使用。在搭建信息云存儲(chǔ)平 臺(tái)中,還有兩個(gè)影響部署和系統(tǒng)性能的問題:第一個(gè)是運(yùn)行過程中,節(jié)點(diǎn)容易發(fā)生故障。一 旦節(jié)點(diǎn)故障發(fā)生而不能準(zhǔn)備及時(shí)地進(jìn)行處理,就會(huì)影響多個(gè)節(jié)點(diǎn)的存儲(chǔ)服務(wù)器集群搭建過 程中,每個(gè)節(jié)點(diǎn)都有很多重復(fù)的操作,使得搭建過程非常繁瑣而且容易出錯(cuò);第二個(gè)是因?yàn)?節(jié)點(diǎn)均為普通個(gè)人計(jì)算機(jī),而非小型機(jī)或大型機(jī)之類的專用服務(wù)器,因此數(shù)據(jù)在使用過程 中,受到諸如CPU,內(nèi)存W及磁盤I/O等影響較為嚴(yán)重。
【發(fā)明內(nèi)容】
[0003] 為解決上述現(xiàn)有技術(shù)所存在的問題,本發(fā)明提出了一種云存儲(chǔ)平臺(tái)的數(shù)據(jù)處理方 法,包括:
[0004] 在數(shù)據(jù)在寫入前通過存儲(chǔ)負(fù)載平衡策略確定存儲(chǔ)節(jié)點(diǎn),在數(shù)據(jù)寫入后根據(jù)訪問頻 率或節(jié)點(diǎn)存儲(chǔ)容量重新分配副本存儲(chǔ)節(jié)點(diǎn)。
[0005] 優(yōu)選地,該方法進(jìn)一步包括:在云存儲(chǔ)平臺(tái)的文件系統(tǒng)中設(shè)置節(jié)點(diǎn)選擇與調(diào)度監(jiān) 視器,其中節(jié)點(diǎn)選擇策略實(shí)現(xiàn)于名字節(jié)點(diǎn)之中,由名字節(jié)點(diǎn)在選擇業(yè)務(wù)節(jié)點(diǎn)時(shí)調(diào)用,調(diào)度監(jiān) 視器用來監(jiān)視服務(wù)器集群運(yùn)行狀況,包括數(shù)據(jù)塊的訪問頻率W及業(yè)務(wù)節(jié)點(diǎn)的存儲(chǔ)容量,系 統(tǒng)在閑置狀態(tài)時(shí),管理節(jié)點(diǎn)根據(jù)數(shù)據(jù)訪問頻率和系統(tǒng)容量,調(diào)度副本存放位置;
[0006] 文件上傳之前,業(yè)務(wù)節(jié)點(diǎn)向名字節(jié)點(diǎn)發(fā)出寫數(shù)據(jù)請(qǐng)求,名字節(jié)點(diǎn)調(diào)用節(jié)點(diǎn)選擇模 型,通過調(diào)度監(jiān)視器,獲取服務(wù)器集群運(yùn)行信息,計(jì)算節(jié)點(diǎn)的存儲(chǔ)比例,計(jì)算每個(gè)機(jī)架節(jié)點(diǎn) 的存儲(chǔ)比例,并按照備份因子個(gè)數(shù),優(yōu)先選擇存儲(chǔ)比例最高的節(jié)點(diǎn)組成節(jié)點(diǎn)隊(duì)列發(fā)送給客 戶端,由客戶端將待存儲(chǔ)的數(shù)據(jù)分割成多個(gè)數(shù)據(jù)塊,存儲(chǔ)在不同的業(yè)務(wù)節(jié)點(diǎn)上;
[0007] 在所有文件已經(jīng)保存于服務(wù)器集群之后,通過調(diào)度監(jiān)視器收集服務(wù)器集群運(yùn)行信 息,獲取到所有節(jié)點(diǎn)的數(shù)據(jù)訪問頻率及所有節(jié)點(diǎn)的存儲(chǔ)容量,若數(shù)據(jù)的訪問頻率超過預(yù)定 義闊值,則將副本放置在訪問頻率最低的節(jié)點(diǎn)上;若系統(tǒng)剩余容量低于闊值,則將副本放置 在存儲(chǔ)比例最高的節(jié)點(diǎn);
[0008] 服務(wù)器集群運(yùn)行信息通過云存儲(chǔ)平臺(tái)運(yùn)行信息測量和展示框架進(jìn)行監(jiān)視,所述框 架監(jiān)測和調(diào)度云存儲(chǔ)平臺(tái)相關(guān)的任務(wù);客戶端在節(jié)點(diǎn)選擇分為兩種方式:客戶端在服務(wù)器 集群節(jié)點(diǎn)上的選擇策略與客戶端在服務(wù)器集群節(jié)點(diǎn)外的選擇方式,具體實(shí)現(xiàn)方式如下:
[0009] 在n個(gè)機(jī)架服務(wù)器集群的每個(gè)機(jī)架設(shè)置TR臺(tái)業(yè)務(wù)節(jié)點(diǎn),副本數(shù)為r;若客戶端在服 務(wù)器集群業(yè)務(wù)節(jié)點(diǎn)上,貝U
[0010] a)客戶端向管理節(jié)點(diǎn)發(fā)出寫數(shù)據(jù)請(qǐng)求;
[0011] b)管理節(jié)點(diǎn)根據(jù)文件內(nèi)容及系統(tǒng)配置情況,計(jì)算客戶端所在機(jī)架的所有業(yè)務(wù)節(jié)點(diǎn) 存儲(chǔ)比例,過程如下:
[0012] 設(shè)客戶端在第i臺(tái)機(jī)架,初始化被選節(jié)點(diǎn)集合SDN為空;
[001引該機(jī)架第j個(gè)節(jié)點(diǎn)的剩余容量為化^,存儲(chǔ)的塊數(shù)為化U,節(jié)點(diǎn)的存儲(chǔ)優(yōu)選比例RSiJ =化ij/化ij,將存儲(chǔ)優(yōu)選比最高的兩個(gè)節(jié)點(diǎn)放入被選節(jié)點(diǎn)集合,即SDN= {DNia、DNib};其中 DNia、DNib表示第i個(gè)機(jī)架上的a和b業(yè)務(wù)節(jié)點(diǎn),
[0014] C)從剩余每個(gè)機(jī)架中計(jì)算r-2個(gè)存儲(chǔ)比最大的節(jié)點(diǎn),排序后選擇最大的r-2個(gè)節(jié)點(diǎn) 放入被選節(jié)點(diǎn)集合SDN,共r個(gè)節(jié)點(diǎn),用來存放數(shù)據(jù)塊及其副本;
[0015] d)管理節(jié)點(diǎn)將SDN集合中的節(jié)點(diǎn)分配業(yè)務(wù)節(jié)點(diǎn)給客戶端,由客戶端來寫入;
[0016] 當(dāng)客戶端不在業(yè)務(wù)節(jié)點(diǎn)上時(shí),則直接計(jì)算服務(wù)器集群中所有節(jié)點(diǎn)的存儲(chǔ)比例,選 擇前r個(gè)最大的節(jié)點(diǎn),即為數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn);從個(gè)節(jié)點(diǎn)中,根據(jù)RSu =化U/化U選出存儲(chǔ) 比例最高的r個(gè)節(jié)點(diǎn),放入SDN列表中,即為選中的最優(yōu)節(jié)點(diǎn)。
[0017] 本發(fā)明相比現(xiàn)有技術(shù),具有W下優(yōu)點(diǎn):
[0018] 本發(fā)明提出了一種云存儲(chǔ)平臺(tái)的數(shù)據(jù)處理方法,簡化了服務(wù)器集群部署方式,避 免用戶直接對(duì)服務(wù)器集群進(jìn)行操作,保證存儲(chǔ)節(jié)點(diǎn)的合理性和數(shù)據(jù)穩(wěn)定性。
【附圖說明】
[0019] 圖1是根據(jù)本發(fā)明實(shí)施例的云存儲(chǔ)平臺(tái)的數(shù)據(jù)處理方法的流程圖。
【具體實(shí)施方式】
[0020] 下文與圖示本發(fā)明原理的附圖一起提供對(duì)本發(fā)明一個(gè)或者多個(gè)實(shí)施例的詳細(xì)描 述。結(jié)合運(yùn)樣的實(shí)施例描述本發(fā)明,但是本發(fā)明不限于任何實(shí)施例。本發(fā)明的范圍僅由權(quán)利 要求書限定,并且本發(fā)明涵蓋諸多替代、修改和等同物。在下文描述中闡述諸多具體細(xì)節(jié)W 便提供對(duì)本發(fā)明的透徹理解。出于示例的目的而提供運(yùn)些細(xì)節(jié),并且無運(yùn)些具體細(xì)節(jié)中的 一些或者所有細(xì)節(jié)也可W根據(jù)權(quán)利要求書實(shí)現(xiàn)本發(fā)明。
[0021] 本發(fā)明的一方面提供了一種云存儲(chǔ)平臺(tái)的數(shù)據(jù)處理方法。圖1是根據(jù)本發(fā)明實(shí)施 例的云存儲(chǔ)平臺(tái)的數(shù)據(jù)處理方法流程圖。
[0022] 為了更好地管理服務(wù)器集群,本發(fā)明對(duì)云存儲(chǔ)平臺(tái)分布式框架運(yùn)行過程的整個(gè)生 命周期進(jìn)行自動(dòng)化管理,包括安裝,搭建W及監(jiān)視,提供可視化界面,提高管理員的效率。同 時(shí)存儲(chǔ)資源控制系統(tǒng)進(jìn)行故障報(bào)警及處理。除了對(duì)服務(wù)器集群的運(yùn)行維護(hù)操作,還需要對(duì) 服務(wù)器集群的性能進(jìn)行優(yōu)化。服務(wù)器集群中新增節(jié)點(diǎn)后,重新優(yōu)化服務(wù)器集群性能。針對(duì)云 存儲(chǔ)服務(wù)器集群在部署、運(yùn)行維護(hù)與使用過程中的種種問題,本發(fā)明針對(duì)搭建的服務(wù)器集 群,利用數(shù)據(jù)讀寫階段的節(jié)點(diǎn)調(diào)度優(yōu)化模型,來實(shí)現(xiàn)服務(wù)器集群的便捷管理與優(yōu)化。本發(fā)明 將針對(duì)服務(wù)器集群的部署框架、節(jié)點(diǎn)管理和服務(wù)器優(yōu)化調(diào)度的方面進(jìn)行詳細(xì)說明。
[0023] 本發(fā)明采用主從結(jié)構(gòu),包含一個(gè)管理節(jié)點(diǎn)和多個(gè)業(yè)務(wù)節(jié)點(diǎn)。管理節(jié)點(diǎn)用于與業(yè)務(wù) 節(jié)點(diǎn)交互,接受業(yè)務(wù)節(jié)點(diǎn)發(fā)送的屯、跳請(qǐng)求,完成集中式管理監(jiān)視邏輯,而每個(gè)業(yè)務(wù)節(jié)點(diǎn)負(fù)責(zé) 所在節(jié)點(diǎn)的狀態(tài)采集及維護(hù)工作。管理節(jié)點(diǎn)部署在單獨(dú)的節(jié)點(diǎn),作為服務(wù)器集群部署框架 的管理節(jié)點(diǎn),其職責(zé)是接收用戶發(fā)送的命令執(zhí)行請(qǐng)求,隨后向業(yè)務(wù)節(jié)點(diǎn)發(fā)送命令,采用JSON 方式來發(fā)送命令,該JSON數(shù)據(jù)包括了安裝、開始、停止服務(wù)的配置信息。
[0024] 業(yè)務(wù)節(jié)點(diǎn)部署在所有待加入服務(wù)器集群的節(jié)點(diǎn)上,用來執(zhí)行由管理節(jié)點(diǎn)發(fā)送的執(zhí) 行任務(wù)請(qǐng)求,所執(zhí)行的腳本存儲(chǔ)在管理節(jié)點(diǎn)上的指定目錄下,該腳本將業(yè)務(wù)節(jié)點(diǎn)接收來自 管理節(jié)點(diǎn)的命令文件的內(nèi)容轉(zhuǎn)化為字典格式,便于腳本實(shí)現(xiàn)部署時(shí)對(duì)配置的使用。在部署 過程中的狀態(tài)和行為傳遞均為由管理節(jié)點(diǎn)發(fā)送給業(yè)務(wù)節(jié)點(diǎn),業(yè)務(wù)節(jié)點(diǎn)接收到某個(gè)操作行 為,通過行為執(zhí)行線程來執(zhí)行對(duì)應(yīng)的方法,并將執(zhí)行后的消息通過消息隊(duì)列反饋給管理節(jié) 點(diǎn)。
[0025] 在服務(wù)器集群部署過程中,操作人員通過頁面執(zhí)行不同的行為,管理節(jié)點(diǎn)將該行 為發(fā)送給業(yè)務(wù)節(jié)點(diǎn),.再由業(yè)務(wù)節(jié)點(diǎn)的行為執(zhí)行線程來執(zhí)行對(duì)應(yīng)的操作,完成服務(wù)器集群部 署。在業(yè)務(wù)節(jié)點(diǎn)執(zhí)行過程中,將服務(wù)器集群中的狀態(tài)信息發(fā)回給管理節(jié)點(diǎn),由管理節(jié)點(diǎn)的有 限狀態(tài)機(jī)來進(jìn)行判斷。
[0026] 在服務(wù)器集群節(jié)點(diǎn)配置中,本發(fā)明默認(rèn)所有節(jié)點(diǎn)均已經(jīng)成功安裝操作系統(tǒng),無論 是物理機(jī)還是虛擬機(jī)。節(jié)點(diǎn)加入到服務(wù)器集群中有兩個(gè)步驟,第一是雙方安全認(rèn)證,第二是 節(jié)點(diǎn)名的配置。雙方安全認(rèn)證采用化ell腳本來編寫,系統(tǒng)執(zhí)行該腳本,將管理節(jié)點(diǎn)的公鑰 文件分發(fā)到各個(gè)業(yè)務(wù)節(jié)點(diǎn),W達(dá)到無密碼登錄的狀態(tài)。
[0027] 配置服務(wù)器集群服務(wù)包括選擇服務(wù)和選擇服務(wù)所在節(jié)點(diǎn)。目前的服務(wù)信息寫在 JSON數(shù)據(jù)中,在選擇服務(wù)時(shí)通過讀取該JSON數(shù)據(jù),獲取所有的云存儲(chǔ)平臺(tái)服務(wù),選擇性地進(jìn) 行安裝。在選擇服務(wù)后,對(duì)將服務(wù)分配在對(duì)應(yīng)的節(jié)點(diǎn),運(yùn)時(shí)會(huì)讀取之前的節(jié)點(diǎn)列表,然后將 每個(gè)服務(wù)進(jìn)行節(jié)點(diǎn)選擇。
[0028] 在服務(wù)和節(jié)點(diǎn)的配置信息均己設(shè)置完畢后,系統(tǒng)會(huì)通過執(zhí)行化ell,將對(duì)應(yīng)的云存 儲(chǔ)平臺(tái)服務(wù)安裝包分發(fā)到對(duì)應(yīng)的節(jié)點(diǎn)上,并進(jìn)行安裝。所有節(jié)點(diǎn)的服務(wù)配置信息進(jìn)行同步。
[0029] 服務(wù)器集群搭建完成后,服務(wù)器集群中節(jié)點(diǎn)隨著數(shù)據(jù)量的增加而增加,節(jié)點(diǎn)的添 加 W及故障節(jié)點(diǎn)的處理的復(fù)雜度也呈指數(shù)級(jí)上漲。本發(fā)明利用節(jié)點(diǎn)管理,通過一個(gè)云存儲(chǔ) 平臺(tái)服務(wù)監(jiān)視線程,對(duì)管理節(jié)點(diǎn)的云存儲(chǔ)平臺(tái)服務(wù)進(jìn)行輪詢,實(shí)時(shí)監(jiān)視服務(wù)器集群上各個(gè) 節(jié)點(diǎn)的運(yùn)行狀態(tài),同時(shí)實(shí)現(xiàn)對(duì)節(jié)點(diǎn)進(jìn)行增加和刪除操作。
[0030] 節(jié)點(diǎn)管理采用觀測者模式來實(shí)現(xiàn)云存儲(chǔ)平臺(tái)服務(wù)監(jiān)視器,其中節(jié)點(diǎn)管理器為觀測 者,云存儲(chǔ)平臺(tái)服務(wù)監(jiān)視器為被觀測者。監(jiān)視包括監(jiān)視服務(wù)器集群運(yùn)行狀況,包括所有節(jié)點(diǎn) 運(yùn)行狀況,文件系統(tǒng)使用情況。管理包括服務(wù)器集群節(jié)點(diǎn)和服務(wù)的開啟、關(guān)閉,節(jié)點(diǎn)的增加 和刪除等。
[0031] 云存儲(chǔ)平臺(tái)服務(wù)器搭建完畢后,管理節(jié)點(diǎn)會(huì)啟動(dòng)服務(wù)器集群監(jiān)視,周期性地發(fā)起 節(jié)點(diǎn)信息獲取服務(wù)器集群節(jié)點(diǎn)指標(biāo)。同時(shí)由云存儲(chǔ)平臺(tái)節(jié)點(diǎn)管理器來選擇節(jié)點(diǎn)增加或者刪 除的操作。
[0032] 如果有新節(jié)點(diǎn)要加入服務(wù)器集群,則需要云存儲(chǔ)平臺(tái)節(jié)點(diǎn)管理器獲取待加入服務(wù) 器集群的節(jié)點(diǎn)信息,再將該信息發(fā)送給云存儲(chǔ)平臺(tái)節(jié)點(diǎn)監(jiān)視器,通過執(zhí)行相關(guān)化ell命令, 判斷該節(jié)點(diǎn)是否可W加入到服務(wù)器集群,并反饋相關(guān)信息給云存儲(chǔ)平臺(tái)節(jié)點(diǎn)管理器,由云 存儲(chǔ)平臺(tái)節(jié)點(diǎn)管理器來選擇節(jié)點(diǎn)的具體行為。同理,節(jié)點(diǎn)刪除也需要首先從云存儲(chǔ)平臺(tái)節(jié) 點(diǎn)管理器中,將要?jiǎng)h除的節(jié)點(diǎn)信息發(fā)送給云存儲(chǔ)平臺(tái)節(jié)點(diǎn)監(jiān)視器,監(jiān)視器判斷該節(jié)點(diǎn)的狀 態(tài),執(zhí)行節(jié)點(diǎn)移除操作。
[0033] 本發(fā)明提出的服務(wù)器優(yōu)化包括節(jié)點(diǎn)選擇與存儲(chǔ)調(diào)度。節(jié)點(diǎn)選擇是指數(shù)據(jù)在寫入前 通過某些策略地指定存儲(chǔ)節(jié)點(diǎn),能夠保證存儲(chǔ)負(fù)載平衡,存儲(chǔ)調(diào)度是指數(shù)據(jù)寫入后,根據(jù)訪 問頻率或節(jié)點(diǎn)存儲(chǔ)容量來重新分配副本存儲(chǔ)節(jié)點(diǎn),使得系統(tǒng)能夠更加高效地運(yùn)行。
[0034] 文件系統(tǒng)設(shè)有節(jié)點(diǎn)選擇與調(diào)度監(jiān)視器。其中節(jié)點(diǎn)選擇策略實(shí)現(xiàn)于名字節(jié)點(diǎn)之中, 由名字節(jié)點(diǎn)在選擇業(yè)務(wù)節(jié)點(diǎn)時(shí)調(diào)用。調(diào)度監(jiān)視器用來監(jiān)視服務(wù)器集群運(yùn)行狀況,包括數(shù)據(jù) 塊的訪問頻率W及業(yè)務(wù)節(jié)點(diǎn)的存儲(chǔ)容量,系統(tǒng)在閑置狀態(tài)時(shí),管理節(jié)點(diǎn)根據(jù)數(shù)據(jù)訪問頻率 和系統(tǒng)容量,調(diào)度副本存放位置,提高系統(tǒng)運(yùn)行效率。
[0035] 節(jié)點(diǎn)選擇具體包括,文件上傳之前,業(yè)務(wù)節(jié)點(diǎn)向名字節(jié)點(diǎn)發(fā)出寫數(shù)據(jù)請(qǐng)求,名字節(jié) 點(diǎn)調(diào)用節(jié)點(diǎn)選擇模型,通過調(diào)度監(jiān)視器,獲取服務(wù)器集群運(yùn)行信息,計(jì)算節(jié)點(diǎn)的存儲(chǔ)比例, 計(jì)算每個(gè)機(jī)架節(jié)點(diǎn)的存儲(chǔ)比例,并按照備份因子個(gè)數(shù),優(yōu)先選擇存儲(chǔ)比例最高的節(jié)點(diǎn)組成 節(jié)點(diǎn)隊(duì)列,發(fā)送給客戶端,由客戶端將待存儲(chǔ)的數(shù)據(jù)分割成多個(gè)數(shù)據(jù)塊,存儲(chǔ)在不同的業(yè)務(wù) 節(jié)點(diǎn)上。
[0036] 存儲(chǔ)調(diào)度具體包括,在所有文件已經(jīng)保存于服務(wù)器集群之后,通過調(diào)度監(jiān)視器收 集服務(wù)器集群運(yùn)行信息,獲取到所有節(jié)點(diǎn)的數(shù)據(jù)訪問頻率及所有節(jié)點(diǎn)的存儲(chǔ)容量,在服務(wù) 器集群處于閑置狀態(tài)時(shí),管理節(jié)點(diǎn)根據(jù)獲取到的數(shù)據(jù),進(jìn)行存儲(chǔ)調(diào)度。若數(shù)據(jù)的訪問頻率超 過預(yù)定義闊值,則將副本放置在訪問頻率最低的節(jié)點(diǎn)上;若系統(tǒng)剩余容量低于闊值,則將副 本放置在存儲(chǔ)比例最高的節(jié)點(diǎn)。
[0037] W下針對(duì)服務(wù)器優(yōu)化調(diào)度模型,對(duì)其監(jiān)視器W及優(yōu)化策略進(jìn)行描述。
[0038] 首先,服務(wù)器集群運(yùn)行信息需要通過云存儲(chǔ)平臺(tái)運(yùn)行信息測量和展示框架進(jìn)行監(jiān) 視,所述框架對(duì)測量工具進(jìn)行擴(kuò)展,提供了一個(gè)可W展示實(shí)時(shí)和歷史數(shù)據(jù)的工具,幫助監(jiān)測 和調(diào)度云存儲(chǔ)平臺(tái)相關(guān)的任務(wù)。
[0039] 本發(fā)明中的云存儲(chǔ)調(diào)度分為兩個(gè)階段。其中第一個(gè)階段為文件寫入時(shí)的業(yè)務(wù)節(jié)點(diǎn) 選擇,是通過優(yōu)化節(jié)點(diǎn)選擇策略來實(shí)現(xiàn)??蛻舳嗽诠?jié)點(diǎn)選擇分為兩種方式:客戶端在服務(wù)器 集群節(jié)點(diǎn)上的選擇策略與客戶端在服務(wù)器集群節(jié)點(diǎn)外的選擇方式。實(shí)現(xiàn)方式如下:
[0040] 假設(shè)服務(wù)器集群有n個(gè)機(jī)架,每個(gè)機(jī)架有TR臺(tái)業(yè)務(wù)節(jié)點(diǎn),副本數(shù)為r [0041 ]若客戶端在服務(wù)器集群業(yè)務(wù)節(jié)點(diǎn)上,貝U
[0042] a)客戶端向管理節(jié)點(diǎn)發(fā)出寫數(shù)據(jù)請(qǐng)求;
[0043] b)管理節(jié)點(diǎn)根據(jù)文件內(nèi)容及系統(tǒng)配置情況,計(jì)算客戶端所在機(jī)架的所有業(yè)務(wù)節(jié)點(diǎn) 存儲(chǔ)比例,過程如下
[0044] 設(shè)客戶端在第i臺(tái)機(jī)架,初始化被選節(jié)點(diǎn)集合SDN為空;
[0045] 該機(jī)架第j個(gè)節(jié)點(diǎn)的剩余容量為化^,存儲(chǔ)的塊數(shù)為化U,節(jié)點(diǎn)的存儲(chǔ)優(yōu)選比例RSiJ =化ij/化ij,將存儲(chǔ)優(yōu)選比最高的兩個(gè)節(jié)點(diǎn)放入被選節(jié)點(diǎn)集合,即SDN= {DNia、DNib};其中 DNia、DNib表示第i個(gè)機(jī)架上的a和b業(yè)務(wù)節(jié)點(diǎn),
[0046] C)從剩余每個(gè)機(jī)架中計(jì)算r-2個(gè)存儲(chǔ)比最大的節(jié)點(diǎn),排序后選擇最大的r-2個(gè)節(jié)點(diǎn) 放入被選節(jié)點(diǎn)集合SDN,共r個(gè)節(jié)點(diǎn),用來存放數(shù)據(jù)塊及其副本;
[0047] d)管理節(jié)點(diǎn)將SDN集合中的節(jié)點(diǎn)分配業(yè)務(wù)節(jié)點(diǎn)給客戶端,由客戶端來寫入。
[0048] 當(dāng)客戶端不在業(yè)務(wù)節(jié)點(diǎn)上時(shí),則直接計(jì)算服務(wù)器集群中所有節(jié)點(diǎn)的存儲(chǔ)比例,選 擇前r個(gè)最大的節(jié)點(diǎn),即為數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)。從Z呵,I個(gè)節(jié)點(diǎn)中,根據(jù)RSiJ =化ij/BLij選出存儲(chǔ) M 比例最高的r個(gè)節(jié)點(diǎn),放入SDN列表中,即為選中的最優(yōu)節(jié)點(diǎn)。
[0049] 綜上所述,本發(fā)明提出了一種云存儲(chǔ)平臺(tái)的數(shù)據(jù)處理方法,簡化了服務(wù)器集群部 署方式,避免用戶直接對(duì)服務(wù)器集群進(jìn)行操作,保證存儲(chǔ)節(jié)點(diǎn)的合理性和數(shù)據(jù)穩(wěn)定性。
[0050] 顯然,本領(lǐng)域的技術(shù)人員應(yīng)該理解,上述的本發(fā)明的各模塊或各步驟可W用通用 的計(jì)算系統(tǒng)來實(shí)現(xiàn),它們可W集中在單個(gè)的計(jì)算系統(tǒng)上,或者分布在多個(gè)計(jì)算系統(tǒng)所組成 的網(wǎng)絡(luò)上,可選地,它們可W用計(jì)算系統(tǒng)可執(zhí)行的程序代碼來實(shí)現(xiàn),從而,可W將它們存儲(chǔ) 在存儲(chǔ)系統(tǒng)中由計(jì)算系統(tǒng)來執(zhí)行。運(yùn)樣,本發(fā)明不限制于任何特定的硬件和軟件結(jié)合。
[0051] 應(yīng)當(dāng)理解的是,本發(fā)明的上述【具體實(shí)施方式】僅僅用于示例性說明或解釋本發(fā)明的 原理,而不構(gòu)成對(duì)本發(fā)明的限制。因此,在不偏離本發(fā)明的精神和范圍的情況下所做的任何 修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。此外,本發(fā)明所附權(quán)利要求旨 在涵蓋落入所附權(quán)利要求范圍和邊界、或者運(yùn)種范圍和邊界的等同形式內(nèi)的全部變化和修 改例。
【主權(quán)項(xiàng)】
1. 一種云存儲(chǔ)平臺(tái)的數(shù)據(jù)處理方法,其特征在于,包括: 在數(shù)據(jù)在寫入前通過存儲(chǔ)負(fù)載平衡策略確定存儲(chǔ)節(jié)點(diǎn),在數(shù)據(jù)寫入后根據(jù)訪問頻率或 節(jié)點(diǎn)存儲(chǔ)容量重新分配副本存儲(chǔ)節(jié)點(diǎn)。2. 根據(jù)權(quán)利要求1的方法,其特征在于,該方法進(jìn)一步包括:在云存儲(chǔ)平臺(tái)的文件系統(tǒng) 中設(shè)置節(jié)點(diǎn)選擇與調(diào)度監(jiān)視器,其中節(jié)點(diǎn)選擇策略實(shí)現(xiàn)于名字節(jié)點(diǎn)之中,由名字節(jié)點(diǎn)在選 擇業(yè)務(wù)節(jié)點(diǎn)時(shí)調(diào)用,調(diào)度監(jiān)視器用來監(jiān)視服務(wù)器集群運(yùn)行狀況,包括數(shù)據(jù)塊的訪問頻率以 及業(yè)務(wù)節(jié)點(diǎn)的存儲(chǔ)容量,系統(tǒng)在閑置狀態(tài)時(shí),管理節(jié)點(diǎn)根據(jù)數(shù)據(jù)訪問頻率和系統(tǒng)容量,調(diào)度 副本存放位置; 文件上傳之前,業(yè)務(wù)節(jié)點(diǎn)向名字節(jié)點(diǎn)發(fā)出寫數(shù)據(jù)請(qǐng)求,名字節(jié)點(diǎn)調(diào)用節(jié)點(diǎn)選擇模型,通 過調(diào)度監(jiān)視器,獲取服務(wù)器集群運(yùn)行信息,計(jì)算節(jié)點(diǎn)的存儲(chǔ)比例,計(jì)算每個(gè)機(jī)架節(jié)點(diǎn)的存儲(chǔ) 比例,并按照備份因子個(gè)數(shù),優(yōu)先選擇存儲(chǔ)比例最高的節(jié)點(diǎn)組成節(jié)點(diǎn)隊(duì)列發(fā)送給客戶端,由 客戶端將待存儲(chǔ)的數(shù)據(jù)分割成多個(gè)數(shù)據(jù)塊,存儲(chǔ)在不同的業(yè)務(wù)節(jié)點(diǎn)上; 在所有文件已經(jīng)保存于服務(wù)器集群之后,通過調(diào)度監(jiān)視器收集服務(wù)器集群運(yùn)行信息, 獲取到所有節(jié)點(diǎn)的數(shù)據(jù)訪問頻率及所有節(jié)點(diǎn)的存儲(chǔ)容量,若數(shù)據(jù)的訪問頻率超過預(yù)定義閾 值,則將副本放置在訪問頻率最低的節(jié)點(diǎn)上;若系統(tǒng)剩余容量低于閾值,則將副本放置在存 儲(chǔ)比例最高的節(jié)點(diǎn); 服務(wù)器集群運(yùn)行信息通過云存儲(chǔ)平臺(tái)運(yùn)行信息測量和展示框架進(jìn)行監(jiān)視,所述框架監(jiān) 測和調(diào)度云存儲(chǔ)平臺(tái)相關(guān)的任務(wù);客戶端在節(jié)點(diǎn)選擇分為兩種方式:客戶端在服務(wù)器集群 節(jié)點(diǎn)上的選擇策略與客戶端在服務(wù)器集群節(jié)點(diǎn)外的選擇方式,具體實(shí)現(xiàn)方式如下: 在η個(gè)機(jī)架服務(wù)器集群的每個(gè)機(jī)架設(shè)置TR臺(tái)業(yè)務(wù)節(jié)點(diǎn),副本數(shù)為r;若客戶端在服務(wù)器 集群業(yè)務(wù)節(jié)點(diǎn)上,則 a) 客戶端向管理節(jié)點(diǎn)發(fā)出寫數(shù)據(jù)請(qǐng)求; b) 管理節(jié)點(diǎn)根據(jù)文件內(nèi)容及系統(tǒng)配置情況,計(jì)算客戶端所在機(jī)架的所有業(yè)務(wù)節(jié)點(diǎn)存儲(chǔ) 比例,過程如下: 設(shè)客戶端在第i臺(tái)機(jī)架,初始化被選節(jié)點(diǎn)集合SDN為空; 該機(jī)架第j個(gè)節(jié)點(diǎn)的剩余容量為CLij,存儲(chǔ)的塊數(shù)為BLij,節(jié)點(diǎn)的存儲(chǔ)優(yōu)選比例RSij = CLij/BUj,將存儲(chǔ)優(yōu)選比最高的兩個(gè)節(jié)點(diǎn)放入被選節(jié)點(diǎn)集合,即SDN={DNia、DNib};其中 DNia、DNib表示第i個(gè)機(jī)架上的a和b業(yè)務(wù)節(jié)點(diǎn), c) 從剩余每個(gè)機(jī)架中計(jì)算r-2個(gè)存儲(chǔ)比最大的節(jié)點(diǎn),排序后選擇最大的r-2個(gè)節(jié)點(diǎn)放入 被選節(jié)點(diǎn)集合SDN,共r個(gè)節(jié)點(diǎn),用來存放數(shù)據(jù)塊及其副本; d) 管理節(jié)點(diǎn)將SDN集合中的節(jié)點(diǎn)分配業(yè)務(wù)節(jié)點(diǎn)給客戶端,由客戶端來寫入; 當(dāng)客戶端不在業(yè)務(wù)節(jié)點(diǎn)上時(shí),則直接計(jì)算服務(wù)器集群中所有節(jié)點(diǎn)的存儲(chǔ)比例,選擇前r 個(gè)最大的節(jié)點(diǎn),即為數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)個(gè)節(jié)點(diǎn)中,根據(jù)RSij = CLij/BLij選出存儲(chǔ)比例 最高的r個(gè)節(jié)點(diǎn),放入SDN列表中,即為選中的最優(yōu)節(jié)點(diǎn)。
【文檔編號(hào)】H04L29/08GK105827744SQ201610404870
【公開日】2016年8月3日
【申請(qǐng)日】2016年6月8日
【發(fā)明人】張敬華, 程映忠, 王松
【申請(qǐng)人】四川新環(huán)佳科技發(fā)展有限公司