[發(fā)明專(zhuān)利]基于包集合的數(shù)據(jù)中心非對(duì)稱(chēng)拓?fù)湎铝髁空{(diào)度方法有效
| 申請(qǐng)?zhí)枺?/td> | 201910572054.8 | 申請(qǐng)日: | 2019-06-28 |
| 公開(kāi)(公告)號(hào): | CN110460537B | 公開(kāi)(公告)日: | 2023-01-24 |
| 發(fā)明(設(shè)計(jì))人: | 周曉波;李克秋;魏寧;王昊嵐 | 申請(qǐng)(專(zhuān)利權(quán))人: | 天津大學(xué) |
| 主分類(lèi)號(hào): | H04L47/125 | 分類(lèi)號(hào): | H04L47/125;H04L47/6275 |
| 代理公司: | 天津市北洋有限責(zé)任專(zhuān)利代理事務(wù)所 12201 | 代理人: | 劉國(guó)威 |
| 地址: | 300072*** | 國(guó)省代碼: | 天津;12 |
| 權(quán)利要求書(shū): | 查看更多 | 說(shuō)明書(shū): | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 基于 集合 數(shù)據(jù)中心 對(duì)稱(chēng) 拓?fù)?/a> 流量 調(diào)度 方法 | ||
1.一種基于包集合的數(shù)據(jù)中心非對(duì)稱(chēng)拓?fù)湎铝髁空{(diào)度方法,其特征是,步驟如下:
1)初始化隊(duì)列數(shù)量K與相應(yīng)的優(yōu)先級(jí)降級(jí)閾值;
2)初始化同一個(gè)TCP流中一些有相關(guān)性的包組成的集合flowlet的預(yù)設(shè)超時(shí)timeout值;
3)初始化flowlet表flowlet table,用于在運(yùn)行過(guò)程中儲(chǔ)存每條數(shù)據(jù)流flow的相關(guān)信息,包括如下表項(xiàng):哈希值hash code,時(shí)間戳timestamp,優(yōu)先級(jí)priority,路徑選擇path_decision,flowlet 個(gè)數(shù)flowlet_number,其中hash code為數(shù)據(jù)流flow的索引,timestamp用于存儲(chǔ)該數(shù)據(jù)流flow上一個(gè)數(shù)據(jù)包的到達(dá)交換機(jī)的時(shí)間,priority是該數(shù)據(jù)流flow的優(yōu)先級(jí),path_decision是數(shù)據(jù)流flow的出端口, flowlet_number是當(dāng)前數(shù)據(jù)流flow已發(fā)送的flowlet個(gè)數(shù);
4)當(dāng)數(shù)據(jù)包到達(dá)交換機(jī)時(shí)候,根據(jù)數(shù)據(jù)包中的包括源IP地址、目的IP地址、源端口、目的端口和入端口的五元組計(jì)算該數(shù)據(jù)包所屬數(shù)據(jù)流flow的哈希值為hash code;
5)在flowlet table中以hash code為主鍵進(jìn)行查找,若無(wú)對(duì)應(yīng)哈希值的數(shù)據(jù)流flow,認(rèn)為這是一條新的數(shù)據(jù)流flow,為其創(chuàng)建表項(xiàng);此時(shí)操作流程同觸發(fā)新的flowlet一樣,依7) 進(jìn)行操作并且記錄下數(shù)據(jù)流flow的hash code,包到達(dá)時(shí)間timestamp,并確定其priority以及為其選擇一個(gè)出端口記作path_decision;
6)若查找到了對(duì)應(yīng)的表項(xiàng),則計(jì)算當(dāng)前包到達(dá)時(shí)間與flowlet表中timestamp的差值δ,并且使用當(dāng)前包到達(dá)時(shí)間更新timestamp的值;
7)若時(shí)間間隔值δ大于預(yù)設(shè)的timeout值,認(rèn)為觸發(fā)了新的flowlet,此時(shí),首先將flowlet_number的計(jì)數(shù)加一,然后在可用出端口中隨機(jī)選擇一個(gè)作為新flowlet的出端口,并記錄在路徑選擇path_decision,接著依據(jù)8)進(jìn)行優(yōu)先級(jí)決策,最后將其轉(zhuǎn)發(fā)至剛剛選擇的出端口;
8)根據(jù)預(yù)設(shè)的K個(gè)優(yōu)先級(jí)以及相應(yīng)的(K-1)個(gè)降級(jí)閾值,將已發(fā)送的flowlet個(gè)數(shù)依次與這些降級(jí)閾值進(jìn)行比較,當(dāng)其大于第i個(gè)降級(jí)閾值時(shí),則流的優(yōu)先級(jí)降為(i+1),當(dāng)其大于最后一個(gè)降級(jí)閾值時(shí)則一直以最低優(yōu)先級(jí)發(fā)送。
2.如權(quán)利要求1所述的基于包集合的數(shù)據(jù)中心非對(duì)稱(chēng)拓?fù)湎铝髁空{(diào)度方法,其特征是,對(duì)于TCP發(fā)送端交換機(jī)Server1和TCP接收端交換機(jī)Server2之間的可達(dá)路徑有兩條,分別為:S1?S2?S4和S1?S3?S4,則具體步驟進(jìn)一步細(xì)化如下:
1)初始化隊(duì)列數(shù)量K與相應(yīng)的優(yōu)先級(jí)降級(jí)閾值(
2)初始化timeout值,該值用于區(qū)分不同的flowlet,timeout值選取大于負(fù)載均衡多條并行路徑的最大延時(shí)差;
3)初始化flowlet table,該表包含5個(gè)表項(xiàng),分別為:hash code, timestamp,priority,path_decision和flowlet_number,其中hash code用于唯一的標(biāo)識(shí)一條TCP流與其對(duì)應(yīng)的流表項(xiàng),timestamp用于記錄該TCP流上一個(gè)數(shù)據(jù)包到達(dá)的時(shí)間,priority用于記錄TCP流當(dāng)前的優(yōu)先級(jí),path_decision標(biāo)識(shí)當(dāng)前的出端口,flowlet_number記錄已發(fā)送的flowlet個(gè)數(shù);
4) -8)發(fā)送端交換機(jī)Server1發(fā)往TCP接收端交換機(jī)Server2的前三個(gè)數(shù)據(jù)包在交換機(jī)上進(jìn)行以下處理:
4.1.1)交換機(jī)S1接收到發(fā)送端的第一個(gè)數(shù)據(jù)包,根據(jù)五元組計(jì)算該數(shù)據(jù)包的所對(duì)應(yīng)TCP流的哈希值,對(duì)于hash code=2019,記錄該數(shù)據(jù)包到達(dá)交換機(jī)的時(shí)間arrive_time為216053us;
4.1.2)在flowlet table中查找哈希值為2019的記錄,此時(shí)不存在,則為flowlettable添加一條新的記錄,其中hash code =2019, timestamp=216053,flowlet_number=1;
4.1.3)由于這是該TCP流的第一個(gè)flowlet中的包,所以flowlet_number=1,小于等于第一個(gè)降級(jí)閾值
4.1.4)在可用的出端口中隨機(jī)選擇一個(gè)作為該flowlet的出端口,隨機(jī)選擇的output_port=3,將flowlet table中對(duì)應(yīng)記錄的path_decision設(shè)置為3,并將該數(shù)據(jù)包由3號(hào)端口以?xún)?yōu)先級(jí)0發(fā)出;
4.2.1)交換機(jī)S1接收到發(fā)送端的第二個(gè)數(shù)據(jù)包,根據(jù)五元組計(jì)算該數(shù)據(jù)包的所對(duì)應(yīng)TCP流的哈希值,對(duì)于hash code=2019,記錄該數(shù)據(jù)包到達(dá)交換機(jī)的時(shí)間arrive_time為216503us;
4.2.2)根據(jù)其哈希值在flowlet table中查找到相應(yīng)的記錄,知道上一個(gè)數(shù)據(jù)包到達(dá)的時(shí)間為timestamp=216053us,計(jì)算兩個(gè)數(shù)據(jù)包的時(shí)間間隔δ=arrive_time – timestamp= 216503 –216053= 450 timeout值=500,故此數(shù)據(jù)包屬于當(dāng)前flowlet,并不觸發(fā)新的flowlet;
4.2.3)更新表項(xiàng)中的timestamp = arrive_time = 216503
4.2.4)根據(jù)記錄中已有的優(yōu)先級(jí)和出端口,priority=0,path_decision=3,將該數(shù)據(jù)包以?xún)?yōu)先級(jí)0從3號(hào)端口發(fā)出;
4.3.1)交換機(jī)S1接收到發(fā)送端的第三個(gè)數(shù)據(jù)包,根據(jù)五元組計(jì)算該數(shù)據(jù)包的所對(duì)應(yīng)TCP流的哈希值,對(duì)于hash code=2019,記錄該數(shù)據(jù)包到達(dá)交換機(jī)的時(shí)間arrive_time為217024us;
4.3.2)根據(jù)其哈希值在flowlet table中查找到相應(yīng)的記錄,知道上一個(gè)數(shù)據(jù)包到達(dá)的時(shí)間為timestamp=216503 us,計(jì)算兩個(gè)數(shù)據(jù)包的時(shí)間間隔δ=217024 – 216503 = 521 timeout值=500,故此數(shù)據(jù)包觸發(fā)了新的flowlet,立即執(zhí)行4.3.3);
4.3.3)更新表項(xiàng)中的timestamp = arrive_time = 217024us,flowlet_number=2;
4.3.4)由于此時(shí)flowlet_number=2,
4.3.5)由于觸發(fā)了新的flowlet,故在可用的出端口中隨機(jī)選擇一個(gè)作為該flowlet的出端口,隨機(jī)選擇的output_port=2,將flowlet table中對(duì)應(yīng)記錄的path_decision設(shè)置為2,并將該數(shù)據(jù)包由2號(hào)端口以?xún)?yōu)先級(jí)1發(fā)出。
該專(zhuān)利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專(zhuān)利權(quán)人授權(quán)。該專(zhuān)利全部權(quán)利屬于天津大學(xué),未經(jīng)天津大學(xué)許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買(mǎi)此專(zhuān)利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201910572054.8/1.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專(zhuān)利網(wǎng)。
- 數(shù)據(jù)中心和數(shù)據(jù)中心設(shè)計(jì)
- 一種組網(wǎng)數(shù)據(jù)中心系統(tǒng)及方法
- 一種數(shù)據(jù)中心系統(tǒng)及其配置方法
- 一種數(shù)據(jù)中心能源利用效率的測(cè)算方法和裝置
- 跨數(shù)據(jù)中心協(xié)同計(jì)算方法及其系統(tǒng)
- 數(shù)據(jù)中心底座單體、數(shù)據(jù)中心底座及數(shù)據(jù)中心
- 一種醫(yī)療云數(shù)據(jù)系統(tǒng)
- 政務(wù)云基礎(chǔ)設(shè)施即服務(wù)實(shí)現(xiàn)系統(tǒng)
- 服務(wù)調(diào)用方法、裝置、設(shè)備及介質(zhì)
- 多數(shù)據(jù)中心訪問(wèn)方法及系統(tǒng)





