CN112905371A - 基于异构多源数据异常检测的软件变更检查方法和装置 - Google Patents
基于异构多源数据异常检测的软件变更检查方法和装置 Download PDFInfo
- Publication number
- CN112905371A CN112905371A CN202110118722.7A CN202110118722A CN112905371A CN 112905371 A CN112905371 A CN 112905371A CN 202110118722 A CN202110118722 A CN 202110118722A CN 112905371 A CN112905371 A CN 112905371A
- Authority
- CN
- China
- Prior art keywords
- data
- time sequence
- change
- historical
- acquiring
- 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
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error 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/0706—Error 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error 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/0766—Error or fault reporting or storing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3692—Test management for test results analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/1805—Append-only file systems, e.g. using logs or journals to store data
- G06F16/1815—Journaling file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2474—Sequence data queries, e.g. querying versioned data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/151—Transformation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
- G06F40/186—Templates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/049—Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Quality & Reliability (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Biophysics (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Databases & Information Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Computer Hardware Design (AREA)
- Evolutionary Computation (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Probability & Statistics with Applications (AREA)
- Fuzzy Systems (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请提出一种基于异构多源数据异常检测的软件变更检查方法和装置,涉及数据处理技术领域,其中,方法包括:获取当前时间的日志文本和指标数据,将日志文本转换为多条时间序列数据;将指标数据和多条时间序列数据依次输入已训练的多模态模型,获取每个数据点的测试分数;在连续三个数据点对应的测试分数大于预设阈值的情况下,进行告警处理,并判断异常是否与变更故障存在关联关系。由此,可以提前发现隐藏在多种数据源中的征兆模式,减少平均检测时间,以及可以学习到跨数据源的信息与关联关系,会得到更准确、全面的检查结果。
Description
技术领域
本申请涉及数据处理技术领域,尤其涉及一种基于异构多源数据异常检测的软件变更检查方法和装置。
背景技术
通常,在大型软件服务如社交网络、在线购物中,工程师会频繁的进行软件变更,为了修复已有的漏洞,修改配置,提升性能等。虽然,在每次软件变更之前,工程师都会进行充分的代码测试(包括单元测试和集成测试),但是由于线上环境的复杂性,总是不可避免的会发生一些问题与故障。一般,软件中70%的故障都与变更有关。因此需要在变更后密切检查监控数据的表现,及时发现监控数据中存在的异常,对于可疑的变更需要及时回滚,避免对业务造成进一步的影响。
相关技术中,工业界现有的做法一般是在变更后,手工比对变更所在的应用***的黄金指标(如响应时间、交易量、成功率)的表现,通过环比检查发现业务指标是否存在问题。但是,在大规模软件***中,每天可能涉及到成百上千个变更,因此手工检查是非常耗时耗力而且易错的。一旦出现了误报,会导致无辜的变更被终止、开发人员耗费了大量的时间做无用的排查;一旦出现了漏报,会导致有问题的变更被忽略而顺利上线,最终可能会造成严重的业务损失。
发明内容
本申请旨在至少在一定程度上解决相关技术中的技术问题之一。
为此,本申请的第一个目的在于提出一种基于异构多源数据异常检测的软件变更检查方法,可以提前发现隐藏在其他数据源中的征兆模式,减少MTTD(mean time todetection,平均检测时间),以及可以学习到跨数据源的信息与关联关系,会得到更准确、全面的检查结果。
本申请的第二个目的在于提出一种基于异构多源数据异常检测的软件变更检查装置。
为达上述目的,本申请第一方面实施例提出了一种基于异构多源数据异常检测的软件变更检查方法,包括:
获取当前时间的日志文本和指标数据,将所述日志文本转换为多条时间序列数据;
将所述指标数据和所述多条时间序列数据依次输入已训练的多模态模型,获取每个数据点的测试分数;
在连续三个数据点对应的测试分数大于预设阈值的情况下,进行告警处理,并判断异常是否与变更故障存在关联关系。
本申请实施例的基于异构多源数据异常检测的软件变更检查方法,通过获取当前时间的日志文本和指标数据,将日志文本转换为多条时间序列数据;将指标数据和多条时间序列数据依次输入已训练的多模态模型,获取每个数据点的测试分数;在连续三个数据点对应的测试分数大于预设阈值的情况下,进行告警处理,并判断异常是否与变更故障存在关联关系。由此,可以提前发现隐藏在其他数据源中的征兆模式,减少平均检测时间,以及可以学习到跨数据源的信息与关联关系,会得到更准确、全面的检查结果。
可选地,在本申请的一个实施例中,所述将所述日志文本转换为多条时间序列数据,包括:
通过日志模板提取算法对所述日志文本进行n个模板提取,对每一个模板,统计每分钟所述每个模板出现的次数,将所述每条模板序列化成时间序列,获取所述多条时间序列数据;其中,n为正整数。
可选地,在本申请的一个实施例中,在所述将所述指标数据和所述多条时间序列数据依次输入已训练的多模态模型之前,还包括:
获取历史日志文本和历史指标数据,将所述历史日志文本转换为多条历史时间序列数据;
将所述历史指标数据和所述历史多条时间序列数据依次输入LSTM长短期记忆网络建模单一时间序列上的关联信息,并用多模态融合学习跨数据源之间的关联关系,输出预测值与标注的真实值之间的差值调整所述多模态模型的参数,获取已训练的多模态模型。
可选地,在本申请的一个实施例中,根据所述每个数据点的测试分数进行排名,并将所述排名结果发送至目标设备。
可选地,在本申请的一个实施例中,所述判断异常是否与变更故障存在关联关系,包括:
通过已经部署变更与尚未部署变更的测试结果对比,如果尚未部署变更的测试结果有异常,确定与变更无关;如果尚未部署变更的测试结果正常,确定与变更有关;或,
获取知识库;其中,所述知识库包括预期异常的变更操作和对应的数据表现,基于所述知识库中的规则进行匹配,确定异常是否与变更故障存在关联关系。
为达上述目的,本申请第二方面实施例提出了一种基于异构多源数据异常检测的软件变更检查装置,包括:
第一获取模块,用于获取当前时间的日志文本和指标数据;
转换模块,用于将所述日志文本转换为多条时间序列数据;
第二获取模块,用于将所述指标数据和所述多条时间序列数据依次输入已训练的多模态模型,获取每个数据点的测试分数;
处理模块,用于在连续三个数据点对应的测试分数大于预设阈值的情况下,进行告警处理;
判断模块,用于判断异常是否与变更故障存在关联关系。
本申请实施例的基于异构多源数据异常检测的软件变更检查装置,通过获取当前时间的日志文本和指标数据,将日志文本转换为多条时间序列数据;将指标数据和多条时间序列数据依次输入已训练的多模态模型,获取每个数据点的测试分数;在连续三个数据点对应的测试分数大于预设阈值的情况下,进行告警处理,并判断异常是否与变更故障存在关联关系。由此,可以提前发现隐藏在其他数据源中的征兆模式,减少平均检测时间,以及可以学习到跨数据源的信息与关联关系,会得到更准确、全面的检查结果。
可选地,在本申请的一个实施例中,所述转换模块,具体用于:
通过日志模板提取算法对所述日志文本进行n个模板提取,对每一个模板,统计每分钟所述每个模板出现的次数,将所述每条模板序列化成时间序列,获取所述多条时间序列数据;其中,n为正整数。
可选地,在本申请的一个实施例中,第三获取模块,用于获取历史日志文本和历史指标数据,将所述历史日志文本转换为多条历史时间序列数据;
训练模块,用于将所述历史指标数据和所述历史多条时间序列数据依次输入LSTM长短期记忆网络建模单一时间序列上的关联信息,并用多模态融合学习跨数据源之间的关联关系,输出预测值与标注的真实值之间的差值调整所述多模态模型的参数,获取已训练的多模态模型。
可选地,在本申请的一个实施例中,发送模块,用于根据所述每个数据点的测试分数进行排名,并将所述排名结果发送至目标设备。
可选地,在本申请的一个实施例中,所述判断模块,具体用于:
通过已经部署变更与尚未部署变更的测试结果对比,如果尚未部署变更的测试结果有异常,确定与变更无关;如果尚未部署变更的测试结果正常,确定与变更有关;或,
获取知识库;其中,所述知识库包括预期异常的变更操作和对应的数据表现,基于所述知识库中的规则进行匹配,确定异常是否与变更故障存在关联关系。
本申请附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到。
附图说明
本申请上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为本申请实施例一所提供的一种基于异构多源数据异常检测的软件变更检查方法的流程示意图;
图2为本申请实施例的基于异构多源数据异常检测的软件变更检查方法的处理示例图;
图3为本申请实施例所提供的一种基于异构多源数据异常检测的软件变更检查装置的结构示意图。
具体实施方式
下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本申请,而不能理解为对本申请的限制。
下面参考附图描述本申请实施例的基于异构多源数据异常检测的软件变更检查方法和装置。
图1为本申请实施例一所提供的一种基于异构多源数据异常检测的软件变更检查方法的流程示意图。
如图2所示,该基于异构多源数据异常检测的软件变更检查方法包括以下步骤:
步骤101,获取当前时间的日志文本和指标数据,将日志文本转换为多条时间序列数据。
在本申请实施例中,通过日志模板提取算法对日志文本进行n个模板提取,对每一个模板,统计每分钟每个模板出现的次数,将每条模板序列化成时间序列,获取多条时间序列数据;其中,n为正整数。
具体地,软件变更通常涉及多源异构数据(如指标与日志),日志是文本数据,指标是时间序列数据(如响应时间、交易量、成功率),如何在异构数据上建模是算法的第一个挑战。本申请提出日志特征提取与预处理方法,把日志的文本数据建模成时间序列数据。首先用日志模板提取算法比如Drain对日志进行模板提取(假设提取有n个模板),对每一个模板,统计每分钟该模板出现的次数,把每条模板序列化成时间序列。由于在线上环境下,可能会出现一些无法匹配地上已有的模板的新日志模式,统计了未匹配日志的时间序列作为特征。同时日志的总量序列也作为一个特征。经过上述的模板提取与序列化,文本日志数据可以转换成(n+2)条时间序列格式的数据。
步骤102,将指标数据和所述多条时间序列数据依次输入已训练的多模态模型,获取每个数据点的测试分数。
步骤103,在连续三个数据点对应的测试分数大于预设阈值的情况下,进行告警处理,并判断异常是否与变更故障存在关联关系。
在本申请实施例中,获取历史日志文本和历史指标数据,将历史日志文本转换为多条历史时间序列数据;将历史指标数据和所述历史多条时间序列数据依次输入LSTM长短期记忆网络建模单一时间序列上的关联信息,并用多模态融合学习跨数据源之间的关联关系,输出预测值与标注的真实值之间的差值调整所述多模态模型的参数,获取已训练的多模态模型。
具体地,通过前面的数据预处理,异构数据被统一处理成时间序列的格式,如何在多源时间序列上建模并进行异常检测是要解决的第二个问题。提出采用多模态LSTM的算法进行异常检测,包含两个核心思想:用LSTM长短期记忆网络(LSTM,Long Short-TermMemory)建模单一时间序列上的依赖;用多模态融合学习跨数据源之间的关联关系。最终通过模型输出的预测值与真实值之间的差值作为测试分数。
具体地,得到测试分数后,需要确定一个阈值,超过阈值的认为是异常。一般而言,训练集(正常数据)的测试分数都比较低,可以采用3-sigma的思想确定阈值。在实时测试过程中,一旦测试分数超过3-sigma,就认为这个点是异常。此外,由于一些短暂的网络抖动等外部问题也会导致测试分数超过阈值,但是软件变更导致的异常一般是持续性的异常。因此设置告警策略为连续三个超过阈值的异常点才会触发告警。
在本申请实施例中,根据每个数据点的测试分数进行排名,并将排名结果发送至目标设备。
具体地,本申请会输出一份分析报告,根据每个数据源的异常程度进行排名,方面工程师查看变更后全部数据的变化状态。异常排名也有助于工程师进行故障排查,比如如果CPU利用率的异常程度最高,那可以猜测这个变更故障可能是由CPU资源问题导致的。
在本申请实施例中,通过已经部署变更与尚未部署变更的测试结果对比,如果尚未部署变更的测试结果有异常,确定与变更无关;如果尚未部署变更的测试结果正常,确定与变更有关;或,获取知识库;其中,知识库包括预期异常的变更操作和对应的数据表现,基于知识库中的规则进行匹配,确定异常是否与变更故障存在关联关系。
具体地,在产生告警后,需要判断监控数据的异常表现是否和变更故障有关,主要排除下面两种情况:1)一些外部原因导致异常表现(比如网络攻击),这与本次变更的好坏无关。采用A/B test的策略来过滤掉这种情况。在通用的灰度发布的策略下,通过对比实验组(已经部署变更)与对照组(尚未部署变更)的表现,如果对照组同样有异常,说明与变更无关,是外部因素导致的;如果对照组表现正常,说明与变更有关。2)一些变更本身就会导致监控数据形态变化,但是是预期中的异常。比如资源扩容就会导致实例的CPU使用率降低和响应时间降低。对于这种情况,需要结合变更的物理意义,提出了一个基于知识库的策略,对于一些会导致预期异常的变更操作和对应的数据表现作为知识记录在知识库中,知识库可以不断更新与维护。我们可以基于知识库中的规则进行匹配,过滤掉正常的变更。
通过前面的过滤,就可以找到可疑的变更,经过人工确认后,如果有问题就需要进行及时的回滚。对应正常变更带来的异常,也需要让监控***快速适应指标模式的剧变。还可以把变更前后数据的线性变化替换成基于神经网络的通用的回归模型,从而使得监控***快速适应。
举例而言,如图2所示,可用于在线服务***的快速、准确的变更后验证,及时捕捉到失败的变更并回滚,一方面和传统方法比起来,可以提前发现问题,提高平均故障发现时间。同时在发生故障后,还可以快速做出决策和止损动作。应用该技术方法,可大大减少由变更导致的故障数量。
本申请实施例的基于异构多源数据异常检测的软件变更检查方法,通过获取当前时间的日志文本和指标数据,将日志文本转换为多条时间序列数据;将指标数据和多条时间序列数据依次输入已训练的多模态模型,获取每个数据点的测试分数;在连续三个数据点对应的测试分数大于预设阈值的情况下,进行告警处理,并判断异常是否与变更故障存在关联关系。由此,可以提前发现隐藏在其他数据源中的征兆模式,减少平均检测时间,以及可以学习到跨数据源的信息与关联关系,会得到更准确、全面的检查结果。
为了实现上述实施例,本申请还提出一种基于异构多源数据异常检测的软件变更检查装置。
图3为本申请实施例提供的一种基于异构多源数据异常检测的软件变更检查装置的结构示意图。
如图3所示,该基于异构多源数据异常检测的软件变更检查装置包括:第一获取模块310、转换模块320、第二获取模块330、处理模块340和判断模块350。
第一获取模块310,用于获取当前时间的日志文本和指标数据。
转换模块320,用于将所述日志文本转换为多条时间序列数据。
第二获取模块330,用于将所述指标数据和所述多条时间序列数据依次输入已训练的多模态模型,获取每个数据点的测试分数。
处理模块340,用于在连续三个数据点对应的测试分数大于预设阈值的情况下,进行告警处理。
判断模块350,用于判断异常是否与变更故障存在关联关系。
在本申请实施例中,转换模块320,具体用于:通过日志模板提取算法对所述日志文本进行n个模板提取,对每一个模板,统计每分钟所述每个模板出现的次数,将所述每条模板序列化成时间序列,获取所述多条时间序列数据;其中,n为正整数。
在本申请实施例中,第三获取模块,用于获取历史日志文本和历史指标数据,将所述历史日志文本转换为多条历史时间序列数据;训练模块,用于将所述历史指标数据和所述历史多条时间序列数据依次输入LSTM长短期记忆网络建模单一时间序列上的关联信息,并用多模态融合学习跨数据源之间的关联关系,输出预测值与标注的真实值之间的差值调整所述多模态模型的参数,获取已训练的多模态模型。
在本申请实施例中,发送模块,用于根据所述每个数据点的测试分数进行排名,并将所述排名结果发送至目标设备。
在本申请实施例中,判断模块350,具体用于:通过已经部署变更与尚未部署变更的测试结果对比,如果尚未部署变更的测试结果有异常,确定与变更无关;如果尚未部署变更的测试结果正常,确定与变更有关;或,获取知识库;其中,所述知识库包括预期异常的变更操作和对应的数据表现,基于所述知识库中的规则进行匹配,确定异常是否与变更故障存在关联关系。
本申请实施例的基于异构多源数据异常检测的软件变更检查装置,通过获取当前时间的日志文本和指标数据,将日志文本转换为多条时间序列数据;将指标数据和多条时间序列数据依次输入已训练的多模态模型,获取每个数据点的测试分数;在连续三个数据点对应的测试分数大于预设阈值的情况下,进行告警处理,并判断异常是否与变更故障存在关联关系。由此,可以提前发现隐藏在其他数据源中的征兆模式,减少平均检测时间,以及可以学习到跨数据源的信息与关联关系,会得到更准确、全面的检查结果。
需要说明的是,前述对基于异构多源数据异常检测的软件变更检查方法实施例的解释说明也适用于该实施例的基于异构多源数据异常检测的软件变更检查装置,此处不再赘述。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本申请的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行***、装置或设备(如基于计算机的***、包括处理器的***或其他可以从指令执行***、装置或设备取指令并执行指令的***)使用,或结合这些指令执行***、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行***、装置或设备或结合这些指令执行***、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行***执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (10)
1.一种基于异构多源数据异常检测的软件变更检查方法,其特征在于,包括以下步骤:
获取当前时间的日志文本和指标数据,将所述日志文本转换为多条时间序列数据;
将所述指标数据和所述多条时间序列数据依次输入已训练的多模态模型,获取每个数据点的测试分数;
在连续三个数据点对应的测试分数大于预设阈值的情况下,进行告警处理,并判断异常是否与变更故障存在关联关系。
2.如权利要求1所述的方法,其特征在于,所述将所述日志文本转换为多条时间序列数据,包括:
通过日志模板提取算法对所述日志文本进行n个模板提取,对每一个模板,统计每分钟所述每个模板出现的次数,将所述每条模板序列化成时间序列,获取所述多条时间序列数据;其中,n为正整数。
3.如权利要求1所述的方法,其特征在于,在所述将所述指标数据和所述多条时间序列数据依次输入已训练的多模态模型之前,还包括:
获取历史日志文本和历史指标数据,将所述历史日志文本转换为多条历史时间序列数据;
将所述历史指标数据和所述历史多条时间序列数据依次输入LSTM长短期记忆网络建模单一时间序列上的关联信息,并用多模态融合学习跨数据源之间的关联关系,输出预测值与标注的真实值之间的差值调整所述多模态模型的参数,获取已训练的多模态模型。
4.如权利要求1所述的方法,其特征在于,还包括:
根据所述每个数据点的测试分数进行排名,并将所述排名结果发送至目标设备。
5.如权利要求1所述的方法,其特征在于,所述判断异常是否与变更故障存在关联关系,包括:
通过已经部署变更与尚未部署变更的测试结果对比,如果尚未部署变更的测试结果有异常,确定与变更无关;如果尚未部署变更的测试结果正常,确定与变更有关;或,
获取知识库;其中,所述知识库包括预期异常的变更操作和对应的数据表现,基于所述知识库中的规则进行匹配,确定异常是否与变更故障存在关联关系。
6.一种基于异构多源数据异常检测的软件变更检查装置,其特征在于,包括:
第一获取模块,用于获取当前时间的日志文本和指标数据;
转换模块,用于将所述日志文本转换为多条时间序列数据;
第二获取模块,用于将所述指标数据和所述多条时间序列数据依次输入已训练的多模态模型,获取每个数据点的测试分数;
处理模块,用于在连续三个数据点对应的测试分数大于预设阈值的情况下,进行告警处理;
判断模块,用于判断异常是否与变更故障存在关联关系。
7.如权利要求6所述的装置,其特征在于,所述转换模块,具体用于:
通过日志模板提取算法对所述日志文本进行n个模板提取,对每一个模板,统计每分钟所述每个模板出现的次数,将所述每条模板序列化成时间序列,获取所述多条时间序列数据;其中,n为正整数。
8.如权利要求6所述的装置,其特征在于,还包括:
第三获取模块,用于获取历史日志文本和历史指标数据,将所述历史日志文本转换为多条历史时间序列数据;
训练模块,用于将所述历史指标数据和所述历史多条时间序列数据依次输入LSTM长短期记忆网络建模单一时间序列上的关联信息,并用多模态融合学习跨数据源之间的关联关系,输出预测值与标注的真实值之间的差值调整所述多模态模型的参数,获取已训练的多模态模型。
9.如权利要求6所述的装置,其特征在于,还包括:
发送模块,用于根据所述每个数据点的测试分数进行排名,并将所述排名结果发送至目标设备。
10.如权利要求6所述的装置,其特征在于,所述判断模块,具体用于:
通过已经部署变更与尚未部署变更的测试结果对比,如果尚未部署变更的测试结果有异常,确定与变更无关;如果尚未部署变更的测试结果正常,确定与变更有关;或,
获取知识库;其中,所述知识库包括预期异常的变更操作和对应的数据表现,基于所述知识库中的规则进行匹配,确定异常是否与变更故障存在关联关系。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110118722.7A CN112905371B (zh) | 2021-01-28 | 2021-01-28 | 基于异构多源数据异常检测的软件变更检查方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110118722.7A CN112905371B (zh) | 2021-01-28 | 2021-01-28 | 基于异构多源数据异常检测的软件变更检查方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112905371A true CN112905371A (zh) | 2021-06-04 |
CN112905371B CN112905371B (zh) | 2022-05-20 |
Family
ID=76119687
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110118722.7A Active CN112905371B (zh) | 2021-01-28 | 2021-01-28 | 基于异构多源数据异常检测的软件变更检查方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112905371B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115278741A (zh) * | 2022-06-15 | 2022-11-01 | 清华大学 | 一种基于多模态数据依赖关系的故障诊断方法和装置 |
CN115599657A (zh) * | 2022-12-15 | 2023-01-13 | 浪潮通信信息***有限公司(Cn) | 软件设施异常判断方法 |
CN116383083A (zh) * | 2023-04-23 | 2023-07-04 | 中航信移动科技有限公司 | 基于多接口连接的异常数据源确定方法及存储介质 |
CN117556363A (zh) * | 2024-01-11 | 2024-02-13 | 中电科大数据研究院有限公司 | 基于多源数据联合检测的数据集异常识别方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200302316A1 (en) * | 2019-03-18 | 2020-09-24 | International Business Machines Corporation | Question answering system influenced by user behavior and text metadata generation |
CN111949480A (zh) * | 2020-08-10 | 2020-11-17 | 重庆大学 | 一种基于组件感知的日志异常检测方法 |
CN111984499A (zh) * | 2020-08-04 | 2020-11-24 | 中国建设银行股份有限公司 | 一种大数据集群的故障检测方法和装置 |
CN112052151A (zh) * | 2020-10-09 | 2020-12-08 | 腾讯科技(深圳)有限公司 | 故障根因分析方法、装置、设备及存储介质 |
-
2021
- 2021-01-28 CN CN202110118722.7A patent/CN112905371B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200302316A1 (en) * | 2019-03-18 | 2020-09-24 | International Business Machines Corporation | Question answering system influenced by user behavior and text metadata generation |
CN111984499A (zh) * | 2020-08-04 | 2020-11-24 | 中国建设银行股份有限公司 | 一种大数据集群的故障检测方法和装置 |
CN111949480A (zh) * | 2020-08-10 | 2020-11-17 | 重庆大学 | 一种基于组件感知的日志异常检测方法 |
CN112052151A (zh) * | 2020-10-09 | 2020-12-08 | 腾讯科技(深圳)有限公司 | 故障根因分析方法、装置、设备及存储介质 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115278741A (zh) * | 2022-06-15 | 2022-11-01 | 清华大学 | 一种基于多模态数据依赖关系的故障诊断方法和装置 |
CN115599657A (zh) * | 2022-12-15 | 2023-01-13 | 浪潮通信信息***有限公司(Cn) | 软件设施异常判断方法 |
CN115599657B (zh) * | 2022-12-15 | 2023-03-17 | 浪潮通信信息***有限公司 | 软件设施异常判断方法 |
CN116383083A (zh) * | 2023-04-23 | 2023-07-04 | 中航信移动科技有限公司 | 基于多接口连接的异常数据源确定方法及存储介质 |
CN116383083B (zh) * | 2023-04-23 | 2024-01-12 | 中航信移动科技有限公司 | 基于多接口连接的异常数据源确定方法及存储介质 |
CN117556363A (zh) * | 2024-01-11 | 2024-02-13 | 中电科大数据研究院有限公司 | 基于多源数据联合检测的数据集异常识别方法 |
CN117556363B (zh) * | 2024-01-11 | 2024-04-09 | 中电科大数据研究院有限公司 | 基于多源数据联合检测的数据集异常识别方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112905371B (zh) | 2022-05-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112905371B (zh) | 基于异构多源数据异常检测的软件变更检查方法和装置 | |
US11092952B2 (en) | Plant abnormality detection method and system | |
JPWO2019142331A1 (ja) | 障害予測システムおよび障害予測方法 | |
KR20180108446A (ko) | Ict 인프라 관리 시스템 및 이를 이용한 ict 인프라 관리 방법 | |
CN111459700A (zh) | 设备故障的诊断方法、诊断装置、诊断设备及存储介质 | |
CN112286771A (zh) | 一种针对全域资源监控的告警方法 | |
CN117131110B (zh) | 一种基于关联分析的容性设备介质损耗监测方法及*** | |
KR102328842B1 (ko) | 설비 관리 방법 및 이를 실행하는 장치 | |
CN117420380A (zh) | 一种配电网故障预警、处置方法及*** | |
WO2019087508A1 (ja) | 監視対象選定装置、監視対象選定方法、およびプログラム | |
JP2010049359A (ja) | プラント監視装置およびプラント監視方法 | |
CN114462820A (zh) | 一种轴承状态监测与健康管理***性能测试及优化方法和*** | |
KR20210000538A (ko) | 제어 출력신호를 통한 기기의 건전성 지수 검출방법 | |
CN111314110B (zh) | 一种用于分布式***的故障预警方法 | |
Li et al. | Meteorological radar fault diagnosis based on deep learning | |
CN114577470A (zh) | 用于风机主轴承的故障诊断方法及*** | |
KR102108975B1 (ko) | 함정설비의 상태기반 정비 지원 장치 및 방법 | |
CN117435883A (zh) | 一种基于数字孪生的设备故障预测的方法和*** | |
CN109889258B (zh) | 一种光网络故障校验方法和设备 | |
JP5178471B2 (ja) | 最適部分波形データ生成装置及び方法ならびにロープ状態判定装置及び方法 | |
CN115169650B (zh) | 一种大数据分析的装备健康预测方法 | |
KR102350636B1 (ko) | 플랜트 고장 예지 장치 및 방법 | |
CN114689321A (zh) | 风力发电机组的轴承故障诊断方法、装置、电子设备 | |
CN117474357B (zh) | 基于深度学习的配电房运维管理方法及*** | |
CN111160454B (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 |