CN116048866A - 基于实时流计算引擎的数据故障检测方法、系统及介质 - Google Patents

基于实时流计算引擎的数据故障检测方法、系统及介质 Download PDF

Info

Publication number
CN116048866A
CN116048866A CN202310208894.2A CN202310208894A CN116048866A CN 116048866 A CN116048866 A CN 116048866A CN 202310208894 A CN202310208894 A CN 202310208894A CN 116048866 A CN116048866 A CN 116048866A
Authority
CN
China
Prior art keywords
event
data
log
abnormal
event state
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
CN202310208894.2A
Other languages
English (en)
Other versions
CN116048866B (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.)
Zhejiang Ponshine Information Technology Co ltd
Original Assignee
Zhejiang Ponshine Information Technology Co 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 Zhejiang Ponshine Information Technology Co ltd filed Critical Zhejiang Ponshine Information Technology Co ltd
Priority to CN202310208894.2A priority Critical patent/CN116048866B/zh
Publication of CN116048866A publication Critical patent/CN116048866A/zh
Application granted granted Critical
Publication of CN116048866B publication Critical patent/CN116048866B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/079Root cause analysis, i.e. error or fault diagnosis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0709Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a distributed system consisting of a plurality of standalone computer nodes, e.g. clusters, client-server systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24568Data stream processing; Continuous queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2477Temporal data queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/544Buffers; Shared memory; Pipes
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Quality & Reliability (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Hardware Design (AREA)
  • Biomedical Technology (AREA)
  • Health & Medical Sciences (AREA)
  • Fuzzy Systems (AREA)
  • Mathematical Physics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明涉及基于实时流计算引擎的数据故障检测方法、系统及介质,其方法包括以下步骤:S1、在数据流进入Flink程序之后,对每一条事件打上当前时间戳标签并根据事件及其时间戳加密生成一个通用唯一识别码;S2、根据事件对应的通用唯一识别码生成事件状态缓存,并按时间戳排序;S3、在每个算子链的位置读取数据以获取slot的ID和事件,并根据事件对应的通用唯一识别码将其写入事件状态缓存;S4、判断事件状态缓存是否满足预设释放条件;若是,则转至步骤S5;S5、判断满足释放条件的目标事件是否完成整个流处理流程;若否,则目标事件标记为异常事件。本发明实现数据故障的自动化检测,有效提升数据故障检测的效率和精度。

Description

基于实时流计算引擎的数据故障检测方法、系统及介质
技术领域
本发明属于大数据分析技术领域,具体涉及基于实时流计算引擎的数据故障检测方法、系统及介质。
背景技术
实时流计算引擎Flink是一个计算框架和分布式处理引擎,采用事件驱动,支持窗口、CEP等多种计算方法。
目前,Flink Web能够展示每个TaskExecutor下的slot以及各slot处理的事件个数,有利于判断数据倾斜、反压等情况,但仍有许多数据问题无法解决。例如,当采用贪婪模式正则对事件进行匹配,因脏数据导致匹配无法完成,造成资源堆积程序异常时;对于发现故障环节,无论是否启用Flink故障恢复机制,若没有外部进程监测、资源监测等自动化报警方案,则仅能通过人工访问发现故障;对于排查故障的环节,需要拉取一段时期内的数据复现并通过日志打印才能定位到故障数据并判断出故障问题;且实际生产环境普遍对文件操作存在限制,导致故障排查流程耗时较长、效率低下。
现有Flink对于故障问题的发现和排查并未提供合适的方法,需要结合第三方工具实现,且仅适用于发现环节,无法有效的排查故障问题。
发明内容
基于现有技术中存在的上述缺点和不足,本发明的目的之一是至少解决现有技术中存在的上述问题之一或多个,换言之,本发明的目的之一是提供满足前述需求之一或多个的一种基于实时流计算引擎的数据故障检测方法、系统及介质。
为了达到上述发明目的,本发明采用以下技术方案:
一种基于实时流计算引擎的数据故障检测方法,包括以下步骤:
S1、在数据流进入Flink程序之后,对每一条事件打上当前时间戳标签并根据事件及其时间戳加密生成一个通用唯一识别码;
S2、根据事件对应的通用唯一识别码生成事件状态缓存,并按时间戳排序;
S3、在每个算子链的位置读取数据以获取slot的ID和事件,并根据事件对应的通用唯一识别码将其写入事件状态缓存;
S4、判断事件状态缓存是否满足预设释放条件;若是,则转至步骤S5;
S5、判断满足释放条件的目标事件是否完成整个流处理流程;若否,则目标事件标记为异常事件。
作为优选方案,所述事件状态缓存以通用唯一识别码为key,记录事件从Source到Sink的流程信息;
其中,流程信息包括一个Source、若干算子和至多一个Sink的信息。
作为优选方案,所述步骤S4中,预设释放条件为时间跨度;相应地,在生成事件状态缓存时同时生成一个睡眠线程;若睡眠线程被唤醒时,则相应事件作为满足释放条件的目标事件。
作为优选方案,所述步骤S4中,预设释放条件为事件状态缓存数量阈值;若当前事件状态缓存数量超出事件状态缓存数量阈值,则将时间戳最早的事件作为满足释放条件的目标事件。
作为优选方案,所述步骤S5中,判断事件是否完成整个流处理流程的过程,包括:
事件状态缓存生成时被打上Started标签;
对于向下游推进到最后的Sink位置的事件,若Sink算子具有返回值DataStreamSink,则更新的事件状态信息被打上Completed标签;
对于在流处理流程中被过滤掉的事件,若事件在最后一个算子位置的输出为空,则更新的事件状态信息被打上Completed标签;
当事件状态信息至少存在一对Started标签、Completed标签且Started标签和Completed标签的数量相同,则事件完成整个流处理流程的过程。
作为优选方案,数据故障检测方法,还包括以下步骤:
S6、将异常事件发送至报警端。
作为优选方案,数据故障检测方法,还包括以下步骤:
S7、采集Flink程序运行的日志信息,得到初始日志文本数据集并进行日志类别标记,得到标记数据集;其中,日志类别标记包括:对正常日志和异常日志进行分类标记;还对异常日志进行异常场景标记,包括程序异常标记、资源异常标记、数据源异常标记和未知类型异常标记;
S8、对初始日志文本数据集进行文本日志标准化解析,得到结构化日志数据集;对结构化日志数据集进行关键词提取,形成日志关键词数据集;
S9、通过日志关键词数据集、标记数据集对LSTM的输出作为CNN的输入构成的分类模型进行模型训练,形成目标分类模型;
S10、将待检测日志经过步骤S8处理,之后输入目标分类模型,以输出日志故障类别。
作为优选方案,所述关键词提取的过程,包括以下步骤:
S81、将结构化日志数据集的数据通过Pandas读取成数据框;
S82、利用英文分词NLTK对每个数据框进行分词处理;
S83、利用步骤S82的分词结果训练TF-IDF模型,获取TF-IDF矩阵,并作为LDA模型的输入矩阵;
S84、利用Scikit-learn中的LDA模型,设定求解算法为online,输出六个主题,每个主题输出一个代表关键词,最终得到六个主题的关键词。
本发明还提供一种基于实时流计算引擎的数据故障检测系统,应用如上任一项方案所述的数据故障检测方法,所述数据故障检测系统包括:
标签模块,用于在数据流进入Flink程序之后,对每一条事件打上当前时间戳标签并根据事件及其时间戳加密生成一个通用唯一识别码;
创建模块,用于根据事件对应的通用唯一识别码生成事件状态缓存,并按时间戳排序;
读写模块,用于在每个算子链的位置读取数据以获取slot的ID和事件,并根据事件对应的通用唯一识别码将其写入事件状态缓存;
判断模块,用于判断事件状态缓存是否满足预设释放条件,还用于判断满足释放条件的目标事件是否完成整个流处理流程;
标记模块,用于标记满足释放条件的事件为目标事件,还用于标记未完成整个流处理流程的目标事件为异常事件。
本发明还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当指令在计算机上运行时,使得计算机执行如上任一项方案所述的数据故障检测方法。
本发明与现有技术相比,有益效果是:
本发明的基于实时流计算引擎的数据故障检测方法、系统及介质,实现数据故障的自动化检测,有效提升数据故障检测的效率和精度。
附图说明
图1是本发明实施例1的基于实时流计算引擎的数据故障检测方法的流程图;
图2是本发明实施例1的日志故障分类的流程图;
图3是本发明实施例1的分类模型的网络结构示意图;
图4是本发明实施例1的基于实时流计算引擎的数据故障检测系统的模块构架图。
具体实施方式
为了更清楚地说明本发明实施例,下面将对照附图说明本发明的具体实施方式。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,并获得其他的实施方式。
实施例1:
如图1所示,本实施例的基于实时流计算引擎的数据故障检测方法,包括以下步骤:
S1、在数据流进入Flink程序之后,对每一条事件打上当前时间戳标签并根据事件及其时间戳加密生成一个通用唯一识别码UUID。
在Flink程序内,获取事件需要继承SourceFunction等类自定义Source源或使用Flink内置的Source连接器。
对于自定义Source源的情况,新建类继承Flink的SourceFunction、ProcessFunction、SinkFunction等算子类,命名格式为Warpped+类名,分别构造inputWrap()和outputWrap()方法,Source类别的类构造outputWrap(),Sink类别的类构造inputWrap(),Process类别的类两个方法都构造,并定义一个类型为Tuple(String,String)的属性eventMark。
Source类别的类与Process类别的类的outputWrap()方法不同,Source类别的类的outputWrap()方法参数为泛型T,返回值为Tuple(Tuple(String,String),T),方法内容为生成一个时间戳,将传入的事件和时间戳连接进行MD5加密生成事件UUID,事件UUID为1值、时间戳为2值生成一个元组,该元组为1值、事件为2值再生成一个元组,后一个元组即为返回值传出;Process类别的类的outputWrap()方法参数返回值与Source类别相同,方法内容为以eventMark属性为1值、事件为2值生成一个元组,该元组作为返回值传出。
inputWrap()方法参数为Tuple(Tuple(String,String),T),返回值为T,方法内容为将传入参数外层元组的1值存入eventMark属性,并将2值作为返回值传出。
对于内置Source连接器的情况下,需要对连接器进行重写,以FlinkKafkaConsumer为例,构建WrappedKafkaFecther继承AbstractFetcher和Serializable,基本内容直接搬运KafkaFether,修改partitionConsumerRecordsHandler方法内容,将deserializer.deserialize(record, kafkaCollector);语句中的record封装为Tuple(Tuple(timeStamp,id),record)并进行序列化,然后调用kafkaCollect.collect方法将事件传出。对于其他内置算子如map等,不支持事件UUID和时间戳的封装,需创建自定义算子继承Wrapped类调用。
上述关于Flink程序的具体技术用语还可参考现有技术,在此不赘述。
S2、根据事件对应的通用唯一识别码生成事件状态缓存,并按时间戳排序。
本实施例的事件状态缓存以通用唯一识别码为key,记录事件从Source到Sink的流程信息;其中,流程信息包括一个Source、若干算子和至多一个Sink的信息,即该事件经过的所有算子信息。
具体地,构建一个外部缓存程序,程序包括缓存实体类EventEntity、操作方法类EventMunipulating、外部调用接口类EventResource、数据库链接工具类SinkTool。该程序仅用于存储缓存,默认不清理缓存,仅支持方法清理。
在上述构建程序中,构建对接外部缓存程序的操作方法类EventMunipulating,包含方法addEvent()、getEvent()、removeEvent()、updateEvent(),分别对应添加事件、获取事件、移除事件和更新事件;上述方法参数分别为eventLog、eventId、eventId、eventLog,都为String类型,对应事件状态信息和事件UUID,返回值分别为Void、String、String、Void。其中,addEvent()方法内容为在事件状态信息中添加started状态发送到外部缓存程序由操作方法类对接写入缓存实体类;getEvent()方法内容为根据事件UUID直接获取缓存实体类中存储的事件状态信息;removeEvent()方法内容为根据事件UUID移除缓存实体类中对应的事件状态信息,移除成功返回null,若移除失败则返回对应的事件状态信息;updateEvent()方法内容为将事件状态信息发送到外部缓存程序写入缓存实体类,若事件状态信息output不为空则直接发送,若为空,则打上Completed标签后发送。上述方法发送请求时以方法名为标识并入事件发送以便外部缓存程序识别。
S3、在每个算子链的位置读取数据以获取slot的ID和事件,并根据事件对应的通用唯一识别码将其写入事件状态缓存。
本实施例对Flink程序的DataStream进行封装,封装方法为warpDataStream(),参数为DataStream,返回值为DataStream。方法内容为解构DataStream获取对应算子的信息,以循环方法map()为例,需要获取如下信息:
其一、获取封装operator算子后的Transformation类的id属性,事件进入dataStream后会根据Transformation决定计算内容和计算单元,即获取到了对应slot的id;
其二、获取StreamGraphGenerator的jobName属性,其为流处理业务的Job名称;
其三、获取StreamTask的taskId、taskName属性,其为当前slot对应的算子id和name;
其四、获取InputGate下InputWithData内部类的data属性,其为从上游算子接收的事件;
其五、获取createStreamOperator时StreamOperatorParameters的output属性,其为事件计算后的数据;从data或output中将timeStamp、id、event分别取出后与transformationId、taskId、taskName一起存入HashMap,以taskId为key,并增加一个State并设置为空值。
当data为null时,表明此为事件起点,从output中取值,变更state值为Started,调用addEvent()方法生成缓存;当output为null时,表示此为事件终点,从data中取值,变更State值为Completed,调用updateEvent()更新缓存。其中,Data不为null时全部调用updateEvent()。
另外,warpDataStream()还有两个重构方法,一种参数为DataStream、Boolean、Int,返回值为DataStream,用于封装调用了addSource()的数据流,即封装事件起始状态的方法;另一种参数为DataStreamSink,返回值为DataStreamSink,用于封装调用了addSink的数据流,由于Sink算子较为特殊,其数据流类型为DataStreamSink,不再获取output信息,直接写入Completed状态。
本实施例在构建的外部缓存程序EventEntity构造eventEntity属性,类型为HashMap,以id为key,value为List[HashMap]类型,List内的HashMap以transformationName为key,eventLog为value。方法为addEvent()、getEvent()、removeEvent(),参数分别为eventLog、id、id,返回值分别为void、String、Tuple(String,String)。addEvent方法内容为以id为key,eventLog为值存入eventEntity,当存在相同id时,内部的HashMap若存在相同的transformationName则在List内新建一个HashMap存入;getEvent()方法根据id返回eventLog;removeEvent()方法内容为迭代判断事件List中的HashMap是否满足同时拥有一个Started状态和一个Completed状态,若满足则返回的1值为true,若缺失Started则为false1,若缺失Completed则为false2,然后将该条事件从eventEntity中清除。
外部缓存程序的EventMunipulating与Flink插件程序的EventMunipulating构造相同,方法相同,方法内容不同,由EventResource接收请求后根据传入方法名执行对eventEntity的各项操作。addEvent()调用EventEntity的addEvent()方法,并判断List下的HashMap中有无count key,若有取HashMap.size()对比count值,若大于count值则按时间戳排序并调用removeEvent()方法清除最旧的一条事件;getEvent()调用EventEntity的getEvent()方法;removeEvent()调用EventEntity的removeEvent()方法并调用SinkTool的数据库链接方法将返回的eventLog存入数据库,若返回的1值为true则返回null,若为false1和false2则返回false1或false2加eventLog;updateEvent()同样调用EventEntity的addEvent()方法。
Flink插件程序中同样构建一个数据库链接工具类SinkTool,上述事件的slot信息除写入缓存外,同时调用SinkTool的数据库链接方法入库,用于前端调用。
S4、判断事件状态缓存是否满足预设释放条件;若是,则转至步骤S5。
具体地,若预设释放条件为时间跨度;相应地,在生成事件状态缓存时同时生成一个睡眠线程;若睡眠线程被唤醒时,则相应事件作为满足释放条件的目标事件。若预设释放条件为事件状态缓存数量阈值;若当前事件状态缓存数量超出事件状态缓存数量阈值,则将时间戳最早的事件作为满足释放条件的目标事件。
在上一步骤的封装事件起始状态的warpDataStream()方法有一个参数为Boolean类型,该参数为true表示事件缓存按时间存储,为false时表示事件缓存按条数存储。另一个参数为Int类型为存储间隔,时间存储的情况下单位为秒,限制在10-3600秒之间;条数存储的情况下单位为条,限制在10-100000条之间。为true时addEvent()执行完毕后另启一个异步线程,即睡眠线程,让该线程睡眠参数提供的时间,若超过范围则抛出错误,线程唤醒后调用removeEvent()清除之前那条事件;为false时addEvent()的参数eventLog增加一个count key,value为参数提供的值,若超过范围则抛出错误。
其中,时间跨度推荐10秒至1小时之间,事件状态缓存数量阈值,即数量跨度,推荐10至100000条之间,因期限内事件采用内存存储方式,不推荐存储过量数据。事件释放后存入数据库中,可选择保存时限,推荐为1到7天。
S5、判断满足释放条件的目标事件是否完成整个流处理流程;若否,则目标事件标记为异常事件。
具体地,判断事件是否完成整个流处理流程的过程,包括:
事件状态缓存生成时被打上Started标签;
对于向下游推进到最后的Sink位置的事件,若Sink算子具有返回值DataStreamSink,则更新的事件状态信息被打上Completed标签;
对于在流处理流程中被过滤掉的事件,若事件在最后一个算子位置的输出为空,则更新的事件状态信息被打上Completed标签;
当事件状态信息至少存在一对Started标签、Completed标签且Started标签和Completed标签的数量相同,则事件完成整个流处理流程的过程。
在获取到http的返回数据后,若返回数据为null,表示数据正常,直接返回null;若不为null且错误信息为false1,则抛出检查点重启数据异常错误信息;若错误信息为false2,则抛出流处理流程阻塞数据异常,最终返回异常事件状态信息。在获取到异常事件状态信息后调用SinkTool的数据库链接方法将其入库。
其中,对于流处理流程阻塞数据异常,此异常状态表明该事件触发了程序异常,导致流计算卡住,可能会带来资源堆积、程序故障等问题,该事件为实际造成数据故障的异常数据。此异常状态下事件状态表现为存在Started状态,缺失Completed状态。
对于检查点重启数据错误信息,此异常状态表明程序已经发生故障并触发了容错机制重启策略,当程序从检查点重启时,该事件在流处理流程中的状态会被记录,但靠前的算子信息已获取完毕不再重新获取,靠后的算子信息再次获取后会导致流处理流程不完整。该事件与实际故障无关,仅表明在某一时间节点程序发生过故障,此时间节点可根据事件时间戳和检查点策略排查得出。此异常状态下事件状态表现为缺失Started状态。
S6、将异常事件发送至报警端。例如,通过短信、邮件等方式通知产生了异常事件。具体可通过封装短信发送功能,当生成了标记为异常事件后,将异常事件发送到记录的手机。
另外,在实现异常事件的标记之后,如图2所示,数据故障检测方法,还包括以下步骤:
S7、采集Flink程序运行的日志信息,得到初始日志文本数据集并进行日志类别(即日志类型)标记,得到标记数据集;其中,日志类别标记包括:对正常日志和异常日志进行分类标记0&1;还对异常日志进行异常场景标记,包括程序异常标记11、资源异常标记12、数据源异常标记13和未知类型异常标记14。
另外,在初始日志文本数据集进行标记之前还进行数据清洗。
S8、对初始日志文本数据集进行文本日志标准化解析,得到结构化日志数据集;对结构化日志数据集进行关键词提取,形成日志关键词数据集。
具体地,关键词提取的过程,包括以下步骤:
S81、将结构化日志数据集的数据通过Pandas读取成数据框;
S82、利用英文分词NLTK对每个数据框进行分词处理;
NLTK是在英文分词场景下处理语料库、分类文本、分析语言结构等多项操作中最常用的包,由于英文语句基本上是由标点符号、空格和词组成,那么只要根据空格和标点符号将词语分割成数组即可。
S83、利用步骤S82的分词结果训练TF-IDF模型,获取TF-IDF矩阵,并作为LDA模型的输入矩阵;TF-IDF模型是一种统计方法,用以评估某一字词对于一个文件集或者一个语料库从重要程度,其主要思想是如果一个词或短语在一篇文章中出现的词频高且在其他文章中很少出现,则认为该词或短语有很好的类别区分能力,适合用来分类,具体可参考现有技术,在此不赘述。
S84、利用Scikit-learn中的LDA模型,设定求解算法为online,输出六个主题,每个主题输出一个代表关键词,最终得到六个主题的关键词。
S9、通过日志关键词数据集、标记数据集对LSTM的输出作为CNN的输入构成的分类模型(即融合的LSTM&CNN网络)进行模型训练,形成目标分类模型。其中,分类模型的网络构架参见图3所示,即将LSTM的输出输入CNN,最终实现分类。
S10、将待检测日志经过步骤S8处理,之后输入目标分类模型,以输出日志故障类别,进而定位到故障问题所在,同样可使用短信方式进行故障报警。
基于上述数据故障检测方法,如图4所示,本实施例还提供基于实时流计算引擎的数据故障检测系统,包括标签模块、创建模块、读写模块、判断模块、标记模块、报警模块、采集模块、数据处理模块、关键词提取模块、训练模块和分类模块。
本实施例的标签模块用于在数据流进入Flink程序之后,对每一条事件打上当前时间戳标签并根据事件及其时间戳加密生成一个通用唯一识别码UUID。
在Flink程序内,获取事件需要继承SourceFunction等类自定义Source源或使用Flink内置的Source连接器。
对于自定义Source源的情况,新建类继承Flink的SourceFunction、ProcessFunction、SinkFunction等算子类,命名格式为Warpped+类名,分别构造inputWrap()和outputWrap()方法,Source类别的类构造outputWrap(),Sink类别的类构造inputWrap(),Process类别的类两个方法都构造,并定义一个类型为Tuple(String,String)的属性eventMark。
Source类别的类与Process类别的类的outputWrap()方法不同,Source类别的类的outputWrap()方法参数为泛型T,返回值为Tuple(Tuple(String,String),T),方法内容为生成一个时间戳,将传入的事件和时间戳连接进行MD5加密生成事件UUID,事件UUID为1值、时间戳为2值生成一个元组,该元组为1值、事件为2值再生成一个元组,后一个元组即为返回值传出;Process类别的类的outputWrap()方法参数返回值与Source类别相同,方法内容为以eventMark属性为1值、事件为2值生成一个元组,该元组作为返回值传出。
inputWrap()方法参数为Tuple(Tuple(String,String),T),返回值为T,方法内容为将传入参数外层元组的1值存入eventMark属性,并将2值作为返回值传出。
对于内置Source连接器的情况下,需要对连接器进行重写,以FlinkKafkaConsumer为例,构建WrappedKafkaFecther继承AbstractFetcher和Serializable,基本内容直接搬运KafkaFether,修改partitionConsumerRecordsHandler方法内容,将deserializer.deserialize(record, kafkaCollector);语句中的record封装为Tuple(Tuple(timeStamp,id),record)并进行序列化,然后调用kafkaCollect.collect方法将事件传出。对于其他内置算子如map等,不支持事件UUID和时间戳的封装,需创建自定义算子继承Wrapped类调用。
上述关于Flink程序的具体技术用语还可参考现有技术,在此不赘述。
本实施例的创建模块用于根据事件对应的通用唯一识别码UUID生成事件状态缓存,并按时间戳排序。其中,本实施例的事件状态缓存以通用唯一识别码为key,记录事件从Source到Sink的流程信息;其中,流程信息包括一个Source、若干算子和至多一个Sink的信息,即该事件经过的所有算子信息。
具体地,构建一个外部缓存程序,程序包括缓存实体类EventEntity、操作方法类EventMunipulating、外部调用接口类EventResource、数据库链接工具类SinkTool。该程序仅用于存储缓存,默认不清理缓存,仅支持方法清理。
在上述构建程序中,构建对接外部缓存程序的操作方法类EventMunipulating,包含方法addEvent()、getEvent()、removeEvent()、updateEvent(),分别对应添加事件、获取事件、移除事件和更新事件;上述方法参数分别为eventLog、eventId、eventId、eventLog,都为String类型,对应事件状态信息和事件UUID,返回值分别为Void、String、String、Void。其中,addEvent()方法内容为在事件状态信息中添加started状态发送到外部缓存程序由操作方法类对接写入缓存实体类;getEvent()方法内容为根据事件UUID直接获取缓存实体类中存储的事件状态信息;removeEvent()方法内容为根据事件UUID移除缓存实体类中对应的事件状态信息,移除成功返回null,若移除失败则返回对应的事件状态信息;updateEvent()方法内容为将事件状态信息发送到外部缓存程序写入缓存实体类,若事件状态信息output不为空则直接发送,若为空,则打上Completed标签后发送。上述方法发送请求时以方法名为标识并入事件发送以便外部缓存程序识别。
本实施例的读写模块用于在每个算子链的位置读取数据以获取slot的ID和事件,并根据事件对应的通用唯一识别码将其写入事件状态缓存。
本实施例对Flink程序的DataStream进行封装,封装方法为warpDataStream(),参数为DataStream,返回值为DataStream。方法内容为解构DataStream获取对应算子的信息,以循环方法map()为例,需要获取如下信息:
其一、获取封装operator算子后的Transformation类的id属性,事件进入dataStream后会根据Transformation决定计算内容和计算单元,即获取到了对应slot的id;
其二、获取StreamGraphGenerator的jobName属性,其为流处理业务的Job名称;
其三、获取StreamTask的taskId、taskName属性,其为当前slot对应的算子id和name;
其四、获取InputGate下InputWithData内部类的data属性,其为从上游算子接收的事件;
其五、获取createStreamOperator时StreamOperatorParameters的output属性,其为事件计算后的数据;从data或output中将timeStamp、id、event分别取出后与transformationId、taskId、taskName一起存入HashMap,以taskId为key,并增加一个State并设置为空值。
当data为null时,表明此为事件起点,从output中取值,变更state值为Started,调用addEvent()方法生成缓存;当output为null时,表示此为事件终点,从data中取值,变更State值为Completed,调用updateEvent()更新缓存。其中,Data不为null时全部调用updateEvent()。
另外,warpDataStream()还有两个重构方法,一种参数为DataStream、Boolean、Int,返回值为DataStream,用于封装调用了addSource()的数据流,即封装事件起始状态的方法;另一种参数为DataStreamSink,返回值为DataStreamSink,用于封装调用了addSink的数据流,由于Sink算子较为特殊,其数据流类型为DataStreamSink,不再获取output信息,直接写入Completed状态。
本实施例在构建的外部缓存程序EventEntity构造eventEntity属性,类型为HashMap,以id为key,value为List[HashMap]类型,List内的HashMap以transformationName为key,eventLog为value。方法为addEvent()、getEvent()、removeEvent(),参数分别为eventLog、id、id,返回值分别为void、String、Tuple(String,String)。addEvent方法内容为以id为key,eventLog为值存入eventEntity,当存在相同id时,内部的HashMap若存在相同的transformationName则在List内新建一个HashMap存入;getEvent()方法根据id返回eventLog;removeEvent()方法内容为迭代判断事件List中的HashMap是否满足同时拥有一个Started状态和一个Completed状态,若满足则返回的1值为true,若缺失Started则为false1,若缺失Completed则为false2,然后将该条事件从eventEntity中清除。
外部缓存程序的EventMunipulating与Flink插件程序的EventMunipulating构造相同,方法相同,方法内容不同,由EventResource接收请求后根据传入方法名执行对eventEntity的各项操作。addEvent()调用EventEntity的addEvent()方法,并判断List下的HashMap中有无count key,若有取HashMap.size()对比count值,若大于count值则按时间戳排序并调用removeEvent()方法清除最旧的一条事件;getEvent()调用EventEntity的getEvent()方法;removeEvent()调用EventEntity的removeEvent()方法并调用SinkTool的数据库链接方法将返回的eventLog存入数据库,若返回的1值为true则返回null,若为false1和false2则返回false1或false2加eventLog;updateEvent()同样调用EventEntity的addEvent()方法。
Flink插件程序中同样构建一个数据库链接工具类SinkTool,上述事件的slot信息除写入缓存外,同时调用SinkTool的数据库链接方法入库,用于前端调用。
本实施例的判断模块用于判断事件状态缓存是否满足预设释放条件。
具体地,若预设释放条件为时间跨度;相应地,在生成事件状态缓存时同时生成一个睡眠线程;若睡眠线程被唤醒时,则相应事件作为满足释放条件的目标事件。若预设释放条件为事件状态缓存数量阈值;若当前事件状态缓存数量超出事件状态缓存数量阈值,则将时间戳最早的事件作为满足释放条件的目标事件。
在上一步骤的封装事件起始状态的warpDataStream()方法有一个参数为Boolean类型,该参数为true表示事件缓存按时间存储,为false时表示事件缓存按条数存储。另一个参数为Int类型为存储间隔,时间存储的情况下单位为秒,限制在10-3600秒之间;条数存储的情况下单位为条,限制在10-100000条之间。为true时addEvent()执行完毕后另启一个异步线程,即睡眠线程,让该线程睡眠参数提供的时间,若超过范围则抛出错误,线程唤醒后调用removeEvent()清除之前那条事件;为false时addEvent()的参数eventLog增加一个count key,value为参数提供的值,若超过范围则抛出错误。
其中,时间跨度推荐10秒至1小时之间,事件状态缓存数量阈值,即数量跨度,推荐10至100000条之间,因期限内事件采用内存存储方式,不推荐存储过量数据。事件释放后存入数据库中,可选择保存时限,推荐为1到7天。
本实施例的判断模块还用于判断满足释放条件的目标事件是否完成整个流处理流程。
具体地,判断事件是否完成整个流处理流程的过程,包括:
事件状态缓存生成时被打上Started标签;
对于向下游推进到最后的Sink位置的事件,若Sink算子具有返回值DataStreamSink,则更新的事件状态信息被打上Completed标签;
对于在流处理流程中被过滤掉的事件,若事件在最后一个算子位置的输出为空,则更新的事件状态信息被打上Completed标签;
当事件状态信息至少存在一对Started标签、Completed标签且Started标签和Completed标签的数量相同,则事件完成整个流处理流程的过程。
在获取到http的返回数据后,若返回数据为null,表示数据正常,直接返回null;若不为null且错误信息为false1,则抛出检查点重启数据异常错误信息;若错误信息为false2,则抛出流处理流程阻塞数据异常,最终返回异常事件状态信息。在获取到异常事件状态信息后调用SinkTool的数据库链接方法将其入库。
其中,对于流处理流程阻塞数据异常,此异常状态表明该事件触发了程序异常,导致流计算卡住,可能会带来资源堆积、程序故障等问题,该事件为实际造成数据故障的异常数据。此异常状态下事件状态表现为存在Started状态,缺失Completed状态。
对于检查点重启数据错误信息,此异常状态表明程序已经发生故障并触发了容错机制重启策略,当程序从检查点重启时,该事件在流处理流程中的状态会被记录,但靠前的算子信息已获取完毕不再重新获取,靠后的算子信息再次获取后会导致流处理流程不完整。该事件与实际故障无关,仅表明在某一时间节点程序发生过故障,此时间节点可根据事件时间戳和检查点策略排查得出。此异常状态下事件状态表现为缺失Started状态。
本实施例的标记模块用于标记满足释放条件的事件为目标事件,还用于标记未完成整个流处理流程的目标事件为异常事件。
本实施例的报警模块用于将异常事件发送至报警端。例如,通过短信、邮件等方式通知产生了异常事件。
本实施例的采集模块用于采集Flink程序运行的日志信息,得到初始日志文本数据集。
本实施例的数据处理模块用于对初始日志文本数据集进行数据清洗并进行日志类别(即日志类型)标记,得到标记数据集。其中,日志类别标记包括:对正常日志和异常日志进行分类标记0&1;还对异常日志进行异常场景标记,包括程序异常标记11、资源异常标记12、数据源异常标记13和未知类型异常标记14。
本实施例的数据处理模块还用于对初始日志文本数据集进行文本日志标准化解析,得到结构化日志数据集。
本实施例的关键词提取模块用于对结构化日志数据集进行关键词提取,形成日志关键词数据集。具体地,关键词提取的过程,包括以下步骤:
(1)将结构化日志数据集的数据通过Pandas读取成数据框;
(2)利用英文分词NLTK对每个数据框进行分词处理;
NLTK是在英文分词场景下处理语料库、分类文本、分析语言结构等多项操作中最常用的包,由于英文语句基本上是由标点符号、空格和词组成,那么只要根据空格和标点符号将词语分割成数组即可。
(3)利用步骤S82的分词结果训练TF-IDF模型,获取TF-IDF矩阵,并作为LDA模型的输入矩阵;TF-IDF模型是一种统计方法,用以评估某一字词对于一个文件集或者一个语料库从重要程度,其主要思想是如果一个词或短语在一篇文章中出现的词频高且在其他文章中很少出现,则认为该词或短语有很好的类别区分能力,适合用来分类,具体可参考现有技术,在此不赘述。
(4)利用Scikit-learn中的LDA模型,设定求解算法为online,输出六个主题,每个主题输出一个代表关键词,最终得到六个主题的关键词。
本实施例的训练模块,用于通过日志关键词数据集、标记数据集对LSTM的输出作为CNN的输入构成的分类模型(即融合的LSTM&CNN网络)进行模型训练,形成目标分类模型。其中,分类模型的网络构架参见图3所示,即将LSTM的输出输入CNN,最终实现分类。
本实施例的分类模块用于将待检测日志经过关键词提取处理之后,输入目标分类模型,以输出日志故障类别,进而定位到故障问题所在,同样可通过报警模块使用短信方式进行故障报警。
本实施例的计算机可读存储介质,计算机可读存储介质中存储有指令,当指令在计算机上运行时,使得计算机执行上述数据故障检测方法,实现数据故障检测的智能化。
上述英文用语均为本领域公知的常用技术术语,具体含义可参考现有技术,在此不赘述。
实施例2:
本实施例的基于实时流计算引擎的数据故障检测方法与实施例1的不同之处在于:
可以省略步骤S7及其之后的步骤流程,流程简化,满足不同应用的需求;
其他步骤可以参考实施例1;
相应地,本实施例的基于实时流计算引擎的数据故障检测系统根据方法的简化进行相应的模块的简化即可;
本实施例的计算机可读存储介质,计算机可读存储介质中存储有指令,当指令在计算机上运行时,使得计算机执行上述数据故障检测方法,实现数据故障检测的智能化。
实施例3:
本实施例的基于实时流计算引擎的数据故障检测方法与实施例1的不同之处在于:
根据事件及其时间戳加密生成的通用唯一识别码UUID可能并不唯一,这是因为同一时间戳内可能会收到多条且重复的事件,此时进行加密就会获得相同的UUID。因此,在生成事件状态缓存时,需要判断有无相同UUID,若无,则正常生成;若有,则在该事件状态下增加一个计数,后续的算子中获得的信息也同样再记录一次,判断事件是否满足释放条件时也需同时满足多个事件的流程;
其他步骤可以参考实施例1;
相应地,本实施例的基于实时流计算引擎的数据故障检测系统根据方法的不同进行相应的模块的功能调整即可;
本实施例的计算机可读存储介质,计算机可读存储介质中存储有指令,当指令在计算机上运行时,使得计算机执行上述数据故障检测方法,实现数据故障检测的智能化。
以上所述仅是对本发明的优选实施例及原理进行了详细说明,对本领域的普通技术人员而言,依据本发明提供的思想,在具体实施方式上会有改变之处,而这些改变也应视为本发明的保护范围。

Claims (10)

1.一种基于实时流计算引擎的数据故障检测方法,其特征在于,包括以下步骤:
S1、在数据流进入Flink程序之后,对每一条事件打上当前时间戳标签并根据事件及其时间戳加密生成一个通用唯一识别码;
S2、根据事件对应的通用唯一识别码生成事件状态缓存,并按时间戳排序;
S3、在每个算子链的位置读取数据以获取slot的ID和事件,并根据事件对应的通用唯一识别码将其写入事件状态缓存;
S4、判断事件状态缓存是否满足预设释放条件;若是,则转至步骤S5;
S5、判断满足释放条件的目标事件是否完成整个流处理流程;若否,则目标事件标记为异常事件。
2.根据权利要求1所述的数据故障检测方法,其特征在于,所述事件状态缓存以通用唯一识别码为key,记录事件从Source到Sink的流程信息;
其中,流程信息包括一个Source、若干算子和至多一个Sink的信息。
3.根据权利要求2所述的数据故障检测方法,其特征在于,所述步骤S4中,预设释放条件为时间跨度;相应地,在生成事件状态缓存时同时生成一个睡眠线程;若睡眠线程被唤醒时,则相应事件作为满足释放条件的目标事件。
4.根据权利要求2所述的数据故障检测方法,其特征在于,所述步骤S4中,预设释放条件为事件状态缓存数量阈值;若当前事件状态缓存数量超出事件状态缓存数量阈值,则将时间戳最早的事件作为满足释放条件的目标事件。
5.根据权利要求3或4或所述的数据故障检测方法,其特征在于,所述步骤S5中,判断事件是否完成整个流处理流程的过程,包括:
事件状态缓存生成时被打上Started标签;
对于向下游推进到最后的Sink位置的事件,若Sink算子具有返回值DataStreamSink,则更新的事件状态信息被打上Completed标签;
对于在流处理流程中被过滤掉的事件,若事件在最后一个算子位置的输出为空,则更新的事件状态信息被打上Completed标签;
当事件状态信息至少存在一对Started标签、Completed标签且Started标签和Completed标签的数量相同,则事件完成整个流处理流程的过程。
6.根据权利要求1-4任一项所述的数据故障检测方法,其特征在于,还包括以下步骤:
S6、将异常事件发送至报警端。
7.根据权利要求1-4任一项所述的数据故障检测方法,其特征在于,还包括以下步骤:
S7、采集Flink程序运行的日志信息,得到初始日志文本数据集并进行日志类别标记,得到标记数据集;其中,日志类别标记包括:对正常日志和异常日志进行分类标记;还对异常日志进行异常场景标记,包括程序异常标记、资源异常标记、数据源异常标记和未知类型异常标记;
S8、对初始日志文本数据集进行文本日志标准化解析,得到结构化日志数据集;对结构化日志数据集进行关键词提取,形成日志关键词数据集;
S9、通过日志关键词数据集、标记数据集对LSTM的输出作为CNN的输入构成的分类模型进行模型训练,形成目标分类模型;
S10、将待检测日志经过步骤S8处理,之后输入目标分类模型,以输出日志故障类别。
8.根据权利要求7所述的数据故障检测方法,其特征在于,所述关键词提取的过程,包括以下步骤:
S81、将结构化日志数据集的数据通过Pandas读取成数据框;
S82、利用英文分词NLTK对每个数据框进行分词处理;
S83、利用步骤S82的分词结果训练TF-IDF模型,获取TF-IDF矩阵,并作为LDA模型的输入矩阵;
S84、利用Scikit-learn中的LDA模型,设定求解算法为online,输出六个主题,每个主题输出一个代表关键词,最终得到六个主题的关键词。
9.一种基于实时流计算引擎的数据故障检测系统,应用如权利要求1-8任一项所述的数据故障检测方法,其特征在于,所述数据故障检测系统包括:
标签模块,用于在数据流进入Flink程序之后,对每一条事件打上当前时间戳标签并根据事件及其时间戳加密生成一个通用唯一识别码;
创建模块,用于根据事件对应的通用唯一识别码生成事件状态缓存,并按时间戳排序;
读写模块,用于在每个算子链的位置读取数据以获取slot的ID和事件,并根据事件对应的通用唯一识别码将其写入事件状态缓存;
判断模块,用于判断事件状态缓存是否满足预设释放条件,还用于判断满足释放条件的目标事件是否完成整个流处理流程;
标记模块,用于标记满足释放条件的事件为目标事件,还用于标记未完成整个流处理流程的目标事件为异常事件。
10.一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,其特征在于,当指令在计算机上运行时,使得计算机执行如权利要求1-8任一项所述的数据故障检测方法。
CN202310208894.2A 2023-03-07 2023-03-07 基于实时流计算引擎的数据故障检测方法、系统及介质 Active CN116048866B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310208894.2A CN116048866B (zh) 2023-03-07 2023-03-07 基于实时流计算引擎的数据故障检测方法、系统及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310208894.2A CN116048866B (zh) 2023-03-07 2023-03-07 基于实时流计算引擎的数据故障检测方法、系统及介质

Publications (2)

Publication Number Publication Date
CN116048866A true CN116048866A (zh) 2023-05-02
CN116048866B CN116048866B (zh) 2023-06-09

Family

ID=86133315

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310208894.2A Active CN116048866B (zh) 2023-03-07 2023-03-07 基于实时流计算引擎的数据故障检测方法、系统及介质

Country Status (1)

Country Link
CN (1) CN116048866B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117171213A (zh) * 2023-09-11 2023-12-05 上海轴芯科技有限公司 一种基于异构计算机体系的大数据监管系统及方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160253229A1 (en) * 2013-10-30 2016-09-01 Hewlett Packard Enterprise Development Lp Event log analysis
CN109690524A (zh) * 2016-09-15 2019-04-26 甲骨文国际公司 分布式事件处理系统中的数据序列化
CN112631740A (zh) * 2019-09-24 2021-04-09 中兴通讯股份有限公司 一种事件处理方法、装置、终端及计算机可读存储介质
CN114238415A (zh) * 2021-12-24 2022-03-25 四川新网银行股份有限公司 基于Flink的实时规则引擎控制方法、系统及介质
CN115129736A (zh) * 2022-07-04 2022-09-30 东方合智数据科技(广东)有限责任公司 基于规则引擎的规则事件动态加载与更新方法及相关设备
CN115357418A (zh) * 2022-06-21 2022-11-18 南开大学 微服务故障检测方法、装置、存储介质及计算机设备
US20220405592A1 (en) * 2022-03-10 2022-12-22 University Of Electronic Science And Technology Of China Multi-feature log anomaly detection method and system based on log full semantics

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160253229A1 (en) * 2013-10-30 2016-09-01 Hewlett Packard Enterprise Development Lp Event log analysis
CN109690524A (zh) * 2016-09-15 2019-04-26 甲骨文国际公司 分布式事件处理系统中的数据序列化
CN112631740A (zh) * 2019-09-24 2021-04-09 中兴通讯股份有限公司 一种事件处理方法、装置、终端及计算机可读存储介质
CN114238415A (zh) * 2021-12-24 2022-03-25 四川新网银行股份有限公司 基于Flink的实时规则引擎控制方法、系统及介质
US20220405592A1 (en) * 2022-03-10 2022-12-22 University Of Electronic Science And Technology Of China Multi-feature log anomaly detection method and system based on log full semantics
CN115357418A (zh) * 2022-06-21 2022-11-18 南开大学 微服务故障检测方法、装置、存储介质及计算机设备
CN115129736A (zh) * 2022-07-04 2022-09-30 东方合智数据科技(广东)有限责任公司 基于规则引擎的规则事件动态加载与更新方法及相关设备

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117171213A (zh) * 2023-09-11 2023-12-05 上海轴芯科技有限公司 一种基于异构计算机体系的大数据监管系统及方法
CN117171213B (zh) * 2023-09-11 2024-02-02 上海轴芯科技有限公司 一种基于异构计算机体系的大数据监管系统及方法

Also Published As

Publication number Publication date
CN116048866B (zh) 2023-06-09

Similar Documents

Publication Publication Date Title
US10649838B2 (en) Automatic correlation of dynamic system events within computing devices
Xu et al. Online system problem detection by mining patterns of console logs
Aharon et al. One graph is worth a thousand logs: Uncovering hidden structures in massive system event logs
EP3734520A1 (en) Fault analysis and prediction using empirical architecture analytics
US20070260931A1 (en) Merging multi-line log entries
CN111339175B (zh) 数据处理方法、装置、电子设备及可读存储介质
CN111881011A (zh) 日志管理方法、平台、服务器及存储介质
CN116048866B (zh) 基于实时流计算引擎的数据故障检测方法、系统及介质
CN112579728B (zh) 基于海量数据全文检索的行为异常识别方法及装置
WO2022062185A1 (zh) 告警信息推送方法、系统、智能终端及存储介质
CN114780335A (zh) 监测数据的关联方法、装置、计算机设备和存储介质
CN113420032A (zh) 一种日志的分类存储方法及装置
CN114154035A (zh) 一种动环监控的数据处理系统
CN109284331B (zh) 基于业务数据资源的制证信息获取方法、终端设备及介质
CN116881100A (zh) 日志检测方法、日志告警方法、系统、设备及存储介质
CN111367934B (zh) 数据一致性的检验方法、装置、服务器和介质
CN111581057B (zh) 一种通用日志解析方法、终端设备及存储介质
CN116756021A (zh) 基于事件分析的故障定位方法、装置、电子设备及介质
CN116185298A (zh) 一种日志分布式存储的方法
CN111461770B (zh) 一种基于模型的用户画像系统
CN114398425A (zh) 一种基于kafka消息实现即时查询的系统及方法
CN113704216A (zh) 系统日志处理方法、装置、计算机设备和存储介质
CN103778218A (zh) 基于云计算的标准信息一致性预警系统及方法
Shah et al. Automated Log Analysis and Anomaly Detection Using Machine Learning
CN112543127A (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