推荐策略平台

推荐策略平台

一、项目背景与目标

1、背景概况
  •  推荐业务接⼝内部逻辑⿊盒,且耦合在⼀起,重⽤困难,开发⾮常耗时。
  • 接⼝协议按需制定,没有标准化,新来一个业务开发完接⼝都要重新找⼈对接⼀遍
  • 越来越多的业务推荐业务场景,开发效率慢,重造轮子成本明显太高
2、目标成果 
  • 减少⼈力和时间成本:对接通⽤接⼝,只需一份⽂档即可对接,减少沟通成本;拆成模块,配置成图即完成⼀个业务,提高搭建服务效率
  • 为决策提供便利:决策者可通过业务流程图,结合报表,调整和优化⽅方案,摆脱业务泥潭,专注推荐策略
  • 化零为整:平台将以前零散业务整合,节约资源,减少维护成本,集中提升服务质量和性能

二、设计文档

1 推荐策略平台核心,是⼀个DAG执行流程图,每个节点称为模块(Model),由一 个DataFlow对象(包含请求、结果、用户画像、物品画像、图节点状态等字段)贯穿整个图所有模块。DAG脚本以及生成图如下:
 
//DAG脚本简单示例 
StartModel,Test1Model 
StartModel,Test2Model
Test2Model,Test3Model 
Test1Model,Test3Model
 

 

 
2、⼤框架 adminservice组成
 

 

  1.  admin⾯向用户操作,编辑“业务场景”,构造⼀个“项⽬”;编辑“项目”,构造由“模块”组成的DAG图脚本。
  2. service是服务架构层,作为dubbo provider对外提供rpc服务。只有⼀个rcmd 接口,由bzCode_sceneCode(业务_场景)区分不同推荐业务  
  3. service定时加载admin编辑好的配置文件,通过bzCode_sceneCode找到 project,进⽽找到DAG图脚本,深度遍历执行每个node(即model)。

三、管理后台主要模块如下

模块管理:平台主要设计管理各个模块,包括上线下线,策略主要是将这些模块整合成一个完整的服务,模块管理如下图所示:

 

 
业务场景管理—按不同业务场景分项目管理:包括上线、下线、预发等等
 
 

 

项目与模块 的关系 :项目由各个模块 组成,组成一个dag计算图,完成一个策略服务;

项目与场景的关系 :一个场景如一个首页推荐场景,也可以是首页场景里某一个样式数据。粒度可以比较灵活,因为整个设计里还可以图调图,也就是在DAG图里,某一个模块可以是另一个DAG图。然后场景可以由多个项目组成,一种策略服务成组一个项目,一个场景下如果有多种策略并行就会多个项目同时在线。

 

 

 

 

 

      
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值