商家信誉体系

1.日志上报格式

 1.用户APP日志上报格式

字段类型字段字段名

 

 

 

 

 

 

 

 

 

 

通用字段

uuid用户唯一标识
v_nameAPP版本
user_id用户ID
imei设备IMEI号
ss设备屏幕大小
a_os_v安卓系统版本
ios_v苹果系统版本
brand设备品牌
model设备型号
nw网络(wifi=nw,2g,3g,4g)
mac设备mac地址
lon经度
lat维度
tt事件发生时间戳(毫秒)
ipIP地址
pr
ci
di

 

业务字段

 

 

 

ev_type事件类型(点击:C)
ev_id事件ID
store_id店铺ID
goods_info_id货品ID
times使用时常、曝光时长

2.商户APP日志上报格式

字段类型字段字段名

 

 

 

 

 

 

 

 

 

 

通用字段

uuid商户唯一标识
v_nameAPP版本
store_id商户ID
imei设备IMEI号
ss设备屏幕大小
a_os_v安卓系统版本
ios_v苹果系统版本
brand设备品牌
model设备型号
nw网络(wifi=nw,2g,3g,4g)
mac设备mac地址
lon经度
lat维度
tt事件发生时间戳(毫秒)
ipIP地址
pr
ci
di

业务字段

 

 

 

 

ev_type事件类型(点击:C)
ev_id事件ID
times使用时长、曝光时长

3.商户WEB日志上报格式

字段类型字段字段名

 

 

 

 

通用字段

uuid商户唯一标识
store_id商户ID
browser浏览器
br_v浏览器版本
tt事件发生时间戳(毫秒)

业务字段

 

 

 

 

ev_type事件类型(点击:C)
ev_id事件ID
times使用时长、曝光时长

 

2.架构图

       埋点数据通过Collector收集因子数据,经过logstash有两个输出,落入ES做报表分析,发送因子消息到MQ作为信誉体系的源数据。

       存量数据分为两部分,店铺数据和因子数据,店铺数据在店铺有信息变更时,通过发送店铺消息到MQ,因子数据在相关行为触发时,实时发送因子消息到MQ。

       MQ的数据由信誉体系核心系统(埋点系统放到一起)消费,存储到数据库,定时计算用户信誉分支。

3.MQ队列

消息格式:

因子消息

字段

字段名

类型

msgId消息IDString
storeId店铺IDLong
factorId因子IDLong
factorExpand因子扩展字段String
comment备注String
timestamp时间戳Long

店铺消息

字段

字段名

类型

msgId消息IDString
id店铺IDLong
name店铺名字String
bizType店铺类型String
status店铺状态Byte
comment备注String
timestamp时间戳Long

埋点消息

字段

字段名

类型

msgId消息IDString
ev_id事件IDString
storeId店铺IDLong
goods_info_id货品IDLong
timestamp时间戳

Long

 

队列名

数据源

消息格式

说明

store_edit_queueOlink店铺消息监听店铺状态数据变更
credit_factor_queueOlink、shop-web、shop-api因子消息因子触发时,发送消息
burying_sys_queueCollector埋点消息 


        为避免重复消费,需生成全局唯一的msgId。

生成策略1:

        日期 + redis当日自增

缺点:依赖于redis,一旦redis中数据有丢失,没有可靠的重新载入机制。

生成策略2:

        时间戳 + redis自增

生成策略3:

        MD5(UUID() + timestamp + factorId)

缺点:不能保证全局唯一

 

生成策略4:

       时间戳 + 机器号 + 机器自增ID

4.信誉体系核心系统

       数据存储

              因子数据:参考当前埋点数据,五月份只有160M(26W条)的数据量,每天大概有1W条数据。因子数据1K大小,考虑平台的数据增长,预估每天有10W(100M)条因子数据,一个月有300W(3G)。

      这部分数量增长不可控,具有时效性,选择将其放入Elasticsearch中按月分索引存储,方便将数据淘汰且不会丢失(关闭过期索引即可),易于扩容且利于数据做聚合分析。

             店铺每日因子基数:每个月3KW=店铺数量(4W)*因子数(24)*天数(30),其为中间结果数据,且数据增长可控(与店铺、因子个数线性相关,不会爆发式增长),可以定时清除数据。

       系数数据来源:SQL初始化。初始化后保存修改版本,版本号加入日期,若当日有多次修改,只保存当日最终修改的数据。

       信誉分值计算:每天凌晨计算前一天的店铺信誉分值、店铺每个因子的基数、所有店铺总的因子基数、保存当日使用的系数版本号。

 

数据库表:店铺因子源数据表(ES)、店铺数据表、店铺因子系数版本表、店铺因子每日基数表、店铺信誉得分表、每日信誉设置表(基数、因子系数版本)。

5.信誉体系计算引

6.部署

7.数据初始化

初始化

        埋点因子数据:没有数据可供初始化。

        存量因子数据:Olink、Shop-Web分别提供存量因子初始化接口,发送数据到初始换的MQ队列,由商家信誉核心系统触发。

        店铺数据:由Olink初始化,初始化策略与存量因此数据一致,自营店铺数据需SQL初始化。

商家信誉核心系统状态:正常 (接受同步数据、不接受初始换数据)、格式化中格式化完成(不接受任何数据)、初始化(接受初始换数据)

8.故障修复监控

    MQ连接断开:发送失败的数据写入本地文件缓存,邮件提醒,恢复正常后重新发送。

    Collector时间异常,接口检验失败:增加错误检验失败统计,设置阈值警报;将时间戳异常的数据单独按日存储,同时保存服务器时间戳、及客户端时间戳,待时间恢复正常后,手动调用接口处理此类数据,接口参数为服务器异常时间于正常时间的差值。

    信誉分值重算: 线上环境不可预测,提供重新计算某天的信誉分值功能,用于补全修复数据。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值