本发明专利技术适用于计算机软件领域,提供了一种记录审计日志的方法、装置及业务系统,该方法包括下述步骤:菜单事件将用户发出的操作请求通知相关业务组件;在加载审计日志插件后,所述业务组件调用接口通知所述审计日志插件所述业务组件将执行所述操作请求;在所述操作请求执行前后,所述审计日志插件记录对象的属性信息,所述对象为所述操作请求执行时所调用的对象。本发明专利技术以审计日志插件的形式实现审计日志的记录,易于审计日志的管理和控制。且统一用审计日志插件记录审计日志,代码容易维护。
【技术实现步骤摘要】
本专利技术属于计算机软件领域,尤其涉及一种记录审计日志的方法、装置及业务系统。
技术介绍
在ERP系统对系统数据做出的任何操作,都应该能够被记录。现有系统一般在系统功能模块中添加相应的代码,在用户操作时记录用户的行为。由于在不同的系统功能模块都要单独添加相应的记录审计日志的代码,因此存在以下缺点1、工作量巨大,新增模块需要一一处理相关功能。由于系统功能模块有很多,每一个系统功能模块都需要单独添加相应的记录审计日志的代码,因此工作量巨大。当新增加功能模块后有需要一一为新增加的功能模块添加相应的记录审计日志的代码。不利于扩展。2、不利于代码的维护,代码的一致性很难保证。由于代码分散于各个系统功能模块,因此代码的维护就显得较为困难,且很难保证一致性。3、不能实现功能级别的热拔插技术。
技术实现思路
本专利技术实施例的目的在于提供一种记录审计日志的方法,旨在解决记录审计日志工作量大,且不利于扩展和维护的问题。本专利技术实施例是这样实现的,一种记录审计日志的方法,所述方法包括下述步骤菜单事件将用户发出的操作请求通知相关业务组件;在加载审计日志插件后,所述业务组件调用接口通知所述审计日志插件所述业务组件将执行所述操作请求;在所述操作请求执行前后,所述审计日志插件记录对象的属性信息,所述对象为所述操作请求执行时所调用的对象。本专利技术实施例的另一目的在于提供一种记录审计日志的装置,所述装置包括操作请求接收单元,菜单事件将用户发出的操作请求通知相关业务组件;接口通知插件单元,用于在加载审计日志插件后,所述业务组件调用接口通知所述审计日志插件所述业务组件将执行所述操作请求;审计日志记录单元,用于在所述操作请求执行前后,所述审计日志插件记录对象的属性信息,所述对象为所述操作请求执行时所调用的对象。本专利技术另一目的在于提供一种包含所述记录审计日志的装置的业务系统。由上可知,本专利技术实施例提供的一种记录审计日志的方法、装置及业务系统,以审计日志插件的形式实现审计日志的记录,能够动态地记录某个功能模块的审计日志,且易于审计日志的管理和控制。同时,统一用审计日志插件记录审计日志,使得代码容易维护,新增模块也不需要单独扩展记录审计日志的功能,仅需在相应的表中添加一条记录后加载审计日志插件就能实现。且能够根据需要加载审计日志插件,对不需要做审计日志的业务组件不再加载审计日志插件。自定义的接口根据用户的实际需求做不同的属性、事件及方法的定义。可根据其不同的定义满足各业务模块间的通信、业务模块和插件间的通信及主控程序和各业务模块程序的通信。实现了主控程序与子模块菜单间的无缝集成,具有良好的可扩展性,适合多人大规模团队开发的系统。附图说明图1是本专利技术第一实施例提供的记录审计日志的方法的流程图;图2是本专利技术第二实施例提供的记录审计日志的方法的流程图;图3是本专利技术第三实施例提供的记录审计日志的方法的流程图;图4本专利技术第一实施例提供的接口与主控程序和业务模块通信的示意图;图5本专利技术第一实施例提供的接口与主控程序和业务模块通信的一个实例的流程图;图6是本专利技术实施例提供的记录审计日志的装置的结构框图。 具体实施例方式为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。本专利技术实施例在抽象了业务系统中的业务对象后,通过加载审计日志插件记录操作请求执行前后调用的对象的属性信息的变化作为审计日志。本专利技术提供了一种记录审计日志的方法、装置所述方法包括菜单事件将用户发出的操作请求通知相关业务组件;在加载审计日志插件后,所述业务组件调用接口通知所述审计日志插件所述业务组件将执行所述操作请求;在所述操作请求执行前后,所述审计日志插件记录对象的属性信息,所述对象为所述操作请求执行时所调用的对象。所述装置包括操作请求接收单元,菜单事件将用户发出的操作请求通知相关业务组件;接口通知插件单元,用于在加载审计日志插件后,所述业务组件调用接口通知所述审计日志插件所述业务组件将执行所述操作请求;审计日志记录单元,用于在所述操作请求执行前后,所述审计日志插件记录对象的属性信息,所述对象为所述操作请求执行时所调用的对象。为了说明本专利技术所述的技术方案,下面通过具体实施例来进行说明。实施例一图1示出了本专利技术第一实施例提供的记录审计日志方法的流程,通过加载审计日志插件记录操作请求执行前后调用的对象的属性信息的变化作为审计日志,详述如下在步骤SlOl中,菜单事件将用户发出的操作请求通知相关业务组件。在本专利技术实施例中,当接收到用户发出的某操作请求时,首先由一个菜单事件将用户发出的操作请求通知相关业务组件。所述用户发出的操作请求包括删除请求、保存请求、复制请求等。在本专利技术实施例中,系统预先定义了一张表,所述表中含有系统功能模块与业务组件的对应关系。因此,菜单事件通过读取所述含有系统功能模块与业务组件对应关系的表后,将用户发出的操作请求通知相关的业务组件。当系统需要扩展新的功能模块时,可通过在所述含有系统功能模块与业务组件的对应关系的表中加入相应的记录实现。例如预先设定的含有系统功能模块与业务组件的对应关系的表为t_ DataFlowDetaiIFimc,内容为组件名.类名。所述组件名为业务组件的名称,所述类名为系统功能模块的类名。这时,菜单事件便可读通过取表LDataFlowDetai IFunc获得相关业务组件名。 在步骤S102中,加载审计日志插件后,业务组件调用接口通知审计日志插件业务组件将执行操作请求。在本专利技术实施例中,以插件的形式记录审计日志,因此,在记录审计日志之前,需加载审计日志插件。加载审计日志插件后,业务组件调用接口通知所述审计日志插件业务组件将执行操作请求。在本专利技术实施例中,所述接口为预先定义的供各模块调用的接口。可用于各模块间相互通信,可用于各模块与插件通信,也可作为主控程序与各业务模块的桥梁供各模块和主控程序引用等。在此步骤中,所述接口用于通知插件业务组件做了什么,即在加载审计日志插件后,业务组件调用接口通知审计日志插件所述业务组件将执行操作请求。对此接口其他应用的详细描述,详见实施例四,在此就不再赘述了。在步骤S103中,在所述操作请求执行前后,所述审计日志插件记录对象的属性信息,所述对象为所述操作请求执行时所调用的对象。在本专利技术实施例中,在系统执行用户请求的操作前,记录下操作请求执行时所调用的对象的所有属性信息。之后,业务组件执行操作请求。在本专利技术实施例中,业务组件在执行完操作请求后,调用接口通知审计日志插件操作请求已执行,审计日志插件记录对象此时的所有属性信息。通过记录操作请求执行前后调用的对象的属性信息的变化作为审计日志,然后将所述审计日志存储于数据库中。在本专利技术实施例中,以审计日志插件的形式实现审计日志的记录,能够动态地记录某个功能模块的审计日志,且易于审计日志的管理和控制。同时,统一用审计日志插件记录审计日志,使得代码容易维护,新增模块也不需要单独扩展记录审计日志的功能,仅需在相应的表中添加一条记录后加载审计日志插件就能实现。实施例二 图2示出了本专利技术第二实施例提供的记录审计日志方法的流程,详述如下。在步骤S201中,菜单事件将用户发出的操作请求通知本文档来自技高网...
【技术保护点】
【技术特征摘要】
【专利技术属性】
技术研发人员:张庆,
申请(专利权)人:金蝶软件中国有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。