一种在统计信息投放频次时降低计算复杂度的方法及系统的制作方法

文档序号:6372865阅读:214来源:国知局
专利名称:一种在统计信息投放频次时降低计算复杂度的方法及系统的制作方法
技术领域
本发明涉及互联网信息投放领域,尤其涉及一种在统计信息投放频次时降低计算复杂度的方法及系统。
背景技术
目前,在网站上的广告信息投放存在多种形式,例如网幅广告、文本链接广告等,最初的网络广告形式是网幅广告(banner),其是以GIF、JPG、Flash等格式建立的图形文件,定位在网页中,大多用来表现广告内容,同时还可使用Java等语言使其产生交互性,用Shockwave等插件工具增强表现力,网幅广告分为静态、动态、交互式三种类型,静态网幅广告就是在网页上显示一幅固定的图片,动态网幅广告通常采用GIF89的格式,就是把一连串图像连贯起来形成动画,大多数动态网幅广告由2到20帧画面组成,通过不同的画面,可以传递给浏览者更多的信息,也是目前最主要的网络广告形式,交互式网幅广告需要更 加直接的交互,允许浏览者在网络广告中填入数据或通过下拉菜单和选择框进行选择。文本链接广告是以文字链接的广告,即在热门站点的Web页上放置可以直接访问的其他站点的链接,通过热门站点的访问,吸引一部分流量点击链接的站点,这是一种对浏览者干扰最少,但却较为有效果的网络广告形式。基于上述不同类型的广告投放形式以及对投放效果的考虑,广告投放者进一步提出了需要满足多维度、精准、及控制观看频次等要求,从而衍
生出一个逐渐普及的网站统计的新度量-Nreach。ETL, Extraction-Transformation-L
oading的缩写,中文名称为数据提取、转换和加载。Nreach作为一种视频网站的常规数据统计度量值,每天围绕着不同维度,不同时间区间的需求成为了最多的需求之一,数据统计导致了系统的计算复杂度,降低了服务器的运行效率。本发明提出一种以map reduce (即“映射”和“化简”)为基础的计算规则,处理海量数据,可以生成数种“多维度组合”的多样数据结果。计算期间生成“可叠加计算结果”作为数据缓冲层,用于以后复用,便于计算“当前时间”或者“持续时间段”以某指标为准的Nreach数据。这种方法既可以计算多种维度组合的N reach数据结果,又可以对计算累计的Nreach程序做高效的提速。本发明大大节省了输入文件量级,进而很好的达到提高计算效率的目的。此外,本发明提供了满足大多数需求、稳定、可每天提供增量的数据结果并减少了工作量。这里所述MapReduce是一种编程模型,主要用于大规模数据集(大于1TB)的并行运算。算法原理是指定一个Map (映射)函数,用来把一组键值对映射成一组新的键值对,指定并发的Reduce (化简)函数,用来保证所有映射的键值对中的每一个共享相同的键组。新度量Nreach以reach、用户、某个维度为准,“某个用户”看“某个维度”下的广告的I次以上的为Ireach ;看某个广告为2次以上,那么属于Ireach也属于2reach。以此类推至Nreach, —般统计到20reach,以后的例子也是以20reach为准。例lreach =1000的意义即,“某个维度”下观看广告一次以上广告的用户为1000位。2reach=500的意义为“某个维度”下观看广告两次以上广告的用户为500位。当然2reach的值肯定小于等于lreach。Nreach是视频行业的一个重要统计度量,有着广泛的意义。通常可以借以观察一个维度下的广告对于用户的到达量和频次。并且现在广告商希望广告能深入人心,提出每天一个广告对于一个用户展示大于三次以上才给予付费。Nreach的数据结果能有效的统计广告的投放效果。Nreach数据统计通常围绕一个特定的维度。如一个广告合同。再根据统计合同生效的整个时段,按照日期、网站频道、用户所在地区等维度,要求每天独立,或者数天累积的Nreach数据。

发明内容
鉴于现有技术中存在的问题,本发明的目的在于提供一种在统计信息投放频次时降低计算复杂度的方法,其包括如下步骤步骤(I)用户使用触发器触发信息调取;步骤
(2)中央处理单元,向调取单元传送调取命令;步骤(3)调取单元遍历信息存储数据库获得最高优先级的信息,同一优先级存在多个信息的随机调取;步骤(4)在调取结束后向日志
存储数据库写入相应的日志,日志是不同维度组合与相应的值的数据信息;步骤(5)根据日志信息执行第一次MapReduce以获得某一维度组合下的当天值和累计值;步骤(6)根据第一次Reduce的结果来执行第二次MapReduce以计算所述某一维度组合下的Nreach数据。进一步,该方法中的步骤(5)和步骤(6)进一步包括第一次Map,通过日志存储数据库调取前一天日志作为输入,其中Keyl为某一维度组合,Valuel的输出值为数组型数据类型的两个值vl、v2,第一个值是当天值,第二个值是累积值;第一次reduce,累加相同keyl下的valuel,用于获得在某一维度组合下用户查看信息的次数;第二次Map,所述第一次Reduce结果作为第二次Map的输入,Key2为某一维度组合,Value2为用40个位置表示的40个值,前20个位置放的是当天reach数据,后20个位置放的是累计reach数据,如果Vl值在value2的vl位置点上时该vl位置点上+1,vl超过20的时候,当做20处理;如果v2值在value2的v2+20位置点上时该v2+20位置点上+1,v2超过20的时候,当做40处理;第二次reduce,对第二次Map的结果进行累计,从第N个开始递归往前加和到第I个值,从第40个开始递归往前加和到第40-N+1个值,其中N小于等于20,最后分别获得某一维度组合下的当天值和累计值的Nreach数据。进一步,当非初始计算时步骤(5)和步骤(6)进一步包括第一次Map输入为前一天日志或前一天第一次reduce结果,判断为前一天日志时输出valuel值为I、1,判断为前一天第一次reduce时输出valuel值为O、I。进一步,所述方法中的维度组合是指合同、用户、信息分类、信息频道的不同组合。进一步,所述方法中的Nreach数据是指某一维度组合下的信息到达用户的频次度量数据。此外,本发明还提供了一种用于降低系统计算复杂度的系统,该系统包括信息存储数据库,存储有效的不同优先级的信息;触发器,用户根据该触发器触发信息调取;中央处理单元,向调取单元传送调取命令并在调取结束后向日志存储数据库写入相应的日志;调取单元,遍历信息存储数据库获得最高优先级的信息,同一优先级存在多个信息的随机调取;日志存储数据库,存储有不同维度组合与相应的值的数据;统计单元,根据日志信息执行第一次MapReduce以获得某一维度组合下的当天值和累计值;根据第一次Reduce的结果执行第二次MapReduce来计算所述某一维度组合下的Nreach数据。本发明所述的具有以下优点本发明大大节省了输入文件量级,进而很好的达到提高计算效率的目的。此外,本发明提供了满足大多数需求、稳定、可每天提供增量的数据结果并减少了工作量、降低了计算复杂度。


图I是本发明所述方法的流程图。
具体实施例方式为使本发明的上述目的、特征和优点更加明显易懂,下面结合附图和具体实施方式
对本发明作进一步详细的说明
如图I所示,本发明提供了一种用于降低系统计算复杂度的方法,其包括如下步骤步骤(I)用户使用触发器触发广告调取;步骤(2)中央处理单元,向调取单元传送调取命令;步骤(3)调取单元遍历广告存储数据库获得最高优先级的广告信息,同一优先级存在多个广告信息的随机调取;步骤(4)在调取结束后向日志存储数据库写入相应的日志,日志是不同维度组合与相应的值的数据信息;步骤(5)根据日志信息执行第一次MapReduce以获得某一维度组合下的当天值和累计值;步骤(6)根据第一次Reduce的结果来执行第二次MapReduce以计算所述某一维度组合下的Nreach数据。本发明还提供了一种用于降低系统计算复杂度的系统,该系统包括广告存储数据库,存储有效的不同优先级的广告信息;触发器,用户根据该触发器触发广告调取;中央处理单元,向调取单元传送调取命令并在调取结束后向日志存储数据库广告存储数据库,存储有效的不同优先级的广告信息;调取单元,遍历广告存储数据库获得最高优先级的广告信息,同一优先级存在多个广告信息的随机调取;日志存储数据库,存储有不同维度组合与相应的值的数据;统计单元,根据日志信息执行第一次MapReduce以获得某一维度组合下的当天值和累计值;根据第一次Reduce的结果执行第二次MapReduce来计算所述某一维度组合下的Nreach 数据。统计步骤和统计单元是以下述手段来进行的首先结合Nreach需求的特点。通常都是基于一种维度展开的,都包含同样一个特点。以合同为例都是连续时段的。一个合同都是从某一天开始——某一天结束。这样作为累积数据,可以用前一天的累积数据+当天的数据=从合同开始到当天的全部累积数据。这样可以有减少输入文件量级上的优化一不需要把合同开始到当天的所有数据文件全都运行一遍。例2012年I 月I日,用户Al看了广告A2 二遍,那么lreach、2reach用户A都贡献了一次。2012年I月2日,用户Al又看了广告A2—遍,只需要对3reach加一。结合数据需求中维度的多样性和维度的一贯性。本发明采用了 map reduce算法。首先,满足多维度,一次性载入文件,多次计算。因为文件的量级比较大,少次载入会减少时间代价;其次,我们需要累积、可复用的中间结果;最后,输出的结果会是多种维度组合,可区分。因为涉及到累计,第一次运行程序的初始和以后是稍有不同的,以下分别说明初始时第一次Map :通过日志存储数据库调取前一天日志作为输入;Keyl :日期、筛选出来数个维度组合(内部是多值,例如合同、客户、用户信息某种分类、网站频道……,这里不做一一举例。有多少个组合,一条日志数据就会生成多少个keyl)、维度组合名称(名字自定义)。Valuel:两个值。第一个值是当天值,第二个值是累积值。每条记录输出都是固定的输出值是数组型数据类型的输出值。例如1、1。第一次Reduce :累加相同keyl下的valuel。会得到相同keyl下的次数。可以解读为——在某一维度下用户在看广告的次数,即W。第一次Reduce的结果,输出保存。第二次Map :当天第一次Reduce结果作为第二次Map的输入。Key2 日期、筛选出来数个维度组合、维度组合名称。Value2 :用40个位置表示的40个值(前20个位置放的是当天reach数据,后20个位置放的是累计reach数据),当天reach和累计reach是相同的。Value2的初始值是40个位置上均为O。逐行读取keyl。Keyl所对应的valuel的两个值分别是vl、v2。vl对应的是当天值;v2对应的是累积值。如果vl值在value2的vl位置点上时该vl位置点上+1。vl超过20的时候,当做20处理。如果v2值即为在value2的v2+20位置点上时该v2+20位置点上+1。v2超过20的时候,当做40处理。例keyl——2012_02_03、电视剧(网站频道)、北京(用户区域)、8888 (合同id)、维度组合一。valuel——5,5。那么key2——2012-02-03、电视剧(网站频道)、北京(用户区域)、8888(合同 id)、维度组合一。value2——0、0、0、0、1、0、0、0、0、0、0、0、0、0、0、0、0、0、0、0、0、0、0、0、0、1、0、0、0、0、0、0、0、0、0、0、0、0、0、0。如下表所示
权利要求
1.一种在统计信息投放频次时降低计算复杂度的方法,其特征在于包括如下步骤 步骤(I)用户使用触发器触发信息调取; 步骤(2)中央处理单元,向调取单元传送调取命令; 步骤(3)调取单元遍历信息存储数据库获得最高优先级的信息,同一优先级存在多个信息的随机调取; 步骤(4)在调取结束后向日志存储数据库写入相应的日志,日志是不同维度组合与相应的值的数据信息; 步骤(5)根据日志信息执行第一次MapReduce以获得某一维度组合下的当天值和累计值; 步骤(6)根据第一次Reduce的结果来执行第二次MapReduce以计算所述某一维度组合下的Nreach数据。
2.根据权利要求I所述的方法,其特征在于当初始计算时步骤(5)和步骤(6)进一步包括 第一次Map,通过日志存储数据库调取前一天日志作为输入,其中Keyl为某一维度组合,Valuel的输出值为数组型数据类型的两个值vl、v2,第一个值是当天值,第二个值是累积值; 第一次reduce,累加相同keyl下的valuel,用于获得在某一维度组合下用户查看信息的次数; 第二次Map,所述第一次Reduce结果作为第二次Map的输入,Key2为某一维度组合,Value2为用40个位置表示的40个值,前20个位置放的是当天reach数据,后20个位置放的是累计reach数据,如果vl值在value2的vl位置点上时该vl位置点上+Ι,ν 超过20的时候,当做20处理;如果ν2值在value2的v2+20位置点上时该v2+20位置点上+1,v2超过20的时候,当做40处理; 第二次reduce,对第二次Map的结果进行累计,从第N个开始递归往前加和到第I个值,从第40个开始递归往前加和到第40-N+1个值,其中N小于等于20,最后分别获得某一维度组合下的当天值和累积值的Nreach数据。
3.根据权利要求2所述的方法,其特征在于当非初始计算时步骤(5)和步骤(6)进一步包括 第一次Map输入为前一天日志或前一天第一次reduce结果,判断为前一天日志时输出valuel值为I、I,判断为前一天第一次reduce时输出valuel值为0、1。
4.根据权利要求I或2所述的方法,其特征在于 所述维度组合是指合同、用户、信息分类、信息频道的不同组合。
5.根据权利要求I或2所述的方法,其特征在于 所述Nreach数据是指某一维度组合下的信息到达用户的频次度量数据。
6.一种用于降低系统计算复杂度的系统,其特征在于该系统包括 信息存储数据库,存储有效的不同优先级的信息; 触发器,用户根据该触发器触发信息调取; 中央处理单元,向调取单元传送调取命令并在调取结束后向日志存储数据库写入相应的日志;调取单元,遍历信息存储数据库获得最高优先级的信息,同一优先级存在多个信息的随机调取; 日志存储数据库,存储有不同维度组合与相应的值的数据; 统计单元,根据日志信息执行第一次MapReduce以获得某一维度组合下的当天值和累计值;根据第一次Reduce的结果执行第二次MapReduce来计算所述某一维度组合下的Nreach 数据。
7.根据权利要求6所述的系统,其特征在于当初始统计时统计单元进一步包括 第一次Map模块,通过日志存储数据库调取前一天日志作为输入,其中Keyl为某一维度组合,Valuel的输出值为数组型数据类型的两个值vl、v2,第一个值是当天值,第二个值是累积值; 第一次reduce模块,累加相同keyl下的valuel,用于获得在某一维度组合下用户查看信息的次数; 第二次Map模块,所述第一次Reduce结果作为第二次Map的输入,Key2为某一维度组合,Value2为用40个位置表示的40个值,前20个位置放的是当天reach数据,后20个位置放的是累计reach数据,如果vl值在value2的vl位置点上时该vl位置点上+1, vl超过20的时候,当做20处理;如果v2值在value2的v2+20位置点上时该v2+20位置点上+1,v2超过20的时候,当做40处理; 第二次reduce模块,对第二次Map的结果进行累计,从第N个开始递归往前加和到第I个值,从第40个开始递归往前加和到第40-N+1个值,其中N小于等于20,最后分别获得某一维度组合下的当天值和累积值的Nreach数据。
8.根据权利要求6或7所述的系统,其特征在于 所述维度组合是指合同、用户、信息分类、信息频道的不同组合。
9.根据权利要求6或7所述的系统,其特征在于 所述Nreach数据是指某一维度组合下的信息到达用户的频次度量数据。
10.根据权利要求7所述的系统,其特征在于当非初始统计时统计单元进一步包括 判断模块,第一次Map输入为前一天日志或前一天第一次reduce结果,判断为前一天日志时输出valuel值为1、1,判断为前一天第一次reduce时输出valuel值为0、1。
全文摘要
本发明提供了一种在统计信息投放频次时降低计算复杂度的方法及系统,该方法包括如下步骤用户使用触发器触发信息调取;中央处理单元,向调取单元传送调取命令;调取单元遍历广告存储数据库获得最高优先级的信息,同一优先级存在多个信息的随机调取;在调取结束后向日志存储数据库写入相应的日志,日志是不同维度组合与相应的值的数据信息;根据日志信息计算某一维度组合下的Nreach数据。本发明方法减少了工作量、降低了计算复杂度。
文档编号G06F17/30GK102819563SQ20121023065
公开日2012年12月12日 申请日期2012年7月4日 优先权日2012年7月4日
发明者王涵予, 姚健, 尹玉宗, 卢学裕, 付鹏, 潘柏宇, 卢述奇 申请人:合一网络技术(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1