打造互联网视频流媒体的异常检测与诊断系统
内容目录
- 简介
- Kuvira的Auto Tech Gnostics Alert系统
- 基于流水线的问题
- 简化的流水线示例
- 它是如何失败的?
- 多问题的情况
- 寻找问题的根源
- 异常检测算法
- 检测和诊断算法
- 构建诊断图
- 从顶级到底级的异常追踪
- 机器学习模块的作用
- 生产环境中的分布式实现
- 成功案例
- 未来发展和挑战
- 招聘信息
Kuvira的Auto Tech Gnostics Alert系统
Auto Tech Gnostics Alert是一个由Kuvira开发的用于互联网视频流媒体的系统。它可以捕捉异常,并自动诊断根本原因,以便立即采取行动解决问题。本文将介绍该系统的细节,并说明其在视频流媒体行业中的重要性。
产品细节
Auto Tech Gnostics Alert是一个综合平台,用于监控视频质量指标(KPIs)和优化视频生态系统。通过在客户端和后端运行复杂的算法,该系统不断改进视频质量,提高观众参与度。该系统的目标是实现客户的成功,因为在线视频流媒体行业倍受欢迎。
工程角度的定义
在过去的几年里,互联网视频流媒体行业发生了巨大的变化。许多内容提供商将他们的内容放在了线上平台上,而且越来越多的内容只能在线上观看。根据SyndICT及思科的预测,到2019年,全球80%以上的互联网流量将用于在线视频流媒体。然而,要确保成功的端到端流媒体仍然非常困难。
视频流的重要性
在视频流媒体行业中,存在着复杂的流程和多个参与方。任何一个环节出现问题都可能导致用户体验的下降。例如,如果某个设备的播放器出现问题,可能会导致同一个网络下的其他设备也受到影响。这就给诊断问题带来了挑战。
为了解决这个问题,我们需要一个系统能够实时检测沿着视频流的质量问题,并进行诊断以确定根本原因。该系统还需要监控流以提供更多数据来帮助我们排除故障。换句话说,我们需要一个能够快速检测和解决问题的系统,以最大程度地减少观众的困扰。
基于流水线的问题
视频流媒体中的问题可能出现在任何一个环节,甚至是多个环节。这让根本原因的诊断变得更加困难。让我们看一个简单的例子。
假设用户可以选择不同的设备来观看视频。如果其中一台设备的播放器有一个错误,将导致该设备上的观众遭受长时间缓冲的困扰。在这种情况下,播放器错误是路径中的一个高峰。这只是一个简单的例子,但在实际情况中,我们通常会遇到多个问题。
例如,当观众观看直播事件时,他们可以选择不同的设备来观看视频,比如iPhone、台式机或Apple TV。这些设备可以从多个CDN中获取流媒体,并通过各自的CDN在其前面有一个现场编码器。如果一个编码器出现问题,可能导致一个CDN停止接收源数据,进而导致从该CDN流媒体的所有观众无法播放视频或遭受缓冲问题。作为内容发布商,我可能会看到许多设备上出现的问题,但我不知道问题的根本原因是什么以及我应该修复哪一部分。
对于观众而言,持续的缓冲和卡顿极大地影响了他们的观看体验。据调查,重新缓冲比率的1%增加可能导致观众减少16分钟的观看时间,并增加58%的退订风险。这些数据表明,观众的期望不断提高,对于提高观众参与度,解决问题至关重要。
异常检测算法
当我们谈到异常检测算法时,我们的目标是捕捉质量指标的时间序列中的非常规峰值。我们首先需要根据历史数据的训练平均值来估计一个基准线。然后,我们根据基准线计算容忍阈值,即基准线的几个标准差。在容忍阈值以下的质量指标被视为正常。超过容忍阈值的区域面积越大,表示问题的影响越大。如果面积超过了阈值,我们将其视为异常。
为了更好地理解问题的根源,我们需要构建一个诊断图。该图为我们提供了一个结构化的方式来诊断异常。然后,我们对所有的子组运行检测算法,标记是否存在异常。根据异常图的结构和标记的异常,我们可以找到问题的根源。
检测和诊断算法
为了识别问题的根源,我们需要运行检测算法,并从顶层开始逐级向下搜索异常。当我们找到一个异常,就会递归地继续往下搜索。搜索的终止条件是找到一个没有子组的组。例如,如果一个iPhone子组和一个Level 3 iPhone子组都存在异常,我们不应该指责它们,而应该将根源归咎于iPhone。
然而,有时候我们无法确定一个小组是否存在异常。因为小组的数据可能非常少,时间序列非常特殊。因此,我们引入了机器学习模块来帮助估计这些小组的性能。该模型根据其他视频会话的数据进行训练,并在每分钟预测该小组的平均性能。然后,我们运行相同的检测算法来判断是否存在异常。
生产环境中的分布式实现
为了应对大规模的视频流媒体数据,我们选择使用Spark框架进行分布式处理。我们将视频会话数据加载到执行器中,并构建诊断图。然后,我们在每个执行器上运行检测和诊断算法,最后将根因传输到数据库中。整个过程可以在45秒内完成,速度非常快。
我们还展示了该系统在实际生产环境中的成功案例。我们成功地检测到Level 3 CDN的故障,并及时采取了措施来解决问题。我们可以看到根因组的时间序列出现了峰值,而其他流量则保持平稳。
为了帮助客户调试问题并采取行动,我们还提供了故障会话的样本列表及其相关属性。这种及时的诊断对于解决问题和提高观众体验非常重要。
未来发展和挑战
我们目前已将该产品成功投入生产,并得到了客户的积极反馈。然而,我们仍然面临着一些挑战和改进的空间。
首先,我们需要更系统地评估检测和诊断算法的准确性。这是一个艰巨的任务,因为Sparkle是否异常取决于我们客户对影响的定义。因此,我们需要收集客户的反馈,并根据其要求调整阈值。
其次,我们还需要不断尝试不同的算法和优化方案,以提高系统的效率和性能。一些小组的数据量可能非常小,我们需要通过机器学习模块来预测性能,这也是一个需要改进的方面。
在未来,我们将继续努力,为客户提供更好的产品和服务。我们也在寻找新的人才加入我们的团队,如果你对我们的项目感兴趣,请随时联系我们。
FAQ
Q: Auto Tech Gnostics Alert系统如何工作?
A: Auto Tech Gnostics Alert系统通过分析视频流质量指标的时间序列数据,检测异常,并在诊断图中确定根本原因。它可以帮助视频流媒体行业快速发现和解决质量问题,提高观众参与度。
Q: 为什么视频流媒体行业需要Auto Tech Gnostics Alert系统?
A: 随着互联网视频流媒体的快速发展,解决端到端流媒体问题变得越来越紧迫。Auto Tech Gnostics Alert系统可以帮助内容提供商及时发现并解决质量问题,提高观众的观看体验和参与度。
Q: Auto Tech Gnostics Alert系统的优势是什么?
A: Auto Tech Gnostics Alert系统具有以下优势:
- 实时检测和诊断功能,帮助迅速解决质量问题
- 分布式处理,适合处理大规模的视频流媒体数据
- 机器学习模块,可以帮助估计小组的性能,解决异常检测问题
- 用户友好的界面,提供样本列表和相关属性,帮助客户调试问题
Q: Auto Tech Gnostics Alert系统如何对视频流质量进行监控?
A: Auto Tech Gnostics Alert系统通过监控视频流的质量指标,并将其与基准线和容忍阈值进行比较,以检测质量问题。它还分析不同视频会话的时间序列数据,并构建诊断图来定位问题的根源。
Q: Auto Tech Gnostics Alert系统可以应用在哪些领域?
A: Auto Tech Gnostics Alert系统适用于各种互联网视频流媒体平台,包括OTT(Over-The-Top)视频流媒体和在线直播等。它可以帮助提供高质量的视频观看体验,提高观众的参与度。
简介
欢迎来到我们的演示,我是Yen,这是我的同事Ray。我们都来自Kuvira的工程团队。今天,我们将介绍在Kuvira开发的一个项目,也就是Auto Tech Gnostics Alert。这个系统是用于互联网视频流媒体的,可以自动检测异常情况,并诊断其根本原因,以便及时采取行动解决问题。
Kuvira的Auto Tech Gnostics Alert系统
Auto Tech Gnostics Alert是Kuvira开发的一个系统,用于互联网视频流媒体。它可以实时监测视频质量,并通过分析时间序列数据,诊断根本原因。这个系统的目标是最大程度地提高观众的参与度。
产品细节
Auto Tech Gnostics Alert被定义为一个综合平台,用于监控视频质量指标(KPIs)并优化视频生态系统。它通过在客户端和后端运行复杂算法来不断改进视频质量。该系统的目标是确保客户的成功。
工程角度的定义
在过去的几年里,互联网视频流媒体行业发生了巨大变化。许多内容提供商将他们的内容放在了线上平台,而且越来越多的内容只能在线上观看。根据思科预测,到2019年,全球80%以上的互联网流量将用于在线视频流媒体。然而,要确保成功的端到端流媒体仍然非常困难。
视频流的重要性
在视频流媒体行业中,存在着复杂的流程和多个参与方。任何一个环节出现问题都可能导致用户体验的下降。因此,一个系统能够实时检测沿视频流的质量问题,并进行诊断,是非常重要的。这个系统还需要监控流,为我们提供更多数据来帮助我们分析问题。
基于流水线的问题
在视频流媒体中,问题可能出现在任何环节,甚至是多个环节。这给问题的定位带来了复杂性。让我们来看一个简化的流水线示例。
如果设备上的播放器出现问题,可能会导致同一网络中的其他设备也受到影响。这将导致整个路径上的质量下降。这只是一个简单的例子,但在实际情况中,我们通常会遇到更复杂的问题。
例如,当观众观看直播事件时,他们可以选择不同的设备来观看视频。他们可以使用iPhone、台式机或Apple TV等设备,并且可以从多个CDN中获取视频流。每个CDN之前都有一个现场编码器。如果某个编码器出现问题,可能会导致一个CDN停止接收来自源的数据,进而导致从该CDN流媒体的所有观众无法播放视频或遭受缓冲问题。作为内容发布商,我可能会在许多设备上看到问题发生,但我不知道问题的根本原因以及我应该修复哪一部分。
对观众来说,持续的缓冲和卡顿极大地影响了他们的观看体验。据调查,重新缓冲比率的1%增加可以导致观众减少16分钟的观看时间,并增加58%的退订风险。这些数据说明,观众的期望不断提高,解决问题变得非常重要。
异常检测算法
当我们谈论异常检测算法时,我们的目标是捕捉质量指标时间序列中的非常规峰值。我们首先需要根据历史数据的平均值来估计一个基准线。然后,我们依据基准线计算容忍阈值,该阈值是基准线的几个标准差。在容忍阈值以下的质量指标被视为正常。当面积超过阈值时,我们将其视为异常。
检测和诊断算法
为了找出问题的根源,我们需要运行检测算法,并从顶层开始逐级向下搜索异常。每当我们找到一个异常时,我们就会递归地往下搜索。搜索的终止条件是找到一个没有子组的组。例如,如果一个iPhone子组和一个Level 3 iPhone子组都存在异常,我们不应该指责它们,而应该将根源归咎于iPhone。
然而,有时候我们无法确定一个小组是否存在异常。因为小组的数据可能非常少,时间序列非常特殊。因此,我们引入了机器学习模块,通过训练模型来估计这些小组的性能。该模型可以根据其他视频会话的数据进行预测,帮助我们判断是否存在异常。
生产环境中的分布式实现
为了处理大规模的视频流媒体数据,我们选择使用Spark框架进行分布式处理。我们将视频会话数据加载到执行器中,并构建诊断图。然后,我们在每个执行器上运行检测和诊断算法,并将根本原因保存到数据库中。整个过程非常快速,可以在45秒内完成。
我们还展示了该系统在实际生产环境中的成功案例。我们成功地检测到Level 3 CDN的故障,并及时采取措施来解决问题。我们可以看到根本原因的时间序列出现了峰值,而其他流量则保持平稳。
为了帮助客户调试问题并采取行动,我们还提供了故障会话的样本列表及其相关属性。这种及时的诊断对于解决问题和提高观众体验非常重要。
未来发展和挑战
我们目前已将该产品成功投入生产,并得到了客户的积极反馈。然而,我们仍然面临一些挑战和改进的空间。
首先,我们需要更系统地评估检测和诊断算法的准确性。这是一个艰巨的任务,因为Sparkle是否异常取决于我们客户对影响的定义。因此,我们需要收集客户的反馈,并根据其要求调整阈值。
其次,我们还需要不断尝试不同的算法和优化方案,以提高系统的效率和性能。一些小组的数据量可能非常小,我们需要通过机器学习模块来预测性能,这也是一个需要改进的方面。
在未来,我们将继续努力,为客户提供更好的产品和服务。如果您对我们的项目感兴趣,请随时联系我们。
高亮点
- Auto Tech Gnostics Alert是用于互联网视频流媒体的异常检测和根因诊断系统。
- 它可以实时监测视频质量,并自动诊断根本原因,快速解决问题。
- 通过分析时间序列数据,系统可以检测和定位异常,为客户提供详细的故障会话和相关属性。
- 该系统使用Spark框架进行分布式处理,可以处理大规模的视频流媒体数据。
- 这个系统已经成功投入生产,并得到客户的积极反馈。
资源链接: