CN112817765A - 基于预授权的分布式对象存储桶配额管理方法及系统 - Google Patents
基于预授权的分布式对象存储桶配额管理方法及系统 Download PDFInfo
- Publication number
- CN112817765A CN112817765A CN202110173043.XA CN202110173043A CN112817765A CN 112817765 A CN112817765 A CN 112817765A CN 202110173043 A CN202110173043 A CN 202110173043A CN 112817765 A CN112817765 A CN 112817765A
- Authority
- CN
- China
- Prior art keywords
- quota
- storage
- bucket
- distributed
- management center
- 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
- 238000013475 authorization Methods 0.000 title claims abstract description 20
- 238000007726 management method Methods 0.000 title claims abstract description 16
- 238000000034 method Methods 0.000 claims abstract description 18
- 238000012545 processing Methods 0.000 description 12
- 230000001960 triggered effect Effects 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种基于预授权的分布式对象存储桶配额管理方法及系统。该方法包括:对象存储网关根据上个周期消耗配额的数量以及当前配额剩余量计算存储桶的本次申请配额量;对象存储网关定时向配额管理中心批量申请存储桶的存储配额;配额管理中心依据各个对象存储网关的本次申请配额量,向各个对象存储网关分配存储桶的存储配额。本发明提供的基于预授权的分布式对象存储桶配额管理方法及系统能够减少多个节点同时更新资源统计状态发生冲突的概率。
Description
技术领域
本发明涉及存储配额管理技术领域,特别是涉及一种基于预授权的分 布式对象存储桶配额管理方法及系统。
背景技术
随着移动互联网的普及和发展,图片、视频等非结构化数据量迅速增 加。对象存储的扁平化的设计结构,使其具有灵活的扩展能力支持海量的 非结构化数据存储。桶作为对象存储数据组织的基本单位,如何实现高效 可靠的配额管理功能是分布式对象存储必须要解决重要问题。
对于单服务节点,因为所有数据更新都由一个节点完成,所以只要在 该节点进行资源统计和限制就可以实现配额控制。而对于多服务节点的分 布式存储系统,每个节点都会处理用户读写请求,并更新使用资源的统计 信息,就会导致数据不一致性的问题。例如当服务节点A查询统计信息时, 满足当前配额限制,而在服务节点A处理请求的过程中,服务节点B查询 统计信息检查配额限制,也满足要求。但剩余配额实际可能只能满足其中 一个节点的请求,这就会导致实际使用量超出配额限制。现有一般的解决 方法是:服务节点将检查配额和更新状态作为一个事务操作一起提交,只 有满足配额且状态更新成功后,服务节点才继续执行请求处理。这样就避 免了不同的服务节点不一致导致配额超分的情况。
但该方案有两个问题,一个问题是请求处理失败数据没有真正提交, 而统计状态已经更新。在异常处理时增加状态回滚操作虽然可以一定程度 解决这个问题,但仍无法避免数据处理过程中系统异常退出导致的统计信 息与实际数据不一致的问题。另外一个问题是每次请求处理都要查询和更 新远程存储中的配额状态,增加了系统处理请求的延时,多个服务节点频 繁更新状态,还会增加了写冲突的概率,降低了分布式对象系统的IO处理性能。
发明内容
本发明要解决的技术问题是提供一种基于预授权的分布式对象存储桶 配额管理方法及系统,能够减少多个节点同时更新资源统计状态发生冲突 的概率。
为解决上述技术问题,本发明提供了一种基于预授权的分布式对象存 储桶配额管理方法,所述方法包括:对象存储网关根据上个周期消耗配额 的数量以及当前配额剩余量计算存储桶的本次申请配额量;对象存储网关 定时向配额管理中心批量申请存储桶的存储配额;配额管理中心依据各个 对象存储网关的本次申请配额量,向各个对象存储网关分配存储桶的存储 配额。
在一些实施方式中,还包括:当没有足够配额时,对象存储网关从配 额管理中心申请存储桶的预授权配额。
在一些实施方式中,还包括:配额管理中心根据分布式存储中保存的 配额配置参数,管理存储桶的配额参数和配额使用状态。
在一些实施方式中,配额管理中心根据分布式存储中保存的配额配置 参数,管理存储桶的配额参数和配额使用状态,包括:分布式存储存储配 额配置参数;配额管理中心从分布式存储中获取配额参数和配额使用状态。
在一些实施方式中,配额管理中心根据分布式存储中保存的配额配置 参数,管理存储桶的配额参数和配额使用状态,还包括:若配额参数变更, 分布式存储服务通知配额管理中心更新配额参数。
在一些实施方式中,还包括:服务存储网关处理客户端的I O请求,将 对象保存至分布式存储服务并更新元数据信息。
在一些实施方式中,元数据信息包括:桶的统计状态信息。
此外,本发明还提供了一种基于预授权的分布式对象存储桶配额管理 系统,所述系统包括:对象存储网关,用于根据上个周期消耗配额的数量 以及当前配额剩余量计算存储桶的本次申请配额量,以及对象存储网关定 时向配额管理中心批量申请存储桶的存储配额;配额管理中心,通过网络 连接至各个对象存储网关,用于依据各个对象存储网关的本次申请配额量, 向各个对象存储网关分配存储桶的存储配额。
采用这样的设计后,本发明至少具有以下优点:
通过预授权的配额分配策略,可以减少配额申请频率,减少多个节点 同时更新资源统计状态发生冲突的概率。
每个服务节点根据自己消耗配额的速度计算申请配额数量,保证大部 分场景下周期性申请的配额数量可以满足下个周期的配额消耗,进而减少 在请求处理过程中因配额不足触发配额申请。
节点服务只有申请到可用配额后,才能使用相应的配额容量,因此可 以避免超过配额限制的问题。
通过配额分配过期时间管理和配额状态重置流程,可以避免节点异常 退出导致已分配配额无法回收的问题。
附图说明
上述仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术 手段,以下结合附图与具体实施方式对本发明作进一步的详细说明。
图1是本发明提供的数据结构示意图;
图2是本发明提供的系统架构图。
具体实施方式
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描 述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
本发明相关组件和系统架构如图2所示,客户端通过访问分布式服务 网关的接口使用对象存储服务,分布式存储网关通常采用多个节点部署以 提高系统性能和可靠性,客户端按照策略选择不同存储网关接入。配额管 理中心是本发明引入的独立实体,服务网关从配额管理中心申请配额资源, 配额管理中心负责管理、分配和回收配额资源。分布式存储服务负责实际 的对象数据和元数据的存储。服务存储网关处理客户端的IO请求,将对象保存至分布式存储服务并更新元数据信息包括桶的统计状态信息。此外桶 的配额配置参数也持久化保存在分布式存储中,配额管理中心可以从分布 式存储服务获取最新配额参数和配额使用状态。若配额参数变更分布式存 储服务会通知配额管理中心更新配额参数。
根据场景服务网关节点采用两种方式向配额管理中心申请配额授权。 一种是定时申请方式,即每隔一段时间申请一定数量的配额授权,以满足 接下来一段时间处理用户请求的配额消耗。另一种是请求触发方式,当服 务网关节点处理用户请求时,本地没有预授权的配额或预授权的配额不足 时,触发一次配额授权申请,以满足当前请求的配额需求。
参见图1,设配额周期更新时间Ttick,已授权配额总量Ntotal,当前已消 耗配额数量Nthis,上次申请配额时已消耗配额数量Nlast,上一次申请配额到 现在的间隔时间Tinterval,预留比例因子σ,用户请求需要的配额数量Nreq,通 过如下公式计算每次申请的配额数量。
首次配额申请需要由用户请求处理来触发,即当Tinterval=0,定时操作不 会触发申请配额授权,当用户请求有配额需求时才申请配额授权,以避免 申请不必要的配额。另外若请求量μ>0,代表需要申请新的配额量,需等待 配额管理中心确认后才能使用新申请的配额资源。若请求量μ<0代表需要 释放一些配额资源,此时本地应该先锁定释放配额资源,再发送请求,避 免请求处理过程中配额被消耗。
服务节点需定时刷新配额过期时间以保持配额不被回收。预授权配额 在服务节点本地和配额管理中心分别维护一个过期时间。设配额管理中心 维护授权配额过期时间为Texpired-center,服务节点本地授权维护配额过期时间为 Texpired-local,集群中服务器与标准时间最大允许的时钟偏差为Toffset,服务节点 的定时更新周期为Ttick,申请配额流程消耗时间为Tfresh。需满足如下条件: Texpired-center=Texpired-local+Tdelta,其中Tdelta=2×Toffset,保证授权回收时节点本地授权 已经过期,已授权配额不会在被使用。此外每次设置的过期时间和当前时间 间隔Texpired-local-now>Ttick+Tfresh,保证一般情况下预授权配额过期前能够及时 刷新过期时间。
通过过期时间可以判断预分配的配额是否可以回收,但并不知道其中 已经消耗了多少配额,只知道该节点实际消耗的配额数量不超过其最近一 次上报的消耗配额数量。当未分配可用配额消耗尽或没有已分配的配额时, 开始进入回收流程,此时每个节点上报的已使用配额和预分配配额总量相 同,各节点暂停处理影响配额的用户请求。配额控制中心检查当前是否有 过期预分配配额,若有说明可能还有部分配额未使用,执行重置操作,重 新从分布式存储服务加载最新配额使用状态和配额参数,状态重置后,若有 可用配额继续分配各服务节点使用。
以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式 上的限制,本领域技术人员利用上述揭示的技术内容做出些许简单修改、 等同变化或修饰,均落在本发明的保护范围内。
Claims (8)
1.一种基于预授权的分布式对象存储桶配额管理方法,其特征在于,包括:
对象存储网关根据上个周期消耗配额的数量以及当前配额剩余量计算存储桶的本次申请配额量;
对象存储网关定时向配额管理中心批量申请存储桶的存储配额;
配额管理中心依据各个对象存储网关的本次申请配额量,向各个对象存储网关分配存储桶的存储配额。
2.根据权利要求1所述的基于预授权的分布式对象存储桶配额管理方法,其特征在于,还包括:
当没有足够配额时,对象存储网关从配额管理中心申请存储桶的预授权配额。
3.根据权利要求1所述的基于预授权的分布式对象存储桶配额管理方法,其特征在于,还包括:
配额管理中心根据分布式存储中保存的配额配置参数,管理存储桶的配额参数和配额使用状态。
4.根据权利要求3所述的基于预授权的分布式对象存储桶配额管理方法,其特征在于,配额管理中心根据分布式存储中保存的配额配置参数,管理存储桶的配额参数和配额使用状态,包括:
分布式存储存储配额配置参数;
配额管理中心从分布式存储中获取配额参数和配额使用状态。
5.根据权利要求4所述的基于预授权的分布式对象存储桶配额管理方法,其特征在于,配额管理中心根据分布式存储中保存的配额配置参数,管理存储桶的配额参数和配额使用状态,还包括:
若配额参数变更,分布式存储服务通知配额管理中心更新配额参数。
6.根据权利要求1所述的基于预授权的分布式对象存储桶配额管理方法,其特征在于,还包括:
服务存储网关处理客户端的IO请求,将对象保存至分布式存储服务并更新元数据信息。
7.根据权利要求6所述的基于预授权的分布式对象存储桶配额管理方法,其特征在于,元数据信息包括:桶的统计状态信息。
8.一种基于预授权的分布式对象存储桶配额管理系统,其特征在于,包括:
对象存储网关,用于根据上个周期消耗配额的数量以及当前配额剩余量计算存储桶的本次申请配额量,以及对象存储网关定时向配额管理中心批量申请存储桶的存储配额;
配额管理中心,通过网络连接至各个对象存储网关,用于依据各个对象存储网关的本次申请配额量,向各个对象存储网关分配存储桶的存储配额。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110173043.XA CN112817765B (zh) | 2021-02-08 | 2021-02-08 | 基于预授权的分布式对象存储桶配额管理方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110173043.XA CN112817765B (zh) | 2021-02-08 | 2021-02-08 | 基于预授权的分布式对象存储桶配额管理方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112817765A true CN112817765A (zh) | 2021-05-18 |
CN112817765B CN112817765B (zh) | 2024-06-04 |
Family
ID=75864168
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110173043.XA Active CN112817765B (zh) | 2021-02-08 | 2021-02-08 | 基于预授权的分布式对象存储桶配额管理方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112817765B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114157614A (zh) * | 2021-11-30 | 2022-03-08 | 上海派拉软件股份有限公司 | 一种资源管理方法、装置、设备及存储介质 |
CN114390058A (zh) * | 2022-02-24 | 2022-04-22 | 百果园技术(新加坡)有限公司 | 服务管理系统、方法、设备及存储介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020023156A1 (en) * | 2000-08-16 | 2002-02-21 | Yoshihisa Chujo | Distributed processing system |
CN1606301A (zh) * | 2004-07-09 | 2005-04-13 | 清华大学 | 一种共享资源访问的调度控制方法及装置 |
US20140149475A1 (en) * | 2012-11-26 | 2014-05-29 | Red Hat, Inc. | Managing distributed storage quotas |
CN106899676A (zh) * | 2017-02-28 | 2017-06-27 | 郑州云海信息技术有限公司 | 一种多客户端写入目录配额分配方法 |
CN106897440A (zh) * | 2017-02-28 | 2017-06-27 | 郑州云海信息技术有限公司 | 一种分布式文件系统文件读写处理方法 |
CN107562386A (zh) * | 2017-09-13 | 2018-01-09 | 郑州云海信息技术有限公司 | 一种分布式存储集群的数据写入方法及装置 |
CN110519336A (zh) * | 2019-08-01 | 2019-11-29 | 北京浪潮数据技术有限公司 | 分布式存储系统配额状态更新方法及分布式存储系统 |
CN111181791A (zh) * | 2019-12-31 | 2020-05-19 | 浪潮电子信息产业股份有限公司 | 一种配额管理方法、装置、设备及存储介质 |
CN111327684A (zh) * | 2020-01-21 | 2020-06-23 | 苏州浪潮智能科技有限公司 | 一种分布式对象存储系统的配额管理方法及装置 |
-
2021
- 2021-02-08 CN CN202110173043.XA patent/CN112817765B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020023156A1 (en) * | 2000-08-16 | 2002-02-21 | Yoshihisa Chujo | Distributed processing system |
CN1606301A (zh) * | 2004-07-09 | 2005-04-13 | 清华大学 | 一种共享资源访问的调度控制方法及装置 |
US20140149475A1 (en) * | 2012-11-26 | 2014-05-29 | Red Hat, Inc. | Managing distributed storage quotas |
CN106899676A (zh) * | 2017-02-28 | 2017-06-27 | 郑州云海信息技术有限公司 | 一种多客户端写入目录配额分配方法 |
CN106897440A (zh) * | 2017-02-28 | 2017-06-27 | 郑州云海信息技术有限公司 | 一种分布式文件系统文件读写处理方法 |
CN107562386A (zh) * | 2017-09-13 | 2018-01-09 | 郑州云海信息技术有限公司 | 一种分布式存储集群的数据写入方法及装置 |
CN110519336A (zh) * | 2019-08-01 | 2019-11-29 | 北京浪潮数据技术有限公司 | 分布式存储系统配额状态更新方法及分布式存储系统 |
CN111181791A (zh) * | 2019-12-31 | 2020-05-19 | 浪潮电子信息产业股份有限公司 | 一种配额管理方法、装置、设备及存储介质 |
CN111327684A (zh) * | 2020-01-21 | 2020-06-23 | 苏州浪潮智能科技有限公司 | 一种分布式对象存储系统的配额管理方法及装置 |
Non-Patent Citations (5)
Title |
---|
MEHRNOOSH SHAKARAMI: "Safety and Consistency of Mutable Attributes Using Quotas: A Formal Analysis", IEEE, pages 1 - 9 * |
刘友生;: "基于配额的资源配送节能研究", 计算机工程与应用, no. 13, pages 85 - 92 * |
周正娟: "数字有机体存储空间中配额机制的研究与实现", 中国优秀硕士论文电子期刊网, pages 139 - 46 * |
谭子军: "分布式加密存储系统的文件数据分布与磁盘配额管理技术研究", 中国优秀硕士论文电子期刊网, pages 137 - 81 * |
谭子军;何连跃;: "分布式存储系统中用户磁盘空间分配策略", 计算机工程, no. 09, pages 50 - 52 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114157614A (zh) * | 2021-11-30 | 2022-03-08 | 上海派拉软件股份有限公司 | 一种资源管理方法、装置、设备及存储介质 |
CN114390058A (zh) * | 2022-02-24 | 2022-04-22 | 百果园技术(新加坡)有限公司 | 服务管理系统、方法、设备及存储介质 |
CN114390058B (zh) * | 2022-02-24 | 2024-03-08 | 百果园技术(新加坡)有限公司 | 服务管理系统、方法、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112817765B (zh) | 2024-06-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8145759B2 (en) | Dynamically configurable resource pool | |
EP0312865B1 (en) | Space management system for a data access system of a file access processor | |
CA2338915C (en) | System and method for caching sets of objects | |
US8091088B2 (en) | Method and system for hierarchical resource management involving hard and soft resource limits | |
US7694082B2 (en) | Computer program and method for managing resources in a distributed storage system | |
US5237682A (en) | File management system for a computer | |
US8239536B2 (en) | System for generic service management in a distributed and dynamic resource environment, providing constant service access to users | |
CN112817765A (zh) | 基于预授权的分布式对象存储桶配额管理方法及系统 | |
US7047387B2 (en) | Block cache size management via virtual memory manager feedback | |
CN107733957B (zh) | 分布式服务配置系统及版本号分配方法 | |
US20050251538A1 (en) | Unique ID management in disconnected database replication | |
US20110218971A1 (en) | System, Method And Computer Program Product For Managing Caches | |
CN113010552B (zh) | 数据处理方法、系统、计算机可读介质及电子设备 | |
CN111104226B (zh) | 一种多租户服务资源的智能管理系统及方法 | |
Polyzois et al. | Evaluation of remote backup algorithms for transaction-processing systems | |
US20130117526A1 (en) | Shared temporary storage management in a shared disk database cluster | |
CN108762919A (zh) | 一种程序内存处理系统及方法 | |
US20090100436A1 (en) | Partitioning system including a generic partitioning manager for partitioning resources | |
US8266634B2 (en) | Resource assignment system with recovery notification | |
CN116455830A (zh) | 实现存储网关高可用分布式qos的方法 | |
CN111949442A (zh) | 用于可扩展备份服务的系统和方法 | |
CN105069019A (zh) | 数据库无间断更新方法及系统 | |
CN110554914A (zh) | 资源锁管理方法、装置、服务器及存储介质 | |
CN113448976B (zh) | 数据处理方法、装置、计算机设备和存储介质 | |
US7647296B2 (en) | Method for estimating a first access time of transactions accessing a database object |
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 |