CN110928664B - 基于多消息线程分布式人脸搜索方法与系统 - Google Patents

基于多消息线程分布式人脸搜索方法与系统 Download PDF

Info

Publication number
CN110928664B
CN110928664B CN201911216189.7A CN201911216189A CN110928664B CN 110928664 B CN110928664 B CN 110928664B CN 201911216189 A CN201911216189 A CN 201911216189A CN 110928664 B CN110928664 B CN 110928664B
Authority
CN
China
Prior art keywords
face
message
node
threads
message processing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201911216189.7A
Other languages
English (en)
Other versions
CN110928664A (zh
Inventor
杨帆
汤静波
张斌
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xiaoshi Technology Jiangsu Co ltd
Original Assignee
Nanjing Zhenshi Intelligent Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nanjing Zhenshi Intelligent Technology Co Ltd filed Critical Nanjing Zhenshi Intelligent Technology Co Ltd
Priority to CN201911216189.7A priority Critical patent/CN110928664B/zh
Publication of CN110928664A publication Critical patent/CN110928664A/zh
Application granted granted Critical
Publication of CN110928664B publication Critical patent/CN110928664B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2413Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
    • G06F18/24147Distances to closest patterns, e.g. nearest neighbour classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/172Classification, e.g. identification
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • Evolutionary Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供一种基于多消息线程分布式人脸搜索方法与系统,包括:至少一个前置节点,被配置用于转发请求消息以及管理人脸数据库;以及多个计算节点,被设置成配置多个消息处理线程,并且为每个消息处理线程分配一个未处理消息子队列,其中消息处理线程之间的资源相互独立,每个消息处理线程各自从归属的未处理消息子队列中依次取出消息进行处理,处理到人脸搜索请求时,在部分人脸数据中索引计算欧式距离,取得最小值对应的人脸信息并返回给前置节点。本发明应用独立的多线程工作机制以最大限度地减少线程间同步带来的时间损耗,并最大化地利于cpu的计算能力,极大提高系统对外的并发能力。

Description

基于多消息线程分布式人脸搜索方法与系统
技术领域
本发明涉及人脸识别处理技术领域,具体而言涉及一种基于多消息线程分布式人脸搜索方法与系统。
背景技术
人脸搜索技术即根据传入的人脸特征数据,在对应人脸库中暴力计算所有的欧式距离并找出距离最小的那个特征,此最小特征对应的那个人脸标识即为要搜索输出最匹配的人脸。如图1所示为现有技术中人脸搜索的消息处理的示例,各个线程并发并且互斥地从未处理消息队列中取消息,需要频繁的加锁解锁操作,使得线程在相当的时间内处于等待状态,不能最大限度的发挥多线程提高并发能力的优势。同时,全量人脸库数据存储的弊端在于当人脸数量越来越大时,即使扩充机器也解决不了存储不足的问题,如果是部署的多机器,则需要每个机器扩充存储空间。
发明内容
本发明目的在于提供一种基于多消息线程分布式人脸搜索方法与系统,旨在最大限度地发挥多线程提高并发能力的优势,解决全量人脸库存储导致地扩充机器不能解决存储不足的问题。
为达成上述目的,本发明提出一种基于多消息线程分布式人脸搜索方法,包括:
至少一个前置节点,被配置用于转发请求消息以及管理人脸数据库,所述转发请求消息包括向计算节点发送未处理消息队列以及从接收计算节点返回的结果;
多个计算节点,被设置成配置多个消息处理线程,并且为每个消息处理线程分配一个未处理消息子队列,其中消息处理线程之间的资源相互独立,每个消息处理线程各自从归属的未处理消息子队列中依次取出消息进行处理,处理到人脸搜索请求时,在所属的部分人脸数据中索引计算欧式距离,取得最小值对应的人脸信息并返回给前置节点。
优选地,所述至少一个前置节点具有人脸数据库管理模块,被设置成以预定的方式将人脸数据库存储的人脸数据分布地存储到各个计算节点,所有计算节点的人脸数据的集合为全量人脸数据。
优选地,前述人脸数据的分布式存储采用均匀分布的方式。
优选地,所述至少一个前置节点被设置成解析外部人脸搜索请求,并根据解析结果,发送到对应的计算节点进行处理。
优选地,所述至少一个前置节点还被设置用于根据解析结果和外部人脸搜索请求构造内部人脸搜索请求,其请求消息体包括缓存标识、库名、人脸特征数据和消息处理线程标识,其中库名和人脸特征数据从解析结果得到,缓存标识为通过库名检索到的其所在的计算节点的地址信息所自动生成。
优选地,所述至少一个前置节点还被设置成将人脸数据库中新增的人脸数据插入到新增加的计算节点。
根据本发明,还提出一种基于多消息线程分布式人脸搜索方法,所述方法包括:
配置至少一个前置节点和多个计算节点,至少一个前置节点以预定的方式将人脸数据库存储的人脸数据分布地存储到各个计算节点,所有计算节点的人脸数据的集合为全量人脸数据;
所述至少一个前置节点接收到外部的HTTP人脸搜索请求后,插入未处理消息队列并向对应的计算节点发送;
计算节点,配置多个消息处理线程,并从接收到的未处理消息队列中为每个消息处理线程分配一个未处理消息子队列,其中消息处理线程之间的资源相互独立,每个消息处理线程各自从归属的未处理消息子队列中依次取出消息进行处理,处理到人脸搜索请求时,在所属的部分人脸数据中索引计算欧式距离,取得最小值对应的人脸信息并返回给前置节点。
优选地,所述至少一个前置节点还包括下述操作:
对外部人脸搜索请求的解析,并根据解析结果对应的库名确定处理消息的计算节点,然后根据计算节点对应的地址信息和消息处理信息构造内部人脸搜索请求,发送至计算节点。
优选地,所述至少一个前置节点还包括下述操作:
将人脸数据库中新增的人脸数据插入到新增加的计算节点中进行存储
应当理解,前述构思以及在下面更加详细地描述的额外构思的所有组合只要在这样的构思不相互矛盾的情况下都可以被视为本公开的发明主题的一部分。另外,所要求保护的主题的所有组合都被视为本公开的发明主题的一部分。
结合附图从下面的描述中可以更加全面地理解本发明教导的前述和其他方面、实施例和特征。本发明的其他附加方面例如示例性实施方式的特征和/或有益效果将在下面的描述中显见,或通过根据本发明教导的具体实施方式的实践中得知。
附图说明
附图不意在按比例绘制。在附图中,在各个图中示出的每个相同或近似相同的组成部分可以用相同的标号表示。为了清晰起见,在每个图中,并非每个组成部分均被标记。现在,将通过例子并参考附图来描述本发明的各个方面的实施例,其中:
图1是现有技术中多线程人脸搜索的示意图。
图2是本发明的基于多消息线程分布式人脸搜索的示例。
图3是本发明实施例的前置节点的模块示例
图4是本发明实施例的前置节点侧的流程示例。
图5是本发明实施例的计算节点的模块示例
图6是本发明实施例的计算节点侧的流程示例。
具体实施方式
为了更了解本发明的技术内容,特举具体实施例并配合所附图式说明如下。
在本公开中参照附图来描述本发明的各方面,附图中示出了许多说明的实施例。本公开的实施例不必定意在包括本发明的所有方面。应当理解,上面介绍的多种构思和实施例,以及下面更加详细地描述的那些构思和实施方式可以以很多方式中任意一种来实施,这是因为本发明所公开的构思和实施例并不限于任何实施方式。另外,本发明公开的一些方面可以单独使用,或者与本发明公开的其他方面的任何适当组合来使用。
{总体配置}
根据本发明示例性实施例的基于多消息线程分布式人脸搜索系统,应用独立的多线程工作机制以最大限度地减少线程间同步带来的时间损耗,并最大化地利于cpu的计算能力,极大提高系统对外的并发能力。
在具体实现过程中,在传统的技术方案基础上,通过配置前置节点进行请求转发以及人脸数据管理,将人脸数据分布到各个计算节点中,在前置节点中开启CPU的多个消息处理线程,每个消息处理线程分配一个未处理消息队列,消息处理线程之间的资源相互独立,互不影响。每个消息处理线程各自从归属的未处理消息队列中依次取出消息处理,处理到搜索请求消息时转发至库所在计算节点,通过分布式配置的计算节点同样配置的CPU多个消息处理线程和对应的未处理消息队列,在处理到人脸搜索请求时,在所属的库中索引计算欧式距离取得最小值对应的人脸信息并返回给前置节点。
{基于多消息线程分布式人脸搜索系统}
结合图2-6所示,本发明示例性的基于多消息线程分布式人脸搜索系统包括至少一个前置节点和多个计算节点。
至少一个前置节点,被配置用于转发请求消息以及管理人脸数据库,所述转发请求消息包括向计算节点发送未处理消息队列以及从接收计算节点返回的结果。
多个计算节点,被设置成配置多个消息处理线程,并且为每个消息处理线程分配一个未处理消息子队列,其中消息处理线程之间的资源相互独立,每个消息处理线程各自从归属的未处理消息子队列中依次取出消息进行处理,处理到人脸搜索请求时,在所属的部分人脸数据中索引计算欧式距离,取得最小值对应的人脸信息并返回给前置节点。
{前置节点}
结合图3、4所示,前置节点在启动时,开启CPU的多个消息处理线程,每个消息处理线程均分配一个未处理消息队列,消息处理线程之间的资源相互独立,互不影响。每个消息处理线程各自从归属的未处理消息队列中依次取出消息处理,处理到人脸搜索请求(外部人脸搜索请求)消息时进行解析并转发至库所在计算节点。
其中,在前置节点中,设置有人脸数据库管理模块,用于以预定的方式将人脸数据库存储的人脸数据分布地存储到各个计算节点,所有计算节点的人脸数据的集合为全量人脸数据。
前述预定的方式,例如均匀分布的方式,或者基于计算节点的能力,例如CPU性能、存储性能等。
前置节点还包括外部请求接收接口、解析模块、内部搜索生成模块、内部搜索接收模块以及外部请求返回接口。
外部请求接收接口,用于接收外部调用的HTTP人脸搜索请求。这些请求在前置节点中被依次按顺序插入消息处理线程的未处理消息队列中。
当消息处理线程(从未处理消息队列中依次)处理到人脸搜索请求时,通过解析模块解析HTTP消息,取出库名、人脸特征数据和外界调用者地址连接信息等相关数据。
内部搜索生成模块,用于根据解析结果来生成内部人脸搜索消息,其消息体包含缓存标识、库名、人脸特征数据和该消息处理线程标识,其中库名和人脸特征数据从解析结果得到,缓存标识为通过库名(从人脸数据库管理模块中进行)检索到的其所在的计算节点的地址信息所自动生成。
前置节点将生成的内部人脸搜索消息被发送至库名对应的计算节点进行处理,然后插入该消息处理线程的待返回消息缓存池一条数据,这条数据包含外界调用者相关地址和缓存标识信息。
对应的计算节点接收到内部人脸搜索消息后,先放入其对应消息处理子线程的未处理消息队列,在消息处理子线程处理此人脸搜索请求消息时,在所属的部分人脸数据中索引计算欧式距离,取得最小值对应的人脸信息并返回给前置节点
内部搜索接收模块,用于接收从对应的计算节点返回的内部人脸搜索返回结果,取出搜索出的人脸相关信息、缓存标识等信息。
外部请求返回接口,根据缓存标识,到此消息处理线程的待返回消息缓存池中取得外界调用者地址连接信息并将搜索出的人脸相关信息返回给外界调用。
结合图5、6所示,用于进行人脸搜索操作的计算节点,在启动时,开启CPU的多个消息处理线程,每个消息处理线程均分配一个未处理消息子队列,消息处理线程之间的资源相互独立,互不影响。每个消息处理线程各自从归属的未处理消息子队列中依次取出消息处理,处理到人脸搜索请求(外部人脸搜索请求)消息时进行解析并转发至库所在计算节点。
其中,人脸数据均匀的分布在各个计算节点上,所有计算节点的部分人脸数据的集合为全量人脸数据。
优选地,每个计算节点被设置成定时向前置节点的人脸数据库管理模块上报其所存储的人脸数据信息,以利于在接收到外部的人脸搜索请求时能够查询/检索到库名所在的计算节点,以将搜索请求发送到对应的计算节点进行处理。
{前置节点侧处理流程}
如图4所示,作为示例性实施例的前置节点侧的具体处理流程包括:
接收外界调用的HTTP人脸搜索请求;
依次按顺序将人脸搜索请求插入消息处理线程的未处理消息队列;
消息处理线程处理该人脸搜索请求。首先解析HTTP消息,取出库名、人脸特征数据和外界调用者地址连接信息等相关数据;
根据库名在计算节点人脸库管理模块中找出此库所在的计算节点的地址信息,自动生成缓存标识,构造系统内部人脸搜索消息,消息体包含缓存标识、库名、人脸特征数据和该消息处理线程标识等,发送相应计算节点内部人脸搜索请求;
插入该消息处理线程的待返回消息缓存池一条数据,数据包含外界调用者相关地址和缓存标识等信息;
接收计算节点内部人脸搜索返回结果消息;
取得内部人脸搜索返回结果消息中的消息处理线程的线程标识,根据线程标识将内部人脸搜索返回消息插入至线程标识对应的消息处理线程的待处理消息队列等待处理;
消息处理线程处理计算节点的内部人脸搜索返回结果消息,取出搜索出的人脸相关信息、消息缓存标识等信息;以及
根据缓存标识至此消息处理线程的待返回消息缓存池取得外界调用者地址连接信息并将搜索出的人脸相关信息返回给外界调用者。
{计算节点}
结合图5、6,计算节点设置有消息接收模块、搜索模块以及返回模块。
消息接收模块,用于接收来自前置节点的内部人脸搜索请求。计算节点将这些内部人脸搜索请求依次按顺序地插入消息处理线程的未处理消息子队列。
计算节点的消息处理线程处理此搜索请求消息时,取出对应人脸库名、人脸特征数据、前置节点消息缓存标识和前置节点消息线程标识等信息。通过搜索模块根据人脸库名和人脸特征数据在对应的部分人脸数据中暴力索引计算欧式距离,得出欧式距离最小值对应的人脸信息。
返回模块用于构造内部人脸搜索结果返回消息,该消息包含前置节点消息缓存标识、前置节点消息线程标识和搜索出的人脸信息,发送返回给前置节点。
如此,由于每个消息处理线程都有自己独立的未处理消息队列,消息处理线程就能顺序的取出消息进行处理,不用和其他线程竞争导致等待时间损耗,使得在高并发下每个消息处理线程最大限度地工作。每个计算节点只存储部分人脸数据,当现有的计算节点存储容量快不足时,只需要扩充计算节点,前置节点的人脸库管理模块会优先把新增人脸数据插入新的计算节点,这样就能以扩充计算节点的方式解决存储不足的问题。
{计算节点侧处理流程}
结合图6所示,作为示例性实施例的计算节点侧的具体处理流程包括:
接收前置节点内部人脸搜索请求;
依次按顺序地将内部人脸搜索请求插入消息处理线程的未处理消息队列;
线程处理此搜索请求消息,取出对应人脸库名、人脸特征数据、前置节点消息缓存标识和前置节点消息线程标识等信息;
根据人脸库名和人脸特征数据在对应的人脸库中暴力索引计算欧式距离,得出最小值对应的人脸信息;以及
构造内部人脸搜索结果返回消息,该消息包含前置节点消息缓存标识、前置节点消息线程标识和搜索出的人脸信息等。发送返回给前置节点。
如此,结合以上本发明的各个实施例可见,本发明配置的前置节点和计算节点应用独立的多线程工作机制,以最大限度地减少线程间同步带来的时间损耗,最大限度地压榨cpu的计算能力,极大提高系统对外的并发能力,同样数量线程的情况下,压测搜索请求并发量比一般设计提高1.5-2倍。
结合本发明的分布式人脸库数据存储方式的检索,可极大减少了全量人脸库数据存储造成的资源浪费,也解决了全量人脸库数据存储不能通过扩充计算节点解决存储不足的问题。
{基于多消息线程分布式人脸搜索方法}
根据前述实施例的人脸搜索系统,结合图2所示,本发明还可以配置如下。
一种基于多消息线程分布式人脸搜索方法,所述方法包括:
配置至少一个前置节点和多个计算节点,至少一个前置节点以预定的方式将人脸数据库存储的人脸数据分布地存储到各个计算节点,所有计算节点的人脸数据的集合为全量人脸数据;
所述至少一个前置节点接收到外部的HTTP人脸搜索请求后,插入未处理消息队列并向对应的计算节点发送;
计算节点,配置多个消息处理线程,并从接收到的未处理消息队列中为每个消息处理线程分配一个未处理消息子队列,其中消息处理线程之间的资源相互独立,每个消息处理线程各自从归属的未处理消息子队列中依次取出消息进行处理,处理到人脸搜索请求时,在所属的部分人脸数据中索引计算欧式距离,取得最小值对应的人脸信息并返回给前置节点。
其中,所述至少一个前置节点还包括下述操作:
对外部人脸搜索请求的解析,并根据解析结果对应的库名确定处理消息的计算节点,然后根据计算节点对应的地址信息和消息处理信息构造内部人脸搜索请求,发送至计算节点。
其中,所述至少一个前置节点还包括下述操作:
将人脸数据库中新增的人脸数据插入到新增加的计算节点中进行存储。
虽然本发明已以较佳实施例揭露如上,然其并非用以限定本发明。本发明所属技术领域中具有通常知识者,在不脱离本发明的精神和范围内,当可作各种的更动与润饰。因此,本发明的保护范围当视权利要求书所界定者为准。

Claims (9)

1.一种基于多消息线程分布式人脸搜索系统,其特征在于,包括:
至少一个前置节点,被配置用于转发请求消息以及管理人脸数据库,所述转发请求消息包括向计算节点发送未处理消息队列以及从接收计算节点返回的结果;
多个计算节点,被设置成配置多个消息处理线程,并且为每个消息处理线程分配一个未处理消息子队列,其中消息处理线程之间的资源相互独立,每个消息处理线程各自从归属的未处理消息子队列中依次取出消息进行处理,处理到人脸搜索请求时,在所属的部分人脸数据中索引计算欧式距离,取得最小值对应的人脸信息并返回给前置节点。
2.根据权利要求1所述的基于多消息线程分布式人脸搜索系统,其特征在于,所述至少一个前置节点具有人脸数据库管理模块,被设置成以预定的方式将人脸数据库存储的人脸数据分布地存储到各个计算节点,所有计算节点的人脸数据的集合为全量人脸数据。
3.根据权利要求2所述的基于多消息线程分布式人脸搜索系统,其特征在于,前述人脸数据的分布式存储采用均匀分布的方式。
4.根据权利要求1所述的基于多消息线程分布式人脸搜索系统,其特征在于,所述至少一个前置节点被设置成解析外部人脸搜索请求,并根据解析结果,发送到对应的计算节点进行处理。
5.根据权利要求4所述的基于多消息线程分布式人脸搜索系统,其特征在于,所述至少一个前置节点还被设置用于根据解析结果和外部人脸搜索请求构造内部人脸搜索请求,其请求消息体包括缓存标识、库名、人脸特征数据和消息处理线程标识,其中库名和人脸特征数据从解析结果得到,缓存标识为通过库名检索到的其所在的计算节点的地址信息所自动生成。
6.根据权利要求1所述的基于多消息线程分布式人脸搜索系统,其特征在于,所述至少一个前置节点还被设置成将人脸数据库中新增的人脸数据插入到新增加的计算节点。
7.一种基于多消息线程分布式人脸搜索方法,其特征在于,所述方法包括:
配置至少一个前置节点和多个计算节点,至少一个前置节点以预定的方式将人脸数据库存储的人脸数据分布地存储到各个计算节点,所有计算节点的人脸数据的集合为全量人脸数据;
所述至少一个前置节点接收到外部的HTTP人脸搜索请求后,插入未处理消息队列并向对应的计算节点发送;
计算节点,配置多个消息处理线程,并从接收到的未处理消息队列中为每个消息处理线程分配一个未处理消息子队列,其中消息处理线程之间的资源相互独立,每个消息处理线程各自从归属的未处理消息子队列中依次取出消息进行处理,处理到人脸搜索请求时,在所属的部分人脸数据中索引计算欧式距离,取得最小值对应的人脸信息并返回给前置节点。
8.根据权利要求7所述的基于多消息线程分布式人脸搜索方法,其特征在于,所述至少一个前置节点还包括下述操作:
对外部人脸搜索请求的解析,并根据解析结果对应的库名确定处理消息的计算节点,然后根据计算节点对应的地址信息和消息处理信息构造内部人脸搜索请求,发送至计算节点。
9.根据权利要求7所述的基于多消息线程分布式人脸搜索方法,其特征在于,所述至少一个前置节点还包括下述操作:
将人脸数据库中新增的人脸数据插入到新增加的计算节点中进行存储。
CN201911216189.7A 2019-12-02 2019-12-02 基于多消息线程分布式人脸搜索方法与系统 Active CN110928664B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911216189.7A CN110928664B (zh) 2019-12-02 2019-12-02 基于多消息线程分布式人脸搜索方法与系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911216189.7A CN110928664B (zh) 2019-12-02 2019-12-02 基于多消息线程分布式人脸搜索方法与系统

Publications (2)

Publication Number Publication Date
CN110928664A CN110928664A (zh) 2020-03-27
CN110928664B true CN110928664B (zh) 2022-08-16

Family

ID=69848424

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911216189.7A Active CN110928664B (zh) 2019-12-02 2019-12-02 基于多消息线程分布式人脸搜索方法与系统

Country Status (1)

Country Link
CN (1) CN110928664B (zh)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102360310B (zh) * 2011-09-28 2014-03-26 中国电子科技集团公司第二十八研究所 一种分布式系统环境下的多任务进程监视方法
CN106656863A (zh) * 2016-12-31 2017-05-10 广东欧珀移动通信有限公司 业务监控方法、装置和计算机设备
CN110019873B (zh) * 2017-12-25 2021-08-27 深圳市优必选科技有限公司 人脸数据处理方法、装置及设备
CN109324909A (zh) * 2018-08-01 2019-02-12 武汉普利商用机器有限公司 一种基于云服务的人脸比对服务系统及方法

Also Published As

Publication number Publication date
CN110928664A (zh) 2020-03-27

Similar Documents

Publication Publication Date Title
US9575984B2 (en) Similarity analysis method, apparatus, and system
WO2021088385A1 (zh) 一种在线日志解析方法、系统及其电子终端设备
US11347787B2 (en) Image retrieval method and apparatus, system, server, and storage medium
US9275111B2 (en) Minimizing result set size when converting from asymmetric to symmetric requests
CN112800287B (zh) 基于图数据库的全文索引方法和系统
US20140297653A1 (en) Ontology-based query method and apparatus
CN108829740B (zh) 数据存储方法和装置
US20150256442A1 (en) Computer-implemented k-shortest path finding method
CN109299101B (zh) 数据检索方法、装置、服务器和存储介质
CN112632079B (zh) 一种数据流标识的查询方法及装置
CN107229628B (zh) 分布式数据库预处理的方法及装置
CN110928664B (zh) 基于多消息线程分布式人脸搜索方法与系统
CN110928900B (zh) 多表数据的查询方法、装置、终端以及计算机存储介质
CN112559482B (zh) 一种基于分布式的二进制数据分类处理方法和系统
CN114791927A (zh) 一种数据分析方法和装置
WO2022253131A1 (zh) 数据解析方法、装置、计算机设备和存储介质
CN111061557B (zh) 均衡分布式内存数据库负载的方法和装置
CN111026736A (zh) 数据血缘管理方法及装置、数据血缘解析方法及装置
CN110888739A (zh) 延迟任务的分布式处理方法与装置
CN112486996B (zh) 面向对象的内存数据存储系统
CN115269654A (zh) 一种数据缓存补充方法、装置、设备及介质
US9767411B2 (en) Rule discovery system, method, apparatus, and program
EP3793171A1 (en) Message processing method, apparatus, and system
CN107562782B (zh) 一种基于cim模型的多级缓存方法、装置及系统
CN113268487B (zh) 数据统计方法、装置及计算机可读存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP01 Change in the name or title of a patent holder

Address after: No.568 longmian Avenue, gaoxinyuan, Jiangning District, Nanjing City, Jiangsu Province, 211000

Patentee after: Xiaoshi Technology (Jiangsu) Co.,Ltd.

Address before: No.568 longmian Avenue, gaoxinyuan, Jiangning District, Nanjing City, Jiangsu Province, 211000

Patentee before: NANJING ZHENSHI INTELLIGENT TECHNOLOGY Co.,Ltd.

CP01 Change in the name or title of a patent holder