故障识别 | 基于改进螂优化算法(MSADBO)优化变分模态提取(VME)结合稀疏最大谐波噪声比解卷积(SMHD)进行故障诊断识别,matlab代码

news2025/3/31 21:15:01

基于改进螂优化算法(MSADBO)优化变分模态提取(VME)结合稀疏最大谐波噪声比解卷积(SMHD)进行故障诊断识别

在这里插入图片描述

一、引言
1.1 机械故障诊断的背景和意义

在工业生产的宏大画卷中,机械设备的稳定运行是推动生产顺利进行、保障企业效益的关键要素。然而,机械故障如同潜伏的阴影,时刻威胁着工业生产的正常秩序。

从工业生产的角度来看,机械故障会带来生产效率的骤降和生产成本的激增。一旦关键设备出现故障,整条生产线可能被迫停工,导致产品产量减少,交货期延误,严重影响企业的市场信誉和经济效益。对于流程制造工厂而言,避免停机是巨大的挑战,设备故障作为意外停机的主要原因,会严重影响企业的生产力、盈利能力和声誉。

从设备安全的层面来说,机械故障可能引发严重的安全事故。在一些高风险行业,如化工厂、钢铁厂等,设备故障不仅会导致生产中断,还可能引发火灾、爆炸等灾难性事故,造成人员伤亡和巨大的财产损失。

正因如此,机械故障诊断显得尤为重要且必要。通过先进的故障诊断技术,可以实时监测设备的运行状态,及时发现潜在的故障隐患,实现设备的预知性维修,降低故障发生的概率,减少维修成本,提高设备的可靠性和安全性,为工业生产的稳定进行保驾护航。

1.2 故障诊断领域的研究现状

当前,故障诊断领域的方法多样,各有特点,但也存在不少问题。

直观检查法依靠操作人员的经验和感官,通过观察设备的外观、声音、气味、温度等判断设备是否异常。这种方法简单直接,对于明显故障效果显著,但受操作人员主观因素影响大,且难以发现隐蔽故障。

参数测量法通过测量设备的电压、电流、温度、压力等参数来诊断故障,能提供较为精确的数据支持,但需要专业的测量设备和操作人员,且对于复杂设备的多参数综合分析存在困难。

油液分析法通过对设备润滑油中的磨损颗粒、污染物等进行分析来判断设备的磨损状况和故障原因,适用于以润滑为主的机械设备,但分析过程较为复杂,成本较高,且难以实现实时监测。

频谱分析法利用傅里叶变换等技术将时域信号转换为频域信号,通过分析频谱特征来识别故障,在旋转机械故障诊断中应用广泛,但对于非平稳信号的处理效果不佳。

传统故障诊断方法普遍存在依赖人工经验、实时性差、诊断准确性有限等问题,难以满足现代工业生产对设备高效、稳定运行的需求。随着人工智能、大数据等新兴技术的发展,基于智能诊断技术的方法逐渐兴起,为故障诊断领域带来了新的机遇和挑战。

1.3 本文的研究内容和结构安排

本文针对传统故障诊断方法存在的局限性,提出一种基于改进螂优化算法(MSADBO)优化变分模态提取(VME)结合稀疏最大谐波噪声比解卷积(SMHD)的新型故障诊断方法。

首先阐述机械故障诊断的背景和意义,明确故障诊断的重要性和必要性。接着综述故障诊断领域的研究现状,分析传统方法的局限。然后详细介绍改进螂优化算法、变分模态提取和稀疏最大谐波噪声比解卷积的基本原理和优势,以及三者结合进行故障诊断的实现过程。随后利用西储大学轴承故障数据进行实验验证,从原始信号分析、MSADBO-VME识别分析、MSADBO-VME-SMHD识别分析三个方面进行对比,验证所提方法的有效性。最后总结全文,指出研究的创新点和局限性,展望未来的研究方向,为机械故障诊断领域提供新的思路和方法。

二、理论基础
2.1 改进螂优化算法(MSADBO)

改进螂优化算法(MSADBO)是一种模拟自然界螳螂捕猎行为的新型优化算法。它通过精准模拟螳螂的感知和决策机制来提升算法性能。在感知方面,算法能敏锐捕捉到搜索空间中的关键信息,如同螳螂感知猎物位置一般迅速准确。在决策上,模仿螳螂捕猎时的策略调整,使算法在搜索过程中能灵活平衡全局探索与局部开发。相较于传统算法,MSADBO收敛速度更快,搜索能力更强,在面对复杂优化问题时,能更高效地找到最优解,避免陷入局部最优,为优化变分模态提取参数提供有力支持。

2.2 变分模态提取(VME)

变分模态提取(VME)是一种强大的信号处理方法。其基本原理是将复杂信号分解为多个本征模态函数(IMF)。假设输入信号可分解为期望模态和残余信号,期望模态需紧密围绕其中心频率,且与残余信号的频谱重叠要尽可能小。通过构建变分框架,将信号分解问题转化为变分问题求解。VME能高效地从复杂信号中提取出关键特征,将原本混杂的信号分解为多个具有物理意义的独立分量,为后续故障诊断提供清晰的数据基础,便于从分解后的本征模态函数中准确识别故障特征。

2.3 稀疏最大谐波噪声比解卷积(SMHD)

稀疏最大谐波噪声比解卷积(SMHD)算法充分利用信号的稀疏性来提高信噪比。在实际信号中,故障特征往往以稀疏的谐波形式存在。SMHD算法通过优化滤波器,将信号中的稀疏谐波成分从强噪声背景中分离并增强。它能在没有先验周期的情况下,有效提取信号中的周期性脉冲故障分量。通过对信号进行解卷积处理,使得原本被噪声掩盖的故障特征得以凸显,为故障诊断提供更清晰、更准确的信号特征信息,便于后续进行故障识别与分析。

三、MSADBO优化VME参数的实现
3.1 VME参数优化的重要性

在机械故障诊断中,VME作为关键信号处理方法,其参数设置直接影响着故障特征提取的效果。VME的模态数K和惩罚系数α等参数,若设置不当,便会导致模态混叠或模态丢失等问题。

模态数K的确定尤为关键。若K设置过小,可能会出现模态混叠现象,使得多个本征模态函数(IMF)包含同一频率成分,导致故障特征无法准确分离;反之,若K设置过大,又会产生模态冗余,引入不必要的噪声和虚假信息,增加后续故障诊断的难度。惩罚系数α则用于控制分解过程中信号的平滑性和紧致性。α过大,会使信号过于平滑,导致部分故障特征被平滑掉;α过小,信号又可能过于粗糙,无法有效去除噪声干扰。

在实际应用中,这些参数的取值往往依赖于经验,缺乏客观标准,难以保证在不同工况和故障类型下都能达到最佳分解效果。因此,对VME参数进行优化,使其能够根据具体信号特性自适应调整,是提高故障诊断准确性和可靠性的重要环节。

3.2 MSADBO优化VME参数的方法

利用MSADBO优化VME参数,需先确定优化目标,即找到一个参数组合,使分解后的信号特征最符合故障诊断需求。包络熵是一种有效指标,能反映信号复杂度,理想状态下,每个IMF只包含一个物理成分,复杂度最低。

具体优化过程如下:

  1. 初始化参数。设置MSADBO算法的种群大小、最大迭代次数、生产者占比等参数,为算法运行奠定基础。
  2. 编码。将VME的模态数K和惩罚系数α进行编码,作为算法搜索的对象。编码方式可选择实数编码,便于算法操作。
  3. 适应度函数计算。以包络熵为适应度函数,对每个个体(即一组参数组合)进行评估。计算分解后各IMF的包络熵之和,值越小,说明参数组合越优。
  4. 模拟螳螂行为。算法中的个体如同螳螂,在搜索空间中寻找猎物(即最优参数组合)。通过感知和决策机制,个体根据适应度值调整搜索方向和步长,模仿螳螂捕猎时的策略,在全局探索和局部开发间平衡。
  5. 迭代更新。算法不断迭代,个体在搜索空间中移动,逐渐向最优解靠近。每一次迭代,都会产生新的参数组合,并通过适应度函数评估,筛选出更优的个体。
  6. 输出最优解。当迭代达到预设次数或满足其他终止条件时,算法停止,输出最优参数组合。此时,该参数组合下的VME能够更有效地提取信号中的故障特征,为后续诊断提供有力支持。
3.3 优化后VME的性能分析

优化后的VME在故障诊断中展现出诸多优势。以西储大学轴承故障数据为例进行分析,可从以下几个方面验证优化效果。

在特征提取准确性方面,优化后VME能将复杂振动信号精准分解为多个IMF,各IMF清晰反映了不同故障特征。例如在轴承内圈故障信号中,优化后VME能准确提取出内圈损伤引起的冲击脉冲成分,其频率与理论故障特征频率高度吻合,而未优化VME分解出的信号则可能存在特征模糊或遗漏的情况。

从抗噪性能来看,优化后VME在强噪声环境下依然能保持较好的故障特征提取能力。当信号信噪比降低时,未优化VME分解出的IMF中故障特征可能被噪声淹没,而优化后VME通过合理参数设置,能有效抑制噪声干扰,使故障特征依然明显。

在计算效率上,MSADBO优化过程虽增加一定计算量,但优化后VME在整体故障诊断流程中提高了特征提取速度。由于参数设置更合理,分解过程更高效,减少了不必要的计算和冗余信息处理,使得整个故障诊断流程在保证准确性的同时,耗时更短。

综合以上分析,优化后VME在故障诊断中能有效提升特征提取准确性、抗噪性能和计算效率,为准确识别机械故障提供了有力保障。

四、MSADBO-VME-SMHD方法的结合
4.1 VME与SMHD的结合方式

在故障诊断领域,VME与SMHD的结合堪称强强联手,发挥着互补作用。VME能够像一位精准的“分割大师”,将复杂信号巧妙分解为多个本征模态函数(IMF),把原本混杂在一起的不同频率成分清晰地分离出来,让信号中的故障特征初现端倪。然而,这些IMF中可能仍夹杂着噪声和其他干扰成分,使得故障特征不够突出。

此时,SMHD便作为一位出色的“强化专家”登场。它充分利用信号的稀疏特性,对VME分解得到的IMF进行解卷积处理。就像放大镜一般,将信号中的稀疏谐波成分从强噪声背景中分离并增强,使得原本可能被噪声掩盖的故障特征变得清晰可见。

两者结合的方式是,先利用VME对原始振动信号进行分解,得到多个IMF,然后针对每个IMF应用SMHD算法进行解卷积处理。这样一来,就能充分发挥VME在信号分解方面的优势和SMHD在提高信噪比、凸显故障特征方面的特长,共同为故障诊断提供更准确、更清晰的特征信息,让故障识别变得更加容易和可靠。

4.2 MSADBO对整个流程的优化

MSADBO在整个MSADBO-VME-SMHD流程中扮演着至关重要的优化角色。在VME参数优化环节,MSADBO凭借其强大的搜索能力和快速收敛速度,如同一位经验丰富的“寻宝者”,在复杂的参数空间中迅速找到最优参数组合。它通过模拟螳螂的感知和决策机制,精准捕捉到有利于故障特征提取的参数信息,灵活调整搜索策略,避免陷入局部最优,确保VME能够以最佳状态对信号进行分解。

在VME与SMHD的结合过程中,MSADBO也能发挥优化作用。它可以根据信号特性和故障诊断需求,对SMHD算法中的相关参数进行智能调整。比如在解卷积过程中,MSADBO可以帮助确定滤波器的最优参数,使得解卷积处理既能有效去除噪声,又能最大程度地保留和增强故障特征。

在整个故障诊断流程中,MSADBO就像一位高效的“调度员”,协调VME和SMHD的工作。通过优化参数和调整算法运行策略,使VME和SMHD的结合更加紧密、高效,从而提升诊断准确性,让故障诊断结果更加可靠,为及时发现和解决机械故障提供有力保障。

4.3 结合方法的优势分析

MSADBO-VME-SMHD方法在故障特征提取上优势显著。

从特征提取的准确性来看,VME先将复杂信号分解为多个IMF,使故障特征得以初步显现,再经SMHD对IMF进行解卷积处理,进一步增强故障特征。这种结合方式使得故障特征频率在频谱图中更加突出,与理论故障特征频率高度吻合,能准确识别出轴承内圈、外圈等不同部位的故障。

在抗噪性能方面,该方法表现出色。在强噪声环境下,VME能有效抑制部分噪声,SMHD则进一步从噪声中提取和增强故障特征,使得即使在信噪比很低的情况下,也能清晰地提取出故障信息。

计算效率上也有所提升。虽然MSADBO优化VME参数和SMHD处理会增加一定计算量,但整体流程通过合理优化,避免了不必要的冗余计算。在VME分解过程中,优化后的参数使得分解更高效,SMHD针对优化后IMF的解卷积处理也更为迅速,使得整个故障特征提取流程在保证准确性的同时,耗时更短,满足实时故障诊断的需求。

该方法还能适应不同工况和故障类型。MSADBO的智能优化能力使VME和SMHD参数能根据具体信号特性自适应调整,无论是在负载变化、转速不同的工况下,还是面对不同类型、程度的故障,都能有效提取故障特征,具有很强的通用性和实用性。

五、实验验证与分析
5.1 西储大学轴承故障数据介绍

西储大学轴承实验于2004年开展,旨在为故障诊断研究提供可靠数据。实验平台由2马力电动机、扭矩传感器/译码器、功率测试计及电子控制器组成。驱动端和风扇端分别采用SKF6205和SKF6203轴承。

实验利用电火花加工对滚动轴承的滚动体、内圈和外圈制造出单点故障,损伤直径有0.1778 mm、0.3556 mm、0.5334 mm三种。采样频率涵盖12KHz和48KHz,驱动端数据丰富,包含正常状态及不同损伤直径和类型的故障数据。

这些数据以Matlab的mat格式存储,每个文件包含风扇和驱动端振动数据,以及电机转速。文件命名清晰,如“12k_Drive”表示驱动端12KHz采样频率数据,“End”表示轴承位于电机非驱动端,“1”表示损伤直径为0.1778 mm,“DE”表示驱动端加速度数据等,为故障诊断研究提供了全面且规范的原始信号素材。

5.2 原始信号分析

对西储大学轴承故障原始信号进行时域分析,可观察到不同故障类型在时域波形上有明显差异。正常状态下,信号较为平稳,波动较小。当轴承出现故障,如内圈故障,时域波形会出现周期性的冲击脉冲,这些脉冲的幅度和频率与故障类型、损伤程度密切相关。轻故障时,冲击脉冲幅度较小,周期相对规律;重故障则脉冲幅度增大,周期可能因故障加剧而变得不太规律。

从频域角度看,利用傅里叶变换将时域信号转换为频域信号,能发现故障特征频率成分。在正常信号频谱中,主要为基频及其倍频成分,噪声分布较为均匀。当轴承出现故障,会在频谱中出现与故障特征频率对应的峰值。例如内圈故障,会在频谱中观察到内圈故障特征频率及其倍频的峰值。但原始信号中噪声干扰较大,这些故障特征频率峰值可能被噪声掩盖,难以准确识别,需要进一步的处理方法来提取故障特征。

通过对原始信号的时域和频域分析,可以初步判断信号中存在故障特征,但噪声干扰严重,故障特征不够清晰,为后续的信号处理方法应用提供了需求和方向。

5.3 MSADBO-VME识别分析

应用MSADBO-VME方法对西储大学轴承故障信号进行处理,能有效提取故障特征。

将原始信号输入经过MSADBO优化的VME中,VME会将复杂信号分解为多个IMF。以轴承内圈故障信号为例,分解后得到的IMF中,有的IMF清晰地反映了内圈损伤引起的冲击脉冲成分,其频率与理论内圈故障特征频率相吻合。在时域波形上,这些IMF的冲击脉冲周期性和规律性更加明显,与原始信号中模糊的冲击脉冲相比,故障特征更加突出。

观察IMF的频谱图,可以发现故障特征频率峰值更加显著。在未优化的VME分解结果中,可能存在模态混叠或模态丢失,导致故障特征频率峰值不明显或出现虚假峰值。而经过MSADBO优化后,VME参数设置更合理,分解出的IMF能准确反映故障特征,频谱图中故障特征频率峰值与理论值高度一致,且周围噪声干扰得到有效抑制。

通过对不同故障类型信号的分析,MSADBO-VME方法能准确识别出轴承内圈、外圈、滚动体等不同部位的故障。与原始信号相比,故障特征提取的准确性大幅提高,为故障诊断提供了有力依据。但信号中仍存在一定噪声,部分细微故障特征可能还不够清晰,有待进一步处理。

5.4 MSADBO-VME-SMHD识别分析

在MSADBO-VME基础上进一步结合SMHD方法,能显著改善信号质量,对诊断结果产生积极影响。

将MSADBO-VME分解得到的IMF输入SMHD算法中,利用信号的稀疏特性进行解卷积处理。SMHD就像一位“强化专家”,将IMF中的稀疏谐波成分从噪声背景中分离并增强,使得原本可能被噪声掩盖的细微故障特征变得清晰可见。

以轴承滚动体轻故障信号为例,在MSADBO-VME处理后的IMF中,轻故障引起的冲击脉冲特征虽然有所显现,但幅度较小,周期规律性不够明显。经过SMHD处理后,冲击脉冲幅度明显增大,周期规律性更加清晰,在时域波形上几乎可以一眼识别出故障特征。

在频域上,SMHD处理后的频谱图中,故障特征频率峰值更加突出,周围的噪声得到进一步抑制。原本可能被噪声干扰而难以识别的故障特征频率,在频谱图中清晰地呈现出来,与理论故障特征频率高度吻合。这使得故障诊断的准确性得到进一步提升,即使对于一些早期、轻微的故障,也能准确识别。

结合SMHD后,整个方法的抗噪性能和故障特征提取能力得到显著增强,信号质量明显改善,为准确判断轴承故障类型和程度提供了更可靠的依据。

5.5 方法对比与结果讨论

将本文所提MSADBO-VME-SMHD方法与传统方法、直VME方法、MSADBO-VME方法进行对比,可充分验证其有效性。

与特征提取和故障识别传统方法相比,如PCA+SVM、EMD+SVM等。PCA作为线性处理方法,在处理轴承故障这类非线性信号时能力不足,分类效果较低。EMD虽能自适应分解信号,但在处理复杂故障信号时容易出现模态混叠和端点效应问题,导致故障特征提取不准确。而本文方法利用VME有效分解信号,结合SMHD增强故障特征,在分类准确率和故障特征识别清晰度上都明显优于传统方法。

与直VME方法相比,未经过MSADBO优化的VME参数设置依赖经验,容易出现模态混叠或丢失等问题,导致故障特征提取不完整或不准确。而经过MSADBO优化后,VME参数更合理,故障特征提取效果更好。

相较于MSADBO-VME方法,虽然该方法已能有效提取故障特征,但结合SMHD后,进一步提升了抗噪性能和故障特征清晰度,使得对于一些早期、轻微故障的识别能力更强。

综合对比分析,MSADBO-VME-SMHD方法在故障诊断效果上具有明显优势,能更准确、更清晰地识别轴承故障,为机械故障诊断提供了更有效的手段。

六、结论与展望
6.1 研究总结

本文聚焦于机械故障诊断领域,针对传统方法存在的诸多局限,提出一种基于改进螂优化算法(MSADBO)优化变分模态提取(VME)结合稀疏最大谐波噪声比解卷积(SMHD)的新型故障诊断方法。详细阐述了MSADBO、VME和SMHD的基本原理与优势,明确VME参数优化的重要性及MSADBO优化VME参数的方法。通过西储大学轴承故障数据的实验验证,从原始信号分析、MSADBO-VME识别分析到MSADBO-VME-SMHD识别分析,层层深入,展示了所提方法在故障特征提取上的卓越性能。与传统方法及直VME方法、MSADBO-VME方法对比,进一步凸显其在故障诊断中的创新性与有效性,为机械故障诊断提供了新的思路与技术手段。

6.2 未来研究方向

本文研究虽取得一定成果,但仍存在局限。一方面,MSADBO优化VME参数及SMHD处理会增加计算量,在大规模数据应用时,计算效率问题需进一步优化。另一方面,该方法在复杂多故障并存情况下的诊断效果还有待验证。未来的研究方向可聚焦于算法效率提升,探索更高效的优化算法与并行计算技术,缩短诊断时间,满足实时性需求。还可深入研究多故障耦合情况下的特征提取与识别方法,提高方法在复杂工况下的适用性。此外,将该方法与更多新兴技术如人工智能、大数据等融合,开发智能故障诊断系统,实现故障的自动识别与预测,也是极具前景的研究方向。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2324059.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[已解决]服务器CPU突然飙高98%----Java程序OOM问题 (2024.9.5)

目录 问题描述问题排查问题解决参考资料 问题描述 业主单位服务器自8月29日晚上21:00起CPU突然飙高至98%,内存爆满,一直到9月5日: 问题排查 ①执行 top 命令查看Java进程PID top②执行top -Hp PID 命令查看具体的线程情况 top -Hp 3058输入上…

Ai工作流工具有那些如Dify、coze扣子等以及他们是否开源

Dify (https://difycloud.com/) 核心定位:专业级 LLM 应用开发平台,支持复杂 AI 工作流构建与企业级管理。典型场景:企业智能客服、数据分析系统、复杂自动化流程构建等。适合需要深度定制、企业级管理和复杂 AI 逻辑…

Yolo_v8的安装测试

前言 如何安装Python版本的Yolo,有一段时间不用了,Yolo的版本也在不断地发展,所以重新安装了运行了一下,记录了下来,供参考。 一、搭建环境 1.1、创建Pycharm工程 首先创建好一个空白的工程,如下图&…

软件兼容性测试的矩阵爆炸问题有哪些解决方案

解决软件兼容性测试中的矩阵爆炸问题主要有优先级划分、组合测试方法、自动化测试技术等方案。其中,组合测试方法尤其有效。组合测试通过科学的组合算法,能够显著降低测试用例的数量,同时保持较高的测试覆盖率,例如正交实验设计&a…

嵌入式学习(32)-TTS语音模块SYN6288

一、概述 SYN6288 中文语音合成芯片是北京宇音天下科技有限公司于 2010年初推出的一款性/价比更高,效果更自然的一款中高端语音合成芯片。SYN6288 通过异步串口(UART)通讯方式,接收待合成的文本数据,实现文本到语音(或 TTS 语音)的转换。宇音天下于 2002…

从零到一:打造顶尖生成式AI应用的全流程实战

简介 生成式AI正以前所未有的速度改变我们的世界,从内容创作到智能客服,再到医疗诊断,它正在成为各行各业的核心驱动力。然而,构建一个高效、安全且负责任的生成式AI系统并非易事。本文将带你从零开始,逐步完成一个完整…

Windows 10更新失败解决方法

在我们使用 Windows 时的时候,很多时候遇到系统更新 重启之后却一直提示“我们无法完成更新,正在撤销更改” 这种情况非常烦人,但其实可以通过修改文件的方法解决,并且正常更新到最新版操作系统 01修改注册表 管理员身份运行注…

ubuntu24.04.2 NVIDIA GeForce RTX 4060笔记本安装驱动

https://www.nvidia.cn/drivers/details/242281/ 上面是下载地址 sudo chmod x NVIDIA-Linux-x86_64-570.133.07.run # 赋予执行权限把下载的驱动复制到家目录下,基本工具准备,如下 sudo apt update sudo apt install build-essential libglvnd-dev …

如何快速下载并安装 Postman?

从下载、安装、启动 Postman 这三个方面为大家详细讲解下载安装 Postman 每一步操作,帮助初学者快速上手。 Postman 下载及安装教程(2025最新)

1.1 计算机网络的概念

首先来看什么是计算机网络,关于计算机网络的定义并没有一个统一的标准,不同的教材有 不同的说法(这是王道书对于计算机网络的定义),我们可以结合自己的生活经验去体会这个 定义。 可以用不同类型的设备去连接计算机网络…

Blender绘图——旋转曲线(以LCP与RCP为例)

最近在做左旋圆偏振光(LCP)与右旋圆偏振光(RCP)的研究,因此需要画出他们的图,接下来我就介绍一下用Blender怎么去画LCP与RCP。 首先你需要下载Blender软件,网上直接能搜到,图标如下…

Spring与Mybatis整合

持久层整合 1.Spring框架为什么要与持久层技术进行整合 JavaEE开发需要持久层进行数据库的访问操作 JDBC Hibernate Mybatis进行持久层开发存在大量的代码冗余 Spring基于模板设计模式对于上述的持久层技术进行了封装 2.Mybatis整合 SqlSessionFactoryBean MapperScannerConfi…

JDBC FetchSize不生效,批量变全量致OOM问题分析

背景 一个简单的基于 JDBC 采集数据库表的功能,当采集 Postgre SQL 某表,其数据量达到 500万左右的时候,程序一启动就将 JVM 堆内存「6G」干满了。 问题是程序中使用了游标的只前进配置,且设置了 fetchSize 属性: q…

docker - compose up - d`命令解释,重复运行会覆盖原有容器吗

docker - compose up - d`命令解释,重复运行会覆盖原有容器吗 docker - compose up - d 是一个用于管理 Docker 容器的命令,具体含义如下: 命令含义: up:用于创建、启动并运行容器,会根据 docker - compose.yml 文件中定义的服务配置来操作。-d:表示以“分离模式”(det…

A2 最佳学习方法

记录自己想法的最好理由是发现自己的想法,并将其组织成可传播的形式 (The best reason for recording what one thinks is to discover what one thinks and to organize it in transmittable form.) Prof Ackoff 经验之谈: 做培训或者写文章&#xff…

StarRocks 中 CURRENT_TIMESTAMP 和 CURRENT_TIME 分区过滤问题

背景 本文基于Starrocks 3.3.5 最近在进行Starrocks 跑数据的时候,发现了一个SQL 扫描了所有分区的数据,简化后的SQL如下: select date_created from tableA where date_createddate_format(current_time(), %Y-%m-%d %H:%i:%S) limit 20其…

4、网工软考—VLAN配置—hybird配置

1、实验环境搭建: 2、实验过程 SW1: 先创建vlan2和vlan3 [Huawei-Ethernet0/0/2]port link-type hybrid //hybird端口 [Huawei-Ethernet0/0/2]port hybrid pvid vlan 2 [Huawei-Ethernet0/0/2]port hybrid untagged vlan 10 //撕掉vlan10的标签 …

Chrome 开发环境快速屏蔽 CORS 跨域限制!

Chrome 开发环境快速屏蔽 CORS 跨域限制【详细教程】 ❓ 为什么需要临时屏蔽 CORS? 在前后端开发过程中,我们经常会遇到 跨域请求被浏览器拦截 的问题。例如,你在 http://localhost:3000 调用 https://api.example.com 时,可能会…

ubuntu22.04 ROS2humble 路径文件

ROS2humble 路径文件 /opt/ros/humble/include/opt/ros/humble/lib/opt/ros/humble/share 下载ros2之后会有下面的文件,在/opt/ros/humble下 /opt/ros/humble/include C/C 头文件(.h, .hpp) /opt/ros/humble/lib 作用: 存放 编译生成的二…

OpenCV 图形API(或称G-API)

操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 引言 OpenCV 图形API(或称G-API)是一个新的OpenCV模块,旨在使常规图像处理更快且更便携。通过引入一种新的基于图的执行…