余额实时处理方法、设备、存储介质及程序产品技术

技术编号:32747484 阅读:13 留言:0更新日期:2022-03-20 08:54
本申请提供一种余额实时处理方法、设备、存储介质及程序产品,通过从消息队列中获取目标用户的待统计交易数据;获取系统中当前存储的目标用户的账户余额以及累计余额,其中,累计余额为每接收到目标用户的一条交易数据后即对该交易数据的交易额进行累积加减得到的,账户余额用于进行展示、且账户余额需保持大于或等于0;根据当前存储的累计余额以及待统计交易数据的交易额更新账户余额,并输出更新后的账户余额进行展示。在基于不保证顺序性的消息队列进行用户的余额统计,使得统计结果更合理,不需要修改数据生产系统、消息队列配置来使数据顺序有效,可避免增加上游数据生产系统的工作量,也避免限制下游数据处理速度,保障数据吞吐量。数据吞吐量。数据吞吐量。

【技术实现步骤摘要】
余额实时处理方法、设备、存储介质及程序产品


[0001]本申请涉及计算机
,尤其涉及一种余额实时处理方法、设备、存储介质及程序产品。

技术介绍

[0002]在银行业系统中,为了保证核心交易系统的稳定性和时效性,一般不在核心系统中进行大范围的交易信息统计,一般通过消息队列将相关交易信息发送到外围系统进行实时的数据加工处理。消息队列可以将上游系统的实时数据发送到消费者,但由于网络延迟等情况,导致数据不能按实际发生的时间顺序到达消费系统,而消费系统无法确定实际业务发生时间,只能按交易数据接收顺序进行数据统计处理。
[0003]交易数据的无序经常产生很多问题,比如在余额统计中,如果客户实际上先存钱然后再转账,但数据消费的顺序可能先转账再存款,这样会导致统计客户存款时,有一段时间客户存款余额为负数,这在实际业务中是不应该存在的。现有技术中通常通过修改数据生产系统、消息队列配置和数据消费系统的方式,尽量达到数据顺序有效。
[0004]但是现有技术修改数据生产系统、消息队列配置和数据消费系统修改范围较广,不利于消息队列使用的广泛性,增加了上游数据生产系统的工作量,而且因为单线程数据消费,会限制下游数据处理速度,减少数据吞吐量。

技术实现思路

[0005]本申请提供一种余额实时处理方法、设备、存储介质及程序产品,以在不保证顺序性的消息队列进行用户的余额统计,使得统计结果更合理。
[0006]第一方面,本申请提供一种余额实时处理方法,包括:
[0007]从消息队列中获取目标用户的待统计交易数据,其中,所述待统计交易数据为交易系统在交易数据产生后发送到消息队列的;
[0008]获取系统中当前存储的所述目标用户的账户余额以及累计余额,其中,所述累计余额为每接收到所述目标用户的一条交易数据后即对该交易数据的交易额进行累积加减得到的,所述账户余额用于进行展示、且所述账户余额需保持大于或等于0;
[0009]根据当前存储的累计余额以及所述待统计交易数据的交易额更新所述账户余额,并输出更新后的账户余额进行展示。
[0010]在一种可选设计中,所述根据当前存储的累计余额以及所述待统计交易数据的交易额更新所述账户余额,包括:
[0011]在当前存储的累计余额基础上累积加减所述待统计交易数据的交易额,得到临时的账户余额;
[0012]判断所述临时的账户余额是否大于或等于0;
[0013]若所述临时的账户余额大于或等于0,则确定更新后的账户余额等于所述临时的账户余额,并设置最新的累计余额等于所述临时的账户余额;或者
[0014]若所述临时的账户余额小于0,则确定更新后的账户余额等于0,并设置最新的累计余额等于所述临时的账户余额。
[0015]在一种可选设计中,所述根据当前存储的累计余额以及所述待统计交易数据的交易额更新所述账户余额,包括:
[0016]在当前存储的累计余额基础上累积加减所述待统计交易数据的交易额,得到最新的累计余额;
[0017]判断所述最新的累计余额是否大于或等于0;
[0018]若所述最新的累计余额大于或等于0,则确定更新后的账户余额等于所述最新的累计余额;或者
[0019]若所述最新的累计余额小于0,则确定更新后的账户余额等于0。
[0020]在上述任一设计的基础上,所述在当前存储的累计余额基础上累积加减所述待统计交易数据的交易额,包括:
[0021]若所述待统计交易数据为转入交易数据,则在当前存储的累计余额基础上加上所述待统计交易数据的交易额;或者
[0022]若所述待统计交易数据为转出交易数据,则在当前存储的累计余额基础上减去所述待统计交易数据的交易额。
[0023]在上述任一设计的基础上,所述获取系统中当前存储的所述目标用户的账户余额以及累计余额,包括:
[0024]若系统中未存储所述目标用户的账户余额以及累计余额,则将所述目标用户的账户余额以及累计余额设置为0。
[0025]在上述任一设计的基础上,所述从消息队列中获取目标用户的待统计交易数据,包括:
[0026]接收所述消息队列根据预设的消息订阅信息发送的所述目标用户的待统计交易数据。
[0027]第二方面,本申请提供一种余额实时处理装置,包括:
[0028]通讯模块,用于从消息队列中获取目标用户的待统计交易数据,其中,所述待统计交易数据为交易系统在交易数据产生后发送到消息队列的;
[0029]查询模块,用于获取系统中当前存储的所述目标用户的账户余额以及累计余额,其中,所述累计余额为每接收到所述目标用户的一条交易数据后即对该交易数据的交易额进行累积加减得到的,所述账户余额用于进行展示、且所述账户余额需保持大于或等于0;
[0030]处理模块,用于根据当前存储的累计余额以及所述待统计交易数据的交易额更新所述账户余额,并输出更新后的账户余额进行展示。
[0031]在一种可选设计中,所述处理模块在根据当前存储的累计余额以及所述待统计交易数据的交易额更新所述账户余额时,用于:
[0032]在当前存储的累计余额基础上累积加减所述待统计交易数据的交易额,得到临时的账户余额;
[0033]判断所述临时的账户余额是否大于或等于0;
[0034]若所述临时的账户余额大于或等于0,则确定更新后的账户余额等于所述临时的账户余额,并设置最新的累计余额等于所述临时的账户余额;或者
[0035]若所述临时的账户余额小于0,则确定更新后的账户余额等于0,并设置最新的累计余额等于所述临时的账户余额。
[0036]在一种可选设计中,所述处理模块在根据当前存储的累计余额以及所述待统计交易数据的交易额更新所述账户余额时,用于:
[0037]在当前存储的累计余额基础上累积加减所述待统计交易数据的交易额,得到最新的累计余额;
[0038]判断所述最新的累计余额是否大于或等于0;
[0039]若所述最新的累计余额大于或等于0,则确定更新后的账户余额等于所述最新的累计余额;或者
[0040]若所述最新的累计余额小于0,则确定更新后的账户余额等于0。
[0041]在上述任一设计的基础上,所述处理模块在当前存储的累计余额基础上累积加减所述待统计交易数据的交易额时,用于:
[0042]若所述待统计交易数据为转入交易数据,则在当前存储的累计余额基础上加上所述待统计交易数据的交易额;或者
[0043]若所述待统计交易数据为转出交易数据,则在当前存储的累计余额基础上减去所述待统计交易数据的交易额。
[0044]在上述任一设计的基础上,所述查询模块在获取系统中当前存储的所述目标用户的账户余额以及累计余额时,用于:
[0045]若系统中未存储所述目标用户的账户余额以及累计余额,则将所述目标用户的账户余额以及累计余额设置为0。
[0046]在上述任一设计的基础上,所述通讯模块在从消息队列中获取目标用户的待统计本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种余额实时处理方法,其特征在于,包括:从消息队列中获取目标用户的待统计交易数据,其中,所述待统计交易数据为交易系统在交易数据产生后发送到消息队列的;获取系统中当前存储的所述目标用户的账户余额以及累计余额,其中,所述累计余额为每接收到所述目标用户的一条交易数据后即对该交易数据的交易额进行累积加减得到的,所述账户余额用于进行展示、且所述账户余额需保持大于或等于0;根据当前存储的累计余额以及所述待统计交易数据的交易额更新所述账户余额,并输出更新后的账户余额进行展示。2.根据权利要求1所述的方法,其特征在于,所述根据当前存储的累计余额以及所述待统计交易数据的交易额更新所述账户余额,包括:在当前存储的累计余额基础上累积加减所述待统计交易数据的交易额,得到临时的账户余额;判断所述临时的账户余额是否大于或等于0;若所述临时的账户余额大于或等于0,则确定更新后的账户余额等于所述临时的账户余额,并设置最新的累计余额等于所述临时的账户余额;或者若所述临时的账户余额小于0,则确定更新后的账户余额等于0,并设置最新的累计余额等于所述临时的账户余额。3.根据权利要求1所述的方法,其特征在于,所述根据当前存储的累计余额以及所述待统计交易数据的交易额更新所述账户余额,包括:在当前存储的累计余额基础上累积加减所述待统计交易数据的交易额,得到最新的累计余额;判断所述最新的累计余额是否大于或等于0;若所述最新的累计余额大于或等于0,则确定更新后的账户余额等于所述最新的累计余额;或者若所述最新的累计余额小于0,则确定更新后的账户余额等于0。4.根据权利要求2或3所述的方法,其特征在于,所述在当前存储的累计余额基础上累积加减所述待统计交易数据的交易额,包括:若所述待统计交易数据为转入交易数据,则在当前存储的累计余额基础上加上所述待统计交易数据的交易额;或者若所述待统计交易数据为转出...

【专利技术属性】
技术研发人员:刘惠民孙琳孔伟国
申请(专利权)人:中国农业银行股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1