用于链路测试的方法、装置及机器可读存储介质制造方法及图纸

技术编号:32232217 阅读:18 留言:0更新日期:2022-02-09 17:36
本申请实施例提供了一种用于链路测试的方法、装置及机器可读存储介质。方法包括:确定用户提交代码时刻所在的时间子区间;获取nginx服务器在时间子区间的请求响应报文的状态数据;获取用户在时间子区间提交的代码的提交频次;获取用户提交代码的质量数据;根据状态数据、质量数据、提交频次及预设测试触发效用函数得到效用函数值;将效用函数值与预设阈值进行比较;在效用函数值大于或等于所述预设阈值的情况下,触发链路测试。其中,通过综合利用用户提交代码的质量数据、提交频次和系统实时链路请求状态等多维度特征,确定是否需要自动化的触发链路测试,避免了频繁地进行链路测试,降低了系统资源的消耗。降低了系统资源的消耗。降低了系统资源的消耗。

【技术实现步骤摘要】
用于链路测试的方法、装置及机器可读存储介质


[0001]本申请涉及全链路测试
,具体涉及一种用于链路测试的方法、装置及机器可读存储介质。

技术介绍

[0002]随着互联网的发展,分布式系统中接入的应用服务节点越来越多,为了获得调用链上的全部应用服务节点的信息,需要进行全链路追踪。
[0003]现有的链路追踪技术聚焦于在调用请求经过应用服务节点时,在应用服务节点上生成追踪标记进行全链路追踪,该方案由于需要频繁地对链路进行追踪,造成了系统资源的大量消耗。

技术实现思路

[0004]本申请实施例的目的是提供一种用于链路测试的方法、装置及机器可读存储介质,旨在解决现有技术中频繁地对链路跟踪造成系统资源大量消耗的问题。
[0005]为了实现上述目的,本申请第一方面提供一种用于链路测试的方法,包括:
[0006]确定用户提交代码时刻所在的时间子区间;
[0007]获取nginx服务器在时间子区间的请求响应报文的状态数据;
[0008]获取用户在时间子区间提交代码的提交频次;
[0009]获取用户提交代码的质量数据;
[0010]根据状态数据、质量数据、提交频次及预设测试触发效用函数,得到效用函数值;
[0011]将效用函数值与预设阈值进行比较;
[0012]在效用函数值大于或等于预设阈值的情况下,触发链路测试。
[0013]在本申请实施例中,状态数据包括预设敏感交易列表中敏感交易的请求失败率,用于链路测试的方法还包括:
[0014]获取nginx服务器在时间子区间的日志数据;
[0015]对日志数据进行切割,以得到预设敏感交易列表中敏感交易的状态码;
[0016]根据状态码得到请求失败率。
[0017]在本申请实施例中,根据状态码得到请求失败率,包括:
[0018]对状态码进行统计,以得到请求失败的状态码的第一数量和所有的状态码的第二数量;
[0019]将第一数量和第二数量的商确定为请求失败率。
[0020]在本申请实施例中,质量数据包括提交及编译成功权值系数,用于链路测试的方法还包括:
[0021]获取用户提交代码时刻所在的子时间段;
[0022]获取用户在子时间段提交的代码的第一提交及编译成功率;
[0023]获取所有用户在子时间段提交的代码的第二提交及编译成功率的均值;
[0024]将第一提交及编译成功率和均值的商确定为提交及编译成功权值系数。
[0025]在本申请实施例中,用于链路测试的方法还包括:
[0026]获取在时间子区间用户提交代码触发Jenkins流水线编译的触发次数;
[0027]将触发次数确定为提交频次。
[0028]在本申请实施例中,预设测试触发效用函数为:
[0029][0030]其中,w1为第一预设权重,k_submit(p)为用户p提交代码的质量数据,num_submitcode(time_duration(t))为用户p提交代码时刻所在的时间子区间的提交频次,w2为第二预设权重,fail_ratio(time_duration(t))为用户p提交代码时刻所在的时间子区间的预设敏感交易列表中敏感交易的请求失败率。
[0031]在本申请实施例中,触发链路测试,包括:
[0032]获取预设链路拓扑信息和Jenkins流水线根据代码构建的版本包;
[0033]将版本包和预设链路拓扑信息作为目标版本,并将目标版本推送至nginx服务器的请求对应的调用链上的所有的应用服务节点,以使所有的应用服务节点根据目标版本执行预设的链路测试脚本。
[0034]在本申请实施例中,根据目标版本执行预设的链路测试脚本,包括:
[0035]从目标版本中获取预设链路拓扑信息;
[0036]从预设链路拓扑信息中获取当前应用服务节点的链路测试信息;
[0037]基于链路测试信息执行预设的链路测试脚本,以得到当前应用服务节点的链路测试结果。
[0038]在本申请实施例中,基于链路测试信息执行预设的链路测试脚本,以得到当前应用服务节点的链路测试结果,包括:
[0039]根据链路测试信息确定下一应用服务节点;
[0040]通过curl命令发送当前应用服务节点到下一应用服务节点的http请求,以得到当前应用服务节点到下一应用服务节点的http响应的响应报文信息;
[0041]根据响应报文信息确定当前应用服务节点到下一应用服务节点的业务状态是否正常。
[0042]在本申请实施例中,基于链路测试信息执行预设的链路测试脚本,以得到当前应用服务节点的链路测试结果,还包括:
[0043]根据链路测试信息确定下一应用服务节点的端口;
[0044]通过telnet命令测试端口的连通性,以确定当前应用服务节点到下一应用服务节点的链路连通性。
[0045]在本申请实施例中,用于链路测试的方法还包括:
[0046]获取nginx服务器的请求对应的调用链上的最前端服务节点;
[0047]控制最前端服务节点获取调用链的所有应用服务节点的链路测试结果;
[0048]控制最前端服务节点对所有应用服务节点的链路测试结果进行聚合分析,以得到全链路异常数据;
[0049]控制最前端服务节点输出全链路异常数据。
[0050]本申请第二方面提供一种用于链路测试的装置,包括:
[0051]存储器,被配置成存储指令;以及
[0052]处理器,被配置成从存储器调用指令以及在执行指令时能够实现上述的用于链路测试的方法。
[0053]本申请第三方面提供一种机器可读存储介质,该机器可读存储介质上存储有指令,该指令用于使得机器执行上述的用于链路测试的方法。
[0054]通过上述技术方案,综合利用用户提交代码的质量数据、提交频次和系统实时链路请求状态等多维度特征,确定是否需要自动化的触发链路测试,避免了频繁地进行链路测试,降低了系统资源的消耗。
[0055]本申请实施例的其它特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
[0056]附图是用来提供对本申请实施例的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本申请实施例,但并不构成对本申请实施例的限制。在附图中:
[0057]图1示意性示出了根据本申请实施例的用于链路测试的方法的应用环境示意图;
[0058]图2示意性示出了根据本申请用于链路测试的方法的流程示意图;
[0059]图3示意性示出了图2中触发链路测试的流程示意图;
[0060]图4示意性示出了根据本申请实施例的用于链路测试的装置的结构框图;
[0061]图5示意性示出了根据本申请实施例的计算机设备的内部结构图。
具体实施方式
[0062]为使本申请实施例的目的、技术方案和优点更加清楚,本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种用于链路测试的方法,其特征在于,包括:确定用户提交代码时刻所在的时间子区间;获取nginx服务器在所述时间子区间的请求响应报文的状态数据;获取所述用户在所述时间子区间提交代码的提交频次;获取所述用户提交代码的质量数据;根据所述状态数据、所述质量数据、所述提交频次及预设测试触发效用函数,得到效用函数值;将所述效用函数值与预设阈值进行比较;在所述效用函数值大于或等于所述预设阈值的情况下,触发链路测试。2.根据权利要求1所述的方法,其特征在于,所述状态数据包括预设敏感交易列表中敏感交易的请求失败率,所述方法还包括:获取nginx服务器在所述时间子区间的日志数据;对所述日志数据进行切割,以得到所述预设敏感交易列表中敏感交易的状态码;根据所述状态码得到所述请求失败率。3.根据权利要求2所述的方法,其特征在于,所述根据所述状态码得到所述请求失败率,包括:对所述状态码进行统计,以得到请求失败的状态码的第一数量和所有的状态码的第二数量;将所述第一数量和所述第二数量的商确定为所述请求失败率。4.根据权利要求1所述的方法,其特征在于,所述质量数据包括提交及编译成功权值系数,所述方法还包括:获取用户提交代码时刻所在的子时间段;获取所述用户在所述子时间段提交的代码的第一提交及编译成功率;获取所有用户在所述子时间段提交的代码的第二提交及编译成功率的均值;将所述第一提交及编译成功率和所述均值的商确定为所述提交及编译成功权值系数。5.根据权利要求1所述的方法,其特征在于,所述方法还包括:获取在所述时间子区间所述用户提交代码触发Jenkins流水线编译的触发次数;将所述触发次数确定为所述提交频次。6.根据权利要求2所述的方法,其特征在于,所述预设测试触发效用函数为:其中,w1为第一预设权重,k_submit(p)为用户p提交代码的质量数据,num_submitcode(time_duration(t))为用户p提交代码时刻所在的时间子区间的提交频次,w2为第二预设权重,fail_ratio(time_duration(t))为用户p提交代码时刻所在的时间子区间的预设敏感交易列表中敏感交易的请求失败率。7.根据权利要求1所述的方法,其特征在于,所述触发链路测试,包括:获取预设链路拓扑信息和Jenkins流水线...

【专利技术属性】
技术研发人员:黄坤谭硕
申请(专利权)人:中国建设银行股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1