程序员面试的短短半小时内,通过500行代码征服HR顺利通过面试。
架构设计
整理架构设计
从支付系统、日志系统、用户系统从获取用户的离线数据,保存到Hadoop集群,并对Hadoop集群中的数据进行处理,提炼出基础数据。然后经基础数据存放在Redis中。
从消息中心实时消费支付系统发送出来的支付订单信息,编写storm程序对实时订单信息处理。
storm程序的主要逻辑如下:
从数据库中读取业务配置的规则数据,规则数据从规则配置系统上可视化配置
对订单不同维度的数据进行校验,将触发规则的信息存放到数据库
管理平台从数据库获取触发规则的信息进行处理
功能模块设计
数据收集模块 略,详见Hadoop基础
离线数据处理模块 略,详见Hadoop基础
消息中心模块,略,详见实时计算基础之Kafka增强
Storm程序,负责定时读取规则,实时校验
数据模型,主要是规则模型,将用户配置的规则信息保存到数据库中,以及将触发信息保存到数据库中。
报表系统,略
数据模型设计
condition_order_monitor
用户配置的规则信息,一条规则中有多个条件
Field
Type
Comment
Id
Int(11) not null
Name
Varchar(250) null
任务的中文描述
ruleId
Varchar(64) null
任务在系统中的唯一编号
Compare
Varchar(50) null
与字段比较的方式,1:等于2:包含3:大于4:小于
value
Int(1) null
同一类型的参数用逗号分隔,不同类型的参数用|分隔 如1,2,3|a,b,c
createUser
Varchar(50) null
创建的用户
updateUser
Varchar(50) null
修改的用户
createDate
Varchar(50) null
创建的时间
updateDate
Varchar(50) null
修改的时间
rule_order_monitor
分解出针对订单最小判断条件
Id
Field
Desc
groupdId
createUser
1
IS_NORMAL_IP
用户是否在常用ip下单
用户维度
Sevnoilem
2
IS_NORMAL_DEVICE
用户是否在常用设备上下单
用户维度
(null)
3
IS_NORMAL_ADDRESS
用户收货地址是否是常用收货地址
用户维度
(null)
4
IS_NORMAL_MOBILE
用户收获手机号是否是手机号码
用户维度
(null)
5
IS_CHANGE_ACCOUNT_PASSWD
用户近期是否修改过登录密码
安全信息
(null)
6
IS_CHANGE_PAYMENT_PASSWD
用户近期是否修改过支付密码
安全信息
(null)
7
IS_CHANGE_MOBILE
用户近期是否修改过手机号
安全信息
(null)
paymentinfo_order_monitor 订单信息
Field
Type
Comment
orderId
Int(11) not null
订单编号
createOrderTime
Varchar(250) null
订单创建时间
paymentId
Varchar(64) null
支付编号
shopId
Varchar(50) null
支付时间
shopName
Int(1) null
商铺编号
shopMobile
Varchar(50) null
商铺名称
Ip
Varchar(50) null
商铺电话
User
Varchar(50) null
商户ip
userMobile
Varchar(50) null
用户名
products_order_monitor 订单中的商品信息
Field
Type
Comment
OrderId
Int(11) not null
订单编号
Id
Varchar(250) null
商品编号
Name
Varchar(64) null
商品名称
Price
Varchar(50) null
商品价格
Category
Int(1) null
商品分类
Promotion
Varchar(50) null
商品促销价
Num
Varchar(50) null
商品数量
trigger_order_monitor``rule_order_monitor 触发规则的订单记录
Field
Type
Comment
Id
Int(11) not null
触发编号
OrderId
Varchar(250) null
订单编号
ruleId
int(3) null
规则编号
createDate
Timestamp not null
触发时间
updateDate
Timestamp not null
修改时间
获取方式:
1.在你手机的右上角有【关注】选项,或点击我的头像,点击关注!(关注我)
2.关注后,手机客户端点击我的主页面,右上角有私信,请私信发我:编程
电脑已经设置好了关键词自动回复,自动领取就好了!这几天上万个消息,真的回复不过来,所以回复的时候请注意关键词!
其实做为一个开发者,有一个学习的氛围跟一个交流圈子特别重要这里请私信我“编程”不管你是小白还是大牛欢迎入住大家一起交流成长。小编会在里面不定期分享干货源码,包括我精心整理的一份c++零基础教程。欢迎各位感兴趣的的小伙伴。
学习思路:
学习资料: