交易跟踪方法及装置与流程

文档序号:19072770发布日期:2019-11-08 20:55阅读:473来源:国知局
交易跟踪方法及装置与流程

本申请涉及数据处理技术领域,具体涉及交易跟踪方法及装置。



背景技术:

银行系统一般是由多个异构系统组成的,具有系统复杂、交易链路长、交易量大且异构系统之间频繁交互的特征。基于银行业务的需求,系统需要支持7*24小时客户服务,交易在多个系统间流转,各异构系统均有独立的系统日志记录,如交易失败或超时,无法快速定有问题的节点。

随着各银行加强自主化研发,分布式框架和服务注册中心的应用越来越多,尤其是api金融生态圈的发展,银行内部各系统间的耦合度进一步降低,系统之间越来越独立,交易链路在系统中无法展现,分析并定位有问题的节点难度越来越高,将加大银行系统的运维压力和维护成本。

综上所述,迫切需要一种实现交易全链路可跟踪的交易跟踪方法。



技术实现要素:

针对现有技术中的问题,本申请提供一种交易跟踪方法及装置,能够快速且有效地对交易进行跟踪监控,且跟踪过程可靠性高,并能够有效提高跟踪结果的准确性和全面性,进而能够有效保证用户的交易安全及时效性。

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

第一方面,本申请提供一种交易跟踪方法,包括:

接收针对目标交易的追踪指令,其中,该追踪指令中包含有所述目标交易唯一对应的交易跟踪号,且该交易跟踪号为在检测到该目标交易初始接入目标系统时应用预设的第一分布式数据库集群对应生成的;

根据所述目标交易的交易跟踪号在预设的日志数据库中,获取该目标交易对应在所述目标系统中的运行日志数据,其中,所述日志数据库用于存储各个交易的交易跟踪号与各个运行日志数据之间的一一对应关系,且所述运行日志数据中包含有所述目标系统中的至少一个节点中的日志数据;

根据所述目标交易的运行日志数据确定该目标交易的跟踪结果。

进一步地,所述根据所述目标交易的运行日志数据确定该目标交易的跟踪结果,包括:

基于预设的跟踪规则和所述运行日志数据,确定所述目标交易当前的运行状态和该运行状态对应的节点;

应用目标交易当前的运行状态和该运行状态对应的节点确定该目标交易的跟踪结果。

进一步地,所述基于预设的跟踪规则和所述运行日志数据,确定所述目标交易当前的运行状态和该运行状态对应的节点,包括:

确定所述运行日志数据中涉及到的全部的所述节点;

获取所述运行日志数据中涉及到的各个所述节点各自对应的响应时间阈值;

根据各个所述节点各自对应的响应时间阈值确定所述目标交易的当前运行状态和对应的节点。

进一步地,所述根据各个所述节点各自对应的响应时间阈值确定所述目标交易的当前运行状态和对应的节点,包括:

判断所述目标交易在各个所述节点中的响应时长是否超过各自对应的响应时间阈值,若是,则确定所述目标交易的当前运行状态为响应失败状态;

根据所述目标交易的当前运行状态自所述运行日志数据中确定该运行状态对应的节点。

进一步地,所述根据各个所述节点各自对应的响应时间阈值确定所述目标交易的当前运行状态和对应的节点,还包括:

若经判断获知所述目标交易在各个所述节点中的响应时长均未超过各自对应的响应时间阈值,则确定所述目标交易的当前运行状态为响应成功状态;

基于预设的各个所述节点之间的运行顺序关系自所述运行日志数据中确定该运行状态对应的节点。

进一步地,还包括:

输出所述目标交易的跟踪结果以根据该跟踪结果获取所述目标交易的属性信息。

进一步地,所述属性信息包括:业务基本信息、节点应用信息和节点物理信息中的至少一项;

其中,所述业务基本信息用于存储对应的交易场景的属性;

所述节点应用信息用于存储对应的节点应用的应用属性;

所述节点物理信息对应的节点应用的物理属性。

进一步地,在所述接收针对目标交易的追踪指令之前,还包括:

应用预设的第一分布式数据库集群生成初始接入目标系统的各个交易唯一对应的交易跟踪号;

根据该交易跟踪号将对应的交易在各个所述节点中运行得到的日志数据均存储至预设的日志数据库中,其中,所述日志数据库为预设的第二分布式数据库集群中的一个,且所述第一分布式数据库集群与所述第二分布式数据库集群之间彼此独立设置。

进一步地,所述第一分布式数据库集群中的每个分布式数据库中均包含有用于生成所述交易跟踪号的跟踪号生成参数,且所述跟踪号生成参数包括:初始化参数、步长参数、流水自增长号、机器时间和机器地址;

其中,每个所述分布式数据库各自对应的初始化参数均不相同;

所述流水自增长号对应为所述分布式数据库的键值;

相对应的,所述交易跟踪号应用所述步长参数、流水自增长号、机器时间和机器地址生成。

第二方面,本申请提供一种交易跟踪装置,包括:

指令接收模块,用于接收针对目标交易的追踪指令,其中,该追踪指令中包含有所述目标交易唯一对应的交易跟踪号,且该交易跟踪号为在检测到该目标交易初始接入目标系统时应用预设的第一分布式数据库集群对应生成的;

运行日志获取模块,用于根据所述目标交易的交易跟踪号在预设的日志数据库中,获取该目标交易对应在所述目标系统中的运行日志数据,其中,所述日志数据库用于存储各个交易的交易跟踪号与各个运行日志数据之间的一一对应关系,且所述运行日志数据中包含有所述目标系统中的至少一个节点中的日志数据;

跟踪结果确定模块,用于根据所述目标交易的运行日志数据确定该目标交易的跟踪结果。

进一步地,所述跟踪结果确定模块,包括:

状态和节点确定子模块,用于基于预设的跟踪规则和所述运行日志数据,确定所述目标交易当前的运行状态和该运行状态对应的节点;

跟踪结果确定子模块,用于应用目标交易当前的运行状态和该运行状态对应的节点确定该目标交易的跟踪结果。

进一步地,所述状态和节点确定子模块包括:

节点确定单元,用于确定所述运行日志数据中涉及到的全部的所述节点;

阈值获取单元,用于获取所述运行日志数据中涉及到的各个所述节点各自对应的响应时间阈值;

状态和节点获取单元,用于根据各个所述节点各自对应的响应时间阈值确定所述目标交易的当前运行状态和对应的节点。

进一步地,所述状态和节点获取单元具体用于执行下述内容包括:

判断所述目标交易在各个所述节点中的响应时长是否超过各自对应的响应时间阈值,若是,则确定所述目标交易的当前运行状态为响应失败状态;

根据所述目标交易的当前运行状态自所述运行日志数据中确定该运行状态对应的节点。

进一步地,所述状态和节点获取单元还具体用于执行下述内容:

若经判断获知所述目标交易在各个所述节点中的响应时长均未超过各自对应的响应时间阈值,则确定所述目标交易的当前运行状态为响应成功状态;

基于预设的各个所述节点之间的运行顺序关系自所述运行日志数据中确定该运行状态对应的节点。

进一步地,还包括:

跟踪结果输出模块,用于输出所述目标交易的跟踪结果以根据该跟踪结果获取所述目标交易的属性信息。

进一步地,所述属性信息包括:业务基本信息、节点应用信息和节点物理信息中的至少一项;

其中,所述业务基本信息用于存储对应的交易场景的属性;

所述节点应用信息用于存储对应的节点应用的应用属性;

所述节点物理信息对应的节点应用的物理属性。

进一步地,还包括:

交易跟踪号生成模块,用于应用预设的第一分布式数据库集群生成初始接入目标系统的各个交易唯一对应的交易跟踪号;

日志数据存储模块,用于根据该交易跟踪号将对应的交易在各个所述节点中运行得到的日志数据均存储至预设的日志数据库中,其中,所述日志数据库为预设的第二分布式数据库集群中的一个,且所述第一分布式数据库集群与所述第二分布式数据库集群之间彼此独立设置。

进一步地,所述第一分布式数据库集群中的每个分布式数据库中均包含有用于生成所述交易跟踪号的跟踪号生成参数,且所述跟踪号生成参数包括:初始化参数、步长参数、流水自增长号、机器时间和机器地址;

其中,每个所述分布式数据库各自对应的初始化参数均不相同;

所述流水自增长号对应为所述分布式数据库的键值;

相对应的,所述交易跟踪号应用所述步长参数、流水自增长号、机器时间和机器地址生成。

第三方面,本申请提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现所述的交易跟踪方法的步骤。

第四方面,本申请提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现所述的交易跟踪方法的步骤。

由上述技术方案可知,本申请提供的交易跟踪方法及装置,其中的方法包括:接收针对目标交易的包含有目标交易唯一对应的交易跟踪号的追踪指令,该交易跟踪号为在检测到该目标交易初始接入目标系统时应用预设的第一分布式数据库集群对应生成的;在预设的日志数据库中获取该目标交易对应在目标系统中的运行日志数据,日志数据库存储各个交易的交易跟踪号与各个运行日志数据之间的一一对应关系,运行日志数据中包含有目标系统中的至少一个节点中的日志数据;根据目标交易的运行日志数据确定目标交易的跟踪结果,能够快速且有效地对交易进行跟踪监控,且跟踪过程可靠性高,并能够有效提高跟踪结果的准确性和全面性,实现交易的全链路监控,减少系统运维成本和压力,提升系统故障的识别能力,打通全行异构系统间的技术屏障,进而能够有效保证用户的交易安全及时效性。

附图说明

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

图1为本申请的基于企业级实现交易可跟踪的系统的架构示意图。

图2为本申请实施例中的交易跟踪方法的流程示意图。

图3为本申请实施例中的交易跟踪方法中的步骤300的流程示意图。

图4为本申请实施例中的交易跟踪方法中的步骤310的流程示意图。

图5为本申请实施例中的包含有步骤400的交易跟踪方法的流程示意图。

图6为本申请实施例中的交易跟踪方法中的步骤010和步骤020的流程示意图。

图7为本申请具体应用实例中的企业级交易跟踪号生成系统的结构示意图。

图8为本申请具体应用实例中的企业级日志系统的结构示意图。

图9为本申请实施例中的交易跟踪装置的结构示意图。

图10为本申请实施例中的电子设备的结构示意图。

具体实施方式

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

考虑到随着各银行加强自主化研发,分布式框架和服务注册中心的应用越来越多,尤其是api金融生态圈的发展,银行内部各系统间的耦合度进一步降低,系统之间越来越独立,交易链路在系统中无法展现,分析并定位有问题的节点难度越来越高,将加大银行系统的运维压力和维护成本。本申请提供一种交易跟踪方法、交易跟踪装置、电子设备和计算机可读存储介质,通过接收针对目标交易的追踪指令,其中,该追踪指令中包含有所述目标交易唯一对应的交易跟踪号,且该交易跟踪号为在检测到该目标交易初始接入目标系统时应用预设的第一分布式数据库集群对应生成的;根据所述目标交易的交易跟踪号在预设的日志数据库中,获取该目标交易对应在所述目标系统中的运行日志数据,其中,所述日志数据库用于存储各个交易的交易跟踪号与各个运行日志数据之间的一一对应关系,且所述运行日志数据中包含有所述目标系统中的至少一个节点中的日志数据;根据所述目标交易的运行日志数据确定该目标交易的跟踪结果,在交易入口端从企业级“交易跟踪号(traceid)获取服务”获取交易的唯一标示符交易跟踪号(traceid),并通过集中日志构件收集交易链路的各节点信息,实现交易的全链路记录,并通过交易跟踪号(traceid)监控交易的具体情况,能够快速且有效地对交易进行跟踪监控,且跟踪过程可靠性高,并能够有效提高跟踪结果的准确性和全面性,实现交易的全链路监控,减少系统运维成本和压力,提升系统故障的识别能力,打通全行异构系统间的技术屏障,进而能够有效保证用户的交易安全及时效性。

本申请提供的一种基于企业级实现交易可跟踪的系统有现由现有各异构应用系统、企业级交易跟踪号生成系统及企业级日志中心系统组成;同时本申请还提供一种基于分布式架构的交易跟踪号生成方法。

如图1所示,基于企业级实现交易可跟踪的系统由现有的异构应用系统1、企业级交易跟踪号生成系统2和企业级日志中心系统3组成。

现有的异构应用系统1是企业现有的各个应用系统组成,可以包含有渠道应用、前置应用、主机应用和平台应用,通过各系统提供的接口或服务,完成交易的全部功能,现有各系统可能是异构的,技术平台可以是大型机、集中式平台,甚至是分布式平台,由于各平台差异较大,甚至信息不共享,很难实现交易全链路的跟踪和分析。

企业级交易跟踪号生成系统2是本申请核心组成部分,建立企业级esb服务总线,通过服务注册中心,向企业所有系统提供标准化的、可共享的、通用的企业级交易跟踪号(traceid)生成服务,采用分布式平台技术,利用服务器集群建立高时效、高并发、负载均衡的高可用系统,利用唯一性算法,确保在同一时间下所有集群下的交易跟踪号(traceid)是唯一的。在交易接入企业系统时,在交易的开始端立即调用企业级交易跟踪号(traceid)生成服务,获取每笔交易的唯一交易跟踪号(traceid),实现交易的唯一识别标签,并将交易跟踪号(traceid)作为交易要素,实现在交易链路的各个环节传递。

企业级日志中心系统3是为企业各异构系统提供应用节点访问的日志登记服务和日志存储服务,建立企业级esb服务总线,通过服务注册中心,向企业所有系统提供标准化的、可共享的、通用的日志记录服务。企业的各异构应用系统1在调用日志登记服务时候,均需要将交易跟踪号(traceid)记录到日志记录中,从而实现通过交易跟踪号(traceid)关联识别交易的全链路;同时基于企业级日志提供日志分析方法和工具,可实现交易跟踪和业务分析,并能监控系统的异常情况。根据所述交易跟踪号获取日志中所述交易对应的相关运行日志数据,根据所述运行日志数据进行预设的阈值比较,根据比较结果确定所述交易的运行状态,以及根据所述运行状态于所述日志数据中获得对应的运行位置,根据所述运行位置及所述运行状态获得分析结果。

针对上述内容,本申请实施例提供一种用于实现交易跟踪方法的交易跟踪装置,所述交易跟踪装置可以为一种服务器,所述服务器可以至少一个数据库之间通信连接,还可以与至少一个客户端设备之间通信连接。所述服务器在线接收客户端发送的针对目标交易的追踪指令,其中,该追踪指令中包含有所述目标交易唯一对应的交易跟踪号,且该交易跟踪号为在检测到该目标交易初始接入目标系统时应用预设的第一分布式数据库集群对应生成的,服务器根据所述目标交易的交易跟踪号在预设的日志数据库中,获取该目标交易对应在所述目标系统中的运行日志数据,其中,所述日志数据库用于存储各个交易的交易跟踪号与各个运行日志数据之间的一一对应关系,且所述运行日志数据中包含有所述目标系统中的至少一个节点中的日志数据;服务器根据所述目标交易的运行日志数据确定该目标交易的跟踪结果,并将该跟踪结果发送至对应的客户端,以快速且有效地对交易进行跟踪监控,且跟踪过程可靠性高,并能够有效提高跟踪结果的准确性和全面性,实现交易的全链路监控,减少系统运维成本和压力,提升系统故障的识别能力,打通全行异构系统间的技术屏障,进而能够有效保证用户的交易安全及时效性。

可以理解的是,所述客户端设备可以包括智能手机、平板电子设备、网络机顶盒、便携式计算机、台式电脑、个人数字助理(pda)、车载设备、智能穿戴设备等。其中,所述智能穿戴设备可以包括智能眼镜、智能手表、智能手环等。

在实际应用中,交易跟踪的部分可以在如上述内容所述的服务器侧执行,也可以所有的操作都在所述客户端设备中完成。具体可以根据所述客户端设备的处理能力,以及用户使用场景的限制等进行选择。本申请对此不作限定。若所有的操作都在所述客户端设备中完成,所述客户端设备还可以包括处理器。

上述的客户端设备可以具有通信模块(即通信单元),可以与远程的服务器进行通信连接,实现与所述服务器的数据传输。所述服务器可以包括任务调度中心一侧的服务器,其他的实施场景中也可以包括中间平台的服务器,例如与任务调度中心服务器有通信链接的第三方服务器平台的服务器。所述的服务器可以包括单台计算机设备,也可以包括多个服务器组成的服务器集群,或者分布式装置的服务器结构。

所述服务器与所述客户端设备之间可以使用任何合适的网络协议进行通信,包括在本申请提交日尚未开发出的网络协议。所述网络协议例如可以包括tcp/ip协议、udp/ip协议、http协议、https协议等。当然,所述网络协议例如还可以包括在上述协议之上使用的rpc协议(remoteprocedurecallprotocol,远程过程调用协议)、rest协议(representationalstatetransfer,表述性状态转移协议)等。

为了能够快速且有效地对交易进行跟踪监控,并提高跟踪结果的准确性和全面性,本申请提供一种执行主体可以为前述的服务器的交易跟踪方法的实施例,参见图2,所述交易跟踪方法具体包含有如下内容:

步骤100:接收针对目标交易的追踪指令,其中,该追踪指令中包含有所述目标交易唯一对应的交易跟踪号,且该交易跟踪号为在检测到该目标交易初始接入目标系统时应用预设的第一分布式数据库集群对应生成的。

步骤200:根据所述目标交易的交易跟踪号在预设的日志数据库中,获取该目标交易对应在所述目标系统中的运行日志数据,其中,所述日志数据库用于存储各个交易的交易跟踪号与各个运行日志数据之间的一一对应关系,且所述运行日志数据中包含有所述目标系统中的至少一个节点中的日志数据。

步骤300:根据所述目标交易的运行日志数据确定该目标交易的跟踪结果。

为了能够有效提高跟踪结果的获取准确性和高效性,以进一步快速且有效地对交易进行跟踪监控,在本申请的交易跟踪方法的一个实施例中,参见图3,所述交易跟踪方法中的步骤300具体包含有如下内容:

步骤310:基于预设的跟踪规则和所述运行日志数据,确定所述目标交易当前的运行状态和该运行状态对应的节点。

步骤320:应用目标交易当前的运行状态和该运行状态对应的节点确定该目标交易的跟踪结果。

为了能够有效提高目标交易当前的运行状态和该运行状态对应的节点的获取准确性和高效性,以进一步快速且有效地对交易进行跟踪监控,在本申请的交易跟踪方法的一个实施例中,参见图4,所述交易跟踪方法中的步骤310具体包含有如下内容:

步骤311:确定所述运行日志数据中涉及到的全部的所述节点。

步骤312:获取所述运行日志数据中涉及到的各个所述节点各自对应的响应时间阈值。

步骤313:根据各个所述节点各自对应的响应时间阈值确定所述目标交易的当前运行状态和对应的节点。

在一种步骤313的一种具体举例中,具体可以包含有如下内容:

(1)判断所述目标交易在各个所述节点中的响应时长是否超过各自对应的响应时间阈值,若是,则确定所述目标交易的当前运行状态为响应失败状态;

(2)根据所述目标交易的当前运行状态自所述运行日志数据中确定该运行状态对应的节点。

在一种步骤313的另一种具体举例中,具体可以包含有如下内容:

(1)若经判断获知所述目标交易在各个所述节点中的响应时长均未超过各自对应的响应时间阈值,则确定所述目标交易的当前运行状态为响应成功状态;

(2)基于预设的各个所述节点之间的运行顺序关系自所述运行日志数据中确定该运行状态对应的节点。

为了在快速且有效地对交易进行跟踪监控,并提高跟踪结果的准确性和全面性的基础上,进一步应用交易结果保证用户的交易安全及时效性,在本申请的交易跟踪方法的一个实施例中,参见图5,在步骤300之后还具体包含有如下内容:

步骤400:输出所述目标交易的跟踪结果以根据该跟踪结果获取所述目标交易的属性信息。

可以理解的是,所述属性信息包括:业务基本信息、节点应用信息和节点物理信息中的至少一项;其中,所述业务基本信息用于存储对应的交易场景的属性;所述节点应用信息用于存储对应的节点应用的应用属性;所述节点物理信息对应的节点应用的物理属性。

为了有效提高日志数据库的应用可靠性和准确性,以进一步快速且有效地对交易进行跟踪监控,并提高跟踪结果的准确性和全面性,在本申请的交易跟踪方法的一个实施例中,参见图6,在步骤100之前还具体包含有如下内容:

步骤010:应用预设的第一分布式数据库集群生成初始接入目标系统的各个交易唯一对应的交易跟踪号。

步骤020:根据该交易跟踪号将对应的交易在各个所述节点中运行得到的日志数据均存储至预设的日志数据库中,其中,所述日志数据库为预设的第二分布式数据库集群中的一个,且所述第一分布式数据库集群与所述第二分布式数据库集群之间彼此独立设置。

可以理解的是,所述第一分布式数据库集群中的每个分布式数据库中均包含有用于生成所述交易跟踪号的跟踪号生成参数,且所述跟踪号生成参数包括:初始化参数、步长参数、流水自增长号、机器时间和机器地址;其中,每个所述分布式数据库各自对应的初始化参数均不相同;所述流水自增长号对应为所述分布式数据库的键值;相对应的,所述交易跟踪号应用所述步长参数、流水自增长号、机器时间和机器地址生成。

为了进一步说明本方案,本申请还提供一种交易跟踪方法的具体应用实例,具体包含有如下内容:

(一)如图7所示,本申请还提供的一种企业级交易跟踪号生成系统,它是交易跟踪方法得以实现的关键组成部分。企业级交易跟踪号生成系统由数据库redis集群10、负载均衡处理模块17和交易跟踪号生成模块18组成。

redis集群10采用一组基于内存、高性能、可持久化的key-value数据库redis,利用redis集群可以解决单点故障,提供高时效、高并发、高可用的系统。

每台redis由初始化参数11、步长参数12、流水自增长号(key-value)13、机器时间14、机器地址15和初始化模块16组成。

(1)初始化参数11是每台redis设置的流水号初始化值,每日系统都会对流水自增长号(key-value)13做初始化处理,为了保障每台redis生成的流水自增长号(key-value)13不重复,控制每台redis的初始化参数值均不同。

(2)步长参数12是每台redis设置的流水号增长步长参数,通过步长参数,实现流水自增长号(key-value)的连续和唯一。

(3)流水自增长号(key-value)13是即redis的key-value值,集群内所有的key-value值均是唯一的,假如一个集群中有5台redis,初始化每台redis的值分别是1、2、3、4、5,每台步长设置为5,各个redis生成的流水号如下表1所示,均是不重复的。

表1

(4)机器时间14是redis的机器时钟,通过时钟触发初始化处理,同时也是业务生成交易跟踪号(traceid)的要素。

(5)机器地址15可以是redis的物理地址信息,可以是mac地址等机器唯一标识,是生成交易跟踪号(traceid)的要素。

(6)初始化模块16是利用时钟实现对流水自增长号的初始化处理,确保每天每台redis的流水自增长号(key-value)是不重复且从初始值开始累积。

(7)负载均衡处理模块17是更好实现redis资源合理分配和使用,使资源达到最高利用,目前大部门负载均衡都是采用静态分配的方式,无法根据cpu、内存等系统资源的使用情况自动动态调整交易并发数,因此本申请提供一种可以根据资源使用情况进行负载均衡的策略。在服务中心设置一个进程专门去检测各redis的系统资源运行状态,该进程不受网络因素的影响,当检测到系统资源使用异常时(例如cpu使用率连续3秒达到95%)时,关闭服务准入开关并通过zookeeper通知服务中心,阻止服务请求的执行,当系统资源恢复良好后,打开服务准入开关并通过zookeeper通知服务中心。同时系统提供拒绝服务功能,监控进程监控单个服务运行的情况,若某个服务由于程序问题(死循环)带来了巨大的资源消耗较大,通过zookeeper通知服务中心,拒绝此类服务的调用,以保证其他服务的访问正常。

(8)交易跟踪号生成模块18是利用redis算法,组合步长参数、流水自增长号、机器时间和机器地址,生成企业级的、唯一的、有序的交易跟踪号(traceid),如应用系统调用交易跟踪号生成服务从某台redis生成交易跟踪号(traceid),redis的流水自增长号是21、步长参数是5、redis的机器时间是2019.07.1712121212001,机器地址是122.131.15.100,则生成的唯一的交易跟踪号(traceid)是122.131.15.100-2019.07.1712121212001-26

(二)如图8所示,本申请还提供的一种企业级日志系统,通过交易跟踪号(traceid)将不同系统的孤立调用信息关联在一起,还原交易场景,获取更多有价值的数据,打造覆盖业务运营层面、应用管理层面和系统层面的立体化日志中心。该系统主要由日志集群20、路由模块21、日志生成模块22、业务分析模块23、应用分析模块24和系统分析模块25组成。

(1)日志集群20采用一组基于高性能、分布式的数据库(如mysql),利用集群提供高时效、高并发、高可用的数据库。数据表是交易的存储单元,是应用分析、业务分析和系统分析的基础,每条数据记录至少包含交易跟踪号traceid,业务基本信息、节点应用信息和节点系统信息。业务基本信息主要是存储交易场景的属性,包含唯一的业务编号和交易卡号等要素信息;节点应用信息主要是存储节点应用的应用属性,包含应用名称,应用服务名称、交易进入节点时间、交易推出点时间等;节点系统信息主要是存储节点应用的物理属性,包含cpu,内存和网络的使用情况。

(2)路由模块21采用一组基于路由算法能快速定位交易信息所在的物理数据库表,同时利用路由算法实现数据库集群资源合理分配和使用,提高并发度并实现负载均衡,并能根据资源的使用情况实现数据集群的动态伸缩容。

(3)日志生成模块22主要提供生成统一的、标准的、固定格式的日志数据,实现收集业务信息、应用信息和系统信息并登记到日志中心。

(4)业务分析模块23主要根据日志中心分析业务经营指标、业务发展趋势、交易实时统计等业务指标。

(5)应用分析模块24主要根据日志中心分析交易链路、全局应用拓扑网络、交易对账处理、应用节点异常统计、应用服务时效等应用指标。交易链路分析主要是根据traceid获取交易全路径的所有信息,可以更加直观的定位异常、耗时等问题;全局应用拓扑网络可以看到上下游应用之间复杂的调用关系,可以分析交易来源、去向、识别不合理来源和错误关系。交易对账处理可以实现交易的发起应用与交易参与应用之间进行交易一致性对账处理,识别不完整的交易并报警提示;应用服务时效主要分析应用节点服务运行的时间,识别服务超时提示。

(6)应用分析模块25主要根据日志中心分析系统资源的使用情况,可以实时监控全局系统的性能和容量情况,并报警资源异常提示,从而实现数据资源的伸缩容。

从上述描述可知,本申请应用实例提供的应用企业级交易跟踪号生成系统和企业级日志系统辅助服务器实现的交易跟踪方法,在分布式系统实现交易的可跟踪,并对交易链路实现全息跟踪和分析,从而识别故障点、性能瓶颈、强依赖等问题;也可根据链路调用比例、峰值qps评估容量,提升整个企业的系统运维能力和水平,大大提升错误排查速度。

从软件层面来说,为了能够快速且有效地对交易进行跟踪监控,且跟踪过程可靠性高,并能够有效提高跟踪结果的准确性和全面性,本申请提供一种用于实现所述交易跟踪方法中的全部或部分内容的交易跟踪装置的实施例,参见图9,所述交易跟踪装置具体包含有如下内容:

指令接收模块10,用于接收针对目标交易的追踪指令,其中,该追踪指令中包含有所述目标交易唯一对应的交易跟踪号,且该交易跟踪号为在检测到该目标交易初始接入目标系统时应用预设的第一分布式数据库集群对应生成的。

运行日志获取模块20,用于根据所述目标交易的交易跟踪号在预设的日志数据库中,获取该目标交易对应在所述目标系统中的运行日志数据,其中,所述日志数据库用于存储各个交易的交易跟踪号与各个运行日志数据之间的一一对应关系,且所述运行日志数据中包含有所述目标系统中的至少一个节点中的日志数据。

跟踪结果确定模块30,用于根据所述目标交易的运行日志数据确定该目标交易的跟踪结果。

本申请实施例提供的交易跟踪装置的实施例具体可以用于执行上述实施例中的交易跟踪方法的实施例的处理流程,其功能在此不再赘述,可以参照上述交易跟踪方法实施例的详细描述。

从上述描述可知,本申请实施例提供的交易跟踪装置,能够快速且有效地对交易进行跟踪监控,且跟踪过程可靠性高,并能够有效提高跟踪结果的准确性和全面性,实现交易的全链路监控,减少系统运维成本和压力,提升系统故障的识别能力,打通全行异构系统间的技术屏障,进而能够有效保证用户的交易安全及时效性。

为了能够有效提高跟踪结果的获取准确性和高效性,以进一步快速且有效地对交易进行跟踪监控,在本申请的交易跟踪装置的一个实施例中,所述交易跟踪装置中的跟踪结果确定模块30具体包含有如下内容:

状态和节点确定子模块,用于基于预设的跟踪规则和所述运行日志数据,确定所述目标交易当前的运行状态和该运行状态对应的节点;

跟踪结果确定子模块,用于应用目标交易当前的运行状态和该运行状态对应的节点确定该目标交易的跟踪结果。

为了能够有效提高目标交易当前的运行状态和该运行状态对应的节点的获取准确性和高效性,以进一步快速且有效地对交易进行跟踪监控,在本申请的交易跟踪装置的一个实施例中,状态和节点确定子模块具体包含有如下内容:

节点确定单元,用于确定所述运行日志数据中涉及到的全部的所述节点;

阈值获取单元,用于获取所述运行日志数据中涉及到的各个所述节点各自对应的响应时间阈值;

状态和节点获取单元,用于根据各个所述节点各自对应的响应时间阈值确定所述目标交易的当前运行状态和对应的节点。

在一种状态和节点获取单元的一种具体举例中,所述状态和节点获取单元具体可以包含有如下内容:

判断所述目标交易在各个所述节点中的响应时长是否超过各自对应的响应时间阈值,若是,则确定所述目标交易的当前运行状态为响应失败状态;

根据所述目标交易的当前运行状态自所述运行日志数据中确定该运行状态对应的节点。

在一种状态和节点获取单元的另一种具体举例中,所述状态和节点获取单元具体可以包含有如下内容:

若经判断获知所述目标交易在各个所述节点中的响应时长均未超过各自对应的响应时间阈值,则确定所述目标交易的当前运行状态为响应成功状态;

基于预设的各个所述节点之间的运行顺序关系自所述运行日志数据中确定该运行状态对应的节点。

为了在快速且有效地对交易进行跟踪监控,并提高跟踪结果的准确性和全面性的基础上,进一步应用交易结果保证用户的交易安全及时效性,在本申请的交易跟踪装置的一个实施例中,还具体包含有如下内容:

跟踪结果输出模块,用于输出所述目标交易的跟踪结果以根据该跟踪结果获取所述目标交易的属性信息。

可以理解的是,所述属性信息包括:业务基本信息、节点应用信息和节点物理信息中的至少一项;其中,所述业务基本信息用于存储对应的交易场景的属性;所述节点应用信息用于存储对应的节点应用的应用属性;所述节点物理信息对应的节点应用的物理属性。

为了有效提高日志数据库的应用可靠性和准确性,以进一步快速且有效地对交易进行跟踪监控,并提高跟踪结果的准确性和全面性,在本申请的交易跟踪装置的一个实施例中,还具体包含有如下内容:

交易跟踪号生成模块,用于应用预设的第一分布式数据库集群生成初始接入目标系统的各个交易唯一对应的交易跟踪号。

日志数据存储模块,用于根据该交易跟踪号将对应的交易在各个所述节点中运行得到的日志数据均存储至预设的日志数据库中,其中,所述日志数据库为预设的第二分布式数据库集群中的一个,且所述第一分布式数据库集群与所述第二分布式数据库集群之间彼此独立设置。

可以理解的是,所述第一分布式数据库集群中的每个分布式数据库中均包含有用于生成所述交易跟踪号的跟踪号生成参数,且所述跟踪号生成参数包括:初始化参数、步长参数、流水自增长号、机器时间和机器地址;其中,每个所述分布式数据库各自对应的初始化参数均不相同;所述流水自增长号对应为所述分布式数据库的键值;相对应的,所述交易跟踪号应用所述步长参数、流水自增长号、机器时间和机器地址生成。

从硬件层面来说,为了能够快速且有效地对交易进行跟踪监控,且跟踪过程可靠性高,并能够有效提高跟踪结果的准确性和全面性,进而能够有效保证用户的交易安全及时效性,本申请提供一种用于实现所述交易跟踪方法中的全部或部分内容的电子设备的实施例,所述电子设备具体包含有如下内容:

处理器(processor)、存储器(memory)、通信接口(communicationsinterface)和总线;其中,所述处理器、存储器、通信接口通过所述总线完成相互间的通信;所述通信接口用于实现交易跟踪装置、企业级交易跟踪号生成系统、企业级日志系统、各类数据库以及用户终端等相关设备之间的信息传输;该电子设备可以是台式计算机、平板电脑及移动终端等,本实施例不限于此。在本实施例中,该电子设备可以参照实施例中的交易跟踪方法的实施例,以及,交易跟踪装置的实施例进行实施,其内容被合并于此,重复之处不再赘述。

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

一实施例中,交易跟踪功能可以被集成到中央处理器9100中。其中,中央处理器9100可以被配置为进行如下控制:

步骤100:接收针对目标交易的追踪指令,其中,该追踪指令中包含有所述目标交易唯一对应的交易跟踪号,且该交易跟踪号为在检测到该目标交易初始接入目标系统时应用预设的第一分布式数据库集群对应生成的。

步骤200:根据所述目标交易的交易跟踪号在预设的日志数据库中,获取该目标交易对应在所述目标系统中的运行日志数据,其中,所述日志数据库用于存储各个交易的交易跟踪号与各个运行日志数据之间的一一对应关系,且所述运行日志数据中包含有所述目标系统中的至少一个节点中的日志数据。

步骤300:根据所述目标交易的运行日志数据确定该目标交易的跟踪结果。

从上述描述可知,本申请实施例提供的电子设备,能够快速且有效地对交易进行跟踪监控,且跟踪过程可靠性高,并能够有效提高跟踪结果的准确性和全面性,实现交易的全链路监控,减少系统运维成本和压力,提升系统故障的识别能力,打通全行异构系统间的技术屏障,进而能够有效保证用户的交易安全及时效性。

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

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

如图10所示,中央处理器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来播放本机上存储的声音。

本申请的实施例还提供能够实现上述实施例中的执行主体为服务器或客户端的交易跟踪方法中全部步骤的一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中的执行主体为服务器或客户端的交易跟踪方法的全部步骤,例如,所述处理器执行所述计算机程序时实现下述步骤:

步骤100:接收针对目标交易的追踪指令,其中,该追踪指令中包含有所述目标交易唯一对应的交易跟踪号,且该交易跟踪号为在检测到该目标交易初始接入目标系统时应用预设的第一分布式数据库集群对应生成的。

步骤200:根据所述目标交易的交易跟踪号在预设的日志数据库中,获取该目标交易对应在所述目标系统中的运行日志数据,其中,所述日志数据库用于存储各个交易的交易跟踪号与各个运行日志数据之间的一一对应关系,且所述运行日志数据中包含有所述目标系统中的至少一个节点中的日志数据。

步骤300:根据所述目标交易的运行日志数据确定该目标交易的跟踪结果。

从上述描述可知,本申请实施例提供的计算机可读存储介质,能够快速且有效地对交易进行跟踪监控,且跟踪过程可靠性高,并能够有效提高跟踪结果的准确性和全面性,实现交易的全链路监控,减少系统运维成本和压力,提升系统故障的识别能力,打通全行异构系统间的技术屏障,进而能够有效保证用户的交易安全及时效性。

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

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

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

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

本发明中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1