CN105335406A - 日志数据处理方法及装置 - Google Patents

日志数据处理方法及装置 Download PDF

Info

Publication number
CN105335406A
CN105335406A CN201410367727.3A CN201410367727A CN105335406A CN 105335406 A CN105335406 A CN 105335406A CN 201410367727 A CN201410367727 A CN 201410367727A CN 105335406 A CN105335406 A CN 105335406A
Authority
CN
China
Prior art keywords
daily record
record data
location index
time period
unit period
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201410367727.3A
Other languages
English (en)
Other versions
CN105335406B (zh
Inventor
储晓颖
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Advanced New Technologies Co Ltd
Original Assignee
Alibaba Group Holding Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201410367727.3A priority Critical patent/CN105335406B/zh
Publication of CN105335406A publication Critical patent/CN105335406A/zh
Application granted granted Critical
Publication of CN105335406B publication Critical patent/CN105335406B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供一种日志数据处理方法及装置。日志数据处理方法包括:部署于日志宿主机上的客户端代理装置接收计算节点发送的查询请求,根据查询请求中的日志文件标识和时间段标识,获取时间段标识所标识的时间段内产生的日志数据的位置索引;根据获取的位置索引,从日志宿主机上的日志文件中获取时间段内产生的日志数据;将所获取的日志数据传输给计算节点,以供计算节点进行处理。本发明技术方案可以提高处理日志数据的实时性。

Description

日志数据处理方法及装置
【技术领域】
本发明涉及互联网技术领域,尤其涉及一种日志数据处理方法及装置。
【背景技术】
海量日志数据的处理本质上属于大数据计算,业界有着众多成熟的解决方案,其中,最典型的是以Hadoop为代表的后计算流。
Hadoop计算流的过程为:在产生日志的宿主机上部署客户端(agent);客户端按照一定的频率,将宿主机源源不断产生的日志跨网络传输到HDFS存储节点进行持久化存储;随后,HDFS计算节点的任务调度会驱动各种作业,从HDFS存储节点上捞取相关的日志,执行相应作业并输出结果。
由上述可见,Hadoop计算流需要先等待日志存储到HDFS存储节点,再经过任务调度从HDFS存储节点中捞取日志执行相应作业,其实时性较差。
【发明内容】
本发明的多个方面提供一种日志数据处理方法及装置,用以提高处理日志数据的实时性。
本发明的一方面,提供一种日志数据处理方法,包括:
部署于日志宿主机上的客户端代理装置接收计算节点发送的查询请求,所述查询请求包括:日志文件标识和时间段标识;
所述客户端代理装置根据所述日志文件标识和所述时间段标识,获取所述时间段标识所标识的时间段内产生的日志数据的位置索引,所述位置索引用于指示所述时间段内产生的日志数据在所述日志文件标识所标识的日志文件中的位置;
所述客户端代理装置根据所述时间段内产生的日志数据的位置索引,从所述日志宿主机上的所述日志文件中获取所述时间段内产生的日志数据;
所述客户端代理装置将所述时间段内产生的日志数据传输给所述计算节点,以供所述计算节点进行处理。
本发明的另一方面,提供一种客户端代理装置,部署于日志宿主机上,所述客户端代理装置包括:
请求接收模块,用于接收计算节点发送的查询请求,所述查询请求包括:日志文件标识和时间段标识;
索引获取模块,用于根据所述日志文件标识和所述时间段标识,获取所述时间段标识所标识的时间段内产生的日志数据的位置索引,所述位置索引用于指示所述时间段内产生的日志数据在所述日志文件标识所标识的日志文件中的位置;
数据获取模块,用于根据所述时间段内产生的日志数据的位置索引,从所述日志文件中获取所述时间段内产生的日志数据;
发送模块,用于将所述时间段内产生的日志数据传输给所述计算节点,以供所述计算节点进行处理。
由上述技术方案可知,本发明在日志宿主机部署客户端代理装置,客户端代理装置根据计算节点的查询请求,确定需要查询的日志数据的位置索引,根据位置索引直接从日志宿主机上的日志文件中获取日志数据,再将所获取的日志数据传输给计算节点以进行计算处理,相当于在日志宿主机上直接实现了日志查询功能,使得日志数据的处理不再需要经过HDFS存储节点,节约了将日志数据传输到HDFS存储节点的时间,有利于提高处理日志数据的实时性。
【附图说明】
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一实施例提供的日志数据处理系统的结构示意图;
图2为本发明一实施例提供的日志数据处理方法的流程示意图;
图3为本发明另一实施例提供的日志数据处理方法的流程示意图;
图4为本发明一实施例提供的客户端代理装置的结构示意图;
图5为本发明另一实施例提供的客户端代理装置的结构示意图。
【具体实施方式】
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明一实施例提供的日志数据处理系统的结构示意图。如图1所示,该系统包括:日志宿主机100和计算节点200。
其中,日志宿主机100是指产生日志数据的各种设备,例如可以是计算机、生产系统的服务器等。计算节点200是负责对日志数据进行处理的设备,例如可以是Hadoop中的Map/Reduce节点。
日志数据产生后会存储在日志宿主机100上的日志文件中。通常,日志数据在日志宿主机100上并不是永久保留,一般是按天滚动,保留固定天数之后会被删除,但是一般情况下日志数据在日志宿主机100上的保留时间已经足够满足以实时分析为主要目标的监控计算等场景。
日志宿主机100本身可以提供日志的查询服务。但是,日志宿主机100一般是直接向最终用户提供服务的,不能因为日志分析而消耗过多性能。为了尽量不影响日志宿主机100的性能,本实施例在日志宿主机100上部署客户端代理装置11(如图1所示),由客户端代理装置11提供日志查询功能,并且尽量将日志查询功能带来的性能消耗局限在必需的网络带宽上,不产生其他性能消耗。
为实现上述目的,本实施例的客户端代理11需要为日志宿主机100在不同时间产生的日志数据创建用于指示该日志数据在日志文件中的位置的位置索引。这样,客户端代理装置11就可以根据位置索引快速找到待查询的日志数据,降低对日志宿主机100的性能消耗。
其中,客户端代理装置11提供日志查询功能的过程如图2所示。图2为本发明一实施例提供的日志数据处理方法的流程示意图。如图2所示,该方法包括:
201、部署于日志宿主机上的客户端代理装置接收计算节点发送的查询请求,该查询请求包括:日志文件标识和时间段标识。
202、客户端代理装置根据上述日志文件标识和时间段标识,获取上述时间段标识所标识的时间段内产生的日志数据的位置索引,该位置索引用于指示该时间段内产生的日志数据在上述日志文件标识所标识的日志文件中位置。
203、客户端代理装置根据上述时间段内产生的日志数据的位置索引,从日志宿主机上的上述日志文件中获取上述时间段内产生的日志数据。
204、客户端代理装置将上述获取的上述时间段内产生的日志数据传输给计算节点,以供计算节点进行处理。
具体的,在计算节点的任务调度驱动作业时,向客户端代理装置发送查询请求,以请求获取作业所需的日志数据。计算节点会在查询请求中携带用于标识所请求获取的日志数据的信息,例如可以是日志文件标识和时间段标识。其中,日志文件标识用于标识所请求获取的日志数据所在的日志文件;而时间段标识用于标识所请求获取的日志数据产生的时间段。其中,日志数据所在的日志文件结合日志数据产生的时间段可以唯一确定日志数据。值的说明的是,用于标识所请求获取的日志数据的信息并不限于日志文件标识和时间段标识。其中,根据日志数据的存储格式或方式的不同,标识日志数据的方式也会有所不同。
客户端代理装置接收计算节点发送的查询请求,对查询请求进行解析,从中获取日志文件标识和时间段标识。之后,客户端代理装置根据日志文件标识和时间段标识,确定用于指示在该时间段标识所标识的时间段内产生的日志数据在上述日志文件标识所标识的日志文件中的位置的位置索引。在此说明,计算节点所请求获取的日志数据是指在时间段标识所标识的时间段内产生且存储于日志文件标识所标识的日志文件中的日志数据。其中,不同类型的日志数据存储在不同的日志文件中。
接着,客户端代理装置根据所确定的位置索引,从上述日志文件标识所标识的日志文件中获取相应的日志数据。最后,客户端代理装置将所获取的日志数据传输给计算节点。计算节点接收到客户端代理装置传输的日志数据后,可以按照作业流程对日志数据进行处理。
在本实施例中,在日志宿主机上部署客户端代理装置,由客户端代理装置提供日志查询功能。与现有技术相比,本实施例提供的日志数据处理方法中节约了日志数据从日志宿主机到HDFS存储节点的传输时间,因此提高了处理日志数据的实时性;另外,由于不需要专门的HDFS存储节点,同时还节约了存储资源。
进一步值得说明的是,基于本实施例提供的日志数据处理方法,在计算节点出现机器故障或者重启导致某个作业任务失败的情况下,完全可以在计算节点恢复正常之后尽快重新调度该作业任务,保证作业任务的完成。具体理由是:在本实施例中,作业任务所需的日志数据在短时间内依然存储在日志宿主机上,并且仍由客户端代理装置提供着该日志数据的查询服务。由此可见,采用本实施例提供的方法还可以不用花费大量精力去解决高可靠通讯、计算冗余、持久化状态等复杂难题。
在此说明,本实施例提供的方法适用于任何日志数据处理场景。其中,一种常用的日志数据处理场景是基于日志分析的监控场景。本发明以下实施例将重点针对基于日志分析的监控场景,详细说明本发明技术方案。
在基于日志分析的监控场景下,Hadoop的计算任务都是周期性的,这里的周期性是指每次计算任务都要处理相同时间内的日志数据,例如每个任务周期均需处理一分钟内产生的日志数据以产出这一周期的日志分析结果,这种任务需要查询的是某分钟,例如2014-11-1111:11这一分钟内产生的日志数据。基于此,本实施例设定单位周期,以单位周期内产生的日志数据为最小数据单位进行存储和查询。其中,单位周期可以是1秒、1分钟、2分钟、3分钟、1小时等,具体可以根据用户需求而定。基于此,上述时间段标识所标识的时间段包括至少一个单位周期。意味着,计算节点一次查询请求可以查询至少一个单位周期内产生的日志数据。
基于上述,客户端代理装置应该为日志宿主机在每个单位周期内产生的日志数据创建位置索引。
在一可选实施方式中,客户端代理装置可以自日志宿主机产生日志数据开始,为每个单位周期内产生的日志数据创建位置索引。
在另一可选实施方式中,考虑到计算节点有可能从某个时间开始才启动对日志宿主机产生的日志数据的处理任务,这样为了减轻客户端代理装置的处理负担,降低对日志宿主机的性能消耗,客户端代理装置可以根据计算节点发送的启动指示,开始为日志宿主机产生的日志数据创建位置索引。具体的,计算节点打算在第一时间启动对日志宿主机产生的日志数据进行处理的任务时,向客户端代理装置发送启动指示,该启动指示用于指示自第一时间开始为每个单位周期内产生的日志数据创建位置索引。相应的,客户端代理装置接收计算节点发送的启动指示,根据该启动指示,自第一时间开始为每个单位周期内产生的日志数据创建位置索引,并将自第一时间开始的每个单位周期和为每个单位周期内产生的日志数据所创建的位置索引对应存储到位置索引文件中。
对于自第一时间开始的每个单位周期,是指从第一时间开始计算,之后的每个单位周期。例如,单位周期是1分钟,第一时间是指2014-06-30-11-11这一分钟,则客户端代理装置需要为2014-06-30-11-12这一分钟以及之后每分钟内产生的日志数据创建位置索引。
值得说明的是,位置索引可以用日志数据在日志文件中的起始字节位置和日志数据的字节长度来表示;或者,位置索引也可以用日志数据在日志文件中的起始字节位置和结束字节位置来表示。
具体的,对于第一时间之后的每个单位周期,客户端代理装置对该单位周期的上一个单位周期的尾部数据进行解析,确定该单位周期内产生的日志数据的起始位置,并对该单位周期的尾部数据进行解析,确定该单位周期内产生的日志数据的长度,作为该单位周期内产生的日志数据的位置索引。其中,该单位周期的尾部数据是指在该单位周期即将结束时产生的日志数据。
简单来说,上述实施方式主要是利用了日志打印的特点,即时间增序打印(意思是不可能出现较晚产生的日志数据打印在较早产生的日志数据之前),在相邻单位周期交替的时刻,客户端代理装置从单位周期内产生的日志数据的末尾读取少量字节进行解析,确定当前单位周期内产生的日志数据的结束点以及下一单位周期内产生的日志数据的起始点。
例如,对于单位周期T和单位周期T+1,如果对单位周期T内产生的日志数据的末尾进行分析,确定该末尾数据的下一字节是单位周期T+1内产生的日志数据,那说明在这个位置单位周期T内产生的日志数据已经全部结束,而单位周期T+1内产生的日志数据刚刚开始,这个末尾数据就是两个相邻单位周期的交替点。找到交替点之后,客户端代理装置就可以得到单位周期T内产生的日志数据的结束点位置(其中,根据起始点位置和结束点位置可以计算出日志数据的字节长度),以及单位周期T+1产生的日志数据的起始点位置;如此循环反复,就能得到每个单位周期内产生的日志数据的起始点位置和字节长度,即位置索引。
值得说明的是,在实际应用中,有可能存在日志数据缓冲打印的情况(即某个时刻产生的日志数据可能延迟几秒才会打印),对该情况,客户端代理装置可以考虑推迟创建位置索引,具体推迟多长时间、一共容忍推迟多少次等可以根据实际情况进行调整。
经过上述位置索引创建过程所创建的位置索引可以存储到位置索引文件中,如表1所示,是位置索引文件的一种实现结构。
表1
单位周期 起始点位置 字节长度
16:03 xxx1 yyy1
16:04 xxx2 yyy2
16:05 xxx3 yyy3
16:06 xxx4 yyy4
结合上述位置索引文件,本发明另一实施例提供的日志数据处理方法的流程如图3所示,该方法包括:
301、部署于日志宿主机上的客户端代理装置接收计算节点发送的查询请求,该查询请求包括:日志文件标识和时间段标识,该时间段标识所标识的时间段包括至少一个单位周期。
302、客户端代理装置根据上述日志文件标识,确定日志文件标识所标识的日志文件对应的位置索引文件,该位置索引文件对应存储有单位周期和单位周期内产生的日志数据的位置索引。
303、客户端代理装置根据上述时间段标识,在上述位置索引文件中进行匹配,并判断在位置索引文件中是否匹配到上述时间段包括的单位周期;如果是,则执行步骤304;如果否,则执行步骤305。
304、客户端代理装置获取上述位置索引文件中匹配到的单位周期内产生的日志数据的位置索引,并执行步骤306。
305、客户端代理装置根据上述日志文件标识,对上述日志文件中的日志数据进行解析,确定上述时间段包括的每个单位周期内产生的日志数据的位置索引,并执行步骤306。
306、客户端代理装置根据上述时间段包括的每个单位周期内产生的日志数据的位置索引,从上述日志文件中获取上述时间段包括的每个单位周期内产生的日志数据。
307、客户端代理装置将上述时间段包括的每个单位周期内产生的日志数据传输给计算节点,以供计算节点进行处理。
在本实施例中,客户端代理装置在位置索引文件中查找查询请求中时间段标识所标识的时间段内产生的日志数据的位置索引。关于位置索引文件可参见前述实施例描述的方式获得。
考虑到有些日志数据的位置索引是从计算节点打算对该类日志数据进行处理的第一时间开始创建的,所以位置索引文件中有可能不存在第一时间之前产生的日志数据的位置索引。
因此,对于未在位置索引文件中匹配到上述时间段包括的单位周期时,客户端代理装置可以根据上述日志文件标识,确定日志文件;然后采用二分法,对上述日志文件中的日志数据进行解析,获得上述时间段包括的每个单位周期内产生的日志数据的位置索引。相应的,客户端代理装置还可以将采用二分法所获得的上述时间段包括的每个单位周期内产生的日志数据的位置索引以及对应的单位周期存储到位置索引文件中。
以上述时间段包括的单位周期为单位周期T为例,则采用二分法,对日志文件中的日志数据进行分析,获得单位周期T内产生的位置索引的过程包括:
步骤a1、如果已经预知单位周期T1和单位周期T2内产生的日志数据的位置索引,且T1<T<T2,可以确定T内产生的日志数据在T1和T2产生的日志数据之间;
值得说明的是,如果无法确定与T最邻近的T1和T2,则可以用日志文件的头尾位置对应的单位周期分别作为T1和T2。
步骤a2、在T1和T2产生的日志数据的中间位置捞取少量字节的日志数据解析得到单位周期Tn;
步骤a3、若Tn<T(即Tn早于T),将Tn作为T1,并返回执行步骤a1;
步骤a4、若Tn>T(即Tn晚于T),将Tn作为T2,并返回执行步骤a1;
步骤a5、若Tn=T,记录此条日志数据的起始点位置,并从起始点位置往前多次捞取一定字节的日志数据,直至找到单位周期T-1和T的交替点,并往后多次捞取一定字节的日志数据,直到找到T和单位周期T+1的交替点;通过两个交替点得到T内产生的日志数据的起始点位置和字节长度。
在实际应用场景中,一个每天1GB的日志文件所需要捞取的日志数据不到1MB,而且大部分只是分摊在一天里各个单位周期交替的时刻,采用上述实施例的方法进行日志数据的捞取,对日志宿主机的CPU和内存的消耗几乎可以忽略不计,但是却明显提高了捞取日志数据的效率,提高了处理日志数据的实时性。
基于上述各实施例或实施方式,客户端代理装置具体可以采用零拷贝(zerocopy)技术,将上述时间段内产生的日志数据传输给计算节点,从而在提高处理日志数据实时性的同时,进一步节约网络带宽。具体的,客户端代理装置用zerocopy来请求操作系统内核(kernel)直接把硬盘上的日志数据传输给操作系统内核级的套接字(socket),而不是通过用户级的应用程序传输,因此大大提高了客户端代理装置的性能,并且减少了操作系统内核和用户模式之间的上下文切换。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
图4为本发明一实施例提供的客户端代理装置的结构示意图。该客户端代理装置部署于日志宿主机上实现,如图4所示,该装置包括:请求接收模块41、索引获取模块42、数据获取模块43和发送模块44。
请求接收模块41,用于接收计算节点发送的查询请求,该查询请求包括:日志文件标识和时间段标识。
索引获取模块43,与请求接收模块41连接,用于根据请求接收模块41接收的日志文件标识和时间段标识,获取时间段标识所标识的时间段内产生的日志数据的位置索引,该位置索引用于指示时间段内产生的日志数据在日志文件标识所标识的日志文件中的位置。
数据获取模块43,与索引获取模块43连接,用于根据索引获取模块43获取的时间段内产生的日志数据的位置索引,从日志文件中获取时间段内产生的日志数据。
发送模块44,与数据获取模块43连接,用于将数据获取模块43获取的时间段内产生的日志数据传输给计算节点,以供计算节点进行处理。
在一可选实施方式中,上述时间段标识所标识的时间段包括至少一个单位周期。基于此,如图5所示,索引获取模块42的一种实现结构包括:确定单元421、匹配单元422、第一索引获取单元423和第二索引获取单元424。
确定单元421,与请求接收模块41连接,用于根据请求接收模块41接收的日志文件标识,确定日志文件对应的位置索引文件,该位置索引文件对应存储有单位周期和单位周期内产生的日志数据的位置索引。
匹配单元422,与请求接收模块41和确定单元421连接,用于根据请求接收模块41接收的时间段标识,在确定单元421确定的位置索引文件中进行匹配。
第一索引获取单元423,与匹配单元422连接,用于在匹配单元422在位置索引文件中匹配到时间段包括的单位周期时,获取位置索引文件中匹配到的单位周期内产生的日志数据的位置索引。
第二索引获取单元424,与匹配单元422连接,用于在匹配单元422未在位置索引文件中匹配到时间段包括的单位周期时,根据日志文件标识,对日志文件中的日志数据进行解析,确定时间段包括的每个单位周期内产生的日志数据的位置索引。
进一步,第二索引获取单元424具体可用于根据日志文件标识,确定日志文件,采用二分法,对日志文件中的日志数据进行解析,获得时间段包括的每个单位周期内产生的日志数据的位置索引。
基于上述,如图5所示,所述装置还包括:存储模块45,与第二索引获取单元424连接,用于将时间段包括的每个单位周期和第二索引获取单元424获得的时间段包括的每个单位周期内产生的日志数据的位置索引对应添加到位置索引文件中。
进一步,如图5所示,所述装置还包括:指示接收模块46和索引创建模块47。
指示接收模块46,用于接收计算节点发送的启动指示,该启动指示用于指示自第一时间开始为每个单位周期内产生的日志数据创建位置索引。
索引创建模块47,与指示接收模块46连接,用于自第一时间开始为每个单位周期内产生的日志数据创建位置索引,将自第一时间开始的每个单位周期和为每个单位周期内产生的日志数据所创建的位置索引对应存储到位置索引文件中。索引创建模块47与确定单元421连接,用于向确定单元421提供位置索引文件。
进一步,如图5所示,索引创建模块47的一种实现结构包括:索引创建单元471和存储单元472。
索引创建单元471,用于对于第一时间之后的每个单位周期,对该单位周期的上一个单位周期的尾部数据进行解析,确定该单位周期内产生的日志数据的起始位置,并对该单位周期的尾部数据进行解析,确定该单位周期内产生的日志数据的长度,作为该单位周期内产生的日志数据的位置索引;其中,该单位周期的尾部数据是指在该单位周期即将结束时产生的日志数据;
存储单元472,与索引创建单元471连接,用于将第一时间之后的每个单位周期和索引创建单元471为每个单位周期内产生的日志数据所创建的位置索引对应存储到位置索引文件中。
在一可选实施方式中,发送模块44具体可用于采用零拷贝技术,将上述时间段内产生的日志数据传输给计算节点。
本实施例提供的客户端代理装置,部署于日志宿主机上,根据计算节点的查询请求,确定需要查询的日志数据的位置索引,根据位置索引直接从日志宿主机上的日志文件中获取日志数据,再将所获取的日志数据传输给计算节点以进行计算处理,相当于在日志宿主机上直接实现了日志查询功能,使得日志数据的处理不再需要经过HDFS存储节点,节约了将日志数据传输到HDFS存储节点的时间,有利于提高处理日志数据的实时性。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(RandomAccessMemory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (12)

1.一种日志数据处理方法,其特征在于,包括:
部署于日志宿主机上的客户端代理装置接收计算节点发送的查询请求,所述查询请求包括:日志文件标识和时间段标识;
所述客户端代理装置根据所述日志文件标识和所述时间段标识,获取所述时间段标识所标识的时间段内产生的日志数据的位置索引,所述位置索引用于指示所述时间段内产生的日志数据在所述日志文件标识所标识的日志文件中的位置;
所述客户端代理装置根据所述时间段内产生的日志数据的位置索引,从所述日志宿主机上的所述日志文件中获取所述时间段内产生的日志数据;
所述客户端代理装置将所述时间段内产生的日志数据传输给所述计算节点,以供所述计算节点进行处理。
2.根据权利要求1所述的方法,其特征在于,所述时间段标识所标识的时间段包括至少一个单位周期;
所述客户端代理装置根据所述日志文件标识和所述时间段标识,获取所述时间段标识所标识的时间段内产生的日志数据的位置索引,包括:
所述客户端代理装置根据所述日志文件标识,确定所述日志文件对应的位置索引文件,所述位置索引文件对应存储有单位周期和单位周期内产生的日志数据的位置索引;
所述客户端代理装置根据所述时间段标识,在所述位置索引文件中进行匹配;
如果在所述位置索引文件中匹配到所述时间段包括的单位周期,所述客户端代理装置获取所述位置索引文件中匹配到的单位周期内产生的日志数据的位置索引;
如果未在所述位置索引文件中匹配到所述时间段包括的单位周期,所述客户端代理装置根据所述日志文件标识,对所述日志文件中的日志数据进行解析,确定所述时间段包括的每个单位周期内产生的日志数据的位置索引。
3.根据权利要求2所述的方法,其特征在于,所述客户端代理装置根据所述日志文件标识,对所述日志文件中的日志数据进行解析,确定所述时间段包括的每个单位周期内产生的日志数据的位置索引,包括:
所述客户端代理装置根据所述日志文件标识,确定所述日志文件;
所述客户端代理装置采用二分法,对所述日志文件中的日志数据进行解析,获得所述时间段包括的每个单位周期内产生的日志数据的位置索引;
所述方法还包括:
所述客户端代理装置将所述时间段包括的每个单位周期和所述时间段包括的每个单位周期内产生的日志数据的位置索引对应添加到所述位置索引文件中。
4.根据权利要求2所述的方法,其特征在于,所述客户端代理装置根据所述日志文件标识,确定所述日志文件对应的位置索引文件之前,还包括:
所述客户端代理装置接收所述计算节点发送的启动指示,所述启动指示用于指示自第一时间开始为每个单位周期内产生的日志数据创建位置索引;
所述客户端代理装置自所述第一时间开始为每个单位周期内产生的日志数据创建位置索引,并将自所述第一时间开始的每个单位周期和为每个单位周期内产生的日志数据所创建的位置索引对应存储到所述位置索引文件中。
5.根据权利要求4所述的方法,其特征在于,所述客户端代理装置自所述第一时间开始为每个单位周期内产生的日志数据创建位置索引,包括:
对于所述第一时间之后的每个单位周期,所述客户端代理装置对所述单位周期的上一个单位周期的尾部数据进行解析,确定所述单位周期内产生的日志数据的起始位置,并对所述单位周期的尾部数据进行解析,确定所述单位周期内产生的日志数据的长度,作为所述单位周期内产生的日志数据的位置索引;其中,所述单位周期的尾部数据是指在所述单位周期即将结束时产生的日志数据。
6.根据权利要求1-5任一项所述的方法,其特征在于,所述客户端代理装置将所述时间段内产生的日志数据传输给所述计算节点,包括:
所述客户端代理装置采用零拷贝技术,将所述时间段内产生的日志数据传输给所述计算节点。
7.一种客户端代理装置,其特征在于,所述客户端代理装置部署于日志宿主机,所述客户端代理装置包括:
请求接收模块,用于接收计算节点发送的查询请求,所述查询请求包括:日志文件标识和时间段标识;
索引获取模块,用于根据所述日志文件标识和所述时间段标识,获取所述时间段标识所标识的时间段内产生的日志数据的位置索引,所述位置索引用于指示所述时间段内产生的日志数据在所述日志文件标识所标识的日志文件中的位置;
数据获取模块,用于根据所述时间段内产生的日志数据的位置索引,从所述日志文件中获取所述时间段内产生的日志数据;
发送模块,用于将所述时间段内产生的日志数据传输给所述计算节点,以供所述计算节点进行处理。
8.根据权利要求7所述的装置,其特征在于,所述时间段标识所标识的时间段包括至少一个单位周期;
所述索引获取模块包括:
确定单元,用于根据所述日志文件标识,确定所述日志文件对应的位置索引文件,所述位置索引文件对应存储有单位周期和单位周期内产生的日志数据的位置索引;
匹配单元,用于根据所述时间段标识,在所述位置索引文件中进行匹配;
第一索引获取单元,用于在所述匹配单元在所述位置索引文件中匹配到所述时间段包括的单位周期时,获取所述位置索引文件中匹配到的单位周期内产生的日志数据的位置索引;
第二索引获取单元,用于在所述匹配单元未在所述位置索引文件中匹配到所述时间段包括的单位周期时,根据所述日志文件标识,对所述日志文件中的日志数据进行解析,确定所述时间段包括的每个单位周期内产生的日志数据的位置索引。
9.根据权利要求8所述的装置,其特征在于,所述第二索引获取单元具体用于根据所述日志文件标识,确定所述日志文件,采用二分法,对所述日志文件中的日志数据进行解析,获得所述时间段包括的每个单位周期内产生的日志数据的位置索引;
所述装置还包括:
存储模块,用于将所述时间段包括的每个单位周期和所述时间段包括的每个单位周期内产生的日志数据的位置索引对应添加到所述位置索引文件中。
10.根据权利要求8所述的装置,其特征在于,
指示接收模块,用于接收所述计算节点发送的启动指示,所述启动指示用于指示自第一时间开始为每个单位周期内产生的日志数据创建位置索引;
索引创建模块,用于自所述第一时间开始为每个单位周期内产生的日志数据创建位置索引,将自所述第一时间开始的每个单位周期和为每个单位周期内产生的日志数据所创建的位置索引对应存储到所述位置索引文件中。
11.根据权利要求10所述的装置,其特征在于,所述索引创建模块包括:
索引创建单元,用于对于所述第一时间之后的每个单位周期,对所述单位周期的上一个单位周期的尾部数据进行解析,确定所述单位周期内产生的日志数据的起始位置,并对所述单位周期的尾部数据进行解析,确定所述单位周期内产生的日志数据的长度,作为所述单位周期内产生的日志数据的位置索引;其中,所述单位周期的尾部数据是指在所述单位周期即将结束时产生的日志数据;
存储单元,用于将所述第一时间之后的每个单位周期和所述索引创建单元为每个单位周期内产生的日志数据所创建的位置索引对应存储到所述位置索引文件中。
12.根据权利要求7-11任一项所述的装置,其特征在于,所述发送模块具体用于采用零拷贝技术,将所述时间段内产生的日志数据传输给所述计算节点。
CN201410367727.3A 2014-07-30 2014-07-30 日志数据处理方法及装置 Active CN105335406B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410367727.3A CN105335406B (zh) 2014-07-30 2014-07-30 日志数据处理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410367727.3A CN105335406B (zh) 2014-07-30 2014-07-30 日志数据处理方法及装置

Publications (2)

Publication Number Publication Date
CN105335406A true CN105335406A (zh) 2016-02-17
CN105335406B CN105335406B (zh) 2018-10-02

Family

ID=55285942

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410367727.3A Active CN105335406B (zh) 2014-07-30 2014-07-30 日志数据处理方法及装置

Country Status (1)

Country Link
CN (1) CN105335406B (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105656694A (zh) * 2016-03-15 2016-06-08 上海缔安科技股份有限公司 一种设备日志处理方法
CN106101264A (zh) * 2016-07-20 2016-11-09 腾讯科技(深圳)有限公司 内容分发网络日志推送方法、装置和系统
CN107852349A (zh) * 2016-03-31 2018-03-27 慧与发展有限责任合伙企业 用于多节点集群的事务管理
CN107943807A (zh) * 2016-10-13 2018-04-20 华为技术有限公司 一种数据处理方法及存储设备
CN108427705A (zh) * 2018-01-17 2018-08-21 平安科技(深圳)有限公司 电子装置、分布式系统日志查询方法及存储介质
CN108616556A (zh) * 2016-12-13 2018-10-02 阿里巴巴集团控股有限公司 数据处理方法、装置和系统
CN111008183A (zh) * 2019-11-19 2020-04-14 武汉极意网络科技有限公司 一种用于业务风控日志数据的存储方法及系统
CN111026730A (zh) * 2019-12-20 2020-04-17 广东拓斯达科技股份有限公司 一种日志文件检测方法及装置
CN111723130A (zh) * 2020-06-28 2020-09-29 杭州安恒信息技术股份有限公司 一种历史数据查询方法、装置及设备
WO2023279900A1 (zh) * 2021-07-05 2023-01-12 北京字节跳动网络技术有限公司 日志文件发送方法、装置和客户端

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102902775A (zh) * 2012-09-27 2013-01-30 新浪网技术(中国)有限公司 互联网实时计算的方法和系统
CN103401934A (zh) * 2013-08-06 2013-11-20 广州唯品会信息科技有限公司 获取日志数据的方法和系统
CN103856353A (zh) * 2014-03-06 2014-06-11 上海爱数软件有限公司 一种业务日志数据访问与统计分析的方法及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102902775A (zh) * 2012-09-27 2013-01-30 新浪网技术(中国)有限公司 互联网实时计算的方法和系统
CN103401934A (zh) * 2013-08-06 2013-11-20 广州唯品会信息科技有限公司 获取日志数据的方法和系统
CN103856353A (zh) * 2014-03-06 2014-06-11 上海爱数软件有限公司 一种业务日志数据访问与统计分析的方法及装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
QUINTON ANDERSON: "《Storm实时数据处理》", 30 June 2014 *
实时STORM流程架构总结: "实时storm流程架构总结", 《CSDN》 *

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105656694A (zh) * 2016-03-15 2016-06-08 上海缔安科技股份有限公司 一种设备日志处理方法
CN105656694B (zh) * 2016-03-15 2018-09-28 上海缔安科技股份有限公司 一种设备日志处理方法
US10783021B2 (en) 2016-03-31 2020-09-22 Hewlett Packard Enterprise Development Lp Transaction management for multi-node clusters
CN107852349A (zh) * 2016-03-31 2018-03-27 慧与发展有限责任合伙企业 用于多节点集群的事务管理
CN107852349B (zh) * 2016-03-31 2020-12-01 慧与发展有限责任合伙企业 用于多节点集群的事务管理的系统、方法及存储介质
CN106101264A (zh) * 2016-07-20 2016-11-09 腾讯科技(深圳)有限公司 内容分发网络日志推送方法、装置和系统
CN107943807A (zh) * 2016-10-13 2018-04-20 华为技术有限公司 一种数据处理方法及存储设备
CN107943807B (zh) * 2016-10-13 2020-06-16 华为技术有限公司 一种数据处理方法及存储设备
CN108616556A (zh) * 2016-12-13 2018-10-02 阿里巴巴集团控股有限公司 数据处理方法、装置和系统
CN108616556B (zh) * 2016-12-13 2021-01-19 阿里巴巴集团控股有限公司 数据处理方法、装置和系统
CN108427705A (zh) * 2018-01-17 2018-08-21 平安科技(深圳)有限公司 电子装置、分布式系统日志查询方法及存储介质
CN108427705B (zh) * 2018-01-17 2022-04-12 平安科技(深圳)有限公司 电子装置、分布式系统日志查询方法及存储介质
CN111008183A (zh) * 2019-11-19 2020-04-14 武汉极意网络科技有限公司 一种用于业务风控日志数据的存储方法及系统
CN111008183B (zh) * 2019-11-19 2023-09-15 武汉极意网络科技有限公司 一种用于业务风控日志数据的存储方法及系统
CN111026730A (zh) * 2019-12-20 2020-04-17 广东拓斯达科技股份有限公司 一种日志文件检测方法及装置
CN111723130A (zh) * 2020-06-28 2020-09-29 杭州安恒信息技术股份有限公司 一种历史数据查询方法、装置及设备
WO2023279900A1 (zh) * 2021-07-05 2023-01-12 北京字节跳动网络技术有限公司 日志文件发送方法、装置和客户端

Also Published As

Publication number Publication date
CN105335406B (zh) 2018-10-02

Similar Documents

Publication Publication Date Title
CN105335406A (zh) 日志数据处理方法及装置
CN111897638B (zh) 分布式任务调度方法及系统
CN105531675A (zh) 分散型分布式计算系统
CN109542682B (zh) 一种数据备份方法、装置、设备和存储介质
CN110018996B (zh) 一种分布式存储系统的快照回滚方法及相关装置
CN109144785B (zh) 用于备份数据的方法和装置
CN106445643B (zh) 克隆、升级虚拟机的方法及设备
CN104639347A (zh) 一种多集群监控方法、装置及系统
CN103581332A (zh) HDFS架构及HDFS架构中NameNode节点的压力分解方法
CN105205143A (zh) 一种文件存储及处理方法、设备和系统
US9323760B1 (en) Intelligent snapshot based backups
CN110572464A (zh) 底层资源状态同步方法、装置、云平台系统及存储介质
CN112015595B (zh) 主从数据库的切换方法、计算设备及存储介质
CN108765142B (zh) 电子装置、多区块链整合控制方法和计算机可读存储介质
CN113806305A (zh) 数据导出方法及装置、计算机可读存储介质及电子设备
WO2017147794A1 (zh) 差异数据备份的方法和设备
CN115640110A (zh) 分布式云计算系统调度方法和装置
CN113364877A (zh) 数据处理方法、装置、电子设备和介质
CN114490062A (zh) 一种本地磁盘的调度方法、装置、电子设备及存储介质
CN112464044A (zh) 一种文件数据块变化信息监控管理系统及其方法
CN113761052A (zh) 数据库同步方法和装置
CN109032674B (zh) 一种多进程管理方法、系统及网络设备
CN110888739A (zh) 延迟任务的分布式处理方法与装置
CN110674150A (zh) 一种bmc设置策略更新方法和设备
CN113297008B (zh) 数据处理方法以及系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1218966

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20191212

Address after: P.O. Box 31119, grand exhibition hall, hibiscus street, 802 West Bay Road, Grand Cayman, British Cayman Islands

Patentee after: Innovative advanced technology Co., Ltd

Address before: A four-storey 847 mailbox in Grand Cayman Capital Building, British Cayman Islands

Patentee before: Alibaba Group Holding Co., Ltd.

TR01 Transfer of patent right