LWN: 开源的密切接触者追踪app,第二部分!

一次实时数据链路丢数排查:从 MQTT 队列积压到 SQL 统计开销 本文通过一次实时数据链路压测,排查了从MQTT到ClickHouse的端到端数据丢失问题。核心方法是为每条消息添加序号,建立独立观察点(MQTT订阅端、Kafka消费者),结合转发服务阶段统计与线程栈分析,定位到下游处理速度不足源于Druid SQL合并统计的高开销。优化措施包括关闭SQL合并、扩容代理队列、增强生产侧失败处理,并验证15分钟内实现全链路对账一致,显著缓解积压与丢包。关键收获:数据可对账、明确各阶段“成功”定义、关注客户端队列状态。 阅读详情

关注了就能看到更多这么棒的文章哦~

Open-source contact tracing, part 2

July 20, 2020This article was contributed by Marta Rybczyńskahttps://lwn.net/Articles/825992/DeepL assisted this translation

接触者追踪(contact tracing)是一种帮助防止疾病(例如 COVID-19)传播的方法,通过识别感染者曾经接触过哪些人,通知他们知晓自己的感染风险。在本系列的第一部分中,我们介绍了为应对当前流行病而开发的开源接触者追踪应用程序,并介绍了它们的工作原理。在这一部分中,我们将探讨其中一些集中式和分散式设计方案的细节。这些应用项目都公布了他们的源代码,但他们在实现细节、使用的许可证(license)以及是否接受用户的请求或 patch 等方面各有不同。文章的最后,我们将围绕这类追踪应用的争议以及应对措施进行总结。

TraceTogether/OpenTrace(Singapore)

2020 年 3 月,第一款接触者的追踪应用发布,它就是新加坡的 TraceTogether。截至 2020 年 7 月初,在仅约 580 万人口的新加坡,这个应用的下载量已超过 210 万次。这款应用使用了一个名为 BlueTrace 的协议。改名为 OpenTrace 后发布了该协议的参考实现;它提供了 Android 和 iOS 应用以及服务器部分的代码。所有这些代码都是在 GPL v3 下发布的。

初次发布后,Git 仓库似乎很安静,比如说,算上 Android 的应用程序,总共也只有 5 个提交。看起来很有可能是 public 的代码和 private 代码走向了不同的分支。在我们分析 Frank Liauw 的二进制 TraceTogether 应用程序,并将结果与 OpenTrace 源代码进行比较时,这一点似乎得到了证实。例如,OpenTrace 有着相同的数据库结构,但并不包含 TraceTogether 中的更新。这意味着安装的应用与发布的源代码并不一致,这可能意味着应用程序里的一些隐私特性发生了变化。

除了源代码之外,设计文档中还描述了协议的主要思想和细节。用户通过其手机号码进行身份确认,全局和临时 ID 都由中心服务器生成。应用程序可以提前下载批量的临时 ID,以便继续离线工作。近距离追踪是通过蓝牙完成的,BlueTrace 协议中会发送手机型号(用于距离校准),以及临时 ID。

该应用会记录所有相遇事件(根据临时 ID 来判断),而不会按距离进行过滤。它们被存储在用户的手机中。当此人被感染时,卫生当局会联系他们上传数据。然后,卫生部门会对联络记录进行处理,找出可能存在风险的人,并通过电话联系他们。每个用户都可以要求删除他们存储在服务器上的所有数据(包括全球 ID 和电话号码),但他们需要通过电子邮件提出要求。

由于 TraceTogether 是第一款应用,该项目面临着一些挑战。其中最主要的是使用蓝牙进行距离估算比较困难,因为不同手机的信号强度不同,所以需要进行校准,根据测量值获得实际距离。项目组公布了其所做实验的详细说明和获得的数据(https://github.com/opentrace-community/opentrace-calibration/blob/master/Trial%20Methodologies.md)。

2020 年 6 月初,新加坡部长 Vivian Balakrishnan 宣布了一款独立的令牌设备(token device),名为 TraceTogether Token。它不使用互联网连接,但可以与 TraceTogether 手机应用互通。该令牌的目的是帮助没有智能手机的人,以及 iPhone 用户(因为 iPhone app 必须保持在前台才有效——不过这一点在 TraceTogether 2.1 版本中得到了 fix)。在 2020 年 6 月的最后一周,开始在老年公民中发放这种令牌设备。

令牌会广播它的临时 ID,并记录它遇到过的其他 ID。如果用户被感染,他们会被要求将设备交给卫生部门,以便导出数据。在发布之前,该设备本身被提交给了一组专家。在这些专家中的一位 Andrew "bunnie" Huang 给出了他对这个令牌设备的印象。总之由于担心隐私问题,他赞成使用令牌而不是智能手机和应用程序来进行联系人追踪。此外,Sean "xobs" Cross 也出席了会议,他在演讲中给出了检查设备和观察设备拆解的过程的技术细节,由此他得出结论,该设备在硬件方面不太可能隐藏任何令人不快的硬件功能。

BlueTrace 协议已经过修改,方便令牌使用全局 ID 和时间的 Hash 值自行生成临时 ID,而不是从中央服务器下载。其他的变化旨在降低功耗,令牌会广播临时 ID,而不是与对端进行双向连接。截至 2020 年 7 月初,firmware 的源代码和协议的改动细节都还没有公布。Cross 和 Huang 注意到,该令牌的设计与他们的 Simmel 硬件令牌相当相似,也是用于联系人追踪;Simmel 的细节可在 GitHub 上获得,包括软件和硬件都有提供。

COVIDSafe(Australia)

COVIDSafe 是一款基于 OpenTrace 的澳大利亚应用程序。维基百科页面有关于 COVIDSafe 的更多信息。它使用类似 BlueTrace 的系统进行近距离追踪。Android 和 iOS 应用的源代码已经发布,但服务器端代码没有发布出来。自从发布以来,代码一直在更新;有少量的提交,看起来是其他地方正在进行的开发被汇总之后提交在这里,它们包含了应用程序的多个版本。

COVIDSafe 和 OpenTrace 的区别集中在用户的隐私方面。例如,用户可以在应用内删除存储的关于他们的数据,而新加坡的应用则没有这种功能。

COVIDSafe 的 license 中的条款与一般的开源项目有很大区别。它使用的是自定义许可证,这不是一个自由软件许可证,因为它包括以下几点要求:

  1. I agree to stop all access and use of the App Code if requested by the DTA [Digital Transformation Authority of the Australian Government].

  2. I will not use the App Code for any product development purposes.

(译文:

  1. 如果 DTA[澳大利亚政府数字转型局]提出要求,我同意停止对 App 代码的所有访问和使用。

  2. 我不会将 App 代码用于任何产品开发目的。

)

COVIDSafe 没有公开的 bug tracker。但是,由于它是基于 GPL 的 OpenTrace,所以在 OpenTrace 的 bug tracker 中有人提出了一个问题,即是否已经进行了正当的重新授权。新加坡政府有可能对 OpenTrace 代码进行了重新授权,但目前还没有回答这个问题。

澳大利亚政府一直在研究将 COVIDSafe 使用的框架改为暴露通知框架(Exposure Notification framework,Apple 和 Google 开发的一个项目),这在第一部分中已经介绍过,但在撰写本文时,还没有做出决定。

StopCovid(France)

StopCovid 是一款法国应用,于 2020 年 6 月初发布(含源代码)。在该应用的准备过程中,许多专业机构给出了建议。值得注意的是,其中至少有两个机构(数据隐私组织 CNIL 和计算机安全组织 ANSSI)建议将该应用的源代码作为开放源码发布。

该应用在法国引起了争论,特别是隐私问题方面。公众的主要担心是它可能根据收集到的数据查出人们的身份,比如感染者或可能感染过他们的人的身份。另一个担心是,这种监控可能成为永久性的措施。

此设计是一个中心化的设计,由中心服务器生成全局 ID。选择的是独立开发协议,不使用 Exposure Notification framework。

Android 和 iOS 应用的源代码,以及服务器软件的一些工具都可以直接使用。Android 和 iOS 应用是以 Mozilla Public License(MPL)发布的,这替代了源码中看到的 ad hoc restrictive license。服务器代码中的一部分使用 MPL 发布,部分使用 custom restrictive license 允许一年的访问并且只限于测试和科学评估。目前还不允许外部人员贡献代码,但预计将来会可以接受。

StopCovid 的开发者使用了假名(pseudonyms)。在一次关于假名透明度的讨论中,一位开发者透露,使用假名的原因之一是因为从事该应用的人受到了骚扰。

bug tracker 从一开始就有应用起来,其中既有包括错误报告也有开发团队的修复。例如,报告了一个问题,在感染的情况下,应用程序会发送完整的联系人列表,而它应该被手机过滤,只包括那些具有较高感染风险的人(至少 15 分钟的接触并且距离小于 1 米)。该问题在后续版本中得到了修复。

当用户安装应用程序时,界面上会显示解释以及跳转到隐私相关的 FAQ 的链接。他们可以在任何时候打开或停用该应用程序。还有一个选项可以直接从应用中删除他们在手机和服务器上的数据,但没有地方显示实际存储了哪些数据。

当用户被诊断为被感染时,他们的诊断结果将包括一个编码(二维码和和字母两种形式都有),以便在应用程序中使用。用户可以决定在应用程序中输入代码,或者选择不输入。输入代码将导致最近几天所有的密切接触者的临时 ID 被传输到中央服务器。这些其他用户将被应用程序通知,请他们咨询他们的医生。他们不会知道感染者是哪位。二维码是预先生成的,并分发给实验室,所以它们也不会链接到特定的用户。

StopCovid 应用程序的另一个有趣的方面是推出了一个错误赏金计划(bug bounty program),以帮助开发者找到更多的错误。

部署后的首批结果低于预期。前三周的激活数量约为 180 万,而总人口约为 6700 万。这个阶段中,有 68 人发出自己被诊断为阳性的信号(有 14 人被告知其曾经与患者密切接触过),与法国同期每天几百个确诊检测结果数字相比,这个比例很小。

Corona-Warn (Germany)

德国官方应用程序 Corona-Warn 于 6 月中旬发布,因为推出得太晚,政府受到了批评。同样也有人提出了隐私问题,有人质疑有多少人会真正下载它。自推出以来,在总共约 8300 万人口的国家中,它的下载量[德语]约为 1440 万次(截至 7 月 2 日)。

与新加坡和法国的应用有一点不同的是,它使用了 Exposure Notification framework 和去中心化的方式。ID 由用户的手机生成,只有在被感染时才会上传。而中央服务器则存储了感染者的 ID 数据库,所有应用都会定期下载。应用程序会进行检查看是否有匹配的人,如果有匹配的人,会向用户显示通知。

所有的源代码都是在 GitHub 上使用 Apache-2.0 许可证发布的,项目网站的副标题写明了 "Open Source Project"。Corona-Warn 可以接受外部人员的代码,它有一个贡献指南和行为准则。其开发相当活跃,从最近的提交情况来看,以 Android 应用为例,截止到 7 月 3 日,已经有近 400 个提交。看起来部分开发工作是用其他的 source tree 来进行的,然后以少量很大的 commit 来提交上来。

它的 bug tracker 上面非常繁忙,有些问题引起了长时间的讨论,比如只向德国 Google Play 账户提供应用。当初这个 app 曾经导致从其他国家搬过来的人无法使用此应用,在其他欧盟国家工作和生活的人也同样无法使用。好在这个问题已经解决了。

Controversies

Covid-19 的这些追踪应用面临着多种争议。一个大问题是它们对用户隐私的影响。其他的技术挑战包括:需要使用该应用的人口比例够高才能使其产生价值;应用商店中一些有害 "类似 "应用会带来的风险,以及距离测量的准确性。

最大的顾虑可能还是对隐私的影响,以及位置数据被用于其他监控的风险。另外还有数据泄露和被第三方恶意使用的风险。关于应用的安全分析有很多论文,包括 DP3T 白皮书和 ROBERT protocol specification(法国应用所使用的协议)。我们在本文中只介绍主要概念,以及所提到的应用采取的措施。有兴趣的读者请查看研究论文中的细节。

所有的系统都不会广播自己的全局 ID,只发送临时 ID(每十到二十分钟变化一次)。对未感染和未处于风险中(未与任何感染者接触)的用户进行追踪的风险应该是很小的。并且也没有获取绝对位置数据,所有的应用都只是使用蓝牙来测量距离。

对于感染者的记录则是有区别的。在集中式和分散式系统中,感染者的整个日志都会被上传到单个服务器上,所以有可能根据这些数据能识别出他是谁。在集中式系统中,服务器还可能有额外的信息来识别用户的身份(如电话号码),因此中央服务器必须是可信的。此外,还有一个问题,就是大流行后数据库是否会被删除。在分布式系统方案中,服务器没有更多的信息,但所有设备上都有整个感染者的 ID 数据库。

然而,另一个身份信息泄漏的来源可能是近距离协议。某些协议(例如 OpenTrace)会广播手机型号信息,这可能被用于识别目的,特别是如果用的是那些不太流行的型号的话就容易被确定出来他是谁。如果有位置数据的话,也可能确定出用户身份。通常情况下,协议不会上传这些数据。然而,攻击者可以嗅探周围的 ID 并将其与位置信息一起存储下来。不过这种攻击可以通过定期更换 ID 来尽量减少它的影响,这里提到的所有应用都做了这件事。

商店中的有害应用,在一定程度上可以通过 Exposure Notification framework 来管控起来,每个国家只允许一个应用在应用描述中包括特殊信息。对于没有使用这个 API 的应用,用户需要注意官方应用的名称和发布机构。应用商店已经做了一些尝试以改善这个乱摊子,但用户必须小心,只安装所在地区的官方应用。

另一个重要的挑战是应用的有效性。目前可用的数量相当少,而且应用通常只覆盖一小部分人群。

Conclusions

接触者追踪应用在短短几个月内就取得了很大的发展。其中一些应用程序仍在开发中。我们还没有数据表明它们的实际效果如何,以及在大流行期间将发现多少病例。这些数据要在一段时间后才能获得。

从 open-source 的角度来看,很有意思的是,许多这类应用确实是使用这种模式发布的,而且从安全的角度来看,它已经被推荐为最佳实践之一。然而,项目的开发进程总是公开的,项目的管理也是集中性的。拥有活跃的 bug tracker 的项目(Corona-Warn,StopCovid)确实依赖于用户的参与,不过我们希望它们的开发更加开放。

目前这些应用互相之间并不兼容。开发团队已经从早期部署的经验中吸取了教训,但开发工作仍然是有许多重复。欧洲正在进行一些工作想统一起来,但目前还看不到效果。Exposure Notification API 成为了最近这些发布出来的应用的标准框架。

contact-tracing app 的最终效果还远未可知。幸运的是,它们大多发布了源代码,独立专家可能会对它们进行分析。最后,用户要考虑到可能的风险和收益来决定是否要使用这些应用。

全文完

LWN文章遵循CC BY-SA 4.0许可协议。

欢迎分享、转载及基于现有协议再创作~

长按下面二维码关注,关注LWN深度文章以及开源社区的各种新近言论~

APP 下载 立即下载

相关推荐

opentrace-ios:OpenTrace iOS应用程序。 BlueTrace协议的参考实现

OpenTrace iOS应用 OpenTrace是BlueTrace的开源参考实现。 BlueTrace是一种隐私保护协议,用于跨边界的社区驱动的联系人跟踪。它允许参与的设备相互记录蓝牙遇到的情况,以便在保护用户的个人数据和隐私的同时,促进流行病学联系人追踪。访问以了解更多信息。 OpenTrace参考实现包括: Android应用: iOS应用: 云功能: 校准: 构建代码 从Apple安装最新的 安装 克隆存储库 在项目的根目录下运行pod install 配置 设置Firebase进行登台和生产 该应用程序依靠Firebase功能来工作。可以在获取更多信息。 设置Firebase后,将配置文件放置在相应目录中。 |-- /FIREBASE |-- /PROD |-- GoogleService-Info.plist |-- /STG

蓝牙定位卡溯源密切接触者数据

金桔蓝牙定位胸牌是基于lora与蓝牙技术的复合应用,是针对区域大、定位精度不高(米级)、部署施工难度大的室内外融合定位的产品。金桔蓝牙定位胸牌集主动式定位,被动式定位技术于一身,通过设备扫描提前安装好的iBeacon基站或网关接收到胸牌发出的信息来确定人员位置信息,然后通过定位算法服务器、地图服务器、应用服务器的运算后在展示平台实时了解物品的位置。 因为金桔定位胸牌可以同时进行主动式定位和被动式定位,所以金桔定位胸牌即可收集周边设备的状态也可以广播自身的终端状态,所以通过rssi信号状态可以收集周边定位胸.

hlemon0808的博客 753

ollydbg Run trace

ollydbg Run trace

蓝牙定位技术使疫情期间接触更安全

随着疫情的进一步蔓延,蓝牙实时定位服务可以跟踪人员和物体的移动,监控进出,并改善生物控制和便利性。 联系人跟踪 随着我们的前进,控制大流行的关键方面是接触者追踪。当某人的COVID-19测试呈阳性时,联系追踪者必须追踪过去两个星期与他们亲密接触的所有人,并安排对这些人进行隔离或测试。 对于可以对人员进行更高程度控制的雇主, 在工作场所进行联系人追踪至关重要。使用蓝牙定位追踪技术,当员工通知您他们已对COVID-19测试为阳性时,您可以轻松地跟踪其联系人并将其送回家。您可以确定他们在建筑物中的哪个位置,并.

Lenzetech的博客 606

使用freesurfer和3Dslicer进行脑区分割和电极定点(详细版)

1、安装好matlab和freesurfer2、在目标位置创建文件夹3、开放权限4、将需要计算的nii文件放入文件夹。

zQIANYUN的博客 5622

68页|大型车企集团数字化转型汽车数字化信息系统平台规划方案

这份PPT文档提供了一个全面的汽车集团数字化转型规划方案,涵盖了项目目标、规划思路、实施关注点、解决方案建议以及合作优势等多个方面。

baidu_25525561的博客 1327

tracing_为什么定制的Contact Tracing应用在iOS上无法正常运行

tracingWhile Apple and Google work on a new cross-platform contact tracing API to help tackle the COVID-19 pandemic, we’re starting to see some countries release bespoke apps built using just the exis...

weixin_26739079的博客 1151

Ubuntu 上 1Panel 的安装与高效运维实践

本文详细介绍了在Ubuntu系统上安装和高效运维1Panel面板的完整实践指南。内容涵盖了一键安装、Docker容器可视化部署、计划任务自动化以及网站数据库管理等核心功能,并提供了安全加固、资源监控与数据备份等进阶技巧,旨在帮助用户快速搭建并管理一个强大易用的服务器环境。

weixin_29210759的博客 142

利用RunTrace实时跟踪分析iOS App视图

GitHub入口:https://github.com/sx1989827/RunTrace 前言 作为ios的开发者,常常为了UI界面搞得头破血流,你是不是经常遇到这样的痛点:这个view是从哪里来的,它的父视图是什么,它的子视图有哪些,它的frame会发生什么样的变化,它怎么突然隐藏了,它什么时候会被释放掉,对于像自动布局,错误常常如潮水般的涌来,我想动态获取一个view的约束怎么

sx1989827的专栏 1706

【Unity3D】RTS Engine 笔记一

RTS Engine 中配置一个新场景, 初步认识GameManager、设置地形以及配置地形网格搜索

ViYeye的博客 1648

9.Vue前端使用iframe集成帆软报表的单点登录

CPT普通报表的地址:【帆软的服务http】+【/webroot/decision/view/report?【帆软的服务http】+【/webroot/decision/view/form?// fineReportHttp:帆软部署的地址。//如果为ie浏览器则页面加载完成后立即执行。// fineLinkSrc:帆软报表的url。//其他浏览器则重新加载onload事件。// 拿到配置的帆软报表的地址参数。//判断是否为ie浏览器。// 帆软报表登录和打开。// 帆软报表登录和打开。

qq_27860623的博客 4648

德国自己的病毒追踪App将很快发布?小伙伴呢?

德国的小伙伴们纷纷上线手机App,新冠病毒的感染链将可以被快速跟踪和溯源。德国心里急啊!之前在《德政府打算用公民手机信息帮助控制疫情,但是......》里报道过,德国计划模仿新加坡的一...

德国IT那些事 577

HttpClient跳过HTTPS证书验证的3种实战方法(含完整代码示例)

本文详细介绍了HttpClient跳过HTTPS证书验证的3种实战方法,包括自定义TrustManager、SSLContext配置和HttpClientBuilder高级定制,并提供完整代码示例。这些方法适用于开发和测试环境,帮助开发者快速解决自签名证书或未认证证书导致的HTTPS请求失败问题,但需注意生产环境的安全风险。

weixin_29213655的博客 529

神目云抗疫又出杀手锏:风险人物轨迹追溯,毫秒锁定密切接触者

一次简单的体温筛查,带来的是一群人的安全; 一个密切接触者线索,背后是控制疫情扩散的大局, 疫情防控,不容有丝毫的懈怠。 新冠病毒具有传染性强,潜伏期长的特点。如何快速筛查出发热病人,预防潜在风险?如何以最快的速度掌握病人的行动轨迹?如何在茫茫人海中准确找出密切接触者,切断传染源,阻断传播链条?以上这些都是疫情防控工作的重中之重。 新冠肺炎疫情下,神目基于公司核心技术——人脸识别、人脸聚类及全局搜索技术打造了风险人员及密切接触者追踪系统。整体工作流程可以归纳为:快速体温筛查—风险人员轨迹追溯—密切接触者规

qiaoqiao0707的博客 755

科研神器: 用Gemini 3

Edge藏了个科研开挂神器!免TZ/免谷歌账号用Gemini 3,1分钟上手(附保姆级教程) 做科研查文献、理数据总卡壳?想蹭Gemini 3的AI能力,却被“谷歌账号+TZ+节点筛选”三连劝退? 现在不用折腾了!Edge浏览器里装个插件,直接把Gemini 3揣进口袋——**免翻墙、免谷歌账号、国内直接用**,分分钟让你的科研效率翻三倍,导师都得问你“偷偷开了啥挂”!

ZhangJiqun&191cm&85kg 1159

ESP32网络开发实例-开发环境搭建

NodeMCU-ESP-32S开发环境搭建 NodeMCU-32S 最强的ESP32 开发板非盗版或副厂的CH340。WiFi 蓝牙ESP-32 可用Arduino IDE ESP32-S 是一款通用型WiFi-BT-BLE MCU模组,功能强大,用途广泛,可以用于低功耗传感器网络和要求极高的任务,例如语音编码、音频流和MP3解码等。 此款模组的核心是ESP32芯片,具有可扩展、自适应的特点。两个CPU核可以被单独控制或上电。时钟频率的调节范围为80 MHz到240 MHz。用户可以切断CPU的电源,利用低

视觉与物联智能 3781

LWN:开源的密切接触者追踪方案(第一部分)

关注了就能看到更多这么棒的文章哦~Open-source contact tracing,part 1June 24, 2020This article was contributed...

Linux News搬运工 964

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

TRACE下载方法

现象:系统无法开机,PC上找到端口,软件无法升级 目的:重新擦NAND,把D:\amss70692301sba\products\76XX\build\ms\bin\TCNCJOLY目录下的mbn和hex文件(就是AMSS端编译生成的最终文件)下载到NAND 步骤: PC上打开Trace32软件Trace32 ICD ARM USB, TRACE连接夹具,按下夹具POWER,依次按如下操作

Bloom and Grow 2515

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

Flink 学习日志 03:自定义一个SourceFunction,完成对Redis中数据的读取

本文介绍了在Flink中自定义SourceFunction读取Redis数据的完整流程:通过Jedis客户端连接WSL2中的Redis服务,编写RedisSource实现循环读取所有Key-value并逐条输出,结合Thread.sleep()实现每秒一条的流式效果。关键步骤包括环境准备、添加Jedis依赖、配置IDEA运行时加载provided依赖,并注意生产环境中应避免使用阻塞的keys *,改用scan命令。最终实现动态读取、实时打印,验证了Flink与Redis的数据集成能力。

木木的学习笔记 410

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

Elasticsearch ingest pipeline 被禁用之后:性能代价、安全治理与数据入库时间的四种替代方案

生产环境为什么禁用 Elasticsearch ingest pipeline?写入路径同步执行的开销、Painless 脚本的安全治理是根因;而 _ingest.timestamp 出不了 pipeline,ES 8/9 也没有原生入库时间字段。本文给出四种替代方案:采集端注入时间戳、bulk 响应后回写、refresh=wait_for 近似、最小 set pipeline 白名单,附选型对比与踩坑清单。

Sayai的专栏 341

Day3 - Flink 窗口与时间语义:从滚动窗口到迟到数据处理

水位线是一个特殊的时间戳,代表"小于这个时间戳的数据都已经到齐了比如水位线推进到 10:00:05,就告诉 Flink:10:00:05 之前的数据应该都到了,如果还有晚于这个时间到达但时间戳小于 10:00:05 的数据,就是"迟到数据"。窗口大小固定,窗口之间不重叠,数据只属于一个窗口。时间线: 0 10 20 30 40 50 60窗口1: [--------)窗口2: [--------)窗口3: [--------)窗口4: [--------)

YEEMOLY的博客 243

智能问诊的流程

本文介绍基于FastAPI构建的医疗多Agent系统MediAgent,通过症状分析、诊断推理与治疗建议等模块协同,实现从问诊到报告生成的完整工作流。系统采用前后端分离架构,结合MySQL、RabbitMQ与Docker实现工程化部署,支持异步化验结果接入。虽当前状态暂存于内存,但已具备可扩展性,未来可通过Redis持久化、消息队列联动及医疗安全机制完善,应用于慢病管理、辅助决策等场景,推动AI在医疗流程中的落地应用。

Joey 的工作空间~ 476

行业研究报告采购避坑指南:从需求拆解到机构选型的实操逻辑

先说结论:买行业研究报告这件事,坑不在“哪家便宜”,而在“你拿到的数据能不能回答你的问题”。作为一个经常帮企业做采购决策的顾问,我见过太多花了几万块买回一堆PDF却用不上的案例。这篇文章把采购流程拆成五步,每一步告诉你该看什么、该避什么,尽量帮你少交学费。

2601_96585642的博客 221

代购系统改造:服务无状态化、分级隔离

代购系统因链路长、流量脉冲、写放大等特点,高可用设计需聚焦“消灭单点”。通过服务无状态化、分级隔离、数据库与消息队列容灾、监控告警与混沌工程验证,实现MTTR降至3分钟内,支付成功率超99.9%。核心经验:缓存雪崩防于过期策略,跨地域用短TTL GeoDNS,支付降级必须幂等。高可用本质是持续检验“无单点”假设的闭环体系。

2601_95706522的博客 161

ubuntu安装hadoop系统

本文详细介绍了基于VMware克隆虚拟机搭建三节点Hadoop分布式集群的全过程:使用同一Ubuntu镜像克隆出master、worker1、worker2三台虚拟机,依次配置主机名、固定IP(如192.168.82.10/11/12)、SSH服务及免密登录,确保节点间网络互通。随后安装Java,下载配置Hadoop并分发至各节点,最终初始化启动集群,验证其存储与计算功能,实现高效的大数据环境部署。

qq_43592674的博客 323

Elasticsearch:稠密向量字段类型

dense_vector字段用于存储稠密向量,支持k近邻搜索(kNN),默认启用索引并使用余弦相似度。可接受浮点数数组或Base64编码字符串输入,支持自动量化(如int8、int4、bbq)以降低内存占用。通过index_options配置索引类型(如hnsw、bbq_disk),并可启用过采样与重新评分提升精度。向量默认不存储于_source中以节省空间,可通过fields或_source.exclude_vectors显式返回。支持bit向量及GPU加速索引,适用于高维向量场景。

Elastic 中国社区官方博客 259
上一篇: LWN:更加高效地保护内存不被kernel篡改!
下一篇: LWN:凡人如何理解lockless算法?
LinuxNews搬运工
博客等级 码龄7年 438粉丝 20原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值