一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

利用非结构化语言查询数据库执行涉及多个表的有限连接查询的制作方法

2022-02-23 00:18:49 来源:中国专利 TAG:


1.实施例总体上涉及对数据结构进行查询。更具体地,实施例涉及利用非结构化查询语言(nosql)数据库执行涉及多个表的有限连接查询。


背景技术:

2.对多个表或索引执行复杂查询的能力在诸如iot(物联网)视频分析系统、智慧城市交通规划系统、自主驾驶训练数据管理系统等等之类的各种应用中可能是有用的。sql(结构化查询语言)连接操作可使得编程人员能够通过使用每个表共有的值来组合来自多个表的列。然而,尤其针对复杂查询,sql数据库典型地具有限制性能的acid(原子性、一致性、隔离性、持久性)要求。尽管可将nosql数据库与数据归一化组合来执行复杂查询,但仍存在相当大的改善空间。例如,数据归一化可能涉及将列从一个表复制/拷贝到另一个表。此类方法可能增加数据量并使数据更新变慢,这进而呈现出可扩展性和/或存储问题。
附图说明
3.通过阅读以下说明书和所附权利要求并通过参考以下附图,实施例的各种优势对本领域技术人员将变得显而易见,其中:
4.图1是根据实施例的查询架构的示例的框图;
5.图2是根据实施例的多个数据结构的示例的图示;
6.图3是根据实施例的对性能增强的计算系统进行操作的方法的示例的流程图;
7.图4是根据实施例的对性能增强的计算系统进行操作的更详细的方法的示例的流程图;
8.图5是根据实施例的性能增强的计算系统的示例的框图;
9.图6是根据实施例的半导体设备的示例的图示;
10.图7是根据实施例的处理器的示例的框图;以及
11.图8是根据实施例的基于多处理器的计算系统的示例的框图。
具体实施方式
12.现在转向图1,查询架构10被示出,其中数据库12包括多个数据结构14(14a-14n,例如,表、索引)。数据结构14可存储与iot视频分析系统、智慧城市交通规划系统、自主驾驶训练数据管理系统等等有关的数据。在所图示的示例中,接口16(例如,以逻辑指令、可配置逻辑、固定功能硬件逻辑等或其任何组合实现)检测搜索请求18,其中,搜索请求18由于该请求18涉及数据结构14中的两个或更多个而被认为是复杂的。例如,搜索请求18可涉及/引用处于第一数据结构14a中但不处于第二数据结构14b中的字段和/或列,同时还涉及/引用处于第二数据结构14b中但不处于第一数据结构14a中的字段和/或列。所图示的接口16基于搜索请求18自动地生成第一查询20生成并向数据库12发出该第一查询20,而不是生成
sql连接操作(例如,内连接、左外连接、右外连接、全外连接、交叉连接和/或复杂where(其中)语句),其中第一查询20包括对第一数据结构14a中的字段进行“桶分化(bucketize)”的请求。结果是,数据库12可向第一查询20返回聚合响应22,其中该聚合响应22缺少来自第一数据结构14a的记录。
13.作为示例,并且继续参考图1和图2,第二数据结构14b可以是包含对相机流和对应的元信息(例如,时间戳、持续时间)的记录的记录表。另外,第一数据结构14a可以是包含对应相机流的逐帧分析数据的分析表。诸如检测、持续时间、时间和对象数量之类的字段是可选的,并且是出于说明目的的字段的示例。相比之下,所图示的记录字段将两个表链接在一起。可在摄取时间时插入记录字段,或者基于诸如时间字段之类的附加信息来离线地对记录字段进行后处理。
14.此类模式对于范围宽泛的应用场景是通用的,这些应用场景诸如例如,在iot相机监视系统、智慧城市交通规划系统、智慧体育场馆管理系统、以及零售规划和管理中。
15.在一些示例中,搜索请求18的主题是其持续时间超过五秒并且对应的分析数据检测是“面部”且对象数量多于三个的所有记录。在sql数据库中,此类请求可能涉及两个数据结构14a、14b的连接操作。
16.概括地说,实现了一种可执行连接查询的解决方案,该连接查询诸如对记录的查询其中(where)对分析的查询。在实施例中,这些查询可以被实现如下:
17.对分析表或索引执行第一查询20。要特别注意的是,完成搜索请求18不需要来自分析表/索引的实际数据记录。由此,代替于可能接收数十亿条分析记录,接口16仅简单地请求数据库12对记录字段进行桶分化。返回的结果是唯一的一列记录id(标识符),例如r1、r2和r3。使用检查检测是否为面部的查询作为示例,可自动地执行以下搜索:{"query":{"bool":{"must":[{"term":{"detection.keyword":"face"}},{"range":{"nobjects":{"gt":3}}}]}},"size":0,"aggs":{"recordings":{"terms":{"field":"recording.keyword"}}}}({"查询":{"布尔":{"必须":[{"项":{"检测.关键字":"面部"}},{"范围":{"对象数量":{"大于":3}}}]}},"大小":0,"聚合":{"记录":{"项":{"字段":"记录.关键字"}}}})结果:{

aggregations:{“recordings”:[“r1”]}({

聚合:{“记录”:[“r1”]}})
[0018]
对第二数据结构14b(例如,记录表或索引)执行附加查询24,其中记录id作为约束,返回的结果是包含满足组合查询的一列记录文件的附加响应26。例如,搜索持续时间》5可执行如下:查询:{“query”:{“bool”:{“must”:[{“ids”:[“r1”]},{"bool":{"must":[{"range":{"duration":{"gt":5}}}]}}]}}}({“查询”:{“布尔”:{“必须”:[{“id”:[“r1”]},{"布尔":{"必须":[{"范围":{"持续时间":{"大于":5}}}]}}]}}})结果:{

hits:{hits:[

{time:10:00:00,file=“001.mp4”,duration:6}

]}}({

命中:{命中:[

{时间:10:00:00,文件=“001.mp4”,持续时间:6}

]}})
[0019]
在所图示的示例中,接口16基于附加响应26生成搜索响应28。假定在分析表中存在n条记录并且在记录表中存在m条记录,一般而言,对两个表的合并连接(join)操作的复杂度为o(n*m)。所公开的解决方案将复杂度降低至o(n m)。相应地,由于与生成搜索响应28相关联的时间量相对于数据库12中的数据量是线性的,因此所图示的架构10增强了性能
(例如,实时响应性)。在实施例中,数据库12是nosql数据库,由于没有acid要求,该nosql数据库已经具有高于sql数据库的性能。
[0020]
下表i示出性能数据,假定每次记录大约5秒长并且帧速率为30帧/秒。sql等效方案中执行的查询为:从分析、记录选择不同的记录.时间、记录.文件,其中分析.检测=“汽车”且分析.对象数量》50且记录.持续时间》10限于1000:表i
[0021]
对于涉及数据结构14(例如,表1至n)中的多于两个的数据结构的复杂查询,可对第一数据结构14a(表1)执行“桶分化”操作,随后对第二数据结构(表2)执行“桶分化”操作,随后对第三数据结构(表3)执行“桶分化”操作,一直到第n-1数据结构(例如,表n-1,未示出)。随后,可对第n数据结构14n(例如,表n)执行最终查询,以检取结果。由此,取决于情况,附加响应26也可能是聚合响应。
[0022]
图3示出了操作性能增强的计算系统的方法30。方法30一般可被实现于接口中,诸如例如已讨论的接口16(图1)。更具体地,方法30可在一个或多个模块中被实现为逻辑指令的集合,这些逻辑指令被存储在诸如随机存取存储器(ram)、只读存储器(rom)、可编程rom(prom)、固件、闪存等之类的机器或计算机可读存储介质中,被存储在诸如例如可编程逻辑阵列(pla)、现场可编程门阵列(fpga)、复杂可编程逻辑器件(cpld)之类的可配置逻辑中,被存储在使用诸如例如专用集成电路(asic)、互补式金属氧化物半导体(cmos)或晶体管-晶体管逻辑(ttl)技术之类的电路技术的固定功能逻辑硬件中,或被存储在上述各项的任何组合中。
[0023]
例如,可以用一种或多种编程语言的任何组合来编写用于实施在方法30中所示的操作的计算机程序代码,这些编程语言包括诸如java、smalltalk、c 等的面向对象的编程语言以及诸如“c”编程语言或类似编程语言的常规的过程编程语言。另外,逻辑指令可包括汇编程序指令、指令集架构(isa)指令、机器指令、机器相关指令、微代码、状态设置数据、用于集成电路的配置数据、使对于硬件(例如,主机处理器、中央处理单元/cpu、微控制器等)而言是原生的电子电路和/或其他结构组件个性化的状态信息。
[0024]
所图示的处理框32检测搜索请求。在实施例中,搜索请求是涉及多个数据结构(例如,表、索引)的复杂搜索请求。框34响应于搜索请求而自动地从数据库获取多个查询响应,其中,该多个查询响应包括与第一数据结构相关联的聚合响应以及与一个或多个附加数据结构相关联的一个或多个附加响应。如已经提出的,(多个)附加响应还可包括一个或多个聚合响应(例如,当涉及多于两个数据结构时)。在一个示例中,第一查询包括对第一数据结构中的字段(例如,列)进行桶分化的请求。另外,聚合响应可能缺少来自第一数据结构的记录。在实施例中,从nosql数据库获得多个查询响应。所图示的框36基于一个或多个附加响应生成对搜索请求的响应。
[0025]
从第一数据结构获得聚合响应可使得与生成对搜索请求的响应相关联的时间量相对于数据库中的数据量能够是线性的(参见例如,表i)。相应地,在诸如例如iot视频分析系统、智慧城市交通规划系统、自主驾驶训练数据管理系统等等之类的范围宽泛的应用中,性能可显著地被增强。可通过排除数据归一化操作(例如,将列从一个表复制/拷贝到另一个表)来进一步增强性能,归一化操作可能以其他方式增加数据量、减缓数据更新并呈现出扩展性和/或存储问题。另外,获取聚合响应可减少返回结果所涉及的i/o(输入/输出)量。i/o可以是存储器带宽(例如,如果数据库和查询处于同一机器上)或网络带宽(例如,如果数据库和查询处于不同的机器上)。
[0026]
图4示出了操作性能增强的计算系统的更详细的方法40。方法40一般可被实现于接口中,诸如例如已讨论的接口16(图1)。更具体地,方法40可在一个或多个模块中被实现为逻辑指令的集合,这些逻辑指令被存储在诸如ram、rom、prom、固件、闪存等之类的机器或计算机可读存储介质中,被存储在诸如例如pla、fpga、cpld之类的可配置逻辑中,被存储在使用诸如例如asic、cmos或ttl技术之类的电路技术的固定功能逻辑硬件中,或被存储在以上各项的任何组合中。
[0027]
所图示的处理框42提供检测搜索请求。在实施例中,搜索请求是涉及多个数据结构(例如,表、索引)的复杂搜索请求。在框44处,基于搜索请求生成第一查询,其中,框46向数据库发出该第一查询。如已经提到的,第一查询可包括对第一数据结构中的字段/列进行桶分化的请求。在实施例中,框48从数据库接收聚合响应,其中,聚合响应与第一查询相关联。在一个示例中,聚合响应缺少(例如,不包含)来自第一数据结构的任何记录。相反,聚合响应可以仅仅是唯一的一列标识符。
[0028]
框50可基于聚合响应生成一个或多个附加查询,其中,框52向数据库发出该一个或多个附加查询。在实施例中,框54从数据库接收一个或多个附加响应。在所图示的示例中,一个或多个附加响应与一个或多个附加查询相对应。框56基于一个或多个附加响应生成对搜索请求的响应。如已经提到的,数据库可以是nosql数据库。而且,与生成对搜索请求的响应相关联的时间量可以相对于数据库中的数据量是线性的。
[0029]
现在转向图5,示出了性能增强的计算系统110。系统110一般可以是具有计算功能的电子设备/系统(例如,个人数字助理/pda、笔记本计算机、平板计算机、可转换平板、服务器)的部分、具有通信功能电子设备/系统(例如,智能电话)的部分、具有成像功能的电子设备/系统(例如,相机、便携式摄像机)的部分、具有媒体播放功能的电子设备/系统(例如,智能电视/tv)的部分、具有可穿戴功能的电子设备/系统(例如,手表、眼部穿戴物、头戴物、脚部穿戴物、首饰)的部分、具有车载功能的电子设备/系统(例如,汽车、卡车、摩托车)的部分、具有机器人功能电子设备/系统(例如,自主机器人)的部分、具有物联网(iot)功能的电子设备/系统的部分等等,或者具有以上各功能的任何组合的电子设备/系统的部分。在所图示的示例中,系统110包括具有集成存储器控制器(imc)114的主机处理器112(例如,中央处理单元/cpu),该imc 114耦合至系统存储器116。
[0030]
所图示的系统110还包括输入输出(io)模块118,该io模块118与主机处理器112和图形处理器120(例如,图形处理单元/gpu)一起在半导体管芯122上被实现为芯片上系统(soc)。所图示的io模块118与例如显示器124(例如,触摸屏、液晶显示器/lcd、发光二极管/led显示器)、网络控制器126(例如,有线和/或无线)、以及大容量存储128(例如,硬盘驱动
器/hdd、光盘、固态驱动器/ssd、闪存)进行通信。
[0031]
在实施例中,主机处理器112、图形处理器120和/或io模块118执行从系统存储器116和/或大容量存储128检取的程序指令134,以执行已讨论的方法30(图3)和/或方法40(图4)的一个或多个方面。由此,指令134的执行可使得半导体管芯122和/或计算系统110检测搜索请求并响应于该搜索请求而自动地从数据库获取多个查询响应。该多个查询响应可包括与第一数据结构相关联的聚合响应以及与一个或多个附加数据结构相关联的一个或多个附加响应。指令134的执行还可使得半导体管芯122和/或计算系统110基于一个或多个附加响应生成对搜索请求的响应。在实施例中,数据库是nosql数据库。因此,至少在获取聚合响应使得与生成对搜索请求的响应相关联的时间量相对于数据库中的数据量呈线性的意义上,计算系统110是性能增强的。可通过排除数据归一化操作(例如,将列从一个表复制/拷贝到另一个表)来进一步增强性能,归一化操作可能以其他方式增加数据量、减缓数据更新并呈现出扩展性和/或存储问题。
[0032]
图6示出了半导体封装设备140。所图示的设备140包括一个或多个衬底142(例如,硅、蓝宝石、砷化镓)和耦合至(多个)衬底142的逻辑144(例如,晶体管阵列和其他集成电路/ic组件)。逻辑144可至少部分地被实现在可配置逻辑或固定功能逻辑硬件中。在一个示例中,逻辑144实现已讨论的方法30(图3)和/或方法40(图4)的一个或多个方面。由此,逻辑144可检测搜索请求并且响应于该搜索请求而自动地从数据库获取多个查询响应。该多个查询响应可包括与第一数据结构相关联的聚合响应以及与一个或多个附加数据结构相关联的一个或多个附加响应。逻辑144还可基于一个或多个附加响应生成对搜索请求的响应。在实施例中,从nosql数据库获得多个查询响应。因此,至少在获取聚合响应使得与生成对搜索请求的响应相关联的时间量相对于数据库中的数据量呈线性的意义上,设备140是性能增强的。
[0033]
在一个示例中,逻辑144包括定位(例如,嵌入)在(多个)衬底142内的晶体管沟道区。因此,逻辑144与(多个)142之间的接口可以不是突变结。逻辑144还可被认为包括在(多个)衬底142的初始晶圆上生长的外延层。
[0034]
图7图示出根据一个实施例的处理器核200。处理器核200可以是用于任何类型的处理器的核,这些处理器诸如微处理器、嵌入式处理器、数字信号处理器(dsp)、网络处理器、或用于执行代码的其他设备。虽然图7中仅图示了一个处理器核200,但处理元件可替代地包括多于一个的图7中所图示的处理器核200。处理器核200可以是单线程核,或对于至少一个实施例,处理器核200可以是多线程的,因为其每个核可包括多于一个的硬件线程上下文(或“逻辑处理器”)。
[0035]
图7还图示出耦合至处理器核200的存储器270。存储器270可以是本领域技术人员已知的或以其他方式对本领域技术人员可用的各种各样的存储器(包括存储器层级结构的各个层)中的任何一种。存储器270可包括要由处理器核200执行的一条或多条代码213指令,其中代码213可实现已讨论的方法30(图3)和/或方法40(图4)的一个或多个方面。处理器核200遵循由代码213指示的指令的程序序列。每条指令可进入前端部分210并由一个或多个解码器220处理。解码器220可生成微操作(诸如采用预定义格式的固定宽度的微操作)作为其输出,或者可生成反映原始代码指令的其他指令、微指令或控制信号。所图示的前端部分210还包括寄存器重命名逻辑225和调度逻辑230,该调度逻辑230一般分配资源并将与
转换指令相对应的操作进行排队以供执行。
[0036]
处理器核200被示为包括具有一组执行单元255-1至255-n的执行逻辑250。一些实施例可包括专用于特定功能或功能集合的数个执行单元。其他实施例可包括仅一个执行单元或可以执行特定功能的一个执行单元。所图示的执行逻辑250执行由代码指令指定的操作。
[0037]
在完成执行由代码指令指定的操作之后,后端逻辑260对代码213的指令进行引退。在一个实施例中,处理器核200允许乱序执行但是要求指令的有序引退。引退逻辑265可采取如本领域技术人员已知的各种形式(例如,重排序缓冲器等等)。以此方式,至少在由解码器生成的输出、由寄存器重命名逻辑225利用的硬件寄存器和表、以及由执行逻辑250修改的任何寄存器(未示出)方面,处理器核200在代码213的执行期间被变换。
[0038]
虽然未在图7中图示,但处理元件可包括与处理器核200一起在芯片上的其他元件。例如,处理元件可包括与处理器核200一起的存储器控制逻辑。处理元件可包括i/o控制逻辑和/或可包括与存储器控制逻辑一起被集成的i/o控制逻辑。处理元件还可包括一个或多个高速缓存。
[0039]
现在参考图8,所示出的是根据实施例的计算系统1000实施例的框图。图8中所示出的是多处理器系统1000,其包括第一处理元件1070和第二处理元件1080。尽管示出了两个处理元件1070和1080,但是要理解,系统1000的实施例还可包括仅一个此类处理元件。
[0040]
系统1000被图示为点对点互连系统,其中第一处理元件1070和第二处理元件1080经由点对点互连1050耦合。应当理解,图8中所图示的互连中的任何或全部互连可被实现为多分支总线而不是点对点互连。
[0041]
如图8中所示,处理元件1070和1080中的每一者可以是包括第一和第二处理器核(即,处理器核1074a和1074b、以及处理器核1084a和1084b)的多核处理器。此类核1074a、1074b、1084a、1084b可被配置成用于以与上文结合图7所讨论的方式类似的方式来执行指令代码。
[0042]
每个处理元件1070、1080可包括至少一个共享高速缓存1896a、1896b。共享高速缓存1896a、1896b可存储分别由处理器的一个或多个组件(诸如核1074a、1074b,以及1084a、1084b)利用的数据(例如,指令)。例如,共享高速缓存1896a、1896b可本地地对存储器1032、1034中所存储的数据进行高速缓存以供处理器的组件进行更快速的访问。在一个或多个实施例中,共享高速缓存1896a、1896b可包括一个或多个中间级别高速缓存(诸如第2级(l2)、第3级(l3)、第4级(l4)、或其他级别的高速缓存)、末级高速缓存(llc)和/或其组合。
[0043]
虽然被示出为具有仅两个处理元件1070、1080,但要理解,实施例的范围不限于此。在其他实施例中,在给定的处理器中可存在一个或多个附加处理元件。替代地,处理元件1070、1080中的一者或多者可以是除处理器之外的元件,诸如加速器或现场可编程门阵列。例如,(多个)附加处理元件可包括与第一处理器1070相同的(多个)附加处理器、与第一处理器1070异构或不对称的(多个)附加处理器、加速器(诸如例如,图形加速器或数字信号处理(dsp)单元)、现场可编程门阵列、或任何其他处理元件。在包括架构、微架构、热、功耗特性等等一系列品质度量方面,处理元件1070、1080之间可存在各种差异。这些差异自身可有效地表现为处理元件1070、1080之中的不对称性和异构性。对于至少一个实施例,各处理元件1070、1080可驻留在同一管芯封装中。
[0044]
第一处理元件1070可进一步包括存储器控制器逻辑(mc)1072以及点对点(p-p)接口1076和1078。类似地,第二处理元件1080可包括mc 1082以及p-p接口1086和1088。如图8中所示,mc 1072和1082将处理器耦合至相应的存储器,即存储器1032和存储器1034,这些存储器可以是本地附连到相应处理器的主存储器的部分。尽管mc 1072和mc 1082被图示为被集成到处理元件1070、1080中,但对于替代实施例,mc逻辑可以是处理元件1070、1080外部的分立逻辑,而不是被集成于其中。
[0045]
第一处理元件1070和第二处理元件1080可分别经由p-p互连1076、1086耦合至i/o子系统1090。如图8中所示,i/o子系统1090包括p-p接口1094和1098。此外,i/o子系统1090包括将i/o子系统1090与高性能图形引擎1038耦合的接口1092。在一个实施例中,可使用总线1049将图形引擎1038耦合至i/o子系统1090。替代地,点对点互连可耦合这些组件。
[0046]
进而,i/o子系统1090可经由接口1096耦合至第一总线1016。在一个实施例中,第一总线1016可以是外围组件互连(pci)总线,或诸如pci快速(pci express)总线或另一第三代i/o互连总线之类的总线,但是实施例的范围不限于此。
[0047]
如图8中所示,各种i/o设备1014(例如,生物计量扫描仪、扬声器、相机、传感器)可连同总线桥1018一起耦合至第一总线1016,该总线桥1018可将第一总线1016耦合至第二总线1020。在一个实施例中,第二总线1020可以是低引脚数(lpc)总线。在一个实施例中,各种设备可耦合至第二总线1020,这些设备包括例如键盘/鼠标1012、(多个)通信设备1026、以及诸如盘驱动器或其他大容量存储设备之类的可包括代码1030的数据存储单元1019。所图示的代码1030可实现已讨论的方法30(图3)和/或方法40(图4)的一个或多个方面。此外,音频i/o 1024可耦合至第二总线1020,并且电池1010可向计算系统1000提供功率。
[0048]
注意,构想了其他实施例。例如,代替于图8的点对点架构,系统可实现多分支总线或者另一此类通信拓扑。而且,可替代地使用比图8中所示的更多或更少的集成芯片来对图8的元件进行分区。
[0049]
附加说明和示例:
[0050]
示例1包括一种计算系统,该计算系统包括:网络控制器;处理器,耦合至网络控制器;以及存储器,耦合至处理器,该存储器包括一组可执行程序指令,这些指令在由处理器执行时使处理器用于:检测搜索请求,响应于该搜索请求而自动地从数据库获取多个查询响应,其中,该多个查询响应包括与第一数据结构相关联的聚合响应以及与一个或多个附加数据结构相关联的一个或多个附加响应,以及基于该一个或多个附加响应生成对搜索请求的响应。
[0051]
示例2包括如示例1所述的计算系统,其中,指令在被执行时进一步使得处理器用于:基于搜索请求生成第一查询,向数据库发出第一查询,其中,聚合响应用于与第一查询相对应,基于聚合响应生成一个或多个附加查询,以及向数据库发出该一个或多个附加查询,其中,一个或多个附加响应用于与该一个或多个附加查询相对应。
[0052]
示例3包括如示例2所述的计算系统,其中,第一查询包括对第一数据结构中的字段进行桶分化的请求。
[0053]
示例4包括如示例1所述的计算系统,其中,聚合响应缺少来自第一数据结构的记录。
[0054]
示例5包括如示例1所述的计算系统,其中,多个查询响应用于从非结构化语言查
询(nosql)数据库被获取。
[0055]
示例6包括如示例1至5中任一项所述的计算系统,其中,与生成对搜索请求的响应相关联的时间量相对于数据库中的数据量呈线性。
[0056]
示例7包括一种半导体设备,该半导体设备包括一个或多个衬底以及耦合至该一个或多个衬底的逻辑,其中,该逻辑至少部分地被实现在可配置逻辑或固定功能硬件逻辑中的一者或多者中,耦合至一个或多个衬底的逻辑用于:检测搜索请求,响应于该搜索请求而自动地从数据库获取多个查询响应,其中,该多个查询响应包括与第一数据结构相关联的聚合响应以及与一个或多个附加数据结构相关联的一个或多个附加响应,以及基于该一个或多个附加响应生成对搜索请求的响应。
[0057]
示例8包括如示例7搜索的设备,其中,耦合至一个或多个衬底的逻辑用于:基于搜索请求生成第一查询,向数据库发出该第一查询,其中,聚合响应用于与该第一查询相对应,基于聚合响应生成一个或多个附加查询,以及向数据库发出该一个或多个附加查询,其中,一个或多个附加响应用于与该一个或多个附加查询相对应。
[0058]
示例9包括如示例8所述的设备,其中,第一查询包括对第一数据结构中的字段进行桶分化的请求。
[0059]
示例10包括如示例7所述的设备,其中,聚合响应缺少来自第一数据结构的记录。
[0060]
示例11包括如示例7所述的设备,其中,多个查询响应用于从非结构化语言查询(nosql)数据库被获取。
[0061]
示例12包括如示例7至11中任一项所述的设备,其中,与生成对搜索请求的响应相关联的时间量相对于数据库中的数据量呈线性。
[0062]
示例13包括如示例7至11中任一项的设备,其中耦合至一个或多个衬底的逻辑包括定位在该一个或多个衬底内的晶体管沟道区。
[0063]
示例14包括至少一种计算机可读存储介质,包括一组可执行程序指令,这些指令在被计算系统执行时使得该计算系统用于:检测搜索请求,响应于该搜索请求而自动地从数据库获取多个查询响应,其中,该多个查询响应包括与第一数据结构相关联的聚合响应以及与一个或多个附加数据结构相关联的一个或多个附加响应,以及基于该一个或多个附加响应生成对搜索请求的响应。
[0064]
示例15包括如示例14所述的至少一种计算机可读存储介质,其中,指令在被执行时进一步使得计算系统用于:基于搜索请求生成第一查询,向数据库发出第一查询,其中,聚合响应用于与第一查询相对应,基于聚合响应生成一个或多个附加查询,以及向数据库发出该一个或多个附加查询,其中,一个或多个附加响应用于与该一个或多个附加查询相对应。
[0065]
示例16包括如示例15所述的至少一种计算机可读存储介质,其中,第一查询包括对第一数据结构中的字段进行桶分化的请求。
[0066]
示例17包括如示例14所述的至少一种计算机可读存储介质,其中,聚合响应缺少来自第一数据结构的记录。
[0067]
示例18包括如示例14所述的至少一种计算机可读存储介质,其中,多个查询响应用于从非结构化语言查询(nosql)数据库被获取。
[0068]
示例19包括如示例14至18中任一项所述的至少一种计算机可读存储介质,其中,
与生成对搜索请求的响应相关联的时间量相对于数据库中的数据量呈线性。
[0069]
示例20包括一种对性能增强的计算系统进行操作的方法,该方法包括:检测搜索请求,响应于该搜索请求而自动地从数据库获取多个查询响应,其中,该多个查询响应包括与第一数据结构相关联的聚合响应以及与一个或多个附加数据结构相关联的一个或多个附加响应,以及基于该一个或多个附加响应生成对搜索请求的响应。
[0070]
示例21包括如示例20所述的方法,进一步包括:基于搜索请求生成第一查询,向数据库发出第一查询,其中,聚合响应用于与第一查询相对应,基于聚合响应生成一个或多个附加查询,以及向数据库发出该一个或多个附加查询,其中,一个或多个附加响应用于与该一个或多个附加查询相对应。
[0071]
示例22包括如示例21所述的方法,其中,第一查询包括对第一数据结构中的字段进行桶分化的请求。
[0072]
示例23包括如示例20所述的方法,其中,聚合响应缺少来自第一数据结构的记录。
[0073]
示例24包括如示例20所述的方法,其中,多个查询响应用于从非结构化语言查询(nosql)数据库被获取。
[0074]
示例25包括如示例20至24中任一项所述的方法,其中,与生成对搜索请求的响应相关联的时间量相对于数据库中的数据量呈线性。
[0075]
示例26包括用于执行如示例20至25中任一项所述的方法的装置。
[0076]
因此,本文中所描述的技术基于nosql数据库实现了复杂搜索,使得服务各种各样的应用成为可能,这些应用诸如iot嵌入式系统、边缘分析系统、云智慧城市型系统、或自主驾驶场景中的通用神经网络训练-数据管理。由于nosql数据库的性能可能比类似的sql数据库快一个数量级,因此应用程序现在能够处理更多数据。而且,因此,边缘或iot系统可使用此种附加能力而不需要大型数据库集群。具体而言,对于iot系统,添加的用于将数据存储在数据库中并执行搜索的能力可能是有利的。平台还可优化所公开的数据库查询操作,以使得nosql数据库在讨论中的平台上更有效地操作。例如,英特尔optane持久性存储器可将nosql数据库操作加速得甚至更快。
[0077]
实施例适用于与所有类型的半导体集成电路(“ic”)芯片一起使用。这些ic芯片的示例包括但不限于处理器、控制器、芯片组组件、可编程逻辑阵列(pla)、存储器芯片、网络芯片、芯片上系统(soc)、ssd/nand控制器asic等等。另外,在一些附图中,信号导线用线表示。一些线可以是不同的以指示更具构成性的信号路径,可具有数字标号以指示构成性信号路径的数目,和/或可在一端或多端具有箭头以指示主要信息流向。然而,这不应以限制性方式来解释。相反,此类添加的细节可与一个或多个示例性实施例结合使用以促进更容易地理解电路。任何所表示的信号线,不管是否具有附加信息,实际上都可包括一个或多个信号,该一个或多个信号可在多个方向上行进,并且可用任何适合类型的信号方案来实现,例如利用差分对来实现的数字或模拟线路、光纤线路、和/或单端线路。
[0078]
示例尺寸/模型/值/范围可能已经被给出,但是实施例不限于此。随着制造技术(例如,光刻法)随时间变得成熟,预计能制造出更小尺寸的设备。另外,为了说明和讨论的简单起见并且为了避免使实施例的某些方面模糊,到ic芯片和其他组件的公知的功率/接地连接可在附图内示出也可不示出。进一步地,可以以框图形式示出布置以避免使实施例模糊,并且还鉴于相对于此类框图布置的实现的细节高度依赖于将在其内实现实施例的计
算系统这一事实,即,此类细节应当很好地在本领域技术人员的见识范围之内。在阐述了具体细节(例如,电路)以描述示例实施例的情况下,对本领域技术人员应当显而易见的是,实施例可以在没有这些具体细节的情况下或者利用这些具体细节的变型来实施。描述因此被视为是说明性的而不是限制性的。
[0079]
术语“耦合的”在本文中可被用于表示所讨论的组件之间的任何类型的直接或间接关系,且可应用于电气的、机械的、流体的、光学的、电磁的、机电的或其他连接。另外,术语“第一”、“第二”等在本文中可仅用于便于讨论,并且不带有特定时间的或按时间顺序的意义,除非另有陈述。
[0080]
如在本技术和权利要求书中所使用的,由术语“中的一个或多个”联接的项列表可意指所列项的任何组合。例如,短语“a、b或c中的一个或多个”可意指a;b;c;a和b;a和c;b和c;或a、b和c。
[0081]
本领域技术人员从前面的描述将领会,实施例的广泛技术能以各种形式来实现。因此,尽管已结合其特定示例描述了实施例,但实施例的真实范围不应当限于此,因为在研究附图、说明书和所附权利要求书之后,其他修改对于本领域技术人员将变得显而易见。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献