CN110489310A - 一种记录用户操作的方法、装置、存储介质及计算机设备 - Google Patents
一种记录用户操作的方法、装置、存储介质及计算机设备 Download PDFInfo
- Publication number
- CN110489310A CN110489310A CN201811112301.8A CN201811112301A CN110489310A CN 110489310 A CN110489310 A CN 110489310A CN 201811112301 A CN201811112301 A CN 201811112301A CN 110489310 A CN110489310 A CN 110489310A
- Authority
- CN
- China
- Prior art keywords
- information
- user
- annotating
- annotating information
- record
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/32—Monitoring with visual or acoustical indication of the functioning of the machine
- G06F11/324—Display of status information
- G06F11/327—Alarm or error message display
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
- G06F11/3476—Data logging
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种记录用户操作的方法、装置、存储介质及计算机设备。所公开的方法包括:从用户操作所对应的目标方法的注解中获取关于用户操作的注解信息;从目标方法的入参中获取关于用户操作的非注解信息;记录注解信息和非注解信息,其中,注解信息包括用户操作所执行的具体功能的文字说明信息、用户操作所涉及的操作对象的文字说明信息和占位信息,非注解信息包括用于替换占位信息的操作对象的具体信息。所公开的技术方案,提供了能够同时记录用户的注解信息和非注解信息的更加灵活的记录方式。
Description
技术领域
本发明涉及计算机、网络和数据库领域,尤其涉及一种记录用户操作的方法、装置、存储介质及计算机设备。
背景技术
在企业数字化转型高速发展的时代,不断涌现出了各种各样的计算机、网络和数据库等信息***,这些信息***中的信息安全性是至关重要的。
在现有技术中,例如,对于网络***而言,通常在网络***的外部防火墙方面有各种策略保证安全,然而,在网络***内部的账号权限内的操作几乎是不设防的,也没有很好的防御方式。即,现有技术的信息***很少在业务层面针对内部网络的用户进行日志记录。
另外,现有技术的操作日志一般面向的是技术人员,而不是普通用户。因此,普通用户通常不能及时发现自己账号的异常操作(不经意的误操作或非本人操作)。即使普通用户能够发现异常,由于日志记录通常不是用自然语言描述的,因而也需要专业的技术人员去分析查找日志才能确定具体的异常操作信息。这种方式比较繁琐、效率低,还大大增加了沟通成本,使得普通用户不能独立、及时、直观地获取自己账号的相关操作信息。
例如,现有技术通常采用以下两种方法来记录用户操作日志:
1、在后端接口的实现方法中,将用于记录业务日志(即,用户操作日志)的代码和具体业务方法耦合在一起,并且随着一个事务提交。
2、利用AOP的Aspectj技术进行日志埋点,把调用目标方法的方法名和参数记录下来,供技术人员排查问题使用。
如果为了兼容开发量与***性能,将业务日志和业务数据都存储在了MySQL数据库里,那么上述两种方法分别具有以下缺点:
1、业务日志代码和业务方法代码耦合严重,随着用户数量增长和***功能的增加,所需记录日志的范围扩大时,每个调用记录日志方法的源代码都需要修改,并且在性能瓶颈到来时,无法轻量级对业务日志进行迁移与扩展,势必会拖累***整体的运行效率;其次,业务日志代码和业务方法在一个事务里面,一起提交成功或失败,对于操作失败的情况,事务进行回滚,导致不能记录下来,存在一定的安全隐患。
2、传统业务日志的目标受众是懂技术的开发人员,普通用户并不能看懂这些***日志,记录日志的主要目的是方便进行问题排查。普通注解方式只能描述固定信息,不能根据传入参数的改变而更改描述信息,当用户账号有异常操作或进行误操作时,普通注解本身不能清楚地描述和定位问题,从而容易忽视问题,造成连锁反应。
另外,在问题暴露之前,单从记录的业务日志来看,并不能及时得到有效的反馈信息;并且当***运行一段时间之后,各种业务日志会掺杂在一起,用户也很难从海量的日志中寻找到需要的信息。
因此,为了解决上述问题,需要提出新的技术方案。
发明内容
根据本发明的记录用户操作的方法,包括:
从用户操作所对应的目标方法的注解中获取关于用户操作的注解信息;
从目标方法的入参中获取关于用户操作的非注解信息;
记录注解信息和非注解信息,
其中,注解信息包括用户操作所执行的具体功能的文字说明信息、用户操作所涉及的操作对象的文字说明信息和占位信息,非注解信息包括用于替换占位信息的操作对象的具体信息。
根据本发明的记录用户操作的方法,还包括:
基于日志监控策略分析注解信息和非注解信息,确定告警信息;
记录注解信息、非注解信息和告警信息;
将注解信息、非注解信息和告警信息通知给用户。
根据本发明的记录用户操作的方法,以异步方式执行目标方法和执行记录注解信息和非注解信息的步骤。
根据本发明的记录用户操作的方法,从用户操作所对应的目标方法的注解中获取关于用户操作的注解信息的步骤包括:
使用自定义的***实例来获取目标方法和目标方法的注解。
根据本发明的记录用户操作的方法,从目标方法的入参中获取关于用户操作的非注解信息的步骤包括:
使用自定义的***实例来获取目标方法;
使用自定义的动态代理实例来执行目标方法,获取非注解信息。
根据本发明的记录用户操作的方法,记录注解信息和非注解信息的步骤包括:
在自定义的动态代理实例中调用自定义的业务日志异步处理实例来异步记录注解信息和非注解信息。
根据本发明的记录用户操作的装置,包括:
第一信息获取模块,用于从用户操作所对应的目标方法的注解中获取关于用户操作的注解信息;
第二信息获取模块,用于从目标方法的入参中获取关于用户操作的非注解信息;
第一信息记录模块,用于记录注解信息和非注解信息,
其中,注解信息包括用户操作所执行的具体功能的文字说明信息、用户操作所涉及的操作对象的文字说明信息和占位信息,非注解信息包括用于替换占位信息的操作对象的具体信息。
根据本发明的记录用户操作的装置,还包括:
第三信息获取模块,用于基于日志监控策略分析注解信息和非注解信息,确定告警信息;
第二信息记录模块,用于记录注解信息、非注解信息和告警信息;
告警模块,用于将注解信息、非注解信息和告警信息通知给用户。
根据本发明的记录用户操作的装置,还包括:
异步执行模块,用于以异步方式执行目标方法和执行记录注解信息和非注解信息的步骤。
根据本发明的记录用户操作的装置,其第一信息获取模块还用于:
使用自定义的***实例来获取目标方法和目标方法的注解。
根据本发明的记录用户操作的装置,其第二信息获取模块还用于:
使用自定义的***实例来获取目标方法;
使用自定义的动态代理实例来执行目标方法,获取非注解信息。
根据本发明的记录用户操作的装置,其第一信息记录模块还用于:
在自定义的动态代理实例中调用自定义的业务日志异步处理实例来异步记录注解信息和非注解信息。
根据本发明的计算机可读存储介质,存储介质上存储有计算机程序,程序被处理器执行时实现上文所述方法的步骤。
根据本发明的计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时实现上文所述方法的步骤。
根据本发明的上述技术方案,提供了能够同时记录用户的注解信息和非注解信息的更加灵活的记录方式。
附图说明
并入到说明书中并且构成说明书的一部分的附图示出了本发明的实施例,并且与相关的文字描述一起用于解释本发明的原理。在这些附图中,类似的附图标记用于表示类似的要素。下面描述中的附图是本发明的一些实施例,而不是全部实施例。对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,可以根据这些附图获得其他的附图。
图1示例性地示出了根据本发明的记录用户操作的方法的示意流程图。
图2示例性地示出了根据本发明的记录用户操作的装置的示意框图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
图1示例性地示出了根据本发明的记录用户操作的方法的示意流程图。
如图1的实线框所示,根据本发明的记录用户操作的方法,包括:
步骤S102:从用户操作所对应的目标方法的注解中获取关于用户操作的注解信息;
步骤S104:从目标方法的入参中获取关于用户操作的非注解信息;
步骤S106:记录注解信息和非注解信息,
其中,注解信息包括用户操作所执行的具体功能的文字说明信息、用户操作所涉及的操作对象的文字说明信息和占位信息,非注解信息包括用于替换占位信息的操作对象的具体信息。
例如,以执行添加用户操作的useradd[-d home]username命令为例,其注解信息可以包括用户操作所执行的具体功能的文字说明信息(例如,增加用户)、用户操作所涉及的操作对象的文字说明信息和占位信息(用户根目录为{home}、用户名为{username});非注解信息可以包括用于替换占位信息{home}、{username}的操作对象的具体信息(例如,home为“/小林”、username为“小林”等)。即,可以使用操作对象的具体信息来替换注解中的占位信息{home}、{username},形成最终的记录信息“增加用户用户根目录为/小林用户名为小林”。
例如,上述用户操作包括用户通过前端提交的、在后端执行的数据库操作。即,用户所操作的***可以是采用前后端分离的方式实现的网络***,后端接口遵循restful风格,用户每一个操作都对应后端的一个具体接口(方法)。
例如,可以使用自定义注解的方式在用户操作所对应的目标方法添加注解。例如,增加的自定义注解的名称为@interfaceActionLog;作用域配置为方法级别;作用时段配置为运行时;属性定义为“描述字段message”。
其中,上述注解是现有技术中的一种标注在程序代码的说明,可以在类、方法、字段、方法参数等的前面标注。
可选地,如图1的虚线框所示,根据本发明的记录用户操作的方法,还包括:
步骤S108:基于日志监控策略分析注解信息和非注解信息,确定告警信息;
步骤S110:记录注解信息、非注解信息和告警信息;
步骤S112:将注解信息、非注解信息和告警信息通知给用户。
可选地,可以在不影响用户体验的前提下,针对上述注解信息、非注解信息执行日志监控策略,以产生相应的告警信息(即,告警标签),从而为日志打上各等级健康状况的标签,有利于保障***的安全性和稳定性。
例如,可以自定义日志安全策略处理类,并在其中通过以下步骤添加和执行日志监控策略:
1、增加模块-调用状态-阈值-日志告警级别的关系映射,根据需要设定全局或局部模块的相对时间段内调用频率策略。
2、增加策略处理方法,参数为日志实体,通过判断日志所属模块映射策略,对此模块方法设定的正常调用频率、允许失败次数等策略的阈值进行判断,如果在设定的相对时间段内的调用次数超出阈值,则为此业务日志打上相应的“低”、“中”、“高”等告警标签,否则标为“正常”;比如设定登陆模块30分钟内登陆失败阈值为10次,告警级别为“高-***登陆”,当同一个账号出现登陆失败超出阈值的情况,就在超出阈值的日志打上“高-***登陆”级告警标签。
例如,可以(对日志判断处理后)根据告警信息中的日志告警级别,使用站内信、邮件等方式将(例如,对应于上述具有“高-***登陆”级告警标签的)注解信息、非注解信息和告警信息通知用户。
可选地,以异步方式执行目标方法和执行记录注解信息和非注解信息的步骤。
其中,异步方式是一种可以无需等待被调用函数的返回值就让操作(即,目标方法)继续进行的已有机制。
例如,可以基于Excutor框架来实现异步方式。Excutor框架是一个执行策略调用、调度、执行和控制的异步任务的框架,可以用来控制线程的启动、执行和关闭。
1、Excutor框架中定义了Callable接口。Callable接口使用泛型去定义它的返回类型。
2、Excutor框架中定义了Executors类。Executors类提供了用于在线程池中执行Callable内的任务的方法。
3、Excutor框架中定义了Future类。在线程池提交Callable任务后会返回一个Future对象,使用它可以知道Callable任务的状态,并且得到Callable返回的执行结果。Future提供了get方法,可以等待Callable结束并获取它的执行结果。
4、Excutor框架中定义了ExecutorService类。在ExecutorService类中提供了重载的submit方法,该方法既可以接收Runnable实例又能接收Callable实例。对于实现Callable接口的类,需要覆写call方法,并且只能通过ExecutorService的submit方法来启动call方法。
例如,可以基于Excutor框架,采用以下具体开发步骤来实现异步方式:
1、使用Excutor线程池节省***资源。
2、继承Callable接口,重载call方法。
3、可以在call方法中执行保存业务日志方法;可以在保存业务日志(即,上述步骤S110)之前,调用日志安全策略处理方法(即,上述步骤S108),标记日志的安全级别;之后还可以进行持久化(即,将日志信息存入数据库)。
4、增加普通方法,从线程池中取出空闲线程,通过使用ExecutorService的submit方法传入异步任务来调用异步保存业务日志方法,并用Future接收返回结果,调用完成后回收线程。
根据本发明的上述方法,可以采用异步方式记录业务日志,加快了反应速度。
可选地,可以使用自然语言描述业务日志,让用户参与成为日志的监督者,方便用户识别异常操作,提升业务日志的完整性与安全性。
可选地,步骤S102包括:
使用自定义的***实例来获取目标方法和目标方法的注解。
其中,上述***是现有技术中作用于客户端请求和后端处理类(或实例)之间,可以在请求方法到达后端之前进行拦截的一种对象(类或实例)。
例如,上述***类或实例在指定范围内拦截所有经过后端的接口调用(即,目标方法),并判断目标方法是否标注了自定义注解,如果标注了则为目标方法,拦截做下一步处理(例如,执行目标方法,获取非注解信息,记录信息等)。
可选地,步骤S104包括:
使用自定义的***实例来获取目标方法;
使用自定义的动态代理实例来执行目标方法,获取非注解信息。
例如,上述自定义的动态代理可以使用CGLIB动态代理来实现。
CGLIB动态代理在运行期为(包含上述目标方法的)目标类产生一个代理类,代理类将目标类作为自己的父类并为其中的非final委托方法创建两个方法:一个是与委托方法签名相同的方法,在它被调用时会通过super调用委托方法;另一个是代理类独有的(CGLIB***内部的拦截)方法,在进行动态代理时,会判断是否存在实现了MethodInterceptor接口的对象,若存在则将调用intercept方法对委托方法进行代理,通过拦截目标类的所有方法交由代理类来执行,可以在调用目标方法之前或之后做一些额外操作(例如,获取上述非注解信息)。
即,可以使用CGLIB动态代理来实现以下步骤:MethodInterceptor接口;重载intercept方法;增加获取代理类实例方法;通过代理实例来执行目标方法(即,CGLIB***拦截到的目标方法交给动态代理类进行代理)。
例如,可以在intercept方法中调用目标方法前后,进行如下操作,以获取上述非注解信息:
1、在目标方法执行前:获取目标方法的所有入参,并获取使用了ActionLo g自定义注解中描述字段message的值,用正则表达式\{[^}]*\}匹配出message中所有使用了{field}占位的地方,比如:“{username}在{department}中新增了人员,名字叫{userbean.name}”,此方法处理时会匹配出{username}{departmen t}{userbean.name}三个变量占位符,前两个变量不含嵌套属性,通过解析入参的属性映射可以得到具体的值,第三个变量包含嵌套属性,需要解析入参的属性后把入参对象转为json格式,再调用开源工具类jsonpath解析出映射的值。最终效果可能为“小明在技术部门中新增了人员,名字叫小林”,这样通俗易懂的语言,并且这些模板都是能够自定义组合的。
2、在目标方法执行后:保存业务日志;在使用try、catch、finally的方式,在try代码块中执行上述操作,在finally块调用业务日志异步处理类保存业务日志,确保目标方法的每一次调用都会被记录下来。
根据本发明的上述方法,可以采用注解方式,灵活控制记录业务日志的范围。可以利用动态代理技术,在目标方法调用前提取所需参数,在调用后记录调用结果,能保证业务日志的完整性,不随着操作失败而丢失这部分操作日志。
可选地,还可以在日志处理方面抽取出独立模块,统一管理。在扩展性和业务日志数据迁移方面有着天然优势。
可选地,业务日志的主体描述信息可以自定义模板,用自然语言结合参数解析形成便于用户理解的日志信息,让用户通过查看自己账号的操作记录,能够自主排查、处理一些常见问题,再者能够更精确地反馈问题,节省软件提供商的技术支持成本。
可选地,步骤S106包括:
在自定义的动态代理实例中调用自定义的业务日志异步处理实例来异步记录注解信息和非注解信息。
图2示例性地示出了根据本发明的记录用户操作的装置200的示意框图。
如图2的实线框所示,根据本发明的记录用户操作的装置200,包括:
第一信息获取模块201,用于从用户操作所对应的目标方法的注解中获取关于用户操作的注解信息;
第二信息获取模块203,用于从目标方法的入参中获取关于用户操作的非注解信息;
第一信息记录模块205,用于记录注解信息和非注解信息,
其中,注解信息包括用户操作所执行的具体功能的文字说明信息、用户操作所涉及的操作对象的文字说明信息和占位信息,非注解信息包括用于替换占位信息的操作对象的具体信息。
可选地,如图2的虚线框所示,记录用户操作的装置200还包括:
第三信息获取模块207,用于基于日志监控策略分析注解信息和非注解信息,确定告警信息;
第二信息记录模块209,用于记录注解信息、非注解信息和告警信息;
告警模块211,用于将注解信息、非注解信息和告警信息通知给用户。
可选地,如图2的虚线框所示,记录用户操作的装置200还包括:
异步执行模块213,用于以异步方式执行目标方法和执行记录注解信息和非注解信息的步骤。
可选地,第一信息获取模块201还用于:
使用自定义的***实例来获取目标方法和目标方法的注解。
可选地,第二信息获取模块203还用于:
使用自定义的***实例来获取目标方法;
使用自定义的动态代理实例来执行目标方法,获取非注解信息。
可选地,第一信息记录模块205还用于:
在自定义的动态代理实例中调用自定义的业务日志异步处理实例来异步记录注解信息和非注解信息。
基于根据本发明的上述方法和装置,还提出了一种计算机可读存储介质,存储介质上存储有计算机程序,程序被处理器执行时实现上文所述方法的步骤。
基于根据本发明的上述方法和装置,还提出了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时实现上文所述方法的步骤。
根据本发明的上述技术方案,提供了能够同时记录用户的注解信息和非注解信息的更加灵活的记录方式。
根据本发明的上述技术方案,还具有以下优点:
1、能够通过动态代理+自定义注解的方式来实现详细记录用户对具体数据的操作日志。实现了普通用户也能通过查看操作记录,对用户操作(例如,用户账号操作)行为进行监控,利于加强账号安全意识。一方面,用户能够追踪自己账号都对哪些数据进行了操作,如果有误操作的情况也能及时发现。另一方面,也能在非本人操作账号的情况下,对账号行为进行溯源。
2、当旧***进行升级、需要增加关于新的用户操作的业务日志记录时,避免了大量修改原有代码,减少了调试时间。
3、使用注解方式代替了在业务执行方法中执行写日志操作的传统日志记录方式。可以将描述信息(即,记录信息)随着传入参数细化成自然语言,增加了可读性。可以将日志模块从具体业务中分离出来,相对于现有技术而言,日志的粗细粒度具有伸缩性,后期随需求变化改动成本大大降低,有利于软件***版本迭代的良性循环。
4、可以在业务层面保证操作日志的完整性,进而提升***的健壮性。除了可以记录正常用户操作的情况之外,还可以有效地记录诸如暴力破解账号密码等频繁尝试入侵的情况、越权操作等异常用户操作行为。还可以针对这些日志记录制定对应的策略,从而保证***安全。
5、可以将业务日志的目标受众从技术人员转移到用户,让用户切实参与到业务日志中,有利于提高用户的账号安全意识,每次操作都有迹可循,加强了数据的可回溯性。还可以通过查看业务日志自主判断数据的合法性,避免误操作后不能及时定位问题。
6、可以使用异步方式保存业务日志,使核心业务逻辑无需等待日志逻辑执行完毕,日志记录的逻辑异步执行还可以将日志缓存到Buffer,批量写入数据库,通过使用异步,能够使软件***表现出更好的性能,并在异步任务中进行一些日志安全策略处理,增强***的健壮性,改善用户体验。
7、在不入侵原有业务方法的情况下,采用高内聚,低耦合的模式记录业务日志,用自然语言描述业务日志,让用户参与成为日志的监督者;并且采用异步方式记录业务日志,通过策略为日志打上告警标签,帮助用户识别异常操作,提升业务日志的完整性与安全性。
上面描述的内容可以单独地或者以各种方式组合起来实施,而这些变型方式都在本发明的保护范围之内。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、***、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些组件或所有组件可以被实施为由处理器,如数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制。尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例的技术方案的精神和范围。
Claims (14)
1.一种记录用户操作的方法,其特征在于,包括:
从用户操作所对应的目标方法的注解中获取关于所述用户操作的注解信息;
从所述目标方法的入参中获取关于所述用户操作的非注解信息;
记录所述注解信息和所述非注解信息,
其中,所述注解信息包括所述用户操作所执行的具体功能的文字说明信息、所述用户操作所涉及的操作对象的文字说明信息和占位信息,所述非注解信息包括用于替换所述占位信息的所述操作对象的具体信息。
2.如权利要求1所述的记录用户操作的方法,其特征在于,还包括:
基于日志监控策略分析所述注解信息和所述非注解信息,确定告警信息;
记录所述注解信息、所述非注解信息和所述告警信息;
将所述注解信息、所述非注解信息和所述告警信息通知给用户。
3.如权利要求1所述的记录用户操作的方法,其特征在于,以异步方式执行所述目标方法和执行所述记录所述注解信息和所述非注解信息的步骤。
4.如权利要求1所述的记录用户操作的方法,其特征在于,所述从用户操作所对应的目标方法的注解中获取关于所述用户操作的注解信息的步骤包括:
使用自定义的***实例来获取所述目标方法和所述目标方法的注解。
5.如权利要求1所述的记录用户操作的方法,其特征在于,所述从所述目标方法的入参中获取关于所述用户操作的非注解信息的步骤包括:
使用自定义的***实例来获取所述目标方法;
使用自定义的动态代理实例来执行所述目标方法,获取所述非注解信息。
6.如权利要求5所述的记录用户操作的方法,其特征在于,所述记录所述注解信息和所述非注解信息的步骤包括:
在所述自定义的动态代理实例中调用自定义的业务日志异步处理实例来异步记录所述注解信息和所述非注解信息。
7.一种记录用户操作的装置,其特征在于,包括:
第一信息获取模块,用于从用户操作所对应的目标方法的注解中获取关于所述用户操作的注解信息;
第二信息获取模块,用于从所述目标方法的入参中获取关于所述用户操作的非注解信息;
第一信息记录模块,用于记录所述注解信息和所述非注解信息,
其中,所述注解信息包括所述用户操作所执行的具体功能的文字说明信息、所述用户操作所涉及的操作对象的文字说明信息和占位信息,所述非注解信息包括用于替换所述占位信息的所述操作对象的具体信息。
8.如权利要求7所述的记录用户操作的装置,其特征在于,还包括:
第三信息获取模块,用于基于日志监控策略分析所述注解信息和所述非注解信息,确定告警信息;
第二信息记录模块,用于记录所述注解信息、所述非注解信息和所述告警信息;
告警模块,用于将所述注解信息、所述非注解信息和所述告警信息通知给用户。
9.如权利要求7所述的记录用户操作的装置,其特征在于,还包括:
异步执行模块,用于以异步方式执行所述目标方法和执行所述记录所述注解信息和所述非注解信息的步骤。
10.如权利要求7所述的记录用户操作的装置,其特征在于,所述第一信息获取模块还用于:
使用自定义的***实例来获取所述目标方法和所述目标方法的注解。
11.如权利要求7所述的记录用户操作的装置,其特征在于,所述第二信息获取模块还用于:
使用自定义的***实例来获取所述目标方法;
使用自定义的动态代理实例来执行所述目标方法,获取所述非注解信息。
12.如权利要求11所述的记录用户操作的装置,其特征在于,所述第一信息记录模块还用于:
在所述自定义的动态代理实例中调用自定义的业务日志异步处理实例来异步记录所述注解信息和所述非注解信息。
13.一种计算机可读存储介质,其特征在于,所述存储介质上存储有计算机程序,所述程序被处理器执行时实现权利要求1至6中任意一项所述方法的步骤。
14.一种计算机设备,其特征在于,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现权利要求1至6中任意一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811112301.8A CN110489310B (zh) | 2018-09-25 | 2018-09-25 | 一种记录用户操作的方法、装置、存储介质及计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811112301.8A CN110489310B (zh) | 2018-09-25 | 2018-09-25 | 一种记录用户操作的方法、装置、存储介质及计算机设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110489310A true CN110489310A (zh) | 2019-11-22 |
CN110489310B CN110489310B (zh) | 2020-04-14 |
Family
ID=68545738
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811112301.8A Active CN110489310B (zh) | 2018-09-25 | 2018-09-25 | 一种记录用户操作的方法、装置、存储介质及计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110489310B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110990153A (zh) * | 2019-11-27 | 2020-04-10 | 南京甄视智能科技有限公司 | 基于SpringCache的分布式环境下Dubbo接口缓存方法与装置 |
CN111709050A (zh) * | 2020-05-21 | 2020-09-25 | 四川虹美智能科技有限公司 | 初始化权限配置参数的方法及装置 |
CN111881102A (zh) * | 2020-07-29 | 2020-11-03 | 浪潮云信息技术股份公司 | 基于aop切面采集审计日志的方法、装置及可读介质 |
CN112035858A (zh) * | 2020-08-28 | 2020-12-04 | 中国建设银行股份有限公司 | Api访问控制方法、装置、设备及介质 |
CN113778777A (zh) * | 2020-06-28 | 2021-12-10 | 北京沃东天骏信息技术有限公司 | 一种日志回放方法和装置 |
CN118227202A (zh) * | 2024-05-21 | 2024-06-21 | 中邮消费金融有限公司 | 埋点数据处理方法、装置、设备及存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102567400A (zh) * | 2010-12-31 | 2012-07-11 | 阿里巴巴集团控股有限公司 | 一种实现Web访问的方法和Web服务器 |
US20140033211A1 (en) * | 2012-07-26 | 2014-01-30 | International Business Machines Corporation | Launching workflow processes based on annotations in a document |
CN103793432A (zh) * | 2012-11-01 | 2014-05-14 | 深圳中兴网信科技有限公司 | 一种数据库读写分离方法及装置 |
CN104461929A (zh) * | 2013-09-23 | 2015-03-25 | ***股份有限公司 | 基于***的分布式数据缓存方法 |
CN106528391A (zh) * | 2016-12-16 | 2017-03-22 | 郑州云海信息技术有限公司 | 一种ssr上的管理平台操作日志的记录方法 |
CN107145437A (zh) * | 2016-03-01 | 2017-09-08 | 阿里巴巴集团控股有限公司 | 一种java注解测试方法及装置 |
CN107766083A (zh) * | 2016-08-16 | 2018-03-06 | 中兴通讯股份有限公司 | 接口文件解析方法和装置 |
CN108415834A (zh) * | 2018-02-12 | 2018-08-17 | 平安科技(深圳)有限公司 | 注解后端校验方法、装置、计算机设备及存储介质 |
-
2018
- 2018-09-25 CN CN201811112301.8A patent/CN110489310B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102567400A (zh) * | 2010-12-31 | 2012-07-11 | 阿里巴巴集团控股有限公司 | 一种实现Web访问的方法和Web服务器 |
US20140033211A1 (en) * | 2012-07-26 | 2014-01-30 | International Business Machines Corporation | Launching workflow processes based on annotations in a document |
CN103793432A (zh) * | 2012-11-01 | 2014-05-14 | 深圳中兴网信科技有限公司 | 一种数据库读写分离方法及装置 |
CN104461929A (zh) * | 2013-09-23 | 2015-03-25 | ***股份有限公司 | 基于***的分布式数据缓存方法 |
CN107145437A (zh) * | 2016-03-01 | 2017-09-08 | 阿里巴巴集团控股有限公司 | 一种java注解测试方法及装置 |
CN107766083A (zh) * | 2016-08-16 | 2018-03-06 | 中兴通讯股份有限公司 | 接口文件解析方法和装置 |
CN106528391A (zh) * | 2016-12-16 | 2017-03-22 | 郑州云海信息技术有限公司 | 一种ssr上的管理平台操作日志的记录方法 |
CN108415834A (zh) * | 2018-02-12 | 2018-08-17 | 平安科技(深圳)有限公司 | 注解后端校验方法、装置、计算机设备及存储介质 |
Non-Patent Citations (2)
Title |
---|
快乐ON9仔: "自定义注解+springMVC配置***记录用户操作的日志.(写入数据库)", 《HTTPS://BLOG.CSDN.NET/QQ_42427924/ARTICLE/DETAILS/81217812》 * |
象话: "Spring AOP(获取入参和返回值)及其原理:动态代理", 《HTTPS://BLOG.CSDN.NET/QQ_34908167/ARTICLE/DETAILS/79219769 动态代理》 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110990153A (zh) * | 2019-11-27 | 2020-04-10 | 南京甄视智能科技有限公司 | 基于SpringCache的分布式环境下Dubbo接口缓存方法与装置 |
CN111709050A (zh) * | 2020-05-21 | 2020-09-25 | 四川虹美智能科技有限公司 | 初始化权限配置参数的方法及装置 |
CN113778777A (zh) * | 2020-06-28 | 2021-12-10 | 北京沃东天骏信息技术有限公司 | 一种日志回放方法和装置 |
CN111881102A (zh) * | 2020-07-29 | 2020-11-03 | 浪潮云信息技术股份公司 | 基于aop切面采集审计日志的方法、装置及可读介质 |
CN112035858A (zh) * | 2020-08-28 | 2020-12-04 | 中国建设银行股份有限公司 | Api访问控制方法、装置、设备及介质 |
CN112035858B (zh) * | 2020-08-28 | 2023-06-20 | 建信金融科技有限责任公司 | Api访问控制方法、装置、设备及介质 |
CN118227202A (zh) * | 2024-05-21 | 2024-06-21 | 中邮消费金融有限公司 | 埋点数据处理方法、装置、设备及存储介质 |
CN118227202B (zh) * | 2024-05-21 | 2024-07-19 | 中邮消费金融有限公司 | 埋点数据处理方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110489310B (zh) | 2020-04-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110489310A (zh) | 一种记录用户操作的方法、装置、存储介质及计算机设备 | |
US20210382770A1 (en) | Methods and systems for determining potential root causes of problems in a data center using log streams | |
US9037960B2 (en) | Monitoring and tracking application usage | |
US8762412B2 (en) | Preventing conflicts of interests between two or more groups using applications | |
US11138600B2 (en) | Smart contract regulation | |
US20170206245A1 (en) | System and method for dynamic conversion of database accessing scripts during runtime in a mainframe rehosting platform | |
US20070294312A1 (en) | Declarative management framework | |
US8589343B2 (en) | Systems and methods for digital file change monitoring | |
US20090158384A1 (en) | Distribution of information protection policies to client machines | |
US20140237293A1 (en) | Application monitoring through continuous record and replay | |
CN103559118A (zh) | 一种基于aop与注解信息***的安全审计方法 | |
US10379914B2 (en) | System and method for achieving specific behaviors by intercepting file access calls in a mainframe rehosting platform | |
US20070239471A1 (en) | Systems and methods for specifying security for business objects using a domain specific language | |
US11275850B1 (en) | Multi-faceted security framework for unstructured storage objects | |
US20120254416A1 (en) | Mainframe Event Correlation | |
US20120254337A1 (en) | Mainframe Management Console Monitoring | |
Fazzinga et al. | Online and offline classification of traces of event logs on the basis of security risks | |
US20190018953A1 (en) | Methods and systems for tenant aware behavior injection in content metadata service | |
US10394793B1 (en) | Method and system for governed replay for compliance applications | |
US10951540B1 (en) | Capture and execution of provider network tasks | |
Botros et al. | High Performance MySQL | |
US11290325B1 (en) | System and method for change reconciliation in information technology systems | |
US20160364262A1 (en) | System and method for generating service operation implementation | |
Azumah et al. | Process mining‐constrained scheduling in the hybrid cloud | |
US11379416B1 (en) | Systems and methods for common data ingestion |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |