人脸打卡考勤系统
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 条评论
 下一页
  
  
  
  
  
  
  
  
  
 