论文笔记:液体管道泄漏综合检测与定位模型
0 简介
An integrated detection and location model for leakages in liquid pipelines
1 摘要
许多液体,如水和油,都是通过管道运输的,在管道中可能发生泄漏,造成能源浪费、环境污染和对人类健康的威胁。本文描述了一种集成的泄漏检测和定位模型,该模型可用于液体管道中的背景泄漏(现有技术手段和措施未能检测到的管网漏点的漏失量)甚至微泄漏。该模型包括动态监测模块(DMM)和静态测试模块(STM)。利用压力波的振幅传播和衰减模型,DMM可以检测到较大的背景泄漏。基于压力损失模型的STM可以检测微泄漏,是对DMM的有效补偿。为了验证所提出的模型,在实验室规模和现场进行了实验,并实施了现场应用。结果表明,该综合模型可以检测到几乎所有的泄漏。对于DMM,现场检测到的泄漏孔与管径的最小比值(RLOPD)为1/41.4,定位误差在1%左右。对于STM,现场检测到的最小泄漏率仅为0.0044%/h。因此,该模型可以检测和定位液体管道的泄漏。
2 引言
2.1 背景
管道在世界各地广泛用于运输和分配化学液体,如水和油。随着管道行业的快速发展(Fukushima et al ., 2000),由于腐蚀、第三方破坏等因素导致的管道泄漏事故频发,给管道的安全运行带来了很大的隐患(Nagaosa, 2014)。泄漏主要分为两种类型,即破裂和背景(Haghighi et al, 2012)。破裂是由于流量增加超过管道最大容量或由于管壁上的过大应力而立即发生的泄漏。背景泄漏随着时间的推移逐渐发生,通常是由腐蚀的进展或在恶化的情况下引起的。第二类更难探测,因为其形成过程缓慢且低压下降足够。相反,破裂瞬间发生,压力明显降低,这可以通过基于传感器的管道监测检测到。当我们试图检测和定位泄漏时,我们希望检测到背景泄漏,即使是较小的泄漏。
管道泄漏检测技术(Reddy et al ., 2011;Wang et al ., 2017;Morgan等人,2015)在保护管道运输安全方面发挥重要作用,并提供额外的环境,经济和人类健康效益。有很多方法(Sun and Chang, 2014;Mirzaei et al ., 2013)可用于检测和定位水和石油管道的泄漏,范围从视觉线行走检查,直接机械挖掘到复杂的基于模型的技术,例如基于质量/体积平衡,负压波,瞬态模型,分布式光纤和声波的方法。根据API 1130 (API 1130, 2002),泄漏检测系统(LDS)分为基于内部的LDS和基于外部的LDS。内部系统使用现场仪表(例如流量、压力或流体温度传感器)来监测内部管道参数。外部系统使用一套不同的现场仪器(例如红外辐射计或热像仪、蒸汽传感器、声学麦克风或光纤电缆)来监测外部管道参数。基于外部的方法被排除在计算管道监测(CPM)的讨论之外,因为它们不满足对现场参数进行计算以推断商品释放的要求。每种CPM方法,包括实时暂态方法,都有其优点和局限性。例如,一些CPM方法对测量可重复性和漂移更敏感,而其他方法可能需要大量的配置工作和调优。没有一种技术被证明适用于所有管道应用。可以采用多个CPM系统来提供一个CPM,该CPM可以更广泛地覆盖管道运行条件。迄今为止,大多数CPM技术尚未证明自己能够在定期或永久松弛线条件下提供令人满意的CPM操作。如果该条件存在于特定的管道中,则该管道的CPM选择标准将需要考虑操作条件。
目前,研究主要集中在由第三方损伤或压力波动引起的高泄漏率(LR)的破裂或背景泄漏(Zhang et al ., 2014)。这意味着,一般来说,只有当LR很高时,这些方法才能有效地检测到泄漏(Pregelj和Drab, 1997)。
背景泄漏检测是困难的,因为小的泄漏可能不会对现场仪表(如动态压力传感器)产生足够的变化,这意味着传感器无法测量压力变化。然而,在某些情况下,应检测到背景或较小的泄漏,甚至渗漏或滴水。对于机场管道,在API 1540 (API RP 1540, 2004)中,在参考压力为1000kpa时,应检测的最小泄漏率为0.04 L/(h·m3)或0.004%/h。泄漏检测应在一小时内完成。这意味着即使是渗漏或滴水也要在有限的时间内检测到,这就要求高灵敏度、短时间和高水平的检漏。此外,管道被埋在地下,这使得这些泄漏更难以检测到。
2.2 相关工作
为了对管道进行泄漏检测和定位,研究人员和工程师提出并改进了各种方法。
用于泄漏检测的实时瞬态方法(RTTM)使用质量、动量、能量和状态方程算法来确定流量。流量变量的预测值和实测值之间的差值用于确定管道中的泄漏。
该技术需要测量流量、压力和温度变量,并使用上述算法。RTTM持续分析噪声水平和正常瞬态事件,以最大限度地减少误报。泄漏阈值根据流量的统计变化进行调整。采用了一种基于实时瞬态模型的方法,可以检测到小泄漏(Scott and Barrufet, 2003),尽管这种方法非常昂贵,而且小泄漏仍然相对较大。不可压缩流体通过泄漏管道的瞬态数学模型已经建立(Molina-Espinosa et al ., 2013)。还进行了短管泄漏试验。将预测的压力分布与实验数据进行了比较,对泄漏流量大于公称流量的6%进行了很好的拟合。针对冷库氨管道开发了一种实时泄漏检测方法(Shen et al ., 2016)。在误报率相对较低(低至3%)的情况下,R22管道和氨管道的最小可检测泄漏率分别达到1%和4%。R22管路定位误差在−27% ~ 17%之间,氨管路定位误差在−27% ~ 27%之间。提出了一种基于瞬态模型的原油管道泄漏检测与定位技术(Chinwuko et al ., 2016)。该模型所涉及的压力、流量、温度等动态参数由SCADA (Supervisory Control and Data Acquisition)系统采集。该模型定位了一条长2000米、直径0.3556米的水平管道泄漏事件,该管道将尼日利亚bonny轻质原油从尼日利亚石油开发有限公司的Olomoro流站输送到UPS (Ughelli泵站)卡车线。然而,在管道泄漏修复工作中发现,模型定位的距离进口1088.12 m处的泄漏比实际发现的1100 m泄漏位置低11.88 m。为了改进RTTM,采用了多个CFM模型。已经提出了一种结合体积平衡的实时方法(Doorhy, 2011)来检测和定位小泄漏。它的高灵敏度甚至可以检测到非常小的泄漏,它可以准确地预测泄漏的位置,在零流量条件下工作,并且非常容易重复。已经提出了一种利用由下游截止阀突然关闭引发的瞬态负压波的技术(Elaoud等,2010)。管道中泄漏的存在部分反映在这些压力波中,从而可以定位泄漏。
提出了一种基于实时瞬态建模方法与负压波方法相结合的新型混合技术(Zhang et al ., 2015)。利用该技术,利用刺激-响应法定位泄漏点。结果表明,该混合技术在天然气管道泄漏检测和定位中取得了成功。然而,与测量的瞬态相比,在瞬态方法的情况下,正常瞬态模型远不能令人满意(Brunone et al, 1996;Verde等人,2007;Wylie et al, 1993)。这些差异的主要原因是在非定常摩擦中发现的,它具有二维或三维的影响,而大多数瞬态模型没有考虑到或没有适当考虑到这一点。在瞬态分析方法中,分配系统中摩擦因素的存在固有地降低了阀门关闭过程中传播的波压力的大小。所有管道系统的摩擦值取决于分配系统内流体速度的平方。
还提出了其他方法。提出了一种基于聚类和模糊系统相结合的管道泄漏检测方法。模糊系统最初使用包含模拟泄漏的修改数据集进行离线训练,并应用于小型液化石油气管道监测案例(da SilvaCelso et al, 2005)。已经描述了一种模型驱动的决策支持系统,该系统实现了基于模型的在线泄漏检测和定位方法(Meseguer等人,2014)。该决策支持系统适用于大型配水管网。结果表明,该方法可以有效地进行泄漏检测和定位,减少了所需的时间。还提出了一种移动无线传感器网络解决方案,该解决方案由移动传感器节点组成,可以随着管道内的水流自由移动,近乎实时地(通过传感器)收集和传输测量数据到静态接入点(称为信标)(Gong et al, 2016)。这项研究补充了移动传感器技术的巨大进步。已经提出了一种利用相控天线阵列进行水下管道被动泄漏检测的方法(Irina et al ., 2018)。提出了一种基于相控阵信号处理方法的检测系统,并给出了实验结果。
声学方法有其优点,得到了广泛的研究。建立了预测塑料水管泄漏声信号互相关函数的解析模型(Gao et al ., 2004),该模型可用于提高泄漏定位精度。在塑料水管中进行的实验(Hunaidi和Chu, 1999)表明,信号的幅值衰减速度为0.25 dB/m,频率低于50 Hz的信号的传播速度与频率无关,冬季声信号的传播速度比夏季快7%。建立了泄漏引起的信号在充液圆形管道中的传播模型,分析了泄漏引起的衰减特性,特别是声音和振动波的传播行为(Muggleton et al, 2002)。对充液管道中波的衰减特性进行了研究(Liu et al ., 2003),结果表明纵波在管道中的衰减速度比其他波慢。比较了波在不同管壁材料中的传播特性,得出了波在钢管中的衰减比在PVC管壁中的衰减慢的结论。
内部泄漏检测方法很多,尤其是基于压力值的检测方法。应与表1所示的基于补偿体积平衡的检测方法进行比较(Abdulshaheed et al, 2017)。
如表1所述,每种方法都有其优点和缺点。虽然监测距离较短,但基于声波的方法是有前途的。为了将声学方法应用于长距离管道,选择动态压力传感器来表示可长距离传播的大振幅,在此基础上提出了动态压力波,并对泄漏定位公式进行了修正。
目前,大多数声学方法的研究都是为了提高速度和时间差的计算精度。时差计算需要一个全球定位系统(GPS)时钟来标记数据,以保持测量信号的时间同步。这个问题之前也讨论过(Magnis和Petit, 2015)。这些数据应该仔细地用精确和同步的时钟(例如GPS或橄榄球时钟)进行时间标记,尽管这些时钟不容易获得,并且在许多地区容易受到干扰。不幸的是,这些建议与当前安装的系统中观察到的最佳技术状态相距甚远。在石油和天然气生产中,由于测量年代不精确而引起的问题已经得到了分析(Petit, 2015)。以上分析表明,时差计算是一个问题。基于这个观点,不使用速度和时间差的方法可以被认为更容易和更简洁。因此,提出了一种基于振幅的方法(Liu et al ., 2015a)。该方法不需要计算速度和时间差,为泄漏定位提供了一种新的方法。
然而,由腐蚀引起的泄漏通常是微泄漏。在发生重大损害之前,它们更难被发现。2013年,青岛发生溢油爆炸事故,造成约60人死亡,130多人受伤。雾直到几天后才消散。为什么会发生这种情况?因为在检测、定位和修复泄漏之前,已经积累了大量的油。更重要的是,在对中国石油管道进行调查后,每10公里的管道中就有5个微泄漏。大部分输油管道已使用20年以上,泄漏频率高。
在美国,这种风险和影响导致“加速修复、修复和更换风险最高的管道基础设施”。因此,微泄漏的检测具有重要的意义。
根据液体管道的现场操作经验,工程师们提出了几种检测微泄漏的方法(Roger, 2003;Bhuiyan等,2016;Sousal et al, 2013;Santos, 2013)基于压力步骤,压力和温度,压力梯度等。压力阶跃法的基础是,在给定泄漏尺寸的情况下,高压下的泄漏率大于低压下的泄漏率。然而,尽管精度很高,但理论和技术细节并不清楚。压力-阶跃法和压力-温度法考虑的是温度或热过程(Rajeev et al ., 2013;Ai et al, 2016)。压力梯度法的基础是假设压力沿管道的变化是线性的,这在传统的压力损失法中得到了体现。传统的压力损失法对微泄漏不敏感。
虽然微泄漏是危险的,但由于微泄漏率模型尚未明确建立,因此很少采用泄漏检测方法。
因此,一种能够逐滴检测微泄漏的方法是必要的,并且需要高灵敏度和高标准。检测时间要短。
总之,一个可以覆盖所有泄漏的集成模型是必要的。显然,模型应该包括两个模块:DMM和STM。这两个模块都是基于一种使用计算机的新方法。DMM采用基于幅度衰减模型的定位方法,对大泄漏敏感,可以实时检测管道。STM基于压力损失模型,该模型对微泄漏和持续泄漏敏感,可以定期使用。当使用前者时,不需要进行管道操作,而后者需要进行管道分割。
3 方法
3.1 基于幅度衰减的DMM模块传播模型
输油管道被认为是携带危险流体的管道,因此需要加强完整性。静水压试验(Edwards, 2014)是为了防止在正常工作条件下形成泄漏,满足工作的安全运行。试验一般在管道施工后或管道系统扩建前进行,也可在管道正常运行时进行。
静水压力试验(不流动的水),以加压水为介质,一般用于管道系统建成后的完整性检验。如果管道测试成功,则说明该管道不存在导致管道系统故障的缺陷。完成完整性测试后,在无泄漏情况下进行应用。然后进行泄漏孔最小的测试实验,首先设置一个阈值进行泄漏检测。在测试实验中,泄漏量是已知的,并应记录泄漏量。声波是在管道一端和另一端发生泄漏的地方测量的。通过小波变换得到子带幅值 p A 0 p_{A0} pA0和 p A p_A pA,将比值 p A p A 0 \frac{p_A}{p_{A0}} pA0pA设为阈值,将幅值较大的 p A 0 p_{A0} pA0作为参考压力。 p 1 p_1 p1和 p 2 p_2 p2两个测量信号,如果满足 p 1 p A 0 ≥ p A p A 0 \frac{p_1}{p_{A0}} \geq \frac{p_A}{p_{A0}} pA0p1≥pA0pA或 p 2 p A 0 ≥ p A p A 0 \frac{p_2}{p_{A0}} \geq \frac{p_A}{p_{A0}} pA0p2≥pA0pA,则有泄漏发生。
理论分析和实验研究表明,随着传播距离的增加,振幅衰减遵循指数曲线规律。振幅衰减可以用等式(1) (Liu et al., 2015b)来描述:
p = p 0 e − α x (1) p = p_0 e^{-\alpha x} \tag1 p=p0e−αx(1)
考虑介质的粘性吸收和热传导,可以得到阻尼吸收系数(DAC) α \alpha α (Liu et al ., 2015b):
α = 1 r c η ′ ω 2 ρ 0 + ω 2 2 ρ 0 c 0 3 ⋅ η ′ ′ + ω 2 2 ρ 0 c 0 3 ⋅ χ ( 1 C v − 1 C p ) (2) \alpha=\frac{1}{r c} \sqrt{\frac{\eta^{\prime} \omega}{2 \rho_{0}}}+\frac{\omega^{2}}{2 \rho_{0} c_{0}{ }^{3}} \cdot \eta^{\prime \prime}+\frac{\omega^{2}}{2 \rho_{0} c_{0}{ }^{3}} \cdot \chi\left(\frac{1}{C_{v}}-\frac{1}{C_{p}}\right) \tag2 α=rc12ρ0η′ω+2ρ0c03ω2⋅η′′+2ρ0c03ω2⋅χ(Cv1−Cp1)(2)
那么,将小波变换方法提取的幅度衰减量修改为:
p A = p A 0 e − σ α x (3) p_A = p_{A0} e^{-\sigma\alpha x} \tag3 pA=pA0e−σαx(3)
在式(3)中,通过对实验数据曲线的拟合,将理论DAC与拟合DAC进行对比分析,得出水、油管道的 σ \sigma σ为3 - 4。
然后提出了一种基于式(3)的新方法。通过以下公式(Liu et al ., 2015b)定位泄漏:
p 1 p 2 = e σ α ( L − 2 x ) ; x = L 2 − ln ( p 1 / p 2 ) 2 σ α \frac{p_{1}}{p_{2}}=e^{\sigma \alpha(L-2 x)} ; x=\frac{L}{2}-\frac{\ln \left(p_{1} / p_{2}\right)}{2 \sigma \alpha} p2p1=eσα(L−2x);x=2L−2σαln(p1/p2)
该方法简单、准确。虽然 α \alpha α的计算会导致误差,但 σ \sigma σ的计算使误差最小化。
所提出方法的详细过程如图1所示。
在研究活动中,不需要计算 α \alpha α和 σ \sigma σ。步骤如下:
- (1) 进行泄漏孔最小的第一次试验,得到阀值和参考压力;
- (2) 进行泄漏孔最小的第二次试验,管道中发生泄漏的一点与起始端之间的距离设为 x 0 x_0 x0;两个被测信号的子带幅值分别为 p 10 p_{10} p10和 p 20 p_{20} p20;
- (3)对管道进行监控,对信号进行测量。子带振幅为 p 1 n p_{1 n} p1n和 p 2 n p_{2n} p2n,如果 p 1 n p A 0 ≥ p A p A 0 \frac{p_{1n}}{p_{A0}} \geq \frac{p_A}{p_{A0}} pA0p1n≥pA0pA或者 p 2 n p A 0 ≥ p A p A 0 \frac{p_{2n}}{p_{A0}} \geq \frac{p_A}{p_{A0}} pA0p2n≥pA0pA,则有泄露发生;
- (4)根据式(3), ln ( p 10 p 20 ) / ( 2 σ α ) = L / 2 − x 0 \ln(\frac{p_{10}}{p_{20}}) / (2\sigma \alpha) = L/2 - x_0 ln(p20p10)/(2σα)=L/2−x0,则有:
L n / 2 − x n L 0 / 2 − x 0 = ln ( p 1 n / p 2 n ) ln ( p 10 / p 20 ) (5) \frac{L_n/2 - x_n}{L_0/2 - x_0} = \frac{\ln(p_{1n} / p_{2n})}{\ln(p_{10} / p_{20})} \tag5 L0/2−x0Ln/2−xn=ln(p10/p20)ln(p1n/p2n)(5)
由此可以计算出泄漏点 x n x_n xn。
使用不计算 α α α和 σ σ σ的步骤,表明该方法仍然可以有效地使用,是仅次于计算 α α α和 σ σ σ的方法的第二选择。
新的方法和改进的方法不考虑速度和时差,而只考虑振幅。
相关文章:

论文笔记:液体管道泄漏综合检测与定位模型
0 简介 An integrated detection and location model for leakages in liquid pipelines 1 摘要 许多液体,如水和油,都是通过管道运输的,在管道中可能发生泄漏,造成能源浪费、环境污染和对人类健康的威胁。本文描述了一种集成的…...

抖音视频批量提取软件|无水印视频下载
抖音视频批量提取软件,让您高效下载精彩内容! 您是否经常需要下载抖音视频,但传统的下载方式繁琐且低效?别担心,我们为您提供了一款强大而智能的抖音视频批量提取软件,让您轻松实现下载无水印的精彩内容&am…...

Linux docker1--环境及docker安装
一、基础环境要求 Docker分为ce版本(免费,试用7个月)和ee版本(收费)。 最低配置要求:64位操作系统,centOS 7及以上,内核版本不低于3.10 二、部署docker 1、查看服务的基础环境是否满…...

uniapp使用uview - DatetimePicker 时间选择器 /时间戳转化
uniapp使用uview - DatetimePicker 时间选择器 /时间戳转化时转换日期格式后页面仍显示时间戳 单元格内显示时间,点击可出现时间选择器切换时间 <u-cell :isLinktrue click"selectTime" title"开始时间" :value"startTime">…...
python实现websocket
WebSocket 是一种在单个 TCP 连接上进行全双工通信的协议。它允许客户端和服务器之间进行实时数据传输,而不是像 HTTP 协议那样,每次请求都需要建立新的连接。WebSocket 协议最初是由 HTML5 定义的,旨在提供一种更有效的替代方案,…...
ElasticSearch简介及常见用法
简介 Elasticsearch 是 Elastic Stack 核心的分布式搜索和分析引擎。 Logstash 和 Beats 有助于收集、聚合和丰富您的数据并将其存储在 Elasticsearch 中。 Kibana 使您能够以交互方式探索、可视化和分享对数据的见解,并管理和监控堆栈。 Elasticsearch 可以快速索…...
js iframe获取documen中的对象为空问题
原因其实是iframe加载是需要时间的,它还没加载完我就在js中直接获取对象了,所以获取为空 var idocument.getElementById("iframe"); i.onloadfunction(){console.log(i.contentDocument)console.log(i.contentWindow.document.getElementById…...
vue3子父组件之间的调用
子组件: capacityIndex.vue 父组件: index.vue A.子组件获取父组件属性 1.在父组件中引用子组件 import capacityIndex from "./capacityIndex"; <capacityIndex :tankInfo"tankInfo" :deviceNameInfo"deviceNameInfo…...

用 二层口 实现三层口 IP 通信的一个实现方法
我们一般用 undo portswitch 来将二层口转为三层口,但如果设备不支持的话,那么。。。 一、拓朴图: 二、实现方法: 起一个 vlan x,配置 vlanif地址,然后二层口划分到 vlan x 下,对端做同样的配置…...

(学习日记)2024.03.12:UCOSIII第十四节:时基列表
写在前面: 由于时间的不足与学习的碎片化,写博客变得有些奢侈。 但是对于记录学习(忘了以后能快速复习)的渴望一天天变得强烈。 既然如此 不如以天为单位,以时间为顺序,仅仅将博客当做一个知识学习的目录&a…...

四.流程控制(顺序,分支,循环,嵌套)
c刚刚转过来的记得写在public static void main(String[] args)的花括号里 一.顺序结构 二.分支结构 if ,switch 1.if (条件判断) 2.if else 3.if else if else if ... else(它是一个一个否定来一个个执行判断的 4.s…...

了解常用开发模型 -- 瀑布模型、螺旋模型、增量与迭代、敏捷开发
目录 瀑布模型 开发流程 开发特征 优缺点 适用场景 螺旋模型 开发流程 开发特征 优缺点 适用场景 增量与迭代开发 什么是增量开发?什么是迭代开发? 敏捷开发 什么是敏捷开发四原则(敏捷宣言)? 什么是 s…...

使用 Vue CLI 创建一个 Vue2 项目
全局安装 Vue CLI 参考官网 Vue CLI,安装命令如下 npm install -g vue/cli 目前 Vue CLI 的最新版本为 v5.0.8 创建 Vue2 项目 在希望创建项目的目录下打开命令行,键入命令 vue create my-project 其中 my-project 更改为自己需要的项目名 随后&a…...

Linux工具 - 耀眼的git
~~~~ 前言耀眼的GitGit是什么(本质)Git出现的背景(本着开源的精神)在命令行中使用Git(Come on 来使用Git吧).git文件说明新建仓库git clone 克隆云端仓库到本地git addgit commit -mgit pushgit pullgit st…...

Spring Security的开发
文章目录 1,介绍2, 核心流程3, 核心原理3.1 过滤器链机制3.2 主体3.3 认证3.4 授权3.5 流程图4, 核心对象4.1 UserDetailsService 接口4.2 PasswordEncoder 接口4.3 hasAuthority方法4.4 hasAnyAuthority方法4.5 hasRole方法4.5 hasAnyRole方法5, 核心注解5.1 @PreAuthorize5.1…...

C语言 实用调试技巧
我们的博客已经更新到了数据结构,但是当我在深耕数据结构时我发现我在C语言是遗漏了一个重要的东西,那就是C语言的使用调试技巧。这篇博客对数据结构非常重要,请大家耐心观看。 1. 什么是bug? 第一次被发现的导致计算机错误的飞蛾…...
GPT的实现细节
关于GPT的代码细节,这里梳理了一下: 数据集构造 原始数据集schema: inputwho is your favorite basketball player? outputOf course Kobe Bryant!那么在构造训练集时,根据chunk size构造多个输入: input_1who is …...

docker安装Milvus
docker安装Milvus 拉去CPU版本的milvus镜像 $ sudo docker pull milvusdb/milvus:0.10.0-cpu-d061620-5f3c00 docker pull milvusdb/milvus:0.10.0-cpu-d061620-5f3c00 mkdir -p milvus/conf cd milvus/conf ls wget https://raw.githubusercontent.com/milvus-io/milvus/v0.1…...

HTML静态网页成品作业(HTML+CSS)——世博园介绍(2个页面)
🎉不定期分享源码,关注不丢失哦 文章目录 一、作品介绍二、作品演示三、代码目录四、网站代码HTML部分代码 五、源码获取 一、作品介绍 🏷️本套采用HTMLCSS,未使用Javacsript代码,共有2个页面。 二、作品演示 三、代…...
微信小程序订阅消息授权弹窗事件
微信小程序消息订阅授权弹窗事件 ,每次授权完成之后,只可以推送一条模板消息。 目录 1、HTML代码 2、JS代码 1、HTML代码 <button bindtap"openPopup" class"openPopup">订阅消息</button> 2、JS代码 // 是否设置过授…...

SpringBoot-17-MyBatis动态SQL标签之常用标签
文章目录 1 代码1.1 实体User.java1.2 接口UserMapper.java1.3 映射UserMapper.xml1.3.1 标签if1.3.2 标签if和where1.3.3 标签choose和when和otherwise1.4 UserController.java2 常用动态SQL标签2.1 标签set2.1.1 UserMapper.java2.1.2 UserMapper.xml2.1.3 UserController.ja…...

(LeetCode 每日一题) 3442. 奇偶频次间的最大差值 I (哈希、字符串)
题目:3442. 奇偶频次间的最大差值 I 思路 :哈希,时间复杂度0(n)。 用哈希表来记录每个字符串中字符的分布情况,哈希表这里用数组即可实现。 C版本: class Solution { public:int maxDifference(string s) {int a[26]…...

地震勘探——干扰波识别、井中地震时距曲线特点
目录 干扰波识别反射波地震勘探的干扰波 井中地震时距曲线特点 干扰波识别 有效波:可以用来解决所提出的地质任务的波;干扰波:所有妨碍辨认、追踪有效波的其他波。 地震勘探中,有效波和干扰波是相对的。例如,在反射波…...

遍历 Map 类型集合的方法汇总
1 方法一 先用方法 keySet() 获取集合中的所有键。再通过 gey(key) 方法用对应键获取值 import java.util.HashMap; import java.util.Set;public class Test {public static void main(String[] args) {HashMap hashMap new HashMap();hashMap.put("语文",99);has…...

使用分级同态加密防御梯度泄漏
抽象 联邦学习 (FL) 支持跨分布式客户端进行协作模型训练,而无需共享原始数据,这使其成为在互联和自动驾驶汽车 (CAV) 等领域保护隐私的机器学习的一种很有前途的方法。然而,最近的研究表明&…...
条件运算符
C中的三目运算符(也称条件运算符,英文:ternary operator)是一种简洁的条件选择语句,语法如下: 条件表达式 ? 表达式1 : 表达式2• 如果“条件表达式”为true,则整个表达式的结果为“表达式1”…...
鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院挂号小程序
一、开发准备 环境搭建: 安装DevEco Studio 3.0或更高版本配置HarmonyOS SDK申请开发者账号 项目创建: File > New > Create Project > Application (选择"Empty Ability") 二、核心功能实现 1. 医院科室展示 /…...

定时器任务——若依源码分析
分析util包下面的工具类schedule utils: ScheduleUtils 是若依中用于与 Quartz 框架交互的工具类,封装了定时任务的 创建、更新、暂停、删除等核心逻辑。 createScheduleJob createScheduleJob 用于将任务注册到 Quartz,先构建任务的 JobD…...

从零实现STL哈希容器:unordered_map/unordered_set封装详解
本篇文章是对C学习的STL哈希容器自主实现部分的学习分享 希望也能为你带来些帮助~ 那咱们废话不多说,直接开始吧! 一、源码结构分析 1. SGISTL30实现剖析 // hash_set核心结构 template <class Value, class HashFcn, ...> class hash_set {ty…...
土地利用/土地覆盖遥感解译与基于CLUE模型未来变化情景预测;从基础到高级,涵盖ArcGIS数据处理、ENVI遥感解译与CLUE模型情景模拟等
🔍 土地利用/土地覆盖数据是生态、环境和气象等诸多领域模型的关键输入参数。通过遥感影像解译技术,可以精准获取历史或当前任何一个区域的土地利用/土地覆盖情况。这些数据不仅能够用于评估区域生态环境的变化趋势,还能有效评价重大生态工程…...