广告页面浏览量统计方法、装置、电子设备及存储介质
技术领域
本发明实施例涉及广告投放技术领域,尤其涉及一种广告页面浏览量统计方法、装置、电子设备及存储介质。
背景技术
广告作为互联网直播公司的主要经济来源之一,如何有效的进行广告投放是直播公司必须掌握的技能。而广告的PV(PageView,页面浏览量)体现了广告的广泛度和普及范围,可以反应广告的投放效果。
目前,对于广告的PV统计存在两点不足:实时性不强和统计维度少。实时性不强主要体现在,对广告的PV统计一般是采用离线处理,离线处理的方式指在广告投放展示或曝光的行为发生后的较长一段时间才进行统计,缺乏时效性;统计维度少主要体现在对于广告的PV统计是基于一个维度,例如仅基于广告位或素材维度进行PV统计,当需要拓展维度时需要重写统计逻辑,不方便拓展维护。
发明内容
本发明实施例提供一种广告页面浏览量统计方法、装置、电子设备及存储介质,以实时地基于多维度对广告的PV进行统计。
为实现上述目的,本发明实施例采用如下技术方案:
第一方面,本发明实施例提供了一种广告页面浏览量统计方法,所述方法包括:
通过数据分发模块实时读取广告信息,并基于预设规则将读取到的广告信息实时分发至对应的局部计算模块;
通过各局部计算模块基于广告信息中的整体维度对广告信息的PV进行统计,得到整体维度的PV统计结果;
将各广告信息的所述整体维度的PV统计结果发送至多维度计算模块,以通过所述多维度计算模块根据各广告信息的所述整体维度的PV统计结果基于任意组合维度对各广告信息的PV进行统计;
其中,所述整体维度为广告信息的所有维度,所述组合维度为所述所有维度中的至少一个维度,所述所有维度不包括时间维度。
进一步的,所述基于预设规则将读取到的广告信息实时分发至对应的局部计算模块,包括:
统计所述广告信息各维度数据之间的和;
将所述和与局部计算模块的预设总个数进行取余操作,得到取余结果;
将所述广告信息分发至与所述取余结果对应的局部计算模块。
进一步的,所述数据分发模块为一个kafka的消费线程,对应的,所述通过数据分发模块实时读取广告信息,包括:
通过kafka的消费线程实时读取kafka消息队列中的数据,得到原始信息;
将所述原始信息中的数据上报时间维度去除,并对剩余维度信息进行重组,得到所述广告信息。
进一步的,所述通过所述局部计算模块基于广告信息中的整体维度对广告信息的PV进行统计,得到整体维度的PV统计结果,包括:
统计各广告信息出现的次数;
将所述次数确定为对应广告信息的整体维度的PV统计结果。
进一步的,所述通过所述多维度计算模块根据所述整体维度的PV统计结果基于任意组合维度对广告信息的PV进行统计,包括:
确定待统计的组合维度;
根据所述整体维度的PV统计结果统计在所述组合维度上信息相同的广告信息出现的次数;
将所述次数确定为基于所述组合维度的广告信息的PV统计结果。
进一步的,在将各广告信息的所述整体维度的PV统计结果发送至多维度计算模块之前,还包括:
通过全局计算模块对各广告信息的整体维度的PV统计结果进行汇总。
进一步的,所述广告信息的所有维度包括:广告计划、广告位、广告组、广告素材以及广告信息类型中的至少一种。
第二方面,本发明实施例提供了一种广告PV统计装置,所述装置包括:
数据分发模块,用于实时读取广告信息,并基于预设规则将读取到的广告信息实时分发至对应的局部计算模块;
局部计算模块,用于基于广告信息中的整体维度对广告信息的PV进行统计,得到整体维度的PV统计结果;
发送模块,用于将各广告信息的所述整体维度的PV统计结果发送至多维度计算模块;
多维度计算模块,用于根据各广告信息的所述整体维度的PV统计结果基于任意组合维度对各广告信息的PV进行统计;
其中,所述整体维度为广告信息的所有维度,所述组合维度为所述所有维度中的至少一个维度,所述所有维度不包括时间维度。
第三方面,本发明实施例提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述第一方面所述的广告页面浏览量统计方法。
第四方面,本发明实施例提供了一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时实现如上述第一方面所述的广告页面浏览量统计方法。
本发明实施例提供的一种广告页面浏览量统计方法,通过数据分发模块实时读取广告信息,并基于预设规则将读取到的广告信息实时分发至对应的局部计算模块;通过各局部计算模块基于广告信息中的整体维度对广告信息的PV进行统计,得到整体维度的PV统计结果;将各广告信息的所述整体维度的PV统计结果发送至多维度计算模块,以通过所述多维度计算模块根据各广告信息的所述整体维度的PV统计结果基于任意组合维度对各广告信息的PV进行统计的技术手段,实现了实时地基于多维度对广告的PV进行统计。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对本发明实施例描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据本发明实施例的内容和这些附图获得其他的附图。
图1为本发明实施例一提供的一种广告页面浏览量统计方法流程示意图;
图2为本发明实施例一提供的一种分布式多维度PV计算的系统架构示意图;
图3为本发明实施例二提供的一种广告页面浏览量统计方法流程示意图;
图4为本发明实施例三提供的一种广告PV统计装置结构示意图;
图5为本发明实施例四提供的一种电子设备的结构示意图。
具体实施方式
为使本发明解决的技术问题、采用的技术方案和达到的技术效果更加清楚,下面将结合附图对本发明实施例的技术方案作进一步的详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
图1为本发明实施例一提供的一种广告页面浏览量统计方法流程示意图。本实施例公开的广告页面浏览量统计方法可以由广告PV统计装置来执行,其中该装置可由软件和/或硬件实现,并一般集成在终端中,例如服务器等。具体参见图1所示,该方法包括如下步骤:
110、通过数据分发模块实时读取广告信息,并基于预设规则将读取到的广告信息实时分发至对应的局部计算模块。
其中,所述广告信息的数据格式可以表示为:
ad_info=(dateline,planId,posId,groupId,materialId,type),其中ad_info表示广告信息,广告信息中每个参数的含义参见如下表1所示:
表1:广告信息的数据格式
其中,表1中的字段类型Long是长型的意思,所述数据上报时间指后台反馈广告信息的时间,每一条投放出去的广告信息均被后台监控,例如当投放出去的广告被用户点击了,则后台回对应反馈一条携带被用户点击信息的广告信息,具体通过表1中的广告信息类型进行标识,当广告信息类型为1时,表示该广告信息被点击了,当广告信息类型为2时,表示该广告信息被曝光了;广告信息类型每变化一次,后台则反馈一条对应的广告信息。
表1中所示的每个字段均可代表广告信息的一个维度,例如dateline代表数据上报时间维度,planId代表广告计划维度。
具体的,参见图2所示的一种分布式多维度PV计算的系统架构示意图,各广告信息由数据分发模块210实时读取,然后对读取到的广告信息进行重新组装,重新组装的目的是将广告信息中的数据上报时间维度去掉,并将重新组装后的广告信息基于预设规则实时分发至对应的局部计算模块200,由局部计算模块200对各广告信息的PV进行统计,从而保证PV统计的实时性。
示例性的,数据分发模块210为一个kafka的消费线程,对应的,通过数据分发模块210实时读取广告信息,包括:
通过kafka的消费线程实时读取kafka消息队列中的数据,得到原始信息;
将所述原始信息中的数据上报时间维度去除,并对剩余维度信息进行重组,得到所述广告信息。
其中,kafka是一种分布式的基于订阅的消息系统,可扩展性强,对应的生产者线程将客户端上报的各广告信息写入kafka的消息队列中,消费者线程即数据分发模块210从kafka的消息队列中实时读取数据,得到原始信息。所述原始信息为包含数据上报时间维度的广告信息,例如“ad_info=(dateline,planId,posId,groupId,materialId,type)”,具体可以参见表2所示的kafka的消息队列中的广告信息。读取到原始信息后将该原始信息中的数据上报时间维度去除,去除数据上报时间维度后的广告信息可参见表3所示。对表3中每条广告信息的各维度利用#进行重新组装,组装后的广告信息为“ad_info_rez=planId#posId#groupId#materialId#type”,将该广告信息基于预设规则实时分发至对应的局部计算模块220、221或者222。所述预设规则可以是将相同的广告信息分发至同一局部计算模块。
表2:kafka的消息队列中的原始信息
dateline |
planId |
posId |
groupId |
materialId |
type |
20180503 13:10:01 |
74 |
800032 |
111 |
202 |
2 |
20180503 13:10:30 |
74 |
800032 |
111 |
203 |
2 |
20180503 13:10:36 |
74 |
800032 |
111 |
203 |
2 |
20180503 13:10:48 |
74 |
800032 |
112 |
203 |
2 |
20180503 13:10:48 |
74 |
800032 |
112 |
204 |
1 |
20180503 13:11:12 |
74 |
800032 |
112 |
204 |
2 |
20180503 13:11:30 |
74 |
800032 |
115 |
205 |
2 |
20180503 13:11:58 |
74 |
800032 |
115 |
205 |
1 |
表3:去除数据上报时间维度的广告信息
planId |
posId |
groupId |
materialId |
type |
number |
74 |
800032 |
111 |
202 |
2 |
0 |
74 |
800032 |
111 |
203 |
2 |
1 |
74 |
800032 |
111 |
203 |
2 |
1 |
74 |
800032 |
112 |
203 |
2 |
2 |
74 |
800032 |
112 |
204 |
1 |
2 |
74 |
800032 |
112 |
204 |
2 |
0 |
74 |
800032 |
115 |
205 |
2 |
1 |
74 |
800032 |
115 |
205 |
1 |
0 |
示例性的,所述基于预设规则将读取到的广告信息实时分发至对应的局部计算模块,包括:
统计所述广告信息各维度数据之间的和;
将所述和与局部计算模块的预设总个数进行取余操作,得到取余结果;
将所述广告信息分发至与所述取余结果对应的局部计算模块。
具体的,所述统计广告信息各维度数据之间的和不包括数据上报时间维度。对于上述表3中第一行广告信息的各维度数据之间的和=74+800032+111+202+2=800421;假设局部计算模块的预设总个数为3,分别为局部计算模块0、局部计算模块1和局部计算模块2,则通过800421%3=0,则将上述表2中第一行广告信息分发至局部计算模块0。每条广告信息均按照上述规则分发至对应的局部计算模块。可继续参见表3所示的各广告信息对应的局部计算模块的编号(number=0、1或者2)。
120、通过各局部计算模块基于广告信息中的整体维度对广告信息的PV进行统计,得到整体维度的PV统计结果。
其中,所述整体维度为广告信息的所有维度,该所有维度不包括数据上报时间维度,具体的所述广告信息的所有维度包括:广告计划、广告位、广告组、广告素材以及广告信息类型中的至少一种。以上述举例进行说明,所述所有维度包括广告计划、广告位、广告组、广告素材以及广告信息五个维度,即所述整体维度为该五个维度。所述局部计算模块200一个Map的结构,Map的键为广告信息ad_info_rez,值为该广告信息ad_info_rez出现的次数,即该广告信息整体维度的PV值,局部计算模块200主要对接收的字符串做数据累加操作,所以效率非常高,而且易于拓展。根据上述表3,局部计算模块1中的Map值如下:map_s=(<'74#800032#111#203#2',2>,<'74#800032#115#205#2',1>)即广告信息'74#800032#111#203#2'出现的次数为2,广告信息'74#800032#115#205#2'出现的次数为1。各个局部计算模块将得到的map_s发送到全局计算模块230,以完成数据汇总,并将汇总后的数据发送至多维度计算模块240,由多维度计算模块240根据广告信息的整体维度PV结果统计其他维度的PV值,从而实现广告信息各种维度的PV计算。
即,在将各广告信息的所述整体维度的PV统计结果发送至多维度计算模块之前,还包括:
通过全局计算模块对各广告信息的整体维度的PV统计结果进行汇总。
130、将各广告信息的所述整体维度的PV统计结果发送至多维度计算模块,以通过所述多维度计算模块根据各广告信息的所述整体维度的PV统计结果基于任意组合维度对各广告信息的PV进行统计。
其中,所述组合维度为所述所有维度中的至少一个维度,所述所有维度不包括时间维度,例如所述组合维度可以是“广告素材#广告信息类型”或者“广告位”,具体的统计过程可参见实施例二。
本实施例提供的一种广告页面浏览量统计方法,通过数据分发模块实时读取广告信息,并基于预设规则将读取到的广告信息实时分发至对应的局部计算模块;通过各局部计算模块基于广告信息中的整体维度对广告信息的PV进行统计,得到整体维度的PV统计结果;将各广告信息的所述整体维度的PV统计结果发送至多维度计算模块,以通过所述多维度计算模块根据各广告信息的所述整体维度的PV统计结果基于任意组合维度对各广告信息的PV进行统计的技术手段,实现了实时地基于多维度对广告的PV进行统计。
实施例二
图3为本发明实施例二提供的一种广告页面浏览量统计方法流程示意图。在上述实施例的基础上,本实施例对广告信息PV的统计方式进行了具体化,并以举例的方式呈现具体的计算过程。具体参见图3所示,该方法包括如下步骤:
310、通过数据分发模块实时读取广告信息,并基于预设规则将读取到的广告信息实时分发至对应的局部计算模块。
320、统计各广告信息出现的次数。
330、将所述次数确定为对应广告信息的整体维度的PV统计结果。
具体的,可以通过Map结构的局部计算模块200统计每条广告信息出现的次数,Map的键为广告信息ad_info_rez,值为该广告信息ad_info_rez出现的次数,即该广告信息整体维度的PV值,根据上述表3,局部计算模块0中的Map值如下:map_s=(<'74#800032#111#202#2',1>,<'74#800032#112#204#2',1>,<'74#800032#115#205#1',1>)即广告信息'74#800032#111#202#2'出现的次数为1,广告信息'74#800032#112#204#2'出现的次数为1,广告信息'74#800032#115#205#1'出现的次数为1。局部计算模块1中的Map值如下:map_s=(<'74#800032#111#203#2',2>,<'74#800032#115#205#2',1>)。局部计算模块2中的Map值如下:map_s=(<'74#800032#112#203#2',1>,<'74#800032#112#204#1',1>)。各个局部计算模块将得到的map_s发送到全局计算模块,以完成数据汇总,如上面的举例,对局部计算模块0、局部计算模块1以及局部计算模块2号发过来的map_s汇总之后得到:(<'74#800032#111#203#2',2>,<'74#800032#115#205#2',1>,<'74#800032#111#202#2',1>,<'74#800032#112#204#2',1>,<'74#800032#115#205#1',1>,<'74#800032#112#203#2',1>,<'74#800032#111#204#1',1>),之后,全局计算模块230会将汇总的信息发送到多维度计算模块240,各多维度计算模块可根据自身的待统计组合维度以及接收到的汇总信息对广告信息的各维度进行PV统计,从而实现广告信息各种维度的PV计算。具体的参见步骤240-260。
340、确定待统计的组合维度。
所述待统计的组合维度可根据需要任意设定,例如确定的待统计的组合维度为“广告素材#广告信息类型”或者“广告位”,广告信息在组合维度“广告素材#广告信息类型”上的PV值计算由维度1计算模块进行计算,广告信息在组合维度“广告位”上的PV值计算由维度2计算模块进行计算,通过设置分布式的多维度计算模块,实现了广告信息在任意维度上PV的计算。
350、根据广告信息的整体维度的PV统计结果根据所述整体维度的PV统计结果统计在所述组合维度上信息相同的广告信息出现的次数。
根据局部计算模块200发送至多维度计算模块240的广告信息基于整体维度的PV统计结果的汇总数据(<'74#800032#111#203#2',2>,<'74#800032#115#205#2',1>,<'74#800032#111#202#2',1>,<'74#800032#112#204#2',1>,<'74#800032#115#205#1',1>,<'74#800032#112#203#2',1>,<'74#800032#111#204#1',1>)得到,在组合维度“广告素材#广告信息类型”上,广告信息的PV值为(<202#2,1>,<203#2,3>,<204#1,1>,<204#2,1>,<205#1,1>,<205#2,1>),即广告素材为202且广告信息类型为1的广告信息出现了1次,广告素材为203且广告信息类型为2的广告信息出现了3次……;在组合维度“广告位”上,广告信息的PV值为<800032,8>,即广告位为800032的广告信息出现了8次。
360、将所述次数确定为基于所述组合维度的广告信息的PV统计结果。
本实施例提供的一种广告页面浏览量统计方法,其中的局部计算模块以及多维度计算模块均可以任意拓展,性能高效,实现了实时地基于任意维度对广告的PV进行统计。
实施例三
图4为本发明实施例三提供的一种广告PV统计装置结构示意图。参见图4所示,所述装置包括:数据分发模块410、具局部计算模块420、发送模块430和多维度计算模块440;
其中,数据分发模块410,用于实时读取广告信息,并基于预设规则将读取到的广告信息实时分发至对应的局部计算模块;
局部计算模块420,用于基于广告信息中的整体维度对广告信息的PV进行统计,得到整体维度的PV统计结果;
发送模块430,用于将各广告信息的所述整体维度的PV统计结果发送至多维度计算模块;
多维度计算模块440,用于根据各广告信息的所述整体维度的PV统计结果基于任意组合维度对各广告信息的PV进行统计;
其中,所述整体维度为广告信息的所有维度,所述组合维度为所述所有维度中的至少一个维度,所述所有维度不包括时间维度。
本实施例提供的一种广告PV统计装置,通过数据分发模块实时读取广告信息,并基于预设规则将读取到的广告信息实时分发至对应的局部计算模块;通过各局部计算模块基于广告信息中的整体维度对广告信息的PV进行统计,得到整体维度的PV统计结果;将各广告信息的所述整体维度的PV统计结果发送至多维度计算模块,以通过所述多维度计算模块根据各广告信息的所述整体维度的PV统计结果基于任意组合维度对各广告信息的PV进行统计的技术手段,实现了实时地基于多维度对广告的PV进行统计。
实施例四
图5为本发明实施例四提供的一种电子设备的结构示意图。如图5所示,该电子设备包括:处理器670、存储器671及存储在存储器671上并可在处理器670上运行的计算机程序;其中,处理器670的数量可以是一个或多个,图5中以一个处理器670为例;处理器670执行所述计算机程序时实现如上述实施例一中所述的广告页面浏览量统计方法。如图5所示,所述电子设备还可以包括输入装置672和输出装置673。处理器670、存储器671、输入装置672和输出装置673可以通过总线或其他方式连接,图5中以通过总线连接为例。
存储器671作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中广告PV统计装置/模块(例如,广告PV统计装置中的数据分发模块410和局部计算模块420等)。处理器670通过运行存储在存储器671中的软件程序、指令以及模块,从而执行电子设备的各种功能应用以及数据处理,即实现上述的广告页面浏览量统计方法。
存储器671可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器671可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器671可进一步包括相对于处理器670远程设置的存储器,这些远程存储器可以通过网络连接至电子设备/存储介质。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置672可用于接收输入的数字或字符信息,以及产生与电子设备的用户设置以及功能控制有关的键信号输入。输出装置673可包括显示屏等显示设备。
实施例五
本发明实施例五还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种广告页面浏览量统计方法,该方法包括:
通过数据分发模块实时读取广告信息,并基于预设规则将读取到的广告信息实时分发至对应的局部计算模块;
通过各局部计算模块基于广告信息中的整体维度对广告信息的PV进行统计,得到整体维度的PV统计结果;
将各广告信息的所述整体维度的PV统计结果发送至多维度计算模块,以通过所述多维度计算模块根据各广告信息的所述整体维度的PV统计结果基于任意组合维度对各广告信息的PV进行统计;
其中,所述整体维度为广告信息的所有维度,所述组合维度为所述所有维度中的至少一个维度,所述所有维度不包括时间维度。
当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的广告PV统计相关操作。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,存储介质,或者网络设备等)执行本发明各个实施例所述的。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。