基于分布式文件存储的网站页面内容统计的方法和系统的制作方法

文档序号:6536970阅读:240来源:国知局
基于分布式文件存储的网站页面内容统计的方法和系统的制作方法
【专利摘要】本申请公开基于分布式文件存储的网站页面内容统计的方法和系统,方法:采集访问日志将访问日志存入分布式文件存储数据库中,以小时为单位存储到分布式文件存储数据库中的相应的集合文档中;对存储到分布式文件存储数据库中的访问日志进行分解并找出该访问日志中的有效日志信息,将有效日志信息与该访问日志建立映射关系;对访问日志下的所有有效日志信息进行化简操作,输出化简后的有效日志信息,根据化简后的有效日志信息,输出访问日志下的以访问为主键的点击量和对应的流量中间数据的值,或输出访问日志下的以访问和会话身份为主键的独立访客数量和对应的流量中间数据的值。本发明解决了根据业务类型方便的组合查询条件进行网站的PV、UV统计。
【专利说明】基于分布式文件存储的网站页面内容统计的方法和系统
【技术领域】
[0001]本申请涉及网站数据统计领域,具体地说,是涉及一种基于分布式文件存储的网站页面内容统计的方法和系统。
【背景技术】
[0002]现有技术中,MongoDB (分布式文件存储数据库,介于关系数据库和非关系数据库之间的产品)支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是支持的查询语言非常强大,其语法类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索弓丨。MongoDB旨在为WEB应用提供可扩展的高性能数据存储解决方案。
[0003]目前,基于文件和数据库的网站需要进行UV(独立访客,Unique Vistor,访问您网站的一台电脑客户端为一个访客)、PV (访问量,Page View,页面浏览量或点击量,用户每次刷新即被计算一次)的统计,这两种方式的统计都比较粗线条,不能灵活的根据业务类型方便的组合查询条件。
[0004]例如:网站上广告的PV、UV的统计。网站的页面上有各种各样的广告链接,每个广告链接都对应一个id主键标识。用户点击广告链接便生成一个在网站日志中产生一条包含该访客特征及广告id主键的url (Uniform Resource Locator,统一资源定位符)访问信息,通过对所有包含广告id主键标识的url访问信息进行聚合计算,可以输出一段时间内某一个广告总共被点击了几次(这里被点击的次数即为该段时间内该广告的PV),还可以得到一段时间内有多少个访客访问了某一个广告(这里计算输出的访客数量即为该段时间内该广告的UV)。然而,如之前所述这两种方式的统计都比较粗线条,不能灵活的根据业务类型方便的组合查询条件。
[0005]因此,如何解决根据业务类型方便的组合查询条件进行网站的PV、UV统计,便成为亟待解决的技术问题。

【发明内容】

[0006]本申请所要解决的技术问题是提供一种基于分布式文件存储的网站页面内容统计的方法和系统,以解决根据业务类型方便的组合查询条件进行网站的PV、UV统计的问题。
[0007]为解决上述技术问题,本申请提供了一种基于分布式文件存储的网站页面内容统计的方法,其特征在于,包括:
[0008]采集访问日志,并将所述访问日志存入分布式文件存储数据库中,以小时为单位存储到所述分布式文件存储数据库中的相应的集合文档中;
[0009]对存储到所述分布式文件存储数据库中的访问日志进行分解并找出该访问日志中的有效日志信息,将有效日志信息与该访问日志建立映射关系;
[0010]对该访问日志下的所有有效日志信息进行化简操作,输出化简后的有效日志信息,根据所述化简后的有效日志信息,输出该访问日志下的以访问为主键的点击量和对应的流量中间数据的值,或输出该访问日志下的以访问和会话身份为主键的独立访客数量和对应的流量中间数据的值。
[0011]优选地,所述有效日志信息,包括:mobile字段、url字段、query字段和/或op字段。
[0012]优选地,将有效日志信息与该访问日志建立映射关系,进一步为:将所述mobile字段、url字段、query字段和/或op字段的对应值通过所述分布式文件存储数据库中的分布式计算中设定的该访问日志的特征值建立映射关系。
[0013]优选地,以小时为单位存储到所述分布式文件存储数据库中的相应的集合文档中,进一步为:以小时为单位,按照格式为日志通量yyyyMMddHH的方式存储到所述分布式文件存储数据库中的相应的集合文档中。
[0014]优选地,对该访问日志下的所有有效日志信息进行化简操作,输出化简后的有效日志信息,根据所述化简后的有效日志信息,输出该访问日志下的以访问为主键的点击量和对应的流量中间数据的值,或输出该访问日志下的以访问和会话身份为主键的独立访客数量和对应的流量中间数据的值,进一步为:
[0015]对该访问日志下的所有有效日志信息进行化简操作,输出化简后的有效日志信息,根据所述化简后的有效日志信息以小时、天、周、月或年为单位,输出该访问日志下的以访问为主键的点击量和对应的流量中间数据的值,或输出该访问日志下的以访问和会话身份为主键的独立访客数量和对应的流量中间数据的值。
[0016]为解决上述技术问题,本申请还提供了一种基于分布式文件存储的网站页面内容统计的系统,其特征在于,包括:采集访问日志模块、查找分析模块和化简统计模块;其中,
[0017]所述采集访问日志模块,将所述访问日志存入分布式文件存储数据库中,以小时为单位存储到所述分布式文件存储数据库中的相应的集合文档中;
[0018]所述查找分析模块,对存储到所述分布式文件存储数据库中的访问日志进行分解并找出该访问日志中的有效日志信息,将有效日志信息与该访问日志建立映射关系发送给所述化简统计模块;
[0019]所述化简统计模块,对该访问日志下的所有有效日志信息进行化简操作,输出化简后的有效日志信息,根据所述化简后的有效日志信息,输出该访问日志下的以访问为主键的点击量和对应的流量中间数据的值,或输出该访问日志下的以访问和会话身份为主键的独立访客数量和对应的流量中间数据的值。
[0020]优选地,所述有效日志信息,包括:m0bile字段、url字段、query字段和/或op字段。
[0021]优选地,所述查找分析模块,进一步为:对存储到所述分布式文件存储数据库中的访问日志进行分解并找出该访问日志中的mobile字段、url字段、query字段和/或op字段,将所述mobile字段、url字段、query字段和/或op字段的对应值通过所述分布式文件存储数据库中的分布式计算中设定的该访问日志的特征值建立映射关系发送给所述化简统计模块。
[0022]优选地,所述采集访问日志模块,进一步为:将所述访问日志存入分布式文件存储数据库中,以小时为单位,按照格式为日志通量yyyyMMddHH的方式存储到所述分布式文件存储数据库中的相应的集合文档中。
[0023]优选地,所述化简统计模块,进一步为对该访问日志下的所有有效日志信息进行化简操作,输出化简后的有效日志信息,根据所述化简后的有效日志信息以小时、天、周、月或年为单位,输出该访问日志下的以访问为主键的点击量和对应的流量中间数据的值,或输出该访问日志下的以访问和会话身份为主键的独立访客数量和对应的流量中间数据的值。
[0024]与现有技术相比,本申请所述的一种基于分布式文件存储的网站页面内容统计的方法和系统,达到了如下效果:
[0025]I)本申请所述的技术方案解决了根据业务类型方便的组合查询条件进行网站的PV、UV统计的问题,可以实现按天、按周、按月或者按年生成统计报表;
[0026]2)本申请所述的技术方案更主要是通过将分散的文本日志统一到分布式文件存储数据库进行日志等分析,在进行化简最后合并生成可以实现按天、按周、按月或者按年生成统计报表。
【专利附图】

【附图说明】
[0027]此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
[0028]图1为本申请实施例一所述的基于分布式文件存储的网站页面内容统计的方法的流程示意框图;
[0029]图2为本申请实施例二所述的基于分布式文件存储的网站页面内容统计的系统的结构框图。
[0030]图3为本申请实施例一中所述分布式文件存储数据库中的相应的集合文档的存储格式图。
【具体实施方式】
[0031]如在说明书及权利要求当中使用了某些词汇来指称特定组件。本领域技术人员应可理解,硬件制造商可能会用不同名词来称呼同一个组件。本说明书及权利要求并不以名称的差异来作为区分组件的方式,而是以组件在功能上的差异来作为区分的准则。如在通篇说明书及权利要求当中所提及的“包含”为一开放式用语,故应解释成“包含但不限定于”。“大致”是指在可接受的误差范围内,本领域技术人员能够在一定误差范围内解决所述技术问题,基本达到所述技术效果。此外,“耦接”一词在此包含任何直接及间接的电性耦接手段。因此,若文中描述一第一装置耦接于一第二装置,则代表所述第一装置可直接电性耦接于所述第二装置,或通过其他装置或耦接手段间接地电性耦接至所述第二装置。说明书后续描述为实施本申请的较佳实施方式,然所述描述乃以说明本申请的一般原则为目的,并非用以限定本申请的范围。本申请的保护范围当视所附权利要求所界定者为准。
[0032]以下结合附图对本申请作进一步详细说明,但不作为对本申请的限定。
[0033]实施例一
[0034]如图1所示,是本申请实施例一所述的一种基于分布式文件存储的网站页面内容统计的方法流程,该方法包括:[0035]步骤101,采集访问日志,并将所述访问日志存入分布式文件存储数据库中,以小时为单位存储到所述分布式文件存储数据库中的相应的集合文档中;
[0036]步骤102,对存储到所述分布式文件存储数据库中的访问日志进行分解并找出该访问日志中的有效日志信息,将有效日志信息与该访问日志建立映射关系;
[0037]步骤103,对该访问日志下的所有有效日志信息进行化简操作,输出化简后的有效日志信息,根据所述化简后的有效日志信息,输出该访问日志下的以访问为主键的点击量和对应的流量中间数据的值,或输出该访问日志下的以访问和会话身份为主键的独立访客数量和对应的流量中间数据的值。
[0038]实际上,在步骤101中所述的分布式文件存储数据库采用Mongodb数据库,以小时为单位,按照格式为日志通量(log_flux) yyyyMMddHH的方式存储到所述分布式文件存储数据库中的相应的集合文档中。
[0039]步骤101中所采集的访问日志的格式包括:访问时间、远程访问的主机地址(IP)、请求的方法、请求的URI路径、响应的状态码、发送的字节数、处理请求的时间、参照页(Referer) URI路径、用户代理(User-Agent)、用户唯一标记和用户的会话令牌(SessionID)。另外如图3所示,为所述分布式文件存储数据库中的相应的集合文档的存储格式。其中包括的参数的说明为:
[0040]_id:采用日志文件绝对路径+日志行号最为唯一标记。
[0041]head
[0042]1gFile:日志文件绝对路径
[0043]row:日志行号
[0044]body
[0045]dateTime:方法时间
[0046]remoteIp ;远程访问的主机IP
[0047]visit:请求路径信息
[0048]url:请求的URI路径
[0049]type:URI 类型(js、css、jsp 等)
[0050]query:请求参数列表
[0051]method:请求的方法
[0052]status:响应的状态码
[0053]sentBytes:发送的字节数
[0054]responseTime:处理请求的时间
[0055]referrer:来源路径信息
[0056]url:请求的URI路径
[0057]type:URI 类型(js、css、jsp 等)
[0058]query:请求参数列表
[0059]userAgent:User-Agent 头信息
[0060]userid:用户唯一标记
[0061]jsessionid:用户的 Session ID
[0062]对于步骤102中所述有效日志信息,主要包括:m0bile字段、url字段、query字段和/或op字段。
[0063]将有效日志信息与该访问日志建立映射关系,进一步为:将所述mobile字段、url字段、query字段和/或op字段的对应值通过所述分布式文件存储数据库中的分布式计算中设定的该访问日志的特征值建立映射关系。
[0064]本发明中在步骤102和103中主要是通过MongoDB支持MapReduce来完成分解和化简等的操作。
[0065]MapReduce是一种计算模型,将大批量的工作(数据)分解(MAP)执行,然后再将结果合并成最终结果(REDUCE)。这样做的好处是可以在任务被分解后,可以通过大量机器进行并行计算,减少整个操作的时间。本发明中使用MapReduce对原始网站的访问日志信息进行分解;然后,在采用MongoDB提供的api接口使用MapReduce功能对该MongoDB中存储的对象(集合文档)进行分析(分析日志中的有效日志信息,如“mobile”、“Url”、“qUery”、“op “等对应值,找到有效值与其建立映射既是MapReduce中Map的功能设定特征值建立必要信息映射)、化简(针对获取到的所有有效信息字段对应的有效值进行计算。既是MapReduce中的Reduce的功能),得到最后统计使用的必要数据,同时删除多余数据信息。
[0066]对于步骤103中的输出该访问日志下的以访问为主键的点击量和对应的流量中间数据的值,或输出该访问日志下的以访问和会话身份为主键的独立访客数量和对应的流量中间数据的值;在实施例一中,输出该访问日志下的以访问为主键的点击量和对应的流量中间数据的值,为以visit为主键的PV、流量中间数据其中主要包括:url字段、query字段、type字段和value字段等内容。
[0067]输出该访问日志下的以访问和会话身份为主键的独立访客数量和对应的流量中间数据的值,为以visit、jsessionid为主键的UV、流量中间数据其中主要包括:url字段、type字段、query字段、mobil·e字段和value字段等内容。
[0068]另外,还需要说明的是:如以广告为例:那么广告pv、UV统计,在所有广告链接点击产生的日志信息中都包含adid=?这个特征值,那么所有日志信息中包含adid= ?这个特征值的即为广告日志信息类别,该特征定义为“adid是否在日志中存在”。其他特征值还有渠道平台特征,如:访问渠道是网页访问wep、还是手机访问wap在日志信息中都与其具体特征“web”或者“wap”相关联;分类条件是通过MongoDB的MapReduce和Group(聚合),对相同特征的单元进行分组计算得到聚合结果集。每个针对具体类别的业务需求,对该类特征的值进行分组聚合计算。例如:广告Uv统计,包含adid=4的广告url访问信息按访问手机号group之后被聚合成一个mongodb数据对象,访问信息条数被写在聚合结果数据的value值中。广告pv统计,Goupe之后的mongodb数据对象。进一步设置条件进行mapReduce计算获取到广告Uv统计结果为adid=4的mongodb数据对象的个数,记为count值,本例中为2个mongodb数据对象,记为2。Pv统计的group过程是,根据adid=4的值进行group,最后mapreduce计算获取到广告pv统计结果为adid=4的mongo数据对象中count字段值的和。上述内容中的参数只是一个实施例的应用,并不作为具体限定内容。
[0069]实施例二
[0070]本发明实施例二为一种基于分布式文件存储的网站页面内容统计的系统,其特征在于,包括:采集访问日志模块201、查找分析模块202和化简统计模块203 ;其中,
[0071]所述采集访问日志模块201,与分布式文件存储数据库相耦接,用于采集访问日志,并将所述访问日志存入分布式文件存储数据库中,以小时为单位存储到所述分布式文件存储数据库中的相应的集合文档中;
[0072]所述查找分析模块202,与所述分布式文件存储数据库和化简统计模块203相耦接,用于对存储到所述分布式文件存储数据库中的访问日志进行分解并找出该访问日志中的有效日志信息,将有效日志信息与该访问日志建立映射关系发送给所述化简统计模块;
[0073]所述化简统计模块203,与所述查找分析模块202相耦接,用于对该访问日志下的所有有效日志信息进行化简操作,输出化简后的有效日志信息,根据所述化简后的有效日志信息,输出该访问日志下的以访问为主键的点击量和对应的流量中间数据的值,或输出该访问日志下的以访问和会话身份为主键的独立访客数量和对应的流量中间数据的值。
[0074]其中,实施例二中所述的有效日志信息,包括:mobile字段、url字段、query字段和/或op字段等内容,这里不作具体限定,具体内容与前述方法限定的相一致。
[0075]具体地,在实施例二中所述查找分析模块,进一步为:对存储到所述分布式文件存储数据库中的访问日志进行分解并找出该访问日志中的mobile字段、url字段、query字段和/或op字段,将所述mobile字段、url字段、query字段和/或op字段的对应值通过所述分布式文件存储数据库中的分布式计算中设定的该访问日志的特征值建立映射关系发送给所述化简统计模块。
[0076]具体地,在实施例二中所述采集访问日志模块,进一步为:将所述访问日志存入分布式文件存储数据库中,以小时为单位,按照格式为日志通量yyyyMMddHH的方式存储到所述分布式文件存储数据库中的相应的集合文档中。
[0077]具体地,在实施例二中所述化简统计模块,进一步为对该访问日志下的所有有效日志信息进行化简操作,输出化简后的有效日志信息,根据所述化简后的有效日志信息以小时、天、周、月或年为单位,输出该访问日志下的以访问为主键的点击量和对应的流量中间数据的值,或输出该访问日志下的以访问和会话身份为主键的独立访客数量和对应的流量中间数据的值。
[0078]由于方法部分已经对本申请实施例一进行了详细描述,这里对实施例二中涉及的系统与方法对应部分的展开描述省略,不再赘述。对于系统中具体内容的描述可参考实施例一所述方法的内容,这里不再具体限定。
[0079]与现有技术相比,本申请所述的一种基于分布式文件存储的网站页面内容统计的方法和系统,达到了如下效果:
[0080]I)本申请所述的技术方案解决了根据业务类型方便的组合查询条件进行网站的PV、UV统计的问题,可以实现按天、按周、按月或者按年生成统计报表;
[0081]2)本申请所述的技术方案更主要是通过将分散的文本日志统一到分布式文件存储数据库进行日志等分析,在进行化简最后合并生成可以实现按天、按周、按月或者按年生成统计报表。
[0082]上述说明示出并描述了本申请的若干优选实施例,但如前所述,应当理解本申请并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、修改和环境,并能够在本文所述申请构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本申请的精神和范围,则都应在本申请所附权利要求的保护范围内。
【权利要求】
1.一种基于分布式文件存储的网站页面内容统计的方法,其特征在于,包括: 采集访问日志,并将所述访问日志存入分布式文件存储数据库中,以小时为单位存储到所述分布式文件存储数据库中的相应的集合文档中; 对存储到所述分布式文件存储数据库中的访问日志进行分解并找出该访问日志中的有效日志信息,将有效日志信息与该访问日志建立映射关系; 对该访问日志下的所有有效日志信息进行化简操作,输出化简后的有效日志信息,根据所述化简后的有效日志信息,输出该访问日志下的以访问为主键的点击量和对应的流量中间数据的值,或输出该访问日志下的以访问和会话身份为主键的独立访客数量和对应的流量中间数据的值。
2.如权利要求1所述的基于分布式文件存储的网站页面内容统计的方法,其特征在于,所述有效日志信息,包括mobile字段、url字段、query字段和/或op字段。
3.如权利要求2所述的基于分布式文件存储的网站页面内容统计的方法,其特征在于,将有效日志信息与该访问日志建立映射关系,进一步为:将所述mobile字段、url字段、query字段和/或op字段的对应值通过所述分布式文件存储数据库中的分布式计算中设定的该访问日志的特征值建立映射关系。
4.如权利要求1所述的基于分布式文件存储的网站页面内容统计的方法,其特征在于,以小时为单位存储到所述分布式文件存储数据库中的相应的集合文档中,进一步为:以小时为单位,按照格式为日志通量yyyyMMddHH的方式存储到所述分布式文件存储数据库中的相应的集合文档中。
5.如权利要求1所述的基于分布式文件存储的网站页面内容统计的方法,其特征在于,对该访问日志下的所有有效日志信息进行化简操作,输出化简后的有效日志信息,根据所述化简后的有效日志信息,输出该访问日志下的以访问为主键的点击量和对应的流量中间数据的值,或输出该访问日`志下的以访问和会话身份为主键的独立访客数量和对应的流量中间数据的值,进一步为: 对该访问日志下的所有有效日志信息进行化简操作,输出化简后的有效日志信息,根据所述化简后的有效日志信息以小时、天、周、月或年为单位,输出该访问日志下的以访问为主键的点击量和对应的流量中间数据的值,或输出该访问日志下的以访问和会话身份为主键的独立访客数量和对应的流量中间数据的值。
6.一种基于分布式文件存储的网站页面内容统计的系统,其特征在于,包括:采集访问日志模块、查找分析模块和化简统计模块;其中, 所述采集访问日志模块,将所述访问日志存入分布式文件存储数据库中,以小时为单位存储到所述分布式文件存储数据库中的相应的集合文档中; 所述查找分析模块,对存储到所述分布式文件存储数据库中的访问日志进行分解并找出该访问日志中的有效日志信息,将有效日志信息与该访问日志建立映射关系发送给所述化简统计模块; 所述化简统计模块,对该访问日志下的所有有效日志信息进行化简操作,输出化简后的有效日志信息,根据所述化简后的有效日志信息,输出该访问日志下的以访问为主键的点击量和对应的流量中间数据的值,或输出该访问日志下的以访问和会话身份为主键的独立访客数量和对应的流量中间数据的值。
7.如权利要求6所述的基于分布式文件存储的网站页面内容统计的系统,其特征在于,所述有效日志信息,包括mobile字段、url字段、query字段和/或op字段。
8.如权利要求7所述的基于分布式文件存储的网站页面内容统计的系统,其特征在于,所述查找分析模块,进一步为:对存储到所述分布式文件存储数据库中的访问日志进行分解并找出该访问日志中的mobile字段、url字段、query字段和/或op字段,将所述mobile字段、url字段、query字段和/或op字段的对应值通过所述分布式文件存储数据库中的分布式计算中设定的该访问日志的特征值建立映射关系发送给所述化简统计模块。
9.如权利要求6所述的基于分布式文件存储的网站页面内容统计的系统,其特征在于,所述采集访问日志模块,进一步为:将所述访问日志存入分布式文件存储数据库中,以小时为单位,按照格式为日志通量yyyyMMddHH的方式存储到所述分布式文件存储数据库中的相应的集合文档中。
10.如权利要求6所述的基于分布式文件存储的网站页面内容统计的系统,其特征在于,所述化简统计模块,进一步为对该访问日志下的所有有效日志信息进行化简操作,输出化简后的有效日志信息,根据所述化简后的有效日志信息以小时、天、周、月或年为单位,输出该访问日志下的以访问为主键的点击量和对应的流量中间数据的值,或输出该访问日志下的以访问和会话身份为主键的独立访客数量和对应的流量中间数据的值。
【文档编号】G06F17/30GK103729479SQ201410038246
【公开日】2014年4月16日 申请日期:2014年1月26日 优先权日:2014年1月26日
【发明者】瞿继合, 赵哲, 曹东, 李建涛 申请人:北京北纬通信科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1