国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種報(bào)文查詢(xún)方法及裝置的制作方法

      文檔序號(hào):7576920閱讀:207來(lái)源:國(guó)知局
      專(zhuān)利名稱(chēng):一種報(bào)文查詢(xún)方法及裝置的制作方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及通訊技術(shù)領(lǐng)域,尤其涉及一種報(bào)文查詢(xún)方法及裝置。
      背景技術(shù)
      路由器芯片處理的一個(gè)基本對(duì)象就是報(bào)文,很多情況下根據(jù)優(yōu)先級(jí)不同,又或者 是報(bào)文類(lèi)型不同,會(huì)將報(bào)文劃分為多種流。所有類(lèi)型報(bào)文會(huì)共享同一片內(nèi)部緩存,在將報(bào)文寫(xiě)入緩存的同時(shí)解析報(bào)文類(lèi)型并 根據(jù)類(lèi)型做不同的處理查詢(xún)請(qǐng)求,待查詢(xún)請(qǐng)求返回結(jié)果后方能從緩存中讀出報(bào)文做相應(yīng)處 理。以下我們簡(jiǎn)稱(chēng)不同類(lèi)型的報(bào)文為不同的流,查詢(xún)請(qǐng)求為REQ,返回查詢(xún)結(jié)果為RES。按報(bào)文寫(xiě)入緩存順序發(fā)起REQ,REQ處理需要一段時(shí)間方能返回RES,處理時(shí)長(zhǎng)不 固定,在一定范圍內(nèi)波動(dòng)。相同流之間的REQ_RES是保序的,即先發(fā)REQ的報(bào)文,先得到RES。 不同流之間的REQ_RES是亂序的,比如流1的報(bào)文先發(fā)REQ,流2的報(bào)文后發(fā)REQ,流2的報(bào) 文可能先得到RES。相同流需按RES返回順序處理報(bào)文。不同流之間的報(bào)文不需保序。某 條流處理REQ時(shí),可能被強(qiáng)制按另一種流的處理。以下這種場(chǎng)景簡(jiǎn)稱(chēng)為流的Bypass (強(qiáng)制 轉(zhuǎn)換)處理。由于不同流之間的REQ_RES是亂序的,這就造成先寫(xiě)入緩存的報(bào)文可能后讀 出的情況。對(duì)于多流的緩存管理現(xiàn)在常用的方案即是鏈表管理,每一條流單獨(dú)維護(hù)一個(gè)鏈 表,將流內(nèi)每個(gè)報(bào)文在緩存中的地址按寫(xiě)緩存順序形成串鏈。鏈表頭指針指向串鏈的第一 個(gè)報(bào)文。返回RES時(shí),判定流類(lèi)型,從相應(yīng)鏈表的頭指針處獲取報(bào)文在緩存中的地址,讀取 報(bào)文,同時(shí)將鏈表頭指針指向串鏈的下一跳。后續(xù)RES處理依次類(lèi)推。在實(shí)現(xiàn)本發(fā)明過(guò)程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)中至少存在如下問(wèn)題鏈表管理方案 最大的缺點(diǎn)是無(wú)法處理流類(lèi)型的強(qiáng)制轉(zhuǎn)換。舉例說(shuō)明假設(shè)流1與流2 (兩種流優(yōu)先級(jí)不 同)各維護(hù)一個(gè)鏈表,報(bào)文1、2、3、4、5、6依次寫(xiě)入緩存,報(bào)文1屬于流1,發(fā)起REQl ;報(bào)文2 亦屬流1,發(fā)起REQ2。流1報(bào)文處理模塊依次得到REQ1、REQ2,但REQ2被Bypass為流2, 按流2處理流程走,由于不同流之間的REQ_RES不保序,REQ2的應(yīng)答RES2可能在RESl前 返回,此時(shí)流1鏈表的頭指針與RES2的報(bào)文并不對(duì)應(yīng),鏈表管理無(wú)法處理這種場(chǎng)景。鏈表 管理方案的另一個(gè)缺點(diǎn)就是占用資源多,需維護(hù)額外維護(hù)一個(gè)Free_addr_liSt (存空閑地 址)與鏈表共享緩存(存鏈表指針),相對(duì)也增加了 Memory(內(nèi)存)的讀寫(xiě)操作,加大了功
      ^^ ο

      發(fā)明內(nèi)容
      本發(fā)明實(shí)施例提供一種報(bào)文查詢(xún)方法及裝置,支持多條流緩存管理時(shí)的Bykiss 場(chǎng)景,并簡(jiǎn)化邏輯設(shè)計(jì)復(fù)雜度。一方面,本發(fā)明實(shí)施例提供了一種報(bào)文查詢(xún)方法,所述方法包括接收?qǐng)?bào)文并將所 述報(bào)文寫(xiě)入緩存;發(fā)送所述報(bào)文的查詢(xún)請(qǐng)求,所述查詢(xún)請(qǐng)求包括所述報(bào)文的報(bào)文頭在所述 緩存中的地址信息;接收反饋的查詢(xún)結(jié)果,獲取所述查詢(xún)結(jié)果中的包含的所述報(bào)文的報(bào)文頭在所述緩存中的地址信息;根據(jù)所述報(bào)文的報(bào)文頭在所述緩存中的地址信息,從所述緩 存中讀出所述報(bào)文。另一方面,本發(fā)明實(shí)施例提供了一種報(bào)文查詢(xún)裝置,所述裝置包括寫(xiě)入單元,用 于接收?qǐng)?bào)文并將所述報(bào)文寫(xiě)入緩存;發(fā)送單元,用于發(fā)送所述報(bào)文的查詢(xún)請(qǐng)求,所述查詢(xún)請(qǐng) 求包括所述報(bào)文的報(bào)文頭在所述緩存中的地址信息;接收單元,用于接收反饋的查詢(xún)結(jié)果, 獲取所述查詢(xún)結(jié)果中的包含的所述報(bào)文的報(bào)文頭在所述緩存中的地址信息;讀取單元,用 于根據(jù)所述報(bào)文的報(bào)文頭在所述緩存中的地址信息,從所述緩存中讀出所述報(bào)文。上述技術(shù)方案具有如下有益效果因?yàn)椴捎媒邮請(qǐng)?bào)文并將所述報(bào)文寫(xiě)入緩存;發(fā) 送所述報(bào)文的查詢(xún)請(qǐng)求,所述查詢(xún)請(qǐng)求包括所述報(bào)文的報(bào)文頭在所述緩存中的地址信息; 接收反饋的查詢(xún)結(jié)果,獲取所述查詢(xún)結(jié)果中的包含的所述報(bào)文的報(bào)文頭在所述緩存中的地 址信息;根據(jù)所述報(bào)文的報(bào)文頭在所述緩存中的地址信息,從所述緩存中讀出所述報(bào)文的 技術(shù)手段,所以支持多條流緩存管理時(shí)的Bykiss場(chǎng)景,并簡(jiǎn)化了邏輯設(shè)計(jì)復(fù)雜度。相對(duì)于 鏈表管理,去除了空閑地址緩存與鏈表指針緩存,節(jié)省了資源也減少內(nèi)存的讀寫(xiě)操作,符合 低功耗需求。


      為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn) 有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本 發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可 以根據(jù)這些附圖獲得其他的附圖。圖1為本發(fā)明實(shí)施例一種報(bào)文查詢(xún)方法流程圖;圖2為本發(fā)明實(shí)施例緩存寫(xiě)入示意圖;圖3為本發(fā)明實(shí)施例收?qǐng)?bào)文后發(fā)REQ示意圖;圖4為本發(fā)明實(shí)施例另一收?qǐng)?bào)文后發(fā)REQ示意圖;圖5為本發(fā)明實(shí)施例一種報(bào)文查詢(xún)裝置結(jié)構(gòu)示意圖;圖6為本發(fā)明實(shí)施例另一種報(bào)文查詢(xún)裝置結(jié)構(gòu)示意圖。
      具體實(shí)施例方式下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完 整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;?本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他 實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。如圖1所示,為本發(fā)明實(shí)施例一種報(bào)文查詢(xún)方法流程圖,所述方法包括101、接收?qǐng)?bào)文并將所述報(bào)文寫(xiě)入緩存。102、發(fā)送所述報(bào)文的查詢(xún)請(qǐng)求,所述查詢(xún)請(qǐng)求包括所述報(bào)文的報(bào)文頭在所述緩存 中的地址信息。為方便描述緩存管理方案,可以先設(shè)定一個(gè)應(yīng)用場(chǎng)景如圖2所示,為本發(fā)明實(shí)施 例緩存寫(xiě)入示意圖。1、假設(shè)內(nèi)部緩存位寬為32B(Byte),深度512個(gè)地址,總?cè)萘繛?6KB ;
      2、入口報(bào)文長(zhǎng)度不固定,長(zhǎng)度范圍為20B 9. 6KB ;3、入口報(bào)文按優(yōu)先級(jí)不同劃分為4種流,流0 流3??蛇x的,所述寄存器可以為一組512bit的寄存器。所述將接收的報(bào)文寫(xiě)入緩存, 可以包括在將接收的報(bào)文寫(xiě)入緩存時(shí),按照先進(jìn)先出緩存(First In First Out, FIFO) 的方式,將所述報(bào)文寫(xiě)入緩存。另外,以地址升序循環(huán)寫(xiě)入緩存,寫(xiě)滿(mǎn)可以翻轉(zhuǎn)。由于在寫(xiě) 報(bào)文時(shí)按照FIFO方式,地址升序循環(huán)寫(xiě)入,寫(xiě)入報(bào)文后發(fā)送REQ時(shí)攜帶報(bào)文頭在緩存中的 地址,并隨RES返回地址,由此不用維護(hù)鏈表即可保證報(bào)文與RES的一一對(duì)應(yīng)關(guān)系,支持流 Bypass場(chǎng)景,不論REQ與RES如何亂序也不受影響??蛇x的,將所述報(bào)文寫(xiě)入緩存中的一個(gè)地址,將以地址映射點(diǎn)陣圖(Bitmap)的形 式表示緩存地址占用情況的寄存器中與所述地址對(duì)應(yīng)的Bitmap位置設(shè)置為1,以指示該地 址已占,不允許再寫(xiě)。由于報(bào)文緩存的寫(xiě)地址按FIFO式管理,但讀地址是混亂的,不能簡(jiǎn)單 靠讀寫(xiě)次數(shù)來(lái)計(jì)算緩存剩余空間,會(huì)造成寫(xiě)端口無(wú)法感知當(dāng)前地址是否允許寫(xiě)入。為解決 這個(gè)問(wèn)題,方案中引入BitMap式地址分配。BitMap與報(bào)文寫(xiě)入緩存中的地址一一對(duì)應(yīng),為 0表示空閑,允許寫(xiě)入,為1表示占用,禁寫(xiě)入。103、接收反饋的查詢(xún)結(jié)果,獲取所述查詢(xún)結(jié)果中包含的所述報(bào)文的報(bào)文頭在所述 緩存中的地址信息。如圖3所示,為本發(fā)明實(shí)施例收?qǐng)?bào)文后發(fā)REQ示意圖,其中的hptr為報(bào)文的報(bào)文 頭在緩存中的地址,發(fā)REQ時(shí)攜帶該報(bào)文頭在緩存中的地址,返回RES時(shí)將該報(bào)文頭地址同 時(shí)返回。104、根據(jù)所述報(bào)文的報(bào)文頭在所述緩存中的地址信息,從所述緩存中讀出所述報(bào)文??蛇x的,所述根據(jù)所述報(bào)文的報(bào)文頭在所述緩存中的地址信息,從所述緩存中讀 出所述報(bào)文后,所述方法還可以包括將所述寄存器中與所述地址對(duì)應(yīng)的Bitmap位置清零。如圖4所示,為本發(fā)明實(shí)施例另一收?qǐng)?bào)文后發(fā)REQ示意圖,對(duì)于Bypass的流,不需 要特殊處理,只需使用RES攜帶的地址讀出報(bào)文,送至Bypass所屬流通道即可。本發(fā)明實(shí)施例支持多條流共享緩存管理,并支持流Bypass場(chǎng)景。FIFO方式寫(xiě)地址 管理,結(jié)合Bitmap方式地址分配,大大簡(jiǎn)化邏輯設(shè)計(jì)復(fù)雜度;相對(duì)于鏈表管理,去除了空閑 地址緩存與鏈表指針緩存,節(jié)省了資源也減少M(fèi)emory的讀寫(xiě)操作,符合低功耗需求。對(duì)應(yīng)于上述方法實(shí)施例,如圖5所示,為本發(fā)明實(shí)施例一種報(bào)文查詢(xún)裝置結(jié)構(gòu)示 意圖,所述裝置包括寫(xiě)入單元50,用于接收?qǐng)?bào)文并將所述報(bào)文寫(xiě)入緩存;發(fā)送單元51,用于發(fā)送所述報(bào)文的查詢(xún)請(qǐng)求,所述查詢(xún)請(qǐng)求包括所述報(bào)文的報(bào)文 頭在所述緩存中的地址信息;接收單元52,用于接收反饋的查詢(xún)結(jié)果,獲取所述查詢(xún)結(jié)果中的包含所述報(bào)文的 報(bào)文頭在所述緩存中的地址信息;讀取單元53,用于根據(jù)所述報(bào)文的報(bào)文頭在所述緩存中的地址信息,從所述緩存 中讀出所述報(bào)文??蛇x的,如圖6所示,為本發(fā)明實(shí)施例另一種報(bào)文查詢(xún)裝置結(jié)構(gòu)示意圖,所述裝置除包括寫(xiě)入單元50、發(fā)送單元51、接收單元52和讀取單元53外,還可以包括清零單元M。 所述寫(xiě)入單元,進(jìn)一步用于按照先進(jìn)先出緩存FIFO的方式,將所述報(bào)文寫(xiě)入緩存。由于在 寫(xiě)報(bào)文時(shí)按照FIFO方式,地址升序循環(huán)寫(xiě)入,寫(xiě)入報(bào)文后發(fā)送REQ時(shí)攜帶報(bào)文頭在緩存中 的地址,并隨RES返回地址,由此不用維護(hù)鏈表即可保證報(bào)文與RES的一一對(duì)應(yīng)關(guān)系,支持 流Bypass場(chǎng)景,不論REQ與RES如何亂序也不受影響。所述寫(xiě)入單元50,進(jìn)一步用于將所述報(bào)文寫(xiě)入緩存中的一個(gè)地址,將以Bitmap的 形式表示緩存地址占用情況的寄存器中與所述地址對(duì)應(yīng)的Bitmap位置設(shè)置為1,以指示該 地址已占,不允許再寫(xiě)。所述寄存器可以為一組512bit的寄存器。由于報(bào)文緩存的寫(xiě)地址 按FIFO式管理,但讀地址是混亂的,不能簡(jiǎn)單靠讀寫(xiě)次數(shù)來(lái)計(jì)算緩存剩余空間,會(huì)造成寫(xiě) 端口無(wú)法感知當(dāng)前地址是否允許寫(xiě)入。為解決這個(gè)問(wèn)題,方案中引入BitMap式地址分配。 BitMap與報(bào)文寫(xiě)入緩存中的地址一一對(duì)應(yīng),為0表示空閑,允許寫(xiě)入,為1表示占用,禁寫(xiě) 入。所述清零單元M,用于所述讀取單元根據(jù)所述報(bào)文的報(bào)文頭在所述緩存中的地址信息, 從所述緩存中讀出所述報(bào)文后,將所述寄存器中與所述地址對(duì)應(yīng)的Bitmap位置清零。本發(fā)明實(shí)施例支持多條流共享緩存管理,并支持流Bypass場(chǎng)景。FIFO方式寫(xiě)地址 管理,結(jié)合Bitmap方式地址分配,大大簡(jiǎn)化邏輯設(shè)計(jì)復(fù)雜度;相對(duì)于鏈表管理,去除了空閑 地址緩存與鏈表指針緩存,節(jié)省了資源也減少M(fèi)emory的讀寫(xiě)操作,符合低功耗需求。本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例方法中的全部或部分步驟是可以 通過(guò)程序來(lái)指令相關(guān)硬件來(lái)完成,所述的程序可以存儲(chǔ)于一計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中,該 程序在執(zhí)行時(shí),包括上述全部或部分步驟,所述的存儲(chǔ)介質(zhì),如R0M/RAM、磁盤(pán)、光盤(pán)等。以上所述的具體實(shí)施方式
      ,對(duì)本發(fā)明的目的、技術(shù)方案和有益效果進(jìn)行了進(jìn)一步 詳細(xì)說(shuō)明,所應(yīng)理解的是,以上所述僅為本發(fā)明的具體實(shí)施方式
      而已,并不用于限定本發(fā)明 的保護(hù)范圍,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含 在本發(fā)明的保護(hù)范圍之內(nèi)。
      權(quán)利要求
      1.一種報(bào)文查詢(xún)方法,其特征在于,所述方法包括 接收?qǐng)?bào)文并將所述報(bào)文寫(xiě)入緩存;發(fā)送所述報(bào)文的查詢(xún)請(qǐng)求,所述查詢(xún)請(qǐng)求包括所述報(bào)文的報(bào)文頭在所述緩存中的地址 fn息;接收反饋的查詢(xún)結(jié)果,獲取所述查詢(xún)結(jié)果中的包含的所述報(bào)文的報(bào)文頭在所述緩存中 的地址信息;根據(jù)所述報(bào)文的報(bào)文頭在所述緩存中的地址信息,從所述緩存中讀出所述報(bào)文。
      2.如權(quán)利要求1所述方法,其特征在于,所述將所述報(bào)文寫(xiě)入緩存,包括 按照先進(jìn)先出緩存FIFO的方式,將所述報(bào)文寫(xiě)入緩存。
      3.如權(quán)利要求2所述方法,其特征在于,所述按照先進(jìn)先出緩存FIFO的方式,將所述報(bào) 文寫(xiě)入緩存,包括將所述報(bào)文寫(xiě)入緩存中的一個(gè)地址,將以地址映射點(diǎn)陣圖Bitmap的形式表示緩存地 址占用情況的寄存器中與所述地址對(duì)應(yīng)的Bitmap位置設(shè)置為1,以指示該地址已占。
      4.如權(quán)利要求3所述方法,其特征在于,所述根據(jù)所述報(bào)文的報(bào)文頭在所述緩存中的 地址信息,從所述緩存中讀出所述報(bào)文后,所述方法還包括將所述寄存器中與所述地址對(duì)應(yīng)的Bitmap位置清零。
      5.如權(quán)利要求3或4所述方法,其特征在于, 所述寄存器為一組5Ubit的寄存器。
      6.一種報(bào)文查詢(xún)裝置,其特征在于,所述裝置包括 寫(xiě)入單元,用于接收?qǐng)?bào)文并將所述報(bào)文寫(xiě)入緩存;發(fā)送單元,用于發(fā)送所述報(bào)文的查詢(xún)請(qǐng)求,所述查詢(xún)請(qǐng)求包括所述報(bào)文的報(bào)文頭在所 述緩存中的地址信息;接收單元,用于接收反饋的查詢(xún)結(jié)果,獲取所述查詢(xún)結(jié)果中的包含的所述報(bào)文的報(bào)文 頭在所述緩存中的地址信息;讀取單元,用于根據(jù)所述報(bào)文的報(bào)文頭在所述緩存中的地址信息,從所述緩存中讀出 所述報(bào)文。
      7.如權(quán)利要求6所述裝置,其特征在于,所述寫(xiě)入單元,進(jìn)一步用于按照先進(jìn)先出緩存FIFO的方式,將所述報(bào)文寫(xiě)入緩存。
      8.如權(quán)利要求7所述裝置,其特征在于,所述寫(xiě)入單元,進(jìn)一步用于將所述報(bào)文寫(xiě)入緩 存中的一個(gè)地址,將以地址映射點(diǎn)陣圖Bitmap的形式表示緩存地址占用情況的寄存器中 與所述地址對(duì)應(yīng)的Bitmap位置設(shè)置為1,以指示該地址已占。
      9.如權(quán)利要求8所述裝置,其特征在于,所述裝置還包括清零單元,用于所述讀取單元根據(jù)所述報(bào)文的報(bào)文頭在所述緩存中的地址信息,從所 述緩存中讀出所述報(bào)文后,將所述寄存器中與所述地址對(duì)應(yīng)的Bitmap位置清零。
      10.如權(quán)利要求8或9所述裝置,其特征在于, 所述寄存器為一組5Ubit的寄存器。
      全文摘要
      本發(fā)明實(shí)施例提供一種報(bào)文查詢(xún)方法及裝置,所述報(bào)文查詢(xún)方法包括接收?qǐng)?bào)文并將所述報(bào)文寫(xiě)入緩存;發(fā)送所述報(bào)文的查詢(xún)請(qǐng)求,所述查詢(xún)請(qǐng)求包括所述報(bào)文的報(bào)文頭在所述緩存中的地址信息;接收反饋的查詢(xún)結(jié)果,獲取所述查詢(xún)結(jié)果中的包含的所述報(bào)文的報(bào)文頭在所述緩存中的地址信息;根據(jù)所述報(bào)文的報(bào)文頭在所述緩存中的地址信息,從所述緩存中讀出所述報(bào)文。本發(fā)明實(shí)施例支持多條流緩存管理時(shí)的Bybass場(chǎng)景,并簡(jiǎn)化了邏輯設(shè)計(jì)復(fù)雜度。相對(duì)于鏈表管理,去除了空閑地址緩存與鏈表指針緩存,節(jié)省了資源也減少內(nèi)存的讀寫(xiě)操作,符合低功耗需求。
      文檔編號(hào)H04L12/56GK102098221SQ201110031608
      公開(kāi)日2011年6月15日 申請(qǐng)日期2011年1月28日 優(yōu)先權(quán)日2011年1月28日
      發(fā)明者劉玉峰, 魏華 申請(qǐng)人:華為技術(shù)有限公司
      網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
      • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1