日志管理系统和日志管理方法

文档序号:6502862阅读:694来源:国知局
日志管理系统和日志管理方法
【专利摘要】本发明提供了一种日志管理方法和日志管理系统,其中日志管理系统包括:配置单元,用于配置业务服务接口的操作日志描述信息;日志代理管理器,拦截客户端向服务器发送的业务请求,解析出与业务请求对应的业务服务对象和业务服务接口,根据业务服务对象和业务服务接口获取业务服务接口的操作日志描述信息,以及基于操作日志描述信息确定是否需要记录操作日志。根据本发明的技术方案可统一代理所有业务服务对象,统一记录系统操作日志并统一管理系统操作日志,开发人员只需配置业务服务接口描述信息,系统将智能地统一记录用户操作日志,降低了开发人员沟通成本,提升了开发效率。
【专利说明】日志管理系统和日志管理方法

【技术领域】
[0001] 本发明涉及计算机【技术领域】,具体而言,涉及一种日志管理系统和一种日志管理 方法。

【背景技术】
[0002] 当前大多数企业应用都有实时监控系统操作信息的需求,这就要求应用本身在每 个用户访问期间具备及时并准确地记录用户操作信息的能力。也就是要求系统能够智能 地跟踪当前被访问的业务接口,并写入本次操作日志。当负责日志管理模块开发的程序员 提供记录系统操作日志的接口后,每位开发人员需要为自己负责的管理模块添加记录系统 操作日志的代码。这就是目前大多数应用记录系统操作日志所采用的方案。这种方案不但 需要开发人员与日志模块负责人进行沟通,而且记录系统操作日志代码与业务代码大量耦 合。
[0003] 因此,目前记录系统操作日志的主流方案不仅增加了项目沟通成本,最重要的是 记录日志代码大量耦合于业务代码中,它使开发人员不能专注于商业逻辑,更不利于系统 后期维护。鉴于目前这种方案的不足,需要提供一种统一代理业务请求,统一记录系统操作 日志的技术方案。


【发明内容】

[0004] 考虑到相关技术中出现的技术问题,本发明所要解决的技术问题在于,提供一种 监控系统操作信息技术,统一代理业务请求,统一记录系统操作日志。
[0005] 有鉴于此,根据本发明的一个方面,提供了一种日志管理系统,包括:配置单元,用 于配置业务服务接口的操作日志描述信息;日志代理管理器,拦截客户端向服务器发送的 业务请求,解析出与所述业务请求对应的业务服务对象和业务服务接口,根据所述业务服 务对象和所述业务服务接口获取所述业务服务接口的操作日志描述信息,以及基于所述操 作日志描述信息确定是否需要记录操作日志。
[0006] 本发明把记录操作日志这同一件事情统一起来,提供统一代理所有业务服务对 象,统一记录系统操作日志并统一管理系统操作日志。开发人员只需配置业务服务接口描 述信息。系统将根据配置的业务服务接口描述信息智能地统一记录用户操作日志,降低了 开发人员沟通成本,提升了开发效率。记录日志代码也不再耦合于业务代码中,更便于系统 后期维护。
[0007] 在上述技术方案中,优选的,所述日志代理管理器可以包括:封装单元,用于在确 定需要记录所述操作日志时,调用所述业务服务接口,根据所述业务服务接口的调用结果 和所述操作日志描述信息封装与所述业务请求对应的操作日志,并调用记录日志接口,以 记录所述操作日志。
[0008] 日志代理管理器将获取到的业务服务接口处理结果结合业务服务接口描述信息 封装操作日志信息,并调用操作日志业务服务对象的记录日志接口,记录当前操作日志。
[0009] 在上述技术方案中,优选的,所述日志代理管理器在确定不需要记录所述操作日 志时,直接调用所述业务服务接口。
[0010] 在上述任一技术方案中,优选的,还可以包括:定时管理器,用于定时将所述操作 日志转存至日志转存表,并清除原生日志表中已转存的操作日志。
[0011] 在上述技术方案中,优选的,所述定时管理器包括:转存文件生成单元,用于在转 存所述操作日志时,生成日志转存文件,并将所述日志转存文件存入指定位置。
[0012] 自动转存功能及时地迁移历史数据,从而降低了日志表数据量,很好地提升了操 作日志访问效率。自动转存历史数据并生成转存文件也一定程度上减少了数据库访问次 数,更便于系统管理员查看转存信息。
[0013] 根据本发明的另一方面,还提供了一种日志管理方法,包括:配置业务服务接口的 操作日志描述信息;拦截客户端向服务器发送的业务请求,解析出与所述业务请求对应的 业务服务对象和业务服务接口;根据所述业务服务对象和所述业务服务接口获取所述业务 服务接口的操作日志描述信息;根据所述操作日志描述信息确定是否需要记录操作日志。
[0014] 本发明把记录操作日志这同一件事情统一起来,提供统一代理所有业务服务对 象,统一记录系统操作日志并统一管理系统操作日志。开发人员只需配置业务服务接口描 述信息。系统将根据配置的业务服务接口描述信息智能地统一记录用户操作日志,降低了 开发人员沟通成本,提升了开发效率。记录日志代码也不再耦合于业务代码中,更便于系统 后期维护。
[0015] 在上述技术方案中,优选的,还可以包括:在确定需要记录所述操作日志时,调用 所述业务服务接口,根据所述业务服务接口的调用结果和所述操作日志描述信息封装与所 述业务请求对应的操作日志,并调用记录日志接口,以记录所述操作日志。
[0016] 将获取到的业务服务接口处理结果结合业务服务接口描述信息封装操作日志信 息,并调用操作日志业务服务对象的记录日志接口,记录当前操作日志。
[0017] 在上述技术方案中,优选的,还可以包括:在确定不需要记录所述操作日志时,直 接调用所述业务服务接口。
[0018] 在上述任一技术方案中,优选的,还可以包括:定时将所述操作日志转存至日志转 存表,并清除原生日志表中已转存的操作日志。
[0019] 在上述技术方案中,优选的,在转存所述操作日志时,生成日志转存文件,并将所 述日志转存文件存入指定位置。
[0020] 自动转存功能及时地迁移历史数据,从而降低了日志表数据量,很好地提升了操 作日志访问效率。自动转存历史数据并生成转存文件也一定程度上减少了数据库访问次 数,更便于系统管理员查看转存信息。
[0021] 本发明提供统一代理所有业务服务对象,统一记录系统操作日志并统一管理系统 操作日志的功能。采用本发明技术方案后,开发人员只需配置业务服务接口操作描述信息。 系统将智能地统一记录用户操作日志,降低了开发人员沟通成本,提升了开发效率。记录日 志代码也不再耦合于业务代码中,更便于系统后期维护。同时,自动转存功能及时地迁移历 史数据从而降低了日志表数据量,很好地提升了操作日志访问效率。自动转存历史数据并 生成转存文件也一定程度上减少了数据库访问次数,更便于系统管理员查看转存信息。

【专利附图】

【附图说明】
[0022] 图1示出了根据本发明的实施例的日志管理系统的框图;
[0023] 图2示出了根据本发明的实施例的日志管理方法的流程图;
[0024] 图3示出了根据本发明的实施例的基于代理模式记录系统操作日志处理流程图;
[0025] 图4示出了根据本发明的实施例的自动转存操作日志处理流程图。

【具体实施方式】
[0026] 为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实 施方式对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本申请的实施 例及实施例中的特征可以相互组合。
[0027] 在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可 以采用其他不同于在此描述的其他方式来实施,因此,本发明并不限于下面公开的具体实 施例的限制。
[0028] 图1示出了根据本发明的实施例的日志管理系统的框图。
[0029] 如图1所示,根据本发明的实施例的日志管理系统100应用于服务器侧,其可以 包括:配置单元102,用于配置业务服务接口的操作日志描述信息;日志代理管理器104,拦 截客户端向服务器发送的业务请求,解析出与业务请求对应的业务服务对象和业务服务接 口,根据业务服务对象和业务服务接口获取业务服务接口的操作日志描述信息,以及基于 操作日志描述信息确定是否需要记录操作日志。
[0030] 本发明把记录操作日志这同一件事情统一起来,提供统一代理所有业务服务对 象,统一记录系统操作日志并统一管理系统操作日志。开发人员只需配置业务服务接口描 述信息。系统将根据配置的业务服务接口描述信息智能地统一记录用户操作日志,降低了 开发人员沟通成本,提升了开发效率。记录日志代码也不再耦合于业务代码中,更便于系统 后期维护。
[0031] 在上述技术方案中,优选的,日志代理管理器104可以包括:封装单元1042,用于 在确定需要记录操作日志时,调用业务服务接口,根据业务服务接口的调用结果和操作日 志描述信息封装与业务请求对应的操作日志,并调用记录日志接口,以记录操作日志。
[0032] 日志代理管理器将获取到的业务服务接口处理结果结合业务服务接口描述信息 封装操作日志信息,并调用操作日志业务服务对象的记录日志接口,记录当前操作日志。
[0033] 在上述技术方案中,优选的,日志代理管理器104在确定不需要记录操作日志时, 直接调用业务服务接口。
[0034] 优选的,日志管理系统100还可以包括:定时管理器106,用于定时将操作日志转 存至日志转存表,并清除原生日志表中已转存的操作日志。
[0035] 在上述技术方案中,优选的,定时管理器106包括:转存文件生成单元1062,用于 在转存操作日志时,生成日志转存文件,并将日志转存文件存入指定位置,例如存储器108。
[0036] 自动转存功能及时地迁移历史数据,从而降低了日志表数据量,很好地提升了操 作日志访问效率。自动转存历史数据并生成转存文件也一定程度上减少了数据库访问次 数,更便于系统管理员查看转存信息。
[0037] 图2示出了根据本发明的实施例的日志管理方法的流程图。
[0038] 如图2所示,根据本发明的实施例的日志管理方法,包括以下步骤:步骤202,配置 业务服务接口的操作日志描述信息;步骤204,拦截客户端向服务器发送的业务请求,解析 出与业务请求对应的业务服务对象和业务服务接口;步骤206,根据业务服务对象和业务 服务接口获取业务服务接口的操作日志描述信息;根据操作日志描述信息确定是否需要记 录操作日志。
[0039] 本发明把记录操作日志这同一件事情统一起来,提供统一代理所有业务服务对 象,统一记录系统操作日志并统一管理系统操作日志。开发人员只需配置业务服务接口描 述信息。系统将根据配置的业务服务接口描述信息智能地统一记录用户操作日志,降低了 开发人员沟通成本,提升了开发效率。记录日志代码也不再耦合于业务代码中,更便于系统 后期维护。
[0040] 在上述技术方案中,优选的,还可以包括:在确定需要记录操作日志时,调用业务 服务接口,根据业务服务接口的调用结果和操作日志描述信息封装与业务请求对应的操作 日志,并调用记录日志接口,以记录操作日志。
[0041] 将获取到的业务服务接口处理结果结合业务服务接口描述信息封装操作日志信 息,并调用操作日志业务服务对象的记录日志接口,记录当前操作日志。
[0042] 在上述技术方案中,优选的,还可以包括:在确定不需要记录操作日志时,直接调 用业务服务接口。
[0043] 在上述任一技术方案中,优选的,还可以包括:定时将操作日志转存至日志转存 表,并清除原生日志表中已转存的操作日志。
[0044] 在上述技术方案中,优选的,在转存操作日志时,生成日志转存文件,并将所述日 志转存文件存入指定位置。
[0045] 自动转存功能及时地迁移历史数据,从而降低了日志表数据量,很好地提升了操 作日志访问效率。自动转存历史数据并生成转存文件也一定程度上减少了数据库访问次 数,更便于系统管理员查看转存信息。
[0046] 接下来参考图3和图4进一步说明根据本发明的日志管理方法。
[0047] 本发明的日志管理方法主要包含两个方面的内容,一个是基于代理模式记录操作 日志,另一个是自动转存操作日志以及生成转存文件。以下就这两方面的内容进行详细说 明
[0048] 一、基于代理模式记录操作日志(参考图3)
[0049] 1.业务服务接口信息配置化
[0050] 首先,需要定义业务服务接口的操作日志描述信息。将运行时需要系统记录操作 日志的业务服务接口配置化,包括Module (模块)、ServiceName (服务名)、ServiceAPIName (服务接口名)、〇perateCode (操作编码)、0perate Description (操作描述)等字段。以用 户登录业务服务接口配置为例:
[0051] @Services( metadatas = {
[0052] S erv i ce M etad ata( module = "用户管理' serviceName = "userService", serviceAPIList = { @ServiceAPI( serviceAPIName = "ioiiin". operateCode = "0000001", operateDescdpdcm = "【{0}】用尸登录!" ) } ) })。
[0053] 以上示例基于注解技术,也可以采用xml等其他配置方式,只要将业务服务接口 信息配置化,并在运行时,缓存该配置信息。
[0054] 2.创建业务服务代理管理器(即日志代理管理器)
[0055] 由于基于代理模式是本发明实现统一代理业务请求,统一记录系统操作日志的核 心技术。因此,系统需要创建业务服务代理管理器,用于统一管理系统所有业务服务对象, 以及业务对象中的所有业务服务接口。
[0056] 3.业务服务代理管理器运行时拦截业务服务接口
[0057] 系统通过步骤2将所有业务服务对象交给业务服务代理管理器统一管理后,在运 行时,业务服务代理管理器就会智能地拦截系统所有业务请求。例如,当某个用户登录本 系统时,系统将调用用户业务服务(userService)中的登录接口(login)。此时,业务服务 代理管理器就会很容易地拦截到当前请求的userService业务对象以及login业务服务接 □。
[0058] 4.业务服务代理管理器获取被拦截业务服务接口的配置信息
[0059] 用户登录过程中,业务服务代理管理器运行时拦截到userService业务服务对象 和login业务服务接口后,需要判定当前业务服务请求是否需要提供操作日志记录功能。 也就是获取用户登录的操作日志描述信息。业务服务代理管理将根据userService业务服 务对象以及login业务服务接口名称到步骤1配置的业务服务接口描述缓存中匹配login 业务服务接口对应的操作日志描述信息。由于userService业务服务对象和login业务服 务对象在业务服务接口描述缓存中存在,故本次请求需要记录日志。反之,忽略步骤6。
[0060] 5.业务服务代理管理器调用业务服务接口
[0061] 业务服务代理管理器获取到用户登录业务服务接口(login)需要记录日志的标识 后,调用userService业务服务对象的用户登录业务服务接口(login),该接口才是处理用 户登录的核心业务。因此,业务服务代理管理器就这样实现了业务服务接口的代理。
[0062] 6.业务服务代理管理器封装业务服务接口操作日志信息,并调用操作日志业务服 务接口。最后,业务服务代理管理器将获取到的用户登录业务服务接口处理结果结合登录 服务接口的操作描述信息封装用户登录日志信息,并调用操作日志业务服务对象的记录日 志接口,记录当前用户登录日志。
[0063] 二、自动转存操作日志以及生成转存文件(参考图4)
[0064] 由于系统需要记录每个用户的操作日志,因此,面对大量的用户操作,日志表数据 量将递增式的增长。系统上线后,随着系统的运行,庞大的日志记录可能严重降低系统检索 效率,大大地增长系统响应时间。因此,需要为操作日志记录表提供迁移历史数据的技术方 案。鉴于此需求,本发明提出自动转存操作日志的方案。该方案具体细节如下:
[0065] 1.提供定时任务服务管理器(即定时管理器)
[0066] 基于Timer机制为系统创建定时任务服务管理器,并将执行时间(exec_time)、执 行周期(exec_peroid)配置化。
[0067] 2.定时任务服务管理器执行操作日志自动转存
[0068] 定时任务管理器按照exec_time和exec_peroid执行操作日志自动转存任务,将 操作日志历史数据转存到日志转存表(tbl_backup_l〇g),并清除原生日志表中已转存的日 志记录。
[0069] 3.定时任务服务管理器生成转存文件
[0070] 为了便于系统管理人员查看自动转存的日志历史数据。本发明在自动转存日志历 史数据的同时,还会自动生成日志转存文件存入指定位置,例如本地服务器,并且提供查看 转存文件的接口。从而,系统管理人员既可以通过操作日志转存文件,也可以通过日志转存 模块查看相关记录。
[0071] 图3示出了根据本发明的实施例的基于代理模式记录系统操作日志处理流程图。
[0072] 如图3所示,在步骤302,客户端用户向应用服务器发送操作请求。
[0073] 在步骤304,应用服务器中的请求控制器(控制层)解析本次请求,并调用业务逻辑 处理程序。
[0074] 在步骤306,业务服务代理管理器拦截到本次用户业务请求。
[0075] 在步骤308,首先解析出业务服务对象以及业务服务接口,然后根据它们定位业务 服务接口元数据对象(即在缓存中查找业务服务接口的操作日志描述信息)。如果获取到相 关业务接口元数据对象,那么表明本次业务请求,需要记录日志,进入步骤310。反之,进入 步骤312,直接调用本次请求对应的业务服务对象的业务服务接口。
[0076] 在步骤310,业务服务代理管理根据步骤308获取到的业务接口元数据对象获取 相关元数据信息,并调用本次请求业务服务对象的业务服务接口,最后结合业务接口元数 据信息以及业务服务接口调用结果,封装本次请求日志信息以及调用日志业务服务对象的 添加操作日志业务服务接口。
[0077] 在步骤314,业务服务层调用数据访问层操作数据库(DB,database)。
[0078] 图4示出了根据本发明的实施例的自动转存操作日志处理流程图。
[0079] 如图4所示,在步骤402,系统调度定时任务服务管理器(即定时管理器)触发定时 任务。
[0080] 在步骤404,定时任务服务管理器调用日志业务服务对象自动转存业务接口,实现 自动转存功能。自动转存业务执行步骤具体包括:
[0081] ①自动转存日志历史数据到转存表(tbl_backup_log);
[0082] ②清除原生日志表(tbl_log)已转存的日志记录;
[0083] ③自动生成日志转存文件,并存入本地服务器。
[0084] 以上结合附图详细说明了根据本发明的技术方案,本发明提供统一代理所有业务 服务对象,统一记录系统操作日志并统一管理系统操作日志的功能。采用本发明技术方案 后,开发人员只需配置业务服务接口操作描述信息。系统将智能地统一记录用户操作日志, 降低了开发人员沟通成本,提升了开发效率。记录日志代码也不再耦合于业务代码中,更便 于系统后期维护。同时,自动转存功能及时地迁移历史数据从而降低了日志表数据量,很好 地提升了操作日志访问效率。自动转存历史数据并生成转存文件也一定程度上减少了数据 库访问次数,更便于系统管理员查看转存信息。
[0085] 以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技 术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修 改、等同替换、改进等,均应包含在本发明的保护范围之内。
【权利要求】
1. 一种日志管理系统,其特征在于,包括: 配置单元,用于配置业务服务接口的操作日志描述信息; 日志代理管理器,拦截客户端向服务器发送的业务请求,解析出与所述业务请求对应 的业务服务对象和业务服务接口,根据所述业务服务对象和所述业务服务接口获取所述业 务服务接口的操作日志描述信息,以及基于所述操作日志描述信息确定是否需要记录操作 日志。
2. 根据权利要求1所述的日志管理系统,其特征在于,所述日志代理管理器包括: 封装单元,用于在确定需要记录所述操作日志时,调用所述业务服务接口,根据所述业 务服务接口的调用结果和所述操作日志描述信息封装与所述业务请求对应的操作日志,并 调用记录日志接口,以记录所述操作日志。
3. 根据权利要求1所述的日志管理系统,其特征在于,所述日志代理管理器在确定不 需要记录所述操作日志时,直接调用所述业务服务接口。
4. 根据权利要求1至3中任一项所述的日志管理系统,其特征在于,还包括: 定时管理器,用于定时将所述操作日志转存至日志转存表,并清除原生日志表中已转 存的操作日志。
5. 根据权利要求4所述的日志管理系统,其特征在于,所述定时管理器包括:转存文件 生成单元,用于在转存所述操作日志时,生成日志转存文件,并将所述日志转存文件存入指 定位置。
6. -种日志管理方法,其特征在于,包括: 配置业务服务接口的操作日志描述信息; 拦截客户端向服务器发送的业务请求,解析出与所述业务请求对应的业务服务对象和 业务服务接口; 根据所述业务服务对象和所述业务服务接口获取所述业务服务接口的操作日志描述 信息; 根据所述操作日志描述信息确定是否需要记录操作日志。
7. 根据权利要求6所述的日志管理方法,其特征在于,还包括:在确定需要记录所述操 作日志时,调用所述业务服务接口,根据所述业务服务接口的调用结果和所述操作日志描 述信息封装与所述业务请求对应的操作日志,并调用记录日志接口,以记录所述操作日志。
8. 根据权利要求6所述的日志管理方法,其特征在于,还包括:在确定不需要记录所述 操作日志时,直接调用所述业务服务接口。
9. 根据权利要求6至8中任一项所述的日志管理方法,其特征在于,还包括: 定时将所述操作日志转存至日志转存表,并清除原生日志表中已转存的操作日志。
10. 根据权利要求9所述的日志管理方法,其特征在于,在转存所述操作日志时,生成 日志转存文件,并将所述日志转存文件存入指定位置。
【文档编号】G06F11/34GK104156300SQ201310178132
【公开日】2014年11月19日 申请日期:2013年5月14日 优先权日:2013年5月14日
【发明者】郑伟, 黄科 申请人:利德科技发展有限公司, 北京方正阿帕比技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1