工作主要模块:
(1)视频桩驶入流程:
车辆驶入泊位->视频桩抓拍->Kafka 报文及图片上传->解析, 校验报文正确性, 日志(mongo), 校验序列锁
(redis:rangeByScore),
订单锁(range)->报文加锁处理业务->保存一些订单,图片信息->是否低置信度->校验车场是否开启 OCR 识别(低:人工审核)->
是否有泊位缓存(个订单相差是否大于 20 分钟 ,内:无效缓存订单并缓存新订单)->保存停车缓存->数据同步ElasticSearch->形成驶入订单
(2)视频桩驶出流程:
车辆驶入泊位->视频桩抓拍->Kafka 报文及图片上传->解析, 校验报文正确性, 日志(mongo), 校验序列锁,订单锁(range)->报文加锁处理业务->泊位缓存是否存在(否:报文丢弃)->驶入订单是否存在(否:丢弃)->驶 入时间小于驶出时间
(否:丢弃)->验证驶入驶出序号是否一致(否:丢弃)->驶入订单是否审核中(是:审核状态进入人工审核)->->数据 同步 ElasticSearch->形成驶入订单
(3)数据报表处理
统计停车订单的区域,车场名称,占用率,平均率,服务车次,订单各种金额等。
flume+kafka+sparkStream+Hbase(做数据统计)
(4)山东高速 ETC 支付
驶出 -> 查询黑名单(业务处理,解析返回报文,返回参数,是:其他支付) ->支付信息上传->回调成功(存mongo 日志,处理交
易信息)->车辆加锁(range),计算缴费明细,保存入库(等待 5 秒后循环重试,直到成功为止)->同步交易数据至ES->释放车辆锁
运用技术:
●框架:dubbo+zookeeper+nacos+mybatisplus+kafka+elasticsearch+redis+mongo+mycat(mysql)等
●权限:Security+jwt
●报表:flume(收集日志)+kafka(处理报文)+sparkStream(计算处理数据)+Hbase(存储数据,读
●车辆驶入驶出:kafka(发送,接受消费报文), mongodb(数据库存储信息,重要日志),redis,Elasticsearch(同步,查询,三节点,每个节点一分片,和另外节点一个副本,数据
1.2 亿,数据冷热处理,es 设计,存储,读取优化)