掌桥专利:专业的专利平台
掌桥专利
首页

一种对象存储系统、对象数据的读写方法、介质及设备

文献发布时间:2023-06-19 19:14:59


一种对象存储系统、对象数据的读写方法、介质及设备

技术领域

本申请涉及分布式存储领域,尤其涉及一种对象存储系统、对象数据的读写方法、计算机可读存储介质及计算机设备。

背景技术

互联网时代,数据结构不规则或不完整,没有预定义的数据模型,不方便用数据库二维逻辑表来表现的非结构化数据呈现爆发式的增长,对象存储技术应运而生,对象存储为扁平的二层架构,可快速查找所需对象,非常适合于存储海量非结构化数据,如办公文档、XML、HTML、各类报表、图片和音频、视频信息等。

在对象存储系统(全文概念保持一致)中存储的非结构化数据(即对象数据),对于使用者而言是是十分重要的,因此需要冗余备份,现有技术对一整个存储池使用冗余策略,虽然具有冗余效果,但本质上一个存储系统的所有非结构化数据位于一个大的故障域,一旦用于存储数据的硬盘出现问题,影响范围太大,可靠性差。

发明内容

有鉴于此,本申请提供一种对象存储系统、对象数据的读写方法、计算机可读存储介质及计算机设备。

具体地,本申请是通过如下技术方案实现的:

第一方面,本申请提供了一种对象存储系统,对象存储系统包括业务读写层、虚拟层和存储池,

存储池包含若干个存储节点,存储节点包含若干个存储介质;存储池被划分为若干个子存储池,存储介质被分配到其中一个子存储池;子存储池配置有冗余策略,子存储池的存储节点和存储介质的数量适配于冗余策略;

业务读写层,用于发送读取对象数据的读指令或写入对象数据的写指令,读指令或写指令携带有对象数据的ID信息;

虚拟层,用于在接收到写指令后,基于ID信息将待写入的对象数据写入目标子存储池;在接收到读指令后,根据读指令中的ID信息查找获取所述对象数据,并发送给业务读写层。

第二方面,本申请提供了一种对象数据的读写方法,适用于对象存储系统,该对象存储系统包括存储池,存储池包含若干个存储节点,存储节点包含若干个存储介质;存储池被划分为若干个子存储池,存储介质被分配到其中一个子存储池;子存储池,配置有冗余策略,子存储池的存储节点和存储介质的数量适配于冗余策略;

读写方法包括:

获取请求方发送的写指令,写指令携带待写入对象数据的ID信息;基于ID信息将待写入的对象数据写入目标子存储池;

获取请求方发送的读指令,读指令携带有对象数据的ID信息;根据读指令中的ID信息查找获取对象数据,并发送给请求方。

第三方面,本申请提供了一种计算机可读存储介质,具体通过以下技术方案实现:

一种计算机可读存储介质,其上存储有计算机程序,程序被处理器执行时实现上述方法的步骤。

第四方面,本申请提供了一种计算机设备,具体通过以下技术方案实现:

一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时实现上述方法的步骤。

本申请至少具有以下有益效果:

通过将单一的存储池划分为多个子存储池,由于子存储池具有完整的冗余策略,能够承担与存储池相同的风险,因此应用本申请后的存储池可承受更高的风险,存储池能够允许故障的存储介质的数量也成倍增加;在故障相同数量的存储介质的基础上,故障域由原来的整个存储池缩小为一个子存储池的大小;由此可见本申请的方案允许故障更多的存储介质数量,降低了存储系统的故障域的大小,提高了存储系统的风险承受能力。

附图说明

图1是本申请一示例性实施例示出的一种对象存储系统的框图。

图2a是本申请一示例性实施例示出的一种对象存储系统的存储池的框图。

图2b是本申请一示例性实施例示出的一种对象存储系统的存储池的框图。

图3是本申请一示例性实施例示出的一种对象存储系统的存储池的框图。

图4是本申请一示例性实施例示出的一种对象存储系统的读写方法的逻辑框图。

图5是本申请一示例性实施例示出的一种对象存储系统的写入方法的逻辑框图。

图6是本申请一示例性实施例示出的一种对象存储系统的读取方法的逻辑框图。

图7是本申请一示例性实施例示出的一种计算机设备的框图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。

在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。

应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。

在分布式存储系统中,数据文件分别存储在多个存储服务器上,这些存储服务器称为存储节点,存储节点中用于存储数据的物理实体称为存储介质,如硬盘为常见的一种存储介质。

一个分布式存储系统中的所有存储介质称为存储池,存储池是存储介质在逻辑上的集合。对象存储系统属于分布式存储系统的一种,与分布式存储系统具有相同的架构,用于存储对象数据,而在已有技术方案中,一个存储池中指定数目的硬盘故障将会影响整个存储系统。

指定数目指的是冗余策略允许故障的硬盘数量,冗余策略即备份策略,常见的冗余策略有EC(Erasure Code,纠删码)策略和多副本策略两种。

为此,本申请提出了一种对象存储系统,可以参考图1,对象存储系统包括业务读写层101、虚拟层102和存储池103,

存储池103被划分为若干个子存储池1031;子存储池包含若干个存储节点1032;存储节点1032包含至少一个存储介质1033;子存储池1031配置有冗余策略,子存储池1031的存储节点1032和存储介质1033的数量适配于冗余策略;

业务读写层101,用于发送读取对象数据的读指令或写入对象数据的写指令,读指令或写指令携带有对象数据的ID信息;

虚拟层102,用于在接收到写指令后,基于ID信息将待写入的对象数据写入目标子存储池;在接收到读指令后,根据读指令中的ID信息查找获取所述对象数据,并发送给业务读写层101。

在应用了上述方案后,对象存储系统的存储池被划分为若干个子存储池,划分存储池的同时,存储系统的故障域也随之划分开。在相同硬件配置的存储系统下,每个子存储池均支持故障指定数目的存储介质,存储系统的故障域缩小至单个子存储池大小;相应的,整个系统全部数据受损的风险成倍的降低。

将存储池划分为子存储池可以是逻辑上的划分,冗余策略也可以保持不变,不影响用户实际使用体验,因此应用上述方案既不会增加学习成本,也不会影响存储系统的存储功能。

本申请的方案在软件交互上可以保持原来的交互方式,如原UI界面展示存储池的相关设定,应用了本申请划分为多个子存储池的方案后,仍然可以采用原UI界面,用户设定存储池后,划分子存储池的过程由存储系统完成,该过程对用户不可见,不会对用户造成额外的学习负担。同样的,配置冗余策略可以由用户配置给存储池,子存储池继承存储池的冗余策略,继承的过程对用户不可见;若不考虑对交互产生的影响,本申请的子存储池的冗余策略也可以由用户直接配置。

如5节点的存储系统,采用EC4+2的冗余策略进行冗余备份,存储系统共有5个存储节点,每个节点有36块硬盘,整个存储系统共180块硬盘,若按照现有技术的方案仅支持任意2块硬盘发生故障。

在一实施例中,可将存储池划分为3个子存储池,每个子存储池均跨5个节点,且每个子存储池含60块硬盘,每个子存储池允许故障任意2个硬盘;则整个存储系统允许故障任意6块硬盘。允许故障的存储介质的数量成倍增加。

在另一实施例中,可以把上述5节点的存储系统改为采用3副本的冗余策略,未划分子存储池时,由于3副本仅需3个节点即可,且仅需保留1个副本即可保证数据不丢失,因此支持故障2块硬盘;按照3×60划分为3个子存储池后,每个子存储池均允许故障2块硬盘,则整个存储系统支持故障6块硬盘。可见冗余策略的不同不影响本申请方案的实施,也不影响本申请的有益效果。

在本申请中,存储介质的类型可以为HDD(Hard Disk Drive,机械硬盘)、SSD(Solid State Disk,固态硬盘)、SSHD(Solid State Hybrid Drive,固态混合硬盘)、FD(Floppy Disk,软磁盘)、NVMe(Non-Volatile Memory Express,非易失性内存主机控制器接口)存储盘或存储卡等的一种或多种。

需要理解的是,在本申请中,实际的存储节点数量小于理论节点数量的情况,称为折叠,反之称为平铺,理论节点数量指冗余策略理论上要求的最小节点数量;相应的,充当两个理论节点的存储节点称为折叠存储节点;如在一实施例中,子存储池仅有5个存储节点,配置的EC4+2的冗余策略要求至少6个理论节点,则其中一个存储节点充当了俩个理论节点。

在一些实施例中,子存储池中的存储介质可以对应一个或多个定位节点,定位节点可以指示对象数据的读写位置;若干个子存储池共用一套定位节点的标识,不同的子存储池使用一套定位节点的标识的不同部分;存储池包含定位条带,定位条带包含一个子存储池中的若干个定位节点,定位条带包含的定位节点的数量由冗余策略确定,定位条带上各定位节点用于指示对象数据的读写位置。

在一实施例中,一套定位节点的标识可以是一串阿拉伯数字,共用一套可以理解为所有子存储池的定位节点的标识不存在重复,如图2a所示,存储池20a中的一套定位节点的标识为数字1至90,存储池20a包含子存储池1 201a、子存储池2 202a、子存储池3 203a,其中子存储池1 201a包含存储节点1 2011a、存储节点2 2012a、存储节点3 2013a等3个存储节点,每个存储节点包含2个存储介质,如存储节点1 2011a包含存储介质20111a和20112a;每个子存储池的硬件配置均相同,子存储池1 201a的定位节点的标识为1至30,子存储池2202a的定位节点的标识为31至60,子存储池3 203a的定位节点的标识为61至90,不同的子存储池使用一套标识的不同部分,互不重复。

在另一实施例中,由于子存储池的大小可能存在不同,即不同子存储池的硬件配置不同,则不同子存储池对应的定位节点的数量也可以不同;可以参考图2b,存储池20b中的子存储池1 201b、子存储池2 202b、子存储池3 203b各自包含3个存储节点,子存储池1201b和子存储池2 202b中的每个存储节点均包含2个存储介质,而子存储池3中的每个存储节点仅包含1个存储介质;设定一套定位节点的标识为数字1至75,则一种划分情况可以是子存储池1和子存储池2的定位节点的数量均为30个,标识为1至30、31至60,子存储池3的定位节点的数量为15个,标识为61至75。

从上述两个实施例中,由图2a中的存储介质20111a和图2b中的存储介质20111b可知,对于存储介质而言,若定位节点的标识是数字,则在存储介质中定位节点的标识既可以连续也可以不连续。

应用上述方案后,由于定位节点的标识可以是阿拉伯数字等,是能够量化的数据,能够用于计算,因此本申请的对象存储系统能够在写入或读取对象数据时获得准确的读写位置;由于无子存储池时和有子存储池时,整个存储池的定位节点都可以具有同样的分布方式,对应的标识可以不变,因此不用改变读写数据时计算对象数据对应的标识的算法,如在图2a对应的实施例中,在划分存储池为多个子存储池之前和之后,若标识的分布方式不变,标识13均可以代表存储介质20111a映射的存储位置,能够获取准确的读写位置。

定位条带包含的定位节点的数量可以由冗余策略确定,且定位条带包含的定位节点仅对应于同一子存储池内的存储介质;需要理解的是,冗余策略或存储系统规模不同,定位条带包含的定位节点的数量可以不同,如在EC N+M的冗余策略中,一个定位条带可以包含N+M个定位节点;相应的,若存储系统采用K副本冗余策略,一个定位条带所包含的定位节点数量为K个。

在一实施例中,每个定位条带包含N+M个具有特定标识的定位节点,每个对象均会通过一致性Hash运算映射到以某个定位节点为首的某个定位条带中;其中N对应的是EC策略中单个对象数据的原始数据被划分的数据块的数目,M对应的是EC策略中单个对象数据的校验数据块的数目,如EC4+2中,N=4,M=2。

在一实施例中,定位节点与存储节点间存储介质的对应关系可以存储在定位条带组中,而定位条带组包含一组上述定位条带。

具体地,一实施例可以参考图3,存储池30被划分为子存储池1 301、子存储池2302,子存储池1 301对应有存储节点3011、存储节点2 3012存储节点33013、存储节点43014、存储节点5 3015、存储节点6 3016等6个存储节点,6个存储节点各包含2个存储介质,如存储节点1 3011包含存储介质1 30111和存储介质2 30112,其他存储节点的硬件相同不再赘述;各个子存储池的硬件相同,仅定位节点的标识不同,不再赘述各个子存储池的硬件配置,以子存储池1 301为例,若根据哈希算法求得对象数据对应的定位节点的标识为2,EC策略为EC4+2,则定位条带应为2、12、22、32、42、52,对应的定位条带组可以参考下表表1,每一行均为一个定位条带:

表1包含若干定位条带的定位条带组

可以理解的是,本申请实施例中,同一个标识在所有子存储池中仅对应到一个定位节点,整个存储池所包含的存储介质对应的定位节点数、单个存储介质对应的定位节点数可以依据实际应用场景设定。

将存储池划分为多个子存储池的过程可以由存储系统内部完成,划分过程和划分结果对使用者不可见,以此来减少使用者的学习成本,使用者在使用常规方案的对象存储系统和本申请的对象存储系统时感觉不到使用方式上的区别。

将存储池划分为多个子存储池时,为了避免缩小故障域的同时对存储系统的其他功能产生影响,需要依据一些条件进行合理划分;具体地,存储池可以依据以下一个或多个预设条件被划分为若干个子存储池:冗余策略,定位节点的总数,或子存储池的存储介质的数目范围。

其中,冗余策略影响子存储池的最小规模,如一实施例中,EC4+2要求子存储池至少有3个存储节点,每个存储节点至少有2块硬盘,则子存储池的最小规模为6块硬盘;另一实施例中,3副本策略要求至少有3个存储节点,每个存储节点至少1块硬盘,则子存储池的最小规模为3块硬盘;定位节点的总数代表着存储介质中数据的均衡程度,限制可以划分的子存储池的数量;子存储池的存储介质的数目范围用于限制子存储池的规模不宜太小或太大,若子存储池划分的存储介质的数目较小,则子存储池的数量过多,可能存在单个大的可用空间被分散到多个小的不可用空间内,造成存储时的空间浪费;若子存储池的存储介质的数目较多,则单个子存储池较大,则故障域过大,因此可以通过子存储池的存储介质的数目范围来限制划分存储池;另外,定位节点越多,数据会越均衡,但计算效率会降低,因此可以同时考虑数据均衡和计算效率,选择一个适中的值。

在应用上述方案后,存储系统能够根据相应条件选取合适的参数划分存储池为一定数目的子存储池,在缩小故障域的同时使子存储池的数量和规模更合理。

在实际应用中,定位节点的总数可以依据存储介质的总数量或总容量确定,也即依据存储介质的规模来确定定位节点的总数,存储介质的总数量或总容量,也即集群规模。

与前述对象数据存储系统的实施例相对应,本申请还提供了对象数据的读写方法的实施例。

针对上述的多种对象存储系统,本申请还提供了一种对象数据的读写方法,适用于对象存储系统,对象存储系统包括存储池,存储池包含若干个存储节点,存储节点包含若干个存储介质;存储池被划分为若干个子存储池,存储介质被分配到其中一个子存储池;子存储池,配置有冗余策略,子存储池的存储节点和存储介质的数量适配于冗余策略;

参考图4,该读写方法可以包括以下步骤:

步骤S401、获取请求方发送的写指令,写指令携带待写入对象数据的ID信息;基于ID信息将待写入的对象数据写入目标子存储池;

步骤S402、获取请求方发送的读指令,读指令携带有对象数据的ID信息;根据读指令中的ID信息查找获取对象数据,并发送给请求方。

在上述方法中,对象数据可以看作是写指令的一部分,同时传输进对象存储系统。

对于划分了子存储池的对象存储系统,应用上述方法后,在减小故障域,降低整个存储系统风险的同时,能够通过对象数据的ID信息完成数据的写入和读取。

在通过ID信息读写对象数据时,本申请还给出了一种准确获取读写位置的方法,具体地,存储介质可以对应一个或多个定位节点,定位节点可以指示对象数据在存储介质中的读写位置;若干个子存储池共用一套定位节点的标识,不同的子存储池使用一套定位节点的标识的不同部分;存储池包含定位条带,定位条带包含一个子存储池中的若干个定位节点,定位条带包含的定位节点的数量由冗余策略确定,定位条带上各定位节点用于指示对象数据的读写位置。可以理解的是,定位节点用于代指存储介质读写数据的位置,本身不用于存储数据,定位节点的标识可以用于参与计算。

由于子存储池的规模可能不同,划分的定位节点的数量不同,因此不同的子存储池之间的定位节点占用的标识数量可以不同;如在一实施例中,采用EC4+2的冗余策略,子存储池1包含18个定位节点,对应的标识为1~18,子存储池2包含36个节点,对应的标识为19~54,如果该存储系统的存储池仅包含子存储池1和子存储池2,则可以将1~54视为一套标识,被两个子存储池分别使用一部分。

通过上述方法,定位节点与存储介质有着特定的对应关系,依据标识获知定位节点即可获知准确的存储位置。

在上述方法的基础上,存储池被划分为若干个子存储池可以依据以下一个或多个预设条件:冗余策略,定位节点的总数,或子存储池的存储介质的数目范围。

其中,冗余策略影响子存储池的最小规模,例如EC4+2要求子存储池至少有3个存储节点,每个节点至少有2块硬盘,而3副本策略则要求子存储池至少有3个存储节点,每个存储节点至少1块硬盘;定位节点的总数代表着存储介质的细分程度,限制可以划分的子存储池的数量;子存储池的存储介质的数目范围用于限制子存储池的规模不宜太小或太大,若子存储池划分的存储介质的数目较小,则子存储池的数量过多,可能存在单个大的可用空间被分散到多个小的不可用空间内,造成存储时的空间浪费;若子存储池的存储介质的数目较大,即单个子存储池较大,则故障域过大,因此可以通过子存储池的存储介质的数目范围来限制划分存储池。

在应用上述方案后,存储系统能够根据相应条件选取合适的参数划分存储池为一定数目的子存储池,在缩小故障域的同时使子存储池的数量和规模更合理。

同时由于划分的过程可以由存储系统自行完成,可以不涉及人工操作,划分的过程和结果不可见,使用者可以感受到性能的提升、故障率的降低,且无增加学习成本去适应本申请的对象存储系统。

在实际应用中,定位节点的总数可以依据存储介质的总数量或总容量确定,也即依据存储介质的规模来确定总定位节点数。

在一实施例中,硬盘数量充足时,容量更大的硬盘可以对应更多的定位节点;需要理解的是,每个定位节点对应的容量可以不同,因此在实际应用中,容量与定位节点的数量可以不是正比的关系。

在本申请中,通过对上述多个方法的综合应用,可以得到一种基于定位节点的读写方法,具体地,

参考图5,基于ID信息将待写入的对象数据写入目标子存储池的步骤可以包括:

步骤S501、根据ID信息通过哈希算法确定一个目标定位节点;

步骤S502、确定一个以所述目标定位节点为首的目标定位条带;

步骤S503、依据定位节点与子存储池的对应关系确定目标子存储池中的目标存储介质;

步骤S504、将待写入的对象数据写入目标存储介质中目标定位条带包含的定位节点指示的读写位置;

参考图6,根据读指令中的ID信息查找获取对象数据,并发送给请求方的步骤可以包括:

步骤S601、根据ID信息通过哈希算法确定一个目标定位节点;

步骤S602确定一个以所述目标定位节点为首的目标定位条带;

步骤S603、依据定位节点与子存储池的对应关系确定目标子存储池中的目标存储介质;

步骤S604、从目标存储介质中目标定位条带包含的定位节点指示的读写位置读取对象数据;

步骤S605、将对象数据发送给请求方。

可以理解的是,在实际应用中,写入数据和读取数据的步骤既可以分开单独进行,也可以先后进行,还可以同步进行,且具体步骤顺序可以依据具体使用方式而改变;如写入一份对象数据后再进行读取,则图4和图5所示的步骤可以先后均实施;再如,单独读取之前写入的数据,则不包含写入的步骤;再如,读取一份对象数据后,再写入另一份对象数据,则应当调换步骤的顺序。

由于对象存储系统还可能包含多份冗余,如多副本策略中会写入多份数据,但只需要读取其中一份数据即可,并非每一份数据都需要在写入之后读取,因此具体步骤的顺序和取舍可以依据实际应用场景设定,本实施例仅是示例性的。

相应的,本申请还提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述实施例的任一个实施例的步骤。

进一步地,本申请还提供了一种计算机设备,可以参考图7,计算机设备70可以包括存储器701、处理器702及存储在存储器701上并可在处理器702上运行的计算机程序,处理器执行程序时实现上述实施例的任一个实施例的步骤。

本说明书中描述的主题及功能操作的实施例可以在以下中实现:数字电子电路、有形体现的计算机软件或固件、包括本说明书中公开的结构及其结构性等同物的计算机硬件、或者它们中的一个或多个的组合。本说明书中描述的主题的实施例可以实现为一个或多个计算机程序,即编码在有形非暂时性程序载体上以被数据处理装置执行或控制数据处理装置的操作的计算机程序指令中的一个或多个模块。可替代地或附加地,程序指令可以被编码在人工生成的传播信号上,例如机器生成的电、光或电磁信号,该信号被生成以将信息编码并传输到合适的接收机装置以由数据处理装置执行。计算机存储介质可以是机器可读存储设备、机器可读存储基板、随机或串行存取存储器设备、或它们中的一个或多个的组合。

本说明书中描述的处理及逻辑流程可以由执行一个或多个计算机程序的一个或多个可编程计算机执行,以通过根据输入数据进行操作并生成输出来执行相应的功能。所述处理及逻辑流程还可以由专用逻辑电路—例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)来执行,并且装置也可以实现为专用逻辑电路。

适合用于执行计算机程序的计算机包括,例如通用和/或专用微处理器,或任何其他类型的中央处理单元。通常,中央处理单元将从只读存储器和/或随机存取存储器接收指令和数据。计算机的基本组件包括用于实施或执行指令的中央处理单元以及用于存储指令和数据的一个或多个存储器设备。通常,计算机还将包括用于存储数据的一个或多个大容量存储设备,例如磁盘、磁光盘或光盘等,或者计算机将可操作地与此大容量存储设备耦接以从其接收数据或向其传送数据,抑或两种情况兼而有之。然而,计算机不是必须具有这样的设备。此外,计算机可以嵌入在另一设备中,例如移动电话、个人数字助理(PDA)、移动音频或视频播放器、游戏操纵台、全球定位系统(GPS)接收机、或例如通用串行总线(USB)闪存驱动器的便携式存储设备,仅举几例。

适合于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、媒介和存储器设备,例如包括半导体存储器设备(例如EPROM、EEPROM和闪存设备)、磁盘(例如内部硬盘或可移动盘)、磁光盘以及CD ROM和DVD-ROM盘。处理器和存储器可由专用逻辑电路补充或并入专用逻辑电路中。

虽然本说明书包含许多具体实施细节,但是这些不应被解释为限制任何发明的范围或所要求保护的范围,而是主要用于描述特定发明的具体实施例的特征。本说明书内在多个实施例中描述的某些特征也可以在单个实施例中被组合实施。另一方面,在单个实施例中描述的各种特征也可以在多个实施例中分开实施或以任何合适的子组合来实施。此外,虽然特征可以如上所述在某些组合中起作用并且甚至最初如此要求保护,但是来自所要求保护的组合中的一个或多个特征在一些情况下可以从该组合中去除,并且所要求保护的组合可以指向子组合或子组合的变型。

类似地,虽然在附图中以特定顺序描绘了操作,但是这不应被理解为要求这些操作以所示的特定顺序执行或顺次执行、或者要求所有例示的操作被执行,以实现期望的结果。在某些情况下,多任务和并行处理可能是有利的。此外,上述实施例中的各种系统模块和组件的分离不应被理解为在所有实施例中均需要这样的分离,并且应当理解,所描述的程序组件和系统通常可以一起集成在单个软件产品中,或者封装成多个软件产品。

由此,主题的特定实施例已被描述。其他实施例在所附权利要求书的范围以内。在某些情况下,权利要求书中记载的动作可以以不同的顺序执行并且仍实现期望的结果。此外,附图中描绘的处理并非必需所示的特定顺序或顺次顺序,以实现期望的结果。在某些实现中,多任务和并行处理可能是有利的。

以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。

相关技术
  • 数据库中对象类型的数据校验方法、装置、设备及介质
  • 分布式对象存储数据冗余方法、装置、设备及存储介质
  • 一种问卷调查对象确定方法、装置、电子设备和存储介质
  • 一种读写对象存储系统中的数据的方法以及装置
  • 一种多副本数据对象管理方法、介质及分布式存储系统
技术分类

06120115847412