排行榜生成方法、装置、电子设备及存储介质与流程

文档序号:24120776发布日期:2021-03-02 11:15阅读:56来源:国知局
排行榜生成方法、装置、电子设备及存储介质与流程

[0001]
本发明涉及数据处理技术领域,特别是涉及一种排行榜生成方法、装置、电子设备及存储介质。


背景技术:

[0002]
随着网络技术的飞速发展,用户越来越依赖于通过网络获取信息,各种提供信息的客户端也随之出现。为了提供更加便利的服务,在客户端上通常会向用户进行信息推荐。排行榜即为一种常用的推荐方式。在排行榜中对各个对象排序之后进行推荐,以便用户能够基于排行榜选择所需的对象。
[0003]
目前,在生成排行榜的过程中,需要基于大量的原始数据进行分析,并且排行榜类型越来越多,不同排行榜类型对应的排行榜在生成过程中,存在大量的重复计算。因此,目前的排行榜生成方式处理过程复杂,处理效率低。


技术实现要素:

[0004]
本发明实施例的目的在于提供一种排行榜生成方法、装置、电子设备及存储介质,以提高生成排行榜的处理效率。具体技术方案如下:
[0005]
在本发明实施的第一方面,首先提供了一种排行榜生成方法,包括:
[0006]
定时针对每个对象,获取并存储所述对象在每个第一维度下的统计参数以及在每个第二维度下的属性参数;所述第一维度为生成排行榜所需的,与用户属性相关的维度;所述第二维度为生成排行榜所需的,与对象自身属性相关的维度;
[0007]
针对每种排行榜类型,基于已存储的所述对象在每个第一维度下的统计参数以及在每个第二维度下的属性参数,生成所述排行榜类型对应的排行榜。
[0008]
可选地,所述统计参数包括行为统计参数和热度统计参数;获取所述对象在每个第一维度下的热度统计参数,包括:基于所述对象在每个第一维度下的行为统计参数,计算所述对象在每个第一维度下的热度统计参数。
[0009]
可选地,所述行为统计参数包括多个用户行为统计指标;所述基于所述对象在每个第一维度下的行为统计参数,计算所述对象在每个第一维度下的热度统计参数,包括:针对每个第一维度,对所述对象在当前第一维度下的多个用户行为统计指标进行加权计算,得到所述对象在当前第一维度下的热度统计参数。
[0010]
可选地,所述排行榜包括上榜对象;所述方法还包括:在监听到控制消息后,记录所述控制消息中包含的,状态发生变化的对象的状态信息;所述状态信息包括在至少一个第一维度上上线或下线;在接收到针对目标排行榜类型的排行榜访问请求后,从已生成的排行榜中,查找所述目标排行榜类型对应的目标排行榜;基于所述状态发生变化的对象的状态信息,从所述目标排行榜中筛选出上线的上榜对象;获取所述目标排行榜类型对应的,包含所述上线的上榜对象的待返回排行榜,并返回所述待返回排行榜。
[0011]
可选地,所述排行榜访问请求包括至少一个第一维度;所述基于所述状态发生变
化的对象的状态信息,从所述目标排行榜中筛选出上线的上榜对象,包括:基于所述状态发生变化的对象的状态信息,判断所述目标排行榜中是否包括在至少一个第一维度上下线的待过滤上榜对象;若包含所述待过滤上榜对象,则将所述排行榜访问请求中包括的第一维度,与所述待过滤上榜对象下线的第一维度进行匹配;在匹配成功时,从所述目标排行榜中过滤掉所述待过滤上榜对象,将所述目标排行榜中剩余的上榜对象作为所述上线的上榜对象。
[0012]
可选地,所述排行榜还包括所述上榜对象的排序参数;所述获取所述目标排行榜类型对应的,包含所述上线的上榜对象的待返回排行榜,包括:按照所述排序参数对所述上线的上榜对象进行排序,得到所述目标排行榜类型对应的,包含所述上线的上榜对象的待返回排行榜。
[0013]
可选地,所述基于已存储的所述对象在每个第一维度下的统计参数以及在每个第二维度下的属性参数,生成所述排行榜类型对应的排行榜,包括:基于已存储的所述对象在每个第二维度下的属性参数,确定所述排行榜类型对应的候选对象;针对每个候选对象,基于已存储的所述候选对象在每个第一维度下的统计参数,按照预设的所述排行榜类型对应的计算方式,计算所述候选对象的排序参数;按照所述排序参数对所述候选对象进行排序,抽取排序在前的多个候选对象作为上榜对象;生成所述排行榜类型对应的,包括所述上榜对象和所述上榜对象的排序参数的排行榜。
[0014]
在本发明实施的第二方面,还提供了一种排行榜生成装置,包括:
[0015]
获取模块,用于定时针对每个对象,获取并存储所述对象在每个第一维度下的统计参数以及在每个第二维度下的属性参数;所述第一维度为生成排行榜所需的,与用户属性相关的维度;所述第二维度为生成排行榜所需的,与对象自身属性相关的维度;
[0016]
生成模块,用于针对每种排行榜类型,基于已存储的所述对象在每个第一维度下的统计参数以及在每个第二维度下的属性参数,生成所述排行榜类型对应的排行榜。
[0017]
可选地,所述统计参数包括行为统计参数和热度统计参数;所述获取模块包括:第一计算单元,用于基于所述对象在每个第一维度下的行为统计参数,计算所述对象在每个第一维度下的热度统计参数。
[0018]
可选地,所述行为统计参数包括多个用户行为统计指标;所述第一计算单元,具体用于针对每个第一维度,对所述对象在当前第一维度下的多个用户行为统计指标进行加权计算,得到所述对象在当前第一维度下的热度统计参数。
[0019]
可选地,所述排行榜包括上榜对象;所述装置还包括:监听模块,用于在监听到控制消息后,记录所述控制消息中包含的,状态发生变化的对象的状态信息;所述状态信息包括在至少一个第一维度上上线或下线;查找模块,用于在接收到针对目标排行榜类型的排行榜访问请求后,从已生成的排行榜中,查找所述目标排行榜类型对应的目标排行榜;筛选模块,用于基于所述状态发生变化的对象的状态信息,从所述目标排行榜中筛选出上线的上榜对象;返回模块,用于获取所述目标排行榜类型对应的,包含所述上线的上榜对象的待返回排行榜,并返回所述待返回排行榜。
[0020]
可选地,所述排行榜访问请求包括至少一个第一维度;所述筛选模块包括:判断单元,用于基于所述状态发生变化的对象的状态信息,判断所述目标排行榜中是否包括在至少一个第一维度上下线的待过滤上榜对象;匹配单元,用于若所述判断单元判断出包含所
述待过滤上榜对象,则将所述排行榜访问请求中包括的第一维度,与所述待过滤上榜对象下线的第一维度进行匹配;过滤单元,用于在所述匹配单元匹配成功时,从所述目标排行榜中过滤掉所述待过滤上榜对象,将所述目标排行榜中剩余的上榜对象作为所述上线的上榜对象。
[0021]
可选地,所述排行榜还包括所述上榜对象的排序参数;所述返回模块,具体用于按照所述排序参数对所述上线的上榜对象进行排序,得到所述目标排行榜类型对应的,包含所述上线的上榜对象的待返回排行榜。
[0022]
可选地,所述生成模块包括:确定单元,用于基于已存储的所述对象在每个第二维度下的属性参数,确定所述排行榜类型对应的候选对象;第二计算单元,用于针对每个候选对象,基于已存储的所述候选对象在每个第一维度下的统计参数,按照预设的所述排行榜类型对应的计算方式,计算所述候选对象的排序参数;排序单元,用于按照所述排序参数对所述候选对象进行排序,抽取排序在前的多个候选对象作为上榜对象;榜单生成单元,用于生成所述排行榜类型对应的,包括所述上榜对象和所述上榜对象的排序参数的排行榜。
[0023]
在本发明实施的又一方面,还提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;存储器,用于存放计算机程序;处理器,用于执行存储器上所存放的程序时,实现上述任一所述的排行榜生成方法。
[0024]
在本发明实施的又一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机实现上述任一所述的排行榜生成方法。
[0025]
在本发明实施的又一方面,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机实现上述任一所述的排行榜生成方法。
[0026]
本发明实施例提供的排行榜生成方法、装置、电子设备及存储介质,定时针对每个对象,获取并存储所述对象在每个第一维度下的统计参数以及在每个第二维度下的属性参数,所述第一维度为生成排行榜所需的与用户属性相关的维度;所述第二维度为生成排行榜所需的与对象自身属性相关的维度;针对每种排行榜类型,基于已存储的所述对象在每个第一维度下的统计参数以及在每个第二维度下的属性参数,生成所述排行榜类型对应的排行榜。由此可知,本发明实施例中,通过预先定时获取并存储每个对象对应的生成排行榜所需的参数,在生成排行榜时不需要再对对象的大量原始数据进行分析后才能得到生成排行榜所需的参数,而是可以直接利用已存储的生成排行榜所需的参数计算排行榜,并且已存储的生成排行榜所需的参数可以供不同排行榜类型共用。因此,本发明实施例简化了生成排行榜的处理过程,提高了生成排行榜的处理效率。
附图说明
[0027]
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
[0028]
图1为本发明实施例中的一种排行榜生成方法的步骤流程图。
[0029]
图2为本发明实施例中的一种排行榜生成过程的组件交互示意图。
[0030]
图3为本发明实施例中的一种排行榜生成装置的结构框图。
[0031]
图4为本发明实施例中的另一种排行榜生成装置的结构框图。
[0032]
图5为本发明实施例中的一种电子设备的结构框图。
具体实施方式
[0033]
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述。
[0034]
随着对象内容的不断丰富,以及用户对排行榜的不同维度的关注,多种维度、更加实时的排行榜需求被逐渐提出,例如热度榜、飙升榜、不同地域的内容趋势榜,等等。不同排行榜的生成过程大量重复,排行榜的时效性也逐渐遇到瓶颈。如何在加快开发效率的同时提高排行榜的时效性,快速生成并更新排行榜,成为了亟待解决的问题。
[0035]
本发明实施例中,通过预先分析对象的原始数据,得到生成排行榜所需的参数并存储,从而在生成排行榜时可以直接使用已存储的参数,不再需要大量复杂、重复的计算,从而提高生成排行榜的效率,进而提高排行榜的时效性。
[0036]
本发明实施例的排行榜生成方法和装置可以应用于服务端,生成的排行榜可以提供给客户端。客户端可以为安装于终端上的各种应用程序等。终端可以为手机、平板电脑、可穿戴设备,等等。
[0037]
图1为本发明实施例中的一种排行榜生成方法的步骤流程图。
[0038]
如图1所示,排行榜生成方法可以包括以下步骤:
[0039]
步骤101,定时针对每个对象,获取并存储所述对象在每个第一维度下的统计参数以及在每个第二维度下的属性参数。
[0040]
本发明实施例中,对象可以为能够生成排行榜的各种形式的内容,比如视频、音频、各种类型的应用程序,等等。
[0041]
通过定时分析各对象的原始数据,可以获取各对象在每个第一维度下的统计参数以及在每个第二维度下的属性参数。第一维度为生成排行榜所需的,与用户属性相关的维度。比如,第一维度可以包括用户所在的平台、用户所在的地域,等等。其中,平台表示用户获取对象时使用的载体,比如平台可以包括手机、电脑、电视等。地域表示用户获取对象时所在的地域,比如地域可以包括北京、上海、广州等。第二维度为生成排行榜所需的,与对象自身属性相关的维度。比如,第二维度可以包括名称、频道、类型、来源,等等。
[0042]
步骤102,针对每种排行榜类型,基于已存储的所述对象在每个第一维度下的统计参数以及在每个第二维度下的属性参数,生成所述排行榜类型对应的排行榜。
[0043]
本发明实施例中,可以生成多种不同类型的排行榜。比如,排行榜类型可以包括但不限于以下类型:飙升榜、热度榜、热搜榜、好评榜、上新榜、下载榜、地域榜、平台榜、频道榜(比如,频道榜可以包括电影频道榜、电视剧频道榜、综艺频道榜、动漫频道榜等),等等。
[0044]
针对每种排行榜类型,在生成该排行榜类型对应的排行榜时,由于已经存储了生成排行榜所需的参数,因此不再需要对原始数据进行分析,可以基于已存储的所述对象在每个第一维度下的统计参数以及在每个第二维度下的属性参数,生成所述排行榜类型对应的排行榜。
[0045]
本发明实施例中,通过预先定时获取并存储每个对象对应的生成排行榜所需的参数,在生成排行榜时不需要再对对象的大量原始数据进行分析后才能得到生成排行榜所需的参数,而是可以直接利用已存储的生成排行榜所需的参数计算排行榜,并且已存储的生
成排行榜所需的参数可以供不同排行榜类型共用。因此,本发明实施例简化了生成排行榜的处理过程,提高了生成排行榜的处理效率。
[0046]
图2为本发明实施例中的一种排行榜生成过程的组件交互示意图。
[0047]
如图2所示,排行榜生成过程涉及到的组件可以包括基础数据组件、内容字典组件、实时热度组件、榜单计算组件和接口服务组件。下面,分别对各组件的处理过程进行说明。
[0048]
a、基础数据组件
[0049]
客户端对各个用户操作行为事件进行相关埋点,比如用户操作行为可以包括播放、点赞、评论、下载、搜索等。当用户在针对某个对象执行某种用户操作行为时,客户端可以将相关信息写入用户行为日志,并按照预设规则向服务端投递用户行为日志。用户行为日志中可以包括对象标识、用户所在的平台、用户所在的地域、用户操作行为的类型、用户操作行为的发生时间,等等。在实现中,用户行为日志可以为pingback(自动引用通知)日志等形式。按照预设规则向服务端投递用户行为日志的过程,可以为定时向服务端投递用户行为日志,比如,每隔10s、20s、30s等,向服务端投递一次用户行为日志;也可以为实时向服务端投递用户行为日志,也即,在生成一个用户行为日志后即可向服务端投递该生成的用户行为日志;也可以为在预设的时间点向服务端投递用户行为日志,比如,在客户端切换至后台运行时,或者在客户端即将关闭时等时间点,向服务端投递用户行为日志。
[0050]
基础数据组件可以定时针对每个对象,获取并存储所述对象在每个第一维度下的行为统计参数。基础数据组件统计得到的行为统计参数可以供后续组件在不同需求下使用。对于基础数据组件定时获取并存储行为统计参数的时间间隔,可以根据实际情况设置任意适用的数值。比如,可以设置时间间隔为3分钟、5分钟、8分钟等,本发明实施例对此不做限制。
[0051]
在实现中,基础数据组件可以定时执行如下过程a1~a3:
[0052]
a1、基础数据组件获取用户行为日志。
[0053]
a2、基础数据组件进行数据清洗。
[0054]
a3、基础数据组件获取并存储行为统计参数。
[0055]
基础数据组件可以定时读取历史累计的用户行为日志;然后对用户行为日志进行数据清洗;然后基于用户行为日志,筛选出生成排行榜所需的与用户属性相关的第一维度,对第一维度做笛卡尔组合,针对每个对象,统计出该对象在每个第一维度下的行为统计参数,并存储该对象在每个第一维度下的行为统计参数。其中,基础数据组件可以使用flink等方式对用户行为日志进行数据清洗,数据清洗可以包括对用户行为日志进行格式转换、字段转换、脏数据过滤等。基础数据组件可以利用kafka等对行为统计参数进行统计。
[0056]
行为统计参数可以包括多个用户行为统计指标。比如,针对每个第一维度,统计该对象在当前第一维度下的播放量、点赞量、评论量、下载量、搜索量等多个用户行为统计指标,将所述多个用户行为统计指标作为该对象在当前第一维度下的行为统计参数。
[0057]
b、内容字典组件
[0058]
内容字典组件可以定时针对每个对象,获取并存储所述对象在每个第二维度下的属性参数。内容字典组件统计得到的属性参数可以供后续组件在不同需求下使用。对于内容字典组件定时获取并存储属性参数的时间间隔,可以根据实际情况设置任意适用的数
值。比如,可以设置时间间隔为5分钟、10分钟、15分钟等,本发明实施例对此不做限制。
[0059]
在实现中,内容字典组件可以定时执行如下过程b1~b3:
[0060]
b1、内容字典组件从内容基础服务中获取对象数据。
[0061]
b2、内容字典组件进行数据清洗。
[0062]
b3、内容字典组件生成内容字典中间表。
[0063]
内容基础服务中存储了对象数据,对象数据包括该对象在各个与对象自身属性相关的维度下的属性参数。内容字典组件可以定时从内容基础服务中读取对象数据;然后对对象数据进行数据清洗;然后基于对象数据,筛选出生成排行榜所需的与对象自身属性相关的第二维度,并对第二维度做笛卡尔组合,针对每个对象,统计出该对象在每个第二维度下的属性参数,并将该对象在每个第二维度下的属性参数存储在内容字典中间表中。其中,基础数据组件可以使用spark等方式对对象数据进行数据清洗,数据清洗可以包括对对象数据进行格式转换、脏数据过滤等。内容字典中间表可以为hive形式。
[0064]
内容字典组件还可以实时监听控制消息,在监听到控制消息后,记录所述控制消息中包含的,状态发生变化的对象的状态信息。
[0065]
在实现中,内容字典组件还可以执行如下过程b4~b5:
[0066]
b4、内容字典组件对内容基础服务进行消息订阅。
[0067]
b5、内容字典组件监听控制消息。
[0068]
在实际情况中,对象的状态可能会发生变化。比如,由于政策原因,某个对象a需要在地域a下线。在该种情况下,运维人员可以执行相应操作,比如设置该对象a在该地域a为下线状态,运维人员设置之后即可触发内容基础服务rocketmq生成控制消息。该控制消息中可以包括状态发生变化的对象a的标识、对象a的状态信息为下线、对象a下线的地域为地域a,等等。
[0069]
内容字典组件可以实时监听内容基础服务rocketmq中的控制消息。内容字典组件在监听到控制消息后,获得所述控制消息中包含的,状态发生变化的对象的状态信息,对其进行清洗和转换。内容字典组件将控制消息中包含的,状态发生变化的对象的状态信息,写入接口服务组件的数据库中进行记录。状态信息包括在至少一个第一维度上上线或下线。通过监听控制消息,能够实现快速、统一地对对象的上下线进行监控,运维等人员可以根据实际情况,灵活地对对象进行上下线的控制。由于在向用户返回排行榜时,下线的对象不再需要保留在返回的排行榜中,因此在后续接收到用户的排行榜访问请求后,向用户返回生成的排行榜之前,可以基于已记录的状态发生变化的对象的状态信息,对生成的排行榜中相关的下线对象进行过滤,从而能够保证返回的排行榜的准确性。
[0070]
c、实时热度组件
[0071]
实时热度组件可以定时针对每个对象,获取并存储所述对象在每个第一维度下的统计参数以及在每个第二维度下的属性参数。其中,所述统计参数包括行为统计参数和热度统计参数。实时热度组件统计得到的所述对象在每个第一维度下的统计参数以及在每个第二维度下的属性参数可以供后续组件在不同需求下使用。对于实时热度组件定时获取并存储相关参数的时间间隔,可以根据实际情况设置任意适用的数值。比如,可以设置时间间隔为3分钟、5分钟、8分钟等,本发明实施例对此不做限制。
[0072]
在实现中,实时热度组件可以定时执行如下过程c1~c2:
[0073]
c1、实时热度组件进行热度计算。
[0074]
实时热度组件可以针对每个对象,从基础数据组件中获取已存储的所述对象在每个第一维度下的行为统计参数。实时热度组件基于所述对象在每个第一维度下的行为统计参数,计算所述对象在每个第一维度下的热度统计参数。
[0075]
在针对任意一个对象进行热度统计参数的计算时,实时热度组件针对每个第一维度,对所述对象在当前第一维度下的多个用户行为统计指标进行加权计算,得到所述对象在当前第一维度下的热度统计参数。对于加权计算的具体方式,可以根据实际经验选用任意适用的方式均可,本发明实施例在此不再详细论述。实时热度组件可以使用flink等方式进行热度计算。
[0076]
c2、实时热度组件生成热度中间表。
[0077]
实时热度组件可以针对每个对象,从内容字典组件的内容字典中间表中获取已存储的所述对象在每个第二维度下的属性参数。实时热度组件对数据进行整合,针对每个对象,整合得到所述对象在每个第一维度下的统计参数以及在每个第二维度下的属性参数,将这些信息存储至热度中间表中。热度中间表可以为hive形式。
[0078]
d、榜单计算组件
[0079]
榜单计算组件可以针对每种排行榜类型,基于已存储的所述对象在每个第一维度下的统计参数以及在每个第二维度下的属性参数,生成所述排行榜类型对应的排行榜。
[0080]
在实现中,榜单计算组件可以定时执行如下过程d1~d2:
[0081]
d1、榜单计算组件进行榜单计算。
[0082]
d2、榜单计算组件存储排行榜。
[0083]
由于排行榜需求的多样性,不同排行榜类型对应的排行榜的计算频率和计算方式不同。对于各种排行榜类型对应的排行榜的计算频率和计算方式,可以根据实际经验进行设置,本发明实施例在此不再详细论述。榜单计算组件可以针对每种排行榜类型,按照预设的所述排行榜类型对应的计算频率和计算方式,基于实时热度组件的热度中间表中已存储的,所述对象在每个第一维度下的统计参数以及在每个第二维度下的属性参数,生成所述排行榜类型对应的排行榜。比如,图2中的榜单计算组件分别进行a榜单计算、b榜单计算、c榜单计算。榜单计算组件可以使用spark等方式进行榜单计算。由于上游实时热度组件已经将生成排行榜所需的相关参数整合成热度中间表,因此榜单计算组件的处理过程将更加方便快捷,计算的速度也会更快。
[0084]
榜单计算组件基于榜单计算结果,得到各种排行榜类型对应的排行榜,并将各种排行榜类型对应的排行榜写入接口服务组件的数据库中进行存储。排行榜可以通过hive形式存储。计算后的排行榜有两种数据形式写入接口服务组件的数据库中,一是榜单池,由上榜对象的标识组成,代表了该排行榜包括哪些上榜对象;二是对象描述信息,包括了每个上榜对象在该排行榜下的相关信息,比如包括上榜对象的排序参数、在每个第二维度下的属性参数等信息。比如,飙升榜的上榜对象的排序参数,存储了对象的飙升值(排序参数)、名称、频道等维度下的属性信息。
[0085]
在一种可选实施方式中,基于已存储的所述对象在每个第一维度下的统计参数以及在每个第二维度下的属性参数,生成所述排行榜类型对应的排行榜的过程可以,包括:基于已存储的所述对象在每个第二维度下的属性参数,确定所述排行榜类型对应的候选对
象;针对每个候选对象,基于已存储的所述候选对象在每个第一维度下的统计参数,按照预设的所述排行榜类型对应的计算方式,计算所述候选对象的排序参数;按照所述排序参数对所述候选对象进行排序,抽取排序在前的多个候选对象作为上榜对象;生成所述排行榜类型对应的,包括所述上榜对象和所述上榜对象的排序参数的排行榜。比如,对于电影飙升榜,可以基于已存储的各对象在每个第二维度下的属性参数,获取第二维度频道为电影的对象作为候选对象。然后基于候选对象在每个第一维度下的统计参数,计算候选对象的飙升值,将飙升值作为排序参数。
[0086]
e、接口服务组件
[0087]
接口服务组件中可以包括数据库和web服务。数据库中可以存储内容字典组件监听到的控制消息中包含的,状态发生变化的对象的状态信息,还可以存储榜单计算组件生成的排行榜的相关信息。数据库可以为couchbase等形式的数据库。web服务可以与用户的客户端进行交互。
[0088]
接口服务组件可以执行如下过程e1~e2:
[0089]
e1、接口服务组件通过web服务接收排行榜访问请求。
[0090]
排行榜访问请求中可以包括目标排行榜类型、至少一个第一维度等信息。至少一个第一维度可以包括访问用户所在的平台、ip地址(根据ip地址可以确定地域)等信息。
[0091]
e2、接口服务组件基于数据库获取待返回排行榜,并通过web服务返回待返回排行榜。
[0092]
在一种可选实施方式中,接口服务组件可以执行如下过程e21~e23:
[0093]
e21,在接收到针对目标排行榜类型的排行榜访问请求后,从已生成的排行榜中,查找所述目标排行榜类型对应的目标排行榜。
[0094]
e22,基于所述状态发生变化的对象的状态信息,从所述目标排行榜中筛选出上线的上榜对象。
[0095]
在一种可选实施方式中,基于所述状态发生变化的对象的状态信息,从所述目标排行榜中筛选出上线的上榜对象的过程,可以包括:基于所述状态发生变化的对象的状态信息,判断所述目标排行榜中是否包括在至少一个第一维度上下线的待过滤上榜对象;若包含所述待过滤上榜对象,则将所述排行榜访问请求中包括的第一维度,与所述待过滤上榜对象下线的第一维度进行匹配;在匹配成功时,从所述目标排行榜中过滤掉所述待过滤上榜对象,将所述目标排行榜中剩余的上榜对象作为所述上线的上榜对象。
[0096]
e23,获取所述目标排行榜类型对应的,包含所述上线的上榜对象的待返回排行榜,并返回所述待返回排行榜。
[0097]
在一种可选实施方式中,获取所述目标排行榜类型对应的,包含所述上线的上榜对象的待返回排行榜,包括:按照所述排序参数对所述上线的上榜对象进行排序,得到所述目标排行榜类型对应的,包含所述上线的上榜对象的待返回排行榜。
[0098]
本发明实施例中,通过快速统计对象的各种参数,预先将所需维度的参数做笛卡尔组合进行存储,后续生成排行榜时基于已存储的数据生成即可,提高了处理效率;通过组件化的方式,减少数据的重复计算,减少组件之间的耦合,只需要动态在榜单计算组件对不同算法的排行榜进行定制化计算即可,开发更加快捷;通过动态地监听控制消息控制排行榜的上榜对象,实现快速控制、运营排行榜。
[0099]
图3为本发明实施例中的一种排行榜生成装置的结构框图。
[0100]
如图3所示,排行榜生成装置可以包括以下模块:
[0101]
获取模块301,用于定时针对每个对象,获取并存储所述对象在每个第一维度下的统计参数以及在每个第二维度下的属性参数;所述第一维度为生成排行榜所需的,与用户属性相关的维度;所述第二维度为生成排行榜所需的,与对象自身属性相关的维度;
[0102]
生成模块302,用于针对每种排行榜类型,基于已存储的所述对象在每个第一维度下的统计参数以及在每个第二维度下的属性参数,生成所述排行榜类型对应的排行榜。
[0103]
图4为本发明实施例中的另一种排行榜生成装置的结构框图。
[0104]
如图4所示,排行榜生成装置可以包括以下模块:
[0105]
获取模块401,用于定时针对每个对象,获取并存储所述对象在每个第一维度下的统计参数以及在每个第二维度下的属性参数;所述第一维度为生成排行榜所需的,与用户属性相关的维度;所述第二维度为生成排行榜所需的,与对象自身属性相关的维度;
[0106]
生成模块402,用于针对每种排行榜类型,基于已存储的所述对象在每个第一维度下的统计参数以及在每个第二维度下的属性参数,生成所述排行榜类型对应的排行榜。
[0107]
可选地,所述统计参数包括行为统计参数和热度统计参数;所述获取模块401包括:第一计算单元4011,用于基于所述对象在每个第一维度下的行为统计参数,计算所述对象在每个第一维度下的热度统计参数。
[0108]
可选地,所述行为统计参数包括多个用户行为统计指标;所述第一计算单元4011,具体用于针对每个第一维度,对所述对象在当前第一维度下的多个用户行为统计指标进行加权计算,得到所述对象在当前第一维度下的热度统计参数。
[0109]
可选地,所述排行榜包括上榜对象;所述装置还包括:监听模块403,用于在监听到控制消息后,记录所述控制消息中包含的,状态发生变化的对象的状态信息;所述状态信息包括在至少一个第一维度上上线或下线;查找模块404,用于在接收到针对目标排行榜类型的排行榜访问请求后,从已生成的排行榜中,查找所述目标排行榜类型对应的目标排行榜;筛选模块405,用于基于所述状态发生变化的对象的状态信息,从所述目标排行榜中筛选出上线的上榜对象;返回模块406,用于获取所述目标排行榜类型对应的,包含所述上线的上榜对象的待返回排行榜,并返回所述待返回排行榜。
[0110]
可选地,所述排行榜访问请求包括至少一个第一维度;所述筛选模块405包括:判断单元4051,用于基于所述状态发生变化的对象的状态信息,判断所述目标排行榜中是否包括在至少一个第一维度上下线的待过滤上榜对象;匹配单元4052,用于若所述判断单元判断出包含所述待过滤上榜对象,则将所述排行榜访问请求中包括的第一维度,与所述待过滤上榜对象下线的第一维度进行匹配;过滤单元4053,用于在所述匹配单元匹配成功时,从所述目标排行榜中过滤掉所述待过滤上榜对象,将所述目标排行榜中剩余的上榜对象作为所述上线的上榜对象。
[0111]
可选地,所述排行榜还包括所述上榜对象的排序参数;所述返回模块406,具体用于按照所述排序参数对所述上线的上榜对象进行排序,得到所述目标排行榜类型对应的,包含所述上线的上榜对象的待返回排行榜。
[0112]
可选地,所述生成模块402包括:确定单元4021,用于基于已存储的所述对象在每个第二维度下的属性参数,确定所述排行榜类型对应的候选对象;第二计算单元4022,用于
针对每个候选对象,基于已存储的所述候选对象在每个第一维度下的统计参数,按照预设的所述排行榜类型对应的计算方式,计算所述候选对象的排序参数;排序单元4023,用于按照所述排序参数对所述候选对象进行排序,抽取排序在前的多个候选对象作为上榜对象;榜单生成单元4024,用于生成所述排行榜类型对应的,包括所述上榜对象和所述上榜对象的排序参数的排行榜。
[0113]
本发明实施例中,通过预先定时获取并存储每个对象对应的生成排行榜所需的参数,在生成排行榜时不需要再对对象的大量原始数据进行分析后才能得到生成排行榜所需的参数,而是可以直接利用已存储的生成排行榜所需的参数计算排行榜,并且已存储的生成排行榜所需的参数可以供不同排行榜类型共用。因此,本发明实施例简化了生成排行榜的处理过程,提高了生成排行榜的处理效率。
[0114]
本发明实施例还提供了一种电子设备,如图5所示,包括处理器501、通信接口502、存储器503和通信总线504,其中,处理器501,通信接口502,存储器503通过通信总线504完成相互间的通信。
[0115]
存储器503,用于存放计算机程序;
[0116]
处理器501,用于执行存储器503上所存放的程序时,实现如下步骤:
[0117]
定时针对每个对象,获取并存储所述对象在每个第一维度下的统计参数以及在每个第二维度下的属性参数;所述第一维度为生成排行榜所需的,与用户属性相关的维度;所述第二维度为生成排行榜所需的,与对象自身属性相关的维度;
[0118]
针对每种排行榜类型,基于已存储的所述对象在每个第一维度下的统计参数以及在每个第二维度下的属性参数,生成所述排行榜类型对应的排行榜。
[0119]
可选地,所述统计参数包括行为统计参数和热度统计参数;获取所述对象在每个第一维度下的热度统计参数,包括:基于所述对象在每个第一维度下的行为统计参数,计算所述对象在每个第一维度下的热度统计参数。
[0120]
可选地,所述行为统计参数包括多个用户行为统计指标;所述基于所述对象在每个第一维度下的行为统计参数,计算所述对象在每个第一维度下的热度统计参数,包括:针对每个第一维度,对所述对象在当前第一维度下的多个用户行为统计指标进行加权计算,得到所述对象在当前第一维度下的热度统计参数。
[0121]
可选地,所述排行榜包括上榜对象;所述方法还包括:在监听到控制消息后,记录所述控制消息中包含的,状态发生变化的对象的状态信息;所述状态信息包括在至少一个第一维度上上线或下线;在接收到针对目标排行榜类型的排行榜访问请求后,从已生成的排行榜中,查找所述目标排行榜类型对应的目标排行榜;基于所述状态发生变化的对象的状态信息,从所述目标排行榜中筛选出上线的上榜对象;获取所述目标排行榜类型对应的,包含所述上线的上榜对象的待返回排行榜,并返回所述待返回排行榜。
[0122]
可选地,所述排行榜访问请求包括至少一个第一维度;所述基于所述状态发生变化的对象的状态信息,从所述目标排行榜中筛选出上线的上榜对象,包括:基于所述状态发生变化的对象的状态信息,判断所述目标排行榜中是否包括在至少一个第一维度上下线的待过滤上榜对象;若包含所述待过滤上榜对象,则将所述排行榜访问请求中包括的第一维度,与所述待过滤上榜对象下线的第一维度进行匹配;在匹配成功时,从所述目标排行榜中过滤掉所述待过滤上榜对象,将所述目标排行榜中剩余的上榜对象作为所述上线的上榜对
象。
[0123]
可选地,所述排行榜还包括所述上榜对象的排序参数;所述获取所述目标排行榜类型对应的,包含所述上线的上榜对象的待返回排行榜,包括:按照所述排序参数对所述上线的上榜对象进行排序,得到所述目标排行榜类型对应的,包含所述上线的上榜对象的待返回排行榜。
[0124]
可选地,所述基于已存储的所述对象在每个第一维度下的统计参数以及在每个第二维度下的属性参数,生成所述排行榜类型对应的排行榜,包括:基于已存储的所述对象在每个第二维度下的属性参数,确定所述排行榜类型对应的候选对象;针对每个候选对象,基于已存储的所述候选对象在每个第一维度下的统计参数,按照预设的所述排行榜类型对应的计算方式,计算所述候选对象的排序参数;按照所述排序参数对所述候选对象进行排序,抽取排序在前的多个候选对象作为上榜对象;生成所述排行榜类型对应的,包括所述上榜对象和所述上榜对象的排序参数的排行榜。
[0125]
上述终端提到的通信总线可以是外设部件互连标准(peripheral component interconnect,简称pci)总线或扩展工业标准结构(extended industry standard architecture,简称eisa)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
[0126]
通信接口用于上述终端与其他设备之间的通信。
[0127]
存储器可以包括随机存取存储器(random access memory,简称ram),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
[0128]
上述的处理器可以是通用处理器,包括中央处理器(central processing unit,简称cpu)、网络处理器(network processor,简称np)等;还可以是数字信号处理器(digital signal processing,简称dsp)、专用集成电路(application specific integrated circuit,简称asic)、现场可编程门阵列(field-programmable gate array,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
[0129]
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机实现上述实施例中任一所述的排行榜生成方法。
[0130]
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机实现上述实施例中任一所述的排行榜生成方法。
[0131]
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者
是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solid state disk(ssd))等。
[0132]
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0133]
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0134]
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1