即時(shí)通信的消息的處理方法及處理系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001 ] 本發(fā)明涉及計(jì)算機(jī)即時(shí)通信技術(shù)領(lǐng)域,尤其涉及一種即時(shí)通信的消息的處理方法及處理系統(tǒng)。
【背景技術(shù)】
[0002]隨著移動(dòng)互聯(lián)網(wǎng)的發(fā)展,各種移動(dòng)應(yīng)用日益豐富,在各種移動(dòng)終端上廣泛使用即時(shí)通信軟件的場(chǎng)景越來越多。相對(duì)于桌面級(jí)的即時(shí)通信軟件,移動(dòng)級(jí)的即時(shí)通信軟件需要面對(duì)移動(dòng)網(wǎng)絡(luò)頻繁切換的問題,也即即時(shí)通信軟件的登錄用戶的在線及離線狀態(tài)會(huì)頻繁改變,如果維護(hù)這個(gè)狀態(tài),需要額外的流量,同時(shí)也會(huì)騷擾到用戶造成用戶體驗(yàn)下降,所以移動(dòng)級(jí)的即時(shí)通信軟件通常實(shí)施為無狀態(tài)即時(shí)通信軟件的形式。
[0003]引入無狀態(tài)機(jī)制需要解決客戶端和服務(wù)器兩方面的問題。傳統(tǒng)的辦法是推送式的,就像短線。由于客戶端是無狀態(tài)的,所以服務(wù)器收到轉(zhuǎn)發(fā)請(qǐng)求后總是嘗試發(fā)送,發(fā)送失敗就存離線,當(dāng)有新消息來時(shí),首先嘗試轉(zhuǎn)發(fā)先前保存的所有離線消息,發(fā)送成功后刪除,最后才發(fā)送新消息。這個(gè)辦法的問題是如果用戶長(zhǎng)時(shí)間不在線,就會(huì)有大量的離線消息,當(dāng)用戶再次上線時(shí)會(huì)被迫接收大量離線消息,同時(shí),由于服務(wù)器不斷的嘗試轉(zhuǎn)發(fā),對(duì)服務(wù)器性能及功耗也是浪費(fèi)。另一種就是主動(dòng)式的,用戶在上線時(shí)獲取離線消息,上線后服務(wù)器就即時(shí)推送信息,這需要服務(wù)器維護(hù)用戶狀態(tài),其缺點(diǎn)已經(jīng)提到了是浪費(fèi)流量以及可能降低用戶體驗(yàn)。
[0004]現(xiàn)有技術(shù)中申請(qǐng)?zhí)枮?00610001286.0的“一種即時(shí)消息系統(tǒng)和消息處理方法”的專利文獻(xiàn)公開的技術(shù)方案可用于處理在線及離線消息,但該專利沒有解決大量離線消息的處理。在企業(yè)級(jí)應(yīng)用中,所有消息都是敏感的,不能隨意丟棄。當(dāng)用戶長(zhǎng)時(shí)間沒有登錄時(shí),可能會(huì)有大量的離線消息,如果用戶登錄后服務(wù)器就推送所有離線消息,會(huì)造成客戶端繁忙,甚至影響正常接收在線實(shí)時(shí)消息,另外,在移動(dòng)互聯(lián)網(wǎng)背景下,用戶對(duì)網(wǎng)絡(luò)流量比較敏感,某些群聊消息用戶可能不關(guān)心,如果不加區(qū)分的將全部離線消息推送給用戶,會(huì)造成流量浪費(fèi)。
【發(fā)明內(nèi)容】
[0005]為了克服現(xiàn)有技術(shù)中的上述缺陷,本發(fā)明提供了一種即時(shí)通信的消息的處理方法,該方法包括:
[0006]服務(wù)器向即時(shí)消息客戶端轉(zhuǎn)發(fā)多個(gè)消息產(chǎn)生者發(fā)送的消息,并判斷所述轉(zhuǎn)發(fā)是否成功,若所述轉(zhuǎn)發(fā)失敗,則根據(jù)所述多個(gè)消息產(chǎn)生者發(fā)送的消息生成離線消息集合;
[0007]所述即時(shí)消息客戶端接入所述服務(wù)器;
[0008]所述即時(shí)消息客戶端獲取所述離線消息集合的快照信息;
[0009]所述即時(shí)消息客戶端預(yù)加載所述離線消息集合中的預(yù)定離線消息,并延遲加載所述離線消息集合中不同于所述預(yù)定離線消息的其他離線消息;
[0010]所述服務(wù)器根據(jù)所述即時(shí)消息客戶端的請(qǐng)求向該即時(shí)消息客戶端下發(fā)所述其他離線消息。
[0011]根據(jù)本發(fā)明的一個(gè)方面,該方法中根據(jù)所述多個(gè)消息產(chǎn)生者發(fā)送的消息生成離線消息集合包括:根據(jù)每一所述消息產(chǎn)生者發(fā)送的所述消息生成的至少一頁離線消息;將多個(gè)所述至少一頁離線消息組合為所述離線消息集合。
[0012]根據(jù)本發(fā)明的另一個(gè)方面,該方法中所述預(yù)定離線消息包括:所述至少一頁離線消息中的預(yù)定頁,所述預(yù)定頁的屬性參數(shù)大于預(yù)定閾值。
[0013]根據(jù)本發(fā)明的另一個(gè)方面,該方法中所述快照信息包括:根據(jù)所述消息生成的消息概要列表。
[0014]根據(jù)本發(fā)明的另一個(gè)方面,該方法中所述消息概要列表包括:每一所述消息產(chǎn)生者的名稱;每一所述消息產(chǎn)生者發(fā)送的最近一條所述消息的內(nèi)容;以及每一所述消息產(chǎn)生者發(fā)送的所述消息的數(shù)量。
[0015]根據(jù)本發(fā)明的另一個(gè)方面,在所述即時(shí)消息客戶端接入所述服務(wù)器之后,該方法還包括:所述服務(wù)器接收針對(duì)所述即時(shí)消息客戶端的即時(shí)消息;所述服務(wù)器向所述即時(shí)消息客戶端實(shí)時(shí)推送所述即時(shí)消息。
[0016]相應(yīng)地,本發(fā)明還提供了一種即時(shí)通信的消息的處理系統(tǒng),該系統(tǒng)包括即時(shí)消息客戶端和服務(wù)器,其中:
[0017]所述服務(wù)器包括離線消息模塊、快照模塊、預(yù)加載模塊和下發(fā)模塊;
[0018]所述離線消息模塊,用于向所述即時(shí)消息客戶端轉(zhuǎn)發(fā)多個(gè)消息產(chǎn)生者發(fā)送的消息,并判斷所述轉(zhuǎn)發(fā)是否成功,若所述轉(zhuǎn)發(fā)失敗,則根據(jù)所述多個(gè)消息產(chǎn)生者發(fā)送的消息生成離線消息集合;
[0019]所述快照模塊,用于生成所述離線集合的快照信息,并向所述即時(shí)消息客戶端發(fā)送該快照信息;
[0020]預(yù)加載模塊,用于向所述即時(shí)消息客戶端發(fā)送所述離線消息集合中的預(yù)定離線消息,并延遲發(fā)送所述離線消息集合中不同于所述預(yù)定離線消息的其他離線消息;
[0021]所述下發(fā)模塊,用于根據(jù)所述即時(shí)消息客戶端的請(qǐng)求向該即時(shí)消息客戶端下發(fā)所述其他離線消息。
[0022]所述即時(shí)消息客戶端,用于向所述服務(wù)器請(qǐng)求獲取所述快照信息、所述預(yù)定離線消息和所述其他離線消息。
[0023]根據(jù)本發(fā)明的一個(gè)方面,該系統(tǒng)中根據(jù)所述多個(gè)消息產(chǎn)生者發(fā)送的消息生成離線消息集合包括:根據(jù)每一所述消息產(chǎn)生者發(fā)送的所述消息生成的至少一頁離線消息;將多個(gè)所述至少一頁離線消息組合為所述離線消息集合。
[0024]根據(jù)本發(fā)明的另一個(gè)方面,該系統(tǒng)中所述預(yù)定離線消息包括:所述至少一頁離線消息中的預(yù)定頁,所述預(yù)定頁的屬性參數(shù)大于預(yù)定閾值。
[0025]根據(jù)本發(fā)明的另一個(gè)方面,該系統(tǒng)中所述快照信息包括:根據(jù)所述消息生成的消息概要列表。
[0026]根據(jù)本發(fā)明的另一個(gè)方面,該系統(tǒng)中所述消息概要列表包括:每一所述消息產(chǎn)生者的名稱;每一所述消息產(chǎn)生者發(fā)送的最近一條所述消息的內(nèi)容;以及每一所述消息產(chǎn)生者發(fā)送的所述消息的數(shù)量。
[0027]根據(jù)本發(fā)明的另一個(gè)方面,該系統(tǒng)中所述服務(wù)器還包括:實(shí)時(shí)推送模塊,用于接收針對(duì)所述即時(shí)消息客戶端的即時(shí)消息,并向所述即時(shí)消息客戶端實(shí)時(shí)推送所述即時(shí)消息。
[0028]本發(fā)明所提供的即時(shí)通信的消息的處理方法及系統(tǒng)將推送式和主動(dòng)式的消息推送方法結(jié)合使用,在存在大量離線消息的情況下能保證即時(shí)消息客戶端優(yōu)先獲得離線消息的快照以及重要的離線消息,并延遲發(fā)送其他的離線消息,一方面,避免了由于消息擁堵造成的消息丟失、客戶端響應(yīng)速度慢等問題,另一方面,節(jié)省了客戶端所耗費(fèi)的網(wǎng)絡(luò)流量,并降低了服務(wù)器的功耗和負(fù)載。
【附圖說明】
[0029]通過閱讀參照以下附圖所作的對(duì)非限制性實(shí)施例所作的詳細(xì)描述,本發(fā)明的其它特征、目的和優(yōu)點(diǎn)將會(huì)變得更明顯:
[0030]圖1是根據(jù)本發(fā)明的即時(shí)通信的消息的處理方法的一種【具體實(shí)施方式】的流程圖;
[0031]圖2是圖1示出的方法的可選額外步驟的流程圖;
[0032]圖3是根據(jù)本發(fā)明的即時(shí)通信的消息的處理系統(tǒng)的一種【具體實(shí)施方式】的結(jié)構(gòu)示意圖;
[0033]圖4是用于實(shí)現(xiàn)運(yùn)行本發(fā)明的即時(shí)消息客戶端的智能終端的結(jié)構(gòu)示意圖;
[0034]附圖中相同或相似的附圖標(biāo)記代表相同或相似的部件。
【具體實(shí)施方式】
[0035]為了更好地理解和闡釋本發(fā)明,下面將結(jié)合附圖