人脸搜索能力管理系统技术方案

技术编号:23852281 阅读:25 留言:0更新日期:2020-04-18 09:16
本发明专利技术提供一种人脸搜索能力管理系统,包括:ICMS服务节点,用于对外提供HTTP服务,对内管理上线的NSS服务节点和所有NSS上报的人脸库信息(人脸库信息包括人脸库名和人脸数量),同时提供转发请求至NSS的路由服务;NSS服务节点,用于提供节点搜索服务,同时也是人脸数据存储和管理节点;Zookeeper服务节点,用于管理节点上线下线,并管理ICMS服务节点上线节点信息并通知NSS服务节点连接ICMS服务节点;RabbitMq服务节点,用于提供信息持久化队列服务,使得增加/删除数据一致性。本发明专利技术的能力管理系统,可人脸搜索业务量越来越大,结构不易扩展的不足问题。

Face search capability management system

【技术实现步骤摘要】
人脸搜索能力管理系统
本专利技术涉及人脸识别
,具体而言涉及一种人脸搜索能力管理系统。
技术介绍
人脸搜索技术即根据传入的人脸特征数据,在对应人脸库中计算所有的欧式距离并找出距离最小的那个特征,此最小特征对应的那个人脸标识即为要搜索输出的人脸。现有技术解决方案采用全量数据存储方式,即每个计算节点保存所有的人脸数据。根据特征搜索量大小部署两个或多于两个计算节点满足业务需求。增加删除数据采用RabbitMq组件来保证数据的强一致性。欧式距离计算使用的cpu指令加速,数据存储为内存存储和二进制文件持久化。人脸特征和人脸标识分别存储不同的数据结构和文件中,通过索引顺序结构一一对应。然而,在实际操作中,现有的方案存在结构不易扩展的缺陷。当业务量越来越大时,就需要增加计算节点。因为数据采用全量存储方式,所以就需要拷贝全量数据到新的计算节点,并且要在调用侧增加新节点的信息。这种方式不能动态地增加和删除计算节点,每增加或删除一个计算节点就需要拷贝全量数据和修改调用侧的计算节点信息,调用侧不能无感知的调用接口。
技术实现思路
本专利技术目的在于针对现有技术存在的问题,解决业务量越来越大,结构不易扩展的不足,提出一种人脸搜索能力管理系统。为实现上述目的,本专利技术采用的技术方案如下:一种人脸搜索能力管理系统,包括:ICMS服务节点,用于对外提供HTTP服务,对内管理上线的NSS服务节点和NSS服务节点上上报的人脸库信息(人脸库信息包括人脸库名和人脸数量),同时提供转发请求至NSS服务节点的路由服务;NSS服务节点,用于提供节点搜索服务,同时作为人脸数据存储和管理节点;Zookeeper服务节点,用于管理节点上线下线,并管理ICMS服务节点的上线节点信息并通知NSS服务节点连接ICMS服务节点;RabbitMq服务节点,用于提供信息持久化队列服务,使得增加/删除数据一致性;其中,当ICMS服务节点上线时,在Zookeeper服务节点上创建临时节点、并保存自己的地址端口和唯一编号,Zookeeper服务节点则通知已上线的NSS服务节点有新ICMS服务节点上线,NSS服务节点接收到通知后,获取地址端口并连接;当新NSS服务节点上线时,先主动获取Zookeeper服务节点上所有在线的ICMS服务节点的地址端口和唯一编号,然后连接所有的ICMS服务节点;上线的ICMS服务节点连接RabbitMq组件,作为生产者;上线的NSS服务节点连接RabbitMq服务节点,作为消费者并创建自己唯一的RabbitMq消息队列并绑定到所在组的路由规则:当有增加/删除数据的请求到ICMS服务节点时,ICMS服务节点找到数据所在库的NSS组并发送到对应组RabbitMq绑定的路由规则,对应组的所有NSS服务节点接受RabbitMq消息进行相关操作;当有人脸搜索请求到达ICMS服务节点时,ICMS服务节点找到人脸数据所在库的NSS组,并发送到组内对应的NSS服务节点,组内NSS服务节点接受人脸搜索请求处理返回结果。优选地,所述全量人脸数据均匀地存放到多个NSS组,组内的各NSS服务节点数据一致,互为主备,所有NSS组内存储的人脸数据的集合为全量人脸数据。优选地,所述人脸搜索请求的处理具体包括:接受外部请求人脸搜索的HTTP请求插入处理线程池;处理线程池线程解析HTTP请求并解析参数;校验HTTP请求中的人脸库名、人脸特征值数据和人脸特征维度的参数合法性;根据传入的人脸库名,根据ICMS服务节点管理的人脸库信息(人脸库信息包括人脸库名和人脸数量)找出人脸库所在NSS组,然后随机选取NSS组内一个NSS服务节点;构造内部搜索请求发送至选取的NSS服务节点;NSS服务节点请求插入节点的处理线程池;NSS服务节点的处理线程池线程根据人脸库名找出对应的NSS服务节点内部存储的人脸数据;根据传入的人脸特征值数据对内部存储的人脸数据计算欧氏距离并选出距离最小的人脸标识;将最小欧氏距离对应的人脸标识返回给发送请求的ICMS服务节点;发送请求的ICMS节点接收消息并以HTTP格式返回给外部调用者。优选地,所述新增NSS组启动的流程具体包括:配置待新增的NSS组的服务信息,包括本机地址信息、RabbitMq连接信息和Zookeeper连接信息;然后启动新增NSS服务;NSS服务节点通过Zookeeper服务节点获取所有在线的ICMS服务节点的地址端口和唯一编号,并连接所有在线的ICMS服务节点;NSS服务节点创建RabbitMq消息队列并绑定到所有NSS组的路由规则上;NSS服务节点将本机所有的人脸数据上报给所有在线的ICMS服务节点;等待ICMS服务节点的服务请求,服务请求包括搜索、查询或者下载操作;开启RabbitMq消费线程,等待消费ICMS服务节点的服务请求,包括增加人脸数据、删除人脸数据和删除人脸库操作;开启持久化线程,等待需要持久化的人脸数据持久化。优选地,所述新增库流程具体包括:ICMS服务节点接受新增人脸数据的HTTP请求并插入处理线程池;处理线程池线程新增人脸数据的HTTP请求并解析请求的各种参数;对HTTP请求中的人脸库名、人脸特征数据和人脸标识参数进行长度和格式的校验;根据ICMS服务节点的人脸库信息,计算得出人脸数据量最小的NSS组;向人脸数据量最小的NSS组绑定的RabbitMq路由规则发送消息,请求新增人脸数据;NSS服务节点的RabbitMq消费线程消费新增人脸数据请求;申请新增库所需系统资源并创建新库;NSS服务节点发送新库信息至所有在线的ICMS服务节点;返回创建新库的操作结果给发送请求的ICMS服务节点;发送请求的ICMS服务节点收到回复消息并以HTTP格式将结果返回给外部调用者。本专利技术的能力管理平台中,通过引入一个管理组件,对内管理所有上线的计算节点,对外作为服务的调用入口,将所有的上线计算节点分组,全量数据平分到不同组内。组内各计算节点数据一致,所有组数据集合为全量数据。当业务量越来越大,新增一组计算节点,新增的人脸库优先放入新组,也不用拷贝数据到新组的计算节点。由于管理组件是服务的调用入口,调用侧并不会感知有新的计算节点接入。同时有些组需要废弃时,直接下线这些组计算节点,调用侧亦无感知。这样使得系统与外界解耦,系统内部可以任意扩展。附图说明图1是本专利技术的人脸搜索能力管理系统的架构图。图2是本专利技术的人脸搜索流程图。图3是本专利技术的新增NSS组启动流程图。图4是本专利技术的新增库流程图。具体实施方式为了更了解本专利技术的
技术实现思路
,特举具体实施例并配合所附图式说明如下。在本公开中参照附图来描述本专利技术的各方面,附图中示出了许多说明的实施例。本本文档来自技高网
...

【技术保护点】
1.一种人脸搜索能力管理系统,其特征在于,包括:/nICMS服务节点,用于对外提供HTTP服务,对内管理上线的NSS服务节点和所有NSS服务节点上报的人脸库信息,人脸库信息包括人脸库名和人脸数量,同时提供转发请求至NSS服务节点的路由服务;/nNSS服务节点,用于提供节点搜索服务,同时作为人脸数据存储和管理节点;/nZookeeper服务节点,用于管理节点上线下线,并管理ICMS服务节点的上线节点信息并通知NSS服务节点连接ICMS服务节点;/nRabbitMq服务节点,用于提供信息持久化队列服务,使得增加/删除数据保持一致性;/n其中,当ICMS服务节点上线时,在Zookeeper服务节点上创建临时节点、并保存自己的地址端口和唯一编号,Zookeeper服务节点则通知已上线的NSS服务节点有新ICMS服务节点上线,NSS服务节点接收到通知后,获取地址端口并连接;/n当新NSS服务节点上线时,先主动获取Zookeeper服务节点上所有在线的ICMS服务节点的地址端口和唯一编号,然后连接所有的ICMS服务节点;上线的ICMS服务节点连接RabbitMq组件,作为生产者;/n上线的NSS服务节点连接RabbitMq服务节点,作为消费者并创建自己唯一的RabbitMq消息队列并绑定到所在组的路由规则:当有增加/删除数据的请求到ICMS服务节点时,ICMS服务节点找到人脸数据所在人脸库的NSS组并发送到对应组RabbitMq的路由规则,对应组的所有NSS服务节点接受RabbitMq消息进行相关操作;/n当有人脸搜索请求到达ICMS服务节点时,ICMS服务节点找到人脸数据所在人脸库的NSS组,并发送到组内任意一个NSS服务节点,对应NSS服务节点接受人脸搜索请求处理返回结果。/n...

【技术特征摘要】
1.一种人脸搜索能力管理系统,其特征在于,包括:
ICMS服务节点,用于对外提供HTTP服务,对内管理上线的NSS服务节点和所有NSS服务节点上报的人脸库信息,人脸库信息包括人脸库名和人脸数量,同时提供转发请求至NSS服务节点的路由服务;
NSS服务节点,用于提供节点搜索服务,同时作为人脸数据存储和管理节点;
Zookeeper服务节点,用于管理节点上线下线,并管理ICMS服务节点的上线节点信息并通知NSS服务节点连接ICMS服务节点;
RabbitMq服务节点,用于提供信息持久化队列服务,使得增加/删除数据保持一致性;
其中,当ICMS服务节点上线时,在Zookeeper服务节点上创建临时节点、并保存自己的地址端口和唯一编号,Zookeeper服务节点则通知已上线的NSS服务节点有新ICMS服务节点上线,NSS服务节点接收到通知后,获取地址端口并连接;
当新NSS服务节点上线时,先主动获取Zookeeper服务节点上所有在线的ICMS服务节点的地址端口和唯一编号,然后连接所有的ICMS服务节点;上线的ICMS服务节点连接RabbitMq组件,作为生产者;
上线的NSS服务节点连接RabbitMq服务节点,作为消费者并创建自己唯一的RabbitMq消息队列并绑定到所在组的路由规则:当有增加/删除数据的请求到ICMS服务节点时,ICMS服务节点找到人脸数据所在人脸库的NSS组并发送到对应组RabbitMq的路由规则,对应组的所有NSS服务节点接受RabbitMq消息进行相关操作;
当有人脸搜索请求到达ICMS服务节点时,ICMS服务节点找到人脸数据所在人脸库的NSS组,并发送到组内任意一个NSS服务节点,对应NSS服务节点接受人脸搜索请求处理返回结果。


2.根据权利要求1所述的人脸搜索能力管理系统,其特征在于,全量人脸数据均匀地存放到多个NSS组,组内的各NSS服务节点的人脸数据一致,互为主备,所有NSS组存储的人脸数据的集合为全量人脸数据。


3.根据权利要求1所述的人脸搜索能力管理系统,其特征在于,所述人脸搜索请求的处理具体包括:
接受外部请求人脸搜索的HTTP请求插入处理线程池;
处理线程池线程解析HTTP请求并解析参数;
校验HTTP请求中的人脸库名、人脸特征值数据和人脸特征维度的参数合法性;
根据传入的人脸库名,在ICMS服务节点管理的人脸库信息中找出人脸...

【专利技术属性】
技术研发人员:杨帆汤静波
申请(专利权)人:南京甄视智能科技有限公司
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1