一种日志管理方法、系统、介质和电子设备与流程

文档序号:17475356发布日期:2019-04-20 06:05阅读:138来源:国知局
一种日志管理方法、系统、介质和电子设备与流程

本发明涉及计算机技术领域,具体而言,涉及一种日志管理方法、系统、介质和电子设备。



背景技术:

随着互联网技术的发展,任何一种业务都会产生大量的日志,日志对于一个系统来说是很重要的一部分,可分为系统日志和业务日志。系统日志一般用于记录系统中的异常,bug,该类日志主要用于技术人员快速定位问题。业务日志一般用于记录用户在系统中所做的各种操作,该类日志的用处很多,比如可以用于责任追踪(查看某个功能在什么时间什么人做了什么操作)、分析哪些功能模块操作频率、记录商户的登陆信息等等业务操作。

而传统的日志记录管理方法是人为的写入保存,这样造成了日志的管理混乱,对后期的维护使用非常不方便,为了规范各个模块业务日志记录格式规范、方便以后查询。搭建一套高可用、高性能的业务日志搜集服务。本发明开发人员在长期的研发当中,做了大量研究,从而提出了一种有效的日志管理方法方法,以解决上述技术问题之一。



技术实现要素:

本发明的目的在于提供一种日志管理方法、系统、介质和电子设备,能够解决上述提到的至少一个技术问题。具体方案如下:

根据本发明的具体实施方式,第一方面,本发明提供一种日志管理方法,包括如下步骤:

通过软件开发工具包接收不同类型的日志数据,并将所述不同类型的日志数据发送到客户端数据校验模块进行数据校验;

校验成功则发送到客户端生产者模块;

客户端健康检查模块对kafka集群队列进行诊断,并根据诊断结果决定将所述日志数据发送到kafka集群队列或本地存储设备。

可选的,所述客户端健康检查模块对kafka集群队列进行诊断,并根据诊断结果决定将所述日志数据发送到kafka集群队列或本地存储设备,包括:

所述客户端健康检查模块对kafka集群队列进行诊断;

当所述kafka集群队列健康时,将所述日志数据发送到kafka集群队列;

当所述kafka集群队列不健康时,将所述日志数据发送到本地存储设备。

可选的,所述当所述kafka集群队列不健康时,将所述日志数据发送到本地存储设备之后,包括:

实时监听所述客户端健康检查模块对kafka集群队列的诊断结果;

当诊断结果为所述kafka集群队列已经健康时;

将存储于本地存储设备的日志数据发送到所述kafka集群队列。

可选的,所述将存储于本地存储设备的日志数据发送到所述kafka集群队列之后,包括:

所述kafka集群队列按照数据类型分配管理所述日志。

可选的,所述通过软件开发工具包接收不同类型的日志数据,并将所述不同类型的日志数据发送到客户端数据校验模块进行数据校验之后,包括:

所述软件开发工具包接收并保存校验成功或失败的反馈信息。

可选的,所述kafka集群队列按照数据类型分配管理所述日志,包括:

所述kafka集群队列中的不同类型日志由服务端多个消费者模块接收;

所述消费者模块按照所述日志类型分类管理所述日志。

可选的,所述不同类型的日志数据包括:业务日志数据和系统日志数据。

根据本发明的具体实施方式,第二方面,本发明提供一种日志管理系统,包括:

收发单元,通过软件开发工具包接收不同类型的日志数据,并将所述不同类型的日志数据发送到客户端数据校验模块进行数据校验;

校验单元,校验成功则发送到客户端生产者模块;

诊断单元,客户端健康检查模块对kafka集群队列进行诊断,并根据诊断结果决定将所述日志数据发送到kafka集群队列或本地存储设备。

根据本发明的具体实施方式,第三方面,本发明提供一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现如上任一项所述的方法。

根据本发明的具体实施方式,第四方面,本发明提供一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如上任一项所述的方法。

本发明实施例的上述方案与现有技术相比,至少具有以下有益效果:本发明通过一种日志管理方法、系统、介质和电子设备,根据不同种类的日志类型,通过前期的健康诊断和数据校验,挑选出符合要求的日志进行保存和调用,对于不符合要求的日志进行监控,当其符合要求后加入管理队列,整个日志的记录格式规范,管理有限,方便后续查询使用。提供了一套高可用、高性能的业务日志搜集服务系统。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:

图1示出了根据本发明实施例的日志管理方法流程图;

图2示出了根据本发明的实施例的日志管理方法执行流程示意图;

图3示出了根据本发明的实施例的日志管理系统结构示意图;

图4示出了根据本发明的实施例的电子设备连接结构示意图;

图5示出了根据本发明的实施例的日志管理方法部分单元执行流程示意图;

具体实施方式

为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。

在本申请实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义,“多种”一般包含至少两种。

应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。

应当理解,尽管在本申请实施例中可能采用术语第一、第二、第三等来描述……,但这些……不应限于这些术语。这些术语仅用来将……区分开。例如,在不脱离本申请实施例范围的情况下,第一……也可以被称为第二……,类似地,第二……也可以被称为第一……。

取决于语境,如在此所使用的词语“如果”、“若”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。

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

下面结合附图详细说明本发明的优选实施例。

实施例1

如图1-2所示,根据本发明的具体实施方式,第一方面,本发明提供一种日志管理方法,包括如下步骤:

步骤s102:通过软件开发工具包接收不同类型的日志数据,并将所述不同类型的日志数据发送到客户端数据校验模块进行数据校验;

软件开发工具包(缩写:sdk、外语全称:softwaredevelopmentkit)一般都是一些软件工程师为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件时的开发工具的集合。软件开发工具包括广义上指辅助开发某一类软件的相关文档、范例和工具的集合。

其中不同类型的日志包括业务类日志和系统类日志,例如保单创建日志,支付记日志,转账记日志等,如图2所示。不同类型的日志通过不同类型的sdk收集,例如phpsdk,javasdk等。

可选的,所述通过软件开发工具包接收不同类型的日志数据,并将所述不同类型的日志数据发送到客户端数据校验模块进行数据校验之后,包括:

步骤s103:所述软件开发工具包接收并保存校验成功或失败的反馈信息。

步骤s104:校验成功则发送到客户端生产者模块;

步骤s106:客户端健康检查模块对kafka集群队列进行诊断,并根据诊断结果决定将所述日志数据发送到kafka集群队列或本地存储设备。

可选的,具体的,所述步骤s106,包括:

步骤s1061:所述客户端健康检查模块对kafka集群队列进行诊断;

步骤s1062:当所述kafka集群队列健康时,将所述日志数据发送到kafka集群队列;

步骤s1063:当所述kafka集群队列不健康时,将所述日志数据发送到本地存储设备。

如图5所示,可选的,所述步骤s1063之后,包括:

步骤s1064:实时监听所述客户端健康检查模块对kafka集群队列的诊断结果;

步骤s1065:当诊断结果为所述kafka集群队列已经健康时;

步骤s1066:将存储于本地存储设备的日志数据发送到所述kafka集群队列。

可选的,所述步骤s1066之后,包括:

步骤s1067:所述kafka集群队列按照数据类型分配管理所述日志。

可选的,具体的,所述步骤s1066,包括:

步骤s10661:所述kafka集群队列中的不同类型日志由服务端多个消费者模块接收;

步骤s10662:所述消费者模块按照所述日志类型分类管理所述日志。

本发明通过一种日志管理方法,根据不同种类的日志类型,通过前期的健康诊断和数据校验,挑选出符合要求的日志进行保存和调用,对于不符合要求的日志进行监控,当其符合要求后加入管理队列,整个日志的记录格式规范,管理有限,方便后续查询使用。提供了一套高可用、高性能的业务日志搜集服务系统。

实施例2

如图3所示,根据本发明的具体实施方式,第二方面,本发明提供一种日志管理系统,包括收发单元302,校验单元304以及诊断单元306,具体如下:

收发单元302:用于通过软件开发工具包接收不同类型的日志数据,并将所述不同类型的日志数据发送到客户端数据校验模块进行数据校验;

软件开发工具包(缩写:sdk、外语全称:softwaredevelopmentkit)一般都是一些软件工程师为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件时的开发工具的集合。软件开发工具包括广义上指辅助开发某一类软件的相关文档、范例和工具的集合。

其中不同类型的日志包括业务类日志和系统类日志,例如保单创建日志,支付记日志,转账记日志等,如图2所示。不同类型的日志通过不同类型的sdk收集,例如phpsdk,javasdk等。

可选的,所述通过软件开发工具包接收不同类型的日志数据,并将所述不同类型的日志数据发送到客户端数据校验模块进行数据校验之后,包括:

所述收发单元302还用于所述软件开发工具包接收并保存校验成功或失败的反馈信息。

校验单元304,用于校验成功则发送到客户端生产者模块;

诊断单元306:用于客户端健康检查模块对kafka集群队列进行诊断,并根据诊断结果决定将所述日志数据发送到kafka集群队列或本地存储设备。

可选的,具体的,所述诊断单元306还用于:

所述客户端健康检查模块对kafka集群队列进行诊断;

当所述kafka集群队列健康时,将所述日志数据发送到kafka集群队列;

当所述kafka集群队列不健康时,将所述日志数据发送到本地存储设备。

如图5所示,可选的,所述当所述kafka集群队列不健康时,将所述日志数据发送到本地存储设备之后,包括:

实时监听所述客户端健康检查模块对kafka集群队列的诊断结果;

当诊断结果为所述kafka集群队列已经健康时;

将存储于本地存储设备的日志数据发送到所述kafka集群队列。

可选的,所述将存储于本地存储设备的日志数据发送到所述kafka集群队列之后,包括:

所述kafka集群队列按照数据类型分配管理所述日志。

可选的,具体的,所述所述kafka集群队列按照数据类型分配管理所述日志,包括:

所述kafka集群队列中的不同类型日志由服务端多个消费者模块接收;

所述消费者模块按照所述日志类型分类管理所述日志。

本发明通过一种日志管理系统,根据不同种类的日志类型,通过前期的健康诊断和数据校验,挑选出符合要求的日志进行保存和调用,对于不符合要求的日志进行监控,当其符合要求后加入管理队列,整个日志的记录格式规范,管理有限,方便后续查询使用。提供了一套高可用、高性能的业务日志搜集服务系统。

实施例3

如图4所示,本实施例提供一种电子设备,该设备用于日志管理方法,所述电子设备,包括:

至少一个处理器;以及,

与所述至少一个处理器通信连接的存储器;其中,

所述存储器存储有可被所述一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如下方法:

步骤s102:通过软件开发工具包接收不同类型的日志数据,并将所述不同类型的日志数据发送到客户端数据校验模块进行数据校验;

软件开发工具包(缩写:sdk、外语全称:softwaredevelopmentkit)一般都是一些软件工程师为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件时的开发工具的集合。软件开发工具包括广义上指辅助开发某一类软件的相关文档、范例和工具的集合。

其中不同类型的日志包括业务类日志和系统类日志,例如保单创建日志,支付记日志,转账记日志等,如图2所示。不同类型的日志通过不同类型的sdk收集,例如phpsdk,javasdk等。

可选的,所述通过软件开发工具包接收不同类型的日志数据,并将所述不同类型的日志数据发送到客户端数据校验模块进行数据校验之后,包括:

步骤s103:所述软件开发工具包接收并保存校验成功或失败的反馈信息。

步骤s104:校验成功则发送到客户端生产者模块;

步骤s106:客户端健康检查模块对kafka集群队列进行诊断,并根据诊断结果决定将所述日志数据发送到kafka集群队列或本地存储设备。

可选的,具体的,所述步骤s106,包括:

步骤s1061:所述客户端健康检查模块对kafka集群队列进行诊断;

步骤s1062:当所述kafka集群队列健康时,将所述日志数据发送到kafka集群队列;

步骤s1063:当所述kafka集群队列不健康时,将所述日志数据发送到本地存储设备。

如图5所示,可选的,所述步骤s1063之后,包括:

步骤s1064:实时监听所述客户端健康检查模块对kafka集群队列的诊断结果;

步骤s1065:当诊断结果为所述kafka集群队列已经健康时;

步骤s1066:将存储于本地存储设备的日志数据发送到所述kafka集群队列。

可选的,所述步骤s1066之后,包括:

步骤s1067:所述kafka集群队列按照数据类型分配管理所述日志。

可选的,具体的,所述步骤s1066,包括:

步骤s10661:所述kafka集群队列中的不同类型日志由服务端多个消费者模块接收;

步骤s10662:所述消费者模块按照所述日志类型分类管理所述日志。

实施例4

本申请实施例提供了一种非易失性计算机存储介质,所述计算机存储介质存储有计算机可执行指令,该计算机可执行指令可执行上述任意方法实施例中的方法。

实施例5

图4是本实施例提供的一种日志管理方法的电子设备的硬件结构示意图,如图4所示,该设备包括:

一个或多个处理器410以及存储器420,图4中以一个处理器410为例。

基于日志管理方法的设备还可以包括:输入装置430和输出装置440。

处理器410、存储器420、输入装置430和输出装置440可以通过总线或者其他方式连接,图4中以通过总线连接为例。

存储器420作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本申请实施例中的日志管理方法对应的程序指令/模块。处理器410通过运行存储在存储器420中的非易失性软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例日志管理方法。

存储器420可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据日志管理装置的使用所创建的数据等。此外,存储器420可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。

输入装置430可接收输入的数字或字符信息,以及产生与电子设备的用户设置以及功能控制有关的键信号输入。输出装置440可包括显示屏等显示设备。

所述一个或者多个模块存储在所述存储器420中,当被所述一个或者多个处理器410执行时,执行上述任意方法实施例中的日志管理方法。

上述产品可执行本申请实施例所提供的方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本申请实施例所提供的方法。

本发明实施例的电子设备以多种形式存在,包括但不限于:

(1)移动通信设备:这类设备的特点是具备移动通信功能,并且以提供话音、数据通信为主要目标。这类终端包括:智能手机(例如iphone)、多媒体手机、功能性手机,以及低端手机等。

(2)超移动个人计算机设备:这类设备属于个人计算机的范畴,有计算和处理功能,一般也具备移动上网特性。这类终端包括:pda、mid和umpc设备等,例如ipad。

(3)便携式娱乐设备:这类设备可以显示和播放多媒体内容。该类设备包括:音频、视频播放器(例如ipod),掌上游戏机,电子书,以及智能玩具和便携式车载导航设备。

(4)服务器:提供计算服务的设备,服务器的构成包括处理器、硬盘、内存、系统总线等,服务器和通用的计算机架构类似,但是由于需要提供高可靠的服务,因此在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面要求较高。

(5)其他具有数据交互功能的电子装置,例如电视机、车载大屏等。

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

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

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

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