欢迎光临小豌豆知识网!
当前位置:首页 > 电学技术 > 电通讯技术> 日志数据处理方法、装置、系统、电子设备及存储介质独创技术26287字

日志数据处理方法、装置、系统、电子设备及存储介质

2021-03-14 09:56:16

日志数据处理方法、装置、系统、电子设备及存储介质

  技术领域

  本发明涉及数据处理领域,尤其涉及一种日志数据处理方法、装置、系统、电子设备及存储介质。

  背景技术

  随着互联网的不断发展,需要传输的数据越来越大,数据传输的速度和稳定性存在瓶颈,且环节较多。内容分发网络(Content Ddistribute Network,简称CDN)可以尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快、更稳定,通过在网络各处放置节点服务器所构成的在现有的互联网基础之上的一层智能虚拟网络,CDN系统能够实时地根据网络流量和各节点的连接、负载状况以及到用户的距离和响应时间等综合信息将用户的请求重新导向离用户最近的服务节点上。融合CDN是将多个CDN的厂商的数据进行融合,能够打破单个CDN厂商的节点资源以及调度能力,突破地域时间以及不同运营商的限制。融合cdn访问日志通常包含实时日志和离线日志,这两种日志都可以用于计量计算,基于实时日志的流式计算提供低延迟的计量数据,基于离线日志的批计算提供更高完整的计量数据。由于实时日志的完整度无法保证,基于实时日志的计量数据,往往存在日志不完整的问题,从而导致计量计算结果的准确度不高。

  发明内容

  本发明实施例提供一种日志数据处理方法,能够在实时日志的完整度不高时,获取更高完整度的离线数据来进行流式化处理,从而提高日志数据的计量计算结果的准确度。

  第一方面,本发明实施例提供一种日志数据处理方法,包括:

  获取业务实体针对实时日志的第一处理结果,所述第一处理结果为流式化处理所得结果;

  判断所述第一处理结果是否满足预设的完整度条件;

  若所述第一处理结果不满足所述预设的完整度条件,则获取离线日志;

  将所述离线日志进行流式化,并输入到业务实体进行流式化处理,得到第二处理结果。

  可选的,所述若所述第一处理结果不满足所述预设的完整度条件,则获取离线日志,包括:

  若所述第一处理结果不满足所述预设的完整度条件,则提取与所述实时日志对应的数据源信息;

  根据所述实时日志对应的数据源信息,在数据源中获取离线日志。

  可选的,所述根据所述实时日志对应的数据源信息,在数据源中获取离线日志,包括:

  在获取离线日志之前,判断所述离线日志在所述数据源中是否准备完成;

  若所述离线日志准备完成,则在数据源中获取离线日志;

  若所述离线日志没有准备完成,则在预设时间后,再次在数据源中获取离线日志。

  可选的,所述将所述离线日志进行流式化,并输入到业务实体进行流式化处理,得到第二处理结果包括:

  将所述离线日志发送到流式日志存储系统,通过所述流式日志存储系统对所述离线日志进行流式化并存储,得到用于输入到业务实体的流式离线日志;

  将所述流式离线日志输入到业务实体进行流式化处理,得到第二处理结果。

  第二方面,本发明实施例还一种日志数据处理装置,所述装置包括:

  第一获取模块,用于获取业务实体针对实时日志的第一处理结果,所述第一处理结果为流式化处理所得结果;

  判断模块,用于判断所述第一处理结果是否满足预设的完整度条件;

  第二获取模块,用于若所述第一处理结果不满足所述预设的完整度条件,则获取离线日志;

  处理模块,用于将所述离线日志进行流式化,并输入到业务实体进行流式化处理,得到第二处理结果。

  可选的,所述第二获取模块包括:

  提取单元,用于若所述第一处理结果不满足所述预设的完整度条件,则提取与所述实时日志对应的数据源信息;

  获取单元,用于根据所述实时日志对应的数据源信息,在数据源中获取离线日志。

  可选的,所述获取单元包括:

  判断子单元,用于在获取离线日志之前,判断所述离线日志在所述数据源中是否准备完成;

  第一获取子单元,用于若所述离线日志准备完成,则在数据源中获取离线日志;

  第二获取子单元,用于若所述离线日志没有准备完成,则在预设时间后,再次在数据源中获取离线日志。

  可选的,所述处理模块包括:

  传输单元,用于将所述离线日志发送到流式日志存储系统,通过所述流式日志存储系统对所述离线日志进行流式化并存储,得到用于输入到业务实体的流式离线日志;

  处理单元,用于将所述流式离线日志输入到业务实体进行流式化处理,得到第二处理结果。

  第三方面,本发明实施例还提供一种日志数据处理系统,所述系统包括:数据源端、流式日志存储系统、业务实体以及如本发明实施例中任一所述的日志数据处理装置;

  其中,所述数据源端用于供应实时日志或离线日志;

  所述流式日志存储系统用于将所述数据源端供应的实时日志或离线日志进行流式化并存储;

  所述业务实体用于对流式化后的实时日志或流式化后的离线日志进行流式化处理。

  第四方面,本发明实施例提供一种电子设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现本发明实施例提供的日志数据处理方法中的步骤。

  第五方面,本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现发明实施例提供的日志数据处理方法中的步骤。

  本发明实施例中,获取业务实体针对实时日志的第一处理结果,所述第一处理结果为流式化处理所得结果;判断所述第一处理结果是否满足预设的完整度条件;若所述第一处理结果不满足所述预设的完整度条件,则获取离线日志;将所述离线日志进行流式化,并输入到业务实体进行流式化处理,得到第二处理结果。通过在实时日志的第一处理结果不完整时,获取更为完整的离线数据到业务实体中进行处理,从而提高日志数据的计量计算结果的准确度;另外,由于离线日志在进入业务实体之前,会先进行流式化,使得业务实体对日志的类型没有感知,从而使离线日志可以和实时日志进行相同的流式化处理。

  附图说明

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

  图1是本发明实施例提供的一种日志数据处理方法的流程图;

  图2是本发明实施例提供的另一种日志数据处理方法的流程图;

  图3是本发明实施例提供的一种日志数据处理装置的结构图;

  图4是本发明实施例提供的一种第二获取模块的结构图;

  图5是本发明实施例提供的一种获取单元的结构图;

  图6是本发明实施例提供的一种处理模块的结构图;

  图7是本发明实施例提供的一种日志数据处理系统的结构图;

  图8是本发明实施例提供的另一种日志数据处理系统的结构图;

  图9是本发明实施例提供的一种电子设备的结构示意图。

  具体实施方式

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

  请参见图1,图1是本发明实施例提供的一种日志数据处理方法的流程图,如图1所示,包括以下步骤:

  101、获取业务实体针对实时日志的第一处理结果。

  其中,上述的第一处理结果为流式化处理所得结果。

  在本发明实施例中,日志数据是一种程序性事件的记录数据,比如一条日志数据会记录哪个用户、在什么时间、什么地点访问了什么内容。日志数据可以分为实时日志以及离线日志。在使用CDN访问图片、文字、视频或游戏资源时,CDN会产生大量的日志数据,并对这些日志数据进行实时采集,实时采集的日志数据延迟在一个较短的范围内,比如一分钟之内。日志数据在被采集后,也可以将其存储下来,做为离线日志,离线日志可以存储较长的时间,在用户需要使用时进行下载即可。

  上述的业务实体可以是消费日志数据的具体业务程序,比如小说程序、视频程序、游戏程序、电子商务程序等。上述的业务实体可以消费日志数据进行统计,比如通过统计小视频程序中,各个小视频的点击计量、点赞计量等。其中,上述的第一处理结果可以是日志计量、日志分析以及日志上传等。

  上述的流式化处理可以是指业务实体中对日志数据进行流水式的计算,来确保日志数据处理的实时性。一般来说,业务实体中会内置有两套代码,一套代码用于实时数据的流式化处理,一套代码用于离线数据的批量化处理。流式化处理用于处理T+0的日志计量,比如视频程序的播放点击计量、点赞计量、收藏计量等,而批量化处理用于处理T+n的日志计量,n为延迟,且n大于0,比如视频程序的日总播放计量、月总播放计量等。

  102、判断第一处理结果是否满足预设的完整度条件。

  通常日志服务的目的在于为客户提供日志对账的依据,本实施例中,只要日志计量和客户的计费计量差距低于一定系数,比如用户计量/日志计量<n(其中n>1,为客户预设或者默认的系数)时,可以认为日志是完整的。

  在具体的实施过程中,如果实时日志的完整度满足上述条件,则不需要再进行离线日志的覆盖。如果实时日志的完整度不满足上述条件,则需要判断是哪个融合厂商的日志缺失了,判断标准为:用此厂商的实时日志的量/厂商的api计量,如果低于厂商承诺的系数,则认为此厂商的日志不完整,需要从厂商侧重新拉取离线日志。

  当第一处理结果满足预设的完整度条件,则说明第一处理结果可以直接使用,不进行处理。当第一处理结果不满足预设的完整度条件,则说明第一处理结果存在准确度不高的问题,此时,转入步骤103。

  在一种可能的实施例中,若第一处理结果不满足预设的完整度条件时,则可以对该第一处理结果对应的实时日志打上一个第一标签,该第一标签用于标识该第一处理结果等更正或替换。

  在一种可能的实施例中,可以定时或实时对第一处理结果的完整度进行判断,进一步提高日志数据的计算准确度。

  103、获取离线日志。

  上述的离线日志在时间维度上是与上述实时日志所对应的,由于流式化处理只会对实时日志进行一次计算,当一条日志数据计算完成后,无法再通过实时日志进行获取,只能在离线日志中进行获取。可以将离线日志看成是实时日志的长期备份。

  获取到离线日志与实时日志是相应的,但离线日志比实时日志具有更高的完整度。

  在一种可能的实施例中,可以为获取到的离线日志打上第二标签,该第二标签与第一标签相对应,通过该第二标签与第一标签的对应的关系,可以在得到该离线日志在业务实体的处理结果后,通过第二标签查找到对应的第一标签,再通过第一标签查找到对应的第一处理结果,从而将和离线日志在业务实体的处理结果替换掉第一处理结果。

  可选的,请参见图2,图2是本发明实施例提供的另一种日志数据处理方法的流程图,如图2所示,在图1实施例的基础上,步骤103进一步包括以下步骤:

  201、提取与实时日志对应的数据源信息。

  在本发明实施例中,上述的实时日志可以是由日志数据厂商(也称供应商)提供,上述日志数据厂商可以是CDN厂商、融合CDN厂商、云计算厂商等。

  通过提取实时日志中的数据源字段,可以得到该实时日志对应的数据源信息。上述的数据源信息可以是包括日志数据厂商信息、具体服务器信息、离线存储位置、时间段信息等。

  202、根据实时日志对应的数据源信息,在数据源中获取离线日志。

  其中,上述实时日志的数据源信息为步骤201中提取得到的,上述的数据源信息可以用于定位具体的数据源,比如哪个厂商、哪个服务器、哪个时间段、存储在哪个表等。

  可选的,在步骤202中,可以在获取离线日志之前,判断所要获取的离线日志在数据源中是否准备完成。

  根据当前系统内日志的计量判断日志是否准备完成,若厂商还没有提供日志下载外链,或者日志量低于实时日志,则视为尚未准备完成。如果从厂商下载的离线日志的量高于当前系统内的日志计量,并且优于实时日志,则认为离线日志准备完成。

  若离线日志准备完成,则可以在数据源中获取离线日志;若离线日志没有准备完成,则可以在预设时间后,再次在数据源中获取离线日志。具体来说,可以根据实时日志对应的数据源信息,得到所要获取的离线日志的存储地址,该存储地址指向所要获取的离线日志。通过该存储地址向数据源进行请求,当数据源通过该请求后,可以在数据源中下载所要获取的离线日志。

  104、将离线日志进行流式化,并输入到业务实体进行流式化处理,得到第二处理结果。

  离线日志由于存储需要,多以批量数据的形式进行存储,比如将8000条日志作为一批数据,或者1个小时内的日志作为一批数据进行存储。因此,可以将离线日志进行流式化,让业务实体可以通过计算实时日志的流式化处理方法来计算该流式化后的离线日志,使得业务实体中只需要开发一套用于计算实时日志的代码,减少业务实体的开发成本。

  在业务实体中,可以通过并行的方式对实时日志和流式化后的离线日志进行流式化处理,这样,既可以处理流式化后的离线日志,同时还可以对实时日志进行流式化处理。

  可选的,上述对离线日志进行流式化,可以是通过流式日志存储系统来进行,将获取到的离线日志打入该流式日志存储系统中,通过该流式日志存储系统将批量的离线日志转换为一条一条的日志数据。上述的流式日志存储系统可以是基于kafka框架的日志存储系统。

  可选的,在得到第二处理结果后,将第一处理结果替换为完整度更高的第二处理结果,使得业务实体的计量计算结果的准确度提高。

  在本发明实施例中,获取业务实体针对实时日志的第一处理结果,所述第一处理结果为流式化处理所得结果;判断所述第一处理结果是否满足预设的完整度条件;若所述第一处理结果不满足所述预设的完整度条件,则获取离线日志;将所述离线日志进行流式化,并输入到业务实体进行流式化处理,得到第二处理结果。通过在实时日志的第一处理结果不完整时,获取更为完整的离线数据到业务实体中进行处理,从而提高日志数据的计量计算结果的准确度;另外,由于离线日志在进入业务实体之前,会先进行流式化,使得业务实体对日志的类型没有感知,从而使离线日志可以和实时日志进行相同的流式化处理。

  需要说明的是,本发明实施例提供的日志数据处理方法可以应用于可以进行日志数据处理的手机、监控器、计算机、服务器等设备。

  请参见图3,图3是本发明实施例提供的一种日志数据处理装置的结构图,如图3所示,该装置包括:

  第一获取模块301,用于获取业务实体针对实时日志的第一处理结果,所述第一处理结果为流式化处理所得结果;

  判断模块302,用于判断所述第一处理结果是否满足预设的完整度条件;

  第二获取模块303,用于若所述第一处理结果不满足所述预设的完整度条件,则获取离线日志;

  处理模块304,用于将所述离线日志进行流式化,并输入到业务实体进行流式化处理,得到第二处理结果。

  可选的,如图4所示,所述第二获取模块303包括:

  提取单元3031,用于若所述第一处理结果不满足所述预设的完整度条件,则提取与所述实时日志对应的数据源信息;

  获取单元3032,用于根据所述实时日志对应的数据源信息,在数据源中获取离线日志。

  可选的,如图5所示,所述获取单元3032包括:

  判断子单元30321,用于在获取离线日志之前,判断所述离线日志在所述数据源中是否准备完成;

  第一获取子单元30322,用于若所述离线日志准备完成,则在数据源中获取离线日志;

  第二获取子单元30323,用于若所述离线日志没有准备完成,则在预设时间后,再次在数据源中获取离线日志。

  可选的,如图6所示,所述处理模块304包括:

  传输单元3041,用于将所述离线日志发送到流式日志存储系统,通过所述流式日志存储系统对所述离线日志进行流式化并存储,得到用于输入到业务实体的流式离线日志;

  处理单元3042,用于将所述流式离线日志输入到业务实体进行流式化处理,得到第二处理结果。

  需要说明的是,本发明实施例提供的日志数据处理装置可以应用于可以进行日志数据处理的手机、监控器、计算机、服务器等设备。

  本发明实施例提供的日志数据处理装置能够实现上述方法实施例中日志数据处理方法实现的各个过程,且可以达到相同的有益效果。为避免重复,这里不再赘述。

  请参见图7,图7是本发明实施例提供的一种日志数据处理系统的结构图,如图7所示,该系统包括:数据源端701、流式日志存储系统702、业务实体703以及如本发明实施例中任一所述的日志数据处理装置704。

  其中,上述数据源端701用于供应实时日志或离线日志。上述流式日志存储系统702用于将所述数据源端供应的实时日志或离线日志进行流式化并存储。上述业务实体703用于对流式化后的实时日志或流式化后的离线日志进行流式化处理。

  具体的,上述的数据源端701采集到日志数据后,将日志数据后分为实时日志和离线日志,实时日志会被输入到流式日志存储系统702进行流式化,得到流式化的实时日志,业务实体703则会消费掉流式日志存储系统702中流式化的实时日志,得到第一处理结果。在第一处理结果的没有满足预设完整度的情况下,日志数据处理装置704则会向数据源端701请求对应的离线日志,并将该离线日志输入到流式日志存储系统702进行流式化,得到流式化的离线日志,业务实体703则会消费掉流式日志存储系统702中流式化的离线日志,得到第二处理结果。由于第一处理结果完整度不满足预设的完整度条件,所以可以将第二处理结果替换掉第一处理结果。

  需要说明的是,本发明实施例提供的日志数据处理系统可以应用于可以进行日志数据处理的手机、监控器、计算机、服务器等设备。

  本发明实施例提供的日志数据处理系统能够实现上述方法实施例中日志数据处理方法实现的各个过程,且可以达到相同的有益效果。为避免重复,这里不再赘述。

  请参见图8,图8是本发明实施例提供的另一种日志数据处理系统的结构图,在图7的基础上,数据源端为融合CDN日志供应端801(Fusion cdn provider),流式日志存储系统为kafka框架系统802,日志数据处理装置包括决策系统804以及离线ETL系统805。

  其中,CDN日志供应端801通过实时日志入口806(Nginx)与kafka框架系统802连接,将实时日志输入到业务实体803中供其处理,得到第一处理结果。

  决策系统804从业务实体803中获取针对实时日志的第一处理结果,并判断第一处理结果是否满足预设的完整度条件,若第一处理结果不满足预设的完整度条件,则通知离线ETL系统805到融合CDN日志供应端801中获取离线日志。离线ETL系统805在获取到离线日志后,将该离线日志输入到kafka框架系统802进行流式化,得到流式化的离线日志,业务实体803则会消费掉kafka框架系统802中流式化的离线日志,得到第二处理结果。由于第一处理结果完整度不满足预设的完整度条件,所以可以将第二处理结果替换掉第一处理结果,从而完成日志计量的修复。

  参见图9,图9是本发明实施例提供的一种电子设备的结构示意图,如图9所示,包括:存储器902、处理器901及存储在所述存储器902上并可在所述处理器901上运行的计算机程序,其中:

  处理器901用于调用存储器902存储的计算机程序,执行如下步骤:

  获取业务实体针对实时日志的第一处理结果,所述第一处理结果为流式化处理所得结果;

  判断所述第一处理结果是否满足预设的完整度条件;

  若所述第一处理结果不满足所述预设的完整度条件,则获取离线日志;

  将所述离线日志进行流式化,并输入到业务实体进行流式化处理,得到第二处理结果。

  可选的,处理器901执行的所述若所述第一处理结果不满足所述预设的完整度条件,则获取离线日志,包括:

  若所述第一处理结果不满足所述预设的完整度条件,则提取与所述实时日志对应的数据源信息;

  根据所述实时日志对应的数据源信息,在数据源中获取离线日志。

  可选的,处理器901执行的所述根据所述实时日志对应的数据源信息,在数据源中获取离线日志,包括:

  在获取离线日志之前,判断所述离线日志在所述数据源中是否准备完成;

  若所述离线日志准备完成,则在数据源中获取离线日志;

  若所述离线日志没有准备完成,则在预设时间后,再次在数据源中获取离线日志。

  可选的,处理器901执行的所述将所述离线日志进行流式化,并输入到业务实体进行流式化处理,得到第二处理结果包括:

  将所述离线日志发送到流式日志存储系统,通过所述流式日志存储系统对所述离线日志进行流式化并存储,得到用于输入到业务实体的流式离线日志;

  将所述流式离线日志输入到业务实体进行流式化处理,得到第二处理结果。

  需要说明的是,上述电子设备可以是可以应用于可以进行日志数据处理的手机、监控器、计算机、服务器等设备。

  本发明实施例提供的电子设备能够实现上述方法实施例中日志数据处理方法实现的各个过程,且可以达到相同的有益效果,为避免重复,这里不再赘述。

  本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现本发明实施例提供的日志数据处理方法的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。

  本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存取存储器(Random AccessMemory,简称RAM)等。

  以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。

《日志数据处理方法、装置、系统、电子设备及存储介质.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式(或pdf格式)