Pushlet即時通信方法及平臺的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種即時通信方法及平臺,特別是指一種Pushlet即時通信方法及平臺。
【背景技術(shù)】
[0002]Pushlet是一個開源的Comet框架,其使用了觀察者模型,讓用戶端發(fā)送請求,訂閱感興趣的事件,Pushlet服務(wù)器端會為每個用戶端分配一個識別碼(ID)作為標記,并把新產(chǎn)生的事件以多播的方式發(fā)送到訂閱者的事件隊列(queue)里。
[0003]而在對傳統(tǒng)的pushlet即時通信(以下簡稱頂)服務(wù)器測試時發(fā)現(xiàn),當其發(fā)送信息的頻率范圍在300毫秒(ms) -1秒(s)時,用戶端會出現(xiàn)接收信息越來越慢的現(xiàn)象,以致事件隊列中未推送的信息一直累計增加,使得pushlet IM服務(wù)器負載增大,最終導(dǎo)致事件隊列中的信息無法及時推送至用戶端。究其原因發(fā)現(xiàn)這是因為傳統(tǒng)的pushlet IM服務(wù)器是以堆棧機制逐筆推送信息。
[0004]此外,傳統(tǒng)的pushlet頂服務(wù)器是基于HTTP協(xié)議與用戶端保持通信,但此種通信方式使得傳統(tǒng)的pushlet IM服務(wù)器無法與基于其他通信協(xié)議,例如SOAP、XML等的用戶端通信,而限制了傳統(tǒng)pushlet頂服務(wù)器的應(yīng)用范圍。
[0005]因此,需要提供一種Pushlet即時通信方法及平臺來解決上述問題。
【發(fā)明內(nèi)容】
[0006]因此,本發(fā)明的目的即在于提供一種能提高信息吞吐量,及時推送信息并能與基于不同通信協(xié)議的任意用戶端通信的Pushlet即時通信方法及平臺。
[0007]于是,本發(fā)明提供一種Pushlet即時通信方法,該Pushlet即時通信方法應(yīng)用于一架設(shè)在通信網(wǎng)絡(luò)上的Pushlet即時通信平臺,用以將一發(fā)送端傳來的一信息推送至一接收端,該Pushlet即時通信方法包括:(A)該Pushlet即時通信平臺的一 Pushlet即時通信接口提供一基于Java語言的網(wǎng)頁服務(wù),以通過該網(wǎng)頁服務(wù)與該發(fā)送端建立連線,并接收該發(fā)送端傳送的一遵照該網(wǎng)頁服務(wù)的一通信協(xié)議的信息,其中該信息包括一接收端信息;(B)該Pushlet即時通信接口的一用戶驗證模塊驗證該信息的該發(fā)送端是否合法,再將該信息傳送給該Pushlet即時通信平臺的一 Pushlet即時通信服務(wù)器;以及(C)該Pushlet即時通信服務(wù)器的一信息檢驗?zāi)K檢驗該信息是否合法,并在確認該信息合法后,將該信息傳送至該Pushlet即時通信服務(wù)器的一線程池,使該線程池根據(jù)該信息包括的該接收端信息,建立與該接收端對應(yīng)的一線程,以通過該線程推送該信息至該接收端。
[0008]較佳地,該信息檢驗?zāi)K根據(jù)預(yù)設(shè)的一過濾條件,判斷該信息的標題或內(nèi)容是否包含該過濾條件中的至少一關(guān)鍵字,以確認該信息是否合法。
[0009]較佳地,該發(fā)送端及該接收端需先向該Pushlet即時通信服務(wù)器的一注冊模塊注冊,以取得一識別碼,且該用戶驗證模塊根據(jù)該信息中包含的該發(fā)送端的一識別碼,參照該注冊模塊提供的一用戶端數(shù)據(jù)庫中記錄的識別碼信息,判斷該發(fā)送端是否為合法用戶。
[0010]較佳地,當該接收端信息包含多個接收端時,該線程池會對應(yīng)每個接收端建立相對應(yīng)的一線程,并執(zhí)行多線程,使各個線程同步傳送該信息給相對應(yīng)的該接收端。
[0011]較佳地,當該線程池收到要分別傳送至多個接收端的多個信息時,該線程池會對應(yīng)各個接收端建立相對應(yīng)的一線程,并執(zhí)行多線程分別將該等信息同步傳送至相對應(yīng)的該接收端。
[0012]再者,本發(fā)明實現(xiàn)上述方法的一種Pushlet即時通信平臺,該Pushlet即時通信平臺架設(shè)在一通信網(wǎng)絡(luò)上,用以將一發(fā)送端傳來的一信息推送至一接收端,該Pushlet即時通信平臺包括:一 Pushlet即時通信接口,該Pushlet即時通信接口包括一基于Java語言的網(wǎng)頁服務(wù)及一用戶驗證模塊;以及一 Pushlet信息服務(wù)器,該Pushlet信息服務(wù)器包括一信息檢驗?zāi)K及一線程池;其中該Pushlet信息接口與該發(fā)送端建立連線,并接收該發(fā)送端傳送的一遵照該網(wǎng)頁服務(wù)的一通信協(xié)議的信息,其中該信息包括一接收端信息,且該用戶驗證模塊驗證該信息的該發(fā)送端是否合法,再將該信息傳送給該Pushlet信息服務(wù)器;該信息檢驗?zāi)K檢驗該信息是否合法,并在確認該信息合法后,將該信息傳送至該線程池,該線程池根據(jù)該信息包括的該接收端信息,建立與該接收端對應(yīng)的一線程,以通過該線程推送該信息至該接收端。
[0013]較佳地,該Pushlet信息服務(wù)器還包括一注冊模塊,其接受該發(fā)送端及該接收端提供的一注冊信息并確認注冊成功后,提供一識別碼給該發(fā)送端及該接收端,且該用戶驗證模塊根據(jù)該信息中包含的該發(fā)送端的一識別碼,參照該注冊模塊提供的一用戶端數(shù)據(jù)庫中記錄的識別碼信息,判斷該發(fā)送端是否為合法用戶。
[0014]本發(fā)明的Pushlet IM接口通過基于Java語言的網(wǎng)頁服務(wù),而能與基于不同標準協(xié)議的任何發(fā)送端通信,不受單一協(xié)議限制,擴大Pushlet頂平臺的應(yīng)用范圍,且Pushlet頂服務(wù)器的線程池能針對信息所要送達的多個接收端,對應(yīng)每一接收端建立相對應(yīng)的一線程,而以多線程機制同時推送信息至接收端,使信息能及時推送至用戶端,確實達到本發(fā)明的功效與目的。
【附圖說明】
[0015]本發(fā)明的其他的特征及功效,將在參照附圖的實施方式中清楚地呈現(xiàn),其中:
[0016]圖1是本發(fā)明Pushlet即時通信(頂)方法的一較佳實施例的流程圖;以及
[0017]圖2是本發(fā)明Pushlet即時通信(頂)平臺的一較佳實施例的主要構(gòu)成組件示意圖。
[0018]主要組件符號說明:
[0019]I Pushlet即時通信(頂)平臺
[0020]2 發(fā)送端
[0021]3 接收端
[0022]11 Pushlet即時通信(頂)接口
[0023]12 Pushlet即時通信(頂)服務(wù)器
[0024]13網(wǎng)頁服務(wù)
[0025]14用戶驗證模塊
[0026]15注冊模塊
[0027]16信息檢驗?zāi)K
[0028]17線程池
[0029]18信息管理模塊
[0030]511?520步驟
【具體實施方式】
[0031]參見圖1及圖2所示,本發(fā)明的Pushlet即時通信(Instant Messaging,以下簡稱no方法的一較佳實施例應(yīng)用于一架設(shè)在通信網(wǎng)絡(luò)上的Pushlet即時通信平臺1,用以將一發(fā)送端2傳來的一信息推送至一接收端3。該方法使Pushlet IM平臺I提供一 Pushlet頂接口 11及一 Pushlet頂服務(wù)器12,其中Pushlet頂接口 11包含一基于Java語言的網(wǎng)頁服務(wù)(webservice) 13以及一用戶驗證模塊14。Pushlet IM服務(wù)器12包含一注冊模塊15、一信息檢驗?zāi)K16及一線程(thread,又稱執(zhí)行緒)池17。
[0032]且由于Pushlet IM接口 11的網(wǎng)頁服務(wù)13是以Java語言所設(shè)計,其繼承了 Java語言不受平臺限制的特性,所以網(wǎng)頁服務(wù)13能夠接受以HTTP、S0AP、XML等標準數(shù)據(jù)格式與其進行通信以提供服務(wù)。因此,Pushlet頂平臺I的用戶端(包含發(fā)送端2與接收端3)不會受限于傳統(tǒng)Pushlet頂服務(wù)器的HTTP協(xié)議,其只要遵照網(wǎng)頁服務(wù)13的通信協(xié)議,就能與Pushlet頂接口 11建立連線,進而通過Pushlet頂服務(wù)器12傳收信息。
[0033]而且,如圖2所示,要使用Pushlet頂平臺I推送信息之前,發(fā)送端2與接收端3皆需先向Pushlet IM服務(wù)器12的注冊模塊15注冊,例如提供一注冊信息(個人身份數(shù)據(jù)等),并由注冊模塊15確認注冊成功后,成為Pushlet IM平臺I的用戶端(例如圖2中的用戶端1、用戶端2、用戶端3),并由注冊模塊15授予一識別碼,且該注冊信息及該識別碼同時被記錄在一用戶端數(shù)據(jù)庫中。此外,注冊模塊15亦開放該用戶端數(shù)據(jù)庫給Pushlet頂接口 11的用戶驗證模塊14使用,作為驗證用戶身份之用。
[0034]因此,如圖1的步驟Sll,發(fā)送端2遵照網(wǎng)頁服務(wù)13的通信協(xié)議,與Pushlet頂接口 11建立連線后,如步驟S12,發(fā)送端2即能傳送一基于HTTP、SOAP、XML等標準數(shù)據(jù)格式其中之一的信息給Pushlet頂接口 11的網(wǎng)頁服務(wù)13。其中信息除了包含要傳送的內(nèi)容夕卜,還包含傳送端2的識別碼以及一接收端信息,例如接收端3的識別碼等。然后,如步驟S13,網(wǎng)頁服務(wù)13收到來自發(fā)送端2的信息后