云计算与雾计算系统中的KV存储设备的制作方法

文档序号:18868174发布日期:2019-10-14 18:51阅读:161来源:国知局
云计算与雾计算系统中的KV存储设备的制作方法

本申请涉及kv存储系统,具体地,涉及云计算与雾计算系统中的kv存储设备。



背景技术:

图1a展示了固态存储设备的框图。固态存储设备102同主机相耦合,用于为主机提供存储能力。主机同固态存储设备102之间可通过多种方式相耦合,耦合方式包括但不限于通过例如sata(serialadvancedtechnologyattachment,串行高级技术附件)、scsi(smallcomputersysteminterface,小型计算机系统接口)、sas(serialattachedscsi,串行连接scsi)、ide(integrateddriveelectronics,集成驱动器电子)、usb(universalserialbus,通用串行总线)、pcie(peripheralcomponentinterconnectexpress,pcie,高速外围组件互联)、nvme(nvmexpress,高速非易失存储)、以太网、光纤通道、无线通信网络等连接主机与固态存储设备102。主机可以是能够通过上述方式同存储设备相通信的信息处理设备,例如,个人计算机、平板电脑、服务器、便携式计算机、网络交换机、路由器、蜂窝电话、个人数字助理等。存储设备102包括接口103、控制部件104、一个或多个nvm芯片105以及dram(dynamicrandomaccessmemory,动态随机访问存储器)110。

nand闪存、相变存储器、feram(ferroelectricram,铁电存储器)、mram(magneticrandomaccessmemory,磁阻存储器)、rram(resistiverandomaccessmemory,阻变存储器)等是常见的nvm。

接口103可适配于通过例如sata、ide、usb、pcie、nvme、sas、以太网、光纤通道等方式与主机交换数据。

控制部件104用于控制在接口103、nvm芯片105以及dram110之间的数据传输,还用于存储管理、主机逻辑地址到闪存物理地址映射、擦除均衡、坏块管理等。控制部件104可通过软件、硬件、固件或其组合的多种方式实现,例如,控制部件104可以是fpga(field-programmablegatearray,现场可编程门阵列)、asic(applicationspecificintegratedcircuit,应用专用集成电路)或者其组合的形式。控制部件104也可以包括处理器或者控制器,在处理器或控制器中执行软件来操纵控制部件104的硬件来处理io(input/output)命令。控制部件104还可以耦合到dram110,并可访问dram110的数据。在dram可存储ftl表和/或缓存的io命令的数据。

控制部件104包括闪存接口控制器(或称为介质接口控制器、闪存通道控制器),闪存接口控制器耦合到nvm芯片105,并以遵循nvm芯片105的接口协议的方式向nvm芯片105发出命令,以操作nvm芯片105,并接收从nvm芯片105输出的命令执行结果。已知的nvm芯片接口协议包括“toggle”、“onfi”等。

存储器目标(target)是nand闪存封装内的共享ce(,chipenable,芯片使能)信号的一个或多个逻辑单元(lun,logicunit)。nand闪存封装内可包括一个或多个管芯(die)。典型地,逻辑单元对应于单一的管芯。逻辑单元可包括多个平面(plane)。逻辑单元内的多个平面可以并行存取,而nand闪存芯片内的多个逻辑单元可以彼此独立地执行命令和报告状态。

存储介质上通常按页来存储和读取数据。而按块来擦除数据。块(也称物理块)包含多个页。块包含多个页。存储介质上的页(称为物理页)具有固定的尺寸,例如17664字节。物理页也可以具有其他的尺寸。

在固态存储设备中,利用ftl(flashtranslationlayer,闪存转换层)来维护从逻辑地址到物理地址的映射信息。逻辑地址构成了操作系统等上层软件所感知到的固态存储设备的存储空间。物理地址是用于访问固态存储设备的物理存储单元的地址。在相关技术中还可利用中间地址形态实施地址映射。例如将逻辑地址映射为中间地址,进而将中间地址进一步映射为物理地址。

存储了从逻辑地址到物理地址的映射信息的表结构被称为ftl表。ftl表是固态存储设备中的重要元数据。通常ftl表的数据项记录了固态存储设备中以数据页为单位的地址映射关系。

ftl表包括多个ftl表条目(或称表项)。在一种情况下,每个ftl表条目中记录了一个逻辑页地址与一个物理页的对应关系。在另一种情况下,每个ftl表条目中记录了连续的多个逻辑页地址与连续的多个物理页的对应关系。在又一种情况下,每个ftl表条目中记录了逻辑块地址与物理块地址的对应关系。在依然又一种情况下,ftl表中记录逻辑块地址与物理块地址的映射关系,和/或逻辑页地址与物理页地址的映射关系。

支持key-value(键-数据,也简称为“kv”)存储模型的存储设备,提供基于键(key)的读操作(get(key))与写操作(put(key,value))。为执行写操作,主机向存储设备提供键(key)与数据(value),以将数据写入存储设备,并将键作为所写入的数据的索引。为执行读操作,主机向存储设备提供键,存储设备根据键找到数据,并将数据提供给主机。因而在kv存储系统中,键是用来访问数据的索引,而数据(value)是被访问的数据。一般地,键与数据的长度均不是定长。以及可选地,为了降低复杂性,键和/或数据的长度可具有指定范围。

图1b展示了现有技术的固态存储设备的地址转换系统的示意图。支持kv存储模型的固态存储设备的地址转换系统(也称为ftl表)提供从键到逻辑地址或物理地址的映射。可选地,ftl表中记录的逻辑地址或物理地址可以是数据帧(dataframe)的起始地址。数据帧是具有固定大小的数据单元,物理页包括1个或多个数据帧。

键的长度可变,数据的长度也可变。键作为ftl表的索引。用键作为索引查询ftl表,得到对应的逻辑地址或物理地址。ftl表可以由数组、链表、树等多种数据结构实现。可选地,将不定长的键进行哈希运算,得到定长的哈希键(例如,4字节/8字节),作为ftl表的索引。



技术实现要素:

根据本申请的第一方面,提供了根据本申请第一方面的第一kv存储设备,包括主机接口、kvftl单元、cpu子系统、错误校验单元与用于访问nvm芯片的介质接口,主机接口用于同主机交换命令与数据,kvftl单元运行在cpu子系统中,错误校验单元对写入nvm存储介质和从nvm存储介质读取的数据进行错误校验。

根据本申请的第一方面的第一kv存储设备,提供了根据本申请第一方面的第二kv存储设备,还包括一个或多个应用程序,应用程序运行在cpu子系统中的一个或多个cpu中。

根据本申请的第一方面的第一或第二kv存储设备,提供了根据本申请第一方面的第三kv存储设备,应用程序的处理结果通过主机接口提供给主机。

根据本申请的第一方面的第一至第三kv存储设备之一,提供了根据本申请第一方面的第四kv存储设备,应用程序与主机通过私有命令或者nvme协议的扩展命令通信。

根据本申请的第一方面的第一至第四kv存储设备之一,提供了根据本申请第一方面的第五kv存储设备,应用程序还包括管理应用程序,管理应用程序接收外部命令,来更新应用程序、开启应用程序、停止应用程序和/或查询kv存储设备上可用的应用程序。

根据本申请的第一方面的第五kv存储设备,提供了根据本申请第一方面的第六kv存储设备,管理应用程序还响应于外部命令,而提供用于通过网络唯一识别与访问kv存储设备的kv存储设备标识符。

根据本申请的第一方面的第一至第六kv存储设备之一,提供了根据本申请第一方面的第七kv存储设备,主机接口还将kv存储设备耦合到网络。

根据本申请的第一方面的第一至第七kv存储设备之一,提供了根据本申请第一方面的第八kv存储设备,还包括存储管理单元,存储管理单元耦合到主机接口,用于接收主机发送给存储设备的io命令。

根据本申请的第一方面的第一至第八kv存储设备之一,提供了根据本申请第一方面的第九kv存储设备,存储管理单元运行在cpu子系统中。

根据本申请的第一方面的第一至第九kv存储设备之一,提供了根据本申请第一方面的第十kv存储设备,kvftl单元、存储管理单元、一个或多个应用程序被实现为固件并运行在cpu子系统中。

根据本申请的第一方面的第一至第十kv存储设备之一,提供了根据本申请第一方面的第十一kv存储设备,还包括加速器单元,加速器单元在kvftl单元中使用,加速器单元包括一种或多种硬件加速器。

根据本申请的第一方面的第十一kv存储设备,提供了根据本申请第一方面的第十二kv存储设备,加速器为ai处理器、多媒体处理器、链表/树结构访问加速器中的一种或多种。

根据本申请的第一方面的第一至第十二kv存储设备之一,提供了根据本申请第一方面的第十三kv存储设备,加速器单元在存储管理单元、一个或多个应用程序中使用。

根据本申请的第一方面的第一至第十三kv存储设备之一,提供了根据本申请第一方面的第十四kv存储设备,kv存储设备还包括数据源标识符、计算设备标识符、访问权限标识符中的一种或多种。

根据本申请的第一方面的第十四kv存储设备,提供了根据本申请第一方面的第十五kv存储设备,数据源标识符指示kv存储设备所耦合的数据源。

根据本申请的第一方面的第十五kv存储设备,提供了根据本申请第一方面的第十六kv存储设备,数据源为摄像头,以及同摄像头采集的视频数据相关的特征信息被存储在kv存储设备中。

根据本申请的第一方面的第十六kv存储设备,提供了根据本申请第一方面的第十七kv存储设备,特征信息包括视频采集时间、快照、视频中出现的物体中的一种或多种。

根据本申请的第一方面的第十四kv存储设备,提供了根据本申请第一方面的第十八kv存储设备,计算设备标识符用于指示kv存储设备作为计算设备所具有的计算能力。

根据本申请的第一方面的第十八kv存储设备,提供了根据本申请第一方面的第十九kv存储设备,根据计算设备标识符,得到kv存储设备适合运行的一个或多个应用。

根据本申请的第一方面的第十四kv存储设备,提供了根据本申请第一方面的第二十kv存储设备,访问权限标识符用于指示该kv存储设备或其上的一个或多个应用的可被哪些用户或设备使用。

根据本申请的第一方面的第一至第二十kv存储设备之一,提供了根据本申请第一方面的第二十一kv存储设备,响应于接收区域服务器发送的查询请求,管理应用程序识别处理处理查询请求所使用的应用程序信息。

根据本申请的第一方面的第一至第二十kv存储设备之一,提供了根据本申请第一方面的第二十二kv存储设备,响应于接收区域服务器发送的查询请求,kv存储设备的应用程序处理查询请求,并生成键,从kv存储设备中获取同键对应的值作为查询结果,并将查询结果返回区域服务器。

根据本申请的第一方面的第二十二kv存储设备,提供了根据本申请第一方面的第二十三kv存储设备,应用程序从值中获取存储原始数据的地址,获取原始数据,并对原始数据根据查询请求而进一步处理,将进一步处理的结果也提供给区域服务器。

根据本申请的第一方面的第一至第二十kv存储设备之一,提供了根据本申请第一方面的第二十四kv存储设备,响应于接收区域服务器发送的查询请求,kv存储设备的管理应用程序将kv存储设备上运行的应用程序信息发送给区域服务器,以告知区域服务器kv存储设备处理查询请求的能力。

根据本申请的第一方面的第一至第二十四kv存储设备之一,提供了根据本申请第一方面的第二十五kv存储设备,响应于接收区域服务器发送的查询请求,若kv存储设备因缺乏应用程序而无法处理查询请求,kv存储设备的管理应用程序还接收区域服务器的指示,更新并运行更新后的应用程序。

根据本申请的第一方面的第一至第二十五kv存储设备之一,提供了根据本申请第一方面的第二十六kv存储设备,响应于区域服务器查询kv存储设备的计算能力和/或计算负载,kv存储设备的管理应用程序还将自身的计算能力和/或计算负载发送给区域服务器。

根据本申请的第一方面的第一至第二十六kv存储设备之一,提供了根据本申请第一方面的第二十七kv存储设备,响应于自身计算能力不足,kv存储设备的管理应用程序还请求区域服务器重新生成查询请求,并发送给其他kv存储设备。

根据本申请的第一方面的第一至第二十七kv存储设备之一,提供了根据本申请第一方面的第二十八kv存储设备,响应于接收区域服务器发送的查询请求提供的键,kv存储设备将同键对应的值提供给区域服务器。

根据本申请的第一方面的第一至第二十八kv存储设备之一,提供了根据本申请第一方面的第二十九kv存储设备,响应于接收区域服务器发送的查询请求,第一kv存储设备的第一应用程序处理查询请求,并生成第一键,第一应用程序识别出第一kv存储设备中不包含与第一键相对应的值,第一应用程序生成第一计算请求,在同第一应用程序耦合的计算设备中获取与第一键对应的查询结果,并将查询结果返回区域服务器。

根据本申请的第一方面的第二十九kv存储设备,提供了根据本申请第一方面的第三十kv存储设备,在同第一应用程序耦合的计算设备拒绝第一计算请求时,第一应用程序向区域服务器查询可处理第一计算请求的资源。

根据本申请的第一方面的第三十kv存储设备,提供了根据本申请第一方面的第三十一kv存储设备,响应于区域服务器向第一应用程序告知可使用第二计算设备处理第一计算请求时,第一应用程序指示第二计算设备处理第一计算请求,并接收第二计算设备提供的与第一键对应的查询结果,并将查询结果返回区域服务器。

根据本申请的第一方面的第一至第三十一kv存储设备之一,提供了根据本申请第一方面的第三十二kv存储设备,kv存储设备的应用程序生成计算请求,将计算请求发送给与kv存储设备耦合的计算设备以指示计算设备根据kv存储设备被写入的数据计算第一信息,并从计算设备中获取第一信息。

根据本申请的第一方面的第一至第三十二kv存储设备之一,提供了根据本申请第一方面的第三十三kv存储设备,响应于接收客户端发起的业务请求,kv存储设备通过自身存储的值的结构化信息获取原始数据的存储位置,kv存储设备的第二应用程序加载原始数据并分析,并将分析结果返回给客户端。

根据本申请的第一方面的第三十三kv存储设备,提供了根据本申请第一方面的第三十四kv存储设备,响应于kv存储设备无法运行第二应用程序,kv存储设备访问与其临近的一个或多个第三计算设备,并指示第三计算设备加载原始数据并分析,并获取第三计算设备的分析结果。

根据本申请的第一方面的第三十三kv存储设备,提供了根据本申请第一方面的第三十五kv存储设备,响应于kv存储设备尚未被安装处理业务请求的第二应用程序,kv存储设备向应用分发服务器请求第二应用程序。

根据本申请的第一方面的第一至第三十五kv存储设备之一,提供了根据本申请第一方面的第三十六kv存储设备,响应于接收客户端发起的业务请求,kv存储设备访问计算设备查询服务器,以获得能够处理业务请求的一个或多个计算设备,并选择可用的计算设备发出业务请求,以及从选择的计算设备接收处理结果,并将处理结果提供给客户端。

根据本申请的第一方面的第一至第三十五kv存储设备之一,提供了根据本申请第一方面的第三十七kv存储设备,响应于接收客户端发起的业务请求,kv存储设备在网络中广播请求,询问与其临近的网络中的哪些计算设备能响应该业务请求,并向选择响应广播请求的计算设备之一发出业务请求,以及从选择的计算设备接收处理结果,并将处理结果提供给客户端。

根据本申请的第二方面,提供了根据本申请第二方面的第一存储系统,包括:通过网络耦合的客户端、区域服务器、根服务器与提供资源的资源,资源包括存储设备,存储设备包括kv存储设备。

根据本申请的第二方面的第一存储系统,提供了根据本申请第二方面的第二存储系统,耦合到网络的客户端、区域服务器与根服务器各自可以有一个或多个。

根据本申请的第二方面的第一或第二存储系统,提供了根据本申请第二方面的第三存储系统,客户端向其所在区域的区域服务器发起业务请求,并接收区域服务器提供的响应。

根据本申请的第二方面的第一至第三存储系统之一,提供了根据本申请第二方面的第四存储系统,客户端向根服务器请求可用的区域服务器。

根据本申请的第二方面的第一至第四存储系统之一,提供了根据本申请第二方面的第五存储系统,根服务器记录了各个区域可用的区域服务器,以及根据客户端的业务请求识别客户端所属的区域。

根据本申请的第二方面的第一存储系统,提供了根据本申请第二方面的第六存储系统,客户端向相关联的资源发起业务请求。

根据本申请的第二方面的第六存储系统,提供了根据本申请第二方面的第七存储系统,同客户端/用户关联的私有资源,仅能被指定的客户端/用户访问。

根据本申请的第二方面的第七存储系统,提供了根据本申请第二方面的第八存储系统,根据从客户端访问私有资源所经的网络跳数评价客户端与私有资源的距离。

根据本申请的第二方面的第一至第八存储系统之一,提供了根据本申请第二方面的第九存储系统,资源还包括数据采集设备和计算设备。

根据本申请的第二方面的第九存储系统,提供了根据本申请第二方面的第十存储系统,数据采集设备包括摄像头、传感器中的一种或多种。

根据本申请的第二方面的第九或第十存储系统,提供了根据本申请第二方面的第十一存储系统,计算设备包括计算机、服务器或运行在kv存储设备中的应用程序。

根据本申请的第二方面的第十或第十一存储系统,提供了根据本申请第二方面的第十二存储系统,数据采集设备包括数据源标识符、数据采集设备属性、位置属性、访问权限标识符中的一种或多种。

根据本申请的第二方面的第十二存储系统,提供了根据本申请第二方面的第十三存储系统,数据源标识符唯一标识数据采集设备。

根据本申请的第二方面的第十二存储系统,提供了根据本申请第二方面的第十四存储系统,数据采集设备属性指示该数据采集设备的类型、ip地址中的一种或多种。

根据本申请的第二方面的第十二存储系统,提供了根据本申请第二方面的第十五存储系统,位置属性标识数据采集设备所在的地理位置。

根据本申请的第二方面的第十二存储系统,提供了根据本申请第二方面的第十六存储系统,具有计算能力的数据采集设备还具有计算设备标识符。

根据本申请的第二方面的第十六存储系统,提供了根据本申请第二方面的第十七存储系统,根据计算设备标识符,得到数据采集设备适合运行的一个或多个应用。

根据本申请的第二方面的第十二至第十七存储系统之一,提供了根据本申请第二方面的第十八存储系统,访问权限标识符用于指示数据采集可被哪些用户或设备使用。

根据本申请的第二方面的第九至第十八存储系统之一,提供了根据本申请第二方面的第十九存储系统,计算设备包括计算设备标识符和已安装的应用程序标识符。

根据本申请的第二方面的第十九存储系统,提供了根据本申请第二方面的第二十存储系统,计算设备还包括访问权限标识符。

根据本申请的第二方面的第十九或第二十存储系统,提供了根据本申请第二方面的第二十一存储系统,计算设备标识符用于在网络上唯一识别该计算设备,并指示计算设备所具有的计算能力。

根据本申请的第二方面的第十九至第二十一存储系统之一,提供了根据本申请第二方面的第二十二存储系统,已安装的应用程序标识符指示该计算设备上已安装或可提供服务的应用程序。

根据本申请的第二方面的第一至第二十二存储系统之一,提供了根据本申请第二方面的第二十三存储系统,区域服务器提供符合指定条件的数据采集设备的查找服务、符合指定条件的存储设备的查找服务、符合指定条件的计算设备的查找服务、各种资源的注册服务;计算设备的应用程序的更新服务中的一种或多种。

根据本申请的第二方面的第一至第二十三存储系统之一,提供了根据本申请第二方面的第二十四存储系统,区域服务器根据收到的业务请求,分发查询请求。

根据本申请的第二方面的第二十四存储系统,提供了根据本申请第二方面的第二十五存储系统,区域服务器发送查询请求给各kv存储设备,也将处理查询请求所使用的应用程序信息发送给kv存储设备。

根据本申请的第二方面的第二十四或第二十五存储系统,提供了根据本申请第二方面的第二十六存储系统,kv存储设备的应用程序处理查询请求,并生成键,从kv存储设备中获取同键对应的值作为查询结果,并将查询结果返回区域服务器。

根据本申请的第二方面的第二十四至第二十六存储系统之一,提供了根据本申请第二方面的第二十七存储系统,应用程序从值中获取原始数据,并对原始数据根据查询请求而进一步处理,将处理结果也作为处理结果。

根据本申请的第二方面的第二十四至第二十七存储系统之一,提供了根据本申请第二方面的第二十八存储系统,区域服务器汇总从各个kv存储设备获得的查询结果,把最终结果提供给客户端作为对业务请求的响应。

根据本申请的第二方面的第二十四至第二十八存储系统之一,提供了根据本申请第二方面的第二十九存储系统,区域服务器向kv存储设备发送查询请求前,还查询kv存储设备运行的应用程序,以获知kv存储设备能否处理查询请求。

根据本申请的第二方面的第二十四至第二十九存储系统之一,提供了根据本申请第二方面的第三十存储系统,若kv存储设备因缺乏应用程序而无法处理查询请求,区域服务器还指示kv存储设备更新并并行更新后的应用程序。

根据本申请的第二方面的第二十四至第三十存储系统之一,提供了根据本申请第二方面的第三十一存储系统,区域服务器也查询kv存储设备的计算能力和/或计算负载,根据kv存储设备的计算能力和/或计算负载,将查询请求发送给恰当的kv存储设备。

根据本申请的第二方面的第二十四至第三十一存储系统之一,提供了根据本申请第二方面的第三十二存储系统,kv存储设备响应于自身计算能力不足,还请求区域服务器重新生成查询请求,并发送给其他kv存储设备。

根据本申请的第三方面,提供了根据本申请第三方面的第一存储系统实施的方法,包括:客户端向区域服务器发起业务请求;区域服务器根据接收的业务请求,向同业务请求对应的资源发出查询请求;

资源将查询到的信息提供给区域服务器作为对查询请求的响应;区域服务器将整理后的信息提供给客户端作为对业务请求的响应。

根据本申请的第三方面的第一存储系统实施的方法,提供了根据本申请第三方面的第二存储系统实施的方法,客户端直接向区域服务器发出业务请求。

根据本申请的第三方面的第一存储系统实施的方法,提供了根据本申请第三方面的第三存储系统实施的方法,客户端向根服务器发出请求以查询其可用的区域服务器。

根据本申请的第三方面的第一至第三存储系统实施的方法之一,提供了根据本申请第三方面的第四存储系统实施的方法,区域服务器根据接收的业务请求,识别出有能力响应业务请求的第一采集设备,向同第一采集设备耦合的存储设备发出查询请求。

根据本申请的第三方面的第四存储系统实施的方法,提供了根据本申请第三方面的第五存储系统实施的方法,区域服务器根据业务请求生成用于访问kv存储设备的键。

根据本申请的第三方面的第四或第五存储系统实施的方法,提供了根据本申请第三方面的第六存储系统实施的方法,区域服务器将服务请求提供给ai单元,并根据ai单元的一个或多个节点的值生成键。

根据本申请的第三方面的第五或第六存储系统实施的方法,提供了根据本申请第三方面的第七存储系统实施的方法,响应于接收到区域服务器提供的键,kv存储设备将同键对应的值提供给区域服务器。

根据本申请的第三方面的第七存储系统实施的方法,提供了根据本申请第三方面的第八存储系统实施的方法,区域服务器将值提供给客户端作为对业务请求的处理结果。

根据本申请的第三方面的第四存储系统实施的方法,提供了根据本申请第三方面的第九存储系统实施的方法,区域服务器将查询请求发送给kv存储设备上运行的应用程序。

根据本申请的第三方面的第九存储系统实施的方法,提供了根据本申请第三方面的第十存储系统实施的方法,查询请求指示了要使用的应用程序。

根据本申请的第三方面的第九或第十存储系统实施的方法,提供了根据本申请第三方面的第十一存储系统实施的方法,应用程序根据查询请求对kv存储设备存储的数据进行处理。

根据本申请的第三方面的第十一存储系统实施的方法,提供了根据本申请第三方面的第十二存储系统实施的方法,应用程序根据查询请求生成键,使用键从kv存储设备得到对应的值,并提供给区域服务器作为对查询请求的响应。

根据本申请的第三方面的第四至第十二存储系统实施的方法之一,提供了根据本申请第三方面的第十三存储系统实施的方法,区域服务器向多个kv存储设备发出查询请求,并接收多个kv存储设备输出的同键对应的值。

根据本申请的第三方面的第十三存储系统实施的方法,提供了根据本申请第三方面的第十四存储系统实施的方法,区域服务器将多个值对应的多份结构化信息展示在一个页面中。

根据本申请的第三方面的第九至第十一存储系统实施的方法之一,提供了根据本申请第三方面的第十五存储系统实施的方法,区域服务器响应于客户端的业务请求,将查询请求发送给第一kv存储设备的第一应用程序。

根据本申请的第三方面的第十五存储系统实施的方法,提供了根据本申请第三方面的第十六存储系统实施的方法,第一kv存储设备的第一应用程序根据查询请求生成键,识别出第一kv存储设备中不存在对应的值,第一应用程序生成计算请求,并指示同其耦合的第一计算设备对同第一kv存储设备关联的原始数据进行分析,得到同键对应的第一结构化信息,并提供给第一kv存储设备的第一应用程序。

根据本申请的第三方面的第十六存储系统实施的方法,提供了根据本申请第三方面的第十七存储系统实施的方法,第一kv存储设备的第一应用程序将第一结构化信息提供给区域服务器作为对查询请求的响应。

根据本申请的第三方面的第十六或第十七存储系统实施的方法,提供了根据本申请第三方面的第十八存储系统实施的方法,在等待第一计算设备处理计算请求期间,第一kv存储设备还告知区域服务器等待一段时间。

根据本申请的第三方面的第十五存储系统实施的方法,提供了根据本申请第三方面的第十九存储系统实施的方法,第一kv存储设备的第一应用程序生成第一计算请求,指示同其耦合的第一计算设备处理第一计算请求。

根据本申请的第三方面的第十九存储系统实施的方法,提供了根据本申请第三方面的第二十存储系统实施的方法,若第一计算设备拒绝了第一计算请求,第一kv存储设备的第一应用程序向区域服务器查询可处理第一计算请求的资源。

根据本申请的第三方面的第十九或第二十存储系统实施的方法,提供了根据本申请第三方面的第二十一存储系统实施的方法,区域服务器响应于第一应用程序的请求,告知第一应用程序使用第二计算设备来处理第一计算请求,并向第一应用程序提供第二计算设备的信息。

根据本申请的第三方面的第十九至第二十一存储系统实施的方法之一,提供了根据本申请第三方面的第二十二存储系统实施的方法,第一kv存储设备的第一应用程序根据区域服务器的指示,请求第二计算设备处理第一计算请求。

根据本申请的第三方面的第二十二存储系统实施的方法,提供了根据本申请第三方面的第二十三存储系统实施的方法,第一kv存储设备还通知区域服务器等待一段时间。

根据本申请的第三方面的第十九至第二十三存储系统实施的方法之一,提供了根据本申请第三方面的第二十四存储系统实施的方法,第二计算设备处理第一计算请求,并将处理结果提供给第一kv存储设备的第一应用程序。

根据本申请的第三方面的第十九至第二十四存储系统实施的方法之一,提供了根据本申请第三方面的第二十五存储系统实施的方法,第一应用程序将收到的处理结果与查询请求对应的结构化信息提供给区域服务器作为对查询请求的响应。

根据本申请的第三方面的第十九存储系统实施的方法,提供了根据本申请第三方面的第二十六存储系统实施的方法,第一计算设备向区域服务器请求安装第二应用程序。

根据本申请的第三方面的第二十六存储系统实施的方法,提供了根据本申请第三方面的第二十七存储系统实施的方法,响应于第一计算设备的请求,区域服务器将第二应用程序发送给第一计算设备。

根据本申请的第三方面的第二十六或第二十七存储系统实施的方法,提供了根据本申请第三方面的第二十八存储系统实施的方法,第一计算设备运行所接收的第二应用程序来处理第一计算请求,并将第一计算请求的处理结果提供给第一应用程序。

根据本申请的第三方面的第十五存储系统实施的方法,提供了根据本申请第三方面的第二十九存储系统实施的方法,第一kv存储设备的第一应用程序将第二计算请求发送给同第一kv存储设备关联的第一计算设备,第二计算请求中指示了第一结构化数据的原始数据的存储位置以及添加第一信息的请求。

根据本申请的第三方面的第二十九存储系统实施的方法,提供了根据本申请第三方面的第三十存储系统实施的方法,第一计算设备响应于收到计算请求,对第一结构化数据的原始数据进行分析,得到第一信息并提供给第一应用程序。

根据本申请的第三方面的第二十九或第三十存储系统实施的方法,提供了根据本申请第三方面的第三十一存储系统实施的方法,还将第一信息相关的视频画面的截图和/或截图出现的时间提供给第一应用程序。

根据本申请的第三方面的第二十九至第三十一存储系统实施的方法之一,提供了根据本申请第三方面的第三十二存储系统实施的方法,第一计算设备为处理计算请求,还请求区域服务器提供第二应用程序,并运行第二应用程序来从第一结构化数据中提取第一信息。

根据本申请的第三方面的第十五存储系统实施的方法,提供了根据本申请第三方面的第三十三存储系统实施的方法,区域服务器向一个或多个计算设备广播查询请求,以获取各计算设备是否满足运行第三应用程序的条件。

根据本申请的第三方面的第三十三存储系统实施的方法,提供了根据本申请第三方面的第三十四存储系统实施的方法,查询请求还询问各计算设备是否已安装了第三应用程序和/或已安装的第三应用程序的版本。

根据本申请的第三方面的第三十三或第三十四存储系统实施的方法,提供了根据本申请第三方面的第三十五存储系统实施的方法,根据各计算设备对查询请求的应答,区域服务器将第三应用程序发送给第三计算设备并指示其安装第三应用程序。

根据本申请的第三方面的第三十三至第三十五存储系统实施的方法之一,提供了根据本申请第三方面的第三十六存储系统实施的方法,由第三计算设备发起第三应用程序更新过程。

根据本申请的第四方面,提供了根据本申请第四方面的第一存储系统实施的方法,包括:客户端向kv存储设备发起第一业务请求;kv存储设备根据接收的第一业务请求,为客户端提供对第一业务请求的响应。

根据本申请的第四方面的第一存储系统实施的方法,提供了根据本申请第四方面的第二存储系统实施的方法,第一业务请求指示查询第一数据采集设备的第一信息。

根据本申请的第四方面的第一或第二存储系统实施的方法,提供了根据本申请第四方面的第三存储系统实施的方法,客户端识别第一数据采集设备关联到所述kv存储设备,从而向所述kv存储设备发出第一业务请求。

根据本申请的第四方面的第一至第三存储系统实施的方法之一,提供了根据本申请第四方面的第四存储系统实施的方法,kv存储设备根据接收的第一业务请求,通过自身的kv存储的值获取第一数据采集设备在指定时间内采集的第一数据的存储位置,加载第一数据,将第一数据的分析结果,作为对客户端的第一业务请求的响应。

根据本申请的第四方面的第一至第四存储系统实施的方法之一,提供了根据本申请第四方面的第五存储系统实施的方法,kv存储设备运行第一应用程序分析第一数据。

根据本申请的第四方面的第一至第四存储系统实施的方法之一,提供了根据本申请第四方面的第六存储系统实施的方法,kv存储设备访问与其临近的一个或多个第五计算设备,并指示第五计算设备分析第一数据。

根据本申请的第四方面的第六存储系统实施的方法,提供了根据本申请第四方面的第七存储系统实施的方法,第五计算设备将分析结果。

根据本申请的第四方面的第一至第四存储系统实施的方法之一,提供了根据本申请第四方面的第八存储系统实施的方法,kv存储设备向应用分发服务器请求能够分析第一数据的第一应用程序。

根据本申请的第四方面的第八存储系统实施的方法,提供了根据本申请第四方面的第九存储系统实施的方法,应用分发服务器响应于请求将第一应用程序发送给kv存储设备,并在kv存储设备上安装并运行第一应用程序。

根据本申请的第四方面的第八或第九存储系统实施的方法,提供了根据本申请第四方面的第十存储系统实施的方法,kv存储设备所请求的第一计算设备,通过应用分发服务器安装第一应用程序。

根据本申请的第四方面的第一或第二存储系统实施的方法,提供了根据本申请第四方面的第十一存储系统实施的方法,客户端向其能访问到的任何kv存储设备发起第一业务请求。

根据本申请的第四方面的第十一存储系统实施的方法,提供了根据本申请第四方面的第十二存储系统实施的方法,kv存储设备访问计算设备查询服务器,以获得能够处理第一业务请求的一个或多个计算设备。

根据本申请的第四方面的第十一或第十二存储系统实施的方法,提供了根据本申请第四方面的第十三存储系统实施的方法,计算设备查询服务器是kv存储设备中的应用程序、网络中临近于该kv存储设备部署的计算设备、或应用分发服务器中的一种或多种。

根据本申请的第四方面的第十一至第十三存储系统实施的方法之一,提供了根据本申请第四方面的第十四存储系统实施的方法,计算设备查询服务器在网络中广播请求,询问与其临近的网络中的哪些计算设备能响应第一业务请求。

根据本申请的第四方面的第十一至第十四存储系统实施的方法之一,提供了根据本申请第四方面的第十五存储系统实施的方法,请求被广播的范围限于同计算设备查询服务器临近的计算设备。

根据本申请的第四方面的第十一至第十五存储系统实施的方法之一,提供了根据本申请第四方面的第十六存储系统实施的方法,第六计算设备与第七计算设备响应于广播请求向计算设备查询服务器给出应答,指示其可以处理第一业务请求或查询请求。

根据本申请的第四方面的第十六存储系统实施的方法,提供了根据本申请第四方面的第十七存储系统实施的方法,计算设备查询服务器将第六计算设备与第七计算设备作为可用的计算设备资源提供给kv存储设备。

根据本申请的第四方面的第十一至第十七存储系统实施的方法之一,提供了根据本申请第四方面的第十八存储系统实施的方法,kv存储设备选择可用的计算设备之一,并向选择的计算设备发出第一业务请求或查询请求,以及从选择的计算设备接收处理结果,并将处理结果提供给客户端。

根据本申请的第四方面的第十一至第十七存储系统实施的方法之一,提供了根据本申请第四方面的第十九存储系统实施的方法,kv存储设备选择可用的计算设备之一,并向选择的计算设备发出第一业务请求或查询请求,以及从选择的计算设备接收处理结果,并将处理结果提供给客户端。

根据本申请的第四方面的第十一存储系统实施的方法,提供了根据本申请第四方面的第二十存储系统实施的方法,kv存储设备的应用程序响应于雾计算客户端的第一业务请求,在网络中广播请求,询问与其临近的网络中的哪些计算设备能响应第一业务请求。

根据本申请的第四方面的第二十存储系统实施的方法,提供了根据本申请第四方面的第二十一存储系统实施的方法,kv存储设备在距其1跳的网络范围内广播请求。

根据本申请的第四方面的第二十或第二十一存储系统实施的方法,提供了根据本申请第四方面的第二十二存储系统实施的方法,响应于广播请求,第八计算设备与第九计算设备都向kv存储设备给出应答,各自向kv存储设备指示其可以处理查询请求。

根据本申请的第四方面的第二十至第二十二存储系统实施的方法之一,提供了根据本申请第四方面的第二十三存储系统实施的方法,第八计算设备与第九计算设备还以各自为起点,距离1跳网络距离内转发广播请求。

根据本申请的第四方面的第二十至第二十三存储系统实施的方法之一,提供了根据本申请第四方面的第二十四存储系统实施的方法,第十计算设备与第十一计算设备接收到所转发的网络请求,响应于广播请求,第十计算设备与第十一计算设备都向kv存储设备给出应答,各自向kv存储设备指示其可以处理查询请求。

根据本申请的第四方面的第二十至第二十四存储系统实施的方法之一,提供了根据本申请第四方面的第二十五存储系统实施的方法,广播请求被传播的范围,被限制为从kv存储设备开始的2跳网络距离,从而第十计算设备与第十一计算设备不再对广播请求进行转发。

根据本申请的第四方面的第一至第二十五存储系统实施的方法之一,提供了根据本申请第四方面的第二十六存储系统实施的方法,kv存储设备响应于收到计算设备的应答,选择由第八计算设备处理查询请求,并就选择结果告知第八计算设备。

根据本申请的第四方面的第二十六存储系统实施的方法,提供了根据本申请第四方面的第二十七存储系统实施的方法,kv存储设备还将拒绝使用第九计算设备、第十计算设备与第十一计算设备的选择结果分别告知第九计算设备、第十计算设备与第十一计算设备。

根据本申请的第四方面的第一至第二十七存储系统实施的方法之一,提供了根据本申请第四方面的第二十八存储系统实施的方法,kv存储设备向选择的第八计算设备发出查询请求,以及从选择的第八计算设备接收处理结果,并将处理结果提供给客户端。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。

图1a是现有技术中固态存储设备的框图;

图1b展示了现有技术的固态存储设备的地址转换系统的示意图;

图2是根据本申请实施例的kv存储设备的示意图;

图3是根据本申请实施例的存储系统的示意图;

图4a是根据本申请实施例的存储系统实施云计算的流程图;

图4b是根据本申请又一实施例的存储系统实施云计算的流程图;

图4c是根据本申请另一实施例的存储系统实施云计算的流程图;

图4d是根据本申请再一实施例的存储系统实施云计算的流程图;

图4e是根据本申请依然又一实施例的存储系统实施云计算的流程图;

图4f是根据本申请依然另一实施例的存储系统实施云计算的流程图;

图5a是根据本申请实施例的存储系统实施雾计算的流程图;

图5b是根据本申请又一实施例的存储系统实施雾计算的流程图;

图5c是根据本申请依然又一实施例的存储系统实施雾计算的流程图。

具体实施方式

下面结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

实施例一

图2是根据本申请实施例的kv存储设备的示意图。

kv存储设备的包括主机接口210、kvftl单元240、存储管理单元260、cpu子系统230、加速器单元250、错误校验单元270与用于访问nvm芯片105的介质接口220。

主机接口210用于同主机交换命令与数据。在一个例子中,主机与存储设备通过nvme/pcie协议通信,主机接口210处理pcie协议数据包,提取出nvme协议命令,并向主机返回nvme协议命令的处理结果。通过主机接口210,主机还访问一个或多个应用程序280。应用程序280运行在cpu子系统230中的一个或多个cpu中。应用程序280提供例如数值计算、关键词检索、图像特征提取等多种能力。应用程序280的处理结果通过主机接口210提供给主机。作为举例,主机与应用程序280通过私有命令或者nvme协议的扩展命令通信。依然可选地,应用程序280还包括管理应用程序。管理应用程序接收外部命令,来更新应用程序、开启应用程序、停止应用程序和/或查询kv存储设备上可用的应用程序。管理应用程序还响应于外部命令,而提供用于通过网络唯一识别与访问kv存储设备的kv存储设备标识符(id)。

主机接口210还将kv存储设备耦合到网络,例如通过以太网、无线以太网、光纤通道耦合到网络。

存储管理单元260耦合到主机接口210,用于接收主机发送给存储设备的io命令,并尽力服务所接收的io命令。存储管理单元260写命令中的数据通过介质接口220写入nvm存储介质,和/或从nvm存储介质读出数据以响应读命令。存储管理单元260还对nvm存储介质实施管理,提供磨损均衡、垃圾回收等服务。

kvftl单元240通过使用诸如图1b展示的ftl表,将访问存储设备的键(k)转换为指示物理地址或逻辑地址的值(v),并根据值(v)访问nvm存储介质。

错误校验单元270是例如bch、ldpc编解码器,用于对写入nvm存储介质的数据进行错误校验编码,以及对从nvm存储介质读出的数据进行错误校验解码。

kvftl单元240、存储管理单元260、一个或多个应用程序280例如被实现为固件并运行在cpu子系统230中。

加速器单元250包括一种或多种硬件加速器,例如,ai处理器、多媒体处理器、链表/树结构访问加速器等。加速器单元250被运行在cpu子系统230中的kvftl单元240、存储管理单元260、一个或多个应用程序280等访问并使用。

可选地,kv存储设备还包括数据源标识符、计算设备标识符、访问权限标识等。数据源标识符指示kv存储设备所耦合的数据源,例如,摄像头,同摄像头采集的视频数据相关的特征信息(视频采集时间、快照、视频中出现的物体等)被存储在该kv存储设备。计算设备标识符用于指示kv存储设备作为计算设备所具有的计算能力,例如,具备通用cpu的kv存储设备能够处理一般应用,具有ai加速器的kv存储设备能够处理与ai相关的应用、具有压缩/解压缩加速器的kv存储设备能够处理数据压缩/解压缩应用。根据计算设备标识符,得到kv存储设备适合运行的一个或多个应用。访问权限标识符用于指示该kv存储设备或其上的一个或多个应用的可被哪些用户或设备使用。

实施例二

图3是根据本申请实施例的存储系统的示意图。

根据本申请实施例的存储系统用于提供面向物联网的云计算和/或雾计算(也称为边缘计算(edgecomputing)),包括通过网络耦合的客户端、区域服务器、根服务器与提供资源的资源。

耦合到网络的客户端、区域服务器与根服务器各自可以有一个或多个。在一种模式下,用户通过客户端向其所在区域的区域服务器发起业务请求,并接收区域服务器提供的响应。区域服务器可访问全网的公共资源以响应业务请求。可选地,客户端向根服务器请求其可用的区域服务器。根服务器记录了各个区域可用的区域服务器,以及根据客户端的业务请求识别客户端所属的区域。

作为另一种模式,用户通过客户端访问同用户或客户端相关联的资源,例如,访问用户所拥有的kv存储设备,或者被设置于用户家中的摄像头。客户端直接向相关联的资源发起业务请求,而不经过区域服务器。同客户端/用户关联的资源是私有的,仅能被指定的客户端/用户访问。例如,私有资源仅能被其所属的用户及其客户端访问,和/或仅能与其临近的客户端访问。作为举例,根据从客户端访问私有资源所经的网络跳数评价客户端与私有资源的距离。

资源包括多种,例如,数据采集设备(摄像头、传感器)、存储设备(如图2所示的kv存储设备)、计算设备(计算机、服务器或运行在如图2所示的kv存储设备中的应用程序)等。一些数据采集资源也作为计算设备和/或存储设备。一些存储设备(如图2所示的kv存储设备)也通过运营的应用程序作为计算设备。一些存储设备仅作为存储设备。

各种资源可响应请求。例如,数据采集设备包括数据源标识符、数据采集设备属性、位置属性、可选地计算设备标识符与访问权限标识符等。数据源标识符唯一标识数据采集设备。数据采集设备属性指示该数据采集设备的类型(例如摄像头、温度传感器、gps定位设备等)、ip地址等。位置属性标识数据采集设备所在的地理位置。对于具有计算能力(例如,可运行应用程序)的数据采集设备还具有计算设备标识符。根据计算设备标识符,得到数据采集设备适合运行的一个或多个应用。访问权限标识符用于指示数据采集可被哪些用户或设备使用。

计算设备包括计算设备标识符、已安装的应用程序标识符与可选地访问权限标识符。计算设备标识符用于在网络上唯一识别该计算设备,并指示计算设备所具有的计算能力(以指示该计算设备可运行哪个或哪些应用程序),已安装的应用程序标识符指示该计算设备上已安装或可提供服务的应用程序。

区域服务器提供多种服务,例如,符合指定条件的数据采集设备的查找,符合指定条件的存储设备的查找,符合指定条件的计算设备的查找,各种资源的注册服务;计算设备的应用程序的更新服务。区域服务器还提供符合指定条件的业务请求的处理,例如从视频或图像中查找符合指定条件的人物/物品,跟踪指定人物/车辆,绘制指定任务/车辆的运行轨迹,统计符合指定条件的人物/物品出现次数等。

区域服务器根据收到的业务请求,采用例如映射-规约(map-reduce)方式分发查询请求。例如,业务请求指示查找指定时间段内指定区域内具有指定特征的人物,区域服务器根据自己的数据库,获得指定区域内所有摄像头资源,根据各个摄像头资源,获取同摄像头资源对应的kv存储设备。区域服务器发送查询请求给各kv存储设备,也将处理查询请求所使用的应用程序信息发送给kv存储设备。kv存储设备的应用程序处理查询请求,并生成键(k),从本地存储中获取同键(k)对应的值(v)作为查询结果,并将查询结果返回区域服务器。可选地或进一步地,应用程序从值(v)中获取原始数据,并对原始数据根据查询请求而进一步处理,将处理结果也作为处理结果。区域服务器汇总从各个kv存储设备获得的查询结果,把最终结果提供给客户端作为对业务请求的响应。

可选地,区域服务器向kv存储设备发送查询请求前,还查询kv存储设备运行的应用程序,以获知kv存储设备能否处理查询请求。若kv存储设备因缺乏应用程序而无法处理查询请求,区域服务器还指示kv存储设备更新并并行更新后的应用程序。区域服务器也查询kv存储设备的计算能力和/或计算负载,根据kv存储设备的计算能力和/或计算负载,将查询请求发送给恰当的kv存储设备。

可选地,kv存储设备响应于自身计算能力不足,还请求区域服务器重新生成查询请求,并发送给其他kv存储设备。

可选地,区域服务器具有较大的权限,并可使用存储系统中的全部资源。

实施例三

图4a是根据本申请实施例的存储系统实施云计算的流程图。

如图4a所示,客户端向区域服务器发起业务请求,例如,查询车牌为abc123的车辆在过去24小时在哪里出现。

客户端知晓为其服务的区域服务器,从而直接向区域服务器发出业务请求。可选地,区域服务器故障,客户端向根服务器发出请求以查询其可用的区域服务器。根服务器维护存储系统中所有可用的区域服务器,并更新所维护的区域服务器的状态,并向客户端指示其应当使用的区域服务器。

区域服务器根据接收的业务请求,向同业务请求对应的资源发出查询请求。例如,区域服务器识别客户端查询具有指定车牌的车辆,而向同摄像头耦合的kv存储设备发出查询请求。区域服务器根据业务请求利用指定的计算过程生成用于访问kv存储设备的键(k)。例如,区域服务器将服务请求提供给ai单元,并根据ai单元的一个或多个节点的值生成键(k)。

响应于接收到区域服务器提供的键(k),kv存储设备c将同键(k)对应的值(v)提供给区域服务器。当kv存储设备中记录了同查询请求对应的内容,值(v)是例如出现了车牌为abc123的车辆的视频的快照、原始视频的存储位置、快照被记录的时间等结构化信息。区域服务器将值(v)提供给客户端作为对业务请求的处理结果。

作为又一个例子,区域服务器将查询请求发送给kv存储设备上运行的应用程序。查询请求指示了要使用的应用程序。应用程序根据查询请求对kv存储设备存储的数据进行处理。例如,应用程序根据查询请求生成键(k),使用键(k)从kv存储设备得到对应的值(v),从值(v)获取原始视频数据的存储位置,并从该存储位置获取原始视频数据,对视频数据进行分析,得到其中出现了所查询的车牌为abc123的车辆的一幅或多幅视频截图,并附加上原始视频的存储位置、快照被记录的时间等结构化信息提供给区域服务器作为对查询请求的响应。

图4b是根据本申请又一实施例的存储系统实施云计算的流程图。在图4b中区域服务器向多个kv存储设备(kv存储设备c与kv存储设备d)发出查询请求(键(k)),并接收多个kv存储设备输出的同键(k)对应的值(v)。区域服务器还对接收的多个值(v)(同查询请求对应的结构化信息)进行整理,例如将多份结构化信息展示在一个页面中、删除重复信息、按相关性/时间先后排序等。区域服务器将整理后的多个值(v)提供给客户端以向用户展示。

图4c是根据本申请另一实施例的存储系统实施云计算的流程图。

如图4c所示,区域服务器响应于客户端的业务请求,将查询请求发送给kv存储设备c的应用程序a。kv存储设备的应用程序a识别出自身存储的值(v)中尚未包含车牌信息,应用程序a生成计算请求,并指示同其耦合的计算设备(例如,运行在kv存储设备中的另一应用程序b,或同kv存储设备耦合的服务器)对同kv存储设备关联的原始视频数据进行分析,得到其中出现了所查询的车牌为abc123的车辆的一幅或多幅视频截图,提供给kv存储设备(应用程序a)。kv存储设备(应用程序a)将获取的视频截图,附加上原始视频的存储位置、快照被记录的时间等结构化信息提供给区域服务器作为对查询请求的响应。

可选地,在等待计算设备处理计算请求期间,kv存储设备还告知区域服务器等待一段时间,kv存储设备需要一些时间来处理区域服务器的查询请求。

图4d是根据本申请再一实施例的存储系统实施云计算的流程图。

如图4d所示,图4d展示的实施例同图4c展示的实施例类似,差别在于,kv存储设备c的应用程序a生成计算请求,指示同其耦合的计算设备d处理计算请求。然而计算设备d因某种原因(例如,繁忙或缺乏进行相应处理的应用程序)拒绝了计算请求。作为响应,kv存储设备c的应用程序a向区域服务器查询可处理该计算请求的资源。区域服务器响应于应用程序a的请求,告知应用程序a可使用计算设备e来处理该计算请求,并向应用程序a提供计算设备e的计算设备标识符等信息。kv存储设备c的应用程序a根据区域服务器的指示,指示计算设备e处理计算请求,并且可选地,还通知区域服务器等待一段时间。计算设备e处理计算请求,将处理结果提供给kv存储设备c的应用程序a。应用程序a将收到的处理结果,附加上同查询请求对应的结构化信息提供给区域服务器作为对查询请求的响应。

可选地,计算设备d响应于收到来自应用程序a的计算请求。根据计算请求,计算设备d知晓其有能力处理该计算请求,但需要安装指定的应用程序a’。计算设备d向区域服务器请求安装应用程序a’,并通知应用程序a等待一段时间。响应于计算设备d的请求,区域服务器将应用程序a’发送给计算设备d。计算设备d运行所接收的应用程序a’来处理计算请求,并将计算请求的处理结果提供给应用程序a。

图4e是根据本申请依然又一实施例的存储系统实施云计算的流程图。

如图4e所示,kv存储设备c被写入了新的数据,例如,同摄像头新捕获的一段视频对应的键(k)与视频的结构化数据(值(v))。然而结构化数据中没有车牌信息。kv存储设备c的应用程序a希望在结构化数据中添加车牌信息,而将计算请求发送给同kv存储设备c关联的计算设备d,计算请求中指示了原始视频的存储位置以及从原始视频中提取车牌信息。计算设备d响应于收到计算请求,对原始视频数据进行分析,得到其中出现的车牌信息,以及可选地出现了车牌信息的视频画面的截图,将车牌信息、截图和/或截图出现的时间提供给应用程序a。

可选地,计算设备d为处理计算请求,还请求区域服务器提供应用程序a’,并运行应用程序a’来从原始视频数据中提取车牌信息。

图4f是根据本申请依然另一实施例的存储系统实施云计算的流程图。

一些情况下,具有特定功能的应用程序b被更新为应用程序b’,区域服务器将更新后的应用程序b’安装到同其耦合的计算设备。为运行应用程序b’,需要计算设备满足指定的条件(例如,具有ai加速器或压缩/解压缩加速器)。区域服务器向同其耦合的一个或多个计算设备(例如,计算设备a与计算设备b)广播查询请求,以获取各计算设备是否满足运行应用程序b’的条件。可选地,查询请求还询问各计算设备是否已安装了应用程序b’和/或已安装的应用程序b’的版本。如图4f所示,根据各计算设备对查询请求的应答,区域服务器知晓计算设备a能够安装应用程序b’,而计算设备b不能安装应用程序b’。从而区域服务器将应用程序b’发送给计算设备a并指示其安装应用程序b’,并且区域服务器通知计算设备b其将不安装应用程序b’。计算设备a还就应用程序b’安装完成向区域服务器提供确认指示,而计算设备b就不安装应用程序b’向区域服务器提供确认指示。

根据图4f的实施例,展示了由区域服务器发起的应用程序更新过程。可选地,由计算设备a或计算设备b发起应用程序更新过程。例如,计算设备向区域服务器请求安装新的应用程序;或者计算设备就其已安装的应用程序向区域服务器查询该应用程序的版本信息,并在需要时,请求区域服务器为其提供该应用程序的最新或指定版本并安装。

实施例四

雾计算的客户端维护自己的资源数据库,以知晓存储系统中有哪些资源可用于响应请求。可选地,雾计算客户端也使用存储系统提供的开放资源,并在自己的资源数据库中维护可用的开放资源。作为举例,商厦内的摄像头是私有资源,仅允许商厦的雾计算客户端访问,根据摄像头获取的视频数据而存储在kv存储设备中的结构化数据允许存储系统的所有用户/设备访问,而响应雾计算客户端发起的业务请求得到的计算结果(结论数据)是仅允许雾计算客户端访问。

作为又一个例子,kv存储设备在响应雾计算客户端发起的业务请求时,可使用其自己的存储与计算能力响应请求,也可使用与自身临近的私有资源(例如,在商厦内的kv存储设备与计算设备)。作为有一个例子,根据从kv存储设备访问私有资源所经的网络跳数评价kv存储设备与私有资源的距离。

图5a是根据本申请实施例的存储系统实施雾计算的流程图。

如图5a所示,雾计算客户端向kv存储系统发起业务请求,例如,查询摄像头c在过去24小时拍摄到的消费者人数。雾计算客户端从自身的数据库获取kv存储设备c关联于摄像头c,从而向kv存储设备c发出业务请求。

kv存储设备c根据接收的业务请求,通过自身的kv存储的值(v)的结构化信息获取摄像头c在过去24小时拍摄的原始视频数据的存储位置,加载原始视频数据并分析,识别原始视频数据中出现的人物并统计,作为对雾计算客户端的业务请求的响应。作为举例,kv存储设备c运行的应用程序a用于从视频中识别人物。在又一个例子中,kv存储设备c无法运行应用程序a,kv存储设备访问与其临近的一个或多个计算设备d,并指示计算设备d从原始视频数据中识别人物。计算设备d将识别结果提供给kv存储设备c。

在另一个例子中,kv存储设备c尚未被安装用于从视频中识别人物的应用程序。kv存储设备c向应用分发服务器请求用于从视频中识别人物的应用程序,或请求指定的应用程序a。应用分发服务器响应于请求将应用程序a发送给kv存储设备,并在kv存储设备上安装并运行应用程序a。kv存储设备c运行应用程序a来从原始视频数据中识别人物。在依然又一个例子中,kv存储设备所请求的计算设备d,通过应用分发服务器安装应用程序a。

作为举例,应用分发服务器是区域服务器(也参看图3)。或者,在临近于雾计算客户端的网络中部署应用分发服务器,用于为临近于雾计算客户端的网络中的各资源分发应用程序。应用分发服务器也作为数据库,提供资源查询服务。雾计算客户端从应用分发服务器获取可用的资源,以及资源的位置、属性、安装的应用程序等信息。

图5b是根据本申请又一实施例的存储系统实施雾计算的流程图。

如图5b所示,雾计算客户端向kv存储设备发起业务请求,例如,查询摄像头c在过去24小时拍摄到的消费者人数。雾计算客户端向其能访问到的任何kv存储设备发起业务请求(例如通过广播)。

接收到业务请求的kv存储设备,例如kv存储设备c,访问计算设备查询服务器,以获得能够处理该业务请求的一个或多个计算设备。计算设备查询服务器是例如kv存储设备中的应用程序、网络中临近于该kv存储设备c部署的计算设备、或应用分发服务器(也参看图5a)。

计算设备查询服务器在网络中广播请求,询问与其临近的网络中的哪些计算设备能响应该业务请求或从该业务请求产生的查询请求。请求被广播的范围限于同计算设备查询服务器临近的计算设备,从而避免请求广播请求在网络中洪泛。

继续参看图5b,计算设备1与计算设备2响应于广播请求向计算设备查询服务器给出应答,指示其可以处理业务请求或查询请求。计算设备查询服务器将计算设备1与计算设备2作为可用的计算设备资源提供给kv存储设备c。kv存储设备c选择可用的计算设备之一(例如,计算设备2),并向选择的计算设备发出业务请求或查询请求,以及从选择的计算设备接收处理结果,并将处理结果提供给雾计算客户端。

图5c是根据本申请依然又一实施例的存储系统实施雾计算的流程图。

图5c展示的实施例同图5b的实施例相似。区别在于省略了计算设备查询服务器。

如图5c所示,kv存储设备c的应用程序响应于雾计算客户端的业务请求,在网络中广播请求,询问与其临近的网络中的哪些计算设备能响应该业务请求或从该业务请求产生的查询请求。作为举例,kv存储设备c在距其1跳的网络范围内广播请求。参看图5c,计算设备3-1与计算设备3-2是同kv存储设备c距离在1跳网络距离内的计算设备,并接收到kv存储设备c的广播请求。

响应于广播请求,计算设备3-1与计算设备3-2都向kv存储设备c给出应答,各自向kv存储设备c指示其可以处理查询请求。计算设备3-1与计算设备3-2还以各自为起点,距离1跳网络距离内转发广播请求。计算设备4-1与计算设备4-2相距计算设备3-1或计算设备3-2的网络距离小于1跳,并接收到所转发的网络请求。响应于广播请求,计算设备4-1与计算设备4-2都向kv存储设备c给出应答,各自向kv存储设备c指示其可以处理查询请求。作为举例,广播请求被传播的范围,被限制为从kv存储设备c开始的2跳网络距离,从而计算设备4-1与计算设备4-2不再对广播请求进行转发。

kv存储设备c响应于收到计算设备的应答,选择由计算设备3-1处理查询请求,并就选择结果告知计算设备3-1。可选地,kv存储设备c还将拒绝使用计算设备3-2、计算设备4-1与计算设备4-2的选择结果分别告知计算设备3-2、计算设备4-1与计算设备4-2。

kv存储设备c向选择的计算设备3-1发出查询请求,以及从选择的计算设备3-1接收处理结果,并将处理结果提供给雾计算客户端。

返回参看图3,根据本申请实施例的客户端,既可以通过区域服务器发起根据图4a-图4f所示的云计算流程的业务查询,也可以通过与其临近或绑定的kv存储设备发起根据图5a-图5c所示的雾计算流程的业务查询。从而融合了云计算与雾计算。对网络中的各个参与者都能提供更有利的服务。

根据本申请实施例的存储系统可由多种机构部署,降低了部署成本。例如,由公共服务用户,例如环境保护主管部门或公共安全主管部门部署根据本申请的存储系统(包括根服务器、区域服务器、一种或多种资源与客户端)s,并通过区域服务器使用存储系统的全部资源。而对于新建立的商场,商场网络(商场私有)中部署了多种资源(包括摄像头、kv存储设备、计算设备、客户端等),商场网络可被加入到存储系统s。通过在区域服务器中维护新加入的商场网络中的各项资源,原为存储系统s而部署的客户端得以使用商场网络的资源,从而降低了更新存储系统s所需的成本,并且商场网络的资源一旦接入存储系统s,即可被存储系统s的客户端通过云计算方式所使用。从而存储系统s的it基础设施的部分由私有网络加以补充,降低了存储系统s的建设成本,也解决了作为公有云的存储系统s与私有网络难以互联的缺陷。而属于商场网络的客户端/用户通过雾计算方式除了使用商场网络内部署的资源,还可使用存储系统s中被公开的部分资源。

并且,存储系统s的资源(kv存储设备、计算设备、数据采集设备等)得到了被更多利用的机会,除了被存储系统s的客户端使用,还可被私有网络(商场网络)的客户端使用。

对于用户/客户端,从存储系统s中能够获取更多种与更多量的资源,除了在存储系统被公共维护的资源,还有机会使用随后加入到存储系统s的私有网络的资源,更多的资源使用户/客户端的需求被更多且更高效的满足。

进一步地,雾计算方式产生的网络流量被限制在同发起业务请求的客户端临近的范围内,减少了数据在网络中传输的距离,降低了网络负载与功耗。

尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1