CN103502953B - 提高分布式对象存储系统的并发性能的方法和装置 - Google Patents
提高分布式对象存储系统的并发性能的方法和装置 Download PDFInfo
- Publication number
- CN103502953B CN103502953B CN201180003693.4A CN201180003693A CN103502953B CN 103502953 B CN103502953 B CN 103502953B CN 201180003693 A CN201180003693 A CN 201180003693A CN 103502953 B CN103502953 B CN 103502953B
- Authority
- CN
- China
- Prior art keywords
- node
- container
- new key
- storage system
- key assignments
- 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
- 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]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- 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/061—Improving I/O performance
-
- 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
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
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)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
提供了提高分布式数据存储系统的并发性能的方法和方法。该方法用于在容器的多个节点处执行多个对象的并发操作的分布式数据存储系统,其中,所述多个对象的并发操作需要对共享数据进行处理,该方法包括:向所述多个节点中的每个节点赋予新的键值信息,其中,该新的键值信息指示相对应的节点处的操作对共享数据的处理结果;对每个节点的所述新的键值信息进行统计,以计算所述并发操作对所述共享数据的总的处理结果;以所计算的总的处理结果更新所述共享数据。通过上述提高分布式对象存储系统的并发性能的方法和设备,可以提高在分布式对象存储系统中并发操作需要同时处理共享数据时的并发性能。
Description
技术领域
本发明实施例涉及数据存储领域,且更具体地涉及提高分布式对象存储系统的并发性能的方法和装置。
背景技术
对象存储系统目前被广泛的应用于IT应用中,其为互联网用户提供了高性能、海量、高扩展性的对象存储服务,目前流行的对象存储系统主要包括Amazon S3,微软的Azure Storage,google storage等。
对象存储系统在架构上分为元数据管理和数据管理,其中元数据为对象的管理数据,包括对象的大小、作者、权限控制信息等,而数据为对象的实际内容。其中,元数据的管理为整个对象存储系统的关键模块,其能够支持高性能、海量、高扩展性,并且,对象存储系统的元数据一般采用基于key-value(键值)的分布式系统进行管理。这样,在分布式系统中,多节点可以并发处理对象操作的元数据请求,诸如增加、删除和/或更新对象,因此可以提升系统的整体性能,且随着系统节点的增加,性能可以得到进一步提高,使得系统具有很好的可扩展性。
在对象存储系统中,一般采用如下数据组织方式:容器和对象,其中容器为对象存储系统中存储对象的逻辑空间。对象必须属于一个容器,而容器同时作为容器内对象总体进行统计和访问控制的入口点。容器由URI和若干属性(例如当前容量)对组成,容器的URI全局唯一,URI可以唯一定位到该容器。对象是使用URI、数据内容和若干个属性对组成的数据结构来对用户数据进行记录的数据单元。所有对象的URI全局唯一,依据URI可以唯一定位到该对象。访问一个对象一般采用“/容器ID/对象ID”标识。
用户可以同时对一个容器中的多个对象进行并发操作(删除/新增/查询),对于删除、新增操作,需要同步更新容器容量信息,由于容量信息为整个容器的共享数据,而对该共享数据的操作又为原子操作,导致上述并发操作阻塞,从而影响了系统的并发性能。
发明内容
因此,需要能够提高分布式对象存储系统的并发性能的方法和装置。
基于上述目的做出本发明,且本发明的目的是提供一种提高分布式对象存储系统的并发性能的方法和装置,其能够解决各节点因需要排队进行原子操作导致的低性能的问题。
一方面,提供了一种提高分布式数据存储系统的并发性能的方法,用于在容器的多个节点处执行多个对象的并发操作的分布式数据存储系统,其中,所述多个对象的并发操作需要对共享数据进行处理,所述方法包括:向所述多个节点中的每个节点赋予新的键值信息,其中,该新的键值信息指示相对应的节点处的操作对共享数据的处理结果;对每个节点的所述新的键值信息进行统计,以计算所述并发操作对所述共享数据的总的处理结果;以所计算的总的处理结果更新所述共享数据。
另一方面,提供了一种提高分布式数据存储系统的并发性能的设备,用于在容器的多个节点处执行多个对象的并发操作的分布式数据存储系统,其中,所述多个对象的并发操作需要对共享数据进行处理,所述设备包括:控制器,被配置为向所述多个节点中的每个节点赋予新的键值信息,其中,该新的键值信息指示相对应的节点处的操作对共享数据的处理结果;对每个节点的所述新的键值信息进行统计,以计算所述并发操作对所述共享数据的总的处理结果;以所计算的总的处理结果更新所述共享数据。
如上所述,在根据本发明实施例的提高分布式对象存储系统的并发性能的方法和设备中,通过对同一容器的全部节点的并发操作对共享数据的处理结果进行记录和统计,可以使得各个节点在完成了各自的操作之后立即退出其操作,从而提高了在分布式对象存储系统中并发操作需要同时处理共享数据时的并发性能。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是示出对象存储系统的并发操作的示意图;
图2是示出对象存储系统的多个并发操作排队处理共享数据的示意图;
图3是示出根据本发明实施例的提高分布式数据存储系统的并发性能的方法的示意性流程图;
图4是示出根据本发明实施例的提高分布式数据存储系统的并发性能的设备的示意性框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
上面已经提到,用户可以同时对一个容器中的对象进行并发操作(删除/新增/查询),且对于删除、新增操作,需要同步更新容器的容量信息。由于容量信息为整个容器的共享数据,这样,对该共享数据的操作是原子操作,这里原子操作是指在多进程(线程)访问资源时,能够确保所有其他的进程(线程)都不在同一时间内访问相同的资源的操作。因此,目前当多个操作需要更新该容量信息时,是由多个操作排队来处理该共享数据,这样,该多个操作将出现延迟并交叉影响,从而不能充分利用到分布式系统的优势。
例如,当并发向对象存储系统“容器1”中进行对象操作,系统中的多个节点(例如节点A、B和C)将同时处理上述元数据的操作。图1是示出对象存储系统的并发操作的示意图,如图1所示,A节点在容器1中新增对象元数据“/容器1/对象1”(对象大小为100M),B节点在容器1中新增对象元数据“/容器1/对象2”(对象大小为10M),C节点在容器1中删除对象元数据“/容器1/对象3”(对象大小为50M),此时,A、B节点上增加了如下二个key-value:
节点 key value
A /容器1/对象1 对象1元数据
B /容器1/对象2 对象2元数据
C节点上删除如下key-value:
节点 key value
C /容器1/对象3 对象3元数据
同时上述操作需要同时更新容器1的容量,其中,容器1的容量也以key-value方式进行了保存(假设该key-value信息保存在节点D上):
节点 key value
D /容器1 80M
针对容器1的容量更新操作为原子操作,虽然节点A、B和C可以并行向该同一容器删除或新增对象的元数据,但是节点A、B和C需要依次排队更新容器的容量,即更新容器容量的操作属于原子操作。
具体而言,当节点C完成新增对象元数据后,去节点D获取容器1的元数据(包括容量信息),再将容器1现有容量加上本次操作减少的容量后,重新写入容器1的新的容量信息。而此时的B节点即使已经完成了新增对象元数据的操作,也需要等待节点C对容器的容量做出更新后才能进行容器更新处理;同理,排在节点B之后的节点A则需要等待节点B完成容器更新后才能进行容器更新,如图2所示。这里,图2是示出对象存储系统的多个并发操作排队处理共享数据的示意图。
因此,从图2中可以看出,在该分布式对象存储系统中,节点B和A即使完成了对象元数据的新增操作也无法给使用者返回操作结果响应,只能等待排在其前面的所有节点完成之后才能退出。这样,当在分布式系统中,多个并发操作排队处理共享数据时,该多个并发操作将出现延迟和交叉影响,导致不能充分利用到分布式系统的优势。
本发明实施例提供了一种提高分布式数据存储系统的并发性能的方法,其能够解决在基于key-value(键值)的分布式系统中并发操作需要同时处理共享数据时导致的并发性能下降的问题。
根据本发明实施例的一个方面,提供了一种提高分布式数据存储系统的并发性能的方法,用于在容器的多个节点处执行多个对象的并发操作的分布式数据存储系统,其中,所述多个对象的并发操作需要对共享数据进行处理,该方法包括:向与所述多个节点中的每个节点赋予键值信息,其中,该新的键值信息指示相对应的节点处的操作对共享数据的处理结果;对每个节点的所述新的键值信息进行统计,以计算所述并发操作对所述共享数据的总的处理结果;以所计算的总的处理结果更新所述共享数据。
图3是根据本发明实施例的提高分布式数据存储系统的并发性能的方法的示意性流程图。如图3所示,该方法用于在容器的多个节点处执行多个对象的并发操作的分布式数据存储系统,其中,该多个对象的并发操作需要对共享数据进行处理,该方法包括:S1,向与所述多个节点中的每个节点赋予键值信息,其中,该新的键值信息指示相对应的节点处的操作对共享数据的处理结果;S2,对每个节点的所述新的键值信息进行统计,以计算所述并发操作对所述共享数据的总的处理结果;S3,以所计算的总的处理结果更新所述共享数据。
这样,通过根据本发明实施例的提高分布式数据存储系统的并发性能的方法,可以在多个并发操作需要处理共享数据时,记录并加总每个操作对该共享数据的处理结果,从而使得可以在记录了每个操作的处理结果之后退出该操作,以提高分布式数据存储系统的并发性能。
下面将以如图1所示的节点A、B和C的并发操作需要更新容器容量为例来阐述本发明实施例的上述技术方案。
如上所述,当在对象存储系统“容器1”中进行并发操作时,系统中的A节点在容器1中新增对象元数据“/容器1/对象1”(对象大小为100M),B节点在容器1中新增对象元数据“/容器1/对象2”(对象大小为10M),C节点在容器1中删除对象元数据“/容器1/对象3”(对象大小为50M),且同时上述操作需要同时更新容器1的容量,其中,容器1的容量以key-value方式保存在节点D上。
当上述节点A、B和C完成删除或新增操作后,每个节点的上述操作将被赋予一个新的key-value,例如,上述删除或新增操作中的新的key-value的key为“/容器1_logx”,其中x对应并发式系统中的任一节点;且key对应的value为删除或新增容器的容量,例如节点A的key的value为新增100M。这里,由于上述操作是并发的,相互之间并没有影响,于是在节点A、B和C上增加了下面的key-value:
节点 key value
A /容器1_log1 新增100M
B /容器1_log2 新增10M
C /容器1_log3 删除50M
同时,在系统中启动一个业务模块,例如,该业务模块可以在系统初始化时启动,也可以在系统中开始执行并发操作时启动,等等。该业务模块周期性地(例如每3秒)读取该容器的所有节点上的上述key-value信息,即,删除或新增的数据容量,并对上述value进行统计计算,从而基于该周期内的变化获得该时间节点处容器容量的更新情况。
例如,在第一个3秒周期内,节点B完成了新增10M的操作,而A节点和C节点还未完成各自的新增和删除元数据操作,因此节点B的key-value获得赋值,此时B节点可以退出该操作,不再依赖于节点A是否完成了容器更新的操作;而此时容器的容量更新为原容器的容量+10M。如果在第二个3秒周期内,A和C均完成了各自的操作,则A和C可以在完成各自的操作后对key-value赋值,即可退出操作;而此时容器的容量更新为原容器的容量+60M。从以上可以看出,通过上述改进,节点A、B和C可以在各自完成删除或新增操作后对新的key-value赋值,即可退出该操作,不再需要排队等待进行原子操作;而且,容器容量也可以不断更新,获知最新时间节点处的容器容量。
这里,在上述分布式对象存储系统中,除了周期性地对同一容器的全部节点的key-value进行统计分析和处理之外,也可以在开始并发操作之后延迟一固定时间来对同一容器的全部节点的key-value进行统计分析和处理。并且,优选地,该固定时间的确定应使得对全部节点的key-value的计算在全部并发操作结束之后,例如,在上述示例中,假设节点B的操作在第一个3秒周期内完成,且节点A和C的操作在第二个3秒周期内完成,则该固定时间可以选为6秒,以便能够依据在所有节点的并发操作对容器容量造成的变化来更新容器容量值。
这样,通过记录节点A、B和C中的并发操作造成的容器容量的变化值并在全部并发操作结束之后统计总的变化值以更新容器容量值,节点A,B和C在完成了各自的操作之后可以立即退出其操作,从而解决了在分布式对象存储系统中并发操作需要同时处理共享数据时导致的并发性能下降的问题。
此外,在本发明的实施例中,在如图1所示的对象存储系统中,在容器的多个节点处执行的多个对象的并发操作对共享数据的处理不限于对容器容量的更新,其也可以有其它示例。
下面,将对本发明的另一实施例进行描述,在本发明的另一实施例中,在如图1所示的对象存储系统中,需要查询某个容器下的对象,这也是对象存储系统中的一个基本操作。为了实现该功能,对象存储系统将某个容器下的对象名称统一保存在一个key-value中,例如:“容器1”中存储了3个对象:容器1/对象1,容器1/对象2,容器1/对象3,则例如,在图1所示的节点E中将保存如下信息:
节点 key value
E /容器1/对象列表 对象1,对象2,对象3,
当用户查询“容器1”中包含的对象时,对象存储系统应该返回:对象1,对象2,对象3。
仍以之前A节点在容器1中新增对象元数据“/容器1/对象1”、B节点在容器1中新增对象元数据“/容器1/对象2”、C节点在容器1中删除对象元数据“/容器1/对象3”的示例为例,假设在A节点、B节点和C节点的三次操作前,容器1中仅有对象3。此时,A节点在容器1中新增对象元数据“/容器1/对象1”,B节点在容器1中新增对象元数据“/容器1/对象2”,C节点在容器1中删除对象元数据“/容器1/对象3”。
并且,上述操作需要同时更新容器1中对象列表,针对容器1的对象列表的更新操作也为原子操作,即,虽然节点A、B和C可以并行向该同一容器删除或新增对象的元数据,但是节点A、B和C需要依次排队更新容器的对象列表,即更新容器对象列表的操作属于原子操作,这显然也会引起各节点因需要排队进行原子操作而导致的低性能的问题。
如上述更新容器容量的操作,在本发明的另一实施例中,当上述节点A、B和C完成删除或新增操作后,可以对每个节点的上述操作赋予一个新的key-value,例如,上述删除或新增操作中的新的key-value的key为“/容器1_logx”,其中x对应并发式系统中的任一节点;且key对应的value为删除或新增对象列表中的对象,例如节点A的key的value为新增对象1。这里,由于上述操作是并发的,相互之间并没有影响,于是在节点A、B和C上增加了下面的key-value:
节点 key value
A /容器1_log1 新增对象1
B /容器1_log2 新增对象2
C /容器1_log3 删除对象3
同时,与上述实施例中相同,在系统中启动一个业务模块,该业务模块读取该容器的所有节点上的上述key-value信息,即,删除或新增的对象,并对上述value进行统计计算,从而基于该周期内的变化获得该时间节点处对象的更新情况。
例如,在第一个3秒周期内,节点B完成了新增对象2操作,而A节点和C节点还未完成各自的新增和删除元数据操作,因此节点B的key-value获得赋值,此时B节点可以退出该操作,不再依赖于节点A是否完成了对象列表的操作;而此时对象列表更新为对象3+对象2。如果在第二个3秒周期内,A和C均完成了各自的操作,则A和C可以在完成各自的操作后对key-value赋值,即可退出操作;而此时对象列表更新为对象1+对象2。从而使得节点A、B和C可以在各自完成删除或新增操作后对新的key-value赋值,即可退出该操作,不再需要排队等待进行原子操作;而且,对象列表也可以不断更新,获知最新时间节点处的对象列表。
此外,本发明另一实施例中对于对象列表的更新操作的其它细节与上述对容器容量的更新操作的实施例中的相同,这里便不再赘述。
这样,通过记录节点A、B和C中的并发操作造成的容器中对象列表的变化并在全部并发操作结束之后统计总的变化值以更新容器列表,节点A,B和C在完成了各自的操作之后可以立即退出其操作,从而解决了在分布式对象存储系统中并发操作需要同时处理共享数据时导致的并发性能下降的问题。
并且,这里本领域技术人员可以理解,除了上述并发操作需要更新容器容量的实施例和需要更新容器中对象列表的实施例以外,在对象存储系统中,还可能存在其它并发操作需要处理共享数据的情况,并且上述提高分布式数据存储系统的并发性能的方法可以类似地应用于这些情况,本发明的实施例并不意在对此进行任何限制。
根据本发明实施例的又一方面,提供了提高分布式数据存储系统的并发性能的设备,用于在对象存储系统中在多个节点处执行的多个对象的并发操作对共享数据进行处理,其包括:控制器,被配置为向与所述多个节点中的每个节点赋予键值信息,其中,该新的键值信息指示相对应的节点处的操作对共享数据的处理结果;对每个节点的所述新的键值信息进行统计,以计算所述并发操作对所述共享数据的总的处理结果;以所计算的总的处理结果更新所述共享数据。
图4是示出根据本发明实施例的提高分布式数据存储系统的并发性能的设备的示意性框图。如图4所示,该设备10用于在对象存储系统中在多个节点处执行的多个对象的并发操作对共享数据进行处理,包括:控制器11,被配置为向与所述多个节点中的每个节点赋予键值信息,其中,该新的键值信息指示相对应的节点处的操作对共享数据的处理结果;对每个节点的所述新的键值信息进行统计,以计算所述并发操作对所述共享数据的总的处理结果;以所计算的总的处理结果更新所述共享数据。
如上所述,根据本发明实施例的提高分布式对象存储系统的并发性能的方法和设备中,通过对同一容器的全部节点的并发操作对共享数据的处理结果进行记录和统计,可以避免各节点因需要排队进行原子操作导致的低性能。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (7)
1.一种提高分布式数据存储系统的并发性能的方法,用于在容器的多个节点处执行多个对象的并发操作的分布式数据存储系统,其中,所述多个对象的并发操作需要对共享数据进行处理,所述方法包括:
向所述多个节点中的每个节点赋予新的键值信息,其中,该新的键值信息指示相对应的节点处的操作对共享数据的处理结果;
对每个节点的所述新的键值信息进行统计,以计算所述并发操作对所述共享数据的总的处理结果;
以所计算的总的处理结果更新所述共享数据。
2.如权利要求1所述的方法,
其中,所述共享数据是所述容器的容器容量,且所述操作对共享数据的处理结果是所述操作造成的所述容器容量的变化值。
3.如权利要求1或2所述的方法,其中,所述向所述多个节点中的每个节点赋予新的键值信息的步骤进一步包括:
在所述分布式数据存储系统的系统初始化时向所述多个节点中的每个节点赋予新的键值信息。
4.如权利要求1或2所述的方法,其中,所述向所述多个节点中的每个节点赋予新的键值信息的步骤进一步包括:
在开始所述多个对象的并发操作时向所述多个节点中的每个节点赋予新的键值信息。
5.如权利要求1或2所述的方法,其中,所述对每个节点的所述新的键值信息进行统计的步骤具体为:
周期性地对每个节点的所述新的键值信息进行统计。
6.如权利要求1或2所述的方法,其中,所述对每个节点的所述新的键值信息进行统计的步骤具体为:
在延迟固定时间之后对每个节点的所述新的键值信息进行统计,其中,所述固定时间大于所述多个对象的并发操作中的最大操作时间。
7.一种提高分布式数据存储系统的并发性能的设备,用于在容器的多个节点处执行多个对象的并发操作的分布式数据存储系统,其中,所述多个对象的并发操作需要对共享数据进行处理,所述设备包括:
控制器,被配置为向所述多个节点中的每个节点赋予新的键值信息,其中,该新的键值信息指示相对应的节点处的操作对共享数据的处理结果;
对每个节点的所述新的键值信息进行统计,以计算所述并发操作对所述共享数据的总的处理结果;
以所计算的总的处理结果更新所述共享数据。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2011/083478 WO2013082743A1 (zh) | 2011-12-05 | 2011-12-05 | 提高分布式对象存储系统的并发性能的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103502953A CN103502953A (zh) | 2014-01-08 |
CN103502953B true CN103502953B (zh) | 2016-10-05 |
Family
ID=48573477
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201180003693.4A Active CN103502953B (zh) | 2011-12-05 | 2011-12-05 | 提高分布式对象存储系统的并发性能的方法和装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN103502953B (zh) |
WO (1) | WO2013082743A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104850498B (zh) * | 2015-06-05 | 2017-06-16 | 上海斐讯数据通信技术有限公司 | 一种填充信息测试方法及系统 |
CN108920725B (zh) * | 2018-08-02 | 2020-08-04 | 网宿科技股份有限公司 | 一种对象存储的方法及对象存储网关 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101488924A (zh) * | 2009-02-16 | 2009-07-22 | 成都市华为赛门铁克科技有限公司 | 一种元数据的修改方法和元数据服务器 |
CN102231199A (zh) * | 2011-06-27 | 2011-11-02 | 中国建设银行股份有限公司 | 一种交易信息异步处理的方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8504521B2 (en) * | 2005-07-28 | 2013-08-06 | Gopivotal, Inc. | Distributed data management system |
-
2011
- 2011-12-05 WO PCT/CN2011/083478 patent/WO2013082743A1/zh active Application Filing
- 2011-12-05 CN CN201180003693.4A patent/CN103502953B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101488924A (zh) * | 2009-02-16 | 2009-07-22 | 成都市华为赛门铁克科技有限公司 | 一种元数据的修改方法和元数据服务器 |
CN102231199A (zh) * | 2011-06-27 | 2011-11-02 | 中国建设银行股份有限公司 | 一种交易信息异步处理的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
WO2013082743A1 (zh) | 2013-06-13 |
CN103502953A (zh) | 2014-01-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8909887B1 (en) | Selective defragmentation based on IO hot spots | |
JP4733461B2 (ja) | 計算機システム、管理計算機及び論理記憶領域の管理方法 | |
CN102142006B (zh) | 分布式文件系统的文件处理方法及装置 | |
US9858322B2 (en) | Data stream ingestion and persistence techniques | |
CN109542342B (zh) | 元数据管理与数据重构方法、设备及存储介质 | |
CN105468473A (zh) | 数据迁移方法及数据迁移装置 | |
CN103929500A (zh) | 一种分布式存储系统的数据分片方法 | |
US20160364407A1 (en) | Method and Device for Responding to Request, and Distributed File System | |
CN113672175A (zh) | 分布式对象存储方法、装置和设备及计算机存储介质 | |
CN106201355A (zh) | 数据处理方法和装置以及存储系统 | |
US11210183B2 (en) | Memory health tracking for differentiated data recovery configurations | |
CN103516549B (zh) | 一种基于共享对象存储的文件系统元数据日志机制 | |
CN104462389A (zh) | 基于分级存储的分布式文件系统实现方法 | |
CN110147203B (zh) | 一种文件管理方法、装置、电子设备及存储介质 | |
CN111177143B (zh) | 键值数据存储方法、装置、存储介质与电子设备 | |
CN104054071A (zh) | 访问存储设备的方法和存储设备 | |
CN109582213A (zh) | 数据重构方法及装置、数据存储系统 | |
CN100530069C (zh) | 一种非同质存储设备的虚拟化系统及方法 | |
CN103761059A (zh) | 一种用于海量数据管理的多盘位存储方法及系统 | |
CN113377292B (zh) | 一种单机存储引擎 | |
US7792966B2 (en) | Zone control weights | |
CN111930716A (zh) | 一种数据库扩容方法、装置及系统 | |
CN107153512A (zh) | 一种数据迁移方法和装置 | |
CN109684271A (zh) | 快照数据管理方法、装置、电子设备及机器可读存储介质 | |
CN106780157B (zh) | 基于Ceph的电网多时态模型存储与管理系统及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |