一种交易链路拓扑自动生成方法及装置与流程

文档序号:30656364发布日期:2022-07-06 00:58阅读:240来源:国知局
一种交易链路拓扑自动生成方法及装置与流程

1.本文涉及金融领域,尤其是一种交易链路拓扑自动生成方法、装置、计算机设备、存储介质及计算机程序产品。


背景技术:

2.随着银行等大型企业业务的不断发展,按交易场景监控应用系统间调用关系的诉求日趋增加。在银行等大型企业中,一笔交易首先会经过多个应用系统,在应用系统内部再经过多个微服务或模块。当交易失败排查故障问题时,首先需要定位到故障应用系统,以便及时通知相应系统的运维和开发人员。
3.现有技术中常用的交易链路追踪方法包括:挑选几支重点关注的交易,将交易涉及的系统及调用先后关系提前维护在数据库码表中。这种方法手工维护成本高、准确性差。当用户侧发现某交易失败时,往往需要人为分析本次交易都涉及哪些系统,所有涉及系统的开发和运维人员需要同时赴现场自查问题,问题定位成本较高。
4.现有技术也有使用zipkin、skywalking等apm监控工具,通过traceid和spanid机制实现调用链路追踪,这些开源工具的监控粒度比较细,但无法体现“应用系统”层级,也无法识别一笔交易的业务含义,只能通过一个全局唯一的traceid查询出这笔交易的服务间调用链路,但不知道这笔交易是转账还是开户,不利于按交易场景进行监控,因此不能直接适用于银行的业务场景。
5.针对目前技术存在的准确性差、无法按交易场景进行业务监控的问题,需要一种交易链路拓扑自动生成方法。


技术实现要素:

6.为解决上述现有技术中的问题,本文实施例提供了一种交易链路拓扑自动生成方法、装置、计算机设备、存储介质及计算机程序产品。
7.本文实施例提供了一种交易链路拓扑自动生成方法,所述方法包括:根据交易码,从各应用系统中获取每笔交易的交易流水日志,所述每笔交易的交易流水日志包括交易标识及交易流水序号;根据所述交易标识及交易流水序号,确定每笔交易的应用系统调用链路;根据所述交易码,识别同类交易的应用系统调用链路;对同类交易的应用系统调用链路进行整合处理,得到同类交易的交易链路拓扑。
8.根据本文实施例的一个方面,各应用系统生成每笔交易的交易流水日志的过程包括:接收首个应用系统发送的该笔交易的交易码和交易标识,以及上一应用系统对该笔交易生成的交易流水序号,其中,不同的交易场景对应不同的交易码,每一交易具有唯一的交易标识;生成该笔交易的交易流水序号;将该交易流水序号、上一应用系统对该笔交易生成的交易流水序号、该笔交易的交易码和交易标识记录于该笔交易的原始日志中,生成该应用系统对该笔交易的交易流水日志。
9.根据本文实施例的一个方面,根据所述交易标识及交易流水序号,确定每笔交易
的应用系统调用链路包括:根据所述交易标识,获取同一交易标识对应的交易流水日志;将同一交易标识对应的交易流水日志解析为结构化字段;将每两个解析后交易流水日志作为一交易流水日志组,比较交易流水日志组中的交易流水序号,若存在相同的交易流水序号,则确定交易流水日志组对应的应用系统存在串链关系,反之,不存在串链关系;根据应用系统的串链关系,生成交易的调用链路。
10.根据本文实施例的一个方面,生成交易链路拓扑之后还包括:识别所述交易流水日志以确定是否存在新的应用系统,若是,则重新确定所述交易链路拓扑;识别所述交易链路拓扑中每一应用系统的交易流水日志在预设时间内的时间戳,若所述时间戳未发生变化,则在交易链路拓扑中删除该应用系统;若所述时间戳发生变化,则在交易链路拓扑中更新该应用系统的时间戳。
11.根据本文实施例的一个方面,所述方法还包括:计算各应用系统的交易流水日志的监控指标,所述监控指标包括交易成功率、交易量及平均响应时间;将各应用系统的监控指标作为相应应用系统的叶节点添加到交易链路拓扑中。
12.根据本文实施例的一个方面,所述方法还包括:接收客户端发送出的查询请求,所述查询请求包括交易码;根据所述查询请求中的交易码获取交易链路拓扑;将所述交易链路拓扑发送至客户端,以由客户端显示所述交易链路拓扑。
13.本文实施例提供了一种交易链路拓扑自动生成装置,包括:交易流水日志获取单元,用于根据交易码,从各应用系统中获取每笔交易的交易流水日志,所述每笔交易的交易流水日志包括交易标识及交易流水序号;应用系统调用链路确定单元,用于根据所述交易标识及交易流水序号,确定每笔交易的应用系统调用链路;应用系统调用链路识别单元,用于根据所述交易码,识别同类交易的应用系统调用链路;交易链路拓扑确定单元,用于对同类交易的应用系统调用链路进行整合处理,得到同类交易的交易链路拓扑。
14.本文实施例还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述方法。
15.本文实施例还提供了一种计算机可读存储介质,其上存储有计算机指令,该计算机指令被处理器执行时实现上述的方法。
16.本文实施例还公开了一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现上述的方法。
17.本方案可以得到各类交易的交易链路拓扑,通过各类交易的交易链路拓扑能够直观监控到交易经过的所有应用系统,实现交易场景监控。
附图说明
18.为了更清楚地说明本文实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本文的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
19.图1所示为本文实施例一种交易链路生成方法的流程图;
20.图2所示为本文实施例一种各应用系统生成每笔交易的交易流水日志的方法流程图;
21.图3所示为本文实施例一种确定每笔交易的应用系统调用链路的方法流程图;
22.图4所示为本文实施例一种更新交易链路拓扑的方法流程图;
23.图5所示为本文实施例另一种确定交易链路拓扑的方法流程图;
24.图6所示为本文实施例一种交易链路拓扑生成方法;
25.图7所示为本文实施例一种交易链路拓扑自动生成装置的结构示意图;
26.图8所示为本文实施例交易链路拓扑自动生成装置的具体结构示意图;
27.图9所述为本文实施例一种交易链路拓扑的示意图;
28.图10所示为本文实施例一种计算机设备的结构示意图。
29.附图符号说明:
30.701、交易流水日志获取单元;
31.702、应用系统调用链路确定单元;
32.7021、串链模块;
33.703、应用系统调用链路识别单元;
34.704、交易链路拓扑确定单元;
35.7041、交易链路拓扑更新模块;
36.7042、监控指标计算模块;
37.1002、计算机设备;
38.1004、处理器;
39.1006、存储器;
40.1008、驱动机构;
41.1010、输入/输出模块;
42.1012、输入设备;
43.1014、输出设备;
44.1016、呈现设备;
45.1018、图形用户接口;
46.1020、网络接口;
47.1022、通信链路;
48.1024、通信总线。
具体实施方式
49.为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本文实施例中的附图,对本文实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本文一部分实施例,而不是全部的实施例。基于本文中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本文保护的范围。
50.需要说明的是,本文的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本文的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、装置、产品或设备不必限于清楚
地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
51.本说明书提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的系统或装置产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行。
52.需要说明的是,本文的交易链路拓扑自动生成方法可用于金融领域,也可用于除金融领域之外的其他领域,例如,计算机领域等。本文的交易链路拓扑自动生成方法的应用领域不做限定。
53.如图1所示为本文实施例一种交易链路生成方法的流程图,其中具体包括如下步骤:
54.步骤101,根据交易码,从各应用系统中获取每笔交易的交易流水日志,所述每笔交易的交易流水日志包括交易标识及交易流水序号。
55.在本说明书的一些实施例中,交易码可以表示不同的交易场景。以银行业务为例,银行业务中有大量的交易场景包括但不限于对私转账、对公转账、在线开户、贷款、缴费、代发工资、销户等。每一个交易场景都具有唯一对应的交易码。交易码可以由服务调用方调用的首个应用系统生成。例如,服务调用方为某一需要开户的用户,则用户操作的手机银行客户端为首个应用系统,也称为渠道系统。当该交易发生时,首被调用的首个应用系统/渠道系统生成与交易场景的交易码。相对应的,交易码对交易场景的对应关系可以预先设定。例如,交易码“a0001”表示转账的交易场景;交易码“e12300”表示在线开户的交易场景。在本步骤中,交易码可以是预先根据业务需求设定的,设定好的交易码可以存储在交易码表或其他具有存储功能的存储介质中。
56.在本说明书的一些实施例中,同一个交易场景下可能有不同的交易分支。即,一笔交易发生时,可能会经过多个不同的应用系统。例如,在“在线开户”交易场景下,若发起交易的用户为一名信用资质良好的客户,则该交易不需要验证“非法资金转移”步骤,因此该用户的交易所需要经过的应用系统为:手机银行应用系统、mcis应用系统、ips应用系统及核心银行应用系统。该用户的“在线开户”交易的整个应用系统调用链路为:手机银行-mcis-ips-核心银行。又例如,在“在线开户”交易场景下,若发起交易的用户的信用资质较低,该交易需要验证“非法资金转移”步骤,因此该用户的交易所需要经过的应用系统为:手机银行应用系统、mcis应用系统、非法资金转移应用系统、 ips应用系统及核心银行应用系统。该用户的“在线开户”交易的整个应用系统调用链路为:手机银行-mcis-非法资金转移-ips-核心银行。
57.交易发生过程中经过多个应用系统,被交易调用的多个应用系统分别生成各自的交易流水日志。交易流水日志包括交易表示和应用系统表示。其中,交易流水日志中的交易标识用于表示当前交易的名称或属性。交易标识是每一笔交易唯一所有的,即,每一笔交易具有唯一的交易标识,不同的交易具有不同的交易标识,互不相同。在本说明书的一些实施例中,交易标识可以包括全局序列号。进一步的,交易标识可以由交易发起端发起。其中,交易发起端可以理解为:交易发生过程中被交易调用的多个应用系统中的首个应用系统;也可以理解为:交易的渠道系统(例如,手机银行、网银、柜面前端系统等)。交易标识贯穿整个
交易始终,被交易调用的所有应用系在调用下一个应用系统的调用报文(也即,交易流水日志)中均包括该交易的交易标识。
58.相对应的,交易流水序号为交易发生过程中由服务调用方的应用系统生成的标识。交易流水序号用于标识每一个服务请求中调用方与被调用方之间的调用关系。即,交易过程中被调用的应用系统与执行调用的应用系统之间的调用关系。具体的,交易流水序号可以包括本应用系统生成的流水子序号及下一个应用系统生成的流水子序号。其中,本应用系统生成的流水子序号可以发送至下一个应用系统的流水日志,用于下一个应用系统的应用系统中的父流水子序号。
59.步骤102,根据所述交易标识及交易流水序号,确定每笔交易的应用系统调用链路。在本说明书的一些实施例中,根据每一个应用系统对应的交易流水日志中的交易标识及交易流水序号,可以确定每笔交易的各个应用系统之间的调用链路。如步骤 101所述,每一种类型的交易对应一种交易码。根据交易码,可以从不同交易场景的多个交易流水日志中查询包含该交易码的交易流水日志。因包含交易码的交易流水日志对应的应用系统均为所有交易调用的首个应用系统/渠道系统,因此可以根据交易码识别该交易场景下的至少一个渠道系统。进一步根据每笔交易的首个应用系统/渠道系统中的交易标识,遍历所有交易流水日志,根据所有交易流水日志中的交易流水序号,确定每笔交易的应用系统调用链路。
60.例如,根据在线开户交易码“e12300”可以从大量的交易流水日志中查询得到3 个包含该交易码的流水日志。则可以确定存在3笔在线开户的交易及5笔交易对应的渠道系统。遍历3个包含该交易码的流水日志,可以确定该3笔交易的交易标识,即,全局序列号1、全局序列号2、全局序列号3。
61.进一步根据这3个全局序列号,遍历所有交易流水日志,查询得到分别包含全局序列号1、全局序列号2、全局序列号3的交易流水日志。再从所有包含全局序列号 1的交易流水日志中,根据其各自包含的交易流水序号,确定该笔交易的应用系统的调用关系,进一步确定该笔交易的应用系统调用链路。本步骤的具体描述详见图3,本步骤在此不作赘述。
62.步骤103,根据所述交易码,识别同类交易的应用系统调用链路。在本步骤中,根据交易码可以识别出多笔交易对应的多个交易标识。按照步骤102、步骤103中的方法,识别同一个交易码对应的不同交易标识的应用系统调用链路。
63.步骤104,对同类交易的应用系统调用链路进行整合处理,得到同类交易的交易链路拓扑。通过对同类交易的链路拓扑进行前文所述步骤处理,可以得到同类交易的交易链路拓扑。
64.图2所示为本文实施例一种各应用系统生成每笔交易的交易流水日志的方法流程图。具体包括如下步骤:
65.步骤201,接收首个应用系统发送的该笔交易的交易码和交易标识,以及上一应用系统对该笔交易生成的交易流水序号,其中,不同的交易场景对应不同的交易码,每一交易具有唯一的交易标识。
66.如前文所述,首个应用系统为每笔交易调用的所有应用系统中的第一个应用系统。也可以理解为用户发起交易的渠道系统。首个应用系统生成与交易场景对应的交易码及每笔交易对应的交易标识。首个应用系统还将生成的交易码及交易标识透传至其他所有
被调用的应用系统。其他被调用的应用系统在各自的交易流水日志中加入首个应用系统发送的交易码及交易标识。另外,其他被调用的应用系统还在交易流水日志中加入上一个应用系统的交易流水序号。例如,首个应用系统生成“在线开户”的交易码为“e12300”、交易标识为“p011212a4b3c1202103011720301303456”。则各个应用系统接收该交易码及交易标识。另外,首个应用系统生成交易流水序号为“a211cds12ds5gj60”。则首个应用系统的下一个应用系统接收该交易流水序号。
67.步骤202,生成该笔交易的交易流水序号。在本说明书的一些实施例中,每一应用系统被服务请求方调用时,生成该应用系统对应的交易流水序号。除此之外,该应用系统的交易流水日志中的交易流水序号还包括上一应用系统生成的流水子序号,上一应用系统生成的流水子序号也可以称之为本应用系统的交易流水日志中的父流水子序号。例如,上一应用系统生成的交易流水序号为“a211cds12ds5gj60”,本应用系统生成的交易流水序号为“a211cds12ds5gj70”,则本应用系统生成该笔交易的交易流水序号为“a211cds12ds5gj60|a211cds12ds5gj70”。在本说明书的一些实施例中,每一个应用系统对应的交易流水序号中父流水子序号与本应用系统的流水子序号的先后顺序并不限定。
68.步骤203,将该交易流水序号、上一应用系统对该笔交易生成的交易流水序号、该笔交易的交易码和交易标识记录于该笔交易的原始日志中,生成该应用系统对该笔交易的交易流水日志。在本步骤中,将本应用系统生成的流水子序号、上一个应用系统生成的流水子序号及从首个应用系统接收到的交易码及交易标识加入到被调用的所有应用系统对应的原始日志中,进一步结合其他应用字段,可以生成各个应用系统对应的交易流水日志。
69.图3所示为本文实施例一种确定每笔交易的应用系统调用链路的方法流程图,具体包括如下步骤:
70.步骤301,根据所述交易标识,获取同一交易标识对应的交易流水日志。如步骤101所述,因为交易码仅存在于渠道系统/首个应用系统的交易流水日志中,根据交易码可以获取交易流水日志中渠道系统/首个应用系统的交易标识。因为每笔交易的交易标识由渠道系统/首个应用系统透传至所有应用系统的交易流水日志中,因此根据交易标识,可以遍历该笔交易下所有交易流水日志,进一步查询得到具有同一交易标识的交易流水日志。
71.步骤302,将同一交易标识对应的交易流水日志解析为结构化字段。获取具有同一标识的交易标识后,将包括同一交易标识的交易流水日志解析为多个字段。解析为结构化字段的交易流水日志如下所示:04|2020-10
‑ꢀ
19|15:14:30.450|p011212a4b3c1202103011720301303456|a211cds12ds5gj60|ghje5 7bebc850g6h|dcfacbeb5768c850|dcfacbeb5768c850|p01104|2d4f3e1|p011012a4b3c 1|p001122a4b3c1|p00112321234|0000000123|00|||01|123456|50|00|。
72.其中,该解析后的结构化字段分别表示:记录时点类型、交易发生时间点、全局序列号、流水子序号、父流水子序号、全链路唯一标识traceid、当前spanid-标识调用链中的一次调用、用于标识本应用系统的本应用系统编码、用于标识本服务部署单元编号、调用方编码、执行方编码、目标服务编码、接口编码名称、接口版本号、发起渠道标识、机构号、单元分片类型编码、单元分片类型取值、交易耗时、返回状态。
73.步骤303,将每两个解析后交易流水日志作为一交易流水日志组,比较交易流水日志组中的交易流水序号,若存在相同的交易流水序号,则确定交易流水日志组对应的应用
系统存在串链关系,反之,不存在串链关系。在本步骤中,因每一应用系统的交易流水日志包括上一应用系统的流水子序号及本应用系统的流水子序号,因此将任意两个解析后的交易流水日志作为一组进行比较。若任意两组解析后的交易流水日志中的交易流水序号中存在相同的交易流水序号,则这两组交易流水日志对应的应用系统之间存在调用与被调用的关系,即,串链关系。若该任意两组解析后的交易流水日志中的交易流水序号中不存在相同的交易流水序号,则这两组交易流水日志对应的应用系统之间不存在串链关系。在本说明书的一些实施例中,可以设定应用系统中的交易流水序号中父流水子节点的字段位置在本应用系统的流水子节点之前。
74.例如,应用系统a的交易流水序号为:m|n;应用系统b的交易流水序号为n|k。则应用系统a和b的相同的交易流水序号为n。n字段的位置在应用系统a的交易流水日志中为:在后,在应用系统b的交易流水日志中为:在前。则可以确定该相同的交易流水序号n为应用系统b生成的流水子节点,m为应用系统a生成的流水子节点,k为应用系统b调用的下一个应用系统生成的流水子节点。可以判断应用系统a调用了应用系统b。在本说明书的一些实施例中,也可以设定应用系统中的交易流水序号中父流水子节点的字段位置在本应用系统的流水子节点之前。值得注意的是,本技术并不限定交易流水序号的字段位置。
75.步骤304,根据应用系统的串链关系,生成交易的调用链路。具体的,根据步骤 303中判断两个解析后的交易流水日志存在串链关系的结果,进一步根据相同的交易流水序号在交易流水日志中的字段位置判断这两个应用系统的调用与被调用关系。
76.图4所示为本文实施例一种更新交易链路拓扑的方法流程图。具体包括如下步骤:
77.步骤401,识别所述交易流水日志以确定是否存在新的应用系统,若是,则重新确定所述交易链路拓扑。根据前述步骤,通过交易码查询该交易场景下发生的交易对应的交易流水日志、交易标识及交易流水序号。根据与上一次采集的交易流水日志对应的应用系统相比,确定是否存在新的应用系统。若存在新的应用系统,重复图1中所述步骤重新确定交易链路拓扑。
78.在本说明书的一些实施例中,可以根据预设规则获取每笔交易的交易流水日志。预设规则包括但不限于:预设采样间隔、预设采样时间窗口等。例如,预设采样间隔为2小时,预设采样时间窗口为10分钟。则可以每2小时执行一次查询,查询最近 10分钟内的交易流水日志数据。10分钟的交易流水日志数据包括多个交易场景下,多笔交易的交易流水日志。
79.步骤402,识别所述交易链路拓扑中每一应用系统的交易流水日志在预设时间内的时间戳,若所述时间戳未发生变化,则在交易链路拓扑中删除该应用系统;若所述时间戳发生变化,则在交易链路拓扑中更新该应用系统的时间戳。在本说明书的一些实施例中,交易链路拓扑可以是步骤401重新确定的交易链路拓扑,也可以识别到没有新的应用系统的原有的交易链路拓扑。通过识别交易链路拓扑中每一个应用系统的交易流水日志在一段时间内的时间戳。在本步骤中,预设时间可以为2小时、24小时、10天、15天、30天等。若交易链路拓扑中存在一个应用系统的交易流水日志在预设时间内的时间戳未发生变化,则该应用系统在预设时间内未被服务方调用。可以对该应用系统添加人工标注,并进一步在交易链路拓扑中删除该应用系统。若交易链路拓扑中的应用系统的交易流水日志的时间戳在预设时间内发生变化,则将该应用系统发生变化的时间戳更新在交易链路拓扑中。
80.图5所示为本文实施例另一种确定交易链路拓扑的方法流程图。具体包括如下步骤:
81.步骤501,计算各应用系统的交易流水日志的监控指标,所述监控指标包括交易成功率、交易量及平均响应时间。在本步骤中,可以对各应用系统的交易流水日志解析为结构化字段,根据各个应用系统的交易流水日志中的多个与业务相关的参数,可以计算得到各应用系统的监控指标。具体的,根据交易流水日志计算出每个应用系统在一段时间内的交易量、响应时间及成功率等监控指标。例如,根据每一个应用系统的交易流水日志中的“成功失败标识”、“耗时”、“交易发生时间”等字段,聚合处理某一秒内各应用系统对应所有的交易流水日志,计算成功率、平均响应时间及交易量。其中,成功率为交易流水日志中成功的笔数与交易总数的比值;平均响应时间就是每个单笔交易流水日志的响应时间求平均;交易量就是一秒内有多少笔单笔交易流水日志。进一步的,还可以进一步计算该交易的监控指标。
82.步骤502,将各应用系统的监控指标作为相应应用系统的叶节点添加到交易链路拓扑中。在本步骤中,计算得到的各应用系统的监控指标可以作为叶节点添加到交易链路拓扑中。进一步的,各应用系统的监控指标可以按照交易场景分类显示在每种交易的交易链路拓扑中。也可以显示在交易链路拓扑中的每一个应用系统上。
83.图6所示为本文实施例一种交易链路拓扑生成方法的流程图,具体包括如下步骤:
84.步骤601,接收客户端发送出的查询请求,所述查询请求包括交易码。在本步骤中,接收用户发送的包含交易码的查询请求。例如,用户的查询请求中包含在线开户交易码“e12300”。在本步骤中,查询请求中的交易码可以由用户在客户端点击“查询交易码”按钮输入,或由用户在客户端中的“选择交易码”下拉菜单中选择准备查询的交易码。
85.步骤602,根据所述查询请求中的交易码获取交易链路拓扑。在本步骤中,根据用户查询请求中的交易码,从大量的交易流水日志中查询包含该交易码的交易流水日志。例如,根据交易码“e12300”可以查询到包含交易码的在线开户交易对应的交易流水日志及该交易流水日志对应的交易标识,进一步根据交易标识查询到包含该交易标识的交易流水日志,进一步获取交易链路拓扑。
86.步骤603,将所述交易链路拓扑发送至客户端,以由客户端显示所述交易链路拓扑。本步骤可以将获取的交易链路拓扑及各应用系统对应的监控指标发送至客户端,以便用户查看。
87.如图7所示为本文实施例一种交易链路拓扑自动生成装置的结构示意图,在本图中描述了交易链路拓扑自动生成装置的基本结构,其中的功能单元、模块可以采用软件方式实现,也可以采用通用芯片或者特定芯片实现,实现交易链路拓扑自动生成,该装置具体包括:
88.交易流水日志获取单元701,用于根据交易码,从各应用系统中获取每笔交易的交易流水日志,所述每笔交易的交易流水日志包括交易标识及交易流水序号;
89.应用系统调用链路确定单元702,用于根据所述交易标识及交易流水序号,确定每笔交易的应用系统调用链路;
90.应用系统调用链路识别单元703,用于根据所述交易码,识别同类交易的应用系统调用链路;
91.交易链路拓扑确定单元704,用于对同类交易的应用系统调用链路进行整合处理,得到同类交易的交易链路拓扑。
92.本方案可以按交易场景直观监控到交易经过的所有系统的健康状态,进行交易场景监控;并且当某种交易失败时,可从该交易的链路拓扑图中快速识别出成功率下降的系统,提高问题排查效率;基于日志自动生成交易拓扑图,无需人工维护,确保图的准确性和实时性。
93.作为本文的一个实施例,还可以参考如图8所示为本实施例交易链路拓扑自动生成装置的具体结构示意图。
94.作为本文的一个实施例,所述应用系统调用链路确定单元702进一步包括:
95.串链模块7021,用于将每两个解析后交易流水日志作为一交易流水日志组,比较交易流水日志组中的交易流水序号,若存在相同的交易流水序号,则确定交易流水日志组对应的应用系统存在串链关系;
96.作为本文的一个实施例,所述交易链路拓扑确定单元704进一步包括:
97.交易链路拓扑更新模块7041,用于通过识别交易流水日志是否对应新的应用系统及识别应用系统的交易流水日志在预设时间内的时间戳,重新确定交易链路拓扑;
98.监控指标计算模块7042,用于计算各应用系统的交易流水日志的监控指标。
99.图9所述为本文实施例一种交易链路拓扑的示意图。根据交易码可以查询到其对应的交易链路拓扑。图9中示出了交易码对应的交易场景下服务方调用的所有应用系统,包括:渠道系统及应用系统a、应用系统b至应用系统g。从图中可以看出,渠道系统调用应用系统a和应用系统b。应用系统a调用了应用系统c;应用系统b 同时调用应用系统d和应用系统e。应用系统e同时调用了应用系统f和应用系统 g。在图9的应用系统该交易链路拓扑中,每一个应用系统中还显示了该应用系统对应的交易监控指标,包括交易成功率、平均响应时间及交易量。以应用系统b为例,其交易监控指标包括交易量为6、平均交易响应时间为0.45ms、交易成功率为100%、告警次数为28。应用系统调用链路与监控指标结合展示的方式,可以按交易场景直观监控到交易经过的所有系统的健康状态,进行交易场景监控;并且当某种交易失败时,可从该交易的链路拓扑图中快速定位成功率下降的应用系统,提高问题排查效率。
100.如图10所示,为本文实施例提供的一种计算机设备,所述计算机设备1002可以包括一个或多个处理器1004,诸如一个或多个中央处理单元(cpu),每个处理单元可以实现一个或多个硬件线程。计算机设备1002还可以包括任何存储器1006,其用于存储诸如代码、设置、数据等之类的任何种类的信息。非限制性的,比如,存储器1006 可以包括以下任一项或多种组合:任何类型的ram,任何类型的rom,闪存设备,硬盘,光盘等。更一般地,任何存储器都可以使用任何技术来存储信息。进一步地,任何存储器可以提供信息的易失性或非易失性保留。进一步地,任何存储器可以表示计算机设备1002的固定或可移除部件。在一种情况下,当处理器1004执行被存储在任何存储器或存储器的组合中的相关联的指令时,计算机设备1002可以执行相关联指令的任一操作。计算机设备1002还包括用于与任何存储器交互的一个或多个驱动机构1008,诸如硬盘驱动机构、光盘驱动机构等。
101.计算机设备1002还可以包括输入/输出模块1010(i/o),其用于接收各种输入 (经由输入设备1012)和用于提供各种输出(经由输出设备1014)。一个具体输出机构可以包括
呈现设备1016和相关联的图形用户接口(gui)1018。在其他实施例中,还可以不包括输入/输出模块1010(i/o)、输入设备1012以及输出设备1014,仅作为网络中的一台计算机设备。计算机设备1002还可以包括一个或多个网络接口1020,其用于经由一个或多个通信链路1022与其他设备交换数据。一个或多个通信总线1024将上文所描述的部件耦合在一起。
102.通信链路1022可以以任何方式实现,例如,通过局域网、广域网(例如,因特网)、点对点连接等、或其任何组合。通信链路1022可以包括由任何协议或协议组合支配的硬连线链路、无线链路、路由器、网关功能、名称服务器等的任何组合。
103.对应于图1至图6中的方法,本文实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法的步骤。
104.本文实施例还提供一种计算机可读指令,其中当处理器执行所述指令时,其中的程序使得处理器执行如图1至图6所示的方法。
105.本文实施例还公开了一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现如图1至图6所示的方法。
106.应理解,在本文的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本文实施例的实施过程构成任何限定。
107.还应理解,在本文实施例中,术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系。例如,a和/或b,可以表示:单独存在a,同时存在a和 b,单独存在b这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
108.本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本文的范围。
109.所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
110.在本文所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
111.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本文实施例方案的目的。
112.另外,在本文各个实施例中的各功能单元可以集成在一个处理单元中,也可以是
各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
113.所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本文的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本文各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
114.本文中应用了具体实施例对本文的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本文的方法及其核心思想;同时,对于本领域的一般技术人员,依据本文的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本文的限制。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1