基于大数据的网站用户行为数据采集方法、系统及应用与流程

文档序号:14155797阅读:346来源:国知局

本发明涉及一种数据采集方法及系统,具体的说是一种基于大数据的网站用户行为数据采集方法、系统及应用。



背景技术:

目前在大型网站中,需要对登录和非登录用户的行为数据进行采集,网站运营者通过对采集来的数据进行数据分析,帮助改进网站的栏目结构,提升用户的体验,以及进行商业化的用户行为分析,信息推送,广告投放等。

传统的网站用户行为采集方案,基本都是采用在网站应用中部署采集代码和采集处理程序,通过网站应用本身进行用户行为数据的采集和收集,将用户行为数据直接记录入网站数据库中或应用本身的日志文件之中,这样的方案,会带来三个问题:

(1)网站应用需要承担除了处理网站业务以外的其它工作,随着用户访问量的增加,网站应用的性能会出现显著降低,同时网站应用的故障率也逐步提升;

(2)网站应用的数据库服务需要承受高频次的用户行为数据写入操作,数据库的数据存储量日益增加,数据库的性能逐步降低。伴随着行为数据的每日递增,数据库服务器的运行风险也呈现为递增趋势。

(3)当用户行为数据的数据量变为海量级以后,传统的数据库查询已经无法应对海量级数据的查询、分析和统计。

此外,对于大型或特大型的门户网站来说,大型、特大型门户网站的应用系统基本都是采用分布式集群方式部署在很多的服务器上的,网站系统在部署上提现为应用的多节点化、分散化,这为用户行为数据的采集带了很大的困扰,大规模的用户行为数据、分散的数据文件存储,已成为制约用户行为大数据分析的主要矛盾。

本发明提出一种基于大数据的网站用户行为数据采集方法,包括以下步骤:

(1)网站插码的步骤,由网站开发人员在网站页面上进行插码,插入用户行为数据采集脚本文件和脚本代码;

(2)收集用户行为数据的步骤,当用户访问网站页面时,用户行为数据采集脚本文件和脚本代码收集用户行为数据,并将数据重组成指定规格的用户行为数据包,通过http协议向用户行为采集服务器发送;

(3)将用户行为数据包转化成用户行为日志文件的步骤,用户行为采集服务器接收网页端发出的用户行为数据包,并利用openresty组件将数据包转化成用户行为日志文件;

(4)将用户行为日志文件发送至数据收集云存储的步骤,在用户行为采集服务器上部署linuxshell脚本,定时将用户行为日志文件发送至统一的数据收集云存储上;

(5)将不断增加的用户行为日志文件中的数据实时传输给大数据存储的步骤,采用监控数据工具监控数据收集云存储(nas)上不断增加的用户行为日志文件,并实时的将日志文件中的数据传输给大数据存储;

(6)大数据存储的步骤,使用hdfs作为大数据存储,将所有的用户行为数据存储于hdfs之中。

进一步优选地,所述openresty组件为lua和nginx粘合的ngx_lua模块(nginx+lua);所述数据收集云存储为nas云存储;所述监控数据工具为flume。

进一步优选地,所述将不断增加的用户行为日志文件中的数据实时传输给大数据存储的步骤,采用监控数据工具监控数据收集云存储(nas)上新增加的用户行为日志文件,采用增量传递的方式实时的将日志文件中的数据传输给大数据存储。

进一步的,本发明还提出一种基于大数据的网站用户行为数据采集系统,包括网站插码、用户行为数据采集服务器、文件数据传输部件、数据收集云存储、文件数据收集部件和hdfs大数据存储。

所述网站插码包括用户行为数据采集脚本文件和脚本代码;

所述用户行为数据采集服务器包括采集用户行为数据采集脚本文件和脚本代码收集的用户行为的采集部件,将用户行为数据重组成指定规格的用户行为数据包的数据转换部件,以及通过http协议向用户行为采集服务器发送用户行为数据包的发送部件;

所述文件数据传输部件包括将用户行为数据包转化成用户行为日志文件的数据转换部件,以及将用户行为日志文件发送至数据收集云存储的传输部件;

所述数据收集云存储包括数据接收部件,以及数据存储部,所述数据接收部件接收文件数据传输部件发来的用户行为日志文件,所述数据存储部收集数据接收部件收到的用户行为日志文件;

所述文件数据收集部件包括监控数据收集云存储上不断增加的用户行为日志文件的数据监控部件,以及实时的将日志文件中的数据传输给大数据存储数据传输部件;

所述hdfs大数据存储包括数据存储器,支撑存储器的存储系统以及用户行为数据数据库。

进一步优选地,所述文件数据收集部件包括监控数据收集云存储上新增加的用户行为日志文件的数据监控部件,以及实时的将日志文件中新增加的数据传输给大数据存储数据传输部件;

进一步的,本发明还提出一种应用本发明基于大数据的网站用户行为数据采集方法的应用,包括网站、论坛、社区、app、电子商务平台、网上商城、或微信平台。

以及一种应用本发明基于大数据的网站用户行为数据采集系统的应用,包括网站、论坛、社区、app、电子商务平台、网上商城、或微信平台。

有益效果:本发明基于大数据的网站用户行为数据采集方法、系统,采用分布式集群部署,用户行为数据采集与网站应用本身分离,有效降低了用户行为数据采集对网站应用性能的影响。脱离了数据库存储网站用户行为采集数据的方式,分离了用户行为数据对数据库服务器的依赖关系,有效解决海量级数据的查询、分析和统计的问题。

附图说明

图1为基于大数据的网站用户行为数据采集方法步骤图;

图2为基于大数据的网站用户行为数据采集系统结构示意图;

图3为基于大数据的网站用户行为数据采集系统工作过程示意图。

具体实施方式

实施例1:如图1所示,一种基于大数据的网站用户行为数据采集方法,包括以下步骤:

(1)网站插码的步骤,由网站开发人员在网站页面上进行插码,插入用户行为数据采集脚本文件和脚本代码;

(2)收集用户行为数据的步骤,当用户访问网站页面时,用户行为数据采集脚本文件和脚本代码收集用户行为数据,并将数据重组成指定规格的用户行为数据包,通过http协议向用户行为采集服务器发送;

(3)将用户行为数据包转化成用户行为日志文件的步骤,用户行为采集服务器接收网页端发出的用户行为数据包,并利用openresty组件将数据包转化成用户行为日志文件;

(4)将用户行为日志文件发送至数据收集云存储的步骤,在用户行为采集服务器上部署linuxshell脚本,定时将用户行为日志文件发送至统一的数据收集云存储上;

(5)将不断增加的用户行为日志文件中的数据实时传输给大数据存储的步骤,采用监控数据工具监控数据收集云存储(nas)上不断增加的用户行为日志文件,并实时的将日志文件中的数据传输给大数据存储;

(6)大数据存储的步骤,使用hdfs作为大数据存储,将所有的用户行为数据存储于hdfs之中。

进一步优选地,所述openresty组件为lua和nginx粘合的ngx_lua模块(nginx+lua);所述数据收集云存储为nas云存储;所述监控数据工具为flume。

如图2所示,进一步的,本发明还提出一种基于大数据的网站用户行为数据采集系统,包括网站插码、用户行为数据采集服务器、文件数据传输部件、数据收集云存储、文件数据收集部件和hdfs大数据存储。

所述网站插码包括用户行为数据采集脚本文件和脚本代码;

所述用户行为数据采集服务器包括采集用户行为数据采集脚本文件和脚本代码收集的用户行为的采集部件,将用户行为数据重组成指定规格的用户行为数据包的数据转换部件,以及通过http协议向用户行为采集服务器发送用户行为数据包的发送部件;

所述文件数据传输部件包括将用户行为数据包转化成用户行为日志文件的数据转换部件,以及将用户行为日志文件发送至数据收集云存储的传输部件;

所述数据收集云存储包括数据接收部件,以及数据存储部,所述数据接收部件接收文件数据传输部件发来的用户行为日志文件,所述数据存储部收集数据接收部件收到的用户行为日志文件;

所述文件数据收集部件包括监控数据收集云存储上不断增加的用户行为日志文件的数据监控部件,以及实时的将日志文件中的数据传输给大数据存储数据传输部件;

所述hdfs大数据存储包括数据存储器,支撑存储器的存储系统以及用户行为数据数据库。

进一步的,本发明还提出一种应用本发明基于大数据的网站用户行为数据采集方法的应用,包括网站、论坛、社区、app、电子商务平台、网上商城、或微信平台。

以及一种应用本发明基于大数据的网站用户行为数据采集系统的应用,包括网站、论坛、社区、app、电子商务平台、网上商城、或微信平台。

实施例2:网站用户行为数据采集方案由六大功能部件组成:网站插码、用户行为数据采集服务器、文件数据传输部件、数据收集云存储、文件数据收集部件和hdfs大数据存储。

网站插码,是一个javascript脚本文件和一段放置于网页上的javascript脚本代码,用于收集用户的行为数据;

用户行为数据采集服务器,是一个专用的采集网站插码脚本发送过来的用户行为数据的服务器,将用户行为数据落地成日志文件;

文件数据传输部件,是用于将用户行为数据采集服务器生成的日志文件传输至统一的数据存储空间的工具;

数据收集云存储,是一个nas存储空间,专门用于汇总所有的用户行为数据日志文件;

文件数据收集部件,是一个从nas存储空间中,监控用户行为数据日志文件,并将新增的日志文件收集入大数据存储的工具;

hdfs大数据存储,是存储所有用户行为日志数据的存储器。

应用基于大数据的网站用户行为数据采集方法的方案其工作方式为:在网站页面上进行插码,当用户访问网页时,插码脚本向后端发送用户行为数据请求,用户行为采集数据服务器接收请求,并落地成日志文件,文件是数据传输部件将日志文件全部汇总至统一的nas存储,然后由文件数据收集部件实时将日志文件数据传输入大数据存储。

其工作过程为:nginx+lua生成用户行为日志,由linuxshell发送给数据收集云存储(nas/ftp),由flume将收集到的日志文件存储到hdfs大数据存储上。

具体的:

由网站开发人员在网站页面上进行插码,插入用户行为数据采集脚本文件和脚本代码;

当用户访问网站页面时,用户行为数据采集脚本和脚本代码收集用户行为数据,并将数据重组成指定规格数据包向通过http协议发送;

用户行为采集服务器接收网页端发出的用户行为数据包,并利用nginx+lua程序将数据包转化成用户行为日志文件;

在用户行为采集服务器上部署linuxshell脚本,定时将用户行为日志文件发送至统一的数据收集云存储(nas)上;

利用flume工具程序监控数据收集云存储上不断增加的用户行为日志文件,并实时的将日志文件中的数据传输给大数据存储;

使用hdfs作为大数据存储,降所有的用户行为数据存储于hdfs之中。

用户行为数据是由插入在网页中的javascript脚本收集和发送出来的,而javascript脚本是运行在客户端浏览器上的,因此用户行为数据的收集不依赖于网站应用程序的服务端,实现了与网站应用的分离,对网站的性能不产生影响;

用户行为数据的收集是通过用户行为采集服务器实现的,由于采用了nginx+lua程序实现,既轻量化又高性能,而日志数据存储于hdfs中,整体脱离了对数据库服务的依赖;

hdfs是一个支持大数据存储的数据存储服务,支持海量级数据的存储、查询、分析和统计,当数据量暴增时,hdfs能够提供比专业关系型数据库更高性能的数据查询服务。

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