CN103502953A - 提高分布式对象存储系统的并发性能的方法和装置 - Google Patents

提高分布式对象存储系统的并发性能的方法和装置 Download PDF

Info

Publication number
CN103502953A
CN103502953A CN201180003693.4A CN201180003693A CN103502953A CN 103502953 A CN103502953 A CN 103502953A CN 201180003693 A CN201180003693 A CN 201180003693A CN 103502953 A CN103502953 A CN 103502953A
Authority
CN
China
Prior art keywords
node
container
shared data
storage system
key value
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.)
Granted
Application number
CN201180003693.4A
Other languages
English (en)
Other versions
CN103502953B (zh
Inventor
曾祥勇
晏勇文
李成林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of CN103502953A publication Critical patent/CN103502953A/zh
Application granted granted Critical
Publication of CN103502953B publication Critical patent/CN103502953B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/52Program 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可以唯 一定位到该对象。 访问一个对象一般采用 '7容器 ID/对象 ID" 标识。
用户可以同时对一个容器中的多个对象进行并发操作 (删除 /新增 /查 询), 对于删除、 新增操作, 需要同步更新容器容量信息, 由于容量信息为 整个容器的共享数据, 而对该共享数据的操作又为原子操作, 导致上述并发 操作阻塞, 从而影响了系统的并发性能。 发明内容 因此, 需要能够提高分布式对象存储系统的并发性能的方法和装置。 基于上述目的做出本发明,且本发明的目的是提供一种提高分布式对象 存储系统的并发性能的方法和装置,其能够解决各节点因需要排队进行原子 操作导致的低性能的问题。
一方面, 提供了一种提高分布式对象存储系统的并发性能的方法, 用于 在容器的多个节点处执行多个对象的并发操作的分布式对象存储系统, 其 中, 所述多个对象的并发操作需要对共享数据进行处理, 所述方法包括: 向 所述多个节点中的每个节点赋予新的键值信息, 其中, 该新的键值信息指示 相对应的节点处的操作对共享数据的处理结果; 对每个节点的所述新的键值 信息进行统计, 以计算所述并发操作对所述共享数据的总的处理结果; 以所 计算的总的处理结果更新所述共享数据。
另一方面, 提供了一种提高分布式对象存储系统的并发性能的设备, 用 于在容器的多个节点处执行多个对象的并发操作的分布式对象存储系统, 其 中, 所述多个对象的并发操作需要对共享数据进行处理, 所述设备包括: 控 制器, 被配置为向所述多个节点中的每个节点赋予新的键值信息, 其中, 该 新的键值信息指示相对应的节点处的操作对共享数据的处理结果; 对每个节 点的所述新的键值信息进行统计, 以计算所述并发操作对所述共享数据的总 的处理结果; 以所计算的总的处理结果更新所述共享数据。
如上所述,在根据本发明实施例的提高分布式对象存储系统的并发性能 的方法和设备中,通过对同一容器的全部节点的并发操作对共享数据的处理 结果进行记录和统计,可以使得各个节点在完成了各自的操作之后立即退出 其操作,从而提高了在分布式对象存储系统中并发操作需要同时处理共享数 据时的并发性能。 附图说明
为了更清楚地说明本发明实施例的技术方案, 下面将对实施例或现有技 术描述中所需要使用的附图作筒单地介绍, 显而易见地, 下面描述中的附图 仅仅是本发明的一些实施例, 对于本领域普通技术人员来讲, 在不付出创造 性劳动的前提下, 还可以根据这些附图获得其他的附图。
图 1是示出对象存储系统的并发操作的示意图;
图 2是示出对象存储系统的多个并发操作排队处理共享数据的示意图; 图 3是示出根据本发明实施例的提高分布式对象存储系统的并发性能的 方法的示意性流程图;
图 4是示出根据本发明实施例的提高分布式对象存储系统的并发性能的 设备的示意性框图。 具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行 清楚、 完整地描述, 显然, 所描述的实施例是本发明一部分实施例, 而不是 全部的实施例。 基于本发明中的实施例, 本领域普通技术人员在没有作出创 造性劳动前提下所获得的所有其他实施例, 都属于本发明保护的范围。
上面已经提到, 用户可以同时对一个容器中的对象进行并发操作 (删除 /新增 /查询), 且对于删除、 新增操作, 需要同步更新容器的容量信息。 由于 容量信息为整个容器的共享数据, 这样, 对该共享数据的操作是原子操作, 这里原子操作是指在多进程 (线程) 访问资源时, 能够确保所有其他的 进程 (线程) 都不在同一时间内访问相同的资源的操作。 因此, 目前当 多个操作需要更新该容量信息时, 是由多个操作排队来处理该共享数据, 这 样, 该多个操作将出现延迟并交叉影响, 从而不能充分利用到分布式系统的 优势。
例如, 当并发向对象存储系统 "容器 1 " 中进行对象操作, 系统中的多 个节点 (例如节点 A、 B和 C )将同时处理上述元数据的操作。 图 1是示出 对象存储系统的并发操作的示意图, 如图 1所示, A节点在容器 1中新增对 象元数据 '7容器 1/对象 1 " (对象大小为 100M ), B节点在容器 1中新增对 象元数据 '7容器 1/对象 2" (对象大小为 10M ), C节点在容器 1中删除对 象元数据 '7容器 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方式进行了保存( 4 设该 key-value信息保存在节点 D上):
节点 key value
D /容器 1 80M
针对容器 1的容量更新操作为原子操作, 虽然节点 A、 B和 C可以并行 向该同一容器删除或新增对象的元数据, 但是节点八、 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中新增对象元数据 '7容器 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为 "/容器 l_logx" , 其中 x对应并发式系统中的任一节点; 且 key对 应的 value为删除或新增容器的容量, 例如节点 A的 key的 value为新增 100M。这里, 由于上述操作是并发的,相互之间并没有影响,于是在节点 A、 B和 C上增加了下面的 key- value:
节点 key value
A /容器 l_logl 新增 100M
B /容器 l_log2 新增 10M
C /容器 l_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 , 对象 2, 对象 3。
仍以之前 A节点在容器 1中新增对象元数据 '7容器 1/对象 1"、 B节点 在容器 1中新增对象元数据 '7容器 1/对象 2"、 C节点在容器 1中删除对象 元数据 "/容器 1/对象 3" 的示例为例, 假设在 A节点、 B节点和 C节点的 三次操作前, 容器 1中仅有对象 3。 此时, A节点在容器 1中新增对象元数 据 '7容器 1/对象 1" , B节点在容器 1中新增对象元数据 "/容器 1/对象 2" , C节点在容器 1中删除对象元数据 "/容器 1/对象 3"。
并且, 上述操作需要同时更新容器 1中对象列表, 针对容器 1的对象列 表的更新操作也为原子操作, 即, 虽然节点八、 B和 C可以并行向该同一容 器删除或新增对象的元数据, 但是节点八、 B和 C需要依次排队更新容器的 对象列表, 即更新容器对象列表的操作属于原子操作, 这显然也会引起各节 点因需要排队进行原子操作而导致的低性能的问题。
如上述更新容器容量的操作,在本发明的另一实施例中,当上述节点 A、 B 和 C 完成删除或新增操作后, 可以对每个节点的上述操作赋予一个新的 key- value, 例如, 上述删除或新增操作中的新的 key- value的 key为 "/容器 ljogx", 其中 X对应并发式系统中的任一节点; 且 key对应的 value为删除 或新增对象列表中的对象, 例如节点 A的 key的 value为新增对象 1。 这里, 由于上述操作是并发的, 相互之间并没有影响, 于是在节点 A、 B和 C上增 力。了下面的 key- value:
节点 key value
A /容器 l_logl 新增对
B /容器 l_log2 新增对
C /容器 l_log3 删除对
同时, 与上述实施例中相同, 在系统中启动一个业务模块, 该业务模块 读取该容器的所有节点上的上述 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-Only Memory )、 随机存取存储器 ( RAM, Random Access Memory )、 磁碟或者光盘等各种可以存储程序代码的介质。
以上所述, 仅为本发明的具体实施方式, 但本发明的保护范围并不局限 于此, 任何熟悉本技术领域的技术人员在本发明揭露的技术范围内, 可轻易 想到变化或替换, 都应涵盖在本发明的保护范围之内。 因此, 本发明的保护 范围应所述以权利要求的保护范围为准。

Claims (1)

  1. 权利要求
    1. 一种提高分布式对象存储系统的并发性能的方法, 用于在容器的多 个节点处执行多个对象的并发操作的分布式对象存储系统, 其中, 所述多个 对象的并发操作需要对共享数据进行处理, 所述方法包括:
    向所述多个节点中的每个节点赋予新的键值信息, 其中, 该新的键值信 息指示相对应的节点处的操作对共享数据的处理结果;
    对每个节点的所述新的键值信息进行统计, 以计算所述并发操作对所述 共享数据的总的处理结果;
    以所计算的总的处理结果更新所述共享数据。
    2. 如权利要求 1所述的方法,
    其中, 所述共享数据是所述容器的容器容量, 且所述操作对共享数据的 处理结果是所述操作造成的所述容器容量的变化值。
    3. 如权利要求 1或 2所述的方法, 其中, 所述向所述多个节点中的每 个节点赋予新的键值信息的步骤进一步包括:
    在所述分布式对象存储系统的系统初始化时向所述多个节点中的每个 节点赋予新的键值信息。
    4. 如权利要求 1或 2所述的方法, 其中, 所述向所述多个节点中的每 个节点赋予新的键值信息的步骤进一步包括:
    在开始所述多个对象的并发操作时向所述多个节点中的每个节点赋予 新的键值信息。
    5. 如权利要求 1到 4中任意一项所述的方法, 其中, 所述对每个节点 的所述新的键值信息进行统计的步骤具体为:
    周期性地对每个节点的所述新的键值信息进行统计。
    6. 如权利要求 1到 4中任意一项所述的方法, 其中, 所述对每个节点 的所述新的键值信息进行统计的步骤具体为:
    在延迟固定时间之后对每个节点的所述新的键值信息进行统计, 其中, 所述固定时间大于所述多个对象的并发操作中的最大操作时间。
    7. 一种提高分布式对象存储系统的并发性能的设备, 用于在容器的多 个节点处执行多个对象的并发操作的分布式对象存储系统, 其中, 所述多个 对象的并发操作需要对共享数据进行处理, 所述设备包括:
    控制器, 被配置为向所述多个节点中的每个节点赋予新的键值信息, 其 中, 该新的键值信息指示相对应的节点处的操作对共享数据的处理结果; 对每个节点的所述新的键值信息进行统计, 以计算所述并发操作对所述 共享数据的总的处理结果;
    以所计算的总的处理结果更新所述共享数据。
CN201180003693.4A 2011-12-05 2011-12-05 提高分布式对象存储系统的并发性能的方法和装置 Active CN103502953B (zh)

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 true CN103502953A (zh) 2014-01-08
CN103502953B 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)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104850498A (zh) * 2015-06-05 2015-08-19 上海斐讯数据通信技术有限公司 一种填充信息测试方法及系统
CN108920725A (zh) * 2018-08-02 2018-11-30 网宿科技股份有限公司 一种对象存储的方法及对象存储网关

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101488924A (zh) * 2009-02-16 2009-07-22 成都市华为赛门铁克科技有限公司 一种元数据的修改方法和元数据服务器
US20110191389A1 (en) * 2005-07-28 2011-08-04 Vmware, Inc. Distributed data management system
CN102231199A (zh) * 2011-06-27 2011-11-02 中国建设银行股份有限公司 一种交易信息异步处理的方法及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110191389A1 (en) * 2005-07-28 2011-08-04 Vmware, Inc. Distributed data management system
CN101488924A (zh) * 2009-02-16 2009-07-22 成都市华为赛门铁克科技有限公司 一种元数据的修改方法和元数据服务器
CN102231199A (zh) * 2011-06-27 2011-11-02 中国建设银行股份有限公司 一种交易信息异步处理的方法及装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104850498A (zh) * 2015-06-05 2015-08-19 上海斐讯数据通信技术有限公司 一种填充信息测试方法及系统
CN104850498B (zh) * 2015-06-05 2017-06-16 上海斐讯数据通信技术有限公司 一种填充信息测试方法及系统
CN108920725A (zh) * 2018-08-02 2018-11-30 网宿科技股份有限公司 一种对象存储的方法及对象存储网关
US11269843B2 (en) 2018-08-02 2022-03-08 Wangsu Science & Technology Co., Ltd. Object storage method and object storage gateway

Also Published As

Publication number Publication date
CN103502953B (zh) 2016-10-05
WO2013082743A1 (zh) 2013-06-13

Similar Documents

Publication Publication Date Title
US11645183B1 (en) User interface for correlation of virtual machine information and storage information
US7702865B2 (en) Storage system and data migration method
US8909887B1 (en) Selective defragmentation based on IO hot spots
US20160328176A1 (en) Providing access information to a storage controller to determine a storage tier for storing data
KR102318477B1 (ko) Ssd 어레이 관리를 위한 스트림 식별자 기반 스토리지 시스템
US20100199065A1 (en) Methods and apparatus for performing efficient data deduplication by metadata grouping
CN107018172B (zh) 用于在分布式缓存存储器中自适应分区的系统和方法
EP2541423B1 (en) Replacement policy for resource container
US20150286413A1 (en) Handling data block migration to efficiently utilize higher performance tiers in a multi-tier storage environment
CN109154917A (zh) 存储系统和固态硬盘
CN101236480A (zh) 存储模块及容量池空闲容量调整方法
CN117370030A (zh) 分布式计算系统中的集群资源管理
US20060212495A1 (en) Method and system for storing data into a database
JP2007156815A (ja) データマイグレーション方法及びシステム
JP2009505255A (ja) ランダム・アクセス媒体内の記憶域プールにおいてアクティブ・ファイルを含む集合体を維持するための方法、システム、およびプログラム(ランダム・アクセス媒体内の記憶域プールにおけるアクティブ・ファイルを含む集合体の維持)
TW201937361A (zh) 儲存元件
US8151079B2 (en) Computer system, storage area allocation method, and management computer
US10810054B1 (en) Capacity balancing for data storage system
CN103761190A (zh) 数据处理方法及装置
JP5668982B2 (ja) ストレージシステム、アクセスパス状態更新方法およびアクセスパス状態更新プログラム
US10198180B2 (en) Method and apparatus for managing storage device
US8799534B2 (en) Storage apparatus and method for controlling same
US10146783B2 (en) Using file element accesses to select file elements in a file system to defragment
EP3495939B1 (en) Method and device for storing data in distributed block storage system, and computer readable storage medium
US20100057989A1 (en) Method of moving data in logical volume, storage system, and administrative computer

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