專利名稱:排行榜生成方法、日志生成方法和服務(wù)器的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)絡(luò)技術(shù)領(lǐng)域,特別涉及排行榜生成方法、日志生成方法和服務(wù)器。
背景技術(shù):
隨著移動互聯(lián)網(wǎng)的不斷發(fā)展,用戶可以獲取越來越豐富的信息和資訊,而為了有針對性、有序的獲取信息和資訊,經(jīng)常會有對信息進(jìn)行排序的需求,即根據(jù)信息生成排行榜的需求。例如用戶可以在論壇發(fā)帖子,該用戶和其他用戶又可以針對該帖發(fā)布評論,在瀏覽眾多的帖子時,瀏覽者可能希望獲知當(dāng)前發(fā)布評論較活躍的用戶,也可能希望獲知當(dāng)前熱度較高的帖子,這是就需要生成對應(yīng)的排行榜。
目前生成排行榜的方法一般包括以下過程預(yù)先設(shè)置針對特定需求的排序元素, 遍歷歷史數(shù)據(jù),針對排序元素執(zhí)行統(tǒng)計,并按照統(tǒng)計結(jié)果對信息進(jìn)行排序,從而生成排行榜。仍以用戶評論帖子為例說明生成排行榜的過程,例如特定需求是根據(jù)帖子的評論數(shù)量對帖子進(jìn)行排序,此時的排序元素就是帖子的評論數(shù)量;服務(wù)器存儲每個帖子的歷史數(shù)據(jù), 包括發(fā)帖用戶ID、帖子ID、對應(yīng)的評論內(nèi)容、發(fā)表評論的用戶ID等;假設(shè)排行榜生成間隔為一天,每到達(dá)排行榜生成時間時,遍歷歷史數(shù)據(jù),統(tǒng)計每個帖子的評論數(shù)量;按照統(tǒng)計結(jié)果生成排行榜。
上述生成排行榜的方法至少存在以下問題每次生成排行榜時,都需要遍歷存儲的所有歷史數(shù)據(jù),操作繁瑣,需要時間較長。發(fā)明內(nèi)容
本發(fā)明實施例提供排行榜生成方法、日志生成方法和服務(wù)器,能夠簡化生成排行榜時執(zhí)行的操作,縮短處理時間。
所述技術(shù)方案如下
本發(fā)明實施例提供了一種排行榜生成方法,所述方法包括
獲取日志,所述日志中包括從預(yù)設(shè)事件中提取的排序元素對應(yīng)的數(shù)據(jù);
統(tǒng)計所述排序元素對應(yīng)的每項數(shù)據(jù)在當(dāng)前統(tǒng)計周期內(nèi)出現(xiàn)的次數(shù);
根據(jù)統(tǒng)計結(jié)果對所述排序元素對應(yīng)的所有數(shù)據(jù)進(jìn)行排序,生成基于所述排序元素的排行榜。
較優(yōu)的,所述方法還包括
從發(fā)布的預(yù)設(shè)事件中提取與排序元素對應(yīng)的數(shù)據(jù);根據(jù)提取的數(shù)據(jù)生成日志并存
或,接收日志并存儲,所述日志包括從預(yù)設(shè)事件中提取的排序元素對應(yīng)的數(shù)據(jù)。
進(jìn)一步,所述日志存儲在日志文件中。
較優(yōu)的,所述排序元素包括事件發(fā)起者、事件承受者、事件發(fā)生時間和事件類型中的至少一項。
進(jìn)一步,所述排序元素包括兩項以上;
所述統(tǒng)計在當(dāng)前統(tǒng)計周期內(nèi)所述排序元素對應(yīng)的每項數(shù)據(jù)出現(xiàn)的次數(shù)為分別統(tǒng)計至少一項排序元素對應(yīng)的每項數(shù)據(jù)在當(dāng)前統(tǒng)計周期內(nèi)出現(xiàn)的次數(shù);
所述根據(jù)統(tǒng)計結(jié)果對所述排序元素對應(yīng)的所有數(shù)據(jù)進(jìn)行排序,生成基于所述排序元素的排行榜為分別對至少一個排序元素對應(yīng)的所有數(shù)據(jù)進(jìn)行排序,生成基于至少一個排序元素的排行榜。
較優(yōu)的,所述方法還包括向終端返回生成的排行榜。
進(jìn)一步,所述向終端返回生成的排行榜之前,所述方法還包括
接收終端發(fā)送的查詢請求,所述查詢請求攜帶查詢條件;
從生成的排行榜中獲取與所述查詢條件相匹配的排行榜。
本發(fā)明實施例提供了一種日志生成的方法,所述方法包括
從預(yù)設(shè)事件中提取與排序元素對應(yīng)的數(shù)據(jù);
根據(jù)提取的數(shù)據(jù)生成日志。
較優(yōu)的,所述方法還包括發(fā)送所述日志。
較優(yōu)的,所述方法還包括將所述日志存儲在日志文件中。
較優(yōu)的,所述方法還包括
獲取所述日志;
統(tǒng)計所述排序元素對應(yīng)的每項數(shù)據(jù)在當(dāng)前統(tǒng)計周期內(nèi)出現(xiàn)的總次數(shù);
根據(jù)統(tǒng)計結(jié)果對所述排序元素對應(yīng)的所有數(shù)據(jù)進(jìn)行排序,生成基于所述排序元素的排行榜。
進(jìn)一步,所述排序元素包括事件發(fā)起者、事件承受者、事件發(fā)生時間和事件類型中的至少一項。
進(jìn)一步,所述排序元素包括兩項以上;
所述統(tǒng)計所述排序元素對應(yīng)的每項數(shù)據(jù)在當(dāng)前統(tǒng)計周期內(nèi)出現(xiàn)的次數(shù)為分別統(tǒng)計至少一項排序元素對應(yīng)的每項數(shù)據(jù)在當(dāng)前統(tǒng)計周期內(nèi)出現(xiàn)的次數(shù);
所述根據(jù)統(tǒng)計結(jié)果對所述排序元素對應(yīng)的所有數(shù)據(jù)進(jìn)行排序,生成基于所述排序元素的排行榜為分別針對至少一個排序元素對應(yīng)的所有數(shù)據(jù)進(jìn)行排序,生成基于至少一個排序元素的排行榜。
較優(yōu)的,所述方法還包括向終端返回生成的排行榜。
進(jìn)一步,在向終端返回生成的排行榜之前,所述方法還包括
接收查詢請求,所述查詢請求攜帶查詢條件;
從生成的排行榜中獲取與所述查詢條件匹配的排行榜。
本發(fā)明實施例提供了一種服務(wù)器,其特征在于,所述服務(wù)器包括
日志獲取模塊,用于獲取日志,所述日志中包括從預(yù)設(shè)事件中提取的排序元素對應(yīng)的數(shù)據(jù);
統(tǒng)計模塊,用于統(tǒng)計所述排序元素對應(yīng)的每項數(shù)據(jù)在當(dāng)前統(tǒng)計周期內(nèi)出現(xiàn)的總次數(shù);
排行榜生成模塊,用于根據(jù)統(tǒng)計結(jié)果對所述排序元素對應(yīng)的所有數(shù)據(jù)進(jìn)行排序, 生成基于所述排序元素的排行榜。
較優(yōu)的,所述服務(wù)器還包括日志存儲模塊,用于從預(yù)設(shè)事件中提取所述排序元素對應(yīng)的數(shù)據(jù);根據(jù)提取的數(shù)據(jù)生成日志并存儲;或,接收日志并存儲,所述日志包括從預(yù)設(shè)事件中提取的排序元素對應(yīng)的數(shù)據(jù)。
進(jìn)一步,所述日志存儲在日志文件中。
較優(yōu)的,所述排序元素包括事件發(fā)起者、事件承受者、事件發(fā)生時間和事件類型中的至少一項。
進(jìn)一步,所述統(tǒng)計模塊具體用于在所述排序元素包括兩項以上時,分別統(tǒng)計至少一項排序元素對應(yīng)的每項數(shù)據(jù)在當(dāng)前統(tǒng)計周期內(nèi)出現(xiàn)的總次數(shù);
所述排行榜生成模塊具體用于分別對至少一個排序元素對應(yīng)的所有數(shù)據(jù)進(jìn)行排序,生成基于至少一個排序元素的排行榜。
較優(yōu)的,所述服務(wù)器還包括排行榜返回模塊,用于向終端返回生成的排行榜。
進(jìn)一步,所述服務(wù)器還包括
接收模塊,用于接收終端發(fā)送的查詢請求,所述查詢請求攜帶查詢條件;
排行榜獲取模塊,用于從生成的排行榜中獲取與所述查詢條件匹配的排行榜。
本發(fā)明實施例提供了一種服務(wù)器,所述服務(wù)器包括
提取模塊,用于從預(yù)設(shè)事件中提取與排序元素對應(yīng)的數(shù)據(jù);
日志生成模塊,用于根據(jù)提取的數(shù)據(jù)生成日志。
較優(yōu)的,所述服務(wù)器還包括發(fā)送模塊,用于發(fā)送所述日志。
較優(yōu)的,所述服務(wù)器還包括日志存儲模塊,用于將所述日志存儲在日志文件中。
較優(yōu)的,所述服務(wù)器還包括
日志獲取模塊,用于獲取日志;
統(tǒng)計模塊,用于統(tǒng)計所述排序元素對應(yīng)的每項數(shù)據(jù)在當(dāng)前統(tǒng)計周期內(nèi)出現(xiàn)的總次數(shù);
排行榜生成模塊,用于根據(jù)統(tǒng)計結(jié)果對所述排序元素對應(yīng)的所有數(shù)據(jù)進(jìn)行排序, 生成基于所述排序元素的排行榜。
進(jìn)一步,所述排序元素包括事件發(fā)起者、事件承受者、事件發(fā)生時間和事件類型中的至少一項。
進(jìn)一步,所述統(tǒng)計模塊具體用于在所述排序元素包括兩項以上時,分別統(tǒng)計至少一項排序元素對應(yīng)的每項數(shù)據(jù)在當(dāng)前統(tǒng)計周期內(nèi)出現(xiàn)的總次數(shù);
所述排行榜生成模塊具體用于分別針對至少一個排序元素對應(yīng)的所有數(shù)據(jù)進(jìn)行排序,生成基于至少一個排序元素的排行榜。
較優(yōu)的,所述服務(wù)器還包括排行榜返回模塊,用于向終端返回生成的排行榜。
進(jìn)一步,所述服務(wù)器還包括
接收模塊,用于接收查詢請求,所述查詢請求攜帶查詢條件;
排行榜獲取模塊,用于從生成的排行榜中獲取與所述查詢條件匹配的排行榜。
本發(fā)明實施例提供的排行榜生成方法、日志生成方法和服務(wù)器,將生成排行榜所需的排序元素對應(yīng)的數(shù)據(jù)從預(yù)設(shè)事件中提取出來、并保存在日志中,需要生成排行榜時基于日志進(jìn)行簡單的次數(shù)統(tǒng)計即可,無需遍歷所有歷史數(shù)據(jù),簡化了生成排行榜的操作,縮短處理時間。
為了更清楚地說明本發(fā)明實施例中的技術(shù)方案,下面將對描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明實施例的一些舉例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖I是本發(fā)明實施例提供的一種排行榜生成方法的流程圖2是本發(fā)明實施例提供的一種日志生成方法的流程圖3是本發(fā)明實施例提供的一種排行榜生成方法的流程圖4是本發(fā)明實施例提供的一種排行榜生成方法的流程圖5是本發(fā)明實施例提供的一種服務(wù)器的結(jié)構(gòu)示意圖6是本發(fā)明實施例提供的一種服務(wù)器的結(jié)構(gòu)示意圖。
具體實施方式
為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合附圖對本發(fā)明實施方式作進(jìn)一步地詳細(xì)描述。
圖I是本發(fā)明實施例提供的一種排行榜生成方法的流程圖。參見圖1,該方法具體包括
101、獲取日志,所述日志中包括從預(yù)設(shè)事件中提取的排序元素對應(yīng)的數(shù)據(jù);
102、統(tǒng)計所述排序元素對應(yīng)的每項數(shù)據(jù)在當(dāng)前統(tǒng)計周期內(nèi)出現(xiàn)的次數(shù);
103、根據(jù)統(tǒng)計結(jié)果對所述排序元素對應(yīng)的所有數(shù)據(jù)進(jìn)行排序,生成基于所述排序元素的排行榜。
作為一種較優(yōu)的實施方式,該方法還包括
從預(yù)設(shè)事件中提取與排序元素對應(yīng)的數(shù)據(jù);根據(jù)提取的數(shù)據(jù)生成日志并存儲; 或,接收日志并存儲,所述日志包括從預(yù)設(shè)事件中提取的排序元素對應(yīng)的數(shù)據(jù)。這里可以將所述日志存儲在日志文件中。
作為一種較優(yōu)的實施方式,所述排序元素包括事件發(fā)起者、事件承受者、事件發(fā)生時間和事件類型中的至少一項。
進(jìn)一步,當(dāng)所述排序元素包括兩項以上時,所述統(tǒng)計所述排序元素對應(yīng)的每項數(shù)據(jù)在當(dāng)前統(tǒng)計周期內(nèi)出現(xiàn)的次數(shù)為分別統(tǒng)計至少一項排序元素對應(yīng)的每項數(shù)據(jù)在當(dāng)前統(tǒng)計周期內(nèi)出現(xiàn)的總次數(shù);所述統(tǒng)計結(jié)果對所述排序元素對應(yīng)的所有數(shù)據(jù)進(jìn)行排序,生成基于所述排序元素的排行榜為分別對至少一個排序元素對應(yīng)的所有數(shù)據(jù)進(jìn)行排序,生成基于至少一個排序兀素的排行榜。
作為一種較佳的實施方式,所述方法還包括向終端返回生成的排行榜。
進(jìn)一步,所述向終端返回生成的排行榜之前,所述方法還包括
接收終端發(fā)送的查詢請求,所述查詢請求攜帶查詢條件;
從生成的排行榜中獲取與查詢條件匹配的排行榜。
本發(fā)明實施例提供的一種生成排行榜的方法,將生成排行榜所需的排序元素對應(yīng)的數(shù)據(jù)從預(yù)設(shè)事件中提取出來、并保存在日志中,需要生成排行榜時基于日志進(jìn)行簡單的次數(shù)統(tǒng)計即可,無需遍歷所有歷史數(shù)據(jù),簡化了生成排行榜的操作,縮短處理時間。
圖2是本發(fā)明實施例提供的一種日志生成方法的流程圖。參見圖2,該方法包括
201、從預(yù)設(shè)事件中提取與排序元素對應(yīng)的數(shù)據(jù);
202、根據(jù)提取的數(shù)據(jù)生成日志。
作為一種較優(yōu)的實施方式,所述方法還包括發(fā)送所述日志。
作為一種較優(yōu)的實施方式,該方法還包括將所述日志存儲在日志文件中。
作為一種較優(yōu)的實施方式,該方法還包括
獲取所述日志;
統(tǒng)計所述排序元素對應(yīng)的每項數(shù)據(jù)在當(dāng)前統(tǒng)計周期內(nèi)出現(xiàn)的總次數(shù);
根據(jù)統(tǒng)計結(jié)果對所述排序元素對應(yīng)的所有數(shù)據(jù)進(jìn)行排序,生成基于所述排序元素的排行榜。
進(jìn)一步,所述排序元素包括事件發(fā)起者、事件承受者、事件發(fā)生時間和事件類型中的至少一項。
進(jìn)一步,在所述排序元素包括兩項以上時;所述統(tǒng)計所述與排序元素對應(yīng)的每項數(shù)據(jù)在當(dāng)前統(tǒng)計周期內(nèi)出現(xiàn)的總次數(shù)為分別統(tǒng)計至少一項排序元素對應(yīng)的每項數(shù)據(jù)在當(dāng)前統(tǒng)計周期內(nèi)出現(xiàn)的總次數(shù);所述根據(jù)統(tǒng)計結(jié)果對所述排序元素對應(yīng)的所有數(shù)據(jù)進(jìn)行排序,生成基于所述排序元素的排行榜為分別針對至少一個排序元素對應(yīng)的所有數(shù)據(jù)進(jìn)行排序,生成基于至少一個排序元素的排行榜。
作為一種較優(yōu)的實施方式,所述方法還包括向終端返回生成的排行榜。
進(jìn)一步,在向終端返回生成的排行榜之前,所述方法還包括
接收終端發(fā)送的查詢請求,所述查詢請求攜帶查詢條件;
從生成的排行榜中獲取與所述查詢條件匹配的排行榜。
本發(fā)明實施例提供的一種生成日志的方法,將生成排行榜所需的排序元素對應(yīng)的數(shù)據(jù)從預(yù)設(shè)事件中提取出來、并保存在日志中,需要生成排行榜時基于日志進(jìn)行簡單的次數(shù)統(tǒng)計即可,無需遍歷所有歷史數(shù)據(jù),簡化了生成排行榜的操作,縮短處理時間。
圖3是本發(fā)明實施例提供的一種排行榜生成方法的流程圖。在本實施例中,以生成日志和生成排行榜的設(shè)備為相互獨立的實體為例進(jìn)行說明,為了便于描述,將生成日志的設(shè)備稱為第一服務(wù)器,生成排行榜的設(shè)備稱為第二服務(wù)器,參見圖3,該方法包括
301、第一服務(wù)器獲取當(dāng)前發(fā)生的預(yù)設(shè)事件。
對于網(wǎng)絡(luò)應(yīng)用來說,事件類型可以有多種,而第一服務(wù)器可以對多種事件類型的預(yù)設(shè)事件進(jìn)行獲取,以便后續(xù)根據(jù)獲取到的預(yù)設(shè)事件生成日志。
例如,該預(yù)設(shè)事件的事件類型可以有以下在論壇中評論、發(fā)帖、點播、收藏等等。
本步驟中,每發(fā)生一個預(yù)設(shè)事件,第一服務(wù)器即對其進(jìn)行獲取。
作為可替換的執(zhí)行方式,第一服務(wù)器還可以每隔預(yù)設(shè)時長獲取該預(yù)設(shè)時長內(nèi)發(fā)生的預(yù)設(shè)事件。
302、第一服務(wù)器從預(yù)設(shè)事件中提取與所述排序元素對應(yīng)的數(shù)據(jù);根據(jù)提取的數(shù)據(jù)生成日志。
本步驟中,所述排序元素包括事件發(fā)起者、事件承受者、事件發(fā)生事件和事件類型中的至少一項。所述排序元素包括了相當(dāng)于事件發(fā)生的“時間”、“類型”和“對象”(包括事件發(fā)起者和事件承受者)的元素,是一種較為通用的生成模型,能夠滿足大多數(shù)排行榜需求,從而避免了需求改變時,重復(fù)開發(fā)設(shè)置的過程,非常靈活。
對于不同的應(yīng)用場景,其排序元素中各個元素對應(yīng)的數(shù)據(jù)可以不同。如事件為用戶評論某一帖子,其事件發(fā)起者為用戶,事件承受者為帖子,事件發(fā)生時間為評論發(fā)布時間,事件類型為評論。如事件為用戶試聽歌曲,其事件發(fā)起者為用戶,事件承受者為歌曲,事件發(fā)生時間為試聽時間,事件類型為試聽。如事件為用戶下載歌曲,其事件發(fā)起者為用戶, 事件承受者為歌曲,事件發(fā)生時間為下載時間,事件類型為下載。如事件為用戶收藏歌曲, 其事件發(fā)起者為用戶,事件承受者為歌曲,事件發(fā)生時間為收藏時間,事件類型為收藏。
舉例說明,對于預(yù)設(shè)事件為用戶評論貼子來說,提取該預(yù)設(shè)事件中與排序元素對應(yīng)的數(shù)據(jù)并生成日志,就是提取發(fā)布評論的用戶ID、評論所針對的帖子ID、作為事件類型的“評論”和評論的發(fā)布時間,根據(jù)提取的數(shù)據(jù)生成日志。假設(shè)以用戶135針對帖子224在 7月18日12點23分發(fā)布的新評論為例,生成的日志中包括如下數(shù)據(jù)用戶135,帖子224, 評論,7月18日12點23分。
303、第一服務(wù)器向第二服務(wù)器發(fā)送生成的日志。
本步驟中,僅以第一服務(wù)器和第二服務(wù)器為相互獨立的設(shè)備為例進(jìn)行說明。需要說明的是,本步驟中的第一服務(wù)器可以是用于處理業(yè)務(wù)的服務(wù)器,也可以是用于處理業(yè)務(wù)的服務(wù)器上的功能模塊,本步驟中的第二服務(wù)器可以是用于處理業(yè)務(wù)的服務(wù)器,也可以是用于處理業(yè)務(wù)的服務(wù)器上的功能模塊。
304、第二服務(wù)器將接收到的日志存儲在日志文件中。
本步驟中,第二服務(wù)器在存儲日志時,可以按照日志的生成時間順序存儲在日志文件中,以便后續(xù)對日志文件進(jìn)行處理的時候,能夠根據(jù)生成時間獲取需處理的日志。
以上步驟301-304可以在每個預(yù)設(shè)事件發(fā)生后就開始執(zhí)行,也可以每隔預(yù)設(shè)時長執(zhí)行,而且步驟301-304執(zhí)行完成后并不一定馬上執(zhí)行后續(xù)的步驟305-309。
305、第二服務(wù)器統(tǒng)計所述排序元素對應(yīng)的每項數(shù)據(jù)在當(dāng)前統(tǒng)計周期內(nèi)出現(xiàn)的次數(shù)。
本步驟中,所述排序元素可以包括兩項以上,此時第二服務(wù)器針對至少一項排序元素,分別統(tǒng)計每項排序元素對應(yīng)的每項數(shù)據(jù)在當(dāng)前統(tǒng)計周期內(nèi)出現(xiàn)的總次數(shù)。如果同時針對多項排序元素對應(yīng)的數(shù)據(jù)進(jìn)行統(tǒng)計,將可以在一次統(tǒng)計中獲得多維的結(jié)果。
當(dāng)前統(tǒng)計周期指由當(dāng)前排行榜生成時間往前的預(yù)設(shè)時間間隔,該預(yù)設(shè)時間間隔可以為一天、一周或一個月等。
進(jìn)一步地,可以一次對多個時間段內(nèi)的日志進(jìn)行統(tǒng)計,例如第二服務(wù)器可以對前一天、前一周和前一個月內(nèi)的日志進(jìn)行統(tǒng)計。
需要說明的是,對排序元素對應(yīng)的每項數(shù)據(jù)出現(xiàn)的次數(shù)進(jìn)行的統(tǒng)計可以是按照預(yù)設(shè)順序串行統(tǒng)計,還可以是并行統(tǒng)計的。當(dāng)按照預(yù)設(shè)順序串行統(tǒng)計時,可以按照預(yù)先設(shè)置的元素統(tǒng)計順序,如先對事件發(fā)起者進(jìn)行統(tǒng)計,再對事件承受者進(jìn)行統(tǒng)計等,例如統(tǒng)計前一天用戶135出現(xiàn)的次數(shù),再統(tǒng)計前一天帖子224出現(xiàn)的次數(shù)。當(dāng)并行統(tǒng)計時,可以同時對各個排序元素對應(yīng)的每項數(shù)據(jù)進(jìn)行統(tǒng)計。
306、第二服務(wù)器根據(jù)統(tǒng)計結(jié)果對所述排序元素對應(yīng)的所有數(shù)據(jù)進(jìn)行排序,生成基于所述排序元素的排行榜。
本步驟中,針對至少一個排序元素,分別統(tǒng)計在當(dāng)前統(tǒng)計周期內(nèi)每項排序元素對應(yīng)的每項數(shù)據(jù)出現(xiàn)的次數(shù),并根據(jù)統(tǒng)計結(jié)果生成基于至少一個排序元素的排行榜。
其中,在排序和生成排行榜時,可以是針對所有排序元素的排序和生成排行榜,還可以是針對多個排序元素中某個或某幾個排序元素的排序和生成排行榜,在本實施例中不作限定。
假設(shè)統(tǒng)計前一天各個用戶發(fā)布評論的總次數(shù),并根據(jù)統(tǒng)計結(jié)果排序,得到發(fā)布評論最多的用戶或是發(fā)布評論前幾名的用戶,再統(tǒng)計前一天各個帖子的評論數(shù)量,根據(jù)統(tǒng)計結(jié)果排序,得到被評論最多的帖子或是被評論前幾名的帖子。
進(jìn)一步地,還可以統(tǒng)計前一周各個用戶發(fā)布評論的次數(shù),并根據(jù)統(tǒng)計結(jié)果排序,得到發(fā)布評論最多的用戶或是發(fā)布評論前幾名的用戶,再統(tǒng)計前一周各個帖子的評論數(shù)量, 根據(jù)統(tǒng)計結(jié)果排序,得到被評論最多的帖子或是被評論前幾名的帖子。由此可以一次產(chǎn)生不同時間跨度(一天內(nèi)和一周內(nèi))、兩種維度(發(fā)布評論最多的用戶和評論數(shù)最多的帖子)上的排行榜。
以按照“事件發(fā)起者”和“事件承受者”的次數(shù)進(jìn)行統(tǒng)計為例進(jìn)行說明,分別生成基于“事件發(fā)起者”和“事件承受者”的排行榜。
基于“事件發(fā)起者”的排行榜榜單如下
:件類型事件發(fā)生時間次數(shù)用戶135 評論 7月18日2次用戶364 評論 7月18日用戶175 評論 7月18日基于“事件承受者”的排行榜榜單如下事件承受者事件類型事件發(fā)生時間次數(shù)帖子224 評論7月18日 3次帖子64 評論7月18日 I次以上排行榜榜單說明,在7月18日,在發(fā)布評論的事件上,最活躍的用戶依次是 “用戶135”,“用戶364”和“用戶175”,被評論次數(shù)最多的帖子依次是“帖子224”和“帖子 64”,也就是“本日最活躍用戶”和“本日最火帖子”的排行榜。
進(jìn)一步,在排行榜生成之后,用戶通過移動終端可以查詢排行榜,此時執(zhí)行如下步驟
307、第二服務(wù)器接收查詢請求,所述查詢請求攜帶查詢條件。
本步驟中,該查詢條件可以為排行榜所基于的排序元素(如事件發(fā)起者或事件承受者),還可以是排行榜生成時間或排行榜時間跨度。
如可以查詢基于事件發(fā)起者或事件承受者的排行榜。
該查詢請求可以是通過http協(xié)議發(fā)送和接收。
308、第二服務(wù)器從生成的排行榜中獲取與所述查詢條件匹配的排行榜。
本步驟中,當(dāng)查詢條件為排行榜基于的排序元素時,獲取基于該排序元素的排行榜,如果不存在基于該排序元素的排行榜,則提示查詢失敗。當(dāng)查詢條件為排行榜生成時間時,獲取該生成時間生成的排行榜,如果不存在該生成時間生成的排行榜,提示查詢失敗。當(dāng)查詢條件為排行時間跨度時,獲取該時間跨度內(nèi)生成的排行榜,如果該時間跨度內(nèi)沒有生成排行榜,提示查詢失敗。
309、第二服務(wù)器向終端返回獲取的排行榜。
在實際應(yīng)用中,第二服務(wù)器在生成各類排行榜之后,也可以主動向終端推送生成的所有排行榜,而不必等用戶發(fā)送具體的請求后在發(fā)送。
需要說明的是,在本實施例中,僅以第二服務(wù)器接收到查詢請求為例進(jìn)行說明,而在實際應(yīng)用中,第一服務(wù)器也可以接收查詢請求,并將查詢請求發(fā)送給第二服務(wù)器,使得第二服務(wù)器提供相應(yīng)的排行榜,此時,該步驟307-309還可以用以下步驟代替第一服務(wù)器接收查詢請求,將查詢請求發(fā)送給第二服務(wù)器,第二服務(wù)器從已生成的排行榜中獲取所述待查詢元素對應(yīng)的排行榜,并將排行榜發(fā)送給第一服務(wù)器,第一服務(wù)器向查詢請求的請求端返回該排行榜。
本發(fā)明實施例提供的生成排行榜的方法,將生成排行榜所需的排序元素對應(yīng)的數(shù)據(jù)從預(yù)設(shè)事件中提取出來、并保存在日志中,需要生成排行榜時基于日志進(jìn)行簡單的次數(shù)統(tǒng)計即可,無需遍歷所有歷史數(shù)據(jù),簡化了生成排行榜的操作,縮短處理時間。
圖4是本發(fā)明實施例提供的一種排行榜生成方法的流程圖。在本實施例中,以生成日志和生成排行榜都在一個服務(wù)器上執(zhí)行為例,參見圖4,該方法包括
401、服務(wù)器獲取當(dāng)前發(fā)生的預(yù)設(shè)事件。
對于網(wǎng)絡(luò)應(yīng)用來說,事件類型可以有多種,而服務(wù)器可以對多種事件類型的預(yù)設(shè)事件進(jìn)行獲取,以便后續(xù)根據(jù)獲取到的預(yù)設(shè)事件生成日志。
例如,該預(yù)設(shè)事件的事件類型可以有以下在論壇中評論、發(fā)帖、點播、收藏等等。
本步驟中,每發(fā)生一個預(yù)設(shè)事件,服務(wù)器即對其進(jìn)行獲取。
作為可替換的執(zhí)行方式,服務(wù)器還可以每隔預(yù)設(shè)時長獲取該預(yù)設(shè)時長內(nèi)發(fā)生的預(yù)設(shè)事件。
需要說明的是,所述服務(wù)器可以是獨立的服務(wù)器,也可以是服務(wù)器上的功能模塊。
402、服務(wù)器從發(fā)布的預(yù)設(shè)事件中提取與所述排序元素對應(yīng)的數(shù)據(jù);根據(jù)提取的數(shù)據(jù)生成日志。
本步驟中,所述排序元素包括事件發(fā)起者、事件承受者、事件發(fā)生事件和事件類型中的至少一項。所述排序元素包括了相當(dāng)于事件發(fā)生的“時間”、“類型”和“對象”(包括事件發(fā)起者和事件承受者)的元素,是一種較為通用的生成模型,能夠滿足大多數(shù)排行榜需求,從而避免了需求改變時,重復(fù)開發(fā)設(shè)置的過程,非常靈活。
對于不同的應(yīng)用場景,其排序元素中各個元素對應(yīng)的數(shù)據(jù)可以不同。如事件為用戶評論某一帖子,其事件發(fā)起者為用戶,事件承受者為帖子,事件發(fā)生時間為評論發(fā)布時間,事件類型為評論。如事件為用戶試聽歌曲,其事件發(fā)起者為用戶,事件承受者為歌曲,事件發(fā)生時間為試聽時間,事件類型為試聽。如事件為用戶下載歌曲,其事件發(fā)起者為用戶, 事件承受者為歌曲,事件發(fā)生時間為下載時間,事件類型為下載。如事件為用戶收藏歌曲, 其事件發(fā)起者為用戶,事件承受者為歌曲,事件發(fā)生時間為收藏時間,事件類型為收藏。
舉例說明,對于預(yù)設(shè)事件為用戶評論某一用戶的貼子來說,提取該預(yù)設(shè)事件中與排序元素對應(yīng)的數(shù)據(jù)并生成日志,就是提取發(fā)布評論的用戶ID、評論所針對的帖子ID、作為事件類型的“評論”和評論的發(fā)布時間,根據(jù)提取的數(shù)據(jù)生成日志文件。假設(shè)以用戶13512針對帖子224在7月18日12點23分發(fā)布的新評論為例,生成的日志中包括如下數(shù)據(jù)用戶135,帖子224,評論,7月18日12點23分。
403、服務(wù)器將該日志存儲在日志文件中。
本步驟中,該服務(wù)器在存儲該日志時,可以按照該日志的生成時間順序存儲在日志文件中,以便后續(xù)對日志文件進(jìn)行處理的時候,能夠根據(jù)生成時間獲取需處理的日志。
404、服務(wù)器統(tǒng)計所述與排序元素對應(yīng)的每項數(shù)據(jù)在當(dāng)前統(tǒng)計周期內(nèi)出現(xiàn)的次數(shù)。
本步驟中,所述排序元素可以包括兩項以上,此時服務(wù)器針對至少一項排序元素, 分別統(tǒng)計每項排序元素對應(yīng)的每項數(shù)據(jù)在當(dāng)前統(tǒng)計周期內(nèi)出現(xiàn)的次數(shù)。如果同時針對多項排序元素對應(yīng)的數(shù)據(jù)進(jìn)行統(tǒng)計,將可以在一次統(tǒng)計中獲得多維的結(jié)果。
當(dāng)前統(tǒng)計周期是指由當(dāng)前排行榜生成時間往前的預(yù)設(shè)時間間隔,該預(yù)設(shè)間隔可以為一天、一周或一個月等。
進(jìn)一步地,可以一次對多個時間段內(nèi)的日志進(jìn)行統(tǒng)計,例如服務(wù)器可以一次對前一天、前一周和前一個月內(nèi)的日志進(jìn)行統(tǒng)計。
需要說明的是,對排序元素對應(yīng)的每項數(shù)據(jù)出現(xiàn)的次數(shù)進(jìn)行的統(tǒng)計可以是按照預(yù)設(shè)順序串行統(tǒng)計,還可以是并行統(tǒng)計的。當(dāng)按照預(yù)設(shè)順序串行統(tǒng)計時,可以按照預(yù)先設(shè)置的元素統(tǒng)計順序,如先對事件發(fā)起者進(jìn)行統(tǒng)計,再對事件承受者進(jìn)行統(tǒng)計等,例如統(tǒng)計前一天用戶135出現(xiàn)的次數(shù),再統(tǒng)計前一天帖子224出現(xiàn)的次數(shù)。當(dāng)并行統(tǒng)計時,可以同時對各個排序元素對應(yīng)的每項數(shù)據(jù)進(jìn)行統(tǒng)計。
405、服務(wù)器根據(jù)統(tǒng)計結(jié)果對所述排序元素對應(yīng)的所有數(shù)據(jù)進(jìn)行排序,生成基于所述排序元素的排行榜。
本步驟中,針對至少一個排序元素,分別統(tǒng)計每項排序元素對應(yīng)的每項數(shù)據(jù)在當(dāng)前統(tǒng)計周期內(nèi)出現(xiàn)的次數(shù),生成基于至少一個排序元素的排行榜。
其中,在排序和生成排行榜時,可以是針對所有排序元素的排序和生成排行榜,還可以是針對多個排序元素中某個或某幾個排序元素的排序和生成排行榜,在本實施例中不作限定。
假設(shè)統(tǒng)計前一天各個用戶發(fā)布評論的總次數(shù),并根據(jù)統(tǒng)計結(jié)果排序,得到發(fā)布評論最多的用戶或是發(fā)布評論前幾名的用戶,再統(tǒng)計前一天各個帖子的評論數(shù)量,根據(jù)統(tǒng)計結(jié)果排序,得到被評論最多的帖子或是被評論前幾名的帖子。
進(jìn)一步地,還可以統(tǒng)計前一周各個用戶發(fā)布評論的次數(shù),并根據(jù)統(tǒng)計結(jié)果排序,得到發(fā)布評論最多的用戶或是發(fā)布評論前幾名的用戶,再統(tǒng)計前一周各個帖子的評論數(shù)量, 根據(jù)統(tǒng)計結(jié)果排序,得到被評論最多的帖子或是被評論前幾名的帖子。由此可以一次產(chǎn)生不同時間跨度(一天內(nèi)和一周內(nèi))、兩種維度(發(fā)布評論最多的用戶和評論數(shù)最多的帖子)上的排行榜。
以按照“事件發(fā)起者”和“事件承受者”的次數(shù)進(jìn)行統(tǒng)計為例進(jìn)行說明,分別生成基于“事件發(fā)起者”和“事件承受者”的排行榜。
基于“事件發(fā)起者”的排行榜榜單如下
事件發(fā)起者事件類型事件發(fā)生時間次數(shù)用戶135 評論 7月18日2次用戶364 評論 7月18日I次用尸175 評論 7月18日I次
基于“事件承受者”的排行榜榜單如下
事件承受者事件類型事件發(fā)生時間次數(shù)
帖子224 評論7月18日 3次
帖子64 評論7月18日 I次
以上排行榜榜單說明,在7月18日,在發(fā)布評論的事件上,最活躍的用戶依次是 “用戶135”,“用戶364”和“用戶175”,被評論次數(shù)最多的帖子依次是“帖子224”和“帖子 64”,也就是“本日最活躍用戶”和“本日最火帖子”的排行榜。
進(jìn)一步,在排行榜生成之后,用戶通過移動終端可以查詢排行榜,此時執(zhí)行如下步驟
406、服務(wù)器接收查詢請求,所述查詢請求攜帶查詢條件。
本步驟中,查詢條件可以為排行榜所基于的排序元素(如事件發(fā)起者或事件承受者),還可以是排行榜生成時間或排行榜時間跨度。
如可以查詢基于事件發(fā)起者或事件承受者的排行榜。
該查詢請求可以是通過http協(xié)議發(fā)送和接收。407、服務(wù)器從生成的排行榜中獲取與所述查詢條件匹配的排行榜。
本步驟中,當(dāng)查詢條件為排行榜基于的排序元素時,獲取基于待查詢元素的排行榜,如果不存在基于該排序元素的排行榜,提示查詢失敗。當(dāng)查詢條件為排行榜生成時間時,獲取該生成時間生成的排行榜,如果不存在該生成時間生成的排行榜,提示查詢失敗。 當(dāng)查詢條件為排行時間跨度時,獲取該時間跨度內(nèi)生成的排行榜,如果該時間跨度內(nèi)沒有生成排行榜,提示查詢失敗。
408、服務(wù)器向終端返回獲取的排行榜。
在實際應(yīng)用中,服務(wù)器在生成各類排行榜之后,也可以主動向終端推送生成的所有排行榜,而不必等用戶發(fā)送具體的請求后在發(fā)送。
本發(fā)明實施例提供的一種生成排行榜的方法,將生成排行榜所需的排序元素對應(yīng)的數(shù)據(jù)從預(yù)設(shè)事件中提取出來、并保存在日志中,需要生成排行榜時基于日志進(jìn)行簡單的次數(shù)統(tǒng)計即可,無需遍歷所有歷史數(shù)據(jù),簡化了生成排行榜的操作,縮短處理時間。
圖5是本發(fā)明實施例提供的一種服務(wù)器的結(jié)構(gòu)示意圖。參見圖5,所述服務(wù)器包括
日志獲取模塊51,用于獲取日志,所述日志中包括從預(yù)設(shè)事件中提取的排序元素對應(yīng)的數(shù)據(jù);
統(tǒng)計模塊52,用于統(tǒng)計所述排序元素對應(yīng)的每項數(shù)據(jù)在當(dāng)前統(tǒng)計周期內(nèi)出現(xiàn)的總次數(shù);
排行榜生成模塊53,用于根據(jù)統(tǒng)計結(jié)果對所述排序元素對應(yīng)的所有數(shù)據(jù)進(jìn)行排序,生成基于所述排序元素的排行榜。
作為一種較優(yōu)的實施方式,該服務(wù)器還包括日志存儲模塊54,用于從預(yù)設(shè)事件中提取所述排序元素對應(yīng)的數(shù)據(jù);根據(jù)提取的數(shù)據(jù)生成日志并存儲;或,接收日志并存儲, 所述日志包括從預(yù)設(shè)事件中提取的排序元素對應(yīng)的數(shù)據(jù)。這里的日志可以存儲在日志文件中。
作為一種較優(yōu)的實施方式,所述排序元素包括事件發(fā)起者、事件承受者、事件發(fā)生時間和事件類型中的至少一項。
進(jìn)一步,統(tǒng)計模塊52具體用于在所述排序元素包括兩項以上時,分別統(tǒng)計至少一項排序元素對應(yīng)的每項數(shù)據(jù)出現(xiàn)的總次數(shù)。
相應(yīng)的,排行榜生成模塊53具體用于分別對至少一個排序元素對應(yīng)的所有數(shù)據(jù)進(jìn)行排序,生成基于至少一個排序元素對應(yīng)的排行榜。
作為一種較優(yōu)的實施方式,所述服務(wù)器還包括排行榜返回模塊57,用于向終端返回生成的排行榜。
進(jìn)一步,所述服務(wù)器還包括
接收模塊55,用于接收終端發(fā)送的查詢請求,所述查詢請求攜帶查詢條件;
排行榜獲取模塊56,用于從生成的排行榜中獲取與所述查詢條件匹配的排行榜。
圖6是本發(fā)明實施例提供的一種服務(wù)器的結(jié)構(gòu)示意圖。參見圖6,所述服務(wù)器包括
提取模塊61,用于從預(yù)設(shè)事件中提取與排序元素對應(yīng)的數(shù)據(jù);
日志生成模塊62,用于根據(jù)提取的數(shù)據(jù)生成日志。
作為一種較優(yōu)的實施例,所述服務(wù)器還包括發(fā)送模塊63,用于發(fā)送所述日志。
作為一種較優(yōu)的實施例,所述服務(wù)器還包括日志存儲模塊64,將所述日志存儲在日志文件中。
作為一種較優(yōu)的實施例,所述服務(wù)器還包括
日志獲取模塊65,用于獲取日志;
統(tǒng)計模塊66,用于統(tǒng)計所述排序元素對應(yīng)的每項數(shù)據(jù)在當(dāng)前統(tǒng)計周期內(nèi)出現(xiàn)的總次數(shù);
排行榜生成模塊67,用于根據(jù)統(tǒng)計結(jié)果對所述排序元素對應(yīng)的所有數(shù)據(jù)進(jìn)行排序,生成基于所述排序元素的排行榜。
進(jìn)一步,所述排序元素包括事件發(fā)起者、事件承受者、事件發(fā)生時間和事件類型中的至少一項。
進(jìn)一步,統(tǒng)計模塊66具體用于在所述排序元素包括兩項以上時,分別統(tǒng)計至少一項排序元素對應(yīng)的每項數(shù)據(jù)在當(dāng)前統(tǒng)計周期內(nèi)出現(xiàn)的總次數(shù)。
相應(yīng)的,排行榜生成模塊66具體用于分別針對至少一個排序元素對應(yīng)的所有數(shù)據(jù)進(jìn)行排序,生成基于至少一個排序元素的排行榜。
作為一種較佳的實施方式,所述服務(wù)器還包括排行榜返回模塊70,用于向終端返回生成的排行榜。
進(jìn)一步,所述服務(wù)器還包括
接收模塊68,用于接收查詢請求,所述查詢請求攜帶查詢條件;
排行榜獲取模塊69,用于從生成的排行榜中獲取所述查詢條件匹配的排行榜。
需要說明的是上述實施例提供的服務(wù)器,僅以上述各功能模塊的劃分進(jìn)行舉例說明,實際應(yīng)用中,可以根據(jù)需要而將上述功能分配由不同的功能模塊完成,即將設(shè)備的內(nèi)部結(jié)構(gòu)劃分成不同的功能模塊,以完成以上描述的全部或者部分功能。另外,上述實施例提供的服務(wù)器與方法實施例屬于同一構(gòu)思,其具體實現(xiàn)過程詳見方法實施例,這里不再贅述。
本領(lǐng)域普通技術(shù)人員可以理解實現(xiàn)上述實施例的全部或部分步驟可以通過硬件來完成,也可以通過程序來指令相關(guān)的硬件完成,所述的程序可以存儲于一種計算機(jī)可讀存儲介質(zhì)中,上述提到的存儲介質(zhì)可以是只讀存儲器,磁盤或光盤等。
以上所述僅為本發(fā)明實施例的較佳實施例,并不用以限制本發(fā)明實施例,凡在本發(fā)明實施例的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明實施例的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種排行榜生成方法,其特征在于,所述方法包括 獲取日志,所述日志中包括從預(yù)設(shè)事件中提取的排序元素對應(yīng)的數(shù)據(jù); 統(tǒng)計所述排序元素對應(yīng)的每項數(shù)據(jù)在當(dāng)前統(tǒng)計周期內(nèi)出現(xiàn)的次數(shù); 根據(jù)統(tǒng)計結(jié)果對所述排序元素對應(yīng)的所有數(shù)據(jù)進(jìn)行排序,生成基于所述排序元素的排行榜。
2.根據(jù)權(quán)利要求I所述的方法,其特征在于,所述方法還包括 從預(yù)設(shè)事件中提取排序元素對應(yīng)的數(shù)據(jù);根據(jù)提取的數(shù)據(jù)生成日志并存儲; 或,接收日志并存儲,所述日志包括從預(yù)設(shè)事件中提取的排序元素對應(yīng)的數(shù)據(jù)。
3.根據(jù)權(quán)利要求I所述的方法,其特征在于,所述排序元素包括事件發(fā)起者、事件承受者、事件發(fā)生時間和事件類型中的至少一項。
4.根據(jù)權(quán)利要求I或3所述的方法,其特征在于,所述排序元素包括兩項以上; 所述統(tǒng)計所述排序元素對應(yīng)的每項數(shù)據(jù)在當(dāng)前統(tǒng)計周期內(nèi)出現(xiàn)的次數(shù)為分別統(tǒng)計至少一項排序元素對應(yīng)的每項數(shù)據(jù)在當(dāng)前統(tǒng)計周期內(nèi)出現(xiàn)的次數(shù); 所述根據(jù)統(tǒng)計結(jié)果對所述排序元素對應(yīng)的所有數(shù)據(jù)進(jìn)行排序,生成基于所述排序元素的排行榜為分別對至少一個排序元素對應(yīng)的所有數(shù)據(jù)進(jìn)行排序,生成基于至少一個排序元素的排行榜。
5.根據(jù)權(quán)利要求I所述的方法,其特征在于,所述方法還包括向終端返回生成的排行榜。
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述向終端返回生成的排行榜之前,所述方法還包括 接收終端發(fā)送的查詢請求,所述查詢請求攜帶查詢條件; 從生成的排行榜中獲取與所述查詢條件匹配的排行榜。
7.一種日志生成方法,其特征在于,所述方法包括 從預(yù)設(shè)事件中提取與排序元素對應(yīng)的數(shù)據(jù); 根據(jù)提取的數(shù)據(jù)生成日志。
8.根據(jù)權(quán)利要求7所述的方法,其特征在于,所述方法還包括發(fā)送所述日志。
9.根據(jù)權(quán)利要求7所述的方法,其特征在于,所述方法還包括 獲取所述日志; 統(tǒng)計所述排序元素對應(yīng)的每項數(shù)據(jù)在當(dāng)前統(tǒng)計周期內(nèi)出現(xiàn)的次數(shù); 根據(jù)統(tǒng)計結(jié)果對所述排序元素對應(yīng)的所有數(shù)據(jù)進(jìn)行排序,生成基于所述排序元素的排行榜。
10.根據(jù)權(quán)利要求7或9所述的方法,其特征在于,所述排序元素包括事件發(fā)起者、事件承受者、事件發(fā)生時間和事件類型中的至少一項。
11.根據(jù)權(quán)利要求9所述的方法,其特征在于,所述排序元素包括兩項以上; 所述統(tǒng)計所述排序元素對應(yīng)的每項數(shù)據(jù)在當(dāng)前統(tǒng)計周期內(nèi)出現(xiàn)的次數(shù)為分別統(tǒng)計至少一項排序元素對應(yīng)的每項數(shù)據(jù)在當(dāng)前統(tǒng)計周期內(nèi)出現(xiàn)的總次數(shù); 所述根據(jù)統(tǒng)計結(jié)果對所述排序元素對應(yīng)的所有數(shù)據(jù)進(jìn)行排序,生成基于所述排序元素的排行榜為分別針對至少一個排序元素對應(yīng)的所有數(shù)據(jù)進(jìn)行排序,生成基于至少一個排序元素的排行榜。
12.根據(jù)權(quán)利要求9所述的方法,其特征在于,所述方法還包括向終端返回生成的排行榜。
13.根據(jù)權(quán)利要求12所述的方法,其特征在于,在向終端返回生成的排行榜之前,所述方法還包括 接收終端發(fā)送的查詢請求,所述查詢請求攜帶查詢條件; 從生成的排行榜中獲取與所述查詢條件匹配的排行榜。
14.一種服務(wù)器,其特征在于,所述服務(wù)器包括 日志獲取模塊,用于獲取日志,所述日志中包括從預(yù)設(shè)事件中提取的排序元素對應(yīng)的數(shù)據(jù); 統(tǒng)計模塊,用于統(tǒng)計所述排序元素對應(yīng)的每項數(shù)據(jù)在當(dāng)前統(tǒng)計周期內(nèi)出現(xiàn)的次數(shù); 排行榜生成模塊,用于根據(jù)統(tǒng)計結(jié)果對所述排序元素對應(yīng)的所有數(shù)據(jù)進(jìn)行排序,生成基于述排序元素的排行榜。
15.根據(jù)權(quán)利要求14所述的服務(wù)器,其特征在于,所述服務(wù)器還包括日志存儲模塊,用于從預(yù)設(shè)事件中提取排序元素對應(yīng)的數(shù)據(jù);根據(jù)提取的數(shù)據(jù)生成日志并存儲;或,接收日志并存儲,所述日志包括從預(yù)設(shè)事件中提取的排序元素對應(yīng)的數(shù)據(jù)。
16.根據(jù)權(quán)利要求14所述的服務(wù)器,其特征在于,所述排序元素包括事件發(fā)起者、事件承受者、事件發(fā)生時間和事件類型中的至少一項。
17.根據(jù)權(quán)利要求14或16所述的服務(wù)器,其特征在于,所述統(tǒng)計模塊具體用于在所述排序元素包括兩項以上時,分別統(tǒng)計至少一項排序元素對應(yīng)的每項數(shù)據(jù)在當(dāng)前統(tǒng)計周期內(nèi)出現(xiàn)的次數(shù); 所述排行榜生成模塊具體用于分別對至少一個排序元素對應(yīng)的所有數(shù)據(jù)進(jìn)行排序,生成基于至少一個排序元素的排行榜。
18.根據(jù)權(quán)利要求14所述的服務(wù)器,其特征在于,所述服務(wù)器還包括排行榜返回模塊,用于向終端返回生成的排行榜。
19.根據(jù)權(quán)利要求18所述的服務(wù)器,其特征在于,所述服務(wù)器還包括 接收模塊,用于接收終端發(fā)送的查詢請求,所述查詢請求攜帶查詢條件; 排行榜獲取模塊,用于從生成的排行榜中獲取與所述查詢條件匹配的排行榜。
20.一種服務(wù)器,其特征在于,所述服務(wù)器包括 提取模塊,用于從預(yù)設(shè)事件中提取與排序元素對應(yīng)的數(shù)據(jù); 日志生成模塊,用于根據(jù)提取的數(shù)據(jù)生成日志。
21.根據(jù)權(quán)利要求20所述的服務(wù)器,其特征在于,所述服務(wù)器還包括發(fā)送模塊,用于發(fā)送所述日志。
22.根據(jù)權(quán)利要求20所述的服務(wù)器,其特征在于,所述服務(wù)器還包括 日志獲取模塊,用于獲取所述日志; 統(tǒng)計模塊,用于統(tǒng)計所述排序元素對應(yīng)的每項數(shù)據(jù)在當(dāng)前統(tǒng)計周期內(nèi)出現(xiàn)的總次數(shù); 排行榜生成模塊,用于根據(jù)統(tǒng)計結(jié)果對所述排序元素對應(yīng)的所有數(shù)據(jù)進(jìn)行排序,生成基于所述排序元素的排行榜。
23.根據(jù)權(quán)利要求20或22所述的服務(wù)器,其特征在于,所述排序元素包括事件發(fā)起者、事件承受者、事件發(fā)生時間和事件類型中的至少一項。
24.根據(jù)權(quán)利要求22所述的服務(wù)器,其特征在于,所述統(tǒng)計模塊具體用于在所述排序元素包括兩項以上時,分別統(tǒng)計至少一項排序元素對應(yīng)的每項數(shù)據(jù)在當(dāng)前統(tǒng)計周期內(nèi)出現(xiàn)的總次數(shù); 所述排行榜生成模塊具體用于分別針對至少一個排序元素對應(yīng)的所有數(shù)據(jù)進(jìn)行排序,生成基于至少一個排序元素的排行榜。
25.根據(jù)權(quán)利要求22所述的服務(wù)器,其特征在于,所述服務(wù)器還包括排行榜返回模塊,用于向終端返回生成的排行榜。
26.根據(jù)權(quán)利要求25所述的服務(wù)器,其特征在于,所述服務(wù)器還包括 接收模塊,用于接收查詢請求,所述查詢請求攜帶查詢條件; 排行榜獲取模塊,用于從生成的排行榜中獲取與所述查詢條件匹配的排行榜。
全文摘要
本發(fā)明公開了排行榜生成方法、日志生成方法和服務(wù)器,屬于網(wǎng)絡(luò)技術(shù)領(lǐng)域。所述方法包括獲取日志,所述日志中包括從預(yù)設(shè)事件中提取的排序元素對應(yīng)的數(shù)據(jù);統(tǒng)計所述排序元素對應(yīng)的每項數(shù)據(jù)在當(dāng)前統(tǒng)計周期內(nèi)出現(xiàn)的次數(shù);根據(jù)統(tǒng)計結(jié)果對所述排序元素對應(yīng)的所有數(shù)據(jù)進(jìn)行排序,生成所述排序元素對應(yīng)的排行榜。本發(fā)明避免了每次生成排行榜時遍歷所有歷史數(shù)據(jù),簡化了生成排行榜的操作,縮短處理時間。
文檔編號G06F17/30GK102982112SQ201210444628
公開日2013年3月20日 申請日期2012年11月8日 優(yōu)先權(quán)日2012年11月8日
發(fā)明者張嘯, 付力揚, 謝龍 申請人:北京小米科技有限責(zé)任公司