CN113485852B - 分布式对象存储系统的用量统计信息下刷方法和装置 - Google Patents
分布式对象存储系统的用量统计信息下刷方法和装置 Download PDFInfo
- Publication number
- CN113485852B CN113485852B CN202110602925.3A CN202110602925A CN113485852B CN 113485852 B CN113485852 B CN 113485852B CN 202110602925 A CN202110602925 A CN 202110602925A CN 113485852 B CN113485852 B CN 113485852B
- Authority
- CN
- China
- Prior art keywords
- information
- object storage
- brushing
- consumption
- usage statistics
- 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.)
- Active
Links
- 238000003860 storage Methods 0.000 title claims abstract description 140
- 230000001680 brushing effect Effects 0.000 title claims abstract description 79
- 238000000034 method Methods 0.000 title claims abstract description 44
- 230000007246 mechanism Effects 0.000 claims abstract description 15
- 238000004806 packaging method and process Methods 0.000 claims abstract description 8
- 230000008569 process Effects 0.000 claims description 12
- 238000005201 scrubbing Methods 0.000 claims description 11
- 238000009826 distribution Methods 0.000 claims description 4
- 238000012856 packing Methods 0.000 claims description 4
- 238000000605 extraction Methods 0.000 claims description 3
- 238000011010 flushing procedure Methods 0.000 claims description 2
- 230000003321 amplification Effects 0.000 abstract description 5
- 238000003199 nucleic acid amplification method Methods 0.000 abstract description 5
- 238000010586 diagram Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 11
- 238000004590 computer program Methods 0.000 description 7
- 238000007726 management method Methods 0.000 description 6
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 230000004075 alteration Effects 0.000 description 2
- 230000015556 catabolic process Effects 0.000 description 2
- 238000006731 degradation reaction Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
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/54—Interprogram communication
- G06F9/545—Interprogram communication where tasks reside in different layers, e.g. user- and kernel-space
-
- 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/54—Interprogram communication
- G06F9/543—User-generated data transfer, e.g. clipboards, dynamic data exchange [DDE], object linking and embedding [OLE]
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
技术领域
本发明涉及对象存储技术领域,尤其涉及一种分布式对象存储系统的用量统计信息下刷方法和装置。
背景技术
分布式对象存储系统,是一种适用于图片及视频等非结构化数据存储的网络存储架构。它具有块存储高速直接访问磁盘以及文件存储分布式共享的特点。
现有的分布式对象存储系统,实现了对象存储的用量统计功能。存储系统部署时,建立一个名为usage的元数据池,元数据池中初始化多个Rados对象,用以存储用量统计信息。客户端通过http请求访问该分布式对象存储系统,在客户端请求处理完成时,对象存储网关RGW将本次请求的请求类型、用户、桶、访问时间和数据量等信息统一构建为一条用量统计信息,并将其下发至对象存储Rados层。Rados层将该用量统计信息存储在元数据池中的128个rados对象中某个对象的omap中(通过用户名进行哈希寻址)。
然而上述用量统计方案,当用户业务量过大时会出现以下问题:1.对客户端每次请求处理都要多一次对Rados层的写请求,存在写放大的问题,影响性能。2.为解决分布式对象存储系统中的数据一致性问题,系统对usage池对象写omap时需要拿到该对象的读写锁,同一时间只能有一个线程操作Rados对象,其他需要对该rados对象写omap的线程需要等待锁被释放后去抢锁,对读写性能影响较大。
发明内容
本发明提供了一种分布式对象存储系统的用量统计信息下刷方案,旨在解决现有技术中用量统计方案存在写放大,并且对读写性能影响较大的问题。
根据本发明的第一方面,本发明提供了一种分布式对象存储系统的用量统计信息下刷方法,包括:
在启动对象存储网关时,创建全局数据结构;
使用对象存储网关的业务线程,将所有用量统计信息下发至全局数据结构;
使用全局数据结构打包用量统计信息,按照预设定时下刷机制将打包后的多条用量统计信息统一下刷至对象存储层。
优选地,上述将所有用量统计信息下发至全局数据结构的步骤,包括:
控制业务线程处理客户端请求;
当业务线程每次处理客户端请求完成时,控制业务线程将与客户端请求对应的请求信息封装为用量统计信息;
当每次用量统计信息封装完毕时,控制业务线程将用量统计信息插入至全局数据结构的预设成员变量中。
优选地,上述按照预设定时下刷机制将打包后的多条用量统计信息统一下刷至对象存储层的步骤,包括:
当全局数据结构初始化时,启动预设下刷线程按照预设下刷时间间隔,将下刷时间间隔内的用量统计信息打包下刷至对象存储层;
或者,
当全局数据结构存储的用量统计信息的条数大于或等于预设条目数量时,控制预设下刷线程将存储的所有用量统计信息打包下刷至对象存储层。
优选地,本申请提供的用量统计信息下刷方法还包括:
使用预设命令行管理工具查询指定用户或指定桶在预设时间段的访问用量,得到访问用量的参数;
根据访问用量的参数,访问对象存储层中的存储池的Rados对象;
从Rados对象中提取并统计与访问用量的参数对应的用量统计信息。
优选地,本申请提供的用量统计信息下刷方法还包括:
在对象存储层的存储池中创建多个Rados对象;
根据用量统计信息包含的用户名信息控制对象存储层,通过哈希寻址方式将多条用量统计信息分别分配至对应的Rados对象中。
根据本发明的第二方面,本发明还提供了一种分布式对象存储系统的用量统计信息下刷装置,包括:
结构创建模块,用于在启动对象存储网关时,创建全局数据结构;
信息转发模块,用于控制对象存储网关的业务线程,将所有用量统计信息下发至全局数据结构;
信息下刷模块,用于使用全局数据结构打包用量统计信息,按照预设定时下刷机制将打包后的多条用量统计信息统一下刷至对象存储层。
优选地,本申请提供的用量统计信息下刷装置中,信息转发模块包括:
请求处理子模块,用于控制业务线程处理客户端请求;
信息封装子模块,用于当业务线程每次处理客户端请求完成时,控制业务线程将与客户端请求对应的请求信息封装为用量统计信息;
信息插入子模块,用于当每次用量统计信息封装完毕时,控制业务线程将用量统计信息插入至全局数据结构的预设成员变量中。
优选地,本申请提供的用量统计信息下刷装置中,信息下刷模块包括:
第一下刷控制子模块,用于当全局数据结构初始化时,启动预设下刷线程按照预设下刷时间间隔,将下刷时间间隔内的用量统计信息打包下刷至对象存储层;
以及,
第二下刷控制子模块,用于当全局数据结构存储的用量统计信息的条数大于或等于预设条目数量时,控制预设下刷线程将存储的所有用量统计信息下刷至对象存储层。
优选地,本申请提供的用量统计信息下刷装置还包括:
用量查询模块,用于使用预设命令行管理工具查询指定用户或指定桶在预设时间段的访问用量,得到访问用量的参数;
对象访问模块,用于根据访问用量的参数,访问对象存储层中的存储池的Rados对象;
信息提取模块,用于从Rados对象中提取与访问用量的参数对应的用量统计信息;
信息统计模块,用于统计与访问用量的参数对应的用量统计信息。
优选地,本申请提供的用量统计信息下刷装置还包括:
对象创建模块,用于在对象存储层的存储池中创建多个Rados对象;
信息分配模块,用于根据用量统计信息包含的用户名信息控制对象存储层,通过哈希寻址方式将多条用量统计信息分别分配至对应的Rados对象中。
综上,本申请提供的用量统计信息下刷方案,在对象存储网关RGW启动时,首先创建一个全局数据结构,然后使用对象存储网关的业务线程在处理完成客户端请求后,将用量统计信息不直接下发给Rados层,而是暂时放入该全局数据结构中,因为该全局数据结构预先设置好定时下刷机制,使用该预设定时下刷机制将打包后的多条用量统计信息统一下刷至对象存储层,而非如背景技术中提到的每次获取到用量统计信息均下刷,这样能够减少对象存储网关向Rados层发送数据的次数,大大降低每次对开启用量统计功能导致的存储系统性能下降的影响,降低用量统计功能对存储系统性能的损耗。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图示出的结构获得其他的附图。
图1是本发明实施例提供的第一种分布式对象存储系统的用量统计信息的下刷方法的流程示意图;
图2是图1所示实施例提供的一种用量通缉你信息下发方法的流程示意图;
图3是图1所示实施例提供的一种多条用量统计信息的下刷方法的流程示意图;
图4是图3所示实施例提供的第二种分布式对象存储系统的用量统计信息的下刷方法的流程示意图;
图5是本发明实施例提供的第三种分布式对象存储系统的用量统计信息的下刷方法的流程示意图;
图6是本发明实施例提供的第一种分布式对象存储系统的用量统计信息的下刷装置的结构示意图;
图7是图6所示实施例提供的一种信息转发模块的结构示意图;
图8是图6所示实施例提供的一种信息下刷模块的结构示意图;
图9是本发明实施例提供的第二种分布式对象存储系统的用量统计信息的下刷装置的结构示意图;
图10是本发明实施例提供的第三种分布式对象存储系统的用量统计信息的下刷装置的结构示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例的主要技术问题如下:
现有的分布式对象存储系统在部署时,首先建立元数据池,在池中初始化多个用于存储用量统计信息的Rados对象;当客户端通过http请求访问该分布式对象存储系统时,对象存储网关每次均构建用量统计信息并下发至对象存储层。因为每次构建用量统计信息均下发至对象存储层,导致这种用量统计方案,当用户业务量过大时会出现以下问题:客户端每次请求处理都需需要多一次对Rados层的写请求,存在写放大的问题,影响性能。为解决分布式对象存储系统中数据一致性问题,系统对Rados层中对象写omap时需要拿到对象的读写锁,同一时间只有一个线程操作Rados对象,导致其他线程需要等待读写锁释放后才能够抢锁,对读写性能影响较大。
为了解决上述问题,具体参见图1,图1为本发明实施例提供的一种分布式对象存储系统的用量统计信息下刷方法的流程示意图。如图1所示,该分布式对象存储系统的用量统计信息下刷方法,包括:
S110:在启动对象存储网关时,创建全局数据结构。该全局数据结构作为用量统计信息的暂存层,暂时存储对象存储网关下发给对象存储层的所有用量统计信息。具体地,在对象存储网关启动时,主线程创建一个Usage_Logger的全局数据结构作为暂存层,暂时存储上层发送的所有用量统计信息。
S120:使用对象存储网关的业务线程,将所有用量统计信息下发至全局数据结构。在全局数据结构中包含有一个成员变量map,用于存储业务线程处理完客户端请求后下发的用量统计信息。
作为一种优选的实施例,具体如图2所示,上述步骤S120:将所有用量统计信息下发至全局数据结构的步骤,包括:
S121:控制业务线程处理客户端请求。
S122:当业务线程每次处理客户端请求完成时,控制业务线程将与客户端请求对应的请求信息封装为用量统计信息。
S123:当每次用量统计信息封装完毕时,控制业务线程将用量统计信息插入至全局数据结构的预设成员变量中。
本申请实施例提供的技术方案中,在业务线程每次处理完客户端请求OP后,首先将本次请求的op类型、用户、桶、访问时间和数据量等信息构建为一条用量统计信息,然后业务线程将该用量统计信息发送至全局数据结构的预设成员变量(例如map)中,因为全局数据结构作为暂存层暂时截流业务线程下发的所有用量统计信息,所以对象存储网关不会在处理客户端请求时每次都下发用量统计信息给对象存储层。
S130:使用全局数据结构打包用量统计信息,按照预设定时下刷机制将打包后的多条用量统计信息统一下刷至对象存储层。本申请实施例中,全局数据结构Usage_Logger在初始化时同时启动一个线程专门用于下刷用量统计信息,因为全局数据结构是将多条用量统计信息统一打包下刷的,因此全局数据结构按照预设定时下刷机制将用量统计信息统一下刷至对象存储层。这样对象存储层整体接收多条用量统计信息,不需要一条条接收用量统计信息,不会造成写放大的问题,并且能够使用多线程处理对象存储层中的rados对象,从而降低了用量统计功能对系统性能的损耗。
作为一种优选的实施例,具体如图3所示,上述步骤S130:按照预设定时下刷机制将打包后的多条用量统计信息统一下刷至对象存储层的步骤,包括:
S131:当全局数据结构初始化时,启动预设下刷线程按照预设下刷时间间隔,将下刷时间间隔内的用量统计信息打包下刷至对象存储层。本申请实施例提供的技术方案中,通过按照预设下刷时间,例如每30秒自动执行一次下刷操作,这样在下刷时间间隔(例如30秒)内收到的所有用量统计信息均能够一次下刷到对象存储层,从而提高了用量统计信息的下刷效率。
或者,
S132:当全局数据结构存储的用量统计信息的条数大于或等于预设条目数量时,控制预设下刷线程将存储的所有用量统计信息打包下刷至对象存储层。另外,本申请实施例中每条用量统计信息均插入到全局数据结构Usage_Logger的成员变量map时,都会自动检查用量统计信息的条数,当该用量统计信息的条数大于或等于预设条目数量时(例如条数大于或等于1000)时,则会触发下刷操作,将写omap请求发送至usage池对应的Rados对象中,清空但钱Usage_Logger的map,既能够保证多条用量统计信息打包统一下发,也能够减小全局书结构的成员变量map的存储空间。
综上,本申请提供的用量统计信息下刷方法,在对象存储网关RGW启动时,首先创建一个全局数据结构,然后使用对象存储网关的业务线程在处理完成客户端请求后,将用量统计信息不直接下发给Rados层,而是暂时放入该全局数据结构中,因为该全局数据结构预先设置好定时下刷机制,使用该预设定时下刷机制将打包后的多条用量统计信息统一下刷至对象存储层,而非如背景技术中提到的每次获取到用量统计信息均下刷,这样能够减少对象存储网关向Rados层发送数据的次数,大大降低每次对开启用量统计功能导致的存储系统性能下降的影响,降低用量统计功能对存储系统性能的损耗。
另外,作为一种优选的实施例,如图4所示,本申请提供的用量统计信息下刷方法除了上述步骤外还包括:
S210:使用预设命令行管理工具查询指定用户或指定桶在预设时间段的访问用量,得到访问用量的参数。其中参数包括:user(用户)、bucket(桶)、start-date(开始时刻)和end-date(结束时刻);预设命令行管理工具是一个命令行工具,能够直接访问Rados层,不通过对象存储网关,从而降低查询操作对对象存储网关的性能影响。
S220:根据访问用量的参数,访问对象存储层中的存储池的Rados对象。通过上述访问用量的参数,能够访问对象存储层中存储池的Rados对象,从而查询到某个用户或桶在具体时间段内的用量统计信息。
S230:从Rados对象中提取并统计与访问用量的参数对应的用量统计信息。具体地,命令行管理工具解析上述参数后,访问usage存储池,通过上述参数对用户名hash查询存储池中的usage.x对象,遍历该对象记录usage数据的Rados对象omap,将符合时间段内的数据提取出来。
本申请实施例提供的用量统计信息下刷方法,通过设计额外的用量统计查询工具,能够存Rados对象中提取并统计与上述访问用量的参数对应的用量统计信息,从而获取并显示某个用户或桶在预设时间段内每个时间点的用量统计信息。
作为一种优选的实施例,如图5所示,本申请提供的用量统计信息下刷方法还包括:
S310:在对象存储层的存储池中创建多个Rados对象;在对象存储服务初始化时,能够在对象存储层的存储池usage中创建多个Rados对象(例如128个),这样每个Rados对象都能够具体存储对应多条用户或桶的用量统计信息。
S320:根据用量统计信息包含的用户名信息控制对象存储层,通过哈希寻址方式将多条用量统计信息分别分配至对应的Rados对象中。
哈希寻址方式如下:首先从Hash的定义开始说起,hash的基本思想就是从一条记录中取出一条一个字段,该字段称之为key,通过一些固定的过程将key转换为数值,该数值称为散列键,散列键表示存储或者查找项中的位置,其中该数值将在0到n-1的范围,其中n是表中最大的槽数。将key转换成散列键的固定过程称之为散列函数,如果需要访问hash表,则需要使用该函数。
本申请实施例中,用量统计信息包含客户端请求的请求类型、用户名、桶、访问时间和数量等信息,并且每条Rados对象都对应不同的用户名,这样对象存储层就能够将用量统计信息包含的用户名信息与Rados对象进行匹配,进而能够通过哈希寻址方式将全局数据结构下刷的不同用量统计信息分配至对应的Rados对象中,实现了对象存储层中用量统计信息的高效分配。
另外,基于上述方法实施例的同一构思,本发明实施例还提供了用量统计信息下刷装置的专利,用于实现本发明的上述方法,由于用量统计信息下刷装置的实施例解决问题的原理与上述方法相似,因此至少具有上述实施例的技术方案所带来的所有有益效果,在此不再一一赘述。
参见图6,如图6所示,根据本发明的第二方面,本发明还提供了一种分布式对象存储系统的用量统计信息下刷装置,包括:
结构创建模块110,用于在启动对象存储网关时,创建全局数据结构;
信息转发模块120,用于控制对象存储网关的业务线程,将所有用量统计信息下发至全局数据结构;
信息下刷模块130,用于使用全局数据结构打包用量统计信息,按照预设定时下刷机制将打包后的多条用量统计信息统一下刷至对象存储层。
综上,本申请提供的用量统计信息下刷装置,在对象存储网关RGW启动时,首先创建一个全局数据结构,然后使用对象存储网关的业务线程在处理完成客户端请求后,将用量统计信息不直接下发给Rados层,而是暂时放入该全局数据结构中,因为该全局数据结构预先设置好定时下刷机制,使用该预设定时下刷机制将打包后的多条用量统计信息统一下刷至对象存储层,而非如背景技术中提到的每次获取到用量统计信息均下刷,这样能够减少对象存储网关向Rados层发送数据的次数,大大降低每次对开启用量统计功能导致的存储系统性能下降的影响,降低用量统计功能对存储系统性能的损耗。
作为一种优选的实施例,如图7所示,本申请提供的用量统计信息下刷装置中,信息转发模块120包括:
请求处理子模块121,用于控制业务线程处理客户端请求;
信息封装子模块122,用于当业务线程每次处理客户端请求完成时,控制业务线程将与客户端请求对应的请求信息封装为用量统计信息;
信息插入子模块123,用于当每次用量统计信息封装完毕时,控制业务线程将用量统计信息插入至全局数据结构的预设成员变量中。
作为一种优选的实施例,如图8所示,本申请提供的用量统计信息下刷装置中,信息下刷模块130包括:
第一下刷控制子模块131,用于当全局数据结构初始化时,启动预设下刷线程按照预设下刷时间间隔,将下刷时间间隔内的用量统计信息打包下刷至对象存储层;
以及,
第二下刷控制子模块132,用于当全局数据结构存储的用量统计信息的条数大于或等于预设条目数量时,控制预设下刷线程将存储的所有用量统计信息下刷至对象存储层。
作为一种优选的实施例,如图9所示,本申请提供的用量统计信息下刷装置还包括:
用量查询模块210,用于使用预设命令行管理工具查询指定用户或指定桶在预设时间段的访问用量,得到访问用量的参数;
对象访问模块220,用于根据访问用量的参数,访问对象存储层中的存储池的Rados对象;
信息提取模块230,用于从Rados对象中提取与访问用量的参数对应的用量统计信息;
信息统计模块240,用于统计与访问用量的参数对应的用量统计信息。
作为一种优选的实施例,如图10所示,本申请提供的用量统计信息下刷装置还包括:
对象创建模块310,用于在对象存储层的存储池中创建多个Rados对象;
信息分配模块320,用于根据用量统计信息包含的用户名信息,通过哈希寻址方式将多条用量统计信息分别分配至对应的Rados对象中。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
应当注意的是,在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的部件或步骤。位于部件之前的单词“一”或“一个”不排除存在多个这样的部件。本发明可以借助于包括有若干不同部件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (8)
1.一种分布式对象存储系统的用量统计信息下刷方法,其特征在于,包括:
在启动对象存储网关时,创建全局数据结构;
使用所述对象存储网关的业务线程,将所有用量统计信息下发至所述全局数据结构;
使用所述全局数据结构打包所述用量统计信息,按照预设定时下刷机制将打包后的多条用量统计信息统一下刷至对象存储层;
所述将所有用量统计信息下发至所述全局数据结构的步骤,包括:
控制所述业务线程处理客户端请求;
当所述业务线程每次处理客户端请求完成时,控制所述业务线程将与所述客户端请求对应的请求信息封装为所述用量统计信息;
当每次所述用量统计信息封装完毕时,控制所述业务线程将所述用量统计信息插入至所述全局数据结构的预设成员变量中。
2.根据权利要求1所述的用量统计信息下刷方法,其特征在于,所述按照预设定时下刷机制将打包后的多条用量统计信息统一下刷至对象存储层的步骤,包括:
当所述全局数据结构初始化时,启动预设下刷线程按照预设下刷时间间隔,将所述下刷时间间隔内的用量统计信息打包下刷至所述对象存储层;
或者,
当所述全局数据结构存储的用量统计信息的条数大于或等于预设条目数量时,控制所述预设下刷线程将存储的所有用量统计信息打包下刷至所述对象存储层。
3.根据权利要求1所述的用量统计信息下刷方法,其特征在于,还包括:
使用预设命令行管理工具查询指定用户或指定桶在预设时间段的访问用量,得到访问用量的参数;
根据所述访问用量的参数,访问对象存储层中的存储池的Rados对象;
从所述Rados对象中提取并统计与所述访问用量的参数对应的用量统计信息。
4.根据权利要求1所述的用量统计信息下刷方法,其特征在于,还包括:
在所述对象存储层的存储池中创建多个Rados对象;
根据所述用量统计信息包含的用户名信息控制所述对象存储层,通过哈希寻址方式将所述多条用量统计信息分别分配至对应的Rados对象中。
5.一种分布式对象存储系统的用量统计信息下刷装置,其特征在于,包括:
结构创建模块,用于在启动对象存储网关时,创建全局数据结构;
信息转发模块,用于控制对象存储网关的业务线程,将所有用量统计信息下发至所述全局数据结构;
信息下刷模块,用于使用所述全局数据结构打包所述用量统计信息,按照预设定时下刷机制将打包后的多条用量统计信息统一下刷至对象存储层;
所述信息转发模块,包括:
请求处理子模块,用于控制业务线程处理客户端请求;
信息封装子模块,用于当所述业务线程每次处理客户端请求完成时,控制所述业务线程将与所述客户端请求对应的请求信息封装为所述用量统计信息;
信息插入子模块,用于当每次所述用量统计信息封装完毕时,控制所述业务线程将所述用量统计信息插入至所述全局数据结构的预设成员变量中。
6.根据权利要求5所述的用量统计信息下刷装置,其特征在于,所述信息下刷模块,包括:
第一下刷控制子模块,用于当所述全局数据结构初始化时,启动预设下刷线程按照预设下刷时间间隔,将所述下刷时间间隔内的用量统计信息打包下刷至所述对象存储层;
以及,
第二下刷控制子模块,用于当所述全局数据结构存储的用量统计信息的条数大于或等于预设条目数量时,控制所述预设下刷线程将存储的所有用量统计信息下刷至所述对象存储层。
7.根据权利要求5所述的用量统计信息下刷装置,其特征在于,还包括:
用量查询模块,用于使用预设命令行管理工具查询指定用户或指定桶在预设时间段的访问用量,得到访问用量的参数;
对象访问模块,用于根据所述访问用量的参数,访问对象存储层中的存储池的Rados对象;
信息提取模块,用于从所述Rados对象中提取与所述访问用量的参数对应的用量统计信息;
信息统计模块,用于统计与所述访问用量的参数对应的用量统计信息。
8.根据权利要求5所述的用量统计信息下刷装置,其特征在于,还包括:
对象创建模块,用于在所述对象存储层的存储池中创建多个Rados对象;
信息分配模块,用于控制所述对象存储层根据所述用量统计信息包含的用户名信息,通过哈希寻址方式将所述多条用量统计信息分别分配至对应的Rados对象中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110602925.3A CN113485852B (zh) | 2021-05-31 | 2021-05-31 | 分布式对象存储系统的用量统计信息下刷方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110602925.3A CN113485852B (zh) | 2021-05-31 | 2021-05-31 | 分布式对象存储系统的用量统计信息下刷方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113485852A CN113485852A (zh) | 2021-10-08 |
CN113485852B true CN113485852B (zh) | 2024-02-13 |
Family
ID=77933703
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110602925.3A Active CN113485852B (zh) | 2021-05-31 | 2021-05-31 | 分布式对象存储系统的用量统计信息下刷方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113485852B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019192103A1 (zh) * | 2018-04-03 | 2019-10-10 | 平安科技(深圳)有限公司 | 并发访问控制方法、装置、终端设备及介质 |
CN110750507A (zh) * | 2019-09-30 | 2020-02-04 | 华中科技大学 | 面向dfs的全局命名空间下的客户端持久缓存方法及系统 |
CN111736767A (zh) * | 2020-05-29 | 2020-10-02 | 苏州浪潮智能科技有限公司 | 一种分布式对象存储系统写缓存的方法和设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9916325B2 (en) * | 2014-09-30 | 2018-03-13 | International Business Machines Corporation | Quick initialization of data regions in a distributed storage system |
-
2021
- 2021-05-31 CN CN202110602925.3A patent/CN113485852B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019192103A1 (zh) * | 2018-04-03 | 2019-10-10 | 平安科技(深圳)有限公司 | 并发访问控制方法、装置、终端设备及介质 |
CN110750507A (zh) * | 2019-09-30 | 2020-02-04 | 华中科技大学 | 面向dfs的全局命名空间下的客户端持久缓存方法及系统 |
CN111736767A (zh) * | 2020-05-29 | 2020-10-02 | 苏州浪潮智能科技有限公司 | 一种分布式对象存储系统写缓存的方法和设备 |
Non-Patent Citations (1)
Title |
---|
Ceph RadosGW对象存储集群的部署与优化;陈阳;王丹;;现代计算机(第14期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN113485852A (zh) | 2021-10-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Müller et al. | Lambada: Interactive data analytics on cold data using serverless cloud infrastructure | |
CN106156168B (zh) | 在跨分区数据库中查询数据的方法及跨分区查询装置 | |
CN107169083B (zh) | 公安卡口海量车辆数据存储与检索方法及装置、电子设备 | |
US8645958B2 (en) | Software virtual machine for content delivery | |
CN101442558B (zh) | 一种为p2sp网络提供索引服务的方法和系统 | |
US20130138730A1 (en) | Automated client/server operation partitioning | |
CN104166600A (zh) | 数据备份与恢复方法及装置 | |
CN111930473B (zh) | 在容器云上部署图像识别服务的方法与设备 | |
US20140324917A1 (en) | Reclamation of empty pages in database tables | |
US11593357B2 (en) | Databases and methods of storing, retrieving, and processing data | |
CN103034540B (zh) | 分布式消息系统及其设备和协调方法 | |
CN105808323A (zh) | 一种虚拟机创建方法及系统 | |
CN106503008B (zh) | 文件存储方法和装置及文件查询方法和装置 | |
US11422994B2 (en) | Adaptive query processor for query systems with limited capabilities | |
CN104462224A (zh) | 一种云盘文件在线编辑方法 | |
CN103034541A (zh) | 一种分布式消息系统及其中的设备和方法 | |
WO2023169175A1 (zh) | 一种请求处理方法、装置、计算机设备和存储装置 | |
CN106960011A (zh) | 分布式文件系统元数据管理系统及方法 | |
CN110297869A (zh) | 一种ai数据仓库平台及操作方法 | |
CN110968589A (zh) | 一种分布式系统中自增id的管理方法和装置 | |
CN103414762A (zh) | 云备份方法和装置 | |
TWI751214B (zh) | 資源處理方法及設備 | |
CN113485852B (zh) | 分布式对象存储系统的用量统计信息下刷方法和装置 | |
CN110019205A (zh) | 一种数据存储、还原方法、装置及计算机设备 | |
CN108153777B (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 |