一种存储操作日志的方法和装置与流程

文档序号:12917351阅读:297来源:国知局
一种存储操作日志的方法和装置与流程

本申请涉及信息技术(informationtechnology,it)领域,尤其涉及一种存储操作日志的方法和装置。



背景技术:

在管理软件和传统操作维护软件中,操作员(例如,系统管理员、业务管理员、最终用户等)可以通过操作用户界面(userinterface,ui)向业务系统发送操作请求,从而对业务系统资源进行操作。基于系统安全性和可追溯性,可以对所有的操作记录在案,以便事后查阅及审计,这些记录称为操作日志。

通常,由业务系统中被操作资源对象或管理对象存储(记录)操作日志。当被操作资源对象或管理对象接收到操作请求时,先解析操作请求,而后将解析得到的操作日志存储在数据库或数据文件中,并可以在操作结束时更新该操作日志。

但是,这种由被操作资源对象或管理对象解析和存储操作日志的方式会增加被操作资源对象或管理对象的信令开销,影响操作响应时间,降低系统性能。而且,业务流程本身基于安全及可维护性会记录安全日志和系统运行日志,再穿插记录操作日志,使业务流程变得臃肿,业务复杂度增加,维护难度增加。此外,系统大规模部署时,分散记录操作日志对操作日志服务吞吐量冲击较大。且由于操作资源对象或管理对象各自记录操作日志,其记录的格式、风格、详细程度等无法统一,造成操作日志的阅读和理解差异,不利于后期数据整合分析。



技术实现要素:

本申请实施例提供一种存储操作日志的方法和装置,能够解决由被操作资源对象或管理对象解析和存储操作日志的方式导致的操作请求响应时间长和系统性能低的问题。

第一方面,本申请实施例提供一种存储操作日志的方法,包括:第一网络设备接收用户设备发送的操作请求;其中,操作请求包括请求头和请求体;第一网络设备确定操作请求是否需要存储操作日志;若第一网络设备确定操作请求需要存储操作日志,第一网络设备向第二网络设备发送操作请求,以指示第二网络设备存储操作请求的操作日志;第一网络设备向业务处理设备发送操作请求。相比现有技术,由被操作资源对象或管理对象存储操作日志的方式,增加了被操作资源对象或管理对象的信令开销,影响操作响应时间,降低系统性能。本申请可以由第一网络设备确定要存储操作日志的操作请求,再由第二网络设备统一存储操作日志,如此被操作资源对象或管理对象可以不感知存储操作日志的过程,解决了操作请求响应时间长和系统性能低的问题。

在一种可能的实现方式中,第一网络设备确定操作请求是否需要存储操作日志包括:若第一网络设备确定操作请求的请求头包括第一标识,第一网络设备确定操作请求需要存储操作日志;其中,第一标识用于指示存储操作请求的操作日志。也就是说,第一网络设备可以确定有第一标识的操作请求需要存储操作日志,没有第一标识的操作请求不需要存储操作日志,其中,第一标识可以由业务处理设备确定。当然本申请不限于此。

在一种可能的实现方式中,第一网络设备确定操作请求是否需要存储操作日志包括:若第一网络设备确定操作请求的超文本传输协议(hypertexttransferprotocol,http)请求方法包括预设的http请求方法,第一网络设备确定操作请求需要存储操作日志。例如,操作请求的http请求方法为得到(get),预设的http请求方法也包括get,那么该操作请求需要存储操作日志。当然本申请不限于此。

在一种可能的实现方式中,第一网络设备接收业务处理设备发送的第一响应消息,第一响应消息用于指示操作请求的操作结果;第一网络设备根据操作结果通知第二网络设备更新操作日志。这样一来,第二网络设备可以根据第一网络设备的通知更新操作请求的操作日志,可以完善所存储的操作请求的操作日志。其中,操作结果可以包括成功、失败、部分成功等,本申请不做限定。

在一种可能的实现方式中,第一网络设备向第二网络设备发送操作请求包括:第一网络设备向第二网络设备发送第一操作请求,或第一网络设备向第二网络设备发送预设数量的操作请求。也就是说,第一网络设备可以在接收到用户设备发送的操作请求时,立即向第二网络设备发送该操作请求,也可以在接收到一定数量的操作请求后批量向第二网络设备发送。另外,也可以由一个用于搜集操作请求的系统或设备从第一网络设备搜集操作请求后,批量向第二网络设备发送。

第二方面,本申请实施例提供一种存储操作日志的方法,包括:第二网络设备接收第一网络设备发送的操作请求;其中,操作请求包括请求头和请求体;第二网络设备解析操作请求以获取操作请求的操作日志;第二网络设备存储操作日志。相比现有技术,由被操作资源对象或管理对象存储操作日志,本申请可以由第二网络设备统一存储操作日志,从而被操作资源对象或管理对象可以不感知存储操作日志的过程,能够解决操作请求响应时间长和系统性能低的问题。

在一种可能的实现方式中,第二网络设备解析操作请求以获取操作请求的操作日志包括:第二网络设备根据操作请求和第一解析方法获取操作日志的第一部分;其中,第一部分用于指示操作日志的摘要信息,第一解析方法由第二网络设备确定。也就是说,第二网络设备接收到操作请求后,可以先解析操作请求的摘要信息,如此一来,可以节省第二网络设备的资源开销,也可以保证更新操作请求和审计操作请求时可以识别出该操作请求。当然,本申请不限于此。

在一种可能的实现方式中,摘要信息包括操作员标识、操作的源网际协议(internetprotocol,ip)地址、目标资源标识,操作状态中的至少一个。当然,本申请不限于此。

在一种可能的实现方式中,方法还包括:第二网络设备根据操作请求和第二解析方法获取操作日志的第二部分;第二部分用于指示操作日志的详细信息,第二解析方法由业务处理设备确定。第二网络设备可以在用户(操作员)需要审计或查询操作请求的详细信息时,再解析操作日志的详细信息。相比接收到操作请求后就解析操作请求的详细信息,可以节省资源开销。

在一种可能的实现方式中,方法还包括:第二网络设备接收第一网络设备发送的第一通知消息,第一通知消息用于指示第二网络设备更新操作日志;第二网络设备根据第一通知消息更新操作日志。这样一来,第二网络设备可以根据第一网络设备的通知消息更新操作请求的操作日志,以完善操作请求的操作日志。当然,本申请不限于通过第一通知消息通知第二网络设备更新操作日志。

第三方面,本申请实施例提供一种第一网络设备,包括:接收单元,用于接收用户设备发送的操作请求;其中,操作请求包括请求头和请求体;处理单元,用于确定操作请求是否需要存储操作日志;发送单元,用于若通过处理单元确定操作请求需要存储操作日志,向第二网络设备发送操作请求,以指示第二网络设备存储操作请求的操作日志;发送单元,还用于向业务处理设备发送操作请求。

在一种可能的实现方式中,处理单元用于:若确定操作请求的请求头包括第一标识,确定操作请求需要存储操作日志;其中,第一标识用于指示存储操作请求的操作日志。

在一种可能的实现方式中,处理单元用于:若确定操作请求的http请求方法包括预设的http请求方法,确定操作请求需要存储操作日志。

在一种可能的实现方式中,接收单元还用于:接收业务处理设备发送的第一响应消息,第一响应消息用于指示操作请求的操作结果;发送单元还用于,根据操作结果通知第二网络设备更新操作日志。

在一种可能的实现方式中,发送单元用于:向第二网络设备发送第一操作请求,或向第二网络设备发送预设数量的操作请求。

第三方面及其各种可能的实现方式的技术效果可以参见第一方面及其各种可能的实现方式的技术效果,此处不再赘述。

第四方面,本申请实施例提供一种第二网络设备,包括:接收单元,用于接收第一网络设备发送的操作请求;其中,操作请求包括请求头和请求体;处理单元,用于解析操作请求以获取操作请求的操作日志;存储单元,用于存储操作日志。

在一种可能的实现方式中,处理单元用于:根据操作请求和第一解析方法获取操作日志的第一部分;其中,第一部分用于指示操作日志的摘要信息,第一解析方法由第二网络设备确定。

在一种可能的实现方式中,摘要信息包括操作员标识、ip地址、目标资源标识,操作状态中的至少一个。

在一种可能的实现方式中,处理单元还用于:根据操作请求和第二解析方法获取操作日志的第二部分;第二部分用于指示操作日志的详细信息,第二解析方法由业务处理设备确定。

在一种可能的实现方式中,接收单元还用于:接收第一网络设备发送的第一通知消息,第一通知消息用于指示第二网络设备更新操作日志;处理单元还用于,根据第一通知消息更新操作日志。

第四方面及其各种可能的实现方式的技术效果可以参见第二方面及其各种可能的实现方式的技术效果,此处不再赘述。

第五发明,本申请实施例提供一种存储操作日志的系统,包括第一网络设备和第二网络设备;其中,第一网络设备用于接收用户设备发送的操作请求;确定操作请求是否需要存储操作日志;若确定操作请求需要存储操作日志,向第二网络设备发送操作请求;其中,操作请求包括请求头和请求体;第二网络设备用于解析操作请求以获取操作请求的操作日志;存储操作日志。

第六方面,本申请实施例提供了一种计算机存储介质,用于储存为上述第一网络设备所用的计算机软件指令,其包含用于执行上述方面所设计的程序。

第七方面,本申请实施例提供了一种计算机存储介质,用于储存为上述第二网络设备所用的计算机软件指令,其包含用于执行上述方面所设计的程序。

第八方面,提供了一种第一网络设备,该第一网络设备以芯片的产品形态存在,该第一网络设备包括处理器、存储器和收发组件,收发组件包括输入输出电路,存储器用于存储计算机执行指令,处理器通过执行存储器中存储的计算机执行指令实现第一方面提供的任意一种方法。

第九方面,提供了一种第二网络设备,该第二网络设备以芯片的产品形态存在,该第二网络设备包括处理器、存储器和收发组件,收发组件包括输入输出电路,存储器用于存储计算机执行指令,处理器通过执行存储器中存储的计算机执行指令实现第二方面提供的任意一种方法。

第十方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行第一方面提供的任意一种方法。

第十一方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行第二方面提供的任意一种方法。

相比现有技术,由被操作资源对象或管理对象存储操作日志的方式,增加了被操作资源对象或管理对象的信令开销,影响操作响应时间,降低系统性能。本申请可以由第一网络设备确定要存储操作日志的操作请求,再由第二网络设备统一存储操作日志,如此被操作资源对象或管理对象可以不感知存储操作日志的过程,解决了操作请求响应时间长和系统性能低的问题。

附图说明

图1为本申请实施例提供的一种系统架构图示意图;

图2为本申请实施例提供的一种第一网络设备的内部结构示意图;

图3为本申请实施例提供的一种第二网络设备的内部结构示意图;

图4为本申请实施例提供的一种存储操作日志的方法的信号交互示意图;

图5为本申请实施例提供的一种审计操作日志的系统架构图示意图;

图6为本申请实施例提供的一种存储操作日志的方法的信号交互示意图;

图7为本申请实施例提供的一种第一网络设备的结构示意图;

图8为本申请实施例提供的一种第一网络设备的结构示意图;

图9为本申请实施例提供的一种第一网络设备的结构示意图;

图10为本申请实施例提供的一种第二网络设备的结构示意图;

图11为本申请实施例提供的一种第二网络设备的结构示意图;

图12为本申请实施例提供的一种第二网络设备的结构示意图。

具体实施方式

本申请实施例应用于存储(记录)操作日志的场景中。如图1所示,本申请实施例的架构包括用户设备(userequipment,ue),第一网络设备、操作日志系统和业务系统(包括业务系统1、业务系统2、......业务系统n)。可选的,还可以包括负载均衡器,用于连接用户设备和第一网络设备。架构中的各网络设备也可以由云网络进行连接。当用户设备接收到来自用户的操作事件时,用户设备可以生成操作请求并发送给负载均衡器,负载均衡器可以将操作请求发送给第一网络设备。可选的,用户设备也可以直接发送操作请求给第一网络设备。第一网络设备可以对操作请求进行相应的处理后分发给操作日志系统和业务系统。操作日志系统和业务系统可以对接收到的操作请求进行相应的处理。

其中,用户设备可以为手机(mobilephone)、智能机、便携机、平板电脑等。用户设备也可以称为终端或终端设备等。用户设备可以通过有线技术或无线技术与负载均衡器或第一网络设备通信。用户设备可以用于发送请求或命令。第一网络设备可以为网关(gateway)、路由器、交换机或网络(web)服务器等。第一网络设备也可以是虚拟网关、虚拟路由器、虚拟交换机或虚拟机等虚拟设备。第一网络设备可以用于接收和转发请求或命令,也可以对接收到的请求或命令进行相应的处理。操作日志系统可以包括至少一个第二网络设备。第二网络设备可以为web服务器、应用程序服务器或http服务器等。第二网络设备也可以为虚拟web服务器、虚拟应用程序服务器或虚拟http服务器等虚拟设备。第二网络设备可以用于接收请求或命令,也可以对请求和命令进行处理和存储。当操作日志系统包括两个或两个以上第二网络设备时,操作日志系统可以视为一个分布式系统或集群。类似地,业务系统可以包括至少一个业务处理设备。业务处理设备可以为业务服务器。业务处理设备也可以为虚拟业务服务器等虚拟设备。业务处理设备可以用于接收请求和命令,并对请求和命令进行处理,还可以反馈处理结果。当业务系统包括两个或两个以上业务处理设备时,业务系统可以视为一个分布式系统或集群。

在一种可能的设计中,操作日志系统支持通过不同系统/子系统对接记录操作日志,通过网关、web服务器或者其他第三方系统等均可实现对接。当后续业务扩展,增加了其他类型的网关和web服务器等,这些增加的网关和web服务器也均可直接对接操作日志系统,例如可以直接向操作日志系统发送请求和命令。

在一种可能的设计中,图1所示的架构还可以包括日志搜集系统(图1中未示出),日志搜集系统可以主动搜集第一网络设备接收到的请求或命令,并批量地向第二网络设备发送。日志搜集系统可以包括至少一个日志搜集设备。日志搜集设备可以为网关、路由器、交换机或web服务器等,也可以是虚拟网关、虚拟路由器、虚拟交换机或虚拟机等虚拟设备。当操作日志系统包括两个或两个以上日志搜集设备时,操作日志系统可以视为一个分布式系统或集群。

如图2所示,第一网络设备可以包括处理模块201、存储模块(或存储芯片)202、监控调试模块203和网络连接模块204。处理模块201可以保证第一网络设备的实用性和可扩展性。处理模块201可以用于对接收到的请求和命令进行处理。存储模块202可以保证第一网络设备能够支持多任务。例如,存储模块202可以支持网关同时存储多个操作请求或命令。监控调试模块203可以用于实现对存储模块202中存储的程序进行实时监控,也可以支持在线调试功能。网络连接模块204模块可以用于数据接收、地址过滤与数据转发的作用,可以用来实现多个网络系统之间的数据交换。

如图3所示,第二网络设备可以包括处理模块301、通讯模块302、存储模块303、显示模块304和输入模块305。其中,处理模块301用于控制终端的各部分硬件装置和应用程序软件等。通讯模块302用于可使用蜂窝、以太网、无线保真(wirelessfidelity,wifi)、蓝牙和红外等通讯方式接受其它设备发送的指令,也可以将终端的数据发送给云端或其它设备。存储模块303用于执行第二网络设备的软件程序的存储、数据的存储和软件的运行等。显示模块304可接收处理模块202的数据并显示,例如可以用于显示操作员(例如审计员)的操作界面和操作结果。输入模块305可以用于接收输入的操作请求或命令等。

本申请实施例提供一种存储操作日志的方法,其基本过程为:第一网络设备接收用户设备发送的操作请求;确定该操作请求是否需要存储操作日志;若确定需要,向第二网络设备发送操作请求。第二网络设备解析操作请求以获取操作请求的操作日志,并且存储操作日志。另外,第一网络设备向业务处理设备发送操作请求,以便业务处理设备根据操作请求进行相应处理。这样一来,相比现有技术通过(业务处理设备中的)被操作资源对象或管理对象解析和记录操作日志,本申请实施例可以由第二网络设备解析和记录操作日志,能够解决由被操作资源对象或管理对象解析和存储操作日志的方式导致的操作请求响应时间长和系统性能低的问题。

本申请实施例提供一种存储操作日志的方法,如图4所示,包括:

401、第一网络设备接收用户设备发送的操作请求。

其中,操作请求包括请求头和请求体。消息头或消息体可以包括:操作时间(开始时间、结束时间等)、用户标识(identity,id)、操作的ip、操作的目的ip、目标资源标识、协议类型以及操作相关参数(例如,当操作请求用于建立虚拟机时,操作的相关参数可以包括虚拟中央处理器(virtualcentralprocessingunit,vcpu)的个数、内存大小、相关数据存储地址等)。

具体的,第一网络设备可以接收用户设备的收发器发送的操作请求,操作请求可以是用户设备的处理器根据传感器检测到的用户操作生成的。用户操作例如但不限于,用户在浏览器界面或业务的客户端界面的预设区域进行点击或滑动。操作请求也可以是用户设备的处理器根据预定程序生成的,预定程序例如但不限于,用户在设置界面设置的在预定时间启动的程序。可选的,第一网络设备可以接收负载均衡器转发的操作请求。

步骤401可以由图2中的网络连接模块404执行,例如网络连接模块404可以用于接收用户设备发送的操作请求。

402、第一网络设备确定操作请求是否需要存储操作日志。

操作请求可以对应相应的操作日志,操作日志可以包括摘要信息和详细信息。摘要信息包括操作员标识、操作ip地址、目标资源标识和操作状态中的至少一个。操作日志的详细信息具有不确定性,根据业务的不同而不同。例如,若操作请求用于请求下载视频,则操作日志的详细信息可以包括相关视频的url、相关视频所占内存的大小、相关视频的格式等。若操作请求用于建立虚拟机,则操作日志的详细信息可以包括虚拟cpu的个数、内存大小、相关数据存储地址等。

在一种可能的设计中,操作请求的请求头可以包括第一标识,第一标识用于指示存储操作请求的操作操作日志。若第一网络设备确定操作请求的请求头包括第一标识,第一网络设备确定操作请求需要存储操作日志。

在另一种可能的设计中,若第一网络设备确定操作请求的http请求方法包括预设的http请求方法,第一网络设备确定操作请求需要存储操作日志。http请求方法包括选择(options)、get、头(head)、传送(post)、放置(put)、删除(delete)、追踪(trace)和连接(connect)等请求。

其中,options:返回服务器针对特定资源所支持的http请求方法,也可以用于向web服务器发送‘*’的请求测试服务器的功能性。

get:向服务器的特定资源发出请求。

head:向服务器请求与get请求相一致的响应,但响应体将不会被返回。

post:向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。post请求可能会导致新的资源的建立和/或已有资源的修改。

put:向指定资源位置上传其最新内容。

delete:请求服务器删除请求统一资源定位器(uniformresoucelocator,url)所标识的资源。

trace:回显(显示正在执行的批处理命令及执行的结果等)服务器接收到的请求,主要用于测试或诊断。

connect:预留给能够将连接改为管道方式的代理服务器。

此外,http请求方法还可以根据服务器的不同进行自定义,本申请不做限定。

通常,预设的http请求方法可以包括post、put和delete。举例来说,若操作请求用于删除设置信息的部分内容,即该操作请求的http请求方法为delete,则需要存储该操作请求的操作日志。

步骤402可以由图2中的处理模块401执行,例如处理模块401用于确定操作请求是否需要存储操作日志。

403、若第一网络设备确定操作请求需要存储操作日志,第一网络设备向第二网络设备发送操作请求。

即当第一网络设备确定第一操作请求需要存储操作日志时,第一网络设备向第二网络设备发送第一操作请求。

步骤403可以由图2中的网络连接模块404执行,例如网络连接模块404可以用于向第二网络设备发送操作请求。

404、第二网络设备根据操作请求和第一解析方法获取操作日志的第一部分。

第一解析方法可以由第二网络设备确定。第一部分用于指示操作日志的摘要信息。摘要信息可以用于在后续过程中审计或更新操作日志。

步骤404可以由图3中的处理模块301执行。例如处理模块301可以用于根据操作请求和第一解析方法获取操作日志的第一部分。

405、第二网络设备将第一部分和操作请求的请求体存储到数据库或存储器中。

当需要审计或更新操作请求的操作日志时,第二网络设备可以根据摘要信息获取操作请求的请求体,并进行相应的处理。

在一种可能的设计中,若操作请求的请求头包括第一标识或部分摘要信息,第二网络设备可以不解析操作请求,直接将操作请求存储到数据库或存储器中。在后续步骤中,可以根据请求头中的第一标识或部分摘要信息审计或更新操作日志。

步骤405可以由图3中的存储模块303执行,例如存储模块303可以用于存储第一部分和操作请求的请求体。

406、第一网络设备向业务处理设备发送操作请求。

需要说明的是,第一网络设备可以在执行完步骤401后立即执行步骤406,也可以在执行完步骤401-405之后,执行步骤406,本申请实施例对步骤406的执行时机不做限定。

需要说明的是,无论操作请求是否需要存储操作日志,第一网络设备都可以向业务处理设备发送操作请求,以便业务处理设备对操作请求进行相关处理。相关处理根据操作请求的具体内容而定,本申请实施例不做赘述。

步骤406可以由图2中的网络连接模块404执行。例如网络连接模块404可以用于向业务处理设备发送操作请求。

407、第一网络设备接收业务处理设备发送的第一响应消息,第一响应消息用于指示操作请求的操作结果。

操作请求的操作结果包括成功、失败、部分成功和正在处理等。

步骤407可以由图2中的网络连接模块404执行。例如网络连接模块404可以用于接收业务处理设备发送的第一响应消息。

408、第一网络设备根据操作结果通知第二网络设备更新操作日志。

在一种可能的设计中,第一网络设备可以向第二网络设备发送第一通知消息,第一通知消息用于指示第二网络设备更新操作日志。第二网络设备接收到第一网络设备发送的第一通知消息时,可以更新操作日志。

步骤408可以由图2中的网络连接模块404执行。例如网络连接模块404可以用于通知第二网络设备更新操作日志。

步骤401到408具体说明了存储和更新操作日志的方法,当审计(查询/查看)操作请求的操作日志时,还可以包括步骤409-411。

409、第二网络设备接收用户设备发送的查询消息。

其中,查询消息可以包括操作日志标识。其中,操作日志标识可以为第一标识或摘要信息等。第二网络设备可以根据操作日志标识获取操作请求的请求体和/或操作日志的摘要信息。

步骤409可以由图2中的网络连接模块404执行。例如网络连接模块404可以用于接收用户设备发送的查询消息。

在一种可能的设计中,第二网络设备可以接收操作员(包括用户)通过第二网络设备的输入模块306输入的查询操作,例如查询操作可以包括特定的操作手势或特定的操作命令等。第二网络设备可以根据查询操作获取操作日志的摘要信息,并可以通过显示模块304进行显示。

需要说明的是,若需要查询操作日志的详细信息,可以执行步骤410。

410、第二网络设备根据操作请求和第二解析方法获取操作日志的第二部分。

其中,第二部分用于指示操作日志的详细信息。第二解析方法由业务处理设备确定,这是由于操作日志的详细信息具有不确定性,根据业务的不同而不同。

如图5所示,用户可以通过用户设备向第二网络设备发送查询请求,第二网络设备接收到查询请求后,可以向用户设备反馈查询结果,以便用户设备显示查询结果。具体的,第二网络设备可以根据特定策略(如系统空闲)启动后解析线程(解析进程),由解析器(parser)调用相应的业务系统解析器(例如,业务系统a解析器、业务系统b解析器......业务系统n解析器)来解析操作请求以获取操作日志的详细信息,并将该详细信息存储到存储器。可选的,第二网络设备可以在接收到查询详细信息的查询消息时,调用相应的业务系统解析器解析操作请求以获取操作日志的详细信息。其中,解析器可以理解为一个程序或接口,通常用于接收指令或命令。

可选的,解析时可以进行i18n处理。i18n可以在系统库上提供一种对多国语言的支持机制,使用了i18n的应用程序无需外挂本地语言平台,即可返回语言本地化之后的内容(例如直接返回中文)。

步骤410可以由图3中的处理模块301执行。例如处理模块301可以用于根据操作请求和第二解析方法获取操作日志的第二部分。

411、用户设备显示第二网络设备反馈的查询结果。

其中,查询结果包括操作日志的摘要信息和/或详细信息。

由此,第一网络设备确定操作请求需要记录操作日志后,可以将操作请求异步发往第二网络设备,由第二网络设备解析和记录操作日志。相比现有技术通过被操作资源对象或管理对象解析和记录操作日志,导致操作请求响应时间长和系统性能低。本申请实施例可以由第二网络设备统一解析和记录操作日志,免去在业务流程中由被操作资源对象或管理对象解析和记录操作日志的过程,可以缩短操作请求的响应时间和提高系统性能。特别是针对大并发、响应要求较高的系统,能够大大降低系统请求耗时,满足系统查询需求的同时提升系统性能。

本申请的又一实施例提供一种存储操作日志的方法,如图6所示,包括:

601、第一网络设备接收用户设备发送的操作请求。

具体过程可以参考步骤401。

602、第一网络设备确定操作请求是否需要存储操作日志。

具体过程可以参考步骤402。

603、若第一网络设备确定操作请求需要存储操作日志,第一网络设备向第二网络设备发送预设数量的操作请求。

第一网络设备可以在确定预设数量的操作请求需要存储操作日志后,向第二网络设备发送预设数量的操作请求。预设数量可以由第一网络设备确定。例如,预设数量可以为100,即第一网络设备可以在确定100条操作请求需要存储操作日志后,向第二网络设备发送这100条操作请求。可选的,第一网络设备可以每次向第二网络设备发送预设时间间隔接收到的需要存储操作日志的操作请求。例如,预设时间间隔为5min。

步骤603可以由图2中的处理模块201和网络连接模块204执行,例如,处理模块201可以用于确定操作请求是否需要存储操作日志。网络连接模块204可以用于向第二网络设备发送预设数量的操作请求。

在一种可能的设计中,日志搜集系统可以主动搜集第一网络设备接收到的需要存储操作日志的操作请求,并批量地向第二网络设备发送。

604、第二网络设备解析操作请求以获取操作请求的操作日志。

第二网络设备根据操作请求和第一解析方法获取操作日志的第一部分;第一部分用于指示操作日志的摘要信息,第一解析方法由第二网络设备确定。第二网络设备根据操作请求和第二解析方法获取操作日志的第二部分;第二部分用于指示操作日志的详细信息,第二解析方法由业务处理设备确定。

也就是说,第二网络设备可以在接收到操作请求时,可以如图4所示的实施例,先解析操作日志的摘要部分,再在后续步骤中解析操作日志的详细部分;第二网络设备也可以在接收到操作请求时,如本申请实施例,直接解析操作日志的摘要部分和详细部分。

步骤604可以由图3中的处理模块301执行。例如处理模块301可以用于解析操作请求以获取操作请求的操作日志。

605、第二网络设备存储操作日志。

即第二网络设备将解析后的操作日志存储在数据库或相应的存储器中。

步骤605可以由图3中的存储模块303执行,例如存储模块303可以用于存储操作日志。

606、第一网络设备向业务处理设备发送操作请求。

本申请实施例对步骤606的执行时机不做限定。而且无论第一网络设备确定操作请求是否需要存储操作日志,操作请求是否达到预设数量,第一网络设备都可以向业务处理设备发送操作请求,以便业务处理设备对操作请求进行相关处理。

步骤606可以由图2中的网络连接模块204执行。例如网络连接模块204可以用于向业务处理设备发送操作请求。

607、第一网络设备接收业务处理设备发送的第一响应消息,第一响应消息用于指示操作请求的操作结果。

操作请求的操作结果包括成功、失败、部分成功、正在处理等。

步骤607可以由图2中的网络连接模块204执行。例如网络连接模块204可以用于接收业务处理设备发送的第一响应消息。

608、第一网络设备根据操作结果通知第二网络设备更新操作日志。

具体过程可以参考步骤408。

当审计操作请求的操作日志时,还可以包括步骤609-611。

609、第二网络设备接收用户设备发送的查询消息。

其中,查询消息可以包括操作日志标识。第二网络设备可以根据操作日志标识获取操作日志的详细信息。其中,操作日志标识可以为第一标识或摘要信息等。

步骤609可以由图2中的网络连接模块204执行。例如网络连接模块204可以用于接收用户设备发送的查询消息。

610、第二网络设备向用户设备发送操作请求的查询结果。

其中,查询结果包括操作日志的摘要信息和/或详细信息。

步骤610可以由图2中的网络连接模块204执行。例如网络连接模块204可以用于向用户设备发送操作请求的查询结果。

611、用户设备显示第二网络设备反馈的查询结果。

其中,查询结果包括操作日志的摘要信息和/或详细信息。

由此,第一网络设备确定操作请求需要记录操作日志后,可以将操作请求批量地发往第二网络设备,由第二网络设备解析和记录操作日志。相比现有技术通过被操作资源对象或管理对象解析和记录操作日志,导致操作请求响应时间长和系统性能低。本申请实施例可以由第二网络设备统一解析和记录操作日志,免去在业务流程中由被操作资源对象或管理对象解析和记录操作日志的过程,可以缩短操作请求的响应时间和提高系统性能。而且,由第二网络设备统一记录操作日志,其记录的格式、风格、详细程度等可以统一,有利于后期数据整合分析。

上述主要从第一网络设备和第二网络设备的角度对本申请实施例提供的方案进行了介绍。可以理解的是,第一网络设备和第二网络设备为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

本申请实施例可以根据上述方法示例对第一网络设备和第二网络设备进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。

在采用对应各个功能划分各个功能模块的情况下,图7示出了上述实施例中所涉及的第一网络设备7的一种可能的结构示意图,第一网络设备包括:接收单元701,处理单元702和发送单元703。其中,接收单元701用于,接收用户设备发送的操作请求;其中,操作请求包括请求头和请求体。处理单元702用于确定操作请求是否需要存储操作日志。发送单元703用于若通过处理单元确定操作请求需要存储操作日志,向第二网络设备发送操作请求,以指示第二网络设备存储操作请求的操作日志;还用于向业务处理设备发送操作请求。

例如,接收单元701用于支持第一网络设备执行图3中的过程401和407,图6中的过程601和607。处理单元702用于支持第一网络设备执行图4中的过程402,图6中的过程602。发送单元703用于支持第一网络设备执行图4中的过程403、406和408,图6中的过程603、606和608。其中,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。

在采用集成的单元的情况下,图8示出了上述实施例中所涉及的第一网络设备的一种可能的结构示意图。第一网络设备8包括:处理模块801和通信模块802。处理模块801用于对第一网络设备的动作进行控制管理,例如处理模块801用于支持第一网络设备执行图4中的过程402,图6中的过程602。通信模块802用于支持第一网络设备与其他网络实体的通信,例如与服务器之间的通信,从服务器下载得到应用的安装包等。第一网络设备还可以包括存储模块803,用于存储第一网络设备的程序代码和数据,例如用于存储本申请实施例中的操作请求等。

当处理模块801为处理器、通信模块802为通信接口、存储模块803为存储器时,第一网络设备可以通过图9中的计算机设备(或系统)来实现。

图9所示为本申请实施例提供的计算机设备示意图。计算机设备900包括至少一个处理器901,通信总线902,存储器903以及至少一个通信接口904。

处理器901可以是一个通用中央处理器(centralprocessingunit,cpu),微处理器,特定应用集成电路(application-specificintegratedcircuit,asic),或一个或多个用于控制本申请方案程序执行的集成电路。

通信总线902可包括一通路,在上述组件之间传送信息。

通信接口904,使用任何收发器一类的装置,用于与其他设备或通信网络通信,如以太网,无线接入网(radioaccessnetwork,ran),无线局域网(wirelesslocalareanetworks,wlan)等。

存储器903可以是只读存储器(read-onlymemory,rom)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(randomaccessmemory,ram)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electricallyerasableprogrammableread-onlymemory,eeprom)、只读光盘(compactdiscread-onlymemory,cd-rom)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器可以是独立存在,通过总线与处理器相连接。存储器也可以和处理器集成在一起。

其中,存储器903用于存储执行本申请方案的应用程序代码,并由处理器901来控制执行。处理器901用于执行存储器903中存储的应用程序代码,从而实现本专利方法中的功能。

在具体实现中,作为一种实施例,处理器901可以包括一个或多个cpu,例如图9中的cpu0和cpu1。

在具体实现中,作为一种实施例,计算机设备900可以包括多个处理器,例如图9中的处理器901和处理器907。这些处理器中的每一个可以是一个单核(single-cpu)处理器,也可以是一个多核(multi-cpu)处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。

在具体实现中,作为一种实施例,计算机设备900还可以包括输出设备905和输入设备906。输出设备905和处理器901通信,可以以多种方式来显示信息。例如,输出设备905可以是液晶显示器(liquidcrystaldisplay,lcd),发光二级管(lightemittingdiode,led)显示设备,阴极射线管(cathoderaytube,crt)显示设备,或投影仪(projector)等。输入设备906和处理器901通信,可以以多种方式接受用户的输入。例如,输入设备906可以是鼠标、键盘、触摸屏设备或传感设备等。

上述的计算机设备900可以是一个通用计算机设备或者是一个专用计算机设备。在具体实现中,计算机设备900可以是台式机、便携式电脑、网络服务器、掌上电脑(personaldigitalassistant,pda)、移动手机、平板电脑、无线终端设备、通信设备、嵌入式设备或有图9中类似结构的设备。本申请实施例不限定计算机设备900的类型。

在采用对应各个功能划分各个功能模块的情况下,图10示出了上述实施例中所涉及的第二网络设备10的一种可能的结构示意图,第二网络设备包括:接收单元1001,处理单元1002和存储单元1003。其中,接收单元1001,用于接收第一网络设备发送的操作请求;其中,操作请求包括请求头和请求体;处理单元1002,用于解析操作请求以获取操作请求的操作日志;存储单元1003,用于存储操作日志。

例如,接收单元1001用于支持第二网络设备执行图4中的过程403,图6中的过程603;处理单元1002用于支持第二网络设备执行图4的过程404,图6中的过程604;存储单元1003用于支持第二网络设备执行图4中的过程405,图6中的过程605。其中,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。

在采用集成的单元的情况下,图11示出了上述实施例中所涉及的第二网络设备的一种可能的结构示意图。第二网络设备11包括:处理模块1101和通信模块1102。处理模块1101用于对第二网络设备的动作进行控制管理,例如处理模块1101用于支持第二网络设备执行图4中的过程404,图6中的过程604,通信模块1102用于支持第二网络设备与其他网络实体的通信,例如与服务器之间的通信,从服务器下载得到应用的安装包等。第二网络设备还可以包括存储模块1103,用于存储第二网络设备的程序代码和数据,例如用于存储本申请实施例中的操作请求等。

当处理模块801为处理器、通信模块802为通信接口、存储模块803为存储器时,第二网络设备可以通过图12中的计算机设备(或系统)来实现。

图12所示为本发明实施例提供的计算机设备示意图。计算机设备1200包括至少一个处理器1201,通信总线1202,存储器1203以及至少一个通信接口1204。

处理器1201可以是一个cpu,微处理器,asic,或一个或多个用于控制本发明方案程序执行的集成电路。

通信总线1202可包括一通路,在上述组件之间传送信息。

通信接口1204,使用任何收发器一类的装置,用于与其他设备或通信网络通信,如以太网,ran,wlan等。

存储器1203可以是rom或可存储静态信息和指令的其他类型的静态存储设备,ram或者可存储信息和指令的其他类型的动态存储设备,也可以是eeprom、cd-rom或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器可以是独立存在,通过总线与处理器相连接。存储器也可以和处理器集成在一起。

其中,存储器1203用于存储执行本发明方案的应用程序代码,并由处理器1201来控制执行。处理器1201用于执行存储器1203中存储的应用程序代码,从而实现本专利方法中的功能。

在具体实现中,作为一种实施例,处理器1201可以包括一个或多个cpu,例如图12中的cpu0和cpu1。

在具体实现中,作为一种实施例,计算机设备1200可以包括多个处理器,例如图12中的处理器1201和处理器1207。这些处理器中的每一个可以是一个单核处理器,也可以是一个多核处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。

在具体实现中,作为一种实施例,计算机设备1200还可以包括输出设备1205和输入设备1206。输出设备1205和处理器1201通信,可以以多种方式来显示信息。例如,输出设备1205可以是lcd,led显示设备,crt显示设备,或投影仪等。输入设备1206和处理器1201通信,可以以多种方式接受用户的输入。例如,输入设备1206可以是鼠标、键盘、触摸屏设备或传感设备等。

上述的计算机设备1200可以是一个通用计算机设备或者是一个专用计算机设备。在具体实现中,计算机设备1200可以是台式机、便携式电脑、网络服务器、pda、移动手机、平板电脑、无线终端设备、通信设备、嵌入式设备或有图12中类似结构的设备。本发明实施例不限定计算机设备1200的类型。

以上所述的具体实施方式,对本申请的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本申请的具体实施方式而已,并不用于限定本申请的保护范围,凡在本申请的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本申请的保护范围之内。

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