基于云平台的分布式计算方法技术

技术编号:12566672 阅读:71 留言:0更新日期:2015-12-23 10:18
本发明专利技术提供了一种基于云平台的分布式计算方法,该方法包括:将待存储文件进行拆分为多个分段对象,并建立索引文件来记录所有分段,云存储客户端将所述多个分段对象传送到云存储服务器端;在下载文件时,通过索引文件检索相应的分段对象后聚合成原文件。本发明专利技术提出了一种基于云平台的分布式计算方法,为客户端提供了大数据文件存储解决方案,便于用户调用,易于扩展,突破了云存储服务对文件大小的限制,大大提高了文件的传输速度。

【技术实现步骤摘要】

本专利技术涉及云计算,特别涉及一种。
技术介绍
目前面对大数据的存储需求,传统的数据存储方法在存储容量、数据的可靠性、存储成本等方向存在很大的不足。云存储具有自身独特的优势,可以动态、灵活地进行扩展和配置,使用户可以通过网络按需获得云存储的软硬件资源。云计算平台的对象存储服务可以用来构建冗余的、可扩展的存储集群,存储容量可达PB级,结合云计算平台的身份验证服务,可以提供安全可靠的云存储服务。然而现有的存储服务仍存在某些不足,不能存储任意大小的文件,并且仅仅是服务器端的解决方案,灵活性和扩展性较差。
技术实现思路
为解决上述现有技术所存在的问题,本专利技术提出了一种,包括:将待存储文件进行拆分为多个分段对象,并建立索引文件来记录所有分段,云存储客户端将所述多个分段对象传送到云存储服务器端;在下载文件时,通过索引文件检索相应的分段对象后聚合成原文件。优选地,所述服务器端逻辑上包括如下四层:展示层,用于与用户交互,配置用户的验证信息、线程池的数量,为用户提供上传文件和下载文件的同步和异步接口 ;逻辑层,为用户提供逻辑和控制功能,存储策略、用户的验证和授权、任务工作流、任务调度、日志记录;服务层,提供存储服务和身份验证服务;资源层,包括磁盘、网络交换机、路由器以及其它资源,所有的存储过程在客户端实现;所述索引文件记录构成一个文件的所有分段对象的信息,包括分段对象所在的容器名称、分段对象的名字、分段对象在文件中的偏移量、分段对象的二进制数据长度;当检索索引文件的信息时,索引文件的元数据把所有的分段对象信息序列化为XML格式的字符串,下载文件时根据容器名称和分段对象的名称,定位云存储服务器端分段对象的位置,并且根据偏移量和分段大小,定位分段对象在原文件中的位置。优选地,所述并建立索引文件来记录所有分段,进一步包括:用索引文件的元数据代表原文件的元数据,所述索引文件的元数据包括:(I)原始文件的HASH校验值,用于下载文件后对文件进行HASH校验;(2)原始文件的总长度;定义属性Etag,作为为整个文件的HASH校验值,分段对象的Etag值为文件分段的HASH校验值,索引文件的Etag值为XML字符串的HASH校验值;上传文件时,在Http头文件中添加Etag值,云存储服务在上传结束后对比服务器端的对象的HASH值与Etag值,以验证传输前后数据的一致性;上传文件时,先根据文件的大小确定是否需要分段上传,如果需要分段,将文件转换为多个分段对象和一个索引文件;上传整个文件、上传文件分段和上传索引文件时,均计算数据的HASH校验值,在上传HTTP请求的头文件中加入Etag键值对,云存储服务根据Etag值完成数据的一致性校验,在上传索引文件时,除了计算其XML字符串的HASH校验值,还计算整个文件的HASH校验值,作为原始文件校验值的键值对加入Http头文件中;对于待下载的云端对象,必须先验证此对象是否为索引文件,若为索引文件,则解析XML格式的分段对象信息,下载分段对象,并与已下载的分段相合并,当全部分段均下载完成后,比较下载后的文件的HASH校验值和原文件的HASH校验值;如果文件对应单个对象,则文件的HASH校验值为对象的Etag值,如果文件对应一个索引文件和多个分段对象,则文件的HASH校验值为索引文件的原始文件校验值;在实现中,当用户调用云存储客户端的上传命令时,把上传任务转交给文件上传类,文件上传类有4个方法:预处理任务、处理上传任务、处理后续任务、处理程序异常;预处理任务进行文件分段、计算各个分段的HASH值;上传任务包括上传一般的对象和上传索引文件;预处理任务和上传任务涉及到读取硬盘、网络通信,文件上传类会把任务交给线程池来执行;下载文件由文件下载类实现,文件下载类和文件上传类实现了相同的接口,具有以下4个方法:预处理任务、处理任务、处理后续任务、处理程序异常;其中预处理任务、下载文件、文件的HASH校验这3个过程交给线程池来执行;分段对象聚合成原文件的操作,是在下载的过程中直接进行聚合,直接依照分段对象的偏移量写入到原文件的指定位置,当所有的分段文件都下载完毕,原文件就完整的下载到客户端的磁盘上。本专利技术相比现有技术,具有以下优点:本专利技术提出了一种,为客户端提供了大数据文件存储解决方案,便于用户调用,易于扩展,突破了云存储服务对文件大小的限制,大大提高了文件的传输速度。【附图说明】图1是根据本专利技术实施例的的流程图。【具体实施方式】下文与图示本专利技术原理的附图一起提供对本专利技术一个或者多个实施例的详细描述。结合这样的实施例描述本专利技术,但是本专利技术不限于任何实施例。本专利技术的范围仅由权利要求书限定,并且本专利技术涵盖诸多替代、修改和等同物。在下文描述中阐述诸多具体细节以便提供对本专利技术的透彻理解。出于示例的目的而提供这些细节,并且无这些具体细节中的一些或者所有细节也可以根据权利要求书实现本专利技术。本专利技术的一方面提供了一种。图1是根据本专利技术实施例的流程图。本专利技术为了解决大数据文件存储的不足,设计并实现了基于分布式存储平台的存储方法。本专利技术通过改进云存储系统的层次架构,制定文件存储策略和上传和下载的流程。并且本专利技术的方案为客户端的解决方案,便于用户调用,易于扩展,突破了云存储服务对文件大小的限制,大大提高了文件的上传和下载速度。为了安全、快速的存储GB级大数据文件,本专利技术将云存储系统分两部分:服务器端和客户端,服务器端由原生的文件存储模块和身份验证模块构成,所有的存储方法在客户端实现。整体结构分如下四层:展示层,与用户交互,可以配置用户的验证信息、线程池的数量等,为用户提供上传文件和下载文件的同步和异步接口。逻辑层,为用户提供逻辑和控制功能,包括存储策略、用户的验证和授权、复杂任务的工作流、任务的调度、日志记录等。服务层,为上层提供存储服务和身份验证服务。最下层为资源层,包括磁盘、网络交换机、路由器以及其它的一些资源。本专利技术的总体存储策略是:上传一个大文件时,把一个大文件拆分为一系列小文件,分别上传到云存储服务器端。下载时,再把这些小文件聚合为一个大文件。在云存储服务器端,用两种类型的对象来代替一个大的对象:(I)分段对象:把一个大数据文件拆分成小的分段,分别作为一个单独的对象上传这些分段,这些对象称为分段对象。(2)索引文件:用于记录构成一个大数据文件的所有分段对象的信息,包括分段对象所在的容器名称、分段对象的名字、分段对象在文件中的偏移量、分段对象的二进制数据长度。根据这些信息,可以把一个大数据文件拆分为多个分段,并且可以把多个分段重新合成为原文件。也就是说,一个大数据文件在云存储服务器端由唯一的索引文件和多个分段对象构成。分段对象与一般的对象没有任何区别,但是索引文件代表了磁盘中的大数据文件,当下载索引文件时,需要把所有的分段对象连接成一个整体返回给用户;当检索索引文件的信息时,索引文件的元数据代表文件的相关属性。为了便于组织信息,把所有的分段对象信息序列化为XML格式的字符串,作为索引文件的内容。所以索引文件的内容就是XML格式的所有分段对象信息的列表。根据容器名称和分段对象的名称,可以定位云存储服务器端分段对象的位置,根据偏移量和分段大小,可以定位分段对象在原文件中的位置,所以XML格式的分段信息列表中本文档来自技高网...

【技术保护点】
一种基于云平台的分布式计算方法,其特征在于,包括:将待存储文件进行拆分为多个分段对象,并建立索引文件来记录所有分段,云存储客户端将所述多个分段对象传送到云存储服务器端;在下载文件时,通过索引文件检索相应的分段对象后聚合成原文件。

【技术特征摘要】

【专利技术属性】
技术研发人员:赖真霖文君
申请(专利权)人:成都四象联创科技有限公司
类型:发明
国别省市:四川;51

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1