灰度算法支持下的智能路由发布的方法与流程

文档序号:27265069发布日期:2021-11-06 00:10阅读:162来源:国知局
灰度算法支持下的智能路由发布的方法与流程

1.本发明属于计算机技术领域,具体涉及一种灰度算法支持下的智能路由发布的方法。


背景技术:

2.贷记卡系统的整体解决方案涵盖从整个信用卡生命周期的全面管理,其中涉及线上系统客户可直接感知的包括信用卡征信审批模块、客户管理和卡片管理模块、交易处理、风险和反欺诈模块、积分模块、现金分期和分期业务模块、信用卡催收模块以及强大的营销管理功能,其中涉及大量的业务处理模块。
3.为客户提供更丰富的业务产品以及多样性的服务方式成为了贷记卡系统竞争的有效方式,为此新服务的上线和新业务的开展将越加的频繁,这也为系统稳定以及客户接纳度提出了更多的挑战。


技术实现要素:

4.本发明是为了解决上述问题而进行的,目的在于提供一种实现新业务上线时能够平滑过渡,保证整体系统的稳定性且能够降低应用系统重大技术升级或者新业务上线带来的风险的灰度算法支持下的智能路由发布的方法。
5.本发明提供了一种灰度算法支持下的智能路由发布的方法,其特征在于,包括以下步骤:
6.步骤1,在路由转发系统中建立灰度发布模块,配置灰度参数,灰度参数至少包括配置用户黑名单和/或白名单、初始化分流的后继节点的灰度权重、失败率阈值,用户黑名单和/或白名单包括各个后继节点配置名单;
7.步骤2,在路由转发系统接收到请求报文后,灰度发布模块解析所述请求报文得到关键信息域,所述关键信息域至少包括交易名称、交易类型和卡号信息,获取该交易对应的所有的后继节点;
8.步骤3,灰度发布模块根据获取的后继节点对应的所述交易类型的失败率和所述失败率阈值的关系对获得的每个后继节点进行筛选;
9.步骤4,灰度发布模块根据所述卡号是否在所述用户黑名单和/或白名单上,采用黑名单和/或白名单策略对步骤3筛选出的后继节点进行筛选;
10.步骤5,灰度发布模块根据交易名称是否在所述用户黑名单上,采用黑名单策略对步骤4筛选出的后继节点进行筛选;
11.步骤6,灰度发布模块根据步骤5筛选出的后继节点、后继节点对应的灰度权重采用加权轮询算法得到目标后继节点,并将交易发送到该目标后继节点。
12.进一步,在本发明提供的灰度算法支持下的智能路由发布的方法中,还可以具有这样的特征:步骤3中,将获得的每个后继节点对应的所述交易类型的失败率与所述失败率阈值进行比较,若失败率大于失败率阈值,则屏蔽该后继节点,若否,则保留该后继节点,若
获得的所有后继节点对应的所述交易类型的失败率均大于失败率阈值,则仅保留失败率最低的后继节点,其它后继节点全部屏蔽。
13.进一步,在本发明提供的灰度算法支持下的智能路由发布的方法中,还可以具有这样的特征:步骤4中,根据所述卡号是否在所述用户黑名单和/或白名单上,对后继节点进行筛选的方法为:
14.白名单策略为:若所述卡号在某个后继节点配置名单内,则保留该后继节点,若否则屏蔽该后继节点,
15.黑名单策略为:若所述卡号在某个后继节点配置名单内,则屏蔽该后继节点,若否则保留该后继节点,
16.若所述交易类型为金融交易,则对卡号采用白名单和/或白名单黑名单策略进行判断,
17.若所述交易类型为非金融交易,则解析卡号关键域,若关键域为空,则不做判断,若否则对卡号采用白名单和/或白名单黑名单策略进行判断。
18.进一步,在本发明提供的灰度算法支持下的智能路由发布的方法中,还可以具有这样的特征:步骤5中,根据交易名称是否在用户黑名单上,对后继节点进行筛选的方法为:
19.若所述交易名称在后继节点配置名单上,则屏蔽该后继节点,若否,则保留该后继节点。
20.进一步,在本发明提供的灰度算法支持下的智能路由发布的方法中,还可以具有这样的特征:步骤6中采用加权轮询算法得到目标后继节点的方法为:
21.将步骤5筛选出的后继节点的有效权重初始化为后继节点对应的灰度权重,将步骤5筛选出的后继节点的当前权重初始化为0,每一轮每个后继节点的计算方法为:
22.currentweight
i
=currentweight
i
‑1+effectiveweight
i
‑1[0023][0024][0025][0026]
currentweight
i
为第i轮中一个节点的当前权重,effectiveweight
i
‑1为第i

1轮中一个节点的有效权重,i=1、2、3
……
,totalweight
i
为第i轮所有后继节点有效权重之和,为第i轮第n个后继节点的有效权重,currentweight'
i
为第i轮中当前权重最大的一个后继节点,为第i轮中当前权重最大的一个后继节点在第i轮执行完后新的当前权重,为第i

1轮中当前权重最大的一个后继节点在第i

1轮执行完后新的当前权重,为第i

1轮中选中的节点在第i轮中的当前权重,中i的取值为大于等于2,
[0027]
每一轮计算后,均选择该轮中当前权重最大的一个后继节点作为选中节点,
[0028]
对于一轮中未选中节点的有效权重保持不变,对选中节点的有效权重执行以下操作:
[0029]
若该轮选中的后继节点调用失败则将该后继节点的有效权重effectiveweight减
1,
[0030]
若该选中的后继节点调用成功则将该后继节点的有效权重effectiveweight加1,若该后继节点的有效权重effectiveweight已经达到初始的灰度权重,则该后继节点的有效权重保持不变。
[0031]
进一步,在本发明提供的灰度算法支持下的智能路由发布的方法中,还可以具有这样的特征:步骤2中,根据交易的类型,将获取的后继节点放入该交易类型对应的ip池中。
[0032]
进一步,在本发明提供的灰度算法支持下的智能路由发布的方法中,还可以具有这样的特征:节点的失败率确定方法为:灰度发布模块记录每一个交易转发至对应ip的返回,如果返回的是非业务类型的系统错误,则标记为失败,否则标记为成功,根据每个节点的失败和成功次数统计每个节点的失败率,所述失败率初始为100%,随着交易的进行动态确定失败率。
[0033]
进一步,在本发明提供的灰度算法支持下的智能路由发布的方法中,还可以具有这样的特征:所述灰度参数还包括卡bin路由、交易类型路由和其它业务指定的关键字开关,根据所述卡bin路由、交易类型路由和其它业务指定的关键字开关获取该交易对应的所有的后继节点。
[0034]
本发明的优点如下:
[0035]
本发明所涉及的灰度算法支持下的智能路由发布的方法是一种能够实现新业务上线时能够平滑过渡的一种发布方式。可以让一部分用户继续用产品原始特性,一部分用户开始用新产品特性。然后再逐步扩大受众范围,实现新系统的稳定发布。此方法可以保证整体系统的稳定,在初始灰度的时候就可以发现、调整问题,降低了应用系统重大技术升级或者新业务上线带来的风险。
附图说明
[0036]
图1是本发明中灰度算法支持下的智能路由发布的方法的流程图。
具体实施方式
[0037]
为了使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,以下实施例结合附图对本发明的灰度算法支持下的智能路由发布的方法作具体阐述。
[0038]
如图1所示,灰度算法支持下的智能路由发布的方法100包括以下步骤:
[0039]
步骤1,在路由转发系统中建立灰度发布模块,配置灰度参数,灰度参数至少包括配置用户黑名单和/或白名单、初始化分流的后继节点的灰度权重、失败率阈值,用户黑名单和/或白名单包括各个后继节点配置名单。每个后继节点都设定有该节点的卡号和/或交易名称等信息,用于在采用黑白名单策略时使用。
[0040]
在本实施例中,灰度参数还包括卡bin路由、交易类型路由和其它业务指定的关键字开关。卡bin路由设定了发卡行对应的后继节点。交易类型路由设定了每一类交易类型对应的后继节点。其它业务指定的关键字开关设定了报文解析出的某些域对应的后继节点。
[0041]
步骤2,在路由转发系统接收到请求报文后,灰度发布模块解析所述请求报文得到关键信息域,所述关键信息域至少包括交易名称、交易类型和卡号信息,获取该交易对应的所有的后继节点。
[0042]
在本实施例中,根据卡bin路由、交易类型路由和其它业务指定的关键字开关获取该交易对应的所有的后继节点。
[0043]
在本实施例中,根据交易的类型,将获取的后继节点放入该交易类型对应的ip池中。具体地,交易的类型如果为金融类交易,则将该交易对应的后继节点放入金融交易转发的ip池;如果为非金融交易,则将该交易对应的后继节点放入非金融交易转发的ip池。必须满足一个原则:每个类型ip池至少拥有一个ip,此ip不受任何策略的限制。
[0044]
步骤3,灰度发布模块根据获取的后继节点对应的交易类型的失败率和失败率阈值的关系对获得的每个后继节点进行筛选。
[0045]
具体地,将获得的每个后继节点对应的交易类型的失败率与失败率阈值进行比较,若失败率大于失败率阈值,则屏蔽该后继节点,若否,则保留该后继节点。若获得的所有后继节点对应的交易类型的失败率均大于失败率阈值,则仅保留失败率最低的后继节点,其它后继节点全部屏蔽。
[0046]
在本实施例中,节点的失败率确定方法为:灰度发布模块记录每一个交易转发至对应ip的返回,如果返回的是非业务类型的系统错误,则标记为失败,否则标记为成功,根据每个节点的失败和成功次数统计每个节点的失败率,所述失败率初始为100%,随着交易的进行动态确定失败率。具体地,灰度发布模块根据交易时间段频率参数,统计一定时间段交易的失败率。
[0047]
步骤4,灰度发布模块根据所述卡号是否在所述用户黑名单/白名单上,采用白名单/黑名单策略对步骤3筛选出的后继节点进行筛选。
[0048]
具体地,根据卡号是否在所述用户黑名单和/或白名单上,对后继节点进行筛选的方法为:
[0049]
白名单策略为:若卡号在某个后继节点配置名单内,则保留该后继节点,若否则屏蔽该后继节点。
[0050]
黑名单策略为:若卡号在某个后继节点配置名单内,则屏蔽该后继节点,若否则保留该后继节点。
[0051]
若交易类型为金融交易,则对卡号采用白名单和/或白名单黑名单策略进行判断。
[0052]
若所述交易类型为非金融交易,则解析卡号关键域,若关键域为空(即不包含卡号),则不做判断,若否则对卡号采用白名单和/或白名单黑名单策略进行判断。当然,非金融交易也支持其它域的自定义业务判断。
[0053]
步骤5,灰度发布模块根据交易名称是否在所述用户黑名单上,采用黑名单策略对步骤4筛选出的后继节点进行筛选。
[0054]
具体地,若交易名称在后继节点配置名单上,则屏蔽该后继节点,若否,则保留该后继节点。
[0055]
具体地,步骤3,步骤4、步骤5中,对后继节点进行筛选时均是对不同类型的ip池中的后继节点进行筛选,对每个ip池中的后继节点均进行步骤3,步骤4、步骤5中的筛选步骤,筛选后的后继节点还是位于相应的ip池中。
[0056]
步骤6,灰度发布模块根据步骤5筛选出的后继节点(即每个ip池中的后继节点)、后继节点对应的灰度权重采用加权轮询算法(即weightedround

robin算法)得到目标后继节点,将交易发送到该目标后继节点。
[0057]
具体地,采用加权轮询算法得到目标后继节点的方法为:
[0058]
将步骤5筛选出的后继节点的有效权重effectiveweight初始化为后继节点对应的灰度权重(即步骤1中设定的灰度权重),将步骤5筛选出的后继节点的当前权重初始化为0,每一轮每个后继节点的计算方法为:
[0059]
currentweight
i
=currentweight
i
‑1+effectiveweight
i
‑1[0060][0061][0062][0063]
currentweight
i
为第i轮中一个节点的当前权重,effectiveweight
i
‑1为第i

1轮中一个节点的有效权重,i=1、2、3
……
,totalweight
i
为第i轮所有后继节点有效权重之和,为第i轮第n个后继节点的有效权重,currentweight'
i
为第i轮中当前权重最大的一个后继节点,为第i轮中当前权重最大的一个后继节点在第i轮执行完后新的当前权重,为第i

1轮中当前权重最大的一个后继节点在第i

1轮执行完后新的当前权重,为第i

1轮中选中的节点在第i轮中的当前权重,中i的取值为大于等于2。
[0064]
每一轮计算后,均选择该轮中当前权重最大的一个后继节点作为选中节点。对于一轮中未选中节点的有效权重保持不变,对选中节点的有效权重执行以下操作:若该选中的后继节点调用失败则将该后继节点的有效权重effectiveweight减1。若该选中的后继节点调用成功则将该后继节点的有效权重effectiveweight加1,若该后继节点的有效权重effectiveweight已经达到初始的灰度权重,则该后继节点的有效权重保持不变,无需加1。即每个后继节点的有效权重不能超过该后继节点初始的灰度权重。
[0065]
比如:步骤5筛选出的后继节点有a,b,c 3个节点,设置初始权重a为1,b为2,c为3,a的effectiveweight为1,b的effectiveweight为2,c的effectiveweight为3。那么totalweight1为6。a,b,c 3个节点的初始当前权重currentweight0=0,那么第一轮a,b,c 3个节点的当前权重a为1,b为2,c为3,这时候就选择c作为选中节点,执行完毕之后将此节点的当前权重减去totalweight1作为此节点在第一轮中的当前权重,即此节点在第一轮中执行完后新的当前权重为3

6=

3。在第二轮时,c节点的当前权重为

3+3=0。c作为选中节点时,若执行失败,则c节点的有效权重effectiveweight减1,若执行成功则不变(由于c节点的有效权重已经为初始灰度权重,因此不用加1)。第二轮时,a,b,c 3个节点的当前权重currentweight分别为a为2,b为4,c为0,第二轮选择b为选中节点。然后这样依次做处理。
[0066]
当然,灰度发布模块还可以设定其它筛选ip池中的后继节点的方法。
[0067]
上述实施方式为本发明的优选案例,并不用来限制本发明的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1