CN108197159B - 基于分布式文件系统的数据读取、写入方法及装置 - Google Patents
基于分布式文件系统的数据读取、写入方法及装置 Download PDFInfo
- Publication number
- CN108197159B CN108197159B CN201711317173.6A CN201711317173A CN108197159B CN 108197159 B CN108197159 B CN 108197159B CN 201711317173 A CN201711317173 A CN 201711317173A CN 108197159 B CN108197159 B CN 108197159B
- Authority
- CN
- China
- Prior art keywords
- storage node
- data
- area
- written
- file system
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/13—File access structures, e.g. distributed indices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于分布式文件系统的数据读取、写入方法及装置。其中,该方法包括:分布式文件系统中属于第一区域的第一存储节点接收客户端设备发送的读取请求,其中,该读取请求用于请求待读取数据;判断与待读取数据对应的第一存储位置是否具有预设标记;在判断结果为是时,则从第二存储节点中读取待读取数据,其中,第二存储节点位于第二区域,且第一区域和第二区域是不同的区域。本发明解决了相关技术中分布式文件系统在多地域集群存储时存在性能不佳的技术问题。
Description
技术领域
本发明涉及分布式文件存储领域,具体而言,涉及一种基于分布式文件系统的数据读取、写入方法及装置。
背景技术
Ceph是分布式的存储,如图1所示,它将文件分割后均匀随机地分散在各个节点上,Ceph采用了CRUSH算法来确定对象的存储位置,只要有当前集群的拓扑结构,Ceph客户端就能直接计算出文件的存储位置,直接跟OSD(守护进程)节点通信获取文件而不需要询问中心节点获得文件位置,这样就避免了单点风险。
如果不考虑网络和分布的限制,Ceph集群的性能是占优的,相对于Swift(对象存储)和HDFS(分布式文件系统)等。
Ceph虽然支持多地域部署,但实际上其仍然依托于master-slave模型,和强一致数据模式(即在任意时刻,分布式系统中的所有节点中的数据是相同的,例如,在同一时间点,在节点A获取到的数据和在节点B获取到的数据是一致的),都严重制约着Ceph的多地域集群(甚至不同的机房)的性能,例如,由于Ceph是强一致性的,所以只有在所有副本都写完的时候才认为一个写操作完成。从而,客户端需要大量的时间来进行确认,影响了数据传输效率。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明提供了一种基于分布式文件系统的数据读取、写入方法及装置,以至少解决相关技术中分布式文件系统在多地域集群存储时存在性能不佳的技术问题。
一方面,本发明提供了一种基于分布式文件系统的数据读取方法,包括:分布式文件系统中属于第一区域的第一存储节点接收客户端设备发送的读取请求,其中,该读取请求用于请求待读取数据;判断与待读取数据对应的第一存储位置是否具有预设标记;在判断结果为是时,则从第二存储节点中读取待读取数据,其中,第二存储节点位于第二区域,且第一区域和第二区域是不同的区域。
可选地,方法还包括:在判断结果为否时,从与待读取数据对应的存储位置中读取待读取数据。
可选地,预设标记用于表示待读取数据未存储于第一存储位置,且待读取数据存储于第二区域的第二存储位置。
可选地,分布式文件系统中属于第一区域的第一存储节点接收客户端设备发送的读取请求之前,方法还包括:第一存储节点确定第一存储节点中具有预设标记的存储位置,得到指定存储位置;第一存储节点依据预设标记确定与预设标记对应的第二存储节点;第一存储节点从第二存储节点中接收待读取数据,并将待读取数据存储至指定存储位置。
可选地,将待读取数据存储至指定存储位置之后,方法还包括:解除预设标记与第二存储节点的对应关系。
可选地,分布式文件系统中属于第一区域的第一存储节点接收客户端设备发送的读取请求之前,方法还包括:第一存储节点判断待写入数据的目标存储位置所对应的目标存储节点是否属于第一区域;在目标存储节点属于第一区域时,第一存储节点将待写入数据中的数据块全部存储至目标存储位置后,向客户端设备发送第一通知信息,该第一通知信息用于通知客户端设备待写入数据的全部数据块已经写入目标存储节点。
可选地,在目标存储节点不属于第一区域时,方法还包括:第一存储节点为目标存储位置分配预设标记;建立预设标记和目标存储节点的对应关系;向客户端设备发送第二通知信息,该第二通知信息用于通知客户端设备待写入数据中的指定数据块已经写入目标存储节点,其中,指定数据块为待写入数据中的任意一个数据块。
另一方面,本发明还提供了一种基于分布式文件系统的数据写入方法,包括:第一存储节点判断目标存储节点是否属于第一区域,其中,第一存储节点为分布式文件系统中属于第一区域的存储节点,目标存储节点为待写入数据块的目标存储位置所对应的存储节点;在目标存储节点不属于第一区域时,第一存储节点为目标存储位置分配预设标记;建立预设标记和目标存储节点的对应关系;以及向客户端设备发送第二通知信息,该第二通知信息用于通知客户端设备待写入数据中的指定数据块已经写入目标存储节点,其中,指定数据块为待写入数据中的任意一个数据块。
可选地,方法还包括:在目标存储节点属于第一区域时,第一存储节点将待写入数据中的数据块全部存储至目标存储位置后,向客户端设备发送第一通知信息,该第一通知信息用于通知客户端设备待写入数据的全部数据块已经写入目标存储节点。
另一方面,本发明还提供了一种基于分布式文件系统的数据读取装置,应用于分布式文件系统中属于第一区域的第一存储节点中,包括:接收模块,用于接收客户端设备发送的读取请求,其中,该读取请求用于请求待读取数据;判断模块,用于判断与待读取数据对应的第一存储位置是否具有预设标记;读取模块,用于在判断模块输出的判断结果为是时,则从第二存储节点中读取待读取数据,其中,第二存储节点位于第二区域,且第一区域和第二区域是不同的区域。
另一方面,本发明还提供了一种基于分布式文件系统的数据写入装置,应用于分布式文件系统中属于第一区域的第一存储节点中,包括:判断模块,用于判断目标存储节点是否属于第一区域,其中,第一存储节点为分布式文件系统中属于第一区域的存储节点,目标存储节点为待写入数据块的目标存储位置所对应的存储节点;分配模块,用于在目标存储节点不属于第一区域时,第一存储节点为目标存储位置分配预设标记;建立模块,用于建立预设标记和目标存储节点的对应关系;以及发送模块,用于向客户端设备发送第二通知信息,该第二通知信息用于通知客户端设备待写入数据中的指定数据块已经写入目标存储节点,其中,指定数据块为待写入数据中的任意一个数据块。
另一方面,本发明还提供了一种存储介质,存储介质包括存储的程序,其中,在程序运行时控制存储介质所在设备执行以上的基于分布式文件系统的数据读取方法;或者,执行以上所述的基于分布式文件系统的数据写入方法。
另一方面,本发明还提供了一种处理器,处理器用于运行程序,其中,程序运行时执行以上的基于分布式文件系统的数据读取方法;或者,执行以上所述的基于分布式文件系统的数据写入方法。
在本发明中,采用第一区域的第一存储节点中的第一存储位置具有预设标记时,从第二区域的第二存储节点中读取数据的方式,由于可以不必第一区域的第一存储位置中必须存储数据,即可以从第二区域的第二存储节点中读取数据,因此,可以实现数据的多地域部署,进而解决了相关技术中分布式文件系统在多地域集群存储时存在性能不佳的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据相关技术的一种ceph的工作原理示意图;
图2是相关技术的一种可选的副本数据的操作流程示意图;
图3是根据本发明实施例的一种基于分布式文件系统的数据读取方法的流程图;
图4是根据本发明实施例的一种基于分布式文件系统的数据读取装置的结构框图;
图5是根据本发明实施例的一种基于分布式文件系统的数据写入方法的流程图;
图6是根据本发明实施例的一种基于分布式文件系统的数据写入装置的结构框图;
图7是根据本发明实施例的一种可选的数据写入过程示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
相关技术中,分布式文件系统(Ceph),虽然属于去中心化存储集群,但实际上还是master-slave模型。因为只能从master到slave进行复制,所以在多于两个地域时,基础架构上的负载分布会很不均衡。同时只能master上写入,同时又不阻隔slave的写入,这种配置最严重的时候,甚至会导致集群崩溃。
多地域网络间的限制。假定一个集群跨越两个地域,相隔数千英里,100ms延时,非常慢的网络连接。假定将两个副本写入到本地地域,另外两个写入到远程地域。这时四次副本的quorum数是三次,这就意味着这次写请求在至少完成一次远程拷贝前都不会返回。也就意味着即使是很小量的一次写入也会延迟0.2秒,而大批量写入则会因为吞吐量限制严重受阻。
本发明实施例的目的,是提供一个高效的多地域分布式块存储集群。随着云平台的发展,多余块存储集群的要求也越来越高,单地域部署的块存储集群已经越来越难以满足现有云平台的发展。
基于ceph提供多地域的部署方案,能搞帮助已经使用的ceph作为底层存储驱动的平台,就可以直接升级存储集群,实现跨地域备份容灾等,提高存储驱动的效率,进一步提高平台的竞争力。
图2示出了3个副本的数据操作流程。因为客户端只需要像Primary OSD(守护进程)写入数据就行了,因此,在Internet使用场景下的外网带宽和整体访问延迟又得到了一定程度的优化。
这种写入方式虽然带来了可靠性,但难免会带来较长的延迟。Ceph集群本身也提供了一种机制来优化。Ceph可以分两次向client进行确认。当各个OSD都将数据写入内存缓冲区后,就先向client发送一次确认,此时client即可以向下执行。待各个OSD都将数据写入磁盘后,会向client发送一个最终确认信号,此时client可以根据需要删除本地数据。
相关技术中,Swift的更新服务一方面用于检测本地分区副本和远程副本是否一致,具体方式是用对比哈希文件盒高级文件水影来完成,当发现不一致时采用push的方式更新远程副本:对于对象的复制,更新只是使用rsync同步文件到对等节点。账号和容器的复制通过HTTP或同步(Rsync)来推送整个数据库文件上丢失的记录,另一方面用于确保被标记删除的对象从文件系统中移除。
本发明实施例提出一种基于ceph的多地域部署方案,来改进现有ceph部署对于多地域部署和容灾的不足。
由于Ceph是强一致性,所以只有在所有副本都写完的时候才认为一个写操作完成。因为这种情况延时一般都很高,集群必须等到所有的写操作都完成,所以客户端可能需要大量的时间来进行确认。因此,需要一种机制来允许在不同地域的集群之间复制块设备或者复制PG。
集群间的块设备复制或对象复制,可以借鉴了Swift。Swift放弃严格一致性(满足ACID事务级别),而采用最终一致性模型(Eventual Consistency),来达到高可用性和无限水平扩展能力。Swift对象存储的两地域架构中,会先在本地写入,然后基于一致性设计在一段时间里复制到远程地域。
借鉴了Swift和Ceph的架构,本发明实施例提出,在同一个region内,块存储采用强一致性数据模式,而不同的region内,采用弱一致性数据模式,在一定时间里,直接复制OSD或者OSD内的PG(归置组)。
根据本发明实施例,提供了一种基于分布式文件系统的数据读取方法的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图3是根据本发明实施例的一种基于分布式文件系统的数据读取方法的流程图,如图3所示,该方法包括如下步骤:
步骤S302,分布式文件系统中属于第一区域的第一存储节点接收客户端设备发送的读取请求,其中,该读取请求用于请求待读取数据;
在分布式文件系统中属于第一区域的第一存储节点接收客户端设备发送的读取请求之前,第一存储节点确定第一存储节点中具有预设标记的存储位置,得到指定存储位置;第一存储节点依据预设标记确定与预设标记对应的第二存储节点;第一存储节点从第二存储节点中接收待读取数据,并将待读取数据存储至指定存储位置。
在一个可选实施例中,在将待读取数据存储至指定存储位置之后,解除预设标记与第二存储节点的对应关系。即清除为第二存储节点分配的预设标记。
其中,上述预设标记可以表现为字符串或数字组合等,但不限于此。
可选的,在步骤S302之前,第一存储节点判断待写入数据的目标存储位置所对应的目标存储节点是否属于第一区域;在目标存储节点属于第一区域时,第一存储节点将待写入数据中的数据块全部存储至目标存储位置后,向客户端设备发送第一通知信息,该第一通知信息用于通知客户端设备待写入数据的全部数据块已经写入目标存储节点。
步骤S304,判断与待读取数据对应的第一存储位置是否具有预设标记;
可选地,上述预设标记用于表示待读取数据未存储于第一存储位置,且待读取数据存储于第二区域的第二存储位置。即使用预设标记来代替强一致性的处理方式(只有在所有副本都写完的时候才认为一个写操作完成)。
步骤S306,在判断结果为是时,则从第二存储节点中读取待读取数据,其中,第二存储节点位于第二区域,且第一区域和第二区域是不同的区域。在判断结果为否时,从与待读取数据对应的存储位置中读取待读取数据。
可选地,第一存储位置和第二存储位置均包括:分布式文件系统中守护进程OSD中的归置组PG。
在目标存储节点不属于第一区域时,第一存储节点为目标存储位置分配预设标记;建立预设标记和目标存储节点的对应关系;向客户端设备发送第二通知信息,该第二通知信息用于通知客户端设备待写入数据中的指定数据块已经写入目标存储节点,其中,指定数据块为待写入数据中的任意一个数据块。
本申请实施例中提及的存储节点包括但不限于:OSD或者OSD所在的计算机设备,该计算机设备可以运行有一个或多个OSD。上述OSD中的存储位置包括但不限于:归置组(PG)。
以下结合实施例详细说明。
本发明实施例的主要部署,主要基于Ceph集群,结合Swift的rsync同步服务实现。
写操作的步骤,如图7所示:
1)Client向Main OSD写入数据。
2)Main OSD向子OSD(Sub OSD)写入数据前,判断PG隐射的副本OSD所处的地域集群region。
3)如果副本OSD在同一个region中,直接写入到缓存层后返回一次,最后完全写入后再返回一次。
4)如果副OSD在不同的region中,做一个标记flag,直接返回client。
数据同步:
1)OSD服务检查自身的PG,查询带有flag的PG。
2)查下带flag对应的主pg所在的OSD。
3)通过rsync同步服务,同步PG数据。
4)去掉PG的flag,同步结束。
读操作的步骤:
1)client直接读取直连的OSD。
2)判断待读取的数据所在的PG是否存在flag。
3)如果不存在flag,直接读取数据。
4)如果存在flag,查下对应的主OSD,去主OSD直连读取数据。
本申请实施例还提供一种基于分布式文件系统的数据读取装置,该装置用于实现图3所述方法,该装置应用于分布式文件系统中属于第一区域的第一存储节点中,如图4所示,该装置包括:
接收模块40,用于接收客户端设备发送的读取请求,其中,该读取请求用于请求待读取数据;
判断模块42,用于判断与待读取数据对应的第一存储位置是否具有预设标记;
读取模块44,用于在判断模块输出的判断结果为是时,则从第二存储节点中读取待读取数据,其中,第二存储节点位于第二区域,且第一区域和第二区域是不同的区域。
需要说明的是,上述装置中的各个模块是可以通过软件或硬件来实现的,例如,对于后者,可以通过以下方式实现,但不限于此:上述各个模块位于同一处理器中;或者,上述各个模块以任意组合的方式位于不同的处理器中。
本申请实施例还提供一种基于分布式文件系统的数据写入方法,如图5所示,该方法,包括:
步骤S502,第一存储节点判断目标存储节点是否属于第一区域,其中,第一存储节点为分布式文件系统中属于第一区域的存储节点,目标存储节点为待写入数据块的目标存储位置所对应的存储节点;
步骤S504,在目标存储节点不属于第一区域时,第一存储节点为目标存储位置分配预设标记;
步骤S506,建立预设标记和目标存储节点的对应关系;以及
步骤S508,向客户端设备发送第二通知信息,该第二通知信息用于通知客户端设备待写入数据中的指定数据块已经写入目标存储节点,其中,指定数据块为待写入数据中的任意一个数据块。
可选地,在目标存储节点属于第一区域时,第一存储节点将待写入数据中的数据块全部存储至目标存储位置后,向客户端设备发送第一通知信息,该第一通知信息用于通知客户端设备待写入数据的全部数据块已经写入目标存储节点。
本申请实施例还提供一种基于分布式文件系统的数据写入装置,该装置用于应用于分布式文件系统中属于第一区域的第一存储节点中,如图6所示,该装置包括:
判断模块60,用于判断目标存储节点是否属于第一区域,其中,第一存储节点为分布式文件系统中属于第一区域的存储节点,目标存储节点为待写入数据块的目标存储位置所对应的存储节点;
分配模块62,用于在目标存储节点不属于第一区域时,第一存储节点为目标存储位置分配预设标记;
建立模块64,用于建立预设标记和目标存储节点的对应关系;以及
发送模块66,用于向客户端设备发送第二通知信息,该第二通知信息用于通知客户端设备待写入数据中的指定数据块已经写入目标存储节点,其中,指定数据块为待写入数据中的任意一个数据块。
需要说明的是,上述装置中的各个模块是可以通过软件或硬件来实现的,例如,对于后者,可以通过以下方式实现,但不限于此:上述各个模块位于同一处理器中;或者,上述各个模块以任意组合的方式位于不同的处理器中。
本申请实施例提供一种存储介质,该存储介质包括存储的程序,其中,在程序运行时控制存储介质所在设备执行以上所述的基于分布式文件系统的数据读取方法;或者,执行以上所述的基于分布式文件系统的数据写入方法。
本申请实施例还提供一种处理器,处理器用于运行程序,其中,程序运行时以上所述的基于分布式文件系统的数据读取方法;或者,执行以上所述的基于分布式文件系统的数据写入方法。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (12)
1.一种基于分布式文件系统的数据读取方法,其特征在于,包括:
分布式文件系统中属于第一区域的第一存储节点接收客户端设备发送的读取请求,其中,该读取请求用于请求待读取数据;
判断与待读取数据对应的第一存储位置是否具有预设标记;
在判断结果为是时,则从第二存储节点中读取所述待读取数据,其中,所述第二存储节点位于第二区域,且所述第一区域和第二区域是不同的区域;
其中,分布式文件系统中属于第一区域的第一存储节点接收客户端设备发送的读取请求之前,所述方法还包括:所述第一存储节点判断待写入数据的目标存储位置所对应的目标存储节点是否属于所述第一区域;在所述目标存储节点属于所述第一区域时,所述第一存储节点将所述待写入数据中的数据块全部存储至所述目标存储位置后,向所述客户端设备发送第一通知信息,该第一通知信息用于通知所述客户端设备所述待写入数据的全部数据块已经写入所述目标存储节点。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述判断结果为否时,从与所述待读取数据对应的存储位置中读取所述待读取数据。
3.根据权利要求1所述的方法,其特征在于,所述预设标记用于表示所述待读取数据未存储于所述第一存储位置,且所述待读取数据存储于所述第二区域的第二存储位置。
4.根据权利要求1所述的方法,其特征在于,分布式文件系统中属于第一区域的第一存储节点接收客户端设备发送的读取请求之前,所述方法还包括:
所述第一存储节点确定所述第一存储节点中具有所述预设标记的存储位置,得到指定存储位置;
所述第一存储节点依据所述预设标记确定与所述预设标记对应的所述第二存储节点;
所述第一存储节点从所述第二存储节点中接收所述待读取数据,并将所述待读取数据存储至所述指定存储位置。
5.根据权利要求4所述的方法,其特征在于,将所述待读取数据存储至所述指定存储位置之后,所述方法还包括:
解除所述预设标记与所述第二存储节点的对应关系。
6.根据权利要求1所述的方法,其特征在于,在所述目标存储节点不属于所述第一区域时,所述方法还包括:
所述第一存储节点为所述目标存储位置分配所述预设标记;建立所述预设标记和所述目标存储节点的对应关系;向所述客户端设备发送第二通知信息,该第二通知信息用于通知所述客户端设备所述待写入数据中的指定数据块已经写入所述目标存储节点,其中,所述指定数据块为所述待写入数据中的任意一个数据块。
7.一种基于分布式文件系统的数据写入方法,其特征在于,包括:
第一存储节点判断目标存储节点是否属于第一区域,其中,所述第一存储节点为分布式文件系统中属于第一区域的存储节点,所述目标存储节点为待写入数据块的目标存储位置所对应的存储节点;
在所述目标存储节点不属于所述第一区域时,所述第一存储节点为所述目标存储位置分配预设标记;
建立所述预设标记和所述目标存储节点的对应关系;以及
向客户端设备发送第二通知信息,该第二通知信息用于通知所述客户端设备所述待写入数据中的指定数据块已经写入所述目标存储节点,其中,所述指定数据块为所述待写入数据中的任意一个数据块。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
在所述目标存储节点属于所述第一区域时,所述第一存储节点将所述待写入数据中的数据块全部存储至所述目标存储位置后,向所述客户端设备发送第一通知信息,该第一通知信息用于通知所述客户端设备所述待写入数据的全部数据块已经写入所述目标存储节点。
9.一种基于分布式文件系统的数据读取装置,应用于分布式文件系统中属于第一区域的第一存储节点中,其特征在于,包括:
接收模块,用于接收客户端设备发送的读取请求,其中,该读取请求用于请求待读取数据;
判断模块,用于判断与待读取数据对应的第一存储位置是否具有预设标记;
读取模块,用于在判断模块输出的判断结果为是时,则从第二存储节点中读取所述待读取数据,其中,所述第二存储节点位于第二区域,且所述第一区域和第二区域是不同的区域;
其中,分布式文件系统中属于第一区域的第一存储节点接收客户端设备发送的读取请求之前,所述装置还用于所述第一存储节点判断待写入数据的目标存储位置所对应的目标存储节点是否属于所述第一区域;在所述目标存储节点属于所述第一区域时,所述第一存储节点将所述待写入数据中的数据块全部存储至所述目标存储位置后,向所述客户端设备发送第一通知信息,该第一通知信息用于通知所述客户端设备所述待写入数据的全部数据块已经写入所述目标存储节点。
10.一种基于分布式文件系统的数据写入装置,应用于分布式文件系统中属于第一区域的第一存储节点中,其特征在于,包括:
判断模块,用于判断目标存储节点是否属于所述第一区域,其中,所述第一存储节点为分布式文件系统中属于第一区域的存储节点,所述目标存储节点为待写入数据块的目标存储位置所对应的存储节点;
分配模块,用于在所述目标存储节点不属于所述第一区域时,所述第一存储节点为所述目标存储位置分配预设标记;
建立模块,用于建立所述预设标记和所述目标存储节点的对应关系;以及
发送模块,用于向客户端设备发送第二通知信息,该第二通知信息用于通知所述客户端设备所述待写入数据中的指定数据块已经写入所述目标存储节点,其中,所述指定数据块为所述待写入数据中的任意一个数据块。
11.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行权利要求1至6中任意一项所述的基于分布式文件系统的数据读取方法;或者,执行权利要求7或8所述的基于分布式文件系统的数据写入方法。
12.一种处理器,其特征在于,所述处理器用于运行程序,其中,所述程序运行时执行权利要求1至6中任意一项所述的基于分布式文件系统的数据读取方法;或者,执行权利要求7或8所述的基于分布式文件系统的数据写入方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711317173.6A CN108197159B (zh) | 2017-12-11 | 2017-12-11 | 基于分布式文件系统的数据读取、写入方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711317173.6A CN108197159B (zh) | 2017-12-11 | 2017-12-11 | 基于分布式文件系统的数据读取、写入方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108197159A CN108197159A (zh) | 2018-06-22 |
CN108197159B true CN108197159B (zh) | 2020-07-10 |
Family
ID=62574214
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711317173.6A Active CN108197159B (zh) | 2017-12-11 | 2017-12-11 | 基于分布式文件系统的数据读取、写入方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108197159B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108920100B (zh) * | 2018-06-25 | 2021-06-15 | 重庆邮电大学 | 基于Ceph的读写模型优化和异构副本组合方法 |
CN109669634B (zh) * | 2018-12-17 | 2022-03-04 | 浪潮电子信息产业股份有限公司 | 一种数据落盘方法、装置、设备及可读存储介质 |
CN109933566B (zh) * | 2019-03-06 | 2023-05-12 | 深信服科技股份有限公司 | 文件读写方法、装置、设备及计算机可读存储介质 |
CN110286849B (zh) * | 2019-05-10 | 2023-07-21 | 深圳物缘科技有限公司 | 数据存储系统的数据处理方法和装置 |
CN110597779A (zh) * | 2019-09-20 | 2019-12-20 | 浪潮电子信息产业股份有限公司 | 一种分布式文件系统中的数据读写方法及相关装置 |
CN113553216B (zh) * | 2021-06-28 | 2024-06-28 | 北京百度网讯科技有限公司 | 数据恢复方法、装置、电子设备及存储介质 |
CN114567646A (zh) * | 2022-03-08 | 2022-05-31 | 京东科技信息技术有限公司 | 数据处理方法、数据处理系统、电子设备及存储介质 |
CN115481187B (zh) * | 2022-09-28 | 2023-11-21 | 北京亚控科技发展有限公司 | 一种数据读写方法、装置及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102594852A (zh) * | 2011-01-04 | 2012-07-18 | 中国移动通信集团公司 | 数据访问方法、节点及系统 |
CN105787129A (zh) * | 2016-03-29 | 2016-07-20 | 联想(北京)有限公司 | 一种数据存储方法和电子设备 |
CN107220003A (zh) * | 2017-05-26 | 2017-09-29 | 郑州云海信息技术有限公司 | 一种数据读取方法和系统 |
CN107229420A (zh) * | 2017-05-27 | 2017-10-03 | 郑州云海信息技术有限公司 | 数据存储方法、读取方法、删除方法和数据操作系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10222986B2 (en) * | 2015-05-15 | 2019-03-05 | Cisco Technology, Inc. | Tenant-level sharding of disks with tenant-specific storage modules to enable policies per tenant in a distributed storage system |
-
2017
- 2017-12-11 CN CN201711317173.6A patent/CN108197159B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102594852A (zh) * | 2011-01-04 | 2012-07-18 | 中国移动通信集团公司 | 数据访问方法、节点及系统 |
CN105787129A (zh) * | 2016-03-29 | 2016-07-20 | 联想(北京)有限公司 | 一种数据存储方法和电子设备 |
CN107220003A (zh) * | 2017-05-26 | 2017-09-29 | 郑州云海信息技术有限公司 | 一种数据读取方法和系统 |
CN107229420A (zh) * | 2017-05-27 | 2017-10-03 | 郑州云海信息技术有限公司 | 数据存储方法、读取方法、删除方法和数据操作系统 |
Also Published As
Publication number | Publication date |
---|---|
CN108197159A (zh) | 2018-06-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108197159B (zh) | 基于分布式文件系统的数据读取、写入方法及装置 | |
US10191677B1 (en) | Asynchronous splitting | |
CN105187464B (zh) | 一种分布式存储系统中的数据同步方法、装置及系统 | |
US9575857B1 (en) | Active/active replication | |
US9965306B1 (en) | Snapshot replication | |
US9135120B1 (en) | Consistency group moving | |
KR101544480B1 (ko) | 복수 개의 프락시 서버를 포함하는 분산 저장 시스템 및 그 오브젝트 관리 방법 및 컴퓨터에 의하여 독출가능한 저장 매체 | |
CN107832138B (zh) | 一种扁平化的高可用namenode模型的实现方法 | |
US10223007B1 (en) | Predicting IO | |
US9659074B1 (en) | VFA statistics | |
US9639383B1 (en) | Volume moving | |
US20130145105A1 (en) | Data Storage Systems and Methods | |
JP2019526106A (ja) | データ処理方法及びデバイス | |
CN111104069B (zh) | 分布式存储系统的多区域数据处理方法、装置及电子设备 | |
US9619264B1 (en) | AntiAfinity | |
CN103677659B (zh) | 信息处理设备和复制控制方法 | |
EP3019960A2 (en) | Replication of data between mirrored data sites | |
CN113010496A (zh) | 一种数据迁移方法、装置、设备和存储介质 | |
CN103218248A (zh) | 一种虚拟机镜像的更新方法、服务器和桌面云系统 | |
CN104346373A (zh) | 分区日志队列同步管理方法及设备 | |
CN103605617B (zh) | 一种记录存储数据发生变化的方法及装置 | |
CN103023996A (zh) | 一种云数据存储系统 | |
CN106605217B (zh) | 用于将应用从一个站点移动到另一站点的方法和系统 | |
JP2018515850A (ja) | データ・コピー方法及びデバイス | |
CN105630571A (zh) | 一种创建虚拟机的方法及装置 |
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 |