掌桥专利:专业的专利平台
掌桥专利
首页

一种交易链路的校验方法、装置、设备和存储介质

文献发布时间:2023-06-19 19:28:50


一种交易链路的校验方法、装置、设备和存储介质

技术领域

本申请涉及信息数据安全技术领域,具体涉及一种交易链路的校验方法、装置、设备和存储介质。

背景技术

在交易链路中,由于营收业务版本更新迭代快,许多数据属于敏感数据,为了降低因为程序出现问题而导致财务数据出现错误的概率,出现了一系列的营收风控手段。很多企业的营收风控手段主要集中在数据校验、数据对账、告警拦截等过程中。现有的检验手段主要还是消息包体的内容检测,也就是对交易过程中当前所进行传输的消息数据是否被篡改进行校验。

但是交易在链路中要经过多方服务,对于其中一个服务来说,该服务之前的各个服务之间的调用发生了什么,调用链路是怎么样的,对于该服务来说是模糊的,因此若不明确此过程的具体信息,则会使得交易出现问题,从而导致营收亏损的概率增加。

发明内容

有鉴于此,本申请提供了一种交易链路的校验方法、装置、设备和存储介质,用于解决交易在链路中要经过多方服务,对于其中一个服务来说,该服务之前的各个服务之间的调用发生了什么,调用链路是怎么样的,对于该服务来说是模糊的,因此若不明确此过程的具体信息,则会使得交易出现问题,从而导致营收亏损的概率增加的问题。

为实现以上目的,现提出的方案如下:

第一方面,一种交易链路的校验方法,包括:

确定交易所对应的目标链路,所述目标链路中包括一个或多个服务;

针对所述目标链路中的每一个服务,当所述交易经过该服务时,响应于该服务对所述交易进行验证的请求指令,确定所述交易的目标信息包;

对所述目标信息包进行合法性验证,若验证成功,则基于所述目标信息包,确定与该服务对应的组合信息包;

确定与该服务对应的下游服务;

将所述组合信息包发送至与该服务对应的下游服务,以供该服务对应的下游服务对所述组合信息包进行验证。

优选地,所述对所述目标信息包进行合法性验证,包括:

提取所述目标信息包中的交易令牌;

确定与该服务对应的各个上游服务;

获取各个与该服务对应的上游服务的各个上游交易令牌;

判断所述目标信息包中的交易令牌与各个所述上游交易令牌是否一致;

若是,则验证成功。

优选地,所述基于所述目标信息包,确定与该服务对应的组合信息包,包括:

从所述目标信息包中确定该服务的各个历史交易信息;

基于各个所述历史交易信息,确定与该服务对应的各个当前交易信息;

利用与该服务对应的各个当前交易信息对所述目标信息包进行更新,得到组合信息包。

优选地,所述确定与该服务对应的下游服务,包括:

获取所述交易的交易流程;

在所述交易流程中对该服务进行定位,以确定与该服务对应的交易环节;

确定与所述交易环节对应的下一个环节;

将与所述下一个环节对应的服务作为与该服务对应的下游服务。

优选地,所述下游服务对所述组合信息包进行验证的过程,包括:

对组合信息包进行解析,得到目标信息包和加密信息包;

对所述加密信息包进行解密,得到解密信息包;

分别对所述目标信息包和所述解密信息包进行验证,得到第一验证结果和第二验证结果。

优选地,所述历史交易信息包括:与该服务对应的服务名称、所述交易经过该服务的目标时间和所述交易的当前价值。

第二方面,一种交易链路的校验装置,包括:

目标链路确定模块,用于确定交易所对应的目标链路,所述目标链路中包括一个或多个服务;

响应模块,用于针对所述目标链路中的每一个服务,当所述交易经过该服务时,响应于该服务对所述交易进行验证的请求指令,确定所述交易的目标信息包;

验证模块,用于对所述目标信息包进行合法性验证,若验证成功,则基于所述目标信息包,确定与该服务对应的组合信息包;

下游服务确定模块,用于确定与该服务对应的下游服务;

发送模块,用于将所述组合信息包发送至与该服务对应的下游服务,以供该服务对应的下游服务对所述组合信息包进行验证。

优选地,所述验证模块包括:

提取模块,用于提取所述目标信息包中的交易令牌;

上游服务确定模块,用于确定与该服务对应的各个上游服务;

上游交易令牌确定模块,用于获取各个与该服务对应的上游服务的各个上游交易令牌;

判断模块,用于判断所述目标信息包中的交易令牌与各个所述上游交易令牌是否一致;

验证成功模块,用于若是,则验证成功。

第三方面,一种交易链路的校验设备,包括存储器和处理器;

所述存储器,用于存储程序;

所述处理器,用于执行所述程序,实现如第一方面所述的交易链路的校验方法的各个步骤。

第四方面,一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现如第一方面所述的交易链路的校验方法的各个步骤。

从上述技术方案可以看出,本申请通过确定交易所对应的目标链路,所述目标链路中包括一个或多个服务;针对所述目标链路中的每一个服务,当所述交易经过该服务时,响应于该服务对所述交易进行验证的请求指令,确定所述交易的目标信息包;对所述目标信息包进行合法性验证,若验证成功,则基于所述目标信息包,确定与该服务对应的组合信息包;确定与该服务对应的下游服务;将所述组合信息包发送至与该服务对应的下游服务,以供该服务对应的下游服务对所述组合信息包进行验证。在该方案中,当交易经过每一个服务时,都对其进行信息包进行合法性验证,从而保证链路中的每一环的交易令牌都是一致的,可以避免中间环节出现问题而无法追溯,大大的保证了交易的成交率。

附图说明

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

图1为本申请实施例提供的一种交易链路的校验方法的可选流程图;

图2为本申请实施例提供的一种交易链路的校验方法的可选结构框图;

图3~图5为本申请实施例提供的交易链路的校验方法的应用实例图;

图6为本申请实施例提供的一种交易链路的校验装置的结构示意图;

图7为本申请实施例提供的一种交易链路的校验设备的结构示意图。

具体实施方式

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

在交易链路中,由于营收业务版本更新迭代快,许多数据属于敏感数据,为了降低因为程序出现问题而导致财务数据出现错误的概率,因此出现了一系列的营收风控手段。在一些企业中的营收风控手段主要集中在数据校验、数据对账、告警拦截等过程中。现有的检验手段主要还是消息包体的内容检测,也就是对交易过程中当前所进行传输的消息数据是否被篡改进行校验。

但是交易在链路中要经过多方服务,对于其中一个服务来说,该服务之前的各个服务之间的调用发生了什么,调用链路是怎么样的,对于该服务来说是模糊的,因此若不明确此过程的具体信息,则会使得交易出现问题,从而导致营收亏损的概率增加。

本发明实施例提供一种交易链路的校验方法,该方法可以应用在各种计算机终端或是智能终端中,其执行主体可以为计算机终端或是智能终端的处理器或服务器,所述方法的方法流程图如图1所示,具体包括:

S1:确定交易所对应的目标链路,所述目标链路中包括一个或多个服务。

在本申请中,目标链路较长,而交易在目标链路中会经过目标链路中的每一个服务,服务可以理解为功能或者交易环节。其中,目标链路中包括一个或多个服务,服务的种类和数量根据目标链路的具体性质而定,本实施例对此不作限制。

S2:针对所述目标链路中的每一个服务,当所述交易经过该服务时,响应于该服务对所述交易进行验证的请求指令,确定所述交易的目标信息包。

可以理解的是,服务在目标链路中的分布是有一定顺序的,那么交易在链路中会按照顺序依次经过各个服务,当交易经过每一个服务时,当前服务都会对交易进行验证,因此针对目标链路中的每一个服务,当交易经过该服务时,响应于该服务对交易进行验证的请求指令,确定交易的目标信息包。该目标信息包中可以包含交易的各种信息,比如交易用户的身份信息UID等。

S3:对所述目标信息包进行合法性验证,若验证成功,则基于所述目标信息包,确定与该服务对应的组合信息包。

具体地,对目标信息包进行合法性验证,也可以验证其真实性。若验证成功,则基于目标信息包确定与该服务对应的组合信息包;若验证失败,则说明目标信息包有问题。

S4:确定与该服务对应的下游服务。

因为在目标链路中的各个服务之间是有顺序的,因此交易在较早时间经过的服务可以称之为上游服务,交易在较晚时间经过的服务可以称之为下游服务,在本步骤中所指的下游服务可以为交易在经过该服务后,后面需要经过的一个服务。

S5:将所述组合信息包发送至与该服务对应的下游服务,以供该服务对应的下游服务对所述组合信息包进行验证。

将组合信息包发送至与该服务对应的下游服务,以供下游服务对组合信息包进行验证,以实现每个服务对交易的验证。

从上述技术方案可以看出,本申请通过确定交易所对应的目标链路,所述目标链路中包括一个或多个服务;针对所述目标链路中的每一个服务,当所述交易经过该服务时,响应于该服务对所述交易进行验证的请求指令,确定所述交易的目标信息包;对所述目标信息包进行合法性验证,若验证成功,则基于所述目标信息包,确定与该服务对应的组合信息包;确定与该服务对应的下游服务;将所述组合信息包发送至与该服务对应的下游服务,以供该服务对应的下游服务对所述组合信息包进行验证。在该方案中,当交易经过每一个服务时,都对其进行信息包进行合法性验证,从而保证链路中的每一环的交易令牌都是一致的,可以避免中间环节出现问题而无法追溯,大大的保证了交易的成交率。该方法还可以实现自校验、叠加校验、可追溯。

本发明实施例提供的方法中,对所述目标信息包进行合法性验证的过程,具体说明如下所述:

提取所述目标信息包中的交易令牌;确定与该服务对应的各个上游服务;获取各个与该服务对应的上游服务的各个上游交易令牌;判断所述目标信息包中的交易令牌与各个所述上游交易令牌是否一致;若是,则验证成功;若否,则验证失败。

在该过程中,服务会对交易令牌(deal_token)的合法性进行验证,并把该服务的服务名作为下一级的标签链接到交易令牌的后面,以此提供下一级服务的校验凭证。该过程可以保证OrderId和发起UID的一致性以及目标链路的合法性。

上述方案对本申请中的所述目标信息包进行合法性验证的过程进行了说明,下面对本申请中的基于所述目标信息包,确定与该服务对应的组合信息包的过程进行详细说明。

从所述目标信息包中确定该服务的各个历史交易信息;

基于各个所述历史交易信息,确定与该服务对应的各个当前交易信息;

利用与该服务对应的各个当前交易信息对所述目标信息包进行更新,得到组合信息包。

具体地,历史交易信息可以包括:与该服务对应的服务名称、所述交易经过该服务的目标时间和所述交易的当前价值。本实施例对此不作限制。

可选的,本申请中确定与该服务对应的下游服务的过程可以包括:

首先获取所述交易的交易流程;在所述交易流程中对该服务进行定位,以确定与该服务对应的交易环节;确定与所述交易环节对应的下一个环节;将与所述下一个环节对应的服务作为与该服务对应的下游服务。

另外,下游服务对所述组合信息包进行验证的过程可以包括:对组合信息包进行解析,得到目标信息包和加密信息包;对所述加密信息包进行解密,得到解密信息包;分别对所述目标信息包和所述解密信息包进行验证,得到第一验证结果和第二验证结果。

上述过程可以参考图2,图2中的发起方可以理解为第一级服务,该服务对原本的信息包进行签名后组成源头信息包,并发送至下游服务(中间接收方),中间接收方会对源头信息包进行验证,若验证成功,则对源头信息包进行签名,并进行更新,得到中间信息包,中间信息包中包含源头信息包,中间接收方再将中间信息包发送至最后接收方(再下一级服务),最后接收方会对源头信息包和中间信息包都进行校验,若均一致,则验证通过。

本申请提供的交易链路的校验方法可以应用于各种交易场景,在一个游戏交易链路中,包括unified-pay(统一扣费服务)、magic-spirit(幸运礼物服务)、fellow-svr(挚友服务)、userscore(礼物积分服务)等礼物相关服务。如图3、图4和图5所示,图3~图5分别展示了magic-spirit过程、fellow-svr过程和风控中心中对链路校验的流程。可以开发新的服务present-score-guard,该服务接管了userscore读取消息队列的功能,并且可以实现对交易令牌的验证功能,并且保证交易数据的正确性,如订单号是否一致,签名是否一致等。

在图5中,将该方法应用于游戏的抽奖,可以计算亏损和营收,以防止大幅度亏损。

由于越来越多的服务需要接入链路校验,而之前采用数据库存储合法链路的方式使得其他服务不容易接入,因此可以将数据库配置改为配置中心存储,定时同时最新的链路,只需改变代码就可以实现多个服务进行配置共享。

可选的,确定以交易令牌deal_token为基础的链路校验结构的逻辑代码可以如下所示:

与图1所述的方法相对应,本发明实施例还提供了交易链路的校验装置,用于对图1中方法的具体实现,本发明实施例提供的交易链路的校验装置可以在计算机终端或各种移动设备中,结合图6,对交易链路的校验装置进行介绍,如图6所示,该装置可以包括:

目标链路确定模块10,用于确定交易所对应的目标链路,所述目标链路中包括一个或多个服务;

响应模块20,用于针对所述目标链路中的每一个服务,当所述交易经过该服务时,响应于该服务对所述交易进行验证的请求指令,确定所述交易的目标信息包;

验证模块30,用于对所述目标信息包进行合法性验证,若验证成功,则基于所述目标信息包,确定与该服务对应的组合信息包;

下游服务确定模块40,用于确定与该服务对应的下游服务;

发送模块50,用于将所述组合信息包发送至与该服务对应的下游服务,以供该服务对应的下游服务对所述组合信息包进行验证。

从上述技术方案可以看出,本申请通过确定交易所对应的目标链路,所述目标链路中包括一个或多个服务;针对所述目标链路中的每一个服务,当所述交易经过该服务时,响应于该服务对所述交易的进行验证的请求指令,确定所述交易的目标信息包;对所述目标信息包进行合法性验证,若验证成功,则基于所述目标信息包,确定与该服务对应的组合信息包;确定与该服务对应的下游服务;将所述组合信息包发送至与该服务对应的下游服务,以供该服务对应的下游服务对所述组合信息包进行验证。在该方案中,当交易经过每一个服务时,都对其进行信息包的合法性验证,从而保证链路中的每一环的交易令牌都是一致的,可以避免中间环节出现问题而无法追溯,大大的保证了交易的成交率。

在一个示例中,所述验证模块30可以包括:

提取模块,用于提取所述目标信息包中的交易令牌;

上游服务确定模块,用于确定与该服务对应的各个上游服务;

上游交易令牌确定模块,用于获取各个与该服务对应的上游服务的各个上游交易令牌;

判断模块,用于判断所述目标信息包中的交易令牌与各个所述上游交易令牌是否一致;

验证成功模块,用于若是,则验证成功。

在一个示例中,所述验证模块30还可以包括:

历史交易信息确定模块,用于从所述目标信息包中确定该服务的各个历史交易信息;

当前交易信息确定模块,用于基于各个所述历史交易信息,确定与该服务对应的各个当前交易信息;

更新模块,用于利用与该服务对应的各个当前交易信息对所述目标信息包进行更新,得到组合信息包。

在一个示例中,所述下游服务确定模块40可以包括:

交易流程获取模块,用于获取所述交易的交易流程;

交易环节确定模块,用于在所述交易流程中对该服务进行定位,以确定与该服务对应的交易环节;

下一环节确定模块,用于确定与所述交易环节对应的下一个环节;

下游服务最终确定模块,用于将与所述下一个环节对应的服务作为与该服务对应的下游服务。

在一个示例中,所述装置还可以包括:

解析模块,用于对组合信息包进行解析,得到目标信息包和加密信息包;

解密模块,用于对所述加密信息包进行解密,得到解密信息包;

综合验证模块,用于分别对所述目标信息包和所述解密信息包进行验证,得到第一验证结果和第二验证结果。

更进一步地,本申请实施例提供了一种交易链路的校验设备。可选的,图7示出了交易链路的校验设备的硬件结构框图,参照图7,交易链路的校验设备的硬件结构可以包括:至少一个处理器01,至少一个通信接口02,至少一个存储器03和至少一个通信总线04。

在本申请实施例中,处理器01、通信接口02、存储器03、通信总线04的数量为至少一个,且处理器01、通信接口02、存储器03通过通信总线04完成相互间的通信。

处理器01可以是一个中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路等。

存储器03可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatilememory)等,例如至少一个磁盘存储器。

其中,存储器存储有程序,处理器可调用存储器存储的程序,程序用于执行下述交易链路的校验方法,包括:

确定交易所对应的目标链路,所述目标链路中包括一个或多个服务;

针对所述目标链路中的每一个服务,当所述交易经过该服务时,响应于该服务对所述交易进行验证的请求指令,确定所述交易的目标信息包;

对所述目标信息包进行合法性验证,若验证成功,则基于所述目标信息包,确定与该服务对应的组合信息包;

确定与该服务对应的下游服务;

将所述组合信息包发送至与该服务对应的下游服务,以供该服务对应的下游服务对所述组合信息包进行验证。

可选的,程序的细化功能和扩展功能可参照方法实施例中的交易链路的校验方法的描述。

本申请实施例还提供一种存储介质,该存储介质可存储有适于处理器执行的程序,在所述程序运行时控制所述存储介质所在的设备执行下述交易链路的校验方法,包括:

确定交易所对应的目标链路,所述目标链路中包括一个或多个服务;

针对所述目标链路中的每一个服务,当所述交易经过该服务时,响应于该服务对所述交易进行验证的请求指令,确定所述交易的目标信息包;

对所述目标信息包进行合法性验证,若验证成功,则基于所述目标信息包,确定与该服务对应的组合信息包;

确定与该服务对应的下游服务;

将所述组合信息包发送至与该服务对应的下游服务,以供该服务对应的下游服务对所述组合信息包进行验证。

具体地,该存储介质可以是一种计算机可读存储介质,计算机可读存储介质可以是诸如闪存、EEPROM(电可擦除可编程只读存储器)、EPROM、硬盘或者ROM之类的电子存储器。

可选的,程序的细化功能和扩展功能可参照方法实施例中的交易链路的校验方法的描述。

另外,在本公开各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,直播设备,或者网络设备等)执行本公开各个实施例方法的全部或部分步骤。

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

相关技术
  • 一种定位真值校验方法、装置、设备及存储介质
  • 一种REST统一校验方法、装置、设备及可读存储介质
  • 一种区块链交易方法、装置、管理系统、设备及存储介质
  • 一种交易流水数据检测方法、装置、设备及可读存储介质
  • 一种后端存储设备的管理方法、装置、设备以及存储介质
  • 交易错误码校验方法、装置及计算机设备、存储介质
  • 交易数据校验方法、装置、计算机设备和存储介质
技术分类

06120115921716