首页> 中国专利> 系统运行状态的监控方法、检测方法、装置、电子设备及存储介质

系统运行状态的监控方法、检测方法、装置、电子设备及存储介质

摘要

本发明公开了一种系统运行状态的监控方法、系统运行异常的检测方法、装置、电子设备及计算机可读存储介质。该监控方法包括:接收业务请求;生成与所述业务请求对应的请求标识,并将所述请求标识添加至所述业务请求中;基于所述业务请求确定至少一个被调用服务;将包含有所述请求标识的业务请求发送至所述至少一个被调用服务,其中,每个所述被调用服务在执行所述业务请求的过程中,记录所述请求标识以及调用信息,其中,所述调用信息至少包括:被调用服务的ID。本发明可以监控当前系统的运行状态,有助于定位系统中运行的异常问题。

著录项

  • 公开/公告号CN113010365A

    专利类型发明专利

  • 公开/公告日2021-06-22

    原文格式PDF

  • 申请/专利权人 北京金山云网络技术有限公司;

    申请/专利号CN201911328753.4

  • 发明设计人 杜孟孟;

    申请日2019-12-20

  • 分类号G06F11/30(20060101);

  • 代理机构11761 北京博遵律师事务所;

  • 代理人马佑平

  • 地址 100085 北京市海淀区小营西路33号金山软件大厦

  • 入库时间 2023-06-19 11:32:36

说明书

技术领域

本发明涉及监控软件技术领域,尤其涉及一种系统运行状态的监控方法、系统运行异常的检测方法、装置、电子设备及存储介质。

背景技术

监控软件在生产环境中的状态一直是各个公司最为关心的问题,通常通过各个指标(访问量、支付量、审核量等)的数值判断当前系统、模块的运行状态。

通过各个重要指标判断当前系统的运行状态,是一种间接监测系统运行情况的方式。由于各个指标的结果值都是系统运行的结果,一旦某一个环节出现问题,都会影响最终的结果,间接的体现系统状态。但是通过指标判断运行状态只能确定现在系统或模块是否存在问题。因此,现有的监控手段过于粗略,不能准确反映问题所在。

发明内容

本发明的目的在于提供一种系统运行状态的监控方法、装置、电子设备及存储介质,以明确当前系统的运行状态,帮助定位系统中运行异常问题。

根据本发明的第一方面,提供了一种系统运行状态的监控方法,执行在服务器端,包括:

接收业务请求;

生成与所述业务请求对应的请求标识,并将所述请求标识添加至所述业务请求中;

基于所述业务请求确定至少一个被调用服务;

将包含有所述请求标识的业务请求发送至所述被调用服务,其中,所述至少一个被调用服务在执行所述业务请求的过程中,记录每个所述请求标识以及调用信息,其中,所述调用信息至少包括:被调用服务的ID。

可选的,所述调用信息还包括:调用开始时间、调用结束时间、所述被调用服务的调用参数、所述被调用服务的调用结果返回值、调用异常信息中的一个或多个。

可选的,每个所述被调用服务在执行所述业务请求的过程中,记录所述请求标识以及调用信息包括:

所述被调用服务在开始执行所述业务请求时,记录所述请求标识、所述被调用服务的ID、所述被调用服务的调用参数以及调用开始时间。

可选的,每个所述被调用服务在执行所述业务请求的过程中,记录所述请求标识以及调用信息包括:

所述被调用服务在结束执行所述业务请求时,记录所述请求标识、所述被调用服务的ID、所述被调用服务的调用结果返回值以及调用结束时间。

可选的,所述被调用服务在执行所述业务请求的过程中,记录所述请求标识以及调用信息包括:

所述被调用服务在执行所述业务请求的过程中出现异常时,记录所述请求标识、所述被调用服务的ID以及调用异常信息;其中,所述调用异常信息包括调用异常时间和调用异常内容。

根据本发明的第二方面,提供了一种系统运行异常的检测方法,包括:

获取异常检测请求,所述异常检测请求包括根据本发明的第一方面所述的请求标识;

根据所述请求识别确定包含所述请求识别的业务请求以及用于执行所述业务请求的被调用服务;

根据所述请求标识获取所述被调用服务中记录的与所述请求标识关联的调用信息。

根据所述调用信息确定运行异常的被调用服务。

根据本发明的第三方面,提供了一种系统运行状态的监控装置,包括:

接收模块,用于接收业务请求;

标识模块,用于生成与所述业务请求对应的请求标识,并将所述请求标识添加至所述业务请求中;

第一确定模块,用于基于所述业务请求确定至少一个被调用服务;

发送模块,用于将包含有所述请求标识的业务请求发送至所述被调用服务,其中,每个所述被调用服务在执行所述业务请求的过程中,记录所述请求标识以及调用信息,其中,所述调用信息至少包括:被调用服务的ID。

可选的,所述调用信息还包括:调用开始时间、调用结束时间、所述被调用服务的调用参数、所述被调用服务的调用结果返回值、调用异常信息中的一个或多个。

可选的,每个所述被调用服务在执行所述业务请求的过程中,记录所述请求标识以及调用信息包括:

所述被调用服务在开始执行所述业务请求时,记录所述请求标识、所述被调用服务的ID、所述被调用服务的调用参数以及调用开始时间。

可选的,每个所述被调用服务在执行所述业务请求的过程中,记录所述请求标识以及调用信息包括:

所述被调用服务在结束执行所述业务请求时,记录所述请求标识、所述被调用服务的ID、所述被调用服务的调用结果返回值以及调用结束时间。

可选的,所述被调用服务在执行所述业务请求的过程中,记录所述请求标识以及调用信息包括:

所述被调用服务在执行所述业务请求的过程中出现异常时,记录所述请求标识、所述被调用服务的ID以及调用异常信息;其中,所述调用异常信息包括调用异常时间和调用异常内容。

根据本发明的第四方面,提供了一种系统运行异常的检测装置,包括:

第一获取模块,用于获取异常检测请求,所述异常检测请求包括根据本发明第一方法所述的请求标识;

第一确定模块,用于根据所述请求识别确定包含所述请求识别的业务请求以及用于执行所述业务请求的被调用服务;

第二获取模块,用于根据所述请求标识获取所述被调用服务中记录的与所述请求标识关联的调用信息。

第二确定模块,用于根据所述调用信息确定运行异常的被调用服务。

可选的,所述第二确定模块根据所述调用信息确定运行异常的被调用服务,包括:

根据被调用服务的调用开始时间和调用结束时间差确定被调用服务的是否异常。

可选的,所述第二确定模块根据所述调用信息确定运行异常的被调用服务,包括:

根据调用异常信息确定运行异常的被调用服务;

根据调用异常内容确定异常出现的运行位置。

根据本发明的第五方面,提供了一种电子设备,此电子设备包括:

根据本发明第三方面或第四方面所述的装置;或者,

处理器和存储器,存储器用于存储可执行的指令,所述指令用于控制处理器执行根据本发明第一方面或第二方面所述的方法。

根据本发明的第六方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序在被处理器执行时实现根据本发明第一方面或第二方面所述的方法。

根据本发明实施例,通过对接收到的业务请求添加对应的请求标识,并在业务请求的执行过程中,由每个执行业务请求的被调用服务记录对应的调用信息和对应的请求标识,即可直接明确当前系统的运行状态。

通过以下参照附图对本发明的示例性实施例的详细描述,本发明的其它特征及其优点将会变得清楚。

附图说明

被结合在说明书中并构成说明书的一部分的附图示出了本发明的实施例,并且连同其说明一起用于解释本发明的原理。

图1为可用于实现本发明实施例的电子设备的硬件配置结构方框图。

图2为本发明实施例的系统运行状态的监控方法步骤流程图。

图3为本发明系统运行状态的监控方法记录步骤的第一示例流程图。

图4为本发明系统运行状态的监控方法记录步骤的第二示例流程图。

图5为本发明实施例的系统运行异常的检测方法步骤流程图。

图6为本发明实施例的系统运行状态的监控装置的结构方框图。

图7为本发明实施例的系统运行异常的检测装置的结构方框图。

图8为本发明实施例的电子设备的结构方框图。

具体实施方式

现在将参照附图来详细描述本发明的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。

以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。

对于相关领域普通技术人物已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。

在这里示出和讨论的所有例子中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它例子可以具有不同的值。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。

图1是示出可以实现本发明的实施例的电子设备1000的硬件配置的结构方框图。

电子设备1000可以是便携式电脑、台式计算机、手机、平板电脑、服务器等。

服务器设备可以是整体式服务器或是跨多计算机或计算机数据中心的分散式服务器。服务器可以是各种类型的,例如但不限于,内容分发网络的节点设备、分布式存储系统的存储服务器、云数据库服务器、云计算服务器、云管理服务器、网络服务器、新闻服务器、邮件服务器、消息服务器、广告服务器、文件服务器、应用服务器、交互服务器、存储服务器、数据库服务器或代理服务器等。在一些实施例中,每个服务器可以包括硬件,软件,或用于执行服务器所支持或实现的合适功能的内嵌逻辑组件或两个或多个此类组件的组合。例如,服务器例如刀片服务器、云端服务器等,或者可以是由多台服务器组成的服务器群组,可以包括上述类型的服务器中的一种或多种等等。

如图1所示,电子设备1000可以包括处理器1100、存储器1200、接口装置1300、通信装置1400,或者还可以包括显示装置1500、输入装置1600、扬声器1700、麦克风1800等等。其中,处理器1100可以是中央处理器CPU、微处理器MCU等,用于执行计算机程序。该计算机程序可以采用比如x86、Arm、RISC、MIPS、SSE等架构的指令集编写。存储器1200例如包括ROM(只读存储器)、RAM(随机存取存储器)、诸如硬盘的非易失性存储器等。接口装置1300例如包括USB接口、耳机接口等。通信装置1400例如能够利用光纤或电缆进行有线通信,或者无线通信,具体地可以包括WiFi通信、蓝牙通信、2G/3G/4G/5G通信等。显示装置1500例如是液晶显示屏、触摸显示屏等。输入装置1600例如可以包括触摸屏、键盘、体感输入等。用户可以通过扬声器1700和麦克风1800输入/输出语音信息。

图1所示的电子设备仅仅是说明性的并且决不意味着对本发明、其应用或使用的任何限制。应用于本发明的实施例中,电子设备1000的所述存储器1200用于存储指令,所述指令用于控制所述处理器1100进行操作以执行本发明实施例提供的任意一项系统运行状态的监控方法。本领域技术人员应当理解,尽管在图1中对电子设备1000示出了多个装置,但是,本发明可以仅涉及其中的部分装置,例如电子设备1000可以只涉及处理器1100和存储装置1200。技术人员可以根据本发明所公开方案设计指令。指令如何控制处理器进行操作,这是本领域公知,故在此不再详细描述。

针对系统运行状态的监控,在本发明一个实施例中,提供了一种系统运行状态的监控方法,执行在服务器端。

请参考图2,该图为本发明实施例的系统运行状态监控方法步骤流程图,此监控方法可以是由电子设备实施,该电子设备例如可以是如图1所示的电子设备1000。

如图2所示,本发明实施例的系统运行状态的监控方法包括以下步骤:

首先,在步骤102中接收客户端发送的业务请求,然后生成与所述业务请求对应的请求标识,并将所述请求标识添加至对应的业务请求中(步骤104),例如对接收的业务请求添加通用唯一识别码的请求标识,即生成一个UUID(通用唯一识别码,该识别码的键(key)是不重复的),从而给每个业务请求添加一个请求标识。

在步骤106中,基于所述业务请求确定至少一个被调用服务,所述至少一个被调用服务为用于执行所述业务请求的服务。具体地,可以根据业务请求类型或根据业务请求中的请求参数确定被调用服务。例如:业务请求类型为鉴权,则被调用的服务为鉴权服务。

然后,将包含有所述请求标识的业务请求发送至所述被调用服务(步骤108)。每个被调用服务在执行所述业务请求的过程中,记录所述请求标识以及调用信息,其中,所述调用信息至少包括:被调用服务的ID。

在一个示例中,调用信息还包括调用开始时间、调用结束时间、所述被调用服务的调用参数、所述被调用服务的调用结果返回值、调用异常信息中的一个或多个。

执行业务请求的被调用服务包括至少一个服务,根据不同的业务请求类型或业务请求中的请求参数,确定调用对应的服务来执行所述业务请求,后面会结合示例具体展开。

在一个示例中,每个被调用服务在开始执行所述业务请求时,记录所述请求标识、被调用服务的ID、被调用服务的调用参数以及调用开始时间。

在一个示例中,每个被调用服务在结束执行所述业务请求时,同样记录所述请求标识、被调用服务的ID、被调用服务的调用结果返回值以及调用结束时间。

在一个示例中,执行所述业务请求的被调用服务可以包括至少一个服务,具体根据需调用的服务确定,因此对应记录的调用信息也是对应各个服务的调用信息。下面将结合图3到图4的示例对本发明系统运行状态的监控方法展开详细说明,其中图3为本发明系统运行状态的监控方法记录步骤的第一示例流程图,图4为本发明系统运行状态的监控方法记录步骤的第二示例流程图。

首先参考图3,在本示例中,业务请求执行在前端页面(客户端)与后端服务(服务器端)的一个服务之间,本发明系统运行状态的监控方法执行在服务器端。关于客户端与执行本发明系统运行状态的监控方法的服务器的交互流程示例可以参考图3,如图3所示,包括以下步骤:

步骤202,首先,在客户端的前端页面,基于用户输入的请求参数生成业务请求;

步骤204,前端页面发送业务请求到后端服务;

步骤206,后端服务的UUID添加模块根据前端页面发送的业务请求生成唯一请求标识UUID的请求标识,并将。该UUID请求标识添加至对应的业务请求中。以前端页面发送的业务请求为登录网站为例,前端页面向后端服务发送登录请求,后端服务的UUID添加模块接收到该登录请求后,对该登录请求生成UUID的请求标识。

步骤208,UUID添加模块将生成的带有UUID的业务请求,发送至处理该业务请求的后端服务对应被调用服务。

步骤210,被调用服务接收到该业务请求后,开始执行对应的业务请求,并在执行业务请求的过程中,记录请求标识以及相应的调用信息。具体地,被调用服务在开始执行所述业务请求时,记录该业务请求对应的UUID、被调用服务的ID、调用参数及调用开始时间(即,开始执行业务请求的时间)。

同样以客户端请求登录验证为例,此时记录的调用参数包括客户端发送的登录用户名和密码,调用信息还可以包括服务关键描述,例如服务的内容为验证登录网站的用户名和密码。

被调用服务在执行登录信息验证请求的过程中,同样记录对应的调用信息。

步骤212,被调用服务在结束执行登录信息验证请求时,再次记录被调用服务的ID、业务关键描述、UUID请求标识及调用结果返回值以及调用结束时间(即,被调用服务停止执行所述业务请求的时间)。

步骤214,被调用服务在结束执行所述业务之后,将反馈请求响应结果到客户端的前端页面。根据被调用服务执行业务请求的结果不同,调用结果返回值也不同。例如,在验证登录用户名和密码正确时,发给客户端的前端页面的调用结果返回值为通过验证,从而用户可以在客户端的前端页面正常登录网站。在验证登录用户名或密码不正确时,发给客户端的前端页面的调用结果返回值为登录出错,从而用户无法在客户端的前端页面正常登录网站。

如上述示例所述,在被调用服务执行登录信息验证的业务请求的过程中,对相应的UUID请求标识和调用信息进行记录。如此,这个业务请求在执行的过程中,针对被调用服务的重要步骤(请求到达、请求返回)记录下此业务请求的请求标识、调用服务ID、调用开始时间、调用结束时间、调用参数、调用结果返回值,即可明确当前系统的运行状态。

被调用服务在执行业务请求的过程中出现异常时,记录请求标识、被调用服务的ID以及调用异常信息;其中,调用异常信息包括调用异常时间和调用异常内容。根据记录的请求标识、所述调用信息和所述调用异常信息可以进一步检测系统运行异常出现的运行位置。关于结合请求标识、所述调用信息和所述调用异常信息对系统运行异常进行检测,后面结合本发明的系统运行异常的检测方法进行详细说明,这里不在赘述。

现在,请参考图4,该图为本发明系统运行状态的监控方法记录步骤的第二示例流程图,在该示例中,业务请求执行在前端页面(客户端)与后端服务(服务器端)的两个服务A、B之间,其中业务请求执行过程中,服务A调用服务B,本发明系统运行状态的监控方法执行在服务器端。

关于客户端与执行本发明系统运行状态的监控方法的服务器的交互流程示例可以参考图4,如图4所示,包括以下步骤:

步骤302,与图3的第一示例相同,首先,在客户端的前端页面,基于用户输入的请求参数生成第一业务请求;

步骤304,前端页面发送第一业务请求到后端服务;

步骤306,后端服务的UUID添加模块根据客户端发送的第一业务请求生成唯一请求标识UUID的请求标识,并将。该UUID请求标识添加至对应的第一业务请求中。以前端页面发送的业务请求为登录网站为例,前端页面向后端服务发送登录请求,后端服务的UUID添加模块接收到该登录请求后,对该登录请求生成UUID的请求标识。

步骤308,UUID添加模块将生成的带有UUID的第一业务请求,发送至处理该业务请求的后端服务对应被调用服务A。

步骤310,被调用服务A接收到该第一业务请求后,开始执行对应的业务请求,并在执行第一业务请求的过程中,记录请求标识以及相应的调用信息。具体地,被调用服务A在开始执行所述第一业务请求时,记录该第一业务请求对应的UUID、被调用服务A的ID、业务关键描述、调用参数、调用开始时间(即,被调用服务A开始执行第一业务请求的时间)。

在被调用服务A执行所述请求的过程中,同样记录对应的调用信息。

步骤312,被调用服务A在执行第一业务请求时,需要调用服务B。这时,服务A向带有UUID的第二业务请求发送到被调用服务B。通过调用服务B共同执行客户端前端页面发送的第一业务请求。

例如,前端页面发送的第一业务请求为人事权限验证,人事权限验证包括登录验证和权限验证,被调用服务A在收到第一业务请求后首先处理人事权限验证的登录验证业务,并在登录验证通过后,把人事权限验证的权限验证调用服务B,由服务B执行。

步骤314,被调用服务B在收到该第二业务请求后,开始执行所述第二业务请求,并在执行业务请求的过程中,记录UUID请求标识、被调用服务B的ID、业务关键描述及被调用服务B的调用参数、调用开始时间(即,被调用服务B开始执行第二业务请求的时间)。

被调用服务B在执行所述第二业务请求的过程中,同样记录对应的调用信息。

步骤316,被调用服务B在结束执行所述第二业务请求时,记录被调用服务B的ID、业务关键描述、所述UUID请求标识及被调用服务B对应的调用结果返回值、调用结束时间(即,被调用服务B结束执行第二业务请求的时间)。

步骤318,被调用服务B将对应的调用结果返回值发送给被调用服务A继续执行对应的请求。

步骤320,被调用服务A在结束执行所述第一业务请求时,记录被调用服务A的ID、业务关键描述、所述UUID请求标识及调用结果返回值、调用结束时间。

步骤322,被调用服务A向前端页面反馈第一业务请求的响应结果。

如上述示例所述,在业务请求的执行过程中,对相应的请求标识和调用信息进行记录。如此业务请求在执行的过程中,针对需调用的每个被调用服务的重要步骤(请求到达、请求返回)记录下此业务请求的调用时间、调用参数、调用结果,即可明确当前系统的运行状态。

每个被调用服务都顺序记录当前被调用服务对应的UUID、调用时间、调用参数、调用结果返回值,如此能够明确当前系统的运行状态,无需再通过关键指标判断系统运行状态。

需要指出的是,虽然图4显示执行业务请求的是两个服务A和B,且服务A调用服务B,但是本发明不局限于该具体实施例,在其他实施例中,本发明的系统运行状态的监控方法可执行在至少一个被调用服务。在被调用服务数量为至少两个时,这些被调用服务之间可以有调用关系,或者没有调用关系,即存在用户的业务请求分别发送至两个或以上的被调用服务,分别执行对应的业务,该两个或以上的被调用服务各自独立执行对应的业务,不存在调用关系。或者存在用户的业务请求分别发送至两个或以上的被调用服务,部分被调用服务单独执行对应的业务,部分被调用服务之间存在调用关系执行对应业务。

在本发明的又一个实施例中,提供了一种系统运行异常的检测方法,如图所示,图5为本发明实施例的系统运行异常的检测方法步骤流程图。

如图5所示,系统运行异常的检测方法包括以下步骤:

步骤302,获取异常检测请求,所述异常检测请求包括上述本发明实施例的系统运行状态的监控方法所述的请求标识;

步骤304,根据所述请求识别确定包含所述请求识别的业务请求以及用于执行所述业务请求的被调用服务;

步骤306,根据所述请求标识获取所述被调用服务中记录的与所述请求标识关联的调用信息;

步骤308,根据所述调用信息确定运行异常的被调用服务。

在步骤308中,根据所述调用信息确定运行异常的被调用服务,包括:根据被调用服务的调用开始时间和调用结束时间差确定被调用服务的是否异常。

或者,在步骤308中,根据所述调用信息确定运行异常的被调用服务,包括:根据调用异常信息确定运行异常的被调用服务,根据调用异常内容确定异常出现的运行位置。

如上文所示,根据本发明实施例的系统运行状态的监控方法,被调用服务在所述业务请求的执行过程中,记录业务请求对应的请求标识以及记录执行所述业务请求的被调用服务对应的调用信息,若被调用服务执行业务请求的过程中出现系统运行异常时,则会中断所述业务请求的执行,同时进一步记录所述业务请求的调用异常信息,并写入日志中,调用异常信息包括调用异常时间和调用异常内容。

具体来说,根据记录的调用信息和记录的调用异常信息确定异常出现的运行位置,是根据所述调用异常信息的请求识别确定包含所述请求识别的业务请求,根据调用异常信息的调用异常时间,根据调用异常信息对应的调用异常时间,可获取截止所述调用异常时间,所述业务请求对应的被调用服务记录的调用信息,然后根据所述调用异常内容确定异常出现的运行位置。

本发明实施例的系统运行异常的检测方法可以在系统运行出现异常时,通过获取业务请求的请求标识确定包含该请求标识的业务请求和该业务请求对应的被调用服务,进一步通过获取被调用服务中记录的与该请求标识关联的调用信息,根据调用信息确定运行异常的被调用服务。因此,通过对应业务请求生成的请求标识进行记录数据追溯,从而查找到出现异常的被调用服务。进一步地,还可以通过调用信息中的调用异常内容确定异常出现的运行位置。

此外,系统运行异常内容例如业务请求类型不匹配、数据库连接超时或者请求参数为空等等。在系统运行出现异常,则当前系统运行服务中断。虽然上述系统运行状态的监控方法的实施例描述了被调用服务开始执行业务请求时的对应调用信息和被调用服务结束执行所述业务请求时的对应调用信息,但上述记录只是用于说明通过记录这些调用信息可以明确系统的运行状态。

若系统存在异常,则出现异常时对应的业务请求执行过程即中断,例如异常出现在被调用服务开始执行所述业务请求之后,结束执行所述请求之前,则这种情况下,记录的调用信息则不包括结束执行所述业务请求的调用信息。

通过记录被调用服务在对业务请求执行过程中的调用信息,即可直接得知当前系统的运行状态到哪个阶段,因此无需再通过关键指标判断系统运行状态。结合记录的调用异常信息,可以在系统出现异常时确定系统运行异常的位置。

在执行业务请求的过程中出现系统运行异常时,被调用服务通过进一步记录所述业务请求的调用异常信息,并写入日志中。通过已记录的对业务请求执行过程中的调用信息,即可直接得知当前系统的运行状态到哪个阶段,哪个被调用服务出现了问题,以及对应出现了什么样的问题而最终导致指标出现异常,可以有利于定位问题模块或被调用服务。

在本发明另一个实施例中,还提供了一种系统运行状态的监控装置2000,如图6所示,图6为本发明实施例的系统运行状态的监控装置的结构方框图。

监控装置2000包括接收模块2200、标识模块2400、第一确定模块2600和发送模块2800,其中接收模块2200用于接收业务请求,标识模块2400用于生成与所述业务请求对应的请求标识,并将所述请求标识添加至所述业务请求中。第一确定模块2600,用于基于所述业务请求确定至少一个被调用服务,发送模块2800用于将包含有所述请求标识的业务请求发送至所述至少一个被调用服务,其中,每个所述被调用服务在执行所述业务请求的过程中,记录所述请求标识以及调用信息,其中,所述调用信息至少包括:被调用服务的ID。

在一个示例中,所述调用信息还包括:调用开始时间、调用结束时间、所述被调用服务的调用参数、所述被调用服务的调用结果返回值、调用异常信息中的一个或多个。在一个示例中,每个所述被调用服务在执行所述业务请求的过程中,记录所述请求标识以及调用信息包括:所述被调用服务在开始执行所述业务请求时,记录所述请求标识、所述被调用服务的ID、所述被调用服务的调用参数以及调用开始时间。在一个示例中,每个所述被调用服务在结束执行所述业务请求时,记录所述请求标识、所述被调用服务的ID、所述被调用服务的调用结果返回值以及调用结束时间。

在一个示例中,所述被调用服务在执行所述业务请求的过程中出现异常时,记录所述请求标识、所述被调用服务的ID以及调用异常信息;其中,所述调用异常信息包括调用异常时间和调用异常内容。

根据本发明的再一个实施例,还提供了一种系统运行异常的检测装置4000,如图7所示,图7为本发明实施例的系统运行异常的检测装置的结构方框图。

如图所示,系统运行异常的检测装置4000包括:

第一获取模块4200,用于获取异常检测请求,所述异常检测请求包括根据本发明第一方法所述的请求标识;

第一确定模块4400,用于根据所述请求识别确定包含所述请求识别的业务请求以及用于执行所述业务请求的被调用服务;

第二获取模块4600,用于根据所述请求标识获取所述被调用服务中记录的与所述请求标识关联的调用信息。

第二确定模块4800,用于根据所述调用信息确定运行异常的被调用服务。

在一个示例中,所述第二确定模块4800根据被调用服务的调用开始时间和调用结束时间差确定被调用服务的是否异常。

或者,所述第二确定模块4800根据调用异常信息确定运行异常的被调用服务;以及根据调用异常内容确定异常出现的运行位置。

根据本发明的再一个实施例,还提供了一种电子设备,该电子设备3000可以是图1所示的电子设备1000。图8为本发明实施例的电子设备的结构方框图。

一方面,该电子设备3000可以包括前述的系统运行状态的监控装置,用于实施本发明任意实施例的系统运行状态的监控方法。

另一方面,如图8所示,电子设备3000可以包括存储器3200和处理器3400,存储器3200用于存储可执行的指令;该指令用于控制处理器3400执行前述的系统运行状态的监控方法。

在本实施例中,电子设备3000可以是手机、平板电脑、掌上电脑、台式机、笔记本电脑、工作站、游戏机、服务器等任意具有存储器3200以及处理器3400的电子产品。

最后,根据本发明的又一个实施例,还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序在被处理器执行时实现根据本发明任意实施例所述的系统运行状态的监控方法。

本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。

计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。

这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。

用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。

这里参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。

这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。

也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。

附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。对于本领域技术人物来说公知的是,通过硬件方式实现、通过软件方式实现以及通过软件和硬件结合的方式实现都是等价的。

以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人物来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术改进,或者使本技术领域的其它普通技术人物能理解本文披露的各实施例。本发明的范围由所附权利要求来限定。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号