CN110489133A - 一种灰度发布方法、系统及电子设备和存储介质 - Google Patents
一种灰度发布方法、系统及电子设备和存储介质 Download PDFInfo
- Publication number
- CN110489133A CN110489133A CN201910784569.4A CN201910784569A CN110489133A CN 110489133 A CN110489133 A CN 110489133A CN 201910784569 A CN201910784569 A CN 201910784569A CN 110489133 A CN110489133 A CN 110489133A
- Authority
- CN
- China
- Prior art keywords
- gray scale
- user
- default
- message
- node
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 49
- 238000003860 storage Methods 0.000 title claims description 14
- 230000005540 biological transmission Effects 0.000 claims abstract description 15
- 238000004590 computer program Methods 0.000 claims description 12
- 238000012545 processing Methods 0.000 claims description 9
- 230000001419 dependent effect Effects 0.000 abstract description 4
- 238000005516 engineering process Methods 0.000 description 8
- 238000011161 development Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 238000009826 distribution Methods 0.000 description 4
- 238000012423 maintenance Methods 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 235000014510 cooky Nutrition 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本申请公开了一种灰度发布方法、系统及设备和介质,方法包括:根据灰度发布任务,自动将需要部署的应用节点设置为灰度节点;获取到用户发送的消息后,判断预设灰度组件是否开启工作模式;若预设灰度组件已开启工作模式,则基于预设灰度规则,利用预设灰度组件判断当前用户是否为灰度用户;若当前用户为灰度用户,则利用预设灰度组件对当前用户发送的消息进行灰度标记;将包含灰度标记的消息转发至灰度节点进行处理。本申请只需在代码的依赖文件中配置该组件即可识别灰度用户,保证对代码的零侵入;另外,本申请自动将需要部署的应用节点设置为灰度节点,利用灰度节点和非灰度节点来确定用户对应的流量去向,无需全量搭建灰度环境,有效降低成本。
Description
技术领域
本申请涉及灰度发布技术领域,更具体地说,涉及一种灰度发布方法、系统及一种电子设备和一种计算机可读存储介质。
背景技术
在互联网产品发布时,总是会存在各种各样的风险,包括:发布过程中需要停机,造成该时间段内系统不可用;新的功能或操作改变不符合用户的需求,造成用户的不满等。在这种情况下,通常采用灰度发布策略,使新老版本的产品同时在生产环境中存在,并引导一部分用户流量访问新的版本,提前收集用户的反馈信息,保证系统的稳定性,同时缩小影响面。在功能验证成功且用户反馈良好的情况下,将新的版本逐步开放给所有的用户使用。
现有的灰度发布方式主要有两种:一、在代码中维护两套逻辑,能够针对不同的流量执行不同的逻辑。这种方式下,虽然可以灵活控制灰度的粒度,降低运维成本,但是对于代码的侵入性高,开发人员在代码的开发过程中需要同时保证两套代码的逻辑准确,提高了对于开发人员的技术要求,且废旧的代码需要定期删除,不利于项目的维护和发展;二、搭建独立的环境部署灰度版本。这种方式可以实现对代码的零侵入,但是需要全量搭建部署,对于灰度环境和非灰度环境需要做到完全的隔离,开发成本更高。
因此,如何解决上述问题是本领域技术人员需要重点关注的。
发明内容
本申请的目的在于提供一种灰度发布方法、系统及一种电子设备和一种计算机可读存储介质,在保证对代码零侵入的基础上有效降低了开发成本。
为实现上述目的,本申请提供了一种灰度发布方法,包括:
根据灰度发布任务,自动将需要部署的应用节点设置为灰度节点;
在获取到用户发送的消息后,判断预设灰度组件是否开启工作模式;
若所述预设灰度组件已开启工作模式,则基于预设灰度规则,利用所述预设灰度组件判断当前用户是否为灰度用户;
若所述当前用户为灰度用户,则利用所述预设灰度组件对所述当前用户发送的消息进行灰度标记;
将包含所述灰度标记的消息转发至所述灰度节点进行处理。
可选的,所述基于预设灰度规则,利用所述预设灰度组件判断当前用户是否为灰度用户,包括:
利用所述预设灰度组件判断所述当前用户是否位于预设灰度用户列表中;
若所述当前用户位于预设灰度用户列表中,则将所述当前用户确定为灰度用户。
可选的,所述基于预设灰度规则,利用所述预设灰度组件判断当前用户是否为灰度用户,包括:
获取所述当前用户的标识号以及预设比例值;
对所述标识号进行哈希运算,得到对应的哈希值;
利用所述哈希值对所述预设比例值的分母进行取余操作,得到余数值;
判断所述余数值是否大于等于零且小于等于所述预设比例值分子减一后的数值;
如果是,则将所述当前用户确定为灰度用户。
可选的,所述根据灰度发布任务,自动将需要部署的应用节点设置为灰度节点,包括:
根据所述灰度发布任务新建灰度集群组;
将需要部署的应用节点移动至所述新建灰度集群组中;
相应的,所述利用所述预设灰度组件对所述当前用户发送的消息进行灰度标记,包括:
若所述当前用户发送的消息为HTTP消息,则对所述HTTP消息中的请求头进行灰度标记。
可选的,所述根据灰度发布任务,自动将需要部署的应用节点设置为灰度节点,包括:
根据所述灰度发布任务将需要部署的应用节点的权重设置为零,并为所述应用节点添加RPC灰度标记。
可选的,所述将包含所述灰度标记的消息转发至所述灰度节点进行处理,包括:
获取添加所述RPC灰度标记的下游节点,将包含所述灰度标记的消息发送至所述下游节点进行处理。
可选的,所述利用所述预设灰度组件对所述当前用户发送的消息进行灰度标记,包括:
若所述当前用户发送的消息为MQ消息,则对所述MQ消息的名称进行灰度标记。
为实现上述目的,本申请提供了一种灰度发布系统,包括:
节点设置模块,用于根据灰度发布任务,自动将需要部署的应用节点设置为灰度节点;
模式判断模块,用于在获取到用户发送的消息后,判断预设灰度组件是否开启工作模式;
用户判断模块,用于若所述预设灰度组件已开启工作模式,则基于预设灰度规则,利用所述预设灰度组件判断当前用户是否为灰度用户;
用户标记模块,用于若所述当前用户为灰度用户,则利用所述预设灰度组件对所述当前用户发送的消息进行灰度标记;
消息处理模块,用于将包含所述灰度标记的消息转发至所述灰度节点进行处理。
为实现上述目的,本申请提供了一种电子设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现前述公开的任一种灰度发布方法的步骤。
为实现上述目的,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现前述公开的任一种灰度发布方法的步骤。
通过以上方案可知,本申请提供的一种灰度发布方法,包括:根据灰度发布任务,自动将需要部署的应用节点设置为灰度节点;在获取到用户发送的消息后,判断预设灰度组件是否开启工作模式;若所述预设灰度组件已开启工作模式,则基于预设灰度规则,利用所述预设灰度组件判断当前用户是否为灰度用户;若所述当前用户为灰度用户,则利用所述预设灰度组件对所述当前用户发送的消息进行灰度标记;将包含所述灰度标记的消息转发至所述灰度节点进行处理。由上可知,本申请提供能够基于预设灰度规则判断当前用户是否为灰度用户的预设灰度组件,从而只需在代码的依赖文件中配置该组件即可识别灰度用户,保证对代码的零侵入;另外,本申请根据灰度发布任务可以自动将需要部署的应用节点设置为灰度节点,若当前用户为灰度用户,则在灰度标记后直接将消息转发至灰度节点进行处理,利用灰度节点和非灰度节点来确定用户对应的流量去向,无需全量搭建灰度环境,有效降低了开发成本。
本申请还公开了一种灰度发布系统及一种电子设备和一种计算机可读存储介质,同样能实现上述技术效果。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本申请。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例公开的一种灰度发布方法的流程图;
图2为本申请实施例公开的灰度发布方法的一种具体实施方式的流程图;
图3为本申请实施例公开的灰度发布方法的另一种具体实施方式的流程图;
图4为本申请实施例公开的灰度发布方法的又一种具体实施方式的流程图;
图5为本申请实施例公开的一种灰度发布系统的结构图;
图6为本申请实施例公开的一种电子设备的结构图;
图7为本申请实施例公开的另一种电子设备的结构图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在现有技术中,灰度发布主要有在代码中维护两套逻辑或搭建独立的环境部署灰度版本两种方式。然而,在代码中维护两套逻辑对于代码的侵入性高,且需要保证两套代码的逻辑准确,提高了对于开发人员的技术要求,不利于项目的维护和发展;搭建独立的环境部署灰度版本需要全量搭建部署,对于灰度环境和非灰度环境需要做到完全的隔离,开发成本更高。
因此,本申请实施例公开了一种灰度发布方法,在保证对代码零侵入的基础上有效降低了开发成本。
参见图1所示,本申请实施例公开的一种灰度发布方法包括:
S11:根据灰度发布任务,自动将需要部署的应用节点设置为灰度节点;
本实施例中,在灰度应用部署时,获取灰度发布任务,并基于灰度发布任务将需要部署的应用节点设置为灰度节点。
S12:在获取到用户发送的消息后,判断预设灰度组件是否开启工作模式;
可以理解的是,本实施例为预设灰度组件设置相应的开关,若开启预设灰度组件,则预设灰度组件进入工作模式;若关闭预设灰度组件,则预设灰度组件关闭工作模式。也即,预设灰度组件在开关开启的情况下才能生效,在系统出现问题时,可通过关闭开关来停止预设灰度组件的工作,控制方式灵活。
S13:若所述预设灰度组件已开启工作模式,则基于预设灰度规则,利用所述预设灰度组件判断当前用户是否为灰度用户;
本步骤中,在判断预设灰度组件是否开启工作模式后,若预设灰度组件的开关开启,处于工作模式,则预设灰度组件将基于预设灰度规则判断当前发送消息的用户是否为灰度用户。其中,预设灰度规则为用于判断用户是否为灰度用户的规则,预设灰度组件具体可以为预先编写的用于利用预设灰度规则实现灰度用户识别和标记的组件,可以配置于代码的依赖文件中。
具体地,在一种具体实施方式中,判断当前用户是否为灰度用户的过程可以为:利用预设灰度组件判断当前用户是否位于预设灰度用户列表中;若当前用户位于预设灰度用户列表中,则将当前用户确定为灰度用户。可以理解的是,在这种实施方式中,本实施例预先收集用户的信息,并从中选取一定数量的用户作为灰度用户使用灰度节点,将选取的用户保存至预设灰度用户列表中,从而可以通过判断当前用户是否位于预设灰度用户列表来确定当前用户是否为灰度用户。
在另一种具体实施方式中,判断当前用户是否为灰度用户的过程可以为:获取当前用户的标识号以及预设比例值;对用户标识号进行哈希运算,得到对应的哈希值;利用哈希值对预设比例值的分母进行取余操作,得到余数值;判断余数值是否大于等于零且小于等于预设比例值分子减一后得到的数值;如果是,则将当前用户确定为灰度用户。其中,预设比例值为用户设定的表征灰度用户占全部用户比例的数值。例如,若预设比例值为2/5,则获取用户的ID号并进行哈希运算,得到对应的哈希值之后,利用哈希值对5进行取余,得到的余数值包括五种情况:0、1、2、3、4,则可以将计算后余数值为0和1的用户确定为灰度用户,最终得到比例值为2/5的灰度用户。
S14:若所述当前用户为灰度用户,则利用所述预设灰度组件对所述当前用户发送的消息进行灰度标记;
本实施例中,若确定当前用户为灰度用户,则利用预设灰度组件对当前用户或用户发送的消息进行灰度标记,以便根据标记结果确定当前用户发送的消息的处理方式。
具体地,本实施例预先在预设灰度组件中编写了灰度标记过滤器,能够对经过灰度标记过滤器的消息进行灰度标记。
S15:将包含所述灰度标记的消息转发至所述灰度节点进行处理。
可以理解的是,在对用户发送的消息进行标记后,本实施例将包含灰度标记的消息转发至灰度节点进行处理,对于未包含灰度标记的消息,将转发至正常节点进行处理,实现灰度流量和非灰度流量的隔离。
由上可知,本申请提供能够基于预设灰度规则判断当前用户是否为灰度用户的预设灰度组件,从而只需在代码的依赖文件中配置该组件即可识别灰度用户,保证对代码的零侵入;另外,本申请根据灰度发布任务可以自动将需要部署的应用节点设置为灰度节点,若当前用户为灰度用户,则在灰度标记后直接将消息转发至灰度节点进行处理,利用灰度节点和非灰度节点来确定用户对应的流量去向,无需全量搭建灰度环境,有效降低了开发成本。
本申请实施例公开了灰度发布方法的一种具体实施方式,相对于上一实施例,本实施例对技术方案作了进一步的说明和优化。参见图2所示,具体的:
S21:根据灰度发布任务新建灰度集群组;
S22:将需要部署的应用节点移动至所述新建灰度集群组中;
S23:在获取到用户发送的消息后,判断预设灰度组件是否开启工作模式;
S24:若所述预设灰度组件已开启工作模式,则基于预设灰度规则,利用所述预设灰度组件判断当前用户是否为灰度用户;
S25:若所述当前用户为灰度用户,则对所述HTTP消息中的请求头进行灰度标记;
S26:将包含所述灰度标记的HTTP消息转发至所述灰度节点进行处理。
本实施例中,在获取到灰度发布任务后,将利用灰度发布平台修改负载均衡器Nginx的配置文件,将路由到灰度节点的流量截断,以保证部署期间流量不会发送至灰度节点。进一步创建灰度集群组,用于存放灰度节点,从而可以将需要部署的应用节点移动至新建灰度集群组中,实现灰度节点和非灰度节点的分类。
在获取到用户发送的消息后,若当前用户发送的消息为HTTP消息,则首先利用预设灰度组件判断当前用户是否为灰度用户,若当前用户为灰度用户,则回写cookie,对当前HTTP消息中的请求头进行灰度标记,进而将包含灰度标记的HTTP消息转发至灰度节点进行处理。
本申请实施例公开了灰度发布方法的另一种具体实施方式,相对于上一实施例,本实施例对技术方案作了进一步的说明和优化。参见图3所示,具体的:
S31:根据灰度发布任务将需要部署的应用节点的权重设置为零,并为所述应用节点添加RPC灰度标记;
S32:在获取到用户发送的消息后,判断预设灰度组件是否开启工作模式;
S33:若所述预设灰度组件已开启工作模式,则基于预设灰度规则,利用所述预设灰度组件判断当前用户是否为灰度用户;
S34:若所述当前用户为灰度用户,则利用所述预设灰度组件对所述当前用户发送的消息进行灰度标记;
S35:获取添加所述RPC灰度标记的下游节点,将包含所述灰度标记的消息发送至所述下游节点进行处理。
本实施例中,在获取到灰度发布任务后,将利用灰度发布平台修改RPC(RemoteProcedure Call,远程过程调用)框架中的dubbo配置,将灰度节点的权重设置为零,并添加RPC灰度标记。
在获取到用户发送的消息后,若当前用户发送的消息为RPC消息,则首先利用预设灰度组件判断当前用户是否为灰度用户,若当前用户为灰度用户,则利用预设灰度组件中的灰度标记过滤器添加灰度标记,进而查找出添加RPC灰度标记的下游节点,将包含灰度标记的消息定向发送至下游节点进行处理,实现RPC流量的分流。
本申请实施例公开了灰度发布方法的又一种具体实施方式,相对于上一实施例,本实施例对技术方案作了进一步的说明和优化。参见图4所示,具体的:
S41:根据灰度发布任务,自动将需要部署的应用节点设置为灰度节点;
S42:在获取到用户发送的消息后,判断预设灰度组件是否开启工作模式;
S43:若所述预设灰度组件已开启工作模式,则基于预设灰度规则,利用所述预设灰度组件判断当前用户是否为灰度用户;
S44:若所述当前用户为灰度用户,则利用所述预设灰度组件对MQ消息的名称进行灰度标记;
S45:将包含所述灰度标记的消息转发至所述灰度节点进行处理。
本实施例中,对于需要进行灰度标记的MQ(Message Queue,消息队列)消息,可以利用对消息的名称进行标记来实现灰度标记。具体地,可以在消息名称中添加_gray后缀,通过名称将灰度消息与非灰度消息进行区分隔离,从而后续可以将添加灰度标记的消息转发至灰度节点进行处理。
下面对本申请实施例提供的一种灰度发布系统进行介绍,下文描述的一种灰度发布系统与上文描述的一种灰度发布方法可以相互参照。
参见图5所示,本申请实施例提供的一种灰度发布系统包括:
节点设置模块101,用于根据灰度发布任务,自动将需要部署的应用节点设置为灰度节点;
模式判断模块102,用于在获取到用户发送的消息后,判断预设灰度组件是否开启工作模式;
用户判断模块103,用于若所述预设灰度组件已开启工作模式,则基于预设灰度规则,利用所述预设灰度组件判断当前用户是否为灰度用户;
用户标记模块104,用于若所述当前用户为灰度用户,则利用所述预设灰度组件对所述当前用户发送的消息进行灰度标记;
消息处理模块105,用于将包含所述灰度标记的消息转发至所述灰度节点进行处理。
本申请还提供了一种电子设备,参见图6所示,本申请实施例提供的一种电子设备包括:
存储器100,用于存储计算机程序;
处理器200,用于执行所述计算机程序时可以实现上述实施例所提供的灰度发布方法的步骤。
具体的,存储器100包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机可读指令,该内存储器为非易失性存储介质中的操作系统和计算机可读指令的运行提供环境。处理器200在一些实施例中可以是一中央处理器(CentralProcessing Unit,CPU)、控制器、微控制器、微处理器或其他数据处理芯片,为电子设备提供计算和控制能力,执行所述存储器100中保存的计算机程序时,可以实现前述任一种实施例公开的灰度发布方法的步骤。
在上述实施例的基础上,作为优选实施方式,参见图7所示,所述电子设备还包括:
输入接口300,与处理器200相连,用于获取外部导入的计算机程序、参数和指令,经处理器200控制保存至存储器100中。该输入接口300可以与输入装置相连,接收用户手动输入的参数或指令。该输入装置可以是显示屏上覆盖的触摸层,也可以是终端外壳上设置的按键、轨迹球或触控板,也可以是键盘、触控板或鼠标等。
显示单元400,与处理器200相连,用于显示处理器200处理的数据以及用于显示可视化的用户界面。该显示单元400可以为LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。
网络端口500,与处理器200相连,用于与外部各终端设备进行通信连接。该通信连接所采用的通信技术可以为有线通信技术或无线通信技术,如移动高清链接技术(MHL)、通用串行总线(USB)、高清多媒体接口(HDMI)、无线保真技术(WiFi)、蓝牙通信技术、低功耗蓝牙通信技术、基于IEEE802.11s的通信技术等。
图7仅示出了具有组件100-500的电子设备,本领域技术人员可以理解的是,图7示出的结构并不构成对电子设备的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
本申请还提供了一种计算机可读存储介质,该存储介质可以包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。该存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现前述任一种实施例公开的灰度发布方法的步骤。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
Claims (10)
1.一种灰度发布方法,其特征在于,包括:
根据灰度发布任务,自动将需要部署的应用节点设置为灰度节点;
在获取到用户发送的消息后,判断预设灰度组件是否开启工作模式;
若所述预设灰度组件已开启工作模式,则基于预设灰度规则,利用所述预设灰度组件判断当前用户是否为灰度用户;
若所述当前用户为灰度用户,则利用所述预设灰度组件对所述当前用户发送的消息进行灰度标记;
将包含所述灰度标记的消息转发至所述灰度节点进行处理。
2.根据权利要求1所述的灰度发布方法,其特征在于,所述基于预设灰度规则,利用所述预设灰度组件判断当前用户是否为灰度用户,包括:
利用所述预设灰度组件判断所述当前用户是否位于预设灰度用户列表中;
若所述当前用户位于预设灰度用户列表中,则将所述当前用户确定为灰度用户。
3.根据权利要求1所述的灰度发布方法,其特征在于,所述基于预设灰度规则,利用所述预设灰度组件判断当前用户是否为灰度用户,包括:
获取所述当前用户的标识号以及预设比例值;
对所述标识号进行哈希运算,得到对应的哈希值;
利用所述哈希值对所述预设比例值的分母进行取余操作,得到余数值;
判断所述余数值是否大于等于零且小于等于所述预设比例值分子减一后的数值;
如果是,则将所述当前用户确定为灰度用户。
4.根据权利要求1至3任一项所述的灰度发布方法,其特征在于,所述根据灰度发布任务,自动将需要部署的应用节点设置为灰度节点,包括:
根据所述灰度发布任务新建灰度集群组;
将需要部署的应用节点移动至所述新建灰度集群组中;
相应的,所述利用所述预设灰度组件对所述当前用户发送的消息进行灰度标记,包括:
若所述当前用户发送的消息为HTTP消息,则对所述HTTP消息中的请求头进行灰度标记。
5.根据权利要求1至3任一项所述的灰度发布方法,其特征在于,所述根据灰度发布任务,自动将需要部署的应用节点设置为灰度节点,包括:
根据所述灰度发布任务将需要部署的应用节点的权重设置为零,并为所述应用节点添加RPC灰度标记。
6.根据权利要求5所述的灰度发布方法,其特征在于,所述将包含所述灰度标记的消息转发至所述灰度节点进行处理,包括:
获取添加所述RPC灰度标记的下游节点,将包含所述灰度标记的消息发送至所述下游节点进行处理。
7.根据权利要求1至3任一项所述的灰度发布方法,其特征在于,所述利用所述预设灰度组件对所述当前用户发送的消息进行灰度标记,包括:
若所述当前用户发送的消息为MQ消息,则对所述MQ消息的名称进行灰度标记。
8.一种灰度发布系统,其特征在于,包括:
节点设置模块,用于根据灰度发布任务,自动将需要部署的应用节点设置为灰度节点;
模式判断模块,用于在获取到用户发送的消息后,判断预设灰度组件是否开启工作模式;
用户判断模块,用于若所述预设灰度组件已开启工作模式,则基于预设灰度规则,利用所述预设灰度组件判断当前用户是否为灰度用户;
用户标记模块,用于若所述当前用户为灰度用户,则利用所述预设灰度组件对所述当前用户发送的消息进行灰度标记;
消息处理模块,用于将包含所述灰度标记的消息转发至所述灰度节点进行处理。
9.一种电子设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至7任一项所述灰度发布方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述灰度发布方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910784569.4A CN110489133A (zh) | 2019-08-23 | 2019-08-23 | 一种灰度发布方法、系统及电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910784569.4A CN110489133A (zh) | 2019-08-23 | 2019-08-23 | 一种灰度发布方法、系统及电子设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110489133A true CN110489133A (zh) | 2019-11-22 |
Family
ID=68553310
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910784569.4A Pending CN110489133A (zh) | 2019-08-23 | 2019-08-23 | 一种灰度发布方法、系统及电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110489133A (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111209032A (zh) * | 2020-01-06 | 2020-05-29 | 中国银联股份有限公司 | 灰度发布方法、配置中心服务器、用户终端、系统及介质 |
CN111309377A (zh) * | 2020-02-18 | 2020-06-19 | 北京达佳互联信息技术有限公司 | 灰度发布控制方法、装置、电子设备及存储介质 |
CN111628894A (zh) * | 2020-05-28 | 2020-09-04 | 上海冰鉴信息科技有限公司 | 基于用户请求流量控制的灰度发布方法、装置及系统 |
CN111786885A (zh) * | 2020-06-23 | 2020-10-16 | 中国工商银行股份有限公司 | 分布式全链路灰度路由方法及装置 |
CN112363946A (zh) * | 2020-11-24 | 2021-02-12 | 上海悦易网络信息技术有限公司 | 一种基于业务系统的消息转发方法及设备 |
CN112650523A (zh) * | 2020-12-02 | 2021-04-13 | 青岛海尔科技有限公司 | 用于灰度发布的数据分流方法及装置、设备 |
CN113010438A (zh) * | 2021-04-27 | 2021-06-22 | 口碑(上海)信息技术有限公司 | 一种请求消息处理系统、方法、装置以及电子设备 |
CN113452776A (zh) * | 2021-06-25 | 2021-09-28 | 中国工商银行股份有限公司 | PaaS平台服务调度方法、装置及PaaS平台 |
CN113612686A (zh) * | 2021-06-29 | 2021-11-05 | 中国人民财产保险股份有限公司 | 流量调度方法、装置及电子设备 |
CN114840249A (zh) * | 2022-05-18 | 2022-08-02 | 吉林银行股份有限公司 | 集中式业务系统的灰度发布方法、装置及设备 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102064954A (zh) * | 2009-11-17 | 2011-05-18 | 腾讯科技(深圳)有限公司 | 一种分布式容错系统、设备和方法 |
CN106789202A (zh) * | 2016-12-08 | 2017-05-31 | 努比亚技术有限公司 | 业务管理装置及方法 |
CN107864175A (zh) * | 2017-08-24 | 2018-03-30 | 平安普惠企业管理有限公司 | 灰度发布控制方法、装置、设备及存储介质 |
CN108319656A (zh) * | 2017-12-29 | 2018-07-24 | 中兴通讯股份有限公司 | 实现灰度发布的方法、装置及计算节点和系统 |
CN108319468A (zh) * | 2017-01-16 | 2018-07-24 | 北京京东尚科信息技术有限公司 | 灰度发布方法、装置、系统及电子设备 |
CN108595207A (zh) * | 2018-03-23 | 2018-09-28 | 深圳乐信软件技术有限公司 | 一种灰度发布方法、规则引擎、系统、终端和存储介质 |
CN108768875A (zh) * | 2018-05-31 | 2018-11-06 | 康键信息技术(深圳)有限公司 | 应用的灰度发布方法、装置及计算机可读存储介质 |
CN108989267A (zh) * | 2017-05-31 | 2018-12-11 | 中兴通讯股份有限公司 | 基于sip的灰度发布方法、系统、设备和存储介质 |
CN109246051A (zh) * | 2017-05-22 | 2019-01-18 | 中兴通讯股份有限公司 | 灰度发布后链路管理方法、装置、存储介质和计算机设备 |
CN109558162A (zh) * | 2017-09-26 | 2019-04-02 | 腾讯科技(深圳)有限公司 | 应用程序发布方法、装置、计算机设备及存储介质 |
CN109739527A (zh) * | 2018-11-20 | 2019-05-10 | 北京奇艺世纪科技有限公司 | 一种客户端灰度发布的方法、装置、服务器和存储介质 |
CN109871224A (zh) * | 2019-02-13 | 2019-06-11 | 北京炎黄新星网络科技有限公司 | 一种基于用户标识的灰度发布方法、系统、介质及设备 |
-
2019
- 2019-08-23 CN CN201910784569.4A patent/CN110489133A/zh active Pending
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102064954A (zh) * | 2009-11-17 | 2011-05-18 | 腾讯科技(深圳)有限公司 | 一种分布式容错系统、设备和方法 |
CN106789202A (zh) * | 2016-12-08 | 2017-05-31 | 努比亚技术有限公司 | 业务管理装置及方法 |
CN108319468A (zh) * | 2017-01-16 | 2018-07-24 | 北京京东尚科信息技术有限公司 | 灰度发布方法、装置、系统及电子设备 |
CN109246051A (zh) * | 2017-05-22 | 2019-01-18 | 中兴通讯股份有限公司 | 灰度发布后链路管理方法、装置、存储介质和计算机设备 |
CN108989267A (zh) * | 2017-05-31 | 2018-12-11 | 中兴通讯股份有限公司 | 基于sip的灰度发布方法、系统、设备和存储介质 |
CN107864175A (zh) * | 2017-08-24 | 2018-03-30 | 平安普惠企业管理有限公司 | 灰度发布控制方法、装置、设备及存储介质 |
CN109558162A (zh) * | 2017-09-26 | 2019-04-02 | 腾讯科技(深圳)有限公司 | 应用程序发布方法、装置、计算机设备及存储介质 |
CN108319656A (zh) * | 2017-12-29 | 2018-07-24 | 中兴通讯股份有限公司 | 实现灰度发布的方法、装置及计算节点和系统 |
CN108595207A (zh) * | 2018-03-23 | 2018-09-28 | 深圳乐信软件技术有限公司 | 一种灰度发布方法、规则引擎、系统、终端和存储介质 |
CN108768875A (zh) * | 2018-05-31 | 2018-11-06 | 康键信息技术(深圳)有限公司 | 应用的灰度发布方法、装置及计算机可读存储介质 |
CN109739527A (zh) * | 2018-11-20 | 2019-05-10 | 北京奇艺世纪科技有限公司 | 一种客户端灰度发布的方法、装置、服务器和存储介质 |
CN109871224A (zh) * | 2019-02-13 | 2019-06-11 | 北京炎黄新星网络科技有限公司 | 一种基于用户标识的灰度发布方法、系统、介质及设备 |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111209032A (zh) * | 2020-01-06 | 2020-05-29 | 中国银联股份有限公司 | 灰度发布方法、配置中心服务器、用户终端、系统及介质 |
CN111209032B (zh) * | 2020-01-06 | 2023-06-16 | 中国银联股份有限公司 | 灰度发布方法、配置中心服务器、用户终端、系统及介质 |
CN111309377A (zh) * | 2020-02-18 | 2020-06-19 | 北京达佳互联信息技术有限公司 | 灰度发布控制方法、装置、电子设备及存储介质 |
CN111628894A (zh) * | 2020-05-28 | 2020-09-04 | 上海冰鉴信息科技有限公司 | 基于用户请求流量控制的灰度发布方法、装置及系统 |
CN111786885B (zh) * | 2020-06-23 | 2022-07-05 | 中国工商银行股份有限公司 | 分布式全链路灰度路由方法及装置 |
CN111786885A (zh) * | 2020-06-23 | 2020-10-16 | 中国工商银行股份有限公司 | 分布式全链路灰度路由方法及装置 |
CN112363946A (zh) * | 2020-11-24 | 2021-02-12 | 上海悦易网络信息技术有限公司 | 一种基于业务系统的消息转发方法及设备 |
CN112363946B (zh) * | 2020-11-24 | 2024-04-16 | 上海万物新生环保科技集团有限公司 | 一种基于业务系统的消息转发方法及设备 |
CN112650523A (zh) * | 2020-12-02 | 2021-04-13 | 青岛海尔科技有限公司 | 用于灰度发布的数据分流方法及装置、设备 |
CN112650523B (zh) * | 2020-12-02 | 2023-06-16 | 青岛海尔科技有限公司 | 用于灰度发布的数据分流方法及装置、设备 |
CN113010438A (zh) * | 2021-04-27 | 2021-06-22 | 口碑(上海)信息技术有限公司 | 一种请求消息处理系统、方法、装置以及电子设备 |
CN113452776A (zh) * | 2021-06-25 | 2021-09-28 | 中国工商银行股份有限公司 | PaaS平台服务调度方法、装置及PaaS平台 |
CN113452776B (zh) * | 2021-06-25 | 2022-12-09 | 中国工商银行股份有限公司 | PaaS平台服务调度方法、装置及PaaS平台 |
CN113612686A (zh) * | 2021-06-29 | 2021-11-05 | 中国人民财产保险股份有限公司 | 流量调度方法、装置及电子设备 |
CN114840249A (zh) * | 2022-05-18 | 2022-08-02 | 吉林银行股份有限公司 | 集中式业务系统的灰度发布方法、装置及设备 |
CN114840249B (zh) * | 2022-05-18 | 2023-08-08 | 吉林银行股份有限公司 | 集中式业务系统的灰度发布方法、装置及设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110489133A (zh) | 一种灰度发布方法、系统及电子设备和存储介质 | |
US8078894B1 (en) | Power management architecture, method and configuration system | |
US9047142B2 (en) | Intelligent rendering of information in a limited display environment | |
CN104077253B (zh) | 跨装置通讯传输系统及其方法 | |
CN100576191C (zh) | 基于周围设备的设备行为 | |
US8601484B2 (en) | System and method for managing resources and markers of a portable computing device | |
KR20130114699A (ko) | 술어를 사용한 동적 장치 구성 | |
CN107844189A (zh) | 一种降低黑屏耗电的方法、系统、终端及计算机可读存储介质 | |
CN102970657B (zh) | 在社群网络中分享群组状态的系统及其方法 | |
CN103034399A (zh) | 调整用户界面元素 | |
CN102135900B (zh) | 信息处理装置和信息处理方法 | |
CN101674375B (zh) | 用于移动通讯终端的帮助提示的显示方法及其系统 | |
WO2012036776A1 (en) | System and method for managing resources of a portable computing device | |
TWI540920B (zh) | 管理軟體資料流量之方法及應用其之可攜式電子裝置 | |
US20130019249A1 (en) | System and Method For Managing Resources of A Portable Computing Device | |
CN101196822B (zh) | 一种代码升级装置、代码升级方法及系统 | |
CN108984142A (zh) | 分屏显示方法、装置、存储介质和电子设备 | |
CN108427560A (zh) | Api文件管理方法、服务器及存储介质 | |
CN102968437B (zh) | 外部服务应用的发现方法 | |
CN101997905A (zh) | 计算机系统及其控制方法 | |
CN108733536A (zh) | 监控管理系统及方法 | |
CN112148625A (zh) | 业务逻辑调试方法、装置、设备及计算机可读存储介质 | |
JP2011090425A (ja) | 統合業務支援システム | |
CN101685396A (zh) | 对功能图标进行控制的系统及方法 | |
JP2006277204A (ja) | 携帯通信端末装置 |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20191122 |