1 立项背景
在钢铁、水泥、煤炭、化工等涉及大宗物料进出的大型企业中,物流门禁是生产运营的第一道和最后一道关口。根据环保要求管控统一管理该类企业进出车辆排放,所载货物的情况。
2.项目目标
构建一个从入厂车牌识别开始到出厂得意系列车辆信息的管控,为企业的评优提供客观数据条件。
3.业务流程
1、添加企业信息
2、添加设备道闸,监控等信息
3、添加车辆(扫码录入)
4、车辆通行上报
1、架构设计思路:分为一下几步
守护进程(go+gin):
负责程序的自动更新以及防止程序被意外停止。
服务端(NetCore):
(1)、核心层:负责服务的依赖注入、EFCore封装以及实现通过特性标签的方式使框架实现对功能的模块化调用
(2)、实体对象层:将查到的数据进行对象化处理
(3)、枚举层
(4)、服务层:数据库交互层,通过核心层实现的EFCore仓储对数据库进行操作
(5)、任务层:实现针对海康大华等SDK的布防调用,来获取车牌识别数据
(6)、web层:针对客户端提供功能实现接口
(7)、Entry入口层:微信公众号可视化页面实现
客户端(NetCore):
主要是以WPF+MVVM架构进行实现。
2、负责模块和结果
负责模块:该项目为单人独立开发
结果:目前在陕西,安徽,河南等地已部署200+套
3、遇到难点和坑
(1)、自己独立搭建框架主要一点是可拓展性。
解决方案:借用了furion的框架实现思想,通过特性+反射的方式实现对不同功能的动态调用
(2)、内存容易崩溃问题
出现原因:最初调用为全局注入,使的整体框架数据会整体重新加载。导致程序在为得到垃圾回收时内存会激增
解决方案:全局调用改为作用域调用。