一種跨數(shù)據(jù)中心的關(guān)聯(lián)云數(shù)據(jù)部署方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及數(shù)據(jù)中心領(lǐng)域,尤其涉及一種跨數(shù)據(jù)中心的關(guān)聯(lián)云數(shù)據(jù)部署方法。
【背景技術(shù)】
[0002] 為提高數(shù)據(jù)密集型計(jì)算任務(wù)在云平臺上的執(zhí)行效率,制定合理的數(shù)據(jù)部署策略是 管理者所須解決的關(guān)鍵問題之一。當(dāng)前主流分布式數(shù)據(jù)管理系統(tǒng)均采用一致性哈希策略對 數(shù)據(jù)進(jìn)行劃分,并基于哈希結(jié)果對數(shù)據(jù)隨機(jī)部署。該策略忽略了數(shù)據(jù)間的關(guān)聯(lián)關(guān)系,導(dǎo)致大 量不必要的數(shù)據(jù)傳輸任務(wù)。針對科學(xué)計(jì)算任務(wù)的跨數(shù)據(jù)中心數(shù)據(jù)部署策略,采用聚類思想 將關(guān)聯(lián)緊密的數(shù)據(jù)劃分到相同數(shù)據(jù)子集,并結(jié)合數(shù)據(jù)中心存儲能力對其進(jìn)行部署。但該策 略忽略了數(shù)據(jù)中心帶寬資源的差異,無法降低跨數(shù)據(jù)中心傳輸時間開銷。采用遺傳算法對 云數(shù)據(jù)的跨數(shù)據(jù)中心部署策略進(jìn)行優(yōu)化,但由于結(jié)果很大程度上取決于交叉變異參數(shù)的選 擇,導(dǎo)致算法的適用性較差。
【發(fā)明內(nèi)容】
[0003] 本發(fā)明為克服上述的不足之處,目的在于提供一種跨數(shù)據(jù)中心的關(guān)聯(lián)云數(shù)據(jù)部署 方法,從數(shù)據(jù)部署的角度出發(fā),提出基于數(shù)據(jù)關(guān)聯(lián)依賴關(guān)系的跨數(shù)據(jù)中心云數(shù)據(jù)部署算法, 在滿足數(shù)據(jù)中心存儲能力約束的前提下,將依賴度高的數(shù)據(jù)盡可能部署到相同或彼此間網(wǎng) 絡(luò)帶寬資源充沛的數(shù)據(jù)中心上。本方法解決了跨數(shù)據(jù)中心的數(shù)據(jù)傳輸影響計(jì)算任務(wù)執(zhí)行的 難題。
[0004] 本發(fā)明是通過以下技術(shù)方案達(dá)到上述目的:一種跨數(shù)據(jù)中心的關(guān)聯(lián)云數(shù)據(jù)部署方 法,包括如下步驟:
[0005] (1)基于云數(shù)據(jù)間的關(guān)聯(lián)關(guān)系與數(shù)據(jù)中心的存儲空間信息對云數(shù)據(jù)進(jìn)行聚類劃 分,得到數(shù)據(jù)子集;
[0006] (2)結(jié)合數(shù)據(jù)子集之間的傳輸量大小和數(shù)據(jù)中心間的帶寬資源,完成數(shù)據(jù)子集的 部署。
[0007] 作為優(yōu)選,所述步驟(1)采用限定規(guī)模的云數(shù)據(jù)劃分算法完成聚類劃分,得到數(shù) 據(jù)集,步驟如下:
[0008] (a)依據(jù)云數(shù)據(jù)間關(guān)聯(lián)依賴關(guān)系的強(qiáng)弱,將云數(shù)據(jù)劃分成若干數(shù)據(jù)子集,并部署到 同一數(shù)據(jù)中心上;
[0009] (b)根據(jù)數(shù)據(jù)中心的存儲空間大小對其進(jìn)行降序排序;
[0010] (c)在該排序基礎(chǔ)上,對有固定部署限制的數(shù)據(jù),根據(jù)其部署數(shù)據(jù)中心的存儲能力 決定相應(yīng)的數(shù)據(jù)子集規(guī)模;根據(jù)關(guān)聯(lián)緊密程度和數(shù)據(jù)大小,從固定部署到相同位置的數(shù)據(jù) 集合和無部署位置限制的數(shù)據(jù)集合中選取該數(shù)據(jù)子集的成員;
[0011] (d)重復(fù)執(zhí)行步驟(C)直至固定部署需求集合中的全部數(shù)據(jù)被劃分完畢;
[0012] (e)對于無部署位置限制的數(shù)據(jù),根據(jù)當(dāng)前單個數(shù)據(jù)中心的最大存儲能力決定部 署到該數(shù)據(jù)中心的數(shù)據(jù)子集規(guī)模;并根據(jù)數(shù)據(jù)間的關(guān)聯(lián)緊密程度和數(shù)據(jù)大小,從數(shù)據(jù)集合 中選取該數(shù)據(jù)子集的成員;
[0013] (f)重復(fù)執(zhí)行步驟(e)直至無位置限制集合中的全部數(shù)據(jù)被劃分完畢;至此,全部 數(shù)據(jù)均被劃分到對應(yīng)的數(shù)據(jù)子集中。
[0014] 作為優(yōu)選,所述步驟(2)完成數(shù)據(jù)集的部署的步驟如下:
[0015] (i)當(dāng)數(shù)據(jù)子集有固定部署要求時,將該數(shù)據(jù)子集部署到其要求的數(shù)據(jù)中心上;
[0016] (ii)當(dāng)數(shù)據(jù)子集沒有固定部署要求時,且數(shù)據(jù)子集面對多可部署的數(shù)據(jù)中心時, 則對數(shù)據(jù)中心的網(wǎng)絡(luò)帶寬資源進(jìn)行排序比較,將數(shù)據(jù)子集部署到帶寬資源充足的數(shù)據(jù)中心 上。
[0017] 作為優(yōu)選,所述數(shù)據(jù)中心的網(wǎng)絡(luò)帶寬資源的大小是基于圖論中節(jié)點(diǎn)度的概念,將 每個數(shù)據(jù)中心與其他數(shù)據(jù)中心間的通信帶寬資源量相加得到。
[0018] 作為優(yōu)選,所述固定部署限制的數(shù)據(jù)與無部署位置限制的數(shù)據(jù)的定義如下:設(shè)D =為全部數(shù)據(jù)組成的集合,將數(shù)據(jù)集分為固定數(shù)據(jù)集DflJP非固定數(shù)據(jù)集 Dunflx,其中:Dflx中的數(shù)據(jù)必須部署到固定的數(shù)據(jù)中心;而Dunflx中的數(shù)據(jù)則對其部署數(shù)據(jù)中 心沒有限制;D中每個數(shù)據(jù)由一個三元組山=<s,l,f>表示,其中:以七)表示數(shù)據(jù)山的 大??;1 (山)表示數(shù)據(jù)所部署的數(shù)據(jù)中心;以山)為true則表示山是固定數(shù)據(jù);反之,f(dJ 為false則表示山是非固定數(shù)據(jù)。
[0019] 作為優(yōu)選,所述得到約束條件的過程如下:
[0020] (A)設(shè)定各數(shù)據(jù)中心存儲空間信息為C,帶寬信息為B,數(shù)據(jù)密集型計(jì)算任務(wù)請求 集合為R,執(zhí)行任務(wù)請求時所需的數(shù)據(jù)集D1;
[0021] (B)對于跨數(shù)據(jù)中心的云數(shù)據(jù)部署問題引入三個離散變量進(jìn)行建模,三個離散變 量的定義如下:
[0025]
,基于模型表達(dá)式得到約束條 件。
[0026] 作為優(yōu)選,所述的約束條件包括6個,如下所示:
[0033] 作為優(yōu)選,所述步驟(A)的數(shù)據(jù)密集型計(jì)算任務(wù)請求集合為R= {Γι,r2, . . .,rk}, 其中對于AeR,則有D;={ddi2, . . . },用于表示計(jì)算任務(wù)請求r;執(zhí)行時所需數(shù)據(jù)的集 合。
[0034] 本發(fā)明的有益效果在于:(1)本方法解決了跨數(shù)據(jù)中心的數(shù)據(jù)傳輸影響計(jì)算任務(wù) 執(zhí)行的難題;(2)本方法在滿足數(shù)據(jù)中心存儲能力約束的前提下,將依賴度高的數(shù)據(jù)盡可 能部署到相同或彼此間網(wǎng)絡(luò)帶寬資源充沛的數(shù)據(jù)中心上。
【具體實(shí)施方式】
[0035] 下面結(jié)合具體實(shí)施例對本發(fā)明進(jìn)行進(jìn)一步描述,但本發(fā)明的保護(hù)范圍并不僅限 于此:
[0036] 實(shí)施例:一種跨數(shù)據(jù)中心的關(guān)聯(lián)云數(shù)據(jù)部署方法,具體如下:
[0037] 本實(shí)施例中設(shè)V={vuv2, . . .,vn}為各數(shù)據(jù)中心組成的集合,其中VieV為編號 為i的數(shù)據(jù)中心。C(Vl)為數(shù)據(jù)中心Vl的存儲空間大小。V中η個數(shù)據(jù)中心間的網(wǎng)絡(luò)帶寬 資源則通過帶寬矩陣B= 表示,對于i,j= 1,2,. . .,η且i乒j,帶寬矩陣Β中元 素表示從數(shù)據(jù)中心v肩v』的網(wǎng)絡(luò)帶寬值;當(dāng)i=j時,bu值為無窮·由于數(shù)據(jù)中心 間網(wǎng)絡(luò)帶寬資源通常由云平臺所有者按需配置,因此假設(shè)其網(wǎng)絡(luò)帶寬值提前可知,并且忽 略其實(shí)時波動.設(shè)D= {山,d2,. . .,dj為全部數(shù)據(jù)組成的集合。由于某些數(shù)據(jù)具有私有性 和產(chǎn)權(quán)性,或者某些數(shù)據(jù)須特定數(shù)據(jù)中心的專有設(shè)備才能處理,因此將數(shù)據(jù)集分為固定數(shù) 據(jù)集DflJP非固定數(shù)據(jù)集Dunflx,其中:Dflx中的數(shù)據(jù)必須部署到固定的數(shù)據(jù)中心;而Dunflx中 的數(shù)據(jù)則對其部署數(shù)據(jù)中心沒有限制.D中每個數(shù)據(jù)由一個三元組山=<s,1,f>表示,其 中:以山)表示數(shù)據(jù)山的大?。?(七)表示數(shù)據(jù)所部署的數(shù)據(jù)中心;以山)為true表示山是 固定數(shù)據(jù),其指定存放的數(shù)據(jù)中心為1 (山),反之f(山)為false則表示山是非固定數(shù)據(jù)。
[0038] 設(shè)R= {i^,r2, . . .,rk}為數(shù)據(jù)密集型計(jì)算任務(wù)的集合,其中對于R,有D;= {屯,di2, . . . },表示計(jì)算任務(wù)請求1^執(zhí)行時所需數(shù)據(jù)的集合.由于云平臺上計(jì)算任務(wù)的復(fù) 雜性,因此每個任務(wù)所須要處理的數(shù)據(jù)都不完全相同,同時每個數(shù)據(jù)都可能被多個不同任 務(wù)處理。當(dāng)某些數(shù)據(jù)須同時被多個計(jì)算任務(wù)處理時,這些數(shù)據(jù)間關(guān)聯(lián)依賴關(guān)系便較強(qiáng);反 之,數(shù)據(jù)間關(guān)聯(lián)依賴關(guān)系便較弱。
[0039] 在本發(fā)明的實(shí)施例中,給定云環(huán)境下各數(shù)據(jù)中心存儲空間信息C和帶寬信息B;給 定數(shù)據(jù)密集型計(jì)算任務(wù)請求集合R,以及每個計(jì)算任務(wù)A執(zhí)行時所需的數(shù)據(jù)集Di。跨數(shù)據(jù) 中心大規(guī)模云數(shù)據(jù)部署問題為:如何設(shè)計(jì)跨數(shù)據(jù)中心數(shù)據(jù)部署策略,通過為每個數(shù)據(jù)選擇 合理的數(shù)據(jù)中心進(jìn)行部署,在滿足數(shù)據(jù)中心存儲空間約束和數(shù)據(jù)固定存放位置約束的前提 下,降低數(shù)據(jù)部署后的跨數(shù)據(jù)中心傳輸時間開銷.為對跨數(shù)據(jù)中心的云數(shù)據(jù)優(yōu)化部署問題 進(jìn)行建模,引入三個離散變量來描述跨數(shù)據(jù)中心云數(shù)據(jù)部署策略,其定義分別如下:
[0040]
[0043] 在此基礎(chǔ)上,使用整數(shù)規(guī)劃技術(shù)對該問題進(jìn)行建模,其整數(shù)規(guī)劃模型如下:
[0051] 該模型目標(biāo)(1)為通過計(jì)算合理的數(shù)據(jù)部署策略,最小化全部數(shù)據(jù)密集型任務(wù)執(zhí) 行時的跨數(shù)據(jù)中心數(shù)據(jù)傳輸時間開銷。需要滿足的約束包括:約束(2)保證對數(shù)據(jù)集D中 任意數(shù)據(jù)d,都必須被部署到某個數(shù)據(jù)中心上;約束(3)保證對有固定部署位置限制的數(shù)據(jù) dflx,被部署到其要求的數(shù)據(jù)中心l(dflx)上;約束(4)保證對任意數(shù)據(jù)中心ieV,在其上部 署的數(shù)據(jù)總大小滿足其存儲能力C(i)的限制;約束(5)保證對任意數(shù)據(jù)中心ieV,當(dāng)數(shù)據(jù) d未部署到i時,i可從其他數(shù)據(jù)中心j獲得數(shù)據(jù)d;約束(6)保證對任意數(shù)據(jù)中心i,jeV, 僅當(dāng)數(shù)據(jù)d部署到數(shù)據(jù)中心j時,i才可從j獲得數(shù)據(jù)d;約束(7)限定了x4l,Zy的取值范圍。
[0052] 在本發(fā)明的實(shí)施