基于大数据实现热点内容推送的方法及装置
技术领域
本发明涉及互联网技术领域,特别涉及一种基于大数据实现热点内容推送的方法及装置。
背景技术
大数据是规模巨大和复杂的数据集,大数据技术以任何系统的全部数据资源为对象并从中发现数据之间表现的相关性关系的信息处理技术,目前已经广泛应用于互联网的流程优化、用户个性化服务与改善、热点内容推送等方面,成为了网络服务背后强大的后台支撑。
热点内容根据不同的维度有不同的计算方法,不同的业务部门对于热点内容的需求也会存在差异,所以每个业务部门按照自己需求开发类似功能的业务逻辑,研发周期长,交付速度慢。
发明内容
本发明提供一种基于大数据实现热点内容推送的方法,用以缩短研发周期,加快交付速度。
本发明提供一种基于大数据实现热点内容推送的方法,包括:
采集用户行为日志并提取出内容访问日志;
配置热点内容的生成规则和推送规则;
计算所述内容访问日志的初始维度向量,以根据所述初始维度向量计算所述内容访问日志的扩展维度向量;
根据所述生成规则和所述扩展维度向量获得所述内容访问日志的分值,以生成热点推送内容列表;
将所述热点推送内容列表中的热点内容推送到业务队伍。
在一个实施例中,所述配置热点内容的生成规则和推送规则,包括:
通过通用运行平台配置所述热点内容的所述生成规则和所述推送规则;
所述生成规则包括业务类型、内容类型、推送热点内容的数量、数据计算间隔和内容维度权重向量;
所述推送规则包括消息队列集群的地址kafka cluster和topic。
在一个实施例中,所述计算所述内容访问日志的初始维度向量,以根据所述初始维度向量获得所述内容访问日志的扩展维度向量,包括:
将所述内容访问日志按照访问资源内容、所述业务类型、所述内容类型进行分组;
计算分组后内容访问日志的初始维度向量,以得到初始维度向量数据;
将所述初始维度向量数据按照日期和业务类型分区存放于第一预设存储路径;
获取所述通用运行平台配置的第一参数,所述第一参数是指所述业务类型、所述数据计算间隔和所述内容类型;
根据所述第一参数读取所述第一预设存储路径中日期分区的内容,以根据所述日期分区的内容生成扩展维度向量数据;
将所述扩展维度向量数据存放于第二预设存储路径。
在一个实施例中,所述根据所述生成规则和所述扩展维度向量获得所述内容访问日志的分值,并生成热点推送内容列表,包括:
获取所述通用运行平台配置的第二参数,所述第二参数是指当前时间、所述业务类型和所述内容类型;
根据所述第二参数读取所述扩展维度向量,以根据所述扩展维度向量生成内容维度矩阵;
对所述内容维度权重向量和所述内容维度矩阵进行计算,以得到所述内容访问日志的分值;
将所述内容访问日志根据所述分值进行降序排列,以得到内容访问日志排行;
根据第三参数提取所述内容访问日志排行的内容,以根据所述内容访问排行的内容生成所述热点推送内容列表,所述第三参数是指推送热点内容的数量。
在一个实施例中,所述将所述热点推送内容列表中的热点内容推送到业务队伍,包括:
获取所述通用运行平台配置的第四参数,所述第四参数是指所述消息队列集群的地址kafka cluster和topic;
根据所述第四参数推送所述热点推送内容列表中的所述热点内容到对应的所述消息队列集群的地址topic中。
本发明还提供一种基于大数据实现热点内容推送的装置,包括:
采集模块,用于采集用户行为日志并提取出内容访问日志;
配置模块,用于配置热点内容的生成规则和推送规则;
计算模块,用于计算所述内容访问日志的初始维度向量,以根据所述初始维度向量计算所述内容访问日志的扩展维度向量;
生成模块,用于根据所述生成规则和所述扩展维度向量获得所述内容访问日志的分值,以生成热点推送内容列表;
推送模块,用于将所述热点推送内容列表中的热点内容推送到业务队伍。
在一个实施例中,所述配置模块用于通过通用运行平台配置所述热点内容的所述生成规则和所述推送规则;
所述生成规则包括业务类型、内容类型、推送热点内容的数量、数据计算间隔和内容维度权重向量;
所述推送规则包括消息队列集群的地址kafka cluster和topic。
在一个实施例中,所述计算模块,包括:
分组子模块,用于将所述内容访问日志按照访问资源内容、所述业务类型、所述内容类型进行分组;
第一计算子模块,用于计算分组后内容访问日志的初始维度向量,以得到初始维度向量数据;
第一存放子模块,用于将所述初始维度向量数据按照日期和业务类型分区存放于第一预设存储路径;
第一获取子模块,用于获取所述通用运行平台配置的第一参数,所述第一参数是指所述业务类型、所述数据计算间隔和所述内容类型;
第一生成子模块,用于根据所述第一参数读取所述第一预设存储路径中日期分区的内容,以根据所述日期分区的内容生成扩展维度向量数据;
第二存放子模块,用于将所述扩展维度向量数据存放于第二预设存储路径。
在一个实施例中,所述生成模块,包括:
第二获取子模块,用于获取所述通用运行平台配置的第二参数,所述第二参数是指当前时间、所述业务类型和所述内容类型;
第二生成子模块,用于根据所述第二参数读取所述扩展维度向量,以根据所述扩展维度向量生成内容维度矩阵;
第二计算子模块,用于对所述内容维度权重向量和所述内容维度矩阵进行计算,以得到所述内容访问日志的分值;
排列子模块,用于将所述内容访问日志根据所述分值进行降序排列,以得到内容访问日志排行;
第三生成子模块,用于根据第三参数提取所述内容访问日志排行的内容,以根据所述内容访问排行的内容生成所述热点推送内容列表,所述第三参数是指推送热点内容的数量。
在一个实施例中,所述推送模块,包括:
第三获取子模块,用于获取所述通用运行平台配置的第四参数,所述第四参数是指所述消息队列集群的地址kafka cluster和topic;
推送子模块,用于根据所述第四参数推送所述热点推送内容列表中的所述热点内容到对应的所述消息队列集群的地址topic中。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书以及附图中所特别指出的结构来实现和获得。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1为本发明一实施例中一种基于大数据实现热点内容推送的方法的流程图;
图2为本发明一实施例中一种基于大数据实现热点内容推送的方法的流程图;
图3为本发明一实施例中一种基于大数据实现热点内容推送的装置的框图;
图4为本发明一实施例中一种基于大数据实现热点内容推送的装置的框图。
具体实施方式
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
图1为本发明一实施例中一种基于大数据实现热点内容推送的方法的流程图,如图1所示,该方法可被实施为以下步骤S11-S15:
在步骤S11中,采集用户行为日志并提取出内容访问日志;
在步骤S12中,配置热点内容的生成规则和推送规则;
在步骤S13中,计算内容访问日志的初始维度向量,以根据初始维度向量计算内容访问日志的扩展维度向量;
在步骤S14中,根据生成规则和扩展维度向量获得内容访问日志的分值,以生成热点推送内容列表;
在步骤S15中,将热点推送内容列表中的热点内容推送到业务队伍。
需要说明的是,采集用户行为日志并提取出内容访问日志,具体的实现方式为:通过大数据用户行为采集系统收集终端/服务端/芯片/APP上用户的行为日志,离线抽取访问行为日志中的访问资源内容的日志,以得到内容访问日志;抽取内容访问日志的格式为:(resld,bizld,contentType,userld,ts),其中:resIa是访问资源内容的唯一标识;bizIa是业务类型的标识;contentTyp∈表示内容类型;userIa是用户的唯一标识;ts表示访问资源的时间;
通过重复实施步骤S13-S15,依次计算和推送不同业务类型和内容类型的热点内容到对应的业务队列。
本实施例中,采集用户行为日志并提取出内容访问日志;配置热点内容的生成规则和推送规则;计算内容访问日志的初始维度向量,以根据初始维度向量计算内容访问日志的扩展维度向量;根据生成规则和扩展维度向量获得内容访问日志的分值,以生成热点推送内容列表;将热点推送内容列表中的热点内容推送到业务队伍。
本实施例的有益效果在于:在提取出用户行为日志中的内容访问日志之后,计算内容访问日志的初始维度向量,根据初始维度向量计算的扩展维度向量,配置热点内容的生成规则和推送规则,根据生成规则和扩展维度向量获得内容访问日志的分值,进而生成热点内容推送列表,然后将内容推送列表中的热点内容推送到业务队伍中,内容访问日志适用于不同业务部门,当不同的业务部门对热点内容的需求存在差异时,无需根据不同的维度进行不同的计算,只需通过配置热点内容的生成规则和推送规则,计算内容访问日志的初始维度向量,然后根据初始维度向量计算扩展维度向量,避免每个业务部门都需要按照自己需求开发类似功能的业务逻辑,缩短研发周期,加快交付速度。
在一个实施例中,上述步骤S12,包括:
通过通用运行平台配置热点内容的生成规则和推送规则;
生成规则包括业务类型、内容类型、推送热点内容的数量、数据计算间隔和内容维度权重向量;
推送规则包括消息队列集群的地址kafka cluster和topic。
需要说明的是,热点推送内容的数量标识为size,数据计算间隔标识为N(N≥O,N为整数,单位为天),内容维度权重向量标识为:
本实施例中,通过运行平台通过获取业务人员的配置指令,配置热点内容的生成规则和推送规则。
本实施例的有益效果在于:业务人员根据自己的需求进行生成规则和推送规则的配置,满足自己的业务需求。
在一个实施例中,上述步骤S13可被实施为如下步骤S21-S26:
在步骤S21中,将内容访问日志按照访问资源内容、业务类型、内容类型进行分组;
在步骤S22中,计算分组后内容访问日志的初始维度向量,以得到初始维度向量数据;
在步骤S23中,将初始维度向量数据按照日期和业务类型分区存放于第一预设存储路径;
在步骤S24中,获取通用运行平台配置的第一参数,第一参数是指业务类型、数据计算间隔和内容类型;
在步骤S25中,根据第一参数读取第一预设存储路径中日期分区的内容,以根据日期分区的内容生成扩展维度向量数据;
在步骤S26中,将扩展维度向量数据存放于第二预设存储路径。
需要说明的是,初始维度向量数据为(resld,bizld,contentType,PV,UV,Rank),其中:PV表示resld资源在bizld业务类型上的调用量;UV表示resld资源在bizld业务类型上的独立用户数;Rank表示resld资源在bizld业务类型上按PV降序排序的排名,第一预设存储路径可以是Hive managed table;扩展维度向量数据为(resld,bizld,contentType,ΔPV,ΔUV,ΔRank,PV,UV),其中:ΔPV=PVCURRENT-PVCURRENT-N DAYS表示和N天前相比bizld业务类型下内容resld调用量的增加量,小于等于0时数据置为1(防止后续log计算错误);ΔUV=UVCURRENT-UVCURRENT-NDAYS表示和N天前相比bizld业务类型下内容resld访问用户的增加量,小于等于0时数据置为1(防止后续log计算错误);ΔRank=RankCURRENT-N DAYS-RankCURRENT表示和N天前相比bizld业务类型下内容resld访问排名的增加量,小于等于0时数据置为1(防止后续log计算错误),第二预设存储路径是HDFS/date/bizld/contentType。
本实施例中,计算内容访问日志的初始维度向量,根据初始维度向量计算内容访问日志的扩展维度向量,存储初始维度向量和扩展维度向量。
本实施例的有益效果在于:通过计算分组后内容访问日志的初始维度向量,以得到初始维度向量数据,将初始维度向量数据进行存储,为扩展维度向量数据的生成提供数据,解决原始数据(即初始维度向量数据)重复处理的问题,节省了集群的计算资源。
在一个实施例中,上述步骤S14可被实施为如下步骤,包括:
获取通用运行平台配置的第二参数,第二参数是指当前时间、业务类型和内容类型;
根据第二参数读取扩展维度向量,以根据扩展维度向量生成内容维度矩阵;
对内容维度权重向量和内容维度矩阵进行计算,以得到内容访问日志的分值;
将内容访问日志根据分值进行降序排列,以得到内容访问日志排行;
根据第三参数提取内容访问日志排行的内容,以根据内容访问排行的内容生成热点推送内容列表,第三参数是指推送热点内容的数量。
需要说明的是,内容维度权重向量标识和扩展维度向量标识分别为:
和(resld,bizld,contentType,Δ
PV,Δ
UV,Δ
Rank,PV,UV).为了防止PV、UV、Δ
PV、Δ
UV、Δ
Rank变化范围过大导致权重的影响变弱,在每个维度上取log,缩小增量的变化范围,
其中:ΔPVi表示内容i的PV变化量,ΔUVi表示内容i的UV变化量,ΔRanki表示内容i的Rank变化量,PVi表示内容i的PV指标值,UVi表示内容i的UV指标值,i∈[1,N],N为正整数。
本实施例的工作原理及有益效果为:根据扩展维度向量生成内容维度矩阵,对内容维度权重向量和内容维度矩阵进行计算,以得到内容访问日志的分值,进行排序后得到内容访问日志排行,根据内容访问日志排行生成热点推送内容列表,进而得到热点内容,不同业务类型对应不同类型的热点内容,通过计算配置的内容维度权重向量,实现内容维度的选择(对应维度权重大于0)、剔除(对应维度权重等于于0)和混合(设置多个维度的权重大于0),能够实现不同类型的热点内容生成需求。
在一个实施例中,上述步骤S15可被实施为如下步骤,包括:
获取通用运行平台配置的第四参数,第四参数是指消息队列集群的地址kafkacluster和topic;
根据第四参数推送热点推送内容列表中的热点内容到对应的消息队列集群的地址topic中。
本实施例中,将热点内容推送到消息队列集群的地址中。
本实施例的有益效果在于:根据第四参数推送热点推送内容列表中的热点内容到对应的消息队列集群的地址topic中,当热点内容推送策略发生改变时,不需要重新开发或者调整推送的实现代码。
图3为本发明一实施例中一种基于大数据实现热点内容推送的装置的框图,如图3所示,该装置可包括如下模块:
采集模块31,用于采集用户行为日志并提取出内容访问日志;
配置模块32,用于配置热点内容的生成规则和推送规则;
计算模块33,用于计算内容访问日志的初始维度向量,以根据初始维度向量计算内容访问日志的扩展维度向量;
生成模块34,用于根据生成规则和扩展维度向量获得内容访问日志的分值,以生成热点推送内容列表;
推送模块35,用于将热点推送内容列表中的热点内容推送到业务队伍。
在一个实施例中,配置模块用于通过通用运行平台配置热点内容的生成规则和推送规则;
生成规则包括业务类型、内容类型、推送热点内容的数量、数据计算间隔和内容维度权重向量;
推送规则包括消息队列集群的地址kafka cluster和topic。
在一个实施例中,如图4所示,计算模块33,包括:
分组子模块41,用于将内容访问日志按照访问资源内容、业务类型、内容类型进行分组;
第一计算子模块42,用于计算分组后内容访问日志的初始维度向量,以得到初始维度向量数据;
第一存放子模块43,用于将初始维度向量数据按照日期和业务类型分区存放于第一预设存储路径;
第一获取子模块44,用于获取通用运行平台配置的第一参数,第一参数是指业务类型、数据计算间隔和内容类型;
第一生成子模块45,用于根据第一参数读取第一预设存储路径中日期分区的内容,以根据日期分区的内容生成扩展维度向量数据;
第二存放子模块46,用于将扩展维度向量数据存放于第二预设存储路径。
在一个实施例中,生成模块,包括:
第二获取子模块,用于获取通用运行平台配置的第二参数,第二参数是指当前时间、业务类型和内容类型;
第二生成子模块,用于根据第二参数读取扩展维度向量,以根据扩展维度向量生成内容维度矩阵;
第二计算子模块,用于对内容维度权重向量和内容维度矩阵进行计算,以得到内容访问日志的分值;
排列子模块,用于将内容访问日志根据分值进行降序排列,以得到内容访问日志排行;
第三生成子模块,用于根据第三参数提取内容访问日志排行的内容,以根据内容访问排行的内容生成热点推送内容列表,第三参数是指推送热点内容的数量。
在一个实施例中,推送模块,包括:
第三获取子模块,用于获取通用运行平台配置的第四参数,第四参数是指消息队列集群的地址kafka cluster和topic;
推送子模块,用于根据第四参数推送热点推送内容列表中的热点内容到对应的消息队列集群的地址topic中。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。