1.本公开涉及软件开发技术领域,尤其涉及一种业务流程跟踪的方法和装置。
背景技术:2.现有技术中对于较复杂的系统,在其运行过程中如果出现问题,通常采用基于日志的业务流程跟踪或基于调用链平台的业务流程跟踪。对于基于日志的业务流程跟踪,首先很难对开发人员在日志打印的规范性上进行强制的技术性约束,并且大量日志跟业务代码耦合在一起,增加了开发工作量,降低了代码可读性,不能快速的定位问题。对于基于调用链平台的业务流程跟踪,往往只能反映出系统间的方法调用关系,很难对系统内的方法调用关系做出描述。
技术实现要素:3.本公开提供一种业务流程跟踪的方法和装置,实现了在业务流程跟踪系统中既能体现系统间的方法调用关系,又能体现系统内的方法调用关系。
4.第一方面,本公开提供一种业务流程跟踪的方法,应用于业务流程跟踪系统,该方法包括:
5.获得目标业务系统的调用数据,其中,所述调用数据包括目标业务系统间调用数据和目标业务系统内方法间调用数据;
6.基于所述方法的执行结果判断所述目标业务系统是否存在问题;
7.在确定所述目标业务系统存在问题的情况下,对所述调用数据进行查询,获取对应的问题数据;
8.对所述问题数据进行分析,获取所述问题数据对应的方法调用关系,并基于所述方法调用关系生成用于跟踪业务流程的树状调用链结构。
9.根据本公开提供的业务流程跟踪的方法,在所述获得目标业务系统的调用数据之前,所述方法还包括:
10.对于每次所述业务系统间的方法调用,为当次所述业务系统间调用的业务系统分配不同的业务标识,并为当次所述业务系统间调用分配对应的调用标识;根据所述调用标识和所述业务标识之间的上下游关系,生成并存储所述业务系统间的方法调用数据;
11.对于每次业务系统内的方法调用,收集所述方法的注解数据,基于所述注解数据生成所述方法对应的方法调用栈数据,基于所述方法调用栈数据,生成并存储所述业务系统内的方法调用数据;其中,每个所述方法添加有对应的注解数据;
12.将所述业务系统间的方法调用数据和所述业务系统内的方法调用数据渲染至可视化平台中。
13.根据本公开提供的业务流程跟踪的方法,所述获得目标业务系统的调用数据包括:
14.确定所述目标业务系统以及所述目标业务系统对应的类数据包,调用所述类数据
包获得所述目标业务系统的调用数据。
15.根据本公开提供的业务流程跟踪的方法,所述对所述问题数据进行分析,获取所述问题数据对应的方法调用关系,包括:
16.对所述问题数据进行分析,获取所述目标业务系统标识、目标业务系统内的方法标识及其方法调用关系。
17.根据本公开提供的业务流程跟踪的方法,在所述生成用于跟踪业务流程的树状调用链结构之后,所述方法还包括:
18.遍历所述树状调用链结构,将所述树状调用链结构中的所述目标业务系统标识、目标业务系统内的方法标识及其方法调用关系渲染至所述可视化平台中。
19.根据本公开提供的业务流程跟踪的方法,所述将所述树状调用链结构中的所述目标业务系统标识、目标业务系统内的方法标识及其方法调用关系渲染至所述可视化平台中,包括:
20.确定树状调用链结构中的每个方法标识对应的方法,将所述执行结果失败的方法对应的方法标识设置为高亮显示,并将所述方法标识及其方法调用关系渲染至所述可视化平台中。
21.第二方面,本公开提供一种业务流程跟踪的装置,设置于业务流程跟踪系统,该装置包括:
22.获得模块,用于获得目标业务系统的调用数据,其中,所述调用数据包括目标业务系统间的方法调用数据和目标业务系统内的方法调用数据;
23.判断模块,用于基于所述方法的执行结果判断所述目标业务系统是否存在问题;
24.查询模块,用于在确定所述目标业务系统存在问题的情况下,对所述调用数据进行查询,获取对应的问题数据;
25.分析模块,用于对所述问题数据进行分析,获取所述问题数据对应的方法调用关系,并基于所述方法调用关系生成用于跟踪业务流程的树状调用链结构。
26.第三方面,本公开提供一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一项所述的业务流程跟踪的方法的步骤。
27.第四方面,本公开提供一种非暂态计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任一项所述的业务流程跟踪的方法的步骤。
28.第五方面,本公开提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一项所述的业务流程跟踪的方法的步骤。
29.本公开提供的一种业务流程跟踪的方法和装置,通过获得目标业务系统的调用数据,其中,调用数据包括目标业务系统间的方法调用数据和目标业务系统内的方法调用数据,从而可以为后续步骤中的业务系统间的方法调用关系以及业务系统内的方法调用关系提供依据;然后在通过方法的执行结果确定所述目标业务系统存在问题的情况下,对所述调用数据进行查询,获取对应的问题数据;对所述问题数据进行分析,获取问题数据对应的方法调用关系,并基于方法调用关系生成用于跟踪业务流程的树状调用链结构,从而实现了在业务流程跟踪系统中既能体现系统间的方法调用关系,又能体现系统内的方法调用关系。
附图说明
30.为了更清楚地说明本公开或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
31.图1是本公开实施例提供的一种业务流程跟踪的方法流程示意图;
32.图2是本公开实施例提供的获得目标业务系统的调用数据之前的流程示意图;
33.图3是本公开实施例提供的一次完整的业务系统的调用流程示意图;
34.图4是本公开实施例提供的业务流程跟踪方法的架构流程示意图;
35.图5是本公开实施例提供的业务流程跟踪方法的具体流程步骤示意图;
36.图6是本公开实施例提供的业务流程跟踪的装置的结构示意图;
37.图7是本公开提供的一种电子设备的实体结构示意图。
具体实施方式
38.为使本公开的目的、技术方案和优点更加清楚,下面将结合本公开中的附图,对本公开中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
39.本公开实施例提供的一种业务流程跟踪的方法,应用于业务流程跟踪系统。参照图1所示,为本公开实施例提供的一种业务流程跟踪的方法流程示意图,该方法包括:
40.110,获得目标业务系统的调用数据,其中,调用数据包括目标业务系统间的方法调用数据和目标业务系统内的方法调用数据。
41.该步骤中,业务系统是终端中运行的应用程序的业务系统,目标业务系统是在众多的业务系统中选出的进行运行操作的一个系统。根据应用场景的不同,目标业务系统可以是任意的业务系统。目标业务系统可以为智能网业务系统、短信业务系统、邮件业务系统或视频电话业务系统等。然而应当理解,这仅仅出于示例的目的,而无意于限制本公开的范围。
42.具体地,调用数据指的是调用某一目标业务系统所需要的数据,比如,在目标业务系统为邮件业务系统的情况下,调用数据可以包括邮件业务系统间的方法调用数据和邮件系统内的方法调用数据,具体的邮件业务系统间的方法调用数据可以为邮件服务器数据或邮件传输协议的数据等,邮件系统内的方法调用数据可以为读取邮件数据等。
43.比如,存在两个业务系统,业务系统a和业务系统b,业务系统a中包括方法a和b,在业务系统b中包括方法c,业务系统a中的方法b调用了业务系统b中的方法c。
44.目标业务系统间的方法调用数据指的是业务系统a中的方法b
45.调用了业务系统b中的方法c。
46.目标业务系统内的方法调用数据指的是业务系统a中的方法a
47.调用了业务系统a中的方法b。
48.120,基于所述方法的执行结果判断目标业务系统是否存在问题。
49.该步骤中,以目标业务系统为邮件业务系统为例,调用数据包括邮件业务系统间
的方法调用数据—邮件传输协议的数据;邮件系统内的方法调用数据—读取邮件数据,在一方执行发送邮件操作之后,另一方反馈的结果是并未收到该邮件,具体的,另一方反馈的执行结果是邮件传输协议的数据和读取邮件数据两个方法的执行结果,由这两个方法的执行结果判断邮件业务系统是否存在问题。
50.130,在确定目标业务系统存在问题的情况下,对调用数据进行查询,获取对应的问题数据。
51.该步骤中,在确定目标业务系统存在问题的情况下,指的是目标业务系统在运行过程中,由于某种原因,造成目标业务系统停止运行,以致事务在执行过程中以非正常的方式终止,则判定这种情况为目标业务系统出现问题。
52.问题数据为与目标业务系统中存在的问题相关的数据,调用数据中包括多种数据,所以在调用数据中进行查询,获取与目标业务系统中存在的问题对应的问题数据。
53.140,对问题数据进行分析,获取问题数据对应的方法调用关系,并基于方法调用关系生成用于跟踪业务流程的树状调用链结构。
54.该步骤中,树状调用链结构指的是在完成一次调用业务系统的过程中,把业务系统之间的调用信息(时间、接口、层次、结果)打点到日志中,然后将所有的打点数据连接为一个树状链条就产生了一个调用链。树状调用链结构可以包括调用链打点,调用链数据收集,调用链数据存储和处理,调用链数据检索等若干重要组件。
55.生成用于跟踪业务流程的树状调用链结构,可以实现跟踪业务流程系统把过程中产生的日志信息进行分析处理,将目标业务系统执行完整的调用过程进行还原,根据不同维度进行统计分析,从而标识出在运行过程中出现异常的目标业务系统标识和目标业务系统内的方法标识。
56.本公开提供的一种业务流程跟踪的方法,通过获得目标业务系统的调用数据,其中,调用数据包括目标业务系统间的方法调用数据和目标业务系统内的方法调用数据,从而可以为后续步骤中的业务系统间的方法调用关系以及业务系统内的方法调用关系提供依据;然后在通过方法的执行结果确定所述目标业务系统存在问题的情况下,对所述调用数据进行查询,获取对应的问题数据;对所述问题数据进行分析,获取问题数据对应的方法调用关系,并基于方法调用关系生成用于跟踪业务流程的树状调用链结构,从而实现了在业务流程跟踪系统中既能体现系统间的方法调用关系,又能体现系统内的方法调用关系。
57.基于上述任一实施例,业务流程跟踪系统包括数据可视化服务。
58.参照图2所示,为本公开实施例提供的获得目标业务系统的调用数据之前的流程示意图,具体包括:
59.210,对于每次业务系统间的方法调用,为当次业务系统间调用的业务系统分配不同的业务标识,并为当次业务系统间调用分配对应的调用标识;根据调用标识和业务标识之间的上下游关系,生成并存储业务系统间的方法调用数据。
60.该步骤中,业务标识是用来识别业务系统的一种记号,不同的业务系统对应不同的业务标识。
61.调用标识是用来识别每一次调用的一种记号,对每一次调用都有对应的调用标识。
62.上下游关系可以理解为在每次调用和每次调用的业务系统之间,每次调用为上
游,调用的业务系统为下游,每次调用有对应的调用标识,调用的业务系统有对应的业务系统标识,将调用标识和业务系统标识之间的关系称为上下游关系。
63.并且,在上下游关系中包括具体调用业务系统内的哪一个方法,比如,存在两个业务系统,业务系统a和业务系统b,业务系统a中包括方法a和b,在业务系统b中包括方法c,在上下游关系中包括业务系统a中的方法b调用了业务系统b中的方法这种情况下的关系。
64.220,对于每次业务系统内的方法调用,收集方法的注解数据,基于注解数据生成方法对应的方法调用栈数据,基于方法调用栈数据,生成并存储业务系统内的方法调用数据;其中,每个方法添加有对应的注解数据。
65.该步骤中,注解数据可以为java注解数据,java注解(annotation)又称java标注,是jdk5.0引入的一种注释机制。注解(annotation)就是java提供了一种为程序元素关联任何信息或任何元数据(metadata)的途径和方法。具体的可以通过反射来获取指定程序元素的annotion对象,然后通过annotion对象来获取注解里面的元数据。java语言中的类、方法、变量、参数和包等都可以被注解。
66.方法调用栈数据可以为callstack数据,指的是程序运行时函数的调用过程中生成的数据。调用过程可以理解为:a函数调用了b函数,那么程序执行到b函数的时候,callstack里就会有a函数,因为函数调用时需要把当前函数入栈,在b函数执行完毕后再从堆栈里将a函数取出,以让程序指针回到a函数。
67.230,将业务系统间的方法调用数据和业务系统内的方法调用数据渲染至可视化平台中。
68.该步骤中,具体是通过业务流程跟踪系统中的数据可视化服务将业务系统间调用数据和业务系统内方法间调用数据渲染至可视化平台中。
69.具体地,数据可视化服务主要旨在借助于图形化手段,清晰有效地传达与沟通调用数据。数据可视化服务的基本思想,是将数据存储服务中的调用数据中的每个数据作为单个图元元素表示,大量的数据构成数据图像,同时将调用数据中的每个数据的各个属性值以多维数据的形式表示,可以从不同的维度观察每个数据,从而对调用数据进行更深入的观察和分析。
70.对应地,可视化平台是数据可视化服务中用来展示数据信息的一个载体,具体用来展示数据可视化服务中的调用数据的信息。
71.对生成并存储业务系统间调用数据和业务系统内方法间调用数据进一步解释说明,参照图3所示,为本公开实施例提供的一次完整的业务系统的调用流程示意图。
72.首先对这一次业务系统的调用分配调用标识m,从图中可以看出在这次业务系统的调用流程中涉及到了两个系统,为这次业务系统间调用的业务系统分配不同的业务标识,分别为系统a和系统b,每个业务系统内部又有各自的方法间的调用,用方法a、b、c和d表示。
73.整个业务系统的调用流程可以为:流程的入口是系统a的方法a,方法a里面又先后调用了方法b,方法c和方法d。其中方法c里面调用了系统b的方法a,而系统b的方法a内部又先后调用了方法b和方法c。
74.基于上述任一实施例,步骤110具体包括:
75.确定目标业务系统以及目标业务系统对应的类数据包,调用类数据包获得目标业
务系统的调用数据。
76.该步骤中,类数据包可以为jar包,jar包指的是已经写好的一些类,然后将这些类进行打包,将jar包引入到目标业务系统中,然后目标业务系统就可以直接使用jar包中的数据。
77.通过引入jar包进行收集目标业务系统的调用数据可以减少对正常业务流程的性能影响。
78.基于上述任一实施例,业务流程跟踪系统还包括数据发送服务和数据存储服务。
79.在步骤130之前,具体包括下述步骤131~132:
80.131、调用数据发送服务接收调用数据,并将调用数据存储在数据存储服务中。
81.该步骤中,数据发送服务可以通过mq的方式接收采集的调用数据。mq(message queue)指的是消息队列,消息队列是分布式系统中重要的组件,是系统间通讯的一种手段,主要解决应用解耦,异步消息,流量削锋等问题,实现高性能,高可用,可伸缩和最终一致性。
82.对应地,消息队列是基础数据结构中“先进先出”的一种数据结构。可以理解的是把调用数据放在消息队列中,用队列机制来实现调用数据的传递,也就是说待跟踪的业务系统把调用数据放在消息队列中,然后由数据发送服务接收调用数据。
83.通过使用mq的方式能够进一步实现异步化解耦,增加业务流程跟踪系统的吞吐能力。
84.具体地,数据存储服务可以借助es数据库对调用数据进行存储,即将调用数据存储在es数据库中。将调用数据存入es数据库中可以采用异步方式,能够减少网络请求次数和es数据库的压力。
85.es(elasticsearch)是一种提供海量数据存储的中间件,并且支持基于数据内容的模糊查询功能。
86.132、调用数据可视化服务读取数据存储服务中的调用数据。
87.该步骤中,读取指的是将数据存储服务中的调用数据载入到数据可视化服务中的过程。
88.具体地,调用数据可视化服务读取es数据库中的调用数据。
89.基于上述任一实施例,步骤130具体包括:对调用数据进行查询,获取对应的问题数据,包括:
90.根据数据可视化服务在调用数据中进行查询,获取对应的问题数据。
91.该步骤中,由于es支持基于数据内容的模糊查询功能,所以利用es的查询功能在调用数据中进行查询,获取对应的问题数据。
92.基于上述任一实施例,步骤140具体包括:
93.对问题数据进行分析,获取目标业务系统标识、目标业务系统内的方法标识及其方法调用关系。
94.该步骤中,具体是通过业务流程跟踪系统中的数据可视化服务对问题数据进行分析。
95.基于上述任一实施例,在步骤140中的生成用于跟踪业务流程的树状调用链结构之后,方法还包括步骤150:
96.150、遍历树状调用链结构,将树状调用链结构中的目标业务系统标识、目标业务系统内的方法标识及其方法调用关系渲染至可视化平台中。
97.基于上述任一实施例,步骤150具体为:
98.确定树状调用链结构中的每个方法标识对应的方法,将所述执行结果失败的方法对应的方法标识设置为高亮显示,并将所述方法标识及其方法调用关系渲染至所述可视化平台中。
99.该步骤中,得到执行结果具体可以通过spel表达式的方法进行得到。spel(spring expression language)是spring提供的一种表达式语言,可对运行时的调用结果进行逻辑或者算数运算。spel支持标准数学运算符,关系运算符,逻辑运算符,条件运算符,集合和正则表达式等。spel有三种用法,一种是在注解@value中;一种是xml配置;最后一种是在代码块中使用expression。本公开的实施例不对spel的用法进行限定。
100.进行高亮显示是为了区别于正常显示,当执行结果为失败时,意味着业务流程跟踪系统在运行操作中出现问题,在调用数据中找到问题数据,将问题数据对应的方法调用关系中的方法标识设置为高亮显示,并将方法标识及其方法调用关系渲染至可视化平台中。
101.对应地,当执行结果为成功时,意味着业务流程跟踪系统在运行操作中没有出现问题,则将方法标识正常显示,并将方法标识及其方法调用关系渲染至可视化平台中。
102.进一步地,对本公开的实施做进一步补充说明:
103.本公开实施例提供的一种业务流程跟踪的方法,应用于业务流程跟踪系统。包括数据可视化服务、数据发送服务和数据存储服务。
104.在进行整个业务流程跟踪方法的流程之前,需要生成并存储业务系统间的方法调用数据和业务系统内的方法调用数据。
105.生成系统间的方法调用数据的过程为:对于每次业务系统间的方法调用,为当次业务系统间调用的业务系统分配不同的业务标识,并为当次业务系统间调用分配对应的调用标识;根据调用标识和业务标识之间的上下游关系,生成并存储业务系统间的方法调用数据。
106.生成系统内的方法调用数据的过程为:对于每次业务系统内的方法间调用,收集方法的java注解数据,基于java注解数据生成方法对应的callstack数据,基于callstack数据,生成并存储业务系统内的方法调用数据;其中,每个方法添加有对应的java注解数据。
107.参照图4所示,为本公开实施例提供的业务流程跟踪方法的架构流程示意图,从图中可看出,包括:邮件业务系统jar包410、mq420、es430、数据查询440、数据分析450、树状调用链结构460、spel470、可视化平台480。具体的流程步骤参照图5所示。
108.参照图5所示,为本公开实施例提供的业务流程跟踪方法的具体流程步骤示意图,其中,以目标业务系统为邮件业务系统,具体包括下述步骤510~580:
109.510、确定邮件业务系统,通过邮件业务系统对应的jar包获得邮件业务系统的调用数据,其中,调用数据包括邮件业务系统间的方法调用数据和邮件业务系统内的方法调用数据。
110.520、调用数据发送服务通过mq的方式接收调用数据,并调用数据存储服务将调用
数据存储在es数据库中,且调用数据可视化服务读取es数据库中的调用数据。
111.530、通过方法的执行结果判断邮件业务系统是否存在问题,在邮件业务系统存在问题的情况下,根据所述数据可视化服务在所述调用数据中进行查询,获取对应的问题数据。
112.540、根据数据可视化服务对问题数据进行分析,获取问题数据对应的方法调用关系,其中,方法调用关系包括邮件业务系统标识、邮件业务系统内方法标识及其方法调用关系。
113.550、基于方法调用关系生成用于跟踪业务流程的树状调用链结构。
114.560、确定树状调用链结构中的每个方法标识对应的方法,将获取的执行结果为失败的方法对应的方法标识设置为高亮显示,并将方法标识及其方法调用关系渲染至可视化平台中。
115.基于上述任一实施例,图6为本公开实施例提供的业务流程跟踪的装置的结构示意图,设置于业务流程跟踪系统,该装置包括:
116.获得模块610,用于获得目标业务系统的调用数据,其中,所述调用数据包括目标业务系统间的方法调用数据和目标业务系统内的方法调用数据。
117.判断模块620,用于基于所述方法的执行结果判断所述目标业务系统是否存在问题。
118.查询模块630,用于在确定所述目标业务系统存在问题的情况下,对所述调用数据进行查询,获取对应的问题数据。
119.分析模块640,用于对所述问题数据进行分析,获取所述问题数据对应的方法调用关系,并基于所述方法调用关系生成用于跟踪业务流程的树状调用链结构。
120.本公开提供的一种业务流程跟踪的装置,通过获得目标业务系统的调用数据,其中,调用数据包括目标业务系统间的方法调用数据和目标业务系统内的方法调用数据,从而可以为后续步骤中的业务系统间的方法调用关系以及业务系统内的方法调用关系提供依据;然后在通过方法的执行结果确定所述目标业务系统存在问题的情况下,对所述调用数据进行查询,获取对应的问题数据;对所述问题数据进行分析,获取问题数据对应的方法调用关系,并基于方法调用关系生成用于跟踪业务流程的树状调用链结构,从而实现了在业务流程跟踪系统中既能体现系统间的方法调用关系,又能体现系统内的方法调用关系。
121.基于上述任一实施例,所述业务流程跟踪系统包括数据可视化服务。
122.在所述确定模块610之前,所述装置还包括:
123.分配模块,用于对于每次所述业务系统间的方法调用,为当次所述业务系统间调用的业务系统分配不同的业务标识,并为当次所述业务系统间调用分配对应的调用标识;根据所述调用标识和所述业务标识之间的上下游关系,生成并存储所述业务系统间的方法调用数据。
124.调用模块,用于对于每次业务系统内的方法调用,收集所述方法的注解数据,基于所述注解数据生成所述方法对应的方法调用栈数据,基于所述方法调用栈数据,生成并存储所述业务系统内的方法调用数据;其中,每个所述方法添加有对应的注解数据。
125.渲染模块,用于将所述业务系统间的方法调用数据和所述业务系统内的方法调用数据渲染至可视化平台中。
126.基于上述任一实施例,确定模块610具体用于:
127.确定所述目标业务系统以及所述目标业务系统对应的类数据包,调用所述类数据包获得所述目标业务系统的调用数据。
128.基于上述任一实施例,分析模块640具体用于:
129.对所述问题数据进行分析,获取所述目标业务系统标识、目标业务系统内的方法标识及其方法调用关系。
130.基于上述任一实施例,所述装置还包括:遍历模块,用于遍历所述树状调用链结构,将所述树状调用链结构中的所述目标业务系统标识、目标业务系统内的方法标识及其方法调用关系渲染至所述可视化平台中。
131.基于上述任一实施例,所述遍历模块具体用于:
132.确定树状调用链结构中的每个方法标识对应的方法,将所述执行结果失败的方法对应的方法标识设置为高亮显示,并将所述方法标识及其方法调用关系渲染至所述可视化平台中。
133.图7示例了一种电子设备的实体结构示意图,如图7所示,该电子设备可以包括:处理器(processor)710、通信接口(communications interface)720、存储器(memory)730和通信总线740,其中,处理器710,通信接口720,存储器730通过通信总线740完成相互间的通信。处理器710可以调用存储器730中的逻辑指令,以执行一种业务流程跟踪的方法,该方法包括:获得目标业务系统的调用数据,其中,所述调用数据包括目标业务系统间的方法调用数据和目标业务系统内的方法调用数据;基于方法的执行结果判断所述目标业务系统是否存在问题;在确定所述目标业务系统存在问题的情况下,对所述调用数据进行查询,获取对应的问题数据;对所述问题数据进行分析,获取所述问题数据对应的方法调用关系,并基于所述方法调用关系生成用于跟踪业务流程的树状调用链结构。
134.此外,上述的存储器730中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
135.另一方面,本公开还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,计算机程序可存储在非暂态计算机可读存储介质上,所述计算机程序被处理器执行时,计算机能够执行上述各方法所提供的一种业务流程跟踪的方法,该方法包括:获得目标业务系统的调用数据,其中,所述调用数据包括目标业务系统间的方法调用数据和目标业务系统内的方法调用数据;基于方法的执行结果判断所述目标业务系统是否存在问题;在确定所述目标业务系统存在问题的情况下,对所述调用数据进行查询,获取对应的问题数据;对所述问题数据进行分析,获取所述问题数据对应的方法调用关系,并基于所述方法调用关系生成用于跟踪业务流程的树状调用链结构。
136.又一方面,本公开还提供一种非暂态计算机可读存储介质,其上存储有计算机程
序,该计算机程序被处理器执行时实现以执行上述各方法提供的一种业务流程跟踪的方法,该方法包括:获得目标业务系统的调用数据,其中,所述调用数据包括目标业务系统间的方法调用数据和目标业务系统内的方法调用数据;基于方法的执行结果判断所述目标业务系统是否存在问题;在确定所述目标业务系统存在问题的情况下,对所述调用数据进行查询,获取对应的问题数据;对所述问题数据进行分析,获取所述问题数据对应的方法调用关系,并基于所述方法调用关系生成用于跟踪业务流程的树状调用链结构。
137.以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
138.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
139.最后应说明的是:以上实施例仅用以说明本公开的技术方案,而非对其限制;尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本公开各实施例技术方案的精神和范围。