欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

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

文檔序號:11138693閱讀:454來源:國知局
即時通訊消息的傳輸方法及裝置與制造工藝

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



背景技術(shù):

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

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

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

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

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

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



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

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

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

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

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

當檢測出所述上行數(shù)據(jù)包的包頭符合安全擴展協(xié)議的格式時,檢測所述上行數(shù)據(jù)包的類型;

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

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

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

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

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

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

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

附圖說明

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

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

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

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

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

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

具體實施方式

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

進一步,當支持一種協(xié)議的IM服務(wù)器為多個時,可以為支持該協(xié)議的多個IM服務(wù)器部署兩個以上IM消息的傳輸裝置。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

其中8是終端設(shè)備中IM客戶端的APP類型;len代表該上行數(shù)據(jù)包的長度;App_Msg(Application_Message,應(yīng)用消息)是IM客戶端與IM消息的傳輸裝置之間預(yù)先約定的消息類型之一,表示需IM消息的傳輸裝置透傳作為該上行數(shù)據(jù)包的包體的IM消息,所謂透傳指不對IM客戶端封裝的IM消息作任何改動,向?qū)?yīng)的IM服務(wù)器傳輸;192.168.100.100是對應(yīng)的IM服務(wù)器IP地址,8061是對應(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消息傳輸請求的上行數(shù)據(jù)包后,向IM消息的傳輸裝置發(fā)送。符合安全層協(xié)議的格式的上行數(shù)據(jù)包為三層封裝的數(shù)據(jù)包。安全層協(xié)議可以為TLS協(xié)議或者SSL協(xié)議等。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

而對于諸如上傳或下載頭像等私密性較弱的信息,終端設(shè)備的IM客戶端可能會選擇將私密性較弱的信息作為IM消息,直接進行發(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ù)安全擴展協(xié)議封裝IM服務(wù)器下發(fā)的IM消息,得到下行數(shù)據(jù)包后,向相應(yīng)的終端設(shè)備發(fā)送。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

IM消息的傳輸裝置對于不符合安全擴展協(xié)議的格式的上行載荷數(shù)據(jù)包,若可以從該上行載荷數(shù)據(jù)包中解析出的IM消息,則將解析出的IM消息,向相應(yīng)的IM服務(wù)器發(fā)送。若無法從該上行載荷數(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ù)安全擴展協(xié)議封裝IM服務(wù)器下述的IM消息,得到符合安全擴展協(xié)議格式的下行載荷數(shù)據(jù)包。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

當前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
瑞昌市| 东台市| 中西区| 化州市| 昭通市| 德格县| 蒙自县| 南昌市| 天等县| 康保县| 胶南市| 时尚| 岳阳市| 兴海县| 新平| 巴马| 介休市| 石城县| 金寨县| 潜山县| 拜泉县| 册亨县| 上高县| 双江| 大渡口区| 株洲县| 松原市| 江北区| 丰都县| 宜州市| 昂仁县| 驻马店市| 澄迈县| 耒阳市| 洮南市| 石阡县| 赣榆县| 即墨市| 齐齐哈尔市| 汉沽区| 仪征市|