一种分布式文件系统读请求处理方法及装置与流程

文档序号:26278767发布日期:2021-08-13 19:35阅读:108来源:国知局
一种分布式文件系统读请求处理方法及装置与流程

本发明涉及分布式系统技术领域,特别是涉及一种分布式文件系统读请求处理方法及装置。



背景技术:

超融合基础架构(hyperconvergedinfrastructure,hci)是一种集成了虚拟计算资源和存储设备基础信息的架构。一套hci设备中同时具备计算、存储、网络及虚拟化等资源和技术,多套设备之间也可以轻易实现横向扩展,形成统一的资源池。超融合基础架构主要组件包括计算虚拟化、网络虚拟化、存储虚拟化。

分布式文件系统在超融合基础架构中主要用来对设备的存储资源进行虚拟化,进行统一管理和分配,主要是可以对外提供相关的存储服务。分布式文件系统的另外一个主要功能是为架构中的虚拟机提供启动所需的系统盘或者读写操作的数据盘,因此相应的,分布式文件系统的读写性能在一定程度上会影响系统性能,比如会影响虚拟机的启动速度或者读写性能。



技术实现要素:

本发明的目的是提供一种分布式文件系统读请求处理方法及装置,优化了分布式文件系统的读性能。

为实现上述目的,本发明提供如下技术方案:

一种分布式文件系统读请求处理方法,包括:

获取发起读请求的主机信息;

获取所述读请求所要读取数据的原数据所在主机信息以及副本数据所在主机信息,形成主机集合;

检查所述主机集合中是否包含发起所述读请求的主机,若是,则根据所述读请求从该主机读取数据。

优选的,获取发起读请求的主机信息包括:根据所述读请求,通过访问预设配置项,获得发起所述读请求的主机信息,所述预设配置项用于计算发起请求的主机信息。

优选的,若所述主机集合中包含发起所述读请求的主机,则返回该主机对应的、用于处理请求或者数据的进程,以通过该进程读取数据。

优选的,若所述主机集合中不包含发起所述读请求的主机,则从所要读取数据的原数据所在主机读取数据。

优选的,若所述主机集合中不包含发起所述读请求的主机,则返回所要读取数据的原数据所在主机对应的、用于处理请求或者数据的进程,以通过该进程读取数据。

优选的,具体包括:根据数据与存储数据的目录形成的映射以及存储数据的目录与存储数据的主机形成的映射,获得所要读取数据的原数据所在主机信息以及副本数据所在主机信息。

一种分布式文件系统读请求处理装置,用于执行以上所述的分布式文件系统读请求处理方法。

优选的,包括:

第一处理层,用于创建或者删除用于与服务端通信的通道;

第二处理层,用于根据读请求获取发起所述读请求的主机信息,以及获取所述读请求所要读取数据的原数据所在主机信息以及副本数据所在主机信息,以及将所述读请求通过通道发送到所述服务端。

优选的,所述第二处理层还用于判断所述服务端是否返回了所述读请求所要读取数据,若否,则再次向所述服务端发送所述读请求,并且若从第一次向所述服务端发出所述读请求后的预设时间段内所述服务端一直没有返回所述读请求所要读取数据,则停止向所述服务端发送所述读请求。

优选的,所述装置位于客户端。

由上述技术方案可知,本发明所提供的分布式文件系统读请求处理方法及装置,首先获取发起读请求的主机信息,以及获取读请求所要读取数据的原数据所在主机信息以及副本数据所在主机信息,形成主机集合,进一步检查主机集合中是否包含发起读请求的主机,若是,则根据读请求从该主机读取数据。

本发明的分布式文件系统读请求处理方法及装置,若所要读取数据在发起读请求的主机中存在副本数据,则直接从该主机读取数据,与现有技术相比避免了此种情况下还需要跨网络读取数据,从而优化了分布式文件系统的读性能。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的一种分布式文件系统读请求处理方法的流程图;

图2为本发明实施例中的分布式文件系统的示意图;

图3为本发明实施例提供的一种分布式文件系统读请求处理装置的布置示意图。

具体实施方式

为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。

请参考图1,图1为本实施例提供的一种分布式文件系统读请求处理方法的流程图,由图可知,所述分布式文件系统读请求处理方法包括以下步骤:

s10:获取发起读请求的主机信息。

可选的,可添加用于计算发起请求的主机信息的配置项。在接收到读请求时,根据所述读请求通过访问预设配置项,获得发起所述读请求的主机信息,所述预设配置项用于计算发起请求的主机信息。

示例性的,预设配置项可描述为:

[client]crush_location=‘host=hostnameroot=default’。

s11:获取所述读请求所要读取数据的原数据所在主机信息以及副本数据所在主机信息,形成主机集合。

在分布式文件系统中,将原数据存储在相应主机上以及将各份副本数据分别存储在各个主机上。本步骤中,根据读请求,获取读请求所要读取数据的原数据所在主机信息以及所要读取数据的副本数据所在主机信息,获得各个主机信息形成集合。

可选的在分布式文件系统中,数据与存储数据的目录形成映射,存储数据的目录与存储数据的主机形成映射,每一主机对应有用于处理请求或者数据的进程。通过两层映射将对数据的读/写操作命令落到相应主机的进程中。

本方法中,可以根据数据与存储数据的目录形成的映射以及存储数据的目录与存储数据的主机形成的映射,获得所要读取数据的原数据所在主机信息以及副本数据所在主机信息。相应的,本方法中根据获得的主机集合,可以相应获得主机集合中各主机对应的、用于处理请求或者数据的进程。

s12:检查所述主机集合中是否包含发起所述读请求的主机。若是,则进入步骤s13。

s13:根据所述读请求从该主机读取数据。

若主机集合中包含发起读请求的主机,表明发起读请求的主机中存储了所要读取数据的原数据或者副本数据,则根据读请求,直接从该主机读取数据,这种情况下不需要跨网络读取数据。

请参考图2,图2为本实施例中的分布式文件系统的示意图,现有技术中,在分布式文件系统中读数据时,只有原数据所在主机的进程即数据的主进程提供服务,当发起读请求时获得读请求所要读取数据的原数据所在主机,通过该主机对应的进程执行读操作。因此如果所要读取数据的原数据不在宿主机本地,就需要跨网络读取其它物理节点的数据,这会增加数据在网络间的传输,在大量虚拟机启动时会造成网络负载严重,消耗带宽资源,影响虚拟机启动速度,也会影响虚拟机读写性能。本实施例的分布式文件系统读请求处理方法,通过获取读请求所要读取数据的原数据所在主机信息以及副本数据所在主机信息,检查这些主机中是否包含发起读请求的主机,若所要读取数据在发起读请求的主机中存在副本数据,则直接从该主机读取数据,与现有技术相比避免了此种情况下还需要跨网络读取数据,从而优化了分布式文件系统的读性能,相比也能够减少数据在网络间的传输,减轻节点间的网络负载,节省网络带宽,也可以提高虚拟机大批量启动的速度。

具体的,若所述主机集合中包含发起所述读请求的主机,则返回该主机对应的、用于处理请求或者数据的进程,以通过该进程读取数据。从而根据读请求,通过该主机对应的进程从该主机读取数据。

进一步的本实施例方法中,若所述主机集合中不包含发起所述读请求的主机,则进入步骤s14,步骤s14:从所要读取数据的原数据所在主机读取数据。

具体的,若所述主机集合中不包含发起所述读请求的主机,则返回所要读取数据的原数据所在主机对应的、用于处理请求或者数据的进程,以通过该进程读取数据。从而根据读请求,通过所要读取数据的原数据所在主机对应的进程,从该主机读取数据。

本实施例的分布式文件系统读请求处理方法能够在不改变各物理节点的主机进程的情况下,若所要读取数据在发起读请求的主机中存在副本数据,则直接从该主机读取数据,从而优化了分布式文件系统的读性能。

相应的,本发明实施例还提供一种分布式文件系统读请求处理装置,用于执行以上所述的分布式文件系统读请求处理方法。

本实施例的分布式文件系统读请求处理装置,首先获取发起读请求的主机信息,以及获取读请求所要读取数据的原数据所在主机信息以及副本数据所在主机信息,形成主机集合,进一步检查主机集合中是否包含发起读请求的主机,若是,则根据读请求从该主机读取数据。

本实施例的分布式文件系统读请求处理装置,若所要读取数据在发起读请求的主机中存在副本数据,则直接从该主机读取数据,与现有技术相比避免了此种情况下还需要跨网络读取数据,从而优化了分布式文件系统的读性能。

可选的,请参考图3,图3为本实施例提供的一种分布式文件系统读请求处理装置的示意图,由图可知,所述装置包括第一处理层200和第二处理层201,第一处理层200用于创建或者删除用于与服务端21通信的通道;第二处理层201用于根据读请求获取发起所述读请求的主机信息,以及获取所述读请求所要读取数据的原数据所在主机信息以及副本数据所在主机信息,以及将所述读请求通过通道发送到所述服务端21。

第一处理层200和第二处理层201可位于客户端20的较低层,通过第一处理层200提供与服务端21建立通信连接的接口,能够创建或者删除用于与服务端21通信的通道。可选的,第二处理层201可用于封装形成请求,包括写请求或者读请求,将请求通过通道发送到服务端21。

可选的,第二处理层201还用于判断所述服务端21是否返回了所述读请求所要读取数据,若否,则再次向所述服务端21发送所述读请求,以提高进行业务的可靠性。第二处理层201还用于若从第一次向所述服务端21发出所述读请求后的预设时间段内所述服务端21一直没有返回所述读请求所要读取数据,则停止向所述服务端21发送所述读请求。若在一定时间段内没有接收到服务端返回数据,则停止请求读操作。

以上对本发明所提供的分布式文件系统读请求处理方法及装置进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1