CN107070946A - 基于openstack实现的云存储系统 - Google Patents
基于openstack实现的云存储系统 Download PDFInfo
- Publication number
- CN107070946A CN107070946A CN201710356945.0A CN201710356945A CN107070946A CN 107070946 A CN107070946 A CN 107070946A CN 201710356945 A CN201710356945 A CN 201710356945A CN 107070946 A CN107070946 A CN 107070946A
- Authority
- CN
- China
- Prior art keywords
- service
- keystone
- layers
- swift
- cloud storage
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/11—File system administration, e.g. details of archiving or snapshots
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/13—File access structures, e.g. distributed indices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/083—Network architectures or network communication protocols for network security for authentication of entities using passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
-
- 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]
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开基于openstack实现的云存储系统,涉及计算机云计算存储领域,其系统架构主要包括服务端和客户端,所述服务端分为Swift资源层和Keystone服务层,分别用于提供数据存储和身份认证服务;客户端分为表示层和逻辑层;这四个层协同工作共同组成完整的云存储系统。本发明通过结合swift和keystone构建存储系统,提供了安全的访问控制机制,从而解决了GB级大文件的存储问题,适于存储任意大小的数据,同时设计实现了符合用户使用习惯的资源管理模式。
Description
技术领域
本发明涉及计算机云计算存储领域,具体的说是基于openstack实现的云存储系统。
背景技术
在云计算、大数据、存储管理等方面,数据总量急剧增长,同时,数据作为企业、研究机构、政府的核心资产,如果数据损坏或者丢失,将会带来极大的损失。为了解决GB级至TB级之间的数据的安全存储问题,本发明提出了一种基于openstack实现的云存储系统,利用开源云计算平台openstack的对象存储服务Swift和身份认证服务Keystone联合构建云存储系统,来实现安全的访问控制机制。
Openstack是一个旨在为公共及私有云的建设与管理提供软件的开源项目。它支持几乎所有类型的云环境,其首要任务是简化云的部署过程并为其带来良好的可扩展性。Openstack覆盖了网络、虚拟化、操作系统、服务器等各个方面,因open而开放,因组件而灵活,因包容而博大,拥有计算、网络、对象存储、块存储、身份、镜像服务、门户、测量、部署编排、数据库服务等组件。
Openstack的子项目swift是由Rackspace公司开发的分布式对象存储服务,使得openstack云计算平台提供虚拟机镜像存储服务,具有强大的扩展性、冗余性和持久性。Swift通过在软件层引入一致性散列技术和数据冗余技术牺牲一定程度的数据一致性,在廉价的硬件设备上构建高可用性和可伸缩性的分布式对象存储服务。Swift是一个对象存储系统,所以数据以“对象”的形式组织。
Keystone用于对openstack的其他服务提供授权服务,它主要包含两个功能:管理用户以及用户权限,提供服务的目录和它们的端点URL。Keystone身份认证服务中,1)用户(user)代表访问openstack云服务的人或程序;(2)租户(Tenant)代表各个服务中的可以访问的资源集合,租户可以是一个组织、一个消费者、一个项目,租户可以包含一个或多个用户,在Swift中资源时以租户为单位进行划分的;(3)角色(role)代表一组用户可以访问的资源权限。角色是在keystone中定义。
发明内容
本发明针对目前技术发展的需求和不足之处,提供基于openstack实现的云存储系统。
本发明所述基于openstack实现的云存储系统,解决上述技术问题采用的技术方案如下:所述基于openstack实现的云存储系统,利用openstack的对象存储服务Swift和身份认证服务Keystone联合构建云存储系统,其系统架构主要包括服务端和客户端,所述服务端分为Swift资源层和Keystone服务层,Swift资源层和Keystone服务层分别用于提供数据存储和身份认证服务;客户端分为表示层和逻辑层;所述Swift资源层、Keystone服务层、表示层和逻辑层协同工作,共同组成完整的云存储系统。
优选的,所述基于openstack实现的云存储系统,提供了容器-目录-对象三级资源管理;其中,所述容器管理包括查询容器列表、创建容器以及删除容器;所述目录管理包括新建目录以及删除目录;所述对象管理包括新建对象-上传文件、读取对象的数据-下载文件、删除对象以及更新对象的数据;通过该云存储系统的Keystone服务层能够进行身份认证和授权操作。
优选的,所述Keystone服务层进行身份认证和授权的具体过程包括:
步骤一,客户端通过Post请求将用户名、密码、租户名提交到Keystone服务层;
步骤二,Keystone服务层对这些信息进行验证,通过验证后将授权信息(包括TokenId、Token有效期、租户信息、用户信息和用户的角色)和服务信息(注册到keystone上的各个服务的名称、类型、端点URL)发送给客户端;
步骤三,用户根据服务信息获得Swift对象存储服务的URL,该URL和用户的账号一一对应,客户端发送携带Token的请求到该URL来操作云存储端的资源(容器或对象);
步骤四,Swift资源层收到请求后,请求Keystone服务层验证Token是否正确以及此用户是否有访问权限;
步骤五,Keystone服务层验证并返回验证信息;
步骤六,Swift资源层根据其内部的策略来验证请求,然后执行请求;
步骤七,Swift资源层将执行的结构返回给客户端。
本发明所述基于openstack实现的云存储系统,与现有技术相比具有的有益效果是:本发明通过结合swift和keystone构建存储系统,提供了安全的访问控制机制,从而解决了GB级大文件的存储问题,适于存储任意大小的数据,同时设计实现了符合用户使用习惯的资源管理模式。
附图说明
附图1为通过Keystone服务层进行身份认证和授权的示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,对本发明所述基于openstack实现的云存储系统进一步详细说明。
为了解决GB级至TB级之间的数据的安全存储问题,本发明提出了基于openstack实现的云存储系统,以开源云计算平台openstack的对象存储服务Swift和身份认证服务Keystone为基础,利用对象存储服务Swift和身份认证服务Keystone联合构建云存储系统,通过客户端和服务器的不同设计,来实现安全的访问控制机制;解决了GB级大文件的存储问题,适用于存储任意大小的数据,同时实现了符合用户使用习惯的资源管理模式。
实施例:
本实施例所述基于openstack实现的云存储系统,其系统架构主要包括服务端和客户端,所述服务端分为Swift资源层和Keystone服务层,Swift资源层和Keystone服务层分别用于提供数据存储和身份认证服务;客户端分为表示层和逻辑层;所述Swift资源层、Keystone服务层、表示层和逻辑层协同工作,共同组成完整的云存储系统。
上述基于openstack实现的云存储系统,提供了容器-目录-对象三级资源管理;其中,所述容器管理包括查询容器列表、创建容器以及删除容器;所述目录管理包括新建目录以及删除目录;所述对象管理包括新建对象-上传文件、读取对象的数据-下载文件、删除对象以及更新对象的数据。在该云存储系统中,查询资源,包括查询容器内的目录和对象列表、查询目录内的子目录和对象列表;通过其Keystone服务层能够进行身份认证和授权操作。
在该云存储系统中,通过Keystone服务层进行身份认证和授权的具体过程,附图1所示,包括如下步骤:
步骤一,客户端通过Post请求将用户名、密码、租户名提交到Keystone服务层;
步骤二,Keystone服务层对这些信息进行验证,通过验证后将授权信息(包括TokenId、Token有效期、租户信息、用户信息和用户的角色)和服务信息(注册到keystone上的各个服务的名称、类型、端点URL)发送给客户端;
步骤三,用户根据服务信息获得Swift对象存储服务的URL,该URL和用户的账号一一对应,客户端发送携带Token的请求到该URL来操作云存储端的资源(容器或对象);
步骤四,Swift资源层收到请求后,请求Keystone服务层验证Token是否正确以及此用户是否有访问权限;
步骤五,Keystone服务层验证并返回验证信息;
步骤六,Swift资源层根据其内部的策略来验证请求,然后执行请求;
步骤七,Swift资源层将执行的结构返回给客户端。
具体实施方式仅是本发明的具体个案,本发明的专利保护范围包括但不限于上述具体实施方式,任何符合本发明的权利要求书的且任何所属技术领域的普通技术人员对其所做的适当变化或替换,皆应落入本发明的专利保护范围。
Claims (5)
1.基于openstack实现的云存储系统,其特征在于, 利用openstack的对象存储服务Swift和身份认证服务Keystone联合构建云存储系统,其系统架构主要包括服务端和客户端,所述服务端分为Swift资源层和Keystone服务层,Swift资源层和Keystone服务层分别用于提供数据存储和身份认证服务;客户端分为表示层和逻辑层;所述Swift资源层、Keystone服务层、表示层和逻辑层协同工作,共同组成完整的云存储系统。
2.根据权利要求1所述基于openstack实现的云存储系统,其特征在于,所述基于openstack实现的云存储系统,提供了容器-目录-对象三级资源管理;其中,所述容器管理包括查询容器列表、创建容器以及删除容器;所述目录管理包括新建目录以及删除目录;所述对象管理包括新建对象-上传文件、读取对象的数据-下载文件、删除对象以及更新对象的数据;通过该云存储系统的Keystone服务层能够进行身份认证和授权操作。
3.根据权利要求2所述基于openstack实现的云存储系统,其特征在于,所述Keystone服务层进行身份认证和授权的具体过程包括:
步骤一,客户端通过Post请求将用户名、密码、租户名提交到Keystone服务层;
步骤二,Keystone服务层对这些信息进行验证,通过验证后将授权信息和服务信息发送给客户端;
步骤三,用户根据服务信息获得Swift对象存储服务的URL,该URL和用户的账号一一对应,客户端发送携带Token的请求到该URL来操作云存储端的资源-容器或对象;
步骤四,Swift资源层收到请求后,请求Keystone服务层验证Token是否正确以及此用户是否有访问权限;
步骤五,Keystone服务层验证并返回验证信息;
步骤六,Swift资源层根据其内部的策略来验证请求,然后执行请求;
步骤七,Swift资源层将执行的结构返回给客户端。
4.根据权利要求3所述基于openstack实现的云存储系统,其特征在于,所述步骤三中,授权信息包括Token Id、Token有效期、租户信息、用户信息和用户的角色。
5.根据权利要求3所述基于openstack实现的云存储系统,其特征在于, 所述步骤三中,服务信息包括注册到keystone上的各个服务的名称、类型、端点URL。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710356945.0A CN107070946A (zh) | 2017-05-19 | 2017-05-19 | 基于openstack实现的云存储系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710356945.0A CN107070946A (zh) | 2017-05-19 | 2017-05-19 | 基于openstack实现的云存储系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107070946A true CN107070946A (zh) | 2017-08-18 |
Family
ID=59609445
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710356945.0A Pending CN107070946A (zh) | 2017-05-19 | 2017-05-19 | 基于openstack实现的云存储系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107070946A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108170777A (zh) * | 2017-12-26 | 2018-06-15 | 郑州云海信息技术有限公司 | 一种分布式文件系统 |
CN108415962A (zh) * | 2018-02-06 | 2018-08-17 | 国家电网公司 | 一种云存储系统 |
CN108881218A (zh) * | 2018-06-14 | 2018-11-23 | 山东超越数控电子股份有限公司 | 一种基于云存储管理平台的数据安全增强方法及系统 |
CN109104442A (zh) * | 2018-10-25 | 2018-12-28 | 南京燚麒智能科技有限公司 | 一种安全访问云存储数据的方法和系统 |
CN109240610A (zh) * | 2018-08-24 | 2019-01-18 | 郑州云海信息技术有限公司 | 一种对接分布式对象存储服务配额实现方法及系统 |
CN109587233A (zh) * | 2018-11-28 | 2019-04-05 | 深圳前海微众银行股份有限公司 | 多云容器管理方法、设备及计算机可读存储介质 |
CN116055082A (zh) * | 2022-08-17 | 2023-05-02 | 广东德尔智慧工厂科技有限公司 | 一种基于OpenStack的用户管理方法及管理系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102685148A (zh) * | 2012-05-31 | 2012-09-19 | 清华大学 | 一种云存储环境下的安全网盘系统的实现方法 |
US20160191509A1 (en) * | 2014-12-31 | 2016-06-30 | Nexenta Systems, Inc. | Methods and Systems for Key Sharding of Objects Stored in Distributed Storage System |
CN106453395A (zh) * | 2016-11-16 | 2017-02-22 | 航天信息股份有限公司 | 一种云平台资源访问权限的分级管理方法及系统 |
-
2017
- 2017-05-19 CN CN201710356945.0A patent/CN107070946A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102685148A (zh) * | 2012-05-31 | 2012-09-19 | 清华大学 | 一种云存储环境下的安全网盘系统的实现方法 |
US20160191509A1 (en) * | 2014-12-31 | 2016-06-30 | Nexenta Systems, Inc. | Methods and Systems for Key Sharding of Objects Stored in Distributed Storage System |
CN106453395A (zh) * | 2016-11-16 | 2017-02-22 | 航天信息股份有限公司 | 一种云平台资源访问权限的分级管理方法及系统 |
Non-Patent Citations (1)
Title |
---|
邵珠兴: "基于openstack的云存储系统的研究与设计", 《中国优秀硕士学位论文全文数据库》 * |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108170777A (zh) * | 2017-12-26 | 2018-06-15 | 郑州云海信息技术有限公司 | 一种分布式文件系统 |
CN108415962A (zh) * | 2018-02-06 | 2018-08-17 | 国家电网公司 | 一种云存储系统 |
CN108881218A (zh) * | 2018-06-14 | 2018-11-23 | 山东超越数控电子股份有限公司 | 一种基于云存储管理平台的数据安全增强方法及系统 |
CN108881218B (zh) * | 2018-06-14 | 2021-07-06 | 超越科技股份有限公司 | 一种基于云存储管理平台的数据安全增强方法及系统 |
CN109240610A (zh) * | 2018-08-24 | 2019-01-18 | 郑州云海信息技术有限公司 | 一种对接分布式对象存储服务配额实现方法及系统 |
CN109240610B (zh) * | 2018-08-24 | 2021-08-06 | 郑州云海信息技术有限公司 | 一种对接分布式对象存储服务配额实现方法及系统 |
CN109104442A (zh) * | 2018-10-25 | 2018-12-28 | 南京燚麒智能科技有限公司 | 一种安全访问云存储数据的方法和系统 |
CN109587233A (zh) * | 2018-11-28 | 2019-04-05 | 深圳前海微众银行股份有限公司 | 多云容器管理方法、设备及计算机可读存储介质 |
CN109587233B (zh) * | 2018-11-28 | 2021-08-17 | 深圳前海微众银行股份有限公司 | 多云容器管理方法、设备及计算机可读存储介质 |
CN116055082A (zh) * | 2022-08-17 | 2023-05-02 | 广东德尔智慧工厂科技有限公司 | 一种基于OpenStack的用户管理方法及管理系统 |
CN116055082B (zh) * | 2022-08-17 | 2023-11-28 | 广东德尔智慧科技股份有限公司 | 一种基于OpenStack的用户管理方法及管理系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107070946A (zh) | 基于openstack实现的云存储系统 | |
CN107728941B (zh) | 一种区块链数据压缩方法及系统 | |
CN102651775B (zh) | 基于云计算的多租户共享对象管理的方法、设备及系统 | |
US9047462B2 (en) | Computer account management system and realizing method thereof | |
US8195743B2 (en) | Extensible and programmable multi-tenant service architecture | |
CN102761551B (zh) | 多级跨域访问控制系统及控制方法 | |
CN110032571A (zh) | 业务流程处理方法、装置、存储介质及计算设备 | |
CN109791594A (zh) | 为了在多个不可变数据结构上持续存储而对数据进行分段 | |
CN106127064B (zh) | 用于企业供应链的数据存储方法 | |
CN109565511A (zh) | 用于多租户身份和数据安全管理云服务的租户和服务管理 | |
US20080034438A1 (en) | Multiple hierarchy access control method | |
CN104394141A (zh) | 一种基于分布式文件系统的统一认证方法 | |
CN105357201A (zh) | 一种对象云存储访问控制方法和系统 | |
CN103095720B (zh) | 一种基于会话管理服务器的云存储系统的安全管理方法 | |
CN102457555A (zh) | 一种分布式存储的安全系统及方法 | |
CN109525570A (zh) | 一种面向集团客户的数据分层安全访问控制方法 | |
US11886425B2 (en) | Blockchain registry scaling | |
CN109472576A (zh) | 数字资产的处理方法及装置、存储介质 | |
CN106559389A (zh) | 一种服务资源发布、调用方法、装置、系统及云服务平台 | |
AU2018256929B2 (en) | Systems and methods for identity atomization and usage | |
CN109995791A (zh) | 一种数据授权方法及系统 | |
CN107770146A (zh) | 一种用户数据权限控制方法及装置 | |
US9154296B1 (en) | Secure and anonymous distributed authentication | |
Singh et al. | Ring signature and improved multi‐transaction mode consortium blockchain‐based private information retrieval for privacy‐preserving smart parking system | |
CN110119396A (zh) | 数据管理方法及相关产品 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170818 |