CN112463073A - 一种对象存储分布式配额方法、系统、设备和存储介质 - Google Patents
一种对象存储分布式配额方法、系统、设备和存储介质 Download PDFInfo
- Publication number
- CN112463073A CN112463073A CN202011462100.8A CN202011462100A CN112463073A CN 112463073 A CN112463073 A CN 112463073A CN 202011462100 A CN202011462100 A CN 202011462100A CN 112463073 A CN112463073 A CN 112463073A
- Authority
- CN
- China
- Prior art keywords
- quota
- information
- user
- storing
- redis database
- 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.)
- Withdrawn
Links
- 238000000034 method Methods 0.000 title claims abstract description 53
- 230000008859 change Effects 0.000 claims abstract description 19
- 230000004048 modification Effects 0.000 claims description 8
- 238000012986 modification Methods 0.000 claims description 8
- 230000008569 process Effects 0.000 claims description 7
- 238000004590 computer program Methods 0.000 claims description 6
- 230000001360 synchronised effect Effects 0.000 claims description 5
- 238000004321 preservation Methods 0.000 claims 1
- 230000000694 effects Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000002688 persistence Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
Images
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/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- 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/0614—Improving the reliability of 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/062—Securing storage systems
- G06F3/0622—Securing storage systems in relation to access
-
- 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)
Abstract
本发明提出了一种对象存储分布式配额方法,系统、设备和存储介质。该方法包括:将配额信息保存在redis数据库中;通过远程直接数据存取将本节点的配额变化同步至其他节点,以保证redis数据库的一致性。以及基于该配额方法,检查是否开启用户配额和桶配额;若开启,获取redis数据库中的配额信息,以及检查配额;修改redis中桶配额表中对应的桶配额信息和用户配额表中对应的用户配额信息,通过RDMA修改其他节点的配额信息。基于该方法,还提出了一种对象存储分布式配额系统、设备和存储介质。本发明避免了频繁的从硬盘读取配额信息,提高存储性能的同时保证了本地配额更新的准确性,解决了不同节点之间配额更新延迟的问题。
Description
技术领域
本发明属于存储技术领域,特别涉及一种对象存储分布式配额方法、系统、设备和存储介质。
背景技术
随着互联网的发展,互联网数据量(非结构化数据)越来越大,分布式对象存储应运而生。这种新兴的存储方式,适用于图片、视频等非结构化数据的存储。它同时又具有块存储高速直接访问磁盘的特点以及文件存储分布式共享的特点,因此一经推出就得到广泛的发展与应用。对象存储是一种新的网络存储架构,同时兼具SAN高速直接访问磁盘特点及NAS的分布式共享特点,具有较广的应用前景与应用价值。对象存储配额技术,通过设置用户以及桶的最大对象个数和总容量,实现集群系统中对象存储资源的管理和控制。但目前对象存储中缺少较好的分布式配额实现方法以及单个对象存储服务中,用户配额精准性较差。
目前对象存储包括用户配额和桶配额,用户配额持久化在元数据池中用户对象omap的header中,同时该omap下key为桶名,value为桶的配额信息。通过配额线程,定时遍历该用户下配额变化的桶,从而更新omap中的key和value以及header,该实现方案中当配额线程执行频率过快会影响对象存储服务性能,执行频率慢会产生配额不准的问题;桶配额通过遍历桶的index得到桶的使用量。在对象存储服务中,执行检查配额操作时,首先从硬盘读取用户以及桶使用量信息,为了降低对性能的影响,将配额信息保存在内存中,下次需要检查配额时首先从内存中查找,由于对象存储为分布式系统,所以目前方案中,内存中配额信息只在限定时间内有效,内存中配额信息过期后,需要重新从底层读取,但是由于底层中用户配额信息更新不及时,故存在用户配额在对同一用户进行连续操作时,会出现用户配额不准确的问题。同样的由于不同节点中对象存储网关内存中的配额信息不共享,当同时对多个对象存储网关进行数据操作时,会出现配额信息不准确的情况。目前有人提出基于watch-notify的分布式配额方案,但是通过该机制通知频率频繁会严重影响集群性能,通知频率低仍然在高并发下配额不准的问题,同时该方案仍然无法解决用户配额不准的问题。
发明内容
为了解决上述技术问题,本发明提出了一种对象存储分布式配额方法、系统、设备和存储介质,将配额信息保存在redis数据库中,避免频繁的从硬盘读取配额信息,提高存储性能的同时保证了本地配额更新的准确性,通过远程直接数据存取将本节点的配额变化同步至其他节点,以保证redis数据库的一致性。
为实现上述目的,本发明采用以下技术方案:
一种对象存储分布式配额方法,包括:
将配额信息保存在redis数据库中;
通过远程直接数据存取将本节点的配额变化同步至其他节点,以保证redis数据库的一致性。
根据权利要求1所述的一种对象存储分布式配额方法,其特征在于,所述将配额信息保存在redis数据库中的具体过程为:将配额信息借助AEP非易失的特性保存在redis数据库中。
进一步的,所述配额信息包括用户配额表和桶配额表;
所述用户配额表用于保存用户和用户配额信息;
所述桶配额表用于保存桶和桶配额信息。
进一步的,所述通过远程直接数据存取将本节点的配额变化同步至其他节点,以保证redis数据库的一致性的具体过程为:在直接访问模式下,通过PMDK工具将本节点的配额变化同步至其他节点,保证写入APE数据的事务性和一致性。
进一步的,所述方法还包括:
检查是否开启用户配额和桶配额;
若开启,获取redis数据库中的配额信息,以及检查配额;
修改redis中桶配额表中对应的桶配额信息和用户配额表中对应的用户配额信息,通过RDMA修改其他节点的配额信息。
本发明还提出了一种对象存储分布式配额系统,包括保存模块和同步模块;
所述保存模块用于将配额信息保存在redis数据库中;
所述同步模块用于通过远程直接数据存取将本节点的配额变化同步至其他节点,以保证redis数据库的一致性。
进一步的,所述系统还包括修改模块;
所述修改模块用于首先检查是否开启用户配额和桶配额;若开启,获取redis数据库中的配额信息,以及检查配额;然后,修改redis中桶配额表中对应的桶配额信息和用户配额表中对应的用户配额信息,通过RDMA修改其他节点的配额信息。
一种计算机设备,包括:
至少一个处理器;以及
存储器,所述存储器存储有可在所述处理器上运行的计算机程序,所述处理器执行所述程序时执行方法的步骤。
一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时执行方法的步骤。
发明内容中提供的效果仅仅是实施例的效果,而不是发明所有的全部效果,上述技术方案中的一个技术方案具有如下优点或有益效果:
本发明提出了一种对象存储分布式配额方法,系统、设备和存储介质。该方法包括:将配额信息保存在redis数据库中;通过远程直接数据存取将本节点的配额变化同步至其他节点,以保证redis数据库的一致性。以及基于该配额方法,检查是否开启用户配额和桶配额;若开启,获取redis数据库中的配额信息,以及检查配额;修改redis中桶配额表中对应的桶配额信息和用户配额表中对应的用户配额信息,通过RDMA修改其他节点的配额信息。基于本发明提出的一种对象存储分布式配额方法,还提出了一种对象存储分布式配额系统、设备和存储介质。本发明通过AEP延迟低、容量大和掉线非易失的特性以及内存数据库redis高性能的特点,将之前配额信息持久化在元数据池以及将读取的最新配额数据缓存在内存中的方法,修改为将配额信息只保存在AEP中的redis数据库中,从而避免频繁的从硬盘读取配额信息,提高存储性能的同时保证了本地配额更新的准确性。另一方面,通过使用RDMA保证了不同节点中AEP中配额数据的一致,从而解决watch-notify不同节点之间配额更新延迟的问题,以及验证影响集群性能的问题。
附图说明
如图1为本发明实施例1一种对象存储分布式配额方法流程图;
如图2为本发明实施例2一种对象存储分布式配额系统示意图。
具体实施方式
为能清楚说明本方案的技术特点,下面通过具体实施方式,并结合其附图,对本发明进行详细阐述。下文的公开提供了许多不同的实施例或例子用来实现本发明的不同结构。为了简化本发明的公开,下文中对特定例子的部件和设置进行描述。此外,本发明可以在不同例子中重复参考数字和/或字母。这种重复是为了简化和清楚的目的,其本身不指示所讨论各种实施例和/或设置之间的关系。应当注意,在附图中所图示的部件不一定按比例绘制。本发明省略了对公知组件和处理技术及工艺的描述以避免不必要地限制本发明。
实施例1
本发明实施例1提出了一种对象存储分布式配额方法。
其中,AEP,(Apache Pass)是intel推出的一种新型的非易失Optance Memory设备,位于内存总线,是一种介于DRAM和硬盘之间的设备,具有持久性、大容量和纳秒级的读写速度。
RDMA,(Remote Direct Memory Access)技术全称远程直接数据存取,就是为了解决网络传输中服务器端数据处理的延迟而产生的。RDMA通过网络把资料直接传入计算机的存储区,将数据从一个系统快速移动到远程系统存储器中,而不对操作系统造成任何影响。
如图1为本发明实施例1一种对象存储分布式配额方法流程图。
在步骤S101中,将配额信息保存在redis数据库中;将配额信息借助AEP非易失的特性保存在redis数据库中。
目前对象存储中配额实现方案中,将用户和桶配额信息保存在元数据池的omap中,第一次读取数据时,从omap中读取并且保存在内存中,在上传、下载等需要更新配额过程中修改内存中的配额信息,同时将配额发生变化的桶发送给配额同步线程,该线程定时更新底层omap中的用户配额信息。由于对象存储服务中会有不同的对象服务进程,需要定时的从底层读取配额信息到内存中,从而在一定程度上保持配额的准确性。针对目前读配额信息需要定时从池子读取以及更新池子中配额信息影响性能问题以及配额同步线程定时才会更新底层配额信息导致用户配额不准确的问题。我们将之前桶配额信息需要保存在硬盘持久化的方式修改为借助AEP非易失的特性保存直接保存在redis数据库中,配额信息包括用户配额表和桶配额表;用户配额表用于保存用户和用户配额信息;桶配额表用于保存桶和桶配额信息。由于配额信息仅保存在数据库中,读取和更新配额信息时仅需要读取和更改配额数据库中的配额信息。一方面减少检查和更新配额对性能的影响,另一方面保证了用户配额的准确性。
在步骤S102中,通过远程直接数据存取将本节点的配额变化同步至其他节点,以保证redis数据库的一致性。
目前的基于watch-notify的分布式配额实现方法中,当某个节点配额发生变化时,放入它的配额变化队列中,然后通知其它rgw节点,rgw收到其它rgw的配额变化通知时,生成配额变化对象,放入它的配额变化队列中。使用watch-notify方法存在更新队列影响性能的问题,更新太慢会导致配额同步不准的问题。
AEP包含两种模式:memory(内存)模式和app direct(直接访问)模式,本发明在直接访问模式下,通过PMDK工具将本节点的配额变化同步至其他节点,保证写入APE数据的事务性和一致性。
本发明的配额方法中,还包括:检查是否开启用户配额和桶配额;若开启,获取redis数据库中的配额信息,以及检查配额;元数据写过程中,更新配额,修改redis中桶配额表中对应的桶配额信息和用户配额表中对应的用户配额信息,通过RDMA修改其他节点的配额信息。
实施例2
本发明还提出了一种对象存储分布式配额系统,如图2为本发明实施例2一种对象存储分布式配额系统示意图,该系统包括保存模块和同步模块;
保存模块用于将配额信息保存在redis数据库中;
同步模块用于通过远程直接数据存取将本节点的配额变化同步至其他节点,以保证redis数据库的一致性。
系统还包括修改模块;修改模块用于首先检查是否开启用户配额和桶配额;若开启,获取redis数据库中的配额信息,以及检查配额;然后,修改redis中桶配额表中对应的桶配额信息和用户配额表中对应的用户配额信息,通过RDMA修改其他节点的配额信息。
本发明还提出了一种计算机设备,包括:至少一个处理器;以及存储器,存储器存储有可在所述处理器上运行的计算机程序,处理器执行所述程序时执行方法的步骤。
一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时执行方法的步骤。
本发明将配额信息保存在redis数据库中,避免了频繁的从硬盘读取配额信息,提高存储性能的同时保证了本地配额更新的准确性,通过使用RDMA保证了不同节点中AEP中配额数据的一致,从而解决watch-notify不同节点之间配额更新延迟的问题,以及验证影响集群性能的问题。
上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限制。对于所属领域的技术人员来说,在上述说明的基础上还可以做出其它不同形式的修改或变形。这里无需也无法对所有的实施方式予以穷举。在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。
Claims (9)
1.一种对象存储分布式配额方法,其特征在于,包括:
将配额信息保存在redis数据库中;
通过远程直接数据存取将本节点的配额变化同步至其他节点,以保证redis数据库的一致性。
2.根据权利要求1所述的一种对象存储分布式配额方法,其特征在于,所述将配额信息保存在redis数据库中的具体过程为:将配额信息借助AEP非易失的特性保存在redis数据库中。
3.根据权利要求2所述的一种对象存储分布式配额方法,其特征在于,所述配额信息包括用户配额表和桶配额表;
所述用户配额表用于保存用户和用户配额信息;
所述桶配额表用于保存桶和桶配额信息。
4.根据权利要求1所述的一种对象存储分布式配额方法,其特征在于,所述通过远程直接数据存取将本节点的配额变化同步至其他节点,以保证redis数据库的一致性的具体过程为:在直接访问模式下,通过PMDK工具将本节点的配额变化同步至其他节点,保证写入APE数据的事务性和一致性。
5.根据权利要求1所述的一种对象存储分布式配额方法,其特征在于,所述方法还包括:
检查是否开启用户配额和桶配额;
若开启,获取redis数据库中的配额信息,以及检查配额;
修改redis中桶配额表中对应的桶配额信息和用户配额表中对应的用户配额信息,通过RDMA修改其他节点的配额信息。
6.一种对象存储分布式配额系统,其特征在于,包括保存模块和同步模块;
所述保存模块用于将配额信息保存在redis数据库中;
所述同步模块用于通过远程直接数据存取将本节点的配额变化同步至其他节点,以保证redis数据库的一致性。
7.根据权利要求6所述的一种对象存储分布式配额系统,其特征在于,所述系统还包括修改模块;
所述修改模块用于首先检查是否开启用户配额和桶配额;若开启,获取redis数据库中的配额信息,以及检查配额;然后,修改redis中桶配额表中对应的桶配额信息和用户配额表中对应的用户配额信息,通过RDMA修改其他节点的配额信息。
8.一种计算机设备,包括:
至少一个处理器;以及
存储器,所述存储器存储有可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时执行如权利要求1-5任意一项所述的方法的步骤。
9.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时执行如权利要求1-5任意一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011462100.8A CN112463073A (zh) | 2020-12-10 | 2020-12-10 | 一种对象存储分布式配额方法、系统、设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011462100.8A CN112463073A (zh) | 2020-12-10 | 2020-12-10 | 一种对象存储分布式配额方法、系统、设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112463073A true CN112463073A (zh) | 2021-03-09 |
Family
ID=74804072
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011462100.8A Withdrawn CN112463073A (zh) | 2020-12-10 | 2020-12-10 | 一种对象存储分布式配额方法、系统、设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112463073A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113590047A (zh) * | 2021-08-11 | 2021-11-02 | 中国建设银行股份有限公司 | 数据库的筛查方法、装置、电子设备及存储介质 |
CN114372064A (zh) * | 2022-03-22 | 2022-04-19 | 飞狐信息技术(天津)有限公司 | 数据处理装置、方法、计算机可读介质及处理器 |
-
2020
- 2020-12-10 CN CN202011462100.8A patent/CN112463073A/zh not_active Withdrawn
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113590047A (zh) * | 2021-08-11 | 2021-11-02 | 中国建设银行股份有限公司 | 数据库的筛查方法、装置、电子设备及存储介质 |
CN113590047B (zh) * | 2021-08-11 | 2024-01-26 | 中国建设银行股份有限公司 | 数据库的筛查方法、装置、电子设备及存储介质 |
CN114372064A (zh) * | 2022-03-22 | 2022-04-19 | 飞狐信息技术(天津)有限公司 | 数据处理装置、方法、计算机可读介质及处理器 |
CN114372064B (zh) * | 2022-03-22 | 2022-07-12 | 飞狐信息技术(天津)有限公司 | 数据处理装置、方法、计算机可读介质及处理器 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107168657B (zh) | 一种基于分布式块存储的虚拟磁盘分层缓存设计方法 | |
US7711916B2 (en) | Storing information on storage devices having different performance capabilities with a storage system | |
US8510499B1 (en) | Solid state drive caching using memory structures to determine a storage space replacement candidate | |
EP2735978A1 (en) | Storage system and management method used for metadata of cluster file system | |
EP2541423B1 (en) | Replacement policy for resource container | |
CN114281762B (zh) | 一种日志存储加速方法、装置、设备及介质 | |
US9307024B2 (en) | Efficient storage of small random changes to data on disk | |
US11113195B2 (en) | Method, device and computer program product for cache-based index mapping and data access | |
CN111984191A (zh) | 一种支持分布式存储的多客户端缓存方法及系统 | |
CN103501319A (zh) | 一种低延迟的面向小文件的分布式存储系统 | |
CN107888687B (zh) | 一种基于分布式存储系统的代理客户端存储加速方法及系统 | |
CN111159176A (zh) | 一种海量流数据的存储和读取的方法和系统 | |
CN112463073A (zh) | 一种对象存储分布式配额方法、系统、设备和存储介质 | |
US20220035548A1 (en) | Data storage method, electronic device, and computer program product | |
CN116431080B (zh) | 一种数据落盘方法、系统、设备及计算机可读存储介质 | |
US11010091B2 (en) | Multi-tier storage | |
CN110413689B (zh) | 一种内存数据库的多节点数据同步方法与装置 | |
US20200349186A1 (en) | Method, apparatus and computer program product for managing metadata of storage object | |
CN114490540B (zh) | 数据存储方法、介质、装置和计算设备 | |
US11341163B1 (en) | Multi-level replication filtering for a distributed database | |
CN113204520A (zh) | 一种基于分布式文件系统的遥感数据快速并发读写方法 | |
CN115604290B (zh) | Kafka消息执行方法、装置、设备及存储介质 | |
CN115904263B (zh) | 一种数据迁移方法、系统、设备及计算机可读存储介质 | |
US11720551B1 (en) | Method and system for streaming data from portable storage devices | |
US11625184B1 (en) | Recalling files from tape |
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 | ||
WW01 | Invention patent application withdrawn after publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20210309 |