日志处理方法及装置与流程

文档序号:13282031阅读:198来源:国知局
日志处理方法及装置与流程
本申请涉及数据处理领域,尤其涉及一种日志处理方法及装置。
背景技术
:随着大数据的逐步发展,海量日志的压缩存储处理逐渐成为大数据行业内比较重要的环节。现有技术中通常在服务器内预定一种默认的数据压缩方式和一种默认的数据存储方式,当接收到前端传输的日志时,服务器按照该默认的数据压缩方式对接收到的日志进行压缩处理,并按照该默认的数据存储方式存储压缩后的日志。由于现有技术中只能够依靠默认的数据压缩方式和默认的数据存储方式对接收到的日志进行压缩和存储处理,因此压缩存储方式较为单一,灵活性较差。技术实现要素:本申请实施例的目的是提供一种日志处理方法及装置,能够为待处理日志灵活选择压缩算法和存储算法,从而提高日志压缩存储的灵活性,解决现有技术中日志压缩存储方式单一、灵活性差的问题。为解决上述技术问题,本申请实施例是这样实现的:本申请实施例提供了一种日志处理方法,包括:获取需要进行处理的待处理日志;确定所述待处理日志对应的压缩处理信息和存储处理信息;从预设的多个压缩算法中,选取与所述压缩处理信息相匹配的目标压缩算法,以及,从预设的多个存储算法中,选取与所述存储处理信息相匹配的目标存储算法;通过所述目标压缩算法压缩所述待处理日志,以及通过所述目标存储算法存储压缩后的所述待处理日志。可选地,从预设的多个压缩算法中,选取与所述压缩处理信息相匹配的目标压缩算法,包括:判断当前设置的压缩算法是否与所述压缩处理信息相匹配;若是,则选取所述当前设置的压缩算法作为目标压缩算法;若否,则从预设的其他压缩算法中选取与所述压缩处理信息相匹配的目标压缩算法。可选地,从预设的其他压缩算法中选取与所述压缩处理信息相匹配的目标压缩算法,包括:从预设的其他压缩算法中确定与所述压缩处理信息相匹配的多个候选压缩算法;在各个所述候选压缩算法中,选取运行时消耗资源最少的算法作为所述目标压缩算法。可选地,从预设的多个存储算法中,选取与所述存储处理信息相匹配的目标存储算法,包括:判断当前设置的存储算法是否与所述存储处理信息相匹配;若是,则选取所述当前设置的存储算法作为目标存储算法;若否,则从预设的其他存储算法中选取与所述存储处理信息相匹配的目标存储算法。可选地,从预设的其他存储算法中选取与所述存储处理信息相匹配的目标存储算法,包括:从预设的其他存储算法中确定与所述存储处理信息相匹配的多个候选存储算法;在各个所述候选存储算法中,选取运行时消耗资源最少的算法作为所述目标存储算法。可选地,确定所述待处理日志对应的压缩处理信息和存储处理信息,包括:确定所述待处理日志的压缩算法性能要求和/或业务类型;将所述压缩算法性能要求和/或所述业务类型作为所述待处理日志对应的压缩处理信息,将所述业务类型作为所述待处理日志对应的存储处理信息。可选地,确定所述待处理日志的压缩算法性能要求,包括:确定对所述待处理日志进行压缩的压缩设备;根据所述压缩设备的当前负载,确定所述待处理日志的压缩算法性能要求。可选地,确定所述待处理日志的业务类型,包括:根据所述待处理日志携带的业务类型标识,确定所述待处理日志的业务类型;或者,确定所述待处理日志的格式特征,根据所述格式特征以及预设的格式特征与业务类型之间的对应关系,确定所述待处理日志的业务类型。可选地,通过所述目标压缩算法压缩所述待处理日志,以及通过所述目标存储算法存储压缩后的所述待处理日志,包括:采用并行处理方式通过所述目标压缩算法压缩所述待处理日志,以及采用并行处理方式通过所述目标存储算法存储压缩后的所述待处理日志。可选地,所述预设的多个压缩算法和所述预设的多个存储算法,均通过微核容器实现插件化。本申请实施例还提供了一种日志处理装置,包括:日志获取模块,用于获取需要进行处理的待处理日志;信息确定模块,用于确定所述待处理日志对应的压缩处理信息和存储处理信息;算法确定模块,用于从预设的多个压缩算法中,选取与所述压缩处理信息相匹配的目标压缩算法,以及,从预设的多个存储算法中,选取与所述存储处理信息相匹配的目标存储算法;日志处理模块,用于通过所述目标压缩算法压缩所述待处理日志,以及通过所述目标存储算法存储压缩后的所述待处理日志。可选地,所述算法确定模块具体用于:判断当前设置的压缩算法是否与所述压缩处理信息相匹配;若是,则选取所述当前设置的压缩算法作为目标压缩算法;若否,则从预设的其他压缩算法中选取与所述压缩处理信息相匹配的目标压缩算法。可选地,所述算法确定模块还具体用于:从预设的其他压缩算法中确定与所述压缩处理信息相匹配的多个候选压缩算法;在各个所述候选压缩算法中,选取运行时消耗资源最少的算法作为所述目标压缩算法。可选地,所述算法确定模块具体用于:判断当前设置的存储算法是否与所述存储处理信息相匹配;若是,则选取所述当前设置的存储算法作为目标存储算法;若否,则从预设的其他存储算法中选取与所述存储处理信息相匹配的目标存储算法。可选地,所述算法确定模块还具体用于:从预设的其他存储算法中确定与所述存储处理信息相匹配的多个候选存储算法;在各个所述候选存储算法中,选取运行时消耗资源最少的算法作为所述目标存储算法。可选地,所述信息确定模块具体用于:确定所述待处理日志的压缩算法性能要求和/或业务类型;将所述压缩算法性能要求和/或所述业务类型作为所述待处理日志对应的压缩处理信息,将所述业务类型作为所述待处理日志对应的存储处理信息。可选地,所述信息确定模块具体用于:确定对所述待处理日志进行压缩的压缩设备;根据所述压缩设备的当前负载,确定所述待处理日志的压缩算法性能要求。可选地,所述信息确定模块具体用于:根据所述待处理日志携带的业务类型标识,确定所述待处理日志的业务类型;或者,确定所述待处理日志的格式特征,根据所述格式特征以及预设的格式特征与业务类型之间的对应关系,确定所述待处理日志的业务类型。可选地,所述日志处理模块具体用于:采用并行处理方式通过所述目标压缩算法压缩所述待处理日志,以及采用并行处理方式通过所述目标存储算法存储压缩后的所述待处理日志。可选地,所述预设的多个压缩算法和所述预设的多个存储算法,均通过微核容器实现插件化。本申请实施例还提供了一种日志处理设备,包括:处理器;以及被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器:获取需要进行处理的待处理日志;确定所述待处理日志对应的压缩处理信息和存储处理信息;从预设的多个压缩算法中,选取与所述压缩处理信息相匹配的目标压缩算法,以及,从预设的多个存储算法中,选取与所述存储处理信息相匹配的目标存储算法;通过所述目标压缩算法压缩所述待处理日志,以及通过所述目标存储算法存储压缩后的所述待处理日志。本申请实施例还提供了一种存储介质,用于存储计算机可执行指令,所述可执行指令在被执行时实现以下流程:获取需要进行处理的待处理日志;确定所述待处理日志对应的压缩处理信息和存储处理信息;从预设的多个压缩算法中,选取与所述压缩处理信息相匹配的目标压缩算法,以及,从预设的多个存储算法中,选取与所述存储处理信息相匹配的目标存储算法;通过所述目标压缩算法压缩所述待处理日志,以及通过所述目标存储算法存储压缩后的所述待处理日志。本申请实施例中的日志处理方法及装置,在获取需要进行处理的待处理日志后,首先确定待处理日志对应的压缩处理信息和存储处理信息,然后从预设的多个压缩算法中,选取与待处理日志对应的压缩处理信息相匹配的目标压缩算法,以及,从预设的多个存储算法中,选取与待处理日志对应的存储处理信息相匹配的目标存储算法,最后通过目标压缩算法压缩待处理日志,以及通过目标存储算法存储压缩后的待处理日志。可见,通过本申请实施例中的日志处理方法及装置,能够通过确定与待处理日志对应的压缩处理信息相匹配的目标压缩算法,以及通过确定与待处理日志对应的存储处理信息相匹配的目标存储算法,为待处理日志灵活选择压缩算法和存储算法,从而提高日志压缩存储的灵活性,解决现有技术中日志压缩存储方式单一、灵活性差的问题。附图说明为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本申请实施例提供的日志处理的第一种场景示意图;图2为本申请实施例提供的日志处理方法的第一种流程示意图;图3为本申请实施例提供的日志处理方法的第二种流程示意图;图4为本申请实施例提供的日志处理的第二种场景示意图;图5为本申请实施例提供的日志处理装置的模块组成示意图;图6为本申请实施例提供的日志处理设备的结构示意图。具体实施方式为了使本
技术领域
的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。本申请实施例提供了一种日志处理方法及装置,能够通过确定与待处理日志对应的压缩处理信息相匹配的目标压缩算法,以及通过确定与待处理日志对应的存储处理信息相匹配的目标存储算法,为待处理日志灵活选择压缩算法和存储算法,从而提高日志压缩存储的灵活性。图1为本申请实施例提供的日志处理的第一种场景示意图,如图1所示,该日志处理的场景包括至少一个客户端100和服务器200,客户端100由用户操作,并通过网络300与服务器200通信连接。客户端100可以为手机、平板电脑、台式计算机、便携笔记本式计算机、车载计算机等。客户端100可以运行程序模块,并向服务器200发送数据,如客户端100运行浏览器模块,并根据用户在浏览器页面中的操作生成浏览日志,并将浏览日志发送至服务器200。服务器200可以为包含独立主机的物理服务器,或者为主机集群承载的虚拟服务器,或者为云服务器。服务器200可以对客户端100上传的数据进行处理,如服务器200接收客户端100上传的日志,并进行日志压缩和日志存储。为提高服务器200的数据处理效率,服务器200可以为服务器集群形式,采用分布式系统架构,包括多个子服务器,每个子服务器具有相同的功能,均能够对客户端100上传的日志进行压缩和存储。网络300可以包括多种类型的有线或无线网络。如,网络300可以包括公共交换电话网络(publicswitchedtelephonenetwork,pstn)和因特网。图2为本申请实施例提供的日志处理方法的第一种流程示意图,该方法能够由图1中的服务器200执行,如图2所示,该方法至少包括以下步骤:步骤s202,获取需要进行处理的待处理日志。服务器从客户端处或者从存储空间处获取需要进行处理的待处理日志,该处理包括压缩处理和存储处理,待处理日志包括多种业务类型的日志,如广告日志、新闻日志等。步骤s204,确定待处理日志对应的压缩处理信息和存储处理信息。服务器在对待处理日志进行处理前,分别确定待处理日志对应的压缩处理信息,以及确定待处理日志对应的存储处理信息,从而依据压缩处理信息为待处理日志选择目标压缩算法,依据存储处理信息为待处理日志选择目标存储算法。服务器确定待处理日志对应的压缩处理信息和存储处理信息具体为:(a1)确定待处理日志的压缩算法性能要求和/或业务类型;(a2)将压缩算法性能要求和/或业务类型作为待处理日志对应的压缩处理信息,将业务类型作为待处理日志对应的存储处理信息。待处理日志的压缩算法性能要求,可以是压缩算法所需的系统资源开销的要求。由于对待处理日志进行压缩时,不同的压缩算法具有不同的系统资源开销,且,不同业务类型的待处理日志的格式不同,不同压缩算法处理相同格式的日志具有不同的处理效率,因此本步骤中,确定待处理日志的压缩算法性能要求和/或业务类型,并将压缩算法性能要求和/或业务类型作为待处理日志对应的压缩处理信息,从而依据压缩处理信息为待处理日志匹配目标压缩算法,使待处理日志得到快速高效地压缩。在为待处理日志匹配目标压缩算法匹配度要求较高的场景下,待处理日志对应的压缩处理信息包括压缩算法性能要求和业务类型,从而同时根据压缩算法性能要求和业务类型为待处理日志匹配目标压缩算法,在为待处理日志匹配目标压缩算法匹配度要求较低的场景下,待处理日志对应的压缩处理信息包括压缩算法性能要求或业务类型,从而根据压缩算法性能要求或业务类型为待处理日志匹配目标压缩算法。由于不同业务类型的待处理日志的业务需求不同,有些业务类型的待处理日志仅用作数据保留,有些业务类型的待处理日志还需要进行数据分析以获得用户行为习惯等信息,因此本步骤中,将业务类型作为待处理日志对应的存储处理信息,从而依据业务类型为待处理日志匹配目标存储算法,使待处理日志在存储后满足对应的业务需求。本申请实施例中,待处理日志的压缩算法性能要求可以通过以下方式确定:(b1)确定对待处理日志进行压缩的压缩设备;(b2)根据压缩设备的当前负载,确定待处理日志的压缩算法性能要求。设备在对待处理日志进行压缩时,使用的压缩算法应该满足该设备的工作性能,如使用的压缩算法所需的资源开销应该小于该设备可提供的资源开销,从而避免压缩算法无法运行的情况,因此本实施例中在确定待处理日志的压缩算法性能要求时,首先确定对待处理日志进行压缩的压缩设备,然后根据压缩设备的当前负载,确定待处理日志的压缩算法性能要求。一种情况下,执行本步骤的服务器即为对待处理日志进行压缩的压缩设备,另一种情况下,执行本步骤的服务器能够根据分布式系统中各个服务器的负载,采用负载均衡算法在该分布式系统中确定一台或多台服务器作为对待处理日志进行压缩的压缩设备。在确定压缩设备后,根据压缩设备的当前负载,确定待处理日志的压缩算法性能要求,压缩算法性能要求具体为压缩算法所需的系统资源开销小于压缩设备当前可提供的资源开销。其中,压缩设备当前可提供的资源开销可以根据压缩设备的当前负载计算得到。本实施例中,根据对待处理日志进行压缩的压缩设备的当前负载,确定待处理日志的压缩算法性能要求为,压缩算法所需的系统资源开销小于压缩设备当前可提供的资源开销,能够保证根据压缩算法性能要求匹配得到的目标压缩算法与压缩设备的当前负载相匹配,避免压缩设备的负载过高,无法运行目标压缩算法的情况。本申请实施例中,待处理日志的业务类型可以通过以下方式确定:(c1)根据待处理日志携带的业务类型标识,确定待处理日志的业务类型;或者,(c2)确定待处理日志的格式特征,根据该格式特征以及预设的格式特征与业务类型之间的对应关系,确定待处理日志的业务类型。一种情况下,待处理日志携带有业务类型标识,则能够根据待处理日志携带的业务类型标识,确定待处理日志的业务类型,另一种情况下,基于不同业务类型对应的日志格式不同的原则,根据待处理日志的格式特征以及预设的格式特征与业务类型之间的对应关系,确定待处理日志的业务类型。表1格式特征业务类型a广告日志b新闻日志表1为格式特征与业务类型之间的对应关系表,如表1所示,若待处理日志的格式特征为a,则待处理日志对应为广告日志,若待处理日志的各市特征为b,则待处理日志对应为新闻日志。其中待处理日志的格式特征相当于待处理日志的格式。通过预设的格式特征与业务类型之间的对应关系,能够快速准确的确定待处理日志的业务类型。步骤s206,从预设的多个压缩算法中,选取与压缩处理信息相匹配的目标压缩算法,以及,从预设的多个存储算法中,选取与存储处理信息相匹配的目标存储算法。确定待处理日志对应的压缩处理信息以及存储处理信息后,从预设的多个压缩算法中,选取与压缩处理信息相匹配的目标压缩算法,以及,从预设的多个存储算法中,选取与存储处理信息相匹配的目标存储算法,从而利用目标压缩算法进行日志压缩,利用目标存储算法进行日志存储。从预设的多个压缩算法中,选取与压缩处理信息相匹配的目标压缩算法,具体为:判断当前设置的压缩算法是否与压缩处理信息相匹配,若是,则选取当前设置的压缩算法作为目标压缩算法,若否,则从预设的其他压缩算法中选取与压缩处理信息相匹配的目标压缩算法。本实施例中预设有多个压缩算法,如gz、bzip2、lzo、xz等压缩算法。考虑到可能在连续的时间内获取压缩处理信息相同或相似的日志,因此当前设置的压缩算法可能也适用于待处理日志,因此本步骤中,首先判断当前设置的压缩算法是否与压缩处理信息相匹配,若匹配,比如当前设置的压缩算法所需的系统资源开销小于压缩设备当前可提供的资源开销,和/或,当前设置的压缩算法与待处理日志的业务类型之间满足预设的压缩算法与业务类型之间的对应关系,则选取当前设置的压缩算法作为目标压缩算法,若不匹配,则重新选取目标压缩算法。其中,当前设置的压缩算法可以是前次使用的压缩算法。由于判断当前设置的压缩算法是否与压缩处理信息相匹配仅需要进行一次判断,而预设的压缩算法有多个,直接从预设的多个压缩算法中选取目标压缩算法,则需要依次判断每个压缩算法是否与压缩处理信息相匹配,需要进行多次判断,因此在连续时间内获取的日志的压缩处理信息相同或相似的情况下,先判断当前设置的压缩算法是否与压缩处理信息相匹配,能够减少判断次数,避免执行多次判断,减少服务器的系统资源开销。基于步骤s204的描述可知,待处理日志对应的压缩处理信息包括待处理日志的压缩算法性能要求和/或业务类型,因此本步骤中,判断当前设置的压缩算法是否与压缩处理信息相匹配,也即判断当前设置的压缩算法是否与待处理日志的压缩算法性能要求和/或业务类型相匹配,从预设的其他压缩算法中选取与压缩处理信息相匹配的目标压缩算法,也即选取与待处理日志的压缩算法性能要求和/或业务类型相匹配的目标压缩算法。本实施例中预先存储有每个预设的压缩算法所需的系统资源开销,压缩设备当前可提供的资源开销可以根据压缩设备的当前负载计算得到。根据步骤s204的描述可知,待处理日志的压缩算法性能要求可以为压缩算法所需的系统资源开销小于压缩设备当前可提供的资源开销,因此目标压缩算法与压缩算法性能要求相匹配,即为目标压缩算法所需的系统资源开销小于压缩设备当前可提供的资源开销,比如目标压缩算法所需的系统资源开销为b-,压缩设备当前可提供的资源开销为b。本实施例中预设有压缩算法与业务类型之间的对应关系,如广告日志采用gz方式或xz方式压缩,新闻日志采用bzip2方式或lzo方式压缩,该对应关系中,每个压缩算法与对应的业务类型相匹配,能够高效地处理对应的业务类型的日志,目标压缩算法与业务类型相匹配,即为目标压缩算法与业务类型之间满足该预设的对应关系。本步骤中,若当前设置的压缩算法与压缩处理信息不匹配,则从预设的其他压缩算法中选取与压缩处理信息相匹配的目标压缩算法,具体为:从预设的其他压缩算法中确定与压缩处理信息相匹配的多个候选压缩算法;在各个候选压缩算法中,选取运行时消耗资源最少的算法作为目标压缩算法。其中压缩处理信息包括压缩算法性能要求和/或业务类型。本实施例中预设有多个压缩算法,每个压缩算法运行时所需的系统资源开销不同,由于压缩算法与压缩算法性能要求相匹配,即为压缩算法所需的系统资源开销小于压缩设备当前可提供的资源开销,而在当前设置的压缩算法以外的其他压缩算法中,所需的系统资源开销小于压缩设备当前可提供的资源开销的算法可以为多种,因此与压缩算法性能要求相匹配的压缩算法可以有多种。同理,预设的压缩算法与业务类型之间的对应关系,可以设定一种业务类型对应多种压缩算法,比如广告日志采用gz方式或xz方式压缩,新闻日志采用bzip2方式或lzo方式压缩,因此在当前设置的压缩算法以外的其他压缩算法中,与待处理日志的业务类型满足预设的压缩算法与业务类型之间的对应关系的算法可以有多种,比如业务类型为广告,则gz压缩方式或xz压缩方式均与该业务类型相匹配,因此与业务类型相匹配的压缩算法也可以有多种。因此本步骤中,从预设的其他压缩算法中选取与压缩处理信息相匹配的目标压缩算法时,首先从预设的其他压缩算法中确定与压缩处理信息相匹配的多个候选压缩算法,比如对于广告日志,其压缩处理信息包括压缩算法性能要求和业务类型,与该压缩算法性能相求相匹配的压缩算法包括gz压缩方式、xz压缩方式和bzip2压缩方式,与其业务类型相匹配的压缩算法包括gz压缩方式和xz压缩方式,则取交集,确定既与压缩算法性能相求相匹配的,又与业务类型相匹配的压缩算法,为该广告日志的候选压缩算法,包括gz压缩方式和xz压缩方式。进而,在多个候选压缩算法中,选取运行时消耗资源最少的算法作为目标压缩算法。延续上述广告日志的例子,由于gz压缩方式比xz压缩方式运行时消耗更少的系统资源,因此确定该广告日志的目标压缩算法为gz压缩方式。通过先确定与压缩处理信息相匹配的多个候选压缩算法,再将运行时消耗资源最少的候选压缩算法作为目标压缩算法,能够逐步确定与压缩处理信息最为匹配的目标压缩算法,从而使目标压缩算法与待处理日志最为匹配。本步骤中,与选取目标压缩算法类似,从预设的多个存储算法中,选取与存储处理信息相匹配的目标存储算法,包括:判断当前设置的存储算法是否与存储处理信息相匹配;若是,则选取当前设置的存储算法作为目标存储算法;若否,则从预设的其他存储算法中选取与存储处理信息相匹配的目标存储算法。本实施例中预设有多个存储算法,如本地存储算法、s3存储算法、hdfs存储算法。考虑到可能在连续的时间内获取存储处理信息相同或相似的日志,因此当前设置的存储算法可能也适用于待处理日志,因此本步骤中,首先判断当前设置的存储算法是否与存储处理信息相匹配,若匹配,比如当前设置的存储算法与待处理日志的业务类型之间满足预设的存储算法与业务类型之间的对应关系,则选取当前设置的存储算法作为目标存储算法,若不匹配,则重新选取目标存储算法。其中,当前设置的存储算法可以是前次使用的存储算法。由于判断当前设置的存储算法是否与存储处理信息相匹配仅需要进行一次判断,而预设的存储算法有多个,直接从预设的多个存储算法中选取目标存储算法,则需要依次判断每个存储算法是否与压缩处理信息相匹配,需要进行多次判断,因此在连续时间内获取的日志的存储处理信息相同或相似的情况下,先判断当前设置的存储算法是否与存储处理信息相匹配,能够减少判断次数,避免执行多次判断,减少服务器的系统资源开销。基于步骤s204的描述可知,待处理日志对应的存储处理信息包括待处理日志的业务类型,因此本步骤中,判断当前设置的存储算法是否与存储处理信息相匹配,也即判断当前设置的存储算法是否与待处理日志的业务类型相匹配,从预设的其他存储算法中选取与存储处理信息相匹配的目标存储算法,也即选取与待处理日志的业务类型相匹配的目标存储算法。本实施例中预设有存储算法与业务类型之间的对应关系,如广告日志采用s3存储算法或本地存储算法,新闻日志采用hdfs存储算法或s3存储算法,该对应关系中,每个存储算法与对应的业务类型相匹配,能够满足对应的业务类型的业务需求,目标存储算法与业务类型相匹配,即为目标存储算法与业务类型之间满足该预设的对应关系。本步骤中,若当前设置的存储算法与存储处理信息不匹配,则从预设的其他存储算法中选取与存储处理信息相匹配的目标存储算法,具体为:从预设的其他存储算法中确定与存储处理信息相匹配的多个候选存储算法;在各个候选存储算法中,选取运行时消耗资源最少的算法作为目标存储算法。其中存储处理信息包括待处理日志的业务类型。本实施例中预设有存储算法与业务类型之间的对应关系,可以设定一种业务类型对应多种存储算法,比如广告日志采用s3存储算法或本地存储算法,新闻日志采用hdfs存储算法或s3存储算法,因此在当前设置的存储算法以外的其他存储算法中,与待处理日志的业务类型满足预设的存储算法与业务类型之间的对应关系的算法可以有多种,比如业务类型为广告,则相匹配的存储算法有s3存储算法或本地存储算法,因此与业务类型相匹配的存储算法也可以有多种。因此本步骤中,从预设的其他存储算法中选取与存储处理信息相匹配的目标压缩算法时,首先从预设的其他存储算法中确定与存储处理信息相匹配的多个候选存储算法,比如对于广告日志,其存储处理信息包括业务类型,与其业务类型相匹配的存储算法包括s3存储算法或本地存储算法,因此确定候选存储算法包括s3存储算法或本地存储算法。进而,在多个候选存储算法中,选取运行时消耗资源最少的算法作为目标存储算法。延续上述广告日志的例子,由于本地存储算法比s3存储算法运行时消耗更少的系统资源,因此确定该广告日志的目标存储算法为本地存储方式。通过先确定与存储处理信息相匹配的多个候选存储算法,再将运行时消耗资源最少的候选存储算法作为目标存储算法,能够逐步确定与存储处理信息最为匹配的目标存储算法,从而使目标存储算法与待处理日志最为匹配。步骤s208,通过目标压缩算法压缩待处理日志,以及通过目标存储算法存储压缩后的待处理日志。确定目标压缩算法和目标存储算法后,即能够通过目标压缩算法压缩待处理日志,以及通过目标存储算法存储压缩后的待处理日志。如,按既定路径将压缩后的待处理日志分别传输至数据库、云端、磁盘等目标位置。本申请实施例中,在获取需要进行处理的待处理日志后,首先确定待处理日志对应的压缩处理信息和存储处理信息,然后从预设的多个压缩算法中,选取与待处理日志对应的压缩处理信息相匹配的目标压缩算法,以及,从预设的多个存储算法中,选取与待处理日志对应的存储处理信息相匹配的目标存储算法,最后通过目标压缩算法压缩待处理日志,以及通过目标存储算法存储压缩后的待处理日志。可见,通过本申请实施例中的日志处理方法,能够通过确定与待处理日志对应的压缩处理信息相匹配的目标压缩算法,以及通过确定与待处理日志对应的存储处理信息相匹配的目标存储算法,为待处理日志灵活选择压缩算法和存储算法,从而提高日志压缩存储的灵活性,解决现有技术中日志压缩存储方式单一、灵活性差的问题。本实施例中,为了提高日志处理效率,通过目标压缩算法压缩待处理日志,以及通过目标存储算法存储压缩后的待处理日志,包括:采用并行处理方式通过目标压缩算法压缩待处理日志,以及采用并行处理方式通过目标存储算法存储压缩后的待处理日志。一种典型的并行处理方式为,采用负载均衡算法在分布式系统中的多个执行设备中,确定压缩执行设备和存储执行设备,通知压缩执行设备利用目标压缩算法压缩待处理日志,以及通知存储执行设备利用目标存储算法存储压缩后的待处理日志。本实施例中,在分布式系统中确定执行设备对待处理日志进行压缩和存储,能够对待处理日志进行并行处理,同时对并行处理中的每项进程进行资源调度,保持每种格式的待处理日志均能顺利、快速地处理成功,提高数据迁移效率。本实施例中,预设的多个压缩算法和预设的多个存储算法,均可以通过微核容器实现插件化。将各个算法通过微核容器实现插件化,能够实现快速地在预设的多个压缩算法或存储算法中调用目标压缩算法或目标存储算法,实现插件化的算法调用方式,还能够灵活扩展新的压缩算法和存储算法。一种具体的实施方式中,可以使用javaserviceproviderinterface(spi)机制构建插件化java应用框架来实现算法插件化,不需要引入新的外部框架,实现方便简单。这里对微核容器和插件化做简要介绍。微核,即最小化核心,内核只负责插件的组装,不带任何功能逻辑,所有功能都由可替换的插件实现,并且,组装过程应基于统一的规则,比如基于setter注入,而不能对不同插件硬编码组装,这样可以确保没有任何功能在内核中硬编码。比如:spring,osgi,jmx,serviceloader等都是常见的微核容器,它们负责基于统一规则的组装,但不带功能逻辑。对于非功能性的插件组装过程,可以由微内核框架来完成,对于功能性的组装过程也封装成插件,即让大插件组装小插件,形成级联组装关系。为更清楚的介绍本实施例中的日志处理方法,图3为本申请实施例提供的日志处理方法的第二种流程示意图,图4为本申请实施例提供的日志处理的第二种场景示意图,图4中包括第一服务器400和多个第二服务器500,该方法能够由图4中的第一服务器400执行,如图3、图4所示所示,该方法包括:步骤s302,第一服务器400获取待处理日志。第一服务器400可以接收客户端发送的待处理日志,比如接收客户端发送的广告日志。步骤s304,第一服务器400按照负载均衡算法在分布式系统的多个第二服务器500中确定待处理日志的压缩设备和待处理日志的存储设备。多个第二服务器500组成分布式系统,每个第二服务器500的结构和功能均相同,且均能够处理日志压缩和日志存储任务。第二服务器400按照预设的负载均衡算法,选择当前负载较小的两个第二服务器500分别作为待处理日志的压缩设备和待处理日志的存储设备。考虑到压缩算法的复杂度通常比存储算法高,因此可以选择当前负载最小的第二服务器500作为压缩设备,选择当前负载第二小的第二服务器500作为存储设备。另一种实施方式中,第一服务器400选择负载较小的多个第二服务器500作为待处理日志的压缩设备,并且,压缩设备也作为待处理日志的存储设备用来存储压缩后的待处理日志,从而使多个服务器同步执行待处理日志的压缩和存储,提高日志处理速度。步骤s306,第一服务器400根据待处理日志的压缩设备当前可提供的资源开销,确定待处理日志的压缩算法性能要求。具体地,待处理日志的压缩算法性能要求可以为压缩算法所需的系统资源开销小于压缩设备当前可提供的资源开销。步骤s308,第一服务器400确定待处理日志的业务类型。具体地,第一服务器400根据待处理日志携带的格式特征以及预设的格式特征与业务类型之间的对应关系,确定待处理日志的业务类型。步骤s310,第一服务器400在预设的多个压缩算法中,选择与待处理日志的压缩算法性能要求和业务类型均匹配的多个压缩算法作为候选压缩算法。步骤s312,第一服务器400将多个候选压缩算法中运行时所需系统资源开销最小的算法确定为目标压缩算法。步骤s314,第一服务器400在预设的多个存储算法中,选择与待处理日志的业务类型相匹配的多个存储算法作为候选存储算法。步骤s316,第一服务器400将多个候选存储算法中运行时所需系统资源开销最小的算法确定为目标存储算法。步骤s318,第一服务器400通知待处理日志的压缩设备利用目标压缩算法压缩待处理日志。步骤s320,第一服务器400通知待处理日志的存储设备利用目标存储算法存储压缩后的待处理日志。本实施例中,要求目标压缩算法与待处理日志的业务类型相匹配,且要求目标压缩算法所需的系统资源开销小于压缩设备当前可提供的资源开销,从而保证目标压缩设备快速高效地对待处理日志进行压缩。要求目标存储算法与待处理日志的业务类型相匹配,能够保证存储后的日志数据满足其对应的业务需求。在分布式系统中实现本实施例中的日志处理方法,能够提高数据处理速度,满足各种应用场景对数据处理效率的要求。对应上述的日志处理方法,基于相同的技术构思,本申请实施例还提供了一种日志处理装置,图5为本申请实施例提供的日志处理装置的模块组成示意图,如图5所示,该装置包括:日志获取模块51,用于获取需要进行处理的待处理日志;信息确定模块52,用于确定所述待处理日志对应的压缩处理信息和存储处理信息;算法确定模块53,用于从预设的多个压缩算法中,选取与所述压缩处理信息相匹配的目标压缩算法,以及,从预设的多个存储算法中,选取与所述存储处理信息相匹配的目标存储算法;日志处理模块54,用于通过所述目标压缩算法压缩所述待处理日志,以及通过所述目标存储算法存储压缩后的所述待处理日志。可选地,算法确定模块53具体用于:判断当前设置的压缩算法是否与所述压缩处理信息相匹配;若是,则选取所述当前设置的压缩算法作为目标压缩算法;若否,则从预设的其他压缩算法中选取与所述压缩处理信息相匹配的目标压缩算法。可选地,算法确定模块53还具体用于:从预设的其他压缩算法中确定与所述压缩处理信息相匹配的多个候选压缩算法;在各个所述候选压缩算法中,选取运行时消耗资源最少的算法作为所述目标压缩算法。可选地,算法确定模块53具体用于:判断当前设置的存储算法是否与所述存储处理信息相匹配;若是,则选取所述当前设置的存储算法作为目标存储算法;若否,则从预设的其他存储算法中选取与所述存储处理信息相匹配的目标存储算法。可选地,算法确定模块53还具体用于:从预设的其他存储算法中确定与所述存储处理信息相匹配的多个候选存储算法;在各个所述候选存储算法中,选取运行时消耗资源最少的算法作为所述目标存储算法。可选地,信息确定模块52具体用于:确定所述待处理日志的压缩算法性能要求和/或业务类型;将所述压缩算法性能要求和/或所述业务类型作为所述待处理日志对应的压缩处理信息,将所述业务类型作为所述待处理日志对应的存储处理信息。可选地,信息确定模块52具体用于:确定对所述待处理日志进行压缩的压缩设备;根据所述压缩设备的当前负载,确定所述待处理日志的压缩算法性能要求。可选地,信息确定模块52具体用于:根据所述待处理日志携带的业务类型标识,确定所述待处理日志的业务类型;或者,确定所述待处理日志的格式特征,根据所述格式特征以及预设的格式特征与业务类型之间的对应关系,确定所述待处理日志的业务类型。可选地,日志处理模块54具体用于:采用并行处理方式通过所述目标压缩算法压缩所述待处理日志,以及采用并行处理方式通过所述目标存储算法存储压缩后的所述待处理日志。可选地,所述预设的多个压缩算法和所述预设的多个存储算法,均通过微核容器实现插件化。本申请实施例中的日志处理装置,在获取需要进行处理的待处理日志后,首先确定待处理日志对应的压缩处理信息和存储处理信息,然后从预设的多个压缩算法中,选取与待处理日志对应的压缩处理信息相匹配的目标压缩算法,以及,从预设的多个存储算法中,选取与待处理日志对应的存储处理信息相匹配的目标存储算法,最后通过目标压缩算法压缩待处理日志,以及通过目标存储算法存储压缩后的待处理日志。可见,通过本申请实施例中的日志处理装置,能够通过确定与待处理日志对应的压缩处理信息相匹配的目标压缩算法,以及通过确定与待处理日志对应的存储处理信息相匹配的目标存储算法,为待处理日志灵活选择压缩算法和存储算法,从而提高日志压缩存储的灵活性,解决现有技术中日志压缩存储方式单一、灵活性差的问题。基于上述的日志处理方法,本申请实施例还提供了一种日志处理设备,图6为本申请实施例提供的日志处理设备的结构示意图。如图6所示。日志处理设备可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上的处理器601和存储器602,存储器602中可以存储有一个或一个以上存储应用程序或数据。其中,存储器602可以是短暂存储或持久存储。存储在存储器602的应用程序可以包括一个或一个以上模块(图示未示出),每个模块可以包括对日志处理设备中的一系列计算机可执行指令。更进一步地,处理器601可以设置为与存储器602通信,在日志处理设备上执行存储器602中的一系列计算机可执行指令。日志处理设备还可以包括一个或一个以上电源603,一个或一个以上有线或无线网络接口604,一个或一个以上输入输出接口605,一个或一个以上键盘606等。在一个具体的实施例中,日志处理设备包括有存储器,以及一个或一个以上的程序,其中一个或者一个以上程序存储于存储器中,且一个或者一个以上程序可以包括一个或一个以上模块,且每个模块可以包括对日志处理设备中的一系列计算机可执行指令,且经配置以由一个或者一个以上处理器执行该一个或者一个以上程序包含用于进行以下计算机可执行指令:获取需要进行处理的待处理日志;确定所述待处理日志对应的压缩处理信息和存储处理信息;从预设的多个压缩算法中,选取与所述压缩处理信息相匹配的目标压缩算法,以及,从预设的多个存储算法中,选取与所述存储处理信息相匹配的目标存储算法;通过所述目标压缩算法压缩所述待处理日志,以及通过所述目标存储算法存储压缩后的所述待处理日志。可选地,计算机可执行指令在被执行时,从预设的多个压缩算法中,选取与所述压缩处理信息相匹配的目标压缩算法,包括:判断当前设置的压缩算法是否与所述压缩处理信息相匹配;若是,则选取所述当前设置的压缩算法作为目标压缩算法;若否,则从预设的其他压缩算法中选取与所述压缩处理信息相匹配的目标压缩算法。可选地,计算机可执行指令在被执行时,从预设的其他压缩算法中选取与所述压缩处理信息相匹配的目标压缩算法,包括:从预设的其他压缩算法中确定与所述压缩处理信息相匹配的多个候选压缩算法;在各个所述候选压缩算法中,选取运行时消耗资源最少的算法作为所述目标压缩算法。可选地,计算机可执行指令在被执行时,从预设的多个存储算法中,选取与所述存储处理信息相匹配的目标存储算法,包括:判断当前设置的存储算法是否与所述存储处理信息相匹配;若是,则选取所述当前设置的存储算法作为目标存储算法;若否,则从预设的其他存储算法中选取与所述存储处理信息相匹配的目标存储算法。可选地,计算机可执行指令在被执行时,从预设的其他存储算法中选取与所述存储处理信息相匹配的目标存储算法,包括:从预设的其他存储算法中确定与所述存储处理信息相匹配的多个候选存储算法;在各个所述候选存储算法中,选取运行时消耗资源最少的算法作为所述目标存储算法。可选地,计算机可执行指令在被执行时,确定所述待处理日志对应的压缩处理信息和存储处理信息,包括:确定所述待处理日志的压缩算法性能要求和/或业务类型;将所述压缩算法性能要求和/或所述业务类型作为所述待处理日志对应的压缩处理信息,将所述业务类型作为所述待处理日志对应的存储处理信息。可选地,计算机可执行指令在被执行时,确定所述待处理日志的压缩算法性能要求,包括:确定对所述待处理日志进行压缩的压缩设备;根据所述压缩设备的当前负载,确定所述待处理日志的压缩算法性能要求。可选地,计算机可执行指令在被执行时,确定所述待处理日志的业务类型,包括:根据所述待处理日志携带的业务类型标识,确定所述待处理日志的业务类型;或者,确定所述待处理日志的格式特征,根据所述格式特征以及预设的格式特征与业务类型之间的对应关系,确定所述待处理日志的业务类型。可选地,计算机可执行指令在被执行时,通过所述目标压缩算法压缩所述待处理日志,以及通过所述目标存储算法存储压缩后的所述待处理日志,包括:采用并行处理方式通过所述目标压缩算法压缩所述待处理日志,以及采用并行处理方式通过所述目标存储算法存储压缩后的所述待处理日志。可选地,所述预设的多个压缩算法和所述预设的多个存储算法,均通过微核容器实现插件化。本申请实施例中的日志处理设备,在获取需要进行处理的待处理日志后,首先确定待处理日志对应的压缩处理信息和存储处理信息,然后从预设的多个压缩算法中,选取与待处理日志对应的压缩处理信息相匹配的目标压缩算法,以及,从预设的多个存储算法中,选取与待处理日志对应的存储处理信息相匹配的目标存储算法,最后通过目标压缩算法压缩待处理日志,以及通过目标存储算法存储压缩后的待处理日志。可见,通过本申请实施例中的日志处理设备,能够通过确定与待处理日志对应的压缩处理信息相匹配的目标压缩算法,以及通过确定与待处理日志对应的存储处理信息相匹配的目标存储算法,为待处理日志灵活选择压缩算法和存储算法,从而提高日志压缩存储的灵活性,解决现有技术中日志压缩存储方式单一、灵活性差的问题。基于上述的日志处理方法,本申请实施例还提供了一种存储介质,用于存储计算机可执行指令,一种具体的实施例中,该存储介质可以为u盘、光盘、硬盘等,该存储介质存储的计算机可执行指令在被处理器执行时,能实现以下流程:获取需要进行处理的待处理日志;确定所述待处理日志对应的压缩处理信息和存储处理信息;从预设的多个压缩算法中,选取与所述压缩处理信息相匹配的目标压缩算法,以及,从预设的多个存储算法中,选取与所述存储处理信息相匹配的目标存储算法;通过所述目标压缩算法压缩所述待处理日志,以及通过所述目标存储算法存储压缩后的所述待处理日志。可选地,该存储介质存储的计算机可执行指令在被处理器执行时,从预设的多个压缩算法中,选取与所述压缩处理信息相匹配的目标压缩算法,包括:判断当前设置的压缩算法是否与所述压缩处理信息相匹配;若是,则选取所述当前设置的压缩算法作为目标压缩算法;若否,则从预设的其他压缩算法中选取与所述压缩处理信息相匹配的目标压缩算法。可选地,该存储介质存储的计算机可执行指令在被处理器执行时,从预设的其他压缩算法中选取与所述压缩处理信息相匹配的目标压缩算法,包括:从预设的其他压缩算法中确定与所述压缩处理信息相匹配的多个候选压缩算法;在各个所述候选压缩算法中,选取运行时消耗资源最少的算法作为所述目标压缩算法。可选地,该存储介质存储的计算机可执行指令在被处理器执行时,从预设的多个存储算法中,选取与所述存储处理信息相匹配的目标存储算法,包括:判断当前设置的存储算法是否与所述存储处理信息相匹配;若是,则选取所述当前设置的存储算法作为目标存储算法;若否,则从预设的其他存储算法中选取与所述存储处理信息相匹配的目标存储算法。可选地,该存储介质存储的计算机可执行指令在被处理器执行时,从预设的其他存储算法中选取与所述存储处理信息相匹配的目标存储算法,包括:从预设的其他存储算法中确定与所述存储处理信息相匹配的多个候选存储算法;在各个所述候选存储算法中,选取运行时消耗资源最少的算法作为所述目标存储算法。可选地,该存储介质存储的计算机可执行指令在被处理器执行时,确定所述待处理日志对应的压缩处理信息和存储处理信息,包括:确定所述待处理日志的压缩算法性能要求和/或业务类型;将所述压缩算法性能要求和/或所述业务类型作为所述待处理日志对应的压缩处理信息,将所述业务类型作为所述待处理日志对应的存储处理信息。可选地,该存储介质存储的计算机可执行指令在被处理器执行时,确定所述待处理日志的压缩算法性能要求,包括:确定对所述待处理日志进行压缩的压缩设备;根据所述压缩设备的当前负载,确定所述待处理日志的压缩算法性能要求。可选地,该存储介质存储的计算机可执行指令在被处理器执行时,确定所述待处理日志的业务类型,包括:根据所述待处理日志携带的业务类型标识,确定所述待处理日志的业务类型;或者,确定所述待处理日志的格式特征,根据所述格式特征以及预设的格式特征与业务类型之间的对应关系,确定所述待处理日志的业务类型。可选地,该存储介质存储的计算机可执行指令在被处理器执行时,通过所述目标压缩算法压缩所述待处理日志,以及通过所述目标存储算法存储压缩后的所述待处理日志,包括:采用并行处理方式通过所述目标压缩算法压缩所述待处理日志,以及采用并行处理方式通过所述目标存储算法存储压缩后的所述待处理日志。可选地,所述预设的多个压缩算法和所述预设的多个存储算法,均通过微核容器实现插件化。本申请实施例中的存储介质存储的计算机可执行指令在被处理器执行时,在获取需要进行处理的待处理日志后,首先确定待处理日志对应的压缩处理信息和存储处理信息,然后从预设的多个压缩算法中,选取与待处理日志对应的压缩处理信息相匹配的目标压缩算法,以及,从预设的多个存储算法中,选取与待处理日志对应的存储处理信息相匹配的目标存储算法,最后通过目标压缩算法压缩待处理日志,以及通过目标存储算法存储压缩后的待处理日志。可见,通过本申请实施例中的存储介质,能够通过确定与待处理日志对应的压缩处理信息相匹配的目标压缩算法,以及通过确定与待处理日志对应的存储处理信息相匹配的目标存储算法,为待处理日志灵活选择压缩算法和存储算法,从而提高日志压缩存储的灵活性,解决现有技术中日志压缩存储方式单一、灵活性差的问题。以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1