商业化产品经理,是怎么解决素材推送排队的

0 评论 134 浏览 0 收藏 6 分钟

商业化素材推送过程中,投手频繁遭遇素材排队问题,表面看是系统性能瓶颈,实则暗藏重复推送的隐形浪费。本文深入剖析从渠道API对接到批量搭建的全链路,揭示如何通过一个关键的前置判断,实现视频ID的智能复用,一举解决投手效率、系统负载和API调用的三重痛点。

投手先反馈:素材一直卡在排队中

最近在做商业化素材链路时,投手反馈了一个很具体的问题:素材推送太慢,高峰期一直在排队

我们的系统对接快手渠道 API,可以把广告素材推送到快手个人主页,素材推送成功后,快手会返回一个素材视频 ID,这个 ID 是后续批量搭建的前置条件,投手只有拿到它,才能继续建计划、选素材、跑投放

所以这个问题不是“上传慢一点”那么简单,而是会直接卡住投手的搭建节奏

我一开始也以为是系统性能问题

刚听到这个问题时,第一反应也很自然:是不是任务太多了?是不是队列处理不过来?是不是需要技术侧扩容?

这些判断都没错

高峰期推送任务集中,技术侧确实可以通过增加服务器资源、优化任务队列、提升并发处理能力来缓解

但我没有马上把问题完全丢给技术,而是先去看了一遍完整链路:从素材发起推送,到快手返回视频 ID,再到投手批量搭建

看完之后,我发现队列里有一类任务很“可惜”

真正的问题:有些素材其实已经推送过了

有些素材之前已经成功推送到快手个人主页,系统里也已经有了对应的视频 ID

但当投手再次发起批量搭建,或者重新选择这批素材时,系统还是会把它们重新丢进推送队列

也就是说,队列里并不全是“新素材推送任务”,还混着一部分“已经成功过、但又被重复推送”的任务

这类任务对业务没有新增价值,却会占用队列资源和渠道 API 调用次数,更关键的是,它会把真正还没推送过、急需拿到视频 ID 的素材往后挤

我重新问了一个问题:投手到底在等什么?

如果问题被定义成“素材推送慢”,解法大概率就是加资源、提并发、优化任务调度

但我换了一个角度问:投手真正等的是什么?

答案不是“等素材再推送一次”,而是“等一个可用于搭建的快手视频 ID”

那如果这个视频 ID 已经存在,为什么还要再推一次?

这个问题想清楚后,产品方案就变得很明确:推送前先判断,已成功推送过的素材,不再重复推送

最终方案:已有视频 ID,直接复用

我设计的逻辑是:当用户发起素材推送或批量搭建时,系统先判断这条素材是否已经成功推送过快手渠道

如果已经成功,并且系统里有快手返回的视频 ID,就直接复用这个 ID,进入后续搭建流程

如果没有推送过,或者之前推送失败、没有拿到视频 ID,再进入正常推送队列

优化后的链路变成:

发起搭建 → 判断是否已有快手视频 ID → 有则复用 → 无则推送 → 推送成功后回写 ID → 继续批量搭建

这个小判断,实际解决了三个问题

这个方案看起来只是加了一个前置判断,但实际影响挺明显

对投手来说,已经推送过的素材不用再排队,批量搭建可以更快继续

对系统来说,重复任务减少了,高峰期队列压力会下降

对快手渠道 API 来说,也减少了无效调用,避免把接口频控和系统资源浪费在已经完成过的素材上

这不是一个特别复杂的功能,但它解决的是链路里的无效消耗

这次事件给我的启发

这次让我更明显地感受到,商业化产品经理不能只看“流程有没有跑通”,还要看“流程是不是高效”

很多问题表面上是技术性能问题,但产品侧也有可以做的事情

比如:

有没有重复动作?

有没有已经存在的数据可以复用?

有没有任务其实不该进入队列?

用户真正等待的,到底是某个动作,还是某个结果?

这次我们没有只想着“怎么让系统推得更快”,而是先判断“这个素材还需不需要再推”

在素材、投放、渠道 API 这种复杂链路里,这类判断很小,但对效率的影响很真实

本文由 @Allen 原创发布于人人都是产品经理。未经作者许可,禁止转载

题图来自Unsplash,基于CC0协议

更多精彩内容,请关注人人都是产品经理微信公众号或下载App
评论
评论请登录
  1. 目前还没评论,等你发挥!