一种带有日志记录功能的数据库操作接口服务系统的制作方法

文档序号:19943395发布日期:2020-02-14 23:30阅读:561来源:国知局
一种带有日志记录功能的数据库操作接口服务系统的制作方法

本发明涉及网络交互领域,尤其涉及一种带有日志记录功能的数据库操作接口服务系统。



背景技术:

目前c/s项目的winform系统都是oracle数据库提供的dll进行数据库直连,因此当客户使用了云服务器,整个系统的性能都会有一定程度的降低,而且c/s系统目前的技术方案也无法记录每个用户的操作日志。目前的c/s系统框架在db层对于数据库的操作是通过oracle客户端的oci.dll、oracle.dataaccess.dll等dll进行数据库的直连操作,每一次的数据库操作都是通过oracle提供的方法进行操作。当使用了云服务器,就需要开放数据库的外网端口,这对数据库有一定的安全风险。但在现有的技术框架下只能开放外网端口。



技术实现要素:

本发明的目的在于提供一种带有日志记录功能的数据库操作接口服务系统,从而解决现有技术中存在的前述问题。

为了实现上述目的,本发明采用的技术方案如下:

一种带有日志记录功能的数据库操作接口服务系统,包括网络数据对接模块、数据库操作模块、数据日志监控模块和通用日志解析模块;所述各模块的工作步骤为:

s1、所述网络数据对接模块中构建与c/s系统客户端交互的网络服务,建立操作请求接口;

s2、所述网络数据对接模块对客户端的请求数据进行解密并进行校验,若校验失败,则向所述客户端反馈失败信息;若校验成功,则解析所述请求数据、生成数据库操作任务,并创建消息任务队列且推送至所述数据库操作模块;

s3、所述数据日志监控模块对所述数据库对接模块生成的所述数据库操作任务进行监控;

s4、所述数据日志监控模块拦截所述数据库操作任务,捕获任务内容,根据此创建数据日志;

s5、所述数据日志监控模块将所述数据日志存放至服务器指定的物理路径;

s6、所述通用日志解析模块建立日志解析终端,对需要进行日志解析的数据库配置参数;

s7、所述通用日志解析模块根据所述配置参数定时遍历所述物理路径,对新的所述数据日志进行解析,并将解析结果存入所述通用日志解析模块的数据库中;

s8、所述通用日志解析模块中建立日志查看分析终端,查看所述数据日志中数据的变更记录,并作出标识;

s9、所述数据库操作模块从所述消息任务队列中捕获所述数据库操作任务;

s10、所述数据库操作模块调用数据库连接所述客户端,通过所述客户端对数据库中的数据进行操作,操作后断开数据库与所述客户端之间的连接;

s11、所述数据库操作模块生成操作结果,创建数据库操作结果队列,并推送回所述网络数据对接模块;

s12、所述网络数据对接模块从所述数据库操作结果队列中获得响应信息,并将所述响应信息发送至所述客户端。

优选的,所述网络服务通过asp.netwebapi进行构建。

优选的,所述网络服务使用http协议,对所述客户端提交的所述操作请求进行响应。

优选的,所述操作请求接口的明文数据格式为:所述客户端的识别码、所述操作请求的内容和所述操作请求内容的md5散列值;上述数据通过rsa算法进行非对称加密。

优选的,所述客户端内存放有所述加密的公钥,所述网络数据对接模块内存放有所述加密的私钥,所述私钥不允许所述公钥解密;所述操作请求接口的请求接口为加密后的密文。

优选的,步骤s10中的所述操作的类型包括:插入数据、删除数据、更新数据、查询数据和执行存储过程。

优选的,所述日志文件以json格式进行从存储,所述包括需要操作的数据表的表名、主键值、字段值、操作类型、发送请求的操作人和发送请求的客户端ip信息。

优选的,所述配置参数包括数据库信息和日志存放路径。

本发明的有益效果是:本发明所述的带有日志记录功能的数据库操作接口服务系统,针对数据库的操作提供了装用的接口,规避了使用外网端口的安全风险;摒弃了传统的c/s架构软件在操作oracle数据库时常用的oracle客户端直连方式,以通用的网络服务接口实现与数据库的交互,从而提升了软件系统整体的安全性、并发性、可复用性,降低软件项目的耦合度;本发明增加了数据操作日志系统,实现了操作日志的记录,并且可以对数据库的所有变更进行全程监控。

附图说明

图1是系统工作步骤流程图;

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施方式仅仅用以解释本发明,并不用于限定本发明。

一种带有日志记录功能的数据库操作接口服务系统,包括网络数据对接模块、数据库操作模块、数据日志监控模块和通用日志解析模块;上述四个模块的工作内容为:

网络数据对接模块:使用asp.netwebapi构建一套统一的用于与c/s系统客户端进行交互的网络服务。所述网络服务使用http协议作为数据请求接口,对客户端提交的数据库操作请求进行相应,所有的数据操作均需要通过这一唯一入口进行实现;所述数据请求接口的明文数据格式为:客户端识别码+请求操作的内容+请求操作内容的md5散列值。所述数据将会通过rsa算法进行非对称加密,加密的公钥存放于客户端,私钥存放于网络对接模块,且不允许公钥解密。所述数据请求接口需以加密后的密文作为请求参数,以此保证安全性;对接模块通过自身持有的私钥将请求数据解密后,校验客户端识别码以及请求操作内容的md5散列值是否正确,若校验失败则通知客户端失败信息;若校验成功则解析请求操作的操作类型及操作参数,生成数据库操作任务,使用消息队列rabbitmq创建此消息任务队列并推送至数据库操作模块执行操作;从数据库操作结果队列中获得响应信息,并推送至发送请求对应的客户端。

数据库操作模块:设置线程池,分配多个线程从所述消息任务队列中捕获需要执行的数据库操作任务;识别所述请求操作的内容,通过工厂模式分配对应的数据库操作方法,调用数据库连接客户端进行数据操作,操作后立即关闭数据库连接;所述数据操作类型包括:插入数据、更新数据、删除数据、查询数据、执行存储过程;将执行的结果生成操作结果,用消息队列rabbitmq创建数据库操作结果队列并推送回所述网络数据对接模块,进行http响应。

数据日志监控模块:设置数据操作监视器,监控每一个通过所述网络数据对接模块生成的数据库操作任务;拦截任务,捕获任务内容,调用异步函数开始数据日志的创建;日志的创建:根据所述数据库操作任务的内容,识别出需要操作的数据表的表名、主键值、字段值、操作类型、发送请求的操作人、发送请求的客户端ip信息,并将以上信息以json格式存储为日志文件,存放至服务器的指定物理路径。

通用日志解析模块:建立日志解析监控终端,用于配置需要进行日志解析的数据库的相关参数,包括数据库信息、日志文件存放路径等;开发window系统服务,根据所述配置信息定时遍历物理路径,并解析发现的新建立的日志文件,解析后的内容将存入日志解析模块的数据库中;建立日志查看分析终端,根据数据库名、数据表名、主键值等信息,查看一条数据全部的插入、更新、删除记录,并标识出每次修改中发生变更的字段。

所述各模块的工作步骤如图1所示:

s1、所述网络数据对接模块中构建与c/s系统客户端交互的网络服务,建立操作请求接口;

s2、所述网络数据对接模块对客户端的请求数据进行解密并进行校验,若校验失败,则向所述客户端反馈失败信息;若校验成功,则解析所述请求数据、生成数据库操作任务,并创建消息任务队列且推送至所述数据库操作模块;

s3、所述数据日志监控模块对所述数据库对接模块生成的所述数据库操作任务进行监控;

s4、所述数据日志监控模块拦截所述数据库操作任务,捕获任务内容,根据此创建数据日志;

s5、所述数据日志监控模块将所述数据日志存放至服务器指定的物理路径;

s6、所述通用日志解析模块建立日志解析终端,对需要进行日志解析的数据库配置参数;

s7、所述通用日志解析模块根据所述配置参数定时遍历所述物理路径,对新的所述数据日志进行解析,并将解析结果存入所述通用日志解析模块的数据库中;

s8、所述通用日志解析模块中建立日志查看分析终端,查看所述数据日志中数据的变更记录,并作出标识;

s9、所述数据库操作模块从所述消息任务队列中捕获所述数据库操作任务;

s10、所述数据库操作模块调用数据库连接所述客户端,通过所述客户端对数据库中的数据进行操作,操作后断开数据库与所述客户端之间的连接;

s11、所述数据库操作模块生成操作结果,创建数据库操作结果队列,并推送回所述网络数据对接模块;

s12、所述网络数据对接模块从所述数据库操作结果队列中获得响应信息,并将所述相应信息发送至所述客户端。

通过采用本发明公开的上述技术方案,得到了如下有益的效果:

本发明所述的带有日志记录功能的数据库操作接口服务系统,针对数据库的操作提供了装用的接口,规避了使用外网端口的安全风险;摒弃了传统的c/s架构软件在操作oracle数据库时常用的oracle客户端直连方式,以通用的网络服务接口实现与数据库的交互,从而提升了软件系统整体的安全性、并发性、可复用性,降低软件项目的耦合度;本发明增加了数据操作日志系统,实现了操作日志的记录,并且可以对数据库的所有变更进行全程监控。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视本发明的保护范围。

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