简介:为了为您提供一个为每个人提供一千个内容的建议推荐,后端建立了一个巨大而复杂的推荐系统。整个系统包括数百个模块,数百种战略算法和模型。高速效率迭代平均每天有近一百次需求;如此庞大的系统如何实现如此高速和稳定的迭代?这与由PM,RD,QA等各种角色构建的智能交付系统是密不可分的。
介绍
本文主要介绍了百度大规模信息流建议系统的研究,开发和交付效率的相关实践。它涵盖了研发,测试,发布和在线部署的所有阶段。通过智能手段,结合了数据和算法,该过程的有效性提高和智能循环最终将实现任何人的整个过程。
为了为您提供一千个内容的建议,信息流产品已建立了一个大型,复杂的大型推荐系统。整个系统包括数百个模块,数百种战略算法和模型。高速效率不断迭代相关的策略和架构,每天平均一百次;如此庞大的系统如何实现如此高的速度和稳定的迭代?它与由PM,RD,QA等各种角色构建的智能交付系统密不可分。
△图表1:简化推荐系统
智能交付系统涵盖了研发,测试和启动的各个方面。首先,我们必须设计一组有效的操作交付模型,并打破当前交付模型中的问题:一一:一一:
△图表2:传递模式示意图
1.研发以及自我测试阶段:使用微服务,业务框架和执行引擎来增强开发人员的能力,降低研发成本,提高研发效率,并探索由自主测试驱动的新的R&D模型。可以改进自己的质量意识和代码测量,然后集成研发和测试(测试能力为R&D提供服务,以提供服务,可衡量的转换等;
2.测试阶段:将每个测试行为分为测试输入,测试执行,测试分析,测试定位和位置定位的四个部分。通过数据和算法建立完整的测试系统后,能够提高整体测试效率和召回能力,并释放调查,定位和结果验证分析的人力;
3.发布阶段:是否可以从测试评估的角度发布评估的需求,对在线条件的需求的需求已智能地转移到在线部署阶段,并且实现该过程的过程不值得;
4.在线部署阶段:从编译,优化和部署包装,智能监控以及动态调整,服务重新启动优化4个方面,与OP,EE,RD结合使用,以提高启动效率;
5.底层:取决于功能强大的功能,包括数据管理的配置,智泰的构建,策略和其他智泰,以支持装配线的有效操作。
△图表3:智能交付系统的重要图
2.1.1业务框架和执行引擎建设1.背景
目前,融合层的许多策略和业务逻辑相对分散。在以下方面反映:
基于上述背景,主要目标是如下:
2.实施
该框架分为两个部分:核心执行+执行策略。如下所示:
△图表4:业务框架和执行引擎设计图
(1)核心执行
主要功能:根据给定的“执行模式”运行运算符。核心详细信息包括如下:
(2)执行策略
主要功能:根据核心执行信息生成“执行模式”。具体实施逻辑是收集每个操作员的操作信息,输入执行分析策略模块,并生成下一个核心执行的执行模式。核心细节包括如下:
2.1.2新的研发模型飞行员1.背景
SO称为自主测试是在研发过程中使用高质量测试相关的服务来保证质量保证,并结合完整有效的自动化功能,以直接给出交付结论的研发行为;最终流量线和测试服务能力的总体结构,以在测试中引入研究和开发服务能力参与的深度,并结合智能测试着陆以提高整体交付效率。
2.实施
△图表5:新的研发模型飞行员
我们已经建立了各种工程功能的完整组装线,例如“自动化测试”,“性能测试”和“稳定性测试”作为访问系统。建立完整的工程能力后,我们仍然遇到此类问题:
因此,在智能交付期间,基于早期构造的完整测试能力,它得到了智泰和数据的支持,并且战略算法有能力提高整个访问系统的质量和效率。和人力的释放。
△图6:智能无人看管和无人看管的流水线信号图
2.2.1测试输入:智能案例生成1.背景
自动化测试能力更像是功能回归能力。它如何快速覆盖新功能,并将一些具有高质量和高质量覆盖的非自主测试项目提高自主测试?
2.实施
通过使用增量代码分析白框的分析,结合业务策略,生成了测试案例以尽可能涵盖新功能。
△图表7:智能案例生成计划
2.2.2测试执行:智能结构1.背景
灵魂的酷刑是有必要满足所有需求和访问阶段的所有任务。如果您仅更改诸如日志功能之类的场景,则有必要构建如此繁重的结构?绝对不需要答案,但是如何判断哪些任务需要运行以及可以跳过哪些任务?
2.实施
基于智能结构,结合业务特征,以及白盒分析,历史任务结果等的特征,使用战略性的智能决策 - 制定任务运行,打破了汇编线任务机械的重复执行的当前状态量身定制以做出决策,然后提高装配线的运行效率。
△图表8:智能建筑系统
2.2.3测试分析:性能白盒分析1.背景
为了防止速度下降,性能DIFF测试是测试能力必不可少的部分。工程能力是完整的,但是对性能测试结果的分析仍然是耗时和劳动力密集的工作:
2.实施
(1)DAPPER的长尾恶化:基于RD的全球性能分析系统(DAPPER系统),我们已经对系统绩效的观察,将DAPPER和离线绩效测试结合在一起作为数据基础,再加上业务策略算法,我们做出了决策,我们具有恶化长尾巴的能力。
△图表9:性能测试白盒分析长尾截距
(2)基于白色框代码分析波动消除:基于时间的结果 - 耗尽的日志,与函数呼叫链分析,估计的时间效果和时间 - 耗费时间的增量代码相结合
△图表10:性能测试白盒分析 - 挥发性消除
2.2.4没有人值班:流程智能循环1.背景
前面介绍的主要集中度是提高自我测试 - 访问测试的每个研发阶段的效率。在提高效率之后,组装线仍然需要依靠人类和经验来判断和流程中的经验。使用数据和算法代替人们做出决策,以便组装线在各个阶段之间更加顺利地流动?
2.实施
从需求链接开始,在每个节点上,指导过程流过质量模型和风险评估过程;在舞台的起点,挖掘这种变化中引入的风险,风险的可能性,相应的影响,以及风险矩阵,以施加风险,以施加风险,以施加风险,以履行风险的风险,使风险矩阵施加风险风险评估,在每个阶段结束时,综合阶段的数据和特征,风险降级,指导可以转移到下一阶段,最后给出了全面的风险,以实现在线的需求在此过程中的无人值守过程。
1.背景
发射部署阶段的效率决定了整个产品可以达到的释放频率的上限,这可以减少启动需求的等待时间。因此,Q3与RD,OP和EE在2020年相结合,已优化了在线部署链接的效率。
2.实施
它主要从流程规范,平台优化和工程功能的三个维度开始,数据包切割的部署,动态调整,重新启动时间 - 耗费优化以及智能监视功能。提供相应的效率优化。
△图11:时间的优化 - 耗费和对部署部署部署的影响
通过一系列结构,例如研发业务框架和发动机的实施,研发测试,智能组装线,流程智能循环,提高效率等。在线质量稳定,并且稳定。
作者:百度极客说