CN103401937B - 日志数据处理方法及系统 - Google Patents
日志数据处理方法及系统 Download PDFInfo
- Publication number
- CN103401937B CN103401937B CN201310341764.2A CN201310341764A CN103401937B CN 103401937 B CN103401937 B CN 103401937B CN 201310341764 A CN201310341764 A CN 201310341764A CN 103401937 B CN103401937 B CN 103401937B
- Authority
- CN
- China
- Prior art keywords
- server
- daily record
- selection
- transmitting terminal
- sent
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Computer And Data Communications (AREA)
Abstract
本发明涉及一种日志数据处理方法及系统。其中,日志数据处理方法包括:步骤一,设置每个发送端都与所有的服务器相连;步骤二,发送端为自身产生的每条日志分配一个日志标识;步骤三,发送端查询发送记录表中是否存在待发送日志的日志标识,若存在则从发送记录表中获取与该待发送日志的日志标识对应的服务器标识,该服务器标识对应的服务器即为选择的服务器;步骤四,发送端将待发送日志数据直接发送给选择的服务器。本发明的日志数据处理方法及系统,避免了负载均衡器成为性能瓶颈,使得应用本发明日志数据处理方法的系统具有良好的可扩展性,较好地适应了日志分析中输入数据量大、输出数据量小的特点。
Description
技术领域
本发明涉及计算机领域,尤其涉及一种日志数据处理方法及系统。
背景技术
日志在计算机领域是一个较为宽泛的概念,任何程序都可能输出日志,例如集群监控程序、入侵检测程序、Web服务器程序等。日志的具体格式千差万别,但本质上都是事件或行为的记录,日志通常包括事件主体、发生时间、事件内容等。日志分析是为了抽取日志数据中有价值的信息,例如检测异常事件,并做出相应调控。
在多数场景下,日志具有数据量大、实时性强、动态波动等特点,为了及时高效地处理日志,日志分析系统多采用分布式架构,即系统中存在多个发送端和多个后端服务器,发送端实时发送日志数据,后端服务器接收数据进行分析处理。为保障系统性能,发送端和后端服务器之间需要动态负载均衡机制。此外,日志分析不能简单基于单条日志,而应当基于一连串相关的日志序列。为此,发送端会对日志进行预处理标记,具有相同标识(ID)的日志必须发送到相同的后端服务器处理,称之为“同源同宿”。如何实现动态负载均衡机制,并保证同源同宿已经成为分布式日志分析的关键问题。
传统负载均衡一般采用负载均衡器转发模式,其结构示意图如图1所示,发送端或客户端发送请求到负载均衡器,负载均衡器再根据一定策略向服务器转发。负载均衡器转发模式面向Web等传统网络应用设计,其数据特点是请求数据量小,响应数据量大。该模式对此做出针对性优化,即请求数据经过负载均衡器转发,响应数据不经过负载均衡器,直接返回给发送端,避免负载均衡器成为单点瓶颈。
现有日志分析系统仍采用负载均衡器转发模式。但是,日志分析的数据特点是输入数据量(即请求数据量)大、输出数据量(即响应数据量)小,负载均衡器转发模式不能适应这一特点,会导致大量日志数据经过负载均衡器,形成单点瓶颈,严重影响系统的可扩展性。
发明内容
本发明所要解决的技术问题是提供一种日志数据处理方法及系统,避免传统负载均衡器转发模式中负载均衡器成为单点瓶颈的影响,提高可扩展性。
为解决上述技术问题,本发明提出了一种日志数据处理方法,包括:
步骤一,设置每个发送端都与所有的服务器相连;
步骤二,发送端为自身产生的每条日志分配一个日志标识;
步骤三,发送端查询发送记录表中是否存在待发送日志的日志标识,若存在则从发送记录表中获取与该待发送日志的日志标识对应的服务器标识,该服务器标识对应的服务器即为选择的服务器;
步骤四,发送端将待发送日志数据直接发送给选择的服务器。
进一步地,上述日志数据处理方法还可具有以下特点,所述步骤三中,若发送记录表中不存在待发送日志的日志标识,则使用服务器选取函数为待发送日志选择服务器,所述服务器选取函数的输入为日志标识,输出为服务器,此时所述日志数据处理方法还包括:
步骤五,将已发送日志的日志标识与接收该已发送日志的服务器的对应关系记录到发送记录表中。
进一步地,上述日志数据处理方法还可具有以下特点,还包括:
步骤六,各个服务器定时向监控中心报告自身的负载信息
步骤七,监控中心判断各个服务器负载是否均衡;
步骤八,若判断结果为不均衡时,监控中心更新服务器选取函数,并将更新后的服务器选取函数发送给所有发送端。
步骤九,发送端根据更新后的服务器选取函数选择接收待发送日志的服务器。
进一步地,上述日志数据处理方法还可具有以下特点,所述步骤七包括:
计算各个服务器的加权负载值,加权负载值等于所有的加权因素与其加权因子的乘积之和,所述加权因素和加权因子预先设定;
获取最大的加权负载值和最小的加权负载值;
计算最大加权负载值与最小加权负载值的差值;
若所述差值小于0.25,则判定服务器负载均衡,否则判定服务器负载不均衡。
进一步地,上述日志数据处理方法还可具有以下特点,步骤八中,更新服务器选取函数包括:
计算1与服务器的加权负载值的差,记为该服务器的空闲值;
计算所有服务器的空闲值的和,记为整体空闲值;
计算服务器的空闲值与整体空闲值的商,记为该服务器的相对比例,该相对比例即为服务器被选取为接收服务器的比例;
以日志标识为输入,将日志标识的分布空间划分为N份,每份的比例与服务器的相对比例对应,其中,N为服务器的个数。
为解决上述技术问题,本发明提出了一种日志数据处理系统,包括:
设置模块,用于设置每个发送端都与所有的服务器相连;
分配模块,设置于发送端中,用于为发送端产生的每条日志分配一个日志标识;
选择模块,设置于发送端中,用于查询发送记录表中是否存在待发送日志的日志标识,若存在则从发送记录表中获取与该待发送日志的日志标识对应的服务器标识,该服务器标识对应的服务器即为选择的服务器;
发送模块,设置于发送端中,用于将待发送日志数据直接发送给选择模块选择的服务器。
进一步地,上述日志数据处理系统还可具有以下特点,所述选择模块还用于在发送记录表中不存在待发送日志的日志标识时,使用服务器选取函数为待发送日志选择服务器,所述服务器选取函数的输入为日志标识,输出为服务器,此时所述日志数据处理系统还包括:
记录模块,用于将已发送日志的日志标识与接收该已发送日志的服务器的对应关系记录到发送记录表中。
进一步地,上述日志数据处理系统还可具有以下特点,还包括:
报告模块,设置于服务器中,用于定时向监控中心报告自身所在服务器的负载信息;
判断模块,设置于监控中心中,用于判断各个服务器负载是否均衡;
更新模块,设置于监控中心中,用于在判断模块的判断结果为不均衡时,更新服务器选取函数,并将更新后的服务器选取函数发送给所有发送端;
调整模块,设置于发送端中,用于调整所述选择模块根据更新模块更新后的服务器选取函数选择的接收待发送日志的服务器。
进一步地,上述日志数据处理系统还可具有以下特点,所述判断模块包括:
第一计算单元,用于计算各个服务器的加权负载值,加权负载值等于所有的加权因素与其加权因子的乘积之和,所述加权因素和加权因子预先设定;
获取单元,用于从第一计算单元的计算结果中获取最大的加权负载值和最小的加权负载值;
第二计算单元,用于计算最大加权负载值与最小加权负载值的差值;
判定单元,用于在所述第二计算单元计算的差值小于0.25时,判定服务器负载均衡,在所述第二计算单元计算的差值大于或等于0.25时,判定服务器负载不均衡。
进一步地,上述日志数据处理系统还可具有以下特点,所述更新模块包括:
空闲值计算单元,用于计算1与服务器的加权负载值的差,记为该服务器的空闲值;
整体空闲值计算单元,用于计算所有服务器的空闲值的和,记为整体空闲值;
相对比例计算单元,用于计算服务器的空闲值与整体空闲值的商,记为该服务器的相对比例,该相对比例即为服务器被选取为接收服务器的比例;
划分单元,用于以日志标识为输入,将日志标识的分布空间划分为N份,每份的比例与服务器的相对比例对应,N为服务器的个数。
本发明的日志数据处理方法及系统,采用交叉互连模式来进行负载均衡,将发送端和服务器交叉相连,日志数据直接从发送端传输到服务器,避免了负载均衡器成为性能瓶颈,使得应用本发明日志数据处理方法的系统具有良好的可扩展性,较好地适应了日志分析中输入数据量大、输出数据量小的特点。进一步地,本发明的日志数据处理方法及系统,在负载不均时,会调整发送端的发送策略,实现了动态负载均衡。
附图说明
图1为现有技术中负载均衡转发模式原理示意图;
图2为本发明日志数据处理方法的原理示意图;
图3为本发明实施例中日志数据处理方法的总体流程图;
图4为本发明实施例中发送端的日志数据发送流程图;
图5为本发明实施例中动态负载均衡流程图;
图6为本发明实施例中服务器负载是否均衡的判断流程图;
图7为本发明实施例中服务器选取函数的修改流程图;
图8为本发明实施例中发送记录表的分布式架构示意图;
图9为本发明实施例中“过渡状态”的发送流程图;
图10为本发明实施例中日志数据处理系统的结构框图。
具体实施方式
以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
图2为本发明日志数据处理方法的原理示意图。如图2所示,本发明的日志数据处理方法使用交叉互连模式来进行负载均衡,而不使用负载均衡器转发。所谓“交叉互连模式”是指发送端和服务器交叉互连,每个发送端都与所有的服务器相连,同样,每个服务器也都与所有的发送端相连,日志数据直接由发送端传输到服务器。使用本发明日志数据处理方法的日志分析系统包括多个发送端、多个服务器、一个监控中心和一套分布式发送记录表。
发送端不间断地产生日志数据,并对日志数据进行预处理,即为每条日志分配一个日志标识(也即日志ID)。通常具有相同事件主体、相同发生时间的日志会具有相同的日志标识。发送端与所有的服务器相连,根据预设的选择策略选择服务器发送日志数据。在发送日志数据时,发送端会区分日志标识是否已出现过,如果日志标识已经出现过,则根据发送记录表中的记录获取日志标识对应的服务器;如果日志ID没有出现过,则使用服务器选取函数,为新的日志ID选择一个服务器,并将日志ID与服务器的对应关系写入发送记录表。
服务器接收日志数据进行处理分析,并会定时向监控中心发送心跳,报告服务器的负载情况。对于大部分日志数据,服务器只做统计分析,不进行相应控制;对于少量特定日志数据,例如异常行为、报警信息等,服务器在分析之后,会进行相应控制,将输出信息返回给发送端,由发送端解决相关问题。
监控中心是交叉互连模式的管理控制中心,监控中心实时收集服务端发送的心跳,维护各个服务器的负载信息。当达到设定临界条件时,监控中心会调整服务器选取策略,修改服务器选取函数,并将修改后的服务器选取函数通知所有发送端。
发送记录表用于维护已出现日志ID到服务器的对应关系记录,该记录可以形如<日志ID,服务器>。其中“服务器”实际上指服务器的通信地址,包括IP地址和通信端口。对于已经出现过的日志ID,发送端将根据发送记录表查找指定服务器,并向该服务器发送数据。为提高发送记录表的服务能力,减少发送端与发送记录表的通信延迟,发送记录表采用分布式架构,即在监控中心和所有发送端都保存有发送记录表。
图3为本发明实施例中日志数据处理方法的总体流程图。如图3所示,本实施例中,日志数据处理方法可以包括如下步骤:
步骤S301,设置每个发送端都与所有的服务器相连;
在具体实施中,步骤S301一般只需要执行一次,一旦设置好,以后就不必重新设置了。但是,当有新的发送端或新的服务器加入时,就需要执行步骤S301,以便将新的发送端或新的服务器加入到系统中,并设置为交叉互连模式。
步骤S302,发送端为自身产生的每条日志分配一个日志标识;
在实施时,可以采用一种固定的分配策略分配日志标识。以Web访问日志为例,可以根据访问IP和访问时间计算出Hash值(结果是一个正整数),该Hash值即为日志标识。
步骤S303,发送端查询发送记录表中是否存在待发送日志的日志标识,若存在则从发送记录表中获取与该待发送日志的日志标识对应的服务器,该服务器即为选择的服务器;
在步骤S303中,若经过查询,发送记录表中不存在待发送日志的日志标识,则使用服务器选取函数为待发送日志选择服务器,则使用服务器选取函数为待发送日志选择服务器;
其中,发送记录表中记录有已发送日志的日志标识与接收该已发送日志的服务器的对应关系。
服务器选取函数的输入为日志标识,输出为服务器。
步骤S304,发送端将待发送日志数据直接发送给步骤S303选择的服务器。
在步骤S303中使用服务器选取函数为待发送日志选择服务器的情况下,本发明的日志数据处理方法还包括如下步骤:将已发送日志的日志标识与接收该已发送日志的服务器的对应关系记录到发送记录表中。
由图3可见,本发明的日志数据处理方法采用交叉互连模式来进行负载均衡,将发送端和服务器交叉相连,日志数据直接从发送端传输到服务器,避免了负载均衡器成为性能瓶颈,并且使得应用本发明日志数据处理方法的系统具有良好的可扩展性,较好地适应了日志分析中输入数据量大、输出数据量小的特点。
下面通过具体应用示例对本发明的日志数据处理方法作进一步详细说明。
图4为本发明实施例中发送端的日志数据发送流程图。如图4所示,发送端在发送日志数据时,使用图4所示的流程选择合适的服务器,步骤如下:
步骤S401,获取日志ID;
步骤S402,查询发送记录表;
步骤S403,判断步骤S401中的日志ID在发送记录表中是否存在,如果存在,则转至步骤S404;如果不存在,则转至步骤S405;
步骤S404,根据发送记录表中的发送记录,获得相应的服务器,结束;
步骤S405,使用服务器选取函数为日志ID选取服务器;
步骤S406,将日志ID和服务器的对应关系写入发送记录表,结束。
上述图4所示的日志数据发送流程的基本思路是:首先判断日志ID在发送记录表中是否存在,即日志ID是否已经出现过。如果出现过,则根据发送记录表中的发送记录,获取相应的服务器;如果没有出现过,则使用“服务器选取函数”为日志ID选取服务器。“服务器选取函数”可以保证,不同发送端产生的具有相同日志ID的数据将被发送到同一服务器。发送记录表还可以保证,在“服务器选取函数”修改后,之前曾经出现过的日志ID数据仍然会发送到同一服务器。
在本发明实施例中,上述步骤S401可以根据如下方式获得日志ID:发送端对日志数据进行预处理,根据事件主体、发生时间等信息为每条日志分配一个日志ID。通常具有相同事件主体、相同发生时间的日志会具有相同的日志ID。
在本发明实施例中,上述步骤S402提到的发送记录表用于维护键-值(key-value)记录(也即发送记录),以日志ID为键,以服务器为值,形如<日志ID,服务器>。这里特别说明一点,键-值记录“服务器”实际上指服务器的通信地址,包括服务器的IP地址和通信端口。
在本发明实施例中,上述步骤S405提到的“服务器选取函数”用于为未出现过日志ID选择服务器,该函数以日志ID为输入,以某一服务器为输出。在同一时刻,所有发送端的“服务器选取函数”是一致的,这可以保证不同发送端产生的具有相同日志ID的数据将发送到同一服务器进行处理。
图5为本发明实施例中动态负载均衡流程图。如图5所示,监控中心定期检测服务器的负载情况,在负载不均时修改“服务器选取函数”,其步骤如下:
步骤S501,获取各个服务器的负载信息;
步骤S502,判断各个服务器负载是否均衡,如果均衡,则转至步骤S505;如果不均衡,则转至步骤S503;
步骤S503,修改服务器选取函数;
步骤S504,通知所有的发送端,修改服务器选取函数,方法结束;
步骤S505,方法结束。
图5所示的流程定期执行,其周期不宜过长,也不宜过短。周期过长,则对于期间内产生的负载不均现象,系统无法及时处理;周期过短,则系统频繁执行此流程,为系统增加压力。经过系列测试表明,周期设为30分钟是一个相对较优的选择,可以在及时处理负载变化和不增加系统负担中间获得一个较好的折中点。
图6为本发明实施例中服务器负载是否均衡的判断流程图,用于判断各个服务器负载是否均衡,具体步骤如下:
步骤S601,计算各服务器的加权负载值;
步骤S602,对加权负载值从大到小排序,得到排序后列表;
步骤S603,从步骤S602得到的列表中获取最大的加权负载值m1和最小的加权负载值m2;
步骤S604,判断m1与m2的差是否小于0.25,如果是则执行步骤S605;否则执行步骤S606;
步骤S605,认为服务器负载均衡;
步骤S606,认为服务器负载不均衡。
在本发明实施例中,上述步骤S601提到的加权负载值可以是根据CPU、内存、网络带宽三种资源计算出的加权负载,加权负载值=CPU利用率*CPU权值+内存利用率*内存权值+网络带宽利用率*网络带宽权值,其中CPU权值+内存权值+网络带宽权值=1。假设CPU权值=0.4、内存权值=0.3、网络带宽权值=0.3,则加权负载值=CPU利用率*0.4+内存利用率*0.3+网络带宽利用率*0.3,其中,“*”为乘号。举例来说,假设一个服务器的CPU利用率为0.4,内存利用率为0.5,网络带宽利用率为0.5,那么该服务器的加权负载值等于“0.4*0.4+0.5*0.3+0.5*0.3”,即0.46。
应用图6所示的流程,在判断到负载不均时,监控端会调整发送端的日志数据发送策略,具体方式是监控中心修改服务器选取函数,并将修改后的服务器选取函数通知所有的发送端。在整个调整过程中,系统会进行网络通信,存在额外加价,因此在本发明实施例中,对此做了一定的限制,只有在负载不均衡达到一定程度,才会修改服务器选取函数。具体来说,就是在各服务器的加权负载值中,最高值与最小值的差大于或等于0.25时,才认为存在负载不均情况,系统需要调整发送日志数据的发送策略。其中,“0.25”这个数值是根据经验设定的优选的判定阈值。根据具体的应用情况,判定阈值也可以设置为其他的值。
图7为本发明实施例中服务器选取函数的修改流程图,用于修改服务器选取函数,具体步骤如下:
步骤S701,计算1与加权负载值的差,记为该服务器的“空闲值”;
步骤S702,计算所有服务器的“空闲值”的和,记为“整体空闲值”;
步骤S703,计算各个服务器的“空闲值”与“整体空闲值”的商,记为该服务器的“相对比例”,该相对比例即为服务器被选取为接收服务器的比例;
步骤S704,获取服务器的个数N;
步骤S705,以日志ID为输入,将日志标识的分布空间划分为N份,每份的比例与服务器的“相对比例”对应。
为便于理解,下面举例说明。假设系统中存在3台服务器,分别记为服务器A、服务器B、服务器C,其加权负载值依次为0.4、0.5、0.6,那么其“空闲值”依次为0.6、0.5、0.4。“整体空闲值”为“空闲值”之和,即1.5。“相对比例”为“空闲值”与“整体空闲值”的商,3台服务器的“相对比例”依次约为0.40、0.33、0.27。最后,将日志标识的分布空间划分为3份,三份的比例依次为0.40、0.33、0.27。从服务器选取函数输入输出的角度来看,函数使用输入的日志ID对100取模,模运算的结果记为m,如果m的值在0到39之间,则输出为服务器A;如果m的值在40到72之间,则输出为服务器B;如果m的值在73到99之间,则输出为服务器C。理论上,服务器A、B、C被选中的可能性与A、B、C的“相对比例”一致。
其中,“使用输入的日志ID对100取模”是指:计算日志ID对100取模的结果。取模运算符号为“%”,相当于取余数。例如,2%100=2,100%100=0,102%100=2。
图8为本发明实施例中发送记录表的分布式架构示意图。在本发明实施例中,由于发送端的实时性要求较高,因此应当保证发送端读取发送记录表的延迟尽可能小。另一方面,由于发送记录表的总体访问量很大,因此需要进行访问分离,提高整体系统的性能。在进行访问分离的基础上,系统还必须保证发送记录表的一致性。综合上述这些需求,本发明实施例将发送记录表设计为主从分布式架构,一主多从,读写分离。具体来说,系统在每个发送端本地设置一个从发送记录表(即图8中的从记录表),从发送记录表只能响应本地读请求;在全局设置一个主发送记录表(即图8中的主记录表),主发送记录表用于响应写请求,主发送记录表会定时将新的写操作同步到从发送记表中,从而实现最终一致性。图8中,“R”表示读,“W”表示写。
按照上述方法,主、从发送记录表可以实现最终一致性,即有延迟的一致性,具体来说是主发送记录表将数据同步到从发送记录表存在延迟。在发送策略不变,即服务器选取函数不变的情况下,这种延迟不会对系统造成任何影响。但是系统会根据服务器实时负载,动态修改服务器选取函数,在此过程中,上述数据同步的延迟会对系统造成影响。举例来说,系统中存在两个发送端A、B和两个服务器C、D,监控中心根据实时负载,修改了服务器选取函数,但是发送端A和发送端B无法精确做到同一时刻修改服务器选取函数。在某一时刻,发送端A已经修改服务器选取函数,使用新的发送策略,发送端B尚未修改服务器选取函数,仍使用旧的发送策略。此时,它们都收到一个新的日志ID,发送端A根据新的服务器选取函数,将数据发送到服务器C,发送端B根据旧的服务器选取函数,将数据发送到服务器D,这样就导致了具有同一日志ID的数据被发送到不同的服务器上进行处理。为解决这个问题,本发明将引入发送端“过渡状态”。
图9为本发明实施例中“过渡状态”的发送流程图。发送端在修改服务器选取函数后,会进入“过渡状态”,维持新旧两个服务器选取函数。在此阶段,发送端发送日志数据的流程发生变化,对于已经出现过的日志ID,仍然通过查找发送记录表获取服务器的方法发送;对于未出现过的日志ID,使用下列步骤发送数据:
步骤S901,获取日志ID;
步骤S902,根据新服务器选取函数,选取服务器S1;
步骤S903,根据旧服务器选取函数,选取服务器S2;
步骤S904,判断S1和S2是否相同,如果相同,则执行步骤S905;如果不同,则执行步骤S906;
步骤S905,向S1发送日志数据,结束;
步骤S906,将数据复制为2份;
步骤S907,将两份数据分别发送给S1和S2,结束。
图9所示流程的基本思路是:对于新出现的日志ID,如果按照新、旧“服务器选取函数”得到的服务器不同,就向两个服务器发送数据。通过冗余发送,保证至少有一个服务器可以获得完整的日志数据。以“过渡状态”开始时为时间点,当主从发送记录表完成此前的数据同步后,发送端退出“过渡状态”,恢复正常。
本发明的日志数据处理方法,采用交叉互连模式来进行负载均衡,将发送端和服务器交叉相连,日志数据直接从发送端传输到服务器,避免了负载均衡器成为性能瓶颈,使得应用本发明日志数据处理方法的系统具有良好的可扩展性,较好地适应了日志分析中输入数据量大、输出数据量小的特点。进一步地,本发明的日志数据处理方法,在负载不均时,会调整发送端的发送策略,实现了动态负载均衡。
本发明还提出了一种日志数据处理系统,用以执行上述的日志数据处理方法。以上日志数据处理方法部分的说明均适用于下面的日志数据处理系统。
图10为本发明实施例中日志数据处理系统的结构框图。如图10所示,本实施例中,日志数据处理系统可以包括设置模块10、分配模块20、选择模块30、发送模块40。其中,设置模块10用于设置每个发送端都与所有的服务器相连。分配模块20设置于发送端中,用于为发送端产生的每条日志分配一个日志标识。选择模块30设置于发送端中,用于查询发送记录表中是否存在待发送日志的日志标识,若存在则从发送记录表中获取与该待发送日志的日志标识对应的服务器,该服务器即为选择的服务器,否则使用服务器选取函数为待发送日志选择服务器,发送记录表中记录有已发送日志的日志标识与接收该已发送日志的服务器的对应关系,服务器选取函数的输入为日志标识,输出为服务器。发送模块40设置于发送端中,用于将待发送日志数据直接发送给选择模块30为该待发送日志选择的服务器。
在本实施例其他实施例中,选择模块还可以用于在发送记录表中不存在待发送日志的日志标识时,使用服务器选取函数为待发送日志选择服务器,所述服务器选取函数的输入为日志标识,输出为服务器,此时日志数据处理系统还包括记录模块。记录模块用于将已发送日志的日志标识与接收该已发送日志的服务器的对应关系记录到发送记录表中。
在本实施例其他实施例中,日志数据处理系统还可以进一步包括报告模块、判断模块、更新模块和调整模块。其中,报告模块设置于服务器中,用于定时向监控中心报告自身所在服务器的负载信息。判断模块设置于监控中心中,用于判断各个服务器负载是否均衡。更新模块设置于监控中心中,用于在判断模块的判断结果为不均衡时,更新服务器选取函数,并将更新后的服务器选取函数发送给所有发送端。调整模块设置于发送端中,用于调整选择模块根据更新模块更新后的服务器选取函数选择的接收待发送日志的服务器。
进一步地,在本实施例实施例中,上述判断模块还可以进一步包括第一计算单元、获取单元、第二计算单元和判定单元。其中,第一计算单元用于计算各个服务器的加权负载值,加权负载值等于所有的加权因素与其加权因子的乘积之和,加权因素和加权因子预先设定。获取单元用于从第一计算单元的计算结果中获取最大的加权负载值和最小的加权负载值。第二计算单元用于计算最大加权负载值与最小加权负载值的差值。判定单元用于在第二计算单元计算的差值小于0.25时,判定服务器负载均衡,在第二计算单元计算的差值大于或等于0.25时,判定服务器负载不均衡。
优选地,第一计算单元计算各个服务器的加权负载值中,加权因素为CPU利用率、内存利用率和网络带宽利用率,CPU利用率、内存利用率和网络带宽利用率的加权因子分别为0.4、0.3和0.3,则加权负载值的计算公式如下:
加权负载值=CPU利用率*0.4+内存利用率*0.3+网络带宽利用率*0.3
其中,“*”为乘号。
进一步地,在本实施例实施例中,上述更新模块还可以进一步包括空闲值计算单元、整体空闲值计算单元、相对比例计算单元和划分单元。其中,空闲值计算单元用于计算1与服务器的加权负载值的差,记为该服务器的空闲值。整体空闲值计算单元用于计算所有服务器的空闲值的和,记为整体空闲值。相对比例计算单元用于计算服务器的空闲值与整体空闲值的商,记为该服务器的相对比例,该相对比例即为服务器被选取为接收服务器的比例。划分单元用于以日志标识为输入,将日志标识的分布空间划分为N份,每份的比例与服务器的相对比例对应,N为服务器的个数。
本发明的日志数据处理系统,采用交叉互连模式来进行负载均衡,将发送端和服务器交叉相连,日志数据直接从发送端传输到服务器,避免了负载均衡器成为性能瓶颈,使得应用本发明日志数据处理方法的系统具有良好的可扩展性,较好地适应了日志分析中输入数据量大、输出数据量小的特点。进一步地,本发明的日志数据处理系统,在负载不均时,会调整发送端的发送策略,实现了动态负载均衡。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (6)
1.一种日志数据处理方法,其特征在于,包括:
步骤一,设置每个发送端都与所有的服务器相连;
步骤二,发送端为自身产生的每条日志分配一个日志标识;
步骤三,发送端查询发送记录表中是否存在待发送日志的日志标识,若存在则从发送记录表中获取与该待发送日志的日志标识对应的服务器标识,该服务器标识对应的服务器即为选择的服务器;若发送记录表中不存在待发送日志的日志标识,则使用服务器选取函数为待发送日志选择服务器,所述服务器选取函数的输入为日志标识,输出为服务器;
步骤四,发送端将待发送日志数据直接发送给选择的服务器;
步骤五,将已发送日志的日志标识与接收该已发送日志的服务器的对应关系记录到发送记录表中;
步骤六,各个服务器定时向监控中心报告自身的负载信息;
步骤七,监控中心判断各个服务器负载是否均衡;
步骤八,若判断结果为不均衡时,监控中心更新服务器选取函数,并将更新后的服务器选取函数发送给所有发送端;
步骤九,发送端根据更新后的服务器选取函数选择接收待发送日志的服务器。
2.根据权利要求1所述的日志数据处理方法,其特征在于,所述步骤七包括:
计算各个服务器的加权负载值,加权负载值等于所有的加权因素与其加权因子的乘积之和,所述加权因素和加权因子预先设定;
获取最大的加权负载值和最小的加权负载值;
计算最大加权负载值与最小加权负载值的差值;
若所述差值小于0.25,则判定服务器负载均衡,否则判定服务器负载不均衡。
3.根据权利要求1所述的日志数据处理方法,其特征在于,步骤八中,更新服务器选取函数包括:
计算1与服务器的加权负载值的差,记为该服务器的空闲值;
计算所有服务器的空闲值的和,记为整体空闲值;
计算服务器的空闲值与整体空闲值的商,记为该服务器的相对比例,该相对比例即为服务器被选取为接收服务器的比例;
以日志标识为输入,将日志标识的分布空间划分为N份,每份的比例与服务器的相对比例对应,其中,N为服务器的个数。
4.一种日志数据处理系统,其特征在于,包括:
设置模块,用于设置每个发送端都与所有的服务器相连;
分配模块,设置于发送端中,用于为发送端产生的每条日志分配一个日志标识;
选择模块,设置于发送端中,用于查询发送记录表中是否存在待发送日志的日志标识,若存在则从发送记录表中获取与该待发送日志的日志标识对应的服务器标识,该服务器标识对应的服务器即为选择的服务器;所述选择模块还用于在发送记录表中不存在待发送日志的日志标识时,使用服务器选取函数为待发送日志选择服务器,所述服务器选取函数的输入为日志标识,输出为服务器;
发送模块,设置于发送端中,用于将待发送日志数据直接发送给选择模块选择的服务器;
记录模块,用于将已发送日志的日志标识与接收该已发送日志的服务器的对应关系记录到发送记录表中;
报告模块,设置于服务器中,用于定时向监控中心报告自身所在服务器的负载信息;
判断模块,设置于监控中心中,用于判断各个服务器负载是否均衡;
更新模块,设置于监控中心中,用于在判断模块的判断结果为不均衡时,更新服务器选取函数,并将更新后的服务器选取函数发送给所有发送端;
调整模块,设置于发送端中,用于调整所述选择模块根据更新模块更新后的服务器选取函数选择的接收待发送日志的服务器。
5.根据权利要求4所述的日志数据处理系统,其特征在于,所述判断模块包括:
第一计算单元,用于计算各个服务器的加权负载值,加权负载值等于所有的加权因素与其加权因子的乘积之和,所述加权因素和加权因子预先设定;
获取单元,用于从第一计算单元的计算结果中获取最大的加权负载值和最小的加权负载值;
第二计算单元,用于计算最大加权负载值与最小加权负载值的差值;
判定单元,用于在所述第二计算单元计算的差值小于0.25时,判定服务器负载均衡,在所述第二计算单元计算的差值大于或等于0.25时,判定服务器负载不均衡。
6.根据权利要求4所述的日志数据处理系统,其特征在于,所述更新模块包括:
空闲值计算单元,用于计算1与服务器的加权负载值的差,记为该服务器的空闲值;
整体空闲值计算单元,用于计算所有服务器的空闲值的和,记为整体空闲值;
相对比例计算单元,用于计算服务器的空闲值与整体空闲值的商,记为该服务器的相对比例,该相对比例即为服务器被选取为接收服务器的比例;
划分单元,用于以日志标识为输入,将日志标识的分布空间划分为N份,每份的比例与服务器的相对比例对应,N为服务器的个数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310341764.2A CN103401937B (zh) | 2013-08-07 | 2013-08-07 | 日志数据处理方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310341764.2A CN103401937B (zh) | 2013-08-07 | 2013-08-07 | 日志数据处理方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103401937A CN103401937A (zh) | 2013-11-20 |
CN103401937B true CN103401937B (zh) | 2016-06-08 |
Family
ID=49565460
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310341764.2A Active CN103401937B (zh) | 2013-08-07 | 2013-08-07 | 日志数据处理方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103401937B (zh) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104731796B (zh) * | 2013-12-19 | 2017-12-19 | 秒针信息技术有限公司 | 数据存储计算方法和系统 |
CN104023083B (zh) * | 2014-06-23 | 2017-12-12 | 广东睿江云计算股份有限公司 | 日志收集集群负载均衡的方法及装置 |
CN104378234B (zh) * | 2014-11-19 | 2018-09-07 | 北京数介科技有限公司 | 跨数据中心的数据传输处理方法及系统 |
CN106302577B (zh) * | 2015-05-19 | 2019-07-09 | 广州四三九九信息科技有限公司 | 日志处理方法 |
CN106776622B (zh) * | 2015-11-20 | 2020-03-03 | 北京国双科技有限公司 | 访问日志的查询方法和装置 |
CN106470123B (zh) * | 2016-09-29 | 2019-07-05 | 北京三快在线科技有限公司 | 日志收集方法、客户端、服务器和电子设备 |
CN107959695B (zh) * | 2016-10-14 | 2021-01-29 | 北京国双科技有限公司 | 一种数据传输方法及装置 |
CN106713041A (zh) * | 2016-12-29 | 2017-05-24 | 杭州迪普科技股份有限公司 | 会话日志的发送方法及装置 |
CN107544888B (zh) * | 2017-07-11 | 2020-09-08 | 新华三技术有限公司 | 一种日志处理方法及系统 |
CN108234245A (zh) * | 2018-01-09 | 2018-06-29 | 上海帝联网络科技有限公司 | 日志内容及日志数据的筛选方法、装置、系统、可读介质 |
CN108804038A (zh) * | 2018-05-29 | 2018-11-13 | 新华三技术有限公司 | 日志数据迁移的方法、装置、服务器和计算机可读介质 |
CN109218407B (zh) * | 2018-08-14 | 2022-10-25 | 平安普惠企业管理有限公司 | 基于日志监控技术的代码管控方法及终端设备 |
CN111241449A (zh) * | 2020-01-14 | 2020-06-05 | 上海风秩科技有限公司 | 一种日志数据发送方法及装置 |
CN111782610B (zh) * | 2020-06-03 | 2024-03-22 | 中移(杭州)信息技术有限公司 | 日志处理方法、装置、服务器、系统网络和存储介质 |
CN112035259A (zh) * | 2020-09-01 | 2020-12-04 | 中国银行股份有限公司 | 一种数据处理系统、方法及服务器群 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103227838A (zh) * | 2013-05-10 | 2013-07-31 | 中国工商银行股份有限公司 | 一种多重负载均衡处理装置与方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4098610B2 (ja) * | 2002-12-10 | 2008-06-11 | 株式会社日立製作所 | アクセス中継装置 |
-
2013
- 2013-08-07 CN CN201310341764.2A patent/CN103401937B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103227838A (zh) * | 2013-05-10 | 2013-07-31 | 中国工商银行股份有限公司 | 一种多重负载均衡处理装置与方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103401937A (zh) | 2013-11-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103401937B (zh) | 日志数据处理方法及系统 | |
CN112860695B (zh) | 监控数据查询方法、装置、设备、存储介质及程序产品 | |
CN111753016B (zh) | 数据处理方法、装置、系统及计算机可读存储介质 | |
CN105653398B (zh) | 一种智能分配操作系统镜像方法 | |
CN102694868A (zh) | 一种集群系统实现及任务动态分配方法 | |
EP2564318A1 (en) | Data center operation | |
CN110119292A (zh) | 系统运行参数查询方法、匹配方法、装置及节点设备 | |
CN103428008A (zh) | 面向多用户群的大数据分发策略 | |
CN102929613A (zh) | 操作系统的调优装置和方法 | |
CN110933178A (zh) | 调整集群系统内的节点配置的方法及服务器 | |
CN113886434A (zh) | 基于数据库集群的查询和存储方法、装置以及设备 | |
CN113286315A (zh) | 负载均衡判断方法、装置、设备及存储介质 | |
CN101753359A (zh) | 动态组件分布的方法和系统 | |
CN113760640A (zh) | 监控日志处理方法、装置、设备及存储介质 | |
CN114461407B (zh) | 数据处理方法、装置、分发服务器、系统及存储介质 | |
CN103607731B (zh) | 一种测量报告的处理方法及装置 | |
CN116668380A (zh) | 汇聚分流器设备的报文处理方法及装置 | |
CN111338750A (zh) | 执行节点的压力调节方法、装置、服务器及存储介质 | |
CN102075964A (zh) | 网管系统获取性能数据的方法和设备 | |
CN106570006A (zh) | 多媒体文件推荐系统和投放信息存储方法 | |
CN104378239A (zh) | 基于集群框架的快速可靠性指标统计系统及方法 | |
US11374869B2 (en) | Managing bandwidth based on user behavior | |
CN112073499A (zh) | 一种多机型云物理服务器的动态服务方法 | |
CN103530297A (zh) | 一种自动进行网站分析的方法及装置 | |
CN113596746B (zh) | 集群消息的处理方法、装置、电子设备和介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |