logo好方法网

分布式KV存储系统的更新与查询


技术摘要:
本申请公开了一种分布式KV存储系统、以及使用分布式KV存储系统的更新与查询命令的方法,涉及存储设备技术领域。本申请的分布式KV存储系统包括服务器与多个存储设备,服务器与存储设备通过网络耦合;存储设备包括K‑D表,用于记录存储系统的存储设备能够响应的一个或多  全部
背景技术:
图1A展示了存储设备的框图。存储设备102同主机相耦合,用于为主机提供存储能 力。主机同存储设备102之间可通过多种方式相耦合,耦合方式包括但不限于通过例如SATA (Serial  Advanced  Technology  Attachment,串行高级技术附件)、SCSI(Small  Computer  System  Interface,小型计算机系统接口)、SAS(Serial  Attached  SCSI,串行连接SCSI)、 IDE(Integrated  Drive  Electronics,集成驱动器电子)、USB(Universal  Serial  Bus,通 用串行总线)、PCIE(Peripheral  Component  Interconnect  Express,PCIe,高速外围组件 互联)、NVMe(NVM  Express,高速非易失存储)、以太网、光纤通道、无线通信网络等连接主机 与存储设备102。主机可以是能够通过上述方式同存储设备相通信的信息处理设备,例如, 个人计算机、平板电脑、服务器、便携式计算机、网络交换机、路由器、蜂窝电话、个人数字助 理等。存储设备102包括接口103、控制部件104、一个或多个NVM芯片105以及DRAM(Dynamic  Random  Access  Memory,动态随机访问存储器)110。 NAND闪存、相变存储器、FeRAM(Ferroelectric  RAM,铁电存储器)、MRAM(Magnetic  Random  Access  Memory,磁阻存储器)、RRAM(Resistive  Random  Access  Memory,阻变存储 器)等是常见的NVM。 接口103可适配于通过例如SATA、IDE、USB、PCIE、NVMe、SAS、以太网、光纤通道等方 式与主机交换数据。 控制部件104用于控制在接口103、NVM芯片105以及DRAM  110之间的数据传输,还 用于存储管理、主机逻辑地址到闪存物理地址映射、擦除均衡、坏块管理等。控制部件104可 通过软件、硬件、固件或其组合的多种方式实现,例如,控制部件104可以是FPGA(Field- programmable  gate  array,现场可编程门阵列)、ASIC(Application  Specific  Integrated  Circuit,应用专用集成电路)或者其组合的形式。控制部件104也可以包括处 理器或者控制器,在处理器或控制器中执行软件来操纵控制部件104的硬件来处理IO (Input/Output)命令。控制部件104还可以耦合到DRAM  110,并可访问DRAM  110的数据。在 DRAM可存储FTL表和/或缓存的IO命令的数据。 控制部件104包括闪存接口控制器(或称为介质接口控制器、闪存通道控制器),闪 存接口控制器耦合到NVM芯片105,并以遵循NVM芯片105的接口协议的方式向NVM芯片105发 出命令,以操作NVM芯片105,并接收从NVM芯片105输出的命令执行结果。已知的NVM芯片接 口协议包括“Toggle”、“ONFI”等。 支持Key-Value(关键字-值,也简称为“KV”)存储模型的存储设备,提供基于键(关 键字)的读操作(Get(Key))与写操作(Put(Key,Value))。写操作也被称为更新操作。为执行 写操作,主机向存储设备提供关键字(Key)与值(Value),以将值写入存储设备,并将关键字 3 CN 111581451 A 说 明 书 2/14 页 作为所写入的数据的索引。为执行读操作,主机向存储设备提供关键字,存储设备根据关键 字找到对应的值,并将值提供给主机。因而在KV存储系统中,关键字是用来访问数据的索 引,而值(Value)是被访问的数据。关键字(Key)与值(V)一一对应。 图1B展示了现有技术的KV存储设备的地址转换系统的示意图。KV存储设备的地址 转换系统(也称为FTL表)提供从关键字(K)到逻辑地址或物理地址(例如,PPA,Physical  Page  Address,物理页地址)的映射。响应于获取关键字(K),用关键字(K)作为索引查询FTL 表,得到对应的逻辑地址或物理地址。 在申请号为201711392529.2、201711474660.3、201810332295.0、201810286955.6 与201810286986.1的中国专利申请中提供了KV存储设备或利用KV存储设备的分布式存储 系统。
技术实现要素:
根据本申请的第一方面,提供了根据本申请第一方面的第一分布式KV存储系统, 包括服务器与多个存储设备,服务器与存储设备通过网络耦合;存储设备包括K-D表,用于 记录存储系统的存储设备能够响应的一个或多个关键字。 根据本申请的第一方面的第一分布式KV存储系统,提供了根据本申请第一方面的 第二分布式KV存储系统,各个存储设备的K-D表是相同的。 根据本申请的第一方面的第一或第二分布式KV存储系统,提供了根据本申请第一 方面的第三分布式KV存储系统,K-D表的每行记录了每个存储设备的存储设备ID与对应的 关键字列表,关键字列表包括一个或多个关键字。 根据本申请的第一方面的第三分布式KV存储系统,提供了根据本申请第一方面的 第四分布式KV存储系统,关键字包括一个或多个属性。 根据本申请的第一方面的第一至第四分布式KV存储系统之一,提供了根据本申请 第一方面的第五分布式KV存储系统,属性包括图片/视频生成的时间、采集图片/视频的摄 像头标识、图片/视频中出现的对象类别、同对象类别相关的属性中的一种或多种;缩略图、 快照和/或存储原始图片/视频的地址作为同关键字对应的值。 根据本申请的第一方面的第一至第五分布式KV存储系统之一,提供了根据本申请 第一方面的第六分布式KV存储系统,K-D表的每行还记录时间、采集对应图片/视频的摄像 头ID、存储设备的工作状态。 根据本申请的第一方面的第一至第六分布式KV存储系统之一,提供了根据本申请 第一方面的第七分布式KV存储系统,服务器通过向网络广播命令来访问各存储设备。 根据本申请的第一方面的第一至第七分布式KV存储系统之一,提供了根据本申请 第一方面的第八分布式KV存储系统,服务器使用更新命令,以将<关键字,值>对插入到分布 式存储系统中的一个或多个存储设备中。 根据本申请的第一方面的第一至第八分布式KV存储系统之一,提供了根据本申请 第一方面的第九分布式KV存储系统,服务器使用查询命令,以获取同关键字对应的值。 根据本申请的第一方面的第一至第九分布式KV存储系统之一,提供了根据本申请 第一方面的第十分布式KV存储系统,服务器还包括可被各存储设备访问的存储空间:一个 或多个共享存储器,以使每个存储设备访问共享存储器,来向服务器申请处理所接收的命 4 CN 111581451 A 说 明 书 3/14 页 令。 根据本申请的第一方面的第一至第十分布式KV存储系统之一,提供了根据本申请 第一方面的第十一分布式KV存储系统,存储设备接收网络广播的同更新命令关联的关键 字,并使用待更新关键字查询自身的K-D表。 根据本申请的第一方面的第十一分布式KV存储系统,提供了根据本申请第一方面 的第十二分布式KV存储系统,响应于自身存储了待更新的关键字,向服务器指示自身能够 处理对应于待更新关键字的更新命令。 根据本申请的第一方面的第十一或第十二分布式KV存储系统,提供了根据本申请 第一方面的第十三分布式KV存储系统,存储设备向服务器的第一共享存储器写入自身的存 储设备ID,以向服务器指示自身能够处理对应于待更新关键字的更新命令。 根据本申请的第一方面的第十三分布式KV存储系统,提供了根据本申请第一方面 的第十四分布式KV存储系统,各存储设备竞争第一共享存储器的使用权,得到第一共享存 储器的使用权的存储设备将自身的存储设备ID写入第一共享存储器。 根据本申请的第一方面的第十四分布式KV存储系统,提供了根据本申请第一方面 的第十五分布式KV存储系统,第一共享存储器临时存储竞争失败的存储设备的ID,以作为 竞争成功的存储设备出现故障时的替代。 根据本申请的第一方面的第十一至第十五分布式KV存储系统之一,提供了根据本 申请第一方面的第十六分布式KV存储系统,响应于识别出自身未存储待更新的关键字,则 该存储设备不尝试更新第一共享存储器。 根据本申请的第一方面的第十一至第十六分布式KV存储系统之一,提供了根据本 申请第一方面的第十七分布式KV存储系统,响应于识别出自身未存储待更新的关键字,但 具有记录待更新的关键字的能力,则该存储设备也竞争第一共享存储器的使用权。 根据本申请的第一方面的第十七分布式KV存储系统,提供了根据本申请第一方面 的第十八分布式KV存储系统,若第一存储设备中记录了待更新的关键字,而第二存储设备 有能力记录该待更新的关键字,在竞争共享存储器时,第一存储设备具有优先于第二存储 设备的优先级。 根据本申请的第一方面的第十一至第十八分布式KV存储系统之一,提供了根据本 申请第一方面的第十九分布式KV存储系统,服务器响应于第一共享存储器被更新,或者在 更新命令被发出的一段时间后,访问同该更新命令关联的第一共享存储器,以识别申请要 处理该更新命令的存储设备的ID。 根据本申请的第一方面的第十九分布式KV存储系统,提供了根据本申请第一方面 的第二十分布式KV存储系统,服务器从同该更新命令关联的第一共享存储器中获取处理该 更新命令的第一存储设备的存储设备ID,并将所获取的存储设备ID写入第二共享存储器, 以指示由第一存储设备来处理该更新命令。 根据本申请的第一方面的第二十分布式KV存储系统,提供了根据本申请第一方面 的第二十一分布式KV存储系统,所有向服务器申请处理该更新命令的存储设备读取第二共 享存储器,以识别自身是否获得了处理该更新命令的授权。 根据本申请的第一方面的第二十一分布式KV存储系统,提供了根据本申请第一方 面的第二十二分布式KV存储系统,存储设备在将自身的存储设备ID写入第一共享存储器后 5 CN 111581451 A 说 明 书 4/14 页 的指定时间段内,读取第二共享存储器。 根据本申请的第一方面的第二十二分布式KV存储系统,提供了根据本申请第一方 面的第二十三分布式KV存储系统,各存储设备各自更新自己的K-D表,在自己的K-D表中记 录关联于该更新命令的关键字的存储设备的ID。 根据本申请的第一方面的第十一至第二十三分布式KV存储系统之一,提供了根据 本申请第一方面的第二十四分布式KV存储系统,在K-D表中,还同存储设备ID相关联地记录 其最后被更新的时间、引起更新的摄像头的标识、存储设备的状态。 根据本申请的第一方面的第十一至第二十四分布式KV存储系统之一,提供了根据 本申请第一方面的第二十五分布式KV存储系统,响应于更新了第二共享存储器,服务器还 广播在第二共享存储器记录的处理该更新命令的存储设备ID,使每个收到广播的存储设 备,均在自身的K-D表中记录广播的存储设备ID与该更新命令的关键字。 根据本申请的第一方面的第十一至第二十五分布式KV存储系统之一,提供了根据 本申请第一方面的第二十六分布式KV存储系统,未被授权处理更新命令的其他存储设备, 在完成了对K-D表的更新后,还向服务器指示K-D表更新处理完成,自身已记录了处理更新 命令的存储设备的ID以及与更新命令关联的关键字的关联关系。 根据本申请的第一方面的第一至第十分布式KV存储系统之一,提供了根据本申请 第一方面的第二十七分布式KV存储系统,响应于存储设备接收到广播的同更新命令关联的 关键字,向服务器给出应答,并在应答中向服务器指示自身是否有能力响应该更新命令;接 收广播的服务器选中的处理该更新命令的存储设备;各个存储设备都更新自身的K-D表;以 及被服务器选中的存储设备还记录更新命令指示的关键字与同该关键字对应的值。 根据本申请的第一方面的第二十七分布式KV存储系统,提供了根据本申请第一方 面的第二十八分布式KV存储系统,存储设备根据自身是否有空闲存储空间、空闲的计算能 力和/或自身的K-D表中是否包含了待更新关键字,来决定向服务器给出怎样的指示。 根据本申请的第一方面的第二十七或第二十八分布式KV存储系统,提供了根据本 申请第一方面的第二十九分布式KV存储系统,若存储设备的K-D表包含了待更新的关键字, 但该存储设备当前负载很高,该存储设备可以向服务器指示自己无能力响应该更新命令。 根据本申请的第一方面的第二十七至第二十九分布式KV存储系统之一,提供了根 据本申请第一方面的第三十分布式KV存储系统,服务器响应于从一个、多个或所有的存储 设备收到对其自身是否有能力处理该更新命令的响应,从有能力处理该更新命令的存储设 备中选择一个或多个存储设备处理该更新命令。 根据本申请的第一方面的第二十七至第三十分布式KV存储系统之一,提供了根据 本申请第一方面的第三十一分布式KV存储系统,接收广播的服务器选中的处理该更新命令 的存储设备后,各个存储设备在自身的K-D表中相关联地记录处理更新命令的存储设备的 ID与该更新命令的关键字。 根据本申请的第一方面的第二十七至第三十一分布式KV存储系统之一,提供了根 据本申请第一方面的第三十二分布式KV存储系统,被选中的存储设备在完成了对自身K-D 表的更新与自身的KV存储设备后,向服务器指示对该更新命令的处理完成;未被选中的存 储设备在完成了对自身K-D表的更新后,向服务器指示对自身K-D表更新完成。 根据本申请的第一方面的第二十七至第三十二分布式KV存储系统之一,提供了根 6 CN 111581451 A 说 明 书 5/14 页 据本申请第一方面的第三十三分布式KV存储系统,服务器响应于收到各存储设备的响应, 更新自身的K-D表,以记录该更新命令的关键字同存储设备的关联。 根据本申请的第一方面的第二十七至第三十三分布式KV存储系统之一,提供了根 据本申请第一方面的第三十四分布式KV存储系统,服务器无须等待收到所有存储设备的响 应后再更新自身的K-D表,而是在发出选中存储设备的消息的指定的时间段后,基于所收集 的响应更新自身的K-D表。 根据本申请的第一方面的第一至第十分布式KV存储系统之一,提供了根据本申请 第一方面的第三十五分布式KV存储系统,响应于存储设备接收广播的同查询命令关联的关 键字;使用查询命令的关键字访问自身的K-D表,从K-D表获取同该关键字对应的存储设备 ID;响应于获取的同该关键字对应的存储设备ID与自身的存储设备ID相同,向服务器给出 查询命令命中消息;响应于收到查询执行消息,执行KV查询,以得到通过关键字对应的值。 根据本申请的第一方面的第三十五分布式KV存储系统,提供了根据本申请第一方 面的第三十六分布式KV存储系统,存储设备将值传输给服务器。 根据本申请的第一方面的第三十五或第三十六分布式KV存储系统,提供了根据本 申请第一方面的第三十七分布式KV存储系统,服务器还联同关键字一道广播用于接收同关 键字对应的值的存储器地址。 根据本申请的第一方面的第三十五至第三十七分布式KV存储系统之一,提供了根 据本申请第一方面的第三十八分布式KV存储系统,若响应于发现自身未作为KV存储设备记 录查询命令的关键字,向服务器发出查询命令未命中的消息,或者不向服务器给出对该查 询命令的应答。 根据本申请的第一方面的第三十五至第三十八分布式KV存储系统之一,提供了根 据本申请第一方面的第三十九分布式KV存储系统,服务器向一个、多个或所有应答了查询 命令命中消息的存储设备发出查询执行消息,以指示收到了查询执行消息的存储设备向服 务器传输查询命令的关键字对应的值。 根据本申请的第一方面的第三十五至第三十九分布式KV存储系统之一,提供了根 据本申请第一方面的第四十分布式KV存储系统,服务器提供的查询执行消息还指示了接收 值的存储器地址和/或容量。 根据本申请的第一方面的第三十五至第四十分布式KV存储系统之一,提供了根据 本申请第一方面的第四十一分布式KV存储系统,存储设备向服务器提供的值不超过查询执 行消息指示的存储器容量。 根据本申请的第一方面的第三十五至第四十一分布式KV存储系统之一,提供了根 据本申请第一方面的第四十二分布式KV存储系统,服务器拒绝接收超过存储器容量的值的 部分。 根据本申请的第一方面的第三十五至第四十二分布式KV存储系统之一,提供了根 据本申请第一方面的第四十三分布式KV存储系统,服务器通过查询执行消息指示各存储设 备通过多次传输来提供值。 根据本申请的第一方面的第三十五至第四十三分布式KV存储系统之一,提供了根 据本申请第一方面的第四十四分布式KV存储系统,响应于向服务器传输的值已传输了指定 长度,还向服务器发送指示存储器满的消息。 7 CN 111581451 A 说 明 书 6/14 页 根据本申请的第一方面的第四十四分布式KV存储系统,提供了根据本申请第一方 面的第四十五分布式KV存储系统,服务器向存储设备指示已经出现了可用的存储器,以使 存储设备继续向服务器传输值的其他部分。 根据本申请的第一方面的第三十五至第四十五分布式KV存储系统之一,提供了根 据本申请第一方面的第四十六分布式KV存储系统,响应于向服务器传输值完成,还向服务 器发送查询命令处理完成的消息。 根据本申请的第二方面,提供了根据本申请第二方面的第一处理更新命令的方 法,包括:接收网络广播的同更新命令关联的关键字;向服务器指示自身能够处理对应于待 更新关键字的更新命令;响应于收到更新执行消息,并记录更新命令指示的关键字与同该 关键字对应的值。 根据本申请的第二方面的第一处理更新命令的方法,提供了根据本申请第二方面 的第二处理更新命令的方法,响应于自身存储了待更新的关键字,向服务器指示自身能够 处理对应于待更新关键字的更新命令。 根据本申请的第二方面的第一处理更新命令的方法,提供了根据本申请第二方面 的第三处理更新命令的方法,更新完成后,向服务器指示更新命令处理完成。 根据本申请的第二方面的第一处理更新命令的方法,提供了根据本申请第二方面 的第四处理更新命令的方法,响应于收到更新执行消息,还更新自身的K-D表。 根据本申请的第二方面的第一处理更新命令的方法,提供了根据本申请第二方面 的第五处理更新命令的方法,使用待更新关键字查询自身的K-D表,以识别自身能够处理对 应于待更新关键字的更新命令。 根据本申请的第二方面的第一处理更新命令的方法,提供了根据本申请第二方面 的第六处理更新命令的方法,还向各存储设备提供同待更新关键字关联的共享存储器的地 址。 根据本申请的第二方面的第一至第六处理更新命令的方法之一,提供了根据本申 请第二方面的第七处理更新命令的方法,向服务器的第一共享存储器写入自身的存储设备 ID,以向服务器指示自身能够处理对应于待更新关键字的更新命令。 根据本申请的第二方面的第一至第七处理更新命令的方法之一,提供了根据本申 请第二方面的第八处理更新命令的方法,各存储设备竞争第一共享存储器的使用权,得到 第一共享存储器的使用权的存储设备将自身的存储设备ID写入第一共享存储器。 根据本申请的第二方面的第八处理更新命令的方法,提供了根据本申请第二方面 的第九处理更新命令的方法,第一共享存储器临时存储竞争失败的存储设备的ID,以作为 竞争成功的存储设备出现故障时的替代。 根据本申请的第二方面的第一至第六处理更新命令的方法之一,提供了根据本申 请第二方面的第十处理更新命令的方法,响应于识别出自身未存储待更新的关键字,则该 存储设备不尝试更新第一共享存储器。 根据本申请的第二方面的第一至第六处理更新命令的方法之一,提供了根据本申 请第二方面的第十一处理更新命令的方法,响应于识别出自身未存储待更新的关键字,但 具有记录待更新的关键字的能力,则该存储设备也竞争第一共享存储器的使用权。 根据本申请的第二方面的第十一处理更新命令的方法,提供了根据本申请第二方 8 CN 111581451 A 说 明 书 7/14 页 面的第十二处理更新命令的方法,若第一存储设备中记录了待更新的关键字,而第二存储 设备有能力记录该待更新的关键字,在竞争共享存储器时,第一存储设备具有优先于第二 存储设备的优先级。 根据本申请的第二方面的第一至第十二处理更新命令的方法之一,提供了根据本 申请第二方面的第十三处理更新命令的方法,服务器响应于第一共享存储器被更新,或者 在更新命令被发出的一段时间后,访问同该更新命令关联的第一共享存储器,以识别申请 要处理该更新命令的存储设备的ID。 根据本申请的第二方面的第十三处理更新命令的方法,提供了根据本申请第二方 面的第十四处理更新命令的方法,服务器从同该更新命令关联的第一共享存储器中获取处 理该更新命令的第一存储设备的存储设备ID,并将所获取的存储设备ID写入第二共享存储 器,以指示由第一存储设备来处理该更新命令。 根据本申请的第二方面的第十四处理更新命令的方法,提供了根据本申请第二方 面的第十五处理更新命令的方法,所有向服务器申请处理该更新命令的存储设备读取第二 共享存储器,以识别自身是否获得了处理该更新命令的授权。 根据本申请的第二方面的第十五处理更新命令的方法,提供了根据本申请第二方 面的第十六处理更新命令的方法,存储设备在将自身的存储设备ID写入第一共享存储器后 的指定时间段内,读取第二共享存储器。 根据本申请的第二方面的第十六处理更新命令的方法,提供了根据本申请第二方 面的第十七处理更新命令的方法,各存储设备各自更新自己的K-D表,在自己的K-D表中记 录关联于该更新命令的关键字的存储设备的ID。 根据本申请的第二方面的第一至十七处理更新命令的方法之一,提供了根据本申 请第二方面的第十八处理更新命令的方法,在K-D表中,还同存储设备ID相关联地记录其最 后被更新的时间、引起更新的摄像头的标识、存储设备的状态。 根据本申请的第二方面的第十五至第十八处理更新命令的方法之一,提供了根据 本申请第二方面的第十九处理更新命令的方法,响应于更新了第二共享存储器,服务器还 广播在第二共享存储器记录的处理该更新命令的存储设备ID,使每个收到广播的存储设 备,均在自身的K-D表中记录广播的存储设备ID与该更新命令的关键字。 根据本申请的第二方面的第一至第十九处理更新命令的方法之一,提供了根据本 申请第二方面的第二十处理更新命令的方法,未被授权处理更新命令的其他存储设备,在 完成了对K-D表的更新后,还向服务器指示K-D表更新处理完成,自身已记录了处理更新命 令的存储设备的ID以及与更新命令关联的关键字的关联关系。 根据本申请的第三方面,提供了根据本申请第三方面的第一处理更新命令的方 法,包括:接收广播的同更新命令关联的关键字;向服务器给出应答,并在应答中向服务器 指示自身是否有能力响应该更新命令;接收广播的服务器选中的处理该更新命令的存储设 备;各个存储设备都更新自身的K-D表;以及被服务器选中的存储设备还记录更新命令指示 的关键字与同该关键字对应的值。 根据本申请的第三方面的第一处理更新命令的方法,提供了根据本申请第三方面 的第二处理更新命令的方法,存储设备根据自身是否有空闲存储空间、空闲的计算能力和/ 或自身的K-D表中是否包含了待更新关键字,来决定向服务器给出怎样的指示。 9 CN 111581451 A 说 明 书 8/14 页 根据本申请的第三方面的第一或第二处理更新命令的方法,提供了根据本申请第 三方面的第三处理更新命令的方法,若存储设备的K-D表包含了待更新的关键字,但该存储 设备当前负载很高,该存储设备可以向服务器指示自己无能力响应该更新命令。 根据本申请的第三方面的第一至第三处理更新命令的方法之一,提供了根据本申 请第三方面的第四处理更新命令的方法,服务器响应于从一个、多个或所有的存储设备收 到对其自身是否有能力处理该更新命令的响应,从有能力处理该更新命令的存储设备中选 择一个或多个存储设备处理该更新命令。 根据本申请的第三方面的第一至第四处理更新命令的方法之一,提供了根据本申 请第三方面的第五处理更新命令的方法,接收广播的服务器选中的处理该更新命令的存储 设备后,各个存储设备在自身的K-D表中相关联地记录处理更新命令的存储设备的ID与该 更新命令的关键字。 根据本申请的第三方面的第一至第五处理更新命令的方法之一,提供了根据本申 请第三方面的第六处理更新命令的方法,被选中的存储设备在完成了对自身K-D表的更新 与自身的KV存储设备后,向服务器指示对该更新命令的处理完成;未被选中的存储设备在 完成了对自身K-D表的更新后,向服务器指示对自身K-D表更新完成。 根据本申请的第三方面的第一至第六处理更新命令的方法之一,提供了根据本申 请第三方面的第七处理更新命令的方法,服务器响应于收到各存储设备的响应,更新自身 的K-D表,以记录该更新命令的关键字同存储设备的关联。 根据本申请的第三方面的第一至第七处理更新命令的方法之一,提供了根据本申 请第三方面的第八处理更新命令的方法,服务器无须等待收到所有存储设备的响应后再更 新自身的K-D表,而是在发出选中存储设备的消息的指定的时间段后,基于所收集的响应更 新自身的K-D表。 根据本申请的第四方面,提供了根据本申请第四方面的第一处理查询命令的方 法,包括:接收广播的同查询命令关联的关键字;使用查询命令的关键字访问自身的K-D表, 从K-D表获取同该关键字对应的存储设备ID;响应于获取的同该关键字对应的存储设备ID 与自身的存储设备ID相同,向服务器给出查询命令命中消息;响应于收到查询执行消息,执 行KV查询,以得到通过关键字对应的值。 根据本申请的第四方面的第一处理查询命令的方法,提供了根据本申请第四方面 的第二处理查询命令的方法,并将值传输给服务器。 根据本申请的第四方面的第一处理查询命令的方法,提供了根据本申请第四方面 的第三处理查询命令的方法,服务器还联同关键字一道广播用于接收同关键字对应的值的 存储器地址。 根据本申请的第四方面的第一至第三处理查询命令的方法之一,提供了根据本申 请第四方面的第四处理查询命令的方法,若响应于发现自身未作为KV存储设备记录查询命 令的关键字,向服务器发出查询命令未命中的消息,或者不向服务器给出对该查询命令的 应答。 根据本申请的第四方面的第一至第四处理查询命令的方法之一,提供了根据本申 请第四方面的第五处理查询命令的方法,服务器向一个、多个或所有应答了查询命令命中 消息的存储设备发出查询执行消息,以指示收到了查询执行消息的存储设备向服务器传输 10 CN 111581451 A 说 明 书 9/14 页 查询命令的关键字对应的值。 根据本申请的第四方面的第一至第五处理查询命令的方法之一,提供了根据本申 请第四方面的第六处理查询命令的方法,服务器提供的查询执行消息还指示了接收值的存 储器地址和/或容量。 根据本申请的第四方面的第一至第六处理查询命令的方法之一,提供了根据本申 请第四方面的第七处理查询命令的方法,存储设备向服务器提供的值不超过查询执行消息 指示的存储器容量。 根据本申请的第四方面的第一至第七处理查询命令的方法之一,提供了根据本申 请第四方面的第八处理查询命令的方法,服务器拒绝接收超过存储器容量的值的部分。 根据本申请的第四方面的第一至第八处理查询命令的方法之一,提供了根据本申 请第四方面的第九处理查询命令的方法,服务器通过查询执行消息指示各存储设备通过多 次传输来提供值。 根据本申请的第四方面的第一至第九处理查询命令的方法之一,提供了根据本申 请第四方面的第十处理查询命令的方法,响应于向服务器传输的值已传输了指定长度,还 向服务器发送指示存储器满的消息。 根据本申请的第四方面的第十处理查询命令的方法,提供了根据本申请第四方面 的第十一处理查询命令的方法,服务器向存储设备指示已经出现了可用的存储器,以使存 储设备继续向服务器传输值的其他部分。 根据本申请的第四方面的第一至第十一处理查询命令的方法之一,提供了根据本 申请第四方面的第十二处理查询命令的方法,服务器汇集从一个、多个或所有传输了值的 存储设备获取的数据,作为查询命令的结果。 根据本申请的第四方面的第一至第十二处理查询命令的方法之一,提供了根据本 申请第四方面的第十三处理查询命令的方法,响应于向服务器传输值完成,还向服务器发 送查询命令处理完成的消息。 根据本申请的第五方面,提供一种包括程序代码的程序,当被载入存储设备并在 存储设备上执行时,所述程序代码使所述存储设备执行根据本申请第二方面、第三方面或 第四方面的方法之一。 附图说明 为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本 申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他 的附图。 图1A是现有技术中存储设备的框图; 图1B是现有技术的存储设备的地址转换系统的示意图; 图2A展示了根据本申请实施例的K-D表的示意图; 图2B展示了根据本申请实施例的分布式存储系统的框图; 图3展示了根据本申请实施例的处理更新命令的流程图; 图4展示了根据本申请又一实施例的处理更新命令的流程图; 11 CN 111581451 A 说 明 书 10/14 页 图5展示了根据本申请实施例的处理查询命令的流程图; 图6展示了根据本申请又一实施例的处理查询命令的流程图。
下载此资料需消耗2积分,
分享到:
收藏