日志数据处理方法及系统的制作方法

文档序号:9826253阅读:416来源:国知局
日志数据处理方法及系统的制作方法
【专利说明】
【技术领域】
[0001]本申请涉及互联网技术领域,尤其涉及一种日志数据处理方法及系统。
【【背景技术】】
[0002]海量日志数据的处理本质上属于大数据计算,业界有着众多成熟的解决方案,例如以Hadoop为代表的后计算流和以Storm为代表的预计算流。与Hadoop相比,Storm是个实时的、分布式以及具备高容错的计算系统,Storm在保证高可靠性的前提下还可以让处理进行的更加实时。
[0003]Storm计算流的过程为:在产生日志的宿主机上部署客户端(agent);每当宿主机有新的日志数据输出到日志(log)文件时,客户端将新的日志数据直接传输到Storm计算集群,Storm计算集群负责完成日志数据的计算和存储。
[0004]在实际应用中,有时需要对一定时间段内的日志数据一起进行处理,例如在对周期型日志数据进行实时处理的应用场景中,日志数据的处理是以周期为单位的,这就需要Storm计算集群能够确定同一周期内的日志数据全部到齐,然后再进行处理。目前,Storm计算集群可以根据当前时间判断同一周期的日志数据是否全部到齐,例如若当前时间为14:03:30秒,则认为14:02分这一周期内的日志数据全部到齐;或者,Storm计算集群可以根据当前接收的数据来判断同一周期内的日志数据是否全部到齐,例如若接收到14:03分这一周期内的日志数据,则认为14:02分这一周期内的日志数据全部到齐。
[0005]现有判断同一周期内的日志数据是否全部到齐的两种方式都比较绝对,均未考虑从客户端到Storm计算集群的传输路径造成日志数据的丢失或超时等情况。也就是说,现有两种方式实际上并不能严格保证同一周期内的日志数据全部到齐,这就导致采用Storm计算集群对周期型日志数据进行实时处理的结果的可靠性较低。

【发明内容】

[0006]本申请的多个方面提供一种日志数据处理方法及系统,用以在对日志数据进行实时处理的同时,提高处理结果的可靠性。
[0007]本申请的一方面,提供一种日志数据处理方法,适用于日志数据处理系统,所述日志数据处理系统包括映射节点和执行节点,所述方法包括:
[0008]执行当前日志数据处理任务中的关联预处理子任务的映射节点向所述映射节点对应的目标客户端代理装置发送查询请求,并接收所述目标客户端代理装置根据所述查询请求返回的当前日志数据处理任务所需的目标日志数据;
[0009]其中,所述目标客户端代理装置是部署于产生所述目标日志数据的日志宿主机上的客户端代理装置,所述查询请求包括:日志文件标识和时间段标识,所述目标日志数据是所述日志文件标识所标识的日志文件中在所述时间段标识所标识的时间段内产生的日志数据;
[0010]若所述映射节点接收到所述映射节点对应的所有所述目标客户端代理装置返回的所述目标日志数据,对所有接收到的所述目标日志数据进行关联预处理,并将关联预处理结果发送给执行当前日志数据处理任务中的关联处理子任务的归纳节点;
[0011]若所述归纳节点接收到所有执行关联预处理子任务的所述映射节点发送的所述关联预处理结果,对所有接收到的所述关联预处理结果进行关联处理,并输出关联处理结果。
[0012]本申请的另一方面,提供一种日志数据处理系统,包括:映射节点和归纳节点,所述归纳节点与所述映射节点连接;
[0013]所述映射节点,用于在执行日志数据处理任务中的关联预处理子任务时,向所述映射节点对应的目标客户端代理装置发送查询请求,接收所述目标客户端代理装置根据所述查询请求返回的当前日志数据处理任务所需的目标日志数据,并在接收到所述映射节点对应的所有所述目标客户端代理装置返回的所述目标日志数据时,对所有接收到的所述目标日志数据进行关联预处理,并将关联预处理结果发送给所述归纳节点;
[0014]其中,所述目标客户端代理装置是部署于产生所述目标日志数据的日志宿主机上的客户端代理装置,所述查询请求包括:日志文件标识和时间段标识,所述目标日志数据是所述日志文件标识所标识的日志文件中在所述时间段标识所标识的时间段内产生的日志数据;
[0015]所述归纳节点,用于在执行当前日志数据处理任务中的关联处理子任务时,接收所述映射节点发送的所述关联预处理结果,并在接收到所有执行关联预处理子任务的当前日志数据处理任务的所述映射节点发送的所述关联预处理结果,对所有接收到的所述关联预处理结果进行关联处理,并输出关联处理结果。
[0016]在本申请中,执行当前日志数据处理任务的映射节点和部署于产生当前日志数据处理任务所需的目标日志数据的日志宿主机上的客户端代理装置相配合,可以准确获取指定时间段内产生的日志数据,使得日志数据处理系统可以及时对日志数据进行处理,实现对日志数据的实时处理;另外,客户端代理装置允许映射节点获取指定时间段内产生的日志数据,为保证日志数据处理任务所需的日志数据全部到齐日志数据处理系统打下了基础,进一步在日志数据处理系统内部,映射节点通过判断,只有在来自映射节点对应的所有客户端代理装置的日志数据全部到齐时,才执行关联预处理并将关联预处理结果发送给归纳节点,归纳节点通过判断,只有在来自所有执行日志数据处理任务的映射节点的关联预处理结果全部到齐后,才对所有关联预处理结果进行关联处理,并最终输出关联处理结果,由于每一步处理都能够保证在所需数据全部到齐的情况下执行,因此可以提高处理结果的可靠性。
【【附图说明】】
[0017]为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0018]图1为本申请一实施例提供的日志数据处理方法的流程示意图;
[0019]图2为本申请一实施例提供的日志数据处理系统的简化结构示意图;
[0020]图3为本申请一实施例提供的日志数据处理系统的结构示意图。
【【具体实施方式】】
[0021]为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0022]图1为本申请一实施例提供的日志数据处理方法的流程示意图。如图1所示,该方法包括:
[0023]101、日志数据处理系统中执行当前日志数据处理任务中的关联预处理子任务的映射节点向该映射节点对应的目标客户端代理装置发送查询请求,并接收该目标客户端代理装置根据查询请求返回的当前日志数据处理任务所需的目标日志数据;其中,目标客户端代理装置是部署于产生目标日志数据的日志宿主机上的客户端代理装置,查询请求包括:日志文件标识和时间段标识,目标日志数据是该日志文件标识所标识的日志文件中在该时间段标识所标识的时间段内产生的日志数据。
[0024]102、若上述映射节点接收到映射节点对应的所有目标客户端代理装置返回的目标日志数据,对所有接收到的目标日志数据进行关联预处理,并将关联预处理结果发送给日志数据处理系统中执行当前日志数据处理任务中的关联处理子任务的归纳节点。
[0025]103、若归纳节点接收到所有执行关联预处理子任务的映射节点发送的关联预处理结果,对所有接收到的关联预处理结果进行关联处理,并输出关联处理结果。
[0026]本实施例提供的方法可由日志数据处理系统来执行,日志数据处理系统是指负责对日志数据进行处理的系统,可以包括映射节点(Mapper)和归纳节点(Reducer),映射节点和归纳节点相互配合完成日志数据处理任务。例如,该日志数据处理系统可以是但不限于:优化和改进后的spark系统,或者优化和改进后的Hadoop系统。
[0027]其中,日志宿主机是指产生日志数据的各种设备,例如可以是计算机、生产系统的服务器等。在本实施例中,一次日志数据处理任务可由关联预处理子任何和关联处理子任务构成。
[0028]具体的,在执行当前日志数据处理任务过程中,映射节点主要负责关联预处理子任务,该关联预处理子任务主要包括日志数据采集、日志数据解析、对日志数据的关联预处理以及将关联预处理结果发送给归纳节点;这里的关联预处理主要是指对日志数据进行合并处理,以获得归纳节点中第一层逻辑节点所需的处理结果的过程。而归纳节点主要负责关联处理子任务,关联处理子任务主要包括:接收映射节点发送的关联预处理结果,并对关联预处理结果进行关联处理,输出关联处理结果。归纳节点内部的关联处理主要是指归纳节点内部包括的多层逻辑处理节点进行处理的过程。
[0029]由于在现有技术中,无论是以Hadoop为代表的后计算流还是以Storm为代表的预计算流,均无法保证需要处理的日志数据全部到齐,从而导致处理结果不准确。该问题可以简称为“日志数据齐全度问题”,本实施例具体采用以下几点解决现有技术存在的日志数据齐全度问题:
[0030]第一点:利用客户端代理装置保证采集日志数据时的齐全度。
[0031]日志数据产生后会存储在日志宿主机上的日志文件中。通常,日志数据在日志宿主机上并不是永久保留,一般是按天滚动,保留固定天数之后会被删除,但是一般情况下日志数据在日志宿主机
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1