一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种灵活的零侵入系统操作日志记录方法与流程

2022-12-10 09:57:07 来源:中国专利 TAG:


1.本发明涉及数据处理技术领域,尤其涉及的是一种灵活的零侵入系统操作日志记录方法。


背景技术:

2.随着互联网技术的快速发展以及使用人数的增加,系统中的关键数据修改频率越来越高,相同的数据在相同或者不同的时间被不同的人进行修改的频次也随着提高,对数据修改进行溯源的难度也随着增加,在现有的记录系统操作日志技术方案中通常是在应用程序中记录数据变更,此方案主要是通过在程序中硬编码的形式(如通过拦截器、切面(aop)等拦截记录),直接将修改的内容打印在系统的运行日志,此方案实现简单,但缺陷也十分明显,首先,该方案直接将变更数据打印在系统运行日志中,一般而言系统运行日志数据量大,保留时间短,由于带来检索以及存储成本高,更有可能因运行日志清理而带来数据变更记录丢失的情况;其次,对于需要记录数据变更情况的地方,均需要开发人员修改程序,添加对应的记录逻辑,要做到每一处相关变更都记录,修改难度大且维护成本高;因此,现有技术存在缺陷,需要改进。


技术实现要素:

3.针对现有技术存在的不足,本发明目的是提供一种灵活的零侵入系统操作日志记录方法,以解决上述背景技术中提出的问题。为实现上述目的,本发明所采用了下述的技术方案:
4.该灵活的零侵入系统操作日志记录方法,包括至少一个业务数据库、关键日志数据库、操作日志采集集群、操作日志处理集群、操作日志检索集群,
5.所述的操作日志记录方法包括以下步骤:
6.步骤s1、当业务数据库数据被修改时,所述业务数据库对该修改生成操作日志;
7.步骤s2、所述操作日志采集集群将所述操作日志解析并转化为结构化数据;
8.步骤s3、所述操作日志处理集群从所述操作日志采集集群中消费所述结构化数据,根据配置文件对所述结构化数据进行解析、补全,并存储至所述关键日志数据库;
9.步骤s4、所述操作日志检索集群对所述关键日志数据库内的数据进行检索匹配,并为用户提供检索服务和展示服务。
10.优选的,所述操作日志采集集群包括采集集群、解析集群和kafka集群。
11.优选的,所述步骤s2包括以下步骤:
12.步骤s21、所述采集集群将所述操作日志广播至所述解析集群;
13.步骤s22、所述解析集群从操作日志中解析出发生变更的操作类型、发生变更的字段、变更发生的时间和变更发生的操作人员;
14.步骤s23、生成结构化数据;
15.步骤s24、将所述结构化数据投递到所述kafka集群中。
16.优选的,所述步骤s3包括以下步骤:
17.步骤s31、读取配置文件;
18.步骤s32、根据配置文件加载多个动态处理器,并分配每个动态处理器需要处理的结构化数据的类型和逻辑;
19.步骤s33、与kafka集群建立连接,从kafka集群中消费所述结构化数据;
20.步骤s34、调用动态处理器对所述结构化数据进行渲染,生成渲染数据;
21.步骤s35、将处理完成的所述渲染数据存储至所述关键日志数据库。
22.优选的,所述配置文件包括每种结构化数据类型的处理方式,以及处理每种类型结构化数据的动态处理器和处理逻辑。
23.优选的,所述检索服务包括精确检索和模糊检索,所述展示服务包括以表格的形式展示操作的时间、人员、时间、具体变更的内容。
24.优选的,在所述步骤s2之后,在所述步骤s21之前还包括以下步骤:
25.步骤s201:所述操作日志采集集群对所述操作日志进行加密,生成加密日志。
26.优选的,在步骤s34之前和步骤s33之后还包括以下步骤:
27.步骤s331:所述操作日志处理集群对所述加密日志进行解密。
28.优选的,发生变更的操作类型包括增加、删除和修改。
29.相对于现有技术的有益效果是,采用上述方案,本发明通过监听业务数据库的形式,将记录操作日志本身与原有业务系统完全解耦,无需对现有的系统做任何改造,也无需关注业务系统逻辑的变更,仅需要关注数据本身的含义即可,达到零侵入的目的,通过检索系统中的关键数据的变更情况,可以快速定位的某个特定数据历史全部发生变更的时间、变更的操作人员、变更前后的内容等,当系统管理、维护人员、运营人员等对某个数据的状态存疑时,可以快速定位到更改的情况,提高问题排查效率,此外,由于关键日志记录了完整的数据变更情况,当系统数据出现某些需要回退的情况时,也可以通过操作日志的数据项进行一定程度的数据恢复。
附图说明
30.图1为本发明的一个实施例的零侵入系统操作日志记录方法流程示意图;
31.图2为本发明图1实施例的步骤s2流程示意图;
32.图3为本发明图1实施例的步骤s3示意图;
33.图4为本发明的一个实施例的总结构示意图;
34.图5为本发明的图1实施例的操作日志处理集群结构示意图;
具体实施方式
35.为了便于理解本发明,下面结合附图和具体实施例,对本发明进行更详细的说明。附图中给出了本发明的较佳的实施例。但是,本发明可以以许多不同的形式来实现,并不限于本说明书所描述的实施例。相反地,提供这些实施例的目的是使对本发明的公开内容的理解更加透彻全面。
36.除非另有定义,本说明书所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本说明书中在本发明的说明书中所使用的术语只是为
了描述具体的实施例的目的,不是用于限制本发明。
37.如图1所示,本发明的一个实施例是,该灵活的零侵入系统操作日志记录方法,包括至少一个业务数据库、关键日志数据库、操作日志采集集群、操作日志处理集群、操作日志检索集群,
38.所述的操作日志记录方法包括以下步骤:
39.步骤s1、当业务数据库数据被修改时,所述业务数据库对该修改生成操作日志;
40.步骤s2、所述操作日志采集集群将所述操作日志解析并转化为结构化数据;
41.步骤s3、所述操作日志处理集群从所述操作日志采集集群中消费所述结构化数据,根据配置文件对所述结构化数据进行解析、补全,并存储至所述关键日志数据库;
42.步骤s4、所述操作日志检索集群对所述关键日志数据库内的数据进行检索匹配,并为用户提供检索服务和展示服务。
43.具体的,操作日志采集集群的核心功能是做为客户端监听重点关注的业务数据库中的数据、库、表,业务数据库可设置多个,当用户修改任意一个业务数据库数据时,该业务数据库产生的binlog日志均会被操作日志采集集群采集,并根据binlog日志的特点,将操作日志解析并转化为结构化数据,等待操作日志处理集群处理,操作日志处理集群对结构化数据进行进一步解析、补全并存储至关键日志数据库中,操作日志检索集群的核心功能是提供丰富检索功能及对应的ui界面,用于方便非技术人员,如系统管理员、运营人员等检索某个数据的操作日志。
44.本发明通过监听业务数据库的形式,将记录操作日志本身与原有业务系统完全解耦,无需对现有的系统做任何改造,也无需关注业务系统逻辑的变更,仅需要关注数据本身的含义即可,达到零侵入的目的,通过操作日志检索集群检索系统中的关键数据的变更情况,可以快速定位的某个特定数据历史全部发生变更的时间、变更的操作人员、变更前后的内容等,当系统管理、维护人员、运营人员等对某个数据的状态存疑时,可以快速定位到更改的情况,提高问题排查效率。
45.优选的,操作日志采集集群包括采集集群、解析集群和kafka集群。
46.具体的,采集集群主要采集业务数据库的操作日志并广播至解析集群,解析集群对操作日志进行解析,kafka集群用于消息缓存。
47.优选的,所述步骤s2包括以下步骤:
48.步骤s21、采集集群将所述操作日志广播至解析集群;
49.步骤s22、解析集群从操作日志中解析出发生变更的操作类型、发生变更的字段、变更发生的时间和变更发生的操作人员;
50.步骤s23、生成结构化数据;
51.步骤s24、将所述结构化数据投递到kafka集群中。
52.具体的,通过监听数据库的变更记录binlog,采集到关键日志变更的原始内容,之后对原始内容进行解析,根据binlog日志的特点,从中解析出发生变更的操作类型,发生变更的字段,变更发生的时间,变更发生的操作人员等,之后将解析出来的消息转换为结构化数据,将非结构化数据转换为结构化数据,为进一步处理做好准备,通过kafka集群的缓冲,避免瞬间大量产生的解析数据冲垮操作日志处理集群,提高整体的可用性。
53.优选的,如图2所示,所述步骤s3包括以下步骤:
54.步骤s31、读取配置文件;
55.步骤s32、根据配置文件加载多个动态处理器,并分配每个动态处理器需要处理的结构化数据的类型和逻辑;
56.步骤s33、与kafka集群建立连接,从kafka集群中消费所述结构化数据;
57.步骤s34、调用动态处理器对所述结构化数据进行渲染,生成渲染数据;
58.步骤s35、将处理完成的所述渲染数据存储至所述关键日志数据库。
59.具体的,操作日志处理集群对采集到并且初步处理的数据进行进一步加工,根据预先配置好的处理器处理逻辑,对每一条结构化数据进行补全,转换等操作,转化为对用户更加友好的渲染数据,即文本内容,如直接读取该字段的值、动态调用函数处理该字段(动态扩展点)、该字段映射成可读文本等(状态类型的字段)等等,接着根据配置的库-表动态加载程序中的处理器(方法),处理器通过注解@operatelogmodule、@operatelogsubmodule标注,表示该模块是用于处理那个库、表的消息,并且存储在专用的数据库中。
60.此外,通过加载动态处理器的模式,开发人员可以灵活地针对每一种数据类型进行处理,具备更高的扩展性,对于开发维护更加方便。
61.可以理解的是,渲染的基本模板如:xxx由aaa变更为bbb,其中xxx表示字段的可读含义,如员工的手机号码,aaa为变更前的内容,bbb为变更后的内容。
62.优选的,所述配置文件包括每种结构化数据类型的处理方式,以及处理每种类型结构化数据的动态处理器和处理逻辑。
63.具体的,配置文件详细地描述了每个库-表-字段所对应的处理方式;当需要新增或者修改对某个字段的处理逻辑时,对于已存在库-表映射配置的数据,仅需要添加对应字段的处理模板描述即可;当不存在时,所需要也仅是添加处理模板描述以及新建对应的动态处理器,无需修改现有的任何逻辑;当特定的字段需要进行比较特殊的处理,如敏感字段进行复杂的脱敏或者其他处理逻辑时,只需要在对应的动态处理器中添加自定义处理代码逻辑,无需修改现有的任何处理逻辑,非常灵活方便。
64.优选的,所述检索服务包括精确检索和模糊检索,所述展示服务包括以表格的形式展示操作的时间、人员、时间、具体变更的内容。
65.具体的,如系统管理员、运营人员等检索某个数据的操作日志,在检索页面,可以根据某个库、表,操作的时间,精确匹配某个数据,或者模糊检索包含该关键词等方式检索到对应的数据,同时以表格的形式详细地展示了操作的时间、人员、时间、具体变更的内容等。
66.优选的,在所述步骤s2之后,在所述步骤s21之前还包括以下步骤:
67.步骤s201:所述操作日志采集集群对所述操作日志进行加密,生成加密日志。以保证数据传输过程中的数据安全。
68.优选的,在步骤s34之前和步骤s33之后还包括以下步骤:
69.步骤s331:所述操作日志处理集群对所述加密日志进行解密。
70.由于业务系统为了数据安全,可能会将对应字段的内容进行加密或者该字段是外键,此时处理集群会根据模板中的配置动态地调用对应的处理函数,获取其具备实际含义的数据,之后再进行渲染,当有特殊的需求时,可在动态处理器(方法)中编辑专用的处理逻辑,否则,直接复用现有逻辑即可,一般而言,大部分的处理均使用现有的逻辑即可,既保障
了便捷性,也提供了极大的扩展性。
71.优选的,发生变更的操作类型包括增加、删除和修改。
72.需要说明的是,上述各技术特征继续相互组合,形成未在上面列举的各种实施例,均视为本发明说明书记载的范围;并且,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,而所有这些改进和变换都应属于本发明所附权利要求的保护范围。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献