美文网首页编程交流
程序员面试的短短半小时内,通过500行代码震惊所有高层

程序员面试的短短半小时内,通过500行代码震惊所有高层

作者: 6dd77184077e | 来源:发表于2019-04-24 21:25 被阅读0次

架构设计

整理架构设计

从支付系统、日志系统、用户系统从获取用户的离线数据,保存到Hadoop集群,并对Hadoop集群中的数据进行处理,提炼出基础数据。然后经基础数据存放在Redis中。

从消息中心实时消费支付系统发送出来的支付订单信息,编写storm程序对实时订单信息处理。

storm程序的主要逻辑如下:

从数据库中读取业务配置的规则数据,规则数据从规则配置系统上可视化配置

对订单不同维度的数据进行校验,将触发规则的信息存放到数据库

管理平台从数据库获取触发规则的信息进行处理

功能模块设计

数据收集模块 略,详见Hadoop基础

离线数据处理模块 略,详见Hadoop基础

消息中心模块,略,详见实时计算基础之Kafka增强

Storm程序,负责定时读取规则,实时校验

数据模型,主要是规则模型,将用户配置的规则信息保存到数据库中,以及将触发信息保存到数据库中。

报表系统,略

数据模型设计

condition_order_monitor

用户配置的规则信息,一条规则中有多个条件

FieldTypeComment

IdInt(11) not null

NameVarchar(250) null任务的中文描述

ruleIdVarchar(64) null任务在系统中的唯一编号

CompareVarchar(50) null与字段比较的方式,1:等于2:包含3:大于4:小于

valueInt(1) null同一类型的参数用逗号分隔,不同类型的参数用|分隔 如1,2,3|a,b,c

createUserVarchar(50) null创建的用户

updateUserVarchar(50) null修改的用户

createDateVarchar(50) null创建的时间

updateDateVarchar(50) null修改的时间

rule_order_monitor

分解出针对订单最小判断条件

IdFieldDescgroupdIdcreateUser

1IS_NORMAL_IP用户是否在常用ip下单用户维度Sevnoilem

2IS_NORMAL_DEVICE用户是否在常用设备上下单用户维度(null)

3IS_NORMAL_ADDRESS用户收货地址是否是常用收货地址用户维度(null)

4IS_NORMAL_MOBILE用户收获手机号是否是手机号码用户维度(null)

5IS_CHANGE_ACCOUNT_PASSWD用户近期是否修改过登录密码安全信息(null)

6IS_CHANGE_PAYMENT_PASSWD用户近期是否修改过支付密码安全信息(null)

7IS_CHANGE_MOBILE用户近期是否修改过手机号安全信息(null)

paymentinfo_order_monitor 订单信息

FieldTypeComment

orderIdInt(11) not null订单编号

createOrderTimeVarchar(250) null订单创建时间

paymentIdVarchar(64) null支付编号

shopIdVarchar(50) null支付时间

shopNameInt(1) null商铺编号

shopMobileVarchar(50) null商铺名称

IpVarchar(50) null商铺电话

UserVarchar(50) null商户ip

userMobileVarchar(50) null用户名

products_order_monitor 订单中的商品信息

FieldTypeComment

OrderIdInt(11) not null订单编号

IdVarchar(250) null商品编号

NameVarchar(64) null商品名称

PriceVarchar(50) null商品价格

CategoryInt(1) null商品分类

PromotionVarchar(50) null商品促销价

NumVarchar(50) null商品数量

trigger_order_monitor``rule_order_monitor 触发规则的订单记录

FieldTypeComment

IdInt(11) not null触发编号

OrderIdVarchar(250) null订单编号

ruleIdint(3) null规则编号

createDateTimestamp not null触发时间

updateDateTimestamp not null修改时间

文章最后

怎么快速学C/C++,有什么方法,打算深入了解这个行业的朋友,可以加C/C++学习群:648778840,不管你是小白还是大牛,小编我都欢迎,不定期分享干货,包括小编自己整理的一份2019最新的C/C++资料和0基础入门教程,欢迎初学和进阶中的小伙伴。

每天晚上20:00我都会开直播给大家分享C/C++编程学习知识和路线方法,群里会不定期更新最新的教程和学习方法,大家都是学习C/C++的,或是转行,或是大学生,还有工作中想提升自己能力的前端党,如果你是正在学习C/C++的小伙伴可以加入学习。最后祝所有程序员都能够走上人生巅峰,让代码将梦想照进现实,非常适合新手学习,有不懂的问题可以随时问我,工作不忙的时候希望可以给大家解惑。

相关文章

网友评论

    本文标题:程序员面试的短短半小时内,通过500行代码震惊所有高层

    本文链接:https://www.haomeiwen.com/subject/xringqtx.html