專利名稱:在一體化承載網(wǎng)中維護(hù)根服務(wù)器配置一致性的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及到由一組根服務(wù)器(Root Server)、 一組柔性網(wǎng)絡(luò)配置代理 (Flexible Network Configure Broker, FNCB)和一系列路由器(分為區(qū)和域) 組成的一體化承載網(wǎng),特別涉及到維護(hù)一組根服務(wù)器上擁有的全網(wǎng)物理承載網(wǎng) 拓?fù)湫畔⒌臄?shù)據(jù)一致性的方法。
背景技術(shù):
一體化承載網(wǎng)是由一組根服務(wù)器、 一組柔性網(wǎng)絡(luò)配置代理和一系列路由器 組成。 一體化承載網(wǎng)基于可重構(gòu)路由器,根服務(wù)器擁有物理承載網(wǎng)全網(wǎng)的拓?fù)?信息,根服務(wù)器根據(jù)用戶構(gòu)建邏輯承載網(wǎng)的源、匯、帶寬、網(wǎng)絡(luò)類型等要求, 來構(gòu)建邏輯承載網(wǎng)。為了加快構(gòu)建邏輯承載網(wǎng)的速度,每個(gè)根服務(wù)器都擁有全 局的路由器拓?fù)滟Y源信息。這樣帶來數(shù)據(jù)一致性的問題當(dāng)一個(gè)根服務(wù)器上的 數(shù)據(jù)發(fā)生變化時(shí),如何保證各個(gè)根服務(wù)器與該根服務(wù)器的數(shù)據(jù)的一致性。特別 是在多個(gè)根服務(wù)器同時(shí)更新所管理的拓?fù)鋽?shù)據(jù)信息時(shí),多個(gè)根服務(wù)器同時(shí)構(gòu)建 各自所管理的域內(nèi)邏輯承載巧,更新各自所管理的域內(nèi)網(wǎng)絡(luò)拓?fù)鋽?shù)據(jù)信息時(shí), 需要向其他根服務(wù)器發(fā)送構(gòu)建更新后的物理承載網(wǎng)拓?fù)鋽?shù)據(jù)信息,維護(hù)所有根 服務(wù)器關(guān)于全網(wǎng)物理承載網(wǎng)的數(shù)據(jù)一致性。如何能夠設(shè)計(jì)有效的機(jī)制和較低的 代價(jià),來維護(hù)數(shù)據(jù)信息的一致性,對(duì)一體化承載網(wǎng)來說是個(gè)重要問題。
為了適應(yīng)在不同規(guī)模的物理承載網(wǎng)上構(gòu)建邏輯承載網(wǎng),體系結(jié)構(gòu)采用分布 式分層管理的模型。在該體系結(jié)構(gòu)中,多個(gè)路由節(jié)點(diǎn)(RouterNode, RN)組成一 個(gè)域(domain),多個(gè)域組成一個(gè)區(qū)(region),全網(wǎng)由多個(gè)區(qū)組成。 一個(gè)柔性網(wǎng)絡(luò) 配置代理負(fù)責(zé)一個(gè)域內(nèi)的邏輯承載網(wǎng)的構(gòu)建,根服務(wù)器負(fù)責(zé)區(qū)內(nèi)跨域的邏輯承 載網(wǎng)的構(gòu)建,跨區(qū)的邏輯承載網(wǎng)的構(gòu)建由相關(guān)根服務(wù)器負(fù)責(zé)協(xié)調(diào)完成。
從分層的角度來說,模型分為三層,所有路由節(jié)點(diǎn)組成物理承載層,柔性 網(wǎng)絡(luò)配置代理組成域管理層,所有根服務(wù)器構(gòu)成全網(wǎng)管理層。域管理層接收全 網(wǎng)管理層發(fā)送的域間邏輯承載網(wǎng)配置命令,并傳遞給物理承載層,由物理承載 層完成邏輯承載網(wǎng)的構(gòu)建。對(duì)于域內(nèi)邏輯承載網(wǎng)的配置,由域管理層直接處理后將配置信息傳遞給物理承載層。
現(xiàn)有技術(shù)中解決邏輯業(yè)務(wù)網(wǎng)構(gòu)建過程中的配置一致性問題一般是依靠建立 令牌網(wǎng)來解決,但是令牌網(wǎng)的運(yùn)作需要每個(gè)服務(wù)器都維護(hù)一個(gè)共同的時(shí)鐘,并
且要建立環(huán)狀拓?fù)?,這給系統(tǒng)穩(wěn)定性帶來了問題。
發(fā)明內(nèi)容
本發(fā)明的目的是針對(duì)邏輯業(yè)務(wù)網(wǎng)構(gòu)建過程中的配置一致性問題,提供一種 在一體化承載網(wǎng)中維護(hù)根服務(wù)器配置一致性的方法,該方法穩(wěn)定、高效、通信
消耗低。
本發(fā)明的目的是通過以下技術(shù)方案來實(shí)現(xiàn)的 一種在一體化承載網(wǎng)中維護(hù) 根服務(wù)器配置一致性的方法, 一體化承載網(wǎng)由一組根服務(wù)器、 一組柔性網(wǎng)絡(luò)配 置代理和一系列路由器組成,包括以下步驟
(1) 每個(gè)根服務(wù)器維護(hù)一個(gè)寫鎖,該根服務(wù)器可以對(duì)其所管轄的區(qū)進(jìn)行資源分 配,根服務(wù)器初始化創(chuàng)建一個(gè)資源數(shù)為1的信號(hào)量M;
(2) 所有根服務(wù)器共同維護(hù)一個(gè)令牌,持有令牌的根服務(wù)器可跨區(qū)分配資源;
(3) 當(dāng)有一個(gè)本區(qū)域內(nèi)的資源分配請(qǐng)求時(shí),起始的路由節(jié)點(diǎn)所屬的柔性網(wǎng)絡(luò)配 置代理向根服務(wù)器申請(qǐng)寫鎖,當(dāng)申請(qǐng)到后,進(jìn)行資源分配,之后釋放寫鎖。 否則,排隊(duì)等待;
(4) 當(dāng)有一個(gè)跨區(qū)的資源分配請(qǐng)求時(shí),該區(qū)的根服務(wù)器如果沒持有令牌,則排 隊(duì)等待。否則,申請(qǐng)其他涉及的區(qū)域的寫鎖,如果沒申請(qǐng)到,則排隊(duì)等待, 否則,進(jìn)行資源分配,釋放寫鎖,傳遞令牌;
(5 )每個(gè)更新了的根服務(wù)器向其他根服務(wù)器發(fā)所更新后的信息。
本發(fā)明的有益效果是本發(fā)明提出了一種基于令牌網(wǎng)和邏輯時(shí)戳相結(jié)合的
方法來維護(hù)配置一致性,在這種機(jī)制下,整體根服務(wù)器所組成的網(wǎng)絡(luò)可以是任 意的拓?fù)浣Y(jié)構(gòu)。由于引入了邏輯時(shí)戳,每個(gè)根服務(wù)器也不用再像傳統(tǒng)算法那樣 維護(hù)一個(gè)全局時(shí)鐘。而令牌和寫鎖的相結(jié)合,可以防止死鎖的發(fā)生。
圖1是邏輯業(yè)務(wù)承載網(wǎng)體系結(jié)構(gòu)示意圖2是一個(gè)根服務(wù)器收到一個(gè)資源分配的處理流程圖;其中,(a)為收到 一個(gè)資源分配的處理流程圖;(b)為阻塞時(shí)收到一個(gè)令牌或?qū)戞iM的處理流程圖3是一個(gè)根服務(wù)器收到一個(gè)寫鎖M或令牌的請(qǐng)求的處理流程圖。
具體實(shí)施例方式
一體化承載網(wǎng)由一組根服務(wù)器、 一組柔性網(wǎng)絡(luò)配置代理和一系列路由器(分 為區(qū)和域)組成。在該體系結(jié)構(gòu)中,多個(gè)路由節(jié)點(diǎn)組成一個(gè)域,多個(gè)域組成一 個(gè)區(qū),全網(wǎng)由多個(gè)區(qū)組成。 一個(gè)柔性網(wǎng)絡(luò)配置代理負(fù)責(zé)一個(gè)域內(nèi)的邏輯承載網(wǎng) 的構(gòu)建,根服務(wù)器(負(fù)責(zé)區(qū)內(nèi)跨域的邏輯承載網(wǎng)的構(gòu)建,跨區(qū)的邏輯承載網(wǎng)的 構(gòu)建由相關(guān)根服務(wù)器負(fù)責(zé)協(xié)調(diào)完成。
本發(fā)明提供了一種在一體化承載網(wǎng)中維護(hù)根服務(wù)器配置一致性的方法,具
體包括以下步驟
1. 每個(gè)根服務(wù)器維護(hù)一個(gè)寫鎖,該根服務(wù)器可以對(duì)其所管轄的區(qū)進(jìn)行資源分配。 根服務(wù)器初始化創(chuàng)建一個(gè)資源數(shù)為1的信號(hào)量M。
2. 所有根服務(wù)器共同維護(hù)一個(gè)令牌,持有令牌的根服務(wù)器可跨區(qū)分配資源。
令牌只是一個(gè)抽象的概念,具體實(shí)現(xiàn)時(shí)可以在每個(gè)根服務(wù)器上初始化一個(gè)
整形值,值為o代表不持有令牌,值為1代表持有令牌。初始化時(shí)只有一個(gè)根
服務(wù)器的該值設(shè)為1。
3. 當(dāng)有一個(gè)本區(qū)域內(nèi)的資源分配請(qǐng)求時(shí),起始的路由節(jié)點(diǎn)所屬的柔性網(wǎng)絡(luò)配置 代理向根服務(wù)器申請(qǐng)寫鎖,當(dāng)申請(qǐng)到后,進(jìn)行資源分配,之后釋放寫鎖。否 貝U,排隊(duì)等待。
每個(gè)根服務(wù)器創(chuàng)建一個(gè)隊(duì)列Q,它用來記錄向它申請(qǐng)寫鎖但暫時(shí)沒有得到 資源分配的結(jié)點(diǎn),可以記錄申請(qǐng)結(jié)點(diǎn)的IP地址。
4. 當(dāng)有一個(gè)跨區(qū)的資源分配請(qǐng)求時(shí),該區(qū)的根服務(wù)器如果沒持有令牌,則排隊(duì) 等待。否則,申請(qǐng)其他涉及的區(qū)域的寫鎖,如果沒申請(qǐng)到,則排隊(duì)等待,否 貝lj,進(jìn)行資源分配,釋放寫鎖,傳遞令牌。
當(dāng)一個(gè)根服務(wù)器欲進(jìn)行跨區(qū)域分配資源時(shí),該根服務(wù)器先檢查自己的令牌 變量,如果是l,按照第3步的方法申請(qǐng)寫鎖。如果令牌變量為0,則廣播一個(gè) 申請(qǐng)令牌的消息,該消息包含了當(dāng)前根服務(wù)器內(nèi)部自有的時(shí)間戳。
5. 每個(gè)更新了的根服務(wù)器向其他根服務(wù)器發(fā)所更新后的信息。
該消息包括根服務(wù)器所管轄范圍內(nèi)網(wǎng)絡(luò)的拓?fù)浜头峙湫畔ⅲ總€(gè)根服務(wù)器 維護(hù)一個(gè)統(tǒng)一的數(shù)據(jù)結(jié)構(gòu)。
下面根據(jù)附圖詳細(xì)說明本發(fā)明,本發(fā)明的目的和效果將變得更加明顯。圖1是邏輯業(yè)務(wù)承載網(wǎng)的體系結(jié)構(gòu),它采用分布式分層管理的模型。在該體系結(jié)構(gòu)中,多個(gè)路由節(jié)點(diǎn)組成一個(gè)域,多個(gè)域組成一個(gè)區(qū),全網(wǎng)由多個(gè)區(qū)組成。
分層的角度來說,模型分為三層,所有路由節(jié)點(diǎn)組成物理承載層,柔性網(wǎng)絡(luò)配置代理組成域管理層,所有根服務(wù)器構(gòu)成全網(wǎng)管理層。域管理層接收全網(wǎng)管理層發(fā)送的域間邏輯業(yè)務(wù)網(wǎng)配置命令,并傳遞給物理承載層,由物理承載層完成邏輯業(yè)務(wù)網(wǎng)的構(gòu)建。對(duì)于域內(nèi)邏輯業(yè)務(wù)網(wǎng)的配置,由域管理層直接處理后將配置信息傳遞給物理承載層。
每個(gè)柔性網(wǎng)絡(luò)配置代理,它負(fù)責(zé)對(duì)域內(nèi)路由節(jié)點(diǎn)資源信息和拓?fù)湫畔⑦M(jìn)行管理,當(dāng)構(gòu)建邏輯業(yè)務(wù)網(wǎng)時(shí),負(fù)責(zé)域內(nèi)的拓?fù)浒l(fā)現(xiàn)和資源感知。
每個(gè)根服務(wù)器負(fù)責(zé)對(duì)域間資源信息和拓?fù)湫畔⑦M(jìn)行管理,當(dāng)構(gòu)建跨域的邏輯業(yè)務(wù)網(wǎng)時(shí),負(fù)責(zé)域間的拓?fù)浒l(fā)現(xiàn)和資源感知。根服務(wù)器通過柔性網(wǎng)絡(luò)配置代理獲得域間資源信息,配置跨域的邏輯業(yè)務(wù)網(wǎng)。每個(gè)根服務(wù)器內(nèi)部維護(hù)一個(gè)隊(duì)
列Q,它用來記錄其他根服務(wù)器的令牌請(qǐng)求。同時(shí)它也維護(hù)一個(gè)寫鎖M,用來保證本區(qū)資源分配的一致性。
由于采用邏輯時(shí)戳,所以每個(gè)根服務(wù)器內(nèi)部各自維護(hù)一個(gè)本地時(shí)鐘即可。
本地時(shí)鐘的值定義如下
本地時(shí)鐘=1 +Max(本地時(shí)鐘,收到令牌請(qǐng)求的邏輯時(shí)戳)。
本地時(shí)鐘都初始化為0,并讓每個(gè)令牌申請(qǐng)都包含發(fā)出該申請(qǐng)的根服務(wù)器的本地時(shí)鐘,這樣可以防止"饑餓"。
初始化時(shí),每個(gè)柔性網(wǎng)絡(luò)配置代理獲取自己域內(nèi)的資源信息和拓?fù)湫畔?,再發(fā)給它所屬的根服務(wù)器,每個(gè)根服務(wù)器在獲取了它的每個(gè)柔性網(wǎng)絡(luò)配置代理所匯報(bào)的信息后,將這些信息整合起來,并發(fā)所給其他根服務(wù)器。
之后執(zhí)行的具體步驟如下
(1) 用戶發(fā)出一個(gè)資源分配的請(qǐng)求。
(2) 發(fā)出請(qǐng)求的路由所屬的柔性網(wǎng)絡(luò)配置代理將該請(qǐng)求傳遞給本區(qū)的根服務(wù)器。
(3) 根服務(wù)器判斷該請(qǐng)求是否跨區(qū)分配資源,若是則轉(zhuǎn)步驟5),否則轉(zhuǎn)步
(4) 申請(qǐng)寫鎖M,如果申請(qǐng)到則進(jìn)行資源分配并轉(zhuǎn)步驟10),否則等待寫鎖M。
(5) 根服務(wù)器檢査自己是否持有令牌,若有則轉(zhuǎn)步驟6),否則轉(zhuǎn)步驟8)。
(6) 申請(qǐng)其他區(qū)的寫鎖M,直到成功等到所有鎖的申請(qǐng)。(7) 進(jìn)行跨區(qū)資源分配,釋放其他區(qū)的寫鎖M,傳遞令牌給它維護(hù)的隊(duì)列
Q中第一個(gè)根服務(wù)器,轉(zhuǎn)步驟10)。
(8) 廣播發(fā)送一個(gè)令牌請(qǐng)求,收到請(qǐng)求的根服務(wù)器將按請(qǐng)求所包含的邏輯時(shí)戳值從小到大插入,等待令牌。
(9) 等到令牌后,轉(zhuǎn)步驟6)。
(10) 該算法待機(jī),直到用戶發(fā)出一個(gè)資源分配請(qǐng)求,轉(zhuǎn)步驟l)。維護(hù)配置一致性的程序同時(shí)在每個(gè)根服務(wù)器上運(yùn)行,程序流程如圖2和圖3所示。
權(quán)利要求
1、一種在一體化承載網(wǎng)中維護(hù)根服務(wù)器配置一致性的方法,一體化承載網(wǎng)由一組根服務(wù)器、一組柔性網(wǎng)絡(luò)配置代理和一系列路由器組成。其特征在于,包括以下步驟(1)每個(gè)根服務(wù)器維護(hù)一個(gè)寫鎖,該根服務(wù)器可以對(duì)其所管轄的區(qū)進(jìn)行資源分配,根服務(wù)器初始化創(chuàng)建一個(gè)資源數(shù)為1的信號(hào)量M。(2)所有根服務(wù)器共同維護(hù)一個(gè)令牌,持有令牌的根服務(wù)器可跨區(qū)分配資源。(3)當(dāng)有一個(gè)本區(qū)域內(nèi)的資源分配請(qǐng)求時(shí),起始的路由節(jié)點(diǎn)所屬的柔性網(wǎng)絡(luò)配置代理向根服務(wù)器申請(qǐng)寫鎖,當(dāng)申請(qǐng)到后,進(jìn)行資源分配,之后釋放寫鎖。否則,排隊(duì)等待。(4)當(dāng)有一個(gè)跨區(qū)的資源分配請(qǐng)求時(shí),該區(qū)的根服務(wù)器如果沒持有令牌,則排隊(duì)等待。否則,申請(qǐng)其他涉及的區(qū)域的寫鎖,如果沒申請(qǐng)到,則排隊(duì)等待,否則,進(jìn)行資源分配,釋放寫鎖,傳遞令牌。(5)每個(gè)更新了的根服務(wù)器向其他根服務(wù)器發(fā)所更新后的信息。
全文摘要
本發(fā)明公開了一種在一體化承載網(wǎng)中維護(hù)根服務(wù)器配置一致性的方法,一體化承載網(wǎng)由一組根服務(wù)器、一組柔性網(wǎng)絡(luò)配置代理和一系列路由器組成,本發(fā)明提出了一種基于令牌網(wǎng)和邏輯時(shí)戳相結(jié)合的方法來維護(hù)配置一致性,在這種機(jī)制下,整體根服務(wù)器所組成的網(wǎng)絡(luò)可以是任意的拓?fù)浣Y(jié)構(gòu);由于引入了邏輯時(shí)戳,每個(gè)根服務(wù)器也不用再像傳統(tǒng)算法那樣維護(hù)一個(gè)全局時(shí)鐘;而令牌和寫鎖的相結(jié)合,可以防止死鎖的發(fā)生。
文檔編號(hào)H04L12/56GK101465815SQ200910095208
公開日2009年6月24日 申請(qǐng)日期2009年1月5日 優(yōu)先權(quán)日2009年1月5日
發(fā)明者吳春明, 明 姜, 旻 張, 棟 張, 偉 熊, 功 陳, 陳均華 申請(qǐng)人:浙江大學(xué)