云计算系统中处理日志的方法和装置与流程

文档序号:11388780阅读:205来源:国知局
云计算系统中处理日志的方法和装置与流程

本发明涉及云计算领域,并且更具体地,涉及云计算系统中处理日志的方法和装置。



背景技术:

日志的收集和转发是云计算系统必不可少的基本功能之一。平台即服务(platformasaservice,paas)云计算系统会部署成千上万的虚拟机(virtualmachine,vm)或容器(container),并供用户在paas云计算系统上发布应用程序(application,app)。所有这些vm、容器及app在运行的过程中都会产生大量的日志,并被收集传输到日志处理后台做统一的存储和分析。在典型的分布式云计算系统中,vm、容器及app的数量非常多,并会产生海量的日志消息,而这些日志消息对于运维以及问题的排查诊断有着重要的意义。如何有效的处理这些海量日志是一个挑战性的任务。

现有技术中,所有的日志收集转发系统都只是简单的解决收集转发工作,在应对大流量日志的场景下,一般都只是维护一个简单的单向队列(firstinfirstout,fifo),按照日志产生的时序将所有日志通过单向队列发送出去。当队列满了以后,采取的策略一般是堵塞日志的收集,只有之前堆积的日志都已经处理结束之后新产生的日志才能得到处理。但是,新产生的日志堆积不上报的方式,会使得日志的实时性得不到保障。



技术实现要素:

本发明的实施例提供了一种云计算系统中处理日志的方法和装置,能够提高日志的实时性。

第一方面,提供了一种云计算系统中处理日志的方法,该方法包括:获取部署在云计算系统中的应用app产生的日志的当前的流量速率信息;根据流量速率信息和预设的流量速率阈值判断app的当前的日志流量速率是否大于或等于流量速率阈值;当日志流量速率大于或等于流量速率阈值时,以 流量速率阈值向云计算系统中的日志收集服务器发送获取到的app的日志,并将暂时未发送的日志缓存在缓存设备中。

根据本发明实施例的云计算系统中处理日志的方法,通过设置日志流量速率阈值,对app产生的日志进行流量控制,使每个app产生的日志流量均以不超过阈值的流量速率发送至日志收集服务器。这样,避免了在一些突发全局性的大流量场景下,部分app产生的大量日志占用了服务器资源,从而造成的拥塞。同时,保证了每个app新产生的日志也能至少部分实时提交到日志收集服务器,而不是被直接丢弃或是堆积在日志产生服务器很久后才能发送到日志收集服务器端,从而能够提高日志的实时性。

另一方面,如果按照传统的仅按照时序管理日志的方法,当由于app异常或恶意app产生海量日志时,容易主动或被动地攻击云平台服务器,对云平台计算以及存储资源的造成瞬时冲击,导致严重后果。本发明实施例的处理日志的方法为每个app设置日志流量速率阈值,能够有效阻止这种海量日志的冲击。

结合第一方面,在第一方面的第一种可能的实现方式中,该方法还可以包括:当日志流量速率小于流量速率阈值时,可以以日志流量速率向日志收集服务器发送获取到的app的日志,并以空闲流量速率向日志收集服务器发送缓存设备缓存的app的日志,其中空闲流量速率小于或等于流量速率阈值与日志流量速率之差。

结合第一方面的上述可能的实现方式,在第一方面的第二种可能的实现方式中,流量速率信息可以为app的日志的总流量速率,总流量速率为单位时间内获取到的app日志的流量,流量速率阈值可以为app的日志的总流量速率的上限值,其中,根据流量速率信息和预设的流量速率阈值判断app的当前的日志流量速率是否大于或等于流量速率阈值,包括:根据总流量速率和总流量速率的上限值,判断日志流量速率是否大于或等于流量速率阈值;当日志流量速率大于或等于流量速率阈值时,以流量速率阈值向云计算系统中的日志收集服务器发送获取到的app的日志,并将暂时未发送的日志缓存在缓存设备中,包括:当总流量速率大于或等于总流量速率的上限值的持续时间大于第一时间段时,以总流量速率的上限值向日志收集服务器发送获取到的app的日志,并将暂时未发送的日志缓存在缓存设备中。

结合第一方面的上述可能的实现方式,在第一方面的第三种可能的实现 方式中,流量速率信息可以为app的用户平均流量速率,用户平均流量速率为app的日志的总流量速率与app的当前用户访问量的比值,流量速率阈值可以为app的用户平均流量速率的上限值,其中,根据流量速率信息和预设的流量速率阈值判断app的当前的日志流量速率是否大于或等于流量速率阈值,包括:根据总流量速率与当前用户访问量的比值和用户平均流量速率的上限值,判断日志流量速率是否大于或等于流量速率阈值;当日志流量速率大于或等于流量速率阈值时,以流量速率阈值向云计算系统中的日志收集服务器发送获取到的app的日志,并将暂时未发送的日志缓存在缓存设备中,包括:当用户平均流量速率大于或等于用户平均流量速率的上限值的持续时间大于第二时间段时,以第一速率向日志收集服务器发送获取到的app的日志,并将暂时未发送的日志缓存在缓存设备中,第一速率为用户平均流量速率的上限值与当前用户访问量的乘积。

结合第一方面的上述可能的实现方式,在第一方面的第四种可能的实现方式中,流量速率信息可以包括app的日志的总流量速率以及app的当前用户访问量,其中总流量速率为单位时间内获取到的app日志的流量,流量速率阈值可以包括app的日志的总流量速率的上限值和app的用户平均流量速率的上限值,其中,根据流量速率信息和预设的流量速率阈值判断app的当前的日志流量速率是否大于或等于流量速率阈值,包括:根据总流量速率和总流量速率的,以及总流量速率与当前用户访问量的比值与用户平均流量速率的上限值,判断日志流量速率是否大于或等于流量速率阈值;当日志流量速率大于或等于流量速率阈值时,以流量速率阈值向云计算系统中的日志收集服务器发送获取到的app的日志,并将暂时未发送的日志缓存在缓存设备中,包括:当总流量速率大于或等于总流量速率的上限值的持续时间大于第一时间段,且总流量速率与当前用户访问量的比值大于或等于用户平均流量速率的上限值的持续时间大于第二时间段时,以第二速率向日志收集服务器发送获取到的app的日志,并将暂时未发送的日志缓存在缓存设备中,第二速率为总流量速率的上限值,和用户平均流量速率的上限值与当前用户访问量的乘积两者中较大值。

结合第一方面的上述可能的实现方式,在第一方面的第五种可能的实现方式中,当app的日志流量速率大于流量速率阈值时,向日志收集服务器发送日志流量超限警告消息。

上述方式克服了日志流量速率大于或等于日志流量速率阈值时缺乏通知和告警机制的问题。通过采用上述方式,运维人员或相关人员可以及时知道当前的日志流量速率超出系统处理能力,从而采取相应措施进行处理,进而可以更好地提升云平台的运维能力。

结合第一方面的上述可能的实现方式,在第一方面的第六种可能的实现方式中,当以流量速率阈值向云计算系统中的日志收集服务器发送获取到的app的日志时,可先以流量速率阈值缓存app的日志至缓存队列,然后从缓存队列发送缓存的app的日志至日志收集服务器。

第二方面,本发明提供了一种云计算系统中处理日志的装置,该装置包括获取单元,用于获取部署在云计算系统中的应用app产生的日志的当前的流量速率信息;判断单元,用于根据获取单元获取的流量速率信息和预设的流量速率阈值判断app的当前的日志流量速率是否大于或等于流量速率阈值;处理单元,用于当日志流量速率大于或等于流量速率阈值时,以流量速率阈值向云计算系统中的日志收集服务器发送获取到的app的日志,并将暂时未发送的日志缓存在缓存设备中。

根据本发明实施例的云计算系统中处理日志的方法,通过设置日志流量速率阈值,对app产生的日志进行流量控制,使每个app产生的日志流量均以不超过阈值的流量速率发送至日志收集服务器。这样,避免了在一些突发全局性的大流量场景下,部分app产生的大量日志占用了服务器资源,从而造成的拥塞。同时,保证了每个app新产生的日志也能至少部分实时提交到日志收集服务器,而不是被直接丢弃或是堆积在日志产生服务器很久后才能发送到日志收集服务器端,从而能够提高日志的实时性。

另一方面,如果按照传统的仅按照时序管理日志的方法,当由于app异常或恶意app产生海量日志时,容易主动或被动地攻击云平台服务器,对云平台计算以及存储资源的造成瞬时冲击,导致严重后果。本发明实施例的处理日志的方法为每个app设置日志流量速率阈值,能够有效阻止这种海量日志的冲击。

第二方面的装置可以包括用于执行第一方面或第一方面的任一可能的实现方式中的方法的单元,用于执行第一方面或第一方面的任一方面的可能实现方式中的方法。

第三方面,本发明提供了一种云计算系统中处理日志的装置,包括发送 器、接收器、处理器,存储器和总线系统。其中,该接收器、该发送器、该存储器和该处理器通过该总线系统相连,该存储器用于存储指令,该处理器用于执行存储器存储的指令,以控制接收器接收信号,并控制发送器发送信号,并且当处理器执行该存储器存储的指令时,该执行使得处理器执行第一方面或第一方面的任意可能的实现方式中的方法。

第四方面,本发明提供了一种计算机可读介质,用于存储计算机程序,该计算机程序包括用于执行第一方面或第一方面的任意可能的实现方式中的方法的指令。

根据本发明实施例的云计算系统中处理日志的方法,通过设置日志流量速率阈值,对app产生的日志进行流量控制,使每个app产生的日志流量均以不超过阈值的流量速率发送至日志收集服务器。这样,避免了在一些突发全局性的大流量场景下,部分app产生的大量日志占用了服务器资源,从而造成的拥塞。同时,保证了每个app新产生的日志也能至少部分实时提交到日志收集服务器,而不是被直接丢弃或是堆积在日志产生服务器很久后才能发送到日志收集服务器端,从而能够提高日志的实时性。

另一方面,如果按照传统的仅按照时序管理日志的方法,当由于app异常或恶意app产生海量日志时,容易主动或被动地攻击云平台服务器,对云平台计算以及存储资源的造成瞬时冲击,导致严重后果。本发明实施例的处理日志的方法为每个app设置日志流量速率阈值,能够有效阻止这种海量日志的冲击。

附图说明

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

图1是本发明一个实施例的云计算系统的架构示意图。

图2是本发明实施例的云计算系统中处理日志的方法的示意性流程图。

图3是本发明实施例的云计算系统中处理日志的装置的示意性框图。

图4是本发明另一实施例的云计算系统中处理日志的装置的示意性框图。

具体实施方式

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

图1示出了本发明一个实施例的云计算系统的架构示意图。结合图1,简要说明日志的产生和处理过程。首先,用户通过手机或其他互联网终端(如笔记本、智能手环等)访问paas云计算系统上部署的app。在此过程中,app会产生日志(如访问日志和应用日志)。这些日志会记录到paas云计算系统中的日志产生服务器的文件上,并被日志产生服务器中的日志收集转发模块处理,发往日志收集服务器的日志监控模块。最后,由日志监控模块统一处理这些日志,进行后续的实时分析以及策略控制。本发明的云计算系统中处理日志方法可以由日志收集转发模块执行,该日志收集模块具有日志收集和转发功能。

图2是本发明一个实施例的云计算系统中处理日志的方法的流程图。该方法可以应用于图1所示的paas云计算系统,还可以应用于基础设施即服务(infrastructureasaservice,iaas)云计算系统,本发明实施例对该方法的应用场景不做限定。

s110,获取部署在云计算系统中的app产生的日志当前的流量速率信息。

app部署在云计算系统中,用户访问app时会产生日志。云计算系统中的日志收集转发模块可以获取日志的流量速率信息。作为示例而非限定,流量速率信息可以是app的日志的瞬时流量速率,也可以是一段时间内所有访问该app的用户访问该app时产生的日志的平均流量。流量速率可以采用“条/秒”描述,也可以采用“mbps”描述。

s120,根据流量速率信息和预设的流量速率阈值判断app的当前的日志流量速率是否大于或等于流量速率阈值。

作为示例而非限定,流量速率阈值可以是app的日志的瞬时流量速率阈值,也可以是一段时间内所有访问该app的用户访问该app时产生的日志的平均流量的阈值。

具体地,例如,当app的日志的瞬时流量速率大于或等于app的日志的瞬时流量速率阈值,可以认为app的当前的日志流量速率大于或等于流量速率阈值。或者,一段时间内所有访问该app的用户访问该app时产生的日志的平均流量大于或等于相同时间内所有访问该app的用户访问该app时产生的日志的平均流量阈值,可以认为app的当前的日志流量速率大于或等于流量速率阈值。

s130,当日志流量速率大于或等于流量速率阈值时,以流量速率阈值向云计算系统中的日志收集服务器发送获取到的app的日志,并将暂时未发送的日志缓存在缓存设备中。

根据本发明实施例的云计算系统中处理日志的方法,通过设置日志流量速率阈值,对app产生的日志进行流量控制,使每个app产生的日志流量均以不超过阈值的流量速率发送至日志收集服务器。这样,避免了在一些突发全局性的大流量场景下,部分app产生的大量日志占用了服务器资源,从而造成的拥塞。同时,保证了每个app新产生的日志也能至少部分实时提交到日志收集服务器,而不是被直接丢弃或是堆积在日志产生服务器很久后才能发送到日志收集服务器端,从而能够提高日志的实时性。

另一方面,如果按照传统的仅按照时序管理日志的方法,当由于app异常或恶意app产生海量日志时,容易主动或被动地攻击云平台服务器,对云平台计算以及存储资源的造成瞬时冲击,导致严重后果。本发明实施例的处理日志的方法为每个app设置日志流量速率阈值,能够有效阻止这种海量日志的冲击。

可选地,作为一个实施例,当app的日志流量速率大于或等于流量速率阈值时,可以向日志收集服务器发送日志流量超限警告消息。

通过上述方式,运维人员或相关人员可以知道当前的日志流量速率超出系统处理能力,从而采取相应措施进行处理,进而可以更好地提升云平台的运维能力。

可选地,作为一个实施例,当日志流量速率小于流量速率阈值时,以日志流量速率向日志收集服务器发送获取到的app的日志,并以空闲流量速率向日志收集服务器发送缓存设备缓存的app的日志,其中空闲流量速率小于或等于流量速率阈值与日志流量速率之差。

具体来说,如果当前的日志流量速率小于流量速率阈值时,日志收集转 发模块可以正常处理日志,即以当前的日志流量速率向日志收集服务器发送获取到的app的日志。并且,此时存在空闲流量,那么日志收集转发模块可以以小于或者大于流量速率阈值与当前的日志流量速率之差的速率向日志收集服务器发送之前在日志产生服务器的缓存设备缓存的日志。这些日志可以后续被进一步处理,做数据挖掘等,从而可以了解系统整体的运行情况和做问题排查,从而可以加强云平台的运维能力。

可选地,作为一个实施例,流量速率信息可以是app的日志的总流量速率fori(以下简称总流量速率fori),流量速率阈值可以是app的日志的总流量速率的上限值fmax(以下简称上限值fmax)。那么,在s120中,可以根据总流量速率fori和上限值fmax判断app的日志流量速率是否大于或等于流量速率阈值。此时,在s130中,当总流量速率fori大于上限值fmax的持续时间大于第一时间段时,以上限值fmax向日志收集服务器发送获取到的app的日志,并将暂时未发送的日志缓存在缓存设备中。

具体地,通过判断总流量速率fori是否超过预设的上限值fmax,可以确定总流量速率fori是否超限,进而可以确定是否向日志收集服务器发送获取到的app的所有日志。当总流量速率fori超限时,即当总流量速率fori大于或等于预设的上限值fmax的持续时间大于第一时间段时,可以以上限值fmax向日志收集服务器发送获取到的app的日志,并将暂时未发送的日志缓存在缓存设备中。也就是说,只要总流量速率fori超限,仅以上限值fmax发送获取到的app的日志,缓存未能及时发送的app的日志。

本发明实施例对第一时间段的长度不作限制。例如,第一时间段可以是30秒,也可以是10秒。可选地,第一时间段的长度还可以是0秒,即只要总流量速率fori在瞬间大于或等于上限值fmax,则可以认为app的日志流量速率大于或等于流量速率阈值。

在本发明实施例中,当总流量速率fori小于上限值fmax的持续时间大于某一时间段,例如,当总流量速率降为0.9fmax,并持续30秒,则认为日志流量速率恢复正常。应理解,正常情况下用户访问app所产生的日志流量速率属于正常的日志流量速率,这里所说的日志流量速率恢复正常是指相对于突发大流量的情况而言。在正常的日志流量速率情况下,系统的处理能力可以达到日志流量速率的要求,新产生的流量日志可以被及时发送至日志收集服务器端。

应理解,上述中的“fori”、“fmax”是一种代称,仅是为了描述方便,,并非限定。下述类似的描述也仅是一种代称,并非限定。

可选地,作为一个实施例,流量速率信息可以是总流量速率fori与app的当前用户访问量num的比值(即用户平均流量速率fave),流量速率阈值可以是app的日志的用户平均流量速率的上限值flpu。那么,在s120中,可以根据用户平均流量速率fave和app的日志的用户平均流量速率的上限值flpu(以下简称上限值flpu),判断app的日志流量速率是否大于或等于流量速率阈值。此时,在s130中,当用户平均流量速率fave大于或等于上限值flpu的持续时间大于第二时间段时,以第一速率,即值为上限值flpu和当前用户访问量num的乘积的速率,向日志收集服务器发送获取到的app的日志,并将暂时未发送的日志缓存在缓存设备中。

具体地,通过判断用户平均流量速率fave是否超过预设的上限值flpu,可以确定用户平均流量速率fave是否超限,进而可以确定是否向日志收集服务器发送获取到的app的所有日志。当用户平均流量速率fave超限时,即当用户平均流量速率fave大于或等于上限值flpu的持续时间大于第二时间段时,可以以第一速率向日志收集服务器发送获取到的app的日志,并将暂时未发送的日志缓存在缓存设备中。

本发明实施例对第二时间段的长度不作限制。例如,第二时间段可以是30秒,也可以是20秒。可选地,第一时间段的长度还可以是0秒,即只要总流量速率fori和app的当前用户访问量fave的比值在瞬间大于上限值flpu,则可以认为app的日志流量速率大于或等于流量速率阈值。另外,第二时间段可以和第一时间段相同,也可以不同。

在本发明实施例中,当总流量速率fori和app用户访问量num的比值小于上限值fmax的持续时间大于某一时间段,例如,当总流量速率fori和app用户访问量的比值num降为0.9flpu,并持续30秒,则认为日志流量速率恢复正常。

应理解,上述实施例中,日志转发服务器中设置的一段时间内可以访问该app的最大用户数量,以及以最大用户数量访问该app时可以产生的日志。那么,上限值flpu可以表示这段时间内以最大用户数量访问该app时可以产生的日志的平均值。

可选地,作为一个实施例,流量速率信息可以包括,总流量速率fori, 以及总流量速率fori与app的当前用户访问量num的比值(即用户平均流量速率fave)。流量速率阈值可以包括上限值fmax,以及上限值flpu。那么,在s120中,可以结合上述总流量速率fori和上限值fmax,以及用户平均流量速率fave与上限值flpu综合判断app的日志流量速率是否大于或等于流量速率阈值。此时,在s130中,当总流量速率fori大于或等于上限值fmax的持续时间大于第三时间段,且当用户平均流量速率fave大于或等于上限值flpu的持续时间大于第四时间段时,以第二速率向日志收集服务器发送获取到的app的日志,并将暂时未发送的日志缓存在缓存设备中。第二速率为总流量速率的上限值,和用户平均流量速率的上限值与当前用户访问量的乘积两者中较大值。

例如,当总流量速率fori大于上限值fmax,且持续了20秒,并且,此时用户平均流量速率fave大于上限值flpu,且持续了20秒,则可以确定app的日志流量速率大于或等于流量速率阈值。此时,如果上限值flpu与app用户访问量的比值num的乘积大于上限值fmax,则将上限值flpu与app用户访问量的比值num的乘积的值称为第二速率。并可以以第二速率向日志收集服务器发送获取到的app的日志,并将暂时未发送的日志缓存在缓存设备中。当然,也可以以大小为上限值fmax的速率向日志收集服务器发送获取到的app的日志,本发明实施例对此不作限定。

应理解,上述第三时间段和第四时间段可以与第一时间段和第二时间段相同,可以不同,本发明实施例对此不作限定。

还应理解,在本发明实施例中,上限值flpu和上限值flpu以及类似的其他阈值可以不是固定的一个数值。在实际实施时,可以设置多个等级的阈值,以实现更灵活的控制策略。

本发明实施例中,可以在部署app时选择服务质量(qualityofservice,qos)模板,该qos模板中可以定义流量速率阈值。那么,当app的日志流量速率大于或等于部署该app时所选用的第一qos模板的流量速率阈值时,可以将第一qos模板调整为第二qos模板。该第二qos模板的流量速率额度大于第一qos模板的流量速率额度。并且,当app的日志流量速率下降,并小于该第二qos模板的流量速率额度时,可以将第二qos模板调整为第一qos模板。

具体来说,qos模板可以有多个,每个模板的流量速率阈值都不同,当 app的日志流量速率超过当前qos模板的流量速率阈值时,系统可以自动调整qos模板,即系统自动调整流量速率阈值。这样可以根据户业务提供灵活配置qos模板的配置策略。

举例来说,对于paas云计算系统,paas用户通过云计算来选择配置qos模板,系统可以提供用户初级的套餐供用户免费使用,如果用户的日志流量速率超过免费的额度,则通过弹性伸缩自动扩增额度;如果日志流量速率下降,则自动回到免费或是较小的qos模板额度。弹性伸缩模块结合计费模块,可以对用户实现更灵活的使用和计费,对paas云计算系统也可以实现业务增值。

可选地,作为另一个实施例,在s130中,以流量速率阈值向云计算系统中的日志收集服务器发送获取到的app的日志时,可以先以流量速率阈值缓存app的日志至缓存队列,然后从缓存队列发送缓存的app的日志至日志收集服务器。

具体来说,云计算系统可以采用双缓存队列,分别为正常日志发送队列即未超出流量速率阈值日志发送队列和超出流量速率阈值日志缓存队列。对于正常日志,可以采取批量的方式,一次将多条日志消息存入正常日志发送队列。正常日志发送队列向日志收集服务器发送该日志时,也可以从正常日志发送队列中一次发送多条日志,从而减少日志处理的等待,提高日志处理的效率和吞吐率。

上文中结合图1和图2,详细描述了根据本发明实施例的云计算系统中处理日志的方法,下面将结合图3,详细描述根据本发明实施例的云计算系统中处理日志的装置。

图3示出了本发明实施例提供的云计算系统中处理日志的装置200,该装置200包括获取单元210、判断单元220和处理单元230。

获取单元210,可用于获取部署在云计算系统中的应用app产生的当前的日志的流量速率信息。

判断单元220,可用于根据获取单元获取210获取的流量速率信息和预设的流量速率阈值判断app的当前的日志流量速率是否大于或等于流量速率阈值。

处理单元230,可用于当日志流量速率大于或等于流量速率阈值时,以流量速率阈值向云计算系统中的日志收集服务器发送获取到的app的日志, 并将暂时未发送的日志缓存在缓存设备中。

根据本发明实施例的云计算系统中处理日志的装置,通过设置日志流量速率阈值,对app产生的日志进行流量控制,使每个app产生的日志流量均以不超过阈值的流量速率发送至日志收集服务器。这样,避免了在一些突发全局性的大流量场景下,部分app产生的大量日志占用了服务器资源,从而造成的拥塞。同时,保证了每个app新产生的日志也能至少部分实时提交到日志收集服务器,而不是被直接丢弃或是堆积在日志产生服务器很久后才能发送到日志收集服务器端,从而能够提高日志的实时性。

另一方面,如果按照传统的仅按照时序管理日志的方法,当由于app异常或恶意app产生海量日志时,容易主动或被动地攻击云平台服务器,对云平台计算以及存储资源的造成瞬时冲击,导致严重后果。本发明实施例的处理日志的方法为每个app设置日志流量速率阈值,能够有效阻止这种海量日志的冲击。

可选地,作为一个实施例,处理单元230还可用于:当app的日志流量速率超出流量速率阈值时,向日志收集服务器发送日志流量超限警告消息。这样,运维人员或相关人员可以知道当前的日志流量速率超出系统处理能力,从而采取相应措施进行处理,进而可以更好地提升云平台的运维能力。

可选地,作为一个实施例,处理单元230还可用于:当所述日志流量速率小于所述流量速率阈值时,以所述日志流量速率向所述日志收集服务器发送获取到的所述app的日志,并以空闲流量速率向所述日志收集服务器发送所述缓存设备缓存的所述app的日志,其中所述空闲流量速率小于或等于所述流量速率阈值与所述日志流量速率之差。

可选地,作为一个实施例,获取单元210获取的流量速率信息可以为app的日志的总流量速率fori,流量速率阈值可以为app的日志的总流量速率的上限值fmax。此时,判断单元220可以根据app的日志的总流量速率fori和app的日志的总流量速率的上限值fmax判断app的日志流量速率是否大于或等于流量速率阈值。处理单元230可以在当总流量速率fori大于上限值fmax的持续时间大于第一时间段时,以总流量速率的上限值fmax向日志收集服务器发送获取到的app的日志,并将暂时未发送的日志缓存在缓存设备中。

可选地,作为一个实施例,获取单元210获取的流量速率信息可以为 app的日志的总流量速率fori与app的当前用户访问量num的比值(即用户平均流量速率fave),流量速率阈值可以为app的日志的用户平均流量速率的上限值flpu。此时,判断单元220可以根据用户平均流量速率fave和app的日志的用户平均流量速率的上限值flpu,判断app的日志流量速率是否大于或等于流量速率阈值。。处理单元230可以在当用户平均流量速率fave大于或等于用户平均流量速率的上限值flpu的持续时间大于第二时间段时,以第一速率,即用户平均流量速率的上限值flpu和当前用户访问量num的乘积,向日志收集服务器发送获取到的app的日志,并将暂时未发送的日志缓存在缓存设备中。

可选地,作为一个实施例,获取单元210获取的流量速率信息可以为app的日志的总流量速率fori以及用户平均流量速率fave,流量速率阈值可以为app的日志的总流量阈值的上限值fmax和app的日志的用户平均流量速率的上限值flpu。此时判断单元220可以结合上述总流量速率fori和上限值fmax,以及用户平均流量速率fave与上限值flpu综合判断app的日志流量速率是否大于或等于流量速率阈值。处理单元230可以在当总流量速率fori大于或等于上限值fmax的持续时间大于第三时间段,且当用户平均流量速率fave大于或等于上限值flpu的持续时间大于第四时间段时,以第二速率向日志收集服务器发送获取到的app的日志,并将暂时未发送的日志缓存在缓存设备中。第二速率为总流量速率的上限值,和用户平均流量速率的上限值与当前用户访问量的乘积两者中较大值。

本发明实施例中,可以在部署app时选择qos模板,该qos模板中可以定义流量速率阈值。此时,装置200还可以包括调整单元240,可以在当app的日志流量速率超出部署该app时所选用的第一qos模板的流量速率阈值时,将第一qos模板调整为第二qos模板。该第二qos模板的流量速率额度大于第一qos模板的流量速率额度。并且,在当app的日志流量速率下降,并小于该第二qos模板的流量速率额度时,将第二qos模板调整为第一qos模板。

可选地,作为一个实施例,处理单元230具体可以先以流量速率阈值缓存app的日志至缓存队列,然后从缓存队列发送缓存的app的日志至日志收集服务器。

应理解,这里的装置200以功能单元的形式体现。这里的术语“单元” 可以指应用特有集成电路(applicationspecificintegratedcircuit,asic)、电子电路、用于执行一个或多个软件或固件程序的处理器(例如共享处理器、专有处理器或组处理器等)和存储器、合并逻辑电路和/或其它支持所描述的功能的合适组件。本领域技术人员可以理解,装置200可以用于执行上述方法实施例中的各个流程和/或步骤,为避免重复,在此不再赘述。

图4示出了本发明实施例提供的云计算系统中处理日志的装置300,该装置300包括发送器310、接收器320、处理器330、存储器340和总线系统350。其中,发送器310、接收器320、处理器330和存储器340通过总线系统350相连,该存储器340用于存储指令,该处理器330用于执行该存储器340存储的指令,以控制该发送器310发送信号,并控制该接收器320接收信号。

处理器330可用于获取部署在云计算系统中的应用app产生的当前的日志的流量速率信息。

处理器330还可用于根据获取的上述流量速率信息和预设的流量速率阈值判断app的当前的日志流量速率是否大于或等于流量速率阈值。并当日志流量速率大于或等于流量速率阈值时,控制发送器310以流量速率阈值向云计算系统中的日志收集服务器发送获取到的app的日志,并将暂时未发送的日志缓存在缓存设备中。

根据本发明实施例的云计算系统中处理日志的方法,通过设置日志流量速率阈值,对app产生的日志进行流量控制,使每个app产生的日志流量均以不超过阈值的流量速率发送至日志收集服务器。这样,避免了在一些突发全局性的大流量场景下,部分app产生的大量日志占用了服务器资源,从而造成的拥塞。同时,保证了每个app新产生的日志也能至少部分实时提交到日志收集服务器,而不是被直接丢弃或是堆积在日志产生服务器很久后才能发送到日志收集服务器端,从而能够提高日志的实时性。

另一方面,如果按照传统的仅按照时序管理日志的方法,当由于app异常或恶意app产生海量日志时,容易主动或被动地攻击云平台服务器,对云平台计算以及存储资源的造成瞬时冲击,导致严重后果。本发明实施例的处理日志的方法为每个app设置日志流量速率阈值,能够有效阻止这种海量日志的冲击。

应理解,装置300可以具体为上述实施例中的装置200,并且可以用于 执行上述方法实施例中的各个步骤和/或流程。可选地,该存储器340可以包括只读存储器和随机存取存储器,并向处理器提供指令和数据。存储器的一部分还可以包括非易失性随机存取存储器。例如,存储器还可以存储设备类型的信息。该处理器330可以用于执行存储器中存储的指令,并且当该处理器执行存储器中存储的指令时,该处理器用于执行上述方法实施例的各个步骤和/或流程,为了简洁,在此不再赘述。

应理解,在本发明实施例中,该处理器可以是中央处理单元(centralprocessingunit,cpu),该处理器还可以是其他通用处理器、数字信号处理器(dsp)、专用集成电路(asic)、现成可编程门阵列(fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。结合本发明实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器执行存储器中的指令,结合其硬件完成上述方法的步骤。为避免重复,这里不再详细描述。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

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

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

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本发明可以用硬件实现,或固件实现,或它们的组合方式来实现。当使用软件实现时,可以将上述功能存储在计算机可读介质中或作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是计算机能够存取的任何可用介质。以此为例但不限于:计算机可读介质可以包括ram、rom、eeprom、cd-rom或其他光盘存储、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质。此外。任何连接可以适当的成为计算机可读介质。例如,如果软件是使用同轴电缆、光纤光缆、双绞线、数字用户线(dsl)或者诸如红外线、无线电和微波之类的无线技术从网站、服务器或者其他远程源传输的,那么同轴电缆、光纤光缆、双绞线、dsl或者诸如红外线、无线和微波之类的无线技术包括在所属介质的定影中。如本发明所使用的,盘(disk)和碟(disc)包括压缩光碟(cd)、激光碟、光碟、数字通用光碟(dvd)、软盘和蓝光光碟,其中盘通常磁性的复制数据,而碟则用激光来光学的复制数据。上面的组合也应当包括在计算机可读介质的保护范围之内。

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

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