信用分配方法和交換的制造方法
【專利摘要】本發(fā)明適用于交換機(jī)領(lǐng)域,提供了一種信用分配方法和交換機(jī);在所述交換機(jī)中添加共享信用池;從所述端口接收到事務(wù)層包TLP時(shí),在與所述端口關(guān)聯(lián)的端口信用池中減去第一個(gè)數(shù)的信用,所述第一個(gè)數(shù)由所述TLP的數(shù)據(jù)量確定;統(tǒng)計(jì)所述端口信用池中剩余的信用的個(gè)數(shù),如果統(tǒng)計(jì)出的個(gè)數(shù)小于第一閾值,則從所述共享信用池分配第二個(gè)數(shù)的信用至所述端口信用池。這樣,在交換機(jī)中增加該共享信用池之后,能夠?qū)⒃摴蚕硇庞贸刂械男庞门c多個(gè)端口信用池共享,保證每個(gè)端口信用池都持續(xù)有足夠的信用來持續(xù)存儲(chǔ)TLP。
【專利說明】信用分配方法和交換機(jī)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于交換機(jī)領(lǐng)域,尤其涉及一種信用分配方法和交換機(jī)。
【背景技術(shù)】
[0002]計(jì)算機(jī)系統(tǒng)中,總線是計(jì)算機(jī)內(nèi)部組件或計(jì)算機(jī)之間進(jìn)行數(shù)據(jù)傳輸?shù)淖酉到y(tǒng)。與點(diǎn)對(duì)點(diǎn)連接不同,總線可以通過同一組傳輸線與多個(gè)外設(shè)建立邏輯連接;具體是將每個(gè)總線定義一組連接器,與插拔設(shè)備、插卡或線纜物理定義在一起。
[0003]目前,業(yè)界已經(jīng)開發(fā)出大量不同的計(jì)算機(jī)接口(Input/Output,I/O)互連標(biāo)準(zhǔn)。近些年最流行的是PCI標(biāo)準(zhǔn),對(duì)PCI總線定義了橋的概念,將本地處理器總線與外設(shè)隔離開,允許CPU以更快的速度運(yùn)行。
[0004]近年,PCIe逐漸流行起來。PCIe提供了更高的性能,為下一代系統(tǒng)增強(qiáng)了靈活性和可擴(kuò)展性,同時(shí)與當(dāng)前的PCI應(yīng)用保持了軟件兼容性。與傳統(tǒng)PCI相比,PCIe協(xié)議更加復(fù)雜,包括三層:事務(wù)層、數(shù)據(jù)鏈路層和物理層。
[0005]PCIe采用點(diǎn)對(duì)點(diǎn)的系統(tǒng)構(gòu)架。在PCIe系統(tǒng)中,根復(fù)合體將處理器和存儲(chǔ)器子系統(tǒng)連接到同一 PCIe交換機(jī)。根復(fù)合體類似于PCI系統(tǒng)中的一個(gè)主橋,代表處理器產(chǎn)生事務(wù)請(qǐng)求。處理器與根復(fù)合體之間通過一個(gè)本地I/O互連線進(jìn)行互連。根復(fù)合體可以獨(dú)立實(shí)現(xiàn),也可以與處理器集成在一起。一個(gè)根復(fù)合體可能包含多個(gè)PCIe端口,這樣多個(gè)PCIe交換機(jī)才能夠連接到根復(fù)合體的端口上。
[0006]PCIe協(xié)議采用基于信用的流控制機(jī)制。隨著數(shù)據(jù)速率的增加,信用的使用量在增多,信用使用的速率也在加快。但與此同時(shí),現(xiàn)有的交換機(jī)仍僅通過端口信用池提供信用,容易耗盡端口信用池提供的信用。
【發(fā)明內(nèi)容】
[0007]本發(fā)明的目的在于提供一種信用分配方法和交換機(jī),以解決現(xiàn)有技術(shù)僅通過端口信用池提供信用,在進(jìn)行大數(shù)據(jù)量的事務(wù)層包傳輸時(shí)容易耗盡該端口信用池提供的信用這一問題。
[0008]第一方面,本發(fā)明提供一種信用分配方法,應(yīng)用于具有多個(gè)端口的交換機(jī),所述信用分配方法包括:
[0009]步驟All,在所述交換機(jī)中添加共享信用池;
[0010]步驟A12,從所述端口接收到事務(wù)層包TLP時(shí),在與所述端口關(guān)聯(lián)的端口信用池中減去第一個(gè)數(shù)的信用,所述第一個(gè)數(shù)由所述TLP的數(shù)據(jù)量確定;
[0011]步驟A13,統(tǒng)計(jì)所述端口信用池中剩余的信用的個(gè)數(shù),如果統(tǒng)計(jì)出的個(gè)數(shù)小于第一閾值,則從所述共享信用池分配第二個(gè)數(shù)的信用至所述端口信用池。
[0012]第二方面,本發(fā)明提供一種交換機(jī),所述交換機(jī)具有多個(gè)端口 ;所述交換機(jī)包括共享信用池,還包括與所述端口關(guān)聯(lián)的端口信用池;
[0013]所述交換機(jī)還包括控制模塊,所述控制模塊包括減去單元和共享單元;
[0014]所述減去單元用于:從所述端口接收到事務(wù)層包TLP時(shí),在與所述端口關(guān)聯(lián)的端口信用池中減去第一個(gè)數(shù)的信用,所述第一個(gè)數(shù)由所述TLP的數(shù)據(jù)量確定;
[0015]所述共享單元用于:統(tǒng)計(jì)所述端口信用池中剩余的信用的個(gè)數(shù),如果統(tǒng)計(jì)出的個(gè)數(shù)小于第一閾值,則從所述共享信用池分配第二個(gè)數(shù)的信用至所述端口信用池。
[0016]本發(fā)明的有益效果:如果從某個(gè)端口接收的TLP已消耗與該端口關(guān)聯(lián)的端口信用池中的大部分信用,為保證能夠繼續(xù)從該端口接收TLP并在該端口信用池中存儲(chǔ),在該端口信用池中剩余的信用的個(gè)數(shù)小于第一閾值時(shí)將共享信用池中的信用分配給該端口信用池;這樣,在交換機(jī)中增加該共享信用池之后,能夠?qū)⒃摴蚕硇庞贸刂械男庞门c多個(gè)端口信用池共享,保證每個(gè)端口信用池都持續(xù)有足夠的信用來持續(xù)存儲(chǔ)TLP。
【專利附圖】
【附圖說明】
[0017]為了更清楚地說明本發(fā)明實(shí)施例中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹。顯而易見,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0018]圖1是本發(fā)明實(shí)施例提供的信用分配方法的工作流程圖;
[0019]圖2是本發(fā)明實(shí)施例提供的信用分配方法的一種優(yōu)化工作流程圖;
[0020]圖3是本發(fā)明實(shí)施例提供的信用分配方法的又一種優(yōu)化工作流程圖;
[0021]圖4是本發(fā)明實(shí)施例提供的交換機(jī)的組成結(jié)構(gòu);
[0022]圖5是本發(fā)明實(shí)施例提供的交換機(jī)的一種優(yōu)化組成結(jié)構(gòu);
[0023]圖6是本發(fā)明實(shí)施例提供的交換機(jī)的又一種優(yōu)化組成結(jié)構(gòu)。
【具體實(shí)施方式】
[0024]為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對(duì)本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。為了說明本發(fā)明所述的技術(shù)方案,下面通過具體實(shí)施例來進(jìn)行說明。
[0025]本發(fā)明實(shí)施例所述的交換機(jī),至少可用于事務(wù)層包(Transact1n Lay Packet,TLP)的傳輸。但本發(fā)明實(shí)施例支持多種不同協(xié)議的TLP傳輸;例如支持基于I/O互連標(biāo)準(zhǔn)而定義的協(xié)議;具體例如,支持最新的總線和接口標(biāo)準(zhǔn)(PC1-Express,PCIe)的TLP的傳輸。
[0026]本發(fā)明實(shí)施例為解決現(xiàn)有技術(shù)僅通過端口信用池提供的信用進(jìn)行TLP的傳輸所帶來的信用耗盡這一局限,創(chuàng)新性地在交換機(jī)中添加了共享信用池,當(dāng)與某個(gè)端口關(guān)聯(lián)的端口信用池所剩余的信用較少時(shí),將該共享信用池所包含的信用對(duì)該端口信用池分享,以增加該端口信用池中剩余的、可用的信用的個(gè)數(shù)。
[0027]值得說明的是,本發(fā)明實(shí)施例所述的信用可以是用于存儲(chǔ)TLP的存儲(chǔ)空間。
[0028]本發(fā)明實(shí)施例在添加共享信用池的基礎(chǔ)上,提供了信用分配方法;為便于描述本發(fā)明實(shí)施例提供的所述信用分配方法,圖1示出了本發(fā)明實(shí)施例提供的信用分配方法的工作流程,但圖1僅示出了與本發(fā)明實(shí)施例相關(guān)的部分。具體地,本發(fā)明實(shí)施例提供的信用分配方法應(yīng)用于具有多個(gè)端口的交換機(jī),如圖1所示,所述信用分配方法包括的基礎(chǔ)步驟為三步:步驟All、步驟A12和步驟A13。
[0029]步驟All,在所述交換機(jī)中添加共享信用池。
[0030]具體地,在現(xiàn)有技術(shù)已提供為交換機(jī)的端口關(guān)聯(lián)了端口信用池的基礎(chǔ)上,本發(fā)明實(shí)施例還另外添加了共享信用池;與所述端口信用池一樣,共享信用池也由多個(gè)信用組成。其中,每個(gè)信用與一個(gè)或多個(gè)存儲(chǔ)空間對(duì)應(yīng);因此,每個(gè)信用都可以用來存儲(chǔ)TLP;值得說明的是,根據(jù)TLP的數(shù)據(jù)量,可能是由一個(gè)信用存儲(chǔ)一個(gè)TLP,也可能是由多個(gè)信用來存儲(chǔ)一個(gè)TLP ;還可能是,由一個(gè)信用存儲(chǔ)一個(gè)TLP的頭字段,也可能是由多個(gè)信用來存儲(chǔ)一個(gè)TLP的頭字段;還可能是,由一個(gè)信用存儲(chǔ)一個(gè)TLP的載荷字段,也可能是由多個(gè)信用來存儲(chǔ)一個(gè)TLP的載荷字段。需說明的是,本發(fā)明實(shí)施例對(duì)信用代表的存儲(chǔ)空間的大小,在此不做限定;通常情況下,端口信用池中的信用所指向的存儲(chǔ)空間的大小與共享信用池中的信用所指向的存儲(chǔ)空間的大小是一樣大的。
[0031]作為交換機(jī)中的端口與端口信用池的一關(guān)聯(lián)方式,對(duì)于交換機(jī)中的每個(gè)端口,一個(gè)端口與一個(gè)端口信用池關(guān)聯(lián);從而,每個(gè)端口都有對(duì)應(yīng)關(guān)聯(lián)的端口信用池。當(dāng)從某個(gè)端口接收到TLP時(shí),僅從與該端口關(guān)聯(lián)的端口信用池中獲取信用,在獲取到的信用中存儲(chǔ)該TLP。
[0032]作為交換機(jī)中的端口與端口信用池的一關(guān)聯(lián)方式,對(duì)于交換機(jī)中的每個(gè)端口,多個(gè)端口可同時(shí)與一個(gè)端口信用池關(guān)聯(lián)。當(dāng)從某個(gè)端口接收到TLP時(shí),僅從與該端口關(guān)聯(lián)的端口信用池中獲取信用,在獲取到的信用中存儲(chǔ)該TLP。
[0033]另需說明的是,本發(fā)明實(shí)施例所述的交換機(jī),對(duì)于該交換機(jī)的一個(gè)或多個(gè)端口,一個(gè)端口可外接一個(gè)外部設(shè)備;在本發(fā)明實(shí)施例中,該外部設(shè)備為采用TLP進(jìn)行數(shù)據(jù)傳輸?shù)脑O(shè)備,但本發(fā)明實(shí)施例對(duì)該外部設(shè)備具體為哪種設(shè)備在此不做限定,例如該外部設(shè)備可以是其它的交換機(jī)、路由器或者終端。
[0034]步驟A12,從所述端口接收到事務(wù)層包TLP時(shí),在與所述端口關(guān)聯(lián)的端口信用池中減去第一個(gè)數(shù)的信用,所述第一個(gè)數(shù)由所述TLP的數(shù)據(jù)量確定。
[0035]在本發(fā)明實(shí)施例中,交換機(jī)的端口與外部設(shè)備連接之后,在該外部設(shè)備向該端口發(fā)送TLP時(shí),以端口信用池中的信用指定的存儲(chǔ)空間對(duì)該TLP進(jìn)行存儲(chǔ)。根據(jù)該TLP的大小(及該TLP的數(shù)據(jù)量)確定需要多少個(gè)信用才能對(duì)該TLP進(jìn)行完整存儲(chǔ),在本發(fā)明實(shí)施例中,將根據(jù)該TLP的數(shù)據(jù)量確定出的所需的信用個(gè)數(shù)作為第一個(gè)數(shù)。
[0036]在本發(fā)明實(shí)施例中,每從某個(gè)端口接收到TLP,都需采用與該端口關(guān)聯(lián)的端口信用池中的信用所指定的存儲(chǔ)空間來對(duì)應(yīng)存儲(chǔ)該TLP。
[0037]步驟A13,統(tǒng)計(jì)所述端口信用池中剩余的信用的個(gè)數(shù),如果統(tǒng)計(jì)出的個(gè)數(shù)小于第一閾值,則從所述共享信用池分配第二個(gè)數(shù)的信用至所述端口信用池。其中,所述第一閾值為預(yù)先根據(jù)實(shí)驗(yàn)數(shù)據(jù)設(shè)定的閾值,設(shè)定該第一閾值是為了實(shí)時(shí)保證:所述端口信用池中剩余的信用的個(gè)數(shù)能夠不間斷支持對(duì)再次從該端口接收到的TLP的存儲(chǔ)。
[0038]在本發(fā)明實(shí)施例中,每次從端口接收到TLP,并在與該端口關(guān)聯(lián)的端口信用池中的信用所指定的存儲(chǔ)空間完成對(duì)該TLP的存儲(chǔ)之后,統(tǒng)計(jì)一次所述端口信用池中剩余的信用的個(gè)數(shù)。
[0039]如果統(tǒng)計(jì)出的個(gè)數(shù)小于第一閾值,代表再次從該端口接收到TLP時(shí),與該端口關(guān)聯(lián)的端口信用池所剩余的信用可能不能完整存儲(chǔ)再次接收到的TLP。對(duì)此情況,現(xiàn)有技術(shù)無能為力,不能從該端口繼續(xù)接收TLP。而本發(fā)明實(shí)施例在這種情況下,將所述共享信用池中的信用分配給該端口信用池,增加該端口信用池中剩余的信用的個(gè)數(shù),使得該端口信用池能夠繼續(xù)從該端口接收新到達(dá)的TLP。
[0040]值得說明的是,所述第二個(gè)數(shù)為:在步驟A13統(tǒng)計(jì)出的個(gè)數(shù)小于第一閾值時(shí),從所述共享信用池中的信用向該端口信用池分配的信用的個(gè)數(shù)。但本發(fā)明實(shí)施例對(duì)所述第二個(gè)數(shù)的具體數(shù)值不做限定。并且所述第一個(gè)數(shù)與所述第二個(gè)數(shù)可以為同一數(shù)值,也可以為不同數(shù)值。
[0041]作為本發(fā)明一優(yōu)選實(shí)施方式,所述第一個(gè)數(shù)與所述第二個(gè)數(shù)的差值屬于預(yù)設(shè)數(shù)值范圍;當(dāng)然,可通過程序更改或人為更改該預(yù)設(shè)數(shù)值范圍;優(yōu)選地,在更改該預(yù)設(shè)數(shù)值范圍時(shí),根據(jù)以往的實(shí)驗(yàn)數(shù)據(jù)來設(shè)定,以往的實(shí)驗(yàn)數(shù)據(jù)包括:從所述共享信用池中向該端口信用池分配的第二個(gè)數(shù)的信用之后,該端口信用池關(guān)聯(lián)是否還能完整存儲(chǔ)再次接收到的TLP。
[0042]需說明的是,由于交換機(jī)具有多個(gè)端口,可以同時(shí)從至少兩個(gè)端口分別接收不同的TLP,并以對(duì)應(yīng)關(guān)聯(lián)的端口信用池中的信用指定的存儲(chǔ)空間對(duì)該不同的TLP進(jìn)行對(duì)應(yīng)存儲(chǔ)。相應(yīng)地,可同時(shí)控制該共享信用池向多個(gè)該端口信用池分配信用,實(shí)現(xiàn)該共享信用池中的信用與多個(gè)端口信用池共享。
[0043]作為本發(fā)明實(shí)施例一實(shí)施方式,對(duì)于從某個(gè)端口接收到的TLP并已使用與該端口關(guān)聯(lián)的端口信用池中的信用存儲(chǔ)該TLP,如果交換機(jī)丟棄該TLP,則在該端口信用池中恢復(fù)已減去的該第一個(gè)數(shù)的信用,并將所述端口信用池從所述共享信用池獲取到的信用返還所述共享信用池;優(yōu)選地,如果交換機(jī)丟棄該TLP,則在該端口信用池中恢復(fù)已減去的該第一個(gè)數(shù)的信用,并將所述端口信用池從所述共享信用池獲取到的所述第二個(gè)數(shù)的信用全部返還所述共享信用池,使得共享信用池具有更多的信用與每個(gè)端口信用池共享。
[0044]圖2示出了本發(fā)明實(shí)施例提供的信用分配方法的一種優(yōu)化流程,為了便于描述,僅不出了與本發(fā)明實(shí)施例相關(guān)的部分。
[0045]作為本發(fā)明實(shí)施例一實(shí)施方式,如圖2所示,與所述端口關(guān)聯(lián)的端口信用池包括端口頭信用池和端口載荷信用池。
[0046]其中,所述端口頭信用池用于:存儲(chǔ)TLP的頭字段中的數(shù)據(jù)。其中,TLP的頭字段包括:TLP的格式的字段;例如,TLP頭所占的字段;再例如,TLP中哪些字節(jié)代表什么含義的字段。另外,TLP的頭字段還包括:傳輸所需的字段;例如,傳輸該TLP所需經(jīng)過的地址,包括:需經(jīng)過的路由器的IP地址,需經(jīng)過的其它交換機(jī)的IP地址。
[0047]其中,所述端口載荷信用池用于:存儲(chǔ)TLP的載荷字段中的數(shù)據(jù)。其中,TLP的載荷字段包括:兩個(gè)外部設(shè)備在至少經(jīng)過交換機(jī)以TLP進(jìn)行數(shù)據(jù)通信時(shí),兩個(gè)外部設(shè)備之間需要傳輸?shù)臄?shù)據(jù);即添加到TLP中,以通過TLP來實(shí)現(xiàn)該兩個(gè)外部設(shè)備之間交互的數(shù)據(jù)。
[0048]在如圖2所示的流程中,所述步驟A12具體包括步驟A121。
[0049]步驟A121,從所述端口接收到所述TLP時(shí),在與所述端口關(guān)聯(lián)的端口頭信用池中減去第三個(gè)數(shù)的信用,在與所述端口關(guān)聯(lián)的端口載荷信用池中減去第四個(gè)數(shù)的信用,所述第三個(gè)數(shù)由所述TLP的頭字段的數(shù)據(jù)量確定,所述第四個(gè)數(shù)由所述TLP的載荷字段的數(shù)據(jù)量確定。
[0050]在本實(shí)施方式中,交換機(jī)的端口與外部設(shè)備連接之后,在該外部設(shè)備向該端口發(fā)送TLP時(shí),以端口頭信用池中的信用所指定的存儲(chǔ)空間存儲(chǔ)該TLP的頭字段,以端口載荷信用池中的信用所指定的存儲(chǔ)空間存儲(chǔ)該TLP的載荷字段。
[0051]其中,根據(jù)該TLP的頭字段的數(shù)據(jù)大小(及該TLP的頭字段的數(shù)據(jù)量)確定需要多少個(gè)信用才能對(duì)該TLP的頭字段進(jìn)行完整存儲(chǔ),在本發(fā)明實(shí)施例中,將根據(jù)該TLP的頭字段的數(shù)據(jù)量確定出的所需的信用個(gè)數(shù)作為第三個(gè)數(shù)。
[0052]其中,根據(jù)該TLP的載荷字段的數(shù)據(jù)大小(及該TLP的載荷字段的數(shù)據(jù)量)確定需要多少個(gè)信用才能對(duì)該TLP的載荷字段進(jìn)行完整存儲(chǔ),在本實(shí)施方式中,將根據(jù)該TLP的載荷字段的數(shù)據(jù)量確定出的所需的信用個(gè)數(shù)作為第四個(gè)數(shù)。
[0053]在如圖2所示的流程中,所述步驟A13具體包括步驟A131和步驟A132。
[0054]步驟A131,統(tǒng)計(jì)所述端口頭信用池中剩余的信用的個(gè)數(shù),如果統(tǒng)計(jì)出的個(gè)數(shù)小于第二閾值,則從所述共享信用池分配第五個(gè)數(shù)的信用至所述端口頭信用池。其中,所述第二閾值為預(yù)先根據(jù)實(shí)驗(yàn)數(shù)據(jù)設(shè)定的閾值,設(shè)定該第二閾值是為了實(shí)時(shí)保證:所述端口頭信用池中剩余的信用的個(gè)數(shù)能夠不間斷支持對(duì)再次從該端口接收到的TLP的頭字段的存儲(chǔ)。
[0055]在本實(shí)施方式中,每次從端口接收到TLP,并在與該端口關(guān)聯(lián)的端口頭信用池中的信用所指定的存儲(chǔ)空間完成對(duì)該TLP的頭字段的存儲(chǔ)之后,統(tǒng)計(jì)一次所述端口頭信用池中剩余的信用的個(gè)數(shù)。
[0056]如果統(tǒng)計(jì)出的個(gè)數(shù)小于第二閾值,代表再次從該端口接收到TLP時(shí),與該端口關(guān)聯(lián)的端口頭信用池所剩余的信用可能不能完整存儲(chǔ)再次接收到的TLP的頭字段,因此不能再次從該端口接收TLP。對(duì)此情況,現(xiàn)有技術(shù)無能為力。而本發(fā)明實(shí)施例在這種情況下,將所述共享信用池中的信用分配給該端口頭信用池,增加該端口頭信用池中剩余的信用的個(gè)數(shù),使得該端口頭信用池能夠繼續(xù)從該端口接收新到達(dá)的TLP的頭字段。
[0057]步驟A132,統(tǒng)計(jì)所述端口載荷信用池中剩余的信用的個(gè)數(shù),如果統(tǒng)計(jì)出的個(gè)數(shù)小于第三閾值,則從所述共享信用池分配第六個(gè)數(shù)的信用至所述端口載荷信用池。其中,所述第三閾值為預(yù)先根據(jù)實(shí)驗(yàn)數(shù)據(jù)設(shè)定的閾值,設(shè)定該第三閾值是為了實(shí)時(shí)保證:所述端口載荷信用池中剩余的信用的個(gè)數(shù)能夠不間斷支持對(duì)再次從該端口接收到的TLP的載荷字段的存儲(chǔ)。
[0058]在本實(shí)施方式中,每次從端口接收到TLP,并在與該端口關(guān)聯(lián)的端口載荷信用池中的信用所指定的存儲(chǔ)空間完成對(duì)該TLP的載荷字段的存儲(chǔ)之后,統(tǒng)計(jì)一次所述端口載荷信用池中剩余的信用的個(gè)數(shù)。
[0059]如果統(tǒng)計(jì)出的個(gè)數(shù)小于第三閾值,代表再次從該端口接收到TLP時(shí),與該端口關(guān)聯(lián)的端口載荷信用池所剩余的信用可能不能完整存儲(chǔ)再次接收到的TLP的載荷字段,因此不能再次從該端口繼續(xù)接收TLP。對(duì)此情況,現(xiàn)有技術(shù)無能為力。而本發(fā)明實(shí)施例在這種情況下,將所述共享信用池中的信用分配給該端口載荷信用池,增加該端口載荷信用池中剩余的信用的個(gè)數(shù),使得該端口載荷信用池能夠繼續(xù)從該端口接收新到達(dá)的TLP的載荷字段。
[0060]需說明的是,本實(shí)施方式所述的第五個(gè)數(shù)和第六個(gè)數(shù),均與上述的第二個(gè)數(shù)的作用類似,均為根據(jù)實(shí)驗(yàn)數(shù)據(jù)預(yù)先設(shè)定的數(shù)值,并且第一個(gè)數(shù)、第二個(gè)數(shù)、第三個(gè)數(shù)、第四個(gè)數(shù)、第五個(gè)數(shù)和第六個(gè)數(shù)通常為不同數(shù)值,但在特殊情況下也可以是相同數(shù)值,在此不再贅述。
[0061]作為本發(fā)明實(shí)施例一實(shí)施方式,對(duì)圖2所示的流程進(jìn)一步優(yōu)化,所述步驟A131這一步驟之前,所述步驟A13還包括:基于所述TLP的頭字段的數(shù)據(jù)量以第一算法確定所述第五個(gè)數(shù)。
[0062]在本實(shí)施方式中,為保持交換機(jī)的端口能夠持續(xù)接收TLP,必須保證端口頭信用池中擁有足夠的信用以能夠完整地存儲(chǔ)下次接收到的TLP的頭字段;從而必須在端口頭信用池中剩余的信用小于第二閾值時(shí),立即從共享信用池向所述端口頭信用池分配第五個(gè)數(shù)的信用。
[0063]如果第五個(gè)數(shù)的數(shù)值過大,該端口頭信用池中剩余的信用會(huì)存儲(chǔ)冗余,共享信用池中的信用會(huì)快速耗盡,導(dǎo)致其它端口信用池沒有從共享信用池分配到足夠的信用,影響其它端口信用池對(duì)大數(shù)據(jù)量的TLP的頭字段的存儲(chǔ);如果第五個(gè)數(shù)的數(shù)值過小,端口頭信用池中剩余的信用不足以存儲(chǔ)下次接收到的TLP。因此為了折中,本實(shí)施方式采用第一算法確定該第五個(gè)數(shù),但對(duì)第一算法不做限定。在建模出第一算法時(shí),至少以需考慮的參數(shù)包括:步驟A131統(tǒng)計(jì)出的、每個(gè)端口頭信用池中剩余的信用的個(gè)數(shù)。
[0064]類似地,作為本發(fā)明實(shí)施例一實(shí)施方式,對(duì)圖2所示的流程進(jìn)一步優(yōu)化,所述步驟A132這一步驟之前,所述步驟A13還包括:基于所述TLP的載荷字段的數(shù)據(jù)量以第二算法確定所述第六個(gè)數(shù)。
[0065]在本實(shí)施方式中,為保持交換機(jī)的端口能夠持續(xù)接收TLP,必須保證端口載荷信用池中擁有足夠的信用以能夠完整地存儲(chǔ)下次接收到的TLP的載荷字段;從而必須在端口載荷信用池中剩余的信用小于第三閾值時(shí),立即從共享信用池向所述端口載荷信用池分配第六個(gè)數(shù)的信用。
[0066]如果第六個(gè)數(shù)的數(shù)值過大,該端口載荷信用池中剩余的信用會(huì)存儲(chǔ)冗余,共享信用池中的信用會(huì)快速耗盡,導(dǎo)致其它端口信用池沒有從共享信用池分配到足夠的信用,影響其它端口信用池對(duì)大數(shù)據(jù)量的TLP的載荷字段的存儲(chǔ);如果第六個(gè)數(shù)的數(shù)值過小,端口載荷信用池中剩余的信用不足以存儲(chǔ)下次接收到的TLP。因此為了折中,本實(shí)施方式采用第二算法確定該第六個(gè)數(shù),但對(duì)第二算法不做限定。在建模出第二算法時(shí),至少以需考慮的參數(shù)包括:步驟A132統(tǒng)計(jì)出的、每個(gè)端口載荷信用池中剩余的信用的個(gè)數(shù)。
[0067]作為本發(fā)明實(shí)施例一實(shí)施方式,對(duì)于從某個(gè)端口接收到的TLP,并已使用與該端口關(guān)聯(lián)的端口頭信用池中的信用存儲(chǔ)該TLP的頭字段,并已使用與該端口關(guān)聯(lián)的端口頭信用池中的信用存儲(chǔ)該TLP的頭字段;如果交換機(jī)丟棄該TLP,則在該端口頭信用池中恢復(fù)已減去的該第三個(gè)數(shù)的信用,并將所述端口頭信用池從所述共享信用池獲取到的信用返還所述共享信用池;優(yōu)選地,如果交換機(jī)丟棄該TLP,則在該端口頭信用池中恢復(fù)已減去的該第三個(gè)數(shù)的信用,將所述端口頭信用池從所述共享信用池獲取到的所述第五個(gè)數(shù)的信用全部返還所述共享信用池,使得共享信用池具有更多的信用與每個(gè)端口信用池(包括端口頭信用池和端口載荷信用池)共享。
[0068]作為本發(fā)明實(shí)施例一實(shí)施方式,對(duì)于從某個(gè)端口接收到的TLP,并已使用與該端口關(guān)聯(lián)的端口載荷信用池中的信用存儲(chǔ)該TLP的載荷字段,并已使用與該端口關(guān)聯(lián)的端口載荷信用池中的信用存儲(chǔ)該TLP的載荷字段;如果交換機(jī)丟棄該TLP,則在該端口載荷信用池中恢復(fù)已減去的該第四個(gè)數(shù)的信用,并將所述端口載荷信用池從所述共享信用池獲取到的信用返還所述共享信用池;優(yōu)選地,如果交換機(jī)丟棄該TLP,則在該端口載荷信用池中恢復(fù)已減去的該第四個(gè)數(shù)的信用,將所述端口載荷信用池從所述共享信用池獲取到的所述第六個(gè)數(shù)的信用全部返還所述共享信用池,使得共享信用池具有更多的信用與每個(gè)端口信用池(包括端口頭信用池和端口載荷信用池)共享。
[0069]圖3示出了本發(fā)明實(shí)施例提供的信用分配方法的一種優(yōu)化流程,為了便于描述,僅不出了與本發(fā)明實(shí)施例相關(guān)的部分。
[0070]作為本發(fā)明實(shí)施例一實(shí)施方式,如圖3所示,所述端口信用池包括端口頭信用池和端口載荷信用池;所述共享信用池包括共享頭信用池和共享載荷信用池。
[0071]其中,共享頭信用池用于:向多個(gè)所述端口頭信用池共享其具有的信用。具體地,當(dāng)所述端口頭信用池中剩余的信用的個(gè)數(shù)小于第四閾值時(shí),以該共享頭信用池具有的信用向所述端口頭信用池分配。
[0072]其中,共享載荷信用池用于:向多個(gè)所述端口載荷信用池共享其具有的信用。具體地,當(dāng)所述端口載荷信用池中剩余的信用的個(gè)數(shù)小于第五閾值時(shí),以該共享載荷信用池具有的信用向所述端口載荷信用池分配。
[0073]在如圖3所示的流程中,所述步驟A12具體包括步驟A122。
[0074]步驟A122,從所述端口接收到所述TLP時(shí),在與所述端口關(guān)聯(lián)的端口頭信用池中減去第七個(gè)數(shù)的信用,在與所述端口關(guān)聯(lián)的端口載荷信用池中減去第八個(gè)數(shù)的信用,所述第七個(gè)數(shù)由所述TLP的頭字段的數(shù)據(jù)量確定,所述第八個(gè)數(shù)由所述TLP的載荷字段的數(shù)據(jù)量確定。
[0075]在本實(shí)施方式中,交換機(jī)的端口與外部設(shè)備連接之后,在該外部設(shè)備向該端口發(fā)送TLP時(shí),以端口頭信用池中的信用所指定的存儲(chǔ)空間存儲(chǔ)該TLP的頭字段,以端口載荷信用池中的信用所指定的存儲(chǔ)空間存儲(chǔ)該TLP的載荷字段。
[0076]其中,根據(jù)該TLP的頭字段的數(shù)據(jù)大小(及該TLP的頭字段的數(shù)據(jù)量)確定需要多少個(gè)信用才能對(duì)該TLP的頭字段進(jìn)行完整存儲(chǔ),在本發(fā)明實(shí)施例中,將根據(jù)該TLP的頭字段的數(shù)據(jù)量確定出的所需的信用個(gè)數(shù)作為第七個(gè)數(shù)。
[0077]其中,根據(jù)該TLP的載荷字段的數(shù)據(jù)大小(及該TLP的載荷字段的數(shù)據(jù)量)確定需要多少個(gè)信用才能對(duì)該TLP的載荷字段進(jìn)行完整存儲(chǔ),在本發(fā)明實(shí)施例中,將根據(jù)該TLP的載荷字段的數(shù)據(jù)量確定出的所需的信用個(gè)數(shù)作為第八個(gè)數(shù)。
[0078]在如圖3所示的流程中,所述步驟A13具體包括步驟A133和步驟A134。
[0079]所述步驟A133,統(tǒng)計(jì)所述端口頭信用池中剩余的信用的個(gè)數(shù),如果統(tǒng)計(jì)出的個(gè)數(shù)小于第四閾值,則從所述共享頭信用池中分配第九個(gè)數(shù)的信用至所述端口頭信用池。
[0080]在本實(shí)施方式中,每次從端口接收到TLP,并在與該端口關(guān)聯(lián)的端口頭信用池中的信用所指定的存儲(chǔ)空間完成對(duì)該TLP的頭字段的存儲(chǔ)之后,統(tǒng)計(jì)一次所述端口頭信用池中剩余的信用的個(gè)數(shù)。
[0081 ] 如果統(tǒng)計(jì)出的個(gè)數(shù)小于第四閾值,代表再次從該端口接收到TLP時(shí),與該端口關(guān)聯(lián)的端口頭信用池所剩余的信用可能不能完整存儲(chǔ)再次接收到的TLP的頭字段,因此不能再次同該端口接收TLP。對(duì)此情況,現(xiàn)有技術(shù)無能為力。而本發(fā)明實(shí)施例在這種情況下,將所述共享頭信用池中的信用分配給該端口頭信用池,增加該端口頭信用池中剩余的信用的個(gè)數(shù),使得該端口頭信用池能夠繼續(xù)從該端口接收新到達(dá)的TLP的頭字段。
[0082]所述步驟A134,統(tǒng)計(jì)所述端口載荷信用池中剩余的信用的個(gè)數(shù),如果統(tǒng)計(jì)出的個(gè)數(shù)小于第五閾值,則從所述共享載荷信用池中分配第十個(gè)數(shù)的信用至所述端口載荷信用池。
[0083]在本實(shí)施方式中,每次從端口接收到TLP,并在與該端口關(guān)聯(lián)的端口載荷信用池中的信用所指定的存儲(chǔ)空間完成對(duì)該TLP的載荷字段的存儲(chǔ)之后,統(tǒng)計(jì)一次所述端口載荷信用池中剩余的信用的個(gè)數(shù)。
[0084]如果統(tǒng)計(jì)出的個(gè)數(shù)小于第五閾值,代表再次從該端口接收到TLP時(shí),與該端口關(guān)聯(lián)的端口載荷信用池所剩余的信用可能不能完整存儲(chǔ)再次接收到的TLP的載荷字段,因此不能再次同該端口繼續(xù)接收TLP。對(duì)此情況,現(xiàn)有技術(shù)無能為力。而本發(fā)明實(shí)施例在這種情況下,將所述共享載荷信用池中的信用分配給該端口載荷信用池,增加該端口載荷信用池中剩余的信用的個(gè)數(shù),使得該端口載荷信用池能夠繼續(xù)從該端口接收新到達(dá)的TLP的載荷字段。
[0085]需說明的是,本實(shí)施方式所述的第九個(gè)數(shù)和第十個(gè)數(shù),均與上述的第二個(gè)數(shù)的作用類似,均為根據(jù)實(shí)驗(yàn)數(shù)據(jù)預(yù)先設(shè)定的數(shù)值,并且第一個(gè)數(shù)、第二個(gè)數(shù)、第三個(gè)數(shù)、第四個(gè)數(shù)、第五個(gè)數(shù)、第六個(gè)數(shù)、第七個(gè)數(shù)、第八個(gè)數(shù)、第九個(gè)數(shù)和第十個(gè)數(shù)通常為不同數(shù)值,但在特殊情況下也可以是相同數(shù)值,在此不再贅述。
[0086]作為本發(fā)明實(shí)施例一實(shí)施方式,對(duì)圖3所示的流程進(jìn)一步優(yōu)化,所述步驟A133這一步驟之前,所述步驟A13還包括:基于所述TLP的頭字段的數(shù)據(jù)量以第三算法確定所述第九個(gè)數(shù)。
[0087]在本實(shí)施方式中,為保持交換機(jī)的端口能夠持續(xù)接收TLP,必須保證端口頭信用池中擁有足夠的信用以能夠完整地存儲(chǔ)下次接收到的TLP的頭字段;從而必須在端口頭信用池中剩余的信用小于第四閾值時(shí),立即從共享頭信用池向所述端口頭信用池分配第九個(gè)數(shù)的信用。
[0088]如果第九個(gè)數(shù)的數(shù)值過大,該端口頭信用池中剩余的信用會(huì)存儲(chǔ)冗余,共享頭信用池中的信用會(huì)快速耗盡,導(dǎo)致其它端口信用池沒有從共享頭信用池分配到足夠的信用,影響其它端口信用池對(duì)大數(shù)據(jù)量的TLP的頭字段的存儲(chǔ);如果第九個(gè)數(shù)的數(shù)值過小,端口頭信用池中剩余的信用不足以存儲(chǔ)下次接收到的TLP。因此為了折中,本實(shí)施方式采用第三算法確定該第九個(gè)數(shù),但對(duì)第三算法不做限定。在建模出第三算法時(shí),至少以需考慮的參數(shù)包括:步驟A133統(tǒng)計(jì)出的、每個(gè)端口頭信用池中剩余的信用的個(gè)數(shù)。
[0089]作為本發(fā)明實(shí)施例一實(shí)施方式,對(duì)圖3所示的流程進(jìn)一步優(yōu)化,所述步驟A134這一步驟之前,所述步驟A13還包括:基于所述TLP的載荷字段的數(shù)據(jù)量以第四算法確定所述第十個(gè)數(shù)。
[0090]在本實(shí)施方式中,為保持交換機(jī)的端口能夠持續(xù)接收TLP,必須保證端口載荷信用池中擁有足夠的信用以能夠完整地存儲(chǔ)下次接收到的TLP的載荷字段;從而必須在端口載荷信用池中剩余的信用小于第五閾值時(shí),立即從共享載荷信用池向所述端口載荷信用池分配第十個(gè)數(shù)的信用。
[0091]如果第十個(gè)數(shù)的數(shù)值過大,該端口載荷信用池中剩余的信用會(huì)存儲(chǔ)冗余,共享載荷信用池中的信用會(huì)快速耗盡,導(dǎo)致其它端口信用池沒有從共享載荷信用池分配到足夠的信用,影響其它端口信用池對(duì)大數(shù)據(jù)量的TLP的載荷字段的存儲(chǔ);如果第十個(gè)數(shù)的數(shù)值過小,端口載荷信用池中剩余的信用不足以存儲(chǔ)下次接收到的TLP。因此為了折中,本實(shí)施方式采用第四算法確定該第十個(gè)數(shù),但對(duì)第四算法不做限定。在建模出第四算法時(shí),至少以需考慮的參數(shù)包括:步驟A134統(tǒng)計(jì)出的、每個(gè)端口載荷信用池中剩余的信用的個(gè)數(shù)。
[0092]作為本發(fā)明實(shí)施例一實(shí)施方式,對(duì)于從某個(gè)端口接收到的TLP,并已使用與該端口關(guān)聯(lián)的端口頭信用池中的信用存儲(chǔ)該TLP的頭字段,并已使用與該端口關(guān)聯(lián)的端口頭信用池中的信用存儲(chǔ)該TLP的頭字段;如果交換機(jī)丟棄該TLP,則在該端口頭信用池中恢復(fù)已減去的該第七個(gè)數(shù)的信用,并將所述端口頭信用池從所述共享頭信用池獲取到的信用返還所述共享頭信用池;優(yōu)選地,如果交換機(jī)丟棄該TLP,則在該端口頭信用池中恢復(fù)已減去的該第七個(gè)數(shù)的信用,將所述端口頭信用池從所述共享頭信用池獲取到的所述第九個(gè)數(shù)的信用全部返還所述共享頭信用池,使得共享頭信用池具有更多的信用與每個(gè)端口頭信用池共享。
[0093]作為本發(fā)明實(shí)施例一實(shí)施方式,對(duì)于從某個(gè)端口接收到的TLP,并已使用與該端口關(guān)聯(lián)的端口載荷信用池中的信用存儲(chǔ)該TLP的載荷字段,并已使用與該端口關(guān)聯(lián)的端口載荷信用池中的信用存儲(chǔ)該TLP的載荷字段;如果交換機(jī)丟棄該TLP,則在該端口載荷信用池中恢復(fù)已減去的該第八個(gè)數(shù)的信用,并將所述端口載荷信用池從所述共享載荷信用池獲取到的信用返還所述共享載荷信用池;優(yōu)選地,如果交換機(jī)丟棄該TLP,則在該端口載荷信用池中恢復(fù)已減去的該第八個(gè)數(shù)的信用,將所述端口載荷信用池從所述共享載荷信用池獲取到的所述第十個(gè)數(shù)的信用全部返還所述共享載荷信用池,使得共享載荷信用池具有更多的信用與每個(gè)端口載荷信用池共享。
[0094]本領(lǐng)域普通技術(shù)人員還可以理解,實(shí)現(xiàn)上述實(shí)施例方法中的全部或部分步驟是可以通過程序指令和相關(guān)的硬件來完成,所述的程序可以在存儲(chǔ)于一計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中,所述的存儲(chǔ)介質(zhì),包括R0M/RAM、磁盤、光盤等。
[0095]需要說明的是,本發(fā)明實(shí)施例提供的交換機(jī)與本發(fā)明實(shí)施例提供的信用分配方法相互適用。
[0096]圖4示出了本發(fā)明實(shí)施例提供的交換機(jī)的組成結(jié)構(gòu),為了便于描述,僅示出了與本發(fā)明實(shí)施例相關(guān)的部分。
[0097]本實(shí)施例提供的交換機(jī),如圖4所示,所述交換機(jī)具有多個(gè)端口 61 ;所述交換機(jī)包括共享信用池62,還包括與所述端口 61關(guān)聯(lián)的端口信用池63 ;
[0098]所述交換機(jī)還包括控制模塊64,所述控制模塊64包括減去單元641和共享單元642 ;
[0099]所述減去單元641用于:從所述端口 61接收到事務(wù)層包TLP時(shí),在與所述端口 61關(guān)聯(lián)的端口信用池63中減去第一個(gè)數(shù)的信用,所述第一個(gè)數(shù)由所述TLP的數(shù)據(jù)量確定;
[0100]所述共享單元642用于:統(tǒng)計(jì)所述端口信用池63中剩余的信用的個(gè)數(shù),如果統(tǒng)計(jì)出的個(gè)數(shù)小于第一閾值,則從所述共享信用池62分配第二個(gè)數(shù)的信用至所述端口信用池63。
[0101]圖5示出了本發(fā)明實(shí)施例提供的交換機(jī)的組成結(jié)構(gòu),為了便于描述,僅示出了與本發(fā)明實(shí)施例相關(guān)的部分。
[0102]作為本發(fā)明實(shí)施例一【具體實(shí)施方式】,如圖5所示,所述端口信用池63包括端口頭信用池631和端口載荷信用池632 ;
[0103]所述減去單元641具體用于:從所述端口 61接收到所述TLP時(shí),在與所述端口 61關(guān)聯(lián)的端口頭信用池631中減去第三個(gè)數(shù)的信用,在與所述端口 61關(guān)聯(lián)的端口載荷信用池632中減去第四個(gè)數(shù)的信用,所述第三個(gè)數(shù)由所述TLP的頭字段的數(shù)據(jù)量確定,所述第四個(gè)數(shù)由所述TLP的載荷字段的數(shù)據(jù)量確定;
[0104]所述共享單元642具體用于:統(tǒng)計(jì)所述端口頭信用池631中剩余的信用的個(gè)數(shù),如果統(tǒng)計(jì)出的個(gè)數(shù)小于第二閾值,則從所述共享信用池62分配第五個(gè)數(shù)的信用至所述端口頭信用池631 ;
[0105]所述共享單元642還具體用于:統(tǒng)計(jì)所述端口載荷信用池632中剩余的信用的個(gè)數(shù),如果統(tǒng)計(jì)出的個(gè)數(shù)小于第三閾值,則從所述共享信用池62分配第六個(gè)數(shù)的信用至所述端口載荷信用池632。
[0106]作為本發(fā)明實(shí)施例一【具體實(shí)施方式】,如圖5所示,所述共享單元642還具體用于:
[0107]基于所述TLP的頭字段的數(shù)據(jù)量以第一算法確定所述第五個(gè)數(shù);
[0108]基于所述TLP的載荷字段的數(shù)據(jù)量以第二算法確定所述第六個(gè)數(shù)。
[0109]圖6示出了本發(fā)明實(shí)施例提供的交換機(jī)的組成結(jié)構(gòu),為了便于描述,僅示出了與本發(fā)明實(shí)施例相關(guān)的部分。
[0110]作為本發(fā)明實(shí)施例一【具體實(shí)施方式】,如圖6所示,所述端口信用池63包括端口頭信用池631和端口載荷信用池632 ;所述共享信用池62包括共享頭信用池621和共享載荷信用池622 ;
[0111]所述減去單元641具體用于:從所述端口 61接收到所述TLP時(shí),在與所述端口 61關(guān)聯(lián)的端口頭信用池631中減去第七個(gè)數(shù)的信用,在與所述端口 61關(guān)聯(lián)的端口載荷信用池632中減去第八個(gè)數(shù)的信用,所述第七個(gè)數(shù)由所述TLP的頭字段的數(shù)據(jù)量確定,所述第八個(gè)數(shù)由所述TLP的載荷字段的數(shù)據(jù)量確定;
[0112]所述共享單元642具體用于:統(tǒng)計(jì)所述端口頭信用池631中剩余的信用的個(gè)數(shù),如果統(tǒng)計(jì)出的個(gè)數(shù)小于第四閾值,則從所述共享頭信用池621中分配第九個(gè)數(shù)的信用至所述端口頭信用池631 ;
[0113]所述共享單元642還具體用于:統(tǒng)計(jì)所述端口載荷信用池632中剩余的信用的個(gè)數(shù),如果統(tǒng)計(jì)出的個(gè)數(shù)小于第五閾值,則從所述共享載荷信用池622中分配第十個(gè)數(shù)的信用至所述端口載荷信用池632。
[0114]作為本發(fā)明實(shí)施例一【具體實(shí)施方式】,如圖6所示,所述共享單元642還具體用于:
[0115]基于所述TLP的頭字段的數(shù)據(jù)量以第三算法確定所述第九個(gè)數(shù);
[0116]基于所述TLP的載荷字段的數(shù)據(jù)量以第四算法確定所述第十個(gè)數(shù)。
[0117]本領(lǐng)域技術(shù)人員可以理解為本發(fā)明實(shí)施例提供的交換機(jī)所包括的各個(gè)單元只是按照功能邏輯進(jìn)行劃分的,但并不局限于上述的劃分,只要能夠?qū)崿F(xiàn)相應(yīng)的功能即可;另夕卜,各功能單元的具體名稱也只是為了便于相互區(qū)分,并不用于限制本發(fā)明的保護(hù)范圍。
[0118]以上內(nèi)容是結(jié)合具體的優(yōu)選實(shí)施方式對(duì)本發(fā)明所作的進(jìn)一步詳細(xì)說明,不能認(rèn)定本發(fā)明的具體實(shí)施只局限于這些說明。對(duì)于本發(fā)明所屬【技術(shù)領(lǐng)域】的普通技術(shù)人員來說,在不脫離本發(fā)明構(gòu)思的前提下做出若干等同替代或明顯變型,而且性能或用途相同,都應(yīng)當(dāng)視為屬于本發(fā)明由所提交的權(quán)利要求書確定的專利保護(hù)范圍。
【權(quán)利要求】
1.一種信用分配方法,其特征在于,應(yīng)用于具有多個(gè)端口的交換機(jī),所述信用分配方法包括: 步驟All,在所述交換機(jī)中添加共享信用池; 步驟A12,從所述端口接收到事務(wù)層包TLP時(shí),在與所述端口關(guān)聯(lián)的端口信用池中減去第一個(gè)數(shù)的信用,所述第一個(gè)數(shù)由所述TLP的數(shù)據(jù)量確定; 步驟A13,統(tǒng)計(jì)所述端口信用池中剩余的信用的個(gè)數(shù),如果統(tǒng)計(jì)出的個(gè)數(shù)小于第一閾值,則從所述共享信用池分配第二個(gè)數(shù)的信用至所述端口信用池。
2.如權(quán)利要求1所述的信用分配方法,其特征在于,所述端口信用池包括端口頭信用池和端口載荷信用池; 所述步驟A12具體包括:從所述端口接收到所述TLP時(shí),在與所述端口關(guān)聯(lián)的端口頭信用池中減去第三個(gè)數(shù)的信用,在與所述端口關(guān)聯(lián)的端口載荷信用池中減去第四個(gè)數(shù)的信用,所述第三個(gè)數(shù)由所述TLP的頭字段的數(shù)據(jù)量確定,所述第四個(gè)數(shù)由所述TLP的載荷字段的數(shù)據(jù)量確定; 所述步驟A13具體包括: 步驟A131,統(tǒng)計(jì)所述端口頭信用池中剩余的信用的個(gè)數(shù),如果統(tǒng)計(jì)出的個(gè)數(shù)小于第二閾值,則從所述共享信用池分配第五個(gè)數(shù)的信用至所述端口頭信用池; 步驟A132,統(tǒng)計(jì)所述端口載荷信用池中剩余的信用的個(gè)數(shù),如果統(tǒng)計(jì)出的個(gè)數(shù)小于第三閾值,則從所述共享信用池分配第六個(gè)數(shù)的信用至所述端口載荷信用池。
3.如權(quán)利要求2所述的信用分配方法,其特征在于, 所述步驟A131這一步驟之前,所述步驟A13還包括:基于所述TLP的頭字段的數(shù)據(jù)量以第一算法確定所述第五個(gè)數(shù); 所述步驟A132這一步驟之前,所述步驟A13還包括:基于所述TLP的載荷字段的數(shù)據(jù)量以第二算法確定所述第六個(gè)數(shù)。
4.如權(quán)利要求1所述的信用分配方法,其特征在于,所述端口信用池包括端口頭信用池和端口載荷信用池;所述共享信用池包括共享頭信用池和共享載荷信用池; 所述步驟A12具體包括:從所述端口接收到所述TLP時(shí),在與所述端口關(guān)聯(lián)的端口頭信用池中減去第七個(gè)數(shù)的信用,在與所述端口關(guān)聯(lián)的端口載荷信用池中減去第八個(gè)數(shù)的信用,所述第七個(gè)數(shù)由所述TLP的頭字段的數(shù)據(jù)量確定,所述第八個(gè)數(shù)由所述TLP的載荷字段的數(shù)據(jù)量確定; 所述步驟A13具體包括: 所述步驟A133,統(tǒng)計(jì)所述端口頭信用池中剩余的信用的個(gè)數(shù),如果統(tǒng)計(jì)出的個(gè)數(shù)小于第四閾值,則從所述共享頭信用池中分配第九個(gè)數(shù)的信用至所述端口頭信用池; 所述步驟A134,統(tǒng)計(jì)所述端口載荷信用池中剩余的信用的個(gè)數(shù),如果統(tǒng)計(jì)出的個(gè)數(shù)小于第五閾值,則從所述共享載荷信用池中分配第十個(gè)數(shù)的信用至所述端口載荷信用池。
5.如權(quán)利要求4所述的信用分配方法,其特征在于, 所述步驟A133這一步驟之前,所述步驟A13還包括:基于所述TLP的頭字段的數(shù)據(jù)量以第三算法確定所述第九個(gè)數(shù); 所述步驟A134這一步驟之前,所述步驟A13還包括:基于所述TLP的載荷字段的數(shù)據(jù)量以第四算法確定所述第十個(gè)數(shù)。
6.一種交換機(jī),其特征在于,所述交換機(jī)具有多個(gè)端口 ;所述交換機(jī)包括共享信用池,還包括與所述端口關(guān)聯(lián)的端口信用池; 所述交換機(jī)還包括控制模塊,所述控制模塊包括減去單元和共享單元; 所述減去單元用于:從所述端口接收到事務(wù)層包TLP時(shí),在與所述端口關(guān)聯(lián)的端口信用池中減去第一個(gè)數(shù)的信用,所述第一個(gè)數(shù)由所述TLP的數(shù)據(jù)量確定; 所述共享單元用于:統(tǒng)計(jì)所述端口信用池中剩余的信用的個(gè)數(shù),如果統(tǒng)計(jì)出的個(gè)數(shù)小于第一閾值,則從所述共享信用池分配第二個(gè)數(shù)的信用至所述端口信用池。
7.如權(quán)利要求6所述的交換機(jī),其特征在于,所述端口信用池包括端口頭信用池和端口載荷信用池; 所述減去單元具體用于:從所述端口接收到所述TLP時(shí),在與所述端口關(guān)聯(lián)的端口頭信用池中減去第三個(gè)數(shù)的信用,在與所述端口關(guān)聯(lián)的端口載荷信用池中減去第四個(gè)數(shù)的信用,所述第三個(gè)數(shù)由所述TLP的頭字段的數(shù)據(jù)量確定,所述第四個(gè)數(shù)由所述TLP的載荷字段的數(shù)據(jù)量確定; 所述共享單元具體用于:統(tǒng)計(jì)所述端口頭信用池中剩余的信用的個(gè)數(shù),如果統(tǒng)計(jì)出的個(gè)數(shù)小于第二閾值,則從所述共享信用池分配第五個(gè)數(shù)的信用至所述端口頭信用池; 所述共享單元還具體用于:統(tǒng)計(jì)所述端口載荷信用池中剩余的信用的個(gè)數(shù),如果統(tǒng)計(jì)出的個(gè)數(shù)小于第三閾值,則從所述共享信用池分配第六個(gè)數(shù)的信用至所述端口載荷信用池。
8.如權(quán)利要求7所述的交換機(jī),其特征在于,所述共享單元還具體用于: 基于所述TLP的頭字段的數(shù)據(jù)量以第一算法確定所述第五個(gè)數(shù); 基于所述TLP的載荷字段的數(shù)據(jù)量以第二算法確定所述第六個(gè)數(shù)。
9.如權(quán)利要求6所述的交換機(jī),其特征在于,所述端口信用池包括端口頭信用池和端口載荷信用池;所述共享信用池包括共享頭信用池和共享載荷信用池; 所述減去單元具體用于:從所述端口接收到所述TLP時(shí),在與所述端口關(guān)聯(lián)的端口頭信用池中減去第七個(gè)數(shù)的信用,在與所述端口關(guān)聯(lián)的端口載荷信用池中減去第八個(gè)數(shù)的信用,所述第七個(gè)數(shù)由所述TLP的頭字段的數(shù)據(jù)量確定,所述第八個(gè)數(shù)由所述TLP的載荷字段的數(shù)據(jù)量確定; 所述共享單元具體用于:統(tǒng)計(jì)所述端口頭信用池中剩余的信用的個(gè)數(shù),如果統(tǒng)計(jì)出的個(gè)數(shù)小于第四閾值,則從所述共享頭信用池中分配第九個(gè)數(shù)的信用至所述端口頭信用池; 所述共享單元還具體用于:統(tǒng)計(jì)所述端口載荷信用池中剩余的信用的個(gè)數(shù),如果統(tǒng)計(jì)出的個(gè)數(shù)小于第五閾值,則從所述共享載荷信用池中分配第十個(gè)數(shù)的信用至所述端口載荷信用池。
10.如權(quán)利要求9所述的交換機(jī),其特征在于,所述共享單元還具體用于: 基于所述TLP的頭字段的數(shù)據(jù)量以第三算法確定所述第九個(gè)數(shù); 基于所述TLP的載荷字段的數(shù)據(jù)量以第四算法確定所述第十個(gè)數(shù)。
【文檔編號(hào)】H04L12/937GK104394100SQ201410624595
【公開日】2015年3月4日 申請(qǐng)日期:2014年11月7日 優(yōu)先權(quán)日:2014年11月7日
【發(fā)明者】高昌壘, 殷中云, 溫海珊, 朱喜, 蔣興國 申請(qǐng)人:深圳市國微電子有限公司