本發(fā)明涉及通信技術(shù)領(lǐng)域,尤其涉及一種負(fù)載均衡的方法及裝置。
背景技術(shù):
隨著互聯(lián)網(wǎng)的發(fā)展,基于互聯(lián)網(wǎng)的業(yè)務(wù)數(shù)據(jù)也不斷增加,因此,在業(yè)務(wù)數(shù)據(jù)傳輸以及處理過程中,很可能因業(yè)務(wù)數(shù)據(jù)量較多導(dǎo)致網(wǎng)絡(luò)擁塞,進(jìn)而導(dǎo)致數(shù)據(jù)包丟失。為了減少網(wǎng)絡(luò)擁塞而導(dǎo)致的數(shù)據(jù)包丟失,以提高網(wǎng)絡(luò)的服務(wù)質(zhì)量,現(xiàn)有技術(shù)中,通常采用靜態(tài)的負(fù)載分擔(dān)的方式,通過將業(yè)務(wù)數(shù)據(jù)分擔(dān)到多條鏈路上,來減少每條鏈路上的業(yè)務(wù)數(shù)據(jù)量,從而減少網(wǎng)絡(luò)擁塞導(dǎo)致的數(shù)據(jù)包丟失。
但是,現(xiàn)有的靜態(tài)的負(fù)載分擔(dān)方案中,當(dāng)網(wǎng)絡(luò)環(huán)境發(fā)生變化而導(dǎo)致鏈路的工作狀況發(fā)生變化時(shí),鏈路仍承載固定數(shù)量的業(yè)務(wù)數(shù)據(jù)。例如,預(yù)先設(shè)置每條鏈路承載1000M的業(yè)務(wù)數(shù)據(jù),則當(dāng)網(wǎng)絡(luò)環(huán)境發(fā)生變化后,第一條鏈路的傳輸速率有所提升,能夠承載2000M的業(yè)務(wù)數(shù)據(jù),然而鏈路按照預(yù)設(shè)仍然只承載1000M的業(yè)務(wù)數(shù)據(jù),導(dǎo)致鏈路資源極大的浪費(fèi),而如果網(wǎng)絡(luò)環(huán)境發(fā)生變化后,第一條鏈路的傳輸速率有所下降,只能夠承載500M的業(yè)務(wù)數(shù)據(jù),然而鏈路按照預(yù)設(shè)仍然還需承載1000M的業(yè)務(wù)數(shù)據(jù),此時(shí),就會因業(yè)務(wù)數(shù)據(jù)量較多導(dǎo)致網(wǎng)絡(luò)擁塞,進(jìn)而導(dǎo)致數(shù)據(jù)包丟失。所以現(xiàn)有技術(shù)的方案很可能導(dǎo)致鏈路資源的浪費(fèi)或者鏈路的數(shù)據(jù)包丟失,降低了網(wǎng)絡(luò)服務(wù)質(zhì)量。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明提供一種負(fù)載均衡的方法及裝置,用于解決鏈路的工作狀況發(fā)生變化,而導(dǎo)致鏈路資源利用不充分或者鏈路的數(shù)據(jù)包丟失,降低網(wǎng)絡(luò)服務(wù)質(zhì)量的問題。
為達(dá)到上述目的,本發(fā)明采用如下技術(shù)方案:
一種負(fù)載均衡的方法,包括:
發(fā)送方設(shè)備在當(dāng)前周期內(nèi)分別通過每條鏈路向接收方設(shè)備發(fā)送每條鏈路各自對應(yīng)數(shù)量的鏈路層發(fā)現(xiàn)協(xié)議LLDP報(bào)文;
接收方設(shè)備根據(jù)在當(dāng)前周期內(nèi)在每條鏈路上接收的LLDP報(bào)文以及接收的LLDP報(bào)文的數(shù)量,分別計(jì)算每條鏈路的鏈路質(zhì)量參數(shù);
接收方設(shè)備分別通過每條鏈路向發(fā)送方設(shè)備發(fā)送各鏈路的反饋LLDP報(bào)文,每條鏈路的反饋LLDP報(bào)文分別攜帶有各自的鏈路質(zhì)量參數(shù);
發(fā)送方設(shè)備根據(jù)每條鏈路的鏈路質(zhì)量參數(shù)調(diào)節(jié)每條鏈路的業(yè)務(wù)比例。
一種負(fù)載均衡的裝置,所述裝置包括:
發(fā)送單元,用于在當(dāng)前周期內(nèi),分別通過每條鏈路向接收方設(shè)備發(fā)送每條鏈路各自對應(yīng)數(shù)量的鏈路層發(fā)現(xiàn)協(xié)議LLDP報(bào)文;
接收單元,用于分別通過每條鏈路接收接收方設(shè)備發(fā)送的各鏈路的反饋LLDP報(bào)文,每條鏈路的反饋LLDP報(bào)文分別攜帶有各自的鏈路質(zhì)量參數(shù),每條鏈路的鏈路質(zhì)量參數(shù)為接收方設(shè)備根據(jù)在當(dāng)前周期內(nèi),在每條鏈路上接收的LLDP報(bào)文以及接收的LLDP報(bào)文的數(shù)量計(jì)算出的;
調(diào)節(jié)單元,用于根據(jù)所述接收單元接收的每條鏈路的鏈路質(zhì)量參數(shù)調(diào)節(jié)每條鏈路的業(yè)務(wù)比例。
一種負(fù)載均衡的裝置,所述裝置包括:
接收單元,用于在當(dāng)前周期內(nèi),分別通過每條鏈路接收發(fā)送方設(shè)備發(fā)送的每條鏈路各自對應(yīng)數(shù)量的鏈路層發(fā)現(xiàn)協(xié)議LLDP報(bào)文;
計(jì)算單元,用于根據(jù)在當(dāng)前周期內(nèi),在每條鏈路上所述接收單元接收的LLDP報(bào)文以及接收的LLDP報(bào)文的數(shù)量,分別計(jì)算每條鏈路的鏈路質(zhì)量參數(shù);
發(fā)送單元,用于分別通過每條鏈路向發(fā)送方設(shè)備發(fā)送各鏈路的反饋LLDP報(bào)文,每條鏈路的反饋LLDP報(bào)文分別攜帶有所述計(jì)算單元計(jì)算的各自的鏈路質(zhì)量參數(shù),以使得發(fā)送方設(shè)備根據(jù)每條鏈路的鏈路質(zhì)量參數(shù)調(diào)節(jié)每條鏈路的業(yè)務(wù)比例。
本發(fā)明實(shí)施例提供的負(fù)載均衡的方法及裝置,與現(xiàn)有技術(shù)中鏈路的工作狀況發(fā)生變化,而導(dǎo)致鏈路資源利用不充分或者鏈路的數(shù)據(jù)包丟失,降低了網(wǎng)絡(luò)服務(wù)質(zhì)量相比,接收方設(shè)備能夠根據(jù)通過每條鏈路接收的鏈路層發(fā)現(xiàn)協(xié)議(Link Layer Discovery Protocol,以下簡稱LLDP)報(bào)文以及接收的LLDP報(bào)文的數(shù)量,分別計(jì)算每條鏈路的鏈路質(zhì)量參數(shù),并將每條鏈路的鏈路質(zhì)量參數(shù)反饋給發(fā)送方設(shè)備,使得發(fā)送方設(shè)備根據(jù)每條鏈路的鏈路質(zhì)量參數(shù)調(diào)節(jié)每條鏈路的業(yè)務(wù)比例。可見,即使鏈路的工作狀況發(fā)生變化,發(fā)送方設(shè)備也能夠根據(jù)接收方設(shè)備反饋的每條鏈路的鏈路質(zhì)量參數(shù),來調(diào)節(jié)各個(gè)鏈路的業(yè)務(wù)比例,實(shí)現(xiàn)的負(fù)載均衡,避免鏈路資源的浪費(fèi)或者數(shù)據(jù)包丟失,提高了網(wǎng)絡(luò)服務(wù)質(zhì)量。
附圖說明
為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明實(shí)施例提供的一種負(fù)載均衡的系統(tǒng)的邏輯結(jié)構(gòu)示意圖;
圖2為本發(fā)明實(shí)施例提供的一種負(fù)載均衡的方法的流程圖;
圖3為本發(fā)明實(shí)施例提供的另一種負(fù)載均衡的方法的流程圖;
圖4為本發(fā)明實(shí)施例提供的另一種負(fù)載均衡的方法的流程圖;
圖5為本發(fā)明實(shí)施例提供的一種負(fù)載均衡的裝置的邏輯結(jié)構(gòu)示意圖;
圖6為本發(fā)明實(shí)施例提供的另一種負(fù)載均衡的裝置的邏輯結(jié)構(gòu)示意圖。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
本發(fā)明實(shí)施例提供的負(fù)載均衡的方法,應(yīng)用于負(fù)載均衡的系統(tǒng)中,如圖1所示,該系統(tǒng)包括:至少兩臺路由設(shè)備,圖中僅示例性地示出了路由設(shè)備1、路由設(shè)備2以及路由設(shè)備N,其中,每兩臺路由設(shè)備之間均有多條鏈路相連,每兩臺路由設(shè)備通過連接的鏈路交互信息。
其中,在本發(fā)明實(shí)施例內(nèi),將正在發(fā)送LLDP報(bào)文的路由設(shè)備稱為發(fā)送方設(shè)備,將正在接收LLDP報(bào)文的路由設(shè)備稱為接收方設(shè)備,可以理解的是,一個(gè)路由設(shè)備可以在一個(gè)時(shí)間段內(nèi)為發(fā)送方設(shè)備,在另一個(gè)時(shí)間段內(nèi)為接收方設(shè)備。
需要說明的是,在發(fā)送方設(shè)備與接收方設(shè)備通過鏈路交互信息之前,需要開啟各自的LLDP功能,當(dāng)開啟LLDP功能之后,兩臺路由設(shè)備之間就能夠傳輸LLDP報(bào)文,以實(shí)現(xiàn)兩臺路由設(shè)備的信息交互。
其中,LLDP報(bào)文中包含類型長度值(Type-length-value,以下簡稱TLV)字段,TLV字段中攜帶有路由設(shè)備的相關(guān)信息,例如,TLV字段攜帶有路由設(shè)備類型信息和路由設(shè)備端口信息,路由設(shè)備接收來自與其相連路由設(shè)備的LLDP報(bào)文,并通過解析LLDP報(bào)文的TLV字段中攜帶的信息,來掌握網(wǎng)絡(luò)中與其相連路由設(shè)備的基本信息,進(jìn)而根據(jù)掌握的基本信息實(shí)現(xiàn)與相連路由設(shè)備的信息交互。
結(jié)合圖1所示的系統(tǒng),為了解決鏈路的工作狀況發(fā)生變化,而導(dǎo)致鏈路資源利用不充分或者鏈路的數(shù)據(jù)包丟失,降低網(wǎng)絡(luò)服務(wù)質(zhì)量的問題,本發(fā)明實(shí)施例提供了一種負(fù)載均衡的方法,如圖2所示,該方法包括:
步驟201、發(fā)送方設(shè)備在當(dāng)前周期內(nèi),分別通過每條鏈路向接收方設(shè)備發(fā)送每條鏈路各自對應(yīng)數(shù)量的鏈路層發(fā)現(xiàn)協(xié)議LLDP報(bào)文。
需要說明的是,發(fā)送方設(shè)備會周期性地向接收方設(shè)備發(fā)送LLDP報(bào)文,在每個(gè)周期內(nèi)分別通過每條鏈路發(fā)送每條鏈路各自對應(yīng)數(shù)量的LLDP報(bào)文。例如,第一周期為5秒,在第一周期內(nèi),發(fā)送方設(shè)備通過第一條鏈路向接收方設(shè)備發(fā)送10個(gè)LLDP報(bào)文,通過第二條鏈路向接收方設(shè)備發(fā)送15個(gè)報(bào)文。第二周期為10秒,在第二周期內(nèi),發(fā)送方設(shè)備通過第一條鏈路向接收方設(shè)備發(fā)送20個(gè)LLDP報(bào)文,通過第二條鏈路向接收方設(shè)備發(fā)送25個(gè)報(bào)文。
其中,發(fā)送方設(shè)備發(fā)送的LLDP報(bào)文中包含TLV字段。在本發(fā)明實(shí)施例中,對現(xiàn)有技術(shù)中的TLV字段進(jìn)行了改進(jìn)與拓展,在本發(fā)明實(shí)施例中,TLV字段中包括LLDP報(bào)文的周期序號、在周期序號對應(yīng)的周期內(nèi)需在LLDP報(bào)文對應(yīng)的鏈路上發(fā)送LLDP報(bào)文的總數(shù)量、LLDP報(bào)文的序號。
例如,假設(shè)當(dāng)前周期為第二周期,第二周期為10秒,發(fā)送方設(shè)備在第二周期內(nèi)通過第一條鏈路向接收方設(shè)備發(fā)送10個(gè)LLDP報(bào)文,發(fā)送的第1個(gè)LLDP報(bào)文的TLV字段中包括如下內(nèi)容:LLDP報(bào)文的周期序號為2,發(fā)送LLDP報(bào)文的總數(shù)量為10個(gè),LLDP報(bào)文的序號為1。在第二周期內(nèi),發(fā)送方設(shè)備通過第二條鏈路向接收方設(shè)備發(fā)送20個(gè)LLDP報(bào)文,發(fā)送的第3個(gè)LLDP報(bào)文的TLV字段中包括如下內(nèi)容:LLDP報(bào)文的周期序號為2,發(fā)送LLDP報(bào)文的總數(shù)量為20個(gè),LLDP報(bào)文的序號為3。
步驟202、接收方設(shè)備根據(jù)在當(dāng)前周期內(nèi)在每條鏈路上接收的LLDP報(bào)文以及接收的LLDP報(bào)文的數(shù)量,分別計(jì)算每條鏈路的鏈路質(zhì)量參數(shù)。
需要說明的是,在當(dāng)前周期內(nèi),當(dāng)發(fā)送方設(shè)備通過一條鏈路發(fā)送固定數(shù)量的LLDP報(bào)文時(shí),接收方設(shè)備通過該鏈路接收LLDP報(bào)文的數(shù)量能夠反映鏈路當(dāng)前的工作狀況,當(dāng)鏈路工作狀況良好時(shí),接收方設(shè)備通過該鏈路成功接收LLDP報(bào)文的數(shù)量較大,當(dāng)鏈路工作狀況較差時(shí),接收方設(shè)備通過該鏈路成功接收LLDP報(bào)文的數(shù)量較少,因此,接收方設(shè)備能夠結(jié)合其通過每條鏈路實(shí)際接收LLDP報(bào)文的數(shù)量來計(jì)算各鏈路的鏈路質(zhì)量參數(shù)。
例如,在第二周期內(nèi),發(fā)送方設(shè)備通過第一條鏈路向接收方設(shè)備發(fā)送20個(gè)LLDP報(bào)文,通過第二條鏈路向接收方設(shè)備發(fā)送20個(gè)LLDP報(bào)文,接收方設(shè)備通過第一條鏈路成功接收18個(gè)LLDP報(bào)文,而通過第二條鏈路僅僅成功接收8個(gè)LLDP報(bào)文。則通過接收LLDP報(bào)文的數(shù)量能夠反映出,在第二周期內(nèi),第一條鏈路的工作狀況良好,而第二條鏈路工作狀況較差。
步驟203、接收方設(shè)備分別通過每條鏈路向發(fā)送方設(shè)備發(fā)送各鏈路的反饋LLDP報(bào)文。
其中,每條鏈路的反饋LLDP報(bào)文分別攜帶有各自的鏈路質(zhì)量參數(shù)。
例如,接收方設(shè)備通過第一條鏈路發(fā)送第一條鏈路的反饋LLDP報(bào)文,其中攜帶有第一條鏈路的鏈路質(zhì)量參數(shù),通過第二條鏈路發(fā)送第二條鏈路的反饋LLDP報(bào)文,其中攜帶有第二條鏈路的鏈路質(zhì)量參數(shù)。
需要說明的是,為保證反饋的及時(shí)有效性,接收方設(shè)備分別通過每條鏈路向發(fā)送方設(shè)備連續(xù)發(fā)送三次各鏈路的反饋LLDP報(bào)文。當(dāng)反饋LLDP報(bào)文及時(shí)有效地被發(fā)送至發(fā)送方設(shè)備之后,發(fā)送方設(shè)備就能夠立即根據(jù)反饋LLDP報(bào)文中攜帶的每條鏈路的鏈路質(zhì)量參數(shù)來調(diào)整各個(gè)鏈路的業(yè)務(wù)比例,從而更加實(shí)時(shí)地實(shí)現(xiàn)了負(fù)載均衡。
步驟204、發(fā)送方設(shè)備根據(jù)每條鏈路的鏈路質(zhì)量參數(shù)調(diào)節(jié)每條鏈路的業(yè)務(wù)比例。
本發(fā)明實(shí)施例提供的負(fù)載均衡的方法,與現(xiàn)有技術(shù)中鏈路的工作狀況發(fā)生變化,而導(dǎo)致鏈路資源利用不充分或者鏈路的數(shù)據(jù)包丟失,降低了網(wǎng)絡(luò)服務(wù)質(zhì)量相比,接收方設(shè)備能夠根據(jù)通過每條鏈路接收的LLDP報(bào)文的數(shù)量,分別計(jì)算每條鏈路的鏈路質(zhì)量參數(shù),并將每條鏈路的鏈路質(zhì)量參數(shù)反饋給發(fā)送方設(shè)備,使得發(fā)送方設(shè)備根據(jù)每條鏈路的鏈路質(zhì)量參數(shù)調(diào)節(jié)每條鏈路的業(yè)務(wù)比例。可見,即使鏈路的工作狀況發(fā)生變化,發(fā)送方設(shè)備也能夠根據(jù)接收方設(shè)備反饋的每條鏈路的鏈路質(zhì)量參數(shù),來調(diào)節(jié)各個(gè)鏈路的業(yè)務(wù)比例,實(shí)現(xiàn)的負(fù)載均衡,避免鏈路資源的浪費(fèi)或者數(shù)據(jù)包丟失,提高了網(wǎng)絡(luò)服務(wù)質(zhì)量。
在本實(shí)施例提供的另一種實(shí)現(xiàn)方式中,對計(jì)算每條鏈路的鏈路質(zhì)量參數(shù)的方法進(jìn)行了說明,如圖3所示,上述步驟202、接收方設(shè)備根據(jù)在當(dāng)前周期內(nèi),在每條鏈路上接收的LLDP報(bào)文以及接收的LLDP報(bào)文的數(shù)量,分別計(jì)算每條鏈路的鏈路質(zhì)量參數(shù)包括:
步驟301、接收方設(shè)備在當(dāng)前周期內(nèi)每接收到一個(gè)LLDP報(bào)文,確定在當(dāng)前周期內(nèi),在當(dāng)前接收的LLDP報(bào)文對應(yīng)的鏈路上實(shí)際接收的LLDP報(bào)文的數(shù)量。
例如,當(dāng)前周期為第二周期,在第二周期內(nèi),接收方設(shè)備已經(jīng)在第一條鏈路上接收了序號為1、3的兩個(gè)LLDP報(bào)文,在第二條鏈路上接收了序號為1、2、3、5的四個(gè)LLDP報(bào)文。接收方設(shè)備當(dāng)前在第一條鏈路上接收到序號為5的一個(gè)LLDP報(bào)文,則確定在第二周期內(nèi),通過第一條鏈路當(dāng)前實(shí)際接收的LLDP報(bào)文數(shù)量為3。
步驟302、接收方設(shè)備通過解析當(dāng)前接收的LLDP報(bào)文,確定發(fā)送方設(shè)備在當(dāng)前周期內(nèi),在當(dāng)前接收的LLDP報(bào)文對應(yīng)的鏈路上需發(fā)送的LLDP報(bào)文的總數(shù)量。
例如,當(dāng)前周期為第二周期,在第二周期內(nèi),接收方設(shè)備在第一條鏈路上接收到一個(gè)LLDP報(bào)文,通過解析該LLDP報(bào)文中的TLV字段,確定該LLDP報(bào)文的周期序號為2,報(bào)文序號為5,在第二周期內(nèi)需在第一條鏈路上發(fā)送10個(gè)LLDP報(bào)文,從而確定發(fā)送方設(shè)備在第二周期內(nèi),在第一條鏈路上需發(fā)送的LLDP報(bào)文的總數(shù)量為10。
步驟303、當(dāng)接收方設(shè)備確定當(dāng)前周期結(jié)束時(shí),計(jì)算每條鏈路的鏈路質(zhì)量參數(shù)。
需要說明的是,若接收方設(shè)備確定當(dāng)前周期未結(jié)束,則重復(fù)執(zhí)行步驟301至步驟302,直至接收方設(shè)備確定當(dāng)前周期結(jié)束,則執(zhí)行步驟303。
其中,接收方設(shè)備判斷當(dāng)前周期是否結(jié)束的方法可以實(shí)現(xiàn)為以下步驟:
接收方設(shè)備通過解析當(dāng)前接收的LLDP報(bào)文,確定該LLDP報(bào)文的周期序號,并根據(jù)該LLDP報(bào)文的周期序號判斷當(dāng)前周期是否結(jié)束。
例如,當(dāng)前周期為第二周期,在第二周期內(nèi),接收方設(shè)備在第一條鏈路上接收到一個(gè)LLDP報(bào)文,通過解析該LLDP報(bào)文中的TLV字段,確定該LLDP報(bào)文的周期序號為2,則接收方設(shè)備確定當(dāng)前周期未結(jié)束,此時(shí),接收方設(shè)備重復(fù)執(zhí)行步驟301至步驟302,直至接收方設(shè)備在第一條鏈路上接收到一個(gè)LLDP報(bào)文,通過解析該LLDP報(bào)文中的TLV字段,確定該LLDP報(bào)文的周期序號為3,則確定第二周期已結(jié)束,此時(shí),接收方設(shè)備計(jì)算每條鏈路的鏈路質(zhì)量參數(shù)。
其中,鏈路質(zhì)量參數(shù)為i為鏈路編號,NUMRx為在當(dāng)前周期內(nèi),在鏈路i上實(shí)際接收的LLDP報(bào)文的數(shù)量,NUMTx為在當(dāng)前周期內(nèi),在鏈路i上需發(fā)送的LLDP報(bào)文的總數(shù)量。
結(jié)合步驟302的舉例,在第二周期內(nèi),接收方設(shè)備在第一條鏈路上接收到序號為1、3、5、6-10的LLDP報(bào)文,則在第一條鏈路上實(shí)際接收的LLDP報(bào)文的數(shù)量為8,而在第二周期內(nèi)第一條鏈路需發(fā)送的LLDP報(bào)文的總數(shù)量為10,因此第一條鏈路的鏈路質(zhì)量參數(shù)為8/10=80%。
在第二周期內(nèi),接收方設(shè)備在第二條鏈路上接收到序號為1、2、3、5的LLDP報(bào)文,則在第二條鏈路上實(shí)際接收的LLDP報(bào)文的數(shù)量為4,而在第二周期內(nèi),發(fā)送方設(shè)備在第二條鏈路上需發(fā)送的LLDP報(bào)文的總數(shù)量為20,因此第二條鏈路的鏈路質(zhì)量參數(shù)為4/20=20%。
還需說明的是,在鏈路工作狀況發(fā)生突變的應(yīng)用場景中,為了保證鏈路質(zhì)量參數(shù)能夠更為準(zhǔn)確地反映鏈路的工作狀況,本發(fā)明實(shí)施例提供一種基于時(shí)間的平均鏈路質(zhì)量參數(shù),平均鏈路質(zhì)量參數(shù)能夠反映鏈路長期的平均工作狀況。
平均鏈路質(zhì)量參數(shù)的計(jì)算方式如下:
ave_L(i)=(1-w)*ave_L_old(i)+w*L(i)。
其中,ave_L(i)為當(dāng)前第i條鏈路的平均鏈路質(zhì)量參數(shù),ave_L_old(i)為上一周期內(nèi)第i條鏈路的平均鏈路質(zhì)量參數(shù),L(i)為第i條鏈路的實(shí)時(shí)鏈路質(zhì)量參數(shù),w為權(quán)值。
需要說明的是,w取值范圍為(0,1],當(dāng)w取值為1時(shí),當(dāng)前平均鏈路質(zhì)量參數(shù)等于實(shí)時(shí)鏈路質(zhì)量參數(shù),w越大,當(dāng)前平均鏈路質(zhì)量參數(shù)越接近實(shí)時(shí)鏈路質(zhì)量參數(shù),鏈路工作狀況突變的影響就越大,因此,w過大時(shí),不能有效減小鏈路工作狀況突變所帶來的影響。w越小,當(dāng)前平均鏈路質(zhì)量參數(shù)越接近上一周期內(nèi)的平均鏈路質(zhì)量參數(shù),因此,w過小時(shí),當(dāng)前平均鏈路質(zhì)量參數(shù)不能合理反映鏈路當(dāng)前的工作狀況。例如,一條鏈路的工作狀況突變?yōu)榱己茫撴溌返膶?shí)時(shí)鏈路質(zhì)量參數(shù)L(i)為90%,能夠承載1000M的業(yè)務(wù)量,而該鏈路在上一周期內(nèi)的平均鏈路質(zhì)量參數(shù)為10%,僅能承載100M業(yè)務(wù)量,w取值為0.8,則由計(jì)算得出該鏈路的當(dāng)前平均鏈路質(zhì)量參數(shù)ave_L(i)=(1-0.8)*10%+0.8*90%=74%,由于w取值較大,則該當(dāng)前平均鏈路質(zhì)量參數(shù)接近實(shí)時(shí)鏈路質(zhì)量參數(shù)90%,在下一周期內(nèi),發(fā)送方設(shè)備根據(jù)此當(dāng)前鏈路質(zhì)量參數(shù)來增加該鏈路的業(yè)務(wù)量至1000M,但是由于該鏈路工作狀況是突變?yōu)榱己茫瑒t該鏈路僅僅在很短的時(shí)間段內(nèi)能夠承載1000M業(yè)務(wù)量,而發(fā)送方設(shè)備卻在整個(gè)下一周期內(nèi)增加該鏈路的業(yè)務(wù)量至1000M,因此,容易導(dǎo)致在下一周期內(nèi)該鏈路擁塞,使數(shù)據(jù)包丟失。
因此,針對鏈路工作狀況發(fā)生突變的應(yīng)用場景,本發(fā)明實(shí)施例需要根據(jù)鏈路工作狀況的穩(wěn)定性來確定合適的權(quán)值。當(dāng)鏈路工作狀況不穩(wěn)定,容易發(fā)生突變時(shí),可以減小w的取值,以有效減小鏈路工作狀況突變帶來的影響;當(dāng)鏈路工作狀況較為穩(wěn)定時(shí),可以增大w的取值,以使當(dāng)前平均鏈路質(zhì)量參數(shù)合理反映鏈路當(dāng)前的工作狀況。
例如,在很長的一段時(shí)間內(nèi),一條鏈路工作狀況不穩(wěn)定,容易發(fā)生突變,該鏈路在第一周期和第二周期內(nèi)的工作狀況均為良好,在第一周期和第二周期內(nèi)的平均鏈路質(zhì)量參數(shù)均為90%,能夠承載1000M的業(yè)務(wù)量,而在第三周期內(nèi)的工作狀況驟然變差,實(shí)時(shí)鏈路質(zhì)量參數(shù)為10%,僅能夠承載100M的業(yè)務(wù)量,到第四周期內(nèi),該鏈路的實(shí)際工作狀況又恢復(fù)為良好,能夠承載1000M的業(yè)務(wù)量。則本發(fā)明實(shí)施例將該鏈路的w減小至0.2,并在第三周期結(jié)束時(shí),由計(jì)算得出該鏈路在第三周期內(nèi)的當(dāng)前平均鏈路質(zhì)量參數(shù)如下:
ave_L(i)=(1-0.1)*90%+0.1*10%=82%。
可見,該當(dāng)前平均鏈路質(zhì)量參數(shù)反映了該鏈路在第三周期內(nèi)的工作狀況較為良好,則在第四周期內(nèi),發(fā)送方設(shè)備能夠根據(jù)該當(dāng)前平均鏈路質(zhì)量參數(shù)調(diào)整該鏈路的業(yè)務(wù)量,假設(shè)發(fā)送方設(shè)備調(diào)整該鏈路的業(yè)務(wù)量為950M,則該鏈路在第四周期內(nèi)將承載950M的業(yè)務(wù)量,而第四周期內(nèi),該鏈路實(shí)際能夠承載的業(yè)務(wù)量為1000M,因此,該鏈路的資源能夠得到較為充分的利用,避免了鏈路資源的浪費(fèi)。而且,本發(fā)明實(shí)施例中,減少了鏈路工作狀況突變時(shí)的實(shí)時(shí)鏈路質(zhì)量參數(shù)在當(dāng)前平均鏈路質(zhì)量參數(shù)中所占的比例,因此,有效減小了鏈路工作狀況突變帶來的影響。
本發(fā)明實(shí)施例提供的負(fù)載均衡的方法,接收方設(shè)備根據(jù)在當(dāng)前周期內(nèi)通過鏈路實(shí)際接收的LLDP報(bào)文的數(shù)量以及發(fā)送方設(shè)備在該鏈路上需發(fā)送的LLDP報(bào)文的總數(shù)量,計(jì)算該鏈路的鏈路質(zhì)量參數(shù),從而鏈路質(zhì)量被描述為精準(zhǔn)的數(shù)值,根據(jù)精準(zhǔn)的數(shù)值就能夠精準(zhǔn)地調(diào)整各個(gè)鏈路的業(yè)務(wù)比例,實(shí)現(xiàn)更為精準(zhǔn)的負(fù)載均衡。
結(jié)合圖3所示的方法流程,在計(jì)算出當(dāng)前周期內(nèi)每條鏈路的質(zhì)量參數(shù)之后,即可根據(jù)計(jì)算出的鏈路質(zhì)量參數(shù),對每條鏈路的業(yè)務(wù)比例進(jìn)行調(diào)整。基于此,在本發(fā)明實(shí)施例提供的另一種實(shí)現(xiàn)方式中,如圖4所示,步驟204、發(fā)送方設(shè)備根據(jù)每條鏈路的鏈路質(zhì)量參數(shù)調(diào)節(jié)每條鏈路的業(yè)務(wù)比例包括:
步驟401、發(fā)送方設(shè)備根據(jù)每條鏈路的鏈路質(zhì)量參數(shù)計(jì)算每條鏈路的業(yè)務(wù)比例。
其中,鏈路的業(yè)務(wù)比例為∑L(i)為各個(gè)鏈路在當(dāng)前周期內(nèi)的鏈路質(zhì)量參數(shù)之和。
例如,在第二周期內(nèi),第一條鏈路的鏈路質(zhì)量參數(shù)為80%,第二條鏈路的鏈路質(zhì)量參數(shù)為20%。則第一條鏈路的業(yè)務(wù)比例為第二條鏈路的業(yè)務(wù)比例為
步驟402、發(fā)送方設(shè)備根據(jù)計(jì)算出的每條鏈路的業(yè)務(wù)比例調(diào)整每條鏈路需承載的業(yè)務(wù)量。
例如,當(dāng)前有200M的業(yè)務(wù)量通過該系統(tǒng),則第一條鏈路需承載的業(yè)務(wù)量為第二條鏈路需承載的業(yè)務(wù)量為
本發(fā)明實(shí)施例提供的負(fù)載均衡的方法,當(dāng)鏈路的工作狀況發(fā)生變化時(shí),發(fā)送方設(shè)備能夠根據(jù)其通過每條鏈路的鏈路質(zhì)量參數(shù)調(diào)整每條鏈路需承載的業(yè)務(wù)量,因此,每條鏈路均能夠根據(jù)各自的承載能力來承載相應(yīng)的業(yè)務(wù)量,進(jìn)而避免了鏈路資源的浪費(fèi)或者數(shù)據(jù)包丟失,提高了網(wǎng)絡(luò)服務(wù)質(zhì)量。
對應(yīng)于上述的方法流程,為了解決鏈路的工作狀況發(fā)生變化,而導(dǎo)致鏈路資源利用不充分或者鏈路的數(shù)據(jù)包丟失,降低網(wǎng)絡(luò)服務(wù)質(zhì)量的問題,本發(fā)明實(shí)施例提供了一種負(fù)載均衡的裝置,該裝置可以為上述方法實(shí)施例中的發(fā)送方設(shè)備,如圖5所示,該裝置包括:發(fā)送單元501、接收單元502、調(diào)節(jié)單元503。
發(fā)送單元501,用于在當(dāng)前周期內(nèi),分別通過每條鏈路向接收方設(shè)備發(fā)送每條鏈路各自對應(yīng)數(shù)量的鏈路層發(fā)現(xiàn)協(xié)議LLDP報(bào)文;
其中,發(fā)送單元501發(fā)送的LLDP報(bào)文中包含類型長度值TLV字段,TLV字段中包括LLDP報(bào)文的周期序號、在周期序號對應(yīng)的周期內(nèi)需在LLDP報(bào)文對應(yīng)的鏈路上發(fā)送LLDP報(bào)文的總數(shù)量、LLDP報(bào)文的序號。
接收單元502,用于分別通過每條鏈路接收接收方設(shè)備發(fā)送的各鏈路的反饋LLDP報(bào)文,每條鏈路的反饋LLDP報(bào)文分別攜帶有各自的鏈路質(zhì)量參數(shù),每條鏈路的鏈路質(zhì)量參數(shù)為接收方設(shè)備根據(jù)在當(dāng)前周期內(nèi),在每條鏈路上接收的LLDP報(bào)文以及接收的LLDP報(bào)文的數(shù)量計(jì)算出的;
調(diào)節(jié)單元503,用于根據(jù)接收單元502接收的每條鏈路的鏈路質(zhì)量參數(shù)調(diào)節(jié)每條鏈路的業(yè)務(wù)比例。
在本發(fā)明實(shí)施例提供的另一種實(shí)現(xiàn)方式中,調(diào)節(jié)單元503,還用于根據(jù)每條鏈路的鏈路質(zhì)量參數(shù)計(jì)算每條鏈路的業(yè)務(wù)比例;
其中,鏈路質(zhì)量參數(shù)為i為鏈路編號,NUMRx為接收方設(shè)備在當(dāng)前周期內(nèi),在鏈路i上實(shí)際接收的LLDP報(bào)文的數(shù)量,NUMTx為所述發(fā)送單元在當(dāng)前周期內(nèi),在鏈路i上需發(fā)送的LLDP報(bào)文的總數(shù)量;
鏈路的業(yè)務(wù)比例為其中,∑L(i)為各個(gè)鏈路在當(dāng)前周期內(nèi)的鏈路質(zhì)量參數(shù)之和;根據(jù)計(jì)算出的每條鏈路的業(yè)務(wù)比例調(diào)整每條鏈路需承載的業(yè)務(wù)量。
本發(fā)明實(shí)施例提供的負(fù)載均衡的裝置,與現(xiàn)有技術(shù)中鏈路的工作狀況發(fā)生變化,而導(dǎo)致鏈路資源利用不充分或者鏈路的數(shù)據(jù)包丟失,降低了網(wǎng)絡(luò)服務(wù)質(zhì)量相比,接收方設(shè)備能夠根據(jù)每條鏈路接收的LLDP報(bào)文以及接收的LLDP報(bào)文的數(shù)量,分別計(jì)算每條鏈路的鏈路質(zhì)量參數(shù),并將每條鏈路的鏈路質(zhì)量參數(shù)反饋給接收單元,使得調(diào)節(jié)單元根據(jù)每條鏈路的鏈路質(zhì)量參數(shù)調(diào)節(jié)每條鏈路的業(yè)務(wù)比例。可見,即使鏈路的工作狀況發(fā)生變化,調(diào)節(jié)單元也能夠根據(jù)接收方設(shè)備反饋的每條鏈路的鏈路質(zhì)量參數(shù),來調(diào)節(jié)各個(gè)鏈路的業(yè)務(wù)比例,實(shí)現(xiàn)的負(fù)載均衡,避免鏈路資源的浪費(fèi)或者數(shù)據(jù)包丟失,提高了網(wǎng)絡(luò)服務(wù)質(zhì)量。
對應(yīng)于上述的方法流程,為了解決鏈路的工作狀況發(fā)生變化,而導(dǎo)致鏈路資源利用不充分或者鏈路的數(shù)據(jù)包丟失,降低網(wǎng)絡(luò)服務(wù)質(zhì)量的問題,本發(fā)明實(shí)施例提供了一種負(fù)載均衡的裝置,該裝置可以為上述方法實(shí)施例中的接收方設(shè)備,如圖6所示,該裝置包括:接收單元601、計(jì)算單元602、發(fā)送單元603。
接收單元601,用于在當(dāng)前周期內(nèi),分別通過每條鏈路接收發(fā)送方設(shè)備發(fā)送的每條鏈路各自對應(yīng)數(shù)量的鏈路層發(fā)現(xiàn)協(xié)議LLDP報(bào)文;
其中,發(fā)送方設(shè)備發(fā)送的LLDP報(bào)文中包含類型長度值TLV字段,TLV字段中包括LLDP報(bào)文的周期序號、在周期序號對應(yīng)的周期內(nèi)需在LLDP報(bào)文對應(yīng)的鏈路上發(fā)送LLDP報(bào)文的總數(shù)量、LLDP報(bào)文的序號。
計(jì)算單元602,用于根據(jù)在當(dāng)前周期內(nèi)在每條鏈路上接收單元502接收的LLDP報(bào)文以及接收的LLDP報(bào)文的數(shù)量,分別計(jì)算每條鏈路的鏈路質(zhì)量參數(shù);
發(fā)送單元603,用于分別通過每條鏈路向發(fā)送方設(shè)備發(fā)送各鏈路的反饋LLDP報(bào)文,每條鏈路的反饋LLDP報(bào)文分別攜帶有計(jì)算單元602計(jì)算的各自的鏈路質(zhì)量參數(shù),以使得發(fā)送方設(shè)備根據(jù)每條鏈路的鏈路質(zhì)量參數(shù)調(diào)節(jié)每條鏈路的業(yè)務(wù)比例。
在本發(fā)明實(shí)施例提供的另一種實(shí)現(xiàn)方式中,計(jì)算單元602,還用于在當(dāng)前周期內(nèi)每接收到一個(gè)LLDP報(bào)文,確定在當(dāng)前周期內(nèi),在當(dāng)前接收的LLDP報(bào)文對應(yīng)的鏈路上實(shí)際接收的LLDP報(bào)文的數(shù)量;通過解析當(dāng)前接收的LLDP報(bào)文,確定發(fā)送方設(shè)備在當(dāng)前周期內(nèi),在當(dāng)前接收的LLDP報(bào)文對應(yīng)的鏈路上需發(fā)送的LLDP報(bào)文的總數(shù)量;當(dāng)確定當(dāng)前周期結(jié)束時(shí),計(jì)算每條鏈路的鏈路質(zhì)量參數(shù);
其中,鏈路質(zhì)量參數(shù)為i為鏈路編號,NUMRx為在當(dāng)前周期內(nèi),在鏈路i上實(shí)際接收的LLDP報(bào)文的數(shù)量,NUMTx為在當(dāng)前周期內(nèi),在鏈路i上需發(fā)送的LLDP報(bào)文的總數(shù)量。
在本發(fā)明實(shí)施例提供的另一種實(shí)現(xiàn)方式中,發(fā)送單元603,還用于分別通過每條鏈路向發(fā)送方設(shè)備連續(xù)發(fā)送三次各鏈路的反饋LLDP報(bào)文。
本發(fā)明實(shí)施例提供的負(fù)載均衡的裝置,與現(xiàn)有技術(shù)中鏈路的工作狀況發(fā)生變化,而導(dǎo)致鏈路資源利用不充分或者鏈路的數(shù)據(jù)包丟失,降低了網(wǎng)絡(luò)服務(wù)質(zhì)量相比,計(jì)算單元能夠根據(jù)每條鏈路接收的LLDP報(bào)文以及接收的LLDP報(bào)文的數(shù)量,分別計(jì)算每條鏈路的鏈路質(zhì)量參數(shù),并將每條鏈路的鏈路質(zhì)量參數(shù)反饋給發(fā)送方設(shè)備,使得發(fā)送方設(shè)備根據(jù)每條鏈路的鏈路質(zhì)量參數(shù)調(diào)節(jié)每條鏈路的業(yè)務(wù)比例。可見,即使鏈路的工作狀況發(fā)生變化,發(fā)送方設(shè)備也能夠根據(jù)接收方設(shè)備反饋的每條鏈路的鏈路質(zhì)量參數(shù),來調(diào)節(jié)各個(gè)鏈路的業(yè)務(wù)比例,實(shí)現(xiàn)的負(fù)載均衡,避免鏈路資源的浪費(fèi)或者數(shù)據(jù)包丟失,提高了網(wǎng)絡(luò)服務(wù)質(zhì)量。
通過以上的實(shí)施方式的描述,所屬領(lǐng)域的技術(shù)人員可以清楚地了解到本發(fā)明可借助軟件加必需的通用硬件的方式來實(shí)現(xiàn),當(dāng)然也可以通過硬件,但很多情況下前者是更佳的實(shí)施方式。基于這樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計(jì)算機(jī)軟件產(chǎn)品存儲在可讀取的存儲介質(zhì)中,如計(jì)算機(jī)的軟盤,硬盤或光盤等,包括若干指令用以使得一臺計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述的方法。
以上所述,僅為本發(fā)明的具體實(shí)施方式,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)以所述權(quán)利要求的保護(hù)范圍為準(zhǔn)。