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.在确定目标交易数据是来自分布式交易系统中的其他节点服务器的情况下,查询获取处理该目标交易数据的上一个节点服务器生成的上一个子流水号,以及针对目标交易消息的目标全局流水号;
32.生成当前的子流水号,并将上一个子流水号确定为当前的父流水号;
33.根据当前的子流水号、当前的父流水号,以及目标全局流水号,生成针对该目标交易数据的目标交易消息;其中,所述目标消息中的预设的报文头结构包括:节点服务器所在的子系统的子系统标识、全局流水号、当前子流水号以及当前父流水号。
34.进一步地,所述方法的另一个实施例中,在生成针对该目标交易数据的目标交易消息之后,所述方法还包括:
35.将所述目标交易消息上传并保存至预设的数据库中。
36.进一步地,所述方法的另一个实施例中,所述将所述目标交易消息上传至预设的
数据库中,包括:
37.将所述目标交易消息发送至预设的kafka消息队列;其中,所述预设的kafka消息队列用于以异步上传的方式将所述目标交易消息上传至预设的数据库。
38.本发明实施例还提供一种交易数据的追踪装置,用以准确追踪交易数据的传递路径,该装置应用于中心服务器,其中,所述中心服务器部署于分布式交易系统,所述分布式交易系统包括多个子系统的节点服务器,该装置包括:
39.第一接收模块,用于接收目标用户终端发起的关于目标交易数据的目标跟踪请求;其中,所述目标跟踪请求至少携带有子系统标识;
40.第一查询模块,用于根据子系统标识,查询得到与所述目标交易数据关联的目标全局流水号;
41.第二查询模块,用于根据所述目标全局流水号查询预设的数据库,以获取与所述目标交易数据相关的多个目标交易消息;其中,所述预设的数据库存储有多个交易消息;所述交易消息为节点服务器在处理交易数据时根据预设的协议规则生成并上传至预设的数据库的;所述交易消息至少包括全局流水号、父流水号和子流水号;
42.拼接模块,用于根据多个目标交易消息中的各个目标交易消息所包含的父流水号和子流水号,拼接多个目标交易消息,以得到针对所述目标交易数据的目标日志;
43.日志生成模块,用于根据所述目标日志,生成关于所述目标交易数据的目标追踪结果;并将所述目标追踪结果发送至所述目标用户终端。
44.本发明实施例还提供另一种交易数据的追踪装置,该装置应用于节点服务器,其中,所述节点服务器部署于分布式交易系统,所述分布式交易系统包括多个子系统的节点服务器,该装置包括:
45.第二接收模块,用于接收目标交易数据;
46.检测模块,用于检测目标交易数据是否来自分布式交易系统中的其他节点服务器;
47.流水号生成模块,用于在确定目标交易数据不是来自分布式交易系统中的其他节点服务器的情况下,根据预设的协议规则,生成针对该目标交易数据的全局流水号;
48.消息生成模块,用于根据目标交易数据的全局流水号,生成针对该目标交易数据的目标交易消息;其中,目标交易消息包括预设的报文头结构;所述预设的报文头结构至少包括:节点服务器所在的子系统的子系统标识、全局流水号和子流水号。
49.本发明实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述交易数据的追踪方法。
50.本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述交易数据的追踪方法。
51.本发明实施例还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现上述交易数据的追踪方法。
52.本发明实施例可以生成携带有全局流水号、父流水号、子流水号的交易消息,从预设的数据库中检索出所有携带有目标全局流水号的多个目标交易消息,再通过父流水号、子流水号把多个目标交易消息拼接起来,最终得到了关于目标交易数据的目标追踪结果,
目标追踪结果可以准确反映出目标交易数据依次经历过的节点服务器或者子系统,能够实现交易数据的快速、准确追踪,为排查交易错误提供了数据基础。
附图说明
53.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
54.图1为本发明实施例中一种交易数据的追踪方法的流程示意图;
55.图2为本发明实施例中另一种交易数据的追踪方法的流程示意图;
56.图3为本发明实施例中一种交易数据传递流程示意图;
57.图4为本发明实施例中一种交易数据的追踪装置的一种结构框图;
58.图5为本发明实施例中另一种交易数据的追踪装置的一种结构框图;
59.图6为本发明实施例中一种计算机设备的硬件结构示意图。
具体实施方式
60.为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书保护的范围。
61.考虑到现有的分布式系统架构中,存在着多个子系统,每个子系统对应着多个节点服务器。每当产生一笔交易,该笔交易会依次被多个子系统、多个节点服务器处理,相应的,产生分布于不同节点服务器上的交易消息。由于有些节点的功能是一样的,因此无法准确判断出当前时间上该笔交易落于哪个节点上。想要按照处理顺序查看该笔交易依次经过了哪些系统或者节点服务器,也就是确定该笔交易的交易链路,就需要遍历分布于不同地域的众多节点服务器中的交易消息,这种方法耗时耗力。
62.进一步,还考虑到众多节点服务器中的交易消息,它们的格式各不相同,在遍历的过程中,难以快速地提取出使用者需要的关键信息。
63.针对现有方法存在的上述问题以及产生上述问题的具体原因,本技术考虑引入基于父流水号和子流水号的交易数据的追踪方法,以实现快速获取交易链路。
64.基于上述思路,本说明书提出一种交易数据的追踪方法,该方法应用于中心服务器,其中,所述中心服务器部署于分布式交易系统,所述分布式交易系统包括多个子系统的节点服务器。首先,接收目标用户终端发起的关于目标交易数据的目标跟踪请求;其中,所述目标跟踪请求至少携带有子系统标识;根据子系统标识,查询得到与所述目标交易数据关联的目标全局流水号;根据所述目标全局流水号查询预设的数据库,以获取与所述目标交易数据相关的多个目标交易消息;其中,所述预设的数据库存储有多个交易消息;所述交易消息为节点服务器在处理交易数据时根据预设的协议规则生成并上传至预设的数据库的;所述交易消息至少包括全局流水号、父流水号和子流水号;然后,根据多个目标交易消
息中的各个目标交易消息所包含的父流水号和子流水号,拼接多个目标交易消息,以得到针对所述目标交易数据的目标日志;最后,根据所述目标日志,生成关于所述目标交易数据的目标追踪结果;并将所述目标追踪结果发送至所述目标用户终端。
65.图1是本技术提供的一种交易数据的追踪方法一种实施例的方法流程图,虽然本技术提供了如下述实施例或附图所示的方法操作步骤或装置结构,但基于常规或者无需创造性的劳动在所述方法或装置中可以包括更多或者更少的操作步骤或模块单元。在逻辑性上不存在必要因果关系的步骤或结构中,这些步骤的执行顺序或装置的模块结构不限于本技术实施例描述及附图所示的执行顺序或模块结构。所述的方法或模块结构的在实际中的装置或终端产品应用时,可以按照实施例或者附图所示的方法或模块结构连接进行顺序执行或者并行执行(例如并行处理器或者多线程处理的环境,甚至分布式处理环境)。
66.具体的,参阅图1所示,上述一种交易数据的追踪方法应用于中心服务器,其中,所述中心服务器部署于分布式交易系统,所述分布式交易系统包括多个子系统的节点服务器。具体实施时,该方法可以包括以下内容。
67.s101:接收目标用户终端发起的关于目标交易数据的目标跟踪请求;其中,所述目标跟踪请求至少携带有子系统标识。
68.需要说明的是,本技术所获取和使用的与用户相关的数据均为在用户知晓且同意的前提下获取和使用的。并且本技术技术方案中对上述数据的获取、存储、使用、处理等均符合国家法律法规的相关规定。
69.在一些实施例中,上述分布式交易系统,包括中心服务器以及多个子系统,其中,每个子系统有一个或者多个节点服务器,不同的节点服务器可以分布于不同的地区。可选的,在分布式交易系统之外,还可以设置一个预设的数据库,该预设的数据库用于存储和子系统有关的交易消息,也就是用于存储被子系统对应的节点服务器所处理而得到的交易消息。
70.在一些实施例中,上述子系统,具体可以包括:资源管理子系统、风险预警子系统、客户管理子系统等等。
71.在一些实施例中,用户使用目标用户终端,发起关于目标交易数据的目标跟踪请求;其中,所述目标跟踪请求至少携带有子系统标识;通过子系统标识,可以确定出该子系统标识对应的子系统。
72.在一些实施例中,上述目标跟踪请求,还可以包括:权限验证信息;在中心服务器接收到目标跟踪请求后,可以从目标跟踪请求中提取权限验证信息,并将权限验证信息和预设的权限信息数据库中的权限信息进行比对,在比对通过的情况下,认为该用户具有权限,因此可以进行目标交易数据的目标跟踪;具体的,比对方法可以包括指纹匹配等。
73.s102:根据子系统标识,查询得到与所述目标交易数据关联的目标全局流水号。
74.在一些实施例中,每当有交易数据输入到分布式交易系统,就会有多个子系统对它进行交易处理;具体来说,是子系统所对应的节点服务器对它进行交易处理。当第一个节点服务器对交易数据对交易数据进行处理时,会生成一个全局流水号;接下来,除第一个节点服务器以外的节点服务器会依次对交易数据进行处理,并在处理过程中沿用全局流水号。相应的,目标交易数据对应着与目标交易数据关联的目标全局流水号。
75.在一些实施例中,根据子系统标识,查询得到与所述目标交易数据关联的目标全
局流水号,具体实施时,可以包括:根据子系统标识,查询对应子系统的交易数据处理列表,以确定出与目标交易数据关联的目标全局流水号。
76.在一些实施例中,每个子系统都有对应的交易数据处理列表,在交易数据处理列表中,记录了交易数据与全局流水号的对应关系。因此,在接收到关于目标交易数据的目标跟踪请求后,就可以根据目标交易数据确定出与目标交易数据关联的目标全局流水号。
77.s103:根据所述目标全局流水号查询预设的数据库,以获取与所述目标交易数据相关的多个目标交易消息;其中,所述预设的数据库存储有多个交易消息;所述交易消息为节点服务器在处理交易数据时根据预设的协议规则生成并上传至预设的数据库的;所述交易消息至少包括全局流水号、父流水号和子流水号。
78.在一些实施例中,上述交易消息还可以包括:子系统标识、节点标识、交易状态;其中,节点标识用于表征生成该交易消息的节点服务器;子系统标识用于表征前述节点服务器所属于的子系统。
79.在一个具体的场景示例中,参阅图3所示,一个交易数据被输入到分布式交易系统,它首先被子系统1所对应的节点服务器1、节点服务器2处理,然后被子系统2所对应的节点服务器3、节点服务器4处理;当它被节点服务器1处理后,会生成交易信息1,其中,交易信息1中携带全局流水号a100;接下来,交易数据被发送至节点服务器2,在被节点服务器2处理时,生成交易信息2并沿用全局流水号a100;以此类推,当它被节点服务器3、节点服务器4处理时继续沿用全局流水号a100。当完成处理后,所有的交易消息都会被存储进预设的数据库。因此,只要已知全局流水号a100,就可以根据全局流水号a100在预设的数据库中进行查询,经过查询可以得知和该交易数据有关的交易消息,再根据交易消息中的子系统标识、节点标识,可以得知处理过该交易数据的子系统和节点服务器。
80.在一些实施例中,每当交易数据被节点服务器处理时,就会生成本次处理的子流水号,而上一次处理的子流水号会作为本次处理的父流水号;本次处理的子流水号又会传递到下一次处理中,作为下一次处理的父流水号,以此类推,直到所有处理结束。
81.在一些实施例中,当交易数据被第一个节点服务器处理时,它所对应的父流水号可以设置为空。
82.s104:根据多个目标交易消息中的各个目标交易消息所包含的父流水号和子流水号,拼接多个目标交易消息,以得到针对所述目标交易数据的目标日志。
83.在一些实施例中,上述根据多个目标交易消息中的各个目标交易消息所包含的父流水号和子流水号,拼接多个目标交易消息,具体实施时,可以包括:
84.按照以下方式确定并拼接当前目标交易消息的下一个目标交易消息:
85.s1:确定当前目标交易消息的子流水号:
86.s2:从目标交易消息中筛选出所包含的父流水号与该子流水号相同的目标交易消息,作为当前目标交易消息的下一个目标交易消息;
87.s3:将所述下一个目标交易消息按序拼接在当前目标交易消息的后面。
88.在一些实施例中,上述根据多个目标交易消息中的各个目标交易消息所包含的父流水号和子流水号,拼接多个目标交易消息,具体实施时,还可以包括:检测多个目标交易消息中的各个目标交易消息的父流水号,从多个目标交易消息中筛选出父流水号为空的目标交易消息作为排序第一的目标交易消息。
89.通过上述实施例,可以将所有的目标交易消息依据父流水号、子流水号拼接起来,拼接后的多个目标交易消息,作为针对所述目标交易数据的目标日志;相应的,该目标日志中至少包括全局流水号、父流水号、子流水号;该目标日志中还可以包括:子系统标识、节点标识、交易状态。
90.s105:根据所述目标日志,生成关于所述目标交易数据的目标追踪结果;并将所述目标追踪结果发送至所述目标用户终端。
91.在一些实施例中,上述根据所述目标日志,生成关于所述目标交易数据的目标追踪结果,具体实施时,可以包括:
92.s1:根据所述目标日志,还原目标交易数据的交易链路;
93.s2:将所述目标交易链路作为所述目标交易数据的目标追踪结果。
94.在一些实施例中,上述根据所述目标日志,还原目标交易数据的交易链路,具体实施时,可以包括:从目标日志中,提取出每条目标交易消息所对应的全局流水号、父流水号、子流水号、子系统标识、节点标识,作为交易链路。
95.在一些实施例中,在将所述目标追踪结果发送至所述目标用户终端之后,用户可以根据目标追踪结果,检测目标追踪结果中涉及到的节点服务器是否存在交易错误。
96.本说明书还提出一种交易数据的追踪方法,该方法应用于节点服务器,其中,所述节点服务器部署于分布式交易系统,所述分布式交易系统包括多个子系统的节点服务器。首先,接收目标交易数据;然后,检测目标交易数据是否来自分布式交易系统中的其他节点服务器;在确定目标交易数据不是来自分布式交易系统中的其他节点服务器的情况下,根据预设的协议规则,生成针对该目标交易数据的全局流水号;最后,根据目标交易数据的全局流水号,生成针对该目标交易数据的目标交易消息;其中,目标交易消息包括预设的报文头结构;所述预设的报文头结构至少包括:节点服务器所在的子系统的子系统标识、全局流水号和子流水号。
97.具体的,参阅图2所示,上述一种交易数据的追踪方法应用于节点服务器,具体实施时,该方法可以包括以下内容。
98.s201:接收目标交易数据。
99.在一些实施例中,上述目标交易数据可以来自客户端;其中,所述客户端可以是一种具有数据采集、数据传输等功能的终端设备。具体的,所述终端设备可以是台式电脑、平板电脑、笔记本电脑、智能手机等;上述目标交易数据也可以来自分布式交易系统中其他的节点服务器。
100.s202:检测目标交易数据是否来自分布式交易系统中的其他节点服务器。
101.在一些实施例中,在检测目标交易数据是否来自分布式交易系统中的其他节点服务器之后,所述方法还包括:
102.s1:在确定目标交易数据是来自分布式交易系统中的其他节点服务器的情况下,查询获取处理该目标交易数据的上一个节点服务器生成的上一个子流水号,以及针对目标交易消息的目标全局流水号;
103.s2:生成当前的子流水号,并将上一个子流水号确定为当前的父流水号;
104.s3:根据当前的子流水号、当前的父流水号,以及目标全局流水号,生成针对该目标交易数据的目标交易消息;其中,所述目标消息中的预设的报文头结构包括:节点服务器
所在的子系统的子系统标识、全局流水号、当前子流水号以及当前父流水号。
105.在一些实施例中,上述预设的报文头结构还可以包括:交易状态、节点标识。
106.在一些实施例中,可以采用透传方法,将上一个节点服务器生成的上一个子流水号传递给当前处理该目标交易数据的节点服务器;其中,所述透传,也称为透明传输,指的是在通讯中不管传输的内容如何,只负责将传输的内容由源地址传输到目的地址,而不对传输内容做任何改变的传递信息手段。
107.通过上述实施例,每个目标消息都按照预设的报文头结构而生成,因此所有的目标交易消息都具有统一的格式,更有利于用户查询目标交易消息中的关键信息。
108.s203:在确定目标交易数据不是来自分布式交易系统中的其他节点服务器的情况下,根据预设的协议规则,生成针对该目标交易数据的全局流水号。
109.在一些实施例中,如果目标交易数据不是来自分布式交易系统中的其他节点服务器,就说明它还未被任何节点服务器所处理过,那么它此时还不具有全局流水号;因此,需要根据预设的协议规则,生成针对该目标交易数据的全局流水号。
110.s204:根据目标交易数据的全局流水号,生成针对该目标交易数据的目标交易消息;其中,目标交易消息包括预设的报文头结构;所述预设的报文头结构至少包括:节点服务器所在的子系统的子系统标识、全局流水号和子流水号。
111.在一些实施例中,上述预设的报文头结构还可以包括:节点标识、交易状态等等。此时它的父流水号为空,因此它的预设的报文头结构不包括父流水号。
112.在一些实施例中,在生成针对该目标交易数据的目标交易消息之后,所述方法还包括:将所述目标交易消息上传并保存至预设的数据库中。
113.在一些实施例中,上述将所述目标交易消息上传并保存至预设的数据库中,具体实施时,可以包括:将所述目标交易消息发送至预设的kafka消息队列;其中,所述预设的kafka消息队列用于以异步上传的方式将所述目标交易消息上传至预设的数据库。
114.在一些实施例中,上述kafka消息队列,是一种部署于分布式系统的发布订阅消息系统;kafka消息队列具有高吞吐量的优势,可以在短时间内接收、存储大量的数据。因此,可以将大量的目标交易消息暂时存储于kafka消息队列,再由kafka消息队列根据预设的数据库的吞吐能力、计算能力,将目标交易消息分批发送至预设的数据库,可以避免预设的数据库因计算能力不足而造成网络阻塞、存储失败等问题。同时,kafka消息队列采用异步上传的方式发送目标交易消息,因此不会干扰到节点服务器对交易数据的处理过程,可以使得信息传递更加高效。
115.在一些实施例中,可以使用基于sdk(软件开发工具包)开发的公共程序将目标交易消息发送至预设的kafka消息队列。
116.基于同一发明构思,本技术实施例中还提供了一种交易数据的追踪装置,如下面的实施例所述。该交易数据的追踪装置应用于中心服务器,其中,所述中心服务器部署于分布式交易系统,所述分布式交易系统包括多个子系统的节点服务器。由于一种交易数据的追踪装置解决问题的原理与一种交易数据的追踪方法相似,因此一种交易数据的追踪装置的实施可以参见一种交易数据的追踪方法的实施,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图4是本技术实施例的一种交易数据的追踪装置的一种结构框图,参阅图4所示,包括:第一接收模块401,第一查询模块402,第二查询模块403,拼接模块404,日志生成模块405,下面对该结构进行说明。
117.第一接收模块401,用于接收目标用户终端发起的关于目标交易数据的目标跟踪请求;其中,所述目标跟踪请求至少携带有子系统标识;
118.第一查询模块402,用于根据子系统标识,查询得到与所述目标交易数据关联的目标全局流水号;
119.第二查询模块403,用于根据所述目标全局流水号查询预设的数据库,以获取与所述目标交易数据相关的多个目标交易消息;其中,所述预设的数据库存储有多个交易消息;所述交易消息为节点服务器在处理交易数据时根据预设的协议规则生成并上传至预设的数据库的;所述交易消息至少包括全局流水号、父流水号和子流水号;
120.拼接模块404,用于根据多个目标交易消息中的各个目标交易消息所包含的父流水号和子流水号,拼接多个目标交易消息,以得到针对所述目标交易数据的目标日志;
121.日志生成模块405,用于根据所述目标日志,生成关于所述目标交易数据的目标追踪结果;并将所述目标追踪结果发送至所述目标用户终端。
122.在一些实施例中,上述第二查询模块403,具体可以用于根据子系统标识,查询对应子系统的交易数据处理列表,以确定出与目标交易数据关联的目标全局流水号。
123.在一些实施例中,上述拼接模块404,具体可以用于按照以下方式确定并拼接当前目标交易消息的下一个目标交易消息:确定当前目标交易消息的子流水号:从目标交易消息中筛选出所包含的父流水号与该子流水号相同的目标交易消息,作为当前目标交易消息的下一个目标交易消息;将所述下一个目标交易消息按序拼接在当前目标交易消息的后面。
124.在一些实施例中,上述拼接模块404,具体还可以用于检测多个目标交易消息中的各个目标交易消息的父流水号,从多个目标交易消息中筛选出父流水号为空的目标交易消息作为排序第一的目标交易消息。
125.在一些实施例中,上述日志生成模块405,具体可以用于根据所述目标日志,还原目标交易数据的交易链路;将所述目标交易链路作为所述目标交易数据的目标追踪结果。
126.基于同一发明构思,本技术实施例中还提供了另一种交易数据的追踪装置,如下面的实施例所述。该交易数据的追踪装置应用于节点服务器,其中,所述节点服务器部署于分布式交易系统,所述分布式交易系统包括多个子系统的节点服务器。图5是本技术实施例的另一种交易数据的追踪装置的一种结构框图,参阅图5所示,包括:第二接收模块501,检测模块502,流水号生成模块503,消息生成模块504,下面对该结构进行说明。
127.第二接收模块501,用于接收目标交易数据;
128.检测模块502,用于检测目标交易数据是否来自分布式交易系统中的其他节点服务器;
129.流水号生成模块503,用于在确定目标交易数据不是来自分布式交易系统中的其他节点服务器的情况下,根据预设的协议规则,生成针对该目标交易数据的全局流水号;
130.消息生成模块504,用于根据目标交易数据的全局流水号,生成针对该目标交易数据的目标交易消息;其中,目标交易消息包括预设的报文头结构;所述预设的报文头结构至
少包括:节点服务器所在的子系统的子系统标识、全局流水号和子流水号。
131.在一些实施例中,上述流水号生成模块503,具体还可以用于在确定目标交易数据是来自分布式交易系统中的其他节点服务器的情况下,查询获取处理该目标交易数据的上一个节点服务器生成的上一个子流水号,以及针对目标交易消息的目标全局流水号;生成当前的子流水号,并将上一个子流水号确定为当前的父流水号;根据当前的子流水号、当前的父流水号,以及目标全局流水号,生成针对该目标交易数据的目标交易消息;其中,所述目标消息中的预设的报文头结构包括:节点服务器所在的子系统的子系统标识、全局流水号、当前子流水号以及当前父流水号。
132.在一些实施例中,上述交易数据的追踪装置,具体还可以用于将所述目标交易消息上传并保存至预设的数据库中。
133.在一些实施例中,上述交易数据的追踪装置,具体还可以用于将所述目标交易消息发送至预设的kafka消息队列;其中,所述预设的kafka消息队列用于以异步上传的方式将所述目标交易消息上传至预设的数据库。
134.本发明实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述交易数据的追踪方法。
135.为了能够更加准确地完成上述指令,参阅图6所示,本说明书实施例还提供了另一种具体的计算机设备,所述计算机设备可以为一种服务器,其中,所述服务器包括网络通信端口601、处理器602以及存储器603,上述结构通过内部线缆相连,以便各个结构可以进行具体的数据交互。
136.其中,所述网络通信端口601,具体可以用于获取目标用户终端发起的关于目标交易数据的目标跟踪请求;其中,所述目标跟踪请求至少携带有子系统标识。
137.所述处理器602,具体可以用于根据子系统标识,查询得到与所述目标交易数据关联的目标全局流水号;根据所述目标全局流水号查询预设的数据库,以获取与所述目标交易数据相关的多个目标交易消息;其中,所述预设的数据库存储有多个交易消息;所述交易消息为节点服务器在处理交易数据时根据预设的协议规则生成并上传至预设的数据库的;所述交易消息至少包括全局流水号、父流水号和子流水号;根据多个目标交易消息中的各个目标交易消息所包含的父流水号和子流水号,拼接多个目标交易消息,以得到针对所述目标交易数据的目标日志;根据所述目标日志,生成关于所述目标交易数据的目标追踪结果;并将所述目标追踪结果发送至所述目标用户终端。
138.所述存储器603,具体可以用于存储相应的指令程序。
139.本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述交易数据的追踪方法。
140.本发明实施例还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现上述交易数据的追踪方法。
141.本发明实施例可以生成携带有全局流水号、父流水号、子流水号的交易消息,从预设的数据库中检索出所有携带有目标全局流水号的多个目标交易消息,再通过父流水号、子流水号把多个目标交易消息拼接起来,最终得到了关于目标交易数据的目标追踪结果,目标追踪结果可以准确反映出目标交易数据依次经历过的节点服务器或者子系统,能够实
现交易数据的快速、准确追踪,为排查交易错误提供了数据基础。
142.本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
143.本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
144.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
145.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
146.以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。