页面流量数据的上报方法及装置、电子设备与流程

文档序号:12597855阅读:342来源:国知局
页面流量数据的上报方法及装置、电子设备与流程

本公开涉及计算机网络技术,尤其涉及页面流量数据的上报方法及装置、电子设备。



背景技术:

目前web端的网站流量相关数据收集通常是在用户产生浏览、点击或是其他行为时,实时上报一条日志到日志服务器。在网站流量较大时,数据上报会造成高并发,对日志服务器造成较大的压力,而且上报数据中和用户自身属性相关的数据都是一样的,例如:浏览器类型及版本、操作系统类型及版本、屏幕分辨率、语言、屏幕颜色深度等等信息都是重复上报的。

现有WEB端通常做法是Pageview级实时上报,可以理解为,每产生一个浏览或点击行为就上报一条日志,最细粒度为每一个行为。由于用户访问网页时的操作行为量庞大,如果对每个行为都即时触发上报,会因高并发请求而致使服务器压力巨大,资源消耗也非常严重。



技术实现要素:

针对现有技术存在的问题,本发明的目的在于提供一种页面流量数据的上报方法及装置、电子设备,能够减少上报数据时的上报请求并发量,降低日志服务器的压力。

本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。

根据本公开的一个方面,提供一种页面流量数据的上报方法,包括:

监听页面会话的流量数据;

判断页面会话是否结束;

其中,当页面会话结束时,将页面会话期间内监听到的流量数据通过上报请求统一上报。

在本公开的一种示例性实施例中,还包括:

将监听到的页面会话的流量数据拆分为第一数据和第二数据,其中,监听到的每条所述流量数据的所述第一数据相同、所述第二数据不同;

其中,当页面会话结束时,将所述页面会话期间内的多条所述第二数据以及一条所述第一数据合并后,通过上报请求统一上报。

在本公开的一种示例性实施例中,还包括:

将所述第一数据制作成字典表,其中所述字典表包括会话属性字段和属性值字段,所述属性值字段中的属性值对应于所述会话属性字段中的会话属性,所述属性值字段中的属性值映射为int值。

在本公开的一种示例性实施例中,所述会话属性包括浏览器类型、操作系统类型、屏幕分辨率、语言和屏幕颜色深度。

在本公开的一种示例性实施例中,所述上报请求包括报头和报文,在通过所述上报请求上报流量数据时,所述第一数据配置于所述上报请求的报头中,所述多条第二数据配置于所述上报请求的报文中。

在本公开的一种示例性实施例中,所述第一数据配置于所述报头的公有字段进行上报。

根据本公开的一个方面,提供一种页面流量数据的上报方法,包括:

监听页面会话的流量数据;

判断页面会话是否结束;

判断监听到的流量数据条目是否达到一预定条目;

判断监听到的所述流量数据条目达到所述预定条目所经过的第一时长与所述页面会话结束所经过的第二时长的大小;

其中,当所述第一时长小于所述第二时长时,将所述第一时长内所监听到的流量数据通过上报请求统一上报;

当所述第一时长大于所述第二时长时,将所述第二时长内所监听到的流量数据通过上报请求统一上报。

在本公开的一种示例性实施例中,还包括:

将所述第一数据制作成字典表,其中所述字典表包括会话属性字段和属性值字段,所述属性值字段中的属性值对应于所述会话属性字段中的会话属性,所述属性值字段中的属性值映射为int值。

在本公开的一种示例性实施例中,所述会话属性包括浏览器类型、操作系统类型、屏幕分辨率、语言和屏幕颜色深度。

在本公开的一种示例性实施例中,所述上报请求包括报头和报文,在通过所述上报请求上报流量数据时,所述第一数据配置于所述上报请求的报头中,所述多条第二数据配置于所述上报请求的报文中。

在本公开的一种示例性实施例中,所述第一数据配置于所述报头的

公有字段进行上报。

根据本公开的一个方面,提供一种页面流量数据的上报装置,包括:

监听模块,用于监听页面会话的流量数据;

第一判断模块,用于判断页面会话是否结束;

第二判断模块,用于判断监听到的流量数据条目是否达到一预定条目;

第三判断模块,用于判断监听到的所述流量数据条目达到所述预定条目所经过的第一时长与所述页面会话结束所经过的第二时长的大小,并输出一判断结果;

上报模块,用于根据所述判断结果将所述流量数据通过上报请求统一上报;

其中,当所述第一时长小于所述第二时长时,所述上报模块将所述第一时长内所监听到的流量数据通过上报请求统一上报;当所述第一时长大于所述第二时长时,所述上报模块将所述第二时长内所监听到的流量数据通过上报请求统一上报。

根据本公开的一个方面,提供一种电子设备,包括:

处理器;

存储器,用于存储处理器的执行指令;

其中,所述处理器被配置为:

监听页面会话的流量数据;

判断页面会话是否结束;

将页面会话期间内监听到的流量数据通过上报请求统一上报。

本发明将页面会话期间内的页面流量数据统一进行上报,减少上报数据时的上报请求并发量,降低了日志服务器的压力。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本公开。

附图说明

通过参照附图详细描述其示例实施例,本公开的上述和其它目标、特征及优点将变得更加显而易见。

图1示意性示出根据本公开示例实施方式的页面流量数据的上报方法的流程图;

图2示意性示出根据本公开示例实施方式的页面流量数据的上报方法的流程图;

图3示意性示出根据本公开示例实施方式的页面流量数据的上报方法的流程图;

图4示意性示出根据本公开示例实施方式的页面流量数据的上报方法的流程图;

图5示意性示出根据本公开示例实施方式的页面流量数据的上报装置的结构图。

具体实施方式

现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。

此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本公开的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而省略所述特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知结构、方法、装置、实现、材料或者操作以避免喧宾夺主而使得本公开的各方面变得模糊。

附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。

以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的系统和方法的例子。

图1示意性示出根据本公开示例实施方式的页面流量数据的上报方法的流程图。

如图1所示,本发明的页面流量数据的上报方法包括以下步骤:

步骤S110:监听页面会话的流量数据。

本发明中所说的页面(webpage),在WWW环境中,信息以页面信息组织,信息页面由语言来实现,在各个信息页面之间建立超文本链接以便浏览。本发明所说的页面会话是指用户在浏览页面时的各种操作行为,例如浏览行为、点击行为等。用户在浏览页面时所产生的流量数据可以通过JavaScript(js)统计。用户每发生一次操作行为,js就可以统计到一条流量数据。

步骤S120:判断页面会话是否结束。

本发明中可以根据关闭页面或超过静默时间进行判断。例如,用户浏览后关闭页面表示页面会话结束,则可以通过监控页面是否关闭来判断页面会话是否结束。用户浏览经过较长时间没有继续任何操作也可以认为页面会话结束,则可以通过监控操作是否超过预定时间来判断页面会话是否结束。

步骤S130:当页面会话结束时,将页面会话期间内监听到的流量数据通过上报请求统一上报。

本发明在用户的会话结束后统一上报用户浏览页面时的流量数据,降低了向日志服务器发送上报请求的频率,减轻了日志服务器压力,降低了资源消耗。

图2示意性示出根据本公开示例实施方式的页面流量数据的上报方法的流程图。

如图2所示,在示例性实施例中,上报方法除包括以上步骤S110和步骤S120之外,还包括:

步骤S140:将监听到的页面会话的流量数据拆分为第一数据和第二数据。

其中用户在浏览页面时所产生的流量数据包括第一数据(公有数据)和第二数据(私有数据)。公有数据表示用户自身属性的数据,对于同一用户,页面会话的每条流量数据的公有数据相同。私有数据表示用户自身行为的数据,对于同一用户,页面会话的每条流量数据的私有数据不同。

步骤S130’:当页面会话结束时,将页面会话期间内的多条私有数据以及一条公有数据合并后,通过上报请求统一上报。由于页面会话期间的流量数据的公有数据均相同,本实施例在进行数据上报时,仅将一条公有数据与多条私有数据合并,解决了公有数据重复上报的问题,降低了上报的数据量。

图3示意性示出根据本公开示例实施方式的页面流量数据的上报方法的流程图。

如图3所示,在示例性实施例中,上报方法还包括:

步骤S150:将第一数据制作成字典表。

其中字典表包括会话属性字段(key)和属性值字段(value)。所述属性值字段中的属性值对应于所述会话属性字段中的会话属性,例如,包括浏览器类型、操作系统类型、屏幕分辨率、语言和屏幕颜色深度等。所述属性值字段中的属性值映射为int值,例如,chrome浏览器对应值为01、safari浏览器对应值为02、1366×1024分辨率对应值为11、640×320分辨率对应值为12等。

用户访问页面时,通过js将字典表从对应的字典表服务器缓存入用户浏览器的本地存储器(localStorage)中,字典表可每天/每周更新一次。

用户产生行为时,将用户自身属性的数据等通用性属性,通过本地存储器中的字典表映射后的值以“||”拼接后,缓存入浏览器的会话存储器(sessionStorage)中,作为公有数据。由于映射后的公有数据的属性值为int值,相比于字符串更小,所以能进一步减少上报的数据量。如果字典表没有对应关系,则向字典表服务器发送同步请求,如果同步更新后的字典表中仍旧没有映射关系,则由js生成新的映射关系值,可自增生成,并将生成的新映射关系上报到字典表服务器。

上述实施例中,合并后的公有数据和私有数据通过上报请求上报给日志服务器。公有数据放在上报请求的报头中进行上报,可以使用报头中协议内的公有字段或者自定义字段进行上报。使用报头中自定义字段,浏览器会向日志服务器额外发送一个HTTP OPTIONS请求,这样会额外增加日志服务器的压力。因此,在一优选实施例中,可将公有数据放在报头中协议内的userAgent字段进行上报,userAgent字段是存用户浏览器等信息,可由js进行修改。将公有数据放在报头中协议内的公有字段上报,可以避免向日志服务器额外发送HTTP OPTIONS请求,降低了日志服务器的压力。

上报请求的上报方式可以为GET方式上报或POST方式上报。如果上报请求为GET方式上报,则需要将各私有数据串联拼接到上报请求链接中进行上报。由于部分浏览器(例如老版本IE)对URI的长度有限制,导致如果数据量较大时,GET方式上报会请求失败。如果上报请求为POST方式上报,则各私有数据被放在报文中,不会受浏览器对URI的长度限制,因此采用POST方式上报相较于GET方式上报可以提高上报成功率。另外,对于POST方式上报,上报请求的报文中存储数据的大小限制可以通过日志服务器的配置文件进行调整。

图4示意性示出根据本公开示例实施方式的页面流量数据的上报方法的流程图。

如图4所示,本发明的页面流量数据的上报方法包括以下步骤:

步骤S210:监听页面会话的流量数据。

步骤S220:判断页面会话是否结束。当判断页面会话结束时,记录页面会话结束所用时长,并输出表示页面会话结束时长的计算结果。

步骤S230:判断监听到的流量数据条目是否达到预定条目。预定条目可以根据日志服务器所能承受的实际上报数据量进行预先设定,当监听到的流量数据条目达到预定条目时,记录流量数据条目达到预定条目时所用的时长,并输出表示流量数据条目达到预定条目时长的计算结果。

步骤S240:比较监听到的所述流量数据条目达到所述预定条目所经过的第一时长与所述页面会话结束所经过的第二时长的大小。

步骤S250:当所述第一时长小于所述第二时长时,将所述第一时长内所监听到的流量数据通过上报请求统一上报;

步骤S260:当所述第一时长大于所述第二时长时,将所述第二时长内所监听到的流量数据通过上报请求统一上报。

本实施例中除了根据页面会话结束时间来进行数据上报之外,又增加了根据数据条目数量进行数据上报的条件。对于页面会话时间短,数据上报条目较少的情况,根据页面会话是否结束为上报条件。而对于页面会话期间内,数据上报条目非常多的情况,根据数据条目是否达到最大额定条目作为上报条件,可以避免在一次上报请求中上报数据量过多而影响上报所需时间和上报成功率。

在示例性实施例中,在步骤S210之后,还包括将监听到的页面会话的流量数据拆分为第一数据和第二数据。

其中用户在浏览页面时所产生的流量数据包括第一数据(公有数据)和第二数据(私有数据)。公有数据表示用户自身属性的数据,对于同一用户,页面会话的每条流量数据的公有数据相同。私有数据表示用户自身行为的数据,对于同一用户,页面会话的每条流量数据的私有数据不同。

当所述第一时长小于所述第二时长时,将所述第一时长内的多条私有数据以及一条公有数据合并后,通过上报请求统一上报。

当所述第一时长大于所述第二时长时,将所述第二时长内的多条所述私有数据以及一条公有数据合并后,通过上报请求统一上报。

本实施例在进行数据上报时,仅将一条公有数据与多条私有数据合并,解决了公有数据重复上报的问题,进一步降低了上报的数据量。

在示例性实施例中,公有数据可以被制作成字典表,其中所述字典表包括会话属性字段(key)和属性值字段(value),所述属性值字段中的属性值对应于所述会话属性字段中的会话属性,例如,包括浏览器类型、操作系统类型、屏幕分辨率、语言和屏幕颜色深度等。所述属性值字段中的属性值映射为int值,例如,chrome浏览器对应值为01、safari浏览器对应值为02、1366×1024分辨率对应值为11、640×320分辨率对应值为12等。

用户访问页面时,通过js将字典表从对应的字典表服务器缓存入用户浏览器的本地存储器(localStorage)中,字典表可每天/每周更新一次。

用户产生行为时,将用户自身属性的数据等通用性属性,通过本地存储器中的字典表映射后的值以“||”拼接后,缓存入浏览器的会话存储器(sessionStorage)中,作为公有数据。由于映射后的公有数据的属性值为int值,相比于字符串更小,所以能进一步减少上报的数据量。如果字典表没有对应关系,则向字典表服务器发送同步请求,如果同步更新后的字典表中仍旧没有映射关系,则由js生成新的映射关系值,可自增生成,并将生成的新映射关系上报到字典表服务器。

上述实施例中,合并后的公有数据和私有数据通过上报请求上报给日志服务器。公有数据放在上报请求的报头中进行上报,可以使用报头中协议内的公有字段或者自定义字段进行上报。使用报头中自定义字段,浏览器会向日志服务器额外发送一个HTTP OPTIONS请求,这样会额外增加日志服务器的压力。因此,在一优选实施例中,可将公有数据放在报头中协议内的userAgent字段进行上报,userAgent字段是存用户浏览器等信息,可由js进行修改。将公有数据放在报头中协议内的公有字段上报,可以避免向日志服务器额外发送HTTP OPTIONS请求,降低了日志服务器的压力。

上报请求的上报方式可以为GET方式上报或POST方式上报。如果上报请求为GET方式上报,则需要将各私有数据串联拼接到上报请求链接中进行上报。由于部分浏览器(例如老版本IE)对URI的长度有限制,导致如果数据量较大时,GET方式上报会请求失败。如果上报请求为POST方式上报,则各私有数据被放在报文中,不会受浏览器对URI的长度限制,因此采用POST方式上报相较于GET方式上报可以提高上报成功率。另外,对于POST方式上报,上报请求的报文中存储数据的大小限制可以通过日志服务器的配置文件进行调整。

图5示意性示出根据本公开示例实施方式的页面流量数据的上报装置的结构图。

如图5所示,该上报装置包括监听模块510,其用于监听页面会话的流量数据;第一判断模块520,其用于判断页面会话是否结束;第二判断模块530,其用于判断监听到的流量数据条目是否达到一预定条目;第三判断模块540,其用于判断监听到的所述流量数据条目达到所述预定条目所经过的第一时长与所述页面会话结束所经过的第二时长的大小,并输出一判断结果;上报模块550,其用于根据所述判断结果将所述流量数据通过上报请求统一上报;其中,当所述第一时长小于所述第二时长时,所述上报模块550将所述第一时长内所监听到的流量数据通过上报请求统一上报;当所述第一时长大于所述第二时长时,所述上报模块550将所述第二时长内所监听到的流量数据通过上报请求统一上报。

上述实施例中第一判断模块520、第二判断模块530和第三判断模块540可以合并为一个模块来实现。并且第二判断模块530、第三判断模块540也可以省略,仅根据第一判断模块520的判断结果作为上报条件,控制上报模块550进行数据上报。

关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。

根据本公开实施例的再一方面,提供一种电子设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为:监听页面会话的流量数据;判断页面会话是否结束;将页面会话期间内监听到的流量数据通过上报请求统一上报。

在示例性实施例中,所述电子设备可为服务器、台式计算机、平板计算机或其他智能型电子装置,其中包括通信装置、处理器、储存装置、显示器及输入装置。其中,通信装置、储存装置、显示器及输入装置分别连接于处理器以接受处理器的控制。

通信装置可为具有短程通讯功能的近场通讯(NFC)模块、无线射频识别(RFID)模块或蓝芽(Bluetooth)模块等短程通讯模块芯片。处理器则可为用户终端当中的主要运算核心,例如为中央处理器(CPU)、嵌入式控制器(EC)或数字讯号处理器(DSP),或是被设计为专用于处理页面流量数据统计的专用集成芯片(ASIC)或现场可编程逻辑门芯片(FPGA)。

储存装置用以储存页面流量数据。储存装置具体可为例如为快闪存储器、可编程只读存储器等非挥发性存储器(NVM)芯片。显示器提供使用界面以显示相关的页面流量数据查询信息,而输入装置则用以供使用者操作,以产生控制使用界面上的流量数据。显示器及输入装置可整合为具有触控面板的触控式屏幕。

在示例性实施例,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器,上述指令可由电子设备的处理器执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。

本发明实施例中其它内容参考上述发明实施例中的内容,在此不再赘述。

图1和4示出根据本公开示例实施方式的页面流量数据的上报方法的流程图。该方法可例如利用如图5所示的页面流量数据的上报装置实现,但本公开不限于此。需要注意的是,图1和4仅是根据本公开示例实施方式的方法所包括的处理的示意性说明,而不是限制目的。易于理解,图1和4所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块/进程/线程中同步或异步执行的。

通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、移动终端、或者网络设备等)执行根据本公开实施方式的方法。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。

以上具体地示出和描述了本公开的示例性实施方式。应可理解的是,本公开不限于这里描述的详细结构、设置方式或实现方法;相反,本公开意图涵盖包含在所附权利要求的精神和范围内的各种修改和等效设置。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1