新四季網

大數據量消息管理方法和裝置的製作方法

2023-07-21 02:47:21 4

專利名稱:大數據量消息管理方法和裝置的製作方法
技術領域:
本發明涉及網際網路技術,特別涉及大數據量消息管理方法和裝置。
背景技術:
目前,不管是在平時的休閒娛樂中,還是在用戶的工作生活中,網絡即時通信(IM) 工具已成為用戶必不可少的軟體工具。在IM軟體中,主要實現的是一對一的單獨聊天模式,以及一對多的群或者討論組的消息聊天模式。隨著網際網路技術的發展,微博的應用也不斷發展壯大。在微博應用中,用戶可以通過微博文表達自己,也可以通過閱讀他人的微博文來了解他人,這種方式能夠實現一個人對無窮個人進行消息傳播,同時,也能實現一個人接收無窮個人傳播的消息。也就是說, 微博的收聽用戶量非常大,與現有IM支持的收聽用戶量完全不是在一個等級上,通過微博文,能夠實現聊天模式從IM軟體支持的一對一、一對多到一對無窮的跨越。由於微博的收聽用戶量非常大,因此,消息量也會隨之非常大,然而,現有技術卻沒有一種管理大數據量消息的方法。

發明內容
本發明提供了大數據量消息管理方法和裝置,以便實現管理大數據量消息。本發明提供的技術方案是這樣的—種大數據量消息管理方法,包括以下步驟A,客戶端從伺服器拉取消息索引列表;B,所述客戶端分批拉取所述消息索引列表中消息索引對應的消息體;C,所述客戶端採用消息池的方式管理拉取的消息體和對應的消息索引;D,所述客戶端在接收到用戶觸發的結束標誌時,將消息池中存放的消息索引和消息體存儲在本地磁碟。一種大數據量消息管理裝置,包括拉列表拉取模塊,用於從伺服器拉取消息索引列表;消息體拉取模塊,用於分批拉取所述消息索引列表中消息索引對應的消息體;管理模塊,用於採用消息池的方式管理拉取的消息體和對應的消息索引;存儲模塊,用於在接收到用戶觸發的結束標誌時,將消息池中存放的消息索引和消息體存儲在本地磁碟。由以上技術方案可以看出,本發明中,通過從伺服器端拉取消息索引列表,並依據所述消息索引列表中的消息索引從伺服器上拉取消息體,能夠實現大數據量消息的拉取, 通過將消息索引和消息體統一存放在消息池中,能夠實現集中管理大數據量消息和解決大數據量消息的內存佔用問題,通過將消息池中存放的消息索引和消息體存儲在本地磁碟, 能夠實現大數據量消息的本地存儲,進而實現大數據量消息的管理。


圖1為本發明實施例提供的流程圖;圖2為本發明實施例提供的裝置基本結構圖;圖3為本發明實施例提供的裝置詳細結構圖。
具體實施例方式為了使本發明的目的、技術方案和優點更加清楚,下面結合附圖和具體實施例對本發明進行詳細描述。由於現有的IM工具中,涉及的用戶量比較少,因此,消息量也相對比較少,而在類似微博的產品中,涉及的用戶量非常多,消息量也呈現出幾何量級的增長,完全不能用現有的IM管理方法管理,因此,本發明實施例提供了大數據量消息管理方法,具體參見圖1所示的流程。參見圖1,圖1為本發明實施例提供的基本流程圖。如圖1所示,該流程可包括以下步驟步驟101,客戶端從伺服器拉取消息索引列表。本步驟101中,客戶端拉取消息索引列表是根據用戶的觸發執行的。以微博為例, 對該拉取操作進行具體描述若用戶當前位置為微博的首頁,在客戶端接收到用戶在首頁的觸發後,發送該觸發至伺服器,伺服器接收到觸發後,根據消息的時間標示順序對需要在首頁顯示的消息(比如該用戶當前所關注的用戶發送的消息、通過該用戶的即時通信關係鏈得到的消息等)所對應的消息索引進行排列,之後發送至客戶端。需要說明的是,在執行步驟101的拉取操作之前,需要判斷上一次的拉取是否完成,如果是,繼續執行步驟101的拉取操作,否則,結束當前流程。步驟102,客戶端分批拉取所述消息索引列表中消息索引對應的消息體。需要說明的是,步驟102可在客戶端拉取到消息索引列表後即時執行,也可延時執行,本發明實施例並不具體限定。步驟103,客戶端採用消息池的方式管理拉取的消息體和對應的消息索引。步驟104,客戶端在接收到用戶觸發的結束標誌時,將消息池中存放的消息索引和消息體存儲在本地磁碟。至此,完成了圖1所示的基本流程。本實施例中,對大數據量消息的管理主要包括三個方面,分別為大數據量消息的拉取、大數據量消息的內存佔用、和大數據量消息的本地存儲。基於上述圖1所示的流程, 下面對這三個方面分別進行描述。(1)大數據量消息的拉取針對該大數據量消息的拉取問題,本發明實施例通過步驟101和步驟102來解決。 至於步驟102分批拉取所述消息索引列表中消息索引對應的消息體,其具體可包括B1,從所述消息索引列表中選取N個消息索引;B2,客戶端從伺服器上拉取各個被選取的消息索引對應的消息體;B3,在所述步驟B2完成拉取操作之後,客戶端判斷所述消息索引表是否為空,如果是,在設定時間(具體可為用戶觸發客戶端拉取消息索引列表的時間)到達時, 返回執行步驟101,否則,執行步驟B4 ;B4,如果消息索引列表中未被選取的消息索引的個數大於等於N,則從該未被選取的消息索引中選取N個消息索引,之後執行步驟B2 ;如果消息索引列表中未被選取的消息索引的個數小於N,則選取該未被選取的消息索引,之後執行步驟B2 ;其中,N為正整數,且大於等於1。至於客戶端如何從伺服器上拉取各個被選取的消息索引對應的消息體,其具體可包括客戶端將選取的消息索引發送至伺服器;伺服器檢索到各個消息索引對應的各個消息體,將檢索到的各個消息體攜帶在消息包中發送給客戶端。可以看出,伺服器是以消息包的形式發送消息體至客戶端的。優選地,為有效利用消息包發送消息體,本實施例可根據消息包的最大極限來最有效的利用消息包發送消息體,比如,如果一個消息包最大容量為800個字節,則需要儘量保證伺服器每次發送的消息包的消息量佔用800個字節,這可提高消息包的發送效率。基於此,可以得到上述N的取值由伺服器返回的一個消息包所包含的最大消息量決定。通常,一個消息包最多可包含4個消息索引對應的消息體,基於此,上述N可為4。(2)大數據量消息的內存佔用針對大數據量消息的內存佔用問題,本發明實施例通過步驟103解決。其中,步驟 103具體實現時可包括針對拉取的每一消息體,判斷所述消息池是否已存放了該消息體, 如果否,將該消息體和對應的消息索引存放在所述消息池中,如果是,丟棄該消息體。通過該判斷,能夠實現不同的頁面需要呈現同一個消息體時,只會有一個消息體佔用消息池中的內存,這節省了消息池的資源。另外,本發明實施例對於消息索引與消息採用消息池集中進行管理,並非在每個頁面控制項或者邏輯管理類中管理各自的消息列表,這實現了消息的集中管理化。(3)大數據量消息的本地存儲對於IM消息,由於IM消息不是很大,可以完全存儲在本地;而對於類似微博的產品,由於消息量巨大,如果像處理IM消息那樣完全存儲在本地,會造成本地數據文件的不斷膨脹,同時引起讀取文件的性能問題。為了解決大數據量消息的本地存儲問題,需要在上述解決大數據量消息的內存佔用問題時執行以下操作在將消息體存放在消息池中時,計算當前待存放至消息池的消息體數量和消息池已存放的消息體數量之和;判斷計算的結果是否大於M(其中,消息池最多能夠容納M條消息體),如果否,直接該待存放消息體存放至消息池;如果是,對所述消息池進行清理,以實現消息池容納下當前待存放的消息體,之後,將當前待存放的消息體存放在消息池中。比如,如果消息池最多容納500條消息體,如果當前待存放至消息池的消息體數量為40,而消息池已存放的消息體數量為480,兩者之和遠大於500,基於此,就需要對消息池進行清理, 以實現消息池容納下當前待存放的消息體,比如從消息池中清理掉20條消息體或者大於 20條消息體,之後,將待存放消息體存放在消息池中。可以看出,通過上述操作,能夠保證消息池在每一個時刻最多只能存放M條消息體。之後,如果接收到用戶觸發的結束標誌比如退出微博頁面等,則可直接將消息池中存放的消息體存儲在本地磁碟,即解決了大數據量消息的本地存儲問題。其中,上述對消息池進行清理的操作具體實現時可有多種實現實行,其中一種方式為根據消息體的時間標示,和/或消息體是否展示的標誌對消息池進行清理。以根據消
6息體的時間標示為例,則對消息池進行清理的操作為按照時間標示的先後順序排列消息體,按照消息池容納下當前待存放消息體的原則將排列在前的消息體清理掉。通常,一條消息中可包含用戶信息(具體用戶帳號、暱稱、關係鏈等信息)和正文信息(也稱為裸信息),基於此,本發明實施例還可對裸消息進行解析,得到需要拉取的其他消息比如裸消息中提及的其他用戶發布的消息,之後按照上述拉取操作將該需要拉取的消息進行完整消息中涉及資料部分的拉取與消息組裝,並且通過擴展以及回調的方式展現。以上對本發明實施例提供的方法進行了描述,下面對本發明實施例提供的裝置進行描述。參見圖2,圖2為本發明實施例提供的裝置圖。如圖2所示,該裝置可包括列表拉取模塊201、消息體拉取模塊202、管理模塊203和存儲模塊204。其中,列表拉取模塊201,用於從伺服器拉取消息索引列表;消息體拉取模塊202,用於分批拉取所述消息索引列表中消息索引對應的消息體;管理模塊203,用於採用消息池的方式管理拉取的消息體和對應的消息索引;存儲模塊204,用於在接收到用戶觸發的結束標誌時,將消息池中存放的消息索引和消息體存儲在本地磁碟。以上對本發明實施例提供的裝置進行了簡單描述。參見圖3,圖3為本發明實施例提供的裝置的詳細結構圖。如圖3所示,該裝置可包括列表拉取模塊301、消息體拉取模塊302、管理模塊303和存儲模塊304。其中,該列表拉取模塊301、消息體拉取模塊302、管理模塊303和存儲模塊304具有的功能分別與上述列表拉取模塊201、消息體拉取模塊202、管理模塊203和存儲模塊204具有的功能類似, 這裡不再詳述。優選地,本實施例中,消息體拉取模塊302具體可包括選取單元3021,用於從所述消息索引列表中選取N個消息索引;處理單元3022,用於從伺服器上拉取各個被選取的消息索引對應的消息體;第一判斷單元3023,用於在處理單元3022完成拉取後,判斷所述消息索引表是否為空,如果是,在設定時間到達時,觸發列表拉取模塊301執行拉取操作;否則,如果消息索引列表中未被選取的消息索引的個數大於等於N,則從該未被選取的消息索引中選取N個消息索引,之後觸發處理單元3022執行拉取操作;如果消息索引列表中未被選取的消息索弓丨的個數小於N,則選取該未被選取的消息索引,之後觸發處理單元3022執行拉取操作;其中,N為正整數,且大於等於1。其中,處理單元3022從伺服器上拉取各個被選取的消息索引對應的消息體具體包括將被選取的消息索引發送至伺服器;接收伺服器以消息包形式發送的消息,基於此, 所述N由伺服器返回的一個消息包所包含的最大消息量決定。優選地,本實施例中管理模塊303可包括第二判斷單元3031,用於針對所述消息體拉取模塊拉取的每一消息體,判斷所述消息池是否已存放了該消息體;存放單元3032,用於在第二判斷單元3031的判斷結果為否時,將該消息體以及對應的消息索引存放在所述消息池中。本實施例中,消息池最多能夠容納M條消息體;為了保證消息池的容量在任何時間都不超過M條消息體,存放單元3032執行的存放操作具體包括計算當前待存放至消息池的消息體數量和消息池已存放的消息體數量之和;判斷計算的結果是否大於M,如果是, 對所述消息池進行清理,以實現消息池容納下當前待存放的消息體,之後將待存放消息體存放在消息池中。以上對本發明實施例提供的裝置進行了詳細描述。由以上技術方案可以看出,本發明中,通過從伺服器端拉取消息索引列表,並依據所述消息索引列表中的消息索引從伺服器上拉取消息體,能夠實現大數據量消息的拉取, 通過將消息索引和消息體統一存放在消息池中,能夠實現集中管理大數據量消息和解決大數據量消息的內存佔用問題,通過將消息池中存放的消息索引和消息體存儲在本地磁碟, 能夠實現大數據量消息的本地存儲,進而實現大數據量消息的管理。以上所述僅為本發明的較佳實施例而已,並不用以限制本發明,凡在本發明的精神和原則之內,所做的任何修改、等同替換、改進等,均應包含在本發明保護的範圍之內。
權利要求
1.一種大數據量消息管理方法,其特徵在於,該方法包括以下步驟 A,客戶端從伺服器拉取消息索引列表;B,所述客戶端分批拉取所述消息索引列表中消息索引對應的消息體; C,所述客戶端採用消息池的方式管理拉取的消息體和對應的消息索引; D,所述客戶端在接收到用戶觸發的結束標誌時,將消息池中存放的消息索引和消息體存儲在本地磁碟。
2.根據權利要求1所述的方法,其特徵在於,所述步驟B包括 Bi,從所述消息索引列表中選取N個消息索引;B2,客戶端從伺服器上拉取各個被選取的消息索引對應的消息體; B3,客戶端在所述步驟B2完成拉取操作之後,判斷所述消息索引表是否為空,如果是, 在設定時間到達時,返回執行步驟A ;否則,執行步驟B4 ;B4,如果消息索引列表中未被選取的消息索引的個數大於等於N,則從該未被選取的消息索引中選取N個消息索引,之後執行步驟B2 ;如果消息索引列表中未被選取的消息索引的個數小於N,則選取該未被選取的消息索引,之後執行步驟B2 ; 其中,N為正整數,且大於等於1。
3.根據權利要求2所述的方法,其特徵在於,所述步驟B2中的拉取包括 客戶端將選取的消息索引發送至伺服器;伺服器檢索到各個消息索引對應的各個消息體,將檢索到的各個消息體攜帶在消息包中發送給客戶端;所述N由伺服器返回的一個消息包所包含的最大消息量決定。
4.根據權利要求1所述的方法,其特徵在於,所述步驟C包括針對拉取的每一消息體,判斷所述消息池是否已存放了該消息體,如果否,將該消息體和對應的消息索引存放在所述消息池中。
5.根據權利要求4所述的方法,其特徵在於,所述消息池最多容納M條消息體; 所述將消息體存放在消息池中包括計算當前待存放至消息池的消息體數量和消息池已存放的消息體數量之和; 判斷計算的結果是否大於M,如果是,對所述消息池進行清理,以實現消息池容納下當前待存放的消息體,之後將待存放消息體存放在消息池中。
6.根據權利要求5所述的方法,其特徵在於,所述對消息池進行清理包括 根據消息體的時間標示,和/或消息體是否展示的標誌對消息池進行清理。
7.一種大數據量消息管理裝置,其特徵在於,所述裝置包括 列表拉取模塊,用於從伺服器拉取消息索引列表;消息體拉取模塊,用於分批拉取所述消息索引列表中消息索引對應的消息體; 管理模塊,用於採用消息池的方式管理拉取的消息體和對應的消息索引; 存儲模塊,用於在接收到用戶觸發的結束標誌時,將消息池中存放的消息索引和消息體存儲在本地磁碟。
8.根據權利要求7所述的裝置,其特徵在於,所述消息體拉取模塊包括 選取單元,用於從所述消息索引列表中選取N個消息索引;處理單元,用於從伺服器上拉取各個被選取的消息索引對應的消息體;第一判斷單元,用於在所述處理單元完成拉取操作後,判斷所述消息索引表是否為空, 如果是,在設定時間到達時,觸發列表拉取模塊執行拉取操作;否則,如果消息索引列表中未被選取的消息索引的個數大於等於N,則從該未被選取的消息索引中選取N個消息索引, 之後觸發處理單元執行拉取操作;如果消息索引列表中未被選取的消息索引的個數小於 N,則選取該未被選取的消息索引,之後觸發處理單元執行拉取操作; 其中,N為正整數,且大於等於1。
9.根據權利要求7所述的裝置,其特徵在於,所述管理模塊包括第二判斷單元,用於針對所述消息體拉取模塊拉取的每一消息體,判斷所述消息池是否已存放了該消息體;存放單元,用於在所述第二判斷單元的判斷結果為否時,將該消息體以及對應的消息索引存放在所述消息池中。
10.根據權利要求9所述的裝置,其特徵在於,所述消息池最多能夠容納M條消息體; 所述存放單元計算當前待存放至消息池的消息體數量和消息池已存放的消息體數量之和;判斷計算的結果是否大於M,如果是,對所述消息池進行清理,以實現消息池容納下當前待存放的消息體,之後將待存放消息體存放在消息池中。
全文摘要
本發明提供了大數據量消息管理方法和裝置,其中,該方法包括A,客戶端從伺服器拉取消息索引列表;B,所述客戶端分批拉取所述消息索引列表中消息索引對應的消息體;C,所述客戶端採用消息池的方式管理拉取的消息體和對應的消息索引;D,所述客戶端在接收到用戶觸發的結束標誌時,將消息池中存放的消息索引和消息體存儲在本地磁碟。採用本發明,能夠管理大數據量消息。
文檔編號G06F17/30GK102375862SQ20101026542
公開日2012年3月14日 申請日期2010年8月26日 優先權日2010年8月26日
發明者張麗 申請人:騰訊科技(深圳)有限公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀