对象存储方法和系统的制作方法

文档序号:10660948阅读:260来源:国知局
对象存储方法和系统的制作方法
【专利摘要】本公开提供的对象存储方法,应用于云端数据存储,包括:建立从客户端到云存储端的通信连接;接收所述客户端的存储空间创建请求,所述存储空间创建请求包括存储空间标识符和压缩配置;根据所述存储空间创建请求创建存储空间;接收所述客户端的对象上载请求,所述对象上载请求包括至少一个对象及第一存储空间标识符;获得所述第一存储空间标识符对应的所述存储空间的压缩配置;以及根据所述压缩配置将所述至少一个对象压缩后存储到所述第一存储空间标识符对应的所述存储空间。通过用户的压缩配置压缩该用户上载的对象,从而节省存储空间。将压缩选择交给用户,云存储端提供接口,使用户能够进行个性化设置。
【专利说明】
对象存储方法和系统
技术领域
[0001 ]本公开涉及云存储领域,具体涉及一种对象存储方法和系统。
【背景技术】
[0002]对象存储在互联网的大潮中受到了广发关注,并得到了迅速的发展。对象存储与文件存储不同,对象不以目录分层的结构进行组织。每个对象都位于被称为存储池的扁平的空间的相同层级,每一级的每个元素在存储系统中都有唯一的标识,用户通过这个标识来访问容器或者对象。采用扁平的数据组织结构抛弃了嵌套的文件夹,避免维护庞大的目录树。在大数据和互联网时代,存储的文件/对象超过上百万个,单位时间内的访问次数和并发访问量也达到了前所未有的量级,在这种情况下,目录树会给存储系统带来很大的开销和诸多问题,成为系统的瓶颈。另外一个让对象存储焕发生命力的因素是,对象存储不再提供POSIX兼容的接口(如open,close,read ,write等),而是可以非常方便地通过HTTPRestful API接口和对象进行交互:通过HJT和GET进行上传下载,通过DELETE进行删除。
[0003]在进行对象存储时,用户首先需要为对象申请一个存储空间(bucket),然后将对象上载到一个存储空间(bucket)中,供后续下载使用。有时用户将存储空间中的全部文件打包进行下载,比如用户在每一年的第一天把对象存储中的全部文件下载下来,打包并存档到自己的磁盘中,以便进行备份。此时用户需要遍历其整个存储空间,并且把整个文件下载下来再进行打包,这样非常耗费流量和时间,特别是在网络环境不好的情况下。另外一种场景是,用户上载的一些数据仅仅是作为一个在线的备份手段,很少使用,但却占用了较多的存储区,因而导致存储区的利用率不高。

【发明内容】

[0004]有鉴于此,本公开提供一种对象存储方法,以解决上述问题。
[0005]根据本公开的第一方面,本公开提供一种对象存储方法,应用于云端数据存储,包括:建立从客户端到云存储端的通信连接,接收所述客户端的存储空间创建请求,所述存储空间创建请求包括存储空间标识符和压缩配置;根据所述存储空间创建请求创建存储空间;接收所述客户端的对象上载请求,所述对象上载请求包括至少一个对象及第一存储空间标识符;获得所述第一存储空间标识符对应的所述存储空间的压缩配置;以及根据所述压缩配置将所述至少一个对象压缩后存储到所述第一存储空间标识符对应的所述存储空间。
[0006]优选地,所述压缩配置包括:是否压缩及压缩算法。
[0007]优选地,还包括:根据所述压缩算法将所述至少一个对象的每一对象分别压缩。
[0008]优选地,还包括:接收所述客户端的对象压缩请求;以及根据所述对象压缩请求进行对象压缩。
[0009]优选地,还包括:将对象压缩后的文件名返回给所述客户端。
[0010]优选地,还包括:接收所述客户端的下载请求,所述下载请求中包括对象压缩后的文件名;以及将所述文件名对应的压缩包返回给所述客户端。
[0011 ] 优选地,所述存储空间创建请求和所述对象上载请求为HTTP请求。
[0012]根据本公开的第二方面,本公开提供一种对象存储系统,包括多个客户端和云存储端,所述客户端包括:和所述云存储端建立通信连接;提交存储空间创建请求和对象上载请求;所述云存储端包括:建立和所述客户端的通信连接;接收所述客户端的存储空间创建请求,所述存储空间创建请求包括存储空间标识符和压缩配置;根据所述存储空间创建请求创建存储空间;接收对象上载请求,所述对象上载请求包括至少一个对象及第一存储空间标识符;获得所述第一存储空间标识符对应的所述存储空间的压缩配置;以及根据所述压缩配置将所述至少一个对象压缩后存储到所述第一存储空间标识符对应的所述存储空间。
[0013 ]优选地,所述压缩配置包括:是否压缩及压缩算法。
[0014]优选地,还包括:根据所述压缩算法将所述至少一个对象的每一对象分别压缩。
[0015]本公开提供的对象存储方法和对象存储系统,通过用户的压缩配置压缩该用户上载的对象,从而节省存储空间。将压缩选择交给用户,云存储端提供接口,使用户能够进行个性化设置。另外一点是,对象存储集群通常都具有较强的计算能力,如果能够帮助用户进行数据压缩工作,也能够充分利用现有资源。
【附图说明】
[0016]通过参照以下附图对本公开实施例的描述,本公开的上述以及其它目的、特征和优点将更为清楚,在附图中:
[0017]图1是根据本公开实施例的对象存储系统的示意图;
[0018]图2是根据本公开实施例的对象存储方法的流程图;
[0019]图3是根据本公开实施例的客户端和云存储端建立通信连接的示意图。
【具体实施方式】
[0020]以下基于实施例对本公开进行描述,但是本公开并不仅仅限于这些实施例。在下文对本公开的细节描述中,详尽描述了一些特定的细节部分。对本领域技术人员来说没有这些细节部分的描述也可以完全理解本公开。为了避免混淆本公开的实质,公知的方法、过程、流程没有详细叙述。另外附图不一定是按比例绘制的。
[0021 ]在本公开的描述中,需要理解的是,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。
[0022]图1是根据本公开实施例的对象存储系统的示意图。所述对象系统包括客户端100和云存储端101。这里,客户端可以是一个手机APP,或视频系统、电商系统的前端程序或后台程序。云存储端则为包括软硬件结合的云服务系统。
[0023]客户端100和云存储端101建立通信连接,通过该通信连接发送存储空间创建请求,云存储端接收到该请求后,创建对应的存储空间。这里,可以把云存储端的存储区域看做一个网络SAN(Storage Area Network),即一个集中式管理的高速存储网络,由多供应商存储系统、存储管理软件、应用程序服务器和网络硬件组成。存储空间(bucket)可以理解为对象容器,云存储端将存储区域分为若干存储空间(bucket) ο从存储空间创建请求中提取用户ID等信息,为该用户申请一个存储空间(bucket)。云存储端101接着接收客户端的对象上载请求,从该上载请求中提取用户ID、数字对象和存储空间标识符,将数字对象的数据进行压缩后存储到存储空间标识符对应的存储空间中。
[0024]优选地,该对象存储系统还包括一个用于存储存储空间和对象索引数据的文件系统,通过存储空间标识符检索文件系统能够获得存储空间的位置。
[0025]优选地,云存储端具有多个数据存储节点,在客户端提交存储空间创建请求时,指定一个存储空间(bucket)所使用的存储节点。例如,一个云存储系统在北京、杭州等地区都有存储节点,默认使用本地的存储节点(或最近的存储节点),从而最优化延迟,最小化费用或者满足监管要求等。在图1中,102是存储区域的示意图例,102包括I?η个存储空间(bucket),每个存储空间(bucket)则分别包括多个对象。
[0026]图2是根据本公开实施例的对象存储方法的流程图。所述方法包括步骤201?206。
[0027]在步骤201中,建立云存储端和客户端的连接。
[0028]具体客户端和云存储端的安全通信连接的建立过程可参考图3的示意图。图3示出了一个手机APP和云存储端建立安全通信连接的过程。标记30为客户端,标记31为权限管理服务器,通过客户端访问权限管理服务器。当需要进行云端存储时,客户端通过步骤301向权限管理服务器发送一个云端授权请求,权限管理服务器接收后,向云存储端转发,云存储端进行校验后,返回临时授权ID或访问令牌(Access token),权限管理服务器接收到该授权ID或访问令牌,返回给客户端。客户端将该授权ID或访问令牌缓存在本地,并通过该授权ID或访问令牌和云存储端进行通信连接。为了保证授权ID或访问令牌不被滥用或窃取,该类授权ID或访问令牌一般都设有时间限制,过了预定时间自动失效。
[0029]在步骤202中,从客户端接收存储空间创建请求。
[0030]在步骤203中,根据存储空间创建请求创建存储空间。
[0031]在通信连接建立后,客户端向云存储端发送存储空间创建请求。云存储端根据创建请求申请为该用户申请存储空间。
[0032]在步骤204中,从客户端接收对象上载请求。
[0033]在步骤205中,获得第一存储空间标识符对应的存储空间的压缩配置。
[0034]在步骤206中,根据压缩配置将至少一个对象压缩后存储到所述第一存储空间标识符对应的存储空间。
[0035]接收客户端的对象上载请求,对象上载请求中包括指定存储的存储空间标识符、对象数据等。根据指定存储的存储空间标识符查找对应的存储空间,得到该存储空间的位置以及配置信息,例如压缩配置,根据压缩配置信息将对象压缩后存储到对应的存储空间中。配置信息在存储空间创建时由根据存储空间创建请求生成。
[0036]优选地,客户端可以显式地要求对云存储端将文件压缩,即客户端提交一个压缩请求,云存储端根据压缩请求压缩数据。如果涉及到多个对象的压缩,可以针对每个对象分别压缩。或者将所有的对象压缩为一个大的压缩文件。然后客户端在根据压缩文件名称生成下载请求,下载该压缩文件。另外,在下载后,客户端可以提交删除请求删除不再需要的压缩包,以节省空间。
[0037]在上述的对象存储方法或对象存储系统的实例中,压缩配置在创建存储空间时生成,也可以存储空间创建后对默认的压缩配置进行修改。如果存储空间由非压缩变为压缩,则云存储端通过守护进程或定时程序实现该存储空间下的对象数据的压缩。压缩配置里起码包括是否压缩以及压缩算法。
[0038]本公开提供的对象存储方法和对象存储系统,通过用户的压缩配置压缩该用户上载的对象,从而节省存储空间。将压缩选择交给用户,云存储端提供接口,使用户能够进行个性化设置。另外一点是,对象存储集群通常都具有较强的计算能力,如果能够帮助用户进行数据压缩工作,也能够充分利用现有资源。
[0039]附图中的流程图、框图图示了本公开实施例的系统、方法、装置的可能的体系框架、功能和操作,流程图和框图上的方框可以代表一个、程序段或仅仅是一段代码,所述、程序段和代码都是用来实现规定逻辑功能的可执行指令。也应当注意,所述实现规定逻辑功能的可执行指令可以重新组合,从而生成新的和程序段。因此附图的方框以及方框顺序只是用来更好的图示实施例的过程和步骤,而不应以此作为对发明本身的限制。
[0040]系统的各个或单元可以通过硬件、固件或软件实现。软件例如包括采用JAVA、C/C++/C#、SQL等各种编程语言形成的编码程序。虽然在方法以及方法图例中给出本公开实施例的步骤以及步骤的顺序,但是所述步骤实现规定的逻辑功能的可执行指令可以重新组合,从而生成新的步骤。所述步骤的顺序也不应该仅仅局限于所述方法以及方法图例中的步骤顺序,可以根据功能的需要随时进行调整。例如将其中的某些步骤并行或按照相反顺序执行。
[0041]根据本公开的系统和方法可以部署在单个或多个服务器上。例如,可以将不同的分别部署在不同的服务器上,形成专用服务器。或者,可以在多个服务器上分布式部署相同的功能单元、或系统,以减轻负载压力。所述服务器包括但不限于在同一个局域网以及通过Internet连接的多个PC机、PC服务器、刀片机、超级计算机等。
[0042]以上所述仅为本公开的优选实施例,并不用于限制本公开,对于本领域技术人员而言,本公开可以有各种改动和变化。凡在本公开的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。
【主权项】
1.一种对象存储方法,应用于云端数据存储,包括: 建立从客户端到云存储端的通信连接; 接收所述客户端的存储空间创建请求,所述存储空间创建请求包括存储空间标识符和压缩配置; 根据所述存储空间创建请求创建存储空间; 接收所述客户端的对象上载请求,所述对象上载请求包括至少一个对象及第一存储空间标识符; 获得所述第一存储空间标识符对应的所述存储空间的压缩配置;以及根据所述压缩配置将所述至少一个对象压缩后存储到所述第一存储空间标识符对应的所述存储空间。2.根据权利要求1所述的对象存储方法,其中,所述压缩配置包括:是否压缩及压缩算法。3.根据权利要求2所述的对象存储方法,还包括: 根据所述压缩算法将所述至少一个对象的每一对象分别压缩。4.根据权利要求1所述的对象存储方法,还包括: 接收所述客户端的对象压缩请求; 以及根据所述对象压缩请求进行对象压缩。5.根据权利要求4所述的对象存储方法,还包括:将对象压缩后的文件名返回给所述客户端。6.根据权利要求5所述的对象存储方法,还包括:接收所述客户端的下载请求,所述下载请求中包括对象压缩后的文件名;以及将所述文件名对应的压缩包返回给所述客户端。7.根据权利要求1所述的对象存储方法,所述存储空间创建请求和所述对象上载请求为HTTP请求。8.一种对象存储系统,包括多个客户端和云存储端, 所述客户端包括: 和所述云存储端建立通信连接; 提交存储空间创建请求和对象上载请求; 所述Ζ5Γ存储?而包括: 建立和所述客户端的通信连接; 接收所述客户端的存储空间创建请求,所述存储空间创建请求包括存储空间标识符和压缩配置; 根据所述存储空间创建请求创建存储空间; 接收对象上载请求,所述对象上载请求包括至少一个对象及第一存储空间标识符; 获得所述第一存储空间标识符对应的所述存储空间的压缩配置;以及根据所述压缩配置将所述至少一个对象压缩后存储到所述第一存储空间标识符对应的所述存储空间。9.根据权利要求8所述的对象存储系统,其中,所述压缩配置包括:是否压缩及压缩算法。10.根据权利要求9所述的对象存储系统,所述云存储端还包括:根据所述压缩算法将所述至少一个对象的每一对象分别压缩。
【文档编号】H04L29/08GK106027615SQ201610305987
【公开日】2016年10月12日
【申请日】2016年5月10日
【发明人】吴兴义
【申请人】乐视控股(北京)有限公司, 乐视云计算有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1