CN117851369A - 一种基于分布式存储系统的大数据存储访问方法 - Google Patents

一种基于分布式存储系统的大数据存储访问方法 Download PDF

Info

Publication number
CN117851369A
CN117851369A CN202311722314.8A CN202311722314A CN117851369A CN 117851369 A CN117851369 A CN 117851369A CN 202311722314 A CN202311722314 A CN 202311722314A CN 117851369 A CN117851369 A CN 117851369A
Authority
CN
China
Prior art keywords
file
file system
task
client
lease
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.)
Pending
Application number
CN202311722314.8A
Other languages
English (en)
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.)
Tianyi Cloud Technology Co Ltd
Original Assignee
Tianyi Cloud Technology 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 Tianyi Cloud Technology Co Ltd filed Critical Tianyi Cloud Technology Co Ltd
Priority to CN202311722314.8A priority Critical patent/CN117851369A/zh
Publication of CN117851369A publication Critical patent/CN117851369A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明属于云存储技术领域,尤其是一种基于分布式存储系统的大数据存储访问方法,针对现有的Hadoop文件系统客户端无法直接将读写请求发送至存储集群,由于对象存储List Objects和Rename的代价比较大,导致基于对象存储的Hadoop文件系统在文件列举、文件重命名等操作上会比HDFS性能差的问题,现提出如下方案,所述大数据存储访问方法包括如下步骤:Σ1、类ΗΔΦΣ客户端实例初始化;Σ2、创建文件系统;Σ3、挂载文件系统;Σ4、创建目录;Σ5、创建文件,能够缩短IO路径,充分利用分布式集群能力,数据写入失败,直接封存chunk,重新选择chunk继续写入。

Description

一种基于分布式存储系统的大数据存储访问方法
技术领域
本发明涉及云存储技术领域,尤其涉及一种基于分布式存储系统的大数据存储访问方法。
背景技术
现有大数据场景下,基于大数据分析计算流程的大数据体系包含:大数据计算平台层,涵盖硬件、云计算技术与软件系统;大数据存储与管理层,包含数据的采集、数据的预处理;大数据分析计算层,涵盖数据挖掘、Hadoop等;大数据可视化层,基于大数据分析计算层对分析结果进行交互式可视化。
Hadoop是典型的大数据处理开源软件,Hadoop集群运行运行于廉价上有机器之上,形成了一整套完整的生态体系,已经成为大数据处理中的重要平台,Hadoop包含抽象文件系统的概念,定义了Hadoop抽象文件系统客户端接口,该接口的具体实现对应本地磁盘文件系统、HDFS分布式文件系统、构建在其他文件系统之上用于文件存档的文件系统、由FTP服务器支持的文件系统、由Amazon S3支持的文件系统、由Microsoft Azure支持的文件系统、由OpenStack Swift支持的文件系统等文件系统。
HDFS是一种分布式文件系统,是Hadoop生态系统的核心组件之一,HDFS类似于操作系统的文件系统,提供了海量数据的存储和管理,具有高容错性、高吞吐等优点。HDFS跨多台计算机存储,以流式数据访问模式存储超大文件。HDFS是一个主/从(Master)体系架构的分布式系统,HDFS集群至少包含1个名称节点(NameNode)、1个第二名称节点(SecondaryNameNode)和一个数据节点(DataNode),名称节点(NameNode)与数据节点(DataNode)提供了存储与管理数据的能力,用户使用该能力是通过HDFS客户端(Client)同称节点与数据节点交互以访问文件系统。
HDFS客户端(Client)实现了Hadoop抽象文件系统客户端接口。用户能够通过HDFS客户端向HDFS集群发起读写HDFS文件的请求,同时还能通过HDFS客户端执行类文件系统的命名空间操作,例如打开、关闭、重命名文件或者目录。
业界基于对象存储(Object Storage实现了标准的Hadoop文件系统,可以为Hadoop、Spark以及Tez等大数据计算框架集成对象存储提供支持,使其能够跟访问HDFS文件系统时相同,通过发送S3消息给对象存储,读写存储在对象存储上的数据。
计算存储分离的情况下,在私有云场景中,一般会运用虚拟化技术来创建多个计算集群,以支持上层大数据应用对计算的需求。Hadoop生态系统中可用的最著名的s3客户端是S3A,它适用于所有其他S3后端,通常来说,存储会使用对象存储服务来提供数据湖的共享存储后台,然后通过S3A插件来提供两者之间的连接,能够让Hadoop的应用能够无缝访问Ceph对象存储服务。
HDFS客户端(Client)向HDFS集群发起读、写、创建、删除、重命名HDFS文件的请求,使用的是HDFS集群的数据存储与管理能力。首先,HDFS本身的设计是计算资源和存储资源融合的,以一个集群来应对不同业务需求。后期随着业务体量急速增长,不同的业务对存储有不同的计算需求,业务会存在对计算资源的争抢;在后期扩容时,计算和存储无法解耦扩展,存在计算资源或者存储资源的浪费。其次,HDFS客户端(Client)读写文件需要根据位置信息建立数据流管道,数据块副本某个数据节点出现错误,错误处理会非常复杂,需要申请新的数据节点(DataNode),为数据块分配新的时间戳,使用新的时间戳建立新的数据流管道等等,增加了读写处理的时延。另外,不支持多个HDFS客户端(Client)并行写,需要租约(Lease)机制保证对HDFS文件的互斥写。租约(Lease)管理器需要维护一个线程定期检查租约是否过期,租约检查线程也需要消耗系统资源。
S3A使用对象存储的方案,以及业界实现的基于对象存储的Hadoop文件系统,大体流程是:Hadoop文件系统客户端在上传数据时,需要请求封装成HTTP然后发送给对象存储网关,然后由对象存储网关拆解后转为内部的请求发送给存储集群,实现将数据以写Hadoop文件系统内文件的方式,将数据上传至对象存储,如图1所示,以ceph对象存储为例,数据是如何上传的。因为数据的读写路径上都需要经过对象存储网关,然后再由对象存储网关把请求转发给存储集群,对象存储网关成为性能瓶颈是显然的。
Hadoop文件系统客户端无法直接将读写请求发送至存储集群,在整个IO路径上永远存在对象存储网关这一环节,由于对象存储List Objects和Rename的代价比较大,导致基于对象存储的Hadoop文件系统在文件列举、文件重命名等操作上会比HDFS性能差。
发明内容
本发明的目的是为了解决现有技术中存在Hadoop文件系统客户端无法直接将读写请求发送至存储集群,在整个IO路径上永远存在对象存储网关这一环节,由于对象存储List Objects和Rename的代价比较大,导致基于对象存储的Hadoop文件系统在文件列举、文件重命名等操作上会比HDFS性能差缺点,而提出的一种基于分布式存储系统的大数据存储访问方法。
为了实现上述目的,本发明采用了如下技术方案:
一种基于分布式存储系统的大数据存储访问方法,所述大数据存储访问方法包括如下步骤:
Σ1、类ΗΔΦΣ客户端实例初始化;
Σ2、创建文件系统;
Σ3、挂载文件系统;
Σ4、创建目录;
Σ5、创建文件;
Σ6、读写权限打开文件;
Σ7、写入文件数据;
Σ8、从文件中读取数据;
Σ9、关闭文件;
Σ10、删除文件;
Σ11、删除目录;
Σ12、卸载文件系统;
Σ13、删除文件系统。
优选的,所述步骤Σ2包括如下子步骤:
Σ21、业务线程中生成创建文件系统的任务,放入任务队列供轮询线程处理,阻塞等待任务处理结束;
Σ22、轮询线程轮询到该任务,对该任务进行处理,网使用网络通信异步方法向文件系统元数据服务器发送请求;
Σ23、请求返回后生成一个任务,将任务存放到类文件系统客队列中;
Σ24、轮询线程轮询到该任务,通知业务线程创建文件系统成功,创建文件系统流程结束;
Σ25、业务线程返回上层业务创建文件系统结果。
优选的,所述步骤Σ7还包括如下子步骤;
Σ71、检查客户端租约是否失效,文件是否未锁,如果文件锁没有丢失,进入步骤Σ72,如果失效或者文件锁丢失,进入步骤Σ75;
Σ72、获取本次写入涉及的χηυνκ,如果χηυνκ足够,进入步骤Σ73,如果χηυνκ不足,进入步骤Σ76;
Σ73、向χηυνκ的所有副本所在的数据存储节点发送消息写入数据,如果写入成功,进入步骤Σ74,如果写入失败,进入步骤Σ77;
Σ74、通知业务线程写入数据完成,写入数据流程结束;
Σ75、重新打开文件,检查文件长度,检查本次写入是否成功,如果成功,进入步骤Σ74,否则,进入步骤Σ71;
Σ76、申请χηυνκ,如果申请成功,进入步骤Σ72,如果返回文件被别的客户端锁住,进入步骤Σ74,如果返回文件锁丢失,进入步骤Σ75,如果返回其他的错误,没有超过3次,进入步骤Σ76,如果返回其他的错误,超过3次,进入步骤Σ74;
Σ77、封存(σεαλ)χηυνκ,如果返回成功,进入步骤Σ71,如果返回文件被别的客户端锁住,进入步骤Σ7,如果返回文件锁丢失,进入步骤Σ75,如果返回其他的错误,继续重试,进入步骤Σ77。
优选的,所述子步骤Σ22还包括进一步骤:
Σ221,客户端轮询线程轮询到该任务,调用处理函数对该任务进行处理,调用之前的绑定的处理函数,查询存储池是否存在,如果存在,则在该存储池中创建文件系统,使用网络通信框架的异步方法向文件系统元数据服务器发送请求,并且在此之前注册好回调函数,请求返回后调用该回调函数,生成一个任务,绑定的处理函数,将任务存放到类文件系统客户端的队列中。
优选的,所述客户端轮询线程轮询到该任务,在任务处理函数中,最终会激活创建文件系统上下文中的条件变量,创建文件系统流程结束,与创建文件系统类似,删除文件系统、挂载文件系统、卸载文件系统、创建文件、删除文件等大数据存储系统访问操作流程,也是生成任务存入任务队列,由轮询线程处理任务执行任务处理函数。
优选的,所述步骤Σ1、包括如下具体实施步骤:
Σ101、申请χλιεντιδ与λεασετιμε;
Σ102、循环检查任务队列,对任务进行处理;
Σ103、循环检查租约是否失效,如果失效,进入步骤Σ104;否则,进入步骤Σ105;
Σ104、将文件状态置为文件未锁;
Σ105、循环检查租约是否需要续约,如果需要续约,进入步骤Σ106,否则,进入步骤Σ102;
Σ106、对租约进行续约操作,进入步骤Σ102。
优选的,所述步骤Σ6还包括如下步骤:
Σ61,打开文件的时候,如果是包含了写权限,会从元数据服务器申请租约,打开成功即表示:成功获取了该文件在租约期限内的写权限,写文件的时候,开始就会检查客户端租约是否失效,如果已经失效,那么文件状态置为文件未锁;
写入的过程中,可能会丢失文件租约锁或者文件租约锁被别的客户端所占,并且,在写入的过程中,申请或者封存(表示不能再写入数据)χηυνκ,皆会向文件系统元数据服务器发送请求,此时可能会返回文件租约锁被占、文件租约锁丢失,文件状态置为文件已经被锁、文件未锁,对于文件未锁的情况,会重新打开文件,打开之后会根据文件的长度,检查本次写入是否成功。
优选的,所述步骤Σ6还包括如下步骤:
Σ62,打开文件的时候,会从文件系统服务端获取该文件已经写入数据的χηυνκ的信息,打开文件的权限包含写权限,则预申请χηυνκ,读文件会根据偏移与长度确定具体读取哪些χηυνκ,每个χηυνκ存在多个强一致副本,逐个向副本所在的数据存储节点发送消息读取数据,一旦读取到数据就不再读取下一个副本。
优选的,所述步骤Σ62的进一步步骤包括:
Σ621,写文件会根据偏移与长度确定具体写哪些χηυνκ,χηυνκ不足会向后端存储集群申请χηυνκ,返回失败,会间隔一定时间重试四次,返回成功后,类ΗΔΦΣ客户端会将申请的χηυνκ信息发送给文件系统元数据服务器,返回失败,将重试三次。
优选的,所述步骤Σ62的再一步步骤包括:
Σ622,向χηυνκ的所有副本所在的数据存储节点发送消息写入数据,某个副本写入失败表示写入χηυνκ失败,封存(σεαλ)该χηυνκ:向后端存储集群发送封存(σεαλ)请求即可,无需关注是否成功,向文件系统元数据服务器发送封存(σεαλ)请求,返回失败后继续重试,直至成功,最后,再重新选择χηυνκ继续写入。
有益效果
1、在使用对象存储方案中,增加了ΙΟ路径长度,对象存储网关会成为性能瓶颈时,本专利针对这种情况,本发明中所主张的类ΗΔΦΣ客户端,无需经过对象存储网关,而直接使用后端存储集群的数据存储能力。
2、在出现ΗΔΦΣ客户端(Xλιεντ)读写文件需要根据位置信息建立数据流管道时,错误处理会非常复杂,增加了读写处理的时延,本专利针对这种情况,类ΗΔΦΣ客户端写文件会进行文件ΙΟ拆分成χηυνκΙΟ并进行跟踪,χηυνκ某个副本写入失败,直接封存(σεαλ),重新选择χηυνκ继续写入。
3、当业界ΗΔΦΣ客户端(Xλιεντ)文件与目录操作直接访问需文件系统元数据服务器,同步等待处理完成,请求处理的吞吐量有限,基于对象存储的Ηαδοοπ文件系统在文件列举、文件重命名等操作性能差。本专利针对这些情况,上层业务请求的处理会生成任务,网络通信框架的异步请求返回后将生成任务,这些任务都会存放到队列中,等待轮询线程处理。
附图说明
图1为本发明基于Xεπη对象存储的Ηαδοοπ文件系统数据上传示意图;
图2为本发明为类ΗΔΦΣXλιεντ访问后端存储集群示意;
图3为本发明文件系统请求轮询处理示意图;
图4为本发明租约处理示意图;
图5为本发明租约失效处理示意图;
图6为本发明数据写入异常处理示意图;
图7为本发明基本流程示意图;
图8为本发明初始化流程示意图;
图9为本发明创建文件系统流程示意图;
图10为本发明写文件流程示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。
实施例一
参照图1-10,一种基于分布式存储系统的大数据存储访问方法,所述大数据存储访问方法包括如下步骤:
Σ1、类ΗΔΦΣ客户端实例初始化;
Σ2、创建文件系统;
Σ3、挂载文件系统;
Σ4、创建目录;
Σ5、创建文件;
Σ6、读写权限打开文件;
Σ7、写入文件数据;
Σ8、从文件中读取数据;
Σ9、关闭文件;
Σ10、删除文件;
Σ11、删除目录;
Σ12、卸载文件系统;
Σ13、删除文件系统。
所述步骤Σ1、包括如下具体实施步骤:
Σ101、申请χλιεντιδ与λεασετιμε;
Σ102、循环检查任务队列,对任务进行处理;
Σ103、循环检查租约是否失效,如果失效,进入步骤Σ104;否则,进入步骤Σ105;
Σ104、将文件状态置为文件未锁;
Σ105、循环检查租约是否需要续约,如果需要续约,进入步骤Σ106,否则,进入步骤Σ102;
Σ106、对租约进行续约操作,进入步骤Σ102。
所述步骤Σ2包括如下子步骤:
Σ21、业务线程中生成创建文件系统的任务,放入任务队列供轮询线程处理,阻塞等待任务处理结束;
Σ22、轮询线程轮询到该任务,对该任务进行处理,网使用网络通信异步方法向文件系统元数据服务器发送请求;
Σ23、请求返回后生成一个任务,将任务存放到类文件系统客队列中;
Σ24、轮询线程轮询到该任务,通知业务线程创建文件系统成功,创建文件系统流程结束;
Σ25、业务线程返回上层业务创建文件系统结果。
所述子步骤Σ22还包括进一步骤:
Σ221,客户端轮询线程轮询到该任务,调用处理函数对该任务进行处理,调用之前的绑定的处理函数,查询存储池是否存在,如果存在,则在该存储池中创建文件系统,使用网络通信框架的异步方法向文件系统元数据服务器发送请求,并且在此之前注册好回调函数,请求返回后调用该回调函数,生成一个任务,绑定的处理函数,将任务存放到类文件系统客户端的队列中。
所述步骤Σ7还包括如下子步骤;
Σ71、检查客户端租约是否失效,文件是否未锁,如果文件锁没有丢失,进入步骤Σ72,如果失效或者文件锁丢失,进入步骤Σ75;
Σ72、获取本次写入涉及的χηυνκ,如果χηυνκ足够,进入步骤Σ73,如果χηυνκ不足,进入步骤Σ76;
Σ73、向χηυνκ的所有副本所在的数据存储节点发送消息写入数据,如果写入成功,进入步骤Σ74,如果写入失败,进入步骤Σ77;
Σ74、通知业务线程写入数据完成,写入数据流程结束;
Σ75、重新打开文件,检查文件长度,检查本次写入是否成功,如果成功,进入步骤Σ74,否则,进入步骤Σ71;
Σ76、申请χηυνκ,如果申请成功,进入步骤Σ72,如果返回文件被别的客户端锁住,进入步骤Σ74,如果返回文件锁丢失,进入步骤Σ75,如果返回其他的错误,没有超过3次,进入步骤Σ76,如果返回其他的错误,超过3次,进入步骤Σ74;
Σ77、封存(σεαλ)χηυνκ,如果返回成功,进入步骤Σ71,如果返回文件被别的客户端锁住,进入步骤Σ7,如果返回文件锁丢失,进入步骤Σ75,如果返回其他的错误,继续重试,进入步骤Σ77。
所述客户端轮询线程轮询到该任务,在任务处理函数中,最终会激活创建文件系统上下文中的条件变量,创建文件系统流程结束,与创建文件系统类似,删除文件系统、挂载文件系统、卸载文件系统、创建文件、删除文件等大数据存储系统访问操作流程,也是生成任务存入任务队列,由轮询线程处理任务执行任务处理函数。
所述步骤Σ6还包括如下步骤:
Σ61,打开文件的时候,如果是包含了写权限,会从元数据服务器申请租约,打开成功即表示:成功获取了该文件在租约期限内的写权限,写文件的时候,开始就会检查客户端租约是否失效,如果已经失效,那么文件状态置为文件未锁;
写入的过程中,可能会丢失文件租约锁或者文件租约锁被别的客户端所占,并且,在写入的过程中,申请或者封存(表示不能再写入数据)χηυνκ,皆会向文件系统元数据服务器发送请求,此时可能会返回文件租约锁被占、文件租约锁丢失,文件状态置为文件已经被锁、文件未锁,对于文件未锁的情况,会重新打开文件,打开之后会根据文件的长度,检查本次写入是否成功。
所述步骤Σ6还包括如下步骤:
Σ62,打开文件的时候,会从文件系统服务端获取该文件已经写入数据的χηυνκ的信息,打开文件的权限包含写权限,则预申请χηυνκ,读文件会根据偏移与长度确定具体读取哪些χηυνκ,每个χηυνκ存在多个强一致副本,逐个向副本所在的数据存储节点发送消息读取数据,一旦读取到数据就不再读取下一个副本。
所述步骤Σ62的进一步步骤包括:
Σ621,写文件会根据偏移与长度确定具体写哪些χηυνκ,χηυνκ不足会向后端存储集群申请χηυνκ,返回失败,会间隔一定时间重试四次,返回成功后,类ΗΔΦΣ客户端会将申请的χηυνκ信息发送给文件系统元数据服务器,返回失败,将重试三次。
所述步骤Σ62的再一步步骤包括:
Σ622,向χηυνκ的所有副本所在的数据存储节点发送消息写入数据,某个副本写入失败表示写入χηυνκ失败,封存(σεαλ)该χηυνκ:向后端存储集群发送封存(σεαλ)请求即可,无需关注是否成功,向文件系统元数据服务器发送封存(σεαλ)请求,返回失败后继续重试,直至成功,最后,再重新选择χηυνκ继续写入。
实施例二
在实施例一的基础上改进:本专利中,针对如下情况:大数据存储中计算资源和存储资源融合,计算和存储无法解耦扩展业务会存在对计算资源的争抢、计算资源或者存储资源的浪费,使用对象存储方案中,Ηαδοοπ文件系统客户端的数据读写路径上都需要经过对象存储网关,增加了ΙΟ路径长度,对象存储网关会成为性能瓶颈。
采取如下优化方法:本发明中所主张的类ΗΔΦΣ客户端,支持大文件的读与追加写,无需经过对象存储网关,无需使用对象存储的数据存储能力,直接使用后端存储集群能力,类ΗΔΦΣ客户端将文件ΙΟ拆分为数据存储节点的XηυνκΙΟ请求,向不同的数据存储节点发送XηυνκΙΟ,并进行跟踪。
本专利中,针对如下情况:ΗΔΦΣ客户端(Xλιεντ)读写文件需要根据位置信息建立数据流管道,数据块副本某个数据节点出现错误,需要申请新的数据节点,为数据块分配新的时间戳,使用新的时间戳建立新的数据流管道等等,错误处理会非常复杂,增加了读写处理的时延。
采取如下优化方法:本专利主张的类ΗΔΦΣ客户端会缓存文件元数据,打开文件就会获取包含的χηυνκ的信息,从其中一个副本读取到数据就不再读取下一个副本,写文件会进行文件ΙΟ拆分与跟踪,χηυνκ某个副本写入失败,直接封存(σεαλ),重新选择χηυνκ继续写入。
本专利中,针对如下情况:ΗΔΦΣ客户端(Xλιεντ)文件与目录操作直接访问需文件系统元数据服务器,同步等待文件系统元数据服务器处理完成,可以处理的请求数在一定时间内是有限的,由于对象存储Λιστ和Ρεναμε的代价比较大,导致基于对象存储的Ηαδοοπ文件系统在文件列举、文件重命名等操作性能较差。
采取如下优化方法:本专利主张的类ΗΔΦΣ客户端处理上层业务请求,生成创建文件系统操作任务,将任务存放到队列中,等待轮询线程处理,轮询线程轮询到该任务,调用处理函数对该任务进行处理,使用网络通信框架的异步方法向文件系统元数据服务器发送请求,请求返回后生成任务,将任务存放到队列中,等待轮询线程处理。
本专利中,针对如下情况:支持多个ΗΔΦΣ客户端(Xλιεντ)并行写,需要租约(Λεασε)机制保证对ΗΔΦΣ文件的互斥写,租约(Λεασε)管理器需要维护一个线程定期检查租约是否过期,租约检查线程也需要消耗系统资源。
采取如下优化方法:轮询线程会循环检查租约是否失效,会处理租约更新:判断是否需要更新租约,如果需要更新租约,向元数据服务器发送消息更新租约,以写权限打开文件就获取了在租约期限内的写权限,写文件的时候,租约是失效,文件状态置为文件未锁,会重新打开文件,继续写入。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。

Claims (10)

1.一种基于分布式存储系统的大数据存储访问方法,其特征在于,所述大数据存储访问方法包括如下步骤:
Σ1、类ΗΔΦΣ客户端实例初始化;
Σ2、创建文件系统;
Σ3、挂载文件系统;
Σ4、创建目录;
Σ5、创建文件;
Σ6、读写权限打开文件;
Σ7、写入文件数据;
Σ8、从文件中读取数据;
Σ9、关闭文件;
Σ10、删除文件;
Σ11、删除目录;
Σ12、卸载文件系统;
Σ13、删除文件系统。
2.根据权利要求1所述的一种基于分布式存储系统的大数据存储访问方法,其特征在于,所述步骤Σ2包括如下子步骤:
Σ21、业务线程中生成创建文件系统的任务,放入任务队列供轮询线程处理,阻塞等待任务处理结束;
Σ22、轮询线程轮询到该任务,对该任务进行处理,网使用网络通信异步方法向文件系统元数据服务器发送请求;
Σ23、请求返回后生成一个任务,将任务存放到类文件系统客队列中;
Σ24、轮询线程轮询到该任务,通知业务线程创建文件系统成功,创建文件系统流程结束;
Σ25、业务线程返回上层业务创建文件系统结果。
3.根据权利要求1所述的一种基于分布式存储系统的大数据存储访问方法,其特征在于,所述步骤Σ7还包括如下子步骤;
Σ71、检查客户端租约是否失效,文件是否未锁,如果文件锁没有丢失,进入步骤Σ72,如果失效或者文件锁丢失,进入步骤Σ75;
Σ72、获取本次写入涉及的χηυνκ,如果χηυνκ足够,进入步骤Σ73,如果χηυνκ不足,进入步骤Σ76;
Σ73、向χηυνκ的所有副本所在的数据存储节点发送消息写入数据,如果写入成功,进入步骤Σ74,如果写入失败,进入步骤Σ77;
Σ74、通知业务线程写入数据完成,写入数据流程结束;
Σ75、重新打开文件,检查文件长度,检查本次写入是否成功,如果成功,进入步骤Σ74,否则,进入步骤Σ71;
Σ76、申请χηυνκ,如果申请成功,进入步骤Σ72,如果返回文件被别的客户端锁住,进入步骤Σ74,如果返回文件锁丢失,进入步骤Σ75,如果返回其他的错误,没有超过3次,进入步骤Σ76,如果返回其他的错误,超过3次,进入步骤Σ74;
Σ77、封存(σεαλ)χηυνκ,如果返回成功,进入步骤Σ71,如果返回文件被别的客户端锁住,进入步骤Σ7,如果返回文件锁丢失,进入步骤Σ75,如果返回其他的错误,继续重试,进入步骤Σ77。
4.根据权利要求1所述的一种基于分布式存储系统的大数据存储访问方法,其特征在于,所述子步骤Σ22还包括进一步骤:
Σ221,客户端轮询线程轮询到该任务,调用处理函数对该任务进行处理,调用之前的绑定的处理函数,查询存储池是否存在,如果存在,则在该存储池中创建文件系统,使用网络通信框架的异步方法向文件系统元数据服务器发送请求,并且在此之前注册好回调函数,请求返回后调用该回调函数,生成一个任务,绑定的处理函数,将任务存放到类文件系统客户端的队列中。
5.根据权利要求4所述的一种基于分布式存储系统的大数据存储访问方法,其特征在于,所述客户端轮询线程轮询到该任务,在任务处理函数中,最终会激活创建文件系统上下文中的条件变量,创建文件系统流程结束,与创建文件系统类似,删除文件系统、挂载文件系统、卸载文件系统、创建文件、删除文件等大数据存储系统访问操作流程,也是生成任务存入任务队列,由轮询线程处理任务执行任务处理函数。
6.根据权利要求1所述的一种基于分布式存储系统的大数据存储访问方法,其特征在于,所述步骤Σ1、包括如下具体实施步骤:
Σ101、申请χλιεντιδ与λεασετιμε;
Σ102、循环检查任务队列,对任务进行处理;
Σ103、循环检查租约是否失效,如果失效,进入步骤Σ104;否则,进入步骤Σ105;
Σ104、将文件状态置为文件未锁;
Σ105、循环检查租约是否需要续约,如果需要续约,进入步骤Σ106,否则,进入步骤Σ102;
Σ106、对租约进行续约操作,进入步骤Σ102。
7.根据权利要求1所述的一种基于分布式存储系统的大数据存储访问方法,其特征在于,所述步骤Σ6还包括如下步骤:
Σ61,打开文件的时候,如果是包含了写权限,会从元数据服务器申请租约,打开成功即表示:成功获取了该文件在租约期限内的写权限,写文件的时候,开始就会检查客户端租约是否失效,如果已经失效,那么文件状态置为文件未锁;
写入的过程中,可能会丢失文件租约锁或者文件租约锁被别的客户端所占,并且,在写入的过程中,申请或者封存χηυνκ,皆会向文件系统元数据服务器发送请求,此时可能会返回文件租约锁被占、文件租约锁丢失,文件状态置为文件已经被锁、文件未锁,对于文件未锁的情况,会重新打开文件,打开之后会根据文件的长度,检查本次写入是否成功。
8.根据权利要求1所述的一种基于分布式存储系统的大数据存储访问方法,其特征在于,所述步骤Σ6还包括如下步骤:
Σ62,打开文件的时候,会从文件系统服务端获取该文件已经写入数据的χηυνκ的信息,打开文件的权限包含写权限,则预申请χηυνκ,读文件会根据偏移与长度确定具体读取哪些χηυνκ,每个χηυνκ存在多个强一致副本,逐个向副本所在的数据存储节点发送消息读取数据,一旦读取到数据就不再读取下一个副本。
9.根据权利要求8所述的一种基于分布式存储系统的大数据存储访问方法,其特征在于,所述步骤Σ62的进一步步骤包括:
Σ621,写文件会根据偏移与长度确定具体写哪些χηυνκ,χηυνκ不足会向后端存储集群申请χηυνκ,返回失败,会间隔一定时间重试四次,返回成功后,类ΗΔΦΣ客户端会将申请的χηυνκ信息发送给文件系统元数据服务器,返回失败,将重试三次。
10.根据权利要求1所述的一种基于分布式存储系统的大数据存储访问方法,其特征在于,所述步骤Σ62的再一步步骤包括:
Σ622,向χηυνκ的所有副本所在的数据存储节点发送消息写入数据,某个副本写入失败表示写入χηυνκ失败,封存(σεαλ)该χηυνκ:向后端存储集群发送封存(σεαλ)请求即可,无需关注是否成功,向文件系统元数据服务器发送封存(σεαλ)请求,返回失败后继续重试,直至成功,最后,再重新选择χηυνκ继续写入。
CN202311722314.8A 2023-12-14 2023-12-14 一种基于分布式存储系统的大数据存储访问方法 Pending CN117851369A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311722314.8A CN117851369A (zh) 2023-12-14 2023-12-14 一种基于分布式存储系统的大数据存储访问方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311722314.8A CN117851369A (zh) 2023-12-14 2023-12-14 一种基于分布式存储系统的大数据存储访问方法

Publications (1)

Publication Number Publication Date
CN117851369A true CN117851369A (zh) 2024-04-09

Family

ID=90537490

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311722314.8A Pending CN117851369A (zh) 2023-12-14 2023-12-14 一种基于分布式存储系统的大数据存储访问方法

Country Status (1)

Country Link
CN (1) CN117851369A (zh)

Similar Documents

Publication Publication Date Title
US11061865B2 (en) Block allocation for low latency file systems
JP7378870B2 (ja) ファイルシステムデータアクセス方法およびファイルシステム
US10929428B1 (en) Adaptive database replication for database copies
KR102025934B1 (ko) 분산형 시스템에서의 범위들의 분할 및 이동
US10545927B2 (en) File system mode switching in a distributed storage service
US10140312B2 (en) Low latency distributed storage service
CA2923068C (en) Method and system for metadata synchronization
EP3803618B1 (en) Distributed transactions in cloud storage with hierarchical namespace
US9558194B1 (en) Scalable object store
WO2020263765A1 (en) Orchestrator for orchestrating operations between a computing environment hosting virtual machines and storage environment
CN111078121A (zh) 一种分布式存储系统数据迁移方法、系统、及相关组件
CN101084481A (zh) 在群集存储环境中执行并行数据迁移的方法
US11157455B2 (en) Inofile management and access control list file handle parity
US11797213B2 (en) Freeing and utilizing unused inodes
US10852985B2 (en) Persistent hole reservation
US11151162B2 (en) Timestamp consistency for synchronous replication
US11409711B2 (en) Barriers for dependent operations among sharded data stores
US11520742B2 (en) Data mesh parallel file system caching
CN117851369A (zh) 一种基于分布式存储系统的大数据存储访问方法
US20140040191A1 (en) Inventorying and copying file system folders and files
US11461192B1 (en) Automatic recovery from detected data errors in database systems
Gu et al. Sector and sphere: Towards simplified storage and processing of large scale distributed data
US11829384B1 (en) Amortizing replication log updates for transactions
Aladyshev et al. Expectations of the High Performance Computing Cluster File System Selection
US20170308542A1 (en) File system configuration data storage

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