CN109240610A - 一种对接分布式对象存储服务配额实现方法及*** - Google Patents
一种对接分布式对象存储服务配额实现方法及*** Download PDFInfo
- Publication number
- CN109240610A CN109240610A CN201810973534.0A CN201810973534A CN109240610A CN 109240610 A CN109240610 A CN 109240610A CN 201810973534 A CN201810973534 A CN 201810973534A CN 109240610 A CN109240610 A CN 109240610A
- Authority
- CN
- China
- Prior art keywords
- quota
- storage service
- distributed objects
- metadata
- objects 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.)
- Granted
Links
Classifications
-
- 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/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0631—Configuration or reconfiguration of storage systems by allocating resources to storage systems
-
- 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/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
- G06F3/0607—Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
-
- 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]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Multi Processors (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明涉及存储技术领域,提供一种对接分布式对象存储服务配额实现方法及***,当OpenStack平台与分布式对象存储服务***对接正常时,控制通过swfit接口向对象存储***发送配额请求信息;对接收到的所述swfit接口发送的配额请求信息进行解析,获取所述配额请求信息中所包含的配额关键信息,并修改预先新增的对应的配额元数据的配额关键信息值;将获取到的配额关键信息写入s3配额机制内,从而实现对swift配额机制与s3配额机制的结合,减少了***代码量,降低引入中间组件带来的bug风险,同时也提升***运行的稳定性。
Description
技术领域
本发明涉及存储技术领域,具体为一种对接分布式对象存储服务配额实现方法及***。
背景技术
Swift组件是Openstack的对象存储解决方案。在早期的版本中,swift对于配额是没有限制的,不能够对不同用户所使用的空间进行限制。后来出现了开源的中间组件swquota可以对swift做出配额的限制,近些年发布的Grizzly版本的Openstack中,swift集成了swquota中间件,以满足swift的配额功能。
上述新版本中的swift中的配额主要体现在桶配额与用户配额两个功能上,分别是对Container和Account上传文件的大小、个数等方面进行限制,使用此功能前需要执行一些相关服务配置,然后重启swift生效。。
但是,目前的配额方式需要引入中间组件,增加了整个配额代码量,而且可能存在bug风险,降低***的稳定性。
发明内容
为了克服上述所指出的现有技术的缺陷,本发明人对此进行了深入研究,在付出了大量创造性劳动后,从而完成了本发明。
具体而言,本发明所要解决的技术问题是:提供一种对接分布式对象存储服务配额实现方法,旨在解决现有技术提供的对接分布式对象存储服务配额方式需要引入中间组件,增加了整个配额代码量,而且可能存在bug风险,降低***的稳定性的技术问题。
为解决上述技术问题,本发明的技术方案是:
一种对接分布式对象存储服务配额实现方法,所述方法包括下述步骤:
当OpenStack平台与分布式对象存储服务***对接正常时,控制通过swfit接口向对象存储***发送配额请求信息;
对接收到的所述swfit接口发送的配额请求信息进行解析,获取所述配额请求信息中所包含的配额关键信息,并修改预先新增的对应的配额元数据的配额关键信息值;
将获取到的配额关键信息写入s3配额机制内。
作为一种改进的方案,所述方法还包括下述步骤:
预先在对象存储服务***中新增配额元数据,所述配额元数据包括Account配额元数据、Container配额元数据和配额使能开关元数据。
作为一种改进的方案,所述方法还包括下述步骤:
根据OpenStack平台的工程信息,在分布式对象存储服务***里集成OpenStack相关配置,控制在OpenStack平台和分布式对象存储服务***之间建立通信对接关联关系。
作为一种改进的方案,所述方法还包括下述步骤:
在所述分布式对象存储服务***,接收输入的配额下发及配合功能生效查询指令;
根据所述配额下发及配合功能生效查询指令,查询所述配额元数据中的配额关键信息值,以判断配额下发状态以及配额功能的生效状态。
本发明的另一目的在于提供一种对接分布式对象存储服务配额实现***,其特征在于,所述***包括:
配额请求信息发送模块,用于当OpenStack平台与分布式对象存储服务***对接正常时,控制通过swfit接口向对象存储***发送配额请求信息;
解析模块,用于对接收到的所述swfit接口发送的配额请求信息进行解析,获取所述配额请求信息中所包含的配额关键信息;
配额关键信息值修改模块,用于修改预先新增的对应的配额元数据的配额关键信息值;
配额关键信息写入模块,用于将获取到的配额关键信息写入s3配额机制内。
作为一种改进的方案,所述***还包括:
配额元数据新增模块,用于预先在对象存储服务***中新增配额元数据,所述配额元数据包括Account配额元数据、Container配额元数据和配额使能开关元数据。
作为一种改进的方案,所述***还包括:
集成模块,用于根据OpenStack平台的工程信息,在分布式对象存储服务***里集成OpenStack相关配置,控制在OpenStack平台和分布式对象存储服务***之间建立通信对接关联关系。
作为一种改进的方案,所述***还包括:
查询指令接收模块,用于在所述分布式对象存储服务***,接收输入的配额下发及配合功能生效查询指令;
状态查询模块,用于根据所述配额下发及配合功能生效查询指令,查询所述配额元数据中的配额关键信息值,以判断配额下发状态以及配额功能的生效状态。
在本发明实施例中,当OpenStack平台与分布式对象存储服务***对接正常时,控制通过swfit接口向对象存储***发送配额请求信息;对接收到的所述swfit接口发送的配额请求信息进行解析,获取所述配额请求信息中所包含的配额关键信息,并修改预先新增的对应的配额元数据的配额关键信息值;将获取到的配额关键信息写入s3配额机制内,从而实现对swift配额机制与s3配额机制的结合,减少了***代码量,降低引入中间组件带来的bug风险,同时也提升***运行的稳定性。
附图说明
图1是本发明提供的对接分布式对象存储服务配额实现方法的实现流程图;
图2是本发明提供的对接分布式对象存储服务配额实现***的结构框图。
具体实施方式
下面结合具体的实施例对本发明进一步说明。但这些例举性实施方式的用途和目的仅用来例举本发明,并非对本发明的实际保护范围构成任何形式的任何限定,更非将本发明的保护范围局限于此。
图1是本发明提供的对接分布式对象存储服务配额实现方法的实现流程图,其具体包括下述步骤:
在步骤S101中,当OpenStack平台与分布式对象存储服务***对接正常时,控制通过swfit接口向对象存储***发送配额请求信息。
在执行该步骤之前还需要执行下述步骤:
预先在对象存储服务***中新增配额元数据,其中,该新增的配额元数据包括Account配额元数据(X-Account-Meta-Quota-Bytes:用户容量配额)、Container配额元数据(X-Container-Meta-Quota-Bytes:桶容量配额,X-Container-Meta-Quota-Count:桶个数配额)和配额使能开关元数据(X-Account-Meta-Quota-Enable:开关控制元数据)。
在该步骤中,以配额使能开关功能为例,下发请求信息格式为:curl-i http://xxxx:xxx/swift-X POST-H"X-Auth-Token:xxxxxxxxxxxxxxx"-H"X-Account-Meta-Quota-Enable:enable",其中:
X-Account-Meta-Quota-Enable为配额开关元数据,enable为元数据信息值。
在步骤S102中,对接收到的所述swfit接口发送的配额请求信息进行解析,获取所述配额请求信息中所包含的配额关键信息,并修改预先新增的对应的配额元数据的配额关键信息值。
在步骤S103中,将获取到的配额关键信息写入s3配额机制内。
在该步骤中,以上述配额使能开关元数据为例,存储服务器接收到配额开关请求信息后,解析X-Account-Meta-Quota-Enable字段的值,并将该信息值作为配额开关的使能条件,进一步控制配额开关的使能状态。
在本发明实施例中,在执行上述步骤S101之前还需要执行下述步骤:
根据OpenStack平台的工程信息,在分布式对象存储服务***里集成OpenStack相关配置,控制在OpenStack平台和分布式对象存储服务***之间建立通信对接关联关系。
作为本发明的一个具体实施例,在执行上述步骤S104之后还包括下述步骤:
在所述分布式对象存储服务***,接收输入的配额下发及配合功能生效查询指令;
根据所述配额下发及配合功能生效查询指令,查询所述配额元数据中的配额关键信息值,以判断配额下发状态以及配额功能的生效状态。
其具体实现为:以配额使能开关元数据为例,可通过查看X-Account-Meta-Quota-Enable的状态值来判断当前的配额使能开关功能是否执行成功。
在本发明实施例中,swift配额功能主要包括Account配额、Container配额和配额使能开关功能,该功能的实现不再依赖中间组件实现配额功能,而是依托现有的s3配额机制实现,但在功能层面上,swift与s3的配额功能相互独立,互不影响。
图2示出了本发明提供的对接分布式对象存储服务配额实现***的结构框图,为了便于说明,图中仅给出与本发明实施例相关的部分。
对接分布式对象存储服务配额实现***包括:
配额请求信息发送模块11,用于当OpenStack平台与分布式对象存储服务***对接正常时,控制通过swfit接口向对象存储***发送配额请求信息;
解析模块12,用于对接收到的所述swfit接口发送的配额请求信息进行解析,获取所述配额请求信息中所包含的配额关键信息;
配额关键信息值修改模块13,用于修改预先新增的对应的配额元数据的配额关键信息值;
配额关键信息写入模块14,用于将获取到的配额关键信息写入s3配额机制内。
所述***还包括:
配额元数据新增模块15,用于预先在对象存储服务***中新增配额元数据,所述配额元数据包括Account配额元数据、Container配额元数据和配额使能开关元数据;
集成模块16,用于根据OpenStack平台的工程信息,在分布式对象存储服务***里集成OpenStack相关配置,控制在OpenStack平台和分布式对象存储服务***之间建立通信对接关联关系;
查询指令接收模块17,用于在所述分布式对象存储服务***,接收输入的配额下发及配合功能生效查询指令;
状态查询模块18,用于根据所述配额下发及配合功能生效查询指令,查询所述配额元数据中的配额关键信息值,以判断配额下发状态以及配额功能的生效状态。
其中,上述各个模块的功能如上述方式实施例所记载,在此不再赘述。
在本发明实施例中,当OpenStack平台与分布式对象存储服务***对接正常时,控制通过swfit接口向对象存储***发送配额请求信息;对接收到的所述swfit接口发送的配额请求信息进行解析,获取所述配额请求信息中所包含的配额关键信息,并修改预先新增的对应的配额元数据的配额关键信息值;将获取到的配额关键信息写入s3配额机制内,从而实现对swift配额机制与s3配额机制的结合,减少了***代码量,降低引入中间组件带来的bug风险,同时也提升***运行的稳定性。
应当理解,这些实施例的用途仅用于说明本发明而非意欲限制本发明的保护范围。此外,也应理解,在阅读了本发明的技术内容之后,本领域技术人员可以对本发明作各种改动、修改和/或变型,所有的这些等价形式同样落于本申请所附权利要求书所限定的保护范围之内。
Claims (8)
1.一种对接分布式对象存储服务配额实现方法,其特征在于,所述方法包括下述步骤:
当OpenStack平台与分布式对象存储服务***对接正常时,控制通过swfit接口向对象存储***发送配额请求信息;
对接收到的所述swfit接口发送的配额请求信息进行解析,获取所述配额请求信息中所包含的配额关键信息,并修改预先新增的对应的配额元数据的配额关键信息值;
将获取到的配额关键信息写入s3配额机制内。
2.根据权利要求1所述的对接分布式对象存储服务配额实现方法,其特征在于,所述方法还包括下述步骤:
预先在对象存储服务***中新增配额元数据,所述配额元数据包括Account配额元数据、Container配额元数据和配额使能开关元数据。
3.根据权利要求2所述的对接分布式对象存储服务配额实现方法,其特征在于,所述方法还包括下述步骤:
根据OpenStack平台的工程信息,在分布式对象存储服务***里集成OpenStack相关配置,控制在OpenStack平台和分布式对象存储服务***之间建立通信对接关联关系。
4.根据权利要求3所述的对接分布式对象存储服务配额实现方法,其特征在于,所述方法还包括下述步骤:
在所述分布式对象存储服务***,接收输入的配额下发及配合功能生效查询指令;
根据所述配额下发及配合功能生效查询指令,查询所述配额元数据中的配额关键信息值,以判断配额下发状态以及配额功能的生效状态。
5.一种对接分布式对象存储服务配额实现***,其特征在于,所述***包括:
配额请求信息发送模块,用于当OpenStack平台与分布式对象存储服务***对接正常时,控制通过swfit接口向对象存储***发送配额请求信息;
解析模块,用于对接收到的所述swfit接口发送的配额请求信息进行解析,获取所述配额请求信息中所包含的配额关键信息;
配额关键信息值修改模块,用于修改预先新增的对应的配额元数据的配额关键信息值;
配额关键信息写入模块,用于将获取到的配额关键信息写入s3配额机制内。
6.根据权利要求5所述的对接分布式对象存储服务配额实现***,其特征在于,所述***还包括:
配额元数据新增模块,用于预先在对象存储服务***中新增配额元数据,所述配额元数据包括Account配额元数据、Container配额元数据和配额使能开关元数据。
7.根据权利要求6所述的对接分布式对象存储服务配额实现***,其特征在于,所述***还包括:
集成模块,用于根据OpenStack平台的工程信息,在分布式对象存储服务***里集成OpenStack相关配置,控制在OpenStack平台和分布式对象存储服务***之间建立通信对接关联关系。
8.根据权利要求7所述的对接分布式对象存储服务配额实现***,其特征在于,所述***还包括:
查询指令接收模块,用于在所述分布式对象存储服务***,接收输入的配额下发及配合功能生效查询指令;
状态查询模块,用于根据所述配额下发及配合功能生效查询指令,查询所述配额元数据中的配额关键信息值,以判断配额下发状态以及配额功能的生效状态。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810973534.0A CN109240610B (zh) | 2018-08-24 | 2018-08-24 | 一种对接分布式对象存储服务配额实现方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810973534.0A CN109240610B (zh) | 2018-08-24 | 2018-08-24 | 一种对接分布式对象存储服务配额实现方法及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109240610A true CN109240610A (zh) | 2019-01-18 |
CN109240610B CN109240610B (zh) | 2021-08-06 |
Family
ID=65068241
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810973534.0A Active CN109240610B (zh) | 2018-08-24 | 2018-08-24 | 一种对接分布式对象存储服务配额实现方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109240610B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110764937A (zh) * | 2019-11-07 | 2020-02-07 | 浪潮云信息技术有限公司 | 控制Hive数据库和表存储配额的方法、终端及介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102073742A (zh) * | 2011-01-31 | 2011-05-25 | 清华大学 | 一种海量对象的存储***及其运行方法 |
CN107070946A (zh) * | 2017-05-19 | 2017-08-18 | 济南浪潮高新科技投资发展有限公司 | 基于openstack实现的云存储*** |
US20170337002A1 (en) * | 2016-05-19 | 2017-11-23 | Pure Storage, Inc. | Dynamically configuring a storage system to facilitate independent scaling of resources |
-
2018
- 2018-08-24 CN CN201810973534.0A patent/CN109240610B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102073742A (zh) * | 2011-01-31 | 2011-05-25 | 清华大学 | 一种海量对象的存储***及其运行方法 |
US20170337002A1 (en) * | 2016-05-19 | 2017-11-23 | Pure Storage, Inc. | Dynamically configuring a storage system to facilitate independent scaling of resources |
CN107070946A (zh) * | 2017-05-19 | 2017-08-18 | 济南浪潮高新科技投资发展有限公司 | 基于openstack实现的云存储*** |
Non-Patent Citations (2)
Title |
---|
BHAGYASHRI KULKARNI; VARSHA BHOSALE: ""Efficient storage utilization using erasure codes in OpenStack cloud"", 《2016 INTERNATIONAL CONFERENCE ON INVENTIVE COMPUTATION TECHNOLOGIES (ICICT)》 * |
邵珠兴: ""基于openstack的云存储***的研究与设计"", 《中国优秀硕士学位论文全文数据库》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110764937A (zh) * | 2019-11-07 | 2020-02-07 | 浪潮云信息技术有限公司 | 控制Hive数据库和表存储配额的方法、终端及介质 |
CN110764937B (zh) * | 2019-11-07 | 2022-09-06 | 浪潮云信息技术有限公司 | 控制Hive数据库和表存储配额的方法、终端及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109240610B (zh) | 2021-08-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102468989B (zh) | 处理网络数据的方法和*** | |
EP2613259A1 (en) | Method and computation node for processing application data | |
CN110334070A (zh) | 数据处理方法、***、设备及存储介质 | |
CN105024839B (zh) | 一种软件版本升级的方法及装置 | |
MX2014009068A (es) | Metodo, terminal y dispositivo electronico para procesar documento de libro electronico. | |
CN105242818A (zh) | 一种通知红点的消除方法和装置 | |
US8799546B2 (en) | Method and apparatus for monitoring single board running state | |
CN107509051A (zh) | 远程控制方法、装置、终端及计算机可读存储介质 | |
CN110351715A (zh) | At指令处理方法、终端适配器及计算机可读存储介质 | |
CN108712320A (zh) | 消息推送方法及装置 | |
CN103559910A (zh) | 应用于烧录器的实现智能切换烧录芯片时序的***及方法 | |
CN107566455B (zh) | 一种充电桩无线通信***和通信方法 | |
CN100556192C (zh) | 移动终端信息自动上报的方法 | |
CN109240610A (zh) | 一种对接分布式对象存储服务配额实现方法及*** | |
CN107920018A (zh) | 一种实现延迟推送数据的方法、服务器及*** | |
CN112270536B (zh) | 一种基于pos的聚合支付方法、***及相关装置 | |
CN101583204A (zh) | 一种实现通用联合电路卡多应用文件管理的方法及*** | |
CN110874345A (zh) | 分布式存储***中的数据处理方法、装置和*** | |
CN102523112B (zh) | 信息处理方法及设备 | |
CN103795856A (zh) | 一种信息处理方法及电子设备 | |
CN108121600B (zh) | 磁盘阵列控制器、输入输出io数据处理方法及装置 | |
CN110532032A (zh) | 一种开机文件***检测方法以及相关设备 | |
US8996737B1 (en) | Method for emulating communication standards of transceiver modules for native host devices | |
CN101883345A (zh) | 一种处理at指令的方法及装置 | |
CN104834724B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |