本發(fā)明涉及互聯(lián)網(wǎng)技術(shù)領(lǐng)域,特別是涉及一種基于多屬性的大數(shù)據(jù)流量調(diào)度方法及裝置。
背景技術(shù):
近年來(lái),大數(shù)據(jù)處理架構(gòu),如:MapReduce、Dryad、Spark等,被廣泛的應(yīng)用在數(shù)據(jù)中心進(jìn)行大數(shù)據(jù)分析。在上述架構(gòu)中,一個(gè)大數(shù)據(jù)的分析任務(wù)通常包含多個(gè)不同的階段,相鄰的兩個(gè)階段之間需要傳輸大量的數(shù)據(jù),只有當(dāng)這些數(shù)據(jù)都傳輸完成時(shí),下一個(gè)階段才能開始;其中,數(shù)據(jù)傳輸過程中一般包含了許多并行的數(shù)據(jù)流,這些數(shù)據(jù)流可以被抽象成為一個(gè)Coflow(大數(shù)據(jù)流量)。因此,大數(shù)據(jù)分析任務(wù)的完成時(shí)間在很大程度上取決于所產(chǎn)生的大數(shù)據(jù)流量的傳輸效率,據(jù)相關(guān)研究分析表明,Coflow的傳輸時(shí)間占到了大數(shù)據(jù)任務(wù)完成總時(shí)間的50%以上。
為了優(yōu)化大數(shù)據(jù)任務(wù)的完成時(shí)間,現(xiàn)有的工作對(duì)Coflow的調(diào)度進(jìn)行了研究,并提出了相關(guān)Coflow調(diào)度機(jī)制,以通過合理的調(diào)度Coflow來(lái)減小大數(shù)據(jù)任務(wù)的完成時(shí)間;Coflow調(diào)度機(jī)制可以被分為兩類:信息感知的調(diào)度機(jī)制和信息無(wú)感知的調(diào)度機(jī)制。
其中,信息感知的調(diào)度機(jī)制需要提前知道大數(shù)據(jù)任務(wù)所需傳輸?shù)目倲?shù)據(jù)量大??;然而,在實(shí)際當(dāng)中,由于某些大數(shù)據(jù)業(yè)務(wù)是動(dòng)態(tài)產(chǎn)生數(shù)據(jù)的,所以總的數(shù)據(jù)無(wú)法提前獲取,因此信息無(wú)感知的機(jī)制被提出,信息無(wú)感知的機(jī)制通常依靠大數(shù)據(jù)業(yè)務(wù)已經(jīng)傳輸?shù)臄?shù)據(jù)量來(lái)進(jìn)行調(diào)度的決策,當(dāng)一個(gè)任務(wù)已經(jīng)傳輸?shù)臄?shù)據(jù)量超過規(guī)定的門限值時(shí),此任務(wù)數(shù)據(jù)傳輸?shù)膬?yōu)先級(jí)將被降低。假設(shè)網(wǎng)絡(luò)中的Coflow所需發(fā)送的總數(shù)據(jù)量是無(wú)法提前獲取和感知的,具體地,Coflow可以被分為不同的優(yōu)先級(jí),并放在不同的優(yōu)先級(jí)隊(duì)列當(dāng)中,當(dāng)多個(gè)Coflow爭(zhēng)搶相同的帶寬資源時(shí),優(yōu)先傳輸具有高優(yōu)先級(jí)的Coflow,當(dāng)高優(yōu)先級(jí)的Coflow傳輸完成后,再依次傳輸?shù)蛢?yōu)先級(jí)隊(duì)列中的Coflow。初始情況下,每一個(gè)Coflow都具有最高的優(yōu)先級(jí),并被放在最高優(yōu)先級(jí)的隊(duì)列當(dāng)中,在傳輸過程中,當(dāng)某一個(gè)Coflow的已發(fā)送數(shù)據(jù)量超過所在隊(duì)列的預(yù)設(shè)門限值時(shí),此Coflow就會(huì)被從此隊(duì)列中移除,并放入到低一個(gè)等級(jí)的優(yōu)先級(jí)隊(duì)列當(dāng)中。
舉例而言,假設(shè)預(yù)設(shè)門限值為15M(兆),網(wǎng)絡(luò)中有3條可用鏈路,帶寬均為1M,當(dāng)前有兩個(gè)需要傳輸?shù)腃oflow,其中,Coflow1中只有一個(gè)數(shù)據(jù)流,該數(shù)據(jù)流的數(shù)據(jù)為7M,優(yōu)先級(jí)為2;Coflow2中有三個(gè)數(shù)據(jù)流,每一數(shù)據(jù)流的數(shù)據(jù)為6M,優(yōu)先級(jí)為1,由于現(xiàn)有的信息無(wú)感知的調(diào)度機(jī)制無(wú)法獲知Coflow1和Coflow2的總數(shù)據(jù)量,那么,可能會(huì)在Coflow2并行傳輸三個(gè)數(shù)據(jù)流共15M,即傳輸至5s時(shí),監(jiān)測(cè)到Coflow2的已發(fā)送數(shù)據(jù)量達(dá)到了預(yù)設(shè)門限值,降低其優(yōu)先級(jí),提高Coflow1的優(yōu)先級(jí),開始傳輸,得到任務(wù)完成總時(shí)間為:(5+7)+(5+7+1)=25s,平均完成時(shí)間為:12.5s;若在數(shù)據(jù)傳輸至5s時(shí),不根據(jù)預(yù)設(shè)門限值進(jìn)行優(yōu)先級(jí)的調(diào)節(jié),得到的任務(wù)完成總時(shí)間為:(6+7)+6=19s,平均完成時(shí)間為:9.5s。
可以看出,現(xiàn)有的信息無(wú)感知的調(diào)度機(jī)制僅僅依靠已發(fā)送數(shù)據(jù)量來(lái)決定如何調(diào)度Coflow,調(diào)度的粒度太粗,無(wú)法對(duì)具有不同數(shù)據(jù)量的Coflow進(jìn)行精細(xì)化的調(diào)節(jié),只能簡(jiǎn)單地將某些總數(shù)據(jù)量大的Coflow劃分到低優(yōu)先級(jí),某些總數(shù)據(jù)量小的Coflow劃分到高優(yōu)先級(jí),從而使得網(wǎng)絡(luò)中Coflow的整體平均傳輸時(shí)間較高。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明實(shí)施例的目的在于提供一種基于多屬性的大數(shù)據(jù)流量調(diào)度方法及裝置,以降低網(wǎng)絡(luò)中大數(shù)據(jù)流量的整體平均傳輸時(shí)間。具體技術(shù)方案如下:
第一方面,本發(fā)明實(shí)施例提供了一種基于多屬性的大數(shù)據(jù)流量調(diào)度方法,所述方法包括:
在數(shù)據(jù)傳輸過程中,確定待調(diào)度的大數(shù)據(jù)流量Coflow,所述Coflow設(shè)置有優(yōu)先級(jí);
判斷所述Coflow的寬度是否大于第一預(yù)設(shè)閾值;
當(dāng)判斷結(jié)果為是時(shí),監(jiān)測(cè)所述Coflow的長(zhǎng)度是否大于第二預(yù)設(shè)閾值,若大于,降低所述Coflow的優(yōu)先級(jí);
當(dāng)判斷結(jié)果為否時(shí),監(jiān)測(cè)所述Coflow已發(fā)送的總數(shù)據(jù)量是否大于第三預(yù)設(shè)閾值,若大于,降低所述Coflow的優(yōu)先級(jí)。
可選地,所述監(jiān)測(cè)所述Coflow的長(zhǎng)度是否大于第二預(yù)設(shè)閾值的步驟,包括:
實(shí)時(shí)監(jiān)測(cè)所述Coflow的長(zhǎng)度是否大于第二預(yù)設(shè)閾值;
或,
周期性地監(jiān)測(cè)所述Coflow的長(zhǎng)度是否大于所述第二預(yù)設(shè)閾值。
可選地,所述監(jiān)測(cè)所述Coflow已發(fā)送的總數(shù)據(jù)量是否大于第三預(yù)設(shè)閾值的步驟,包括:
實(shí)時(shí)監(jiān)測(cè)所述Coflow已發(fā)送的總數(shù)據(jù)量是否大于第三預(yù)設(shè)閾值;
或,
周期性地監(jiān)測(cè)所述Coflow已發(fā)送的總數(shù)據(jù)量是否大于所述第三預(yù)設(shè)閾值。
可選地,所述Coflow的優(yōu)先級(jí)的初始值是根據(jù)所述Coflow的寬度設(shè)置的。
可選地,根據(jù)所述Coflow的寬度設(shè)置所述Coflow的優(yōu)先級(jí)的初始值的方式,包括:
若β(i)<=w<β(i+1),將所述Coflow的優(yōu)先級(jí)的初始值確定為i;其中,w為所述Coflow的寬度,i為自然數(shù),β(i)=10i。
可選地,所述第二預(yù)設(shè)閾值為:20×k;所述第三預(yù)設(shè)閾值為:10k,其中,k為所述Coflow的當(dāng)前優(yōu)先級(jí)。
第二方面,本發(fā)明實(shí)施例提供了一種基于多屬性的大數(shù)據(jù)流量調(diào)度裝置,所述裝置包括:
確定模塊,用于在數(shù)據(jù)傳輸過程中,確定待調(diào)度的大數(shù)據(jù)流量Coflow,所述Coflow設(shè)置有優(yōu)先級(jí);
判斷模塊,用于判斷所述Coflow的寬度是否大于第一預(yù)設(shè)閾值;
第一監(jiān)測(cè)模塊,用于在所述判斷模塊的判斷結(jié)果為是的情況下,監(jiān)測(cè)所述Coflow的長(zhǎng)度是否大于第二預(yù)設(shè)閾值,若大于,降低所述Coflow的優(yōu)先級(jí);
第二監(jiān)測(cè)模塊,用于在所述判斷模塊的判斷結(jié)果為否的情況下,監(jiān)測(cè)所述Coflow已發(fā)送的總數(shù)據(jù)量是否大于第三預(yù)設(shè)閾值,若大于,降低所述Coflow的優(yōu)先級(jí)。
可選地,所述第一監(jiān)測(cè)模塊,具體用于:
實(shí)時(shí)監(jiān)測(cè)所述Coflow的長(zhǎng)度是否大于第二預(yù)設(shè)閾值,若大于,降低所述Coflow的優(yōu)先級(jí);
或,
周期性地監(jiān)測(cè)所述Coflow的長(zhǎng)度是否大于所述第二預(yù)設(shè)閾值,若大于,降低所述Coflow的優(yōu)先級(jí)。
可選地,所述第二監(jiān)測(cè)模塊,具體用于:
實(shí)時(shí)監(jiān)測(cè)所述Coflow已發(fā)送的總數(shù)據(jù)量是否大于第三預(yù)設(shè)閾值,若大于,降低所述Coflow的優(yōu)先級(jí);
或,
周期性地監(jiān)測(cè)所述Coflow已發(fā)送的總數(shù)據(jù)量是否大于所述第三預(yù)設(shè)閾值,若大于,降低所述Coflow的優(yōu)先級(jí)。
可選地,所述Coflow的優(yōu)先級(jí)的初始值是根據(jù)所述Coflow的寬度設(shè)置的。
可選地,所述Coflow的優(yōu)先級(jí)的初始值根據(jù)所述Coflow的寬度設(shè)置的方式,包括:
若β(i)<=w<β(i+1),將所述Coflow的優(yōu)先級(jí)的初始值確定為i;其中,w為所述Coflow的寬度,i為自然數(shù),β(i)=10i。
可選地,所述第二預(yù)設(shè)閾值為:20×k;所述第三預(yù)設(shè)閾值為:10k,其中,k為所述Coflow的當(dāng)前優(yōu)先級(jí)。
本發(fā)明實(shí)施例提供的基于多屬性的大數(shù)據(jù)流量調(diào)度方法中,可以首先在數(shù)據(jù)傳輸過程中,確定待調(diào)度的大數(shù)據(jù)流量Coflow,其中,該Coflow設(shè)置有優(yōu)先級(jí);判斷該Coflow的寬度是否大于第一預(yù)設(shè)閾值;當(dāng)判斷結(jié)果為是時(shí),監(jiān)測(cè)該Coflow的長(zhǎng)度是否大于第二預(yù)設(shè)閾值,若大于,降低該Coflow的優(yōu)先級(jí);當(dāng)判斷結(jié)果為否時(shí),監(jiān)測(cè)該Coflow已發(fā)送的總數(shù)據(jù)量是否大于第三預(yù)設(shè)閾值,若大于,執(zhí)行降低該Coflow的優(yōu)先級(jí)的步驟。
可以理解的是,針對(duì)一個(gè)Coflow,若它的寬度大于第一預(yù)設(shè)閾值,則表明該Coflow中包含的數(shù)據(jù)流比較多,而這些數(shù)據(jù)流在一定條件下可以并行傳輸,因此,當(dāng)該Coflow的已發(fā)送總數(shù)據(jù)量大于預(yù)設(shè)門限值時(shí),其總的傳輸時(shí)間不一定長(zhǎng),但當(dāng)該Coflow的長(zhǎng)度,即該Coflow包含的并行流中發(fā)送數(shù)據(jù)量最多的數(shù)據(jù)流的已發(fā)送數(shù)據(jù)量,大于第二預(yù)設(shè)閾值時(shí),則可以表明該Coflow的傳輸時(shí)間將較長(zhǎng),因此對(duì)其優(yōu)先級(jí)進(jìn)行降低處理,以傳輸?shù)却?duì)列中、其他傳輸時(shí)間比較少的Coflow;若該Coflow的寬度不大于第一預(yù)設(shè)閾值,則表明該Coflow中包含的數(shù)據(jù)流比較少,因此,當(dāng)該Coflow的已發(fā)送數(shù)據(jù)量大于第三預(yù)設(shè)閾值時(shí),可以表明該該Coflow的傳輸時(shí)間將會(huì)較長(zhǎng),對(duì)其優(yōu)先級(jí)可以進(jìn)行降低處理,以傳輸?shù)却?duì)列中、其他傳輸時(shí)間比較少的Coflow。
可以看出,針對(duì)網(wǎng)絡(luò)中的每一Coflow,應(yīng)用本發(fā)明實(shí)施例提供的基于多屬性的大數(shù)據(jù)流量調(diào)度方法,針對(duì)不同類型的Coflow,使用不同屬性的門限值來(lái)調(diào)節(jié)優(yōu)先級(jí),能夠?qū)崿F(xiàn)細(xì)粒度、更加精細(xì)的流量調(diào)度,減少網(wǎng)絡(luò)中Coflow的平均傳輸時(shí)間。
附圖說明
為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明實(shí)施例提供的基于多屬性的大數(shù)據(jù)流量調(diào)度方法的一種流程示意圖;
圖2為本發(fā)明實(shí)施例提供的基于多屬性的大數(shù)據(jù)流量調(diào)度裝置的一種結(jié)構(gòu)示意圖。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
為了減少網(wǎng)絡(luò)中Coflow的平均傳輸時(shí)間,本發(fā)明實(shí)施例提供了一種基于多屬性的大數(shù)據(jù)流量調(diào)度方法及裝置。
下面首先對(duì)本發(fā)明實(shí)施例提供的一種基于多屬性的大數(shù)據(jù)流量調(diào)度方法進(jìn)行介紹。
需要說明的是,一個(gè)Coflow由于包含了多條并行數(shù)據(jù)流,所以具有多個(gè)屬性,如寬度,長(zhǎng)度,已發(fā)送總數(shù)據(jù)量等。其中,Coflow的寬度為該Coflow包含的數(shù)據(jù)流的個(gè)數(shù);Coflow的長(zhǎng)度為該Coflow包含的數(shù)據(jù)流中發(fā)送數(shù)據(jù)量最多的數(shù)據(jù)流的已發(fā)送數(shù)據(jù)量,可以理解的是,Coflow的長(zhǎng)度是動(dòng)態(tài)變化的;Coflow的已發(fā)送總數(shù)據(jù)量,為該Coflow包含的所有數(shù)據(jù)流的已發(fā)送的數(shù)據(jù)量的總和。
如圖1所示,本發(fā)明實(shí)施例提供的一種基于多屬性的大數(shù)據(jù)流量調(diào)度方法,包括如下步驟:
S101,在數(shù)據(jù)傳輸過程中,確定待調(diào)度的大數(shù)據(jù)流量Coflow。
其中,該Coflow可以是網(wǎng)絡(luò)中待調(diào)度的任一Coflow,且該Coflow設(shè)置有優(yōu)先級(jí)。
需要說明的是,該Coflow的優(yōu)先級(jí)的初始值可以是根據(jù)該Coflow的寬度設(shè)置的,而網(wǎng)絡(luò)中任一待調(diào)度的Coflow的寬度是可以預(yù)先獲知的。具體地,根據(jù)該Coflow的寬度設(shè)置該Coflow的優(yōu)先級(jí)的初始值的方式,可以包括:
若β(i)<=w<β(i+1),將該Coflow的優(yōu)先級(jí)的初始值確定為i;其中,w為該Coflow的寬度,i為自然數(shù),β(i)=10i。
舉例而言,若Coflow1為待調(diào)度的Coflow,包含了20條數(shù)據(jù)流,那么,Coflow1的寬度w便為20,由于101<20<102,i=1,因此,Coflow1的優(yōu)先級(jí)的初始值可以確定為1。
可以理解的是,i的值越大,優(yōu)先級(jí)越低。
當(dāng)然,確定該Coflow的優(yōu)先級(jí)的初始值的方式可以不限于以上方式。
現(xiàn)有技術(shù)中,每個(gè)Coflow的優(yōu)先級(jí)的初始值都是最高優(yōu)先級(jí),當(dāng)兩個(gè)Coflow同時(shí)開始傳輸時(shí),會(huì)根據(jù)時(shí)間到達(dá)順序進(jìn)行傳輸,這樣,可能會(huì)造成總數(shù)據(jù)量較小的Coflow被較大的Coflow所阻塞,增加了總數(shù)據(jù)量較小的Coflow的完成時(shí)間,從而使得網(wǎng)絡(luò)中Coflow的平均傳輸時(shí)間較長(zhǎng);此外,現(xiàn)有技術(shù)中僅依靠已發(fā)送數(shù)據(jù)量的大小來(lái)確定Coflow的優(yōu)先級(jí),但在多個(gè)Coflow同時(shí)開始傳輸時(shí),無(wú)法快速地區(qū)分出哪個(gè)Coflow可能會(huì)發(fā)送更多的數(shù)據(jù)量,導(dǎo)致網(wǎng)絡(luò)中各Coflow的優(yōu)先級(jí)調(diào)整到最優(yōu)調(diào)度方案的時(shí)間較長(zhǎng),從而使得網(wǎng)絡(luò)中Coflow的平均傳輸時(shí)間較長(zhǎng)。
需要說明的是,一般情況下,Coflow包含的數(shù)據(jù)流少的話,其總數(shù)據(jù)量可能較少,相應(yīng)地,傳輸時(shí)間也會(huì)較短,可以設(shè)置較高的優(yōu)先級(jí),優(yōu)先進(jìn)行傳輸;而Coflow包含的數(shù)據(jù)流多的話,其總數(shù)據(jù)量可能較多,相應(yīng)地,傳輸時(shí)間也會(huì)較長(zhǎng),可以設(shè)置相對(duì)較低的優(yōu)先級(jí)。因此,可以理解的是,根據(jù)Coflow的寬度來(lái)設(shè)置Coflow的優(yōu)先級(jí)的初始值,能夠在一定概率上減少總數(shù)據(jù)量較小的Coflow被阻塞的情況發(fā)生,并且可以更快地將網(wǎng)絡(luò)中各Coflow的優(yōu)先級(jí)調(diào)整到最優(yōu)調(diào)度方案。
S102,判斷該Coflow的寬度是否大于第一預(yù)設(shè)閾值,若是,執(zhí)行S103,否則,執(zhí)行S104。
針對(duì)現(xiàn)有技術(shù)中,只根據(jù)Coflow的已發(fā)送數(shù)據(jù)量來(lái)確定優(yōu)先級(jí),可能出現(xiàn)某些總數(shù)據(jù)量較大、但傳輸時(shí)間短的Coflow被劃分到低優(yōu)先級(jí),某些總數(shù)據(jù)量相對(duì)較小,但傳輸時(shí)間長(zhǎng)的Coflow被劃分到高優(yōu)先級(jí)的情況,從而影響網(wǎng)絡(luò)中Coflow的平均傳輸時(shí)間,同樣地,針對(duì)網(wǎng)絡(luò)中的任一待調(diào)度的Coflow,根據(jù)Coflow的寬度確定確定的優(yōu)先級(jí)的初始值,也可能會(huì)有這種現(xiàn)象發(fā)生,因此,為實(shí)現(xiàn)調(diào)度方案最優(yōu),從而降低網(wǎng)絡(luò)中Coflow的平均傳輸時(shí)間,可以通過判斷Coflow的寬度是否大于第一預(yù)設(shè)閾值,將Coflow劃分為不同類型,然后,有針對(duì)性地,進(jìn)一步調(diào)節(jié)Coflow的優(yōu)先級(jí)。
其中,當(dāng)該Coflow的寬度大于第一預(yù)設(shè)閾值時(shí),可以將該Coflow劃分為寬的Coflow;當(dāng)該Coflow的寬度不大于第一預(yù)設(shè)閾值時(shí),可以將該Coflow劃分為窄的Coflow。此外,一般情況下,第一預(yù)設(shè)閾值,可以為50。
S103,監(jiān)測(cè)該Coflow的長(zhǎng)度是否大于第二預(yù)設(shè)閾值,若大于,降低該Coflow的優(yōu)先級(jí)。
其中,Coflow的長(zhǎng)度為Coflow包含的數(shù)據(jù)流中當(dāng)前數(shù)據(jù)量發(fā)送最多的數(shù)據(jù)流的已發(fā)送數(shù)據(jù)量。
可以理解的是,當(dāng)該Coflow的寬度大于第一預(yù)設(shè)閾值時(shí),即該Coflow為寬的Coflow時(shí),可以監(jiān)測(cè)該Coflow的長(zhǎng)度是否大于第二預(yù)設(shè)閾值,若該Coflow的長(zhǎng)度大于第二預(yù)設(shè)閾值,則可以表明該Coflow的傳輸時(shí)間將會(huì)較長(zhǎng),此時(shí),可以降低該Coflow的優(yōu)先級(jí),以優(yōu)先傳輸?shù)却?duì)列中其他傳輸時(shí)間可能較短的Coflow。
實(shí)際應(yīng)用中,每一優(yōu)先級(jí)都可以對(duì)應(yīng)一個(gè)邏輯上的優(yōu)先級(jí)隊(duì)列,因此,降低該Coflow的優(yōu)先級(jí),具體地,可以將該Coflow從當(dāng)前所屬優(yōu)先級(jí)隊(duì)列中移除,并放入到低一個(gè)等級(jí)的優(yōu)先級(jí)隊(duì)列中。
其中,第二預(yù)設(shè)閾值可以為:20×k;其中,k為該Coflow的當(dāng)前優(yōu)先級(jí)。
具體地,監(jiān)測(cè)該Coflow的長(zhǎng)度是否大于第二預(yù)設(shè)閾值的步驟,可以包括:
實(shí)時(shí)監(jiān)測(cè)該Coflow的長(zhǎng)度是否大于第二預(yù)設(shè)閾值;
或,
周期性地監(jiān)測(cè)該Coflow的長(zhǎng)度是否大于第二預(yù)設(shè)閾值。
實(shí)際應(yīng)用中,可以根據(jù)具體需求,實(shí)時(shí)或者周期性地監(jiān)測(cè)網(wǎng)絡(luò)中傳輸?shù)拿恳籆oflow的長(zhǎng)度是否大于第二預(yù)設(shè)閾值,若大于,便可以降低對(duì)應(yīng)Coflow的優(yōu)先級(jí)。
舉例而言,假設(shè)Coflow2為寬的Coflow,當(dāng)前位于優(yōu)先級(jí)為3的隊(duì)列,設(shè)定實(shí)時(shí)地對(duì)Coflow2的長(zhǎng)度進(jìn)行監(jiān)測(cè),那么,可以理解的是,第二預(yù)設(shè)閾值為:20×3=60,因此,當(dāng)監(jiān)測(cè)到Coflow2的長(zhǎng)度大于60KB時(shí),便可以將Coflow2從優(yōu)先級(jí)為3的隊(duì)列中移除,并放入優(yōu)先級(jí)為4的隊(duì)列中。
需要說明的是,上述所舉示例僅為本發(fā)明的一具體實(shí)例,并不構(gòu)成對(duì)本發(fā)明的限定。
S104,監(jiān)測(cè)該Coflow已發(fā)送的總數(shù)據(jù)量是否大于第三預(yù)設(shè)閾值,若大于,降低該Coflow的優(yōu)先級(jí)。
可以理解的是,當(dāng)該Coflow的寬度不大于第一預(yù)設(shè)閾值時(shí),即該Coflow為窄的Coflow時(shí),可以監(jiān)測(cè)該Coflow已發(fā)送的總數(shù)據(jù)量是否大于第三預(yù)設(shè)閾值,若大于,則可以表明該Coflow的傳輸時(shí)間將會(huì)較長(zhǎng),因此,可降低該Coflow的優(yōu)先級(jí),以優(yōu)先傳輸?shù)却?duì)列中其他傳輸時(shí)間可能較短的Coflow。
其中,第三預(yù)設(shè)閾值可以為:10k,其中,k為該Coflow的當(dāng)前優(yōu)先級(jí)。
具體地,所述監(jiān)測(cè)該Coflow已發(fā)送的總數(shù)據(jù)量是否大于第三預(yù)設(shè)閾值的步驟,可以包括:
實(shí)時(shí)監(jiān)測(cè)該Coflow已發(fā)送的總數(shù)據(jù)量是否大于第三預(yù)設(shè)閾值;
或,
周期性地監(jiān)測(cè)該Coflow已發(fā)送的總數(shù)據(jù)量是否大于所述第三預(yù)設(shè)閾值。
實(shí)際應(yīng)用中,可以根據(jù)具體需求,實(shí)時(shí)或者周期性地監(jiān)測(cè)網(wǎng)絡(luò)中傳輸?shù)拿恳籆oflow的長(zhǎng)度是否大于第二預(yù)設(shè)閾值,若大于,便可以降低對(duì)應(yīng)Coflow的優(yōu)先級(jí)。
舉例而言,假設(shè)Coflow3為窄的Coflow3,當(dāng)前位于優(yōu)先級(jí)為3的隊(duì)列,設(shè)定實(shí)時(shí)地對(duì)Coflow3已發(fā)送的總數(shù)據(jù)量進(jìn)行監(jiān)測(cè),那么,可以理解的是,第二預(yù)設(shè)閾值為:103=1000,因此,當(dāng)監(jiān)測(cè)到Coflow3已發(fā)送的總數(shù)據(jù)量大于1000KB時(shí),便可以將Coflow3從優(yōu)先級(jí)為3的隊(duì)列中移除,并放入優(yōu)先級(jí)為4的隊(duì)列中。
需要說明的是,上述所舉示例僅為本發(fā)明的一具體實(shí)例,并不構(gòu)成對(duì)本發(fā)明的限定。
在圖1所示發(fā)明實(shí)施例提供的基于多屬性的大數(shù)據(jù)流量調(diào)度方法中,可以首先在數(shù)據(jù)傳輸過程中,確定待調(diào)度的大數(shù)據(jù)流量Coflow,其中,該Coflow設(shè)置有優(yōu)先級(jí);判斷該Coflow的寬度是否大于第一預(yù)設(shè)閾值;當(dāng)判斷結(jié)果為是時(shí),監(jiān)測(cè)該Coflow的長(zhǎng)度是否大于第二預(yù)設(shè)閾值,若大于,降低該Coflow的優(yōu)先級(jí);當(dāng)判斷結(jié)果為否時(shí),監(jiān)測(cè)該Coflow已發(fā)送的總數(shù)據(jù)量是否大于第三預(yù)設(shè)閾值,若大于,執(zhí)行降低該Coflow的優(yōu)先級(jí)的步驟。
可以理解的是,針對(duì)網(wǎng)絡(luò)中傳輸?shù)拿恳粋€(gè)Coflow,若它的寬度大于第一預(yù)設(shè)閾值,則表明該Coflow中包含的數(shù)據(jù)流比較多,而這些數(shù)據(jù)流在一定條件下可以并行傳輸,因此,當(dāng)該Coflow的已發(fā)送總數(shù)據(jù)量大于預(yù)設(shè)門限值時(shí),其總的傳輸時(shí)間不一定長(zhǎng),但當(dāng)該Coflow的長(zhǎng)度,即該Coflow包含的并行流中發(fā)送數(shù)據(jù)量最多的數(shù)據(jù)流的已發(fā)送數(shù)據(jù)量,大于第二預(yù)設(shè)閾值時(shí),可以表明該Coflow的傳輸時(shí)間將較長(zhǎng),因此對(duì)其優(yōu)先級(jí)進(jìn)行降低處理,以傳輸?shù)却?duì)列中、其他傳輸時(shí)間比較少的Coflow;而若該Coflow的寬度不大于第一預(yù)設(shè)閾值,則表明該Coflow中包含的數(shù)據(jù)流比較少,因此,當(dāng)該Coflow的已發(fā)送數(shù)據(jù)量大于第三預(yù)設(shè)閾值時(shí),可以表明該該Coflow的傳輸時(shí)間將會(huì)較長(zhǎng),可以對(duì)其優(yōu)先級(jí)進(jìn)行降低處理,以傳輸?shù)却?duì)列中、其他傳輸時(shí)間比較少的Coflow。
因此,可以看出,針對(duì)網(wǎng)絡(luò)中的每一Coflow,應(yīng)用圖1所示發(fā)明實(shí)施例提供的基于多屬性的大數(shù)據(jù)流量調(diào)度方法,針對(duì)不同類型的Coflow,使用不同屬性的門限值來(lái)調(diào)節(jié)優(yōu)先級(jí),能夠?qū)崿F(xiàn)細(xì)粒度、更加精細(xì)的流量調(diào)度,減少網(wǎng)絡(luò)中Coflow的平均傳輸時(shí)間。
相應(yīng)于上述方法實(shí)施例,本發(fā)明實(shí)施例提供了一種基于多屬性的大數(shù)據(jù)流量調(diào)度裝置,所述裝置包括:
確定模塊201,用于在數(shù)據(jù)傳輸過程中,確定待調(diào)度的大數(shù)據(jù)流量Coflow,所述Coflow設(shè)置有優(yōu)先級(jí);
判斷模塊202,用于判斷所述Coflow的寬度是否大于第一預(yù)設(shè)閾值;
第一監(jiān)測(cè)模塊203,用于在所述判斷模塊202的判斷結(jié)果為是的情況下,監(jiān)測(cè)所述Coflow的長(zhǎng)度是否大于第二預(yù)設(shè)閾值,若大于,降低所述Coflow的優(yōu)先級(jí);
第二監(jiān)測(cè)模塊204,用于在所述判斷模塊202的判斷結(jié)果為否的情況下,監(jiān)測(cè)所述Coflow已發(fā)送的總數(shù)據(jù)量是否大于第三預(yù)設(shè)閾值,若大于,降低所述Coflow的優(yōu)先級(jí)。
在圖2所示發(fā)明實(shí)施例提供的基于多屬性的大數(shù)據(jù)流量調(diào)度方法中,可以首先在數(shù)據(jù)傳輸過程中,確定待調(diào)度的大數(shù)據(jù)流量Coflow,其中,該Coflow設(shè)置有優(yōu)先級(jí);判斷該Coflow的寬度是否大于第一預(yù)設(shè)閾值;當(dāng)判斷結(jié)果為是時(shí),監(jiān)測(cè)該Coflow的長(zhǎng)度是否大于第二預(yù)設(shè)閾值,若大于,降低該Coflow的優(yōu)先級(jí);當(dāng)判斷結(jié)果為否時(shí),監(jiān)測(cè)該Coflow已發(fā)送的總數(shù)據(jù)量是否大于第三預(yù)設(shè)閾值,若大于,執(zhí)行降低該Coflow的優(yōu)先級(jí)的步驟。
可以理解的是,針對(duì)網(wǎng)絡(luò)中傳輸?shù)拿恳粋€(gè)Coflow,若它的寬度大于第一預(yù)設(shè)閾值,則表明該Coflow中包含的數(shù)據(jù)流比較多,而這些數(shù)據(jù)流在一定條件下可以并行傳輸,因此,當(dāng)該Coflow的已發(fā)送總數(shù)據(jù)量大于預(yù)設(shè)門限值時(shí),其總的傳輸時(shí)間不一定長(zhǎng),但當(dāng)該Coflow的長(zhǎng)度,即該Coflow包含的并行流中發(fā)送數(shù)據(jù)量最多的數(shù)據(jù)流的已發(fā)送數(shù)據(jù)量,大于第二預(yù)設(shè)閾值時(shí),可以表明該Coflow的傳輸時(shí)間將較長(zhǎng),因此對(duì)其優(yōu)先級(jí)進(jìn)行降低處理,以傳輸?shù)却?duì)列中、其他傳輸時(shí)間比較少的Coflow;而若該Coflow的寬度不大于第一預(yù)設(shè)閾值,則表明該Coflow中包含的數(shù)據(jù)流比較少,因此,當(dāng)該Coflow的已發(fā)送數(shù)據(jù)量大于第三預(yù)設(shè)閾值時(shí),可以表明該該Coflow的傳輸時(shí)間將會(huì)較長(zhǎng),可以對(duì)其優(yōu)先級(jí)進(jìn)行降低處理,以傳輸?shù)却?duì)列中、其他傳輸時(shí)間比較少的Coflow。
因此,可以看出,針對(duì)網(wǎng)絡(luò)中的每一Coflow,應(yīng)用圖2所示發(fā)明實(shí)施例提供的基于多屬性的大數(shù)據(jù)流量調(diào)度方法,針對(duì)不同類型的Coflow,使用不同屬性的門限值來(lái)調(diào)節(jié)優(yōu)先級(jí),能夠?qū)崿F(xiàn)細(xì)粒度、更加精細(xì)的流量調(diào)度,減少網(wǎng)絡(luò)中Coflow的平均傳輸時(shí)間。
具體地,所述第一監(jiān)測(cè)模塊203,具體可以用于:
實(shí)時(shí)監(jiān)測(cè)所述Coflow的長(zhǎng)度是否大于第二預(yù)設(shè)閾值,若大于,降低所述Coflow的優(yōu)先級(jí);
或,
周期性地監(jiān)測(cè)所述Coflow的長(zhǎng)度是否大于所述第二預(yù)設(shè)閾值,若大于,降低所述Coflow的優(yōu)先級(jí)。
具體地,所述第二監(jiān)測(cè)模塊204,具體可以用于:
實(shí)時(shí)監(jiān)測(cè)所述Coflow已發(fā)送的總數(shù)據(jù)量是否大于第三預(yù)設(shè)閾值,若大于,降低所述Coflow的優(yōu)先級(jí);
或,
周期性地監(jiān)測(cè)所述Coflow已發(fā)送的總數(shù)據(jù)量是否大于所述第三預(yù)設(shè)閾值,若大于,降低所述Coflow的優(yōu)先級(jí)。
具體地,所述Coflow的優(yōu)先級(jí)的初始值可以是根據(jù)所述Coflow的寬度設(shè)置的。
具體地,所述Coflow的優(yōu)先級(jí)的初始值根據(jù)所述Coflow的寬度設(shè)置的方式,可以包括:
若β(i)<=w<β(i+1),將所述Coflow的優(yōu)先級(jí)的初始值確定為i;其中,w為所述Coflow的寬度,i為自然數(shù),β(i)=10i。
具體地,所述第二預(yù)設(shè)閾值可以為:20×k;所述第三預(yù)設(shè)閾值可以為:10k,其中,k為所述Coflow的當(dāng)前優(yōu)先級(jí)。
需要說明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語(yǔ)僅僅用來(lái)將一個(gè)實(shí)體或者操作與另一個(gè)實(shí)體或操作區(qū)分開來(lái),而不一定要求或者暗示這些實(shí)體或操作之間存在任何這種實(shí)際的關(guān)系或者順序。而且,術(shù)語(yǔ)“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語(yǔ)句“包括一個(gè)……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設(shè)備中還存在另外的相同要素。
本說明書中的各個(gè)實(shí)施例均采用相關(guān)的方式描述,各個(gè)實(shí)施例之間相同相似的部分互相參見即可,每個(gè)實(shí)施例重點(diǎn)說明的都是與其他實(shí)施例的不同之處。尤其,對(duì)于系統(tǒng)實(shí)施例而言,由于其基本相似于方法實(shí)施例,所以描述的比較簡(jiǎn)單,相關(guān)之處參見方法實(shí)施例的部分說明即可。
以上所述僅為本發(fā)明的較佳實(shí)施例而已,并非用于限定本發(fā)明的保護(hù)范圍。凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換、改進(jìn)等,均包含在本發(fā)明的保護(hù)范圍內(nèi)。