CN115168030A - 一种动态调控的日志采集、处理方法、装置及存储介质 - Google Patents
一种动态调控的日志采集、处理方法、装置及存储介质 Download PDFInfo
- Publication number
- CN115168030A CN115168030A CN202210724453.3A CN202210724453A CN115168030A CN 115168030 A CN115168030 A CN 115168030A CN 202210724453 A CN202210724453 A CN 202210724453A CN 115168030 A CN115168030 A CN 115168030A
- Authority
- CN
- China
- Prior art keywords
- data
- log
- processing
- target
- rate
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/505—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3065—Monitoring arrangements determined by the means or processing involved in reporting the monitored data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
- G06F9/5088—Techniques for rebalancing the load in a distributed system involving task migration
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种动态调控的日志采集、处理方法、装置及存储介质,方法包括:根据预配置的待采集的数据源形式以及数据源格式,收集新的日志数据;对所述新的日志数据进行预处理,得到目标日志数据;根据预配置信息,对所述目标日志数据进行调度分发;将所述目标日志数据发送到目标位置;实时获取目标终端的数据处理速率信息,根据所述数据处理速率信息对日志采集处理动作进行动态平衡。本发明的稳定性高且处理效率高,能够降低负载压力,可广泛应用于数据处理技术领域。
Description
技术领域
本发明涉及数据处理技术领域,尤其是一种动态调控的日志采集、处理方法、装置及存储介质。
背景技术
目前业界主流会采用Flume、Logstash、Filebeat等开源组件的方式来进行日志采集的处理。但是,目前的日志采集存在以下问题:
1)遇到数据流高峰的时候,日志采集组件会由于无法进行自动削峰来等动态均衡的方式去控制数据流阈值来进行处理,导致采集程序内存及CPU占用严重,从而影响到宿主服务器或者程序自身崩溃。
2)在接入多个数据源的时候,尽管存在Load Balance机制但是无法避免不同数据流由于数据量不均衡,导致队列及输出组件出现负载不均衡的情况,导致程序出现个别线程异常繁忙,个别线程异常空闲的资源浪费情况。
发明内容
有鉴于此,本发明实施例提供一种稳定性高且处理效率高的动态调控的日志采集、处理方法、装置及存储介质,能够降低负载压力。
本发明的一方面提供了一种动态调控的日志采集、处理方法,包括:
根据预配置的待采集的数据源形式以及数据源格式,收集新的日志数据;
对所述新的日志数据进行预处理,得到目标日志数据;
根据预配置信息,对所述目标日志数据进行调度分发;
将所述目标日志数据发送到目标位置;
实时获取目标终端的数据处理速率信息,根据所述数据处理速率信息对日志采集处理动作进行动态平衡。
可选地,所述根据预配置的待采集的数据源形式以及数据源格式,收集新的日志数据,包括:
预配置的待采集的数据源形式以及数据源格式;
根据预配置的数据源形式以及数据源格式,通过监听约定的数据源,进而接收新数据;
并以每一行数据文件为最小单位将接收到的新数据封装成实体类,将所述实体类作为收集到的新的日志数据;
其中,每个实体类中包含日志正文以及日志元数据信息。
可选地,所述根据预配置的待采集的数据源形式以及数据源格式,收集新的日志数据,还包括从Kafka集群消费日志进行采集处理的步骤,具体包括:
对日志数据进行解析后,更新当前时间窗口下生产速率计数器数值,并根据抽样时间频率T的周期向Back Pressure Monitor模块上报最新时间窗口的生产速率计数器数据,然后重置计数器数值;
获取Back Pressure Monitor反馈的建议生产速率,在下一批次消息消费中,根据所述建议生产速率来进行动态调整限制。
可选地,所述对所述新的日志数据进行预处理,得到目标日志数据,包括以下至少之一:
对所述日志数据中的冗余数据进行过滤处理;
或者,对所述日志数据中的附加信息进行清理处理。
可选地,所述根据预配置信息,对所述目标日志数据进行调度分发,包括:
获取Back Pressure Monitor反馈的各个日志输出端线程的建议处理速率,计算各个Sink的权重值;
以轮询调度权重的方式来对数据流进行切分以及分区;
将重新分区好的数据流推送到Channel队列里面等待将所述目标日志数据发送到目标位置。
可选地,所述将所述目标日志数据发送到目标位置,包括:
根据配置信息把日志写入到指定的目标地;
更新当前时间窗口下处理速率计数器数值,并根据抽样时间频率T的周期向BackPressure Monitor模块上报最新时间窗口的处理速率计数器数据,然后重置计数器数值。
可选地,所述实时获取目标终端的数据处理速率信息,根据所述数据处理速率信息对日志采集处理动作进行动态平衡,包括:
获取Source端上报最新时间窗口的生产速率计数器数据并计算出当前时间窗口的生产速率;
获取Sink端上报最新时间窗口的生产速率计数器数据并计算出当前时间窗口的处理速率;
根据所述生产速率和所述处理速率,计算当前阻塞率;
根据所述当前阻塞率,计算当前建议的生产速率;
根据所述当前建议的生产速率以及所述当前时间窗口的处理速率,对日志采集处理动作进行动态平衡。
本发明实施例的另一方面还提供了一种动态调控的日志采集、处理装置,包括:
日志源采集模块,用于根据预配置的待采集的数据源形式以及数据源格式,收集新的日志数据;
日志预处理模块,用于对所述新的日志数据进行预处理,得到目标日志数据;
日志采集选择器模块,用于根据预配置信息,对所述目标日志数据进行调度分发;
日志输出模块,用于将所述目标日志数据发送到目标位置;
日志监控及调度模块,用于实时获取目标终端的数据处理速率信息,根据所述数据处理速率信息对日志采集处理动作进行动态平衡。
本发明实施例的另一方面还提供了一种电子设备,包括处理器以及存储器;
所述存储器用于存储程序;
所述处理器执行所述程序实现如前面所述的方法。
本发明实施例的另一方面还提供了一种计算机可读存储介质,所述存储介质存储有程序,所述程序被处理器执行实现如前面所述的方法。
本发明实施例还公开了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器可以从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行前面的方法。
本发明的实施例根据预配置的待采集的数据源形式以及数据源格式,收集新的日志数据;对所述新的日志数据进行预处理,得到目标日志数据;根据预配置信息,对所述目标日志数据进行调度分发;将所述目标日志数据发送到目标位置;实时获取目标终端的数据处理速率信息,根据所述数据处理速率信息对日志采集处理动作进行动态平衡。本发明的稳定性高且处理效率高,能够降低负载压力。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的整体步骤流程图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
针对现有技术存在的问题,本发明实施例提供了一种动态调控的日志采集、处理方法,包括:
根据预配置的待采集的数据源形式以及数据源格式,收集新的日志数据;
对所述新的日志数据进行预处理,得到目标日志数据;
根据预配置信息,对所述目标日志数据进行调度分发;
将所述目标日志数据发送到目标位置;
实时获取目标终端的数据处理速率信息,根据所述数据处理速率信息对日志采集处理动作进行动态平衡。
可选地,所述根据预配置的待采集的数据源形式以及数据源格式,收集新的日志数据,包括:
预配置的待采集的数据源形式以及数据源格式;
根据预配置的数据源形式以及数据源格式,通过监听约定的数据源,进而接收新数据;
并以每一行数据文件为最小单位将接收到的新数据封装成实体类,将所述实体类作为收集到的新的日志数据;
其中,每个实体类中包含日志正文以及日志元数据信息。
可选地,所述根据预配置的待采集的数据源形式以及数据源格式,收集新的日志数据,还包括从Kafka集群消费日志进行采集处理的步骤,具体包括:
对日志数据进行解析后,更新当前时间窗口下生产速率计数器数值,并根据抽样时间频率T的周期向Back Pressure Monitor模块上报最新时间窗口的生产速率计数器数据,然后重置计数器数值;
获取Back Pressure Monitor反馈的建议生产速率,在下一批次消息消费中,根据所述建议生产速率来进行动态调整限制。
可选地,所述对所述新的日志数据进行预处理,得到目标日志数据,包括以下至少之一:
对所述日志数据中的冗余数据进行过滤处理;
或者,对所述日志数据中的附加信息进行清理处理。
可选地,所述根据预配置信息,对所述目标日志数据进行调度分发,包括:
获取Back Pressure Monitor反馈的各个日志输出端线程的建议处理速率,计算各个Sink的权重值;
以轮询调度权重的方式来对数据流进行切分以及分区;
将重新分区好的数据流推送到Channel队列里面等待将所述目标日志数据发送到目标位置。
可选地,所述将所述目标日志数据发送到目标位置,包括:
根据配置信息把日志写入到指定的目标地;
更新当前时间窗口下处理速率计数器数值,并根据抽样时间频率T的周期向BackPressure Monitor模块上报最新时间窗口的处理速率计数器数据,然后重置计数器数值。
可选地,所述实时获取目标终端的数据处理速率信息,根据所述数据处理速率信息对日志采集处理动作进行动态平衡,包括:
获取Source端上报最新时间窗口的生产速率计数器数据并计算出当前时间窗口的生产速率;
获取Sink端上报最新时间窗口的生产速率计数器数据并计算出当前时间窗口的处理速率;
根据所述生产速率和所述处理速率,计算当前阻塞率;
根据所述当前阻塞率,计算当前建议的生产速率;
根据所述当前建议的生产速率以及所述当前时间窗口的处理速率,对日志采集处理动作进行动态平衡。
本发明实施例的另一方面还提供了一种动态调控的日志采集、处理装置,包括:
日志源采集模块,用于根据预配置的待采集的数据源形式以及数据源格式,收集新的日志数据;
日志预处理模块,用于对所述新的日志数据进行预处理,得到目标日志数据;
日志采集选择器模块,用于根据预配置信息,对所述目标日志数据进行调度分发;
日志输出模块,用于将所述目标日志数据发送到目标位置;
日志监控及调度模块,用于实时获取目标终端的数据处理速率信息,根据所述数据处理速率信息对日志采集处理动作进行动态平衡。
本发明实施例的另一方面还提供了一种电子设备,包括处理器以及存储器;
所述存储器用于存储程序;
所述处理器执行所述程序实现如前面所述的方法。
本发明实施例的另一方面还提供了一种计算机可读存储介质,所述存储介质存储有程序,所述程序被处理器执行实现如前面所述的方法。
本发明实施例还公开了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器可以从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行前面的方法。
下面结合说明书附图,对本发明的具体实现过程进行详细描述:
本发明包括以下模块:日志源采集模块、日志预处理模块、日志采集选择器模块、日志输出模块。
1)、日志源采集模块:该模块负责约定采集的数据源的形式和格式,通过监听约定的数据源接收新数据并以每一行数据文件为最小单位封装成实体类发送到日志预处理模块,每一个实体类均包含了:日志正文及日志元数据信息。
2)、日志预处理模块:该模块负责接收日志源采集模块传输过来的日志实体进行预处理,该子模块会根据按照约定的规则对日志实体进行过滤、清理、附加额外信息等预处理操作并转发到日志输出模块。
3)、日志采集选择器模块:该模块根据配置情况负责日志数据的调度及分发到下一级处理
4)、日志输出模块:该子模块负责接收日志预处理模块预处理后的数据发送到约定的目标地。
5)、日志Back Pressure监控及调度模块:该子模块负责接收程序Source及Sink端分别上报的生产及处理速率记录,并进行动态平衡,分别反馈建议的生产速率及处理速率给到Source及Sink端去进行动态调节。
1)如图1所示,本发明一种动态均衡的日志采集、处理方法,通过实现日志采集程序中的数据Partition及Back Pressure的机制来提高日志程序的采集性能、降低在数据高峰情况下的性能损耗,提高程序运营的稳定性。该技术的实现步骤如下:
①日志采集程序从Kafka集群消费日志信息并进行以下处理:
a)按照抽样频率记录最新时间窗口的Kafka消费速率,上报到Back PressureMonitor;
b)根据Back Pressure Monitor反馈的建议消费速率进行调整Kafka消费批次。
首先需要理解的是,本发明的实施例数据流的流向是由Source->Channel->Sink这样一个流程,所以这里本实施例的方案里面是没对Sink的速率做控制的,只需要反向控制Source的速率就可以了,下游的Sink的速率自然就会相应有变化了。
本实施例中对于Source的消费速率和生产速率其实是一个概念,因为Source是从Kafka集群中消费数据推送进Channel,再经由Channel流向下游Sink端,所以消费速率也就是Source端的生产速率的意思。
控制Kafka消费速率的方式一般可以通过在保持单次获取记录数量不变的情况下,提高每次获取的时间间隔(这个时间间隔就由建议消费速率来计算出新的时间间隔然后设定),达到单位时间内消费的日志速率下降到建议速率以下的效果。
另外,本发明实施例的Source的建议消费速率,分两种情况:
1)、首先会有一个阻塞率R的概念,R=(X–Y)/Y,即是R是由Source的当前的实际生产速率(通过计数器记录的单位时间内消费的记录数)X减去Sink端当前实际的处理速率Y再除以Y得出的一个阻塞率,用来衡量当前上下游的数据堆积状态,当R>0的时候,R越大代表数据堆积就越严重,需要对Source端进行动态调控,收缩消费速度,当R<=0代表不存在堆积情况,不需要进行干预。
2)、所以Source端的建议消费速度是单位时间内计算出来的实际阻塞率R大于设定的阻塞率Ra(这个是根据实际情况和经验进行设定的)才会进行动态调控,才会有建议的消费速率。
c)根据上述描述,建议速率P是当发生R>Ra的时候,通过线性递减的方式来计算出建议速率,P=X(是当前单位时间内实际的速率)*0.9(同样0.9也是一个可选调整的参数项,一般采用0.9,也会根据实际情况来调整,这个决定了每次迭代的单位时间内,建议生产速率的下降速度)。
c)把日志数据加工成Event格式推送到日志预处理模块进行加工、预处理。
②日志标准化预处理模块会根据预先配置的处理规则针对不同类型的日志正文进行数据预处理,并交由日志采集选择器模块推送到不同的Channel里面。
③日志采集选择器模块会根据所配置的选择器类型来进行数据的分发到不同的Channel,包括以下步骤:
a)根据Back Pressure Monitor反馈的建议写入速率来调整不同Channel的加权权重。
b)通过Round Robin加权权重计算来把数据流分发到不同的Channel里面。
需要说明的是,这里的Channel的加权权重不是根据不同类型的Channel来定义的,实际上这里的权重是用来平衡不同Channel队列的处理效率的。
1)、首先回到前面说的,数据流的流向是由Source->Channel->Sink这样一个流程,而Channel是由多个组成的,一个Sink端对应一个Channel,Sink和Channel是配对组成的,而Sink是负责把数据写入到目标地的,显然不同的Sink是可能存在发送到不同的目标地的,所以不同的Sink的处理效率也同样不一样,所以要通过反向调节上游速率从而降低下游阻塞的情况,同样的也要对分发到Channel来控制分发到下游的数据量。
2)、然后Channel的加权权重默认初始都是1,当出现Channel所配对的Sink出现阻塞的情况,那么就会相应调低Channel的权重值,一般也是通过线性迭代的方式来降低Channel的权重值,同理上面建议速率的下降方式P=X*0.9,这样一个方式达到分配给到出现阻塞的Sink的数据量下降的效果,从而把数据更多地分发到其他的Channel去处理。
④日志输出模块从Channel获取数据,执行以下操作:
a)根据配置信息把日志数据写入到指定的目标地。
b)按照抽样频率记录最新时间窗口的写入速率,上报到Back Pressure Monitor。
⑤日志Back Pressure监控及调度模块主要执行以下操作:
a)记录Source端上报的生产速率。
b)记录Sink端上报的处理速率。
c)计算Source及Sink端的建议速率并反馈给Source和Sink端进行调整和限制。
下面以具体实施场景下的处理流程,对本发明的日志采集、处理方法的实施过程进行描述:
1.日志采集程序从Kafka集群消费日志进行处理:
a)对日志数据进行解析,然后把日志数据推送到日志预处理模块;
b)更新当前时间窗口下生产速率计数器数值,并根据抽样时间频率T的周期向Back Pressure Monitor模块上报最新时间窗口的生产速率计数器数据,然后重置计数器数值;
c)获取Back Pressure Monitor反馈的建议生产速率P条/秒,在下一批次消息消费,根据建议生产速率来进行动态调整限制。
2.日志预处理模块会根据预先配置的处理策略针对不同类型的日志正文进行数据的预处理,并交由日志采集选择器模块推送到不同的Channel队列内等待后续处理。
3.日志采集选择器模块根据配置的选择器类型来进行以下处理:
a)获取Back Pressure Monitor反馈的各个日志输出端线程的建议处理速率C条/秒,计算各个Sink的权重值W;
b)以轮询调度权重的方式来对数据流进行切分、分区;
c)重新分区好的数据流推送到Channel队列里面等待下游日志输出模块进行处理;
4.日志输出模块从Channel队列中获取日志数据进行以下处理:
a)根据配置信息把日志写入到指定的目标地;
b)更新当前时间窗口下处理速率计数器数值,并根据抽样时间频率T的周期向Back Pressure Monitor模块上报最新时间窗口的处理速率计数器数据,然后重置计数器数值;
5.日志Back Pressure监控及调度模块则主要执行以下操作:
a)获取Source端上报最新时间窗口的生产速率计数器数据并计算出当前时间窗口的生产速率X条/秒;
b)获取Sink端上报最新时间窗口的生产速率计数器数据并计算出当前时间窗口的处理速率Y条/秒;
c)计算当前的阻塞率R,R=(X–Y)/Y,当R>Ra(Ra为设定的阻塞率)时,计算出建议的生产速率P=X*0.9,并推送给Source端来进行动态调控;
d)推送当前时间窗口的处理速率Y给到日志采集选择器模块。
综上所述,本发明实现了日志采集程序的Weight-Round-Robin的机制来针对数据进行切分、分区控制下游数据输出的处理量,避免由于日志数据的不均衡导致的资源浪费的问题,提高输出端的处理效率。本发明志采集程序的Back Pressure机制,通过抽样计算上下游处理速率来动态控制上游数据的生产效率,避免在日志高峰的时候由于数据量暴增而导致宿主机严重受影响,降低性能损耗。本发明态削峰的形式来平衡异常峰值导致的程序崩溃的问题,大幅提高程序的稳定性。
相较于现有技术,本发明具有以下优点:
1、降低日志采集及处理程序在数据流高峰的时候负载压力,避免由于突然暴增的数据流压力加重宿主机的性能压力。
2、提高日志采集及处理程序的稳定性,避免由于异常高峰导致程序崩溃。
3、提高日志采集及处理程序各线程的处理效率,解决数据不均衡导致带来的资源浪费。
在一些可选择的实施例中,在方框图中提到的功能/操作可以不按照操作示图提到的顺序发生。例如,取决于所涉及的功能/操作,连续示出的两个方框实际上可以被大体上同时地执行或所述方框有时能以相反顺序被执行。此外,在本发明的流程图中所呈现和描述的实施例以示例的方式被提供,目的在于提供对技术更全面的理解。所公开的方法不限于本文所呈现的操作和逻辑流程。可选择的实施例是可预期的,其中各种操作的顺序被改变以及其中被描述为较大操作的一部分的子操作被独立地执行。
此外,虽然在功能性模块的背景下描述了本发明,但应当理解的是,除非另有相反说明,所述的功能和/或特征中的一个或多个可以被集成在单个物理装置和/或软件模块中,或者一个或多个功能和/或特征可以在单独的物理装置或软件模块中被实现。还可以理解的是,有关每个模块的实际实现的详细讨论对于理解本发明是不必要的。更确切地说,考虑到在本文中公开的装置中各种功能模块的属性、功能和内部关系的情况下,在工程师的常规技术内将会了解该模块的实际实现。因此,本领域技术人员运用普通技术就能够在无需过度试验的情况下实现在权利要求书中所阐明的本发明。还可以理解的是,所公开的特定概念仅仅是说明性的,并不意在限制本发明的范围,本发明的范围由所附权利要求书及其等同方案的全部范围来决定。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。
计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置)、便携式计算机盘盒(磁装置)、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编辑只读存储器(EPROM或闪速存储器)、光纤装置以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。
以上是对本发明的较佳实施进行了具体说明,但本发明并不限于所述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。
Claims (10)
1.一种动态调控的日志采集、处理方法,其特征在于,包括:
根据预配置的待采集的数据源形式以及数据源格式,收集新的日志数据;
对所述新的日志数据进行预处理,得到目标日志数据;
根据预配置信息,对所述目标日志数据进行调度分发;
将所述目标日志数据发送到目标位置;
实时获取目标终端的数据处理速率信息,根据所述数据处理速率信息对日志采集处理动作进行动态平衡。
2.根据权利要求1所述的一种动态调控的日志采集、处理方法,其特征在于,所述根据预配置的待采集的数据源形式以及数据源格式,收集新的日志数据,包括:
预配置的待采集的数据源形式以及数据源格式;
根据预配置的数据源形式以及数据源格式,通过监听约定的数据源,进而接收新数据;
并以每一行数据文件为最小单位将接收到的新数据封装成实体类,将所述实体类作为收集到的新的日志数据;
其中,每个实体类中包含日志正文以及日志元数据信息。
3.根据权利要求2所述的一种动态调控的日志采集、处理方法,其特征在于,所述根据预配置的待采集的数据源形式以及数据源格式,收集新的日志数据,还包括从Kafka集群消费日志进行采集处理的步骤,具体包括:
对日志数据进行解析后,更新当前时间窗口下生产速率计数器数值,并根据抽样时间频率T的周期向Back Pressure Monitor模块上报最新时间窗口的生产速率计数器数据,然后重置计数器数值;
获取Back Pressure Monitor反馈的建议生产速率,在下一批次消息消费中,根据所述建议生产速率来进行动态调整限制。
4.根据权利要求1所述的一种动态调控的日志采集、处理方法,其特征在于,所述对所述新的日志数据进行预处理,得到目标日志数据,包括以下至少之一:
对所述日志数据中的冗余数据进行过滤处理;
或者,对所述日志数据中的附加信息进行清理处理。
5.根据权利要求1所述的一种动态调控的日志采集、处理方法,其特征在于,所述根据预配置信息,对所述目标日志数据进行调度分发,包括:
获取Back Pressure Monitor反馈的各个日志输出端线程的建议处理速率,计算各个Sink的权重值;
以轮询调度权重的方式来对数据流进行切分以及分区;
将重新分区好的数据流推送到Channel队列里面等待将所述目标日志数据发送到目标位置。
6.根据权利要求1所述的一种动态调控的日志采集、处理方法,其特征在于,所述将所述目标日志数据发送到目标位置,包括:
根据配置信息把日志写入到指定的目标地;
更新当前时间窗口下处理速率计数器数值,并根据抽样时间频率T的周期向BackPressure Monitor模块上报最新时间窗口的处理速率计数器数据,然后重置计数器数值。
7.根据权利要求1所述的一种动态调控的日志采集、处理方法,其特征在于,所述实时获取目标终端的数据处理速率信息,根据所述数据处理速率信息对日志采集处理动作进行动态平衡,包括:
获取Source端上报最新时间窗口的生产速率计数器数据并计算出当前时间窗口的生产速率;
获取Sink端上报最新时间窗口的生产速率计数器数据并计算出当前时间窗口的处理速率;
根据所述生产速率和所述处理速率,计算当前阻塞率;
根据所述当前阻塞率,计算当前建议的生产速率;
根据所述当前建议的生产速率以及所述当前时间窗口的处理速率,对日志采集处理动作进行动态平衡。
8.一种动态调控的日志采集、处理装置,其特征在于,包括:
日志源采集模块,用于根据预配置的待采集的数据源形式以及数据源格式,收集新的日志数据;
日志预处理模块,用于对所述新的日志数据进行预处理,得到目标日志数据;
日志采集选择器模块,用于根据预配置信息,对所述目标日志数据进行调度分发;
日志输出模块,用于将所述目标日志数据发送到目标位置;
日志监控及调度模块,用于实时获取目标终端的数据处理速率信息,根据所述数据处理速率信息对日志采集处理动作进行动态平衡。
9.一种电子设备,其特征在于,包括处理器以及存储器;
所述存储器用于存储程序;
所述处理器执行所述程序实现如权利要求1至7中任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述存储介质存储有程序,所述程序被处理器执行实现如权利要求1至7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210724453.3A CN115168030B (zh) | 2022-06-24 | 2022-06-24 | 一种动态调控的日志采集、处理方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210724453.3A CN115168030B (zh) | 2022-06-24 | 2022-06-24 | 一种动态调控的日志采集、处理方法、装置及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115168030A true CN115168030A (zh) | 2022-10-11 |
CN115168030B CN115168030B (zh) | 2023-10-20 |
Family
ID=83487065
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210724453.3A Active CN115168030B (zh) | 2022-06-24 | 2022-06-24 | 一种动态调控的日志采集、处理方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115168030B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102519006B1 (ko) * | 2022-11-21 | 2023-04-07 | 주식회사 에스티씨랩 | 디지털 기반 로그 데이터의 조회 속도 향상을 위한 로그 데이터 관리 방법 및 서버 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105631026A (zh) * | 2015-12-30 | 2016-06-01 | 北京奇艺世纪科技有限公司 | 一种安全数据分析系统 |
CN108121645A (zh) * | 2017-12-25 | 2018-06-05 | 深圳市分期乐网络科技有限公司 | 一种日志质量评估方法、装置、服务器以及存储介质 |
CN109542733A (zh) * | 2018-12-05 | 2019-03-29 | 焦点科技股份有限公司 | 一种高可靠的实时日志收集及可视化检索方法 |
CN110502491A (zh) * | 2019-07-25 | 2019-11-26 | 北京神州泰岳智能数据技术有限公司 | 一种日志采集系统及其数据传输方法、装置 |
CN110784417A (zh) * | 2018-07-31 | 2020-02-11 | 阿里巴巴集团控股有限公司 | 拥塞控制方法、设备及系统 |
CN111897790A (zh) * | 2020-07-31 | 2020-11-06 | 平安普惠企业管理有限公司 | 风控日志采集方法、装置、电子设备及存储介质 |
CN113821410A (zh) * | 2021-09-23 | 2021-12-21 | 新华三信息安全技术有限公司 | 一种日志处理方法和装置 |
US20220004480A1 (en) * | 2019-06-28 | 2022-01-06 | Boe Technology Group Co., Ltd. | Log data collection method, log data collection device, storage medium, and log data collection system |
-
2022
- 2022-06-24 CN CN202210724453.3A patent/CN115168030B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105631026A (zh) * | 2015-12-30 | 2016-06-01 | 北京奇艺世纪科技有限公司 | 一种安全数据分析系统 |
CN108121645A (zh) * | 2017-12-25 | 2018-06-05 | 深圳市分期乐网络科技有限公司 | 一种日志质量评估方法、装置、服务器以及存储介质 |
CN110784417A (zh) * | 2018-07-31 | 2020-02-11 | 阿里巴巴集团控股有限公司 | 拥塞控制方法、设备及系统 |
CN109542733A (zh) * | 2018-12-05 | 2019-03-29 | 焦点科技股份有限公司 | 一种高可靠的实时日志收集及可视化检索方法 |
US20220004480A1 (en) * | 2019-06-28 | 2022-01-06 | Boe Technology Group Co., Ltd. | Log data collection method, log data collection device, storage medium, and log data collection system |
CN110502491A (zh) * | 2019-07-25 | 2019-11-26 | 北京神州泰岳智能数据技术有限公司 | 一种日志采集系统及其数据传输方法、装置 |
CN111897790A (zh) * | 2020-07-31 | 2020-11-06 | 平安普惠企业管理有限公司 | 风控日志采集方法、装置、电子设备及存储介质 |
CN113821410A (zh) * | 2021-09-23 | 2021-12-21 | 新华三信息安全技术有限公司 | 一种日志处理方法和装置 |
Non-Patent Citations (1)
Title |
---|
张安: "背压(backpressure)监控", 《HTTPS://WWW.CNBLOGS.COM/LANYUN0520/P/5676617.HTML》, pages 1 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102519006B1 (ko) * | 2022-11-21 | 2023-04-07 | 주식회사 에스티씨랩 | 디지털 기반 로그 데이터의 조회 속도 향상을 위한 로그 데이터 관리 방법 및 서버 |
Also Published As
Publication number | Publication date |
---|---|
CN115168030B (zh) | 2023-10-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110502494B (zh) | 日志处理方法、装置、计算机设备及存储介质 | |
CN110196767B (zh) | 服务资源控制方法、装置、设备和存储介质 | |
EP1769352B1 (en) | Method and apparatus for dynamic cpu resource management | |
US7702824B2 (en) | Computer system and method for performing low impact backup operations | |
US20130160024A1 (en) | Dynamic Load Balancing for Complex Event Processing | |
EP2854018A1 (en) | Storage management device, control method , and control program | |
WO2003073203A2 (en) | System and method for analyzing input/output activity on local attached storage | |
CN110018781B (zh) | 磁盘流控方法、装置以及电子设备 | |
CN114726862B (zh) | 基于状态监控芯片确定计算节点运行状态的方法及系统 | |
US20060277317A1 (en) | Providing flow control and moderation in a distributed message processing system | |
CN115168030A (zh) | 一种动态调控的日志采集、处理方法、装置及存储介质 | |
CN107402863B (zh) | 一种用于通过日志系统处理业务系统的日志的方法与设备 | |
CN108664321B (zh) | 系统资源分配调整方法及装置 | |
CN115211092B (zh) | 一种消息拉取方法、装置以及计算机存储介质 | |
CN107038067B (zh) | 分布式流处理中处理资源的管理方法和装置 | |
CN114827049A (zh) | 一种基于kafka的堆积数据消费方法、终端设备及存储介质 | |
US7203713B2 (en) | Method and apparatus for optimizing extent size | |
JP2005128866A (ja) | 計算機装置及び計算機装置の制御方法 | |
CN112052088B (zh) | 自适应的进程cpu资源限制方法、装置、终端及存储介质 | |
CN111782396B (zh) | 一种基于分布式数据库的并发弹性控制方法 | |
CN112379935A (zh) | Spark性能优化控制方法、装置、设备及存储介质 | |
CN107609129B (zh) | 日志实时处理系统 | |
CN115314439A (zh) | 数据存储io请求的流控方法和相关装置 | |
CN113810307A (zh) | 一种数据流量控制方法、系统及存储介质 | |
CN111913852B (zh) | 存储系统的健康管理方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |