專利名稱:一種發(fā)送好友更新微博消息的方法、服務器和系統(tǒng)的制作方法
技術領域:
本發(fā)明涉及計算機技術領域,特別涉及一種發(fā)送好友更新微博消息的方法、服務器和系統(tǒng)。
背景技術:
隨著互聯(lián)網(wǎng)應用的發(fā)展,微博作為一種擴展即時通訊消息傳播機制的新應用得到快速的增長。微博是用戶通過140個字左右的一句話來表達自己,這種方式的傳播和傳遞的速度非常快,實現(xiàn)用戶消息聊天模式從傳統(tǒng)的一對一、一對多到一對無窮的跨越,一對無窮的模式意味著一個人可以對無窮多個人進行消息的傳播,一個人同時也可以收聽萬級以上的好友,微博用戶的好友已經(jīng)達到同時在線一億的量級,因此基于大量的好友,對獲取好友更新微博消息的應用提出了新的要求?,F(xiàn)有的獲取好友更新微博消息的技術,一般是用戶每次登陸微博客戶端的過程中,向服務器發(fā)送攜帶當前用戶的UIN(User Identification Number,用戶識別號碼)的請求信息;服務器接收到該請求信息后,首先拉取該用戶的所有好友信息,并在所有好友中篩選出開通微博服務的好友,再根據(jù)篩選出的好友是否容許微博消息對好友可見,二次篩選出相應的ΠΝ列表;最后獲取二次篩選出的好友最近更新的微博消息ID及發(fā)表的時間戳信息,將該微博消息ID及發(fā)表的時間戳信息返回給客戶端??蛻舳嗽俅蔚顷懞?,還會重新觸發(fā)上述流程。在實現(xiàn)本發(fā)明的過程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術至少存在以下問題:服務器每次接收到請求信息后,要對用戶的所有好友信息進行二次篩選處理,由于當前微博好友的數(shù)量巨大,服務器的負載量特別大;另外,不同的登錄過程中,服務器對整個流程的處理沒有絲毫的減少,給服務器帶來了巨大的負載量和流量浪費。
發(fā)明內(nèi)容
為了降低服務器的負載量和流量浪費,本發(fā)明實施例提供了一種發(fā)送好友更新微博消息的方法、服務器和系統(tǒng)。所述技術方案如下:一方面,本發(fā)明實施例提供了一種發(fā)送好友更新微博消息的方法,所述方法包括:接收客戶端發(fā)送的請求信息,所述請求信息中攜帶預存儲的用戶的好友相關信息,所述用戶的好友相關信息至少包括開通微博的好友的識別號碼,和所述好友發(fā)表微博消息的第一時間戳;根據(jù)所述識別號碼,獲取所述識別號碼對應的好友,并根據(jù)所述第一時間戳,判斷所述好友是否有更新微博消息;所述好友有更新微博消息時,將所述好友的更新微博消息發(fā)送給客戶端。其中,所述根據(jù)所述第一時間戳,判斷所述好友是否有更新微博消息,具體包括:根據(jù)所述開通微博的好友的識別號碼,獲取所述好友當前最新發(fā)表微博消息的第二時間戳;判斷所述好友當前最新發(fā)表微博消息的第二時間戳與所述請求信息中攜帶的所述好友發(fā)表微博消息的第一時間戳是否相同,若不同,判斷出所述好友有更新微博消息。其中,所述開通微博的好友的識別號碼具體包括開通微博且允許微博消息可見的好友的識別號碼;相應地,所述根據(jù)所述識別號碼,獲取所述識別號碼對應的好友,具體包括:根據(jù)所述開通微博且允許微博消息可見的好友的識別號碼,獲取所述識別號碼對應的開通微博且允許微博消息可見的好友。進一步地,所述接收客戶端發(fā)送的請求信息之前,所述方法還包括:根據(jù)為開通微博的好友預設的第一標志位,獲取所述開通微博的好友的識別號碼;將所述開通微博的好友的識別號碼發(fā)送給所述客戶端,用于發(fā)起請求。進一步地,所述接收客戶端發(fā)送的請求信息之前,所述方法還包括:根據(jù)為允許微博消息可見的好友預設的第二標志位和所述第一標志位,獲取所述開通微博且允許微博消息可見的好友的識別號碼;將所述開通微博且允許微博消息可見的好友的識別號碼發(fā)送給所述客戶端,用于發(fā)起請求。其中,所述將所述好友的更新微博消息發(fā)送給所述客戶端,具體包括:將所述好友的更新微博消息以數(shù)據(jù)包的形式發(fā)送給所述客戶端;所述數(shù)據(jù)包中還攜帶一識別碼,所述識別碼用于識別所述好友的更新微博消息是否全部返回給客戶端。另一方面,本發(fā)明實施例還提供一種獲取好友更新微博消息的方法,所述方法包括:向服務器發(fā)送請求信息,所述請求信息中攜帶預存儲的用戶的好友相關信息;所述用戶的好友相關信息至少包括開通微博的好友的識別號碼和所述好友發(fā)表微博消息的第一時間戳;獲取服務器發(fā)送的好友的更新微博消息。進一步地,所述向服務器發(fā)送請求信息之前,所述方法還包括:向服務器發(fā)送第一請求信息,所述第一請求信息中攜帶用戶自身的識別號碼;獲取服務器發(fā)送的用戶的開通微博的好友的識別號碼和所述好友發(fā)表微博消息的第一時間戳。其中,所述開通微博的好友的識別號碼具體包括開通微博且允許微博消息可見的好友的識別號碼;相應地,所述好友發(fā)表微博消息的第一時間戳,具體包括所述開通微博且允許微博消息可見的好友的識別號碼的好友發(fā)表微博消息的第一時間戳。進一步地,所述方法還包括:獲取服務器發(fā)送的數(shù)據(jù)包;根據(jù)所述數(shù)據(jù)包中攜帶的識別碼,判斷所述好友的更新微博消息是否全部返回;所述好友的更新微博消息未全部返回給客戶端時,根據(jù)未更新的好友的識別號碼,及本地緩存的所述未更新的好友發(fā)表微博消息的時間戳,再次向服務器發(fā)起請求。另一方面,本發(fā)明實施例還提供一種服務器,所述服務器包括接收模塊、判斷模塊和發(fā)送模塊,所述接收模塊,用于接收客戶端發(fā)送的請求信息,所述請求信息中攜帶預存儲的用戶的好友相關信息;所述用戶的好友相關信息至少包括開通微博的好友的識別號碼,和所述好友發(fā)表微博消息的時間戳;所述判斷模塊,用于根據(jù)所述識別號碼,獲取所述識別號碼對應的好友,并根據(jù)所述第一時間戳,判斷所述好友是否有更新微博消息;所述發(fā)送模塊,用于當所述判斷模塊的判斷結果為是時,將所述好友的更新微博消息發(fā)送給客戶端。其中,所述判斷模塊具體包括獲取單元和判斷單元;所述獲取單元,用于根據(jù)所述開通微博的好友的識別號碼,獲取所述好友當前最新發(fā)表微博消息的第二時間戳;所述判斷單元,用于判斷所述好友當前最新發(fā)表微博消息的第二時間戳與所述請求信息中攜帶的所述好友發(fā)表微博消息的第一時間戳是否相同,若不同,則判斷出所述好友有更新微博消息。其中,所述開通微博的好友的識別號碼具體包括開通微博且允許微博消息可見的好友的識別號碼,所述好友發(fā)表微博消息的第一時間戳具體包括開通微博且允許微博消息可見的好友發(fā)表微博消息的第一時間戳,所述判斷模塊,還用于根據(jù)所述開通微博且允許微博消息可見的好友的識別號碼,獲取所述識別號碼對應的開通微博且允許微博消息可見的好友,并根據(jù)所述開通微博且允許微博消息可見的好友發(fā)表微博消息的第一時間戳,判斷所述開通微博且允許微博消息可見的好友是否有更新微博消息。其中,所述發(fā)送模塊具體用于將所述好友的更新微博消息以數(shù)據(jù)包的形式發(fā)送給所述客戶端;所述數(shù)據(jù)包中還攜帶一識別碼,所述識別碼用于識別所述好友的更新微博消息是否全部返回給客戶端。另一方面,本發(fā)明實施例還提供一種客戶端,所述客戶端包括:發(fā)送模塊,用于向服務器發(fā)送請求信息,所述請求信息中攜帶預存儲的用戶的好友相關信息;所述用戶的好友相關信息至少包括開通微博的好友的識別號碼,和所述好友發(fā)表微博消息的第一時間戳;獲取模塊,用于獲取服務器發(fā)送的好友的更新微博消息。進一步地,所述客戶端還包括:第一發(fā)送模塊,用于向服務器發(fā)送第一請求信息,所述第一請求信息中攜帶用戶自身的識別號碼;第一獲取模塊,用于獲取服務器發(fā)送的用戶的開通微博的好友的識別號碼和所述好友發(fā)表微博消息的第一時間戳。其中,所述客戶端還包括:第二獲取模塊,用于獲取服務器發(fā)送的用戶的開通微博且允許微博消息可見的好友的識別號碼和所述開通微博且允許微博消息可見的好友發(fā)表微博消息的第一時間戳。
進一步地,所述客戶端還包括處理模塊,所述處理模塊具體包括獲取單元、判斷單元和發(fā)送單元;所述獲取單元,用于獲取服務器發(fā)送的數(shù)據(jù)包;所述判斷單元,用于根據(jù)所述數(shù)據(jù)包中攜帶的識別碼,獲取所述好友的更新微博消息是否全部返回;所述發(fā)送單元,用于當所述判斷單元判斷出所述好友的更新微博消息未全部返回時,根據(jù)未更新的好友的識別號碼,及本地緩存的所述未更新的好友發(fā)表微博消息的時間戳,再次向服務器發(fā)起請求。另一方面,本發(fā)明實施例還提供一種獲取好友更新微博消息的系統(tǒng),所述系統(tǒng)包括服務器和客戶端;所述服務器,用于接收所述客戶端發(fā)送的請求信息,所述請求信息中攜帶預存儲的用戶的好友相關信息,所述用戶的好友相關信息至少包括開通微博的好友的識別號碼,和所述好友發(fā)表微博消息的第一時間戳;根據(jù)所述識別號碼,獲取所述識別號碼對應的好友,并根據(jù)所述第一時間戳,判斷所述好友是否有更新微博消息;所述好友有更新微博消息時,將所述好友的更新微博消息發(fā)送給客戶端;所述客戶端,用于緩存用戶的好友相關信息,向所述服務器發(fā)送請求信息,獲取服務器發(fā)送的好友的更新微博消息。其中,所述客戶端還用于向所述服務器發(fā)送第一請求信息,所述第一請求信息中攜帶用戶自身的識別號碼;并獲取所述服務器發(fā)送的用戶的開通微博的好友的識別號碼和所述好友發(fā)表微博消息的第一時間戳;所述服務器還用于根據(jù)用戶自身攜帶的識別號碼,獲取用戶的開通微博的好友的識別號碼和好友發(fā)表微博消息的第一時間戳,并將所述開通微博的好友的識別號碼和好友發(fā)表微博消息的第一時間戳發(fā)送給所述客戶端。本發(fā)明實施例提供的技術方案帶來的有益效果是:通過服務器接收的請求信息中攜帶的開通微博的好友的識別號碼,從而獲取開通微博的好友是否更新微博消息,并發(fā)送開通微博的好友的更新信息。服務器不再需要從用戶的所有好友中篩選出開通微博的好友的信息,而是直接根據(jù)請求信息,判斷開通微博的好友中哪些好友更新了微博信息,從而將好友的更新微博消息發(fā)送給客戶端。本技術方案接收的請求信息中攜帶了經(jīng)過篩選過的好友的識別號碼,確定了請求的好友的范圍,從而有效減輕了服務器的負載量,也降低了流量浪費,使用戶可以在登陸微博客戶端時且點擊展開好友列表后,第一時間看到開通微博的好友的最近更新的微博消息,在保證服務質量的同時降低了服務器的負載量,為用戶提供更加便利的服務。
圖1是本發(fā)明實施例1中提供的發(fā)送好友更新微博消息的方法流程圖;圖2是本發(fā)明實施例2中提供的發(fā)送好友更新微博消息的方法流程圖;圖3是本發(fā)明實施例2中提供的一種獲取好友更新微博消息的系統(tǒng)的示意圖;圖4是本發(fā)明實施例3中提供的服務器的結構示意圖;圖5是本發(fā)明實施例3中提供的判斷模塊的結構示意圖6是本發(fā)明實施例4中提供的客戶端的結構示意圖;圖7是本發(fā)明實施例5中提供的獲取好友更新微博消息的系統(tǒng)結構示意圖。
具體實施例方式為使本發(fā)明的目的、技術方案和優(yōu)點更加清楚,下面將結合附圖對本發(fā)明實施方式作進一步地詳細描述。實施例1參見圖1,本發(fā)明實施例提出了一種發(fā)送好友更新微博消息的方法,具體包括:步驟101:接收客戶端發(fā)送的請求信息,該請求信息中攜帶預存儲的用戶的好友相關信息,用戶的好友相關信息至少包括開通微博的好友的識別號碼,和好友發(fā)表微博消息的第一時間戳;步驟102:根據(jù)識別號碼,獲取識別號碼對應的好友,并根據(jù)第一時間戳,判斷好友是否有更新微博消息;步驟103:好友有更新微博消息時,將好友的更新微博消息發(fā)送給客戶端。本發(fā)明實施例提供的方法,通過服務器接收的請求信息中攜帶的開通微博的好友的識別號碼,從而獲取開通微博的好友是否更新微博消息,并發(fā)送開通微博的好友的更新信息。服務器不再需要從用戶的所有好友中篩選出開通微博的好友的信息,而是直接根據(jù)請求信息,判斷開通微博的好友中哪些好友更新了微博信息,從而將好友的更新微博消息發(fā)送給客戶端。本發(fā)明接收的請求信息中攜帶了經(jīng)過篩選過的好友的識別號碼,確定了請求的好友的范圍,從而有效減輕了服務器的負載量,并降低了流量浪費,使用戶可以在登陸微博客戶端時且點擊展開好友列表后,第一時間看到開通微博的好友的最近更新的微博消息,在保證服務質量的同時降低了服務器的負載量,為用戶提供更加便利的服務。實施例2參見圖2,本發(fā)明實施例提出了一種發(fā)送好友更新微博消息的方法,具體包括:步驟201:用戶首次登錄客戶端的過程,向微博后臺服務器發(fā)送第一請求信息,該第一請求信息中攜帶用戶自身的識別號碼;該步驟針對的是用戶首次登陸客戶端,獲取好友的更新微博消息的情況。用戶發(fā)起的第一請求信息中攜帶了用戶自身的識別號碼,從而便于微博后臺服務器能夠根據(jù)該用戶自身的識別號碼獲取該用戶對應的好友相關信息。進一步地,本發(fā)明實施例中,參見圖3,微博后臺服務器包括微博索引服務器、微博消息服務器和微博用戶服務器,其中,微博索引服務器:主要用于管理所有用戶發(fā)表的微博消息索引以及用戶的識別標識之間的映射關系,便于可以根據(jù)用戶的識別號碼拉取到某種類型的相關所有微博消息ID (Identity,身份標識號碼)列表;微博消息服務器:主要用于管理微博消息索引與微博消息的消息體之間的映射關系,微博客戶端可以用微博消息索引拉取到對應的微博消息的消息體;微博用戶服務器:用于保存微博用戶的相關信息,如用戶自身的識別號碼,并提供某用戶是否設置了容許微博信息在好友上可展現(xiàn)等信息。參見圖3,進一步地,客戶端包括微博信息篩選模塊、微博信息存儲模塊和微博信息展示模塊,其中,微博信息篩選模塊,用于在客戶端登錄后根據(jù)本地的緩存信息篩選出本次需要發(fā)給服務器的好友ΠΝ以及相應最新廣播消息時間信息等邏輯處理;微博信息存儲模塊:該模塊主要用于緩存本地服務器返回的需要展示好友微博信息的好友ΠΝ,最近微博消息時間信息,消息ID,發(fā)表用戶帳號,昵稱等信息,并提供相應的接口供用戶信息查詢;微博信息展示模塊,用于處理客戶端的界面展示邏輯,當服務器分批返回需要展示微博信息的好友時,根據(jù)一定的策略觸發(fā)好友列表的分組界面刷新,用以展示服務器返回的微博廣播信息;步驟202:服務器根據(jù)第一請求信息中攜帶的用戶自身的識別號碼,獲取用戶的好友相關信息,該用戶的好友相關信息至少包括用戶的開通微博的好友的識別號碼和所述好友發(fā)表微博消息的第一時間戳。用戶的好友相關信息具體包括:開通微博的好友的識別號碼和開通微博的好友發(fā)表微博消息的第一時間戳,并將該開通微博的好友的識別號碼和第一時間戳發(fā)送給客戶端。實際應用中,一個好友可能會發(fā)表了很多條微博消息,本實施例中將距離當前登錄時間最近的時間信息稱為發(fā)表微博消息的第一時間戳,如某用戶A有好友B等多個好友,其中用戶B發(fā)表了兩條微博消息,一條微博消息的時間為2011年5月I日,一條為2011年5月2日,若當前登陸時間是2011年5月10日的話,那么服務器發(fā)送的用戶B發(fā)表微博消息的第一時間戳是指2011年5月2日。其中,服務器可以為開通微博的好友預設第一標志位,該第二標志位可以是標識、標記或符號等,如flag等。服務器接收到用戶發(fā)送的第一請求信息,根據(jù)用戶自身的識別號碼,拉取完用戶的所有好友后,根據(jù)該第一標志位獲取開通微博的好友的識別號碼;并將該開通微博的好友的識別號碼發(fā)送給戶端,用于發(fā)起請求,客戶端根據(jù)該開通微博的好友的識別號碼向服務器發(fā)起請求。實際應用中,服務器在用戶本次登錄客戶端,且二次或二次以上登錄服務器時,可以根據(jù)該第一標志位判斷該用戶的好友列表中是否出現(xiàn)新開通微博服務的好友,如若用戶的好友中第一標志位的數(shù)目增加,則可判斷出在用戶的上次登錄和本次登錄期間,用戶的好友中有新開通微博服務的好友,此時,將該新開通微博服務的好友的識別號碼發(fā)送給客戶端進行緩存。另外,本發(fā)明實施例還可以判斷用戶的好友列表中出現(xiàn)的新的標志位的數(shù)目,統(tǒng)計出用戶兩次登陸過程期間的新開通微博服務的好友數(shù)目。實際應用中,通過該標志位統(tǒng)計出的新開通微博服務的好友數(shù)目相對較少,而且隨著好友開通微博服務的穩(wěn)定,新開通微博服務的好友數(shù)目會越來越少。服務器根據(jù)第一標志位獲取用戶的開通微博的好友的識別號碼和第一時間戳的步驟為現(xiàn)有技術,本發(fā)明實施例在此不再贅述,該用戶的好友相關信息除包括開通微博服務的好友的識別號碼、開通微博服務的好友發(fā)表微博消息的第一時間戳外,該第一類相關信息還可以包括好友最新發(fā)表微博消息的索引信息、好友發(fā)表該微博消息的ID、好友的賬號、好友昵稱等息。進一步地,服務器中的微博用戶服務器也可以為允許微博消息可見的好友預設第二標志位,該第二標志位可以是標識、標記或符號等,如flag等。如某個好友設置了允許微博消息對該好友的好友不可見,服務器會通過對該好友的用戶識別號碼加上一個特殊的字段(如增加一個字段flag),返回給客戶端,客戶端收到該標志位在顯示的時候會進行相應邏輯的判斷。服務器接收到用戶發(fā)送的第一請求信息,根據(jù)用戶自身的識別號碼,拉取完用戶的所有好友后,服務器可以根據(jù)設置的第二標志位判斷哪些好友設置了允許微博消息可見的服務,從而獲取到允許微博消息可見的好友的識別號碼,從而根據(jù)第一標志位和第二標志位,獲取開通微博且允許微博消息可見的好友的識別號碼;將開通微博且允許微博消息可見的好友的識別號碼發(fā)送給所述客戶端,用于發(fā)起請求,客戶端根據(jù)該開通微博且允許微博消息可見的好友的識別號碼向服務器發(fā)起請求。客戶端接收到服務器返回的好友相關信息,并緩存該好友相關信息,便于用戶再次登錄客戶端,客戶端根據(jù)緩存的好友相關信息生成的請求信息中攜帶開通微博的好友的識別號碼,或開通微博且允許微博消息可見的好友的識別號碼。步驟203:客戶端獲取服務器發(fā)送的用戶的開通微博的好友的識別號碼和所述好友發(fā)表微博消息的第一時間戳;步驟204:用戶再次登錄客戶端時,客戶端根據(jù)本地緩存的用戶的好友相關信息生成請求信息;其中,客戶端設置本地存儲信息模塊,用于緩存步驟202中服務器返回的用戶的好友相關信息。客戶端生成的請求信息中攜帶預存儲的好友的識別號碼和該好友發(fā)表微博消息的第一時間戳,其中,該好友可以為開通微博的好友,也可以為開通微博且允許微博消息可見的好友。用戶登錄客戶端時,客戶端首先獲取該用戶自身的nN,并根據(jù)該UIN在本地存儲信息模塊中獲取該UIN對應的好友相關信息,如開通微博的好友的識別號碼,及該好友發(fā)表微博消息的第一時間戳,并根據(jù)上述好友相關信息生成請求信息。其中,根據(jù)上述好友相關信息生成請求信息的方式為現(xiàn)有技術,本發(fā)明實施例在此不再贅述。步驟205:客戶端向服務器發(fā)送請求信息,該請求信息中攜帶預存儲的用戶的好友相關信息,該用戶的好友相關信息至少包括開通微博的好友的識別號碼和好友發(fā)表微博消息的第一時間戳;其中,客戶端根據(jù)步驟202中緩存的用戶的好友相關信息,在生成的請求信息中攜帶好友的識別號碼,及該好友發(fā)表微博消息的第一時間戳,其中該好友可以為開通微博的好友,也可以為開通微博且允許微博消息可見的好友;因此本發(fā)明實施例利用客戶端的緩存能力,在發(fā)起的請求信息中限定了請求范圍。步驟206:服務器接收該請求信息,并根據(jù)請求信息中攜帶的識別號碼獲取該識別號碼對應的好友,并根據(jù)第一時間戳,判斷好友是否有更新消息;其中,由于每個好友對應有一個識別號碼,因而能夠根據(jù)該識別號碼獲取到識別號碼對應的好友。為便于說明,本發(fā)明實施例將在服務器的請求信息中攜帶的好友發(fā)表微博消息的時間戳稱為第一時間戳;服務器接收到用戶再次登錄發(fā)送的請求信息時,好友當前最新更新微博消息的時間戳稱為第二時間戳進行說明。具體地,服務器根據(jù)所述第一時間戳,判斷好友是否有更新微博消息,具體包括:根據(jù)開通微博的好友的識別號碼,獲取好友當前最新發(fā)表微博消息的第二時間戳;并判斷好友當前最新發(fā)表微博消息的第二時間戳與請求信息中攜帶的好友發(fā)表微博消息的第一時間戳是否相同,若不相同,則表明該好友在用戶的兩次登錄期間更新了微博消息,判斷出該好友有更新微博消息,獲取該好友的更新微博消息,此時,好友的更新微博消息包括更新微博消息的好友的第二時間戳、更新微博消息的索引信息等信息;若相同,則表明該好友在用戶的兩次登錄期間沒有更新微博消息。步驟207:服務器將該好友的更新微博消息發(fā)送給客戶端;通過該步驟,客戶端緩存了好友的更新微博消息,如好友最近更新的微博消息的第二時間戳,及該第二時間戳對應的微博消息的消息體等。另外,服務器還將更新微博消息的好友賬號、好友昵稱等信息一并返回給客戶端;實際應用中,服務器還將更新了微博消息的好友賬號、好友昵稱等信息發(fā)送給客戶端,用于客戶端顯示好友更新的微博消息,使客戶端顯示給用戶的信息更完善。如,用戶能夠根據(jù)好友賬號或好友昵稱等信息,獲知哪位好友最近更新了微博消息,并隨時了解好友的昵稱,提高了用戶的使用體驗。優(yōu)選地,實際應用中,將好友的更新微博消息以數(shù)據(jù)包的形式發(fā)送給客戶端,由于一個網(wǎng)絡數(shù)據(jù)包的容量是相對有限的,可能存在服務器返回給客戶端的一個數(shù)據(jù)包中,不能全部將服務器獲取的更新微博消息的好友的更新信息返回。即,可以對服務器獲取的更新微博消息的好友的更新信息分批返回給客戶端,使客戶端分批緩存好友的更新微博消息。本發(fā)明實施例中在數(shù)據(jù)包中攜帶一識別碼,用于識別好友的更新微博消息的好友是否全部返回給客戶端。通過分包邏輯,服務器可以在每批返回給客戶端的數(shù)據(jù)包中攜帶一識別碼,該識別碼的格式及內(nèi)容本發(fā)明不做限定,只要服務器和客戶端預先約定好,從而在客戶端接收到數(shù)據(jù)包時,能夠獲知更新微博消息的好友的更新信息是否全部返回給客戶端。客戶端可以進一步地根據(jù)未返回更新信息的更新微博消息的好友的識別號碼,及緩存在本地的開通微博服務且允許微博消息可見的好友的識別號碼,再次生成請求信息,向服務器發(fā)起請求,重復上述步驟204-207的操作,從而逐步獲取到更新微博消息的好友的全部更新信息。步驟208:客戶端獲取服務器發(fā)送的好友的更新微博消息;具體地,客戶端獲取服務器發(fā)送的數(shù)據(jù)包,根據(jù)該數(shù)據(jù)包中攜帶的識別碼,判斷好友的更新微博消息是否全部返回,好友的更新微博消息未全部返回給客戶端時,根據(jù)未更新的好友的識別號碼,及本地緩存的所述未更新的好友發(fā)表微博消息的時間戳,再次向服務器發(fā)起請求。另外,客戶端獲取到服務器發(fā)送的好友的更新微博消息后,根據(jù)該好友的更新微博消息展示相應的微博消息,該好友的更新微博消息中至少攜帶更新微博消息的好友的識別號碼,及更新微博消息的好友更新微博消息的第二時間戳。步驟209:客戶端根據(jù)服務器發(fā)送的好友的更新微博消息,顯示好友的更新微博消息,并刷新好友列表進行顯示。具體地,客戶端可以在服務器返回請求信息中的全部好友后,一并展示好友的微博消息,也可以在服務器分批返回請求信息中的一部分好友列表后,先展示返回的好友的微博消息,其他好友的微博消息逐漸顯示出來。其中,對于更新了微博消息的好友,客戶端根據(jù)服務器發(fā)送的更新微博消息的好友的更新信息中攜帶的好友賬號,好友更新的微博消息ID展示相應的微博消息,也可以將服務器返回的更新微博消息的好友的更新信息中攜帶的好友賬號,好友更新的微博消息ID,結合緩存在本地的未變化的微博消息ID,生成該好友的顯示信息。對于未更新微博消息的好友,客戶端根據(jù)緩存在本地存儲信息模塊中的好友賬號及該好友發(fā)表的微博消息ID生成該好友的顯示信息。實際應用中,服務器對好友列表的處理時間通常已經(jīng)超出了客戶端好友列表顯示的時間,因而在生成好友的顯示信息后,刷新相應的好友列表以使好友的微博消息顯示出來。本發(fā)明實施例提供的方法,通過服務器接收的請求信息中攜帶的開通微博的好友的識別號碼,從而獲取開通微博的好友是否更新微博消息,并發(fā)送開通微博的好友的更新信息。服務器不再需要從用戶的所有好友中篩選出開通微博的好友的信息,而是直接根據(jù)請求信息,判斷開通微博的好友中哪些好友更新了微博信息,從而將好友的更新微博消息發(fā)送給客戶端。本發(fā)明客戶端發(fā)起的請求信息中攜帶了經(jīng)過篩選過的好友的識別號碼,確定了請求的好友的范圍,從而有效減輕了服務器的負載量,也降低了流量浪費,使用戶可以在登陸即時通訊工具且點擊展開好友列表后,第一時間看到開通微博的好友的最近更新的微博消息,在保證服務質量的同時降低了服務器的負載量,為用戶提供更加便利的服務。實施例3參見圖4,本發(fā)明實施例提供了一種服務器,所述服務器包括接收模塊301、判斷模塊302和發(fā)送模塊303,接收模塊301,用于接收客戶端發(fā)送的請求信息,請求信息中攜帶預存儲的用戶的好友相關信息,用戶的好友相關信息至少包括開通微博服務的好友的識別號碼和好友發(fā)表微博消息的時間戳;判斷模塊302,用于識別號碼,獲取該識別號碼對應的好友,并根據(jù)第一時間戳,判斷好友是否有更新微博消息;發(fā)送模塊303,用于當判斷模塊302的判斷結果為是時,將好友的更新微博消息發(fā)
送給客戶端。其中,參見圖5,判斷模塊302具體包括獲取單元3021和判斷單元3022 ;獲取單元3021,用于根據(jù)開通微博的好友的識別號碼,獲取好友當前最新發(fā)表微博消息的第二時間戳;判斷單元3022,用于判斷好友當前最新發(fā)表微博消息的第二時間戳與請求信息中攜帶的好友發(fā)表微博消息的第一時間戳是否相同,若不相同,則判斷出好友更新了微博消
肩、O進一步地,開通微博的好友的識別號碼具體包括開通微博且允許微博消息可見的好友的識別號碼,好友發(fā)表微博消息的第一時間戳具體包括開通微博且允許微博消息可見的好友發(fā)表微博消息的第一時間戳,判斷模塊302,還用于根據(jù)開通微博且允許微博消息可見的好友的識別號碼,獲取識別號碼對應的開通微博且允許微博消息可見的好友,并根據(jù)開通微博且允許微博消息可見的好友發(fā)表微博消息的第一時間戳,判斷開通微博且允許微博消息可見的好友是否有更新微博消息。其中,發(fā)送模塊303具體用于將所述好友的更新微博消息以數(shù)據(jù)包的形式發(fā)送給所述客戶端;所述數(shù)據(jù)包中還攜帶一識別碼,所述識別碼用于識別所述好友的更新微博消息是否全部返回給客戶端。本發(fā)明實施例提供的服務器,通過服務器接收的請求信息中攜帶的開通微博的好友的識別號碼,從而獲取開通微博的好友是否更新微博消息,并發(fā)送開通微博的好友的更新信息。服務器不再需要從用戶的所有好友中篩選出開通微博的好友的信息,而是直接根據(jù)請求信息,判斷開通微博的好友中哪些好友更新了微博信息,從而將好友的更新微博消息發(fā)送給客戶端。本發(fā)明有效減輕了服務器的負載量,并降低了流量浪費,使用戶可以在登陸即時通訊工具且點擊展開好友列表后,第一時間看到開通微博的好友的最近更新的微博消息,在保證服務質量的同時降低了服務器的負載量,為用戶提供更加便利的服務。實施例4參見圖6,本發(fā)明實施例提供了一種客戶端,所述客戶端具體包括發(fā)送模塊401和獲取模塊402,發(fā)送模塊401,用于向服務器發(fā)送請求信息,所述請求信息中攜帶預存儲的用戶的好友相關信息;所述用戶的好友相關信息至少包括開通微博的好友的識別號碼,和所述好友發(fā)表微博消息的第一時間戳;獲取模塊402,用于獲取服務器發(fā)送的好友的更新微博消息。其中,客戶端還包括第一發(fā)送模塊403和第一獲取模塊404,第一發(fā)送模塊403,用于向服務器發(fā)送第一請求信息,所述第一請求信息中攜帶用戶自身的識別號碼;第一獲取模塊404,用于獲取服務器發(fā)送的用戶的開通微博的好友的識別號碼和所述好友發(fā)表微博消息的第一時間戳。進一步地,客戶端還包括第二獲取模塊,用于獲取服務器發(fā)送的用戶的開通微博且允許微博消息可見的好友的識別號碼和所述開通微博且允許微博消息可見的好友發(fā)表微博消息的第一時間戳。其中,客戶端還包括處理模塊405,處理模塊405具體包括獲取單元、判斷單元和發(fā)送單元;獲取單元,用于獲取服務器發(fā)送的數(shù)據(jù)包;判斷單元,用于根據(jù)數(shù)據(jù)包中攜帶的識別碼,獲取好友的更新微博消息是否全部返回;發(fā)送單元,用于當判斷單元判斷出好友的更新微博消息未全部返回時,根據(jù)未更新的好友的識別號碼,及本地緩存的未更新的好友發(fā)表微博消息的時間戳,再次向服務器發(fā)起請求。本發(fā)明實施例提供的客戶端,通過緩存開通微博的好友的識別號碼和該好友發(fā)表微博消息的第一時間戳,從而在發(fā)起請求信息中,在請求信息中攜帶開通微博的好友的識別號碼和第一時間戳,并獲取到服務器發(fā)送的好友的開通微博消息??蛻舳司哂芯彺婺芰?,在獲取好友更新微博消息的過程中,降低了流量浪費,使用戶可以在登陸即時通訊工具且點擊展開好友列表后,第一時間看到開通微博的好友的最近更新的微博消息,在保證服務質量的同時降低了服務器的負載量,為用戶提供更加便利的服務。實施例5參見圖7,本發(fā)明實施例提供了一種獲取好友更新微博消息的系統(tǒng),該系統(tǒng)包括服務器501和客戶端502 ;服務器501,用于接收客戶端502發(fā)送的請求信息,請求信息中攜帶預存儲的用戶的好友相關信息,用戶的好友相關信息至少包括開通微博的好友的識別號碼,和好友發(fā)表微博消息的第一時間戳;根據(jù)識別號碼,獲取識別號碼對應的好友,并根據(jù)第一時間戳,判斷好友是否有更新微博消息;好友有更新微博消息時,將好友的更新微博消息發(fā)送給客戶端;客戶端502,用于緩存用戶的好友相關信息,向服務器發(fā)送請求信息,獲取服務器發(fā)送的好友的更新微博消息。其中,客戶端還用于向服務器發(fā)送第一請求信息,該第一請求信息中攜帶用戶自身的識別號碼;并獲取服務器發(fā)送的用戶的開通微博的好友的識別號碼和所述好友發(fā)表微博消息的第一時間戳;相應地,服務器501還用于根據(jù)用戶自身攜帶的識別號碼,獲取用戶的開通微博的好友的識別號碼和好友發(fā)表微博消息的第一時間戳,并將該開通微博的好友的識別號碼和好友發(fā)表微博消息的第一時間戳發(fā)送給客戶端502。其中,客戶端502還用于獲取服務器發(fā)送的用戶的開通微博且允許微博消息可見的好友的識別號碼和所述開通微博且允許微博消息可見的好友發(fā)表微博消息的第一時間戳。本發(fā)明實施例提供的系統(tǒng),通過服務器接收的請求信息中攜帶的開通微博的好友的識別號碼,從而獲取開通微博的好友是否更新微博消息,并發(fā)送開通微博的好友的更新信息。服務器不再需要從用戶的所有好友中篩選出開通微博的好友的信息,而是直接根據(jù)請求信息,判斷開通微博的好友中哪些好友更新了微博信息,從而將好友的更新微博消息發(fā)送給客戶端。本發(fā)明有效減輕了服務器的負載量,并降低了流量浪費,使用戶可以在登陸即時通訊工具且點擊展開好友列表后,第一時間看到開通微博的好友的最近更新的微博消息,在保證服務質量的同時降低了服務器的負載量,為用戶提供更加便利的服務。本實施例提供的服務器、客戶端及系統(tǒng),具體可以與方法實施例屬于同一構思,其具體實現(xiàn)過程詳見方法實施例,這里不再贅述。本領域普通技術人員可以理解實現(xiàn)上述實施例的全部或部分步驟可以通過硬件來完成,也可以通過程序來指令相關的硬件完成,所述的程序可以存儲于一種計算機可讀存儲介質中,上述提到的存儲介質可以是只讀存儲器,磁盤或光盤等。以上所述僅為本發(fā)明的較佳實施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進等,均應包含在本發(fā)明的保護范圍之內(nèi)。
權利要求
1.一種發(fā)送好友更新微博消息的方法,其特征在于,所述方法包括: 接收客戶端發(fā)送的請求信息,所述請求信息中攜帶預存儲的用戶的好友相關信息,所述用戶的好友相關信息至少包括開通微博的好友的識別號碼,和所述好友發(fā)表微博消息的第一時間戳; 根據(jù)所述識別號碼,獲取所述識別號碼對應的好友,并根據(jù)所述第一時間戳,判斷所述好友是否有更新微博消息; 所述好友有更新微博消息時,將所述好友的更新微博消息發(fā)送給客戶端。
2.按權利要求1所述的方法,其特征在于,所述根據(jù)所述第一時間戳,判斷所述好友是否有更新微博消息,具體包括: 根據(jù)所述開通微博的好友的識別號碼,獲取所述好友當前最新發(fā)表微博消息的第二時間戳; 判斷所述好友當前最新發(fā)表微博消息的第二時間戳與所述請求信息中攜帶的所述好友發(fā)表微博消息的第一時間戳是否相同,若不同,判斷出所述好友有更新微博消息。
3.按權利要求1所述的方法,其特征在于,所述開通微博的好友的識別號碼具體包括開通微博且允許微博消息可見的好友的識別號碼; 相應地,所述根據(jù)所述識別號碼,獲取所述識別號碼對應的好友,具體包括: 根據(jù)所述開通微博且允許微博消息可見的好友的識別號碼,獲取所述識別號碼對應的開通微博且允許微博消息可見的好友。
4.按權利要求1所述的方 法,其特征在于,所述接收客戶端發(fā)送的請求信息之前,所述方法還包括: 根據(jù)為開通微博的好友預設的第一標志位,獲取所述開通微博的好友的識別號碼; 將所述開通微博的好友的識別號碼發(fā)送給所述客戶端,用于發(fā)起請求。
5.按權利要求4所述的方法,其特征在于,所述接收客戶端發(fā)送的請求信息之前,所述方法還包括: 根據(jù)為允許微博消息可見的好友預設的第二標志位和所述第一標志位,獲取所述開通微博且允許微博消息可見的好友的識別號碼; 將所述開通微博且允許微博消息可見的好友的識別號碼發(fā)送給所述客戶端,用于發(fā)起請求。
6.按權利要求1-5任一項權利要求所述的方法,其特征在于,所述將所述好友的更新微博消息發(fā)送給所述客戶端,具體包括: 將所述好友的更新微博消息以數(shù)據(jù)包的形式發(fā)送給所述客戶端; 所述數(shù)據(jù)包中還攜帶一識別碼,所述識別碼用于識別所述好友的更新微博消息是否全部返回給客戶端。
7.一種獲取好友更新微博消息的方法,其特征在于,所述方法包括: 向服務器發(fā)送請求信息,所述請求信息中攜帶預存儲的用戶的好友相關信息;所述用戶的好友相關信息至少包括開通微博的好友的識別號碼和所述好友發(fā)表微博消息的第一時間戳; 獲取服務器發(fā)送的好友的更新微博消息。
8.按權利要求7所述的方法,其特征在于,所述向服務器發(fā)送請求信息之前,所述方法還包括: 向服務器發(fā)送第一請求信息,所述第一請求信息中攜帶用戶自身的識別號碼; 獲取服務器發(fā)送的用戶的開通微博的好友的識別號碼和所述好友發(fā)表微博消息的第一時間戳。
9.按權利要求8所述的方法,其特征在于,所述開通微博的好友的識別號碼具體包括開通微博且允許微博消息可見的好友的識別號碼; 相應地,所述好友發(fā)表微博消息的第一時間戳,具體包括所述開通微博且允許微博消息可見的好友的識別號碼的好友發(fā)表微博消息的第一時間戳。
10.按權利要求8所述的方法,其特征在于,所述方法還包括: 獲取服務器發(fā)送的數(shù)據(jù)包; 根據(jù)所述數(shù)據(jù)包中攜帶的識別碼,判斷所述好友的更新微博消息是否全部返回;所述好友的更新微博消息未全部返回給客戶端時,根據(jù)未更新的好友的識別號碼,及本地緩存的所述未更新的好友發(fā)表微 博消息的時間戳,再次向服務器發(fā)起請求。
11.一種服務器,其特征在于,所述服務器包括接收模塊、判斷模塊和發(fā)送模塊, 所述接收模塊,用于接收客戶端發(fā)送的請求信息,所述請求信息中攜帶預存儲的用戶的好友相關信息;所述用戶的好友相關信息至少包括開通微博的好友的識別號碼,和所述好友發(fā)表微博消息的時間戳; 所述判斷模塊,用于根據(jù)所述識別號碼,獲取所述識別號碼對應的好友,并根據(jù)所述第一時間戳,判斷所述好友是否有更新微博消息; 所述發(fā)送模塊,用于當所述判斷模塊的判斷結果為是時,將所述好友的更新微博消息發(fā)送給客戶端。
12.按權利要求11所述的服務器,其特征在于,所述判斷模塊具體包括獲取單元和判斷單元; 所述獲取單元,用于根據(jù)所述開通微博的好友的識別號碼,獲取所述好友當前最新發(fā)表微博消息的第二時間戳; 所述判斷單元,用于判斷所述好友當前最新發(fā)表微博消息的第二時間戳與所述請求信息中攜帶的所述好友發(fā)表微博消息的第一時間戳是否相同,若不同,則判斷出所述好友有更新微博消息。
13.按權利要求11所述的服務器,其特征在于,所述開通微博的好友的識別號碼具體包括開通微博且允許微博消息可見的好友的識別號碼,所述好友發(fā)表微博消息的第一時間戳具體包括開通微博且允許微博消息可見的好友發(fā)表微博消息的第一時間戳, 所述判斷模塊,還用于根據(jù)所述開通微博且允許微博消息可見的好友的識別號碼,獲取所述識別號碼對應的開通微博且允許微博消息可見的好友,并根據(jù)所述開通微博且允許微博消息可見的好友發(fā)表微博消息的第一時間戳,判斷所述開通微博且允許微博消息可見的好友是否有更新微博消息。
14.按權利要求11-13任一項權利要求所述的服務器,其特征在于,所述發(fā)送模塊具體用于將所述好友的更新微博消息以數(shù)據(jù)包的形式發(fā)送給所述客戶端;所述數(shù)據(jù)包中還攜帶一識別碼,所述識別碼用于識別所述好友的更新微博消息是否全部返回給客戶端。
15.一種客戶端,其特征在于,所述客戶端包括:發(fā)送模塊,用于向服務器發(fā)送請求信息,所述請求信息中攜帶預存儲的用戶的好友相關信息;所述用戶的好友相關信息至少包括開通微博的好友的識別號碼,和所述好友發(fā)表微博消息的第一時間戳; 獲取模塊,用于獲取服務器發(fā)送的好友的更新微博消息。
16.按權利要求15所述的客戶端,其特征在于,所述客戶端還包括: 第一發(fā)送模塊,用于向服務器發(fā)送第一請求信息,所述第一請求信息中攜帶用戶自身的識別號碼; 第一獲取模塊,用于獲取服務器發(fā)送的用戶的開通微博的好友的識別號碼和所述好友發(fā)表微博消息的第一時間戳。
17.按權利要求15所述的客戶端,其特征在于,所述客戶端還包括: 第二獲取模塊,用于獲取服務器發(fā)送的用戶的開通微博且允許微博消息可見的好友的識別號碼和所述開通微博且允許微博消息可見的好友發(fā)表微博消息的第一時間戳。
18.按權利要求15所述的客戶端,其特征在于,所述客戶端還包括處理模塊,所述處理模塊具體包括獲取單元、判斷單元和發(fā)送單元; 所述獲取單元,用于獲取服務器發(fā)送的數(shù)據(jù)包; 所述判斷單元,用于根據(jù)所述數(shù)據(jù)包中攜帶的識別碼,獲取所述好友的更新微博消息是否全部返回; 所述發(fā)送單元,用于當所述判斷單元判斷出所述好友的更新微博消息未全部返回時,根據(jù)未更新的好友的識別號碼,及本地緩存的所述未更新的好友發(fā)表微博消息的時間戳,再次向服務器發(fā)起請 求。
19.一種獲取好友更新微博消息的系統(tǒng),其特征在于,所述系統(tǒng)包括服務器和客戶端; 所述服務器,用于接收所述客戶端發(fā)送的請求信息,所述請求信息中攜帶預存儲的用戶的好友相關信息,所述用戶的好友相關信息至少包括開通微博的好友的識別號碼,和所述好友發(fā)表微博消息的第一時間戳;根據(jù)所述識別號碼,獲取所述識別號碼對應的好友,并根據(jù)所述第一時間戳,判斷所述好友是否有更新微博消息;所述好友有更新微博消息時,將所述好友的更新微博消息發(fā)送給客戶端; 所述客戶端,用于緩存用戶的好友相關信息,向所述服務器發(fā)送請求信息,獲取服務器發(fā)送的好友的更新微博消息。
20.按權利要求19所述的服務器,其特征在于,所述客戶端還用于向所述服務器發(fā)送第一請求信息,所述第一請求信息中攜帶用戶自身的識別號碼;并獲取所述服務器發(fā)送的用戶的開通微博的好友的識別號碼和所述好友發(fā)表微博消息的第一時間戳; 所述服務器還用于根據(jù)用戶自身攜帶的識別號碼,獲取用戶的開通微博的好友的識別號碼和好友發(fā)表微博消息的第一時間戳,并將所述開通微博的好友的識別號碼和好友發(fā)表微博消息的第一時間戳發(fā)送給所述客戶端。
全文摘要
本發(fā)明公開了一種發(fā)送好友更新微博消息的方法、服務器和系統(tǒng),屬于計算機技術領域。所述方法包括接收客戶端發(fā)送的請求信息,請求信息中攜帶預存儲的用戶的好友相關信息,用戶的好友相關信息至少包括開通微博的好友的識別號碼,和好友發(fā)表微博消息的第一時間戳;根據(jù)識別號碼,獲取識別號碼對應的好友,并根據(jù)第一時間戳,判斷好友是否有更新微博消息;好友有更新微博消息時,將好友的更新微博消息發(fā)送給客戶端。本發(fā)明有效減輕了服務器的負載量,降低了流量浪費,使用戶可以在登陸微博客戶端時且點擊展開好友列表后,第一時間看到開通微博的好友的最近更新的微博消息,在保證服務質量的同時降低了服務器的負載量,為用戶提供更加便利的服務。
文檔編號H04L29/06GK103095748SQ20111033539
公開日2013年5月8日 申請日期2011年10月28日 優(yōu)先權日2011年10月28日
發(fā)明者庫宇, 袁昌文 申請人:騰訊科技(北京)有限公司