基于云存储技术的分布式文件的上传方法及其系统技术方案

技术编号:12277179 阅读:77 留言:0更新日期:2015-11-05 03:07
本发明专利技术提供一种基于云存储技术的分布式文件的上传方法及其系统,属于云计算技术领域。该方法包括:根据用户发起的文件上传请求,查询和访问元数据服务器以获取符合设置策略条件的上传节点服务器;上传节点服务器获取上传文件,并将获取到的上传文件保存至该存储服务器。本发明专利技术的技术方案可以解决上传文件需要经过两次跳转才能保存到云存储系统上,以及上传节点服务器和存储服务器不能够同步工作,从而降低了文件上传过程的效率和云存储系统的性能,提高了云存储系统的文件上传过程的效率,降低了云存储系统的成本,提高了云存储系统的性能。

【技术实现步骤摘要】

本专利技术属于云计算
,具体涉及一种基于云存储技术的分布式文件的上传方法及其系统
技术介绍
文件服务器(File Server,简称fs服务器),是一种具有特定功能的计算机,其主要目的是向客户机提供文件服务,实现文件的上传下载和共享功能。文件服务器可以是一台能够运行其它应用的通用计算机,也可以是一台专门提供文件服务的专用计算机。大规模的企业级文件服务器,是多台文件服务器组成的fs服务器集群,通过统一的访问入口共同对外提供文件服务,从而获得更高的存储容量、安全性和并发。云存储是一种特殊的云计算技术,它通过集群应用、网格技术或分布式文件系统等功能,将网络中大量各种不同类型的存储设备通过应用软件集合起来协同工作,共同对外提供数据存储和业务访问功能的一个系统。当云计算系统运算和处理的核心是大量数据的存储和管理时,云计算系统中就需要配置大量的存储设备,那么云计算系统就转变成为一个云存储系统。由于云存储技术具有低成本、高性能、高可靠、高易用性和高可维护性等优点,企业的集群文件服务器也在逐渐演进,使用云存储作为技术支撑,架构在分布式文件系统之上。目前使用云存储分布式文件系统的文件服务器,采用的上传方式,在无云存储客户端的情况下,如通过浏览器进行文件上传时,均是基于单个上传节点或上传节点集群进行。客户端上传时,首先将文件上传到单个上传节点或上传节点集群中的某个节点,再由上传节点作为云存储客户端,访问分布式文件系统,存储具体的文件。在用户上传并发量大的场景中,例如云盘、网盘产品或互联网、移动互联网上传文件、图片系统等。如果只有单个上传节点,往往会导致该上传节点成为瓶颈,造成上传失败。因此目前对于大规模的文件上传系统,均采用部署一个上传节点集群的方式,避免单点瓶颈。但是在上传节点与存储节点数据同步上,效率较低,文件需要经过两次跳转才能保存到云存储系统上,并且上传节点和存储节点的分离架构导致存储成本上升。图1是现有技术中的基于云存储技术的分布式文件上传系统的结构示意图,如图1所示,该系统包括:云存储用户、业务服务器、上传节点服务器和云存储系统。云存储用户,即使用分布式文件上传系统的客户端。它们可来自多种客户端,如浏览器用户、PC客户端用户等。云存储用户使用分布式文件上传系统来存放和下载文件,向第三方分享文件链接。业务服务器,用于实现分布式文件上传系统的接入,可以是单一服务器,也可以是多台服务器组成的集群。业务服务器具体用于接收客户的上传请求,并返回一个可用的上传节点服务器信息给云存储用户。上传节点服务器,是分布式文件上传系统的文件服务器,用于接收客户端上传的文件。上传节点服务器可以是单一服务器,也可以是多台上传节点服务器组成的集群。对云存储系统而言,上传节点服务器是云存储系统的客户端。云存储系统,是由多台存储服务器组成的集群。云存储系统一般还包含元数据服务器,元数据服务器用于管理上传文件的元数据。云存储系统是一个存储资源池,用于真正存放用户上传的文件。图2是现有技术中的基于云存储技术的分布式文件上传方法流程示意图,如图2所示,该方法包括:步骤S201:用户/客户端向业务服务器发起文件上传请求。步骤S202:业务服务器向客户端返回可用的上传节点信息。具体地,上传节点信息包括存储服务器。步骤S203:客户端向业务服务器上传文件,业务服务器将文件暂存在本地的文件资源池中。步骤S204:业务服务器向云存储系统的元数据服务器发起请求,查找和创建上传文件的元数据信息。步骤S205:云存储系统的元数据服务器返回元数据信息给业务服务器,其中包括云存储系统中当前可用的存储服务器信息,以及其它云存储系统的元数据信息,如分片大小、副本数量等。步骤S206:业务服务器将上传文件写入云存储系统的存储服务器。步骤S207:云存储系统的存储服务器返回存储结果,包括存储是否成功的标识。具体地,如果存储失败,业务服务器会重复执行S204至S207的步骤,尝试将上传文件存储到不同的存储服务器。如果云存储系统是分片存储或者有多个副本,则业务服务器会按照系统元数据信息,将各个分片或副本传递给不同的存储服务器保存。各个存储服务器返回保存结果。重复多次执行步骤S206?S207,直至所有上传文件保存到云存储系统成功后,业务服务器将删除在本地存储池中保存的文件。步骤S208:业务服务器将上传文件保存至数据库。云存储系统的元数据服务器可共享该数据库信息。步骤S209:业务服务器返回上传结果给用户。如果上传成功,同时可返回文件的访问地址或下载地址给用户。用户取得该地址后,可以用来以后下载文件,或者将文件链接分享给第三方下载。如果上传失败,报告用户原因。如图1和图2所示,现有基于云存储的分布式文件上传系统中,用户或者客户端上传时,首先将文件上传到单个上传节点服务器或者上传节点服务器集群中的某个上传节点服务器,再由上传节点服务器作为云存储客户端,访问分布式文件云存储系统,云存储系统存储具体的上传文件。因此,上传文件首先要查询获得上传节点服务器,再将上传文件上传和保存在上传节点服务器,然后上传节点服务器再访问云存储系统,将上传文件保存到云存储系统中,也即上传文件需要经过两次跳转才能保存到云存储系统上。从而降低了整个上传过程的效率,上传节点服务器和存储节点服务器的分离架构进一步增加云存储系统的存储成本。
技术实现思路
本专利技术提供一种基于云存储技术的分布式文件的上传方法及其系统,其可以解决上传文件需要经过两次跳转才能保存到云存储系统上,以及上传节点服务器和存储服务器不能够同步工作,从而降低了文件上传过程的效率和云存储系统的性能。为实现上述目的,一方面,本专利技术提供一种基于云存储技术的分布式文件的上传方法,该方法包括:根据用户发起的文件上传请求,查询和访问元数据服务器以获取符合策略设置条件的存储服务器作为上传节点;作为上传节点的存储服务器获取到上传文件后,将获取到的上传文件保存至该存储服务器。优选地,所述根据用户发起的文件上传请求,查询和访问元数据服务器以获取符合策略设置条件的存储服务器作为上传节点具体包括:根据所述文件上传请求判断待上传文件是否为已有文件,若是,则直接返回保存成功的消息给用户;若否,则查询元数据服务器;将元数据服务器返回的符合策略设置条件的当前可用上传节点地址发给用户,使用户根据所述地址信息上传文件至指定的上传节点。优选地,所述作为上传节点的存储服务器获取到上传文件后,将获取到的上传文件保存至该存储服务器具体包括:采用多副本或者纠删码方式,将所述上传文件的每个副本或者纠删码中的每个分片分别保存至所述存储服务器自身的不同磁盘上。优选地,所述方法还包括步骤:根据存储服务器的使用情况执行重新均衡操作,将一个存储服务器上的数据调度至另一个存储服务器中进行保存。优选地,所述符合策略设置条件包括:根据存储服务器的存储空间和负载容量,选择对应的存储服务器作为上传节点。另一方面,本专利技术提供一种基于云存储技术的分布式文件的上传系统,该系统包括:上传节点获取模块,用于根据用户发起的文件上传请求,查询和访问元数据服务器以获取符合设置策略条件的存储服务器作为上传节点;上传文件保存模块,用于在作为上传节点的存储服务器获取到上传文件后,将获取到的上传文件保存至该存储服本文档来自技高网
...

【技术保护点】
一种基于云存储技术的分布式文件的上传方法,其特征在于,包括:根据用户发起的文件上传请求,查询和访问元数据服务器以获取符合策略设置条件的存储服务器作为上传节点;作为上传节点的存储服务器获取到上传文件后,将获取到的上传文件保存至该存储服务器。

【技术特征摘要】

【专利技术属性】
技术研发人员:金龙
申请(专利权)人:苏宁云商集团股份有限公司
类型:发明
国别省市:江苏;32

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

1