排序服务流程

本文涉及的产品
云数据库 Tair(兼容Redis),内存型 2GB
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
简介: 【8月更文挑战第7天】

排序服务流程
前置知识:
item:指要排序的物品,可以是游戏、视频、广告等
特征
用户特征
用户的一些特征,比如用户的性别、年龄、最近玩的x个游戏
item特征
物品的一些特征,以游戏为例的话,就是游戏的点击次数、游戏包名、游戏评分等
交叉特征
用户和物品的交叉特征
比如用户是否是第一次玩这个游戏
召回
选取一批特定的Item进入后续流程
serving召回
带着用户特征请求召回服务,拿到一批Item的Id
item特征会在召回服务里查,请求参数里无需携带
适用场景:根据不同的用户和不同的模型label(维度)召回,实现个性化的推荐
策略召回
根据策略获取一些Item列表,通常从本地缓存里获取
适用场景:一些适用于所有/特定用户的Item列表
具体实现:

  1. Redis+自定义本地缓存:将Item的唯一标识Id存在Redis的List列表里,结合本地缓存完成召回过程。请求的时候,如果本地缓存里没有数据,就去请求Redis,并且将数据存储在本地,并设置过期时间;下次请求来的时候直接读取本地缓存,减少Redis访问次数。
  2. atomic.Value:借助原子变量存储,数据源可以是Redis或MySQL或其他关系数据库
    粗排
    召回的items经过一定的强制过滤以后,需要用粗排简单筛一批出来进精排
    带着 用户特征和一批item的id请求粗排服务,item特征会在粗排服务里查,请求参数里无需携带
    精排
    对粗排后的items根据final-socre进行截断,请求精排模型进行打分
    请求参数包括用户特征、item特征以及交叉特征
    重排
    进行冷启动、保送等一些业务上的操作逻辑

冷启动
具体做了分层策略

相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
目录
相关文章
|
11月前
各种基础排序的超详细解析及比较
各种基础排序的超详细解析及比较
36 0
|
3月前
去重Cube的优化实践问题之直接计算去重类指标的方法具体问题如何解决
去重Cube的优化实践问题之直接计算去重类指标的方法具体问题如何解决
|
4月前
|
算法 搜索推荐
数据结构和算法——表排序(算法概述、物理排序、复杂度分析,包含详细清晰图示过程)
数据结构和算法——表排序(算法概述、物理排序、复杂度分析,包含详细清晰图示过程)
29 0
|
5月前
第六章 利用数组处理批量数据
第六章 利用数组处理批量数据
25 0
|
5月前
2569. 更新数组后处理求和查询(模板 + 普通线段树熟练掌握)
2569. 更新数组后处理求和查询(模板 + 普通线段树熟练掌握)
|
5月前
|
算法 测试技术 C#
【模拟】【C++算法】2826. 将三个组排序
【模拟】【C++算法】2826. 将三个组排序
|
5月前
|
前端开发 索引
前端常用去重的几种方式
前端常用去重的几种方式
74 0
|
JavaScript
数组双重去重的方式四先排序在对比
数组双重去重的方式四先排序在对比
44 0
|
SQL 移动开发 BI
【SQL开发实战技巧】系列(二十三):数仓报表场景☞ 如何对数据排列组合去重以及通过如何找到包含最大值和最小值的记录这个问题再次用执行计划给你证明分析函数性能不一定高
怎样对数据组合重新排列并去重的问题、通过如何找到包含最大值和最小值的记录这个问题再次用执行计划给你证明分析函数性能不一定高【SQL开发实战技巧】这一系列博主当作复习旧知识来进行写作,毕竟SQL开发在数据分析场景非常重要且基础,面试也会经常问SQL开发和调优经验,相信当我写完这一系列文章,也能再有所收获,未来面对SQL面试也能游刃有余~。本篇文章主要介绍的两个方面,第一个方面曾经有好几个网友和同事问我,第二个问题真的是很多同行的通病,认为分析函数是万金油,一股脑用。
【SQL开发实战技巧】系列(二十三):数仓报表场景☞ 如何对数据排列组合去重以及通过如何找到包含最大值和最小值的记录这个问题再次用执行计划给你证明分析函数性能不一定高
|
存储 数据挖掘 BI
【python数据分析】数据的分组,遍历,统计
数据的分组,遍历,统计 俗话说:“人与类聚,物以群分”,到这里我们将学习数据的分组以及分组后统计。Pandas的分组相对于Excel会更加简单和灵活。
【python数据分析】数据的分组,遍历,统计