本发明专利技术公开了一种网站访问日志的预处理方法、装置及系统。其中,该方法包括:从集群服务器中读取原始日志;对原始日志进行合并和排序得到中间日志流;将中间日志流分割得到预处理日志。采用本发明专利技术,解决了现有技术中多次读写操作使得网站访问日志文件的预处理耗时长,导致日志处理的速度慢、效率低的问题,实现了单次读写完成对日志数据的预处理,减少了处理时间和处理的中间文件,从而提高了日志的处理效率。
【技术实现步骤摘要】
网站访问日志的预处理方法、装置及系统
本专利技术涉及数据处理领域,具体而言,涉及一种网站访问日志的预处理方法、装置及系统。
技术介绍
随着互联网的发展,上网人数不断的增加,网站的访问量不断的上升,单台服务器已经无法满足大量的网站访问量,常见的做法是采用负载均衡集群,通过一个或者多个前端负载均衡器,将工作负载分发到后端的一组服务器上,后端服务器收到请求并记录日志。随着访问量不断的上升,日志文件的大小不断的膨胀,但是对应的日志文件的处理时间要求却并没有降低。因此,如何提高日志文件的处理效率,成为本领域必须面临的问题。最早的日志处理方法是直接读取原始日志文件,然后对原始日志文件中的数据进行分析,这样效率很低,因为每次不同的分析都要重新读取所有的原始日志。目前常用的日志处理方法包括预处理和后续统计分析两部分,其中预处理部分是所有后续统计分析所共用的,通常包括分割、合并和排序三个主要过程。其中,分割的需求是因为后续可能只针对某种特殊标识的日志进行统计分析;合并的需求是因为原始日志分布在多个集群服务器,需要统一分析;排序的需求是因为需要分析事件发生的先后顺序以及因果关系。这三种需求是非常普遍的,现有的做法是:首先在计算机集群上将原始日志按照某种相同标识(譬如用户标识)划分为多个标识文件;之后在日志处理服务器上,读取集群服务器上的标识文件,将相同标识的标识文件合并为一个文件作为目标文件;最后,按照时间对目标文件中日志信息进行排序,生成预处理后的日志文件。现有技术对日志文件的分割、合并以及排序的过程都是孤立的,在此过程中生成了标识文件、目标文件等中间文件,导致了多次的文件读取和写入操作,而由于日志文件数据量大,中间文件数量多,读取和写入非常耗费时间,降低了整体日志预处理的效率。针对现有技术中多次读写操作使得网站访问日志文件的预处理耗时长,导致日志处理的速度慢、效率低的问题,目前尚未提出有效的解决方案。
技术实现思路
针对相关技术中多次读写操作使得网站访问日志文件的预处理耗时长,导致日志处理的速度慢、效率低的问题,目前尚未提出有效的解决方案,为此,本专利技术的主要目的在于提供一种网站访问日志的预处理方法、装置及系统,以解决上述问题。为了实现上述目的,根据本专利技术的一个方面,提供了 一种网站访问日志的预处理方法,该方法包括:从集群服务器中读取原始日志;对原始日志进行合并和排序得到中间日志流;将中间日志流分割得到预处理日志。进一步地,从集群服务器中读取原始日志的步骤包括:以数据流方式按行从集群服务器中并行读取原始日志;将并行读取到的所有日志数据保存在日志集中。进一步地,对原始日志进行合并和排序得到中间日志流的步骤包括:将日志集中的日志数据排序得到数据序列;输出数据序列中时间最早的日志数据;将从来源服务器读取的时间最早的日志数据的下一条日志数据补入数据序列;返回执行输出数据序列中时间最早的日志数据的步骤,直至将日志数据输出完毕,得到中间日志流;其中,将时间最早的日志数据的数据来源的服务器作为来源服务器。进一步地,将从来源服务器读取的时间最早的日志数据的下一条日志数据补入数据序列的步骤还包括:在将来源服务器中的日志数据读取完毕之后,关闭来源服务器的日志。进一步地,将中间日志流分割得到预处理日志的步骤包括:获取中间日志流中的用户标识;按照用户标识对中间日志流进行分割得到预处理日志。为了实现上述目的,根据本专利技术的另一方面,提供了一种网站访问日志的预处理装置,该装置包括:第一读取模块,用于从集群服务器中读取原始日志;合并排序模块,用于对原始日志进行合并和排序得到中间日志流;分割模块,用于将中间日志流分割得到预处理日志。进一步地,第一读取模块包括:并行读取模块,用于以数据流方式按行从集群服务器中并行读取原始日志;保存模块,用于将并行读取到的所有日志数据保存在日志集中。进一步地,合并排序模块包括:排序模块,用于将日志集中的日志数据排序得到数据序列;输出模块,用于输出数据序列中时间最早的日志数据;补充模块,用于将从来源服务器读取的时间最早的日志数据的下一条日志数据补入数据序列;返回执行模块,用于返回执行输出数据序列中时间最早的日志数据的步骤,直至将日志数据输出完毕,得到中间日志流;其中,将时间最早的日志数据的数据来源的服务器作为来源服务器。进一步地,补充模块包括:关闭模块,用于在将来源服务器中的日志数据读取完毕之后,关闭来源服务器的日志流。进一步地,分割模块包括:获取模块,用于获取中间日志流中的用户标识;分割子模块,用于按照用户标识对中间日志流进行分割得到预处理日志。为了实现上述目的,根据本专利技术的另一方面,提供了一种网站访问日志的预处理系统,该系统包括:多个集群服务器;日志预处理服务器,与多个集群服务器连接,用于从集群服务器中读取原始日志,并在对原始日志进行合并和排序得到中间日志流之后,将中间日志流分割得到预处理日志。进一步地,日志预处理服务器包括:读取装置,与多个集群服务器连接,用于以数据流方式按行从集群服务器中并行读取原始日志。进一步地,日志预处理服务器包括:处理器,与读取装置连接,用于将日志集中的日志数据排序得到数据序列,并输出数据序列中时间最早的日志数据,然后将从来源服务器读取的时间最早的日志数据的下一条日志数据补入数据序列,返回执行输出数据序列中时间最早的日志数据的步骤,直至将日志数据输出完毕,得到中间日志流;其中,将时间最早的日志数据的数据来源的服务器作为来源服务器。采用本专利技术,在从集群服务器中读取原始日志之后,将日志合并和排序两个过程结合起来,将合并和排序得到的中间日志流分割得到预处理日志,最后将预处理日志写入磁盘,省去了中间文件的生成,仅需要单次的读取和写入,提高了日志预处理的效率。解决了现有技术中多次读写操作使得网站访问日志文件的预处理耗时长,导致日志处理的速度慢、效率低的问题,实现了单次读写完成对日志数据的预处理,减少了处理时间和处理的中间文件,从而提高了日志的处理效率。【附图说明】此处所说明的附图用来提供对本专利技术的进一步理解,构成本申请的一部分,本专利技术的示意性实施例及其说明用于解释本专利技术,并不构成对本专利技术的不当限定。在附图中:图1是根据本专利技术实施例的网站访问日志的预处理系统的结构示意图;图2是根据本专利技术实施例的一种可选的预处理系统适用系统的结构图;图3是根据本专利技术实施例的一种可选的预处理系统的结构图;图4是根据本专利技术实施例的网站访问日志的预处理系统处理日志数据的框图;图5是根据本专利技术实施例的网站访问日志的预处理方法的流程图;以及图6是根据本专利技术实施例的网站访问日志的预处理装置的结构示意图。【具体实施方式】需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本专利技术。图1是根据本专利技术实施例的网站访问日志的预处理系统的结构示意图。如图1所示,该系统可以包括:多个集群服务器2和一个日志预处理服务器I。其中,多个集群服务器2,用于记录原始日志。日志预处理服务器1,与多个集群服务器2连接,用于从集群服务器中读取原始日志,并在对原始日志进行合并和排序得到中间日志流之后,将中间日志流分割得到预处理日志。采用上述系统,在日志预处理服务器从集群服务器中读取原始日志本文档来自技高网...
【技术保护点】
一种网站访问日志的预处理方法,其特征在于,包括:从集群服务器中读取原始日志;对所述原始日志进行合并和排序得到中间日志流;将所述中间日志流分割得到预处理日志。
【技术特征摘要】
1.一种网站访问日志的预处理方法,其特征在于,包括: 从集群服务器中读取原始日志; 对所述原始日志进行合并和排序得到中间日志流; 将所述中间日志流分割得到预处理日志。2.根据权利要求1所述的预处理方法,其特征在于,从集群服务器中读取原始日志的步骤包括: 以数据流方式按行从所述集群服务器中并行读取所述原始日志; 将并行读取到的所有日志数据保存在日志集中。3.根据权利要求2所述的预处理方法,其特征在于,对所述原始日志进行合并和排序得到中间日志流的步骤包括: 将所述日志集中的所述日志数据排序得到数据序列; 输出所述数据序列中时间最早的所述日志数据; 将从来源服务器读取的所述时间最早的所述日志数据的下一条日志数据补入所述数据序列; 返回执行输出所述数据序列中时间最早的所述日志数据的步骤,直至将所述日志数据输出完毕,得到所述中间日志流; 其中,将所述时间最早的所述日志数据的数据来源的服务器作为所述来源服务器。4.根据权利要求3所述的预处理方法,其特征在于,将从来源服务器读取的所述时间最早的所述日志数据的下一条日志数据补入所述数据序列的步骤还包括: 在将所述来源服务器中的所述日志数据读取完毕之后,关闭所述来源服务器的日志流。5.根据权利要求1至4中任意一项所述的预处理方法,其特征在于,将所述中间日志流分割得到预处理日志的步骤包括: 获取所述中间日志流中的用户标识; 按照所述用户标识对所述中间日志流进行分割得到所述预处理日志。6.一种网站访问日志的预处理装置,其特征在于,包括: 第一读取模块,用于从集群服务器中读取原始日志; 合并排序模块,用于对所述原始日志进行合并和排序得到中间日志流; 分割模块,用于将所述中间日志流分割得到预处理日志。7.根据权利要求6所述的预处理装置,其特征在于,所述第一读取模块包括: 并行读取模块,用于以数据流方式按行从所述集群服务器中并行读取所述原始日志; 保存模块,用于将并行读取到的所有日志数据保存在日志集中。8.根据权利要求7所述的预处理装置,其特征在于,所述合...
【专利技术属性】
技术研发人员:何恺铎,饶峰云,
申请(专利权)人:北京国双科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。