CN112783451A - 一种基于***的耗时异常分析的方法及***、存储介质 - Google Patents
一种基于***的耗时异常分析的方法及***、存储介质 Download PDFInfo
- Publication number
- CN112783451A CN112783451A CN202110090500.9A CN202110090500A CN112783451A CN 112783451 A CN112783451 A CN 112783451A CN 202110090500 A CN202110090500 A CN 202110090500A CN 112783451 A CN112783451 A CN 112783451A
- Authority
- CN
- China
- Prior art keywords
- time
- interceptor
- consuming
- path
- log
- 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
- 238000004458 analytical method Methods 0.000 title claims abstract description 26
- 238000000034 method Methods 0.000 claims abstract description 78
- 230000002159 abnormal effect Effects 0.000 claims abstract description 37
- 238000007639 printing Methods 0.000 claims abstract description 33
- 230000005856 abnormality Effects 0.000 claims abstract description 20
- 238000012790 confirmation Methods 0.000 claims description 6
- 230000000694 effects Effects 0.000 abstract description 6
- 238000005516 engineering process Methods 0.000 abstract description 6
- 230000015654 memory Effects 0.000 description 15
- 238000004590 computer program Methods 0.000 description 9
- 238000012545 processing Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000007547 defect Effects 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1202—Dedicated interfaces to print systems specifically adapted to achieve a particular effect
- G06F3/121—Facilitating exception or error detection and recovery, e.g. fault, media or consumables depleted
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/955—Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1223—Dedicated interfaces to print systems specifically adapted to use a particular technique
- G06F3/1229—Printer resources management or printer maintenance, e.g. device status, power levels
- G06F3/1234—Errors handling and recovery, e.g. reprinting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1223—Dedicated interfaces to print systems specifically adapted to use a particular technique
- G06F3/1237—Print job management
- G06F3/1273—Print job history, e.g. logging, accounting, tracking
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种基于***的耗时异常分析的方法及***、存储介质。该方法通过接收到前端请求消息,controller层***获取url列表以确定是否要拦截;若需拦截则将前端请求消息的url地址加入线程threadlocal中进行标记后转发Service层***,并打印耗时日志;Service层***判断threadlocal若存在则打印耗时日志,并转发外部调用***;外部调用***判断threadlocal若存在则打印耗时日志,并转发DAO***;DAO***判断threadlocal若存在标记则打印耗时日志;根据路径序号及耗时值确定有异常的方法序号。进而解决了相关技术中存在的打印日志量大且异常耗时点分析无法准确定位的问题,达到了提高有效打印的效率及准确定位异常点的技术效果。
Description
技术领域
本发明涉及异常定位技术领域,具体而言,涉及一种基于***的耗时异常分析的方法及***、存储介质。
背景技术
当***中存在耗时比较长的服务,需要分析具体耗时点。现有技术中通过打印各层方法的参数和耗时,然后结合***代码分析耗时点。
但是,现有技术的方式会存在一些缺陷,例如所有的服务都会被拦截并打日志,日志量大。此外,所打印的日志中看不出调用链路,需要根据代码来分析异常耗时点,工作量大。当对代码逻辑不熟悉、代码很长很复杂,或需要分析的服务很多时,所带来的问题更为凸显。
针对相关技术中存在的打印日志量大且异常耗时点分析无法准确定位的问题,尚未存在较好的解决方案。
发明内容
本发明实施例提供了一种基于***的耗时异常分析的方法及***、存储介质,以至少解决相关技术中存在的打印日志量大且调用异常耗时点分析无法准确定位的问题的技术问题。
根据本发明实施例的一个方面,提供了一种基于***的耗时异常分析的方法,包括:
接收到前端请求消息后,controller层***获取统一资源定位url列表以确定是否要拦截;
若需要拦截,则将前端请求消息的url地址加入线程threadlocal中进行标记后转发Service层***,并打印耗时日志;
Service层***判断threadlocal是否存在标记,若存在标记则打印耗时日志,并转发外部调用***;
外部调用***判断threadlocal是否存在标记,若存在标记则打印耗时日志,并转发DAO***;
DAO***判断threadlocal是否存在标记,若存在标记则打印耗时日志;
其中,耗时日志均包含路径序号、方法序号和耗时值;
根据所述路径序号及所述耗时值确定有异常的方法序号。
可选地,根据路径序号及耗时值确定有异常的方法序号包括:
路径序号为多层级序号;
根据路径序号的层级关系以及各层级耗时时长确定有异常的方法序号。
可选地,按照路径序号的层级关系,由第一层级依次向下一层级确认有异常的路径;
若任意路径耗时不存在异常,则不再向下一层级确认;
若任意路径耗时存在异常,则向下一层级再确认是否异常;
根据所确定有异常的路径确定存在异常的方法序号。
可选地,若任意路径耗时存在异常,则向下一级层级再确认包括:
若向下一层级再确认无异常,则根据所有下一层级所有耗时与本层级耗时确定是否为本层级路径异常。
可选地,若***判断所述threadlocal中不存在所述标记,则直接放行,不打印耗时日志。
可选地,前端请求消息经过全部***后则转发至业务服务层进行处理,完成处理并经过全部***后再转发至***前端。
根据本发明实施例的另一方面,还提供了一种基于***的耗时异常分析的***,包括拦截模块,拦截模块包括四个***,拦截模块用于:
接收到前端请求消息后,controller层***获取统一资源定位url列表以确定是否要拦截;
若需要拦截,则将前端请求消息的url地址加入线程threadlocal中进行标记后转发Service层***,并打印耗时日志;
Service层***判断threadlocal是否存在标记,若存在标记则打印耗时日志,并转发外部调用***;
外部调用***判断threadlocal是否存在标记,若存在标记则打印耗时日志,并转发DAO***;
DAO***判断threadlocal是否存在标记,若存在标记则打印耗时日志;
其中,耗时日志均包含路径序号、方法序号和耗时值;
异常确定模块,用于根据所述路径序号及所述耗时值确定有异常的方法序号。
可选地,拦截模块还用于将url地址存入url列表,并将url列表在内存中进行缓存。
可选地,异常确定模块包括:
路径序号为多层级序号;
根据路径序号的层级关系以及各层级耗时时长确定有异常的方法序号。
可选地,异常确定模块还包括:
按照路径序号的层级关系,由第一层级依次向下一层级确认有异常的路径;
若任意路径耗时不存在异常,则不再向下一层级确认;
若任意路径耗时存在异常,则向下一层级再确认是否异常。
可选地,拦截模块还包括:
若***判断threadlocal中不存在标记,则直接放行,不打印耗时日志。
根据本发明实施例的又一方面,还提供了一种计算机可读的存储介质,该计算机可读的存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项的基于***的耗时异常分析的方法。
在本发明实施例中,通过接收到前端请求消息后,controller层***获取统一资源定位url列表以确定是否要拦截;若需要拦截,则将前端请求消息的url地址加入线程threadlocal中进行标记后转发Service层***,并打印耗时日志;Service层***判断threadlocal是否存在标记,若存在标记则打印耗时日志,并转发外部调用***;外部调用***判断threadlocal是否存在标记,若存在标记则打印耗时日志,并转发DAO***;DAO***判断threadlocal是否存在标记,若存在标记则打印耗时日志;其中,耗时日志均包含路径序号、方法序号和耗时值;根据路径序号及耗时值确定有异常的方法序号。进而解决了相关技术中存在的打印日志量大且异常耗时点分析无法准确定位的问题,达到了具备提高有效打印的效率及准确定位异常点的技术效果。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的基于***的耗时异常分析的方法流程图;
图2是根据本发明实施例的基于***的耗时异常分析的逻辑原理图;
图3是根据本发明实施例的基于***的耗时异常分析的***结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
根据本发明实施例的一个方面,提供了一种基于***的耗时异常分析的方法,可选地,作为一种可选的实施方式,本实施例中的基于***的耗时异常分析的方法可以通过计算机程序的方式执行,并且,可以应用在终端或者服务器或者类似的运算装置或者电子设备中。示例性的,该运算装置或者电子设备可以包括一个或多个处理器(处理器可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器,还可以包括用于通信功能的传输设备以及输入输出设备。还可以包括比前述更多或者更少的组件,或者具有与前述所示不同的配置。存储器可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的耗时异常分析的方法对应的计算机程序,处理器通过运行存储在存储器内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器可进一步包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至移动终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。传输装置用于经由一个网络接收或者发送数据。上述的网络具体实例可包括移动终端的通信供应商提供的无线网络。在一个实例中,传输装置包括一个网络适配器(Network InterfaceController,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
示例性的,作为一种可选的实施方式,图1是根据本发明实施例的基于***的耗时异常分析的流程图,如图1所示,该方法包括:
步骤S101,接收到前端请求消息后,controller层***获取统一资源定位url列表以确定是否要拦截;
其中,与***前端采用的是http方式交互,在接收到前端服务请求后,首先会被***拦截,经过所有***后才会转发至业务层,待处理完后会再通过***才能返回到***前端。其中,则接收到前端服务请求后,controller层***会进行先处理;
其中,controller层***调用url控制服务获取要拦截的url列表,确认当前请求是否需要被拦截。
其中,打印日志时会调用日志序号服务在日志中增加序号,如果没有,则直接放行不打印日志。
步骤S102,若需要拦截,则将前端请求消息的url地址加入线程threadlocal中进行标记后转发Service层***,并打印耗时日志;
其中,Service层***通过检查threadlocal中是否存在标记,以确认当前服务是否需要被分析,如果需要分析,则打印耗时日志,打日志时会调用序号服务;
其中,后续两层的***处理与Service层***过程基本相似。
步骤S103,Service层***判断threadlocal是否存在标记,若存在标记则打印耗时日志,并转发外部调用***。
步骤S104,外部调用***判断threadlocal是否存在标记,若存在标记则打印耗时日志,并转发DAO***。
步骤S105,DAO***判断threadlocal是否存在标记,若存在标记则打印耗时日志。
步骤S106,耗时日志均包含路径序号、方法序号和耗时值;根据路径序号及耗时值确定有异常的方法序号;
例如,路径序号为1,1.1,1.2,1.2.1;方法序号为method1,method2;
其中耗时值指的是各路径对应的方法代码所消耗的时间;
其中,耗时分析是在各***层实现的;
其中,上述日志包含路径序号、方法序号和耗时值,服务产出日志需要,类似于文档目录,用于表示方法调用链路,有助于快速方便的分析耗时点;
进行举例说明如何根据耗时差值k进行定位确定异常,其中打印日志如下:
序号=1.1.1,方法=Aservice.method1,耗时=20ms,参数=111
序号=1.1.2,方法=Aservice.method2,耗时=3ms,参数=111
序号=1.1,方法=Aservice.method3,耗时=24ms,参数=111
序号=1.2.1.1,方法=Aservice.method4,耗时=3024ms,参数=111
序号=1.2.1,方法=Aservice.method5,耗时=3032ms,参数=111
序号=1.2,方法=Aservice.method6,耗时=3033ms,参数=111
序号=1,方法=Aservice.method7,耗时=5033ms,参数=111
通过上述日志举例可以看出,能看出method4、method5、method6、method7这4个方法耗时比较长,如果没有打印序号,那从日志中并无法看出这些方法之间的调用关系,那这些耗时比较长的方法都需要分析,打印了序号后,很显然能看出method5和method6耗时之所以长,都是因为method4,因此method5和method6就不需要分析了,还能看出method7中除了method3和method6的耗时外,还有将近2000ms的耗时,也需要分析。
因此,按照本方案思路,先在确定序号1耗时较多,再看序号1.1和1.2。1.1中整体耗时较少,因此1.1的子节点1.1.1和子节点1.1.2即耗时少,method1、method2、method3则不再需要分析。而序号1.2耗时3033ms,序号1.2.1则耗时3032秒,则可知1.2是因为1.2.1的影响。而1.2.1.1耗时3024ms,因此可知method6最终是因为method4耗时多。因此,可以将问题定位到method4代码,于此同时,method7中出了除了method3和method6的耗时外,还有将近2000ms的耗时,因此也存在问题。
在一个示例性的实施方式中,将url地址存入url列表,并将url列表在内存中进行缓存;
需要说明的是,其它具备相同效果的存储方式均可。
在一个示例性的实施方式中,根据所述路径序号及所述耗时值确定有异常的方法序号包括:
路径序号为多层级序号;
具体的,例如第一级序号层级为1,下一级路径序号为1.1和1.2,再下一级序号为1.1.1,1.2.1;
根据路径序号的层级关系以及各层级耗时时长确定有异常的方法序号。
在一个示例性的实施方式中,按照所述路径序号的层级关系,由第一层级依次向下一层级确认有异常的路径;
若任意路径耗时不存在异常,则不再向下一层级确认;
若任意路径耗时存在异常,则向下一层级再确认是否异常;
根据所确定有异常的路径确定存在异常的方法序号;
具体的,先确定第一级路径序号的耗时是否存在异常,如存在异常,则向第二级路径序号进行确认是否耗时异常,以此类推。
在一个示例性的实施方式中,若向下一层级再确认无异常,则根据所有下一层级所有耗时与本层级耗时确定是否为本层级路径异常;
此外,若除所有下一层级路径以外还存在耗时较多的情况,则确定对应的该节点也存在异常需要分析。
在一个示例性的实施方式中,若***判断threadlocal中不存在标记,则直接放行,不打印耗时日志。
在一个示例性的实施方式中,前端请求消息经过全部***后则转发至业务服务层进行处理,完成处理并经过全部***后再转发至***前端。
图2是根据本发明实施例的基于***的耗时异常分析的逻辑原理图,通过上述图进行例举介绍本方案的序号生成逻辑以及流程原理,具体地,
当url命中分析列表后,则初始化路径对象(路径为1,序号为0),存入栈;
在经过Service***后,如判断有栈,则栈顶对象序号加1,栈中加入新对象,路径为当前对应的路径加序号,序号为0;
执行业务逻辑,弹出栈顶路径对象,打印日志;
跳出controller***,如判断有栈,则打印耗时日志。
在本发明实施例中,通过接收到前端请求消息后,controller层***获取统一资源定位url列表以确定是否要拦截;若需要拦截,则将前端请求消息的url地址加入线程threadlocal中进行标记后转发Service层***,并打印耗时日志;Service层***判断threadlocal是否存在标记,若存在标记则打印耗时日志,并转发外部调用***;外部调用***判断threadlocal是否存在标记,若存在标记则打印耗时日志,并转发DAO***;DAO***判断threadlocal是否存在标记,若存在标记则打印耗时日志;其中,耗时日志均包含路径序号、方法序号和耗时值;根据路径序号及耗时值确定有异常的方法序号。进而解决了相关技术中存在的打印日志量大且异常耗时点分析无法准确定位的问题,达到了具备提高有效打印的效率及准确定位异常点的技术效果。
本发明实施例还提供了一种基于***的耗时异常分析的***,该***用于实现上述实施例及优选实施方式。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的***较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图3是根据本发明实施例的基于***的耗时异常分析的***结构框图,如图2所示,该***包括:
拦截模块31,用于接收到前端请求消息后,controller层***获取统一资源定位url列表以确定是否要拦截;
若需要拦截,则将前端请求消息的url地址加入线程threadlocal中进行标记后转发Service层***,并打印耗时日志;
Service层***判断threadlocal是否存在标记,若存在标记则打印耗时日志,并转发外部调用***;
外部调用***判断threadlocal是否存在标记,若存在标记则打印耗时日志,并转发DAO***;
DAO***判断threadlocal是否存在标记,若存在标记则打印耗时日志;
其中,耗时日志均包含路径序号、方法序号和耗时值;
异常确定模块32,用于根据所述路径序号及所述耗时值确定有异常的方法序号。
在一个示例性的实施方式中,拦截模块还用于将url地址存入url列表,并将url列表在内存中进行缓存。
在一个示例性的实施方式中,异常确定模块包括:
路径序号为多层级序号;
根据路径序号的层级关系以及各层级耗时时长确定有异常的方法序号。
在一个示例性的实施方式中,异常确定模块还包括:
按照路径序号的层级关系,由第一层级依次向下一层级确认有异常的路径;
若任意路径耗时不存在异常,则不再向下一层级确认;
若任意路径耗时存在异常,则向下一层级再确认是否异常。
在一个示例性的实施方式中,拦截模块还包括若***判断threadlocal中不存在标记,则直接放行,不打印耗时日志。
还需要说明的是,其他具备相同效果的实施方式也可适用于本方案,此处不再赘述。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
根据本发明的实施例的又一方面,还提供了一种计算机可读的存储介质,该计算机可读的存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行基于***的耗时异常分析的方法中任一项方法实施例中的步骤。
可选地,在本实施例中,上述计算机可读的存储介质可以被设置为存储用于执行以下步骤的计算机程序:
步骤S1,接收到前端请求消息后,controller层***获取统一资源定位url列表以确定是否要拦截;
步骤S2,若需要拦截,则将前端请求消息的url地址加入线程threadlocal中进行标记后转发Service层***,并打印耗时日志;
步骤S3,Service层***判断threadlocal是否存在标记,若存在标记则打印耗时日志,并转发外部调用***;
步骤S4,外部调用***判断threadlocal是否存在标记,若存在标记则打印耗时日志,并转发DAO***;
步骤S5,DAO***判断threadlocal是否存在标记,若存在标记则打印耗时日志;
步骤S6,耗时日志均包含路径序号、方法序号和耗时值;根据所述路径序号及所述耗时值确定有异常的方法序号。
通过上述步骤,通过接收到前端请求消息后,controller层***获取统一资源定位url列表以确定是否要拦截;若需要拦截,则将前端请求消息的url地址加入线程threadlocal中进行标记后转发Service层***,并打印耗时日志;Service层***判断threadlocal是否存在标记,若存在标记则打印耗时日志,并转发外部调用***;外部调用***判断threadlocal是否存在标记,若存在标记则打印耗时日志,并转发DAO***;DAO***判断threadlocal是否存在标记,若存在标记则打印耗时日志;其中,耗时日志均包含路径序号、方法序号和耗时值;根据路径序号及耗时值确定有异常的方法序号。进而解决了相关技术中存在的打印日志量大且异常耗时点分析无法准确定位的问题,达到了具备提高有效打印的效率及准确定位异常点的技术效果。
可选地,在本实施例中,本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(Random Access Memory,RAM)、磁盘或光盘等。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领D域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种基于***的耗时异常分析的方法,其特征在于,包括:
接收到前端请求消息后,controller层***获取统一资源定位url列表以确定是否要拦截;
若需要拦截,则将所述前端请求消息的url地址加入线程threadlocal中进行标记后转发Service层***,并打印耗时日志;
所述Service层***判断所述threadlocal是否存在所述标记,若存在所述标记则打印耗时日志,并转发外部调用***;
所述外部调用***判断所述threadlocal是否存在所述标记,若存在所述标记则打印耗时日志,并转发DAO***;
所述DAO***判断所述threadlocal是否存在所述标记,若存在所述标记则打印耗时日志;
其中,所述耗时日志均包含路径序号、方法序号和耗时值;
根据所述路径序号及所述耗时值确定有异常的方法序号。
2.根据权利要求1所述的方法,其特征在于,所述根据所述路径序号及所述耗时值确定有异常的方法序号包括:
所述路径序号为多层级序号;
根据路径序号的层级关系以及各层级耗时时长确定有异常的方法序号。
3.根据权利要求2所述的方法,其特征在于,包括:
按照所述路径序号的层级关系,由第一层级依次向下一层级确认有异常的路径;
若任意路径耗时不存在异常,则不再向下一层级确认;
若任意路径耗时存在异常,则向下一层级再确认是否异常;
根据所确定有异常的路径确定存在异常的方法序号。
4.根据权利要求3所述的方法,其特征在于,所述若任意路径耗时存在异常,则向下一级层级再确认包括:
若向下一层级再确认无异常,则根据所有下一层级所有耗时与本层级耗时确定是否为本层级路径异常。
5.根据权利要求1所述的方法,其特征在于,若***判断所述threadlocal中不存在所述标记,则直接放行,不打印耗时日志。
6.一种基于***的耗时异常分析的***,其特征在于,包括拦截模块,所述拦截模块包括四个***,所述拦截模块用于:
接收到前端请求消息后,controller层***获取统一资源定位url列表以确定是否要拦截;
若需要拦截,则将所述前端请求消息的url地址加入线程threadlocal中进行标记后转发Service层***,并打印耗时日志;
所述Service层***判断所述threadlocal是否存在所述标记,若存在所述标记则打印耗时日志,并转发外部调用***;
所述外部调用***判断所述threadlocal是否存在所述标记,若存在所述标记则打印耗时日志,并转发DAO***;
所述DAO***判断所述threadlocal是否存在所述标记,若存在所述标记则打印耗时日志;
其中,所述耗时日志均包含路径序号、方法序号和耗时值;
异常确定模块,用于根据所述路径序号及所述耗时值确定有异常的方法序号。
7.根据权利要求6所述的***,其特征在于,所述异常确定模块具体包括:
所述路径序号为多层级序号;
根据路径序号的层级关系以及各层级耗时时长确定有异常的方法序号。
8.根据权利要求7所述的***,其特征在于,所述异常确定模块还包括:
按照所述路径序号的层级关系,由第一层级依次向下一层级确认有异常的路径;
若任意路径耗时不存在异常,则不再向下一层级确认;
若任意路径耗时存在异常,则向下一层级再确认是否异常。
9.根据所确定有异常的路径确定存在异常的方法序号。根据权利要求6所述的***,其特征在于,所述拦截模块还包括:
若***判断所述threadlocal中不存在所述标记,则直接放行,不打印耗时日志。
10.一种计算机可读的存储介质,所述计算机可读的存储介质包括存储的程序,其中,所述程序运行时执行所述权利要求1至5任意一项中所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110090500.9A CN112783451A (zh) | 2021-01-22 | 2021-01-22 | 一种基于***的耗时异常分析的方法及***、存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110090500.9A CN112783451A (zh) | 2021-01-22 | 2021-01-22 | 一种基于***的耗时异常分析的方法及***、存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112783451A true CN112783451A (zh) | 2021-05-11 |
Family
ID=75758690
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110090500.9A Pending CN112783451A (zh) | 2021-01-22 | 2021-01-22 | 一种基于***的耗时异常分析的方法及***、存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112783451A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20230177100A1 (en) * | 2021-12-07 | 2023-06-08 | Servicenow, Inc. | Efficient Downloading of Related Documents |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105577411A (zh) * | 2014-10-17 | 2016-05-11 | 武汉科技大学 | 基于服务起源的云服务监控方法和装置 |
CN106487596A (zh) * | 2016-10-26 | 2017-03-08 | 宜人恒业科技发展(北京)有限公司 | 分布式服务跟踪实现方法 |
CN106502874A (zh) * | 2016-10-26 | 2017-03-15 | 南京途牛科技有限公司 | 一种调用链跟踪方法 |
CN107818024A (zh) * | 2017-11-22 | 2018-03-20 | 北京汇通金财信息科技有限公司 | 一种基于spring***的request ID传递方法及*** |
CN108415767A (zh) * | 2018-03-07 | 2018-08-17 | 中国平安人寿保险股份有限公司 | 服务器线程控制方法、装置、设备及可读存储介质 |
CN109257440A (zh) * | 2018-10-29 | 2019-01-22 | 南京南瑞信息通信科技有限公司 | 一种基于服务注册中心的服务发现和客户端负载均衡方法 |
CN111177599A (zh) * | 2019-12-26 | 2020-05-19 | 紫光云(南京)数字技术有限公司 | 基于切面的跨***链路追踪方法 |
CN111638973A (zh) * | 2020-05-11 | 2020-09-08 | 紫光云技术有限公司 | 链路追踪计算执行顺序的方法 |
CN112118286A (zh) * | 2020-08-04 | 2020-12-22 | 紫光云(南京)数字技术有限公司 | 基于mdc多线程链路追踪方法、装置及计算机可读存储介质 |
-
2021
- 2021-01-22 CN CN202110090500.9A patent/CN112783451A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105577411A (zh) * | 2014-10-17 | 2016-05-11 | 武汉科技大学 | 基于服务起源的云服务监控方法和装置 |
CN106487596A (zh) * | 2016-10-26 | 2017-03-08 | 宜人恒业科技发展(北京)有限公司 | 分布式服务跟踪实现方法 |
CN106502874A (zh) * | 2016-10-26 | 2017-03-15 | 南京途牛科技有限公司 | 一种调用链跟踪方法 |
CN107818024A (zh) * | 2017-11-22 | 2018-03-20 | 北京汇通金财信息科技有限公司 | 一种基于spring***的request ID传递方法及*** |
CN108415767A (zh) * | 2018-03-07 | 2018-08-17 | 中国平安人寿保险股份有限公司 | 服务器线程控制方法、装置、设备及可读存储介质 |
CN109257440A (zh) * | 2018-10-29 | 2019-01-22 | 南京南瑞信息通信科技有限公司 | 一种基于服务注册中心的服务发现和客户端负载均衡方法 |
CN111177599A (zh) * | 2019-12-26 | 2020-05-19 | 紫光云(南京)数字技术有限公司 | 基于切面的跨***链路追踪方法 |
CN111638973A (zh) * | 2020-05-11 | 2020-09-08 | 紫光云技术有限公司 | 链路追踪计算执行顺序的方法 |
CN112118286A (zh) * | 2020-08-04 | 2020-12-22 | 紫光云(南京)数字技术有限公司 | 基于mdc多线程链路追踪方法、装置及计算机可读存储介质 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20230177100A1 (en) * | 2021-12-07 | 2023-06-08 | Servicenow, Inc. | Efficient Downloading of Related Documents |
US11734381B2 (en) * | 2021-12-07 | 2023-08-22 | Servicenow, Inc. | Efficient downloading of related documents |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9787700B1 (en) | System and method for offloading packet processing and static analysis operations | |
CN111400722B (zh) | 扫描小程序的方法、装置、计算机设备和存储介质 | |
CN108696399B (zh) | 业务服务的测试方法和装置 | |
CN107181804B (zh) | 资源的下载方法和装置 | |
US10735270B1 (en) | Computer-based systems configured for network modelling and monitoring using programming object bindings and methods of use thereof | |
CN113055492A (zh) | 服务灰度链路的控制方法、装置、计算机设备和存储介质 | |
CN110213331B (zh) | 业务请求的处理方法、终端设备、电子设备及存储介质 | |
CN108768960A (zh) | 病毒检测方法、装置、存储介质及计算机设备 | |
CN110602234B (zh) | 区块链网络节点管理方法、装置、设备以及存储介质 | |
CN111756697B (zh) | Api安全检测方法、装置、存储介质及计算机设备 | |
CN107689965A (zh) | 网络设备的防护方法、装置及*** | |
CN111866124A (zh) | 访问网页页面的方法、装置、服务器和机器可读存储介质 | |
CN110858130A (zh) | 日志打印方法及***、服务器 | |
CN113110864A (zh) | 应用程序更新方法、装置及存储介质 | |
CN108924159B (zh) | 一种报文特征识别库的验证方法与装置 | |
US20080115215A1 (en) | Methods, systems, and computer program products for automatically identifying and validating the source of a malware infection of a computer system | |
CN110839025A (zh) | 中心化web渗透检测蜜罐方法、装置、***及电子设备 | |
CN112783451A (zh) | 一种基于***的耗时异常分析的方法及***、存储介质 | |
CN104462242A (zh) | 网页回流量统计方法及装置 | |
CN116781434B (zh) | 基于拟态防御的访问控制方法、***及相关设备 | |
CN113900939A (zh) | 测试环境访问方法、装置、可读存储介质和计算机设备 | |
CN113434796A (zh) | 页面缓存的操作方法及装置、存储介质及电子装置 | |
CN106161429B (zh) | 微端的自动登录方法及装置 | |
KR20040008189A (ko) | 통신 시스템에서의 요구들 | |
CN106130964B (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 |