[ndss 2023]确保联邦敏感主题分类免受中毒攻击

Securing Federated Sensitive Topic Classification against Poisoning Attacks

摘要

我们提出了一种基于联邦学习 (FL) 的解决方案,用于构建能够检测包含敏感内容的 URL 的分布式分类器,即与健康、政治信仰、性取向等类别相关的内容。尽管这样的分类器解决了以前的局限性离线/集中式分类器,它仍然容易受到恶意用户的中毒攻击,这些用户可能试图通过传播错误的模型更新来降低良性用户的准确性。为了防止这种情况,我们开发了一种基于主观逻辑和基于残差的攻击检测的鲁棒聚合方案。结合理论分析、跟踪驱动的模拟以及原型和真实用户的实验验证,我们表明我们的分类器可以高精度检测敏感内容,快速学习新标签,并在中毒攻击时保持鲁棒性来自恶意用户的输入,以及来自非恶意用户的不完美输入。

一、引言

大多数人并不知道即使在敏感网络域上也存在跟踪服务。当谈到许多人对其在线隐私的焦虑时,在癌症讨论论坛、约会网站或具有非主流政治亲和力的新闻网站上被跟踪可以被视为“房间里的大象”。一般数据保护条例 (GDPR)  [33]对敏感个人数据的收集和处理施加了具体限制,“揭示种族或民族血统、政治观点、宗教或哲学信仰或工会会员身份,以及基因数据、用于唯一识别自然人的生物识别数据、数据关于健康或有关自然人性生活或性取向的数据”。世界各地的其他公共机构也是如此,例如在加利福尼亚州(《加利福尼亚州消费者隐私法》(CCPA)  [34]), 加拿大 [35], 以色列 [36], 日本 [37]和澳大利亚 [38]。

在最近的一篇论文中,Matic 等人。 [4]展示了如何训练分类器来检测 URL 的内容是否与上述任何敏感类别相关。使用从 Curlie 获得的 156,000 个敏感 URL 来训练分类器 [32]众包网络分类项目。尽管已证明具有很高的准确性,但该方法由于集中与固定训练集相关而存在局限性。第一个限制意味着该方法不能“按原样”使用来驱动隐私保护分布式分类系统。第二个限制意味着覆盖与尚未见过的敏感内容相关的新标签并不简单。例如,在他们的工作中,健康类别的分类准确率超过 90%。然而,2020 年从 Curlie 获得的培训标签并不包含任何与 COVID-19 大流行相关的标签。因此,如稍后所示,该分类器对 COVID-19 相关网站进行分类的准确率仅为 53.13%。

联邦学习(佛罗里达州)  [5,13]为上述两个限制提供了一个自然的解决方案,即集中训练和固定训练集的训练。FL 允许不同的客户在本地训练他们的分类模型,而无需透露他们标记的新的或现有的敏感 URL,同时通过共享模型更新进行协作,这些模型更新可以组合起来构建卓越的全局分类模型。FL 已在大量实际应用中证明了其价值,包括移动计算 [46,47,48]健康和医疗应用 [49,50,51]。然而,由于其本质,FL 很容易受到所谓的中毒攻击 [26,12]由恶意客户端安装,这些客户端可能会故意使用错误标签或后门模式训练其本地模型,然后传播结果更新,以降低其他良性客户端的分类准确性。防御此类攻击的最先进方法依赖于强大的聚合 [27,20,16,15,8,60],正如我们稍后将演示的那样,其收敛速度很慢,因此对于我们在本文中解决的敏感内容分类问题来说是不切实际的。

我们的贡献:在本文中,我们采用 FL 进行敏感内容分类。我们展示了如何开发一种强大的 FL 方法来对可能包含 GDPR 敏感内容的任意 URL 进行分类。这种基于 FL 的解决方案允许构建一个分布式分类器,该分类器可以以 Web 浏览器扩展的形式提供给最终用户,以便:(i) 在他们导航到此类网站之前和期间向他们发出警告,尤其是在这些网站被填充时与跟踪器,以及 (ii) 允许他们贡献新标签,例如有关 COVID-19 的健康相关网站,从而使分类器始终保持最新状态。据我们所知,该方法代表了 FL 首次用于此类任务。

我们的第二个主要贡献是开发声誉评分,以保护我们基于 FL 的解决方案免受中毒攻击 [12,26]。我们的方法基于主观逻辑的新颖组合 [3]具有基于残留的攻击检测。我们的第三个贡献是开发了一个广泛的理论和实验性能评估框架,用于研究我们提出的机制的准确性、收敛性和抗攻击能力。我们的最终贡献是在名为EITR (代表隐私的“房间里的大象”)的原型系统中实施我们的方法,以及我们对真实用户的初步实验验证,其任务是为准确分类 COVID-19 相关 URL 提供新标签。

我们的发现:通过结合理论分析、模拟和真实用户实验,我们:

  • 过实验证明我们基于 FL 的分类器达到了与 [4]。

  • 通过分析证明,在数据中毒攻击下,我们围绕主观逻辑构建的基于声誉的鲁棒聚合,在标准假设下收敛到相应拜占庭容错问题的近乎最优解决方案。由此产生的性能差距由恶意用户的百分比决定。

  • 根据联邦平均等最先进的算法对我们的解决方案进行实验 评估5] , 坐标中位数 [20] , 截尾均值 [20] , 愚人金 [15,8] , 基于残差的重新加权 [16]和 FLTrust  [60],并通过使用不同的真实世界数据集证明我们的算法在拜占庭攻击下具有鲁棒性。我们证明,我们的解决方案在收敛速度方面优于这些流行的解决方案,其范围为1.6×到2.4×同时达到相同或更好的精度。此外,我们的方法产生最一致和最低的攻击成功率 (ASR),与所有其他方法相比平均提高至少 72.3%。

  • 使用我们的EITR浏览器扩展程序验证我们基于 FL 的解决方案可以快速学习对有关 COVID-19 的健康相关网站进行分类,即使考虑到真实用户提供的嘈杂/不一致的输入也是如此。

本文其余部分的结构如下: 第二部分介绍了我们主题的背景。第三节 介绍了我们基于FL的敏感内容分类的声誉方案及其理论分析和保证。第四部分 介绍了我们针对最先进技术进行的广泛性能评估,第五部分介绍了 我们的EITR浏览器扩展的一些初步结果。第六节 总结了本文,并指出了正在进行的和未来的工作,包括将我们的方法推广到其他主题。

二背景

Ⅱ-A针对敏感内容的集中式离线分类器

马蒂奇等人。 [4]展示了如何开发能够检测包含敏感内容的 URL 的文本分类器。该分类器是集中式的,开发的目的是进行一次性离线研究,旨在估计包含此类内容的网络百分比。尽管达到了至少 88% 的准确率,但利用通过过滤 Curlie 网络分类项目精心收集的高质量训练集 [32],此分类器不能“按原样”使用来保护访问由跟踪服务填充的敏感 URL 的真实用户。

Ⅱ-B为用户开发实用分类器的挑战

从离线到在线:[中的分类器 4]使用包含 156,000 个敏感 URL 的数据集进行训练。尽管是近期文献中同类数据中最大的数据集,但该数据集是静态的,因此代表了收集时的敏感主题。当然,这并不意味着用这些数据训练的新分类器永远无法准确地对属于这些敏感类别的新 URL 进行分类。这是因为健康等类别涉及的内容和术语不会随时间发生根本变化。当然,可能会出现新类型的敏感内容,无论出于何种原因,使用从同一敏感类别的过去内容中提取的特征可能无法如此准确地进行分类。与最近的 COVID-19 大流行相关的内容就是一个例子。尽管健康类别在训练集中有 74,764 个 URL  [4]这导致健康的分类准确率为 88%,正如我们稍后将在图 14 VC 节中间 看到的那样, [的分类器 4]在我们测试的 COVID-19 URL 中,只有 53.13% 准确地分类为健康。这应该不足为奇,因为 [的数据集4]对应于 2020 年头几个月之前生成的内容,在此期间,COVID-19 尚未成为热门话题。因此,我们需要找到一种方法来更新现有的分类器,使其在新的敏感内容出现时保持准确。

从集中式到分布式:保持分类器最新的一种自然方法是要求最终用户在遇到新的敏感 URL 时对其进行标记。最终用户可以向集中式服务器报告此类 URL,然后可以使用这些 URL 来重新训练分类模型。然而,这带来了明显的“第二十二条军规”性质的隐私挑战,因为为了通过警告用户敏感 URL 上存在跟踪器来保护用户,他们首先需要向潜在不受信任的集中式服务器报告他们访问了此类 URL 。即使采用一些解决数据稀缺问题的方法,例如半监督学习,用户的手动标记仍然很敏感,并且可能会受到不可信服务器的损害。正如已经提到的,联邦学习是一种很有前途的解决方案,可以通过进行分布式(尽管是保护隐私的)模型训练来避免上述 Catch22。在解决我们问题的 FL 方法中,用户将在本地标记新 URL(例如,将 COVID-19 URL 标记为“健康”),在本地重新训练分类器模型,然后将模型更新(而不是标记数据)发送到集中式服务器,该服务器从以下位置收集此类更新:所有用户,编译新版本的模型并将其重新分发给他们。在第三节中, 我们展示了如何开发 [的敏感主题分类器的分布式版本]4]使用FL。使用 FL 的缺点是分布式学习组容易受到攻击,例如第四节中讨论的“标签翻转”中毒 攻击。本文开发了一种用于减轻此类攻击的信誉方案。第六节讨论了其他类型的攻击和保护参与基于 FL 的敏感内容分类系统的用户隐私的措施 。

Ⅱ-C相关工作

隐私保护众包:Price $heriff 等服务也面临着与上一段讨论的类似挑战。54]和EyeWnder  [55]分别使用众包来检测在线价格歧视和定向广告。安全多方计算(SMPC)技术,例如私有�-方法 [56] 用于允许最终用户以保护隐私的方式在集中式服务器中发送数据。Price $heriffeyeWnder执行的集中计算不属于 ML 性质,因此数据匿名化成为主要挑战,而 SMPC 非常适合。将内容分类为敏感或不敏感是一种更复杂的基于 ML 的算法,对于该算法,FL 是比 SMPC 更自然的解决方案。
FL 的一般作品: FL  [5,13]是一种引人注目的技术,用于训练大规模分布式机器学习模型,同时保持安全性和隐私性。FL 的动机是本地训练数据始终由客户端保存,服务器无法访问这些数据。由于这种好处可以减轻隐私问题,一些公司已在现实世界的服务中使用 FL。在移动设备中,FL用于预测键盘输入 [46] , 人员流动性 [47]和物联网行为 [48]。FL 还应用于医疗保健领域来预测疾病 [49,50],检测患者相似度 [51]同时克服任何隐私限制。对于分类来说,FL不仅仅用于图像分类 [52]还有文本分类 [53]。
对中毒攻击的抵抗力:由于其性质 [26,12],FL容易受到中毒攻击,例如标签翻转 [16]和后门攻击 [12]。因此,几种防御方法被开发出来 [20,16,15,8]。虽然这些最先进的方法在某些情况下表现出色,但它们并非没有局限性。首先,它们不适合我们的敏感内容分类,这需要分类器对互联网上出现的“新鲜”敏感信息做出非常快速的响应。在现有方法中,主要目标是实现高分类精度。这是通过对客户提供的模型更新进行统计分析并在聚合阶段之前丢弃可疑的异常值来实现的。然而,由于服务器默认不信任每个人,即使诚实的客户端发现了一些新的敏感标签,其相应的更新也可能被丢弃或分配较低的权重,直到更多的客户端开始发现这些标签。这会导致新标签的学习速度变慢。

二、近期研究 [26,12]已经表明,现有的拜占庭鲁棒 FL 方法仍然容易受到局部模型中毒的影响,因为它们由于不跟踪先前聚合轮次的信息而导致健忘。因此,攻击者可以通过跨时间传播攻击来有效地发起攻击 [31]。例如,[22]最近表明,即使经过无限的训练周期,任何忽略过去的聚合都无法收敛到有效的解决方案。

前面的研究证明了将客户之前的长期表现纳入评估其可信度的重要性。最近很少有研究考虑过这种方法 [60,22]。在 [22],作者建议利用历史信息进行优化,但不用于评估可信度。在 [60],根据客户端和服务器模型更新之间的余弦相似度为每个客户端模型更新分配信任分数,该信任分数在服务器的根数据集上进行训练(详细信息请参见第 IV-A 3节)。然而,服务器获取额外的数据(例如根数据集)来训练服务器端模型是不切实际的。此外,由于服务器只收集一次根数据,并且在整个训练过程中不会更新它,因此当随着时间的推移出现新类型的内容时,根数据可能会变得过时,从而损害分类器的性能。最近的其他研究采用了光谱分析 [63] , 差分隐私 [65]和深度模型检查 [66]来防范中毒攻击,但是,同样,他们不使用历史信息来评估客户端的可靠性。为了衡量客户端的可信度而不在服务器上收集额外的数据,在接下来的部分中,我们将展示如何设计一个强大的聚合方法来根据客户端的历史行为自动生成声誉,这对于真正的基于 FL 的去中心化来说是一种更现实的方法系统作为客户端的浏览器扩展实现。

三、用于对 Web 上的敏感内容进行分类的鲁棒 FL 方法

在本节中,我们首先展示如何为敏感内容构建基于 FL 的分类器。然后我们设计一个声誉评分来防止中毒攻击。我们从理论上分析了基于 FL/信誉的组合解决方案,并在常见操作假设下建立了收敛性和准确性保证。

Ⅲ-A用于对敏感内容进行分类的 FL 框架

表I给出了我们在本文剩余部分中使用的符号。在FL中,客户端从其本地模型向服务器提供更新的参数,服务器聚合这些参数以构建全局模型 M 。

III-B A挫败中毒攻击的声誉得分

图2:基于声誉的聚合算法概述。
图2:基于声誉的聚合算法概述。

图2显示了我们基于信誉的聚合算法的概述,该算法由三个组件组成:攻击检测方案、信誉模型和聚合模块。攻击检测方案重新缩放并纠正从客户端接收的破坏性更新。然后,信誉模型根据每个客户端过去的检测结果计算每个客户端的信誉。最后,聚合模块通过使用客户端的信誉分数作为权重来平均客户端的更新来计算全局模型。我们将在以下小节中详细介绍每个组件。

III-B1攻击检测方案

我们的攻击检测方案旨在通过识别可疑更新并应用重新缩放算法来减少可疑更新的影响。在每次迭代中,当来自客户端的模型更新到达服务器时,我们在那里应用算法1来重新调整更新中这些参数的值的范围。

对值范围的这种限制不仅旨在最大限度地减少攻击者异常更新的影响,还旨在限制重复中位数回归的斜率。考虑到所有参与者在第1轮中的第0个参数,我们计算该系列的标准差第2个参数。然后,我们将它们按升序排序,并通过从最高值中减去最低值来确定范围。如果结果高于阈值ω  ,则通过分别减去和添加其标准差来重新缩放最高值和最低值,以进一步限制其范围。

 III-B2声誉模型

为了演示声誉模型如何演变,我们考虑四种情况,其中每个客户端:(i)在同一迭代中仅攻击一次,(ii)在同一迭代中发起攻击后连续攻击,(iii)在不同迭代中仅攻击一次,(iv)在不同迭代中发起攻击后连续攻击。在这里,客户端在训练本地模型时利用污染数据进行第IV-A2节中描述的攻击,而服务器使用我们的攻击检测机制来识别这些攻击。

Refer to caption

图三:当户端(X )(a)在第三次迭代时攻击一次,并且(B)在第三次迭代时和之后连续攻击时,具有 X模型参数的客户端( X )中的信誉分数的衰减。

图3显示了前两个场景(i)-图3a和(ii)-图3b,分别是在单次和连续攻击下,客户端 X 在其本地模型中具有 X参数。在图3a中,所有客户端在第三次迭代中只攻击一次。当他们开始攻击时,他们的声誉得分急剧下降。在这两种情况下,我们观察到拥有更多参数的客户端在声誉得分上有较大的相对下降。这也与第III-C节中的推论1相容,即,增加全局模型中的参数 X 的数量导致较低的错误率。

图4显示了最后两个场景(iii)和(iv),分别是客户端在其本地模型中有20个参数,在单一和连续攻击下。在图4a中,客户端X 仅在 X迭代时发起攻击。我们观察到,只有一次攻击会导致声誉得分至少下降25.11%。在图4b中,客户端X 在 X迭代时发起攻击,并在随后的迭代中继续攻击。最后,我们观察到80%的信誉评分低于0.5,这大约是诚实客户信誉评分的一半,这意味着他们在整个聚合过程中可能造成的损害大大减少。

Refer to caption

图四:在具有相同模型参数的客户端X 中,当它们(a)在X迭代时攻击一次并且(B)在X 迭代开始攻击之后连续攻击时信誉分数的衰减。

此外,我们考虑了一种情况,其中攻击者在较长的时间内传播中毒,同时使用更多的模型参数。图5(左)描述了在不同参数大小下进行40次迭代的攻击。图5(右)描述了每50到80次迭代重复100万个参数的攻击。这些数字表明,即使攻击者在多次迭代中传播我们的中毒,然后试图通过善意的行为来恢复他们的声誉得分,我们的检测方案仍然可以识别他们。这是因为我们的攻击检测和信誉方案按顺序工作。攻击检测方案检测恶意更新,而不考虑任何信誉分数,并纠正他们,以减轻损害。然后,信誉方案基于检测结果修改信誉分数。此外,使用更多模型参数的攻击者遭受的声誉降低略高,这与推论1一致。

III-B3聚合算法

在服务器获得校正更新和每个客户端的标准化声誉之后,它使用平均加权声誉作为权重来聚合更新,以获得当前迭代的全局模型更新。通过这种方式,即使在许多训练轮中,攻击者仍然无法从目标方向明显地改变参数,这确保了所产生的全局模型的质量,这将在接下来的实验和分析中得到证明。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

力扣题:数字与字符串间转换-12.9

力扣题-12.9 [力扣刷题攻略] Re:从零开始的力扣刷题生活 力扣题1:412. Fizz Buzz 解题思想:直接遍历添加至answer即可 class Solution(object):def fizzBuzz(self, n):""":type n: int:rtype: List[str]"""…

kubesphere安装后启用DevOps

官方文档:KubeSphere DevOps 系统 1、集群管理---定制资源定义 进入目录:集群管理---定制资源定义搜索:clusterconfiguration 点击 ks-installer 右侧的 ,选择编辑 YAML 在该 YAML 文件中,搜索 devops,…

利用法线贴图渲染逼真的3D老虎模型

在线工具推荐: 3D数字孪生场景编辑器 - GLTF/GLB材质纹理编辑器 - 3D模型在线转换 - Three.js AI自动纹理开发包 - YOLO 虚幻合成数据生成器 - 三维模型预览图生成器 - 3D模型语义搜索引擎 当谈到游戏角色的3D模型风格时,有几种不同的风格&#xf…

SpringBoot项目访问resources下的静态资源

1.新建一个配置文件夹,放配置类 2.编辑 WebMvcConfig.java package com.southwind.configuration;import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; import or…

Hazel引擎学习(十二)

我自己维护引擎的github地址在这里,里面加了不少注释,有需要的可以看看 参考视频链接在这里 Scene类重构 参考:《InsideUE4》GamePlay架构(二)Level和World 目前我的Scene类基本只是给entt的封装,提供了…

做数据分析为何要学统计学(5)——什么问题适合使用t检验?

t检验&#xff08;Students t test&#xff09;&#xff0c;主要依靠总体正态分布的小样本&#xff08;例如n < 30&#xff09;对总体均值水平进行差异性判断。 t检验要求样本不能超过两组&#xff0c;且每组样本总体服从正态分布&#xff08;对于三组以上样本的&#xff0…

基于深度学习yolov5实现安全帽人体识别工地安全识别系统-反光衣识别系统

欢迎大家点赞、收藏、关注、评论啦 &#xff0c;由于篇幅有限&#xff0c;只展示了部分核心代码。 文章目录 一项目简介 二、功能三、系统四. 总结 一项目简介 实现安全帽人体识别工地安全识别系统需要使用深度学习技术&#xff0c;特别是YOLOv5算法。下面是对基于YOLOv5实现安…

Jenkins部署python接口自动化测试

一、点击新建Item 二、指定源码和分支 私钥位置&#xff1a;C:\Users\Administrator\.ssh 文件下 三、构建脚本编写 四、构建后操作 指定输出的allure 结果目录 总结&#xff1a; 感谢每一个认真阅读我文章的人&#xff01;&#xff01;&#xff01; 作为一位过来人也是希望…

增强现实中的真实人/机/环与虚拟人/机/环

在增强现实中&#xff0c;真实人与虚拟人、真实机器与虚拟机器、真实环境与虚拟环境之间有着密切的关系。增强现实技术通过将真实与虚拟相结合&#xff0c;打破了传统的现实世界与虚拟世界的界限&#xff0c;创造出了一种新的体验方式。真实人、真实机器和真实环境与其对应的虚…

数据分析基础之《matplotlib(5)—直方图》

一、直方图介绍 1、什么是直方图 直方图&#xff0c;形状类似柱状图却有着与柱状图完全不同的含义。直方图牵涉统计学的概念&#xff0c;首先要对数据进行分组&#xff0c;然后统计每个分组内数据元的数量。在坐标系中&#xff0c;横轴标出每个组的端点&#xff0c;纵轴表示频…

SugarCRM 任意文件上传漏洞复现(CVE-2023-22952)

0x01 产品简介 SugarCRM是美国SugarCRM公司的一套开源的客户关系管理系统(CRM)。该系统支持对不同的客户需求进行差异化营销、管理和分配销售线索,实现销售代表的信息共享和追踪。 0x02 漏洞概述 SugarCRM index.php接口存在安全漏洞,该漏洞源于安装组件中存在授权绕过和P…

spark链接hive时踩的坑

使用spark操作hive&#xff0c;使用metastore连接hive&#xff0c;获取hive的数据库时&#xff0c;当我们在spark中创建数据库的时候&#xff0c;创建成功。 同时hive中也可以看到这个数据库&#xff0c;建表插入数据也没有问题&#xff0c;但是当我们去查询数据库中的数据时&a…

Springboot+AOP+注解实现字段AES+Base64加解密

AOP实现AESBASE64加解密 场景如下&#xff1a; 需要对数据库存储的字段&#xff0c;进行加解密的处理。如果都直接写代码的话&#xff0c;那么代码回冗余很多&#xff0c;所以使用AOP注解去实现。让代码简洁&#xff0c;方便 具体实现如下&#xff1a; 1、依赖 <depende…

微信小程序 bindtap 事件多参数传递

在微信小程序中&#xff0c;我们无法直接通过 bindtap"handleClick(1,2,3)" 的方式传递参数&#xff0c;而是需要通过自定义属性 data- 的方式进行传递&#xff0c;并在事件回调函数中通过 event.currentTarget.dataset 来获取这些参数。然而&#xff0c;这种传参方式…

SpringAOP专栏二《原理篇》

上一篇SpringAOP专栏一《使用教程篇》-CSDN博客介绍了SpringAop如何使用&#xff0c;这一篇文章就会介绍Spring AOP 的底层实现原理&#xff0c;并通过源代码解析来详细阐述其实现过程。 前言 Spring AOP 的实现原理是基于动态代理和字节码操作的。不了解动态代理和字节码操作…

1、关于前端js-ajax绕过

1、Ajax知识 、js--Ajax 传统请求跟js--Ajax请求的差别 在实例中用的上js-ajax的有 表单验证&#xff1a; 在用户填写表单时&#xff0c;可以使用 Ajax 在不刷新页面的情况下验证表单字段&#xff0c;并提供即时反馈。 实时搜索&#xff1a; 在搜索框中输入内容时&#xff0…

现代皮质沙发模型材质编辑

在线工具推荐&#xff1a; 3D数字孪生场景编辑器 - GLTF/GLB材质纹理编辑器 - 3D模型在线转换 - Three.js AI自动纹理开发包 - YOLO 虚幻合成数据生成器 - 三维模型预览图生成器 - 3D模型语义搜索引擎 当谈到游戏角色的3D模型风格时&#xff0c;有几种不同的风格&#xf…

元宇宙vr党建云上实景展馆扩大党的影响力

随着科技的飞速发展&#xff0c;VR虚拟现实技术已经逐渐融入我们的日常生活&#xff0c;尤其在党建领域&#xff0c;VR数字党建展馆更是成为引领红色教育新风尚的重要载体。今天&#xff0c;就让我们一起探讨VR数字党建展馆如何提供沉浸式体验&#xff0c;助力党建工作创新升级…

Mybatis XML 多表查询

这篇需结合 <<Mybatis XML 配置文件>>那一篇博客一起看 工作中尽量避免使用多表查询,尤其是对性能要求非常高的项目 我们之前建了个用户表(代码在Mybatis XML配置文件那篇博客里),这次再建一个文章表,代码如下 : -- 创建⽂章表 DROP TABLE IF EXISTS articleinf…

LabVIEW开发远程结构健康监测系统

LabVIEW开发远程结构健康监测系统 工程师依赖于振动监测来评估建筑物、桥梁和其他大型结构的完整性。传统的振动监测工具在数据收集上存在限制&#xff0c;无法长时间收集高保真波形。随着内存存储、处理器速度和宽带无线通信技术的进步&#xff0c;出现了对能够长时间收集并实…
最新文章