CN115794984A - 数据存储方法、数据检索方法、装置、设备以及介质 - Google Patents
数据存储方法、数据检索方法、装置、设备以及介质 Download PDFInfo
- Publication number
- CN115794984A CN115794984A CN202211429952.6A CN202211429952A CN115794984A CN 115794984 A CN115794984 A CN 115794984A CN 202211429952 A CN202211429952 A CN 202211429952A CN 115794984 A CN115794984 A CN 115794984A
- Authority
- CN
- China
- Prior art keywords
- data
- retrieval
- index
- module
- feature
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 98
- 238000013500 data storage Methods 0.000 title claims abstract description 47
- 238000000605 extraction Methods 0.000 claims abstract description 128
- 238000004422 calculation algorithm Methods 0.000 claims description 73
- 238000012545 processing Methods 0.000 claims description 73
- 238000004590 computer program Methods 0.000 claims description 13
- 230000004044 response Effects 0.000 claims description 6
- 239000000126 substance Substances 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 18
- 238000004891 communication Methods 0.000 description 11
- 239000013598 vector Substances 0.000 description 9
- 238000004458 analytical method Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 7
- 230000001133 acceleration Effects 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 5
- 238000013473 artificial intelligence Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000012423 maintenance Methods 0.000 description 4
- 238000007726 management method Methods 0.000 description 4
- 238000011161 development Methods 0.000 description 3
- 230000008451 emotion Effects 0.000 description 3
- 239000012634 fragment Substances 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000002776 aggregation Effects 0.000 description 2
- 238000004220 aggregation Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012163 sequencing technique Methods 0.000 description 2
- 238000011144 upstream manufacturing Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 239000012141 concentrate Substances 0.000 description 1
- 230000008602 contraction Effects 0.000 description 1
- 238000013499 data model Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000002360 explosive Substances 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000013467 fragmentation Methods 0.000 description 1
- 238000006062 fragmentation reaction Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000002688 persistence Effects 0.000 description 1
- 238000013139 quantization Methods 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 238000011451 sequencing strategy Methods 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开提供了一种数据存储方法、数据检索方法、装置、设备以及存储介质,涉及云计算技术领域,尤其涉及数据检索等技术领域。具体实现方案为:获取原始数据和数据库标识;对原始数据进行标签提取操作,得到至少一个第一标签;将至少一个第一标签存储至与数据库标识对应的标签存储位置;对原始数据进行特征提取操作,得到第一特征数据;根据第一特征数据,在与数据库标识对应的索引存储位置中创建第一索引数据;以及在与数据库标识对应的数据存储位置中存储原始数据,并记录第一标签与原始数据的第一对应关系,以及第一索引数据与原始数据的第二对应关系。
Description
技术领域
本公开涉及云计算技术领域,尤其涉及数据检索等技术领域。
背景技术
随着信息化技术的不断进步,人们正经历爆炸式的数据增长。非结构数据是数据结构不规则或不完整,或者没有预定义的数据模型,如图片、视频、语音和文字等。非结构数据比传统的结构化数据增长更快,数据量更大。之所以称其为非结构数据,是因为这些数据无法以传统方式进行处理与价值挖掘。如何从非结构数据中提取有价值的内容与信息,已经逐渐成为企业进一步挖掘数据价值的关键。
基于此,如何对非结构数据进行存储和检索是亟需解决的问题。
发明内容
本公开提供了一种数据存储方法、数据检索方法、装置、设备、存储介质以及程序产品。
根据本公开的一方面,提供了一种数据存储方法,包括:获取原始数据和数据库标识;对所述原始数据进行标签提取操作,得到至少一个第一标签;将所述至少一个第一标签存储至与所述数据库标识对应的标签存储位置;对所述原始数据进行特征提取操作,得到第一特征数据;根据所述第一特征数据,在与所述数据库标识对应的索引存储位置中创建第一索引数据;以及在与所述数据库标识对应的数据存储位置中存储所述原始数据,并记录所述第一标签与所述原始数据之间的第一对应关系,以及所述第一索引数据与所述原始数据之间的第二对应关系。
根据本公开的另一方面,提供了一种数据检索方法,包括:响应于获取到检索数据和数据库标识,确定与所述检索数据对应的第二标签;根据第一对应关系、所述第二标签和与所述数据库标识对应的标签存储位置进行检索,得到至少一个原始数据,作为第一检索结果,其中,所述第一对应关系包括原始数据与标签之间的对应关系;对所述检索数据进行特征提取操作,得到第二特征数据;根据第二对应关系、所述第二特征数据和与所述数据库标识对应的索引存储位置进行检索,得到至少一个原始数据,作为第二检索结果,其中,所述第二对应关系包括原始数据与特征数据之间的对应关系;以及根据所述第一检索结果和所述第二检索结果,确定目标检索结果。
根据本公开的另一方面,提供了一种数据存储装置,包括:获取单元,用于获取原始数据和数据库标识;第一提取单元,用于对所述原始数据进行标签提取操作,得到至少一个第一标签;第一存储单元,用于将所述至少一个第一标签存储至与所述数据库标识对应的标签存储位置;第二提取单元,用于对所述原始数据进行特征提取操作,得到第一特征数据;创建单元,用于根据所述第一特征数据,在与所述数据库标识对应的索引存储位置中创建第一索引数据;以及第二存储单元,用于在与所述数据库标识对应的数据存储位置中存储所述原始数据。
根据本公开的另一方面,提供了一种数据检索装置,包括:标签确定单元,用于响应于获取到检索数据和数据库标识,确定与所述检索数据对应的第二标签;第一检索单元,用于根据第一对应关系、所述第二标签和与所述数据库标识对应的标签存储位置进行检索,得到至少一个原始数据,作为第一检索结果,其中,所述第一对应关系包括原始数据与标签之间的对应关系;第三提取单元,用于对所述检索数据进行特征提取操作,得到第二特征数据;第二检索单元,用于根据第二对应关系、所述第二特征数据和与所述数据库标识对应的索引存储位置进行检索,得到至少一个原始数据,作为第二检索结果,其中,所述第二对应关系包括原始数据与特征数据之间的对应关系;以及结果确定单元,用于根据所述第一检索结果和所述第二检索结果,确定目标检索结果。
本公开的另一个方面提供了一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本公开实施例所示的方法。
根据本公开实施例的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行本公开实施例所示的方法。
根据本公开实施例的另一方面,提供了一种计算机程序产品,包括计算机程序/指令,其特征在于,该计算机程序/指令被处理器执行时实现本公开实施例所示方法的步骤。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本公开的限定。其中:
图1示意性示出了根据本公开实施例的示例性系统架构;
图2示意性示出了根据本公开的实施例的数据存储方法的流程图;
图3示意性示出了根据本公开的实施例的数据检索方法的流程图;
图4示意性示出了根据本公开的实施例的对原始数据进行标签提取操作的方法的流程图;
图5示意性示出了根据本公开的实施例的确定与检索数据对应的第二标签的方法的流程图;
图6示意性示出了根据本公开的实施例的对原始数据进行特征提取操作的方法的流程图;
图7示意性示出了根据本公开的实施例的对检索数据进行特征提取操作的方法的流程图;
图8示意性示出了根据本公开的实施例的根据第一特征数据,在与数据库标识对应的索引存储位置中创建第一索引数据的方法的流程图;
图9示意性示出了根据本公开的实施例的根据第二特征数据,在与数据库标识对应的索引存储位置中检索,得到第二检索结果的方法的流程图;
图10示意性示出了根据本公开另一实施例的数据存储方法的示意图;
图11示意性示出了根据本公开另一实施例的数据检索方法的示意图;
图12示意性示出了根据本公开另一实施例的数据检索方法的示意图;
图13示意性示出了根据本公开实施例的数据存储装置的框图;
图14示意性示出了根据本公开实施例的数据检索装置的框图;
图15示意性示出了可以用来实施本公开的实施例的示例电子设备的框图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
以下将结合图1对本公开提供的可以应用数据存储方法、数据检索方法、装置的系统架构进行描述。
图1示意性示出了根据本公开实施例的示例性系统架构100。需要注意的是,图1所示仅为可以应用本公开实施例的系统架构的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、系统、环境或场景。
如图1所示,根据该实施例的系统架构100可以包括终端设备101、102、103,网络104和检索系统105。网络104用以在终端设备101、102、103和检索系统105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备101、102、103通过网络104与检索系统105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。
终端设备101、102、103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
检索系统105例如可以包括对用户利用终端设备101、102、103上传的数据提供数据存储服务的数据存储服务器。数据存储服务器可以对接收到的数据进行标签提取、特征提取、索引构建等处理,并将处理结果存储至数据库中。检索系统105还可以包括对用户提供数据检索服务的数据检索服务器,数据检索服务器可以接收用户利用终端设备101、102、103发送的检索请求,对检索请求中包含的检索数据(query),进行标签提取、特征提取等处理,并根据处理结果对数据库进行检索,得到检索结果,并将检索结果返回给终端设备。
数据存储服务器和数据检索服务器中的至少一个可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务(″Virtual Private Server",或简称″VPS″)中,存在的管理难度大,业务扩展性弱的缺陷。检数据存储服务器和数据检索服务器中的至少一个也可以为分布式系统的服务器,或者是结合了区块链的服务器。
数据存储服务器和数据检索服务器可以是不同的服务器,也可以是同一个服务器,本公开对此不作具体限定。
需要说明的是,本公开实施例所提供的数据存储方法和数据检索方法一般可以由检索系统105执行。相应地,本公开实施例所提供的数据存储装置和数据检索装置一般可以设置于检索系统105中。本公开实施例所提供的数据存储方法和数据检索方法也可以由不同于检索系统105且能够与终端设备101、102、103和/或检索系统105通信的服务器或服务器集群执行。相应地,本公开实施例所提供的数据存储装置和数据检索装置也可以设置于不同于检索系统105且能够与终端设备101、102、103和/或检索系统105通信的服务器或服务器集群中。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
在本公开的技术方案中,所涉及的用户个人信息的收集、存储、使用、加工、传输、提供、公开和应用等处理,均符合相关法律法规的规定,采取了必要保密措施,且不违背公序良俗。
在本公开的技术方案中,在获取或采集用户个人信息之前,均获取了用户的授权或同意。
以下将结合图2对本公开提供的数据存储方法进行描述。
图2示意性示出了根据本公开的实施例的数据存储方法的流程图。该方法例如可以应用于上文所示的检索系统。
如图2所示,该数据存储方法200包括在操作S210,获取原始数据和数据库标识。
根据本公开的实施例,原始数据例如可以为待存储的数据。原始数据例如可以包括图片、视频、音频、文字等非结构数据,但并不限于此。数据库标识可以用于指示用于存储原始数据的数据库。
需要说明的是,原始数据可以包括单个文件,也可以包括多个文件,本公开对此不作具体限定。
然后,在操作S220,对原始数据进行标签提取操作,得到至少一个第一标签。
根据本公开的实施例,标签提取操作可以用于提取标签。标签可以用于表示原始数据的内容特征。
在操作S230,将至少一个第一标签存储至与数据库标识对应的标签存储位置。
根据本公开的实施例,数据库中可以设置有标签存储位置,用于存储数据的标签。
在操作S240,对原始数据进行特征提取操作,得到第一特征数据。
根据本公开的实施例,特征特权操作可以用于提取原始数据的特征数据,即第一特征数据。特征数据可以用于表示原始数据的特征。示例性地,本实施例中,特征数据例如可以包括特征向量。
在操作S250,根据第一特征数据,在与数据库标识对应的索引存储位置中创建第一索引数据。
根据本公开的实施例,数据库中可以设置有索引存储位置,用于存储数据的索引数据。
根据本公开的实施例,例如可以确定与第一特征数据对应的索引数据,即第一索引数据。然后将该索引数据写入索引存储位置。其中,索引数据例如可以包括FLAT、FLATIVF(IVF,Inverted File,倒排文件)、HNSW(Hierarchical Navigable Small World,分层的可导航小世界网络)、IVF_PG(PQ,Product Quantization,量化)等。
在操作S260,在与数据库标识对应的数据存储位置中存储原始数据,并记录原始数据与第一标签之间的第一对应关系,以及原始数据与第一索引数据之间的第二对应关系。
根据本公开的实施例,数据库中可以设置有数据存储位置,用于存储原始数据。第一对应关系可以用于表示数据库中存储的原始数据与第一标签之间的对应关系。第二对应关系可以用于表示数据库中存储的原始数据与第一索引数据之间的对应关系。
根据本公开的实施例,例如可以预先设置标签库,标签库包括多个标签。从标签库中确定与原始数据匹配的标签,作为第一标签。
根据本公开的实施例,在存储数据时,分别存储数据的标签和特征数据。从而在检索时分为标签检索和特征数据检索两部分,最后综合两部分检索出来的结果,由此,可以弥补向量检索的局限性,可以提高检索数据的准确率。另外根据本公开的实施例的数据存储方法可以应用于非结构数据的存储,从而可以提高非结构数据的检索准确率。
根据本公开的实施例,标签库例如可以由深度学习或机器学习产生的各类模型中获取,比如,针对图片的标签提取,可以使用场景分类、文字识别、公众人物识别等算法,分别产生图片场景、图片内文字、公众人物信息等标签。针对视频的标签提取,可以使用视频分类、文字识别、语音识别、语义分析、人脸识别等算法,分别产生视频所属分类(如电影片段、纪录片、新闻等)、视频里出现的文字和相关的语义、每个人物在视频中出现的时间段等标签。同样的,也可以复用部分图片类算法,产生图片相关标签。针对语音的标签提取,可以使用语音识别、语义分析、情感分析等算法,分别产生文字、该文字对应的语义和情感等标签。针对文本的标签提取,可以使用关键词提取、语义分析、评论观点抽取等算法,分别产生关键词及其对应的语义、评论观点等标签。
根据本公开的实施例,标签存储位置例如可以包括标签库。
根据本公开的实施例,例如可以预先设置特征库,特征库包含多个特征数据。例如可以根据特征提取算法对数据库中的数据生成特征数据,存储至特征库中,然后在特征数据存储并达到一定规模后,可以采用ANN算法建立索引数据,存储特征库中。基于此,可以在特征库中确定与原始数据匹配的索引数据,作为第一索引数据。
根据本公开的实施例,索引存储位置例如可以包括特征库。
以下将结合图3对本公开提供的数据检索方法进行描述。
图3示意性示出了根据本公开的实施例的数据检索方法的流程图。该方法例如可以应用于上文所示的检索系统。
如图3所示,该数据检索方法300包括在操作S310,响应于获取到检索数据和数据库标识,确定与检索数据对应的第二标签。
根据本公开的实施例,例如可以对检索数据进行标签提取操作,得到与检索数据对应的标签,即第二标签。标签提取操作例如可以参考上文,对此不作赘述。
在操作S320,根据第一对应关系、第二标签和与数据库标识对应的标签存储位置进行检索,得到至少一个原始数据,作为第一检索结果。
根据本公开的实施例,第一对应关系可以包括原始数据与标签之间的关系。其中,原始数据可以有一个或多个,每个原始数据可以对应一个或多个特征数据。
根据本公开的实施例,标签存储位置中可以存储有至少一个标签,例如可以在标签存储位置查找与第二标签匹配的标签,得到至少一个候选标签。然后根据所述第一对应关系,确定至少一个候选标签所对应的至少一个原始数据,作为第一检索结果。
在操作S330,对检索数据进行特征提取操作,得到第二特征数据。
在操作S340,根据第二对应关系、第二特征数据和与数据库标识对应的索引存储位置进行检索,得到至少一个原始数据,作为第二检索结果。
根据本公开的实施例,第二对应关系可以包括原始数据与特征数据之间的对应关系。其中,原始数据可以有一个或多个,每个原始数据可以对应一个或多个特征数据。
根据本公开的实施例,索引存储位置中可以存储有至少一个索引数据,例如可以在该至少一个索引数据中确定与第二特征数据匹配的索引数据,作为候选索引数据。然后根据所述第二对应关系,确定与候选索引数据所对应的原始数据,作为第二检索结果。
在操作S350,根据第一检索结果和第二检索结果,确定目标检索结果。
根据本公开的实施例,例如可以将第一检索结果和第二检索结果合并,得到目标检索结果。
根据本公开的实施例,通过标签检索和特征数据检索两部分对数据进行检索,并综合两部分检索出来的结果,可以提高检索准确率。另外根据本公开的实施例的数据检索方法可以应用于非结构数据的存储,从而可以提高非结构数据的检索准确率。
根据本公开的另一实施例,例如还可以根据排序策略对合并后检索结果进行排序,然后返回给请求检索服务的终端设备。其中,排序策略可以根据实际需要设置。
根据本公开的另一实施例,检索系统例如可以配置有核心引擎、多个通用处理模块和多个算法模块,多个通用处理模块与多个数据类型一一对应。其中,数据类型例如可以包括图片、视频、文本、音频等等。通用处理模块可以用于执行对应数据类型的数据的标签提取操作。算法模块可以用于执行对各类型数据进行具体处理的算法。其中,处理算法可以包括针对图片处理算法、语音处理算法、视频处理算法、文本处理算法等。图片处理算法例如可以包括场景分类、文字识别、公众人物识别等算法。语音处理算法例如可以包括语音识别、语义分析、情感分析等算法。视频处理算法例如可以包括视频分类、文字识别、语音识别、语义分析、人脸识别等算法。文本处理算法例如可以包括关键词提取、语义分析、评论观点抽取等算法。
基于此,图4示意性示出了根据本公开的实施例的对原始数据进行标签提取操作的方法的流程图。
如图4所示,该对原始数据进行标签提取操作的方法420包括在操作S421,确定原始数据的第一数据类型。
根据本公开的实施例,第一数据类型为原始数据的数据类型。
在操作S422,利用核心引擎,加载多个通用处理模块中与第一数据类型对应的第一通用处理模块。
根据本公开的实施例,可以预先配置每个数据类型对应的通用处理模块。基于此,可以确定多个通用处理模块中与第一数据类型对应的通用处理模块,作为第一通用处理模块。
在操作S423,利用第一通用处理模块,调用多个算法模块中与第一数据类型对应的至少一个第一算法模块,以对原始数据进行标签提取,得到至少一个第一标签。
根据本公开的实施例,可以预先配置每个数据类型对应的算法模块。每个数据类型可以对应一个或多个算法模块。基于此,可以多个算法模块中与第一数据类型对应的算法模块,作为第一算法模块。然后由第一通用处理模块依次调用这些算法模块,对原始数据进行处理,得到处理结果。接下来在标签库中确定与处理结果匹配的标签,作为第一标签。
对应地,图5示意性示出了根据本公开的实施例的确定与检索数据对应的第二标签的方法的流程图。
如图5所示,该确定与检索数据对应的第二标签的方法510包括在操作S511,确定检索数据的第二数据类型。
根据本公开的实施例,第二数据类型可以为检索数据的数据类型。其中,数据类型例如可以包括图片、视频、音频、文本等。
在操作S512,利用核心引擎,加载多个通用处理模块中与第二数据类型对应的第二通用处理模块。
根据本公开的实施例,第二通用处理模块可以为多个通用处理模块中与第二数据类型对应的通用处理模块。
在操作S513,利用第二通用处理模块,调用多个算法模块中与检索数据对应的至少一个第二算法模块,以对检索数据进行标签提取,得到第二标签。
根据本公开的实施例,第二算法模块可以为多个算法模块中与第二数据类型对应的算法模块。
根据本公开的实施例,可以多个算法模块中与第二数据类型对应的算法模块,作为第二算法模块。然后由第二通用处理模块依次调用这些算法模块,对检索数据进行处理,得到处理结果。接下来在标签库中确定与处理结果匹配的标签,作为第二标签。
根据本公开的另一实施例,检索系统还可以配置有至少一个特征提取模块。每个特征提取模块,对应一种特征提取算法,可以用于根据对应特征提取算法提取数据的特征。
基于此,图6示意性示出了根据本公开的实施例的对原始数据进行特征提取操作的方法的流程图。
如图6所示,该对原始数据进行特征提取操作的方法640包括在操作S641,利用核心引擎,加载至少一个特征提取模块中与数据库标识对应的第一特征提取模块。
根据本公开的实施例,可以预先配置每个数据库对应的特征提取模块。写入数据库的数据可以根据该特征提取模块来提取特征。
在操作S642,利用核心引擎,将原始数据发送至第一特征提取模块。
根据本公开的实施例,特征提取模块可以设置有接口,用于接收核心引擎发送的原始数据。特征提取模块可以规定统一的接口格式,从而方便用户开发自定义的特征提取模块。
在操作S643,利用第一特征提取模块,对原始数据进行特征提取,得到第一特征数据,并将第一特征数据发送至核心引擎。
根据本公开的实施例,例如可以利用第一特征提取模块对原始数据执行特征提取算法,得到第一特征数据。然后将第一特征数据通过接口发送至核心引擎。
对应地,图7示意性示出了根据本公开的实施例的对检索数据进行特征提取操作的方法的流程图。
如图7所示,该对检索数据进行特征提取操作的方法730包括在操作S731,利用核心引擎,加载至少一个特征提取模块中与数据库标识对应的第二特征提取模块。
根据本公开的实施例,第二特征提取模块可以为与数据库标识对应的提取模块。第二特征提取模块可以与第一特征提取模块相同。
在操作S732,利用核心引擎,将检索数据发送至第二特征提取模块。
在操作S733,利用第二特征提取模块,对检索数据进行特征提取,得到第二特征数据,并将第二特征数据发送至核心引擎。
根据本公开的实施例,例如可以利用第二特征提取模块对检索数据执行特征提取算法,得到第二特征数据。然后将第二特征数据通过接口发送至核心引擎。
根据本公开的另一实施例,检索系统还可以配置有至少一个索引模块。索引模块可以用于在指定位置建立索引数据。每个索引模块可以对应一种索引方式。索引方式例如FLAT、FLAT_IVF、HNSW、IVF_PG等。
基于此,图8示意性示出了根据本公开的实施例的根据第一特征数据,在与数据库标识对应的索引存储位置中创建第一索引数据的方法的流程图。
如图8所示,该根据第一特征数据,在与数据库标识对应的索引存储位置中创建第一索引数据的方法850包括在操作S851,利用核心引擎,加载至少一个索引模块中与数据库标识对应的第一索引模块。
根据本公开的实施例,可以预先配置每个数据库对应的索引模块。写入数据库的数据可以根据该索引模块来创建索引数据。
在操作S852,利用核心引擎,将第一特征数据和索引存储位置发送至第一索引模块。
根据本公开的实施例,索引模块可以设置有接口,用于接收核心引擎发送的特征数据和索引存储位置。索引模块可以规定统一的接口格式,从而方便用户开发自定义的索引模块。
在操作S853,利用第一索引模块,生成与第一特征数据对应的第一索引数据,并将第一索引数据写入至索引存储位置。
根据本公开的实施例,例如可以利用第一索引模块确定特征库中与特征数据对应的索引数据,即第一索引数据。然后将第一索引数据写入至索引存储位置。
根据本公开的实施例,与数据库标识对应的第一索引模块可以是一个也可以是多个。在与数据库标识对应的第一索引模块是多个的情况,可以利用核心引擎,将第一特征数据和索引存储位置发送至每个第一索引模块。利用每个第一索引模块,分别生成与第一特征数据对应的第一索引数据,并将第一索引数据写入至索引存储位置。即得到多个第一索引数据。
根据本公开的另一实施例,检索系统还可以配置有至少一个检索模块。检索模块可以用于根据检索数据的特征数据进行检索,每个检索模块可以对应一种索引方式。
基于此,图9示意性示出了根据本公开的实施例的根据第二特征数据和第二对应关系,在与数据库标识对应的索引存储位置中检索,得到第二检索结果的方法的流程图。
如图9所示,该根据第二特征数据和第二对应关系,在与数据库标识对应的索引存储位置中检索,得到第二检索结果的方法940包括在操作S941,利用核心引擎,将第二特征数据发送至至少一个检索模块。
根据本公开的实施例,检索模块可以设置有接口,用于接收核心引擎发送的特征数据。检索模块可以规定统一的接口格式,从而方便用户开发自定义的检索模块。
在操作S942,利用至少一个检索模块中的每个检索模块,在与检索模块对应的索引存储位置中查找与第二特征数据匹配的索引数据,得到至少一个候选索引数据。
根据本公开的实施例,每个检索模块对应一个索引存储位置和索引方式。针对每个检索模块,例如可以利用检索模块对应的索引方式,查找对应的索引存储位置中与第二特征数据匹配的索引数据,作为候选索引数据。
在操作S943,根据第二对应关系,确定与至少一个候选索引数据所对应的至少一个原始数据,作为第二检索结果。
根据本公开的实施例,核心引擎分别与通用处理模块、算法模块、特征提取模块、索引模块、检索模块解耦,对于核心引擎部分和模块可以分别由不同的团队来研发,开发更为灵活,可以实现用户多样的需求,另外可以提升研发效率。
根据本公开的另一实施例,在存储原始数据时,例如可以将原始数据写入中间文件。确定中间文件的文件大小是否达到文件大小阈值。其中,文件大小阈值可以根据实际需要设置。在中间文件的文件大小达到文件大小阈值的情况下,将中间文件写入数据存储位置,并生成空白文件,作为新的中间文件。通过中间文件的方式写入数据,可以对写入数据库的数据进行流量控制,减低数据库负载。
下面参考图10,结合具体实施例对上文所示的数据存储方法做进一步说明。本领域技术人员可以理解,以下示例实施例仅用于理解本公开,本公开并不局限于此。
图10示意性示出了根据本公开另一实施例的数据存储方法的示意图。
在图10中示出了,检索系统可以包括标签提取模块和标签插叙模块。其中,标签提取模块可以包括统一建库流和编排引擎。
根据本公开的实施例,编排引擎可以为按照流水线的数据处理模式,实现的一套可编排的piepline(管线)引擎。编排引擎除了可以提供了pipeline的编排和执行框架外,还可以提供通用处理模块和通用RPC(Remote Procedure Cal1,远程过程调用)模块。其中,通用处理模块可以包括视频通用处理模块,用于视频解码、抽帧、视频截取、视频压缩等;图片通用处理模块,用于图片格式转换、图片压缩、图片尺寸调整等;音频通用处理,用于音频提取、音频转码、VAD(Voice Activity Detection,语音端点检测)等。通用RPC模块可以用于访问外部的算法模块。
根据本公开的实施例,用户根据自身的业务场景,选择需要的通用处理模块和依赖的算法模块。然后根据各个算法模块所需的输入,对算法模块进行编排,以实现标签提取。如:媒资领域的智能媒资库场景,针对用户传入的视频,可以编排的流水线包括视频解码-视频抽帧-图片格式转换-音频提取-VAD-AI算法。AI算法例如可以包括封面图提取、视频分类、人脸识别、场景分类、文字识别、语音识别等。AI算法部分,用户可根据自身的场景选择。另外可以通过配置通用RPC模块后实现模块的访问和标签提取。
统一建库流模块,可以用于schema(配置信息)管理、结果聚合和入库等。其中,schema管理可以包括按照用户指定的数据库,创建相关的schema和索引。结果聚合可以包括将编排引擎提取的用户需求的标签按照schema格式进行整合。入库可以包括支持单条数据入库和批量数据入库。
标签插叙模块可以用于接收用户的标签查询请求,对所依赖的标签库进行全文检索和模糊匹配,并将检索到的数据排序后返回给上游模块。
下面参考图11~图12,结合具体实施例对上文所示的数据检索方法做进一步说明。本领域技术人员可以理解,以下示例实施例仅用于理解本公开,本公开并不局限于此。
图11示意性示出了根据本公开另一实施例的数据检索方法的示意图。
在图11中示出了,检索系统中核心引擎可以包括入库模块和检索模块,检索模块可以包括高级检索模块和至少一个基础检索模块。
根据本公开的实施例,入库模块实现了一套标准的建库流,主要流程为数据接入、特征计算、索引构建和分发,该流程适用于离线全量建库和在线实时增量建库,可以满足用户对于不同场景的需求,具体包括特征提取模块和索引构建模块。
根据本公开的实施例,特征提取模块实现了一套通用的特征计算服务框架,对外提供统一的接口。用户使用的时候可以选择指定的特征算法进行加载后通过接口进行特征向量的提取。
根据本公开的实施例,索引构建模块可以根据用户指定的索引进行索引建立,完成后分发给上游的基础检索模块进行加载。
根据本公开的实施例,对于用户不同的检索场景,基础检索模块实现了对于索引的加载和自动替换,同时实现了分片和分库逻辑,支持海量底库的分布式查询。
根据本公开的实施例,高级检索模块可以用于接收用户的增删改查请求,并进行了统一的处理,以提高数据的一致性、架构的稳定性等工作。高级检索模块还可以采用队列实现请求的缓冲、通过AppendOnly(只增)策略实现插入性能的提高、通过读写锁避免读写的冲突、通过binlog(记录数据表变更以及表数据更改的二进制日志)机制实现数据的持久化等。
根据本公开的实施例,对于查询类请求,可以首先通过特征计算服务提取向量并分发给下游指定的基础查询模块进行查询,然后高级检索模块汇总所有基础查询模块的信息,按照距离进行初步的排序(即粗排)后返回给用户。
根据本公开的实施例,检索系统可以支持创建多种库,如时效性库、垂类库、自定义库等。这些库都可以根据用户的场景需求来实现,整体支持实时的增量库还是离线库。同时,框架考虑了库级别的分库/分片设计,支持数据库的主副本机制,用户无需关系数据横向扩容、稳定性等问题;
根据本公开的实施例,通过核心引擎与算法策略的解耦,可以让开发者更专注于算法策略的选择和调优。
根据本公开的实施例,可以将特征处理模块从架构中剥离,用户可以自身的场景选用特征提取算法。如对于相似图片,可以使用yolov3+resnet-50算法;对于问答系统,可以使用bert算法提取向量;开发者也可以通过可以通过该模块开放的相关接口和规范,实现自己的特征算法,并完成自定义算法的加载。
图12示意性示出了根据本公开另一实施例的数据检索方法的示意图。
在图12中示出了,在数据检索时,终端设备可以向检索系统发送检索数据和数据库标识。核心引擎可以用于接收检索数据和数据库标识,然后进行数据检索。数据检索可以分为标签检索和向量检索两部分。对于两部分检索出来的结果,由核心引擎负责将两部分结果合并,并根据排序策略排序后返回终端设备。
根据本公开的另一实施例,检索系统可以支持ANN(近似最近邻)索引。当获取到向量并完成入库后,框架默认提供多种索引类型供选择,如FLAT、FLAT_IVF、HNSW、IVF_PG等进行索引的创建。用户可以根据准召、内存使用量、查询时延等参数选择合适的索引。同时,框架还开放相关接口,用户可以根据相关的接口规范,自主开发和引入其它的ANN算法。开发完成后,注册到系统中即可以使用。
根据本公开的另一实施例,检索系统可以采用了k8s+docker的云原生技术栈。私有云一般采用原生k8s。采用k8s+docker既可以应用于公有云也可以应用于私有云,从而可以实现公有云和私有云的统一架构,从架构层面减轻了运维的成本。同时,通过公有云运维的经验,可以产出一套标准的运维方法论,并在此架构进行实践和迭代。
根据本公开的另一实施例,还可以开发一套与检索系统配套的管理平台,用户可以根据此平台查看检索系统的节点、分片、实时流量、成功率等指标。同时,也提供了批量的离线入库接口、在线查询可视化展示、部署/扩缩容/删除等运维操作等。
根据本公开的另一实施例,检索系统通过不同硬件的特性,实现了部分算法的硬件加速,如:检索系统可以采用x86体系架构,通过SSE4.2、AVX、AVX2、AVX512等实现检索加速。或者,检索系统可以采用Intel cpu(中央处理器),通过Intel提供的MKL向量库,实现向量计算的极速。或者,检索系统可以采用GPU(图像处理器),通过GPU的硬件加速特性,可以实现视频解码的加速(视频入库),也可以实现特征提取、特征比对的加速。
以下将结合图13对本公开提供的数据存储装置进行描述。
图13示意性示出了根据本公开实施例的数据存储装置的框图。
如图13所示,数据存储装置1300包括获取单元1310、第一提取单元1320、第一存储单元1330、第二提取单元1340、创建单元1350和第二存储单元1360。
获取单元1310,用于获取原始数据和数据库标识。
第一提取单元1320,用于对原始数据进行标签提取操作,得到至少一个第一标签。
第一存储单元1330,用于将至少一个第一标签存储至与数据库标识对应的标签存储位置。
第二提取单元1340,用于对原始数据进行特征提取操作,得到第一特征数据。
创建单元1350,用于根据第一特征数据,在与数据库标识对应的索引存储位置中创建第一索引数据.
第二存储单元1360,用于在与数据库标识对应的数据存储位置中存储原始数据,并记录原始数据与第一标签之间的第一对应关系,以及原始数据与第一索引数据之间的第二对应关系。
根据本公开的实施例,上述装置可以应用于检索系统,其中,检索系统配置有核心引擎、多个通用处理模块和多个算法模块,多个通用处理模块与多个数据类型一一对应。
根据本公开的实施例,第一提取单元可以包括:类型确定子单元,用于确定原始数据的第一数据类型;第一加载子单元,用于利用核心引擎,加载多个通用处理模块中与第一数据类型对应的第一通用处理模块;以及调用子单元,用于利用第一通用处理模块,调用多个算法模块中与第一数据类型对应的至少一个第一算法模块,以对原始数据进行标签提取,得到至少一个第一标签。
根据本公开的实施例,检索系统还可以配置有至少一个特征提取模块;第二提取单元可以包括:第二加载子单元,用于利用核心引擎,加载至少一个特征提取模块中与数据库标识对应的第一特征提取模块;第一发送子单元,用于利用核心引擎,将原始数据发送至第一特征提取模块;以及第一特征提取子单元,用于利用第一特征提取模块,对原始数据进行特征提取,得到第一特征数据,并将第一特征数据发送至核心引擎。
根据本公开的实施例,检索系统还可以配置有至少一个索引模块;创建单元可以包括:第三加载子单元,用于利用核心引擎,加载至少一个索引模块中与数据库标识对应的第一索引模块;第二发送子单元,用于利用核心引擎,将第一特征数据和索引存储位置发送至每个第一索引模块;以及生成子单元,用于利用每个第一索引模块,生成与第一特征数据对应的第一索引数据,并将第一索引数据写入至索引存储位置。
根据本公开的实施例,第二存储单元,包括:第一写入子单元,用于将原始数据写入中间文件;第一确定子单元,用于确定中间文件的文件大小是否达到文件大小阈值;以及第二写入子单元,用于在中间文件的文件大小达到文件大小阈值的情况下,将中间文件写入数据存储位置,并生成空白文件,作为新的中间文件。
以下将结合图14对本公开提供的数据检索装置进行描述。
图14示意性示出了根据本公开实施例的数据检索装置的框图。
如图14所示,数据检索装置1400包括标签确定单元1410、第一检索单元1420、第三提取单元1430、第二检索单元1440和结果确定单元1450。
标签确定单元1410,用于响应于获取到检索数据和数据库标识,确定与检索数据对应的第二标签。
第一检索单元1420,用于根据第一对应关系、第二标签和与数据库标识对应的标签存储位置进行检索,得到至少一个原始数据,作为第一检索结果,其中,第一对应关系包括原始数据与标签之间的对应关系。
第三提取单元1430,用于对检索数据进行特征提取操作,得到第二特征数据。
第二检索单元1440,用于根据第二对应关系、所述第二特征数据和与所述数据库标识对应的索引存储位置进行检索,得到至少一个原始数据,作为第二检索结果,其中,所述第二对应关系包括原始数据与特征数据之间的对应关系。
结果确定单元1450,用于根据第一检索结果和第二检索结果,确定目标检索结果。
根据本公开的实施例,上述装置应用于检索系统,其中,检索系统配置有核心引擎、多个通用处理模块和多个算法模块,多个通用处理模块与多个数据类型一一对应。
根据本公开的实施例,标签确定单元,包括:第二确定子单元,用于确定检索数据的第二数据类型;第三加载子单元,用于利用核心引擎,加载多个通用处理模块中与第二数据类型对应的第二通用处理模块;以及调用子单元,用于利用第二通用处理模块,调用多个算法模块中与第二数据类型对应的至少一个第二算法模块,以对检索数据进行标签提取,得到第二标签。
根据本公开的实施例,检索系统还配置有至少一个特征提取模块;第三提取单元,包括:第四加载子单元,用于利用核心引擎,加载至少一个特征提取模块中与数据库标识对应的第二特征提取模块;第三发送子单元,用于利用核心引擎,将检索数据发送至第二特征提取模块;以及第二特征提取子单元,用于利用第二特征提取模块,对检索数据进行特征提取,得到第二特征数据,并将第二特征数据发送至核心引擎。
根据本公开的实施例,检索系统还配置有至少一个检索模块;第一检索单元,包括:第四发送子单元,用于利用核心引擎,将第二特征数据发送至至少一个检索模块;查找子单元,用于利用至少一个检索模块中的每个检索模块,在与检索模块对应的索引存储位置中查找与第二特征数据匹配的索引数据,得到至少一个候选索引数据;以及第三确定子单元,用于确定与至少一个候选索引数据所对应的至少一个原始数据,作为第二检索结果。
根据本公开的实施例,第二检索单元,包括:在标签存储位置查找与第二标签匹配的标签,得到至少一个候选标签;以及确定至少一个候选标签所对应的至少一个原始数据,作为第一检索结果。
根据本公开的实施例,结果确定单元,包括:合并子单元,用于将第一检索结果和第二检索结果合并,得到目标检索结果。
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
图15示意性示出了可以用来实施本公开的实施例的示例电子设备1500的框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图15所示,设备1500包括计算单元1501,其可以根据存储在只读存储器(ROM)1502中的计算机程序或者从存储单元1508加载到随机访问存储器(RAM)1503中的计算机程序,来执行各种适当的动作和处理。在RAM 1503中,还可存储设备1500操作所需的各种程序和数据。计算单元1501、ROM 1502以及RAM 1503通过总线1504彼此相连。输入/输出(I/O)接口1505也连接至总线1504。
设备1500中的多个部件连接至I/O接口1505,包括:输入单元1506,例如键盘、鼠标等;输出单元1507,例如各种类型的显示器、扬声器等;存储单元1508,例如磁盘、光盘等;以及通信单元1509,例如网卡、调制解调器、无线通信收发机等。通信单元1509允许设备1500通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元1501可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元1501的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元1501执行上文所描述的各个方法和处理,例如数据存储方法、数据检索方法。例如,在一些实施例中,数据存储方法、数据检索方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元1508。在一些实施例中,计算机程序的部分或者全部可以经由ROM 1502和/或通信单元1509而被载入和/或安装到设备1500上。当计算机程序加载到RAM 1503并由计算单元1501执行时,可以执行上文描述的数据存储方法、数据检索方法的一个或多个步骤。备选地,在其他实施例中,计算单元1501可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行数据存储方法、数据检索方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、复杂可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
Claims (18)
1.一种数据存储方法,包括:
获取原始数据和数据库标识;
对所述原始数据进行标签提取操作,得到至少一个第一标签;
将所述至少一个第一标签存储至与所述数据库标识对应的标签存储位置;
对所述原始数据进行特征提取操作,得到第一特征数据;
根据所述第一特征数据,在与所述数据库标识对应的索引存储位置中创建第一索引数据;以及
在与所述数据库标识对应的数据存储位置中存储所述原始数据,并记录所述第一标签与所述原始数据之间的第一对应关系,以及所述第一索引数据与所述原始数据之间的第二对应关系。
2.根据权利要求1所述的方法,应用于检索系统,其中,所述检索系统配置有核心引擎、多个通用处理模块和多个算法模块,所述多个通用处理模块与多个数据类型一一对应。
3.根据权利要求2所述的方法,其中,所述对所述原始数据进行标签提取操作,得到至少一个第一标签,包括:
确定所述原始数据的第一数据类型;
利用所述核心引擎,加载所述多个通用处理模块中与所述第一数据类型对应的第一通用处理模块;以及
利用所述第一通用处理模块,调用所述多个算法模块中与所述第一数据类型对应的至少一个第一算法模块,以对所述原始数据进行标签提取,得到所述至少一个第一标签。
4.根据权利要求2所述的方法,其中,所述检索系统还配置有至少一个特征提取模块;所述对所述原始数据进行特征提取操作,得到第一特征数据,包括:
利用所述核心引擎,加载所述至少一个特征提取模块中与所述数据库标识对应的第一特征提取模块;
利用所述核心引擎,将所述原始数据发送至所述第一特征提取模块;以及
利用所述第一特征提取模块,对所述原始数据进行特征提取,得到所述第一特征数据,并将所述第一特征数据发送至所述核心引擎。
5.根据权利要求2所述的方法,其中,所述检索系统还配置有至少一个索引模块;所述根据所述第一特征数据,在与所述数据库标识对应的索引存储位置中创建第一索引数据,包括:
利用所述核心引擎,加载所述至少一个索引模块中与所述数据库标识对应的第一索引模块;
利用所述核心引擎,将所述第一特征数据和所述索引存储位置发送至所述第一索引模块;以及
利用所述第一索引模块,生成与所述第一特征数据对应的第一索引数据,并将所述第一索引数据写入至所述索引存储位置。
6.根据权利要求1所述的方法,其中,所述在与所述数据库标识对应的数据存储位置中存储所述原始数据,包括:
将所述原始数据写入中间文件;
确定所述中间文件的文件大小是否达到文件大小阈值;以及
在所述中间文件的文件大小达到文件大小阈值的情况下,将所述中间文件写入所述数据存储位置,并生成空白文件,作为新的中间文件。
7.一种数据检索方法,包括:
响应于获取到检索数据和数据库标识,确定与所述检索数据对应的第二标签;
根据第一对应关系、所述第二标签和与所述数据库标识对应的标签存储位置进行检索,得到至少一个原始数据,作为第一检索结果,其中,所述第一对应关系包括原始数据与标签之间的对应关系;
对所述检索数据进行特征提取操作,得到第二特征数据;
根据第二对应关系、所述第二特征数据和与所述数据库标识对应的索引存储位置进行检索,得到至少一个原始数据,作为第二检索结果,其中,所述第二对应关系包括原始数据与特征数据之间的对应关系;以及
根据所述第一检索结果和所述第二检索结果,确定目标检索结果。
8.根据权利要求7所述的方法,应用于检索系统,其中,所述检索系统配置有核心引擎、多个通用处理模块和多个算法模块,所述多个所述通用处理模块与多个数据类型一一对应。
9.根据权利要求8所述的方法,其中,所述确定与所述检索数据对应的第二标签,包括:
确定所述检索数据的第二数据类型;
利用所述核心引擎,加载所述多个通用处理模块中与所述第二数据类型对应的第二通用处理模块;以及
利用所述第二通用处理模块,调用所述多个算法模块中与所述第二数据类型对应的至少一个第二算法模块,以对所述检索数据进行标签提取,得到所述第二标签。
10.根据权利要求8所述的方法,其中,所述检索系统还配置有至少一个特征提取模块;所述对所述检索数据进行特征提取操作,得到第二特征数据,包括:
利用所述核心引擎,加载所述至少一个特征提取模块中与所述数据库标识对应的第二特征提取模块;
利用所述核心引擎,将所述检索数据发送至所述第二特征提取模块;以及
利用所述第二特征提取模块,对所述检索数据进行特征提取,得到所述第二特征数据,并将所述第二特征数据发送至所述核心引擎。
11.根据权利要求8所述的方法,其中,所述根据第二对应关系、所述第二特征数据和与所述数据库标识对应的索引存储位置进行检索,得到至少一个原始数据,作为第二检索结果,包括:
利用所述核心引擎,将所述第二特征数据发送至所述至少一个检索模块;
利用所述至少一个检索模块中的每个检索模块,在与所述检索模块对应的索引存储位置中查找与所述第二特征数据匹配的索引数据,得到至少一个候选索引数据;以及
根据所述第二对应关系,确定与所述至少一个候选索引数据所对应的至少一个原始数据,作为所述第二检索结果。
12.根据权利要求7所述的方法,其中,所述根据第一对应关系、所述第二标签和与所述数据库标识对应的标签存储位置进行检索,得到至少一个原始数据,作为第一检索结果,包括:
在所述标签存储位置查找与所述第二标签匹配的标签,得到至少一个候选标签;以及
根据所述第一对应关系,确定所述至少一个候选标签所对应的至少一个原始数据,作为所述第一检索结果。
13.根据权利要求7所述的方法,其中,所述根据所述第一检索结果和所述第二检索结果,确定目标检索结果,包括:
将第一检索结果和第二检索结果合并,得到所述目标检索结果。
14.一种数据存储装置,包括:
获取单元,用于获取原始数据和数据库标识;
第一提取单元,用于对所述原始数据进行标签提取操作,得到至少一个第一标签;
第一存储单元,用于将所述至少一个第一标签存储至与所述数据库标识对应的标签存储位置;
第二提取单元,用于对所述原始数据进行特征提取操作,得到第一特征数据;
创建单元,用于根据所述第一特征数据,在与所述数据库标识对应的索引存储位置中创建第一索引数据;以及
第二存储单元,用于在与所述数据库标识对应的数据存储位置中存储所述原始数据,并记录所述第一标签与所述原始数据之间的第一对应关系,以及所述第一索引数据与所述原始数据之间的第二对应关系。
15.一种数据检索装置,包括:
标签确定单元,用于响应于获取到检索数据和数据库标识,确定与所述检索数据对应的第二标签;
第一检索单元,用于根据第一对应关系、所述第二标签和与所述数据库标识对应的标签存储位置进行检索,得到至少一个原始数据,作为第一检索结果,其中,所述第一对应关系包括原始数据与标签之间的对应关系;
第三提取单元,用于对所述检索数据进行特征提取操作,得到第二特征数据;
第二检索单元,用于根据第二对应关系、所述第二特征数据和与所述数据库标识对应的索引存储位置进行检索,得到至少一个原始数据,作为第二检索结果,其中,所述第二对应关系包括原始数据与特征数据之间的对应关系;以及
结果确定单元,用于根据所述第一检索结果和所述第二检索结果,确定目标检索结果。
16.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-13中任一项所述的方法。
17.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1-13中任一项所述的方法。
18.一种计算机程序产品,包括计算机程序/指令,其特征在于,该计算机程序/指令被处理器执行时实现权利要求1-13中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211429952.6A CN115794984B (zh) | 2022-11-14 | 2022-11-14 | 数据存储方法、数据检索方法、装置、设备以及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211429952.6A CN115794984B (zh) | 2022-11-14 | 2022-11-14 | 数据存储方法、数据检索方法、装置、设备以及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115794984A true CN115794984A (zh) | 2023-03-14 |
CN115794984B CN115794984B (zh) | 2023-11-28 |
Family
ID=85437949
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211429952.6A Active CN115794984B (zh) | 2022-11-14 | 2022-11-14 | 数据存储方法、数据检索方法、装置、设备以及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115794984B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110191312A1 (en) * | 2010-01-29 | 2011-08-04 | Oracle International Corporation | Forking of search requests and routing to multiple engines through km server |
US8285741B1 (en) * | 2010-11-15 | 2012-10-09 | The Boeing Company | Technical order data type 1 dataset Builder |
CN105740242A (zh) * | 2014-12-08 | 2016-07-06 | 华为技术有限公司 | 基于二维码的信息搜索装置与方法及移动终端 |
CN111639228A (zh) * | 2020-05-29 | 2020-09-08 | 北京百度网讯科技有限公司 | 视频检索方法、装置、设备及存储介质 |
CN112148938A (zh) * | 2020-10-16 | 2020-12-29 | 成都中科大旗软件股份有限公司 | 一种跨域异构数据检索系统及检索方法 |
CN112148831A (zh) * | 2020-11-26 | 2020-12-29 | 广州华多网络科技有限公司 | 图文混合检索方法、装置、存储介质、计算机设备 |
CN113792195A (zh) * | 2021-11-15 | 2021-12-14 | 太平金融科技服务(上海)有限公司深圳分公司 | 跨系统的数据获取方法、装置、计算机设备和存储介质 |
CN115017339A (zh) * | 2022-05-30 | 2022-09-06 | 新华智云科技有限公司 | 一种基于ai算法的媒体文件多模检索方法和系统 |
US11494381B1 (en) * | 2021-01-29 | 2022-11-08 | Splunk Inc. | Ingestion and processing of both cloud-based and non-cloud-based data by a data intake and query system |
-
2022
- 2022-11-14 CN CN202211429952.6A patent/CN115794984B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110191312A1 (en) * | 2010-01-29 | 2011-08-04 | Oracle International Corporation | Forking of search requests and routing to multiple engines through km server |
US8285741B1 (en) * | 2010-11-15 | 2012-10-09 | The Boeing Company | Technical order data type 1 dataset Builder |
CN105740242A (zh) * | 2014-12-08 | 2016-07-06 | 华为技术有限公司 | 基于二维码的信息搜索装置与方法及移动终端 |
CN111639228A (zh) * | 2020-05-29 | 2020-09-08 | 北京百度网讯科技有限公司 | 视频检索方法、装置、设备及存储介质 |
CN112148938A (zh) * | 2020-10-16 | 2020-12-29 | 成都中科大旗软件股份有限公司 | 一种跨域异构数据检索系统及检索方法 |
CN112148831A (zh) * | 2020-11-26 | 2020-12-29 | 广州华多网络科技有限公司 | 图文混合检索方法、装置、存储介质、计算机设备 |
US11494381B1 (en) * | 2021-01-29 | 2022-11-08 | Splunk Inc. | Ingestion and processing of both cloud-based and non-cloud-based data by a data intake and query system |
CN113792195A (zh) * | 2021-11-15 | 2021-12-14 | 太平金融科技服务(上海)有限公司深圳分公司 | 跨系统的数据获取方法、装置、计算机设备和存储介质 |
CN115017339A (zh) * | 2022-05-30 | 2022-09-06 | 新华智云科技有限公司 | 一种基于ai算法的媒体文件多模检索方法和系统 |
Non-Patent Citations (1)
Title |
---|
潘红等: "基于独立关键子块的图像检索新方法", 计算机研究与发展, no. 07, pages 956 - 962 * |
Also Published As
Publication number | Publication date |
---|---|
CN115794984B (zh) | 2023-11-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11899681B2 (en) | Knowledge graph building method, electronic apparatus and non-transitory computer readable storage medium | |
US20220019739A1 (en) | Item Recall Method and System, Electronic Device and Readable Storage Medium | |
CN114612759B (zh) | 视频处理方法、查询视频的方法和模型训练方法、装置 | |
CN110134965B (zh) | 用于信息处理的方法、装置、设备和计算机可读存储介质 | |
CN114861889B (zh) | 深度学习模型的训练方法、目标对象检测方法和装置 | |
CN116049397B (zh) | 基于多模态融合的敏感信息发现并自动分类分级方法 | |
CN116028618B (zh) | 文本处理、文本检索方法、装置、电子设备及存储介质 | |
CN113806588A (zh) | 搜索视频的方法和装置 | |
CN116431878A (zh) | 向量检索服务方法、装置、设备及其存储介质 | |
CN113326363A (zh) | 搜索方法及装置、预测模型训练方法及装置、电子设备 | |
CN115794984B (zh) | 数据存储方法、数据检索方法、装置、设备以及介质 | |
CN111813555B (zh) | 基于互联网技术的超融合基础架构分层资源管理系统 | |
CN116030375A (zh) | 视频特征提取、模型训练方法、装置、设备及存储介质 | |
CN115098729A (zh) | 视频处理方法、样本生成方法、模型训练方法及装置 | |
CN115454971A (zh) | 数据迁移方法、装置、电子设备及存储介质 | |
CN114329016A (zh) | 图片标签生成方法和文字配图方法 | |
CN112860626A (zh) | 一种文档排序方法、装置及电子设备 | |
CN112860979B (zh) | 资源搜索方法、装置、设备及存储介质 | |
CN114491318B (zh) | 目标信息的确定方法、装置、设备以及存储介质 | |
CN115828915B (zh) | 实体消歧方法、装置、电子设备和存储介质 | |
CN115130435B (zh) | 文档处理方法、装置、电子设备和存储介质 | |
CN113361249B (zh) | 文档判重方法、装置、电子设备和存储介质 | |
CN110019905B (zh) | 信息输出方法和装置 | |
CN116541482A (zh) | 文本对象索引方法、对象存储系统及相关设备 | |
CN114154072A (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 |