首页> 中国专利> 一种异地多中心网络环境下ES分配感知方法及装置

一种异地多中心网络环境下ES分配感知方法及装置

摘要

本发明公开一种异地多中心网络环境下ES分配感知方法及装置,在设备日志处理平台配置多个日志采集处理器,每个日志采集处理器对应至少一个ES节点的分片,待采集设备根据日志采集处理器的负载信息和自身到日志采集处理器的网络延迟对日志采集处理器进行评分,优选网络最优、节点负载最小日志采集处理器进行分配,有效地降低设备传输日志所需要的时间,降低磁盘io占用时间,从而有效提高节点的利用率。

著录项

  • 公开/公告号CN113806088A

    专利类型发明专利

  • 公开/公告日2021-12-17

    原文格式PDF

  • 申请/专利权人 济南浪潮数据技术有限公司;

    申请/专利号CN202111070712.7

  • 发明设计人 马骏峰;张典;

    申请日2021-09-13

  • 分类号G06F9/50(20060101);G06F11/34(20060101);

  • 代理机构37205 济南舜源专利事务所有限公司;

  • 代理人刘雪萍

  • 地址 250000 山东省济南市中国(山东)自由贸易试验区济南片区浪潮路1036号浪潮科技园S05楼S311室

  • 入库时间 2023-06-19 13:45:04

说明书

技术领域

本发明涉及ES分配感知领域,具体涉及一种异地多中心网络环境下ES分配感知方法及装置。

背景技术

随着计算机技术的发展,越来越多的企业、相关职能部门拥有硬件设备来对服务提供支持。为了提高容错性和高可用性,大型数据中心会在多地建立机房,以应对突发情况。在对硬件设备进行监控、管理的过程中,通常需要对设备的日志文件进行采集、分析,以便及时发现设备的状态变更、了解设备的运行规律,通过应用平台对数据的处理、汇总,减少人力资源的投入,同时也为以后制定科学的管理方案提供数据支撑。由于设备运行时产生的日志量很大,给存储和查询这些日志信息带来了巨大的挑战。面对海量设备,为了方便查询,通常使用Elasticsearch(简称ES)对日志信息进行存储。Elasticsearch通过索引、分片等机制提供了高效的查询途径,同时可以方便地进行扩展,但是在默认情况下对Elasticsearch数据的写入、集群中分片的分配进行随机的分配,当在异地多中心的情况下,如果数据的写入不考虑网络的延迟会使得某些情况下程序响应时间延长、降低用户体验。

如图1所示为目前设备日志处理平台框架示意图,多个需要进行日志收集的设备,设备将原始日志上报给日志采集处理器,日志采集处理器如:logstash,将日志的文本信息进行格式化处理之后,将信息存入ES集群中。不同设备的日志信息将会随机存入ES节点的分片中。在异地多中心的网络环境下,设备1、2…N,N+1、N+2…2N,2N+1、2N+2…3N可能会分别处于不同的网络中心,当处于异地网络中心时,大量设备传输日志时的网络消耗将会对数据的实时性产生很大的影响,同时由于网络延迟、带宽的限制,会使得系统的负载提升,降低硬件的利用率。

发明内容

为解决上述问题,本发明提供一种异地多中心网络环境下ES分配感知方法及装置,优选网络最优、节点负载最小日志采集处理器进行分配,有效地降低设备传输日志所需要的时间,降低磁盘io占用时间,从而有效提高节点的利用率。

第一方面,本发明的技术方案提供一种异地多中心网络环境下ES分配感知方法,配置多个日志采集处理器,每个日志采集处理器对应至少一个ES节点的分片;

为待采集设备分配日志采集处理器时,执行以下步骤:

待采集设备获取各个日志采集处理器的负载信息,并根据负载信息进行评分,获得各个日志采集处理器的负载评分;

待采集设备获取自身到各个日志采集处理器的网络延迟时间,并根据网络延迟时间进行评分,获得各个日志采集处理器的网络延迟评分;

将负载评分和网络延迟评分相乘获得对应日志采集处理器的权重值;

选择权重值最大的日志采集处理器,将待采集设备分配至该日志采集处理器。

进一步地,待采集设备所获取日志采集处理器的负载信息包括四个指标项数据,分别为CPU占用率、内存占用率、硬盘占用率和带宽占用率。

进一步地,根据负载信息进行评分,获得各个日志采集处理器的负载评分,具体包括:

步骤一,通过以下公式对负载信息的各个指标项进行评分;

其中,x为所获取指标项数据,α为对应指标项阈值;

步骤二,将各个指标项的评分相乘获得对应日志采集处理器的负载评分。

进一步地,根据网络延迟时间进行评分,获得各个日志采集处理器的网络延迟评分,具体为通过以下公式计算网络延迟评分:

其中,y为所获取网络延迟时间,β为预设阈值。

进一步地,该方法还包括以下步骤:

判断所获得的所有权重值是否相同;

若相同,则随机选择一个日志采集处理器进行待采集设备的分配;

否则再将所有权重值排序,选择权重值最大的日志采集处理器,将待采集设备分配至该日志采集处理器。

进一步地,每个日志采集处理器所对应的ES节点的分片为同一个ES节点的分片。

第二方面,本发明的技术方案提供一种异地多中心网络环境下ES分配感知装置,包括待采集设备和多个日志采集处理器;

每个日志采集处理器对应至少一个ES节点的分片;

待采集设备配置有分配感知程序,该分配感知程序包括:

负载评分模块:获取各个日志采集处理器的负载信息,并根据负载信息进行评分,获得各个日志采集处理器的负载评分;

网络延迟评分模块:获取自身到各个日志采集处理器的网络延迟时间,并根据网络延迟时间进行评分,获得各个日志采集处理器的网络延迟评分;

权重值计算模块:将负载评分和网络延迟评分相乘获得对应日志采集处理器的权重值;

日志采集处理器选择模块:选择权重值最大的日志采集处理器,将待采集设备分配至该日志采集处理器。

进一步地,负载评分模块所获取日志采集处理器的负载信息包括四个指标项数据,分别为CPU占用率、内存占用率、硬盘占用率和带宽占用率;

负载评分模块根据负载信息进行评分,获得各个日志采集处理器的负载评分,具体包括:

步骤一,通过以下公式对负载信息的各个指标项进行评分;

其中,x为所获取指标项数据,α为对应指标项阈值;

步骤二,将各个指标项的评分相乘获得对应日志采集处理器的负载评分。

进一步地,网络延迟评分模块根据网络延迟时间进行评分,获得各个日志采集处理器的网络延迟评分,具体为通过以下公式计算网络延迟评分:

其中,y为所获取网络延迟时间,β为预设阈值。

进一步地,待采集设备配置的分配感知程序还包括,

权重值判断模块:判断所获得的所有权重值是否相同;

日志采集处理器选择模块还用于在所获得的所有权重值相同时,随机选择一个日志采集处理器进行待采集设备的分配,否则再将所有权重值排序,选择权重值最大的日志采集处理器,将待采集设备分配至该日志采集处理器。

本发明提供的一种异地多中心网络环境下ES分配感知方法及装置,相对于现有技术,具有以下有益效果;在设备日志处理平台配置多个日志采集处理器,每个日志采集处理器对应至少一个ES节点的分片,待采集设备根据日志采集处理器的负载信息和自身到日志采集处理器的网络延迟对日志采集处理器进行评分,优选网络最优、节点负载最小日志采集处理器进行分配,有效地降低设备传输日志所需要的时间,降低磁盘io占用时间,从而有效提高节点的利用率。

附图说明

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

图1为目前设备日志处理平台框架示意图;

图2为本发明设备日志处理平台框架示意图;

图3为本发明实施例一提供的待采集设备分配日志采集处理器执行过程流程示意图;

图4为本发明实施例二提供的分配感知程序结构示意框图;

图5为本发明实施例三提供的一种终端的结构示意图。

具体实施方式

以下对本发明涉及的术语进行解释。

Elasticsearch:(简称ES)是一个基于Apache Lucene(TM)的开源搜索引擎,无论在开源还是专有领域,Lucene可以被认为是迄今为止最先进、性能最好的、功能最全的搜索引擎库。

分配感知:是Elasticsearch提供的允许用户使用自定义的参数来配置分片的分配方法。

Logstash:是免费且开放的服务器端数据处理管道,能够从多个来源采集数据,转换数据,然后将数据发送到“存储库”中。

为了使本技术领域的人员更好地理解本申请方案,下面结合附图和具体实施方式对本申请作进一步的详细说明。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

如图1所示为目前设备日志处理平台框架示意图,多个需要进行日志收集的设备,设备将原始日志上报给日志采集处理器,日志采集处理器如:logstash,将日志的文本信息进行格式化处理之后,将信息存入ES集群中。不同设备的日志信息将会随机存入ES节点的分片中。在异地多中心的网络环境下,设备1、2…N,N+1、N+2…2N,2N+1、2N+2…3N可能会分别处于不同的网络中心,当处于异地网络中心时,大量设备传输日志时的网络消耗将会对数据的实时性产生很大的影响,同时由于网络延迟、带宽的限制,会使得系统的负载提升,降低硬件的利用率。

因此,本发明提供一种异地多中心网络环境下ES分配感知方法及装置,优选网络最优、节点负载最小日志采集处理器进行分配,有效地降低设备传输日志所需要的时间,降低磁盘io占用时间,从而有效提高节点的利用率。

实施例一

本实施例一提供的一种异地多中心网络环境下ES分配感知方法,与现有技术采用一个通用日志采集处理器不同,本发明的设备日志处理平台框架中配置多个日志采集处理器,每个日志采集处理器对应至少一个ES节点的分片,以便待采集设备可优选网络最优、节点负载最小日志采集处理器进行分配。如图2所示为本发明设备日志处理平台框架示意图,图中设备1~3N为待采集设备,待采集设备是指需要对其日志信息进行采集的设备。

如图3所示为待采集设备分配日志采集处理器执行过程流程示意图,包括以下步骤,实现日志采集处理器的优选。

S101,待采集设备获取各个日志采集处理器的负载信息,并根据负载信息进行评分,获得各个日志采集处理器的负载评分;

S102,待采集设备获取自身到各个日志采集处理器的网络延迟时间,并根据网络延迟时间进行评分,获得各个日志采集处理器的网络延迟评分;

S103,将负载评分和网络延迟评分相乘获得对应日志采集处理器的权重值;

S104,选择权重值最大的日志采集处理器,将待采集设备分配至该日志采集处理器。

本实施例一提供的一种异地多中心网络环境下ES分配感知方法,在设备日志处理平台配置多个日志采集处理器,每个日志采集处理器对应至少一个ES节点的分片,待采集设备根据日志采集处理器的负载信息和自身到日志采集处理器的网络延迟对日志采集处理器进行评分,优选网络最优、节点负载最小日志采集处理器进行分配,有效地降低设备传输日志所需要的时间,降低磁盘io占用时间,从而有效提高节点的利用率。

考虑到日志采集处理器的硬件设备,如CPU、内存、硬盘和带宽,对日志采集处理的负载有影响,因此本实施例一提供的异地多中心网络环境下ES分配感知方法待采集设备在获取日志采集处理器的负载信息时包括四个指标项数据,分别为CPU占用率、内存占用率、硬盘占用率和带宽占用率。即待采集设备首先获取各个日志采集处理器的CPU占用率、内存占用率、硬盘占用率和带宽占用率,之后根据日志采集处理器的CPU占用率、内存占用率、硬盘占用率和带宽占用率计算日志采集处理器的负载评分。

具体地,本实施例一提供的异地多中心网络环境下ES分配感知方法待采集设备在根据负载信息进行评分,获得各个日志采集处理器的负载评分,具体包括以下步骤:

步骤一,通过以下公式对负载信息的各个指标项进行评分;

其中,x为所获取指标项数据(包括CPU占用率、内存占用率、硬盘占用率和带宽占用率),α为对应指标项阈值;

步骤二,将各个指标项的评分相乘获得对应日志采集处理器的负载评分。

例如,所获取某个日志采集处理器的CPU占用率为60%,CPU的指标项阈值为70%,则该日志采集处理器的CPU指标项评分为1;若所获取该日志采集处理器的CPU占用率为80%,则该日志采集处理器的CPU指标项评分为0.2。其他指标项评分与CPU指标项类似。需要说明的是,每个指标项所对应的指标项阈值可以是不同的,根据具体应用环境和具体需求设定即可。

若某个日志采集处理器最终CPU、内存、硬盘和带宽指标项的评分分别为1、0.3、0.2和1,则该日志采集处理器的负载评分为1*0.3*0.2*1=0.6。

待采集设备获得日志采集处理器的负载评分之后还需要对网络进行评分,即对待采集设备自身到日志采集处理器的网络延迟时间进行评分,之后根据负载评分和网络延迟评分综合获得日志采集处理器的权重值,从负载和网络延迟两个方便考虑优选的日志采集处理器。

本实施例一所提供的异地多中心网络环境下ES分配感知方法在待采集设备根据网络延迟时间进行评分,获得各个日志采集处理器的网络延迟评分时,具体为通过以下公式计算网络延迟评分:

其中,y为所获取网络延迟时间,β为预设阈值。

例如,β为20ms,对某个日志采集处理器,若待采集设备到该日志采集处理器的网络延迟时间为10ms,则该日志采集处理器的网络延迟评分为1;若待采集设备到该日志采集处理器的网络延迟时间为30ms,则该日志采集处理器的网络延迟评分为0.7;待采集设备到该日志采集处理器的网络延迟时间为110ms,则该日志采集处理器的网络延迟评分为0。

若对某个日志采集处理器,负载评分为0.6,网络延迟评分为0.7,则该日志采集处理器的权重值为0.6*0.7=0.42。另一个日志采集处理器,负载评分为1,网络延迟评分为1,则该日志采集处理器的权重值为1*1=1。

需要说明的是,待采集设备可通过向日志采集处理器发送获取网络延迟的命令,获得相应的网络延迟时间。

通过上述计算过程可见,某个待采集设备对于所有日志采集处理器,其各个权重值可能是相同的,例如全是1或者全是0,那么说明对待采集设备而言,各个日志采集处理器的处理能力是相当的,因此可随机选择一个日志采集处理器即可。具体地,为待采集设备分配日志采集处理器时还包括以下步骤:

判断所获得的所有权重值是否相同;

若相同,则随机选择一个日志采集处理器进行待采集设备的分配;

否则再将所有权重值排序,选择权重值最大的日志采集处理器,将待采集设备分配至该日志采集处理器。

需要说明的是,每个日志采集处理器对应至少一个ES节点的分片,ES集群有多个ES节点,每个ES节点有多个分片,本实施例中每个日志采集处理器所对应的ES节点的分片为同一个ES节点的分片。例如某个日志采集处理器对应ES节点1的分片1和分片2,分配到该日志采集处理器的待采集设备的日志信息会分配到ES节点1的分片1和分片2。

为对本发明进一步进行解释,以下提供一具体实施例,该具体实施例中为待采集设备分配日志采集处理器时包括以下步骤。

步骤一,待采集设备获取各个日志采集处理器负载信息的四个指标项数据,分别为CPU占用率、内存占用率、硬盘占用率和带宽占用率。

步骤二,通过以下公式对负载信息的各个指标项进行评分;

其中,x为所获取指标项数据,α为对应指标项阈值。

步骤三,将各个指标项的评分相乘获得对应日志采集处理器的负载评分。

步骤四,待采集设备获取自身到各个日志采集处理器的网络延迟时间。

步骤五,通过以下公式计算网络延迟评分:

其中,y为所获取网络延迟时间,β为预设阈值。

步骤六,将负载评分和网络延迟评分相乘获得对应日志采集处理器的权重值。

步骤七,判断所获得的所有权重值是否相同。

步骤八,若相同,则随机选择一个日志采集处理器进行待采集设备的分配;否则将所有权重值排序,选择权重值最大的日志采集处理器,将待采集设备分配至该日志采集处理器。

实施例二

本实施例二提供一种异地多中心网络环境下ES分配感知装置,用于实现前述的异地多中心网络环境下ES分配感知方法。

本实施例二提供的一种异地多中心网络环境下ES分配感知装置,包括待采集设备和多个日志采集处理器,如图2所示的本发明设备日志处理平台框架示意图。

每个日志采集处理器对应至少一个ES节点的分片,具体实施时,每个日志采集处理器所对应的ES节点的分片为同一个ES节点中的分片。

待采集设备配置有分配感知程序,执行该分配感知程序实现日志采集处理器的优选。如图4所示为该分配感知程序结构示意框图,包括以下功能模块。

负载评分模块:获取各个日志采集处理器的负载信息,并根据负载信息进行评分,获得各个日志采集处理器的负载评分;

网络延迟评分模块:获取自身到各个日志采集处理器的网络延迟时间,并根据网络延迟时间进行评分,获得各个日志采集处理器的网络延迟评分;

权重值计算模块:将负载评分和网络延迟评分相乘获得对应日志采集处理器的权重值;

日志采集处理器选择模块:选择权重值最大的日志采集处理器,将待采集设备分配至该日志采集处理器。

其中,负载评分模块所获取日志采集处理器的负载信息包括四个指标项数据,分别为CPU占用率、内存占用率、硬盘占用率和带宽占用率。

负载评分模块根据负载信息进行评分,获得各个日志采集处理器的负载评分,具体包括:

步骤一,通过以下公式对负载信息的各个指标项进行评分;

其中,x为所获取指标项数据,α为对应指标项阈值;

步骤二,将各个指标项的评分相乘获得对应日志采集处理器的负载评分。

网络延迟评分模块根据网络延迟时间进行评分,获得各个日志采集处理器的网络延迟评分,具体为通过以下公式计算网络延迟评分:

其中,y为所获取网络延迟时间,β为预设阈值。

通过上述计算过程可见,某个待采集设备对于所有日志采集处理器,其各个权重值可能是相同的,因此待采集设备配置的分配感知程序还包括以下功能模块,在权重值均相同时随机选择一个日志采集处理器进行待采集设备的分配:

权重值判断模块:判断所获得的所有权重值是否相同。

相应地,日志采集处理器选择模块还用于在所获得的所有权重值相同时,随机选择一个日志采集处理器进行待采集设备的分配,否则再将所有权重值排序,选择权重值最大的日志采集处理器,将待采集设备分配至该日志采集处理器。

本实施例的异地多中心网络环境下ES分配感知装置用于实现前述的异地多中心网络环境下ES分配感知方法,因此该装置中的具体实施方式可见前文中的异地多中心网络环境下ES分配感知方法的实施例部分,所以,其具体实施方式可以参照相应的各个部分实施例的描述,在此不再展开介绍。

另外,由于本实施例的异地多中心网络环境下ES分配感知装置用于实现前述的异地多中心网络环境下ES分配感知方法,因此其作用与上述方法的作用相对应,这里不再赘述。

实施例三

图5为本发明实施例提供的一种终端装置500的结构示意图,该终端装置500可以用于执行本发明实施例提供的待采集设备分配日志采集处理器的方法,具体执行以下步骤:

待采集设备获取各个日志采集处理器的负载信息,并根据负载信息进行评分,获得各个日志采集处理器的负载评分;

待采集设备获取自身到各个日志采集处理器的网络延迟时间,并根据网络延迟时间进行评分,获得各个日志采集处理器的网络延迟评分;

将负载评分和网络延迟评分相乘获得对应日志采集处理器的权重值;

选择权重值最大的日志采集处理器,将待采集设备分配至该日志采集处理器。

该终端装置500可以包括:处理器510、存储器520及通信单元530。这些组件通过一条或多条总线进行通信,本领域技术人员可以理解,图中示出的服务器的结构并不构成对本发明的限定,它既可以是总线形结构,也可以是星型结构,还可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

其中,该存储器520可以用于存储处理器510的执行指令,存储器520可以由任何类型的易失性或非易失性存储终端或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。当存储器520中的执行指令由处理器510执行时,使得终端500能够执行以下上述方法实施例中的部分或全部步骤。

处理器510为存储终端的控制中心,利用各种接口和线路连接整个电子终端的各个部分,通过运行或执行存储在存储器520内的软件程序和/或模块,以及调用存储在存储器内的数据,以执行电子终端的各种功能和/或处理数据。所述处理器可以由集成电路(Integrated Circuit,简称IC)组成,例如可以由单颗封装的IC所组成,也可以由连接多颗相同功能或不同功能的封装IC而组成。举例来说,处理器510可以仅包括中央处理器(Central Processing Unit,简称CPU)。在本发明实施方式中,CPU可以是单运算核心,也可以包括多运算核心。

通信单元530,用于建立通信信道,从而使所述存储终端可以与其它终端进行通信。接收其他终端发送的用户数据或者向其他终端发送用户数据。

实施例四

本发明还提供一种计算机存储介质,其中,该计算机存储介质可存储有程序,该程序执行时实现待采集设备分配日志采集处理器,具体包括以下步骤:

待采集设备获取各个日志采集处理器的负载信息,并根据负载信息进行评分,获得各个日志采集处理器的负载评分;

待采集设备获取自身到各个日志采集处理器的网络延迟时间,并根据网络延迟时间进行评分,获得各个日志采集处理器的网络延迟评分;

将负载评分和网络延迟评分相乘获得对应日志采集处理器的权重值;

选择权重值最大的日志采集处理器,将待采集设备分配至该日志采集处理器。

所述的存储介质可为磁碟、光盘、只读存储记忆体(英文:read-only memory,简称:ROM)或随机存储记忆体(英文:random access memory,简称:RAM)等。

本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中如U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质,包括若干指令用以使得一台计算机终端(可以是个人计算机,服务器,或者第二终端、网络终端等)执行本发明各个实施例所述方法的全部或部分步骤。

本说明书中各个实施例之间相同相似的部分互相参见即可。尤其,对于终端实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例中的说明即可。

在本发明所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

以上公开的仅为本发明的优选实施方式,但本发明并非局限于此,任何本领域的技术人员能思之的没有创造性的变化,以及在不脱离本发明原理前提下所作的若干改进和润饰,都应落在本发明的保护范围内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号