System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及云存储,尤其涉及一种基于分布式存储系统的大数据存储访问方法。
技术介绍
1、现有大数据场景下,基于大数据分析计算流程的大数据体系包含:大数据计算平台层,涵盖硬件、云计算技术与软件系统;大数据存储与管理层,包含数据的采集、数据的预处理;大数据分析计算层,涵盖数据挖掘、hadoop等;大数据可视化层,基于大数据分析计算层对分析结果进行交互式可视化。
2、hadoop是典型的大数据处理开源软件,hadoop集群运行运行于廉价上有机器之上,形成了一整套完整的生态体系,已经成为大数据处理中的重要平台,hadoop包含抽象文件系统的概念,定义了hadoop抽象文件系统客户端接口,该接口的具体实现对应本地磁盘文件系统、hdfs分布式文件系统、构建在其他文件系统之上用于文件存档的文件系统、由ftp服务器支持的文件系统、由amazon s3支持的文件系统、由microsoft azure支持的文件系统、由openstack swift支持的文件系统等文件系统。
3、hdfs是一种分布式文件系统,是hadoop生态系统的核心组件之一,hdfs类似于操作系统的文件系统,提供了海量数据的存储和管理,具有高容错性、高吞吐等优点。hdfs跨多台计算机存储,以流式数据访问模式存储超大文件。hdfs是一个主/从(master)体系架构的分布式系统,hdfs集群至少包含1个名称节点(namenode)、1个第二名称节点(secondarynamenode)和一个数据节点(datanode),名称节点(namenode)与数据
4、hdfs客户端(client)实现了hadoop抽象文件系统客户端接口。用户能够通过hdfs客户端向hdfs集群发起读写hdfs文件的请求,同时还能通过hdfs客户端执行类文件系统的命名空间操作,例如打开、关闭、重命名文件或者目录。
5、业界基于对象存储(object storage实现了标准的hadoop文件系统,可以为hadoop、spark以及tez等大数据计算框架集成对象存储提供支持,使其能够跟访问hdfs文件系统时相同,通过发送s3消息给对象存储,读写存储在对象存储上的数据。
6、计算存储分离的情况下,在私有云场景中,一般会运用虚拟化技术来创建多个计算集群,以支持上层大数据应用对计算的需求。hadoop生态系统中可用的最著名的s3客户端是s3a,它适用于所有其他s3后端,通常来说,存储会使用对象存储服务来提供数据湖的共享存储后台,然后通过s3a插件来提供两者之间的连接,能够让hadoop的应用能够无缝访问ceph对象存储服务。
7、hdfs客户端(client)向hdfs集群发起读、写、创建、删除、重命名hdfs文件的请求,使用的是hdfs集群的数据存储与管理能力。首先,hdfs本身的设计是计算资源和存储资源融合的,以一个集群来应对不同业务需求。后期随着业务体量急速增长,不同的业务对存储有不同的计算需求,业务会存在对计算资源的争抢;在后期扩容时,计算和存储无法解耦扩展,存在计算资源或者存储资源的浪费。其次,hdfs客户端(client)读写文件需要根据位置信息建立数据流管道,数据块副本某个数据节点出现错误,错误处理会非常复杂,需要申请新的数据节点(datanode),为数据块分配新的时间戳,使用新的时间戳建立新的数据流管道等等,增加了读写处理的时延。另外,不支持多个hdfs客户端(client)并行写,需要租约(lease)机制保证对hdfs文件的互斥写。租约(lease)管理器需要维护一个线程定期检查租约是否过期,租约检查线程也需要消耗系统资源。
8、s3a使用对象存储的方案,以及业界实现的基于对象存储的hadoop文件系统,大体流程是:hadoop文件系统客户端在上传数据时,需要请求封装成http然后发送给对象存储网关,然后由对象存储网关拆解后转为内部的请求发送给存储集群,实现将数据以写hadoop文件系统内文件的方式,将数据上传至对象存储,如图1所示,以ceph对象存储为例,数据是如何上传的。因为数据的读写路径上都需要经过对象存储网关,然后再由对象存储网关把请求转发给存储集群,对象存储网关成为性能瓶颈是显然的。
9、hadoop文件系统客户端无法直接将读写请求发送至存储集群,在整个io路径上永远存在对象存储网关这一环节,由于对象存储list objects和rename的代价比较大,导致基于对象存储的hadoop文件系统在文件列举、文件重命名等操作上会比hdfs性能差。
技术实现思路
1、本专利技术的目的是为了解决现有技术中存在hadoop文件系统客户端无法直接将读写请求发送至存储集群,在整个io路径上永远存在对象存储网关这一环节,由于对象存储list objects和rename的代价比较大,导致基于对象存储的hadoop文件系统在文件列举、文件重命名等操作上会比hdfs性能差缺点,而提出的一种基于分布式存储系统的大数据存储访问方法。
2、为了实现上述目的,本专利技术采用了如下技术方案:
3、一种基于分布式存储系统的大数据存储访问方法,所述大数据存储访问方法包括如下步骤:
4、σ1、类ηδφσ客户端实例初始化;
5、σ2、创建文件系统;
6、σ3、挂载文件系统;
7、σ4、创建目录;
8、σ5、创建文件;
9、σ6、读写权限打开文件;
10、σ7、写入文件数据;
11、σ8、从文件中读取数据;
12、σ9、关闭文件;
13、σ10、删除文件;
14、σ11、删除目录;
15、σ12、卸载文件系统;
16、σ13、删除文件系统。
17、优选的,所述步骤σ2包括如下子步骤:
18、σ21、业务线程中生成创建文件系统的任务,放入任务队列供轮询线程处理,阻塞等待任务处理结束;
19、σ22、轮询线程轮询到该任务,对该任务进行处理,网使用网络通信异步方法向文件系统元数据服务器发送请求;
20、σ23、请求返回后生成一个任务,将任务存放到类文件系统客队列中;
21、σ24、轮询线程轮询到该任务,通知业务线程创建文件系统成功,创建文件系统流程结束;
22、σ25、业务线程返回上层业务创建文件系统结果。
23、优选的,所述步骤σ7还包括如下子步骤;
24、σ71、检查客户端租约是否失效,文件是否未锁,如果文件锁没有丢失,进入步骤σ72,如果失效或者文件锁丢失,进入步骤σ75;
25、σ72、获取本次写入涉及的χηυνκ,如果χηυνκ足够,进入步骤σ73,如果χηυνκ不足,进入步骤σ76;
本文档来自技高网...【技术保护点】
1.一种基于分布式存储系统的大数据存储访问方法,其特征在于,所述大数据存储访问方法包括如下步骤:
2.根据权利要求1所述的一种基于分布式存储系统的大数据存储访问方法,其特征在于,所述步骤Σ2包括如下子步骤:
3.根据权利要求1所述的一种基于分布式存储系统的大数据存储访问方法,其特征在于,所述步骤Σ7还包括如下子步骤;
4.根据权利要求1所述的一种基于分布式存储系统的大数据存储访问方法,其特征在于,所述子步骤Σ22还包括进一步骤:
5.根据权利要求4所述的一种基于分布式存储系统的大数据存储访问方法,其特征在于,所述客户端轮询线程轮询到该任务,在任务处理函数中,最终会激活创建文件系统上下文中的条件变量,创建文件系统流程结束,与创建文件系统类似,删除文件系统、挂载文件系统、卸载文件系统、创建文件、删除文件等大数据存储系统访问操作流程,也是生成任务存入任务队列,由轮询线程处理任务执行任务处理函数。
6.根据权利要求1所述的一种基于分布式存储系统的大数据存储访问方法,其特征在于,所述步骤Σ1、包括如下具体实施步骤:
7
8.根据权利要求1所述的一种基于分布式存储系统的大数据存储访问方法,其特征在于,所述步骤Σ6还包括如下步骤:
9.根据权利要求8所述的一种基于分布式存储系统的大数据存储访问方法,其特征在于,所述步骤Σ62的进一步步骤包括:
10.根据权利要求1所述的一种基于分布式存储系统的大数据存储访问方法,其特征在于,所述步骤Σ62的再一步步骤包括:
...【技术特征摘要】
1.一种基于分布式存储系统的大数据存储访问方法,其特征在于,所述大数据存储访问方法包括如下步骤:
2.根据权利要求1所述的一种基于分布式存储系统的大数据存储访问方法,其特征在于,所述步骤σ2包括如下子步骤:
3.根据权利要求1所述的一种基于分布式存储系统的大数据存储访问方法,其特征在于,所述步骤σ7还包括如下子步骤;
4.根据权利要求1所述的一种基于分布式存储系统的大数据存储访问方法,其特征在于,所述子步骤σ22还包括进一步骤:
5.根据权利要求4所述的一种基于分布式存储系统的大数据存储访问方法,其特征在于,所述客户端轮询线程轮询到该任务,在任务处理函数中,最终会激活创建文件系统上下文中的条件变量,创建文件系统流程结束,与创建文件系统类似,删除文件系统、挂载文件系统、卸载文件系统、...
【专利技术属性】
技术研发人员:杨朝辉,白杨,廖力,曹梦飞,马建庭,
申请(专利权)人:天翼云科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。