对象存储方法和装置的制造方法

文档序号:10616040阅读:258来源:国知局
对象存储方法和装置的制造方法
【专利摘要】本公开公开了一种对象存储方法,包括以下步骤:将通过短链接应用程序接口接收到的申请请求发送至服务器;获取服务器分配的与申请请求对应的短链接;当对象存储集群收到通过短链接发送的下载请求时,在对象存储集群的数据库中对短链接执行查找操作。上述对象存储方法不仅可以使用户得到短链接,便于使用,同时,还可以支持用户对短链接设置失效时间,方便灵活。本公开还公开了一种对象存储装置。
【专利说明】
对象存储方法和装置
技术领域
[0001]本公开涉及计算机存储技术领域,特别是涉及一种对象存储方法和装置。
【背景技术】
[0002]目前,对象存储在互联网的大潮中受到了广泛关注,并得到了迅速的发展。对象存储与文件存储不同,对象不以目录分层的结构进行组织。每个对象都位于被称为存储池的扁平的空间的相同层级,每一级的每个元素在存储系统中都有唯一的标识,用户通过这个标识来访问容器或者对象。采用扁平的数据组织结构抛弃了嵌套的文件夹,避免维护庞大的目录树。
[0003]在大数据和互联网时代,存储的文件/对象超过上百万个,单位时间内的访问次数和并发访问量也达到了前所未有的量级,在这种情况下,目录树会给存储系统带来很大的开销和诸多问题,成为系统的瓶颈。另外一个让对象存储焕发生命力的因素是,对象存储不再提供POSIX兼容的接口(如open,c lose,read ,write等),而是可以非常方便地通过HTTPRestful API接口和对象进行交互:通过PUT和GET进行上传下载,通过DELETE进行删除。对象存储可以为用户提供视频、音乐等较大文件的存储,也可以提供日志的服务,另外,存储服务取得更大发展的更大因素是取得了移动互联网的青睐,在移动端的APP中,对象存储简单的HTTP接口简化了开发者的开发流程,并且还可以为用户提供海量的存储空间。
[0004]在当前的社交工具中,会引用来自对象存储的图片、小视频等多媒体内容,通常是采用嵌入一个网络链接的方式进行引入。但是,在对象存储中的设置为public-read的对象的网络链接通常是由域名+bucketname+objectname的方式拼接而成,而如果是采用signedurl 白勺方式,贝!|±或名为+bucketname+ob jectname+ak+expiretime+signature 白勺方式,这势必会造成这个链接非常长,而社交工具通常会有字数的限制,当用户想嵌入这种地址时,势必需要减少其他内容的长度,不具有灵活性与易用性。

【发明内容】

[0005]基于此,有必要提供一种灵活且具有易用性的对象存储方法和装置。
[0006]—种对象存储方法,该方法包括:
[0007]将通过短链接应用程序接口接收到的申请请求发送至服务器;
[0008]获取所述服务器分配的与所述申请请求对应的短链接;
[0009]当所述对象存储集群收到通过所述短链接发送的下载请求时,在所述对象存储集群的数据库中对所述短链接执行查找操作。
[0010]在其中一个实施例中,所述将通过短链接应用程序接口接收到的申请请求发送至服务器之前,还包括:对所述短链接应用程序接口中的参数进行设置;
[0011]其中,所述参数为容器名称参数,向所述容器名称参数中的容器上传一个具有预设对象名称的对象。
[0012]在其中一个实施例中,其中,所述获取所述服务器分配的与所述申请请求对应的短链接包括:
[0013]获取所述服务器以用户的长链接为key,建立的针对一个用户的所述短链接到长链接的映射;以及
[0014]获取所述服务器通过递增方式增加所述申请请求为用户分配一个递增的所述短链接。
[0015]在其中一个实施例中,其中,所述当所述对象存储集群收到通过所述短链接发送的下载请求时,在所述对象存储集群的数据库中对所述短链接执行查找操作包括:
[0016]如果在所述对象存储集群的所述数据库中没有查找到与所述下载请求对应的所述短链接,则跳转到错误界面,其中,所述短链接为失效状态或未被用户执行认证操作状态均执行跳转到所述错误界面操作;
[0017]如果在所述对象存储集群的所述数据库中查获到与所述下载请求对应的所述短链接,则重定向到具有所述预设对象名称的所述对象的长链接中。
[0018]在其中一个实施例中,所述如果在所述对象存储集群的所述数据库中没有查找到与所述下载请求对应的所述短链接,则跳转到错误界面,还包括:启动线程,查找所述对象存储集群的所述数据库中为失效状态的所述短链接,并从所述对象存储集群的所述数据库中进行删除。
[0019]一种对象存储装置,包括:
[0020]发送模块,用于将通过短链接应用程序接口接收到的申请请求发送至服务器;
[0021]获取模块,用于获取所述服务器分配的与所述申请请求对应的短链接;
[0022]查找模块,用于当所述对象存储集群收到通过所述短链接发送的下载请求时,在所述对象存储集群的数据库中对所述短链接执行查找操作。
[0023]在其中一个实施例中,还包括:设置模块,用于对所述短链接应用程序接口中的参数进行设置;
[0024]其中,所述参数为容器名称参数,向所述容器名称参数中的容器上传一个具有预设对象名称的对象。
[0025]在其中一个实施例中,其中,所述获取模块包括:
[0026]第一获取模块,用于获取所述服务器以用户的长链接为key,建立的针对一个用户的所述短链接到长链接的映射;
[0027]第二获取模块,用于获取所述服务器通过递增方式增加所述申请请求为用户分配一个递增的所述短链接。
[0028]在其中一个实施例中,其中,所述查找模块包括:
[0029]跳转模块,用于如果在所述对象存储集群的所述数据库中没有查找到与所述下载请求对应的所述短链接,则跳转到错误界面,其中,所述短链接为失效状态或未被用户执行认证操作状态均执行跳转到所述错误界面操作;
[0030]重定向模块,用于如果在所述对象存储集群的所述数据库中查获到与所述下载请求对应的所述短链接,则重定向到具有所述预设对象名称的所述对象的长链接中。
[0031]在其中一个实施例中,还包括:删除模块,用于启动线程,查找所述对象存储集群的所述数据库中为失效状态的所述短链接,并从所述对象存储集群的所述数据库中进行删除。
[0032]上述对象存储方法和装置,将通过短链接应用程序接口接收到的申请请求发送至服务器;获取服务器分配的与申请请求对应的短链接;当对象存储集群收到通过短链接发送的下载请求时,在对象存储集群的数据库中对短链接执行查找操作。上述对象存储方法不仅可以使用户得到短链接,便于使用,同时,还可以支持用户对短链接设置失效时间,方便灵活。
【附图说明】
[0033]图1是一个实施例中对象存储方法的流程示意图;
[0034]图2是另一个实施例中对象存储方法的流程示意图;
[0035]图3是一个实施例中对象存储装置的结构示意图;以及
[0036]图4是另一个实施例中对象存储装置的结构示意图。
【具体实施方式】
[0037]为使本公开的目的、技术方案和优点更加清楚明了,下面结合【具体实施方式】并参照附图,对本公开进一步详细说明。应该理解,这些描述只是示例性的,而并非要限制本公开的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
[0038]参见图1,一个实施例中,提供了一种对象存储方法,该方法包括以下步骤:
[0039]步骤102,将通过短链接应用程序接口接收到的申请请求发送至服务器。
[0040]本实施例中,将通过短链接应用程序接口接收到的申请请求发送至服务器之前,还包括:对短链接应用程序接口中的参数进行设置;其中,参数为容器名称参数,向容器名称参数中的容器上传一个具有预设对象名称的对象。
[0041 ]步骤104,获取服务器分配的与申请请求对应的短链接。
[0042]本实施例中,获取服务器分配的与申请请求对应的短链接包括:获取服务器以用户的长链接为key,建立的针对一个用户的短链接到长链接的映射;以及获取服务器通过递增方式增加申请请求为用户分配一个递增的短链接。
[0043]步骤106,当对象存储集群收到通过短链接发送的下载请求时,在对象存储集群的数据库中对短链接执行查找操作。
[0044]本实施例中,如果在对象存储集群的数据库中没有查找到与下载请求对应的短链接,则跳转到错误界面,其中,短链接为失效状态或未被用户执行认证操作状态均执行跳转到错误界面操作;如果在对象存储集群的数据库中查获到与下载请求对应的短链接,则重定向到具有预设对象名称的对象的长链接中。
[0045]上述对象存储方法,将通过短链接应用程序接口接收到的申请请求发送至服务器;获取服务器分配的与申请请求对应的短链接;当对象存储集群收到通过短链接发送的下载请求时,在对象存储集群的数据库中对短链接执行查找操作。上述对象存储方法不仅可以使用户得到短链接,便于使用,同时,还可以支持用户对短链接设置失效时间,方便灵活。
[0046]如图2所示,在一个实施例中,提供了一种对象存储方法,该方法包括以下步骤:
[0047]步骤201,通过短链接接口,将申请短链接的申请请求发送至对象存储集群中。
[0048]本实施例中,在云对象存储中新增一个API (App I i cat i on ProgrammingInterface,应用程序编程接口),能够根据用户申请的对象名生成一个新的较短的链接地址,便于用户使用。其中,该API为:endpoint: /shorten URL;method:PUT;bucket name+object name;expire time;authorizat1n:与现有技术一样,进行签名计算。
[0049]具体的,在通过短链接接口,将申请短链接的申请请求发送至对象存储集群中之前还包括:用户向预设容器中上传一个具有预设对象名称的对象。例如,用户往bucketname这个bucket上传一个名为object name的对象。进一步的,用户通过shorten URL这个API发起请求,向对象存储集群申请一个短链接。
[0050]步骤202,对象存储集群接收到申请请求后,将申请请求发送至服务器。
[0051]本实施例中,对象存储集群收到请求之后,会将请求转发到某一个负载均衡的服务器上,这个服务器采取一种递增的方式来增加请求为用户分配一个递增的短链接。其中,因为短链接由10个数字,26个大写字母,26个小写字母组成,共有62中可能,所以这个递增的转换为62进制的字符串。另外,服务器需要以用户的长链接为key,建立一个用户短链接到长链接的映射。对于e xp i re t ime = -1的请求,这个生成的短链接长期有效,不做回收;当expire time为大于O的整数时,代表这个短链接需要进行回收,以便满足用户对于数据失效的要求。
[0052]步骤203,当用户通过服务器分配的短链接向对象存储集群发送下载请求时,与下载请求对应的短链接是否存在于数据库中执行查找操作。
[0053]本实施例中,当用户通过短链接发起下载请求时,存储集群收到请求之后,先到数据库中查找此短链接,如果没有找到,则可能是此短链接没有被用户认证,或者此短链接已经失效,对于上述两种情况,都直接返回404,错误界面;如果找到了短链接,则直接重定向到对象的长链接中去。
[0054]步骤204,启动线程,查找数据库中为失效状态的短链接,并从数据库中进行删除。
[0055]本实施例中,后台会启动一个失效线程,寻找数据库中已经达到超时的链接,并从数据库中删除。
[0056]基于同一发明构思,在一个实施例中,还提出一种对象存储装置。如图3,该对象存储装置10包括发送模块200、获取模块400和查找模块600。
[0057]其中,发送模块200用于将通过短链接应用程序接口接收到的申请请求发送至服务器;获取模块400用于获取服务器分配的与申请请求对应的短链接;查找模块600用于当对象存储集群收到通过短链接发送的下载请求时,在对象存储集群的数据库中对短链接执行查找操作。
[0058]此外,如图4,在一个实施例中,还包括:设置模块100用于对短链接应用程序接口中的参数进行设置;其中,参数为容器名称参数,向容器名称参数中的容器上传一个具有预设对象名称的对象。
[0059]另外,如图4,在一个实施例中,获取模块400包括:第一获取模块410和第二获取模块420。其中,第一获取模块410用于获取服务器以用户的长链接为key,建立的针对一个用户的短链接到长链接的映射;第二获取模块420用于获取服务器通过递增方式增加申请请求为用户分配一个递增的短链接。
[0060]进一步的,如图4,在一个实施例中,查找模块600包括:跳转模块610和重定向模块620。
[0061]其中,跳转模块610用于如果在对象存储集群的数据库中没有查找到与下载请求对应的短链接,则跳转到错误界面,其中,短链接为失效状态或未被用户执行认证操作状态均执行跳转到错误界面操作;重定向模块620用于如果在对象存储集群的数据库中查获到与下载请求对应的短链接,则重定向到具有预设对象名称的对象的长链接中。
[0062]更进一步的,如图4,在一个实施例中,还包括:删除模块611用于启动线程,查找对象存储集群的数据库中为失效状态的短链接,并从对象存储集群的数据库中进行删除。
[0063]上述对象存储装置,发送模块200将通过短链接应用程序接口接收到的申请请求发送至服务器;获取模块400获取服务器分配的与申请请求对应的短链接;查找模块600当对象存储集群收到通过短链接发送的下载请求时,在对象存储集群的数据库中对短链接执行查找操作。上述对象存储装置不仅可以使用户得到短链接,便于使用,同时,还可以支持用户对短链接设置失效时间,方便灵活。
[0064]应当理解的是,本公开的上述【具体实施方式】仅仅用于示例性说明或解释本公开的原理,而不构成对本公开的限制。因此,在不偏离本公开的精神和范围的情况下所做的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。此外,本公开所附权利要求旨在涵盖落入所附权利要求范围和边界、或者这种范围和边界的等同形式内的全部变化和修改例。
【主权项】
1.一种对象存储方法,该方法包括: 将通过短链接应用程序接口接收到的申请请求发送至服务器; 获取所述服务器分配的与所述申请请求对应的短链接; 当所述对象存储集群收到通过所述短链接发送的下载请求时,在所述对象存储集群的数据库中对所述短链接执行查找操作。2.根据权利要求1所述的方法,所述将通过短链接应用程序接口接收到的申请请求发送至服务器之前,还包括:对所述短链接应用程序接口中的参数进行设置; 其中,所述参数为容器名称参数,向所述容器名称参数中的容器上传一个具有预设对象名称的对象。3.根据权利要求1所述的方法,其中,所述获取所述服务器分配的与所述申请请求对应的短链接包括: 获取所述服务器以用户的长链接为key,建立的针对一个用户的所述短链接到长链接的映射;以及 获取所述服务器通过递增方式增加所述申请请求为用户分配一个递增的所述短链接。4.根据权利要求1所述的方法,其中,所述当所述对象存储集群收到通过所述短链接发送的下载请求时,在所述对象存储集群的数据库中对所述短链接执行查找操作包括: 如果在所述对象存储集群的所述数据库中没有查找到与所述下载请求对应的所述短链接,则跳转到错误界面,其中,所述短链接为失效状态或未被用户执行认证操作状态均执行跳转到所述错误界面操作; 如果在所述对象存储集群的所述数据库中查获到与所述下载请求对应的所述短链接,则重定向到具有所述预设对象名称的所述对象的长链接中。5.根据权利要求4所述的方法,所述如果在所述对象存储集群的所述数据库中没有查找到与所述下载请求对应的所述短链接,则跳转到错误界面,还包括:启动线程,查找所述对象存储集群的所述数据库中为失效状态的所述短链接,并从所述对象存储集群的所述数据库中进行删除。6.—种对象存储装置,包括: 发送模块,用于将通过短链接应用程序接口接收到的申请请求发送至服务器; 获取模块,用于获取所述服务器分配的与所述申请请求对应的短链接; 查找模块,用于当所述对象存储集群收到通过所述短链接发送的下载请求时,在所述对象存储集群的数据库中对所述短链接执行查找操作。7.根据权利要求6所述的装置,还包括:设置模块,用于对所述短链接应用程序接口中的参数进行设置; 其中,所述参数为容器名称参数,向所述容器名称参数中的容器上传一个具有预设对象名称的对象。8.根据权利要求6所述的装置,其中,所述获取模块包括: 第一获取模块,用于获取所述服务器以用户的长链接为key,建立的针对一个用户的所述短链接到长链接的映射; 第二获取模块,用于获取所述服务器通过递增方式增加所述申请请求为用户分配一个递增的所述短链接。9.根据权利要求6所述的装置,其中,所述查找模块包括: 跳转模块,用于如果在所述对象存储集群的所述数据库中没有查找到与所述下载请求对应的所述短链接,则跳转到错误界面,其中,所述短链接为失效状态或未被用户执行认证操作状态均执行跳转到所述错误界面操作; 重定向模块,用于如果在所述对象存储集群的所述数据库中查获到与所述下载请求对应的所述短链接,则重定向到具有所述预设对象名称的所述对象的长链接中。10.根据权利要求9所述的装置,还包括:删除模块,用于启动线程,查找所述对象存储集群的所述数据库中为失效状态的所述短链接,并从所述对象存储集群的所述数据库中进行删除。
【文档编号】G06F17/30GK105978944SQ201610267025
【公开日】2016年9月28日
【申请日】2016年4月26日
【发明人】吴兴义
【申请人】乐视控股(北京)有限公司, 乐视云计算有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1