H04L29/08 G06F17/30
1.一种对象存储方法,该方法包括:
将通过短链接应用程序接口接收到的申请请求发送至服务器;
获取所述服务器分配的与所述申请请求对应的短链接;
当所述对象存储集收到通过所述短链接发送的下载请求时,在所述 对象存储集的数据库中对所述短链接执行查操作。
2.根据权利要求1所述的方法,所述将通过短链接应用程序接口接 收到的申请请求发送至服务器之前,还包括:对所述短链接应用程序接口 中的参数进行设置;
其中,所述参数为容器名称参数,向所述容器名称参数中的容器上传 一个具有预设对象名称的对象。
3.根据权利要求1所述的方法,其中,所述获取所述服务器分配的 与所述申请请求对应的短链接包括:
获取所述服务器以用户的长链接为key,建立的针对一个用户的所述 短链接到长链接的映射;以及
获取所述服务器通过递增方式增加所述申请请求为用户分配一个递 增的所述短链接。
4.根据权利要求1所述的方法,其中,所述当所述对象存储集收 到通过所述短链接发送的下载请求时,在所述对象存储集的数据库中对 所述短链接执行查操作包括:
如果在所述对象存储集的所述数据库中没有查到与所述下载请 求对应的所述短链接,则跳转到错误界面,其中,所述短链接为失效状态 或未被用户执行认证操作状态均执行跳转到所述错误界面操作;
如果在所述对象存储集的所述数据库中查获到与所述下载请求对 应的所述短链接,则重定向到具有所述预设对象名称的所述对象的长链接 中。
5.根据权利要求4所述的方法,所述如果在所述对象存储集的所 述数据库中没有查到与所述下载请求对应的所述短链接,则跳转到错误 界面,还包括:启动线程,查所述对象存储集的所述数据库中为失效 状态的所述短链接,并从所述对象存储集的所述数据库中进行删除。
6.一种对象存储装置,包括:
发送模块,用于将通过短链接应用程序接口接收到的申请请求发送至 服务器;
获取模块,用于获取所述服务器分配的与所述申请请求对应的短链 接;
查模块,用于当所述对象存储集收到通过所述短链接发送的下载 请求时,在所述对象存储集的数据库中对所述短链接执行查操作。
7.根据权利要求6所述的装置,还包括:设置模块,用于对所述短 链接应用程序接口中的参数进行设置;
其中,所述参数为容器名称参数,向所述容器名称参数中的容器上传 一个具有预设对象名称的对象。
8.根据权利要求6所述的装置,其中,所述获取模块包括:
第一获取模块,用于获取所述服务器以用户的长链接为key,建立的 针对一个用户的所述短链接到长链接的映射;
第二获取模块,用于获取所述服务器通过递增方式增加所述申请请求 为用户分配一个递增的所述短链接。
9.根据权利要求6所述的装置,其中,所述查模块包括:
跳转模块,用于如果在所述对象存储集的所述数据库中没有查到 与所述下载请求对应的所述短链接,则跳转到错误界面,其中,所述短链 接为失效状态或未被用户执行认证操作状态均执行跳转到所述错误界面 操作;
重定向模块,用于如果在所述对象存储集的所述数据库中查获到与 所述下载请求对应的所述短链接,则重定向到具有所述预设对象名称的所 述对象的长链接中。
10.根据权利要求9所述的装置,还包括:删除模块,用于启动线程, 查所述对象存储集的所述数据库中为失效状态的所述短链接,并从所 述对象存储集的所述数据库中进行删除。
本公开涉及计算机存储技术领域,特别是涉及一种对象存储方法和装置。
目前,对象存储在互联网的大潮中受到了广泛关注,并得到了迅速的发 展。对象存储与文件存储不同,对象不以目录分层的结构进行组织。每个对 象都位于被称为存储池的扁平的空间的相同层级,每一级的每个元素在存储 系统中都有唯一的标识,用户通过这个标识来访问容器或者对象。采用扁平 的数据组织结构抛弃了嵌套的文件夹,避免维护庞大的目录树。
在大数据和互联网时代,存储的文件/对象超过上百万个,单位时间内的 访问次数和并发访问量也达到了前所未有的量级,在这种情况下,目录树会 给存储系统带来很大的开销和诸多问题,成为系统的瓶颈。另外一个让对象 存储焕发生命力的因素是,对象存储不再提供POSIX兼容的接口(如open, close,read,write等),而是可以非常方便地通过HTTP Restful API接口 和对象进行交互:通过PUT和GET进行上传下载,通过DELETE进行删除。对 象存储可以为用户提供视频、音乐等较大文件的存储,也可以提供日志的服 务,另外,存储服务取得更大发展的更大因素是取得了移动互联网的青睐, 在移动端的APP中,对象存储简单的HTTP接口简化了开发者的开发流程,并 且还可以为用户提供海量的存储空间。
在当前的社交工具中,会引用来自对象存储的图片、小视频等多媒体内 容,通常是采用嵌入一个网络链接的方式进行引入。但是,在对象存储中的 设置为public-read的对象的网络链接通常是由域名 +bucketname+objectname的方式拼接而成,而如果是采用signed url的方 式,则域名为+bucketname+objectname+ak+expiretime+signature的方式, 这势必会造成这个链接非常长,而社交工具通常会有字数的限制,当用户想 嵌入这种地址时,势必需要减少其他内容的长度,不具有灵活性与易用性。
基于此,有必要提供一种灵活且具有易用性的对象存储方法和装置。
一种对象存储方法,该方法包括:
将通过短链接应用程序接口接收到的申请请求发送至服务器;
获取所述服务器分配的与所述申请请求对应的短链接;
当所述对象存储集收到通过所述短链接发送的下载请求时,在所述对 象存储集的数据库中对所述短链接执行查操作。
在其中一个实施例中,所述将通过短链接应用程序接口接收到的申请请 求发送至服务器之前,还包括:对所述短链接应用程序接口中的参数进行设 置;
其中,所述参数为容器名称参数,向所述容器名称参数中的容器上传一 个具有预设对象名称的对象。
在其中一个实施例中,其中,所述获取所述服务器分配的与所述申请请 求对应的短链接包括:
获取所述服务器以用户的长链接为key,建立的针对一个用户的所述短 链接到长链接的映射;以及
获取所述服务器通过递增方式增加所述申请请求为用户分配一个递增的 所述短链接。
在其中一个实施例中,其中,所述当所述对象存储集收到通过所述短 链接发送的下载请求时,在所述对象存储集的数据库中对所述短链接执行 查操作包括:
如果在所述对象存储集的所述数据库中没有查到与所述下载请求对 应的所述短链接,则跳转到错误界面,其中,所述短链接为失效状态或未被 用户执行认证操作状态均执行跳转到所述错误界面操作;
如果在所述对象存储集的所述数据库中查获到与所述下载请求对应的 所述短链接,则重定向到具有所述预设对象名称的所述对象的长链接中。
在其中一个实施例中,所述如果在所述对象存储集的所述数据库中没 有查到与所述下载请求对应的所述短链接,则跳转到错误界面,还包括: 启动线程,查所述对象存储集的所述数据库中为失效状态的所述短链接, 并从所述对象存储集的所述数据库中进行删除。
一种对象存储装置,包括:
发送模块,用于将通过短链接应用程序接口接收到的申请请求发送至服 务器;
获取模块,用于获取所述服务器分配的与所述申请请求对应的短链接;
查模块,用于当所述对象存储集收到通过所述短链接发送的下载请 求时,在所述对象存储集的数据库中对所述短链接执行查操作。
在其中一个实施例中,还包括:设置模块,用于对所述短链接应用程序 接口中的参数进行设置;
其中,所述参数为容器名称参数,向所述容器名称参数中的容器上传一 个具有预设对象名称的对象。
在其中一个实施例中,其中,所述获取模块包括:
第一获取模块,用于获取所述服务器以用户的长链接为key,建立的针 对一个用户的所述短链接到长链接的映射;
第二获取模块,用于获取所述服务器通过递增方式增加所述申请请求为 用户分配一个递增的所述短链接。
在其中一个实施例中,其中,所述查模块包括:
跳转模块,用于如果在所述对象存储集的所述数据库中没有查到与 所述下载请求对应的所述短链接,则跳转到错误界面,其中,所述短链接为 失效状态或未被用户执行认证操作状态均执行跳转到所述错误界面操作;
重定向模块,用于如果在所述对象存储集的所述数据库中查获到与所 述下载请求对应的所述短链接,则重定向到具有所述预设对象名称的所述对 象的长链接中。
在其中一个实施例中,还包括:删除模块,用于启动线程,查所述对 象存储集的所述数据库中为失效状态的所述短链接,并从所述对象存储集 的所述数据库中进行删除。
上述对象存储方法和装置,将通过短链接应用程序接口接收到的申请请 求发送至服务器;获取服务器分配的与申请请求对应的短链接;当对象存储 集收到通过短链接发送的下载请求时,在对象存储集的数据库中对短链 接执行查操作。上述对象存储方法不仅可以使用户得到短链接,便于使用, 同时,还可以支持用户对短链接设置失效时间,方便灵活。
图1是一个实施例中对象存储方法的流程示意图;
图2是另一个实施例中对象存储方法的流程示意图;
图3是一个实施例中对象存储装置的结构示意图;以及
图4是另一个实施例中对象存储装置的结构示意图。
为使本公开的目的、技术方案和优点更加清楚明了,下面结合具体实施 方式并参照附图,对本公开进一步详细说明。应该理解,这些描述只是示例 性的,而并非要限制本公开的范围。此外,在以下说明中,省略了对公知结 构和技术的描述,以避免不必要地混淆本公开的概念。
参见图1,一个实施例中,提供了一种对象存储方法,该方法包括以下 步骤:
步骤102,将通过短链接应用程序接口接收到的申请请求发送至服务器。
本实施例中,将通过短链接应用程序接口接收到的申请请求发送至服务 器之前,还包括:对短链接应用程序接口中的参数进行设置;其中,参数为 容器名称参数,向容器名称参数中的容器上传一个具有预设对象名称的对象。
步骤104,获取服务器分配的与申请请求对应的短链接。
本实施例中,获取服务器分配的与申请请求对应的短链接包括:获取服 务器以用户的长链接为key,建立的针对一个用户的短链接到长链接的映射; 以及获取服务器通过递增方式增加申请请求为用户分配一个递增的短链接。
步骤106,当对象存储集收到通过短链接发送的下载请求时,在对象 存储集的数据库中对短链接执行查操作。
本实施例中,如果在对象存储集的数据库中没有查到与下载请求对 应的短链接,则跳转到错误界面,其中,短链接为失效状态或未被用户执行 认证操作状态均执行跳转到错误界面操作;如果在对象存储集的数据库中 查获到与下载请求对应的短链接,则重定向到具有预设对象名称的对象的长 链接中。
上述对象存储方法,将通过短链接应用程序接口接收到的申请请求发送 至服务器;获取服务器分配的与申请请求对应的短链接;当对象存储集收 到通过短链接发送的下载请求时,在对象存储集的数据库中对短链接执行 查操作。上述对象存储方法不仅可以使用户得到短链接,便于使用,同时, 还可以支持用户对短链接设置失效时间,方便灵活。
如图2所示,在一个实施例中,提供了一种对象存储方法,该方法包括 以下步骤:
步骤201,通过短链接接口,将申请短链接的申请请求发送至对象存储 集中。
本实施例中,在云对象存储中新增一个API(Application Programming Interface,应用程序编程接口),能够根据用户申请的对象名生成一个新的 较短的链接地址,便于用户使用。其中,该API为:endpoint:/shorten URL; method:PUT;bucket name+object name;expire time;authorization: 与现有技术一样,进行签名计算。
具体的,在通过短链接接口,将申请短链接的申请请求发送至对象存储 集中之前还包括:用户向预设容器中上传一个具有预设对象名称的对象。 例如,用户往bucket name这个bucket上传一个名为object name的对象。 进一步的,用户通过shorten URL这个API发起请求,向对象存储集申请 一个短链接。
步骤202,对象存储集接收到申请请求后,将申请请求发送至服务器。
本实施例中,对象存储集收到请求之后,会将请求转发到某一个负载 均衡的服务器上,这个服务器采取一种递增的方式来增加请求为用户分配一 个递增的短链接。其中,因为短链接由10个数字,26个大写字母,26个小 写字母组成,共有62中可能,所以这个递增的转换为62进制的字符串。另 外,服务器需要以用户的长链接为key,建立一个用户短链接到长链接的映 射。对于expire time=-1的请求,这个生成的短链接长期有效,不做回收; 当expire time为大于0的整数时,代表这个短链接需要进行回收,以便满 足用户对于数据失效的要求。
步骤203,当用户通过服务器分配的短链接向对象存储集发送下载请 求时,与下载请求对应的短链接是否存在于数据库中执行查操作。
本实施例中,当用户通过短链接发起下载请求时,存储集收到请求之 后,先到数据库中查此短链接,如果没有到,则可能是此短链接没有被 用户认证,或者此短链接已经失效,对于上述两种情况,都直接返回404, 错误界面;如果到了短链接,则直接重定向到对象的长链接中去。
步骤204,启动线程,查数据库中为失效状态的短链接,并从数据库 中进行删除。
本实施例中,后台会启动一个失效线程,寻数据库中已经达到超时的 链接,并从数据库中删除。
基于同一发明构思,在一个实施例中,还提出一种对象存储装置。如图 3,该对象存储装置10包括发送模块200、获取模块400和查模块600。
其中,发送模块200用于将通过短链接应用程序接口接收到的申请请求 发送至服务器;获取模块400用于获取服务器分配的与申请请求对应的短链 接;查模块600用于当对象存储集收到通过短链接发送的下载请求时, 在对象存储集的数据库中对短链接执行查操作。
此外,如图4,在一个实施例中,还包括:设置模块100用于对短链接 应用程序接口中的参数进行设置;其中,参数为容器名称参数,向容器名称 参数中的容器上传一个具有预设对象名称的对象。
另外,如图4,在一个实施例中,获取模块400包括:第一获取模块410 和第二获取模块420。其中,第一获取模块410用于获取服务器以用户的长 链接为key,建立的针对一个用户的短链接到长链接的映射;第二获取模块 420用于获取服务器通过递增方式增加申请请求为用户分配一个递增的短链 接。
进一步的,如图4,在一个实施例中,查模块600包括:跳转模块610 和重定向模块620。
其中,跳转模块610用于如果在对象存储集的数据库中没有查到与 下载请求对应的短链接,则跳转到错误界面,其中,短链接为失效状态或未 被用户执行认证操作状态均执行跳转到错误界面操作;重定向模块620用于 如果在对象存储集的数据库中查获到与下载请求对应的短链接,则重定向 到具有预设对象名称的对象的长链接中。
更进一步的,如图4,在一个实施例中,还包括:删除模块611用于启 动线程,查对象存储集的数据库中为失效状态的短链接,并从对象存储 集的数据库中进行删除。
上述对象存储装置,发送模块200将通过短链接应用程序接口接收到的 申请请求发送至服务器;获取模块400获取服务器分配的与申请请求对应的 短链接;查模块600当对象存储集收到通过短链接发送的下载请求时, 在对象存储集的数据库中对短链接执行查操作。上述对象存储装置不仅 可以使用户得到短链接,便于使用,同时,还可以支持用户对短链接设置失 效时间,方便灵活。
应当理解的是,本公开的上述具体实施方式仅仅用于示例性说明或解释 本公开的原理,而不构成对本公开的限制。因此,在不偏离本公开的精神和 范围的情况下所做的任何修改、等同替换、改进等,均应包含在本公开的保 护范围之内。此外,本公开所附权利要求旨在涵盖落入所附权利要求范围和 边界、或者这种范围和边界的等同形式内的全部变化和修改例。
本文发布于:2023-04-14 22:46:31,感谢您对本站的认可!
本文链接:https://patent.en369.cn/patent/2/86485.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |