CN114490095A - 请求结果的确定方法和装置、存储介质及电子装置 - Google Patents

请求结果的确定方法和装置、存储介质及电子装置 Download PDF

Info

Publication number
CN114490095A
CN114490095A CN202210407372.0A CN202210407372A CN114490095A CN 114490095 A CN114490095 A CN 114490095A CN 202210407372 A CN202210407372 A CN 202210407372A CN 114490095 A CN114490095 A CN 114490095A
Authority
CN
China
Prior art keywords
data
vector
target
request
function
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
CN202210407372.0A
Other languages
English (en)
Other versions
CN114490095B (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.)
Beijing Shanma Zhijian Technology Co ltd
Original Assignee
Beijing Shanma Zhijian 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 Beijing Shanma Zhijian Technology Co ltd filed Critical Beijing Shanma Zhijian Technology Co ltd
Priority to CN202210407372.0A priority Critical patent/CN114490095B/zh
Publication of CN114490095A publication Critical patent/CN114490095A/zh
Application granted granted Critical
Publication of CN114490095B publication Critical patent/CN114490095B/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/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
    • 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/24Querying
    • G06F16/245Query processing
    • 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/25Integrating or interfacing systems involving database management systems
    • G06F16/252Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
    • 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/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4482Procedural

Landscapes

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

Abstract

本申请公开了一种请求结果的确定方法和装置、存储介质及电子装置,涉及数据请求领域,其中,上述方法包括:创建向量数据管理系统,其中,所述向量数据管理系统中包括:数据协调节点和多个数据工作节点,其中,所述多个数据工作节点中的每一外部数据包装器均允许调用向量引擎的函数功能;在所述数据协调节点接收到查询请求的情况下,控制所述多个数据工作节点调用所述向量引擎的函数功能以查找所述查询请求的请求结果,采用上述技术方案,解决了数据请求的处理效率低下的问题。

Description

请求结果的确定方法和装置、存储介质及电子装置
技术领域
本申请涉及数据请求领域,具体而言,涉及请求结果的确定方法和装置、存储介质及电子装置。
背景技术
目前,由于数据具有多种类型,必须使用不同的数据库才能实现对不同类型的数据的管理,例如,在采用关系模型来组织数据,以行和列的形式将数据结构化的数据库,即关系型数据库中存储的都是结构化数据,在关系型数据库中可以通过搜索来得到结构化数据。而存储一条条向量,即向量数据的数据库为向量数据库,与关系型数据库相比,向量数据库能够处理的数据的规模更大,在向量数据库中搜索目的向量时,并不是搜索出目的向量本身,而是计算目的向量所在的向量集中的所有向量和目标向量之间的距离,并返回距离最小的向量。
相关技术中,由于关系型数据库与向量数据库的差异性,导致向量数据库无法融入关系型数据库,形成了另外一套数据存储系统,增加了数据管理系统的复杂度,进而导致数据请求的处理效率低下。
针对相关技术中,数据请求的处理效率低下的问题,尚未提出有效的解决方案。
发明内容
本申请实施例提供了一种请求结果的确定方法和装置、存储介质及电子装置,以至少解决相关技术中,数据请求的处理效率低下的问题。
根据本申请实施例的一个实施例,提供了一种请求结果的确定方法,包括:创建向量数据管理系统,其中,所述向量数据管理系统中包括:数据协调节点和多个数据工作节点,其中,所述多个数据工作节点中的每一外部数据包装器均允许调用向量引擎的函数功能;在所述数据协调节点接收到查询请求的情况下,控制所述多个数据工作节点调用所述向量引擎的函数功能以查找所述查询请求的请求结果。
在一个示例性实施例中,控制所述多个数据工作节点调用所述向量引擎的函数功能以查找所述查询请求的请求结果,包括:控制所述多个数据工作节点中的每一外部数据包装器均调用对应的函数功能,以查找到所述查询请求所对应的目标向量;获取所述多个数据工作节点所分别查找到的目标向量,并根据所述多个数据工作节点查找到的多个目标向量确定所述查询请求的请求结果。
在一个示例性实施例中,创建向量数据管理系统的过程中,所述方法还包括:剥离所述向量引擎的外部访问接口,得到所述向量引擎的函数功能;分别建立所述函数功能和所述多个数据工作节点中的外部数据包装器的映射关系;将所述映射关系保存在所述多个数据工作节点中的每一外部数据包装器中,以使所述外部数据包装器根据所述映射关系调用对应的函数功能。
在一个示例性实施例中,剥离所述向量引擎的外部访问接口,得到所述向量引擎的函数功能,包括:剥离所述向量引擎的外部访问接口,得到所述向量引擎的校验函数功能和处理函数功能,其中,所述校验函数功能用于校验所述外部数据包装器是否合法;所述处理函数功能用于响应所述数据协调节点发送的所有请求。
在一个示例性实施例中,控制所述多个数据工作节点中的每一外部数据包装器均调用对应的函数功能,以查找到所述查询请求所对应的目标向量,包括:根据所述映射关系确定所述每一外部数据包装器对应的校验函数功能和处理函数功能;通过所述每一外部数据包装器对应的校验函数功能对所述每一外部数据包装器进行校验;在校验通过的情况下,通过所述每一外部数据包装器对应的处理函数功能获取所述查询请求对应的向量指令,并根据所述向量指令在所述向量引擎中获取所述目标向量。
在一个示例性实施例中,创建向量数据管理系统之后,所述方法还包括:在所述数据协调节点接收到目标操作请求的情况下,根据所述目标操作请求中所指示的标识信息确定所述目标操作请求所对应的目标数据工作节点;控制所述目标数据工作节点中的外部数据包装器调用对应的函数功能,以执行与所述目标操作请求对应的向量修改操作。
在一个示例性实施例中,根据所述多个数据工作节点查找到的多个目标向量确定所述查询请求的请求结果,至少包括以下之一:将所述多个目标向量进行汇总,将汇总后的多个目标向量作为所述查询请求的请求结果;从所述多个目标向量中确定置信度最高的目标向量,并将所述置信度最高的目标向量作为所述查询请求的请求结果。
在一个示例性实施例中,从所述多个目标向量中确定置信度最高的目标向量,并将所述置信度最高的目标向量作为所述查询请求的请求结果之后,所述方法还包括:确定所述置信度最高的目标向量所对应的目标外部数据包装器;从其他外部数据包装器中获取所述目标向量对应的结构化数据,其中,所述其他外部数据包装器为多个外部数据包装器中除所述目标外部数据包装器之外的外部数据包装器。
根据本申请实施例的另一个实施例,还提供了一种请求结果的确定装置,包括:创建模块,用于创建向量数据管理系统,其中,所述向量数据管理系统中包括:数据协调节点和多个数据工作节点,其中,所述多个数据工作节点中的每一外部数据包装器均允许调用向量引擎的函数功能;接收模块,用于在所述数据协调节点接收到查询请求的情况下,控制所述多个数据工作节点调用所述向量引擎的函数功能以查找所述查询请求的请求结果。
根据本申请实施例的又一方面,还提供了一种计算机可读的存储介质,该计算机可读的存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述请求结果的确定方法。
根据本申请实施例的又一方面,还提供了一种电子装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,上述处理器通过计算机程序执行上述的请求结果的确定方法。
在本申请实施例中,创建向量数据管理系统,其中,所述向量数据管理系统中包括:数据协调节点和多个数据工作节点,其中,所述多个数据工作节点中的每一外部数据包装器均允许调用向量引擎的函数功能;在所述数据协调节点接收到查询请求的情况下,控制所述多个数据工作节点调用所述向量引擎的函数功能以查找所述查询请求的请求结果,采用上述技术方案,解决了数据请求的处理效率低下的问题,进而提高了数据请求的处理效率。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是本申请实施例的一种请求结果的确定方法的计算机终端的硬件结构框图;
图2是根据本申请实施例的请求结果的确定方法的流程图;
图3是根据本申请实施例的向量数据的插入过程的示意图;
图4是根据本申请实施例的向量数据的查询过程的示意图;
图5是根据本申请实施例的一种请求结果的确定装置的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
需要说明的是,本申请的说明书和权利要求书及上述附图中的英文的大写形式和小写形式表达相同的含义,本申请不对英文的大写形式或者小写形式做限制。
接下来结合以下技术术语对本申请的技术方案进行说明。
向量:计算机只认识数字,只能通过数字来理解世界。用一组数字来表示一个事物,这样的一组数字就是一个向量(Vector)。
其中,如果一个向量由m个数字组成,它就是一个m维向量。以人脸识别为例,可以通过计算机从照片中提取出人脸的图像,然后将人脸图像转换为128维或者更高维度的向量。
向量检索:在给定的一组向量中,找出与目标向量最相近的一个或多个向量,即为向量检索。是否相近取决于两个向量间的距离,距离可以为欧式距离、余弦距离等。假设用A和B分别代表两个n维向量,它们之间的欧式距离计算公式就是:
Figure 19573DEST_PATH_IMAGE002
暴力(无损)检索和有损检索:暴力(无损)检索是将向量集里的每一条向量都与目标向量计算距离,最终返回距离最小的一个或多个结果,使用topK表示。该方法准确率高,但计算量随着数据集增大而线性增大,效率低下。有损检索是通过近似最近邻检索等算法提高检索效率,目标向量不需要和向量集中所有向量计算距离,但由此返回的结果不一定是真实的topK。在能接受一些检索精度下降的情况下,有损检索能极大的提高检索效率。
相关技术中,应用广泛的数据库和向量引擎系统如下:
1)单机关系型数据库:如PostgreSQL、MySQL,该类数据库性能强大,但只支持单机,且不支持向量检索,尤其是有损检索。
2)分布式数据库:如Tidb,该类数据库在设计上支持多机分布式,但不支持向量检索。
3)单机向量检索引擎:如milvus,能支持向量检索(暴力和有损),但不支持结构化数据的存储与检索,且只能单机。
4)分布式向量检索引擎:如阿里云的knn插件,能支持向量检索,也能分布式扩展,但结构化数据支持能力有限。此外其提供的是http访问的api,不是关系型数据库,也没有SQL支持。
本申请实施例所提供的方法实施例可以在计算机终端、计算机终端或者类似的运算装置中执行。以运行在计算机终端上为例,图1是本申请实施例的一种请求结果的确定方法的计算机终端的硬件结构框图。如图1所示,计算机终端可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器104,在一个示例性实施例中,上述计算机终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述计算机终端的结构造成限定。例如,计算机终端还可包括比图1中所示更多或者更少的组件,或者具有与图1所示等同功能或比图1所示功能更多的不同的配置。
存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本申请实施例中的请求结果的确定方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
在本实施例中提供了一种请求结果的确定方法,应用于上述计算机终端,图2是根据本申请实施例的请求结果的确定方法的流程图,该流程包括如下步骤:
步骤S202,创建向量数据管理系统,其中,所述向量数据管理系统中包括:数据协调节点和多个数据工作节点,其中,所述多个数据工作节点中的每一外部数据包装器均允许调用向量引擎的函数功能;
需要说明的是,上述数据协调节点可以理解为向量数据管理系统中的主节点,用于将向量数据的操作请求转发至向量数据管理系统中的工作节点。上述数据工作节点可以理解为向量数据库的次节点,用于根据向量数据的操作请求查找向量,并返回给数据协调节点。
需要说明的是,上述外部数据包装器可以理解为上述关系型数据库访问外部数据的外部访问接口,外部数据可以包括向量数据和结构化数据。例如,在一个实施例中,可以通过上述外部数据包装器调用向量引擎的函数功能从而实现对向量数据的访问。
步骤S204,在所述数据协调节点接收到查询请求的情况下,控制所述多个数据工作节点调用所述向量引擎的函数功能以查找所述查询请求的请求结果。
通过上述步骤,创建向量数据管理系统,其中,所述向量数据管理系统中包括:数据协调节点和多个数据工作节点,其中,所述多个数据工作节点中的每一外部数据包装器均允许调用向量引擎的函数功能;在所述数据协调节点接收到查询请求的情况下,控制所述多个数据工作节点调用所述向量引擎的函数功能以查找所述查询请求的请求结果,解决了相关技术中,数据请求的处理效率低下的问题,进而提高了数据请求的处理效率。
在一个示例性实施例中,为了更好的理解上述步骤S204中如何控制所述多个数据工作节点调用所述向量引擎的函数功能以查找所述查询请求的请求结果,提出了一种技术方案,具体步骤包括:在所述数据协调节点接收到查询请求的情况下,控制所述多个数据工作节点中的每一外部数据包装器均调用对应的函数功能,以查找到所述查询请求所对应的目标向量;获取所述多个数据工作节点所分别查找到的目标向量,并根据所述多个数据工作节点查找到的多个目标向量确定所述查询请求的请求结果。
在一个示例性实施例中,在创建向量数据管理系统的过程中提供了一种技术方案,具体步骤包括:剥离所述向量引擎的外部访问接口,得到所述向量引擎的函数功能;分别建立所述函数功能和所述多个数据工作节点中的外部数据包装器的映射关系;将所述映射关系保存在所述多个数据工作节点中的每一外部数据包装器中,以使所述外部数据包装器根据所述映射关系调用对应的函数功能。
需要说明的是,向量引擎的函数功能包括插入向量、增加向量、删除向量、更改向量等,但不限于此,本申请对此不做限制。在一个实施例中,能够使用数据工作节点中的外部数据包装器根据上述映射关系调用插入向量、增加向量、删除向量、更改向量等函数功能。
在一个示例性实施例中,提供了一种剥离所述向量引擎的外部访问接口,得到所述向量引擎的函数功能的技术方案,具体步骤包括:剥离所述向量引擎的外部访问接口,得到所述向量引擎的校验函数功能和处理函数功能,其中,所述校验函数功能用于校验外部数据包装器是否合法;所述处理函数功能用于响应所述数据协调节点发送的所有请求。
在一个示例性实施例中,提供了一种如何控制所述多个数据工作节点中的每一外部数据包装器均调用对应的函数功能,以查找到所述查询请求所对应的目标向量的技术方案,具体步骤包括:根据所述映射关系确定所述每一外部数据包装器对应的校验函数功能和处理函数功能;通过所述每一外部数据包装器对应的校验函数功能对所述每一外部数据包装器进行校验;在校验通过的情况下,通过所述每一外部数据包装器对应的处理函数功能获取所述查询请求对应的向量指令,并根据所述向量指令在所述向量引擎中获取所述目标向量。
在一个实施例中,在上述校验函数对上述外部数据包装器的校验结果为不合法的情况下,可以发送警告信息,提醒后台工作人员对校验结果不合法的外部数据包装器进行校验。
在一个示例性实施例中,在创建向量数据管理系统之后,还提供了一种技术方案,具体步骤包括:在所述数据协调节点接收到目标操作请求的情况下,根据所述目标操作请求中所指示的标识信息确定所述目标操作请求所对应的目标数据工作节点;控制所述目标数据工作节点中的外部数据包装器调用对应的函数功能,以执行与所述目标操作请求对应的向量修改操作。
其中,所述目标操作请求包括以下至少之一:插入向量请求,删除向量请求,增加向量请求,更新向量请求。
在一个示例性实施例中,根据所述多个数据工作节点查找到的多个目标向量确定所述查询请求的请求结果,至少包括以下之一:将所述多个目标向量进行汇总,将汇总后的多个目标向量作为所述查询请求的请求结果;从所述多个目标向量中确定置信度最高的目标向量,并将所述置信度最高的目标向量作为所述查询请求的请求结果。
需要说明的是,上述置信度可以理解为对上述目标向量的选择标准,置信度的取值范围为[0,1],在一个实施例中,如果多个目标向量的置信度分别为0.1、0.3、0.8,则选择置信度为0.8的目标向量作为查询请求的请求结果。
在一个示例性实施例中,在从所述多个目标向量中确定置信度最高的目标向量,并将所述置信度最高的目标向量作为所述查询请求的请求结果之后,还提供了一种技术方案,具体步骤包括:确定所述置信度最高的目标向量所对应的目标外部数据包装器;从其他外部数据包装器中获取所述目标向量对应的结构化数据,其中,所述其他外部数据包装器为多个外部数据包装器中除所述目标外部数据包装器之外的外部数据包装器。
需要说明的是,上述目标向量所对应的目标外部数据包装器可以理解为访问存储结构化数据的外部数据包装器。其中,结构化数据可以理解为采用关系模型组织的由具有行和列的二维表结构来逻辑表达和实现的数据。例如,在一个实施例中,可以通过将商品的信息存储为结构化数据,则从其他外部数据包装器中获取所述目标向量对应的结构化数据可以包括商品的价格、商品的名称、商品的库存状况等。
需要说明的是,上述目标向量可以通过暴力检索的方式进行检索,也可以使用有损检索的港式进行检索,本申请对此不做限制。
为了更好的理解上述请求结果的确定方法的过程,以下再结合可选实施例对上述请求结果的确定的实现方法流程进行说明,但不用于限定本申请实施例的技术方案。
在一个实施例中,提供了一种请求结果的确定方法,具体步骤如下:
步骤1,通过使用控制器文件(命名为control,也可以表示为control文件)识别PostgreSQL插件以及加载PostgreSQL插件,使用数据文件(命名为sql,也可以表示为sql文件)加载自定义FDW来实现建立上述函数功能和上述多个数据工作节点中的外部数据包装器的映射关系的过程(相当于上述外部数据包装器,命名为vector_fdw)。
需要说明的是,关系型数据库PostgreSQL可以提供FDW(Foreign Data Wrapper,外部数据包装器)技术,通过FDW技术可以实现外部访问接口,用来访问存储在外部的数据。这些数据可以来自外部的PostgreSQL数据库、oracle数据库、mysql等数据库,甚至可以是文件形式的数据。在本实施例中,通过FDW访问外部的向量数据系统(相当于上述向量引擎)。
需要说明的是,通过编写control文件和sql文件实现PostgreSQL插件。其中,编写control文件的目的是识别PostgresSQL插件,以及加载PostgresSQL插件,执行PostgresSQL插件的动作;sql文件为加载时执行的语句,其中,sql文件可以是目标对象输入的查询语句,也可以是系统设置的自动查询的查询语句,本申请对此不做限制。
其中,通过在sql文件中引用“vector_fdw”可以加载自定义FDW。
步骤2,通过VALIDATOR和HANDLER两个函数得到自定义FDW,实现剥离所述向量引擎的外部访问接口,得到所述向量引擎的函数功能的过程。
需要说明的是,VALIDATOR函数用于效验自定义FDW是否合法,HANDLER用于实现FDW的各个接口以便和向量引擎沟通。
在一个实施例中,可以为FDW的外部访问接口的访问对象设置为HANDLER函数来实现自定义FDW与向量引擎的数据交互。或者,直接将HANDLER函数迁移至自定义FDW中,从而将对自定义FDW的操作转换为对向量数据的操作过程。
例如,在一个实施例中,以milvus向量引擎为例,通过剥离milvus的外部访问接口,保留milvus的核心函数,即HANDLER函数,在自定义FDW中直接调用这些函数,从而实现在不单独运行向量引擎的情况下,检索向量数据,并提升检索性能。
需要说明的是,milvus是一款开源的单机向量检索引擎,支持向量的增删改查。通过自定义FDW,可以建立PostgreSQL的数据表到milvus的关联,解析SQL中的增删改查操作,将对PostgreSQL的数据的处理操作,转化为milvus的调用操作。
需要说明的是,在一个实施例中,HANDLER的函数可以实现如下函数功能:
GetForeignRelSize:返回向量数据大小,用于估算cost(耗费的数据资源)以便确定执行计划;
GetForeignPaths、GetForeignPlan:用于返回向量的查询计划;
ExplainForeignScan:用于向量的explain操作;
BeginForeignScan、IterateForeignScan、ReScanForeignScan、EndForeignScan:用于执行查询操作。此处需解析SQL,获取传入的目标向量,并进行检索,返回topK查询结果;
BeginForeignModify、ExecForeignInsert、EndForeignModify:用于执行增加向量操作;
ExecForeignDelete:用于执行删除向量操作;
ExecForeignUpdate:用于执行更新向量操作。
通过上述步骤1和步骤2提供了一种创建向量数据库的方法,实现了通过关系型数据库中的外部数据包装器调用向量引擎的函数功能。
步骤3,通过将上述步骤1和步骤2中PostgreSQL插件打包成扩展程序,并在PostgresSQL中加载扩展程序。
create extension vector_fdw;
步骤4,安装citus扩展文件,基于步骤3中的拓展程序生成多个向量数据库。
create extension citus;
需要说明的是,Citus可以理解为创建向量数据管理系统的扩展工具,在向量数据管理系统中包括协调器节点和工作节点,由于Citus采用shared nothing(不分享)架构,在协调器节点和工作节点之间无共享数据。相比单个的PostgreSQL,Citus可以将多个单个的向量数据库拓展为向量数据管理系统,从而增加了CPU核心的数量,增大存储数量,从而存储更多的数据。
通过向向量数据管理系统添加向量数据库作为节点,可以减低扩展数据库的复杂度,增强了向量数据库的可拓展性。
步骤5,在多台服务器重复以上步骤,选中一台服务器作为向量数据管理系统中的主服务节点,在主服务节点上添加其它服务器为工作服务节点。
select citus_add_node('ip', port);
通过上述实施例,通过在PostgreSQL中以插件形式动态加载向量引擎,将向量引擎和PostgreSQL结合在一起,提供一种分布式的支持向量检索的数据库系统,这个分布式的支持向量检索的数据库系统基于PostgreSQL,通过FDW技术解决了向量数据和传统结构化数据不兼容的问题,将向量存储和检索融入传统关系型数据库,不仅使得可以通过关系型数据库的SQL语句操作向量、和其它传统业务表聚合分析、进行事务操作等,还可以结合citus扩展文件使得整套系统成为可拓展的分布式向量数据库系统。
本实施例中的分布式向量数据库系统可应用于需要向量检索的业务场景中,例如人脸识别、图像识别、视频搜索、首页推荐、广告投放、猜你喜欢、数据挖掘与决策等业务场景,基于关系型数据库,能够降低系统的使用复杂度、降低开发成本,在提高系统性能的同时,突破了关系型数据库的数据处理量的限制,支持超大规模(百亿、千亿级别)的秒级或者毫秒级的向量检索工作。
在一个实施例中,以人脸检索为例,公司对所有员工建立底库,员工ID、名称、年龄、所属部门等信息存储于关系型数据库PostgreSQL中,将员工的人脸向量信息存储于向量引擎milvus中。可以采用以下方法处理数据请求:
方法1:
在数据请求为数据插入请求和数据删除请求的情况下,在两套系统中各执行一次新增员工和移除员工的操作。
需要说明的是,由于没有这两套系统之间没有事务性,方法1的操作准确性较低。比如,关系型数据库成功添加员工,但向量数据库中员工的人脸向量添加失败。
在数据请求为数据检索的情况下,当进行目标人脸检索时(例如人脸签到的业务场景),使用向量系统确定与目标人脸最相似的员工ID,再去关系型数据库里找出与员工ID对应的员工名称、部门等。
需要说明的是,由于分别在两套系统中进行搜索,搜索次数增加,降低了对数据检索请求的处理效率,在这种情况下,限制了这两套系统对复杂的联合数据查询操作的处理性能。
方法2:
使用上述图2中的向量数据管理系统,在关系型数据库PostgreSQL中使用外部数据包装器调用向量引擎milvus中的函数功能的基础上,以结合附图3-4和代码对方法2中数据请求的处理过程进行说明。
1)创建向量表和业务表的代码如下:
create server vector_srv foreign data wrapper vector_fdw;
create foreign table employee_vector (id int, vec float[2]) servervector_srv options;
create table employee (id int, name text);
2)变为分布式表的代码如下:
select create_distributed_table ('employee_vector', 'id');
select create_distributed_table ('employee', 'id');
3)插入向量数据的代码如下:
insert into employee_vector (id, vec) values (1, '{1.0, 2.0}');
insert into employee (id, name) values (1, 'wang');
在一个实施例中,可以结合图3对数据插入请求的处理过程进行说明。图3是根据本申请实施例的请求结果的确定方法的示意图,如图3所示,在向量数据管理系统中插入向量数据的过程为:向PostgreSQL的主节点中发送实现插入向量的代码,PostgreSQL的主节点(相当于上述数据协调节点)使用散列函数(即图3中的hash)对代码中提供的id进行散列值变换的操作,得到id对应的哈希值,使用id对应的哈希值确定出进行向量数据插入操作的PostgreSQL节点n,基于FDWn实现向量引擎中的插入向量数据的函数功能,其中,n的取值范围为[0,∞]。
4)查询向量数据的代码如下:
select name from employee join employee_vector on employee.id =employee_vector.id where employee_vector.vec = '{1.1, 2.1}'
在一个实施例中,可以结合图3对数据查询请求的处理过程进行说明。图4是根据本申请实施例的向量数据的查询过程的示意图,如图4所示,在向量数据管理系统中查询向量数据的过程为:
步骤1、通过PostgreSQL的主节点将向量数据的查询请求发送至每个PostgreSQL节点,由每个PostgreSQL节点返回查询结果topK。
其中,每个PostgreSQL节点可以基于FDWn实现向量引擎中的查询向量数据的函数功能,其中,n的取值范围为[0,∞]。
步骤2、将所有PostgreSQL节点返回的查询结果topK进行汇总,从汇总结果中选择最终topK,并返回。
通过上述实施例,可见向量数据的操作和结构化数据的操作过程是相似的,能够极大简化数据请求的操作复杂性,增强了向量数据管理系统的数据可操作性,提高数据请求的处理效率,提高了构建复杂的sql以及事务操作的数据库的概率。
进一步地,通过将向量检索和分布式能力结合到关系型数据库中,在关系型数据库中处理向量数据,实现了基于关系型数据库的向量检索数据库,另外,可以将向量数据库拓展为向量数据管理系统,不仅简化了系统架构,降低使用向量引擎操作向量数据的依赖性,将业务数据存储于一套系统中,还能够降低查询语句的操作复杂度,提高向量数据库的可操作性,并且,提高了与其他业务数据进行联合查询的便利性,提高向量数据库的数据处理性能,提高了数据请求的处理效率。此外,还支持事务,免除了数据不一致的困扰。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例的方法。
图5是根据本申请实施例的一种请求结果的确定装置的结构框图。如图5所示,包括:
创建模块52,用于创建向量数据管理系统,其中,所述向量数据管理系统中包括:数据协调节点和多个数据工作节点,其中,所述多个数据工作节点中的每一外部数据包装器均允许调用向量引擎的函数功能;
需要说明的是,上述数据协调节点可以理解为向量数据管理系统中的主节点,用于将向量数据的操作请求转发至向量数据管理系统中的工作节点。上述数据工作节点可以理解为向量数据库的次节点,用于根据向量数据的操作请求查找向量,并返回给数据协调节点。
需要说明的是,上述外部数据包装器可以理解为上述关系型数据库访问外部数据的外部访问接口,外部数据可以包括向量数据和结构化数据。例如,在一个实施例中,可以通过上述外部数据包装器调用向量引擎的函数功能从而实现对向量数据的访问。
接收模块54,用于在所述数据协调节点接收到查询请求的情况下,控制所述多个数据工作节点调用所述向量引擎的函数功能以查找所述查询请求的请求结果。
通过上述装置,创建向量数据管理系统,其中,所述向量数据管理系统中包括:数据协调节点和多个数据工作节点,其中,所述多个数据工作节点中的每一外部数据包装器均允许调用向量引擎的函数功能;在所述数据协调节点接收到查询请求的情况下,控制所述多个数据工作节点调用所述向量引擎的函数功能以查找所述查询请求的请求结果,解决了相关技术中,数据请求的处理效率低下的问题,进而提高了数据请求的处理效率。
可选的,在一个示例性实施例中,上述接收模块还用于,在所述数据协调节点接收到查询请求的情况下,控制所述多个数据工作节点中的每一外部数据包装器均调用对应的函数功能,以查找到所述查询请求所对应的目标向量;获取所述多个数据工作节点所分别查找到的目标向量,并根据所述多个数据工作节点查找到的多个目标向量确定所述查询请求的请求结果。
可选的,在一个示例性实施例中,上述请求结果的确定装置还包括剥离模块,用于剥离所述向量引擎的外部访问接口,得到所述向量引擎的函数功能;分别建立所述函数功能和所述多个数据工作节点中的外部数据包装器的映射关系;将所述映射关系保存在所述多个数据工作节点中的每一外部数据包装器中,以使所述外部数据包装器根据所述映射关系调用对应的函数功能。
需要说明的是,向量引擎的函数功能包括插入向量、增加向量、删除向量、更改向量等,但不限于此,本申请对此不做限制。在一个实施例中,能够使用数据工作节点中的外部数据包装器根据上述映射关系调用插入向量、增加向量、删除向量、更改向量等函数功能。
可选的,在一个示例性实施例中,上述请求结果的确定装置还包括接口剥离模块,用于剥离所述向量引擎的外部访问接口,得到所述向量引擎的校验函数功能和处理函数功能,其中,所述校验函数功能用于校验外部数据包装器是否合法;所述处理函数功能用于响应所述数据协调节点发送的所有请求。
可选的,在一个示例性实施例中,上述请求结果的确定装置还包括功能剥离模块,用于根据所述映射关系确定所述每一外部数据包装器对应的校验函数功能和处理函数功能;通过所述每一外部数据包装器对应的校验函数功能对所述每一外部数据包装器进行校验;在校验通过的情况下,通过所述每一外部数据包装器对应的处理函数功能获取所述查询请求对应的向量指令,并根据所述向量指令在所述向量引擎中获取所述目标向量。
在一个实施例中,在上述校验函数对上述外部数据包装器的校验结果为不合法的情况下,可以发送警告信息,提醒后台工作人员对校验结果不合法的外部数据包装器进行校验。
可选的,在一个示例性实施例中,上述请求结果的确定装置还包括确定模块,用于在所述数据协调节点接收到目标操作请求的情况下,根据所述目标操作请求中所指示的标识信息确定所述目标操作请求所对应的目标数据工作节点,其中,所述目标操作请求包括以下至少之一:插入向量请求,删除向量请求,增加向量请求,更新向量请求;控制所述目标数据工作节点中的外部数据包装器调用对应的函数功能,以执行与所述目标操作请求对应的向量修改操作。
其中,所述目标操作请求包括以下至少之一:插入向量请求,删除向量请求,增加向量请求,更新向量请求。
可选的,在一个示例性实施例中,根据所述多个数据工作节点查找到的多个目标向量确定所述查询请求的请求结果,至少包括以下之一:将所述多个目标向量进行汇总,将汇总后的多个目标向量作为所述查询请求的请求结果;从所述多个目标向量中确定置信度最高的目标向量,并将所述置信度最高的目标向量作为所述查询请求的请求结果。
需要说明的是,上述置信度可以理解为对上述目标向量的选择标准,置信度的取值范围为[0,1],在一个实施例中,如果多个目标向量的置信度分别为0.1、0.3、0.8,则选择置信度为0.8的目标向量作为查询请求的请求结果。
可选的,在一个示例性实施例中,上述请求结果的确定装置还包括数据获取模块,用于确定所述置信度最高的目标向量所对应的目标外部数据包装器;从其他外部数据包装器中获取所述目标向量对应的结构化数据,其中,所述其他外部数据包装器为多个外部数据包装器中除所述目标外部数据包装器之外的外部数据包装器。
需要说明的是,上述目标向量所对应的目标外部数据包装器可以理解为访问存储结构化数据的外部数据包装器。其中,结构化数据可以理解为采用关系模型组织的由具有行和列的二维表结构来逻辑表达和实现的数据。例如,在一个实施例中,可以通过将商品的信息存储为结构化数据,则从其他外部数据包装器中获取所述目标向量对应的结构化数据可以包括商品的价格、商品的名称、商品的库存状况等。
需要说明的是,上述目标向量可以通过暴力检索的方式进行检索,也可以使用有损检索的港式进行检索,本申请对此不做限制。
本申请的实施例还提供了一种存储介质,该存储介质包括存储的程序,其中,上述程序运行时执行上述任一项的方法。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的程序代码:
S1,创建向量数据管理系统,其中,所述向量数据管理系统中包括:数据协调节点和多个数据工作节点,其中,所述多个数据工作节点中的每一外部数据包装器均允许调用向量引擎的函数功能;
S2,在所述数据协调节点接收到查询请求的情况下,控制所述多个数据工作节点调用所述向量引擎的函数功能以查找所述查询请求的请求结果。
本申请的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,创建向量数据管理系统,其中,所述向量数据管理系统中包括:数据协调节点和多个数据工作节点,其中,所述多个数据工作节点中的每一外部数据包装器均允许调用向量引擎的函数功能;
S2,在所述数据协调节点接收到查询请求的情况下,控制所述多个数据工作节点调用所述向量引擎的函数功能以查找所述查询请求的请求结果。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
显然,本领域的技术人员应该明白,上述的本申请的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本申请不限制于任何特定的硬件和软件结合。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (11)

1.一种请求结果的确定方法,其特征在于,包括:
创建向量数据管理系统,其中,所述向量数据管理系统中包括:数据协调节点和多个数据工作节点,其中,所述多个数据工作节点中的每一外部数据包装器均允许调用向量引擎的函数功能;
在所述数据协调节点接收到查询请求的情况下,控制所述多个数据工作节点调用所述向量引擎的函数功能以查找所述查询请求的请求结果。
2.根据权利要求1所述的请求结果的确定方法,其特征在于,控制所述多个数据工作节点调用所述向量引擎的函数功能以查找所述查询请求的请求结果,包括:
控制所述多个数据工作节点中的每一外部数据包装器均调用对应的函数功能,以查找到所述查询请求所对应的目标向量;
获取所述多个数据工作节点所分别查找到的目标向量,并根据所述多个数据工作节点查找到的多个目标向量确定所述查询请求的请求结果。
3.根据权利要求2所述的请求结果的确定方法,其特征在于,创建向量数据管理系统的过程中,所述方法还包括:
剥离所述向量引擎的外部访问接口,得到所述向量引擎的函数功能;
分别建立所述函数功能和所述多个数据工作节点中的外部数据包装器的映射关系;
将所述映射关系保存在所述多个数据工作节点中的每一外部数据包装器中,以使所述外部数据包装器根据所述映射关系调用对应的函数功能。
4.根据权利要求3所述的请求结果的确定方法,其特征在于,剥离所述向量引擎的外部访问接口,得到所述向量引擎的函数功能,包括:
剥离所述向量引擎的外部访问接口,得到所述向量引擎的校验函数功能和处理函数功能,其中,所述校验函数功能用于校验所述外部数据包装器是否合法;所述处理函数功能用于响应所述数据协调节点发送的所有请求。
5.根据权利要求3所述的请求结果的确定方法,其特征在于,控制所述多个数据工作节点中的每一外部数据包装器均调用对应的函数功能,以查找到所述查询请求所对应的目标向量,包括:
根据所述映射关系确定所述每一外部数据包装器对应的校验函数功能和处理函数功能;
通过所述每一外部数据包装器对应的校验函数功能对所述每一外部数据包装器进行校验;
在校验通过的情况下,通过所述每一外部数据包装器对应的处理函数功能获取所述查询请求对应的向量指令,并根据所述向量指令在所述向量引擎中获取所述目标向量。
6.根据权利要求1所述的请求结果的确定方法,其特征在于,创建向量数据管理系统之后,所述方法还包括:
在所述数据协调节点接收到目标操作请求的情况下,根据所述目标操作请求中所指示的标识信息确定所述目标操作请求所对应的目标数据工作节点;
控制所述目标数据工作节点中的外部数据包装器调用对应的函数功能,以执行与所述目标操作请求对应的向量修改操作。
7.根据权利要求2所述的请求结果的确定方法,其特征在于,根据所述多个数据工作节点查找到的多个目标向量确定所述查询请求的请求结果,至少包括以下之一:
将所述多个目标向量进行汇总,将汇总后的多个目标向量作为所述查询请求的请求结果;
从所述多个目标向量中确定置信度最高的目标向量,并将所述置信度最高的目标向量作为所述查询请求的请求结果。
8.根据权利要求7所述的请求结果的确定方法,其特征在于,从所述多个目标向量中确定置信度最高的目标向量,并将所述置信度最高的目标向量作为所述查询请求的请求结果之后,所述方法还包括:
确定所述置信度最高的目标向量所对应的目标外部数据包装器;
从其他外部数据包装器中获取所述目标向量对应的结构化数据,其中,所述其他外部数据包装器为多个外部数据包装器中除所述目标外部数据包装器之外的外部数据包装器。
9.一种请求结果的确定装置,其特征在于,包括:
创建模块,用于创建向量数据管理系统,其中,所述向量数据管理系统中包括:数据协调节点和多个数据工作节点,其中,所述多个数据工作节点中的每一外部数据包装器均允许调用向量引擎的函数功能;
接收模块,用于在所述数据协调节点接收到查询请求的情况下,控制所述多个数据工作节点调用所述向量引擎的函数功能以查找所述查询请求的请求结果。
10.一种计算机可读的存储介质,其特征在于,所述计算机可读的存储介质包括存储的程序,其中,所述程序运行时执行上述权利要求1至8任一项中所述的方法。
11.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为通过所述计算机程序执行所述权利要求1至8任一项中所述的方法。
CN202210407372.0A 2022-04-19 2022-04-19 请求结果的确定方法和装置、存储介质及电子装置 Active CN114490095B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210407372.0A CN114490095B (zh) 2022-04-19 2022-04-19 请求结果的确定方法和装置、存储介质及电子装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210407372.0A CN114490095B (zh) 2022-04-19 2022-04-19 请求结果的确定方法和装置、存储介质及电子装置

Publications (2)

Publication Number Publication Date
CN114490095A true CN114490095A (zh) 2022-05-13
CN114490095B CN114490095B (zh) 2022-06-21

Family

ID=81489502

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210407372.0A Active CN114490095B (zh) 2022-04-19 2022-04-19 请求结果的确定方法和装置、存储介质及电子装置

Country Status (1)

Country Link
CN (1) CN114490095B (zh)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150154259A1 (en) * 2013-12-03 2015-06-04 Hewlett-Packard Development Company, L.P. Sql query on a nosql database
CN110321392A (zh) * 2019-06-25 2019-10-11 北京海量数据技术股份有限公司 基于传感器监测数据文件的数据库管理系统
CN111382179A (zh) * 2020-03-10 2020-07-07 北京金山云网络技术有限公司 数据处理方法、装置及电子设备
CN111400000A (zh) * 2020-03-09 2020-07-10 百度在线网络技术(北京)有限公司 网络请求处理方法、装置、设备和存储介质
CN112884005A (zh) * 2021-01-21 2021-06-01 汉唐信通(北京)科技有限公司 一种基于sptag及卷积神经网的图像检索方法及装置
CN112990297A (zh) * 2021-03-10 2021-06-18 北京智源人工智能研究院 多模态预训练模型的训练方法、应用方法及装置
CN113254511A (zh) * 2021-07-15 2021-08-13 北京华品博睿网络技术有限公司 一种分布式向量检索系统及方法
CN113761290A (zh) * 2021-03-10 2021-12-07 中科天玑数据科技股份有限公司 一种基于sql实现全文检索图数据库的查询方法及查询系统

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150154259A1 (en) * 2013-12-03 2015-06-04 Hewlett-Packard Development Company, L.P. Sql query on a nosql database
CN110321392A (zh) * 2019-06-25 2019-10-11 北京海量数据技术股份有限公司 基于传感器监测数据文件的数据库管理系统
CN111400000A (zh) * 2020-03-09 2020-07-10 百度在线网络技术(北京)有限公司 网络请求处理方法、装置、设备和存储介质
CN111382179A (zh) * 2020-03-10 2020-07-07 北京金山云网络技术有限公司 数据处理方法、装置及电子设备
CN112884005A (zh) * 2021-01-21 2021-06-01 汉唐信通(北京)科技有限公司 一种基于sptag及卷积神经网的图像检索方法及装置
CN112990297A (zh) * 2021-03-10 2021-06-18 北京智源人工智能研究院 多模态预训练模型的训练方法、应用方法及装置
CN113761290A (zh) * 2021-03-10 2021-12-07 中科天玑数据科技股份有限公司 一种基于sql实现全文检索图数据库的查询方法及查询系统
CN113254511A (zh) * 2021-07-15 2021-08-13 北京华品博睿网络技术有限公司 一种分布式向量检索系统及方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
FREDERIC STAHL等: "Mapping the Big Data Landscape: Technologies, Platforms and Paradigms for Real-Time Analytics of Data Streams", 《IEEE ACCESS ( VOLUME: 9)》 *
郑小裕等: "SQL与NoSQL数据库的统一查询模型的设计与实现", 《2014 INTERNATIONAL CONFERENCE ON E-EDUCATION,E-BUSINESS AND INFORMATION MANAGEMENT(ICEEIM 2014)》 *

Also Published As

Publication number Publication date
CN114490095B (zh) 2022-06-21

Similar Documents

Publication Publication Date Title
CN111563101B (zh) 执行计划优化方法、装置、设备及存储介质
US10453165B1 (en) Computer vision machine learning model execution service
US8812492B2 (en) Automatic and dynamic design of cache groups
CN109408507B (zh) 多属性数据的处理方法、装置、设备及可读存储介质
CN112214505B (zh) 数据同步方法、装置、计算机可读存储介质及电子设备
CN111522840B (zh) 标签的配置方法、装置、设备及计算机可读存储介质
CN110222046B (zh) 列表数据的处理方法、装置、服务器和存储介质
CN109657060B (zh) 安全生产事故案例推送方法及系统
CN105302827A (zh) 一种事件的搜索方法和设备
CN114238767A (zh) 业务推荐方法、装置、计算机设备和存储介质
US20180018385A1 (en) System, data combining method, integration server, data combining program, database system ,database system cooperation method, and database system cooperation program
CN114490095B (zh) 请求结果的确定方法和装置、存储介质及电子装置
US11048756B2 (en) Inserting datasets into database systems utilizing hierarchical value lists
CN109697234B (zh) 实体的多属性信息查询方法、装置、服务器和介质
CN111414527A (zh) 相似项目的查询方法、装置及存储介质
CN115827280A (zh) 消息处理方法、装置、电子设备及存储介质
CN113449003B (zh) 信息查询的方法、装置、电子设备及介质
CN117009430A (zh) 数据管理方法、装置和存储介质及电子设备
CN115733787A (zh) 一种网络识别方法、装置、服务器及存储介质
CN114048219A (zh) 图数据库更新方法及装置
CN112100208A (zh) 一种操作请求的转发方法和装置
CN113064720B (zh) 对象分配方法、装置、服务器及存储介质
CN114268540B (zh) 规则引擎的优化方法、装置及设备
CN111368146A (zh) 一种路径信息的查询方法及装置、存储介质和处理器
CN117573730B (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