国产精品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>

      在通訊中央處理器上實(shí)現(xiàn)多種協(xié)議處理的方法

      文檔序號(hào):7693443閱讀:218來源:國知局
      專利名稱:在通訊中央處理器上實(shí)現(xiàn)多種協(xié)議處理的方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及通訊協(xié)議處理技術(shù),特別是一種在通訊中央處理器(CPU)上實(shí)現(xiàn)多種協(xié)議處理的方法。
      現(xiàn)有兩類技術(shù)的主要差別是在收發(fā)數(shù)據(jù)的處理方法上,處理收發(fā)數(shù)據(jù)的方法主要有兩種,一種是中斷方式,一種是查詢方式。這兩種處理方法各有特點(diǎn),在不同的協(xié)議處理時(shí),需要運(yùn)用不同的方法。
      對(duì)于第一類單純實(shí)現(xiàn)信令的運(yùn)用,因?yàn)樾帕钐幚淼氖谴罅康男“?,并且在信令鏈路多的時(shí)候,中斷過于頻繁,會(huì)消耗較多的CPU處理能力,所以,在信令處理的時(shí)候,通常使用查詢方式。查詢方式一般采用10ms周期,速度再快或者再慢都有一定的缺點(diǎn)。如果查詢周期大于10ms,會(huì)引起呼叫接續(xù)速度變慢,對(duì)于整個(gè)產(chǎn)品來說是性能的一大缺憾;如果查詢速度小于10ms,則會(huì)消耗較多的CPU處理能力。根據(jù)常規(guī),每一條信令消息一般都會(huì)延遲幾個(gè)ms后到達(dá),多次的定時(shí)器處理,僅僅是空轉(zhuǎn),所以在采用10ms查詢方式時(shí),可以將幾個(gè)數(shù)據(jù)包同時(shí)接收,然后提交給上層處理,這樣既可以減少一部分查詢開銷,也不影響信令的接續(xù)性能。如果采用中斷方式的話,在有多條鏈路的情況下,會(huì)有較多的中斷處理開銷,此時(shí)信令鏈路中大量的小包對(duì)于操作系統(tǒng)來說,是很費(fèi)時(shí)的。
      一般來說,在計(jì)算好信令的處理延遲和處理能力后,才進(jìn)行設(shè)計(jì),例如,如果要求信令鏈路處理指定數(shù)量的話路,則根據(jù)每個(gè)話路的負(fù)荷愛爾蘭數(shù),計(jì)算出信令處理消息的總量,然后,再計(jì)算出10ms可以處理多少消息。另外需要指出的是,每個(gè)消息的延遲是有一定要求的,太長的延遲會(huì)導(dǎo)致呼叫接續(xù)慢。
      對(duì)于第二類ISDN接入方面的應(yīng)用,因?yàn)镮SDN上網(wǎng)一般傳輸?shù)氖潜容^大的數(shù)據(jù)包,實(shí)際運(yùn)用中一般傳輸?shù)氖莻鬏斂刂茀f(xié)議(TCP)大包,從幾十個(gè)到幾百個(gè)不等,而采用10ms查詢時(shí)一般傳輸?shù)氖?0Byte的數(shù)據(jù)包,所以使用10ms查詢的方式不是一種合適的方法,況且在通道少的情況下,10ms查詢的方式可能會(huì)引起系統(tǒng)的額外消耗比實(shí)際需要的要多,另外,10ms查詢不可避免的會(huì)加入10ms左右的延遲,而且也不能很好地支持其它服務(wù)質(zhì)量(QOS)隊(duì)列應(yīng)用,因此對(duì)于該運(yùn)用而言,使用中斷方式更為合適,而且引起中斷的開銷比起10ms定時(shí)器的開銷來說相對(duì)要少一些,處理延遲也少。
      目前的這兩類技術(shù)不能夠同時(shí)實(shí)現(xiàn)多種協(xié)議的處理,也不能對(duì)高速數(shù)據(jù)鏈路控制規(guī)程(HDLC)鏈路的不同屬性進(jìn)行任意配置,并且在含有七號(hào)信令(SS7)協(xié)議的124條HDLC鏈路的系統(tǒng)中運(yùn)用時(shí),CPU的內(nèi)部存儲(chǔ)器資源會(huì)變得很緊張。
      為達(dá)到上述目的,本發(fā)明的技術(shù)方案具體是這樣實(shí)現(xiàn)的一種在通訊CPU上實(shí)現(xiàn)多種協(xié)議處理的方法,該方法至少包括以下的步驟;A、將HDLC鏈路通道額外參數(shù)表中的空閑資源分配給HDLC鏈路的通道參數(shù)表,并在HDLC鏈路通道參數(shù)表中配置一種以上的通訊協(xié)議;B、預(yù)先設(shè)置一額外查詢周期;C、在10ms查詢周期內(nèi)處理所有通訊協(xié)議的數(shù)據(jù)接收和含有少量數(shù)據(jù)包且不要求實(shí)現(xiàn)擁塞處理的通訊協(xié)議的數(shù)據(jù)發(fā)送,在10ms查詢周期和額外查詢周期內(nèi)處理含有大量數(shù)據(jù)包且要求實(shí)現(xiàn)擁塞處理的通訊協(xié)議的數(shù)據(jù)發(fā)送。
      其中,步驟A所述的HDLC鏈路的通道額外參數(shù)表和通道參數(shù)表存放于CPU內(nèi)部的存儲(chǔ)器中;步驟A所述的通訊協(xié)議為SS7信道協(xié)議、或PRI信道協(xié)議、或ISDN B信道協(xié)議,或其組合,SS7信道的通道參數(shù)表固定設(shè)置于HDLC通道參數(shù)表區(qū)域內(nèi)的指定位置,這個(gè)指定位置位于CPU中16K DPRAM的0X2000地址處,PRI和ISDN B信道的通道參數(shù)表設(shè)置于HDLC通道參數(shù)表區(qū)域內(nèi)的任意位置;步驟C中所述的含有少量數(shù)據(jù)包且不要求實(shí)現(xiàn)擁塞處理的通訊協(xié)議為SS7信道協(xié)議、或PRI信道協(xié)議、或其組合,所述的含有大量數(shù)據(jù)包且要求實(shí)現(xiàn)擁塞處理的通訊協(xié)議為ISDN B信道協(xié)議。
      在處理ISDN B信道協(xié)議的數(shù)據(jù)發(fā)送時(shí),額外查詢周期設(shè)置為30ms。
      所述的本發(fā)明技術(shù)方案,進(jìn)一步包括;步驟C在處理含有大量數(shù)據(jù)包且要求實(shí)現(xiàn)擁塞處理的通訊協(xié)議的數(shù)據(jù)發(fā)送時(shí),在10ms查詢周期內(nèi)處理物理層緩沖區(qū)中的發(fā)送數(shù)據(jù),在額外查詢周期內(nèi)處理擁塞隊(duì)列中的發(fā)送數(shù)據(jù)。
      其中處理物理層緩沖區(qū)中的發(fā)送數(shù)據(jù)進(jìn)一步包括C11、釋放物理層發(fā)送緩沖區(qū);C12、判斷是否符合物理層發(fā)送條件,如符合,則調(diào)用物理層發(fā)送函數(shù)進(jìn)行數(shù)據(jù)發(fā)送,否則進(jìn)行擁塞處理。
      步驟C12中所述的擁塞處理包括以下的幾個(gè)步驟C121、當(dāng)擁塞隊(duì)列為空時(shí),重新判斷是否符合物理層發(fā)送條件,若不符合,則先將報(bào)文放入擁塞隊(duì)列后再返回?fù)砣畔?,否則,調(diào)用物理層發(fā)送函數(shù)發(fā)送報(bào)文后返回成功狀態(tài)值;C122、當(dāng)擁塞隊(duì)列不為空時(shí),判斷擁塞隊(duì)列是否滿,若滿,則釋放報(bào)文后返回丟棄信息,否則將報(bào)文放入擁塞隊(duì)列后返回?fù)砣畔ⅰ?br> 所述的本發(fā)明技術(shù)方案,進(jìn)一步包括處理擁塞隊(duì)列中的發(fā)送數(shù)據(jù)進(jìn)一步包括C21、釋放物理層發(fā)送緩沖區(qū);C22、進(jìn)行擁塞處理。
      在步驟C22中,首先判斷擁塞隊(duì)列是否為空,當(dāng)擁塞隊(duì)列為空時(shí),返回成功狀態(tài)值;當(dāng)擁塞隊(duì)列不為空時(shí),從擁塞隊(duì)列里取第一個(gè)包,其后判斷是否符合物理層發(fā)送條件,若符合,則調(diào)用服務(wù)質(zhì)量傳輸函數(shù)發(fā)送報(bào)文,否則,將數(shù)據(jù)重新放入擁塞隊(duì)列頭。
      由于本發(fā)明技術(shù)方案通過合理分配HDLC鏈路的通道資源,采用10ms查詢、直接調(diào)用物理層發(fā)送函數(shù)以及10ms查詢加上額外查詢的方式處理通訊協(xié)議的數(shù)據(jù)收發(fā),使得通訊CPU能夠同時(shí)實(shí)現(xiàn)SS7的Q703協(xié)議、PRI的Q921協(xié)議和ISDN B信道的PPP協(xié)議等多種協(xié)議的處理,提高了CPU芯片的利用效率,增大了CPU的協(xié)議容納量。由于本發(fā)明對(duì)CPU的內(nèi)存空間進(jìn)行了重新合理的分配,利用通道額外參數(shù)表的空閑區(qū)域,存放HDLC鏈路的通道參數(shù)表,實(shí)現(xiàn)了資源的充分利用,并且能夠?qū)DLC鏈路的不同屬性進(jìn)行靈活配置。
      圖2為本發(fā)明中SS7、PRI和ISDN B信道的數(shù)據(jù)接收部分在10ms查詢周期內(nèi)的處理流程圖。
      圖3為本發(fā)明中ISDN B信道的數(shù)據(jù)發(fā)送部分在10ms查詢周期內(nèi)的處理流程圖。
      圖4為本發(fā)明中ISDN B信道的數(shù)據(jù)發(fā)送部分在30ms額外查詢周期內(nèi)的處理流程圖。
      本實(shí)施例中使用的CPU有容量為16K的雙端口隨機(jī)存儲(chǔ)器(DPRAM),該DPRAM中可以放置各種參數(shù)表,其中包括HDLC鏈路的通道參數(shù)表(Channel-Specific HDLC Parameters)、HDLC鏈路的通道額外參數(shù)表(Channel ExtraParameters)以及ATM的各種參數(shù)表等。HDLC鏈路的通道參數(shù)表用來配置HDLC鏈路的各種特性以及顯示CPU處理HDLC鏈路時(shí)的狀態(tài),HDLC鏈路的通道額外參數(shù)表用來配置HDLC鏈路在內(nèi)存中的緩沖區(qū)地址和起始緩沖區(qū)的指針地址。HDLC鏈路可以配置的屬性包括字節(jié)順序、采用何種直接存儲(chǔ)器訪問(DMA)方式、是否使用比特反轉(zhuǎn)、最大幀長度、循環(huán)冗余校驗(yàn)(CRC)類型、線路空閑時(shí)發(fā)送何種幀等。
      HDLC鏈路的通道參數(shù)表的位置是固定的,每一個(gè)HDLC鏈路的通道參數(shù)表占據(jù)64字節(jié),如果是256路將占用256×64字節(jié)=16K字節(jié),這將把CPU所有的16K DPRAM的資源全部占滿。但是在實(shí)際應(yīng)用中,CPU的DPRAM資源被支持SS7功能的微碼占用了一部分,約4K字節(jié)大小,又被ATM驅(qū)動(dòng)資源占用大約1K字節(jié)。另外,因?yàn)橹С諷S7功能的每條HDLC鏈路的通道參數(shù)表要占用128字節(jié)的存儲(chǔ)資源,所以,如果被支持SS7功能的微碼和ATM驅(qū)動(dòng)資源占用了一部分存儲(chǔ)資源的DPRAM,再存儲(chǔ)包括SS7在內(nèi)的HDLC鏈路的通道參數(shù)表和通道額外參數(shù)表,那么剩下的DPRAM資源部分按照常規(guī)方式已不能滿足支持124條HDLC鏈路的系統(tǒng)要求,因此必須合理分配資源以滿足系統(tǒng)實(shí)現(xiàn)124條HDLC鏈路的要求。
      由于DPRAM的第一個(gè)64字節(jié)對(duì)應(yīng)第一個(gè)HDLC鏈路的通道參數(shù)表,第二個(gè)64字節(jié)對(duì)應(yīng)第二個(gè)HDLC鏈路的通道參數(shù)表,并以此類推。因此,在支持SS7功能的微碼和ATM驅(qū)動(dòng)資源占用了一部分DPRAM的資源后,HDLC鏈路的前面幾十路就沒有被使用,這樣在HDLC鏈路的通道額外參數(shù)表的相應(yīng)位置就會(huì)出現(xiàn)空閑區(qū)域,將其重新利用上,作為HDLC鏈路的通道參數(shù)表,就能夠增加存儲(chǔ)幾條鏈路的屬性。本實(shí)施例就是將這些未使用的資源用于存儲(chǔ)HDLC鏈路的通道參數(shù)表,可支持包括16條SS7鏈路在內(nèi)的130條HDLC鏈路,完全滿足124條HDLC鏈路的系統(tǒng)要求。需要指明的是作為普通HDLC鏈路,每個(gè)HDLC鏈路的通道參數(shù)表占用64字節(jié),而支持SS7功能的HDLC鏈路的通道參數(shù)表則占用128字節(jié),所以為了實(shí)現(xiàn)HDLC通道屬性的動(dòng)態(tài)配置,而且不影響其他通道,要將支持SS7功能的HDLC鏈路的通道參數(shù)表固定放置在從第128個(gè)通道參數(shù)表位置開始的地方。
      參見

      圖1,其為本發(fā)明CPU中DPRAM的存儲(chǔ)空間分配原理示意圖。A區(qū)為0x0到0xfff的內(nèi)存區(qū)域,分配給支持七號(hào)信令功能的微碼;B區(qū)為0x1000到0x163f的內(nèi)存區(qū)域,分配給異步轉(zhuǎn)移模式的驅(qū)動(dòng)資源;C1區(qū)為0x1640到0x1abf內(nèi)存區(qū)域,即額外參數(shù)表中的空閑區(qū)域,分配給通道號(hào)從89到106的HDLC鏈路的通道參數(shù)表,存儲(chǔ)18條HDLC鏈路的屬性;C2區(qū)為0x1ac0到0x1fff的內(nèi)存區(qū)域,分配給通道號(hào)從88到255的HDLC鏈路的額外參數(shù)表;D區(qū)為0x2000到0x27ff的內(nèi)存區(qū)域,分配給通道號(hào)從128到159的HDLC鏈路的通道參數(shù)表,存儲(chǔ)16條HDLC鏈路的屬性;E區(qū)為0x2800到0x3fff的內(nèi)存區(qū)域,分配給通道號(hào)從160到255的HDLC鏈路的通道參數(shù)表,存儲(chǔ)96條HDLC鏈路的屬性。其中SS7只能在通道號(hào)為128-159的區(qū)域里進(jìn)行配置,而PRI和B信道沒有任何限制,可以在C1、D、E區(qū)域里任意配置,但是在D區(qū)域里進(jìn)行配置的時(shí)候,還是占用與SS7一樣大小的區(qū)域,即128字節(jié)。
      在C1區(qū)中,目前89通道、102-103通道、104-106通道保留,不在本系統(tǒng)里使用,90-101通道可以配置為PRI或者B信道。
      在HDLC鏈路中配置完SS7、PRI和ISDN B信道后,進(jìn)行SS7、PRI和ISDN B信道的收發(fā)數(shù)據(jù)處理。首先,從協(xié)議上來區(qū)別SS7、PRI和ISDNB信道。SS7的第二層協(xié)議是Q703,PRI的第二層協(xié)議是Q921,ISDN B信道上存在的是點(diǎn)對(duì)點(diǎn)協(xié)議(PPP),這三種協(xié)議的特點(diǎn)不同,尤其是Q703和PPP的業(yè)務(wù)流量差別比較大。SS7始終處于收發(fā)數(shù)據(jù)狀態(tài),其數(shù)據(jù)包一般是20-30字節(jié),這可以通過其處理話路能力計(jì)算出,系統(tǒng)要求SS7能夠在10ms里處理2-3個(gè)數(shù)據(jù)包,處理方式使用查詢方式。ISDN B信道一般是因特網(wǎng)(Internet)業(yè)務(wù),其上面跑的數(shù)據(jù)包一般是幾十到幾百字節(jié),它所支持的PPP協(xié)議發(fā)送的數(shù)據(jù)包有兩種自己的協(xié)商和鏈路維護(hù)包、IP包,發(fā)送方式由網(wǎng)絡(luò)層以及應(yīng)用層決定,所以具有猝發(fā)性、大量性的特點(diǎn),因此處理方式適合采用中斷方式。而PRI處理的數(shù)據(jù)包一般也是20-30字節(jié)的小包,其由協(xié)議類型、業(yè)務(wù)特點(diǎn)和物理鏈路帶寬等因素決定了Q921協(xié)議的發(fā)包頻率比Q703協(xié)議的發(fā)包頻率慢很多,但比PPP協(xié)議的發(fā)包頻率快,所以PRI的數(shù)據(jù)報(bào)處理數(shù)量介于ISDN B信道和SS7二者之間,其數(shù)據(jù)報(bào)處理數(shù)量比SS7要少得多,但比ISDN B信道的數(shù)據(jù)報(bào)處理數(shù)量大。
      綜合上述三種協(xié)議的不同特點(diǎn),在本發(fā)明中采用10ms查詢方式處理SS7、PRI和ISDN B信道的數(shù)據(jù)接收,采用直接調(diào)用物理層的發(fā)送函數(shù)處理SS7和PRI的數(shù)據(jù)發(fā)送,采用10ms固定查詢周期加一個(gè)額外查詢周期的方式處理ISDN B信道的數(shù)據(jù)發(fā)送。從鏈路傳輸延遲性能以及效率來看,本實(shí)施例設(shè)置額外查詢的周期為30ms,其原因在于因?yàn)槲锢韺拥膸挒?K字節(jié),發(fā)送一個(gè)64字節(jié)的最小包所需時(shí)間為8ms,在30ms時(shí)間里,有大約4個(gè)64字節(jié)的數(shù)據(jù)包被發(fā)送出去,而30ms加上8ms是每一個(gè)64字節(jié)的數(shù)據(jù)包的最大延遲,所以30ms額外查詢滿足系統(tǒng)對(duì)于延遲的需求。在系統(tǒng)中,10ms查詢和30ms額外查詢是通過在通訊CPU中啟動(dòng)10ms和30ms兩個(gè)周期定時(shí)器來實(shí)現(xiàn)的。
      圖2為本發(fā)明中SS7、PRI和ISDNB信道的數(shù)據(jù)接收部分在10ms查詢周期內(nèi)接收數(shù)據(jù)處理的流程圖。如圖2所示,首先進(jìn)入流程201設(shè)置初始通道號(hào),接著進(jìn)入流程202判斷當(dāng)前的通道號(hào)是否小于系統(tǒng)規(guī)定的最大通道號(hào),若大于,則進(jìn)入流程215退出循環(huán),否則進(jìn)入流程203判斷當(dāng)前通道是否為SS7、PRI或者B信道,若不是,則進(jìn)入流程204將當(dāng)前的通道號(hào)加1后返回流程202,否則先進(jìn)入流程205取當(dāng)前接收緩沖區(qū)的值再進(jìn)入流程206將當(dāng)前的查詢次數(shù)清零。其后,進(jìn)入流程207判斷接收數(shù)據(jù)緩沖區(qū)內(nèi)是否有數(shù)據(jù),若沒有,則進(jìn)入流程214保存當(dāng)前緩沖區(qū)的指針位置,將當(dāng)前通道號(hào)加1后返回流程202,否則進(jìn)入流程208判斷當(dāng)前查詢次數(shù)是否大于通道限定的最大查詢次數(shù),若大于,則進(jìn)入流程214保存當(dāng)前緩沖區(qū)的指針位置,將當(dāng)前通道號(hào)加1后返回流程202,否則進(jìn)入流程209將當(dāng)前的查詢次數(shù)加1,接著進(jìn)入流程210判斷接收數(shù)據(jù)是否有錯(cuò)誤,若有,則進(jìn)入流程212進(jìn)行錯(cuò)誤處理,否則進(jìn)入流程211遞交鏈路層處理。經(jīng)過流程211或212處理后,進(jìn)入流程213進(jìn)行接收完畢的緩沖區(qū)的處理工作,其后返回流程207。
      當(dāng)網(wǎng)絡(luò)負(fù)載過重時(shí),在路由器中通向某一目的地的發(fā)送數(shù)據(jù)隊(duì)列會(huì)過長,甚至溢出,從而構(gòu)成網(wǎng)絡(luò)擁塞并造成分組丟失。為了保證服務(wù)質(zhì)量(QOS)和實(shí)現(xiàn)底層擁塞處理,通常采用中斷方式處理ISDN B信道的數(shù)據(jù)發(fā)送。在中斷方式下,僅僅通過發(fā)送完畢時(shí)中斷觸發(fā)發(fā)送數(shù)據(jù)部分,就能夠從發(fā)送QOS隊(duì)列里取緩沖數(shù)據(jù),但在有大量小數(shù)據(jù)包的情況下,由于物理層發(fā)送緩沖區(qū)不能太大,就會(huì)出現(xiàn)包丟失的情況,對(duì)于業(yè)務(wù)應(yīng)用來說,就表現(xiàn)為性能的的下降。因此,本發(fā)明對(duì)于實(shí)現(xiàn)QOS方式和底層擁塞處理采用查詢方式,增加新的定時(shí)器,并通過上層重新激勵(lì)方式從第二層直接調(diào)用物理層的發(fā)送函數(shù),以獲取QOS隊(duì)列里的數(shù)據(jù)。本實(shí)施例是在10ms查詢基礎(chǔ)上,又增加了30ms額外查詢,用于處理ISDN B信道的數(shù)據(jù)發(fā)送,這樣對(duì)于系統(tǒng)處理能力沒有顯著增加,而且又滿足了小數(shù)據(jù)包的業(yè)務(wù)需求。對(duì)于所有的ISDN B信道,在10ms查詢周期內(nèi)通過調(diào)用服務(wù)質(zhì)量傳輸函數(shù)(QosTransmit)發(fā)送緩沖區(qū)中的數(shù)據(jù),在30ms額外查詢周期內(nèi)再重新調(diào)用一次服務(wù)質(zhì)量傳輸函數(shù)來發(fā)送擁塞隊(duì)列中的數(shù)據(jù)。QosTransmit函數(shù)在沒有30ms查詢發(fā)送的時(shí)候,是靠上層調(diào)用,屬于上層發(fā)送激勵(lì),通過30ms定時(shí)查詢發(fā)送,可以提高發(fā)送頻度,對(duì)于存在大量小包的情況下,可以減少隊(duì)列擁塞而導(dǎo)致的丟包,從而提高數(shù)據(jù)收發(fā)性能。
      參見圖3,其為本發(fā)明中ISDN B信道的數(shù)據(jù)發(fā)送部分在10ms查詢周期內(nèi)的處理流程圖,在本實(shí)施例中,就是通過調(diào)用服務(wù)質(zhì)量傳輸函數(shù)(QosTransmit)來發(fā)送物理層緩沖區(qū)中的報(bào)文。如圖3所示,首先進(jìn)入流程301釋放物理層發(fā)送緩沖區(qū),接著進(jìn)入流程302判斷是否符合物理層發(fā)送條件,若符合,則進(jìn)入流程303調(diào)用物理層發(fā)送函數(shù)進(jìn)行發(fā)送,否則進(jìn)入流程304判斷擁塞隊(duì)列是否為空當(dāng)擁塞隊(duì)列為空時(shí),進(jìn)入流程306判斷是否符合物理層發(fā)送條件,此處再一次判斷物理層的發(fā)送條件是因?yàn)榻?jīng)過了一段時(shí)間后,物理層狀態(tài)可能會(huì)發(fā)生變化,需要重新確認(rèn)物理層的發(fā)送條件。若不符合發(fā)送條件,則先進(jìn)入流程313將報(bào)文放入擁塞隊(duì)列后再進(jìn)入流程314返回?fù)砣畔ⅲ駝t先進(jìn)入流程311調(diào)用物理層發(fā)送函數(shù)發(fā)送報(bào)文后再進(jìn)入流程312返回成功狀態(tài)值;當(dāng)擁塞隊(duì)列不為空時(shí),進(jìn)入流程305判斷擁塞隊(duì)列是否滿,若滿,則先進(jìn)入流程307釋放報(bào)文后再進(jìn)入流程308返回丟棄信息,否則先進(jìn)入流程309將報(bào)文放入擁塞隊(duì)列后再進(jìn)入流程310返回?fù)砣畔ⅰ?br> 參見圖4,其為本發(fā)明中ISDN B信道的數(shù)據(jù)發(fā)送部分在30ms額外查詢周期內(nèi)的處理流程圖,在本實(shí)施例中,就是通過調(diào)用30ms額外傳輸函數(shù)來發(fā)送擁塞隊(duì)列中的報(bào)文。如圖4所示,系統(tǒng)首先進(jìn)入流程401釋放物理層發(fā)送緩沖區(qū),接著進(jìn)入流程402判斷擁塞隊(duì)列是否為空,如為空,則進(jìn)入流程403返回成功狀態(tài)值,否則進(jìn)入流程404從擁塞隊(duì)列里取第一個(gè)包,其后進(jìn)入流程405判斷是否符合物理層發(fā)送條件,若符合,則先進(jìn)入流程406調(diào)用服務(wù)質(zhì)量傳輸函數(shù)發(fā)送報(bào)文后再進(jìn)入流程407返回成功狀態(tài)值,否則,先進(jìn)入流程408將數(shù)據(jù)重新放入擁塞隊(duì)列頭后再進(jìn)入流程409返回?fù)砣畔ⅰ?br> 可見,本發(fā)明技術(shù)方案將HDLC鏈路的通道額外參數(shù)表中空閑的資源作為HDLC鏈路的通道參數(shù)表,在HDLC鏈路的通道參數(shù)表中配置一種以上的通訊協(xié)議,并且采用10ms查詢方式處理SS7、PRI和ISDN B信道的數(shù)據(jù)接收,采用直接調(diào)用底層的發(fā)送函數(shù)處理SS7和PRI的數(shù)據(jù)發(fā)送,采用10ms查詢加上一個(gè)30ms額外查詢的方式處理ISDN B信道的數(shù)據(jù)發(fā)送,在CPU中同時(shí)實(shí)現(xiàn)了對(duì)多種協(xié)議的處理,提高了CPU芯片的利用效率,增大了CPU的協(xié)議容量,實(shí)現(xiàn)資源的充分利用,并且,本發(fā)明的方法還能夠?qū)DLC鏈路的不同屬性進(jìn)行靈活配置。
      總之,以上所述僅為本發(fā)明的較佳實(shí)施例而已,并非用于限定本發(fā)明的保護(hù)范圍。
      權(quán)利要求
      1.一種在通訊中央處理器(CPU)上實(shí)現(xiàn)多種協(xié)議處理的方法,其特征在于該方法至少包括以下的步驟A、將高速數(shù)據(jù)鏈路控制規(guī)程(HDLC)鏈路通道額外參數(shù)表中的空閑資源分配給HDLC鏈路的通道參數(shù)表,并在HDLC鏈路通道參數(shù)表中配置一種以上的通訊協(xié)議;B、預(yù)先設(shè)置一額外查詢周期;C、在10ms查詢周期內(nèi)處理所有通訊協(xié)議的數(shù)據(jù)接收和含有少量數(shù)據(jù)包且不要求實(shí)現(xiàn)擁塞處理的通訊協(xié)議的數(shù)據(jù)發(fā)送,在10ms查詢周期和額外查詢周期內(nèi)處理含有大量數(shù)據(jù)包且要求實(shí)現(xiàn)擁塞處理的通訊協(xié)議的數(shù)據(jù)發(fā)送。
      2.根據(jù)權(quán)利要求1所述的方法,其特征在于步驟A所述的HDLC鏈路的通道額外參數(shù)表和通道參數(shù)表存放于CPU內(nèi)部的存儲(chǔ)器中。
      3.根據(jù)權(quán)利要求1所述的方法,其特征在于步驟A所述的通訊協(xié)議為七號(hào)信令(SS7)信道協(xié)議、或基群速率接口(PRI)信道協(xié)議、或綜合業(yè)務(wù)數(shù)字網(wǎng)(ISDN B)信道協(xié)議,或其組合。
      4.根據(jù)權(quán)利要求1或3所述的方法,其特征在于SS7信道的通道參數(shù)表固定設(shè)置于HDLC通道參數(shù)表區(qū)域內(nèi)的指定位置,PRI和ISDN B信道的通道參數(shù)表設(shè)置于HDLC通道參數(shù)表區(qū)域內(nèi)的任意位置。
      5.根據(jù)權(quán)利要求4所述的方法,其特征在于SS7信道通道參數(shù)表的起始位置設(shè)置于CPU中16K雙端口隨機(jī)存儲(chǔ)器(DPRAM)的0X2000地址處。
      6.根據(jù)權(quán)利要求1所述的方法,其特征在于步驟C中所述的含有少量數(shù)據(jù)包且不要求實(shí)現(xiàn)擁塞處理的通訊協(xié)議為SS7信道協(xié)議、或PRI信道協(xié)議、或其組合;所述的含有大量數(shù)據(jù)包且要求實(shí)現(xiàn)擁塞處理的通訊協(xié)議為ISDN B信道協(xié)議。
      7.根據(jù)權(quán)利要求1或6所述的方法,其特征在于處理ISDN B信道協(xié)議的數(shù)據(jù)發(fā)送時(shí),額外查詢周期設(shè)置為30ms。
      8.根據(jù)權(quán)利要求1所述的方法,其特征在于步驟C在處理含有大量數(shù)據(jù)包且要求實(shí)現(xiàn)擁塞處理的通訊協(xié)議的數(shù)據(jù)發(fā)送時(shí),在10ms查詢周期內(nèi)處理物理層緩沖區(qū)中的發(fā)送數(shù)據(jù),在額外查詢周期內(nèi)處理擁塞隊(duì)列中的發(fā)送數(shù)據(jù)。
      9.根據(jù)權(quán)利要求8所述的方法,其特征在于處理物理層緩沖區(qū)中的發(fā)送數(shù)據(jù)進(jìn)一步包括C11、釋放物理層發(fā)送緩沖區(qū);C12、判斷是否符合物理層發(fā)送條件,如符合,則調(diào)用物理層發(fā)送函數(shù)進(jìn)行數(shù)據(jù)發(fā)送,否則進(jìn)行擁塞處理。
      10.根據(jù)權(quán)利要求9所述的方法,其特征在于步驟C12中所述的擁塞處理包括以下的幾個(gè)步驟C121、當(dāng)擁塞隊(duì)列為空時(shí),重新判斷是否符合物理層發(fā)送條件,若不符合,則先將報(bào)文放入擁塞隊(duì)列后再返回?fù)砣畔?,否則,調(diào)用物理層發(fā)送函數(shù)發(fā)送報(bào)文后返回成功狀態(tài)值;C122、當(dāng)擁塞隊(duì)列不為空時(shí),判斷擁塞隊(duì)列是否滿,若滿,則釋放報(bào)文后返回丟棄信息,否則將報(bào)文放入擁塞隊(duì)列后返回?fù)砣畔ⅰ?br> 11.根據(jù)權(quán)利要求8所述的方法,其特征在于處理擁塞隊(duì)列中的發(fā)送數(shù)據(jù)進(jìn)一步包括C21、釋放物理層發(fā)送緩沖區(qū);C22、進(jìn)行擁塞處理。
      12.根據(jù)權(quán)利要求11所述的方法,其特征在于在步驟C22中,首先判斷擁塞隊(duì)列是否為空,當(dāng)擁塞隊(duì)列為空時(shí),返回成功狀態(tài)值;當(dāng)擁塞隊(duì)列不為空時(shí),從擁塞隊(duì)列里取第一個(gè)包,其后判斷是否符合物理層發(fā)送條件,若符合,則調(diào)用服務(wù)質(zhì)量傳輸函數(shù)發(fā)送報(bào)文,否則,將數(shù)據(jù)重新放入擁塞隊(duì)列頭。
      全文摘要
      本發(fā)明公開了一種在通訊CPU上實(shí)現(xiàn)多種協(xié)議的方法,該方法至少包括以下的步驟A、將HDLC鏈路通道額外參數(shù)表中的空閑資源分配給HDLC鏈路的通道參數(shù)表,并在HDLC鏈路通道參數(shù)表中配置一種以上的通訊協(xié)議;B、預(yù)先設(shè)置一額外查詢周期;C、在10ms查詢周期內(nèi)處理所有通訊協(xié)議的數(shù)據(jù)接收和含有少量數(shù)據(jù)包且不要求實(shí)現(xiàn)擁塞處理的通訊協(xié)議的數(shù)據(jù)發(fā)送,在10ms查詢周期和額外查詢周期內(nèi)處理含有大量數(shù)據(jù)包且要求實(shí)現(xiàn)擁塞處理的通訊協(xié)議的數(shù)據(jù)發(fā)送。采用這種方法最多支持130條HDLC鏈路,并且能夠在通訊CPU上同時(shí)實(shí)現(xiàn)多種協(xié)議和靈活配置HDLC鏈路的不同屬性。
      文檔編號(hào)H04L29/02GK1467970SQ0212368
      公開日2004年1月14日 申請(qǐng)日期2002年7月8日 優(yōu)先權(quán)日2002年7月8日
      發(fā)明者李琥, 梅武鋼, 李 琥 申請(qǐng)人:華為技術(shù)有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1