页面归并方法及装置
技术领域
本发明涉及网络领域,具体而言,涉及一种页面归并方法及装置。
背景技术
路径归并:指我们要从用户的页面浏览转化为路径浏览,页面浏览是指用户的每一个页面的访问,路径浏览是指用户浏览网站的路径,即先看了什么再看了什么,中间刷新的重复页面访问会被认为是同一路径。举例说明:用户浏览页面顺序为a-->b->b->b->c->b->b->d,由浏览页面最终归并的路径浏览为:a->b>c->b->d。注:数字代表在此路径上用户的页面浏览数量。
关于上面的路径去重,传统的方法一般采用页面浏览数据表,先根据浏览时间在各会话内部进行排序,即会话内的页面访问顺序(AccessOrder),再根据AccessOrder进行页面浏览数据表的自已和自己的表连接,条件为表1的AccessOrder+1=表2的AccessOrder,即通过表连接庞大的开销来找到该页面的下一个页面访问,若判断是一样的,则进行去重,当然这样表连接一次,只能对路径重复去重一次,像上面示例的路径访问里,存在连续的3个b页面的访问,故而需要两次重复上面的表连接操作,去掉2个重复的b。可以看出这样通过递归循环计算的方式性能很糟糕,且循环的次数为最大的路径重复页面数减一次。且每次都需要做整个表连接和去重操作。性能很不稳定,且很低效。
针对相关技术中的在出现连续相同的浏览页面时,去重效率低的问题,目前尚未提出有效的解决方案。
发明内容
针对现有技术中在出现连续相同的浏览页面时,去重效率低的问题,本发明提供了页面归并方法及装置,以至少解决上述问题。
根据本发明的一个方面,提供了一种页面归并方法,包括:对浏览过的页面进行排序;根据所述第一规则对排序之后的页面进行第一次编号得到第一编号序列;根据第二规则对排序之后的页面进行第二次编号得到第二编号序列;比较所述第一编号序列和所述第二编号序列确定所述浏览过的页面中的重复刷新的页面;根据所述重复刷新的页面从所述浏览过的页面中进行去重处理。
优选地,根据所述第一规则对排序之后的页面进行第一次编号得到第一编号序列包括:根据用户浏览的时间顺序对所述浏览过的页面进行第一次编号得到所述第一编号序列。
优选地,根据所述第二规则对浏览过的页面进行排序包括:根据页面标识对所述浏览过的页面进行所述第二次编号得到所述第二编号序列,其中,根据所述页面标识进行排序包括:按照页面标识出现的次序对页面标识对应页面进行编号,对于同一页面标识对应的多个页面编号完毕之后再对下一出现的页面标识对应的页面进行编号。
优选地,比较所述第一编号序列和所述第二编号序列确定所述浏览过的页面中的重复刷新的页面包括:将所述第一编号序列和所述第二编号序列相减,对于同一页面标识的页面存在连续的n个相同的差值,则说明具有n个重复刷新的页面。
优选地,根据所述重复刷新的页面从所述浏览过的页面中进行去重处理包括:对于多个重复刷新的页面仅保留一个,并标示出所述多个重复刷新的页面的数量。
根据本发明的另一方面,提供了一种页面归并装置,包括:排序模块,用于对浏览过的页面进行排序;第一编号模块,用于根据所述第一规则对排序之后的页面进行第一次编号得到第一编号序列;第二编号模块,用于根据第二规则对排序之后的页面进行第二次编号得到第二编号序列;确定模块,用于比较所述第一编号序列和所述第二编号序列确定所述浏览过的页面中的重复刷新的页面;处理模块,用于根据所述重复刷新的页面从所述浏览过的页面中进行去重处理。
优选地,所述第一编号模块用于根据用户浏览的时间顺序对所述浏览过的页面进行第一次编号得到所述第一编号序列。
优选地,所述第二编号模块用于根据页面标识对所述浏览过的页面进行所述第二次编号得到所述第二编号序列,其中,根据所述页面标识进行排序包括:按照页面标识出现的次序对页面标识对应页面进行编号,对于同一页面标识对应的多个页面编号完毕之后再对下一出现的页面标识对应的页面进行编号。
优选地,所述确定模块用于将所述第一编号序列和所述第二编号序列相减,对于同一页面标识的页面存在连续的n个相同的差值,则说明具有n个重复刷新的页面。
优选地,所述处理模块用于对于多个重复刷新的页面仅保留一个,并标示出所述多个重复刷新的页面的数量。
通过本发明,采用对浏览过的页面进行排序,然后根据第一规则对排序之后的页面进行第一次编号得到第一编号序列以及根据第二规则对排序之后的页面进行第二次编号得到第二编号序列,再通过比较第一编号序列和第二编号序列确定所述浏览过的页面中的重复刷新的页面,将重复刷新的页面从浏览过的页面中进行去重处理,解决了现有技术中在出现连续相同的浏览页面时,去重效率低的问题,进而提高了操作效率。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的页面归并装置的流程图;
图2是根据本发明实施例的页面归并装置的结构示意图;
图3是根据本发明优选实施例的页面归并装置的流程图;
图4是根据本发明优选实施例的页面归并装置的结构示意图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
在本实施例中,提供了一种页面归并方法,图1是根据本发明实施例的页面归并方法的流程图,如图1所示,该方法的步骤包括:
步骤S102:对浏览过的页面进行排序。
步骤S104:根据第一规则对排序之后的页面进行第一次编号得到第一编号序列。
步骤S106:根据第二规则对排序之后的页面进行第二次编号得到第二编号序列。
步骤S108:比较第一编号序列和第二编号序列确定浏览过的页面中的重复刷新的页面。
步骤S110:根据所述重复刷新的页面从浏览过的页面中进行去重处理。
通过上述实施例的方法,通过两次不同的编号方式进行编号进而通过第一编号序列和第二编号序列的比较可以一次性的找到重复的页面,进而进行去重处理,因此,解决了现有技术中在出现连续相同的浏览页面时去重效率低的问题,进而提高了操作效率。
上述步骤S104和步骤S106中的第一规则和第二规则可以有很多种方式,本实施例中提供了两种优选的方式,这种优选实施方式可以单独实施也可以结合使用。下面对这两种优选实施方式进行说明。
优选实施方式一,可以根据用户浏览的时间顺序对浏览过的页面进行第一次编号得到第一编号序列。
优选实施方式二,可以根据页面标识对浏览过的页面进行第二次编号得到第二编号序列,其中,根据页面标识进行排序包括:按照页面标识出现的次序对页面标识对应页面进行编号,对于同一页面标识对应的多个页面编号完毕之后再对下一出现的页面标识对应的页面进行编号。例如,用户浏览了首先浏览了a页面,然后浏览了两次b页面,然后浏览了两次c页面,最后浏览了一次b页面,那么,a页面可以编号为0;一共浏览了三次b页面,可以编号为1、2、3,浏览了两次c页面,可以编号为4、5。因此,得到的序列为0、1、2、4、5、3。
在上述图1示出的步骤以及上述两种优选的实施方式中,可以采用相减的方式来得到重复刷新的页面。即优选地,上述步骤S108可以包括:将第一编号序列和第二编号序列相减,对于同一页面标识的页面存在连续的n个相同的差值,则说明具有n个重复刷新的页面。
作为另一种优选的实施方式,在去重处理之后,还可以显示一下重复刷新的页面的数量。即优选地,上述步骤S110可以包括:对于多个重复刷新的页面仅保留一个,并标示出多个重复刷新的页面的数量。
本实施例还提供了一种页面归并装置,该装置用于实现上述页面归并方法,该装置实施例中的功能实现在上述方法实施例中已经进行过详细的说明,在此将不再赘述。
本发明还提供了一种页面归并装置,图2是根据本发明实施例的页面归并装置的结构示意图。如图2所示,该装置包括:排序模块202,用于对浏览过的页面进行排序;第一编号模块204,用于根据第一规则对排序之后的页面进行第一次编号得到第一编号序列;第二编号模块206,用于根据第二规则对排序之后的页面进行第二次编号得到第二编号序列;确定模块208,用于比较第一编号序列和第二编号序列确定浏览过的页面中的重复刷新的页面;处理模块210,用于根据重复刷新的页面从浏览过的页面中进行去重处理。
优选地,第一编号模块204还用于根据用户浏览的时间顺序对浏览过的页面进行第一次编号得到第一编号序列。
优选地,第二编号模块206用于根据页面标识对浏览过的页面进行第二次编号得到第二编号序列,其中,根据页面标识进行排序包括:按照页面标识出现的次序对页面标识对应页面进行编号,对于同一页面标识对应的多个页面编号完毕之后再对下一出现的页面标识对应的页面进行编号。
优选地,确定模块208用于将第一编号序列和第二编号序列相减,对于同一页面标识的页面存在连续的n个相同的差值,则说明具有n个重复刷新的页面。
优选地,处理模块210用于对于多个重复刷新的页面仅保留一个,并标示出多个重复刷新的页面的数量。
在本实施例中,首先,对页面的排序,以及第一编号模块204对排序后的页面进行编号得到第一编号序列,第二编号模块205对排序后的页面进行编号得到第二编号序列,然后,通过确定模块208比较第一编号序列和第二编号序列确定浏览过的页面中的重复刷新的页面,最后,处理模块210将据重复刷新的页面从浏览过的页面中进行去重处理。解决了现有技术中在出现连续相同的浏览页面时,不能一次性去重的问题,进而提高了性能稳定性和操作效率。
下面结合优选实施例进行描述和说明。
本优选实施例提供了一种页面归并方法,图3是根据本发明优选实施例的页面归并装置的流程图,如图3所示,结合以下具体举例应用场景,本优选实施例方法包括:
步骤S1:接收并读取所有原页面浏览数据;
其中,浏览数据至少包括:会话标识SessionKey,页面访问标识pageKey,访问时间VisitTime。
步骤S2:根据各SessionKey进行分组,并按VisitTime时间进行排序得到各会话内页面访问顺序的派生列AccessOrder。
其中,用户浏览页面顺序为a-->b->b->b->c->b->b->d,经过访问时间进行分组排序之后得到派生列AccessOrder,如表1所示:
表1
步骤S3:根据PageKey进行分组,组内按AccessOrder进行排序,得到pageAccessOrder的派生列;
其中,pageAccessOrder的派生列,如表1所示。
步骤S4:根据PageKey以及AccessOrder-pageAccessOrder的值进行分组,得到每个页面连续访问的分组;
其中,将PageKey和AccessOrder-pageAccessOrder作为分组因子,即可得到不连续的两次访问的b路径,如表2所示:表2中AccessOrder-pageAccessOrder的值中标粗的两段为不连续的两次访问的b路径。
表2
步骤S5:对连续的分组进行去重;
其中,得到的去重结果为:a->b>c->b->d。
步骤S6:将去重的结果进行输出。
本发明优选实施例还提供另一种页面归并装置,图4是根据本发明优选实施例的页面归并装置的结构示意图,如图4所示,该装置包括:输入装置42,用于接收并读取所有源页面浏览的数据;去重装置44(实现了上述排序模块202、第一编号模块204、第二编号模块206、确定模块208、处理模块210的功能),用于根据访问时间顺序,会话标识对源页面进行分组,并对分组进行去重;输出装置46,用于将去重的结果进行输出。
通过本发明优选实施例的页面归并方法,对所有原有页面的数据根据访问的时间顺序以及会话标识进行排序,将排序后的结果进行路径的去重。解决了现有技术传统方式里得循环连表并去重操作的问题,从而只需要批量式的进行一次流式处理即可得出想要的结果。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。