一种审计日志记录的方法及系统与流程

文档序号:11236867阅读:2053来源:国知局
一种审计日志记录的方法及系统与流程

本发明涉及存储管理领域,特别涉及一种审计日志记录方法及系统。



背景技术:

进入21世纪以来,随着科学技术的飞速发展,存储管理系统在操作系统中起的作用越来越大,因此存储管理系统日益成为存储行业研究的热点。

审计日志记录是存储管理系统中一个重要的功能,该功能可以实现将用户的操作记录至审计日志中,其中包括用户名、用户管理界面客户端ip信息、操作信息和操作结果。对审计日志的记录方便了用户查看用户执行的操作记录,并对审计日志作分析。

现有技术中,有一种审计日志记录的方法是为登录的用户分配sessionid,将用户的sessionid与用户的用户名和ip地址的对应关系存储到在线用户sessionid链表中。当具体业务模块执行完命令后,审计日志模块根据在线用户sessionid链表查询用户的用户名和ip地址并进行记录。但是,当具体业务模块还在执行命令时,用户离线就会造成在线用户sessionid删除,无法查询用户的用户名和ip地址,导致审计日志不完整。

因此,如何解决用户离线后在线用户sessionid链表信息不完整,无法查询用户的用户名和ip地址,是本领域技术人员目前需要解决的技术问题。



技术实现要素:

本申请的目的是提供一种审计日志记录的方法及系统,能够避免在用户离线时,由于用户的sessionid删除查询不到用户信息,带来审计日志不完整的问题。

为解决上述技术问题,本申请提供一种审计日志记录的方法及系统,该方法包括:

执行成功登陆的用户发出的业务命令;

当检测到所述用户离线后,将关联信息存储至离线用户sessionid链表,其中,所述关联信息为所述用户的sessionid与所述用户的用户信息的对应关系;

当所述业务命令执行完成后,生成一个携带所述sessionid的反馈结果;

根据所述反馈结果中的所述sessionid查询所述离线用户sessionid链表中的所述关联信息,获得与所述sessionid相对应的所述用户信息;

对所述用户信息和所述反馈结果进行审计日志记录。

优选的,将所述关联信息存储至所述离线用户sessionid链表包括:

删除在线用户sessionid链表中的所述关联信息,将所述关联信息存储至所述离线用户sessionid链表。

优选的,根据所述反馈结果中的所述sessionid查询所述离线用户sessionid链表中的所述关联信息包括:

根据所述反馈结果中的所述sessionid查询所述在线用户sessionid链表中的所述关联信息;

若查询失败,则查询所述离线用户sessionid链表中的所述关联信息。

优选的,对所述用户信息和所述反馈结果进行审计日志记录还包括:

将记录了所述用户信息和所述反馈结果的所述审计日志上报到用户管理界面。

本申请还提供了一种审计日志记录的系统,该系统包括:

业务模块,用于执行成功登陆的用户发出的业务命令,当所述业务命令执行完成后,生成一个携带有所述sessionid的反馈结果;

离线用户sessionid链表,用于存储离线用户关联信息;

关联信息转移模块,用于当检测到所述用户离线后,将关联信息存储至离线用户sessionid链表,其中,所述关联信息为所述用户的sessionid与所述用户的用户信息的对应关系;

审计日志模块,用于根据所述反馈结果中的所述sessionid查询所述离线用户sessionid链表中的所述关联信息,获得与所述用户sessionid相对应的所述用户信息;并将所述用户信息和所述反馈结果进行审计日志记录。

优选的,所述关联信息转移模块具体为删除在线用户sessionid链表中所述关联信息,将所述关联信息存储至所述离线用户sessionid链表的模块。

优选的,所述审计日志模块包括:

查询信息单元,用于根据所述反馈结果中的所述sessionid查询在线用户sessionid链表中的所述关联信息,若查询失败,则查询离线用户sessionid链表中的所述关联信息。

优选的,所述审计日志模块还包括:

上报单元,用于将记录了所述用户信息和所述反馈结果的所述审计日志上报到用户管理界面。

本发明提供了一种审计日志记录的方法,通过建立离线用户sessionid链表存储关联信息保证了在用户离线时审计日志的完整性。当用户离线时,会造成在线用户sessionid链表中部分信息缺失,因而无法利用sessionid查询到用户的相关信息,造成审计日志不完整。本发明提供了离线用户sessionid链表,当用户离线时,将关联信息转移到离线用户sessionid链表中,即离线用户sessionid链表中存储有与在线用户sessionid链表中相同的关联信息。由于用户离线不会造成离线用户sessionid链表的缺失,所以当利用sessionid查询用户信息时,不会因为用户离线而无法查到用户信息,系统可以在离线用户链表中查询相关用户信息,进而实现对离线用户审计日志的记录,保证了审计日志的完整性。本方法在不改变查询在线用户相关信息方法的前提下,优化了对离线用户相关信息查询的方法,使得审计日志记录的完整性不受用户是否在线的影响,避免了因审计日志不完整给用户带来的困惑和误解。本申请同时还提供了一种审计日志记录的系统,具有上述有益效果,在此不再赘述。

附图说明

为了更清楚地说明本申请实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本申请实施例所提供的一种审计日志记录的方法所处于的硬件环境示意图;

图2为用户登录存储系统生成sessionid的过程示意图;

图3为本申请实施例所提供的一种审计日志记录的方法的流程图;

图4为本申请实施例所提供的另一种审计日志记录的方法的流程图;

图5为本申请实施例所提供的一种审计日志记录的系统的结构示意图;

图6为本申请实施例所提供的一种具体审计日志记录的系统结构示意图;

图7为本申请实施例所提供的一种审计日志记录的具体工作流程示意图。

具体实施方式

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

本申请所提供的一种审计日志记录的方法及系统,可以应用于以下硬件场景中:

请参考图1,图1为本申请中提供的一种审计日志记录的方法所处于的硬件环境示意图,包括客户端101和存储管理中心102。

其中,客户端101是用户通过用户名和密码登录的终端装置,此外客户端还是存储管理中心102记录的审计日志呈现给用户的显示平台,以便用户查看、分析数据,客户端可以以多种形式呈现出来,例如:浏览器的客户端、支付宝客户端等。存储管理中心102,可以下辖多个功能模块,例如,权限验证模块,即,用来对登陆的用户名和密码的有效性进行验证;sessionid分配模块,用于为权限验证成功的用户分配全局唯一对应的sessionid。sessionid是与用户信息唯一对应的身份标识,在审计日志记录中,可以通过命令完成后的反馈结果中的sessionid查询发出命令的用户的相关信息。请参阅图2,图2为用户登录存储系统生成sessionid的过程示意图,具体过程如下:

步骤s201:用户在用户管理界面输入用户名和密码。

步骤s202:用户管理界面客户端将用户名、密码和用户管理界面客户端ip信息发送给存储系统。

步骤s203:存储系统对用户进行鉴权,若鉴权成功则记录用户名和用户管理界面客户端ip信息。

步骤s204:对鉴权成功的用户分配一个全局唯一的与用户名和用户管理界面客户端ip信息对应的sessionid。

步骤s205:将sessionid与用户名和用户管理界面客户端ip信息的关联信息存储至在线用户sessionid链表。

步骤s206:将sessionid返回给用户管理界面客户端。

请参考图3,图3为本申请实施例提供的一种审计日志记录的方法的流程图。该方法包括:

步骤s301:执行登陆成功的用户发出的业务命令;

其中,每一位首次登陆成功的用户在登录成功后,系统会分配给用户一个全局唯一的与用户名和用户管理界面客户端ip信息对应的sessionid,并将该sessionid发送给用户管理界面以备再次登录时使用,执行业务命令时将sessionid记录在业务模块中。可以理解的是,系统可以通过sessionid查询与sessionid相关联的用户的相关信息。

当该用户再次登录时,用户已经携带有上次分配的sessionid,无需再次分配,在用户再次登录后执行命令时需要对其携带的sessionid进行校验,校验成功后执行业务命令,并将sessionid记录在业务模块中。在执行业务命令时,用户可以一直在线,也可以在开始执行业务命令后离线,都不影响业务命令的执行,即,不对用户的是否一直在线进行约束。

步骤s302:当检测到用户离线后,将关联信息存储至离线用户sessionid链表中;

其中,关联信息是用户的sessionid与用户的用户信息的对应关系。而用户信息包括:用户名和用户管理界面客户端ip信息,可以通过sessionid查询与其对应的用户信息。离线用户sessionid链表是用来存储离线用户的关联信息,与之相应的是存储离线用户关联信息的在线用户sessionid链表,用户下线会造成在线用户sessionid链表中的sessionid的删除,导致系统无法根据在线用户sessionid链表查找到相关用户信息,从而造成审计日志缺少用户名和客户端信息。而离线用户sessionid链表是建立在存储管理系统中的链表,不会因为用户下线导致离线用户sessionid链表中的信息缺失。

具体的,用户离线链表可以在用户离线时建立,当系统检测到用户离线后立即转移在线用户sessionid链表中的关联信息。但是考虑到用户的数量庞大,并不是每一位用户都能够在执行任务时保持在线状态,为每一位离线用户建立一个离线用户sessionid链表既难以实现又浪费资源。此外,还有一种离线用户sessionid链表是在用户离线前就存在的链表,且可以存储多个离线用户的关联信息。

步骤s303:当业务命令执行完成后,生成一个携带sessionid的反馈结果;

其中,生成反馈结果是为了记录业务命令的完成状况,而反馈结果中也可以包含很多内容,包括:操作日志id、命令执行结果等。之所以要携带sessionid,是为了利用在线用户或离线用户sessionid链表中存储的关联信息查找用户名和用户管理界面客户端ip信息。换句话说,就是能够把业务命令的反馈结果归属到发出业务命令的用户名和用户管理界面客户端ip信息。

步骤s304:根据所述反馈结果中的sessionid查询离线用户sessionid链表中的关联信息,获得与sessionid相对应的用户信息;

其中,根据sessionid在离线用户sessionid链表中查询关联信息是建立在用户已经离线的前提下,之所以在离线用户sessionid链表中查询是因为关联信息存储在离线用户sessionid链表中。当系统生成反馈结果时,用户可以根据反馈结果中携带的sessionid先查询在线用户sessionid链表,若查询失败则查询离线用户sessionid链表。步骤s305:对用户信息和反馈结果进行审计日志记录;

其中,审计日志记录的信息包括操作时间、操作日志id、用户名、用户管理界面客户端ip信息、操作日志详细信息(包含参数)和操作结果。用户可以通过对审计日志的查看,提升系统的安全系数并对用户操作进行分析。

下面请参见图4,图4为本申请实施例所提供的另一种审计日志记录的方法的流程图:此实施例是在上述实施例的基础上,将在线用户sessionid链表中的关联信息转移到离线用户sessionid链表,且在查询关联信息时先查询在线用户sessionid链表,再查询离线用户联表,并将相关信息进行审计日志记录。具体步骤可以包括:

步骤s401:执行登陆成功的用户发出的业务命令;

此步骤与上面的步骤的s301内容大致相同,此处不再赘述。

步骤s402:当检测到用户离线后,删除在线用户sessionid链表中的关联信息,将关联信息存储至离线用户sessionid链表;

其中,由于用户离线会造成在线用户sessionid链表部分信息的缺失,从而导致审计日志不完整,在本申请实施例中将关联信息存储至离线用户sessionid链表,以保持审计日志的完整。当检测到用户离线时,系统将在线用户sessionid链表中的关联信息转移到离线用户sessionid链表。

具体的,关联信息转移方式为:先删除在线用户sessionid链表中的关联信息,将删除的关联信息存储至离线用户sessionid链表,也就是说对在线用户sessionid链表中的关联信息进行剪切,并将剪切的关联信息存储在离线用户sessionid链表中。当然,在转移过程中,可以将删除的关联信息存储至寄存模块,再将寄存模块中的关联信息存储至离线用户sessionid链表。当然也可以有其他的方法能够实现同样的效果,此处强调的是对离线用户的sessionid不是删除,而是转移到离线用户sessionid链表中,从而保证了链表中关联信息的完整,不对转移的具体方法做限制。

步骤s403:当业务命令执行完成后,生成一个携带sessionid的反馈结果;

此步骤与上面的步骤的s303内容大致相同,此处不再赘述。

步骤s404:根据反馈结果中的sessionid查询在线用户sessionid链表中的关联信息,若查询失败,则查询离线用户sessionid链表中的关联信息;

此步骤是建立在用户已经离线的前提下,但是由于用户离线毕竟是少数情况,在实际操作中用户在线的比例是比用户离线的比例大得多,该步骤是对现有技术的改进。在现有技术中系统根据sessionid查询在线用户sessionid链表,本实施例对现有技术进行改进,在查询在线用户sessionid链表后对是否能够查到关联信息进行判断,若能够查到关联信息则属于用户在线,进入现有技术中的流程;若查不到则是因为用户离线造成在线用户sessionid链表缺失,再去查询离线用户sessionid链表。由于检测到用户离线后,步骤s402已经将关联信息由在线用户sessionid链表转移到离线用户sessionid链表中,当系统查询离线用户sessionid链表可以获得与sessionid相对应的用户信息。

步骤s405:对用户信息和反馈结果进行审计日志记录。

此步骤与上面的步骤的s305内容大致相同,此处不再赘述。

步骤s406:将记录了用户信息和反馈结果的审计日志上报到用户管理界面。

基于上述技术方案,本申请实施例提供的审计日志记录的方法,能够在检测用户离线后,通过将在线用户sessionid链表中的关联信息转移到离线用户sessionid链表中,避免了用户离线的导致在线用户sessionid链表中信息缺失带来的审计日志记录不完整的情况,进而有利于用户在用户管理界面上进行查看和分析。

由于系统部分的实施例与方法部分的实施例相互对应,因此系统部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。

下面请参见图5,图5为本申请所提供的一种审计日志记录的系统结构示意图,该系统可以包括:

业务模块100,用于执行成功登陆的用户发出的业务命令,当业务命令执行完成后,生成一个携带有所述sessionid的反馈结果;

离线用户sessionid链表200,用于存储离线用户关联信息;

关联信息转移模块300,用于当检测到所述用户离线后,将关联信息存储至离线用户sessionid链表,其中,关联信息为用户的sessionid与用户的用户信息的对应关系;

审计日志模块400,用于根据反馈结果中的sessionid查询离线用户sessionid链表中的关联信息,获得与用户sessionid相对应的用户信息;并将用户信息和反馈结果进行审计日志记录。

请参考图6,图6为本申请实施例所提供的一种审计日志记录的系统的结构示意图。进一步的,关联信息转移模块300具体包括一种删除在线用户sessionid链表中所述关联信息,将所述关联信息存储至所述离线用户sessionid链表200的模块。

进一步的,审计日志模块400下进一步包括有查询信息单元401,用于根据反馈结果中的sessionid查询在线用户sessionid链表中的关联信息,查询失败后,查询离线用户sessionid链表200中的关联信息。审计日志模块400下进一步还包括有上报单元402,用于将记录了用户信息和反馈结果的审计日志上报到用户管理界面。

请参考图7,图7为上述系统的具体工作过程,由于系统部分的实施例与方法部分的实施例相互对应,因此系统部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。

以上对本申请所提供的一种审计日志记录的方法及系统进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。

还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1