用于存储系统的实现人工智能的搜索

文档序号:1520984 发布日期:2020-02-11 浏览:22次 >En<

阅读说明:本技术 用于存储系统的实现人工智能的搜索 (Artificial intelligence enabled search for storage systems ) 是由 K·库德里亚夫瑟夫 M·奥伯格 N·瓦尼卡 于 2019-07-30 设计创作,主要内容包括:本公开描述了用于存储系统的实现人工智能的搜索的装置和方法。在一些方面中,存储系统的元数据管理器接收AI引擎在被存储在存储系统中的数据中检测的对象的标签。元数据管理器在元数据数据库的关系部分中创建用于所检测对象的条目,所检测对象的条目具有所检测对象的标签的标识符,以及与所检测对象对应的节点的地址。元数据管理器还在元数据数据库的导航部分中并且利用所检测对象的地址来创建节点,该节点包括对另一对象的相对节点的引用,以及节点与相对节点之间的关系的权重。通过这样做,元数据数据库可以基于各个节点之间的加权关系而被搜索,从而实现对所述存储系统中的数据进行上下文搜索或者隐式搜索。(This disclosure describes apparatus and methods for artificial intelligence enabled searching of storage systems. In some aspects, a metadata manager of a storage system receives tags of objects detected by an AI engine in data stored in the storage system. The metadata manager creates an entry for the detected object in a relational portion of the metadata database, the entry for the detected object having an identifier of a tag of the detected object and an address of a node corresponding to the detected object. The metadata manager also creates a node in the navigation portion of the metadata database and using the address of the detected object, the node including a reference to an opposing node of another object and a weight of a relationship between the node and the opposing node. By doing so, the metadata database may be searched based on the weighted relationships between the various nodes, thereby enabling contextual or implicit searches of the data in the storage system.)

用于存储系统的实现人工智能的搜索

相关申请的交叉引用

本公开要求2018年7月31日提交的美国临时专利申请号62/712,828的优先权,其公开内容通过引用而被整体并入本文。

背景技术

企业和机构通常实现企业级数据系统来采集并且容纳从进行中的操作、研究、数据挖掘或者其它数据源生成的大量数据。为了适应从这些源采集到的数据的不断增加的体积、种类和速度,利用不断增加的存储容量来构建企业级数据系统以容纳不尽的传入数据流。然而,传入数据的源通常是受控制的源和不受控制的源的组合。这导致大多数数据系统存储大数据(包括结构化数据、非结构化数据和半结构化数据)的复杂混合。

尽管数据系统管理员通常能够利用更大容量的大数据来缩放存储容量,但是随着非结构化数据量增加,针对大数据内的特定数据项进行分析或者搜索通常变得更加困难或者低效。具体地,大数据通常包括不符合典型的搜索算法所利用的标准的命名惯例、格式化惯例或者描述惯例的大量非结构化数据或者原始数据。例如,典型的搜索算法可以将搜索的关键字与文件名和文件内的文本相比较以用于与关键字明确地或者确切地匹配。因此,针对包括严格的匹配算法所错过的相关非结构化数据项的大数据中的大量数据,这种类型的搜索可能无法返回结果。这样,使用典型的匹配算法可能是低效的和不准确的,因为这些类型的搜索算法经常错过相关数据,特别是在非结构化数据或者半结构化数据中。

发明内容

提供本发明内容来介绍在

具体实施方式

和附图中进一步描述的主题。相应地,本发明内容不应该被认为描述了本质特征,或者被用于限制所要求保护的主题的范围。

在一些方面中,存储系统的元数据管理器实现一种方法,该方法接收来自人工智能(AI)引擎的、针对在被存储在存储系统的存储介质中的数据中的所检测对象的标签。元数据管理器在存储系统的元数据数据库的关系部分中创建用于所检测对象的条目。关系部分中的条目包括标签的标识符、以及元数据数据库的导航部分中的与所检测对象相对应的节点的地址。元数据管理器还利用地址来在元数据数据库的导航部分中创建与所检测对象对应的节点。该节点包括对导航部分中的与数据中的另一对象相对应的相对节点的至少一次引用,以及节点与相对节点之间的关系的权重,该所检测对象与该另一对象是相关的。通过这样做,可以基于这些节点以及其它节点的加权关系来对元数据数据库进行搜索,这可以实现对被存储到存储系统的数据进行上下文搜索或者隐式搜索。

在其它方面中,一种装置包括:接口,用以从主机接收数据;存储介质,被配置为存储从主机接收到的数据;控制器,被配置为实现对被存储在存储介质上的数据的访问;以及元数据管理器,该元数据管理器与AI引擎相关联。元数据管理器可以被实现为:接收来自AI引擎的、针对由AI引擎在被存储到装置的存储介质的数据中检测到的对象的标签。元数据管理器然后在装置的元数据数据库的关系数据库中为检测到的对象创建条目。关系数据库中的条目包括:标签的标识符,以及元数据数据库的导航数据库中与检测到的对象对应的节点的地址。元数据管理器还在元数据数据库的导航数据库中的地址处创建与所检测对象相对应的节点。该节点包括对导航数据库中的与数据中的另一对象相对应的相对节点的至少一次引用,以及节点与导航数据库中的相对节点之间的关系的权重,所检测对象与该另一对象在上下文上是相关的。

在再一些方面中,描述了片上系统(SoC),该片上系统(SoC)包括:到存储系统的存储介质的接口;到主机的接口,从该接口接收数据以用于写入到存储介质;基于硬件的处理器,以及存储器,该存储器存储处理器可执行指令,响应于基于硬件的处理器的执行,该处理器可执行指令实现元数据管理器。该元数据管理器接收来自AI引擎的、针对由AI引擎在被写入到存储介质的数据中检测的对象的标签。元数据管理器然后在元数据数据库的关系数据库中创建用于所检测对象条目。用于所检测对象的条目包括标签的标识符,以及元数据数据库的导航数据库中的与所检测对象相对应的节点的地址。元数据管理器还在元数据数据库的导航数据库中利用该地址来创建与所检测对象相对应的节点。导航数据库中的节点包括对导航数据库中的与数据中的另一对象相对应的相对节点的至少一次引用,以及节点与导航数据库中的相对节点之间的关系的权重,所检测对象与该另一对象在上下文上是相关的。

在附图和以下描述中阐述了一个或者多个实施方式的细节。其它特征和优点将通过本说明书和附图以及权利要求书是显见的。

附图说明

在附图和下面的具体实施方式中阐述了具有实现AI(AI-enabled)的搜索的存储系统的一个或者多个实现的细节。

在附图中,附图标记的最左边的数字表示附图标记首次出现的附图。在本说明书中的不同实例以及附图中使用相同的附图标记表示相同的元件:

图1图示了具有其中根据一个或多个方面来实现存储系统的设备的示例操作环境。

图2图示了在图1中示出的存储系统的人工智能(AI)引擎和元数据管理器的示例配置。

图3图示了根据一个或多个方面的关系数据库中的表的示例相应配置。

图4图示了根据一个或多个方面的导航数据库的加权图的示例配置。

图5描绘了根据一个或多个方面的用于在存储系统中实现对数据的实现AI的搜索的示例方法。

图6描绘了用于使用由AI引擎提供的标签来创建用于存储系统的元数据数据库的关系数据库和元数据数据库的示例方法。

图7描绘了用于基于通过AI引擎处理存储系统中的数据而提供的标签的集合来构造或者更新元数据数据库的加权图的示例方法。

图8描绘了使用关系数据库和导航数据库来对存储系统进行搜索的示例方法。

图9图示了用于实现用于存储系统的实现AI搜索的方面的示例片上系统(SoC)环境。

图10图示了被配置为实现控制器与其相关联的存储系统中的实现AI的搜索的方面的示例存储系统控制器。

具体实施方式

用于通过数据进行搜索的传统技术通常依赖于找到针对所存储数据的名称和文本中的搜索项的确切匹配。通常,数据以离散文件的形式被存储到各种类型的电子存储设备中,其格式和大小根据产生数据的应用而不同。大多数操作系统支持通过关键字来对数据文件进行语义搜索,从而搜索算法基于数据中的名称或者文本来查看数据文件。具体地,语义搜索算法可以遍历文件列表、打开每个文件、读取文本内容以用于与关键字相比较、关闭文件、以及报告文件名或者文本内容与关键字的任何匹配。由于其中关键字可以具有相同含义但是在语义上不同的数据的二元性质,这种类型的搜索通常是受限的。

此外,在大数据存储的情况下(诸如,在基于云的应用或者企业级应用中),大数据可能包括不符合这些传统的搜索算法所利用的标准的命名惯例、格式化惯例或者描述惯例的大量非结构化数据或者原始数据。因此,针对包括由于缺乏语义匹配的文本而被搜索算法错过的相关非结构化数据项的大数据,严格的语义搜索可能无法返回准确的结果。这样,使用传统的搜索算法(特别是对于大数据)通常是低效的或者不准确的,因为这些搜索算法可能由于缺乏精确的或者显式的语义匹配而错过相关数据。

本公开描述了用于存储系统的实现AI的搜索的装置和技术。与传统的搜索技术形成对比,所描述的装置和技术可以基于数据中的对象的上下文或者关系来在存储系统中支持对数据的实现AI的搜索。例如,AI引擎可以处理数据以生成针对在数据中检测的对象或者其它元素的描述性元数据标签。与标签一起,AI引擎还可以提供对象检测的置信级别以及数据中的对象之间的上下文关系或者关联的置信级别(例如,权重)。例如,在视频文件上的相同帧或者相邻帧中检测到的某些对象或者人可能由于物理接近或者时间接近而具有某种加权关系。同样,从视频中的音轨或者对话(例如,歌词或者隐藏字幕)生成的文本和在媒体文件中同时检测到的对象也可以具有关系。备选或附加地,可以通过声调在音频文件中检测出情感或者情绪,并且这些场景分类可以和与音频文件相关联的内容或者对象具有某种加权关系。

基于标签,存储系统的元数据管理器可以创建并且管理包括关系数据库(例如,表)和导航数据库(例如,节点的加权图)的元数据数据库。通常,元数据管理器在关系数据库中创建针对每个所检测对象的条目,这些条目包括所检测对象在存储系统中的位置以及导航数据库中的对应节点的地址。元数据管理器还在导航数据库中创建节点,诸如,在加权图中,该加权图包括到与数据中的相应对象相对应的其它节点的加权链路,所检测对象与这些相应对象是相关的。通过将节点或者元数据对象放置到加权图中,不仅可以在这种结构中找到某个对象,而且可以找到对象的环境和具有所定义的置信级别(例如,针对上下文关系)的相关对象的方面。返回到上述示例,可以结合其情感、环境、心情、气氛等找到音频文件的主题。

这种类型的上下文搜索可以基于逻辑请求或者语义请求,但是可以利用模糊的边界来进行,这返回包括一些不确定的部分或者分量的响应。在实现AI的搜索的上下文中,表的关系数据库可以为供逻辑请求(例如,标签查找或者匹配)提供起始点,而导航数据库实现具有某些级别的不确定性的上下文搜索或者基于关系的搜索。例如,可以通过与上下文加权连接的映射关系的树或者图来实现导航数据库,可以通过各种指令(诸如,“下一个”、“前一个”、“getChild”、“getParent”等)来对该上下文加权连接进行导航,并且这样来找到上下文上相关的对象。同样,用于存储系统的实现AI的搜索的各种实现可以包括关系数据库和导航数据库的组合以实现对存储数据进行隐式搜索或者上下文搜索。

通过示例的方式,当用户针对关键字运行搜索时,元数据管理器或者搜索代理可以首先遍历关系数据库中的索引日志表,以获得针对在被存储在实现AI的存储系统中的数据中检测的对象或者元素的标签标识符。在索引日志表中,可以找到对在导航数据库中的加权图中的节点的引用,其指向节点并且因此,指向相关对象的所有连接节点。可以按照节点之间的链路权重的顺序来报告节点和连接节点,提供对数据中的、节点与之对应的对象的上下文或者相关性的指示。通常,当通过一个细节记住整个场景的每个方面时,通过关系数据库和导航数据库的组合实现的搜索过程可以类似于人类大脑工作的方式。

在用于存储系统的实现AI的搜索的各个方面中,元数据管理器从AI引擎接收针对在被存储在存储系统的存储介质中的数据中检测的对象的标签。元数据管理器在存储系统的元数据数据库的关系部分中创建用于所检测对象的条目。关系部分中的条目包括标签的标识符、在存储系统中的所检测对象的地址、以及元数据数据库的导航部分中与所检测对象相对应的节点的地址。

元数据管理器还利用地址来在元数据数据库的导航部分中创建与所检测对象相对应的节点。该节点包括对导航部分中的、与数据中的另一对象相对应的相对节点的至少一次引用,以及节点与元数据数据库的导航部分中的相对节点之间的关系的权重,所检测对象与该相对节点是相关的。通过这样做,可以基于这些以及其它节点的加权关系来对元数据数据库进行搜索,这可以实现对被存储在存储系统中的数据进行上下文搜索或者隐式搜索。换句话说,通过实现用于存储系统或者存储驱动器(例如,边缘存储设备)的实现AI的搜索,可以使存储“智能”以向用户提供隐式的或者上下文的搜索结果。

下面的讨论描述了操作环境、可以在操作环境中采用的技术以及可以体现操作环境中的组件的片上系统(SoC)。在本公开的上下文中,仅通过示例的方式参考操作环境。

操作环境

图1图示了具有能够存储或访问各种形式的数据或者信息的计算设备102的示例操作环境100。计算设备102的示例可以包括膝上型计算机104、台式计算机106和服务器108,其中任何一个都可以被配置为存储网络或者云存储的一部分。计算设备102的其它示例(未示出)可以包括平板计算机、机顶盒、数据存储设备、可穿戴智能设备、电视机、内容串流设备、高清多媒体接口(HDMI)媒体棒、智能家电、家庭自动化控制器、智能恒温器、物联网聚合存储系统、游戏机、汽车娱乐设备、汽车计算系统、汽车控制模块(例如,引擎或者动力传动系控制模块)等。通常,计算设备102可以出于任何合适的目的而传送或者存储数据,诸如,以启用特定类型的设备的功能,提供用户界面,启用网络访问,实施游戏应用,播放媒体,提供导航,编辑内容,提供数据存储等。

计算设备102包括处理器110和计算机可读存储介质112。处理器110可以被实现为用于执行操作系统的指令或者命令或者计算设备102的其它程序的任何合适类型或者数量的处理器(单核处理器或者多核处理器)。计算机可读介质112(CRM 112)包括存储器(未示出)和存储系统114。计算设备102的存储器可以包括任何合适类型的易失性存储器或者非易失性存储器或者其组合。例如,计算设备102的易失性存储器可以包括各种类型的随机存取存储器(RAM)、动态RAM(DRAM)、静态RAM(SRAM)等。非易失性存储器可以包括只读存储器(ROM)、电可擦除可编程ROM(EEPROM)或者闪速存储器(例如,NOR闪存或者NAND闪存)。单独地或者组合地,这些存储器可以存储与应用和/或计算设备102的操作系统相关联的数据。

计算设备102的存储系统114可以被配置为任何合适类型的数据存储系统,诸如,存储设备、存储驱动器、存储阵列、存储卷等。虽然参照计算设备102进行了描述,但是存储系统114还可以被单独地实现为独立设备或者更大的存储类集(诸如,数据中心、服务器场或者虚拟化存储系统(例如,用于基于云的存储或者服务))的一部分。

存储系统114的示例包括可以利用存储设备或者存储驱动器的任何组合来实现的硬盘驱动器116(HDD 116)、固态驱动器118(SSD 118)和存储阵列120。存储系统114包括存储介质122,计算设备102或者其它源的数据124存储在该存储介质122上。可以利用任何类型的存储介质或者其组合来实现存储介质122,诸如,磁介质、光学介质、旋转盘、非易失性存储器、固态介质等。在一些情况下,数据124可以被组织成被存储在存储系统114的存储介质122中的数据(例如,内容)或者数据对象的文件。这些文件的类型、大小或者格式可以取决于相应的源、用途或者与文件相关联的应用而变化。例如,被存储到存储介质122的文件可以包括音频文件、视频文件、文本文件、图像文件、多媒体文件、电子表格等。

通常,数据的文件可以包括各种对象、活动或者特征,该各种对象、活动或者特征可以被分类或者识别为以下中的一个:人、文本、音乐、歌词、内容、情感、环境、主题、设定等中。在文件中的数据中的每个对象、活动或者等级或者特征还通过与另一对象的不同程度或权重的关系在文件内在上下文上是相关的。例如,多媒体文件的帧或者帧序列可以包括由于共同存在于多媒体文件中、在多媒体文件中物理地接近或者在多媒体文件中在时间上接近而可以在上下文上有关的人、对象、对话、音乐或者环境。备选或附加地,数据124可以包括大数据,诸如,来自各种受控制的或者不受控制的源的结构化数据、非结构化数据或者半结构化数据。在一些情况下,非结构化数据或者半结构化数据包括对辨别数据(例如,通用数据或者机器生成的数据)中的或者与数据的内容(例如,对象或者元素)无关的对象无用的非描述性文件名或者文本。在这种情况下,本文所描述的实现AI的搜索可以创建针对大数据中的各种对象的标签,从而实现对被存储在存储系统114上的大数据进行有用的搜索和分析。

在该示例中,存储系统114还包括人工智能引擎126(AI引擎126)、元数据管理器128和元数据数据库130的实例。AI引擎126可以实现一个或多个AI模型以处理数据124以检测被存储在存储系统114上的数据、数据文件或者数据对象中的对象或者元素。基于对对象或元素的检测,AI引擎126生成针对数据中的所检测对象或元素的描述性元数据标签。与标签一起,AI引擎126还可以提供对象检测的置信级别,以及数据中的对象之间的上下文关系或者关联的置信级别(例如,权重)。例如,在视频文件上的相同帧或者相邻帧中检测到的某些对象或者人可能由于物理接近或者时间接近而具有某种加权关系。

利用由AI引擎126提供的标签,元数据管理器128可以创建或者管理存储系统114的元数据数据库130,该元数据数据库130包括关系数据库(例如,表,未示出)和导航数据库(例如,节点的加权图,未示出)。在一些方面中,元数据管理器128在关系数据库中创建用于每个所检测对象的条目,其中条目可以包括在存储系统中的所检测对象的位置,以及到导航数据库中的对应节点的地址。元数据管理器128还可以在导航数据库中创建节点,诸如,在加权图中,该加权图包括到与数据中的相应对象相对应的其它节点的加权链路,所检测对象与这些相应对象是相关的。通过将节点或者元数据对象放到加权图中,不仅可以在这种结构中找到某个对象,而且可以找到对象的环境和具有所定义的置信级别(例如,针对上下文关系)的相关对象的方面。实现和使用AI引擎126、元数据管理器128和元数据数据库130的方式不同,并且在本公开中进行了描述。

计算设备102还可以包括I/O端口132、图形处理单元134(GPU 134)和数据接口136。通常,I/O端口132允许计算设备102与其它设备、***设备或者用户交互。例如,I/O端口132可以包括通用串行总线、人机接口设备、音频输入、音频输出等或者与其耦合。GPU134处理和呈现计算设备102(诸如,操作系统的用户界面元件、应用等)的图形相关数据。在一些情况下,GPU 134访问本地存储器的一部分以呈现图形,或者包括用于呈现计算设备102的图形(例如,视频RAM)的专用存储器。

计算设备102的数据接口136提供与一个或多个网络以及被连接到这些网络的其它设备的连接。数据接口136可以包括有线接口,诸如,用于通过本地网络、内联网或者互联网来进行通信的以太网接口或者光纤接口。备选或附加地,数据接口136可以包括促进通过无线网络(诸如,无线LAN、广域无线网络(例如,蜂窝网络)和/或无线个域网(WPAN))来进行通信的无线接口。根据用于存储系统的实现AI的搜索的一个或多个方面,通过I/O端口132或者数据接口136传送的数据中的任何数据可以被写入计算设备102的存储系统114或者从计算设备102的存储系统114读取这些数据。

图2在200中总体上图示了根据用于存储系统的实现AI的搜索的一个或多个方面实现的、人工智能引擎126和元数据管理器128的示例配置。在该示例中,AI引擎126与存储系统114的存储介质122和元数据管理器128被可操作地耦合。虽然AI引擎126被图示为存储系统114的组件,但是可以与存储系统114分开实现AI引擎126,或者可以将AI引擎126实现在存储系统114的外部。AI引擎126处理被写入存储介质122或者被存储在存储介质122上的数据124以检测、标识或者识别数据124中的各种对象。

基于对数据124的处理或者重新处理,AI引擎126生成用于在数据中检测的对象或者其它元素(诸如,本文描述的活动或者特征)的描述性元数据标签202(或者标记)。在该示例中,人工引擎126生成用于在数据124中检测的多达n个对象的相应标签202-1至202-n。与标签202一起,AI引擎126还可以提供对象检测的置信级别以及对象与数据124中的另一对象或者对象组的上下文关系的置信级别(例如,权重)。例如,在视频文件上的相同帧或者相邻帧中检测的某些对象或人可能由于在数据或者视频文件中的物理接近或者时间接近而具有某种加权关系。与标签202一起或者作为标签202的一部分,AI引擎126可以提供对任何两或多个所检测对象(诸如,人、活动、特征、音乐、歌词、文本、环境、情感、心情、情绪等)之间的上下文关系的权重或者强度的指示。

关于由AI引擎126执行的处理,可以利用基于用于对象检测或者上下文关系(诸如,检测到的对象或者其它元数据元素之间的关系权重)的确定的一个或多个神经网络的机器学习来实现AI引擎126。AI引擎126的每个AI模型或者神经网络可以包括被组织成一个或多个层的连接的节点组(诸如,神经元或者感知器)。通过示例的方式,可以利用深度神经网络来实现AI引擎126的AI模型(例如,机器学习模型),该深度神经网络包括输入层、输出层和被定位在神经网络的输入层与输出层之间的一个或多个隐藏的中间层。深度神经网络的每个节点又可以在神经网络的层之间被完全连接或者部分地连接。

在各个方面中,AI引擎126的AI模型可以被实现为递归神经网络,其中节点之间的连接形成循环以保持来自输入数据序列的先前部分的信息以用于输入数据序列的后续部分。备选地,AI模型可以被实现为在节点之间具有在输入数据序列之间不形成循环的连接的前馈神经网络。在其他情况下,AI引擎126的AI模型可以包括具有多层感知器的卷积神经网络(CNN),其中给定层中的每个神经元与相邻层的所有神经元连接。在一些方面中,基于卷积神经网络的AI模型可以被应用于数据文件以用于进行复杂的图案和图像识别。备选或附加地,AI引擎126可以包括或者利用各种回归模型,诸如,多元线性回归模型、一元线性回归模型、逻辑回归模型、逐步回归模型、多变量自适应回归模型、局部估计散点图模型等。

返回到图2,AI引擎126将数据124的标签202提供给元数据管理器128。基于标签202,元数据管理器128创建、管理或者更新元数据数据库130,在该示例中,该元数据数据库130包括关系数据库204(例如,表)和导航数据库206(例如,节点的加权图)。元数据管理器128可以被配置为基于标签202和相关联的置信级别来在关系数据库204中创建用于每个所检测对象的条目,该条目包括在存储系统中的所检测对象的位置,以及到导航数据库206中的对应节点的地址。元数据管理器128还可以基于标签202和相关联的置信级别来在导航数据库206中创建节点。在一些情况下,导航数据库206是加权图,针对所检测对象的给定节点,该加权图包括到与数据中的相应对象相对应的其它节点的加权链路,所检测对象与这些相应对象是相关的。通过将节点或元数据对象放置到导航数据库206中,不仅可以在这种结构中找到某一对象,而且可以找到对象的环境和具有定义的置信级别(例如,针对上下文关系)的相关对象的方面。

图3在300中总体上图示了图2所示的关系数据库204的示例配置。在用于存储系统的实现AI的搜索的方面中,关系数据库204可以被实现为包括对所检测对象的各种属性或者各个地址的引用或者其标识符(诸如,标签标识符、至对应节点的地址、检测置信级别、物理存储地址、逻辑存储地址或者虚拟存储地址、相对节点、关系权重等)的一个或多个表。在该示例中,关系数据库204包括日志表302、地址表304和节点信息表306。在一些方面中,由AI引擎126生成的记录或者标签202被记录到日志表302中,诸如,针对所检测对象的每个实例。

日志表302可以包括用于以下的列:对象标识308、标签标识符310(标签ID 310)、标签类型312、对图的地址引用314以及置信级别316。在一些情况下,标签ID 310在关系数据库204中为搜索代理或者接口提供可搜索条目,并且标签类型312指示被生成用于所检测对象的标签的类型。对图的地址引用字段314可以提供对导航数据库206中的、与所检测对象相对应的节点318的引用,以及对地址表304中的地址的引用。置信级别316可以指示针对所检测对象的AI检测的概率级别。如在图3中示出的,对图的地址引用314指向节点318,该节点318通过改变相应的关系权重而与节点320、节点322和节点324是相关的。对图的地址引用314还指向地址表304中的地址ID字段326,该地址ID字段326指示所检测对象的文件内的文件路径328和偏移330(例如,在多媒体文件中的帧偏移)。

针对节点的每个实例,关系数据库204可以包括节点信息表306。在一些实现中,该表包括针对节点318的相关对象332的引用或节点地址(地址157009),以及相对节点的相应关系权重334。元数据管理器128可以基于标签202或从由AI引擎126提供的数据中的对象的上下文关系的置信级别来确定关系权重。通常,相对节点之间的关系权重334可以与数据124中的、节点与之对应的所检测对象的上下文关系的权重或者强度相对应。换句话说,基于关系权重334通过相对节点进行导航可以提供对所检测对象在存储系统114的数据124中进行相关的方式的指示。

图4在400中总体上图示了图2所示导航数据库206的示例配置。在该示例中,导航数据库206包括链接节点的加权图402,在该加权图402中,链路指示相对节点之间的关系的权重。通常,可以通过与上下文加权连接的映射关系的树或者图来实现导航数据库206,可以通过各种指令(诸如,“下一个”、“前一个”、“getChild”、“getParent”等)来对该上下文加权连接进行导航,并且这样来找到上下文上相关的对象。此处,加权图402中的链接节点可以与数据124中通过上下文相关的相应对象相对应,其中链路表示节点之间的关系以及关系的权重或者可能性。

通常,元数据管理器128基于标签202和/或通过使用来自关系数据库204的信息来在加权图402中创建节点。参照图3,节点318至324被示出为具有相应的加权链路w0 404至w2408,该加权链路w0 404至w2 408具有指示相对节点之间的关系权重的线权重。加权图402还包括节点318的另一相对节点410,该相对节点410具有比通过更低的权重指示的其它加权链路更弱的加权链路w3 412。当元数据管理器128或者搜索代理通过加权图402进行导航时,可以通过附加的加权链路找到其它上下文相关的对象。例如,节点322还通过加权链路w5 414与节点320相关,并且通过加权链路w6 416与节点324相关。作为搜索的一部分,实现AI的搜索还可以返回与间接连接有关的结果,诸如,不直接与节点318相关的另一节点418又通过加权链路w4 420或者节点422与节点320密切相关,该节点422通过加权链路wN 424与节点324密切相关。因此,用于存储系统的实现AI的搜索的各种实现可以利用加权链路的导航数据库来实现对存储数据进行隐式搜索或者上下文搜索。

用于存储系统的实现AI的搜索的技术

下面的讨论描述了用于存储系统的实现AI的搜索的技术,其可以实现对被存储在存储系统上的数据进行隐式搜索或者上下文搜索。可以通过使用本文描述的任何环境和实体(诸如,AI引擎126、元数据管理器128或者元数据数据库130)来实现这些技术。这些技术包括在图5至图8中图示的方法,这些方法中的每种方法都被示出为由一个或多个实体执行的操作集合。

这些方法不必限于在相关联的图中示出的操作顺序。相反,可以重复、跳过、替换任何操作或者重新对任何操作进行排序以实施本文描述的各个方面。进一步地,全部地或者部分地,这些方法可以彼此结合使用,无论是由相同实体、单独的实体还是其任何组合执行。例如,可以组合这些方法以创建具有关系组件和导航组件的AI处理的元数据数据库,该关系组件和导航组件使得能够对被存储到存储系统的大数据进行上下文搜索或者隐式搜索。在下面的讨论的各个部分中,将通过示例的方式参考图1所示操作环境100和图2、图3和/或图4所示实体。这种参考不应该被视为将描述的方面限于操作环境100、实体或者配置,而是对各种示例中的一个示例的说明。备选或附加地,这些方法的操作也可以由参照图9所示片上系统和/或图10所示存储系统控制器描述的实体实施或者利用这些实体来实现。

图5描绘了用于在存储系统中对数据实施实现AI的搜索的示例方法500,包括由存储系统的AI引擎126或者元数据管理器128执行的或者利用存储系统的AI引擎126或者元数据管理器128来执行的操作。

在502中,存储系统的元数据管理器从AI引擎接收标签,该标签用于由AI引擎在被存储在存储系统中的数据中检测的对象。在一些情况下,当数据被存储到存储系统的存储介质时,AI引擎在处理数据时检测对象。在其它情况下,AI引擎处理被存储在存储系统的存储介质上的数据或者对该数据进行重新处理。

在504中,元数据管理器在存储系统的元数据数据库的关系部分中创建用于所检测对象的条目。元数据数据库的关系部分可以是关系数据库或者具有元数据对象或者标签的相关条目的多个表。在一些情况下,所检测对象的条目包括标签、标签的标识符、与所检测对象相对应的节点的地址或者针对所检测对象,AI引擎的置信级别。

在506中,元数据管理器在存储系统的元数据数据库的导航部分中创建用于所检测对象的节点。元数据数据库的导航部分可以是链接节点的加权图、节点的树结构、链接节点的网络等。在一些情况下,导航部分中的节点包括对与数据中的其它对象相对应的相对节点的引用,以及节点与其它节点之间的关系的相应权重,所检测对象与这些其它对象是相关的。

在508中,元数据管理器向搜索界面显露存储系统的元数据数据库,以实现基于导航部分中的节点之间的关系的相应权重来针对所检测对象或者其它对象、对元数据数据库进行搜索。

图6描绘了用于通过使用由AI引擎提供的标签来创建用于存储系统的元数据数据库的关系数据库和元数据数据库的示例方法600。方法600的操作可以由存储系统的AI引擎126或者元数据管理器128执行或者利用存储系统的AI引擎126或者元数据管理器128来执行。

在602中,存储系统接收数据以写入存储系统的存储介质。可以从任何合适的源接收数据,诸如,计算设备、网络接口、存储结构接口等。数据可以被组织成各种类型或者大小的文件,这取决于数据的源。

在604中,AI引擎生成用于在被写入存储系统的存储介质的数据中检测的对象的相应标签。例如,AI引擎可以处理数据以生成用于在数据中检测的对象或者其它元素的描述性元数据标签。与标签一起,AI引擎还可以提供对象检测的置信级别以及数据中的对象之间的上下文关系或者关联的置信级别(例如,权重)。

在606中,元数据管理器在元数据数据库的关系部分中创建用于所检测对象中的一个所检测对象的条目。所检测对象的条目可以包括相应标签的标识符和与所检测对象对应的节点的地址。备选或附加地,条目可以包括标签的类型、与对对象的检测相关联的置信级别或者对象和在数据中检测到的另一对象的置信级别或者关系权重。

在608中,元数据管理器在元数据数据库的导航数据库中创建与所检测对象相对应的节点。在一些情况下,在加权图中创建节点,该加权图包括到与数据中的相应对象相对应的其它节点的加权链路,所检测对象与这些相应对象是相关的。

在610中,元数据管理器在导航数据库中将与所检测对象对应的节点与到导航数据库中的相对节点的相应链路连接。导航数据库中的相对节点可以与数据中的、所检测对象与之相关的另一对象对应。

在612中,元数据管理器基于数据中的所检测对象的上下文来向将节点和相关节点连接的相应链路指派关系权重。通过操作612,方法600可以进行到操作614,返回到操作606以在导航数据库中创建另一节点,或者返回到操作610来将节点与另一相对节点连接。

在614中,元数据管理器向搜索界面显露元数据数据库以实现搜索在数据中所检测对象。可以通过关系数据库中的条目来进行搜索以在导航数据库中找到相关节点。备选或附加地,搜索可以基于连接导航数据库中的节点的相应链路的权重。例如,搜索代理可以搜索关系数据库中的条目以找到AI引擎在数据中检测到的感兴趣的对象的标签或者标签标识符。

图7描绘了用于基于通过AI引擎处理存储系统中的数据而提供的标签的集合来构造或者更新元数据数据库的加权图的示例方法700。方法700的操作可以由存储系统的AI引擎126或者元数据管理器128执行或者利用存储系统的AI引擎126或者元数据管理器128来执行。

在702中,AI引擎利用第一AI模型来处理将被保存到存储系统的数据以为在数据中的所检测对象提供相应标签的第一集合。在704中,元数据管理器基于相应标签的第一集合来构造与数据中的所检测对象相对应的链接节点的加权图。链接节点通过分别具有指示所检测对象的关系上下文的权重的相应链路被连接。

在706中,元数据管理器实现通过索引表来搜索数据中的所检测对象,该索引表包括用于相应标签的第一集合的相应标识符和加权图中的链接节点的对应索引地址。例如,搜索代理可以首先遍历关系数据库中的索引日志表以找到在被存储到实现AI的存储系统的数据中的所检测对象或元素的标签标识符。在索引日志表中,对在导航数据库中的加权图中的节点的引用可以在节点之后,并且因此,在相关对象的所有连接节点之后。可以按照节点之间的链路权重的顺序来报告节点和连接节点,从而提供对数据中节点与之对应的对象的上下文或者相关性的指示。

可选地,在708中,AI引擎利用第二AI模型来对被保存到存储系统的数据进行重新处理以为在数据中检测的对象提供相应标签的第二集合。通常,如果AI引擎利用第二AI模型来对数据进行重新处理,则可以更新导航数据库中的节点的加权链路或者关系以强调或者放大其它上下文关系或者提供数据中的对象可以相关的方式的不同视图。备选或附加地,AI引擎可以在存储系统空闲或者具有超额处理带宽时对存储系统上的数据进行重新处理以支持进行重新处理而不会影响其它存储系统操作。

可选地,在710中,元数据管理器基于相应标签的第二集合来更新加权图中的链接节点之间的链路或者链接节点之间的链路的相应链接权重,这些相应链接权重指示所检测对象的关系上下文。

图8描绘了用于使用关系数据库和导航数据库来对存储系统进行搜索的示例方法800,包括由存储系统的元数据管理器128执行的或者利用存储系统的元数据管理器128来执行的操作。备选或附加地,可以利用或者由与元数据管理器或存储系统相关联的搜索代理来执行操作。

在802中,元数据管理器接收查询以搜索被存储在存储系统的存储介质上的数据。该查询可以包括搜索中的一个或多个关键字或者搜索项。在804中,元数据管理器在包括与查询相关的标签的关系数据库中标识条目。在一些情况下,关系数据库中的地址表在存储系统中被用作用于对象的密钥或者主要搜索列表。

在806中,元数据管理器基于关系数据库中的条目来确定导航数据库中与标签对应的目标节点的索引地址。在808中,作为针对搜索的查询的结果,元数据管理器返回在索引地址处的目标节点的对象,以及按照相应链路权重的顺序被连接到目标节点的相对节点的对应对象。

片上系统

图9图示了可以实现用于存储系统的实现AI的搜索的各个方面的示例性片上系统(SoC)900。SoC 900可以被实现在任何合适的设备中,诸如,智能电话、上网本、平板计算机、接入点、网络附加存储、相机、智能设备、打印机、机顶盒、服务器、数据中心、固态驱动器(SSD)、硬盘驱动器(HDD)、存储驱动器阵列、存储器模块、汽车计算系统或者任何其它合适类型的设备(例如,本文描述的其它设备)。虽然参照SoC进行了描述,但是图9所示实体也可以被实现为其它类型的集成电路或者嵌入式系统,诸如,专用集成电路(ASIC)、存储器控制器、存储控制器、通信控制器、专用标准产品(ASSP)、数字信号处理器(DSP)、可编程SoC(PSoC)、系统级封装(SiP)或者现场可编程门阵列(FPGA)。

SoC 900可以与以下进行集成:对提供计算设备或者存储系统(诸如,本文所描述的设备或者组件中的任何设备或者组件(例如,存储驱动器或者存储阵列))的功能有用的电子电路系统、微处理器、存储器、输入-输出(I/O)控制逻辑、通信接口、固件和/或软件。SoC 900还可以包括耦合SoC的各种组件以用于在组件之间进行数据通信或者路由的集成数据总线或者互连结构(未示出)。可以通过外部端口、并行数据接口、串行数据接口、***组件接口或者任何其它合适的数据接口来公开或者访问SoC 900的集成数据总线、互连结构或者其它组件。例如,SoC 900的组件可以通过外部接口或者片外数据接口来访问或者控制外部存储介质、AI引擎或者AI网络。

在该示例中,SoC 900包括各种组件,诸如,输入-输出(I/O)控制逻辑902和基于硬件的处理器904(处理器904),诸如,微处理器、处理器核、应用处理器、DSP等。SoC 900还包括存储器906,该存储器906可以包括任何类型的RAM、SRAM、DRAM、非易失性存储器、ROM、一次性可编程(OTP)存储器、多次可编程(MTP)存储器、闪速存储器和/或其它合适的电子数据存储设备和/或其组合。在一些方面中,处理器904和被存储在存储器906上的代码被实现为用于提供与用于存储系统的实现AI的搜索相关联的各种功能的存储系统控制器或者存储聚合器。在本公开的上下文中,存储器906经由非瞬态信号来存储数据、代码、指令或者其它信息,并且不包括载波或者暂时信号。备选或附加地,SoC 900可以包括用于访问附加的或者可扩展的片外存储介质(诸如,磁存储器或者固态存储器(例如,闪速存储器或者NAND存储器))的数据接口(未示出)。

SoC 900还可以包括可以被体现为在存储器906上的、被维护用于处理器904执行来实现SoC 900的功能的处理器可执行指令的固件908、应用、程序、软件和/或操作系统。SoC 900还可以包括其它通信接口,诸如,用于控制本地片上通信收发器(未示出)或者本地片外通信收发器的组件或者与这些组件通信的收发器接口。备选或附加地,收发器接口还可以包括或者实施用于在片外传送射频(RF)信号、中频(IF)信号或者基带频率信号的信号接口以促进通过被耦合至SoC 900的收发器、物理层收发器(PHY)或者媒体访问控制器(MAC)进行的有线或者无线通信。例如,SoC 900可以包括被配置为通过有线或者无线网络来实现存储的收发器接口,诸如,以提供具有实现AI的搜索特征的网络附加存储(NAS)卷。

SoC 900还包括可以如示出的那样被单独地实施或者与存储组件或者数据接口组合的AI引擎126、元数据管理器128和元数据数据库130。根据用于存储系统的实现AI的搜索的各个方面,元数据数据库130可以包括一个或多个关系数据库204和导航数据库206,该一个或多个关系数据库204和导航数据库206可以被利用来现对由SoC 900管理的存储介质进行隐式搜索或者上下文搜索。备选或附加地,元数据数据库130可以被存储在SoC 900的存储器906上或者与SoC 900可操作地耦合并且可由元数据管理器128访问的存储器上。如参照本文提出的各个方面描述的,这些实体中的任何实体都可以被体现为不同的或者组合的组件。参照图1所示环境100中的相应组件或者实体或者在图2、图3和/或图4中图示的相应配置描述了这些组件和/或实体或者对应的功能的示例。全部低或者部分地,元数据管理器128可以被实现为由存储器906维护并且由处理器904执行以实施用于存储系统的实现AI的搜索的各个方面和/或特征的处理器可执行指令。

可以独立地或者结合用于实施本文描述的各个方面的任何合适的组件或者电路系统来实施元数据管理器128。例如,AI引擎126和/或元数据管理器可以被实现为控制器、存储控制器、算术逻辑单元(ALU)等。还可以与SoC 900的其它实体集成地提供元数据管理器128,诸如,与SoC 900的处理器904、存储器906、存储媒体接口或者固件908集成。备选或附加地,AI引擎126、元数据管理器128和/或SoC 900的其它组件可以被实现为硬件、固件、固定逻辑电路系统或者其任何组合。

作为另一示例,考虑图示了根据用于存储系统的实现AI的搜索的一个或多个方面的示例存储系统控制器1000的图10。在各个方面中,存储系统控制器1000或者其组件的任何组合可以被实现为存储驱动器控制器、存储介质控制器、NAS控制器或者用于固态存储介质、磁存储介质等的存储聚合控制器。在一些情况下,与如参照图9描述的SoC 900的组件类似地或者利用这些组件来实现存储系统控制器1000。换句话说,SoC 900的实例可以被配置为存储系统控制器,诸如,用于管理固态存储介质或者磁存储介质的存储系统控制器1000。在该示例中,存储系统控制器1000包括输入-输出(I/O)控制逻辑1002和处理器1004,诸如,微处理器、处理器核、应用处理器、DSP等。存储系统控制器还包括分别实现对存储介质和主机系统的访问的存储介质接口1006(例如,NAND接口)和主机接口1008(例如,SATA、PCIe或者Fabric接口)。

在一些方面中,存储系统控制器1000在管理或者实现对被耦合到存储介质接口1006的存储介质的访问时实现用于存储系统的实现AI的搜索的各个方面。存储系统控制器1000可以经由主机接口1008来为主机系统提供存储接口,通过该主机接口1008,从主机系统接收存储访问命令。备选或附加地,元数据管理器128可以经由主机接口1008或者存储系统控制器1000的另一数据接口来从外部AI引擎或者AI网络接收元数据标签或者指示。例如,在数据将被存储到被可操作地耦合至存储系统控制器的存储介质接口1006的存储介质的情况下,元数据管理器128可以通过主机接口1008来接收AI生成的标签和相应的置信级别指示符。在一些方面中,实现存储系统控制器的处理器1004和固件以提供与用于存储系统的实现AI的搜索相关联的各种数据访问功能。

可以如示出的那样单独地或者与处理器1004、AI引擎126或者存储介质接口1006组合地实现存储系统控制器1000的元数据管理器128。根据各个方面,元数据管理器128可以创建并且管理元数据数据库130的关系数据库204和导航数据库206(例如,加权节点图)。参照图1所示环境100中的相应组件或者实体或者在图2、图3和/或图4中图示的相应配置描述了这些组件和/或实体或者对应的功能的示例。全部地或者部分地,元数据管理器128可以被实现为由控制器的存储器维护并且由处理器1004执行以实现用于存储系统的实现AI的搜索的各个方面和/或特征的处理器可执行指令。

虽然已经针对结构特征和/或方法操作对本主题进行了语言描述,但是要明白,在随附权利要求书中定义的主题不必限于本文所描述的特定示例、特征或者操作,包括执行它们的顺序。

28页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:商品搜索方法、装置、系统及电子设备

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!