一种高效账务数据管理方法、系统及存储介质与流程

文档序号:37084842发布日期:2024-02-20 21:40阅读:14来源:国知局
一种高效账务数据管理方法、系统及存储介质与流程

本发明涉及账务数据处理,具体涉及一种高效账务数据管理方法、系统及存储介质。


背景技术:

1、在编写并发程序时,其中一个主要的挑战是确保多个线程在共享资源上的正确协同工作。在某些情况下,可能需要保护共享资源,以防止多个线程同时修改它。这是通过使用锁来实现的。

2、传统的账务系统记账流程设计通常以账户为聚合根,先持有账户锁,再构建流水,然后进行资金处理,最后持久化操作。传统的账务系统记账流程设计会带来以下问题:

3、1、高并发性能下的效率问题:如果先持有账户锁,那么其他线程在进行并发操作时就需要等待锁的释放。这可能会导致并发性能下降,因为各个线程需要等待锁的释放才能继续执行。

4、2、死锁问题风险增加:当多个线程在持有锁的情况下,试图同时获取其他线程持有的锁时,可能会出现死锁情况。锁持久持有时间的增加,伴随着死锁风险的增加。

5、3、难以维护:在大规模代码中,正确处理锁的顺序可能变得非常复杂。如果需要持有多个锁,那么正确处理它们的顺序可能会变得非常困难。这可能导致代码的可维护性下降和错误的引入。


技术实现思路

1、本发明的目的之一在于提供一种高效账务数据管理方法,通过优化记账流程,减少数据库交互次数和账户锁的持有时间,提高了账务数据管理系统的性能和效率。

2、为了达到上述目的,提供了一种高效账务数据管理方法,包括以下步骤:

3、s1、接收到记账指令请求时,首先对记账指令请求进行验证;如果请求合法,继续下一步骤;

4、s2、根据记账指令进行幂等处理,如果触发幂等,流程结束;

5、s3、根据记账指令构建交易流水,并填充交易流水的账期和账户信息;

6、s4、根据账户唯一标识分别对交易流水进行分组轧差汇总,计算出当前交易需要动账金额;

7、s5、将交易流水插入数据库,持久化交易流水的数据;

8、s6、根据账户唯一标识对账户进行排序;

9、s7、排除不需要更新余额的账户,将需要更新余额的账户进行批量更新;通过判断数据库变更行数等于预期变更行数,确定记账是否成功。

10、进一步,所述步骤s1中,如果请求不合法或存在错误,及时返回错误信息,并回滚已构建的流水操作。

11、本发明的目的之二在于提供一种高效账务数据管理系统,所述系统包括以下模块:

12、记账指令接收及验证模块:用于接收到记账指令请求时,首先对记账指令请求进行验证;如果请求合法,继续下一步;

13、幂等处理模块:用于根据记账指令进行幂等处理,如果触发幂等,流程结束;

14、交易流水构建模块:用于根据记账指令构建交易流水,并填充交易流水的账期和账户信息;

15、分组轧差汇总模块:用于根据账户唯一标识分别对交易流水进行分组轧差汇总,计算出当前交易需要动账金额;

16、持久化交易模块:用于将交易流水插入数据库,持久化交易流水的数据;

17、账户排序模块:用于根据账户唯一标识对账户进行排序;

18、账户余额更新模块:用于排除内存中不需要更新余额的账户,将需要更新余额的账户进行批量更新;通过判断数据库变更行数等于预期变更行数,确定记账是否成功。

19、进一步,所述记账指令接收及验证模块中,如果请求不合法或存在错误,及时返回错误信息,并回滚已构建的流水操作。

20、本发明的目的之三在于提供一种计算机可读存储介质,所述计算机可读存储介质中包括高效账务数据管理程序,所述高效账务数据管理程序被处理器执行时,实现所述的高效账务数据管理方法的步骤。

21、原理及优点:

22、1、数据一致性:通过在持有账户锁之前构建流水,可以确保账户数据的一致性和准确性。避免并发操作导致的数据冲突和错误。

23、2、错误回滚机制:在账务请求验证过程中,如果发现请求不合法或存在错误,可以及时返回错误信息,并回滚已构建的流水操作。避免错误数据的持久化产生不可逆的后果。

24、3、并发性能提升:通过先构建流水再持有账户锁的方式,可以减少对账户锁的争用和等待,从而提升系统的并发性能

25、4、减少了数据库交互次数:通过将账户流水作为聚合根,减少了对账户的频繁读写操作,降低了数据库交互的次数,提升了系统的性能和效率。

26、5、提高了数据处理的准确性和实时性:通过内存操作和数据库交互的组合,确保了数据的准确性和实时性,提升了系统的数据处理能力

27、6、简化了系统架构:通过优化记账流程,减少了系统中的冗余操作,简化了系统的架构,提高了系统的可维护性和可扩展性。

28、7、避免死锁风险:通过更新账户数据的排序处理,有效预防死锁风险。



技术特征:

1.一种高效账务数据管理方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的一种高效账务数据管理方法,其特征在于:所述步骤s1中,如果请求不合法或存在错误,及时返回错误信息,并回滚已构建的流水操作。

3.一种高效账务数据管理系统,其特征在于:所述系统包括以下模块:

4.根据权利要求3所述的一种高效账务数据管理系统,其特征在于:所述记账指令接收及验证模块中,如果请求不合法或存在错误,及时返回错误信息,并回滚已构建的流水操作。

5.一种计算机可读存储介质,其特征在于:所述计算机可读存储介质中包括高效账务数据管理程序,所述高效账务数据管理程序被处理器执行时,实现如权利要求1至2中任一项所述的高效账务数据管理方法的步骤。


技术总结
本发明涉及账务数据处理技术领域,具体涉及一种高效账务数据管理方法、系统及存储介质,所述方法包括以下步骤:S1、接收到记账指令请求时,首先对记账指令请求进行验证;S2、根据记账指令进行幂等处理;S3、根据记账指令构建交易流水,并填充交易流水的账期和账户信息;S4、根据账户唯一标识分别对交易流水进行分组轧差汇总,计算出当前交易需要动账金额;S5、将交易流水插入数据库,持久化交易流水的数据;S6、根据账户唯一标识对账户进行排序;S7、排除不需要更新余额的账户,将需要更新余额的账户进行批量更新。本发明通过优化记账流程,减少数据库交互次数和账户锁的持有时间,提高了账务数据管系统的性能和效率。

技术研发人员:卢苇
受保护的技术使用者:重庆富民银行股份有限公司
技术研发日:
技术公布日:2024/2/19
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1