一是人工采集,二是智能采集(爱奇艺开放式故障值守系统)

优采云 发布时间: 2021-11-29 18:05

  一是人工采集,二是智能采集(爱奇艺开放式故障值守系统)

  本文是爱奇艺台湾智能内容系列手稿的第一篇。我们将继续为您带来爱奇艺智能内容生产运营的一系列探索,敬请期待。

  无人值守系统是爱奇艺内容中心的重要智能组件。

  首先,对于业务密度高、流程长、业务多的业务系统,在实际运行中,故障的发生是普遍现象,在某种程度上也是一种正常状态。因此,能够在故障发生后及时发现并处理,是对在线业务系统的必然要求。常规方法是报警+人工干预。这种方式导致需要有人值班,人工干预的及时性得不到保障,人力成本必然增加。

  爱奇艺内容中台也面临着上述问题。试图通过技术手段解决系统复杂性带来的问题,是本系统的基本思想,也是中台智能化的一个重要方向。与传统的监控系统相比,我们需要更多的智能服务来完成监控,同时兼顾故障的智能处理,同时方便其他处理方式的介入。无人值守系统是爱奇艺内容中心研发团队在上述背景下设计开发的智能开放式故障值班系统。

  一、无人值守的目标

  无人值守系统的目标是协助业务系统实现流程自动化、结果可靠、无需人工值守。

  在项目设计之初,我们的初衷是:在爱奇艺众泰节目的*敏*感*词*中,无需人工启动,确保节目*敏*感*词*正常、准时上线。出现问题时,可及时发现、自动修复、风险提示、通知人工处理等,确保程序按时上线。

  基于系统的目标,系统需要具备以下能力:

  

  二、整体结构介绍

  综上,基本思路是:一是实现业务系统运行的监控功能,采集业务运行数据和异常到无人值守系统,并在此基础上,通过对数据的实时智能分析,实时发现系统操作故障和业务数据异常。然后交给故障和业务异常处理模块进行异常的智能处理,从而实现异常和故障的自动处理,最终实现无人值守、智能系统恢复的目的。

  

  系统运行流程介绍:

  采集生产环节数据传输到无人值守系统,主要通过爱奇艺的中台数据中心采集。业务系统下发数据到众泰数据中心,无人值守系统采集数据来自众泰数据中心。决策引擎对采集的数据进行实时分析,根据SLA、异常、阈值的配置对异常数据进行分析,形成单独的事件。事件被传递到事件处理引擎 Beacon。事件处理引擎根据不同事件配置的处理流程进行处理。事件处理流程完全可配置,支持故障修复、告警通知、故障恢复检测、故障统计等。训练引擎利用中泰数据中心的离线数据训练系统故障分析模型,然后将模型数据提供给决策引擎进行决策。三、核心模块介绍

  下面对系统的核心功能模块一一介绍:

  3.1 实时运行数据采集模块(基于中泰数据中心)

  通过爱奇艺内容中台团队实现的OLTP基础组件(中央数据中心)实时采集各个功能模块的运行状态和业务数据的进度和状态。OLTP基础组件(台湾中部数据中心)为爱奇艺内容的实时分析和处理提供支持。运行在中心平台的各种数据都可以方便的下发到这个组件上,并且还提供了数据监控和查询功能,可以支持TB整合海量数据的管理和维护。中泰数据中心系统将在后续系列文章中详细介绍,这里不再展开。

  数据采集进程:

  

  以专业内容制作流程(PPC)为例:

  生产和交付:生产服务运行过程中,生产状态和片的生产状态将交付到中台数据中心。

  业务流制作交付:业务流*敏*感*词*中,视频流制作状态、音频制作状态、字幕制作状态下发至中央数据中心。

  审核下发:审核系统将审核状态、审核时间等信息下发给众泰数据中心。

  发布与交付:发布系统会在平台数据中列出码流的发布状态。

  中泰数据中心获取数据后,向RMQ队列发送数据变化通知,无人值守系统监控数据变化,将数据拉取到无人值守系统。为了获取程序从生产到最终发布的运行数据,完成数据采集。

  3.2 决策引擎

  基于采集的数据实时分析系统和业务运行情况,决策引擎主要提供以下功能:

  错误检测:实时检测系统和业务错误,统一管理错误,发送事件。

  超时预警:基于业务节点的SLA配置,检测并统一管理超时业务行为,发送事件。

  可配置策略:主要包括业务功能的无人值守访问配置和业务功能的SLA配置、权限配置、统计通知配置。

  决策引擎的运行是在服务工作的同时采集进度和系统运行信息,不断检查服务进度是否正常,是否有异常情况或超时情况,以便能够第一时间发现问题。他们出错了。

  按照下图的逻辑继续工作:

  服务模块启动后,当发现失败或超时时,将失败和超时事件通知外部。同时检测系统业务单元的运行进度,判断进度是否正常,并向外界通报异常进度滞后事件。

  

  上面介绍了逻辑流程,下面介绍服务模块的操作逻辑:

  服务模块的主要概念:

  数据来源:数据来源主要是中国台湾数据中心,部分广播控制数据来自RMQ采集。数据源的数据由业务系统下发到中台数据中心。

  流程:完成从数据源采集到无人值守系统的数据。不同的业务有不同的流程,不同的业务有不同的处理方式。

  过滤:完成数据过滤。来自采集的一些数据是系统不需要的,还有一些字段是不需要关心的。过滤器负责过滤掉无效数据。

  Transform:数据转换,统一转换为决策所需的数据结构。

  Rule模块:规则的执行,从transform中接管数据,执行配置好的规则,输出成功、失败、启动三个规则结果。

  决策模块:决策模块进行超时判断。超时判断不同于普通的成功和失败。需要不断的比较当前时间和进度来判断任务是否超时。

  延迟消息模块:通过延迟消息,在未来的某个时间用来检查服务的运行是否超时。

  Sink回写:将超时、超出预期在线时间等结论回写数据源。

  服务模块按照上述概念的顺序运行,将运行中发现的事件传递到外部。下图:

  

  3.3 Beacon,事件处理引擎

  事件处理引擎Beacon是自主研发的模块,从决策引擎接收事件,并在一个流程中进行处理。对于不同的事件,处理方法有很大的不同。比如常见的转码异常就有50多种,根据处理方式的不同,分为很多组。每组都有不同的处理程序。通知不同的研发人员,通知模块的内容不同。. 有的事件有规范的治愈,有的没有治愈,需要通知业务人员。针对这种多样化的需求,专门设计了事件处理引擎(Beacon)进行无人值守事件处理。引擎支持流程的配置和定制,并预留了高抽象的业务对接接口、处理能力扩展方式、流程配置方式。最大限度地降低支持新业务的成本。

  常见故障以事件的形式发送到 Beacon 处理引擎。

  基本结构:

  事件处理引擎主要有以下几个部分:

  上下文功能:流程执行过程中上下文参数的获取和存储。上下文的保存和获取在Step基类中实现。

  执行引擎:一个简单可靠的执行引擎,收录流程执行、执行延迟、执行日志等基本功能,可以执行索引的Step类型对象。

  流程配置:JSON格式的流程配置,包括Step、StopStrategy、StepAction、WaitTimeAfter等概念,流程按照StepIndex的顺序执行。

  Step:Steps,steps是组成流程的单元,每一步都会执行配置好的StepAction和StopStrategy。

  StopStrategy:进程终止判断策略,Step类的子类,继承context函数。根据配置的状态,确定事件处理的最终形式,例如故障是否恢复。

  StepAction:要执行的Action,Step类的子类,如发送邮件、发送消息、调用业务接口等,都可以打包成StepAction。

  WaitTimeAfter:本步执行完毕后,执行下一步的等待时间。

  邮件等通知功能的对接:与企业邮件系统等对接,这是通知功能的基本组成部分。

  业务功能组件:业务功能组件是构成处理流程的基础组件,是系统处理能力的载体。为支持新业务问题的处理,需要在业务功能组件池中扩展流程处理引擎,扩展无人值守处理能力。

  

  下面是一个简单的进程配置示例:

  

  在实际使用过程中,针对特定事件配置故障处理Action和治愈判断的StopStrategy,实现故障的自恢复和治愈。这里的失败实际上是一种事件。最后,系统可以根据运行数据分析故障数量和固化百分比。

  四、机器学习应用:生产时间估算

  根据无人值守系统的目标设计,无人值守系统应提供对生产过程的预见性管理,以达到业务运营的可预见目的。基于采集收到的数据,应用机器学习技术训练各种预测模型,针对耗时的业务运营提供各种预测能力,提升无人值守体验。

  注意:无人值守系统的预测模型只适用于资源稳定或有保障的任务,没有考虑资源变化对运行时间的影响。

  以下是对预计生产时间的解释:

  问题类型分析:无人值守系统可以获得丰富的视频制作历史数据,期望形成特征向量,利用历史数据计算训练模型,估计视频制作完成时间进行剪辑。

  

  特征分析:排除空数据,过滤有价值的特征。

  例如:类别特征:

  'businessType', "channel", 'cloudEncode', 'trancodeType', "priority", "programType",

  “serviceCode”、“needAIInsertFrame”、“needAudit”、“bitrateCode”、“平台”、“分辨率”...

  数字特征:'持续时间'

  分类特征值分布分析

  

  算法选择:

  训练数据用于去除异常值,使用XGBoost回归模型。

  XGBoost:实现了GBDT算法,在算法和工程上做了很多改进,(GBDT(Gradient Boosting Decision Tree)梯度提升决策树)。所以它被称为 X (Extreme) GBoosted。

  它的基本思想是将基础分类器逐层叠加。每一层在训练时,都会为上一层基分类器的样本调整不同的权重。在测试过程中,根据各层分类器结果的权重得到最终结果。所有弱分类器的结果之和等于预测值,然后下一个弱分类器将误差函数的残差拟合到预测值(这个残差就是预测值与真实值之间的误差)。

  

  五、业务系统反馈

  无人值守系统为所有连接的业务系统生成日常业务系统运行状态报告并推送到业务系统。数据主要包括错误、故障统计数据和详细数据,以及是否满足SLA等信息。业务系统根据无人值守反馈的运营数据进行业务改进和系统优化。基于这种方式,业务系统不断升级改造。

  以下是日常经营状况报告的内容示例:

  

  六、在线效果

  在爱奇艺,无人值守系统已经覆盖了爱奇艺内容中心的重要制作环节,每天为数十万节目制作提供可靠报告,无人值守率达到99%以上。累计发现问题3000多道,自动处理2800多道。大大节省人工成本,提供系统运行稳定性和准时节目在线率。

  七、未来方向

  未来,我们希望能够基于无人值守的采集数据,提供更加智能的分析,主动发现业务系统问题,预警并提前解决。

  此外,该系统目前仅针对点事件值班。未来,该方案将把值班和问题处理作为一个整体,提供从点到线再到面的全方位值班服务。比如,以程序为粒度,可以提供更智能的能力,如断点续传、落后。

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线