对象存储桶的操作日志存储方法、装置、设备及存储介质与流程

未命名 08-22 阅读:149 评论:0


1.本发明涉及对象存储技术领域,特别涉及一种对象存储桶的操作日志存储方法、装置、设备及计算机可读存储介质。


背景技术:

2.随着互联网技术的发展,互联网中非结构化数据的数据量越来越大,这使得分布式对象存储应运而生。这种新兴的存储方式,适用于图片和视频等非结构化数据的存储。但是随着对象存储在海量存储中的应用不断深入,用户对于大数据的监控也越来越重视,尤其是对于数据的增加、修改和删除等操作。但是目前对象存储还没有一套面向用户的桶操作记录机制,而存储系统中后台运行日志对于用户来说是十分杂乱的,难以收集且有效信息。
3.因此,如何能够对对象存储桶的操作信息进行整理和收集,方便用户对对象存储桶的操作信息的监控与查询,提升用户体验,是现今急需解决的问题。


技术实现要素:

4.本发明的目的是提供一种对象存储桶的操作日志存储方法、装置、设备及计算机可读存储介质,以对对象存储桶的操作信息进行整理和收集,方便用户对对象存储桶的操作信息的监控与查询,提升用户体验。
5.为解决上述技术问题,本发明提供一种对象存储桶的操作日志存储方法,包括:
6.获取目标存储桶的操作请求对应的桶操作信息;其中,目标存储桶为对象存储系统中启动桶日志记录功能的存储桶,所述桶操作信息包括所述操作请求的请求时间和桶操作日志,所述桶操作日志包括请求结果和/或调用函数信息;
7.将所述请求时间作为索引,对各所述目标存储桶各自对应的桶操作信息进行存储,以根据当前目标存储桶的日志查询请求中的日志时间信息,查找到存储的所述日志时间信息对应的当前目标存储桶的桶操作信息;其中,当前目标存储桶为任一所述目标存储桶。
8.在一些实施例中,所述获取目标存储桶的操作请求对应的桶操作信息,包括:
9.对象存储服务器接收业务客户端设备发送的当前操作请求;其中,当前操作请求为对所述对象存储系统中的存储桶进行操作的请求;
10.若当前操作请求对应的存储桶为所述目标存储桶,则在对当前操作请求进行处理的过程中,收集并缓存当前操作请求对应的桶操作信息。
11.在一些实施例中,所述将所述请求时间作为索引,对各所述目标存储桶各自对应的桶操作信息进行存储之后,还包括:
12.对象存储服务器接收运维客户端设备发送的指定存储桶的当前日志查询请求;
13.判断所述指定存储桶是否为所述目标存储桶;
14.若是,则根据当前日志查询请求中的日志查询时间段,查找存储的所述指定存储
桶的当前日志查询请求对应的桶操作信息,并将查找到的当前日志查询请求对应的桶操作信息发送到所述运维客户端设备;其中,当前日志查询请求日志查询请求对应的桶操作信息为所述日志查询时间段内的请求时间对应的桶操作信息,所述日志时间信息为所述日志查询时间段。
15.在一些实施例中,所述将所述请求时间作为索引,对各所述目标存储桶各自对应的桶操作信息进行存储,包括:
16.利用后台处理线程,按预设时间间隔以所述预设时间内缓存的各所述目标存储桶各自对应的桶操作信息中的请求时间作为索引,对所述预设时间内缓存的各所述目标存储桶各自对应的桶操作信息进行存储。
17.在一些实施例中,所述将所述请求时间作为索引,对各所述目标存储桶各自对应的桶操作信息进行存储,包括:
18.利用数据池存储各所述目标存储桶各自的桶操作信息,并利用元数据池存储各所述目标存储桶各自的请求时间对应的索引,以根据当前目标存储桶的日志查询请求中的日志时间信息,查找到元数据池中所述日志时间信息对应的目标索引,并从数据池中查找到所述目标索引对应的当前目标存储桶的桶操作信息。
19.在一些实施例中,所述利用数据池存储各所述目标存储桶各自的桶操作信息,并利用元数据池存储各所述目标存储桶各自的请求时间对应的索引,包括:
20.获取缓存的当前目标存储桶对应的地图结构数据;其中,当前目标存储桶对应的地图结构数据包括当前目标存储桶的各桶操作信息各自对应的请求时间和桶操作日志;
21.根据所述地图结构数据,在数据池中存储当前目标存储桶对应的第一对象;其中,所述第一对象的对象名包括当前目标存储桶对应的地图结构数据中最小的请求时间;
22.根据所述第一对象的对象名,在元数据池中存储当前目标存储桶对应的第二对象的键值地图上加入相应的键值对。
23.在一些实施例中,所述键值对的键为所述第一对象的对象名,所述键值对的值为空。
24.本发明还提供了一种对象存储桶的操作日志存储装置,包括:
25.日志获取模块,用于获取目标存储桶的操作请求对应的桶操作信息;其中,目标存储桶为对象存储系统中启动桶日志记录功能的存储桶,所述桶操作信息包括所述操作请求的请求时间和桶操作日志,所述桶操作日志包括请求结果和/或调用函数信息;
26.日志存储模块,用于将所述请求时间作为索引,对各所述目标存储桶各自对应的桶操作信息进行存储,以根据当前目标存储桶的日志查询请求中的日志时间信息,查找到存储的所述日志时间信息对应的当前目标存储桶的桶操作信息;其中,当前目标存储桶为任一所述目标存储桶。
27.本发明还提供了一种对象存储桶的操作日志存储设备,包括:
28.存储器,用于存储计算机程序;
29.处理器,用于执行所述计算机程序时实现如上述所述的对象存储桶的操作日志存储方法的步骤。
30.此外,本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述所述的对象存储桶的操作日
志存储方法的步骤。
31.本发明所提供的一种对象存储桶的操作日志存储方法,包括:获取目标存储桶的操作请求对应的桶操作信息;其中,目标存储桶为对象存储系统中启动桶日志记录功能的存储桶,桶操作信息包括操作请求的请求时间和桶操作日志,桶操作日志包括请求结果和/或调用函数信息;将请求时间作为索引,对各目标存储桶各自对应的桶操作信息进行存储,以根据当前目标存储桶的日志查询请求中的日志时间信息,查找到存储的日志时间信息对应的当前目标存储桶的桶操作信息;其中,当前目标存储桶为任一目标存储桶;
32.可见,本发明能够以操作请求的请求时间作为索引,对对象存储系统中启动桶日志记录功能的存储桶的桶操作信息进行存储,实现了对存储桶的操作信息的整理和收集,使得后续能够通过请求时间查询到相应的桶操作信息,方便用户对对象存储桶的操作信息的监控与查询,提升了用户体验。此外,本发明还提供了一种对象存储桶的操作日志存储装置、设备及计算机可读存储介质,同样具有上述有益效果。
附图说明
33.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
34.图1为本发明实施例所提供的一种对象存储桶的操作日志存储方法的流程图;
35.图2为本发明实施例所提供的另一种对象存储桶的操作日志存储方法的流程示意图;
36.图3为本发明实施例所提供的另一种对象存储桶的操作日志存储方法的流程图;
37.图4为本发明实施例所提供的另一种对象存储桶的操作日志存储方法的日志查询过程的流程示意图;
38.图5为本发明实施例所提供的一种对象存储桶的操作日志存储装置的结构框图;
39.图6为本发明实施例所提供的一种对象存储桶的操作日志存储设备的结构示意图;
40.图7为本发明实施例所提供的一种对象存储桶的操作日志存储设备的具体结构示意图;
41.图8为本发明实施例所提供的一种计算机可读存储介质的结构示意图。
具体实施方式
42.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
43.请参考图1,图1为本发明实施例所提供的一种对象存储桶的操作日志存储方法的流程图。该方法可以包括:
44.步骤101:获取目标存储桶的操作请求对应的桶操作信息;其中,目标存储桶为对
象存储系统中启动桶日志记录功能的存储桶,桶操作信息包括操作请求的请求时间和桶操作日志,桶操作日志包括请求结果和/或调用函数信息。
45.可以理解的是,本实施例中的对象存储系统可以为采用对象存储(rados gateway)的存储系统,如分布式对象存储系统。本实施例中的目标存储桶可以为对象存储系统中启动桶日志记录功能的存储桶,即需要存储桶操作信息的存储桶。本实施例中的桶操作信息可以包括操作请求的请求时间(如接收时间),以及该操作请求的处理过程中对存储桶所做的操作日志,如该操作请求的请求结果(如删除成功或删除失败等)和/或该操作请求的处理过程中所调用的函数的信息(即调用函数信息),还可以包括该操作请求的请求类型等信息。
46.对应的,对于本实施例中处理器获取目标存储桶的操作请求对应的桶操作信息的具体方式,可以有设计人员根据实用场景和用户需求自行设置,如对象存储(rgw,rados gateway)服务器的处理器可以在接收到目标存储桶的操作请求后,在对该操作请求进行处理的过程中,收集该操作请求对应的桶操作信息;相应的,处理器还对该操作请求对应的桶操作信息进行缓存,以通过缓存方便桶操作信息的批量聚合转存,即本步骤中处理器可以收集并缓存目标存储桶的操作请求对应的桶操作信息,如图2所示,rgw服务器可以在接收到业务客户端(即业务客户端设备)下发的目标存储桶的操作请求后,对该操作请求处理完成后返回相应的回复内容,并将该操作请求的处理过程中收集的桶操作信息暂存到rgw服务器的缓存。
47.举例来说,本步骤中对象存储服务器的处理器可以接收业务客户端设备发送的当前操作请求;其中,当前操作请求为对对象存储系统中的存储桶进行操作的请求;若当前操作请求对应的存储桶为目标存储桶,则在对当前操作请求进行处理的过程中,收集并缓存当前操作请求对应的桶操作信息。如处理器在接收到业务客户端设备发送的当前操作请求之后,可以判断当前操作请求对应的存储桶是否为目标存储桶;若是,则收集并缓存当前操作请求对应的桶操作信息;若否,则可以结束本流程或对当前操作请求进行常规的处理,不收集当前操作请求对应的桶操作信息。处理器也可以在接收到业务客户端设备发送的当前操作请求之后,收集当前操作请求对应的桶操作信息,判断判断当前操作请求对应的存储桶是否为目标存储桶;若是,则对当前操作请求对应的桶操作信息进行缓存;若否,则可以结束本流程或对当前操作请求进行常规的处理,不缓存当前操作请求对应的桶操作信息。
48.对应的,对于本实施例中桶操作信息的具体数据结构,可以由设计人员根据实用场景和用户需求自行设置,如桶操作信息可以为地图(map)结构数据,例如,每个启动桶日志记录功能的存储桶(即目标存储桶)可以使用一个map结构缓存,用于保存该存储桶的桶操作信息,每个目标存储桶的操作请求对应的桶操作信息可以在相应的map结构缓存中以map结构保存的数据(即地图结构数据);桶操作信息为map结构数据时,每个map结构数据可以包括请求时间和桶操作日志,当前目标存储桶对应的地图结构数据可以包括当前目标存储桶的各桶操作信息各自对应的请求时间和桶操作日志;举例来说,map结构数据可以为键值(k-v,key-value)类型的map结构的数据,每个map结构数据中的键(key)可以为请求时间,每个map结构数据中的值(value)可以为操作日志,即该请求时间(key)对目标存储桶所做的操作日志;也就是说,一个map结构数据可以为《time,value》,预设时间(如1s)内收到处理100个当前目标存储桶的缓存请求,缓存中当前目标存储桶中记录的map结构数据可以
为map1={《time1,value1》,《time2,value2》,

,《time100,value100》},当前目标存储桶为任一目标存储桶。
49.步骤102:将请求时间作为索引,对各目标存储桶各自对应的桶操作信息进行存储,以根据当前目标存储桶的日志查询请求中的日志时间信息,查找到存储的日志时间信息对应的当前目标存储桶的桶操作信息;其中,当前目标存储桶为任一目标存储桶。
50.可以理解的是,本实施例中处理器可以以桶操作信息中的请求时间作为索引,对各目标存储桶各自对应的桶操作信息进行存储,从而使得后续可以利用任一目标存储桶的请求时间,查询到存储的该目标存储桶对应的桶操作信息,实现桶操作信息中桶操作日志的查询。
51.相应的,本实施例所提供的方法还可以包括桶操作信息的查询过程,如处理器可以根据当前目标存储桶的日志查询请求中的日志时间信息,查找到存储的日志时间信息对应的当前目标存储桶的桶操作信息;例如,对象存储服务器的处理器可以接收运维客户端设备发送的指定存储桶的当前日志查询请求;当前日志查询请求可以为任一日志查询请求;判断指定存储桶是否为目标存储桶;若是,则根据当前日志查询请求中的日志查询时间段,查找存储的指定存储桶的当前日志查询请求对应的桶操作信息,并将查找到的当前日志查询请求对应的桶操作信息或桶操作日志发送到运维客户端设备;其中,当前日志查询请求日志查询请求对应的桶操作信息为日志查询时间段内的请求时间对应的桶操作信息,日志查询请求中所要查询的桶操作日志的请求时间的信息(即日志时间信息)可以为用户自行指定的时间段(即日志查询时间段)。
52.需要说明的是,为了减少桶操作信息的收集和存储对对象存储系统的请求处理性能的影响,本实施例中处理器可以在步骤101中获取并缓存目标存储桶的操作请求对应的桶操作信息,在本步骤中利用后台处理线程,将请求时间作为索引,对各目标存储桶各自对应的桶操作信息进行存储。例如,本步骤中处理器可以利用后台处理线程,按预设时间间隔以预设时间内缓存的各目标存储桶各自对应的桶操作信息中的请求时间作为索引,对预设时间内缓存的各目标存储桶各自对应的桶操作信息进行存储;如图2所示,rgw服务器可以利用后台处理线程定时读取缓存中每个目标存储桶各自对应的桶操作信息进行存储。举例来说,预设时间为1s,即后台处理线程的工作间隔是1s时,处理器可以利用后台处理线程,每秒截取所有目标存储桶的缓存,以1s内缓存的每个目标存储桶的桶操作信息中的请求时间作为索引,对1s内缓存的该目标存储桶的桶操作信息进行存储。
53.对应的,对于本步骤中处理器将请求时间作为索引,对各目标存储桶各自对应的桶操作信息进行存储的具体方式,即桶操作信息和索引的具体存储方式,可以由设计人员根据实用场景和用户需求自行设置,如处理器可以直接利用对象存储系统的数据池存储各目标存储桶各自对应的桶操作信息。处理器也可以利用数据池存储各目标存储桶各自的桶操作信息,并利用元数据池存储各目标存储桶各自的请求时间对应的索引;使得后续可以处理器可以根据当前目标存储桶的日志查询请求中的日志时间信息,查找到元数据池中改日志时间信息对应的索引(即目标索引),并从数据池中查找到该目标索引对应的当前目标存储桶的桶操作信息。
54.其中,对象存储系统中存储池中的对象(rados对象)与对象存储系统中存储桶内的对象有区别,存储桶内的对象指的是整体的一个客户上传的文件保存在存储桶内称作
object,而rados对象指的是一段数据经过编码为二进制后保存在存储池中的一段数据称作rados对象。存储池分为元数据池和数据池,两个池子中的rados对象有区别,数据池中的rados对象仅为一段数据,没有omap结构;元数据池中的rados对象有omap结构;omap(键值地图)指在存储池中的rados对象上有一个k-v类型的map结构,可用于保存k-v类型的数据,一般omap只存在于元数据池的rados对象上。
55.对应的,对于上述处理器利用数据池存储各目标存储桶各自的桶操作信息,并利用元数据池存储各目标存储桶各自的请求时间对应的索引的具体方式,可以由设计人员自行设置,如目标存储桶的操作请求对应的桶操作信息在缓存中以地图结构数据暂存时,处理器可以获取缓存的当前目标存储桶对应的地图结构数据;其中,当前目标存储桶对应的地图结构数据包括当前目标存储桶的各桶操作信息各自对应的请求时间和桶操作日志;根据地图结构数据,在数据池中存储当前目标存储桶对应的第一对象(rados对象);其中,第一对象的对象名包括当前目标存储桶对应的地图结构数据中最小的请求时间或最大的请求时间,第一对象可以为地图结构数据对应的二进制编码结果;根据第一对象的对象名,在元数据池中存储当前目标存储桶对应的第二对象的键值地图(omap)上加入相应的键值对(k-v)。也就是说,处理器可以根据缓存中每个目标存储桶对应的全部桶操作信息(即地图结构数据),在存储池中存储每个目标存储桶各自对应的rados对象(即第一对象),该rados对象的对象名可以包括该目标存储桶对应的全部桶操作信息中最小的请求时间;在元数据池中每个目标存储桶各自对应的rados对象(即第二对象)的omap上加入相应的第一对象的对象名对应的键值对,如该键值对的键可以为第一对象的对象名,该键值对的值为空。
56.举例来说,处理器可以利用后台处理线程,按预设时间间隔获取缓存的每个目标存储桶各自对应的地图结构数据;根据每个目标存储桶各自对应的地图结构数据,在数据池中存储每个目标存储桶各自对应的第一对象;根据数据池中新存储的每个目标存储桶各自对应的第一对象的对象名,在元数据池中存储每个目标存储桶各自对应的第二对象的键值地图上加入相应的键值对。如图2所示,rgw服务器利用后台处理线程,按预设时间间隔定时读取缓存中各目标存储桶各自对应的桶操作信息(即地图结构数据)进行保存的过程,可以在数据池中保存以时间(即最小的请求时间)为名的rados对象(即第一对象),用于保存预设时间内的桶操作信息,可以记为桶日志对象;对应的,在元数据池内每个存储桶对应的rados对象(即第二对象)的omp上记录数据池中桶日志对象(即第一对象)的对象名作为索引。例如,缓存中1s内当前目标存储桶对应的地图结构数据为map1={《time1,value1》,《time2,value2》,

,《time100,value100》}时,后台处理线程可以读取map1,将map1编码为二进制的rados对象(即第一对象)保存在数据池中,该rados对象的对象名为可以包括时间最小的“time1”;并且在元数据池中每个开启桶日志记录功能的存储桶(即目标存储桶)都有一个rados对象(即第二对象),元数据池中当前目标存储桶对应的第二对象的omap上记录数据池中保存的第一对象的对象名,如在该第二对象的omap上记录了key=“time1”,value为空。
57.本实施例中,本发明实施例能够以操作请求的请求时间作为索引,对对象存储系统中启动桶日志记录功能的存储桶的桶操作信息进行存储,实现了对存储桶的操作信息的整理和收集,使得后续能够通过请求时间查询到相应的桶操作信息,方便用户对对象存储桶的操作信息的监控与查询,提升了用户体验。
58.基于上述实施例,本发明实施例还提供了另一种对象存储桶的操作日志存储方法,以实现存储桶的桶操作日志的查询功能,具体的,请参考图3,图3为本发明实施例所提供的另一种对象存储桶的操作日志存储方法的流程图。该方法可以包括:
59.步骤201:对象存储服务器接收运维客户端设备发送的指定存储桶的当前日志查询请求。
60.其中,本步骤中的对象存储服务器可以为对象存储系统中的服务器,本步骤中的运维客户端设备可以为运行有运维客户端的电子设备。本步骤中的指定存储桶可以为对象存储系统中的任一存储桶,本步骤中的指定存储桶的当前日志查询请求可以为用于查询对指定存储桶的桶操作日志的请求。
61.对应的,本实施例并不限定当前日志查询请求的具体内容,如当前日志查询请求可以包括所要查询的桶操作日志的请求时间的信息(即日志时间信息),如本实施例中日志时间信息可以为日志查询时间段,即需要查询一段时间内的指定存储桶的桶操作日志。当前日志查询请求还可以包括指定存储桶的标识信息,如指定存储桶的名称或编号。
62.步骤202:判断指定存储桶是否为目标存储桶;若是,则进入步骤203。
63.可以理解的是,本实施例中对象存储服务器可以通过判断当前日志查询请求对应的指定存储桶是否为启动桶日志记录功能的存储桶(即目标存储桶),确定是否存储有指定存储桶对应的桶操作信息,从而在确定存储有指定存储桶对应的桶操作信息时,通过步骤203查找存储的指定存储桶的当前日志查询请求对应的桶操作信息。
64.对应的,对于对象存储服务器确定指定存储桶不为目标存储桶的情况,可以由设计人员自行设置,可以如图4所示直接结束本流程,也可以向运维客户端设备返回桶日志记录功能的启动推荐信息,以提示用户开启指定存储桶的桶日志记录功能。
65.步骤203:根据当前日志查询请求中的日志查询时间段,查找存储的指定存储桶的当前日志查询请求对应的桶操作信息,并将查找到的当前日志查询请求对应的桶操作信息发送到运维客户端设备;其中,当前日志查询请求日志查询请求对应的桶操作信息为日志查询时间段内的请求时间对应的桶操作信息,日志时间信息为日志查询时间段。
66.需要说明的是,本步骤中对象存储服务器可以在确定指定存储桶为目标存储桶时,根据当前日志查询请求中的日志查询时间段,查询存储的日志查询时间段内的指定存储桶的请求时间对应的桶操作信息,并查询到的桶操作信息或桶操作信息中的桶操作日志返回给运维客户端设备,实现存储桶的桶操作日志的查询功能。
67.对应的,对于本步骤中对象存储服务器根据当前日志查询请求中的日志查询时间段,查找存储的指定存储桶的当前日志查询请求对应的桶操作信息的具体方式,可以由设计人员根据实用场景和用户需求自行设置,如对象存储服务器利用数据池和元数据池存储目标存储桶的桶操作信息和相应的索引时,对象存储服务器可以查询元数据池中日志查询时间段内指定存储桶的索引(即目标索引);根据目标索引,查询到数据池中指定存储桶的桶操作信息作为当前日志查询请求对应的桶操作信息。例如,对象存储服务器可以查询元数据池中指定存储桶对应的第二对象(rados对象)中的目标键值对;其中,目标键值对的键(key)中的请求时间在日志查询时间段内且值(value)为空;查询数据池中目标键值对对应的指定存储桶的第一对象;对查询到的指定存储桶的第一对象进行解码,得到当前日志查询请求对应的桶操作信息。
68.举例来说,用户启动存储桶bucket1的桶日志记录功能后,rgw服务器收到业务客户端设备的对bucket1的操作请求,在操作请求处理流程中收集与bucket1相关的桶操作信息,然后暂存到为bucket1对应的缓存map中,key为此次操作请求的接收时间记为time1,value为此次操作请求中收集到的与bucket1有关的操作日志记为log1,缓存map中存储的九次操作请求对应的内容可以为map={《time1,log1》,

,《time9,log9》},即九次操作请求对应的内容可按接收时间由小到大排序;然后操作请求处理结束,桶操作信息暂存在缓存中,等待后台处理线程的处理。
69.对应的,后台处理线程启动后,可以间隔1s去截取bucket1的缓存map内容,然后将该缓存map内容进行编码,存储到数据池作为一个bucket1对应的rados对象(即第一对象),对象名为截取到的map中第一个元素的key,即time1。同时,在元数据池中bucket1对应的桶日志索引的rados对象(即第二对象)的omap上添加一条kv(即键值对),key为time1即数据池中的第一对象的对象名,value为空,至此后台处理线程完成一次bucket1的桶操作信息的存储。
70.相应的,如图4所示,用户想要查询bucket1的桶操作日志时,可以通过运维客户端设备发起bucket1的日志查询请求,指定所要查询的时间段(即日志查询时间段),之后对象存储服务器(rgw服务器)可以到bucket1对应的元数据池中桶日志索引的rados对象上,通过对omap的key以日志查询时间段进行过滤,查找到目标键值对,以得到需要访问的数据池中的rados对象的对象名,然后到数据池中读取该对象名对应的bucket1的rados对象的数据,解码得到相应的桶操作信息,向运维客户端设备返回。
71.本实施例中,本发明实施例通过根据当前日志查询请求中的日志查询时间段,查找存储的指定存储桶的当前日志查询请求对应的桶操作信息,并将查找到的当前日志查询请求对应的桶操作信息发送到运维客户端设备,可以实现桶操作日志的查询功能,方便用户对桶操作信息的查询调用,提升了用户体验。
72.相应于上面的方法实施例,本发明实施例还提供了一种对象存储桶的操作日志存储装置,下文描述的一种对象存储桶的操作日志存储装置与上文描述的一种对象存储桶的操作日志存储方法可相互对应参照。
73.请参考图5,图5为本发明实施例所提供的一种对象存储桶的操作日志存储装置的结构框图。该装置可以包括:
74.日志获取模块10,用于获取目标存储桶的操作请求对应的桶操作信息;其中,目标存储桶为对象存储系统中启动桶日志记录功能的存储桶,桶操作信息包括操作请求的请求时间和桶操作日志,桶操作日志包括请求结果和/或调用函数信息;
75.日志存储模块20,用于将请求时间作为索引,对各目标存储桶各自对应的桶操作信息进行存储,以根据当前目标存储桶的日志查询请求中的日志时间信息,查找到存储的日志时间信息对应的当前目标存储桶的桶操作信息;其中,当前目标存储桶为任一目标存储桶。
76.在一些实施例中,该装置应用于对象存储服务器时,日志获取模块10可以包括:
77.操作接收子模块,用于接收业务客户端设备发送的当前操作请求;其中,当前操作请求为对对象存储系统中的存储桶进行操作的请求;
78.缓存子模块,用于若当前操作请求对应的存储桶为目标存储桶,则在对当前操作
请求进行处理的过程中,收集并缓存当前操作请求对应的桶操作信息。
79.在一些实施例中,该装置还可以包括:
80.查询接收子模块,用于接收运维客户端设备发送的指定存储桶的当前日志查询请求;
81.判断子模块,用于判断指定存储桶是否为目标存储桶;
82.判断子模块,用于若为目标存储桶,则根据当前日志查询请求中的日志查询时间段,查找存储的指定存储桶的当前日志查询请求对应的桶操作信息,并将查找到的当前日志查询请求对应的桶操作信息发送到运维客户端设备;其中,当前日志查询请求日志查询请求对应的桶操作信息为日志查询时间段内的请求时间对应的桶操作信息,日志时间信息为日志查询时间段。
83.在一些实施例中,日志存储模块20可以具体用于利用后台处理线程,按预设时间间隔以预设时间内缓存的各目标存储桶各自对应的桶操作信息中的请求时间作为索引,对预设时间内缓存的各目标存储桶各自对应的桶操作信息进行存储。
84.在一些实施例中,日志存储模块20可以具体用于利用数据池存储各目标存储桶各自的桶操作信息,并利用元数据池存储各目标存储桶各自的请求时间对应的索引,以根据当前目标存储桶的日志查询请求中的日志时间信息,查找到元数据池中日志时间信息对应的目标索引,并从数据池中查找到目标索引对应的当前目标存储桶的桶操作信息。
85.在一些实施例中,日志存储模块20可以包括:
86.缓存获取子模块,用于获取缓存的当前目标存储桶对应的地图结构数据;其中,当前目标存储桶对应的地图结构数据包括当前目标存储桶的各桶操作信息各自对应的请求时间和桶操作日志;
87.数据池存储子模块,用于根据地图结构数据,在数据池中存储当前目标存储桶对应的第一对象;其中,第一对象的对象名包括当前目标存储桶对应的地图结构数据中最小的请求时间;
88.元数据池存储子模块,用于根据第一对象的对象名,在元数据池中存储当前目标存储桶对应的第二对象的键值地图上加入相应的键值对。
89.在一些实施例中,键值对的键为第一对象的对象名,键值对的值为空。
90.本实施例中,本发明实施例通过日志存储模块20以操作请求的请求时间作为索引,对对象存储系统中启动桶日志记录功能的存储桶的桶操作信息进行存储,实现了对存储桶的操作信息的整理和收集,使得后续能够通过请求时间查询到相应的桶操作信息,方便用户对对象存储桶的操作信息的监控与查询,提升了用户体验。
91.相应于上面的方法实施例,本发明实施例还提供了一种对象存储桶的操作日志存储设备,下文描述的一种对象存储桶的操作日志存储设备与上文描述的一种对象存储桶的操作日志存储方法可相互对应参照。
92.请参考图6,图6为本发明实施例所提供的一种对象存储桶的操作日志存储设备的结构示意图。该电子设备可以包括:
93.存储器d1,用于存储计算机程序;
94.处理器d2,用于执行计算机程序时实现上述方法实施例所提供的对象存储桶的操作日志存储方法的步骤。
95.具体的,请参考图7,图7为本发明实施例所提供的一种对象存储桶的操作日志存储设备的具体结构示意图,该操作日志存储设备310可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processing units,cpu)322(例如,一个或一个以上处理器)和存储器332,一个或一个以上存储应用程序342或数据344的存储介质330(例如一个或一个以上海量存储设备)。其中,存储器332和存储介质330可以是短暂存储或持久存储。存储在存储介质330的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对数据处理设备中的一系列指令操作。更进一步地,中央处理器322可以设置为与存储介质330通信,在操作日志存储设备310上执行存储介质330中的一系列指令操作。
96.操作日志存储设备310还可以包括一个或一个以上电源326,一个或一个以上有线或无线网络接口350,一个或一个以上输入输出接口358,和/或,一个或一个以上操作系统341。例如,windows servertm,mac os xtm,unixtm,linuxtm,freebsdtm等。
97.具体的,本实施例所提供的对象存储桶的操作日志存储设备可以具体为服务器,如对象存储系统的服务器,即上述对象存储服务器。
98.上文所描述的对象存储桶的操作日志存储方法中的步骤可以由对象存储桶的操作日志存储设备的结构实现。
99.相应于上面的方法实施例,本发明实施例还提供了一种计算机可读存储介质,下文描述的一种计算机可读存储介质与上文描述的一种对象存储桶的操作日志存储方法可相互对应参照。
100.请参考图8,图8为本发明实施例所提供的一种计算机可读存储介质的结构示意图。该计算机可读存储介质40上存储有计算机程序41,计算机程序41被处理器执行时实现如上述方法实施例所提供的对象存储桶的操作日志存储方法的步骤。
101.该计算机可读存储介质40具体可以为u盘、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可存储程序代码的存储介质。
102.说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置、设备及计算机可读存储介质而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
103.以上对本发明所提供的一种对象存储桶的操作日志存储方法、装置、设备及计算机可读存储介质进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

技术特征:
1.一种对象存储桶的操作日志存储方法,其特征在于,包括:获取目标存储桶的操作请求对应的桶操作信息;其中,目标存储桶为对象存储系统中启动桶日志记录功能的存储桶,所述桶操作信息包括所述操作请求的请求时间和桶操作日志,所述桶操作日志包括请求结果和/或调用函数信息;将所述请求时间作为索引,对各所述目标存储桶各自对应的桶操作信息进行存储,以根据当前目标存储桶的日志查询请求中的日志时间信息,查找到存储的所述日志时间信息对应的当前目标存储桶的桶操作信息;其中,当前目标存储桶为任一所述目标存储桶。2.根据权利要求1所述的对象存储桶的操作日志存储方法,其特征在于,所述获取目标存储桶的操作请求对应的桶操作信息,包括:对象存储服务器接收业务客户端设备发送的当前操作请求;其中,当前操作请求为对所述对象存储系统中的存储桶进行操作的请求;若当前操作请求对应的存储桶为所述目标存储桶,则在对当前操作请求进行处理的过程中,收集并缓存当前操作请求对应的桶操作信息。3.根据权利要求1所述的对象存储桶的操作日志存储方法,其特征在于,所述将所述请求时间作为索引,对各所述目标存储桶各自对应的桶操作信息进行存储之后,还包括:对象存储服务器接收运维客户端设备发送的指定存储桶的当前日志查询请求;判断所述指定存储桶是否为所述目标存储桶;若是,则根据当前日志查询请求中的日志查询时间段,查找存储的所述指定存储桶的当前日志查询请求对应的桶操作信息,并将查找到的当前日志查询请求对应的桶操作信息发送到所述运维客户端设备;其中,当前日志查询请求日志查询请求对应的桶操作信息为所述日志查询时间段内的请求时间对应的桶操作信息,所述日志时间信息为所述日志查询时间段。4.根据权利要求1所述的对象存储桶的操作日志存储方法,其特征在于,所述将所述请求时间作为索引,对各所述目标存储桶各自对应的桶操作信息进行存储,包括:利用后台处理线程,按预设时间间隔以所述预设时间内缓存的各所述目标存储桶各自对应的桶操作信息中的请求时间作为索引,对所述预设时间内缓存的各所述目标存储桶各自对应的桶操作信息进行存储。5.根据权利要求1至4任一项所述的对象存储桶的操作日志存储方法,其特征在于,所述将所述请求时间作为索引,对各所述目标存储桶各自对应的桶操作信息进行存储,包括:利用数据池存储各所述目标存储桶各自的桶操作信息,并利用元数据池存储各所述目标存储桶各自的请求时间对应的索引,以根据当前目标存储桶的日志查询请求中的日志时间信息,查找到元数据池中所述日志时间信息对应的目标索引,并从数据池中查找到所述目标索引对应的当前目标存储桶的桶操作信息。6.根据权利要求5所述的对象存储桶的操作日志存储方法,其特征在于,所述利用数据池存储各所述目标存储桶各自的桶操作信息,并利用元数据池存储各所述目标存储桶各自的请求时间对应的索引,包括:获取缓存的当前目标存储桶对应的地图结构数据;其中,当前目标存储桶对应的地图结构数据包括当前目标存储桶的各桶操作信息各自对应的请求时间和桶操作日志;根据所述地图结构数据,在数据池中存储当前目标存储桶对应的第一对象;其中,所述
第一对象的对象名包括当前目标存储桶对应的地图结构数据中最小的请求时间;根据所述第一对象的对象名,在元数据池中存储当前目标存储桶对应的第二对象的键值地图上加入相应的键值对。7.根据权利要求6所述的对象存储桶的操作日志存储方法,其特征在于,所述键值对的键为所述第一对象的对象名,所述键值对的值为空。8.一种对象存储桶的操作日志存储装置,其特征在于,包括:日志获取模块,用于获取目标存储桶的操作请求对应的桶操作信息;其中,目标存储桶为对象存储系统中启动桶日志记录功能的存储桶,所述桶操作信息包括所述操作请求的请求时间和桶操作日志,所述桶操作日志包括请求结果和/或调用函数信息;日志存储模块,用于将所述请求时间作为索引,对各所述目标存储桶各自对应的桶操作信息进行存储,以根据当前目标存储桶的日志查询请求中的日志时间信息,查找到存储的所述日志时间信息对应的当前目标存储桶的桶操作信息;其中,当前目标存储桶为任一所述目标存储桶。9.一种对象存储桶的操作日志存储设备,其特征在于,包括:存储器,用于存储计算机程序;处理器,用于执行所述计算机程序时实现如权利要求1至7任一项所述的对象存储桶的操作日志存储方法的步骤。10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的对象存储桶的操作日志存储方法的步骤。

技术总结
本发明公开了一种对象存储桶的操作日志存储方法、装置、设备及计算机可读存储介质,涉及对象存储技术领域,该方法包括:获取目标存储桶的操作请求对应的桶操作信息;其中,桶操作信息包括操作请求的请求时间和桶操作日志;将请求时间作为索引,对各目标存储桶各自对应的桶操作信息进行存储,以根据当前目标存储桶的日志查询请求中的日志时间信息,查找到存储的日志时间信息对应的当前目标存储桶的桶操作信息;本发明能够以操作请求的请求时间作为索引,对对象存储系统中启动桶日志记录功能的存储桶的桶操作信息进行存储,实现了对存储桶的操作信息的整理和收集,方便用户对存储桶的操作信息的监控与查询,提升了用户体验。提升了用户体验。提升了用户体验。


技术研发人员:袁圣骐 蔡骞
受保护的技术使用者:济南浪潮数据技术有限公司
技术研发日:2023.05.19
技术公布日:2023/8/21
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐