人脸打卡考勤系统
2022-01-27 20:19:37 81 举报
人脸打卡系统
作者其他创作
大纲/内容
配置管理系统
统一认证服务
登录:1:客户端发起登录请求,通过网关转发到服务端。2:验证用户的erp合法性3:调用统一认证服务进行用户身份认证。客户端添加新用户到系统:1:发送人员信息身份信息和用户头像照片到服务器,2:用户通过接口鉴权用户身份信息3:提取用户头像特征码并保存用户头像和相关特征信息到数据库,并更新内存中的数据。4:通过MQ消息机制通知集群中的所有服务器进行内存更新操作。5:同步用户数据到统一帐号和考勤系统中.用户打卡:1:用户上传头像到服务器2:提取用户头像特征码3:根据选择的仓库定位到对应的服务器集群进行特征码对比,按照特征计算出相似度。4:找出对应的用户erp调用考勤系统接口进行打卡操作。
MySQL
人脸资料存储
人脸数据库
JSF
缓存(K-V存储)
UMP监控
API Gateway
Redis
人脸定位
统一认证
存储
持久化存储
接口
APP
身份证认证
调用考勤系统
特征对比
外围系统
注册申请
特征提取
签到完成
识别失败
员工
图片采集
登录认证
HTML5
识别成功
JNA
分库内存2
前端
订阅服务
统一帐号
HTTP/HTTPS JSON
clover定时任务(打卡失败,定时重试)
JSF接口
选择库房
JFS图像存储
提取特征码 so
考勤系统
同步用户
难点:1:当用户进行了增加,删除,修改仓库的时候需要同步通知特征对比服务,修改内存中的用户数据,决定采用spring的jms的消息订阅模式来进行消息的通知(进一步咨询公司jmq是否提供订阅模式)2:跨库打卡,因为打卡的时候已经提前选择的库房,如果该员工不是属于该库房的人员,那么打卡的时候进行特征对比的时候则会比对失败,方案1:遍历所有分块内存进行比对,该方法会比较耗时,用户使用感受不好方案2:失败的时候提示用户选择仓库,如果用户不知道自己归属的仓库,则没有办法进行处理。方案3:失败的时候提示用户输入erp,通过调用统一帐号接口获取用户的仓库,再进行特征识别打卡。3:由于特征对比需要数据保存在内存中进行比对,经过计算2万人大概消耗32M内存,所以10万人大概需要占用160M内存,从机器硬件上来说没有什么负担。4:由于现在的图像识别采用的是特征码提取的方式进行的对比,该方法比较老,识别率低,所以后期需要改造该算法,现在该算法直接封装在so中,java通过jna进行调用
分库内存1
生成考勤表
订阅模式,通知所有的服务进行内存图像更新操作
服务
配置管理
登录:1:客户端发起登录请求,通过网关转发到服务端。2:验证用户的erp合法性3:调用统一认证服务进行用户身份认证。客户端添加新用户到系统:1:发送人员信息身份信息和用户头像照片到服务器,2:用户通过接口鉴权用户身份信息3:提取用户头像特征码并保存用户头像和相关特征信息到数据库,并更新内存中的数据。4:通过SPRING JMS订阅模式,通知集群中的所有服务器进行内存更新操作。5:同步用户数据到统一帐号和考勤系统中.用户打卡:1:用户上传头像到服务器2:提取用户头像特征码3:根据选择的仓库定位到对应的服务器集群进行特征码对比,按照特征计算出相似度。4:找出对应的用户erp调用考勤系统接口进行打卡操作。
人员信息同步
订阅通知更新用户信息
管理员
客户端网关系统
Hbase
Android/IOS
根据仓库进行分表
分库内存n
图像上传逻辑处理
通信接口
SPRING JMS
数据存储
收藏
收藏
0 条评论
下一页