亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

即時(shí)通訊消息的傳輸方法及裝置與流程

文檔序號(hào):11138693閱讀:451來(lái)源:國(guó)知局
即時(shí)通訊消息的傳輸方法及裝置與制造工藝

本發(fā)明涉及通訊技術(shù)領(lǐng)域,具體而言,本發(fā)明涉及一種即時(shí)通訊消息的傳輸方法及裝置。



背景技術(shù):

隨著科技的發(fā)展和科技的進(jìn)步,智能手機(jī)、平板電腦、臺(tái)式電腦、筆記本電腦和二合一電腦等終端設(shè)備,或已廣泛普及,或引領(lǐng)發(fā)展潮流正在普及中。

隨著即時(shí)通信技術(shù)的飛速發(fā)展,在這些終端設(shè)備中通常安裝有IM(Instant Messaging即時(shí)通訊)軟件,人們利用IM軟件以收發(fā)即時(shí)通訊消息的形式在私人朋友之間或企業(yè)內(nèi)部進(jìn)行溝通交流,使得IM軟件成為工作生活中不可缺少的工具。

目前,即時(shí)通訊消息的傳輸方法,通常包括:終端設(shè)備與IM服務(wù)器建立連接后,將即時(shí)通訊消息以數(shù)據(jù)包的形式向IM服務(wù)器進(jìn)行發(fā)送;IM服務(wù)器將即時(shí)通訊消息以數(shù)據(jù)包的形式向終端設(shè)備進(jìn)行發(fā)送。即時(shí)通訊消息本身的封裝格式通常符合TCP(Transmission Control Protocol,傳輸控制協(xié)議)、UDP(User Datagram Protocol,用戶數(shù)據(jù)報(bào)協(xié)議)或HTTP(Hyper Text Transfer Protocol,超文本傳送協(xié)議)的格式。

然而,本發(fā)明的發(fā)明人發(fā)現(xiàn),一方面由于網(wǎng)絡(luò)的安全威脅越來(lái)越多,種類(lèi)也五花八門(mén),現(xiàn)有的IM消息的傳輸過(guò)程容易遭受惡意程序的攻擊,傳輸?shù)陌踩暂^低。IM消息需要更為安全可靠的傳輸方式來(lái)抵擋外部的安全威脅。

另一方面,現(xiàn)有的IM消息的傳輸方法已經(jīng)較為成熟。如果重新開(kāi)發(fā)全新的更為安全的IM消息的傳輸方案,很可能需要較大的開(kāi)發(fā)測(cè)試成本,資源消耗較大;而且,與現(xiàn)有的IM消息的傳輸方法很可能不兼容,容易導(dǎo)致需要服務(wù)方更新改造IM服務(wù)器,成本巨大。

因此,需要一種成本低廉且更為安全的即時(shí)通訊消息的傳輸方案。



技術(shù)實(shí)現(xiàn)要素:

本發(fā)明針對(duì)現(xiàn)有方式的缺點(diǎn),提出一種即時(shí)通訊消息的傳輸方法及裝置,用以解決現(xiàn)有技術(shù)存在傳輸即時(shí)通訊消息安全性較差、成本較高或者兼容性較差的問(wèn)題,以在提升即時(shí)通訊消息傳輸?shù)陌踩缘幕A(chǔ)上,降低成本提升兼容性。

本發(fā)明的實(shí)施例根據(jù)一個(gè)方面,提供了一種即時(shí)通訊消息的傳輸方法,包括:

接收上行數(shù)據(jù)包;

當(dāng)檢測(cè)出上行數(shù)據(jù)包的包頭不符合安全層協(xié)議的格式時(shí),檢測(cè)所述上行數(shù)據(jù)包的包頭是否符合安全擴(kuò)展協(xié)議的格式;

當(dāng)檢測(cè)出所述上行數(shù)據(jù)包的包頭符合安全擴(kuò)展協(xié)議的格式時(shí),檢測(cè)所述上行數(shù)據(jù)包的類(lèi)型;

當(dāng)檢測(cè)出所述上行數(shù)據(jù)包的類(lèi)型為即時(shí)通訊消息傳輸請(qǐng)求時(shí),從所述上行數(shù)據(jù)包的包體中解析出即時(shí)通訊消息,向?qū)?yīng)的即時(shí)通訊服務(wù)器發(fā)送。

本發(fā)明的實(shí)施例根據(jù)另一個(gè)方面,還提供了一種即時(shí)通訊消息的傳輸裝置,包括:

數(shù)據(jù)收發(fā)模塊,用于接收上行數(shù)據(jù)包;以及將接收到的即時(shí)通訊消息向?qū)?yīng)的即時(shí)通訊服務(wù)器發(fā)送;

協(xié)議格式檢測(cè)模塊,用于當(dāng)檢測(cè)出所述數(shù)據(jù)收發(fā)模塊接收的上行數(shù)據(jù)包的包頭不符合安全層協(xié)議的格式時(shí),檢測(cè)所述上行數(shù)據(jù)包的包頭是否符合安全擴(kuò)展協(xié)議的格式;當(dāng)檢測(cè)出所述上行數(shù)據(jù)包的包頭符合安全擴(kuò)展協(xié)議的格式時(shí),發(fā)送類(lèi)型檢測(cè)通知;

數(shù)據(jù)包類(lèi)型檢測(cè)模塊,用于接收到所述類(lèi)型檢測(cè)通知后,檢測(cè)所述上行數(shù)據(jù)包的類(lèi)型;當(dāng)檢測(cè)出所述上行數(shù)據(jù)包的類(lèi)型為所述即時(shí)通訊消息傳輸請(qǐng)求時(shí),從中解析出所述即時(shí)通訊消息進(jìn)行轉(zhuǎn)發(fā)。

本發(fā)明實(shí)施例中,當(dāng)檢測(cè)出上行數(shù)據(jù)包的包頭符合安全擴(kuò)展協(xié)議的格式時(shí),說(shuō)明上行數(shù)據(jù)包中待傳輸至即時(shí)通訊服務(wù)器的數(shù)據(jù),被安全擴(kuò)展協(xié)議額外封裝,即使惡意程序非法獲取了上行數(shù)據(jù)包并能夠破解現(xiàn)有的應(yīng)用協(xié)議,也無(wú)法識(shí)別額外增加的安全擴(kuò)展協(xié)議,可以大大降低上行的即時(shí)通訊消息的泄露的幾率,從而提升上行的即時(shí)通訊消息的安全性。而且,從上行數(shù)據(jù)包的包體中解析出即時(shí)通訊消息,向即時(shí)通訊服務(wù)器發(fā)送;現(xiàn)有的即時(shí)通訊服務(wù)器仍然可以根據(jù)現(xiàn)有方法接收并處理即時(shí)通訊消息,無(wú)需改造或更新即時(shí)通訊服務(wù)器,在提升即時(shí)通訊消息安全性的基礎(chǔ)上大大節(jié)省了成本;此外,本發(fā)明實(shí)施例兼容于現(xiàn)有的即時(shí)通訊服務(wù)器,適用范圍較大。

本發(fā)明附加的方面和優(yōu)點(diǎn)將在下面的描述中部分給出,這些將從下面的描述中變得明顯,或通過(guò)本發(fā)明的實(shí)踐了解到。

附圖說(shuō)明

本發(fā)明上述的和/或附加的方面和優(yōu)點(diǎn)從下面結(jié)合附圖對(duì)實(shí)施例的描述中將變得明顯和容易理解,其中:

圖1為本發(fā)明實(shí)施例的即時(shí)通訊消息的傳輸系統(tǒng)的架構(gòu)示意圖;

圖2為本發(fā)明實(shí)施例的一種即時(shí)通訊消息的傳輸方法的流程示意圖;

圖3a為本發(fā)明實(shí)施例的另一種即時(shí)通訊消息的傳輸方法的流程示意圖;

圖3b為本發(fā)明實(shí)施例的符合安全擴(kuò)展協(xié)議的格式的數(shù)據(jù)包的一個(gè)實(shí)例的示意圖;

圖4為本發(fā)明實(shí)施例的IM消息的傳輸裝置的內(nèi)部結(jié)構(gòu)的框架示意圖。

具體實(shí)施方式

下面詳細(xì)描述本發(fā)明的實(shí)施例,所述實(shí)施例的示例在附圖中示出,其中自始至終相同或類(lèi)似的標(biāo)號(hào)表示相同或類(lèi)似的元件或具有相同或類(lèi)似功能的元件。下面通過(guò)參考附圖描述的實(shí)施例是示例性的,僅用于解釋本發(fā)明,而不能解釋為對(duì)本發(fā)明的限制。

本技術(shù)領(lǐng)域技術(shù)人員可以理解,除非特意聲明,這里使用的單數(shù)形式“一”、“一個(gè)”、“所述”和“該”也可包括復(fù)數(shù)形式。應(yīng)該進(jìn)一步理解的是,本發(fā)明的說(shuō)明書(shū)中使用的措辭“包括”是指存在所述特征、整數(shù)、步驟、操作、元件和/或組件,但是并不排除存在或添加一個(gè)或多個(gè)其他特征、整數(shù)、步驟、操作、元件、組件和/或它們的組。應(yīng)該理解,當(dāng)我們稱元件被“連接”或“耦接”到另一元件時(shí),它可以直接連接或耦接到其他元件,或者也可以存在中間元件。此外,這里使用的“連接”或“耦接”可以包括無(wú)線連接或無(wú)線耦接。這里使用的措辭“和/或”包括一個(gè)或更多個(gè)相關(guān)聯(lián)的列出項(xiàng)的全部或任一單元和全部組合。

本技術(shù)領(lǐng)域技術(shù)人員可以理解,除非另外定義,這里使用的所有術(shù)語(yǔ)(包括技術(shù)術(shù)語(yǔ)和科學(xué)術(shù)語(yǔ)),具有與本發(fā)明所屬領(lǐng)域中的普通技術(shù)人員的一般理解相同的意義。還應(yīng)該理解的是,諸如通用字典中定義的那些術(shù)語(yǔ),應(yīng)該被理解為具有與現(xiàn)有技術(shù)的上下文中的意義一致的意義,并且除非像這里一樣被特定定義,否則不會(huì)用理想化或過(guò)于正式的含義來(lái)解釋。

本技術(shù)領(lǐng)域技術(shù)人員可以理解,這里所使用的“終端”、“終端設(shè)備”既包括無(wú)線信號(hào)接收器的設(shè)備,其僅具備無(wú)發(fā)射能力的無(wú)線信號(hào)接收器的設(shè)備,又包括接收和發(fā)射硬件的設(shè)備,其具有能夠在雙向通信鏈路上,進(jìn)行雙向通信的接收和發(fā)射硬件的設(shè)備。這種設(shè)備可以包括:蜂窩或其他通信設(shè)備,其具有單線路顯示器或多線路顯示器或沒(méi)有多線路顯示器的蜂窩或其他通信設(shè)備;PCS(Personal Communications Service,個(gè)人通信系統(tǒng)),其可以組合語(yǔ)音、數(shù)據(jù)處理、傳真和/或數(shù)據(jù)通信能力;PDA(Personal Digital Assistant,個(gè)人數(shù)字助理),其可以包括射頻接收器、尋呼機(jī)、互聯(lián)網(wǎng)/內(nèi)聯(lián)網(wǎng)訪問(wèn)、網(wǎng)絡(luò)瀏覽器、記事本、日歷和/或GPS(Global Positioning System,全球定位系統(tǒng))接收器;常規(guī)膝上型和/或掌上型計(jì)算機(jī)或其他設(shè)備,其具有和/或包括射頻接收器的常規(guī)膝上型和/或掌上型計(jì)算機(jī)或其他設(shè)備。這里所使用的“終端”、“終端設(shè)備”可以是便攜式、可運(yùn)輸、安裝在交通工具(航空、海運(yùn)和/或陸地)中的,或者適合于和/或配置為在本地運(yùn)行,和/或以分布形式,運(yùn)行在地球和/或空間的任何其他位置運(yùn)行。這里所使用的“終端”、“終端設(shè)備”還可以是通信終端、上網(wǎng)終端、音樂(lè)/視頻播放終端,例如可以是PDA、MID(Mobile Internet Device,移動(dòng)互聯(lián)網(wǎng)設(shè)備)和/或具有音樂(lè)/視頻播放功能的移動(dòng)電話,也可以是智能電視、機(jī)頂盒等設(shè)備。

本發(fā)明的發(fā)明人經(jīng)過(guò)研究發(fā)現(xiàn),現(xiàn)有的IM(Instant Messaging即時(shí)通訊)服務(wù)器根據(jù)接收處理的IM消息的不同協(xié)議格式,劃分為支持不同協(xié)議的IM服務(wù)器,例如分別支持TCP、UDP和HTTP格式的IM服務(wù)器。若使用現(xiàn)有的安全層協(xié)議,例如TLS(Transport Layer Security,傳輸層安全)協(xié)議,直接對(duì)TCP、UDP或HTTP格式的IM消息進(jìn)行封裝后向IM服務(wù)器傳輸,雖然可以增加IM消息的傳輸?shù)陌踩裕切枰诿總€(gè)IM服務(wù)器上增加專門(mén)解析TLS協(xié)議、且從TLS格式數(shù)據(jù)包中解析出IM消息的裝置;也就是說(shuō),需要對(duì)每個(gè)IM服務(wù)器進(jìn)行更新改造,導(dǎo)致IM服務(wù)器結(jié)構(gòu)復(fù)雜化;造成IM服務(wù)器的更新改造和維護(hù)成本高昂。同時(shí),對(duì)現(xiàn)有的IM服務(wù)器不兼容,適用性較差。

本發(fā)明的發(fā)明人考慮到,可以在現(xiàn)有的終端設(shè)備和IM服務(wù)器之間增設(shè)即時(shí)通訊消息的傳輸裝置,并開(kāi)發(fā)一種新的安全擴(kuò)展協(xié)議對(duì)現(xiàn)有的TCP、UDP或HTTP格式的IM消息的進(jìn)行封裝;在終端設(shè)備與該傳輸裝置之間使用符合安全擴(kuò)展協(xié)議的格式的數(shù)據(jù)包進(jìn)行通信,在該傳輸裝置與IM服務(wù)器之間仍然保持現(xiàn)有的IM消息的傳輸方式。

基于上述考慮,本發(fā)明實(shí)施例中,即時(shí)通訊消息的傳輸裝置接收終端設(shè)備發(fā)送的上行數(shù)據(jù)包;當(dāng)檢測(cè)出上行數(shù)據(jù)包的包頭不符合安全層協(xié)議的格式時(shí),檢測(cè)上行數(shù)據(jù)包的包頭是否符合安全擴(kuò)展協(xié)議的格式;當(dāng)檢測(cè)出上行數(shù)據(jù)包的包頭符合安全擴(kuò)展協(xié)議的格式時(shí),檢測(cè)上行數(shù)據(jù)包的類(lèi)型;當(dāng)檢測(cè)出上行數(shù)據(jù)包的類(lèi)型為即時(shí)通訊消息傳輸請(qǐng)求時(shí),從上行數(shù)據(jù)包的包體中解析出即時(shí)通訊消息,向?qū)?yīng)的即時(shí)通訊服務(wù)器發(fā)送。可見(jiàn),本發(fā)明實(shí)施例中,當(dāng)檢測(cè)出上行數(shù)據(jù)包的包頭符合安全擴(kuò)展協(xié)議的格式時(shí),說(shuō)明上行數(shù)據(jù)包中待傳輸至即時(shí)通訊服務(wù)器的數(shù)據(jù),被安全擴(kuò)展協(xié)議額外封裝,即使惡意程序非法獲取了即時(shí)通訊消息并能夠破解現(xiàn)有的格式協(xié)議,也無(wú)法識(shí)別額外增加的安全擴(kuò)展協(xié)議,可以防止即時(shí)通訊消息的泄露,從而提升即時(shí)通訊消息的安全性。而且,由即時(shí)通訊消息的傳輸裝置從上行數(shù)據(jù)包的包體中解析出即時(shí)通訊消息,向即時(shí)通訊服務(wù)器發(fā)送;現(xiàn)有的即時(shí)通訊服務(wù)器仍然根據(jù)現(xiàn)有方法接收處理即時(shí)通訊消息即可,無(wú)需改造更新即時(shí)通訊服務(wù)器,在提升即時(shí)通訊消息安全性的基礎(chǔ)上大大節(jié)省了成本;此外,本發(fā)明實(shí)施例兼容于現(xiàn)有的即時(shí)通訊服務(wù)器,適用范圍較大。

下面結(jié)合附圖具體介紹本發(fā)明實(shí)施例的技術(shù)方案。

本發(fā)明實(shí)施例的IM消息的傳輸系統(tǒng)的架構(gòu)示意圖如圖1所示,包括:終端設(shè)備、IM消息的傳輸裝置和IM服務(wù)器。

其中,移動(dòng)終端可以是多個(gè)移動(dòng)終端。移動(dòng)終端是諸如智能手機(jī)、平板電腦、電子閱讀器或PDA(Personal Digital Assistant,個(gè)人數(shù)據(jù)助手)等具有網(wǎng)絡(luò)通訊功能且安裝有IM客戶端的終端。每個(gè)終端設(shè)備中安裝有IM客戶端,可以無(wú)線方式接入網(wǎng)絡(luò)。

較佳地,終端設(shè)備通過(guò)移動(dòng)通信網(wǎng)絡(luò)或無(wú)線局域網(wǎng)接入互聯(lián)網(wǎng)。

例如,移動(dòng)終端中可以包括WiFi(Wireless Fidelity,無(wú)線保真)模塊,可以通過(guò)WiFi局域網(wǎng)接入互聯(lián)網(wǎng)。

移動(dòng)終端可以包括移動(dòng)通信模塊,可以通過(guò)移動(dòng)通信網(wǎng)絡(luò)接入互聯(lián)網(wǎng)。移動(dòng)通信網(wǎng)絡(luò)可以至少包括下述網(wǎng)絡(luò)之一:GRPS(General Packet Radio Service,通用分組無(wú)線服務(wù))網(wǎng)絡(luò)、3G(3rd-Generation wireless telephone technology,第三代無(wú)線電話技術(shù))網(wǎng)絡(luò)、LTE(Long Term Evolution,長(zhǎng)期演進(jìn))網(wǎng)絡(luò)。

IM消息的傳輸裝置通過(guò)有線的方式接入網(wǎng)絡(luò)。例如,IM消息的傳輸裝置通過(guò)光纖接入互聯(lián)網(wǎng)。

IM服務(wù)器通過(guò)有線的方式接入網(wǎng)絡(luò)。例如,IM消息的傳輸裝置通過(guò)IM服務(wù)器接入互聯(lián)網(wǎng)。

本發(fā)明實(shí)施例中,可以根據(jù)實(shí)驗(yàn)數(shù)據(jù)、歷史數(shù)據(jù)、經(jīng)驗(yàn)數(shù)據(jù)和/或?qū)嶋H情況,來(lái)部署至少一個(gè)IM消息的傳輸裝置。

較佳地,當(dāng)IM服務(wù)器劃分為支持TCP(Transmission Control Protocol,傳輸控制協(xié)議)的IM服務(wù)器、支持UDP(User Datagram Protocol,用戶數(shù)據(jù)報(bào)協(xié)議)的IM服務(wù)器、和支持HTTP(Hyper Text Transfer Protocol,超文本傳送協(xié)議)的服務(wù)器時(shí),可以部署三個(gè)IM消息的傳輸裝置,分別與TCP的IM服務(wù)器、支持UDP的IM服務(wù)器、和支持HTTP的服務(wù)器相連接。

進(jìn)一步,當(dāng)支持一種協(xié)議的IM服務(wù)器為多個(gè)時(shí),可以為支持該協(xié)議的多個(gè)IM服務(wù)器部署兩個(gè)以上IM消息的傳輸裝置。

因此,本發(fā)明實(shí)施例中的IM消息的傳輸裝置的部署方式,十分靈活,IM消息的傳輸系統(tǒng)的架構(gòu)具有靈活的伸縮性;既可以充分滿足IM消息傳輸?shù)臄?shù)據(jù)吞吐量的需求,保證用戶使用IM消息時(shí)得到流暢的體驗(yàn);又可以為不同的IM服務(wù)器所屬的服務(wù)方提供多種部署方式,滿足服務(wù)方的需求。

更優(yōu)的,本發(fā)明實(shí)施例中的IM消息的傳輸裝置可以設(shè)置為多種硬件實(shí)體。例如,IM消息的傳輸裝置具體可以設(shè)置為一個(gè)獨(dú)立的服務(wù)器、一個(gè)獨(dú)立的機(jī)架設(shè)備、或者一個(gè)可插拔的板卡等等。

此外,本發(fā)明實(shí)施例中的IM消息的傳輸裝置的部署的地點(diǎn)也非常靈活。例如,IM消息的傳輸裝置具體可以安裝在遠(yuǎn)離終端設(shè)備與IM服務(wù)器的獨(dú)立的機(jī)房中,也可以與IM服務(wù)器安裝在同一個(gè)機(jī)房中。

為了便于理解,下面以一個(gè)IM消息的傳輸裝置為例,介紹本發(fā)明實(shí)施例提供的一種IM消息的傳輸方法,該方法的流程示意圖如圖2所示,包括下述步驟:

S201:接收終端設(shè)備發(fā)送的上行數(shù)據(jù)包。

本發(fā)明實(shí)施例中,包含二層封裝的上行數(shù)據(jù)包和三層封裝的上行數(shù)據(jù)包。

其中,對(duì)于二層封裝的上行數(shù)據(jù)包,第一層(外層)為上行數(shù)據(jù)包,符合安全擴(kuò)展協(xié)議的格式;第二層(內(nèi)層)可以為作為上行數(shù)據(jù)包的包體的現(xiàn)有IM消息,現(xiàn)有IM消息具體是符合應(yīng)用協(xié)議格式,例如TCP、UDP或HTTP的格式的數(shù)據(jù)包;第二層(內(nèi)層)可以設(shè)置為空。

符合安全擴(kuò)展協(xié)議的格式的上行數(shù)據(jù)包的包頭中包括消息類(lèi)型字段。進(jìn)一步,該上行數(shù)據(jù)包的包頭中還包括:APP(Application,應(yīng)用)類(lèi)型字段、消息長(zhǎng)度字段、IM服務(wù)器地址字段、和應(yīng)用協(xié)議字段。其中,IM服務(wù)器地址字段包括IM服務(wù)器IP地址字段和IM服務(wù)器端口字段。

終端設(shè)備與IM消息的傳輸裝置建立連接后,生成符合安全擴(kuò)展協(xié)議的格式的作為IM服務(wù)器地址獲取請(qǐng)求的上行數(shù)據(jù)包后,向IM消息的傳輸裝置發(fā)送。

具體地,終端設(shè)備對(duì)符合安全擴(kuò)展協(xié)議的格式的上行數(shù)據(jù)包中的消息類(lèi)型字段進(jìn)行設(shè)置,將其它字段和包體都設(shè)置為空,生成作為IM服務(wù)器地址獲取請(qǐng)求的上行數(shù)據(jù)包。較佳地,對(duì)符合安全擴(kuò)展協(xié)議的格式的上行數(shù)據(jù)包中的APP類(lèi)型字段、消息長(zhǎng)度字段和消息類(lèi)型字段進(jìn)行設(shè)置,將其它字段和包體都設(shè)置為空,生成作為IM服務(wù)器地址獲取請(qǐng)求的上行數(shù)據(jù)包。

之后,將生成的作為IM服務(wù)器地址獲取請(qǐng)求的上行數(shù)據(jù)包,向IM消息的傳輸裝置發(fā)送。

例如,一個(gè)作為IM服務(wù)器地址獲取請(qǐng)求的上行數(shù)據(jù)包,符合安全擴(kuò)展協(xié)議的格式,其具體格式和內(nèi)容為8|len|Get_IM_Addr|null|null|null。其中8是指終端設(shè)備中IM客戶端的APP類(lèi)型;len代表該上行數(shù)據(jù)包的長(zhǎng)度;Get_IM_Addr是IM客戶端與IM消息的傳輸裝置之間預(yù)先約定的消息類(lèi)型之一,表示獲取IM服務(wù)器的地址;幾個(gè)null表示其它字段和包體各項(xiàng)無(wú)需賦值。

較佳地,對(duì)于三層封裝的上行數(shù)據(jù)包,第一層(外層)為上行數(shù)據(jù)包,符合安全層協(xié)議的格式,安全層協(xié)議可以為T(mén)LS(Transport Layer Security,傳輸層安全)協(xié)議或者SSL(Secure Socket Layer,安全套接字層)協(xié)議等;第二層(中間層)為作為上行數(shù)據(jù)包的包體的上行載荷數(shù)據(jù)包,符合安全擴(kuò)展協(xié)議的格式;第三層(內(nèi)層)可以為作為上行載荷數(shù)據(jù)包的包體的現(xiàn)有IM消息,IM消息具體為符合應(yīng)用協(xié)議格式,例如TCP、UDP或HTTP的格式的數(shù)據(jù)包;第三層(內(nèi)層)也可以設(shè)置為空。

符合安全擴(kuò)展協(xié)議的格式的上行載荷數(shù)據(jù)包的包頭中包括消息類(lèi)型字段。進(jìn)一步,該上行載荷數(shù)據(jù)包的包頭中還包括:APP類(lèi)型字段、消息長(zhǎng)度字段、IM服務(wù)器地址字段、和應(yīng)用協(xié)議字段。其中,IM服務(wù)器地址字段包括IM服務(wù)器IP地址字段和IM服務(wù)器端口字段。

較佳地,終端設(shè)備與IM消息的傳輸裝置建立基于安全層協(xié)議(例如TLS協(xié)議)的連接后,對(duì)IM消息的傳輸裝置進(jìn)行證書(shū)認(rèn)證,或者兩者互相進(jìn)行證書(shū)認(rèn)證,具體認(rèn)證方法為本領(lǐng)域技術(shù)人員所熟知,此處不再贅述。

認(rèn)證通過(guò)后,終端設(shè)備生成符合安全擴(kuò)展協(xié)議的格式的作為IM服務(wù)器地址獲取請(qǐng)求的上行數(shù)據(jù)包后,向IM消息的傳輸裝置發(fā)送。

終端設(shè)備對(duì)符合安全擴(kuò)展協(xié)議的格式的上行載荷數(shù)據(jù)包的包頭中的消息類(lèi)型字段進(jìn)行設(shè)置,將其它字段和包體都設(shè)置為空。

較佳地,對(duì)符合安全擴(kuò)展協(xié)議的格式的上行載荷數(shù)據(jù)包的包頭中的APP類(lèi)型字段、消息長(zhǎng)度字段和消息類(lèi)型字段進(jìn)行設(shè)置,將其它字段和包體都設(shè)置為空。

根據(jù)安全層協(xié)議,將上行載荷數(shù)據(jù)包作為包體進(jìn)行封裝,生成作為IM服務(wù)器地址獲取請(qǐng)求的上行數(shù)據(jù)包。

之后,將生成的作為IM服務(wù)器地址獲取請(qǐng)求的上行數(shù)據(jù)包,向IM消息的傳輸裝置發(fā)送。

IM消息的傳輸裝置接收終端設(shè)備發(fā)送的上行數(shù)據(jù)包。

S202:檢測(cè)上行數(shù)據(jù)包的包頭是否符合安全層協(xié)議的格式;若否,則執(zhí)行步驟S203;若是,則執(zhí)行步驟S206。

IM消息的傳輸裝置對(duì)接收到的上行數(shù)據(jù)包進(jìn)行檢測(cè),檢測(cè)上行數(shù)據(jù)包的包頭是否符合安全層協(xié)議的格式。

例如,檢測(cè)上行數(shù)據(jù)包的包頭是否包含TLS協(xié)議或SSL協(xié)議所規(guī)定攜帶的字段,若不包含,則確定該上行數(shù)據(jù)包不符合安全層協(xié)議的格式,該上行數(shù)據(jù)包可能是二層封裝的,執(zhí)行步驟S203;若包含,則確定該上行數(shù)據(jù)包符合安全層協(xié)議的格式,該上行數(shù)據(jù)包是三層封裝的,執(zhí)行步驟S206。

S203:檢測(cè)上行數(shù)據(jù)包的包頭是否符合安全擴(kuò)展協(xié)議的格式;若是,則執(zhí)行步驟S204;否則忽略該上行數(shù)據(jù)包。

IM消息的傳輸裝置針對(duì)不符合安全層協(xié)議的格式的上行數(shù)據(jù)包,檢測(cè)該上行數(shù)據(jù)包的包頭是否符合安全擴(kuò)展協(xié)議的格式。

例如,檢測(cè)上行數(shù)據(jù)包的包頭是否包含安全擴(kuò)展協(xié)議所規(guī)定攜帶的字段,若包含,則確定該上行數(shù)據(jù)包符合安全層協(xié)議的格式,執(zhí)行步驟S204;若不包含,則確定該上行數(shù)據(jù)包不符合安全擴(kuò)展協(xié)議的格式,可以忽略該上行數(shù)據(jù)包。

S204:檢測(cè)上行數(shù)據(jù)包的類(lèi)型。

IM消息的傳輸裝置對(duì)于符合安全擴(kuò)展協(xié)議的格式的上行數(shù)據(jù)包,通過(guò)檢測(cè)該上行數(shù)據(jù)包的包頭中消息類(lèi)型字段中的信息,確定出該上行數(shù)據(jù)包的類(lèi)型。

S205:當(dāng)檢測(cè)出上行數(shù)據(jù)包的類(lèi)型為IM服務(wù)器地址請(qǐng)求時(shí),獲取相應(yīng)的IM服務(wù)器地址,向發(fā)送IM服務(wù)器地址請(qǐng)求的終端設(shè)備返回。

當(dāng)IM消息的傳輸裝置從符合安全擴(kuò)展協(xié)議的格式的上行數(shù)據(jù)包的消息類(lèi)型字段檢測(cè)出獲取IM服務(wù)器地址(Get IM Addr)的信息時(shí),確定出該上行數(shù)據(jù)包的類(lèi)型為IM服務(wù)器地址請(qǐng)求。

IM消息的傳輸裝置預(yù)先與IM服務(wù)器建立連接,相互通訊的數(shù)據(jù)符合應(yīng)用協(xié)議格式。

IM消息的傳輸裝置,根據(jù)該IM服務(wù)器地址請(qǐng)求,生成符合應(yīng)用協(xié)議格式的IM服務(wù)器地址獲取請(qǐng)求,向?qū)?yīng)的IM服務(wù)器發(fā)送;IM服務(wù)器返回該IM服務(wù)器的地址信息;IM消息的傳輸裝置將IM服務(wù)器返回的IM服務(wù)器的地址信息,向發(fā)送IM服務(wù)器地址請(qǐng)求的終端設(shè)備返回。應(yīng)用協(xié)議即IM消息客戶端和服務(wù)器端所遵循的協(xié)議,例如TCP、UDP或HTTP等。

較佳地,IM消息的傳輸裝置,從本傳輸裝置已存儲(chǔ)的多個(gè)IM服務(wù)器的地址信息中,確定出該IM服務(wù)器地址請(qǐng)求對(duì)應(yīng)的IM服務(wù)器的地址信息,向發(fā)送IM服務(wù)器地址請(qǐng)求的終端設(shè)備返回。

S206:從上行數(shù)據(jù)包中解析出作為該上行數(shù)據(jù)包的包體的上行載荷數(shù)據(jù)包。

IM消息的傳輸裝置從符合安全層協(xié)議的格式的(三層封裝的)上行數(shù)據(jù)包中,解析出該上行數(shù)據(jù)包的包體,解析出包體為獨(dú)立的數(shù)據(jù)包,可以稱為上行載荷數(shù)據(jù)包。

S207:檢測(cè)上行載荷數(shù)據(jù)包的包頭是否符合安全擴(kuò)展協(xié)議的格式;若是,則執(zhí)行步驟S208;否則忽略該上行載荷數(shù)據(jù)包。

IM消息的傳輸裝置檢測(cè)上述解析出的上行載荷數(shù)據(jù)包的包頭是否符合安全擴(kuò)展協(xié)議的格式。

例如,檢測(cè)上行載荷數(shù)據(jù)包的包頭是否包含安全擴(kuò)展協(xié)議所規(guī)定攜帶的字段,若包含,則確定該上行載荷數(shù)據(jù)包符合安全層協(xié)議的格式,執(zhí)行步驟S208;若不包含,則確定該上行載荷數(shù)據(jù)包不符合安全擴(kuò)展協(xié)議的格式,可以忽略該上行載荷數(shù)據(jù)包。

S208:檢測(cè)上行載荷數(shù)據(jù)包的類(lèi)型。

IM消息的傳輸裝置對(duì)于符合安全擴(kuò)展協(xié)議的格式的上行載荷數(shù)據(jù)包,通過(guò)檢測(cè)該上行載荷數(shù)據(jù)包的包頭中消息類(lèi)型字段中的信息,確定出該上行載荷數(shù)據(jù)包的類(lèi)型。

S209:當(dāng)檢測(cè)出上行載荷數(shù)據(jù)包的類(lèi)型為IM服務(wù)器地址請(qǐng)求時(shí),獲取相應(yīng)的IM服務(wù)器地址,向發(fā)送IM服務(wù)器地址請(qǐng)求的終端設(shè)備返回。

當(dāng)IM消息的傳輸裝置從符合安全擴(kuò)展協(xié)議的格式的上行載荷數(shù)據(jù)包的消息類(lèi)型字段檢測(cè)出獲取IM服務(wù)器地址的信息時(shí),確定出該上行載荷數(shù)據(jù)包的類(lèi)型為IM服務(wù)器地址請(qǐng)求。

IM消息的傳輸裝置預(yù)先與IM服務(wù)器建立連接,相互通訊的數(shù)據(jù)符合應(yīng)用協(xié)議格式。

IM消息的傳輸裝置,根據(jù)該IM服務(wù)器地址請(qǐng)求,生成符合應(yīng)用協(xié)議格式的IM服務(wù)器地址獲取請(qǐng)求,向?qū)?yīng)的IM服務(wù)器發(fā)送;IM服務(wù)器返回該IM服務(wù)器的地址信息;IM消息的傳輸裝置將IM服務(wù)器返回的IM服務(wù)器的地址信息,向發(fā)送IM服務(wù)器地址請(qǐng)求的終端設(shè)備返回。

較佳地,IM消息的傳輸裝置,從本傳輸裝置已存儲(chǔ)的多個(gè)IM服務(wù)器的地址信息中,確定出該IM服務(wù)器地址請(qǐng)求對(duì)應(yīng)的IM服務(wù)器的地址信息,向發(fā)送IM服務(wù)器地址請(qǐng)求的終端設(shè)備返回。

下面介紹本發(fā)明實(shí)施例提供的另一種IM消息的傳輸方法,該方法的流程示意圖如圖3a所示,包括下述步驟:

S301:接收終端設(shè)備發(fā)送的上行數(shù)據(jù)包。

終端設(shè)備保持與IM消息的傳輸設(shè)備之間預(yù)先建立的連接。

終端設(shè)備接收到IM消息的傳輸設(shè)備返回的IM服務(wù)器的地址信息后,根據(jù)IM服務(wù)器的地址信息、和待傳輸?shù)腎M消息,生成符合安全擴(kuò)展協(xié)議的格式的作為IM消息傳輸請(qǐng)求的上行數(shù)據(jù)包后,向IM消息的傳輸裝置發(fā)送。符合安全擴(kuò)展協(xié)議的格式的上行數(shù)據(jù)包為二層封裝的數(shù)據(jù)包。

具體地,終端設(shè)備根據(jù)用戶的輸入,生成符合應(yīng)用協(xié)議的格式的IM消息(即內(nèi)層上行數(shù)據(jù)包);根據(jù)安全擴(kuò)展協(xié)議對(duì)IM消息進(jìn)行封裝,得到符合安全擴(kuò)展協(xié)議的格式的上行數(shù)據(jù)包(即外層上行數(shù)據(jù)包)。

終端設(shè)備將待傳輸?shù)腎M消息作為包體,在該包體的基礎(chǔ)上增加符合安全擴(kuò)展協(xié)議的格式的包頭;根據(jù)接收的IM服務(wù)器地址信息,對(duì)該包頭中的IM服務(wù)器字段進(jìn)行設(shè)置;根據(jù)待傳輸?shù)腎M消息的相關(guān)信息,對(duì)該包頭中的APP類(lèi)型字段、消息長(zhǎng)度字段、消息類(lèi)型字段和應(yīng)用協(xié)議字段進(jìn)行設(shè)置;生成得到作為IM消息傳輸請(qǐng)求的上行數(shù)據(jù)包。之后,將生成的作為IM消息傳輸請(qǐng)求的上行數(shù)據(jù)包,向IM消息的傳輸裝置發(fā)送。

符合安全擴(kuò)展協(xié)議的格式的上行數(shù)據(jù)包包括:包頭、和作為包體的IM消息。IM消息是獨(dú)立的數(shù)據(jù)包,符合應(yīng)用協(xié)議的格式。應(yīng)用協(xié)議可以是TCP、UDP或HTTP等。

圖3b示出了符合安全擴(kuò)展協(xié)議的格式的數(shù)據(jù)包的一個(gè)實(shí)例的示意圖。圖3b中,符合安全擴(kuò)展協(xié)議的格式的上行數(shù)據(jù)包的包頭中包括:APP類(lèi)型字段、消息長(zhǎng)度字段、消息類(lèi)型字段、IM服務(wù)器地址字段、和應(yīng)用協(xié)議字段。其中,IM服務(wù)器地址字段包括IM服務(wù)器IP(Internet Protocol,互聯(lián)網(wǎng)協(xié)議)地址字段和IM服務(wù)器端口字段;消息長(zhǎng)度字段中的信息表明該上行數(shù)據(jù)包的字節(jié)長(zhǎng)度;消息類(lèi)型字段中的信息表明該上行數(shù)據(jù)包的類(lèi)型,具體為IM服務(wù)器地址獲取請(qǐng)求、IM消息傳輸請(qǐng)求或其它請(qǐng)求;應(yīng)用協(xié)議字段中的信息表明作為包體的IM消息所采用的協(xié)議格式。

例如,一個(gè)作為IM消息傳輸請(qǐng)求的上行數(shù)據(jù)包,符合安全擴(kuò)展協(xié)議的格式,其具體格式和內(nèi)容為

8|len|App_Msg|192.168.100.100|8061|tcp|msg

其中8是終端設(shè)備中IM客戶端的APP類(lèi)型;len代表該上行數(shù)據(jù)包的長(zhǎng)度;App_Msg(Application_Message,應(yīng)用消息)是IM客戶端與IM消息的傳輸裝置之間預(yù)先約定的消息類(lèi)型之一,表示需IM消息的傳輸裝置透?jìng)髯鳛樵撋闲袛?shù)據(jù)包的包體的IM消息,所謂透?jìng)髦覆粚?duì)IM客戶端封裝的IM消息作任何改動(dòng),向?qū)?yīng)的IM服務(wù)器傳輸;192.168.100.100是對(duì)應(yīng)的IM服務(wù)器IP地址,8061是對(duì)應(yīng)的IM服務(wù)器的端口;tcp是指作為包體的IM消息符合TCP協(xié)議的格式;msg表示IM消息。

IM消息的傳輸裝置接收終端設(shè)備發(fā)送的上行數(shù)據(jù)包。

較佳地,終端設(shè)備保持與IM消息的傳輸設(shè)備之間預(yù)先建立的基于安全層協(xié)議(例如TLS協(xié)議)的連接。

終端設(shè)備接收到IM消息的傳輸設(shè)備返回的IM服務(wù)器的地址信息后,根據(jù)IM服務(wù)器的地址信息、和待傳輸?shù)腎M消息,生成符合安全層協(xié)議的格式的作為IM消息傳輸請(qǐng)求的上行數(shù)據(jù)包后,向IM消息的傳輸裝置發(fā)送。符合安全層協(xié)議的格式的上行數(shù)據(jù)包為三層封裝的數(shù)據(jù)包。安全層協(xié)議可以為T(mén)LS協(xié)議或者SSL協(xié)議等。

具體地,終端設(shè)備根據(jù)用戶的輸入,生成符合應(yīng)用協(xié)議的格式的IM消息(即內(nèi)層上行數(shù)據(jù)包);根據(jù)安全擴(kuò)展協(xié)議對(duì)IM消息進(jìn)行封裝,得到符合安全擴(kuò)展協(xié)議的格式的上行載荷數(shù)據(jù)包(即第二層或中間層上行數(shù)據(jù)包);根據(jù)安全層協(xié)議對(duì)上行載荷數(shù)據(jù)包進(jìn)行封裝,得到符合安全層協(xié)議的格式的上行數(shù)據(jù)包(即外層上行數(shù)據(jù)包)。

終端設(shè)備將待傳輸?shù)腎M消息作為待生成的上行載荷數(shù)據(jù)包的包體,在該包體的基礎(chǔ)上增加符合安全擴(kuò)展協(xié)議的格式的包頭;根據(jù)接收的IM服務(wù)器地址信息,對(duì)該包頭中的IM服務(wù)器字段進(jìn)行設(shè)置;根據(jù)待傳輸?shù)腎M消息的相關(guān)信息,對(duì)該包頭中的APP類(lèi)型字段、消息長(zhǎng)度字段、消息類(lèi)型字段和應(yīng)用協(xié)議字段進(jìn)行設(shè)置;生成得到符合安全擴(kuò)展協(xié)議的格式的上行載荷數(shù)據(jù)包。將該上行載荷數(shù)據(jù)包作為待生成的上行數(shù)據(jù)包的包體,在該包體的基礎(chǔ)上增加符合安全層協(xié)議的格式的包頭,生成符合安全層協(xié)議的格式的作為IM消息傳輸請(qǐng)求的上行數(shù)據(jù)包。之后,將生成的作為IM消息傳輸請(qǐng)求的上行數(shù)據(jù)包,向IM消息的傳輸裝置發(fā)送。

符合安全層協(xié)議的格式的上行數(shù)據(jù)包包括:包頭、和作為包體的上行載荷數(shù)據(jù)包。符合安全擴(kuò)展協(xié)議的格式的上行載荷數(shù)據(jù)包包括:包頭、和作為包體的IM消息。IM消息是獨(dú)立的數(shù)據(jù)包,符合應(yīng)用協(xié)議的格式。應(yīng)用協(xié)議可以是TCP、UDP或HTTP等。

符合安全擴(kuò)展協(xié)議的格式的上行載荷數(shù)據(jù)包的包頭中包括:APP類(lèi)型字段、消息長(zhǎng)度字段、消息類(lèi)型字段、IM服務(wù)器地址字段、和應(yīng)用協(xié)議字段。其中,IM服務(wù)器地址字段包括IM服務(wù)器IP地址字段和IM服務(wù)器端口字段;消息長(zhǎng)度字段中的信息表明該上行數(shù)據(jù)包的字節(jié)長(zhǎng)度;消息類(lèi)型字段中的信息表明該上行數(shù)據(jù)包的類(lèi)型,具體為IM服務(wù)器地址獲取請(qǐng)求、IM消息傳輸請(qǐng)求或其它請(qǐng)求;應(yīng)用協(xié)議字段中的信息表明作為包體的IM消息所采用的協(xié)議格式。

IM消息的傳輸裝置接收終端設(shè)備發(fā)送的上行數(shù)據(jù)包。

S302:檢測(cè)上行數(shù)據(jù)包的包頭是否符合安全層協(xié)議的格式;若否,則執(zhí)行步驟S303;若是,則執(zhí)行步驟S309。

IM消息的傳輸裝置對(duì)接收到的上行數(shù)據(jù)包進(jìn)行檢測(cè),檢測(cè)上行數(shù)據(jù)包的包頭是否符合安全層協(xié)議的格式。

例如,檢測(cè)上行數(shù)據(jù)包的包頭是否包含TLS協(xié)議或SSL協(xié)議所規(guī)定攜帶的字段,若不包含,則確定該上行數(shù)據(jù)包不符合安全層協(xié)議的格式,該上行數(shù)據(jù)包可能是二層封裝的,執(zhí)行步驟S303;若包含,則確定該上行數(shù)據(jù)包符合安全層協(xié)議的格式,該上行數(shù)據(jù)包是三層封裝的,執(zhí)行步驟S309。

S303:檢測(cè)上行數(shù)據(jù)包的包頭是否符合安全擴(kuò)展協(xié)議的格式;若是,則執(zhí)行步驟S304;否則執(zhí)行步驟S306。

IM消息的傳輸裝置針對(duì)不符合安全層協(xié)議的格式的上行數(shù)據(jù)包,檢測(cè)該上行數(shù)據(jù)包的包頭是否符合安全擴(kuò)展協(xié)議的格式。

例如,檢測(cè)上行數(shù)據(jù)包的包頭是否包含安全擴(kuò)展協(xié)議所規(guī)定攜帶的字段,若包含,則確定該上行數(shù)據(jù)包符合安全層協(xié)議的格式,執(zhí)行步驟S304;若不包含,則確定該上行數(shù)據(jù)包不符合安全擴(kuò)展協(xié)議的格式,執(zhí)行步驟S306。

S304:檢測(cè)上行數(shù)據(jù)包的類(lèi)型。

IM消息的傳輸裝置對(duì)于符合安全擴(kuò)展協(xié)議的格式的上行數(shù)據(jù)包,通過(guò)檢測(cè)該上行數(shù)據(jù)包的包頭中消息類(lèi)型字段中的信息,確定出該上行數(shù)據(jù)包的類(lèi)型。

S305:當(dāng)檢測(cè)出上行數(shù)據(jù)包的類(lèi)型為IM消息傳輸請(qǐng)求時(shí),從該上行數(shù)據(jù)包的包體中解析出IM消息,向?qū)?yīng)的IM服務(wù)器發(fā)送。

當(dāng)IM消息的傳輸裝置檢測(cè)出上行數(shù)據(jù)包的包頭中的消息類(lèi)型信息為應(yīng)用消息時(shí),確定上行數(shù)據(jù)包的類(lèi)型為即時(shí)通訊消息傳輸請(qǐng)求。具體地,當(dāng)IM消息的傳輸裝置從符合安全擴(kuò)展協(xié)議的格式的上行數(shù)據(jù)包的消息類(lèi)型字段檢測(cè)出應(yīng)用消息(App_Msg)的信息時(shí),確定出該上行數(shù)據(jù)包的類(lèi)型為IM消息傳輸請(qǐng)求。

從上行數(shù)據(jù)包的包頭中解析出服務(wù)器地址、和應(yīng)用協(xié)議的標(biāo)識(shí)、以及作為上行數(shù)據(jù)包的包體的IM消息。

根據(jù)解析出的服務(wù)器地址、和應(yīng)用協(xié)議的標(biāo)識(shí),將IM消息,通過(guò)預(yù)先與IM服務(wù)器建立的符合應(yīng)用協(xié)議的連接,向支持相應(yīng)應(yīng)用協(xié)議的IM服務(wù)器發(fā)送。

較佳地,IM消息的傳輸裝置記錄作為上傳數(shù)據(jù)包發(fā)送方的終端設(shè)備與作為目標(biāo)方的IM服務(wù)器之間的映射關(guān)系。例如,對(duì)于同一上傳數(shù)據(jù)包,將作為該上傳數(shù)據(jù)包發(fā)送方的終端設(shè)備的地址和端口、作為該上傳數(shù)據(jù)包目標(biāo)方的IM服務(wù)器的地址和端口對(duì)應(yīng)記錄。

S306:直接將上行數(shù)據(jù)包向相應(yīng)的IM服務(wù)器發(fā)送。

IM消息的傳輸裝置對(duì)于既不符合安全層協(xié)議的格式、也不符合安全擴(kuò)展協(xié)議的格式的上行數(shù)據(jù)包,直接將該上行數(shù)據(jù)包向相應(yīng)的IM服務(wù)器發(fā)送。

可以理解,對(duì)于諸如用戶之間收發(fā)的IM消息等信息通常屬于私密性較強(qiáng)的信息,終端設(shè)備的IM客戶端會(huì)選擇對(duì)這些私密性較強(qiáng)的信息通過(guò)安全擴(kuò)展協(xié)議、或安全擴(kuò)展協(xié)議與安全層協(xié)議的組合進(jìn)行封裝后進(jìn)行發(fā)送,以增強(qiáng)安全性。

而對(duì)于諸如上傳或下載頭像等私密性較弱的信息,終端設(shè)備的IM客戶端可能會(huì)選擇將私密性較弱的信息作為IM消息,直接進(jìn)行發(fā)送,以提升傳輸效率。

S307:接收IM服務(wù)器下發(fā)的IM消息。

IM消息的傳輸裝置與IM服務(wù)器之間保持著符合應(yīng)用協(xié)議的連接。接收到的IM服務(wù)器下發(fā)的IM消息,符合應(yīng)用協(xié)議的格式。應(yīng)用協(xié)議可以是TCP協(xié)議、UDP協(xié)議或HTTP協(xié)議等。

S308:根據(jù)安全擴(kuò)展協(xié)議封裝IM服務(wù)器下發(fā)的IM消息,得到下行數(shù)據(jù)包后,向相應(yīng)的終端設(shè)備發(fā)送。

較佳地,IM消息的傳輸裝置根據(jù)預(yù)先記錄的終端設(shè)備與IM服務(wù)器之間的映射關(guān)系,確定出作為下發(fā)IM消息的目標(biāo)方的終端設(shè)備。

例如,從對(duì)應(yīng)記錄的終端設(shè)備的地址和端口、和IM服務(wù)器的地址和端口中,確定出下發(fā)IM消息中IM服務(wù)器的地址、或者地址和端口所對(duì)應(yīng)的終端設(shè)備的地址和端口。

根據(jù)安全擴(kuò)展協(xié)議封裝IM服務(wù)器下發(fā)的IM消息后,得到符合安全擴(kuò)展協(xié)議的格式的二層封裝的下行數(shù)據(jù)包,向確定出的作為下發(fā)IM消息的目標(biāo)方的終端設(shè)備進(jìn)行發(fā)送。

例如,根據(jù)確定出的終端設(shè)備的地址和端口,向該終端設(shè)備發(fā)送符合安全擴(kuò)展協(xié)議的格式的二層封裝的下行數(shù)據(jù)包。

終端設(shè)備接收到符合安全擴(kuò)展協(xié)議的格式的二層封裝的下行數(shù)據(jù)包后,從中解析出作為包體的IM消息;根據(jù)解析出IM消息進(jìn)行相應(yīng)操作,例如,當(dāng)解析出的IM消息為聊天消息時(shí)進(jìn)行顯示等。

S309:從上行數(shù)據(jù)包中解析出作為該上行數(shù)據(jù)包的包體的上行載荷數(shù)據(jù)包。

IM消息的傳輸裝置從符合安全層協(xié)議的格式的(三層封裝的)上行數(shù)據(jù)包中,解析出該上行數(shù)據(jù)包的包體,解析出包體為獨(dú)立的上行載荷數(shù)據(jù)包。

事實(shí)上,上述步驟S301-S305的第一步驟組合,與步驟S307-S308的第二步驟組合是相互獨(dú)立的。第一、二步驟組合可以同時(shí)執(zhí)行,也可以一個(gè)執(zhí)行在先,另一個(gè)執(zhí)行在后。

S310:檢測(cè)上行載荷數(shù)據(jù)包的包頭是否符合安全擴(kuò)展協(xié)議的格式;若是,則執(zhí)行步驟S311;否則,執(zhí)行步驟S313。

IM消息的傳輸裝置檢測(cè)上述解析出的上行載荷數(shù)據(jù)包的包頭是否符合安全擴(kuò)展協(xié)議的格式。

例如,檢測(cè)上行載荷數(shù)據(jù)包的包頭是否包含安全擴(kuò)展協(xié)議所規(guī)定攜帶的字段,若包含,則確定該上行載荷數(shù)據(jù)包符合安全層協(xié)議的格式,執(zhí)行步驟S311;若不包含,則確定該上行載荷數(shù)據(jù)包不符合安全擴(kuò)展協(xié)議的格式,執(zhí)行步驟S313。

S311:檢測(cè)上行載荷數(shù)據(jù)包的類(lèi)型。

IM消息的傳輸裝置對(duì)于符合安全擴(kuò)展協(xié)議的格式的上行載荷數(shù)據(jù)包,通過(guò)檢測(cè)該上行載荷數(shù)據(jù)包的包頭中消息類(lèi)型字段中的信息,確定出該上行載荷數(shù)據(jù)包的類(lèi)型。

S312:當(dāng)檢測(cè)出上行載荷數(shù)據(jù)包的類(lèi)型為IM消息傳輸請(qǐng)求時(shí),從上行載荷數(shù)據(jù)包的包頭中解析出IM消息,向?qū)?yīng)的IM服務(wù)器發(fā)送。

當(dāng)IM消息的傳輸裝置檢測(cè)出上行載荷數(shù)據(jù)包的包頭中的消息類(lèi)型信息為應(yīng)用消息時(shí),確定上行載荷數(shù)據(jù)包的類(lèi)型為IM消息傳輸請(qǐng)求。具體地,當(dāng)IM消息的傳輸裝置從符合安全擴(kuò)展協(xié)議的格式的上行載荷數(shù)據(jù)包的消息類(lèi)型字段檢測(cè)出應(yīng)用消息(App_Msg)的信息時(shí),確定出該上行載荷數(shù)據(jù)包的類(lèi)型為IM消息傳輸請(qǐng)求。

從上行載荷數(shù)據(jù)包的包頭中解析出服務(wù)器地址、和應(yīng)用協(xié)議的標(biāo)識(shí)、以及作為上行載荷數(shù)據(jù)包的包體的IM消息。

根據(jù)服務(wù)器地址、和應(yīng)用協(xié)議的標(biāo)識(shí),將IM消息,通過(guò)預(yù)先與IM服務(wù)器建立的符合應(yīng)用協(xié)議的連接,向支持相應(yīng)應(yīng)用協(xié)議的IM服務(wù)器發(fā)送。

較佳地,IM消息的傳輸裝置記錄作為上傳數(shù)據(jù)包發(fā)送方的終端設(shè)備與作為目標(biāo)方的IM服務(wù)器之間的映射關(guān)系。例如,對(duì)于同一上傳數(shù)據(jù)包,將作為該上傳數(shù)據(jù)包發(fā)送方的終端設(shè)備的地址和端口、作為該上傳數(shù)據(jù)包目標(biāo)方的IM服務(wù)器的地址和端口對(duì)應(yīng)記錄。

S313:從上行載荷數(shù)據(jù)包中解析出IM消息向相應(yīng)的IM服務(wù)器發(fā)送,或忽略該上行載荷數(shù)據(jù)包。

IM消息的傳輸裝置對(duì)于不符合安全擴(kuò)展協(xié)議的格式的上行載荷數(shù)據(jù)包,若可以從該上行載荷數(shù)據(jù)包中解析出的IM消息,則將解析出的IM消息,向相應(yīng)的IM服務(wù)器發(fā)送。若無(wú)法從該上行載荷數(shù)據(jù)包中解析出的IM消息,則忽略該上行載荷數(shù)據(jù)包。

S314:接收IM服務(wù)器下發(fā)的IM消息。

IM消息的傳輸裝置與IM服務(wù)器之間保持著符合應(yīng)用協(xié)議的連接。接收到的IM服務(wù)器下發(fā)的IM消息,符合應(yīng)用協(xié)議的格式。應(yīng)用協(xié)議可以是TCP協(xié)議、UDP協(xié)議或HTTP協(xié)議等。

S315:根據(jù)安全擴(kuò)展協(xié)議封裝IM服務(wù)器下述的IM消息,得到符合安全擴(kuò)展協(xié)議格式的下行載荷數(shù)據(jù)包。

IM消息的傳輸裝置根據(jù)安全擴(kuò)展協(xié)議封裝IM服務(wù)器下發(fā)的IM消息后,得到符合安全擴(kuò)展協(xié)議的格式的二層封裝的下行載荷數(shù)據(jù)包。

具體地,將IM服務(wù)器下發(fā)的IM消息作為待生成的下行載荷數(shù)據(jù)包的包體,在該包體的基礎(chǔ)上增加符合安全擴(kuò)展協(xié)議的包頭,生成符合安全擴(kuò)展協(xié)議的格式的二層封裝的下行載荷數(shù)據(jù)。

S316:根據(jù)安全層協(xié)議封裝符合安全擴(kuò)展協(xié)議格式的下行載荷數(shù)據(jù)包,得到下行數(shù)據(jù)包后,向相應(yīng)的終端設(shè)備發(fā)送。

較佳地,IM消息的傳輸裝置根據(jù)預(yù)先記錄的終端設(shè)備與IM服務(wù)器之間的映射關(guān)系,確定出作為下發(fā)IM消息的目標(biāo)方的終端設(shè)備。

例如,從對(duì)應(yīng)記錄的終端設(shè)備的地址和端口、和IM服務(wù)器的地址和端口中,確定出下發(fā)IM消息中IM服務(wù)器的地址、或者地址和端口所對(duì)應(yīng)的終端設(shè)備的地址和端口。

IM消息的傳輸裝置根據(jù)安全層協(xié)議,對(duì)符合安全擴(kuò)展協(xié)議的格式的二層封裝的下行載荷數(shù)據(jù)包進(jìn)行封裝,得到符合安全層協(xié)議的格式的三層封裝的下行數(shù)據(jù)包;向確定出的作為下發(fā)IM消息的目標(biāo)方的終端設(shè)備進(jìn)行發(fā)送。

例如,根據(jù)確定出的終端設(shè)備的地址和端口,向該終端設(shè)備發(fā)送符合安全層協(xié)議的格式的三層封裝的下行數(shù)據(jù)包。

終端設(shè)備接收到符合安全層協(xié)議的格式的三層封裝的下行數(shù)據(jù)包后,從中解析出作為其包體的符合安全擴(kuò)展協(xié)議的格式的二層封裝的下行載荷數(shù)據(jù)包;繼續(xù)從該下行載荷數(shù)據(jù)包中,解析出作為該下行載荷數(shù)據(jù)包的包體的IM消息。根據(jù)解析出IM消息進(jìn)行相應(yīng)操作,例如,當(dāng)解析出的IM消息為聊天消息時(shí)進(jìn)行顯示等。

事實(shí)上,上述步驟S301、S302和S309-S313的第三步驟組合,與步驟S314-S316的第四步驟組合是相互獨(dú)立的。第三、四步驟組合可以同時(shí)執(zhí)行,也可以一個(gè)執(zhí)行在先,另一個(gè)執(zhí)行在后。

基于上述IM消息的傳輸方法,本發(fā)明實(shí)施例的IM消息的傳輸裝置的內(nèi)部結(jié)構(gòu)的框架示意圖如圖4所示,包括:數(shù)據(jù)收發(fā)模塊401、協(xié)議格式檢測(cè)模塊402和數(shù)據(jù)包類(lèi)型檢測(cè)模塊403。

其中,數(shù)據(jù)收發(fā)模塊401用于接收上行數(shù)據(jù)包;以及將接收到的IM消息向?qū)?yīng)的IM服務(wù)器發(fā)送。

協(xié)議格式檢測(cè)模塊402用于當(dāng)檢測(cè)出數(shù)據(jù)收發(fā)模塊401接收的上行數(shù)據(jù)包的包頭不符合安全層協(xié)議的格式時(shí),檢測(cè)上行數(shù)據(jù)包的包頭是否符合安全擴(kuò)展協(xié)議的格式;當(dāng)檢測(cè)出上行數(shù)據(jù)包的包頭符合安全擴(kuò)展協(xié)議的格式時(shí),發(fā)送類(lèi)型檢測(cè)通知。

數(shù)據(jù)包類(lèi)型檢測(cè)模塊403用于接收到類(lèi)型檢測(cè)通知后,檢測(cè)上行數(shù)據(jù)包的類(lèi)型;當(dāng)檢測(cè)出上行數(shù)據(jù)包的類(lèi)型為IM消息傳輸請(qǐng)求時(shí),從中解析出IM消息進(jìn)行轉(zhuǎn)發(fā)。

較佳地,數(shù)據(jù)包類(lèi)型檢測(cè)模塊403具體用于當(dāng)檢測(cè)出上行數(shù)據(jù)包的包頭中的消息類(lèi)型信息為應(yīng)用消息時(shí),確定上行數(shù)據(jù)包的類(lèi)型為IM消息傳輸請(qǐng)求;從上行數(shù)據(jù)包的包頭中解析出服務(wù)器地址、和應(yīng)用協(xié)議的標(biāo)識(shí)、以及作為包體的IM消息進(jìn)行轉(zhuǎn)發(fā)。

以及,數(shù)據(jù)收發(fā)模塊401具體用于根據(jù)接收到的數(shù)據(jù)包類(lèi)型檢測(cè)模塊403轉(zhuǎn)發(fā)的服務(wù)器地址、和應(yīng)用協(xié)議的標(biāo)識(shí),將接收到的數(shù)據(jù)包類(lèi)型檢測(cè)模塊403轉(zhuǎn)發(fā)的IM消息,向支持相應(yīng)應(yīng)用協(xié)議的IM服務(wù)器發(fā)送。

較佳地,數(shù)據(jù)包類(lèi)型檢測(cè)模塊403還用于當(dāng)檢測(cè)出上行數(shù)據(jù)包的類(lèi)型為IM服務(wù)器地址請(qǐng)求時(shí),獲取相應(yīng)的IM服務(wù)器地址進(jìn)行轉(zhuǎn)發(fā)。

以及,數(shù)據(jù)收發(fā)模塊401還用于接收到數(shù)據(jù)包類(lèi)型檢測(cè)模塊轉(zhuǎn)發(fā)的IM服務(wù)器地址后,向發(fā)送IM服務(wù)器地址請(qǐng)求的終端設(shè)備返回。

較佳地,協(xié)議格式檢測(cè)模塊402還用于當(dāng)檢測(cè)出上行數(shù)據(jù)包的包頭不符合安全擴(kuò)展協(xié)議的格式時(shí),發(fā)送直接發(fā)送通知。

以及,數(shù)據(jù)收發(fā)模塊401還用于接收到直接發(fā)送通知后,直接將上行數(shù)據(jù)包向相應(yīng)的IM服務(wù)器發(fā)送。

較佳地,數(shù)據(jù)收發(fā)模塊401還用于接收IM服務(wù)器下發(fā)的IM消息;根據(jù)安全擴(kuò)展協(xié)議封裝IM服務(wù)器下發(fā)的IM消息,得到下行數(shù)據(jù)包后,向相應(yīng)的終端設(shè)備發(fā)送。

較佳地,協(xié)議格式檢測(cè)模塊402還用于當(dāng)檢測(cè)出上行數(shù)據(jù)包的包頭符合安全層協(xié)議的格式時(shí),從中解析出作為上行數(shù)據(jù)包的包體的上行載荷數(shù)據(jù)包;當(dāng)檢測(cè)出上行載荷數(shù)據(jù)包的包頭符合安全擴(kuò)展協(xié)議的格式時(shí),發(fā)送類(lèi)型檢測(cè)通知。

以及,數(shù)據(jù)包類(lèi)型檢測(cè)模塊403還用于接收到類(lèi)型檢測(cè)通知后,檢測(cè)上行載荷數(shù)據(jù)包的類(lèi)型;當(dāng)檢測(cè)出上行載荷數(shù)據(jù)包的類(lèi)型為IM消息傳輸請(qǐng)求時(shí),從上行載荷數(shù)據(jù)包的包頭中解析出IM消息進(jìn)行轉(zhuǎn)發(fā)。

較佳地,數(shù)據(jù)包類(lèi)型檢測(cè)模塊403具體用于當(dāng)檢測(cè)出上行載荷數(shù)據(jù)包的包頭中的消息類(lèi)型信息為應(yīng)用消息時(shí),確定上行載荷數(shù)據(jù)包的類(lèi)型為IM消息傳輸請(qǐng)求;以及,從上行載荷數(shù)據(jù)包的包頭中解析出服務(wù)器地址、和應(yīng)用協(xié)議的標(biāo)識(shí)、以及作為上行載荷數(shù)據(jù)包的包體的IM消息進(jìn)行轉(zhuǎn)發(fā)。

以及,數(shù)據(jù)收發(fā)模塊401具體用于根據(jù)接收到的數(shù)據(jù)包類(lèi)型檢測(cè)模塊403轉(zhuǎn)發(fā)的服務(wù)器地址、和應(yīng)用協(xié)議的標(biāo)識(shí),將接收到的數(shù)據(jù)包類(lèi)型檢測(cè)模塊403轉(zhuǎn)發(fā)的IM消息,向支持相應(yīng)應(yīng)用協(xié)議的IM服務(wù)器發(fā)送。

較佳地,數(shù)據(jù)收發(fā)模塊401還用于接收IM服務(wù)器下發(fā)送的IM消息;根據(jù)安全擴(kuò)展協(xié)議封裝IM服務(wù)器下發(fā)送的IM消息,得到符合安全擴(kuò)展協(xié)議格式的下行載荷數(shù)據(jù)包;根據(jù)安全層協(xié)議封裝下行載荷數(shù)據(jù)包,得到下行數(shù)據(jù)包后,向相應(yīng)的終端設(shè)備發(fā)送。

上述數(shù)據(jù)收發(fā)模塊401、協(xié)議格式檢測(cè)模塊402和數(shù)據(jù)包類(lèi)型檢測(cè)模塊403功能的實(shí)現(xiàn)方法,可以參考如上述圖2和圖3a的流程步驟的具體內(nèi)容,此處不再贅述。

本發(fā)明實(shí)施例中,當(dāng)檢測(cè)出上行數(shù)據(jù)包的包頭符合安全擴(kuò)展協(xié)議的格式時(shí),說(shuō)明上行數(shù)據(jù)包中待傳輸至即時(shí)通訊服務(wù)器的數(shù)據(jù),被安全擴(kuò)展協(xié)議額外封裝,即使惡意程序非法獲取了上行數(shù)據(jù)包并能夠破解現(xiàn)有的應(yīng)用協(xié)議,也無(wú)法識(shí)別額外增加的安全擴(kuò)展協(xié)議,可以大大降低上行的即時(shí)通訊消息的泄露的幾率,從而提升上行的即時(shí)通訊消息的安全性。而且,從上行數(shù)據(jù)包的包體中解析出即時(shí)通訊消息,向即時(shí)通訊服務(wù)器發(fā)送;現(xiàn)有的即時(shí)通訊服務(wù)器仍然可以根據(jù)現(xiàn)有方法接收并處理即時(shí)通訊消息,無(wú)需改造或更新即時(shí)通訊服務(wù)器,在提升即時(shí)通訊消息安全性的基礎(chǔ)上大大節(jié)省了成本;此外,本發(fā)明實(shí)施例兼容于現(xiàn)有的即時(shí)通訊服務(wù)器,適用范圍較大。

而且,本發(fā)明實(shí)施例中,當(dāng)檢測(cè)出上行數(shù)據(jù)包的包頭符合安全層協(xié)議的格式時(shí),從中解析出作為上行數(shù)據(jù)包的包體的上行載荷數(shù)據(jù)包;當(dāng)檢測(cè)出上行載荷數(shù)據(jù)包的包頭符合安全擴(kuò)展協(xié)議的格式時(shí),檢測(cè)上行載荷數(shù)據(jù)包的類(lèi)型;當(dāng)檢測(cè)出上行載荷數(shù)據(jù)包的類(lèi)型為即時(shí)通訊消息傳輸請(qǐng)求時(shí),從上行載荷數(shù)據(jù)包的包頭中解析出即時(shí)通訊消息,向?qū)?yīng)的即時(shí)通訊服務(wù)器發(fā)送。相當(dāng)于,在現(xiàn)有的安全層協(xié)議與即時(shí)通訊消息所遵循的應(yīng)用協(xié)議之間,增加一層安全擴(kuò)展協(xié)議,形成符合安全擴(kuò)展協(xié)議的格式的上行載荷數(shù)據(jù)包。即使惡意程序獲取了上行數(shù)據(jù)包并能夠破解現(xiàn)有的應(yīng)用協(xié)議和安全層協(xié)議,也無(wú)法識(shí)別額外增加的安全擴(kuò)展協(xié)議,可以大大降低上行的即時(shí)通訊消息的泄露的幾率,從而提升上行的即時(shí)通訊消息的安全性。而且,安全擴(kuò)展協(xié)議并沒(méi)有改變作為上行載荷數(shù)據(jù)包的包體的即時(shí)通訊消息;現(xiàn)有的即時(shí)通訊服務(wù)器仍然可以根據(jù)現(xiàn)有方法接收并處理即時(shí)通訊消息,無(wú)需改造或更新即時(shí)通訊服務(wù)器,在提升即時(shí)通訊消息安全性的基礎(chǔ)上大大節(jié)省了成本;此外,本發(fā)明實(shí)施例兼容于現(xiàn)有的即時(shí)通訊服務(wù)器,適用范圍較大。

進(jìn)一步,本發(fā)明實(shí)施例中,采用與上行數(shù)據(jù)包相對(duì)應(yīng)的封裝方式,對(duì)于即時(shí)通訊服務(wù)器下發(fā)的即時(shí)通訊消息,進(jìn)行封裝,得到對(duì)應(yīng)的下行數(shù)據(jù)包向終端設(shè)備發(fā)送。例如,與三層封裝的上行數(shù)據(jù)包相對(duì)應(yīng),下發(fā)的即時(shí)通訊消息作為內(nèi)層的數(shù)據(jù)包;根據(jù)安全擴(kuò)展協(xié)議將下發(fā)的即時(shí)通訊消息作為包體進(jìn)行封裝,得到符合安全擴(kuò)展協(xié)議的格式的下行載荷數(shù)據(jù)包(即第二層或中間層數(shù)據(jù)包);根據(jù)安全層協(xié)議將下行載荷數(shù)據(jù)包作為包體進(jìn)行封裝,得到符合安全層協(xié)議的格式的下行數(shù)據(jù)包,發(fā)送至終端設(shè)備。提升了下發(fā)的即時(shí)通訊消息的安全性,進(jìn)一步從整體上增強(qiáng)了即時(shí)通訊消息的安全性。

本技術(shù)領(lǐng)域技術(shù)人員可以理解,本發(fā)明包括涉及用于執(zhí)行本申請(qǐng)中所述操作中的一項(xiàng)或多項(xiàng)的設(shè)備。這些設(shè)備可以為所需的目的而專門(mén)設(shè)計(jì)和制造,或者也可以包括通用計(jì)算機(jī)中的已知設(shè)備。這些設(shè)備具有存儲(chǔ)在其內(nèi)的計(jì)算機(jī)程序,這些計(jì)算機(jī)程序選擇性地激活或重構(gòu)。這樣的計(jì)算機(jī)程序可以被存儲(chǔ)在設(shè)備(例如,計(jì)算機(jī))可讀介質(zhì)中或者存儲(chǔ)在適于存儲(chǔ)電子指令并分別耦聯(lián)到總線的任何類(lèi)型的介質(zhì)中,所述計(jì)算機(jī)可讀介質(zhì)包括但不限于任何類(lèi)型的盤(pán)(包括軟盤(pán)、硬盤(pán)、光盤(pán)、CD-ROM、和磁光盤(pán))、ROM(Read-Only Memory,只讀存儲(chǔ)器)、RAM(Random Access Memory,隨即存儲(chǔ)器)、EPROM(Erasable Programmable Read-Only Memory,可擦寫(xiě)可編程只讀存儲(chǔ)器)、EEPROM(Electrically Erasable Programmable Read-Only Memory,電可擦可編程只讀存儲(chǔ)器)、閃存、磁性卡片或光線卡片。也就是,可讀介質(zhì)包括由設(shè)備(例如,計(jì)算機(jī))以能夠讀的形式存儲(chǔ)或傳輸信息的任何介質(zhì)。

本技術(shù)領(lǐng)域技術(shù)人員可以理解,可以用計(jì)算機(jī)程序指令來(lái)實(shí)現(xiàn)這些結(jié)構(gòu)圖和/或框圖和/或流圖中的每個(gè)框以及這些結(jié)構(gòu)圖和/或框圖和/或流圖中的框的組合。本技術(shù)領(lǐng)域技術(shù)人員可以理解,可以將這些計(jì)算機(jī)程序指令提供給通用計(jì)算機(jī)、專業(yè)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理方法的處理器來(lái)實(shí)現(xiàn),從而通過(guò)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理方法的處理器來(lái)執(zhí)行本發(fā)明公開(kāi)的結(jié)構(gòu)圖和/或框圖和/或流圖的框或多個(gè)框中指定的方案。

本技術(shù)領(lǐng)域技術(shù)人員可以理解,本發(fā)明中已經(jīng)討論過(guò)的各種操作、方法、流程中的步驟、措施、方案可以被交替、更改、組合或刪除。進(jìn)一步地,具有本發(fā)明中已經(jīng)討論過(guò)的各種操作、方法、流程中的其他步驟、措施、方案也可以被交替、更改、重排、分解、組合或刪除。進(jìn)一步地,現(xiàn)有技術(shù)中的具有與本發(fā)明中公開(kāi)的各種操作、方法、流程中的步驟、措施、方案也可以被交替、更改、重排、分解、組合或刪除。

以上所述僅是本發(fā)明的部分實(shí)施方式,應(yīng)當(dāng)指出,對(duì)于本技術(shù)領(lǐng)域的普通技術(shù)人員來(lái)說(shuō),在不脫離本發(fā)明原理的前提下,還可以做出若干改進(jìn)和潤(rùn)飾,這些改進(jìn)和潤(rùn)飾也應(yīng)視為本發(fā)明的保護(hù)范圍。

當(dāng)前第1頁(yè)1 2 3 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1