一种支付路由分配方法、装置及设备与流程

摘要: 本技术涉及数据处理,尤其涉及一种支付路由分配方法、装置及设备。背景技术:1、在航空票务销售等高频交易场景中,支付系统通常采用支付渠道集技术,将同一支付属性(如国...
一种支付路由分配方法、装置及设备与流程

本技术涉及数据处理,尤其涉及一种支付路由分配方法、装置及设备。

背景技术:

1、在航空票务销售等高频交易场景中,支付系统通常采用支付渠道集技术,将同一支付属性(如国际卡、快捷支付等)的多个子支付通道聚合为一个逻辑集合,以提供冗余备份并简化用户选择。

2、目前的支付路由分配方法存在一定的局限性,导致在集群运算的支付场景下,各子支付渠道的实际执行的支付单数比例与预设的路由比例难以保持一致,造成财务审计困难的问题。

3、因此,如何解决各子支付渠道实际执行的支付单数与预设值偏差值过大,是本领域亟待解决的技术问题。

技术实现思路

1、本技术的目的在于提供一种支付路由分配方法、装置及设备,旨在解决基于传统的随机数算法分配策略的造成的支付路由比例与预设值偏差值过大的问题。

2、第一方面,本技术提供一种支付路由分配方法,应用于支付网关,方法包括:接收支付请求,并确定支付请求所属的支付渠道集,支付渠道集包含至少两个子支付渠道;不同子支付渠道对应各自的令牌桶;各子支付渠道对应的令牌桶中令牌数量与预设的路由比例配置成正比;响应于支付请求,获取各子支付渠道对应的令牌桶中的当前可用令牌数量,并计算总令牌数量;在总令牌数量对应的数值区间内生成目标随机数,根据目标随机数在数值区间中的位置,确定目标子支付渠道;对目标子支付渠道对应的令牌桶执行令牌减一操作,并基于目标子支付渠道执行支付路由跳转,以完成支付请求。

3、本技术提供的支付路由分配方法,通过配置各子支付渠道对应的令牌桶中令牌数量与预设的路由比例配置成正比,使得各令牌桶内的可用令牌数量动态映射为渠道的权重比例。响应于支付请求获取各令牌桶的当前可用令牌数量并计算总令牌数量,在总令牌数量对应的数值区间内生成目标随机数,并根据目标随机数在数值区间中的位置确定目标子支付渠道,对目标子支付渠道对应的令牌的令牌数减一,并跳转至该目标子支付渠道。

4、相较于传统的随机数算法分配方法,本技术使用基于令牌桶算法的支付路由分配方法,利用随机数落入不同令牌桶数值区间的概率分布特性,可以提升支付路由分流的精确度,确保各渠道实际被选中的概率符合预设路由比例配置,从而可以解决支付路由比例与预设值偏差值过大的问题。

5、在一种可能的实现方式中,根据目标随机数在数值区间中的位置,确定目标子支付渠道,包括:在第i次遍历过程中,获取当前遍历的候选子支付渠道的可用令牌数量;判断目标随机数是否小于可用令牌数量;若小于,则确定候选子支付渠道为目标子支付渠道;否则,将目标随机数与可用令牌数量的差值作为下一次遍历过程中的目标随机数,重复上述过程。

6、在一种可能的实现方式中,数值区间包括各子支付渠道对应的子数值区间;根据目标随机数在数值区间中的位置,确定目标子支付渠道,包括:根据目标随机数落入的子数值区间,确定目标子支付渠道。

7、在一种可能的实现方式中,在获取各子支付渠道对应的令牌桶中的当前可用令牌数量之前,对各子支付渠道对应的令牌桶配置第一令牌锁;在计算总令牌数量之后,释放第一令牌锁;在对目标子支付渠道对应的令牌桶执行令牌减一操作之前,对各子支付渠道对应的令牌桶配置第二令牌锁;在对目标子支付渠道对应的令牌桶执行令牌减一操作之后,释放第二令牌锁。

8、在一种可能的实现方式中,统计预设周期内各子支付渠道的实际支付单量;基于预设的校准算法公式,根据实际支持单量动态调整路由比例配置。

9、在一种可能的实现方式中,路由比例配置包括各子支付渠道对应的路由比例;预设的校准算法公式根据如下表达式确定:子支付渠道的动态调整后的路由比例= (路由比例2)- (子支付渠道的实际支付单量/渠道集总支付单量。

10、在一种可能的实现方式中,在确定支付请求所属的支付渠道集之后,方法还包括:在支付渠道集不存在对应的令牌桶的情况下,若存在动态调整后的路由比例配置,则基于动态调整后的路由比例配置获取各子支付渠道对应的令牌配额,以构建令牌桶;若不存在动态调整后的路由比例配置,则基于预设的路由比例配置各子支付渠道对应的令牌配额,以构建令牌桶。

11、在一种可能的实现方式中,接收切换指令;切换指令用于指示至少两个子支付渠道中的待切换子支付渠道;按照预设的分配权重,将待切换子支付渠道的原有路由比例分配至其他子支付渠道,并将待切换子支付渠道的路由比例置为0,生成动态调整后的路由比例配置。

12、第二方面,本技术提供一种支付路由比例分配装置,该装置包括:获取模块、确定模块及操作模块;确定模块用于,接收支付请求,并确定支付请求所属的支付渠道集,支付渠道集包含至少两个子支付渠道;不同子支付渠道对应各自的令牌桶;各子支付渠道对应的令牌桶中令牌数量与预设的路由比例配置成正比;获取模块用于,响应于支付请求,获取各子支付渠道对应的令牌桶中的当前可用令牌数量,并计算总令牌数量;确定模块还用于,在总令牌数量对应的数值区间内生成目标随机数,根据目标随机数在数值区间中的位置,确定目标子支付渠道;操作模块用于,对目标子支付渠道对应的令牌桶执行令牌减一操作,并基于目标子支付渠道执行支付路由跳转,以完成支付请求。

13、在一种可能的实现方式中,确定模块具体用于,根据目标随机数在数值区间中的位置,确定目标子支付渠道,包括:在第i次遍历过程中,获取当前遍历的候选子支付渠道的可用令牌数量;判断目标随机数是否小于可用令牌数量;若小于,则确定候选子支付渠道为目标子支付渠道;否则,将目标随机数与可用令牌数量的差值作为下一次遍历过程中的目标随机数,重复上述过程。

14、在一种可能的实现方式中,操作模块还用于,在获取各子支付渠道对应的令牌桶中的当前可用令牌数量之前,对各子支付渠道对应的令牌桶配置第一令牌锁;在计算总令牌数量之后,释放第一令牌锁;在对目标子支付渠道对应的令牌桶执行令牌减一操作之前,对各子支付渠道对应的令牌桶配置第二令牌锁;在对目标子支付渠道对应的令牌桶执行令牌减一操作之后,释放第二令牌锁。

15、在一种可能的实现方式中,确定模块还用于,统计预设周期内各子支付渠道的实际支付单量;基于预设的校准算法公式,根据实际支持单量动态调整路由比例配置。

16、在一种可能的实现方式中,确定模块具体用于,预设的校准算法公式根据如下表达式确定:子支付渠道的动态调整后的路由比例= (路由比例2)- (子支付渠道的实际支付单量/渠道集总支付单量。

17、在一种可能的实现方式中,确定模块还用于,在确定支付请求所属的支付渠道集之后,方法还包括:在支付渠道集不存在对应的令牌桶的情况下,若存在动态调整后的路由比例配置,则基于动态调整后的路由比例配置获取各子支付渠道对应的令牌配额,以构建令牌桶;若不存在动态调整后的路由比例配置,则基于预设的路由比例配置各子支付渠道对应的令牌配额,以构建令牌桶。

18、在一种可能的实现方式中,确定模块还用于,接收切换指令;切换指令用于指示至少两个子支付渠道中的待切换子支付渠道;按照预设的分配权重,将待切换子支付渠道的原有路由比例分配至其他子支付渠道,并将待切换子支付渠道的路由比例置为0,生成动态调整后的路由比例配置。

19、第三方面,本技术提供一种电子设备,该电子设备包括:处理器和存储器;存储器存储有处理器可执行的指令;处理器被配置为执行指令时,使得电子设备实现上述第一方面的方法。

20、第四方面,本技术提供一种计算机可读存储介质,该计算机可读存储介质包括:计算机软件指令;当计算机软件指令在电子设备中运行时,使得电子设备实现上述第一方面的方法。

21、第五方面,本技术提供一种计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行上述第一方面描述的相关方法的步骤,以实现上述第一方面的方法。

22、上述第二方面至第五方面的有益效果可以参考第一方面的对应描述,不再赘述。