灰度发布方法、应用服务器及灰度发布系统技术方案

技术编号:28987569 阅读:11 留言:0更新日期:2021-06-23 09:38
本申请实施例提供一种灰度发布方法、应用服务器及灰度发布系统,可用于金融技术领域,方法包括:接收服务请求;若确定自身为非灰度集群内的应用服务器,则根据请求路径自预设的灰度规则中获取对应的灰度关键信息;基于灰度关键信息和请求参数确定服务请求是否与灰度规则匹配成功,若是则获取灰度服务端标识,并根据该灰度服务端标识、请求路径及请求参数生成新的服务请求;将新的服务请求转发至灰度集群内的应用服务器,以使灰度集群内的应用服务器执行自身接收到的服务请求对应的请求业务。本申请能够有效提高灰度发布过程的处理效率,能够有效降低灰度发布过程中系统开销及负担,并能够有效缩短处理流程,提高整体系统处理链路的稳定性。

【技术实现步骤摘要】
灰度发布方法、应用服务器及灰度发布系统
本申请涉及数据处理
,特别涉及金融
,具体涉及灰度发布方法、应用服务器及灰度发布系统。
技术介绍
伴随着移动互联网的发展以及人工智能、大数据、5G等新技术在金融领域的创新应用,商业银行科技系统的对客服务效率和质量都得到了极大提升。商业银行科技系统的持续升级迭代,在为客户提供更多便捷、优质金融服务的同时,也对自身系统的稳定性提出了更高的要求。为了避免迭代的新版本程序因可能的不完善给客户带来损失,目前包括商业银行在内的大部分企业都会采取灰度发布的方法。目前,灰度发布方法的主要方式包括:代码层逻辑灰度、网络或WEB层灰度以及自定义路由灰度等发布方式,然而,代码层逻辑灰度发布方式的工作量大且耗费时间,同时频繁修改、发布会对整体系统的稳定性带来一定风险;网络或WEB层灰度发布方式仅适合设计比较简单的灰度规则,如果灰度规则或灰度筛选程序过于复杂,会无形中增加网络服务器及WEB服务器的系统开销及负担,影响网络分流及WEB接入转发效率;自定义路由灰度发布方式由于增加了路由服务器节点或代理服务器,人为延长了系统处理流程,降低了整体系统处理链路的稳定性,尤其是在分布式系统中,部署在应用服务器前的路由服务器很容易成为影响分布式系统处理性能的瓶颈点。由此可知,无论是现有的哪一种灰度发布方法,均存在无法同时解决效率低下、占用系统开销大及系统稳定性较差的问题。
技术实现思路
针对现有技术中的问题,本申请提供一种灰度发布方法、应用服务器及灰度发布系统,能够有效提高灰度发布过程的处理效率,能够有效降低灰度发布过程中系统开销及负担,并能够有效缩短处理流程,提高整体系统处理链路的稳定性。为解决上述技术问题,本申请提供以下技术方案:第一方面,本申请提供一种灰度发布方法,包括:接收服务请求,其中,所述服务请求中包含有目标服务端标识、请求路径及请求参数;若确定自身为非灰度集群内的应用服务器,则根据所述请求路径自预设的灰度规则中获取对应的灰度关键信息;基于所述灰度关键信息和请求参数确定所述服务请求是否与所述灰度规则匹配成功,若是,则获取预存储的与所述目标服务端标识对应的灰度服务端标识,并根据该灰度服务端标识、请求路径及请求参数生成新的服务请求;将新的服务请求转发至灰度集群内的应用服务器,以使所述灰度集群内的应用服务器执行自身接收到的服务请求对应的请求业务。进一步地,还包括:若确定所述服务请求与所述灰度规则匹配失败,则自行执行所述服务请求对应的请求业务;其中,当前的所述目标服务端标识为非灰度服务端标识,该非灰度服务端标识包括:非灰度域名地址对应的第一IP地址;所述非灰度服务端标识唯一对应有预先存储的灰度服务端标识,该灰度服务端标识包括:灰度域名地址对应的第二IP地址。进一步地,在所述接收服务请求之后,还包括:读取本地环境变量的值,并根据该环境变量的值判断自身所属集群为非灰度集群或灰度集群;若确定自身为灰度集群内的应用服务器,则执行自身接收到的服务请求对应的请求业务;其中,当前的所述目标服务端标识为灰度服务端标识,该灰度服务端标识包括:灰度域名地址对应的第二IP地址;所述灰度服务端标识唯一对应有预先获取的非灰度服务端标识,该非灰度服务端标识包括:非灰度域名地址对应的第一IP地址。进一步地,所述根据所述请求路径自预设的灰度规则中获取对应的灰度关键信息,包括:将所述请求路径作为输入参数,调用存储有所述灰度规则的灰度规则服务器的接口,以生成作为所述灰度关键信息。进一步地,所述将所述请求路径作为输入参数,调用存储有所述灰度规则的灰度规则服务器的接口,以生成作为所述灰度关键信息,包括:根据所述请求路径及请求参数生成第一哈希变量;其中,该第一哈希变量的键值对的关键字包括所述请求路径,该第一哈希变量的键值对的值包括第二哈希变量;所述第二哈希变量的键值对的关键字包括所述请求参数的类型,该第二哈希变量的键值对的值包括所述请求参数的值;将所述第一哈希变量作为输入参数,调用存储有所述灰度规则的灰度规则服务器的接口,以生成作为所述灰度关键信息的第三哈希变量;其中,所述第三哈希变量的键值对的关键字包括灰度名称属性值,该第三哈希变量的键值对的值包括灰度参数元素的文本节点信息。进一步地,所述基于所述灰度关键信息和请求参数确定所述服务请求是否与所述灰度规则匹配成功,包括:根据所述第二哈希变量定义一布尔型变量,且该布尔型变量的初始状态为执行成功;分别轮询所述第三哈希变量和所述第二哈希变量,以确认所述第三哈希变量和所述第二哈希变量各自对应的键值对的值是否匹配成功,若匹配失败,则将布尔型变量的状态修改为执行失败;根据当前所述布尔型变量的状态确定所述服务请求是否与所述灰度规则匹配成功。进一步地,所述分别轮询所述第三哈希变量和所述第二哈希变量,以确认所述第三哈希变量和所述第二哈希变量各自对应的键值对的值是否匹配成功,包括:执行第一层轮询:轮询所述第三哈希变量,且将当前轮询均获取所述第三哈希变量中的一条关键字,并将当前轮询到的所述第三哈希变量中的关键字对应的值记录为第一比较值;执行第二层轮询:以所述第三哈希变量中的关键字为匹配条件,与所述第二哈希变量中的关键字进行匹配,若匹配成功,则将匹配到的所述第二哈希变量中的关键字对应的值记录为第二比较值;确定所述第一比较值与所述第二比较值是否匹配成功,若所述第一比较值与所述第二比较值匹配成功,则返回执行所述第一层轮询;若第一比较值与所述第二比较值匹配失败,则结束第一层轮询和第二层轮询,并将所述布尔型变量的状态修改为执行失败。第二方面,本申请提供一种应用服务器,包括:请求接收模块,用于接收服务请求,其中,所述服务请求中包含有目标服务端标识、请求路径及请求参数;规则获取模块,用于若确定自身为非灰度集群内的应用服务器,则根据所述请求路径自预设的灰度规则中获取对应的灰度关键信息;规则匹配模块,用于基于所述灰度关键信息和请求参数确定所述服务请求是否与所述灰度规则匹配成功,若是,则获取预存储的与所述目标服务端标识对应的灰度服务端标识,并根据该灰度服务端标识、请求路径及请求参数生成新的服务请求;转发执行模块,用于将新的服务请求转发至灰度集群内的应用服务器,以使所述灰度集群内的应用服务器执行自身接收到的服务请求对应的请求业务。第三方面,本申请提供一种灰度发布系统,包括:负载均衡服务器、非灰度集群、灰度集群和灰度规则服务器;所述非灰度集群和所述灰度集群中均包含有WEB服务器和与所述WEB服务器通信连接的应用服务器,所述应用服务器用于实现所述的灰度发布方法;所述负载均衡服务器用于接收客户端设备发送的服务请求,若所述服务请求中的目标服务端标识为非灰度服务端标识,则将该服务请求发送至所述非灰度集群内的WEB服务器;若所述服务请求中的目标服务端标识本文档来自技高网...

【技术保护点】
1.一种灰度发布方法,其特征在于,包括:/n接收服务请求,其中,所述服务请求中包含有目标服务端标识、请求路径及请求参数;/n若确定自身为非灰度集群内的应用服务器,则根据所述请求路径自预设的灰度规则中获取对应的灰度关键信息;/n基于所述灰度关键信息和请求参数确定所述服务请求是否与所述灰度规则匹配成功,若是,则获取预存储的与所述目标服务端标识对应的灰度服务端标识,并根据该灰度服务端标识、请求路径及请求参数生成新的服务请求;/n将新的服务请求转发至灰度集群内的应用服务器,以使所述灰度集群内的应用服务器执行自身接收到的服务请求对应的请求业务。/n

【技术特征摘要】
1.一种灰度发布方法,其特征在于,包括:
接收服务请求,其中,所述服务请求中包含有目标服务端标识、请求路径及请求参数;
若确定自身为非灰度集群内的应用服务器,则根据所述请求路径自预设的灰度规则中获取对应的灰度关键信息;
基于所述灰度关键信息和请求参数确定所述服务请求是否与所述灰度规则匹配成功,若是,则获取预存储的与所述目标服务端标识对应的灰度服务端标识,并根据该灰度服务端标识、请求路径及请求参数生成新的服务请求;
将新的服务请求转发至灰度集群内的应用服务器,以使所述灰度集群内的应用服务器执行自身接收到的服务请求对应的请求业务。


2.根据权利要求1所述的灰度发布方法,其特征在于,还包括:
若确定所述服务请求与所述灰度规则匹配失败,则自行执行所述服务请求对应的请求业务;
其中,当前的所述目标服务端标识为非灰度服务端标识,该非灰度服务端标识包括:非灰度域名地址对应的第一IP地址;
所述非灰度服务端标识唯一对应有预先存储的灰度服务端标识,该灰度服务端标识包括:灰度域名地址对应的第二IP地址。


3.根据权利要求1所述的灰度发布方法,其特征在于,在所述接收服务请求之后,还包括:
读取本地环境变量的值,并根据该环境变量的值判断自身所属集群为非灰度集群或灰度集群;
若确定自身为灰度集群内的应用服务器,则执行自身接收到的服务请求对应的请求业务;
其中,当前的所述目标服务端标识为灰度服务端标识,该灰度服务端标识包括:灰度域名地址对应的第二IP地址;
所述灰度服务端标识唯一对应有预先获取的非灰度服务端标识,该非灰度服务端标识包括:非灰度域名地址对应的第一IP地址。


4.根据权利要求1所述的灰度发布方法,其特征在于,所述根据所述请求路径自预设的灰度规则中获取对应的灰度关键信息,包括:
将所述请求路径作为输入参数,调用存储有所述灰度规则的灰度规则服务器的接口,以生成作为所述灰度关键信息。


5.根据权利要求4所述的灰度发布方法,其特征在于,所述将所述请求路径作为输入参数,调用存储有所述灰度规则的灰度规则服务器的接口,以生成作为所述灰度关键信息,包括:
根据所述请求路径及请求参数生成第一哈希变量;
其中,该第一哈希变量的键值对的关键字包括所述请求路径,该第一哈希变量的键值对的值包括第二哈希变量;所述第二哈希变量的键值对的关键字包括所述请求参数的类型,该第二哈希变量的键值对的值包括所述请求参数的值;
将所述第一哈希变量作为输入参数,调用存储有所述灰度规则的灰度规则服务器的接口,以生成作为所述灰度关键信息的第三哈希变量;
其中,所述第三哈希变量的键值对的关键字包括灰度名称属性值,该第三哈希变量的键值对的值包括灰度参数元素的文本节点信息。


6.根据权利要求5所述的灰度发布方法,其特征在于,所述基于所述灰度关键信息和请求参数确定所述服务请求是否与所述灰度规则匹配成功,包括:
根据所述第二哈希变量定义一布尔型变量,且该布尔型变量的初始状态为执行成功;
分别轮询所述第三哈希变量和所述第二哈希变量,以确认所述第三哈希变量和所述第二...

【专利技术属性】
技术研发人员:郑荣廷姚远李兴琦张立伟马瑞东王海波
申请(专利权)人:中国工商银行股份有限公司
类型:发明
国别省市:北京;11

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

1