【技术实现步骤摘要】
面向Java架构微服务系统的透明请求追踪及采样方法和装置
[0001]本专利技术涉及请求追踪
,尤其涉及一种面向
Java
架构微服务系统的透明请求追踪及采样方法和装置
。
技术介绍
[0002]微服务系统是一种将复杂的单一应用程序拆分为一组更小
、
更灵活
、
自治的服务的软件系统,每个微服务都代表着一个独立的业务功能,并通过网络接口与其他微服务进行通信,为了跟踪和监控微服务系统,需要在微服务通信的过程中进行透明请求追踪和采样
。
[0003]现有的透明请求追踪和采样技术多为基于规则配置的跟踪采样方法,例如,通过按照预先设定的规则配置
OpenTracing
和
OpenTelemetry
等工具的参数,进而利用
OpenTracing
和
OpenTelemetry
等工具决定是否对请求进行追踪和采样,实际应用中,基于规则配置的跟踪采样方法较为死板,无法适应灵活多变的请求类型,可能导致请求追踪的覆盖率较低,同时基于规则配置的跟踪采样方法也无法根据性能瓶颈调整采样范围,可能会导致进行透明请求追踪采样时的效率较低
。
技术实现思路
[0004]本专利技术提供一种面向
Java
架构微服务系统的透明请求追踪及采样方法和装置,其主要目的在于解决进行透明请求追踪采样时的效率较低的问题
。
[0005]为实现上述目的,本专利技术提 ...
【技术保护点】
【技术特征摘要】
1.
一种面向
Java
架构微服务系统的透明请求追踪及采样方法,其特征在于,所述方法包括:
S1
:获取微服务系统的历史监控日志,依次对所述历史监控日志进行时域拆分和数据清洗,得到监控日志集;
S2
:从所述监控日志集中提取出系统负载日志集和追踪采样日志集,按照时间戳分别从所述系统负载日志集中提取出基准负载特征集和请求负载特征集;
S3
:从所述追踪采样日志集中提取出请求采样特征集,利用所述请求采样特征集
、
所述基准负载特征集以及所述请求负载特征集将预设的请求负载模型训练成负载分析模型,其中,所述利用所述请求采样特征集
、
所述基准负载特征集以及所述请求负载特征集将预设的请求负载模型训练成负载分析模型,包括:
S31
:将所述请求特征集和所述基准负载特征集汇集成基准影响特征组集,利用预设的请求负载模型计算出所述基准影响特征组集对应的预测负载特征集;
S32
:利用如下的负载损失值算法计算出所述请求负载特征集和所述预测负载特征集之间的负载损失值:其中,是指所述负载损失值
, 是所述预测负载特征集的特征总数,且所述预测负载特征集的特征总数等于所述请求负载特征集的特征总数
, 是特征序号,是维度序号
, 是所述请求负载特征集中请求负载特征的总维度数,且所述请求负载特征集中请求负载特征的总维度数和所述预测负载特征集中预测负载特征的总维度数相等,是指所述预测负载特征集中的第个预测负载特征的第维特征向量,是指所述请求负载特征集中的第个请求负载特征的第维特征向量;
S33
:判断所述负载损失值是否大于预设的负载损失阈值;
S34
:若是,则利用梯度下降算法根据所述负载损失值对所述请求负载模型的模型参数进行更新,并返回所述利用预设的请求负载模型计算出所述基准影响特征组集对应的预测负载特征集的步骤;
S35
:若否,则将更新后的所述请求负载模型作为负载分析模型;
S4
:分别从所述追踪采样日志集中提取出请求属性信息集以及请求响应信息集,根据所述请求属性信息集和所述请求响应信息集将预设的请求响应模型训练成请求分析模型;
S5
:获取实时请求信息
、
实时负载信息和负载阈值信息,根据所述负载分析模型和所述负载阈值信息分析出所述实时负载信息对应的实时采样特征,根据所述请求分析模型分析出所述实时请求信息对应的实时响应信息,根据所述实时响应信息和所述实时采样特征生成实时追踪方案,利用所述实时追踪方案进行透明追踪和采样
。
2.
如权利要求1所述的面向
Java
架构微服务系统的透明请求追踪及采样方法,其特征在于,所述依次对所述历史监控日志进行时域拆分和数据清洗,得到监控日志集,包括:按照时序对所述历史监控日志进行排序,得到时序监控日志;按照预设的时域周期将所述时序监控日志拆分成时序日志集;对所述时序日志集中的各个时序日志的数据进行单位归一化操作,得到规格日志集;对所述规格日志集中的各个规格日志进行哈希编码,得到哈希日志集,对所述哈希日志集进行重复性检测,得到重复日志组;从所述规格日志集中删除所述重复日志组,得到去重日志集;逐个选取所述去重日志集中的日志数据作为目标日志数据,根据数据类型对所述目标日志数据进行离群数据检测,得到离群结果集;根据所述离群结果集从所述去重日志集中筛除离群日志组,得到监控日志集
。3.
如权利要求1所述的面向
Java
架构微服务系统的透明请求追踪及采样方法,其特征在于,所述从所述监控日志集中提取出系统负载日志集和追踪采样日志集,包括:逐个选取所述监控日志集中监控日志作为目标监控日志,对所述目标监控日志进行日志格式统计,得到日志格式组;逐个选取所述日志格式组中的日志格式作为目标日志格式,从所述目标监控日志中筛选出所述目标日志格式对应的日志数据作为目标日志数据;根据所述目标日志格式对所述目标日志数据进行日志解析,得到目标解析数据;对所述目标解析数据进行关键字标识,得到目标格式标识,根据所有的目标格式标识将所述日志格式组标注成日志信息格式组;分别从所述日志信息格式组中提取出系统负载格式组和追踪采样格式组;将所述目标监控日志中与所述系统负载格式组对应的日志数据作为系统负载日志,将所述目标监控日志中与所述追踪采样格式组对应的日志数据作为追踪采样日志;将所有的系统负载日志汇集成系统负载日志集,将所有的追踪采样日志汇集成追踪采样日志集
。4.
如权利要求1所述的面向
Java
架构微服务系统的透明请求追踪及采样方法,其特征在于,所述按照时间戳分别从所述系统负载日志集中提取出基准负载特征集和请求负载特征集,包括:逐个选取所述系统负载日志集中的系统负载日志作为目标系统负载日志,对所述目标系统负载日志进行时间戳匹配,得到请求时间戳;根据所述请求时间戳从所述目标系统负载日志中提取出基准负载日志和请求负载日志;依次从所述基准负载日志中提取出基准
CPU
占用率
、
基准内存占用率以及基准流量带宽,根据所述基准
CPU
占用率
、
所述基准内存占用率以及所述基准流量带宽生成基准负载特征;依次从所述请求负载日志中提取出请求
CPU
占用率
、
请求内存占用率以及请求流量带宽,根据所述请求
CPU
占用率
、
所述请求内存占用率以及所述请求流量带宽生成请求负载特征;将所有的基准负载特征汇集成基准负载特征集,将所有的请求负载特征汇集成请求负
载特征集
。5.
如权利要求1所述的面向
Java
架构微服务系统的透明请求追踪及采样方法,其特征在于,所述从所述追踪采样日志集中提取出请求采样特征集,包括:逐个选取所述追踪采样日志集中的追踪采样日志作为目标追踪采样日志;分别从所述目标追踪采样日志中分别提取出请求总数以及追踪采样率;将所述请求总数和所述追踪采样率融合成...
【专利技术属性】
技术研发人员:涂浩,王泽,钟滨远,唐丽,
申请(专利权)人:成都乐超人科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。