本發(fā)明涉及數(shù)據(jù)處理技術(shù)領(lǐng)域,特別涉及一種微信公眾帳號信息記錄的排序分頁的方法和系統(tǒng)。
背景技術(shù):
如同即時聊天工具(IM)在互聯(lián)網(wǎng)用戶中的普及一樣,移動互聯(lián)網(wǎng)用戶也大量使用移動聊天工具(MIM),很多用戶都是通過朋友間告知而開始使用該業(yè)務(wù),并采用MIM來發(fā)送即時文字、圖片或者視頻信息,在使用過程中用戶黏性不斷提高。MIM業(yè)務(wù)提供商高度重視此業(yè)務(wù)的發(fā)展,通過MIM來實(shí)現(xiàn)移動互聯(lián)網(wǎng)客戶群的積累,通過流量經(jīng)營逐漸鞏固用戶基礎(chǔ),并帶動移動互聯(lián)網(wǎng)廣告、電子商務(wù)、門戶、互聯(lián)網(wǎng)金融和互聯(lián)網(wǎng)社區(qū)等業(yè)務(wù)的發(fā)展,從而實(shí)現(xiàn)移動互聯(lián)網(wǎng)流量的價值經(jīng)營。
在眾多MIM產(chǎn)品中,微信即時聊天工具是一種可以讓交流雙方在網(wǎng)絡(luò)上建立某種聊天渠道的實(shí)時通訊軟件,可以提供聯(lián)絡(luò)人名單、在線狀態(tài)、歷史聊天記錄等基本聊天功能。使用者使用即時聊天工具可以經(jīng)濟(jì)、方便地通過互聯(lián)網(wǎng)發(fā)送文字、圖片、視頻等信息。
隨著網(wǎng)絡(luò)寬帶的日益普及和網(wǎng)絡(luò)傳輸技術(shù)的不斷成熟,微信即時聊天工具的信息傳輸功能越來越強(qiáng)大,吸引了越來越多的用戶使用即時聊天工具。用戶可以通過微信可以享受到類似于傳統(tǒng)電信運(yùn)營商所提供的類似于短信、彩信等額業(yè)務(wù),并且還可以享受到更加附加的通信服務(wù)。根據(jù)騰訊科技公司公布的2014年財(cái)報(bào)數(shù)據(jù),微信月活用戶已超過5億,已經(jīng)在亞洲地區(qū)的移動社交APP領(lǐng)域占據(jù)第一的市場份額。
巨大的微信用戶基礎(chǔ)和微信公眾帳號也產(chǎn)生了巨量的信息記錄。對歷史信 息記錄進(jìn)行檢索和追朔成為了即時聊天工具的重要功能之一,尤其對于微信公眾帳號的歷史信息記錄的檢索和追朔具有實(shí)用意義,能夠幫助用戶追朔歷史信息,吸引用戶更多的關(guān)注。
但是,現(xiàn)有的歷史信息的檢索功能具有如下的局限性:
1、歷史信息記錄的不提供分頁,用戶追朔歷史信息的過程將會在一個很長的頁面中顯示所有檢索記錄,給用戶帶來了不方便。
2、歷史信息記錄的不提供分頁,所有檢索記錄將會在一個頁面中顯示,在信息記錄的數(shù)量很大時,將會對系統(tǒng)的運(yùn)行帶來負(fù)擔(dān),降低終端的運(yùn)行速度。
3、在歷史信息記錄不提供分頁的機(jī)制下,所有檢索信息將會一次性從系統(tǒng)中提取和調(diào)用,對網(wǎng)絡(luò)接入的帶寬提出了較高的要求。尤其在蜂窩移動網(wǎng)下,智能終端的接入速率受到無線帶寬的限制,而且無線接入帶寬的成本較高,給用戶的使用帶來了不便。
4、由于微信公眾帳號的信息記錄在一個頁面中顯示,用戶在檢索和追朔的時候需要在一個頁面中瀏覽大量的無用信息,耗費(fèi)時間和精力,檢索的效果也無法有效保證,用戶使用體驗(yàn)差。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明提供一種微信公眾賬號信息記錄的排序和分頁的方法和系統(tǒng),可以對歷史信息記錄進(jìn)行排序和分頁,簡化了歷史信息調(diào)取的運(yùn)算量,減小了數(shù)據(jù)庫I/O和互聯(lián)網(wǎng)帶寬的占用,利于終端分頁顯示歷史信息記錄,方便用戶的檢索和查詢,具有實(shí)際使用意義。
本發(fā)明的技術(shù)方案提供了一種微信公眾帳號信息記錄的排序和分頁的方法,包括以下步驟:
設(shè)立Hash表數(shù)據(jù)結(jié)構(gòu)來存儲微信公眾帳號的信息記錄;
將Hash表的key值和信息的時間戳存儲為sored-set字符串集合;
通過查詢信息的開始時間和結(jié)束時間所對應(yīng)的時間戳,獲得key值集合;
通過查詢所獲得的key值集合獲得Hash表中的信息記錄集合,實(shí)現(xiàn)分頁功能。
進(jìn)一步的,所述Hash表存儲所述信息記錄時,同時存儲key值;
進(jìn)一步的,所述將Hash表的key值和信息的時間戳存儲為sored-set字符串集合,進(jìn)一步包括:
同一條信息的key值和時間戳存儲為同一條字符串。
進(jìn)一步的,根據(jù)時間戳對sored-set字符串集合的數(shù)據(jù)進(jìn)行排序。
進(jìn)一步的,所述通過查詢信息的開始時間和結(jié)束時間所對應(yīng)的時間戳,獲得key值集合,進(jìn)一步包括:
通過開始時間和結(jié)束時間查詢sored-set字符串,獲得該時間段內(nèi)的key值集合;
所述key值集合和時間戳排序一致。
進(jìn)一步的,調(diào)用信息記錄時,設(shè)定調(diào)用數(shù)量N,每次從Hash表調(diào)用N條信息記錄;
N條信息記錄在一頁上顯示。
進(jìn)一步的,若調(diào)用信息總數(shù)量不足N條,或剩余信息數(shù)量不足N條,從Hash表調(diào)用全部信息,并在一頁內(nèi)顯示。
本發(fā)明的技術(shù)方案還提供了一種微信公眾帳號信息記錄的排序分頁的系統(tǒng),包括:
Hash表單元、sored-set字符串單元、管理單元和終端,其中,
Hash表單元用于存儲微信公眾帳號的信息記錄、key值;
sored-set字符串單元用于存儲key值和時間戳;
管理單元用于管理檢索請求、分批調(diào)用信息記錄實(shí)現(xiàn)分頁功能;
終端用于執(zhí)行查詢請求和顯示查詢結(jié)果。
進(jìn)一步的,Key值和時間戳存在對應(yīng)關(guān)系。
進(jìn)一步的,管理單元每次調(diào)用N條信息在一頁顯示,實(shí)現(xiàn)分頁顯示信息的 功能。
本發(fā)明技術(shù)方案采用了sored-set技術(shù)存儲歷史信息記錄的時間戳,實(shí)現(xiàn)時間戳和Hash數(shù)據(jù)表中的key值的唯一對應(yīng),從而通過調(diào)用起始和結(jié)束時間可以實(shí)現(xiàn)歷史信息記錄的檢索,簡化了歷史信息調(diào)取的運(yùn)算量;并通過控制每次數(shù)據(jù)庫調(diào)取數(shù)據(jù)的數(shù)量來實(shí)現(xiàn)歷史信息記錄的分頁功能,不但利于終端分頁顯示歷史信息記錄,方便用戶的檢索和查詢,而且減小了數(shù)據(jù)庫I/O和互聯(lián)網(wǎng)帶寬的占用,降低了終端在顯示方面的負(fù)載,具有實(shí)際使用意義。
本發(fā)明的其它特征和優(yōu)點(diǎn)將在隨后的說明書中闡述,并且,部分地從說明書中變得顯而易見,或者通過實(shí)施本發(fā)明而了解。本發(fā)明的目的和其他優(yōu)點(diǎn)可通過在所寫的說明書、權(quán)利要求書、以及附圖中所特別指出的結(jié)構(gòu)來實(shí)現(xiàn)和獲得。
下面通過附圖和實(shí)施例,對本發(fā)明的技術(shù)方案做進(jìn)一步的詳細(xì)描述。
附圖說明
附圖用來提供對本發(fā)明的進(jìn)一步理解,并且構(gòu)成說明書的一部分,與本發(fā)明的實(shí)施例一起用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的限制。在附圖中:
圖1為本發(fā)明實(shí)施例一中微信公眾帳號信息記錄的排序分頁方法流程圖;
圖2為本發(fā)明實(shí)施例一中微信公眾帳號信息記錄的排序分頁系統(tǒng)的結(jié)構(gòu)圖。
具體實(shí)施方式
以下結(jié)合附圖對本發(fā)明的優(yōu)選實(shí)施例進(jìn)行說明,應(yīng)當(dāng)理解,此處所描述的優(yōu)選實(shí)施例僅用于說明和解釋本發(fā)明,并不用于限定本發(fā)明。
實(shí)施例一:微信公眾帳號信息記錄的排序分頁方法流程圖,該方法的流程包括以下步驟:
步驟101:設(shè)立Hash表存儲微信信息記錄。
微信信息作為的值存儲于Hash表;
Hash表存儲所述信息記錄時,同時存儲key值。
步驟102:將Hash表的key值和信息的時間戳存儲為sored-set字符串集合。
另外設(shè)立sored-set字符串,將Hash表中信息記錄的key值和信息的時間戳存儲為sored-set字符串集合;
同一條信息的key值和時間戳存儲為同一條字符串,實(shí)現(xiàn)一一對應(yīng);
根據(jù)時間戳對sored-set字符串集合的數(shù)據(jù)進(jìn)行排序。
步驟103:查詢開始時間和結(jié)束時間獲得key值。
通過開始時間和結(jié)束時間查詢sored-set字符串,獲得該時間段內(nèi)的key值集合;
所獲得的key值集合和時間戳排序一致。
步驟104:通過key值獲得信息記錄集合。
通過查詢所獲得的key值集合對Hash表進(jìn)行尋址,獲得Hash表中的信息記錄集合。
步驟105:通過控制記錄調(diào)取數(shù)量實(shí)現(xiàn)分頁。
調(diào)用信息記錄時,設(shè)定調(diào)用數(shù)量N,每次從Hash表調(diào)用N條信息記錄;
N條信息記錄在一頁上顯示;
若調(diào)用信息總數(shù)量不足N條,或剩余信息數(shù)量不足N條,從Hash表調(diào)用全部信息,并在一頁內(nèi)顯示。
為了實(shí)現(xiàn)上述微信公眾帳號信息記錄的排序分頁流程,本實(shí)施例提供了一種微信公眾帳號的信息記錄的排序分頁系統(tǒng),圖2為該系統(tǒng)的結(jié)構(gòu)圖。
如圖2所示,該系統(tǒng)包括:Hash表201,sored-set字符串集合202,管理單元203,和終端204,其中,
Hash表單元用于存儲微信公眾帳號的信息記錄、key值;
sored-set字符串單元用于存儲key值和時間戳;
管理單元用于管理檢索請求、分批調(diào)用信息記錄實(shí)現(xiàn)分頁功能;
終端用于執(zhí)行查詢請求和顯示查詢結(jié)果。
其中,Key值和時間戳存在對應(yīng)關(guān)系;
管理單元每次調(diào)用N條信息在一頁顯示,實(shí)現(xiàn)分頁顯示信息的功能。
上述實(shí)施例中的技術(shù)方案采用了sored-set技術(shù)存儲歷史信息記錄的時間戳,實(shí)現(xiàn)和Hash數(shù)據(jù)表中的key值的唯一對應(yīng),從而通過調(diào)用起始和結(jié)束時間可以實(shí)現(xiàn)歷史信息記錄的檢索,簡化了歷史信息調(diào)取的運(yùn)算量;并通過控制每次數(shù)據(jù)庫調(diào)取數(shù)據(jù)的數(shù)量來實(shí)現(xiàn)歷史信息記錄的分頁功能,不但利于終端分頁顯示歷史信息記錄,方便用戶的檢索和查詢,而且減小了數(shù)據(jù)庫I/O和互聯(lián)網(wǎng)帶寬的占用,降低了終端在顯示方面的負(fù)載,具有實(shí)際使用意義。
本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本發(fā)明的實(shí)施例可提供為方法、系統(tǒng)、或計(jì)算機(jī)程序產(chǎn)品。因此,本發(fā)明可采用完全硬件實(shí)施例、完全軟件實(shí)施例、或結(jié)合軟件和硬件方面的實(shí)施例的形式。而且,本發(fā)明可采用在一個或多個其中包含有計(jì)算機(jī)可用程序代碼的計(jì)算機(jī)可用存儲介質(zhì)(包括但不限于磁盤存儲器和光學(xué)存儲器等)上實(shí)施的計(jì)算機(jī)程序產(chǎn)品的形式。
本發(fā)明是參照根據(jù)本發(fā)明實(shí)施例的方法、設(shè)備(系統(tǒng))、和計(jì)算機(jī)程序產(chǎn)品的流程圖和/或方框圖來描述的。應(yīng)理解可由計(jì)算機(jī)程序指令實(shí)現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合。可提供這些計(jì)算機(jī)程序指令到通用計(jì)算機(jī)、專用計(jì)算機(jī)、嵌入式處理機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個機(jī)器,使得通過計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實(shí)現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。
這些計(jì)算機(jī)程序指令也可存儲在能引導(dǎo)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計(jì)算機(jī)可讀存儲器中,使得存儲在該計(jì)算機(jī)可讀存儲器中 的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實(shí)現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。
這些計(jì)算機(jī)程序指令也可裝載到計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的處理,從而在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行的指令提供用于實(shí)現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。
顯然,本領(lǐng)域的技術(shù)人員可以對本發(fā)明進(jìn)行各種改動和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動和變型在內(nèi)。