全部产品
存储与CDN 数据库 安全 应用服务 数加·人工智能 数加·大数据基础服务 互联网中间件 视频服务 开发者工具 解决方案 物联网 钉钉智能硬件
流计算

实时路径追踪

更新时间:2017-06-07 13:26:11

问题背景

用户的访问日志保留了很多用户的偏好和行为,通过实时追踪用户访问路径,跟踪用户行为,判断当前产品设计缺陷。例如,客户在电话咨询客服部门前,客服可以通过实施路径追踪知道用户在最近一天在当前网站访问路径,以方便客服部门有针对性的解答客户问题。

注: 用户访问的漏斗分析应该在离线计算解决,但实时路径追踪一般通过流计算解决。

解决方案

用户访问日志集中在ECS上,选择使用Logstash+DataHub可以完成日志数据采集作业。DataHub的Topic定义如下:

字段名 类型 注释
uid String 用户ID
click_time String 访问时间,格式为yyyy-MM-dd HH:mm:ss
click_url String 访问URL

用户的行为数据需要按照用户粒度,以时间范围进行高并发低时延,我们推荐使用OTS保存用户数据,OTS表格式设计如下:

字段名 类型 注释
uid String 主键PK,用户标示符
click_time String 主键PK,访问时间,格式为yyyy-MM-dd HH:mm:ss
click_url String 访问URL

对于每条日志,使用流计算进行简单清洗即可写入OTS:

  1. repalce into OTS
  2. select
  3. uid,
  4. click_time,
  5. click_url,
  6. from
  7. click_stream
  8. where
  9. length(trim(uid)) <> 0 and
  10. length(trim(click_url)) <> 0 and
  11. date_format(click_time, 'yyyy-MM-dd HH:mm:ss') = click_time

在线系统请求访问OTS时,使用uid,以及click_time的范围区间,即可查询出该uid用户,在指定区间范围内搜索其访问路径,并以click_time顺序展现给前端。

本文导读目录