CN113590450B - 一种分布式系统监控方法、装置、设备及存储介质 - Google Patents
一种分布式系统监控方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN113590450B CN113590450B CN202111132633.4A CN202111132633A CN113590450B CN 113590450 B CN113590450 B CN 113590450B CN 202111132633 A CN202111132633 A CN 202111132633A CN 113590450 B CN113590450 B CN 113590450B
- Authority
- CN
- China
- Prior art keywords
- request
- sub
- span
- span identifier
- identifier
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
- G06F11/3419—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment by assessing time
- G06F11/3423—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment by assessing time where the assessed time is active or idle time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3006—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Quality & Reliability (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Computer Hardware Design (AREA)
- Computer And Data Communications (AREA)
Abstract
本申请提供一种分布式系统监控方法、装置、设备及存储介质,涉及数据处理技术领域。该方法包括:获取当前服务器基于初始请求处理得到的子请求集中各子请求的状态信息,该状态信息用于指示子请求为同步请求或异步请求;根据各子请求的状态信息、初始请求对应的跨度标识、异步请求的第一跨度标识创建策略以及同步请求的第二跨度标识创建策略,创建各子请求对应的跨度标识,该跨度标识用于标识该子请求为同步请求或异步请求;保存各子请求对应的跨度标识,并监测得到各子请求的次服务器的响应时间;根据接收各子请求的次服务器的响应时间以及跨度标识,确定当前服务器的自身业务时间。这样可以保证当前服务器的自身业务时间这一性能指标的精确度。
Description
技术领域
本申请涉及数据处理技术领域,具体而言,涉及一种分布式系统监控方法、装置、设备及存储介质。
背景技术
随着微服务框架的流行,分布式系统在各行各业中得到了广泛的应用,分布式系统中包括多个横跨不同数据中心的服务器。用户发起的一次请求可能在跨越分布式系统中的多个服务器后,才会得到响应。对于分布式系统来说,需要实时监控各个服务器的性能指标。
针对分布式系统中的一个服务器,需要监控其自身业务时间性能指标,自身业务时间性能指标与该服务器生成的请求类型相关,该请求类型可能为同步请求或异步请求。然而,现有的方法中,无法准确判断出生成的请求类型,因此难以保证当前服务器对应的自身业务时间性能指标精确度。
发明内容
本申请的目的在于,针对上述现有技术中的不足,提供一种分布式系统监控方法、装置、设备及存储介质,可以保证当前服务器对应的自身业务时间性能指标精确度。
为实现上述目的,本申请实施例采用的技术方案如下:
第一方面,本申请实施例提供了一种分布式系统监控方法,所述方法包括:
获取当前服务器基于初始请求处理得到的子请求集中各子请求的状态信息,所述状态信息用于指示所述子请求为同步请求或异步请求;
根据各所述子请求的状态信息、所述初始请求对应的跨度标识、所述异步请求的第一跨度标识创建策略以及所述同步请求的第二跨度标识创建策略,创建各所述子请求对应的跨度标识,所述第一跨度标识创建策略与所述第二跨度标识创建策略不同,所述跨度标识用于标识所述子请求为同步请求或异步请求;
保存各所述子请求对应的跨度标识,并监测得到各子请求的次服务器的响应时间;
根据接收各所述子请求的次服务器的响应时间以及所述跨度标识,确定所述当前服务器的自身业务时间。
可选地,所述根据接收各所述子请求的次服务器的响应时间以及所述跨度标识,确定所述当前服务器的自身业务时间,包括:
根据所述跨度标识,识别所述子请求集中属于同步请求的目标子请求;
根据所述目标子请求的次服务器的响应时间以及所述当前服务器的响应时间,确定所述当前服务器的自身业务时间。
可选地,所述根据各所述子请求的状态信息、所述初始请求对应的跨度标识、所述异步请求的第一跨度标识创建策略以及所述同步请求的第二跨度标识创建策略,创建各所述子请求对应的跨度标识,包括:
若第一子请求的状态信息指示所述第一子请求为异步请求,则根据所述第一跨度标识创建策略以及所述初始请求对应的跨度标识,为所述第一子请求生成第一原始跨度标识;
在所述第一原始跨度标识上叠加异步标识,得到所述第一子请求的跨度标识。
可选地,所述各所述子请求的状态信息包括:各所述子请求的发送顺序;
所述根据所述第一跨度标识创建策略以及所述初始请求对应的跨度标识,为所述第一子请求生成第一原始跨度标识,并在所述第一原始跨度标识上叠加异步标识,得到所述第一子请求的跨度标识,包括:
根据所述第一跨度标识创建策略、所述初始请求对应的跨度标识以及所述第一子请求的发送顺序,为所述第一子请求生成第一原始跨度标识;
在所述第一原始跨度标识上叠加异步标识,得到所述第一子请求的跨度标识。
可选地,所述子请求集中由同一异步子进程发送的各所述第一子请求的第一原始跨度标识相同。
可选地,所述根据各所述子请求的状态信息、所述初始请求对应的跨度标识、所述异步请求的第一跨度标识创建策略以及所述同步请求的第二跨度标识创建策略,创建各所述子请求对应的跨度标识,包括:
若第二子请求的状态信息指示所述第二子请求为同步请求,则根据所述第二跨度标识创建策略以及所述初始请求对应的跨度标识,为所述第二子请求生成第二原始跨度标识,将所述第二原始跨度标识作为所述第二子请求的跨度标识。
可选地,所述各所述子请求的状态信息包括:各所述子请求的发送顺序;
所述根据所述第二跨度标识创建策略以及所述初始请求对应的跨度标识,为所述第二子请求生成第二原始跨度标识,将所述第二原始跨度标识作为所述第二子请求的跨度标识,包括:
根据所述第二跨度标识创建策略、所述初始请求对应的跨度标识以及所述第二子请求的发送顺序,为所述第二子请求生成第二原始跨度标识;
将所述第二原始跨度标识作为所述第二子请求的跨度标识。
可选地,所述方法还包括:
根据所述当前服务器、所述次服务器以及所述跨度标识创建分布式系统拓扑图,其中,将所述当前服务器、所述次服务器作为所述分布式系统拓扑图的节点,将所述跨度标识作为所述分布式系统拓扑图的边;
在显示界面上显示所述分布式系统拓扑图。
第二方面,本申请实施例还提供了一种分布式系统监控装置,所述装置包括:
获取模块,用于获取当前服务器基于初始请求处理得到的子请求集中各子请求的状态信息,所述状态信息用于指示所述子请求为同步请求或异步请求;
创建模块,用于根据各所述子请求的状态信息、所述初始请求对应的跨度标识、所述异步请求的第一跨度标识创建策略以及所述同步请求的第二跨度标识创建策略,创建各所述子请求对应的跨度标识,所述第一跨度标识创建策略与所述第二跨度标识创建策略不同,所述跨度标识用于标识所述子请求为同步请求或异步请求;
保存模块,用于保存各所述子请求对应的跨度标识,并监测得到各子请求的次服务器的响应时间;
确定模块,用于根据接收各所述子请求的次服务器的响应时间以及所述跨度标识,确定所述当前服务器的自身业务时间。
可选地,所述确定模块,具体用于根据所述跨度标识,识别所述子请求集中属于同步请求的目标子请求;根据所述目标子请求的次服务器的响应时间以及所述当前服务器的响应时间,确定所述当前服务器的自身业务时间。
可选地,所述创建模块,具体用于若第一子请求的状态信息指示所述第一子请求为异步请求,则根据所述第一跨度标识创建策略以及所述初始请求对应的跨度标识,为所述第一子请求生成第一原始跨度标识;在所述第一原始跨度标识上叠加异步标识,得到所述第一子请求的跨度标识。
可选地,所述各所述子请求的状态信息包括:各所述子请求的发送顺序;
相应地,所述创建模块,还具体用于根据所述第一跨度标识创建策略、所述初始请求对应的跨度标识以及所述第一子请求的发送顺序,为所述第一子请求生成第一原始跨度标识;在所述第一原始跨度标识上叠加异步标识,得到所述第一子请求的跨度标识。
可选地,所述子请求集中由同一异步子进程发送的各所述第一子请求的第一原始跨度标识相同。
可选地,所述创建模块,具体用于若第二子请求的状态信息指示所述第二子请求为同步请求,则根据所述第二跨度标识创建策略以及所述初始请求对应的跨度标识,为所述第二子请求生成第二原始跨度标识,将所述第二原始跨度标识作为所述第二子请求的跨度标识。
可选地,所述各所述子请求的状态信息包括:各所述子请求的发送顺序;
相应地,所述创建模块,还具体用于根据所述第二跨度标识创建策略、所述初始请求对应的跨度标识以及所述第二子请求的发送顺序,为所述第二子请求生成第二原始跨度标识;将所述第二原始跨度标识作为所述第二子请求的跨度标识。
可选地,所述创建模块,还用于根据所述当前服务器、所述次服务器以及所述跨度标识创建分布式系统拓扑图,其中,将所述当前服务器、所述次服务器作为所述分布式系统拓扑图的节点,将所述跨度标识作为所述分布式系统拓扑图的边;在显示界面上显示所述分布式系统拓扑图。
第三方面,本申请实施例提供了一种电子设备,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的机器可读指令,当所述电子设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述机器可读指令,以执行上述第一方面的所述分布式系统监控方法的步骤。
第四方面,本申请实施例提供了一种存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行上述第一方面的所述分布式系统监控方法的步骤。
本申请的有益效果是:
本申请实施例提供一种分布式系统监控方法、装置、设备及存储介质,该方法包括:获取当前服务器基于初始请求处理得到的子请求集中各子请求的状态信息,该状态信息用于指示子请求为同步请求或异步请求;根据各子请求的状态信息、初始请求对应的跨度标识、异步请求的第一跨度标识创建策略以及同步请求的第二跨度标识创建策略,创建各子请求对应的跨度标识,该第一跨度标识创建策略与该第二跨度标识创建策略不同,该跨度标识用于标识该子请求为同步请求或异步请求;保存各子请求对应的跨度标识,并监测得到各子请求的次服务器的响应时间;根据接收各子请求的次服务器的响应时间以及跨度标识,确定当前服务器的自身业务时间。
采用本申请实施例提供的分布式系统监控方法,通过采用第一跨度标识创建策略创建为异步请求的子请求对应的跨度标识,通过采用第二跨度标识创建策略创建为同步请求的子请求对应的跨度标识,这样可以直接利用跨度标识区分子请求为同步请求还是异步请求,基于此,当需要确定分布式系统中的服务器(如当前服务器)的自身业务时间这一性能指标时,可直接根据存储装置中存储的跨度标识,辨别出与当前服务器的自身业务时间相关联的子服务器的响应时间,这样可以保证当前服务器的自身业务时间这一性能指标的精确度。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的一种分布式系统的场景示意图;
图2为本申请实施例提供的一种分布式系统监控方法的流程示意图;
图3为本申请实施例提供的另一种分布式系统监控方法的流程示意图;
图4为本申请实施例提供的又一种分布式系统监控方法的流程示意图;
图5为本申请实施例提供的再一种分布式系统监控方法的流程示意图;
图6为本申请实施例提供的一种分布式系统的拓扑图;
图7为本申请实施例提供的另一种分布式系统监控方法的流程示意图;
图8为本申请实施例提供的一种分布式系统监控装置的结构示意图;
图9为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。
因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
在对本申请实施例进行详细解释之前,首先对本申请的应用场景予以介绍。该应用场景具体可以为对分布式系统中各服务器进行性能分析的场景。图1为本申请实施例提供的一种分布式系统的场景示意图,如图1所示,分布式系统中可包括多个服务器(服务器A、服务器B、服务器C、服务器D、服务器E、服务器F、服务器G、服务器H)以及数据库101,分布式系统中的服务器可被设置在不同的数据中心上。以用户触发的一次业务请求为例进行说明,该业务请求在跨越分布式系统中的多个服务器到达数据库101后,用户才会接收到该业务请求对应的响应信息。分布式系统对该业务请求进行处理时,产生的行为数据可通过监测单元进行监测,监测单元将监测到的行为数据可根据预先设置的标识创建策略形成日志,将日志存储在与该分布式系统关联的存储装置中,在需要获取分布式系统中各服务器的性能指标(如自身业务时间)时,可根据创建的跨度标识提取出对应的数据,确定出各服务器的自身业务时间。
需要说明的是,本申请实施例是从一个服务器(当前服务器)的维度去解释说明本申请提到的分布式系统监控方法,确定分布式系统中的其他服务器的自身业务时间均可参考获取当前服务器的自身业务时间的内容。
如下结合附图对本申请提到的分布式系统监控方法进行示例说明。图2为本申请实施例提供的一种分布式系统监控方法的流程示意图。如图2所示,该方法可包括:
S201、获取当前服务器基于初始请求处理得到的子请求集中各子请求的状态信息,该状态信息用于指示子请求为同步请求或异步请求。
其中,首先对同步请求、异步请求含义进行简要说明,同步请求用于指示客户端在发送请求后,必须要在服务端有回应时,客户端才能继续发送其他请求,这样的请求可称为同步请求;异步请求用于指示客户端在发送请求后,不需要等待服务端的回应就可以发送其他请求,这样的请求可称为异步请求。
此处以图1分布式系统中的任一服务器(如服务器A)为例进行说明。当前服务器(服务器A)可对初始请求进行解析,将该初始请求解析为多个子请求,各子请求中携带有状态信息,该状态信息可指示子请求为异步请求还是同步请求。
S202、根据各子请求的状态信息、初始请求对应的跨度标识、异步请求的第一跨度标识创建策略以及同步请求的第二跨度标识创建策略,创建各子请求对应的跨度标识,该第一跨度标识创建策略与该第二跨度标识创建策略不同,该跨度标识用于标识该子请求为同步请求或异步请求。
可以理解的是,跨度(span)是指服务器A向服务器B发出一个请求,服务器B向服务器A反馈该请求的响应信息之间形成的链路。以服务器A作为当前服务器,服务器B作为次服务器来说,跨度标识(spanID)用于指示当前服务器通过子请求调用对应次服务器形成的链路以及次服务器向当前服务器反馈该子请求的响应信息形成的链路的链路标识,也就是说,这两个链路使用一个链路标识,即跨度标识相同。由于服务器之间形成的链路具有对应的子请求,所以也可用子请求对应跨度标识。
其中,针对不同状态类型(同步请求或异步请求)的子请求,会预先设置对应的跨度标识创建策略,具体的,在当前服务器向对应次服务器发送该异步请求状态的子请求时,可根据第一跨度标识创建策略创建该链路标识,即创建为异步请求状态的子请求对应的跨度标识,在当前服务器向对应次服务器发送该同步请求状态的子请求时,可根据第二跨度标识创建策略创建该链路标识,即创建为同步请求状态的子请求对应的跨度标识。
各子请求对应的跨度标识还与该初始请求对应的跨度标识相关,也就是说,跨度标识也有层级的概念,若初始请求包括子请求,那么该子请求对应的跨度标识包含初始请求对应的跨度标识。举例来说,若该初始请求对应的跨度标识为0,那么可利用第二跨度标识创建策略创建的同步请求的跨度标识如0.1、0.3、0.4的结构,利用第一跨度标识策略创建的异步请求的跨度标识如0.2-1、0.2-2、0.2-3的结构;若该初始请求对应的跨度标识为0.1,那么可利用第二跨度标识创建策略创建的同步请求的跨度标识如0.1.1、0.1.3、0.1.4的结构,利用第一跨度标识策略创建的异步请求的跨度标识如0.1.2-1、0.1.2-2、0.1.2-3的结构,可以看出,通过跨度标识可以很便捷的识别出各链路之间的关系,即各服务器之间的关系,而且通过跨度标识还可以标识出子请求是同步请求还是异步请求。
S203、保存各子请求对应的跨度标识,并监测得到各子请求的次服务器的响应时间。
其中,如图1所示,若当前服务器为服务器A,那么次服务器就为服务器B、服务器C、服务器D、服务器E。可将各子请求对应的跨度标识以日志的形式存储在与该分布式系统相关联的中,并且,可将实时监测得到的与各子请求对应的跨度标识相关联的信息存储在对应的跨度标识下,其中,该信息可包括各子请求的次服务器的响应时间。
举例来说,如图1所示,假设当前服务器为服务器A,次服务器为服务器B,服务器A向服务器B发送子请求,在将服务器A与服务器B之间的形成的链路对应的跨度标识存储在存储装置中时,还可将监测得到的服务器A向服务器B发送子请求的时间t1、服务器B接收该子请求的时间t2、服务器B向服务器A发送该子请求对应的响应信息的时间t3以及服务器A接收该响应信息的时间t4与该跨度标识相关联存储在该存储器中,其中,服务器B向服务器A发送该子请求对应的响应信息的时间t3与服务器B接收该子请求的时间t2之间的时间间隔可称为服务器B的响应时间。
根据上述描述的方式可得到与各跨度标识相关联的各次服务器的响应时间。
S204、根据接收各子请求的次服务器的响应时间以及跨度标识,确定当前服务器的自身业务时间。
其中,在需要对分布式中服务器的性能指标进行确定时,可从存储装置中提取出各子请求对应的跨度标识,以及与各跨度标识关联的各次服务器的响应时间,可根据跨度标识识别出各子请求为同步请求还是异步请求。由于当前服务器的响应时间本身就不包括接收异步请求的次服务器所对应的响应时间,所以在根据跨度标识识别出各子请求为同步请求还是异步请求的前提下,可进一步的识别出与当前服务器的自身业务时间相关的次服务器的响应时间,根据这些次服务器(接收到同步请求的次服务器)的响应时间可确定出当前服务器的自身业务时间。
综上所述,本申请提供的分布式系统监控方法中,采用本申请实施例提供的分布式系统监控方法,通过采用第一跨度标识创建策略创建为异步请求的子请求对应的跨度标识,通过采用第二跨度标识创建策略创建为同步请求的子请求对应的跨度标识,这样可以直接利用跨度标识区分子请求为同步请求还是异步请求,基于此,当需要确定分布式系统中的服务器(如当前服务器)的自身业务时间这一性能指标时,可直接根据存储装置中存储的跨度标识,辨别出与当前服务器的自身业务时间相关联的子服务器的响应时间,这样可以保证当前服务器的自身业务时间这一性能指标的精确度。
图3为本申请实施例提供的另一种分布式系统监控方法的流程示意图。如图3所示,可选地,上述根据接收各子请求的次服务器的响应时间以及跨度标识,确定当前服务器的自身业务时间,包括:
S301、根据跨度标识,识别子请求集中属于同步请求的目标子请求。
其中,可根据第一跨度标识创建策略以及第二跨度标识创建策略之间的区别,通过跨度标识识别出属于同步请求的子请求,将子请求集中属于同步请求的子请求作为目标子请求,需要说明的是,本申请不对目标子请求的数量进行限定。
举例来说,若根据第一跨度标识创建策创建的跨度标识为0.2-1、0.3-2类似这种的结构的,根据第二跨度标识创建策创建的跨度标识为0.1、0.3、0.4类似这种结构的,那么可直接根据跨度标识确定出子请求集中为目标子请求的子请求。
S302、根据各目标子请求的次服务器的响应时间以及当前服务器的响应时间,确定当前服务器的自身业务时间。
根据上述描述可知,日志中的跨度标识下关联有对应次服务器的响应时间,可根据跨度标识识别出为同步请求的跨度标识,提取出为同步请求的跨度标识中的次服务器的响应时间,利用当前服务器的响应时间减去提取出的各次服务器的响应时间,即可得到当前服务器的自身业务时间。
图4为本申请实施例提供的又一种分布式系统监控方法的流程示意图。如图4所示,可选地,上述根据各子请求的状态信息、初始请求对应的跨度标识、异步请求的第一跨度标识创建策略以及同步请求的第二跨度标识创建策略,创建各子请求对应的跨度标识,包括:
S401、若第一子请求的状态信息指示第一子请求为异步请求,则根据第一跨度标识创建策略以及初始请求对应的跨度标识,为第一子请求生成第一原始跨度标识。
其中,当前服务器基于初始请求处理得到的子请求集中包括第一子请求,本申请不对第一子请求的数量进行限定。当第一请求为异步子请求时,当前服务器可启动加载异步请求的异步子进程,通过异步子进程加载第一请求,当第一请求的个数较多时,当前服务器可根据负载均衡原则启动多个异步子进程,需要说明的是,本申请不对异步子进程的数量进行限定。
此处以一个异步子进程来说,当异步子进程加载第一请求时,可根据第一跨度标识创建策略以及初始请求对应的跨度标识创建第一请求对应的第一原始跨度标识,假设初始请求对应的跨度标识为0,那么第一原始跨度标识如可为0.1、0.2、0.3等,假设初始请求对应的跨度标识为0.1,那么第一原始跨度标识如可为0.1.1、0.1.2、0.1.3等,可以看出,第一原始跨度标识与初始请求对应的跨度标识有关联性,是在初始请求对应的跨度标识的基础上根据第一跨度标识创建策略进行创建的,这样可以将初始请求跨越的服务器的关联起来。
S402、在第一原始跨度标识上叠加异步标识,得到第一子请求的跨度标识。
继续上述举例,假设第一原始跨度标识为0.2,那么可继续在第一原始跨度标识的基础上叠加异步标识,该异步标识如可以为“-1、-2”类似的结构或者“:A、:B”类似的结构。具体的,该第一子请求的跨度标识可为“0.2-1”或“0.2:A”,需要说明的是,本申请不对第一子请求的跨度标识的具体结构进行限定。
可选地,上述根据各子请求的状态信息、初始请求对应的跨度标识、异步请求的第一跨度标识创建策略以及同步请求的第二跨度标识创建策略,创建各子请求对应的跨度标识,包括:若第二子请求的状态信息指示第二子请求为同步请求,则根据第二跨度标识创建策略以及初始请求对应的跨度标识,为第二子请求生成第二原始跨度标识,将第二原始跨度标识作为第二子请求的跨度标识。
其中,当前服务器基于初始请求处理得到的子请求集中包括第二子请求,本申请不对第二请求的数量进行限定。当第二请求为同步请求时,可在当前服务器向对应次服务器发送第二请求时,根据第二跨度标识创建策略以及初始请求对应的跨度标识创建第二请求对应的第二原始跨度标识。
举例来说,假设初始请求对应的跨度标识为0,那么第二原始跨度标识如可为0.1、0.2、0.3等,假设初始请求对应的跨度标识为0.1,那么第二原始跨度标识如可为0.1.1、0.1.2、0.1.3等,需要说明的是,当子请求集中同时包括第一请求以及第二请求时,只要第二原始跨度标识与第一原始跨度标识不为同一标识即可。假设第一原始跨度标识为0.2,那么第二原始跨度标识就可为0.1、0.3,在第二原始跨度标识为0.1时,第二子请求的跨度标识即为0.1。
图5为本申请实施例提供的再一种分布式系统监控方法的流程示意图。如图5所示,可选地,各子请求的状态信息包括:各子请求的发送顺序;上述根据第一跨度标识创建策略以及所述初始请求对应的跨度标识,为第一子请求生成第一原始跨度标识,并在第一原始跨度标识上叠加异步标识,得到第一子请求的跨度标识,包括:
S501、根据第一跨度标识创建策略、初始请求对应的跨度标识以及第一子请求的发送顺序,为第一子请求生成第一原始跨度标识。
此处以子请求集中同时包括第一子请求以及第二子请求的示例进行解释说明。
首先可根据各子请求的状态信息确定第一子请求以及第二子请求的发送顺序。假设子请求集中包括两个第一子请求,如第一子请求A、第一子请求B,两个第二子请求,如第二子请求A、第二子请求B,且当前服务器发送各子请求的顺序如下:第二子请求A、第一子请求A、第一子请求B、第二子请求B,第二子请求A、第一子请求A、第一子请求B、第二子请求B分别对应的次服务器为服务器B、服务器C、服务器D、服务器E,如图6所示。
那么可根据上述提到的当前服务器(服务器A)发送各子请求的顺序、第一跨度标识创建策略以及初始请求对应的跨度标识,创建第一子请求A、第一子请求B分别对应的第一原始跨度标识。
在一种可实现的实施例中,根据上述提到的当前服务器发送各子请求的顺序可知第一子请求A为当前服务器第二个发送的子请求,第一子请求B为当前服务器第三个发送的子请求,那么在初始请求对应的跨度标识为0时,可根据第一跨度标识创建策略创建的第一子请求A对应的第一原始跨度标识为0.2,根据第一跨度标识创建策略创建的第一子请求B对应的第一原始跨度标识为0.3。
在另一种可实现的实施例中,当前服务器可启动异步子进程,将第一子请求A以及第一子请求B通过异步子进程进行加载,那么可以异步子进程为维度生成第一原始跨度标识,即子请求集中由同一异步子进程发送的各第一子请求的第一原始跨度标识相同。具体的,如图6所示,在异步子进程中的第一子请求A以及第一子请求B分别对应的第一原始跨度标识可均为0.2。
S502、在第一原始跨度标识上叠加异步标识,得到第一子请求的跨度标识。
继续上述举例,在一种可实现的实施例中,第一子请求A对应的第一原始跨度标识为0.2,第一子请求B对应的第一原始跨度标识为0.3,那么可根据第一跨度标识创建策略生成异步标识,将生成的第一子请求A对应的异步标识叠加到第一子请求A对应的第一原始跨度标识后面,如第一子请求A对应的跨度标识为0.2-1;将生成的第一子请求B对应的异步标识叠加到第一子请求B对应的第一原始跨度标识后面,如第一子请求B对应的跨度标识为0.3-1。可以看出,通过该方式可以从第一原始跨度标识区分出第一子请求的发送顺序,通过异步标识区分出子请求为第一子请求,即为异步请求。
在另一种可实现的实施例中,如图6所示,第一子请求A以及第一子请求B分别对应的第一原始跨度标识可均为0.2。那么根据第一跨度标识创建策略生成异步标识,如第一子请求A对应的跨度标识为0.2-1,第一子请求B对应的跨度标识为0.2-2。需要说明的是,本申请不对异步标识的具体结构进行限定。可以看出,通过该方式可以集合第一原始跨度标识以及异步标识区分出第一子请求的发送顺序,通过异步标识区分出子请求为第一子请求,即为异步请求。
可选地,上述根据第二跨度标识创建策略以及初始请求对应的跨度标识,为第二子请求生成第二原始跨度标识,将第二原始跨度标识作为第二子请求的跨度标识,包括:根据第二跨度标识创建策略、初始请求对应的跨度标识以及第二子请求的发送顺序,为第二子请求生成第二原始跨度标识;将第二原始跨度标识作为第二子请求的跨度标识。
继续上述举例来说,根据当前服务器发送各子请求的顺序可只第二子请求A为当前服务器第一个发送的子请求,第二子请求B为当前服务器第四个发送的子请求,那么可根据各第二子请求发送的顺序、第二跨度标识创建策略以及初始请求对应的跨度标识,创建第二子请求A、第二子请求B分别对应的第二原始跨度标识。
在初始请求对应的跨度标识为0时,可根据第二跨度标识创建策略创建的第二子请求A对应的第二原始跨度标识为0.1,根据第二跨度标识创建策略创建的第二子请求B对应的第二原始跨度标识为0.3,具体可如图6所示。
从图6中的各子请求对应的跨度标识不仅可以快速的区分出为同步请求的子请求、为异步请求的子请求,而且还可以区分出子请求被当前服务器发送的顺序。
图7为本申请实施例提供的另一种分布式系统监控方法的流程示意图。如图7所示,该方法还可以包括:
S701、根据当前服务器、次服务器以及跨度标识创建分布式系统拓扑图。
S702、在显示界面上显示该分布式系统拓扑图。
其中,将当前服务器、次服务器作为分布式系统拓扑图的节点,将跨度标识作为分布式系统拓扑图的边。分布式系统拓扑图由节点和边组成,可根据各层跨度标识之间的关联性将各服务器(当前服务器、次服务器)连接起来,形成分布式系统拓扑图的边,分布式系统拓扑图的边上可显示有跨度标识,具体可如图6所示。
可用举例的方式对各层跨度标识之间的关联性进行说明,如跨度标识为0.2与跨度标识为0.2.1、0.2.2之间的关系如下,跨度标识为0.2.1、0.2.2分别对应的请求为跨度标识为0.2对应的请求的子请求。
在接收到显示分布式系统拓扑图的请求时,可在显示界面上显示该分布式系统拓扑图,工作人员可直观的从该分布式系统拓扑图中了解到哪些请求为同步请求,哪些请求为异步请求,还可以了解到各请求之间的发送顺序。
图8为本申请实施例提供的一种分布式系统监控装置的结构示意图。如图8所示,该装置包括:
获取模块801,用于获取当前服务器基于初始请求处理得到的子请求集中各子请求的状态信息,该状态信息用于指示子请求为同步请求或异步请求;
创建模块802,用于根据各子请求的状态信息、初始请求对应的跨度标识、异步请求的第一跨度标识创建策略以及同步请求的第二跨度标识创建策略,创建各子请求对应的跨度标识,该第一跨度标识创建策略与该第二跨度标识创建策略不同,该跨度标识用于标识该子请求为同步请求或异步请求;
保存模块803,用于保存各子请求对应的跨度标识,并监测得到各子请求的次服务器的响应时间;
确定模块804,用于根据接收各子请求的次服务器的响应时间以及跨度标识,确定当前服务器的自身业务时间。
可选地,确定模块804,具体用于根据跨度标识,识别子请求集中属于同步请求的目标子请求;根据目标子请求的次服务器的响应时间以及当前服务器的响应时间,确定当前服务器的自身业务时间。
可选地,创建模块802,具体用于若第一子请求的状态信息指示第一子请求为异步请求,则根据第一跨度标识创建策略以及初始请求对应的跨度标识,为第一子请求生成第一原始跨度标识;在第一原始跨度标识上叠加异步标识,得到第一子请求的跨度标识。
可选地,各子请求的状态信息包括:各子请求的发送顺序;
相应地,创建模块802,还具体用于根据第一跨度标识创建策略、初始请求对应的跨度标识以及第一子请求的发送顺序,为第一子请求生成第一原始跨度标识;在第一原始跨度标识上叠加异步标识,得到第一子请求的跨度标识。
可选地,子请求集中由同一异步子进程发送的各第一子请求的第一原始跨度标识相同。
可选地,创建模块802,具体用于若第二子请求的状态信息指示第二子请求为同步请求,则根据第二跨度标识创建策略以及初始请求对应的跨度标识,为第二子请求生成第二原始跨度标识,将第二原始跨度标识作为第二子请求的跨度标识。
可选地,各子请求的状态信息包括:各子请求的发送顺序;
相应地,创建模块802,还具体用于根据第二跨度标识创建策略、初始请求对应的跨度标识以及第二子请求的发送顺序,为第二子请求生成第二原始跨度标识;将第二原始跨度标识作为第二子请求的跨度标识。
可选地,创建模块802,还用于根据当前服务器、次服务器以及跨度标识创建分布式系统拓扑图,其中,将当前服务器、次服务器作为分布式系统拓扑图的节点,将跨度标识作为分布式系统拓扑图的边;在显示界面上显示分布式系统拓扑图。
上述装置用于执行前述实施例提供的方法,其实现原理和技术效果类似,在此不再赘述。
以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(Application Specific Integrated Circuit,简称ASIC),或,一个或多个微处理器(Digital Signal Processor,简称DSP),或,一个或者多个现场可编程门阵列(Field Programmable Gate Array,简称FPGA)等。再如,当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(CentralProcessing Unit,简称CPU)或其它可以调用程序代码的处理器。再如,这些模块可以集成在一起,以片上系统(system-on-a-chip,简称SOC)的形式实现。
图9为本申请实施例提供的一种电子设备的结构示意图,如图9所示,该电子设备可以包括:处理器901、存储介质902和总线903,存储介质902存储有处理器901可执行的机器可读指令,当该电子设备运行时,处理器901与存储介质902之间通过总线903通信,处理器901执行机器可读指令,以执行上述方法实施例的步骤。具体实现方式和技术效果类似,这里不再赘述。
可选地,本申请还提供一种存储介质,存储介质上存储有计算机程序,计算机程序被处理器运行时执行上述方法实施例的步骤。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(英文:processor)执行本申请各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(英文:Read-Only Memory,简称:ROM)、随机存取存储器(英文:Random Access Memory,简称:RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种分布式系统监控方法,其特征在于,所述方法包括:
获取当前服务器基于初始请求处理得到的子请求集中各子请求的状态信息,所述状态信息用于指示所述子请求为同步请求或异步请求;
根据各所述子请求的状态信息、所述初始请求对应的跨度标识、所述异步请求的第一跨度标识创建策略以及所述同步请求的第二跨度标识创建策略,创建各所述子请求对应的跨度标识,所述第一跨度标识创建策略与所述第二跨度标识创建策略不同,所述跨度标识用于标识所述子请求为同步请求或异步请求;
保存各所述子请求对应的跨度标识,并监测得到各子请求的次服务器的响应时间;
根据所述跨度标识,识别所述子请求集中属于同步请求的目标子请求;
根据所述目标子请求的次服务器的响应时间以及所述当前服务器的响应时间,确定所述当前服务器的自身业务时间。
2.根据权利要求1所述的方法,其特征在于,所述根据各所述子请求的状态信息、所述初始请求对应的跨度标识、所述异步请求的第一跨度标识创建策略以及所述同步请求的第二跨度标识创建策略,创建各所述子请求对应的跨度标识,包括:
若第一子请求的状态信息指示所述第一子请求为异步请求,则根据所述第一跨度标识创建策略以及所述初始请求对应的跨度标识,为所述第一子请求生成第一原始跨度标识;
在所述第一原始跨度标识上叠加异步标识,得到所述第一子请求的跨度标识。
3.根据权利要求2所述的方法,其特征在于,所述各所述子请求的状态信息包括:各所述子请求的发送顺序;
所述根据所述第一跨度标识创建策略以及所述初始请求对应的跨度标识,为所述第一子请求生成第一原始跨度标识,并在所述第一原始跨度标识上叠加异步标识,得到所述第一子请求的跨度标识,包括:
根据所述第一跨度标识创建策略、所述初始请求对应的跨度标识以及所述第一子请求的发送顺序,为所述第一子请求生成第一原始跨度标识;
在所述第一原始跨度标识上叠加异步标识,得到所述第一子请求的跨度标识。
4.根据权利要求3所述的方法,其特征在于,所述子请求集中由同一异步子进程发送的各所述第一子请求的第一原始跨度标识相同。
5.根据权利要求2所述的方法,其特征在于,所述根据各所述子请求的状态信息、所述初始请求对应的跨度标识、所述异步请求的第一跨度标识创建策略以及所述同步请求的第二跨度标识创建策略,创建各所述子请求对应的跨度标识,包括:
若第二子请求的状态信息指示所述第二子请求为同步请求,则根据所述第二跨度标识创建策略以及所述初始请求对应的跨度标识,为所述第二子请求生成第二原始跨度标识,将所述第二原始跨度标识作为所述第二子请求的跨度标识。
6.根据权利要求5所述的方法,其特征在于,所述各所述子请求的状态信息包括:各所述子请求的发送顺序;
所述根据所述第二跨度标识创建策略以及所述初始请求对应的跨度标识,为所述第二子请求生成第二原始跨度标识,将所述第二原始跨度标识作为所述第二子请求的跨度标识,包括:
根据所述第二跨度标识创建策略、所述初始请求对应的跨度标识以及所述第二子请求的发送顺序,为所述第二子请求生成第二原始跨度标识;
将所述第二原始跨度标识作为所述第二子请求的跨度标识。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
根据所述当前服务器、所述次服务器以及所述跨度标识创建分布式系统拓扑图,其中,将所述当前服务器、所述次服务器作为所述分布式系统拓扑图的节点,将所述跨度标识作为所述分布式系统拓扑图的边;
在显示界面上显示所述分布式系统拓扑图。
8.一种分布式系统监控装置,其特征在于,所述装置包括:
获取模块,用于获取当前服务器基于初始请求处理得到的子请求集中各子请求的状态信息,所述状态信息用于指示所述子请求为同步请求或异步请求;
创建模块,用于根据各所述子请求的状态信息、所述初始请求对应的跨度标识、所述异步请求的第一跨度标识创建策略以及所述同步请求的第二跨度标识创建策略,创建各所述子请求对应的跨度标识,所述第一跨度标识创建策略与所述第二跨度标识创建策略不同,所述跨度标识用于标识所述子请求为同步请求或异步请求;
保存模块,用于保存各所述子请求对应的跨度标识,并监测得到各子请求的次服务器的响应时间;
确定模块,用于根据所述跨度标识,识别所述子请求集中属于同步请求的目标子请求;根据所述目标子请求的次服务器的响应时间以及所述当前服务器的响应时间,确定所述当前服务器的自身业务时间。
9.一种电子设备,其特征在于,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的机器可读指令,当所述电子设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述机器可读指令,以执行如权利要求1-7任一项所述分布式系统监控方法的步骤。
10.一种存储介质,其特征在于,所述存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如权利要求1-7任一项所述分布式系统监控方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111132633.4A CN113590450B (zh) | 2021-09-27 | 2021-09-27 | 一种分布式系统监控方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111132633.4A CN113590450B (zh) | 2021-09-27 | 2021-09-27 | 一种分布式系统监控方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113590450A CN113590450A (zh) | 2021-11-02 |
CN113590450B true CN113590450B (zh) | 2021-12-21 |
Family
ID=78242350
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111132633.4A Active CN113590450B (zh) | 2021-09-27 | 2021-09-27 | 一种分布式系统监控方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113590450B (zh) |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB0509904D0 (en) * | 2005-05-14 | 2005-06-22 | Ibm | Method, apparatus and computer program for facilitating communication between a client application and a server application |
US9372722B2 (en) * | 2013-07-01 | 2016-06-21 | International Business Machines Corporation | Reliable asynchronous processing of a synchronous request |
CN109871365A (zh) * | 2019-01-15 | 2019-06-11 | 苏州链读文化传媒有限公司 | 一种分布式文件系统 |
CN111736975A (zh) * | 2020-06-28 | 2020-10-02 | 中国平安财产保险股份有限公司 | 请求控制方法、装置、计算机设备及计算机可读存储介质 |
-
2021
- 2021-09-27 CN CN202111132633.4A patent/CN113590450B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN113590450A (zh) | 2021-11-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10140142B2 (en) | Grouping and placement of virtual machines based on similarity and correlation of functional relations | |
CN109150572B (zh) | 实现告警关联的方法、装置以及计算机可读存储介质 | |
CN106059825A (zh) | 一种分布式系统及配置方法 | |
CN107423942B (zh) | 一种业务流转的方法及装置 | |
CN106156126B (zh) | 处理数据任务中的数据冲突检测方法及服务器 | |
JP2005027040A (ja) | 監視方法、監視プログラム及び集中監視プログラム | |
CN110543512B (zh) | 一种信息同步方法,装置及系统 | |
CN112631913A (zh) | 应用程序的运行故障监控方法、装置、设备和存储介质 | |
CN103259688A (zh) | 一种分布式存储系统的故障诊断方法与装置 | |
CN110247977B (zh) | 一种基于边缘计算的数据融合的方法和系统 | |
CN114553658B (zh) | 一种基于云计算的资源共享安全处理方法及服务器 | |
CN111526038B (zh) | 业务请求分发方法、装置、计算机设备及可读存储介质 | |
CN110619022B (zh) | 基于区块链网络的节点检测方法、装置、设备及存储介质 | |
CN113965576B (zh) | 基于容器的大数据采集方法、装置、存储介质和设备 | |
CN113590450B (zh) | 一种分布式系统监控方法、装置、设备及存储介质 | |
CN110781039B (zh) | 哨兵进程选举方法及装置 | |
CN111930542A (zh) | 数据采集方法、装置、电子设备及计算机可读存储介质 | |
CN104025628A (zh) | 网络系统、节点装置组、传感器装置组及传感器数据收发方法 | |
CN111092956A (zh) | 资源同步方法、装置、存储介质及设备 | |
CN111835809A (zh) | 工单消息分配方法、装置、服务器及存储介质 | |
CN111858079B (zh) | 分布式锁迁移方法、装置及电子设备、存储介质 | |
CN111221847B (zh) | 监控数据存储方法、装置及计算机可读存储介质 | |
CN114428704A (zh) | 全链路分布式监控的方法、装置、计算机设备和存储介质 | |
CN106850245B (zh) | 一种诊断测试消息处理方法及装置 | |
CN114666202B (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 |