一种批量扣款方法、支付服务器、计算机设备及存储介质技术

技术编号:26067877 阅读:32 留言:0更新日期:2020-10-28 16:41
本文涉及网络通信技术领域,尤其涉及一种批量扣款方法、支付服务器、计算机设备及存储介质。为了解决现有技术中高并发的批量扣款容易发生错误的问题,本文实施例的方法接收来自不同业务服务器发送来的批量扣款请求报文;生成与每一个业务服务器发送的批量扣款请求报文相对应的批量扣款表格;当扣款请求的锁状态位不为锁定状态且支付状态不为完成支付状态,则修改所述扣款请求的锁状态位为锁定状态;执行锁定状态的扣款请求,完成扣款,并修改所述扣款请求的支付状态为完成支付状态。利用本文实施例,不会在高并发扣款应用时发生扣款请求重复执行造成业务失败或者用户账户数据错误的问题。

【技术实现步骤摘要】
一种批量扣款方法、支付服务器、计算机设备及存储介质
本文涉及网络通信
,尤其涉及一种批量扣款方法、支付服务器、计算机设备及存储介质。
技术介绍
在现有保险缴费业务中,定期投资(定投)和自动续期业务由于其操作方便,避免用户忘记缴费期限而造成保险失效等问题的发生,越来越受到用户的喜爱,其中自动续期业务是指通过银行账户或微信、支付宝免等密支付完成自动缴费的业务。现有技术中定投和自动续期业务于每月定时或者固定日期统一发起对用户指定的账户扣款,例如,统一从用户留存的银行卡账户,或者首期支付与微信签约账户中发起扣款,每批扣款申请中订单数量较多,不能采用单笔订单提交支付。在这种大批量扣款业务过程中极有可能出现重复提交请求,重复扣款的问题,这是现有技术亟需解决的问题。
技术实现思路
为解决现有技术中的问题,本文实施例提供了一种批量扣款方法、支付服务器、计算机设备及存储介质,用于解决现有技术中高并发的批量扣款容易发生错误的问题。本文提供了一种批量扣款方法,包括,接收来自不同业务服务器发送来的批量扣款请求报文;生成与每一个业务服务器发送的批量扣款请求报文相对应的批量扣款表格;判断所述批量扣款请求报文中的扣款请求的锁状态位是否为锁定状态,以及所述扣款请求的支付状态是否为完成支付状态;当所述判断结果均为否时,则修改所述扣款请求的锁状态位为锁定状态;执行锁定状态的扣款请求,完成扣款,修改所述扣款请求的支付状态为完成支付状态,并修改所述批量扣款表格中扣款请求的支付状态。本文还提供了一种支付服务器,包括,接收单元,用于接收业务服务器发送的批量扣款请求报文;批量表格生成单元,用于生成与每一个业务服务器发送的批量扣款请求报文相对应的批量扣款表格;判断单元,用于判断所述批量扣款请求报文中的扣款请求的锁状态位是否为锁定状态,以及所述扣款请求的支付状态是否为完成支付状态;锁定单元,用于当所述判断结果均为否时,则修改所述扣款请求的锁状态位为锁定状态;扣款单元,用于执行锁定状态的扣款请求,完成扣款,修改所述扣款请求的支付状态为完成支付状态,并修改所述批量扣款表格中扣款请求的支付状态。本文实施例还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述的方法。本文实施例还提供了一种计算机可读存储介质,其上存储有计算机指令,该计算机指令被处理器执行时实现上述的方法。利用本文实施例,支付服务器通过对接收到的高并发的大量扣款请求进行锁状态位以及支付状态的判断,对符合要求的扣款请求进行锁定,从而完成扣款请求的扣款处理,不会在高并发扣款应用时发生扣款请求重复执行造成业务失败或者用户账户数据错误的问题。附图说明为了更清楚地说明本文实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本文的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1所示为本文实施例周期性批量扣款系统的结构示意图;图2所示为本文实施例周期性批量扣款方法的流程图;图3所示为本文实施例支付服务器的结构示意图;图4所示为本文实施例一种周期性批量扣款方法的具体流程图;图5所示为本文实施例对订单进行扣款的处理流程;图6所示为本文实施例微信支付方式的流程图;图7所示为本文实施例中与上述图4-图6对应的支付服务器的结构示意图;图8中为本文实施例中微信支付接口的结构示意图;图9所示为本文实施例计算设备的结构示意图。【附图标记说明】101、业务服务器;102、支付服务器;301、接收单元;302、批量表格生成单元;303、判断单元;304、锁定单元;305、扣款单元;701、接收单元;702、校验单元;703、批量表格生成单元;704、判断单元;705、锁定单元;706、订单生成单元;707、处理队列;708、扣款单元;7081、读取模块;7082、支付路由模块;7083、多个支付接口;7084、支付状态修改模块;709、批量扣款表格修改单元;710、订单表格清空单元;801、查询部件;802、判断部件;803、支付部件;804、反馈部件;902、计算设备;904、处理设备;906、存储资源;908、驱动机构;910、输入/输出模块;912、输入设备;914、输出设备;916、呈现设备;918、图形用户接口;920、网络接口;922、通信链路;924、通信总线。具体实施方式下面将结合本文实施例中的附图,对本文实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本文一部分实施例,而不是全部的实施例。基于本文中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本文保护的范围。如图1所示为本文实施例周期性批量扣款系统的结构示意图,在本图实施例中,描述了多个业务服务器101以规定的周期在某个时间同时(几毫秒内)向一个或者多个支付服务器102发起扣款请求,支付服务器102在同一时间(极短的时间区间内)接收到大量扣款请求,当第一批扣款请求还未处理完成,第二批扣款请求到来,则由于并发处理扣款请求时极容易出现重复扣款的现象,而导致业务处理错误,造成业务处理失败、数据错误等问题。在本实施例中包括了多个业务服务器101,这些业务服务器101向支付服务器102发起扣款请求,所述扣款请求为用户的定投业务或者自动续期业务到达预定时间(例如周期性到达预定时间)后向用户留存的银行卡账户或者支付宝、微信等账户中发起扣款请求,所述银行卡账户或者支付宝、微信账户都开启了授权指定的公司或者业务从其账户中扣款。大量定时的扣款请求任务被配置到多个业务服务器101上,在同一时间多个业务服务器101可能会向支付服务器102发送相同用户的扣款请求,本文方法和装置的实施例中通过判断扣款请求是否处于锁定状态以及该扣款请求是否在流水表中有相应记录,如果两者皆否,则进行例如Redis分布式锁等方式对正在处理的扣款请求进行锁定,进行扣款处理,释放该扣款请求的锁定,从而可以避免分布式系统中高并发批量支付情况下重复扣款的问题。如图2所示为本文实施例周期性批量扣款方法的流程图,在本实施例中,描述了周期性批量扣款的应用中对高并发的扣款请求进行处理的过程,该方法可以应用于高并发大量用户账户操作的业务,例如保险续费中的自动续费业务,或者有线电视、电话等自动续订服务等业务,运行于支付服务器中,用来处理本文档来自技高网...

【技术保护点】
1.一种批量扣款方法,其特征在于包括,/n接收来自不同业务服务器发送来的批量扣款请求报文;/n生成与每一个业务服务器发送的批量扣款请求报文相对应的批量扣款表格;/n判断所述批量扣款请求报文中的扣款请求的锁状态位是否为锁定状态,以及所述扣款请求的支付状态是否为完成支付状态;/n当判断结果均为否时,则修改所述扣款请求的锁状态位为锁定状态;/n执行锁定状态的扣款请求,完成扣款,修改所述扣款请求的支付状态为完成支付状态,并修改所述批量扣款表格中扣款请求的支付状态。/n

【技术特征摘要】
1.一种批量扣款方法,其特征在于包括,
接收来自不同业务服务器发送来的批量扣款请求报文;
生成与每一个业务服务器发送的批量扣款请求报文相对应的批量扣款表格;
判断所述批量扣款请求报文中的扣款请求的锁状态位是否为锁定状态,以及所述扣款请求的支付状态是否为完成支付状态;
当判断结果均为否时,则修改所述扣款请求的锁状态位为锁定状态;
执行锁定状态的扣款请求,完成扣款,修改所述扣款请求的支付状态为完成支付状态,并修改所述批量扣款表格中扣款请求的支付状态。


2.根据权利要求1所述的方法,其特征在于,在判断所述批量扣款请求报文中的扣款请求的锁状态位是否为锁定状态中进一步包括,判断所述批量扣款请求报文中的扣款请求是否在订单表格中,当所述批量扣款请求报文中的扣款请求不在所述订单表格中时,则所述批量扣款请求报文中的扣款请求的锁状态位为未锁定状态。


3.根据权利要求2所述的方法,其特征在于,判断所述扣款请求的支付状态是否为完成支付状态中进一步包括,判断所述批量扣款请求报文中的扣款请求是否在流水表格中,当所述批量扣款请求报文中的扣款请求不在所述流水表格中时,则所述批量扣款请求报文中的扣款请求为未完成支付状态。


4.根据权利要求3所述的方法,其特征在于,在当所述判断结果均为否时,则修改所述扣款请求的锁状态位为锁定状态之后还包括,根据所述锁定状态的扣款请求生成订单,并写入订单表格。


5.根据权利要求4所述的方法,其特征在于,所述执行所述扣款请求,完成扣款进一步包括,获取所述订单中的扣款相关信息;根据所述扣款相关信息进行支付方式路由;根据所述支付方式路由得到支付方式,以所述支付方式对所述订单进行扣款处理。


6.根据权利要...

【专利技术属性】
技术研发人员:张秋稳
申请(专利权)人:泰康保险集团股份有限公司泰康在线财产保险股份有限公司
类型:发明
国别省市:北京;11

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

1