專利名稱:一種解決標(biāo)簽碎片的時(shí)隙分配方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及光通信領(lǐng)域,特別涉及一種在自動(dòng)交換光網(wǎng)絡(luò)(Automatic Switched Optical Network, ASON)中,解決標(biāo)簽碎片的時(shí)隙分配方法及裝置。
背景技術(shù):
ASON是能夠智能化地自動(dòng)完成光網(wǎng)絡(luò)交換連接功能的新一代光傳送網(wǎng)。同步數(shù)字 傳輸體制(Synchronous Digital Hierarchy, SDH),是一種傳輸體制。ASON 是基于 SDH 的 一種自動(dòng)化的應(yīng)用。SDH體制有一套標(biāo)準(zhǔn)的信息結(jié)構(gòu)等級,即有一套標(biāo)準(zhǔn)的速率等級。基本的信號(hào)傳 輸結(jié)構(gòu)等級是同步傳輸模塊——STM-1,相應(yīng)的速率是155Mbit/s,其凈荷為一個(gè)VC4單元。 高等級的數(shù)字信號(hào)系列,例如622Mbit/s(STM-4)、2. 5Gbit/s (STM-16)等,可通過將低速率 等級的信息模塊(例如STM-1)通過字節(jié)間插同步復(fù)接而成,復(fù)接的個(gè)數(shù)是4的倍數(shù),例如 STM-4 = 4 X STM-I,STM-16 = 4XSTM-4。目前ASON系統(tǒng)中只支持標(biāo)準(zhǔn)級聯(lián),所以帶寬顆粒度分為VC4、VC4-4C、VC4-16C、 VC4-64C帶寬。以STM-64鏈路為例,要想建立帶寬為VC4-4C的級聯(lián)業(yè)務(wù),其起始時(shí)隙只能 為1、5、9、13、17. ..,61#VC4,要想建立帶寬為VC4-16C的級聯(lián)業(yè)務(wù),其起始時(shí)隙只能為1、 17、33、49#VC4。如圖1所示,是目前資源分配處理方式,申請標(biāo)簽有三種方式強(qiáng)制、建議和任意 分配,并且按照節(jié)點(diǎn)的不同位置和上下游方向的不同,申請標(biāo)簽的方式也不同。其中,強(qiáng)制分配是指業(yè)務(wù)模塊指定哪個(gè)時(shí)隙,就必須分配哪個(gè)時(shí)隙;建議分配是指 如果業(yè)務(wù)模塊指定的時(shí)隙不可用,那么任意分配一個(gè)時(shí)隙;任意分配是指順序遍歷時(shí)隙資 源列表,有可用的就直接分配,即優(yōu)先分配時(shí)隙號(hào)較低的資源。這種任意分配方式就可能造 成時(shí)隙資源劃分的不合理,只考慮到當(dāng)時(shí)資源分配的方便,沒有考慮到資源的有效使用。如圖2所示,如果需要分配一個(gè)VC4的資源,那么按照現(xiàn)有的處理方式,在首節(jié)點(diǎn) 采用任意分配方式,直接分配了 1號(hào)時(shí)隙的資源給該業(yè)務(wù),雖然此時(shí)可用的空閑資源有5個(gè) 時(shí)隙,但是卻無法滿足分配一個(gè)VC4-4C的資源。
發(fā)明內(nèi)容
本發(fā)明的目的在于,提供一種解決標(biāo)簽碎片的時(shí)隙分配方法,能有效減少任意分 配時(shí)時(shí)隙碎片的產(chǎn)生,更加合理使用時(shí)隙資源。本發(fā)明的另一目的在于,提供一種解決標(biāo)簽碎片的時(shí)隙分配裝置,能有效減少任 意分配時(shí)時(shí)隙碎片的產(chǎn)生,更加合理使用時(shí)隙資源。本發(fā)明的解決標(biāo)簽碎片的時(shí)隙分配方法,包括下列步驟為鏈路STM-N建立n+1個(gè)存儲(chǔ)結(jié)構(gòu),分別存儲(chǔ)帶寬為4X的起始時(shí)隙S,其中, 0彡X彡η ;在分配帶寬為4Χ的時(shí)隙資源時(shí),初始化K = X,其中,K為常量,其數(shù)值大小為分配帶寬為4X的時(shí)隙資源時(shí)X的初始值,并查看帶寬為4X的存儲(chǔ)結(jié)構(gòu)中是否有可用節(jié)點(diǎn);在有 可用節(jié)點(diǎn)時(shí),取所述存儲(chǔ)結(jié)構(gòu)中的第一個(gè)節(jié)點(diǎn),得到起始時(shí)隙值S,進(jìn)行時(shí)隙分配,并重新調(diào) 整存儲(chǔ)結(jié)構(gòu);在釋放帶寬為4X的時(shí)隙資源時(shí),查看帶寬為4X的存儲(chǔ)結(jié)構(gòu)是否為空,在不為空時(shí), 根據(jù)所釋放帶寬時(shí)隙資源的起始時(shí)隙s的大小,將起始時(shí)隙s插入到當(dāng)前帶寬為4X的存儲(chǔ) 結(jié)構(gòu)中相應(yīng)位置,并判斷當(dāng)前帶寬存儲(chǔ)結(jié)構(gòu)中是否有能合并到上一級帶寬存儲(chǔ)結(jié)構(gòu)的時(shí)隙 資源,如果有則將該時(shí)隙資源合并到上一級帶寬存儲(chǔ)結(jié)構(gòu)中,進(jìn)而逐級判斷是否能夠合并, 直到不能合并為止。其中,在分配帶寬為4X的時(shí)隙資源時(shí),如果當(dāng)前帶寬的存儲(chǔ)結(jié)構(gòu)為空,且X興n,則 查看上一級帶寬的存儲(chǔ)結(jié)構(gòu)中是否有可用節(jié)點(diǎn),如果直到帶寬為4n的存儲(chǔ)結(jié)構(gòu)仍為空時(shí), 則分配不成功;在釋放帶寬為4X的時(shí)隙資源時(shí),如果當(dāng)前帶寬的存儲(chǔ)結(jié)構(gòu)為空,則直接插入 當(dāng)前帶寬為4X的存儲(chǔ)結(jié)構(gòu)中。其中,在分配帶寬為4X的時(shí)隙資源時(shí),所述重新調(diào)整存儲(chǔ)結(jié)構(gòu)為從當(dāng)前帶寬的 存儲(chǔ)結(jié)構(gòu)中刪除該S結(jié)點(diǎn),如果此時(shí)X興K,則令X = x-l,并根據(jù)起始時(shí)隙S+4X、S+2X4x、 S+3X4x的大小依次插入到帶寬為4X的存儲(chǔ)結(jié)構(gòu)中,直到X = K。另外,在釋放帶寬為4X的時(shí)隙資源時(shí),所述根據(jù)所釋放帶寬時(shí)隙資源的起始時(shí)隙s 的大小,將起始時(shí)隙s插入到當(dāng)前帶寬為4X的存儲(chǔ)結(jié)構(gòu)中相應(yīng)位置為判斷當(dāng)前帶寬存儲(chǔ) 結(jié)構(gòu)中是否有連續(xù)的4個(gè)4X的時(shí)隙資源,如果有且滿足起始時(shí)隙分配要求,則將該4個(gè)4X 的時(shí)隙資源合并到上一級帶寬4X+1存儲(chǔ)結(jié)構(gòu)中相應(yīng)位置,直到帶寬為4n的存儲(chǔ)結(jié)構(gòu)。進(jìn)一步地,可以包括下列步驟步驟Al 計(jì)算((s-l)/4x) % 4得到的數(shù)值,如果為0,則執(zhí)行步驟A2 ;如果為1,則 執(zhí)行步驟A3 ;如果為2,則執(zhí)行步驟A4 ;如果為3,則執(zhí)行步驟A5 ;步驟A2 如果所述存儲(chǔ)結(jié)構(gòu)中相應(yīng)位置之后至少有三個(gè)結(jié)點(diǎn),且起始時(shí)隙分別為 s+4x、s+2X4x、s+3X4x,那么刪除從起始時(shí)隙為s的四個(gè)結(jié)點(diǎn),并在帶寬為4X+1的存儲(chǔ)結(jié)構(gòu) 中插入起始時(shí)隙為s的結(jié)點(diǎn),另X = X+1,如果X Φ η,則返回步驟31,否則結(jié)束;步驟A3 如果所述存儲(chǔ)結(jié)構(gòu)中相應(yīng)位置之前至少有一個(gè)結(jié)點(diǎn),之后至少有兩個(gè)結(jié) 點(diǎn),且這三個(gè)結(jié)點(diǎn)分別為s_4x,s+4x, s+2X4x,那么刪除從起始時(shí)隙為s-4x的四個(gè)結(jié)點(diǎn),并在 帶寬為4X+1的存儲(chǔ)結(jié)構(gòu)中,插入起始時(shí)隙為s_4x的結(jié)點(diǎn),另s = s_4x,X = X+1,如果X興η, 則返回步驟31,否則結(jié)束;步驟Α4 如果所述存儲(chǔ)結(jié)構(gòu)中相應(yīng)位置之前至少有兩個(gè)結(jié)點(diǎn),之后至少有一個(gè)結(jié) 點(diǎn),且這三個(gè)結(jié)點(diǎn)分別為s-2X4x,s-4x, s+4x,那么刪除從起始時(shí)隙為s-2X4x的四個(gè)結(jié)點(diǎn), 并在帶寬為4X+1的存儲(chǔ)結(jié)構(gòu)中,插入起始時(shí)隙為s_2X4x的結(jié)點(diǎn),另s = s-2X4x,X = X+1, 如果X興n,則返回步驟31,否則結(jié)束;步驟A5 如果所述存儲(chǔ)結(jié)構(gòu)中相應(yīng)位置之前至少有三個(gè)結(jié)點(diǎn),且這三個(gè)結(jié)點(diǎn)分別 為s-3X4x, s-2X4x, s_4x,那么刪除從起始時(shí)隙為s_3X4x的四個(gè)結(jié)點(diǎn),并在帶寬為4X+1的 鏈表中,插入起始時(shí)隙為s-3X4x的結(jié)點(diǎn),另s = s-3X4x,X = X+1,如果X興n,則返回步驟 31,否則結(jié)束。本發(fā)明的解決標(biāo)簽碎片的時(shí)隙分配裝置,包括存儲(chǔ)單元、分配帶寬單元、釋放帶寬 單元,其中,所述存儲(chǔ)單元,為鏈路STM-N建立n+1個(gè)存儲(chǔ)結(jié)構(gòu),分別存儲(chǔ)帶寬為4X的起始
5時(shí)隙S,其中,0 < X < η ;所述分配帶寬單元,用于在分配帶寬為4Χ的時(shí)隙資源時(shí),初始化 K = X,其中,K為常量,其數(shù)值大小為分配帶寬為4Χ的時(shí)隙資源時(shí)X的初始值,并查看所述 存儲(chǔ)單元中帶寬為4Χ的存儲(chǔ)結(jié)構(gòu)中是否有可用節(jié)點(diǎn);在有可用節(jié)點(diǎn)時(shí),取所述存儲(chǔ)結(jié)構(gòu)中 的第一個(gè)節(jié)點(diǎn),得到起始時(shí)隙值S,進(jìn)行時(shí)隙分配,并通知所述存儲(chǔ)單元重新調(diào)整存儲(chǔ)結(jié)構(gòu); 所述釋放帶寬單元,用于在釋放帶寬為4Χ的時(shí)隙資源時(shí),查看所述存儲(chǔ)單元中帶寬為4Χ的 存儲(chǔ)結(jié)構(gòu)是否為空,在不為空時(shí),根據(jù)所釋放帶寬時(shí)隙資源的起始時(shí)隙s的大小,通知所述 存儲(chǔ)單元將起始時(shí)隙s插入到當(dāng)前帶寬為4Χ的存儲(chǔ)結(jié)構(gòu)中相應(yīng)位置,并判斷當(dāng)前所述存儲(chǔ) 單元的存儲(chǔ)結(jié)構(gòu)中是否有能合并到上一級帶寬存儲(chǔ)結(jié)構(gòu)的時(shí)隙資源,如果有則通知所述存 儲(chǔ)單元將所述時(shí)隙資源合并到上一級帶寬的存儲(chǔ)結(jié)構(gòu)中,進(jìn)而逐級判斷是否能夠合并,直 到不能合并為止。其中,在所述分配帶寬單元中,分配帶寬為4Χ的時(shí)隙資源時(shí),如果查看所述存儲(chǔ) 單元中當(dāng)前帶寬的存儲(chǔ)結(jié)構(gòu)為空,且X興η,則查看上一級帶寬的存儲(chǔ)結(jié)構(gòu)中是否有可用節(jié) 點(diǎn),如果直到帶寬為4η的存儲(chǔ)結(jié)構(gòu)仍為空時(shí),則分配不成功;在釋放帶寬為4Χ的時(shí)隙資源 時(shí),如果當(dāng)前帶寬的存儲(chǔ)結(jié)構(gòu)為空,則直接插入當(dāng)前帶寬為4Χ的存儲(chǔ)結(jié)構(gòu)中。其中,在所述分配帶寬單元中,所述重新調(diào)整存儲(chǔ)結(jié)構(gòu)為從當(dāng)前帶寬的存儲(chǔ)結(jié)構(gòu) 中刪除該S結(jié)點(diǎn),如果此時(shí)X興K,則令X = X-I,并根據(jù)起始時(shí)隙S+4x、S+2X4x、S+3X4x的 大小依次插入到帶寬為4X的存儲(chǔ)結(jié)構(gòu)中,直到X = K。另外,在所述釋放帶寬單元中,所述根據(jù)所釋放帶寬時(shí)隙資源的起始時(shí)隙s的大 小,將起始時(shí)隙s插入到當(dāng)前帶寬為4X的存儲(chǔ)結(jié)構(gòu)中相應(yīng)位置為判斷當(dāng)前帶寬存儲(chǔ)結(jié)構(gòu) 中是否有連續(xù)的4個(gè)4X的時(shí)隙資源,如果有且滿足起始時(shí)隙分配要求,則將該4個(gè)4X的時(shí) 隙資源合并到上一級帶寬4X+1存儲(chǔ)結(jié)構(gòu)中相應(yīng)位置,直到帶寬為4n的存儲(chǔ)結(jié)構(gòu)。本發(fā)明的有益效果是依照本發(fā)明的解決標(biāo)簽碎片的時(shí)隙分配方法及裝置,通過 為鏈路STM-N建立n+1個(gè)存儲(chǔ)結(jié)構(gòu),在分配帶寬為4X的時(shí)隙資源時(shí),以及在釋放帶寬為4X 的時(shí)隙資源時(shí),通過本發(fā)明的算法能有效減少任意分配時(shí)時(shí)隙碎片的產(chǎn)生,更加合理使用 時(shí)隙資源。
圖1為目前ASON中時(shí)隙分配方法的示意圖2為STM-16鏈路的資源使用示意圖3為本發(fā)明的解決標(biāo)簽碎片的時(shí)隙分配方法流程示意圖
圖4為本發(fā)明的解決標(biāo)簽碎片的時(shí)隙分配方法流程示意圖
圖5為ASON初次啟動(dòng)時(shí)的鏈表示意圖6為本發(fā)明實(shí)施例--的時(shí)隙分配示意圖7為本發(fā)明實(shí)施例二二的時(shí)隙分配示意圖8為本發(fā)明實(shí)施例三Ξ的時(shí)隙分配示意圖。
具體實(shí)施例方式以下,參考附圖1 8詳細(xì)描述本發(fā)明的解決標(biāo)簽碎片的時(shí)隙分配方法及裝置。本發(fā)明設(shè)計(jì)了一種新的時(shí)隙分配方法,使得在分配該VC4資源的時(shí)候,分配了 9號(hào)
6時(shí)隙給該業(yè)務(wù),那么剩余的資源還可以用來建立一個(gè)VC4-4C帶寬的業(yè)務(wù)。首先,對本發(fā)明中需要的參數(shù)進(jìn)行定義與說明。1)鏈路的規(guī)格N和η鏈路的規(guī)格定義為STM-N,取η = Iog4N,即4η = N,其中η根據(jù)實(shí)際鏈路規(guī)格計(jì)算 得到。2)待分配的資源大小Χ待分配資源的大小以VC4為時(shí)隙單位。在規(guī)格為STM-N的鏈路中,可供分配的資
源規(guī)格為4的X次方個(gè)VC4,X為整數(shù)且在
區(qū)間內(nèi),即X的取值為0、1.....η-1、η中
的一個(gè)。3)起始時(shí)隙S和sS是帶寬為4Χ的標(biāo)準(zhǔn)級聯(lián)的起始時(shí)隙,S為整數(shù)且在[1,Ν]區(qū)間內(nèi);s是所釋放資 源的起始時(shí)隙,s為整數(shù)且在[1,N]區(qū)間內(nèi);4)資源分配列表及其頭結(jié)點(diǎn)與順序遍歷方式所有的資源都存放在資源分配列表中,其長度等于鏈路的規(guī)格,即N ;資源分配列 表有一個(gè)頭結(jié)點(diǎn),查詢資源從頭結(jié)點(diǎn)開始;資源分配列表順序遍歷從頭結(jié)點(diǎn)開始。如圖3所示,本發(fā)明的解決標(biāo)簽碎片的時(shí)隙分配方法,包括下列步驟步驟100 預(yù)先為鏈路STM-N建立η+1個(gè)存儲(chǔ)結(jié)構(gòu),分別存儲(chǔ)帶寬為4Χ (0 < X < η) 的起始時(shí)隙S ;其中,在步驟100中,這η+1個(gè)存儲(chǔ)結(jié)構(gòu)是互斥的,即如果一段連續(xù)空閑資源存在 于一個(gè)帶寬為4Χ的存儲(chǔ)結(jié)構(gòu)中,就不會(huì)出現(xiàn)在Ρ—1或者其它帶寬更小的存儲(chǔ)結(jié)構(gòu)中。步驟200 在分配帶寬為4Χ的時(shí)隙資源時(shí),根據(jù)帶寬4Χ的X數(shù)值,初始化K = X,并 根據(jù)該X數(shù)值,查看帶寬為4Χ的存儲(chǔ)結(jié)構(gòu)中是否有可用節(jié)點(diǎn);如果存儲(chǔ)結(jié)構(gòu)為空,且X興η, 此時(shí)另X = Χ+1,并查看上一級別帶寬的存儲(chǔ)結(jié)構(gòu)中是否有可用節(jié)點(diǎn),如果直到帶寬為4η的 存儲(chǔ)結(jié)構(gòu)仍為空時(shí),則分配不成功;否則,取當(dāng)前帶寬存儲(chǔ)結(jié)構(gòu)中包含的第一個(gè)節(jié)點(diǎn),得到 起始時(shí)隙值S,分配資源(S,4Κ),并從當(dāng)前帶寬的存儲(chǔ)結(jié)構(gòu)中刪除該S結(jié)點(diǎn),如果此時(shí)X興K, 則令χ = Χ-1,并根據(jù)起始時(shí)隙S+4X,S+2X4x,S+3X4x的大小依次插入到帶寬為4X的存儲(chǔ) 結(jié)構(gòu)中,直到X = K。步驟300 當(dāng)釋放帶寬為4X的時(shí)隙資源時(shí),根據(jù)X值,查看帶寬為4X的存儲(chǔ)結(jié)構(gòu)是 否為空,如果為空,則直接插入當(dāng)前帶寬為4X的存儲(chǔ)結(jié)構(gòu)中,否則,根據(jù)所釋放帶寬時(shí)隙資 源的起始時(shí)隙s的大小,將起始時(shí)隙s插入到當(dāng)前帶寬為4X的存儲(chǔ)結(jié)構(gòu)中相應(yīng)位置,并判 斷當(dāng)前帶寬存儲(chǔ)結(jié)構(gòu)中是否有能合并到上一級帶寬存儲(chǔ)結(jié)構(gòu)的時(shí)隙資源,如果有則將該時(shí) 隙資源合并到上一級帶寬存儲(chǔ)結(jié)構(gòu)中,進(jìn)而逐級判斷是否能夠合并,直到不能合并為止。其中,根據(jù)所釋放帶寬時(shí)隙資源的起始時(shí)隙s的大小,將起始時(shí)隙s插入到當(dāng)前帶 寬為4X的存儲(chǔ)結(jié)構(gòu)中相應(yīng)位置為判斷當(dāng)前帶寬存儲(chǔ)結(jié)構(gòu)中是否有連續(xù)的4個(gè)4X的時(shí)隙資 源,如果有且滿足起始時(shí)隙分配要求,則將該4個(gè)4X的時(shí)隙資源合并到上一級帶寬4X+1存儲(chǔ) 結(jié)構(gòu)中相應(yīng)位置,直到帶寬為4n的存儲(chǔ)結(jié)構(gòu)。具體地,如圖4所示,包括下列步驟步驟31 計(jì)算((s-1)/4X) % 4得到的數(shù)值,如果((s-1)/4X) % 4 = 0,則執(zhí)行步驟 32 ;
7
如果((s-1)/4X) % 4 = 1,則執(zhí)行步驟 33 ;如果((s-1)/4X) % 4 = 2,則執(zhí)行步驟 34 ;如果((s_l)/4x)%4 = 3,則執(zhí)行步驟35;其中,計(jì)算公式((s_l)/4X) % 4中,% 為求余符號(hào)。步驟32 如果其后至少有三個(gè)結(jié)點(diǎn),且起始時(shí)隙分別為s+4x、s+2X4x、s+3X4x,那 么刪除從起始時(shí)隙為s的四個(gè)結(jié)點(diǎn),并在帶寬為4X+1的存儲(chǔ)結(jié)構(gòu)中插入起始時(shí)隙為s的結(jié) 點(diǎn),另X = X+1,如果X興n,則返回步驟31,否則結(jié)束;步驟33 如果其前至少有一個(gè)結(jié)點(diǎn),其后至少有兩個(gè)結(jié)點(diǎn),且這三個(gè)結(jié)點(diǎn)分別為 s-4x, s+4x, s+2X4x,那么刪除從起始時(shí)隙為s-4x的四個(gè)結(jié)點(diǎn),并在帶寬為4X+1的存儲(chǔ)結(jié)構(gòu) 中,插入起始時(shí)隙為s-4x的結(jié)點(diǎn),另s = s_4x,X = X+1,如果X興n,則返回步驟31,否則結(jié) 束;步驟34:如果其前至少有兩個(gè)結(jié)點(diǎn),其后至少有一個(gè)結(jié)點(diǎn),且這三個(gè)結(jié)點(diǎn)分別為 s-2X4x, s-4x, s+4x,那么刪除從起始時(shí)隙為s-2X4x的四個(gè)結(jié)點(diǎn),并在帶寬為4X+1的存儲(chǔ)結(jié) 構(gòu)中,插入起始時(shí)隙為s_2X4x的結(jié)點(diǎn),另s = s-2X4x, X = X+1,如果X興n,則返回步驟 31,否則結(jié)束;
步驟35 如果其前至少有三個(gè)結(jié)點(diǎn),且這三個(gè)結(jié)點(diǎn)分別為s_3X4x,s_2X4x,s_4x, 那么刪除從起始時(shí)隙為s-3X4x的四個(gè)結(jié)點(diǎn),并在帶寬為4X+1的鏈表中,插入起始時(shí)隙為 s-3 X 4X的結(jié)點(diǎn),另s = s-3 X 4X,X = X+1,如果X乒η,則返回步驟31,否則結(jié)束。本發(fā)明的解決標(biāo)簽碎片的時(shí)隙分配裝置,包括存儲(chǔ)單元、分配帶寬單元、釋放帶寬 單元,其中,存儲(chǔ)單元,為鏈路STM-N建立η+1個(gè)存儲(chǔ)結(jié)構(gòu),分別存儲(chǔ)帶寬為4Χ的起始時(shí)隙 S,其中,η;分配帶寬單元,用于在分配帶寬為4Χ的時(shí)隙資源時(shí),初始化K = X,并查 看所述存儲(chǔ)單元中帶寬為4Χ的存儲(chǔ)結(jié)構(gòu)中是否有可用節(jié)點(diǎn);在有可用節(jié)點(diǎn)時(shí),取所述存儲(chǔ) 結(jié)構(gòu)中的第一個(gè)節(jié)點(diǎn),得到起始時(shí)隙值S,進(jìn)行時(shí)隙分配,并通知所述存儲(chǔ)單元重新調(diào)整存 儲(chǔ)結(jié)構(gòu);釋放帶寬單元,用于在釋放帶寬為4Χ的時(shí)隙資源時(shí),查看所述存儲(chǔ)單元中帶寬為4Χ 的存儲(chǔ)結(jié)構(gòu)是否為空,在不為空時(shí),根據(jù)所釋放帶寬時(shí)隙資源的起始時(shí)隙s的大小,通知所 述存儲(chǔ)單元將起始時(shí)隙s插入到當(dāng)前帶寬為4Χ的存儲(chǔ)結(jié)構(gòu)中相應(yīng)位置,并判斷當(dāng)前所述存 儲(chǔ)單元的存儲(chǔ)結(jié)構(gòu)中是否有能合并到上一級帶寬存儲(chǔ)結(jié)構(gòu)的時(shí)隙資源,如果有則通知所述 存儲(chǔ)單元將所述時(shí)隙資源合并到上一級帶寬的存儲(chǔ)結(jié)構(gòu)中,進(jìn)而逐級判斷是否能夠合并, 直到不能合并為止。下面僅以鏈表的存儲(chǔ)結(jié)構(gòu)為例,對本發(fā)明的算法進(jìn)行說明,但是,本發(fā)明的存儲(chǔ)結(jié) 構(gòu)并不局限于此,還可以有多種,例如數(shù)組、二叉樹等。實(shí)施例一當(dāng)ASON初次啟動(dòng)并初始化完畢,鏈路帶寬為STM-64,則η = 3,此時(shí)分 配一個(gè)帶寬為VC4的時(shí)隙,具體描述步驟如下步驟101 由于業(yè)務(wù)帶寬為VC4,因此X = 0,K = 0 ;步驟102 查看帶寬為4°的鏈表,如圖5所示,該鏈表為空,且X興3,則X = Χ+1, 直至X = 3,此時(shí)該鏈表不為空,取出該鏈表的第一個(gè)結(jié)點(diǎn),得到起始時(shí)隙的值S = 1,分配 資源(1,1);步驟103 從帶寬為43的鏈表中刪除時(shí)隙值為1的結(jié)點(diǎn),因?yàn)閄興K,所以X = X-I ;步驟104 在帶寬為42的鏈表中,依次將起始時(shí)隙為S+42、S+2X42、S+3X42的結(jié)點(diǎn)插入到該鏈表中,即17、33、49,因?yàn)?(乒0,所以父=父-1 ;步驟105 在帶寬為41的鏈表中,依次將起始時(shí)隙為S+41,S+2X41,S+3X41的結(jié) 點(diǎn)插入到該鏈表中,即5、9、13,因?yàn)閄乒0,所以X = X-I ;步驟106 在帶寬為4°的鏈表中,依次將起始時(shí)隙為S+4°,S+2X40, S+3X40的結(jié) 點(diǎn)插入到該鏈表中,即2、3、4,因?yàn)閄 = 0,執(zhí)行完畢。執(zhí)行完后,鏈表結(jié)構(gòu)如圖6所示。實(shí)施例二 如圖7所示,如果此時(shí)需要分配一個(gè)帶寬為VC4-4C的時(shí)隙資源,具體描 述步驟如下步驟201 業(yè)務(wù)帶寬為VC4-4C,因此X = 1,K = 1 ;步驟202 查看帶寬為41的鏈表,該鏈表為空,且X興3,那么X = X+1,重新執(zhí)行 202,查看帶寬為42的鏈表,該鏈表不為空,取出該鏈表的第一個(gè)結(jié)點(diǎn),得到起始時(shí)隙的值S =17,分配資源(17,4);步驟203 從帶寬為42的鏈表中刪除時(shí)隙值為17的結(jié)點(diǎn),因?yàn)閄興K,所以X = X-I ;步驟204 在帶寬為41的鏈表中,依次將起始時(shí)隙為S+41,S+2X41,S+3X41的結(jié) 點(diǎn)插入到該鏈表中,即21、25、29,因?yàn)閄 = 1,執(zhí)行完畢;執(zhí)行完后,鏈表結(jié)構(gòu)如圖7所示。實(shí)施例三如圖8所示,如果此時(shí)釋放一個(gè)帶寬為VC4的時(shí)隙,且該時(shí)隙的時(shí)隙號(hào) 為2,具體描述步驟如下步驟301 釋放帶寬為VC4的時(shí)隙,此時(shí)X = 0,s = 2 ;步驟302 查看帶寬為40的鏈表,該鏈表不為空,將時(shí)隙為2的結(jié)點(diǎn)插入到該鏈表 中;步驟303 因?yàn)?(2-1)/40) % 4 = 1,根據(jù)算法步驟H,時(shí)隙為2的結(jié)點(diǎn)前有一個(gè)時(shí) 隙為1的結(jié)點(diǎn),其后有多于2個(gè)的結(jié)點(diǎn),且這三個(gè)結(jié)點(diǎn)分別為S-4x,s+4x,s+2X4x,即1,3,4, 那么刪除從起始時(shí)隙為1的四個(gè)結(jié)點(diǎn),并在帶寬為41的鏈表中,插入起始時(shí)隙為1的結(jié)點(diǎn), s = s-4x, X = X+1,即 s = 1,X = 1 ;步驟304 因?yàn)?(1-1)/41) %4 = 0,根據(jù)算法步驟G,時(shí)隙為1的結(jié)點(diǎn)后至少有三 個(gè)結(jié)點(diǎn),且這三個(gè)結(jié)點(diǎn)分別為s+4x, s+2X4x, s+3X4x,即5、9、13,很顯然,不符合要求,不需 要再繼續(xù)合并,執(zhí)行完畢。執(zhí)行完后,鏈表結(jié)構(gòu)如圖8所示。綜上所述,依照本發(fā)明的解決標(biāo)簽碎片的時(shí)隙分配方法及裝置,通過為鏈路STM-N 建立n+1個(gè)存儲(chǔ)結(jié)構(gòu),在分配帶寬為4X的時(shí)隙資源時(shí),以及在釋放帶寬為4X的時(shí)隙資源時(shí), 利用本發(fā)明的算法能有效減少任意分配時(shí)時(shí)隙碎片的產(chǎn)生,更加合理使用時(shí)隙資源。以上是為了使本領(lǐng)域普通技術(shù)人員理解本發(fā)明,而對本發(fā)明所進(jìn)行的詳細(xì)描述, 但可以想到,在不脫離本發(fā)明的權(quán)利要求所涵蓋的范圍內(nèi)還可以做出其它的變化和修改, 這些變化和修改均在本發(fā)明的保護(hù)范圍內(nèi)。
9
權(quán)利要求
一種解決標(biāo)簽碎片的時(shí)隙分配方法,其特征在于,包括下列步驟為鏈路STM N建立n+1個(gè)存儲(chǔ)結(jié)構(gòu),分別存儲(chǔ)帶寬為4X的起始時(shí)隙S,其中,0≤X≤n;在分配帶寬為4X的時(shí)隙資源時(shí),初始化K=X,其中,K為常量,其數(shù)值大小為分配帶寬為4X的時(shí)隙資源時(shí)X的初始值,并查看帶寬為4X的存儲(chǔ)結(jié)構(gòu)中是否有可用節(jié)點(diǎn);在有可用節(jié)點(diǎn)時(shí),取所述存儲(chǔ)結(jié)構(gòu)中的第一個(gè)節(jié)點(diǎn),得到起始時(shí)隙值S,進(jìn)行時(shí)隙分配,并重新調(diào)整存儲(chǔ)結(jié)構(gòu);在釋放帶寬為4X的時(shí)隙資源時(shí),查看帶寬為4X的存儲(chǔ)結(jié)構(gòu)是否為空,在不為空時(shí),根據(jù)所釋放帶寬時(shí)隙資源的起始時(shí)隙s的大小,將起始時(shí)隙s插入到當(dāng)前帶寬為4X的存儲(chǔ)結(jié)構(gòu)中相應(yīng)位置,并判斷當(dāng)前帶寬存儲(chǔ)結(jié)構(gòu)中是否有能合并到上一級帶寬存儲(chǔ)結(jié)構(gòu)的時(shí)隙資源,如果有則將該時(shí)隙資源合并到上一級帶寬存儲(chǔ)結(jié)構(gòu)中,進(jìn)而逐級判斷是否能夠合并,直到不能合并為止。
2.如權(quán)利要求1所述的解決標(biāo)簽碎片的時(shí)隙分配方法,其特征在于,在分配帶寬為4Χ的時(shí)隙資源時(shí),如果當(dāng)前帶寬的存儲(chǔ)結(jié)構(gòu)為空,且X興η,則查看上一 級帶寬的存儲(chǔ)結(jié)構(gòu)中是否有可用節(jié)點(diǎn),如果直到帶寬為4η的存儲(chǔ)結(jié)構(gòu)仍為空時(shí),則分配不 成功;在釋放帶寬為4Χ的時(shí)隙資源時(shí),如果當(dāng)前帶寬的存儲(chǔ)結(jié)構(gòu)為空,則直接插入當(dāng)前帶寬 為4Χ的存儲(chǔ)結(jié)構(gòu)中。
3.如權(quán)利要求2所述的解決標(biāo)簽碎片的時(shí)隙分配方法,其特征在于,在分配帶寬為4Χ 的時(shí)隙資源時(shí),所述重新調(diào)整存儲(chǔ)結(jié)構(gòu)為從當(dāng)前帶寬的存儲(chǔ)結(jié)構(gòu)中刪除該S結(jié)點(diǎn),如果此 時(shí)X興K,則令X = X-I,并根據(jù)起始時(shí)隙S+4X、S+2X4x、S+3X4x的大小依次插入到帶寬為 4X的存儲(chǔ)結(jié)構(gòu)中,直到X = K。
4.如權(quán)利要求2所述的解決標(biāo)簽碎片的時(shí)隙分配方法,其特征在于,在釋放帶寬為4X 的時(shí)隙資源時(shí),所述根據(jù)所釋放帶寬時(shí)隙資源的起始時(shí)隙s的大小,將起始時(shí)隙s插入到當(dāng) 前帶寬為4X的存儲(chǔ)結(jié)構(gòu)中相應(yīng)位置為判斷當(dāng)前帶寬存儲(chǔ)結(jié)構(gòu)中是否有連續(xù)的4個(gè)4X的時(shí) 隙資源,如果有且滿足起始時(shí)隙分配要求,則將該4個(gè)4X的時(shí)隙資源合并到上一級帶寬4X+1 存儲(chǔ)結(jié)構(gòu)中相應(yīng)位置,直到帶寬為4n的存儲(chǔ)結(jié)構(gòu)。
5.如權(quán)利要求4所述的解決標(biāo)簽碎片的時(shí)隙分配方法,其特征在于,包括下列步驟步驟Al 計(jì)算((s-1)/4X) % 4得到的數(shù)值,如果為0,則執(zhí)行步驟A2 ;如果為1,則執(zhí)行步驟A3 ;如果為2,則執(zhí)行步驟A4 ;如果為3,則執(zhí)行步驟A5 ;步驟A2 如果所述存儲(chǔ)結(jié)構(gòu)中相應(yīng)位置之后至少有三個(gè)結(jié)點(diǎn),且起始時(shí)隙分別為s+4x、 s+2X4x、s+3X4x,那么刪除從起始時(shí)隙為s的四個(gè)結(jié)點(diǎn),并在帶寬為4X+1的存儲(chǔ)結(jié)構(gòu)中插入 起始時(shí)隙為s的結(jié)點(diǎn),另X = X+1,如果X興n,則返回步驟31,否則結(jié)束;步驟A3 如果所述存儲(chǔ)結(jié)構(gòu)中相應(yīng)位置之前至少有一個(gè)結(jié)點(diǎn),之后至少有兩個(gè)結(jié)點(diǎn), 且這三個(gè)結(jié)點(diǎn)分別為s_4x,s+4x, s+2X4x,那么刪除從起始時(shí)隙為s-4x的四個(gè)結(jié)點(diǎn),并在帶 寬為4X+1的存儲(chǔ)結(jié)構(gòu)中,插入起始時(shí)隙為s_4x的結(jié)點(diǎn),另s = s_4x,X = X+1,如果X興n,則 返回步驟31,否則結(jié)束;步驟A4:如果所述存儲(chǔ)結(jié)構(gòu)中相應(yīng)位置之前至少有兩個(gè)結(jié)點(diǎn),之后至少有一個(gè)結(jié)點(diǎn), 且這三個(gè)結(jié)點(diǎn)分別為s-2 X 4X,s-4x,s+4x,那么刪除從起始時(shí)隙為s-2 X 4X的四個(gè)結(jié)點(diǎn),并在 帶寬為4X+1的存儲(chǔ)結(jié)構(gòu)中,插入起始時(shí)隙為s_2X4x的結(jié)點(diǎn),另s = s-2X4x,X = X+1,如果X興n,則返回步驟31,否則結(jié)束;步驟A5 如果所述存儲(chǔ)結(jié)構(gòu)中相應(yīng)位置之前至少有三個(gè)結(jié)點(diǎn),且這三個(gè)結(jié)點(diǎn)分別為 s-3 X 4X,s-2 X 4X,s-4x,那么刪除從起始時(shí)隙為s-3 X 4X的四個(gè)結(jié)點(diǎn),并在帶寬為4X+1的鏈表 中,插入起始時(shí)隙為s-3X4x的結(jié)點(diǎn),另s = s-3X4x,X = X+1,如果X興n,則返回步驟31, 否則結(jié)束。
6.一種解決標(biāo)簽碎片的時(shí)隙分配裝置,其特征在于,包括存儲(chǔ)單元、分配帶寬單元、釋 放帶寬單元,其中,所述存儲(chǔ)單元,為鏈路STM-N建立n+1個(gè)存儲(chǔ)結(jié)構(gòu),分別存儲(chǔ)帶寬為4X的起始時(shí)隙S, 其中,0彡X彡η ;所述分配帶寬單元,用于在分配帶寬為4Χ的時(shí)隙資源時(shí),初始化K = X,其中,K為常量, 其數(shù)值大小為分配帶寬為4Χ的時(shí)隙資源時(shí)X的初始值,并查看所述存儲(chǔ)單元中帶寬為4Χ的 存儲(chǔ)結(jié)構(gòu)中是否有可用節(jié)點(diǎn);在有可用節(jié)點(diǎn)時(shí),取所述存儲(chǔ)結(jié)構(gòu)中的第一個(gè)節(jié)點(diǎn),得到起始 時(shí)隙值S,進(jìn)行時(shí)隙分配,并通知所述存儲(chǔ)單元重新調(diào)整存儲(chǔ)結(jié)構(gòu);所述釋放帶寬單元,用于在釋放帶寬為4Χ的時(shí)隙資源時(shí),查看所述存儲(chǔ)單元中帶寬為 4Χ的存儲(chǔ)結(jié)構(gòu)是否為空,在不為空時(shí),根據(jù)所釋放帶寬時(shí)隙資源的起始時(shí)隙s的大小,通知 所述存儲(chǔ)單元將起始時(shí)隙s插入到當(dāng)前帶寬為4Χ的存儲(chǔ)結(jié)構(gòu)中相應(yīng)位置,并判斷當(dāng)前所 述存儲(chǔ)單元的存儲(chǔ)結(jié)構(gòu)中是否有能合并到上一級帶寬存儲(chǔ)結(jié)構(gòu)的時(shí)隙資源,如果有則通知 所述存儲(chǔ)單元將所述時(shí)隙資源合并到上一級帶寬的存儲(chǔ)結(jié)構(gòu)中,進(jìn)而逐級判斷是否能夠合 并,直到不能合并為止。
7.如權(quán)利要求6所述的解決標(biāo)簽碎片的時(shí)隙分配裝置,其特征在于,在所述分配帶寬單元中,分配帶寬為4Χ的時(shí)隙資源時(shí),如果查看所述存儲(chǔ)單元中當(dāng)前 帶寬的存儲(chǔ)結(jié)構(gòu)為空,且X興η,則查看上一級帶寬的存儲(chǔ)結(jié)構(gòu)中是否有可用節(jié)點(diǎn),如果直 到帶寬為4η的存儲(chǔ)結(jié)構(gòu)仍為空時(shí),則分配不成功;在釋放帶寬為4Χ的時(shí)隙資源時(shí),如果當(dāng)前帶寬的存儲(chǔ)結(jié)構(gòu)為空,則直接插入當(dāng)前帶寬 為4Χ的存儲(chǔ)結(jié)構(gòu)中。
8.如權(quán)利要求6或7所述的解決標(biāo)簽碎片的時(shí)隙分配裝置,其特征在于,在所述分配 帶寬單元中,所述重新調(diào)整存儲(chǔ)結(jié)構(gòu)為從當(dāng)前帶寬的存儲(chǔ)結(jié)構(gòu)中刪除該S結(jié)點(diǎn),如果此時(shí) X Φ K,則令X = X-I,并根據(jù)起始時(shí)隙S+4X、S+2X4x、S+3X4x的大小依次插入到帶寬為4X 的存儲(chǔ)結(jié)構(gòu)中,直到X = K。
9.如權(quán)利要求6所述的解決標(biāo)簽碎片的時(shí)隙分配裝置,其特征在于,在所述釋放帶寬 單元中,所述根據(jù)所釋放帶寬時(shí)隙資源的起始時(shí)隙s的大小,將起始時(shí)隙s插入到當(dāng)前帶寬 為4X的存儲(chǔ)結(jié)構(gòu)中相應(yīng)位置為判斷當(dāng)前帶寬存儲(chǔ)結(jié)構(gòu)中是否有連續(xù)的4個(gè)4X的時(shí)隙資 源,如果有且滿足起始時(shí)隙分配要求,則將該4個(gè)4X的時(shí)隙資源合并到上一級帶寬4X+1存儲(chǔ) 結(jié)構(gòu)中相應(yīng)位置,直到帶寬為4n的存儲(chǔ)結(jié)構(gòu)。
全文摘要
本發(fā)明提供一種解決標(biāo)簽碎片的時(shí)隙分配方法及裝置,其中,該方法包括為鏈路STM-N建立n+1個(gè)存儲(chǔ)結(jié)構(gòu),分別存儲(chǔ)帶寬為4X的起始時(shí)隙S,其中,0≤X≤n;在分配帶寬為4X的時(shí)隙資源時(shí),在帶寬為4X的存儲(chǔ)結(jié)構(gòu)中有可用節(jié)點(diǎn)時(shí),取其中第一個(gè)節(jié)點(diǎn)得到起始時(shí)隙值S,進(jìn)行時(shí)隙分配;在釋放帶寬為4X的時(shí)隙資源時(shí),在帶寬為4X的存儲(chǔ)結(jié)構(gòu)不為空時(shí),根據(jù)釋放帶寬時(shí)隙資源的起始時(shí)隙s大小,將起始時(shí)隙s插入到當(dāng)前帶寬為4X的存儲(chǔ)結(jié)構(gòu)中相應(yīng)位置,并判斷當(dāng)前帶寬存儲(chǔ)結(jié)構(gòu)中是否有能合并到上一級帶寬存儲(chǔ)結(jié)構(gòu)的時(shí)隙資源,如果有則進(jìn)行合并,直到不能合并為止。本發(fā)明能有效減少任意分配時(shí)時(shí)隙碎片的產(chǎn)生,更加合理使用時(shí)隙資源。
文檔編號(hào)H04J3/16GK101924597SQ20091014831
公開日2010年12月22日 申請日期2009年6月15日 優(yōu)先權(quán)日2009年6月15日
發(fā)明者何小平 申請人:中興通訊股份有限公司