一種sdn應(yīng)用集成開(kāi)發(fā)環(huán)境的設(shè)計(jì)方法
【專(zhuān)利摘要】本發(fā)明一種SDN應(yīng)用集成開(kāi)發(fā)環(huán)境的設(shè)計(jì)方法,本發(fā)明將SDN應(yīng)用集成開(kāi)發(fā)環(huán)境架構(gòu)分為三個(gè)部分:用戶圖形界面、核心仿真層、基礎(chǔ)資源服務(wù)層;基礎(chǔ)資源服務(wù)層將資源信息遞交給核心仿真層,核心仿真層根據(jù)提交的資源信息建立虛擬網(wǎng)絡(luò)環(huán)境,編譯通過(guò)的SDN應(yīng)用程序可選擇在虛擬網(wǎng)絡(luò)環(huán)境中仿真執(zhí)行,執(zhí)行通過(guò)后切換到調(diào)用基礎(chǔ)資源的真實(shí)執(zhí)行操作中。本發(fā)明的用戶可以在核心仿真層進(jìn)行仿真,得到滿意結(jié)果后,再切換到實(shí)際網(wǎng)絡(luò)中進(jìn)行測(cè)試和部署,核心仿真層相當(dāng)于模擬器;可被標(biāo)準(zhǔn)化的前景使得本發(fā)明具有廣闊的應(yīng)用前景和廣泛的實(shí)際使用效果前景。
【專(zhuān)利說(shuō)明】一種SDN應(yīng)用集成開(kāi)發(fā)環(huán)境的設(shè)計(jì)方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于通信領(lǐng)域,具體涉及一種SDN應(yīng)用集成開(kāi)發(fā)環(huán)境的設(shè)計(jì)方法。
【背景技術(shù)】
[0002]隨著用戶的增多,互聯(lián)網(wǎng)的普及,用戶需求發(fā)生變化,業(yè)務(wù)需求越來(lái)越多變復(fù)雜,傳統(tǒng)網(wǎng)絡(luò)體系架構(gòu)越來(lái)越不能滿足用戶和業(yè)務(wù)的需求。傳統(tǒng)的互聯(lián)網(wǎng)架構(gòu)非常復(fù)雜,主要體現(xiàn)在它是由專(zhuān)門(mén)的交換機(jī)、路由器、終端設(shè)備和其他復(fù)雜設(shè)備組成,而這些網(wǎng)絡(luò)設(shè)備都是由不同的廠商生產(chǎn),有著各自特定的接口,運(yùn)行著各種各樣的分布式協(xié)議。在這種環(huán)境中,對(duì)于網(wǎng)絡(luò)的管理、開(kāi)發(fā)、創(chuàng)新都是十分困難的。對(duì)于研究人員,他們不能方便及時(shí)地驗(yàn)證他們的新技術(shù);對(duì)于網(wǎng)絡(luò)運(yùn)營(yíng)商,很難根據(jù)需求定制和優(yōu)化網(wǎng)絡(luò);對(duì)于設(shè)備提供商,不能及時(shí)地做出創(chuàng)新來(lái)滿足用戶的需求;對(duì)于用戶,他們的需求得不到及時(shí)和很好的滿足。
[0003]2010 年,ONF (Open Networking Foundation,開(kāi)放網(wǎng)絡(luò)基金會(huì))提出了 SDN(Software Defined Networks,軟件定義網(wǎng)絡(luò))的概念,SDN在本質(zhì)上就是將網(wǎng)絡(luò)的控制平面和轉(zhuǎn)發(fā)平面隔離,并且以集中化控制器的方式對(duì)全網(wǎng)進(jìn)行控制,從而建立一個(gè)開(kāi)放可編程的網(wǎng)絡(luò),通過(guò)軟件定義的方式對(duì)網(wǎng)絡(luò)資源進(jìn)行動(dòng)態(tài)管理,在此基礎(chǔ)上,用戶可以根據(jù)自己的需求,通過(guò)編程構(gòu)建各種各樣的數(shù)據(jù)轉(zhuǎn)發(fā)網(wǎng)絡(luò),并且在網(wǎng)絡(luò)部署自己的新型應(yīng)用,以滿足自身的需求,SDN為核心網(wǎng)絡(luò)及其應(yīng)用的創(chuàng)新提供了良好的平臺(tái)。
[0004]然而時(shí)至今日,如何實(shí)現(xiàn)一個(gè)較全面的軟件定義網(wǎng)絡(luò)卻仍是一個(gè)很有爭(zhēng)議的課題,所以本文提出了 SDN應(yīng)用集成開(kāi)發(fā)環(huán)境的概念,并對(duì)該概念進(jìn)行了研究與設(shè)計(jì)。如今網(wǎng)絡(luò)規(guī)模如此龐大,物理網(wǎng)絡(luò)調(diào)試測(cè)試SDN應(yīng)用代價(jià)太大,所以很有必要設(shè)計(jì)SDN應(yīng)用集成開(kāi)發(fā)環(huán)境,SDN應(yīng)用在仿真環(huán)境中進(jìn)行調(diào)試,獲得滿意的結(jié)果。SDN應(yīng)用集成開(kāi)發(fā)環(huán)境為開(kāi)發(fā)者開(kāi)發(fā)SDN應(yīng)用提供了一個(gè)程序開(kāi)發(fā)環(huán)境,使開(kāi)發(fā)者能夠更容易地開(kāi)發(fā)應(yīng)用程序。我們?yōu)榧砷_(kāi)發(fā)環(huán)境設(shè)計(jì)了核心仿真層,是整個(gè)SDN應(yīng)用集成開(kāi)發(fā)環(huán)境的核心,同時(shí)也是一個(gè)云計(jì)算仿真平臺(tái),為SDN應(yīng)用提供虛擬仿真環(huán)境,核心仿真層又被細(xì)分為三個(gè)部分:仿真引擎,仿真層和用戶代碼層,設(shè)計(jì)圖的典型結(jié)構(gòu)如圖1所示。有了 SDN集成開(kāi)發(fā)環(huán)境和基礎(chǔ)資源服務(wù)平臺(tái),開(kāi)發(fā)者可以更加輕松地進(jìn)行SDN應(yīng)用程序的開(kāi)發(fā)和測(cè)試,這樣就會(huì)有更多的開(kāi)發(fā)者加入到SDN的研究中來(lái),促進(jìn)SDN的發(fā)展。
【發(fā)明內(nèi)容】
[0005]本發(fā)明針對(duì)現(xiàn)有技術(shù)的不足,提出了一種SDN應(yīng)用集成開(kāi)發(fā)環(huán)境的設(shè)計(jì)方法。
[0006]一種對(duì)于SDN應(yīng)用集成開(kāi)發(fā)環(huán)境的設(shè)計(jì)方法,包括如下步驟:
步驟一:將SDN應(yīng)用集成開(kāi)發(fā)環(huán)境架構(gòu)分為三個(gè)部分:用戶圖形界面、核心仿真層、基礎(chǔ)資源服務(wù)層;
步驟二:基礎(chǔ)資源服務(wù)層將資源信息遞交給核心仿真層,核心仿真層根據(jù)提交的資源信息建立虛擬網(wǎng)絡(luò)環(huán)境,編譯通過(guò)的SDN應(yīng)用程序可選擇在虛擬網(wǎng)絡(luò)環(huán)境中仿真執(zhí)行,執(zhí)行通過(guò)后切換到調(diào)用基礎(chǔ)資源的真實(shí)執(zhí)行操作中。[0007]所述的基礎(chǔ)資源服務(wù)層為整個(gè)仿真環(huán)境提供支撐,獲取內(nèi)存、存儲(chǔ)、網(wǎng)絡(luò)設(shè)備和計(jì)算基礎(chǔ)資源,并將這些資源融合起來(lái)并進(jìn)行集成作為一個(gè)單個(gè)的資源提交給核心仿真層以創(chuàng)建網(wǎng)絡(luò)和實(shí)驗(yàn):基礎(chǔ)資源服務(wù)平臺(tái)的主要功能是讓用戶通過(guò)網(wǎng)絡(luò)完善計(jì)算機(jī)基礎(chǔ)設(shè)施而獲得服務(wù),創(chuàng)建和管理網(wǎng)絡(luò),使創(chuàng)建的網(wǎng)絡(luò)擁有更好的可擴(kuò)展性;同時(shí)基礎(chǔ)資源服務(wù)平臺(tái)中的數(shù)據(jù)庫(kù)組件保存資源池中所有物理機(jī)、虛擬機(jī)、存儲(chǔ)和網(wǎng)絡(luò)基礎(chǔ)資源的動(dòng)態(tài)以及靜態(tài)信息,該信息通過(guò)定時(shí)獲取、更新遞交給上層,并可由計(jì)算服務(wù)器、調(diào)度器、卷控制器、網(wǎng)絡(luò)、隊(duì)列和控制面板共享相關(guān)狀態(tài),基于不同的狀態(tài)信息完成相應(yīng)的業(yè)務(wù)處理;另外開(kāi)發(fā)者通過(guò)API獲得構(gòu)建SDN應(yīng)用程序所需的計(jì)算資源,管理員和用戶通過(guò)Web接口訪問(wèn)計(jì)算資源。
核心仿真層,由用戶代碼層、仿真層和仿真引擎組成,向用戶圖形界面一個(gè)自足的支持?jǐn)?shù)據(jù)中心、服務(wù)代理人、調(diào)度和分配測(cè)量的平臺(tái),將來(lái)自基礎(chǔ)資源服務(wù)層的基礎(chǔ)資源進(jìn)行建模與仿真,交給虛擬化引擎;仿真層對(duì)基于云計(jì)算虛擬數(shù)據(jù)中心環(huán)境提供了建模和仿真,包括為虛擬機(jī)管理專(zhuān)用接口,內(nèi)存,存儲(chǔ)和帶寬,該層主要處理的問(wèn)題包括:虛擬機(jī)分配到主機(jī)的調(diào)度,管理程序的執(zhí)行和檢測(cè)系統(tǒng)的動(dòng)態(tài)狀態(tài),所述的用戶代碼層則公開(kāi)基本實(shí)體給主機(jī),包括主機(jī)實(shí)體、應(yīng)用程序,虛擬機(jī),用戶數(shù)量及其應(yīng)用類(lèi)型,以及代理調(diào)度策略。
[0008]用戶圖形界面為用戶提供了一個(gè)可視化的操作界面,提供SDN應(yīng)用軟件代碼的編輯、編譯、鏈接和執(zhí)行;
將基礎(chǔ)資源服務(wù)層、核心仿真層對(duì)應(yīng)的軟件提供的API進(jìn)行相應(yīng)的調(diào)用,最后將各個(gè)功能對(duì)應(yīng)到相應(yīng)的按鈕中;
所述的當(dāng)用戶圖形界面有任務(wù)時(shí),將任務(wù)下達(dá)給核心仿真層,核心仿真層則調(diào)用基礎(chǔ)資源服務(wù)層的資源,進(jìn)行匯總,然后將所需的信息上傳給上層:首先基礎(chǔ)資源服務(wù)層獲取網(wǎng)絡(luò)中內(nèi)存、存儲(chǔ)、網(wǎng)絡(luò)設(shè)備和計(jì)算資源信息,并且這些資源信息實(shí)時(shí)獲取,放入緩存區(qū),定期進(jìn)行更新,一旦上層核心仿真層需要該資源信息時(shí),可通過(guò)調(diào)用基礎(chǔ)資源服務(wù)層的API獲取相應(yīng)的資源信息;核心仿真層根據(jù)這些資源,進(jìn)行仿真,包括數(shù)據(jù)中心、網(wǎng)絡(luò)拓?fù)洹?gòu)建及分配VM、動(dòng)態(tài)工作負(fù)載、數(shù)據(jù)中心能耗和創(chuàng)建實(shí)體建模;當(dāng)用戶或開(kāi)發(fā)者在用戶圖形界面工作時(shí),即完成代碼編輯后,進(jìn)行編譯、鏈接和執(zhí)行動(dòng)作,通過(guò)調(diào)用下層核心仿真層的接口,得到需要的數(shù)據(jù);通過(guò)各層之間的協(xié)作,完成圖形界面層下達(dá)的任務(wù)。
[0009]本發(fā)明解決當(dāng)前缺乏一種現(xiàn)成的SDN集成開(kāi)發(fā)環(huán)境軟件的重要問(wèn)題,即提供了一個(gè)統(tǒng)一的SDN集成開(kāi)發(fā)環(huán)境,方便用戶和開(kāi)發(fā)者的研究。目前還未見(jiàn)有其它SDN應(yīng)用集成開(kāi)發(fā)環(huán)境平臺(tái)的出現(xiàn),本發(fā)明是目前唯一一套能為用戶和開(kāi)發(fā)者提供現(xiàn)成的SDN應(yīng)用集成開(kāi)發(fā)環(huán)境平臺(tái),本發(fā)明顯著優(yōu)點(diǎn)有:用戶可以在核心仿真層進(jìn)行仿真,得到滿意結(jié)果后,再切換到實(shí)際網(wǎng)絡(luò)中進(jìn)行測(cè)試和部署,核心仿真層相當(dāng)于模擬器;可被標(biāo)準(zhǔn)化的前景使得本發(fā)明具有廣闊的應(yīng)用前景和廣泛的實(shí)際使用效果前景。
【專(zhuān)利附圖】
【附圖說(shuō)明】
[0010]圖1是SDN應(yīng)用開(kāi)發(fā)環(huán)境架構(gòu)的示意圖;
圖2是基于云計(jì)算的SDN框架示意圖;
圖3是SDN核心仿真層的軟件架構(gòu)示意圖;
圖4為用戶圖形界面體系結(jié)構(gòu)的示意圖?!揪唧w實(shí)施方式】
[0011]下面結(jié)合附圖對(duì)本發(fā)明做進(jìn)一步的說(shuō)明。
[0012]如圖1所示,SDN應(yīng)用集成開(kāi)發(fā)環(huán)境架構(gòu)通過(guò)分層方式設(shè)計(jì)整體框架,然后再細(xì)分每層結(jié)構(gòu),通過(guò)各個(gè)層次之間的聯(lián)系,共同協(xié)作完成信息的傳遞。
[0013]包括如下步驟:
步驟1:將SDN應(yīng)用集成開(kāi)發(fā)環(huán)境架構(gòu)分為三個(gè)部分:用戶圖形界面、核心仿真層、基礎(chǔ)資源服務(wù)層;
基礎(chǔ)資源服務(wù)層為整個(gè)仿真環(huán)境提供支撐,獲取內(nèi)存、存儲(chǔ)、網(wǎng)絡(luò)設(shè)備和計(jì)算基礎(chǔ)資源,并將這些資源融合起來(lái)并進(jìn)行集成作為一個(gè)單個(gè)的資源提交給核心仿真層以創(chuàng)建網(wǎng)絡(luò)和實(shí)驗(yàn);
核心仿真層,由用戶代碼層、仿真層和仿真引擎組成,向用戶圖形界面一個(gè)自足的支持?jǐn)?shù)據(jù)中心、服務(wù)代理人、調(diào)度和分配測(cè)量的平臺(tái),將來(lái)自基礎(chǔ)資源服務(wù)層的基礎(chǔ)資源進(jìn)行建模與仿真,交給虛擬化 引擎;
用戶圖形界面為用戶提供了一個(gè)可視化的操作界面,提供SDN應(yīng)用軟件代碼的編輯、編譯、鏈接和執(zhí)打;
步驟2:基礎(chǔ)資源服務(wù)層將資源信息遞交給核心仿真層,核心仿真層根據(jù)提交的資源信息建立虛擬網(wǎng)絡(luò)環(huán)境,編譯通過(guò)的SDN應(yīng)用程序可選擇在虛擬網(wǎng)絡(luò)環(huán)境中仿真執(zhí)行,得到滿意結(jié)果后切換到調(diào)用基礎(chǔ)資源的真實(shí)執(zhí)行操作中。
[0014]所述的通過(guò)將SDN應(yīng)用集成開(kāi)發(fā)環(huán)境架構(gòu)分為三個(gè)部分,分別是用戶圖形界面、核心仿真層和基礎(chǔ)資源服務(wù)層:設(shè)計(jì)SDN應(yīng)用集成開(kāi)發(fā)環(huán)境架構(gòu),將SDN應(yīng)用集成開(kāi)發(fā)環(huán)境架構(gòu)整體分為三層;基礎(chǔ)資源服務(wù)層為整個(gè)仿真環(huán)境提供支撐,為開(kāi)發(fā)環(huán)境提供內(nèi)存、存儲(chǔ)、網(wǎng)絡(luò)設(shè)備和計(jì)算等資源;重點(diǎn)分析核心仿真層,它是整個(gè)SDN應(yīng)用集成開(kāi)發(fā)環(huán)境的核心,也是一種云計(jì)算仿真平臺(tái),并將核心仿真層細(xì)化成仿真引擎層、仿真層和用戶代碼層;用戶界面圖形為開(kāi)發(fā)者和用戶提供了一個(gè)可視化的操作界面。
[0015]所述的基礎(chǔ)資源服務(wù)層為整個(gè)仿真環(huán)境提供支撐,獲取內(nèi)存、存儲(chǔ)、網(wǎng)絡(luò)設(shè)備和計(jì)算基礎(chǔ)資源,并將這些資源融合起來(lái)并進(jìn)行集成作為一個(gè)單個(gè)的資源提交給核心仿真層以創(chuàng)建網(wǎng)絡(luò)和實(shí)驗(yàn):基礎(chǔ)資源服務(wù)平臺(tái)的主要功能是讓用戶通過(guò)網(wǎng)絡(luò)完善計(jì)算機(jī)基礎(chǔ)設(shè)施而獲得服務(wù),它可以更輕松地創(chuàng)建和管理網(wǎng)絡(luò),還可以使創(chuàng)建的網(wǎng)絡(luò)擁有更好的可擴(kuò)展性。同時(shí)基礎(chǔ)資源服務(wù)平臺(tái)中的數(shù)據(jù)庫(kù)組件保存資源池中所有物理機(jī)、虛擬機(jī)、存儲(chǔ)和網(wǎng)絡(luò)基礎(chǔ)資源的動(dòng)態(tài)以及靜態(tài)信息,該信息通過(guò)定時(shí)獲取、更新遞交給上層,并可由各個(gè)功能組件共孚相關(guān)狀態(tài),基于不同的狀態(tài)?目息完成相應(yīng)的業(yè)務(wù)處理。
[0016]基礎(chǔ)資源服務(wù)層的服務(wù)包含:計(jì)算服務(wù)、存儲(chǔ)服務(wù)、虛擬網(wǎng)絡(luò)服務(wù)、控制面板服務(wù)和鏡像服務(wù)。虛擬環(huán)境中可以通過(guò)超級(jí)管理程序來(lái)部署計(jì)算服務(wù)?;A(chǔ)資源服務(wù)層支持對(duì)象存儲(chǔ)和塊存儲(chǔ):對(duì)象存儲(chǔ)提供了一個(gè)分布式的存儲(chǔ)平臺(tái),提供了 API供外部訪問(wèn),還可以備份、保留數(shù)據(jù)和檔案;塊存儲(chǔ)為可擴(kuò)展存儲(chǔ)提供了公開(kāi)和鏈接計(jì)算實(shí)例的塊設(shè)備。虛擬網(wǎng)絡(luò)服務(wù)提供了虛擬網(wǎng)絡(luò)功能:提供靈活的網(wǎng)絡(luò)模型,網(wǎng)絡(luò)管理IP地址,用戶可以任意創(chuàng)建網(wǎng)絡(luò)、控制流量,可插拔的后端架構(gòu),利用OpenFlow定義網(wǎng)絡(luò)技術(shù),網(wǎng)絡(luò)可以附加其他的網(wǎng)絡(luò)服務(wù)??刂泼姘骞δ馨?用戶和管理員可以控制資源,提供全網(wǎng)絡(luò)規(guī)模和狀態(tài)的全局視圖,賦給用戶具有一定限制的服務(wù)。鏡像服務(wù)則為磁盤(pán)和服務(wù)器提供查找、注冊(cè)和部署服務(wù),提供了鏡像拷貝、快照和快速存儲(chǔ)功能。
[0017]如圖3所示,步驟I中所述的一種SDN應(yīng)用集成開(kāi)發(fā)環(huán)境的研究與設(shè)計(jì),所述的核心仿真層進(jìn)一步包括:用戶代碼層、仿真層和仿真引擎層。其中,SDN核心仿真引擎可支持一些核心函數(shù)如事件隊(duì)列和處理,云系統(tǒng)實(shí)體的創(chuàng)建(服務(wù)、主機(jī)、數(shù)據(jù)中心、代理器和虛擬機(jī)),組件間消息傳遞、仿真時(shí)鐘的管理;仿真層對(duì)基于云計(jì)算虛擬數(shù)據(jù)中心環(huán)境提供了建模和仿真,包括為虛擬機(jī)管理專(zhuān)用接口,內(nèi)存,存儲(chǔ)和帶寬,該層主要處理的問(wèn)題包括:虛擬機(jī)分配到主機(jī)的調(diào)度,管理程序的執(zhí)行和檢測(cè)系統(tǒng)的動(dòng)態(tài)狀態(tài);用戶代碼層則公開(kāi)基本實(shí)體給主機(jī),包括主機(jī)實(shí)體、應(yīng)用程序,虛擬機(jī),用戶數(shù)量及其應(yīng)用類(lèi)型,以及代理調(diào)度策略;通過(guò)擴(kuò)展在這層給定的基本實(shí)體,云應(yīng)用開(kāi)發(fā)者可以執(zhí)行以下活動(dòng):(1)生成一個(gè)請(qǐng)求分布,應(yīng)用配置的混合工作負(fù)載(2)模擬云的可用性場(chǎng)景和執(zhí)行基于自定義配置的魯棒性測(cè)試(3 )實(shí)現(xiàn)云的自定義應(yīng)用提供技術(shù)。
[0018]在核心仿真層上,主要模擬的服務(wù)包括:模擬數(shù)據(jù)中心、網(wǎng)絡(luò)拓?fù)?、?gòu)建及分配VM、動(dòng)態(tài)工作負(fù)載、數(shù)據(jù)中心能耗和創(chuàng)建實(shí)體等。數(shù)據(jù)中心實(shí)體管理許多主機(jī)實(shí)體,根據(jù)云服務(wù)提供商定義的虛擬分配策略,這些主機(jī)分配給一個(gè)或者多個(gè)虛擬機(jī)。根據(jù)主機(jī)分配策略來(lái)分配核心處理器給VMs,因此,可以分配特定的CPU給特定的VMs,在VMs之間動(dòng)態(tài)地分配CPU。鑒于核心仿真層中的云實(shí)體之間的交互網(wǎng)絡(luò)是基于抽象概念網(wǎng)絡(luò),并沒(méi)有實(shí)際可用的作為仿真網(wǎng)絡(luò)實(shí)體,所以用消息的網(wǎng)絡(luò)延遲代替。云計(jì)算包含額外的一層即虛擬層,有可能會(huì)出現(xiàn)幾個(gè)VMs要求在主機(jī)上實(shí)例化,導(dǎo)致VMs需要共享系統(tǒng)總線和處理器,為了避免這種情況的發(fā)生,構(gòu)建及分配VM的策略是核心仿真層支持兩層次VM的供應(yīng),即主機(jī)層和VM層,并且在每一層中,都實(shí)現(xiàn)時(shí)間共享和空間共享。為了實(shí)現(xiàn)動(dòng)態(tài)工作負(fù)載,對(duì)現(xiàn)有的框架做了一系列的擴(kuò)展,特別是在核心仿真層設(shè)計(jì)了附加的仿真實(shí)體,被稱(chēng)為仿真模型,提供了定義資源和VM需求的函數(shù)和變量。效用模型可以模擬應(yīng)用資源需求來(lái)實(shí)現(xiàn)對(duì)工作負(fù)載模型的創(chuàng)建。針對(duì)數(shù)據(jù)中心能耗問(wèn)題,主要是通過(guò)核心仿真層提供了驗(yàn)證技能技術(shù)的模型來(lái)解決。
[0019]所述的用戶圖形界面為開(kāi)發(fā)者和用戶提供了一個(gè)可視化的操作界面,軟件代碼的編輯、編譯、鏈接和執(zhí)行都可以在該層實(shí)現(xiàn):首先設(shè)計(jì)用戶圖形界面,包含基本必要功能,然后將基礎(chǔ)資源服務(wù)層、核心仿真層對(duì)應(yīng)的軟件提供的API進(jìn)行相應(yīng)的調(diào)用,最后將各個(gè)功能對(duì)應(yīng)到相應(yīng)的按鈕中。圖形界面為用戶開(kāi)發(fā)提供了工作臺(tái),使開(kāi)發(fā)更加便捷,另外還提供了編輯、查看、編譯和運(yùn)行JAVA代碼的專(zhuān)用插件,以及專(zhuān)門(mén)的插件開(kāi)發(fā)工具。
[0020]首先尋找一個(gè)內(nèi)核的支撐,即運(yùn)行時(shí)內(nèi)核(Runtime),它處在體系架構(gòu)的最底層,是其他工具和插件運(yùn)行時(shí)的基礎(chǔ)設(shè)施。其次,分析集成開(kāi)發(fā)環(huán)境圖形界面。根據(jù)圖形界面設(shè)計(jì),主要是分為8個(gè)部分:分別是菜單、工具列、快速視圖、Package Explorer視圖、編輯視圖、快捷方式工具列、Outline視圖、任務(wù)視圖和控制視圖,這些視圖形成了 SDN應(yīng)用集成開(kāi)發(fā)環(huán)境的外觀圖形界面。最后,分析集成開(kāi)發(fā)環(huán)境類(lèi)庫(kù),并將這些類(lèi)嵌入到SDN應(yīng)用集成開(kāi)發(fā)環(huán)境中,形成集成開(kāi)發(fā)環(huán)境的控制部分。
[0021]如圖4所示,所述的當(dāng)用戶圖形界面有任務(wù)時(shí),將任務(wù)下達(dá)給核心仿真層,核心仿真層則調(diào)用基礎(chǔ)資源服務(wù)層的資源,進(jìn)行匯總,然后將所需的信息上傳給上層:首先基礎(chǔ)資源服務(wù)層獲取網(wǎng)絡(luò)中內(nèi)存、存儲(chǔ)、網(wǎng)絡(luò)設(shè)備和計(jì)算資源信息,并且這些資源信息實(shí)時(shí)獲取,放入緩存區(qū),定期進(jìn)行更新,一旦上層核心仿真層需要該資源信息時(shí),可通過(guò)調(diào)用基礎(chǔ)資源服務(wù)層的API獲取相應(yīng)的資源信息;核心仿真層根據(jù)這些資源,進(jìn)行仿真,包括數(shù)據(jù)中心、網(wǎng)絡(luò)拓?fù)?、?gòu)建及分配VM、動(dòng)態(tài)工作負(fù)載、數(shù)據(jù)中心能耗和創(chuàng)建實(shí)體建模;當(dāng)用戶或開(kāi)發(fā)者在用戶圖形界面工作時(shí),即完成代碼編輯后,進(jìn)行編譯、鏈接和執(zhí)行動(dòng)作,通過(guò)調(diào)用下層核心仿真層的接口,得到需要的數(shù)據(jù)。通過(guò)各層之間的協(xié)作,完成圖形界面層下達(dá)的任務(wù)。
[0022]如圖2所示,是本發(fā)明的基于云計(jì)算的SDN框架示意圖,基于云計(jì)算的三層服務(wù)模型,本文提出一種基于云計(jì)算的SDN架構(gòu)。在SDN的控制層,我們?yōu)橛脩籼峁㊣aaS(基礎(chǔ)設(shè)施即服務(wù)),在應(yīng)用層,為用戶提供PaaS (平臺(tái)即服務(wù))。SDN基礎(chǔ)資源服務(wù)平臺(tái),為用戶提供IaaS服務(wù)。在控制層,以服務(wù)的形式為用戶提供服務(wù)器服務(wù),存儲(chǔ)以及相關(guān)的軟件。用戶通過(guò)云計(jì)算技術(shù)遠(yuǎn)程訪問(wèn)計(jì)算,存儲(chǔ)以及虛擬化等功能。在應(yīng)用層,我們提出SDN應(yīng)用集成開(kāi)發(fā)環(huán)境的概念,為用戶提供PaaS服務(wù)。在應(yīng)用層,以服務(wù)的形式為用戶提供程序開(kāi)發(fā)和部署的平臺(tái)。將一個(gè)完整的計(jì)算平臺(tái),包括應(yīng)用設(shè)計(jì),應(yīng)用開(kāi)發(fā),應(yīng)用測(cè)試都作為服務(wù)提供給用戶。
[0023]本實(shí)施例首先使用JAVA語(yǔ)言按照本發(fā)明所述的方法制作SDN應(yīng)用集成開(kāi)發(fā)環(huán)境平臺(tái)的圖形開(kāi)發(fā)界面。然后將CloudSim、minimet和openstack等集成到該平臺(tái)中,實(shí)現(xiàn)相關(guān)的功能,例如云任務(wù)到虛擬機(jī)綁定策略的設(shè)計(jì)與測(cè)試、支持基于拍賣(mài)的服務(wù)機(jī)制、提供后云網(wǎng)絡(luò)環(huán)境的可視化模擬和讀出BRITE格式的網(wǎng)絡(luò)拓?fù)洳⒖梢暬尸F(xiàn)等。
[0024]下面是對(duì)本實(shí)例的具體實(shí)現(xiàn)步驟:
步驟a:選取3臺(tái)的物理機(jī),設(shè)置9臺(tái)虛擬機(jī)。其中物理機(jī)的配置CPU是2400*4MIPS,物理機(jī)的內(nèi)存為10GB,帶寬為lTbps,硬盤(pán)為1TB,VM調(diào)度策略選用時(shí)間共享策略。虛擬機(jī)的配置有CPU為1000*1MIPS,虛擬機(jī)的內(nèi)存為2GB,帶寬是lGbps,鏡像是10GB,任務(wù)調(diào)度策略采用空間共享策略,VMM的類(lèi)型是Xen類(lèi)型。任務(wù)配置中CPU是單核,長(zhǎng)度在17000到82000MI之間,輸入大小是350bytes,輸出大小是300bytes,綁定策略則是簡(jiǎn)單綁定或者貪心綁定,數(shù)量定在15個(gè)左右。
[0025]步驟b:準(zhǔn)備該平臺(tái)的安裝環(huán)境,即安裝JRE環(huán)境,下載、解壓CloudSim包,配置classpath,安裝CloudSim。然后設(shè)置CloudSimHome。待環(huán)境配置完成后,啟動(dòng)Eclipse主程序,創(chuàng)建一個(gè)工程。待工程創(chuàng)建完成后,顯示Java工程的配置界面,包括源代碼,選中其中一個(gè)實(shí)例的源代碼,運(yùn)行該源代碼。
[0026]步驟c:創(chuàng)建仿真。首先,初始化CloudSim庫(kù)。其次,倉(cāng)Il建數(shù)據(jù)中心,包含四個(gè)步驟,步驟如下所示:
步驟?創(chuàng)建處理單元Pe并設(shè)置供應(yīng)策略;
步驟?創(chuàng)建物理主機(jī),設(shè)置主機(jī)ID號(hào)、內(nèi)存、帶寬及供應(yīng)策略、硬盤(pán)存儲(chǔ)、Pe列表,對(duì)主
機(jī)內(nèi)虛擬機(jī)間共享CPU的調(diào)度策略,然后創(chuàng)建包含多個(gè)主機(jī)的列表;
步驟③創(chuàng)建數(shù)據(jù)中心特征對(duì)象,設(shè)置指令架構(gòu)、操作系統(tǒng)類(lèi)型、VMM類(lèi)型、主機(jī)列表、時(shí)
區(qū)和單元成本參數(shù),其中單元成本參數(shù)又包含處理器成本、內(nèi)存成本、存儲(chǔ)成本和帶寬成本; 步驟Φ創(chuàng)建數(shù)據(jù)中心,設(shè)置數(shù)據(jù)中心名稱(chēng),主機(jī)列表及虛擬機(jī)到物理機(jī)的分配策略,SAN網(wǎng)絡(luò)存儲(chǔ)列表,調(diào)度間隔。
[0027]然后,創(chuàng)建數(shù)據(jù)中心代理,設(shè)置其名稱(chēng)。第五步是創(chuàng)建虛擬機(jī),設(shè)置虛擬機(jī)ID、MIPS (處理能力)、鏡像大小、內(nèi)存、帶寬、CPU核數(shù)和VMM類(lèi)型,創(chuàng)建虛擬機(jī)列表,提交給數(shù)據(jù)中心代理。第六步是創(chuàng)建云任務(wù),設(shè)置任務(wù)ID號(hào)、任務(wù)長(zhǎng)度、云任務(wù)輸入文件大小和云任務(wù)輸出文件大小,調(diào)節(jié)CPU核數(shù)要求,設(shè)置對(duì)資源的利用模式。最后,只需指定任務(wù)到虛擬機(jī)的分配策略,啟動(dòng)仿真即可。
[0028]步驟d:結(jié)束仿真,輸出并統(tǒng)計(jì)結(jié)果,對(duì)耗時(shí)、CPU、內(nèi)存、帶寬占用率和變化率這幾個(gè)參數(shù)進(jìn)行比較。
[0029]步驟e:重復(fù)該實(shí)驗(yàn),得到多組結(jié)果。當(dāng)在仿真軟件上執(zhí)行成功以后,從仿真環(huán)境退出,進(jìn)入真實(shí)環(huán)境,重復(fù)之前的工作。
[0030]雖然通過(guò)實(shí)施例描繪了本發(fā)明,本領(lǐng)域普通技術(shù)人員知道,本發(fā)明有許多變形和變化而不脫離本發(fā)明的精神,希望所附的權(quán)利要求包括這些變形和變化而不脫離本發(fā)明的精神。
【權(quán)利要求】
1.一種SDN應(yīng)用集成開(kāi)發(fā)環(huán)境的設(shè)計(jì)方法,其特征在于,包括如下步驟: 步驟一:將SDN應(yīng)用集成開(kāi)發(fā)環(huán)境架構(gòu)分為三個(gè)部分:用戶圖形界面、核心仿真層、基礎(chǔ)資源服務(wù)層; 步驟二:基礎(chǔ)資源服務(wù)層將資源信息遞交給核心仿真層,核心仿真層根據(jù)提交的資源信息建立虛擬網(wǎng)絡(luò)環(huán)境,編譯通過(guò)的SDN應(yīng)用程序可選擇在虛擬網(wǎng)絡(luò)環(huán)境中仿真執(zhí)行,執(zhí)行通過(guò)后切換到調(diào)用基礎(chǔ)資源的真實(shí)執(zhí)行操作中。
2.根據(jù)權(quán)利要求1所述的一種SDN應(yīng)用集成開(kāi)發(fā)環(huán)境的設(shè)計(jì)方法,其特征在于:所述的基礎(chǔ)資源服務(wù)層為整個(gè)仿真環(huán)境提供支撐,獲取內(nèi)存、存儲(chǔ)、網(wǎng)絡(luò)設(shè)備和計(jì)算基礎(chǔ)資源,并將這些資源融合起來(lái)并進(jìn)行集成作為一個(gè)單個(gè)的資源提交給核心仿真層以創(chuàng)建網(wǎng)絡(luò)和實(shí)驗(yàn):基礎(chǔ)資源服務(wù)平臺(tái)的主要功能是讓用戶通過(guò)網(wǎng)絡(luò)完善計(jì)算機(jī)基礎(chǔ)設(shè)施而獲得服務(wù),創(chuàng)建和管理網(wǎng)絡(luò),使創(chuàng)建的網(wǎng)絡(luò)擁有更好的可擴(kuò)展性;同時(shí)基礎(chǔ)資源服務(wù)平臺(tái)中的數(shù)據(jù)庫(kù)組件保存資源池中所有物理機(jī)、虛擬機(jī)、存儲(chǔ)和網(wǎng)絡(luò)基礎(chǔ)資源的動(dòng)態(tài)以及靜態(tài)信息,該信息通過(guò)定時(shí)獲取、更新遞交給上層,并可由計(jì)算服務(wù)器、調(diào)度器、卷控制器、網(wǎng)絡(luò)、隊(duì)列和控制面板共享相關(guān)狀態(tài),基于不同的狀態(tài)信息完成相應(yīng)的業(yè)務(wù)處理;另外開(kāi)發(fā)者通過(guò)API獲得構(gòu)建SDN應(yīng)用程序所需的計(jì)算資源,管理員和用戶通過(guò)Web接口訪問(wèn)計(jì)算資源。
3.根據(jù)權(quán)利要求1所述的一種SDN應(yīng)用集成開(kāi)發(fā)環(huán)境的設(shè)計(jì)方法,其特征在于:核心仿真層,由用戶代碼層、仿真層和仿真引擎組成,向用戶圖形界面提供一個(gè)自足的支持?jǐn)?shù)據(jù)中心、服務(wù)代理人、調(diào)度和分配測(cè)量的平臺(tái),將來(lái)自基礎(chǔ)資源服務(wù)層的基礎(chǔ)資源進(jìn)行建模與仿真,交給虛擬化引擎;仿真層對(duì)基于云計(jì)算虛擬數(shù)據(jù)中心環(huán)境提供了建模和仿真,包括為虛擬機(jī)管理專(zhuān)用接口,內(nèi)存,存儲(chǔ)和帶寬,該層主要處理的問(wèn)題包括:虛擬機(jī)分配到主機(jī)的調(diào)度,管理程序的執(zhí)行和檢測(cè)系統(tǒng)的動(dòng)態(tài)狀態(tài);用戶代碼層則公開(kāi)主機(jī)實(shí)體、應(yīng)用程序、虛擬機(jī)、用戶數(shù)量及其應(yīng)用類(lèi)型,以及代理調(diào)度策略給主機(jī)。
4.根據(jù)權(quán)利要求1所述的一種SDN應(yīng)用集成開(kāi)發(fā)環(huán)境的設(shè)計(jì)方法,其特征在于:用戶圖形界面為用戶提供了一個(gè)可視化的操作界面,提供SDN應(yīng)用軟件代碼的編輯、編譯、鏈接和執(zhí)行; 將基礎(chǔ)資源服務(wù)層、核心仿真層對(duì)應(yīng)的軟件提供的API進(jìn)行相應(yīng)的調(diào)用,最后將各個(gè)功能對(duì)應(yīng)到相應(yīng)的按鈕中。
5.根據(jù)權(quán)利要求1所述的一種SDN應(yīng)用集成開(kāi)發(fā)環(huán)境的設(shè)計(jì)方法,其特征在于:所述的當(dāng)用戶圖形界面有任務(wù)時(shí),將任務(wù)下達(dá)給核心仿真層,核心仿真層則調(diào)用基礎(chǔ)資源服務(wù)層的資源,進(jìn)行匯總,然后將所需的信息上傳給上層:首先基礎(chǔ)資源服務(wù)層獲取網(wǎng)絡(luò)中內(nèi)存、存儲(chǔ)、網(wǎng)絡(luò)設(shè)備和計(jì)算資源信息,并且這些資源信息實(shí)時(shí)獲取,放入緩存區(qū),定期進(jìn)行更新,一旦上層核心仿真層需要該資源信息時(shí),可通過(guò)調(diào)用基礎(chǔ)資源服務(wù)層的API獲取相應(yīng)的資源信息;核心仿真層根據(jù)這些資源,進(jìn)行仿真,包括數(shù)據(jù)中心、網(wǎng)絡(luò)拓?fù)?、?gòu)建及分配VM、動(dòng)態(tài)工作負(fù)載、數(shù)據(jù)中心能耗和創(chuàng)建實(shí)體建模;當(dāng)用戶或開(kāi)發(fā)者在用戶圖形界面工作時(shí),即完成代碼編輯后,進(jìn)行編譯、鏈接和執(zhí)行動(dòng)作,通過(guò)調(diào)用下層核心仿真層的接口,得到需要的數(shù)據(jù);通過(guò)各層之間的協(xié)作,完成圖形界面層下達(dá)的任務(wù)。
【文檔編號(hào)】G06F9/44GK103955373SQ201410185465
【公開(kāi)日】2014年7月30日 申請(qǐng)日期:2014年4月30日 優(yōu)先權(quán)日:2014年4月30日
【發(fā)明者】諸葛斌, 王偉明, 王保霞, 代游 申請(qǐng)人:浙江工商大學(xué)