基于xmpp的移動(dòng)終端信息實(shí)時(shí)匹配及通知系統(tǒng)和方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及移動(dòng)通信領(lǐng)域,尤其涉及基于XMPP協(xié)議的移動(dòng)終端信息實(shí)時(shí)匹配及通知系統(tǒng)及其方法。
【背景技術(shù)】
[0002]XMPP(可擴(kuò)展消息處理現(xiàn)場(chǎng)協(xié)議)是在XML基礎(chǔ)上開(kāi)發(fā)的用于即時(shí)通訊的協(xié)議,已經(jīng)被IEIF認(rèn)可為Internet標(biāo)準(zhǔn)協(xié)議(RFC3920和RFC3921)。XMPP協(xié)議作為一種公開(kāi)的、標(biāo)準(zhǔn)的、安全的、適應(yīng)性好而且易于擴(kuò)展的即時(shí)通訊協(xié)議,其最終目標(biāo)是要實(shí)現(xiàn)發(fā)送即時(shí)消息的人不必考慮接受對(duì)方使用的是何種即時(shí)通信軟件,也就是實(shí)現(xiàn)異構(gòu)系統(tǒng)間的互通。
[0003]XMPP標(biāo)準(zhǔn)系統(tǒng)網(wǎng)絡(luò)結(jié)構(gòu)使用XML數(shù)據(jù)流傳輸方式,包括XMPP客戶端、XMPP服務(wù)器和XMPP網(wǎng)關(guān)三個(gè)基本網(wǎng)元,其中,XMPP客戶端與XMPP服務(wù)器通過(guò)基于TCP的長(zhǎng)連接實(shí)現(xiàn)數(shù)據(jù)的實(shí)時(shí)傳輸。各個(gè)網(wǎng)元的功能如下:
[0004]XMPP服務(wù)器:主要負(fù)責(zé)的是,(I)對(duì)XMPP客戶端、XMPP服務(wù)器以及其他實(shí)體之間的XML流形式的連接和會(huì)話進(jìn)行管理;(2)在這些實(shí)體間使用XML流對(duì)合理編址的XML節(jié)點(diǎn)進(jìn)行路由;(3)還可以同時(shí)負(fù)責(zé)存儲(chǔ)客戶端使用的數(shù)據(jù)(比如基于XMPP協(xié)議的即時(shí)通信應(yīng)用中的好友列表),在這種情況下,XML數(shù)據(jù)直接由服務(wù)器來(lái)處理,而不需要轉(zhuǎn)發(fā)到其他實(shí)體。
[0005]XMPP客戶端:通過(guò)XMPP流獲得由XMPP服務(wù)器提供的功能。多個(gè)XMPP客戶端可以同時(shí)登陸并且并發(fā)的連接到一個(gè)XMPP服務(wù)器,每個(gè)XMPP客戶端通過(guò)XMPP地址的資源標(biāo)識(shí)符來(lái)區(qū)分。
[0006]XMPP網(wǎng)關(guān):是一個(gè)特殊用途的服務(wù)器端,主要功能是把XMPP流翻譯成外部的非XMPP消息系統(tǒng),并把返回的消息翻譯成XMPP流。
[0007]目前基于XMPP開(kāi)發(fā)的應(yīng)用系統(tǒng)僅針對(duì)固定終端,還沒(méi)有實(shí)現(xiàn)通過(guò)移動(dòng)終端信息(如地理位置、終端型號(hào)、用戶信息等)實(shí)現(xiàn)實(shí)時(shí)匹配及通知的功能。
【發(fā)明內(nèi)容】
[0008]為了彌補(bǔ)現(xiàn)有技術(shù)的不足,本發(fā)明提出了一種基于XMPP協(xié)議的移動(dòng)終端信息實(shí)時(shí)匹配及通知系統(tǒng),該系統(tǒng)的結(jié)構(gòu)框圖如圖1所示,具體為:
[0009]該系統(tǒng)包括XMPP客戶端和XMPP服務(wù)器,XMPP客戶端與XMPP服務(wù)器通過(guò)XML方式傳輸數(shù)據(jù),XMPP客戶端與XMPP服務(wù)器之間采用TCP連接;
[0010]XMPP客戶端一側(cè)還包含一個(gè)數(shù)據(jù)采集模塊,用于采集移動(dòng)終端的地址位置、終端型號(hào)、用戶信息,所述用戶信息包括查詢條件、通知策略;XMPP客戶端把數(shù)據(jù)采集模塊采集到的信息封裝成XML數(shù)據(jù),發(fā)送給XMPP服務(wù)器;
[0011]XMPP服務(wù)器一側(cè)還包含一個(gè)數(shù)據(jù)匹配模塊、一個(gè)通知策略模塊和一個(gè)數(shù)據(jù)庫(kù)模塊,數(shù)據(jù)匹配模塊用于根據(jù)XMPP客戶端發(fā)送過(guò)來(lái)的查詢條件查詢數(shù)據(jù)庫(kù)模塊,返回匹配結(jié)果;通知策略模塊用于根據(jù)XMPP客戶端發(fā)送過(guò)來(lái)的通知策略,確定以哪種消息類型把匹配結(jié)果實(shí)時(shí)返回給XMPP客戶端;數(shù)據(jù)庫(kù)模塊用于存儲(chǔ)XMPP客戶端使用的數(shù)據(jù)。
[0012]優(yōu)選的,所述XMPP客戶端和數(shù)據(jù)采集模塊位于所述移動(dòng)終端內(nèi)。
[0013]優(yōu)選的,XMPP客戶端根據(jù)通知策略接收相應(yīng)消息類型的匹配結(jié)果,所述消息類型包括列表、圖片、列表和圖片組合。
[0014]本發(fā)明還提出一種用于上述系統(tǒng)的方法,該方法的步驟流程如圖2所示,具體包括以下步驟:
[0015]a,數(shù)據(jù)采集模塊對(duì)移動(dòng)終端的相關(guān)信息地理位置、終端型號(hào)、用戶信息進(jìn)行采集;
[0016]b,XMPP客戶端把數(shù)據(jù)采集模塊采集到的信息封裝成XML數(shù)據(jù),發(fā)送給XMPP服務(wù)器;
[0017]c,XMPP服務(wù)器對(duì)接收到的XML數(shù)據(jù)進(jìn)行解析,轉(zhuǎn)化為消息實(shí)例,發(fā)送給數(shù)據(jù)匹配模塊;
[0018]d,數(shù)據(jù)匹配模塊拿到消息實(shí)例后,提取查詢條件向數(shù)據(jù)庫(kù)模塊發(fā)起查詢請(qǐng)求,返回查詢的匹配結(jié)果;
[0019]e.數(shù)據(jù)匹配模塊把匹配結(jié)果發(fā)送給通知策略模塊;
[0020]f,通知策略模塊根據(jù)XMPP客戶端給定的通知策略,確定以哪種消息類型把匹配結(jié)果實(shí)時(shí)返回給XMPP客戶端。
[0021]本發(fā)明在XMPP客戶端一側(cè)擴(kuò)展了數(shù)據(jù)采集模塊,在XMPP服務(wù)器一側(cè)擴(kuò)展了數(shù)據(jù)匹配模塊和通知策略模塊,使得基于XMPP開(kāi)發(fā)的應(yīng)用系統(tǒng)可以簡(jiǎn)單方便的應(yīng)用于移動(dòng)終端,很好的實(shí)現(xiàn)實(shí)時(shí)匹配及通知的功能。
【附圖說(shuō)明】
[0022]為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作一簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0023]圖1是本發(fā)明提出的系統(tǒng)的結(jié)構(gòu)框示意框圖;
[0024]圖2是本發(fā)明提出的方法的步驟流程示意圖。
【具體實(shí)施方式】
[0025]為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例;需要說(shuō)明的是,在不沖突的情況下,本申請(qǐng)中的實(shí)施例及實(shí)施例中的特征可以相互組合?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0026]實(shí)施例一:移動(dòng)終端信息實(shí)時(shí)匹配及通知系統(tǒng)
[0027]本實(shí)施例中,移動(dòng)終端信息實(shí)時(shí)匹配及通知系統(tǒng)包括XMPP客戶端和XMPP服務(wù)器,XMPP客戶端與XMPP服務(wù)器通過(guò)XML方式傳輸數(shù)據(jù),能支持大部分結(jié)構(gòu)化數(shù)據(jù)的傳輸;XMPP客戶端與XMPP服務(wù)器之間采用TCP連接,能保證XMPP客戶端實(shí)時(shí)的獲取XMPP服務(wù)器發(fā)送過(guò)來(lái)的信息。
[0028]用戶將XMPP客戶端安裝在移動(dòng)終端內(nèi),除此之外還在移動(dòng)終端內(nèi)安裝了一個(gè)數(shù)據(jù)采集模塊,用于采集移動(dòng)終端的地址位置、終端型號(hào)、用戶信息等,用戶信息包括查詢條件、通知策略等;XMPP客戶端把數(shù)據(jù)采集模塊采集到的信息封裝成XML數(shù)據(jù),發(fā)送給XMPP服務(wù)器。
[0029]系統(tǒng)在XMPP服務(wù)器一側(cè)還包含一個(gè)數(shù)據(jù)匹配模塊、一個(gè)通知策略模塊和一個(gè)數(shù)據(jù)庫(kù)模塊,數(shù)據(jù)匹配模塊用于根據(jù)XMPP客戶端發(fā)送過(guò)來(lái)的查詢條件查詢數(shù)據(jù)庫(kù)模塊,返回匹配結(jié)果;通知策略模塊用于根據(jù)XMPP客戶端發(fā)送過(guò)來(lái)的通知策略,確定以哪種消息類型把匹配結(jié)果實(shí)時(shí)返回給XMPP客戶端,XMPP客戶端根據(jù)通知策略接收相應(yīng)消息類型的匹配結(jié)果,所述消息類型可以包括列表、圖片、列表和圖片組合等;數(shù)據(jù)庫(kù)模塊用于存儲(chǔ)XMPP客戶端使用的數(shù)據(jù)。
[0030]實(shí)施例二:用戶實(shí)時(shí)查詢附近所有人的方法
[0031]本實(shí)施例采用實(shí)施例一的系統(tǒng),該系統(tǒng)中有一個(gè)移動(dòng)終端A,用戶在其上安裝了XMPP客戶端B,現(xiàn)在用戶想實(shí)時(shí)查