两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

業(yè)務鏈資源調度方法和裝置與流程

文檔序號:11138498閱讀:1465來源:國知局
業(yè)務鏈資源調度方法和裝置與制造工藝
本發(fā)明涉及數(shù)據(jù)通信領域,特別涉及一種業(yè)務鏈資源調度方法和裝置。
背景技術
:業(yè)務鏈是NFV(NetworkFunctionVirtualization,網(wǎng)絡功能虛擬化)技術的一個熱點應用場景。目前業(yè)務鏈組網(wǎng)方式比較靈活—有串形、星形和混合型。由于業(yè)務鏈部署與拓撲存在強相關性,不同的組網(wǎng)方式將導致不同的業(yè)務鏈部署方式。業(yè)務鏈資源調度涉及很多因素:是功能網(wǎng)元提前預置還是由客戶臨時觸發(fā)配置;多個設備運行同一功能網(wǎng)元時,應該選擇哪一個設備服務用戶等。目前的業(yè)務鏈資源調度算法有RoundRobin(輪詢),LeastLoad(最小負載)和Random(隨機),總體比較簡單,對資源使用不夠充分,尤其是,在串形組網(wǎng)方式下會導致路徑折返問題,造成服務器間鏈路帶寬資源浪費。技術實現(xiàn)要素:鑒于以上技術問題,本發(fā)明提供了一種業(yè)務鏈資源調度方法和裝置,實現(xiàn)了業(yè)務鏈路徑的優(yōu)化選擇。根據(jù)本發(fā)明的一個方面,提供一種業(yè)務鏈資源調度方法,包括:獲取用戶的業(yè)務鏈需求信息,其中,業(yè)務鏈需求信息包括需求功能網(wǎng)元、以及需求功能網(wǎng)元的通過順序;根據(jù)需求功能網(wǎng)元的通過順序確定所有可行路徑;獲取所有可行路徑的路徑長度以及路徑接待用戶數(shù);根據(jù)所有可行路徑的路徑長度以及路徑接待用戶數(shù),從所有可行 路徑中選擇用戶的業(yè)務鏈路徑。在本發(fā)明的一個實施例中,在獲取用戶的業(yè)務鏈需求信息的步驟之后,所述方法還包括:判斷當前業(yè)務鏈上需求功能網(wǎng)元對應的資源是否足夠;若當前業(yè)務鏈上需求功能網(wǎng)元對應的資源足夠,則執(zhí)行根據(jù)需求功能網(wǎng)元的通過順序確定所有可行路徑的步驟;若當前業(yè)務鏈上需求功能網(wǎng)元對應的資源不足,則開啟新的虛擬機并安裝新的需求功能網(wǎng)元,之后執(zhí)行根據(jù)需求功能網(wǎng)元的通過順序確定所有可行路徑的步驟。在本發(fā)明的一個實施例中,根據(jù)所有可行路徑的路徑長度以及路徑接待用戶數(shù),從所有可行路徑中選擇用戶的業(yè)務鏈路徑的步驟包括:根據(jù)所有可行路徑的路徑長度,判斷所有可行路徑中是否存在不折返路徑;若所有可行路徑中存在不折返路徑,則選擇不折返路徑中路徑接待用戶數(shù)最多的路徑作為用戶的業(yè)務鏈路徑。在本發(fā)明的一個實施例中,根據(jù)所有可行路徑的路徑長度以及路徑接待用戶數(shù),從所有可行路徑中選擇用戶的業(yè)務鏈路徑的步驟還包括:若所有可行路徑中不存在不折返路徑,則對可行路徑進行糾正以確定用戶的業(yè)務鏈路徑。在本發(fā)明的一個實施例中,對可行路徑進行糾正以確定用戶的業(yè)務鏈路徑的步驟包括:將所有可行路徑,按照路徑長度由短到長的順序進行排序構成第一序列;對于第一序列中路徑長度相同的可行路徑,按照路徑接待用戶數(shù)由多到少的順序排序,將第一序列排序成為第二序列;按照第二序列的順序,通過新增虛擬機的方式,對可行路徑進行路徑糾正,將折返路徑糾正為不折返路徑;若對一條可行路徑的路徑糾正成功,則停止對后續(xù)可行路徑的糾 正,并選擇被糾正路徑作為業(yè)務鏈路徑;若對所有可行路徑的路徑糾正均失敗,則將第二序列中的第一條作為用戶的業(yè)務鏈路徑。在本發(fā)明的一個實施例中,通過新增虛擬機的方式,對可行路徑進行路徑糾正,將折返路徑糾正為不折返路徑的步驟包括:確定新增虛擬機的服務器,其中,所述服務器的確定過程滿足兩個約束條件:新增的虛擬機個數(shù)最少;在能夠新增虛擬機的服務器中,選擇當前虛擬機數(shù)最少的服務器;在所述服務器上新增虛擬機,以便將折返路徑糾正為不折返路徑。在本發(fā)明的一個實施例中,獲取所有可行路徑的路徑接待用戶數(shù)的步驟包括:根據(jù)用戶對虛擬機CPU和內存資源的平均消耗量,以及每個虛擬機CPU和內存的剩余資源量,獲取每個虛擬機的CPU接待用戶數(shù)和內存接待用戶數(shù);對CPU接待用戶數(shù)和內存接待用戶數(shù)求最小值,獲得每個虛擬機的接待用戶數(shù);對每一可行路徑中涉及的虛擬機的接待用戶數(shù)求最小值,獲得該可行路徑的路徑接待用戶數(shù)。在本發(fā)明的一個實施例中,所述方法還包括:判斷串行組網(wǎng)設備上是否預置有虛擬功能網(wǎng)元;若串行組網(wǎng)設備上預置有虛擬功能網(wǎng)元,則執(zhí)行獲取用戶的業(yè)務鏈需求信息的步驟;若串行組網(wǎng)設備上沒有預置虛擬功能網(wǎng)元,則根據(jù)每個虛擬功能網(wǎng)元的需求占比由高到低的順序,依次在不同服務器上放置一個虛擬功能網(wǎng)元,之后執(zhí)行獲取用戶的業(yè)務鏈需求信息的步驟。根據(jù)本發(fā)明的另一方面,提供一種業(yè)務鏈資源調度裝置,包括需求獲取模塊、路徑初選模塊、參數(shù)獲取模塊和路徑確定模塊,其中:需求獲取模塊,用于獲取用戶的業(yè)務鏈需求信息,所述業(yè)務鏈需求信息包括需求功能網(wǎng)元、以及所述需求功能網(wǎng)元的通過順序;路徑初選模塊,用于根據(jù)需求功能網(wǎng)元的通過順序確定所有可行路徑;參數(shù)獲取模塊,用于獲取所有可行路徑的路徑長度以及路徑接待用戶數(shù);路徑確定模塊,用于根據(jù)所有可行路徑的路徑長度以及路徑接待用戶數(shù),從所有可行路徑中選擇用戶的業(yè)務鏈路徑。在本發(fā)明的一個實施例中,所述裝置還包括資源檢查模塊和資源新增模塊,其中:資源檢查模塊,用于判斷當前業(yè)務鏈上需求功能網(wǎng)元對應的資源是否足夠;并在當前業(yè)務鏈上需求功能網(wǎng)元對應的資源足夠時,指示路徑初選模塊執(zhí)行根據(jù)需求功能網(wǎng)元的通過順序確定所有可行路徑的操作;資源新增模塊,用于根據(jù)資源檢查模塊的判斷結果,在當前業(yè)務鏈上需求功能網(wǎng)元對應的資源不足時,開啟新的虛擬機并安裝新的需求功能網(wǎng)元,之后指示路徑初選模塊執(zhí)行根據(jù)需求功能網(wǎng)元的通過順序確定所有可行路徑的操作。在本發(fā)明的一個實施例中,路徑確定模塊包括識別子模塊和路徑選擇子模塊,其中:識別子模塊,用于根據(jù)所有可行路徑的路徑長度,判斷所有可行路徑中是否存在不折返路徑;路徑選擇子模塊,用于根據(jù)識別子模塊的判斷結果,在所有可行路徑中存在不折返路徑時,選擇不折返路徑中路徑接待用戶數(shù)最多的路徑作為用戶的業(yè)務鏈路徑。在本發(fā)明的一個實施例中,路徑確定模塊還包括路徑糾正子模塊,其中:路徑糾正子模塊,用于根據(jù)識別子模塊的判斷結果,在所有可行路徑中不存在不折返路徑時,對可行路徑進行糾正以確定用戶的業(yè)務鏈路徑。在本發(fā)明的一個實施例中,路徑糾正子模塊包括第一排序單元、 第二排序單元、路徑糾正單元和路徑確定單元,其中:第一排序單元,用于將所有可行路徑,按照路徑長度由短到長的順序進行排序構成第一序列;第二排序單元,用于對于第一序列中路徑長度相同的可行路徑,按照路徑接待用戶數(shù)由多到少的順序排序,將第一序列排序成為第二序列;路徑糾正單元,用于按照第二序列的順序,通過新增虛擬機的方式,對可行路徑進行路徑糾正,將折返路徑糾正為不折返路徑;路徑確定單元,用于在路徑糾正單元對一條可行路徑的路徑糾正成功時,停止對后續(xù)可行路徑的糾正,并選擇被糾正路徑作為業(yè)務鏈路徑;以及在路徑糾正單元對所有可行路徑的路徑糾正均失敗時,將第二序列中的第一條作為用戶的業(yè)務鏈路徑。在本發(fā)明的一個實施例中,路徑糾正單元包括位置確定子單元和路徑糾正子單元,其中:位置確定子單元,用于確定新增虛擬機的服務器,其中,所述服務器的確定過程滿足兩個約束條件:新增的虛擬機個數(shù)最少;在能夠新增虛擬機的服務器中,選擇當前虛擬機數(shù)最少的服務器;路徑糾正子單元,用于在位置確定子單元確定的服務器上新增虛擬機,以便將折返路徑糾正為不折返路徑。在本發(fā)明的一個實施例中,參數(shù)獲取模塊在獲取所有可行路徑的路徑接待用戶數(shù)時,用于根據(jù)用戶對虛擬機CPU和內存資源的平均消耗量,以及每個虛擬機CPU和內存的剩余資源量,獲取每個虛擬機的CPU接待用戶數(shù)和內存接待用戶數(shù);對CPU接待用戶數(shù)和內存接待用戶數(shù)求最小值,獲得每個虛擬機的接待用戶數(shù);并對每一可行路徑中涉及的虛擬機的接待用戶數(shù)求最小值,獲得該可行路徑的路徑接待用戶數(shù)。在本發(fā)明的一個實施例中,所述裝置還包括識別模塊和網(wǎng)元預置模塊,其中:識別模塊,用于判斷串行組網(wǎng)設備上是否預置有虛擬功能網(wǎng)元; 并在串行組網(wǎng)設備上預置有虛擬功能網(wǎng)元時,指示需求獲取模塊執(zhí)行獲取用戶的業(yè)務鏈需求信息的操作;網(wǎng)元預置模塊,用于根據(jù)識別模塊的判斷結果,在串行組網(wǎng)設備上沒有預置虛擬功能網(wǎng)元時,根據(jù)每個虛擬功能網(wǎng)元的需求占比由高到低的順序,依次在不同服務器上放置一個虛擬功能網(wǎng)元,之后指示需求獲取模塊執(zhí)行獲取用戶的業(yè)務鏈需求信息的操作。本發(fā)明考慮了多重資源優(yōu)化,對虛擬機CPU、虛擬機內存和服務器間鏈路帶寬三種資源進行了優(yōu)化使用,并從整條路徑的角度進行負載均衡,從而實現(xiàn)了更優(yōu)的業(yè)務鏈路徑選擇。附圖說明為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術中的技術方案,下面將對實施例或現(xiàn)有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖1為本發(fā)明業(yè)務鏈資源調度方法一個實施例的示意圖。圖2為本發(fā)明一個實施例中獲取路徑接待用戶數(shù)的示意圖。圖3為本發(fā)明一個實施例中從可行路徑中選擇業(yè)務鏈路徑的示意圖。圖4為本發(fā)明一個實施例中對折返路徑進行糾正以確定業(yè)務鏈路徑的示意圖。圖5為本發(fā)明業(yè)務鏈資源調度方法另一實施例的示意圖。圖6為本發(fā)明一個實施例中網(wǎng)元初始化放置的示意圖。圖7為本發(fā)明一個實施例中選擇服務器以新增虛擬機的示意圖。圖8為本發(fā)明一個實施例中新增虛擬機后的示意圖。圖9為本發(fā)明業(yè)務鏈資源調度裝置一個實施例的示意圖。圖10為本發(fā)明一個實施例中路徑確定模塊的示意圖。圖11為本發(fā)明一個實施例中路徑糾正子模塊的示意圖。圖12為本發(fā)明業(yè)務鏈資源調度裝置另一實施例的示意圖。圖13為本發(fā)明第一具體實施例的網(wǎng)絡資源示意圖。圖14為本發(fā)明第二具體實施例的網(wǎng)絡資源示意圖。圖15為本發(fā)明第二具體實施例中路徑糾正后的網(wǎng)絡資源示意圖。具體實施方式下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例。以下對至少一個示例性實施例的描述實際上僅僅是說明性的,決不作為對本發(fā)明及其應用或使用的任何限制?;诒景l(fā)明中的實施例,本領域普通技術人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。除非另外具體說明,否則在這些實施例中闡述的部件和步驟的相對布置、數(shù)字表達式和數(shù)值不限制本發(fā)明的范圍。同時,應當明白,為了便于描述,附圖中所示出的各個部分的尺寸并不是按照實際的比例關系繪制的。對于相關領域普通技術人員已知的技術、方法和設備可能不作詳細討論,但在適當情況下,所述技術、方法和設備應當被視為授權說明書的一部分。在這里示出和討論的所有示例中,任何具體值應被解釋為僅僅是示例性的,而不是作為限制。因此,示例性實施例的其它示例可以具有不同的值。應注意到:相似的標號和字母在下面的附圖中表示類似項,因此,一旦某一項在一個附圖中被定義,則在隨后的附圖中不需要對其進行進一步討論。圖1為本發(fā)明業(yè)務鏈資源調度方法一個實施例的示意圖。優(yōu)選的,本實施例可由本發(fā)明業(yè)務鏈資源調度裝置執(zhí)行。該方法包括以下步驟:步驟101,獲取用戶的業(yè)務鏈需求信息,其中,業(yè)務鏈需求信息包括需求功能網(wǎng)元、以及需求功能網(wǎng)元的通過順序。本發(fā)明針對單個用戶進行服務,每來一個用戶就進行一次選路計 算。每個用戶都有需求功能網(wǎng)元(必須通過的功能網(wǎng)元)和固定的通過順序,因此一個用戶對應一條業(yè)務鏈需求信息,網(wǎng)絡需要為用戶選擇一條業(yè)務鏈路徑。在本發(fā)明的一個實施例中,用戶的需求功能網(wǎng)元可以包括DPI(DeepPacketInspection,深度包檢測)、FW(Firewall,防火墻)和NAT(NetworkAddressTranslation,網(wǎng)絡地址轉換)等虛擬功能單元。需求功能網(wǎng)元的通過順序可以為:DPI->FW->NAT。步驟102,根據(jù)需求功能網(wǎng)元的通過順序,遍歷當前網(wǎng)絡服務器中擁有需求功能網(wǎng)元的虛擬機,確定所有可行路徑。步驟103,獲取所有可行路徑的路徑長度以及路徑接待用戶數(shù)。在本發(fā)明的一個實施例中,如圖2所示,圖1的步驟103中,獲取所有可行路徑的路徑接待用戶數(shù)的步驟可以包括:步驟201,根據(jù)用戶對虛擬機CPU和內存資源的平均消耗量,以及每個虛擬機CPU和內存的剩余資源量,通過下面公式獲取每個虛擬機的CPU接待用戶數(shù)和內存接待用戶數(shù):CPU接待用戶數(shù)=VM的CPU剩余資源/用戶對VMCPU資源的平均消耗量;內存接待用戶數(shù)=VM內存剩余資源/用戶對VM內存資源的平均消耗量。步驟202,對CPU接待用戶數(shù)和內存接待用戶數(shù)求最小值,獲得每個虛擬機VM的接待用戶數(shù)。即,虛擬機接待用戶數(shù)=Min(CPU接待數(shù),內存接待數(shù))。步驟203,對每一可行路徑中涉及的虛擬機的接待用戶數(shù)求最小值,獲得該可行路徑的路徑接待用戶數(shù)。假設一條可行路徑中涉及n個虛擬機,則:路徑接待用戶數(shù)=Min(VM1接待用戶數(shù),…,VMn接待用戶數(shù))。步驟104,根據(jù)所有可行路徑的路徑長度以及路徑接待用戶數(shù),從所有可行路徑中選擇用戶的業(yè)務鏈路徑。在本發(fā)明的一個實施例中,如圖3所示,圖1中的步驟104可以 包括:步驟301,根據(jù)所有可行路徑的路徑長度,判斷所有可行路徑中是否存在不折返路徑。若所有可行路徑中存在不折返路徑,則執(zhí)行步驟302;否則,若所有可行路徑中不存在不折返路徑,則執(zhí)行步驟303。在本發(fā)明的一個實施例中,在串形組網(wǎng)方式下,不折返路徑長度固定等于一個恒定值(服務器個數(shù)+1),因此大于此恒定值的路徑必然為折返路徑。步驟302,選擇不折返路徑中路徑接待用戶數(shù)最多的路徑作為用戶的業(yè)務鏈路徑,之后不再執(zhí)行本實施例的其它步驟。步驟303,對可行路徑進行糾正以確定用戶的業(yè)務鏈路徑。在本發(fā)明的一個實施例中,如圖4所示,圖3中的步驟303可以包括:步驟401,將所有可行路徑,按照路徑長度由短到長的順序進行排序構成第一序列。步驟402,對于第一序列中路徑長度相同的可行路徑,按照路徑接待用戶數(shù)由多到少的順序排序,將第一序列排序成為第二序列。步驟403,按照第二序列的順序,通過新增虛擬機的方式,對每一條可行路徑(折返路徑)進行路徑糾正。在本發(fā)明的一個實施例中,步驟403具體可以包括:確定新增虛擬機的服務器;以及在所述服務器上新增虛擬機,以便將折返路徑糾正為不折返路徑。其中,確定在哪個服務器server上新增虛擬機時,需滿足以下兩個約束條件:1、新增的VM個數(shù)要最少;2、在可以新增VM的server中,選擇當前VM數(shù)最少的server。步驟404,若對一條可行路徑的路徑糾正成功,則停止對后續(xù)可行路徑的糾正,并選擇被糾正路徑作為業(yè)務鏈路徑。步驟405,若對所有可行路徑的路徑糾正均失敗,則將第二序列中的第一條可行路徑(路徑長度最短)作為用戶的業(yè)務鏈路徑?;诒景l(fā)明上述實施例提供的業(yè)務鏈資源調度裝置,通過路徑長度判定可行路徑是否折返,并通過新增虛擬機來糾正折返路徑。由此, 本發(fā)明可以有效防止業(yè)務鏈路徑折返,從而有效解決了路徑折返帶來的服務器間鏈路帶寬資源的浪費。同時,本發(fā)明上述實施例根據(jù)所有可行路徑的路徑長度以及路徑接待用戶數(shù)選擇最終的業(yè)務連路徑,考慮了多重資源優(yōu)化,其中,本發(fā)明通過路徑接待用戶數(shù)考慮了虛擬機CPU資源和虛擬機內存資源,通過糾正路徑折返考慮了服務器間鏈路帶寬資源。因此,本發(fā)明上述實施例綜合考慮了虛擬機資源和帶寬資源,實現(xiàn)了對虛擬機CPU、虛擬機內存和服務器間鏈路帶寬三種資源的優(yōu)化使用;并從整條路徑的角度進行負載均衡,實現(xiàn)了物理服務器和VM的負載均衡,從而實現(xiàn)了更優(yōu)的業(yè)務鏈路徑選擇。在本發(fā)明的一個實施例中,在步驟101之前,所述方法還可以包括:用戶到來前,在串形組網(wǎng)設備上預置各個虛擬功能網(wǎng)元。其中,在串形組網(wǎng)設備上預置各個虛擬功能網(wǎng)元的步驟具體可以包括:通過歷史數(shù)據(jù)或者經(jīng)驗值推斷每個功能網(wǎng)元的需求占比;并按占比由大到小的順序依次在不同服務器上放置一個網(wǎng)元。由此,本發(fā)明提供了一套簡單合理的虛擬功能網(wǎng)元初始化方案,這是現(xiàn)有方法不具有的。圖5為本發(fā)明業(yè)務鏈資源調度方法另一實施例的示意圖。優(yōu)選的,本實施例可由本發(fā)明業(yè)務鏈資源調度裝置執(zhí)行。本實施例中的步驟503、步驟506-步驟508分別與圖1所示實施例中的步驟101-步驟104相同或相似,下面不再對步驟503、步驟506-步驟508進行詳述。該方法包括以下步驟:步驟501,判斷串行組網(wǎng)設備上是否預置有虛擬功能網(wǎng)元。若串行組網(wǎng)設備上預置有虛擬功能網(wǎng)元,則執(zhí)行步驟503;否則,若串行組網(wǎng)設備上沒有預置虛擬功能網(wǎng)元,則執(zhí)行步驟502。步驟502,根據(jù)每個虛擬功能網(wǎng)元的需求占比由高到低的順序,依次在不同服務器上放置一個虛擬功能網(wǎng)元。在本發(fā)明的一個實施例中,步驟502可以包括:通過歷史數(shù)據(jù)或者經(jīng)驗值推斷每個功能網(wǎng)元的需求占比;并按占比由大到小的順序依次在不同服務器上放置一個網(wǎng)元。假設DPI、FW、NAT三個功能網(wǎng)元的 需求占比依次減小,則可以按照圖6所示的實施例的設置方式,在服務器1上開啟DPI1,在服務器2上開啟FW1,在服務器3上開啟NAT1。步驟503,獲取用戶的業(yè)務鏈需求信息,其中,業(yè)務鏈需求信息包括需求功能網(wǎng)元、以及需求功能網(wǎng)元的通過順序。步驟504,判斷當前業(yè)務鏈上需求功能網(wǎng)元對應的資源是否足夠。若當前業(yè)務鏈上需求功能網(wǎng)元對應的資源足夠,則執(zhí)行步驟506;否則,若當前業(yè)務鏈上需求功能網(wǎng)元對應的資源不足,則執(zhí)行步驟505。步驟505,開啟新的虛擬機并安裝新的需求功能網(wǎng)元,之后執(zhí)行步驟506。新增VM的具體流程如附圖7所示,該圖說明了應該選擇哪臺服務器承載新增的VM。在本發(fā)明的一個實施例中,假設每臺服務器上能夠開啟的VM個數(shù)有限。如圖7所示,新增VM的具體流程可以包括:步驟701,判斷本地服務器的虛擬機數(shù)量是否達到上限,其中本地服務器指的是包含某一用戶的需求功能網(wǎng)元(例如DPI)、但是該功能網(wǎng)元對應的資源不足的服務器。若判斷本地服務器的虛擬機數(shù)量達到上限,則執(zhí)行步驟703;否則,若判斷本地服務器的虛擬機數(shù)量未達到上限,則執(zhí)行步驟702。步驟702,在本地服務器新增虛擬機,并按照新的需求功能網(wǎng)元。若本地服務器有多個,則選擇在現(xiàn)有虛擬機數(shù)量少的本地服務器上新增虛擬機。在本發(fā)明的一個實施例中,如圖8所示,若服務器1(本地服務器)上的需求功能網(wǎng)元DPI1資源不足,則在服務器1上新增虛擬機VM2并按照新的需求功能網(wǎng)元DPI2。在本發(fā)明的另一實施例中,如圖13所示,假設服務器3上的需求功能網(wǎng)元NAT1和服務器4上的需求功能網(wǎng)元NAT2均資源不足,由于服務器4上現(xiàn)有虛擬機數(shù)量少于服務器3,因此在服務器4上新增虛擬機VM2并按照新的需求功能網(wǎng)元NAT3。步驟703,判斷鄰居服務器(與本地服務器相鄰的服務器)的虛擬機數(shù)量是否達到上限,若判斷鄰居服務器的虛擬機數(shù)量達到上限, 則執(zhí)行步驟705;否則,若判斷鄰居服務器的虛擬機數(shù)量未達到上限,則執(zhí)行步驟704。步驟704,在鄰居服務器新增虛擬機,并按照新的需求功能網(wǎng)元。若鄰居服務器有多個,則選擇在現(xiàn)有虛擬機數(shù)量少的鄰居服務器上新增虛擬機。步驟705,判斷其它服務器(除本地服務器和零件服務器外的服務器)的虛擬機數(shù)量是否達到上限,若其它服務器的虛擬機數(shù)量達到上限,則執(zhí)行步驟706;否則,若判斷其它服務器的虛擬機數(shù)量未達到上限,則執(zhí)行步驟707。步驟706,無法新增虛擬機,當前鏈路無法滿足用戶需求,之后步驟執(zhí)行本實施例的其它步驟。步驟707,在其它服務器新增虛擬機,并按照新的需求功能網(wǎng)元。優(yōu)選在鄰近服務器(距離本地服務器較近的服務器)上開新的虛擬機。步驟506,根據(jù)需求功能網(wǎng)元的通過順序,遍歷當前網(wǎng)絡服務器中擁有需求功能網(wǎng)元的虛擬機,確定所有可行路徑。步驟507,獲取所有可行路徑的路徑長度以及路徑接待用戶數(shù)。步驟508,根據(jù)所有可行路徑的路徑長度以及路徑接待用戶數(shù),從所有可行路徑中選擇用戶的業(yè)務鏈路徑。本發(fā)明上述實施例提供了一套簡單合理的功能網(wǎng)元初始化方案,從而解決了現(xiàn)有業(yè)務鏈資源調度方案中,在串行組網(wǎng)設備上沒有預置有虛擬功能網(wǎng)元時,無法進行業(yè)務鏈資源調度的問題。同時,本發(fā)明上述實施例還提供了資源檢查和新增機制,設計了應對資源耗盡情況的資源新增機制,從而得到了良好的資源擴展性,防止了因資源不足造成的丟包或虛機崩潰現(xiàn)象。圖9為本發(fā)明業(yè)務鏈資源調度裝置一個實施例的示意圖。如圖9所示,所述業(yè)務鏈資源調度裝置包括需求獲取模塊100、路徑初選模塊200、參數(shù)獲取模塊300和路徑確定模塊400,其中:需求獲取模塊100,用于獲取用戶的業(yè)務鏈需求信息,所述業(yè)務 鏈需求信息包括需求功能網(wǎng)元、以及所述需求功能網(wǎng)元的通過順序。路徑初選模塊200,用于根據(jù)需求功能網(wǎng)元的通過順序確定所有可行路徑。參數(shù)獲取模塊300,用于獲取所有可行路徑的路徑長度以及路徑接待用戶數(shù)。在本發(fā)明的一個實施例中,參數(shù)獲取模塊300在獲取所有可行路徑的路徑接待用戶數(shù)時,可以用于根據(jù)用戶對虛擬機CPU和內存資源的平均消耗量,以及每個虛擬機CPU和內存的剩余資源量,獲取每個虛擬機的CPU接待用戶數(shù)和內存接待用戶數(shù);對CPU接待用戶數(shù)和內存接待用戶數(shù)求最小值,獲得每個虛擬機的接待用戶數(shù);并對每一可行路徑中涉及的虛擬機的接待用戶數(shù)求最小值,獲得該可行路徑的路徑接待用戶數(shù)。路徑確定模塊400,用于根據(jù)所有可行路徑的路徑長度以及路徑接待用戶數(shù),從所有可行路徑中選擇用戶的業(yè)務鏈路徑。在本發(fā)明的一個實施例中,如圖10所示,圖9中的路徑確定模塊400可以包括識別子模塊410、路徑選擇子模塊420和路徑糾正子模塊430,其中:識別子模塊410,用于根據(jù)所有可行路徑的路徑長度,判斷所有可行路徑中是否存在不折返路徑。路徑選擇子模塊420,用于根據(jù)識別子模塊410的判斷結果,在所有可行路徑中存在不折返路徑時,選擇不折返路徑中路徑接待用戶數(shù)最多的路徑作為用戶的業(yè)務鏈路徑。路徑糾正子模塊430,用于根據(jù)識別子模塊410的判斷結果,在所有可行路徑中不存在不折返路徑時,對可行路徑進行糾正以確定用戶的業(yè)務鏈路徑。在本發(fā)明的一個實施例中,如圖11所示,圖10中的路徑糾正子模塊430可以包括第一排序單元431、第二排序單元432、路徑糾正單元433和路徑確定單元434,其中:第一排序單元431,用于將所有可行路徑,按照路徑長度由短到 長的順序進行排序構成第一序列。第二排序單元432,用于對于第一序列中路徑長度相同的可行路徑,按照路徑接待用戶數(shù)由多到少的順序排序,將第一序列排序成為第二序列。路徑糾正單元433,用于按照第二序列的順序,通過新增虛擬機的方式,對可行路徑進行路徑糾正,將折返路徑糾正為不折返路徑。路徑確定單元434,用于確定最終的業(yè)務鏈路徑。例如:在路徑糾正單元433對一條可行路徑的路徑糾正成功時,路徑確定單元434用于停止對后續(xù)可行路徑的糾正,并選擇被糾正路徑作為業(yè)務鏈路徑;在路徑糾正單元433對所有可行路徑的路徑糾正均失敗時,路徑確定單元434用于將第二序列中的第一條作為用戶的業(yè)務鏈路徑。基于本發(fā)明上述實施例提供的業(yè)務鏈資源調度裝置,通過路徑長度判定可行路徑是否折返,并通過新增虛擬機來糾正折返路徑。由此,本發(fā)明可以有效防止業(yè)務鏈路徑折返,從而有效解決了路徑折返帶來的服務器間鏈路帶寬資源的浪費。同時,本發(fā)明上述實施例根據(jù)所有可行路徑的路徑長度以及路徑接待用戶數(shù)選擇最終的業(yè)務連路徑,考慮了多重資源優(yōu)化,其中,本發(fā)明通過路徑接待用戶數(shù)考慮了虛擬機CPU資源和虛擬機內存資源,通過糾正路徑折返考慮了服務器間鏈路帶寬資源。因此,本發(fā)明上述實施例綜合考慮了虛擬機資源和帶寬資源,實現(xiàn)了對虛擬機CPU、虛擬機內存和服務器間鏈路帶寬三種資源的優(yōu)化使用;并從整條路徑的角度進行負載均衡,實現(xiàn)了物理服務器和VM的負載均衡,從而實現(xiàn)了更優(yōu)的業(yè)務鏈路徑選擇。在本發(fā)明的一個實施例中,路徑糾正單元433可以包括位置確定子單元和路徑糾正子單元,其中:位置確定子單元,用于確定新增虛擬機的服務器,其中,所述服務器的確定過程滿足兩個約束條件:新增的虛擬機個數(shù)最少;在能夠新增虛擬機的服務器中,選擇當前虛擬機數(shù)最少的服務器。路徑糾正子單元,用于在位置確定子單元確定的服務器上新增虛 擬機,以便將折返路徑糾正為不折返路徑。圖12為本發(fā)明業(yè)務鏈資源調度裝置另一實施例的示意圖。與圖9所示的實施例相比,在圖12所示的實施例中,所述裝置還可以包括識別模塊500和網(wǎng)元預置模塊600,其中:識別模塊500,用于判斷串行組網(wǎng)設備上是否預置有虛擬功能網(wǎng)元;并在串行組網(wǎng)設備上預置有虛擬功能網(wǎng)元時,指示需求獲取模塊100執(zhí)行獲取用戶的業(yè)務鏈需求信息的操作。網(wǎng)元預置模塊600,用于根據(jù)識別模塊500的判斷結果,在串行組網(wǎng)設備上沒有預置虛擬功能網(wǎng)元時,根據(jù)每個虛擬功能網(wǎng)元的需求占比由高到低的順序,依次在不同服務器上放置一個虛擬功能網(wǎng)元,之后指示需求獲取模塊100執(zhí)行獲取用戶的業(yè)務鏈需求信息的操作。本發(fā)明上述實施例提供了一套簡單合理的功能網(wǎng)元初始化方案,從而解決了現(xiàn)有業(yè)務鏈資源調度方案中,在串行組網(wǎng)設備上沒有預置有虛擬功能網(wǎng)元時,無法進行業(yè)務鏈資源調度的問題。在本發(fā)明的一個實施例中,如圖12所示,所述裝置還可以包括資源檢查模塊700和資源新增模塊800,其中:資源檢查模塊700,用于判斷當前業(yè)務鏈上需求功能網(wǎng)元對應的資源是否足夠;并在當前業(yè)務鏈上需求功能網(wǎng)元對應的資源足夠時,指示路徑初選模塊200執(zhí)行根據(jù)需求功能網(wǎng)元的通過順序確定所有可行路徑的操作。資源新增模塊800,用于根據(jù)資源檢查模塊700的判斷結果,在當前業(yè)務鏈上需求功能網(wǎng)元對應的資源不足時,開啟新的虛擬機并安裝新的需求功能網(wǎng)元,之后指示路徑初選模塊200執(zhí)行根據(jù)需求功能網(wǎng)元的通過順序確定所有可行路徑的操作。本發(fā)明上述實施例提供了資源檢查和新增機制,設計了應對資源耗盡情況的資源新增機制,從而得到了良好的資源擴展性,防止了因資源不足造成的丟包或虛機崩潰現(xiàn)象。下面通過具體示例對本發(fā)明進行說明:第一具體實施例:圖13為本發(fā)明第一具體實施例的網(wǎng)絡資源示意圖。如圖13所示,該實施例中串行組網(wǎng)設備上已經(jīng)預置有虛擬功能單元,所以無需進行網(wǎng)絡功能初始化操作。本實施例的業(yè)務鏈資源調度方法具體包括:步驟1.獲取用戶的業(yè)務鏈需求信息。其中,需求功能網(wǎng)元的通過順序為:DPI->FW->NAT。附圖13中標出了每個VM的目前CPU和內存使用率,假設用戶對虛擬功能網(wǎng)元的資源平均消耗量如下表所示:DPIFWNATCPU0.3%0.2%0.15%內存0.25%0.1%0.1%步驟2.資源檢查。比較圖13中每個VM的目前CPU和內存使用率,以及上表中虛擬功能網(wǎng)元的資源平均消耗量,可得目前DPI,F(xiàn)W和NAT均有資源。步驟3.列出所有可行路徑,并計算路徑長度。路徑編號路徑長度1DPI2->FW3->NAT152DPI3->FW3->NAT17(折返)3DPI2->FW1->NAT154DPI3->FW1->NAT155DPI2->FW4->NAT156DPI3->FW4->NAT15步驟4.計算路徑能接待的用戶數(shù)路徑可接待用戶數(shù)為:路徑編號路徑接待用戶數(shù)1DPI2->FW3->NAT11163DPI2->FW1->NAT11004DPI3->FW1->NAT11005DPI2->FW4->NAT11166DPI3->FW4->NAT1100步驟5.按照路徑接待用戶數(shù)由多到少的順序排序,若路徑接待用戶數(shù)最多的路徑存在多條(例如上表中的路徑1和路徑5),則隨機選擇一條作為業(yè)務鏈路徑。輸出業(yè)務鏈路徑:DPI2->FW3->NAT1。具體實施例2:圖14為本發(fā)明第二具體實施例的網(wǎng)絡資源示意圖。如圖14所示,該實施例中串行組網(wǎng)設備上已經(jīng)預置有虛擬功能單元,所以無需進行網(wǎng)絡功能初始化操作。本實施例的業(yè)務鏈資源調度方法具體包括:步驟1.獲取用戶的業(yè)務鏈需求信息。其中,需求功能網(wǎng)元的通過順序為:DPI->NAT->FW附圖14中標出了每個VM的目前CPU和內存使用率,假設用戶對虛擬功能網(wǎng)元的資源平均消耗量如下表所示:DPIFWNATCPU0.3%0.2%0.15%內存0.25%0.1%0.1%步驟2.資源檢查。比較圖13中每個VM的目前CPU和內存使用率,以及上表中虛擬功能網(wǎng)元的資源平均消耗量,可得目前DPI,F(xiàn)W和NAT均有資源。步驟3.列出所有可行路徑,并計算長度。路徑編號路徑長度1DPI3->NAT1->FW29(折返)2DPI3->NAT2->FW211(折返)3DPI3->NAT1->FW39(折返)4DPI3->NAT2->FW311(折返)步驟4.計算路徑能接待的用戶數(shù)路徑可接待用戶數(shù)為:路徑編號路徑長度接待用戶數(shù)1DPI3->NAT1->FW29402DPI3->NAT2->FW211403DPI3->NAT1->FW39204DPI3->NAT2->FW31120按照路徑長度由小到大,接待用戶數(shù)由多到少的順序排序,若相同長度的路徑接待用戶數(shù)也相同,則隨機排序。路徑編號路徑長度接待用戶數(shù)1DPI3->NAT1->FW29403DPI3->NAT1->FW39202DPI3->NAT2->FW211404DPI3->NAT2->FW31120步驟5.從路徑1開始進行折返糾正。如圖14所示,本實施例采用以下三種方案均可以實現(xiàn)路徑1的折返糾正:1、在服務器3上新增VM放置FW網(wǎng)元FW5便能解決路徑折返問題,構成業(yè)務鏈路徑:DPI3->NAT1->FW5。2、在服務器4上新增VM放置FW網(wǎng)元FW5便能解決路徑折返問題,構成業(yè)務鏈路徑:DPI3->NAT1->FW5。3、在服務器1上新增VM放置網(wǎng)元DPI4和NAT3也能解決路徑折返問題,構成業(yè)務鏈路徑:DPI4->NAT3->FW2。但是,考慮到路徑糾正的兩個約束條件:首先,新增的VM個數(shù)要最少,方案1、2中需新增1個VM,方案3需新增2個VM,因此排除方案3。同時,根據(jù)在可以新增VM的server中,選擇當前VM數(shù)最少的server的約束條件,如圖14所示,服務器3的當前VM數(shù)為2,服務器4的當前VM數(shù)為1。因此,選擇方案2,如圖15所示,在服務器4上新增VM放置FW網(wǎng)元FW5進行路徑折返糾正,輸出業(yè)務鏈路徑:DPI3->NAT1->FW5。在上面所描述的業(yè)務鏈資源調度裝置可以實現(xiàn)為用于執(zhí)行本發(fā)明所描述功能的通用處理器、可編程邏輯控制器(PLC)、數(shù)字信號處理器(DSP)、專用集成電路(ASIC)、現(xiàn)場可編程門陣列(FPGA)或者其他可編程邏輯器件、分立門或者晶體管邏輯器件、分立硬件組件或者其任意適當組合。至此,已經(jīng)詳細描述了本發(fā)明。為了避免遮蔽本發(fā)明的構思,沒有描述本領域所公知的一些細節(jié)。本領域技術人員根據(jù)上面的描述,完全 可以明白如何實施這里公開的技術方案。本領域普通技術人員可以理解實現(xiàn)上述實施例的全部或部分步驟可以通過硬件來完成,也可以通過程序來指令相關的硬件完成,所述的程序可以存儲于一種計算機可讀存儲介質中,上述提到的存儲介質可以是只讀存儲器,磁盤或光盤等。本發(fā)明的描述是為了示例和描述起見而給出的,而并不是無遺漏的或者將本發(fā)明限于所公開的形式。很多修改和變化對于本領域的普通技術人員而言是顯然的。選擇和描述實施例是為了更好說明本發(fā)明的原理和實際應用,并且使本領域的普通技術人員能夠理解本發(fā)明從而設計適于特定用途的帶有各種修改的各種實施例。當前第1頁1 2 3 
當前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
秭归县| 化隆| 南岸区| 旬邑县| 诸城市| 兴国县| 贵德县| 怀远县| 汨罗市| 西充县| 临潭县| 安远县| 合水县| 玉山县| 买车| 棋牌| 延寿县| 常德市| 丹东市| 从化市| 通化市| 婺源县| 信丰县| 正镶白旗| 德安县| 得荣县| 张家口市| 苏尼特左旗| 平南县| 虹口区| 孝昌县| 宁武县| 乌拉特后旗| 扎鲁特旗| 松江区| 汉中市| 静安区| 会昌县| 延边| 加查县| 崇文区|