[发明专利]分布式对象存储系统的用量统计信息下刷方法和装置在审
申请号: | 202110602925.3 | 申请日: | 2021-05-31 |
公开(公告)号: | CN113485852A | 公开(公告)日: | 2021-10-08 |
发明(设计)人: | 冯灿坤;胡永刚 | 申请(专利权)人: | 济南浪潮数据技术有限公司 |
主分类号: | G06F9/54 | 分类号: | G06F9/54 |
代理公司: | 济南诚智商标专利事务所有限公司 37105 | 代理人: | 黄晓燕 |
地址: | 250000 山东省济南市中国(山东)自由贸易*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 分布式 对象 存储系统 用量 统计 信息 方法 装置 | ||
本发明公开分布式对象存储系统的用量统计信息下刷方法和装置,其中,分布式对象存储系统的用量统计信息下刷方法包括:在启动对象存储网关时,创建全局数据结构;使用对象存储网关的业务线程,将所有用量统计信息下发至全局数据结构;使用全局数据结构打包用量统计信息,按照预设定时下刷机制将打包后的多条用量统计信息统一下刷至对象存储层。本发明的技术方案能解决现有技术中的用量统计方案存在写放大并且对读写性能影响较大的问题。
技术领域
本发明涉及对象存储技术领域,尤其涉及一种分布式对象存储系统的用量统计信息下刷方法和装置。
背景技术
分布式对象存储系统,是一种适用于图片及视频等非结构化数据存储的网络存储架构。它具有块存储高速直接访问磁盘以及文件存储分布式共享的特点。
现有的分布式对象存储系统,实现了对象存储的用量统计功能。存储系统部署时,建立一个名为usage的元数据池,元数据池中初始化多个Rados对象,用以存储用量统计信息。客户端通过http请求访问该分布式对象存储系统,在客户端请求处理完成时,对象存储网关RGW将本次请求的请求类型、用户、桶、访问时间和数据量等信息统一构建为一条用量统计信息,并将其下发至对象存储Rados层。Rados层将该用量统计信息存储在元数据池中的128个rados对象中某个对象的omap中(通过用户名进行哈希寻址)。
然而上述用量统计方案,当用户业务量过大时会出现以下问题:1.对客户端每次请求处理都要多一次对Rados层的写请求,存在写放大的问题,影响性能。2.为解决分布式对象存储系统中的数据一致性问题,系统对usage池对象写omap时需要拿到该对象的读写锁,同一时间只能有一个线程操作Rados对象,其他需要对该rados对象写omap的线程需要等待锁被释放后去抢锁,对读写性能影响较大。
发明内容
本发明提供了一种分布式对象存储系统的用量统计信息下刷方案,旨在解决现有技术中用量统计方案存在写放大,并且对读写性能影响较大的问题。
根据本发明的第一方面,本发明提供了一种分布式对象存储系统的用量统计信息下刷方法,包括:
在启动对象存储网关时,创建全局数据结构;
使用对象存储网关的业务线程,将所有用量统计信息下发至全局数据结构;
使用全局数据结构打包用量统计信息,按照预设定时下刷机制将打包后的多条用量统计信息统一下刷至对象存储层。
优选地,上述将所有用量统计信息下发至全局数据结构的步骤,包括:
控制业务线程处理客户端请求;
当业务线程每次处理客户端请求完成时,控制业务线程将与客户端请求对应的请求信息封装为用量统计信息;
当每次用量统计信息封装完毕时,控制业务线程将用量统计信息插入至全局数据结构的预设成员变量中。
优选地,上述按照预设定时下刷机制将打包后的多条用量统计信息统一下刷至对象存储层的步骤,包括:
当全局数据结构初始化时,启动预设下刷线程按照预设下刷时间间隔,将下刷时间间隔内的用量统计信息打包下刷至对象存储层;
或者,
当全局数据结构存储的用量统计信息的条数大于或等于预设条目数量时,控制预设下刷线程将存储的所有用量统计信息打包下刷至对象存储层。
优选地,本申请提供的用量统计信息下刷方法还包括:
使用预设命令行管理工具查询指定用户或指定桶在预设时间段的访问用量,得到访问用量的参数;
根据访问用量的参数,访问对象存储层中的存储池的Rados对象;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于济南浪潮数据技术有限公司,未经济南浪潮数据技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110602925.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种晶体管安装外壳
- 下一篇:一种铜熔炼炉渣中铜、镍分选回收处理方法