记录用户操作数据变动的方法、装置及设备、存储介质与流程

文档序号:22626784发布日期:2020-10-23 19:35阅读:136来源:国知局
记录用户操作数据变动的方法、装置及设备、存储介质与流程

本申请涉及计算机网络技术领域,具体涉及一种记录用户操作数据变动的方法、装置及设备、存储介质。



背景技术:

在网络环境下,用户隔着时空来处理业务,通过app、web等各种终端系统来操作,用于完成业务行为,在用户使用过程中由于系统的复杂度和相互合作等因素,需要知道数据是由谁来操作完成或者谁来更新修改等,这个过程一般都是通过在数据库里记录更新人员、更新地区、更新时间等等来完成简单的记录,或者通过数据记录的binlog来完成数据的更改,binlog是一个二进制格式的文件,用于记录用户对数据库更新的结构化查询语言(structuredquerylanguage,sql)语句信息。

然而,通过数据库记录的方式需要在数据库里增加很多字段和资料来解释用户的操作行为,增加了业务的复杂度;通过binlog来记录的方式又缺乏关联用户与用户操作行为的方法,容易导致用户操作行为的丢失。



技术实现要素:

有鉴于此,本申请的目的在于克服现有技术的不足,提供一种记录用户操作数据变动的方法、装置及设备、存储介质。

为实现以上目的,本申请采用如下技术方案:

本申请的第一方面提供一种记录用户操作数据变动的方法,包括:

在spring加载过程中,配置新的spring对象,并利用所述新的spring对象,获取客户端信息;

利用dubbo将所述客户端信息传输给mybatis;

调用mybatis,利用mybatis插件接收所述客户端信息,同时,获取变更信息,将所述客户端信息和所述变更信息通过mq传输出去;

利用hbase和es接收所述mq传输的所述客户端信息和所述变更信息并存储。

可选的,所述客户端信息包括用户基本信息、系统信息和用户请求参数数据信息。

可选的,所述利用所述新的spring对象,获取客户端信息,包括:

获取用户的登录信息,通过验证所述登录信息获取所述用户基本信息;

通过http的请求包信息获取所述系统信息;

通过请求接口信息获取所述用户请求参数数据信息。

可选的,所述利用dubbo将所述客户端信息传输出去,包括:

通过dubbo的filter的处理,将所述客户端信息写入dubbo的rpccontext中;

通过dubbo将rpccontext中的所述客户端信息传输给所述mybatis。

可选的,所述变更信息包括原始数据信息和变更后的数据信息。

可选的,所述系统信息包括时间信息和路由信息。

可选的,所述用户基本信息包括用户账号和用户密码。

本申请的第二方面提供一种记录用户操作数据变动的装置,包括:

获取模块,用于在spring加载过程中,配置新的spring对象,并利用所述新的spring对象,获取客户端信息;

第一传输模块,用于利用dubbo将所述客户端信息传输给mybatis;

第二传输模块,用于调用mybatis,利用mybatis插件接收所述客户端信息,同时,获取变更信息,将所述客户端信息和所述变更信息通过mq传输出去;

存储模块,用于通过hbase和es接收所述mq传输的所述客户端信息和所述变更信息并存储。

本申请的第三方面提供一种记录用户操作数据变动的设备,包括:

处理器,以及与所述处理器相连接的存储器;

所述存储器用于存储计算机程序;

所述处理器用于调用并执行所述存储器中的所述计算机程序,以执行如本申请的第一方面所述的方法。

本申请的第四方面提供一种存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时,实现如本申请的第一方面所述的记录用户操作数据变动的方法的各个步骤。

本申请提供的技术方案可以包括以下有益效果:

本申请的方案中,通过在spring加载过程中配置新的spring对象来获取到客户端信息;并通过dubbo将客户端信息传输给mybatis,再利用mybatis插件获取到变更信息,如此,即获取到了用户信息和用户操作行为,将获取到的客户端信息和变更信息发送到mq队列中,以将客户端信息和变更信息进行关联,实现了用户信息和用户操作行为的关联,避免了用户操作行为的丢失,且这种记录用户和用户操作行为的方式,相当于记录了用户操作数据库的行为,无需在数据库里再添加很多字段和资料去解释用户的操作行为,减少了数据库里特定字段的操作,降低了业务复杂度。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本申请一个实施例提供的一种记录用户操作数据变动的方法的流程图。

图2是本申请另一个实施例提供的一种记录用户操作数据变动装置的结构示意图。

图3是本申请另一个实施例提供的一种记录用户操作数据变动设备的结构示意图。

具体实施方式

为使本申请的目的、技术方案和优点更加清楚,下面将对本申请的技术方案进行详细的描述。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所得到的所有其它实施方式,都属于本申请所保护的范围。

实施例

参见图1,图1是本申请一个实施例提供的一种记录用户操作数据变动的方法的流程图。

如图1所示,本实施例提供一种记录用户操作数据变动的方法,该方法至少包括如下步骤:

步骤11、在spring加载过程中,配置新的spring对象,并利用新的spring对象,获取客户端信息。

其中,spring是一款轻量级的控制反转和面向切面的开源框架,可以使得javaee开发更加容易。

步骤12、利用dubbo将客户端信息传输给mybatis。

其中,dubbo是一种分布式服务框架,用于提供高性能、透明化的远程服务调用方案。

其中,mybatis是一款优秀的持久层框架,它支持定制化sql、存储过程以及高级映射,mybatis可以使用简单的可扩展标记语言或注解来配置和映射原生信息,将接口和java的普通java对象(plainordinaryjavaobject,pojos)映射成数据库中的记录。

步骤13、调用mybatis,利用mybatis插件接收客户端信息,同时,获取变更信息,将客户端信息和变更信息通过mq传输出去。

其中,消息队列(messagequeue,mq)是基础数据结构中“先进先出”的一种数据机构,指把要传输的数据(消息)放在队列中,用队列机制来实现消息传递——生产者产生消息并把消息放入队列,然后由消费者去处理。

步骤14、利用hbase和es接收mq传输的客户端信息和变更信息并存储。

本实施例中,通过在spring加载过程中配置新的spring对象来获取到客户端信息;并通过dubbo将客户端信息传输给mybatis,再利用mybatis插件获取到变更信息,如此,即获取到了用户信息和用户操作行为,将获取到的客户端信息和变更信息发送到mq队列中,以将客户端信息和变更信息进行关联,实现了用户信息和用户操作行为的关联,避免了用户操作行为的丢失,且这种记录用户和用户操作行为的方式,相当于记录了用户操作数据库的行为,无需在数据库里再添加很多字段和资料去解释用户的操作行为,减少了数据库里特定字段的操作,降低了业务复杂度。

实际应用中,用户在执行完a操作并继续执行b操作时,可以通过终端设备调用java后台,后台的spring在加载过程中将上一操作过程中针对a操作的spring对象替换成针对b操作的spring对象,在获取到客户端信息后,将客户端信息通过dubbo透传给mybatis,利用mybatis插件接收客户端信息并获取变更信息,通过mybatis将客户端信息和变更信息发送至mq,由mq实现对用户信息和用户操作行为的关联和传输,最终通过mq发送至数据库hbase和es存储记录。

上述客户端信息可以但不限于包括用户基本信息、系统信息和用户请求参数数据信息。其中,用户基本信息可以但不限于包括用户账号和用户密码;系统信息可以但不限于包括时间信息和路由信息。

其中,上述变更信息可以但不限于包括原始数据信息和变更后的数据信息。

一些实施例中,为了便于记录不同的用户在不同设备上具体所做的操作内容,上述步骤11中利用新的spring对象,获取客户端信息,具体可以包括:获取用户的登录信息,通过验证登录信息获取用户基本信息;通过http的请求包信息获取系统信息;通过请求接口信息获取用户请求参数数据信息。

一些实施例中,上述利用dubbo将客户端信息传输出去,具体可以包括:

通过dubbo的filter的处理,将客户端信息写入dubbo的rpccontext中;

通过dubbo将rpccontext中的客户端信息传输给mybatis。

具体实施时,dubbo的filter相当于一个数据过滤器,通过dubbo的filter对客户端信息进行处理,在将处理后的客户端信息写入到rpccontext中,使得处理后的客户端信息可以被dubbo识别读取,然后再由dubbo传输至mybatis,保证了客户端信息的有效传输。

参见图2,图2是本申请另一个实施例提供的一种记录用户操作数据变动装置的结构示意图。

如图2所示,本实施例提供一种记录用户操作数据变动的装置,具体可以包括:

获取模块201,用于在spring加载过程中,配置新的spring对象,并利用新的spring对象,获取客户端信息;

第一传输模块202,用于利用dubbo将客户端信息传输给mybatis;

第二传输模块203,用于调用mybatis,利用mybatis插件接收客户端信息,同时,获取变更信息,将客户端信息和变更信息通过mq传输出去;

存储模块204,用于通过hbase和es接收mq传输的客户端信息和变更信息并存储。

可选的,客户端信息包括用户基本信息、系统信息和用户请求参数数据信息。

可选的,上述利用新的spring对象,获取客户端信息时,获取模块,具体用于:

获取用户的登录信息,通过验证登录信息获取用户基本信息;

通过http的请求包信息获取系统信息;

通过请求接口信息获取用户请求参数数据信息。

可选的,上述利用dubbo将客户端信息传输出去时,第一传输模块,具体用于:

通过dubbo的filter的处理,将客户端信息写入dubbo的rpccontext中;

通过dubbo将rpccontext中的客户端信息传输给mybatis。

可选的,变更信息包括原始数据信息和变更后的数据信息。

可选的,系统信息包括时间信息和路由信息。

可选的,用户基本信息包括用户账号和用户密码。

参见图3,图3是本申请另一个实施例提供的一种记录用户操作数据变动设备的结构示意图。

如图3所示,本实施例提供一种记录用户操作数据变动的设备,该设备具体可以包括:

处理器301,以及与处理器301相连接的存储器302;

存储器302用于存储计算机程序;

处理器301用于调用并执行存储器302中的计算机程序,以执行如以上任意实施例所述的记录用户操作数据变动的方法。

本申请实施例提供的记录用户操作数据变动的设备的具体实施方案可以参考以上任意例所述的记录用户操作数据变动的方法的实施方式,此处不再赘述。

本实施例提供一种存储介质,存储介质存储有计算机程序,计算机程序被处理器执行时,实现如以上任意实施例所述的记录用户操作数据变动的方法的各个步骤。

可以理解的是,上述各实施例中相同或相似部分可以相互参考,在一些实施例中未详细说明的内容可以参见其他实施例中相同或相似的内容。

需要说明的是,在本申请的描述中,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本申请的描述中,除非另有说明,“多个”的含义是指至少两个。

流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。

应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。

本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。

此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。

上述提到的存储介质可以是只读存储器,磁盘或光盘等。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。

尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施例进行变化、修改、替换和变型。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1