System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本说明书涉及金融科技,尤其是涉及一种对公账户的资金下拨处理方法、装置、设备及存储介质。
技术介绍
1、资金下拨是将上级对公账户中的资金转账至下级对公账户中,以实现专款专用等目的。传统的资金下拨方式为:收到下拨指示时,锁定主账户(即锁定主账户余额以提高资金下拨成功率),将主账户的资金下拨到一个或者多个第一级账户,并锁定各个第一级账户以继续进行各个第一级账户的资金下拨,以此递推,直至完成所有下拨任务后,释放对主账户及相关各级账户的锁定。然而,由于网络异常等原因,可能会存在其中一部分账户难以及时完成收款或下拨,导致主账户及相关的各级账户被持续锁定;从而影响了主账户及相关账户的正常使用。
技术实现思路
1、本说明书实施例的目的在于提供一种对公账户的资金下拨处理方法、装置、设备及存储介质,以提高资金下拨成功率并减少资金下拨处理中对账户的使用影响。
2、为达到上述目的,一方面,本说明书实施例提供了一种对公账户的资金下拨处理方法,包括:
3、生成多个账户之间的资金下拨关系树;所述资金下拨关系树中,根节点为主账户,各级子节点为共享所述主账户的资金的子账户,有向边为账户之间的资金下拨关系;
4、接收到资金下拨指令时,调用zookeeper组件分别开启用于对应锁定所述根节点及各个第一级子节点的临时节点;
5、发送根据所述根节点的下拨策略生成的支付指令,以向各个所述第一级子节点下拨资金;
6、当所有第一级子节点均收款成功时,调用所述zookee
7、调用所述zookeeper组件分别开启用于对应锁定各个第二级子节点的临时节点;
8、发送根据各个所述第一级子节点的下拨策略生成的支付指令,以向各个所述第二级子节点下拨资金;
9、当同一个第一级子节点关联的所有第二级子节点均收款成功时,调用所述zookeeper组件删除该第一级子节点的临时节点,以解除对该第一级子节点的锁定;
10、迭代执行上述步骤直至完成所述资金下拨关系树中所有子节点的资金下拨。
11、本说明书实施例的对公账户的资金下拨处理方法中,还包括:
12、监控每个所述临时节点的有效期;
13、当有临时节点在其有效期到期时仍未被删除时,调用所述zookeeper组件删除该临时节点,以解除该临时节点对应账户节点的锁定。
14、本说明书实施例的对公账户的资金下拨处理方法中,还包括:
15、在调用zookeeper组件分别开启用于对应锁定所述根节点及各个第一级子节点的临时节点之前,先校验所述根节点的账户余额是否充足;
16、如果所述根节点的账户余额充足,则调用所述zookeeper组件分别开启用于对应锁定所述根节点及各个第一级子节点的临时节点。
17、本说明书实施例的对公账户的资金下拨处理方法中,还包括:
18、如果所述根节点的账户余额不足,确定所述资金下拨关系树中从根节点至叶子节点的所有下拨路径的下拨优先级;
19、则按照所述下拨优先级,调用所述zookeeper组件分别开启用于对应锁定所述根节点及各个第一级子节点的临时节点。
20、本说明书实施例的对公账户的资金下拨处理方法中,所述确定所述资金下拨关系树中从根节点至叶子节点的所有下拨路径的下拨优先级,包括:
21、读取所述资金下拨关系树中每条下拨路径下的各个有向边的重要程度值;
22、分别计算每条下拨路径下的各个有向边的重要程度值之和,以获得每条下拨路径的重要程度值;
23、将所述资金下拨关系树中的所有下拨路径按照重要程度值由大至小排序,以作为所述所有下拨路径的下拨优先级。
24、本说明书实施例的对公账户的资金下拨处理方法中,每个所述临时节点以对应节点的账户名称、锁定金额、有向边标识、下拨策略标识的字符串组合命名。
25、本说明书实施例的对公账户的资金下拨处理方法中,还包括:
26、将未完成收款的子节点或叶子节点记录在下拨失败列表中;
27、在执行完所述资金下拨关系树中子账户的一轮次资金下拨后,为所述下拨失败列表中的子节点或叶子节点开启下拨定时任务;
28、执行所述下拨定时任务,以完成针对所述下拨失败列表中的子节点或叶子节点的资金下拨。
29、本说明书实施例的对公账户的资金下拨处理方法中,所述支付指令按照以下方式发送:
30、将所述支付指令写入缓冲队列;
31、调用消息中间件从所述缓冲队列中读取支付指令并发送。
32、另一方面,本说明书实施例还提供了一种对公账户的资金下拨处理装置,包括:
33、树结构生成模块,用于生成多个账户之间的资金下拨关系树;所述资金下拨关系树中,根节点为主账户,各级子节点为共享所述主账户的资金的子账户,有向边为账户之间的资金下拨关系;
34、第一调用模块,用于接收到资金下拨指令时,调用zookeeper组件分别开启用于对应锁定所述根节点及各个第一级子节点的临时节点;
35、第一发送模块,用于发送根据所述根节点的下拨策略生成的支付指令,以向各个所述第一级子节点下拨资金;
36、第一删除模块,用于当所有第一级子节点均收款成功时调用所述zookeeper组件所述根节点的临时节点,以解除对所述根节点的锁定;
37、第二调用模块,用于调用所述zookeeper组件分别开启用于对应锁定各个第二级子节点的临时节点;
38、第二发送模块,用于发送根据各个所述第一级子节点的下拨策略生成的支付指令,以向各个所述第二级子节点下拨资金;
39、第二删除模块,用于当同一个第一级子节点关联的所有第二级子节点均收款成功时,调用所述zookeeper组件删除该第一级子节点的临时节点,以解除对该第一级子节点的锁定;
40、迭代控制模块,用于迭代执行上述步骤直至完成所述资金下拨关系树中所有子节点的资金下拨。
41、另一方面,本说明书实施例还提供了一种计算机设备,包括存储器、处理器、以及存储在所述存储器上的计算机程序,所述计算机程序被所述处理器运行时,执行上述方法的指令。
42、另一方面,本说明书实施例还提供了一种计算机存储介质,其上存储有计算机程序,所述计算机程序被计算机设备的处理器运行时,执行上述方法的指令。
43、另一方面,本说明书实施例还提供了一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被计算机设备的处理器运行时,执行上述方法的指令。
44、由以上本说明书实施例提供的技术方案可见,本说明书实施例中,在预先构建出多个账户之间的资金下拨关系树的基础上,在进行资金下拨时,先利用zookeeper组件创建的临时节点锁定本级节点,以保证本级节点的资金下拨成功本文档来自技高网...
【技术保护点】
1.一种对公账户的资金下拨处理方法,其特征在于,包括:
2.如权利要求1所述的对公账户的资金下拨处理方法,其特征在于,还包括:
3.如权利要求1所述的对公账户的资金下拨处理方法,其特征在于,还包括:
4.如权利要求3所述的对公账户的资金下拨处理方法,其特征在于,还包括:
5.如权利要求4所述的对公账户的资金下拨处理方法,其特征在于,所述确定所述资金下拨关系树中从根节点至叶子节点的所有下拨路径的下拨优先级,包括:
6.如权利要求1所述的对公账户的资金下拨处理方法,其特征在于,每个所述临时节点以对应节点的账户名称、锁定金额、有向边标识、下拨策略标识的字符串组合命名。
7.如权利要求1所述的对公账户的资金下拨处理方法,其特征在于,还包括:
8.如权利要求1所述的对公账户的资金下拨处理方法,其特征在于,所述支付指令按照以下方式发送:
9.一种对公账户的资金下拨处理装置,其特征在于,包括:
10.一种计算机设备,包括存储器、处理器、以及存储在所述存储器上的计算机程序,其特征在于,所述
11.一种计算机存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被计算机设备的处理器运行时,执行根据权利要求1-8任意一项所述方法的指令。
12.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机程序,所述计算机程序被计算机设备的处理器运行时,执行根据权利要求1-8任意一项所述方法的指令。
...【技术特征摘要】
1.一种对公账户的资金下拨处理方法,其特征在于,包括:
2.如权利要求1所述的对公账户的资金下拨处理方法,其特征在于,还包括:
3.如权利要求1所述的对公账户的资金下拨处理方法,其特征在于,还包括:
4.如权利要求3所述的对公账户的资金下拨处理方法,其特征在于,还包括:
5.如权利要求4所述的对公账户的资金下拨处理方法,其特征在于,所述确定所述资金下拨关系树中从根节点至叶子节点的所有下拨路径的下拨优先级,包括:
6.如权利要求1所述的对公账户的资金下拨处理方法,其特征在于,每个所述临时节点以对应节点的账户名称、锁定金额、有向边标识、下拨策略标识的字符串组合命名。
7.如权利要求1所述的对公账户的资金下拨处理方法,其特征在于,...
【专利技术属性】
技术研发人员:冯阳,
申请(专利权)人:中国建设银行股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。