日志处理方法、装置、设备及计算机可读存储介质与流程

专利2022-06-29  85


本发明涉及金融科技(fintech)技术领域,尤其涉及一种日志处理方法、装置、设备及计算机可读存储介质。



背景技术:

随着计算机技术的发展,越来越多的技术(大数据、分布式、区块链blockchain、人工智能等)应用在金融领域,传统金融业正在逐步向金融科技(fintech)转变,但由于金融行业的安全性、实时性要求,也对技术提出了更高的要求。目前,对于诸如银行等业务提供方而言,其后台的业务系统中的业务服务器在运行过程中会生成日志。为便于收集存储日志与日志检索,业务提供方还会提供基于开源软件filebeat(日志采集代理),logstash(日志处理),elasticsearch(日志存储)的日志收集检索系统。

在日志收集检索系统中采用关键字检索日志时,现有的日志存储方式只能定位到该关键字的关联日志信息(例如包括该关键字的日志信息),导致日志检索的准确率低。

上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。



技术实现要素:

本发明的主要目的在于提供一种日志处理方法、装置、设备及计算机可读存储介质,旨在解决现有只能检索到关键字的关联日志信息而造成日志检索的准确率低的技术问题。

为实现上述目的,本发明提供一种日志处理方法,所述日志处理方法包括以下步骤:

获取已存储日志数据的第一日志标识以及所述第一日志标识对应的第一排序序号;

基于所述第一日志标识、第一排序序号以及待处理日志的第二日志标识,确定所述待处理日志中的第二日志数据对应的第二排序序号;

基于所述第二排序序号以及所述第二日志标识,对所述第二日志数据进行排序,以获得排序后的日志数据;

基于排序后的日志数据更新所述已存储日志数据。

进一步地,所述基于所述第一日志标识、第一排序序号以及待处理日志的第二日志标识,确定所述待处理日志中的日志数据对应的第二排序序号的步骤包括:

确定所述第一日志标识与所述第二日志标识之间是否存在相同日志标识;

若第一日志标识与所述第二日志标识之间存在相同日志标识,则基于所述第一排序序号,获取所述已存储日志数据中相同日志标识对应的第三排序序号;

基于所述第三排序序号,确定所述第二排序序号。

进一步地,所述基于所述第三排序序号,确定所述第二排序序号的步骤包括:

若所述第一日志标识与所述第二日志标识之间不存在不同日志标识,则基于所述第三排序序号,确定所述第二排序序号;

若所述第一日志标识与所述第二日志标识之间存在不同日志标识,则基于所述第三排序序号以及初始序号确定所述第二排序序号。

进一步地,所述第一日志标识与所述第二日志标识之间存在不同日志标识,所述基于所述第二排序序号以及所述第二日志标识,对所述待处理日志中的第二日志数据进行排序的步骤包括:

基于所述相同日志标识以及所述第三排序序号,对所述第二日志数据中相同日志标识对应的日志数据进行排序;

基于所述不同日志标识以及初始序号,对所述第二日志数据中不同日志标识对应的日志数据进行排序。

进一步地,所述基于所述相同日志标识以及所述第三排序序号,对所述第二日志数据中相同日志标识对应的日志数据进行排序的步骤包括:

若所述相同日志标识包括一个,且所述相同日志标识对应的日志数据包括多个,则获取各个所述相同日志标识对应的第一日志时间,并基于所述第一日志时间以及所述第三排序序号对所述相同日志标识对应的日志数据进行排序;

若所述相同日志标识包括多个,且所述相同日志标识对应的日志数据中存在日志标识相同的多个相同标识日志数据,则获取各个所述相同标识日志数据对应的第二日志时间,基于所述第三排序序号中所述相同标识日志数据对应的排序序号,以及所述第二日志时间对所述相同标识日志数据进行排序,基于所述第三排序序号中剩余日志数据对应的排序序号对所述剩余日志数据进行排序,其中,所述剩余日志数据为所述相同日志标识对应的日志数据中除所述相同标识日志数据之外的其他日志数据。

进一步地,所述确定所述第一日志标识与所述第二日志标识之间是否存在相同日志标识的步骤之后,还包括:

若第一日志标识与所述第二日志标识之间不存在相同日志标识,则基于所述第二日志标识以及初始序号确定所述第二排序序号。

进一步地,所述获取已存储日志数据的第一日志标识以及所述第一日志标识对应的第一排序序号的步骤之前,所述日志处理方法还包括:

基于日志路径,获取分布式业务系统中的业务日志;

对所述业务日志进行格式化过滤处理操作,以获得过滤后的业务日志;

对过滤后的业务日志进行解析处理,以获得所述待处理日志。

进一步地,所述日志处理方法还包括:

在接收到日志请求时,获取所述日志请求对应的日志信息、线程信息以及终端标识,并基于所述线程信息以及终端标识生成日志标识;

基于所述日志信息以及所述日志标识生成业务日志,并关联存储所述日志标识以及所述业务日志。

进一步地,所述日志处理方法还包括:

在接收到检索请求时,基于所述检索请求对应的关键字对已存储日志数据进行检索,以获取所述关键字对应的第三日志数据;

获取所述第三日志数据对应的第三日志标识,在已存储日志数据中获取所述第三日志标识对应的目标日志数据以及所述目标日志数据对应的排序序号。

此外,为实现上述目的,本发明还提供一种日志处理装置,所述日志处理装置包括:

获取模块,用于获取已存储日志数据的第一日志标识以及所述第一日志标识对应的第一排序序号;

确定模块,用于基于所述第一日志标识、第一排序序号以及待处理日志的第二日志标识,确定所述待处理日志中的日志数据对应的第二排序序号;

排序模块,用于基于所述第二排序序号以及所述第二日志标识,对所述待处理日志中的第二日志数据进行排序,以获得排序后的日志数据;

更新模块,用于基于排序后的日志数据更新所述已存储日志数据。

此外,为实现上述目的,本发明还提供一种日志处理设备,所述日志处理设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的日志处理程序,所述日志处理程序被所述处理器执行时实现前述的日志处理方法的步骤。

此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有日志处理程序,所述日志处理程序被处理器执行时实现前述的日志处理方法的步骤。

本发明通过获取已存储日志数据的第一日志标识以及所述第一日志标识对应的第一排序序号,接着基于所述第一日志标识、第一排序序号以及待处理日志的第二日志标识,确定所述待处理日志中的第二日志数据对应的第二排序序号;而后基于所述第二排序序号以及所述第二日志标识,对所述第二日志数据进行排序,以获得排序后的日志数据,接着基于排序后的日志数据更新所述已存储日志数据,实现了根据已存储日志数据的日志标识以及排序序号存储待处理日志中的日志数据,进而建立新存储的日志数据与之前存储的日志数据之间的上下文关联,能够在检索时根据日志标识实现日志信息的上下文定位,提高了日志信息检索的准确率。

附图说明

图1是本发明实施例方案涉及的硬件运行环境中日志处理设备的结构示意图;

图2为本发明日志处理方法第一实施例的流程示意图;

图3为本发明日志处理装置一实施例中的功能模块示意图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

如图1所示,图1是本发明实施例方案涉及的硬件运行环境中日志处理设备的结构示意图。

本发明实施例日志处理设备可以是pc、分布式业务系统的中心服务器等,如图1所示,该日志处理设备可以包括:处理器1001,例如cpu,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(display)、输入单元比如键盘(keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如wi-fi接口)。存储器1005可以是高速ram存储器,也可以是稳定的存储器(non-volatilememory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。

可选地,日志处理设备还可以包括摄像头、rf(radiofrequency,射频)电路,传感器、音频电路、wifi模块等等。其中,传感器比如光传感器、运动传感器以及其他传感器。

本领域技术人员可以理解,图1中示出的日志处理设备结构并不构成对日志处理设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及日志处理程序。

在图1所示的日志处理设备中,网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;用户接口1003主要用于连接客户端(用户端),与客户端进行数据通信;而处理器1001可以用于调用存储器1005中存储的日志处理程序。

在本实施例中,日志处理设备包括:存储器1005、处理器1001及存储在所述存储器1005上并可在所述处理器1001上运行的日志处理程序,其中,处理器1001调用存储器1005中存储的日志处理程序时,并执行下述日志处理方法中的操作。

本发明还提供一种日志处理方法,参照图2,图2为本发明日志处理方法第一实施例的流程示意图。

本实施例中,该日志处理方法包括:

步骤s100,获取已存储日志数据的第一日志标识以及所述第一日志标识对应的第一排序序号;

在需要存储日志时,分布式业务系统中的终端节点发送日志请求至中心服务器,中心服务器根据日志请求生成业务日志以及业务日志对应的日志标识,并将业务日志存储至日志路径对应的存储区域,以便于中心服务器中的日志处理器采集该业务日志。其中,生成的业务日志的日志格式可以为:[应用名][logid][时间日期][线程名][日志级别]-[消息文本],logid为日志标识。

而后,日志处理器基于该日志路径获取业务日志,需要说明的是,可在在生成业务日志时,发送信息至日志处理器,日志处理器根据该信息确定当前存储未处理业务日志,进而基于该日志路径获取业务日志,或者,日志处理器根据日志路径实时确定是否存在未处理业务日志,若存在,则基于该日志路径获取业务日志。例如,日志路径可以为:/home/app/logs/*/error/*.log,其中,*号表示匹配当前目录下所有文件夹,*.log表示匹配当前文件夹下所有以.log后缀结尾的日志文件。日志处理器根据获取到的业务日志确定待处理日志。

本实施例中,在获取到待处理日志时,获取已存储日志数据的第一日志标识以及所述第一日志标识对应的第一排序序号,其中,已存储日志数据、第一日志标识以及第一排序序号关联存储与预设存储区域或者存储介质中。

可以理解的是,若第一日志标识中存在多条日志数据对应于同一日志标识,则将该多条日志数据对应的最大排序序号作为该同一日志标识对应的排序序号,对应若第一日志标识中仅对应一条日志数据的日志标识,其所对应的日志数据的排序序号即为该仅对应一条日志数据的日志标识所对应的排序序号,进而确定第一排序序号,例如,第一日志标识包括字符串a、b、c,字符串a对应的排序序号包括1、2、3,字符串b对应的排序序号包括1、2、3、4,字符串c对应的排序序号包括1,则第一排序序号包括字符串a对应的最大排序序号3、字符串b对应的最大排序序号4以及字符串c对应的排序序号1。

步骤s200,基于所述第一日志标识、第一排序序号以及待处理日志的第二日志标识,确定所述待处理日志中的第二日志数据对应的第二排序序号;

本实施例中,在获取到第一日志标识以及第一排序序号时,基于第一日志标识、第一排序序号以及第二日志数据(待处理日志中的所有日志数据)的第二日志标识,确定第二日志数据对应的第二排序序号,具体地,对于第一日志标识与第二日志标识之间相同的日志标识,根据该相同的日志标识对应的第一排序序号中的排序序号,确定相同的日志标识对应的第二排序序号,对于第一日志标识与第二日志标识之间不相同的日志标识,根据初始序号确定其对应的第二排序序号,例如,第一日志标识包括字符串a、b、c,第一排序序号包括字符串a对应的最大排序序号3、字符串b对应的最大排序序号4以及字符串c对应的排序序号1;第二日志标识包括字符串a、e,则第二排序序号包括字符串a对应的排序序号4(字符串a对应的最大排序序号3 1)、初始序号(例如1)。

步骤s300,基于所述第二排序序号以及所述第二日志标识,对所述第二日志数据进行排序,以获得排序后的日志数据;

本实施例中,在获取到第二排序序号时,根据第二排序序号以及第二日志标识,对第二日志数据进行排序,以获得排序后的日志数据,具体地,若第二日志标识为一个,则直接根据第二排序序号对第二日志数据进行排序,若第二日志标识包括多个,则根据第二排序序号分别对第二日志标识对应的日志数据进行排序。例如,第二日志标识包括字符串a、e,第二排序序号包括字符串a对应的排序序号4(字符串a对应的最大排序序号3 1)、初始序号(例如1),则根据排序序号4对第二日志数据中字符串a对应的日志数据进行排序,根据初始序号对第二日志数据中字符串e对应的日志数据进行排序。

步骤s400,基于排序后的日志数据更新所述已存储日志数据。

本实施例中,在获取到排序后的日志数据后,基于排序后的日志数据更新已存储日志数据,即将排序后的日志数据、第二日志标识以及排序后的日志数据对应的排序序号,关联存储至已存储日志数据对应的预设存储区域或存储介质。

需要说明的是,若不存在已存储日志数据,则第一日志标识、第一排序序号均为空或0,因此,直接根据第二日志标识确定第二日志数据对应的第二排序序号。

由于同一终端节点中同一线程所产生的日志数据中,前后的日志数据存在一定的关联,因此,通过排序序号以及日志标识,在新存储的日志数据与之前存储的日志数据之间建立上下文的关联,能够在检索时根据排序序号以及日志标识检索到多条该日志标识对应的日志数据,进而实现日志的上下文定位,以得到与检索到的日志数据关联的上下文日志数据,提高日志信息检索的准确率。

本实施例提出的日志处理方法,通过获取已存储日志数据的第一日志标识以及所述第一日志标识对应的第一排序序号,接着基于所述第一日志标识、第一排序序号以及待处理日志的第二日志标识,确定所述待处理日志中的第二日志数据对应的第二排序序号;而后基于所述第二排序序号以及所述第二日志标识,对所述第二日志数据进行排序,以获得排序后的日志数据,接着基于排序后的日志数据更新所述已存储日志数据,实现了根据已存储日志数据的日志标识以及排序序号存储待处理日志中的日志数据,进而建立新存储的日志数据与之前存储的日志数据之间的上下文关联,能够在检索时根据日志标识实现日志信息的上下文定位,提高了日志信息检索的准确率。

基于第一实施例,提出本发明日志处理方法的第二实施例,在本实施例中,步骤s200包括:

步骤s210,确定所述第一日志标识与所述第二日志标识之间是否存在相同日志标识;

步骤s220,若第一日志标识与所述第二日志标识之间存在相同日志标识,则基于所述第一排序序号,获取所述已存储日志数据中相同日志标识对应的第三排序序号;

步骤s230,基于所述第三排序序号,确定所述第二排序序号。

进一步地,在一实施例中,步骤s230包括:

步骤s231,若所述第一日志标识与所述第二日志标识之间不存在不同日志标识,则基于所述第三排序序号,确定所述第二排序序号;

步骤s232,若所述第一日志标识与所述第二日志标识之间存在不同日志标识,则基于所述第三排序序号以及初始序号确定所述第二排序序号。

本实施例中,本实施例中,在获取到第一日志标识以及第一排序序号时,确定第一日志标识与第二日志标识之间是否存在相同日志标识,若第一日志标识与第二日志标识之间存在相同日志标识,则基于第一排序序号,获取已存储日志数据中相同日志标识对应的第三排序序号,例如,第一日志标识包括字符串a、b、c,第一排序序号包括字符串a对应的最大排序序号3、字符串b对应的最大排序序号4以及字符串c对应的排序序号1;第二日志标识包括字符串a,则第三排序序号包括字符串a对应的排序序号4(字符串a对应的最大排序序号3 1)。

而后,基于所述第三排序序号,确定所述第二排序序号。具体地。若第一日志标识与第二日志标识之间不存在不同日志标识,则基于第三排序序号,确定所述第二排序序号;例如,第二日志标识仅包括字符串a,则第三排序序号即为第二排序序号,即第二排序序号为字符串a对应的排序序号4。若第一日志标识与第二日志标识之间存在不同日志标识,则基于第三排序序号以及初始序号确定第二排序序号,例如,第二日志标识包括字符串a、e,则第二排序序号包括第三排序序号(字符串a对应的排序序号4)以及初始序号。

需要说明的是,若相同日志标识包括多个,则分别基于相同日志标识对应的第三排序序号确定各个相同日志标识对应的第二排序序号,若不同日志标识包括多个,则第二排序序号中各个不同日志标识对应的排序序号均为初始序号。

进一步地,在一实施例中,步骤s210之后,还包括:若所述第一日志标识与所述第二日志标识之间不存在相同日志标识,则基于所述第二日志标识以及初始序号确定所述第二排序序号。

本实施例中,若第一日志标识与第二日志标识之间不存在相同日志标识,则基于第二日志标识以及初始序号确定第二排序序号,具体地,将该初始序号作为第二排序序号。

本实施例提出的日志处理方法,通过确定所述第一日志标识与所述第二日志标识之间是否存在相同日志标识;接着若所述第一日志标识与所述第二日志标识之间存在相同日志标识,则基于所述第一排序序号,获取所述已存储日志数据中相同日志标识对应的第三排序序号,而后基于所述第三排序序号,确定所述第二排序序号,能够根据第一日志标识、第一排序序号以及第二日志标识准确确定第二排序序号,进而提高第二日志数据的排序准确性,进一步提高了日志信息检索的准确率。

基于第二实施例,提出本发明日志处理方法的第三实施例,在本实施例中,所述第一日志标识与所述第二日志标识之间存在不同日志标识,步骤s300包括:

步骤s310,基于所述相同日志标识以及所述第三排序序号,对所述第二日志数据中相同日志标识对应的日志数据进行排序;

步骤s320,基于所述不同日志标识以及初始序号,对所述第二日志数据中不同日志标识对应的日志数据进行排序。

本实施例中,若第一日志标识与第二日志标识之间存在不同日志标识,则将相同日志标识对应的日志数据以及不同日志标识对应的日志数据进行拆分,基于相同日志标识以及第三排序序号,对第二日志数据中相同日志标识对应的日志数据进行排序,同时基于不同日志标识以及初始序号,对第二日志数据中不同日志标识对应的日志数据进行排序,以实现第二日志数据的准确排序。

进一步地,在一实施例中,步骤s310包括:

步骤s311,若所述相同日志标识包括一个,且所述相同日志标识对应的日志数据包括多个,则获取各个所述相同日志标识对应的第一日志时间,并基于所述第一日志时间以及所述第三排序序号对所述相同日志标识对应的日志数据进行排序;

步骤s312,若所述相同日志标识包括多个,且所述相同日志标识对应的日志数据中存在日志标识相同的多个相同标识日志数据,则获取各个所述相同标识日志数据对应的第二日志时间,基于所述第三排序序号中所述相同标识日志数据对应的排序序号,以及所述第二日志时间对所述相同标识日志数据进行排序,基于所述第三排序序号中剩余日志数据对应的排序序号对所述剩余日志数据进行排序,其中,所述剩余日志数据为所述相同日志标识对应的日志数据中除所述相同标识日志数据之外的其他日志数据。

本实施例中,由于终端节点发送的日志请求可能对应多条日志信息,因此,获取到的业务日志可能包括多个,使得待处理日志中可能存在多条日志数据,进而使得第一日志标识与第二日志标识之间的相同日志标识可能包括多个。在对相同日志标识对应的日志数据进行排序时,先判断相同日志标识是否为多个。

若相同日志标识包括一个,则判断相同日志标识对应的日志数据是否为多个,若相同日志标识对应的日志数据包括多个,则获取该相同日志标识对应的第一日志时间,即相同日志标识对应的各个日志数据中的时间日期,并基于第一日志时间以及第三排序序号对相同日志标识对应的日志数据进行排序,即按照第一日志时间的先后顺序,根据第三排序序号对相同日志标识对应的日志数据进行排序,例如,相同日志标识对应的日志数据包括日志数据a、日志数据b,第一日志时间的先后顺序为日志数据b、日志数据a,第三排序序号为4,则日志数据b的排序序号为4,日志数据a的排序序号为5。当然,若相同日志标识对应的日志数据仅包括1个,则基于第三排序序号对该相同日志标识对应的日志数据进行排序,例如,相同日志标识对应的日志数据包括日志数据a,第三排序序号为4,则日志数据a的排序序号为4。

若相同日志标识包括多个,则判断相同日志标识对应的日志数据中是否存在日志标识相同的多个相同标识日志数据。

若相同日志标识对应的日志数据中存在日志标识相同的多个相同标识日志数据,则获取各个相同标识日志数据对应的第二日志时间,基于第三排序序号中相同标识日志数据对应的排序序号,以及第二日志时间对相同标识日志数据进行排序,即按照第二日志时间的先后顺序,根据第三排序序号中相同标识日志数据对应的排序序号对相同标识日志数据进行排序,基于第三排序序号中剩余日志数据对应的排序序号对剩余日志数据进行排序,其中,剩余日志数据为所述相同日志标识对应的日志数据中除相同标识日志数据之外的其他日志数据。例如,第二日志标识包括字符串a、b、e,相同日志标识为字符串a、b,第三排序序号包括字符串a对应的排序序号4、字符串b对应的排序序号8,日志数据c、日志数据d对应的日志标识为字符串a,日志数据e对应的日志标识为字符串b,即日志数据c、日志数据d为相同标识日志数据,若第二日志时间的先后顺序为日志数据c、日志数据d,则日志数据c的排序序号为4,日志数据d的排序序号为5,而后日志数据c的排序序号为9。

若相同日志标识对应的日志数据中不存在日志标识相同的多个相同标识日志数据,则直接基于第三排序序号对相同日志标识对应的日志数据进行排序,例如,第二日志标识包括字符串a、b、e,相同日志标识为字符串a、b,第三排序序号包括字符串a对应的排序序号4、字符串b对应的排序序号8,日志数据f对应的日志标识为字符串a,日志数据g对应的日志标识为字符串b,则日志数据f的排序序号为4,日志数据g的排序序号为8。

可以理解的是,在对不同日志标识对应的日志数据进行排序时,判断不同日志标识是否为多个。

若不同日志标识包括一个,则判断不同日志标识对应的日志数据是否为多个。若不同日志标识对应的日志数据包括多个,则获取该不同日志标识对应的第三日志时间,即不同日志标识对应的各个日志数据中的时间日期,并基于第三日志时间以及初始序号对不同日志标识对应的日志数据进行排序,即按照第三日志时间的先后顺序,根据初始序号对不同日志标识对应的日志数据进行排序。若该不同日志标识对应的日志数据仅包括1个,则将该初始序号作为该不同日志标识对应的日志数据的排序序号。

若不同日志标识包括多个,则判断不同日志标识对应的日志数据中是否存在日志标识相同的多个相同标识日志数据。

若不同日志标识对应的日志数据中存在日志标识相同的多个相同标识日志数据,则获取各个相同标识日志数据对应的第四日志时间,基于初始序号以及第四日志时间对相同标识日志数据进行排序,即按照第四日志时间的先后顺序,根据初始序号对相同标识日志数据进行排序,基于初始序号对剩余日志数据进行排序,其中,剩余日志数据为不同日志标识对应的日志数据中除相同标识日志数据之外的其他日志数据。若不同日志标识对应的日志数据中不存在日志标识相同的多个相同标识日志数据,则直接基于初始序号对不同日志标识对应的日志数据进行排序。

需要说明的是,若第一日志标识与第二日志标识之间不存在相同日志标识,则第二日志数据的排序方式与不同日志标识对应的日志数据的排序方式类似,在此不再赘述。

本实施例提出的日志处理方法,通过基于所述相同日志标识以及所述第三排序序号,对所述第二日志数据中相同日志标识对应的日志数据进行排序,基于所述不同日志标识以及初始序号,对所述第二日志数据中不同日志标识对应的日志数据进行排序,能够根据第二排序序号中的第三排序序号以及初始序号对第二日志数据进行准确排序,进一步提高了日志信息检索的准确率。

基于第一实施例,提出本发明日志处理方法的第四实施例,在本实施例中,步骤s100之前,该日志处理方法还包括:

步骤s500,基于日志路径,获取分布式业务系统中的业务日志;

步骤s600,对所述业务日志进行格式化过滤处理操作,以获得过滤后的业务日志;

步骤s700,对过滤后的业务日志进行解析处理,以获得所述待处理日志。

本实施例中,通过获取日志路径对应的业务日志,并对业务日志进行格式化过滤处理操作,以获得过滤后的业务日志,例如获得过滤后的业务日志为:"[ordersystem][2ec99bc404eef445985560e998ed6d0b][2019-11-1815:23:40][thread-179][error]-[zhangsancreateorder,orderid:100011558]"。

而后,对过滤后的业务日志进行解析处理,以获得待处理日志,即按照预设的格式对业务日志进行解析,得到满足格式要求的标准化的日志数据,例如,待处理日志中的日志数据如下所示:

可以理解的是,在获取到业务日志之后,删除日志路径对应的业务日志,以使得后续不会获取到重复的业务日志。

本实施例提出的日志处理方法,通过基于日志路径,获取分布式业务系统中的业务日志;接着对所述业务日志进行格式化过滤处理操作,以获得过滤后的业务日志;而后对过滤后的业务日志进行解析处理,以获得所述待处理日志,通过对业务日志进行处理,得到满足格式要求的待处理日志,提升业务日志的解析效率,以提高日志数据的排序效率。同时,通过实时获取业务日志,提升业务日志的时效性和准确率。

基于第一实施例,提出本发明日志处理方法的第五实施例,在本实施例中,该日志处理方法还包括:

步骤s800,在接收到日志请求时,获取所述日志请求对应的日志信息、线程信息以及终端标识,并基于所述线程信息以及终端标识生成日志标识;

步骤s900,基于所述日志信息以及所述日志标识生成业务日志,并关联存储所述日志标识以及所述业务日志。

本实施例中,在接收到日志请求时,获取日志请求对应的日志信息、线程信息以及终端标识,并基于线程信息以及终端标识生成日志标识,以使相同的终端标识以及线程信息对应相同的日志标识。

而后,基于日志信息以及日志标识生成业务日志,使得相同的终端标识以及线程信息对应的业务日志的日志标识相同,并关联存储日志标识以及所述业务日志,即根据日志路径关联存储日志标识以及所述业务日志。

本实施例提出的日志处理方法,通过在接收到日志请求时,获取所述日志请求对应的日志信息、线程信息以及终端标识,并基于所述线程信息以及终端标识生成日志标识;接着基于所述日志信息以及所述日志标识生成业务日志,并关联存储所述日志标识以及所述业务日志,进而通过根据线程信息以及终端标识生成日志标识,使得相同的终端标识以及线程信息对应的业务日志的日志标识相同,进而通过对业务日志进行排序时能够根据日志标识进行排序,已提现相同终端以及相同线程所对应的日志数据之间的上下文关联性,能够在检索时根据日志标识实现日志信息的上下文定位,提高了日志信息检索的准确率。

基于上述各个实施例,提出本发明日志处理方法的第六实施例,在本实施例中,该日志处理方法还包括:

步骤a,在接收到检索请求时,基于所述检索请求对应的关键字对已存储日志数据进行检索,以获取所述关键字对应的第三日志数据;

步骤b,获取所述第三日志数据对应的第三日志标识,在已存储日志数据中获取所述第三日志标识对应的目标日志数据以及所述目标日志数据对应的排序序号。

本实施例中,在接收到检索请求时,确定该检索请求对应的关键字,并根据关键字对已存储日志数据进行检索,以获取所述关键字对应的第三日志数据,即第三日志数据为已存储日志数据中包括该关键字的日志数据。

而后,获取该第三日志数据对应的第三日志标识,并在已存储日志数据中获取所述第三日志标识对应的目标日志数据以及目标日志数据对应的排序序号,将该目标日志数据以及目标日志数据对应的排序序号作为检索请求对应的检索结果输出,进而实现日志的上下文检索。

本实施例提出的日志处理方法,通过在接收到检索请求时,基于所述检索请求对应的关键字对已存储日志数据进行检索,以获取所述关键字对应的第三日志数据;接着获取所述第三日志数据对应的第三日志标识,在已存储日志数据中获取所述第三日志标识对应的目标日志数据以及所述目标日志数据对应的排序序号,进而实现日志信息的上下文检索,提高了日志信息检索的准确率。

本发明实施例还提供一种日志处理装置,参照图3,所述日志处理装置包括:

获取模块100,用于获取已存储日志数据的第一日志标识以及所述第一日志标识对应的第一排序序号;

确定模块200,用于基于所述第一日志标识、第一排序序号以及待处理日志的第二日志标识,确定所述待处理日志中的日志数据对应的第二排序序号;

排序模块300,用于基于所述第二排序序号以及所述第二日志标识,对所述待处理日志中的第二日志数据进行排序,以获得排序后的日志数据;

更新模块400,用于基于排序后的日志数据更新所述已存储日志数据。

可选地,确定模块200还用于:

确定所述第一日志标识与所述第二日志标识之间是否存在相同日志标识;

若第一日志标识与所述第二日志标识之间存在相同日志标识,则基于所述第一排序序号,获取所述已存储日志数据中相同日志标识对应的第三排序序号;

基于所述第三排序序号,确定所述第二排序序号。

可选地,确定模块200还用于:

若所述第一日志标识与所述第二日志标识之间不存在不同日志标识,则基于所述第三排序序号,确定所述第二排序序号;

若所述第一日志标识与所述第二日志标识之间存在不同日志标识,则基于所述第三排序序号以及初始序号确定所述第二排序序号。

可选地,所述第一日志标识与所述第二日志标识之间存在不同日志标识,排序模块300还用于:

基于所述相同日志标识以及所述第三排序序号,对所述第二日志数据中相同日志标识对应的日志数据进行排序;

基于所述不同日志标识以及初始序号,对所述第二日志数据中不同日志标识对应的日志数据进行排序。

可选地,排序模块300还用于:

若所述相同日志标识包括一个,且所述相同日志标识对应的日志数据包括多个,则获取各个所述相同日志标识对应的第一日志时间,并基于所述第一日志时间以及所述第三排序序号对所述相同日志标识对应的日志数据进行排序;

若所述相同日志标识包括多个,且所述相同日志标识对应的日志数据中存在日志标识相同的多个相同标识日志数据,则获取各个所述相同标识日志数据对应的第二日志时间,基于所述第三排序序号中所述相同标识日志数据对应的排序序号,以及所述第二日志时间对所述相同标识日志数据进行排序,基于所述第三排序序号中剩余日志数据对应的排序序号对所述剩余日志数据进行排序,其中,所述剩余日志数据为所述相同日志标识对应的日志数据中除所述相同标识日志数据之外的其他日志数据。

可选地,确定模块200还用于:

若第一日志标识与所述第二日志标识之间不存在相同日志标识,则基于所述第二日志标识以及初始序号确定所述第二排序序号。

可选地,日志处理装置还包括:

日志获取模块,用于基于日志路径,获取分布式业务系统中的业务日志;

过滤模块,用于对所述业务日志进行格式化过滤处理操作,以获得过滤后的业务日志;

解析模块,用于对过滤后的业务日志进行解析处理,以获得所述待处理日志。

可选地,日志处理装置还包括:

信息获取模块,用于在接收到日志请求时,获取所述日志请求对应的日志信息、线程信息以及终端标识,并基于所述线程信息以及终端标识生成日志标识;

生成模块,用于基于所述日志信息以及所述日志标识生成业务日志,并关联存储所述日志标识以及所述业务日志。

可选地,日志处理装置还包括:

检索模块,用于在接收到检索请求时,基于所述检索请求对应的关键字对已存储日志数据进行检索,以获取所述关键字对应的第三日志数据;

标识获取模块,用于获取所述第三日志数据对应的第三日志标识,在已存储日志数据中获取所述第三日志标识对应的目标日志数据以及所述目标日志数据对应的排序序号。

上述各程序模块所执行的方法可参照本发明日志处理方法各个实施例,此处不再赘述。

此外,本发明实施例还提出一种计算机可读存储介质。

所述计算机可读存储介质上存储有日志处理程序,所述日志处理程序被处理器执行时实现如上所述的日志处理方法的步骤。

其中,在所述处理器上运行的日志处理程序被执行时所实现的方法可参照本发明日志处理方法各个实施例,此处不再赘述。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。

以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。


技术特征:

1.一种日志处理方法,其特征在于,所述日志处理方法包括以下步骤:

获取已存储日志数据的第一日志标识以及所述第一日志标识对应的第一排序序号;

基于所述第一日志标识、第一排序序号以及待处理日志的第二日志标识,确定所述待处理日志中的第二日志数据对应的第二排序序号;

基于所述第二排序序号以及所述第二日志标识,对所述第二日志数据进行排序,以获得排序后的日志数据;

基于排序后的日志数据更新所述已存储日志数据。

2.如权利要求1所述的日志处理方法,其特征在于,所述基于所述第一日志标识、第一排序序号以及待处理日志的第二日志标识,确定所述待处理日志中的日志数据对应的第二排序序号的步骤包括:

确定所述第一日志标识与所述第二日志标识之间是否存在相同日志标识;

若第一日志标识与所述第二日志标识之间存在相同日志标识,则基于所述第一排序序号,获取所述已存储日志数据中相同日志标识对应的第三排序序号;

基于所述第三排序序号,确定所述第二排序序号。

3.如权利要求2所述的日志处理方法,其特征在于,所述基于所述第三排序序号,确定所述第二排序序号的步骤包括:

若所述第一日志标识与所述第二日志标识之间不存在不同日志标识,则基于所述第三排序序号,确定所述第二排序序号;

若所述第一日志标识与所述第二日志标识之间存在不同日志标识,则基于所述第三排序序号以及初始序号确定所述第二排序序号。

4.如权利要求3所述的日志处理方法,其特征在于,所述第一日志标识与所述第二日志标识之间存在不同日志标识,所述基于所述第二排序序号以及所述第二日志标识,对所述待处理日志中的第二日志数据进行排序的步骤包括:

基于所述相同日志标识以及所述第三排序序号,对所述第二日志数据中相同日志标识对应的日志数据进行排序;

基于所述不同日志标识以及初始序号,对所述第二日志数据中不同日志标识对应的日志数据进行排序。

5.如权利要求4所述的日志处理方法,其特征在于,所述基于所述相同日志标识以及所述第三排序序号,对所述第二日志数据中相同日志标识对应的日志数据进行排序的步骤包括:

若所述相同日志标识包括一个,且所述相同日志标识对应的日志数据包括多个,则获取各个所述相同日志标识对应的第一日志时间,并基于所述第一日志时间以及所述第三排序序号对所述相同日志标识对应的日志数据进行排序;

若所述相同日志标识包括多个,且所述相同日志标识对应的日志数据中存在日志标识相同的多个相同标识日志数据,则获取各个所述相同标识日志数据对应的第二日志时间,基于所述第三排序序号中所述相同标识日志数据对应的排序序号,以及所述第二日志时间对所述相同标识日志数据进行排序,基于所述第三排序序号中剩余日志数据对应的排序序号对所述剩余日志数据进行排序,其中,所述剩余日志数据为所述相同日志标识对应的日志数据中除所述相同标识日志数据之外的其他日志数据。

6.如权利要求2所述的日志处理方法,其特征在于,所述确定所述第一日志标识与所述第二日志标识之间是否存在相同日志标识的步骤之后,还包括:

若所述第一日志标识与所述第二日志标识之间不存在相同日志标识,则基于所述第二日志标识以及初始序号确定所述第二排序序号。

7.如权利要求1所述的日志处理方法,其特征在于,所述获取已存储日志数据的第一日志标识以及所述第一日志标识对应的第一排序序号的步骤之前,所述日志处理方法还包括:

基于日志路径,获取分布式业务系统中的业务日志;

对所述业务日志进行格式化过滤处理操作,以获得过滤后的业务日志;

对过滤后的业务日志进行解析处理,以获得所述待处理日志。

8.如权利要求1所述的日志处理方法,其特征在于,所述日志处理方法还包括:

在接收到日志请求时,获取所述日志请求对应的日志信息、线程信息以及终端标识,并基于所述线程信息以及终端标识生成日志标识;

基于所述日志信息以及所述日志标识生成业务日志,并关联存储所述日志标识以及所述业务日志。

9.如权利要求1至8任一项所述的日志处理方法,其特征在于,所述日志处理方法还包括:

在接收到检索请求时,基于所述检索请求对应的关键字对已存储日志数据进行检索,以获取所述关键字对应的第三日志数据;

获取所述第三日志数据对应的第三日志标识,在已存储日志数据中获取所述第三日志标识对应的目标日志数据以及所述目标日志数据对应的排序序号。

10.一种日志处理装置,其特征在于,所述日志处理装置包括:

获取模块,用于获取已存储日志数据的第一日志标识以及所述第一日志标识对应的第一排序序号;

确定模块,用于基于所述第一日志标识、第一排序序号以及待处理日志的第二日志标识,确定所述待处理日志中的日志数据对应的第二排序序号;

排序模块,用于基于所述第二排序序号以及所述第二日志标识,对所述待处理日志中的第二日志数据进行排序,以获得排序后的日志数据;

更新模块,用于基于排序后的日志数据更新所述已存储日志数据。

11.一种日志处理设备,其特征在于,所述日志处理设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的日志处理程序,所述日志处理程序被所述处理器执行时实现如权利要求1至9中任一项所述的日志处理方法的步骤。

12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有日志处理程序,所述日志处理程序被处理器执行时实现如权利要求1至9中任一项所述的日志处理方法的步骤。

技术总结
本发明涉及金融科技(Fintech)技术领域,并公开了一种日志处理方法,包括:获取已存储日志数据的第一日志标识以及所述第一日志标识对应的第一排序序号;基于第一日志标识、第一排序序号以及待处理日志的第二日志标识,确定待处理日志中的第二日志数据对应的第二排序序号;基于第二排序序号以及第二日志标识,对第二日志数据进行排序,以获得排序后的日志数据;基于排序后的日志数据更新所述已存储日志数据。本发明还公开了一种日志处理装置、设备及计算机可读存储介质。本发明通过建立新存储的日志数据与之前存储的日志数据之间的上下文关联,能够在检索时根据日志标识实现日志信息的上下文定位,提高了日志信息检索的准确率。

技术研发人员:钟志明;郑明华;魏帅超;闵超
受保护的技术使用者:深圳前海微众银行股份有限公司
技术研发日:2020.01.09
技术公布日:2020.06.09

转载请注明原文地址: https://bbs.8miu.com/read-24730.html

最新回复(0)