CN112685060A - 灰度发布方法、装置,终端设备及计算机存储介质 - Google Patents
灰度发布方法、装置,终端设备及计算机存储介质 Download PDFInfo
- Publication number
- CN112685060A CN112685060A CN202011553046.8A CN202011553046A CN112685060A CN 112685060 A CN112685060 A CN 112685060A CN 202011553046 A CN202011553046 A CN 202011553046A CN 112685060 A CN112685060 A CN 112685060A
- Authority
- CN
- China
- Prior art keywords
- gray
- gray level
- request
- rule
- gray scale
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 74
- 238000003860 storage Methods 0.000 title claims abstract description 24
- 238000009826 distribution Methods 0.000 title claims description 7
- 238000012545 processing Methods 0.000 claims abstract description 172
- 238000005070 sampling Methods 0.000 claims abstract description 93
- 238000012544 monitoring process Methods 0.000 claims abstract description 20
- 238000000605 extraction Methods 0.000 claims description 13
- 230000006978 adaptation Effects 0.000 claims description 6
- 230000008569 process Effects 0.000 abstract description 14
- 238000005516 engineering process Methods 0.000 abstract description 9
- 230000004044 response Effects 0.000 description 20
- 238000004891 communication Methods 0.000 description 6
- 238000013461 design Methods 0.000 description 6
- 239000000284 extract Substances 0.000 description 6
- 238000004458 analytical method Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 241001270131 Agaricus moelleri Species 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本发明涉及金融科技技术领域,公开了一种灰度发布方法、装置、终端设备及计算机存储介质。该灰度发布方法基于消息中间件系统加载预设灰度规则数据库中的各灰度规则;提取接收到的灰度请求的请求参数,并根据所述请求参数在各所述灰度规则中适配目标灰度规则;根据所述灰度请求和所述目标灰度规则进行灰度均衡抽样以得到目标灰度请求;将所述目标灰度请求转发至预设灰度实例监听主题下的逻辑分组进行处理以返回灰度请求处理结果。相比于传统消息中间件系统服务端按照负载均衡策略选择对应的服务实例处理灰度请求的方式,本发明能精确定位和转发灰度请求到灰度实例所监听的逻辑分组上进行处理,提高请求服务成功率,且本发明还能降低灰度发布成本。
Description
技术领域
本发明涉及金融科技(Fintech)技术领域,尤其涉及一种灰度发布方法、装置、终端设备及计算机存储介质。
背景技术
随着计算机技术的发展,越来越多的技术应用在金融领域,传统金融业正在逐步向金融科技(Fintech)转变,但由于金融行业的安全性、实时性要求,也对技术提出了更高的要求。
现有的服务提供方在应用系统需要升级时,都是采用单个消费实例逐步灰度的方式,即,在业务请求到达消息中间件系统服务端的主题之后,按照负载均衡策略选择对应的服务实例,以将该业务请求负载均衡的分发至该主题下的逻辑分组上,然而,目前灰度技术中的消息中间件系统都是按照编码配置的灰度规则,统一均衡的转发请求到灰度服务方实例(简称灰度实例)监听主题下的逻辑分组,因此,该消息中间件系统无法精确定位和转发灰度请求到灰度实例所监听的逻辑分组上,导致灰度请求的服务成功率低。
发明内容
本发明的主要目的在于提供一种灰度发布方法、装置、终端设备及计算机存储介质,旨在解决现有灰度技术中的消息中间件系统无法精确定位和转发灰度请求到灰度实例所监听的逻辑分组上,导致灰度请求的服务成功率低的技术问题。
为实现上述目的,本发明提供一种灰度发布方法,所述灰度发布方法应用于消息中间件系统,所述灰度发布方法包括:
加载预设灰度规则数据库中的各灰度规则;
提取接收到的灰度请求的请求参数,并根据所述请求参数在各所述灰度规则中适配目标灰度规则;
根据所述灰度请求和所述目标灰度规则进行灰度均衡抽样以得到目标灰度请求;
将所述目标灰度请求转发至预设灰度实例监听主题下的逻辑分组进行处理以返回灰度请求处理结果。
可选地,所述灰度发布方法还包括:
在预设灰度规则数据库中配置各灰度规则,以及在所述预设灰度规则数据库中针对各所述灰度规则进行调整;
所述加载预设灰度规则数据库中的各灰度规则的步骤包括:
按照预设时间周期全量加载所述加载预设灰度规则数据库中的各所述灰度规则。
可选地,所述根据所述灰度请求和所述目标灰度规则进行灰度均衡抽样以得到目标灰度请求的步骤,包括:
获取实时统计所述灰度请求的系统吞吐量,以及获取所述目标灰度规则的灰度百分比值;
调用预设流量抽样策略按照所述系统吞吐量和所述灰度百分比值进行灰度均衡抽样以从所述灰度请求中均衡抽取得到目标灰度请求。
可选地,所述预设流量抽样策略为流量均衡抽样策略,所述调用预设流量抽样策略按照所述系统吞吐量和所述灰度百分比值进行灰度均衡抽样以从所述灰度请求中均衡抽取得到目标灰度请求的步骤,包括:
将所述灰度百分比值作为进行流量均衡抽样的抽样比值;
调用所述流量均衡抽样策略在所述系统吞吐量大小的全部所述灰度请求中,按照所述抽样比值和所述系统吞吐量大小确定抽取数据量,以抽取得到目标灰度请求。
可选地,所述灰度请求处理结果包括请求处理失败和请求处理成功,
在所述将所述目标灰度请求转发至预设灰度实例监听主题下的逻辑分组进行处理以返回灰度请求处理结果的步骤之后,所述方法还包括:
若所述灰度请求处理结果为请求处理失败,则将所述目标灰度请求转发至预设非灰度实例监听主题下的逻辑分组进行处理;以及,
若所述灰度请求处理结果为请求处理成功,则统计灰度请求的处理成功率,并根据所述处理成功率调整所述目标灰度规则的灰度百分比值。
可选地,所述根据所述处理成功率调整所述目标灰度规则的灰度百分比值的步骤包括:
检测所述处理成功率是否大于或者等于预设灰度成功率;
若是,则按照所述目标灰度规则的灰度百分比值步长递增所述目标灰度规则的灰度百分比值;
若否,则减小所述灰度百分比值以终止所述目标灰度规则。
可选地,所述灰度发布方法还包括:
在检测到所述灰度百分比值达到预设最大灰度百分比值时输出所述预设灰度实例的灰度升级提示;或者,
在检测到所述灰度百分比值达到预设最大灰度百分比值时,按照所述目标灰度规则针对所述预设灰度实例相关联的各其它灰度实例进行灰度升级。
可选地,在所述将所述目标灰度请求转发至预设非灰度实例监听主题下的逻辑分组进行处理的步骤之后,所述方法还包括:
收录所述目标灰度请求的所述请求参数以用于进行灰度请求处理失败的原因分析。
此外,为实现上述目的,本发明还提供一种灰度发布装置,所述灰度发布装置应用于消息中间件系统,所述灰度发布装置包括:
规则加载模块,用于加载预设灰度规则数据库中的各灰度规则;
适配模块,用于提取接收到的灰度请求的请求参数,并根据所述请求参数在各所述灰度规则中适配目标灰度规则;
均衡抽样模块,用于根据所述灰度请求和所述目标灰度规则进行灰度均衡抽样以得到目标灰度请求;
转发处理模块,用于将所述目标灰度请求转发至预设灰度实例监听主题下的逻辑分组进行处理以返回灰度请求处理结果。
此外,为实现上述目的,本发明还提供一种终端设备,所述终端设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的灰度发布程序,所述灰度发布程序被所述处理器执行时实现如上所述的灰度发布方法的步骤。
此外,为实现上述目的,本发明还提供一种计算机存储介质,所述计算机存储介质上存储有灰度发布程序,所述灰度发布程序被处理器执行时实现如上所述的灰度发布方法的步骤。
本发明提供一种灰度发布方法、装置、终端设备及计算机存储介质,基于消息中间件系统加载预设灰度规则数据库中的各灰度规则;提取接收到的灰度请求的请求参数,并根据所述请求参数在各所述灰度规则中适配目标灰度规则;根据所述灰度请求和所述目标灰度规则进行灰度均衡抽样以得到目标灰度请求;将所述目标灰度请求转发至预设灰度实例监听主题下的逻辑分组进行处理以返回灰度请求处理结果。
本发明在生产消费模型中利用消息中间件系统来加载预设灰度规则数据库当中配置好的各条灰度规则,然后,在接收到灰度请求之后提取该灰度请求的请求参数,以根据该请求参数在已经加载的各条灰度规则当中适配当前可以应用的目标灰度规则,再然后,根据该灰度请求和适配得到的该目标灰度规则进行灰度均衡抽样操作,从而均衡抽取出灰度请求中由预设灰度实例进行处理的目标灰度请求,最后,将抽取出的目标灰度请求转发到该预设灰度实例所监听主题下的逻辑分组上进行处理,并接收该逻辑分组返回的该目标灰度请求的灰度请求处理结果。
本发明相比于传统消息中间件系统服务端按照负载均衡策略选择对应的服务实例处理灰度请求的方式,能够根据配置的灰度规则实现精确定位和转发灰度请求到灰度实例所监听的逻辑分组上进行处理,从而提高了灰度请求的服务成功率。此外,本发明通过加载数据库中配置好的灰度规则进行灰度请求的服务,如此,在灰度方案变化时只需要针对数据库中的灰度规则进行适应调整即可,而无需像传统方式一样对应用客户端的代码逻辑进行修改,从而能够在极大程度上降低灰度发布的整体成本。
附图说明
图1为本发明实施例方案涉及的硬件运行环境的设备结构示意图;
图2为本发明灰度发布方法第一实施例的流程示意图;
图3为本发明灰度发布方法一实施例所涉及灰度发布的应用场景示意图;
图4为本发明灰度发布方法一实施例所涉及灰度发布的另一应用场景示意图;
图5为本发明灰度发布装置一实施例的功能模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
参照图1,图1为本发明实施例方案涉及的硬件运行环境的设备结构示意图。
本发明实施例终端设备可以是在生产消费模型当中充当消息中间件系统的设备,该设备可以是PC(Personal Computer,个人计算机)、平板电脑、便携计算机等等。
如图1所示,该终端设备可以包括:处理器1001,例如CPU,通信总线1002,用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如Wi-Fi接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的终端设备结构并不构成对终端设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及灰度发布程序。
在图1所示的终端中,网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;用户接口1003主要用于连接客户端,与客户端进行数据通信;而处理器1001可以用于调用存储器1005中存储的灰度发布程序,并执行以下操作:
加载预设灰度规则数据库中的各灰度规则;
提取接收到的灰度请求的请求参数,并根据所述请求参数在各所述灰度规则中适配目标灰度规则;
根据所述灰度请求和所述目标灰度规则进行灰度均衡抽样以得到目标灰度请求;
将所述目标灰度请求转发至预设灰度实例监听主题下的逻辑分组进行处理以返回灰度请求处理结果。
进一步地,处理器1001可以调用存储器1005中存储的灰度发布程序,还执行以下操作:
在预设灰度规则数据库中配置各灰度规则,以及在所述预设灰度规则数据库中针对各所述灰度规则进行调整;
处理器1001可以调用存储器1005中存储的灰度发布程序,还执行以下操作:
按照预设时间周期全量加载所述加载预设灰度规则数据库中的各所述灰度规则。
进一步地,处理器1001可以调用存储器1005中存储的灰度发布程序,还执行以下操作:
获取实时统计所述灰度请求的系统吞吐量,以及获取所述目标灰度规则的灰度百分比值;
调用预设流量抽样策略按照所述系统吞吐量和所述灰度百分比值进行灰度均衡抽样以从所述灰度请求中均衡抽取得到目标灰度请求。
进一步地,所述预设流量抽样策略为流量均衡抽样策略,处理器1001可以调用存储器1005中存储的灰度发布程序,还执行以下操作:
将所述灰度百分比值作为进行流量均衡抽样的抽样比值;
调用所述流量均衡抽样策略在所述系统吞吐量大小的全部所述灰度请求中,按照所述抽样比值和所述系统吞吐量大小确定抽取数据量,以抽取得到目标灰度请求。
进一步地,所述灰度请求处理结果包括请求处理失败和请求处理成功,处理器1001可以调用存储器1005中存储的灰度发布程序,在执行将所述目标灰度请求转发至预设灰度实例监听主题下的逻辑分组进行处理以返回灰度请求处理结果之后,还执行以下操作:
若所述灰度请求处理结果为请求处理失败,则将所述目标灰度请求转发至预设非灰度实例监听主题下的逻辑分组进行处理;以及,
若所述灰度请求处理结果为请求处理成功,则统计灰度请求的处理成功率,并根据所述处理成功率调整所述目标灰度规则的灰度百分比值。
进一步地,处理器1001可以调用存储器1005中存储的灰度发布程序,还执行以下操作:
检测所述处理成功率是否大于或者等于预设灰度成功率;
若是,则按照所述目标灰度规则的灰度百分比值步长递增所述目标灰度规则的灰度百分比值;
若否,则减小所述灰度百分比值以终止所述目标灰度规则。
进一步地,所述预设源环境为预设的备份配置中的源环境,处理器1001可以调用存储器1005中存储的灰度发布程序,还执行以下操作:
在检测到所述灰度百分比值达到预设最大灰度百分比值时输出所述预设灰度实例的灰度升级提示;或者,
在检测到所述灰度百分比值达到预设最大灰度百分比值时,按照所述目标灰度规则针对所述预设灰度实例相关联的各其它灰度实例进行灰度升级。
进一步地,处理器1001可以调用存储器1005中存储的灰度发布程序,在处理将所述目标灰度请求转发至预设非灰度实例监听主题下的逻辑分组进行处理之后,还执行以下操作:
收录所述目标灰度请求的所述请求参数以用于进行灰度请求处理失败的原因分析。
基于上述硬件结构,提出本发明灰度发布方法的各实施例。
需要说明的是,现有的服务提供方在应用系统需要升级时,都是采用单个消费实例逐步灰度的方式,即,在业务请求到达消息中间件系统服务端的主题之后,按照负载均衡策略选择对应的服务实例,以将该业务请求负载均衡的分发至该主题下的逻辑分组上,然而,目前灰度技术中的消息中间件系统都是按照如图3所示应用流程一样,统一均衡的转发请求到灰度服务方实例(简称灰度实例)监听主题下的逻辑分组,因此,该消息中间件系统无法精确定位和转发灰度请求到灰度实例所监听的逻辑分组上。
综上,现有灰度技术中的消息中间件系统无法精确定位和转发灰度请求到灰度服务方实例所监听的逻辑分组上,导致灰度请求的服务成功率低。
针对上述现象,本发明提供一种灰度发布方法。请参照图2,图2为本发明灰度发布方法第一实施例的流程示意图。
在本实施例中,该灰度发布方法包括:
步骤S10,加载预设灰度规则数据库中的各灰度规则;
终端设备在启动时,全量加载预先已经在预设灰度规则数据库当中配置好的各条灰度规则。
需要说明的是,在本实施例中,预设灰度规则数据库为终端设备所内置或者建立好连接、专门供终端设备基于灰度发布的工作人员输入配置操作,来生成和存储灰度规则数据的存储空间。应当理解的是,基于实际应用的不同设计需要,终端设备可以将内置的固态存储设备或者运行内存当中独立出专门的存储空间来配置和存储灰度规则,或者,终端设备还可以专门外接云存储平台来配置和存储灰度规则,本发明灰度发布方法并不针对该预设灰度规则数据库的具体类型以及存储终端设备配置的灰度规则数据的存储形式等进行具体的限定。
此外,在本实施例中,灰度规则包括但不限于:请求灰度标识、灰度百分比值和目标服务响应方实例标识,其中,请求灰度标识包括但不限于:请求方IP(InternetProtocol,网际互连协议)地址、请求头部标识、请求的用户,目标服务响应方实例标识包括但不限于:服务响应方IP地址、服务响应方的进程号、服务响应方实例的某个标识。
进一步地,在一种可行的实施例中,本发明灰度发布方法,还可以包括:
步骤A,在预设灰度规则数据库中配置各灰度规则,以及在所述预设灰度规则数据库中针对各所述灰度规则进行调整;
终端设备可以预先通过接收灰度发布的工作人员输入的配置操作,在所连接或者内置的预设灰度规则数据库当中配置生成各条灰度规则,以及,通过接收该工作人员所输入的调整操作,在该预设灰度规则数据库当中针对已经配置生成的各条灰度规则进行修改或者删除的调整操作。
具体地,例如,终端设备可以基于接收到的灰度发布的工作人员所输入的针对灰度规则1的配置操作,在预先连接好的云存储平台中配置生成包括:以请求方IP地址和请求头部标识组成的请求灰度标识、灰度百分比值以及以服务响应方IP地址和服务响应方的进程号所组成的目标服务响应方实例标识的灰度规则1:
同理,终端设备可基于工作人员输入的其它配置操作,在该云存储平台中配置生成其它各条灰度规则,并将灰度规则1和其它各条灰度规则一起存储在该云存储平台当中以供后续由终端设备进行加载运用。
此外,灰度发布的工作人员在基于灰度发布的需要(例如灰度方案改变),发起针对该云存储平台中的灰度规则1进行修改的调整操作时,终端设备即可接收该调整操作,然后定位到该灰度规则1并按照该调整操作的具体内容,修改该灰度规则1形成新的灰度规则1进行存储以供后续由终端设备进行加载运用。
进一步地,在一种可行的实施例中,上述步骤S10,加载预设灰度规则数据库中的各灰度规则,可以包括:
步骤S101,按照预设时间周期全量加载所述加载预设灰度规则数据库中的各所述灰度规则。
需要说明的是,在本实施例中,预设时间周期为供终端设备周期性的加载预设灰度规则数据库中各条灰度规则的时间周期,从而使得该预设灰度规则数据库中配置的各条灰度规则能够实时生效。具体地,本实施例中,该预设时间周期可以设置为5秒。应当理解的是,基于实际应用的不同设计需要,在其它可行的实施方式当中,终端设备当然还可以基于自身性能来将该预设时间周期设置成为比5秒更短或者更长的其它时间,本发明灰度发布方法并不针对该预设时间周期的具体大小进行限定。
终端设备在预设灰度规则数据库当中配置存储各条灰度规则之后,即可按照预设时间周期循环的全量加载该各条灰度规则以进行对后续接收到的灰度请求进行相应转发处理。
具体地,例如,终端设备在作为预设灰度规则数据库的云存储平台中配置好灰度规则1和其它各条灰度规则之后,每间隔5秒钟即全量加载该灰度规则1和其它各条灰度规则,以供后续接收到灰度请求时进行相应规则适配和按规则转发处理的操作,或者,终端设备还可以在当前5秒钟的时间周期内完成针对灰度规则1的修改调整操作形成新的灰度规则1之后,在下一个5秒钟周期开始时即加载起该新的灰度规则1,以供后续接收到灰度请求时进行相应规则适配和按规则转发处理的操作。
步骤S20,提取接收到的灰度请求的请求参数,并根据所述请求参数在各所述灰度规则中适配目标灰度规则;
终端设备在启动并全量加载预设灰度规则数据库当中配置好的各条灰度规则之后,终端设备即针对实时接收到的灰度请求进行请求参数的提取,然后,终端设备利用提取出的该请求参数在加载的各条灰度规则当中进行适配,从而适配得到当前为处理该灰度请求而要应用的目标灰度规则。
需要说明的是,在本实施例中,灰度请求的请求参数为与灰度规则所包含的数据相对应,以根据该请求参数从配置的各条灰度规则当中匹配出唯一的一条目标灰度规则。具体地,终端设备从接收到的灰度请求当中所提取出的请求参数包括但不限于:请求方IP地址、请求头部标识、请求的用户等信息。
具体地,例如,终端设备在接收到灰度请求之后,随即获取该灰度请求的请求参数——请求方IP地址:IP地址1、请求头部标识:标识1以及请求的用户:用户1,然后,终端设备遍历已经加载的各条灰度规则,以检测该各条灰度规则各自所包含的“请求灰度标识”——请求方IP地址、请求头部标识以及请求的用户,是否与该请求参数——请求方IP地址:IP地址1、请求头部标识:标识1以及请求的用户:用户1对应相同,从而在检测到该各条灰度规则当中的灰度规则6所包含的“请求灰度标识”——请求方IP地址:IP地址1、请求头部标识:标识1以及请求的用户:用户1,与该请求参数相同时,确定该灰度规则6为当前处理该灰度请求而要应用的目标灰度规则。
步骤S30,根据所述灰度请求和所述目标灰度规则进行灰度均衡抽样以得到目标灰度请求;
终端设备在接收到灰度请求并根据提取的该灰度请求的请求参数从加载的各条灰度规则中适配得到目标灰度规则之后,终端设备即基于流量均衡抽样策略,根据该灰度请求和该目标灰度规则来针对该灰度请求进行灰度均衡抽样操作,从而从该灰度请求当中等概率的抽取得到需要交由灰度实例进行服务的目标灰度请求。
进一步地,在另一种可行的实施例中,为了保证针对请求进行服务处理的成功率,若终端设备根据接收到的灰度请求的请求参数,没有从加载的各条灰度规则中适配得到目标灰度规则,则终端设备即将该灰度请求直接转发给预设非灰度实例进行处理。
在本实施例中,预设非灰度实例为灰度发布方案中待升级应用原有的任意消费实例,由于灰度发布方案核心是逐步进行灰度的方式进行整体升级,因此,作为消息中间件系统的终端设备会同时配置连接应用原有的消费实例和待升级的灰度实例一起分流处理所接收到的服务请求,从而,终端设备在检测到已经配置好的各条灰度规则当中不存在与当前接收到的灰度请求向匹配的目标灰度规则时,即直接将该灰度请求转发至原有的消费实例进行处理,进而保证服务请求的处理成功率。
进一步地,在一种可行的实施例中,上述步骤S30,可以包括:
步骤S301,获取实时统计所述灰度请求的系统吞吐量,以及获取所述目标灰度规则的灰度百分比值;
终端设备在根据接收到的灰度请求的请求参数适配得到目标灰度规则之后,先获取在接收到该灰度请求时刻所实时统计得到的系统吞吐量,然后,终端设备进一步获取该目标灰度规则当中的灰度百分比值以供后续进行灰度均衡抽样。
具体地,例如,终端设备在接收到灰度请求并根据该灰度请求的请求参数——请求方IP地址:IP地址1、请求头部标识:标识1以及请求的用户:用户1,适配得到各条灰度规则当中的灰度规则6为当前处理该灰度请求而要应用的目标灰度规则之后,获取在接收到该灰度请求时刻所实时统计得到的TPS(系统吞吐量)流量:m,并进一步获取得到该灰度规则6所包含的灰度百分比值:n。
需要说明的是,在本实施例中,终端设备可以采用现有任意成熟的方式来实时统计所接收到的灰度请求的TPS流量。
步骤S302,调用预设流量抽样策略按照所述系统吞吐量和所述灰度百分比值进行灰度均衡抽样以从所述灰度请求中均衡抽取得到目标灰度请求。
需要说明的是,在本实施例中,预设流量抽样策略为终端设备针对接收到的灰度请求在保证抽样概率相同的情况下,进行均衡抽样得出目标灰度请求的抽样策略。应当理解的是,基于实际应用的不同设计需要,终端设备可以采用任意现有成熟的流量均衡抽样策略来进行灰度请求的灰度均衡抽样操作,本发明灰度发布方法并不针对终端设备进行灰度均衡抽样操作时所采用的流量均衡抽样策略进行具体地限定。
终端设备在获取得到接收灰度请求时刻实时统计的系统吞吐量,以及目标灰度规则的灰度百分比值之后,直接调用在保证抽样概率相同情况下针对该灰度请求进行流量均衡抽样的预设流量抽样策略,来基于该系统吞吐量和灰度百分比值进行均衡抽样操作,从而从该灰度请求当中等概率的抽取得到需要交由灰度实例进行服务的目标灰度请求。
具体地,例如,获取预设流量抽样策略,然后基于获取得到的终端设备在接收到灰度请求时刻所实时统计得到的TPS流量:m,以及作为目标灰度规则的灰度规则6所包含的灰度百分比值:n,针对该灰度请求进行灰度流量的均衡抽样操作以得到该灰度请求中在当前要转至灰度实例进行处理的部分目标灰度请求。
进一步地,在一种可行的实施例中,预设流量抽样策略可以为流量均衡抽样策略,上述步骤S302,可以包括:
步骤S3021,将所述灰度百分比值作为进行流量均衡抽样的抽样比值;
具体地,例如,终端设备将当前适配到的目标灰度规则—灰度规则6的灰度百分比值n,确定为每秒进行流量均衡抽样操作的抽样比值n%。
步骤S3022,调用所述流量均衡抽样策略在所述系统吞吐量大小的全部所述灰度请求中,按照所述抽样比值和所述系统吞吐量大小确定抽取数据量,以抽取得到目标灰度请求。
需要说明的是,在本实施例中,应当理解的是,基于实际应用的不同设计需要,在其它可行的实施方式当中,终端设备当然也可以调用时下市面上其它类型的流量抽样策略,本发明灰度发布方法并不针对该流量均衡抽样策略的具体类型进行限定。
具体地,终端设备将实时统计得到的系统吞吐量—TPS流量设定为m,并每秒以确定的抽样比值n%在数据量为m条的灰度请求中均衡抽样得到数据量为m*n%条的灰度请求,从而将该m*n%条的灰度请求作为当前要转至灰度实例进行处理的目标灰度请求。
需要说明的是,在本实施例中,终端设备使用流量均衡抽样策略从灰度请求中抽取目标灰度请求时,针对TPS流量当中的每一条请求数据的抽样概率均相同。即,在终端设备当前仅接收到一个灰度请求数据时,该请求数据被取到的概率1,而终端设备当前在一共接收到两个灰度请求数据时,每一个请求数据被抽取到的概率为1/2,如此,在终端设备当前一共接收到n个灰度请求数据时,该n个灰度请求数据当中每个请求数据被抽取到的概率为:1*1/2*2/3*3/4……(n-1)/n=1/n,从而,保证每个请求数据被取到的概率是相等的。
步骤S40,将所述目标灰度请求转发至预设灰度实例监听主题下的逻辑分组进行处理以返回灰度请求处理结果。
需要说明的是,在本实施例中,预设灰度实例为灰度发布方案中,针对用户发起灰度请求进行服务处理的灰度目标服务响应实例,该灰度目标服务响应实例各自分别监听有一个或者多个MessageQueues(逻辑分组),而该多个MessageQueues属于一个或者多个Topic(主题),终端设备通过在该灰度目标服务响应实例监听的多个MessageQueue上取模,从而轮询接收目标灰度请求进行处理。
终端设备在按照预设流量均衡抽样策略从接收到的灰度请求当中抽取得到目标灰度请求之后,终端设备即可将该目标灰度请求连同目标灰度规则一起转发到灰度目标服务响应实例所监听主题下的逻辑分组上,该目标灰度请求在被灰度目标服务响应实例收下并处理后,由该灰度目标服务响应实例返回灰度请求处理成功还是处理失败的处理结果。
本发明实施例提供一种灰度发布方法,通过作为消息中间件系统的终端设备在启动时,全量加载预先已经在预设灰度规则数据库当中配置好的各条灰度规则;终端设备在启动并全量加载预设灰度规则数据库当中配置好的各条灰度规则之后,终端设备即针对实时接收到的灰度请求进行请求参数的提取,然后,终端设备利用提取出的该请求参数在加载的各条灰度规则当中进行适配,从而适配得到当前为处理该灰度请求而要应用的目标灰度规则;终端设备在接收到灰度请求并根据提取的该灰度请求的请求参数从加载的各条灰度规则中适配得到目标灰度规则之后,终端设备即基于流量均衡抽样策略,根据该灰度请求和该目标灰度规则来针对该灰度请求进行灰度均衡抽样操作,从而从该灰度请求当中等概率的抽取得到需要交由灰度实例进行服务的目标灰度请求;终端设备在按照预设流量均衡抽样策略从接收到的灰度请求当中抽取得到目标灰度请求之后,终端设备即可将该目标灰度请求连同目标灰度规则一起转发到灰度目标服务响应实例所监听主题下的逻辑分组上,该目标灰度请求在被灰度目标服务响应实例收下并处理后,由该灰度目标服务响应实例返回灰度请求处理成功还是处理失败的处理结果。
本发明相比于传统消息中间件系统服务端按照负载均衡策略选择对应的服务实例处理灰度请求的方式,能够根据配置的灰度规则实现精确定位和转发灰度请求到灰度实例所监听的逻辑分组上进行处理,从而提高了灰度请求的服务成功率。此外,本发明通过加载数据库中配置好的灰度规则进行灰度请求的服务,如此,在灰度方案变化时只需要针对数据库中的灰度规则进行适应调整即可,而无需像传统方式一样对应用客户端的代码逻辑进行修改,从而能够在极大程度上降低灰度发布的整体成本。
进一步地,基于上述第一实施例,提出本发明灰度发布方法的第二实施例,在本实施例中,预设灰度实例接收目标灰度请求进行处理后返回的灰度请求处理结果包括请求处理失败和请求处理成功,在上述步骤S40,将所述目标灰度请求转发至预设灰度实例监听主题下的逻辑分组进行处理以返回灰度请求处理结果之后,本发明灰度发布方法,还可以包括:
步骤S50,若所述灰度请求处理结果为请求处理失败,则将所述目标灰度请求转发至预设非灰度实例监听主题下的逻辑分组进行处理;
需要说明的是,在本实施例中,预设非灰度实例为灰度发布方案中待升级应用原有的任意消费实例。
终端设备在将通过流量均衡抽样操作抽取出的目标灰度请求连同目标灰度规则一起转发到灰度目标服务响应实例所监听主题下的逻辑分组上,该目标灰度请求在被灰度目标服务响应实例收下并处理后返回灰度请求处理结果,终端设备在接收到该灰度请求处理结果之后,若检测到该灰度请求处理结果表示该灰度目标服务响应实例的请求处理失败,则终端设备为了保证针对灰度请求进行服务处理的成功率,便再次将该目标灰度请求转发到原有的消费实例上进行处理,进而保证服务请求的处理成功率。
进一步地,在另一种可行的实施例中,在上述步骤S50,“将所述目标灰度请求转发至预设非灰度实例监听主题下的逻辑分组进行处理”的步骤之后,本发明灰度发布方法,还可以包括:
步骤B,收录所述目标灰度请求的所述请求参数以用于进行灰度请求处理失败的原因分析。
终端设备在检测到灰度请求处理结果表示灰度目标服务响应实例的请求处理失败,且终端设备为了保证针对灰度请求进行服务处理的成功率,再次将目标灰度请求转发到原有的消费实例上进行处理之后,终端设备将进一步收录该目标灰度请求的请求参数,以供后续自动或者由灰度发布的工作人员利用该请求参数来分析灰度请求处理失败的原因。
需要说明的是,在本实施例中,终端设备可以采用时下任意成熟的请求处理分析方法,以利用收录的灰度请求的请求参数来分析得到灰度请求处理失败的原因,本发明灰度发布方法并不针对进行灰度请求处理失败的原因分析的具体分析操作进行限定。
进一步地,在另一种可行的实施例中,本发明灰度发布方法,还可以包括:
步骤S60,若所述灰度请求处理结果为请求处理成功,则统计灰度请求的处理成功率,并根据所述处理成功率调整所述目标灰度规则的灰度百分比值。
终端设备在将通过流量均衡抽样操作抽取出的目标灰度请求连同目标灰度规则一起转发到灰度目标服务响应实例所监听主题下的逻辑分组上,该目标灰度请求在被灰度目标服务响应实例收下并处理后返回灰度请求处理结果,终端设备在接收到该灰度请求处理结果之后,若检测到该灰度请求处理结果表示该灰度目标服务响应实例的请求处理成功,则终端设备即可基于实时统计的处理灰度请求的处理成功率,来调整当前应用的目标灰度规则的灰度百分比值。
需要说明的是,在本实施例中,终端设备通过实时记录灰度实例服务处理灰度请求过程中的数据来统计得到灰度请求的处理成功率,例如,终端设备通过记录接收到的灰度请求的请求总数以及灰度实例处理灰度请求成功的成功数,然后基于该请求总数和成功数计算得到灰度实例处理灰度请求的处理成功率:成功数/请求总数=处理成功率。
进一步地,在一种可行的实施例中,上述步骤S60中,“根据所述处理成功率调整所述目标灰度规则的灰度百分比值”的步骤,可以包括:
步骤S601,检测所述处理成功率是否大于或者等于预设灰度成功率;
终端设备在统计得到灰度实例服务处理灰度请求的处理成功率之后,将该处理成功率与预设灰度成功率进行对比以确定该处理成功率是否大于或者等于预设灰度成功率。
需要说明的是,在本实施例中,预设灰度成功率为基于灰度发布的具体应用需要,而由灰度发布的工作人员自定义配置生成,应当理解的是,基于实际应用的不同需要,在不同可行的实施方式当中,该预设灰度成功率的大小当然也是可以不相同的,本发明灰度发布方法并不针对该预设灰度成功率的具体大小进行限定。
步骤S602,若是,则按照所述目标灰度规则的灰度百分比值步长递增所述目标灰度规则的灰度百分比值;
终端设备在对比灰度实例服务处理灰度请求的处理成功率与预设灰度成功率时,若对比得到该处理成功率大于或者等于该预设灰度成功率,则终端设备按照预先配置的目标灰度规则的灰度百分比值步长,逐步的增加该目标灰度规则的灰度百分比值。
需要说明的是,在本实施例中,百分比值步长为终端设备确定在当前灰度实例处理灰度请求成功时,需要针对所应用目标灰度规则的灰度百分比值步长增加的幅度,应当理解的是,基于实际应用的不同设计需要,在不同可行的实施方式当中,该灰度百分比值步长的具体大小也自然是可以不同的,本发明灰度发布方法并不针对该灰度百分比值步长的具体大小进行限定。
具体地,例如,请参照如图4所示的应用场景,终端设备(图示为本装置)在灰度实例服务处理目标灰度请求1成功时所实时统计得到的处理成功率为R,而终端设备基于灰度发布的工作人员所配置生成的预设灰度成功率为R2,终端设备预先设定的灰度规则6的灰度百分比值步长为5%,则,终端设备在比对确定R大于或者等于R2时,随即将当前时刻该灰度规则6的灰度百分比值增加5%,然后,若是在下一次仍然应用该灰度规则6作为目标灰度规则对其它灰度请求进行服务处理且处理成功时,终端设备将再次将该灰度规则6的灰度百分比值增加5%,如此循环直至该灰度规则6的灰度百分比值递增至预先设定的最大灰度百分比值:50%。
步骤S603,若否,则减小所述灰度百分比值以终止所述目标灰度规则。
终端设备在对比灰度实例服务处理灰度请求的处理成功率与预设灰度成功率时,若对比得到该处理成功率小于该预设灰度成功率,则终端设备直接将目标灰度规则的灰度百分比值步长减小至零以令终端设备在后续接收到灰度请求后,终止使用该目标灰度规则。
具体地,例如,终端设备在灰度实例服务处理目标灰度请求1成功时所实时统计得到的处理成功率为R,而终端设备基于灰度发布的工作人员所配置生成的预设灰度成功率为R2,终端设备预先设定的灰度规则6的灰度百分比值步长为5%,则,终端设备在比对确定R小于R2时,随即将当前时刻该灰度规则6的灰度百分比值减小为0从而终止该灰度规则6。
在本实施例中,预设灰度实例接收目标灰度请求进行处理后返回的灰度请求处理结果包括请求处理失败和请求处理成功,从而,终端设备在将通过流量均衡抽样操作抽取出的目标灰度请求连同目标灰度规则一起转发到灰度目标服务响应实例所监听主题下的逻辑分组上,该目标灰度请求在被灰度目标服务响应实例收下并处理后返回灰度请求处理结果,终端设备在接收到该灰度请求处理结果之后,若终端设备检测到该灰度请求处理结果表示该灰度目标服务响应实例的请求处理失败,则终端设备为了保证针对灰度请求进行服务处理的成功率,便再次将该目标灰度请求转发到原有的消费实例上进行处理,进而保证服务请求的处理成功率;或者,若终端设备检测到该灰度请求处理结果表示该灰度目标服务响应实例的请求处理成功,则终端设备即可基于实时统计的处理灰度请求的处理成功率,来调整当前应用的目标灰度规则的灰度百分比值。
进一步地,基于上述第一实施例和第二实施例,提出本发明灰度发布方法的第三实施例,在本实施例中,本发明灰度发布方法,还可以包括:
步骤S70,在检测到所述灰度百分比值达到预设最大灰度百分比值时输出所述预设灰度实例的灰度升级提示;
需要说明的是,在本实施例中,预设最大灰度百分比值为灰度发布的工作人员基于终端设备自身性能来自定义生成的灰度百分比预定值,具体地,基于单个灰度实例的处理能力有限,因此,预设最大灰度百分比值具体可以被设定为50%。应当理解的是,基于实际应用的不同设计需要,在不同可行的实施方式当中,终端设备自身的性能参数可以不同,如此,该预设最大灰度百分比值自然也是可以不同的,本发明灰度发布方法并不针对该预设最大灰度百分比值的具体大小进行限定。
终端设备在每一次按照目标灰度规则的灰度百分比值步长递增该目标灰度规则的灰度百分比值之后,终端设备即检测该目标灰度规则的灰度百分比值是否已经等于或者大于预设最大灰度百分比值,并在检测到是时确定针对预设灰度实例的灰度完成,从而向灰度发布的工作人员输出该预设灰度实例灰度升级提示。
具体地,例如,终端设备在当前次比对确定灰度实例服务处理目标灰度请求1成功时所实时统计得到的处理成功率为R,大于或者等于预设灰度成功率为R2时,将当前时刻应用的目标灰度规则——灰度规则6的灰度百分比值增加5%以后,检测到该灰度规则6的灰度百分比值已经递增至50%,即已经等于预设最大灰度百分比值50%,从而,终端设备即确定当前针对该目标灰度请求1执行服务的灰度实例已经灰度完成,进而,终端设备可按照预先配置通过邮件、短信等消息通知渠道向当前灰度发布的工作人员输出该灰度实例的灰度升级提示,如此,该工作人员即可基于该提示执行该灰度实例和当前灰度发布中与该灰度实例相同的其它灰度实例的灰度升级。
进一步地,在另一种可行的实施例中,本发明灰度发布方法,还可以包括:
步骤S80,在检测到所述灰度百分比值达到预设最大灰度百分比值时,按照所述目标灰度规则针对所述预设灰度实例相关联的各其它灰度实例进行灰度升级。
终端设备在检测该目标灰度规则的灰度百分比值是否已经等于或者大于预设最大灰度百分比值,并在检测到是时确定针对预设灰度实例的灰度完成,然后,终端即按照该目标灰度规则,自动的针对当前灰度发布中与该预设灰度实例相关联的各个其它灰度实例进行灰度升级。
具体地,例如,终端设备在当前次比对确定灰度实例服务处理目标灰度请求1成功时所实时统计得到的处理成功率为R,大于或者等于预设灰度成功率为R2时,将当前时刻应用的目标灰度规则——灰度规则6的灰度百分比值增加5%以后,检测到该灰度规则6的灰度百分比值已经递增至50%,即已经等于预设最大灰度百分比值50%,从而,终端设备即确定当前针对该目标灰度请求1执行服务的灰度实例已经灰度完成,进而,终端设备可在后续接收到新的灰度请求之后,自动的按照该灰度规则6将该新的灰度请求转发到当前灰度发布中与该灰度实例相同的其它灰度实例上进行灰度操作,进而自动完成各个其它灰度实例的灰度升级操作。
在本实施例中,通过终端设备在每一次按照目标灰度规则的灰度百分比值步长递增该目标灰度规则的灰度百分比值之后,检测该目标灰度规则的灰度百分比值是否已经等于或者大于预设最大灰度百分比值,并在检测到是时确定针对预设灰度实例的灰度完成,从而向灰度发布的工作人员输出该预设灰度实例灰度升级提示,或者自动的针对当前灰度发布中与该预设灰度实例相关联的各个其它灰度实例进行灰度升级。如此,在提高了灰度请求服务成功率并降低了灰度发布成本的情况下,进一步简化了工作人员的操作,提高了灰度发布中灰度实例的升级效率。
进一步地,本发明还提供一种灰度发布装置,该灰度发布装置应用于消息中间件系统。请参照图5,图5为本发明灰度发布装置一实施例的功能模块示意图。如图5所示,本发明灰度发布装置包括:
规则加载模块10,用于加载预设灰度规则数据库中的各灰度规则;
适配模块20,用于提取接收到的灰度请求的请求参数,并根据所述请求参数在各所述灰度规则中适配目标灰度规则;
均衡抽样模块30,用于根据所述灰度请求和所述目标灰度规则进行灰度均衡抽样以得到目标灰度请求;
转发处理模块40,用于将所述目标灰度请求转发至预设灰度实例监听主题下的逻辑分组进行处理以返回灰度请求处理结果。
进一步地,本发明灰度发布装置,还包括:
规则配置模块,用于在预设灰度规则数据库中配置各灰度规则,以及在所述预设灰度规则数据库中针对各所述灰度规则进行调整;
所述规则加载模块10还用于按照预设时间周期全量加载所述加载预设灰度规则数据库中的各所述灰度规则。
进一步地,均衡抽样模块30,包括:
获取单元,用于获取实时统计所述灰度请求的系统吞吐量,以及获取所述目标灰度规则的灰度百分比值;
流量均衡抽样单元,用于调用预设流量抽样策略按照所述系统吞吐量和所述灰度百分比值进行灰度均衡抽样以从所述灰度请求中均衡抽取得到目标灰度请求。
进一步地,所述预设流量抽样策略为流量均衡抽样策略,流量均衡抽样单元,包括:
确定子单元,用于将所述灰度百分比值作为进行流量均衡抽样的抽样比值;
抽样子单元,用于调用所述流量均衡抽样策略在所述系统吞吐量大小的全部所述灰度请求中,按照所述抽样比值和所述系统吞吐量大小确定抽取数据量,以抽取得到目标灰度请求。
进一步地,所述灰度请求处理结果包括请求处理失败和请求处理成功,本发明灰度发布装置,还包括:
请求转发模块,用于若所述灰度请求处理结果为请求处理失败,则将所述目标灰度请求转发至预设非灰度实例监听主题下的逻辑分组进行处理;以及,
规则百分比调整模块,用于若所述灰度请求处理结果为请求处理成功,则统计灰度请求的处理成功率,并根据所述处理成功率调整所述目标灰度规则的灰度百分比值。
进一步地,规则百分比调整模块,包括:
检测单元,用于检测所述处理成功率是否大于或者等于预设灰度成功率;
比值递增单元,若是,则按照所述目标灰度规则的灰度百分比值步长递增所述目标灰度规则的灰度百分比值;
终止单元,用于若否,则减小所述灰度百分比值以终止所述目标灰度规则。
进一步地,本发明灰度发布装置,还包括:
升级提示模块,用于在检测到所述灰度百分比值达到预设最大灰度百分比值时输出所述预设灰度实例的灰度升级提示;
自动升级模块,用于在检测到所述灰度百分比值达到预设最大灰度百分比值时,按照所述目标灰度规则针对所述预设灰度实例相关联的各其它灰度实例进行灰度升级。
进一步地,本发明灰度发布装置,还包括:
收录模块,用于收录所述目标灰度请求的所述请求参数以用于进行灰度请求处理失败的原因分析。
其中,上述灰度发布装置中各个模块的功能实现与上述灰度发布方法实施例中各步骤相对应,其功能和实现过程在此处不再一一赘述。
本发明还提供一种计算机存储介质,该计算机存储介质上存储有灰度发布程序,所述灰度发布程序被处理器执行时实现如以上任一项实施例所述的灰度发布方法的步骤。
本发明计算机存储介质的具体实施例与上述灰度发布方法各实施例基本相同,在此不作赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种灰度发布方法,其特征在于,所述灰度发布方法应用于消息中间件系统,所述灰度发布方法包括:
加载预设灰度规则数据库中的各灰度规则;
提取接收到的灰度请求的请求参数,并根据所述请求参数在各所述灰度规则中适配目标灰度规则;
根据所述灰度请求和所述目标灰度规则进行灰度均衡抽样以得到目标灰度请求;
将所述目标灰度请求转发至预设灰度实例监听主题下的逻辑分组进行处理以返回灰度请求处理结果。
2.如权利要求1所述的灰度发布方法,其特征在于,所述灰度发布方法还包括:
在预设灰度规则数据库中配置各灰度规则,以及在所述预设灰度规则数据库中针对各所述灰度规则进行调整;
所述加载预设灰度规则数据库中的各灰度规则的步骤包括:
按照预设时间周期全量加载所述加载预设灰度规则数据库中的各所述灰度规则。
3.如权利要求1所述的灰度发布方法,其特征在于,所述根据所述灰度请求和所述目标灰度规则进行灰度均衡抽样以得到目标灰度请求的步骤,包括:
获取实时统计所述灰度请求的系统吞吐量,以及获取所述目标灰度规则的灰度百分比值;
调用预设流量抽样策略按照所述系统吞吐量和所述灰度百分比值进行灰度均衡抽样以从所述灰度请求中均衡抽取得到目标灰度请求。
4.如权利要求3所述的灰度发布方法,其特征在于,所述预设流量抽样策略为流量均衡抽样策略,
所述调用预设流量抽样策略按照所述系统吞吐量和所述灰度百分比值进行灰度均衡抽样以从所述灰度请求中均衡抽取得到目标灰度请求的步骤,包括:
将所述灰度百分比值作为进行流量均衡抽样的抽样比值;
调用所述流量均衡抽样策略在所述系统吞吐量大小的全部所述灰度请求中,按照所述抽样比值和所述系统吞吐量大小确定抽取数据量,以抽取得到目标灰度请求。
5.如权利要求1所述的灰度发布方法,其特征在于,所述灰度请求处理结果包括请求处理失败和请求处理成功,
在所述将所述目标灰度请求转发至预设灰度实例监听主题下的逻辑分组进行处理以返回灰度请求处理结果的步骤之后,所述方法还包括:
若所述灰度请求处理结果为请求处理失败,则将所述目标灰度请求转发至预设非灰度实例监听主题下的逻辑分组进行处理;以及,
若所述灰度请求处理结果为请求处理成功,则统计灰度请求的处理成功率,并根据所述处理成功率调整所述目标灰度规则的灰度百分比值。
6.如权利要求5所述的灰度发布方法,其特征在于,所述根据所述处理成功率调整所述目标灰度规则的灰度百分比值的步骤包括:
检测所述处理成功率是否大于或者等于预设灰度成功率;
若是,则按照所述目标灰度规则的灰度百分比值步长递增所述目标灰度规则的灰度百分比值;
若否,则减小所述灰度百分比值以终止所述目标灰度规则。
7.如权利要求5或者6所述的灰度发布方法,其特征在于,所述灰度发布方法还包括:
在检测到所述灰度百分比值达到预设最大灰度百分比值时输出所述预设灰度实例的灰度升级提示;或者,
在检测到所述灰度百分比值达到预设最大灰度百分比值时,按照所述目标灰度规则针对所述预设灰度实例相关联的各其它灰度实例进行灰度升级。
8.一种灰度发布装置,其特征在于,所述灰度发布装置应用于消息中间件系统,所述灰度发布装置包括:
规则加载模块,用于加载预设灰度规则数据库中的各灰度规则;
适配模块,用于提取接收到的灰度请求的请求参数,并根据所述请求参数在各所述灰度规则中适配目标灰度规则;
均衡抽样模块,用于根据所述灰度请求和所述目标灰度规则进行灰度均衡抽样以得到目标灰度请求;
转发处理模块,用于将所述目标灰度请求转发至预设灰度实例监听主题下的逻辑分组进行处理以返回灰度请求处理结果。
9.一种终端设备,其特征在于,所述终端设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的灰度发布程序,所述灰度发布程序被所述处理器执行时实现如权利要求1至7中任一项所述的灰度发布方法的步骤。
10.一种计算机存储介质,其特征在于,所述计算机存储介质上存储有灰度发布程序,所述灰度发布程序被处理器执行时实现如权利要求1至7中任一项所述的灰度发布方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011553046.8A CN112685060B (zh) | 2020-12-24 | 2020-12-24 | 灰度发布方法、装置,终端设备及计算机存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011553046.8A CN112685060B (zh) | 2020-12-24 | 2020-12-24 | 灰度发布方法、装置,终端设备及计算机存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112685060A true CN112685060A (zh) | 2021-04-20 |
CN112685060B CN112685060B (zh) | 2024-09-27 |
Family
ID=75452958
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011553046.8A Active CN112685060B (zh) | 2020-12-24 | 2020-12-24 | 灰度发布方法、装置,终端设备及计算机存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112685060B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114884915A (zh) * | 2022-04-19 | 2022-08-09 | 阿里巴巴(中国)有限公司 | 基于灰度发布的消息处理方法、装置以及设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108595207A (zh) * | 2018-03-23 | 2018-09-28 | 深圳乐信软件技术有限公司 | 一种灰度发布方法、规则引擎、系统、终端和存储介质 |
CN108768875A (zh) * | 2018-05-31 | 2018-11-06 | 康键信息技术(深圳)有限公司 | 应用的灰度发布方法、装置及计算机可读存储介质 |
CN109739552A (zh) * | 2019-01-04 | 2019-05-10 | 深圳壹账通智能科技有限公司 | 微服务灰度发布方法、装置、计算机设备和存储介质 |
WO2020181684A1 (zh) * | 2019-03-12 | 2020-09-17 | 平安科技(深圳)有限公司 | 管理灰度发布的方法、系统、设备及存储介质 |
-
2020
- 2020-12-24 CN CN202011553046.8A patent/CN112685060B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108595207A (zh) * | 2018-03-23 | 2018-09-28 | 深圳乐信软件技术有限公司 | 一种灰度发布方法、规则引擎、系统、终端和存储介质 |
CN108768875A (zh) * | 2018-05-31 | 2018-11-06 | 康键信息技术(深圳)有限公司 | 应用的灰度发布方法、装置及计算机可读存储介质 |
CN109739552A (zh) * | 2019-01-04 | 2019-05-10 | 深圳壹账通智能科技有限公司 | 微服务灰度发布方法、装置、计算机设备和存储介质 |
WO2020140663A1 (zh) * | 2019-01-04 | 2020-07-09 | 深圳壹账通智能科技有限公司 | 微服务灰度发布方法、装置、计算机设备和存储介质 |
WO2020181684A1 (zh) * | 2019-03-12 | 2020-09-17 | 平安科技(深圳)有限公司 | 管理灰度发布的方法、系统、设备及存储介质 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114884915A (zh) * | 2022-04-19 | 2022-08-09 | 阿里巴巴(中国)有限公司 | 基于灰度发布的消息处理方法、装置以及设备 |
CN114884915B (zh) * | 2022-04-19 | 2024-03-26 | 阿里巴巴(中国)有限公司 | 基于灰度发布的消息处理方法、装置以及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN112685060B (zh) | 2024-09-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110535777B (zh) | 访问请求控制方法、装置、电子设备以及可读存储介质 | |
US9948791B2 (en) | Sharing group notification | |
US20200183680A1 (en) | Elastic application framework for deploying software | |
CN108616429B (zh) | 一种推送服务的重连方法及设备 | |
US8667495B1 (en) | Virtual resource provider with virtual control planes | |
US20140181677A1 (en) | Cost tracking for virtual control planes | |
CN114979295B (zh) | 一种网关管理的方法和装置 | |
WO2023159879A1 (zh) | 消息的处理方法及系统、存储介质、电子装置 | |
CN105553770B (zh) | 一种数据采集控制方法和装置 | |
CN114465954A (zh) | 云专线的自适应选路方法、装置、设备及可读存储介质 | |
US20230004776A1 (en) | Moderator for identifying deficient nodes in federated learning | |
CN112685060A (zh) | 灰度发布方法、装置,终端设备及计算机存储介质 | |
CN105763616B (zh) | 资源下载方法及装置 | |
CN110620721A (zh) | 一种网关设备、应用方法和业务系统 | |
WO2022078397A1 (zh) | 通信的方法、装置、设备及存储介质 | |
CN107666414A (zh) | 一种网络性能优化方法、系统及计算机可读存储介质 | |
CN104850431B (zh) | 基于fota升级的稳定处理方法和装置 | |
CN110071952B (zh) | 服务调用量的控制方法和装置 | |
CN104539637B (zh) | 校验码信息的发送方法、服务器及用户终端 | |
CN111447113B (zh) | 一种系统监控方法和装置 | |
US20180060892A1 (en) | Market segment analysis of product or service offerings | |
CN116541167A (zh) | 系统流量控制方法、装置、电子设备及计算机可读介质 | |
WO2023077815A1 (zh) | 一种处理敏感数据的方法及装置 | |
CN113518119B (zh) | ABTest的服务分发方法、装置、设备及存储介质 | |
US9479579B2 (en) | Grouping processing method and system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |