CN112328375A - 一种用于跟踪分布式系统的数据片段的关联方法和装置 - Google Patents
一种用于跟踪分布式系统的数据片段的关联方法和装置 Download PDFInfo
- Publication number
- CN112328375A CN112328375A CN202011167885.6A CN202011167885A CN112328375A CN 112328375 A CN112328375 A CN 112328375A CN 202011167885 A CN202011167885 A CN 202011167885A CN 112328375 A CN112328375 A CN 112328375A
- Authority
- CN
- China
- Prior art keywords
- server
- transaction
- intermediate node
- probe
- proxy
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/466—Transaction processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/465—Distributed object oriented systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明涉及计算机技术领域,提出了一种用于跟踪分布式系统的数据片段的关联方法和装置,一种用于跟踪分布式系统的数据片段的关联方法包括:代理探针接收受监控事务传入的通信消息,根据通信消息判断是否处于受监控事务入口;如果处于受监控事务入口,则确定为新事务,代理探针从关联服务器ID列表中选择一个关联服务器,作为主用服务器,并将有关新事务的所有事务跟踪数据片段发送到该主用服务器;如果不是受监控事务入口,则确定为已被监视事务,代理探针从通信消息中读取主用服务器ID,并将该已被监视事务的事务跟踪数据片段发送到主用服务器。通过上述技术方案,解决了现有技术中监控系统中的多个服务器之间需要大量网络流量的问题。
Description
技术领域
本发明涉及计算机技术领域,具体的,涉及一种用于跟踪分布式系统的数据片段的关联方法和装置。
背景技术
目前应用性能管理行业通常采用应用代理探针技术采集应用的性能数据。代理探针能够对单个分布式事务进行监控和跟踪,通过跟踪代码的内部执行细节,获取每个受监控事务的性能和行为的详细数据。此类技术已经在运维操作人员中广泛流行。代理探针技术提供的细粒度信息仅对受监控的事务产生少量的影响,运维操作人员可以通过这些详细数据查明性能问题的根本原因。
通常,这样的监控系统都是将代理探针部署到受监控事务的应用中。这些代理探针识别在事务流程中执行的分布式事务的各个组件,然后捕获这些组件执行的详细信息,例如各个组件的驱动名称、服务器IP地址及端口及执行的方法动作名称等。为了识别和关联由不同进程或计算机系统上的分布式事务的各个组成部分,已部署的代理探针还监控由它们所在的进程产生的输入和输出通信,将关联数据附加到输出的通信数据中,并从输入的相关数据中读取相关数据。与通信数据一起传递的关联数据的作用是对分布式事务进行关联过程识别,并通过数据分析产生描述分布式事务执行的端到端事务跟踪数据。
各个独立的代理探针将产生的事务跟踪和监视数据发送到数据关联服务器,该服务器运行一个关联分析算法,将事务的多个独立的跟踪数据片段组合成一个端到端的事务跟踪。
因为每个代理探针都是独立运行,并且它们只使用了其所在进程的一小部分资源,因此代理探针监视进程的数量没有限制。中央数据关联服务器端必须接收和处理来自多个代理探针的所有跟踪数据,这很快成为一个性能瓶颈。当监控系统部署在具有大量被代理探针监控的进程中且有海量事务吞吐量时,这种集中处理数据的方式导致内存和CPU消耗成为数据关联服务器的瓶颈。
如果能将跟踪数据分配给一组并行的数据关联服务器集群,将会消除这个瓶颈,并会在运维架构上获得灵活的水平扩展能力,可以根据被监控的进程数量和事务的数量扩展需要的资源。
但是,由一个代理探针提供的描述一个进程执行分布式事务的一部分监控数据,需要与其他进程执行的由其他代理探针提供的其他监控数据相关联。事务跟踪数据的部分数据类型是动态的,在数据关联时会造成集群中的相关服务器之间的交叉通信。理论上,单个分布式事务的一部分可以在任何被监视的进程上执行,因此,描述这些事务部分的跟踪数据片段可以由任何代理探针提供。因此,创建一个完整的端到端的事务跟踪数据可能需要来自所有代理探针的事务跟踪数据片段。在由多个服务器组成的一组服务器执行的分布式相关处理中,每个相关服务器仅接收事务跟踪数据片段的一个子集,需要从集群中其他的服务器通信来获取缺失的事务跟踪数据片段。因为一个事务跟踪数据片段可能会发送到不同的关联服务器,这会导致服务器之间出现我们不希望看到的网络通信,处理这些逻辑导致关联服务器会减慢关联过程的处理速度,并且导致相关服务器之间的大量网络流量。在最坏的情况下,将部分关联服务器添加到集群可能会以指数方式增加网络带宽的使用。
发明内容
本发明提出一种用于跟踪分布式系统的数据片段的关联方法和装置,解决了现有技术中监控系统中的多个服务器之间需要大量网络流量的问题。
本发明的技术方案如下:
第一方面,一种用于跟踪分布式系统的数据片段的关联方法,应用于一监控系统,用于将多个独立的代理探针产生的数据片段分配给一组并行的关联服务器集群,多个独立的代理探针部署于应用程序的进程中,用于监控由多个分布式应用进程执行的分布式事务,包括
每个代理探针维护一个关联服务器ID列表,所述关联服务器ID列表包含关联服务器集群中每个关联服务器的标识符;
代理探针接收受监控事务传入的通信消息,根据通信消息判断是否处于受监控事务入口;
如果处于受监控事务入口,则确定为新事务,代理探针从关联服务器ID列表中选择一个关联服务器,作为主用服务器,并将有关新事务的所有事务跟踪数据片段发送到该主用服务器,代理探针将该主用服务器ID存储到受监控事务的执行线程上下文中,并将该主用服务器ID添加到受监控事务发送的所有通信消息中;
如果不是受监控事务入口,则确定为已被监视事务,代理探针从通信消息中读取主用服务器ID,并将该已被监视事务的事务跟踪数据片段发送到主用服务器。
第二方面,一种用于跟踪分布式系统的数据片段的关联装置,包括
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序实现如权利要求1-6任一项所述的用于跟踪分布式系统的数据片段的关联方法的步骤。
第三方面,一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1-6任一项所述的用于跟踪分布式系统的数据片段的关联方法的步骤。
本发明的工作原理及有益效果为:
本发明中代理探针生成的事务跟踪数据片段描述了由特定进程的特定线程执行的单个事务的过程子集,事务跟踪数据片段的数据结构支持将多个数据片段组合为端到端事务跟踪数据。代理探针监控传入的通信消息,并通过消息内的数据内容区分当前是否处于事务入口,在受监控事务入口处,代理探针才能确定主用服务器,然后将主用服务器ID转发并应用到受监控事务处理过程中涉及的所有代理探针,无论受监控事务执行涉及哪个代理探针,都可以确保一个事务的跟踪数据片段由一台主用服务器接收。由于事务跟踪数据片段包含将它们组合为端到端事务跟踪所需的所有数据,因此主用服务器也不需要关联服务器集群中其他服务器的数据,服务器之间不需要或仅需要最少量的通信,这样就有效降低了相关服务器之间的网络流量。
附图说明
下面结合附图和具体实施方式对本发明作进一步详细的说明。
图1为本发明关联方法流程图;
图2为本发明的一个实施例流程示意图;
图3为本发明中中间节点处理意外故障的流程图;
图4为本发明中新的中间节点加入步骤流程图;
图5为本发明中关联装置的结构示意图;
图中:300-总线,301-接收器,302-处理器,303-发送器,304-存储器,306-总线接口。
具体实施方式
下面将结合本发明实施例,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都涉及本发明保护的范围。
如图1所示,为一种用于跟踪分布式系统的数据片段的关联方法流程图,包括
每个代理探针维护一个关联服务器ID列表,所述关联服务器ID列表包含关联服务器集群中每个关联服务器的标识符;
代理探针接收受监控事务传入的通信消息,根据通信消息判断是否处于受监控事务入口;
如果处于受监控事务入口,则确定为新事务,代理探针从关联服务器ID列表中选择一个关联服务器,作为主用服务器,并将有关新事务的所有事务跟踪数据片段发送到该主用服务器,代理探针将该主用服务器ID存储到受监控事务的执行线程上下文中,并将该主用服务器ID添加到受监控事务发送的所有通信消息中;
如果不是受监控事务入口,则确定为已被监视事务,代理探针从通信消息中读取主用服务器ID,并将该已被监视事务的事务跟踪数据片段发送到主用服务器。
本发明中代理探针生成的事务跟踪数据片段描述了由特定进程的特定线程执行的单个事务的过程子集,事务跟踪数据片段的数据结构支持将多个数据片段组合为端到端事务跟踪数据。代理探针监控传入的通信消息,并通过消息内的数据内容区分当前是否处于事务入口,在受监控事务入口处,代理探针才能确定主用服务器,然后将主用服务器ID转发并应用到受监控事务处理过程中涉及的所有代理探针,无论受监控事务执行涉及哪个代理探针,都可以确保一个事务的跟踪数据片段由一台主用服务器接收。由于事务跟踪数据片段包含将它们组合为端到端事务跟踪所需的所有数据,因此主用服务器也不需要关联服务器集群中其他服务器的数据,服务器之间不需要或仅需要最少量的通信,这样就有效降低了相关服务器之间的网络流量。
如图2所示,为一个实施例示出的关联方法的流程图,该监控系统部署包括一组代理探针1至代理探针3,部署到被监控的进程1至进程3。每一个代理探针连接到一个中间节点1或中间节点2。中间节点使用其存储的网络映射表确定关联服务器ID对应的关联服务器的真实IP地址,并将由代理探针采集的事务跟踪数据片段转发到关联服务器集群的关联服务器1至关联服务器3。每个事务跟踪数据片段都包含事务入口设置的关联服务器ID。接收事务数据片段的中间节点使用事务数据片段的关联服务器ID和网络映射表来解析关联服务器地址1至关联服务器地址3。中间节点将接收到的事务数据片段转发到解析后的关联服务器。
附图1显示了分布式系统当前正在执行4个分布式事务T1至T4。并且按照每个事务的执行调用顺序对调用过程进行编号,事务的入口顺序号均为1。例如事务T1的入口调用编号为T1-1,后继的调用编号为T1-2,T1-3…依次类推。
事务T1通过T1-1调用被监控的进程1,并且被代理探针1识别为事务入口,代理探针1访问其存储的服务器ID列表,并从可用服务器S1至S3中随机选择服务器ID。代理探针为事务T1选择了关联服务器S1,并将在进程1上采集到的事务数据片段发送到当前连接的中间节点1。对于T1-1对应的数据片段,服务器ID为S1,中间节点1的网络映射表S1标识指向关联服务器集群的关联服务器的地址192.168.1.1。关联服务器192.168.1.1接收T1-1对应的数据片段。
在进程1执行T1-1过程期间,对进程2进行了T1-2的调用。在进程1发送调用数据时,代理探针1将当前识别的关联服务器S1的ID附加到T1-2的调用数据中。代理探针2检测到T1-2的调用请求,并识别出调用数据内的所选关联服务器S1的ID,并将在进程2上采集到的事务数据片段发送到当前连接的中间节点1。对于T1-2对应的数据片段,服务器ID为S1,中间节点1的网络映射表S1标识指向关联服务器集群的关联服务器的地址192.168.1.1。关联服务器192.168.1.1接收T1-2对应的数据片段。
在进程2执行T1-2过程期间,对进程3进行了T1-3的调用。在进程2发送调用数据时,代理探针2将当前识别的关联服务器S1的ID附加到T1-3的调用数据中。代理探针3检测到T1-3的调用请求,并识别出调用数据内的所选关联服务器S1的ID,并将在进程3上采集到的事务数据片段发送到当前连接的中间节点2。对于T1-3对应的数据片段,服务器ID为S1,中间节点2的网络映射表S1标识指向关联服务器集群的关联服务器的地址192.168.1.1。关联服务器192.168.1.1接收T1-3对应的数据片段。
此时,关联服务器192.168.1.1已经收到了描述事务T1的所有跟踪数据片段T1-1,T1-2和T1-3,并据此形成事务T1处理的端到端事务过程数据。
事务T2通过T2-1调用被监控的进程2,并且被代理探针2识别为事务入口,代理探针2访问其存储的服务器ID列表,并从可用服务器S1至S3中随机选择服务器ID。代理探针为事务T2选择了关联服务器S3,并将在进程2上采集到的事务数据片段发送到当前连接的中间节点1。对于T2-1对应的数据片段,服务器ID为S3,中间节点1的网络映射表S3标识指向关联服务器集群的关联服务器的地址192.168.1.3。关联服务器192.168.1.3接收T2-1对应的数据片段。
在进程2执行T2-1过程期间,对进程1进行了T2-2的调用。在进程2发送调用数据时,代理探针2将当前识别的关联服务器S3的ID附加到T2-2的调用数据中。代理探针1检测到T2-2的调用请求,并识别出调用数据内的所选关联服务器S3的ID,并将在进程1上采集到的事务数据片段发送到当前连接的中间节点1。对于T2-2对应的数据片段,服务器ID为S3,中间节点1的网络映射表S3标识指向关联服务器集群的关联服务器的地址192.168.1.3。关联服务器192.168.1.3接收T2-2对应的数据片段。
在进程2执行T2-1过程期间,对进程3进行了T2-3的调用。在进程2发送调用数据时,代理探针2将当前识别的关联服务器IDS3附加到T2-3的调用数据中。代理探针3检测到T2-3的调用请求,并识别出调用数据内的所选关联服务器S3的ID,并将在进程3上采集到的事务数据片段发送到当前连接的中间节点2。对于T2-3对应的数据片段,服务器ID为S3,中间节点2的网络映射表S3标识指向关联服务器集群的关联服务器的地址192.168.1.3。关联服务器192.168.1.3接收T2-3对应的数据片段。
此时,关联服务器192.168.1.3已经收到了描述事务T2的所有跟踪数据片段T2-1,T2-2和T2-3,并据此形成事务T2处理的端到端事务过程数据。
事务T3通过T3-1调用被监控的进程2,并且被代理探针2识别为事务入口,代理探针2访问其存储的服务器ID列表,并从可用服务器S1至S3中随机选择服务器ID。代理探针为事务T3选择了关联服务器S2,并将在进程2上采集到的事务数据片段发送到当前连接的中间节点1。对于T3-1对应的数据片段,服务器ID为S2,中间节点1的网络映射表S2标识指向关联服务器集群的关联服务器的地址192.168.1.2。关联服务器192.168.1.2接收T3-1对应的数据片段。
在进程2执行T3-1过程期间,对进程3进行了T3-2的调用。在进程2发送调用数据时,代理探针2将当前识别的关联服务器S2的ID附加到T3-2的调用数据中。代理探针3检测到T3-2的调用请求,并识别出调用数据内的所选关联服务器S2的ID,并将在进程3上采集到的事务数据片段发送到当前连接的中间节点2。对于T3-2对应的数据片段,服务器ID为S2,中间节点2的网络映射表S2标识指向关联服务器集群的关联服务器的地址192.168.1.2。关联服务器192.168.1.2接收T3-2对应的数据片段。
此时,关联服务器192.168.1.2已经收到了描述事务T3的所有跟踪数据片段T3-1和T3-2,并据此形成事务T3处理的端到端事务过程数据。
事务T4通过T4-1调用被监控的进程3,并且被代理探针3识别为事务入口,代理探针3访问其存储的服务器ID列表,并从可用服务器S1至S3中随机选择服务器ID。代理探针为事务T4选择了关联服务器S2,并将在进程3上采集到的事务数据片段发送到当前连接的中间节点2。对于T4-1对应的数据片段,服务器ID为S2,中间节点2的网络映射表S2标识指向关联服务器集群的关联服务器的地址192.168.1.2。关联服务器192.168.1.2接收T4-1对应的数据片段。
在进程3执行T4-1过程期间,对进程2进行了T4-2的调用。在进程3发送调用数据时,代理探针3将当前识别的关联服务器S2的ID附加到T4-2的调用数据中。代理探针2检测到T4-2的调用请求,并识别出调用数据内的所选关联服务器S2的ID,并将在进程2上采集到的事务数据片段发送到当前连接的中间节点1。对于T4-2对应的数据片段,服务器ID为S2,中间节点1的网络映射表S2标识指向关联服务器集群的关联服务器的地址192.168.1.2。关联服务器192.168.1.2接收T4-2对应的数据片段。
在进程2执行T4-2过程期间,对进程1进行了T4-3的调用。在进程2发送调用数据时,代理探针2将当前识别的关联服务器S2的ID,附加到T4-3的调用数据中。代理探针1检测到T4-3的调用请求,并识别出调用数据内的所选关联服务器S2的ID,并将在进程1上采集到的事务数据片段发送到当前连接的中间节点1。对于T4-3对应的数据片段,服务器ID为S2,中间节点1的网络映射表S2标识指向关联服务器集群的关联服务器的地址192.168.1.2。关联服务器192.168.1.2接收T4-3对应的数据片段。
此时,关联服务器192.168.1.2已经收到了描述事务T4的所有跟踪数据片段T4-1,T4-2和T4-3,并据此形成事务T4处理的端到端事务过程数据。
进一步,在代理探针和主用服务器之间还部署有一组中间节点,所述中间节点保存有网络映射表,所述网络映射表包括一一对应的主用服务器ID、备份服务器ID、主用服务器IP地址和备份服务器IP地址,具体为:
代理探针将标记有主用服务器ID的事务追踪数据片段发送到中间节点;
中间节点通过通讯事件和定时检测识别主用服务器的故障;
在主用服务器正常的情况下,中间节点将事务追踪数据片段转发到主用服务器;
在主用服务器崩溃的情况下,中间节点将事务追踪数据片段转发到备份服务器。
代理探针连接到中间节点,中间节点管理主用服务器ID和主用服务器的网络连接之间的映射。代理探针将标记有主用服务器ID的事务追踪数据片段发送到中间节点,中间节点解析相应的主用服务器的IP地址,并将接收到的事务追踪数据片段转发到主用服务器。
中间节点实时检测主用服务器的可用性,在主用服务器崩溃的情况下,中间节点可以将计划发送到已崩溃的主用服务器的数据转发到备份服务器。这样,有利于提高监控系统的健壮性,以防止主用服务器的意外故障(例如特定的主用服务器进程崩溃)。
进一步,还包括
代理探针周期性获取中间节点列表;
在当前使用的中间节点不可用的情况下,切换到另一个中间节点。
进一步,还包括
在当前可用的中间节点使用完毕后,切换到下一个可用的中间节点。
每个代理探针维护可用中间节点的列表,并且在当前使用的中间节点不可用的情况下,可以切换到另一个中间节点。代理探针周期性获取中间节点列表,并通过在所有可用的中间节点中切换当前使用的中间节点,这样可以确保如果在系统中部署了新的中间节点,则新的中间节点将自动被代理探针使用,进一步提高监控系统的健壮性。
进一步,在主用服务器崩溃的情况下,中间节点将事务追踪数据片段转发到备份服务器具体为:
中间节点将事务追踪数据片段发送至发生故障的主用服务器ID对应的备份服务器;
中间节点将发生故障的主用服务器ID发送给连接到本中间节点的所有代理探针;
代理探针将发生故障的主用服务器ID从其存储的关联服务器ID列表内删除,形成新的关联服务器ID列表;
代理探针收到新事务入口请求后,从新的关联服务器ID列表内选取主用服务器ID;
中间节点在一定时间段后从网络映射表内移除发生故障的主用服务器ID和主用服务器IP地址。
附图3描述了中间节点处理主用服务器意外故障的流程。当关联服务器集群的主用服务器崩溃并且不再接收事务跟踪数据片段时,或中间节点定时检测主用服务器提供的服务状态查询接口并且不再返回正确状态时,中间节点认识到崩溃的主用服务器不再可用,中间节点将事务追踪数据片段发送至发生故障的主用服务器ID对应的备份服务器。
备份服务器的选取规则为:根据网络映射表中主用服务器ID进行排序,并且崩溃的主用服务器的对应备份服务器将是网络映射表中下一个可用的关联服务器,网络映射表内最后一个节点的下一个节点为网络映射表内第一个节点。中间节点可以使用各种规则来确定崩溃服务器的备份服务器,只要所有中间节点使用相同的规则并且能在所有中间节点上获取相同的结果即可。
中间节点将发生故障的主用服务器ID发送给连接到本中间节点的所有代理探针,代理探针从其关联服务器ID列表中移除崩溃的相关服务器的关联服务器ID数据,并在后续步骤中停止将崩溃的主用服务器作为新启动的入口事务的目标关联服务器。此时代理探针仍然可以使用崩溃的主用服务器ID来跟踪已经在进行中的事务追踪数据片段,但是中间节点可以将此事务追踪数据转发到相对应的备份服务器。
中间节点可以在所有代理探针移除崩溃的主用服务器ID之后,并且在事务超时时间结束之后,移除与崩溃的主用服务器对应的网络映射表中的故障的主用服务器ID。之后,该过程结束。
进一步,在代理探针和关联服务器集群之间还有新的中间节点被部署,具体为:
新的中间节点启动并连接到关联服务器集群;
关联服务器集群更新中间节点配置信息;
代理探针轮询中间节点配置信息;
代理探针维护中间节点列表并使用新的中间节点。
附图4展示了将新的中间节点加入监控系统时的处理流程。当新中间节点启动并连接到关联服务器集群时,关联服务器集群为每个连接的代理探针确定新加入中间节点的使用优先级。关联服务器集群的配置数据包含描述每个代理探针的基础信息以及每个代理探针的网络拓扑位置,关联服务器集群还具有每个关联服务器的系统资源信息、CPU使用率、内存使用量、已连接的代理探针数量等信息。基于此数据,集群可以为每个代理探针计算新加入中间节点的使用优先级。
关联服务器集群将新中间节点的连接信息和使用优先级分发给所有连接的代理探针。此步骤可以通过代理探针执行的循环查询配置信息的轮询过程来实现。
每个代理探针维护可用中间节点的列表,在代理探针更新中间节点的连接信息和使用优先级之后,在当前使用的中间节点不可用的情况下,可以切换到另一个中间节点。
如图5所示,为一种用于跟踪分布式系统的数据片段的关联装置的结构示意图,包括
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序实现如权利要求1-6任一项所述的用于跟踪分布式系统的数据片段的关联方法的步骤。
其中,在图5中,总线架构(用总线300来代表),总线300可以包括任意数量的互联的总线和桥,总线300将包括由处理器302代表的一个或多个处理器和存储器304代表的存储器的各种电路链接在一起。总线300还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口306在总线300和接收器301和发送器303之间提供接口。接收器301和发送器303可以是同一个元件,即收发机,提供用于在传输介质上与各种其他装置通信的单元。处理器302负责管理总线300和通常的处理,而存储器304可以被用于存储处理器302在执行操作时所使用的数据。
一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1-6任一项所述的用于跟踪分布式系统的数据片段的关联方法的步骤。
以上仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种用于跟踪分布式系统的数据片段的关联方法,应用于一监控系统,用于将多个独立的代理探针产生的数据片段分配给一组并行的关联服务器集群,多个独立的代理探针部署于应用程序的进程中,用于监控由多个分布式应用进程执行的分布式事务,其特征在于,
每个代理探针维护一个关联服务器ID列表,所述关联服务器ID列表包含关联服务器集群中每个关联服务器的标识符;
代理探针接收受监控事务传入的通信消息,根据通信消息判断是否处于受监控事务入口;
如果处于受监控事务入口,则确定为新事务,代理探针从关联服务器ID列表中选择一个关联服务器,作为主用服务器,并将有关新事务的所有事务跟踪数据片段发送到该主用服务器,代理探针将该主用服务器ID存储到受监控事务的执行线程上下文中,并将该主用服务器ID添加到受监控事务发送的所有通信消息中;
如果不是受监控事务入口,则确定为已被监视事务,代理探针从通信消息中读取主用服务器ID,并将该已被监视事务的事务跟踪数据片段发送到主用服务器。
2.根据权利要求1所述的一种用于跟踪分布式系统的数据片段的关联方法,其特征在于,在代理探针和主用服务器之间还部署有一组中间节点,所述中间节点保存有网络映射表,所述网络映射表包括一一对应的主用服务器ID、备份服务器ID、主用服务器IP地址和备份服务器IP地址,具体为:
代理探针将标记有主用服务器ID的事务追踪数据片段发送到中间节点;
中间节点通过通讯事件和定时检测识别主用服务器的故障;
在主用服务器正常的情况下,中间节点将事务追踪数据片段转发到主用服务器;
在主用服务器崩溃的情况下,中间节点将事务追踪数据片段转发到备份服务器。
3.根据权利要求2所述的一种用于跟踪分布式系统的数据片段的关联方法,其特征在于,还包括
代理探针周期性获取中间节点列表;
在当前使用的中间节点不可用的情况下,切换到另一个中间节点。
4.根据权利要求3所述的一种用于跟踪分布式系统的数据片段的关联方法,其特征在于,还包括
在当前可用的中间节点使用完毕后,切换到下一个可用的中间节点。
5.根据权利要求2所述的一种用于跟踪分布式系统的数据片段的关联方法,其特征在于,在主用服务器崩溃的情况下,中间节点将事务追踪数据片段转发到备份服务器具体为:
中间节点将事务追踪数据片段发送至发生故障的主用服务器ID对应的备份服务器;
中间节点将发生故障的主用服务器ID发送给连接到本中间节点的所有代理探针;
代理探针将发生故障的主用服务器ID从其存储的关联服务器ID列表内删除,形成新的关联服务器ID列表;
代理探针收到新事务入口请求后,从新的关联服务器ID列表内选取主用服务器ID;
中间节点在一定时间段后从网络映射表内移除发生故障的主用服务器ID和主用服务器IP地址。
6.根据权利要求1所述的一种用于跟踪分布式系统的数据片段的关联方法,其特征在于,在代理探针和关联服务器集群之间还有新的中间节点被部署,具体为:
新的中间节点启动并连接到关联服务器集群;
关联服务器集群更新中间节点配置信息;
代理探针轮询中间节点配置信息;
代理探针维护中间节点列表并使用新的中间节点。
7.一种用于跟踪分布式系统的数据片段的关联装置,其特征在于,包括
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序实现如权利要求1-6任一项所述的用于跟踪分布式系统的数据片段的关联方法的步骤。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1-6任一项所述的用于跟踪分布式系统的数据片段的关联方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011167885.6A CN112328375B (zh) | 2020-10-28 | 2020-10-28 | 一种用于跟踪分布式系统的数据片段的关联方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011167885.6A CN112328375B (zh) | 2020-10-28 | 2020-10-28 | 一种用于跟踪分布式系统的数据片段的关联方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112328375A true CN112328375A (zh) | 2021-02-05 |
CN112328375B CN112328375B (zh) | 2022-03-22 |
Family
ID=74297073
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011167885.6A Active CN112328375B (zh) | 2020-10-28 | 2020-10-28 | 一种用于跟踪分布式系统的数据片段的关联方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112328375B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001052170A1 (en) * | 2000-01-13 | 2001-07-19 | Citicorp Development Center, Inc. | A method and system for accessing financial information using wireless devices |
CN102307210A (zh) * | 2011-01-13 | 2012-01-04 | 国云科技股份有限公司 | 一种数据下载系统及其数据管理和下载方法 |
CN103678699A (zh) * | 2013-12-27 | 2014-03-26 | 乐视网信息技术(北京)股份有限公司 | 服务器中的数据合并方法及系统 |
CN106487596A (zh) * | 2016-10-26 | 2017-03-08 | 宜人恒业科技发展(北京)有限公司 | 分布式服务跟踪实现方法 |
CN107222331A (zh) * | 2017-04-26 | 2017-09-29 | 东软集团股份有限公司 | 分布式应用系统性能的监控方法、装置、存储介质及设备 |
CN110073301A (zh) * | 2017-08-02 | 2019-07-30 | 强力物联网投资组合2016有限公司 | 工业物联网中具有大数据集的数据收集环境下的检测方法和系统 |
-
2020
- 2020-10-28 CN CN202011167885.6A patent/CN112328375B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001052170A1 (en) * | 2000-01-13 | 2001-07-19 | Citicorp Development Center, Inc. | A method and system for accessing financial information using wireless devices |
CN102307210A (zh) * | 2011-01-13 | 2012-01-04 | 国云科技股份有限公司 | 一种数据下载系统及其数据管理和下载方法 |
CN103678699A (zh) * | 2013-12-27 | 2014-03-26 | 乐视网信息技术(北京)股份有限公司 | 服务器中的数据合并方法及系统 |
CN106487596A (zh) * | 2016-10-26 | 2017-03-08 | 宜人恒业科技发展(北京)有限公司 | 分布式服务跟踪实现方法 |
CN107222331A (zh) * | 2017-04-26 | 2017-09-29 | 东软集团股份有限公司 | 分布式应用系统性能的监控方法、装置、存储介质及设备 |
CN110073301A (zh) * | 2017-08-02 | 2019-07-30 | 强力物联网投资组合2016有限公司 | 工业物联网中具有大数据集的数据收集环境下的检测方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN112328375B (zh) | 2022-03-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6574197B1 (en) | Network monitoring device | |
US6859889B2 (en) | Backup system and method for distributed systems | |
JP3649580B2 (ja) | 分散コンピュータ・システムのエラーを報告するシステム | |
US7518983B2 (en) | Proxy response apparatus | |
US20030005350A1 (en) | Failover management system | |
US20040158777A1 (en) | Scalable method of continuous monitoring the remotely accessible resources against the node failures for very large clusters | |
JP2004062535A (ja) | マルチプロセッサシステムの障害処理方法、マルチプロセッサシステム及びノード | |
JP2004519024A (ja) | 多数のノードを含むクラスタを管理するためのシステム及び方法 | |
TWI701916B (zh) | 用於在分布式系統中使管理能力自恢復的方法和裝置 | |
JPH0721135A (ja) | 二重化監視機能を持つデータ処理システム | |
JP3101604B2 (ja) | 分散コンピュータ・システムのエラーを報告する方法 | |
US20030014516A1 (en) | Recovery support for reliable messaging | |
CN113489149B (zh) | 基于实时状态感知的电网监控系统业务主节点选取方法 | |
US20050234919A1 (en) | Cluster system and an error recovery method thereof | |
CN106899659B (zh) | 分布式系统及其管理方法和管理装置 | |
CN112328375B (zh) | 一种用于跟踪分布式系统的数据片段的关联方法和装置 | |
CN112631756A (zh) | 一种应用于航天测控软件的分布式调控方法及装置 | |
JPH09293059A (ja) | 分散システム及びその運用管理方法 | |
US7769844B2 (en) | Peer protocol status query in clustered computer system | |
WO2021249173A1 (zh) | 一种分布式存储系统及其异常处理方法和相关装置 | |
US20060248531A1 (en) | Information processing device, information processing method and computer-readable medium having information processing program | |
CN113055203B (zh) | Sdn控制平面的异常恢复方法及装置 | |
KR100832543B1 (ko) | 계층적 다중 백업 구조를 갖는 고가용성 클러스터 시스템및 이를 이용한 고가용성 구현 방법 | |
CN114356625A (zh) | 分布式系统冗余诊断方法、装置、电子装置和存储介质 | |
CN114422335A (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 |