Page 180 - 《软件学报》2026年第2期
P. 180
余广坝 等: 面向大规模在线系统的故障根因变更识别 659
够将 S 6 的变更排在第 2 位, 这也能够给运维工程师提供参考, 加快运维工程师定位根因变更的速度.
6.2 方法局限性
● 代码级诊断不足: 当前方法主要定位到变更级别 (如服务版本变更), 但未能进一步精确定位到具体代码修
改, 但本文认为这种设计是合理的. 在真实工业系统中故障处理流程中存在明确的责任分工: 运维团队负责快速定
位并回滚问题变更以恢复服务, 而开发团队随后负责进行深入的代码级诊断以彻底修复问题. 从运维时效性角度
看, 生产系统故障响应分为两个独立阶段: (1) 紧急恢复阶段: 需要分钟级定位可回滚的变更版本 (本文焦点); (2) 彻
底修复阶段: 开发团队进行小时/天级的代码调试. 这种分工类似于医疗急救中“先止血后手术”的逻辑, 确保服务
快速恢复是首要任务. 此外, 从组织安全策略角度看, 运维团队通常无权访问完整代码库, 无法执行代码级诊断. 因
此, 本文认为面向变更级的根因定位是填补服务级和代码级诊断之间鸿沟的关键性创新, 它在粒度精确性和运维
时效性之间取得了平衡.
● 时间窗口敏感性: 方法依赖 H h 的时间窗口假设, 对于潜伏期较长的缺陷 (如内存泄漏) 可能失效. 真实故障
统计显示约 5% 的变更相关故障会在变更 48 h 后才显现, 这类故障难以被当前方法捕获. 特别是在资源耗尽类故
障中, 如内存泄漏通常在数天后才表现出明显异常, 而配置不兼容问题可能在系统负载达到特定阈值时才触发. 本
文在生产环境中观察到, 将时间窗口扩展至 7 天可以覆盖约 97% 的变更相关故障, 但同时会引入更多无关变更干
扰, 导致准确率下降约 5%. 这种时间窗口与准确率之间的权衡需要在不同场景中进行具体调整.
● 跨服务变更传播建模不足: 虽然方法考虑了服务间的直接依赖关系, 但对复杂变更传播路径 (如循环依赖、
多跳传播) 的建模仍显不足. 当故障通过非典型路径传播时, 方法的准确性可能下降. 当存在复杂的共享资源竞争
(如多服务共享数据库或缓存) 时, 变更影响可能通过非显式依赖路径传播, 当前方法难以捕捉这种隐式传播机制.
未来工作将探索结合因果推断和动态追踪技术, 构建更完善的故障传播模型.
7 总结与展望
本文的研究意义在于通过对微信系统中真实变更故障数据的实证分析, 揭示了缺陷变更对在线系统生产环境
的影响和相关的行为特征, 这为未来的有关研究提供了深入了解变更故障的基础. 同时, 基于实证研究的发现和启
发, 我们提出了一种能够高效识别变更故障的根因变更的方法, 为运维工程师提供了更快速、更准确的故障根因
变更识别手段. 本文实现了根因变更识别算法的原型, 并使用真实生产环境的变更故障数据集和模拟变更数据集
进行了测试. 实验结果表明, 所提方法能够分别以 80% 和 84% 的 HR@3 准确率识别出根因变更, 并且根因变更识
别效果显著优于当前最先进的缺陷变更识别方法.
为了进一步推进该领域的研究, 我们将致力于优化和改进根因变更识别方法, 使其能够更好地应用于工业界
真实场景. 例如, 目前的 DiD 算法只考虑了变更前后的差异性, 而没有考虑工作负载的周期性. 这可能导致算法误
报, 因为工作负载的周期性可能导致 KPI 的变化. 因此, 我们将考虑把历史 KPI 变化纳入算法中. 另外, 在时间得
分计算模块方面, 本文将变更后不同时间段的权重视为一致. 然而, 实际上, 离变更时间越近的时间段, 其时间异常
得分权重应该更高. 因此, 我们将进一步优化时间得分的权重, 以获得更精确的结果. 此外, 我们还计划继续收集变
更故障数据集, 扩大实验规模和数据集范围, 以验证所提方法的普适性和鲁棒性. 通过这些努力, 我们可以进一步
提升在线服务系统的可靠性和用户体验, 以应对不断变化的用户需求和市场挑战.
References
[1] Savor T, Douglas M, Gentili M, Williams L, Beck K, Stumm M. Continuous deployment at Facebook and OANDA. In: Proc. of the 38th
Int’l Conf. on Software Engineering Companion. Austin: ACM, 2016. 21–30. [doi: 10.1145/2889160.2889223]
[2] The Verge. Facebook says ‘configuration change’ caused some users to be logged out unexpectedly. 2021. https://www.theverge.com/
2021/1/23/22245842/facebook-logged-out-configuration-change-ios-app-security
[3] Beyer B, Jones C, Petoff J, Murphy NR. Site Reliability Engineering: How Google Runs Production Systems. California: O’Reilly Media,
Inc., 2016. 3–12. [doi: 10.1145/3442381.3449905]
[4] Yu GB, Chen PF, Chen HY, Guan ZJ, Huang ZC, Jing LX, Weng TJ, Sun XM, Li XY. MicroRank: End-to-end latency issue localization

