一种基于触发器原理实现操作日志记录的方法

文档序号:6631509阅读:1200来源:国知局
一种基于触发器原理实现操作日志记录的方法
【专利摘要】本发明涉及一种信息系统操作日志的记录【技术领域】,特别涉及一种基于触发器原理实现操作日志记录的方法。其方法包括:(1)建立存储过程,用于判断表字段修改了与否,并对修改了的字段进行日志的记录;(2)给业务信息表建立触发器,数据发生变化后,调用存储过程来记录修改前后的值。本方法根据数据库触发器原理实现操作日志的记录,一方面,因记录日志的功能基本是在数据库层完成,提高了操作日志记录的效率;另一方面,因应用层程序不需再开发数据修改相应的功能,故简化了应用程序的业务逻辑,同时也提高了应用系统在表示层的响应速度。
【专利说明】一种基于触发器原理实现操作日志记录的方法

【技术领域】
[0001]本发明涉及一种信息系统操作日志的记录【技术领域】,特别涉及一种基于触发器原理实现操作日志记录的方法。

【背景技术】
[0002]数据作为信息系统的核心元素,在信息系统中有着不可取代的作用,是信息系统其它功能最基本的前提条件,如统计查询、数据挖掘、领导决策等。而数据的准确与否,对统计查询、数据挖掘的结果和领导的决策有着至关重要的作用。尤其是某些业务系统的数据,如金融、人员信息、行政许可等涉及敏感数据,更需要保证其数据的合法性、真实性,并尽最大的可能避免数据被随意篡改而造成的损失。
[0003]因此,保证信息系统数据的真实性的功能,已经作为众多系统的基本功能被增加到了信息系统的应用程序中。而众多系统在保证系统中数据的合法性、真实性时,普遍采用的是通过应用程序来记录系统使用者对信息系统中数据的操作日志。这种方法的弊端在于:1,记录操作日志的业务逻辑都在程序中实现,增加了程序的复杂度;2,应用程序增加了访问数据库的次数,降低了系统的工作效率;3,随着系统中业务的变化,操作日志记录的内容也随之变化,这样还需要维护应用程序。4,若信息系统的数据需要大量严密的记录操作日志,那么记录操作日志的功能在系统整个应用程序中所占比例会很高,显得头重脚轻。


【发明内容】

[0004]为了解决现有技术的问题,本发明提供了一种基于触发器原理实现操作日志记录的方法,其在数据库层利用触发器实现记录系统使用者对系统信息修改的操作日志,提高信息系统记录操作日志的效率。
[0005]本发明所采用的技术方案如下:
一种基于触发器原理实现操作日志记录的方法,是在数据库层通过触发器、存储过程来实现记录系统使用者在信息系统中对系统数据修改的操作日志。
[0006]方法具体包括:
A、系统使用者在应用层修改数据时,程序将修改的数据所在的表名、主键信息、修改人信息、修改时间记录到基本日志表中;
B、为修改的数据的表建立触发器,触发器负责在数据发生变化后,把该表中的数据字段修改前后的值、及该数据所在表的表名、主键信息、修改时间、字段说明作为参数传给存储过程;
C、建立存储过程:存储过程负责判断表字段修改了与否,并把修改了的字段其修改前后的值,以及触发器调用存储过程时传递的所述的参数保存到详细日志表中;
D、确定数据的修改人:按照数据所在的表名、主键信息、修改时间的等值条件,把基本日志表和详细日志表进行I对多的连接,从而实现基本日志表和详细日志表的关联,确定了修改人以及详细的修改内容。
[0007]步骤A中,修改时间同时记录到修改的业务数据表中的某个字段。
[0008]本发明的发明目的是对信息系统中重要数据修改时记录相应的操作日志,直接目的在于追踪修改内容,修改人,修改时间,根本目的在于维护系统数据的安全性、有效性、合法性、真实性。
[0009]信息系统每一条信息的安全性、合法性、真实性都需要有严格的技术保障。本方法是对信息系统中数据修改的操作进行高效、客观的记录。给信息系统使用者提供了业务信息维护过程中全面的跟踪记录,从而也震慑了那些随意非法篡改系统信息的人,保障了信息系统中的数据。
[0010]本方法根据数据库触发器原理实现操作日志的记录,一方面,因记录日志的功能基本是在数据库层完成,提高了操作日志记录的效率;另一方面,因应用层程序不需再开发数据修改相应的功能,故简化了应用程序的业务逻辑,同时也提高了应用系统在表示层的响应速度。
[0011]本发明提供的技术方案带来的有益效果是:
1、记录操作日志的功能基本都放在了数据库层,提高了系统运行的效率;
2、应用程序只需简单记录修改人和修改时间,极大的降低了应用程序的业务逻辑,并提闻了系统在表不层的响应速度;
3、业务系统的业务若发生变化,应用程序不需要维护,只需要修改对应表的触发器即可;
4、有效的记录操作日志,一方面降低了系统使用者随意篡改系统数据的风险,另一方面,若是使用者操作失误修改了系统数据,也可根据日志内容很方便的进行还原。从而保障了信息系统数据的合法性、真实性。

【具体实施方式】
[0012]为使本发明的目的、技术方案和优点更加清楚,下面将对本发明实施方式作进一步地详细描述。
[0013]实施例一
本发明的一种基于触发器原理实现操作日志记录的方法,其方法包括:(1)建立存储过程,用于判断表字段修改了与否,并对修改了的字段进行日志的记录;(2)给业务信息表建立触发器,数据发生变化后,调用存储过程来记录修改前后的值。
[0014]具体包括以下步骤:
(一)系统使用者在应用层修改数据时,有程序将修改的数据所在的表名、主键信息、修改人信息、修改时间等内容记录到“基本日志表”中。其中修改时间必须同时记录到修改的业务数据表中的某个字段,如“最后更新时间”字段。
[0015](二)为修改的数据的表建立触发器。触发器负责在数据发生变化后,把该表中的数据字段修改前后的值、及该数据所在表的表名、主键信息、修改时间、字段说明等内容作为参数传给存储过程。
[0016](三)建立存储过程。存储过程负责判断表字段修改了与否,并把修改了的字段其修改前后的值,以及触发器调用存储过程时传递的参数(数据所在表的表名、主键信息、修改时间、字段说明等内容)保存到“详细日志表”中。
[0017](四)确定数据的修改人。按照“数据所在的表名”、“主键信息”、“修改时间”的等值条件,把“基本日志表”和“详细日志表”进行I对多的连接。这样就把“基本日志表”和“详细日志表”进行了关联,从而确定了修改人以及详细的修改内容。
[0018]基于以上方案,进行性能测试:
在测试表TestTable中存储了 5万行数据,更新3个字段,也就是在“基本日志表”表会有5万行数据写入,在“详细日志表”中有15万行数据写入。通过测试总共只需用时45s。对比常规的程序记录日志的信息系统,性能有明显的提高。
[0019]以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【权利要求】
1.一种基于触发器原理实现操作日志记录的方法,是在数据库层通过触发器、存储过程来实现记录系统使用者在信息系统中对系统数据修改的操作日志。
2.根据权利要求1所述的一种基于触发器原理实现操作日志记录的方法,其特征在于,所述的方法具体包括: A、系统使用者在应用层修改数据时,程序将修改的数据所在的表名、主键信息、修改人信息、修改时间记录到基本日志表中; B、为修改的数据的表建立触发器,触发器负责在数据发生变化后,把该表中的数据字段修改前后的值、及该数据所在表的表名、主键信息、修改时间、字段说明作为参数传给存储过程; C、建立存储过程:存储过程负责判断表字段修改了与否,并把修改了的字段其修改前后的值,以及触发器调用存储过程时传递的所述的参数保存到详细日志表中; D、确定数据的修改人:按照数据所在的表名、主键信息、修改时间的等值条件,把基本日志表和详细日志表进行I对多的连接,从而实现基本日志表和详细日志表的关联,确定了修改人以及详细的修改内容。
3.根据权利要求2所述的一种基于触发器原理实现操作日志记录的方法,其特征在于,所述的步骤A中,修改时间同时记录到修改的业务数据表中的某个字段。
【文档编号】G06F17/30GK104391865SQ201410576630
【公开日】2015年3月4日 申请日期:2014年10月24日 优先权日:2014年10月24日
【发明者】栾瑞宁, 朱立朋, 王鹏 申请人:浪潮软件股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1