掌桥专利:专业的专利平台
掌桥专利
首页

一种分布式系统的监测方法及装置

文献发布时间:2023-06-19 11:08:20


一种分布式系统的监测方法及装置

技术领域

本发明涉及分布式计算机系统,具体涉及一种分布式系统的监测方法及装置。

背景技术

当代的互联网的服务,通常都是用复杂的、大规模分布式集群来实现的。互联网应用构建在不同的软件模块集上,这些软件模块,有可能是由不同的团队开发、可能使用不同的编程语言来实现、有可能布在了几千台服务器,横跨多个不同的数据中心。因此,就需要一些可以帮助理解系统行为、用于分析性能问题的工具。由此,Dapper--Google生产环境下的分布式跟踪系统,应运而生。基于Dapper--Google生产环境下的分布式链路跟踪系统能够收集更多的复杂分布式系统的行为信息,然后呈现给开发者们。

虽然分布式链路跟踪系统的跟踪分析的功能虽然已经比较全面,还是存在几种缺陷,其中两个就是:1、Dapper的模型的隐含前提是不同的子系统使用同一个被跟踪的请求所产生的连锁链式调用栈的情况。如果是多个追踪请求合并起来,而最终只使用其中的一个的情况则无法很好地对应。2、一些内核可见的事件的详细信息有时对确定问题根源是很有用的,而Dapper的模型是很难把这些信息到捆绑到用户级别的跟踪上下文中。

发明内容

针对现有技术中的问题,本发明提供一种分布式系统的监测方法及装置,能够对分布式银行系统进行监测,减少监测时的处理工作量,进而提高处理的效率。

为解决上述技术问题,本发明提供以下技术方案:

第一方面,本发明提供一种分布式系统的监测方法,包括:

通过交易链路接入层接收调用时,存储消费方信息和交易方信息至节点调用信息表;

采用JVM-Adaptor处理层通过JVM-AGENT监听层获取跟踪对象的跟踪信息;其中,JVM-AGENT监听层通过JVMTI接口层获取跟踪对象的跟踪信息;

结束调用时,JVM-Adaptor处理层根据所述跟踪信息生成本节点对应的跟踪信息链树结构数据;以及根据所述节点调用信息表判断本节点对应的链路数据是否收集完毕;

若链路数据收集完毕并本节点的节点粒度开关为开,则JVM-Adaptor处理层发送所述跟踪信息链树结构数据至所述消费方信息对应的消费方所在的消息子队列。

第二方面,本发明提供一种分布式系统的监测装置,包括:

节点调用单元,用于通过交易链路接入层接收调用时,存储消费方信息和交易方信息至节点调用信息表;

跟踪信息获取单元,用于采用JVM-Adaptor处理层通过JVM-AGENT监听层获取跟踪对象的跟踪信息;其中,JVM-AGENT监听层通过JVMTI接口层获取跟踪对象的跟踪信息;

链树结构单元,用于结束调用时,JVM-Adaptor处理层根据所述跟踪信息生成本节点对应的跟踪信息链树结构数据;以及根据所述节点调用信息表判断本节点对应的链路数据是否收集完毕;

消息发送单元,用于若链路数据收集完毕并本节点的节点粒度开关为开,则JVM-Adaptor处理层发送所述跟踪信息链树结构数据至所述消费方信息对应的消费方所在的消息子队列。

进一步地,还包括:

树状视图单元,用于根据所述跟踪信息链树结构数据生成跟踪信息树状视图数据;

树状视图发送单元,用于将所述跟踪信息树状视图数据发送至所述消费方所分配的子队列中。

其中,所述节点调用单元包括:

消费节点子单元,用于存储本次交易事务中所述消费方信息至节点调用信息表;其中,所述消费方信息包括:父节点ID和事件ID;

交易节点子单元,用于存储本次交易事务中所述交易方信息至节点调用信息表;其中,所述交易方信息包括:子节点调用序号、子节点ID和子节点调用方式。

其中,所述JVM-Adaptor处理层包括:跟踪数据堆栈和链树结构处理;

其中,所述跟踪数据堆栈用于存储跟踪信息;

所述链树结构处理用于从跟踪数据堆栈中获取跟踪信息并生成跟踪信息链树结构数据,还用于根据所述节点调用信息表判断本节点对应的链路数据是否收集完毕。

其中,所述链树结构单元包括:

链树结构子单元,用于接收通过JDI接口传输的内核调试信息,将所述跟踪信息和所述内核调试信息进行整合处理,得到跟踪信息链树结构数据。

进一步地,还包括:

可视化处理单元,用于对所述跟踪信息树状视图数据进行可视化处理得到可视化数据;

可视化数据调用单元,用于通过API接口供图形化工作台调用所述可视化数据。

第三方面,本发明提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现所述的分布式系统的监测方法的步骤。

第四方面,本发明提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现所述的分布式系统的监测方法的步骤。

由上述技术方案可知,本发明提供一种分布式系统的监测方法及装置,通过交易链路接入层接收调用时,存储消费方信息和交易方信息至节点调用信息表;JVM-Adaptor处理层通过JVM-AGENT监听层获取跟踪对象的跟踪信息;其中,JVM-AGENT监听层通过JVMTI接口层获取跟踪对象的跟踪信息;结束调用时,JVM-Adaptor处理层根据所述跟踪信息生成本节点对应的跟踪信息链树结构数据;以及根据所述节点调用信息表判断本节点对应的链路数据是否收集完毕;若链路数据收集完毕并本节点的节点粒度开关为开,则发送所述跟踪信息链树结构数据至所述消费方信息对应的消费方所在的消息子队列,适合于金融机构在搭建可伸缩的分布式银行系统过程中,对分布式银行系统的进行监测,能够减少监测时的处理工作量,进而提高处理的效率。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例中的分布式系统的监测方法的第一流程示意图。

图2为本发明实施例中的分布式系统的监测方法的第二流程示意图。

图3为本发明实施例中的分布式系统的监测方法中服务调用链路示意图。

图4为本发明实施例中的分布式系统的监测方法中跟踪信息树状视图。

图5为本发明实施例中的分布式系统的监测方法的第三流程示意图。

图6为本发明实施例中的分布式系统的监测方法中JVM-Adaptor处理层的结构示意图。

图7为本发明实施例中的分布式系统的监测方法中JVM NODE节点的结构示意图。

图8为本发明实施例中的分布式系统的监测装置的结构示意图。

图9为本发明实施例中的电子设备的结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明提供一种分布式系统的监测方法的实施例,参见图1,所述分布式系统的监测方法具体包含有如下内容:

S101:通过交易链路接入层接收调用时,存储消费方信息和交易方信息至节点调用信息表;

在本步骤中,交易链路交易层作为应用节点的出入口,通过交易链路接入层接收调用时,将本次交易事务的消费方信息登记到节点调用信息表,即存储消费方信息至节点调用信息表。

消费方信息包括父节点ID和事件ID。其中,父节点为服务消费者所在节点。

应用节点开始发起对子节点调用时,将本次交易事务的交易方信息登记到节点调用信息表,即存储交易方信息至节点调用信息表。

交易方信息包括子节点调用序号、子节点ID和子节点调用方式。其中,子节点为服务提供者所节点。

参见表1,本实施例提供一种节点调用信息表的格式。

表1节点调用信息表

S102:采用JVM-Adaptor处理层通过JVM-AGENT监听层获取跟踪对象的跟踪信息;其中,JVM-AGENT监听层通过JVMTI接口层获取跟踪对象的跟踪信息;

需要说明的是,JVMTI是一个可以与JVM通信的接口,类似于JVM各类运行过程的旁观者。通过JVMTI可以获取JVM的实时运行状态,包括调试信息、线程信息、监控信息、覆盖率分析信息、类/方法/变量状态等。JVMTI接口可以通过JVM-AGENT对外暴露,JVM-AGENT可以定制化读取、操作JVMTI获取到JVM实际运行的各类信息。

在本实施例中,JVM-AGENT监听层和JVMTI接口实现了agent监听功能。agent监听是已有基础原理。

agent监听是通过JVMTI接口在调用者和被调用者之间注册一个事件监听器。以方法调用为例,该事件监听器用于监听线程切换事件(即引起线程切换的方法调用),当某个线程方法即将被调用的时候,事件监听器发送“方法进入事件”到agent监听的“调用前”回调方法;当某个线程方法返回的时候,事件监听器发送“方法返回事件”到agent监听的“调用后”回调方法。“调用前”和“调用后”分别负责处理跟踪对象,调用前的调用后的变量值、系统状况。其中,跟踪对象可以是类、方法或者服务等。

S103:结束调用时,JVM-Adaptor处理层根据所述跟踪信息生成本节点对应的跟踪信息链树结构数据;以及根据所述节点调用信息表判断本节点对应的链路数据是否收集完毕;

需要说明的是,跟踪信息包括与应用程序相关的类、方法、变量值和返回错误码中至少一种。

进一步的,JVM-Adaptor处理层根据所述跟踪信息生成本节点对应的跟踪信息链树结构数据,包括:

接收通过JDI接口传输的内核调试信息,将所述跟踪信息和所述内核调试信息进行整合处理,得到跟踪信息链树结构数据。

通过JDI接口传输的内核调试信息,该内核调试信息可实现定制化。例如:是否需要内核调试信息,需要哪些应用级的变量的内核调试信息等。

参见表2,本实施例提供一种存储跟踪信息链树结构数据的跟踪信息链树结构表。

表2跟踪信息链树结构表

S104:若链路数据收集完毕并本节点的节点粒度开关为开,则JVM-Adaptor处理层发送所述跟踪信息链树结构数据至所述消费方信息对应的消费方所在的消息子队列。

在本步骤中,判断子节点是否已上传跟踪信息,若子节点上传跟踪信息且本节点已有跟踪信息。则表示本节点为根节点的调用链的链路数据已经收集完毕。

需要说明的是,在本步骤S104中还包括步骤S1041和步骤S1042,具体包括如下内容:

步骤S1041:消费方获取子队列对应跟踪信息,当做本节点对应的链路数据的组成部分之一。

在本步骤中,若将跟踪信息当做本节点对应的链路数据的组成部分之一,则需要返回步骤S103重新判断本节点对应的链路数据是否收集完毕。

步骤S1042:若本节点的节点粒度开关为关,则根据本节点所有的链路数据生成跟踪信息树状视图数据。

在本步骤中,链路数据包括本身的跟踪信息链路树结构数据和从子队列拉取的对应链路数据。

将跟踪信息链树结构数据经过通信协议处理之后,采用JMS机制进行传递并传递至消费方信息对应的消费方所在的消息子队列。

从上述描述可知,本发明实施例提供的一种分布式系统的监测方法,应用节点对于跟踪信息有预处理,能够减少监测时的处理工作量,进而提高处理的效率。在事务多并发时,也可以很好对应到某个跟踪请求。适合金融机构在搭建可伸缩的分布式银行系统过程中,在需要大量调试的验证环境下,对系统的调试和监测场景。

在本发明一实施例中,参见图2,在上述实施例步骤S103之后,还包括:

S105:根据所述跟踪信息链树结构数据生成跟踪信息树状视图数据;

S106:将所述跟踪信息树状视图数据发送至所述消费方所分配的子队列中。

在本实施例中,采用JMS机制进行传递时,采用消息队列服务器暂存跟踪信息链树结构数据。由于对于某个业务交易链路来说,生产者(服务提供者)对应的消费者唯一的。采用JMS机制的拉模式,即生产者所在JVM-NODE产生跟踪信息树状视图数据之后,通知到消息队列中对应该交易事务的消费者所分配的子队列中。

本实施例中提供一种跟踪信息树状视图的具体示例,具体包括:

参见图3所示的服务调用链路示意图,本示例以dubbo框架加上rpc调用。其中,“对象Object”在图3中即服务,“Async”为异步调用,虚线部分默认都经过特定的消息队列服务器。

在某节点可以根据收集完毕的“表2跟踪信息链树结构表”和“表1节点调用信息表”数据,实现跨节点的信息汇总与输出,形成一个完整的报文链路。通过控制台、或者其他管理工具的展示可以完整的还原一笔金融交易(Service)在不同节点(JVM Node)上对象(Object)内部的方法(Method)调用路径、对象请求路径、以及每一个方法内部的变量信息(包括入参出参param list、关键变量等等)。

若所有节点的agent监听开关均为开,JVM NODE1上设定节点粒度开关为关,调试信息开关为开,其他节点的粒度开关均为开,但调试信息开关为关。则得到以JVM NODE1为根节点的跟踪信息树状视图,如图4所示(JVM NODE0和JVM NODE2具体结构略,JVM NODE0的视图关于NODE1的部分只有名称而内容为空;P为参数简称、V为值简称)。

需要说明的是,将JVM-Adaptor处理层、JVM-AGENT监听层和JVMTI接口统一看做JVM NODE(JVM节点)。

从上述描述可知,本发明实施例提供的一种分布式系统的监测方法,通过视图输出根节点的变化更精确和快速的输出跟踪信息树状视图数据,从而对于重点交易高风险交易以及调用链交易可做到最大程度的精确跟踪。

在本发明一实施例中,参见图5,在上述实施例步骤S105之后,还包括:

S107:对所述跟踪信息树状视图数据进行可视化处理得到可视化数据;

S108:通过API接口供图形化工作台调用所述可视化数据。

在本实施例中,直接在链树结构处理中对跟踪信息树状视图数据进行可视化处理得到可视化数据,可提供API接口供图形化工作台调用可视化数据,进而实现对跟踪信息树状视图数据的可视化展示,进一步实现统计分析等数据落盘处理。

在上述各个实施例中,JVM-Adaptor处理层包括:跟踪数据堆栈和链树结构处理;

其中,所述跟踪数据堆栈用于存储跟踪信息;所述链树结构处理用于从跟踪数据堆栈中获取跟踪信息并生成跟踪信息链树结构数据,还用于根据所述节点调用信息表判断本节点对应的链路数据是否收集完毕。

本实施例中,跟踪数据堆栈以事件ID为粒度,生成和销毁对应堆栈。接收并暂存JVM-AGENT监听层监听的与应用程序相关的跟踪信息

进一步的,参见图6,JVM-Adaptor处理层还包括:

通信协议处理,通信协议处理是根据通讯节点的不同需求场景,进行不同的应用级协议的转换,以下对主要支持的协议进行说明:

1、RMI远程对象调用,适用于基于java的节点间同步的对象方法调用。例如与JSWP\JDI有关的跨节点调试:在应用节点间有交易链路发生时,建立socket连接,同时将被调节点的已登记在自身的skeleton上的调试方法的签名添加到调用节点(父节点)的远程接口stub上,后续这样可以直接从父节点通过stub发起对调试方法的调用,调试方法可以通过现有的JDI(java调试接口)从而形成调用链上各虚拟机的调试。

2、JMS java消息机制,适用于不影响到业务流程本身效率的异步信息传输,适用于跟踪信息链树结构等信息的传递和跟踪视图的生成。

3、http2协议,比http协议更为简洁和有效率。通讯方可以不是基于java平台。可支持的功能扩展,方便与其他异构节点共享跟踪链路信息。

4、Rpc远程过程调用,支持平台无关性,可在多种传输协议上定制不同网络传输格式,并提供类似服务发现服务降级等一系列功能,对比http2,对于使用者更为便利。

需要说明的是,通信协议处理将交易运行信息通过多种通讯协议的输出,也可跨平台,支持更多的跟踪调试场景需要。

开关等参数,包括节点粒度开关,调试信息开关和agent监听开关;

其中,节点粒度开关,为关,则具体跟踪信息不再上送上一层节点,只上送特定空白信息,即跟踪信息树状视图之一的根节点为当前节点。为开则上送父节点。

调试信息开关,为开,则生成跟踪信树状视图之前主动调用JDI接口获取内核调试信息。

agent监听开关,为关,则接受JVM-agent推送过来的信息到跟踪数据堆栈。

调试方法功能说明见“通信协议处理”部分的“RMI远程对象调用”的说明。

跟踪链出入口,通过跟踪链出入口进行数据发送。

参见图7,本实施例中,将JVM-Adaptor处理层、JVM-AGENT监听层和JVMTI接口统一视作JVM NODE(JVM节点),在JVM虚拟机运行时,JVM NODE可作为服务的形式注册在应用节点(以容器形式运行)中,一个物理机可运行一个或多个应用节点。JVM虚拟机本身提供传输层协议处理、序列化/反序列化、底层通信等基础功能。消费者的JVM-NODE以Batch Job的形式,根据事先设定的时间间隔,定期侦听消息队列中对应子队列的情况,状态发生变更时,通知消费者其状态发生了改变。但得到通知的消费者的JVM-NODE的“跟踪链出入口”功能部分就会以回调方式,通过调用传递过来的生产者的JVM-NODE消息对象获得跟踪信息。

从上述描述可知,本发明实施例提供的分布式系统的监测方法,通过交易链路接入层接收调用时,存储消费方信息和交易方信息至节点调用信息表;JVM-Adaptor处理层通过JVM-AGENT监听层获取跟踪对象的跟踪信息;其中,JVM-AGENT监听层通过JVMTI接口层获取跟踪对象的跟踪信息;结束调用时,JVM-Adaptor处理层根据所述跟踪信息生成本节点对应的跟踪信息链树结构数据;以及根据所述节点调用信息表判断本节点对应的链路数据是否收集完毕;若链路数据收集完毕并本节点的节点粒度开关为开,则发送所述跟踪信息链树结构数据至所述消费方信息对应的消费方所在的消息子队列,适合于金融机构在搭建可伸缩的分布式银行系统过程中,对分布式银行系统的进行监测,能够减少监测时的处理工作量,进而提高处理的效率。

本发明实施例提供一种能够实现所述分布式系统的监测方法中全部内容的分布式系统的监测装置的具体实施方式,参见图8,所述分布式系统的监测装置具体包括如下内容:

节点调用单元10,用于通过交易链路接入层接收调用时,存储消费方信息和交易方信息至节点调用信息表;

跟踪信息获取单元20,用于采用JVM-Adaptor处理层通过JVM-AGENT监听层获取跟踪对象的跟踪信息;其中,JVM-AGENT监听层通过JVMTI接口层获取跟踪对象的跟踪信息;

链树结构单元30,用于结束调用时,JVM-Adaptor处理层根据所述跟踪信息生成本节点对应的跟踪信息链树结构数据;以及根据所述节点调用信息表判断本节点对应的链路数据是否收集完毕;

消息发送单元40,用于若链路数据收集完毕并本节点的节点粒度开关为开,则JVM-Adaptor处理层发送所述跟踪信息链树结构数据至所述消费方信息对应的消费方所在的消息子队列。

进一步地,还包括:

树状视图单元,用于根据所述跟踪信息链树结构数据生成跟踪信息树状视图数据;

树状视图发送单元,用于将所述跟踪信息树状视图数据发送至所述消费方所分配的子队列中。

其中,所述节点调用单元包括:

消费节点子单元,用于存储本次交易事务中所述消费方信息至节点调用信息表;其中,所述消费方信息包括:父节点ID和事件ID;

交易节点子单元,用于存储本次交易事务中所述交易方信息至节点调用信息表;其中,所述交易方信息包括:子节点调用序号、子节点ID和子节点调用方式。

其中,所述JVM-Adaptor处理层包括:跟踪数据堆栈和链树结构处理;

其中,所述跟踪数据堆栈用于存储跟踪信息;

所述链树结构处理用于从跟踪数据堆栈中获取跟踪信息并生成跟踪信息链树结构数据,还用于根据所述节点调用信息表判断本节点对应的链路数据是否收集完毕。

其中,所述链树结构单元包括:

链树结构子单元,用于接收通过JDI接口传输的内核调试信息,将所述跟踪信息和所述内核调试信息进行整合处理,得到跟踪信息链树结构数据。

进一步地,还包括:

可视化处理单元,用于对所述跟踪信息树状视图数据进行可视化处理得到可视化数据;

可视化数据调用单元,用于通过API接口供图形化工作台调用所述可视化数据。

本发明提供的分布式系统的监测装置的实施例具体可以用于执行上述实施例中的分布式系统的监测方法的实施例的处理流程,其功能在此不再赘述,可以参照上述方法实施例的详细描述。

从上述描述可知,本发明实施例提供的分布式系统的监测装置,通过交易链路接入层接收调用时,存储消费方信息和交易方信息至节点调用信息表;JVM-Adaptor处理层通过JVM-AGENT监听层获取跟踪对象的跟踪信息;其中,JVM-AGENT监听层通过JVMTI接口层获取跟踪对象的跟踪信息;结束调用时,JVM-Adaptor处理层根据所述跟踪信息生成本节点对应的跟踪信息链树结构数据;以及根据所述节点调用信息表判断本节点对应的链路数据是否收集完毕;若链路数据收集完毕并本节点的节点粒度开关为开,则发送所述跟踪信息链树结构数据至所述消费方信息对应的消费方所在的消息子队列,适合于金融机构在搭建可伸缩的分布式银行系统过程中,对分布式银行系统的进行监测,能够减少监测时的处理工作量,进而提高处理的效率。

本申请提供一种用于实现所述分布式系统的监测方法中的全部或部分内容的电子设备的实施例所述电子设备具体包含有如下内容:

处理器(processor)、存储器(memory)、通信接口(Communications Interface)和总线;其中,所述处理器、存储器、通信接口通过所述总线完成相互间的通信;所述通信接口用于实现相关设备之间的信息传输;该电子设备可以是台式计算机、平板电脑及移动终端等,本实施例不限于此。在本实施例中,该电子设备可以参照实施例用于实现所述分布式系统的监测方法的实施例及用于实现所述分布式系统的监测装置的实施例进行实施,其内容被合并于此,重复之处不再赘述。

图9为本申请实施例的电子设备9600的系统构成的示意框图。如图9所示,该电子设备9600可以包括中央处理器9100和存储器9140;存储器9140耦合到中央处理器9100。值得注意的是,该图9是示例性的;还可以使用其他类型的结构,来补充或代替该结构,以实现电信功能或其他功能。

一实施例中,分布式系统的监测功能可以被集成到中央处理器9100中。其中,中央处理器9100可以被配置为进行如下控制:

通过交易链路接入层接收调用时,存储消费方信息和交易方信息至节点调用信息表;JVM-Adaptor处理层通过JVM-AGENT监听层获取跟踪对象的跟踪信息;其中,JVM-AGENT监听层通过JVMTI接口层获取跟踪对象的跟踪信息;结束调用时,JVM-Adaptor处理层根据所述跟踪信息生成本节点对应的跟踪信息链树结构数据;以及根据所述节点调用信息表判断本节点对应的链路数据是否收集完毕;若链路数据收集完毕并本节点的节点粒度开关为开,则发送所述跟踪信息链树结构数据至所述消费方信息对应的消费方所在的消息子队列。

从上述描述可知,本申请的实施例提供的电子设备,通过交易链路接入层接收调用时,存储消费方信息和交易方信息至节点调用信息表;JVM-Adaptor处理层通过JVM-AGENT监听层获取跟踪对象的跟踪信息;其中,JVM-AGENT监听层通过JVMTI接口层获取跟踪对象的跟踪信息;结束调用时,JVM-Adaptor处理层根据所述跟踪信息生成本节点对应的跟踪信息链树结构数据;以及根据所述节点调用信息表判断本节点对应的链路数据是否收集完毕;若链路数据收集完毕并本节点的节点粒度开关为开,则发送所述跟踪信息链树结构数据至所述消费方信息对应的消费方所在的消息子队列,适合于金融机构在搭建可伸缩的分布式银行系统过程中,对分布式银行系统的进行监测,能够减少监测时的处理工作量,进而提高处理的效率。

在另一个实施方式中,分布式系统的监测装置可以与中央处理器9100分开配置,例如可以将分布式系统的监测配置为与中央处理器9100连接的芯片,通过中央处理器的控制来实现分布式系统的监测功能。

如图9所示,该电子设备9600还可以包括:通信模块9110、输入单元9120、音频处理器9130、显示器9160、电源9170。值得注意的是,电子设备9600也并不是必须要包括图9中所示的所有部件;此外,电子设备9600还可以包括图9中没有示出的部件,可以参考现有技术。

如图9所示,中央处理器9100有时也称为控制器或操作控件,可以包括微处理器或其他处理器装置和/或逻辑装置,该中央处理器9100接收输入并控制电子设备9600的各个部件的操作。

其中,存储器9140,例如可以是缓存器、闪存、硬驱、可移动介质、易失性存储器、非易失性存储器或其它合适装置中的一种或更多种。可储存上述与失败有关的信息,此外还可存储执行有关信息的程序。并且中央处理器9100可执行该存储器9140存储的该程序,以实现信息存储或处理等。

输入单元9120向中央处理器9100提供输入。该输入单元9120例如为按键或触摸输入装置。电源9170用于向电子设备9600提供电力。显示器9160用于进行图像和文字等显示对象的显示。该显示器例如可为LCD显示器,但并不限于此。

该存储器9140可以是固态存储器,例如,只读存储器(ROM)、随机存取存储器(RAM)、SIM卡等。还可以是这样的存储器,其即使在断电时也保存信息,可被选择性地擦除且设有更多数据,该存储器的示例有时被称为EPROM等。存储器9140还可以是某种其它类型的装置。存储器9140包括缓冲存储器9141(有时被称为缓冲器)。存储器9140可以包括应用/功能存储部9142,该应用/功能存储部9142用于存储应用程序和功能程序或用于通过中央处理器9100执行电子设备9600的操作的流程。

存储器9140还可以包括数据存储部9143,该数据存储部9143用于存储数据,例如联系人、数字数据、图片、声音和/或任何其他由电子设备使用的数据。存储器9140的驱动程序存储部9144可以包括电子设备的用于通信功能和/或用于执行电子设备的其他功能(如消息传送应用、通讯录应用等)的各种驱动程序。

通信模块9110即为经由天线9111发送和接收信号的发送机/接收机9110。通信模块(发送机/接收机)9110耦合到中央处理器9100,以提供输入信号和接收输出信号,这可以和常规移动通信终端的情况相同。

基于不同的通信技术,在同一电子设备中,可以设置有多个通信模块9110,如蜂窝网络模块、蓝牙模块和/或无线局域网模块等。通信模块(发送机/接收机)9110还经由音频处理器9130耦合到扬声器9131和麦克风9132,以经由扬声器9131提供音频输出,并接收来自麦克风9132的音频输入,从而实现通常的电信功能。音频处理器9130可以包括任何合适的缓冲器、解码器、放大器等。另外,音频处理器9130还耦合到中央处理器9100,从而使得可以通过麦克风9132能够在本机上录音,且使得可以通过扬声器9131来播放本机上存储的声音。

本发明的实施例还提供能够实现上述实施例中的分布式系统的监测方法中全部步骤的一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中的分布式系统的监测方法的全部步骤,例如,所述处理器执行所述计算机程序时实现下述步骤:

通过交易链路接入层接收调用时,存储消费方信息和交易方信息至节点调用信息表;JVM-Adaptor处理层通过JVM-AGENT监听层获取跟踪对象的跟踪信息;其中,JVM-AGENT监听层通过JVMTI接口层获取跟踪对象的跟踪信息;结束调用时,JVM-Adaptor处理层根据所述跟踪信息生成本节点对应的跟踪信息链树结构数据;以及根据所述节点调用信息表判断本节点对应的链路数据是否收集完毕;若链路数据收集完毕并本节点的节点粒度开关为开,则发送所述跟踪信息链树结构数据至所述消费方信息对应的消费方所在的消息子队列。

从上述描述可知,本发明实施例提供的计算机可读存储介质,通过交易链路接入层接收调用时,存储消费方信息和交易方信息至节点调用信息表;JVM-Adaptor处理层通过JVM-AGENT监听层获取跟踪对象的跟踪信息;其中,JVM-AGENT监听层通过JVMTI接口层获取跟踪对象的跟踪信息;结束调用时,JVM-Adaptor处理层根据所述跟踪信息生成本节点对应的跟踪信息链树结构数据;以及根据所述节点调用信息表判断本节点对应的链路数据是否收集完毕;若链路数据收集完毕并本节点的节点粒度开关为开,则发送所述跟踪信息链树结构数据至所述消费方信息对应的消费方所在的消息子队列,适合于金融机构在搭建可伸缩的分布式银行系统过程中,对分布式银行系统的进行监测,能够减少监测时的处理工作量,进而提高处理的效率。

虽然本发明提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或客户端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。

本领域技术人员应明白,本说明书的实施例可提供为方法、装置(系统)或计算机程序产品。因此,本说明书实施例可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。本发明并不局限于任何单一的方面,也不局限于任何单一的实施例,也不局限于这些方面和/或实施例的任意组合和/或置换。而且,可以单独使用本发明的每个方面和/或实施例或者与一个或更多其他方面和/或其实施例结合使用。

最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围,其均应涵盖在本发明的权利要求和说明书的范围当中。

相关技术
  • 一种分布式系统的监测方法及装置
  • 分布式系统运行状态监测方法、装置、设备及存储介质
技术分类

06120112811119