Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
DATA STORAGE METHOD AND DATA QUERY METHOD
Document Type and Number:
WIPO Patent Application WO/2020/173334
Kind Code:
A1
Abstract:
Disclosed are a data storage method and a data query method. The data storage method comprises the steps of: determining whether data to be stored is a predetermined data type; if the data is the predetermined data type, storing the data in a first storage region, and acquiring a directory address of the data; extracting a feature vector of the data; and associatively storing the feature vector of the data and the directory address in a second storage region. Further disclosed are a corresponding data management system and a computing device.

Inventors:
LUO YI (CN)
Application Number:
PCT/CN2020/075690
Publication Date:
September 03, 2020
Filing Date:
February 18, 2020
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
ALIBABA GROUP HOLDING LTD (CN)
International Classes:
G06F16/532
Foreign References:
CN108268600A2018-07-10
CN108268600A2018-07-10
CN106407445A2017-02-15
CN106407445A2017-02-15
CN107636639A2018-01-26
CN109189842A2019-01-11
CN201910139006A2019-02-25
Attorney, Agent or Firm:
BEIJING SANYOU INTELLECTUAL PROPERTY AGENCY LTD. (CN)
Download PDF:
Claims:
权 利 要 求 书

1. 一种数据存储方法, 包括步骤:

判断待存储的数据是否属于预定数据类型;

若所述数据属于预定数据类型, 则将所述数据存储至第一存储区域并获取所述数据 的目录地址;

提取所述数据的特征向量; 以及

将所述数据的特征向量与目录地址关联存储至第二存储区域。

2. 如权利要求 1所述的方法, 还包括步骤:

若经判断后确认所述待存储的数据不属于预定数据类型, 则将所述数据存储至第二 存储区域。

3. 如权利要求 1或 2所述的方法,其中,所述提取所述数据的特征向量的步骤包括: 将所述数据的目录地址输入特征提取模型, 以输出该数据的特征向量。

4. 如权利要求 1或 2所述的方法,其中,在所述提取所述数据的特征向量的步骤之 前, 还包括步骤:

获取所述数据的描述信息, 并与该数据的目录地址关联存储。

5. 如权利要求 4所述的方法, 其中, 所述描述信息至少包括: 用于提取特征向量的 特征提取模型和用于计算特征相似度的度量方法。

6. 如权利要求 5所述的方法, 其中, 所述提取所述数据的特征向量的步骤还包括: 基于所述数据的描述信息和目录地址, 提取出所述数据对应的特征向量。

7. 如权利要求 6所述的方法, 其中, 所述基于数据的描述信息和目录地址, 提取出 数据对应的特征向量的步骤还包括:

根据所述数据的描述信息, 获取该数据对应的用于提取特征向量的特征提取模型; 将所述目录地址输入所述特征提取模型, 以输出该数据对应的特征向量。

8. 如权利要求 1-7中任一项所述的方法, 其中, 所述预定数据类型包括以下数据类 型中的一种或多种: 文本、 图片、 XML、 HTML、 图像、 音频、 视频。

9. 一种数据存储装置, 包括:

判断单元, 适于判断待存储的数据是否属于预定数据类型;

第一存储单元, 适于在所述数据属于预定数据类型时, 存储所述数据并生成所述数 据的目录地址;

特征提取单元, 适于提取所述数据的特征向量; 以及 第二存储单元, 适于关联存储所述数据的特征向量与目录地址。

10. 如权利要求 9所述的装置, 其中, 所述第二存储单元还适于在所述待存储的数 据不属于预定数据类型时, 存储该数据。

11. 如权利要求 9或 10所述的装置, 还包括:

元数据存储单元, 适于在待存储数据属于预定数据类型时, 获取所述数据的描述信 息, 并与该数据的目录地址关联存储。

12. 一种数据查询方法, 包括步骤:

生成至少一个待查询的特征向量;

确定与待查询的特征向量相似的至少一个特征向量;

获取与所确定的至少一个特征向量相关联的至少一个目录地址; 以及

确定所获取的至少一个目录地址所指向的至少一个数据, 作为目标数据。

13. 如权利要求 12所述的方法,其中,所述生成至少一个待查询的特征向量的步骤 之前还包括:

响应于用户的查询信息, 判断所述查询信息中是否包含预定数据类型;

若包含预定数据类型, 则生成至少一个待查询的特征向量。

14. 如权利要求 13所述的方法,其中,所述预定数据类型包括以下数据类型中的一 种或多种: 文本、 图片、 XML、 HTML、 图像、 音频、 视频。

15. 如权利要求 12- 14中任一项所述的方法, 其中, 所述确定与待查询的特征向量 相似的至少一个特征向量的步骤包括:

根据指定的计算特征相似度的度量方法, 从第二存储区域中分别确定出与待查询的 特征向量相似的至少一个特征向量。

16. 如权利要求 12- 15 中任一项所述的方法, 其中, 所述生成至少一个待查询的特 征向量的步骤还包括:

响应于查询信息, 获取至少一个待查询的目录地址;

基于至少一个待查询的目录地址, 生成至少一个待查询的特征向量。

17. 如权利要求 12- 16中任一项所述的方法, 其中, 所述获取与所确定的至少一个 特征向量相关联的至少一个目录地址的步骤包括:

从第二存储区域中分别获取与所确定的至少一个特征向量相关联的至少一个目录 地址。

18. 如权利要求 12- 17 中任一项所述的方法, 其中, 所述确定所获取的至少一个目 录地址所指向的至少一个数据, 作为目标数据的步骤:

从第一存储区域中确定所获取的至少一个目录地址所指向的至少一个数据, 作为目 标数据。

19. 一种数据查询方法, 包括步骤:

获取至少一个待查询的特征向量;

确定与待查询的特征向量相似的至少一个特征向量;

获取与所确定的至少一个特征向量相关联的至少一个目录地址; 以及

确定所获取的至少一个目录地址所指向的至少一个数据, 作为目标数据。

20. 一种数据查询装置, 包括:

判断单元, 适于判断查询信息中是否包含预定数据类型;

特征计算单元, 适于基于所述查询信息, 生成至少一个待查询的特征向量, 还适于 确定与待查询的特征向量相似的至少一个特征向量;

第一查询单元, 适于从第二存储区域中获取与所确定的至少一个特征向量相关联的 至少一个目录地址;

第二查询单元, 适于从第一存储区域中确定所获取的至少一个目录地址所指向的至 少一个数据, 作为目标数据。

21. 如权利要求 20所述的装置,其中,所述数据包括以下数据类型中的一种或多种: 文本、 图片、 XML、 HTML、 图像、 音频、 视频。

22. 一种数据管理系统, 包括:

如权利要求 9- 11中任一项所述的数据存储装置; 和

如权利要求 20或 21所述的数据查询装置。

23. 一种计算设备, 包括:

至少一个处理器; 和

存储有程序指令的存储器, 其中, 所述程序指令被配置为适于由所述至少一个处理 器执行, 所述程序指令包括用于执行如权利要求 1-8中任一项所述方法的指令, 以及用 于执行如权利要求 12- 19中任一项所述方法的指令。

24. 一种存储有程序指令的可读存储介质, 当所述程序指令被计算设备读取并执行 时, 使得所述计算设备执行如权利要求 1-8 中任一项所述的方法以及如权利要求 12- 19 中任一项所述的方法。

Description:
麵存储方法及数据查询方法

本申请要求 2019年 02月 25 日递交的申请号为 201910139006.X、 发明名称为“数 据存储方法及数据查询方法” 的中国专利申请的优先权, 其全部内容通过引用结合在本 申请中。 技术领域

本发明涉及数据处理技术领域, 尤其涉及数据存储方法和数据查询方法。 背景技术

传统的应用于数据库管理系统中的查询语言 (如, SQL) , 都是针对结构化数据, 以实现数据的存取、 查询、 更新和管理。 然而, 传统的语义检索方法, 一般都是基于数 据本身, 并不会去理解数据背后的含义。

随着人工智能领域的飞速发展, 音视频、 图像、 文本等非结构化数据得到越来越多 的应用。 对于这些非结构化数据, 其本身的语义要通过识别才能得知。 因此, 对于这类 数据的处理, 常需要得到其背后的含义。

在现有的一些数据库系统中, 可以支持向量的存储和检索。 这样, 在用户使用该数 据库查询非结构化数据时, 以图像为例, 需要在数据库外部, 调用专门的服务将图像转 换成向量, 然后再将向量存入数据库, 在后期查询 /检索时, 用户也通过向量来进行检索。 这种处理方式, 一方面过程比较繁杂, 另一方面对用户要求过高, 用户需要将图像转换 成向量, 并且向量对于用户来说, 没有直观的含义, 这就增加了用户成本。

鉴于此, 需要一种既能够支持结构化数据、 又能够支持非结构化数据的数据管理方 法, 来实现对数据的存储、 查询 /检索等。 发明内容

为此, 本发明提供了一种数据存储方法及数据查询方 法, 以力图解决或至少缓解上 面存在的至少一个问题。

根据本发明的一个方面, 提供了一种数据存储方法, 包括步骤: 判断待存储的数据 是否属于预定数据类型; 若该数据属于预定数据类型, 则将该数据存储至第一存储区域 并获取该数据的目录地址; 提取该数据的特征向量; 以及将该数据的特征向量与目录地 址关联存储至第二存储区域。 可选地, 根据本发明的数据存储方法还包括步骤: 若经判断后确认待存储的数据不 属于预定数据类型, 则将该数据存储至第二存储区域。

可选地, 在根据本发明的数据存储方法中, 提取该数据的特征向量的步骤包括: 将 该数据的目录地址输入特征提取模型, 以输出该数据的特征向量。

可选地, 根据本发明的数据存储方法还包括步骤: 获取数据的描述信息, 并与该数 据的目录地址关联存储, 其中描述信息至少包括: 用于提取特征向量的特征提取模型和 用于计算特征相似度的度量方法。

可选地, 在根据本发明的数据存储方法中, 提取数据的特征向量的步骤还包括: 基 于数据的描述信息和目录地址, 提取出该数据对应的特征向量, 更具体地, 根据数据的 描述信息, 获取该数据对应的用于提取特征向量的特征提 取模型; 将该目录地址输入该 特征提取模型, 以输出该数据对应的特征向量。

可选地, 在根据本发明的数据存储方法中, 预定数据类型包括以下数据类型中的一 种或多种: 文本、 图片、 XML、 HTML、 图像、 音频、 视频。

根据本发明的另一个方面, 提供了一种数据存储装置, 包括: 判断单元, 适于判断 待存储的数据是否属于预定数据类型; 第一存储单元, 适于在该数据属于预定数据类型 时, 存储该数据并生成该数据的目录地址; 特征提取单元, 适于提取该数据的特征向量; 以及第二存储单元, 适于关联存储数据的特征向量与目录地址。

可选地, 根据本发明的数据存储装置还包括: 元数据存储单元, 适于在待存储数据 属于预定数据类型时, 获取数据的描述信息, 并与该数据的目录地址关联存储。

根据本发明的再一个方面, 提供了一种数据查询方法, 包括步骤: 生成至少一个待 查询的特征向量; 确定与待查询的特征向量相似的至少一个特征 向量; 获取与所确定的 至少一个特征向量相关联的至少一个目录地址 ; 以及确定所获取的至少一个目录地址所 指向的至少一个数据, 作为目标数据。

根据本发明的再一个方面, 提供了一种数据查询方法, 包括步骤: 获取至少一个待 查询的特征向量; 确定与待查询的特征向量相似的至少一个特征 向量; 获取与所确定的 至少一个特征向量相关联的至少一个目录地址 ; 以及确定所获取的至少一个目录地址所 指向的至少一个数据, 作为目标数据。

根据本发明的又一个方面, 提供了一种数据查询装置, 包括: 判断单元, 适于判断 查询信息中是否包含预定数据类型; 特征计算单元, 适于基于查询信息, 生成至少一个 待查询的特征向量, 还适于确定与待查询的特征向量相似的至少一 个特征向量; 第一查 询单元, 适于从第二存储区域中获取与所确定的至少一 个特征向量相关联的至少一个目 录地址; 第二查询单元, 适于从第一存储区域中确定所获取的至少一个 目录地址所指向 的至少一个数据, 作为目标数据。

根据本发明的又一个方面, 提供了一种数据管理系统, 包括: 如上所述的数据存储 装置和如上所述的数据查询装置。

根据本发明的又一个方面, 提供了一种计算设备, 包括: 至少一个处理器; 和存储 有程序指令的存储器, 其中, 程序指令被配置为适于由至少一个处理器执行 , 程序指令 包括用于执行如上所述的数据存储方法和数据 查询方法的指令。

根据本发明的又一个方面, 提供了一种存储有程序指令的可读存储介质, 当程序指 令被计算设备读取并执行时, 使得该计算设备执行如上所述的数据存储方法 和数据查询 方法。

根据本发明的方案, 将结构化数据与非结构化数据分别存储, 如, 在第一存储区域 内存储非结构化数据, 在第二存储区域内存储结构化数据; 并通过内置的特征提取服务 来生成非结构化数据的特征向量, 将其与非结构化数据的存储地址 (即目录地址) 关联 存储至第二存储区域。 这样就可以直接支持各种非结构化数据的存储 。 同时, 基于这种 数据存储方式, 除了能够支持结构化数据的查询外, 还可以支持对各种非结构化数据基 于语义的查询。 此外, 用户不需要深入了解相关的深度学习算法和特 征提取模型, 能够 有效降低用户的理解和使用成本。

上述说明仅是本发明技术方案的概述, 为了能够更清楚了解本发明的技术手段, 而 可依照说明书的内容予以实施, 并且为了让本发明的上述和其它目的、 特征和优点能够 更明显易懂, 以下特举本发明的具体实施方式。 附图说明

为了实现上述以及相关目的, 本文结合下面的描述和附图来描述某些说明性 方面, 这些方面指示了可以实践本文所公开的原理的 各种方式, 并且所有方面及其等效方面旨 在落入所要求保护的主题的范围内。 通过结合附图阅读下面的详细描述, 本公开的上述 以及其它目的、 特征和优势将变得更加明显。 遍及本公开, 相同的附图标记通常指代相 同的部件或元素。

图 1示出了根据本发明一个实施例的数据管理系 100的环境示意图;

图 2示出了根据本发明一个实施例的数据管理系 100的示意图; 图 3示出了根据本发明一个实施例的计算设备 300的示意图;

图 4示出了根据本发明一个实施例的数据存储方 400的流程图; 以及

图 5示出了根据本发明一个实施例的数据查询方 500的流程图。 具体实施方式

下面将参照附图更详细地描述本公开的示例性 实施例。 虽然附图中显示了本公开的 示例性实施例, 然而应当理解, 可以以各种形式实现本公开而不应被这里阐述 的实施例 所限制。 相反, 提供这些实施例是为了能够更透彻地理解本公 开, 并且能够将本公开的 范围完整的传达给本领域的技术人员。

图 1示出了根据本发明一个实施例的数据管理系 100的环境示意图。如图 1所示, 数据管理系统 100与客户端 200之间通信连接。虽然在图 1中仅仅示出了 3个客户端 200, 但是应当理解, 在实践中, 存在有相当大量的客户端 200, 这个客户端 200具有各自形 式, 包括但不限于移动终端、 个人计算机、 个人数字助理等。本发明不受限于客户端 200 的类型, 只要用户可以利用客户端 200向数据管理系统 100发出存储数据的请求和域查 询数据的请求, 并接收系统 100返回的结果在客户端 200中显示即可。

例如, 客户端 200可以是计算设备, 通过安装在计算设备上的应用向系统 100发出 存储数据的请求, 将结构化数据和 /或非结构化数据存入系统 100中对应的位置。 同时, 系统 100又可以利用这些已存储的数据为客户端 200提供查询 /检索服务。 又如, 客户端 200可以是移动终端, 通过安装在移动终端上的应用向系统 100发出查询数据的请求, 并且在移动终端的界面上显示查询结果。

图 2示出了根据本发明一个实施例的数据管理系 100的示意图。 如图 2所示, 根 据本发明实施例的数据管理系统 100包括数据存储装置 110和数据查询装置 120。 根据 本发明的实施方式, 数据存储装置 110主要用于存储数据, 在根据本发明的实施例中, 所存储的数据既可以是结构化的数据, 也可以是诸如文本、 图片、 XML、 HTML、 图像、 音频、 视频类的非结构化数据。 当用户发起存储数据的操作请求时, 响应于用户存储数 据的操作, 根据待存储数据的数据类型将该数据存入相应 的存储区域。根据一种实施例, 若待存储数据属于非结构化数据(例如文本、 图片、 XML、 HTML、图像、音频、视频), 则将该数据存入第一存储区域; 若待存储数据属于结构化数据, 则将该数据存入第二存 储区域。 同时, 提取第一存储区域内所存储数据的特征向量, 并将特征向量与该数据的 目录地址 (S卩, 该数据在第一存储区域的位置) 关联存储在第二存储区域内。 数据查询装置 120主要用来供用户查询 /检索数据。 在根据本发明的实施例中, 用户 通过输入查询信息来进行查询, 该查询信息中可以包括多个查询条件。 当用户发起查询 / 检索数据的请求时, 响应于用户操作, 获取用户输入的查询信息, 并判断该查询信息中 是否包含预定数据类型, 若包含预定数据类型, 则根据查询信息生成待查询的特征向量。 当然, 用户输入的查询信息中, 也可以包含待查询的特征向量。这样, 数据查询装置 120 在判断查询信息中包含预定数据类型时, 直接获取待查询的特征向量。 或者, 数据查询 装置 120可以从外部获取查询信息对应的特征向量。 本发明的实施例对此不做过多限制。 而后, 从第二存储区域内所存储的特征向量中为待查 询的特征向量匹配到至少一个特征 向量, 并获取与其相关联的目录地址, 进而根据目录地址所指向的地址从第一存储区 域 中取出相关的数据, 即为查询结果。

图 2进一步示出了根据本发明一个实施例的数据 储装置 110和数据查询装置 120 的示意图。

如图 2, 数据存储装置 110包括: 判断单元 111、 第一存储单元 113、 特征提取单元 115、 第二存储单元 117和元数据存储单元 119。 其中, 第二存储单元 117同传统的数据 库结构相同, 用来存储结构化数据; 而对于非结构化数据, 将其存入第一存储单元 113。 特征提取单元 115用于提取非结构化数据的特征向量, 作为非结构化数据的抽象, 以供 查询时使用。

当用户输入待存储的数据时, 先由判断单元 111判断该待存储的数据是否属于预定 数据类型。 根据本发明的实施例, 预定数据类型是非结构化数据类型, 包括以下数据类 型中的一种或多种: 文本、 图片、 XML、 HTML、 图像、 音频、 视频、 各类报表等等。

根据本发明的一种实施方式, 在经判断单元 111判断后确认待存储的数据属于预定 数据类型时, 第一存储单元 113存储该数据, 并将该数据在第一存储单元 113中的存储 位置作为该数据的目录地址, 进行存储。 假设待存储的数据是一张图片, 将其存入第一 存储单元 113并生成一个目录地址, 例如是, /home/ex/000001.jpg o 而后, 特征提取单元 115基于该目录地址, 提取出该数据的特征向量。再交由第二存储单 元 117, 由其关联存 储该数据的特征向量与目录地址。 在根据本发明的一种实施例中, 特征提取单元 115中 预先存储有至少一个特征提取模型。 在提取特征向量时, 在一种实施例中, 特征提取单 元 115将数据的目录地址输入特征提取模型, 输出的就是该数据的特征向量; 在又一种 实施例中, 特征提取单元 115也可以将数据本身输入到特征提取模型中, 并将输出的特 征向量作为该数据的特征向量。 应当指出, 本发明实施例对提取数据的特征向量的方式 不做过多限制。 本领域技术人员可以根据实际应用场景选择适 当的特征提取方式, 来实 现根据本发明的数据存储方案。 由于利用数据的目录地址生成数据的特征向量 , 能够有 效降低特征提取时的计算量, 以下以将数据的目录地址输入特征提取模型得 到特征向量 为例, 进行说明。 在根据本发明的实施例中, 若待存储的数据属于预定数据类型, 那么 待存储的数据除了数据本身外, 还携带有该数据的相关描述信息。 描述信息例如是: 指 定用于提取该数据的特征向量的特征提取模型 和用于计算该数据的特征相似度的度量方 法。 根据一种实施例, 特征提取模型可以采用各种神经网络模型 (如 CNN、 Resnet等, 不限于此) , 特征相似度度量方法可以采用欧式距离 (Euclidean distance) 、 Consine相 似度等, 不限于此。 当待存储数据属于预定数据类型时, 元数据存储单元 119会获取该 数据的描述信息, 并关联存储该数据的描述信息和目录地址。 这样, 特征提取单元 115 就可以基于数据的描述信息和目录地址, 提取出该数据对应的特征向量。 具体地, 通过 调用描述信息中指定的特征提取模型, 提取出该数据的特征向量。 可选地, 特征提取单 元 115根据数据的描述信息中所指定的特征提取模 型, 提取出相应的 embedding的特征 向量, 作为对该数据的抽象。

此外, 由于特征提取单元 115中预存有至少一个特征提取模型, 故在根据本发明的 实施例中, 还包含了预先训练生成这些特征提取模型的过 程。 以下给出一种训练生成特 征提取模型的过程, 但仅作为示例, 本发明的实施例不限于此。

首先,构造预训练的特征提取模型,并设置初 始的模型参数。之后,将训练样本(如, 采集多个图像作为训练样本) 输入到预训练的特征提取模型中, 并根据输出的结果对模 型参数进行微调, 以生成新的特征提取模型, 重复上述步骤, 直到特征提取模型的输出 满足预定条件 (可以是计算模型输出与目标输出之间的损失 值, 当损失值达到某个条件 时, 确认满足预定条件; 也可以是在迭代训练一定次数后, 确认满足预定条件) , 训练 结束。 此时生成的特征提取模型就作为训练好的特征 提取模型, 并存储在特征提取单元 115中。

在根据本发明的一些实施例中, 在第一存储单元 113每次存入数据时, 特征提取单 元 115就同步地提取该数据的特征向量,并将其与 目录地址关联存储至第二存储单元 117 中。 然而, 这种方式会增加每次存储数据的时间。 故在根据本发明的又一些实施例中, 采用异步的方式提取数据的特征向量, 即, 先将待存储的数据存储至第一存储单元 113 , 并获取对应的目录地址, 而后定时 (假设在每天的空闲时段, 如每天凌晨 1 :00-5 :00, 不 限于此) 对第一存储单元 113中新存入的数据进行特征提取, 生成各数据对应的特征向 量, 再将特征向量与目录地址关联存储到第二存储 单元 117。

根据本发明的另一种实施方式, 在经判断单元 111判断后, 确认待存储的数据不属 于预定数据类型时, 第二存储单元 117直接存储该数据。 换句话说, 若待存储的数据是 结构化数据, 则直接将其存入第二存储单元 117中。

继续如图 2, 数据查询装置 120包括: 判断单元 121、 特征计算单元 123、 第一查询 单元 125和第二查询单元 127。

当用户输入查询信息来进行查询时, 判断单元 121判断该查询信息中是否包含预定 数据类型。 根据一种实施例, 查询信息中可以包含至少一个查询条件, 例如, 查询信息 是: 查询“与图像 A的相似度大于 0.8且关于图像的评价是 ‘裙子不错’ ”的图像, 贝 1J, 其中包含 2个查询条件, 分别是: 与图像 A的相似度大于 0.8、 关于图像的评价是 ‘裙 子不错’ , 同时还可以确认该查询信息中待查询的目标数 据是图像, 属于预定数据类型。

根据本发明的实施方式, 若经判断单元 121判断后确认查询信息中不包含预定数据 类型, 则按照传统的数据查询方式从上述的第二存储 单元 117中查询到满足查询条件的 目标数据; 若经判断单元 121判断后确认查询信息中包含预定数据类型, 则通过执行如 下过程来查询到满足查询条件的目标数据。

也就是说, 根据本发明的实施方式, 用户可以输入多个查询条件, 这些查询条件可 以是基于结构化数据的传统的查询,也可以是 基于非结构化数据的查询,由判断单元 121 对各查询条件进行判断后确定采用何种方式进 行数据查询。 例如, 用户可以在应用界面 上同时上传一张图像、 输入一段语音、 输入一段文字, 以期最终得到满足各查询条件的 目标数据。

特征计算单元 123基于查询信息, 生成至少一个待查询的特征向量。 根据本发明的 实施例, 可以采用两种方式来生成待查询的特征向量。 第一种方式, 与前文所述的数据 存储装置 110提取特征向量的方式相同, 响应于查询信息, 将查询信息中所包含的各非 结构化数据分别缓存, 得到对应的目录地址, 作为待查询的目录地址; 而后, 基于这些 待查询的目录地址, 分别生成各自的待查询的特征向量。 可选地, 将待查询的目录地址 输入特征提取模型, 输出其对应的待查询的特征向量。 以前文的查询信息的示例为例, 将图像 A和文字“裙子不错”分别进行缓存, 得到对应的待存储目录地址, 记作 URL1 和 URL2, 再将 URL1和 URL2分别输入到特征提取模型中, 得到各自对应的待查询的 特征向量。 第二种方式是, 直接将查询信息中包含的非结构化数据输入到 特征提取模型 中, 输出对应的待查询的特征向量。 以前文的查询信息的示例为例, 将图像 A输入到特 征提取模型中, 输出其对应的待查询的特征向量; 将文字“裙子不错”输入特征提取模 型中, 输出其对应的待查询的特征向量。 当然, 如前文所述, 特征计算单元 123也可以 直接获取至少一个待查询的特征向量。例如, 查询信息中包含了待查询信息的特征向量。

应当指出, 特征提取模型可以是用户在输入查询信息时一 并指定的, 也可以是在数 据查询装置 120中预先配置好的(例如, 对于图像类的数据, 采用 CNN模型; 对于文字 类的数据, 采用 ResNet模型, 等等) , 还可以采用同一个固定的特征提取模型来生成 所 有待查询的特征向量。 此外, 特征计算单元 123可以调用特征提取单元 115中的相关特 征提取模型来执行提取特征向量的步骤, 本发明的实施例对此不作过多限制。 关于特征 提取模型的更多内容, 可参考前文相关描述。

特征计算单元 123进一步分别确定与待查询的特征向量相似的 至少一个特征向量。 根据一种实施例, 针对每个待查询的特征向量, 特征计算单元 123根据指定的计算特征 相似度的度量方法, 从第二存储区域中分别确定出与该待查询的特 征向量相似的至少一 个特征向量。 在本发明的实施例中, 第二存储区域即第二存储单元 117所对应的存储区 域, 其中关联存储了非结构化数据的特征向量及其 目录地址。 如前文所述, 元数据存储 单元 119中关联存储了数据的目录地址和描述信息, 而描述信息中还指定了用于计算特 征相似度的度量方法。 因此, 特征计算单元 123可以依据第二存储区域中所存储的各数 据对应的计算特征相似度的度量方法, 来计算待查询的特征向量与该数据的特征向量 之 间的相似度, 并确定出相似度满足查询条件的至少一个特征 向量。

而后, 第一查询单元 125分别从第二存储区域中获取与所确定的至少 一个特征向量 相关联的至少一个目录地址。 根据本发明的实施例, 第一查询单元 125与第二存储单元 117保持通信, 以从用于存储结构化数据的第二存储单元 117 中获取特征向量所关联的 目录地址。

接着, 第二查询单元 127从第一存储区域中确定出所获取的至少一个 目录地址所指 向的至少一个数据, 作为目标数据。 根据本发明的实施例, 第二查询单元 127与第一存 储单元 113保持通信, 以根据目录地址从用于存储非结构化数据的第 一存储单元 113中 获取对应的数据。

需要说明的是, 图 2仅是示例性的, 在实际应用中, 判断单元 111和判断单元 121 可以被设置成同一个单元,用来判断所接收到 的信息中是否有属于预定数据类型的数据。 特征提取单元 115和特征计算单元 123可以被设置成同一个单元, 用来提取数据的特征 向量、 并计算特征向量之间的相似度。 第一查询单元 125也可以被实现为第二存储单元 117中的一个模块, 同样, 第二查询单元 127也可以被实现为第一存储单元 113中的一 个模块, 以分别从第二存储区域和第一存储区域中获取 对应的数据。 同时, 在其它实施 例中, 在系统 100中可以存在更少、 附加或不同的组件。

根据本发明的数据管理系统 100, 在第一存储区域内存储非结构化数据, 在第二存 储区域内存储结构化数据,并通过内置的特征 提取服务来生成非结构化数据的特征向量, 将其与非结构化数据的存储地址 (即目录地址) 关联存储至第二存储区域。 这样, 数据 管理系统 100可以直接支持各种非结构化数据的存储。 同时, 基于这种数据存储方式, 系统 100除了可以支持结构化数据的查询外, 还可以支持对各种非结构化数据基于语义 的查询。 此外, 用户不需要深入了解相关的深度学习算法和特 征提取模型, 能够有效降 低用户的理解和使用成本。

根据本发明的实施方式, 数据管理系统 100可以通过如下所述的一个或多个计算设 备 300来实现。 在一些实施例中, 数据管理系统 100及其中各组成部分, 如数据存储装 置 110、 数据查询装置 120均可以通过如下所述的计算设备 300来实现。

图 3示出了根据本发明一个实施例的计算设备 300的示意图。

如图 3所示, 在基本的配置 302中, 计算设备 300典型地包括系统存储器 306和一 个或者多个处理器 304。 存储器总线 308可以用于在处理器 304和系统存储器 306之间 的通信。

取决于期望的配置, 处理器 304可以是任何类型的处理, 包括但不限于: 微处理器 (MP) 、 微控制器 (|aC) 、 数字信息处理器 (DSP) 或者它们的任何组合。 处理器 304 可以包括诸如一级高速缓存 310和二级高速缓存 312之类的一个或者多个级别的高速缓 存、处理器核心 314和寄存器 316。示例的处理器核心 314可以包括运算逻辑单元(ALU)、 浮点数单元 (FPU) 、 数字信号处理核心 (DSP 核心) 或者它们的任何组合。 示例的存 储器控制器 318可以与处理器 304—起使用, 或者在一些实现中, 存储器控制器 318可 以是处理器 304的一个内部部分。

取决于期望的配置, 系统存储器 306可以是任意类型的存储器, 包括但不限于: 易 失性存储器 (诸如 RAM) 、 非易失性存储器 (诸如 ROM、 闪存等) 或者它们的任何组 合。 系统存储器 306可以包括操作系统 320、 一个或者多个应用 322以及程序数据 324。 在一些实施方式中, 应用 322可以布置为在操作系统上由一个或多个处理 器 304利用程 序数据 324执行指令。

计算设备 300还可以包括有助于从各种接口设备 (例如, 输出设备 342、 外设接口 344和通信设备 346) 到基本配置 302经由总线 /接口控制器 330的通信的接口总线 340。 示例的输出设备 342包括图形处理单元 348和音频处理单元 350。 它们可以被配置为有 助于经由一个或者多个 A/V端口 352与诸如显示器或者扬声器之类的各种外部设 备进行 通信。 示例外设接口 344可以包括串行接口控制器 354和并行接口控制器 356, 它们可 以被配置为有助于经由一个或者多个 I/O端口 358和诸如输入设备 (例如, 键盘、 鼠标、 笔、 语音输入设备、 触摸输入设备) 或者其他外设 (例如打印机、 扫描仪等) 之类的外 部设备进行通信。 示例的通信设备 346可以包括网络控制器 360, 其可以被布置为便于 经由一个或者多个通信端口 364与一个或者多个其他计算设备 362通过网络通信链路的 通信。

计算设备 300还可以包括存储接口总线 334和存储设备 332。 所述存储设备 332可 以进一步包括可移除存储器 336和不可移除存储器 338。

网络通信链路可以是通信介质的一个示例。 通信介质通常可以体现为在诸如载波或 者其他传输机制之类的调制数据信号中的计算 机可读指令、 数据结构、 程序模块, 并且 可以包括任何信息递送介质。 “调制数据信号”可以是这样的信号, 它的数据集中的一 个或者多个或者它的改变可以在信号中编码信 息的方式进行。 作为非限制性的示例, 通 信介质可以包括诸如有线网络或者专线网络之 类的有线介质,以及诸如声音、射频(RF)、 微波、 红外 (IR) 或者其它无线介质在内的各种无线介质。 这里使用的术语计算机可读 介质可以包括存储介质和通信介质二者。

计算设备 300可以实现为服务器, 例如文件服务器、 数据库服务器、 应用程序服务 器和 WEB服务器等, 也可以实现为包括桌面计算机和笔记本计算机 配置的个人计算机。 当然, 计算设备 300也可以实现为小尺寸便携(或者移动) 电子设备的一部分。在根据 本发明的实施例中, 计算设备 300被配置为执行根据本发明的数据存储方法 400和数据 查询方法 500。 其中, 计算设备 300的应用 322中包含执行根据本发明的方法 400和方 法 500的多条程序指令。

在下文中将参考图 4和 5进一步详细描述通过数据管理系统 100管理数据存储和查 询的方法 400和 500。

图 4示出了根据本发明一个实施例的数据存储方 400的流程图。 以下将结合图 2 及上文对数据存储装置 110的相关介绍, 详细介绍数据存储装置 110执行方法 400的过 程。

如图 4所示, 方法 400始于步骤 S410。 在步骤 S410中, 判断待存储的数据是否属 于预定数据类型。 如前文所述, 非结构化数据就是属于预定数据类型的数据, 预定数据 类型例如可以包括以下数据类型中的一种或多 种: 文本、 图片、 XML、 HTML、 图像、 首频、 视频。

若经判断后确认该待存储的数据不属于预定数 据类型,则确认该数据为结构化数据, 在随后的步骤 S420中, 将该数据存储至第二存储区域(即, 第二存储单元 117所对应的 存储区域) 。

若经判断后确认该待存储的数据属于预定数据 类型, 则在随后的步骤 S430中, 将该 数据存储至第一存储区域 (即, 第一存储单元 113所对应的存储区域) , 并获取该数据 的存储位置作为该数据的目录地址。

随后在步骤 S440中, 提取对应数据的特征向量。

根据一种实施例, 将数据的目录地址输入特征提取模型, 输出的就是该数据的特征 向量。 根据又一种实施例, 也可以将数据本身输入到特征提取模型, 以输出该数据的特 征向量。 此外, 特征提取模型可以是系统固定的, 也可以是用户指定的, 本发明的实施 例对此不做过多限制。 一般地, 特征提取模型基于卷积神经网络, 如 CNN。

根据另一种实施例, 用户在输入待存储的数据时, 会一并定义该数据的元数据, 即 该数据的描述信息。 在根据本发明的实施例中, 描述信息包括: 用于提取特征向量的特 征提取模型。 数据存储装置 110可以通过下拉菜单等方式向用户展示预存的 特征提取模 型, 以供用户选择其中的一个特征提取模型, 作为装置 110提取该数据的特征向量的模 型。 关于如何训练生成预存的特征提取模型的过程 , 可参见前文对于装置 110的相关描 述, 此处不做赘述。

这样, 在步骤 S440中, 基于该数据的描述信息和目录地址, 提取出该数据对应的特 征向量。 进一步地, 先根据数据的描述信息, 获取该数据对应的用于提取特征向量的特 征提取模型; 再将该数据的目录地址输入该特征提取模型, 以输出该数据对应的特征向 量。

另外, 数据的描述信息除了特征提取模型外, 还可以包括: 用于计算特征相似度的 度量方法, 以便于在后续数据查询的过程中, 计算该数据的特征向量与要查询的数据的 特征向量的相似度。

随后在步骤 S450中, 将数据的特征向量与目录地址关联存储至第二 存储区域 (即, 第二存储单元 117所对应的存储区域) 。

图 5示出了根据本发明一个实施例的数据查询方 500的流程图。 以下将结合图 2 及上文对数据查询装置 120的相关介绍, 详细介绍数据查询装置 120执行方法 500的过 程。

如图 5所示, 方法 500始于步骤 S510。 在步骤 S510中, 响应于用户输入的查询信 息, 判断该查询信息中是否包含预定数据类型。 预定数据类型包含非结构化数据的数据 类型, 例如: 文本、 图片、 XML、 HTML、 图像、 音频、 视频。

如前文所述, 查询信息中包含了至少一个查询条件, 根据查询条件可以确定出要查 询的数据属于结构化数据还是非结构化数据, 即判断出查询信息中是否包含预定数据类 型。

若经判断后确认查询信息中包含了非预定数据 类型, 则在随后的步骤 S520中, 按照 传统的结构化数据的查询方法从第二存储区域 中获取目标数据。

若经判断后确认查询信息中包含了预定数据类 型, 则在随后的步骤 S530中, 生成至 少一个待查询的特征向量。

如前文所述, 在根据本发明的实施方式中, 可以采用两种方式来生成待查询的特征 向量。 第一种方式, 与方法 400中所述的提取特征向量的方式相同, 响应于查询信息, 将查询信息中所包含的各个非结构化数据分别 缓存,得到对应的目录地址(即存储地址), 作为待查询的目录地址; 而后, 基于这些待查询的目录地址, 分别生成各自的待查询的 特征向量。 可选地, 将待查询的目录地址输入特征提取模型, 输出其对应的待查询的特 征向量。 第二种方式是, 直接将查询信息中包含的非结构化数据 (如, 图像) 输入到特 征提取模型中, 输出对应的待查询的特征向量。 采用第一种方式能够最大限度地保证特 征向量的获取方式一致, 但是会增加缓存, 采用第二种方式能够节省缓存, 提高计算效 率。 在实际应用中, 本领域技术人员可结合实际场景选择合适的特 征提取方式及特征提 取模型, 本发明的实施例对此不做限制。

需要说明的是, 特征提取模型可以是用户在输入查询信息时一 并指定的, 也可以是 在数据查询装置 120中预先配置好的(例如, 对于图像类的数据, 采用 CNN模型; 对于 文字类的数据, 采用 ResNet模型, 不限于此) , 可以与执行方法 400时采用的特征提取 模型相一致, 还可以采用同一个固定的特征提取模型来生成 所有待查询的特征向量。 关 于特征提取模型的更多内容, 可参考前文相关描述。

在又一些实施例中, 用户在输入查询信息时, 也可以一并输入待查询信息所对应的 特征向量, 或者, 调用外部的特征提取模型来生成查询信息对应 的待查询的特征向量。 这样, 若经判断后确认查询信息中包含了预定数据类 型, 则直接获取至少一个待查询的 特征向量。

随后在步骤 S540中, 确定与待查询的特征向量相似的至少一个特征 向量。

具体地, 从第二存储区域 (即第二存储单元 117所对应的存储区域) 中确定与待查 询的特征向量相似的至少一个特征向量。

如前文所述, 元数据存储单元 119中关联存储了数据的目录地址和描述信息, 而描 述信息中还指定了用于计算特征相似度的度量 方法。 因此, 在步骤 S540中, 可以依据第 二存储区域中所存储的各数据对应的计算特征 相似度的度量方法, 来计算待查询的特征 向量与该数据的特征向量之间的相似度, 并确定出相似度满足查询条件的至少一个特征 向量。

随后在步骤 S550 中, 获取与所确定的至少一个特征向量相关联的至 少一个目录地 址。

如前文所述, 第二存储区域中关联存储了非结构化数据的特 征向量及其目录地址。 在经步骤 S540获取到特征向量后,进一步从第二存储区 中获取与该特征向量相关联的 目录地址。

随后在步骤 S560中, 确定所获取的至少一个目录地址所指向的至少 一个数据,作为 目标数据。

如前文所述, 第一存储区域中关联存储了非结构化数据本身 及其目录地址, 故根据 所获取的至少一个目录地址, 就可以从第一存储区域中确定出各目录地址所 指向的各个 数据, 作为目标数据。

这里描述的各种技术可结合硬件或软件, 或者它们的组合一起实现。 从而, 本发明 的方法和设备, 或者本发明的方法和设备的某些方面或部分可 采取嵌入有形媒介, 例如 可移动硬盘、 U盘、 软盘、 CD-ROM或者其它任意机器可读的存储介质中的程 序代码(即 指令)的形式, 其中当程序被载入诸如计算机之类的机器, 并被所述机器执行时, 所述机 器变成实践本发明的设备。

在程序代码在可编程计算机上执行的情况下, 计算设备一般包括处理器、 处理器可 读的存储介质(包括易失性和非易失性存储器 和 /或存储元件), 至少一个输入装置, 和至 少一个输出装置。 其中, 存储器被配置用于存储程序代码; 处理器被配置用于根据该存 储器中存储的所述程序代码中的指令, 执行本发明的数据存储方法和 /或数据查询方法。

以示例而非限制的方式, 可读介质包括可读存储介质和通信介质。 可读存储介质存 储诸如计算机可读指令、 数据结构、 程序模块或其它数据等信息。 通信介质一般以诸如 载波或其它传输机制等已调制数据信号来体现 计算机可读指令、 数据结构、 程序模块或 其它数据, 并且包括任何信息传递介质。 以上的任一种的组合也包括在可读介质的范围 之内。

在此处所提供的说明书中, 算法和显示不与任何特定计算机、 虚拟系统或者其它设 备固有相关。 各种通用系统也可以与本发明的示例一起使用 。 根据上面的描述, 构造这 类系统所要求的结构是显而易见的。 此外, 本发明也不针对任何特定编程语言。 应当明 白, 可以利用各种编程语言实现在此描述的本发明 的内容, 并且上面对特定语言所做的 描述是为了披露本发明的最佳实施方式。

在此处所提供的说明书中, 说明了大量具体细节。 然而, 能够理解, 本发明的实施 例可以在没有这些具体细节的情况下被实践。 在一些实例中, 并未详细示出公知的方法、 结构和技术, 以便不模糊对本说明书的理解。

类似地, 应当理解, 为了精简本公开并帮助理解各个发明方面中的 一个或多个, 在 上面对本发明的示例性实施例的描述中, 本发明的各个特征有时被一起分组到单个实施 例、 图、 或者对其的描述中。 然而, 并不应将该公开的方法解释成反映如下意图: 即所 要求保护的本发明要求比在每个权利要求中所 明确记载的特征更多特征。 更确切地说, 如下面的权利要求书所反映的那样, 发明方面在于少于前面公开的单个实施例的所 有特 征。 因此, 遵循具体实施方式的权利要求书由此明确地并 入该具体实施方式, 其中每个 权利要求本身都作为本发明的单独实施例。

本领域那些技术人员应当理解在本文所公开的 示例中的设备的模块或单元或组件可 以布置在如该实施例中所描述的设备中, 或者可替换地可以定位在与该示例中的设备不 同的一个或多个设备中。 前述示例中的模块可以组合为一个模块或者此 外可以分成多个 子模块。

本领域那些技术人员可以理解, 可以对实施例中的设备中的模块进行自适应性 地改 变并且把它们设置在与该实施例不同的一个或 多个设备中。 可以把实施例中的模块或单 元或组件组合成一个模块或单元或组件, 以及此外可以把它们分成多个子模块或子单元 或子组件。 除了这样的特征和 /或过程或者单元中的至少一些是相互排斥之 , 可以采用 任何组合对本说明书 (包括伴随的权利要求、 摘要和附图) 中公开的所有特征以及如此 公开的任何方法或者设备的所有过程或单元进 行组合。除非另外明确陈述,本说明书(包 括伴随的权利要求、 摘要和附图) 中公开的每个特征可以由提供相同、 等同或相似目的 的替代特征来代替。 此外, 本领域的技术人员能够理解, 尽管在此所述的一些实施例包括其它实施例中 所包括的某些特征而不是其它特征, 但是不同实施例的特征的组合意味着处于本发 明的 范围之内并且形成不同的实施例。 例如, 在下面的权利要求书中, 所要求保护的实施例 的任意之一都可以以任意的组合方式来使用。

此外, 所述实施例中的一些在此被描述成可以由计算 机系统的处理器或者由执行所 述功能的其它装置实施的方法或方法元素的组 合。 因此, 具有用于实施所述方法或方法 元素的必要指令的处理器形成用于实施该方法 或方法元素的装置。 此外, 装置实施例的 在此所述的元素是如下装置的例子: 该装置用于实施由为了实施该发明的目的的元 素所 执行的功能。

如在此所使用的那样, 除非另行规定, 使用序数词“第一”、 “第二”、 “第三”等等来 描述普通对象仅仅表示涉及类似对象的不同实 例, 并且并不意图暗示这样被描述的对象 必须具有时间上、 空间上、 排序方面或者以任意其它方式的给定顺序。

尽管根据有限数量的实施例描述了本发明, 但是受益于上面的描述, 本技术领域内 的技术人员明白, 在由此描述的本发明的范围内, 可以设想其它实施例。 此外, 应当注 意, 本说明书中使用的语言主要是为了可读性和教 导的目的而选择的, 而不是为了解释 或者限定本发明的主题而选择的。 因此, 在不偏离所附权利要求书的范围和精神的情况 下, 对于本技术领域的普通技术人员来说许多修改 和变更都是显而易见的。 对于本发明 的范围, 对本发明所做的公开是说明性的而非限制性的 , 本发明的范围由所附权利要求 书限定。