CN111343242B - 一种信息收集方法、装置、设备、存储介质及分布式系统 - Google Patents

一种信息收集方法、装置、设备、存储介质及分布式系统 Download PDF

Info

Publication number
CN111343242B
CN111343242B CN202010090754.6A CN202010090754A CN111343242B CN 111343242 B CN111343242 B CN 111343242B CN 202010090754 A CN202010090754 A CN 202010090754A CN 111343242 B CN111343242 B CN 111343242B
Authority
CN
China
Prior art keywords
calling
information
abnormal
server
chain
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.)
Active
Application number
CN202010090754.6A
Other languages
English (en)
Other versions
CN111343242A (zh
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.)
Beijing QIYI Century Science and Technology Co Ltd
Original Assignee
Beijing QIYI Century Science and Technology 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 Beijing QIYI Century Science and Technology Co Ltd filed Critical Beijing QIYI Century Science and Technology Co Ltd
Priority to CN202010090754.6A priority Critical patent/CN111343242B/zh
Publication of CN111343242A publication Critical patent/CN111343242A/zh
Application granted granted Critical
Publication of CN111343242B publication Critical patent/CN111343242B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1425Traffic logging, e.g. anomaly detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources

Abstract

本发明实施例提供了一种信息收集方法、装置、设备、存储介质及分布式系统,服务的异常调用影响着服务的正常运行,因此,服务的开发和运维人员对异常调用更为关心。通过信息收集端收集每个服务端上报的异常调用链标识,将收集到的所有异常调用链标识下发到每个服务端上,每个服务端就会基于各异常调用链标识查找出属于各异常调用链的调用操作的调用信息上报给信息收集端,因此,信息收集端能够对发生异常的调用链上的所有调用信息进行全采样,收集到的是更有价值的异常的调用信息,从而节省了调用信息收集时的资源。

Description

一种信息收集方法、装置、设备、存储介质及分布式系统
技术领域
本发明涉及微服务技术领域,特别是涉及一种信息收集方法、装置、设备、存储介质及分布式系统。
背景技术
微服务架构近年来已成为互联网行业特别是大型互联网公司最广泛使用的技术架构。在微服务架构带来诸多好处的同时,随着服务数量的快速增长以及服务间错综复杂的调用和依赖关系,对微服务架构的高效运维产生了许多挑战。
为了应对上述挑战,通过收集各个服务的调用信息进行汇总分析,对分析结果进行输出,使得服务的开发和运维人员能够获知服务间的依赖关系、某个入口请求形成的完整调用链以及各服务和接口的监控指标(例如调用的总数目、异常调用的数目、响应时间)等。
由于每次调用都需要记录和分析调用信息,而微服务架构中有着大量的服务以及各个服务间的大量调用,因此,每时每刻都需要处理海量的数据,导致在收集调用信息时需要消耗大量的资源。
发明内容
本发明实施例的目的在于提供一种信息收集方法、装置、设备、存储介质及分布式系统,以实现在收集调用信息时节省资源的目的。具体技术方案如下:
第一方面,本发明实施例提供了一种信息收集方法,应用于信息收集端,所述方法包括:
收集每个服务端上报的异常调用链标识;
向所述每个服务端均下发收集到的所有异常调用链标识,以使所述每个服务端基于各异常调用链标识查找出属于各异常调用链的调用操作的调用信息上报至所述信息收集端;
收集所述每个服务端上报的调用信息。
可选的,所述向所述每个服务端均下发收集到的所有异常调用链标识,包括:
每间隔一个周期,向所述每个服务端均下发本周期内收集到的所有异常调用链标识。
可选的,所述向所述每个服务端均下发收集到的所有异常调用链标识,包括:
每间隔一个周期,向所述每个服务端均下发本周期内收集到的所有异常调用链标识以及所述本周期的周期截止时间戳,以使所述每个服务端缓存所述本周期的周期截止时间戳之后产生的调用信息,并在接收到下一周期的所有异常调用链标识和周期截止时间戳时,基于各异常调用链标识从缓存的调用信息中过滤出所述下一周期的周期截止时间戳之前、属于各异常调用链的调用操作的调用信息上报至所述信息收集端。
可选的,所述每个服务端还上报有查找出的调用信息产生的时间戳;所述本周期的周期截止时间戳为所述本周期内收集的所有服务端上报的调用信息产生的时间戳中最小的时间戳。
可选的,所述收集所述每个服务端上报的调用信息,包括:
收集所述每个服务端上报的查找到的属于各异常调用链的调用操作的调用信息和被入口服务端采样的调用信息。
第二方面,本发明实施例提供了一种信息收集方法,应用于服务端,所述方法包括:
检测本服务端是否发生调用异常;
若发生,则将发生异常的调用操作所属调用链的标识作为异常调用链标识上报至信息收集端;
接收所述信息收集端下发的所有异常调用链标识;
基于接收到的各异常调用链标识,查找属于各异常调用链的调用操作的调用信息;
将查找到的调用信息上报至所述信息收集端。
可选的,所述接收所述信息收集端下发的所有异常调用链标识,包括:
每间隔一个周期,接收所述信息收集端下发的本周期内收集到的所有异常调用链标识。
可选的,所述接收所述信息收集端下发的所有异常调用链标识,包括:
每间隔一个周期,接收所述信息收集端下发的本周期内收集到的所有异常调用链标识以及所述本周期的周期截止时间戳;
所述基于接收到的各异常调用链标识,查找属于各异常调用链的调用操作的调用信息,包括:
缓存所述本周期的周期截止时间戳之后产生的调用信息;
在接收到下一周期的所有异常调用链标识和周期截止时间戳时,基于各异常调用链标识从缓存的调用信息中过滤出所述下一周期的周期截止时间戳之前、属于各异常调用链的调用操作的调用信息;
所述将查找到的调用信息上报至所述信息收集端,包括:
将过滤出的调用信息上报至所述信息收集端。
可选的,在所述将过滤出的调用信息上报至所述信息收集端之后,所述方法还包括:
清空所述下一周期的周期截止时间戳之前缓存的所有调用信息。
可选的,在所述将查找到的调用信息上报至所述信息收集端之前,所述方法还包括:
查找被入口服务端采样的调用信息;
所述将查找到的调用信息上报至所述信息收集端,包括:
将查找到的属于各异常调用链的调用操作的调用信息和被入口服务端采样的调用信息均上报至所述信息收集端。
第三方面,本发明实施例提供了一种信息收集方法,应用于分布式系统,所述分布式系统包括多个服务端及信息收集端,所述方法包括:
各服务端检测本服务端是否发生调用异常;若发生,则将发生异常的调用操作所属调用链的标识作为异常调用链标识上报至所述信息收集端;
所述信息收集端收集所述各服务端上报的异常调用链标识;向所述各服务端均下发收集到的所有异常调用链标识;
所述各服务端接收所述信息收集端下发的所有异常调用链标识;基于接收到的各异常调用链标识,查找属于各异常调用链的调用操作的调用信息;将查找到的调用信息上报至所述信息收集端。
第四方面,本发明实施例提供了一种信息收集装置,应用于信息收集端,所述装置包括:
第一收集模块,用于收集每个服务端上报的异常调用链标识;
发送模块,用于向所述每个服务端均下发收集到的所有异常调用链标识,以使所述每个服务端基于各异常调用链标识查找出属于各异常调用链的调用操作的调用信息上报至所述信息收集端;
第二收集模块,用于收集所述每个服务端上报的调用信息。
可选的,所述发送模块,具体用于:
每间隔一个周期,向所述每个服务端均下发本周期内收集到的所有异常调用链标识。
可选的,所述发送模块,还用于:
每间隔一个周期,向所述每个服务端均下发本周期内收集到的所有异常调用链标识以及所述本周期的周期截止时间戳,以使所述每个服务端缓存所述本周期的周期截止时间戳之后产生的调用信息,并在接收到下一周期的所有异常调用链标识和周期截止时间戳时,基于各异常调用链标识从缓存的调用信息中过滤出所述下一周期的周期截止时间戳之前、属于各异常调用链的调用操作的调用信息上报至所述信息收集端。
可选的,所述每个服务端还上报有查找出的调用信息产生的时间戳;所述本周期的周期截止时间戳为所述本周期内收集的所有服务端上报的调用信息产生的时间戳中最小的时间戳。
可选的,所述第二收集模块,具体用于:
收集所述每个服务端上报的查找到的属于各异常调用链的调用操作的调用信息和被入口服务端采样的调用信息。
第五方面,本发明实施例提供了一种信息收集装置,应用于服务端,所述装置包括:
检测模块,用于检测本服务端是否发生调用异常;
第一发送模块,用于若发生,则将发生异常的调用操作所属调用链的标识作为异常调用链标识上报至信息收集端;
接收模块,用于接收所述信息收集端下发的所有异常调用链标识;
查找模块,用于基于接收到的各异常调用链标识,查找属于各异常调用链的调用操作的调用信息;
第二发送模块,用于将查找到的调用信息上报至所述信息收集端。
可选的,所述接收模块,具体用于:
每间隔一个周期,接收所述信息收集端下发的本周期内收集到的所有异常调用链标识。
可选的,所述查找模块,包括缓存子模块及过滤子模块;
所述接收模块,具体用于每间隔一个周期,接收所述信息收集端下发的本周期内收集到的所有异常调用链标识以及所述本周期的周期截止时间戳;
所述缓存子模块,用于缓存所述本周期的周期截止时间戳之后产生的调用信息;
所述过滤子模块,用于在接收到下一周期的所有异常调用链标识和周期截止时间戳时,基于各异常调用链标识从缓存的调用信息中过滤出所述下一周期的周期截止时间戳之前、属于各异常调用链的调用操作的调用信息;
所述第二发送模块,具体用于将过滤出的调用信息上报至所述信息收集端。
可选的,所述装置还包括:
清空模块,用于清空所述下一周期的周期截止时间戳之前缓存的所有调用信息。
可选的,所述查找模块,还用于:
查找被入口服务端采样的调用信息;
所述第二发送模块,具体用于:
将查找到的属于各异常调用链的调用操作的调用信息和被入口服务端采样的调用信息均上报至所述信息收集端。
第六方面,本发明实施例提供了一种信息收集端设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的计算机程序时,实现本发明实施例第一方面所提供的方法。
第七方面,本发明实施例提供了一种服务端设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的计算机程序时,实现本发明实施例第二方面所提供的方法。
第八方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现本发明实施例第一方面或第二方面所提供的方法。
第九方面,本发明实施例提供了一种包含指令的计算机程序产品,当该计算机程序产品在服务器上运行时,使得服务器执行本发明实施例第一方面或第二方面所提供的方法。
第十方面,本发明实施例提供了一种分布式系统,包括多个服务端及信息收集端;
所述服务端,用于检测本服务端是否发生调用异常;若发生,则将发生异常的调用操作所属调用链的标识作为异常调用链标识上报至所述信息收集端;
所述信息收集端,用于收集每个服务端上报的异常调用链标识;向所述每个服务端均下发收集到的所有异常调用链标识;
所述服务端,还用于接收所述信息收集端下发的所有异常调用链标识;基于接收到的各异常调用链标识,查找属于各异常调用链的调用操作的调用信息;将查找到的调用信息上报至所述信息收集端。
可选的,所述信息收集端,具体用于每间隔一个周期,向所述每个服务端均下发本周期内收集到的所有异常调用链标识。
可选的,所述信息收集端,具体用于每间隔一个周期,向所述每个服务端均下发本周期内收集到的所有异常调用链标识以及所述本周期的周期截止时间戳;
所述服务端,具体用于缓存所述本周期的周期截止时间戳之后产生的调用信息,并在接收到下一周期的所有异常调用链标识和周期截止时间戳时,基于各异常调用链标识从缓存的调用信息中过滤出所述下一周期的周期截止时间戳之前、属于各异常调用链的调用操作的调用信息;将过滤出的调用信息上报至所述信息收集端。
可选的,所述服务端,还用于上报查找出的调用信息产生的时间戳;所述本周期的周期截止时间戳为所述本周期内收集的所有服务端上报的调用信息产生的时间戳中最小的时间戳。
可选的,所述服务端,还用于在将过滤出的调用信息上报至所述信息收集端之后,清空所述下一周期的周期截止时间戳之前缓存的所有调用信息。
可选的,所述服务器,还用于查找被入口服务端采样的调用信息;将查找到的属于各异常调用链的调用操作的调用信息和被入口服务端采样的调用信息均上报至所述信息收集端。
本发明实施例提供的一种信息收集方法、装置、设备、存储介质及分布式系统,信息收集端收集每个服务端上报的异常调用链标识,向每个服务端均下发收集到的所有异常调用链标识,每个服务端基于各异常调用链标识查找属于各异常调用链的调用操作的调用信息,并将查找出的调用信息上报至信息收集端,信息收集端收集每个服务端上报的调用信息。服务的异常调用影响着服务的正常运行,因此,服务的开发和运维人员对异常调用更为关心。通过信息收集端收集每个服务端上报的异常调用链标识,将收集到的所有异常调用链标识下发到每个服务端上,每个服务端就会基于各异常调用链标识查找出属于各异常调用链的调用操作的调用信息上报给信息收集端,因此,信息收集端能够对发生异常的调用链上的所有调用信息进行全采样,收集到的是更有价值的异常的调用信息,从而节省了调用信息收集时的资源。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
图1为本发明一实施例的应用于信息收集端的信息收集方法的流程示意图;
图2为本发明另一实施例的应用于信息收集端的信息收集方法的流程示意图;
图3为本发明再一实施例的应用于信息收集端的信息收集方法的流程示意图;
图4为本发明一实施例的应用于服务端的信息收集方法的流程示意图;
图5为本发明另一实施例的应用于服务端的信息收集方法的流程示意图;
图6为本发明再一实施例的应用于服务端的信息收集方法的流程示意图;
图7为本发明又一实施例的应用于服务端的信息收集方法的流程示意图;
图8为本发明实施例的应用于信息收集端的信息收集装置的结构示意图;
图9为本发明一实施例的应用于服务端的信息收集装置的结构示意图;
图10为本发明另一实施例的应用于服务端的信息收集装置的结构示意图;
图11为本发明再一实施例的应用于服务端的信息收集装置的结构示意图;
图12为本发明实施例的信息收集端设备的结构示意图;
图13为本发明实施例的服务端设备的结构示意图;
图14为本发明实施例的分布式系统的结构示意图;
图15为本发明实施例的应用于分布式系统的信息收集方法的流程示意图;
图16为本发明实施例的信息收集方法的交互流程示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了实现在收集调用信息时节省资源的目的,本发明实施例提供了一种信息收集方法、装置、设备、存储介质及分布式系统。下面,首先对本发明实施例所提供的信息收集方法进行介绍。
本发明实施例所提供的一种信息收集方法的执行主体可以为分布式系统。该分布式系统可以指的是由多个处于前端的服务端设备(例如手机、个人计算机等)和一个处于后端的信息收集端设备(例如服务器、控制器等)组成的系统;该分布式系统还可以指的是能够提供多种服务的电子设备,包括分别提供不同服务的服务模块和进行数据收集、分析的信息收集模块。本发明实施例中,统一将服务端设备和服务模块统称为服务端,将信息收集端设备和信息收集模块统称为信息收集端。首先,对分别应用于信息收集端和服务端的信息收集方法进行介绍。
本发明实施例所提供的一种应用于信息收集端的信息收集方法,如图1所示,可以包括如下步骤。
S101,收集每个服务端上报的异常调用链标识。
S102,向每个服务端均下发收集到的所有异常调用链标识,以使每个服务端基于各异常调用链标识查找出属于各异常调用链的调用操作的调用信息上报至信息收集端。
S103,收集每个服务端上报的调用信息。
应用本发明实施例,信息收集端收集每个服务端上报的异常调用链标识,向每个服务端均下发收集到的所有异常调用链标识,每个服务端基于各异常调用链标识查找属于各异常调用链的调用操作的调用信息,并将查找出的调用信息上报至信息收集端,信息收集端收集每个服务端上报的调用信息。服务的异常调用影响着服务的正常运行,因此,服务的开发和运维人员对异常调用更为关心。通过信息收集端收集每个服务端上报的异常调用链标识,将收集到的所有异常调用链标识下发到每个服务端上,每个服务端就会基于各异常调用链标识查找出属于各异常调用链的调用操作的调用信息上报给信息收集端,因此,信息收集端能够对发生异常的调用链上的所有调用信息进行全采样,收集到的是更有价值的异常的调用信息,从而节省了调用信息收集时的资源。
为了解决在收集调用信息时资源消耗多大的问题,现有的技术方案中,通常采用对调用信息进行采样的方式,即选择部分调用记录和分析调用信息。对于正常调用操作来讲,采样通常不会丢失太多有价值的数据,但对于一些异常的调用操作,开发和运维人员通常更为关心,因此希望对这些调用信息进行完全采样。同时,对调用信息进行采样还有一个要求,一个调用链中的所有服务端必须一致做出是否采样的选择,以保证调用链是完整的。在现有的技术方案中,通过在入口服务进行采样决定,并在调用操作的过程中额外传递这个采样决定,来达到整个调用链中的所有服务端都对本次调用操作是否采样保持一致的要求。但是,该方案只能对所有调用操作不加区分的进行按比例随机采样,该方案中是否采样是由入口服务决定的,但异常的调用操作可能发生在调用链的任何一个环节,而调用链中的其它服务端可能并不知道某个环节发生了异常。
而在本发明实施例中,通过收集每个服务端上报的异常调用链标识,并向每个服务端均下发收集到的所有异常调用链标识,使得调用链中所有服务端都知道哪些服务端在哪些调用链中发生了调用异常。每个服务端决定某个调用操作是否采样时,除了入口服务决定采样调用链以外,还会采样发生了异常的调用链,最终达到所有异常调用链都能完整采样的目的。同时由于异常调用操作的数量通常比较少,本发明实施例也不会增加很多额外的通信。
每个服务端可以对本服务端相关的调用操作进行检测,检测是否发生调用异常,一个服务端相关的调用操作包括另一个服务端对这个服务端的调用操作和这个服务端对别的服务端的调用操作,如果有向其他服务端反馈数据或者有接收到其他服务端反馈的数据,则说明调用成功,如果向其他服务端反馈数据失败或者没有接收到其他服务端反馈的数据,则说明调用失败,本次调用异常,并且,每个服务端能够获知一次调用操作所属调用链的标识,这个标识一般携带在入口请求当中,例如一个入口请求对应的调用顺序为服务端A调用服务端B、服务端B调用服务端C、服务端C调用服务端D,那么这个调用链(A-B-C-D)的标识会携带在入口请求中,依次发到该调用链的各服务端上,如果某一个服务端识别到调用异常,则会将该调用操作所属的调用链的标识作为异常调用链标识上报给信息收集端。
信息收集端在收集到各服务端上报的异常调用链标识后,可以向每个服务端均下发信息收集端收集到的所有异常调用链标识,信息收集端可以定期地向每个服务端均下发收集到的所有异常调用链标识,也可以只要在一收集到异常调用链标识时就向每个服务端均下发收集到的所有异常调用链标识。
每个服务端在接收到各异常调用链标识后,可以判断出本服务端相关的调用操作是否属于异常调用链,即本服务端相关的调用操作是否满足异常调用链标识,如果属于,则会将该调用操作的调用信息上报给信息收集端,调用信息是指一个服务端被哪一个服务端调用、一个服务端调用了哪个服务端等与调用操作相关的信息,这样,即便一条异常调用链上某一个服务端的调用没有发生异常,也需要上报属于该条异常调用链的调用信息至信息收集端,保证一条异常调用链的完整性,从而保证了调用信息分析的完整性,分析结果更准确。
如果服务端没有属于异常调用链的调用信息,则可以不向信息收集端进行上报,信息收集端收集的是每个服务端上报的属于各异常调用链的调用操作的调用信息,不需要再收集每个服务端每次调用操作的调用信息,有效节省了计算、存储、网络等资源。在收集到调用信息后,信息收集端可以基于收集到的调用信息进行分析,由于异常调用一般对服务有着直接影响,在本发明实施例中,收集的是属于各异常调用链的调用操作的调用信息,因此,能够分析出各服务端的运行情况,基于分析结果,帮助开发和运维人员发现隐患、排查故障、优化系统。
可选的,S103具体可以为:收集每个服务端上报的查找到的属于各异常调用链的调用操作的调用信息和被入口服务端采样的调用信息。
每个服务端在接收到信息收集端下发的所有异常调用链标识时,除了会查找属于各异常调用链的调用操作的调用信息进行上报以外,还会查找被入口服务端采样的调用信息进行上报,入口服务端通过配置可以选择一些调用信息进行上传分析,用于分析正常调用的特征,服务端可以检测出本服务端的哪些调用信息被入口服务端采样,如果被采样则会上传到信息收集端,这样信息收集端收集到的调用信息既包括了属于各异常调用链的调用操作的调用信息,又包括了被入口服务端采样的调用信息,分析结果更为完善,既能够对异常调用进行汇总又能够对正常调用进行采样汇总,并且由于正常调用是采样的,并不是所有的调用信息,因此,相较于传统的调用信息收集方案,节省了调用信息收集时的资源。
基于图1所示实施例,本发明实施例还提供了一种应用于信息收集端的信息收集方法,如图2所示,可以包括如下步骤。
S201,收集每个服务端上报的异常调用链标识。
S202,每间隔一个周期,向每个服务端均下发本周期内收集到的所有异常调用链标识,以使每个服务端基于各异常调用链标识查找出属于各异常调用链的调用操作的调用信息上报至信息收集端。
S203,收集每个服务端上报的调用信息。
信息收集端可以定期向每个服务端下发收集到的所有异常调用链标识,具体是每间隔一个周期,向每个服务端均下发本周期内收集到的所有异常调用链标识。采用周期下发异常调用链标识的方式,如果一个周期中没有异常调用发生,信息收集端则会下发一个空的信息,没有任何异常调用链标识,这样,服务端也不会上报调用信息,从而最大限度地降低了各服务端的通信开销。
基于图2所示实施例,本发明实施例还提供了一种应用于信息收集端的信息收集方法,如图3所示,可以包括如下步骤。
S301,收集每个服务端上报的异常调用链标识。
S302,每间隔一个周期,向每个服务端均下发本周期内收集到的所有异常调用链标识以及本周期的周期截止时间戳,以使每个服务端缓存本周期的周期截止时间戳之后产生的调用信息,并在接收到下一周期的所有异常调用链标识和周期截止时间戳时,基于各异常调用链标识从缓存的调用信息中过滤出下一周期的周期截止时间戳之前、属于各异常调用链的调用操作的调用信息上报至信息收集端。
S303,收集每个服务端上报的调用信息。
信息收集端定期向每个服务端下发本周期内收集到的所有异常调用链标识的同时,还可以下发本周期的周期截止时间戳,服务端接收到周期截止时间戳后,缓存周期截止时间戳之后产生的调用信息,对调用信息进行缓存可以解决调用链中一部分服务完成调用时,该调用链是否异常的信息还未被汇总和下发的问题,这样,在接收到下一周期的所有异常调用链标识和周期截止时间戳时,基于各异常调用链标识从缓存的调用信息中过滤出下一周期的周期截止时间戳之前、属于各异常调用链的调用操作的调用信息上报至信息收集端。
可选的,每个服务端还上报有查找出的调用信息产生的时间戳;本周期的周期截止时间戳为本周期内收集的所有服务端上报的调用信息产生的时间戳中最小的时间戳。
周期截止时间戳由取各服务端上报的调用信息产生的时间戳的最小值来动态确定,避免部分服务端上报调用信息之后和收到信息收集端下发的异常调用链标识期间发生了异常调用,导致该异常调用被遗漏。
如果信息收集端在本周期没有收到任何服务端上报的调用信息,则周期截止时间戳设置为上一周期的周期截止时间戳加上预设周期间隔。
本发明实施例所提供的一种应用于服务端的信息收集方法,如图4所示,可以包括如下步骤。
S401,检测本服务端是否发生调用异常。
S402,若发生,则将发生异常的调用操作所属调用链的标识作为异常调用链标识上报至信息收集端。
S403,接收信息收集端下发的所有异常调用链标识。
S404,基于接收到的各异常调用链标识,查找属于各异常调用链的调用操作的调用信息。
S405,将查找到的调用信息上报至信息收集端。
应用本发明实施例,服务端在检测到本服务端发生调用异常时,将发生异常的调用操作所属调用链的标识作为异常调用链标识上报至信息收集端,接收信息收集端下发的所有异常调用链标识,基于各异常调用链标识查找属于各异常调用链的调用操作的调用信息,并将查找出的调用信息上报至信息收集端。服务的异常调用影响着服务的正常运行,因此,服务的开发和运维人员对异常调用更为关心。服务端通过对调用异常进行检测,将发生异常的调用操作所属调用链的异常调用链标识上报至信息收集端,信息收集端再将收集到的所有异常调用链标识下发到每个服务端上,每个服务端就会基于各异常调用链标识查找出属于各异常调用链的调用操作的调用信息上报给信息收集端,因此,信息收集端能够对发生异常的调用链上的所有调用信息进行全采样,收集到的是更有价值的异常的调用信息,从而节省了调用信息收集时的资源。
每个服务端对本服务端相关的调用操作进行检测,检测是否发生调用异常,一个服务端相关的调用操作包括另一个服务端对这个服务端的调用和这个服务端对别的服务端的调用,如果有向其他服务端反馈数据或者有接收到其他服务端反馈的数据,则说明调用成功,如果向其他服务端反馈数据失败或者没有接收到其他服务端反馈的数据,则说明调用失败,本次调用异常,并且,每个服务端能够获知一次调用所属调用链的标识,这个标识一般携带在入口请求当中,如果某一个服务端识别到调用异常,则会将该调用所属的调用链的标识作为异常调用链标识上报给信息收集端。
信息收集端在收集到各服务端上报的异常调用链标识后,会向每个服务端均下发信息收集端收集到的所有异常调用链标识,则每个服务端均可以接收到信息收集端下发的所有异常调用标识。信息收集端可以定期地向每个服务端均下发收集到的所有异常调用链标识,也可以只要在一收集到异常调用链标识时就向每个服务端均下发收集到的所有异常调用链标识。
每个服务端在接收到各异常调用链标识后,可以判断出本服务端相关的调用操作是否属于异常调用链,即本服务端相关的调用操作是否满足异常调用链标识,如果属于,则会将该调用操作的调用信息上报给信息收集端,这样,即便一条异常调用链上某一个服务端的调用没有发生异常,也需要上报属于该条异常调用链的调用信息至信息收集端,保证一条异常调用链的完整性,从而保证了调用信息分析的完整性,分析结果更准确。
如果服务端没有属于异常调用链的调用信息,则可以不向信息收集端进行上报,信息收集端收集的是每个服务端上报的属于各异常调用链的调用操作的调用信息,不需要再收集每个服务端每次调用的调用信息,有效节省了计算、存储、网络等资源。在收集到调用信息后,信息收集端可以基于收集到的调用信息进行分析,由于异常调用一般对服务有着直接影响,在本发明实施例中,收集的是属于各异常调用链的调用操作的调用信息,因此,能够分析出各服务端的运行情况,基于分析结果,帮助开发和运维人员发现隐患、排查故障、优化系统。
基于图4所示实施例,本发明实施例所提供的一种应用于服务端的信息收集方法,如图5所示,可以包括如下步骤。
S501,检测本服务端是否发生调用异常。
S502,若发生,则将发生异常的调用操作所属调用链的标识作为异常调用链标识上报至信息收集端。
S503,每间隔一个周期,接收信息收集端下发的本周期内收集到的所有异常调用链标识。
S504,基于接收到的各异常调用链标识,查找属于各异常调用链的调用操作的调用信息。
S505,将查找到的调用信息上报至信息收集端。
信息收集端可以定期向每个服务端下发收集到的所有异常调用链标识,具体是每间隔一个周期,向每个服务端均下发本周期内收集到的所有异常调用链标识。采用周期下发异常调用链标识的方式,如果一个周期中没有异常调用发生,信息收集端则会下发一个空的信息,没有任何异常调用链标识,这样,服务端也不会上报调用信息,从而最大限度地降低了各服务端的通信开销。
基于图5所示实施例,本发明实施例所提供的一种应用于服务端的信息收集方法,如图6所示,可以包括如下步骤。
S601,检测本服务端是否发生调用异常。
S602,若发生,则将发生异常的调用操作所属调用链的标识作为异常调用链标识上报至信息收集端。
S603,每间隔一个周期,接收信息收集端下发的本周期内收集到的所有异常调用链标识以及本周期的周期截止时间戳。
S604,缓存本周期的周期截止时间戳之后产生的调用信息。
S605,在接收到下一周期的所有异常调用链标识和周期截止时间戳时,基于各异常调用链标识从缓存的调用信息中过滤出下一周期的周期截止时间戳之前、属于各异常调用链的调用操作的调用信息。
S606,将过滤出的调用信息上报至信息收集端。
信息收集端定期向每个服务端下发本周期内收集到的所有异常调用链标识的同时,还可以下发本周期的周期截止时间戳,服务端接收到周期截止时间戳后,缓存周期截止时间戳之后产生的调用信息,对调用信息进行缓存可以解决调用链中一部分服务完成调用时,该调用链是否异常的信息还未被汇总和下发的问题,这样,在接收到下一周期的所有异常调用链标识和周期截止时间戳时,基于各异常调用链标识从缓存的调用信息中过滤出下一周期的周期截止时间戳之前、属于各异常调用链的调用操作的调用信息上报至信息收集端。
可选的,在执行S606之后,本发明实施例所提供的信息收集方法还可以执行:清空周期截止时间戳之前缓存的所有调用信息。
在将过滤出的调用信息上报至信息收集端之后,为了释放缓存空间、减轻缓存压力,可以将周期截止时间戳之前缓存的所有调用信息进行清空,重新缓存下一个周期检测到的调用信息。
基于图4所示实施例,本发明实施例所提供的一种应用于服务端的信息收集方法,如图7所示,可以包括如下步骤。
S701,检测本服务端是否发生调用异常。
S702,若发生,则将发生异常的调用操作所属调用链的标识作为异常调用链标识上报至信息收集端。
S703,接收信息收集端下发的所有异常调用链标识。
S704,基于接收到的各异常调用链标识,查找属于各异常调用链的调用操作的调用信息,并查找被入口服务端采样的调用信息。
S705,将查找到的属于各异常调用链的调用操作的调用信息和被入口服务端采样的调用信息均上报至信息收集端。
每个服务端在接收到信息收集端下发的所有异常调用链标识时,除了会查找属于各异常调用链的调用操作的调用信息进行上报以外,还会查找被入口服务端采样的调用信息进行上报,入口服务端通过配置可以选择一些调用信息进行上传分析,用于分析正常调用的特征,服务端可以检测出本服务端的哪些调用信息被入口服务端采样,如果被采样则会上传到信息收集端,这样信息收集端收集到的调用信息既包括了属于各异常调用链的调用操作的调用信息,又包括了被入口服务端采样的调用信息,分析结果更为完善,既能够对异常调用进行汇总又能够对正常调用进行采样汇总,并且由于正常调用是采样的,并不是所有的调用信息,因此,相较于传统的调用信息收集方案,节省了调用信息收集时的资源。
相应于上述应用于信息收集端的信息收集方法,本发明实施例提供了一种应用于信息收集端的信息收集装置,如图8所示,该装置可以包括:
第一收集模块810,用于收集每个服务端上报的异常调用链标识;
发送模块820,用于向所述每个服务端均下发收集到的所有异常调用链标识,以使所述每个服务端基于各异常调用链标识查找出属于各异常调用链的调用操作的调用信息上报至所述信息收集端;
第二收集模块830,用于收集所述每个服务端上报的调用信息。
可选的,所述发送模块820,具体可以用于:
每间隔一个周期,向所述每个服务端均下发本周期内收集到的所有异常调用链标识。
可选的,所述发送模块820,具体可以用于:
每间隔一个周期,向所述每个服务端均下发本周期内收集到的所有异常调用链标识以及所述本周期的周期截止时间戳,以使所述每个服务端缓存所述本周期的周期截止时间戳之后产生的调用信息,并在接收到下一周期的所有异常调用链标识和周期截止时间戳时,基于各异常调用链标识从缓存的调用信息中过滤出所述下一周期的周期截止时间戳之前、属于各异常调用链的调用操作的调用信息上报至所述信息收集端。
可选的,所述每个服务端还可以上报有查找出的调用信息产生的时间戳;所述本周期的周期截止时间戳可以为所述本周期内收集的所有服务端上报的调用信息产生的时间戳中最小的时间戳。
可选的,所述第二收集模块830,具体可以用于:
收集所述每个服务端上报的查找到的属于各异常调用链的调用操作的调用信息和被入口服务端采样的调用信息。
应用本发明实施例,信息收集端收集每个服务端上报的异常调用链标识,向每个服务端均下发收集到的所有异常调用链标识,每个服务端基于各异常调用链标识查找属于各异常调用链的调用操作的调用信息,并将查找出的调用信息上报至信息收集端,信息收集端收集每个服务端上报的调用信息。服务的异常调用影响着服务的正常运行,因此,服务的开发和运维人员对异常调用更为关心。通过信息收集端收集每个服务端上报的异常调用链标识,将收集到的所有异常调用链标识下发到每个服务端上,每个服务端就会基于各异常调用链标识查找出属于各异常调用链的调用操作的调用信息上报给信息收集端,因此,信息收集端能够对发生异常的调用链上的所有调用信息进行全采样,收集到的是更有价值的异常的调用信息,从而节省了调用信息收集时的资源。
相应于上述应用于服务端的信息收集方法,本发明实施例提供了一种应用于服务端的信息收集装置,如图9所示,该装置可以包括:
检测模块910,用于检测本服务端是否发生调用异常;
第一发送模块920,用于若发生,则将发生异常的调用操作所属调用链的标识作为异常调用链标识上报至信息收集端;
接收模块930,用于接收所述信息收集端下发的所有异常调用链标识;
查找模块940,用于基于接收到的各异常调用链标识,查找属于各异常调用链的调用操作的调用信息;
第二发送模块950,用于将查找到的调用信息上报至所述信息收集端。
可选的,所述接收模块930,具体可以用于:
每间隔一个周期,接收所述信息收集端下发的本周期内收集到的所有异常调用链标识。
可选的,所述查找模块940,还可以用于:
查找被入口服务端采样的调用信息;
所述第二发送模块950,具体可以用于:
将查找到的属于各异常调用链的调用操作的调用信息和被入口服务端采样的调用信息均上报至所述信息收集端。
应用本发明实施例,服务端在检测到本服务端发生调用异常时,将发生异常的调用操作所属调用链的标识作为异常调用链标识上报至信息收集端,接收信息收集端下发的所有异常调用链标识,基于各异常调用链标识查找属于各异常调用链的调用操作的调用信息,并将查找出的调用信息上报至信息收集端。服务的异常调用影响着服务的正常运行,因此,服务的开发和运维人员对异常调用更为关心。服务端通过对调用异常进行检测,将发生异常的调用操作所属调用链的异常调用链标识上报至信息收集端,信息收集端再将收集到的所有异常调用链标识下发到每个服务端上,每个服务端就会基于各异常调用链标识查找出属于各异常调用链的调用操作的调用信息上报给信息收集端,因此,信息收集端能够对发生异常的调用链上的所有调用信息进行全采样,收集到的是更有价值的异常的调用信息,从而节省了调用信息收集时的资源。
基于图9所示实施例,本发明实施例还提供了一种应用于服务端的信息收集装置,如图10所示,该装置可以包括:
检测模块1010,用于检测本服务端是否发生调用异常;
第一发送模块1020,用于若发生,则将发生异常的调用所属调用链的标识作为异常调用链标识上报至信息收集端;
接收模块1030,用于每间隔一个周期,接收所述信息收集端下发的本周期内收集到的所有异常调用链标识以及所述本周期的周期截止时间戳;
缓存子模块1040,用于缓存所述本周期的周期截止时间戳之后产生的调用信息;
过滤子模块1050,用于在接收到下一周期的所有异常调用链标识和周期截止时间戳时,基于各异常调用链标识从缓存的调用信息中过滤出所述下一周期的周期截止时间戳之前、属于各异常调用链的调用操作的调用信息;
第二发送模块1060,用于将过滤出的调用信息上报至所述信息收集端。
信息收集端定期向每个服务端下发本周期内收集到的所有异常调用链标识的同时,还可以下发本周期的周期截止时间戳,服务端接收到周期截止时间戳后,缓存周期截止时间戳之后产生的调用信息,对调用信息进行缓存可以解决调用链中一部分服务完成调用时,该调用链是否异常的信息还未被汇总和下发的问题,这样,在接收到下一周期的所有异常调用链标识和周期截止时间戳时,基于各异常调用链标识从缓存的调用信息中过滤出下一周期的周期截止时间戳之前、属于各异常调用链的调用操作的调用信息上报至信息收集端。
基于图10所示实施例,本发明实施例还提供了一种应用于服务端的信息收集装置,如图11所示,该装置可以包括:
检测模块1110,用于检测本服务端是否发生调用异常;
第一发送模块1120,用于若发生,则将发生异常的调用所属调用链的标识作为异常调用链标识上报至信息收集端;
接收模块1130,用于每间隔一个周期,接收所述信息收集端下发的本周期内收集到的所有异常调用链标识以及所述本周期的周期截止时间戳;
缓存子模块1140,用于缓存所述本周期的周期截止时间戳之后产生的调用信息;
过滤子模块1150,用于在接收到下一周期的所有异常调用链标识和周期截止时间戳时,基于各异常调用链标识从缓存的调用信息中过滤出所述下一周期的周期截止时间戳之前、属于各异常调用链的调用操作的调用信息;
第二发送模块1160,用于将过滤出的调用信息上报至所述信息收集端;
清空模块1170,用于清空所述下一周期的周期截止时间戳之前缓存的所有调用信息。
在将过滤出的调用信息上报至信息收集端之后,为了释放缓存空间、减轻缓存压力,可以将周期截止时间戳之前缓存的所有调用信息进行清空,重新缓存下一个周期检测到的调用信息。
本发明实施例还提供了一种信息收集端设备,如图12所示,包括处理器1201、通信接口1202、存储器1203和通信总线1204,其中,处理器1201,通信接口1202,存储器1203通过通信总线1204完成相互间的通信;
存储器1203,用于存放计算机程序;
处理器1201,用于执行存储器1203上所存放的计算机程序时,实现本发明实施例第一方面所提供的应用于信息收集端的信息收集方法。
本发明实施例还提供了一种服务端设备,如图13所示,包括处理器1301、通信接口1302、存储器1303和通信总线1304,其中,处理器1301,通信接口1302,存储器1303通过通信总线1304完成相互间的通信;
存储器1303,用于存放计算机程序;
处理器1301,用于执行存储器1303上所存放的计算机程序时,实现本发明实施例第二方面所提供的应用于服务端的信息收集方法。
应用本发明实施例,信息收集端收集每个服务端上报的异常调用链标识,向每个服务端均下发收集到的所有异常调用链标识,每个服务端基于各异常调用链标识查找属于各异常调用链的调用操作的调用信息,并将查找出的调用信息上报至信息收集端,信息收集端收集每个服务端上报的调用信息。服务的异常调用影响着服务的正常运行,因此,服务的开发和运维人员对异常调用更为关心。通过信息收集端收集每个服务端上报的异常调用链标识,将收集到的所有异常调用链标识下发到每个服务端上,每个服务端就会基于各异常调用链标识查找出属于各异常调用链的调用操作的调用信息上报给信息收集端,因此,信息收集端能够对发生异常的调用链上的所有调用信息进行全采样,收集到的是更有价值的异常的调用信息,从而节省了调用信息收集时的资源。
上述服务器提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,简称PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,简称EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述服务器与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(Non-volatile Memory,简称NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processor,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本发明提供的又一实施例中,还提供了一种机器可读存储介质,机器可读存储介质中存储有指令,当指令在服务器上运行时,使得服务器执行本发明实施例第一方面所提供的应用于信息收集端的信息收集方法。
在本发明提供的又一实施例中,还提供了一种机器可读存储介质,机器可读存储介质中存储有指令,当指令在服务器上运行时,使得服务器执行本发明实施例第二方面所提供的应用于服务端的信息收集方法。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当该计算机程序产品在服务器上运行时,使得服务器执行本发明实施例第一方面所提供的应用于信息收集端的信息收集方法。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当该计算机程序产品在服务器上运行时,使得服务器执行本发明实施例第二方面所提供的应用于服务端的信息收集方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(Digital Subscriber Line,简称DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如软盘、硬盘、磁带)、光介质(例如数字多功能光盘(Digital Versatile Disc,简称DVD))、或者半导体介质(例如固态硬盘(SolidState Disk,简称SSD))等。
本发明实施例还提供了一种分布式系统,如图14所示,包括多个服务端1401及信息收集端1402;
所述服务端1401,用于检测本服务端是否发生调用异常;若发生,则将发生异常的调用操作所属调用链的标识作为异常调用链标识上报至所述信息收集端1402;
所述信息收集端1402,用于收集每个服务端1401上报的异常调用链标识;向所述每个服务端1401均下发收集到的所有异常调用链标识;
所述服务端1401,还用于接收所述信息收集端1402下发的所有异常调用链标识;基于接收到的各异常调用链标识,查找属于各异常调用链的调用操作的调用信息;将查找到的调用信息上报至所述信息收集端1402。
可选的,所述信息收集端1402,具体可以用于每间隔一个周期,向所述每个服务端1401均下发本周期内收集到的所有异常调用链标识。
可选的,所述信息收集端1402,具体可以用于每间隔一个周期,向所述每个服务端1401均下发本周期内收集到的所有异常调用链标识以及所述本周期的周期截止时间戳;
所述服务端1401,具体可以用于缓存所述本周期的周期截止时间戳之后产生的调用信息,并在接收到下一周期的所有异常调用链标识和周期截止时间戳时,基于各异常调用链标识从缓存的调用信息中过滤出所述下一周期的周期截止时间戳之前、属于各异常调用链的调用操作的调用信息;将过滤出的调用信息上报至所述信息收集端1402。
可选的,所述服务端1401,还可以用于上报查找出的调用信息产生的时间戳;所述本周期的周期截止时间戳为所述本周期内收集的所有服务端1401上报的调用信息产生的时间戳中最小的时间戳。
可选的,所述服务端1401,还可以用于在将过滤出的调用信息上报至所述信息收集端1402之后,清空所述下一周期的周期截止时间戳之前缓存的所有调用信息。
可选的,所述服务器1401,还可以用于查找被入口服务端采样的调用信息;将查找到的属于各异常调用链的调用操作的调用信息和被入口服务端采样的调用信息均上报至所述信息收集端1402。
应用本发明实施例,信息收集端收集每个服务端上报的异常调用链标识,向每个服务端均下发收集到的所有异常调用链标识,每个服务端基于各异常调用链标识查找属于各异常调用链的调用操作的调用信息,并将查找出的调用信息上报至信息收集端,信息收集端收集每个服务端上报的调用信息。服务的异常调用影响着服务的正常运行,因此,服务的开发和运维人员对异常调用更为关心。通过信息收集端收集每个服务端上报的异常调用链标识,将收集到的所有异常调用链标识下发到每个服务端上,每个服务端就会基于各异常调用链标识查找出属于各异常调用链的调用操作的调用信息上报给信息收集端,因此,信息收集端能够对发生异常的调用链上的所有调用信息进行全采样,收集到的是更有价值的异常的调用信息,从而节省了调用信息收集时的资源。
本发明实施例还提供了一种信息收集方法,应用于如图14所示的分布式系统,如图15所示,该方法包括:
S1501,各服务端检测本服务端是否发生调用异常,若发生,则将发生异常的调用操作所属调用链的标识作为异常调用链标识上报至信息收集端。
S1502,信息收集端收集各服务端上报的异常调用链标识,并向各服务端均下发收集到的所有异常调用链标识。
S1503,各服务端接收信息收集端下发的所有异常调用链标识,基于接收到的各异常调用链标识,查找属于各异常调用链的调用操作的调用信息,将查找到的调用信息上报至信息收集端。
应用本发明实施例,信息收集端收集每个服务端上报的异常调用链标识,向每个服务端均下发收集到的所有异常调用链标识,每个服务端基于各异常调用链标识查找属于各异常调用链的调用操作的调用信息,并将查找出的调用信息上报至信息收集端,信息收集端收集每个服务端上报的调用信息。服务的异常调用影响着服务的正常运行,因此,服务的开发和运维人员对异常调用更为关心。通过信息收集端收集每个服务端上报的异常调用链标识,将收集到的所有异常调用链标识下发到每个服务端上,每个服务端就会基于各异常调用链标识查找出属于各异常调用链的调用操作的调用信息上报给信息收集端,因此,信息收集端能够对发生异常的调用链上的所有调用信息进行全采样,收集到的是更有价值的异常的调用信息,从而节省了调用信息收集时的资源。
为了便于理解,下面通过交互的方式,对本发明实施例所提供的信息收集方法进行详细介绍,本发明实施例中增加一个采样协调模块,该采样协调模块用于收集各个服务端上报的异常调用链标识,并定期向所有服务端下发一个周期内的所有异常调用链标识以及周期截止时间戳,如图16所示,具体包括如下步骤。
第一步,采样协调模块收集各个服务端上报的异常调用链标识。
第二步,采样协调模块定期向所有服务端下发一个周期内的所有异常调用链标识以及周期截止时间戳。
第三步,各服务端都缓存信息收集端上一次发送的周期截止时间戳之后的本服务端产生的调用信息,以及被入口服务端采样的调用信息。
第四步,各服务端在每次采样协调模块发送的异常调用链标识和周期截止时间戳时,从缓存的调用信息中过滤出周期截止时间戳之前、属于异常调用链的调用信息和被入口服务端采样的调用信息,上报至调用信息收集模块,并清空周期截止时间戳之前缓存的调用信息。
第五步,调用信息收集模块收集到属于异常调用链的调用信息和被入口服务端采样的调用信息后,进行计算分析,得到分析结果。
各服务端在上一次周期截止时间戳的后一个周期内,向信息收集端上报该周期中所有的异常调用所属的异常调用链标识,并上报异常调用的调用信息产生的时间戳。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、信息收集端设备、服务端设备、机器可读存储介质、计算机程序产品和分布式系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (15)

1.一种信息收集方法,其特征在于,应用于信息收集端,所述方法包括:
收集每个服务端上报的异常调用链标识;
向所述每个服务端均下发收集到的所有异常调用链标识,以使所述每个服务端基于各异常调用链标识查找出属于各异常调用链的调用操作的调用信息上报至所述信息收集端;
收集所述每个服务端上报的调用信息;
所述向所述每个服务端均下发收集到的所有异常调用链标识,包括:
每间隔一个周期,向所述每个服务端均下发本周期内收集到的所有异常调用链标识。
2.根据权利要求1所述的方法,其特征在于,所述向所述每个服务端均下发收集到的所有异常调用链标识,包括:
每间隔一个周期,向所述每个服务端均下发本周期内收集到的所有异常调用链标识以及所述本周期的周期截止时间戳,以使所述每个服务端缓存所述本周期的周期截止时间戳之后产生的调用信息,并在接收到下一周期的所有异常调用链标识和周期截止时间戳时,基于各异常调用链标识从缓存的调用信息中过滤出所述下一周期的周期截止时间戳之前、属于各异常调用链的调用操作的调用信息上报至所述信息收集端。
3.根据权利要求2所述的方法,其特征在于,所述每个服务端还上报有查找出的调用信息产生的时间戳;所述本周期的周期截止时间戳为所述本周期内收集的所有服务端上报的调用信息产生的时间戳中最小的时间戳。
4.根据权利要求1所述的方法,其特征在于,所述收集所述每个服务端上报的调用信息,包括:
收集所述每个服务端上报的查找到的属于各异常调用链的调用操作的调用信息和被入口服务端采样的调用信息。
5.一种信息收集方法,其特征在于,应用于服务端,所述方法包括:
检测本服务端是否发生调用异常;
若发生,则将发生异常的调用操作所属调用链的标识作为异常调用链标识上报至信息收集端;
接收所述信息收集端下发的所有异常调用链标识;
基于接收到的各异常调用链标识,查找属于各异常调用链的调用操作的调用信息;
将查找到的调用信息上报至所述信息收集端;
所述接收所述信息收集端下发的所有异常调用链标识,包括:
每间隔一个周期,接收所述信息收集端下发的本周期内收集到的所有异常调用链标识。
6.根据权利要求5所述的方法,其特征在于,所述接收所述信息收集端下发的所有异常调用链标识,包括:
每间隔一个周期,接收所述信息收集端下发的本周期内收集到的所有异常调用链标识以及所述本周期的周期截止时间戳;
所述基于接收到的各异常调用链标识,查找属于各异常调用链的调用操作的调用信息,包括:
缓存所述本周期的周期截止时间戳之后产生的调用信息;
在接收到下一周期的所有异常调用链标识和周期截止时间戳时,基于各异常调用链标识从缓存的调用信息中过滤出所述下一周期的周期截止时间戳之前、属于各异常调用链的调用操作的调用信息;
所述将查找到的调用信息上报至所述信息收集端,包括:
将过滤出的调用信息上报至所述信息收集端。
7.根据权利要求6所述的方法,其特征在于,在所述将过滤出的调用信息上报至所述信息收集端之后,所述方法还包括:
清空所述下一周期的周期截止时间戳之前缓存的所有调用信息。
8.根据权利要求5所述的方法,其特征在于,在所述将查找到的调用信息上报至所述信息收集端之前,所述方法还包括:
查找被入口服务端采样的调用信息;
所述将查找到的调用信息上报至所述信息收集端,包括:
将查找到的属于各异常调用链的调用操作的调用信息和被入口服务端采样的调用信息均上报至所述信息收集端。
9.一种信息收集方法,其特征在于,应用于分布式系统,所述分布式系统包括多个服务端及信息收集端,所述方法包括:
各服务端检测本服务端是否发生调用异常;若发生,则将发生异常的调用操作所属调用链的标识作为异常调用链标识上报至所述信息收集端;
所述信息收集端收集所述各服务端上报的异常调用链标识;向所述各服务端均下发收集到的所有异常调用链标识;
所述各服务端接收所述信息收集端下发的所有异常调用链标识;基于接收到的各异常调用链标识,查找属于各异常调用链的调用操作的调用信息;将查找到的调用信息上报至所述信息收集端;
所述向所述各服务端均下发收集到的所有异常调用链标识,包括:
每间隔一个周期,向所述各服务端均下发本周期内收集到的所有异常调用链标识。
10.一种信息收集装置,其特征在于,应用于信息收集端,所述装置包括:
第一收集模块,用于收集每个服务端上报的异常调用链标识;
发送模块,用于向所述每个服务端均下发收集到的所有异常调用链标识,以使所述每个服务端基于各异常调用链标识查找出属于各异常调用链的调用操作的调用信息上报至所述信息收集端;
第二收集模块,用于收集所述每个服务端上报的调用信息;
所述发送模块,具体用于每间隔一个周期,向所述每个服务端均下发本周期内收集到的所有异常调用链标识。
11.一种信息收集装置,其特征在于,应用于服务端,所述装置包括:
检测模块,用于检测本服务端是否发生调用异常;
第一发送模块,用于若发生,则将发生异常的调用操作所属调用链的标识作为异常调用链标识上报至信息收集端;
接收模块,用于接收所述信息收集端下发的所有异常调用链标识;
查找模块,用于基于接收到的各异常调用链标识,查找属于各异常调用链的调用操作的调用信息;
第二发送模块,用于将查找到的调用信息上报至所述信息收集端;
所述接收模块,具体用于每间隔一个周期,接收所述信息收集端下发的本周期内收集到的所有异常调用链标识。
12.一种信息收集端设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,所述处理器,所述通信接口,所述存储器通过所述通信总线完成相互间的通信;
所述存储器,用于存放计算机程序;
所述处理器,用于执行存储器上所存放的计算机程序时,实现权利要求1-4任一所述的方法。
13.一种服务端设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,所述处理器,所述通信接口,所述存储器通过所述通信总线完成相互间的通信;
所述存储器,用于存放计算机程序;
所述处理器,用于执行存储器上所存放的计算机程序时,实现权利要求5-8任一所述的方法。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-4任一所述的方法,或权利要求5-8任一所述的方法。
15.一种分布式系统,其特征在于,包括多个服务端及信息收集端;
所述服务端,用于检测本服务端是否发生调用异常;若发生,则将发生异常的调用操作所属调用链的标识作为异常调用链标识上报至所述信息收集端;
所述信息收集端,用于收集每个服务端上报的异常调用链标识;向所述每个服务端均下发收集到的所有异常调用链标识;
所述服务端,还用于接收所述信息收集端下发的所有异常调用链标识;基于接收到的各异常调用链标识,查找属于各异常调用链的调用操作的调用信息;将查找到的调用信息上报至所述信息收集端;
所述向所述每个服务端均下发收集到的所有异常调用链标识,包括:
每间隔一个周期,向所述每个服务端均下发本周期内收集到的所有异常调用链标识。
CN202010090754.6A 2020-02-13 2020-02-13 一种信息收集方法、装置、设备、存储介质及分布式系统 Active CN111343242B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010090754.6A CN111343242B (zh) 2020-02-13 2020-02-13 一种信息收集方法、装置、设备、存储介质及分布式系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010090754.6A CN111343242B (zh) 2020-02-13 2020-02-13 一种信息收集方法、装置、设备、存储介质及分布式系统

Publications (2)

Publication Number Publication Date
CN111343242A CN111343242A (zh) 2020-06-26
CN111343242B true CN111343242B (zh) 2022-09-02

Family

ID=71181531

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010090754.6A Active CN111343242B (zh) 2020-02-13 2020-02-13 一种信息收集方法、装置、设备、存储介质及分布式系统

Country Status (1)

Country Link
CN (1) CN111343242B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115314443B (zh) * 2022-08-04 2023-10-20 贵州多彩新媒体股份有限公司 一种基于监控iptv传输平台处理能力的接口调速方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5195953B2 (ja) * 2011-03-02 2013-05-15 沖電気工業株式会社 異常リンク推定装置、異常リンク推定方法、プログラムおよび異常リンク推定システム
CN106656536B (zh) * 2015-11-03 2020-02-18 阿里巴巴集团控股有限公司 一种用于处理服务调用信息的方法与设备
CN106330576B (zh) * 2016-11-18 2019-10-25 北京红马传媒文化发展有限公司 容器化微服务自动伸缩及迁移调度的方法、系统和设备
CN106790718A (zh) * 2017-03-16 2017-05-31 北京搜狐新媒体信息技术有限公司 服务调用链路分析方法及系统
CN107181675B (zh) * 2017-06-20 2020-03-03 北京奇艺世纪科技有限公司 服务调用方法及装置
CN110196800B (zh) * 2018-02-24 2023-05-12 财付通支付科技有限公司 分布式事务测试方法、装置及系统
US11431582B2 (en) * 2018-05-05 2022-08-30 Fmr Llc Systems and methods for context aware adaptation of services and resources in a distributed computing system
CN108984404A (zh) * 2018-07-11 2018-12-11 江苏满运软件科技有限公司 一种异常信息处理方法及系统,一种计算机产品
CN110502494B (zh) * 2019-08-30 2022-03-18 北京思维造物信息科技股份有限公司 日志处理方法、装置、计算机设备及存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于微服务架构的应用监控系统设计与实现;丁学英等;《电力信息与通信技术》;20180715(第07期);全文 *

Also Published As

Publication number Publication date
CN111343242A (zh) 2020-06-26

Similar Documents

Publication Publication Date Title
CN104104707B (zh) 网页数据更新方法、终端、缓存服务器及系统
CN108737333B (zh) 一种数据检测方法以及装置
CN111522711B (zh) 一种数据监控处理系统、方法、执行端、监控端及电子设备
CN109600258B (zh) 工业协议报文记录装置及方法
CN108880934B (zh) 一种基于区块链的数据流量统计方法和装置
CN110163654B (zh) 一种广告投放数据追踪方法和系统
CN109039817B (zh) 一种用于流量监控的信息处理方法、装置、设备及介质
CN102056200A (zh) 一种业务处理流程监控方法和系统
CN111343242B (zh) 一种信息收集方法、装置、设备、存储介质及分布式系统
CN111651595A (zh) 一种异常日志处理方法及装置
CN114090366A (zh) 一种监控数据的方法、装置和系统
CN111224807B (zh) 分布式日志处理方法、装置、设备及计算机存储介质
CN109963292B (zh) 投诉预测的方法、装置、电子设备和存储介质
CN112256548B (zh) 异常数据的监听方法、装置、服务器及存储介质
US9645877B2 (en) Monitoring apparatus, monitoring method, and recording medium
CN113918438A (zh) 服务器异常的检测方法、装置、服务器及存储介质
CN113220522A (zh) 服务异常自动定位方法和装置
CN102547789B (zh) 端到端业务质量预警方法、装置及系统
CN103955192B (zh) 一种用于污水处理厂的曲线报表数据采样方法
CN115643200A (zh) 一种异常检测方法、装置、电子设备及介质
CN101674594A (zh) 基于dns的移动数据业务监控系统和方法
CN114116128A (zh) 容器实例的故障诊断方法、装置、设备和存储介质
CN114039878A (zh) 一种网络请求的处理方法、装置、电子设备及存储介质
CN114265904A (zh) 一种数据处理方法及云计算平台
CN114331688A (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
GR01 Patent grant
GR01 Patent grant