專利名稱:數(shù)據(jù)轉(zhuǎn)發(fā)設(shè)備和端口緩存的分配方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信領(lǐng)域,尤其涉及一種數(shù)據(jù)轉(zhuǎn)發(fā)設(shè)備和端口緩存的分配方法。
背景技術(shù):
利用緩存發(fā)送報(bào)文通常應(yīng)用于不對(duì)等數(shù)據(jù)傳輸?shù)那闆r,即數(shù)據(jù)發(fā)送端與接收端傳 輸報(bào)文的速率不同的情況。例如數(shù)據(jù)中心、圖形工作室、無盤網(wǎng)吧等有大突發(fā)流量的應(yīng)用環(huán) 境中,經(jīng)常會(huì)出現(xiàn)不對(duì)等的數(shù)據(jù)傳輸?shù)那闆r。如圖1所示,服務(wù)器與工作站通過數(shù)據(jù)轉(zhuǎn)發(fā)設(shè) 備(例如交換機(jī)或者路由器)連接,其中服務(wù)器與數(shù)據(jù)轉(zhuǎn)發(fā)設(shè)備連接的端口的數(shù)據(jù)傳輸速 率是1000Mbps,工作站與數(shù)據(jù)轉(zhuǎn)發(fā)設(shè)備連接的端口的數(shù)據(jù)傳輸速率是100Mbps。當(dāng)服務(wù)器 向工作站發(fā)送數(shù)據(jù)時(shí),由于工作站連接數(shù)據(jù)轉(zhuǎn)發(fā)設(shè)備的端口速率較低,會(huì)導(dǎo)致服務(wù)器發(fā)送 的數(shù)據(jù)包在該端口堆積,無法及時(shí)通過該端口將所有數(shù)據(jù)包轉(zhuǎn)發(fā)給工作站。此時(shí)數(shù)據(jù)轉(zhuǎn)發(fā) 設(shè)備將沒有及時(shí)轉(zhuǎn)發(fā)的數(shù)據(jù)包緩存在本地,然后再發(fā)送給工作站?,F(xiàn)有技術(shù)中提供一種數(shù)據(jù)轉(zhuǎn)發(fā)設(shè)備中緩存的配置方法,數(shù)據(jù)轉(zhuǎn)發(fā)設(shè)備中每一個(gè)端 口都配置緩存,包括獨(dú)占緩存與共享緩存。結(jié)合圖2所示,其中,獨(dú)占緩存只能被一個(gè)端口 獨(dú)占,不能被其它端口使用,用以保障該端口最基本的緩存條件;共享緩存可以被所有端口 分享。通常情況下,獨(dú)占緩存較小,共享緩存較大。但是為了保證共享緩存不會(huì)被一個(gè)端口 占用太多而導(dǎo)致其它端口能夠使用的共享緩存太小,一般每個(gè)端口能夠共享的緩存較為有 限,會(huì)有一個(gè)最大值,同時(shí)由于數(shù)據(jù)轉(zhuǎn)發(fā)設(shè)備無法獲知哪個(gè)端口需要較大的緩存,因此為每 一端口配置相同的最大值。在圖2中,當(dāng)服務(wù)器通過端口 A向與數(shù)據(jù)轉(zhuǎn)發(fā)設(shè)備的端口 B連 接的工作站發(fā)送數(shù)據(jù)時(shí),由于端口 B的數(shù)據(jù)傳輸速率小于端口 A的數(shù)據(jù)傳輸速率,需要在端 口 B處進(jìn)行數(shù)據(jù)緩存。此時(shí)緩存的數(shù)據(jù)首先占用端口 B的獨(dú)占緩存,如果需要繼續(xù)緩存數(shù) 據(jù),則占用端口 B的可共享緩存,當(dāng)可共享緩存使用完時(shí),就會(huì)產(chǎn)生丟包。上述現(xiàn)有技術(shù)中具有以下缺點(diǎn)數(shù)據(jù)轉(zhuǎn)發(fā)設(shè)備為每一端口配置獨(dú)占緩存,當(dāng)一個(gè)端口沒有使用時(shí),該端口的獨(dú)占 緩存被浪費(fèi);由于每個(gè)端口能夠使用的最大共享緩存是一樣的,不能區(qū)別對(duì)待,端口可能由 于無法獲得更多緩存而丟包,同時(shí)其他端口可能有較多共享緩存沒有使用,因此,緩存的使 用效率低。
發(fā)明內(nèi)容
本發(fā)明提供了一種數(shù)據(jù)轉(zhuǎn)發(fā)設(shè)備和端口緩存的分配方法,為數(shù)據(jù)轉(zhuǎn)發(fā)設(shè)備的多個(gè) 端口靈活分配緩存。本發(fā)明提供了一種端口緩存的分配方法,應(yīng)用于包括多個(gè)端口的數(shù)據(jù)轉(zhuǎn)發(fā)設(shè)備, 包括獲取端口的連接狀態(tài);當(dāng)獲取的連接狀態(tài)為所述端口無連接時(shí),不為所述端口分配緩存;當(dāng)獲取的連接狀態(tài)為所述端口有連接時(shí),根據(jù)所述端口對(duì)應(yīng)的緩存的分配模式為所述端口分配緩存。所述端口對(duì)應(yīng)的緩存的分配模式包括以下模式中的一種或者多種正常模式、突 發(fā)模式以及自動(dòng)模式。根據(jù)所述端口對(duì)應(yīng)的緩存的分配模式為所述端口分配緩存包括當(dāng)所述端口對(duì)應(yīng)的緩存的分配模式為正常模式時(shí),為所述端口分配獨(dú)占緩存和第
一共享緩存。根據(jù)所述端口對(duì)應(yīng)的緩存的分配模式為所述端口分配緩存包括當(dāng)所述端口對(duì)應(yīng)的緩存的分配模式為突發(fā)模式時(shí),為所述端口分配獨(dú)占緩存和第 二共享緩存;所述第二共享緩存大于所述第一共享緩存。根據(jù)所述端口對(duì)應(yīng)的緩存的分配模式為所述端口分配緩存包括當(dāng)所述端口對(duì)應(yīng)的緩存的分配模式為自動(dòng)模式時(shí),為所述端口分配獨(dú)占緩存和第 一共享緩存,并當(dāng)所述端口的報(bào)文丟包滿足預(yù)設(shè)條件時(shí),判斷當(dāng)前已分配第二緩存的端口 數(shù)量是否大于或者等于閾值;當(dāng)判斷結(jié)果為否時(shí)直接為所述端口分配所述第二共享緩存。根據(jù)所述端口對(duì)應(yīng)的緩存的分配模式為所述端口分配緩存包括當(dāng)所述端口對(duì)應(yīng)的緩存的分配模式為自動(dòng)模式時(shí),為所述端口分配獨(dú)占緩存和第 一共享緩存,并當(dāng)所述端口的報(bào)文丟包滿足預(yù)設(shè)條件時(shí),判斷當(dāng)前已分配第二緩存的端口 數(shù)量是否大于或者等于閾值;當(dāng)判斷結(jié)果為否時(shí)根據(jù)設(shè)置的步長(zhǎng)依次為所述端口分配共享 緩存,直到所述端口的共享緩存等于所述第二共享緩存。根據(jù)所述端口對(duì)應(yīng)的緩存的分配模式為所述端口分配緩存之后,還包括當(dāng)所述端口獲得所述第二共享緩存的時(shí)間超過預(yù)定時(shí)間時(shí),將所述端口的緩存重 新設(shè)置為獨(dú)占緩存和第一共享緩存。一種數(shù)據(jù)轉(zhuǎn)發(fā)設(shè)備,包括獲取單元,用于獲取端口的連接狀態(tài);分配單元,與所述獲取單元連接,用于當(dāng)所述獲取單元獲取的連接狀態(tài)為端口無 連接時(shí),不為所述端口分配緩存;當(dāng)所述獲取單元獲取的連接狀態(tài)為端口有連接時(shí),根據(jù)所 述端口對(duì)應(yīng)的緩存的分配模式為所述端口分配緩存。所述端口對(duì)應(yīng)的緩存的分配模式包括以下模式中的一種或者多種正常模式、突 發(fā)模式以及自動(dòng)模式。所述分配單元還用于當(dāng)所述端口對(duì)應(yīng)的緩存的分配模式為正常模式時(shí),為所述端口分配獨(dú)占緩存和第
一共享緩存。所述分配單元還用于當(dāng)所述端口對(duì)應(yīng)的緩存的分配模式為突發(fā)模式時(shí),為所述端口分配獨(dú)占緩存和第 二共享緩存;所述第二共享緩存大于所述第一共享緩存。所述分配單元包括第一分配子單元,用于當(dāng)所述端口對(duì)應(yīng)的緩存的分配模式為自動(dòng)模式時(shí),為所述 端口分配獨(dú)占緩存和第一共享緩存;判斷子單元,與所述第一分配子單元連接,用于統(tǒng)計(jì)所述端口的報(bào)文丟包率以及 當(dāng)前已分配第二共享緩存的數(shù)量,并且在所述端口的丟包率滿足預(yù)設(shè)條件時(shí),判斷當(dāng)前已分配第二緩存的端口數(shù)量是否大于或者等于閾值;第二分配子單元,與所述判斷子單元連接,用于當(dāng)所述判斷子單元的判斷結(jié)果為 否時(shí)直接為所述端口分配所述第二共享緩存。所述分配單元包括第一分配子單元,用于當(dāng)所述端口對(duì)應(yīng)的緩存的分配模式為自動(dòng)模式時(shí),為所述 端口分配獨(dú)占緩存和第一共享緩存;判斷子單元,與所述第一分配子單元連接,用于統(tǒng)計(jì)所述端口的報(bào)文丟包率以及 當(dāng)前已分配第二共享緩存的數(shù)量,并且在所述端口的報(bào)文丟包率滿足預(yù)設(shè)條件時(shí),判斷當(dāng) 前已分配第二緩存的端口數(shù)量是否大于或者等于閾值;第二分配子單元,與所述判斷子單元連接,用于當(dāng)所述判斷子單元的判斷結(jié)果為 否時(shí),根據(jù)設(shè)置的步長(zhǎng)依次為所述端口分配共享緩存,直到所述端口的共享緩存等于所述
第二共享緩存。所述第二分配子單元還用于統(tǒng)計(jì)所述端口獲得所述第二共享緩存的時(shí)間,并且在所述端口獲得所述第二共享 緩存的時(shí)間超過預(yù)定時(shí)間時(shí),將所述端口的緩存重新設(shè)置為獨(dú)占緩存和第一共享緩存。與現(xiàn)有技術(shù)相比,本發(fā)明至少具有以下優(yōu)點(diǎn) 數(shù)據(jù)轉(zhuǎn)發(fā)設(shè)備不為無連接的端口分配緩存,對(duì)于有連接的端口,根據(jù)端口對(duì)應(yīng)的 緩存的分配模式為端口分配緩存,提高數(shù)據(jù)轉(zhuǎn)發(fā)設(shè)備內(nèi)緩存的使用效率。
圖1是現(xiàn)有技術(shù)中不對(duì)等數(shù)據(jù)傳輸組網(wǎng)示意圖;圖2是現(xiàn)有技術(shù)提供的數(shù)據(jù)轉(zhuǎn)發(fā)設(shè)備中緩存的配置方法示意圖;圖3是本發(fā)明實(shí)施例一提供的端口緩存的分配方法流程示意圖;圖4是本發(fā)明實(shí)施例二提供的端口緩存的分配方法流程示意圖;圖5本發(fā)明實(shí)施例三提供的端口緩存的分配方法中數(shù)據(jù)轉(zhuǎn)發(fā)設(shè)備的端口緩存模 式示意圖;圖6本發(fā)明實(shí)施例三中Auto模式的切換過程示意圖;圖7是本發(fā)明實(shí)施例四提供的數(shù)據(jù)轉(zhuǎn)發(fā)設(shè)備的結(jié)構(gòu)示意圖。
具體實(shí)施例方式本發(fā)明中,對(duì)于無連接的端口,數(shù)據(jù)轉(zhuǎn)發(fā)設(shè)備不分配緩存;對(duì)于有連接的端口,數(shù) 據(jù)轉(zhuǎn)發(fā)設(shè)備則根據(jù)端口對(duì)應(yīng)的緩存的分配模式為端口分配緩存。下面結(jié)合具體實(shí)施例詳細(xì)介紹本發(fā)明提供的端口緩存的處理方法。實(shí)施例一本發(fā)明實(shí)施例一提供一種端口緩存的分配方法,如圖3所示,包括以下步驟步驟301,數(shù)據(jù)轉(zhuǎn)發(fā)設(shè)備獲取端口的連接狀態(tài)。當(dāng)端口無連接時(shí),執(zhí)行步驟302 ;當(dāng) 端口有連接時(shí),執(zhí)行步驟303;數(shù)據(jù)轉(zhuǎn)發(fā)設(shè)備讀取對(duì)應(yīng)端口的芯片端口狀態(tài)寄存器,該寄存器中存儲(chǔ)有端口的連 接狀態(tài)。
6
步驟302,數(shù)據(jù)轉(zhuǎn)發(fā)設(shè)備不為所述端口分配緩存。步驟303,數(shù)據(jù)轉(zhuǎn)發(fā)設(shè)備獲取端口對(duì)應(yīng)的緩存的分配模式,根據(jù)該分配模式為端口 分配緩存。具體的,數(shù)據(jù)轉(zhuǎn)發(fā)設(shè)備中存儲(chǔ)端口對(duì)應(yīng)的緩存的分配模式與端口標(biāo)識(shí)(例如端口 號(hào))的對(duì)應(yīng)關(guān)系,數(shù)據(jù)轉(zhuǎn)發(fā)設(shè)備根據(jù)端口標(biāo)識(shí)查找得到對(duì)應(yīng)的緩存的分配模式。該緩存的 分配模式具體包括以下模式中的一種或者多種正常模式(normal)、突發(fā)模式(burst)以 及自動(dòng)模式(auto)。當(dāng)端口對(duì)應(yīng)的緩存的分配模式為正常模式時(shí),數(shù)據(jù)轉(zhuǎn)發(fā)設(shè)備為端口分配獨(dú)占緩存 和第一共享緩存;當(dāng)端口對(duì)應(yīng)的緩存的分配模式為突發(fā)模式時(shí),數(shù)據(jù)轉(zhuǎn)發(fā)設(shè)備為端口分配 獨(dú)占緩存和第二共享緩存;第二共享緩存大于第一共享緩存。第一共享緩存和第二共享緩 存的具體值都可以根據(jù)實(shí)際需要靈活設(shè)置。當(dāng)端口對(duì)應(yīng)的緩存的分配模式為自動(dòng)模式時(shí),數(shù)據(jù)轉(zhuǎn)發(fā)設(shè)備為端口分配獨(dú)占緩存 和第一共享緩存,并當(dāng)端口的報(bào)文丟包率滿足預(yù)設(shè)條件時(shí),判斷當(dāng)前已分配第二共享緩存 的端口數(shù)量是否大于或者等于閾值,當(dāng)判斷結(jié)果為否時(shí)為端口分配第二共享緩存。具體的, 數(shù)據(jù)轉(zhuǎn)發(fā)設(shè)備中的轉(zhuǎn)發(fā)芯片等具有丟包統(tǒng)計(jì)功能以及統(tǒng)計(jì)各端口緩存分配狀態(tài)(如,分配 了獨(dú)占緩存以及第一共享緩存的端口數(shù)目、分配了獨(dú)占緩存以及第二共享緩存的端口數(shù) 目)的單元,可以獲知每一端口在報(bào)文轉(zhuǎn)發(fā)過程中由于緩存不足而導(dǎo)致的丟包數(shù)量,當(dāng)端 口的報(bào)文丟包率滿足預(yù)設(shè)條件時(shí),例如出現(xiàn)端口丟包時(shí)或者一定時(shí)間內(nèi)丟包的數(shù)量超過閾 值時(shí),數(shù)據(jù)轉(zhuǎn)發(fā)設(shè)備判斷當(dāng)前已分配第二共享緩存的端口數(shù)量是否大于或者等于閾值,當(dāng) 判斷結(jié)果為否時(shí)為端口分配第二共享緩存。數(shù)據(jù)轉(zhuǎn)發(fā)設(shè)備為端口分配第二共享緩存時(shí)可以 采用兩種方式一是直接為端口分配第二共享緩存,二是根據(jù)設(shè)置的步長(zhǎng)依次為端口分配 共享緩存,逐步增加端口的共享緩存直到第二共享緩存。當(dāng)自動(dòng)模式的端口獲得第二共享緩存的時(shí)間超過預(yù)定時(shí)間時(shí),數(shù)據(jù)轉(zhuǎn)發(fā)設(shè)備將該 端口的緩存重新設(shè)置為獨(dú)占緩存和第一共享緩存,后續(xù)當(dāng)該端口的報(bào)文丟包率滿足預(yù)設(shè)條 件時(shí),且已分配第二共享緩存的端口數(shù)量小于閾值時(shí),重新為該端口分配第二共享緩存。實(shí)施例二本發(fā)明實(shí)施例二提供一種端口緩存的分配方法,如圖4所示,包括以下步驟步驟401,數(shù)據(jù)轉(zhuǎn)發(fā)設(shè)備獲取端口對(duì)應(yīng)的緩存的分配模式。具體的,端口對(duì)應(yīng)的緩存的分配模式包括以下模式中的一種或者多種正常模式、 突發(fā)模式以及自動(dòng)模式。步驟402,當(dāng)端口對(duì)應(yīng)的緩存的分配模式為正常模式時(shí),數(shù)據(jù)轉(zhuǎn)發(fā)設(shè)備獲取端口的 連接狀態(tài),當(dāng)端口無連接時(shí),數(shù)據(jù)轉(zhuǎn)發(fā)設(shè)備不為所述端口分配緩存,當(dāng)端口有連接時(shí),數(shù)據(jù) 轉(zhuǎn)發(fā)設(shè)備為端口分配獨(dú)占緩存和第一共享緩存。步驟403,當(dāng)端口對(duì)應(yīng)的緩存的分配模式為突發(fā)模式時(shí),數(shù)據(jù)轉(zhuǎn)發(fā)設(shè)備獲取端口的 連接狀態(tài),當(dāng)端口無連接時(shí),數(shù)據(jù)轉(zhuǎn)發(fā)設(shè)備不為所述端口分配緩存,當(dāng)端口有連接時(shí),數(shù)據(jù) 轉(zhuǎn)發(fā)設(shè)備為端口分配獨(dú)占緩存和第二共享緩存。步驟404,當(dāng)端口對(duì)應(yīng)的緩存的分配模式為自動(dòng)模式時(shí),數(shù)據(jù)轉(zhuǎn)發(fā)設(shè)備獲取端口 的連接狀態(tài),當(dāng)端口無連接時(shí),數(shù)據(jù)轉(zhuǎn)發(fā)設(shè)備不為所述端口分配緩存,當(dāng)端口有連接時(shí),數(shù) 據(jù)轉(zhuǎn)發(fā)設(shè)備為端口分配獨(dú)占緩存和第一共享緩存,并當(dāng)端口的報(bào)文丟包率滿足預(yù)設(shè)條件、
7且當(dāng)前已分配第二共享緩存的端口數(shù)量小于閾值時(shí),數(shù)據(jù)轉(zhuǎn)發(fā)設(shè)備為端口分配第二共享緩 存。本實(shí)施例中,第一共享緩存小于第二共享緩存。本領(lǐng)域技術(shù)人員可根據(jù)實(shí)際應(yīng)用 的需要,設(shè)置第一共享緩存與第二共享緩存的大小。實(shí)施例三本發(fā)明實(shí)施例三提供一種端口緩存的分配方法,如圖5所示,數(shù)據(jù)轉(zhuǎn)發(fā)設(shè)備包括4 個(gè)端口 A D。端口 A因?yàn)闆]有連接,數(shù)據(jù)轉(zhuǎn)發(fā)設(shè)備感知到端口 A沒連接,因而不為端口 A 分配獨(dú)占緩存和共享緩存。端口 B、端口 C以及端口 D的緩存的分配模式分別mormal模式、 burst模式以及auto模式。數(shù)據(jù)轉(zhuǎn)發(fā)設(shè)備存儲(chǔ)各個(gè)端口對(duì)應(yīng)的緩存的分配模式。優(yōu)選的, 根據(jù)各個(gè)端口的緩存利用率配置各個(gè)端口的緩存的分配模式,例如,對(duì)于可以確定緩存使 用率穩(wěn)定的端口配置為normal模式或者burst模式,對(duì)于難以確定緩存使用率的端口、或 者緩存使用率變化較大的端口配置成auto模式。數(shù)據(jù)轉(zhuǎn)發(fā)設(shè)備根據(jù)Normal模式或burst 模式,分配給端口的緩存均包含獨(dú)占緩存和共享緩存。其中,normal模式分配給端口的獨(dú) 占緩存與burst模式分配給端口的獨(dú)占緩存的大小相同;但是,normal模式分配給端口的 共享緩存小于burst模式下配給端口的獨(dú)占緩存。normal模式數(shù)據(jù)轉(zhuǎn)發(fā)設(shè)備獲知端口 B端口有連接時(shí),為端口 B分配獨(dú)占緩存及 一般大小的共享緩存,以滿足普通端口的數(shù)據(jù)轉(zhuǎn)發(fā)緩存要求;當(dāng)端口 B沒有連接時(shí),數(shù)據(jù)轉(zhuǎn) 發(fā)設(shè)備不為該端口分配獨(dú)占緩存和共享緩存,當(dāng)數(shù)據(jù)轉(zhuǎn)發(fā)設(shè)備獲知端口 B又有連接時(shí),數(shù) 據(jù)轉(zhuǎn)發(fā)設(shè)備根據(jù)normal模式為端口 B分配獨(dú)占緩存和共享緩存;burst模式數(shù)據(jù)轉(zhuǎn)發(fā)設(shè)備獲知端口 C有連接時(shí),為端口 C分配獨(dú)占緩存及更多的 共享緩存,在該模式下可以使用比normal模式下更多的共享緩存;當(dāng)數(shù)據(jù)轉(zhuǎn)發(fā)設(shè)備獲知端 口 C沒有連接時(shí),不為該端口分配獨(dú)占緩存和共享緩存,當(dāng)數(shù)據(jù)轉(zhuǎn)發(fā)設(shè)備獲知端口 C又有 連接時(shí),則繼續(xù)burst模式為端口 C分配獨(dú)占緩存和共享緩存。auto模式自動(dòng)檢測(cè)模式, 如圖6所示,數(shù)據(jù)轉(zhuǎn)發(fā)設(shè)備根據(jù)auto模式為端口 D分配獨(dú)占緩存和共享緩存。數(shù)據(jù)轉(zhuǎn)發(fā) 設(shè)備通過統(tǒng)計(jì)端口 D的報(bào)文丟包率來自動(dòng)檢測(cè)端口 D的緩存利用情況,以便將端口 D的緩 存的分配模式在normal及burst模式間切換;當(dāng)數(shù)據(jù)轉(zhuǎn)發(fā)設(shè)備獲知端口存在連接時(shí),再根 據(jù)normal模式為端口分配獨(dú)占緩存和共享緩存;當(dāng)端口 D的丟包率滿足預(yù)設(shè)條件時(shí),則數(shù) 據(jù)轉(zhuǎn)發(fā)設(shè)備根據(jù)burst模式為端口 D分配獨(dú)占緩存和共享緩存。但是,數(shù)據(jù)轉(zhuǎn)發(fā)設(shè)備根據(jù) burst模式為端口 D分配獨(dú)占緩存和共享緩存的時(shí)間到達(dá)預(yù)置的時(shí)間,則數(shù)據(jù)轉(zhuǎn)發(fā)設(shè)備根 據(jù)normal模式為端口分配獨(dú)占緩存和共享緩存,該預(yù)置的時(shí)間一般設(shè)定為12 24小時(shí)。 數(shù)據(jù)轉(zhuǎn)發(fā)設(shè)備繼續(xù)檢測(cè)統(tǒng)計(jì)端口 D的丟包率以判斷該端口 D緩存是否不足,如果端口 D的 報(bào)文丟包率不符合預(yù)設(shè)條件時(shí),則表示該端口 D不存在緩存不足的情況,數(shù)據(jù)轉(zhuǎn)發(fā)設(shè)備繼 續(xù)根據(jù)normal模式為端口 D分配獨(dú)占緩存和共享緩存,當(dāng)數(shù)據(jù)轉(zhuǎn)發(fā)設(shè)備再次檢測(cè)到端口 D 的丟包率滿足預(yù)設(shè)條件時(shí),會(huì)再次根據(jù)burst模式為端口 D分配獨(dú)占緩存和共享緩存。當(dāng) 端口 D沒有連接時(shí),數(shù)據(jù)轉(zhuǎn)發(fā)設(shè)備不為該端口分配獨(dú)占緩存和共享緩存。此外,數(shù)據(jù)轉(zhuǎn)發(fā)設(shè)備根據(jù)Auto模式為端口 D分配獨(dú)占緩存和共享緩存的技術(shù)方案 可以進(jìn)行變化,變化后的方案如下數(shù)據(jù)轉(zhuǎn)發(fā)設(shè)備獲知端口 D無連接時(shí),不為該端口分配獨(dú) 占緩存和共享緩存;當(dāng)轉(zhuǎn)發(fā)設(shè)備獲知端口 D有連接時(shí),數(shù)據(jù)轉(zhuǎn)發(fā)設(shè)備根據(jù)normal模式為端 口 D分配獨(dú)占緩存和共享緩存。數(shù)據(jù)轉(zhuǎn)發(fā)設(shè)備統(tǒng)計(jì)端口 D的報(bào)文丟包率達(dá)到預(yù)設(shè)條件,并且當(dāng)前burst模式的端口數(shù)小于預(yù)設(shè)的burst模式端口數(shù)最大值Y(當(dāng)前burst模式的端口數(shù) 包括配置為burst模式但當(dāng)前無連接的端口數(shù))時(shí),數(shù)據(jù)轉(zhuǎn)發(fā)設(shè)備還可以采用步進(jìn)的方式, 根據(jù)預(yù)設(shè)的步長(zhǎng)增加分配給端口 D的共享緩存,當(dāng)數(shù)據(jù)轉(zhuǎn)發(fā)設(shè)備為端口 D增加共享緩存后, 檢測(cè)到端口 D的丟包率又到達(dá)預(yù)定條件時(shí),數(shù)據(jù)轉(zhuǎn)發(fā)設(shè)備按照該步長(zhǎng)增加端口 D共享緩存, 直到達(dá)到burst模式的共享緩存,例如一個(gè)步長(zhǎng)是2KByte,burst總共可增加10個(gè)步長(zhǎng),也 就是20KByte。需要說明的是,一個(gè)交換設(shè)備可以同時(shí)存在多個(gè)burst模式端口,但是為了 保證burst端口的轉(zhuǎn)發(fā)性能,該數(shù)量是有限制的,也就是是說一個(gè)交換設(shè)備只能同時(shí)存在Y 個(gè)burst端口,Y可以進(jìn)行配置,Y 一般設(shè)定為交換設(shè)備總端口數(shù)的1/5 1/10。實(shí)施例四本發(fā)明實(shí)施例四提供一種數(shù)據(jù)轉(zhuǎn)發(fā)設(shè)備,如圖7所示,包括獲取單元11,用于獲取端口的連接狀態(tài);分配單元12,與所述獲取單元11連接,用于當(dāng)所述獲取單元11獲取的連接狀態(tài)為 端口無連接時(shí),不為所述端口分配緩存;當(dāng)所述獲取單元11獲取的連接狀態(tài)為端口有連接 時(shí),根據(jù)所述端口對(duì)應(yīng)的緩存的分配模式為所述端口分配緩存。所述端口對(duì)應(yīng)的緩存的分配模式包括以下模式中的一種或者多種正常模式、突 發(fā)模式以及自動(dòng)模式;所述分配單元12還用于當(dāng)所述端口對(duì)應(yīng)的緩存的分配模式為正常模式時(shí),為所述端口分配獨(dú)占緩存和第
一共享緩存;當(dāng)所述端口對(duì)應(yīng)的緩存的分配模式為突發(fā)模式時(shí),為所述端口分配獨(dú)占緩存和第 二共享緩存;所述第二共享緩存大于所述第一共享緩存。所述分配單元12還可以包括第一分配子單元121,用于當(dāng)所述端口對(duì)應(yīng)的緩存的分配模式為自動(dòng)模式時(shí),為所 述端口分配獨(dú)占緩存和第一共享緩存;判斷子單元122,與所述第一分配子單元121連接,用于統(tǒng)計(jì)所述端口的報(bào)文丟包 率以及當(dāng)前已分配第二共享緩存的數(shù)量,并且在所述端口的報(bào)文丟包滿足預(yù)設(shè)條件時(shí),判 斷當(dāng)前已分配第二共享緩存的端口數(shù)量是否大于或者等于閾值;第二分配子單元123,與所述判斷子單元122連接,用于當(dāng)所述判斷子單元的判斷 結(jié)果為否時(shí)直接為所述端口分配所述第二共享緩存。第二分配子單元123,還用于當(dāng)所述判斷子單元122的判斷結(jié)果為否時(shí),根據(jù)設(shè)置 的步長(zhǎng)依次為所述端口分配共享緩存,直到所述端口的共享緩存等于所述第二共享緩存。當(dāng)所述端口對(duì)應(yīng)的緩存的分配模式為自動(dòng)模式時(shí),所述分配單元123還用于統(tǒng) 計(jì)所述端口獲得所述第二共享緩存的時(shí)間,并且在所述端口獲得所述第二共享緩存的時(shí)間 超過預(yù)定時(shí)間時(shí),將所述端口的緩存重新設(shè)置為獨(dú)占緩存和第一共享緩存。通過以上的實(shí)施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到本發(fā)明可借助 軟件加必需的通用硬件平臺(tái)的方式來實(shí)現(xiàn),當(dāng)然也可以通過硬件,但很多情況下前者是更 佳的實(shí)施方式。基于這樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的 部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計(jì)算機(jī)軟件產(chǎn)品存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)中,包括若 干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)
9明各個(gè)實(shí)施例所述的方法。本領(lǐng)域技術(shù)人員可以理解附圖只是一個(gè)優(yōu)選實(shí)施例的示意圖,附圖中的模塊或流程并不一定是實(shí)施本發(fā)明所必須的。本領(lǐng)域技術(shù)人員可以理解實(shí)施例中的裝置中的模塊可以按照實(shí)施例描述進(jìn)行分 布于實(shí)施例的裝置中,也可以進(jìn)行相應(yīng)變化位于不同于本實(shí)施例的一個(gè)或多個(gè)裝置中。上 述實(shí)施例的模塊可以合并為一個(gè)模塊,也可以進(jìn)一步拆分成多個(gè)子模塊。 上述本發(fā)明實(shí)施例序號(hào)僅僅為了描述,不代表實(shí)施例的優(yōu)劣。 以上公開的僅為本發(fā)明的幾個(gè)具體實(shí)施例,但是,本發(fā)明并非局限于此,任何本領(lǐng)
域的技術(shù)人員能思之的變化都應(yīng)落入本發(fā)明的保護(hù)范圍。
權(quán)利要求
一種端口緩存的分配方法,應(yīng)用于包括多個(gè)端口的數(shù)據(jù)轉(zhuǎn)發(fā)設(shè)備,其特征在于,包括獲取端口的連接狀態(tài);當(dāng)獲取的連接狀態(tài)為所述端口無連接時(shí),不為所述端口分配緩存;當(dāng)獲取的連接狀態(tài)為所述端口有連接時(shí),根據(jù)所述端口對(duì)應(yīng)的緩存的分配模式為所述端口分配緩存。
2.如權(quán)利要求1所述的方法,其特征在于,所述端口對(duì)應(yīng)的緩存的分配模式包括以下 模式中的一種或者多種正常模式、突發(fā)模式以及自動(dòng)模式。
3.如權(quán)利要求2所述的方法,其特征在于,根據(jù)所述端口對(duì)應(yīng)的緩存的分配模式為所 述端口分配緩存包括當(dāng)所述端口對(duì)應(yīng)的緩存的分配模式為正常模式時(shí),為所述端口分配獨(dú)占緩存和第一共 享緩存。
4.如權(quán)利要求2所述的方法,其特征在于,根據(jù)所述端口對(duì)應(yīng)的緩存的分配模式為所 述端口分配緩存包括當(dāng)所述端口對(duì)應(yīng)的緩存的分配模式為突發(fā)模式時(shí),為所述端口分配獨(dú)占緩存和第二共 享緩存;所述第二共享緩存大于所述第一共享緩存。
5.如權(quán)利要求2所述的方法,其特征在于,根據(jù)所述端口對(duì)應(yīng)的緩存的分配模式為所 述端口分配緩存包括當(dāng)所述端口對(duì)應(yīng)的緩存的分配模式為自動(dòng)模式時(shí),為所述端口分配獨(dú)占緩存和第一共 享緩存,并當(dāng)所述端口的報(bào)文丟包滿足預(yù)設(shè)條件時(shí),判斷當(dāng)前已分配第二共享緩存的端口 數(shù)量是否大于或者等于閾值;當(dāng)判斷結(jié)果為否時(shí)直接為所述端口分配所述第二共享緩存。
6.如權(quán)利要求2所述的方法,其特征在于,根據(jù)所述端口對(duì)應(yīng)的緩存的分配模式為所 述端口分配緩存包括當(dāng)所述端口對(duì)應(yīng)的緩存的分配模式為自動(dòng)模式時(shí),為所述端口分配獨(dú)占緩存和第一共 享緩存,并當(dāng)所述端口的報(bào)文丟包滿足預(yù)設(shè)條件時(shí),判斷當(dāng)前已分配第二共享緩存的端口 數(shù)量是否大于或者等于閾值;當(dāng)判斷結(jié)果為否時(shí)根據(jù)設(shè)置的步長(zhǎng)依次為所述端口分配共享 緩存,直到所述端口的共享緩存等于所述第二共享緩存。
7.如權(quán)利要求5或6所述的方法,其特征在于,根據(jù)所述端口對(duì)應(yīng)的緩存的分配模式為 所述端口分配緩存之后,還包括當(dāng)所述端口獲得所述第二共享緩存的時(shí)間超過預(yù)定時(shí)間時(shí),將所述端口的緩存重新設(shè) 置為獨(dú)占緩存和第一共享緩存。
8.一種數(shù)據(jù)轉(zhuǎn)發(fā)設(shè)備,其特征在于,包括獲取單元,用于獲取端口的連接狀態(tài);分配單元,與所述獲取單元連接,用于當(dāng)所述獲取單元獲取的連接狀態(tài)為端口無連接 時(shí),不為所述端口分配緩存;當(dāng)所述獲取單元獲取的連接狀態(tài)為端口有連接時(shí),根據(jù)所述端 口對(duì)應(yīng)的緩存的分配模式為所述端口分配緩存。
9.如權(quán)利要求8所述的設(shè)備,其特征在于,所述端口對(duì)應(yīng)的緩存的分配模式包括以下 模式中的一種或者多種正常模式、突發(fā)模式以及自動(dòng)模式。
10.如權(quán)利要求9所述的設(shè)備,其特征在于,所述分配單元,還用于在所述端口對(duì)應(yīng)的緩存的分配模式為正常模式時(shí),為所述端口分配獨(dú)占緩存和第一共享緩存。
11.如權(quán)利要求9所述的設(shè)備,其特征在于,所述分配單元,還用于在所述端口對(duì)應(yīng)的 緩存的分配模式為突發(fā)模式時(shí),為所述端口分配獨(dú)占緩存和第二共享緩存;所述第二共享 緩存大于所述第一共享緩存。
12.如權(quán)利要求9所述的設(shè)備,其特征在于,所述分配單元包括第一分配子單元,用于當(dāng)所述端口對(duì)應(yīng)的緩存的分配模式為自動(dòng)模式時(shí),為所述端口 分配獨(dú)占緩存和第一共享緩存;判斷子單元,與所述第一分配子單元連接,用于統(tǒng)計(jì)所述端口的報(bào)文丟包率以及當(dāng)前 已分配第二共享緩存的數(shù)量,并且在所述端口的丟包率滿足預(yù)設(shè)條件時(shí),判斷當(dāng)前已分配 第二共享緩存的端口數(shù)量是否大于或者等于閾值;第二分配子單元,與所述判斷子單元連接,用于當(dāng)所述判斷子單元的判斷結(jié)果為否時(shí) 直接為所述端口分配所述第二共享緩存。
13.如權(quán)利要求9所述的設(shè)備,其特征在于,所述分配單元包括第一分配子單元,用于當(dāng)所述端口對(duì)應(yīng)的緩存的分配模式為自動(dòng)模式時(shí),為所述端口 分配獨(dú)占緩存和第一共享緩存;判斷子單元,與所述第一分配子單元連接,用于統(tǒng)計(jì)所述端口的報(bào)文丟包率以及當(dāng)前 已分配第二共享緩存的數(shù)量,并且在所述端口的報(bào)文丟包率滿足預(yù)設(shè)條件時(shí),判斷當(dāng)前已 分配第二共享緩存的端口數(shù)量是否大于或者等于閾值;第二分配子單元,與所述判斷子單元連接,用于當(dāng)所述判斷子單元的判斷結(jié)果為否時(shí), 根據(jù)設(shè)置的步長(zhǎng)依次為所述端口分配共享緩存,直到所述端口的共享緩存等于所述第二共 享緩存。
14.如權(quán)利要求12或13所述的設(shè)備,其特征在于,所述第二分配子單元,還用于,統(tǒng)計(jì) 所述端口獲得所述第二共享緩存的時(shí)間,并且在所述端口獲得所述第二共享緩存的時(shí)間超 過預(yù)定時(shí)間時(shí),將所述端口的緩存重新設(shè)置為獨(dú)占緩存和第一共享緩存。
全文摘要
本發(fā)明公開了一種數(shù)據(jù)轉(zhuǎn)發(fā)設(shè)備和端口緩存的分配方法,該方法包括數(shù)據(jù)轉(zhuǎn)發(fā)設(shè)備獲取端口的連接狀態(tài),當(dāng)獲取的連接狀態(tài)為所述端口無連接時(shí),不為所述端口分配緩存;當(dāng)獲取的連接狀態(tài)為所述端口有連接時(shí),根據(jù)所述端口對(duì)應(yīng)的緩存的分配模式為所述端口分配緩存。本發(fā)明中,數(shù)據(jù)轉(zhuǎn)發(fā)設(shè)備為多個(gè)端口靈活分配緩存,提高端口緩存的利用率。
文檔編號(hào)H04L12/56GK101873269SQ20101020822
公開日2010年10月27日 申請(qǐng)日期2010年6月24日 優(yōu)先權(quán)日2010年6月24日
發(fā)明者周明 申請(qǐng)人:杭州華三通信技術(shù)有限公司