一种分布式文件系统的制作方法

文档序号:32342824发布日期:2022-11-26 10:22阅读:43来源:国知局
一种分布式文件系统的制作方法

1.本发明涉及数据存储技术领域,更具体的说,涉及一种分布式文件系统。


背景技术:

2.随着社会的发展,人们的互联网生活变得越来越丰富,这也给信息存储带来了巨大的挑战,因此,设计出大容量、高可用、高可靠、高性能、可扩展、易维护的分布式文件系统变得尤为重要。分布式存储系统通过向用户提供统一的接口,将用户数据存储在不同的节点上,并能够维护元数据,用户只需要向访问本地文件系统一样访问分布式文件系统即可。
3.现有的分布式文件系统中各个节点对磁盘数据的主要管理方式为:直接对裸盘进行管理,自身维护磁盘的元数据,当接收到上层发送的io请求时,根据io请求的内容找到对应的元数据,最后转换为对磁盘指定位置的一次读或写。
4.然而,现有的分布式系统需要管理文件中的元数据,写的性能较差,在将元数据转换为对磁盘指定位置写的过程,分布式文件系统实现复杂,维度难度较大。


技术实现要素:

5.有鉴于此,本发明公开一种分布式文件系统,以实现在追加写的存储系统上提供随机写的能力,因此复杂度低,且减少io放大,上层负责实现用户文件的元数据管理,文件索引的检索和io调度,对用户提供了对文件的随机写能力,且支持网络文件系统协议,上层逻辑无需关心底层数据的迁移,从而维护难度低。
6.一种分布式文件系统,包括:元数据服务模块、数据存储服务模块、垃圾回收服务模块和接入服务模块,所述元数据服务模块分别与所述数据存储服务模块、所述垃圾回收服务模块和所述接入服务模块连接,所述接入服务模块与所述数据存储服务模块连接;
7.所述元数据服务模块,用于提供整个文件系统的元数据服务,通过一致性协议构成预设固定数量的元数据服务集群并保证一致性,还用于接收所述数据存储服务模块、所述垃圾回收服务模块和所述接入服务模块发送的表征工作状态的心跳;
8.所述数据存储服务模块,用于对外提供针对数据槽任意io大小的随机读写能力,其中,所述数据存储服务模块映射的各个数据槽均匀分布;
9.所述垃圾回收服务模块,用于负责索引文件和数据文件的垃圾回收;
10.所述接入服务模块,用于接收客户端发送的写请求,根据所述写请求携带的信息查找到对应的第一文件编号,并确定所述写请求的偏移和长度对应的各个第一逻辑单元,对所述第一文件编号和各所述第一逻辑单元的编号通过哈希计算得到对应的第一数据槽,基于数据槽与所述数据存储服务模块的映射关系,将所述写请求分发至所述第一数据槽对应的目标数据存储服务模块上,使所述目标数据存储服务模块将所述写请求的元数据和真实数据追加写到所述第一数据槽所负责的底层存储系统的最新数据文件上,待写入成功后更新所述第一数据槽中缓存的文件数据索引,其中,所述底层存储系统用于直接负责裸盘的管理,能够将业务文件通过纠删或多副本的冗余测量存储在多节点的不同存储介质上,
且只支持顺序写。
11.可选的,所述元数据服务模块还用于:
12.为每个业务文件分配一个全局唯一的文件编号,维护数据槽与所述数据存储服务模块的映射关系,当有所述数据存储服务模块出现故障时,重新生成故障数据存储服务模块与正常的所述数据存储服务模块的映射关系,并将所述故障数据存储服务模块的版本更新,其中,每个所述数据存储服务模块中具有多个所述数据槽。
13.可选的,每个所述数据存储服务模块能够加载若干个所述数据槽,各个所述数据槽独立维护文件数据索引且相互之间逻辑解耦。
14.可选的,所述垃圾回收服务模块还用于:
15.当对业务文件进行覆盖写时,若索引文件里会出现的无效索引达到第一数据量,以及数据文件里出现的无效数据达到第二数据量,则对所述索引文件的内容和所述数据文件的内容进行重新组织,并生成最新索引文件和最新数据文件。
16.可选的,所述接入服务模块用于负责网路文件系统协议的解析,并维护所述客户端的状态信息,包括:
17.获取所述客户端发送的网络文件系统协议的请求;
18.当所述请求为io请求时,将所述io请求发送至所述数据存储服务模块进行处理得到第一处理结果,并将所述第一处理结果按照所述网络文件系统协议规定的格式返回至所述客户端;
19.当所述请求为元数据请求时,将所述元数据请求发送至所述元数据服务模块进行处理得到第二处理结果,并将所述第二处理结果按照所述网络文件系统协议规定的格式返回至所述客户端。
20.可选的,所述接入服务模块还用于:
21.接收所述客户端发送的读请求,根据所述读请求携带的信息查找到对应的第二文件编号,并确定所述读请求的偏移和长度对应的各个第二逻辑单元,对所述第二文件编号和各所述第二逻辑单元的编号通过哈希计算得到对应的第二数据槽,根据所述第二数据槽缓存的文件索引,到对应的数据文件的指定位置读取所需的数据。
22.可选的,所述元数据服务模块还用于:
23.在检测到心跳中断的数据存储服务模块所在的节点发生故障时,将故障数据存储服务模块的状态标记为异常;
24.将映射到所述故障数据存储服务模块的各个目标数据槽重新分配到其他正常数据存储服务模块上,生成各个所述目标数据槽与各个所述正常数据存储服务模块的最新映射关系,同时将映射关系版本更新;
25.每个所述正常数据存储服务模块用于:
26.当通过心跳感知到映射关系版本发生变化时,获取所述最新映射关系,并从各个所述目标数据槽中加载所需数据槽。
27.可选的,所述正常数据存储服务模块具体用于:
28.在加载所述所需数据槽时,读取所述所需数据槽的索引文件来恢复文件数据索引至缓存中,其中,在所述文件数据索引恢复期间,所述正常数据存储服务模块接收来自所述接入服务模块的io请求将被丢弃。
29.可选的,所述数据存储服务模块还用于:
30.在当前数据文件被追加写固定次数的io请求后,会将所述当前数据文件封存,并切换到下一个数据文件,将后续追加写的io请求写到所述下一个数据文件中。
31.可选的,所述索引文件用于保存业务文件的元数据,是底层存储系统离的逻辑文件。
32.从上述的技术方案可知,本发明公开了一种分布式文件系统,包括:元数据服务模块、数据存储服务模块、垃圾回收服务模块和接入服务模块,元数据服务模块提供整个文件系统的元数据服务,以及通过心跳检查其他模块的工作状态,数据存储服务模块对外提供针对数据槽任意io大小的随机读写能力,垃圾回收服务模块负责索引文件和数据文件的垃圾回收,以提高磁盘利用率,接入服务模块根据客户端发送的写请求查找第一文件编号以及对应的各个第一逻辑单元,对第一文件编号和各第一逻辑单元的编号通过哈希计算得到对应的第一数据槽,并将写请求分发至第一数据槽对应的目标数据存储服务模块上,使目标数据存储服务模块将写请求的元数据和真实数据追加写到所述第一数据槽所负责的底层存储系统的最新数据文件上,待写入成功后更新第一数据槽中缓存的文件数据索引。本发明提供的分布式文件系统的底层存储是建立在只支持追加写的分布式存储系统上,由底层存储系统保证数据的可靠性,且所有上层写请求都将被转换成对底层存储系统离数据文件的追加写,支持了业务文件的随机写,且随机写性能与顺序写基本持平,从而在追加写的存储系统上提供了随机写的能力,因此复杂度低,且减少了io放大,上层负责实现用户文件的元数据管理,文件索引的检索和io调度,对用户提供了对文件的随机写能力,且支持网络文件系统协议,上层逻辑无需关心底层数据的迁移,从而维护难度低。
附图说明
33.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据公开的附图获得其他的附图。
34.图1为本发明实施例公开的一种分布式文件系统的整体架构图;
35.图2为本发明实施例公开的一种io请求的组成示意图;
36.图3为本发明实施例公开的一种业务文件的路由示意图;
37.图4为本发明实施例公开的一种数据槽缓存的索引数据被持久化到索引文件的格式示意图。
具体实施方式
38.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
39.本发明实施例公开了一种分布式文件系统,包括:元数据服务模块、数据存储服务模块、垃圾回收服务模块和接入服务模块,元数据服务模块提供整个文件系统的元数据服
务,以及通过心跳检查其他模块的工作状态,数据存储服务模块对外提供针对数据槽任意io大小的随机读写能力,垃圾回收服务模块负责索引文件和数据文件的垃圾回收,以提高磁盘利用率,接入服务模块根据客户端发送的写请求查找第一文件编号以及对应的各个第一逻辑单元,对第一文件编号和各第一逻辑单元的编号通过哈希计算得到对应的第一数据槽,并将写请求分发至第一数据槽对应的目标数据存储服务模块上,使目标数据存储服务模块将写请求的元数据和真实数据追加写到所述第一数据槽所负责的底层存储系统的最新数据文件上,待写入成功后更新第一数据槽中缓存的文件数据索引。本发明提供的分布式文件系统的底层存储是建立在只支持追加写的分布式存储系统上,由底层存储系统保证数据的可靠性,且所有上层写请求都将被转换成对底层存储系统离数据文件的追加写,支持了业务文件的随机写,且随机写性能与顺序写基本持平,从而在追加写的存储系统上提供了随机写的能力,因此复杂度低,且减少了io放大,上层负责实现用户文件的元数据管理,文件索引的检索和io调度,对用户提供了对文件的随机写能力,且支持网络文件系统协议,上层逻辑无需关心底层数据的迁移,从而维护难度低。
40.参见图1,本发明实施例公开的一种分布式文件系统的整体架构图,分布式文件系统包括:元数据服务模块(metaserver)11、数据存储服务模块(segmentserver)12、垃圾回收服务模块(gc)13和接入服务模块(parashu)14。
41.元数据服务模块11分别与数据存储服务模块12、垃圾回收服务模块13和接入服务模块连接14,接入服务模块14与数据存储服务模块12连接。
42.需要特别说明的是,在实际应用中,元数据服务模块11、数据存储服务模块12、垃圾回收服务模块13和接入服务模块14各自的数量均为至少一个,图1中示出的三个元数据服务模块11和五个数据存储服务模块12的情况仅为一种示例,元数据服务模块11、数据存储服务模块12、垃圾回收服务模块13和接入服务模块14各自的数量具体依据实际需要而定,包括但不限于图1中所示出情况。
43.其中,元数据服务模块11,用于提供整个文件系统的元数据服务,通过一致性协议构成预设固定数量的元数据服务集群并保证一致性,还用于接收数据存储服务模块12、垃圾回收服务模块13和接入服务模块14发送的表征工作状态的心跳。
44.具体的,以图1为例,元数据服务集群包括三个元数据服务模块11,在实际应用中,三个元数据服务模块11中的一个元数据服务模块11作为主元数据服务模块,另外两个元数据服务模块11作为备用元数据服务模块,正常情况下,只有主元数据服务模块工作,当主元数据服务模块出现故障时,启用备用元数据服务模块。
45.数据存储服务模块12、垃圾回收服务模块13和接入服务模块14定期通过心跳向元数据服务模块11汇报自身的工作状态。
46.数据存储服务模块12,用于对外提供针对数据槽任意io大小的随机读写能力,其中,数据存储服务模块12映射的各个数据槽均匀分布。
47.需要说明的是,数据存储服务模块12中的数据槽是每个分布式存储系统集群初始化时固定个数的逻辑概念,假设有10000个。可以简单理解为一致性哈希环中的槽概念。每个数据槽在同一时刻可以被一个数据存储服务模块12加载,每个数据槽都包含着数据文件和索引文件,对应着底层追加写存储系统离的逻辑文件。数据槽被均匀分配在所有的数据存储服务模块12上。
48.垃圾回收服务模块13,用于负责索引文件和数据文件的垃圾回收。
49.其中,数据文件用于保存真实的文件数据,是底层存储系统里的逻辑文件,每个io都会向数据槽最新的数据文件里追加写一段内容,该内容由该io请求的元数据和真实数据组成,详见图2所示的io请求的组成示意图,其中,元数据包括:文件编号、偏移、长度和io类型。
50.接入服务模块14用于接收客户端10发送的写请求,根据所述写请求携带的信息查找到对应的第一文件编号,并确定所述写请求的偏移和长度对应的各个第一逻辑单元,对所述第一文件编号和各所述第一逻辑单元的编号通过哈希计算得到对应的第一数据槽,基于数据槽与所述数据存储服务模块的映射关系,将所述写请求分发至所述第一数据槽对应的目标数据存储服务模块上,使所述目标数据存储服务模块将所述写请求的元数据和真实数据追加写到所述第一数据槽所负责的底层存储系统15的最新数据文件上,待写入成功后更新所述第一数据槽中缓存的文件数据索引。
51.详见图1,底层存储系统15用于直接负责裸盘的管理,能够将业务文件通过纠删或多副本的冗余测量存储在多节点的不同存储介质上,且只支持顺序写,也即是说,底层存储系统15不支持随便写,只支持顺序写。
52.需要说明的是,本实施例中客户端10发送的写请求属于io请求。
53.本实施例中,根据写请求的偏移和长度确定写请求对应的一个或是多个第一逻辑单元。
54.综上可知,本发明公开了一种分布式文件系统,包括:元数据服务模块11、数据存储服务模块12、垃圾回收服务模块13和接入服务模块14,元数据服务模块11提供整个文件系统的元数据服务,以及通过心跳检查其他模块的工作状态,数据存储服务模块12对外提供针对数据槽任意io大小的随机读写能力,垃圾回收服务模块13负责索引文件和数据文件的垃圾回收,以提高磁盘利用率,接入服务模块14根据客户端10发送的写请求查找第一文件编号以及对应的各个第一逻辑单元,对第一文件编号和各第一逻辑单元的编号通过哈希计算得到对应的第一数据槽,并将写请求分发至第一数据槽对应的目标数据存储服务模块上,使目标数据存储服务模块将写请求的元数据和真实数据追加写到所述第一数据槽所负责的底层存储系统15的最新数据文件上,待写入成功后更新第一数据槽中缓存的文件数据索引。本发明提供的分布式文件系统的底层存储是建立在只支持追加写的分布式存储系统上,由底层存储系统保证数据的可靠性,且所有上层写请求都将被转换成对底层存储系统离数据文件的追加写,支持了业务文件的随机写,且随机写性能与顺序写基本持平,从而在追加写的存储系统上提供了随机写的能力,因此复杂度低,且减少了io放大,上层负责实现用户文件的元数据管理,文件索引的检索和io调度,对用户提供了对文件的随机写能力,且支持网络文件系统协议,上层逻辑无需关心底层数据的迁移,从而维护难度低。
55.为进一步优化上述实施例,元数据服务模块11还可以用于:
56.为每个业务文件分配一个全局唯一的文件编号,维护数据槽与数据存储服务模块12的映射关系,当有数据存储服务模块12出现故障时,重新生成故障数据存储服务模块与正常的数据存储服务模块的映射关系,并将所述故障数据存储服务模块的版本更新,其中,每个数据存储服务模块12中具有多个所述数据槽。
57.本发明中,数据槽与数据存储服务模块12的映射关系有版本的概念,当因有数据
存储服务模块12故障,需要重新生成数据槽与数据存储服务模块12的新映射关系时,版本更新,在实际应用中,新映射关系的版本可以在原映射关系的版本的基础上加1。
58.需要说明的是,本发明中元数据服务模块11为每个业务文件分配一个全局唯一的文件编号(fileid),按固定的长度(1gb)划分为一个个逻辑单元(blob),每个逻辑单元有一个逻辑单元编号(blobid)。例如一个2.5gb大小的业务文件会被划分为3个逻辑单元,逻辑单元编号分别为0,1,2,每个逻辑单元通过文件编号+逻辑单元编号哈希至固定的数据槽(segment)上。
59.在实际应用中,业务文件的路由示意图如图3所示,假设有业务文件1和业务文件2,业务文件1和业务文件2均有唯一对应的文件编号,业务文件1和业务文件2均按照固定的长度划分为多个逻辑单元,每个逻辑单元具有一个逻辑单元编号,不同的逻辑单元具有的逻辑单元编号不同,每个逻辑单元通过文件编号+逻辑单元编号哈希至固定的数据槽上,各个数据槽与数据存储服务模块12成映射关系。
60.针对逻辑单元、数据槽n(n为正整数)和数据存储服务模块n解释如下:
61.逻辑单元,每个业务文件被切分成多个逻辑单元,大小固定,通过抑制性哈希映射到固定的数据槽上。
62.数据槽n,逻辑概念,个数固定,包含索引文件、数据文件,可记载至某个数据存储服务,同一时刻只会存在与一个数据存储服务模块上。
63.数据存储服务模块n,每个集群有若干个数据存储服务模块,分布在集群的各节点上,数量不固定,数据槽平均分布在各个数据存储服务上,集群维护数据槽至数据存储服务模块的映射关系表。
64.本发明中,数据存储服务模块12对外提供针对数据槽的任意io大小的随机读写能力,每个数据存储服务模块12可以加载若干个数据槽,各个所述数据槽独立维护文件数据索引且相互之间逻辑解耦。
65.为进一步优化上述实施例,垃圾回收服务模块13还可以用于:
66.当对业务文件进行覆盖写时,若索引文件里会出现的无效索引达到第一数据量,以及数据文件里出现的无效数据达到第二数据量,则对所述索引文件的内容和所述数据文件的内容进行重新组织,并生成最新索引文件和最新数据文件。
67.在实际应用中,当业务文件进行覆盖写时,索引文件里会出现无效索引,数据文件里也会出现无效数据,当这些无效数据达到一定的量时,垃圾回收服务模块会对索引文件和数据文件的内容进行重新组织,重新生成新的索引文件和数据文件,避免覆盖写的情况下索引文件和数据文件的体积无限增大,导致集群可用容量持续降低。
68.本发明中垃圾回收服务模块13会定期整理数据文件和索引文件里的无效内容,压缩集群使用量,且且支持通过纠删码的方式保存整理过后的数据文件和索引文件,从而提高磁盘利用率。
69.为进一步优化上述实施例,接入服务模块14用于负责网路文件系统协议的解析,并维护客户端10的状态信息的过程具体包括:
70.获取客户端10发送的网络文件系统协议的请求;
71.当所述请求为io请求时,将所述io请求发送至数据存储服务模块12进行处理得到第一处理结果,并将所述第一处理结果按照所述网络文件系统协议规定的格式返回至所述
客户端10;
72.当所述请求为元数据请求时,将所述元数据请求发送至所述元数据服务模块11进行处理得到第二处理结果,并将所述第二处理结果按照所述网络文件系统协议规定的格式返回至所述客户端10。
73.在实际应用中,接入服务模块14负责网络文件系统(nfs)协议的解析,并维护客户端的状态信息,包括文件锁的状态,接收客户端端发来的网络文件系统协议的请求,并针对请求为io请求或元数据请求,将请求发送至对应的模块进行处理。
74.本发明中接入服务模块14除了处理来自客户端10的写请求,还可以处理来自客户端10的读请求。
75.因此,为进一步优化上述实施例,接入服务模块14还可以用于:
76.接收所述客户端发送的读请求,根据所述读请求携带的信息查找到对应的第二文件编号,并确定所述读请求的偏移和长度对应的各个第二逻辑单元,对所述第二文件编号和各所述第二逻辑单元的编号通过哈希计算得到对应的第二数据槽,根据所述第二数据槽缓存的文件索引,到对应的数据文件的指定位置读取所需的数据。
77.需要特别说明的是,为便于区分接入服务模块14对写请求和读请求的处理过程,本发明用“第一”和“第二”对文件编号、逻辑单元和数据槽进行了区分。
78.为进一步优化上述实施例,数据存储服务模块12还可以用于:
79.在当前数据文件被追加写固定次数的io请求后,会将所述当前数据文件封存,并切换到下一个数据文件,将后续追加写的io请求写到所述下一个数据文件中。
80.需要说明的是,本发明中的索引文件用于保存业务文件的元数据,是底层存储系统离的逻辑文件。数据存储服务模块12为每个数据槽缓存了其所包含文件的数据索引,记录着写入该文件的每一段偏移和长度所对应的数据文件的偏移和长度,当切换到新数据文件(即当前数据文件的下一个数据文件)时,数据槽缓存的索引数据将被持久化到索引文件中。
81.持久化的格式参见图4所示的数据槽缓存的索引数据被持久化到索引文件的格式示意图,该格式包括:覆盖的数据文件的编号、包含的文件个数、多个文件索引元数据以及多个文件索引。
82.其中,每个文件索引元数据包括:文件编号、偏移(此文件的索引信息在当前索引文件中的起始偏移)和长度(此文件的索引信息在当前索引文件中的长度)。文件索引包括:该文件的逻辑偏移、逻辑偏移对应的数据文件中的偏移、这段索引的长度和数据文件编号(对应哪个数据文件)。
83.需要说明的是,数据存储服务模块12所在节点故障或重启后,映射到该数据存储服务模块12的数据槽会被立即转移到其他数据存储服务模块12上,此时,上层io会在短暂中断后恢复。
84.因此,为进一步优化上述实施例,元数据服务模块11还可以用于:
85.在检测到心跳中断的数据存储服务模块12所在的节点发生故障时,将故障数据存储服务模块的状态标记为异常;
86.将映射到所述故障数据存储服务模块的各个目标数据槽重新分配到其他正常数据存储服务模块上,生成各个所述目标数据槽与各个所述正常数据存储服务模块的最新映
射关系,同时将映射关系版本更新。
87.具体的,当某个数据存储服务模块12所在的节点发生故障时,该发生故障的数据存储服务模块12与元数据服务模块11的心跳中断,此时,元数据服务模块11会将故障数据存储服务模块的状态标记为异常。将之前映射到故障数据存储服务模块的数据槽记为:目标数据槽,元数据服务模块11将将映射到所述故障数据存储服务模块的各个目标数据槽重新分配到其他正常数据存储服务模块上,生成各个所述目标数据槽与各个所述正常数据存储服务模块的最新映射关系,同时将映射关系版本更新。在对映射关系版本更新时,可以将映射关系版本加1。
88.每个正常数据存储服务模块用于:
89.当通过心跳感知到映射关系版本发生变化时,获取所述最新映射关系,并从各个所述目标数据槽中加载所需数据槽。
90.其他正常数据存储服务模块和接入服务模块14会通过心跳感知到映射关系版本发生变化,并可获得最新映射关系的版本,并从各个目标数据槽中加载所需数据槽。
91.正常数据存储服务模块具体用于:
92.在加载所需数据槽时,读取所述所需数据槽的索引文件来恢复文件数据索引至缓存中,其中,在所述文件数据索引恢复期间,所述正常数据存储服务模块接收来自所述接入服务模块14的io请求将被丢弃。
93.具体的,正常数据存储服务模块在加载所需数据槽时,会先通过该所需数据槽的索引文件来回复文件数据索引至缓存中,由于之前的数据存储服务故障时缓存中还有没有持久化到索引文件的文件数据索引,因此需要根据该数据槽最新的索引文件里记录的其所覆盖的数据文件的编号,从下一个数据文件开始,根据数据文件里每个io的元数据继续恢复索引,待索引恢复完成后,下发到该数据槽的io就可以正常处理了,在索引恢复期间数据存储服务收到的来自接入服务的io请求将被丢弃,接入服务在io超时后会自动重试,上层客户端无io报错。
94.基于上述论述可知,本发明公开的分布式文件系统具有如下优势:
95.1)所有写io都会被转换成对底层存储系统文件的追加写,且随机写io的速度能够与顺序写io基本持平,在追加写的存储系统之上提供了随机写的能力;
96.2)能容忍节点的故障或重启;
97.3)可自由扩展和剔除节点;
98.4)可通过垃圾回收的方式转存为纠删码的方式保存存储,提高磁盘利用率。
99.综上可知,本发明分布式文件系统的底层存储是建立在一种只支持追加写的分布式存储系统之上的,由底层存储系统保证数据的可靠性,并提供多副本或纠删的冗余策略,且由于该存储系统只支持追加写,复杂度低,且减少了io放大,上层负责实现用户文件的元数据管理,文件索引的检索和io调度,对用户提供了对文件的随机写能力,且支持nfs协议,这些逻辑和底层存储相互解耦,有节点出现故障时,上层逻辑不用关心底层数据的迁移,维护难度低。
100.另外,本发明写请求通过其对应的文件编号和逻辑单元编号经哈希计算后映射到对应的数据槽上,而数据槽又在数据存储服务上均匀分布,从而保证了个节点压力均衡。
101.最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将
一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
102.本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
103.对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1