CN111552740A - 数据处理方法及装置 - Google Patents

数据处理方法及装置 Download PDF

Info

Publication number
CN111552740A
CN111552740A CN202010350809.2A CN202010350809A CN111552740A CN 111552740 A CN111552740 A CN 111552740A CN 202010350809 A CN202010350809 A CN 202010350809A CN 111552740 A CN111552740 A CN 111552740A
Authority
CN
China
Prior art keywords
target
data
feature
library
storage block
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.)
Granted
Application number
CN202010350809.2A
Other languages
English (en)
Other versions
CN111552740B (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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202010350809.2A priority Critical patent/CN111552740B/zh
Publication of CN111552740A publication Critical patent/CN111552740A/zh
Application granted granted Critical
Publication of CN111552740B publication Critical patent/CN111552740B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • 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/58Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/583Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
    • 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)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Library & Information Science (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供了一种数据处理方法、装置、设备及存储介质;方法包括:接收到针对目标特征库的特征数据处理请求,特征数据处理请求,用于请求对目标特征数据执行目标类型的数据处理;其中,目标特征库的特征数据通过至少一个存储块存储,用于供进行特征数据检索及查询;响应于特征数据处理请求,确定所述目标特征数据对应的所述目标特征库的目标存储块;获取对应所述目标特征库的写锁;基于所述目标存储块,对所述目标特征数据执行所述目标类型的数据处理,并释放所述写锁。通过本发明,采用块存储方式存储目标特征库中的特征数据,能够有效节省内存开销,减少检索过程中的等待时间,同时,通过读取目标特征库中的特征数据实现特征数据检索及查询。

Description

数据处理方法及装置
技术领域
本发明涉及云技术领域中的云存储技术及数据库技术,尤其涉及一种数据处理方法、装置、设备及计算机存储介质。
背景技术
云技术(Cloud technology)是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。借助于云技术的快速发展,基于云部署的计算机视觉技术,例如人脸识别与检索技术已在智慧安防、智慧社区、智慧零售等领域得到广泛应用。
对于云场景下的不同业务场景,特征库存储着对应不同业务的特征数据,以在相应的业务场景下,供进行特征数据检索。例如,对应人脸门禁、人脸支付的业务场景,可分别设置相应的存储有人脸特征数据的特征库;对应声纹密码校验的业务场景,可设置相应的存储有声纹特征数据的特征库。
相关技术中,为了满足多个业务场景或单个业务场景的需要,往往设置多个特征库,对于特征库中特征数据的存储,往往采用基于对象数组(vector)连续存储的方式,该方式需要预留足够的内存来保证大规模新增特征数据的需求,大量占用内存资源,造成内存资源的浪费;同时,当依据特征数据处理请求对某个特征库的特征数据进行处理时,需要对所有特征库全局写锁,造成其他特征数据处理请求的延迟,并可能形成长尾请求。
发明内容
本发明实施例提供一种数据处理方法、装置及计算机存储介质,能够有效节省内存开销,提高特征数据处理的处理效率。
本发明实施例的技术方案是这样实现的:
本发明实施例提供了一种数据处理方法,所述方法包括:
接收到针对目标特征库的特征数据处理请求,所述特征数据处理请求,用于请求对目标特征数据执行目标类型的数据处理;
其中,所述目标特征库的特征数据通过至少一个存储块存储;
响应于所述特征数据处理请求,确定所述目标特征数据对应的所述目标特征库的目标存储块;
获取对应所述目标特征库的写锁;
基于所述目标存储块,对所述目标特征数据执行所述目标类型的数据处理,并释放所述写锁。
本发明实施例还提供了一种数据处理装置,所述装置包括:
接收模块,用于接收到针对目标特征库的特征数据处理请求,所述特征数据处理请求,用于请求对目标特征数据执行目标类型的数据处理;其中,所述目标特征库的特征数据通过至少一个存储块存储;
确定模块,用于响应于所述特征数据处理请求,确定所述目标特征数据对应的所述目标特征库的目标存储块;
获取模块,用于获取对应所述目标特征库的写锁;
处理模块,用于基于所述目标存储块,对所述目标特征数据执行所述目标类型的数据处理,并释放所述写锁。
在上述方案中,所述确定模块,还用于:
当所述目标类型的数据处理为特征数据存储时,解析所述特征数据处理请求,得到待存储的所述目标特征数据;
查询所述目标特征库对应的空闲列表,得到查询结果;
其中,所述空闲列表用于记录空闲存储位,所述空闲存储位指示所述目标特征库中已删除数据所对应的存储块;
基于所述查询结果,确定所述目标特征数据对应的所述目标特征库的目标存储块。
在上述方案中,所述确定模块,还用于:
当所述查询结果表征所述空闲列表中存在至少一个空闲存储位时,获取所述目标特征数据所对应的数据大小;
基于所述目标特征数据所对应的数据大小,确定目标空闲存储位,并将所述目标空闲存储位所指示的存储块作为所述目标存储块。
在上述方案中,所述确定模块,还用于:
当所述查询结果表征所述空闲列表中不存在空闲存储位时,获取最新建立的所述目标特征库的存储块的剩余存储容量,以及所述目标特征数据所对应的数据大小;
将所述剩余存储容量与所述目标特征数据的所对应的数据大小进行比对,得到比对结果;
基于所述比对结果,确定所述目标特征数据对应的所述目标特征库的目标存储块。
在上述方案中,所述处理模块,还用于:
当所述比对结果表征所述剩余存储容量不小于所述目标特征数据所对应的数据大小时,将所述目标特征数据存储至所述目标特征库的目标存储块中;
当所述比对结果表征所述剩余存储容量小于所述目标特征数据所对应的数据大小,并且所述剩余存储容量为零时,为所述目标特征库新建一个存储块,将所述目标特征数据存储至所述新存储块中;
当所述比对结果表征所述剩余存储容量小于所述目标特征数据所对应的数据大小,并且所述剩余存储容量不为零时,将所述目标特征数据部分存储至目标存储块,以使最后一个存储块的剩余存储容量为零,并新建一个存储块,将剩余的目标特征数据存储至新存储块中。
在上述方案中,所述确定模块,还用于:
当所述目标类型的数据处理为特征数据删除时,解析所述特征数据处理请求,得到待删除的所述目标特征数据的数据标识;
根据所述数据标识,确定所述目标特征数据对应的所述目标特征库的目标存储块;
相应的,所述处理模块,还用于:
删除所述目标存储块中存储的所述目标特征数据;
在所述目标特征库的空闲列表中,记录所述目标存储块所对应的空闲存储位。
在上述方案中,所述确定模块,还用于
当所述目标类型的数据处理为特征数据修改时,解析所述特征数据处理请求,得到待修改的所述目标特征数据的数据标识,以及用于修改所述目标特征数据的修改数据;
根据所述数据标识,确定所述目标特征数据对应的所述目标特征库的目标存储块;
相应的,所述处理模块,用于在所述目标存储块中查找到所述目标特征数据,并将所述目标特征数据替换为所述修改数据。
在上述方案中,当所述目标特征库归属于包括至少两个特征库的特征库集群时,所述接收模块,用于接收到特征库处理请求,所述特征库处理请求,用于请求在所述特征库集群中创建或删除特征库;
所述获取模块,用于响应于所述特征库处理请求,获取对应所述特征库集群的全局写锁;
所述处理模块,用于在所述特征库集群中创建或删除特征库,并释放所述全局写锁。
在上述方案中,所述确定模块,还用于响应于针对所述目标特征库的特征数据检索请求,解析所述特征数据检索请求,得到所述特征数据检索请求所请求检索的特征数据;
所述处理模块,还用于将所述特征数据检索请求所请求检索的特征数据,分别与所述目标特征库的存储块中的特征数据进行匹配,得到匹配结果;
所述输出模块,还用于基于所述匹配结果,返回特征数据检索结果,所述特征数据检索结果,用于表征特征数据检索请求所请求检索的特征数据是否存在于所述目标特征库。
本发明实施例还提供了一种数据处理装置,所述装置包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现本发明实施例提供的数据处理方法。
本发明实施例还提供了一种计算机存储介质,所述计算机存储介质中存储有可计算机可执行指令,所述计算机可执行指令用于执行本发明实施例提供的数据处理方法。
应用本发明实施例提供的数据处理方法、装置及计算机存储介质,至少具有以下有益技术效果:
1)目标特征库的特征数据通过至少一个存储块存储;如此,通过存储块的方式进行特征数据的存储,相较于相关技术中连续存储的方式,无需预留大量内存资源,实现了对特征库的存储优化,节省了内存资源;
2)在接收到针对目标特征库的特征数据处理请求时,获取对应目标特征库的写锁,在基于确定的目标存储块,对特征数据执行相应的处理后,释放对应目标特征库的写锁;如此,为目标特征库设置单独的锁,有效避免了长尾请求的出现,提高多个特征库情况下特征数据处理的并行度,减少了特征数据处理过程中特征数据处理请求的等待时间。
附图说明
图1是本发明实施例提供的数据处理方法的一个应用场景示意图;
图2是本发明实施例提供的电子设备的结构示意图;
图3是本发明实施例提供的数据处理方法的一个可选的流程示意图;
图4是基于vector连续存储的人脸特征检索库的特征新增示意图;
图5是基于vector连续存储人脸特征检索库的特征删除示意图;
图6是基于vector连续存储人脸特征检索库全局写锁示意图;
图7是本发明实施例提供的数据处理方法的一个可选的交互流程示意图;
图8是本发明实施例提供的新增人脸特征数据处理的流程示意图;
图9是本发明实施例提供的数据处理方法中对特征库的写锁示意图;
图10是本发明实施例提供的块存储示意图;
图11是基于块存储的人脸检索库新增人脸特征的示意图;
图12是本发明实施例提供容器复用的示意图;
图13是本发明实施例提供的数据处理装置的结构示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,所描述的实施例不应视为对本发明的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本发明实施例的目的,不是旨在限制本发明。
对本发明实施例进行进一步详细说明之前,对本发明实施例中涉及的名词和术语进行说明,本发明实施例中涉及的名词和术语适用于如下的解释。
1)计算机视觉技术(CV,Computer Vision),是一门研究如何使机器“看”的科学,更进一步的说,就是指用摄影机和电脑代替人眼对目标进行识别、跟踪和测量等机器视觉,并进一步做图形处理,使电脑处理成为更适合人眼观察或传送给仪器检测的图像。作为一个科学学科,计算机视觉研究相关的理论和技术,试图建立能够从图像或者多维数据中获取信息的人工智能系统。计算机视觉技术通常包括图像处理、图像识别、图像语义理解、图像检索、OCR、视频处理、视频语义理解、视频内容/行为识别、三维物体重建、3D技术、虚拟现实、增强现实、同步定位与地图构建等技术,还包括常见的人脸识别、指纹识别等生物特征识别技术。
2)软件开发工具包(SDK,Software Development Kit),一般是一些被软件工程师用于为特定的软件包、软件框架、硬件平台、业务系等建立应用软件的开发工具的集合。
3)云存储(cloud storage)是在云计算概念上延伸和发展出来的一个新的概念,分布式云存储系统(以下简称存储系统)是指通过集群应用、网格技术以及分布存储文件系统等功能,将网络中大量各种不同类型的存储设备(存储设备也称之为存储节点)通过应用软件或应用接口集合起来协同工作,共同对外提供数据存储和业务访问功能的一个存储系统。
4)长尾请求,一般是指明显高于均值的那部分占比较小的请求。业界关于延迟有一个常用的P99标准,也就是99%的请求延迟要满足在一定耗时以内,1%的请求会大于这个耗时,而这1%就可以认为是长尾请求。
5)响应于,用于表示所执行的操作所依赖的条件或者状态,当满足所依赖的条件或状态时,所执行的一个或多个操作可以是实时的,也可以具有设定的延迟;在没有特别说明的情况下,所执行的多个操作不存在执行先后顺序的限制。
在对本发明实施例提供的数据处理方法进行说明之前,对本发明实施例提供的数据处理方法的应用场景进行说明,在不同的应用场景中特征数据的数据类型可以不同,如特征数据可以为图像特征数据、音频特征数据、文本特征数据等,接下来以特征数据是图像特征数据为例,对本发明实施例提供的数据处理方法的应用场景进行说明。
参见图1,图1为本发明实施例提供的数据处理方法的一个应用场景示意图,该应用场景包括多个业务场景(如人脸支付、人脸门禁等),每个业务场景存在相应的特征库,用于存储该业务场景下的特征数据;为实现支撑一个示例性应用,各个业务场景下的摄像头通过网络与终端200连接,终端200通过云带宽连接云端的分发服务器300,分发服务器300将接收的特征数据处理请求分发至相应业务场景对应的云服务器(示例性示出了云服务器400-1~云服务器400-3),云带宽是运用云计算平台的网络,网络可以是广域网或者局域网,又或者是二者的组合,使用无线链路实现数据传输。
在实际应用中,终端200可以为智能手机、笔记本电脑、台式计算机等各种类型的用户终端;分发服务器300既可以为单独配置的支持目标业务的一个云服务器,亦可以配置为一个云服务器集群;云服务器是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的服务器。
终端200,用于获取不同业务场景下的包含目标对象的图像;并分别各个业务场景下获取的图像进行特征提取,得到各个业务场景对应图像的特征数据;发送包含各业务场景特征数据的特征数据处理请求至分发服务器300;
分发服务器300,用于分别将对应各业务场景的特征数据处理请求分发至相应业务场景对应的云服务器;例如,将基于业务场景1采集的图像特征数据对应的特征数据处理请求,缓存至对应该业务场景的消息队列1,并基于消息队列1将对应该业务场景1的特征数据处理请求发送至该业务场景1对应的云服务器400-1;
云服务器,用于在接收到终端200发送的特征数据处理请求后,对特征数据处理请求进行解析,得到目标特征数据以及目标特征库标识,从而确定目标特征数据对应的目标特征库的目标存储块,获取对目标存储库的写锁,基于目标存储块,对目标特征数据执行相应的数据处理,并释放对目标存储库的写锁。
接下来对实施本发明实施例提供的数据处理方法的电子设备进行说明,在实际实施时,电子设备可以是终端或服务器,参见图2,图2是本发明实施例提供的电子设备200的结构示意图,图2所示的电子设备200包括:至少一个处理器210、存储器240、至少一个网络接口220。电子设备200中的各个组件通过总线系统230耦合在一起。可理解,总线系统230用于实现这些组件之间的连接通信。总线系统230除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图2中将各种总线都标为总线系统230。
处理器210可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
存储器240可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。存储器240可选地包括在物理位置上远离处理器210的一个或多个存储设备。
存储器240包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(ROM,Read Only Me mory),易失性存储器可以是随机存取存储器(RAM,Random Access Memor y)。本发明实施例描述的存储器240旨在包括任意适合类型的存储器。
在一些实施例中,存储器240能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
操作系统241,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
网络通信模块242,用于经由一个或多个(有线或无线)网络接口220到达其他计算设备,示例性的网络接口220包括:蓝牙、无线相容性认证(WiFi)、和通用串行总线(USB,Universal Serial Bus)等;
在一些实施例中,本发明实施例提供的数据处理装置可以采用软件方式实现,图2示出了存储在存储器240中的数据处理装置243,其可以是程序和插件等形式的软件,包括以下软件模块:接收模块2431、确定模块2432、获取模块2433、处理模块2434和输出模块2435,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分。将在下文中说明各个模块的功能。
在另一些实施例中,本发明实施例提供的数据处理装置可以采用硬件方式实现,作为示例,本发明实施例提供的数据处理装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本发明实施例提供的数据处理方法,例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(ASIC,Application Specific IntegratedCircuit)、DSP、可编程逻辑器件(PLD,Progra mmable Logic Device)、复杂可编程逻辑器件(CPLD,Complex Programmabl e Logic Device)、现场可编程门阵列(FPGA,Field-Programmable Gate Array)或其他电子元件。
基于上述对本发明实施例的数据处理方法的应用场景及电子设备的说明,下面说明本发明实施例提供的数据处理方法。参见图3,图3是本发明实施例提供的数据处理方法的一个可选的流程示意图,在一些实施例中,该数据处理方法可由服务器或终端单独实施,或由服务器及终端协同实施,以服务器实施为例,本发明实施例提供的数据处理方法包括:
步骤101:服务器接收到针对目标特征库的特征数据处理请求。
这里,特征数据处理请求,用于请求对目标特征数据执行目标类型的数据处理,例如,特征数据处理请求可以对目标特征数据执行存储、删除、修改等类型的数据处理;目标特征库的特征数据通过至少一个存储块存储,每一个存储块能够存储目标数量的固定大小的特征数据,例如,一个特征数据的固定大小为4KB,一个存储块能够存储一万个4KB大小的特征数据,一个特征库存储容量可以其存储需求来调整,通过新增或删除存储块来实现存储特征库存储容量的调整。
在实际应用中,本发明实施例提供的数据处理方法可用于多种业务场景中,如智慧社区、智慧零售、智慧安防等,特征库可以为特征库集群,分别存储着不同业务场景对应的特征数据,如人脸特征检索库、车辆检索库、声纹库等。
例如,社区的智慧安防应用涉及出入口管理系统、周界防范系统、视频监控系统、智能访客系统、停车场管理系统等系统,在社区公共区域、重要周界和社区出入口等区域安置多个摄像头采集图像,摄像头采集到的图像通过网络线缆或无线WiFi传输到设置于社区的安防控制管理中心的终端如台式计算机上,终端对采集到的图像进行特征提取,得到特征数据,并存储至相应的特征库。
步骤102:服务器响应于特征数据处理请求,确定目标特征数据对应的目标特征库的目标存储块。
在实际应用中,服务器对特征数据处理请求进行解析,得到目标特征库标识,基于目标特征库标识,确定用于存储目标特征库中的特征数据的存储块,并基于特征数据处理请求所请求执行的数据处理操作的类型,从存储块中确定出目标特征数据对应的目标存储块。
在一些实施例中,当目标类型的数据处理为特征数据存储时,服务器可以通过如下方式确定目标特征数据对应的目标特征库的目标存储块:
解析特征数据处理请求,得到待存储的目标特征数据;查询目标特征库对应的空闲列表,得到查询结果;基于查询结果,确定目标特征数据对应的目标特征库的目标存储块。
这里,空闲列表用于记录空闲存储位,空闲存储位指示目标特征库中已删除数据所对应的存储块,以及已删除数据在存储块中的位置。
在实际应用中,当特征数据处理请求用于请求对目标特征数据执行特征数据存储时,服务器对特征数据处理请求进行解析,得到特征数据处理请求携带的待存储的目标特征数据,以及目标特征库标识;通过目标特征库标识确定对应的目标特征库,获取并查询目标特征库对应的空闲列表,以确定是否存在空闲存储位以及空闲存储位的数量,基于空闲列表的查询结果,确定目标特征库中能够存储目标特征数据的目标存储块。
在一些实施例中,当查询结果表征空闲列表中存在至少一个空闲存储位时,服务器可以通过如下方式确定目标特征数据对应的目标特征库的目标存储块:
获取目标特征数据所对应的数据大小;基于目标特征数据所对应的数据大小,确定目标空闲存储位,并将目标空闲存储位所指示的存储块作为目标存储块。
在实际应用中,当空闲列表中存在至少一个空闲存储位时,服务器获取目标特征数据对应的数据大小,将目标特征数据对应的数据大小与空闲列表中的空闲存储位能够容纳的数据大小进行比对,从空闲存储位中确定出目标空闲存储位,基于目标空闲存储位,从目标特征库的存储块中找到对应目标空闲存储位的目标存储块以及在目标存储块中的位置。
在实际实施时,目标特征数据可以是对应一个或多个特征的数据,例如,当目标特征数据是两个特征的数据时,需要从空闲列表中找到两个位置连续的空闲存储位,若空闲列表中存在有两个位置连续的空闲存储位,服务器将这两个位置连续的空闲存储位作为目标空闲存储位;将目标空闲存储位所指示的存储块作为目标存储块。
例如,服务器接收到用于存储特征数据的特征数据处理请求,通过解析特征数据处理请求,得到特征数据处理请求携带的待存储的目标特征数据以及目标特征库标识,目标特征数据大小为4KB;服务器根据目标特征库标识,获得目标特征库对应的空闲列表,空闲列表中存在有3个空闲存储位,每个空闲存储位所能容纳的数据大小为4KB,服务器可以将其中一个空闲存储位作为目标空闲存储位,并从目标特征库对应的存储块中找到对应目标空闲存储位的存储块,将该存储块作为目标存储块,用于存储该待存储的目标特征数据。
在另一些实施例中,当查询结果表征空闲列表中不存在空闲存储位时,服务器还可以通过如下方式确定目标特征数据对应的目标特征库的目标存储块:
获取最新建立的目标特征库的存储块的剩余存储容量,以及目标特征数据所对应的数据大小;将剩余存储容量与目标特征数据所对应的数据大小进行比对,得到比对结果;基于比对结果,确定目标特征数据对应的目标特征库的目标存储块。
在实际应用中,当空闲列表中不存在空闲存储位时,服务器获取目标特征库最新建立的存储块(即目标特征库的最后一个存储块)的剩余存储容量,并获取目标特征数据对应的数据大小,通过比对剩余存储容量与目标特征数据的数据大小,确定出目标特征库中能够存储目标特征数据的目标存储块。
在实际实施时,当剩余存储容量大于目标特征数据的数据大小时,表明目标特征库最后一个存储块足够容纳目标特征数据,确定目标特征库最后一个存储块为能够存储目标特征数据的目标存储块;当剩余存储容量小于目标特征数据的数据大小,且剩余存储容量为零时,表明目标特征库最后一个存储块已经存储满了,服务器需要新建一个存储块,将该新存储块作为能够存储目标特征数据的目标存储块;当剩余存储容量小于目标特征数据的数据大小,且剩余存储容量不为零时,表明目标特征库最后一个存储块还未存储满,但剩余存储容量不足以存储下目标特征数据,服务器可以新建一个存储块,将该新存储块与之前的最后一个存储块共同作为目标存储块。
例如,目标特征库已经创建了10个存储块用于存储特征数据,其中,存储块是依据其创建时间的先后进行的排序,每个存储块的存储容量为5M,目标特征库对应的第10个存储块的剩余存储容量为6KB,而目标特征数据的数据大小为4KB,由于第10个存储块的剩余存储容量大于目标特征数据的数据大小,服务器将第10个存储块作为用于存储目标特征数据的目标存储块。在一些实施例中,当目标类型的数据处理为特征数据删除时,服务器可以通过如下方式确定目标特征数据对应的目标特征库的目标存储块:
解析特征数据处理请求,得到待删除的目标特征数据的数据标识;根据数据标识,确定目标特征数据对应的目标特征库的目标存储块。
在实际应用中,当特征数据处理请求用于请求对目标特征数据执行特征数据删除时,服务器对特征数据处理请求进行解析,得到目标特征库的标识以及待删除目标特征数据的数据标识,根据目标特征标识确定用于存储目标特征库的特征数据的存储块,根据目标特征数据的数据标识确定目标特征数据的目标存储块,以及在目标存储块中的位置。
例如,特征数据处理请求中携带有目标特征库标识、目标特征数据、待删除的目标特征数据的数据标识;根据目标特征库确定出目标特征库,以及用于存储目标特征库数据的5个存储块,并根据待删除目标特征数据的数据标识,确定出该目标特征数据存储于第1个存储块,是第1个存储块中的第5个特征数据;服务器将第1个存储块确定为目标存储块,并确定目标特征数据是目标存储块中的第5个数据。
在一些实施例中,当目标类型的数据处理为特征数据修改时,服务器可以通过如下方式确定目标特征数据对应的目标特征库的目标存储块:
解析特征数据处理请求,得到待修改的目标特征数据的数据标识,以及用于修改目标特征数据的修改数据;根据数据标识,确定目标特征数据对应的目标特征库的目标存储块。
在实际应用中,当特征数据处理请求用于请求对目标特征数据执行特征数据修改时,服务器对特征数据处理请求进行解析,得到目标特征库标识、待修改的目标特征数据的数据标识以及用于修改目标特征数据的修改数据,根据目标特征库的标识确定目标特征库对应的存储块,根据目标特征数据的数据标识确定用于存储目标特征数据的目标存储块,以及目标特征数据在目标存储块中的位置。
例如,特征数据处理请求中携带有目标特征库标识、目标特征数据A、待修改的目标特征数据的数据标识、以及用于替换目标特征数据的替换数据B;根据目标特征库确定出目标特征库,以及用于存储目标特征库数据的5个存储块,根据待修改的目标特征数据的数据标识,确定出目标特征数据A存储在第2个存储块,是第2个存储块中的第10个特征数据,服务器将第2个存储块确定为目标存储块,并确定目标特征数据是目标存储块中的第10个数据。
步骤103:服务器获取对应目标特征库的写锁。
这里,锁用于协调多个进程或线程并发访问某一资源的机制,写锁是排他的,只要有一个进程线程对资源持有写锁,就不允许其他线程再上锁。
在实际应用中,服务器根据解析得到的目标特征库标识,确定对应的目标特征库,获取对应目标特征库的写锁,不允许其他线程或进程访问或修改目标特征库中的数据,但不影响其他特征库资源的访问行为。
例如,用于存储特征数据的特征库有3个,分别为特征库1-3,服务器根据特征数据处理请求中携带的目标特征库标识,确定出该特征数据处理请求是针对特征库2中的特征数据进行处理的,服务器获取对特征库2的写锁,特征库1和特征库3中的特征处理还能够被其他服务器进行访问、处理。本发明实施例通过获取对应特征数据修改请求所针对的目标特征库的写锁,减少了锁的持有时间,有效避免了长尾请求的出现,并且提高了并行度。
步骤104:服务器基于目标存储块,对目标特征数据执行目标类型的数据处理,并释放写锁。
在实际应用中,服务器在确定目标存储块后,根据特征数据处理请求所请求执行的数据处理类型,对目标特征数据执行相应类型的处理,并释放对目标特征库的写锁。
在实际实施时,服务器对目标特征数据执行了特征数据处理请求所请求执行的处理后,释放对目标特征库的写锁,允许其他进程或线程读取或修改目标特征库中的数据。
在一些实施例中,当目标类型的数据处理为特征数据存储,并且目标特征库对应的空闲列表中存在空闲存储位时,服务器基于空闲存储位确定目标存储块后,可以通过如下方式对目标特征数据执行目标类型的数据处理:
将待存储的目标特征数据存储至空闲存储位对应的目标存储块,并在空闲列表中删除该空闲存储位的记录。
在实际应用中,服务器查询到目标特征库对应的空闲列表中存在空闲存储位,基于空闲存储位确定该空闲存储位对应的目标存储块以及在目标存储块中的位置,服务器将待存储的目标特征数据存储至该目标存储块,并在空闲列表中删除该空闲存储位的记录。
在另一些实施例中,当目标类型的数据处理为特征数据处理,并且空闲列表中不存在空闲存储位时,服务器基于剩余存储容量与目标特征数据所对应的数据大小的比对结果,确定目标特征数据对应的目标特征库的目标存储块后,服务器可以通过如下方式对目标特征数据执行目标类型的数据处理:
当比对结果表征剩余存储容量不小于目标特征数据所对应的数据大小时,将目标特征数据存储至目标特征库的目标存储块中;
当比对结果表征剩余存储容量小于目标特征数据所对应的数据大小,并且剩余存储容量为零时,为目标特征库新建一个存储块,将目标特征数据存储至新存储块中;
当比对结果表征剩余存储容量小于目标特征数据所对应的数据大小,并且剩余存储容量不为零时,将目标特征数据部分存储至目标存储块,以使最后一个存储块的剩余存储容量为零,并新建一个存储块,将剩余的目标特征数据存储至新存储块中。
例如,目标特征库已经创建了10个存储块用于存储特征数据,其中,存储块是依据其创建时间的先后进行的排序,每个存储块的存储容量为5M,目标特征库对应的第10个存储块的剩余存储容量为4KB,而特征数据的固定大小为1KB,目标特征数据中包含有6个特征数据,其数据大小为6KB,由于目标特征库的剩余存储容量小于目标特征数据的数据大小,且剩余存储容量不为零,服务器将新建一个存储块,即第11个存储块,将4KB的特征数据存储至第10个存储块中,然后将剩余的2KB的特征数据存储至第11个存储块中。
在一些实施例中,当目标类型的数据处理为特征数据删除时,服务器可以通过如下方式对目标特征数据执行目标类型的数据处理:
基于目标存储块,删除目标存储块中存储的目标特征数据;在目标特征库的空闲列表中,记录目标存储块所对应的空闲存储位。
在实际应用中,在服务器基于待删除的目标特征数据的数据标识,确定待删除的目标特征数据对应的目标存储块,以及在目标存储块中的位置后,基于目标存储块以及在目标存储块中的位置,删除目标存储块中存储的目标特征数据,并且记录该删除的目标特征数据对应的目标存储块以及在目标存储块中的位置,并作为空闲存储块,记录在空闲列表中。
在一些实施例中,当目标类型的数据处理为特征数据修改时,服务器可以通过如下方式对目标特征数据执行目标类型的数据处理:
基于目标存储块,在目标存储块中查找到目标特征数据,并将目标特征数据替换为修改数据。
在实际应用中,在服务器基于待修改的目标特征数据的数据标识,确定待修改的目标特征数据对应的目标存储块,以及在目标存储块中的位置后,基于目标存储块、在目标存储块中的位置、以及用于修改目标特征数据的修改数据,在目标存储块中找到目标特征数据,并将目标特征数据替换为修改数据。
例如,特征数据处理请求中携带有目标特征库标识、目标特征数据A、待修改的目标特征数据的数据标识、以及用于替换目标特征数据的替换数据B;根据目标特征库确定出目标特征库,以及待修改的目标特征数据的数据标识,确定出目标特征数据A存储在目标特征库对应的第2个存储块中,并且目标特征数据A是第2个存储块中的第10个特征数据;服务器在第2个存储块中找到特征数据A,将其替换为数据B。
在一些实施例中,当目标特征库归属于包括至少两个特征库的特征库集群时,本发明实施例提供的数据处理方法还可以包括:
服务器接收到特征库处理请求;响应于特征库处理请求,获取对应特征库集群的全局写锁;在特征库集群中创建或删除特征库,并释放全局写锁。
这里,特征库处理请求,用于请求在特征库集群中创建或删除特征库。
在实际应用中,当存在包含多个特征库的特征库集群时,服务器接收到用于在特征库集群中创建或删除特征库的特征库处理请求,响应于特征库处理请求,获取对特征库集群的全局写锁,依据特征库处理请求,在特征库集群中创建或删除特征库,然后释放全局写锁。
作为示例,服务器在接收到用于在特征库集群删除特征库的特征库处理请求后,获取对特征库集群的全局写锁,对特征库处理请求进行解析,得到目标特征库标识,通过目标特征库标识,确定用于存储目标特征库的特征数据的存储块,删除该目标特征库对应的所有存储块中存储的特征数据,然后释放全局写锁。作为示例,服务器在接收到用于在特征库集群中创建特征库的特征库处理请求后,获取对特征库集群的全局写锁,创建新的特征库,并为新特征库新建用于存储特征数据的存储块,并为新特征库建立特征库标识,记录特征库标识与新特征库对应的存储块之间的关联关系,最后释放全局写锁。
例如,特征库集群中包含有5个特征库,分别为特征库1-5;服务器在接收到用于在在特征库集群删除特征库的特征库处理请求后,对特征库处理请求进行解析,得到目标特征库标识,基于目标特征库标识确定待删除的特征库为特征库3;服务器获取对特征库集群即5个特征库的全局写锁,然后找到特征库3对应的所有存储块,将存储块中存储的特征数据全部删除;再释放对特征库集群的全局写锁。
在一些实施例中,当服务器接收到针对目标特征库的特征数据检索请求时,本发明实施例提供的数据处理方法还可以包括:
服务器响应于针对目标特征库的特征数据检索请求,解析特征数据检索请求,得到特征数据检索请求所请求检索的特征数据;
将特征数据检索请求所请求检索的特征数据,分别与目标特征库的存储块中的特征数据进行匹配,得到匹配结果;
基于匹配结果,返回特征数据检索结果。
这里,特征数据检索结果用于表征特征数据检索请求所请求检索的特征数据是否存在于目标特征库。
在实际应用中,当服务器接收到针对目标特征库的特征数据检索请求时,服务器对特征数据检索请求进行解析,得到目标特征库标识、以及特征数据。服务器根据目标特征库标识,确定目标特征库对应的存储块,通过特征数据与目标特征库对应的存储块中的特征数据进行匹配,得到匹配结果;基于匹配结果,返回特征数据检索结果。
通过上述方法,基于存储块的方式对目标特征库中的特征数据的存储,相较于相关技术中连续存储的方式,无需预留大量内存资源,实现了对特征库的存储优化,有效节省了内存资源;并且,在接收到针对目标特征库的特征数据处理请求时,获取对应目标特征库的写锁,在基于确定的目标存储块,对特征数据执行相应的处理后,释放对应目标特征库的写锁,如此,为目标特征库设置单独的锁,有效避免了长尾请求的出现,提高多个特征库情况下特征数据处理的并行度,减少了特征数据处理过程中特征数据处理请求的等待时间。
接下来,将以特征库为人脸特征库为例,人脸特征库是用于存储人脸特征数据,供进行人脸特征数据检索的,人脸特征库可以应用于诸如智慧零售、智慧社区等场景下的身份建档和身份检索等方面。
相关技术中,对于人脸特征库往往采用基于vector连续存储的方式存储人脸特征数据,但该方式需要预留足够的内存来保证大规模新增人脸特征数据的需求,大量占用内存资源,造成内存资源的浪费;同时,基于vector连续存储的人脸特征库在频繁删除人脸特征数据时,会产生大量的内存空洞,导致显存占用大小与人脸检索特征库的规模大小不符;并且在进行特征数据处理时,需要对人脸特征库进行全局写锁,造成锁持有时间过长,导致长尾请求。参见图4、图5、图6,图4为基于vector连续存储的人脸特征检索库的特征新增示意图;图5为基于vector连续存储人脸特征检索库的特征删除示意图;图6为基于vector连续存储人脸特征检索库全局写锁示意图。
鉴于此,将本发明实施例提供的数据处理方法应用于人脸特征库,以解决上述问题,下面继续对本发明实施例提供的数据处理方法进行介绍,在一些实施例中,该数据处理方法可由服务器或终端实施,或由服务器及终端协同实施。图7是本发明实施例提供的数据处理方法的一个可选的交互流程示意图。参见图7,本发明实施例提供的数据处理方法由终端及服务器协同实施。
步骤201:终端采集包含目标对象的图像,并对采集到的图像进行特征提取,得到特征数据。
在实际应用中,终端采集包含有目标对象的图像,并对图像进行人脸特征提取,得到目标对象的人脸特征数据。
作为示例,终端通过调用摄像头,采集包含有目标对象的图像,并对图像进行人脸检测,当从图像中识别出人脸时,对图像中的人脸进行定位,以确定图像中的人脸位置,截取图像中的人脸区域,获得人脸图像,对人脸图像进行特征提取,以获得目标对象脸部信息的特征数据。
步骤202:服务器接收到终端发送的特征数据处理请求。
这里,特征数据处理请求,用于请求对目标特征数据执行目标类型的数据处理,例如,特征数据处理请求可以对目标人脸特征数据执行存储、删除、修改等类型的数据处理;目标特征库的特征数据通过至少一个存储块存储,每一个存储块能够存储目标数量的固定大小的特征数据,例如,一个人脸特征数据的固定大小为4KB,一个存储块能够存储一万个4KB大小的人脸特征数据,一个特征库存储容量可以其存储需求来调整,通过新增或删除存储块来实现存储特征库存储容量的调整。
步骤203:服务器响应于特征数据处理请求,确定目标特征数据对应的目标特征库的目标存储块。
在实际应用中,服务器响应于特征数据处理请求,基于特征数据处理请求中携带的目标特征库标识,确定用于存储目标特征库的特征数据的存储块,并根据特征数据标识,从存储块中确定出目标特征数据对应的目标存储块。
在一些实施例中,当目标类型的数据处理为特征数据存储时,服务器可以通过如下方式确定目标特征数据对应的目标特征库的目标存储块:
解析特征数据处理请求,得到待存储的目标特征数据;查询目标特征库对应的空闲列表,得到查询结果;基于查询结果,确定目标特征数据对应的目标特征库的目标存储块。
这里,空闲列表用于记录空闲存储位,空闲存储位指示目标特征库中已删除数据所对应的存储块,以及已删除数据在存储块中的位置。
在实际应用中,服务器通过解析特征数据处理请求,获得特征数据处理请求携带的待存储的目标人脸特征数据以及目标特征库标识,基于目标特征库标识,确定对应的目标特征库,获取并查询目标特征库对应的空闲列表,以确定是否存在空闲存储位以及空闲存储位的数量,基于空闲列表的查询结果,确定目标特征库中能够存储目标人脸特征数据的目标存储块。
在一些实施例中,当查询结果表征空闲列表中存在至少一个空闲存储位时,服务器可以通过如下方式确定目标特征数据对应的目标特征库的目标存储块:
获取目标特征数据所对应的数据大小;基于目标特征数据所对应的数据大小,确定目标空闲存储位,并将目标空闲存储位所指示的存储块作为目标存储块。
在实际应用中,当空闲列表中存在至少一个空闲存储位时,服务器通过查询目标特征库的空闲列表,确定目标特征库的目标存储块,当空闲列表中存在至少一个空闲存储位时,服务器获取目标特征数据对应的数据大小,将目标特征数据对应的数据大小与空闲列表中的空闲存储位能够容纳的数据大小进行比对,从空闲存储位中确定出目标空闲存储位,基于目标空闲存储位,从目标特征库的存储块中找到对应目标空闲存储位的目标存储块以及在目标存储块中的位置。
在另一些实施例中,当查询结果表征空闲列表中不存在空闲存储位时,服务器还可以通过如下方式确定目标特征数据对应的目标特征库的目标存储块:
获取最新建立的目标特征库的存储块的剩余存储容量,以及目标特征数据所对应的数据大小;将剩余存储容量与目标特征数据所对应的数据大小进行比对,得到比对结果;基于比对结果,确定目标特征数据对应的目标特征库的目标存储块。
在实际应用中,当空闲列表中不存在空闲存储位时,服务器获取目标特征库最新建立的存储块(即目标特征库的最后一个存储块)的剩余存储容量,并获取目标特征数据对应的数据大小,通过比对剩余存储容量与目标特征数据的数据大小,确定出目标特征库中能够存储目标特征数据的目标存储块。
在一些实施例中,当目标类型的数据处理为特征数据删除时,服务器可以通过如下方式确定目标特征数据对应的目标特征库的目标存储块:
解析特征数据处理请求,得到待删除的目标特征数据的数据标识;根据数据标识,确定目标特征数据对应的目标特征库的目标存储块。
在实际应用中,服务器对特征数据处理请求进行解析,得到目标特征库标识以及待删除目标人脸特征数据的数据标识,根据目标特征标识确定用于存储目标特征库的特征数据的存储块,根据目标人脸特征数据的数据标识确定目标人脸特征数据的目标存储块,以及在目标存储块中的位置。
在一些实施例中,当目标类型的数据处理为特征数据修改时,服务器可以通过如下方式确定目标特征数据对应的目标特征库的目标存储块:
解析特征数据处理请求,得到待修改的目标特征数据的数据标识,以及用于修改目标特征数据的修改数据;根据数据标识,确定目标特征数据对应的目标特征库的目标存储块。
在实际应用中,服务器对特征数据处理请求进行解析,得到目标特征库标识、待修改目标人脸特征数据的数据标识以及用于修改目标人脸特征数据的修改数据,根据目标特征标识确定用于存储目标特征库的特征数据的存储块,根据目标人脸特征数据的数据标识确定用于存储目标人脸特征数据的目标存储块,以及在目标存储块中的位置。
步骤204:服务器获取对应目标特征库的写锁。
这里,锁用于协调多个进程或线程并发访问某一资源的机制,写锁是排他的,只要有一个进程线程对资源持有写锁,就不允许其他线程再上锁。
在实际应用中,服务器根据解析得到的目标特征库标识,确定对应的目标特征库,获取对应目标特征库的写锁,不允许其他线程或进程访问或修改目标特征库中的数据,但不影响其他特征库资源的访问行为。
步骤205:服务器基于目标存储块,对目标特征数据执行目标类型的数据处理,并释放写锁。
在一些实施例中,当目标类型的数据处理为特征数据存储,并且目标特征库对应的空闲列表中存在空闲存储位时,服务器基于空闲存储位确定目标存储位后,可以通过如下方式对目标特征数据执行目标类型的数据处理:
将待存储的目标特征数据存储至空闲存储位对应的目标存储位,并在空闲列表中删除该空闲存储位的记录。
在实际应用中,服务器查询到目标特征库对应的空闲列表中存在空闲存储位,基于空闲存储位确定该空闲存储位对应的目标存储块以及在目标存储块中的位置,服务器将待存储的目标人脸特征数据存储至该目标存储块,并在空闲列表中删除该空闲存储位的记录。
在另一些实施例中,当目标类型的数据处理为特征数据处理,并且空闲列表中不存在空闲存储位时,服务器基于剩余存储容量与目标特征数据所对应的数据大小的比对结果,确定目标特征数据对应的目标特征库的目标存储块后,服务器可以通过如下方式对目标特征数据执行目标类型的数据处理:
当比对结果表征剩余存储容量不小于目标特征数据所对应的数据大小时,将目标特征数据存储至目标特征库的目标存储块中;
当比对结果表征剩余存储容量小于目标特征数据所对应的数据大小,并且剩余存储容量为零时,为目标特征库新建一个存储块,将目标特征数据存储至新存储块中;
当比对结果表征剩余存储容量小于目标特征数据所对应的数据大小,并且剩余存储容量不为零时,将目标特征数据部分存储至目标存储块,以使最后一个存储块的剩余存储容量为零;并新建一个存储块,将剩余的目标特征数据存储至新存储块中。
在一些实施例中,当目标类型的数据处理为特征数据删除时,服务器可以通过如下方式对目标特征数据执行目标类型的数据处理:
基于目标存储块,删除目标存储块中存储的目标特征数据;在目标特征库的空闲列表中,记录目标存储块所对应的空闲存储位。
在实际应用中,在服务器基于待删除的目标人脸特征数据的数据标识,确定待删除的目标人脸特征数据对应的目标存储块,以及在目标存储块中的位置后,基于目标存储块以及在目标存储块中的位置,删除目标存储块中存储的目标人脸特征数据,并且记录该删除的目标特征数据对应的目标存储块以及在目标存储块中的位置,并作为空闲存储块,记录在空闲列表中。
在一些实施例中,当目标类型的数据处理为特征数据修改时,服务器可以通过如下方式对目标特征数据执行目标类型的数据处理:
基于目标存储块,在目标存储块中查找到目标特征数据,并将目标特征数据替换为修改数据。
在实际应用中,在服务器基于待修改的目标人脸特征数据的数据标识,确定待修改的目标人脸特征数据对应的目标存储块,以及在目标存储块中的位置后,基于目标存储块、在目标存储块中的位置、以及用于修改目标人脸特征数据的修改数据,在目标存储块中找到目标人脸特征数据,并将目标人脸特征数据替换为修改数据。
步骤206:服务器将特征数据处理结果返回至终端。
在另一些实施例中,当目标特征库归属于包括至少两个特征库的特征库集群时,本发明实施例提供的数据处理方法还可以包括:
服务器接收到终端发送特征库处理请求;响应于特征库处理请求,获取对应特征库集群的全局写锁;在特征库集群中创建或删除特征库,并释放全局写锁;服务器将特征库处理结果返回至终端。
这里,特征库处理请求,用于请求在特征库集群中创建或删除特征库。
在实际应用中,当存在包含多个特征库的特征库集群时,服务器接收到用于在特征库集群中创建或删除特征库的特征库处理请求,响应于特征库处理请求,获取对特征库集群的全局写锁,依据特征库处理请求,在特征库集群中创建或删除特征库,然后释放全局写锁,并返回特征库处理结果。
在一些实施例中,当服务器接收到针对目标特征库的特征数据检索请求时,本发明实施例提供的方法还包括:
服务器响应于针对目标特征库的特征数据检索请求,解析特征数据检索请求,得到特征数据检索请求所请求检索的特征数据;将特征数据检索请求所请求检索的特征数据,分别与目标特征库的存储块中的特征数据进行匹配,得到匹配结果;基于匹配结果,返回特征数据检索结果。
这里,特征数据检索结果用于表征特征数据检索请求所请求检索的特征数据是否存在于目标特征库。
在实际应用中,当服务器接收到针对目标特征库的特征数据检索请求时,服务器对特征数据检索请求进行解析,得到目标特征库标识、以及特征数据。服务器根据目标特征库标识,确定目标特征库对应的存储块,通过特征数据与目标特征库对应的存储块中的特征数据进行匹配,得到匹配结果;基于匹配结果,返回特征数据检索结果。
通过上述方法,基于存储块的方式对目标特征库中的特征数据的存储,相较于相关技术中连续存储的方式,无需预留大量内存资源,实现了对特征库的存储优化,有效节省了内存资源;同时,利用空闲列表记录目标特征库中已删除特征数据的存储位置,在新增特征数据时,优先从空闲列表中分配存储位置,避免出现内存空洞,节省了内存资源;并且,在接收到针对目标特征库的特征数据处理请求时,获取对应目标特征库的写锁,在基于确定的目标存储块,对特征数据执行相应的处理后,释放对应目标特征库的写锁,如此,为目标特征库设置单独的锁,有效避免了长尾请求的出现,提高多个特征库情况下特征数据处理的并行度,减少了特征数据处理过程中特征数据处理请求的等待时间。
下面,将以人脸检索为例说明本发明实施例在一个实际的应用场景中的示例性应用。
在实际应用中,服务器接收并解析特征数据处理请求,根据特征数据处理请求,确定目标特征数据对应的目标特征库的目标存储块,获取对应目标特征库的写锁,基于目标存储块,对目标特征库执行特征数据处理请求所请求执行的目标类型的数据处理,并释放对应目标特征库的写锁。
在实际实施时,当服务器接收到的是针对目标特征库的特征数据检索请求,服务器响应于特征数据检索请求,解析特征数据检索请求,得到特征数据检索请求所请求检索的特征数据以及目标特征库标识;根据目标特征库标识确定用于存储目标特征库中的特征数据的存储块,将特征数据检索请求所请求检索的特征数据分别于存储块中特征数据进行匹配,得到匹配结果;并基于匹配结果,向终端返回特征数据检索结果。
下面以特征数据处理请求是用于请求特征数据存储为例,继续对本发明实施例提供的数据处理方法进行说明。参见图8,图8为本发明实施例提供的新增人脸特征数据处理的流程示意图,
步骤301:服务器接收到针对目标特征库的特征数据处理请求。
在一些实施例中,服务器接收到针对目标特征库的特征数据处理请求后,对特征数据处理请求进行解析,得到待存储的目标人脸特征数据;
步骤302:服务器查询目标特征库对应的空闲列表是否存在空闲存储位。
在一些实施例中,服务器查询目标特征库对应的空闲列表,当空闲列表中存在至少一个空闲存储位时,服务器获取目标人脸特征数据所对应的数据大小;基于目标人脸特征数据所对应的数据大小,确定目标空闲存储位,将目标人脸特征数据存储至目标空闲存储位。
步骤303:当空闲列表不存在空闲存储位时,服务器查询目标特征库的最后一个存储块的剩余存储容量。
在一些实施例中,服务器查询目标特征库的最后一个存储块的剩余存储容量,当剩余存储容量与目标人脸特征数据的数据大小进行比对,当剩余存储容量大于存储目标人脸特征数据,即剩余存储容量能够存储目标人脸特征数据时,将目标人脸特征数据存储至最后一个存储块中。
步骤304:当目标特征库的最后一个存储块的剩余存储容量不足以存储目标人脸特征时,服务器新建一个存储块,将人脸特征数据存储至新存储块。
在实际实施时,当目标特征库的最后一个存储块的剩余存储容量不足以存储目标人脸特征,并且剩余存储容量不为零时,服务器可以将部分人脸特征数据存储至最后一个存储块中,以使最后一个存储块的剩余存储容量为零,服务器再新建一个存储块,用于存储剩余的人脸特征数据。
参见图9,图9为本发明实施例提供的数据处理方法中对特征库的写锁示意图。标号91所示为在人脸检索库中删除特征数据时,特征库的写锁过程,标号92所示为在人脸检索库中新增特征数据时,特征库的写锁过程,标号93所示为在人脸检索库中新增库时,特征库的写锁过程。
当服务器接收到针对目标特征库的删除人脸特征请求时,服务器对请求进行解析,得到目标特征库标识,以及待删除的目标特征数据标识;根据目标特征库标识,确定对应的目标特征库,并获取对目标特征库的写锁;根据目标特征数据标识,确定目标特征数据在目标特征库中的存储块,以及在存储块中的位置,基于目标特征数据的存储位置,从目标特征库中删除目标特征数据,并释放对目标特征库的写锁。
当服务器接收到针对目标特征库的新增人脸特征请求时,服务器对请求进行解析,得到目标特征库标识,以及待存储的目标特征数据;根据目标特征库标识,确定对应的目标特征库,并获取对目标特征库的写锁;确定目标特征库中可用于存储目标特征数据的存储位置,将目标特征数据存储至该存储位置,并释放对目标特征库的写锁。
当服务器接收到新增库请求时,服务器获取对特征库集群的全局写锁,在特征库集群中新建特征库,并释放对特征库集群的全局写锁。
本发明实施例提供的数据处理方法通过块存储、容器复用和细粒度锁这三种策略的组合,在很大程度上优化了存储成本,可应用于1:N人脸检索框架,在诸如智慧零售、智慧社区、智慧安防等场景下的身份建档和身份检索、身份合并等方面发挥了重要作用,既优化了人脸特征的存储成本,又避免了系统偶现的长尾请求。下面针对这三部分策略进行说明。
1、块存储
块存储是指将特征库的特征数据至存储块,存储块是以固定单位分配内存的,例如,以1万个特征数据所占内存为单位分配内存。参见图10,图10为本发明实施例提供的块存储示意图。通过块存储的方式,当分配给特征库的存储容量用完时,可以再为特征库新建一个存储块,从而利用离散的存储空间,不需要连续存储空间。
例如,人脸特征库对应的存储块中已经存储有100万个人脸特征数据,其中,每个存储块能够存储1万个人脸特征数据;当服务器接收到针对人脸特征库的用于特征数据存储的特征数据处理请求后,查询人脸特征库对应的最后一个存储块的剩余存储容量,当剩余存储容量为零时,服务器会为人脸特征库新建一个存储块,用于存储特征数据处理请求所请求存储的人脸特征数据,并用指针记录地址。参见图11,图11为基于块存储的人脸检索库新增人脸特征的示意图。参见表1,表1为基于块存储的人脸特征库与基于vector连续存储人脸特征库的内存占用对比表。表1数据时以1万个特征数据所占内存为单位分配内存,存储1024维float型特征为例获得的。由表1可知,与基于vector连续存储人脸特征库相比,基于块存储的人脸特征库在最好情况下可以节省约50%的内存开销。
表1
特征数量 100,0000 100,0001
基于vector连续存储人脸特征库内存占用 4G 8G
基于块存储的人脸特征库内存占用 4G 4.01G
2、容器复用
参见图12,图12为本发明实施例提供容器复用的示意图。当需要在特征库中删除一个人脸特征时,通过空闲列表记录被删除特征的位置,并且在想特征库新增人脸特征时,先从空闲列表中分配存储位置,当空闲列表中空闲存储位置不足时,再将待存储的特征数据往目标特征库最新建立的存储块中存储。
参见表2,表2为基于Vector连续存储方案与容器复用方案新增特征时内存占用对比表。表2的数据是以一个1024维float型人脸特征数据为例得出的,基于vector连续存储方案新增一个1024维float型人脸特征,内存占比为4KB,而容器复用方案仅需要占用一个内存地址8B和next指针8B的内存,即可完成一个特征的新增。
表2
Figure BDA0002471763610000281
3、细粒度锁
细粒度锁,即每个检索库都持有单独的锁,实现用不同的锁对受保护资源的精细化管理,当在针对目标特征库进行更新特征或访问特征时,只需要获取对应目标特征库的写锁,当特征库集群中在新建库、删除库时,才去获取对应特征库集群的全局写锁,减少了锁的持有时间,并且只需要申请内存,不需要释放内存和拷贝特征的过程,有效避免了长尾请求,并且可以提高并行度。
参见表3,表3为基于vector连续存储的人脸特征库与基于细粒度锁的人脸特征库在库容量不足时的对比表。由表3可知,基于vector连续存储的人脸特征库在库容量不足时,需要先对特征库集群进行全局写锁,从而能够释放所有显存,重新申请显存,建立新特征库,将原特征库中所有特征拷贝至新特征库,然后释放对特征库集群的全局写锁。而基于细粒度锁的人脸特征库,仅对待扩充的目标特征库进行写锁,为该目标特征库申请显存,然后释放写锁。
表3
库容量不足
基于vector连续存储人脸特征库 释放所有显存,申请显存,拷贝特征
基于细粒度锁的人脸特征库 申请显存
通过上述方式,本发明实施例至少具有以下有益效果:
1)目标特征库的特征数据通过至少一个存储块存储;如此,通过存储块的方式进行特征数据的存储,相较于相关技术中连续存储的方式,无需预留大量内存资源,实现了对特征库的存储优化,节省了内存资源;
2)在删除特征数据时,通过空闲列表记录特征库已删除特征数据的存储位置,并在新增特征数据时,先从空闲列表中分配存储位置,当空闲列表中空闲存储位置不足时,再将待存储的特征数据往目标特征库最新建立的存储块中存储,如此,减少了内存空洞,节省了内存资源。
3)在接收到针对目标特征库的特征数据处理请求时,获取对应目标特征库的写锁,在基于确定的目标存储块,对特征数据执行相应的处理后,释放对应目标特征库的写锁;如此,为目标特征库设置单独的锁,有效避免了长尾请求的出现,提高多个特征库情况下特征数据处理的并行度,减少了特征数据处理过程中特征数据处理请求的等待时间。
下面继续说明本发明实施例提供的数据处理装置243,在一些实施例中,数据处理装置可采用软件模块的方式实现。参见图13,图13是本发明实施例提供的数据处理装置243的结构示意图。本发明实施例提供的数据处理装置243包括:
接收模块2431,用于接收到针对目标特征库的特征数据处理请求,所述特征数据处理请求,用于请求对目标特征数据执行目标类型的数据处理;其中,所述目标特征库的特征数据通过至少一个存储块存储;
确定模块2432,用于响应于所述特征数据处理请求,确定所述目标特征数据对应的所述目标特征库的目标存储块;
获取模块2433,用于获取对应所述目标特征库的写锁;
处理模块2434,用于基于所述目标存储块,对所述目标特征数据执行所述目标类型的数据处理,并释放所述写锁。
在一些实施例中,所述确定模块2432,还用于:
当所述目标类型的数据处理为特征数据存储时,解析所述特征数据处理请求,得到待存储的所述目标特征数据;
查询所述目标特征库对应的空闲列表,得到查询结果;
其中,所述空闲列表用于记录空闲存储位,所述空闲存储位指示所述目标特征库中已删除数据所对应的存储块;
基于所述查询结果,确定所述目标特征数据对应的所述目标特征库的目标存储块。
在一些实施例中,所述确定模块2432,还用于:
当所述查询结果表征所述空闲列表中存在至少一个空闲存储位时,获取所述目标特征数据所对应的数据大小;
基于所述目标特征数据所对应的数据大小,确定目标空闲存储位,并将所述目标空闲存储位所指示的存储块作为所述目标存储块。
在一些实施例中,所述确定模块2432,还用于:
当所述查询结果表征所述空闲列表中不存在空闲存储位时,获取最新建立的所述目标特征库的存储块的剩余存储容量,以及所述目标特征数据所对应的数据大小;
将所述剩余存储容量与所述目标特征数据的所对应的数据大小进行比对,得到比对结果;
基于所述比对结果,确定所述目标特征数据对应的所述目标特征库的目标存储块。
在一些实施例中,所述处理模块2434,还用于:
当所述比对结果表征所述剩余存储容量不小于所述目标特征数据所对应的数据大小时,将所述目标特征数据存储至所述目标特征库的目标存储块中;
当所述比对结果表征所述剩余存储容量小于所述待存储的目标特征数据所对应的数据大小,并且所述剩余存储容量为零时,为所述目标特征库新建一个存储块,将所述目标特征数据存储至所述新存储块中;
当所述比对结果表征所述剩余存储容量小于所述待存储的目标特征数据所对应的数据大小,并且所述剩余存储容量不为零时,将所述目标特征数据部分存储至目标存储块,以使最后一个存储块的剩余存储容量为零;新建一个存储块,将剩余的目标特征数据存储至新存储块中。
在一些实施例中,所述确定模块2432,还用于:
当所述目标类型的数据处理为特征数据删除时,解析所述特征数据处理请求,得到待删除的所述目标特征数据的数据标识;
根据所述数据标识,确定所述目标特征数据对应的所述目标特征库的目标存储块;
相应的,所述处理模块2434,还用于:
删除所述目标存储块中存储的所述目标特征数据;
在所述目标特征库的空闲列表中,记录所述目标存储块所对应的空闲存储位。
在一些实施例中,所述确定模块2432,还用于:
当所述目标类型的数据处理为特征数据修改时,解析所述特征数据处理请求,得到待修改的所述目标特征数据的数据标识,以及用于修改所述目标特征数据的修改数据;
根据所述数据标识,确定所述目标特征数据对应的所述目标特征库的目标存储块;
相应的,所述处理模块2434,用于在所述目标存储块中查找到所述目标特征数据,并将所述目标特征数据替换为所述修改数据。
在一些实施例中,当所述目标特征库归属于包括至少两个特征库的特征库集群时,所述接收模块2431,用于接收到特征库处理请求,所述特征库处理请求,用于请求在所述特征库集群中创建或删除特征库;
所述获取模块2433,用于响应于所述特征库处理请求,获取对应所述特征库集群的全局写锁;
所述处理模块2434,用于在所述特征库集群中创建或删除特征库,并释放所述全局写锁。
在一些实施例中,所述确定模块2432,还用于响应于针对所述目标特征库的特征数据检索请求,解析所述特征数据检索请求,得到所述特征数据检索请求所请求检索的特征数据;
所述处理模块2434,还用于将所述特征数据检索请求所请求检索的特征数据,分别与所述目标特征库的存储块中的特征数据进行匹配,得到匹配结果;
所述输出模块2435,还用于基于所述匹配结果,返回特征数据检索结果,所述特征数据检索结果,用于表征特征数据检索请求所请求检索的特征数据是否存在于所述目标特征库。
本发明实施例提供一种存储有可执行指令的计算机可读存储介质,其中存储有可执行指令,当可执行指令被处理器执行时,将引起处理器执行本发明实施例提供的数据处理方法。
在一些实施例中,存储介质可以是FRAM、ROM、PROM、EPROM、EE PROM、闪存、磁表面存储器、光盘、或CD-ROM等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
作为示例,可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(H TML,Hyper TextMarkup Language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
作为示例,可执行指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。
综上所述,通过本发明实施例既优化了人脸特征的存储成本,减少显存、内存空洞,又避免了系统偶现的长尾请求,减少检索时的等待时间。
以上所述,仅为本发明的实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本发明的保护范围之内。

Claims (10)

1.一种数据处理方法,其特征在于,所述方法包括:
接收到针对目标特征库的特征数据处理请求,所述特征数据处理请求,用于请求对目标特征数据执行目标类型的数据处理;
其中,所述目标特征库的特征数据通过至少一个存储块存储;
响应于所述特征数据处理请求,确定所述目标特征数据对应的所述目标特征库的目标存储块;
获取对应所述目标特征库的写锁;
基于所述目标存储块,对所述目标特征数据执行所述目标类型的数据处理,并释放所述写锁。
2.根据权利要求1所述的方法,其特征在于,所述确定所述目标特征数据对应的所述目标特征库的目标存储块,包括:
当所述目标类型的数据处理为特征数据存储时,解析所述特征数据处理请求,得到待存储的所述目标特征数据;
查询所述目标特征库对应的空闲列表,得到查询结果;
其中,所述空闲列表用于记录空闲存储位,所述空闲存储位指示所述目标特征库中已删除数据所对应的存储块;
基于所述查询结果,确定所述目标特征数据对应的所述目标特征库的目标存储块。
3.根据权利要求2所述的方法,其特征在于,所述基于所述查询结果,确定所述目标特征数据对应的所述目标特征库的目标存储块,包括:
当所述查询结果表征所述空闲列表中存在至少一个空闲存储位时,获取所述目标特征数据所对应的数据大小;
基于所述目标特征数据所对应的数据大小,确定目标空闲存储位,并将所述目标空闲存储位所指示的存储块作为所述目标存储块。
4.根据权利要求2所述的方法,其特征在于,所述基于所述查询结果,确定所述目标特征数据对应的所述目标特征库的目标存储块,还包括:
当所述查询结果表征所述空闲列表中不存在空闲存储位时,获取最新建立的所述目标特征库的存储块的剩余存储容量,以及所述目标特征数据所对应的数据大小;
将所述剩余存储容量与所述目标特征数据的所对应的数据大小进行比对,得到比对结果;
基于所述比对结果,确定所述目标特征数据对应的所述目标特征库的目标存储块。
5.根据权利要求4所述的方法,其特征在于,所述基于所述目标存储块,对所述目标特征数据执行所述目标类型的数据处理,包括:
当所述比对结果表征所述剩余存储容量不小于所述目标特征数据所对应的数据大小时,将所述目标特征数据存储至所述目标特征库的目标存储块中;
当所述比对结果表征所述剩余存储容量小于所述目标特征数据所对应的数据大小,并且所述剩余存储容量为零时,为所述目标特征库新建一个存储块,将所述目标特征数据存储至所述新存储块中;
当所述比对结果表征所述剩余存储容量小于所述目标特征数据所对应的数据大小,并且所述剩余存储容量不为零时,将所述目标特征数据部分存储至目标存储块,以使最后一个存储块的剩余存储容量为零,并新建一个存储块,将剩余的目标特征数据存储至新存储块中。
6.根据权利要求1所述的方法,其特征在于,所述确定所述目标特征数据对应的所述目标特征库的目标存储块,包括:
当所述目标类型的数据处理为特征数据删除时,解析所述特征数据处理请求,得到待删除的所述目标特征数据的数据标识;
根据所述数据标识,确定所述目标特征数据对应的所述目标特征库的目标存储块;
相应的,所述对所述目标特征数据执行所述目标类型的数据处理,包括:
删除所述目标存储块中存储的所述目标特征数据;
在所述目标特征库的空闲列表中,记录所述目标存储块所对应的空闲存储位。
7.根据权利要求1所述的方法,其特征在于,所述确定所述目标特征数据对应的所述目标特征库的目标存储块,包括:
当所述目标类型的数据处理为特征数据修改时,解析所述特征数据处理请求,得到待修改的所述目标特征数据的数据标识,以及用于修改所述目标特征数据的修改数据;
根据所述数据标识,确定所述目标特征数据对应的所述目标特征库的目标存储块;
相应的,所述对所述目标特征数据执行所述目标类型的数据处理,包括:
在所述目标存储块中查找到所述目标特征数据,并将所述目标特征数据替换为所述修改数据。
8.根据权利要求1所述的方法,其特征在于,所述目标特征库归属于包括至少两个特征库的特征库集群,所述方法还包括:
接收到特征库处理请求,所述特征库处理请求,用于请求在所述特征库集群中创建或删除特征库;
响应于所述特征库处理请求,获取对应所述特征库集群的全局写锁;
在所述特征库集群中创建或删除特征库,并释放所述全局写锁。
9.根据权利要求1所述的方法,其特征在于,所述方法还包括:
响应于针对所述目标特征库的特征数据检索请求,解析所述特征数据检索请求,得到所述特征数据检索请求所请求检索的特征数据;
将所述特征数据检索请求所请求检索的特征数据,分别与所述目标特征库的存储块中的特征数据进行匹配,得到匹配结果;
基于所述匹配结果,返回特征数据检索结果,所述特征数据检索结果,用于表征特征数据检索请求所请求检索的特征数据是否存在于所述目标特征库。
10.一种数据处理装置,其特征在于,所述装置包括:
接收模块,用于接收到针对目标特征库的特征数据处理请求,所述特征数据处理请求,用于请求对目标特征数据执行目标类型的数据处理;其中,所述目标特征库的特征数据通过至少一个存储块存储;
确定模块,用于响应于所述特征数据处理请求,确定所述目标特征数据对应的所述目标特征库的目标存储块;
获取模块,用于获取对应所述目标特征库的写锁;
处理模块,用于基于所述目标存储块,对所述目标特征数据执行所述目标类型的数据处理,并释放所述写锁。
CN202010350809.2A 2020-04-28 2020-04-28 数据处理方法及装置 Active CN111552740B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010350809.2A CN111552740B (zh) 2020-04-28 2020-04-28 数据处理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010350809.2A CN111552740B (zh) 2020-04-28 2020-04-28 数据处理方法及装置

Publications (2)

Publication Number Publication Date
CN111552740A true CN111552740A (zh) 2020-08-18
CN111552740B CN111552740B (zh) 2023-09-12

Family

ID=72006016

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010350809.2A Active CN111552740B (zh) 2020-04-28 2020-04-28 数据处理方法及装置

Country Status (1)

Country Link
CN (1) CN111552740B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113194158A (zh) * 2021-04-13 2021-07-30 杭州迪普科技股份有限公司 信息存储方法、装置、设备及计算机可读存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090037439A1 (en) * 2007-07-30 2009-02-05 Sap Ag Method and system for fast deletion of database information
CN103336828A (zh) * 2013-07-05 2013-10-02 深圳市康拓普信息技术有限公司 实时数据库读取及写入方法
CN107943594A (zh) * 2016-10-13 2018-04-20 北京京东尚科信息技术有限公司 数据获取方法和装置
CN108595490A (zh) * 2018-03-15 2018-09-28 北京雷石天地电子技术有限公司 一种数据库检索机制的构建方法及系统
CN109343789A (zh) * 2018-06-05 2019-02-15 深圳市木浪云数据有限公司 一种基于io场景识别的读加速方法、装置及电子设备
CN110659303A (zh) * 2019-10-10 2020-01-07 北京优炫软件股份有限公司 一种数据库节点的读写控制方法及装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090037439A1 (en) * 2007-07-30 2009-02-05 Sap Ag Method and system for fast deletion of database information
CN103336828A (zh) * 2013-07-05 2013-10-02 深圳市康拓普信息技术有限公司 实时数据库读取及写入方法
CN107943594A (zh) * 2016-10-13 2018-04-20 北京京东尚科信息技术有限公司 数据获取方法和装置
CN108595490A (zh) * 2018-03-15 2018-09-28 北京雷石天地电子技术有限公司 一种数据库检索机制的构建方法及系统
CN109343789A (zh) * 2018-06-05 2019-02-15 深圳市木浪云数据有限公司 一种基于io场景识别的读加速方法、装置及电子设备
CN110659303A (zh) * 2019-10-10 2020-01-07 北京优炫软件股份有限公司 一种数据库节点的读写控制方法及装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
宁伟, 李艳, 翟桂丹, 尚福臻: "分布式数据库加锁与刷新机制的研究", 内蒙古师大学报(自然科学汉文版), no. 02 *
金玉明;: "数据库并发调度与封锁管理", 电脑与电信, no. 11 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113194158A (zh) * 2021-04-13 2021-07-30 杭州迪普科技股份有限公司 信息存储方法、装置、设备及计算机可读存储介质

Also Published As

Publication number Publication date
CN111552740B (zh) 2023-09-12

Similar Documents

Publication Publication Date Title
CN106294190A (zh) 一种存储空间管理方法及装置
CN107092686B (zh) 一种基于云存储平台的文件管理方法及装置
CN110706148B (zh) 人脸图像处理方法、装置、设备和存储介质
CN112395157A (zh) 审计日志的获取方法、装置、计算机设备和存储介质
CN111026709A (zh) 基于集群访问的数据处理方法及装置
CN112597348A (zh) 一种大数据存储优化的方法及装置
CN111897828A (zh) 数据批处理实现方法、装置、设备及存储介质
CN111552740B (zh) 数据处理方法及装置
CN117171108B (zh) 一种虚拟模型映射方法和系统
CN110209853B (zh) 车辆的图片搜索方法、装置和设备
CN117608856A (zh) NVMe加速卡内存扩展方法、系统、终端及存储介质
CN111930684A (zh) 基于hdfs的小文件处理方法、装置、设备及存储介质
CN116340266A (zh) 一种细粒度文件系统以及文件读写方法
CN106649528A (zh) 图片写入和读取方法、装置
CN110019057B (zh) 请求处理方法及装置
CN115203133A (zh) 数据处理方法、装置、归约服务器及映射服务器
CN115712581A (zh) 数据访问方法、存储系统及存储节点
CN113590575A (zh) 一种基于服务集成共享的方法、装置、终端及存储介质
CN117591040B (zh) 一种数据处理方法、装置、设备以及可读存储介质
CN113609076B (zh) 一种文件存储方法和文件读取方法
CN113741787B (zh) 一种数据存储方法、装置、设备、介质
CN117193674B (zh) 一种提升物联网设备海量数据存取效能的方法及装置
CN113553329B (zh) 数据集成系统和方法
US11644998B2 (en) Server and method for managing distributed storage
CN117806836B (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