CN106027615A - 对象存储方法和*** - Google Patents
对象存储方法和*** Download PDFInfo
- Publication number
- CN106027615A CN106027615A CN201610305987.7A CN201610305987A CN106027615A CN 106027615 A CN106027615 A CN 106027615A CN 201610305987 A CN201610305987 A CN 201610305987A CN 106027615 A CN106027615 A CN 106027615A
- Authority
- CN
- China
- Prior art keywords
- memory space
- request
- storage
- compression
- client
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本公开提供的对象存储方法,应用于云端数据存储,包括:建立从客户端到云存储端的通信连接;接收所述客户端的存储空间创建请求,所述存储空间创建请求包括存储空间标识符和压缩配置;根据所述存储空间创建请求创建存储空间;接收所述客户端的对象上载请求,所述对象上载请求包括至少一个对象及第一存储空间标识符;获得所述第一存储空间标识符对应的所述存储空间的压缩配置;以及根据所述压缩配置将所述至少一个对象压缩后存储到所述第一存储空间标识符对应的所述存储空间。通过用户的压缩配置压缩该用户上载的对象,从而节省存储空间。将压缩选择交给用户,云存储端提供接口,使用户能够进行个性化设置。
Description
技术领域
本公开涉及云存储领域,具体涉及一种对象存储方法和***。
背景技术
对象存储在互联网的大潮中受到了广发关注,并得到了迅速的发展。对象存储与文件存储不同,对象不以目录分层的结构进行组织。每个对象都位于被称为存储池的扁平的空间的相同层级,每一级的每个元素在存储***中都有唯一的标识,用户通过这个标识来访问容器或者对象。采用扁平的数据组织结构抛弃了嵌套的文件夹,避免维护庞大的目录树。在大数据和互联网时代,存储的文件/对象超过上百万个,单位时间内的访问次数和并发访问量也达到了前所未有的量级,在这种情况下,目录树会给存储***带来很大的开销和诸多问题,成为***的瓶颈。另外一个让对象存储焕发生命力的因素是,对象存储不再提供POSIX兼容的接口(如open,close,read,write等),而是可以非常方便地通过HTTPRestful API接口和对象进行交互:通过PUT和GET进行上传下载,通过DELETE进行删除。
在进行对象存储时,用户首先需要为对象申请一个存储空间(bucket),然后将对象上载到一个存储空间(bucket)中,供后续下载使用。有时用户将存储空间中的全部文件打包进行下载,比如用户在每一年的第一天把对象存储中的全部文件下载下来,打包并存档到自己的磁盘中,以便进行备份。此时用户需要遍历其整个存储空间,并且把整个文件下载下来再进行打包,这样非常耗费流量和时间,特别是在网络环境不好的情况下。另外一种场景是,用户上载的一些数据仅仅是作为一个在线的备份手段,很少使用,但却占用了较多的存储区,因而导致存储区的利用率不高。
发明内容
有鉴于此,本公开提供一种对象存储方法,以解决上述问题。
根据本公开的第一方面,本公开提供一种对象存储方法,应用于云端数据存储,包括:建立从客户端到云存储端的通信连接,接收所述客户端的存储空间创建请求,所述存储空间创建请求包括存储空间标识符和压缩配置;根据所述存储空间创建请求创建存储空间;接收所述客户端的对象上载请求,所述对象上载请求包括至少一个对象及第一存储空间标识符;获得所述第一存储空间标识符对应的所述存储空间的压缩配置;以及根据所述压缩配置将所述至少一个对象压缩后存储到所述第一存储空间标识符对应的所述存储空间。
优选地,所述压缩配置包括:是否压缩及压缩算法。
优选地,还包括:根据所述压缩算法将所述至少一个对象的每一对象分别压缩。
优选地,还包括:接收所述客户端的对象压缩请求;以及根据所述对象压缩请求进行对象压缩。
优选地,还包括:将对象压缩后的文件名返回给所述客户端。
优选地,还包括:接收所述客户端的下载请求,所述下载请求中包括对象压缩后的文件名;以及将所述文件名对应的压缩包返回给所述客户端。
优选地,所述存储空间创建请求和所述对象上载请求为HTTP请求。
根据本公开的第二方面,本公开提供一种对象存储***,包括多个客户端和云存储端,所述客户端包括:和所述云存储端建立通信连接;提交存储空间创建请求和对象上载请求;所述云存储端包括:建立和所述客户端的通信连接;接收所述客户端的存储空间创建请求,所述存储空间创建请求包括存储空间标识符和压缩配置;根据所述存储空间创建请求创建存储空间;接收对象上载请求,所述对象上载请求包括至少一个对象及第一存储空间标识符;获得所述第一存储空间标识符对应的所述存储空间的压缩配置;以及根据所述压缩配置将所述至少一个对象压缩后存储到所述第一存储空间标识符对应的所述存储空间。
优选地,所述压缩配置包括:是否压缩及压缩算法。
优选地,还包括:根据所述压缩算法将所述至少一个对象的每一对象分别压缩。
本公开提供的对象存储方法和对象存储***,通过用户的压缩配置压缩该用户上载的对象,从而节省存储空间。将压缩选择交给用户,云存储端提供接口,使用户能够进行个性化设置。另外一点是,对象存储集群通常都具有较强的计算能力,如果能够帮助用户进行数据压缩工作,也能够充分利用现有资源。
附图说明
通过参照以下附图对本公开实施例的描述,本公开的上述以及其它目的、特征和优点将更为清楚,在附图中:
图1是根据本公开实施例的对象存储***的示意图;
图2是根据本公开实施例的对象存储方法的流程图;
图3是根据本公开实施例的客户端和云存储端建立通信连接的示意图。
具体实施方式
以下基于实施例对本公开进行描述,但是本公开并不仅仅限于这些实施例。在下文对本公开的细节描述中,详尽描述了一些特定的细节部分。对本领域技术人员来说没有这些细节部分的描述也可以完全理解本公开。为了避免混淆本公开的实质,公知的方法、过程、流程没有详细叙述。另外附图不一定是按比例绘制的。
在本公开的描述中,需要理解的是,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。
图1是根据本公开实施例的对象存储***的示意图。所述对象***包括客户端100和云存储端101。这里,客户端可以是一个手机APP,或视频***、电商***的前端程序或后台程序。云存储端则为包括软硬件结合的云服务***。
客户端100和云存储端101建立通信连接,通过该通信连接发送存储空间创建请求,云存储端接收到该请求后,创建对应的存储空间。这里,可以把云存储端的存储区域看做一个网络SAN(Storage Area Network),即一个集中式管理的高速存储网络,由多供应商存储***、存储管理软件、应用程序服务器和网络硬件组成。存储空间(bucket)可以理解为对象容器,云存储端将存储区域分为若干存储空间(bucket)。从存储空间创建请求中提取用户ID等信息,为该用户申请一个存储空间(bucket)。云存储端101接着接收客户端的对象上载请求,从该上载请求中提取用户ID、数字对象和存储空间标识符,将数字对象的数据进行压缩后存储到存储空间标识符对应的存储空间中。
优选地,该对象存储***还包括一个用于存储存储空间和对象索引数据的文件***,通过存储空间标识符检索文件***能够获得存储空间的位置。
优选地,云存储端具有多个数据存储节点,在客户端提交存储空间创建请求时,指定一个存储空间(bucket)所使用的存储节点。例如,一个云存储***在北京、杭州等地区都有存储节点,默认使用本地的存储节点(或最近的存储节点),从而最优化延迟,最小化费用或者满足监管要求等。在图1中,102是存储区域的示意图例,102包括1~n个存储空间(bucket),每个存储空间(bucket)则分别包括多个对象。
图2是根据本公开实施例的对象存储方法的流程图。所述方法包括步骤201~206。
在步骤201中,建立云存储端和客户端的连接。
具体客户端和云存储端的安全通信连接的建立过程可参考图3的示意图。图3示出了一个手机APP和云存储端建立安全通信连接的过程。标记30为客户端,标记31为权限管理服务器,通过客户端访问权限管理服务器。当需要进行云端存储时,客户端通过步骤301向权限管理服务器发送一个云端授权请求,权限管理服务器接收后,向云存储端转发,云存储端进行校验后,返回临时授权ID或访问令牌(Access token),权限管理服务器接收到该授权ID或访问令牌,返回给客户端。客户端将该授权ID或访问令牌缓存在本地,并通过该授权ID或访问令牌和云存储端进行通信连接。为了保证授权ID或访问令牌不被滥用或窃取,该类授权ID或访问令牌一般都设有时间限制,过了预定时间自动失效。
在步骤202中,从客户端接收存储空间创建请求。
在步骤203中,根据存储空间创建请求创建存储空间。
在通信连接建立后,客户端向云存储端发送存储空间创建请求。云存储端根据创建请求申请为该用户申请存储空间。
在步骤204中,从客户端接收对象上载请求。
在步骤205中,获得第一存储空间标识符对应的存储空间的压缩配置。
在步骤206中,根据压缩配置将至少一个对象压缩后存储到所述第一存储空间标识符对应的存储空间。
接收客户端的对象上载请求,对象上载请求中包括指定存储的存储空间标识符、对象数据等。根据指定存储的存储空间标识符查找对应的存储空间,得到该存储空间的位置以及配置信息,例如压缩配置,根据压缩配置信息将对象压缩后存储到对应的存储空间中。配置信息在存储空间创建时由根据存储空间创建请求生成。
优选地,客户端可以显式地要求对云存储端将文件压缩,即客户端提交一个压缩请求,云存储端根据压缩请求压缩数据。如果涉及到多个对象的压缩,可以针对每个对象分别压缩。或者将所有的对象压缩为一个大的压缩文件。然后客户端在根据压缩文件名称生成下载请求,下载该压缩文件。另外,在下载后,客户端可以提交删除请求删除不再需要的压缩包,以节省空间。
在上述的对象存储方法或对象存储***的实例中,压缩配置在创建存储空间时生成,也可以存储空间创建后对默认的压缩配置进行修改。如果存储空间由非压缩变为压缩,则云存储端通过守护进程或定时程序实现该存储空间下的对象数据的压缩。压缩配置里起码包括是否压缩以及压缩算法。
本公开提供的对象存储方法和对象存储***,通过用户的压缩配置压缩该用户上载的对象,从而节省存储空间。将压缩选择交给用户,云存储端提供接口,使用户能够进行个性化设置。另外一点是,对象存储集群通常都具有较强的计算能力,如果能够帮助用户进行数据压缩工作,也能够充分利用现有资源。
附图中的流程图、框图图示了本公开实施例的***、方法、装置的可能的体系框架、功能和操作,流程图和框图上的方框可以代表一个、程序段或仅仅是一段代码,所述、程序段和代码都是用来实现规定逻辑功能的可执行指令。也应当注意,所述实现规定逻辑功能的可执行指令可以重新组合,从而生成新的和程序段。因此附图的方框以及方框顺序只是用来更好的图示实施例的过程和步骤,而不应以此作为对发明本身的限制。
***的各个或单元可以通过硬件、固件或软件实现。软件例如包括采用JAVA、C/C++/C#、SQL等各种编程语言形成的编码程序。虽然在方法以及方法图例中给出本公开实施例的步骤以及步骤的顺序,但是所述步骤实现规定的逻辑功能的可执行指令可以重新组合,从而生成新的步骤。所述步骤的顺序也不应该仅仅局限于所述方法以及方法图例中的步骤顺序,可以根据功能的需要随时进行调整。例如将其中的某些步骤并行或按照相反顺序执行。
根据本公开的***和方法可以部署在单个或多个服务器上。例如,可以将不同的分别部署在不同的服务器上,形成专用服务器。或者,可以在多个服务器上分布式部署相同的功能单元、或***,以减轻负载压力。所述服务器包括但不限于在同一个局域网以及通过Internet连接的多个PC机、PC服务器、刀片机、超级计算机等。
以上所述仅为本公开的优选实施例,并不用于限制本公开,对于本领域技术人员而言,本公开可以有各种改动和变化。凡在本公开的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。
Claims (10)
1.一种对象存储方法,应用于云端数据存储,包括:
建立从客户端到云存储端的通信连接;
接收所述客户端的存储空间创建请求,所述存储空间创建请求包括存储空间标识符和压缩配置;
根据所述存储空间创建请求创建存储空间;
接收所述客户端的对象上载请求,所述对象上载请求包括至少一个对象及第一存储空间标识符;
获得所述第一存储空间标识符对应的所述存储空间的压缩配置;以及
根据所述压缩配置将所述至少一个对象压缩后存储到所述第一存储空间标识符对应的所述存储空间。
2.根据权利要求1所述的对象存储方法,其中,所述压缩配置包括:是否压缩及压缩算法。
3.根据权利要求2所述的对象存储方法,还包括:
根据所述压缩算法将所述至少一个对象的每一对象分别压缩。
4.根据权利要求1所述的对象存储方法,还包括:
接收所述客户端的对象压缩请求;
以及根据所述对象压缩请求进行对象压缩。
5.根据权利要求4所述的对象存储方法,还包括:将对象压缩后的文件名返回给所述客户端。
6.根据权利要求5所述的对象存储方法,还包括:接收所述客户端的下载请求,所述下载请求中包括对象压缩后的文件名;以及将所述文件名对应的压缩包返回给所述客户端。
7.根据权利要求1所述的对象存储方法,所述存储空间创建请求和所述对象上载请求为HTTP请求。
8.一种对象存储***,包括多个客户端和云存储端,
所述客户端包括:
和所述云存储端建立通信连接;
提交存储空间创建请求和对象上载请求;
所述云存储端包括:
建立和所述客户端的通信连接;
接收所述客户端的存储空间创建请求,所述存储空间创建请求包括存储空间标识符和压缩配置;
根据所述存储空间创建请求创建存储空间;
接收对象上载请求,所述对象上载请求包括至少一个对象及第一存储空间标识符;
获得所述第一存储空间标识符对应的所述存储空间的压缩配置;以及
根据所述压缩配置将所述至少一个对象压缩后存储到所述第一存储空间标识符对应的所述存储空间。
9.根据权利要求8所述的对象存储***,其中,所述压缩配置包括:是否压缩及压缩算法。
10.根据权利要求9所述的对象存储***,所述云存储端还包括:
根据所述压缩算法将所述至少一个对象的每一对象分别压缩。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610305987.7A CN106027615A (zh) | 2016-05-10 | 2016-05-10 | 对象存储方法和*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610305987.7A CN106027615A (zh) | 2016-05-10 | 2016-05-10 | 对象存储方法和*** |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106027615A true CN106027615A (zh) | 2016-10-12 |
Family
ID=57100188
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610305987.7A Pending CN106027615A (zh) | 2016-05-10 | 2016-05-10 | 对象存储方法和*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106027615A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107911461A (zh) * | 2017-11-24 | 2018-04-13 | 网宿科技股份有限公司 | 云存储***中的对象处理方法、存储服务器及云存储*** |
CN108234552A (zh) * | 2016-12-15 | 2018-06-29 | 腾讯科技(深圳)有限公司 | 一种数据存储方法及装置 |
CN109271113A (zh) * | 2018-09-28 | 2019-01-25 | 武汉烽火众智数字技术有限责任公司 | 一种基于云存储的数据管理***及方法 |
CN109361689A (zh) * | 2018-11-19 | 2019-02-19 | 郑州云海信息技术有限公司 | 一种基于对象存储的用户创建方法及装置 |
CN111587417A (zh) * | 2017-11-09 | 2020-08-25 | 瑞典爱立信有限公司 | 用于数据存储的方法、设备、计算机程序和计算机程序产品 |
CN112214482A (zh) * | 2019-07-10 | 2021-01-12 | 阿里巴巴集团控股有限公司 | 数据处理方法、装置、安全芯片、存储介质及计算机设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102546242A (zh) * | 2011-12-23 | 2012-07-04 | 广东步步高电子工业有限公司 | 一种基于云服务器数据备份和***恢复的方法及*** |
CN102651775A (zh) * | 2012-03-05 | 2012-08-29 | 国家超级计算深圳中心(深圳云计算中心) | 基于云计算的多租户共享对象管理的方法、设备及*** |
CN103685342A (zh) * | 2012-08-31 | 2014-03-26 | 百度在线网络技术(北京)有限公司 | 个人云存储数据中心和云数据存储的方法 |
WO2014138882A1 (en) * | 2013-03-13 | 2014-09-18 | Jumpto Media Inc. | Encrypted network storage space |
CN104462422A (zh) * | 2014-12-15 | 2015-03-25 | 北京百度网讯科技有限公司 | 对象的处理方法及装置 |
CN104796155A (zh) * | 2012-05-30 | 2015-07-22 | 北京奇虎科技有限公司 | 数据压缩方法及装置 |
-
2016
- 2016-05-10 CN CN201610305987.7A patent/CN106027615A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102546242A (zh) * | 2011-12-23 | 2012-07-04 | 广东步步高电子工业有限公司 | 一种基于云服务器数据备份和***恢复的方法及*** |
CN102651775A (zh) * | 2012-03-05 | 2012-08-29 | 国家超级计算深圳中心(深圳云计算中心) | 基于云计算的多租户共享对象管理的方法、设备及*** |
CN104796155A (zh) * | 2012-05-30 | 2015-07-22 | 北京奇虎科技有限公司 | 数据压缩方法及装置 |
CN103685342A (zh) * | 2012-08-31 | 2014-03-26 | 百度在线网络技术(北京)有限公司 | 个人云存储数据中心和云数据存储的方法 |
WO2014138882A1 (en) * | 2013-03-13 | 2014-09-18 | Jumpto Media Inc. | Encrypted network storage space |
CN104462422A (zh) * | 2014-12-15 | 2015-03-25 | 北京百度网讯科技有限公司 | 对象的处理方法及装置 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108234552A (zh) * | 2016-12-15 | 2018-06-29 | 腾讯科技(深圳)有限公司 | 一种数据存储方法及装置 |
CN108234552B (zh) * | 2016-12-15 | 2021-11-05 | 腾讯科技(深圳)有限公司 | 一种数据存储方法及装置 |
CN111587417A (zh) * | 2017-11-09 | 2020-08-25 | 瑞典爱立信有限公司 | 用于数据存储的方法、设备、计算机程序和计算机程序产品 |
CN107911461A (zh) * | 2017-11-24 | 2018-04-13 | 网宿科技股份有限公司 | 云存储***中的对象处理方法、存储服务器及云存储*** |
CN109271113A (zh) * | 2018-09-28 | 2019-01-25 | 武汉烽火众智数字技术有限责任公司 | 一种基于云存储的数据管理***及方法 |
CN109271113B (zh) * | 2018-09-28 | 2022-03-29 | 武汉烽火众智数字技术有限责任公司 | 一种基于云存储的数据管理***及方法 |
CN109361689A (zh) * | 2018-11-19 | 2019-02-19 | 郑州云海信息技术有限公司 | 一种基于对象存储的用户创建方法及装置 |
CN112214482A (zh) * | 2019-07-10 | 2021-01-12 | 阿里巴巴集团控股有限公司 | 数据处理方法、装置、安全芯片、存储介质及计算机设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106027615A (zh) | 对象存储方法和*** | |
CN106294585B (zh) | 一种云计算平台下的存储方法 | |
JP7221975B2 (ja) | マルチマスタ分散データ管理システムにおけるトランザクション処理 | |
KR101583356B1 (ko) | 홈 게이트웨이를 통해 클라우드 스토리지를 이용하는 방법 및 이에 사용되는 홈 게이트웨이 | |
CN106156359B (zh) | 一种云计算平台下的数据同步更新方法 | |
Zeng et al. | Research on cloud storage architecture and key technologies | |
US8489654B2 (en) | Method and system for forming a virtual file system at a computing device | |
CN109739815B (zh) | 文件处理方法、***、装置、设备及存储介质 | |
CN102790760B (zh) | 安全网盘***中一种基于目录树的数据同步方法 | |
CN105930233B (zh) | 对指定公有云账户的数据进行分别自动备份的方法及*** | |
US10467424B2 (en) | File system content based security | |
CN102833298A (zh) | 分布式的重复数据删除***及其处理方法 | |
US20190245912A1 (en) | Optimizing internet data transfers using an intelligent router agent | |
CN103067479A (zh) | 一种基于文件冷热的网盘同步方法及*** | |
CN103780676A (zh) | 一种文件传输方法、设备和*** | |
CN106294870A (zh) | 基于对象的分布式云存储方法 | |
CN105956491A (zh) | 对公有云存储***的数据进行多账号备份的方法及*** | |
CN106027295A (zh) | 静态网站的托管方法和托管*** | |
US10691643B2 (en) | Deduplication for files in cloud computing storage and communication tools | |
US10949393B2 (en) | Object deletion in distributed computing environments | |
US20200117724A1 (en) | Fast data deduplication in distributed data protection environment | |
Nguyen et al. | BFC: High-performance distributed big-file cloud storage based on key-value store | |
CN105915524A (zh) | 对象管理方法和对象管理*** | |
CN105930506A (zh) | 对象检索方法和对象存储*** | |
Dziech et al. | A distributed architecture for multimedia file storage, analysis and processing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20161012 |