一种基于b2b平台的实时日志采集分析方法

文档序号:10471038阅读:151来源:国知局
一种基于b2b平台的实时日志采集分析方法
【专利摘要】本发明公开一种基于B2B平台的实时日志采集分析方法,1)将B2B平台中的访问日志、系统日志作为数据源,对数据源的数据进行实时采集,保存在寄存器中;2)通过日志解析器进行处理,按不同的格式进行解析;3)通过日志收集器进行收集日志数据;4)定义一个类型的多个子类型,被分布在集群中的多个服务器的节点上;5)通过分布式存储器缓存收集器的数据;6)通过分布式计算器处理数据;7)由分布式计算器处理结果输出至数据库,本发明提供的基于B2B平台的实时日志采集分析方法,在大数据并发实时采集、并行计算,实时分析具有显著的效果,并且在实时计算中具有明显优势。
【专利说明】
一种基于B2B平台的实时日志采集分析方法
技术领域
[0001 ]本发明涉及一种基于B2B平台的实时日志采集分析方法。
【背景技术】
[0002]电子商务发展至今,已经积累了大量的用户访问,以及大量的系统日志信息,包括访问者、信息提供者等;而这类访客浏览的动作都记录在日志中,并且系统的异常与监控日志都记录在日志文件中,这一类日志往往是海量数据。
[0003]当用户使用搜索引擎访问到我们网站中时或者通过浏览器直接输入网址访问到我们网站中,用户在网站访问的所有动作,都将记录在服务器日志文件中,并且记录了用户从哪一个页面进来,并且下一个页面的路径,都将记录在服务器的日志文件中,以及用户在网站进行搜索的日志,都将记录在日志文件中。当用户在访问页面时,此时服务器如果产生异常信息,包括页面无响应,反馈信息错误等,都将记录在日志文件中;所以在这些海量的日志信息,我们需要从这些信息中提取出重要的信息记录,因此需要建立一个实时日志采集分析的方法,将这些日志信息进行切分,并发处理,并行计算,以及存储等,让这些日志信息最终可以高效的获取有价值的信息内容。
[0004]国内现有的分布式日志采集分析方法,特别是针对具备实时性的采集,以及在大数据并发计算中,再实时性以及大数据量的情况下,容易出现很多问题或者无法保证实时性,比如:
[0005]中国专利CN201310317960.6,给出了一种分布式日志采集服务器的实现方案,其利用分布式的方式完成海量曰志的采集,通过多台采集服务器进行采集,没有定义主从先后关系,并发采集会导致一份日志文件给多个采集器同时采集,可能导致一份数据产生多个拷贝,并且也没有任何关于实时性采集的特性。
[0006]中国专利CN201410061318.0,给出了一种分布式设备日志采集方法,其通过分布式日志处理框架采用中介者模式构建集成化数据中间层,形成集成数据中介管理服务,该数据中介服务采集设备日志进行分布式存储在各分布式存储点上并进行数据连接,若需增加分布式存储点时,采用分布式存储点动态扩展机制实现;构建集成化数据中间层,统一采集、格式化处理日志,集中对分布式数据存储点进行统一管理和调度等内容,在分布式存储方面提出与分布式数据进行连接,在分布式采集,以及实时性等效率是非常的低下,该方法是在存储中进行改善,并没有涉及到分布式采集以及计算的内容。
[0007]海量数据的分布式采集、海量数据的实时计算及存储,通过各节点的性能进行分发不同的任务与调度,也是B2B平台的实时日志采集分析的重要内容。

【发明内容】

[0008]发明目的:为了克服现有技术中存在的不足,本发明提供一种基于B2B平台的实时日志采集分析方法,针对访问日志、系统日志进行实时采集,并进行计算,计算出有目的性的数据,并保存在数据库中。
[0009]本发明的技术方案:一种基于B2B平台的实时日志采集分析方法,包括如下步骤:
[0010](I)将B2B平台中的访问日志、系统日志作为数据源,对数据源的数据进行实时采集,保存在寄存器中,对数据源的数据进行实时采集的方法为:
[0011 ]对访问日志,首先进行切割,将大将大于512M文件自动切割成小文件即低于512M的小文件;再对日志进行预处理;
[0012]在预处理中对日志进行分类,按网站的站点类型进行分类,再进行各站点数据实时增量采集,采集之后保存在寄存器中,供下一个处理器进行处理;
[0013]在预处理中需要对日志进行分类,首先监控日志文件夹下的所有文件,每一个节点只监听1024个以内文件,每一个文件在节点的都会有相应的标示,记录监听文件需要读取数据的位置,当每次文件有新的记录产生时,标示就会记录当前数据的所属位置,根据节点配置发送到不同的存储区域;
[0014](2)通过日志解析器进行处理,按不同的格式进行解析;
[0015]具体解析规则为:根据时间段、日志类型、异常编码三个类型进行对日志的解析,对于日志异常信息的分析,将实际的处理方法和结果信息直接存放至寄存器中,同时将异常信息和处理方法建立对应的集合关系;
[0016](3)通过日志收集器进行收集日志数据,具体收集规则为:
[0017]在集群中获取配置数据,集群机器由主机和各节点组成,按照一定的大小将文件存放于内存中,满足一定的条件之后再写入分布式存储器中或者输出至其他分析器中;
[0018](5)通过分布式存储器缓存收集器的数据,具体缓存规则为:分布式存储器集群包含一个或多个服务器,每条缓存到分布式存储器集群的数据根据类别不同,分布存储在各个服务器中,将这些节点服务器进行分区;同一个分区中的数据都设置一个唯一的ID号;每条数据都存在一个状态,当该数据被往下成功分发后,这条数据将不会再次处理,避免了数据被多次重复处理的现象;
[0019](6)通过分布式计算器处理数据,具体计算规则为:分布式计算器集群中有一个主控制器和多个运算节点;所有的处理任务首先提交到主控制器,由主控制器根据节点的性能进行分发任务;主控制器首先将任务提交的节点,将一个任务拆分成多个子任务,多个子任务在多个节点中进行计算,最后再进行整合;
[0020](7)由分布式计算器处理结果输出至数据库,或其他应用服务器中。
[0021]步骤(5)中数据缓存通过若干台集群机器中的内存进行缓存数据,从而提高效率,当拥有多个数据来源和多个数据目的地时,为每一个来源和目的地配对地会自动创建一系列数据通过,保证数据的一致性;并且每一个系统获取数据和写入内存数据各一次;
[0022]步骤(3)中日志文件将会根据配置要求,保留一定的时间之后删除,通过这种方法,来释放磁盘空间,以及减少读取操作之后对文件内容改动的磁盘1开支;
[0023]步骤(I)中将需要保留和需要删除的数据文件分别保存在不同的路径下,如果当前数据需要删除,会将他放入到存储层面,判断放入删除层和存储层是通过当前返回的表示,如果返回状态不为成功,那么将继续保留;
[0024]如果节点出现问题,会将节点上监听的日志文件夹下已经成功的日志文件自动移出,根据当前调度规则,进行重新启动;
[0025]日志将大于512M文件,进行自动分割文件,把符合条件的文件或文件夹压缩归档到指定目录,归档文件格式,按系统时间已经文件类型进行归档,在判断是否归档文件夹时,检测的是文件夹的最后修改时间;
[0026]所有的临时数据,被保存在内存中;在吞吐量方面提高性能,在通过一定大小之后刷入到磁盘进行临时存储,从而保证灾难性时数据不会丢失;
[0027]当临时被保存在磁盘文件时,能保存容量较大的文件并且发生宕机时,数据可恢复。
[0028](I)中日志文件定义一个类型的多个子类型,被分布在集群中的多个服务器的节点上;每个节点都负责子类型日志中数据的读写操作,还可以配置动态配置需要备份的个数,每个子类型数据将会被备份到多台机器上,以提高可用性;
[0029]有益效果:克服现有方案实时性等效率不高,本发明通过各节点的性能进行分发不同的任务与调度,实现B2B平台的实时日志采集分析,针对访问日志、系统日志进行实时采集,并进行计算,计算出有目的性的数据,并保存在数据库中。本发明提供的基于B2B平台的实时日志采集分析方法,在大数据并发实时采集、并行计算,实时分析具有显著的效果,并且在实时计算中具有明显优势。
【附图说明】
[0030]图1为本发明方法的实施流程图。
【具体实施方式】
[0031]一种基于B2B平台的实时日志采集分析方法,包括如下步骤:
[0032](I)将B2B平台中的访问日志、系统日志作为数据源,对数据源的数据进行实时采集,保存在寄存器中,对数据源的数据进行实时采集的方法为:
[0033]对访问日志,首先进行切割,将大文件自动切割成小文件;再对日志进行预处理;
[0034]在预处理中对日志进行分类,按网站的站点类型进行分类,再进行各站点数据实时增量采集,采集之后保存在寄存器中,供下一个处理器进行处理;
[0035]在预处理中需要对日志进行分类,首先监控日志文件夹下的所有文件,每一个节点只监听1024个文件,每一个文件在节点的都会有相应的标示,记录监听文件需要读取数据的位置,当每次文件有新的记录产生时,标示就会记录当前数据的所属位置,根据节点配置发送到不同的存储区域。
[0036]我们会将需要保留和需要删除的数据文件分别保存在不同的路径下,如果当前数据需要删除,我们会放他放入到存储层面,判断放入删除层和存储层是通过当前返回的表示,如果返回状态不为成功,那么将继续保留。
[0037]如果节点出现问题,我们会将节点上监听的日志文件夹下已经成功的日志文件自动移出,根据当前调度规则,进行重新启动;
[0038]日志文件较大的数据,进行自动分割文件,把符合条件的文件或文件夹压缩归档到指定目录,归档文件格式,按系统时间已经文件类型进行归档,在判断是否归档文件夹时,检测的是文件夹的最后修改时间。
[0039]所有的临时数据,被保存在内存中。在吞吐量方面可以提高很大性能,在通过一定大小之后刷入到磁盘进行临时存储,从而保证灾难性时数据不会丢失。
[0040]当临时被保存在磁盘文件时,可以保存容量较大的文件并且发生宕机时,数据可恢复。
[0041](2)数据缓存通过若干台集群机器中的内存进行缓存数据,从而提高效率,当拥有多个数据来源和多个数据目的地时,为每一个来源和目的地配对地会自动创建一系列数据通过,保证数据的一致性。并且每一个系统获取数据和写入内存数据各一次。
[0042](3)日志文件将会根据配置要求,保留一定的时间之后删除,通过这种方法,来释放磁盘空间,以及减少读取操作之后对文件内容改动的磁盘1开支。
[0043](4)定义一个类型的多个子类型,被分布在集群中的多个服务器的节点上。每个节点都负责子类型日志中数据的读写操作,还可以配置动态配置需要备份的个数,每个子类型数据将会被备份到多台机器上,以提高可用性。
[0044]使用负载均衡来保持缓存与各节点数据的通讯,数据通过由类型定义的数据组直接通过网络发送到客户端,中间不经过任何路由节点,
[0045]使用点对点的方式进行通讯。
[0046]通过三种方式进行消息传输,
[0047]1、数据一次操作,只发送一次,无论是否发送成功,将不会重发数据。此时数据游标指向下一条数据,如果在消息处理过程中出现了异常,导致部分数据未能继续往下处理,当前立即停止所有数据的发送。
[0048]2、数据至少发送一次,当数据在发送时,将获取返回值再判断是否发送下一条数据。接收方接受数据,然后对数据进行处理,发送返回状态,游标进行增长。如果数据处理成功之后,在返回状态值的出现异常,那么当前游标不会指向下一条,此时将重新发送这条数据。
[0049]3、数据至发送一次,如果发生异常也不会停止,将继续发送下一条数据。
[0050]写入日志集群文件操作为两种:
[0051]a、当数据文件尺寸达到一定阀值时,目前我们配置中设置该阀值为500M,将会创建一个新的文件,当数据的条数达到阀值时将会触发数据自动写入集群操作。
[0052]b、通过上一次写入文件和当前时间差值进行写入日志集群操作。
[0053](5)、通过分布式存储器缓存收集器的数据,定义源数据信息存储,根据元数据的变化,集群产生对应不同的动作。
[0054]当数据缓存集群服务器启动后,首先会向主机写入各节点服务器信息,同时当节点和主机断开连接时,此节点信息也会被删除。
[0055]数据存储格式:/ID/[0...N],每个配置文件中都需要指定一个数字类型的id号,节点服务器存储信息为ip:port。定义类型为一个字符型编号,将该字符型编号数据存储格式:/Type/name/[0...N]。
[0056](6)、通过分布式计算器处理数据,由服务器主机来协调整个集群,每台服务器运行多个线程,但根据执行数据来进行并发计算,计算结果由其它分布式集群机器中的子线程进行汇总,每个线程提供一个消息单元,指定是否在一个特定的时间内被完全处理。包括当期线程和子线程全部被执行完毕,保证每个线程会被完整的执行。并且追踪由每个线程所产生的节点,监控该节点的结束时间。
[0057]通过对该线程超时的设置,当该超时区间时间内检测不到该线程是否执行成功,那么对该线程处理标记进行设置为失败,当在系统空闲状态时自动触发该线程重新启动。
[0058](7)、由分布式计算器处理数据之后,将计算结果输出至数据库中存储,或进行其他分发至应用服务器中。
【主权项】
1.一种基于B2B平台的实时日志采集分析方法,其特征是包括如下步骤: (1)将B2B平台中的访问日志、系统日志作为数据源,对数据源的数据进行实时采集,保存在寄存器中,对数据源的数据进行实时采集的方法为: 对访问日志,首先进行切割,将大于512M文件自动切割成小文件、即低于512M的小文件;再对日志进行预处理; 在预处理中对日志进行分类,按网站的站点类型进行分类,再进行各站点数据实时增量采集,采集之后保存在寄存器中,供下一个处理器进行处理; 在预处理中需要对日志进行分类,首先监控日志文件夹下的所有文件,每一个节点只监听1024个以内文件,每一个文件在节点的都会有相应的标示,记录监听文件需要读取数据的位置,当每次文件有新的记录产生时,标示就会记录当前数据的所属位置,根据节点配置发送到不同的存储区域; (2)通过日志解析器进行处理,按不同的格式进行解析; 具体解析规则为:根据时间段、日志类型、异常编码三个类型进行对日志的解析,对于日志异常信息的分析,将实际的处理方法和结果信息直接存放至寄存器中,同时将异常信息和处理方法建立对应的集合关系; (3)通过日志收集器进行收集日志数据,具体收集规则为: 在集群中获取配置数据,集群机器由主机和各节点组成,按照一定的大小将文件存放于内存中,满足一定的条件之后再写入分布式存储器中或者输出至其他分析器中; (4)定义一个类型的多个子类型,被分布在集群中的多个服务器的节点上; (5)通过分布式存储器缓存收集器的数据,具体缓存规则为:分布式存储器集群包含一个或多个服务器,每条缓存到分布式存储器集群的数据根据类别不同,分布存储在各个服务器中,将这些节点服务器进行分区;同一个分区中的数据都设置一个唯一的ID号;每条数据都存在一个状态,当该数据被往下成功分发后,这条数据将不会再次处理,避免了数据被多次重复处理的现象; (6)通过分布式计算器处理数据,具体计算规则为:分布式计算器集群中有一个主控制器和多个运算节点;所有的处理任务首先提交到主控制器,由主控制器根据节点的性能进行分发任务;主控制器首先将任务提交的节点,将一个任务拆分成多个子任务,多个子任务在多个节点中进行计算,最后再进行整合; (7)由分布式计算器处理结果输出至数据库,或其他应用服务器中。2.根据权利要求要求I所述的基于B2B平台的实时日志采集分析方法,其特征是(5)中数据缓存通过若干台集群机器中的内存进行缓存数据,从而提高效率,当拥有多个数据来源和多个数据目的地时,为每一个来源和目的地配对地会自动创建一系列数据通过,保证数据的一致性;并且每一个系统获取数据和写入内存数据各一次; (3)中日志文件将会根据配置要求,保留一定的时间之后删除,通过这种方法,来释放磁盘空间,以及减少读取操作之后对文件内容改动的磁盘1开支。3.根据权利要求要求I所述的基于B2B平台的实时日志采集分析方法,其特征是(I)中将需要保留和需要删除的数据文件分别保存在不同的路径下,如果当前数据需要删除,会将他放入到存储层面,判断放入删除层和存储层是通过当前返回的表示,如果返回状态不为成功,那么将继续保留; 如果节点出现问题,会将节点上监听的日志文件夹下已经成功的日志文件自动移出,根据当前调度规则,进行重新启动; 日志文件将大于512M文件数据,进行自动分割文件,把符合条件的文件或文件夹压缩归档到指定目录,归档文件格式,按系统时间已经文件类型进行归档,在判断是否归档文件夹时,检测的是文件夹的最后修改时间; 所有的临时数据,被保存在内存中;在吞吐量方面提高性能,在通过一定大小之后刷入到磁盘进行临时存储,从而保证灾难性时数据不会丢失; 当临时被保存在磁盘文件时,能保存容量较大的文件并且发生宕机时,数据能恢复。4.根据权利要求要求I所述的基于B2B平台的实时日志采集分析方法,其特征是(I)中日志文件定义一个类型的多个子类型,被分布在集群中的多个服务器的节点上;每个节点都负责子类型日志中数据的读写操作,还可以动态配置需要备份的个数,每个子类型数据将会被备份到多台机器上。5.根据权利要求要求I所述的基于B2B平台的实时日志采集分析方法,其特征是使用负载均衡来保持缓存与各节点数据的通讯,数据通过由类型定义的数据组直接通过网络发送到客户端,中间不经过任何路由节点,使用点对点的方式进行通讯;通过三种方式进行消息传输, 1)数据一次操作,只发送一次,无论是否发送成功,将不会重发数据;此时数据游标指向下一条数据,如果在消息处理过程中出现了异常,导致部分数据未能继续往下处理,当前立即停止所有数据的发送; 2)数据至少发送一次,当数据在发送时,将获取返回值再判断是否发送下一条数据;接收方接受数据,然后对数据进行处理,发送返回状态,游标进行增长;如果数据处理成功之后,在返回状态值的出现异常,那么当前游标不会指向下一条,此时将重新发送这条数据; 3)数据至发送一次,如果发生异常也不会停止,将继续发送下一条数据。6.根据权利要求要求I所述的基于B2B平台的实时日志采集分析方法,其特征是写入日志集群文件操作为两种: a、当数据文件尺寸达到一定阀值时,目前配置中设置该阀值为500M,将会创建一个新的文件,当数据的条数达到阀值时将会触发数据自动写入集群操作; b、通过上一次写入文件和当前时间差值进行写入日志集群操作; 定义源数据信息存储,根据元数据的变化,集群产生对应不同的动作; 当数据缓存集群服务器启动后,首先会向主机写入各节点服务器信息,同时当节点和主机断开连接时,此节点信息也会被删除。
【文档编号】G06F11/34GK105824744SQ201610158859
【公开日】2016年8月3日
【申请日】2016年3月21日
【发明人】徐飞
【申请人】焦点科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1