CN112231501A - 人像库的数据存储、检索方法及装置、存储介质 - Google Patents

人像库的数据存储、检索方法及装置、存储介质 Download PDF

Info

Publication number
CN112231501A
CN112231501A CN202011126487.XA CN202011126487A CN112231501A CN 112231501 A CN112231501 A CN 112231501A CN 202011126487 A CN202011126487 A CN 202011126487A CN 112231501 A CN112231501 A CN 112231501A
Authority
CN
China
Prior art keywords
retrieval
service module
fragments
feature data
data
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.)
Pending
Application number
CN202011126487.XA
Other languages
English (en)
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.)
Zhejiang Dahua Technology Co Ltd
Original Assignee
Zhejiang Dahua 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 Zhejiang Dahua Technology Co Ltd filed Critical Zhejiang Dahua Technology Co Ltd
Priority to CN202011126487.XA priority Critical patent/CN112231501A/zh
Publication of CN112231501A publication Critical patent/CN112231501A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/51Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/53Querying
    • G06F16/532Query formulation, e.g. graphical querying
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/53Querying
    • G06F16/538Presentation of query results

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供了一种人像库的数据存储、检索方法及装置、存储介质。该数据存储方法包括:接收特征数据添加请求,其中,上述特征数据添加请求用于请求将特征数据添加到人像库,上述人像库包含多个分片,每个分片用于存储多条特征数据;根据上述人像库包含的上述多个分片的信息,确定用于存储上述特征数据的目标分片;获取上述特征数据,并将上述特征数据存储到上述目标分片中。通过本发明,解决了人像库过大导致特征数据的存储、检索都难以执行的问题,实现了对大型人像库的快速、稳定、高效的存储和/或检索。

Description

人像库的数据存储、检索方法及装置、存储介质
技术领域
本发明涉及文件存储及信息检索领域,具体而言,涉及一种人像库的数据存储、检索方法及装置、存储介质。
背景技术
近年来,随着信息技术和网络的发展,工作生活中高清摄像头随处可见,图像的处理数量以惊人的速度在增长,如何更好、更优地存储海量数据,并且能更快地从海量图像数据中获取有效信息显得尤为重要。
图像领域通常先获取图片的特征值来表示图片,从而将图片表示成高维特征空间中的点。为了提高检索速度,通常将特征值加载到检索服务内存中进行计算。但是针对海量人像库的场景,其产生的特征值数量非常庞大,例如,公安体系中对一二线市级、省级流动、常驻人口存储及检索,通常数据量达到亿量级。因此,超大规模人像库的情况下,一个检索服务是无法加载一个库的所有特征值的。
发明内容
本发明实施例提供了一种人像库的数据存储、检索方法及装置、存储介质,以至少解决相关技术中人像库过大导致特征数据的存储、检索都难以执行的问题。
根据本发明的一个实施例,提供了一种人像库的数据存储方法,包括:接收特征数据添加请求,其中,所述特征数据添加请求用于请求将特征数据添加到人像库,所述人像库包含多个分片,每个分片用于存储多条特征数据;根据所述人像库包含的所述多个分片的信息,确定用于存储所述特征数据的目标分片;获取所述特征数据,并将所述特征数据存储到所述目标分片中。
在至少一个示例性实施例中,根据所述人像库包含的所述多个分片的信息,确定用于存储所述特征数据的目标分片包括:确定所述多个分片中是否存在能够容纳所述特征数据的可用分片;在确定存在所述可用分片的情况下,将所述可用分片确定为用于存储所述特征数据的所述目标分片;在确定不存在所述可用分片的情况下,创建分片,并将创建的所述分片确定为用于存储所述特征数据的所述目标分片。
在至少一个示例性实施例中,根据所述人像库包含的所述多个分片的信息,确定用于存储所述特征数据的目标分片之后,还包括:根据所述特征数据的数量更新对应于所述目标分片的分片计数器的取值;确定所述多个分片中是否存在能够容纳所述特征数据的可用分片包括:确定所述多个分片中每个分片的分片计数器的取值是否达到容量阈值,在所述多个分片中存在分片的分片计数器的取值未达到所述容量阈值的情况下,确定存在所述可用分片;在所述多个分片中所有分片的分片计数器的取值均达到所述容量阈值的情况下,确定不存在所述可用分片。
在至少一个示例性实施例中,获取所述特征数据,并将所述特征数据存储到所述目标分片中包括:确定是否存在可用的检索服务;在确定存在可用的检索服务的情况下,请求特征提取服务获取所述特征数据,并将所述特征数据存储到所述目标分片中。
在至少一个示例性实施例中,获取所述特征数据之后,所述方法还包括:将所述特征数据加载到所述目标分片对应的检索服务的内存中。
在至少一个示例性实施例中,所述方法还包括:接收检索服务的注册请求;根据分片与检索服务的对应关系,确定所述检索服务对应的分片,并将所述检索服务对应的所述分片的信息返回给所述检索服务;根据所述检索服务对应的分片的信息,所述检索服务获取所述分片中存储的特征数据,并将获取的所述特征数据加载到所述检索服务的内存中。
根据本发明的另一个实施例,提供了一种人像库的数据检索方法,包括:接收在人像库中检索目标特征数据的第一检索请求,其中,所述人像库包含多个分片,每个分片用于存储多条特征数据;根据分片与检索服务的对应关系,确定所述多个分片各自对应的检索服务;向确定的检索服务发起在所述检索服务对应的分片中检索所述目标特征数据的第二检索请求;接收所述检索服务返回的检索结果,并对接收到的所述检索结果进行预定处理,其中,所述预定处理包括以下至少之一:去重处理、合并处理。
在至少一个示例性实施例中,接收在人像库中检索目标特征数据的第一检索请求之前,所述方法还包括:管理服务将待检索的图片发送到特征提取服务进行特征值提取,以获得所述目标特征数据;所述管理服务向调度服务发送在人像库中检索所述目标特征数据的所述第一检索请求。
根据本发明的再一个实施例,提供了一种人像库的数据存储系统,包括:应用服务模块,用于向管理服务模块发送特征数据添加请求,其中,所述特征数据添加请求用于请求将特征数据添加到人像库,所述人像库包含多个分片,每个分片用于存储多条特征数据;所述管理服务模块,用于接收所述特征数据添加请求,根据所述人像库包含的所述多个分片的信息,确定用于存储所述特征数据的目标分片;调度服务模块,用于获取所述特征数据,并将所述特征数据存储到所述目标分片中。
在至少一个示例性实施例中,所述管理服务模块用于:确定所述多个分片中是否存在能够容纳所述特征数据的可用分片;在确定存在所述可用分片的情况下,将所述可用分片确定为用于存储所述特征数据的所述目标分片;在确定不存在所述可用分片的情况下,创建分片,并将创建的所述分片确定为用于存储所述特征数据的所述目标分片。
在至少一个示例性实施例中,所述系统还包括:缓存服务模块,用于存储分片的分片计数器;所述管理服务模块还用于在根据所述人像库包含的所述多个分片的信息,确定用于存储所述特征数据的目标分片之后,根据所述特征数据的数量更新所述缓存服务模块中存储的对应于所述目标分片的分片计数器的取值;所述管理服务模块还用于确定所述缓存服务模块中存储的所述多个分片中每个分片的分片计数器的取值是否达到容量阈值,在所述多个分片中存在分片的分片计数器的取值未达到所述容量阈值的情况下,确定存在所述可用分片;在所述多个分片中所有分片的分片计数器的取值均达到所述容量阈值的情况下,确定不存在所述可用分片。
在至少一个示例性实施例中,所述系统还包括特征提取服务模块、检索服务模块和存储服务模块,所述管理服务模块还用于确定是否存在可用的检索服务模块,在确定存在可用的检索服务模块的情况下,调用所述调度服务模块;所述调度服务模块用于在所述管理服务模块的调度下请求所述特征提取服务模块获取所述特征数据,并将所述特征数据通过所述存储服务模块存储到所述目标分片中。
在至少一个示例性实施例中,所述系统还包括检索服务模块,所述调度服务模块用于调度所述目标分片对应的检索服务模块将所述特征数据加载到检索服务模块的内存中。
在至少一个示例性实施例中,所述系统还包括检索服务模块和关系型数据库,所述管理服务模块还用于接收所述检索服务模块发送的检索服务的注册请求;根据所述关系型数据库中存储的分片与检索服务模块的对应关系,确定所述检索服务模块对应的分片,并将所述检索服务模块对应的所述分片的信息返回给所述检索服务模块;所述检索服务模块用于根据所述检索服务模块对应的分片的信息,获取所述分片中存储的特征数据,并将获取的所述特征数据加载到所述检索服务模块的内存中。
根据本发明的又一个实施例,提供了一种人像库的数据检索系统,包括:调度服务模块和检索服务模块,其中,所述调度服务模块,用于接收在人像库中检索目标特征数据的第一检索请求,其中,所述人像库包含多个分片,每个分片用于存储多条特征数据;根据分片与检索服务模块的对应关系,确定所述多个分片各自对应的检索服务模块;向确定的所述检索服务模块发起在所述检索服务模块对应的分片中检索所述目标特征数据的第二检索请求;所述检索服务模块,用于根据所述第二检索请求执行检索,并向所述调度服务模块返回检索结果;所述调度服务模块,还用于对接收到的所述检索结果进行预定处理,其中,所述预定处理包括以下至少之一:去重处理、合并处理。
在至少一个示例性实施例中,所述系统还包括管理服务模块和特征提取服务模块,其中,所述管理服务模块将待检索的图片发送到所述特征提取服务模块进行特征值提取,以获得所述目标特征数据;所述管理服务模块向所述调度服务模块发送在人像库中检索所述目标特征数据的所述第一检索请求。
根据本发明的又一个实施例,提供了一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
通过本发明,由于人像库被分为多个分片,且在数据特征添加到人像库的过程中,是添加到可用的目标分片中进行存储,从而实现了对人像库的分片存储和管理,并且为人像库的分片检索提供了基础。因此,可以解决人像库过大导致特征数据的存储、检索都难以执行的问题,实现了对大型人像库的快速、稳定、高效的存储和/或检索。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例1的人像库的数据存储方法的流程图;
图2是根据本发明实施例2的人像库的数据检索方法的流程图;
图3是根据本发明实施例3的人像库的数据存储系统的示例性结构框图;
图4是根据本发明实施例4的人像库的数据检索系统的示例性结构框图;
图5是根据本发明实施例7的人像库的数据存储、检索的整体架构图;
图6是根据本发明实施例7的人像库分片存储的示意图;
图7是根据本发明实施例7的添加人像库添加特征值的流程示意图;
图8是根据本发明实施例7的检索服务启动加载的流程示意图;
图9是根据本发明实施例7的人像库检索的流程示意图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
实施例1
在本实施例中提供了一种人像库的数据存储方法,图1是根据本发明实施例1的人像库的数据存储方法的流程图,如图1所示,该流程包括如下步骤:
步骤S102,接收特征数据添加请求,其中,所述特征数据添加请求用于请求将特征数据添加到人像库,所述人像库包含多个分片,每个分片用于存储多条特征数据;
步骤S104,根据所述人像库包含的所述多个分片的信息,确定用于存储所述特征数据的目标分片;
步骤S106,获取所述特征数据,并将所述特征数据存储到所述目标分片中。
通过上述步骤,人像库被分为多个分片,且在数据特征添加到人像库的过程中,是添加到可用的目标分片中进行存储,从而实现了对人像库的分片存储和管理,并且为人像库的分片检索提供了基础。因此,可以解决人像库过大导致特征数据的存储难以执行的问题,实现了对大型人像库的快速、稳定、高效的存储。
在至少一个示例性实施例中,步骤S104可以包括:
步骤S1041,确定所述多个分片中是否存在能够容纳所述特征数据的可用分片;
步骤S1042-1,在确定存在所述可用分片的情况下,将所述可用分片确定为用于存储所述特征数据的所述目标分片;
步骤S1042-2,在确定不存在所述可用分片的情况下,创建分片,并将创建的所述分片确定为用于存储所述特征数据的所述目标分片。
在至少一个示例性实施例中,步骤S104之后,还可以包括:根据所述特征数据的数量更新对应于所述目标分片的分片计数器的取值;
步骤S1041可以包括:确定所述多个分片中每个分片的分片计数器的取值是否达到容量阈值,其中,在所述多个分片中存在分片的分片计数器的取值未达到所述容量阈值的情况下,确定存在所述可用分片;在所述多个分片中所有分片的分片计数器的取值均达到所述容量阈值的情况下,确定不存在所述可用分片。
在至少一个示例性实施例中,步骤S106可以包括:确定是否存在可用的检索服务;在确定存在可用的检索服务的情况下,请求特征提取服务获取所述特征数据,并将所述特征数据存储到所述目标分片中。在所述目标分片未对应有检索服务的情况下,则特征数据添加失败。
在至少一个示例性实施例中,获取所述特征数据之后,所述方法还可以包括:将所述特征数据加载到所述目标分片对应的检索服务的内存中。
在至少一个示例性实施例中,所述方法还包括:接收检索服务的注册请求;根据分片与检索服务的对应关系,确定所述检索服务对应的分片,并将所述检索服务对应的所述分片的信息返回给所述检索服务;根据所述检索服务对应的分片的信息,所述检索服务获取所述分片中存储的特征数据,并将获取的所述特征数据加载到所述检索服务的内存中。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
实施例2
在本实施例中提供了一种人像库的数据检索方法,图2是根据本发明实施例2的人像库的数据检索方法的流程图,如图2所示,该流程包括如下步骤:
步骤S202,接收在人像库中检索目标特征数据的第一检索请求,其中,所述人像库包含多个分片,每个分片用于存储多条特征数据;
步骤S204,根据分片与检索服务的对应关系,确定所述多个分片各自对应的检索服务;
步骤S206,向确定的检索服务发起在所述检索服务对应的分片中检索所述目标特征数据的第二检索请求;
步骤S208,接收所述检索服务返回的检索结果,并对接收到的所述检索结果进行预定处理,其中,所述预定处理包括以下至少之一:去重处理、合并处理。
通过上述步骤,人像库被分为多个分片,且在需要对目标特征数据进行检索的时候,采用多个分片各自对应的检索服务开展检索,并对最终的检索结果进行合并、去重处理,实现了对人像库的分片检索。因此,可以解决人像库过大导致特征数据的检索难以执行的问题,实现了对大型人像库的快速、稳定、高效的检索。
在至少一个示例性实施例中,步骤S202之前,所述方法可以还包括:
管理服务将待检索的图片发送到特征提取服务进行特征值提取,以获得所述目标特征数据;
所述管理服务向调度服务发送在人像库中检索所述目标特征数据的所述第一检索请求。
需要说明的是,本实施例中的人像库的数据检索方法可以与实施例1中的人像库的数据存储方法结合使用。也就是说,使用实施例1中的过程进行数据存储,基于存储的数据库使用实施例2中的人像库的数据检索方法进行数据检索。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
实施例3
在本实施例中提供了一种人像库的数据存储系统,该系统用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图3是根据本发明实施例3的人像库的数据存储系统的示例性结构框图,如图3所示,该装置包括:应用服务模块31、管理服务模块32、调度服务模块33。
所述应用服务模块31,用于向管理服务模块32发送特征数据添加请求,其中,所述特征数据添加请求用于请求将特征数据添加到人像库,所述人像库包含多个分片,每个分片用于存储多条特征数据;
所述管理服务模块32,用于接收所述特征数据添加请求,根据所述人像库包含的所述多个分片的信息,确定用于存储所述特征数据的目标分片;
调度服务模块33,用于获取所述特征数据,并将所述特征数据存储到所述目标分片中。
通过上述系统,人像库被分为多个分片,且在数据特征添加到人像库的过程中,是添加到可用的目标分片中进行存储,从而实现了对人像库的分片存储和管理,并且为人像库的分片检索提供了基础。因此,可以解决人像库过大导致特征数据的存储难以执行的问题,实现了对大型人像库的快速、稳定、高效的存储。
在至少一个示例性实施例中,所述管理服务模块32用于:
确定所述多个分片中是否存在能够容纳所述特征数据的可用分片;
在确定存在所述可用分片的情况下,将所述可用分片确定为用于存储所述特征数据的所述目标分片;
在确定不存在所述可用分片的情况下,创建分片,并将创建的所述分片确定为用于存储所述特征数据的所述目标分片。
在至少一个示例性实施例中,如图3所示,所述系统还包括:缓存服务模块34,用于存储分片的分片计数器。
所述管理服务模块32还用于在根据所述人像库包含的所述多个分片的信息,确定用于存储所述特征数据的目标分片之后,根据所述特征数据的数量更新所述缓存服务模块34中存储的对应于所述目标分片的分片计数器的取值。
所述管理服务模块32还用于确定所述缓存服务模块34中存储的所述多个分片中每个分片的分片计数器的取值是否达到容量阈值,在所述多个分片中存在分片的分片计数器的取值未达到所述容量阈值的情况下,确定存在所述可用分片;在所述多个分片中所有分片的分片计数器的取值均达到所述容量阈值的情况下,确定不存在所述可用分片。
在至少一个示例性实施例中,如图3所示,所述系统还包括特征提取服务模块35、检索服务模块36和存储服务模块37。
所述管理服务模块32还用于确定是否存在可用的检索服务模块36,在确定存在可用的检索服务模块36的情况下,调用所述调度服务模块33。
所述调度服务模块33用于在所述管理服务模块32的调度下请求所述特征提取服务模块35获取所述特征数据,并将所述特征数据通过所述存储服务模块37存储到所述目标分片中。
在至少一个示例性实施例中,如图3所示,所述系统还包括检索服务模块36,所述调度服务模块33用于调度所述目标分片对应的检索服务模块36将所述特征数据加载到检索服务模块36的内存中。
在至少一个示例性实施例中,如图3所示,所述系统还包括检索服务模块36和关系型数据库38。
所述管理服务模块32还用于接收所述检索服务模块36发送的检索服务的注册请求;根据所述关系型数据库38中存储的分片与检索服务模块36的对应关系,确定所述检索服务模块36对应的分片,并将所述检索服务模块36对应的所述分片的信息返回给所述检索服务模块36;
所述检索服务模块36用于根据所述检索服务模块36对应的分片的信息,获取所述分片中存储的特征数据,并将获取的所述特征数据加载到所述检索服务模块36的内存中。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
实施例4
在本实施例中提供了一种人像库的数据检索系统,该系统用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图4是根据本发明实施例4的人像库的数据检索系统的示例性结构框图,如图4所示,该装置包括:调度服务模块41和检索服务模块42。
所述调度服务模块41,用于接收在人像库中检索目标特征数据的第一检索请求,其中,所述人像库包含多个分片,每个分片用于存储多条特征数据;根据分片与检索服务模块42的对应关系,确定所述多个分片各自对应的检索服务模块42;向确定的所述检索服务模块42发起在所述检索服务模块42对应的分片中检索所述目标特征数据的第二检索请求;
所述检索服务模块42,用于根据所述第二检索请求执行检索,并向所述调度服务模块41返回检索结果;所述调度服务模块41,还用于对接收到的所述检索结果进行预定处理,其中,所述预定处理包括以下至少之一:去重处理、合并处理。
通过上述系统,人像库被分为多个分片,且在需要对目标特征数据进行检索的时候,采用多个分片各自对应的检索服务开展检索,并对最终的检索结果进行合并、去重处理,实现了对人像库的分片检索。因此,可以解决人像库过大导致特征数据的检索难以执行的问题,实现了对大型人像库的快速、稳定、高效的检索。
在至少一个示例性实施例中,如图4所示,所述系统还包括管理服务模块43和特征提取服务模块44,其中,所述管理服务模块43将待检索的图片发送到所述特征提取服务模块44进行特征值提取,以获得所述目标特征数据;所述管理服务模块43向所述调度服务模块41发送在人像库中检索所述目标特征数据的所述第一检索请求。
需要说明的是,本实施例中的人像库的数据检索系统可以与实施例3中的人像库的数据存储系统结合使用。也就是说,使用实施例3中的系统架构进行数据存储,基于存储的数据库使用实施例4中的人像库的数据检索系统进行数据检索,其中,部分模块可以共用,例如,本实施例中调度服务模块41、检索服务模块42、管理服务模块43和特征提取服务模块44和实施例3中的调度服务模块33、检索服务模块36、管理服务模块32和特征提取服务模块35可以是共用或相同的模块。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
实施例5
本发明的实施例提供了一种存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述方法实施例1中的步骤。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
步骤S1,接收特征数据添加请求,其中,所述特征数据添加请求用于请求将特征数据添加到人像库,所述人像库包含多个分片,每个分片用于存储多条特征数据;
步骤S2,根据所述人像库包含的所述多个分片的信息,确定用于存储所述特征数据的目标分片;
步骤S3,获取所述特征数据,并将所述特征数据存储到所述目标分片中。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
实施例6
本发明的实施例提供了一种存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述方法实施例2中的步骤。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
步骤S1,接收在人像库中检索目标特征数据的第一检索请求,其中,所述人像库包含多个分片,每个分片用于存储多条特征数据;
步骤S2,根据分片与检索服务的对应关系,确定所述多个分片各自对应的检索服务;
步骤S3,向确定的检索服务发起在所述检索服务对应的分片中检索所述目标特征数据的第二检索请求;
步骤S4,接收所述检索服务返回的检索结果,并对接收到的所述检索结果进行预定处理,其中,所述预定处理包括以下至少之一:去重处理、合并处理。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
实施例7
本实施例详细描述了人像库的数据存储、检索的整体方案。由于人像库特征值数量众多,每个检索服务内存加载的数量有限,且检索能力也是有限的,因此本实施例采用分治-合并的思想对海量数据进行分片存储、分片加载以及分片检索实现人像库的分片方案,该方案中,大型人像库分布式加载至不同检索进行比对任务调度,并进行分布式文件存储。
图5是根据本发明实施例7的人像库的数据存储、检索的整体架构图,以下基于图5所示的架构,描述人像库的数据存储、检索方案的详细处理细节,应当注意的是,以下所描述均是为便于理解所给出的具体实施实例,其不应当被理解为对本发明的保护范围的限定。
人像库分库方案中最基础的一个概念就是分片。分片是将人像库的特征值,按照一定大小拆分成若干个小块,每个小块称之为分片。分片是存储一定数量特征值的逻辑单位。所有分片的集合就是原本的人像库。图6是根据本发明实施例7的人像库分片存储的示意图。
每个分片都会关联一个检索服务,表示该分片的特征值加载到该检索服务上进行检索计算。分片绑定在哪个检索服务是在创建分片时,由管理服务统一分配、管理的。
管理服务是分库方案的核心服务。主要负责库的切分、分片的管理、分片与检索服务资源的绑定,以及对分片的查询操作。
人像库的所有分片统一由管理服务进行创建、管理,管理服务是分片的“大脑”。检索服务在加载分片时,也是由管理服务将分片的位置告诉给检索服务。
每个分片都有一个分片计数器,缓存在缓存服务中,利用缓存服务的高速读写性能,对分片数量进行统计。分片都有阈值,如果分片计数器数值超过阈值,表示分片已经饱和,需要创建新的分片来存储特征值。
每个分片均匀分配到所有检索服务资源和存储服务中。所有分片的特征值都持久化到指定的存储服务中,保证分片数据不丢失。
对分片数据,除了检索服务需要对其进行加载、检索计算外,还有调度服务也需要使用。
调度服务主要负责接收上层来的检索请求,根据分片绑定的检索服务信息,将任务进行调度,将每个检索服务的结果进行合并,保证最终结果的准确性。
因为调度服务是无状态的工作节点,因此缓存服务中除了缓存每个未饱和的分片的计数器之外,还缓存每个人像库的分片和检索服务资源的对应关系,在检索时,调度服务可以获取该关系找到对应的检索服务资源进行计算。
人像库分库的方案中,主要解决存储和检索两大问题,此外,还可能涉及到检索服务的启动加载流程,以下分别进行描述。
一、人像特征值存储流程
首要核心流程是添加特征值,数据的存储是整个方案的开始,也是核心解决的问题之一。特征值存储过程中涉及分片的创建、向分片添加特征值操作。
在添加特征值之前,首先创建人像库。人像库的创建仅是在数据库创建一条该库的记录,此时并无任务数据流进入。
而人像库中创建分片的动作是懒执行动作,并不是在创建库时候就将分片创建成功,而是当有数据流进入,在添加特征值时候,当发现需要创建新的分片时才会主动创建分片。懒执行的好处就是不会造成分片浪费,分片关联的资源总是最新可用的检索算子资源。
图7是根据本发明实施例7的添加人像库添加特征值的流程示意图。如图7所示,该流程包括以下处理。
步骤701,应用服务请求管理服务添加库成员;
步骤702,管理服务获取该库可用分片;
步骤703,获取该库分片的特征值数量,如果分片可用,则该分片计数器的值加1,继续使用该分片,否则需要重新创建分片;
管理服务查看是否可用的检索服务资源;
返回可用检索服务资源,如果没有可用资源则添加特征值失败;
步骤704,获取到可用分片后,持久化分片信息;
步骤705,请求调度服务执行特征值成员;
步骤706,调度服务请求特征获取服务获取特征值;
步骤707,调度服务将特征值存入存储服务,同时添加到检索服务内存中;
步骤708,调度服务返回特征值以及存储结果;
步骤709,如果特征值存储成功,则管理服务将特征值的结构化数据发送到云数据库存储,并将最终结果返回应用服务。
二、检索服务启动加载流程
特征值都要持久化到存储服务,目的就是为了保证数据不丢,在检索服务重启、宕机恢复时,可以恢复之前数据,继续有业务处理能力。
图8是根据本发明实施例7的检索服务启动加载的流程示意图。如图8所示,该流程包括以下处理。
步骤801,检索服务启动上报注册到管理服务;
步骤802,管理服务查询关系型数据库获取该检索服务资源绑定的分片信息;
步骤803,将其需要加载的人像库分片信息返回给检索服务;
步骤804,检索服务根据该分片存储的位置,找对应的存储服务获取特征值并且加载到内存。
三、人像库检索
人像库检索需要在海量的特征值人像库中准确、快速地查找出达到相似度阈值的人。海量人像库的存储是分布存储,因此,人像检索也需要使用分治-合并的方式检索。
首先需要将人像库的检索请求分割成一个个分片的检索请求,即一个个子任务,并分发给加载了这些分片的检索服务。最后将每个检索服务返回的结果进行去重、合并操作,将最终结果返回给管理服务。
值得注意的是,请求的所有检索服务,有一个检索服务返回失败,则整个检索都会失败。因为每个检索服务都加了海量人像库的其中一个或者几个分片,所有分片的总和即是这个人像库,检索时,缺少任何一个分片的结果,就很有可能造成结果的不准确甚至错误,因此检索必须保证所有分片检索都是成功,才会进行合并操作。
图9是根据本发明实施例7的人像库检索的流程示意图。如图9所示,该流程包括以下处理。
步骤901,管理服务将需要检索的图片发送到任意一个特征获取服务进行特征值获取;
步骤902,管理服务请求调度服务在某个人像库中检索该特征值;
步骤903,调度服务根据人像库分片信息,从缓存服务中获取对应的检索服务,发起检索请求;
步骤904,每个分片的检服务将检索结果依次返回给调度服务,调度服务进行去重、合并操作,形成最终结果;
步骤905,调度服务将最终结果返回给智能服务。
综上,本发明实施例通过将海量人像库进行分片,存储到各个检索服务内存中。调度服务通过分治-合并策略执行检索任务,同步请求各个分片检索,进行结果合并,返回最终结果。该人像库分库的实现方法适用于所有海量级人像库存储、检索等此类应用场景。
本发明实施例的方案具有提下优点:
(1)本发明实施例提出了人像库分片存储的概念,对于海量人像库进行分片,分别持久化在不同的存储服务和加载到检索服务资源中,解决海量数据的存储问题;
(2)本发明实施例还提出了使用分治-合并方式进行海量人像库的检索,不仅在算法层面,而且在系统层面上,保证了在海量数据情况下检索,能长期稳定的满足业务需求。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (17)

1.一种人像库的数据存储方法,其特征在于,包括:
接收特征数据添加请求,其中,所述特征数据添加请求用于请求将特征数据添加到人像库,所述人像库包含多个分片,每个分片用于存储多条特征数据;
根据所述人像库包含的所述多个分片的信息,确定用于存储所述特征数据的目标分片;
获取所述特征数据,并将所述特征数据存储到所述目标分片中。
2.根据权利要求1所述的方法,其特征在于,根据所述人像库包含的所述多个分片的信息,确定用于存储所述特征数据的目标分片包括:
确定所述多个分片中是否存在能够容纳所述特征数据的可用分片;
在确定存在所述可用分片的情况下,将所述可用分片确定为用于存储所述特征数据的所述目标分片;
在确定不存在所述可用分片的情况下,创建分片,并将创建的所述分片确定为用于存储所述特征数据的所述目标分片。
3.根据权利要求2所述的方法,其特征在于,
根据所述人像库包含的所述多个分片的信息,确定用于存储所述特征数据的目标分片之后,还包括:根据所述特征数据的数量更新对应于所述目标分片的分片计数器的取值;
确定所述多个分片中是否存在能够容纳所述特征数据的可用分片包括:确定所述多个分片中每个分片的分片计数器的取值是否达到容量阈值,在所述多个分片中存在分片的分片计数器的取值未达到所述容量阈值的情况下,确定存在所述可用分片;在所述多个分片中所有分片的分片计数器的取值均达到所述容量阈值的情况下,确定不存在所述可用分片。
4.根据权利要求1所述的方法,其特征在于,获取所述特征数据,并将所述特征数据存储到所述目标分片中包括:
确定是否存在可用的检索服务;
在确定存在可用的检索服务的情况下,请求特征提取服务获取所述特征数据,并将所述特征数据存储到所述目标分片中。
5.根据权利要求1所述的方法,其特征在于,获取所述特征数据之后,还包括:
将所述特征数据加载到所述目标分片对应的检索服务的内存中。
6.根据权利要求1所述的方法,其特征在于,还包括:
接收检索服务的注册请求;
根据分片与检索服务的对应关系,确定所述检索服务对应的分片,并将所述检索服务对应的所述分片的信息返回给所述检索服务;
根据所述检索服务对应的分片的信息,所述检索服务获取所述分片中存储的特征数据,并将获取的所述特征数据加载到所述检索服务的内存中。
7.一种人像库的数据检索方法,其特征在于,包括:
接收在人像库中检索目标特征数据的第一检索请求,其中,所述人像库包含多个分片,每个分片用于存储多条特征数据;
根据分片与检索服务的对应关系,确定所述多个分片各自对应的检索服务;
向确定的检索服务发起在所述检索服务对应的分片中检索所述目标特征数据的第二检索请求;
接收所述检索服务返回的检索结果,并对接收到的所述检索结果进行预定处理,其中,所述预定处理包括以下至少之一:去重处理、合并处理。
8.根据权利要求7所述的方法,其特征在于,接收在人像库中检索目标特征数据的第一检索请求之前,还包括:
管理服务将待检索的图片发送到特征提取服务进行特征值提取,以获得所述目标特征数据;
所述管理服务向调度服务发送在人像库中检索所述目标特征数据的所述第一检索请求。
9.一种人像库的数据存储系统,其特征在于,包括:
应用服务模块,用于向管理服务模块发送特征数据添加请求,其中,所述特征数据添加请求用于请求将特征数据添加到人像库,所述人像库包含多个分片,每个分片用于存储多条特征数据;
所述管理服务模块,用于接收所述特征数据添加请求,根据所述人像库包含的所述多个分片的信息,确定用于存储所述特征数据的目标分片;
调度服务模块,用于获取所述特征数据,并将所述特征数据存储到所述目标分片中。
10.根据权利要求9所述的系统,其特征在于,所述管理服务模块用于:
确定所述多个分片中是否存在能够容纳所述特征数据的可用分片;
在确定存在所述可用分片的情况下,将所述可用分片确定为用于存储所述特征数据的所述目标分片;
在确定不存在所述可用分片的情况下,创建分片,并将创建的所述分片确定为用于存储所述特征数据的所述目标分片。
11.根据权利要求10所述的系统,其特征在于,
所述系统还包括:缓存服务模块,用于存储分片的分片计数器;
所述管理服务模块还用于在根据所述人像库包含的所述多个分片的信息,确定用于存储所述特征数据的目标分片之后,根据所述特征数据的数量更新所述缓存服务模块中存储的对应于所述目标分片的分片计数器的取值;
所述管理服务模块还用于确定所述缓存服务模块中存储的所述多个分片中每个分片的分片计数器的取值是否达到容量阈值,在所述多个分片中存在分片的分片计数器的取值未达到所述容量阈值的情况下,确定存在所述可用分片;在所述多个分片中所有分片的分片计数器的取值均达到所述容量阈值的情况下,确定不存在所述可用分片。
12.根据权利要求9所述的系统,其特征在于,还包括特征提取服务模块、检索服务模块和存储服务模块,
所述管理服务模块还用于确定是否存在可用的检索服务模块,在确定存在可用的检索服务模块的情况下,调用所述调度服务模块;
所述调度服务模块用于在所述管理服务模块的调度下请求所述特征提取服务模块获取所述特征数据,并将所述特征数据通过所述存储服务模块存储到所述目标分片中。
13.根据权利要求9所述的系统,其特征在于,还包括检索服务模块,
所述调度服务模块用于调度所述目标分片对应的检索服务模块将所述特征数据加载到检索服务模块的内存中。
14.根据权利要求9所述的系统,其特征在于,还包括检索服务模块和关系型数据库,
所述管理服务模块还用于接收所述检索服务模块发送的检索服务的注册请求;根据所述关系型数据库中存储的分片与检索服务模块的对应关系,确定所述检索服务模块对应的分片,并将所述检索服务模块对应的所述分片的信息返回给所述检索服务模块;
所述检索服务模块用于根据所述检索服务模块对应的分片的信息,获取所述分片中存储的特征数据,并将获取的所述特征数据加载到所述检索服务模块的内存中。
15.一种人像库的数据检索系统,其特征在于,包括:调度服务模块和检索服务模块,其中,
所述调度服务模块,用于接收在人像库中检索目标特征数据的第一检索请求,其中,所述人像库包含多个分片,每个分片用于存储多条特征数据;根据分片与检索服务模块的对应关系,确定所述多个分片各自对应的检索服务模块;向确定的所述检索服务模块发起在所述检索服务模块对应的分片中检索所述目标特征数据的第二检索请求;
所述检索服务模块,用于根据所述第二检索请求执行检索,并向所述调度服务模块返回检索结果;
所述调度服务模块,还用于对接收到的所述检索结果进行预定处理,其中,所述预定处理包括以下至少之一:去重处理、合并处理。
16.根据权利要求15所述的系统,其特征在于,还包括管理服务模块和特征提取服务模块,其中,
所述管理服务模块将待检索的图片发送到所述特征提取服务模块进行特征值提取,以获得所述目标特征数据;
所述管理服务模块向所述调度服务模块发送在人像库中检索所述目标特征数据的所述第一检索请求。
17.一种存储介质,其特征在于,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行所述权利要求1至8任一项中所述的方法。
CN202011126487.XA 2020-10-20 2020-10-20 人像库的数据存储、检索方法及装置、存储介质 Pending CN112231501A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011126487.XA CN112231501A (zh) 2020-10-20 2020-10-20 人像库的数据存储、检索方法及装置、存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011126487.XA CN112231501A (zh) 2020-10-20 2020-10-20 人像库的数据存储、检索方法及装置、存储介质

Publications (1)

Publication Number Publication Date
CN112231501A true CN112231501A (zh) 2021-01-15

Family

ID=74118423

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011126487.XA Pending CN112231501A (zh) 2020-10-20 2020-10-20 人像库的数据存储、检索方法及装置、存储介质

Country Status (1)

Country Link
CN (1) CN112231501A (zh)

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103310023A (zh) * 2013-07-05 2013-09-18 深圳中兴网信科技有限公司 分布式搜索系统和分布式搜索方法
CN106055587A (zh) * 2016-05-21 2016-10-26 乐视控股(北京)有限公司 一种分库数据库系统及其路由方法
CN108228709A (zh) * 2017-11-29 2018-06-29 北京市商汤科技开发有限公司 数据存储方法和系统、电子设备、程序和介质
CN108460072A (zh) * 2017-12-26 2018-08-28 北京国电通网络技术有限公司 配用电数据检索方法和系统
CN110795432A (zh) * 2019-10-29 2020-02-14 腾讯云计算(北京)有限责任公司 一种特征数据的检索方法、装置及存储介质
CN111382156A (zh) * 2020-02-14 2020-07-07 石化盈科信息技术有限责任公司 一种数据采集方法、系统、装置、电子设备及存储介质
CN111444445A (zh) * 2020-03-25 2020-07-24 平安医疗健康管理股份有限公司 一种数据传输方法、系统、计算机设备和可读存储介质
KR102141640B1 (ko) * 2020-04-13 2020-08-05 주식회사 데이터월드 실시간 네트워크 데이터 관리 방법 및 이를 실행하는 서버
CN111597160A (zh) * 2020-04-21 2020-08-28 中国人民财产保险股份有限公司 分布式数据库系统、分布式数据处理方法和装置
CN111767282A (zh) * 2020-06-12 2020-10-13 咪咕文化科技有限公司 基于MongoDB的存储系统及数据插入方法和存储介质
CN111782134A (zh) * 2019-06-14 2020-10-16 北京京东尚科信息技术有限公司 数据处理方法、装置、系统和计算机可读存储介质

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103310023A (zh) * 2013-07-05 2013-09-18 深圳中兴网信科技有限公司 分布式搜索系统和分布式搜索方法
CN106055587A (zh) * 2016-05-21 2016-10-26 乐视控股(北京)有限公司 一种分库数据库系统及其路由方法
CN108228709A (zh) * 2017-11-29 2018-06-29 北京市商汤科技开发有限公司 数据存储方法和系统、电子设备、程序和介质
CN108460072A (zh) * 2017-12-26 2018-08-28 北京国电通网络技术有限公司 配用电数据检索方法和系统
CN111782134A (zh) * 2019-06-14 2020-10-16 北京京东尚科信息技术有限公司 数据处理方法、装置、系统和计算机可读存储介质
CN110795432A (zh) * 2019-10-29 2020-02-14 腾讯云计算(北京)有限责任公司 一种特征数据的检索方法、装置及存储介质
CN111382156A (zh) * 2020-02-14 2020-07-07 石化盈科信息技术有限责任公司 一种数据采集方法、系统、装置、电子设备及存储介质
CN111444445A (zh) * 2020-03-25 2020-07-24 平安医疗健康管理股份有限公司 一种数据传输方法、系统、计算机设备和可读存储介质
KR102141640B1 (ko) * 2020-04-13 2020-08-05 주식회사 데이터월드 실시간 네트워크 데이터 관리 방법 및 이를 실행하는 서버
CN111597160A (zh) * 2020-04-21 2020-08-28 中国人民财产保险股份有限公司 分布式数据库系统、分布式数据处理方法和装置
CN111767282A (zh) * 2020-06-12 2020-10-13 咪咕文化科技有限公司 基于MongoDB的存储系统及数据插入方法和存储介质

Similar Documents

Publication Publication Date Title
CN107832406B (zh) 海量日志数据的去重入库方法、装置、设备及存储介质
CN107491523B (zh) 存储数据对象的方法及装置
CN109739815B (zh) 文件处理方法、系统、装置、设备及存储介质
CN111324665B (zh) 一种日志回放方法及装置
CN110784498B (zh) 一种个性化数据容灾方法及装置
CN108228709B (zh) 数据存储方法和系统、电子设备、程序和介质
US20190073395A1 (en) Metad search process for large scale storage system
CN111917834A (zh) 一种数据同步方法、装置、存储介质及计算机设备
US20210365413A1 (en) Systems and methods for searching deduplicated data
CN109271545A (zh) 一种特征检索方法及装置、存储介质和计算机设备
CN106407395A (zh) 数据查询的处理方法及装置
CN111427931A (zh) 分布式查询引擎及其查询关系型数据库的方法
CN114610680A (zh) 分布式文件系统元数据管理方法、装置、设备及存储介质
US20220342888A1 (en) Object tagging
CN111026331A (zh) 请求响应方法、装置、设备及计算机可读存储介质
CN110716924A (zh) 删除过期数据的方法和装置
US10162841B1 (en) Data management platform
US11422743B2 (en) Distributed storage orphan scan
CN107181773A (zh) 分布式存储系统的数据存储及数据管理方法、设备
CN113051221A (zh) 数据存储方法、装置、介质、设备及分布式文件系统
CN116775712A (zh) 联表查询方法、装置、电子设备、分布式系统和存储介质
CN112231501A (zh) 人像库的数据存储、检索方法及装置、存储介质
US11010410B1 (en) Processing data groupings belonging to data grouping containers
CN116976457A (zh) 模型加载方法、推理系统、装置和计算机设备
US8028011B1 (en) Global UNIX file system cylinder group cache

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