專利名稱:一種用戶數(shù)據(jù)報(bào)文轉(zhuǎn)送方法及轉(zhuǎn)送裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種用戶數(shù)據(jù)報(bào)文轉(zhuǎn)送方法及轉(zhuǎn)送裝置,尤其涉及一種應(yīng)用于集群系統(tǒng),并在系統(tǒng)中使用網(wǎng)絡(luò)處理器技術(shù)線速轉(zhuǎn)發(fā)用戶數(shù)據(jù)報(bào)文的方法及轉(zhuǎn)送裝置。
背景技術(shù):
集群通信系統(tǒng)是一種共享資源、分擔(dān)費(fèi)用、共用信道設(shè)備及服務(wù)的多用途、高效能的無線調(diào)度通信系統(tǒng)。它能夠提供群組用戶之間的一對(duì)一或一對(duì)多快速語音連接,提供半雙工的工作方式。它允許大量用戶(談話群組)共享相對(duì)較少的通信鏈路,由系統(tǒng)來管理通信鏈路的共享問題,信道的選擇和分配對(duì)用戶而言都是透明的。
與傳統(tǒng)語音業(yè)務(wù)大多都是一對(duì)一通信不同,集群業(yè)務(wù)能實(shí)現(xiàn)一對(duì)多的話音連接。當(dāng)使用一對(duì)多的集群業(yè)務(wù)時(shí),可預(yù)先定義一組用戶,發(fā)起呼叫,成功建立一個(gè)群組后,系統(tǒng)當(dāng)前說話用戶的話音信息在無線側(cè)被封裝成IP數(shù)據(jù)報(bào)文,通過IP網(wǎng)絡(luò)路由到集群系統(tǒng)的網(wǎng)絡(luò)側(cè)相應(yīng)功能實(shí)體。網(wǎng)絡(luò)側(cè)功能實(shí)體在收到該群組的用戶數(shù)據(jù)報(bào)文(即攜帶當(dāng)前說話用戶話音信息的IP數(shù)據(jù)報(bào)文)后,復(fù)制并修改用戶數(shù)據(jù)報(bào)文,然后把復(fù)制修改后的報(bào)文再發(fā)送給無線側(cè)對(duì)應(yīng)的用戶。
現(xiàn)有的大多數(shù)集群系統(tǒng)方案采用通用處理器實(shí)現(xiàn)用戶數(shù)據(jù)報(bào)文的上述轉(zhuǎn)發(fā)處理。當(dāng)一個(gè)群組同時(shí)擁有大量的在線用戶時(shí),用通用處理器實(shí)現(xiàn)這種復(fù)制轉(zhuǎn)發(fā)報(bào)文的過程,容易在同一群組不同用戶的數(shù)據(jù)流之間產(chǎn)生大的延遲,且限制了系統(tǒng)處理數(shù)據(jù)報(bào)文的流量。
現(xiàn)有的多數(shù)集群系統(tǒng),在網(wǎng)絡(luò)側(cè)為每一個(gè)在線用戶都建立一條獨(dú)立的數(shù)據(jù)鏈路,按用戶復(fù)制轉(zhuǎn)發(fā)數(shù)據(jù)報(bào)文。隨著談話群組在線用戶數(shù)的大量增加,這種按用戶復(fù)制轉(zhuǎn)發(fā)數(shù)據(jù)報(bào)文的方法會(huì)大大增加網(wǎng)絡(luò)側(cè)的數(shù)據(jù)鏈路數(shù)量,大大增加網(wǎng)絡(luò)側(cè)的業(yè)務(wù)流量,增加業(yè)務(wù)流的遲延。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題在于提供一種用戶數(shù)據(jù)報(bào)文轉(zhuǎn)發(fā)方法,利用網(wǎng)絡(luò)處理器,并結(jié)合按群組轉(zhuǎn)發(fā)用戶數(shù)據(jù)報(bào)文的思想,實(shí)現(xiàn)用戶數(shù)據(jù)報(bào)文的線速轉(zhuǎn)發(fā),克服現(xiàn)有技術(shù)存在的網(wǎng)絡(luò)側(cè)業(yè)務(wù)流量過大,業(yè)務(wù)流遲延明顯的缺陷。
本發(fā)明的另一目的在于提供一種用戶數(shù)據(jù)報(bào)文轉(zhuǎn)發(fā)裝置,利用設(shè)置于網(wǎng)絡(luò)側(cè)的網(wǎng)絡(luò)處理器,線速地轉(zhuǎn)發(fā)用戶數(shù)據(jù)報(bào)文。
為了實(shí)現(xiàn)上述目的,本發(fā)明提供了一種用戶數(shù)據(jù)報(bào)文轉(zhuǎn)發(fā)方法,應(yīng)用于集群系統(tǒng),通過在集群系統(tǒng)中建立群組,并利用設(shè)置于該集群系統(tǒng)網(wǎng)絡(luò)側(cè)的網(wǎng)絡(luò)處理器實(shí)現(xiàn)按群組轉(zhuǎn)發(fā)該群組中當(dāng)前使用用戶的數(shù)據(jù)報(bào)文。
上述的用戶數(shù)據(jù)報(bào)文轉(zhuǎn)發(fā)方法,其中該方法包括如下步驟步驟一,該集群系統(tǒng)建立群組,并為該群組的用戶與服務(wù)器之間建立共享集群數(shù)據(jù)鏈路,該共享集群數(shù)據(jù)鏈路的狀態(tài)信息存儲(chǔ)于共享集群數(shù)據(jù)鏈路連接表;步驟二,接收當(dāng)前使用用戶的數(shù)據(jù)報(bào)文,根據(jù)數(shù)據(jù)報(bào)文中所攜帶的特定信息查找描述該群組的群組屬性表,得到與數(shù)據(jù)轉(zhuǎn)發(fā)相關(guān)的信息并形成該用戶數(shù)據(jù)報(bào)文的報(bào)文描述符;步驟三,根據(jù)該報(bào)文描述符查找記錄轉(zhuǎn)發(fā)信息的共享集群數(shù)據(jù)鏈路連接表,并根據(jù)查表結(jié)果復(fù)制修改該用戶數(shù)據(jù)報(bào)文形成修改后的用戶數(shù)據(jù)報(bào)文;步驟四,對(duì)步驟三得到的修改后的用戶數(shù)據(jù)報(bào)文進(jìn)行路由查找處理;步驟五,將該處理過的用戶數(shù)據(jù)報(bào)文發(fā)送至該群組的所有共享集群數(shù)據(jù)鏈路上,進(jìn)而發(fā)送給該群組的所有當(dāng)前使用用戶。
上述的用戶數(shù)據(jù)報(bào)文轉(zhuǎn)發(fā)方法,其中,在步驟二中還包括一步驟根據(jù)數(shù)據(jù)報(bào)文中攜帶的唯一用戶標(biāo)識(shí)信息過濾非法的用戶數(shù)據(jù)報(bào)文。
上述的用戶數(shù)據(jù)報(bào)文轉(zhuǎn)發(fā)方法,其中,所述的唯一用戶標(biāo)識(shí)信息為國際移動(dòng)用戶識(shí)別碼信息。
上述的用戶數(shù)據(jù)報(bào)文轉(zhuǎn)發(fā)方法,其中,所述的用戶數(shù)據(jù)報(bào)文格式為IP/GRE格式。
上述的用戶數(shù)據(jù)報(bào)文轉(zhuǎn)發(fā)方法,其中,在步驟二中是根據(jù)數(shù)據(jù)報(bào)文中的源IP地址和GRE關(guān)鍵字查找該群組的群組屬性表。
上述的用戶數(shù)據(jù)報(bào)文轉(zhuǎn)發(fā)方法,其中,在步驟二中是根據(jù)索引算法查找該群組的群組屬性表。
上述的用戶數(shù)據(jù)報(bào)文轉(zhuǎn)發(fā)方法,其中,該算法為哈希算法。
上述的用戶數(shù)據(jù)報(bào)文轉(zhuǎn)發(fā)方法,其中,在步驟二中所述的與數(shù)據(jù)轉(zhuǎn)發(fā)相關(guān)的信息為指向該群組所有共享集群數(shù)據(jù)鏈路連接表所構(gòu)成的鏈表的指針,需復(fù)制修改的用戶數(shù)據(jù)報(bào)文的數(shù)目。
上述的用戶數(shù)據(jù)報(bào)文轉(zhuǎn)發(fā)方法,其中,在步驟三中,該查表及根據(jù)查表結(jié)果復(fù)制修改用戶數(shù)據(jù)報(bào)文的過程還包括如下步驟根據(jù)報(bào)文描述符記錄的信息查找共享集群數(shù)據(jù)鏈路連接表,得到該鏈路的詳細(xì)轉(zhuǎn)發(fā)信息鏈路的源端IP地址,目的端IP地址,GRE關(guān)鍵字,GRE序列號(hào);復(fù)制該用戶數(shù)據(jù)報(bào)文,并根據(jù)上面查表得到的信息修改復(fù)制所得報(bào)文的IP報(bào)頭,GRE報(bào)頭;重復(fù)上述過程直到為每一條共享集群數(shù)據(jù)鏈路都復(fù)制修改一份該用戶數(shù)據(jù)報(bào)文。
上述的用戶數(shù)據(jù)報(bào)文轉(zhuǎn)發(fā)方法,其中,在步驟四中,該路由查找處理過程還包括如下步驟從該修改后的用戶數(shù)據(jù)報(bào)文中提取該數(shù)據(jù)報(bào)文的目的IP地址;根據(jù)目的IP地址、以最長匹配路由查找算法查找路由表,得到下一跳MAC地址;以該得到的MAC地址為目的MAC地址,以集群系統(tǒng)服務(wù)器的MAC地址為源地址修改該數(shù)據(jù)報(bào)文的以太網(wǎng)報(bào)頭。
本發(fā)明還提供了一種用戶數(shù)據(jù)報(bào)文轉(zhuǎn)送裝置,應(yīng)用于集群系統(tǒng),其中該裝置包含網(wǎng)絡(luò)處理器,設(shè)置于該集群系統(tǒng)網(wǎng)絡(luò)側(cè)的集群服務(wù)器上,用于按群組線速轉(zhuǎn)送用戶數(shù)據(jù)報(bào)文。
上述的用戶數(shù)據(jù)報(bào)文轉(zhuǎn)送裝置,其中該網(wǎng)絡(luò)處理器為Intel的IXP1200網(wǎng)絡(luò)處理器,并且該網(wǎng)絡(luò)處理器對(duì)數(shù)據(jù)報(bào)文的處理過程通過消息隊(duì)列進(jìn)行通信。
與現(xiàn)有的使用通用處理器技術(shù)、按用戶轉(zhuǎn)發(fā)集群系統(tǒng)用戶數(shù)據(jù)報(bào)文的方法相比,本發(fā)明具有以下優(yōu)點(diǎn)與按用戶轉(zhuǎn)發(fā)集群系統(tǒng)用戶數(shù)據(jù)報(bào)文的方法相比,使用按群組轉(zhuǎn)發(fā)用戶數(shù)據(jù)報(bào)文的方法,能夠帶來分組網(wǎng)絡(luò)側(cè)資源的高效利用減少網(wǎng)絡(luò)側(cè)的數(shù)據(jù)鏈路數(shù)量、減少網(wǎng)絡(luò)側(cè)的業(yè)務(wù)流量、減少業(yè)務(wù)流的遲延。
與使用通用處理器相比,使用網(wǎng)絡(luò)處理器技術(shù)實(shí)現(xiàn)上述的報(bào)文處理轉(zhuǎn)發(fā)流程,可以極大的提高報(bào)文轉(zhuǎn)發(fā)的速度,減少由報(bào)文轉(zhuǎn)發(fā)引起的網(wǎng)絡(luò)延遲,并可以使整個(gè)數(shù)據(jù)報(bào)文的處理形成一條流水線,極大的提高了系統(tǒng)處理用戶數(shù)據(jù)報(bào)文的吞吐量。
以下結(jié)合附圖和具體實(shí)施例對(duì)本發(fā)明進(jìn)行詳細(xì)描述,但不作為對(duì)本發(fā)明的限定。
圖1A是實(shí)現(xiàn)共享集群數(shù)據(jù)鏈路的網(wǎng)絡(luò)結(jié)構(gòu)圖;圖1B是本發(fā)明所應(yīng)用的集群系統(tǒng)網(wǎng)絡(luò)結(jié)構(gòu)圖;圖2是本發(fā)明中接收進(jìn)程處理流程;圖3是本發(fā)明中復(fù)制修改進(jìn)程處理流程;圖4是本發(fā)明中路由進(jìn)程處理流程;圖5是本發(fā)明中發(fā)送進(jìn)程處理流程。
具體實(shí)施例方式
網(wǎng)絡(luò)處理器技術(shù)主要使用在集群系統(tǒng)網(wǎng)絡(luò)側(cè)的相應(yīng)功能實(shí)體之中,在本發(fā)明中將使用網(wǎng)絡(luò)處理器技術(shù)實(shí)現(xiàn)按群組轉(zhuǎn)發(fā)用戶數(shù)據(jù)報(bào)文的功能模塊稱為微碼子系統(tǒng)。
在群組呼叫情況下,集群系統(tǒng)按一定的方法把該群組的在線用戶分成幾個(gè)小的群組,在網(wǎng)絡(luò)側(cè)為每個(gè)小群組建立一條數(shù)據(jù)鏈路,該小群組下的用戶都共享該數(shù)據(jù)鏈路。在本發(fā)明網(wǎng)絡(luò)側(cè)群組實(shí)現(xiàn)鏈路共享的方案中,集群系統(tǒng)由基站,調(diào)度客戶端和調(diào)度服務(wù)器三部分組成,基站是接入設(shè)備,調(diào)度服務(wù)器負(fù)責(zé)用戶數(shù)據(jù)分發(fā),用戶鑒權(quán)等,調(diào)度客戶端用于連接基站和調(diào)度服務(wù)器,在調(diào)度客戶端和調(diào)度服務(wù)器之間為每個(gè)群組只建立一條數(shù)據(jù)鏈路,稱為共享集群數(shù)據(jù)鏈路(STDL,Shared Trunk Data Link),稱描述該鏈路信息的表項(xiàng)為共享集群數(shù)據(jù)鏈路連接表(STDL連接表)。鏈路上的數(shù)據(jù)為整個(gè)群組所共享,調(diào)度客戶端進(jìn)行數(shù)據(jù)分發(fā)。
STDL按其處于整個(gè)鏈路的位置分為兩部分,其中連接基站與調(diào)度客戶端部分稱為A8d,每個(gè)組用戶對(duì)應(yīng)一條鏈路,每條鏈路有一個(gè)關(guān)鍵字(Key),關(guān)鍵字的一部分用于區(qū)別鏈路,另一部分為區(qū)別群組的組編號(hào);連接調(diào)度客戶端與調(diào)度服務(wù)器之間的部分稱為A10d,每個(gè)組對(duì)應(yīng)一條,該鏈路為該組所有成員共享,同樣通過關(guān)鍵字區(qū)別不同的鏈路。
下面結(jié)合附圖對(duì)在集群系統(tǒng)中如何為群組建立共享集群數(shù)據(jù)鏈路的問題進(jìn)行描述。
圖1A描述了STDL的網(wǎng)絡(luò)結(jié)構(gòu)圖,從圖中可以看出。STDL是基站和調(diào)度服務(wù)器之間用于傳送數(shù)據(jù)的通道,起點(diǎn)是基站,終點(diǎn)是調(diào)度服務(wù)器,SDTL分為兩部分,中間通過調(diào)度客戶端相連,連接基站和調(diào)度客戶端之間的鏈路為A8d,群組中每一用戶對(duì)應(yīng)一條;連接調(diào)度服務(wù)器和調(diào)度客戶端為A10d,每個(gè)群組對(duì)應(yīng)一條。
本發(fā)明提供一種共享集群數(shù)據(jù)鏈路的處理方法,包括以下步驟步驟1、鏈路建立消息;其進(jìn)一步包括下列步驟1-1、調(diào)度客戶端接收共享數(shù)據(jù)鏈路建立請(qǐng)求消息,獲取該用戶所在群組信息,并在組信息表中查找該組信息是否存在;1-2、如果組信息表中該組信息存在,則進(jìn)一步判斷此建鏈過程是否為跨調(diào)度客戶端的切換,如是,則發(fā)送登記消息給調(diào)度服務(wù)器,并填寫相應(yīng)的切換信息和標(biāo)識(shí)該組共享集群數(shù)據(jù)鏈路的關(guān)鍵字,登記成功后向基站發(fā)送基站和調(diào)度客戶端之間的共享集群數(shù)據(jù)鏈路建立成功的消息,如果不是切換,則直接向基站發(fā)送基站和調(diào)度客戶端之間的共享集群數(shù)據(jù)鏈路建立完成消息,并根據(jù)組信息表中的該組的用戶鏈表信息將相應(yīng)的用戶信息插入用戶鏈表中;1-3、如果組信息表中該組信息不存在,調(diào)度客戶端首先為該組申請(qǐng)組信息空間,申請(qǐng)成功后將組信息插入組表中,并創(chuàng)建該組的用戶鏈表,然后向調(diào)度服務(wù)器發(fā)送登記消息請(qǐng)求建立調(diào)度客戶端和調(diào)度服務(wù)器之間的共享集群數(shù)據(jù)鏈路部分,登記成功后向基站返回基站和調(diào)度客戶端之間的共享集群數(shù)據(jù)鏈路建立成功消息,否則返回基站和調(diào)度客戶端之間的共享集群數(shù)據(jù)鏈路建立失敗消息,并清除相應(yīng)的信息;步驟2、處理前向業(yè)務(wù)幀;其進(jìn)一步包括以下步驟2-1、調(diào)度客戶端定位到用戶信息表中相應(yīng)組的第一個(gè)用戶的信息;
2-2、調(diào)度客戶端從數(shù)據(jù)緩沖區(qū)中取出業(yè)務(wù)數(shù)據(jù),填上幀序號(hào),根據(jù)用戶信息中保存的該用戶所對(duì)應(yīng)的基站和調(diào)度客戶端之間的共享集群數(shù)據(jù)鏈路的關(guān)鍵字將數(shù)據(jù)發(fā)給基站;2-3、調(diào)度客戶端從當(dāng)前用戶信息中取出下一個(gè)用戶的指針,直接定位到下一個(gè)用戶信息,并跟據(jù)其對(duì)應(yīng)的基站和調(diào)度客戶端之間的共享集群數(shù)據(jù)鏈路的關(guān)鍵字將數(shù)據(jù)發(fā)給基站;2-4、如果當(dāng)前用戶的后續(xù)用戶指針為空,則從數(shù)據(jù)緩沖區(qū)中刪除已發(fā)送完的數(shù)據(jù);步驟3、鏈路釋放消息,其進(jìn)一步包括以下步驟3-1、調(diào)度客戶端獲得相應(yīng)的組用戶的鏈表,并根據(jù)標(biāo)識(shí)基站和調(diào)度客產(chǎn)端之間的共享集群數(shù)據(jù)鏈路的關(guān)鍵字查找到相應(yīng)用戶的信息;3-2、調(diào)度客戶端判斷該用戶是不是該共享集群數(shù)據(jù)鏈路上存在的最后一個(gè)用戶;3-3、如果判斷該用戶不是其所在的共享集群數(shù)據(jù)鏈路上的最后一個(gè)用戶,則進(jìn)一步判斷是不是切換消息,如果是切換消息,則向調(diào)度服務(wù)器發(fā)登記消息,登記完成后,從鏈表中刪除相應(yīng)信息,然后向基站返回基站和調(diào)度客戶端之間的共享集群數(shù)據(jù)鏈路釋放完成的消息,如果不是切換消息,則不向調(diào)度服務(wù)器進(jìn)行登記,直接從鏈表中刪除相應(yīng)信息,并向基站返回基站和調(diào)度客戶端之間的共享集群數(shù)據(jù)鏈路釋放完成的消息;3-4、如果是該共享集群數(shù)據(jù)鏈路上的最后一個(gè)用戶,則拆除調(diào)度客戶端和調(diào)度服務(wù)器之間共享集群數(shù)據(jù)鏈路部分,向調(diào)度服務(wù)器發(fā)送登記消息,請(qǐng)求釋放共享集群數(shù)據(jù)鏈路,登記完成后,從用戶鏈表中刪除相應(yīng)信息,并向基站返回基站和調(diào)度客戶端之間的共享集群數(shù)據(jù)鏈路釋放完成的消息。
本發(fā)明的共享集群數(shù)據(jù)鏈路的建立,有效地減輕了網(wǎng)絡(luò)數(shù)據(jù)流量,減少了數(shù)據(jù)擁塞,而且為空中共享業(yè)務(wù)信道提供了可能。
本發(fā)明的微碼子系統(tǒng)包含有網(wǎng)絡(luò)處理器,位于該集群系統(tǒng)網(wǎng)絡(luò)側(cè)的功能實(shí)體PDS之內(nèi),用于按群組線速轉(zhuǎn)送用戶數(shù)據(jù)報(bào)文。本發(fā)明的微碼子系統(tǒng)使用的網(wǎng)絡(luò)處理器不僅可以使用Intel公司的網(wǎng)絡(luò)處理器IXP1200,而且也可以使用其它各種型號(hào)的網(wǎng)絡(luò)處理器,如Motorola公司的網(wǎng)絡(luò)處理器C-Port、IBM公司的Rainier等。
在本發(fā)明的具體實(shí)施方式
中,微碼子系統(tǒng)將本發(fā)明所描述的處理方法劃分成接收進(jìn)程、報(bào)文復(fù)制修改進(jìn)程、路由進(jìn)程和發(fā)送進(jìn)程四個(gè)進(jìn)程,一個(gè)進(jìn)程對(duì)應(yīng)于IXP1200網(wǎng)絡(luò)處理器中的一個(gè)微引擎,進(jìn)程之間通過消息隊(duì)列進(jìn)行通信。其主要按如下步驟對(duì)用戶數(shù)據(jù)報(bào)文進(jìn)行處理步驟一,該集群系統(tǒng)建立群組,并為該群組的用戶與服務(wù)器之間建立共享集群數(shù)據(jù)鏈路,該共享集群數(shù)據(jù)鏈路的狀態(tài)信息存儲(chǔ)于共享集群數(shù)據(jù)鏈路連接表;步驟二,接收當(dāng)前使用用戶的數(shù)據(jù)報(bào)文,根據(jù)數(shù)據(jù)報(bào)文中所攜帶的特定信息查找描述該群組的群組屬性表,得到與數(shù)據(jù)轉(zhuǎn)發(fā)相關(guān)的信息并形成該用戶數(shù)據(jù)報(bào)文的報(bào)文描述符;所述的與數(shù)據(jù)轉(zhuǎn)發(fā)相關(guān)的信息為指向該群組所有共享集群數(shù)據(jù)鏈路連接表所構(gòu)成的鏈表的頭指針,需復(fù)制修改的用戶數(shù)據(jù)報(bào)文的數(shù)目。
步驟三,根據(jù)該報(bào)文描述符查找記錄轉(zhuǎn)發(fā)信息的共享集群數(shù)據(jù)鏈路連接表,并根據(jù)查表結(jié)果復(fù)制修改該用戶數(shù)據(jù)報(bào)文形成修改后的用戶數(shù)據(jù)報(bào)文;步驟四,對(duì)步驟三得到的修改后的用戶數(shù)據(jù)報(bào)文進(jìn)行路由查找處理;步驟五,將該處理過的用戶數(shù)據(jù)報(bào)文發(fā)送至該群組的所有共享集群數(shù)據(jù)鏈路上,進(jìn)而發(fā)送給該群組的所有當(dāng)前使用用戶。
在本實(shí)施方式中,本發(fā)明把整個(gè)數(shù)據(jù)報(bào)文的處理流程分成了四個(gè)進(jìn)程。當(dāng)然,也完全可以按不同的需求將整個(gè)處理流程劃分成不同的進(jìn)程,只要能夠保證各個(gè)進(jìn)程的處理負(fù)荷均勻即可。
下面結(jié)合附圖和實(shí)例,對(duì)本發(fā)明的實(shí)施方式進(jìn)行詳細(xì)描述。
請(qǐng)參閱圖1B,為本發(fā)明所應(yīng)用的數(shù)字集群系統(tǒng)的網(wǎng)絡(luò)結(jié)構(gòu)圖,根據(jù)需要可以增加功能實(shí)體分組數(shù)據(jù)服務(wù)系統(tǒng)(PDSS)。其中MS移動(dòng)終端11,用戶通過使用該設(shè)備進(jìn)行話音業(yè)務(wù)或數(shù)據(jù)業(yè)務(wù)。
BTS基站收發(fā)信機(jī)12,完成集群系統(tǒng)基帶信號(hào)的調(diào)制與解調(diào)、射頻信號(hào)收發(fā)等功能。
BSC基站控制器13,完成無線資源的分配、呼叫處理、功率控制以及支持移動(dòng)終端的各類切換。
MSS移動(dòng)交換子系統(tǒng)14,主要完成電話互聯(lián)業(yè)務(wù)、普通電話呼叫業(yè)務(wù)和部分增值業(yè)務(wù),由移動(dòng)交換中心(MSC)、位置歸屬寄存器(HLR)、拜訪位置寄存器(VLR)、鑒權(quán)中心(AuC)以及短消息中心(SMC)等實(shí)體構(gòu)成。
PDC集群分派客戶端15,作為集群呼叫接入到集群分派服務(wù)器(PDS)的語音數(shù)據(jù)網(wǎng)關(guān),對(duì)反向集群語音業(yè)務(wù)流進(jìn)行匯集,對(duì)前向集群語音流進(jìn)行分發(fā)。PDC還建立到PDS的專用信令鏈路,在基站控制器(BSC)和集群分派服務(wù)器(PDS)之間傳送和集群呼叫有關(guān)的信令。
PDS集群分派服務(wù)器16,是集群呼叫的總控制點(diǎn),完成集群調(diào)度呼叫的處理,包括鑒別集群用戶、建立各種集群呼叫等。PDS作為調(diào)度服務(wù)器,還接收反向鏈路來的集群語音數(shù)據(jù),根據(jù)呼叫的性質(zhì)再分發(fā)到對(duì)應(yīng)的前向鏈路PHR集群歸屬寄存器17,完成數(shù)據(jù)庫管理和配置功能,為集群用戶提供群組注冊(cè)、群組成員注冊(cè),并提供集群成員的本地信息以及集群成員的業(yè)務(wù)權(quán)限記錄,完成呼叫統(tǒng)計(jì)和計(jì)費(fèi)功能。
當(dāng)集群系統(tǒng)成功的建立了群組后,系統(tǒng)為該群組的用戶所在各個(gè)PDC與PDS之間各建立一條鏈路,在這里稱之為共享集群數(shù)據(jù)鏈路(STDL),稱描述該鏈路狀態(tài)信息的表項(xiàng)為共享集群數(shù)據(jù)鏈路連接表(STDL連接表)。該鏈路主要用于在對(duì)應(yīng)的PDC與PDS之間傳送帶有話音信息的用戶數(shù)據(jù)流。
為了討論方便,將圖1B中的三個(gè)PDC分別編號(hào)為PDC1、PDC2和PDC3。
當(dāng)系統(tǒng)建立起一個(gè)群組后,假設(shè)圖1B中的所有用戶(MS)都屬于該群組,并且都同時(shí)在線,系統(tǒng)為圖1B中的三個(gè)PDC與PDS之間各建立一條STDL。為了描述方便,將該群組的PDC1與PDS之間的STDL鏈路編號(hào)為STDL1,PDC2與PDS之間的STDL鏈路編號(hào)為STDL2,PDC3與PDS之間的STDL鏈路編號(hào)為STDL3。
假設(shè)PDC1下該群組的某個(gè)用戶正在說話。該用戶的話音幀在PDC1被編碼成某種特定的數(shù)據(jù)格式,例如被封裝成IP/GRE格式的數(shù)據(jù)報(bào)文后,由PDC1通過STDL1發(fā)往PDS,PDS復(fù)制并修改該用戶的數(shù)據(jù)報(bào)文并通過相應(yīng)的STDL發(fā)往相應(yīng)的PDC,即通過STDL1發(fā)往PDC1、STDL2發(fā)往PDC2、STDL3發(fā)往PDC3,然后通過PDC將數(shù)據(jù)報(bào)文恢復(fù)成原始話音幀送給該P(yáng)DC管轄的每個(gè)用戶。
在圖1B所示的集群系統(tǒng)網(wǎng)絡(luò)結(jié)構(gòu)中,一個(gè)群組的同一個(gè)PDC下的用戶共享同一條網(wǎng)絡(luò)數(shù)據(jù)鏈路。在不同網(wǎng)絡(luò)結(jié)構(gòu)的集群系統(tǒng)中,可以按不同的方式組建共享集群數(shù)據(jù)鏈路。
下面結(jié)合附圖所示的流程,按照本發(fā)明所描述的方法,詳細(xì)說明在該種網(wǎng)結(jié)構(gòu)的集群系統(tǒng)中,PDS的微碼子系統(tǒng)是如何實(shí)現(xiàn)群組用戶數(shù)據(jù)報(bào)文的高速轉(zhuǎn)發(fā)的。其中,在該實(shí)施方式中,以國際移動(dòng)用戶識(shí)別碼(IMSI)信息作為唯一用戶標(biāo)識(shí)信息,該用戶數(shù)據(jù)報(bào)文格式為IP/GRE格式。
結(jié)合圖2,PDS的微碼子系統(tǒng)接收進(jìn)程收到用戶數(shù)據(jù)報(bào)文后,按如下具體步驟處理步驟201、PDS接收到攜帶說話用戶話音信息的IP/GRE形式的數(shù)據(jù)報(bào)文后,根據(jù)數(shù)據(jù)報(bào)文的源IP地址(發(fā)送該報(bào)文的PDC的IP地址)和GRE報(bào)頭中的GRE Key,根據(jù)哈希算法查找該群組的群組屬性表;步驟202、判斷步驟201的查表是否成功,若查表失敗,則丟棄該數(shù)據(jù)報(bào)文,跳到步驟201開始下一個(gè)數(shù)據(jù)報(bào)文的處理,否則繼續(xù)該數(shù)據(jù)報(bào)文的處理;步驟203、從步驟201查找到的群組屬性表中得到與數(shù)據(jù)轉(zhuǎn)發(fā)相關(guān)的信息如當(dāng)前正在說話用戶的IMSI、由該群組所有STDL連接表組成的鏈表的頭指針、該群組擁有的STDL鏈路的數(shù)目等信息;步驟204、從數(shù)據(jù)報(bào)文中得到當(dāng)前正在說話用戶的IMSI,并判斷該IMSI與群組屬性表得到的IMSI是否一致。如果兩個(gè)IMSI不一致,則丟棄該數(shù)據(jù)報(bào)文,轉(zhuǎn)到步驟201開始新的數(shù)據(jù)報(bào)文的轉(zhuǎn)發(fā)處理;如果這兩個(gè)IMSI一致,則繼續(xù)對(duì)該數(shù)據(jù)報(bào)文進(jìn)行后續(xù)處理;步驟205、根據(jù)以上各步驟得到的相關(guān)信息及其它必要信息,如由該群組所有STDL連接表組成的鏈表的頭指針、該群組擁有的STDL鏈路的數(shù)目等,形成該數(shù)據(jù)報(bào)文的報(bào)文描述符;步驟206、將該數(shù)據(jù)報(bào)文掛入優(yōu)先級(jí)低的報(bào)文復(fù)制修改隊(duì)列,跳到步驟201開始下一個(gè)用戶數(shù)據(jù)報(bào)文的處理。
結(jié)合圖3,PDS的微碼子系統(tǒng)報(bào)文復(fù)制修改進(jìn)程收到用戶數(shù)據(jù)報(bào)文后,按如下具體步驟處理步驟301、判斷優(yōu)先級(jí)高的數(shù)據(jù)報(bào)文復(fù)制修改隊(duì)列是否為空,如果該隊(duì)列為空,則跳到步驟302繼續(xù)處理,否則跳到步驟303繼續(xù)處理;步驟302、判斷優(yōu)先級(jí)低的數(shù)據(jù)報(bào)文復(fù)制修改隊(duì)列是否為空,如果該隊(duì)列為空,則跳到步驟301繼續(xù)處理,否則跳到步驟303進(jìn)行后續(xù)處理;步驟303、如果是從步驟301直接跳到這一步的,則從優(yōu)先級(jí)高的隊(duì)列中摘取數(shù)據(jù)報(bào)文,如果是從步驟302直接跳到這一步的,則從優(yōu)先級(jí)低的隊(duì)列摘取數(shù)據(jù)報(bào)文;步驟304、從摘取報(bào)文的報(bào)文描述符中得到與報(bào)文轉(zhuǎn)發(fā)有關(guān)的信息指向當(dāng)前正需要轉(zhuǎn)發(fā)的鏈路的STDL連接表的指針、該群組擁有的STDL鏈路的數(shù)目等信息;步驟305、從STDL連接表中查找得到該STDL對(duì)應(yīng)的PDC的IP地址、GRE Key和GRE序列號(hào)等信息;步驟306、以步驟305得到的PDC的IP地址作為目的IP地址、以PDS的IP地址作為源IP地址修改復(fù)制報(bào)文的IP報(bào)頭,根據(jù)步驟305得到的GREKey及GRE序列號(hào)更新復(fù)制報(bào)文的GRE報(bào)頭。
步驟307、將修改后的報(bào)文掛入路由處理隊(duì)列,返回步驟301繼續(xù)處理其他報(bào)文。
結(jié)合圖4,PDS的微碼子系統(tǒng)路由進(jìn)程的具體處理步驟如下。
步驟401、判斷路由隊(duì)列是否為空,如果為空,則繼續(xù)判斷該隊(duì)列狀態(tài),如果不為空,跳到步驟402繼續(xù)處理;步驟402、從路由處理隊(duì)列摘取報(bào)文,并從報(bào)文中抽取該報(bào)文的目的IP地址(某個(gè)PDC的IP地址);步驟403、根據(jù)目的IP地址、以最長匹配路由查找算法查路由表,得到下一跳MAC地址。其中,MAC地址是固化在網(wǎng)卡上串行EEPROM中的物理地址,通常有48位長。以太網(wǎng)交換機(jī)根據(jù)某條信息包頭中的MAC源地址和MAC目的地址實(shí)現(xiàn)包的交換和傳遞。
步驟404、以步驟403得到的MAC地址為目的MAC地址、以PDS的MAC地址為源MAC地址修改報(bào)文的以太網(wǎng)報(bào)頭;步驟405、從報(bào)文描述符中得到指向當(dāng)前正需要轉(zhuǎn)發(fā)的鏈路的STDL連接表的指針,然后查表得到指向下一個(gè)將發(fā)送的STDL連接表的指針,并以新的指針更新報(bào)文描述符的記錄該項(xiàng)信息的域;步驟406、將處理后的報(bào)文掛入發(fā)送隊(duì)列,返回步驟401。
結(jié)合圖5,PDS的微碼子系統(tǒng)發(fā)送進(jìn)程的具體處理步驟如下步驟501、判斷發(fā)送隊(duì)列是否為空,如果為空,則繼續(xù)判斷該隊(duì)列狀態(tài),如果不為空,跳到步驟502繼續(xù)處理;
步驟502、從發(fā)送隊(duì)列摘取報(bào)文,從該報(bào)文的報(bào)文描述符中得到與發(fā)送報(bào)文相關(guān)的各項(xiàng)信息;步驟503、分片發(fā)送數(shù)據(jù)報(bào)文到網(wǎng)絡(luò)上;步驟504、判斷該報(bào)文是否發(fā)送完成,如果未發(fā)送完成,則跳到步驟503繼續(xù)發(fā)送,如果發(fā)送完成,則跳到步驟505繼續(xù)處理;步驟505、從報(bào)文描述符中得到該報(bào)文的復(fù)制情況記錄,如還剩多少份拷貝需要轉(zhuǎn)發(fā)、指向下一個(gè)將發(fā)送的STDL連接表的指針值;步驟506、判斷是否需要繼續(xù)復(fù)制轉(zhuǎn)發(fā)該報(bào)文(還需轉(zhuǎn)發(fā)的拷貝數(shù)大于1并且指向下一個(gè)STDL連接表的指針值不為空),如果不再需要,則釋放該報(bào)文,跳到步驟501,否則跳到步驟507繼續(xù)處理;步驟507、更新報(bào)文描述符中記錄拷貝份數(shù)的域(將該域記錄的位減1);步驟508、將報(bào)文掛入優(yōu)先級(jí)高的數(shù)據(jù)報(bào)文復(fù)制修改隊(duì)列,跳到步驟501開始新一輪處理。
上面所述的具體實(shí)施方式
不僅適用于圖1B所示網(wǎng)絡(luò)結(jié)構(gòu)的集群系統(tǒng),而且也適用于基于其他網(wǎng)絡(luò)結(jié)構(gòu)的集群系統(tǒng)。
用戶的話音幀不但可以被封裝成本例中所用的IP/GRE格式的報(bào)文,而且可以根據(jù)不同集群系統(tǒng)的實(shí)際需要被封裝成其他格式的報(bào)文,只是在上面所述的處理流程中的相應(yīng)部分必須根據(jù)具體的報(bào)文格式作相應(yīng)的修改。
并且,在本發(fā)明的接收進(jìn)程中還包括一步驟根據(jù)數(shù)據(jù)報(bào)文中攜帶的唯一用戶標(biāo)識(shí)信息過濾非法的用戶數(shù)據(jù)報(bào)文。在例中主要按IMSI過濾非法用戶數(shù)據(jù)報(bào)文,當(dāng)然也完全可以按其它任何的準(zhǔn)則過濾非法用戶數(shù)據(jù)報(bào)文,只要該準(zhǔn)則能夠唯一的區(qū)分每一個(gè)用戶。
綜上所述,本發(fā)明根據(jù)集群系統(tǒng)處理用戶數(shù)據(jù)報(bào)文的特點(diǎn),使用網(wǎng)絡(luò)處理器技術(shù),按群組轉(zhuǎn)發(fā)用戶數(shù)據(jù)報(bào)文,為系統(tǒng)提供了一種實(shí)現(xiàn)用戶數(shù)據(jù)高效、線速轉(zhuǎn)發(fā)的技術(shù)解決方法。該方法提高了集群系統(tǒng)網(wǎng)絡(luò)側(cè)資源的利用效率,減少了由報(bào)文轉(zhuǎn)發(fā)引起的網(wǎng)絡(luò)延遲,提高了系統(tǒng)處理數(shù)據(jù)報(bào)文的吞吐量。
當(dāng)然,本發(fā)明還可有其他多種實(shí)施例,在不背離本發(fā)明精神及其實(shí)質(zhì)的情況下,熟悉本領(lǐng)域的技術(shù)人員當(dāng)可根據(jù)本發(fā)明作出各種相應(yīng)的改變和變形,但這些相應(yīng)的改變和變形都應(yīng)屬于本發(fā)明所附的權(quán)利要求的保護(hù)范圍。
權(quán)利要求
1.一種用戶數(shù)據(jù)報(bào)文轉(zhuǎn)發(fā)方法,應(yīng)用于集群系統(tǒng),其特征在于,通過在集群系統(tǒng)中建立群組,并利用設(shè)置于該集群系統(tǒng)網(wǎng)絡(luò)側(cè)的網(wǎng)絡(luò)處理器實(shí)現(xiàn)按群組轉(zhuǎn)發(fā)該群組中當(dāng)前使用用戶的數(shù)據(jù)報(bào)文。
2.根據(jù)權(quán)利要求1所述的用戶數(shù)據(jù)報(bào)文轉(zhuǎn)發(fā)方法,其特征在于,該方法進(jìn)一步包括如下步驟步驟一,通過該集群系統(tǒng)建立群組,并為該群組的用戶與服務(wù)器之間建立共享集群數(shù)據(jù)鏈路,該共享集群數(shù)據(jù)鏈路的狀態(tài)信息存儲(chǔ)于共享集群數(shù)據(jù)鏈路連接表;步驟二,接收當(dāng)前使用用戶的數(shù)據(jù)報(bào)文,根據(jù)數(shù)據(jù)報(bào)文中所攜帶的特定信息查找描述該群組的群組屬性表,得到與數(shù)據(jù)轉(zhuǎn)發(fā)相關(guān)的信息并形成該用戶數(shù)據(jù)報(bào)文的報(bào)文描述符;步驟三,根據(jù)該報(bào)文描述符查找記錄轉(zhuǎn)發(fā)信息的共享集群數(shù)據(jù)鏈路連接表,并根據(jù)查表結(jié)果復(fù)制修改該用戶數(shù)據(jù)報(bào)文形成修改后的用戶數(shù)據(jù)報(bào)文;步驟四,對(duì)步驟三得到的修改后的用戶數(shù)據(jù)報(bào)文進(jìn)行路由查找處理;步驟五,將該處理過的用戶數(shù)據(jù)報(bào)文發(fā)送至該群組的所有共享集群數(shù)據(jù)鏈路上,進(jìn)而發(fā)送給該群組的所有當(dāng)前使用用戶。
3.根據(jù)權(quán)利要求2所述的用戶數(shù)據(jù)報(bào)文轉(zhuǎn)發(fā)方法,其特征在于,在步驟二中還包括一步驟根據(jù)數(shù)據(jù)報(bào)文中攜帶的唯一用戶標(biāo)識(shí)信息過濾非法的用戶數(shù)據(jù)報(bào)文。
4.根據(jù)權(quán)利要求3所述的用戶數(shù)據(jù)報(bào)文轉(zhuǎn)發(fā)方法,其特征在于,所述的唯一用戶標(biāo)識(shí)信息為國際移動(dòng)用戶識(shí)別碼信息。
5.根據(jù)權(quán)利要求2或3或4所述的用戶數(shù)據(jù)報(bào)文轉(zhuǎn)發(fā)方法,其特征在于,所述的用戶數(shù)據(jù)報(bào)文格式為IP/GRE格式。
6.根據(jù)權(quán)利要求5所述的用戶數(shù)據(jù)報(bào)文轉(zhuǎn)發(fā)方法,其特征在于,在步驟二中是根據(jù)數(shù)據(jù)報(bào)文中的源IP地址和GRE關(guān)鍵字查找該群組的群組屬性表。
7.根據(jù)權(quán)利要求2所述的用戶數(shù)據(jù)報(bào)文轉(zhuǎn)發(fā)方法,其特征在于,在步驟二中是根據(jù)索引算法查找該群組的群組屬性表。
8.根據(jù)權(quán)利要求6所述的用戶數(shù)據(jù)報(bào)文轉(zhuǎn)發(fā)方法,其特征在于,該算法為哈希算法。
9.根據(jù)權(quán)利要求2所述的用戶數(shù)據(jù)報(bào)文轉(zhuǎn)發(fā)方法,其特征在于,在步驟二中所述的與數(shù)據(jù)轉(zhuǎn)發(fā)相關(guān)的信息為指向該群組所有共享集群數(shù)據(jù)鏈路連接表所構(gòu)成的鏈表的頭指針,需復(fù)制修改的用戶數(shù)據(jù)報(bào)文的數(shù)目。
10.根據(jù)權(quán)利要求5所述的用戶數(shù)據(jù)報(bào)文轉(zhuǎn)發(fā)方法,其特征在于,在步驟三中,該查表及根據(jù)查表結(jié)果復(fù)制修改用戶數(shù)據(jù)報(bào)文的過程還包括如下步驟根據(jù)報(bào)文描述符記錄的信息查找共享集群數(shù)據(jù)鏈路連接表,得到該鏈路的詳細(xì)轉(zhuǎn)發(fā)信息鏈路的源端IP地址,目的端IP地址,GRE關(guān)鍵字,GRE序列號(hào);復(fù)制該用戶數(shù)據(jù)報(bào)文,并根據(jù)上面查表得到的信息修改復(fù)制所得報(bào)文的IP報(bào)頭,GRE報(bào)頭;重復(fù)上述過程直到為每一條共享集群數(shù)據(jù)鏈路都復(fù)制修改一份該用戶數(shù)據(jù)報(bào)文。
11.根據(jù)權(quán)利要求5所述的用戶數(shù)據(jù)報(bào)文轉(zhuǎn)發(fā)方法,其特征在于,在步驟四中,該路由查找處理過程還包括如下步驟從該修改后的用戶數(shù)據(jù)報(bào)文中提取該數(shù)據(jù)報(bào)文的目的IP地址;根據(jù)目的IP地址、以最長匹配路由查找算法查找路由表,得到下一跳MAC地址;以該得到的MAC地址為目的MAC地址,以集群系統(tǒng)服務(wù)器的MAC地址為源地址修改該數(shù)據(jù)報(bào)文的以太網(wǎng)報(bào)頭。
12.一種用戶數(shù)據(jù)報(bào)文轉(zhuǎn)送裝置,應(yīng)用于集群系統(tǒng),其特征在于,該裝置包含網(wǎng)絡(luò)處理器,設(shè)置于該集群系統(tǒng)網(wǎng)絡(luò)側(cè)的集群服務(wù)器上,用于按群組線速轉(zhuǎn)送用戶數(shù)據(jù)報(bào)文。
13.根據(jù)權(quán)利要求12所述的用戶數(shù)據(jù)報(bào)文轉(zhuǎn)送裝置,其特征在于,該網(wǎng)絡(luò)處理器為Intel的IXP1200網(wǎng)絡(luò)處理器。
全文摘要
本發(fā)明涉及一種用戶數(shù)據(jù)報(bào)文轉(zhuǎn)發(fā)方法及轉(zhuǎn)發(fā)裝置,應(yīng)用于集群系統(tǒng),該裝置包含網(wǎng)絡(luò)處理器,設(shè)置于該集群系統(tǒng)網(wǎng)絡(luò)側(cè)的集群服務(wù)器上,用于按群組線速轉(zhuǎn)送用戶數(shù)據(jù)報(bào)文。通過在集群系統(tǒng)中建立群組,并利用該網(wǎng)絡(luò)處理器以實(shí)現(xiàn)按群組轉(zhuǎn)發(fā)該群組中當(dāng)前使用用戶的數(shù)據(jù)報(bào)文。本發(fā)明的用戶數(shù)據(jù)報(bào)文轉(zhuǎn)發(fā)方法及轉(zhuǎn)發(fā)裝置實(shí)現(xiàn)了用戶數(shù)據(jù)的高效、線速轉(zhuǎn)發(fā),提高了集群系統(tǒng)網(wǎng)絡(luò)側(cè)資源的利用效率,減少了由報(bào)文轉(zhuǎn)發(fā)引起的網(wǎng)絡(luò)延遲,提高了系統(tǒng)處理數(shù)據(jù)報(bào)文的吞吐量。
文檔編號(hào)H04L12/56GK1561052SQ20041004646
公開日2005年1月5日 申請(qǐng)日期2004年6月9日 優(yōu)先權(quán)日2004年2月26日
發(fā)明者秦志峰, 任崗, 李鐵, 吳應(yīng)祥 申請(qǐng)人:中興通訊股份有限公司