携程火车票包含1000+的业务指标,人工监测指标的异常情况耗时费力,而由于业务差异,基于规则和简单统计学的检测方案只能覆盖到单个指标或者单类指标,并且不能随着新业务上线或者功能变动灵活动态的调整相应的规则,并不适用于大量不同业务线的指标。我们希望使用AI算法来代替人工,对指标进行全自动的监控,旨在发现指标的异常和导致异常的潜在原因。 具体来说,对于异常检测,使用六种无监督检测算法计算异常得分,根据时间序列特性和指标的业务特点计算异常阈值,集成多种算法的异常结果进行硬投票,得到异常结果。对于根因定位,集成了Adtributor、Hotspot等四个算法做硬投票系统,按投票次数降序输出根因结果。此外根据指标的重要程度,设置不同的投票规则,来权衡精召率。
从毕业入职到现在,我所处的岗位一直是「iOS 端开发工程师」,但在具体工作内容上,除了 iOS 端本职工作以外,偶尔我也会接触到一些前端、小程序开发的场景。尤其是最近几年参主导钉钉跨五端项目之后,借项目机会我开始接触桌面端研发,现已具备一定的桌面端研发能力。 这一段走过来有困难也有收获,同时也得到了很多小伙伴的帮助,因此希望能通过自己视角来阐述一个 iOS 工程师学习桌面端研发、尤其是 Windows 研发的些许心得,为 iOS 到 Windows 这个稍显「小众」场景提供一些资料,抛砖引玉以供大家交流,同时为有类似想法的同学提供一点参考。
最近在 Discord 的技术 blog 看到 Discord 的底层数据存储的演进过程,从最开始的 2015 初用的单个副本集的 MongoDB,2015 年底迁移到 Cassandra,2022 年消息量达到了万亿的级别,他们将存储迁移到 ScyllaDB。本文会介绍 ScyllaDB 的基本架构和原理,分析下 ScyllaDB 能够支持万亿级存储的原因。
火山引擎智能拥塞控制算法 VICC(Volcano Intelligent Congestion Control)是一种自适应的拥塞控制算法,旨在解决全球不同网络环境下,不同音视频应用对带宽利用率和延时的差异化要求。它结合了传统拥塞控制算法(如 GCC 和 BBR)的优点,并且能够根据不同的网络条件、业务偏好和码率特征进行自适应调整,包括自适应拥塞响应速度、自适应带宽探测幅度、自适应丢包检测策略、自适应抗抖动能力和自适应 Padding。通过这些自适应调整,VICC 算法能够提升各种复杂弱网下的带宽利用率,同时在满足不同延时的条件下,尽量提升带宽的稳定性,为用户提供更好的音视频体验。
DataWind是一款支持千亿级别数据自助分析的一站式数据分析与协作平台。可视化能力是DataWind核心能力之一,本文聚焦DataWind的可视化特性,从风格、交互、叙事、智能推荐等多个角度展示这些能力以及其背后的技术实现。