專(zhuān)利名稱(chēng):基于頻道的消息路由方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)據(jù)交換領(lǐng)域,具體而言,涉及一種基于頻道的消息路由方法。
背景技術(shù):
隨著現(xiàn)代計(jì)算機(jī)技術(shù)和網(wǎng)絡(luò)通訊技術(shù)的不斷發(fā)展普及,利用互聯(lián)網(wǎng)進(jìn)行數(shù)據(jù)交換
及資源共享已經(jīng)非常普遍。數(shù)據(jù)交換是指利用計(jì)算機(jī)網(wǎng)絡(luò),把分散在若干應(yīng)用系統(tǒng)中的數(shù)據(jù)進(jìn)行相互傳輸和共享,從而提高信息資源的利用率。在網(wǎng)絡(luò)中,數(shù)據(jù)的交換和傳輸通常是通過(guò)路由分配來(lái)實(shí)現(xiàn)的。現(xiàn)有技術(shù)中,數(shù)據(jù)交換路由方法通常是靜態(tài)的,發(fā)送方通過(guò)指定接收方的 IPdnternet Protocol,網(wǎng)絡(luò)之間互連通協(xié)議)地址等信息來(lái)確定發(fā)送目標(biāo),即由數(shù)據(jù)發(fā)送方指定數(shù)據(jù)交換路徑。但是直接使用IP地址實(shí)現(xiàn)數(shù)據(jù)交換技術(shù)實(shí)現(xiàn)較復(fù)雜,對(duì)開(kāi)發(fā)人員要求比較高,而且發(fā)送端和接收端直接連接,系統(tǒng)緊耦合,導(dǎo)致系統(tǒng)擴(kuò)展性不好。若需要增加新的系統(tǒng)(傳輸節(jié)點(diǎn))時(shí)需要通知所有發(fā)送端更新地址列表。且群發(fā)消息時(shí)需要遍歷每個(gè)目標(biāo)系統(tǒng),增加或刪除系統(tǒng)均會(huì)帶來(lái)不便。由此可見(jiàn),現(xiàn)有技術(shù)中的數(shù)據(jù)路由方法技術(shù)復(fù)雜,而且發(fā)送端和接收端直接連接, 系統(tǒng)緊耦合,導(dǎo)致系統(tǒng)擴(kuò)展性不好,實(shí)現(xiàn)不夠方便靈活。
發(fā)明內(nèi)容
本發(fā)明旨在提供一種基于頻道的消息路由方法,以解決現(xiàn)有技術(shù)中的數(shù)據(jù)路由方法技術(shù)復(fù)雜,發(fā)送端和接收端直接連接,系統(tǒng)緊耦合,導(dǎo)致系統(tǒng)擴(kuò)展性不好,實(shí)現(xiàn)不夠方便靈活的問(wèn)題。為了實(shí)現(xiàn)上述目的,本發(fā)明提供了一種基于頻道的消息路由方法,包括消息接收步驟,接收消息發(fā)送裝置發(fā)送的消息,其中,消息包括數(shù)據(jù)部分以及消息頭,消息頭包含消息頻道標(biāo)識(shí)信息;提取步驟,提取消息頻道標(biāo)識(shí)信息,將數(shù)據(jù)部分存儲(chǔ)至與消息頻道標(biāo)識(shí)信息對(duì)應(yīng)的預(yù)定的消息頻道區(qū);轉(zhuǎn)發(fā)步驟,從預(yù)定的消息頻道區(qū)提取數(shù)據(jù)部分,并按照預(yù)定消息路由方式將數(shù)據(jù)部分轉(zhuǎn)發(fā)至消息接收裝置。進(jìn)一步地,提取步驟還包括提取消息頻道標(biāo)識(shí)信息后,驗(yàn)證消息發(fā)送裝置是否具有向消息頻道標(biāo)識(shí)信息對(duì)應(yīng)的預(yù)定的消息頻道區(qū)發(fā)送消息的權(quán)限;當(dāng)消息發(fā)送裝置具有向消息頻道標(biāo)識(shí)信息對(duì)應(yīng)的預(yù)定的消息頻道區(qū)發(fā)送消息的權(quán)限時(shí),將數(shù)據(jù)部分存儲(chǔ)至與消息頻道標(biāo)識(shí)信息對(duì)應(yīng)的預(yù)定的消息頻道區(qū);當(dāng)消息發(fā)送裝置不具有發(fā)送消息的權(quán)限時(shí),放棄對(duì)消息執(zhí)行操作。進(jìn)一步地,消息頭還包括接收端標(biāo)識(shí)信息以及廣播標(biāo)識(shí)信息,預(yù)定消息路由方式包括點(diǎn)對(duì)點(diǎn)模式、訂閱模式以及廣播模式,在轉(zhuǎn)發(fā)步驟中通過(guò)提取接收端標(biāo)識(shí)信息以及廣播標(biāo)識(shí)信息確定預(yù)定消息路由方式,其中,當(dāng)接收端標(biāo)識(shí)信息非空且廣播標(biāo)識(shí)信息為第一信息時(shí),預(yù)定消息路由方式為點(diǎn)對(duì)點(diǎn)模式;當(dāng)接收端標(biāo)識(shí)信息為空且廣播標(biāo)識(shí)信息為第一信息時(shí),預(yù)定消息路由方式為訂閱模式;當(dāng)接收端標(biāo)識(shí)信息為空且廣播標(biāo)識(shí)信息為第二信息時(shí),預(yù)定消息路由方式為廣播模式。進(jìn)一步地,當(dāng)預(yù)定消息路由方式為點(diǎn)對(duì)點(diǎn)模式時(shí),轉(zhuǎn)發(fā)步驟包括從預(yù)定的消息頻道區(qū)提取數(shù)據(jù)部分,并轉(zhuǎn)發(fā)至接收端標(biāo)識(shí)信息對(duì)應(yīng)的消息接收裝置。進(jìn)一步地,當(dāng)預(yù)定消息路由方式為訂閱模式時(shí),轉(zhuǎn)發(fā)步驟包括從存儲(chǔ)區(qū)提取預(yù)定的消息頻道區(qū)對(duì)應(yīng)的接收端列表;從預(yù)定的消息頻道區(qū)提取數(shù)據(jù)部分,按照預(yù)定轉(zhuǎn)發(fā)次序依次轉(zhuǎn)發(fā)至接收端列表對(duì)應(yīng)的消息接收裝置。進(jìn)一步地,當(dāng)存在在線的所述消息接收裝置時(shí),所述預(yù)定轉(zhuǎn)發(fā)次序包括在線的消息接收裝置對(duì)應(yīng)的接收端列表的排列次序。進(jìn)一步地,當(dāng)所述消息接收裝置均不在線時(shí),所述預(yù)定轉(zhuǎn)發(fā)次序包括接收端列表列出的第一個(gè)登錄的消息接收裝置。進(jìn)一步地,當(dāng)預(yù)定消息路由方式為廣播模式且存在在線的消息接收裝置時(shí),轉(zhuǎn)發(fā)步驟包括從存儲(chǔ)區(qū)提取預(yù)定的消息頻道區(qū)對(duì)應(yīng)的接收端列表;從預(yù)定的消息頻道區(qū)提取數(shù)據(jù)部分,分別轉(zhuǎn)發(fā)至接收端列表中在線的消息接收裝置。進(jìn)一步地,當(dāng)預(yù)定消息路由方式為廣播模式且存在不在線的消息接收裝置時(shí),轉(zhuǎn)發(fā)步驟包括從存儲(chǔ)區(qū)提取預(yù)定的消息頻道區(qū)對(duì)應(yīng)的接收端列表;從預(yù)定的消息頻道區(qū)提取數(shù)據(jù)部分,在消息接收裝置登錄時(shí)將所述數(shù)據(jù)部分轉(zhuǎn)發(fā)給該裝置。。應(yīng)用本發(fā)明的技術(shù)方案,通過(guò)提取消息中所包含的消息頻道信息,將數(shù)據(jù)部分存儲(chǔ)至與消息頻道信息相對(duì)應(yīng)的消息頻道區(qū)內(nèi),并轉(zhuǎn)發(fā)至消息接收裝置,以實(shí)現(xiàn)消息在發(fā)送端與接收端之間的路由,即消息發(fā)送裝置與消息接收裝置不需要直接連接,且消息發(fā)送裝置在發(fā)送消息時(shí)也不需要指定接收方的IP地址,當(dāng)消息接收裝置數(shù)量增加或減少時(shí),對(duì)消息發(fā)送裝置不會(huì)產(chǎn)生較大影響,克服了現(xiàn)有技術(shù)中的數(shù)據(jù)路由方法技術(shù)實(shí)現(xiàn)復(fù)雜,發(fā)送端和接收端直接連接,系統(tǒng)緊耦合,導(dǎo)致系統(tǒng)擴(kuò)展性不好,實(shí)現(xiàn)不夠方便靈活的問(wèn)題。除了上面所描述的目的、特征和優(yōu)點(diǎn)之外,本發(fā)明還有其它的目的、特征和優(yōu)點(diǎn)。 下面將參照?qǐng)D,對(duì)本發(fā)明作進(jìn)一步詳細(xì)的說(shuō)明。
附圖用來(lái)提供對(duì)本發(fā)明的進(jìn)一步理解,構(gòu)成本申請(qǐng)的一部分,本發(fā)明的示意性實(shí)施例及其說(shuō)明用于解釋本發(fā)明,并不構(gòu)成對(duì)本發(fā)明的不當(dāng)限定。在附圖中圖1示出了本發(fā)明的系統(tǒng)結(jié)構(gòu)示意圖一;圖2示出了本發(fā)明的系統(tǒng)結(jié)構(gòu)示意圖二 ;圖3示出了本發(fā)明實(shí)施例一的流程圖;圖4示出了本發(fā)明實(shí)施例二的流程圖;圖5示出了本發(fā)明實(shí)施例三的消息發(fā)送裝置工作流程圖;圖6示出了本發(fā)明實(shí)施例三的消息接收裝置工作流程圖;以及圖7示出了本發(fā)明實(shí)施例三的交換服務(wù)器工作流程圖。
具體實(shí)施方式
以下結(jié)合附圖對(duì)本發(fā)明的實(shí)施例進(jìn)行詳細(xì)說(shuō)明,但是本發(fā)明可以由權(quán)利要求限定和覆蓋的多種不同方式實(shí)施。圖1示出了本發(fā)明的系統(tǒng)結(jié)構(gòu)示意圖一。參見(jiàn)圖1,實(shí)施本發(fā)明消息路由方法的系統(tǒng)包括消息發(fā)送裝置11,與消息發(fā)送裝置11連接的交換服務(wù)器12以及與交換服務(wù)器12 直接連接或通過(guò)網(wǎng)絡(luò)連接的多個(gè)消息接收裝置13。圖2示出了本發(fā)明的系統(tǒng)結(jié)構(gòu)示意圖二。參見(jiàn)圖2,實(shí)施本發(fā)明消息路由方法的系統(tǒng)也可以包括多個(gè)消息發(fā)送裝置11,與多個(gè)消息發(fā)送裝置11連接的交換服務(wù)器12以及與交換服務(wù)器12直接連接或通過(guò)網(wǎng)絡(luò)連接的多個(gè)消息接收裝置13。本發(fā)明消息路由方法的主要處理過(guò)程位于交換服務(wù)器12內(nèi),雖然圖1與圖2所示的系統(tǒng)結(jié)構(gòu)有所區(qū)別,但具體的消息路由方法相同,并將在以下的實(shí)施例中詳細(xì)介紹。下面結(jié)合圖3詳細(xì)說(shuō)明本發(fā)明的實(shí)施例一。圖3示出了本發(fā)明實(shí)施例的流程圖。如圖3所示,基于頻道的消息路由方法包括S10,接收消息發(fā)送裝置發(fā)送的消息,即完成消息接收步驟。其中,消息包括數(shù)據(jù)部分以及消息頭,消息頭包含消息頻道標(biāo)識(shí)信息。具體地,數(shù)據(jù)交換服務(wù)器12接收消息發(fā)送裝置11發(fā)送的消息。消息發(fā)送裝置11 在發(fā)送消息時(shí),所發(fā)送的消息不僅包括數(shù)據(jù)部分,還包括消息頭,并且消息頭包含消息頻道 fn息οS12,提取消息頻道標(biāo)識(shí)信息,將數(shù)據(jù)部分存儲(chǔ)至與消息頻道標(biāo)識(shí)信息對(duì)應(yīng)的預(yù)定的消息頻道區(qū),即實(shí)現(xiàn)提取步驟。具體地,數(shù)據(jù)交換服務(wù)器12從所接收的消息中的消息頭部分提取消息頻道標(biāo)識(shí)信息,并將該消息的數(shù)據(jù)部分存儲(chǔ)至于所提取的消息頻道標(biāo)識(shí)信息對(duì)應(yīng)的消息頻道區(qū)內(nèi)。如數(shù)據(jù)交換服務(wù)器所接收的消息Al的消息頭中提取的消息頻道標(biāo)識(shí)信息為 “SyStemS20100706”,則數(shù)據(jù)交換服務(wù)器12會(huì)將消息Al的數(shù)據(jù)部分存儲(chǔ)至數(shù)據(jù)交換服務(wù)器 12中與“systems20100706”對(duì)應(yīng)的存儲(chǔ)區(qū)內(nèi)。S14,從預(yù)定的消息頻道區(qū)提取數(shù)據(jù)部分,并按照預(yù)定消息路由方式將數(shù)據(jù)部分轉(zhuǎn)發(fā)至消息接收裝置,即完成轉(zhuǎn)發(fā)步驟。具體地,數(shù)據(jù)交換服務(wù)器12將消息的數(shù)據(jù)部分存儲(chǔ)在與消息頻道標(biāo)識(shí)信息對(duì)應(yīng)的消息存儲(chǔ)區(qū)后,按照預(yù)定的消息路由方式將數(shù)據(jù)部分發(fā)送至消息接收裝置13,可以將其只發(fā)送給一個(gè)消息接收裝置,也可將其發(fā)送給多個(gè)消息接收裝置。如數(shù)據(jù)交換服務(wù)器12將消息Al的數(shù)據(jù)部分存儲(chǔ)至與“SyStemS20100706”對(duì)應(yīng)的存儲(chǔ)區(qū)內(nèi)后,若預(yù)定的消息路由方式是“將頻道標(biāo)識(shí)為SyStemS20100706的消息頻道區(qū)內(nèi)的數(shù)據(jù)全部發(fā)送至消息接收裝置 App5與消息接收裝置App6”,則數(shù)據(jù)交換服務(wù)器12會(huì)根據(jù)該消息路由方式將頻道標(biāo)識(shí)為 “SyStemS20100706”的消息頻道區(qū)內(nèi)所有的數(shù)據(jù)轉(zhuǎn)發(fā)至消息接收裝置App5與消息接收裝置App6。預(yù)定的消息路由方式可由消息發(fā)送裝置11指定,也可由數(shù)據(jù)交換服務(wù)器12根據(jù)發(fā)送的內(nèi)容以及用戶的需求確定。在本實(shí)施例中,通過(guò)提取消息中所包含的消息頻道信息,將數(shù)據(jù)部分存儲(chǔ)至與消息頻道信息相對(duì)應(yīng)的消息頻道區(qū)內(nèi),并轉(zhuǎn)發(fā)至消息接收裝置,以實(shí)現(xiàn)消息在發(fā)送端與接收端之間的路由,即消息發(fā)送裝置與消息接收裝置不需要直接連接,且消息發(fā)送裝置在發(fā)送消息時(shí)也不需要指定接收方的IP地址,當(dāng)消息接收裝置數(shù)量增加或減少時(shí),對(duì)消息發(fā)送裝置不會(huì)產(chǎn)生較大影響,克服了現(xiàn)有技術(shù)中的數(shù)據(jù)路由方法技術(shù)實(shí)現(xiàn)復(fù)雜,發(fā)送端和接收端直接連接,系統(tǒng)緊耦合,導(dǎo)致系統(tǒng)擴(kuò)展性不好,實(shí)現(xiàn)不夠方便靈活的問(wèn)題。下面結(jié)合圖4詳細(xì)說(shuō)明本發(fā)明的實(shí)施例二。圖4示出了本發(fā)明實(shí)施例二的流程圖。與實(shí)施例一不同的是,轉(zhuǎn)發(fā)步驟S12包括S121,提取消息頻道標(biāo)識(shí)信息。S122,驗(yàn)證消息發(fā)送裝置是否具有向消息頻道標(biāo)識(shí)信息對(duì)應(yīng)的預(yù)定的消息頻道區(qū)發(fā)送消息的權(quán)限,當(dāng)消息發(fā)送裝置具有向消息頻道標(biāo)識(shí)信息對(duì)應(yīng)的預(yù)定的消息頻道區(qū)發(fā)送消息的權(quán)限時(shí),轉(zhuǎn)至步驟S123 ;否則,執(zhí)行步驟S16,放棄對(duì)該消息執(zhí)行操作。S123,將數(shù)據(jù)部分存儲(chǔ)至與消息頻道標(biāo)識(shí)信息對(duì)應(yīng)的預(yù)定的消息頻道區(qū)。即在實(shí)施例一的步驟S12中,添加驗(yàn)證消息發(fā)送裝置11是否具有向消息頻道標(biāo)識(shí)信息對(duì)應(yīng)的預(yù)定的消息頻道區(qū)發(fā)送消息的權(quán)限的步驟,以確保整個(gè)消息路由過(guò)程中數(shù)據(jù)傳輸?shù)陌踩?,防止圖1中的消息發(fā)送裝置11或者圖2中的多個(gè)消息發(fā)送裝置11中的某個(gè)消息發(fā)送裝置不具有向消息頻道標(biāo)識(shí)信息對(duì)應(yīng)的預(yù)定的消息頻道區(qū)發(fā)送消息的權(quán)限時(shí),將消息錯(cuò)誤發(fā)送至數(shù)據(jù)交換服務(wù)器12中,從而導(dǎo)致數(shù)據(jù)發(fā)送錯(cuò)誤情況的出現(xiàn)。具體地,數(shù)據(jù)交換服務(wù)器12提取消息頻道標(biāo)識(shí)信息后,數(shù)據(jù)交換服務(wù)器器12對(duì)消息發(fā)送裝置11的發(fā)送權(quán)限進(jìn)行驗(yàn)證,驗(yàn)證圖1或者圖2中發(fā)送消息的消息發(fā)送裝置11是否具有向消息頻道標(biāo)識(shí)信息對(duì)應(yīng)的預(yù)定的消息頻道區(qū)發(fā)送消息的權(quán)限,如果該消息發(fā)送裝置11具有消息發(fā)送權(quán)限,則執(zhí)行步驟S123,即執(zhí)行實(shí)施例一原來(lái)的存儲(chǔ)步驟以及之后的處理步驟S14,但是若該消息發(fā)送裝置11不具有消息發(fā)送權(quán)限,則放棄對(duì)該消息發(fā)送裝置發(fā)送的消息執(zhí)行操作,即不執(zhí)行之后的步驟S14,直接結(jié)束該消息的發(fā)送過(guò)程。例如,圖1或圖2中的數(shù)據(jù)交換服務(wù)器12接收到消息發(fā)送裝置11發(fā)送的消息A2,且消息A2的消息頭包含的消息頻道標(biāo)識(shí)信息為“ SyStemS20100706 ”,則數(shù)據(jù)交換服務(wù)器12提取消息標(biāo)識(shí)信息“SyStemS20100706”,并驗(yàn)證消息發(fā)送裝置11是否有向 “SyStemS20100706”對(duì)應(yīng)的消息頻道區(qū)發(fā)送消息的權(quán)限。如果圖1所示的消息發(fā)送裝置 11或者圖2中所示的某個(gè)消息發(fā)送裝置11沒(méi)有向“SyStemS20100706”對(duì)應(yīng)的消息頻道區(qū)發(fā)送消息的權(quán)限,則終止該消息發(fā)送裝置11發(fā)送消息的過(guò)程。如果該消息發(fā)送裝置11有向“SyStemS20100706”對(duì)應(yīng)的消息頻道區(qū)發(fā)送消息的權(quán)限,則將該消息的數(shù)據(jù)部分存儲(chǔ)至 "systems20100706"對(duì)應(yīng)的消息頻道區(qū)內(nèi)。在本實(shí)施例中,驗(yàn)證消息發(fā)送裝置11是否有向消息頻道標(biāo)識(shí)信息對(duì)應(yīng)的消息頻道區(qū)發(fā)送消息的權(quán)限,可以在數(shù)據(jù)交換服務(wù)器12中完成,或者通過(guò)與數(shù)據(jù)交換服務(wù)器12連接的頻道權(quán)限存儲(chǔ)設(shè)備進(jìn)行驗(yàn)證。具體的驗(yàn)證過(guò)程可以為將每個(gè)預(yù)定頻道區(qū)對(duì)應(yīng)的消息發(fā)送裝置的標(biāo)識(shí)信息存儲(chǔ)在數(shù)據(jù)交換服務(wù)器12或者頻道權(quán)限存儲(chǔ)設(shè)備中,在驗(yàn)證時(shí),獲取發(fā)送消息的消息發(fā)送裝置11的標(biāo)識(shí)信息,并與存儲(chǔ)的消息發(fā)送裝置的標(biāo)識(shí)信息進(jìn)行對(duì)比。 若相同,則認(rèn)為該消息發(fā)送裝置具有向該頻道區(qū)發(fā)送消息的權(quán)限;否則,則認(rèn)為該消息發(fā)送裝置不具有向該頻道區(qū)發(fā)送消息的權(quán)限。當(dāng)然,還有其他的驗(yàn)證方法,具體的驗(yàn)證方法在現(xiàn)有技術(shù)中已有較多介紹,在此不再詳細(xì)描述。在本發(fā)明的上述實(shí)施例中,預(yù)定消息路由方式包括點(diǎn)對(duì)點(diǎn)模式、訂閱模式以及廣播模式。并且,通過(guò)消息頭中包含的信息區(qū)分這三種消息路由方式。具體地,為了識(shí)別這三種預(yù)定的消息路由方式,消息頭還包括接收端標(biāo)識(shí)信息以及廣播標(biāo)識(shí)信息,在轉(zhuǎn)發(fā)步驟中通過(guò)提取接收端標(biāo)識(shí)信息以及廣播標(biāo)識(shí)信息確定預(yù)定消息路由方式,以方便地確定消息路由方式。如通過(guò)接收端標(biāo)識(shí)信息確定接收消息的消息接收裝置,通過(guò)廣播標(biāo)識(shí)信息確定消息發(fā)送的范圍,且接收端標(biāo)識(shí)信息可以為消息接收裝置的 ID (Identity,身份識(shí)別碼)或者消息接收裝置的其它標(biāo)識(shí)信息。其中,當(dāng)接收端標(biāo)識(shí)信息非空且廣播標(biāo)識(shí)信息為第一信息時(shí),預(yù)定消息路由方式為點(diǎn)對(duì)點(diǎn)模式;當(dāng)接收端標(biāo)識(shí)信息為空且廣播標(biāo)識(shí)信息為第一信息時(shí),預(yù)定消息路由方式為訂閱模式;當(dāng)接收端標(biāo)識(shí)信息為空且廣播標(biāo)識(shí)信息為第二信息時(shí),預(yù)定消息路由方式為廣播模式,如第一信息為“false”,第二信息為“true”。例如,設(shè)定消息頭為8位二進(jìn)制代碼,并設(shè)定第1位至第3位中包含消息頻道的標(biāo)識(shí)信息,第4位至第7位表示接收端標(biāo)識(shí)信息,第8位表示廣播標(biāo)識(shí)信息,當(dāng)?shù)?位為二進(jìn)制的“ 1”時(shí),可以認(rèn)為廣播標(biāo)識(shí)信息為“true”,當(dāng)?shù)?位為二進(jìn)制的“0”時(shí),可以認(rèn)為廣播標(biāo)識(shí)信息為“false”。具體的第一信息與第二信息所代表的含義可根據(jù)消息路由方式的具體應(yīng)用環(huán)境進(jìn)行選擇,在此不再詳細(xì)描述選擇規(guī)則。但為了方便描述,在本發(fā)明的實(shí)施例中, 第一信息指“false”,第二信息指“true”。采用這樣設(shè)置的方式,發(fā)送端可以很方便的指定消息接收者和消息發(fā)送的范圍。下面將詳細(xì)描述每種模式下的消息路由方式。當(dāng)預(yù)定消息路由方式為點(diǎn)對(duì)點(diǎn)模式時(shí),在執(zhí)行完消息接收步驟以及提取步驟后, 轉(zhuǎn)發(fā)步驟包括從預(yù)定的消息頻道區(qū)提取數(shù)據(jù)部分,并轉(zhuǎn)發(fā)至接收端標(biāo)識(shí)信息對(duì)應(yīng)的消息接收裝置。在點(diǎn)對(duì)點(diǎn)模式下,即使消息接收端增加新的消息接收裝置,對(duì)已有的消息接收裝置的接收端標(biāo)識(shí)信息也不會(huì)有影響,且在發(fā)送端不知道新的消息接收裝置的標(biāo)識(shí)信息的情況下,消息路由過(guò)程仍可執(zhí)行。例如,若消息發(fā)送裝置11的標(biāo)識(shí)信息為Appl,包括兩個(gè)消息接收裝置13,接收端標(biāo)識(shí)信息分別為App2和App3,且消息路由方式為點(diǎn)對(duì)點(diǎn)模式時(shí),具體的消息路由過(guò)程如下所示步驟1、消息發(fā)送裝置Appl在消息頭指定向消息頻道為“systemdO 100706”發(fā)送消息,指定消息接收者為App2和App3對(duì)應(yīng)的消息接收裝置,設(shè)置廣播標(biāo)志信息為false,表示非廣播消息。步驟2、數(shù)據(jù)交換服務(wù)器12接收到來(lái)自Appl的消息后,從消息頭提取發(fā)送端指定的消息頻道信息為“SyStemS20100706”、接收端標(biāo)識(shí)信息為App2和App3,廣播標(biāo)志信息為
false。步驟3、數(shù)據(jù)交換服務(wù)器12在頻道權(quán)限存儲(chǔ)設(shè)備驗(yàn)證Appl是否有向消息頻道 “SyStemS20100706”發(fā)送消息的權(quán)限,如果沒(méi)有權(quán)限,終止消息發(fā)送過(guò)程;如果Appl有向消息頻道“syStemS20100706”發(fā)送消息的權(quán)限,則將Appl發(fā)送的消息的數(shù)據(jù)部分存儲(chǔ)在 “systems20100706”對(duì)應(yīng)的消息頻道區(qū)。步驟4、數(shù)據(jù)交換服務(wù)器12根據(jù)所提取的接收端標(biāo)識(shí)信息,判定消息接收標(biāo)識(shí)為 App2和App3對(duì)應(yīng)的消息接收裝置,根據(jù)判定出的消息接收者形成消息路由表,其中,App2 和App3為消息路由表的接收終端。且由于接收端標(biāo)識(shí)信息非空,因此表示消息發(fā)送裝置11 指定了具體的消息接收端。步驟5、數(shù)據(jù)交換服務(wù)器12依照消息路由表將消息轉(zhuǎn)發(fā)給App2和App3對(duì)應(yīng)的消息接收裝置13。步驟6、接收端標(biāo)識(shí)信息為App2和App3的消息接收裝置13接收消息。當(dāng)預(yù)定消息路由方式為訂閱模式時(shí),執(zhí)行完消息接收步驟以及提取步驟后,轉(zhuǎn)發(fā)步驟包括從存儲(chǔ)區(qū)提取預(yù)定的消息頻道區(qū)對(duì)應(yīng)的接收端列表;從預(yù)定的消息頻道區(qū)提取數(shù)據(jù)部分,按照預(yù)定轉(zhuǎn)發(fā)次序依次轉(zhuǎn)發(fā)至接收端列表對(duì)應(yīng)的消息接收裝置。且當(dāng)存在在線的消息接收裝置時(shí),預(yù)定轉(zhuǎn)發(fā)次序包括在線的消息接收裝置對(duì)應(yīng)的接收端列表的排列次序;當(dāng)消息接收裝置均不在線時(shí),預(yù)定轉(zhuǎn)發(fā)次序包括接收端列表列出的第一個(gè)登錄的消息接收裝置。即根據(jù)消息發(fā)送裝置指定的發(fā)送范圍發(fā)送消息,且當(dāng)消息接收裝置不在線時(shí),在交換服務(wù)器中對(duì)該消息進(jìn)行保存。采用這種消息路由方式,既不占用消息發(fā)送裝置的資源,同時(shí)又確保消息發(fā)送的及時(shí)性與可靠性。在本實(shí)施例中,接收端列表既可以存儲(chǔ)于數(shù)據(jù)交換服務(wù)器12中的存儲(chǔ)區(qū)內(nèi),也可以存儲(chǔ)在單獨(dú)的存儲(chǔ)設(shè)備中,如與交換服務(wù)器12相連接的數(shù)據(jù)頻道權(quán)限存儲(chǔ)設(shè)備或者其它的存儲(chǔ)設(shè)備。例如,若消息發(fā)送裝置11的標(biāo)識(shí)為Appl,消息路由方式為訂閱模式時(shí),具體的消息路由過(guò)程如下所示步驟1、消息發(fā)送裝置Appl在消息頭指定消息頻道為“SyStemS20100706”、不指定消息接收裝置,即指定的接收端標(biāo)識(shí)信息為空,設(shè)置廣播標(biāo)志信息為“false”,表示非廣播消息。步驟2、數(shù)據(jù)交換服務(wù)器12接收到來(lái)自Appl的消息后,從消息頭提取出發(fā)送端指定的消息頻道標(biāo)識(shí)信息“SyStemS20100706”,消息接收者為空,廣播標(biāo)志信息為false。步驟3、數(shù)據(jù)交換服務(wù)器12在頻道權(quán)限存儲(chǔ)設(shè)備驗(yàn)證Appl是否有向所述消息頻道“SyStemS20100706”發(fā)送消息的權(quán)限,如果沒(méi)有權(quán)限,終止消息發(fā)送過(guò)程;如果Appl有向消息頻道“syStemS20100706”發(fā)送消息的權(quán)限,則將Appl發(fā)送的消息的數(shù)據(jù)部分存儲(chǔ)在 “systems20100706”對(duì)應(yīng)的消息頻道區(qū)。步驟4、數(shù)據(jù)交換服務(wù)器12根據(jù)步驟2提取的消息頭信息,判斷出消息接收者信息為空。步驟5、數(shù)據(jù)交換服務(wù)器12在頻道權(quán)限存儲(chǔ)設(shè)備查詢步驟2中的消息頻道信息對(duì)應(yīng)的接收端列表,例如查詢到對(duì)應(yīng)于“systems20100706”的接收端列表中包括App2、App3 和App4三個(gè)消息接收端標(biāo)識(shí),且次序?yàn)锳pp2、App3、App4。步驟6、數(shù)據(jù)交換服務(wù)器12根據(jù)步驟2提取的消息頭信息,得到該消息為非廣播消肩、ο步驟7、數(shù)據(jù)交換服務(wù)器12判斷接收端標(biāo)識(shí)信息App2、App3和App4對(duì)應(yīng)的消息接收裝置是否在線,如果App2和App3在線,則兩個(gè)在線的接收端輪流接收 “SyStemS20100706”對(duì)應(yīng)的消息頻道區(qū)內(nèi)的消息。如“SyStemS20100706”對(duì)應(yīng)的消息頻道區(qū)多個(gè)消息均選擇訂閱模式,則依次先將第一個(gè)消息選擇App2作為接收者、第二個(gè)消息選擇App3作為接收者,由于App4不在線,不會(huì)將其作為接收者,第三個(gè)消息再選擇App2,并按照所選擇的接收者的次序依次形成每個(gè)消息的路由表,其中,路由表的接收終端為每個(gè)消息對(duì)應(yīng)的接收者,然后進(jìn)入步驟9。步驟8、如果App2、App3和App4均不在線,暫時(shí)不確定消息接收端,直至App2、App3和App4對(duì)應(yīng)的消息接收裝置中的第一個(gè)登錄的接收端登錄后,將其作為消息的接收者放入路由表。假定在App2、App3和App4三個(gè)用戶均離線,此時(shí)標(biāo)識(shí)為App4首先登錄系統(tǒng),那么將App4作為接收者并將其放入路由表。步驟9、數(shù)據(jù)交換服務(wù)器12將消息轉(zhuǎn)發(fā)給路由表中的接收裝置。步驟10、消息接收裝置13是消息路由結(jié)果的接收端,執(zhí)行接收消息的任務(wù)。當(dāng)預(yù)定消息路由方式為廣播模式且存在在線的消息接收裝置時(shí),轉(zhuǎn)發(fā)步驟包括 從存儲(chǔ)區(qū)提取預(yù)定的消息頻道區(qū)對(duì)應(yīng)的接收端列表;從預(yù)定的消息頻道區(qū)提取數(shù)據(jù)部分, 分別轉(zhuǎn)發(fā)至接收端列表中在線的消息接收裝置,即根據(jù)消息發(fā)送裝置指定的發(fā)送范圍發(fā)送消息。當(dāng)預(yù)定消息路由方式為廣播模式時(shí)且存在不在線的消息接收裝置時(shí),轉(zhuǎn)發(fā)步驟包括從存儲(chǔ)區(qū)提取預(yù)定的消息頻道區(qū)對(duì)應(yīng)的接收端列表;從預(yù)定的消息頻道區(qū)提取數(shù)據(jù)部分,在離線消息接收裝置登錄時(shí)將所述數(shù)據(jù)部分轉(zhuǎn)發(fā)給它。即當(dāng)消息接收裝置不在線時(shí),在交換服務(wù)器中對(duì)該消息進(jìn)行保存。采用這種消息路由方式,既不占用消息發(fā)送裝置的資源, 同時(shí)又確保消息發(fā)送的及時(shí)性與可靠性。例如,若消息發(fā)送裝置11的標(biāo)識(shí)信息為Appl,消息路由方式為廣播模式時(shí),具體的消息路由過(guò)程如下所示步驟1、消息發(fā)送裝置Appl在消息頭指定消息頻道為“SyStemS20100706”、指定消息接收者為空,設(shè)置廣播標(biāo)志為“true”,表示廣播消息。步驟2、數(shù)據(jù)交換服務(wù)器12接收到來(lái)自Appl的消息后,從消息頭提取發(fā)送端指定的消息頻道為“syStemS20100706”、消息接收者為空,廣播標(biāo)志信息為“true”。步驟3、數(shù)據(jù)交換服務(wù)器12在頻道權(quán)限存儲(chǔ)設(shè)備驗(yàn)證Appl是否有向所述消息頻道“SyStemS20100706”發(fā)送消息的權(quán)限,如果沒(méi)有權(quán)限,終止消息發(fā)送過(guò)程;如果Appl有向消息頻道“syStemS20100706”發(fā)送消息的權(quán)限,則將Appl發(fā)送的消息的數(shù)據(jù)部分存儲(chǔ)在 “systems20100706”對(duì)應(yīng)的消息頻道區(qū)。步驟4、數(shù)據(jù)交換服務(wù)器12根據(jù)步驟2提取的消息頭信息,判斷出接收端標(biāo)識(shí)信息為空。步驟5、數(shù)據(jù)交換服務(wù)器12在頻道權(quán)限存儲(chǔ)設(shè)備查詢步驟2中的消息頻道信息對(duì)應(yīng)的接收端列表,例如查詢到對(duì)應(yīng)于“systems20100706”的接收端列表中包括App2、App3 和App4三個(gè)消息接收端標(biāo)識(shí)。步驟6、數(shù)據(jù)交換服務(wù)器12根據(jù)步驟2提取的消息頭信息,得到消息為廣播消息;步驟7、數(shù)據(jù)交換服務(wù)器12判斷接收端標(biāo)識(shí)信息App2、App3和App4對(duì)應(yīng)的消息接收裝置是否在線,如果App2和App3在線則這兩個(gè)接收端同時(shí)接收“SyStemS20100706” 對(duì)應(yīng)的消息頻道區(qū)內(nèi)的消息,并形成消息路由表,其中App2和App3為消息路由表的接收終端;由于App4不在線,在App4登錄時(shí)將所述數(shù)據(jù)部分轉(zhuǎn)發(fā)給App4。,將其作為消息的接收者放入路由表。步驟8、數(shù)據(jù)交換服務(wù)器12將消息轉(zhuǎn)發(fā)給路由表中的接收終端。步驟9、消息接收裝置13是消息路由結(jié)果的接收端,執(zhí)行接收消息的任務(wù)。在訂閱模式以及廣播模式下,當(dāng)消息接收端增加新的消息接收裝置時(shí),只需更新存儲(chǔ)的接收端列表即可,即便是不對(duì)接收端列表進(jìn)行更新,路由過(guò)程仍可執(zhí)行。
在本發(fā)明的上述實(shí)施例中采用在消息頭中添加接收端標(biāo)識(shí)信息來(lái)區(qū)別消息接收裝置,而不是采用接收端IP地址信息來(lái)區(qū)別消息接收裝置,這樣當(dāng)消息接收端增加新的消息接收裝置時(shí),就無(wú)需通知發(fā)送端更新IP地址列表,僅需通知增加新的消息接收裝置對(duì)應(yīng)的接收端標(biāo)識(shí)信息即可,甚至在訂閱模式以及廣播模式下,消息發(fā)送裝置無(wú)需更新IP地址列表,只需更新接收端列表即可。
下面結(jié)合圖5至圖7詳細(xì)描述本發(fā)明的實(shí)施例三。
其中,圖5示出了本發(fā)明實(shí)施例三的消息發(fā)送裝置工作流程圖,圖6示出了本發(fā)明實(shí)施例三的消息接收裝置工作流程圖,圖7示出了本發(fā)明實(shí)施例三的交換服務(wù)器工作流程圖。
如圖5所示,消息發(fā)送裝置11的工作流程如下所示
S501,指定消息頻道、接收者及廣播標(biāo)識(shí)。即在發(fā)送的消息的消息頭中給出消息頻道標(biāo)識(shí)信息、接收端標(biāo)識(shí)信息以及廣播標(biāo)識(shí)信息。
具體地,交換服務(wù)器12所提取的消息頭信息需要由消息發(fā)送裝置指定。且接收端標(biāo)識(shí)信息及廣播標(biāo)識(shí)信息為可選的信息,可以在發(fā)送消息時(shí)不對(duì)這兩種信息進(jìn)行指定。
S502,發(fā)送消息。
S503,結(jié)束。
如圖6所示,消息接收裝置13的工作流程如下所示
S601,啟動(dòng)監(jiān)聽(tīng)線程。
具體地,每個(gè)消息接收裝置13不斷監(jiān)聽(tīng)交換服務(wù)器12的信號(hào),等待交換服務(wù)器12 向其發(fā)送消息。
S602,接收消息。
S603,結(jié)束。
如圖7所示,交換服務(wù)器12的工作流程如下所示
S701,接收消息。
S702,提取消息頻道、接收者和廣播標(biāo)識(shí)。即從發(fā)送的消息的消息頭中提取消息頻道標(biāo)識(shí)信息、接收端標(biāo)識(shí)信息以及廣播標(biāo)識(shí)信息。
S703,驗(yàn)證頻道權(quán)限。若具有發(fā)送權(quán)限,轉(zhuǎn)至步驟S704,否則轉(zhuǎn)至步驟S711。即驗(yàn)證發(fā)送消息的消息發(fā)送裝置是否具有向消息頭中指定的消息頻道發(fā)送消息的權(quán)限,若具有權(quán)限,則轉(zhuǎn)至步驟S704,若不具有權(quán)限,則轉(zhuǎn)至步驟S711。
S704,接收者是否為空。為空則轉(zhuǎn)至步驟S705,否則轉(zhuǎn)至步驟S706。即判斷接收端標(biāo)識(shí)信息是否為空,為空則意味著沒(méi)有指定消息接收裝置,不為空則意味著已指定具體的消息接收裝置,且若消息接收端標(biāo)識(shí)消息為空則轉(zhuǎn)至步驟S705,否則轉(zhuǎn)至步驟S706。
S705,獲取消息頻道對(duì)應(yīng)的接收端列表。即在不指定消息接收裝置時(shí),提取該消息頻道信息對(duì)應(yīng)的接收端列表,轉(zhuǎn)至步驟S707。
S706,將接收者列表作為路由表中的消息接收端。即當(dāng)消息發(fā)送裝置指定消息接收裝置時(shí),將消息發(fā)送裝置中指定的消息接收裝置的接收端標(biāo)識(shí)信息形成接收者列表,并作為路由表中的消息接收端,轉(zhuǎn)至步驟S710。
S707,判斷是否為廣播消息。是則轉(zhuǎn)至步驟S708,否則轉(zhuǎn)至步驟S709。即判斷接收的消息的消息頭中是否包含廣播標(biāo)識(shí)信息,若廣播標(biāo)識(shí)信息為true,則轉(zhuǎn)至步驟S708,若廣播標(biāo)識(shí)信息為false,則轉(zhuǎn)至步驟S709。
S708,將接收端列表中所有的接收端標(biāo)識(shí)信息作為路由表中的消息接收端。即接收的消息的消息頭中包含廣播標(biāo)識(shí)信息時(shí),將接收端列表中所有的接收端標(biāo)識(shí)信息作為為路由表中的消息接收端。
S709,將接收端列表中的一個(gè)接收端標(biāo)識(shí)信息作為路由表中的消息接收端。即接收的消息的消息頭中不包含廣播標(biāo)識(shí)信息時(shí),將接收端列表中的其中一個(gè)接收端標(biāo)識(shí)信息作為為路由表中的消息接收端。具體的實(shí)現(xiàn)方法在訂閱模式中已有詳細(xì)介紹,在此不再詳細(xì)描述。
S710,向接收裝置發(fā)送消息。根據(jù)之前的判定結(jié)果,按照預(yù)定的方式發(fā)送消息。
S711,結(jié)束。
從圖5至圖7中可以看出,圖5所示的流程圖、圖7中的步驟S701、步驟S702、步驟 S703實(shí)質(zhì)上相當(dāng)于圖3與圖4中的步驟SlO與步驟S12。圖7中的步驟S704至步驟S711 與圖6所示的流程圖實(shí)質(zhì)上相當(dāng)于步驟S14的處理過(guò)程。
同時(shí),從圖5至圖7中也可以看出,實(shí)施例三中各個(gè)裝置的工作流程實(shí)質(zhì)上是本發(fā)明的實(shí)施二中介紹的各個(gè)模式下的消息路由過(guò)程。例如,執(zhí)行步驟S701、S702、S703、 S704、S706與S710的過(guò)程就是在執(zhí)行點(diǎn)對(duì)點(diǎn)模式的消息路由過(guò)程;執(zhí)行步驟S701、S702、 S703、S704、S705、S707、S709與S710的過(guò)程就是在執(zhí)行訂閱模式的消息路由過(guò)程;執(zhí)行步驟S701、S702、S703、S704、S705、S707、S708與S710的過(guò)程就是在執(zhí)行廣播模式的消息路由過(guò)程。
從以上的描述中,可以看出,本發(fā)明上述的實(shí)施例實(shí)現(xiàn)了如下技術(shù)效果消息發(fā)送裝置與消息接收裝置不需要直接連接,且消息發(fā)送裝置在發(fā)送消息時(shí)也不需要指定接收方的IP地址,當(dāng)消息接收裝置數(shù)量增加或減少時(shí),對(duì)消息發(fā)送裝置不會(huì)產(chǎn)生較大影響,克服了現(xiàn)有技術(shù)中的數(shù)據(jù)路由方法技術(shù)實(shí)現(xiàn)復(fù)雜,發(fā)送端和接收端直接連接,系統(tǒng)緊耦合,導(dǎo)致系統(tǒng)擴(kuò)展性不好,實(shí)現(xiàn)不夠方便靈活的問(wèn)題。
以上所述僅為本發(fā)明的優(yōu)選實(shí)施例而已,并不用于限制本發(fā)明,對(duì)于本領(lǐng)域的技術(shù)人員來(lái)說(shuō),本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種基于頻道的消息路由方法,其特征在于,包括消息接收步驟,接收消息發(fā)送裝置發(fā)送的消息,其中,所述消息包括數(shù)據(jù)部分以及消息頭,消息頭包含消息頻道標(biāo)識(shí)信息;提取步驟,提取所述消息頻道標(biāo)識(shí)信息,將所述數(shù)據(jù)部分存儲(chǔ)至與所述消息頻道標(biāo)識(shí)信息對(duì)應(yīng)的預(yù)定的消息頻道區(qū);轉(zhuǎn)發(fā)步驟,從預(yù)定的消息頻道區(qū)提取所述數(shù)據(jù)部分,并按照預(yù)定消息路由方式將所述數(shù)據(jù)部分轉(zhuǎn)發(fā)至消息接收裝置。
2.根據(jù)權(quán)利要求1所述的消息路由方法,其特征在于,所述提取步驟還包括提取所述消息頻道標(biāo)識(shí)信息后,驗(yàn)證所述消息發(fā)送裝置是否具有向所述消息頻道標(biāo)識(shí)信息對(duì)應(yīng)的預(yù)定的消息頻道區(qū)發(fā)送消息的權(quán)限;當(dāng)所述消息發(fā)送裝置具有向所述消息頻道標(biāo)識(shí)信息對(duì)應(yīng)的預(yù)定的消息頻道區(qū)發(fā)送消息的權(quán)限時(shí),將所述數(shù)據(jù)部分存儲(chǔ)至與所述消息頻道標(biāo)識(shí)信息對(duì)應(yīng)的預(yù)定的消息頻道區(qū);當(dāng)所述消息發(fā)送裝置不具有發(fā)送消息的權(quán)限時(shí),放棄對(duì)所述消息執(zhí)行操作。
3.根據(jù)權(quán)利要求2所述的消息路由方法,其特征在于,所述消息頭還包括接收端標(biāo)識(shí)信息以及廣播標(biāo)識(shí)信息,所述預(yù)定消息路由方式包括點(diǎn)對(duì)點(diǎn)模式、訂閱模式以及廣播模式, 在所述轉(zhuǎn)發(fā)步驟中通過(guò)提取所述接收端標(biāo)識(shí)信息以及所述廣播標(biāo)識(shí)信息確定所述預(yù)定消息路由方式,其中,當(dāng)所述接收端標(biāo)識(shí)信息非空且廣播標(biāo)識(shí)信息為第一信息時(shí),所述預(yù)定消息路由方式為點(diǎn)對(duì)點(diǎn)模式;當(dāng)所述接收端標(biāo)識(shí)信息為空且廣播標(biāo)識(shí)信息為第一信息時(shí),所述預(yù)定消息路由方式為訂閱模式;當(dāng)所述接收端標(biāo)識(shí)信息為空且廣播標(biāo)識(shí)信息為第二信息時(shí),所述預(yù)定消息路由方式為廣播模式。
4.根據(jù)權(quán)利要求3所述的消息路由方法,其特征在于,當(dāng)預(yù)定消息路由方式為所述點(diǎn)對(duì)點(diǎn)模式時(shí),所述轉(zhuǎn)發(fā)步驟包括從預(yù)定的消息頻道區(qū)提取所述數(shù)據(jù)部分,并轉(zhuǎn)發(fā)至所述接收端標(biāo)識(shí)信息對(duì)應(yīng)的消息接收裝置。
5.根據(jù)權(quán)利要求3所述的消息路由方法,其特征在于,當(dāng)預(yù)定消息路由方式為所述訂閱模式時(shí),所述轉(zhuǎn)發(fā)步驟包括從存儲(chǔ)區(qū)提取所述預(yù)定的消息頻道區(qū)對(duì)應(yīng)的接收端列表;從預(yù)定的消息頻道區(qū)提取所述數(shù)據(jù)部分,按照預(yù)定轉(zhuǎn)發(fā)次序依次轉(zhuǎn)發(fā)至所述接收端列表對(duì)應(yīng)的消息接收裝置。
6.根據(jù)權(quán)利要求5所述的消息路由方法,其特征在于,當(dāng)存在在線的所述消息接收裝置時(shí),所述預(yù)定轉(zhuǎn)發(fā)次序包括在線的所述消息接收裝置對(duì)應(yīng)的接收端列表的排列次序。
7.根據(jù)權(quán)利要求5所述的消息路由方法,其特征在于,當(dāng)所述消息接收裝置均不在線時(shí),所述預(yù)定轉(zhuǎn)發(fā)次序包括所述接收端列表列出的第一個(gè)登錄的消息接收裝置。
8.根據(jù)權(quán)利要求3所述的消息路由方法,其特征在于,當(dāng)所述預(yù)定消息路由方式為廣播模式且存在在線的所述消息接收裝置時(shí),所述轉(zhuǎn)發(fā)步驟包括 從存儲(chǔ)區(qū)提取所述預(yù)定的消息頻道區(qū)對(duì)應(yīng)的接收端列表;從預(yù)定的消息頻道區(qū)提取所述數(shù)據(jù)部分,分別轉(zhuǎn)發(fā)至所述接收端列表對(duì)應(yīng)的在線的消息接收裝置。
9.根據(jù)權(quán)利要求3所述的消息路由方法,其特征在于,當(dāng)所述預(yù)定消息路由方式為廣播模式且存在不在線的所述消息接收裝置時(shí),所述轉(zhuǎn)發(fā)步驟包括 從存儲(chǔ)區(qū)提取所述預(yù)定的消息頻道區(qū)對(duì)應(yīng)的接收端列表;從預(yù)定的消息頻道區(qū)提取所述數(shù)據(jù)部分,在所述不在線的消息接收裝置登錄時(shí)將所述數(shù)據(jù)部分轉(zhuǎn)發(fā)給該裝置。
全文摘要
本發(fā)明提供了一種基于頻道的消息路由方法,包括消息接收步驟,接收消息發(fā)送裝置發(fā)送的消息,其中,消息包括數(shù)據(jù)部分以及消息頭,消息頭包含消息頻道標(biāo)識(shí)信息;提取步驟,提取消息頻道標(biāo)識(shí)信息,將數(shù)據(jù)部分存儲(chǔ)至與消息頻道標(biāo)識(shí)信息對(duì)應(yīng)的預(yù)定的消息頻道區(qū);轉(zhuǎn)發(fā)步驟,從預(yù)定的消息頻道區(qū)提取數(shù)據(jù)部分,并按照預(yù)定消息路由方式將數(shù)據(jù)部分轉(zhuǎn)發(fā)至消息接收裝置。在本發(fā)明中,消息發(fā)送裝置與消息接收裝置不需要直接連接,當(dāng)消息接收裝置數(shù)量增加時(shí),對(duì)消息發(fā)送裝置不會(huì)產(chǎn)生較大影響,克服了現(xiàn)有技術(shù)中的數(shù)據(jù)路由方法發(fā)送端和接收端直接連接,系統(tǒng)緊耦合,導(dǎo)致系統(tǒng)擴(kuò)展性不好,實(shí)現(xiàn)不夠方便靈活的問(wèn)題。
文檔編號(hào)H04L12/56GK102546354SQ201010579769
公開(kāi)日2012年7月4日 申請(qǐng)日期2010年12月8日 優(yōu)先權(quán)日2010年12月8日
發(fā)明者樂(lè)以長(zhǎng), 張百春, 高超霖 申請(qǐng)人:北京大學(xué), 北大方正集團(tuán)有限公司, 方正國(guó)際軟件(北京)有限公司