基于流的业务交易性能管理及可视化方法和装置转让专利

申请号 : CN201510616968.1

文献号 : CN105608517B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 王勇

申请人 : 华青融天(北京)软件股份有限公司

摘要 :

本发明提供了一种基于流的业务交易性能管理及可视化方法和装置,包括:根据预设定义流对采集的应用系统中的被监控交易进行流标记;在被监控交易的流标记完成后,以流标记对应的逻辑组合为粒度进行交易性能的预处理;对预处理结果进行可视化处理,即将上述流监控扩展到整个应用系统多个节点的监控,实现对用户交易在应用系统内部的处理流程进行追踪和展示,使其显示在对应的监控终端上;本发明通过定义的流预先对被监控交易的每个步骤进行标记,从而先能够使监控指标的计算更精确、更能真实准确刻画应用性能,并且,结合业务流程可视化技术,可以使交易流程可视化成为真正实用的工具,从而大大提高提高了交易性能管理的针对性、准确性和灵活性。

权利要求 :

1.一种基于流的业务交易性能管理及可视化方法,其特征在于,包括:根据预设定义流对采集的应用系统中的被监控交易进行流标记;其中,所述预设定义流用于定义所述被监控交易的分类条件和标准;其中,被监控交易的可标记属性包括:交易的定位属性、交易的属性;对可标记属性进行逻辑组合,得到被监控交易的分类条件和标准:其中,所述逻辑组合包括由逻辑运算符与、或、非定义的逻辑表达式;

在所述被监控交易的流标记完成后,以所述流标记对应的逻辑组合为粒度对流标记的所述被监控交易进行交易性能预处理;所述预处理包括以下处理方式中的一种或多种:统计处理和分析处理;

对得到的预处理结果进行可视化处理,以使得所述预处理结果展示在对应的监控终端上;

所述对得到的预处理结果进行可视化处理包括:

获取被监控交易的业务路径,并根据所述预设定义流对所述业务路径中的每两个节点之间的连接进行流标记;

以每个所述流标记中的入口节点为根节点,梳理所述入口节点对应的树状图;

计算所述树状图中每两个节点之间的节点处理信息,并将所述节点处理信息进行可视化处理;所述节点处理信息包括以下信息中的一种或多种:节点响应时间和节点处理时间;

所述计算所述树状图中每两个节点之间的节点处理信息包括:

获取待计算节点对应的响应时间,所述响应时间为客户端的业务处理请求发送到该节点的时间与所述业务处理请求对应的响应的时间戳之差值;

获取所述待计算节点在进行业务逻辑处理时,调用下游节点服务花费的时间的合计时间;

计算所述响应时间与合计时间的差值,得到所述待计算节点的处理时间;

其中,所述调用下游节点服务花费的时间的合计时间,包括:

获取所述待计算节点的所有子节点的层数和数量;

对所有子节点的层数和数量进行逻辑运算,得到所述合计时间;所述逻辑运算包括以下运算中的一种或多种:同时调用且取调用时间的最大值的运算、按照预设的先后顺序串行调用且取调用时间之和以及预设节点串行n次调用,对应的调用时间为 单次调用的n倍。

2.根据权利要求1所述的基于流的业务交易性能管理及可视化方法,其特征在于,所述计算所述树状图中每两个节点之间的节点处理信息包括:根据公式PT(N)=RT(N)–ΣCT(N)计算所述树状图中每两个节点之间的节点处理信息;

其中,PT(N)表示节点处理时间;RT(N)表示发送到节点N的请求与对应的响应的时间戳之差值;ΣCT(N)表示节点N在进行业务逻辑处理时,调用下游节点服务花费的时间的合计时间。

3.根据权利要求2所述的基于流的业务交易性能管理及可视化方法,其特征在于,所述被监控交易的业务路径包括:路径节点、所述路径节点之间的连接和时间轴;其中,所述路径节点为一个或多个树状图中节点的组合;所述路径节点之间的连接代表所述路径节点之间的调用关系,其中,一个连接与一个或者多个预设定义流进行绑定;所述时间轴用于指定业务路径可视化指标的时间范围;

所述将所述节点处理信息进行可视化处理包括:

将树状图中所述路径节点的监控指标在所述路径节点上进行可视化;和\或,将流的监控指标在所述连接上进行可视化;和/或,将所述指定业务路径可视化指标的时间范围在所述时间轴上进行可视化;所述时间轴的时间选择包括:当前时刻的实时值和是历史某个时间段的统计值。

4.根据权利要求3所述的基于流的业务交易性能管理及可视化方法,其特征在于,所述根据预设定义流对采集的应用系统中的被监控交易进行流标记包括:将根据预设定义流标记在被监控交易的交易记录上;其中,每一个交易记录被标记为零个或者多个流。

5.根据权利要求1所述的基于流的业务交易性能管理及可视化方法,其特征在于,所述预设定义流的定义方法包括:针对被监控的应用系统定义交易的可标记属性;

对交易的可标记属性进行逻辑组合,确定流的分类条件和标准;所述可标记属性包括以下信息中的一种或多种:交易的定位属性、交易的属性和交易的性能指标。

6.一种基于流的业务交易性能管理及可视化装置,其特征在于,包括:流标记单元,用于根据预设定义流对采集的应用系统中的被监控交易进行流标记;其中,所述预设定义流用于定义所述被监控交易的分类条件和标准;其中,被监控交易的可标记属性包括:交易的定位属性、交易的属性;对可标记属性进行逻辑组合,得到被监控交易的分类条件和标准:其中,所述逻辑组合包括由逻辑运算符与、或、非定义的逻辑表达式;

预处理单元,用于在所述被监控交易的流标记完成后,以所述流标记单元得到的流标记对应的逻辑组合为粒度对流标记的所述被监控交易进行交易性能预处理;所述预处理包括以下处理方式中的一种或多种:统计处理和分析处理;

可视化处理单元,用于对所述预处理单元得到的预处理结果进行可视化处理,以使得所述预处理结果展示在对应的监控终端上;

所述可视化处理单元包括:

获取子单元,用于获取被监控交易的业务路径;

流标记子单元,用于根据所述预设定义流对所述获取子单元获取的所述业务路径中的每两个节点之间的连接进行流标记;

梳理子单元,用于以每个所述流标记子单元进行的流标记中的入口节点为根节点,梳理所述入口节点对应的树状图;

计算子单元,用于计算所述梳理子单元梳理的所述树状图中每两个节点之间的节点处理信息,并将所述节点处理信息进行可视化处理;所述节点处理信息包括以下信息中的一种或多种:节点响应时间和节点处理时间;

所述计算子单元计算所述树状图中每两个节点之间的节点处理信息,包括:获取待计算节点对应的响应时间,所述响应时间为客户端的业务处理请求发送到该节点的时间与所述业务处理请求对应的响应的时间戳之差值;

获取所述待计算节点在进行业务逻辑处理时,调用下游节点服务花费的时间的合计时间;

计算所述响应时间与合计时间的差值,得到所述待计算节点的处理时间;

其中,所述计算子单元调用下游节点服务花费的时间的合计时间,包括:获取所述待计算节点的所有子节点的层数和数量;

对所有子节点的层数和数量进行逻辑运算,得到所述合计时间;所述逻辑运算包括以下运算中的一种或多种:同时调用且取调用时间的最大值的运算、按照预设的先后顺序串行调用且取调用时间之和以及预设节点串行n次调用,对应的调用时间为 单次调用的n倍。

7.根据权利要求6所述的基于流的业务交易性能管理及可视化装置,其特征在于,所述计算子单元包括:计算模块,用于根据公式PT(N)=RT(N)–ΣCT(N)计算所述树状图中每两个节点之间的节点处理信息;其中,PT(N)表示节点处理时间;RT(N)表示发送到节点N的请求与对应的响应的时间戳之差值;ΣCT(N)表示节点N在进行业务逻辑处理时,调用下游节点服务花费的时间的合计时间;

设置模块,用于将所述计算模块的计算结果设置为所述树状图中每两个节点之间的节点处理信息。

说明书 :

基于流的业务交易性能管理及可视化方法和装置

技术领域

[0001] 本发明涉及端到端交易性能管理领域,具体而言,涉及基于流的业务交易性能管理及可视化方法和装置。

背景技术

[0002] 端到端交易性能管理主要是针对计算机系统上运行的应用系统(如银行核心业务系统等)。其中,端到端交易性能管理可以理解为:对应用系统从接收到客户端发出的请求开始,直到将所述请求的响应信息反馈给客户端的整个过程中的每一个步骤的性能、可用性、容量进行监控和管理。
[0003] 其中,现有的端到端交易性能管理技术都是通过抓取数据包等手段从应用系统中获得每一个用户交易的每一个步骤的“请求/响应”对,然后通过对这些“请求/响应”对的统计分析实现端到端的交易性能管理功能。其中,在现有的端到端交易性能管理系统中,在应用系统接收到客户端发送的不同业务指令时,将所有业务指令对应的数据信息均发送至统一的节点进行处理,由统一的节点里在分别对每一种业务数据进行相应的处理。
[0004] 实际上,端到端交易性能管理的管理对象是用户交易,一般情况下业务系统的用户交易会分为多种类型,各种类型的性能管理目标也随着它的优先级,重要程度等等而不同,例如网上银行系统有账户查询类交易、转账交易、理财类交易等等。并且不同类型交易的监控需求可能完全不一样,具体体现为不同的指标计算方法,不同的告警阈值,不同的动态基线算法等等;甚至不同的交易类型,它的端到端交易过程也不相同。
[0005] 并且,交易性能管理的最基本的管理对象是用户发送给应用系统的每一笔交易请求,以及应用系统内部各个节点之间的交易。在进行应用管理时,对应用系统管理者最具有实际意义的通常是对这些交易性能的统计指标,如每秒交易量、每秒平均响应时间、成功率、响应率等等。
[0006] 但是,现有技术中在对交易性能指标进行统计时,无法对监控对象进行实时、精确又可实现简单配置的分类、标记方法,进而实现由针对性的统计、分析、管理;同时无法做到对交易细分类别进行实时的统计,也无法满足监控的实时性要求,以及用户的灵活配置要求。当应用系统提供的服务具有一定的复杂性时,如果只有笼统的统计指标,那根据这些统计指标进行的监控和排障的可用性和效果就会大打折扣,也使得用户也无法通过交易性能管理系统对应用性能进行精确的度量和分析。
[0007] 发明人在研究中发现,现有技术中的端到端交易性能管理技术是对交易进行笼统监控,而根据上述监控下的统计指标进行的监控和排障的可用性和效果均较差。

发明内容

[0008] 本发明的目的在于提供一种基于流的业务交易性能管理及可视化方法和装置,首先能够使监控指标的计算更精确、更能真实准确刻画应用性能,并且,结合业务流程可视化技术,可以使交易流程可视化成为真正实用的工具,从而大大提高提高了交易性能管理的针对性、准确性、和灵活性。
[0009] 第一方面,本发明实施例提供了一种基于流的业务交易性能管理及可视化方法,包括:
[0010] 根据预设定义流对采集的应用系统中的被监控交易进行流标记;其中,所述预设定义流用于定义所述被监控交易的分类条件和标准;
[0011] 在所述被监控交易的流标记完成后,以所述流标记对应的逻辑组合为粒度对流标记的所述被监控交易进行交易性能预处理;所述预处理包括以下处理方式中的一种或多种:统计处理和分析处理;
[0012] 对得到的预处理结果进行可视化处理,以使得所述预处理结果展示在对应的监控终端上。
[0013] 结合第一方面,本发明实施例提供了第一方面的第一种可能的实施方式,其中,所述对得到的预处理结果进行可视化处理包括:
[0014] 获取被监控交易的业务路径,并根据所述预设定义流对所述业务路径中的每两个节点之间的连接进行流标记;
[0015] 以每个所述流标记中的入口节点为根节点,梳理所述入口节点对应的树状图;
[0016] 计算所述树状图中每两个节点之间的节点处理信息,并将所述节点处理信息进行可视化处理;所述节点处理信息包括以下信息中的一种或多种:所述节点响应时间和节点处理时间。
[0017] 结合第一方面的第一种可能的实施方式,本发明实施例提供了第一方面的第二种可能的实施方式,其中,所述计算所述树状图中每两个节点之间的节点处理信息包括:
[0018] 根据公式PT(N)=RT(N)–ΣCT(N)计算所述树状图中每两个节点之间的节点处理信息;其中,PT(N)表示节点处理时间;RT(N)表示发送到节点N的请求与对应的响应的时间戳之差值;ΣCT(N)表示节点N在进行业务逻辑处理时,调用下游节点服务花费的时间的合计时间。
[0019] 结合第一方面的第二种可能的实施方式,本发明实施例提供了第一方面的第三种可能的实施方式,其中,所述调用下游节点服务花费的时间的合计时间,包括:
[0020] 获取所述待计算节点的所有子节点的层数和数量;
[0021] 对所有子节点的层数和数量进行逻辑运算,得到所述合计时间;所述逻辑运算包括以下运算中的一种或多种:同时调用且取调用时间的最大值的运算、按照预设的先后顺序串行调用且取调用时间之和以及预设节点串行n次调用,对应的调用时间单次调用的n倍。
[0022] 结合第一方面的第三种可能的实施方式,本发明实施例提供了第一方面的第四种可能的实施方式,其中,所述被监控交易的业务路径包括:路径节点、所述路径节点之间的连接和时间轴;其中,所述路径节点为一个或多个树状图中节点的组合;所述路径节点之间的连接代表所述路径节点之间的调用关系,其中,一个连接与一个或者多个预设定义流进行绑定;所述时间轴用于指定业务路径可视化指标的时间范围;
[0023] 所述将所述节点处理信息进行可视化处理包括:
[0024] 将树状图中所述路径节点的监控指标在所述路径节点上进行可视化;和\或,将流的监控指标在所述连接上进行可视化;和/或,将所述指定业务路径可视化指标的时间范围在所述时间轴上进行可视化;所述时间轴的时间选择包括:当前时刻的实时值和是历史某个时间段的统计值。
[0025] 结合第一方面的第四种可能的实施方式,本发明实施例提供了第一方面的第五种可能的实施方式,其中,所述根据预设定义流对采集的应用系统中的被监控交易进行流标记包括:
[0026] 将根据预设定义流标记在被监控交易的交易记录上;其中,每一个交易记录被标记为零个至少一个流。
[0027] 结合第一方面,本发明实施例提供了第一方面的第六种可能的实施方式,其中,所述预设定义流的定义方法包括:
[0028] 针对被监控的应用系统定义交易的可标记属性;
[0029] 对交易的可标记属性进行逻辑组合,确定流的分类条件和标准;所述可标记属性包括以下信息中的一种或多种:交易的定位属性、交易的属性和交易的性能指标。
[0030] 第二方面,本发明实施例还提供了一种基于流的业务交易性能管理及可视化装置,包括:
[0031] 流标记单元,用于根据预设定义流对采集的应用系统中的被监控交易进行流标记;其中,所述预设定义流用于定义所述被监控交易的分类条件和标准;
[0032] 预处理单元,用于在所述被监控交易的流标记完成后,以所述流标记单元的流标记对应的逻辑组合为粒度对流标记的所述被监控交易进行交易性能预处理;所述预处理包括以下处理方式中的一种或多种:统计处理和分析处理;
[0033] 可视化处理单元,用于对所述预处理单元得到的预处理结果进行可视化处理,以使得所述预处理结果展示在对应的监控终端上。
[0034] 结合第二方面,本发明实施例提供了第二方面的第一种可能的实施方式,其中,所述可视化处理单元包括:
[0035] 获取子单元,用于获取被监控交易的业务路径;
[0036] 流标记子单元,用于根据所述预设定义流对所述获取子单元获取的所述业务路径中的每两个节点之间的连接进行流标记;
[0037] 梳理子单元,用于以每个所述流标记子单元进行的流标记中的入口节点为根节点,梳理所述入口节点对应的树状图;
[0038] 计算子单元,用于计算所述梳理子单元梳理的所述树状图中每两个节点之间的节点处理信息,并将所述节点处理信息进行可视化处理;所述节点处理信息包括以下信息中的一种或多种:所述节点响应时间和节点处理时间。
[0039] 结合第二方面的第一种可能的实施方式,本发明实施例提供了第二方面的第二种可能的实施方式,其中,所述计算子单元包括:
[0040] 计算模块,用于根据公式PT(N)=RT(N)–ΣCT(N)计算所述树状图中每两个节点之间的节点处理信息;其中,PT(N)表示节点处理时间;RT(N)表示发送到节点N的请求与对应的响应的时间戳之差值;ΣCT(N)表示节点N在进行业务逻辑处理时,调用下游节点服务花费的时间的合计时间;
[0041] 设置模块,用于将所述计算模块的计算结果设置为所述树状图中每两个节点之间的节点处理信息。
[0042] 本发明实施例提供的一种基于流的业务交易性能管理及可视化方法和装置,包括:根据预设定义流对采集的应用系统中的被监控交易进行流标记;然后,在所述被监控交易的流标记完成后,以所述流标记对应的逻辑组合为粒度进行交易性能的统计和分析的预处理,最后将上述预处理的结果进行展示,与现有技术中的端到端交易性能管理技术是对交易进行笼统监控,而根据上述监控下的统计指标进行的监控和排障的可用性和效果就会大打折扣相比,其通过定义的流预先对被监控交易的每个步骤进行标记,从而先能够使监控指标的计算更精确、更能真实准确刻画应用性能,并且,结合业务流程可视化技术,可以使交易流程可视化成为真正实用的工具,从而大大提高提高了交易性能管理的针对性、准确性、和灵活性。
[0043] 为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

附图说明

[0044] 为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
[0045] 图1示出了本发明实施例所提供的一种基于流的业务交易性能管理及可视化方法的流程图;
[0046] 图2示出了本发明实施例所提供的另一种基于流的业务交易性能管理及可视化方法的流程图;
[0047] 图3示出了本发明实施例所提供的树状图的结构示意图;
[0048] 图4示出了本发明实施例所提供的业务路径的结构示意图;
[0049] 图5示出了本发明实施例所提供的一种基于流的业务交易性能管理及可视化装置的结构示意图;
[0050] 图6示出了本发明实施例所提供的一种基于流的业务交易性能管理及可视化装置中可视化处理单元的结构示意图;
[0051] 图7示出了本发明实施例所提供的一种基于流的业务交易性能管理及可视化装置中计算子单元的结构示意图;
[0052] 图8示出了本发明实施例所提供的另一种基于流的业务交易性能管理及可视化装置中计算子单元的结构示意图;
[0053] 图9示出了本发明实施例所提供的一种基于流的业务交易性能管理及可视化装置中流标记单元的结构示意图;
[0054] 图10示出了本发明实施例所提供的另一种基于流的业务交易性能管理及可视化装置的结构示意图。
[0055] 主要元件符号说明:
[0056] 11、流标记单元;12、预处理单元;13、可视化处理单元;14、定义单元;15、逻辑组合单元;16、确定单元;131、获取子单元;132、流标记子单元;133、梳理子单元;134、计算子单元;1341、计算模块;1342、设置模块;1343、获取模块;1344、逻辑运算模块;111、流标记子单元;112、设置子单元。

具体实施方式

[0057] 下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0058] 本实施例中,现有技术中在对交易性能指标进行统计时,无法对监控对象进行实时、精确又可实现简单配置的分类、标记方法,进而实现由针对性的统计、分析、管理;同时无法做到对交易细分类别进行实时的统计,也无法满足监控的实时性要求,以及用户的灵活配置要求。当应用系统提供的服务具有一定的复杂性时,如果只有笼统的统计指标,那根据这些统计指标进行的监控和排障的可用性和效果就会大打折扣,也使得用户也无法通过交易性能管理系统对应用性能进行精确的度量和分析;
[0059] 另外,现有的端到端交易性能管理技术中另一个对应用系统管理者具有特殊价值的功能是能对用户提交的交易请求在应用系统内部的处理过程进行追踪,当应用系统出现故障时可以根据跟踪结果进行快速的故障根源定位。但是,不同类型的交易可能的处理流程是不同的,因此,如果不具备实时的交易分类分析处理能力,一定无法实现精确的交易处理过程追踪,其结果对故障定位的帮助也将大打折扣。
[0060] 基于上述问题,本发明提供了一种基于流的业务交易性能管理及可视化方法和装置,其能够使监控指标的计算更精确、更能真实准确刻画应用性能,并且,结合业务流程可视化技术,可以使交易流程可视化成为真正实用的工具,从而大大提高提高了交易性能管理的针对性、准确性和灵活性。
[0061] 为了便于对本发明实施例的理解,首先对本发明实施例中的描述中涉及的术语进行解释定义:
[0062] 节点:应用系统中的某个逻辑处理环节,可以是一台物理主机,也可以是多台物理主机的组合。
[0063] 交易:用户对应的终端发送给应用系统的请求/响应对,或者,上述应用系统内部两个节点之间的请求/响应对。
[0064] 流:符合某些条件的交易的集合;其中,上述某些条件是本发明实施例中通过流规则进行定义的,具体在下述实施例中进行详细说明。
[0065] 参考图1,本发明实施例提供了一种基于流的业务交易性能管理及可视化方法,包括下列步骤:
[0066] S101、根据预设定义流对采集的应用系统中的被监控交易进行流标记;其中,所述预设定义流用于定义所述被监控交易的分类条件和标准。
[0067] 具体的,本发明中的流指的是交易的集合,而预设定义流是预先设定的符合特定条件的交易的集合;其中,上述特定条件是通过流规则定义的,用于根据流规则定义对被监控的交易进行分类的条件和标准。本发明实施例中,使用如下方法进行流的定义:
[0068] 首先,针对被监控应用系统定义交易的可标记属性,该可标记属性具体包括:
[0069] 1、交易的定位属性,包括:交易双方的IP地址、TCP(Transmission Control Protocol,传输控制协议)端口、地理位置、交易机构、所属部门以及相关人员。
[0070] 2、交易的属性,包括:交易的名称(如查询、转账、取款等)、交易的类别(如是个人交易还是企业交易)、交易中的参数(如转账交易的接收方账号、金额等),交易返回参数(如响应代码等)。
[0071] 3、交易的性能指标,包括:交易发生的时间,交易的响应时间,客户端到服务器的数据量以及服务器返回客户端的数据量(如字节数和数据包数量),数据包传输延迟时间,以及异常数据包的数量(包括:重传包、乱序包和零窗口包等);
[0072] 然后,对定义的交易的标记属性进行逻辑组合,用以为流定义分类条件和标准:其中,上述逻辑组合具体由逻辑运算符:“与”、“或”“非”定义的逻辑表达式;其中,上述为流定义分类条件和标准的方法包括两种:
[0073] 第一种、针对某个可标记属性定义分类条件,可以使用数学比较运算符,集合运算符。
[0074] 第二种、分类条件可以使用逻辑运算符进行组合,定义新的分类条件。
[0075] 具体的,通过定义的具有上述具有特定条件的流对应用系统中的被监控交易进行标记,以便根据具有特定条件的流区分被监控的交易,并进行标记。
[0076] 优选的,将上述定义的结果(即具有特定条件的流)应用在采集到的应用系统中的每一笔交易上,并且将结果标记在交易记录上,该标记的步骤可以在交易记录采集的过程中实时进行,也可以在交易记录采集后批量进行;另外,本发明是实施例中的流标记具有非唯一性,即每一个交易记录可能被标记为零个或者多个流。
[0077] S102、在所述被监控交易的流标记完成后,以所述流标记对应的逻辑组合为粒度对流标记的所述被监控交易进行交易性能预处理;所述预处理包括以下处理方式中的一种或多种:统计处理和分析处理。
[0078] 具体的,当应用系统中的交易记录在步骤101中实现标记后,将以一个流标记或者多个流标记的逻辑组合为粒度,进行交易性能的统计、分析和展现。同样的,上述流标记的逻辑组合仍然是包括:使用与、或、非三种逻辑操作运算符的逻辑组合;
[0079] 本实施例中的对上述流的交易性能的统计和分析的具体过程如下:
[0080] 1、统计处理包括:统计上述交易中的交易的平均响应时间、交易量、交易的成功率、交易的响应率、交易中的传输数据量(字节数/数据包数)以及交易的传输质量(如重传包数量和传输延迟时间)等。
[0081] 2、分析处理包括:根据上述统计的结果分析动态基线、并在判断动态基线不符合预设条件时进行告警和告警关联等。
[0082] S103、对得到的预处理结果进行可视化处理,以使得所述预处理结果展示在对应的监控终端上。
[0083] 上述可视化处理即为展示处理,即对上述交易的统计和分析可以实时在监控终端侧进行展示,以便工作人员对告警情况进行及时的分析处理。
[0084] 具体的,本发明实施例在上述步骤的基础上可以借助流将两个节点之间的交易监控细化到以流为最小粒度;实际中,应用系统处理的每个交易中可能会涉及多个节点,并且应用系统中还可能会同时处理多个交易,故本发明实施例还可以将两个节点之间的流监控扩展到整个应用系统的多个节点的监控中,以实现对用户交易在应用系统内部的处理流程进行追踪,并将追踪的结果展示在监控终端上,以便工作人员进行查看,在确定对应的节点出现问题时,进行相应的操作处理。
[0085] 本发明实施例提供的一种基于流的业务交易性能管理及可视化方法,与现有技术中的端到端交易性能管理技术是对交易进行笼统监控,而根据上述监控下的统计指标进行的监控和排障的可用性和效果就会大打折扣相比,其通过定义的流预先对被监控交易的每个步骤进行标记,从而先能够使监控指标的计算更精确、更能真实准确刻画应用性能,并且,结合业务流程可视化技术,可以使交易流程可视化成为真正实用的工具,从而大大提高提高了交易性能管理的针对性、准确性、和灵活性。
[0086] 具体的,参考图2和图3,上述步骤103的具体实现方式如下:
[0087] S201、获取被监控交易的业务路径,并根据所述预设定义流对所述业务路径中的每两个节点之间的连接进行流标记。
[0088] S202、以每个所述流标记中的入口节点为根节点,梳理所述入口节点对应的树状图。
[0089] 具体的,对应上述步骤201和步骤202,每个交易均有其对应的总的业务路径,而该总的业务路径可能包括多个子业务路径;故首先获取被监控交易对应的总业务路径,即得到总的业务路径图,然后根据预设的定义流对业务路径图上的每一个连接(即每两个节点之间的连接)按照业务分类(或者是业务类型)进行标记,然后将每个所述流标记中的入口节点作为根节点梳理所述入口节点对应的树状图,该树状图可以理解为总的业务路径中包括的多个子业务路径;
[0090] 具体的,上述过程即对业务路径图上的每一个连接按照业务分类定义流,以入口节点为根,梳理交易的call tree(即树状图),并为每一个入口节点的流定义一个call tree,具体参考图3所示的对流S1定义的call tree,其中,图3中的Node即为节点。
[0091] S203、计算所述树状图中每两个节点之间的节点处理信息,并将所述节点处理信息进行可视化处理;所述节点处理信息包括以下信息中的一种或多种:所述节点响应时间和节点处理时间。
[0092] 本实施例中,根据梳理的上述树状图可以计算任意两个节点之间的节点处理时间,其具体计算方法如下:
[0093] 首先获取待计算节点对应的响应时间,所述响应时间为客户端的业务处理请求发送到该节点的时间与所述请求对应的响应的时间戳之差值,然后再获取所述待计算节点在进行业务逻辑处理时,调用下游节点服务花费的时间的合计时间,最后计算所述响应时间与合计时间的差值,得到所述待计算节点的处理时间。
[0094] 具体的,上述方法也可以表示为:根据公式PT(N)=RT(N)–ΣCT(N)计算所述树状图中每两个节点之间的节点处理信息;其中,PT(N)表示节点处理时间;RT(N)表示发送到节点N的请求与对应的响应的时间戳之差值;ΣCT(N)表示节点N在进行业务逻辑处理时,调用下游节点服务花费的时间的合计时间。
[0095] 本实施例中,为了使节点处理时间更准确,通过如下方法对计算调用下游节点服务花费的时间的合计时间,具体包括:
[0096] 首先获取所述待计算节点的所有子节点的层数和数量,然后对所有子节点的层数和数量进行逻辑运算,得到所述合计时间;其中,上述逻辑运算包括以下运算中的一种或多种:同时调用且取调用时间的最大值的运算、按照预设的先后顺序串行调用且取调用时间之和以及预设节点串行n次调用,对应的调用时间单次调用的n倍。
[0097] 具体的,“调用下游节点的时间”在节点属性中定义为对下层节点的调用关系,如节点N2.1,定义它的业务逻辑关系L(N2.1)如下:
[0098] N2.1=N3.1||(N3.2*2&&N3.3*3)。
[0099] 其中,上述公式中的各操作符含义如下:
[0100] A||B表示:A和B同时被调用,调用时间为max(RT(A),RT(B))
[0101] A&&B表示:按照先A后B的顺序串行调用,调用时间为RT(A)+RT(B);
[0102] A*2表示:A串行调用2次,调用时间为RT(A)*2。
[0103] 当然,本发明实施例中还会涉及其他的逻辑运算,本发明对具体的逻辑运算不进行限定。
[0104] 本发明实施例中,上述被监控交易的业务路径可以包括:路径节点、所述路径节点之间的连接和时间轴;其中,所述路径节点为一个或多个树状图中节点的组合;所述路径节点之间的连接代表所述路径节点之间的调用关系,其中,一个连接与一个或者多个预设定义流进行绑定;所述时间轴用于指定业务路径可视化指标的时间范围;
[0105] 具体的,本发明实施例的上述步骤S203中,“将所述节点处理信息进行可视化处理”的具体处理方式包括:
[0106] 将树状图中所述路径节点的监控指标在所述路径节点上进行可视化;和\或,将流的监控指标在所述连接上进行可视化;和/或,将所述指定业务路径可视化指标的时间范围在所述时间轴上进行可视化;所述时间轴的时间选择包括:当前时刻的实时值和是历史某个时间段的统计值。
[0107] 具体如图4所示的一个业务路径的实施例,其根据上述call tree递归计算各节点响应时间RT(N)以及节点处理时间PT(N),并将上述节点处理信息可视化为call trace(即对应的子业务路径),其中,图4中的Node同样表示节点。
[0108] 上述业务路径包含以下部件:
[0109] 路径节点:一个业务路径的节点是一个或多个call tree节点的组合,并将call tree节点的监控指标在节点上进行可视化。
[0110] 连接:两个路径节点之间的连接代表两个路径节点之间的调用关系,一个连接必须和一个或者多个流进行绑定,并将流的监控指标在连接上进行可视化。
[0111] 时间轴:时间轴指定业务路径可视化指标的时间范围,可选的是当前时刻的实时值或者是历史某个时间段的统计值。
[0112] 本发明实施例提供的一种基于流的业务交易性能管理及可视化方法,与现有技术中的端到端交易性能管理技术是对交易进行笼统监控,而根据上述监控下的统计指标进行的监控和排障的可用性和效果就会大打折扣相比,其通过定义的流预先对被监控交易的每个步骤进行标记,从而先能够使监控指标的计算更精确、更能真实准确刻画应用性能,并且,结合业务流程可视化技术,可以使交易流程可视化成为真正实用的工具,从而大大提高提高了交易性能管理的针对性、准确性、和灵活性。
[0113] 并且,其还改变现有技术只能进行粗犷统计的技术限制,为用户提供可以自由定义的分类统计标准,让用户能看到其关心的交易的性能指标,而不是淹没在大量无关交易的指标平均值中。
[0114] 本发明实施例还提供了一种基于流的业务交易性能管理及可视化装置,参考图5,包括:
[0115] 本发明实施例还提供了一种基于流的业务交易性能管理及可视化装置,包括:
[0116] 流标记单元11,用于根据预设定义流对采集的应用系统中的被监控交易进行流标记;其中,所述预设定义流用于定义所述被监控交易的分类条件和标准。
[0117] 预处理单元12,用于在所述被监控交易的流标记完成后,以所述流标记单元11的流标记对应的逻辑组合为粒度对流标记的所述被监控交易进行交易性能预处理;所述预处理包括以下处理方式中的一种或多种:统计处理和分析处理。
[0118] 可视化处理单元13,用于对所述预处理单元12得到的预处理结果进行可视化处理,以使得所述预处理结果展示在对应的监控终端上。
[0119] 进一步的,如图6所示,上述基于流的业务交易性能管理及可视化装置中,可视化处理单元13包括:
[0120] 获取子单元131,用于获取被监控交易的业务路径;
[0121] 流标记子单元132,用于根据所述预设定义流对所述获取子单元131获取的所述业务路径中的每两个节点之间的连接进行流标记;
[0122] 梳理子单元133,用于以每个所述流标记子单元132进行的流标记中的入口节点为根节点,梳理所述入口节点对应的树状图;
[0123] 计算子单元134,用于计算所述梳理子单元133梳理的所述树状图中每两个节点之间的节点处理信息,并将所述节点处理信息进行可视化处理;所述节点处理信息包括以下信息中的一种或多种:所述节点响应时间和节点处理时间。
[0124] 进一步的,如图7所示,上述基于流的业务交易性能管理及可视化装置还包括:计算子单元134包括:
[0125] 计算模块1341,用于根据公式PT(N)=RT(N)–ΣCT(N)计算所述树状图中每两个节点之间的节点处理信息;其中,PT(N)表示节点处理时间;RT(N)表示发送到节点N的请求与对应的响应的时间戳之差值;ΣCT(N)表示节点N在进行业务逻辑处理时,调用下游节点服务花费的时间的合计时间;
[0126] 设置模块1342,用于将所述计算模块1341的计算结果设置为所述树状图中每两个节点之间的节点处理信息。
[0127] 进一步的,如图8所示,上述基于流的业务交易性能管理及可视化装置中,所述计算子单元134还包括:
[0128] 获取模块1343,用于获取所述待计算节点的所有子节点的层数和数量;
[0129] 逻辑运算模块1344,用于对获取模块1343获取的所有子节点的层数和数量进行逻辑运算,得到所述合计时间;所述逻辑运算包括以下运算中的一种或多种:同时调用且取调用时间的最大值的运算、按照预设的先后顺序串行调用且取调用时间之和以及预设节点串行n次调用,对应的调用时间单次调用的n倍。
[0130] 进一步的,上述基于流的业务交易性能管理及可视化装置中,所述被监控交易的业务路径包括:路径节点、所述路径节点之间的连接和时间轴;其中,所述路径节点为一个或多个树状图中节点的组合;所述路径节点之间的连接代表所述路径节点之间的调用关系,其中,一个连接与一个或者多个预设定义流进行绑定;所述时间轴用于指定业务路径可视化指标的时间范围;
[0131] 所述将可视化处理单元13具体用于,将树状图中所述路径节点的监控指标在所述路径节点上进行可视化;和\或,将流的监控指标在所述连接上进行可视化;和/或,将所述指定业务路径可视化指标的时间范围在所述时间轴上进行可视化;所述时间轴的时间选择包括:当前时刻的实时值和是历史某个时间段的统计值。
[0132] 进一步的,如图9所示,上述基于流的业务交易性能管理及可视化装置中,流标记单元11包括:
[0133] 流标记子单元111,用于将预设定义流标记在被监控交易的交易记录上;其中,每一个交易记录被标记为零个至少一个流。
[0134] 设置子单元112,用于将所述流标记子单元111做的流标记设置为。
[0135] 进一步的,如图10所示,上述基于流的业务交易性能管理及可视化装置,还包括:
[0136] 定义单元14,用于针对被监控的应用系统定义交易的可标记属性;
[0137] 逻辑组合单元15,用于对定义单元14定义的交易的可标记属性进行逻辑组合;
[0138] 确定单元16,用于根据逻辑组合单元15的组合结果确定流的分类条件和标准;所述可标记属性包括以下信息中的一种或多种:交易的定位属性、交易的属性和交易的性能指标。
[0139] 本发明实施例提供的一种基于流的业务交易性能管理及可视化装置,与现有技术中的端到端交易性能管理技术是对交易进行笼统监控,而根据上述监控下的统计指标进行的监控和排障的可用性和效果就会大打折扣相比,其通过定义的流预先对被监控交易的每个步骤进行标记,从而先能够使监控指标的计算更精确、更能真实准确刻画应用性能,并且,结合业务流程可视化技术,可以使交易流程可视化成为真正实用的工具,从而大大提高提高了交易性能管理的针对性、准确性、和灵活性。
[0140] 并且其还改变现有技术只能进行粗犷统计的技术限制,为用户提供可以自由定义的分类统计标准,让用户能看到其关心的交易的性能指标,而不是淹没在大量无关交易的指标平均值中。
[0141] 本发明实施例所提供的进行基于流的业务交易性能管理及可视化方法的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。
[0142] 所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0143] 在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0144] 所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0145] 另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
[0146] 所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0147] 以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。