CN117130870A - 面向Java架构微服务系统的透明请求追踪及采样方法和装置 - Google Patents
面向Java架构微服务系统的透明请求追踪及采样方法和装置 Download PDFInfo
- Publication number
- CN117130870A CN117130870A CN202311396818.5A CN202311396818A CN117130870A CN 117130870 A CN117130870 A CN 117130870A CN 202311396818 A CN202311396818 A CN 202311396818A CN 117130870 A CN117130870 A CN 117130870A
- Authority
- CN
- China
- Prior art keywords
- request
- load
- log
- sampling
- time
- 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
- 238000005070 sampling Methods 0.000 title claims abstract description 238
- 238000000034 method Methods 0.000 title claims abstract description 52
- 230000004044 response Effects 0.000 claims abstract description 152
- 238000012544 monitoring process Methods 0.000 claims abstract description 93
- 238000012549 training Methods 0.000 claims description 24
- 230000000977 initiatory effect Effects 0.000 claims description 19
- 238000004140 cleaning Methods 0.000 claims description 15
- 239000003999 initiator Substances 0.000 claims description 15
- 230000006870 function Effects 0.000 claims description 14
- 238000012216 screening Methods 0.000 claims description 13
- 230000004927 fusion Effects 0.000 claims description 8
- 238000001514 detection method Methods 0.000 claims description 4
- 238000000605 extraction Methods 0.000 claims description 4
- 238000010606 normalization Methods 0.000 claims description 4
- 239000011159 matrix material Substances 0.000 claims description 3
- 238000012163 sequencing technique Methods 0.000 claims description 3
- 238000013473 artificial intelligence Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 238000003066 decision tree Methods 0.000 description 3
- 238000013450 outlier detection Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012417 linear regression Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000012706 support-vector machine Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3017—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is implementing multitasking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3058—Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3065—Monitoring arrangements determined by the means or processing involved in reporting the monitored data
- G06F11/3072—Monitoring arrangements determined by the means or processing involved in reporting the monitored data where the reporting involves data filtering, e.g. pattern matching, time or event triggered, adaptive or policy-based reporting
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Quality & Reliability (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明涉及请求追踪技术领域,揭露了一种面向Java架构微服务系统的透明请求追踪及采样方法,包括:从历史监控日志中提取出系统负载日志集和追踪采样日志集,从系统负载日志集中提取出基准负载特征集和请求负载特征集;从追踪采样日志集中提取出请求采样特征集、请求属性信息集和请求响应信息集,利用请求采样特征集、基准负载特征集、请求负载特征集、请求属性信息集和请求响应信息集生成负载分析模型和请求分析模型;根据负载分析模型和请求分析模型生成实时请求信息和实时负载信息的实时追踪方案,利用实时追踪方案进行透明追踪采样。本发明还提出一种面向Java架构微服务系统的透明请求追踪及采样装置。本发明可以提高透明请求追踪采样的效率。
Description
技术领域
本发明涉及请求追踪技术领域,尤其涉及一种面向Java架构微服务系统的透明请求追踪及采样方法和装置。
背景技术
微服务系统是一种将复杂的单一应用程序拆分为一组更小、更灵活、自治的服务的软件系统,每个微服务都代表着一个独立的业务功能,并通过网络接口与其他微服务进行通信,为了跟踪和监控微服务系统,需要在微服务通信的过程中进行透明请求追踪和采样。
现有的透明请求追踪和采样技术多为基于规则配置的跟踪采样方法,例如,通过按照预先设定的规则配置OpenTracing和OpenTelemetry等工具的参数,进而利用OpenTracing和OpenTelemetry等工具决定是否对请求进行追踪和采样,实际应用中,基于规则配置的跟踪采样方法较为死板,无法适应灵活多变的请求类型,可能导致请求追踪的覆盖率较低,同时基于规则配置的跟踪采样方法也无法根据性能瓶颈调整采样范围,可能会导致进行透明请求追踪采样时的效率较低。
发明内容
本发明提供一种面向Java架构微服务系统的透明请求追踪及采样方法和装置,其主要目的在于解决进行透明请求追踪采样时的效率较低的问题。
为实现上述目的,本发明提供的一种面向Java架构微服务系统的透明请求追踪及采样方法,包括:
获取微服务系统的历史监控日志,依次对所述历史监控日志进行时域拆分和数据清洗,得到监控日志集;
从所述监控日志集中提取出系统负载日志集和追踪采样日志集,按照时间戳分别从所述系统负载日志集中提取出基准负载特征集和请求负载特征集;
从所述追踪采样日志集中提取出请求采样特征集,利用所述请求采样特征集、所述基准负载特征集以及所述请求负载特征集将预设的请求负载模型训练成负载分析模型,其中,所述利用所述请求采样特征集、所述基准负载特征集以及所述请求负载特征集将预设的请求负载模型训练成负载分析模型,包括:将所述请求特征集和所述基准负载特征集汇集成基准影响特征组集,利用预设的请求负载模型计算出所述基准影响特征组集对应的预测负载特征集;利用如下的负载损失值算法计算出所述请求负载特征集和所述预测负载特征集之间的负载损失值:
其中,是指所述负载损失值,/>是所述预测负载特征集的特征总数,且所述预测负载特征集的特征总数等于所述请求负载特征集的特征总数,/>是特征序号,/>是维度序号,/>是所述请求负载特征集中请求负载特征的总维度数,且所述请求负载特征集中请求负载特征的总维度数和所述预测负载特征集中预测负载特征的总维度数相等,/>是指所述预测负载特征集中的第/>个预测负载特征的第/>维特征向量,/>是指所述请求负载特征集中的第/>个请求负载特征的第/>维特征向量;判断所述负载损失值是否大于预设的负载损失阈值;若是,则利用梯度下降算法根据所述负载损失值对所述请求负载模型的模型参数进行更新,并返回所述利用预设的请求负载模型计算出所述基准影响特征组集对应的预测负载特征集的步骤;若否,则将更新后的所述请求负载模型作为负载分析模型;
分别从所述追踪采样日志集中提取出请求属性信息集以及请求响应信息集,根据所述请求属性信息集和所述请求响应信息集将预设的请求响应模型训练成请求分析模型;
获取实时请求信息、实时负载信息和负载阈值信息,根据所述负载分析模型和所述负载阈值信息分析出所述实时负载信息对应的实时采样特征,根据所述请求分析模型分析出所述实时请求信息对应的实时响应信息,根据所述实时响应信息和所述实时采样特征生成实时追踪方案,利用所述实时追踪方案进行透明追踪和采样。
可选地,所述依次对所述历史监控日志进行时域拆分和数据清洗,得到监控日志集,包括:
按照时序对所述历史监控日志进行排序,得到时序监控日志;
按照预设的时域周期将所述时序监控日志拆分成时序日志集;
对所述时序日志集中的各个时序日志的数据进行单位归一化操作,得到规格日志集;
对所述规格日志集中的各个规格日志进行哈希编码,得到哈希日志集,对所述哈希日志集进行重复性检测,得到重复日志组;
从所述规格日志集中删除所述重复日志组,得到去重日志集;
逐个选取所述去重日志集中的日志数据作为目标日志数据,根据数据类型对所述目标日志数据进行离群数据检测,得到离群结果集;
根据所述离群结果集从所述去重日志集中筛除离群日志组,得到监控日志集。
可选地,所述从所述监控日志集中提取出系统负载日志集和追踪采样日志集,包括:
逐个选取所述监控日志集中监控日志作为目标监控日志,对所述目标监控日志进行日志格式统计,得到日志格式组;
逐个选取所述日志格式组中的日志格式作为目标日志格式,从所述目标监控日志中筛选出所述目标日志格式对应的日志数据作为目标日志数据;
根据所述目标日志格式对所述目标日志数据进行日志解析,得到目标解析数据;
对所述目标解析数据进行关键字标识,得到目标格式标识,根据所有的目标格式标识将所述日志格式组标注成日志信息格式组;
分别从所述日志信息格式组中提取出系统负载格式组和追踪采样格式组;
将所述目标监控日志中与所述系统负载格式组对应的日志数据作为系统负载日志,将所述目标监控日志中与所述追踪采样格式组对应的日志数据作为追踪采样日志;
将所有的系统负载日志汇集成系统负载日志集,将所有的追踪采样日志汇集成追踪采样日志集。
可选地,所述按照时间戳分别从所述系统负载日志集中提取出基准负载特征集和请求负载特征集,包括:
逐个选取所述系统负载日志集中的系统负载日志作为目标系统负载日志,对所述目标系统负载日志进行时间戳匹配,得到请求时间戳;
根据所述请求时间戳从所述目标系统负载日志中提取出基准负载日志和请求负载日志;
依次从所述基准负载日志中提取出基准CPU占用率、基准内存占用率以及基准流量带宽,根据所述基准CPU占用率、所述基准内存占用率以及所述基准流量带宽生成基准负载特征;
依次从所述请求负载日志中提取出请求CPU占用率、请求内存占用率以及请求流量带宽,根据所述请求CPU占用率、所述请求内存占用率以及所述请求流量带宽生成请求负载特征;
将所有的基准负载特征汇集成基准负载特征集,将所有的请求负载特征汇集成请求负载特征集。
可选地,所述从所述追踪采样日志集中提取出请求采样特征集,包括:
逐个选取所述追踪采样日志集中的追踪采样日志作为目标追踪采样日志;
分别从所述目标追踪采样日志中分别提取出请求总数以及追踪采样率;
将所述请求总数和所述追踪采样率融合成请求采样特征,将所有的请求采样特征汇集成请求采样特征集。
可选地,所述分别从所述追踪采样日志集中提取出请求属性信息集以及请求响应信息集,包括:
逐个选取所述追踪采样日志集中的追踪采样日志作为目标追踪采样日志,逐个选取所述目标追踪采样日志中的追踪请求作为目标追踪请求;
分别从所述目标追踪采样日志中提取出所述目标追踪请求对应的请求调用链、请求发起方、请求对象方、请求类型、发起时间戳、结束时间戳以及请求结果;
将所述请求调用链、所述请求发起方、所述请求对象方以及所述请求类型汇集成请求属性信息;
根据所述发起时间戳和所述结束时间戳计算出响应时间,将所述响应时间以及所述请求结果汇集成请求响应信息;
将所有的请求属性信息汇集成请求属性信息集,将所有的请求响应信息汇集成请求响应信息集。
可选地,所述根据所述请求属性信息集和所述请求响应信息集将预设的请求响应模型训练成请求分析模型,包括:
分别从所述请求属性信息集中提取出请求调用链特征集、请求发起方特征集、请求对象方特征集以及请求类型特征集;
分别从所述请求响应信息集提取出响应时间特征集以及响应结果特征集;
利用如下的请求属性融合算法将所述请求调用链特征集、所述请求发起方特征集、所述请求对象方特征集以及所述请求类型特征集融合成请求属性特征集:
其中,是指所述请求属性特征集中的第/>个请求属性特征,/>是指特征序号,/>是归一化函数符号,/>是所述请求调用链特征集中的第/>个请求调用链特征,/>是所述请求发起方特征集中的第/>个请求发起方特征,/>是所述请求对象方特征中的第/>个请求对象方特征,/>是所述请求类型特征集中的第/>个请求类型特征,/>、/>、/>是所述请求属性融合算法中预设的注意力系数矩阵,/>是维度函数,/>是指/>向量的维度,/>是指/>向量的维度,/>是指/>向量的维度,/>是指/>向量的维度,/>是转置符号;
将所述响应时间特征集以及所述响应结果特征集拼接融合成请求响应特征集;
利用预设的请求响应模型计算出所述请求属性特征集对应的预测响应特征集;
利用交叉熵损失函数计算出所述预测响应特征集和所述请求响应特征集集之间的响应损失值;
根据所述响应损失值和预设的响应损失阈值之间的大小关系将所述请求响应模型训练成请求分析模型。
可选地,所述根据所述负载分析模型和所述负载阈值信息分析出所述实时负载信息对应的实时采样特征,包括:
从所述实时负载信息中提取出实时负载特征;
从所述负载阈值信息中提取出阈值负载特征;
利用所述负载分析模型计算出所述实时负载特征和所述阈值负载特征对应的实时采样特征。
可选地,所述根据所述实时响应信息和所述实时采样特征生成实时追踪方案,包括:
将所述实时采样特征拆分成实时请求总数和实时追踪采样率;
从所述实时响应信息中提取出实时响应时间集对应的实时请求结果集;
根据所述实时响应时间集和所述实时请求结果集生成实时请求优先级;
根据所述实时请求优先级和所述实时请求总数生成优先追踪请求集,根据所述优先追踪请求集和所述实时追踪采样率生成实时追踪方案。
为了解决上述问题,本发明还提供一种面向Java架构微服务系统的透明请求追踪及采样装置,所述装置包括:
数据清洗模块,用于获取微服务系统的历史监控日志,依次对所述历史监控日志进行时域拆分和数据清洗,得到监控日志集;
特征提取模块,用于从所述监控日志集中提取出系统负载日志集和追踪采样日志集,按照时间戳分别从所述系统负载日志集中提取出基准负载特征集和请求负载特征集;
负载分析模块,用于从所述追踪采样日志集中提取出请求采样特征集,利用所述请求采样特征集、所述基准负载特征集以及所述请求负载特征集将预设的请求负载模型训练成负载分析模型,其中,所述利用所述请求采样特征集、所述基准负载特征集以及所述请求负载特征集将预设的请求负载模型训练成负载分析模型,包括:将所述请求特征集和所述基准负载特征集汇集成基准影响特征组集,利用预设的请求负载模型计算出所述基准影响特征组集对应的预测负载特征集;利用如下的负载损失值算法计算出所述请求负载特征集和所述预测负载特征集之间的负载损失值:
其中,是指所述负载损失值,/>是所述预测负载特征集的特征总数,且所述预测负载特征集的特征总数等于所述请求负载特征集的特征总数,/>是特征序号,/>是维度序号,/>是所述请求负载特征集中请求负载特征的总维度数,且所述请求负载特征集中请求负载特征的总维度数和所述预测负载特征集中预测负载特征的总维度数相等,/>是指所述预测负载特征集中的第/>个预测负载特征的第/>维特征向量,/>是指所述请求负载特征集中的第/>个请求负载特征的第/>维特征向量;判断所述负载损失值是否大于预设的负载损失阈值;若是,则利用梯度下降算法根据所述负载损失值对所述请求负载模型的模型参数进行更新,并返回所述利用预设的请求负载模型计算出所述基准影响特征组集对应的预测负载特征集的步骤;若否,则将更新后的所述请求负载模型作为负载分析模型;
请求分析模块,用于分别从所述追踪采样日志集中提取出请求属性信息集以及请求响应信息集,根据所述请求属性信息集和所述请求响应信息集将预设的请求响应模型训练成请求分析模型;
追踪采样模块,用于获取实时请求信息、实时负载信息和负载阈值信息,根据所述负载分析模型和所述负载阈值信息分析出所述实时负载信息对应的实时采样特征,根据所述请求分析模型分析出所述实时请求信息对应的实时响应信息,根据所述实时响应信息和所述实时采样特征生成实时追踪方案,利用所述实时追踪方案进行透明追踪和采样。
本发明实施例通过获取微服务系统的历史监控日志,依次对所述历史监控日志进行时域拆分和数据清洗,得到监控日志集,可以实现数据集的标准化和格式化,提高数据精确度,从而提高后续模型的精确度,通过从所述监控日志集中提取出系统负载日志集和追踪采样日志集,通过按照时间戳分别从所述系统负载日志集中提取出基准负载特征集和请求负载特征集,可以方便分析系统负载与透明追踪和采样之间的变化关系,从而方便后续设计出对系统负载压力最小的透明请求追踪和采样方法,通过从所述追踪采样日志集中提取出请求采样特征集,利用所述请求采样特征集、所述基准负载特征集以及所述请求负载特征集将预设的请求负载模型训练成负载分析模型,可以结合进行透明请求追踪前后系统的负载变化情况生成请求采样特征和系统负载变化之间的关系模型,偏于设计出对系统负载压力最小的透明请求追踪和采样方法,从而提高透明请求追踪和采样的效率。
通过分别从所述追踪采样日志集中提取出请求属性信息集以及请求响应信息集,根据所述请求属性信息集和所述请求响应信息集将预设的请求响应模型训练成请求分析模型,可以根据请求响应信息判别请求的优先级信息,进而方便后续进行透明请求追踪和采样时对待追踪的请求进行筛选,提高追踪请求的回报率,进而提升透明追踪采样的效率,通过获取实时请求信息、实时负载信息和负载阈值信息,根据所述负载分析模型和所述负载阈值信息分析出所述实时负载信息对应的实时采样特征,根据所述请求分析模型分析出所述实时请求信息对应的实时响应信息,根据所述实时响应信息和所述实时采样特征生成实时追踪方案,利用所述实时追踪方案进行透明追踪和采样,可以根据实时的负载情况和请求特征确定出不影响系统性能的追踪请求数量和采样频率,并根据每个请求的优先级进行追踪筛选,从而提高透明请求追踪和采样的效率。因此本发明提出的面向Java架构微服务系统的透明请求追踪及采样方法和装置,可以解决进行透明请求追踪采样时的效率较低的问题。
附图说明
图1为本发明一实施例提供的面向Java架构微服务系统的透明请求追踪及采样方法的流程示意图;
图2为本发明一实施例提供的提取基准负载特征集和请求负载特征集的流程示意图;
图3为本发明一实施例提供的提取请求属性信息集以及请求响应信息集的流程示意图;
图4为本发明一实施例提供的面向Java架构微服务系统的透明请求追踪及采样装置的功能模块图;
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本申请实施例提供一种面向Java架构微服务系统的透明请求追踪及采样方法。所述面向Java架构微服务系统的透明请求追踪及采样方法的执行主体包括但不限于服务端、终端等能够被配置为执行本申请实施例提供的该方法的电子设备中的至少一种。换言之,所述面向Java架构微服务系统的透明请求追踪及采样方法可以由安装在终端设备或服务端设备的软件或硬件来执行,所述软件可以是区块链平台。所述服务端包括但不限于:单台服务器、服务器集群、云端服务器或云端服务器集群等。所述服务器可以是独立的服务器,也可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。
参照图1所示,为本发明一实施例提供的面向Java架构微服务系统的透明请求追踪及采样方法的流程示意图。在本实施例中,所述面向Java架构微服务系统的透明请求追踪及采样方法包括:
S1、获取微服务系统的历史监控日志,依次对所述历史监控日志进行时域拆分和数据清洗,得到监控日志集。
本发明实施例中,所述微服务系统是指基于Java编程语言和相关技术栈构建的微服务架构,所述历史监控日志是指过去时间段内对所述微服务系统进行各项监控得到的记录和日志。
本发明实施例中,所述依次对所述历史监控日志进行时域拆分和数据清洗,得到监控日志集,包括:
按照时序对所述历史监控日志进行排序,得到时序监控日志;
按照预设的时域周期将所述时序监控日志拆分成时序日志集;
对所述时序日志集中的各个时序日志的数据进行单位归一化操作,得到规格日志集;
对所述规格日志集中的各个规格日志进行哈希编码,得到哈希日志集,对所述哈希日志集进行重复性检测,得到重复日志组;
从所述规格日志集中删除所述重复日志组,得到去重日志集;
逐个选取所述去重日志集中的日志数据作为目标日志数据,根据数据类型对所述目标日志数据进行离群数据检测,得到离群结果集;
根据所述离群结果集从所述去重日志集中筛除离群日志组,得到监控日志集。
具体地,可以根据所述历史监控日志中日志的时间戳和时序对所述历史监控日志进行排序,得到时序监控日志,所述时域周期可以是半小时或一个小时,所述对所述时序日志集中的各个时序日志的数据进行单位归一化操作,得到规格日志集是指将每个时序日志中的同类型的数据的数据单位转化到统一单位,例如将响应时长的单位统一到毫秒。
详细地,所述根据数据类型对所述目标日志数据进行离群数据检测,得到离群结果集是指逐个选取所述目标日志数据中的日志数据作为目标日志数据,将所述目标日志数据对应的数据类型作为目标数据类型,利用所述去重日志集中所有所述目标数据类型的日志数据对所述目标日志数据进行离群性检测,得到离群系数,将所有的离群系数汇集成离群结果集,可以利用基于统计或基于聚类的离群检测算法根据数据类型对所述目标日志数据进行离群数据检测,得到离群结果集。
详细地,所述根据所述离群结果集从所述去重日志集中筛除离群日志组,得到监控日志集是指判断所述离群结果集中每个离群结果是否大于预设的离群阈值;若是,则将对应的日志数据从所述去重日志集中删除,返回所述逐个选取所述去重日志集中的日志数据作为目标日志数据的步骤,直至所述目标日志数据是所述去重日志集中的最后一个研磨数据时,将更新后的去重日志集作为监控日志集;若否,则返回所述逐个选取所述去重日志集中的日志数据作为目标日志数据的步骤,直至所述目标日志数据是所述去重日志集中的最后一个研磨数据时,将更新后的去重日志集作为监控日志集,其中,所述判断所述离群结果集中每个离群结果是否大于预设的离群阈值是指判断所述离群结果中是否有离群系数大于预设的离群阈值。
本发明实施例中,通过获取微服务系统的历史监控日志,依次对所述历史监控日志进行时域拆分和数据清洗,得到监控日志集,可以实现数据集的标准化和格式化,提高数据精确度,从而提高后续模型的精确度。
S2、从所述监控日志集中提取出系统负载日志集和追踪采样日志集,按照时间戳分别从所述系统负载日志集中提取出基准负载特征集和请求负载特征集。
本发明实施例中,所述系统负载日志集是由多个系统负载日志组成的数据集合,且每个所述系统负载日志为所述监控日志集中一个监控日志的系统性能负载监控信息,所述追踪采样日志集是由多个追踪采样日志组成的数据集合,且每个所述追踪采样日志为所述监控日志集中一个监控日志的透明请求追踪和采样的监控信息。
本发明实施例中,所述从所述监控日志集中提取出系统负载日志集和追踪采样日志集,包括:
逐个选取所述监控日志集中监控日志作为目标监控日志,对所述目标监控日志进行日志格式统计,得到日志格式组;
逐个选取所述日志格式组中的日志格式作为目标日志格式,从所述目标监控日志中筛选出所述目标日志格式对应的日志数据作为目标日志数据;
根据所述目标日志格式对所述目标日志数据进行日志解析,得到目标解析数据;
对所述目标解析数据进行关键字标识,得到目标格式标识,根据所有的目标格式标识将所述日志格式组标注成日志信息格式组;
分别从所述日志信息格式组中提取出系统负载格式组和追踪采样格式组;
将所述目标监控日志中与所述系统负载格式组对应的日志数据作为系统负载日志,将所述目标监控日志中与所述追踪采样格式组对应的日志数据作为追踪采样日志;
将所有的系统负载日志汇集成系统负载日志集,将所有的追踪采样日志汇集成追踪采样日志集。
详细地,所述对所述目标监控日志进行日志格式统计,得到日志格式组是指统计所述目标监控日志中所有的日志格式,将所有的日志格式汇集成日志格式组,可以利用ELKStack或Splunk等日志解析工具根据所述目标日志格式对所述目标日志数据进行日志解析,得到目标解析数据。
详细地,所述对所述目标解析数据进行关键字标识,得到目标格式标识是指利用预设的关键字对所述目标解析数据进行关键字匹配,根据所述关键字匹配的结果对所述目标解析数据进行格式标识,例如,所述关键字可以是CPU利用率或请求ID,当所述关键字匹配的结果为CPU利用率时,所述目标格式标识为系统负载标识,当所述关键字匹配结果为请求ID时,所述目标格式标识为追踪采样标识。
详细地,所述根据所有的目标格式标识将所述日志格式组标注成日志信息格式组,例如,当所述目标标识为系统负载标识时,将所述日志格式组中对应的日志格式标注为系统负载格式,当所述目标标识为追踪采样标识时,将所述日志格式组中对应的日志格式标注为追踪采样格式。
详细地,所述时间戳是一种用于表示日期和时间的数字,通常是自特定事件以来的秒数或毫秒数,所述基准负载特征集中的每个基准负载特征对应所述系统负载日志集中一个系统负载日志的初始负载特征,所述请求负载特征集中的每个请求负载特征对应所述系统负载日志集中一个系统负载日志在进行透明请求追踪和采样之后的系统负载特征。
本发明实施例中,参照图2所示,所述按照时间戳分别从所述系统负载日志集中提取出基准负载特征集和请求负载特征集,包括:
S21、逐个选取所述系统负载日志集中的系统负载日志作为目标系统负载日志,对所述目标系统负载日志进行时间戳匹配,得到请求时间戳;
S22、根据所述请求时间戳从所述目标系统负载日志中提取出基准负载日志和请求负载日志;
S23、依次从所述基准负载日志中提取出基准CPU占用率、基准内存占用率以及基准流量带宽,根据所述基准CPU占用率、所述基准内存占用率以及所述基准流量带宽生成基准负载特征;
S24、依次从所述请求负载日志中提取出请求CPU占用率、请求内存占用率以及请求流量带宽,根据所述请求CPU占用率、所述请求内存占用率以及所述请求流量带宽生成请求负载特征;
S25、将所有的基准负载特征汇集成基准负载特征集,将所有的请求负载特征汇集成请求负载特征集。
详细地,所述请求时间戳是指开始进行透明请求追踪时的时间戳,所述基准负载日志是指所述请求时间戳之前时间段对应的目标系统负载日志,所述请求负载日志是指所述请求时间戳之后时间段对应的目标系统负载日志。
具体地,可以利用正则表达式或遍历检索的方法依次从所述基准负载日志中提取出基准CPU占用率、基准内存占用率以及基准流量带宽,所述基准CPU占用率是指所述基准负载日志中记录的CPU占用率,所述基准内存占用率是指所述基准负载日志中记录的内存占用率,所述基准流量带宽是指所述基准负载日志中记录的流量带宽,所述根据所述基准CPU占用率、所述基准内存占用率以及所述基准流量带宽生成基准负载特征是指将所述基准CPU占用率、所述基准内存占用率以及所述基准流量带宽按照固定顺序排列组成基准负载特征。
详细地,所述依次从所述请求负载日志中提取出请求CPU占用率、请求内存占用率以及请求流量带宽,根据所述请求CPU占用率、所述请求内存占用率以及所述请求流量带宽生成请求负载特征的方法与上述依次从所述基准负载日志中提取出基准CPU占用率、基准内存占用率以及基准流量带宽,根据所述基准CPU占用率、所述基准内存占用率以及所述基准流量带宽生成基准负载特征的方法一致,这里不再赘述。
本发明实施例中,通过从所述监控日志集中提取出系统负载日志集和追踪采样日志集,通过按照时间戳分别从所述系统负载日志集中提取出基准负载特征集和请求负载特征集,可以方便分析系统负载与透明追踪和采样之间的变化关系,从而方便后续设计出对系统负载压力最小的透明请求追踪和采样方法。
S3、从所述追踪采样日志集中提取出请求采样特征集,利用所述请求采样特征集、所述基准负载特征集以及所述请求负载特征集将预设的请求负载模型训练成负载分析模型。
本发明实施例中,所述请求采样特征集中的每个请求采样特征对应所述追踪采样日志集中的一个追踪采样日志,且所述请求采样特征是所述追踪采样日志的请求数量、请求类型以及采样频率等特征。
本发明实施例中,所述从所述追踪采样日志集中提取出请求采样特征集,包括:
逐个选取所述追踪采样日志集中的追踪采样日志作为目标追踪采样日志;
分别从所述目标追踪采样日志中分别提取出请求总数以及追踪采样率;
将所述请求总数和所述追踪采样率融合成请求采样特征,将所有的请求采样特征汇集成请求采样特征集。
详细地,可以利用关键字匹配的方法或正则表达式的方法分别从所述目标追踪采样日志中分别提取出请求总数以及追踪采样率,所述请求总数是指所述目标追踪采样日志记录的时刻中所述微服务系统内所有的通信请求的总数量,所述追踪采样率是指追踪和采样的请求占所有通信请求的比率。
详细地,所述请求负载模型可以是多元线性回归方程(Multiple LinearRegression Equation)或决策树回归模型(Decision Tree Regression),所述多元线性回归方程是一种用于建立多个自变量和一个因变量之间线性关系的回归模型,所述决策树回归使用决策树来对特征进行分段,并对每个段进行平均或其他操作以得到最终预测。
本发明实施例中,所述利用所述请求采样特征集、所述基准负载特征集以及所述请求负载特征集将预设的请求负载模型训练成负载分析模型,包括:
将所述请求特征集和所述基准负载特征集汇集成基准影响特征组集,利用预设的请求负载模型计算出所述基准影响特征组集对应的预测负载特征集;
利用如下的负载损失值算法计算出所述请求负载特征集和所述预测负载特征集之间的负载损失值:
其中,是指所述负载损失值,/>是所述预测负载特征集的特征总数,且所述预测负载特征集的特征总数等于所述请求负载特征集的特征总数,/>是特征序号,/>是维度序号,/>是所述请求负载特征集中请求负载特征的总维度数,且所述请求负载特征集中请求负载特征的总维度数和所述预测负载特征集中预测负载特征的总维度数相等,/>是指所述预测负载特征集中的第/>个预测负载特征的第/>维特征向量,/>是指所述请求负载特征集中的第/>个请求负载特征的第/>维特征向量;
判断所述负载损失值是否大于预设的负载损失阈值;
若是,则利用梯度下降算法根据所述负载损失值对所述请求负载模型的模型参数进行更新,并返回所述利用预设的请求负载模型计算出所述基准影响特征组集对应的预测负载特征集的步骤;
若否,则将更新后的所述请求负载模型作为负载分析模型。
详细地,通过利用所述负载损失值算法计算出所述请求负载特征集和所述预测负载特征集之间的负载损失值,可以全面的对比请求负载特征集中各个请求负载特征和所述预测负载特征集中各个预测负载特征在不同的特征维度分量上的区别,进而提高负载损失值的全面性和精度。
本发明实施例中,通过从所述追踪采样日志集中提取出请求采样特征集,利用所述请求采样特征集、所述基准负载特征集以及所述请求负载特征集将预设的请求负载模型训练成负载分析模型,可以结合进行透明请求追踪前后系统的负载变化情况生成请求采样特征和系统负载变化之间的关系模型,偏于设计出对系统负载压力最小的透明请求追踪和采样方法,从而提高透明请求追踪和采样的效率。
S4、分别从所述追踪采样日志集中提取出请求属性信息集以及请求响应信息集,根据所述请求属性信息集和所述请求响应信息集将预设的请求响应模型训练成请求分析模型。
本发明实施例中,所述请求属性信息集中的每个请求属性特征对应所述追踪采样日志集中一个追踪采样日志的所有请求的属性特征,所述请求响应特征集中的每个请求响应特征对应所述追踪采样日志集中一个追踪采样的所有请求的响应和反馈特征。
本发明实施例中,参照图3所示,所述分别从所述追踪采样日志集中提取出请求属性信息集以及请求响应信息集,包括:
S31、取所述追踪采样日志集中的追踪采样日志作为目标追踪采样日志,逐个选取所述目标追踪采样日志中的追踪请求作为目标追踪请求;
S32、从所述目标追踪采样日志中提取出所述目标追踪请求对应的请求调用链、请求发起方、请求对象方、请求类型、发起时间戳、结束时间戳以及请求结果;
S33、将所述请求调用链、所述请求发起方、所述请求对象方以及所述请求类型汇集成请求属性信息;
S34、根据所述发起时间戳和所述结束时间戳计算出响应时间,将所述响应时间以及所述请求结果汇集成请求响应信息;
S35、将所有的请求属性信息汇集成请求属性信息集,将所有的请求响应信息汇集成请求响应信息集。
详细地,所述追踪请求是指所述目标追踪采样日志中记录的被追踪采样的请求,所述请求调用链是指所述追踪请求在微服务系统中的调用链信息,包括每个服务和组件之间的依赖关系,所述请求发起方是指所述追踪请求的发送方,所述请求对象方是指所述追踪请求的接收方,可以通过解析所述追踪请求的请求头得到,所述请求类型是指所述追踪请求的http类型、DNS类型或RPC类型,例如GET类型、POST类型以及PUT类型等。
具体地,所述发起时间戳是指所述追踪请求采样发起时的时间戳,所述结束时间戳是指所述追踪请求被响应结束的时间戳,所述根据所述发起时间戳和所述结束时间戳计算出响应时间是指将所述结束时间戳减去所述发起时间戳得到响应时间,所述请求结果是指所述追踪请求发送后的结构,可以是请求成功、请求失败或请求超时等。
本发明实施例中,所述请求响应模型可以是支持向量回归模型(Support VectorRegression,SVR)或自注意力模型,所述支持向量回归模型是一种支持向量机算法,用于回归问题,它通过最小化目标值与预测值之间的差异,同时限制预测值在一定范围内,所述自注意力模型是一种用于序列数据的深度学习模型,尤其在自然语言处理任务中得到广泛应用。
详细地,所述根据所述请求属性信息集和所述请求响应信息集将预设的请求响应模型训练成请求分析模型,包括:
分别从所述请求属性信息集中提取出请求调用链特征集、请求发起方特征集、请求对象方特征集以及请求类型特征集;
分别从所述请求响应信息集提取出响应时间特征集以及响应结果特征集;
利用如下的请求属性融合算法将所述请求调用链特征集、所述请求发起方特征集、所述请求对象方特征集以及所述请求类型特征集融合成请求属性特征集:
其中,是指所述请求属性特征集中的第/>个请求属性特征,/>是指特征序号,/>是归一化函数符号,/>是所述请求调用链特征集中的第/>个请求调用链特征,/>是所述请求发起方特征集中的第/>个请求发起方特征,/>是所述请求对象方特征中的第/>个请求对象方特征,/>是所述请求类型特征集中的第/>个请求类型特征,/>、/>、/>是所述请求属性融合算法中预设的注意力系数矩阵,/>是维度函数,/>是指/>向量的维度,/>是指/>向量的维度,/>是指/>向量的维度,/>是指/>向量的维度,/>是转置符号;
将所述响应时间特征集以及所述响应结果特征集拼接融合成请求响应特征集;
利用预设的请求响应模型计算出所述请求属性特征集对应的预测响应特征集;
利用交叉熵损失函数计算出所述预测响应特征集和所述请求响应特征集集之间的响应损失值;
根据所述响应损失值和预设的响应损失阈值之间的大小关系将所述请求响应模型训练成请求分析模型。
详细地,所述分别从所述请求属性信息集中提取出请求调用链特征集、请求发起方特征集、请求对象方特征集以及请求类型特征集是指将所述请求属性信息集中的所有的请求调用链特征编码成请求调用链特征,并汇集成请求调用链特征集,将所述请求属性信息集中的所有的请求发起方特征编码成请求发起方特征,并汇集成请求发起方特征集,将所述请求属性信息集中的所有的请求对象方特征编码成请求对象方特征,并汇集成请求对象方特征集,将所述请求属性信息集中的所有的请求类型特征编码成请求类型特征,并汇集成请求类型特征集。
具体地,所述分别从所述请求响应信息集提取出响应时间特征集以及响应结果特征集的方法与上述所述分别从所述请求属性信息集中提取出请求调用链特征集、请求发起方特征集、请求对象方特征集以及请求类型特征集的方法一致,这里不再赘述。
详细地,通过利用所述请求属性融合算法将所述请求调用链特征集、所述请求发起方特征集、所述请求对象方特征集以及所述请求类型特征集融合成请求属性特征集,可以实现多个特征之间的多模态融合,进而减少数据维度,保留结构特征,提高模型训练效率。
具体地,所述根据所述响应损失值和预设的响应损失阈值之间的大小关系将所述请求响应模型训练成请求分析模型的方法与上述步骤S3中的所述判断所述负载损失值是否大于预设的负载损失阈值;若是,则利用梯度下降算法根据所述负载损失值对所述请求负载模型的模型参数进行更新,并返回所述利用预设的请求负载模型计算出所述基准影响特征组集对应的预测负载特征集的步骤;若否,则将更新后的所述请求负载模型作为负载分析模型的方法一致,这里不再赘述。
本发明实施例中,通过分别从所述追踪采样日志集中提取出请求属性信息集以及请求响应信息集,根据所述请求属性信息集和所述请求响应信息集将预设的请求响应模型训练成请求分析模型,可以根据请求响应信息判别请求的优先级信息,进而方便后续进行透明请求追踪和采样时对待追踪的请求进行筛选,提高追踪请求的回报率,进而提升透明追踪采样的效率。
S5、获取实时请求信息、实时负载信息和负载阈值信息,根据所述负载分析模型和所述负载阈值信息分析出所述实时负载信息对应的实时采样特征,根据所述请求分析模型分析出所述实时请求信息对应的实时响应信息,根据所述实时响应信息和所述实时采样特征生成实时追踪方案,利用所述实时追踪方案进行透明追踪和采样。
本发明实施例中,所述实时请求信息是指所述微服务系统实时接收到的请求信息,所述实时负载信息是指所述微服务系统实时的系统占用、性能负载信息,所述负载阈值信息是指预先设定的不影响所述微服务系统处理性能的负载信息。
本发明实施例中,所述根据所述负载分析模型和所述负载阈值信息分析出所述实时负载信息对应的实时采样特征,包括:
从所述实时负载信息中提取出实时负载特征;
从所述负载阈值信息中提取出阈值负载特征;
利用所述负载分析模型计算出所述实时负载特征和所述阈值负载特征对应的实时采样特征。
具体地,所述从所述实时负载信息中提取出实时负载特征以及所述从所述实时负载信息中提取出实时负载特征的方法与上述步骤S2中的所述按照时间戳分别从所述系统负载日志集中提取出基准负载特征集和请求负载特征集的方法一致,这里不再赘述。
详细地,所述根据所述请求分析模型分析出所述实时请求信息对应的实时响应信息是指从所述实时请求信息中提取出实时请求属性特征,利用所述请求分析模型分析出所述实时请求属性特征对应的实时响应结果特征,根据所述实时响应结果特征生成实时响应信息。
本发明实施例中,所述根据所述实时响应信息和所述实时采样特征生成实时追踪方案,包括:
将所述实时采样特征拆分成实时请求总数和实时追踪采样率;
从所述实时响应信息中提取出实时响应时间集对应的实时请求结果集;
根据所述实时响应时间集和所述实时请求结果集生成实时请求优先级;
根据所述实时请求优先级和所述实时请求总数生成优先追踪请求集,根据所述优先追踪请求集和所述实时追踪采样率生成实时追踪方案。
详细地,所述将所述实时采样特征拆分成实时请求总数和实时追踪采样率的方法是上述步骤S3中所述从所述追踪采样日志集中提取出请求采样特征集的方法的逆步骤,这里不再赘述。
具体地,所述从所述实时响应信息中提取出实时响应时间集对应的实时请求结果集的方法是上述步骤S4中所述分别从所述追踪采样日志集中提取出请求属性信息集以及请求响应信息集的方法的逆步骤,这里不再赘述。
详细地,所述根据所述实时响应时间集和所述实时请求结果集生成实时请求优先级,包括:将所述实时请求信息中的所有请求汇集成初级请求集;将所述实时请求结果集中所有为成功结果的事实请求结果汇集成成功结果集;将所述初级请求集中所有与所述成功结果集对应的请求汇集成次级请求集;将所述实时响应时间集按照从小到大的顺序排列成初始响应时间序列;将所述次级请求集中的所有请求按照所述初始相应时间序列中的顺序排列成实时请求优先级。
详细的,所述根据所述实时请求优先级和所述实时请求总数生成优先追踪请求集是指按照优先级顺序从所述实时请求优先级中筛选出所述实时请求总数个请求汇集成优先追踪请求集,所述根据所述优先追踪请求集和所述实时追踪采样率生成实时追踪方案是指将所述优先追踪请求集中的请求设定为待追踪请求,并将所述实时追踪采样率作为待追踪采样率。
本发明实施例中,通过获取实时请求信息、实时负载信息和负载阈值信息,根据所述负载分析模型和所述负载阈值信息分析出所述实时负载信息对应的实时采样特征,根据所述请求分析模型分析出所述实时请求信息对应的实时响应信息,根据所述实时响应信息和所述实时采样特征生成实时追踪方案,利用所述实时追踪方案进行透明追踪和采样,可以根据实时的负载情况和请求特征确定出不影响系统性能的追踪请求数量和采样频率,并根据每个请求的优先级进行追踪筛选,从而提高透明请求追踪和采样的效率。
本发明实施例通过获取微服务系统的历史监控日志,依次对所述历史监控日志进行时域拆分和数据清洗,得到监控日志集,可以实现数据集的标准化和格式化,提高数据精确度,从而提高后续模型的精确度,通过从所述监控日志集中提取出系统负载日志集和追踪采样日志集,通过按照时间戳分别从所述系统负载日志集中提取出基准负载特征集和请求负载特征集,可以方便分析系统负载与透明追踪和采样之间的变化关系,从而方便后续设计出对系统负载压力最小的透明请求追踪和采样方法,通过从所述追踪采样日志集中提取出请求采样特征集,利用所述请求采样特征集、所述基准负载特征集以及所述请求负载特征集将预设的请求负载模型训练成负载分析模型,可以结合进行透明请求追踪前后系统的负载变化情况生成请求采样特征和系统负载变化之间的关系模型,偏于设计出对系统负载压力最小的透明请求追踪和采样方法,从而提高透明请求追踪和采样的效率。
通过分别从所述追踪采样日志集中提取出请求属性信息集以及请求响应信息集,根据所述请求属性信息集和所述请求响应信息集将预设的请求响应模型训练成请求分析模型,可以根据请求响应信息判别请求的优先级信息,进而方便后续进行透明请求追踪和采样时对待追踪的请求进行筛选,提高追踪请求的回报率,进而提升透明追踪采样的效率,通过获取实时请求信息、实时负载信息和负载阈值信息,根据所述负载分析模型和所述负载阈值信息分析出所述实时负载信息对应的实时采样特征,根据所述请求分析模型分析出所述实时请求信息对应的实时响应信息,根据所述实时响应信息和所述实时采样特征生成实时追踪方案,利用所述实时追踪方案进行透明追踪和采样,可以根据实时的负载情况和请求特征确定出不影响系统性能的追踪请求数量和采样频率,并根据每个请求的优先级进行追踪筛选,从而提高透明请求追踪和采样的效率。因此本发明提出的面向Java架构微服务系统的透明请求追踪及采样方法,可以解决进行透明请求追踪采样时的效率较低的问题。
如图4所示,是本发明一实施例提供的面向Java架构微服务系统的透明请求追踪及采样装置的功能模块图。
本发明所述面向Java架构微服务系统的透明请求追踪及采样装置100可以安装于电子设备中。根据实现的功能,所述面向Java架构微服务系统的透明请求追踪及采样装置100可以包括数据清洗模块101、特征提取模块102、负载分析模块103、请求分析模块104及追踪采样模块105。本发明所述模块也可以称之为单元,是指一种能够被电子设备处理器所执行,并且能够完成固定功能的一系列计算机程序段,其存储在电子设备的存储器中。
在本实施例中,关于各模块/单元的功能如下:
所述数据清洗模块101,用于获取微服务系统的历史监控日志,依次对所述历史监控日志进行时域拆分和数据清洗,得到监控日志集;
所述特征提取模块102,用于从所述监控日志集中提取出系统负载日志集和追踪采样日志集,按照时间戳分别从所述系统负载日志集中提取出基准负载特征集和请求负载特征集;
所述负载分析模块103,用于从所述追踪采样日志集中提取出请求采样特征集,利用所述请求采样特征集、所述基准负载特征集以及所述请求负载特征集将预设的请求负载模型训练成负载分析模型,其中,所述利用所述请求采样特征集、所述基准负载特征集以及所述请求负载特征集将预设的请求负载模型训练成负载分析模型,包括:将所述请求特征集和所述基准负载特征集汇集成基准影响特征组集,利用预设的请求负载模型计算出所述基准影响特征组集对应的预测负载特征集;利用如下的负载损失值算法计算出所述请求负载特征集和所述预测负载特征集之间的负载损失值:
其中,是指所述负载损失值,/>是所述预测负载特征集的特征总数,且所述预测负载特征集的特征总数等于所述请求负载特征集的特征总数,/>是特征序号,/>是维度序号,/>是所述请求负载特征集中请求负载特征的总维度数,且所述请求负载特征集中请求负载特征的总维度数和所述预测负载特征集中预测负载特征的总维度数相等,/>是指所述预测负载特征集中的第/>个预测负载特征的第/>维特征向量,/>是指所述请求负载特征集中的第/>个请求负载特征的第/>维特征向量;判断所述负载损失值是否大于预设的负载损失阈值;若是,则利用梯度下降算法根据所述负载损失值对所述请求负载模型的模型参数进行更新,并返回所述利用预设的请求负载模型计算出所述基准影响特征组集对应的预测负载特征集的步骤;若否,则将更新后的所述请求负载模型作为负载分析模型;
所述请求分析模块104,用于分别从所述追踪采样日志集中提取出请求属性信息集以及请求响应信息集,根据所述请求属性信息集和所述请求响应信息集将预设的请求响应模型训练成请求分析模型;
所述追踪采样模块105,用于获取实时请求信息、实时负载信息和负载阈值信息,根据所述负载分析模型和所述负载阈值信息分析出所述实时负载信息对应的实时采样特征,根据所述请求分析模型分析出所述实时请求信息对应的实时响应信息,根据所述实时响应信息和所述实时采样特征生成实时追踪方案,利用所述实时追踪方案进行透明追踪和采样。
详细地,本发明实施例中所述面向Java架构微服务系统的透明请求追踪及采样装置100中所述的各模块在使用时采用与上述图1至图3中所述的面向Java架构微服务系统的透明请求追踪及采样方法一样的技术手段,并能够产生相同的技术效果,这里不再赘述。
在本发明所提供的几个实施例中,应该理解到,所揭露的设备,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。
因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附关联图标记视为限制所涉及的权利要求。
本申请实施例可以基于人工智能技术对相关的数据进行获取和处理。其中,人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。
此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。系统实施例中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一、第二等词语用来表示名称,而并不表示任何特定的顺序。
最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。
Claims (10)
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架构微服务系统的透明请求追踪及采样方法,其特征在于,所述从所述追踪采样日志集中提取出请求采样特征集,包括:
逐个选取所述追踪采样日志集中的追踪采样日志作为目标追踪采样日志;
分别从所述目标追踪采样日志中分别提取出请求总数以及追踪采样率;
将所述请求总数和所述追踪采样率融合成请求采样特征,将所有的请求采样特征汇集成请求采样特征集。
6.如权利要求1所述的面向Java架构微服务系统的透明请求追踪及采样方法,其特征在于,所述分别从所述追踪采样日志集中提取出请求属性信息集以及请求响应信息集,包括:
逐个选取所述追踪采样日志集中的追踪采样日志作为目标追踪采样日志,逐个选取所述目标追踪采样日志中的追踪请求作为目标追踪请求;
分别从所述目标追踪采样日志中提取出所述目标追踪请求对应的请求调用链、请求发起方、请求对象方、请求类型、发起时间戳、结束时间戳以及请求结果;
将所述请求调用链、所述请求发起方、所述请求对象方以及所述请求类型汇集成请求属性信息;
根据所述发起时间戳和所述结束时间戳计算出响应时间,将所述响应时间以及所述请求结果汇集成请求响应信息;
将所有的请求属性信息汇集成请求属性信息集,将所有的请求响应信息汇集成请求响应信息集。
7.如权利要求1所述的面向Java架构微服务系统的透明请求追踪及采样方法,其特征在于,所述根据所述请求属性信息集和所述请求响应信息集将预设的请求响应模型训练成请求分析模型,包括:
分别从所述请求属性信息集中提取出请求调用链特征集、请求发起方特征集、请求对象方特征集以及请求类型特征集;
分别从所述请求响应信息集提取出响应时间特征集以及响应结果特征集;
利用如下的请求属性融合算法将所述请求调用链特征集、所述请求发起方特征集、所述请求对象方特征集以及所述请求类型特征集融合成请求属性特征集:
其中,是指所述请求属性特征集中的第/>个请求属性特征,/>是指特征序号,/>是归一化函数符号,/>是所述请求调用链特征集中的第/>个请求调用链特征,/>是所述请求发起方特征集中的第/>个请求发起方特征,/>是所述请求对象方特征中的第/>个请求对象方特征,/>是所述请求类型特征集中的第/>个请求类型特征,/>、/>、/>是所述请求属性融合算法中预设的注意力系数矩阵,/>是维度函数,/>是指/>向量的维度,/>是指/>向量的维度,/>是指/>向量的维度,/>是指/>向量的维度,/>是转置符号;
将所述响应时间特征集以及所述响应结果特征集拼接融合成请求响应特征集;
利用预设的请求响应模型计算出所述请求属性特征集对应的预测响应特征集;
利用交叉熵损失函数计算出所述预测响应特征集和所述请求响应特征集集之间的响应损失值;
根据所述响应损失值和预设的响应损失阈值之间的大小关系将所述请求响应模型训练成请求分析模型。
8.如权利要求1所述的面向Java架构微服务系统的透明请求追踪及采样方法,其特征在于,所述根据所述负载分析模型和所述负载阈值信息分析出所述实时负载信息对应的实时采样特征,包括:
从所述实时负载信息中提取出实时负载特征;
从所述负载阈值信息中提取出阈值负载特征;
利用所述负载分析模型计算出所述实时负载特征和所述阈值负载特征对应的实时采样特征。
9.如权利要求1所述的面向Java架构微服务系统的透明请求追踪及采样方法,其特征在于,所述根据所述实时响应信息和所述实时采样特征生成实时追踪方案,包括:
将所述实时采样特征拆分成实时请求总数和实时追踪采样率;
从所述实时响应信息中提取出实时响应时间集对应的实时请求结果集;
根据所述实时响应时间集和所述实时请求结果集生成实时请求优先级;
根据所述实时请求优先级和所述实时请求总数生成优先追踪请求集,根据所述优先追踪请求集和所述实时追踪采样率生成实时追踪方案。
10.一种面向Java架构微服务系统的透明请求追踪及采样装置,其特征在于,所述装置包括:
数据清洗模块,用于获取微服务系统的历史监控日志,依次对所述历史监控日志进行时域拆分和数据清洗,得到监控日志集;
特征提取模块,用于从所述监控日志集中提取出系统负载日志集和追踪采样日志集,按照时间戳分别从所述系统负载日志集中提取出基准负载特征集和请求负载特征集;
负载分析模块,用于从所述追踪采样日志集中提取出请求采样特征集,利用所述请求采样特征集、所述基准负载特征集以及所述请求负载特征集将预设的请求负载模型训练成负载分析模型,其中,所述利用所述请求采样特征集、所述基准负载特征集以及所述请求负载特征集将预设的请求负载模型训练成负载分析模型,包括:将所述请求特征集和所述基准负载特征集汇集成基准影响特征组集,利用预设的请求负载模型计算出所述基准影响特征组集对应的预测负载特征集;利用如下的负载损失值算法计算出所述请求负载特征集和所述预测负载特征集之间的负载损失值:
其中,是指所述负载损失值, />是所述预测负载特征集的特征总数,且所述预测负载特征集的特征总数等于所述请求负载特征集的特征总数, />是特征序号,/>是维度序号, />是所述请求负载特征集中请求负载特征的总维度数,且所述请求负载特征集中请求负载特征的总维度数和所述预测负载特征集中预测负载特征的总维度数相等,/>是指所述预测负载特征集中的第/>个预测负载特征的第/>维特征向量,/>是指所述请求负载特征集中的第/>个请求负载特征的第/>维特征向量;判断所述负载损失值是否大于预设的负载损失阈值;若是,则利用梯度下降算法根据所述负载损失值对所述请求负载模型的模型参数进行更新,并返回所述利用预设的请求负载模型计算出所述基准影响特征组集对应的预测负载特征集的步骤;若否,则将更新后的所述请求负载模型作为负载分析模型;
请求分析模块,用于分别从所述追踪采样日志集中提取出请求属性信息集以及请求响应信息集,根据所述请求属性信息集和所述请求响应信息集将预设的请求响应模型训练成请求分析模型;
追踪采样模块,用于获取实时请求信息、实时负载信息和负载阈值信息,根据所述负载分析模型和所述负载阈值信息分析出所述实时负载信息对应的实时采样特征,根据所述请求分析模型分析出所述实时请求信息对应的实时响应信息,根据所述实时响应信息和所述实时采样特征生成实时追踪方案,利用所述实时追踪方案进行透明追踪和采样。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311396818.5A CN117130870B (zh) | 2023-10-26 | 2023-10-26 | 面向Java架构微服务系统的透明请求追踪及采样方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311396818.5A CN117130870B (zh) | 2023-10-26 | 2023-10-26 | 面向Java架构微服务系统的透明请求追踪及采样方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117130870A true CN117130870A (zh) | 2023-11-28 |
CN117130870B CN117130870B (zh) | 2024-01-26 |
Family
ID=88854907
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311396818.5A Active CN117130870B (zh) | 2023-10-26 | 2023-10-26 | 面向Java架构微服务系统的透明请求追踪及采样方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117130870B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117369954A (zh) * | 2023-12-08 | 2024-01-09 | 成都乐超人科技有限公司 | 一种面向大数据构建的风险处理框架的jvm优化方法和装置 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170277466A1 (en) * | 2016-03-24 | 2017-09-28 | Oracle International Corporation | In-memory data analytic system that provides an integrated tracking mechanism for explicit memory resources |
US20200111174A1 (en) * | 2018-10-04 | 2020-04-09 | Yishen Wang | Probabilistic Load Forecasting via Point Forecast Feature Integration |
US20210117242A1 (en) * | 2020-10-03 | 2021-04-22 | Intel Corporation | Infrastructure processing unit |
CN113946499A (zh) * | 2021-10-22 | 2022-01-18 | 神州数码系统集成服务有限公司 | 一种微服务链路跟踪及性能分析方法、系统、设备及应用 |
WO2022053163A1 (en) * | 2020-09-14 | 2022-03-17 | Huawei Cloud Computing Technologies Co., Ltd. | Distributed trace anomaly detection with self-attention based deep learning |
CN114338684A (zh) * | 2021-12-31 | 2022-04-12 | 山东浪潮科学研究院有限公司 | 一种能源管理系统及方法 |
US20220326757A1 (en) * | 2022-06-29 | 2022-10-13 | Intel Corporation | Multi-timescale power control technologies |
CN115580607A (zh) * | 2022-10-13 | 2023-01-06 | 国家体育总局体育彩票管理中心 | 彩票系统链路监控方法、装置及系统 |
US20230186201A1 (en) * | 2016-05-09 | 2023-06-15 | Strong Force Iot Portfolio 2016, Llc | Industrial digital twin systems providing neural net-based adjustment recommendation with data relevant to role taxonomy |
US20230315618A1 (en) * | 2020-12-29 | 2023-10-05 | Alibaba Group Holding Limited | Data processing method and device, computing device, and test reduction device |
CN116886619A (zh) * | 2023-08-08 | 2023-10-13 | 北京市大数据中心 | 一种基于线性回归算法的负载均衡方法及装置 |
-
2023
- 2023-10-26 CN CN202311396818.5A patent/CN117130870B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170277466A1 (en) * | 2016-03-24 | 2017-09-28 | Oracle International Corporation | In-memory data analytic system that provides an integrated tracking mechanism for explicit memory resources |
US20230186201A1 (en) * | 2016-05-09 | 2023-06-15 | Strong Force Iot Portfolio 2016, Llc | Industrial digital twin systems providing neural net-based adjustment recommendation with data relevant to role taxonomy |
US20200111174A1 (en) * | 2018-10-04 | 2020-04-09 | Yishen Wang | Probabilistic Load Forecasting via Point Forecast Feature Integration |
WO2022053163A1 (en) * | 2020-09-14 | 2022-03-17 | Huawei Cloud Computing Technologies Co., Ltd. | Distributed trace anomaly detection with self-attention based deep learning |
US20210117242A1 (en) * | 2020-10-03 | 2021-04-22 | Intel Corporation | Infrastructure processing unit |
US20230315618A1 (en) * | 2020-12-29 | 2023-10-05 | Alibaba Group Holding Limited | Data processing method and device, computing device, and test reduction device |
CN113946499A (zh) * | 2021-10-22 | 2022-01-18 | 神州数码系统集成服务有限公司 | 一种微服务链路跟踪及性能分析方法、系统、设备及应用 |
CN114338684A (zh) * | 2021-12-31 | 2022-04-12 | 山东浪潮科学研究院有限公司 | 一种能源管理系统及方法 |
US20220326757A1 (en) * | 2022-06-29 | 2022-10-13 | Intel Corporation | Multi-timescale power control technologies |
CN115580607A (zh) * | 2022-10-13 | 2023-01-06 | 国家体育总局体育彩票管理中心 | 彩票系统链路监控方法、装置及系统 |
CN116886619A (zh) * | 2023-08-08 | 2023-10-13 | 北京市大数据中心 | 一种基于线性回归算法的负载均衡方法及装置 |
Non-Patent Citations (3)
Title |
---|
ACHMAD IMAM KISTIJIANTORO ET AL.: "transparent tracing system on gRPC based microservice applications running on kubernetes", 《2020 7TH INTERNATION CONFERENCE ONADVANCE INFORMATICS:CONCEPTS, THEORY AND APPLICATIONS(ICAICTA)》, pages 1 - 5 * |
关兴民;张兆伟;王祝先;王子洋;: "基于Kubernetes的气象私有云自动化部署与优化", 信息技术, no. 05, pages 84 - 88 * |
黄梓程 等: "面向Java微服务系统的透明请求追踪及采样方法", 《软件学报》, vol. 34, no. 7, pages 3167 - 3187 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117369954A (zh) * | 2023-12-08 | 2024-01-09 | 成都乐超人科技有限公司 | 一种面向大数据构建的风险处理框架的jvm优化方法和装置 |
CN117369954B (zh) * | 2023-12-08 | 2024-03-05 | 成都乐超人科技有限公司 | 一种面向大数据构建的风险处理框架的jvm优化方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN117130870B (zh) | 2024-01-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109961204A (zh) | 一种微服务架构下业务质量分析方法和系统 | |
US8495006B2 (en) | System analysis program, system analysis method, and system analysis apparatus | |
CN117130870B (zh) | 面向Java架构微服务系统的透明请求追踪及采样方法和装置 | |
CN111107423A (zh) | 一种视频业务播放卡顿的识别方法和装置 | |
CN105302885B (zh) | 一种全文数据的提取方法和装置 | |
CN112199411B (zh) | 应用于云计算通信架构的大数据分析方法及人工智能平台 | |
CN109062774A (zh) | 日志处理方法、装置及存储介质、服务器 | |
CN111222547B (zh) | 一种面向移动应用的流量特征提取方法及系统 | |
CN111431819A (zh) | 一种基于序列化的协议流特征的网络流量分类方法和装置 | |
CN111770022B (zh) | 基于链路监控的扩容方法、系统、设备及计算机存储介质 | |
CN114328268A (zh) | 基于流量回放的软件测试方法、装置、设备及介质 | |
CN111931189A (zh) | Api接口转用风险检测方法、装置和api服务系统 | |
CN111800292A (zh) | 基于历史流量的预警方法、装置、计算机设备及存储介质 | |
CN116192997B (zh) | 一种基于网络流的事件检测方法和系统 | |
CN113300977A (zh) | 一种基于多特征融合分析的应用流量识别与分类方法 | |
CN107306199B (zh) | 网元数据回放的方法和装置 | |
CN113783862B (zh) | 一种边云协同过程中进行数据校验的方法及装置 | |
CN113037551B (zh) | 一种基于流量切片的涉敏业务快速识别定位方法 | |
CN113704203A (zh) | 一种日志文件的处理方法及装置 | |
CN114205151A (zh) | 基于多特征融合学习的http/2页面访问流量识别方法 | |
CN113723800A (zh) | 风险识别模型训练方法及装置、风险识别方法及装置 | |
US20210051107A1 (en) | Access origin classification device, access origin classification method, and program | |
CN110727532A (zh) | 一种数据修复方法、电子设备及存储介质 | |
CN115051955B (zh) | 一种基于三重特征选择和增量学习的在线流分类方法 | |
CN115982449B (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 |