CN110175154A - 一种日志记录的处理方法、服务器及存储介质 - Google Patents

一种日志记录的处理方法、服务器及存储介质 Download PDF

Info

Publication number
CN110175154A
CN110175154A CN201910414763.3A CN201910414763A CN110175154A CN 110175154 A CN110175154 A CN 110175154A CN 201910414763 A CN201910414763 A CN 201910414763A CN 110175154 A CN110175154 A CN 110175154A
Authority
CN
China
Prior art keywords
task
server
log recording
log
buffer queue
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.)
Pending
Application number
CN201910414763.3A
Other languages
English (en)
Inventor
杨峙岳
尹强
刘有
王和平
黄山
邸帅
卢道和
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
WeBank Co Ltd
Original Assignee
WeBank Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by WeBank Co Ltd filed Critical WeBank Co Ltd
Priority to CN201910414763.3A priority Critical patent/CN110175154A/zh
Publication of CN110175154A publication Critical patent/CN110175154A/zh
Priority to PCT/CN2020/080081 priority patent/WO2020233212A1/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/172Caching, prefetching or hoarding of files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/1805Append-only file systems, e.g. using logs or journals to store data
    • G06F16/1815Journaling file systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种日志记录的处理方法、服务器及存储介质,用以解决现有技术中存在的获取日志记录的实时性较低的技术问题,应用于指定集群中多个第一服务器的任一个,第一服务器中部署有至少一个任务的至少一个微服务该方法包括:获取第一服务器中处于运行状态的微服务产生的日志记录;将日志记录缓存到缓存队列中;在缓存队列中的日志记录对应的任一个任务未完成前,对缓存队列的状态进行监听,当达到传输缓存队列中日志记录的传输条件时,将缓存队列中的所有日志记录传输到指定集群中的第二服务器,使第二服务器按所有日志记录对应的各个任务的标识信息对所有日志记录进行处理,并将各个任务的当前处理结果推送到发起各个任务对应的用户界面。

Description

一种日志记录的处理方法、服务器及存储介质
技术领域
本发明涉及金融科技的大数据领域,尤其是涉及一种日志记录的处理方法、服务器及存储介质。
背景技术
在对科技金融领域(FinTech)中的数据进行大数据分析时,往往需要先收集用户在大数据平台所使用的各种服务的日志记录。
建立在微服务架构上的大数据平台,通常是由包含数量众多的服务器构成的集群组成的,微服务产生的日志记录存在集群中的服务器上。用户要查看大数据平台中各微服务产生的日志记录,就需要登陆到各台服务器中分别进行查看,这样对于排错及为用户替换有效日志都十分不便。
在现有技术中,可以通过微服务日志收集系统(ElasticSearch、LogStash、Kibana,ELK),从各个服务器中收集日志记录,并展示给用户。ELK的工作过程包括:首先,在需要收集日志记录的所有服务器上部署Logstash,Logstash用于对当前服务器进行监控并过滤收集日志记录;其次,将过滤后的日志记录发送到Redis(数据库),并由Logstashindexer将日志记录收集后交给全文搜索服务ElasticSearch;最后使用ElasticSearch进行自定义搜索,并结合Kibana进行页面展示。
然而,尽管ELK可以对集群中的日志记录进行分散收集,但是其受限于ELK的上述工作过程,而不能实时的向用户推送日志。
鉴于此,如何提高获取日志记录的实时性成为一个亟待解决的技术问题。
发明内容
本发明提供一种日志记录的处理方法、服务器及存储介质,用以解决现有技术中存在的获取日志记录的实时性较低的技术问题。
第一方面,为解决上述技术问题,本发明实施例提供的一种日志记录的处理方法,所述方法应用于指定集群中多个第一服务器的任一个,所述第一服务器中部署有至少一个任务的至少一个微服务,所述指定集群中还包括一个第二服务器,该方法的技术方案如下:
获取所述第一服务器中处于运行状态的微服务产生的日志记录;
将所述日志记录缓存到缓存队列中;
在所述缓存队列中的日志记录对应的任一个任务未完成前,对所述缓存队列的状态进行监听,当达到传输所述缓存队列中日志记录的传输条件时,将所述缓存队列中的所有日志记录传输到第二服务器,使所述第二服务器按所述所有日志记录对应的各个任务的标识信息对所述所有日志记录进行处理,并将所述各个任务的当前处理结果推送到发起所述各个任务对应的用户界面。
通过从指定集群获取第一服务器中处于运行状态的微服务产生的日志记录;并将日志记录缓存到缓存队列中;在缓存队列中的日志记录对应的任一个任务未完成前,对缓存队列的状态进行监听,当达到传输缓存队列中日志记录的传输条件时,将缓存队列中的所有日志记录传输到第二服务器,使第二服务器按所有日志记录对应的各个任务的标识信息对所有日志记录进行处理,并将各个任务的当前处理结果推送到发起各个任务对应的用户界面,从而能够在任务执行过程中及时获取日志记录,而不需等到任务完成后才获取日志记录,进而能够有效的提高获取日志记录的实时性。
可选的,对所述缓存队列的状态进行监听,包括:
判断所述缓存队列的存储空间是否已全占满;若所述缓存队列的存储空间为全占满,则确定达到所述传输条件;或,
判断是否到达定时发送所述缓存队列中的日志记录的时间;若到达定时发送所述缓存队列中的日志记录的时间时,则确定达到所述传输条件。
可选的,将所述日志记录缓存到缓存队列中之后,还包括:
在监听总线上监听所述至少一个任务中任一个任务的任务状态是否为已完成状态;其中,所述监听总线用于接收所述第一服务器中所有任务的任务状态;
若所述任一个任务为已完成状态,则将所述缓存队列中的所有日志记录传输到所述第二服务器。
可选的,所述缓存队列为阻塞队列,所述缓存队列使用的存储介质为内部存储器。
第二方面,本发明实施例提供的一种日志记录的处理方法,所述方法应用于指定集群中的一个第二服务器,所述指定集群中还包括多个第一服务器,所述第一服务器中部署有至少一个任务的至少一个微服务,该方法的技术方案如下:
接收至少一个所述第一服务器发送的处于运行状态的微服务产生的日志记录;
对接收到的日志记录按各个任务的标识信息进行分别处理,获得所述各个任务的当前处理结果;其中,每条日志记录中携带有对应任务的标识信息;
将所述各个任务的当前处理结果,推送到发起所述各个任务对应的用户界面。
通过让指定集群中的第二服务器,接收从指定集群中的至少一个第一服务器发送的处于运行状态的微服务产生的日志记录,并按每条日志记录中携带的对应任务的标识信息,对接收到的日志记录按各个任务的标识信息进行分别处理,获得各个任务的当前处理结果,最后将各个任务的当前处理结果,推送到发起各个任务对应的用户界面,从而能够让第二服务器及时的从第一服务器中获取各个任务在执行过程中产生的日志记录,而不需等到任务完成后才获取日志记录,进而能够有效的提高获取日志记录的实时性。
可选的,对接收到的日志记录按各个任务的标识信息进行分别处理,获得所述各个任务的当前处理结果,包括:
按所述各个任务的标识信息,对所述接收到的日志记录进行分组,获得所述各个任务当前包含的日志记录集;
对所述各个任务当前包含的日志记录集执行以下处理过程:
对所述日志记录集中非用户需要的日志进行过滤,获得过滤结果;
按日志记录产生的时间,对所述过滤结果中的所有日志记录进行排序,获得排序结果;
按预设关键字,对所述排序结果进行搜索,获得所述各个任务的当前处理结果。
第三方面,本发明实施例提供了一种第一服务器,应用于指定集群,所述指定集群中包括多个所述第一服务器和一个第二服务器,所述第一服务器中部署有至少一个任务的至少一个微服务,该第一服务器包括:
获取单元,用于获取所述第一服务器中处于运行状态的微服务产生的日志记录;
缓存单元,用于将所述日志记录缓存到缓存队列中;
监听单元,用于在所述缓存队列中的日志记录对应的任一个任务未完成前,对所述缓存队列的状态进行监听,当达到传输所述缓存队列中日志记录的传输条件时,将所述缓存队列中的所有日志记录传输到第二服务器,使所述第二服务器按所述所有日志记录对应的各个任务的标识信息对所述所有日志记录进行处理,并将所述各个任务的当前处理结果推送到发起所述各个任务对应的用户界面。
可选的,所述监听单元用于:
判断所述缓存队列的存储空间是否已全占满;若所述缓存队列的存储空间为全占满,则确定达到所述传输条件;或,
判断是否到达定时发送所述缓存队列中的日志记录的时间;若到达定时发送所述缓存队列中的日志记录的时间时,则确定达到所述传输条件。
可选的,所述监听单元还用于:
在监听总线上监听所述至少一个任务中任一个任务的任务状态是否为已完成状态;其中,所述监听总线用于接收所述第一服务器中所有任务的任务状态;
若所述任一个任务为已完成状态,则将所述缓存队列中的所有日志记录传输到所述第二服务器。
可选的,所述缓存队列为阻塞队列,所述缓存队列使用的存储介质为内部存储器。
第四方面,本发明实施例提供了一种第二服务器,应用于指定集群,所述指定集群中包括多个所述第一服务器和一个第二服务器,所述第一服务器中部署有至少一个任务的至少一个微服务,该第二服务器包括:
接收单元,用于接收至少一个所述第一服务器发送的处于运行状态的微服务产生的日志记录;
处理单元,用于对接收到的日志记录按各个任务的标识信息进行分别处理,获得所述各个任务的当前处理结果;其中,每条日志记录中携带有对应任务的标识信息;
推送单元,用于将各个任务的当前处理结果,推送到发起所述各个任务对应的用户界面。
可选的,所述处理单元用于:
按所述各个任务的标识信息,对所述接收到的日志记录进行分组,获得所述各个任务当前包含的日志记录集;
对所述各个任务当前包含的日志记录集执行以下处理过程:
对所述日志记录集中非用户需要的日志进行过滤,获得过滤结果;
按日志记录产生的时间,对所述过滤结果中的所有日志记录进行排序,获得排序结果;
按预设关键字,对所述排序结果进行搜索,获得所述各个任务的当前处理结果。
第三方面,本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面或第二方面方法的步骤。
第四方面,本发明实施例还提供一种服务器,包括:
至少一个存储器,用于存储程序指令;
至少一个处理器,用于调用所述存储器中存储的程序指令,按照获得的程序指令执行如第一方面或第二方面所述的方法。
通过本发明实施例的上述一个或多个实施例中的技术方案,本发明实施例至少具有如下技术效果:
在本发明提供的实施例中,通过从指定集群获取第一服务器中处于运行状态的微服务产生的日志记录;并将日志记录缓存到缓存队列中;在缓存队列中的日志记录对应的任一个任务未完成前,对缓存队列的状态进行监听,当达到传输缓存队列中日志记录的传输条件时,将缓存队列中的所有日志记录传输到第二服务器,使第二服务器按所有日志记录对应的各个任务的标识信息对所有日志记录进行处理,并将各个任务的当前处理结果推送到发起各个任务对应的用户界面,从而能够在任务执行过程中及时获取日志记录,而不需等到任务完成后才获取日志记录,进而能够有效的提高获取日志记录的实时性。
附图说明
图1为本发明实施例提供在第一服务器侧的一种日志记录的处理方法的流程图;
图2为本发明实施例提供在第二服务器侧的一种日志记录的处理方法的流程图;
图3为本发明实施例提供的一种第一服务器的结构示意图;
图4为本发明实施例提供的一种第二服务器的结构示意图。
具体实施方式
本发明实施列提供一种日志记录的处理方法、服务器及存储介质,以解决现有技术中存在的获取日志记录的实时性较低的技术问题。
金融科技及计算机技术的发展,使得金融机构(如银行机构、保险机构、证券机构和理财机构等)下的大数据应用越来越广,在现有的大数据领域中,对海量日志记录进行获取处理时,按照常规的ELK工具会导致日志记录获取的实时性较差,而这种情况严重不符合金融机构的需求。
本申请实施例中的技术方案为解决上述的技术问题,总体思路如下:
提供一种日志记录的处理方法,应用于指定集群中多个第一服务器的任一个,第一服务器中部署有至少一个任务的至少一个微服务,指定集群中还包括一个第二服务器,该方法包括:获取第一服务器中处于运行状态的微服务产生的日志记录;将日志记录缓存到缓存队列中;在缓存队列中的日志记录对应的任一个任务未完成前,对缓存队列的状态进行监听,当达到传输缓存队列中日志记录的传输条件时,将缓存队列中的所有日志记录传输到第二服务器,使第二服务器按所有日志记录对应的各个任务的标识信息对所有日志记录进行处理,并将各个任务的当前处理结果推送到发起各个任务对应的用户界面。
由于在上述方案中,通过从指定集群获取第一服务器中处于运行状态的微服务产生的日志记录;并将日志记录缓存到缓存队列中;在缓存队列中的日志记录对应的任一个任务未完成前,对缓存队列的状态进行监听,当达到传输缓存队列中日志记录的传输条件时,将缓存队列中的所有日志记录传输到第二服务器,使第二服务器按所有日志记录对应的各个任务的标识信息对所有日志记录进行处理,并将各个任务的当前处理结果推送到发起各个任务对应的用户界面,从而能够在任务执行过程中及时获取日志记录,而不需等到任务完成后才获取日志记录,进而能够有效的提高获取日志记录的实时性。通过上述处理方式,使得银行等金融机构在进行日志记录获取的时候,实时性更强,更加符合银行等金融机构的需求。
为了更好的理解上述技术方案,下面通过附图以及具体实施例对本发明技术方案做详细的说明,应当理解本发明实施例以及实施例中的具体特征是对本发明技术方案的详细的说明,而不是对本发明技术方案的限定,在不冲突的情况下,本发明实施例以及实施例中的技术特征可以相互组合。
请参考图1,本发明实施例提供一种日志记录的处理方法,应用于指定集群中多个第一服务器的任一个,第一服务器中部署有至少一个任务的至少一个微服务,指定集群中还包括一个第二服务器,该方法的处理过程如下。
步骤101:获取第一服务器中处于运行状态的微服务产生的日志记录。
在执行步骤101之前,需要在指定集群中的每台服务器中部署Spring Cloud(一种微服务架构云平台),并在指定集群的每台第一服务器上部署组件(具体可以是log4j2)。这样第一服务器便可对运行在其中的微服务产生的日志记录进行收集。
在获取日志记录之后,便可执行步骤102。
步骤102:将日志记录缓存到缓存队列中。
在获取日志记录之后,需将日志记录缓存到缓存队列中。
在本发明提供的实施例中,通过将日志记录缓存到缓存队列中,可以有效地避免在将日志记录发送给第二服务器时,由于HTTP请求过于频繁而导致第二服务器一直处于繁忙状态,让第二服务器能够解释更多的第一服务器发送的日志记录,从而提高工作效率。
进一步的,缓存队列可以为阻塞队列。通过将缓存队列设置为阻塞队列,该阻塞队列可设计为预设缓存数目的阻塞队列,在高并发产生日志时,可以有效地防止日志记录因不能被及时缓存而丢失的问题,从而能够有效的保护日志记录的完整性。
在本发明提供的实施例中,缓存队列使用的存储介质为内部存储器。通过将缓存队列使用的存储介质设置为内部存储器,在日志记录生成之后,可以不必写入第一服务器的磁盘中,而是写入第一服务器的内部存储器中,这样可有效地节约第一服务器读写磁盘时消耗的IO时间,提高缓存效率。
在将日志记录缓存到日志队列中之后,便可执行步骤103。
步骤103:在缓存队列中的日志记录对应的任一个任务未完成前,对缓存队列的状态进行监听,当达到传输缓存队列中日志记录的传输条件时,将缓存队列中的所有日志记录传输到第二服务器,使第二服务器按所有日志记录对应的各个任务的标识信息对所有日志记录进行处理,并将各个任务的当前处理结果推送到发起各个任务对应的用户界面。
在缓存队列中的日志记录对应的任一个任务未完成前,对缓存队列的状态进行监听,具体可以包括以下两种方式:
第一种:判断缓存队列的存储空间是否已全占满;若缓存队列的存储空间为全占满,则确定达到传输条件。
例如,第一服务器中一个缓存队列有256个存储单元,在存储完一个微服务新产生的日志记录之后,判断缓存队列的256个存储单元是否全占满,假设判断结果为全占满,则确定达到传输条件,第一服务器将缓存队列中的所有日志记录都发送给第二服务器。若判断结果为未全占满,则暂不发送缓存队列中的日志记录。
第二种:判断是否到达定时发送缓存队列中的日志记录的时间;若到达定时发送缓存队列中的日志记录的时间时,则确定达到传输条件。
例如,假设第一服务器的缓存队列中的日志记录是按每隔1分钟发送一次,当前时间距离上次发送的时间小于1分钟,此时判断出未到达发送缓存队列中的日志记录的时间,暂不发送缓存队列中的日志记录;一段时间之后,第一服务器判断出当前时间距离上次发送的时间为1分钟,确定达到传输条件,此时无论缓存队列中的存储空间是否存满,都将缓存队列中的全部日志记录发送给第二服务器。
可选的,将日志记录缓存到缓存队列中之后,第一服务器在监听总线上监听至少一个任务中任一个任务的任务状态是否为已完成状态;其中,监听总线用于接收第一服务器中所有任务的任务状态;若任一个任务为已完成状态,则将缓存队列中的所有日志记录传输到第二服务器。
由于在第一服务器中可能同时存在多个任务的微服务在同时运行,这些任务的完成时间不一定相同,每个任务在完成之后,都会将相关信息发送到监听总线上,使监听总线中对应任务的状态修改为已完成状态。第一服务器在监听总线上监听到任一个任务的状态变为已完成状态后,为了及时将该任务的日志记录传输到第二服务器,便将缓存队列中的所有日志记录传输到第二服务器。
例如,第一服务器中有10个任务(记为任务1~10)的微服务在运行,缓存队列中共有256个存储单元,当前在将任务3的微服务产生的日志记录缓存到缓存队列后,判断出缓存队列的存储空间未占满,但第一服务器通过监听总线监听到任务3的任务状态变为已完成状态,第一服务器将缓存队列中的所有日志记录发送给第二服务器。
若达到传输条件采用的上述第二种方式,在未达到定时发送缓存队列中的日志记录的时间,而第一服务器监听到任一个任务的任务状态为已完成状态时,仍需将缓存队列中的所有日志记录发送给第二服务器。
具体的,在第一服务将缓存队列中的所有日志记录传输到第二服务器时,是通过HTTP协议,以排队的方式将所有日志记录发送到第二服务器的。
在第二服务器接收到第一服务器发送的日志记录之后,将按所有日志记录对应的各个任务的标识信息对所有日志记录进行处理,并将各个任务的当前处理结果推送到发起各个任务对应的用户界面。
需要说明的是,在本发明提供的实施例中,在实际应用时上述日志记录的处理方法(第一服务器中处于运行状态的微服务产生的日志记录、日志记录的缓存)可以设计为一个组件(如Appender组件),对缓存队列是否已满或是否达到定时发送的时间,以及监听各任务的任务状态可以通过设置在Appender组件中的监听器来实现。
请参见图2,本发明一实施例中提供一种日志记录的处理方法,应用于指定集群中的一个第二服务器,指定集群中还包括多个第一服务器,第一服务器中部署有至少一个任务的至少一个微服务,该方法包括:
步骤201:接收至少一个第一服务器发送的处于运行状态的微服务产生的日志记录。
步骤202:对接收到的日志记录按各个任务的标识信息进行分别处理,获得各个任务的当前处理结果;其中,每条日志记录中携带有对应任务的标识信息。
由于指定集群中通常包括有多个第一服务器,在用户发起任务后,将任务分为多个微服务,部署在至少一个第一服务器中,同一任务的微服务及其产生的日志记录都会携带对应的任务标识,所以第二服务器在接收到各第一服务器发送的日志记录后,可以根据日志记录中的任务标识,确定各日志记录所属的任务。
第二服务器对接收到的日志记录按各个任务的标识信息进行分别处理,获得各个任务的当前处理结果,包括:
先按各个任务的标识信息,对接收到的日志记录进行分组,获得各个任务当前包含的日志记录集。
再对各个任务当前包含的日志记录集执行以下处理过程:首先,对日志记录集中非用户需要的日志进行过滤,获得过滤结果;其次,按日志记录产生的时间,对过滤结果中的所有日志记录进行排序,获得排序结果;最后,按预设关键字,对排序结果进行搜索,获得各个任务的当前处理结果。
例如,假设第二服务器当前接收到3台第一服务器(记为第一服务器A、第一服务器B、第一服务器C)发送的日志记录,第一服务器A发送的日志记录中有3个任务(记为任务1~3)的微服务产生的日志记录,第一服务器B发送的日志记录中有2个任务(记为任务4、任务5)的微服务产生的日志记录,第一服务器C发送的日志记录中有3个任务(记为任务6~8)的微服务产生的日志记录。
第二服务器在接收到这3台第一服务器发送的日志记录后,按任务标识将这些日志记录分为8组,得到任务1~任务8各自的日志记录集。由于这8个日志记录集中有些是系统日志,有些是用户需要的日志,所以需要先对日志记录集中非用户需要的日志(例如系统日志)进行过滤,获得这8个任务各自的过滤结果,然后,再对这8个任务各自的过滤结果按照日志记录产生的时间进行排序,获得8个任务各自的排序结果,若任务1~8各个的预设关键字依次为关键字1~关键字8,则在任务1的排序结果中搜索关键字1,在任务2的排序结果中搜索关键字2,其他任务依次类推,最终得到任务1~8的当前处理结果。
在得到各个任务的当前处理结果之后,便可执行步骤203。
步骤203:将各个任务的当前处理结果,推送到发起各个任务对应的用户界面。
第二服务器在得到各个任务的当前处理结果后,将各个任务的当前处理结果,推送到发起各个任务对应的用户界面。
例如,依然以前面的8个任务为例,假设这8个任务分别来自用户1~用户8,则第二服务器根据任务标识,将任务1的当前处理结果推送给用户1,将任务2的当前处理结果推送给用户2,依次类推直到将这8个任务都推送到对应的用户。
在第二服务器对接收到的日志记录,按各个任务的标识信息进行分别处理之前或之后,第二服务器还可以控制指定线程将日志记录异步存储到指定存储介质。
例如,第二服务器可以按照日志记录中的任务的标识信息,将日志记录存储到对应任务的磁盘中,为每个用户备份对应的任务的日志记录,这样可以在用户需要时从磁盘中读取任务的日志记录。
基于同一发明构思,本发明一实施例中提供一种在指定集群中用于处理日志记录的第一服务器,指定集群中包括多个所述第一服务器和一个第二服务器,所述第一服务器中部署有至少一个任务的至少一个微服务,该第一服务器的日志记录的处理方法的具体实施方式可参见第一服务器侧方法实施例部分的描述,重复之处不再赘述,请参见图3,该第一服务器包括:
获取单元301,用于获取所述第一服务器中处于运行状态的微服务产生的日志记录;
缓存单元302,用于将所述日志记录缓存到缓存队列中;
监听单元303,用于在所述缓存队列中的日志记录对应的任一个任务未完成前,对所述缓存队列的状态进行监听,当达到传输所述缓存队列中日志记录的传输条件时,将所述缓存队列中的所有日志记录传输到第二服务器,使所述第二服务器按所述所有日志记录对应的各个任务的标识信息对所述所有日志记录进行处理,并将所述各个任务的当前处理结果推送到发起所述各个任务对应的用户界面。
可选的,所述监听单元303用于:
判断所述缓存队列的存储空间是否已全占满;若所述缓存队列的存储空间为全占满,则确定达到所述传输条件;或,
判断是否到达定时发送所述缓存队列中的日志记录的时间;若到达定时发送所述缓存队列中的日志记录的时间时,则确定达到所述传输条件。
可选的,所述监听单元303还用于:
在监听总线上监听所述至少一个任务中任一个任务的任务状态是否为已完成状态;其中,所述监听总线用于接收所述第一服务器中所有任务的任务状态;
若所述任一个任务为已完成状态,则将所述缓存队列中的所有日志记录传输到所述第二服务器。
可选的,所述缓存队列为阻塞队列,所述缓存队列使用的存储介质为内部存储器。
基于同一发明构思,本发明一实施例中提供一种在指定集群中用于处理日志记录的第二服务器,指定集群中包括多个所述第一服务器和一个第二服务器,所述第一服务器中部署有至少一个任务的至少一个微服务,该第二服务器的日志记录的处理方法的具体实施方式可参见第二服务器侧方法实施例部分的描述,重复之处不再赘述,请参见图4,该第二服务器包括:
接收单元401,用于接收至少一个所述第一服务器发送的处于运行状态的微服务产生的日志记录;
处理单元402,用于对接收到的日志记录按各个任务的标识信息进行分别处理,获得所述各个任务的当前处理结果;其中,每条日志记录中携带有对应任务的标识信息;
推送单元403,用于将各个任务的当前处理结果,推送到发起所述各个任务对应的用户界面。
可选的,所述处理单元402用于:
按所述各个任务的标识信息,对所述接收到的日志记录进行分组,获得所述各个任务当前包含的日志记录集;
对所述各个任务当前包含的日志记录集执行以下处理过程:
对所述日志记录集中非用户需要的日志进行过滤,获得过滤结果;
按日志记录产生的时间,对所述过滤结果中的所有日志记录进行排序,获得排序结果;
按预设关键字,对所述排序结果进行搜索,获得所述各个任务的当前处理结果。
基于同一发明构思,本发明实施例还提一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如第一服务器侧或第二服务器侧对日志记录进行处理方法的步骤。
基于同一发明构思,本发明实施例中提供了一种服务器,包括:
至少一个存储器,用于存储程序指令;
至少一个处理器,用于调用所述存储器中存储的程序指令,按照获得的程序指令执行如第一服务器侧或第二服务器侧对日志记录进行处理的方法。
在本发明提供的实施例中,通过从指定集群获取第一服务器中处于运行状态的微服务产生的日志记录;并将日志记录缓存到缓存队列中;在缓存队列中的日志记录对应的任一个任务未完成前,对缓存队列的状态进行监听,当达到传输缓存队列中日志记录的传输条件时,将缓存队列中的所有日志记录传输到第二服务器,使第二服务器按所有日志记录对应的各个任务的标识信息对所有日志记录进行处理,并将各个任务的当前处理结果推送到发起各个任务对应的用户界面,从而能够在任务执行过程中及时获取日志记录,而不需等到任务完成后才获取日志记录,进而能够有效的提高获取日志记录的实时性。
本领域内的技术人员应明白,本发明实施例可提供为方法、系统、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (10)

1.一种日志记录的处理方法,其特征在于,所述方法应用于指定集群中多个第一服务器的任一个,所述第一服务器中部署有至少一个任务的至少一个微服务,所述指定集群中还包括一个第二服务器,所述方法包括:
获取所述第一服务器中处于运行状态的微服务产生的日志记录;
将所述日志记录缓存到缓存队列中;
在所述缓存队列中的日志记录对应的任一个任务未完成前,对所述缓存队列的状态进行监听,当达到传输所述缓存队列中日志记录的传输条件时,将所述缓存队列中的所有日志记录传输到第二服务器,使所述第二服务器按所述所有日志记录对应的各个任务的标识信息对所述所有日志记录进行处理,并将所述各个任务的当前处理结果推送到发起所述各个任务对应的用户界面。
2.如权利要求1所述的方法,其特征在于,对所述缓存队列的状态进行监听,包括:
判断所述缓存队列的存储空间是否已全占满;若所述缓存队列的存储空间为全占满,则确定达到所述传输条件;或,
判断是否到达定时发送所述缓存队列中的日志记录的时间;若到达定时发送所述缓存队列中的日志记录的时间时,则确定达到所述传输条件。
3.如权利要求1或2任一项所述的方法,其特征在于,将所述日志记录缓存到缓存队列中之后,还包括:
在监听总线上监听所述至少一个任务中任一个任务的任务状态是否为已完成状态;其中,所述监听总线用于接收所述第一服务器中所有任务的任务状态;
若所述任一个任务为已完成状态,则将所述缓存队列中的所有日志记录传输到所述第二服务器。
4.如权利要求3所述的方法,其特征在于,所述缓存队列为阻塞队列,所述缓存队列使用的存储介质为内部存储器。
5.一种日志记录的处理方法,其特征在于,所述方法应用于指定集群中的一个第二服务器,所述指定集群中还包括多个第一服务器,所述第一服务器中部署有至少一个任务的至少一个微服务,所述方法包括:
接收至少一个所述第一服务器发送的处于运行状态的微服务产生的日志记录;
对接收到的日志记录按各个任务的标识信息进行分别处理,获得所述各个任务的当前处理结果;其中,每条日志记录中携带有对应任务的标识信息;
将所述各个任务的当前处理结果,推送到发起所述各个任务对应的用户界面。
6.如权利要求5所述的方法,其特征在于,对接收到的日志记录按各个任务的标识信息进行分别处理,获得所述各个任务的当前处理结果,包括:
按所述各个任务的标识信息,对所述接收到的日志记录进行分组,获得所述各个任务当前包含的日志记录集;
对所述各个任务当前包含的日志记录集执行以下处理过程:
对所述日志记录集中非用户需要的日志进行过滤,获得过滤结果;
按日志记录产生的时间,对所述过滤结果中的所有日志记录进行排序,获得排序结果;
按预设关键字,对所述排序结果进行搜索,获得所述各个任务的当前处理结果。
7.一种第一服务器,应用于指定集群,其特征在于,所述指定集群中包括多个所述第一服务器和一个第二服务器,所述第一服务器中部署有至少一个任务的至少一个微服务,所述第一服务器包括:
获取单元,用于获取所述第一服务器中处于运行状态的微服务产生的日志记录;
缓存单元,用于将所述日志记录缓存到缓存队列中;
监听单元,用于在所述缓存队列中的日志记录对应的任一个任务未完成前,对所述缓存队列的状态进行监听,当达到传输所述缓存队列中日志记录的传输条件时,将所述缓存队列中的所有日志记录传输到第二服务器,使所述第二服务器按所述所有日志记录对应的各个任务的标识信息对所述所有日志记录进行处理,并将所述各个任务的当前处理结果推送到发起所述各个任务对应的用户界面。
8.一种第二服务器,应用于指定集群,其特征在于,所述指定集群中包括多个所述第一服务器和一个第二服务器,所述第一服务器中部署有至少一个任务的至少一个微服务,所述第二服务器包括:
接收单元,用于接收至少一个所述第一服务器发送的处于运行状态的微服务产生的日志记录;
处理单元,用于对接收到的日志记录按各个任务的标识信息进行分别处理,获得所述各个任务的当前处理结果;其中,每条日志记录中携带有对应任务的标识信息;
推送单元,用于将各个任务的当前处理结果,推送到发起所述各个任务对应的用户界面。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-6任一项方法的步骤。
10.一种服务器,其特征在于,包括:
至少一个存储器,用于存储程序指令;
至少一个处理器,用于调用所述存储器中存储的程序指令,按照获得的程序指令执行上述权利要求1-6任一项所述的方法。
CN201910414763.3A 2019-05-17 2019-05-17 一种日志记录的处理方法、服务器及存储介质 Pending CN110175154A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201910414763.3A CN110175154A (zh) 2019-05-17 2019-05-17 一种日志记录的处理方法、服务器及存储介质
PCT/CN2020/080081 WO2020233212A1 (zh) 2019-05-17 2020-03-18 一种日志记录的处理方法、服务器及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910414763.3A CN110175154A (zh) 2019-05-17 2019-05-17 一种日志记录的处理方法、服务器及存储介质

Publications (1)

Publication Number Publication Date
CN110175154A true CN110175154A (zh) 2019-08-27

Family

ID=67691551

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910414763.3A Pending CN110175154A (zh) 2019-05-17 2019-05-17 一种日志记录的处理方法、服务器及存储介质

Country Status (2)

Country Link
CN (1) CN110175154A (zh)
WO (1) WO2020233212A1 (zh)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110611592A (zh) * 2019-09-20 2019-12-24 中国联合网络通信集团有限公司 日志记录方法及设备
CN111078648A (zh) * 2019-11-29 2020-04-28 珠海金山网络游戏科技有限公司 实时获取GoCD执行任务的方法及系统
CN111176951A (zh) * 2019-12-31 2020-05-19 上海擎感智能科技有限公司 日志输出的配置/日志处理方法/系统、介质及服务器
WO2020233212A1 (zh) * 2019-05-17 2020-11-26 深圳前海微众银行股份有限公司 一种日志记录的处理方法、服务器及存储介质
CN112131196A (zh) * 2020-09-09 2020-12-25 华人运通(上海)云计算科技有限公司 一种分布式日志处理方法、装置、终端设备及存储介质
CN112416717A (zh) * 2020-11-27 2021-02-26 中国农业银行股份有限公司 一种批量执行结果上报方法、装置、设备及介质
CN112612675A (zh) * 2020-12-25 2021-04-06 山东经伟晟睿数据技术有限公司 微服务架构下的分布式大数据日志链路跟踪方法及系统
CN113051243A (zh) * 2021-03-31 2021-06-29 上海阵量智能科技有限公司 日志处理方法、装置、系统、芯片、设备及存储介质
CN113934547A (zh) * 2021-08-30 2022-01-14 山东浪潮科学研究院有限公司 一种集群环境下告警日志的记录方法、装置、设备及产品
CN114495378A (zh) * 2022-01-21 2022-05-13 浪潮卓数大数据产业发展有限公司 基于atm机的取现信息获取及处理方法及系统
CN115328755A (zh) * 2022-10-11 2022-11-11 中化现代农业有限公司 一种并发日志记录方法及系统
CN118689859A (zh) * 2024-08-29 2024-09-24 山东云海国创云计算装备产业创新中心有限公司 日志的落盘方法和装置、存储介质及电子设备

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113065142A (zh) * 2021-03-12 2021-07-02 华控清交信息科技(北京)有限公司 多方安全计算方法、装置、服务器及存储介质
CN113419872B (zh) * 2021-06-24 2023-11-07 陕西优百信息技术有限公司 一种应用系统接口集成系统、集成方法、设备及存储介质
CN116352330B (zh) * 2023-06-01 2023-08-01 广州富士汽车整线集成有限公司 重载回转机构的切换控制装置和汽车加工产线系统
CN117891695B (zh) * 2024-03-14 2024-06-21 新华三技术有限公司 一种日志记录方法、装置、电子设备及存储介质
CN118585505A (zh) * 2024-08-06 2024-09-03 天翼视联科技有限公司 日志处理方法、装置、电子装置和存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103036961A (zh) * 2012-12-07 2013-04-10 蓝盾信息安全技术股份有限公司 一种日志分布式收集及存储方法
CN103176888A (zh) * 2011-12-22 2013-06-26 阿里巴巴集团控股有限公司 一种日志记录的方法和系统
CN103902646A (zh) * 2013-12-27 2014-07-02 北京天融信软件有限公司 一种分布式任务管理系统与方法
US20170004188A1 (en) * 2015-06-30 2017-01-05 Ca, Inc. Apparatus and Method for Graphically Displaying Transaction Logs
CN107861859A (zh) * 2017-11-22 2018-03-30 北京汇通金财信息科技有限公司 一种基于微服务架构的日志管理方法及系统
CN107979490A (zh) * 2017-11-17 2018-05-01 北京联想超融合科技有限公司 日志数据的记录方法及服务器集群
CN109669915A (zh) * 2018-12-12 2019-04-23 浪潮(北京)电子信息产业有限公司 一种计算机任务管理方法、装置及相关设备

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103617287A (zh) * 2013-12-12 2014-03-05 用友软件股份有限公司 一种分布式环境下的日志管理方法和装置
CN106777371B (zh) * 2017-01-23 2019-12-06 北京齐尔布莱特科技有限公司 日志收集系统和方法
US10255052B2 (en) * 2017-05-30 2019-04-09 International Business Machines Corporation Dynamic deployment of an application based on micro-services
CN109213742A (zh) * 2018-11-02 2019-01-15 大唐网络有限公司 日志采集方法及装置
CN109743199A (zh) * 2018-12-25 2019-05-10 中国联合网络通信集团有限公司 基于微服务的容器化管理系统
CN110175154A (zh) * 2019-05-17 2019-08-27 深圳前海微众银行股份有限公司 一种日志记录的处理方法、服务器及存储介质

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103176888A (zh) * 2011-12-22 2013-06-26 阿里巴巴集团控股有限公司 一种日志记录的方法和系统
CN103036961A (zh) * 2012-12-07 2013-04-10 蓝盾信息安全技术股份有限公司 一种日志分布式收集及存储方法
CN103902646A (zh) * 2013-12-27 2014-07-02 北京天融信软件有限公司 一种分布式任务管理系统与方法
US20170004188A1 (en) * 2015-06-30 2017-01-05 Ca, Inc. Apparatus and Method for Graphically Displaying Transaction Logs
CN107979490A (zh) * 2017-11-17 2018-05-01 北京联想超融合科技有限公司 日志数据的记录方法及服务器集群
CN107861859A (zh) * 2017-11-22 2018-03-30 北京汇通金财信息科技有限公司 一种基于微服务架构的日志管理方法及系统
CN109669915A (zh) * 2018-12-12 2019-04-23 浪潮(北京)电子信息产业有限公司 一种计算机任务管理方法、装置及相关设备

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020233212A1 (zh) * 2019-05-17 2020-11-26 深圳前海微众银行股份有限公司 一种日志记录的处理方法、服务器及存储介质
CN110611592A (zh) * 2019-09-20 2019-12-24 中国联合网络通信集团有限公司 日志记录方法及设备
CN111078648A (zh) * 2019-11-29 2020-04-28 珠海金山网络游戏科技有限公司 实时获取GoCD执行任务的方法及系统
CN111176951A (zh) * 2019-12-31 2020-05-19 上海擎感智能科技有限公司 日志输出的配置/日志处理方法/系统、介质及服务器
CN112131196A (zh) * 2020-09-09 2020-12-25 华人运通(上海)云计算科技有限公司 一种分布式日志处理方法、装置、终端设备及存储介质
CN112416717A (zh) * 2020-11-27 2021-02-26 中国农业银行股份有限公司 一种批量执行结果上报方法、装置、设备及介质
CN112612675A (zh) * 2020-12-25 2021-04-06 山东经伟晟睿数据技术有限公司 微服务架构下的分布式大数据日志链路跟踪方法及系统
CN112612675B (zh) * 2020-12-25 2023-02-28 山东经伟晟睿数据技术有限公司 微服务架构下的分布式大数据日志链路跟踪方法及系统
CN113051243A (zh) * 2021-03-31 2021-06-29 上海阵量智能科技有限公司 日志处理方法、装置、系统、芯片、设备及存储介质
CN113934547A (zh) * 2021-08-30 2022-01-14 山东浪潮科学研究院有限公司 一种集群环境下告警日志的记录方法、装置、设备及产品
CN113934547B (zh) * 2021-08-30 2024-05-17 山东浪潮科学研究院有限公司 一种集群环境下告警日志的记录方法、装置、设备及产品
CN114495378A (zh) * 2022-01-21 2022-05-13 浪潮卓数大数据产业发展有限公司 基于atm机的取现信息获取及处理方法及系统
CN115328755A (zh) * 2022-10-11 2022-11-11 中化现代农业有限公司 一种并发日志记录方法及系统
CN118689859A (zh) * 2024-08-29 2024-09-24 山东云海国创云计算装备产业创新中心有限公司 日志的落盘方法和装置、存储介质及电子设备

Also Published As

Publication number Publication date
WO2020233212A1 (zh) 2020-11-26

Similar Documents

Publication Publication Date Title
CN110175154A (zh) 一种日志记录的处理方法、服务器及存储介质
JP7197675B2 (ja) データストリームのリアルタイム処理のためのシステムおよび方法
CN105224445B (zh) 分布式跟踪系统
KR101559206B1 (ko) 로그 데이터 처리 방법 및 이를 수행하는 시스템
CN106534242B (zh) 一种分布式系统中请求的处理方法以及装置
EP3553678A1 (en) Systems and methods for accessing data items and aggregating data records
CN109725899A (zh) 数据流式处理方法及装置
CN113360554A (zh) 一种数据抽取、转换和加载etl的方法和设备
CN113282611B (zh) 一种流数据同步的方法、装置、计算机设备及存储介质
US7840523B2 (en) Method and system for time-sliced aggregation of data that monitors user interactions with a web page
CN108920948A (zh) 一种反欺诈流式计算装置及方法
CN108460094A (zh) 存储统计数据的方法和系统
CN111125042A (zh) 一种确定风险操作事件的方法和装置
CN107004086A (zh) 安全信息和事件管理
CN109359019A (zh) 应用程序性能监控方法、装置、电子设备及存储介质
CN109144734A (zh) 一种容器资源配额分配方法和装置
CN108829505A (zh) 一种分布式调度系统及方法
CN110083600A (zh) 一种日志收集处理的方法、装置、计算设备及存储介质
CN109241187A (zh) 基于Kafka消息队列的MongoDB日志采集和分析系统
WO2022261249A1 (en) Distributed task assignment, distributed alerts and supression management, and artifact life tracking storage in a cluster computing system
WO2024088026A1 (zh) 一种云数据迁移的优化方法及系统
US9405786B2 (en) System and method for database flow management
CN112181972A (zh) 基于大数据的数据治理方法、装置和计算机设备
US20180225325A1 (en) Application resiliency management using a database driver
CN107861983A (zh) 面向高速遥感影像处理的遥感影像存储系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination