一種云平臺數(shù)據(jù)處理方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及云計算,特別涉及一種云平臺數(shù)據(jù)處理方法。
【背景技術(shù)】
[0002] 云存儲具有高可靠性、高擴展性、廉價低開銷的特點。每臺存儲機器都是一個獨立 的存儲節(jié)點,節(jié)點的加入和分離不影響系統(tǒng)的正常運行,文件的數(shù)據(jù)量大;在處理海量視頻 數(shù)據(jù)方面具有優(yōu)勢。但是,由于視頻數(shù)據(jù)數(shù)據(jù)分塊數(shù)量很多,并且每個數(shù)據(jù)分塊及其版本都 存儲在云平臺中的不同節(jié)點中,因此在大量節(jié)點上需要進行事務的最優(yōu)調(diào)度,而目前云平 臺中的調(diào)度和資源分配機制是一種靜態(tài)地局部調(diào)度機制,在進行資源分配和調(diào)度時,僅考 慮距離數(shù)據(jù)最近節(jié)點的當前資源狀態(tài),而沒有從系統(tǒng)全局的角度進行資源的最佳分配。
【發(fā)明內(nèi)容】
[0003] 為解決上述現(xiàn)有技術(shù)所存在的問題,本發(fā)明提出了一種云平臺數(shù)據(jù)處理方法,包 括:
[0004] 將云存儲系統(tǒng)中的視頻數(shù)據(jù)文件以數(shù)據(jù)分塊多版本的形式存儲并規(guī)劃并行處理 事務,以數(shù)據(jù)塊和版本之間的映射關(guān)系為特征,對云平臺中多個數(shù)據(jù)節(jié)點執(zhí)行聚類,根據(jù)已 執(zhí)行的事務的反饋信息來動態(tài)調(diào)度未執(zhí)行的事務。
[0005] 優(yōu)選地,所述將云存儲系統(tǒng)中的視頻數(shù)據(jù)文件以數(shù)據(jù)分塊多版本的形式存儲,進 一步包括:
[0006] 將視頻應用的用戶需求以事務描述文件的形式提交到云存儲系統(tǒng)的客戶端,當一 個事務被提交時,客戶端根據(jù)數(shù)據(jù)分塊信息把事務劃分成多個子事務來并行執(zhí)行,每個子 事務關(guān)聯(lián)著一個數(shù)據(jù)塊,以將不同子事務分布到不同的節(jié)點上執(zhí)行,所述數(shù)據(jù)分塊信息通 過樹Tr來描述,Tr= (C,R),其中C是一個數(shù)據(jù)元素集合,每個元素代表一個數(shù)據(jù)塊;R是 一個二元關(guān)系集合每個元素代表兩個數(shù)據(jù)塊的內(nèi)容是否相同,所述數(shù)據(jù)元素集合C中的元 素Ci可以用一個二元組向量來描述:ci=〈blocki,a,,其中Wocki表示數(shù)據(jù)塊i的編號, %表示數(shù)據(jù)塊i所在節(jié)點的編號,所述二元關(guān)系集合R中的元素rM表示數(shù)據(jù)塊j是數(shù)據(jù) 塊i的備份版本。
[0007] 優(yōu)選地,每個所述數(shù)據(jù)節(jié)點都有一個調(diào)度進程,不同節(jié)點的調(diào)度進程根據(jù)所在數(shù) 據(jù)節(jié)點的虛擬機的當前狀態(tài)和客戶端的調(diào)度進程通信,傳遞事務調(diào)度和控制信息,客戶端 的調(diào)度進程根據(jù)查詢到的視頻數(shù)據(jù)分塊信息樹Tr將事務劃分成子事務后,根據(jù)二元關(guān)系 集合R將數(shù)據(jù)節(jié)點執(zhí)行聚類,聚類規(guī)則為:
[0008] 對于任意節(jié)點a"a#Dm,如果Dm并且a#a」,則存在!Ti,R
[0009] 其中Dm為存儲同一個數(shù)據(jù)塊m的所有數(shù)據(jù)節(jié)點組成的聚類集合,客戶端的調(diào)度進 程在Dm內(nèi)選擇一個最佳節(jié)點來執(zhí)行任務;
[0010] 如果數(shù)據(jù)節(jié)點的調(diào)度進程接受了一個事務,則該事務根據(jù)其優(yōu)先級插入這個節(jié)點 的等待事務隊列,或者搶占其它低優(yōu)先級的事務立即執(zhí)行,在事務執(zhí)行完畢后,數(shù)據(jù)節(jié)點的 調(diào)度進程就通知客戶端的調(diào)度進程,使客戶端的調(diào)度進程進行后繼事務的調(diào)度。
[0011] 本發(fā)明相比現(xiàn)有技術(shù),具有以下優(yōu)點:
[0012] 本發(fā)明提出的方法提高了云平臺系統(tǒng)的資源利用率和負載均衡的效果。
【附圖說明】
[0013] 圖1是根據(jù)本發(fā)明實施例的云平臺數(shù)據(jù)處理方法的流程圖。
【具體實施方式】
[0014] 下文與圖示本發(fā)明原理的附圖一起提供對本發(fā)明一個或者多個實施例的詳細描 述。結(jié)合這樣的實施例描述本發(fā)明,但是本發(fā)明不限于任何實施例。本發(fā)明的范圍僅由權(quán) 利要求書限定,并且本發(fā)明涵蓋諸多替代、修改和等同物。在下文描述中闡述諸多具體細節(jié) 以便提供對本發(fā)明的透徹理解。出于示例的目的而提供這些細節(jié),并且無這些具體細節(jié)中 的一些或者所有細節(jié)也可以根據(jù)權(quán)利要求書實現(xiàn)本發(fā)明。
[0015] 本發(fā)明在云計算環(huán)境下,對處理視頻數(shù)據(jù)的事務以及事務調(diào)度與資源分配方法進 行建模,在此模型下提出了一種面向視頻數(shù)據(jù)的事務調(diào)度方法。該方法以云存儲系統(tǒng)中視 頻數(shù)據(jù)文件的分塊多版本存儲形式為基礎來規(guī)劃并行處理事務,以數(shù)據(jù)塊和版本的映射關(guān) 系為特征對云平臺中數(shù)據(jù)節(jié)點執(zhí)行聚類,以已執(zhí)行完畢事務的反饋信息為基礎來動態(tài)調(diào)度 未執(zhí)行事務,以此來提高系統(tǒng)資源利用率和負載均衡的效果。圖1是根據(jù)本發(fā)明實施例的 云平臺數(shù)據(jù)處理方法流程圖。
[0016] 視頻應用中的用戶需求以事務描述文件的形式提交到云存儲系統(tǒng)的客戶端。當一 個事務被提交時,客戶端根據(jù)數(shù)據(jù)分塊信息把該事務劃分成多個子事務來并行執(zhí)行。每個 子事務關(guān)聯(lián)著一個數(shù)據(jù)塊。這樣同一個事務中不同子事務就可以分布到不同的節(jié)點上執(zhí) 行,能夠避免子事務之間由于資源競爭而造成的瓶頸,更好地適應視頻數(shù)據(jù)處理過程中資 源消耗高的特點。數(shù)據(jù)分塊信息通過樹Tr來描述:
[0017] Tr= (C,R),其中C是一個數(shù)據(jù)元素集合,其中的元素代表一個數(shù)據(jù)塊;R是一個 二元關(guān)系集合,其中的元素代表兩個數(shù)據(jù)塊的內(nèi)容是否相同。數(shù)據(jù)元素集合C中的元素Ci 可以用一個二元組向量來描述:Ci= <bl(K;ki,a,
[0018] 其中bl(x;ki表示數(shù)據(jù)塊i的編號,ai表示數(shù)據(jù)塊i所在節(jié)點的編號。二元關(guān)系集合 R中的元素ry表示數(shù)據(jù)塊j是數(shù)據(jù)塊i的副本版本。在隨機的時間事務被提交到云存儲 系統(tǒng)的客戶端,提交到客戶端的事務流可以描述為J=Uc^J1,J2,Ji,…,Jlri,Jj
[0019] 其中上可用六元組向量來描述:ji=〈transidi,(IeciCli,IfileiCli,Ieveli,rcvJi, encLti〉,其中transid為事務編號,(IeciCl為事務描述文件編號,HleiCl為事務需要處理的 視頻數(shù)據(jù)文件編號,level為事務的優(yōu)先級,rcv_t為事務的提交時間,end_t為完成該事務 的截止時間。提交的事務ji被客戶端劃分為多個子事務。劃分后的子事務可以用一個有 向圖GR來描述:
[0020] GR=〈V,E>
[0021] 頂點集合V中的每個元素代表一個子事務。對于子事務Vi用一個九元組向量來 描述:Vi=〈taskidi,transidptype"Wli,Cpui,Iiiemi,disk"bandpblocks〉
[0022] taskid為子事務編號,transid為子事務所屬事務編號,type為子事務類型,wl負 載量(百萬指令級),cpu,mem,disk,band為子事務執(zhí)行時占用虛擬機中的抽象資源(CPU, 內(nèi)存,磁盤和帶寬)數(shù)量。雖然在虛擬機的抽象資源中,CPU資源可以在多個不同子事務之 間分時復用,但是相當一部分視頻程序?qū)儆谟嬎忝芗褪聞眨ɡ缇幗獯a),對于CPU資源 消耗相當大,多個計算密集型事務同時在一個CPU核上運行,會導致執(zhí)行速度急劇降低,因 此需要限制一個處理機上的計算密集型事務的數(shù)量。因此也將CPU資源抽象成數(shù)量來度 量,將一個處理機抽象成4個CPU資源。blockid為事務需要處理的數(shù)據(jù)塊編號。邊集合E 中的每個元素代表兩個子事務之間的一個依賴關(guān)系。eM(ei^eE)表示子事務Vi是子事 務 '的前驅(qū),子事務 '是子事務V 后繼。
[0023] 結(jié)合視頻數(shù)據(jù)處理的特點,在本發(fā)明提出的事務調(diào)度和資源分配模型中每個數(shù)據(jù) 節(jié)點都有一個調(diào)度進程。這些調(diào)度進程知道它們所在數(shù)據(jù)節(jié)點的虛擬機的當前狀態(tài)。并且 不同節(jié)點的調(diào)度進程能夠和客戶端的調(diào)度進程通信,傳遞事務調(diào)度和控制信息??蛻舳说?調(diào)度進程根據(jù)查詢到的視頻數(shù)據(jù)分塊信息樹Tr將事務劃分成子事務后,根據(jù)二元關(guān)系集 合R將數(shù)據(jù)節(jié)點執(zhí)行聚類,聚類規(guī)則如下:
[0024] af Dm,對于任意a"如果Dm,a# a」,則存在!Ti,R
[0025] 存儲同一個數(shù)據(jù)塊m的所有數(shù)據(jù)節(jié)點組成一個聚類集合Dm,ai為聚類集合Dm內(nèi)的 一個節(jié)點??蛻舳说恼{(diào)度進程從提高資源利用率和負載均衡的角度在Dm內(nèi)選擇一個最佳 節(jié)點來執(zhí)行任務。
[0026] 如果數(shù)據(jù)節(jié)點的調(diào)度進程接受了一個事務,則該事務或者根據(jù)其優(yōu)先級插入這個 節(jié)點的等待事務隊列,或者搶占其它低優(yōu)先級的事務立即執(zhí)行。事務執(zhí)行完畢后,數(shù)據(jù)節(jié)點 的調(diào)度進程就通知客戶端的調(diào)度進程,以便客戶端的調(diào)度進程進行后繼事務的調(diào)度。
[0027] 在云存儲系統(tǒng)中,視頻數(shù)據(jù)的數(shù)據(jù)塊分布的節(jié)點數(shù)量巨大,因此存儲有視頻數(shù)據(jù) 數(shù)據(jù)塊的各個節(jié)點需要有效地減少管理節(jié)點的負載。在本發(fā)明提出的事務調(diào)度模型中,節(jié) 點具有分配自身資源和事務調(diào)度的能力,具有統(tǒng)計自身資源和負載狀態(tài)的能力。
[0028] 在本發(fā)明提出的動態(tài)資源分配和事務調(diào)度的方法中,客戶端c的調(diào)度進程向數(shù)據(jù) 塊m對應的聚類集合Dm內(nèi)所有數(shù)據(jù)節(jié)點(aa2,a3)發(fā)出事務處理請求。Dm內(nèi)所有的數(shù)據(jù) 節(jié)點根據(jù)內(nèi)部資源和當前負載狀態(tài),并利用由歷史運行狀態(tài)信息提取出來的動態(tài)因數(shù)計算 出事務Vi在該節(jié)點的估計執(zhí)行效果,并反饋給客戶端調(diào)度進程??蛻舳苏{(diào)度進程根據(jù)反饋 信息選擇能夠最早完成該事務的節(jié)點來執(zhí)行事務Vi。這種以客戶端主導調(diào)度過程,數(shù)據(jù)節(jié) 點主導資源分配以及動態(tài)反饋的方式對有利于整個云存儲系統(tǒng)的負載均衡。
[0029] 第1步??蛻舳薱的調(diào)度進程向管理節(jié)點查詢事務需要處理的視頻文件的分塊信 息樹Tr。
[0030] 第2步??蛻舳薱的調(diào)度進程根據(jù)視頻文件的分塊信息把該事務劃分成多個子事 務,其中每個子事務處理一個數(shù)據(jù)塊,劃分后的結(jié)果以有向圖GR的形式輸出。
[0031] 第3步。判斷GR中是否存在無前驅(qū)的子事務,如果不存在,則等待。否則,從GR 中選擇一個無前驅(qū)或者所有前驅(qū)子事務都已經(jīng)完成的子事務,假設為Vi。
[0032] 第4步??蛻舳薱通過數(shù)據(jù)分塊信息樹Tr和子事務Vi描述信息中的數(shù)據(jù)塊編號 131〇〇1^對節(jié)點執(zhí)行聚類,輸出一個節(jié)點集合0 131。(^,0131。。1^={31,3 2,,"*,311_1}。客戶端〇 向Dbltjdd中的所有節(jié)點發(fā)送事務處理請求,事務處理請求中包含了子事務Vi的描述信息。
[0033] 第5步。收到事務處理請求的節(jié)點a」根據(jù)子事務V^勺負載量(wlJ,事務類型以 及節(jié)點a」的資源特性,估計子事務vi在節(jié)點aj的估計處理時間ETM'i,j。本發(fā)明用事務處 理時間矩陣的一個元素ETMm來表示子事務V,在節(jié)點a」的估計處理時間。當子事務V^勺 負載量很大時,估算值與實際值之間會有比較大的偏差。因此引入一個調(diào)整因數(shù)fmkd來對 ETM'i,」進行校準,得到最終的TMi,
[0034]ETMijj=ETM'JijXfmkjj
[0035] 其中fmk,』為第k類事務關(guān)于節(jié)點a』的調(diào)整因數(shù)。調(diào)整因數(shù)fmk,』反映了節(jié)點aj 執(zhí)行第k類事務的歷史特性。fmy的初始值為1。
[0036] fm'k,』=Tactj/ETMi,』
[0037] fmk, j= (fm k,』X人+fm'k,』X (I-人))/2
[0038]fmk,』是一個更新值,節(jié)點a』每執(zhí)行完一個第k類的子事務后,則計算出fm' k,j, Tactk,」為子事務k在節(jié)點a」上的實際處理時間(包括子事務開始執(zhí)行前或者被搶占后等 待資源就緒的時間)。