利索能及
我要发布
收藏
专利号: 2024117740261
申请人: 江苏方哲检测技术有限公司
专利类型:发明专利
专利状态:授权未缴费
更新日期:2025-07-19
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

1.面向微服务架构的内存泄漏智能预测与追踪方法,其特征在于,包括:

采集微服务系统中各服务节点的运行时数据,包括堆内存使用量、非堆内存使用量、垃圾回收频率、内存分配速率;构建服务调用拓扑图,记录服务间调用关系、调用频率、请求流量;对所述运行时数据进行滑动窗口处理,窗口大小设置为30分钟,计算窗口内的内存增长率、内存回收率、内存分配模式特征,生成服务节点的时序特征矩阵;基于所述服务调用拓扑图提取服务节点的出入度、中心度、连通性指标,构建服务节点的拓扑特征矩阵;将所述时序特征矩阵与所述拓扑特征矩阵进行特征融合,生成服务节点的综合特征向量;

根据所述服务节点的综合特征向量构建双向长短时记忆网络,在所述双向长短时记忆网络中引入多头注意力机制,对不同时间窗口的特征赋予不同权重;基于所述服务调用拓扑图构建图注意力网络层,捕捉服务节点间的依赖传播关系;将所述双向长短时记忆网络的输出特征与所述图注意力网络层的输出特征进行动态融合,训练深度学习预测模型;利用所述深度学习预测模型对各服务节点未来的内存使用趋势进行预测,生成内存泄漏风险评分和异常程度预测值;

基于所述内存泄漏风险评分计算全局风险均值和标准差;将所述服务节点按照内存泄漏风险评分降序排序,选取风险评分大于所述全局风险均值与所述标准差之和的服务节点作为高风险服务节点;将所述高风险服务节点的异常程度预测值与预设异常阈值进行比较,确定潜在的内存泄漏节点;利用所述服务调用拓扑图对所述潜在的内存泄漏节点进行上下游分析,构建内存泄漏传播子图;在所述内存泄漏传播子图中应用最小割算法,识别关键传播路径;根据所述关键传播路径和各节点的异常程度预测值,采用置信传播算法计算泄漏源节点概率,定位内存泄漏的根源服务。

2.根据权利要求1所述的方法,其特征在于,构建服务调用拓扑图,记录服务间调用关系、调用频率、请求流量;对所述运行时数据进行滑动窗口处理,窗口大小设置为30分钟,计算窗口内的内存增长率、内存回收率、内存分配模式特征,生成服务节点的时序特征矩阵包括:采集微服务系统各节点间的调用数据,基于所述调用数据构建初始服务调用拓扑图,所述初始服务调用拓扑图中的节点表示微服务,节点之间的有向边表示调用关系;

对所述初始服务调用拓扑图中的每条有向边计算调用特征,包括:统计单位时间内的调用次数得到调用频率,累计请求数据大小得到调用流量,计算平均响应时间得到调用延迟;将所述调用频率、所述调用流量、所述调用延迟进行归一化处理,采用网格搜索方法确定最优权重系数,通过加权求和得到边的调用强度;基于所述调用强度更新所述初始服务调用拓扑图的边权重,得到加权服务调用拓扑图;

采集所述加权服务调用拓扑图中各节点的加权运行时数据,包括堆内存使用量、非堆内存使用量、垃圾回收触发次数、垃圾回收释放内存量;对所述运行时数据设置30分钟大小的滑动窗口,窗口滑动步长为5分钟;在每个滑动窗口内,计算内存增长率特征,具体通过对内存使用量序列进行一阶差分和指数平滑处理得到;计算内存回收率特征,具体通过分析垃圾回收释放内存量与回收时间间隔的比值得到;分析内存分配模式特征,具体通过提取内存分配的空间局部性和时间局部性指标得到;将各节点在滑动窗口内的所述内存增长率特征、所述内存回收率特征、所述内存分配模式特征按时间顺序排列,构建节点时序特征矩阵。

3.根据权利要求1所述的方法,其特征在于,基于所述服务调用拓扑图提取服务节点的出入度、中心度、连通性指标,构建服务节点的拓扑特征矩阵;将所述时序特征矩阵与所述拓扑特征矩阵进行特征融合,生成服务节点的综合特征向量包括:基于所述服务调用拓扑图提取每个服务节点的基础拓扑特征,统计入边数量得到入度值,统计出边数量得到出度值;将所述服务节点对应的所有入边的调用强度进行累加得到加权入度值,将所有出边的调用强度进行累加得到加权出度值;基于所述加权入度值和所述加权出度值计算节点的度中心度;

基于所述服务调用拓扑图计算每个服务节点的高阶拓扑特征,基于边的调用强度计算节点间最短路径距离,根据节点到其他所有节点的最短路径距离计算接近中心度;统计所有最短路径中经过该节点的路径占比得到介数中心度;计算节点邻居之间的边密度得到聚类系数;分析节点与其邻居的连接模式得到结构洞系数;通过迭代删除低度数节点的方式计算K核值;

将每个服务节点的所述入度值、所述出度值、所述加权入度值、所述加权出度值、所述度中心度、所述接近中心度、所述介数中心度、所述聚类系数、所述结构洞系数、所述K核值按照预设特征顺序排列,构建节点的拓扑特征向量;将所有服务节点的拓扑特征向量组合成拓扑特征矩阵;

计算所述拓扑特征矩阵与所述时序特征矩阵之间的相似度,生成注意力权重矩阵;根据所述注意力权重矩阵对所述拓扑特征矩阵和所述时序特征矩阵进行加权组合,得到融合特征矩阵;

对所述融合特征矩阵进行非线性变换得到变换特征矩阵;将所述融合特征矩阵与所述变换特征矩阵进行残差连接,并通过层归一化处理,最终生成表征服务节点多维特征的综合特征向量。

4.根据权利要求1所述的方法,其特征在于,根据所述服务节点的综合特征向量构建双向长短时记忆网络,在所述双向长短时记忆网络中引入多头注意力机制,对不同时间窗口的特征赋予不同权重;基于所述服务调用拓扑图构建图注意力网络层,捕捉服务节点间的依赖传播关系;将所述双向长短时记忆网络的输出特征与所述图注意力网络层的输出特征进行动态融合,训练深度学习预测模型包括:将所述服务节点的综合特征向量输入双向长短时记忆网络;所述双向长短时记忆网络通过前向通路处理当前时间窗口之前的特征序列得到前向隐藏状态,通过后向通路处理当前时间窗口之后的特征序列得到后向隐藏状态;将所述前向隐藏状态与所述后向隐藏状态拼接得到双向长短时记忆网络的时序输出特征;

在所述双向长短时记忆网络中引入多头注意力机制,将所述时序输出特征通过线性变换分别映射为查询向量、键向量和值向量;利用多个并行的注意力头独立计算不同时间窗口特征之间的关联程度,每个注意力头输出对应的加权特征;将所述多个注意力头的加权特征进行拼接并经过线性变换,得到赋予不同时间窗口权重的双向长短时记忆网络输出特征;

基于服务调用拓扑图构建图注意力网络层,通过图注意力计算单元计算服务节点之间的依赖强度;根据所述依赖强度对相邻节点的特征进行自适应聚合,捕捉服务节点间的依赖传播关系;采用多头注意力机制分别学习不同类型的节点交互模式,将多个注意力头的输出进行组合得到图注意力网络层的输出特征;

构建特征动态融合模块,将所述双向长短时记忆网络输出特征与所述图注意力网络层输出特征输入所述特征动态融合模块;通过可学习的权重矩阵计算融合门控值,根据所述融合门控值确定两类特征的融合权重;将两类特征按照对应的融合权重进行动态加权组合,得到融合后的预测特征;

基于所述融合后的预测特征训练深度学习预测模型;构建包含预测误差项与正则化项的损失函数,其中所述预测误差项度量预测值与真实值的偏差,所述正则化项包括参数正则化与图结构正则化;采用反向传播算法优化模型参数,使所述损失函数收敛,得到训练完成的预测模型。

5.根据权利要求1所述的方法,其特征在于,利用所述深度学习预测模型对各服务节点未来的内存使用趋势进行预测,生成内存泄漏风险评分和异常程度预测值包括:获取目标服务节点最近时间窗口的历史特征序列,所述历史特征序列包括内存使用量、CPU利用率、请求响应时间;将所述历史特征序列输入深度学习预测模型,所述深度学习预测模型根据所述历史特征序列的时序变化规律生成未来时间窗口的内存使用预测序列;

对所述内存使用预测序列进行时间序列分解,提取所述内存使用预测序列的趋势分量、周期分量、随机分量;基于所述趋势分量计算内存使用的增长速率和增长加速度,所述增长速率通过相邻时间点的差分得到,所述增长加速度通过所述增长速率的差分得到;根据所述增长速率、所述增长加速度以及所述随机分量的波动幅度,采用加权组合的方式计算内存泄漏风险评分;

构建基准序列库,所述基准序列库包含多个典型的内存使用模式序列,每个模式序列对应一种正常的系统运行状态;采用动态时间规整算法分别计算所述内存使用预测序列与所述基准序列库中各模式序列之间的距离;根据所述距离选取最相似的N个模式序列作为参考序列,所述N为预设的正整数;

基于所述参考序列构建描述正常状态的概率分布模型;计算所述内存使用预测序列在所述概率分布模型下的似然概率;结合所述似然概率、所述内存泄漏风险评分以及所述周期分量的偏离程度,生成量化的异常程度预测值。

6.根据权利要求1所述的方法,其特征在于,基于所述内存泄漏风险评分计算全局风险均值和标准差;将所述服务节点按照内存泄漏风险评分降序排序,选取风险评分大于所述全局风险均值与所述标准差之和的服务节点作为高风险服务节点,将所述高风险服务节点的异常程度预测值与预设异常阈值进行比较,确定潜在的内存泄漏节点;利用所述服务调用拓扑图对所述潜在的内存泄漏节点进行上下游分析,构建内存泄漏传播子图;在所述内存泄漏传播子图中应用最小割算法,识别关键传播路径包括:获取所述高风险服务节点的异常程度预测值,基于所述异常程度预测值计算自适应阈值,所述自适应阈值根据所述高风险服务节点的异常程度预测值分布动态调整;将所述高风险服务节点的异常程度预测值与所述自适应阈值进行比较,将异常程度预测值大于所述自适应阈值的高风险服务节点确定为潜在的内存泄漏节点;

构建服务调用拓扑图,所述服务调用拓扑图中的边权重由调用频率、响应时延、资源依赖程度加权组成;以所述潜在的内存泄漏节点为中心节点,在所述服务调用拓扑图中进行双向遍历,获取与所述中心节点存在直接或间接调用关系的上下游节点,所述上下游节点的遍历深度根据边权重动态确定;

将所述中心节点与所述上下游节点组成内存泄漏传播子图,基于节点的内存泄漏风险评分、异常程度预测值以及边权重计算传播概率;所述传播概率表征内存泄漏通过节点间连接传播的可能性,传播概率越大表示内存泄漏越容易沿该路径扩散;

在所述内存泄漏传播子图中构建网络流模型,将所述中心节点设为源点,将所述上下游节点中的边缘节点设为汇点;对所述网络流模型应用最小割算法,通过迭代计算获取最小割集,所述最小割集包含具有最小传播概率和的边集合;基于所述最小割集识别关键传播路径。

7.根据权利要求1所述的方法,其特征在于,根据所述关键传播路径和各节点的异常程度预测值,采用置信传播算法计算泄漏源节点概率,定位内存泄漏的根源服务包括:获取关键传播路径和各节点的异常程度预测值,将所述关键传播路径中的服务节点设为变量节点,将节点间的调用关系设为因子节点;将所述异常程度预测值映射为变量节点的初始信念值,根据节点间的调用频率、响应时延、资源依赖程度构建节点间的关联函数;

在所述变量节点和所述因子节点之间建立消息传递通道,消息内容包含节点的泄漏状态和泄漏程度;将所述变量节点的初始信念值输入置信传播算法,通过迭代计算更新所述消息传递通道中的消息;基于消息的收敛状态计算每个变量节点作为泄漏源的概率;

根据所述泄漏源概率对变量节点进行排序,选取概率最高的节点作为候选泄漏源节点;分析所述候选泄漏源节点的内存分配模式、异常行为特征、资源占用情况,结合历史泄漏数据验证所述候选泄漏源节点的可信度;确定最终的泄漏源节点;

以所述泄漏源节点为起点,在内存泄漏传播子图中进行广度优先遍历,获取受影响节点集合;计算所述受影响节点集合中各节点的风险等级,所述风险等级由节点的泄漏源概率、异常程度预测值、与泄漏源节点的拓扑距离共同决定;生成追踪分析报告,所述追踪分析报告包含:泄漏源识别结果,传播路径分析,影响范围评估。

8.面向微服务架构的内存泄漏智能预测与追踪系统,用于实现前述权利要求1‑7中任一项所述的方法,其特征在于,包括:

第一单元,用于采集微服务系统中各服务节点的运行时数据,包括堆内存使用量、非堆内存使用量、垃圾回收频率、内存分配速率;构建服务调用拓扑图,记录服务间调用关系、调用频率、请求流量;对所述运行时数据进行滑动窗口处理,窗口大小设置为30分钟,计算窗口内的内存增长率、内存回收率、内存分配模式特征,生成服务节点的时序特征矩阵;基于所述服务调用拓扑图提取服务节点的出入度、中心度、连通性指标,构建服务节点的拓扑特征矩阵;将所述时序特征矩阵与所述拓扑特征矩阵进行特征融合,生成服务节点的综合特征向量;

第二单元,用于根据所述服务节点的综合特征向量构建双向长短时记忆网络,在所述双向长短时记忆网络中引入多头注意力机制,对不同时间窗口的特征赋予不同权重;基于所述服务调用拓扑图构建图注意力网络层,捕捉服务节点间的依赖传播关系;将所述双向长短时记忆网络的输出特征与所述图注意力网络层的输出特征进行动态融合,训练深度学习预测模型;利用所述深度学习预测模型对各服务节点未来的内存使用趋势进行预测,生成内存泄漏风险评分和异常程度预测值;

第三单元,用于基于所述内存泄漏风险评分计算全局风险均值和标准差;将所述服务节点按照内存泄漏风险评分降序排序,选取风险评分大于所述全局风险均值与所述标准差之和的服务节点作为高风险服务节点;将所述高风险服务节点的异常程度预测值与预设异常阈值进行比较,确定潜在的内存泄漏节点;利用所述服务调用拓扑图对所述潜在的内存泄漏节点进行上下游分析,构建内存泄漏传播子图;在所述内存泄漏传播子图中应用最小割算法,识别关键传播路径;根据所述关键传播路径和各节点的异常程度预测值,采用置信传播算法计算泄漏源节点概率,定位内存泄漏的根源服务。

9.一种电子设备,其特征在于,包括:

处理器;

用于存储处理器可执行指令的存储器;

其中,所述处理器被配置为调用所述存储器存储的指令,以执行权利要求1至7中任意一项所述的方法。

10.一种计算机可读存储介质,其上存储有计算机程序指令,其特征在于,所述计算机程序指令被处理器执行时实现权利要求1至7中任意一项所述的方法。