CN111858525A - 日志追踪方法、生成方法、追踪装置、生成装置及系统 - Google Patents
日志追踪方法、生成方法、追踪装置、生成装置及系统 Download PDFInfo
- Publication number
- CN111858525A CN111858525A CN202010486540.0A CN202010486540A CN111858525A CN 111858525 A CN111858525 A CN 111858525A CN 202010486540 A CN202010486540 A CN 202010486540A CN 111858525 A CN111858525 A CN 111858525A
- Authority
- CN
- China
- Prior art keywords
- service request
- log
- information
- service
- tracked
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/1805—Append-only file systems, e.g. using logs or journals to store data
- G06F16/1815—Journaling file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/13—File access structures, e.g. distributed indices
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
技术领域
本申请属于计算机技术领域,尤其涉及日志追踪方法、生成方法、追踪装置、生成装置及系统。
背景技术
日志是网络设备、系统及服务程序等,在运作时产生的事件记录;每一行日志都记载着日期、时间、使用者及动作等相关操作的描述,因此系统出现异常时,通过对日志的追踪以查询系统异常原因。
现有的日志追踪的方法是通过从程序入口开始,梳理出系统的调用关系,最后基于异常描述和异常发生的时间,逐个排查调用的每台机器的日志,确定系统出现异常的原因。随着微服务架构的应用,系统的结构越来越复杂,使用目前的日志追踪的方法排查异常原因非常困难,即使可以查询出来,耗时也是非常久的。
发明内容
本申请实施例提供了日志追踪方法、生成方法、追踪装置、生成装置及系统,可以解决目前日志追踪方法复杂、耗时长的问题。
第一方面,本申请实施例提供了一种日志追踪方法,包括:
获取待追踪的业务请求的业务信息;
根据所述业务信息,获取所述业务请求的信息编码;
基于所述待追踪的业务请求的信息编码,获得所述待追踪的业务请求对应的日志,其中,所述业务请求的执行过程中生成的日志与所述业务请求的信息编码存在关联关系。
第二方面,本申请实施例提供了一种日志生成方法,包括:
获取用户发送的业务请求;
为所述业务请求生成信息编码,其中,每个业务请求对应唯一信息编码;
在所述业务请求执行的过程生成所述业务请求的日志,其中,生成的每个日志均与所述业务请求的信息编码相关联。
第三方面,本申请实施例提供了一种日志追踪装置,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机计算机程序时实现上述第一方面中任一项所述的日志追踪方法。
第四方面,本申请实施例提供了一种日志生成装置,包括:存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现上述第二方面中任一项所述的日志生成方法。
第五方面,本申请实施例提供了一种日志追踪系统,包括上述第三方面所述的日志追踪装置和上述第四方面所述的日志生成装置。
第六方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现上述第一方面中任一项所述的日志追踪方法,和/或上述第二方面中任一项所述的日志生成方法。
第七方面,本申请实施例提供了一种计算机程序产品,当计算机程序产品在终端设备上运行时,使得终端设备执行上述第一方面中任一项所述的日志追踪方法,和/或上述第二方面中任一项所述的日志生成方法。
本申请实施例与现有技术相比存在的有益效果是:本申请通过获取待追踪的业务请求的业务信息,并根据业务信息获得业务请求的信息编码,最后通过信息编码获得待追踪的业务请求对应的日志;本申请中由于业务请求的执行过程中生成的日志与所述业务请求的信息编码存在关联关系,所以可以根据信息编码获得待追踪的业务请求的日志,本申请使用信息编码追踪待追踪的业务请求的日志可以简单准确的得到需要追踪的日志,提高了工作效率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一实施例提供的微服务的基本部署图;
图2是本申请一实施例提供的日志追踪方法的应用场景示意图;
图3是本申请一实施例提供的日志追踪方法的流程示意图;
图4是本申请一实施例提供的信息编码的获得过程的流程示意图;
图5是本申请一实施例提供的一样原因判断方法的流程示意图;
图6是本申请一实施例提供的日志生成方法的流程示意图;
图7是本申请一实施例提供的日志追踪装置的结构示意图;
图8是本申请一实施例提供的日志生成装置的结构示意图;
图9是本申请另一实施例提供的日志追踪装置的结构示意图;
图10是本申请另一实施例提供的日志生成装置的结构示意图;
图11是本申请一实施例提供的计算机的部分结构的框图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
应当理解,当在本申请说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本申请说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
另外,在本申请说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
随着互联网行业的不断发展,传统的整体式架构应用系统的更新和修复成本越来越高,传统的架构系统已经不能满足使用需要,应用而生的是微服务架构,如图1所示为微服务的基本部署图。使用微服务架构后,使系统按照功能和业务微服务化,使得业务请求的调用更复杂,系统运行业务请求如果出现问题,定位问题变得异常复杂。
本申请提出一种日志追踪方法,可以快速准确追踪到业务请求对应的日志,通过追踪到的日志可以快速得到系统异常的原因。
图2为本申请实施例提供的日志追踪方法的应用场景示意图,上述日志追踪方法可以用于业务请求的日志进行追踪。其中,服务器10用于在运行业务请求时生成业务请求的日志,处理器20用于获取服务器10中业务请求的日志,并查询待追踪的业务请求的日志。
以下结合图2对本申请实施例的日志追踪方法进行详细说明。
图3示出了本申请提供的日志追踪方法的示意性流程图,参照图3,对该方法的详述如下:
S101,获取待追踪的业务请求的业务信息。
在本实施例中,待追踪的业务请求是用户需要查询日志的业务请求,待追踪的业务请求可以是运行异常时的业务请求,也可以是运行正常的业务请求。
作为举例,用户A的业务请求可以是百度搜索a、用360导航搜索b、微信聊天等,用户A请求追踪百度搜索a的日志,则百度搜索a是待追踪的业务请求。
在本实施例中,业务信息可以包括用户信息、业务操作信息和待追踪的业务节点信息。
用户信息是发起业务请求时的用户的信息,用户信息可以包括用户名称、用户手机号、用户邮箱等信息。业务操作信息是用户发送的请求信息,例如打开微信的朋友圈、使用百度搜索a、使用QQ与某好友聊天等操作信息。业务节点信息包括用户发出业务请求的时间、业务请求结束的时间、追踪运行异常的业务请求时的异常业务请求发生的时间。
作为举例,如果用户A的待追踪的业务请求是百度搜索a,但是用户A在3点05分百度搜索了a,用户A在3点10分又百度搜索了a,如果只用业务操作信息和用户信息追踪日志会得到两组日志,分别为用户A在3点05分百度搜索a的日志,以及用户A在3点10分百度搜索a的日志,所以需要使用业务节点信息再次进行筛选,如果想要追踪的业务请求是3点05分的,则业务节点信息为3点05分;反之,如果用户想要追踪的业务请求是3点10分的,则业务节点信息为3点10分。
如果待追踪的业务请求是正常业务请求,则业务节点信息可以是用户发出业务请求的时间或业务请求结束的时间;如果待追踪的业务请求是异常业务请求,则业务节点信息可以是异常业务请求发生的时间或用户发出业务请求的时间。
作为举例,如果用户A的待追踪的业务请求是百度搜索a,则百度搜索a为业务操作信息,如果百度搜索a这个业务请求是运行正常的业务请求,业务节点信息是用户发出百度搜索a请求时的时间,也可以是百度搜索a完成搜索的时间;
如果用户A的待追踪的业务请求是百度搜索a,则百度搜索a为业务操作信息,如果百度搜索a这个业务请求是异常业务请求,业务节点信息可以是用户操作百度搜索a时的时间,也可以是百度搜索a发生异常的时间。
S102,根据所述业务信息,获取所述业务请求的信息编码。
在本实施例中,一个业务请求对应唯一信息编码,信息编码可以是唯一的编码,可以是根据预设的计算规则生成的信息编码,例如,信息编码可以包括业务标识和全局唯一标识符。
如图4所示,在一种可能的实现方式中,步骤S102的实现过程可以包括:
S1021,基于所述业务操作信息,确定所述待追踪的业务请求的入口服务器,其中,所述入口服务器是第一个接收所述待追踪的业务请求的服务器。
在本实施例中,业务请求在运行时是入口服务器接收业务请求,然后通过入口服务器调用其他服务器一步一步执行的操作,而入口服务器又是根据业务请求的类别进行划分的,所以根据业务操作信息可以得到待追踪的业务请求的入口服务器。
作为举例,入口服务器1用于运行百度程序,入口服务器2用于运行360搜索的程序,入口服务器3用于运行微信的程序,则如果业务操作信息是百度搜索a,则可以得到业务请求具体是百度操作,所以可得到业务请求的入口服务器是入口服务器1。
可选的,基于所述业务操作信息和用户信息,确定所述待追踪的业务请求的入口服务器。
在本实施例中,为了满足用户数量大,防止运行速度变慢,一种业务请求可能会搭载在不同的服务器中,例如,运行百度程序的可以同时搭载在入口服务器1、入口服务器2和入口服务器3中,也就是入口服务器1、入口服务器2和入口服务器3均可以运行百度程序。在一种业务请求对应几个不同的入口服务器时,需要将用户进行分流,具体的分流规则可以根据需要设置,例如,根据用户信息和Hash算法(散列函数算法)将用户进行分流,所以在确定待追踪的业务请求的入口服务器时还需要根据用户信息进行确定。
作为举例,使用用户的手机号的最后两位数进行分流,已知入口服务器1和入口服务器2均是运行百度业务请求的服务器,入口服务器1中运行用户的手机号的最后两位是00-20的用户,入口服务器2中运行用户的手机号的最后两位是21-40的用户,如果用户A的业务操作信息为百度搜索a,且手机号后两位为15,则将用户a的业务请求分到入口服务器1中运行。
S1022,获取所述入口服务器对应的服务器日志。
在本实施例中,已知入口服务器可以在日志库中搜索到入口服务器对应的服务器日志,也就是入口服务器运行所有业务请求时的日志,其中,日志库中的既包括待追踪的业务请求的日志,也包括其他的不进行追踪的业务请求的日志。
S1023,从所述服务器日志中查找与所述用户信息、所述业务操作时间以及所述待追踪的业务节点信息均相关的日志。
在本实施例中,查找到入口服务器的服务器日志后,还要进一步筛查才可以获得服务器日志中哪些是待追踪的业务请求的日志。
在筛查服务器日志时,是通过用户信息、业务操作时间以及待追踪的业务节点信息进行筛查的,用户信息用于查找服务器日志中哪些是待追踪的业务请求的用户发送的业务请求对应的日志,业务操作信息用于确定服务器日志中哪些日志是运行业务操作信息产生的日志,业务节点信息用于确定服务器日志中哪些日志中的时间是在业务节点信息前后的日志,基于上述三个筛查可以确定待追踪的业务请求对应的服务器日志。
在待追踪的业务请求是正常业务请求时,可以使用用户发出业务请求的时间或业务请求结束的时间,查找服务器日志中的时间记录在用户发出业务请求的时间或业务请求结束的时间前后的日志。
作为举例,如果待追踪的业务请求的业务操作信息是百度搜索b,用户信息是用户B,业务节点信息是业务请求结束的时间为2018年8月3日9时40分,根据业务请求结束的时间,从服务器日志中查找2018年8月3日9时40分前后的日志,得到第一候选服务器日志,然后根据用户信息,查找第一候选服务器日志中用户是B的日志,得到第二候选服务器日志,最后从第二候选服务器日志中查找业务操作时百度搜索b的日志,得到需要的服务器日志。
在待追踪的业务请求是异常业务请求时,可以使用用户发出业务请求的时间或异常业务发生的时间,查找服务器日志中的时间记录在用户发出业务请求的时间或异常业务发生的时间前后的日志。
作为举例,如果待追踪的业务请求的业务操作信息是百度搜索c,用户信息是用户C,业务节点信息是异常业务发生的时间为2018年8月4日14时30分,根据异常业务发生的时间,从服务器日志中查找2018年8月4日14时30分前后的日志,得到第一候选服务器日志,然后根据用户信息,查找第一候选服务器日志中用户是C的日志,得到第二候选服务器日志,最后从第二候选服务器日志中查找业务操作时百度搜索c的日志,得到需要的服务器日志。
S1024,将与所述用户信息、所述业务操作时间以及所述待追踪的业务节点信息均相关的日志关联的信息编码作为待追踪的业务请求的信息编码。
在本实施例中,在查找到需要的日志之后,由于每个日志中均包括一个信息编码,则查找到需要的待追踪的业务请求相关的日志后,日志中的信息编码就是业务请求的信息编码。
S103,基于所述待追踪的业务请求的信息编码,获得所述待追踪的业务请求对应的日志,其中,所述业务请求的执行过程中生成的日志与所述业务请求的信息编码存在关联关系。
在本实施例中,因为业务请求在执行过程中,生成的每个日志均与业务请求的信息编码关联,已知业务请求的信息编码,则可以在日志库中查询到待追踪的业务请求的整个运行链路的日志。
生成的日志与业务请求的信息编码存在关联关系可以是日志中包括信息编码,也可以是日志与信息编码存在对应关系。
本申请实施例中,通过获取待追踪的业务请求的业务信息,并根据业务信息获得业务请求的信息编码,最后通过信息编码获得待追踪的业务请求对应的日志;本申请中由于业务请求的执行过程中生成的日志与所述业务请求的信息编码存在关联关系,所以可以根据信息编码获得待追踪的业务请求的日志,本申请使用信息编码追踪待追踪的业务请求的日志可以简单准确的得到需要追踪的日志,提高了工作效率。
上述方法中,在追踪到待追踪的业务请求对应的日志之后,还可以根据水总到的日志判断业务请求的执行性能,具体如下:
在一种可能的实现方式中,在步骤S103之后,上述方法还可以包括:
S201,获取所述待追踪的业务请求执行过程中每个步骤之间的间隔时间。
在本实施例中,由于每个日志均包括执行日志中程序的时间,所以根据每条日志中的时间,可以获得每个步骤之间的间隔时间。
作为举例,如果日志1中记录的时间是3时3分5秒,日志2中记录的时间为3时3分35秒,则可知执行日志1中的程序的步骤与执行日志2中的程序的步骤之间的间隔时间为30秒。
S202,基于所述间隔时间确定所述业务请求的执行性能。
在本实施例中,可以通过每个步骤之间的间隔时间确定步骤之间的时间间隔是否满足预设值,如果小于或等于预设值则说明执行性能良好,如果大于预设值则说明执行性能差。
在本实施例中,还可以根据每个服务器的日志中时间最早的日志和时间最晚的日志,判断服务器与服务器之间调用时是否满足预设规则,如果满足则说明调用服务器的性能良好,如果不满足则说明调用服务器的性能较差。
作为举例,如果服务器1的日志中时间最早是3时50分5秒,时间最晚是3时51分7秒;服务器2的日志中时间最早是3时51分57秒,时间最晚是3时52分8秒;则服务器1与服务器2之间的调用时间是50秒。如果设置的服务器1与服务器2之间的调用时间为40秒,服务器1与服务器2之间的调用时间是50秒大于40秒,则说明服务器1与服务器2之间的调用性能较差。
在本实施例中,还可以将每个步骤之间的间隔时间乘以对应的权重,得到业务请求的性能值,最后通过业务请求的性能值确定运行完业务请求是否满足执行性能的需求。
具体的,F=S1*D1+…+Sn*Dn,其中,F为业务请求的性能值,S1第一个步骤与第二个步骤之间的间隔时间,D1为第一个步骤与第二个步骤之间的间隔时间的权重,Sn为第n个步骤与第n+1个步骤之间的间隔时间,D1为第n个步骤与第n+1个步骤之间的间隔时间的权重,n≥1。
作为举例,如果步骤1与步骤2之间的时间间隔为5秒,权重为0.1;步骤2与步骤3之间的时间间隔为6秒,权重为0.2;则业务请求的性能值为1.7,如果预设的执行能力为2,则业务请求的性能值小于预设的执行能力,则说明运行完业务请求的性能能力较好。
上述方法中,如果待追踪的业务请求是异常业务请求,则:
在一种可能的实现方式中,在步骤S103之后,上述方法还可以包括:
S301,基于所述异常业务请求的日志,确定所述异常业务请求发生异常的原因。
在本实施例中,由于日志中可以显示该日志对应的步骤在执行过程中的运行情况,也就是是否运行正常,所以根据异常业务请求的日志可以确定异常业务请求发生异常的原因。
如图5所示,在一种可能的实现方式中,步骤S301的实现过程可以包括:
S3011,将所述异常业务请求的日志按照时间先后顺序排序。
在本实施例中,因为日志中存储有日志中执行步骤的时间,所以可以根据日志中的时间将日志进行排序,得到异常业务请求执行过程的步骤顺序。
S3012,获取所述异常业务请求的日志中的异常日志,并基于所述异常日志、所述异常日志前的N个日志和所述异常日志后的M个日志确定所述异常业务请求发生异常的原因,N≥0,M≥0。
在本实施例中,日志中存储有运行的步骤的信息,日志中也存储有步骤的异常信息,所以可以直接通过日志中的信息确定哪些日志为异常日志,最后根据异常日志前后的日志,可以确定异常日志与前后日志对应的步骤执行的操作内容,最后根据操作内容确定异常业务请求发生异常的原因。
本申请实施例中,通过信息编码可以追踪到的异常业务请求的日志,并根据追踪到的异常业务请求的日志确定异常业务请求发生异常的原因,本申请可以快速确定发生异常的位置并确定异常原因。
图6示出了本申请提供的日志生成方法的示意性流程图,参照图6,对该方法的详述如下:
S401,获取用户发送的业务请求。
在本实施例中,接收用户发送的业务请求的机器可以是服务器,业务请求可以是Http请求,当获取到业务请求后,会用全局过滤器过滤业务请求,判断业务请求是否满足预设格式。
S402,为所述业务请求生成信息编码,其中,每个业务请求对应唯一信息编码。
在本实施例中,如果满足预设格式,则调用信息编码生成系统,生成业务请求的信息编码,并保证信息编码生成系统每次生成的信息编码都是唯一的。
在生成信息编码后,会将信息编码放置到业务请求的请求头和MDC(MappedDiagnostic Context)映射调试上下文中,以便于后续不管是本地方法的调用,还是基于Hessian的远程方法调用(RMI),都可以方便的从请求头或是映射调试上下文MDC中获取的信息编码,其中Hessian是一个轻量级的remoting onhttp工具,使用简单的方法提供了RMI的功能。
S403,在所述业务请求执行的过程生成所述业务请求的日志,其中,生成的每个日志均与所述业务请求的信息编码相关联。
在本实施例中,在执行业务请求时,由于每个步骤中均调用了信息编码,在日志中也会存储有信息编码,所以生成的每个日志均与所述业务请求的信息编码相关联,业务请求的执行过程均是用信息编码串联起来的,方便后续利用信息编码查找日志。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
对应于上文实施例所述的日志追踪方法,图7示出了本申请实施例提供的日志追踪装置的结构框图,为了便于说明,仅示出了与本申请实施例相关的部分。
参照图7,该装置500可以包括:信息获取模块510、编码获取模块520和日志查找模块530。
其中,信息获取模块510,用于获取待追踪的业务请求的业务信息;
编码获取模块520,用于根据所述业务信息,获取所述业务请求的信息编码;
日志查找模块530,用于基于所述待追踪的业务请求的信息编码,获得所述待追踪的业务请求对应的日志,其中,所述业务请求的执行过程中生成的日志与所述业务请求的信息编码存在关联关系。
在一种可能的实现方式中,所述业务信息包括:用户信息、业务操作信息和待追踪的业务节点信息;
编码获取模块520具体可以用于:
基于所述业务操作信息,确定所述待追踪的业务请求的入口服务器,其中,所述入口服务器是第一个接收所述待追踪的业务请求的服务器;
获取所述入口服务器对应的服务器日志;
从所述服务器日志中查找与所述用户信息、所述业务操作信息以及所述待追踪的业务节点信息均相关的日志;
将与所述用户信息、所述业务操作信息以及所述待追踪的业务节点信息均相关的日志关联的信息编码作为待追踪的业务请求的信息编码。
在一种可能的实现方式中,当所述待追踪的业务请求为异常业务请求时,所述待追踪的业务节点信息包括所述异常业务请求发生的时间,与日志查找模块530相连的还可以包括:
异常确定模块,用于基于所述异常业务请求的日志,确定所述异常业务请求发生异常的原因。
在一种可能的实现方式中,异常确定模块具体可以用于:
将所述异常业务请求的日志按照时间先后顺序排序;
获取所述异常业务请求的日志中的异常日志,并基于所述异常日志、所述异常日志前的N个日志和所述异常日志后的M个日志确定所述异常业务请求发生异常的原因,N≥0,M≥0。
在一种可能的实现方式中,与日志查找模块530相连的还可以包括:
时间获取模块,用于获取所述待追踪的业务请求执行过程中每个步骤之间的间隔时间;
性能判断模块,用于基于所述间隔时间确定所述业务请求的执行性能。
对应于上文实施例所述的日志生成方法,图8示出了本申请实施例提供的日志生成装置的结构框图,为了便于说明,仅示出了与本申请实施例相关的部分。
参照图8,该装置600可以包括:请求获取模块610、编码生成模块620和日志生成模块630。
其中,请求获取模块610,用于获取用户发送的业务请求;
编码生成模块620,用于为所述业务请求生成信息编码,其中,每个业务请求对应唯一信息编码;
日志生成模块630,用于在所述业务请求执行的过程生成所述业务请求的日志,其中,生成的每个日志均与所述业务请求的信息编码相关联。
需要说明的是,日志生成装置中还可以包括ELK(Elasticsearch+Logstash+Kibana)日志分析系统、轻量级的RPC框架Hessian和开源SpringMVC框架。
需要说明的是,上述装置/单元之间的信息交互、执行过程等内容,由于与本申请方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本申请实施例还提供了一种日志追踪装置,参见图9,该日志追踪装置700可以包括:至少一个处理器710、存储器720以及存储在所述存储器720中并可在所述至少一个处理器710上运行的计算机程序,所述处理器710执行所述计算机程序时实现上述任意各个方法实施例中的步骤,例如图3所示实施例中的步骤S101至步骤S103。或者,处理器710执行所述计算机程序时实现上述各装置实施例中各模块/单元的功能,例如图7所示模块510至30的功能。
示例性的,计算机程序可以被分割成一个或多个模块/单元,一个或者多个模块/单元被存储在存储器720中,并由处理器710执行,以完成本申请。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序段,该程序段用于描述计算机程序在终端设备700中的执行过程。
本领域技术人员可以理解,图9仅仅是日志追踪装置的示例,并不构成对终端设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如输入输出设备、网络接入设备、总线等。
处理器710可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器720可以是终端设备的内部存储单元,也可以是终端设备的外部存储设备,例如插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。所述存储器720用于存储所述计算机程序以及终端设备所需的其他程序和数据。所述存储器720还可以用于暂时地存储已经输出或者将要输出的数据。
总线可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外部设备互连(Peripheral Component,PCI)总线或扩展工业标准体系结构(ExtendedIndustry Standard Architecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本申请附图中的总线并不限定仅有一根总线或一种类型的总线。
本申请实施例还提供了一种日志追踪装置,参见图10,该日志生成装置800可以包括:至少一个处理器810、存储器820以及存储在所述存储器820中并可在所述至少一个处理器810上运行的计算机程序,所述处理器810执行所述计算机程序时实现上述任意各个方法实施例中的步骤,例如图6所示实施例中的步骤S401至步骤S403。或者,处理器810执行所述计算机程序时实现上述各装置实施例中各模块/单元的功能,例如图8所示模块610至630的功能。
示例性的,计算机程序可以被分割成一个或多个模块/单元,一个或者多个模块/单元被存储在存储器820中,并由处理器810执行,以完成本申请。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序段,该程序段用于描述计算机程序在终端设备800中的执行过程。
本领域技术人员可以理解,图10仅仅是日志生成装置的示例,并不构成对终端设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如输入输出设备、网络接入设备、总线等。
处理器810可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器820可以是终端设备的内部存储单元,也可以是终端设备的外部存储设备,例如插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。所述存储器820用于存储所述计算机程序以及终端设备所需的其他程序和数据。所述存储器820还可以用于暂时地存储已经输出或者将要输出的数据。
总线可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外部设备互连(Peripheral Component,PCI)总线或扩展工业标准体系结构(ExtendedIndustry Standard Architecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本申请附图中的总线并不限定仅有一根总线或一种类型的总线。
本申请实施例提供的日志追踪系统,包括日志追踪装置和日志生成装置。
本申请实施例提供的日志追踪方法和/或日志生成方法可以应用于计算机、平板电脑、笔记本电脑、上网本、个人数字助理(personal digital assistant,PDA)等终端设备上,本申请实施例对终端设备的具体类型不作任何限制。
以所述终端设备为计算机为例。图11示出的是与本申请实施例提供的计算机的部分结构的框图。参考图11,计算机包括:通信电路910、存储器920、输入单元930、显示单元940、音频电路950、无线保真(wireless fidelity,WiFi)模块960、处理器970以及电源980等部件。
下面结合图11对计算机的各个构成部件进行具体的介绍:
通信电路910可用于收发信息或通话过程中,信号的接收和发送,特别地,将图像采集设备发送的图像样本接收后,给处理器970处理;另外,将图像采集指令发送给图像采集设备。通常,通信电路包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器(Low Noise Amplifier,LNA)、双工器等。此外,通信电路910还可以通过无线通信与网络和其他设备通信。上述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(Global System of Mobile communication,GSM)、通用分组无线服务(GeneralPacket Radio Service,GPRS)、码分多址(Code Division Multiple Access,CDMA)、宽带码分多址(Wideband Code Division Multiple Access,WCDMA)、长期演进(Long TermEvolution,LTE))、电子邮件、短消息服务(Short Messaging Service,SMS)等。
存储器920可用于存储软件程序以及模块,处理器970通过运行存储在存储器920的软件程序以及模块,从而执行计算机的各种功能应用以及数据处理。存储器920可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据计算机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器920可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
输入单元930可用于接收输入的数字或字符信息,以及产生与计算机的用户设置以及功能控制有关的键信号输入。具体地,输入单元930可包括触控面板931以及其他输入设备932。触控面板931,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板931上或在触控面板931附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触控面板931可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器970,并能接收处理器970发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板931。除了触控面板931,输入单元930还可以包括其他输入设备932。具体地,其他输入设备932可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元940可用于显示由用户输入的信息或提供给用户的信息以及计算机的各种菜单。显示单元940可包括显示面板941,可选的,可以采用液晶显示器(Liquid CrystalDisplay,LCD)、有机发光二极管(Organic Light-Emitting Diode,OLED)等形式来配置显示面板941。进一步的,触控面板531可覆盖显示面板941,当触控面板931检测到在其上或附近的触摸操作后,传送给处理器970以确定触摸事件的类型,随后处理器970根据触摸事件的类型在显示面板941上提供相应的视觉输出。虽然在图11中,触控面板931与显示面板941是作为两个独立的部件来实现计算机的输入和输入功能,但是在某些实施例中,可以将触控面板931与显示面板941集成而实现计算机的输入和输出功能。
音频电路950可提供用户与计算机之间的音频接口。音频电路950可将接收到的音频数据转换后的电信号,传输到扬声器由扬声器转换为声音信号输出;另一方面,传声器将收集的声音信号转换为电信号,由音频电路950接收后转换为音频数据,再将音频数据输出处理器970处理后,经通信电路910以发送给比如另一计算机,或者将音频数据输出至存储器920以便进一步处理。
WiFi属于短距离无线传输技术,计算机通过WiFi模块960可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图11示出了WiFi模块960,但是可以理解的是,其并不属于计算机的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器970是计算机的控制中心,利用各种接口和线路连接整个计算机的各个部分,通过运行或执行存储在存储器920内的软件程序和/或模块,以及调用存储在存储器920内的数据,执行计算机的各种功能和处理数据,从而对计算机进行整体监控。可选的,处理器970可包括一个或多个处理单元;优选的,处理器970可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器970中。
计算机还包括给各个部件供电的电源980(比如电池),优选的,电源980可以通过电源管理系统与处理器970逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现可实现上述日志追踪方法,和/或日志生成方法各个实施例中的步骤。
本申请实施例提供了一种计算机程序产品,当计算机程序产品在移动终端上运行时,使得移动终端执行时实现可实现上述日志追踪方法,和/或日志生成方法各个实施例中的步骤。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质至少可以包括:能够将计算机程序代码携带到拍照装置/终端设备的任何实体或装置、记录介质、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、电载波信号、电信信号以及软件分发介质。例如U盘、移动硬盘、磁碟或者光盘等。在某些司法管辖区,根据立法和专利实践,计算机可读介质不可以是电载波信号和电信信号。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置/网络设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/网络设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。
Claims (10)
1.一种日志追踪方法,其特征在于,包括:
获取待追踪的业务请求的业务信息;
根据所述业务信息,获取所述业务请求的信息编码;
基于所述待追踪的业务请求的信息编码,获得所述待追踪的业务请求对应的日志,其中,所述业务请求的执行过程中生成的日志与所述业务请求的信息编码存在关联关系。
2.如权利要求1所述的日志追踪方法,其特征在于,所述业务信息包括:用户信息、业务操作信息和待追踪的业务节点信息;
所述根据所述业务信息,获取所述业务请求的信息编码,包括:
基于所述业务操作信息,确定所述待追踪的业务请求的入口服务器,其中,所述入口服务器是第一个接收所述待追踪的业务请求的服务器;
获取所述入口服务器对应的服务器日志;
从所述服务器日志中查找与所述用户信息、所述业务操作信息以及所述待追踪的业务节点信息均相关的日志;
将与所述用户信息、所述业务操作信息以及所述待追踪的业务节点信息均相关的日志关联的信息编码作为待追踪的业务请求的信息编码。
3.如权利要求2所述的日志追踪方法,其特征在于,当所述待追踪的业务请求为异常业务请求时,所述待追踪的业务节点信息包括所述异常业务请求发生的时间;
相应的,在获得所述待追踪的业务请求对应的日志之后,还包括:
基于所述异常业务请求的日志,确定所述异常业务请求发生异常的原因。
4.如权利要求3所述的日志追踪方法,其特征在于,所述基于所述异常业务请求的日志,确定所述异常业务请求发生异常的原因,包括:
将所述异常业务请求的日志按照时间先后顺序排序;
获取所述异常业务请求的日志中的异常日志,并基于所述异常日志、所述异常日志前的N个日志和所述异常日志后的M个日志确定所述异常业务请求发生异常的原因,N≥0,M≥0。
5.如权利要求1所述的日志追踪方法,其特征在于,基于所述待追踪的业务请求的信息编码,获得所述待追踪的业务请求对应的日志之后,所述方法还包括:
获取所述待追踪的业务请求执行过程中每个步骤之间的间隔时间;
基于所述间隔时间确定所述业务请求的执行性能。
6.一种日志生成方法,其特征在于,包括:
获取用户发送的业务请求;
为所述业务请求生成信息编码,其中,每个业务请求对应唯一信息编码;
在所述业务请求执行的过程生成所述业务请求的日志,其中,生成的每个日志均与所述业务请求的信息编码相关联。
7.一种日志追踪装置,其特征在于,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机计算机程序时实现如权利要求1至5任一项所述的日志追踪方法。
8.一种日志生成装置,其特征在于,包括:包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机计算机程序时实现如权利要求6所述的日志生成方法。
9.一种日志追踪系统,包括如权利要求7所述的日志追踪装置和如权利要求8所述的日志生成装置。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述的日志追踪方法,和/或如权利要求6任一项所述的日志生成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010486540.0A CN111858525A (zh) | 2020-06-01 | 2020-06-01 | 日志追踪方法、生成方法、追踪装置、生成装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010486540.0A CN111858525A (zh) | 2020-06-01 | 2020-06-01 | 日志追踪方法、生成方法、追踪装置、生成装置及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111858525A true CN111858525A (zh) | 2020-10-30 |
Family
ID=72985357
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010486540.0A Pending CN111858525A (zh) | 2020-06-01 | 2020-06-01 | 日志追踪方法、生成方法、追踪装置、生成装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111858525A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112463562A (zh) * | 2020-11-25 | 2021-03-09 | 政采云有限公司 | 一种全业务追踪实现方法、装置、设备及可读存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120324290A1 (en) * | 2011-06-20 | 2012-12-20 | International Business Machines Corporation | Key Based Cluster Log Coalescing |
CN107678933A (zh) * | 2017-09-28 | 2018-02-09 | 中国平安人寿保险股份有限公司 | 日志生成管理方法、装置、设备及计算机可读存储介质 |
CN108462750A (zh) * | 2018-03-22 | 2018-08-28 | 平安好房(上海)电子商务有限公司 | 分布式调用追踪方法、业务系统、监控系统及存储介质 |
-
2020
- 2020-06-01 CN CN202010486540.0A patent/CN111858525A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120324290A1 (en) * | 2011-06-20 | 2012-12-20 | International Business Machines Corporation | Key Based Cluster Log Coalescing |
CN107678933A (zh) * | 2017-09-28 | 2018-02-09 | 中国平安人寿保险股份有限公司 | 日志生成管理方法、装置、设备及计算机可读存储介质 |
CN108462750A (zh) * | 2018-03-22 | 2018-08-28 | 平安好房(上海)电子商务有限公司 | 分布式调用追踪方法、业务系统、监控系统及存储介质 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112463562A (zh) * | 2020-11-25 | 2021-03-09 | 政采云有限公司 | 一种全业务追踪实现方法、装置、设备及可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108880867B (zh) | 一种网络设备数据采集方法及系统 | |
CN111060514B (zh) | 缺陷检测方法、装置及终端设备 | |
CN112422711B (zh) | 一种资源分配方法、装置、电子设备及存储介质 | |
CN111104967B (zh) | 图像识别网络训练方法、图像识别方法、装置及终端设备 | |
CN111683127A (zh) | 一种数据传输方法、装置及终端设备 | |
CN104679239B (zh) | 一种终端输入方法 | |
CN112540996A (zh) | 一种业务数据的校验方法、装置、电子设备及存储介质 | |
CN104809055B (zh) | 一种基于云平台的应用程序测试方法和装置 | |
CN110633438B (zh) | 一种新闻事件处理的方法、终端、服务器及存储介质 | |
CN108966340B (zh) | 一种设备定位方法及装置 | |
CN111858525A (zh) | 日志追踪方法、生成方法、追踪装置、生成装置及系统 | |
CN109034812A (zh) | 一种基于汽车租赁的支付方法和装置 | |
CN111046393B (zh) | 漏洞信息上传方法、装置、终端设备及存储介质 | |
CN108112016B (zh) | 无线局域网安全评估方法及装置 | |
CN110781066B (zh) | 用户行为分析方法、装置、设备及存储介质 | |
CN116303085A (zh) | 一种测试原因分析方法、装置、设备及存储介质 | |
CN105227644A (zh) | 项目文件生成方法及装置 | |
CN115904950A (zh) | 一种测试用例生成方法、装置、设备及存储介质 | |
CN106371948B (zh) | 一种数据备份方法及终端设备 | |
CN111597461B (zh) | 一种目标对象聚集预测方法、装置以及电子设备 | |
CN111414900B (zh) | 场景识别方法、场景识别装置、终端设备及可读存储介质 | |
CN113112442A (zh) | 缺陷检测方法、装置及终端设备 | |
CN111556097B (zh) | 一种数据传输方法、采集站、采集终端及数据采集系统 | |
CN108235047B (zh) | 一种直播间的音频播放方法及主播终端设备 | |
CN111475177B (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 |