日志记录方法、装置、电子设备及计算机可读存储介质与流程
未命名
09-02
阅读:126
评论: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.可选地,所述日志记录方法还包括:
35.当接收到桶日志查询请求时,根据所述桶日志查询请求确定目标查询桶和所述目标查询桶对应的目标日志桶;
36.根据所述桶日志查询请求在所述日志存储桶查询所述目标查询桶的访问日志。
37.可选地,所述日志记录方法还包括:
38.对所述访问日志执行预设操作;所述预设操作包括下载操作和/或删除操作。
39.第二方面,本技术还公开了一种日志记录装置,包括:
40.确定模块,用于当接收到关于目标存储桶的访问请求时,根据所述访问请求确定所述目标存储桶对应的日志存储桶;
41.第一生成模块,用于根据所述访问请求和所述访问请求的处理结果生成访问日志;
42.第一存储模块,用于将所述访问日志存储至预设存储空间,并确定所述访问日志在所述预设存储空间的存储位置;
43.第二生成模块,用于根据所述存储位置生成所述访问日志的日志索引;
44.第二存储模块,用于将所述日志索引存储至所述日志存储桶。
45.第三方面,本技术还公开了一种电子设备,包括:
46.存储器,用于存储计算机程序;
47.处理器,用于执行所述计算机程序时实现如上所述的任一种日志记录方法的步骤。
48.第四方面,本技术还公开了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的任一种日志记录方法的步骤。
49.本技术提供了一种日志记录方法,包括:当接收到关于目标存储桶的访问请求时,根据所述访问请求确定所述目标存储桶对应的日志存储桶;根据所述访问请求和所述访问请求的处理结果生成访问日志;将所述访问日志存储至预设存储空间,并确定所述访问日志在所述预设存储空间的存储位置;根据所述存储位置生成所述访问日志的日志索引;将所述日志索引存储至所述日志存储桶。
50.应用本技术所提供的技术方案,对于需要进行日志记录的目标存储桶,预先设置与其对应的日志存储桶,在接收到关于目标存储桶的访问请求时,即可根据该访问请求确定目标存储桶对应的日志存储桶,并结合其处理结果生成此次访问请求的访问日志,进一步,根据访问日志在预设存储空间中的存储位置生成相应的日志索引,并保存至日志存储桶,由此,基于预设存储空间实现了存储桶的日志数据存储,基于日志存储桶实现了存储桶的日志索引存储,以便于后续可以基于日志索引进行桶日志数据查询,由此可见,本技术方案实现了对象存储系统内存储桶的日志记录,有效地满足了用户需求。
51.在一种实施例中,采用了基于缓存暂存日志的实现方式,在采集得到访问日志后先将其存储至预设缓存,然后待到预设缓存中的访问日志满足预设下刷条件后再进行批量访问日志的统一下刷,可以有效避免日志下刷冲突,进而避免日志数据的丢失问题。
52.在一种实施例中,采用了对象存储的方式实现了日志索引的存储,将条带日志的日志标识与存储位置生成数据对插入至日志池中的对象结构图中,生成日志索引,实现了基于对象存储的日志索引存储,更加便于后续进行日志查询处理。
53.在一种实施例中,在对目标存储桶进行日志记录之前,首先判断当前系统的桶日志功能是否开启,然后根据开启状态确定是否需要进行桶日志记录,可见,本实施例中的对象存储系统支持桶日志功能的自定义设置,方便用户根据实际需求确定是否开启桶日志记录服务,有效地满足了用户的不同需求。
54.本技术所提供的日志记录装置、电子设备以及计算机可读存储介质,同样具有上述技术效果,本技术在此不再赘述。
附图说明
55.为了更清楚地说明现有技术和本技术实施例中的技术方案,下面将对现有技术和本技术实施例描述中需要使用的附图作简要的介绍。当然,下面有关本技术实施例的附图描述的仅仅是本技术中的一部分实施例,对于本领域普通技术人员来说,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图,所获得的其他附图也属于本技术的保护范围。
56.图1为本技术所提供的一种日志记录方法的流程示意图;
57.图2为本技术所提供的另一种日志记录方法的流程示意图;
58.图3为本技术所提供的一种日志记录装置的结构示意图;
59.图4为本技术所提供的一种电子设备的结构示意图。
具体实施方式
60.本技术的核心是提供一种日志记录方法,该日志记录方法可以实现对象存储系统内存储桶的日志记录;本技术的另一核心是提供一种日志记录装置、电子设备及计算机可读存储介质,均具有上述有益效果。
61.为了对本技术实施例中的技术方案进行更加清楚、完整地描述,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行介绍。显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
62.本技术实施例提供了一种日志记录方法。
63.请参考图1,图1为本技术所提供的一种日志记录方法的流程示意图,该日志记录方法可以包括如下s101至s105。
64.s101:当接收到关于目标存储桶的访问请求时,根据访问请求确定目标存储桶对应的日志存储桶。
65.本步骤旨在实现日志存储桶的确定。对于对象存储系统而言,当其接收到关于目标存储桶的访问请求时,可以根据该访问请求确定目标存储桶对应的日志存储桶。其中,目标存储桶即需要进行日志记录的存储桶,即需要对其处理的各类访问请求进行日志记录,以供后续操作跟踪和问题排查;访问请求可以为用户通过客户端发起的各类数据处理请求(如op请求,预检请求),包括但不限于上传请求、修改请求、删除请求等;日志存储桶对应于目标存储桶,其作用在于记录目标存储桶的访问请求的相关日志信息。其中,目标存储桶与日志存储通可以为一对多的对应关系,即一个日志存储桶可用于实现多个目标存储桶的日志记录。
66.s102:根据访问请求和访问请求的处理结果生成访问日志。
67.本步骤旨在实现访问日志的生成,即生成访问请求对应的访问日志。具体而言,为保证所记录的访问日志的信息完整性,可以结合访问请求及其处理结果进行访问日志的生成。其中,访问日志的具体内容可以由技术人员根据实际情况进行设置,例如,可以包括访问请求的请求类型、接收时间、处理时长、处理结果等,本技术对此不做限定。
68.s103:将访问日志存储至预设存储空间,并确定访问日志在预设存储空间的存储位置。
69.本步骤旨在实现访问日志的存储。具体而言,在生成访问请求对应的访问日志之后,可以将该访问日志存储至预设存储空间,并确定其在该预设存储空间中的存储位置。其中,预设存储空间为预先创建的用于记录桶日志数据(即关于目标存储桶的访问日志)的存储空间,具体可以为数据池(data池),相应地,访问日志在预设存储空间的存储位置即其在数据池中的存储位置(如偏移地址等)。
70.s104:根据存储位置生成访问日志的日志索引。
71.本步骤旨在实现访问日志的日志索引的生成。具体而言,在确定访问日志在预设存储空间的存储位置之后,即可利用该存储位置生成访问日志的日志索引,可以理解的是,该日志索引用于实现后续日志查询功能,因此,该日志索引内必然包含访问日志在预设存储空间的存储位置。当然,日志索引还可以包含其他类别的数据信息,以便后续进行日志查询,其具体内容根据实际情况进行设定即可。
72.s105:将日志索引存储至日志存储桶。
73.本步骤旨在实现日志索引的存储,即将访问日志的日志索引存储至日志存储桶。由此,基于预设存储空间实现了存储桶的日志数据存储,基于日志存储桶实现了存储桶的日志索引存储,因此,后续则可以基于日志索引实现桶日志数据的查询功能。
74.可见,本技术实施例所提供的日志记录方法,对于需要进行日志记录的目标存储桶,预先设置与其对应的日志存储桶,在接收到关于目标存储桶的访问请求时,即可根据该访问请求确定目标存储桶对应的日志存储桶,并结合其处理结果生成此次访问请求的访问日志,进一步,根据访问日志在预设存储空间中的存储位置生成相应的日志索引,并保存至日志存储桶,由此,基于预设存储空间实现了存储桶的日志数据存储,基于日志存储桶实现了存储桶的日志索引存储,以便于后续可以基于日志索引进行桶日志数据查询,由此可见,本技术方案实现了对象存储系统内存储桶的日志记录,有效地满足了用户需求。
75.在上述实施例的基础上:
76.在本技术的一个实施例中,上述将访问日志存储至预设存储空间,可以包括:
77.将访问日志存储至预设缓存;
78.判断预设缓存中的访问日志是否满足预设下刷条件;
79.若是,则将预设缓存中的所有访问日志下刷至预设存储空间。
80.本技术实施例提供了一种将访问日志存储至预设存储空间的实现方式,即基于缓存暂存日志的实现方式。具体而言,在采集得到访问日志之后,可以先将其存储至预设缓存,然后判断预设缓存中的访问日志是否满足预设下刷条件,该预设下刷条件是指预先设定的可以将预设缓存中的访问日志下刷至预设存储空间的执行条件,其具体内容可以由技术人员根据实际需求进行自定义设置;进一步,当预设缓存中的访问日志满足预设下刷条件时,即可将该预设缓存中的所有访问日志统一下刷至预设存储空间中,实现访问日志存储。
81.可见,本技术实施例采用了基于缓存暂存日志的实现方式,在采集得到访问日志后先将其存储至预设缓存,然后待到预设缓存中的访问日志满足预设下刷条件后再进行批量访问日志的统一下刷,可以有效避免日志下刷冲突,进而避免日志数据的丢失问题。
82.在本技术的一个实施例中,上述判断预设缓存中的访问日志是否满足预设下刷条件,可以包括:
83.判断预设缓存中的访问日志数量是否达到预设数量,或预设缓存的缓存时长是否达到预设时长;
84.若访问日志数量达到预设数量,或缓存时长达到预设时长,则确定预设缓存中的访问日志满足预设下刷条件。
85.本技术实施例提供了一种具体类型的预设下刷条件,包括:预设缓存中的访问日志数量是否达到预设数量、预设缓存的缓存时长是否达到预设时长。因此,在判断预设缓存中的访问日志是否满足预设下刷条件时,具体可以为判断预设缓存中所存储的访问日志的数量(访问日志数量)是否达到预设数量,或,预设缓存中缓存访问日志的时长(缓存时长)是否达到预设时长,若满足其中任一条件,即可确定预设缓存中的访问日志已经满足预设下刷条件,继续进行访问日志数据的下刷即可。此外,预设数量和预设时长的取值并不影响本技术方案的实施,由技术人员根据实际情况进行设定即可,本技术对此不做限定。
86.在本技术的一个实施例中,预设存储空间可以为数据池,上述将预设缓存中的所有访问日志下刷至预设存储空间,可以包括:将预设缓存中的所有访问日志以条带日志的形式下刷至数据池。
87.本技术实施例提供了一种具体类型的预设存储空间,即数据池(data池),在此基础上,在对预设缓存中的访问日志进行下刷时,可以以条带日志的形式将其下刷至数据池,其中,每一次下刷操作对应的所有访问日志即为一个条带日志。
88.在本技术的一个实施例中,上述将预设缓存中的所有访问日志以条带日志的形式下刷至数据池之后,还可以包括:生成条带日志的条带标识;
89.相应地,上述根据存储位置生成访问日志的日志索引,可以包括:将存储位置和条带标识对应插入至日志池中的对象结构图,生成访问日志的日志索引。
90.本技术实施例提供了一种日志索引的生成方法。如上所述,在对预设缓存中的访问日志进行下刷时,可以以条带日志的形式将其下刷至数据池,其中,每一次下刷操作对应的所有访问日志即为一个条带日志,在此基础上,可以生成该条带日志的条带标识,如条带id(identity document,身份标识号)信息,由此,即可根据访问日志在数据池中的存储位置和条带标识实现日志索引的生成,具体的,可以将存储位置和条带标识对应插入至日志池(log池)中的对象结构图(omap)中,实现日志索引的生成。
91.可见,在本实施例中,采用了对象存储的方式实现了日志索引的存储,将条带日志的日志标识与存储位置生成数据对插入至日志池中的对象结构图中,生成日志索引,实现了基于对象存储的日志索引存储,更加便于后续进行日志查询处理。
92.在本技术的一个实施例中,上述根据访问请求和访问请求的处理结果生成访问日志,可以包括:
93.根据访问请求确定请求类型和资源访问信息;
94.根据访问请求的处理结果确定处理结果信息和时间戳信息;
95.根据请求类型、资源访问信息、处理结果信息、时间戳信息生成访问日志。
96.本技术实施例提供了一种访问日志的生成方法,其内容可以包括请求类型、资源访问信息、处理结果信息、时间戳信息,其中,请求类型和资源访问信息可以根据访问请求确定,处理结果信息和时间戳信息可以根据访问请求的处理结果确定。其中,请求类型可以包括上传请求、删除请求、修改请求等;资源访问信息则是指访问请求中指定访问的资源信息(包括但不限于资源类型、资源存储位置等);处理结果信息即访问请求最终的处理结果;时间戳信息则可以包括接收访问请求的时间节点、访问请求处理完毕的时间节点、访问请求的处理时长等。
97.在本技术的一个实施例中,上述根据访问请求确定目标存储桶对应的日志存储桶,可以包括:
98.根据访问请求确定目标存储桶;
99.根据预设存储桶映射关系查询确定目标存储桶对应的日志存储桶;预设存储桶映射关系为可访问存储桶与日志存储桶之间的映射关系。
100.本技术实施例提供了一种确定目标存储桶对应的日志存储桶的实现方式。具体而言,可以预先创建可访问存储桶与日志存储桶之间的映射关系,即上述预设映射关系,例如,多个可访问存储桶对应于一个日志存储桶,或者一个可访问存储桶对应于一个日志存
储桶,目标存储桶即为所有可访问存储桶中任意一个存储桶,由此,即可在该预设映射关系中查询确定目标存储桶对应的日志存储桶。
101.在本技术的一个实施例中,上述当接收到关于目标存储桶的访问请求时,根据访问请求确定目标存储桶对应的日志存储桶,可以包括:
102.当接收到关于目标存储桶的访问请求时,判断桶日志功能是否开启;
103.若是,则根据访问请求确定目标存储桶对应的日志存储桶。
104.在本技术实施例中,对象存储系统支持桶日志功能的自定义设置,使得用户可以根据实际需求设置桶日志功能的开启与关闭。具体而言,当接收到关于目标存储桶的访问请求时,在根据访问请求确定目标存储桶对应的日志存储桶之前,可以先判断当前系统是否开启桶日志功能,如若已经开启桶日志功能,则说明当前需要桶日志记录服务,因此,可以继续执行根据访问请求确定目标存储桶对应的日志存储桶的步骤;反之,如若当前系统未开启桶日志功能,则说明当前不需要桶日志记录服务,则继续进行访问请求即可,需要对其进行日志记录。此外,在默认情况下,可以预先定义桶日志功能为关闭状态。
105.显然,本实施例中的对象存储系统支持桶日志功能的自定义设置,方便用户根据实际需求确定是否开启桶日志记录服务,有效地满足了用户的不同需求。
106.在本技术的一个实施例中,该日志记录方法还可以包括:
107.当接收到桶日志查询请求时,根据桶日志查询请求确定目标查询桶和目标查询桶对应的目标日志桶;
108.根据桶日志查询请求在日志存储桶查询目标查询桶的访问日志。
109.本技术实施例所提供的日志记录方法还可以进一步实现桶日志查询功能。具体而言,当用户需要进行桶日志查询时,可以通过客户端发起日志查询请求,对于对象存储系统而言,则可以根据该桶日志查询请求确定目标查询桶及其对应的目标日志桶,其中,目标查询桶即用户需要进行日志查询的存储桶,目标日志桶即需要进行日志查询的存储桶的日志存储桶,记录有需要进行日志查询的存储桶的访问日志,因此,可以根据桶日志查询请求在日志存储桶中查询到目标查询桶的访问日志,实现桶日志查询。
110.在本技术的一个实施例中,该日志记录方法还可以包括:对访问日志执行预设操作;预设操作包括下载操作和/或删除操作。
111.本技术实施例所提供的日志记录方法还可以进一步实现桶日志管理操作,即上述预设操作,其中,预设操作可以包括但不限于下载操作、删除操作等,下载操作可用于在日志存储桶中下载目标查询桶的访问日志,删除操作则可以在日志存储桶中删除目标查询桶的访问日志。
112.在上述实施例的基础上,本技术实施例提供了另一种日志记录方法。
113.请参考图2,图2为本技术所提供的另一种日志记录方法的流程示意图,其实现流程如下:
114.1、默认情况下,radosgw(一种对象存储系统)的桶日志功能关闭,可通过自定义设置开启桶日志功能。
115.2、在桶日志功能开启的情况下,当监测到op请求(预检请求)到达radosgw时,启动管理线程(如bl线程)对其进行访问日志记录,并保存至线程缓存内,随即op请求完成。其中,记录的访问日志可以包括请求类型、请求中指定的访问资源以及请求处理时间和日期
等信息。当然,每一次op请求均会向线程缓存添加一条日志记录。
116.3、当持续存在业务压力时,线程缓存中的访问日志不断增加,某个op在插入线程缓存时可以通过如下两个条件来判断是否主动将线程缓存中的内容下刷至data池(数据池):
117.(1)线程缓存中的访问日志条数超过最大条数时,触发下刷;
118.(2)当前时间与上一次下刷时间的时间间隔超过最大间隔时间时,触发下刷。
119.当线程缓存达到上述任一下刷条件时,管理线程可以读取线程缓存,并将其中所有的内容下刷至data池,且保存为一个日志对象条带,日志对象条带名为oid=${tenant_name}:{bucket_name}:${date}:${hostname},其中,tenant_name为源桶(目标存储桶)的租户名,bucket_name为源桶名,date为“年月日时分秒.毫秒”的时间戳,hostname为主机节点名。
120.4、在下刷完成之后,可以在log池(日志池)的rados对象omap(对象结构图)中插入一条对应于oid的记录,以生成日志索引。其中,rados对象名rados_oid=${tenant_name}:{bucket_name}:${date},date由“年月日时分秒.纳秒”,秒与纳秒均为0,该rados对象可以称为日志对象头,该日志对象头的omap上记录了date对应的预设时长(如一分钟)内的访问日志的日志对象条带名和其在data池中的存储位置,用于索引预设时长内的日志对象条带。
121.5、在log池中,日志对象头第一次插入后会在目的日志桶(日志存储桶)内生成对象,对象名object_name即为rados_oid,此时目的日志桶内的对象可用于下载和删除,也可以通过restapi接口(一种应用程序接口)进行日志查询。
122.至此,实现对象存储系统内存储桶的日志记录与查询功能。
123.此外,需要说明的是,为实现上述技术方案,关于对象存储系统需要预先设置如下约束条件:
124.1、桶日志功能开启时必须指定日志存储的目的桶,两个桶(需要进行日志记录的存储桶和用于记录桶日志的存储桶)不能为同一个桶且必须属于同一个用户。
125.2、桶日志功能和作为目的桶两个属性互斥,即:如果已经为日志存储的目的桶,则该桶无法开启桶日志功能,如果已经开启了桶日志功能,则该桶无法被指定为日志存储的目的桶。
126.3、如果已经被指定为目的桶,则该桶无法作为正常存储桶使用,因此目的桶需要新创建空桶,该桶内对象仅可下载与删除,与其他属性不兼容。
127.4、restapi查询有延迟,可以预先设置在完成日志上传并延迟预设时长后方可进行日志查询,以此来确保查询到的数据完整性。
128.可见,本技术实施例所提供的日志记录方法,对于需要进行日志记录的目标存储桶,预先设置与其对应的日志存储桶,在接收到关于目标存储桶的访问请求时,即可根据该访问请求确定目标存储桶对应的日志存储桶,并结合其处理结果生成此次访问请求的访问日志,进一步,根据访问日志在预设存储空间中的存储位置生成相应的日志索引,并保存至日志存储桶,由此,基于预设存储空间实现了存储桶的日志数据存储,基于日志存储桶实现了存储桶的日志索引存储,以便于后续可以基于日志索引进行桶日志数据查询,由此可见,本技术方案实现了对象存储系统内存储桶的日志记录,有效地满足了用户需求。
129.本技术实施例提供了一种日志记录装置。
130.请参考图3,图3为本技术所提供的一种日志记录装置的结构示意图,该日志记录装置可以包括:
131.确定模块1,用于当接收到关于目标存储桶的访问请求时,根据访问请求确定目标存储桶对应的日志存储桶;
132.第一生成模块2,用于根据访问请求和访问请求的处理结果生成访问日志;
133.第一存储模块3,用于将访问日志存储至预设存储空间,并确定访问日志在预设存储空间的存储位置;
134.第二生成模块4,用于根据存储位置生成访问日志的日志索引;
135.第二存储模块5,用于将日志索引存储至日志存储桶。
136.可见,本技术实施例所提供的日志记录装置,对于需要进行日志记录的目标存储桶,预先设置与其对应的日志存储桶,在接收到关于目标存储桶的访问请求时,即可根据该访问请求确定目标存储桶对应的日志存储桶,并结合其处理结果生成此次访问请求的访问日志,进一步,根据访问日志在预设存储空间中的存储位置生成相应的日志索引,并保存至日志存储桶,由此,基于预设存储空间实现了存储桶的日志数据存储,基于日志存储桶实现了存储桶的日志索引存储,以便于后续可以基于日志索引进行桶日志数据查询,由此可见,本技术方案实现了对象存储系统内存储桶的日志记录,有效地满足了用户需求。
137.在本技术的一个实施例中,上述第一存储模块3可包括:
138.存储单元,用于将访问日志存储至预设缓存;
139.判断单元,用于判断预设缓存中的访问日志是否满足预设下刷条件;
140.下刷单元,用于若预设缓存中的访问日志满足预设下刷条件,则将预设缓存中的所有访问日志下刷至预设存储空间。
141.在本技术的一个实施例中,上述判断单元可具体用于判断预设缓存中的访问日志数量是否达到预设数量,或预设缓存的缓存时长是否达到预设时长;若访问日志数量达到预设数量,或缓存时长达到预设时长,则确定预设缓存中的访问日志满足预设下刷条件。
142.在本技术的一个实施例中,预设存储空间为数据池,上述下刷单元可具体用于将预设缓存中的所有访问日志以条带日志的形式下刷至数据池。
143.在本技术的一个实施例中,该日志记录装置还可以包括标识生成模块,用于在上述将预设缓存中的所有访问日志以条带日志的形式下刷至数据池之后,生成条带日志的条带标识;
144.相应地,上述第二生成模块4可具体用于将存储位置和条带标识对应插入至日志池中的对象结构图,生成访问日志的日志索引。
145.在本技术的一个实施例中,上述第一生成模块2可具体用于根据访问请求确定请求类型和资源访问信息;根据访问请求的处理结果确定处理结果信息和时间戳信息;根据请求类型、资源访问信息、处理结果信息、时间戳信息生成访问日志。
146.在本技术的一个实施例中,上述确定模块1可具体用于根据访问请求确定目标存储桶;根据预设存储桶映射关系查询确定目标存储桶对应的日志存储桶;预设存储桶映射关系为可访问存储桶与日志存储桶之间的映射关系。
147.在本技术的一个实施例中,上述确定模块1可具体用于当接收到关于目标存储桶
的访问请求时,判断桶日志功能是否开启;若是,则根据访问请求确定目标存储桶对应的日志存储桶。
148.在本技术的一个实施例中,该日志记录装置还可以包括查询模块,用于对访问日志执行预设操作;预设操作包括下载操作和/或删除操作。当接收到桶日志查询请求时,根据桶日志查询请求确定目标查询桶和目标查询桶对应的目标日志桶;根据桶日志查询请求在日志存储桶查询目标查询桶的访问日志。
149.在本技术的一个实施例中,该日志记录装置还可以包括操作模块,用于对访问日志执行预设操作;预设操作包括下载操作和/或删除操作。
150.对于本技术实施例提供的装置的介绍请参照上述方法实施例,本技术在此不做赘述。
151.本技术实施例提供了一种电子设备。
152.请参考图4,图4为本技术所提供的一种电子设备的结构示意图,该电子设备可包括:
153.存储器,用于存储计算机程序;
154.处理器,用于执行计算机程序时可实现如上述任意一种日志记录方法的步骤。
155.如图4所示,为电子设备的组成结构示意图,电子设备可以包括:处理器10、存储器11、通信接口12和通信总线13。处理器10、存储器11、通信接口12均通过通信总线13完成相互间的通信。
156.在本技术实施例中,处理器10可以为中央处理器(central processing unit,cpu)、特定应用集成电路、数字信号处理器、现场可编程门阵列或者其他可编程逻辑器件等。
157.处理器10可以调用存储器11中存储的程序,具体的,处理器10可以执行日志记录方法的实施例中的操作。
158.存储器11中用于存放一个或者一个以上程序,程序可以包括程序代码,程序代码包括计算机操作指令,在本技术实施例中,存储器11中至少存储有用于实现以下功能的程序:
159.当接收到关于目标存储桶的访问请求时,根据访问请求确定目标存储桶对应的日志存储桶;
160.根据访问请求和访问请求的处理结果生成访问日志;
161.将访问日志存储至预设存储空间,并确定访问日志在预设存储空间的存储位置;
162.根据存储位置生成访问日志的日志索引;
163.将日志索引存储至日志存储桶。
164.在一种可能的实现方式中,存储器11可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统,以及至少一个功能所需的应用程序等;存储数据区可存储使用过程中所创建的数据。
165.此外,存储器11可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件或其他易失性固态存储器件。
166.通信接口12可以为通信模块的接口,用于与其他设备或者系统连接。
167.当然,需要说明的是,图4所示的结构并不构成对本技术实施例中电子设备的限
定,在实际应用中电子设备可以包括比图4所示的更多或更少的部件,或者组合某些部件。
168.本技术实施例提供了一种计算机可读存储介质。
169.本技术实施例所提供的计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时可实现如上述任意一种日志记录方法的步骤。
170.该计算机可读存储介质可以包括:u盘、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储器(randomaccess memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
171.对于本技术实施例提供的计算机可读存储介质的介绍请参照上述方法实施例,本技术在此不做赘述。
172.说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
173.专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
174.结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom或技术领域内所公知的任意其它形式的存储介质中。
175.以上对本技术所提供的技术方案进行了详细介绍。本文中应用了具体个例对本技术的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本技术的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本技术原理的前提下,还可以对本技术进行若干改进和修饰,这些改进和修饰也落入本技术的保护范围内。
技术特征:
1.一种日志记录方法,其特征在于,包括:当接收到关于目标存储桶的访问请求时,根据所述访问请求确定所述目标存储桶对应的日志存储桶;根据所述访问请求和所述访问请求的处理结果生成访问日志;将所述访问日志存储至预设存储空间,并确定所述访问日志在所述预设存储空间的存储位置;根据所述存储位置生成所述访问日志的日志索引;将所述日志索引存储至所述日志存储桶。2.根据权利要求1所述的日志记录方法,其特征在于,所述将所述访问日志存储至预设存储空间,包括:将所述访问日志存储至预设缓存;判断所述预设缓存中的访问日志是否满足预设下刷条件;若是,则将所述预设缓存中的所有访问日志下刷至所述预设存储空间。3.根据权利要求2所述的日志记录方法,其特征在于,所述判断所述预设缓存中的访问日志是否满足预设下刷条件,包括:判断所述预设缓存中的访问日志数量是否达到预设数量,或所述预设缓存的缓存时长是否达到预设时长;若所述访问日志数量达到所述预设数量,或所述缓存时长达到所述预设时长,则确定所述预设缓存中的访问日志满足所述预设下刷条件。4.根据权利要求2所述的日志记录方法,其特征在于,所述预设存储空间为数据池,所述将所述预设缓存中的所有访问日志下刷至所述预设存储空间,包括:将所述预设缓存中的所有访问日志以条带日志的形式下刷至所述数据池。5.根据权利要求4所述的日志记录方法,其特征在于,所述将所述预设缓存中的所有访问日志以条带日志的形式下刷至所述数据池之后,还包括:生成所述条带日志的条带标识;相应地,所述根据所述存储位置生成所述访问日志的日志索引,包括:将所述存储位置和所述条带标识对应插入至日志池中的对象结构图,生成所述访问日志的日志索引。6.根据权利要求1所述的日志记录方法,其特征在于,所述根据所述访问请求和所述访问请求的处理结果生成访问日志,包括:根据所述访问请求确定请求类型和资源访问信息;根据所述访问请求的处理结果确定处理结果信息和时间戳信息;根据所述请求类型、所述资源访问信息、所述处理结果信息、所述时间戳信息生成所述访问日志。7.根据权利要求1所述的日志记录方法,其特征在于,所述根据所述访问请求确定所述目标存储桶对应的日志存储桶,包括:根据所述访问请求确定所述目标存储桶;根据预设存储桶映射关系查询确定所述目标存储桶对应的日志存储桶;所述预设存储桶映射关系为可访问存储桶与日志存储桶之间的映射关系。
8.根据权利要求1所述的日志记录方法,其特征在于,所述当接收到关于目标存储桶的访问请求时,根据所述访问请求确定所述目标存储桶对应的日志存储桶,包括:当接收到关于目标存储桶的访问请求时,判断桶日志功能是否开启;若是,则根据所述访问请求确定所述目标存储桶对应的日志存储桶。9.根据权利要求1至8任一项所述的日志记录方法,其特征在于,还包括:当接收到桶日志查询请求时,根据所述桶日志查询请求确定目标查询桶和所述目标查询桶对应的目标日志桶;根据所述桶日志查询请求在所述日志存储桶查询所述目标查询桶的访问日志。10.根据权利要求9所述的日志记录方法,其特征在于,还包括:对所述访问日志执行预设操作;所述预设操作包括下载操作和/或删除操作。11.一种日志记录装置,其特征在于,包括:确定模块,用于当接收到关于目标存储桶的访问请求时,根据所述访问请求确定所述目标存储桶对应的日志存储桶;第一生成模块,用于根据所述访问请求和所述访问请求的处理结果生成访问日志;第一存储模块,用于将所述访问日志存储至预设存储空间,并确定所述访问日志在所述预设存储空间的存储位置;第二生成模块,用于根据所述存储位置生成所述访问日志的日志索引;第二存储模块,用于将所述日志索引存储至所述日志存储桶。12.一种电子设备,其特征在于,包括:存储器,用于存储计算机程序;处理器,用于执行所述计算机程序时实现如权利要求1至10任一项所述的日志记录方法的步骤。13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至10任一项所述的日志记录方法的步骤。
技术总结
本申请公开了一种日志记录方法,包括:当接收到关于目标存储桶的访问请求时,根据所述访问请求确定所述目标存储桶对应的日志存储桶;根据所述访问请求和所述访问请求的处理结果生成访问日志;将所述访问日志存储至预设存储空间,并确定所述访问日志在所述预设存储空间的存储位置;根据所述存储位置生成所述访问日志的日志索引;将所述日志索引存储至所述日志存储桶。应用本申请所提供的技术方案,可以实现对象存储系统内存储桶的日志记录。本申请还公开了一种日志记录装置、电子设备以及计算机可读存储介质,同样具有上述技术效果。同样具有上述技术效果。同样具有上述技术效果。
技术研发人员:任洪亮 李景要
受保护的技术使用者:济南浪潮数据技术有限公司
技术研发日:2023.06.29
技术公布日:2023/8/31
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/
上一篇:储罐顶板拼接方法与流程 下一篇:机车运行控制方法、装置、设备及存储介质与流程