一种金融系统场景下实现交易幂校验方法与流程

文档序号:39337491发布日期:2024-09-10 11:52阅读:8来源:国知局
一种金融系统场景下实现交易幂校验方法与流程

本发明涉及金融系统领域,尤其涉及一种金融系统场景下实现交易幂校验方法。


背景技术:

1、在金融系统的构建和维护阶段,确保系统的稳定性和可靠性是至关重要的。特别是涉及到变更类和账务类的交易接口时,我们必须采取额外的谨慎措施。这些交易接口通常负责处理资金转移、账户余额更新等关键操作,因此它们对准确性的要求极高。

2、为了确保这些交易接口能够正确无误地执行,我们需要实施幂等性验证。幂等性是无论一个操作被执行一次还是多次,最终的结果都应该是相同的。在金融交易的背景下,这意味着即使交易请求被重复提交,系统也应该能够识别并防止这种重复行为,从而避免产生重复的交易结果。

3、为了实现这一点,开发人员需要设计具有强大校验功能的交易接口。这可能包括设置唯一的交易标识符、记录交易状态、以及在系统中实施逻辑检查,以确保在交易已经被处理的情况下,任何后续的相同请求都将被拒绝或忽略。

4、通过在金融系统建设与运行过程中对变更类和账务类的交易接口进行幂等性验证,有效地防止交易的重复提交问题,从而保护金融交易的安全性和完整性。

5、逻辑代码内置校验方案缺点

6、这个方案的主要缺点包括:

7、性能问题:每次请求都需要查询数据库以检查流水号是否存在,这可能会导致大量的数据库访问,从而影响系统性能。特别是在高并发的场景下,这种频繁的数据库操作可能会成为性能瓶颈。

8、数据一致性问题:如果在检查流水号是否存在和实际处理业务之间发生故障(例如服务器崩溃或网络中断),可能会导致数据不一致的情况。即使流水号存在,也可能因为故障而无法正常处理业务。

9、可扩展性问题:如果需要处理的业务量增加,或者需要处理多种不同的业务,这种方法可能需要进行大量的修改和扩展,这会增加维护的复杂性和难度。

10、实时性问题:如果流水号在数据库中的状态更新不是实时的,可能会导致误判。例如,一个业务已经处理完成,但在数据库中的状态还没有更新,这时又收到了一个相同的请求,按照这种方法可能会错误地拒绝这个请求。

11、业务流水号分发方案缺点

12、采用业务流水号发号器方案主要缺点包括:

13、性能瓶颈:所有业务请求都需要通过一个集中的发号器来获取流水号,这可能导致发号器成为系统的瓶颈,尤其在高并发场景下,对发号器的访问可能会限制系统的整体吞吐量。

14、系统复杂度:引入集中发号器会增加系统的复杂性,需要维护和管理这个额外的组件,并确保其高可用和一致性。

15、同步开销:如果发号器的实现是同步的,那么在高峰期可能会阻塞业务流程,导致效率降低。


技术实现思路

1、鉴于上述问题,提出了本发明以便提供克服上述问题或者至少部分地解决上述问题的一种金融系统场景下实现交易幂校验方法。

2、根据本发明的一个方面,提供了一种金融系统场景下实现交易幂校验方法,所述校验方法包括:

3、声明基础的拦截器、自定义注解;

4、交易执行过程中,进行幂等判断记录结果,重复交易执行过程中,返回相同的结果。

5、可选的,所述声明基础的拦截器、自定义注解具体包括:使用自定义注解来标记需要进行幂等校验的方法。

6、可选的,所述使用自定义注解来标记需要进行幂等校验的方法具体包括:声明一个切面,基于注解的参数来实现幂等性逻辑的校验处理。

7、可选的,所述使用自定义注解来标记需要进行幂等校验的方法还包括:

8、支持多种数据存储方式,包括redis缓存和数据库,采用工厂模式来实现幂等性的验证。

9、可选的,所述采用工厂模式来实现幂等性的验证具体包括:

10、首先定义一个自定义注解,用于标记需要进行幂等校验的方法,再声明一个切面,用于处理带有@idempotent注解的方法;

11、在切面中,根据注解的参数来实现幂等性逻辑的校验处理,再实现一个幂等性验证的工厂类,用于根据多种数据存储方式创建对应的验证实例。

12、可选的,所述交易执行过程中,进行幂等判断记录结果,重复交易执行过程中,返回相同的结果具体包括:

13、发人员在需要验证幂等性的系统方法中,增加了一个特殊的注解,这个注解的作用是进行幂等校验;

14、注解中还包含了一个关键字段,为幂等流水号;

15、当一个请求到达系统并触发了这个方法时,系统会启动一个切面的逻辑;

16、在这个切面的逻辑中,系统会使用redis分布式锁的方式来判断这个幂等流水号是否存在;

17、如果流水号不存在,系统会进行下一步的交易处理。

18、可选的,所述幂等流水号是用来唯一标识一次交易的,确保每一笔交易都是唯一的。

19、本发明提供的一种金融系统场景下实现交易幂校验方法,所述校验方法包括:声明基础的拦截器、自定义注解;交易执行过程中,进行幂等判断记录结果,重复交易执行过程中,返回相同的结果。通过缓存来快速判断请求是否已经处理过,避免了重复的数据库操作,提升了系统的响应速度和处理能力。

20、上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。



技术特征:

1.一种金融系统场景下实现交易幂校验方法,其特征在于,所述校验方法包括:

2.根据权利要求1所述的一种金融系统场景下实现交易幂校验方法,其特征在于,所述声明基础的拦截器、自定义注解具体包括:

3.根据权利要求2所述的一种金融系统场景下实现交易幂校验方法,其特征在于,所述使用自定义注解来标记需要进行幂等校验的方法具体包括:

4.根据权利要求2所述的一种金融系统场景下实现交易幂校验方法,其特征在于,所述使用自定义注解来标记需要进行幂等校验的方法还包括:

5.根据权利要求4所述的一种金融系统场景下实现交易幂校验方法,其特征在于,所述采用工厂模式来实现幂等性的验证具体包括:

6.根据权利要求1所述的一种金融系统场景下实现交易幂校验方法,其特征在于,所述交易执行过程中,进行幂等判断记录结果,重复交易执行过程中,返回相同的结果具体包括:

7.根据权利要求6所述的一种金融系统场景下实现交易幂校验方法,其特征在于,所述幂等流水号是用来唯一标识一次交易的,确保每一笔交易都是唯一的。


技术总结
本发明提供的一种金融系统场景下实现交易幂校验方法,所述校验方法包括:声明基础的拦截器、自定义注解;交易执行过程中,进行幂等判断记录结果,重复交易执行过程中,返回相同的结果。通过缓存来快速判断请求是否已经处理过,避免了重复的数据库操作,提升了系统的响应速度和处理能力。

技术研发人员:魏睿娅
受保护的技术使用者:北银金融科技有限责任公司
技术研发日:
技术公布日:2024/9/9
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1