一种日志写入方法、装置、电子设备及存储介质与流程

文档序号:16754203发布日期:2019-01-29 17:11阅读:136来源:国知局
一种日志写入方法、装置、电子设备及存储介质与流程

本发明实施例涉及网络技术领域,具体涉及一种日志写入方法、装置、电子设备及存储介质。



背景技术:

在数据中心领域中,数据传输具有高带宽、低延迟的特点,性能测试需关注带宽、丢包、延迟等异常情况出现概率,故需要对数据传输性能进行测试,以防止传输中产生丢包、延迟等异常情况。现有rdma技术已经成为25gbps/100gbps数据中心网络中的计算网络和数据网络的主要网络连接技术。rdma技术全称为远程直接数据存取,是为了解决网络传输中服务器端数据处理的延迟而产生的。rdma提供了直接访问远端主机内存的设备能力,执行这一任务时,不需要计算机操作系统和cpu干涉,因而开销小。rdma技术提供了高吞吐率,低延迟的网络。rdma业务应用广泛,同时,rdma数据的传输依赖于具有数据中心桥接(datacenterbridging,dcb)特性的交换机,采用具有dcb特性的交换机传输数据可以保证rdma数据传输。在rdma场景下的大数据平台中,需要对服务器、网络设备进行日志监控,在客户端订阅一个事件请求或设备异常故障时,会生成访问日志。由于rdma高带宽、低延迟特点,数据传输和处理更加频繁,产生的日志数多量大,而rdma网卡工作频率一般在25gpbs,在绑定模式下,频率还可以达到50gbps/100gpbs,在这种情况下,将访问日志文件存储到rdma系统上时,由于小容量文件的数量非常多,需要频繁打开文件读取其中内容,从而造成系统崩溃。

此外,在提交事件解析请求时生成的访问日志文件大多是杂乱无章的,如果直接将这些杂乱的日志文件写入rdma系统,则会使后续处理非常麻烦,同时,也导致一些重要的日志信息没有及时被监控到,导致事件没有及时得到处理,造成网络中断。



技术实现要素:

针对现有技术中的缺陷,本发明实施例提供了一种日志写入方法、装置、电子设备及存储介质。

第一方面,本发明实施例提供一种日志写入方法,包括:

获取远程直接数据存取rdma系统运行日志;

判断所述rdma系统运行日志是否为紧急日志;

若所述rdma系统运行日志为紧急日志,则将所述紧急日志写入内存数据库系统hbase中;

若所述rdma系统运行日志为非紧急日志,则将所述非紧急日志写入磁盘分布式文件系统hdfs中;

若判断获知rdma系统空闲,则将所述内存数据库系统hbase中的紧急日志写入所述磁盘分布式文件系统hdfs中。

如上述方法,可选地,所述判断所述rdma系统运行日志是否为紧急日志,包括:

根据预设等级划分原则,确定所述rdma系统运行日志的紧急度;

若所述紧急度大于预设紧急度阈值,则确定所述rdma系统运行日志为紧急日志;

否则,确定所述rdma系统运行日志为非紧急日志。

如上述方法,可选地,所述判断所述rdma系统运行日志是否为紧急日志之后,还包括:

根据预设半结构化数据格式确定所述rdma系统运行日志对应的日志数据,其中,所述预设半结构化数据格式包括:所述rdma系统运行日志的紧急度、日志名称、日志产生时间和日志数值。

如上述方法,可选地,所述若所述rdma系统运行日志为紧急日志,则将所述紧急日志写入内存数据库系统hbase中,包括:

若所述rdma系统运行日志为紧急日志,则将所述紧急日志对应的日志数据按照紧急度写入内存数据库系统hbase中。

如上述方法,可选地,所述将所述紧急日志对应的日志数据按照紧急度写入内存数据库系统hbase中,包括:

将所述日志数据按照其对应的紧急度缓存至第一内存队列中;

将所述第一内存队列中的日志数据依次写入内存数据库系统hbase中。

如上述方法,可选地,所述将所述内存数据库系统hbase中的紧急日志写入所述磁盘分布式文件系统hdfs中,包括:

获取所述内存数据库系统hbase中的紧急日志队列;

将所述紧急日志队列缓存至第二内存队列中;

将所述第二内存队列中的日志数据对应的紧急日志依次写入磁盘分布式文件系统hdfs中。

如上述方法,可选地,所述将所述非紧急日志写入磁盘分布式文件系统hdfs中,包括:

将所述非紧急日志对应的日志数据按照其对应的紧急度缓存至第三内存队列中;

将所述第三内存队列中的日志数据对应的非紧急日志依次写入磁盘分布式文件系统hdfs中。

第二方面,本发明实施例提供一种日志写入装置,包括:

获取模块,用于获取远程直接数据存取rdma系统运行日志;

判断模块,用于判断所述rdma系统运行日志是否为紧急日志;

紧急日志缓存模块,用于若所述rdma系统运行日志为紧急日志,则将所述紧急日志写入内存数据库系统hbase中;

非紧急日志存储模块,用于若所述rdma系统运行日志为非紧急日志,则将所述非紧急日志写入磁盘分布式文件系统hdfs中;

紧急日志存储模块,用于若判断获知rdma系统空闲,则将所述内存数据库系统hbase中的紧急日志写入所述磁盘分布式文件系统hdfs中。

如上述装置,可选地,所述判断模块具体用于:

根据预设等级划分原则,确定所述rdma系统运行日志的紧急度;

若所述紧急度大于预设紧急度阈值,则确定所述rdma系统运行日志为紧急日志;

否则,确定所述rdma系统运行日志为非紧急日志。

如上述装置,可选地,还包括:

预处理模块,用于根据预设半结构化数据格式确定所述rdma系统运行日志对应的日志数据,其中,所述预设半结构化数据格式包括:所述rdma系统运行日志的紧急度、日志名称、日志产生时间和日志数值。

如上述装置,可选地,所述紧急日志缓存模块具体用于:

若所述rdma系统运行日志为紧急日志,则将所述紧急日志对应的日志数据按照紧急度写入内存数据库系统hbase中。

如上述装置,可选地,紧急日志缓存模块包括:

第一缓存单元,用于将所述日志数据按照其对应的紧急度缓存至第一内存队列中;

第一写入单元,用于将所述第一内存队列中的日志数据依次写入内存数据库系统hbase中。

如上述装置,可选地,所述紧急日志存储模块包括:

获取单元,用于获取所述内存数据库系统hbase中的紧急日志队列;

第二缓存单元,用于将所述紧急日志队列缓存至第二内存队列中;

第二写入单元,用于将所述第二内存队列中的日志数据对应的紧急日志依次写入磁盘分布式文件系统hdfs中。

如上述装置,可选地,所述非紧急日志存储模块包括:

第三缓存单元,用于将所述非紧急日志对应的日志数据按照其对应的紧急度缓存至第三内存队列中;

第三写入单元,用于将所述第三内存队列中的日志数据对应的非紧急日志依次写入磁盘分布式文件系统hdfs中。

第三方面,本发明实施例提供一种电子设备,包括:

存储器和处理器,所述处理器和所述存储器通过总线完成相互间的通信;所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行如下方法:获取远程直接数据存取rdma系统运行日志;判断所述rdma系统运行日志是否为紧急日志;若所述rdma系统运行日志为紧急日志,则将所述紧急日志写入内存数据库系统hbase中;若所述rdma系统运行日志为非紧急日志,则将所述非紧急日志写入磁盘分布式文件系统hdfs中;若判断获知rdma系统空闲,则将所述内存数据库系统hbase中的紧急日志写入所述磁盘分布式文件系统hdfs中。

第四方面,本发明实施例提供一种存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如下方法:获取远程直接数据存取rdma系统运行日志;判断所述rdma系统运行日志是否为紧急日志;若所述rdma系统运行日志为紧急日志,则将所述紧急日志写入内存数据库系统hbase中;若所述rdma系统运行日志为非紧急日志,则将所述非紧急日志写入磁盘分布式文件系统hdfs中;若判断获知rdma系统空闲,则将所述内存数据库系统hbase中的紧急日志写入所述磁盘分布式文件系统hdfs中。

本发明实施例提供的日志写入方法,将rdma系统运行日志划分为紧急日志和非紧急日志,将紧急日志存储到内存数据库系统hbase中,在空闲时将hbase中存储的紧急日志存储到磁盘分布式文件系统hdfs中,提高了系统突发日志实时大规模吞吐量并发处理能力,并且对紧急日志信息采用高频率日志采样,对非紧急日志信息采用低频率日志采样,解决了大量无规则突发日志有序存储问题。

附图说明

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

图1为本发明实施例提供的日志写入方法流程示意图;

图2为本发明实施例提供的日志写入装置的结构示意图;

图3为本发明实施例提供的日志写入系统的结构示意图;

图4为本发明实施例提供的日志写入系统中第二flume系统的结构示意图;

图5为本发明实施例提供的电子设备的结构示意图。

具体实施方式

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

图1为本发明实施例提供的日志写入方法流程示意图,如图1所示,该方法包括:

步骤s11、获取远程直接数据存取rdma系统运行日志;

具体地,在rdma场景下的大数据平台中,数据中心采用roce网络rdma协议的状态日志,其中roce是rdmaoverconvergedethernet简写,是一种允许通过以太网使用rdma的网络协议。日志写入装置获取服务器或网络设备如二、三层交换机上多条远程直接数据存取rdma系统运行日志,例如,通过linuxshell脚本获取rdma系统运行日志,运行日志可以为:rdma网卡运行时的寄存器值,ethtool命令输出的属性值,或ofedperftest等rdma测试程序运行结果值。

步骤s12、判断所述rdma系统运行日志是否为紧急日志;

具体地,获取到rdma系统运行日志之后,判断该日志是否为紧急日志,例如,预先对不同类型的rdma系统运行日志进行划分,将rdma系统运行日志划分为紧急日志和非紧急日志两大类,例如,将突发重要高频率日志作为紧急日志,或者将控制报文对应的rdma系统运行日志划分为紧急日志,数据报文对应的rdma系统运行日志划分为非紧急日志等。当获取到rdma系统运行日志之后,根据rdma系统运行日志类型,判断rdma系统运行日志是否为紧急日志或非紧急日志。

步骤s13、若所述rdma系统运行日志为紧急日志,则将所述紧急日志写入内存数据库系统hbase中;

具体地,rdma网卡的工作频率一般在25/10gbps,在绑定工作模式下的网卡工作频率高达100/40gpbs,高频率的日志数据需要写入高吞吐低延迟的分布式内存数据库系统hbase中。如果判断出rdma系统运行日志为紧急日志,则将紧急日志写入内存数据库系统hbase中,实现对紧急日志信息采用高频率日志采样,解决了大量无规则突发日志有序存储问题。其中存在hbase的数据最终也会被写入磁盘分布式文件系统hdfs中。

步骤s14、若所述rdma系统运行日志为非紧急日志,则将所述非紧急日志写入磁盘分布式文件系统hdfs中;

具体地,如果判断出rdma系统运行日志为非紧急日志,则可以直接将非紧急日志写入磁盘分布式文件系统hdfs中持久化,hdfs是hadoop分布式文件系统,hdfs能提供高吞吐量的数据访问,非常适合大规模数据集上的应用,将非紧急日志写入hdfs中,实现对非紧急日志信息采用低频率日志采样,由于hdfs采样频率较低,如果对所有运行日志均直接写入hdfs中,将导致实时突发吞吐量不够的问题。

步骤s15、若判断获知rdma系统空闲,则将所述内存数据库系统hbase中的紧急日志写入所述磁盘分布式文件系统hdfs中。

具体地,当rdam系统空闲时,需要将存储在内存数据库系统hbase中的紧急日志写入到磁盘分布式文件系统hdfs中持久化,实现最终所有的rdma系统日志都保存在磁盘分布式文件系统hdfs中。例如,通过监控系统内存使用率,当判断出系统空闲时,将hbase中已经存储的紧急日志写入到hdfs中,清空hbase中的紧急日志,以便后续采集rdma系统运行日志时hbase有足够的空间存储紧急日志。

本发明实施例提供的日志写入方法,将rdma系统运行日志划分为紧急日志和非紧急日志,将紧急日志存储到内存数据库系统hbase中,在空闲时将hbase中存储的紧急日志存储到磁盘分布式文件系统hdfs中,提高了系统突发日志实时大规模吞吐量并发处理能力,并且对紧急日志信息采用高频率日志采样,对非紧急日志信息采用低频率日志采样,解决了大量无规则突发日志有序存储问题。

在上述实施例的基础上,进一步地,所述判断所述rdma系统运行日志是否为紧急日志,包括:

根据预设等级划分原则,确定所述rdma系统运行日志的紧急度;

若所述紧急度大于预设紧急度阈值,则确定所述rdma系统运行日志为紧急日志;

否则,确定所述rdma系统运行日志为非紧急日志。

具体地,为了对杂乱无章的日志文件进行整理,还可以预先设置等级划分原则,将日志划分为n个等级,紧急度从1~n,紧急度数值越高,日志越重要,日志采样频率越高。例如,控制报文对应的rdma系统日志紧急度为8,数据报文对应的rdam系统日志紧急度为5,乱序报文对应的rdma系统日志紧急度为1等。当获取到rdma系统运行日志之后,按照预设等级划分原则,确定rdma系统运行日志的紧急度,然后判断日志紧急度是否大于预设紧急度阈值,例如,设置紧急度阈值为5,则紧急度大于5的rdma系统运行日志为紧急日志,紧急度小于或等于5的rdma系统运行日志为非紧急日志。

本发明实施例提供的日志写入方法,将rdma系统运行日志按紧急度划分为紧急日志和非紧急日志,将紧急日志存储到内存数据库系统hbase中,在空闲时将hbase中存储的紧急日志存储到磁盘分布式文件系统hdfs中,提高了系统突发日志实时大规模吞吐量并发处理能力,并且对紧急日志信息采用高频率日志采样,对非紧急日志信息采用低频率日志采样,解决了大量无规则突发日志有序存储问题。

在上述各实施例的基础上,进一步地,所述判断所述rdma系统运行日志是否为紧急日志之后,还包括:

根据预设半结构化数据格式确定所述rdma系统运行日志对应的日志数据,其中,所述预设半结构化数据格式包括:所述rdma系统运行日志的紧急度、日志名称、日志产生时间和日志数值。

具体地,获取到rdma系统运行日志之后,按照预设等级划分原则,确定rdma系统运行日志对应的紧急度,然后判断rdma系统运行日志是否为紧急日志,并按照预设半结构化数据格式将rdma系统运行日志转换为日志数据event,其中event结构如下:

其中,level为rmda系统运行日志紧急程度,name为rdma系统运行日志名称,value为rdma系统运行日志的具体数值,time为rdma系统运行日志产生的时间,info为rdma系统运行日志的解释信息。通过将rdma系统运行日志转化为半结构化数据格式的日志数据event,实现紧急事件按优先级处理。之后,将日志数据event写入对应的hbase中或者hdfs中。当从hbase中或hdfs中读取日志文件时,就可查看到日志文件的紧急度,从而对紧急度高的日志文件优先处理。

本发明实施例提供的日志写入方法,将rdma系统运行日志按紧急度划分为紧急日志和非紧急日志,将紧急日志对应的半结构化数据格式的日志数据存储到内存数据库系统hbase中,在空闲时将hbase中存储的日志存储到磁盘分布式文件系统hdfs中,提高了系统突发日志实时大规模吞吐量并发处理能力,并且对紧急日志信息采用高频率日志采样,对非紧急日志信息采用低频率日志采样,解决了大量无规则突发日志有序存储问题,通过将运行日志转化为半结构化数据格式的日志数据,实现了紧急事件按优先级处理。

在上述各实施例的基础上,进一步地,所述若所述rdma系统运行日志为紧急日志,则将所述紧急日志写入内存数据库系统hbase中,包括:

若所述rdma系统运行日志为紧急日志,则将所述紧急日志对应的日志数据按照紧急度写入内存数据库系统hbase中。

具体地,将获取到的rdma系统运行日志转化为半结构化数据格式的日志数据event之后,将同一紧急度日志数据event按时间顺序存到同一hbase文件中,同时,也可以将非紧急日志中同一紧急度日志数据event按时间顺序存到同一hdfs文件中,这样,在同一个hbase文件或同一个hdfs文件中,rdma系统运行日志等级相同,可按照不同hbase文件或hdfs文件进行相应的处理,解决了大量无规则突发日志有序存储问题。

本发明实施例提供的日志写入方法,将rdma系统运行日志对应的半结构化数据格式的日志数据按照紧急度和时间顺序存储到内存数据库系统hbase或磁盘分布式文件系统hdfs中,提高了系统突发日志实时大规模吞吐量并发处理能力,并且对紧急日志信息采用高频率日志采样,对非紧急日志信息采用低频率日志采样,解决了大量无规则突发日志有序存储问题,通过将运行日志转化为半结构化数据格式的日志数据,实现了紧急事件按优先级处理。

在上述各实施例的基础上,进一步地,所述将所述紧急日志对应的日志数据按照紧急度写入内存数据库系统hbase中,包括:

将所述日志数据按照其对应的紧急度缓存至第一内存队列中;

将所述第一内存队列中的日志数据依次写入内存数据库系统hbase中。

具体地,由于日志获取速度大于日志写入速度,在实际应用中,还可以将日志数据按照对应的紧急度缓存至内存队列中,记为第一内存队列,同一紧急度的日志数据,缓存至同一个第一内存队列中,然后将第一内存队列中的日志数据依次写入内存数据库系统hbase中,在hbase中存储紧急日志队列,解决了大量紧急无规则数据有序实时写入的问题。

本发明实施例提供的日志写入方法,将rdma系统运行日志对应的半结构化数据格式的日志数据按照紧急度和时间顺序存储到内存数据库系统hbase或磁盘分布式文件系统hdfs中,提高了系统突发日志实时大规模吞吐量并发处理能力,并且对紧急日志信息采用高频率日志采样,对非紧急日志信息采用低频率日志采样,解决了大量紧急无规则数据有序实时写入的问题。

在上述各实施例的基础上,进一步地,所述将所述内存数据库系统hbase中的紧急日志写入所述磁盘分布式文件系统hdfs中,包括:

获取所述内存数据库系统hbase中的紧急日志队列;

将所述紧急日志队列缓存至第二内存队列中;

将所述第二内存队列中的日志数据对应的紧急日志依次写入磁盘分布式文件系统hdfs中。

具体地,在空闲时,需要将内存数据库系统hbase中的紧急日志写入磁盘分布式文件系统hdfs中持久化,首先获取内存数据库系统hbase中的紧急日志队列,然后将紧急日志队列缓存至内存队列中,记为第二内存队列,之后将第二内存队列中的日志数据对应的紧急日志依次写入磁盘分布式文件系统hdfs中,将同一等级日志按时间顺序存到同一hdfs文件中,event数据在hbase中保存的结构为数据库中的数据表,存入hdfs后会保存为数据文件。hbase中的event消息数据量都比较小,一般为几十到几百字节,而hdfs文件一般为几十兆字节到几g字节,在将hbase中event数据写入hdfs时,需要按照日志紧急程度规则将event数据分级到不同的第二内存队列中,不同第二内存队列中的event数据对应的紧急日志按照时间先后顺序聚合到hdfs文件,解决了大量无规则突发日志有序存储问题。

本发明实施例提供的日志写入方法,对紧急度高的日志信息采用高频率日志采样,对非紧急日志信息采用低频率日志采样,将突发重要高频率日志存储到hbase内存数据库系统,在空闲时将hbase内存数据系统的重要高频率日志存储到hdfs磁盘分布式文件系统,解决了系统突发日志实时大规模吞吐量处理能力问题。

在上述各实施例的基础上,进一步地,所述将所述非紧急日志写入磁盘分布式文件系统hdfs中,包括:

将所述非紧急日志对应的日志数据按照其对应的紧急度缓存至第三内存队列中;

将所述第三内存队列中的日志数据对应的非紧急日志依次写入磁盘分布式文件系统hdfs中。

具体地,还可以对非紧急日志按照紧急度存储到磁盘分布式文件系统hdfs中,首先获取rdma系统运行日志,然后确定rdma系统运行日志是否为非紧急日志以及其对应的紧急度,将非紧急日志转化为预设半结构化数据格式的日志数据,将日志数据按照紧急度缓存至内存队列中,记为第三内存队列,之后将第三内存队列中的日志数据对应的非紧急日志依次写入磁盘分布式文件系统hdfs中,将同一等级日志按时间顺序存到同一hdfs文件中,解决了大量无规则突发日志有序存储问题。

本发明实施例提供的日志写入方法,对紧急度高的日志信息采用高频率日志采样,对非紧急日志信息采用低频率日志采样,将突发重要高频率日志存储到hbase内存数据库系统,在空闲时将hbase内存数据系统的重要高频率日志存储到hdfs磁盘分布式文件系统,解决了系统突发日志实时大规模吞吐量处理能力问题。

图2为本发明实施例提供的日志写入装置的结构示意图,如图2所示,该装置包括:获取模块21、判断模块22、紧急日志缓存模块23、非紧急日志存储模块24和紧急日志存储模块25,其中:

获取模块21用于获取远程直接数据存取rdma系统运行日志;判断模块22用于判断所述rdma系统运行日志是否为紧急日志;紧急日志缓存模块23用于若所述rdma系统运行日志为紧急日志,则将所述紧急日志写入内存数据库系统hbase中;非紧急日志存储模块24用于若所述rdma系统运行日志为非紧急日志,则将所述非紧急日志写入磁盘分布式文件系统hdfs中;紧急日志存储模块25用于若判断获知rdma系统空闲,则将所述内存数据库系统hbase中的紧急日志写入所述磁盘分布式文件系统hdfs中。

具体地,获取模块21通过linuxshell脚本获取rdma系统运行日志,运行日志可以为:rdma网卡运行时的寄存器值,ethtool命令输出的属性值,或ofedperftest等rdma测试程序运行结果值。判断模块22判断该日志是否为紧急日志,若为紧急日志,则紧急日志缓存模块23将紧急日志写入内存数据库系统hbase中,实现对紧急日志信息采用高频率日志采样,解决了大量无规则突发日志有序存储问题;若为非紧急日志,则非紧急日志存储模块24直接将非紧急日志写入磁盘分布式文件系统hdfs中持久化,之后判断系统是否空闲,在系统空闲时,紧急日志存储模块25将hbase中已经存储的紧急日志写入到hdfs中,清空hbase中的紧急日志,以便后续采集rdma系统运行日志时hbase有足够的空间存储紧急日志。本发明实施例提供的装置,用于实现上述方法,其功能具体参照上述方法实施例,此处不再赘述。

本发明实施例提供的日志写入装置,将rdma系统运行日志划分为紧急日志和非紧急日志,将紧急日志存储到内存数据库系统hbase中,在空闲时将hbase中存储的紧急日志存储到磁盘分布式文件系统hdfs中,提高了系统突发日志实时大规模吞吐量并发处理能力,并且对紧急日志信息采用高频率日志采样,对非紧急日志信息采用低频率日志采样,解决了大量无规则突发日志有序存储问题。

在上述实施例的基础上,进一步地,所述判断模块具体用于:

根据预设等级划分原则,确定所述rdma系统运行日志的紧急度;

若所述紧急度大于预设紧急度阈值,则确定所述rdma系统运行日志为紧急日志;

否则,确定所述rdma系统运行日志为非紧急日志。

具体地,为了对杂乱无章的日志文件进行整理,还可以预先设置等级划分原则,将日志划分为n个等级,紧急度从1~n,紧急度数值越高,日志越重要,日志采样频率越高。当获取到rdma系统运行日志之后,判断模块按照预设等级划分原则,确定rdma系统运行日志的紧急度,然后判断日志紧急度是否大于预设紧急度阈值,例如,设置紧急度阈值为5,则紧急度大于5的rdma系统运行日志为紧急日志,紧急度小于或等于5的rdma系统运行日志为非紧急日志。本发明实施例提供的装置,用于实现上述方法,其功能具体参照上述方法实施例,此处不再赘述。

本发明实施例提供的日志写入装置,将rdma系统运行日志按紧急度划分为紧急日志和非紧急日志,将紧急日志存储到内存数据库系统hbase中,在空闲时将hbase中存储的紧急日志存储到磁盘分布式文件系统hdfs中,提高了系统突发日志实时大规模吞吐量并发处理能力,并且对紧急日志信息采用高频率日志采样,对非紧急日志信息采用低频率日志采样,解决了大量无规则突发日志有序存储问题。

在上述各实施例的基础上,进一步地,该装置还包括:

预处理模块,用于根据预设半结构化数据格式确定所述rdma系统运行日志对应的日志数据,其中,所述预设半结构化数据格式包括:所述rdma系统运行日志的紧急度、日志名称、日志产生时间和日志数值。

具体地,获取到rdma系统运行日志之后,预处理模块按照预设等级划分原则,确定rdma系统运行日志对应的紧急度,然后判断rdma系统运行日志是否为紧急日志,并按照预设半结构化数据格式将rdma系统运行日志转换为日志数据event,其中event结构如下:

其中,level为rmda系统运行日志紧急程度,name为rdma系统运行日志名称,value为rdma系统运行日志的具体数值,time为rdma系统运行日志产生的时间,info为rdma系统运行日志的解释信息。本发明实施例提供的装置,用于实现上述方法,其功能具体参照上述方法实施例,此处不再赘述。

本发明实施例提供的日志写入装置,将rdma系统运行日志按紧急度划分为紧急日志和非紧急日志,将紧急日志对应的半结构化数据格式的日志数据存储到内存数据库系统hbase中,在空闲时将hbase中存储的日志存储到磁盘分布式文件系统hdfs中,提高了系统突发日志实时大规模吞吐量并发处理能力,并且对紧急日志信息采用高频率日志采样,对非紧急日志信息采用低频率日志采样,解决了大量无规则突发日志有序存储问题,通过将运行日志转化为半结构化数据格式的日志数据,实现了紧急事件按优先级处理。

在上述各实施例的基础上,进一步地,所述紧急日志缓存模块具体用于:

若所述rdma系统运行日志为紧急日志,则将所述紧急日志对应的日志数据按照紧急度写入内存数据库系统hbase中。

具体地,将获取到的rdma系统运行日志转化为半结构化数据格式的日志数据event之后,紧急日志缓存模块将同一紧急度日志数据event按时间顺序存到同一hbase文件中,同时,也可以将非紧急日志中同一紧急度日志数据event按时间顺序存到同一hdfs文件中,这样,在同一个hbase文件或同一个hdfs文件中,rdma系统运行日志等级相同,可按照不同hbase文件或hdfs文件进行相应的处理,解决了大量无规则突发日志有序存储问题。本发明实施例提供的装置,用于实现上述方法,其功能具体参照上述方法实施例,此处不再赘述。

本发明实施例提供的日志写入装置,将rdma系统运行日志对应的半结构化数据格式的日志数据按照紧急度和时间顺序存储到内存数据库系统hbase或磁盘分布式文件系统hdfs中,提高了系统突发日志实时大规模吞吐量并发处理能力,并且对紧急日志信息采用高频率日志采样,对非紧急日志信息采用低频率日志采样,解决了大量无规则突发日志有序存储问题,通过将运行日志转化为半结构化数据格式的日志数据,实现了紧急事件按优先级处理。

在上述各实施例的基础上,进一步地,紧急日志缓存模块包括:

第一缓存单元,用于将所述日志数据按照其对应的紧急度缓存至第一内存队列中;

第一写入单元,用于将所述第一内存队列中的日志数据依次写入内存数据库系统hbase中。

具体地,由于日志获取速度大于日志写入速度,在实际应用中,第一缓存单元将日志数据按照对应的紧急度缓存至内存队列中,记为第一内存队列,同一紧急度的日志数据,缓存至同一个第一内存队列中,然后第一写入单元将第一内存队列中的日志数据依次写入内存数据库系统hbase中,在hbase中存储紧急日志队列,解决了大量紧急无规则数据有序实时写入的问题。本发明实施例提供的装置,用于实现上述方法,其功能具体参照上述方法实施例,此处不再赘述。

本发明实施例提供的日志写入装置,将rdma系统运行日志对应的半结构化数据格式的日志数据按照紧急度和时间顺序存储到内存数据库系统hbase或磁盘分布式文件系统hdfs中,提高了系统突发日志实时大规模吞吐量并发处理能力,并且对紧急日志信息采用高频率日志采样,对非紧急日志信息采用低频率日志采样,解决了大量紧急无规则数据有序实时写入的问题。

在上述各实施例的基础上,进一步地,所述紧急日志存储模块包括:

获取单元,用于获取所述内存数据库系统hbase中的紧急日志队列;

第二缓存单元,用于将所述紧急日志队列缓存至第二内存队列中;

第二写入单元,用于将所述第二内存队列中的日志数据对应的紧急日志依次写入磁盘分布式文件系统hdfs中。

具体地,获取单元获取内存数据库系统hbase中的紧急日志队列,然后第二缓存单元将紧急日志队列缓存至内存队列中,记为第二内存队列,之后第二写入单元将第二内存队列中的日志数据对应的紧急日志依次写入磁盘分布式文件系统hdfs中,将同一等级日志按时间顺序存到同一hdfs文件中,event数据在hbase中保存的结构为数据库中的数据表,存入hdfs后会保存为数据文件。本发明实施例提供的装置,用于实现上述方法,其功能具体参照上述方法实施例,此处不再赘述。

本发明实施例提供的日志写入装置,对紧急度高的日志信息采用高频率日志采样,对非紧急日志信息采用低频率日志采样,将突发重要高频率日志存储到hbase内存数据库系统,在空闲时将hbase内存数据系统的重要高频率日志存储到hdfs磁盘分布式文件系统,解决了系统突发日志实时大规模吞吐量处理能力问题。

在上述各实施例的基础上,进一步地,所述非紧急日志存储模块包括:

第三缓存单元,用于将所述非紧急日志对应的日志数据按照其对应的紧急度缓存至第三内存队列中;

第三写入单元,用于将所述第三内存队列中的日志数据对应的非紧急日志依次写入磁盘分布式文件系统hdfs中。

具体地,还可以对非紧急日志按照紧急度存储到磁盘分布式文件系统hdfs中,首先获取rdma系统运行日志,然后确定rdma系统运行日志是否为非紧急日志以及其对应的紧急度,将非紧急日志转化为预设半结构化数据格式的日志数据,第三缓存单元将日志数据按照紧急度缓存至内存队列中,记为第三内存队列,之后第三写入单元将第三内存队列中的日志数据对应的非紧急日志依次写入磁盘分布式文件系统hdfs中,将同一等级日志按时间顺序存到同一hdfs文件中,解决了大量无规则突发日志有序存储问题。本发明实施例提供的装置,用于实现上述方法,其功能具体参照上述方法实施例,此处不再赘述。

本发明实施例提供的日志写入装置,对紧急度高的日志信息采用高频率日志采样,对非紧急日志信息采用低频率日志采样,将突发重要高频率日志存储到hbase内存数据库系统,在空闲时将hbase内存数据系统的重要高频率日志存储到hdfs磁盘分布式文件系统,解决了系统突发日志实时大规模吞吐量处理能力问题。

图3为本发明实施例提供的日志写入系统的结构示意图,如图3所示,在实际应用中,可以采用apacheflume日志管理系统,包括第一flume系统和第二flume系统。每个flume系统包括source组件,channel组件和sink组件三个组件。每台服务器上都部署了第一flume系统,用于日志的分级,写入hbase中或者hdfs中。多台服务器上选择一台服务器部署第二flume系统,用于将hbase中的数据写入hdfs中去。

第一flume系统中包括source组件、紧急事件channel组件、非紧急事件channel组件、hbasesink组件和hdfssink组件,第二flume系统包括:hbasesource组件、memchannel组件和hdfssink组件。其中:source组件用于获取rdma系统运行日志,紧急事件channel组件用于以内存队列形式缓存紧急rdma系统运行日志对应的日志数据event;非紧急事件channel组件:用于以内存队列形式缓存非紧急rdma系统运行日志对应的日志数据event,hbasesink组件:用于以分布式内存数据库形式存储rdma系统运行日志对应的日志数据event;hdfssink组件:用于以磁盘分布式文件系统形式存储rdma系统运行日志。图4为本发明实施例提供的日志写入系统中第二flume系统的结构示意图,如图4所示,第二flume系统包括:hbasesource组件、多个memchannel组件和多个hdfssink组件。多队列第二flume系统用于将不同紧急程度的event数据写入不同hdfs文件队列,解决了大量紧急无规则数据有序实时写入的问题。其中:hbasesource组件用于接受来自第一flume系统hbasesink的event数据,将event数据转发给下游channel缓存组件,memchannel组件用于缓存来自第二flume系统hbasesource组件的event数据,每个memchannel组件用于缓存同一优先级的event数据,采用优先级队列形式缓存同一紧急度的event1、event2、event3等数据,将event数据转发下游对应的sink写入组件,memchannel组件的作用主要是缓存大量紧急的event数据。例如,第一个memchannel组件缓存优先级队列1,第二个memchannel组件缓存优先级队列2,第三个memchannel组件缓存优先级队列3等。hdfssink组件用于接受来自第二flume系统的event数据,将event数据对应的日志写入hdfs磁盘分布式文件系统。不同memchannel队列中的event数据按照时间先后顺序聚合到hdfs文件。event数据在hbase中保存的结构为数据库中的数据表,存入hdfs后会保存为数据文件。通过将突发重要高频率日志存储到hbase内存数据库系统,在空闲时将hbase内存数据系统的重要高频率日志存储到hdfs磁盘分布式文件系统,解决了系统突发日志实时大规模吞吐量处理能力问题。

图5为本发明实施例提供的电子设备的结构示意图,如图5所示,所述设备包括:处理器(processor)51、存储器(memory)52和总线53;

其中,处理器51和存储器52通过所述总线53完成相互间的通信;

处理器51用于调用存储器52中的程序指令,以执行上述各方法实施例所提供的方法,例如包括:获取远程直接数据存取rdma系统运行日志;判断所述rdma系统运行日志是否为紧急日志;若所述rdma系统运行日志为紧急日志,则将所述紧急日志写入内存数据库系统hbase中;若所述rdma系统运行日志为非紧急日志,则将所述非紧急日志写入磁盘分布式文件系统hdfs中;若判断获知rdma系统空闲,则将所述内存数据库系统hbase中的紧急日志写入所述磁盘分布式文件系统hdfs中。

本发明实施例公开一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法,例如包括:获取远程直接数据存取rdma系统运行日志;判断所述rdma系统运行日志是否为紧急日志;若所述rdma系统运行日志为紧急日志,则将所述紧急日志写入内存数据库系统hbase中;若所述rdma系统运行日志为非紧急日志,则将所述非紧急日志写入磁盘分布式文件系统hdfs中;若判断获知rdma系统空闲,则将所述内存数据库系统hbase中的紧急日志写入所述磁盘分布式文件系统hdfs中。

本发明实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行上述各方法实施例所提供的方法,例如包括:获取远程直接数据存取rdma系统运行日志;判断所述rdma系统运行日志是否为紧急日志;若所述rdma系统运行日志为紧急日志,则将所述紧急日志写入内存数据库系统hbase中;若所述rdma系统运行日志为非紧急日志,则将所述非紧急日志写入磁盘分布式文件系统hdfs中;若判断获知rdma系统空闲,则将所述内存数据库系统hbase中的紧急日志写入所述磁盘分布式文件系统hdfs中。

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

以上所描述的装置等实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。

最后应说明的是:以上各实施例仅用以说明本发明的实施例的技术方案,而非对其限制;尽管参照前述各实施例对本发明的实施例进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明的各实施例技术方案的范围。

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