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

基于xmpp擴展消息的消息分類實現(xiàn)的方法及裝置的制造方法

文檔序號:9306628閱讀:302來源:國知局
基于xmpp擴展消息的消息分類實現(xiàn)的方法及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及即時通信領(lǐng)域,尤指一種基于XMPP擴展消息的消息分類實現(xiàn)的方法 及裝置。
【背景技術(shù)】
[0002] 現(xiàn)有技術(shù)方案,消息采用XML格式字符串進行描述,要想利用XML或者說利用XML 文件中所編碼的數(shù)據(jù),必須先將數(shù)據(jù)從純文本中解析出來。因此要求必須有一個能夠識別 XML文檔中信息的文本文件閱讀器,即XML解析器。XML解析器是將一個未經(jīng)處理的字條串 序列作為輸入并對它執(zhí)行一些特定的操作。解析器讀入XML文檔,建立XML語法和類之間 的一對一映射。解析時根據(jù)各種消息xml實體標簽名(tag)與名稱空間(xmlns)對消息進 行分類,解析完成后交由各類消息對應(yīng)的消息處理器進行處理。
[0003] XMPP存在三大類別的消息指令,作為消息XML的最外層節(jié)點,里層就是一個個被 包裹的擴展消息指令,每個消息指令有其對應(yīng)的XML標簽名(tag)與名稱空間(xmlns),每 個消息指令內(nèi)部包裹著該消息指令的子元素的XML節(jié)點。當(dāng)消息被解析的時候,根據(jù)最外 層標簽識別出消息指令所屬哪個消息類別(指iq、presence或message),再進入分類進一 步地解析具體的消息指令,現(xiàn)有技術(shù)一根據(jù)自定義擴展的消息指令對應(yīng)的XML標簽(tag) 與名稱空間(xmlns)找到事先注冊與之對應(yīng)的解析器,解析器被要求一律實現(xiàn)對其內(nèi)部子 元素的解析。而每創(chuàng)建一種消息指令,就得提供相應(yīng)的解析器。按XMPP協(xié)議約定,現(xiàn)有技 術(shù)一基于XML標識語言約定通信協(xié)議表示層,由于其對消息的格式要求較為嚴格,語法較 為羅嗉,雖然具備良好的可擴展性,但在面對當(dāng)今龐大的移動互聯(lián)網(wǎng)數(shù)據(jù)通信,其在傳輸、 解析及對移動流量消耗上表現(xiàn)不如人意。
[0004] 另外,現(xiàn)有技術(shù)一規(guī)定為每一個擴展消息類別定義一個符合XML格式的標簽名 (tag)與名稱空間(xmlns),以此來唯一標識一個擴展消息類別,并對每個擴展消息類別注 冊對應(yīng)的解析器,每個解析器按照協(xié)議要求需要實現(xiàn)解碼接口,在服務(wù)端需要對應(yīng)的消息 類別處理器(如圖1所示)。這樣一來,開發(fā)工作量將與擴展消息類別數(shù)量呈線性增長,不 利于提尚工作效率。

【發(fā)明內(nèi)容】

[0005] 本發(fā)明目的在于解決上述現(xiàn)有技術(shù)中存在的工作效率低,傳輸流量較高等技術(shù)問 題,提供一種新的基于XMPP擴展消息的消息分類實現(xiàn)的方法及裝置。
[0006] 為達上述目的,本發(fā)明所提供的基于XMPP擴展消息的消息分類實現(xiàn)的方法,具體 包含:在XMPP協(xié)議棧中加入編解碼協(xié)議層,將復(fù)數(shù)個擴展消息封裝于所述編解碼協(xié)議層 中;通過所述編解碼協(xié)議層將所述復(fù)數(shù)個擴展消息統(tǒng)一發(fā)送至一消息解碼分發(fā)器解析;根 據(jù)解析結(jié)果對所述復(fù)數(shù)個擴展消息進行分發(fā)處理。
[0007] 在上述基于XMPP擴展消息的消息分類實現(xiàn)的方法中,優(yōu)選的還包含:所述編解碼 協(xié)議層用于將所述復(fù)數(shù)個擴展消息定義為同一消息解碼分發(fā)器和同一解碼格式。
[0008] 在上述基于XMPP擴展消息的消息分類實現(xiàn)的方法中,優(yōu)選的還包含:所述解碼格 式為表示層數(shù)據(jù)格式。
[0009] 在上述基于XMPP擴展消息的消息分類實現(xiàn)的方法中,優(yōu)選的還包含:所述擴展消 息標簽名與名稱空間為所述擴展消息對應(yīng)編程語言類的類名與名稱空間。
[0010] 在上述基于XMPP擴展消息的消息分類實現(xiàn)的方法中,優(yōu)選的還包含:通過所述消 息解碼分發(fā)器解析所述復(fù)數(shù)個擴展消息,獲得所述復(fù)數(shù)個擴展消息的節(jié)點位置;根據(jù)所述 節(jié)點位置,將所述擴展消息分發(fā)至對應(yīng)位置進行處理。
[0011] 本發(fā)明還提供一種基于XMPP擴展消息的消息分類實現(xiàn)的裝置,所述裝置具體包 含:編碼模塊,在XMPP協(xié)議棧中加入編解碼協(xié)議層,將復(fù)數(shù)個擴展消息放置于所述編解碼 協(xié)議層中;編解碼協(xié)議模塊,通過所述編解碼協(xié)議層將所述復(fù)數(shù)個擴展消息統(tǒng)一發(fā)送至一 消息解碼分發(fā)器解析;消息分發(fā)模塊,用于根據(jù)解析結(jié)果對所述復(fù)數(shù)個擴展消息進行分發(fā) 處理。
[0012] 在上述基于XMPP擴展消息的消息分類實現(xiàn)的裝置中,優(yōu)選的還包含:所述編解碼 協(xié)議模塊還用于通過所述編解碼協(xié)議層將所述復(fù)數(shù)個擴展消息定義為同一消息解碼分發(fā) 器和同一解碼格式。
[0013] 在上述基于XMPP擴展消息的消息分類實現(xiàn)的裝置中,優(yōu)選的還包含:所述編碼模 塊還用于將所述擴展消息標簽名與名稱空間編碼為所述擴展消息對應(yīng)編程語言類的類名 與名稱空間。
[0014] 在上述基于XMPP擴展消息的消息分類實現(xiàn)的裝置中,優(yōu)選的還包含:所述消息分 發(fā)模塊還用于:通過所述消息解碼分發(fā)器解析所述復(fù)數(shù)個擴展消息,獲得所述復(fù)數(shù)個擴展 消息的節(jié)點位置;根據(jù)所述節(jié)點位置,將所述擴展消息分發(fā)至對應(yīng)位置進行處理。
[0015] 本發(fā)明的有益技術(shù)效果在于:通過在擴展指令消息上層增加對消息編解碼表示層 約定,來實現(xiàn)統(tǒng)一的對象消息轉(zhuǎn)換機制,從而無需再針對每個擴展消息提供解析器,以提高 開發(fā)效率;另外通過引用輕量級JSON混合編碼,達到既能滿足可擴展性,又能降低消息在 移動應(yīng)用上消耗傳輸流量的目的。
【附圖說明】
[0016] 此處所說明的附圖用來提供對本發(fā)明的進一步理解,構(gòu)成本申請的一部分,并不 構(gòu)成對本發(fā)明的限定。在附圖中:
[0017] 圖1為現(xiàn)有技術(shù)中XMPP數(shù)據(jù)分類解析示意圖;
[0018] 圖2為本發(fā)明所提供的基于XMPP擴展消息的消息分類實現(xiàn)的方法的流程示意 圖;
[0019] 圖3為本發(fā)明所提供的基于XMPP擴展消息的消息分類實現(xiàn)的方法一優(yōu)選實施例 解析示意圖。
【具體實施方式】
[0020] 為使本發(fā)明實施例的目的、技術(shù)方案和優(yōu)點更加清楚明白,下面結(jié)合實施例和附 圖,對本發(fā)明做進一步詳細說明。在此,本發(fā)明的示意性實施例及其說明用于解釋本發(fā)明, 但并不作為對本發(fā)明的限定。
[0021] 在即時通信領(lǐng)域,XMPP協(xié)議受到業(yè)界的普遍認可,并衍生出許多開源的中間件,如 XMPP服務(wù)器Openfire、Smart客戶端組件等?;诖?,第三方應(yīng)用可根據(jù)XMPP保留的擴展 消息機制,實現(xiàn)自身業(yè)務(wù)擴展消息與指令,來滿足自身的業(yè)務(wù)需求。
[0022] 在XMPP通信協(xié)議中,定義了常用的三大類型消息,包括信息查詢與設(shè)置(iq)、出 席狀態(tài)變更通知(presence)及用戶聊天消息(message),其中iq指令通過于用戶與服務(wù)器 之間的信息查詢與設(shè)置,而presence則用于發(fā)送用戶狀態(tài)的變更,其目的是通知已在線用 戶實時感知各種狀態(tài)的變化,如好友上下線等;message則用于發(fā)送用戶之間的聊天消息, 也可以用于物聯(lián)網(wǎng)應(yīng)用分布裝置間的消息傳遞,這些消息在接收方不在線時將被離線保 存。在XMPP協(xié)議里,定義了各種通用的場景的子協(xié)議,如好友名冊管理、群聊天室管理。然 而這種場景并無法滿足所有業(yè)務(wù)的需要,因此XMPP還制訂了一套自定義指令的擴展方式, 本方法正是基于XMPP擴展消息的JSON編解碼消息分類實現(xiàn)的一種方法。
[0023] 在請參考圖2所示,本發(fā)明所提供的基于XMPP擴展消息的消息分類實現(xiàn)的方法, 具體包含:SlOl在XMPP協(xié)議棧中加入編解碼協(xié)議層,將復(fù)數(shù)個擴展消息封裝于所述編解碼 協(xié)議層中;S102通過所述編解碼協(xié)議層將所述復(fù)數(shù)個擴展消息統(tǒng)一發(fā)送至一消息解碼分 發(fā)器解析;S103根據(jù)解析結(jié)果對所述復(fù)數(shù)個擴展消息進行分發(fā)處理。
[0024] 在上述步驟SlOl中,所述編解碼協(xié)議層用于將所述復(fù)數(shù)個擴展消息定義為同一 消息解碼分發(fā)器和同一解碼格式。具體方式,可在所述復(fù)數(shù)個擴展消息前綴處加入約定字 符串,通過所述約定的字符串定義其后的擴展消息為一特定解碼格式和在特定位置解碼。 其中,所述特定解碼格式為表示層數(shù)據(jù)格式,例如JSON數(shù)據(jù)交換格式等輕量級混合編碼, 值得說明的是,本領(lǐng)域相關(guān)技術(shù)人員當(dāng)可知,上述JSON數(shù)據(jù)交換格式僅為一較佳實施例, 本發(fā)明并不限定僅僅采用JSON數(shù)據(jù)交換格式,任何能達到本發(fā)明需求功效的數(shù)據(jù)格式均 應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。
[0025] 在上述步驟SlOl中,為編譯方便,可在編碼之前對所述擴展消息進行預(yù)處理,例 如將所述擴展消息標簽名與名稱空間為所述擴展消息對應(yīng)編程語言類的類名與名稱空間; 以此便于后期選擇解碼器時更為簡便。
[0026] 在上述步驟S103中,所述根據(jù)解析結(jié)果對所述復(fù)數(shù)個擴展消息進行分發(fā)處理包 含:通過所述消息解碼分發(fā)器解析所述復(fù)數(shù)個擴展消息,獲得所述復(fù)數(shù)個擴展消息的節(jié)點 位置;根據(jù)所述節(jié)點位置,將所述擴展消息分發(fā)至對應(yīng)位置進行處理。該處理方式依舊通過 XMPP協(xié)議定義的方式分發(fā),以此,使得在原XMPP協(xié)議改動較小的情況下達成本發(fā)明的上述 效果。
[0027] 本發(fā)明還提供一種基于XMPP擴展消息的消息分類實現(xiàn)的裝置,所述裝置具體包 含:編碼模塊,在XMPP協(xié)議棧中加入編解碼協(xié)議層,將復(fù)數(shù)個擴展消息放置于所述編解碼 協(xié)議層中;編解碼協(xié)議模塊,通過所述編解碼協(xié)議層將所述復(fù)數(shù)個擴展消息統(tǒng)一發(fā)送至一 消息解碼分發(fā)器解析;消息分發(fā)模塊,用于根據(jù)解析結(jié)果對所述復(fù)數(shù)個擴展消息進行分發(fā) 處理。
當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
乐都县| 临安市| 滕州市| 永济市| 宜都市| 萍乡市| 海南省| 台北县| 南投县| 新余市| 九寨沟县| 东台市| 甘肃省| 漳平市| 宁陵县| 白银市| 弥勒县| 会宁县| 民权县| 含山县| 犍为县| 鹰潭市| 桂平市| 施甸县| 鹤山市| 漾濞| 昌平区| 牡丹江市| 烟台市| 谢通门县| 大足县| 左云县| 台江县| 平塘县| 宣汉县| 三穗县| 九江市| 西乌| 庄浪县| 永靖县| 华安县|