一种分布式渠道自动切换方法及存储介质技术

技术编号:34621652 阅读:21 留言:0更新日期:2022-08-20 09:29
本发明专利技术公开了一种分布式渠道自动切换方法及存储介质。该方法通过轮询的健康性检测对在使用的主渠道的健康状态进行监测,若所述主渠道的健康监测结果为不健康,则切换使用备用渠道;通过轮询的可用性监测,在切换为备用渠道后,监测判断所述主渠道的健康状态是否恢复,若恢复,则可回切至主渠道;通过健康性检测和可用性监测维护的渠道标记,在实时的流程中即时获取当前可用最高优先级渠道,并通过分布式流控锁逐级向低优先级渠道分流;通过对指定渠道执行结果维护一个异常请求池,以辅助所述健康性检测和可用性监测。相对于人工的渠道切换,该轻量级分布式流控锁及分布式渠道自动切换方法可以更敏锐地做出反应、更低成本地长久解决问题。解决问题。解决问题。

【技术实现步骤摘要】
一种分布式渠道自动切换方法及存储介质


[0001]本专利技术涉及计算机
,具体涉及一种分布式渠道自动切换方法及存储介质。

技术介绍

[0002]随着业务的快速发展,RPA机器人封装的联网身份二要素核查API难以满足线上高并发开户的场景需求,银行进一步接入了人行PICP系统,以提供全API级的支持高并发高可用的联网身份二要素核查服务。
[0003]随着业务的进一步发展,人行PICP系统的服务时间(7:30

19:30)难以满足线上24小时开户场景需求,进一步通过有公安资质认证的第三方联网身份二要素核查服务商接入了24小时服务的高并发高可用API服务。
[0004]由于第三方联网身份核查服务商非人行,并且有较高服务费,而人行数据准确性更高,并且免费,但是服务时间为7*12小时,并且非准点切换服务,在人工切换渠道时,往往出现切换了但人行渠道依旧可用,导致浪费,或者还没切换但人行渠道已经关闭,导致业务失败。因此需要一套有渠道权重,并且可以自动根据渠道健康性自动进行逐级来回切换,并且控制各渠道流量的方法。

技术实现思路

[0005]本专利技术的目的是针对现有技术存在的不足,提供一种分布式渠道自动切换方法及存储介质。
[0006]为实现上述目的,在第一方面,本专利技术提供了一种分布式渠道自动切换方法,包括:
[0007]步骤1、通过轮询的健康性检测对在使用的主渠道的健康状态进行监测,若所述主渠道的健康监测结果为不健康,则切换使用备用渠道;
[0008]步骤2、通过轮询的可用性监测,在切换为备用渠道后,监测判断所述主渠道的健康状态是否恢复,若恢复,则可回切至主渠道;
[0009]步骤3、通过健康性检测和可用性监测维护的渠道标记,在实时的流程中即时获取当前可用最高优先级渠道,并通过分布式流控锁逐级向低优先级渠道分流;
[0010]步骤4、通过对指定渠道执行结果维护一个异常请求池,以辅助所述健康性检测和可用性监测。
[0011]进一步的,还包括:通过轮询的健康性检测对当前在用的渠道的健康状态进行监测,若当前在用的渠道不健康,则对渠道标记进行降级维护,具体如下:
[0012]从分布式内存存储中间件获取当前在用的主渠道的tFlag,并所述tFlag判断当前在用的渠道是否为预期切回渠道,若为预期切回渠道则直接结束,否则执行下一步;
[0013]从分布式内存存储中间件获取当前错误集合,若错误集合为空,则表示当前渠道健康,直接退出,否则从所述错误集合中获取错误请求;
[0014]通过检测渠道执行所述错误请求,若结果依旧为错误,则在更替错误集合中请求多次尝试,到达预设次数后,将对当前在用的主渠道的tFlag进行降级处理,调整其值为低一级渠道。
[0015]进一步的,所述步骤2具体包括:
[0016]步骤2.1从分布式内存存储中间件获取当前在用渠道的tFlag,并根据当前在用渠道的tFlag判断当前在用渠道是否为监测渠道,若为监测渠道则继续下一步,否则直接结束;
[0017]步骤2.2、通过预期切回渠道执行错误集合中错误请求,若执行结果为成功,则在更替错误集合中请求多次尝试,到达预设次数后,将对指定渠道tFlag进行回切处理,调整其值为预期回切渠道值。
[0018]进一步的,所述步骤3具体包括:
[0019]步骤3.1、从分布式内存存储中间件获取当前在用渠道tFlag;
[0020]步骤3.2、从分布式内存存储中间件获取当前指定渠道令牌token;
[0021]步骤3.3、若获取到指定渠道令牌token,则通过当前指定渠道执行任务获取结果;
[0022]步骤3.4、若未能获取到指定渠道令牌token,转走低一级渠道,并尝试获取该渠道令牌,直到获取到相应渠道令牌,或降级为最低级渠道为止;
[0023]步骤3.5、若渠道执行结果为失败,则将该请求置入对应渠道的错误集合中。
[0024]进一步的,所述分布式流控锁基于令牌桶算法实现,具体如下:
[0025]步骤4.1、向分布式内存存储中间件中预加载各渠道可支撑数量的令牌token;
[0026]步骤4.2、当请求被分流到对应渠道时,尝试从渠道对应的令牌桶中获取令牌token;
[0027]步骤4.3、若成功获取令牌token,则可从对应渠道执行任务,在任务执行结束获取结果后,不论结果成功失败,都归还令牌token。
[0028]在第二方面,本专利技术提供了一种存储介质,存储有计算机程序,所述程序被处理器加载时实现权利要求上述的分布式渠道自动切换方法。
[0029]有益效果:1、通过轮询的在用渠道健康性检测,异步、高灵敏度、可参数配置化地对渠道进行监测,在其不健康时敏锐地降级切换;
[0030]2、通过轮询的预期渠道可用性监测,异步、高灵敏度、可参数配置化地对预期切回的渠道进行监测,在其恢复时敏锐地回切;
[0031]3、通过异常池辅助健康性检测和可用性监测的实施,提高其监测效率;
[0032]4通过基于令牌桶算法的分级流控,对各渠道流量进行精确、可参数配置化控制;
[0033]5基于分布式内存存储中间件实现,可支持分布式应用、高可用、快速且轻量级。
附图说明
[0034]图1是本专利技术实施例的分布式渠道自动切换方法的结构示意图;
[0035]图2为本专利技术实施例的当前在用渠道健康性检测流程示意图;
[0036]图3为本专利技术实施例的预期渠道可用性监测流程示意图。
具体实施方式
[0037]下面结合附图和具体实施例,进一步阐明本专利技术,本实施例在以本专利技术技术方案为前提下进行实施,应理解这些实施例仅用于说明本专利技术而不用于限制本专利技术的范围。
[0038]如图1至3所示,本专利技术实施例提供了一种分布式渠道自动切换方法,包括:
[0039]步骤1、通过轮询的健康性检测对在使用的主渠道的健康状态进行监测,若主渠道的健康监测结果为不健康,则切换使用备用渠道。需要说明的是,图中的M渠道是指主渠道,即权重级最高的渠道。S渠道指备渠道,即权重级较低的渠道。Sn渠道指备渠道中某个渠道,其中n为大于0的正整数,n越小权重级越高;健康性指渠道当前状态是否稳定,会出现较多异常则视为不健康,趋于全部成功则视为健康。
[0040]还优选通过轮询的健康性检测对当前在用的渠道的健康状态进行监测,若当前在用的渠道不健康,则对渠道标记进行降级维护,具体如下:
[0041]从分布式内存存储中间件获取当前在用的主渠道的tFlag,并所述tFlag判断当前在用的渠道是否为预期切回渠道,若为预期切回渠道则直接结束,否则执行下一步。
[0042]从分布式内存存储中间件获取当前错误集合,若错误集合为空,则表示当前渠道健康,直接退出,否则从所述错误集合中获取错误请求。
[0043]通过检测渠道执行所述错误请求,若结果依旧为错误,则在更替错误集合本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种分布式渠道自动切换方法,其特征在于,包括:步骤1、通过轮询的健康性检测对在使用的主渠道的健康状态进行监测,若所述主渠道的健康监测结果为不健康,则切换使用备用渠道;步骤2、通过轮询的可用性监测,在切换为备用渠道后,监测判断所述主渠道的健康状态是否恢复,若恢复,则可回切至主渠道;步骤3、通过健康性检测和可用性监测维护的渠道标记,在实时的流程中即时获取当前可用最高优先级渠道,并通过分布式流控锁逐级向低优先级渠道分流;步骤4、通过对指定渠道执行结果维护一个异常请求池,以辅助所述健康性检测和可用性监测。2.根据权利要求1所述的一种分布式渠道自动切换方法,其特征在于,还包括:通过轮询的健康性检测对当前在用的渠道的健康状态进行监测,若当前在用的渠道不健康,则对渠道标记进行降级维护,具体如下:从分布式内存存储中间件获取当前在用的主渠道的tFlag,并所述tFlag判断当前在用的渠道是否为预期切回渠道,若为预期切回渠道则直接结束,否则执行下一步;从分布式内存存储中间件获取当前错误集合,若错误集合为空,则表示当前渠道健康,直接退出,否则从所述错误集合中获取错误请求;通过检测渠道执行所述错误请求,若结果依旧为错误,则在更替错误集合中请求多次尝试,到达预设次数后,将对当前在用的主渠道的tFlag进行降级处理,调整其值为低一级渠道。3.根据权利要求1所述的一种分布式渠道自动切换方法,其特征在于,所述步骤2具体包括:步骤2.1从分布式内存存储中间件获取当前在用渠道的tFlag,并根据当前在用渠道的t...

【专利技术属性】
技术研发人员:张圣云
申请(专利权)人:江苏苏宁银行股份有限公司
类型:发明
国别省市:

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

1