日志分析方法和装置的制作方法

文档序号:7795828阅读:177来源:国知局
专利名称:日志分析方法和装置的制作方法
技术领域
本申请涉及互联网通信领域,具体而言,涉及一种日志分析方法和装置。
背景技术
随着互联网信息服务的发展,许多企业、公司、政府机关和学校等都已经拥有或正在建成自己的网站。对于网站的管理,要求我们不仅要关注服务器每天的吞吐量,还要进一步了解网站各网页的访问情况,根据各网页的点击频率来改善网页的内容和质量,提高内容的可读性,因此,网站管理人员需要及时获知日志文件的分析结果。目前,现有的点击流日志分析就是收集、整理、分析、统计网站的Web服务器日志,挖掘隐含在其内部的商业价值,并将描述用户行为的数据转换为决策者可以利用的有效信息,为网站经营者提供决策支持。而所谓点击流,就是访客在网站持续访问的点击轨迹,当访客浏览网页时,网站的Web服务器的日志文件会相应地记录该访客点击的信息。点击流与传统商业模式不同,在传统商业模式下,Web用户与网站信息提供者之间不存在直接的信息沟通和反馈渠道,例如,什么样的信息最受用户欢迎,网页内容增删对用户点击量有何影响,因此,网站的管理者无法根据网站各网页的访问情况来改善网页的内容和质量。可见,现有的点击流日志分析虽然可以挖掘隐含在其内部的商业价值,为网站经营者提供决策支持,但是,上述点击流日志分析的日志解析粒度为按天分析,在随着上网人数的不断增加,网站的访问量从十万、百万级别上升到千万、上亿级别,web服务器的日志文件的数量也从几十MB上升到几十GB,甚至达到TB的数量级,相应地对日志文件的统计和分析的时间要求也越来越高,因此,按天分析的点击流日志分析可能存在一些缺点,例如:I)从主机压力的角度来看,按天分析的主机CPU/10/MEM压力、数据库压力都比较集中,不同场景下可能出现“忙的时候忙死,闲的时候闲死”的状态,不能实现将主机资源、数据库资源在一天中均衡地使用;2)从数据时效的角度来看,随着业务的演变,数据的时效性已经不能仅仅满足于按天分析,比如,广告投放效果数据,如按天分析,数据则按天更新,分析结果也要基于一天的数据量才能分析得出,远远不能满足不同业务所要求的数据时效性;3)从维护成本的角度来说,按天分析如果中间异常出错,则需要全量回滚重新处理,比如,日志下载失败,则需要重新处理一天全量数据,大大地增加了工作量,并且会引起数据延迟。

发明内容
本申请提供了一种日志分析方法和装置,以至少解决现有技术中的不能实时地分析日志文件以及系统资源使用不均衡的问题。根据本申请的一个方面,提供了一种日志分析方法,其包括:采集网站日志服务器集群生成的日志文件;以预定的间隔周期对采集的日志文件进行以会话为单位的基于分布式的点击流日志分析,其中,间隔周期使得用于分析日志文件的系统的资源在一天中得到平均地使用;根据点击流日志分析得到的分析结果生成分析报告,其中,分析报告用于根据分析结果对与日志文件对应的网站结构进行相应的调整。优选地,间隔周期为I小时。优选地,以预定的间隔周期以会话为单位对采集的日志文件进行基于分布式的点击流日志分析的步骤包括:将采集的日志文件进行解码,从解码后的日志文件中去除错误日志与无效日志,并将去除了错误日志与无效日志之后的日志文件中的日志的日志格式转换成统一的日志格式;以会话为单位对转换成统一的日志格式的日志文件进行基于分布式的点击流日志分析,输出事实表的待入库文件。优选地,将采集的日志文件进行解码的步骤包括:按行读取采集的日志文件中的日志;根据日志来源标识选择设定的字段分解规则对所读取的日志进行字段分解,去除不符合字段分解规则的错误日志;根据设定的过滤规则和字段的字段值从分解之后得到的日志文件中的日志中过滤出非人为访问引起的日志、公司内网访问的日志;根据设定的日志输出格式对过滤后的日志文件中的日志统一日志输出格式;根据设定的业务类型对输出的日志文件进行按业务分拣,不同业务的日志输出到不同的路径。优选地,以会话为单位对转换成统一的日志格式的日志文件进行基于分布式的点击流日志分析的步骤包括:获取转换成统一的日志格式的日志文件以及上一个间隔周期会话未关闭的日志文件;将获取的日志文件中属于同一个用户标识的日志文件分为一组,并在每个组中将网页点击时间间隔不超过预定间隔的相邻的日志划分为同一个会话中的日志文件;判断划分得到的会话是否关闭,若会话已关闭,则对已关闭的会话内的日志文件进行点击流日志分析;若会话未关闭,则按照已关闭的会话内的日志文件的分析机制对未关闭的会话内的日志文件进行分析,通过输出标识以区分未关闭会话与已关闭会话不同的分析结果,同时将会话未关闭的日志另外保存一份,供下一个间隔周期进行分析。优选地,在每个组中将网页点击间隔不超过预定间隔的相邻的日志划分为同一个会话中的日志文件的步骤包括:按照网页点击时间对每个组中的日志文件进行排序;以组为单位按照排序后的顺序对排序后的每个组中的每个日志文件执行以下步骤:判断一个排序后的组中当前处理的日志文件的网页点击时间与该组中上一个日志文件的网页点击时间之间的间隔是否超过预定间隔,其中,上一个日志文件被划分为上一个会话中的日志文件;若超过预定间隔,则创建一个当前会话,为当前会话分配一个全局唯一的会话标识,并将当前处理的日志文件划分为当前会话中的日志文件;若未超过预定间隔,则将当前处理的日志文件划分为上一个会话中的日志文件。优选地,判断划分得到的会话是否关闭的步骤包括:若当前日志分析基准时间超过或等于会话所在的当天时间的结束时刻,则判断出会话关闭;或者若会话对应的用户标识最后一次网页点击时间距当前日志分析基准时间超过预定间隔,则判断出会话关闭,其中,当前日志分析基准时间为当前间隔所在时间段的结束时间。优选地,通过以下步骤来保存当前间隔周期上经点击流日志分析得到的分析结果集:在数据库中使用第一套表保存已关闭会话的分析结果集,其中,第一套表保存所有已关闭会话的分析结果集;在数据库中使用第二套表保存未关闭的会话的分析结果集,其中,第二套保存当前间隔周期内所有未关闭会话的分析结果集;在当前间隔周期上从第一套表中的会话对应的日志文件中提取出所需的参数,并在已关闭会话的会话标识与提取出的参数之间建立映射关系;其中,未关闭的会话中的部分会话在当前间隔周期之后的间隔周期上转换为已关闭的会话。优选地,为当前会话分配一个全局唯一的会话标识的步骤包括:按天为当前会话分配全局唯一的会话标识,其中,不同日期分配的会话标识相同或不同;在点击流分析中动态为当前会话分配全局唯一的会话标识,其中,会话标识的唯一性与间隔周期的长短、分布式计算节点的个数不相关。优选地,以预定的间隔周期对采集的日志文件进行以会话为单位的基于分布式的点击流日志分析之后,上述日志分析方法还包括:获取点击流日志分析的分析结果;根据获取的分析结果生成分析报告,其中,分析报告用于根据分析结果对与日志文件对应的网站结构进行相应的调整。根据本申请的另一方面,提供了一种日志分析装置,其包括:采集单元,用于采集网站日志服务器集群生成的日志文件;分析单元,用于以预定的间隔周期对采集的日志文件进行以会话为单位的基于分布式的点击流日志分析,其中,间隔周期使得用于分析日志文件的系统的资源在一天中得到平均地使用;生成单元,用于根据点击流日志分析得到的分析结果生成分析报告,其中,分析报告用于根据分析结果对与日志文件对应的网站结构进行相应的调整。优选地,分析单元包括:解码模块,用于对采集的日志文件进行解码,从解码后的日志文件中去除错误日志与无效日志,并将去除了错误日志与无效日志之后的日志文件中的日志的日志格式转换成统一的日志格式;分析模块,用于以会话为单位对转换成统一的日志格式的日志文件进行基于分布式的点击流日志分析,输出事实表的待入库文件。优选地,解码模块包括:读取子模块,用于按行读取所述采集的日志文件中的日志;分解子模块,用于根据日志来源标识选择设定的字段分解规则对所读取的日志进行字段分解,去除不符合字段分解规则的错误日志;过滤子模块,用于根据设定的过滤规则和字段的字段值从分解之后得到的日志文件中的日志中过滤出非人为访问引起的日志、公司内网访问的日志;输出子模块,用于根据设定的日志输出格式对过滤后的日志文件中的日志统一日志输出格式;分拣子模块,用于根据设定的业务类型对输出的日志文件进行按业务分拣,不同业务的日志输出到不同的路径。优选地,过滤子模块包括:规则解析子模块,用于加载过滤规则,初始化过滤函数;规则判断子模块,用于根据日志分解的字段值,判断是否符合所加载的过滤规则中的一条过滤规则。优选地,分析模块包括:获取子模块,用于获取转换成统一的日志格式的日志文件以及上一个间隔周期会话未关闭的日志文件;分组子模块,用于将获取的日志文件中属于同一个用户标识的日志文件分为一组,并在每一个组中将网页点击时间间隔不超过预定间隔的相邻的日志划分为同一个会话中的日志文件;会话子模块,用于判断划分得到的会话是否关闭,若会话已关闭,则对已关闭的会话内的日志文件进行分析;若会话未关闭,则按照已关闭的会话内的日志文件的分析机制对未关闭的会话内的日志文件进行分析,通过输出标识以区分未关闭会话与已关闭会话不同的分析结果,同时,将会话未关闭的日志另外保存一份,供下一个间隔周期进行分析。优选地,分组子模块包括:排序子模块,用于按照网页点击时间对每个组中的日志文件进行排序;第一判断子模块,用于以组为单位按照排序后的顺序对排序后的每个组中的每个日志文件进行判断,判断一个排序后的组中当前处理的日志文件的网页点击时间与该组中上一个日志文件的网页点击时间之间的间隔是否超过预定间隔,其中,上一个日志文件被划分为上一个会话中的日志文件;创建子模块,用于在判断出超过预定间隔时,创建一个当前会话,为当前会话分配一个全局唯一的会话标识,并将当前处理的日志文件划分为当前会话中的日志文件;划分子模块,用于在判断出未超过预定间隔时,将当前处理的日志文件划分为上一个会话中的日志文件。优选地,会话子模块包括:第二判断子模块,用于在当前日志分析基准时间超过或等于会话所在的当天时间的结束时刻时,判断出会话关闭;或者第三判断子模块,用于在会话对应的用户标识最后一次网页点击时间距当前日志分析基准时间超过预定间隔时,判断出会话关闭,其中,当前日志分析基准时间为当前间隔所在时间段的结束时间。优选地,会话子模块还包括:第一保存子模块,用于在数据库中使用第一套表保存已关闭会话的分析结果集,其中,第一套表保存所有已关闭会话的分析结果集;第二保存子模块,用于在数据库中使用第二套表保存未关闭会话的分析结果集,其中,第二套表保存当前间隔周期内所有未关闭会话的分析结果集;其中,未关闭的会话中的部分会话在当前间隔周期之后的间隔周期上转换为已关闭的会话;维表更新子模块,用于识别当前间隔周期的点击流日志分析中新增的度量,并更新到维表中,其中,新增的度量用于当前间隔周期的点击流日志分析。优选地,上述日志分析装置还包括:获取单元,用于在以预定的间隔周期对采集的日志文件进行以会话为单位的基于分布式的点击流日志分析之后,获取点击流日志分析的分析结果;生成单元,用于根据获取的分析结果生成分析报告,其中,所述分析报告用于根据分析结果对与日志文件对应的网站结构进行相应的调整。在本申请中,每隔预定周期以会话为单位对采集的日志文件进行分析,在改善日志文件分析的时效性的同时将分析日志文件的系统的资源在一天中平均地在每个预定周期中使用,解决了现有技术中的不能实时地分析日志文件、系统资源使用不均衡的问题,从而提高了日志分析的时效性,合理均衡地使用了系统的资源。


此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:图1是根据本申请实施例的日志分析系统的一种优选的结构图;图2是根据本申请实施例的日志分析装置的一种优选的结构图;图3是根据本申请实施例的分析单元的一种优选的结构图;图4是根据本申请实施例的解码模块的一种优选的结构图;图5是根据本申请实施例的过滤子模块的一种优选的结构图;图6是根据本申请实施例的分析模块的一种优选的结构图;图7是根据本申请实施例的分组子模块的一种优选的结构图;图8是根据本申请实施例的会话子模块的一种优选的结构图;图9是根据本申请实施例的会话子模块的另一种优选的结构图10是根据本申请实施例的日志分析装置的另一种优选的结构图;图11是根据本申请实施例的日志分析方法的一种优选的流程图;图12是根据本申请实施例的日志分析方法的另一种优选的流程图。
具体实施例方式下文中将参考附图并结合实施例来详细说明本申请。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。在描述本申请的各实施例的进一步细节之前,将参考图1来描述可用于实现本申请的原理的一个合适的计算体系结构。在以下描述中,除非另外指明,否则将参考由一个或多个计算机执行的动作和操作的符号表示来描述本申请的各实施例。由此,可以理解,有时被称为计算机执行的这类动作和操作包括计算机的处理单元对以结构化形式表示数据的电信号的操纵。这一操纵转换了数据或在计算机的存储器系统中的位置上维护它,这以本领域的技术人员都理解的方式重配置或改变了计算机的操作。维护数据的数据结构是具有数据的格式所定义的特定属性的存储器的物理位置。然而,尽管在上述上下文中描述本申请,但它并不意味着限制性的,如本领域的技术人员所理解的,后文所描述的动作和操作的各方面也可用硬件来实现。转向附图,其中相同的参考标号指代相同的元素,本申请的原理被示为在一个合适的计算环境中实现。以下描述基于所述的本申请的实施例,并且不应认为是关于此处未明确描述的替换实施例而限制本申请。图1示出了可用于这些设备的一个示例计算机体系结构的示意图。出于描述的目的,所绘的体系结构仅为合适环境的一个示例,并非对本申请的使用范围或功能提出任何局限。也不应将该计算系统解释为对图1所示的任一组件或其组合具有任何依赖或需求。本申请的原理可以使用其它通用或专用计算或通信环境或配置来操作。适用于本申请的众所周知的计算系统、环境和配置的示例包括但不限于,个人计算机、服务器,多处理器系统、基于微处理的系统、小型机、大型计算机、以及包括任一上述系统或设备的分布式计算环境。在其最基本的配置中,图1中的日志分析系统100至少包括:一个网站应用服务器集群102、网站日志服务器集群104、日志分析服务器集群106以及一个或多个客户端108。网站应用服务器集群102、网站日志服务器集群104和日志分析服务器集群106可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置、用于存储数据的存储装置以及与客户端通信的传输装置;客户端108可以包括:微处理器MCU、与服务器通信的传输装置、与用户交互的显示装置。在本说明书和权利要求书中,“日志分析系统”也可以被定义为能够执行软件、固件或微码来实现功能的任何硬件组件或硬件组件的组合。日志分析系统100甚至可以是分布式的,以实现分布式功能。如本申请所使用的,术语“模块”、“组件”或“单元”可以指在日志分析系统100上执行的软件对象或例程。此处所描述的不同组件、模块、单元、引擎和服务可被实现为在日志分析系统100上执行(例如,作为单独的线程)的对象或进程。尽管此处所描述的系统和方法较佳地以软件来实现,但是硬件或软件和硬件的组合的实现也是可能并被构想的。如图1所示,日志分析系统100包括:一个网站应用服务器集群102、网站日志服务器集群104、日志分析服务器集群106以及一个或多个客户端108。在工作过程中,客户端108通过用户浏览器打开网站的网页;网站应用服务器集群102响应客户端108的访问请求;客户端108上的用户浏览器接受网站应用服务器集群102返回的响应,并向网站日志服务器集群104发送请求;网站日志服务器集群104记录用户的请求日志;日志分析服务器集群106采集网站日志服务器集群104记录的日志,并以预定的间隔周期以会话为单位对采集的日志做点击流日志分析。进一步地,上述实施例中的会话可以为客户端108和网站日志服务器集群104之间的会话,实现将日志文件以会话为单位进行点击流日志分析,以便提高点击流日志分析的效率和准确度。在上述优选的实施例中,以预定的间隔周期以会话为单位对采集的日志文件进行点击流日志分析,在改善日志文件分析的时效性的同时将分析日志文件的系统的资源在一天中平均地在每个预定周期中使用,从而提高了日志分析的时效性,合理均衡地使用了系统的资源;同时,可以将分析结果生成分析报告,以便于根据分析结果对与日志文件对应的网站结构进行相应的调整,提高分析结果的使用价值。 在以下各个实施例中,通信可以由无线连接或有线连接或其两者的组合来实现,本申请对此不做限定。实施例1基于上述优选的实施例,本申请提供了一种优选的日志分析装置,以便达到提高日志分析的时效性,合理均衡地使用系统的资源的技术效果,优选的,本实施例中的日志分析装置可以设置在图1中的日志分析服务器集群106中。为了实现上述目的,具体地,如图2所示,上述日志分析装置包括:采集单元202,用于采集网站日志服务器集群生成的日志文件;分析单元204,与采集单元202通信,用于以预定的间隔周期对采集的日志文件进行以会话为单位的基于分布式的点击流日志分析,其中,间隔周期使得用于分析日志文件的系统的资源在一天中得到平均地使用。在上述优选的实施例中,以预定的间隔周期以会话为单位对采集的日志文件进行点击流日志分析,在改善日志文件分析的时效性的同时将分析日志文件的系统的资源在一天中平均地在每个预定周期中使用,解决了现有技术中的不能实时地分析日志文件、不能均衡地使用系统的资源的问题,从而提高了日志分析的时效性,合理均衡地使用了系统的资源。进一步地,在上述各实施例的基础上,本申请中的间隔周期可以是但不限于I小时,根据不同需求还可以是30分钟、2小时等,以便提高日志分析的时效性,同时,当日志文件或分析结果出现错误时,可以针对出现错误的预定周期进行重新处理数据或重新分析,以减少工作量。在上述各实施例的基础上,本申请提供了一种优选的分析单元204,以便提高分析效率,提高分析结果的准确性。为了实现上述目的,具体地,如图3所示,上述分析单元204包括:解码模块302,用于对采集的日志文件进行解码,从解码后的日志文件中去除错误日志与无效日志,并将去除了错误日志与无效日志之后的日志文件中的日志的日志格式转换成统一的日志格式;分析模块304,与解码模块302通信,用于以会话为单位对转换成统一的日志格式的日志文件进行基于分布式的点击流日志分析,输出事实表的待入库文件。在本实施例中,从解码后的日志文件中去除错误日志与无效日志,以便对日志文件进行分析,从而提高了分析的准确度;另外,以会话为单位对统一的日志格式的日志文件进行分析,提高了分析效率。在上述实施例的基础上,本申请提供了一种优选的解码模块302,以便提高分析效率,提高分析结果的准确性。为了实现上述目的,具体地,如图4所示,该解码模块302包括:读取子模块402,用于按行读取所述采集的日志文件中的日志;分解子模块404,与读取子模块402通信,用于根据日志来源标识选择设定的字段分解规则对所读取的日志进行字段分解,去除不符合字段分解规则的错误日志;过滤子模块406,与分解子模块404通信,用于根据设定的过滤规则和字段的字段值从分解之后得到的日志文件中的日志中过滤出非人为访问引起的日志、公司内网访问的日志;输出子模块408,与过滤子模块406通信,用于根据设定的日志输出格式对过滤后的日志文件中的日志统一日志输出格式;分拣子模块410,与输出子模块408通信,用于根据设定的业务类型对输出的日志文件进行按业务分拣,不同业务的日志输出到不同的路径。在本实施例中,根据设定的过滤规则和字段的字段值从分解之后得到的日志文件中的日志中过滤出非人为访问引起的日志、公司内网访问的日志,对去除了非人为访问引起的日志、公司内网访问的日志的日志文件进行分析,从而提高了分析结果的准确性,提高了分析结果的参考价值;另外,对过滤后的日志文件中的日志统一日志输出格式,并根据设定的业务类型对输出的日志文件进行分拣,以实现对从不同的采集源头采集得到的日志文件进行分拣并以统一的日志输出格式输出,从而有助于提高分析效率,提高分析结果的准确性。进一步地,上述实施例中的非人为访问引起的日志、公司内网访问的日志可以是爬虫等非人为引起的访问,公司内部人员以测试为目的的访问、iFrame浮动框架等等日志,在网站日志分析中,清洗无效访问可以提高日志分析的准确度。不管什么格式的日志,按照其既定的格式,总可以相应地截取其字段参数。假设visit_ip为用户访问的IP地址,对于上述两种格式的日志,可以截取出用户访问的IP地址,并保存在$ (visit_ip)参数中,以此类推,截取出其他的几个参数,保存在KEY = VALUE的结构体中。例如,日志解码定义的字段可以是如表I所示的形式。表I
权利要求
1.一种日志分析方法,其特征在于,包括: 采集网站日志服务器集群生成的日志文件; 以预定的间隔周期对采集的日志文件进行以会话为单位的基于分布式的点击流日志分析,其中,所述间隔周期使得用于分析所述日志文件的系统资源在一天中得到平均地使用。
2.根据权利要求1所述的方法,其特征在于,所述间隔周期为I小时。
3.根据权利要求1或2所述的方法,其特征在于,以预定的间隔周期以会话为单位对所述采集的日志文件进行基于分布式的点击流日志分析的步骤包括: 将所述采集的日志文件进行解码,从解码后的日志文件中去除错误日志与无效日志,并将去除了所述错误日志与无效日志之后的日志文件中的日志的日志格式转换成统一的日志格式; 以会话为单位对转换成统一的日志格式的日志文件进行基于分布式的点击流日志分析,输出事实表的待入库文件。
4.根据权利要求3所述的方法,其特征在于,将所述采集的日志文件进行解码的步骤包括:按行读取所述采集的日志文件中的日志; 根据日志来源标识选择设定的字段分解规则对所读取的日志进行字段分解,去除不符合字段分解规则的错误日志; 根据设定的过滤规则和字段的字段值从分解之后得到的日志文件中的日志中过滤出非人为访问引起的日志、公司内网访问的日志; 根据设定的日志输出格式对过滤后的日志文件中的日志统一日志输出格式; 根据设定的业务类型对输出的日志文件进行按业务分拣,不同业务的日志输出到不同的路径。
5.根据权利要求3所述的方法,其特征在于,以会话为单位对转换成统一的日志格式的日志文件进行基于分布式的点击流日志分析的步骤包括: 获取所述转换成统一的日志格式的日志文件以及上一个间隔周期会话未关闭的日志文件; 将获取的日志文件中属于同一个用户标识的日志文件分为一组,并在每个组中将网页点击时间间隔不超过预定间隔的相邻的日志划分为同一个会话中的日志文件; 判断划分得到的会话是否关闭,若会话已关闭,则对所述已关闭的会话内的日志文件进行点击流日志分析; 若会话未关闭,则按照所述已关闭的会话内的日志文件的分析机制对所述未关闭的会话内的日志文件进行分析,通过输出标识以区分所述未关闭会话与所述已关闭会话不同的分析结果,同时将会话未关闭的日志另外保存一份,供下一个间隔周期进行分析。
6.根据权利要求5所述的方法,其特征在于,在每个组中将网页点击时间间隔不超过预定间隔的相邻的日志划分为同一个会话中的日志文件的步骤包括: 按照网页点击时间对每个组中的日志文件进行排序; 以所述组为单位按照 所述排序后的顺序对排序后的每个组中的每个日志文件执行以下步骤: 判断一个排序后的组中当前处理的日志文件的网页点击时间与该组中上一个日志文件的网页点击时间之间的间隔是否超过所述预定间隔,其中,所述上一个日志文件被划分为上一个会话中的日志文件; 若超过所述预定间隔,则创建一个当前会话,为所述当前会话分配一个全局唯一的会话标识,并将所述当前处理的日志文件划分为所述当前会话中的日志文件; 若未超过所述预定间隔,则将所述当前处理的日志文件划分为所述上一个会话中的日志文件。
7.根据权利要求5所述的方法,其特征在于,判断划分得到的会话是否关闭的步骤包括: 若当前日志分析基准时间超过或等于所述会话所在的当天时间的结束时刻,则判断出所述会话关闭;或者 若所述会话对应的用户标识最后一次网页点击时间距当前日志分析基准时间超过预定间隔,则判断出所述会话关闭,其中,所述当前日志分析基准时间为当前间隔所在时间段的结束时间。
8.根据权利要求5所述的方法,其特征在于,通过以下步骤来保存当前间隔周期上经点击流日志分析得到的分析结果集: 在数据库中使用第一套表保存所述已关闭会话的分析结果集,其中,所述第一套表保存所有所述已关闭会话的分析结果集; 在数据库中使用第二套表保存所述未关闭会话的分析结果集,其中,所述第二套表保存当前间隔周期内所有所述未关闭会话的分析结果集; 在所述当前间隔周期上从所述第一套表中的会话对应的日志文件中提取出所需的参数,并在所述已关闭会话的会话标识与所述提取出的参数之间建立映射关系; 其中,所述未关闭的会话中的部分会话在所述当前间隔周期之后的间隔周期上转换为所述已关闭的会话。
9.根据权利要求6所述的方法,其特征在于,为所述当前会话分配一个全局唯一的会话标识的步骤包括: 按天为所述当前会话分配全局唯一的会话标识,其中,不同日期分配的会话标识相同或不同; 在点击流分析中动态为所述当前会话分配全局唯一的会话标识,其中,所述会话标识的唯一性与间隔周期的长短、分布式计算节点的个数不相关。
10.根据权利要求1所述的方法,其特征在于,以预定的间隔周期对采集的日志文件进行以会话为单位的基于分布式的点击流日志分析之后,还包括: 获取点击流日志分析的分析结果; 根据获取的分析结果生成分析报告,其中,所述分析报告用于根据分析结果对与日志文件对应的网站结构进行相应的调整。
11.一种日志分析装置,其特征在于,包括: 采集单元,用于采集网站日志服务器集群生成的日志文件; 分析单元,用于以预定的间隔周期对采集的日志文件进行以会话为单位的基于分布式的点击流日志分析,其中,所述间隔周期使得用于分析所述日志文件的系统的资源在一天中得到平均地使用。
12.根据权利要求11所述的装置,其特征在于,所述分析单元包括: 解码模块,用于对所述采集的日志文件进行解码,从解码后的日志文件中去除错误日志与无效日志,并将去除了所述错误日志与无效日志之后的日志文件中的日志的日志格式转换成统一的日志格式; 分析模块,用于以会话为单位对转换成统一的日志格式的日志文件进行基于分布式的点击流日志分析,输出事实表的待入库文件。
13.根据权利要求12所述的装置,其特征在于,所述解码模块包括: 读取子模块,用于按行读取所述采集的日志文件中的日志; 分解子模块,用于根据日志来源标识选择设定的字段分解规则对所读取的日志进行字段分解,去除不符合字段分解规则的错误日志; 过滤子模块,用于根据设定的过滤规则和字段的字段值从分解之后得到的日志文件中的日志中过滤出非人为访问引起的日志、公司内网访问的日志; 输出子模块,用于根据设定的日志输出格式对过滤后的日志文件中的日志统一日志输出格式; 分拣子模块,用于根据设定的业务类型对输出的日志文件进行按业务分拣,不同业务的日志输出到不同的路径。
14.根据权利要求13所述的装置,其特征在于,所述过滤子模块包括: 规则解析子模块,用于加载过滤规则,初始化过滤函数; 规则判断子模块,用 于根据日志分解的字段值,判断是否符合所加载的过滤规则中的一条过滤规则。
15.根据权利要求12所述的装置,其特征在于,所述分析模块包括: 获取子模块,用于获取所述转换成统一的日志格式的日志文件以及上一个间隔周期会话未关闭的日志文件; 分组子模块,用于将获取的日志文件中属于同一个用户标识的日志文件分为一组,并在每个组中将网页点击时间间隔不超过预定间隔的相邻的日志划分为同一个会话中的日志文件; 会话子模块,用于判断划分得到的会话是否关闭,若会话已关闭,则对所述已关闭的会话内的日志文件进行点击流日志分析; 若会话未关闭,则按照所述已关闭的会话内的日志文件的分析机制对所述未关闭的会话内的日志文件进行分析,通过输出标识以区分所述未关闭会话与所述已关闭会话不同的分析结果,同时,将会话未关闭的日志另外保存一份,供下一个间隔周期进行分析。
16.根据权利要求15所述的装置,其特征在于,所述分组子模块包括: 排序子模块,用于按照网页点击时间对每个组中的日志文件进行排序; 第一判断子模块,用于以所述组为单位按照所述排序后的顺序对排序后的每个组中的每个日志文件进行判断,判断一个排序后的组中当前处理的日志文件的网页点击时间与该组中上一个日志文件的网页点击时间之间的间隔是否超过所述预定间隔,其中,所述上一个日志文件被划分为上一个会话中的日志文件; 创建子模块,用于在判断出超过所述预定间隔时,创建一个当前会话,为所述当前会话分配一个全局唯一的会话标识,并将所述当前处理的日志文件划分为所述当前会话中的日志文件; 划分子模块,用于在判断出未超过所述预定间隔时,将所述当前处理的日志文件划分为所述上一个会话中的日志文件。
17.根据权利要求15所述的装置,其特征在于,所述会话子模块包括: 第二判断子模块,用于在当前日志分析基准时间超过或等于所述会话所在的当天时间的结束时间时,判断出所述会话关闭;或者 第三判断子模块,用于在所述会话对应的用户标识最后一次网页点击时间距当前日志分析基准时间超过预定间隔时,判断出所述会话关闭,其中,所述当前日志分析基准时间为当前间隔所在时间段的结束时间。
18.根据权利要求15所述的装置,其特征在于,所述会话子模块还包括: 第一保存子模块,用于在数据库中使用第一套表保存所述已关闭会话的分析结果集,其中,所述第一套表保存所有所述已关闭会话的分析结果集; 第二保存子模块,用于在数据库 中使用第二套表保存所述未关闭会话的分析结果集,其中,所述第二套表保存当前间隔周期内所有所述未关闭会话的分析结果集;其中,所述未关闭的会话中的部分会话在所述当前间隔周期之后的间隔周期上转换为所述已关闭的会话; 维表更新子模块,用于识别当前间隔周期的点击流日志分析中新增的度量,并更新到维表中,其中,所述新增的度量用于所述当前间隔周期的点击流日志分析。
19.根据权利要求11所述的装置,其特征在于,还包括: 获取单元,用于在以预定的间隔周期对采集的日志文件进行以会话为单位的基于分布式的点击流日志分析之后,获取点击流日志分析的分析结果; 生成单元,用于根据获取的分析结果生成分析报告,其中,所述分析报告用于根据分析结果对与日志文件对应的网站结构进行相应的调整。
全文摘要
本申请提供了一种日志分析方法和装置,其中,该方法包括采集网站日志服务器集群生成的日志文件;以预定间隔周期对所述采集的日志文件进行以会话为单位的基于分布式的点击流日志分析,其中,所述间隔周期使得用于分析日志文件的系统资源在一天中得到平均地使用。本申请解决了以会话为单位的基于分布式的点击流日志准实时分析,以解决现有技术中的不能实时地均衡地使用系统的资源问题,从而提升了网站日志分析的灵活性、时效性与伸缩性。
文档编号H04L12/24GK103178982SQ20111043995
公开日2013年6月26日 申请日期2011年12月23日 优先权日2011年12月23日
发明者乔平, 许玉勤 申请人:阿里巴巴集团控股有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1