CN102982112A - 排行榜生成方法、日志生成方法和服务器 - Google Patents

排行榜生成方法、日志生成方法和服务器 Download PDF

Info

Publication number
CN102982112A
CN102982112A CN2012104446281A CN201210444628A CN102982112A CN 102982112 A CN102982112 A CN 102982112A CN 2012104446281 A CN2012104446281 A CN 2012104446281A CN 201210444628 A CN201210444628 A CN 201210444628A CN 102982112 A CN102982112 A CN 102982112A
Authority
CN
China
Prior art keywords
ranking list
collation element
event
server
daily record
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN2012104446281A
Other languages
English (en)
Inventor
张啸
付力扬
谢龙
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Xiaomi Technology Co Ltd
Original Assignee
Beijing Xiaomi Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Xiaomi Technology Co Ltd filed Critical Beijing Xiaomi Technology Co Ltd
Priority to CN2012104446281A priority Critical patent/CN102982112A/zh
Publication of CN102982112A publication Critical patent/CN102982112A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了排行榜生成方法、日志生成方法和服务器,属于网络技术领域。所述方法包括:获取日志,所述日志中包括从预设事件中提取的排序元素对应的数据;统计所述排序元素对应的每项数据在当前统计周期内出现的次数;根据统计结果对所述排序元素对应的所有数据进行排序,生成所述排序元素对应的排行榜。本发明避免了每次生成排行榜时遍历所有历史数据,简化了生成排行榜的操作,缩短处理时间。

Description

排行榜生成方法、日志生成方法和服务器
技术领域
本发明涉及网络技术领域,特别涉及排行榜生成方法、日志生成方法和服务器。
背景技术
随着移动互联网的不断发展,用户可以获取越来越丰富的信息和资讯,而为了有针对性、有序的获取信息和资讯,经常会有对信息进行排序的需求,即根据信息生成排行榜的需求。例如:用户可以在论坛发帖子,该用户和其他用户又可以针对该帖发布评论,在浏览众多的帖子时,浏览者可能希望获知当前发布评论较活跃的用户,也可能希望获知当前热度较高的帖子,这是就需要生成对应的排行榜。
目前生成排行榜的方法一般包括以下过程:预先设置针对特定需求的排序元素,遍历历史数据,针对排序元素执行统计,并按照统计结果对信息进行排序,从而生成排行榜。仍以用户评论帖子为例说明生成排行榜的过程,例如:特定需求是根据帖子的评论数量对帖子进行排序,此时的排序元素就是帖子的评论数量;服务器存储每个帖子的历史数据,包括发帖用户ID、帖子ID、对应的评论内容、发表评论的用户ID等;假设排行榜生成间隔为一天,每到达排行榜生成时间时,遍历历史数据,统计每个帖子的评论数量;按照统计结果生成排行榜。
上述生成排行榜的方法至少存在以下问题:每次生成排行榜时,都需要遍历存储的所有历史数据,操作繁琐,需要时间较长。
发明内容
本发明实施例提供排行榜生成方法、日志生成方法和服务器,能够简化生成排行榜时执行的操作,缩短处理时间。
所述技术方案如下:
本发明实施例提供了一种排行榜生成方法,所述方法包括:
获取日志,所述日志中包括从预设事件中提取的排序元素对应的数据;
统计所述排序元素对应的每项数据在当前统计周期内出现的次数;
根据统计结果对所述排序元素对应的所有数据进行排序,生成基于所述排序元素的排行榜。
较优的,所述方法还包括:
从发布的预设事件中提取与排序元素对应的数据;根据提取的数据生成日志并存储;
或,接收日志并存储,所述日志包括从预设事件中提取的排序元素对应的数据。
进一步,所述日志存储在日志文件中。
较优的,所述排序元素包括事件发起者、事件承受者、事件发生时间和事件类型中的至少一项。
进一步,所述排序元素包括两项以上;
所述统计在当前统计周期内所述排序元素对应的每项数据出现的次数为:分别统计至少一项排序元素对应的每项数据在当前统计周期内出现的次数;
所述根据统计结果对所述排序元素对应的所有数据进行排序,生成基于所述排序元素的排行榜为:分别对至少一个排序元素对应的所有数据进行排序,生成基于至少一个排序元素的排行榜。
较优的,所述方法还包括:向终端返回生成的排行榜。
进一步,所述向终端返回生成的排行榜之前,所述方法还包括:
接收终端发送的查询请求,所述查询请求携带查询条件;
从生成的排行榜中获取与所述查询条件相匹配的排行榜。
本发明实施例提供了一种日志生成的方法,所述方法包括:
从预设事件中提取与排序元素对应的数据;
根据提取的数据生成日志。
较优的,所述方法还包括:发送所述日志。
较优的,所述方法还包括:将所述日志存储在日志文件中。
较优的,所述方法还包括:
获取所述日志;
统计所述排序元素对应的每项数据在当前统计周期内出现的总次数;
根据统计结果对所述排序元素对应的所有数据进行排序,生成基于所述排序元素的排行榜。
进一步,所述排序元素包括事件发起者、事件承受者、事件发生时间和事件类型中的至少一项。
进一步,所述排序元素包括两项以上;
所述统计所述排序元素对应的每项数据在当前统计周期内出现的次数为:分别统计至少一项排序元素对应的每项数据在当前统计周期内出现的次数;
所述根据统计结果对所述排序元素对应的所有数据进行排序,生成基于所述排序元素的排行榜为:分别针对至少一个排序元素对应的所有数据进行排序,生成基于至少一个排序元素的排行榜。
较优的,所述方法还包括:向终端返回生成的排行榜。
进一步,在向终端返回生成的排行榜之前,所述方法还包括:
接收查询请求,所述查询请求携带查询条件;
从生成的排行榜中获取与所述查询条件匹配的排行榜。
本发明实施例提供了一种服务器,其特征在于,所述服务器包括:
日志获取模块,用于获取日志,所述日志中包括从预设事件中提取的排序元素对应的数据;
统计模块,用于统计所述排序元素对应的每项数据在当前统计周期内出现的总次数;
排行榜生成模块,用于根据统计结果对所述排序元素对应的所有数据进行排序,生成基于所述排序元素的排行榜。
较优的,所述服务器还包括:日志存储模块,用于从预设事件中提取所述排序元素对应的数据;根据提取的数据生成日志并存储;或,接收日志并存储,所述日志包括从预设事件中提取的排序元素对应的数据。
进一步,所述日志存储在日志文件中。
较优的,所述排序元素包括事件发起者、事件承受者、事件发生时间和事件类型中的至少一项。
进一步,所述统计模块具体用于在所述排序元素包括两项以上时,分别统计至少一项排序元素对应的每项数据在当前统计周期内出现的总次数;
所述排行榜生成模块具体用于分别对至少一个排序元素对应的所有数据进行排序,生成基于至少一个排序元素的排行榜。
较优的,所述服务器还包括:排行榜返回模块,用于向终端返回生成的排行榜。
进一步,所述服务器还包括:
接收模块,用于接收终端发送的查询请求,所述查询请求携带查询条件;
排行榜获取模块,用于从生成的排行榜中获取与所述查询条件匹配的排行榜。
本发明实施例提供了一种服务器,所述服务器包括:
提取模块,用于从预设事件中提取与排序元素对应的数据;
日志生成模块,用于根据提取的数据生成日志。
较优的,所述服务器还包括:发送模块,用于发送所述日志。
较优的,所述服务器还包括:日志存储模块,用于将所述日志存储在日志文件中。
较优的,所述服务器还包括:
日志获取模块,用于获取日志;
统计模块,用于统计所述排序元素对应的每项数据在当前统计周期内出现的总次数;
排行榜生成模块,用于根据统计结果对所述排序元素对应的所有数据进行排序,生成基于所述排序元素的排行榜。
进一步,所述排序元素包括事件发起者、事件承受者、事件发生时间和事件类型中的至少一项。
进一步,所述统计模块具体用于在所述排序元素包括两项以上时,分别统计至少一项排序元素对应的每项数据在当前统计周期内出现的总次数;
所述排行榜生成模块具体用于分别针对至少一个排序元素对应的所有数据进行排序,生成基于至少一个排序元素的排行榜。
较优的,所述服务器还包括:排行榜返回模块,用于向终端返回生成的排行榜。
进一步,所述服务器还包括:
接收模块,用于接收查询请求,所述查询请求携带查询条件;
排行榜获取模块,用于从生成的排行榜中获取与所述查询条件匹配的排行榜。
本发明实施例提供的排行榜生成方法、日志生成方法和服务器,将生成排行榜所需的排序元素对应的数据从预设事件中提取出来、并保存在日志中,需要生成排行榜时基于日志进行简单的次数统计即可,无需遍历所有历史数据,简化了生成排行榜的操作,缩短处理时间。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明实施例的一些举例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种排行榜生成方法的流程图;
图2是本发明实施例提供的一种日志生成方法的流程图;
图3是本发明实施例提供的一种排行榜生成方法的流程图;
图4是本发明实施例提供的一种排行榜生成方法的流程图;
图5是本发明实施例提供的一种服务器的结构示意图;
图6是本发明实施例提供的一种服务器的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
图1是本发明实施例提供的一种排行榜生成方法的流程图。参见图1,该方法具体包括:
101、获取日志,所述日志中包括从预设事件中提取的排序元素对应的数据;
102、统计所述排序元素对应的每项数据在当前统计周期内出现的次数;
103、根据统计结果对所述排序元素对应的所有数据进行排序,生成基于所述排序元素的排行榜。
作为一种较优的实施方式,该方法还包括:
从预设事件中提取与排序元素对应的数据;根据提取的数据生成日志并存储;或,接收日志并存储,所述日志包括从预设事件中提取的排序元素对应的数据。这里可以将所述日志存储在日志文件中。
作为一种较优的实施方式,所述排序元素包括事件发起者、事件承受者、事件发生时间和事件类型中的至少一项。
进一步,当所述排序元素包括两项以上时,所述统计所述排序元素对应的每项数据在当前统计周期内出现的次数为:分别统计至少一项排序元素对应的每项数据在当前统计周期内出现的总次数;所述统计结果对所述排序元素对应的所有数据进行排序,生成基于所述排序元素的排行榜为:分别对至少一个排序元素对应的所有数据进行排序,生成基于至少一个排序元素的排行榜。
作为一种较佳的实施方式,所述方法还包括:向终端返回生成的排行榜。
进一步,所述向终端返回生成的排行榜之前,所述方法还包括:
接收终端发送的查询请求,所述查询请求携带查询条件;
从生成的排行榜中获取与查询条件匹配的排行榜。
本发明实施例提供的一种生成排行榜的方法,将生成排行榜所需的排序元素对应的数据从预设事件中提取出来、并保存在日志中,需要生成排行榜时基于日志进行简单的次数统计即可,无需遍历所有历史数据,简化了生成排行榜的操作,缩短处理时间。
图2是本发明实施例提供的一种日志生成方法的流程图。参见图2,该方法包括:
201、从预设事件中提取与排序元素对应的数据;
202、根据提取的数据生成日志。
作为一种较优的实施方式,所述方法还包括:发送所述日志。
作为一种较优的实施方式,该方法还包括:将所述日志存储在日志文件中。
作为一种较优的实施方式,该方法还包括:
获取所述日志;
统计所述排序元素对应的每项数据在当前统计周期内出现的总次数;
根据统计结果对所述排序元素对应的所有数据进行排序,生成基于所述排序元素的排行榜。
进一步,所述排序元素包括事件发起者、事件承受者、事件发生时间和事件类型中的至少一项。
进一步,在所述排序元素包括两项以上时;所述统计所述与排序元素对应的每项数据在当前统计周期内出现的总次数为:分别统计至少一项排序元素对应的每项数据在当前统计周期内出现的总次数;所述根据统计结果对所述排序元素对应的所有数据进行排序,生成基于所述排序元素的排行榜为:分别针对至少一个排序元素对应的所有数据进行排序,生成基于至少一个排序元素的排行榜。
作为一种较优的实施方式,所述方法还包括:向终端返回生成的排行榜。
进一步,在向终端返回生成的排行榜之前,所述方法还包括:
接收终端发送的查询请求,所述查询请求携带查询条件;
从生成的排行榜中获取与所述查询条件匹配的排行榜。
本发明实施例提供的一种生成日志的方法,将生成排行榜所需的排序元素对应的数据从预设事件中提取出来、并保存在日志中,需要生成排行榜时基于日志进行简单的次数统计即可,无需遍历所有历史数据,简化了生成排行榜的操作,缩短处理时间。
图3是本发明实施例提供的一种排行榜生成方法的流程图。在本实施例中,以生成日志和生成排行榜的设备为相互独立的实体为例进行说明,为了便于描述,将生成日志的设备称为第一服务器,生成排行榜的设备称为第二服务器,参见图3,该方法包括:
301、第一服务器获取当前发生的预设事件。
对于网络应用来说,事件类型可以有多种,而第一服务器可以对多种事件类型的预设事件进行获取,以便后续根据获取到的预设事件生成日志。
例如,该预设事件的事件类型可以有以下:在论坛中评论、发帖、点播、收藏等等。
本步骤中,每发生一个预设事件,第一服务器即对其进行获取。
作为可替换的执行方式,第一服务器还可以每隔预设时长获取该预设时长内发生的预设事件。
302、第一服务器从预设事件中提取与所述排序元素对应的数据;根据提取的数据生成日志。
本步骤中,所述排序元素包括事件发起者、事件承受者、事件发生事件和事件类型中的至少一项。所述排序元素包括了相当于事件发生的“时间”、“类型”和“对象”(包括事件发起者和事件承受者)的元素,是一种较为通用的生成模型,能够满足大多数排行榜需求,从而避免了需求改变时,重复开发设置的过程,非常灵活。
对于不同的应用场景,其排序元素中各个元素对应的数据可以不同。如事件为用户评论某一帖子,其事件发起者为用户,事件承受者为帖子,事件发生时间为评论发布时间,事件类型为评论。如事件为用户试听歌曲,其事件发起者为用户,事件承受者为歌曲,事件发生时间为试听时间,事件类型为试听。如事件为用户下载歌曲,其事件发起者为用户,事件承受者为歌曲,事件发生时间为下载时间,事件类型为下载。如事件为用户收藏歌曲,其事件发起者为用户,事件承受者为歌曲,事件发生时间为收藏时间,事件类型为收藏。
举例说明,对于预设事件为用户评论贴子来说,提取该预设事件中与排序元素对应的数据并生成日志,就是提取发布评论的用户ID、评论所针对的帖子ID、作为事件类型的“评论”和评论的发布时间,根据提取的数据生成日志。假设以用户135针对帖子224在7月18日12点23分发布的新评论为例,生成的日志中包括如下数据:用户135,帖子224,评论,7月18日12点23分。
303、第一服务器向第二服务器发送生成的日志。
本步骤中,仅以第一服务器和第二服务器为相互独立的设备为例进行说明。需要说明的是,本步骤中的第一服务器可以是用于处理业务的服务器,也可以是用于处理业务的服务器上的功能模块,本步骤中的第二服务器可以是用于处理业务的服务器,也可以是用于处理业务的服务器上的功能模块。
304、第二服务器将接收到的日志存储在日志文件中。
本步骤中,第二服务器在存储日志时,可以按照日志的生成时间顺序存储在日志文件中,以便后续对日志文件进行处理的时候,能够根据生成时间获取需处理的日志。
以上步骤301-304可以在每个预设事件发生后就开始执行,也可以每隔预设时长执行,而且步骤301-304执行完成后并不一定马上执行后续的步骤305-309。
305、第二服务器统计所述排序元素对应的每项数据在当前统计周期内出现的次数。
本步骤中,所述排序元素可以包括两项以上,此时第二服务器针对至少一项排序元素,分别统计每项排序元素对应的每项数据在当前统计周期内出现的总次数。如果同时针对多项排序元素对应的数据进行统计,将可以在一次统计中获得多维的结果。
当前统计周期指由当前排行榜生成时间往前的预设时间间隔,该预设时间间隔可以为一天、一周或一个月等。
进一步地,可以一次对多个时间段内的日志进行统计,例如第二服务器可以对前一天、前一周和前一个月内的日志进行统计。
需要说明的是,对排序元素对应的每项数据出现的次数进行的统计可以是按照预设顺序串行统计,还可以是并行统计的。当按照预设顺序串行统计时,可以按照预先设置的元素统计顺序,如先对事件发起者进行统计,再对事件承受者进行统计等,例如统计前一天用户135出现的次数,再统计前一天帖子224出现的次数。当并行统计时,可以同时对各个排序元素对应的每项数据进行统计。
306、第二服务器根据统计结果对所述排序元素对应的所有数据进行排序,生成基于所述排序元素的排行榜。
本步骤中,针对至少一个排序元素,分别统计在当前统计周期内每项排序元素对应的每项数据出现的次数,并根据统计结果生成基于至少一个排序元素的排行榜。
其中,在排序和生成排行榜时,可以是针对所有排序元素的排序和生成排行榜,还可以是针对多个排序元素中某个或某几个排序元素的排序和生成排行榜,在本实施例中不作限定。
假设统计前一天各个用户发布评论的总次数,并根据统计结果排序,得到发布评论最多的用户或是发布评论前几名的用户,再统计前一天各个帖子的评论数量,根据统计结果排序,得到被评论最多的帖子或是被评论前几名的帖子。
进一步地,还可以统计前一周各个用户发布评论的次数,并根据统计结果排序,得到发布评论最多的用户或是发布评论前几名的用户,再统计前一周各个帖子的评论数量,根据统计结果排序,得到被评论最多的帖子或是被评论前几名的帖子。由此可以一次产生不同时间跨度(一天内和一周内)、两种维度(发布评论最多的用户和评论数最多的帖子)上的排行榜。
以按照“事件发起者”和“事件承受者”的次数进行统计为例进行说明,分别生成基于“事件发起者”和“事件承受者”的排行榜。
基于“事件发起者”的排行榜榜单如下:
Figure BDA00002376334400101
基于“事件承受者”的排行榜榜单如下:
事件承受者事件类型事件发生时间次数
帖子224    评论7月18日    3次
帖子64     评论7月18日    1次
以上排行榜榜单说明,在7月18日,在发布评论的事件上,最活跃的用户依次是“用户135”,“用户364”和“用户175”,被评论次数最多的帖子依次是“帖子224”和“帖子64”,也就是“本日最活跃用户”和“本日最火帖子”的排行榜。
进一步,在排行榜生成之后,用户通过移动终端可以查询排行榜,此时执行如下步骤:
307、第二服务器接收查询请求,所述查询请求携带查询条件。
本步骤中,该查询条件可以为排行榜所基于的排序元素(如事件发起者或事件承受者),还可以是排行榜生成时间或排行榜时间跨度。
如可以查询基于事件发起者或事件承受者的排行榜。
该查询请求可以是通过http协议发送和接收。
308、第二服务器从生成的排行榜中获取与所述查询条件匹配的排行榜。
本步骤中,当查询条件为排行榜基于的排序元素时,获取基于该排序元素的排行榜,如果不存在基于该排序元素的排行榜,则提示查询失败。当查询条件为排行榜生成时间时,获取该生成时间生成的排行榜,如果不存在该生成时间生成的排行榜,提示查询失败。当查询条件为排行时间跨度时,获取该时间跨度内生成的排行榜,如果该时间跨度内没有生成排行榜,提示查询失败。
309、第二服务器向终端返回获取的排行榜。
在实际应用中,第二服务器在生成各类排行榜之后,也可以主动向终端推送生成的所有排行榜,而不必等用户发送具体的请求后在发送。
需要说明的是,在本实施例中,仅以第二服务器接收到查询请求为例进行说明,而在实际应用中,第一服务器也可以接收查询请求,并将查询请求发送给第二服务器,使得第二服务器提供相应的排行榜,此时,该步骤307-309还可以用以下步骤代替:第一服务器接收查询请求,将查询请求发送给第二服务器,第二服务器从已生成的排行榜中获取所述待查询元素对应的排行榜,并将排行榜发送给第一服务器,第一服务器向查询请求的请求端返回该排行榜。
本发明实施例提供的生成排行榜的方法,将生成排行榜所需的排序元素对应的数据从预设事件中提取出来、并保存在日志中,需要生成排行榜时基于日志进行简单的次数统计即可,无需遍历所有历史数据,简化了生成排行榜的操作,缩短处理时间。
图4是本发明实施例提供的一种排行榜生成方法的流程图。在本实施例中,以生成日志和生成排行榜都在一个服务器上执行为例,参见图4,该方法包括:
401、服务器获取当前发生的预设事件。
对于网络应用来说,事件类型可以有多种,而服务器可以对多种事件类型的预设事件进行获取,以便后续根据获取到的预设事件生成日志。
例如,该预设事件的事件类型可以有以下:在论坛中评论、发帖、点播、收藏等等。
本步骤中,每发生一个预设事件,服务器即对其进行获取。
作为可替换的执行方式,服务器还可以每隔预设时长获取该预设时长内发生的预设事件。
需要说明的是,所述服务器可以是独立的服务器,也可以是服务器上的功能模块。
402、服务器从发布的预设事件中提取与所述排序元素对应的数据;根据提取的数据生成日志。
本步骤中,所述排序元素包括事件发起者、事件承受者、事件发生事件和事件类型中的至少一项。所述排序元素包括了相当于事件发生的“时间”、“类型”和“对象”(包括事件发起者和事件承受者)的元素,是一种较为通用的生成模型,能够满足大多数排行榜需求,从而避免了需求改变时,重复开发设置的过程,非常灵活。
对于不同的应用场景,其排序元素中各个元素对应的数据可以不同。如事件为用户评论某一帖子,其事件发起者为用户,事件承受者为帖子,事件发生时间为评论发布时间,事件类型为评论。如事件为用户试听歌曲,其事件发起者为用户,事件承受者为歌曲,事件发生时间为试听时间,事件类型为试听。如事件为用户下载歌曲,其事件发起者为用户,事件承受者为歌曲,事件发生时间为下载时间,事件类型为下载。如事件为用户收藏歌曲,其事件发起者为用户,事件承受者为歌曲,事件发生时间为收藏时间,事件类型为收藏。
举例说明,对于预设事件为用户评论某一用户的贴子来说,提取该预设事件中与排序元素对应的数据并生成日志,就是提取发布评论的用户ID、评论所针对的帖子ID、作为事件类型的“评论”和评论的发布时间,根据提取的数据生成日志文件。假设以用户135针对帖子224在7月18日12点23分发布的新评论为例,生成的日志中包括如下数据:用户135,帖子224,评论,7月18日12点23分。
403、服务器将该日志存储在日志文件中。
本步骤中,该服务器在存储该日志时,可以按照该日志的生成时间顺序存储在日志文件中,以便后续对日志文件进行处理的时候,能够根据生成时间获取需处理的日志。
404、服务器统计所述与排序元素对应的每项数据在当前统计周期内出现的次数。
本步骤中,所述排序元素可以包括两项以上,此时服务器针对至少一项排序元素,分别统计每项排序元素对应的每项数据在当前统计周期内出现的次数。如果同时针对多项排序元素对应的数据进行统计,将可以在一次统计中获得多维的结果。
当前统计周期是指由当前排行榜生成时间往前的预设时间间隔,该预设间隔可以为一天、一周或一个月等。
进一步地,可以一次对多个时间段内的日志进行统计,例如服务器可以一次对前一天、前一周和前一个月内的日志进行统计。
需要说明的是,对排序元素对应的每项数据出现的次数进行的统计可以是按照预设顺序串行统计,还可以是并行统计的。当按照预设顺序串行统计时,可以按照预先设置的元素统计顺序,如先对事件发起者进行统计,再对事件承受者进行统计等,例如统计前一天用户135出现的次数,再统计前一天帖子224出现的次数。当并行统计时,可以同时对各个排序元素对应的每项数据进行统计。
405、服务器根据统计结果对所述排序元素对应的所有数据进行排序,生成基于所述排序元素的排行榜。
本步骤中,针对至少一个排序元素,分别统计每项排序元素对应的每项数据在当前统计周期内出现的次数,生成基于至少一个排序元素的排行榜。
其中,在排序和生成排行榜时,可以是针对所有排序元素的排序和生成排行榜,还可以是针对多个排序元素中某个或某几个排序元素的排序和生成排行榜,在本实施例中不作限定。
假设统计前一天各个用户发布评论的总次数,并根据统计结果排序,得到发布评论最多的用户或是发布评论前几名的用户,再统计前一天各个帖子的评论数量,根据统计结果排序,得到被评论最多的帖子或是被评论前几名的帖子。
进一步地,还可以统计前一周各个用户发布评论的次数,并根据统计结果排序,得到发布评论最多的用户或是发布评论前几名的用户,再统计前一周各个帖子的评论数量,根据统计结果排序,得到被评论最多的帖子或是被评论前几名的帖子。由此可以一次产生不同时间跨度(一天内和一周内)、两种维度(发布评论最多的用户和评论数最多的帖子)上的排行榜。
以按照“事件发起者”和“事件承受者”的次数进行统计为例进行说明,分别生成基于“事件发起者”和“事件承受者”的排行榜。
基于“事件发起者”的排行榜榜单如下:
Figure BDA00002376334400131
基于“事件承受者”的排行榜榜单如下:
事件承受者事件类型事件发生时间次数
帖子224    评论7月18日    3次
帖子64    评论7月18日    1次
以上排行榜榜单说明,在7月18日,在发布评论的事件上,最活跃的用户依次是“用户135”,“用户364”和“用户175”,被评论次数最多的帖子依次是“帖子224”和“帖子64”,也就是“本日最活跃用户”和“本日最火帖子”的排行榜。
进一步,在排行榜生成之后,用户通过移动终端可以查询排行榜,此时执行如下步骤:
406、服务器接收查询请求,所述查询请求携带查询条件。
本步骤中,查询条件可以为排行榜所基于的排序元素(如事件发起者或事件承受者),还可以是排行榜生成时间或排行榜时间跨度。
如可以查询基于事件发起者或事件承受者的排行榜。
该查询请求可以是通过http协议发送和接收。
407、服务器从生成的排行榜中获取与所述查询条件匹配的排行榜。
本步骤中,当查询条件为排行榜基于的排序元素时,获取基于待查询元素的排行榜,如果不存在基于该排序元素的排行榜,提示查询失败。当查询条件为排行榜生成时间时,获取该生成时间生成的排行榜,如果不存在该生成时间生成的排行榜,提示查询失败。当查询条件为排行时间跨度时,获取该时间跨度内生成的排行榜,如果该时间跨度内没有生成排行榜,提示查询失败。
408、服务器向终端返回获取的排行榜。
在实际应用中,服务器在生成各类排行榜之后,也可以主动向终端推送生成的所有排行榜,而不必等用户发送具体的请求后在发送。
本发明实施例提供的一种生成排行榜的方法,将生成排行榜所需的排序元素对应的数据从预设事件中提取出来、并保存在日志中,需要生成排行榜时基于日志进行简单的次数统计即可,无需遍历所有历史数据,简化了生成排行榜的操作,缩短处理时间。
图5是本发明实施例提供的一种服务器的结构示意图。参见图5,所述服务器包括:
日志获取模块51,用于获取日志,所述日志中包括从预设事件中提取的排序元素对应的数据;
统计模块52,用于统计所述排序元素对应的每项数据在当前统计周期内出现的总次数;
排行榜生成模块53,用于根据统计结果对所述排序元素对应的所有数据进行排序,生成基于所述排序元素的排行榜。
作为一种较优的实施方式,该服务器还包括:日志存储模块54,用于从预设事件中提取所述排序元素对应的数据;根据提取的数据生成日志并存储;或,接收日志并存储,所述日志包括从预设事件中提取的排序元素对应的数据。这里的日志可以存储在日志文件中。
作为一种较优的实施方式,所述排序元素包括事件发起者、事件承受者、事件发生时间和事件类型中的至少一项。
进一步,统计模块52具体用于在所述排序元素包括两项以上时,分别统计至少一项排序元素对应的每项数据出现的总次数。
相应的,排行榜生成模块53具体用于分别对至少一个排序元素对应的所有数据进行排序,生成基于至少一个排序元素对应的排行榜。
作为一种较优的实施方式,所述服务器还包括:排行榜返回模块57,用于向终端返回生成的排行榜。
进一步,所述服务器还包括:
接收模块55,用于接收终端发送的查询请求,所述查询请求携带查询条件;
排行榜获取模块56,用于从生成的排行榜中获取与所述查询条件匹配的排行榜。
图6是本发明实施例提供的一种服务器的结构示意图。参见图6,所述服务器包括:
提取模块61,用于从预设事件中提取与排序元素对应的数据;
日志生成模块62,用于根据提取的数据生成日志。
作为一种较优的实施例,所述服务器还包括:发送模块63,用于发送所述日志。
作为一种较优的实施例,所述服务器还包括:日志存储模块64,将所述日志存储在日志文件中。
作为一种较优的实施例,所述服务器还包括:
日志获取模块65,用于获取日志;
统计模块66,用于统计所述排序元素对应的每项数据在当前统计周期内出现的总次数;
排行榜生成模块67,用于根据统计结果对所述排序元素对应的所有数据进行排序,生成基于所述排序元素的排行榜。
进一步,所述排序元素包括事件发起者、事件承受者、事件发生时间和事件类型中的至少一项。
进一步,统计模块66具体用于在所述排序元素包括两项以上时,分别统计至少一项排序元素对应的每项数据在当前统计周期内出现的总次数。
相应的,排行榜生成模块66具体用于分别针对至少一个排序元素对应的所有数据进行排序,生成基于至少一个排序元素的排行榜。
作为一种较佳的实施方式,所述服务器还包括:排行榜返回模块70,用于向终端返回生成的排行榜。
进一步,所述服务器还包括:
接收模块68,用于接收查询请求,所述查询请求携带查询条件;
排行榜获取模块69,用于从生成的排行榜中获取所述查询条件匹配的排行榜。
需要说明的是:上述实施例提供的服务器,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的服务器与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明实施例的较佳实施例,并不用以限制本发明实施例,凡在本发明实施例的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明实施例的保护范围之内。

Claims (26)

1.一种排行榜生成方法,其特征在于,所述方法包括:
获取日志,所述日志中包括从预设事件中提取的排序元素对应的数据;
统计所述排序元素对应的每项数据在当前统计周期内出现的次数;
根据统计结果对所述排序元素对应的所有数据进行排序,生成基于所述排序元素的排行榜。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
从预设事件中提取排序元素对应的数据;根据提取的数据生成日志并存储;
或,接收日志并存储,所述日志包括从预设事件中提取的排序元素对应的数据。
3.根据权利要求1所述的方法,其特征在于,所述排序元素包括事件发起者、事件承受者、事件发生时间和事件类型中的至少一项。
4.根据权利要求1或3所述的方法,其特征在于,所述排序元素包括两项以上;
所述统计所述排序元素对应的每项数据在当前统计周期内出现的次数为:分别统计至少一项排序元素对应的每项数据在当前统计周期内出现的次数;
所述根据统计结果对所述排序元素对应的所有数据进行排序,生成基于所述排序元素的排行榜为:分别对至少一个排序元素对应的所有数据进行排序,生成基于至少一个排序元素的排行榜。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:向终端返回生成的排行榜。
6.根据权利要求5所述的方法,其特征在于,所述向终端返回生成的排行榜之前,所述方法还包括:
接收终端发送的查询请求,所述查询请求携带查询条件;
从生成的排行榜中获取与所述查询条件匹配的排行榜。
7.一种日志生成方法,其特征在于,所述方法包括:
从预设事件中提取与排序元素对应的数据;
根据提取的数据生成日志。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:发送所述日志。
9.根据权利要求7所述的方法,其特征在于,所述方法还包括:
获取所述日志;
统计所述排序元素对应的每项数据在当前统计周期内出现的次数;
根据统计结果对所述排序元素对应的所有数据进行排序,生成基于所述排序元素的排行榜。
10.根据权利要求7或9所述的方法,其特征在于,所述排序元素包括事件发起者、事件承受者、事件发生时间和事件类型中的至少一项。
11.根据权利要求9所述的方法,其特征在于,所述排序元素包括两项以上;
所述统计所述排序元素对应的每项数据在当前统计周期内出现的次数为:分别统计至少一项排序元素对应的每项数据在当前统计周期内出现的总次数;
所述根据统计结果对所述排序元素对应的所有数据进行排序,生成基于所述排序元素的排行榜为:分别针对至少一个排序元素对应的所有数据进行排序,生成基于至少一个排序元素的排行榜。
12.根据权利要求9所述的方法,其特征在于,所述方法还包括:向终端返回生成的排行榜。
13.根据权利要求12所述的方法,其特征在于,在向终端返回生成的排行榜之前,所述方法还包括:
接收终端发送的查询请求,所述查询请求携带查询条件;
从生成的排行榜中获取与所述查询条件匹配的排行榜。
14.一种服务器,其特征在于,所述服务器包括:
日志获取模块,用于获取日志,所述日志中包括从预设事件中提取的排序元素对应的数据;
统计模块,用于统计所述排序元素对应的每项数据在当前统计周期内出现的次数;
排行榜生成模块,用于根据统计结果对所述排序元素对应的所有数据进行排序,生成基于述排序元素的排行榜。
15.根据权利要求14所述的服务器,其特征在于,所述服务器还包括:日志存储模块,用于从预设事件中提取排序元素对应的数据;根据提取的数据生成日志并存储;或,接收日志并存储,所述日志包括从预设事件中提取的排序元素对应的数据。
16.根据权利要求14所述的服务器,其特征在于,所述排序元素包括事件发起者、事件承受者、事件发生时间和事件类型中的至少一项。
17.根据权利要求14或16所述的服务器,其特征在于,所述统计模块具体用于在所述排序元素包括两项以上时,分别统计至少一项排序元素对应的每项数据在当前统计周期内出现的次数;
所述排行榜生成模块具体用于分别对至少一个排序元素对应的所有数据进行排序,生成基于至少一个排序元素的排行榜。
18.根据权利要求14所述的服务器,其特征在于,所述服务器还包括:排行榜返回模块,用于向终端返回生成的排行榜。
19.根据权利要求18所述的服务器,其特征在于,所述服务器还包括:
接收模块,用于接收终端发送的查询请求,所述查询请求携带查询条件;
排行榜获取模块,用于从生成的排行榜中获取与所述查询条件匹配的排行榜。
20.一种服务器,其特征在于,所述服务器包括:
提取模块,用于从预设事件中提取与排序元素对应的数据;
日志生成模块,用于根据提取的数据生成日志。
21.根据权利要求20所述的服务器,其特征在于,所述服务器还包括:发送模块,用于发送所述日志。
22.根据权利要求20所述的服务器,其特征在于,所述服务器还包括:
日志获取模块,用于获取所述日志;
统计模块,用于统计所述排序元素对应的每项数据在当前统计周期内出现的总次数;
排行榜生成模块,用于根据统计结果对所述排序元素对应的所有数据进行排序,生成基于所述排序元素的排行榜。
23.根据权利要求20或22所述的服务器,其特征在于,所述排序元素包括事件发起者、事件承受者、事件发生时间和事件类型中的至少一项。
24.根据权利要求22所述的服务器,其特征在于,所述统计模块具体用于在所述排序元素包括两项以上时,分别统计至少一项排序元素对应的每项数据在当前统计周期内出现的总次数;
所述排行榜生成模块具体用于分别针对至少一个排序元素对应的所有数据进行排序,生成基于至少一个排序元素的排行榜。
25.根据权利要求22所述的服务器,其特征在于,所述服务器还包括:排行榜返回模块,用于向终端返回生成的排行榜。
26.根据权利要求25所述的服务器,其特征在于,所述服务器还包括:
接收模块,用于接收查询请求,所述查询请求携带查询条件;
排行榜获取模块,用于从生成的排行榜中获取与所述查询条件匹配的排行榜。
CN2012104446281A 2012-11-08 2012-11-08 排行榜生成方法、日志生成方法和服务器 Pending CN102982112A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2012104446281A CN102982112A (zh) 2012-11-08 2012-11-08 排行榜生成方法、日志生成方法和服务器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2012104446281A CN102982112A (zh) 2012-11-08 2012-11-08 排行榜生成方法、日志生成方法和服务器

Publications (1)

Publication Number Publication Date
CN102982112A true CN102982112A (zh) 2013-03-20

Family

ID=47856130

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2012104446281A Pending CN102982112A (zh) 2012-11-08 2012-11-08 排行榜生成方法、日志生成方法和服务器

Country Status (1)

Country Link
CN (1) CN102982112A (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103957275A (zh) * 2014-05-19 2014-07-30 北京奇虎科技有限公司 用户评论信息的推送方法、客户端、服务器及***
CN104462271A (zh) * 2014-11-25 2015-03-25 广州华多网络科技有限公司 一种用户活跃度的挖掘方法及相关设备
CN105323594A (zh) * 2015-10-26 2016-02-10 广州华多网络科技有限公司 在线直播榜单生成方法及装置
CN109344303A (zh) * 2018-11-30 2019-02-15 广州虎牙信息科技有限公司 一种数据结构切换方法、装置、设备和存储介质
CN109614555A (zh) * 2018-12-27 2019-04-12 腾讯音乐娱乐科技(深圳)有限公司 生成排行榜的方法和装置
CN109766497A (zh) * 2019-01-22 2019-05-17 网易(杭州)网络有限公司 排行榜生成方法及装置、存储介质、电子设备
CN111914140A (zh) * 2020-07-24 2020-11-10 上海阅文信息技术有限公司 一种基于消息数据源的实时榜单实现方法及***
CN112434215A (zh) * 2020-11-09 2021-03-02 北京奇艺世纪科技有限公司 排行榜生成方法、装置、电子设备及存储介质
JP7519404B2 (ja) 2022-05-12 2024-07-19 Lineヤフー株式会社 情報処理装置、情報処理方法、および情報処理プログラム

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1949220A (zh) * 2006-10-12 2007-04-18 百度在线网络技术(北京)有限公司 网络社区动态目录的构建***和方法
CN102708163A (zh) * 2012-04-26 2012-10-03 广东欧珀移动通信有限公司 一种网页论坛常用模块的突出显示方法
CN102740143A (zh) * 2012-07-03 2012-10-17 合一网络技术(北京)有限公司 一种基于用户行为的网络视频榜单生成***及其方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1949220A (zh) * 2006-10-12 2007-04-18 百度在线网络技术(北京)有限公司 网络社区动态目录的构建***和方法
CN102708163A (zh) * 2012-04-26 2012-10-03 广东欧珀移动通信有限公司 一种网页论坛常用模块的突出显示方法
CN102740143A (zh) * 2012-07-03 2012-10-17 合一网络技术(北京)有限公司 一种基于用户行为的网络视频榜单生成***及其方法

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103957275A (zh) * 2014-05-19 2014-07-30 北京奇虎科技有限公司 用户评论信息的推送方法、客户端、服务器及***
CN104462271A (zh) * 2014-11-25 2015-03-25 广州华多网络科技有限公司 一种用户活跃度的挖掘方法及相关设备
CN104462271B (zh) * 2014-11-25 2017-11-03 广州华多网络科技有限公司 一种用户活跃度的挖掘方法及相关设备
CN105323594A (zh) * 2015-10-26 2016-02-10 广州华多网络科技有限公司 在线直播榜单生成方法及装置
CN105323594B (zh) * 2015-10-26 2019-05-07 广州华多网络科技有限公司 在线直播榜单生成方法及装置
CN109344303A (zh) * 2018-11-30 2019-02-15 广州虎牙信息科技有限公司 一种数据结构切换方法、装置、设备和存储介质
CN109614555A (zh) * 2018-12-27 2019-04-12 腾讯音乐娱乐科技(深圳)有限公司 生成排行榜的方法和装置
CN109766497A (zh) * 2019-01-22 2019-05-17 网易(杭州)网络有限公司 排行榜生成方法及装置、存储介质、电子设备
CN111914140A (zh) * 2020-07-24 2020-11-10 上海阅文信息技术有限公司 一种基于消息数据源的实时榜单实现方法及***
CN112434215A (zh) * 2020-11-09 2021-03-02 北京奇艺世纪科技有限公司 排行榜生成方法、装置、电子设备及存储介质
JP7519404B2 (ja) 2022-05-12 2024-07-19 Lineヤフー株式会社 情報処理装置、情報処理方法、および情報処理プログラム

Similar Documents

Publication Publication Date Title
CN102982112A (zh) 排行榜生成方法、日志生成方法和服务器
CN102682059B (zh) 用于将用户分配到集群的方法和***
CN103838867A (zh) 日志处理方法和装置
CN102999586B (zh) 一种网站推荐的方法和装置
CN102663064B (zh) 一种收藏夹数据的处理方法及装置
WO2014004735A9 (en) Recommendations system
CN105721629B (zh) 用户标识匹配方法和装置
CN102682005A (zh) 偏好类目的确定方法及装置
CN102421062A (zh) 应用信息推送方法和***
CN103678647A (zh) 一种实现信息推荐的方法及***
KR20120126093A (ko) 네트워크에서 프렌드 피드를 관리하는 방법, 시스템 및 서버
CN104182506A (zh) 日志管理方法
CN110675194A (zh) 一种漏斗分析方法、装置、设备及可读介质
CN102902775A (zh) 互联网实时计算的方法和***
CN110598105B (zh) 一种基于概率采样的推荐方法、装置、设备及介质
CN110111167A (zh) 一种确定推荐对象的方法和装置
CN102955802B (zh) 从数据报表中获取数据的方法和装置
CN106815274B (zh) 基于Hadoop的日志数据挖掘方法及***
CN103116581A (zh) 一种电子信息的推荐方法以及装置
CN112396462B (zh) 基于Clickhouse的人群圈选方法及装置
CN108259638A (zh) 个人群组列表智能排序方法、智能终端及存储介质
CN108416627A (zh) 一种基于互联网数据的品牌影响力监控方法及***
CN103365904A (zh) 一种广告信息搜索方法和***
CN109977296A (zh) 一种信息推送方法、装置、设备及存储介质
CN111582951A (zh) 一种用于云电子商务的广告投放***和方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C53 Correction of patent of invention or patent application
CB02 Change of applicant information

Address after: 100102 Beijing Wangjing West Road, a volume of stone world building, A, block, floor 12

Applicant after: Xiaomi Technology Co., Ltd.

Address before: 100102 Beijing Wangjing West Road, a volume of stone world building, A, block, floor 12

Applicant before: Beijing Xiaomi Technology Co., Ltd.

C53 Correction of patent of invention or patent application
CB02 Change of applicant information

Address after: 100085 Beijing city Haidian District Qinghe Street No. 68 Huarun colorful city shopping center two floor 13

Applicant after: Xiaomi Technology Co., Ltd.

Address before: 100102 Beijing Wangjing West Road, a volume of stone world building, A, block, floor 12

Applicant before: Xiaomi Technology Co., Ltd.

RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20130320