网易首页 > 网易号 > 正文 申请入驻

网易传媒统一内容生产流程的架构实践(一)

0
分享至

前言

  传媒早期内容生产主要依赖编辑团队,后台团队可以较为集中的从数据库中获取到所需数据;后续内容战略升级,增加了网易号自媒体平台新的生产方,内容生产源头也逐步增加了短资讯、小视频、公开课等多种新的内容形式,每日新增内容量不断增加,导致需要从越来越分散的系统中获取数据,工作重复繁琐易于出错。

  同时,整体业务形态也从编辑维护改为Feeds流,在针对用户进行个性化推荐之前,对于不同类型数据既要调用通用的功能模块:比如分类、标签、安全审核等,又要针对特殊业务类型进行个性化处理:比如图文的头图提取、视频的封面提取等。

  基于以上,我们希望有一套统一对接多内容源、处理流程可配置、具有良好扩展性的内容处理系统。通过接入各种内容处理服务(机器+人工),完成对内容的加工处理,输出给订阅方。

  内容处理服务涵盖了内容安全质量(安全审核、质量评价,暴力色情,低俗,标题党等)、内容建模特征(分类,兴趣点,标签等),内容理解生成(封面图,摘要,结构化等)。

通用框架

流程处理
我们自研了工作流框架,将内容处理过程中独立的环节抽象为处理节点,单个节点可以是一次http接口调用,也可以是与另外一个独立系统做多次的复杂信息交互。通过配置文件定制环节顺序,即内容数据处理流程,流程框架功能特点:

  1.处理流程可配置,根据业务需要新增、删除处理环节,环节顺序可任意编排。
2.处理环节支持“前置|后置”拦截器,可以方便的在流程中加入自定义逻辑。
3.制定内容订阅标准,将业务需求转化为数据订阅脚本,可以从任意环节输出业务订阅数据。
4.热部署动态更新流程,无需重启服务。

数据多版本

  同一环节支持多种实现类,可根据分支判断脚本决定处理类,主要解决在流程中实现ABTest,支持两种方案:

  1.根据条件判断,单条数据只过其中一种实现(节点B或节点B1),将结果记录并发给订阅方。

  (数据多版本配置)

消息系统
内容处理流程需要跟内容生产方、内容订阅方、审核系统、各种AI服务进行数据交互,并且内容数据生产具有一定的潮汐性,存在阶段峰值(下午三至五点为发文高峰期),为了更好应对线上压力并与各业务系统解耦,我们引入了消息系统。
消息系统的选型在对比rabbitmq和kafka之后最终采用kafka,kafka相对于rabbitmq来说有几大优势:

  1.topic分区,支持高并发写入和消费
2.单topic能够同时支持多个consumer group消费,不用为每个消费者新建消息队列
3.消息回溯

容错与补偿

  随着处理环节不断增多,过程中可能出现问题的概率也不断升高,由于前后环节存在数据依赖,当环节执行出错时需要将当前数据的流转暂停直到环节服务恢复为止,这种情况出现时手工处理的成本是极高的。

  针对以上问题,我们设计了以下方案:

  1.流程框架自动记录数据当前处理环节及状态,一旦环节执行失败,就会通过定时任务重新调度直到成功。通过这样的监控方式我们能够达到:任何代码或依赖服务异常引起的故障都可以在修复后自动进行数据恢复。
2.由于部分服务有可能更新,例如:个性化推荐的标签服务算法改变,需要将至少近半年数据重新执行标签处理环节保证推荐准确,框架支持工具可以指定数据重新调用指定环节并将数据推送给数据订阅方。

数据统计

  原有生产模式下,不同数据源都存储在各业务系统的数据库中,数据字典定义也各自为政,这就给统计功能实现带来了很大的困难,需要考虑数据拉取、映射等复杂场景,需求的实现成本极高,无法快速满足频繁变更的统计诉求,被业务团队诟病。

  内容处理流程作为连接内容生产和消费的中间环节,将各处理服务的处理结果、开始结束时间、处理状态等各种数据进行详细的记录并统一存储,非常有利于进行精细化的数据统计来指导运营方把握内容生产方向,最终我们实现了灵活细致的统计服务。

  实现过程中首要难点在于:产品要求不能只对数据的最终态进行计算,还要将不断变化且被覆盖掉的中间状态统计在内。

  通常的根据数据库从库来统计的解决方案不再适用,为记录字段的中间状态,传统方式是在所有修改db操作时进行日志记录或采用其他持久化方式,这样的问题在于随着业务不断累积需要增加记录的代码位置会越来越多,非常不利于后续维护。

  针对这一问题,我们选用了canal对数据库的binlog进行监控,将业务开发与数据变化的记录解耦,每次单条数据修改的字段和修改值以kafka消息方式发送给数据统计服务,区分新增、修改、删除操作并附带修改前和修改后的值,以多条数据方式存储于临时表中,这样就记录下相同id的相同字段下值的变化过程,后续真正的统计是基于临时表内的记录。这样做会生成大量的临时表数据,占用磁盘空间,所以在统计完成后会把结果记录到统计表中,临时表会定期删除,清理磁盘空间。

  统计数据存在数据量大、增长快、统计维度复杂等业务特点,最终存储选型是Tidb,主要解决大数据量下有高并发实时写入、实时查询、实时统计分析的需求并支持水平扩容,避免了分库分表或者使用数据库中间件等对业务侵入性较大、对业务有约束的 Sharding 方案。

监控告警

  常规的系统和中间件监控之外,在掌握了各处理环节的详细统计数据后,我们可以对各环节业务数据的异常变化进行报警,比如:对网易号自媒体平台图文每日生产量进行同比或环比比较,当生产量降幅超过20%时,报警通知技术和运营同学,第一时间从技术和运营多个角度定位原因,减少流量损失。后续计划支持可定制化的监控规则和阈值设计,运营和产品同学可以不依赖于技术进行操作。

结语

  我们最终将项目命名为阿波罗,它整合了传媒内部所有关于内容处理的各类服务,通过配置化方式将新类型的内容数据接入的开发成本降低到原来的10%,内容生产团队不再关心后续的加工处理,内容订阅团队拿到的是开箱即可使用的成熟数据,运营产品团队可以拿到更准确的统计数据来指导内容生产和投放,达到了整个系统最初设计的目标。

  灵活的内容处理流程控制实现后,技术团队又踏上了对中间环节的优化之路,安全审核系统作为整个流程处理环节的重中之重,是保证安全生产的关键一环:面对每天几百万各类新增内容数据,内容审核团队需要足够时间确保安全无遗漏,运营团队希望内容尽快投放给用户。这两个矛盾的需求如何平衡成为了下一个挑战,攻城狮们如何应对,敬请期待。

作者简介

  王怡然,2011年加入网易传媒,目前带领团队专注于基础服务及中间件开发

责任编辑:李旭白_B5841

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
1月22日俄乌最新:跨大西洋关系正式分裂

1月22日俄乌最新:跨大西洋关系正式分裂

西楼饮月
2026-01-22 22:00:51
女子违停竖中指挑衅被撞:正脸被扒已社死,内情流出,司机疑发声

女子违停竖中指挑衅被撞:正脸被扒已社死,内情流出,司机疑发声

社会日日鲜
2026-01-22 00:48:44
越南南北分裂近在眼前,中越两边心知肚明,但中国还想帮越共一把

越南南北分裂近在眼前,中越两边心知肚明,但中国还想帮越共一把

南权先生
2026-01-22 15:46:28
这趟不带活人带死物?美俄都眼红,中国航天不再低调:必须拆了!

这趟不带活人带死物?美俄都眼红,中国航天不再低调:必须拆了!

明天见灌装冰块
2026-01-22 23:34:32
川普应已再次以超乎想象的方式拿到格陵兰三百多万平、以及北冰洋

川普应已再次以超乎想象的方式拿到格陵兰三百多万平、以及北冰洋

邵旭峰域
2026-01-22 16:05:28
北京大妈地铁骂外地人后续:儿子被牵连,身背破包,后悔不敢出门

北京大妈地铁骂外地人后续:儿子被牵连,身背破包,后悔不敢出门

离离言几许
2026-01-23 00:03:15
TOP14位身高170以上的女神,有颜有灯有演技

TOP14位身高170以上的女神,有颜有灯有演技

素然追光
2026-01-02 02:45:02
浙江有人领走88888888马年纪念钞,银行工作人员:号码随机分配,全凭运气

浙江有人领走88888888马年纪念钞,银行工作人员:号码随机分配,全凭运气

环球网资讯
2026-01-22 14:44:45
月月315 | 淘宝购买台达设备,收到变“Taida”;店家:英文没分哪个tai,这个价肯定买不到正品

月月315 | 淘宝购买台达设备,收到变“Taida”;店家:英文没分哪个tai,这个价肯定买不到正品

大风新闻
2026-01-22 17:42:07
女子回乡建厂5年:当初捧着邀请我来,如今被强拆4000万说没就没

女子回乡建厂5年:当初捧着邀请我来,如今被强拆4000万说没就没

今朝牛马
2026-01-16 18:14:40
上映5天票房1100万,吴京投资的新片再次被影迷抛弃,亏本成定局

上映5天票房1100万,吴京投资的新片再次被影迷抛弃,亏本成定局

八卦南风
2026-01-22 11:36:53
高盛被套哭了!刚重仓新进341万股,股价牛市暴跌40%,太惨了

高盛被套哭了!刚重仓新进341万股,股价牛市暴跌40%,太惨了

鹏哥投研
2026-01-23 09:49:47
勇士115-123独行侠 球员评价:梅尔顿满分,5人及格,6人低迷

勇士115-123独行侠 球员评价:梅尔顿满分,5人及格,6人低迷

篮球资讯达人
2026-01-23 11:56:26
释新闻|特朗普“和平委员会”即将举行签约仪式,哪些国家已经拒绝?

释新闻|特朗普“和平委员会”即将举行签约仪式,哪些国家已经拒绝?

澎湃新闻
2026-01-22 17:41:02
福耀科技大学50名大一学生被企业抢光?校长王树国回应:本科生不是目标,要把他们培养成卓越创新人才!曹德旺曾称“对标斯坦福”

福耀科技大学50名大一学生被企业抢光?校长王树国回应:本科生不是目标,要把他们培养成卓越创新人才!曹德旺曾称“对标斯坦福”

每日经济新闻
2026-01-23 00:41:25
央视紧急曝光!商户为降成本,往红薯中投毒,已流窜至全国多地

央视紧急曝光!商户为降成本,往红薯中投毒,已流窜至全国多地

阿器谈史
2026-01-22 17:43:06
北京一男子在超市购买的排骨中吃出注射针头,涉事商家回应:食药监部门已介入

北京一男子在超市购买的排骨中吃出注射针头,涉事商家回应:食药监部门已介入

黄河新闻网吕梁频道
2026-01-22 10:29:14
委内瑞拉和伊朗这一手“反水”,直接给中国上一堂最昂贵的战略课

委内瑞拉和伊朗这一手“反水”,直接给中国上一堂最昂贵的战略课

南权先生
2026-01-16 16:22:00
官方:库明加左膝受伤,提前退出对阵独行侠的比赛

官方:库明加左膝受伤,提前退出对阵独行侠的比赛

懂球帝
2026-01-23 10:10:11
比亚迪起诉博主“大秦军陕团”一案一审判决:博主被判赔偿201万元;曾编造“方程豹‘豹5’百公里油耗18升”

比亚迪起诉博主“大秦军陕团”一案一审判决:博主被判赔偿201万元;曾编造“方程豹‘豹5’百公里油耗18升”

大风新闻
2026-01-22 15:47:16
2026-01-23 12:11:00
网易传媒技术团队
网易传媒技术团队
网易新闻技术团队
40文章数 262关注度
往期回顾 全部

科技要闻

TikTok守住了算法"灵魂" 更握紧了"钱袋子"

头条要闻

面值400元“马钞”卖了3000元 有人报价4600元

头条要闻

面值400元“马钞”卖了3000元 有人报价4600元

体育要闻

跑个步而已,他们在燃什么?

娱乐要闻

刘大锤曝料 将王星越的“体面”撕粉碎

财经要闻

茂名首富,这次糟了

汽车要闻

“四十不惑”的吉利 信力不信命

态度原创

手机
旅游
家居
健康
数码

手机要闻

华为Pura80/Pro/ Pro+系列开启新年礼遇,至高可享1500元优惠

旅游要闻

350余项文旅活动迎新春,临沂文旅邀您“冬享沂蒙过大年”

家居要闻

在家度假 160平南洋混搭宅

打工人年终总结!健康通关=赢麻了

数码要闻

GL.iNet安全网关GL-MT5000发售:支持OpenWRT,569元

无障碍浏览 进入关怀版