CN109661665B - 标准和非标准分散存储网络数据访问 - Google Patents
标准和非标准分散存储网络数据访问 Download PDFInfo
- Publication number
- CN109661665B CN109661665B CN201780054521.7A CN201780054521A CN109661665B CN 109661665 B CN109661665 B CN 109661665B CN 201780054521 A CN201780054521 A CN 201780054521A CN 109661665 B CN109661665 B CN 109661665B
- Authority
- CN
- China
- Prior art keywords
- data
- dsn
- data access
- standard
- names
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1076—Parity data used in redundant arrays of independent storages, e.g. in RAID systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/40—Support for services or applications
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Quality & Reliability (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Computer And Data Communications (AREA)
- Detection And Correction Of Errors (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
Abstract
一种方法,包括由分散存储网络(DSN)的计算设备确定是否利用非标准DSN数据访问协议或标准DSN数据访问协议来访问来自DSN的数据。当计算设备确定使用非标准DSN数据访问协议时,该方法还包括生成一组非标准数据访问请求。该方法还包括将该组非标准数据访问请求发送到存储单元。该方法还包括由存储单元将非标准数据访问请求转换为一个或多个DSN片名称。该方法还包括由存储单元确定该一个或多个DSN片名称在片名称范围内。当该一个或多个DSN片名称在片名称范围内时,该方法还包括由存储单元执行数据访问功能。
Description
技术领域
本发明一般涉及计算机网络,更具体地说,涉及分散错误编码数据。
背景技术
已知计算设备传送数据、处理数据和/或存储数据。这样的计算设备包括无线智能电话、笔记本电脑、平板电脑、个人计算机(PC)、工作站和视频游戏设备,以及每天支持数百万网络搜索、股票交易或在线购买的数据中心。通常,计算设备包括中央处理单元(CPU)、存储器系统、用户输入/输出接口、外围设备接口和互连总线结构。
如进一步已知的,计算机可以通过使用“云计算”来代表该计算机执行一个或多个计算功能(例如,服务、应用、算法、算术逻辑功能等)来有效地扩展其CPU。此外,对于大型服务、应用、和/或功能,可以由分布式方式由多个云计算资源执行云计算,以改善完成服务、应用和/或功能的响应时间。例如,Hadoop是一个开源软件框架,其支持分布式应用,使得能够由数千台计算机实现应用执行。
除了云计算之外,计算机可以使用“云存储”作为其存储系统的一部分。众所周知,云存储使用户能够通过其计算机在因特网存储系统上存储文件、应用等。因特网存储系统可以包括RAID(独立磁盘冗余阵列)系统和/或分散存储系统,其使用纠错方案来编码用于存储的数据。
在云存储系统中,存在用于访问数据(例如,读取、写入、删除等)的传统协议。例如,读取请求包括对存储一条或多条所需数据的分散或分布式存储网络(DSN)的每个存储单元的单独读取请求。如果希望读取附加数据,则需要生成另一个读取请求并将其发送到存储单元。即使数据和附加数据相关,也会发生这种情况。
附图说明
现在将仅通过示例的方式参考附图描述本发明的实施例,其中:
图1是根据本发明的分散或分布式存储网络(DSN)的实施例的示意框图;
图2是根据本发明的计算核心的实施例的示意框图;
图3是根据本发明的数据的分散存储错误编码的示例的示意框图;
图4是根据本发明的错误编码功能的一般示例的示意框图;
图5是根据本发明的错误编码功能的具体示例的示意方框图;
图6是根据本发明的编码数据片(encoded data slice,EDS)的片名称的示例的示意框图;
图7是根据本发明的数据的分散存储错误解码的示例的示意框图;
图8是根据本发明的错误解码功能的一般示例的示意框图;
图9是根据本发明的多个存储单元池的实施例的示意框图;
图10是根据本发明的DSN的另一个实施例的示意框图;
图11是根据本发明的标准编码数据片命名的示例的示图;
图12是根据本发明的非标准数据命名的示例的示图;
图13是根据本发明的非标准数据命名的另一个示例的示图;
图14是根据本发明在DSN中访问编码数据片的示例的示意方框图;
图15是根据本发明的DSN中标准和非标准数据访问方法的示例的逻辑图;
图16是根据本发明的在DSN中标准和非标准数据访问的方法的发送步骤的示例的逻辑图;以及
图17是根据本发明的在DSN中标准和非标准数据访问的方法的转换步骤的示例的逻辑图。
具体实施方式
图1是分散或分布式存储网络(DSN)10的实施例的示意性框图,DSN 10包括多个计算设备12-16、管理单元18、完整性处理单元20和DSN存储器22。DSN 10的组件耦合到网络24,网络24可以包括一个或多个无线和/或有线通信系统;一个或多个非公共内联网系统和/或公共互联网系统;和/或一个或多个局域网(LAN)和/或广域网(WAN)。
DSN存储器22包括多个存储单元36,其可以位于地理上不同的站点(例如,芝加哥的一个,密尔沃基的一个等)、公共站点或其组合。例如,如果DSN存储器22包括八个存储单元36,则每个存储单元位于不同的站点。作为另一示例,如果DSN存储器22包括八个存储单元36,则所有八个存储单元位于相同的站点。作为又一示例,如果DSN存储器22包括八个存储单元36,则第一对存储单元位于第一公共站点,第二对存储单元位于第二公共站点,第三对存储单元位于第三公共站点,第四对存储单元位于第四公共站点。注意,DSN存储器22可以包括多于或少于八个存储单元36。进一步注意,每个存储单元36包括计算核心(如图2所示,或其组件)和多个用于存储分散的错误编码的数据的存储器设备。
计算设备12-16,管理单元18和完整性处理单元20中的每一个包括计算核心26,其包括网络接口30-33。计算设备12-16每个可以是便携式计算设备和/或固定计算设备。便携式计算设备可以是社交网络设备,游戏设备,手机,智能电话,数字助理,数字音乐播放器,数字视频播放器,膝上型计算机,手持式计算机,平板电脑,视频游戏控制器和/或包括计算核心的任何其他便携式设备。固定计算设备可以是计算机(PC),计算机服务器,有线机顶盒,卫星接收器,电视机,打印机,传真机,家庭娱乐设备,视频游戏机和/或任何类型的家庭或办公室计算设备。注意,管理单元18和完整性处理单元20中的每一个可以是单独的计算设备,可以是公共计算设备,和/或可以集成到一个或多个计算设备12-16中和/或集成到一个或多个计算设备中。更多的存储单元36。
每个接口30、32和33包括用于支持间接和/或直接经由网络24的一个或多个通信链路的软件和硬件。例如,接口30支持计算设备14和16之间的通信链路(例如,有线、无线、直接、经由LAN、经由网络24等)。作为另一示例,接口32支持计算设备12和16与DSN存储器22之间的通信链路(例如,有线连接、无线连接、LAN连接、和/或到网络24或从网络24出发的任何其他类型的连接)。作为又一示例,接口33支持用于管理单元18和完整性处理单元20中的每一个到网络24的通信链路。
如随后参考图3-8中的一个或多个所描述的,计算设备12和16包括分散存储(DS)客户端模块34,其使得计算设备能够分散存储错误编码和解码数据(例如,数据40)。在该示例实施例中,计算设备16用作计算设备14的分散存储处理代理。在该角色中,计算设备16代表计算设备14对数据进行分散存储错误编码和解码。使用分散存储错误编码和解码,DSN10容忍大量存储单元故障(故障的数量基于分散的存储错误编码功能的参数)而不丢失数据并且不需要数据的冗余或备份副本。此外,DSN 10无限期地存储数据而没有数据丢失并且以安全的方式存储(例如,系统对未经授权的访问数据的尝试非常有抵抗力)。
在操作中,管理单元18执行DS管理服务。例如,管理单元18单独地或作为一组用户的一部分为计算设备12-14建立分布式数据存储参数(例如,库创建、分布式存储参数、安全参数、计费信息、用户简档信息等)。作为特定示例,管理单元18协调用于用户设备、一组设备或者用于公共访问的DSN存储器22内的库(例如,与DSN的整个命名空间的一部分相关联的虚拟存储器块)的创建,并为库建立每个库的分散存储(DS)错误编码参数。管理单元18通过更新DSN 10的注册表信息来促进每个库的DS错误编码参数的存储,其中注册表信息可以存储在DSN存储器22、计算设备12-16、管理单元18、和/或完整性处理单元20中。
管理单元18在本地存储器和/或DSN存储器22的存储器中创建和存储用户简档信息(例如,访问控制列表(ACL))。用户简档信息包括认证信息、许可、和/或安全参数。安全参数可以包括加密/解密方案、一个或多个加密密钥、密钥生成方案、和/或数据编码/解码方案。
管理单元18为特定用户、用户组、库访问、公共库访问等创建计费信息。例如,管理单元18跟踪用户访问非公共库和/或公共库的次数,其可用于生成按访问计费信息。在另一实例中,管理单元18跟踪由用户设备和/或用户组存储和/或检索的数据量,其可用于生成按数据量计费信息。
作为另一示例,管理单元18执行网络操作、网络管理、和/或网络维护。网络操作包括验证用户数据分配请求(例如,读取和/或写入请求)、管理库的创建、为用户设备建立认证凭证、添加组件(例如,用户设备,存储单元、和/或具有DS客户端模块34的计算设备)到DSN 10或者从DSN 10删除组件(例如,用户设备,存储单元、和/或具有DS客户端模块34的计算设备),和/或为存储单元36建立认证凭证。网络管理包括监视设备和/或单元的故障、维护库信息、确定设备和/或单元激活状态、确定设备和/或单元加载、和/或确定影响DSN10的性能级别的任何其他系统级操作。网络维护包括促进替换、升级、修复、和/或扩展DSN 10的设备和/或单元。
完整性处理单元20执行“坏”或丢失的编码数据片的重建。在高级别,完整性处理单元20通过周期性地尝试从DSN存储器22检索/列出编码数据片和/或编码数据片的片名称来执行重建。对于检索到的编码片,检查它们的由于数据损坏、过期版本等导致的错误。如果片包含错误,则将其标记为“坏”片。对于未检索和/或未列出的编码数据片,它们被标记为丢失的片。随后使用被认为是好的片的其他检索的编码数据片来重建坏的和/或丢失的片以产生重建的片。重建的片存储在DSN存储器22中。
图2是计算核心26的实施例的示意性框图,计算核心26包括处理模块50、存储器控制器52、主存储器54、视频图形处理单元55、输入/输出(IO)控制器56、外围组件互连(PCI)接口58、IO接口模块60、至少一个IO设备接口模块62、只读存储器(ROM)基本输入输出系统(BIOS)64、以及一个或多个存储器接口模块。该一个或多个存储器接口模块包括通用串行总线(USB)接口模块66、主机总线适配器(HBA)接口模块68、网络接口模块70、闪存接口模块72、硬盘驱动器接口模块74、和DSN接口模块76中的一个或多个。
DSN接口模块76用于模仿传统操作系统(OS)文件系统接口(例如,网络文件系统(NFS)、闪存文件系统(FFS)、磁盘文件系统(DFS)、文件传输协议(FTP)、基于web的分布式创作和版本控制(WebDAV)等)和/或块存储器接口(例如,小型计算机系统接口(SCSI)、因特网小型计算机系统接口(iSCSI)等)。DSN接口模块76和/或网络接口模块70可以用作图1的接口30-33中的一个或多个。注意,IO设备接口模块62和/或存储器接口模块66-76可以是共同地的或单独地被称为IO端口。
图3是数据的分散存储错误编码的示例的示意性框图。当计算设备12或16具有要存储的数据时,其基于分散存储错误编码参数,根据分散存储错误编码过程对数据进行分散存储错误编码。分散存储错误编码参数包括编码功能(例如,信息分散算法、Reed-Solomon、Cauchy Reed-Solomon、系统编码、非系统编码、在线代码等)、数据分段协议(例如,数据段大小、固定的、可变的等)、和每个数据段编码值。每个数据段编码值包括每数据段编码(即,一组编码数据片中)的编码数据片的总的或柱宽度的数目(T);修复该数据段所需的一组编码数据片的编码数据片的解码阈值数(D);编码数据切片的读取阈值数量(R),用于指示要从存储器读取的用于解码该数据段的每组编码数据片的数量;和/或写入阈值数量(W),用于指示在编码数据段被认为已被正确存储之前必须准确存储的每组编码数据片的数量。分散存储错误编码参数还可以包括片信息(例如,将为每个数据段创建的编码数据片的数量)和/或片安全信息(例如,每编码数据片加密、压缩、完整性校验等)。
在本示例中,已选择Cauchy Reed-Solomon作为编码函数(图4中示出了一般示例,并且图5中示出了具体示例);数据分段协议是将数据对象划分为固定大小的数据段;每个数据段编码值包括:柱宽度为5,解码阈值为3,读取阈值为4,写入阈值为4。根据数据分段协议,计算设备12或16将数据(例如,文件(例如,文本、视频、音频等)、数据对象或其他数据安排)划分为多个固定大小的数据段(例如,在千字节(Kilo-bytes)到太字节(Tera-bytes)或更大的范围内的固定大小的1到Y)。创建的数据段的数量取决于数据的大小和数据分段协议。
然后,计算设备12或16使用所选择的编码函数(例如,Cauchy Reed-Solomon)对数据段进行分散存储错误编码,以产生一组编码数据片。图4示出了通用的Cauchy Reed-Solomon编码函数,其包括编码矩阵(encoding matrix,EM)、数据矩阵(data matrix,DM)和编码后的矩阵(coded matrix,CM)。编码矩阵(EM)的大小取决于每个数据段编码值所选择的柱宽度数(T)和解码阈值数(D)。为了产生数据矩阵(DM),数据段被分成多个数据块,这些数据块被排列成D行,每行Z个数据块。注意,Z是从数据段创建的数据块的数量和解码阈值数(D)的函数。通过将数据矩阵乘以编码矩阵来产生编码后的矩阵。
图5示出了Cauchy Reed-Solomon编码的具体示例,其中柱数目(T)为5并且解码阈值数量为3。在该示例中,第一数据段被分成12个数据块(D1-D12)。编码后的矩阵包括五行编码后的数据块,其中第一行X11-X14对应于第一编码数据片(EDS1_1),第二行X21-X24对应于第二编码数据片(EDS2_1),第三行X31-X34对应于第三编码数据片(EDS 3_1),第四行X41-X44对应于第四编码数据片(EDS 4_1),第五行X51-X54对应于第五编码数据片(EDS 5_1)。注意,EDS指定的第二个数字对应于数据段号。
返回到图3的讨论,计算设备还为该组编码数据片中的每个编码数据片(EDS)创建片名称(SN)。片名称80的典型格式如图6所示。如图所示,片名称(SN)80包括编码数据片的柱编号(例如,1-T之一)、数据段编号(例如,1-Y之一)、库标识符(ID)、数据对象标识符(ID),还可以包括编码数据片的修订级别信息。片名称用作用于从DSN存储器22存储和检索的编码数据片的DSN地址的至少一部分。
作为编码的结果,计算设备12或16产生多组编码数据片,这些编码数据片以及其各自的片名称被提供给存储单元用于存储。如图所示,第一组编码数据片包括EDS 1_1至EDS 5_1,并且第一组片名称包括SN 1_1至SN 5_1,并且最后一组编码数据片包括EDS 1_Y至EDS 5_Y以及最后一组片名称包括SN 1_Y到SN 5_Y。
图7是在图4的示例中分散存储错误编码和存储的数据对象的分散存储错误解码的示例的示意性框图。在该示例中,计算设备12或16每个数据段从存储单元检索至少解码阈值数量的编码数据片。作为具体示例,计算设备检索读取阈值数量的编码数据片。
为了从解码阈值数量的编码数据片恢复数据段,计算设备使用如图8所示的解码功能。如图所示,解码功能基本上是图4的编码功能的反转。编码后的矩阵包括解码阈值数目的行(例如,在该示例中为3个),解码矩阵是包括编码后的矩阵的对应行的编码矩阵的反转。例如,如果编码后的矩阵包括行1、2和4,则编码矩阵被缩减为行1、2和4,然后被反转以产生解码矩阵。
图9是多个存储单元池的实施例的示意性框图。在该示例中,存储单元36被布置成多个存储池(例如,1-n)。此外,为了便于说明,每个存储池包括七个存储单元。但是,存储池可以具有多于7个的存储单元,并且从存储池到存储池可以具有不同数量的存储单元。
存储池1-n仅使用七个存储单元中的五个来支持两个库(库1和库2)。支持库的存储池中的存储单元的数量对应于柱宽度数,在该示例中为5。注意,存储池可以具有多行存储单元,其中SU#1表示多个存储单元,每个存储单元对应于第一柱编号;SU#2表示第二多个存储单元,每个存储单元对应于第二柱编号;等等。注意,其他库可以使用多于或少于五个存储单元的柱宽度数。进一步注意,管理单元或其他权限计算设备发布定义存储单元的存储池的组成、DSN地址范围、和/或与存储单元的通信协议的配置信息。
图10是DSN的另一实施例的示意性框图,该DSN包括设备80、DSN网络82、另一网络84和多个存储单元36(图5所示)。设备80包括DS客户端模块34,并且可以是计算设备12(例如,执行其自己的DSN编码和解码的设备)、计算设备16(例如,在其上对其他计算设备进行DSN编码和解码)、管理单元18、和/或完整性处理单元20。DSN网络82包括图1的网络24,而另一网络84包括LAN、WAN、和/或其组合。注意,DSN网络82和其他网络84可以是互斥网络,或者可以由基本相同的基础设施组成。
每个存储单元36包括标准DSN接口86、非标准DSN接口88、逻辑到物理地址转换模块90、非标准到标准转换模块92、计算核心26内的存储器控制器52、和物理存储器94。物理存储器94包括硬盘驱动器存储器、磁带存储器、DSN存储器、闪存和拇指驱动器(thumbdrive)存储器中的一个或多个。=物理存储器94根据标准DSN数据访问协议(例如,传统方法、标准化方法,实际上标准化方法、和/或专有方法)存储编码数据片。
在操作的示例中,设备80使用标准DSN数据访问协议或非标准DSN数据访问协议(例如,不是标准DSN数据访问协议)来确定是否发出关于数据的数据请求。例如,标准DSN数据访问协议对应于参考图1-9中的一个或多个所讨论的DSN操作。因此,对于该示例,非标准DSN数据访问协议是访问DSN存储器22(即,存储单元36)中的数据的一些其他方式。
设备80基于一个或多个因素确定标准或非标准DSN数据访问协议。例如,当数据包括多个相关数据对象时,设备确定利用非标准DSN数据访问协议。作为具体示例,相关数据对象是来自同一作者的关于相同主题的书的章节等。确定使用非标准DSN数据访问协议的另一个因素是,对于相关数据,较少的数据访问请求需要被生成、发送和处理。
作为另一示例,当数据包括数据对象的不同修订级别时,设备确定利用非标准DSN数据访问协议。作为具体示例,数据对象已被修改一次或多次。对于每个修改,数据对象被分散存储错误编码以产生多组编码数据片。多组编码数据片中的每一组的编码数据片具有对应于修改级别的修订级别。因此,当希望访问相同数据的多个修订级别时,使用非标准DSN数据访问协议。
作为又一示例,当数据包括特定的一组编码数据片时,设备确定利用标准DSN数据访问协议。例如,特定的一组编码数据片附属于多个其他组的编码数据片,这些组的编码数据片被绑定在一起,具有根据非标准DSN数据访问协议创建的数据名称。作为另一示例,设备基于数据访问功能确定利用非标准DSN数据访问协议或标准DSN数据访问协议。作为具体示例,设备确定将标准DSN数据访问协议用于写请求,并将非标准DSN数据访问协议用于读取请求或列出请求(例如,返回与存储的编码数据片对应的片名称列表,其中该片名称在片名称的范围内)。
当设备确定使用非标准DSN数据访问协议时,它生成关于数据的一组非标准数据访问请求98。例如,非标准数据访问请求包括存储单元的网络标识符102、与数据相对应的数据标识符、以及数据访问功能。这将参考图16更详细地讨论。然后,设备将该组非标准数据访问请求发送到至少一些存储单元。
存储单元(例如,存储单元1)基于标识第一存储单元的网络标识符,经由非标准DSN接口88接收相应的一个非标准数据访问请求。注意,非标准DSN接口88包括物理连接器(例如,网络端口)和一个或多个接口协议应用。例如,接口协议应用程序是应用程序接口(API)、和/或LAN信号协议驱动、WAN信号协议驱动。
接口88将非标准数据访问请求转发到非标准到标准转换模块92,其将非标准数据访问请求转换成一个或多个DSN片名称(例如,提供名称转换功能)。然后,存储单元确定一个或多个DSN片名称是否在分配给存储单元的片名称范围内。如果不是,则存储单元报告并报错,或者只是忽略该请求。如果片名称在该范围内,则将片名称提供给逻辑到物理地址转换模块90,以确定物理存储数据的相应编码数据片的位置。接下来,存储单元执行关于相应的编码数据片的数据访问功能(例如,读、写、修改、删除、列出)。
如前面参考图1-9中的一个或多个所描述的,当计算设备确定使用标准DSN数据访问协议时,它生成关于数据的一组数据访问请求96。然后,设备基于片名称100向存储单元发送请求。在存储单元1内,它接收相应的请求和片名称。逻辑到物理地址转换模块90将片名称转换为物理地址以确定对应的编码数据片的存储位置。接下来,存储单元执行关于相应的编码数据片的数据访问功能(例如,读、写、修改、删除、列出)。
图11是标准编码数据片命名的示例的图。在该示例中,数据41(例如,书、视频、照片库等)被划分为数据对象40-1至40-z。为每个数据对象分配对象ID(例如,随机生成)并将其划分为数据段。为每个数据段分配一个段ID,并对每个数据段进行分散存储错误编码以产生一组编码数据片。每个编码数据片具有片名称,该片名称包括柱编号、段ID(或编号)、库ID、修订编号、和对象ID。为了检索数据41,设备为与数据41相关的每个数据对象生成并发出单独的读取请求。
图12是非标准数据命名的示例的图。在该示例中,数据41再次被分成数据对象40-1到40-z。为数据41分配数据名称(例如,书1、视频1、照片库1),并且为每个数据对象分配相关名称(例如,书1第1章、视频1第1章、库1第1章等)。为了检索数据41,设备生成并发出对数据41的单个读取请求。
图13是非标准数据命名的另一示例的图。在此示例中,相关数据对象被赋予相关数据名称。例如,数据对象40-1被赋予名称书1的第1章,数据对象40-z被赋予名称书1的第z章。使用其中一个数据对象名称,设备可以检索全部、或者至少一些具有相关名称的数据对象。注意,设备和存储单元保持标准DSN对象ID到非标准DSN数据对象名称的映射,以便于转换。
图14是访问DSN中的编码数据片的示例的示意性框图。每列编码数据片(EDS)对应于编码方案的柱宽度数的柱编号。在这个例子中,柱宽度数是五;其中柱编号1的EDS存储在一个或多个第一存储单元(SU 1)中;柱编号2的EDS存储在一个或多个第二存储单元(SUs)中;等等。此示例进一步显示存储单元支持两个库(库1和库2)。
每个编码数据片(EDS)基于其片名称存储,片名称包括最重要到最不重要的顺序:柱编号、段编号、库编号(包括库生成信息)、修订编号、和对象编号。由于柱编号是片名称的最重要部分,它允许柱1的EDS存储在第一存储单元中。在第一存储单元内,EDS按段编号、库编号、修订编号和对象编号按顺序存储。这样,对于与编码数据对象相对应的多组编码数据片,柱1的EDS不以连续方式逻辑存储;它们与其他编码数据对象的柱1的EDS分散,并且具有相同数据对象的不同修订级别。
如在该示例中进一步示出的,存储三个编码数据对象:数据对象“a1”、数据对象“a2”和数据对象“b1”。数据对象“a1”的两个版本被存储,修订级别“1”(例如,多组先前的转EDS)和修订级别“2”(例如,多组当前的转EDS)。
在一个示例中,使用标准DSN数据访问协议来访问编码数据对象“a1”的两个修订级别需要两组多个访问请求:一组用于每个修订级别。但是,使用非标准DSN数据访问协议,标识数据对象“a1”的一个访问请求将提供对两个修订级别的访问。
作为另一示例,如果数据对象“a1”和“a2”是相关的(例如,书的章节),则使用标准DSN数据访问协议来访问两个编码数据对象需要两组多个访问请求:每个数据对象一个。然而,使用非标准DSN数据访问协议,标识数据对象“a1”和“a2”的一个访问请求将提供对两个数据对象的访问。根据两个数据对象被标识的方式,非标准DSN访问请求将只访问给定数据对象的最新修订级别、给定数据对象的选定修订级别、或给定数据对象的多个修订级别。
图15是在DSN中标准和非标准数据访问的方法的示例的逻辑图,其包括步骤110,其中设备(例如,计算设备12或16)确定是否使用非标准DSN数据访问协议或标准DSN数据访问协议,以从DSN访问数据。数据(例如,数据段、一组数据段、数据对象、多个数据对象等)被分散存储错误编码成存储在DSN的一组存储器单元中的一组或多组编码数据片。
设备可以确定以多种方式利用非标准DSN数据访问协议或标准DSN数据访问协议。例如,当数据包括多个相关数据对象时,设备确定利用非标准DSN数据访问协议。作为另一示例,当数据包括数据对象的不同修订级别时,设备确定利用非标准DSN数据访问协议。作为又一示例,当数据包括特定的一组编码数据片时,设备确定利用标准DSN数据访问协议。作为另一示例,设备基于数据访问功能确定利用非标准DSN数据访问协议或标准DSN数据访问协议(例如,使用标准协议用于写入功能或删除功能,使用非标准用于读取功能或列出功能)。
当设备确定使用非标准DSN数据访问协议时,该方法在步骤112继续,其中设备生成关于数据的一组非标准数据访问请求。非标准数据访问请求包括存储单元的网络标识符、与数据相对应的数据标识符、以及数据访问功能。在一个示例中,网络标识符对于存储单元包括以下中的一个或多个:统一记录定位符(uniform record locator,URL)、网络端口、网络接口、应用程序接口(API)、可信证书、认证机构、和证书。在另一示例中,数据标识符包括以下中的一个或多个:文件名、嵌入在URL中的名称、一个或多个数据对象名称、一个或多个数据段名称、数据的名称、数据的集合的名称。在又一示例中,数据访问功能包括以下中的一个或多个:读取请求、写入请求、删除请求和列出请求。在另一示例中,设备生成数据标识符以优化特定DSN功能,其包括以下中的一个或多个:定位相关编码数据片、列出相关编码数据片、以及列出关于编码数据片的转换后的名称。注意,相关包括通过主题相关、通过名称相关、通过数据组织相关、和/或通过修订编号相关。
该方法在步骤114继续,其中该设备将该组非标准数据访问请求发送到该组存储单元(其包括该存储单元)的至少一些存储单元。该方法在步骤116继续,其中存储单元将非标准数据访问请求转换为一个或多个DSN片名称。将参考图17进一步讨论示例。
该方法在步骤118继续,其中存储单元确定一个或多个DSN片名称是否在分配给该存储单元的片名称范围内。如果不是,则该方法在步骤122继续,其中存储单元确定该请求是错误并发送错误消息或忽略该请求。然而,如果一个或多个DSN片名称在片名称范围内,则该方法在步骤120继续,其中存储单元执行关于对应于一个或多个DSN片名称的一个或多个编码数据片的数据访问功能(例如,读取、写入、删除、列出等)。
在步骤110,当设备确定使用标准DSN数据访问协议时,该方法在步骤124继续,其中设备生成关于数据的一组数据访问请求,其包括DSN片名称和数据访问功能。注意,DSN片名称为存储单元提供DSN地址。该方法在步骤126继续,其中设备将该组数据访问请求发送到该组存储单元。该方法在步骤128继续,其中存储单元执行数据访问功能。
图16是在DSN中进行标准和非标准数据访问的方法的发送步骤的示例的逻辑图。关于每个存储单元被设置请求,该方法包括步骤130,其中设备验证可信证书(例如,关于存储单元的由可信管理机构签名的证书)、认证机构(例如,可信授权机构颁发可信证书)、以及凭证(例如,认证交易的权利、与DSN中的其他设备通信的权利、关于此类通信的性质的权利等)中的一个或多个。如果在步骤132没有验证,则该方法在步骤134继续,其中设备产生错误(即,其识别出错误的存储单元或无效的存储单元)。
当已经验证了可信证书、认证机构和凭证中的一个或多个时,该方法在步骤136继续,其中设备确定经由URL、网络端口、网络接口、以及API中的一个来寻址存储单元,以产生确定的访问机制。该方法在步骤138继续,其中设备经由该确定的访问机制将该组非标准数据访问请求发送到至少一些存储单元。
图17是在DSN中进行标准和非标准数据访问的方法的转换步骤的示例的逻辑图。该方法开始于步骤140,其中存储单元基于发出数据访问请求的请求设备的身份来确定库标识符。例如,存储单元执行查找以识别库。作为另一示例,该请求包括库ID。该方法在步骤142继续,其中存储单元基于库标识符和网络标识符确定柱编号。例如,存储单元知道该库存储一个编码数据片。作为另一示例,网络标识符包括柱编号的指示。
该方法在步骤144继续,其中存储单元基于数据标识符确定段标识符的范围。该方法在步骤146继续,其中存储单元基于数据标识符确定对象标识符。例如,基于对象标识符,存储单元可以查找或以其他方式确定与数据对象相关联的段的数量。该方法在步骤148继续,其中存储单元基于柱编号、库标识符、段标识符的范围和对象标识符生成一个或多个DSN片名称。注意,设备可以执行图17的反转,以生成非标准DSN数据访问请求的网络标识符和数据标识符。
注意,可以在本文中使用的术语,诸如比特流、流、信号序列等(或它们的等同物)可互换地用于描述其内容对应于多种期望类型(例如,数据、视频、语音、音频等,其中任何一个通常可以称为“数据”)中的任何一种的数字信息。
如本文可能使用的,术语“基本上”和“大致”为其对应的术语和/或项目之间的相对性提供了行业可接受的容差。这种行业可接受的容差范围从小于百分之一到百分之五十,并且对应于但不限于元件值、集成电路工艺变化、温度变化、上升和下降时间、和/或热噪声。项目之间的这种相关性的范围从几个百分点的差异到重大差异。如本文中还可以使用的,术语“被配置为”、“可操作地耦合到”、“耦合到”、和/或“耦合”包括项目之间的直接耦合和/或通过中间项目的项目之间的间接耦合(例如,项目包括但不限于组件、元件、电路和/或模块)其中,对于间接耦合的示例,中间项目不修改信号的信息但可以调整其电流水平、电压水平、和/或功率水平。如本文中可进一步使用的,推断的耦合(即,其中一个元件通过推断耦合到另一个元件)包括以与“耦合到”相同的方式在两个项目之间的直接和间接耦合。如本文中甚至可以进一步使用的,术语“配置为”、“可操作地”、“耦合到”、或“可操作地耦合到”指示项目包括电源连接、输入、输出等中的一个或多个,当被激活时,执行其一个或多个其相应的功能,并且还可以包括到一个或多个其他项目的推断的耦合。如本文中还可进一步使用的,术语“与……相关联”包括单独项目的直接和/或间接耦合和/或一个项目嵌入在另一项目中。
如本文中可使用的,术语“有利地比较”表示两个或更多个项目、信号等之间的比较提供了期望的关系。例如,当期望的关系是信号1具有比信号2更大的幅度时,当信号1的幅度大于信号2的幅度或者当信号2的幅度小于信号1的幅度时,可以实现有利的比较。如本文中可能使用的,术语“不利地比较”表示两个或更多个项目、信号等之间的比较未能提供期望的关系。
如本文中还可使用的,术语“处理模块”、“处理电路”、“处理器”、和/或“处理单元”可以是单个处理设备或多个处理设备。这种处理设备可以是微处理器、微控制器、数字信号处理器、微计算机、中央处理单元、现场可编程门阵列、可编程逻辑设备、状态机、逻辑电路、模拟电路、数字电路、和/或基于电路的硬编码和/或操作指令来操纵(模拟和/或数字的)信号任何设备。处理模块、模块、处理电路、和/或处理单元可以是或者进一步包括存储器和/或集成存储器元件,其可以是单个存储器设备、多个存储器设备、和/或另一处理模块、模块、处理电路和/或处理单元中的嵌入式电路。这样的存储器设备可以是只读存储器、随机存取存储器、易失性存储器、非易失性存储器、静态存储器、动态存储器、闪存、高速缓冲存储器、和/或存储数字信息的任何设备。注意,如果处理模块、模块、处理电路、和/或处理单元包括多于一个处理设备,则处理设备可以中心地定位(例如,经由有线和/或无线总线结构直接耦合在一起)或者可以是分布式地定位(例如,经由局域网和/或广域网的间接耦合的云计算)。进一步注意,如果处理模块、模块、处理电路、和/或处理单元经由状态机、模拟电路、数字电路、和/或逻辑电路实现其一个或多个功能,则存储相应的操作指令的存储器和/或存储器元件可以嵌入在包括状态机、模拟电路、数字电路、和/或逻辑电路的电路内或在该电路的外部。还注意,存储元件可以存储,并且处理模块、模块、处理电路、和/或处理单元执行与一个或多个附图中描述的步骤和/或功能中的至少一些相对应的硬编码和/或操作指令。这种存储器件或存储元件可以包括在制品中。
上面已经借助于示出具体功能及其关系的执行的方法步骤描述了一个或多个实施例。为了便于描述,这里任意定义了这些功能构建块和方法步骤的边界和顺序。只要适当地执行指定的功能和关系,就可以定义替代的边界和顺序。因此,任何这样的替代的边界或顺序都在权利要求的范围和精神内。此外,为了便于描述,这些功能构建块的边界已被任意定义。只要适当地执行某些重要功能,就可以定义替代的边界。类似地,也可以在本文中任意定义流程图块以说明某些重要功能。
在所使用的程度上,可以另外定义流程图块边界和顺序并且仍然执行某些重要功能。因此,功能构建块和流程图块以及顺序的这种替代定义在权利要求的范围和精神内。本领域普通技术人员还将认识到,本文中的功能构建块和其他说明性块、模块和组件可以如图所示实现,或者由分立组件、专用集成电路、执行适当软件的处理器等或者其组合来实现。
另外,流程图可以包括“开始”和/或“继续”指示。“开始”和“继续”指示反映了所呈现的步骤可以任选地并入或以其他方式结合其他例程使用。在上下文中,“开始”表示所呈现的第一步骤的开始,并且可以在未具体示出的其他活动之前。此外,“继续”指示反映了所呈现的步骤可以多次执行和/或可以由未具体示出的其他活动继续。此外,尽管流程图指示步骤的特定顺序,但是其他顺序同样是可能的,只要保持因果关系原则即可。
本文使用一个或多个实施例来说明一个或多个方面、一个或多个特征、一个或多个概念、和/或一个或多个示例。装置、制品、机器、和/或过程的物理实施例可包括参考本文所讨论的一个或多个实施例描述的一个或多个方面、特征、概念、示例等。此外,从图到图,实施例可以包含相同或类似命名的功能、步骤、模块等,其可以使用相同或不同的附图标记,并且因此,功能、步骤、模块等可以是相同或相似的功能、步骤、模块等或者是不同的功能、步骤、模块等。
除非特别相反地说明,否则本文呈现的任意附图的图中的元件之间的信号可以是模拟的或数字的、连续时间的或离散时间的、以及单端的或差分的。例如,如果信号路径显示为单端路径,则它还表示差分信号路径。类似地,如果信号路径显示为差分路径,则它也表示单端信号路径。虽然本文描述了一个或多个具体体系结构,但是同样可以实现其他体系结构,其使用未明确示出的一个或多个数据总线、元件之间的直接连接、和/或本领域普通技术人员认识到的其他元件之间的间接耦合。
术语“模块”用于一个或多个实施例的描述中。模块经由诸如处理器或其他处理设备之类的设备、或者可以包括存储操作指令的存储器或与存储操作指令的存储器相关联的其他硬件实现一个或多个功能。可以独立地操作和/或与软件和/或固件一起操作模块。还如本文中所使用的,模块可以包含一个或多个子模块,每个子模块可以是一个或多个模块。
如本文中可进一步使用的,计算机可读存储器包括一个或多个存储器元件。存储器元件可以是单独的存储器设备、多个存储器设备、或存储器设备内的一组存储器位置。这样的存储器设备可以是只读存储器、随机存取存储器、易失性存储器、非易失性存储器、静态存储器、动态存储器、闪存、高速缓冲存储器、和/或存储数字信息的任何设备。存储器设备可以是固态存储器、硬盘驱动器存储器、云存储器、拇指驱动器、服务器存储器、计算设备存储器、和/或用于存储数字信息的其他物理介质的形式。
虽然本文已明确描述了一个或多个实施例的各种功能和特征的特定组合,但是这些特征和功能的其他组合同样是可能的。本公开不受本文公开的具体实施例的限制,并且明确地包含这些其他组合。
Claims (14)
1.一种数据访问方法,包括:
由分散存储网络,即DSN,的计算设备确定是否利用非标准DSN数据访问协议或标准DSN数据访问协议来访问来自所述DSN的数据,其中所述数据被分散存储错误编码为一组或多组编码数据片,并且其中所述一组或多组编码数据片存储在所述DSN的一组存储单元中;
当所述计算设备确定使用所述非标准DSN数据访问协议时:
由所述计算设备生成关于所述数据的一组非标准数据访问请求,其中所述一组非标准数据访问请求中的非标准数据访问请求包括所述一组存储单元中的存储单元的网络标识符、与所述数据对应的数据标识符以及数据访问功能;
由所述计算设备向包括所述存储单元的所述一组存储单元中至少一些存储单元发送所述一组非标准数据访问请求;
由所述存储单元将所述非标准数据访问请求转换为一个或多个DSN片名称;
由所述存储单元确定所述一个或多个DSN片名称在分配给所述存储单元的片名称范围内;以及
当所述一个或多个DSN片名称在所述片名称范围内时,由所述存储单元执行关于与所述一个或多个DSN片名称对应的一个或多个编码数据片的所述数据访问功能。
2.如权利要求1所述的方法,还包括:
当所述计算设备确定使用所述标准DSN数据访问协议时:
由所述计算设备生成关于所述数据的一组数据访问请求,其中所述一组数据访问请求中的数据访问请求包括一个或多个DSN片名称和所述数据访问功能,并且其中所述一个或多个DSN片名称为所述存储单元提供一个或多个DSN地址;
由所述计算设备向所述一组存储单元发送所述一组数据访问请求;以及
由所述一组存储单元的至少一些存储单元执行所述数据访问功能。
3.如权利要求1所述的方法,其中,所述确定是否利用所述非标准DSN数据访问协议或所述标准DSN数据访问协议包括以下中的一个或多个:
当所述数据包括多个相关的数据对象时,确定利用所述非标准DSN数据访问协议;
当所述数据包括数据对象的不同修订级别时,确定利用所述非标准DSN数据访问协议;
当所述数据包括具体的一组编码数据片时,确定利用所述标准DSN数据访问协议;以及
基于所述数据访问功能确定利用所述非标准DSN数据访问协议或所述标准DSN数据访问协议。
4.如权利要求1所述的方法,还包括:
针对所述存储单元的所述网络标识符包括以下中的一个或多个:统一记录定位符(URL)、网络端口、网络接口、应用程序接口(API)、可信证书、认证机构、和凭证;
所述数据标识符包括以下中的一个或多个:文件名、统一记录定位符(URL)中嵌入的名称、一个或多个数据对象名称、一个或多个数据段名称、数据名称、数据集名称;以及
所述数据访问功能包括以下中的一个或多个:读取请求、写入请求、删除请求、和列出请求。
5.如权利要求4所述的方法,其中,将所述一组非标准数据访问请求发送到所述一组存储单元中的至少一些存储单元包括:
对于所述至少一些存储单元中的每一个:
验证所述可信证书、所述认证机构和所述凭证中的一个或多个;
当已经验证了所述可信证书、所述认证机构和所述凭证中的一个或多个时,通过所述统一记录定位符(URL)、所述网络端口、所述网络接口、和所述应用程序接口(API)中的一个确定寻址所述存储单元以产生确定的访问机制;以及
通过所确定的访问机制将所述一组非标准数据访问请求发送到至少一些存储单元。
6.如权利要求1所述的方法,还包括:
生成所述数据标识符以优化特定的DSN功能,其中所述特定的DSN功能包括以下中的一个或多个:定位相关的编码数据片、列出相关的编码数据片、以及列出关于编码数据片的转换后的名称。
7.如权利要求1所述的方法,其中,将所述非标准数据访问请求转换为一个或多个DSN片名称包括:
基于发出数据访问请求的请求设备的身份确定库标识符;
基于所述库标识符和所述网络标识符确定柱编号;
基于所述数据标识符确定段标识符的范围;
基于所述数据标识符确定对象标识符;以及
基于所述柱编号、所述库标识符、所述段标识符的范围、和所述对象标识符生成所述一个或多个DSN片名称。
8.一种计算机可读存储器,包括:
存储操作指令的第一存储器元件,当由分散存储网络,即DSN,的计算设备执行时,所述操作指令使所述计算设备:
确定是否利用非标准DSN数据访问协议或标准DSN数据访问协议来访问来自所述DSN的数据,其中所述数据被分散存储错误编码为一组或多组编码数据片,并且其中所述一组或多组编码数据片存储在所述DSN的一组存储单元中;
当所述计算设备确定使用所述非标准DSN数据访问协议时:
生成关于所述数据的一组非标准数据访问请求,其中所述一组非标准数据访问请求中的非标准数据访问请求包括所述一组存储单元中的存储单元的网络标识符、与所述数据对应的数据标识符以及数据访问功能;
向包括所述存储单元的所述一组存储单元中至少一些存储单元发送所述一组非标准数据访问请求;
存储操作指令的第二存储器元件,当由所述一组存储单元中的存储单元执行时,所述操作指令使所述存储单元:
将所述非标准数据访问请求转换为一个或多个DSN片名称;
确定所述一个或多个DSN片名称在分配给所述存储单元的片名称范围内;以及
当所述一个或多个DSN片名称在所述片名称范围内时,执行关于与所述一个或多个DSN片名称对应的一个或多个编码数据片的所述数据访问功能。
9.如权利要求8所述的计算机可读存储器,还包括:
存储操作指令的第三存储器元件,当由所述计算设备执行时,所述操作指令使所述计算设备:
当所述计算设备确定使用所述标准DSN数据访问协议时:
生成关于所述数据的一组数据访问请求,其中所述一组数据访问请求中的数据访问请求包括一个或多个DSN片名称和所述数据访问功能,并且其中所述一个或多个DSN片名称为所述存储单元提供一个或多个DSN地址;
向所述一组存储单元发送所述一组数据访问请求;以及
存储操作指令的第四存储器元件,当由所述存储单元执行时,所述操作指令使所述存储单元:
执所述一组数据访问请求中的一个访问请求的所述数据访问功能。
10.如权利要求8所述的计算机可读存储器,其中所述第一存储器元件还存储操作指令,当由分散存储网络(DSN)的计算设备执行时,所述操作指令使所述计算设备确定是否利用所述非标准DSN数据访问协议或所述标准DSN数据访问协议,通过以下中的一个或多个:
当所述数据包括多个相关的数据对象时,确定利用所述非标准DSN数据访问协议;
当所述数据包括数据对象的不同修订级别时,确定利用所述非标准DSN数据访问协议;
当所述数据包括具体的一组编码数据片时,确定利用所述标准DSN数据访问协议;以及
基于所述数据访问功能确定利用所述非标准DSN数据访问协议或所述标准DSN数据访问协议。
11.如权利要求8所述的计算机可读存储器,还包括:
针对所述存储单元的所述网络标识符包括以下中的一个或多个:统一记录定位符(URL)、网络端口、网络接口、应用程序接口(API)、可信证书、认证机构、和凭证;
所述数据标识符包括以下中的一个或多个:文件名、统一记录定位符(URL)中嵌入的名称、一个或多个数据对象名称、一个或多个数据段名称、数据名称、数据集名称;以及
所述数据访问功能包括以下中的一个或多个:读取请求、写入请求、删除请求、和列出请求。
12.如权利要求11所述的计算机可读存储器,其中所述第一存储器元件还存储操作指令,当由分散存储网络(DSN)的计算设备执行时,所述操作指令使所述计算设备将所述一组非标准数据访问请求发送到所述一组存储单元中的至少一些存储单元,通过:
对于所述至少一些存储单元中的每一个:
验证所述可信证书、所述认证机构和所述凭证中的一个或多个;
当已经验证了所述可信证书、所述认证机构和所述凭证中的一个或多个时,通过所述统一记录定位符(URL)、所述网络端口、所述网络接口、和所述应用程序接口(API)中的一个确定寻址所述存储单元以产生确定的访问机制;以及
通过所确定的访问机制将所述一组非标准数据访问请求发送到至少一些存储单元。
13.如权利要求8所述的计算机可读存储器,还包括:
存储操作指令的第三存储器元件,当由所述计算设备执行时,所述操作指令使所述计算设备:
生成所述数据标识符以优化特定的DSN功能,其中所述特定的DSN功能包括以下中的一个或多个:定位相关的编码数据片、列出相关的编码数据片、以及列出关于编码数据片的转换后的名称。
14.如权利要求8所述的计算机可读存储器,其中存储操作指令的所述第二存储器元件,当由所述一组存储单元中的存储单元执行时,所述操作指令使所述存储单元将所述非标准数据访问请求转换为一个或多个DSN片名称,通过:
基于发出数据访问请求的请求设备的身份确定库标识符;
基于所述库标识符和所述网络标识符确定柱编号;
基于所述数据标识符确定段标识符的范围;
基于所述数据标识符确定对象标识符;以及
基于所述柱编号、所述库标识符、所述段标识符的范围、和所述对象标识符生成所述一个或多个DSN片名称。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/257,001 US10169149B2 (en) | 2016-09-06 | 2016-09-06 | Standard and non-standard dispersed storage network data access |
US15/257,001 | 2016-09-06 | ||
PCT/IB2017/055309 WO2018047053A1 (en) | 2016-09-06 | 2017-09-04 | Standard and non-standard dispersed storage network data access |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109661665A CN109661665A (zh) | 2019-04-19 |
CN109661665B true CN109661665B (zh) | 2023-09-12 |
Family
ID=61280523
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780054521.7A Active CN109661665B (zh) | 2016-09-06 | 2017-09-04 | 标准和非标准分散存储网络数据访问 |
Country Status (6)
Country | Link |
---|---|
US (2) | US10169149B2 (zh) |
JP (1) | JP6975228B2 (zh) |
CN (1) | CN109661665B (zh) |
DE (1) | DE112017002940T5 (zh) |
GB (1) | GB2569476B (zh) |
WO (1) | WO2018047053A1 (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11283869B2 (en) * | 2020-03-25 | 2022-03-22 | International Business Machines Corporation | Data governance in a dispersed storage network using bucket templates |
US11243695B2 (en) | 2020-05-28 | 2022-02-08 | International Business Machines Corporation | Leasing unordered items in namespace indices |
US11188419B1 (en) | 2020-05-28 | 2021-11-30 | International Business Machines Corporation | Namespace indices in dispersed storage networks |
US11194660B1 (en) | 2020-05-28 | 2021-12-07 | International Business Machines Corporation | Listing and protocol for namespace index |
US11500700B2 (en) | 2020-05-28 | 2022-11-15 | International Business Machines Corporation | Leasing prioritized items in namespace indices |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4092732A (en) * | 1977-05-31 | 1978-05-30 | International Business Machines Corporation | System for recovering data stored in failed memory unit |
CN1585410A (zh) * | 2003-08-21 | 2005-02-23 | 微软公司 | 通过网络提供的scsi设备访问 |
JP2011003187A (ja) * | 2009-06-22 | 2011-01-06 | Samsung Electronics Co Ltd | クラウドストレージを提供するクライアント、仲介サーバ及び方法 |
CN105359105A (zh) * | 2013-05-29 | 2016-02-24 | 微软技术许可有限责任公司 | 通过网络文件访问协议的高效编程存储器访问 |
Family Cites Families (84)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5485474A (en) | 1988-02-25 | 1996-01-16 | The President And Fellows Of Harvard College | Scheme for information dispersal and reconstruction |
US5454101A (en) | 1992-09-15 | 1995-09-26 | Universal Firmware Industries, Ltd. | Data storage system with set lists which contain elements associated with parents for defining a logical hierarchy and general record pointers identifying specific data sets |
US5987622A (en) | 1993-12-10 | 1999-11-16 | Tm Patents, Lp | Parallel computer system including parallel storage subsystem including facility for correction of data in the event of failure of a storage device in parallel storage subsystem |
US6175571B1 (en) | 1994-07-22 | 2001-01-16 | Network Peripherals, Inc. | Distributed memory switching hub |
US5848230A (en) | 1995-05-25 | 1998-12-08 | Tandem Computers Incorporated | Continuously available computer memory systems |
US5774643A (en) | 1995-10-13 | 1998-06-30 | Digital Equipment Corporation | Enhanced raid write hole protection and recovery |
US5809285A (en) | 1995-12-21 | 1998-09-15 | Compaq Computer Corporation | Computer system having a virtual drive array controller |
US6012159A (en) | 1996-01-17 | 2000-01-04 | Kencast, Inc. | Method and system for error-free data transfer |
US5802364A (en) | 1996-04-15 | 1998-09-01 | Sun Microsystems, Inc. | Metadevice driver rename/exchange technique for a computer system incorporating a plurality of independent device drivers |
US5890156A (en) | 1996-05-02 | 1999-03-30 | Alcatel Usa, Inc. | Distributed redundant database |
US6058454A (en) | 1997-06-09 | 2000-05-02 | International Business Machines Corporation | Method and system for automatically configuring redundant arrays of disk memory devices |
US6088330A (en) | 1997-09-09 | 2000-07-11 | Bruck; Joshua | Reliable array of distributed computing nodes |
US5991414A (en) | 1997-09-12 | 1999-11-23 | International Business Machines Corporation | Method and apparatus for the secure distributed storage and retrieval of information |
US6272658B1 (en) | 1997-10-27 | 2001-08-07 | Kencast, Inc. | Method and system for reliable broadcasting of data files and streams |
JPH11161505A (ja) | 1997-12-01 | 1999-06-18 | Matsushita Electric Ind Co Ltd | メディア送出装置 |
JPH11167443A (ja) | 1997-12-02 | 1999-06-22 | Casio Comput Co Ltd | インターフェイス装置 |
US6415373B1 (en) | 1997-12-24 | 2002-07-02 | Avid Technology, Inc. | Computer system and process for transferring multiple high bandwidth streams of data between multiple storage units and multiple applications in a scalable and reliable manner |
US6374336B1 (en) | 1997-12-24 | 2002-04-16 | Avid Technology, Inc. | Computer system and process for transferring multiple high bandwidth streams of data between multiple storage units and multiple applications in a scalable and reliable manner |
CA2341014A1 (en) | 1998-08-19 | 2000-03-02 | Alexander Roger Deas | A system and method for defining transforms of memory device addresses |
US6356949B1 (en) | 1999-01-29 | 2002-03-12 | Intermec Ip Corp. | Automatic data collection device that receives data output instruction from data consumer |
US6609223B1 (en) | 1999-04-06 | 2003-08-19 | Kencast, Inc. | Method for packet-level fec encoding, in which on a source packet-by-source packet basis, the error correction contributions of a source packet to a plurality of wildcard packets are computed, and the source packet is transmitted thereafter |
US6571282B1 (en) | 1999-08-31 | 2003-05-27 | Accenture Llp | Block-based communication in a communication services patterns environment |
US6826711B2 (en) | 2000-02-18 | 2004-11-30 | Avamar Technologies, Inc. | System and method for data protection with multidimensional parity |
US6718361B1 (en) | 2000-04-07 | 2004-04-06 | Network Appliance Inc. | Method and apparatus for reliable and scalable distribution of data files in distributed networks |
EP1364510B1 (en) | 2000-10-26 | 2007-12-12 | Prismedia Networks, Inc. | Method and system for managing distributed content and related metadata |
US7103915B2 (en) | 2000-11-13 | 2006-09-05 | Digital Doors, Inc. | Data security system and method |
US7140044B2 (en) | 2000-11-13 | 2006-11-21 | Digital Doors, Inc. | Data security system and method for separation of user communities |
US8176563B2 (en) | 2000-11-13 | 2012-05-08 | DigitalDoors, Inc. | Data security system and method with editor |
US7146644B2 (en) | 2000-11-13 | 2006-12-05 | Digital Doors, Inc. | Data security system and method responsive to electronic attacks |
GB2369206B (en) | 2000-11-18 | 2004-11-03 | Ibm | Method for rebuilding meta-data in a data storage system and a data storage system |
US6785783B2 (en) | 2000-11-30 | 2004-08-31 | International Business Machines Corporation | NUMA system with redundant main memory architecture |
US7080101B1 (en) | 2000-12-01 | 2006-07-18 | Ncr Corp. | Method and apparatus for partitioning data for storage in a database |
US20030084020A1 (en) | 2000-12-22 | 2003-05-01 | Li Shu | Distributed fault tolerant and secure storage |
US6857059B2 (en) | 2001-01-11 | 2005-02-15 | Yottayotta, Inc. | Storage virtualization system and methods |
US6775792B2 (en) | 2001-01-29 | 2004-08-10 | Snap Appliance, Inc. | Discrete mapping of parity blocks |
US20030037261A1 (en) | 2001-03-26 | 2003-02-20 | Ilumin Corporation | Secured content delivery system and method |
US6879596B1 (en) | 2001-04-11 | 2005-04-12 | Applied Micro Circuits Corporation | System and method for systolic array sorting of information segments |
US7024609B2 (en) | 2001-04-20 | 2006-04-04 | Kencast, Inc. | System for protecting the transmission of live data streams, and upon reception, for reconstructing the live data streams and recording them into files |
GB2377049A (en) | 2001-06-30 | 2002-12-31 | Hewlett Packard Co | Billing for utilisation of a data storage array |
US6944785B2 (en) | 2001-07-23 | 2005-09-13 | Network Appliance, Inc. | High-availability cluster virtual server system |
US7636724B2 (en) | 2001-08-31 | 2009-12-22 | Peerify Technologies LLC | Data storage system and method by shredding and deshredding |
US7024451B2 (en) | 2001-11-05 | 2006-04-04 | Hewlett-Packard Development Company, L.P. | System and method for maintaining consistent independent server-side state among collaborating servers |
US7003688B1 (en) | 2001-11-15 | 2006-02-21 | Xiotech Corporation | System and method for a reserved memory area shared by all redundant storage controllers |
US7171493B2 (en) | 2001-12-19 | 2007-01-30 | The Charles Stark Draper Laboratory | Camouflage of network traffic to resist attack |
AU2003263800B2 (en) | 2002-07-29 | 2008-08-21 | Robert Halford | Multi-dimensional data protection and mirroring method for micro level data |
US7051155B2 (en) | 2002-08-05 | 2006-05-23 | Sun Microsystems, Inc. | Method and system for striping data to accommodate integrity metadata |
US20040122917A1 (en) | 2002-12-18 | 2004-06-24 | Menon Jaishankar Moothedath | Distributed storage system for data-sharing among client computers running defferent operating system types |
JP2006526204A (ja) | 2003-03-13 | 2006-11-16 | ディーアールエム テクノロジーズ、エルエルシー | セキュアストリーミングコンテナ |
US7185144B2 (en) | 2003-11-24 | 2007-02-27 | Network Appliance, Inc. | Semi-static distribution technique |
GB0308262D0 (en) | 2003-04-10 | 2003-05-14 | Ibm | Recovery from failures within data processing systems |
GB0308264D0 (en) | 2003-04-10 | 2003-05-14 | Ibm | Recovery from failures within data processing systems |
US7415115B2 (en) | 2003-05-14 | 2008-08-19 | Broadcom Corporation | Method and system for disaster recovery of data from a storage device |
CN101566931B (zh) | 2003-08-14 | 2011-05-18 | 克姆佩棱特科技公司 | 虚拟磁盘驱动系统和方法 |
US7899059B2 (en) | 2003-11-12 | 2011-03-01 | Agere Systems Inc. | Media delivery using quality of service differentiation within a media stream |
US8332483B2 (en) | 2003-12-15 | 2012-12-11 | International Business Machines Corporation | Apparatus, system, and method for autonomic control of grid system resources |
US7206899B2 (en) | 2003-12-29 | 2007-04-17 | Intel Corporation | Method, system, and program for managing data transfer and construction |
US7222133B1 (en) | 2004-02-05 | 2007-05-22 | Unisys Corporation | Method for reducing database recovery time |
US7240236B2 (en) | 2004-03-23 | 2007-07-03 | Archivas, Inc. | Fixed content distributed data storage using permutation ring encoding |
US7231578B2 (en) | 2004-04-02 | 2007-06-12 | Hitachi Global Storage Technologies Netherlands B.V. | Techniques for detecting and correcting errors using multiple interleave erasure pointers |
JP4446839B2 (ja) | 2004-08-30 | 2010-04-07 | 株式会社日立製作所 | ストレージ装置及びストレージ管理装置 |
US7680771B2 (en) | 2004-12-20 | 2010-03-16 | International Business Machines Corporation | Apparatus, system, and method for database provisioning |
FR2880444B1 (fr) * | 2005-01-06 | 2007-03-09 | Gemplus Sa | Dispositif de stockage de donnees |
US7386758B2 (en) | 2005-01-13 | 2008-06-10 | Hitachi, Ltd. | Method and apparatus for reconstructing data in object-based storage arrays |
US7672930B2 (en) | 2005-04-05 | 2010-03-02 | Wal-Mart Stores, Inc. | System and methods for facilitating a linear grid database with data organization by dimension |
US7562271B2 (en) * | 2005-09-26 | 2009-07-14 | Rambus Inc. | Memory system topologies including a buffer device and an integrated circuit memory device |
US7574579B2 (en) | 2005-09-30 | 2009-08-11 | Cleversafe, Inc. | Metadata management system for an information dispersed storage system |
US10154034B2 (en) * | 2010-04-26 | 2018-12-11 | International Business Machines Corporation | Cooperative data access request authorization in a dispersed storage network |
US7904475B2 (en) | 2007-10-09 | 2011-03-08 | Cleversafe, Inc. | Virtualized data storage vaults on a dispersed data storage network |
US7574570B2 (en) | 2005-09-30 | 2009-08-11 | Cleversafe Inc | Billing system for information dispersal system |
US8285878B2 (en) | 2007-10-09 | 2012-10-09 | Cleversafe, Inc. | Block based access to a dispersed data storage network |
US7546427B2 (en) | 2005-09-30 | 2009-06-09 | Cleversafe, Inc. | System for rebuilding dispersed data |
US7953937B2 (en) | 2005-09-30 | 2011-05-31 | Cleversafe, Inc. | Systems, methods, and apparatus for subdividing data for storage in a dispersed data storage grid |
US8171101B2 (en) | 2005-09-30 | 2012-05-01 | Cleversafe, Inc. | Smart access to a dispersed data storage network |
US9063881B2 (en) | 2010-04-26 | 2015-06-23 | Cleversafe, Inc. | Slice retrieval in accordance with an access sequence in a dispersed storage network |
US20070214285A1 (en) | 2006-03-08 | 2007-09-13 | Omneon Video Networks | Gateway server |
US8478865B2 (en) * | 2007-10-09 | 2013-07-02 | Cleversafe, Inc. | Systems, methods, and apparatus for matching a connection request with a network interface adapted for use with a dispersed data storage network |
US10230692B2 (en) * | 2009-06-30 | 2019-03-12 | International Business Machines Corporation | Distributed storage processing module |
US9507735B2 (en) * | 2009-12-29 | 2016-11-29 | International Business Machines Corporation | Digital content retrieval utilizing dispersed storage |
US8756338B1 (en) | 2010-04-29 | 2014-06-17 | Netapp, Inc. | Storage server with embedded communication agent |
US9560036B2 (en) | 2010-07-08 | 2017-01-31 | International Business Machines Corporation | Cross-protocol federated single sign-on (F-SSO) for cloud enablement |
US9438675B2 (en) | 2013-08-29 | 2016-09-06 | International Business Machines Corporation | Dispersed storage with variable slice length and methods for use therewith |
US9900316B2 (en) * | 2013-12-04 | 2018-02-20 | International Business Machines Corporation | Accessing storage units of a dispersed storage network |
US9619568B2 (en) | 2014-05-30 | 2017-04-11 | Amadeus S.A.S. | Content access in a travel management system |
CN105573672B (zh) * | 2015-12-11 | 2019-01-25 | 上海爱数信息技术股份有限公司 | 一种基于nfs的虚拟化存储方法和系统 |
-
2016
- 2016-09-06 US US15/257,001 patent/US10169149B2/en not_active Expired - Fee Related
-
2017
- 2017-09-04 JP JP2019512258A patent/JP6975228B2/ja active Active
- 2017-09-04 GB GB1904145.8A patent/GB2569476B/en active Active
- 2017-09-04 DE DE112017002940.6T patent/DE112017002940T5/de not_active Ceased
- 2017-09-04 CN CN201780054521.7A patent/CN109661665B/zh active Active
- 2017-09-04 WO PCT/IB2017/055309 patent/WO2018047053A1/en active Application Filing
-
2018
- 2018-10-15 US US16/160,288 patent/US10372540B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4092732A (en) * | 1977-05-31 | 1978-05-30 | International Business Machines Corporation | System for recovering data stored in failed memory unit |
CN1585410A (zh) * | 2003-08-21 | 2005-02-23 | 微软公司 | 通过网络提供的scsi设备访问 |
JP2011003187A (ja) * | 2009-06-22 | 2011-01-06 | Samsung Electronics Co Ltd | クラウドストレージを提供するクライアント、仲介サーバ及び方法 |
CN105359105A (zh) * | 2013-05-29 | 2016-02-24 | 微软技术许可有限责任公司 | 通过网络文件访问协议的高效编程存储器访问 |
Also Published As
Publication number | Publication date |
---|---|
JP2019536125A (ja) | 2019-12-12 |
GB201904145D0 (en) | 2019-05-08 |
DE112017002940T5 (de) | 2019-03-14 |
CN109661665A (zh) | 2019-04-19 |
US10372540B2 (en) | 2019-08-06 |
US20190050291A1 (en) | 2019-02-14 |
US20180067807A1 (en) | 2018-03-08 |
WO2018047053A1 (en) | 2018-03-15 |
GB2569476B (en) | 2019-10-30 |
US10169149B2 (en) | 2019-01-01 |
JP6975228B2 (ja) | 2021-12-01 |
GB2569476A (en) | 2019-06-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10061648B2 (en) | Efficient method for redundant storage of a set of encoded data slices | |
US10466914B2 (en) | Verifying authorized access in a dispersed storage network | |
CN109661665B (zh) | 标准和非标准分散存储网络数据访问 | |
US10437678B2 (en) | Updating an encoded data slice | |
US11237904B2 (en) | Tracking data access in a dispersed storage network | |
US20190050303A1 (en) | Using dispersed computation to change dispersal characteristics | |
US10120574B2 (en) | Reversible data modifications within DS units | |
US10007575B2 (en) | Alternative multiple memory format storage in a storage network | |
US10031809B2 (en) | Efficient method for rebuilding a set of encoded data slices | |
US10534666B2 (en) | Determining storage requirements based on licensing right in a dispersed storage network | |
US10958731B2 (en) | Indicating multiple encoding schemes in a dispersed storage network | |
US11895098B2 (en) | Storing encrypted chunksets of data in a vast storage network | |
US10423490B2 (en) | Read-source requests to support bundled writes in a distributed storage system | |
US20190155701A1 (en) | Dynamic storage map redirection | |
JP2018524705A (ja) | データ転送中にデータアクセス要求を処理するための方法及びシステム | |
US10805042B2 (en) | Creating transmission data slices for use in a dispersed storage network | |
US10379773B2 (en) | Storage unit for use in a dispersed storage network | |
US10146645B2 (en) | Multiple memory format storage in a storage network | |
US10642687B2 (en) | Pessimistic reads and other smart-read enhancements with synchronized vaults | |
US10169229B2 (en) | Protocols for expanding existing sites in a dispersed storage network | |
US20180107421A1 (en) | Multi-site duplication via high-level storage unit processing modules | |
US20170116080A1 (en) | Requesting avoidance/preference of which dispersed storage units to use on a write or retrieval request |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |