日志处理方法及设备与流程

文档序号:13072570阅读:223来源:国知局
日志处理方法及设备与流程

本申请涉及计算机领域,尤其涉及一种基于多节点设备分层的日志处理方法及设备。



背景技术:

随着互联网的普及和发展,人与人之间、人与物之间,或者物与物之间通过网络来进行信息交流逐渐频繁,相应的访问日志的数量呈指数级生成。因此对访问日志的研究越来越引起人们的关注。如何有效的快速地处理大量的日志成为一个挑战,这对于传统的数据库的存储模式和服务器的计算性能都是考验。

日志又分为用户访问日志、系统日志、网络设备日志、主机日志等大量数据,一个访问上千万的中小型网站,一天所产生的日志的数据量十分巨大,这些日志散落在各个应用模块和不同网域中,在每天出报表、数据处理和统计过程中,需要把日志进行汇总,清洗并进行入库。传统的数据库系统进行日志处理时的原理如图1所示,一般多个日志节点设备200在定时任务启动后,会把日志进行打包并集中上报到中心节点设备100进行统一处理,中心节点设备100收到多个日志数据包后,进行解包,按照预设的业务规则对日志进行清洗,录入到相应的数据库中。但是随着日志节点设备的数量越来越多,日志文件的数据量越来越大,容易在传输日志时造成网络传输拥堵的问题,并且全部日志集中到中心节点设备后,需要对大量日志进行处理,导致计算时间过长的问题,由此导致日志处理的效率较低,无法满足对日志实时处理响应的需求。

申请内容

本申请的一个目的是提供一种日志处理方法及设备,用以解决现有技术中日志处理效率较低的问题。

为实现上述目的,本申请提供了一种在中间节点设备端的日志处理方法,该方法包括:

获取选举节点设备发送的配置信息,并根据所述配置信息配置日志节点设备为中间节点设备;

获取预设范围的日志节点设备的日志,对所述日志进行预处理,并将预处理后的日志发送至对应的上一层日志节点设备。

进一步地,本申请还提供了一种在选举节点设备端的日志处理方法,该方法包括:

在预设范围的日志节点设备中选举对应的中间节点设备;

将关于所述中间节点设备的配置信息发送至预设范围的日志节点设备。

基于本申请的另一方面,还提供了一种中间节点设备,该设备包括:

接收装置,用于获取选举节点设备发送的配置信息以及预设范围的日志节点设备的日志;

配置装置,用于根据所述配置信息配置日志节点设备为中间节点设备;

预处理装置,用于对所述日志进行预处理;

发送装置,用于将预处理后的日志发送至对应的上一层日志节点设备。

进一步地,本申请还提供了一种选举节点设备,该设备包括:

选举处理装置,用于在预设范围的日志节点设备中选举对应的中间节点设备;

发送装置,用于将关于所述中间节点设备的配置信息发送至预设范围的日志节点设备。

本申请还提供了一种中间节点设备,该设备包括:

处理器;

以及被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器:获取选举节点设备发送的配置信息,并根据所述配置信息配置日志节点设备为中间节点设备;获取预设范围的日志节点设备的日志,对所述日志进行预处理,并将预处理后的日志发送至对应的上一层日志节点设备。

本申请还提供了一种选举节点设备,该设备包括:

处理器;

以及被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器:在预设范围的日志节点设备中选举对应的中间节点设备;将关于所述中间节点设备的配置信息发送至预设范围的日志节点设备。

与现有技术相比,本申请的技术方案对日志收集的方式进行改进,扩展成二层或者多层的方式逐级发送日志,并在在逐级发送的过程中由中间节点设备对收到的日志进行预处理,缩减日志的数据量,由此避免由中心节点设备集中接收日志造成的网络拥堵问题,同时减轻中心节点设备在处理日志时的资源消耗,缩短处理时间,由此提高整个日志处理过程的处理效率。

附图说明

通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:

图1为现有技术中数据库系统进行日志处理的原理示意图;

图2为基于多节点分层的二层数据库系统进行日志处理的原理示意图;

图3为基于多节点分层的三层数据库系统进行日志处理的原理示意图;

图4为本申请实施例提供的一种中间节点设备的结构示意图;

图5为本申请实施例提供的一种选举节点设备的结构示意图;

图6为基于多节点分层的二层数据库系统进行日志处理流程图;

图7为本申请实施例提供的一种在中间节点设备端的日志处理方法的流程图;

图8为本申请实施例提供的一种在选举节点设备端的日志处理方法的流程图;

图9为本申请实施例提供的一种在选举节点设备端进行选举的处理流程图;

附图中相同或相似的附图标记代表相同或相似的部件。

具体实施方式

下面结合附图对本申请作进一步详细描述。

在本申请一个典型的配置中,终端、服务网络的设备和可信方均包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。

内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram)。内存是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。

图2为一种基于多节点设备分层的数据库系统在进行日志处理时的原理示意图,该系统采用二层的形式,包括多个日志节点设备和中心节点设备100,为简明起见,图中示出的各类元素的数量可能小于实际场景中相应元素的数量,但这种省略无疑地是以不会影响对本发明进行清楚、充分的公开为前提的。

其中,所述日志节点设备d配置为中间节点设备,而日预设范围的其它日志节点设备a、b、c则未配置为中间节点设备。在日志处理过程中,预设范围内的其它未配置为中间节点设备的日志节点设备a、b、c,不直接向中心节点设备100发送日志,而是向作为中间节点设备的日志节点设备d发送日志。相应地,日志节点设备d接收预设范围的其它日志节点设备(即a、b和c)发送的日志后,对接收到的日志以及自身的日志进行预处理,缩减日志的数据量,然后将预处理后的日志发送至中心节点设备。

进一步地,在中间节点设备的数量较多时,可以再进一步配置更上层的中间节点设备,使得系统在二层的形式上继续延伸出三层甚至更多层,例如可以定义普通的日志节点设备a、b、c为一级节点设备l1,而类似于日志节点设备d的中间节点设备为二级节点设备l2,那么当二级节点设备的数量超过n个时,可以在此基础上继续配置更高层中间节点设备作为三级节点设备l3,用以对二级节点设备的所有日志进行归集并预处理,逐级上报给中心节点设备,如图3所示。

其中,每一层级的中间节点设备对日志进行预处理目的在于对日志进行初步清洗,减少日志的数据量,便于中心节点设备的处理,其方式包括但不限于以下多种方式中的任意一种或者几种:修改日志格式即,例如将日志中一些日期格式转换成数字,把一些非必要的日志列进行删除(例如备注信息等),以减小日志的数据量。压缩日志文件,例如采用压缩比较高的方式,对日志文件进行压缩,便于传输。日志合并,例如将一些数据量较小的日志文件合并为一个较大的日志文件,便于后续的处理和传输。在此,本领域技术人员应当能够理解上述对日志进行预处理的方式仅为举例,其他现有的或今后可能出现的其它方式如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。

对于上述系统中作为中间节点设备的一个日志节点设备,其结构如图4所示,包括接收装置210、配置装置240、预处理设备220和发送装置230。具体地,所述接收装置210用于获取选举节点设备发送的配置信息以及预设范围的日志节点设备的日志;所述配置装置240用于根据所述配置信息配置日志节点设备为中间节点设备;所述预处理装置220用于对所述日志进行预处理;所述发送装置230用于将预处理后的日志发送至对应的上一层日志节点设备。

通过对日志收集的方式进行改进,扩展成二层或者多层的方式逐级发送日志,并在在逐级发送的过程中由中间节点设备对收到的日志进行预处理,缩减日志的数据量,由此避免由中心节点设备集中接收日志造成的网络拥堵问题,同时减轻中心节点设备在处理日志时的资源消耗,缩短处理时间,由此提高整个日志处理过程的处理效率。

在每次处理时,可以根据系统的实际运行情况动态地对日志节点设备的角色进行分配,即在以后的处理过程中,日志节点设备a、b、c均有可能成为预设范围内的中间节点设备。本实施例提供的方案中,在每次处理时,会确定一日志节点设备作为选举节点设备,由该选举节点设备对在预设范围内的所有日志节点设备中选举出一中间节点设备,实现中间节点设备的动态更新,保证中间节点设备的处理效率。所述选举节点设备的结构如图5所示,包括选举处理装置310和发送装置320。具体地,所述选举处理装置310用于在预设范围的日志节点设备中选举对应的中间节点设备;所述发送装置320用于将关于所述中间节点设备的配置信息发送至预设范围的日志节点设备。

其中,确定选举节点设备的方式可以为:从日志节点设备的配置文件中获取上一次处理时预设范围内的中间节点设备信息,将上次的中间节点设备确定为选举节点设备。由于中间节点设备的选举原则是基于设备空闲资源来确定,即将预设范围的日志节点设备中空闲资源最多的日志节点设备选举为对应的中间节点设备,因此在一般情况下,上次处理时的中间节点设备在本次处理时空闲资源往往也会比较多,因此可以在一定程度上避免对处理负荷较高的日志节点设备的正常业务处理产生影响。在此,本领域技术人员应当能够理解上述确定选举节点设备的方式仅为举例,其他现有的或今后可能出现的用于确定选举节点设备的方式(例如预设固定的日志节点设备、所有日志节点设备轮流、随机确定等方式)如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。

在此,所述预设范围是指根据实际场景需求对日志节点设备划分的范围,将一定数量的日志节点设备划分为一组,由一个中间节点设备进行日志的归集和预处理,例如可以按照日志节点设备的组网方式,将同一网段内的日志节点设备划分为一组。当然,也可以根据其它方式,例如根据同一层级的日志节点设备的总数划分为多个数量大致相同的组,例如在系统的第二层级有60个二级节点设备,可以将每10个二级节点设备划分为一组,由此确定每个日志节点设备在处理时所属的范围。在此,本领域技术人员应当能够理解上述预设范围的划分方式仅为举例,其他现有的或今后可能出现的其它方式如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。

所述配置信息由选举节点设备向预设范围内的日志节点设备发送,用于配置日志节点设备,该配置信息的具体形式可以包括预设范围内的中间节点设备的标识信息(如ip地址)。以图2所示的系统为例,若预设范围内包括日志节点设备a、b、c、d四台设备,其中日志节点设备d被选举为中间节点设备,此时配置信息可以包括日志节点设备d的ip地址。对于日志节点设备a、b、c在获取配置信息后,可以根据该ip地址,确定日志发送的目标设备,即作为中间节点设备的日志节点设备d,而日志节点设备d在获取到该配置信息后,由于该ip地址与其自身的ip地址一致,确定自身即为中间节点设备,在处理日志时会接收其它日志节点设备发送的日志并进行相应处理。

此外,作为另一种可行的方式,所述配置信息也根据选举结果针对不同身份的日志节点设备区别发送,例如向普通的日志节点设备a、b、c发送的配置信息可以包括:设备身份(普通日志节点设备)以及发送目标(对应中间节点设备的ip地址),而向中间日志节点设备d发送的配置信息可以包括:设备身份(中间节点设备)以及接收目标(预设范围内的普通日志节点设备的ip地址)。

在本实施例中,若第一层级的日志节点设备的预设范围的划分以是否属于同一网段作为标准,则对于某一配置为最下层选举节点设备的日志节点设备(二层数据库系统中的任一选举节点设备或者二层以上的数据库系统中的最下层的选举节点设备),其选举处理装置320在同一网段的日志节点设备中选举同一网段内的最下层的中间节点设备。相应地,对于某一作为中间节点设备的一个日志节点设备,其所述接收装置210会获取选举节点设备发送的关于同一网段内的最下层的中间节点设备的配置信息,以及同一网段的日志节点设备的日志;配置装置220则用于根据所述配置信息配置日志节点设备为该网段内最下层的中间节点设备。

对于三层以上的数据库系统,某一日志节点设备在配置为中间节点设备时,会根据其所处于的层级将预处理后的日志发送至上一层的中间节点设备或者中心节点设备。以三层的数据库系统为例,若日志节点设备配置为二级节点设备,则会向上一层的中间节点设备即三级节点设备发送预处理后的日志,而对于三级节点设备,则会向中心节点设备发送预处理后的日志。因此,在三层以上的数据库系统中,对于配置为中间节点设备的日志节点设备,其发送装置230用于将预处理后的日志发送至对应的上一层的中间节点设备或中心节点设备。具体地,对于最上层的中间节点设备,则其发送装置230将预处理后的日志发送至中心节点设备,例如图3中三级节点设备l3将预处理后的日志发送至中心节点设备;而对于非最上层的中间节点设备,则发送装置230会将预处理后的日志发送至上一层的日志节点设备,例如图3中二级节点设备l2将预处理后的日志发送至三级节点设备l3。

在实际本实施例中,为了保证中间节点设备进行日志处理的效率较高,选举节点设备的选举处理装置用于将预设范围的日志节点设备中空闲资源最多的日志节点设备选举为对应的中间节点设备。

为实现上述目的,所述选举节点设备还包括接收装置,该接收装置用于获取预设范围的日志节点设备的运行状态信息;而所述选举处理装置310则用于根据所述运行状态信息以及所述运行状态信息对应的权重获取所述日志节点设备的资源绝对值;以及比较所述日志节点设备的资源绝对值,将资源绝对值最大的日志节点设备选举为对应的中间节点设备。

以图2所示的数据库系统为例,假设日志节点设备a配置为选举节点设备,则预设范围内的其它日志节点设备b、c、d即配置为候选节点设备,日志节点设备b、c、d会将自身的运行状态信息发送给日志节点设备a,使得日志节点设备a能够获取到预设范围的日志节点设备的运行状态信息(包括日志节点设备a自身以及其它候选节点设备)。根据这些运行状态信息以及所述运行状态信息对应的权重即可计算出各个日志节点设备的资源绝对值,例如本实施例中在计算时所参考的运行状态信息包括:cpu(中央处理器)空闲率、网络io(输入输出)空闲率、磁盘io读写空闲率和内存使用率,由此资源绝对值的计算公式如下:

资源绝对值=cpu空闲率×w1+网络io空闲率×w2+磁盘io读写空闲率×w3+(1-内存使用率)×w4

其中,所述w1、w2、w3和w4分别为cpu空闲率、网络io空闲率、磁盘io读写空闲率以及内存使用率对应的权重,在本实施例中上述权重可以分别设定为30%、50%、10%、10%。

在获得资源绝对值后,比较各个日志节点设备的资源绝对值后,选举资源绝对值最大的节点设备作为中间节点设备,同时通过发送装置320将关于中间节点设备的配置信息同步发送给预设范围内的日志节点设备,使得各个节点设备能够获知本次处理时的中间节点设备,由此完成对中间节点设备的配置。在实际场景中,所述选举节点设备所选举出的中间节点设备可以是该设备自身,此时向其自身发送配置信息则无需通过外部网络,而可以通过设备内部的交互方式实现。

对于具有更高层级的数据库系统(例如图3所示的系统),需要进一步在二级节点设备中进一步选举上一层的中间节点设备作为三级节点设备,同样可以基于预设范围内所有二级节点设备的空闲资源,具体选举方式可以参考二级节点设备的选举,此处不再赘述。

由于作为各个层级中间节点设备的日志节点设备需要对日志进行预处理,通过动态选举出中间节点设备的方式,使得各个层级所对应的中间节点设备均为空间资源最多的日志节点设备,因此能够提高处理的效率,同时减少对正常业务处理的影响。

图6示出了采用本申请实施例中提供的日志节点设备的二层数据库系统在进行日志处理时的整体处理流程,具体处理步骤如下:

步骤s601,在每个日志节点设备定时启动日志处理任务。

步骤s602,从日志节点设备的配置文件中获取同一个网段中的缺省二级节点设备。该缺省二级节点设备即为上一次日志处理时的中间节点设备,用于在本次日志处理时选举出新的中间节点设备(如果缺省二级节点设备超过n个,可以在二层的基础上再延伸出三层或三层以上)。

步骤s603,同一个网段的其他日志节点设备把自身的运行状态信息上报给缺省二级节点设备。

步骤s604,缺省二级节点设备根据规则进行新二级节点设备的选举,选举出的二级节点设备即作为本次日志处理时的中间节点设备。其中,所述新二级节点设备的选举流程如下:

首先根据同一个网段的所有日志节点设备的运行状态信息(例如cpu空闲率,网络io空闲率,磁盘io读写空闲率,内存使用率等),进行加权比较。具体计算公式为:

资源绝对值=cpu空闲率×30%+网络io空闲率×50%+磁盘io读写空闲率×10%+(1-内存使用率)×10%

比较这些日志节点设备的资源绝对值,选举绝对值最大的日志节点设备作为新二级节点设备,并将配置信息(新二级节点设备的ip地址)同步给其他日志节点设备,使得其他日志节点设备能够获知在本次处理时向哪个日志节点设备上报日志。

步骤s605,同一网段的其他日志节点设备把日志打包上报给新二级节点设备。

步骤s606,新二级节点设备把传输的日志进行预处理,例如修改日志格式、减少日志文件大小,进行日志合并等,初步清洗日志后上报给中心节点设备。

步骤s607,中心节点设备对日志进行处理后录入数据库。

基于本申请的另一方面,还提供了一种中间节点设备端进行日志处理的方法,该方法的处理流程如图7所示,包括:

步骤s701,获取选举节点设备发送的配置信息,并根据所述配置信息配置日志节点设备为中间节点设备;

步骤s702,获取预设范围的日志节点设备的日志,对所述日志进行预处理,并将预处理后的日志发送至对应的上一层日志节点设备。

通过对日志收集的方式进行改进,扩展成二层或者多层的方式逐级发送日志,并在在逐级发送的过程中由中间节点设备对收到的日志进行预处理,缩减日志的数据量,由此避免由中心节点设备集中接收日志造成的网络拥堵问题,同时减轻中心节点设备在处理日志时的资源消耗,缩短处理时间,由此提高整个日志处理过程的处理效率。

在每次处理时,可以根据系统的实际运行情况动态地对日志节点设备的角色进行分配,即在以后的处理过程中,日志节点设备a、b、c均有可能成为预设范围内的中间节点设备。本申请实施例还提供了一种在选举节点设备端的日志处理方法,在每次处理时,会确定一日志节点设备作为选举节点设备,由该选举节点设备对在预设范围内的所有日志节点设备中选举出一中间节点设备,实现中间节点设备的动态更新,保证中间节点设备的处理效率。所述在选举节点设备端的日志处理方法,具体处理流程如图8所示,包括:

步骤s801,在预设范围的日志节点设备中选举对应的中间节点设备;

步骤s802,将关于所述中间节点设备的配置信息发送至预设范围的日志节点设备。

其中,确定选举节点设备的方式可以为:从日志节点设备的配置文件中获取上一次处理时预设范围内的中间节点设备信息,将上次的中间节点设备确定为选举节点设备。由于中间节点设备的选举原则是基于设备空闲资源来确定,即将预设范围的日志节点设备中空闲资源最多的日志节点设备选举为对应的中间节点设备,因此在一般情况下,上次处理时的中间节点设备在本次处理时空闲资源往往也会比较多,因此可以在一定程度上避免对处理负荷较高的日志节点设备的正常业务处理产生影响。在此,本领域技术人员应当能够理解上述确定选举节点设备的方式仅为举例,其他现有的或今后可能出现的用于确定选举节点设备的方式(例如预设固定的日志节点设备、所有日志节点设备轮流、随机确定等方式)如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。

在此,所述预设范围是指根据实际场景需求对日志节点设备划分的范围,将一定数量的日志节点设备划分为一组,由一个中间节点设备进行日志的归集和预处理,例如可以按照日志节点设备的组网方式,将同一网段内的日志节点设备划分为一组。当然,也可以根据其它方式,例如根据同一层级的日志节点设备的总数划分为多个数量大致相同的组,例如在系统的第二层级有60个二级节点设备,可以将每10个二级节点设备划分为一组,由此确定每个日志节点设备在处理时所属的范围。在此,本领域技术人员应当能够理解上述预设范围的划分方式仅为举例,其他现有的或今后可能出现的其它方式如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。

所述配置信息由选举节点设备向预设范围内的日志节点设备发送,用于配置日志节点设备,该配置信息的具体形式可以包括预设范围内的中间节点设备的标识信息(如ip地址)。以图2所示的系统为例,若预设范围内包括日志节点设备a、b、c、d四台设备,其中日志节点设备d被选举为中间节点设备,此时配置信息可以包括日志节点设备d的ip地址。对于日志节点设备a、b、c在获取配置信息后,可以根据该ip地址,确定日志发送的目标设备,即作为中间节点设备的日志节点设备d,而日志节点设备d在获取到该配置信息后,由于该ip地址与其自身的ip地址一致,确定自身即为中间节点设备,在处理日志时会接收其它日志节点设备发送的日志并进行相应处理。

此外,作为另一种可行的方式,所述配置信息也根据选举结果针对不同身份的日志节点设备区别发送,例如向普通的日志节点设备a、b、c发送的配置信息可以包括:设备身份(普通日志节点设备)以及发送目标(对应中间节点设备的ip地址),而向中间日志节点设备d发送的配置信息可以包括:设备身份(中间节点设备)以及接收目标(预设范围内的普通日志节点设备的ip地址)。

在本实施例中,若第一层级的日志节点设备的预设范围的划分以是否属于同一网段作为标准,则对于某一配置为最下层选举节点设备的日志节点设备(二层数据库系统中的任一选举节点设备或者二层以上的数据库系统中的最下层的选举节点设备),步骤s801具体包括:在同一网段的日志节点设备中选举同一网段内的最下层的中间节点设备。相应地,在中间节点设备端,其日志处理方法中的步骤s701具体包括:获取选举节点设备发送的关于同一网段内的最下层的中间节点设备的配置信息,并根据所述配置信息配置日志节点设备为该网段内最下层的中间节点设备,此外,步骤s702中获取的日志为同一网段的日志节点设备的日志。

对于三层以上的数据库系统,某一日志节点设备在配置为中间节点设备时,会根据其所处于的层级将预处理后的日志发送至上一层的中间节点设备或者中心节点设备。以三层的数据库系统为例,若日志节点设备配置为二级节点设备,则会向上一层的中间节点设备即三级节点设备发送预处理后的日志,而对于三级节点设备,则会向中心节点设备发送预处理后的日志。因此,在三层以上的数据库系统中,对于配置为中间节点设备的日志节点设备,其日志处理方法中的步骤s702在发送预处理后的日志时,会将所述预处理后的日志发送至对应的上一层的中间节点设备或中心节点设备。具体地,对于最上层的中间节点设备,会将预处理后的日志发送至中心节点设备,例如图3中三级节点设备l3将预处理后的日志发送至中心节点设备;而对于非最上层的中间节点设备,则会将预处理后的日志发送至上一层的日志节点设备,例如图3中二级节点设备l2将预处理后的日志发送至三级节点设备l3。

在实际本实施例中,为了保证中间节点设备进行日志处理的效率较高,选举节点设备在执行步骤s801时,具体包括:将预设范围的日志节点设备中空闲资源最多的日志节点设备选举为对应的中间节点设备。

为实现上述目的,对于被配置为选举节点设备的日志节点设备,进行选举的处理流程如图9所示,包括:

步骤s901,获取预设范围的所有日志节点设备的运行状态信息。

步骤s902,根据所述运行状态信息以及所述运行状态信息对应的权重获取所述日志节点设备的资源绝对值.

步骤s903,比较所述日志节点设备的资源绝对值,将资源绝对值最大的日志节点设备选举为对应的中间节点设备。

以图2所示的数据库系统为例,假设日志节点设备a配置为选举节点设备,则预设范围内的其它日志节点设备b、c、d即配置为候选节点设备,日志节点设备b、c、d会将自身的运行状态信息发送给日志节点设备a,使得日志节点设备a能够获取到预设范围的日志节点设备的运行状态信息(包括日志节点设备a自身以及其它候选节点设备)。根据这些运行状态信息以及所述运行状态信息对应的权重即可计算出各个日志节点设备的资源绝对值,例如本实施例中在计算时所参考的运行状态信息包括:cpu(中央处理器)空闲率、网络io(输入输出)空闲率、磁盘io读写空闲率和内存使用率,由此资源绝对值的计算公式如下:

资源绝对值=cpu空闲率×w1+网络io空闲率×w2+磁盘io读写空闲率×w3+(1-内存使用率)×w4

其中,所述w1、w2、w3和w4分别为cpu空闲率、网络io空闲率、磁盘io读写空闲率以及内存使用率对应的权重,在本实施例中上述权重可以分别设定为30%、50%、10%、10%。

在获得资源绝对值后,比较各个日志节点设备的资源绝对值后,选举资源绝对值最大的节点设备作为中间节点设备,同时将关于中间节点设备的配置信息同步发送给预设范围内的日志节点设备,使得各个节点设备能够获知本次处理时的中间节点设备,由此完成对中间节点设备的配置。在实际场景中,所述选举节点设备所选举出的中间节点设备可以是该设备自身,此时向其自身发送配置信息则无需通过外部网络,而可以通过设备内部的交互方式实现。

对于具有更高层级的数据库系统(例如图3所示的系统),需要进一步在二级节点设备中进一步选举上一层的中间节点设备作为三级节点设备,同样可以基于预设范围内所有二级节点设备的空闲资源,具体选举方式可以参考二级节点设备的选举,此处不再赘述。

由于作为各个层级中间节点设备的日志节点设备需要对日志进行预处理,通过动态选举出中间节点设备的方式,使得各个层级所对应的中间节点设备均为空间资源最多的日志节点设备,因此能够提高处理的效率,同时减少对正常业务处理的影响。

此外,本申请实施例还提供了一种中间节点设备,该设备包括:

处理器;

以及被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器:获取选举节点设备发送的配置信息,并根据所述配置信息配置日志节点设备为中间节点设备;获取预设范围的日志节点设备的日志,对所述日志进行预处理,并将预处理后的日志发送至对应的上一层日志节点设备。

本申请实施例还提供了一种选举节点设备,该设备包括:

处理器;

以及被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器:在预设范围的日志节点设备中选举对应的中间节点设备;将关于所述中间节点设备的配置信息发送至预设范围的日志节点设备。

综上所述,本申请实施例提供的技术方案通过对日志收集的方式进行改进,扩展成二层或者多层的方式逐级发送日志,并在在逐级发送的过程中由中间节点设备对收到的日志进行预处理,缩减日志的数据量,由此避免由中心节点设备集中接收日志造成的网络拥堵问题,同时减轻中心节点设备在处理日志时的资源消耗,缩短处理时间,由此提高整个日志处理过程的处理效率。

此外,在每次进行日志处理时通过动态选举的方式确定本次的中间节点设备,使得每次选举出的中间节点设备均是当前时刻空闲资源较多的设备,对于正常业务处理的影响较小。进一步地,通过cpu、内存、磁盘io、网络io等方面的忙碌情况来做加权计算,由此得到表示空闲资源的资源绝对值,确保选举的结果更加准确,进一步提高日志处理过程的处理效率。

需要注意的是,本申请可在软件和/或软件与硬件的组合体中被实施,例如,可采用专用集成电路(asic)、通用目的计算机或任何其他类似硬件设备来实现。在一个实施例中,本申请的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本申请的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,ram存储器,磁或光驱动器或软磁盘及类似设备。另外,本申请的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。

另外,本申请的一部分可被应用为计算机程序产品,例如计算机程序指令,当其被计算机执行时,通过该计算机的操作,可以调用或提供根据本申请的方法和/或技术方案。而调用本申请的方法的程序指令,可能被存储在固定的或可移动的记录介质中,和/或通过广播或其他信号承载媒体中的数据流而被传输,和/或被存储在根据所述程序指令运行的计算机设备的工作存储器中。在此,根据本申请的一个实施例包括一个装置,该装置包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该装置运行基于前述根据本申请的多个实施例的方法和/或技术方案。

对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在不背离本申请的精神或基本特征的情况下,能够以其他的具体形式实现本申请。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本申请内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。

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