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

一种银行交易全链路回放方法、装置、设备及介质

文献发布时间:2024-01-17 01:27:33


一种银行交易全链路回放方法、装置、设备及介质

技术领域

本申请涉及数据处理技术领域,尤其涉及一种银行交易全链路回放方法、装置、设备及介质。

背景技术

随着互联网技术的快速发展,银行交易业务已经成为一项重要的民生服务。但是,在现实生活中,由于一些原因,例如网络延迟、系统故障等,可能导致银行交易记录出现错误,给消费者和银行造成极大的损失。为解决这一问题,需要一种全链路回放的方法。

目前,市面上已经有很多全链路回放方法,但由于不同银行的技术架构各有不同,这些方法难以普遍适用于不同的银行。

发明内容

为克服现有技术中的不足,本申请提供一种银行交易全链路回放方法、装置、设备及介质,基于远程过程调用协议RPC实现交易全链路回放,具有高度的普适性和可扩展性。

第一方面,本申请提供一种银行交易全链路回放方法,应用于业务系统端,所述方法包括以下步骤:

对银行系统的交易全链路进行录制,得到录制好的交易全链路数据,并将录制好的所述交易全链路数据进行存储;

基于远程过程调用协议RPC将存储的所述交易全链路数据上传至相应的银行系统,以使所述相应的银行系统将接收到的所述交易全链路数据转换为原始交易信息,并基于远程过程调用协议RPC将所述原始交易信息发送至相应的业务系统;

接收银行系统发送的所述原始交易信息,并对接收到的所述原始交易信息进行校验。

在一种可能的实施方式中,所述交易全链路数据包括交易发起方和接收方的所有交互信息。

在一种可能的实施方式中,所述将录制好的所述交易全链路数据进行存储,包括以下步骤:

将录制好的所述交易全链路数据进行压缩;

将压缩后的所述交易全链路数据进行加密;

将加密后的所述交易全链路数据进行存储。

第二方面,本申请提供一种银行交易全链路回放方法,应用于银行系统端,所述方法包括以下步骤:

接收业务系统发送的交易全链路数据;

将接收的所述交易全链路数据转换为原始交易信息,并基于远程过程调用协议RPC将所述原始交易信息发送至相应的业务系统,以使所述相应的业务系统对接收的所述原始交易信息进行校验。

在一种可能的实施方式中,所述用户画像包括用户类型和用户偏好;所述用户类型表示用户投资的金融产品的风险类型;所述用户偏好表示用户投资的金融产品的偏好领域。

在一种可能的实施方式中,其中,接收的所述交易全链路数据为压缩、加密的数据,所述将接收的所述交易全链路数据转换为原始交易信息之前,包括以下步骤:

将接收的所述交易全链路数据进行解密;

将解压后的所述交易全链路数据进行解压。

第三方面,本申请提供一种银行交易全链路回放装置,驻留于业务系统端,所述装置包括:

录制模块,用于对银行系统的交易全链路进行录制,得到录制好的交易全链路数据,并将录制好的所述交易全链路数据进行存储;

上传模块,用于基于远程过程调用协议RPC将存储的所述交易全链路数据上传至相应的银行系统,以使所述相应的银行系统将接收到的所述交易全链路数据转换为原始交易信息,并基于远程过程调用协议RPC将所述原始交易信息发送至相应的业务系统;

校验模块,用于接收银行系统发送的所述原始交易信息,并对接收到的所述原始交易信息进行校验,且对校验成功的原始交易信息进行存储。

第四方面,本申请提供一种银行交易全链路回放装置,留于银行系统端,所述装置包括:

接收模块,用于接收业务系统发送的交易全链路数据;

发送模块,用于将接收的所述交易全链路数据转换为原始交易信息,并基于远程过程调用协议RPC将所述原始交易信息发送至相应的业务系统,以使所述相应的业务系统对接收的所述原始交易信息进行校验。

第五方面,本申请提供一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行如第一方面任一所述的银行交易全链路回放方法或者如第二方面任一所述的银行交易全链路回放方法的步骤。

第六方面,本申请提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如第一方面任一所述的银行交易全链路回放方法或者如第二方面任一所述的银行交易全链路回放方法的步骤。

本实施例提供的一种银行交易全链路回放方法、装置、设备及介质,业务系统对银行系统的交易全链路进行录制,得到录制好的交易全链路数据,并将录制好的所述交易全链路数据进行存储,且基于远程过程调用协议RPC将存储的所述交易全链路数据上传至相应的银行系统;所述相应的银行系统将接收到的所述交易全链路数据转换为原始交易信息,并基于远程过程调用协议RPC将所述原始交易信息发送至相应的业务系统;所述相应的业务系统接收银行系统发送的所述原始交易信息,并对接收到的所述原始交易信息进行校验,且对校验成功的原始交易信息进行存储。从而能够更好地保护交易信息的安全性,更好地保存银行交易历史记录,保证银行交易的准确性和可靠性,并且具有高度的普适性和可扩展性。

附图说明

为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1示出了本申请一实施例所述银行交易全链路回放方法应用于业务系统端的流程图;

图2示出了本申请一实施例所述将录制好的所述交易全链路数据进行存储的流程图;

图3示出了本申请一实施例所述银行交易全链路回放方法应用于银行系统端的流程图;

图4示出了本申请一实施例所述驻留业务系统端的银行交易全链路回放装置的结构框图;

图5示出了本申请一实施例所述驻留银行系统端的银行交易全链路回放装置的结构框图;

图6示出了本申请一实施例所述电子设备的结构框图。

具体实施方式

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,应当理解,本申请中附图仅起到说明和描述的目的,并不用于限定本申请的保护范围。另外,应当理解,示意性的附图并未按实物比例绘制。本申请中使用的流程图示出了根据本申请的一些实施例实现的操作。应该理解,流程图的操作可以不按顺序实现,没有逻辑的上下文关系的步骤可以反转顺序或者同时实施。此外,本领域技术人员在本申请内容的指引下,可以向流程图添加一个或多个其他操作,也可以从流程图中移除一个或多个操作。

另外,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。

需要说明的是,本申请实施例中将会用到术语“包括”,用于指出其后所声明的特征的存在,但并不排除增加其它的特征。

银行系统的交易涉及到和各种业务系统之间的交易数据,其中,每一种交易数据都可能会影响到相关的联机交易,因此,为了保证银行系统和各种业务系统之间的交易安全,需要明确各交易数据的流向,其中,根据交易数据的流向能够明确出每一条交易链路。在伴随着银行业务规模不断扩大,其交易数据的更新频率越来越多,就导致银行交易记录出现错误的概率,因此,需要一种全链路回放的方法,并且能够满足不同银行系统的架构。基于此,本申请提供一种银行交易全链路回放方法、装置、电子设备及存储介质,具有高度的普适性和可扩展性。

参见说明书附图1,在一实施例中,本申请提供的一种银行交易全链路回放方法,应用于业务系统端,所述方法包括以下步骤:

S1、对银行系统的交易全链路进行录制,得到录制好的交易全链路数据,并将录制好的所述交易全链路数据进行存储;

S2、基于远程过程调用协议RPC将存储的所述交易全链路数据上传至相应的银行系统,以使所述相应的银行系统将接收到的所述交易全链路数据转换为原始交易信息,并基于远程过程调用协议RPC将所述原始交易信息发送至相应的业务系统;

S3、接收银行系统发送的所述原始交易信息,并对接收到的所述原始交易信息进行校验。

在本申请中,所述交易全链路数据包括交易发起方和接收方的所有交互信息,具体的是指各个系统运算交易信息时产生的业务数据的过程。例如,购买商品并支付的应用场景中,包括“选取待购买商品”节点、“下单”节点、“支付”节点,其中,“选取待购买商品”节点涉及营销系统,用于向用户提供展示商品及其价格的界面;“下单”节点涉及交易系统,用于计算用户从营销系统选取的待购买商品的总价;“支付”节点涉及支付系统,用于从相应的银行账户对交易系统计算出的商品总价进行支付。

其中,在步骤S1中,为了保证所录制的银行系统的交易全链路的安全性,参见说明书附图2,所述将录制好的所述交易全链路数据进行存储,包括以下步骤:

S101、将录制好的所述交易全链路数据进行压缩;

S102、将压缩后的所述交易全链路数据进行加密;

S103、将加密后的所述交易全链路数据进行存储。

在一实施例中,先将录制好的所述交易全链路数据通过采用无损数据压缩(Lossless Compression)方法进行压缩,例如ZIP和gzip,其中,无损数据压缩是指资料经过压缩后,信息不被破坏,还能完全恢复到压缩前的原样,相比之下,有损数据压缩只允许一个近似原始资料进行重建,以换取更好的压缩率;然后将无损压缩后的交易全链路数据进行CRC加密;最后才将压缩、加密之后的全链路数据进行存储,从而使得业务系统能够更好地保护交易信息的安全性。

业务系统通过对交易全链路数据进行存储,能够更好的保存与银行系统之间的交易历史记录,便于后续审计和监控。所以,在步骤S2中,当后续对交易全链路数据进行回放的时候,即对交易历史记录进行审计和监控时,业务系统通过远程过程调用协议(RemoteProcedure Call Protocol,RPC)将存储好的交易全链路数据上传至相应的银行系统中,以使所述相应的银行系统将接收到的所述交易全链路数据转换为原始交易信息,并基于远程过程调用协议RPC将所述原始交易信息发送至相应的业务系统。

其中,所述远程过程调用协议RPC是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议,其假定某些传输协议的存在,如TCP或UDP,为通信程序之间携带信息数据;具体的,远程过程调用协议RPC采用客户机/服务器模式,其中,请求程序就是一个客户机,而服务提供程序就是一个服务器,首先,客户机调用进程发送一个有进程参数的调用信息到服务进程,然后等待应答信息,在服务器端,进程保持睡眠状态直到调用信息到达为止,当一个调用信息到达,服务器获得进程参数,计算结果,发送答复信息,然后等待下一个调用信息,最后,客户端调用进程接收答复信息,获得进程结果,然后调用执行继续进行。其中,远程过程调用协议RPC的工作原理应为本领域技术人员所熟知的,在此不进行赘述。

在步骤S3中,当接收到银行系统发送的所述原始交易信息时,需要对接收到的所述原始交易信息进行校验,如果校验通过,则将交易信息存储到数据库中。

在一实施例中,通过交易规则对所述原始交易信息进行校验,所述,所述交易规则是用户根据交易链路为完成交易事件所遵循的数据处理规则或策略,所制定的用于验证各系统生成的业务数据是否符合所述规则或策略的校验方法,其中,所述交易规则由至少一个子规则构成,所述子规则是构建交易规则最小的规则单元,每一个子规则反映了一个校验所述规则或策略的方法单元;因交易规则是用户根据交易链路的适用场景所制定的,故交易规则的生成方法在此不做赘述。其中,若原始交易信息与交易规则相匹配,则表示校验通过,将交易信息存储到数据库中。

在另一实施例中,参见说明书附图3,本申请提供的一种银行交易全链路回放方法,应用于银行系统端,所述方法包括以下步骤:

P1、接收业务系统发送的交易全链路数据;

P2、将接收的所述交易全链路数据转换为原始交易信息,并基于远程过程调用协议RPC将所述原始交易信息发送至相应的业务系统,以使所述相应的业务系统对接收的所述原始交易信息进行校验。

在步骤P1中,银行系统所接收的业务系统发送的交易全链路数据为压缩、加密的数据,所以在执行步骤P2之前,即将接收的所述交易全链路数据转换为原始交易信息之前,需要对接收的业务系统发送的交易全链路数据记性解压和解密。在一实施例中,业务系统发送的交易全链路数据是在指定位置添加CRC校验码所生成的新的数据。

其中,CRC校验(Cyclic Redundancy Check,循环冗余校验)是一种数据传输检错功能,对数据进行多项式计算,并将得到的结果附在帧的后面,同时接收端也执行类似的算法,以保证通信传输过程中数据的准确性和完整性。例如,要发送的k位数据对应一个k-1次的多项式K(x);发送方和接收方约定一个生成多项式G(x),设该生产多项式的最高次幂为r;在发送数据的末尾添加r个0,则其对应的多项式M(x)=XrK(x);用M(x)除以G(x),采用模2除法*,得到商Q(x),余式R(x),则M(x)=Q(x)*G(x)+R(x),其中余式R(x)即为CRC校验码;令T(x)=M(x)+R(x),T(x)所对应的数据是在原数据块的末尾加上余式对应的数据,发送端发送T(x),接收端收到数据T(x),将T’(x)除以G(x),若余式为0,则认为传输过程中没有发生错误,接收到的数据与发送的数据相同;反之,则数据发送过程中出现错误。

则,当银行系统先对接收到交易全链路数据压缩包进行校验,发现错误时向业务系统发送校验错误的反馈提示,业务系统在接收到该校验错误的反馈信息后,重新发送该交易全链路数据压缩包,在银行系统接收到该交易全链路数据压缩包后进行重新校验,直至校验结果为正确为止,才向业务系统发送校验正确的反馈信息,然后银行系统对接收到交易全链路数据压缩包进行解压。最后才将解密、解压之后的交易全链路数据执行步骤P2,将其转换为原始交易数据,并通过远程过程调用协议RPC将所述原始交易信息发送至相应的业务系统,以使所述相应的业务系统对接收的所述原始交易信息进行校验。该始交易数据包括了银行系统和业务系统之间进行交易时的请求报文和响应报文,其中,如果原始交易信息校验不通过,则银行系统会根据相应的错误代码返回响应报文。

在其他实施例中,业务系统还可以将交易全链路数据压缩包分为多个小压缩包逐个发送个银行系统,银行系统对接收到的所述小压缩包进行逐个CRC校验,具体的,银行系统对接收到的交易全链路数据压缩包所分割的小压缩包进行校验,发现错误时向业务系统发送校验错误的反馈提示,业务系统在接收到该校验错误的反馈信息后,重新发送该小压缩包,在银行系统接收到该小压缩包后进行重新校验,直至校验结果为正确为止,才向业务系统发送校验正确的反馈信息,业务系统再接收到该小压缩包校验正确的反馈信息之后,才继续向银行系统发送下一小压缩包,直至银行系统完整接收到交易全链路数据压缩包分割的所有小压缩包为止。这样一方面能够降低网络传输压力,另一方面能够避免因掉电等原因造成传输中断而导致的数据丢失情况。

本申请提供的一种银行交易全链路回放方法,业务系统对银行系统的交易全链路进行录制,得到录制好的交易全链路数据,并将录制好的所述交易全链路数据进行存储,且基于远程过程调用协议RPC将存储的所述交易全链路数据上传至相应的银行系统;所述相应的银行系统将接收到的所述交易全链路数据转换为原始交易信息,并基于远程过程调用协议RPC将所述原始交易信息发送至相应的业务系统;所述相应的业务系统接收银行系统发送的所述原始交易信息,并对接收到的所述原始交易信息进行校验,且对校验成功的原始交易信息进行存储。从而能够更好地保护交易信息的安全性,更好地保存银行交易历史记录,保证银行交易的准确性和可靠性,并且具有高度的普适性和可扩展性。

基于同一发明构思,本申请实施例中还提供了一种银行交易全链路回放装置,由于本申请实施例中的装置解决问题的原理与本申请实施例上述一种银行交易全链路回放方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。

如说明书附图4所示,本申请还提供了一种银行交易全链路回放装置,驻留于业务系统端,所述装置包括:

录制模块401,用于对银行系统的交易全链路进行录制,得到录制好的交易全链路数据,并将录制好的所述交易全链路数据进行存储;

上传模块402,用于基于远程过程调用协议RPC将存储的所述交易全链路数据上传至相应的银行系统,以使所述相应的银行系统将接收到的所述交易全链路数据转换为原始交易信息,并基于远程过程调用协议RPC将所述原始交易信息发送至相应的业务系统;

校验模块403,用于接收银行系统发送的所述原始交易信息,并对接收到的所述原始交易信息进行校验,且对校验成功的原始交易信息进行存储。

在一些实施方式中,所述交易全链路数据包括交易发起方和接收方的所有交互信息。

在一些实施方式中,所述录制模块401将录制好的所述交易全链路数据进行存储,包括:

将录制好的所述交易全链路数据进行压缩;

将压缩后的所述交易全链路数据进行加密;

将加密后的所述交易全链路数据进行存储。

如说明书附图5所示,本申请还提供了一种银行交易全链路回放装置,驻留于银行系统端,所述装置包括:

接收模块501,用于接收业务系统发送的交易全链路数据;

发送模块502,用于将接收的所述交易全链路数据转换为原始交易信息,并基于远程过程调用协议RPC将所述原始交易信息发送至相应的业务系统,以使所述相应的业务系统对接收的所述原始交易信息进行校验。

在一些实施方式中,所述原始交易信息包括请求报文和响应报文。

在一些实施方式中,接收的所述交易全链路数据为压缩、加密的数据,所述发送模块502将接收的所述交易全链路数据转换为原始交易信息之前,包括:

将接收的所述交易全链路数据进行解密;

将解压后的所述交易全链路数据进行解压。

本申请所提供的一种银行交易全链路回放装置,通过业务系统端的录制模块对银行系统的交易全链路进行录制,得到录制好的交易全链路数据,并将录制好的所述交易全链路数据进行存储,以及基于远程过程调用协议RPC将存储的所述交易全链路数据上传至相应的银行系统;通过银行系统端的接收模块接收业务系统发送的交易全链路数据,并基于远程过程调用协议RPC将所述原始交易信息发送至相应的业务系统;通过业务系统端的校验模块接收银行系统发送的所述原始交易信息,并对接收到的所述原始交易信息进行校验,且对校验成功的原始交易信息进行存储。具有高度的普适性和可扩展性,能够更好地保护交易信息的安全性,更好地保存银行交易历史记录,保证银行交易的准确性和可靠性,为银行业务的发展提供了有力的支持。

基于本发明的同一构思,说明书附图6所示,本申请实施例提供的一种电子设备600的结构,该电子设备600包括:至少一个处理器601,至少一个网络接口604或者其他用户接口603,存储器605,至少一个通信总线602。通信总线602用于实现这些组件之间的连接通信。该电子设备600可选的包含用户接口603,包括显示器(例如,触摸屏、LCD、CRT、全息成像(Holographic)或者投影(Projector)等),键盘或者点击设备(例如,鼠标,轨迹球(trackball),触感板或者触摸屏等)。

存储器605可以包括只读存储器和随机存取存储器,并向处理器601提供指令和数据。存储器605的一部分还可以包括非易失性随机存取存储器(NVRAM)。

在一些实施方式中,存储器605存储了如下的元素,可执行模块或者数据结构,或者他们的子集,或者他们的扩展集:

操作系统6051,包含各种系统程序,用于实现各种基础业务以及处理基于硬件的任务;

应用程序模块6052,包含各种应用程序,例如桌面(launcher)、媒体播放器(MediaPlayer)、浏览器(Browser)等,用于实现各种应用业务。

在本申请实施例中,通过调用存储器605存储的程序或指令,处理器601用于执行如一种银行交易全链路回放方法中的步骤,够更好地保护交易信息的安全性,更好地保存银行交易历史记录,保证银行交易的准确性和可靠性,并且具有高度的普适性和可扩展性。

本申请还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如银行交易全链路回放方法中的步骤。

具体地,该存储介质能够为通用的存储介质,如移动磁盘、硬盘等,该存储介质上的计算机程序被运行时,能够执行上述银行交易全链路回放方法。

在本申请所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请提供的实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

最后应说明的是:以上实施例,仅为本申请的具体实施方式,用以说明本申请的技术方案,而非对其限制,本申请的保护范围并不局限于此,尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本申请实施例技术方案的精神和范围。都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。

相关技术
  • 一种操作行为的回放方法、装置、电子设备及可读介质
  • 一种银行交易反欺诈方法及系统、设备和存储介质
  • 一种风险交易识别方法、装置、设备及介质
  • 一种区块链交易方法、装置、管理系统、设备及存储介质
  • 一种交易流水数据检测方法、装置、设备及可读存储介质
  • 一种基于银行业非标准化交易报文的交易全链路分析方法与系统
  • 贷款交易全链路监控方法、装置、计算机设备和存储介质
技术分类

06120116226328