最新公告
  • 欢迎您光临欧资源网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入我们
  • 百度构建商品推广系统的核心实现顺序介绍(上)

    简介:从2020年开始,百度开始构建自己的产品推广体系。目前,该系统应用于百家号、直播等场景,为B端商家、C端作者、主播提供便捷的配送流程,为用户提供直观、简单的购物体验。本文按照业务概念、用户界面、系统架构、核心实现的顺序介绍了产品推广系统。

    全文5874字,预计阅读时间12分钟。

    一、推广流程概览

    上次提到过,我描述了订单系统的实现方法和迭代过程。本期以订单系统为基础,继续介绍促销系统的设计与实现。

    商品促销系统是目前电商平台带货业务中比较常见的一种系统。*宝物联盟、*东方联盟、多*金宝等都是类似的产品推广系统。当今社会,随着知识付费、短视频、直播服务的繁荣,公众表达自我的门槛开始降低,越来越多的内容创作者(在短视频时代,大部分内容创作者都是作者)或主播)具有很强的影响力。因此,商家和作者(主播)的产品推广体系非常重要。该产品推广系统连接了BC的两端,极大地解放了生产力。

    产品推广体系以作者(主播)、商家、用户为中心,提供一个可以同时服务于三者的平台。在晋升过程中,不同的角色有特殊的称谓。作者(主机)称为流量主,业务称为广告主。

    (1)交通大师

    商品推广流程的目标是最大化交易。推广产品的一般方法是增加产品曝光率,增加产品点击量。看到产品的人越多,促成交易的可能性就越高。产品推广系统是与有影响力的主播或作者一起推广,从而扩大影响力,通常被称为“带货”。该计划的目的是通过影响有影响力的人,通过品牌效应和名人效应来达到推广产品的目标。参与推广过程的作者或主播被称为“流量达人”,因为他们可以帮助订单系统吸引流量。

    (2)广告商

    在常见的产品推广过程中,为了吸引更多的流量主加入推广,会根据产品的品类为每个订单设计一个佣金率。流量所有者将获得一定比例的佣金返还。分佣金返现金额由商家或平台提供,根据不同场景会有不同的策略。

    对于需要推广产品的商家来说,一个推广过程相当于给产品打了一次广告,但广告不一定来自广告公司,也可能来自不知名的普通人。这些商家角色在推广过程中被形象地称为“广告商”。

    (3)CPS

    随着科技的发展,3G、4G网络让移动支付成为互联网革命的“蒸汽机”,5G和大数据让信息立体化。在两者的基础上,商品推广流程为更多人提供了参与交易的机会。常见的电商平台基本都支持分佣金推广。在电商场景下,分佣金动作一般通过CPS的方式实现。

    CPS 是 Cost Per Sales 的缩写。是产品推广中常用的计费方式。以实际销量计费,更适合购物APP推广,但需要精准流量进行数据统计转换。

    二、百度产品推广流程业务特点

    CPS推广投放共需要3个不同维度的用户来提供服务,分别对应上面的流量主(主播+作者)、广告主(商家)、用户(消费者)。同时,整个CPS推广体系的搭建,也从这三点入手进行功能拆解。它可以分为3个用户界面服务和5个内部核心服务。

    (图一:百度整体投放体系建设)

    (1)三个用户界面

    从图1可以看出,产品推广系统主要有3个用户界面,分别是面向广告主的小程序B端、面向流量主的产品选择界面和面向用户的订单购买界面。下面分别介绍这三个接口。

    在广告主界面部分,小程序的B端服务作为商家端为广告主提供商品注册服务,即广告主可以在小程序后台的界面上激活商品分佣金,进行带货,所以以推广自己的产品。

    (图2:小程序B端投放界面)

    (图3:小程序B端用户收益界面)

    在实际投放过程中,开发者可以作为广告主开通投放,这种方式有一定的开发成本(如当当、亚马逊等);百度还提供一整套开店服务,可以通过极低的成本购买。参与产品推广过程的成本(如度小店)。

    在流量主界面,以百家号和直播生态作为选品服务作为入口,为主播和作者提供方便快捷的产品介绍,在这部分也可以介绍百度自有的系统产品。

    (图4:百家号编辑器选择界面)

    上图是百家号的编辑界面。流量主可以通过编辑按钮添加产品​​,从产品库中选择产品,将产品窗口嵌入到文章中。如果文章中嵌入的产品链接被普通用户点击并成功下单,该订单将被流量大师按照一定的规则算作一次推广。在百家号直播的界面中,还可以选择商品,添加商品链接,这里不再赘述。

    (图5:选品平台选品界面)

    图2,这是百家豪的产品选择界面。可以看到,此次评选不仅包括淘宝、京东、拼多多的分委托产品,还包括了一些具有百度特色的精选库,包括度小店。、当当网、亚马逊、影迷等。用户界面部分与广告商类似。商品和订单界面依靠百度小程序进行展示。这种设计便于在百度APP产品矩阵中分享。在技​​术实现上,广告主的产品界面只需开发一次,即可在所有百度生态APP上展示和推广。

    (图 6:用户界面)

    用户界面主要面向消费者。消费者在观看直播或观看作者文章时,如果直播或文章中包含产品推广,则可以按照图6所示流程进行购买。此时购买的产品来自产品推广系统。

    (2)五项核心服务

    通过梳理用户界面,可以按照功能点划分产品推广系统。在本期的实现中,分为5个核心服务。服务如下表所示:

    五个核心服务中,挂载服务和推广服务是针对商品推广场景重新设计开发的,交易系统、结算系统、资产系统是交易中心已经具备的能力。

    (3)打造具有百度特色的推广流程

    2020年开始小程序开源富文本编辑器,百度开始在集团内部构建产品推广体系。在系统建设过程中,面临诸多技术挑战,主要表现在以下几个方面:

    以上只是上面列出的一些大问题。除了细节之外,还有很多前台看不到,但影响体验的问题。比如主流量打到有效推广后,就要分配佣金。这部分佣金如何计算,分配的佣金如何真正成为流量主的收入?再比如,作为一个广告主,如何量化、刻板地看待自己的推广记录?总是涉及到资金流动,任何人都想仔细观察。

    然而,抛开挑战不谈,CPS推广系统是从交易平台的中端开始的,一开始是站在巨人的肩膀上。依托底层的交易能力,可以快速建立一套CPS来推动落地,并在业务中充分复用已有的能力,包括下单、资金池化、资产核算、提现等。交易底层框架,快速实现功能。

    三、产品推广服务实现

    (图7:挂载服务&&推广服务架构图)

    虽然挂载服务和推广服务在复杂的产品推广系统中扮演着非常重要的角色,但从设计上看,分开拆分后,它们各自的功能其实是比较单一的,这也符合高内联系统之间。聚低耦合标准。

    上图按照层次化设计方法将服务分为4个层次,从上到下,如下:

    业务层:这一层是指抽象服务,是可以扩展的多个服务提供者。不同的服务商从不同的角度接入,包括从广告主、流量主、用户多角度的不同服务。

    接入层:该层主要是指为业务层提供服务的服务网关层。主要功能是流量转发、服务认证和负载均衡。接入层除了常规网关​​的功能外,还在BC(B为商户,C为用户)两侧分离不同的流量。统一交易网关主要负责来自消费者的流量。网关的特点是用户请求量大,但比较简单。因此,对于网关的设计,在非功能性需求方面,性能和安全性是主要考虑因素。其中,电商开放平台(trade.baidu.com)作为商家端的网关入口。这部分网关的流量并没有那么高,

    服务层:该层是核心服务提供者,包括前台和后台的多个服务。

    动态库:产品推广的核心前端组件,主要负责推广数据的上报,需要保证安全性和数据合法性;

    注册服务:这是一个后台服务,提供广告主和流量主的注册和开通,并结合下级商品系统和结算系统提供产品导入和佣金比例设置功能。

    挂载服务:产品注册后提供挂载服务,生成产品窗口链接,验证数据真实性。

    促销服务:产品促销的核心后端组件,对外承担来自动态库的促销记录上报小程序开源富文本编辑器,对内承担来自交易系统的订单和促销判断。

    组件层:该层依赖于length内部的各种中间件来快速实现功能。

    对于推广记录和挂载服务,设计难点在于与整体系统的衔接,业务本身也比较简单。这里值得介绍两部分,一部分是基于动态库的促销记录报表,另一部分是基于数据库的。批量写入的写入优化。

    (1)基于动态库的推广记录报告

    【动态库】是百度小程序提供的一个框架组件,可以绕过方式为小程序提供底层基础能力,如ECharts图表、编辑器富文本编辑器等。产品动态库采用这种绕过设计方式嵌入到开发者的产品详情页面,可以完整获取产品页面的扩展参数。(复制链接查看小程序动态库官方文档:)

    (图8:小程序动态库示意图)

    小程序动态库如上图所示。顶层是订单的购买页面,底层是小程序的运行容器,中间层是动态库。动态库是按需动态加载的基础库。由一些特定的小程序业务平台(如大搜、丰巢等)发布,可以提供业务平台的一些业务功能或约束。动态库具有以下特点:

    由于动态库本身是由交易中心开发维护的,所以促销数据是通过动态库上传的。基于动态库实现数据上报具有明显优势:

    1、遵循开闭原则:避免在订单页面硬编码数据上报。与订单页面完全解耦,无论开发者升级还是上报逻辑更新,互不影响。

    2、换一处,多处使用:小程序动态库可以无缝应用到各种矩阵APP,未来也可以开源应用到外部主机APP。可扩展性和兼容性非常好。

    3、良好的可维护性:由于促销报告与订单页面完全分离,开发无需考虑业务实现和问题,具有良好的可扩展性。

    但是因为动态库是比较底层的实现,俗话说能力越大,责任越大。在动态库的实际开发中,对性能和安全性的要求非常高,动态库的加载不能拖慢开发速度。提单页面。

    至于数据协议,虽然动态库可以独立于订单页面运行,但如何为动态库设计一个广泛使用的数据协议,使其具有良好的可扩展性是一个问题。在实践中,通过对挂载链接功能的改造,实现了服务端生成链接+动态库解析链接的闭环。

    见下图;

    (图9:带cargo链接的动态库闭环)

    挂载服务提供了为产品选择界面生成链接的能力。针对不同的产品,会生成专属流量大师的特定链接,并携带一些扩展参数。这些参数与产品页面一起加载。虽然这些参数不影响产品页面,但它们是动态库加载的必要参数。这些参数包含自我验证机制,如果随意修改,会在报告验证中被发现。针对不同的商户和产品,通过在挂载环节设置不同的参数,可以实现个性化的推广数据上报能力。例如,针对不同类型的服务,点击推广链接,商品详情页停留的时长可以有一定程度的不同。

    数据协议的统一格式也有利于后续判断推广是否成功。例如,可以采用统一的时间窗策略来判断用户对主流量的推广是否成功。对于一些商家来说,此时也可以跳出产品的范畴,直接确定用户。是否打到商家的其他有效促销。

    (2)基于数据库批量写入的写入优化

    促销数据上报具有请求量大、业务相对简单的特点,对促销数据的实时查询需求不那么强烈。在实际开发中,我们使用异步批量写入数据库的机制进行推广服务,以提高性能。

    (图10:批量写写优化)

    现在让我们用上图来说明优化过程。改进前的单写其实是直截了当的单写。每次数据上报,都会进行一个流程,通过控制层、服务层、数据持久层写入数据。这样做的好处是逻辑简单,写入是实时的,适合一般的OLTP服务。但是对于数据上报服务(类似的服务包括管理服务、日志上报等),没有实时查询要求,所以在服务资源有限的前提下,可以通过批量写入来充分利用资源。提高服务的吞吐量。

    右图是优化后的批量写入,本质上是生产者-消费者模型,目的是降低数据库的TPS。图中每收到一条报表记录,就会加入到内存中的阻塞队列中,将同步写入改为异步写入。队列在一定的时间进行一次写入,这样数据库写入的QPS其实大大降低了。

    在交易中心,一般采用横向分表的db设计,促销记录的设计也是如此。数据表根据子表的字段路由存储在不同的数据表中,对于不同的表,也可以分成不同的数据库实例。,并进一步横向扩展。下图为《百度交易中心下单系统架构分析》中的数据分表规则。促销记录以相同的方式分成表格。

    (图11:分表规则)

    对于这种数据库结果,可以在数据库的批量写入中再做一次优化,即对同一个实例和子表记录进行聚合,然后统一执行。这样可以进一步提高数据库的写入效率。

    四、总结

    构建产品推广体系的难点在于业务复杂,建设路径长,需要跨团队、跨部门合作。

    业务梳理之后,对于技术端的实现来说,除了动态库,其他部分的实现复杂度都不算太高。关键在于边界条件的控制,细节的控制是否全面。晋升制度和交易中期,有幸站在巨头的肩膀上乘风破浪,自然事半功倍。

    古往今来,软件开发项目大多按照工作领域分为系统工程师、算法工程师和业务工程师。不管你是哪种工程师,如果你想不负使命,就需要在广度和细节上有所积累。

    – – – – – 结尾 – – – – –

    百度极客说

    百度官方技术公众号上线!

    技术干货·行业资讯·在线沙龙·行业会议

    招聘信息·内推信息·技术书籍·百度周边

    欢迎同学们关注

    站内大部分资源收集于网络,若侵犯了您的合法权益,请联系我们删除!
    欧资源网 » 百度构建商品推广系统的核心实现顺序介绍(上)

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    欧资源网
    一个高级程序员模板开发平台

    发表评论