一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

分布式系统测试问题分析方法及装置与流程

2022-11-28 13:49:32 来源:中国专利 TAG:


1.本发明涉及人工智能技术领域,尤其涉及一种分布式系统测试问题分析方法及装置。需要说明的是,本发明分布式系统测试问题分析方法及装置可用于人工智能技术领域,也可用于除人工智能技术领域之外的任意领域,分布式系统测试问题分析方法及装置的应用领域不做限定。


背景技术:

2.本部分旨在为权利要求书中陈述的本发明实施例提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
3.在分布式系统中,一个交易的服务调用链路往往很长,会涉及到若干个微服务。在对这种分布式系统进行测试时,测试人员根据微服务接口返回的交易请求信息,通常以人工方式一笔笔查询,当有大量的交易报错时,会耗费大量的时间在问题分析定位上,并且往往这种人工方式查询分析不能快速精准的分析定位到存在问题的微服务,从而无法快速准确的找到对应微服务的开发人员查看问题出现原因,另外人工方式分析定位问题需要测试人员对分布式系统熟悉程度较高。因此,现有的分布式系统测试问题分析存在人工成本、时间成本较高,测试问题分析速度较慢、准确度不足的缺陷。


技术实现要素:

4.本发明实施例提供一种分布式系统问题分析方法,用以降低分布式系统问题分析的人工成本和时间成本,提升分布式系统问题分析速度和准确度,该方法包括:
5.接收对分布式系统中微服务进行测试的交易请求;所述交易请求携带唯一交易标识;
6.查询分布式系统中微服务的日志文件,提取携带所述唯一交易标识的日志文件,生成全量日志文件;
7.将全量日志文件输入测试问题分析模型,输出测试问题分析结果;所述测试问题分析结果指明处理所述交易请求的微服务中存在问题的微服务;所述测试问题分析模型根据分布式系统中微服务的历史日志文件及对应的历史测试问题分析结果,对机器学习模型训练得到。
8.本发明实施例还提供一种分布式系统问题分析装置,用以降低分布式系统问题分析的人工成本和时间成本,提升分布式系统问题分析速度和准确度,该装置包括:
9.交易请求接收模块,用于接收对分布式系统中微服务进行测试的交易请求;所述交易请求携带唯一交易标识;
10.日志文件处理模块,用于查询分布式系统中微服务的日志文件,提取携带所述唯一交易标识的日志文件,生成全量日志文件;
11.测试问题分析模块,用于将全量日志文件输入测试问题分析模型,输出测试问题分析结果;所述测试问题分析结果指明处理所述交易请求的微服务中存在问题的微服务;
所述测试问题分析模型根据分布式系统中微服务的历史日志文件及对应的历史测试问题分析结果,对机器学习模型训练得到。
12.本发明实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述分布式系统测试问题分析方法。
13.本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述分布式系统测试问题分析方法。
14.本发明实施例还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现上述分布式系统测试问题分析方法。
15.本发明实施例中,接收对分布式系统中微服务进行测试的交易请求;所述交易请求携带唯一交易标识;查询分布式系统中微服务的日志文件,提取携带所述唯一交易标识的日志文件,生成全量日志文件;将全量日志文件输入测试问题分析模型,输出测试问题分析结果;所述测试问题分析结果指明处理所述交易请求的微服务中存在问题的微服务;所述测试问题分析模型根据分布式系统中微服务的历史日志文件及对应的历史测试问题分析结果,对机器学习模型训练得到。与现有技术相比,本发明实施例通过对机器学习模型训练得到的测试问题分析模型对分布式系统中微服务进行测试的交易请求进行分析,得到测试问题分析结果,快速分析定位到存在问题的微服务,节省了大量的人力成本和时间成本,并且提升了分布式系统问题分析速度和准确度。
附图说明
16.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
17.图1为本发明实施例中分布式系统测试问题分析方法的流程示意图;
18.图2为本发明实施例中分布式系统测试问题分析方法的一具体实例图;
19.图3为本发明实施例中分布式系统测试问题分析装置的示意图;
20.图4为本发明实施例中分布式系统测试问题分析装置的一具体实例图;
21.图5为本发明实施例中计算机设备的示意图。
具体实施方式
22.为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本发明实施例做进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。
23.发明人发现,在分布式系统中,一个交易的服务调用链路往往很长,会涉及到若干个微服务。在对这种分布式系统进行测试时,测试人员根据微服务接口返回的交易请求信息,通常以人工方式一笔笔查询,当有大量的交易报错时,会耗费大量的时间在问题分析定位上,并且往往这种人工方式查询不能快速精准的分析定位到存在问题的微服务,从而无法快速准确的找到对应微服务的开发人员查看问题出现原因,另外人工方式分析定位问题
需要测试人员对分布式系统熟悉程度较高。因此,现有的分布式系统测试问题分析存在人工成本、时间成本较高,测试问题分析速度较慢、准确度不足的缺陷。基于此,发明人提出了一种分布式系统测试问题分析方法。
24.图1为本发明实施例中分布式系统测试问题分析方法的流程示意图,如图1所示,该方法包括:
25.步骤101、接收对分布式系统中微服务进行测试的交易请求;所述交易请求携带唯一交易标识;
26.步骤102、查询分布式系统中微服务的日志文件,提取携带所述唯一交易标识的日志文件,生成全量日志文件;
27.步骤103、将全量日志文件输入测试问题分析模型,输出测试问题分析结果;所述测试问题分析结果指明处理所述交易请求的微服务中存在问题的微服务;所述测试问题分析模型根据分布式系统中微服务的历史日志文件及对应的历史测试问题分析结果,对机器学习模型训练得到。
28.从图1所示流程可以看出,本发明实施例中,接收对分布式系统中微服务进行测试的交易请求;所述交易请求携带唯一交易标识;查询分布式系统中微服务的日志文件,提取携带所述唯一交易标识的日志文件,生成全量日志文件;将全量日志文件输入测试问题分析模型,输出测试问题分析结果;所述测试问题分析结果指明处理所述交易请求的微服务中存在问题的微服务;所述测试问题分析模型根据分布式系统中微服务的历史日志文件及对应的历史测试问题分析结果,对机器学习模型训练得到。与现有技术相比,本发明实施例通过对机器学习模型训练得到的测试问题分析模型对分布式系统中微服务进行测试的交易请求进行分析,得到测试问题分析结果,快速分析定位到存在问题的微服务,节省了大量的人力成本和时间成本,并且提升了分布式系统问题分析速度和准确度。
29.具体实施时,首先接收对分布式系统中微服务进行测试的交易请求;所述交易请求携带唯一交易标识。
30.例如,对分布式系统测试时,接收对相关微服务进行测试的交易请求,所述交易请求携带唯一交易标识,该唯一交易标识可以为字符串,如msgid、traceid、gwuuid。
31.又如,在分布式系统自动化测试脚本案例执行失败时,接收对相关微服务进行测试的交易请求,该交易请求可以为报文形式,报文的流水号为唯一交易标识。
32.在接收到交易请求后,查询分布式系统中微服务的日志文件,提取携带所述唯一交易标识的日志文件,生成全量日志文件。
33.由于交易请求中携带的交易标识为分布式系统中的唯一交易标识,通过该唯一交易标识查询分布式系统中所有微服务的日志文件,读取到分布式系统中微服务中所有携带该唯一交易标识的日志文件,生成全量日志文件。
34.例如,对分布式系统测试时,接收对分布式系统中某微服务进行测试的余额查询交易请求,该余额查询交易请求携带唯一交易标识balance_inquire_traceid,利用该唯一交易标识在分布式系统测试交易请求接收入口处向所有微服务查询携带该唯一交易标识的日志文件,读取到携带该唯一交易标识的日志文件,对读取到的所有相关日志文件,生成全量日志文件。
35.在一个实施例中,通过软件开发包sdk,遍历分布式系统中微服务的日志文件,提
取携带所述唯一交易标识的日志文件,生成全量日志文件。
36.例如,可以提前编写代码形成软件开发包sdk,调用sdk遍历分布式系统中微服务的日志文件,提取携带所述唯一交易标识的日志文件,生成全量日志文件。
37.在一个实施例中,通过分布式系统交易路径追踪工具,查询分布式系统中微服务的日志文件,提取携带所述唯一交易标识的日志文件,生成全量日志文件。
38.例如,可以利用开源的分布式系统交易路径追踪工具,如elasticsearch分布式搜索引擎,对其进行二次开发,形成查询工具,查询交易请求的唯一交易标识所经过的微服务,再精细查询携带所述唯一交易标识的日志文件,生成全量日志文件。
39.最后,将全量日志文件输入测试问题分析模型,输出测试问题分析结果;所述测试问题分析结果指明处理所述交易请求的微服务中存在问题的微服务;所述测试问题分析模型根据分布式系统中微服务的历史日志文件及对应的历史测试问题分析结果,对机器学习模型训练得到。
40.实施时,将全量日志文件输入测试问题分析模型,对测试问题发生的位置、原因等进行识别、定位、分析,输出测试问题分析结果,该测试问题分析结果指明处理所述交易请求的微服务中存在问题的微服务;该测试问题分析模型根据分布式系统中微服务的历史日志文件及对应的历史测试问题分析结果,对机器学习模型训练得到。
41.例如,对分布式系统进行测试时,接收到对分布式系统中某微服务进行测试的余额查询交易请求,该余额查询交易请求携带唯一交易标识balance_inquire_traceid,将携带balance_inquire_traceid的全量日志文件输入测试问题分析模型,分析过程中查找抛出exception(异常)的微服务,或者查找返回错误信息的微服务,然后对这些异常或者报错的微服务进行识别、定位以及分析,输出测试问题分析结果,该测试问题分析结果中指出该余额查询交易请求在哪个微服务出现问题,以及出现问题的原因,如余额查询请求数据格式不符合标准、程序运行出错等原因。
42.又如,在分布式系统回归测试期间接收到交易请求,生成携带该交易请求唯一交易标识的全量日志文件,通过测试问题分析模型输出测试问题分析结果,将所有测试问题分析结果汇总,返回至回归测试程序,后续通过生成本地文件等方式供自动化测试人员再次分析。当面对大量的交易请求时,本发明实施例可以节省大量的人力成本和时间成本,对每个交易请求快速的分析得到结论,极大的提高分布式系统测试问题分析效率。
43.所述的测试问题分析模型需提前训练准备好,在一个实施例中,所述测试问题分析模型通过以下方式得到:
44.收集分布式系统中微服务的历史日志文件;
45.对分布式系统中微服务的历史日志文件进行信息识别和特征提取,结合对应的历史测试问题分析结果,构建训练集和测试集;
46.利用所述训练集对机器学习模型进行训练,得到测试问题分析模型;
47.利用所述测试集对所述测试问题分析模型进行测试。
48.例如,基于大数据平台或者业务系统,收集分布式系统中所有微服务服务器的历史日志文件,整理对应的历史测试问题分析结果,包含如交易请求接口、交易时间、交易类型、交易处理过程、交易处理结果等;对收集的数据进行预处理,统一数据格式,剔除异常数据,进行有效信息识别和特征提取,构建训练集和测试集;搭建机器学习模型,利用训练集
对机器学习模型进行训练,得到测试问题分析模型;利用测试集对所述测试问题分析模型进行测试。
49.图2为本发明实施例中分布式系统测试问题分析方法的一具体实例图,如图2所示,在一个实施例中,图1所示的分布式系统测试问题分析方法中将全量日志文件输入测试问题分析模型,输出测试问题分析结果之后,还包括:
50.步骤201、将全量日志文件及测试问题分析结果,写入训练集,继续对测试问题分析模型进行训练。
51.例如,每隔预定时间段,将全量日志文件及测试问题分析结果,写入训练集,形成增量训练数据集,不断对测试问题分析模型进行迭代训练与优化,使其能够持续保持高速度和高准确度的测试问题分析能力。
52.本发明实施例中还提供了一种分布式系统测试问题分析装置,如下面的实施例所述。由于该装置解决问题的原理与分布式系统测试问题分析方法相似,因此该装置的实施可以参见分布式系统测试问题分析方法的实施,重复之处不再赘述。
53.图3为本发明实施例中分布式系统测试问题分析装置的示意图,如图3所示,该装置包括:
54.交易请求接收模块301,用于接收对分布式系统中微服务进行测试的交易请求;所述交易请求携带唯一交易标识;
55.日志文件处理模块302,用于查询分布式系统中微服务的日志文件,提取携带所述唯一交易标识的日志文件,生成全量日志文件;
56.测试问题分析模块303,用于将全量日志文件输入测试问题分析模型,输出测试问题分析结果;所述测试问题分析结果指明处理所述交易请求的微服务中存在问题的微服务;所述测试问题分析模型根据分布式系统中微服务的历史日志文件及对应的历史测试问题分析结果,对机器学习模型训练得到。
57.在一个实施例中,日志文件处理模块302,具体用于:
58.通过软件开发包sdk,遍历分布式系统中微服务的日志文件,提取携带所述唯一交易标识的日志文件,生成全量日志文件。
59.在一个实施例中,日志文件处理模块302,具体用于:
60.通过分布式系统交易路径追踪工具,查询分布式系统中微服务的日志文件,提取携带所述唯一交易标识的日志文件,生成全量日志文件。
61.在一个实施例中,所述测试问题分析模型通过以下方式得到:
62.收集分布式系统中微服务的历史日志文件;
63.对分布式系统中微服务的历史日志文件进行信息识别和特征提取,结合对应的历史测试问题分析结果,构建训练集和测试集;
64.利用所述训练集对机器学习模型进行训练,得到测试问题分析模型;
65.利用所述测试集对所述测试问题分析模型进行测试。
66.图4为本发明实施例中分布式系统测试问题分析装置的一具体实例图,如图4所示,在一个实施例中,本发明实施例中图3所示的分布式系统测试问题分析装置还包括:
67.测试问题分析模型训练模块401,用于在测试问题分析模块303将全量日志文件输入测试问题分析模型,输出测试问题分析结果之后,将全量日志文件及测试问题分析结果,
写入训练集,继续对测试问题分析模型进行训练。
68.图5为本发明实施例中计算机设备的示意图,如图5所示,本发明实施例还提供一种计算机设备500,包括处理器501、存储器502及存储在存储器502上并可在处理器501上运行的计算机程序503,所述处理器501执行所述计算机程序503时实现上述分布式系统测试问题分析方法。
69.本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述分布式系统测试问题分析方法。
70.本发明实施例还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现上述分布式系统测试问题分析方法。
71.本发明实施例中,接收对分布式系统中微服务进行测试的交易请求;所述交易请求携带唯一交易标识;查询分布式系统中微服务的日志文件,提取携带所述唯一交易标识的日志文件,生成全量日志文件;将全量日志文件输入测试问题分析模型,输出测试问题分析结果;所述测试问题分析结果指明处理所述交易请求的微服务中存在问题的微服务;所述测试问题分析模型根据分布式系统中微服务的历史日志文件及对应的历史测试问题分析结果,对机器学习模型训练得到。与现有技术相比,本发明实施例通过对机器学习模型训练得到的测试问题分析模型对分布式系统中微服务进行测试的交易请求进行分析,得到测试问题分析结果,快速分析定位到存在问题的微服务,节省了大量的人力成本和时间成本,并且提升了分布式系统问题分析速度和准确度。
72.本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
73.本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
74.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
75.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
76.以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保
护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献