一种Hbase数据库访问日志的生成方法、装置及系统与流程

文档序号:11864707阅读:320来源:国知局
一种Hbase数据库访问日志的生成方法、装置及系统与流程

本发明涉及计算机安全技术领域,特别涉及一种Hbase数据库访问日志的生成方法、装置及系统。



背景技术:

随着信息技术的不断发展与进步,大数据及云计算被广泛应用于各个领域。在大数据及云计算领域,经常有海量的数据需要存储与处理,这就需要高性能的数据库提供支持。Hbase数据库作为一种分布式、面向列的开源数据库,适合于非结构数据的存储,另外,Hbase数据库具有可伸缩的特性,使Hbase数据库能够比其他类型的数据库存储多的数据,因而Hbase数据库成为大数据领域的一个经典数据库,得到广泛地应用。

Hbase数据库有诸多优点,但是由于Hbase数据库自身构架的原因,目前无法获取用户对Hbase数据库进行访问时的访问记录,这就无法实现对用户的访问行为进行监控,用户可以随意对Hbase数据库中的数据进行非法修改,但无法明确用户的责任,导致Hbase数据库的安全性较低。



技术实现要素:

本发明实施例提供了一种Hbase数据库访问日志的生成方法、装置及系统,能够提高Hbase数据库的安全性。

本发明实施例提供了一种Hbase数据库访问日志的生成方法,包括:

通过所述Hbase数据库节点RegionServer接收外部客户端发送的对所述Hbase数据库进行访问的请求信息;

对所述请求信息进行解析,获取所述客户端对所述Hbase数据库进行访问的详细信息;

将所述详细信息写入预先创建的访问日志内,并将所述访问日志存储到所述Hbase数据库中;

根据所述详细信息,完成所述客户端对所述Hbase数据库的访问。

优选地,

在所述将所述访问日志存储到所述Hbase数据库中之后进一步包括:

每隔预设的间隔时间,通过日志采集工具Flume采集所述Hbase数据库上存储的访问日志,并将采集到的所述访问日志上传至预先设定的监控数据库。

优选地,

在所述将采集到的所述访问日志上传至预先设定的监控数据库之后进一步包括:

将上传至所述监控数据库的访问日志载入数据仓储工具Hive,通过所述数据仓储工具Hive对所述访问日志进行统计分析,形成符合存储格式要求的访问日志,并将所述符合存储格式要求的访问日志持久化到所述监控数据库中。

优选地,

所述将所述详细信息写入预先创建的访问日志内包括:

预先对日志记录组件Log4j的配置文件进行配置,根据所述配置文件,通过所述日志记录组件Log4j将所述详细信息写入预先创建的访问日志内。

优选地,

所述详细信息包括:所述客户端的IP地址、所述客户端上登录的Hbase数据库账号、访问类型、被访问表的ID以及被访问表索引行rowkey中的任意一个或多个,其中所述访问类型包括增加、删除、修改及查看中的任意一个。

本发明实施例还提供了一种Hbase数据库访问日志的生成装置,包括:接收单元、解析单元、生成单元及执行单元;

所述接收单元,用于通过所述Hbase数据库节点RegionServer接收外部客户端发送的对所述Hbase数据库进行访问的请求信息;

所述解析单元,用于对所述接收单元接收到的请求信息进行解析,获取所述客户端对所述Hbase数据库进行访问的详细信息;

所述生成单元,用于将所述解析单元获取到的详细信息写入预先创建的访问日志内,并将所述访问日志存储到所述Hbase数据库中;

所述执行单元,用于根据所述解析单元获取到的详细信息,完成所述客户端对所述Hbase数据库的访问。

优选地,

该装置进一步包括:上传单元;

所述上传单元,用于每隔预设的间隔时间,通过日志采集工具Flume采集所述Hbase数据库上存储的访问日志,并将采集到的所述访问日志上传至预先设定的监控数据库。

优选地,

该装置进一步包括:持久化单元;

所述持久化单元,用于将所述上传单元上传至所述监控数据库的访问日志载入数据仓储工具Hive,通过所述数据仓储工具Hive对所述访问日志进行统计分析,形成符合存储格式要求的访问日志,并将所述符合存储格式要求的访问日志持久化到所述监控数据库中。

优选地,

所述生成单元,用于预先对日志记录组件Log4j的配置文件进行配置,根据所述配置文件,通过所述日志记录组件Log4j将所述详细信息写入预先创建的访问日志内。

本发明实施例还提供了一种Hbase数据库访问日志的生成系统,包括:客户端、Hbase数据库及上述实施例提供的任意一种Hbase数据库访问日志的生成装置;

所述客户端,用于向所述Hbase数据库访问日志的生成装置发送对所述Hbase数据库进行访问的请求信息;

所述Hbase数据库,用于存储所述Hbase数据库访问日志的生成装置形成的访问日志。

本发明实施例提供了一种Hbase数据访问日志的生成方法、装置及系统,客户端向Hbase数据库发出访问请求后,访问请求被Hbase数据库节点RegionServer接收,通过对访问请求进行解析获取到客户端对Hbase数据库进行访问的详细信息,将获取到的详细信息写入访问日志后,执行客户端对Hbase数据库的访问。这样,访问日志中记录了客户端对Hbase数据库进行访问的详细信息,通过访问日志可以获取客户端对Hbase数据库的记录,从而能够对客户端的访问行为进行监控,以在Hbase数据库被破坏时明确用户责任,对非法用户起到警示作用,提高了Hbase数据库的安全性。

附图说明

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

图1是本发明一个实施例提供的一种Hbase数据库访问日志的生成方法流程图;

图2是本发明另一个实施例提供的一种Hbase数据库访问日志的生成方法流程图;

图3是本发明一个实施例提供的一种Hbase数据库访问日志的生成装置所在设备的示意图;

图4是本发明一个实施例提供的一种Hbase数据库访问日志的生成装置的示意图;

图5是本发明另一个实施例提供的一种Hbase数据库访问日志的生成装置的示意图;

图6是本发明又一个实施例提供的一种Hbase数据库访问日志的生成装置的示意图;

图7是本发明一个实施例提供的一种Hbase数据库访问日志的生成系统的示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

如图1所示,本发明实施例提供了一种Hbase数据库访问日志的生成方法,该方法可以包括以下步骤:

步骤101:通过所述Hbase数据库节点RegionServer接收外部客户端发送的对所述Hbase数据库进行访问的请求信息;

步骤102:对所述请求信息进行解析,获取所述客户端对所述Hbase数据库进行访问的详细信息;

步骤103:将所述详细信息写入预先创建的访问日志内,并将所述访问日志存储到所述Hbase数据库中;

步骤104:根据所述详细信息,完成所述客户端对所述Hbase数据库的访问。

本发明实施例提供了一种Hbase数据库访问日志的生成方法,客户端向Hbase数据库发出访问请求后,访问请求被Hbase数据库节点RegionServer接收,通过对访问请求进行解析获取到客户端对Hbase数据库进行访问的详细信息,将获取到的详细信息写入访问日志后,执行客户端对Hbase数据库的访问。这样,访问日志中记录了客户端对Hbase数据库进行访问的详细信息,通过访问日志可以获取客户端对Hbase数据库的记录,从而能够对客户端的访问行为进行监控,以在Hbase数据库被破坏时明确用户责任,对非法用户起到警示作用,提高了Hbase数据库的安全性。

在本发明一个实施例中,在将访问日志存储到Hbase数据库中之后,每隔预设的间隔时间,通过日志采集工具Flume采集Hbase数据库上存储的访问日志,并将采集到的访问日志上传至预先设定的监控数据库上进行统一存储。由于一个数据库系统中可能包括有多个Hbase数据库,将各个Hbase数据库上存储的访问日志上传至一个监控数据库中,方便对各个Hbase数据库的访问日志进行查询与管理,节省对多台Hbase数据库的访问日志进行管理时所需的时间。

在本发明一个实施例中,在将Hbase数据库的访问日志上传至预设的监控数据库时,首先将上传至监控数据库的访问日志载入数据仓储工具Hive,通过数据仓储工具Hive对访问日志进行统计分析,形成符合存储格式要求的访问日志,然后将形成的符合存储格式要求的访问日志持久化到监控数据库中。这样,监控数据库上存储的访问日志具有统一的存储格式,方便访问日志的搜索与管理;另外,将访问日志持久化到监控数据库上,对访问日志进行长时间存储,以备需要时进行查看以明确用户责任。

在本发明一个实施例中,在将客户端对Hbase数据库进行访问的详细信息写入访问日志时,预先对日志记录组件Log4j的配置文件进行配置,在获取到详细信息后,根据日志记录组件Log4j的配置文件,通过日志记录组件Log4j将详细信息写入预先创建的访问日志内。通过对日志记录组件Log4j的配置文件进行配置,可以对日志记录组件Log4j的日志记录过程进行灵活配置,以使日志记录组件Log4j通过不同的形式、路径将详细信息写入访问日志中,从而能够对各种形式的访问请求进行记录,提高了该Hbase数据库访问日志生成方法的适用性。

在本发明一个实施例中,对客户端的访问请求进行解析后获得访问的详细信息,详细信息中包括有客户端的IP地址、客户端上登录的Hbase数据库账号、具体的访问类型、被访问表的ID以及被访问表索引行rowkey中的任意一个或多个,其中访问类型包括增加、删除、修改及查看中的任意一个。详细信息中包括有多种访问信息,将详细信息存储到访问日志中后,通过访问日志可以确定用户的Hbase数据库进行访问的详细过程,保证访问日志对客户端访问行为进行记录的准确性及全面性;访问类型可以为增加、删除、修改或查看,从而可以将各种形式的访问请求记录到访问日志中,提高了该Hbase数据库访问日志的生成方法的适用性。

下面以警务系统使用的Hbase数据库为例,对本发明实施例提供的Hbase数据库访问日志的生成方法作进一步地详细描述。

如图2所示,本发明一个实施例提供了一种Hbase数据库访问日志的生成方法,该方法可以包括以下步骤:

步骤201:接收客户端发送的访问请求信息。

在本发明一个实施例中,预先在Hbase数据库上创建全局的协处理器coprocessors,通过协处理器coprocessors控制Hbase数据库的节点RegionServer实时接收客户端发送的对Hbase数据库进行访问的请求信息。

例如,用户A在客户端B上登录后,用户A操作客户端B对警务系统Hbase数据库中的户籍表1进行访问,客户端B形成对应的请求信息1,并将请求信息1发送给警务系统Hbase数据库。在警务系统Hbase数据库接收到请求信息1之前,请求信息1被节点RegionServer截获。

步骤202:对请求信息进行解析,获取对Hbase数据库进行访问的详细信息。

在本发明一个实施例中,在节点RegionServe接收到客户端发送的对Hbase数据进行访问的请求信息后,对获取到的请求信息进行解析,从中获取到客户端对Hbase数据库进行访问的详细信息,其中,详细信息中包括客户端的IP地址、客户端上登录的Hbase数据库账号、访问类型、被访问表的ID以及被访问表索引行rowkey中的任意一个或多个,其中访问类型为增加、删除、修改或查看中的任意一个。

例如,在RegionServer截获到客户端B发送的请求信息1后,对截获到的请求信息1进行解析,获取到请求信息1包括的详细信息有:客户端B的IP地址、用户A登录警务系统Hbase数据库的账号、用户A对户籍表1进行访问的访问类型、户籍表1的ID以及户籍表1中被访问的索引行rowkey。其中用户A对户籍表1进行访问的访问类型可以是在户籍表1中新建行、删除户籍表1中原有的行、修改户籍表1中原有的行或查看户籍表1中的某一行。本实施例中用户A对户籍表1的访问类型为对户籍表1中的索引行50进行查看。

步骤203:将获取到的详细信息写入预先设定的访问日志中。

在本发明一个实施例中,预先对日志记录组件Log4j的配置文件进行配置,定义日志的输出格式、日志信息的级别;在获取到请求信息包括的详细信息后,读取日志记录组件Log4j的配置文件,通过日志记录组件Log4j将获取到的详细信息写入预先创建的访问日志中。

例如,根据日志记录组件Log4j的配置文件,通过日志记录组件Log4j将请求信息1包括的详细信息写入预先创建的访问日志1中。

步骤204:将生成的访问日志存储在Hbase数据库上。

在本发明一个实施例中,在将请求信息包括的详细信息写入访问日志后,将访问日志存储在Hbase数据库的本地。

例如,将请求信息1包括的详细信息写入访问日志1后,将访问日志1存储到警务系统Hbase数据库本地。

步骤205:根据解析出的详细信息,完成客户端对Hbase数据的访问。

在本发明一个实施例中,生成访问日志后,根据从请求信息中解析出的详细信息,对客户端发出的请求信息进行执行,完成客户端对Hbase数据的访问请求。

例如,根据从请求信息1中解析出的详细信息,将用户A要访问的户籍表1中索引行50对应的户籍信息发送给客户端B,在客户端B上展示户籍表1中索引行50对应的户籍信息供用户A查看。

步骤206:将访问日志上传至预设的监控数据库中。

在本发明一个实施例中,每隔一个设定的间隔时间,通过日志采集工具Flume采集存储在Hbase数据库本地的访问日志,将采集到的访问日志上传至预设的监控数据库中。监控数据库可以为Hadoop分布式文件系统(HDFS)。

例如,每隔5min,通过日志采集工具Flume采集存储在警务系统Hbase数据库本地的访问日志1,将采集到的访问日志1上传至与警务系统Hbase数据库相连的HDFS上。

步骤207:对访问日志进行统计分析后持久化到监控数据库中。

在本发明一个实施例中,将访问日志上传至监控数据库后,将访问日志载入数据仓储工具Hive,通过仓储工具Hive对访问日志进行统计分析,对访问日志包括的各项内容进行整理,形成符合存储格式要求的访问日志,并将符合存储格式要求的访问日志持久化到监控数据库中。

例如,在将访问日志1上传到HDFS上之后,通过数据仓储工具Hive对访问日志1进行统计分析,从访问日志1提取出客户端B的IP地址、用户A登录警务系统Hbase数据库的账号、用户A对户籍表1进行访问的访问类型、户籍表1的ID以及户籍表1中被访问的索引行rowkey,对各个项目的顺序及数据格式进行转换后,形成符合存储格式要求的访问日志2,将访问日志持久化到HDFS上,进行长时间存储。

如图3、图4所示,本发明实施例提供了一种Hbase数据库访问日志的生成装置。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。从硬件层面而言,如图3所示,为本发明实施例提供的Hbase数据库访问日志的生成装置所在设备的一种硬件结构图,除了图3所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的设备通常还可以包括其他硬件,如负责处理报文的转发芯片等等。以软件实现为例,如图4所示,作为一个逻辑意义上的装置,是通过其所在设备的CPU将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。本实施例提供的Hbase数据库访问日志的生成装置,包括:接收单元401、解析单元402、生成单元403及执行单元404;

接收单元401,用于通过Hbase数据库节点RegionServer接收外部客户端发送的对Hbase数据库进行访问的请求信息;

解析单元402,用于对接收单元401接收到的请求信息进行解析,获取客户端对Hbase数据库进行访问的详细信息;

生成单元403,用于将解析单元402获取到的详细信息写入预先创建的访问日志内,并将访问日志存储到Hbase数据库中;

执行单元404,用于根据解析单元402获取到的详细信息,完成客户端对Hbase数据库的访问。

本发明实施例提供了一种Hbase数据库访问日志的生成装置,接收单元通过Hbase数据库的节点RegionServer截获客户端发送的对Hbase数据库进行访问的请求信息,解析单元通过对请求信息进行解析获取客户端对Hbase数据库进行访问的详细信息,生成单元将获取到的详细信息写入访问日志存储到Hbase数据库中,之后执行单元执行客户端的访问请求。这样,在执行客户端的请求信息之前获取客户端对Hbase数据库进行访问的详细信息,将访问的详细信息写入访问日志进行存储,通过访问日志可以获悉客户端对Hbase数据库进行访问的记录,以实现对客户端的访问行为进行监控,当Hbase数据库被非法破坏后,通过访问日志可以明确非法访问者,提高了Hbase数据库的安全性。

在本发明一个实施例中,如图5所示,该Hbase数据访问日志的生成装置还包括:上传单元405;

上传单元405,用于每隔预设的间隔时间,通过日志采集工具Flume采集Hbase数据库上存储的访问日志,并将采集到的访问日志上传至预设的监控数据库上。

通过上传单元将存储在Hbase数据库本地的访问日志上传至监控数据库,由于一个数据库系统中可能包括有多个Hbase数据库,如果将各个Hbase数据库的访问日志分别存储在各个Hbase数据库上,不方便对访问日志进行查看及管理,通过上传单元将访问日志上传至监控数据库上,在监控数据库可以对多个Hbase数据库的访问日志进行查看和管理,提高了对Hbase数据库访问日志进行管理的效率。

在本发明一个实施例中,如图6所示,该Hbase数据访问日志的生成装置还包括:持久化单元406;

持久化单元406,用于将上传单元405上传至监控数据库的访问日志载入数据库仓储工具Hive,通过数据仓储工具Hive对访问日志进行统计分析,形成符合存储格式要求的访问日志,并将符合存储格式要求的访问日志持久化到监控数据库中。

持久化单元通过数据仓储工具Hive对访问日志进行统计分析,形成符合存储格式要求的访问日志,并将符合存储格式要求的访问日志持久化到监控数据库中,这样监控数据库可以对访问日志进行长期存储,以便对客户端的访问过程进行查验;另外,通过对访问日志进行统计分析,不同的访问日志具有相同的存储格式,方便访问日志的管理。

在本发明一个实施例中,生成单元在将解析单元解析出的详细信息写入访问日志时,生成单元预先对日志记录组件Log4j的配置文件进行配置,根据配置文件,通过日志记录组件Log4j将详细信息写入预先创建的访问日志内。通过配置日志记录组件Log4j的配置文件,可以对日志记录组件Log4j的日志记录过程进行灵活配置,以使日志记录组件Log4j通过不同的形式、路径将详细信息写入访问日志中,从而能够对各种形式的访问请求进行记录,提高了该Hbase数据库访问日志生成方法的适用性。

如图7所述,本发明一个实施例提供了一种Hbase数据库访问日志的生成系统,包括:客户端701、Hbase数据库702及本发明实施例提供的任意一种Hbase数据库访问日志的生成装置703;

客户端701,用于向Hbase数据库访问日志的生成装置703发送对Hbase数据库702进行访问的请求信息;

Hbase数据库702,用于存储Hbase数据库访问日志的生成装置703形成的访问日志。

在本发明一个实施例中,该Hbase数据库访问日志的生成系统还可以包括监控数据库,Hbase数据库访问日志的生成装置生成访问日志后,将生成的访问日志上传至监控数据库,将访问日志持久化到监控数据库中。

在本发明一个实施例中,该Hbase数据库访问日志的生成系统可以包括有一个监控数据库和多个Hbase数据库,每个Hbase数据库对应一个Hbase数据库访问日志的生成装置及多个客户端,各个Hbase数据库的访问日志均上传至同一个监控数据库中,方便访问日志的查看及管理。

本发明提供的各个实施例,至少具有如下有益效果:

1、本发明实施例中,客户端向Hbase数据库发出访问请求后,访问请求被Hbase数据库节点RegionServer接收,通过对访问请求进行解析获取到客户端对Hbase数据库进行访问的详细信息,将获取到的详细信息写入访问日志后,执行客户端对Hbase数据库的访问。这样,访问日志中记录了客户端对Hbase数据库进行访问的详细信息,通过访问日志可以获取客户端对Hbase数据库的记录,从而能够对客户端的访问行为进行监控,以在Hbase数据库被破坏时明确用户责任,对非法用户起到警示作用,提高了Hbase数据库的安全性。

2、本发明实施例中,生成访问日志后再对客户端的访问请求进行执行,这样可以避免非法用户通过发送访问请求对访问日志生成程序进行修改,造成访问日志生成程序无法正常生成访问日志的情况发生,保证客户端每一次对Hbase数据库进行访问都能够被准确的记录,进一步提高了Hbase数据库的安全性。

3、本发明实施例中,将生成访问日志后,每隔一定的间隔时间,将存储在Hbase数据库本地的访问日志上传至监控数据库,这样当数据库系统包括多个Hbase数据库时,可以在一台监控数据库上对多台Hbase数据块的访问日志进行管理,提高对Hbase数据库访问日志进行管理的效率。

4、本发明实施例中,在将访问日志持久化到监控数据库上时,通过数据仓储工具Hive对访问日志进行统计分析,获得符合存储格式要求的访问日志,这样存储在监控数据库上的访问日志具有统一的格式,方便对访问日志进行查阅及管理。

5、本发明实施例中,通过日志记录组件Log4j将请求信息的详细信息写入访问日志时,可以预先对日志记录组件Log4j的配置文件进行配置,以使日志记录组件Log4j能够以不同的形成和路径将详细信息写入访问日志,从而能够对各种形式的访问请求进行记录,提高了该Hbase数据库访问日志生成方法、装置及系统的适用性。

需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个〃·····”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同因素。

本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储在计算机可读取的存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质中。

最后需要说明的是:以上所述仅为本发明的较佳实施例,仅用于说明本发明的技术方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

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