#服务运行的环境 ##一、运行需要的基本环境库 在C盘放了一个lib文件夹,里面放了服务运行的基础库,每台有海康服务的服务器上都有这个文件;
##二、服务运行的核心库 和人脸机直接通信的服务功能全在CMSServer类里面,run方法是服务在运行的时候,会自动执行注册服务、图片服务、报警服务的初始化, 分别对应initCMS()、initSS()、initAlarm(),里面的方法不用做修改; CMS(注册服务):设备注册该服务的IP和端口,在FRegisterCallBack注册回调接口中接收注册信息,并响应报警服务器和图片服务器的ip和端口; HCEHomeSS(图片服务):createImgPath()方法生成图片服务路径,生成后可以下发给人脸机使用; initAlarm(报警服务):EHomeMsgCallBack回调方法会监听设备的各种报警信息,目前主要是对人脸识别成功做了记录,其余的方法可以参考PDF文件或者AlarmUtil类;
##三、下发人员信息流程 CMSServer方法封装了下发的方法,只需要调用就行,xml的字段和格式不需要去改变; 直接调用createImgPath() 方法,里面执行了人脸图片路径生成和下发对应卡号的操作;
##四、下发人脸和权限的API接口 由于之前图片传的是本地的绝对路径,所以在100服务器上部署了一个接口服务,对应的接口控制器为UserControl, UserControl内部有逻辑处理,如果人脸机注册在100服务器上,就会直接对人脸机做下发人脸、报警信息处理等操作, 如果没有注册在100服务器上,内部会调用api接口访问253上的接口,253上的服务会对注册的人脸机做响应操作,调用的 控制器对应FileControl,这些控制器都在这同一个服务中; 下发权限:默认会发全天的权限;
##五、部署到不同服务器中需要注意什么? 唯一要注意的就是修改CMSServer服务中的ip_cloud值,改成对应服务的公网ip;
##六、UserControl的主要接口方法 sendPermiss():下发权限,这个是在最新的人脸一体机和教师点名中使用方式上会用到,注册上来的人脸机设备id会以ytj开头,注意如果出现人脸和权限都下发了的情况还是提示没有权限,那就再发一遍权限,有些机型需要先发人脸再发权限; sendUsersAndPermiss():教师点名中用到了这个方法; sendToKB():人脸抓拍机会把抓到的人脸信息推送到数据看板,这个用来做测试用; sendCardAndImg1():单个下发人脸的接口 sendFaces():下发学校下所有人脸给指定设备; sendErrorFaces():下发失败的人脸; sendFaceNotExits():下发学校下还没有下发的人脸给指定设备; sendFaceToDevices():下发单个用户给指定设备 deleteCard():删除人脸
##七、配置信息修改 application.yaml,该文件下包含了数据库配置、注册中心、数据库文件映射等信息,端口号、服务名也都是在这里修改;
##八、无感考勤 无感考勤主要在CMSServer服务中,在PSS_Storage_Callback回调接口中处理抓拍到的图片, 这里会回调人脸机抓拍到的任何图片,要怎么区分是人脸机抓拍的还是抓拍机抓拍的图片呢? 目前对接的情况来看,抓拍机抓拍到的图片名字是很长的一串,里面包含了设备编号、日期等, 目前是判断是否包含日志的标识符T来判断是抓拍机抓拍的图片; 然后在sendToKB()方法中去百度人脸库比较对应学校下的人脸信息,比对出来之后通过MQ推送到关联的数据看板; 推送的图片包含了 两种:一种是识别到的,另一种是识别不到的陌生人;