国产精品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)文群發(fā)方法

      文檔序號(hào):7623425閱讀:133來(lái)源:國(guó)知局

      專利名稱::一種集群通信中的報(bào)文群發(fā)方法
      技術(shù)領(lǐng)域
      :本發(fā)明涉及一種無(wú)線通信領(lǐng)域的報(bào)文群發(fā)方法,尤其涉及的是,一種在集群通信中進(jìn)行報(bào)文群發(fā)的處理方法。
      背景技術(shù)
      :網(wǎng)絡(luò)處理器是一種專用的、可編程的硬件設(shè)備,它結(jié)合了RISC處理器的低成本、靈活性以及ASIC芯片的速度和可擴(kuò)展性等特點(diǎn)。網(wǎng)絡(luò)處理器主要用于網(wǎng)絡(luò)數(shù)據(jù)報(bào)文的處理與轉(zhuǎn)發(fā),其通常包括一個(gè)內(nèi)核(嵌入式處理器)和多個(gè)I/O處理器(微引擎),每個(gè)I/O處理器又包含多個(gè)線程;在實(shí)現(xiàn)的功能方面,網(wǎng)絡(luò)處理器的功能通??梢苑譃閿?shù)據(jù)面和控制面,數(shù)據(jù)面完成報(bào)文的轉(zhuǎn)發(fā),控制面完成報(bào)文轉(zhuǎn)發(fā)以外的控制管理功能。集群通信系統(tǒng)是一種專用指揮調(diào)度通信系統(tǒng),系統(tǒng)內(nèi)的若干用戶成為一組,任一用戶講話都可以被組內(nèi)的任何用戶聽到,即任一用戶的語(yǔ)音幀需要被發(fā)送給組內(nèi)的所用用戶。用網(wǎng)絡(luò)處理器進(jìn)行語(yǔ)音數(shù)據(jù)的轉(zhuǎn)發(fā)時(shí),通常的處理方法是按照組內(nèi)用戶數(shù),將數(shù)據(jù)復(fù)制多份,并分別發(fā)送出去。報(bào)文處理過程中,頻繁的內(nèi)存讀寫通常都要產(chǎn)生較大的延時(shí),如網(wǎng)絡(luò)處理器讀/寫一次內(nèi)存的時(shí)間就遠(yuǎn)大于其指令周期。因此,大量復(fù)制報(bào)文的方法會(huì)直接影響到報(bào)文處理過程的效率,容易成為系統(tǒng)運(yùn)行的瓶頸。因此,現(xiàn)有技術(shù)存在缺陷,有待于改進(jìn)和發(fā)展。
      發(fā)明內(nèi)容本發(fā)明的目的在于提供一種集群通信中的報(bào)文群發(fā)方法,無(wú)需大量復(fù)制報(bào)文,可用以提高數(shù)據(jù)處理的效率并擴(kuò)大系統(tǒng)的用戶容量。本發(fā)明的技術(shù)方案如下一種集群通信中的報(bào)文群發(fā)方法,其包括至少一調(diào)度線程和至少一發(fā)送線程,所述發(fā)送線程負(fù)責(zé)報(bào)文發(fā)送在收到調(diào)度線程的指派任務(wù)后,完成報(bào)文的實(shí)際發(fā)送功能,每發(fā)送完一個(gè)報(bào)文時(shí),如果收到調(diào)度線程釋放報(bào)文的信號(hào),則釋放該報(bào)文及報(bào)文描述符的空間,否則將該報(bào)文重新入隊(duì)到群發(fā)隊(duì)列;所述調(diào)度線程負(fù)責(zé)控制發(fā)出發(fā)送請(qǐng)求的時(shí)機(jī)和方式所述調(diào)度線程輪詢各個(gè)發(fā)送隊(duì)列當(dāng)某個(gè)隊(duì)列有報(bào)文等待發(fā)送時(shí),為該報(bào)文創(chuàng)建指派任務(wù),通知發(fā)送線程發(fā)送報(bào)文,否則通知發(fā)送線程釋放報(bào)文空間;當(dāng)前指派任務(wù)被完成后,調(diào)度線程給發(fā)送線程發(fā)放下一個(gè)指派任務(wù)。所述的報(bào)文群發(fā)方法,其中,所述調(diào)度線程具體包括步驟a1)輪詢各發(fā)送隊(duì)列;b1)如果某發(fā)送隊(duì)列有報(bào)文等待發(fā)送,則從所述報(bào)文取出報(bào)文描述符,否則返回a1步;c1)根據(jù)所述報(bào)文描述符確定群發(fā)隊(duì)列信息和所述群發(fā)隊(duì)列的用戶數(shù),將所述報(bào)文入隊(duì)到所述群發(fā)隊(duì)列;d1)為所述報(bào)文創(chuàng)建指派任務(wù);e1)判斷用戶數(shù)是否大于零;如果用戶數(shù)大于零,進(jìn)入步驟f1),否則進(jìn)入步驟i1);f1)為所述群發(fā)隊(duì)列創(chuàng)建一個(gè)新指派任務(wù);g1)待發(fā)送線程清除原指派任務(wù)的信息后,將新指派任務(wù)的信息賦值于原指派任務(wù);h1)將用戶數(shù)減1,返回步驟d1);i1)給發(fā)送進(jìn)程發(fā)出釋放信號(hào);j1)返回步驟a1)。所述的報(bào)文群發(fā)方法,其中,所述調(diào)度線程每創(chuàng)建一個(gè)指派任務(wù)后,先查看當(dāng)前報(bào)文是否需要繼續(xù)發(fā)送給其它用戶,需要的話,優(yōu)先為群發(fā)隊(duì)列創(chuàng)建下一個(gè)指派任務(wù),否則繼續(xù)輪詢下一個(gè)發(fā)送隊(duì)列,通知發(fā)送線程釋放報(bào)文。所述的報(bào)文群發(fā)方法,其中,所述發(fā)送線程具體包括步驟a2)讀取指派任務(wù),從指定隊(duì)列中取出所述報(bào)文;b2)根據(jù)所述報(bào)文的報(bào)文描述符的信息,從相應(yīng)的群組用戶表取出一個(gè)用戶的信息,將用戶的信息封裝進(jìn)報(bào)文的凈荷;c2)發(fā)送所述報(bào)文;d2)檢查釋放信號(hào)是否存在;如果存在釋放信號(hào),進(jìn)入步驟e2),否則,進(jìn)入步驟f2);e2)釋放報(bào)文和報(bào)文描述符空間,刪除釋放信號(hào);f2)將所述報(bào)文入隊(duì)到所述群發(fā)隊(duì)列中;g2)清除指派任務(wù)信息;h2)返回步驟a2)。所述的報(bào)文群發(fā)方法,其中,一個(gè)調(diào)度線程可管理多個(gè)發(fā)送線程。所述的報(bào)文群發(fā)方法,其中,所述群發(fā)隊(duì)列,其結(jié)構(gòu)與發(fā)送隊(duì)列相同,需要群發(fā)的所述報(bào)文暫存于群發(fā)隊(duì)列中。所述的報(bào)文群發(fā)方法,其中,所述群發(fā)隊(duì)列的信息及其用戶數(shù)的信息存放在報(bào)文描述符中。所述的報(bào)文群發(fā)方法,其中,所述用戶的信息,包括用戶的信息和群組用戶表中所述用戶的下一個(gè)用戶信息;所述用戶的信息,包括報(bào)文需要發(fā)送到的下一跳IP地址、用戶標(biāo)識(shí)。所述的報(bào)文群發(fā)方法,其中,所述清除指派任務(wù)信息,是將指派任務(wù)信息置零。本發(fā)明所提供的一種集群通信中的報(bào)文群發(fā)方法,實(shí)現(xiàn)了集群用戶組呼的功能,克服了使用大量復(fù)制報(bào)文引起的延時(shí)所帶來(lái)的影響,提高了數(shù)據(jù)處理的效率并擴(kuò)大系統(tǒng)的用戶容量。圖1所示為根據(jù)本發(fā)明的發(fā)送隊(duì)列描述符和群發(fā)隊(duì)列描述符結(jié)構(gòu)說(shuō)明;圖2所示為根據(jù)本發(fā)明的隊(duì)列描述符、隊(duì)列、報(bào)文描述符、報(bào)文凈荷間的關(guān)系;圖3所示為根據(jù)本發(fā)明的群組用戶表的結(jié)構(gòu);圖4所示為根據(jù)本發(fā)明的調(diào)度線程的處理流程;圖5所示為根據(jù)本發(fā)明的發(fā)送線程的處理流程;圖6所示為根據(jù)本發(fā)明的群組用戶表的一個(gè)實(shí)施例結(jié)構(gòu)。具體實(shí)施例方式以下結(jié)合附圖,對(duì)本發(fā)明的較佳實(shí)施例進(jìn)行較為詳細(xì)的說(shuō)明。本發(fā)明的集群通信中的報(bào)文群發(fā)方法,其中包括了調(diào)度線程和發(fā)送線程,其中的報(bào)文群發(fā)功能由負(fù)責(zé)報(bào)文發(fā)送的發(fā)送線程和負(fù)責(zé)控制發(fā)出發(fā)送請(qǐng)求的時(shí)機(jī)和方式的調(diào)度線程共同實(shí)現(xiàn);一個(gè)報(bào)文在內(nèi)存中只存在一份,不進(jìn)行報(bào)文的拷貝。本發(fā)明方法中的所述發(fā)送線程收到調(diào)度線程的指派任務(wù)后,完成報(bào)文的實(shí)際發(fā)送功能,每發(fā)送完一個(gè)報(bào)文時(shí),如果收到調(diào)度線程釋放報(bào)文的信號(hào),則釋放該報(bào)文及報(bào)文描述符的空間,否則將該報(bào)文重新入隊(duì)到某群發(fā)隊(duì)列。所述調(diào)度線程輪詢各個(gè)發(fā)送隊(duì)列,當(dāng)某個(gè)隊(duì)列有報(bào)文等待發(fā)送時(shí),為該報(bào)文創(chuàng)建指派任務(wù),通知發(fā)送線程發(fā)送報(bào)文,當(dāng)前指派任務(wù)被完成后,調(diào)度線程才會(huì)給發(fā)送線程發(fā)放下一個(gè)指派任務(wù)。調(diào)度線程每創(chuàng)建一個(gè)指派任務(wù)后,先查看當(dāng)前報(bào)文是否需要繼續(xù)發(fā)送給其它用戶,需要的話,優(yōu)先為該群發(fā)隊(duì)列創(chuàng)建下一個(gè)指派任務(wù),否則繼續(xù)輪詢下一個(gè)發(fā)送隊(duì)列,通知發(fā)送線程釋放報(bào)文。其中,本發(fā)明的以下用語(yǔ)意義為發(fā)送隊(duì)列一般用于存放待發(fā)送報(bào)文的隊(duì)列。群發(fā)隊(duì)列(group_send_queue[key])發(fā)送線程發(fā)送完一個(gè)報(bào)文后,仍需要將該報(bào)文發(fā)送給其它用戶,在繼續(xù)發(fā)送前將報(bào)文暫存的隊(duì)列。該隊(duì)列的數(shù)量和用戶組數(shù)相同。其中key是區(qū)分群組的信息,一個(gè)key值對(duì)應(yīng)一組集群用戶發(fā)送隊(duì)列和群發(fā)隊(duì)列結(jié)構(gòu)如附圖1、附圖2所示,其中圖1各個(gè)字段的含義為隊(duì)列頭指針指向隊(duì)列中第一個(gè)報(bào)文的報(bào)文描述符;隊(duì)列尾指針指向隊(duì)列中最后一個(gè)報(bào)文的報(bào)文描述符;報(bào)文數(shù)顯示隊(duì)列中已有報(bào)文的個(gè)數(shù);最大報(bào)文數(shù)預(yù)設(shè)的最大隊(duì)列長(zhǎng)度,當(dāng)隊(duì)列長(zhǎng)度超過該長(zhǎng)度時(shí),將丟棄報(bào)文。群組用戶表(group_users_table)記錄一個(gè)組內(nèi)各個(gè)用戶信息的表項(xiàng),一張group_users_table對(duì)應(yīng)一個(gè)群組,表內(nèi)各個(gè)單元存放各個(gè)用戶不同的信息(如ip地址等),發(fā)送線程給每個(gè)用戶發(fā)送報(bào)文之前,從該表中取出相應(yīng)用戶的信息進(jìn)行替換。群組用戶表的結(jié)構(gòu)如附圖3所示,其中表中的每個(gè)單元存放一個(gè)用戶區(qū)別于其它用戶的信息,每個(gè)單元的長(zhǎng)度由需要存放的用戶信息量決定。每個(gè)單元中各個(gè)字段的含義為下一個(gè)用戶指向表中的下一個(gè)用戶單元;用戶N的信息1該用戶不同于其它用戶的第一個(gè)信息;用戶N的信息2該用戶不同于其它用戶的第二個(gè)信息。報(bào)文描述符中存放用來(lái)用來(lái)區(qū)分群組的key值和群組內(nèi)用戶個(gè)數(shù)user_count,以及其它報(bào)文描述信息。一個(gè)調(diào)度線程可服務(wù)多個(gè)發(fā)送隊(duì)列,在各個(gè)發(fā)送隊(duì)列間進(jìn)行輪詢,發(fā)現(xiàn)待發(fā)送報(bào)文時(shí)創(chuàng)建指派任務(wù)。一個(gè)調(diào)度線程可管理多個(gè)發(fā)送線程,也可以有多個(gè)調(diào)度線程分別管理各個(gè)發(fā)送線程。本發(fā)明的集群通信中高效報(bào)文群發(fā)方法的處理過程為1)調(diào)度線程輪詢各個(gè)發(fā)送隊(duì)列,當(dāng)發(fā)現(xiàn)某個(gè)隊(duì)列有待發(fā)送報(bào)文時(shí),從該隊(duì)列取出一個(gè)報(bào)文描述符,取出描述符中的key值和用戶數(shù)user_count,將該報(bào)文入隊(duì)到群發(fā)隊(duì)列g(shù)roup_send_queue[key]中,并給1號(hào)發(fā)送線程創(chuàng)建發(fā)送group_send_queue[key]隊(duì)列報(bào)文的指派任務(wù)assign1。2)調(diào)度線程判斷user_count是否大于0,是的話,為隊(duì)列g(shù)roup_send_queue[key]創(chuàng)建指派任務(wù)new_assign1,待收到1號(hào)發(fā)送線程完成了上次指派任務(wù)的信號(hào)(如全局變量assign1被置0)后,將new_assign1賦給assign1,對(duì)用戶數(shù)user_count進(jìn)行減1操作,并重新執(zhí)行本步驟;否則的話給1號(hào)發(fā)送線程發(fā)送釋放報(bào)文的信號(hào)(如給全局變量free1賦一個(gè)正值)。3)1號(hào)發(fā)送線程收到調(diào)度線程的指派任務(wù)后,從指定的隊(duì)列中取出一個(gè)報(bào)文;根據(jù)報(bào)文描述符中的key值從相應(yīng)的group_users_table表中取出一個(gè)用戶的信息,封裝進(jìn)報(bào)文的凈荷中,發(fā)送該報(bào)文。4)1號(hào)發(fā)送線程發(fā)送完一個(gè)報(bào)文后,查看是否收到調(diào)度線程發(fā)出的釋放報(bào)文信號(hào)(如判斷全局變量free1是否為正),如果收到該信號(hào),釋放報(bào)文和報(bào)文描述符空間,刪除釋放報(bào)文信號(hào)(如將全局變量free1清零),并將指派任務(wù)assign1清零;否則的話,根據(jù)報(bào)文描述符中的key值,將報(bào)文入隊(duì)到group_send_queue[key]隊(duì)列中,并將指派任務(wù)assign1清零。最后發(fā)送線程返回到第3步。5)調(diào)度線程繼續(xù)按照第1步和第2步給其它發(fā)送線程創(chuàng)建指派任務(wù)assignN,其它發(fā)送線程繼續(xù)按照第3步和第4步執(zhí)行指派任務(wù)。下面繼續(xù)結(jié)合一個(gè)具體的例子對(duì)本發(fā)明的技術(shù)方案的實(shí)施做進(jìn)一步的詳細(xì)描述本發(fā)明報(bào)文群發(fā)方法可以應(yīng)用到中興GOTA的PTT調(diào)度客戶端用戶面協(xié)議處理模塊中,這里使用intel的IXP1200網(wǎng)絡(luò)處理器實(shí)現(xiàn)報(bào)文轉(zhuǎn)發(fā)功能。一.發(fā)送線程、調(diào)度線程及各種隊(duì)列的說(shuō)明1.發(fā)送隊(duì)列IXP1200業(yè)務(wù)處理微引擎處理過的報(bào)文,放在發(fā)送隊(duì)列中等待報(bào)文發(fā)送微引擎發(fā)送,共四個(gè)發(fā)送隊(duì)列。2.發(fā)送線程、調(diào)度線程使用一個(gè)微引擎作為報(bào)文發(fā)送微引擎,其中共有四個(gè)線程,將0號(hào)線程分配為調(diào)度線程,1、2、3號(hào)線程分配為發(fā)送線程。3.群發(fā)隊(duì)列g(shù)roup_send_queue[key]發(fā)送線程發(fā)送完一個(gè)報(bào)文后,仍需要將該報(bào)文發(fā)送給其它用戶的時(shí)候,在繼續(xù)發(fā)送前將報(bào)文暫存的隊(duì)列。該隊(duì)列的數(shù)量和用戶組數(shù)相同。4.群組用戶表group_users_table記錄一個(gè)組內(nèi)各個(gè)用戶信息的表項(xiàng),一張group_users_table對(duì)應(yīng)一個(gè)群組,該表以及其中各個(gè)單元的結(jié)構(gòu)如附圖6所示。其中每個(gè)用戶單元占用三個(gè)longword長(zhǎng)度,next_user字段指向表中的下一個(gè)用戶,userN_hop_ip字段為第N個(gè)用戶的報(bào)文需要發(fā)送到的下一跳ip地址,userN_A8key為第N個(gè)用戶的A8key值(GRE通用路由協(xié)議規(guī)定的值,是用戶標(biāo)識(shí)的一種),后兩項(xiàng)信息需要封裝進(jìn)報(bào)文的凈荷中。5.報(bào)文描述符中存放A10key值和群組內(nèi)用戶個(gè)數(shù)user_count,以及其它報(bào)文描述信息。二.調(diào)度線程(0號(hào)線程)的處理過程,如圖4所示的包括第一步輪詢4個(gè)發(fā)送隊(duì)列,當(dāng)發(fā)現(xiàn)某個(gè)隊(duì)列有待發(fā)送報(bào)文時(shí),從該隊(duì)列取出一個(gè)報(bào)文描述符,取出描述符中的key值和user_count,將該報(bào)文入隊(duì)到group_send_queue[key]隊(duì)列中。第二步給1號(hào)發(fā)送線程創(chuàng)建發(fā)送group_send_queue[key]隊(duì)列報(bào)文的指派任務(wù)assign1。第三步判斷user_count是否大于0,是的話執(zhí)行第四步,否則執(zhí)行第五步。第四步為隊(duì)列g(shù)roup_send_queue[key]創(chuàng)建指派任務(wù)new_assign1,待1號(hào)發(fā)送線程將assign1置0后,將new_assign1賦給assign1,讓1號(hào)發(fā)送線程執(zhí)行下一個(gè)任務(wù)。對(duì)user_count進(jìn)行減1操作。轉(zhuǎn)到第三步。第五步給變量free1賦1,以此通知1號(hào)發(fā)送線程釋放處理過的報(bào)文。第六步按照上面的步驟給2號(hào)發(fā)送線程創(chuàng)建指派任務(wù)assign2。第七步按照上面的步驟給3號(hào)發(fā)送線程創(chuàng)建指派任務(wù)assign3。第八步繼續(xù)輪詢其它發(fā)送隊(duì)列。三.發(fā)送線程(1、2、3號(hào)線程)的處理過程,如圖5所示的,包括這里只描述1號(hào)發(fā)送線程的處理步驟,2號(hào)和3號(hào)線程與其完全一致。第一步讀取指派任務(wù)assign1,從指定的隊(duì)列中取出一個(gè)報(bào)文;根據(jù)報(bào)文描述符中的key值從相應(yīng)的group_users_table表中取出一個(gè)用戶的userN_hop_ip和userN_A8key,封裝進(jìn)報(bào)文的凈荷并發(fā)送該報(bào)文。第二步查看free1是否為1,是的話,執(zhí)行第三步,否則執(zhí)行第四步。第四步根據(jù)報(bào)文描述符中的key值,將報(bào)文入隊(duì)到group_send_queue[key]隊(duì)列中。第五步給assign1置0。返回第一步,執(zhí)行下一個(gè)指派任務(wù)。以上所述僅為本發(fā)明的較佳實(shí)施例,并非用來(lái)限定本發(fā)明,任何熟悉本技術(shù)及其領(lǐng)域的人,在不脫離本發(fā)明的精神和范疇內(nèi),可能作出各種修改或變更,因此本發(fā)明的保護(hù)范圍應(yīng)以權(quán)利要求書所要求保護(hù)的范圍為準(zhǔn)。權(quán)利要求1.一種集群通信中的報(bào)文群發(fā)方法,其包括至少一調(diào)度線程和至少一發(fā)送線程,所述發(fā)送線程負(fù)責(zé)報(bào)文發(fā)送在收到調(diào)度線程的指派任務(wù)后,完成報(bào)文的實(shí)際發(fā)送功能,每發(fā)送完一個(gè)報(bào)文時(shí),如果收到調(diào)度線程釋放報(bào)文的信號(hào),則釋放該報(bào)文及報(bào)文描述符的空間,否則將該報(bào)文重新入隊(duì)到群發(fā)隊(duì)列;所述調(diào)度線程負(fù)責(zé)控制發(fā)出發(fā)送請(qǐng)求的時(shí)機(jī)和方式所述調(diào)度線程輪詢各個(gè)發(fā)送隊(duì)列當(dāng)某個(gè)隊(duì)列有報(bào)文等待發(fā)送時(shí),為該報(bào)文創(chuàng)建指派任務(wù),通知發(fā)送線程發(fā)送報(bào)文,否則通知發(fā)送線程釋放報(bào)文空間;當(dāng)前指派任務(wù)被完成后,調(diào)度線程給發(fā)送線程發(fā)放下一個(gè)指派任務(wù)。2.根據(jù)權(quán)利要求1所述的報(bào)文群發(fā)方法,其特征在于,所述調(diào)度線程具體包括步驟a1)輪詢各發(fā)送隊(duì)列;b1)如果某發(fā)送隊(duì)列有報(bào)文等待發(fā)送,則從所述報(bào)文取出報(bào)文描述符,否則返回a1步;c1)根據(jù)所述報(bào)文描述符確定群發(fā)隊(duì)列信息和所述群發(fā)隊(duì)列的用戶數(shù),將所述報(bào)文入隊(duì)到所述群發(fā)隊(duì)列;d1)為所述報(bào)文創(chuàng)建指派任務(wù);e1)判斷用戶數(shù)是否大于零;如果用戶數(shù)大于零,進(jìn)入步驟f1),否則進(jìn)入步驟i1);f1)為所述群發(fā)隊(duì)列創(chuàng)建一個(gè)新指派任務(wù);g1)待發(fā)送線程清除原指派任務(wù)的信息后,將新指派任務(wù)的信息賦值于原指派任務(wù);h1)將用戶數(shù)減1,返回步驟d1);i1)給發(fā)送進(jìn)程發(fā)出釋放信號(hào);j1)返回步驟a1)。3.根據(jù)權(quán)利要求2所述的報(bào)文群發(fā)方法,其特征在于,所述調(diào)度線程每創(chuàng)建一個(gè)指派任務(wù)后,先查看當(dāng)前報(bào)文是否需要繼續(xù)發(fā)送給其它用戶,需要的話,優(yōu)先為群發(fā)隊(duì)列創(chuàng)建下一個(gè)指派任務(wù),否則繼續(xù)輪詢下一個(gè)發(fā)送隊(duì)列,通知發(fā)送線程釋放報(bào)文。4.根據(jù)權(quán)利要求2所述的報(bào)文群發(fā)方法,其特征在于,所述發(fā)送線程具體包括步驟a2)讀取指派任務(wù),從指定隊(duì)列中取出所述報(bào)文;b2)根據(jù)所述報(bào)文的報(bào)文描述符的信息,從相應(yīng)的群組用戶表取出一個(gè)用戶的信息,將用戶的信息封裝進(jìn)報(bào)文的凈荷;c2)發(fā)送所述報(bào)文;d2)檢查釋放信號(hào)是否存在;如果存在釋放信號(hào),進(jìn)入步驟e2),否則,進(jìn)入步驟f2);e2)釋放報(bào)文和報(bào)文描述符空間,刪除釋放信號(hào);f2)將所述報(bào)文入隊(duì)到所述群發(fā)隊(duì)列中;g2)清除指派任務(wù)信息;h2)返回步驟a2)。5.根據(jù)權(quán)利要求4所述的報(bào)文群發(fā)方法,其特征在于,一個(gè)調(diào)度線程可管理多個(gè)發(fā)送線程。6.根據(jù)權(quán)利要求4所述的報(bào)文群發(fā)方法,其特征在于,所述群發(fā)隊(duì)列,其結(jié)構(gòu)與發(fā)送隊(duì)列相同,需要群發(fā)的所述報(bào)文暫存于群發(fā)隊(duì)列中。7.根據(jù)權(quán)利要求4所述的報(bào)文群發(fā)方法,其特征在于,所述群發(fā)隊(duì)列的信息及其用戶數(shù)的信息存放在報(bào)文描述符中。8.根據(jù)權(quán)利要求4所述的報(bào)文群發(fā)方法,其特征在于,所述用戶的信息,包括用戶的信息和群組用戶表中所述用戶的下一個(gè)用戶信息;所述用戶的信息,包括報(bào)文需要發(fā)送到的下一跳IP地址、用戶標(biāo)識(shí)。9.根據(jù)權(quán)利要求4所述的報(bào)文群發(fā)方法,其特征在于,所述清除指派任務(wù)信息,是將指派任務(wù)信息置零。全文摘要本發(fā)明提供了一種集群通信中的報(bào)文群發(fā)方法,報(bào)文群發(fā)功能由發(fā)送線程和調(diào)度線程共同實(shí)現(xiàn)。發(fā)送線程收到調(diào)度線程的指派任務(wù)后,完成報(bào)文的發(fā)送,如果收到調(diào)度線程釋放報(bào)文的信號(hào),則釋放該報(bào)文空間,否則將該報(bào)文重新入隊(duì)到某群發(fā)隊(duì)列。調(diào)度線程輪詢各個(gè)發(fā)送隊(duì)列,為隊(duì)列中等待發(fā)送的報(bào)文創(chuàng)建指派任務(wù),通知發(fā)送線程發(fā)送報(bào)文,當(dāng)前指派任務(wù)被完成后,調(diào)度線程才會(huì)給發(fā)送線程發(fā)放下一個(gè)指派任務(wù)。本發(fā)明方法克服了使用大量復(fù)制報(bào)文引起的延時(shí)所帶來(lái)的影響,提高數(shù)據(jù)處理的效率并擴(kuò)大系統(tǒng)的用戶容量。文檔編號(hào)H04L12/56GK1941733SQ200510100160公開日2007年4月4日申請(qǐng)日期2005年9月30日優(yōu)先權(quán)日2005年9月30日發(fā)明者劉欣,吳代立申請(qǐng)人:中興通訊股份有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1