CN103164202B - 一种灰度发布方法和装置 - Google Patents

一种灰度发布方法和装置 Download PDF

Info

Publication number
CN103164202B
CN103164202B CN201110419963.1A CN201110419963A CN103164202B CN 103164202 B CN103164202 B CN 103164202B CN 201110419963 A CN201110419963 A CN 201110419963A CN 103164202 B CN103164202 B CN 103164202B
Authority
CN
China
Prior art keywords
request message
software
gray scale
new version
type
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.)
Active
Application number
CN201110419963.1A
Other languages
English (en)
Other versions
CN103164202A (zh
Inventor
黎文彦
孟岸
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Tencent Computer Systems Co Ltd
Original Assignee
Shenzhen Tencent Computer Systems Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shenzhen Tencent Computer Systems Co Ltd filed Critical Shenzhen Tencent Computer Systems Co Ltd
Priority to CN201110419963.1A priority Critical patent/CN103164202B/zh
Publication of CN103164202A publication Critical patent/CN103164202A/zh
Application granted granted Critical
Publication of CN103164202B publication Critical patent/CN103164202B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Transfer Between Computers (AREA)

Abstract

本发明提出一种灰度发布方法和系统,其中方法包括:A、预先保存灰度发布顺序表,所述灰度发布顺序表包括不同类型请求消息的灰度发布顺序以及允许发布新版本软件的请求消息类型;B、接收用户对软件的请求消息,根据该请求消息的类型查找所述灰度发布顺序表,当所述请求消息的类型为允许发布新版本软件的请求消息类型时,控制该请求消息访问所述软件的新版本;否则,控制该请求消息访问所述软件的旧版本。本发明能够降低灰度发布过程中的风险。

Description

一种灰度发布方法和装置
技术领域
本发明涉及灰度发布技术领域,尤其涉及一种灰度发布方法和装置。
背景技术
灰度发布是指在软件版本发布过程中,能够平滑过渡的一种发布方式。假设当前软件版本是A,新的软件版本是B,当用户通过客户端向服务器发送针对该软件的请求消息时,服务器控制一部分用户继续使用版本A,另一部分用户开始使用版本B;如果用户在使用版本B的过程中没有出现异常,则逐步将所有用户都迁移到版本B。
灰度发布可以保证整体系统的稳定。用户对软件的请求往往会有多种类型,如查询、更新、删除、上传、下载等,现有的灰度发布方法对用户的请求消息不加区分,导致灰度发布的风险较大。
发明内容
本发明提供了一种灰度发布方法和装置,能够降低灰度发布的风险。
本发明的技术方案是这样实现的:
一种灰度发布方法,包括:
A、预先保存灰度发布顺序表,所述灰度发布顺序表包括不同类型请求消息的灰度发布顺序以及允许发布新版本软件的请求消息类型;
B、接收用户对软件的请求消息,根据该请求消息的类型查找所述灰度发布顺序表,当所述请求消息的类型为允许发布新版本软件的请求消息类型时,控制该请求消息访问所述软件的新版本;否则,控制该请求消息访问所述软件的旧版本。
一种灰度发布装置,包括:
存储模块,用于保存灰度发布顺序表,所述灰度发布顺序表包括不同类型请求消息的灰度发布顺序以及允许发布新版本软件的请求消息类型;
灰度发布控制模块,用于接收用户对软件的请求消息,根据该请求消息的类型查找所述灰度发布顺序表,当所述请求消息的类型为允许发布新版本软件的请求消息类型时,控制该请求消息访问所述软件的新版本;否则,控制该请求消息访问所述软件的旧版本。
可见,本发明提出的灰度发布方法和装置,在灰度发布过程中对用户不同类型的请求消息加以区分,先对部分允许发布软件新版本的请求消息进行灰度发布,从而降低灰度发布过程中的风险。
附图说明
图1为本发明提出的灰度发布方法流程图;
图2为本发明第一种灰度发布实现方式的流程图;
图3为本发明第二种灰度发布实现方式的流程图。
具体实施方式
本发明提出一种灰度发布方法,如图1为本发明提出的灰度发布方法流程图,包括:
步骤101:预先保存灰度发布顺序表,所述灰度发布顺序表包括不同类型请求消息的灰度发布顺序以及允许发布新版本软件的请求消息类型;
步骤102:接收用户对软件的请求消息,根据该请求消息的类型查找所述灰度发布顺序表,当所述请求消息的类型为允许发布新版本软件的请求消息类型时,控制该请求消息访问所述软件的新版本;否则,控制该请求消息访问所述软件的旧版本。
步骤102之后,可以进一步包括:
步骤103:针对一种请求消息类型,当该类型的请求消息访问软件新版本的数量大于预先设定的门限值、并且访问过程没有出现异常时,按照所述灰度发布顺序表中不同类型请求消息的灰度发布顺序,将所述类型之后的类型设置为允许发布新版本软件的请求消息类型;继续执行步骤102。
通过上述过程,可以对来自用户的不同类型的请求消息加以区分,首先针对部分类型的请求消息发布软件的新版本,之后逐步扩大到对所有类型的请求消息发布软件的新版本。
此外,本发明还可以与现有技术中以用户号码为标准的灰度发布控制策略相结合。当用户的号码为允许发布新版本的号码、并且该用户的请求消息类型为允许发布新版本的类型时,控制该请求消息访问软件的新版本;否则,控制该请求消息访问软件的旧版本。
具体实现方式可以为:
上述步骤102中,当请求消息的类型为允许发布新版本软件的请求消息类型时,在控制请求消息访问软件的新版本之前,进一步包括:判断所述用户是否为允许发布新版本软件的用户,如果是,则继续执行所述控制请求消息访问软件的新版本的步骤;否则,控制该请求消息访问所述软件的旧版本。如图2为本发明第一种灰度发布实现方式的流程图。
或者,上述步骤102中,在接收用户对软件的请求消息之后,并在根据该请求消息的类型查找灰度发布顺序表之前,进一步包括:判断所述用户是否为允许发布新版本软件的用户,如果是,则继续执行所述根据请求消息类型查找灰度发布顺序表的步骤;否则,控制该请求消息访问所述软件的旧版本。如图3为本发明第二种灰度发布实现方式的流程图。
此外,上述过程中,判断用户是否为允许发布新版本软件的用户的方式可以为:
判断用户的号码是否属于允许发布新版本软件的用户号码段;
或者,判断用户的号码是否为允许发布新版本软件的测试用户号码。这种方式可以将灰度发布的控制粒度减小到单个用户,从而进一步降低灰度发布的风险。
以下举具体的实施例对本发明做详细介绍。在以下的实施例中,需要进行新版本软件发布的服务器称为实际服务器,由中间层的代理转发服务器实现该软件的灰度发布。
实施例一:
本实施例依据用户请求消息的类型进行灰度发布。在本实施例中,代理转发服务器预先保存灰度发布顺序表,灰度发布顺序表中包括不同类型请求消息的灰度发布顺序、以及允许发布新版本软件的请求消息类型。如下表1为本实施例中的灰度发布顺序表示例,在该表中,按照灰度发布顺序,请求消息的类型从前到后依次为:查询、下载、更新、删除和上传;在初始状态下,允许发布新版本软件的请求消息为查询请求消息。
请求消息类型 是否允许发布新版本软件
查询
下载
更新
删除
上传
表1
以下为实施例一的实现流程。
步骤401:代理转发服务器接收来自用户A的查询请求消息,查找表1,发现查询请求消息为允许发布新版本软件的请求消息,则控制用户A的查询请求消息访问实际服务器中的新版本软件。
步骤402:代理转发服务器接收来自用户B的下载请求消息,查找表1,发现下载请求消息为不允许发布新版本软件的请求消息,则控制用户B的下载请求消息访问实际服务器中的旧版本软件。
步骤403:经过对多个用户请求消息的处理之后,代理转发服务器统计出采用查询请求消息访问新版本软件的用户数量大于预先设定的门限值(假定门限值为1000)、并且访问过程没有出现异常,这种情况下,代理转发服务器可以扩大请求消息的灰度发布范围,将“查询”类型之后的一种、多种或全部类型设置为允许发布新版本软件的类型。例如,将表1修改为下表2,在表2中,允许发布新版本软件的请求消息类型范围扩大至“查询”、“下载”和“更新”。
请求消息类型 是否允许发布新版本软件
查询
下载
更新
删除
上传
表2
步骤404:代理转发服务器接收来自用户C的下载请求消息,查找表2,发现下载请求消息为允许发布新版本软件的请求消息,则控制用户C的下载请求消息访问实际服务器中的新版本软件。
步骤405:代理转发服务器接收来自用户D的删除请求消息,查找表2,发现删除请求消息为不允许发布新版本软件的请求消息,则控制用户D的删除请求消息访问实际服务器中的旧版本软件。
代理转发服务器继续对来自不同用户的请求消息进行处理,直至将允许发布新版本软件的请求消息类型扩展到所有类型。
实施例二:
本实施例依据用户请求消息的类型和用户号码进行灰度发布,在本实施例中,首先根据用户请求消息的类型判断是否发布新版本软件,之后根据用户号码判断是否发布新版本软件。在本实施例中,代理转发服务器预先保存的灰度发布顺序表与实施例一中的表1相同;本实施例首先对部分测试号码(如“101”、“111”、“121”、“131”、“141”、“151”、“161”、“171”、“181”、“191”)进行灰度发布,之后扩大到号码段(如“100”~“199”),最终扩大到所有用户。
以下为实施例二的实现流程。
步骤501:代理转发服务器接收来自用户A的查询请求消息,用户A的号码为“111”。首先查找表1,发现查询请求消息为允许发布新版本软件的请求消息;之后判断出用户A的号码为预先设定的测试号码,则控制用户A的查询请求消息访问实际服务器中的新版本软件。
步骤502:代理转发服务器接收来自用户B的查询请求消息,用户B的号码为“188”。首先查找表1,发现查询请求消息为允许发布新版本软件的请求消息;之后判断出用户B的号码不是预先设定的测试号码,则控制用户B的查询请求消息访问实际服务器中的旧版本软件。
步骤503:经过对多个用户请求消息的处理之后,代理转发服务器统计出所有测试号码均已采用查询请求消息访问过新版本软件,并且访问过程没有出现异常。这种情况下,代理转发服务器将允许采用查询请求消息访问新版本软件的用户号码扩大至号码段“100”~“199”。
步骤504:代理服务器继续接收用户的请求消息,当统计出采用查询请求消息访问过新版本软件的用户超过预先设定的门限值,并且访问过程没有出现异常时,将允许采用查询请求消息访问新版本软件的用户号码扩大至所有号码。
之后,针对其他类型的请求消息,代理服务器采用同样的流程进行灰度发布,直至将新版本软件的发布扩大至所有请求消息类型和所有用户号码。
实施例三:
本实施例依据用户请求消息的类型和用户号码进行灰度发布,在本实施例中,首先根据用户号码判断是否发布新版本软件,之后根据用户请求消息的类型判断是否发布新版本软件。本实施例与实施例二类似,二者的不同点仅在于判断的顺序,在此不赘。
综上可见,本发明提出的灰度发布方法和系统,通过采用请求消息类型、单个用户、用户号码段等多层次细粒度的灰度发布控制策略,能够降低服务器端软件新版本的灰度发布风险。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

Claims (10)

1.一种灰度发布方法,其特征在于,所述方法包括:
A、预先保存灰度发布顺序表,所述灰度发布顺序表包括不同类型请求消息的灰度发布顺序以及允许发布新版本软件的请求消息类型;
B、接收用户对软件的请求消息,根据该请求消息的类型查找所述灰度发布顺序表,当所述请求消息的类型为允许发布新版本软件的请求消息类型时,控制该请求消息访问所述软件的新版本;否则,控制该请求消息访问所述软件的旧版本。
2.根据权利要求1所述的方法,其特征在于,进一步包括:
C、针对一种允许发布新版本软件的请求消息类型,当采用该类型的请求消息访问软件新版本的用户数量大于预先设定的门限值、并且访问过程没有出现异常时,按照所述灰度发布顺序表中不同类型请求消息的灰度发布顺序,将所述允许发布新版本软件的请求消息类型之后的类型设置为允许发布新版本软件的请求消息类型。
3.根据权利要求1所述的方法,其特征在于,当请求消息的类型为允许发布新版本软件的请求消息类型时,在所述控制请求消息访问软件的新版本之前,进一步包括:
判断所述用户是否为允许发布新版本软件的用户,如果是,则继续执行所述控制请求消息访问软件的新版本的步骤;否则,控制该请求消息访问所述软件的旧版本。
4.根据权利要求1所述的方法,其特征在于,在所述接收用户对软件的请求消息之后,并在根据该请求消息的类型查找灰度发布顺序表之前,进一步包括:
判断所述用户是否为允许发布新版本软件的用户,如果是,则继续执行所述根据请求消息的类型查找灰度发布顺序表的步骤;否则,控制该请求消息访问所述软件的旧版本。
5.根据权利要求3或4所述的方法,其特征在于,所述判断用户是否为允许发布新版本软件的用户的方式为:
判断所述用户的号码是否为允许发布新版本软件的用户号码,或者,判断所述用户的号码是否属于允许发布新版本软件的用户号码段。
6.一种灰度发布装置,其特征在于,所述装置包括:
存储模块,用于保存灰度发布顺序表,所述灰度发布顺序表包括不同类型请求消息的灰度发布顺序以及允许发布新版本软件的请求消息类型;
灰度发布控制模块,用于接收用户对软件的请求消息,根据该请求消息的类型查找所述灰度发布顺序表,当所述请求消息的类型为允许发布新版本软件的请求消息类型时,控制该请求消息访问所述软件的新版本;否则,控制该请求消息访问所述软件的旧版本。
7.根据权利要求6所述的装置,其特征在于,所述灰度发布控制模块还用于,针对一种允许发布新版本软件的请求消息类型,当采用该类型的请求消息访问软件新版本的用户数量大于预先设定的门限值、并且访问过程没有出现异常时,对存储模块保存的灰度发布顺序表进行如下修改:按照所述灰度发布顺序表中不同类型请求消息的灰度发布顺序,将所述允许发布新版本软件的请求消息类型之后的类型设置为允许发布新版本软件的请求消息类型。
8.根据权利要求6所述的装置,其特征在于,所述灰度发布控制模块还用于,当请求消息的类型为允许发布新版本软件的请求消息类型时,在控制请求消息访问软件的新版本之前进一步判断所述用户是否为允许发布新版本软件的用户,如果是,则控制请求消息访问软件的新版本;否则,控制该请求消息访问所述软件的旧版本。
9.根据权利要求6所述的装置,其特征在于,所述灰度发布控制模块还用于,在接收用户对软件的请求消息之后,判断所述用户是否为允许发布新版本软件的用户,如果是,则根据该请求消息类型查找灰度发布顺序表;否则,控制该请求消息访问所述软件的旧版本。
10.根据权利要求8或9所述的装置,其特征在于,所述灰度发布控制模块判断用户是否为允许发布新版本软件的用户的方式为:
判断所述用户的号码是否为允许发布新版本软件的用户号码,或者,判断所述用户的号码是否属于允许发布新版本软件的用户号码段。
CN201110419963.1A 2011-12-15 2011-12-15 一种灰度发布方法和装置 Active CN103164202B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201110419963.1A CN103164202B (zh) 2011-12-15 2011-12-15 一种灰度发布方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110419963.1A CN103164202B (zh) 2011-12-15 2011-12-15 一种灰度发布方法和装置

Publications (2)

Publication Number Publication Date
CN103164202A CN103164202A (zh) 2013-06-19
CN103164202B true CN103164202B (zh) 2016-02-03

Family

ID=48587327

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110419963.1A Active CN103164202B (zh) 2011-12-15 2011-12-15 一种灰度发布方法和装置

Country Status (1)

Country Link
CN (1) CN103164202B (zh)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105099988B (zh) * 2014-04-24 2018-11-27 阿里巴巴集团控股有限公司 用于支持灰度发布的方法、访问方法以及装置和系统
CN104317914B (zh) * 2014-10-28 2018-07-31 小米科技有限责任公司 数据获取方法和装置
CN105653440B (zh) * 2014-11-13 2018-10-26 阿里巴巴集团控股有限公司 一种灰度发布方法和装置
CN104503906A (zh) * 2014-12-15 2015-04-08 北京金和软件股份有限公司 一种app应用的新功能测试方法
CN106027581B (zh) * 2015-03-20 2019-12-10 中国移动通信集团河北有限公司 一种基于负载均衡实现灰度发布的方法及系统
CN106469076B (zh) * 2015-08-20 2019-10-11 阿里巴巴集团控股有限公司 一种灰度发布方法及装置
CN106487863B (zh) * 2015-09-02 2019-05-07 阿里巴巴集团控股有限公司 一种基于分布式系统的灰度发布方法、客户端及平台
CN105487884B (zh) * 2015-10-20 2019-02-01 华为技术有限公司 升级处理方法和相关设备
CN105955761A (zh) * 2016-06-30 2016-09-21 乐视控股(北京)有限公司 基于docker的灰度发布装置及方法
CN106549810A (zh) * 2016-11-24 2017-03-29 深圳市小满科技有限公司 云服务平台新版本发布前测试方法、装置以及系统
CN106649045A (zh) * 2016-12-30 2017-05-10 重庆腾帆科技有限公司 一种三方接口异常监控装置
CN107145347A (zh) * 2017-04-27 2017-09-08 努比亚技术有限公司 一种应用灰度发布方法、设备及存储介质
CN108156038B (zh) * 2017-12-29 2019-07-02 Oppo广东移动通信有限公司 请求分发方法、装置、接入网关及存储介质
CN108513144A (zh) * 2018-03-12 2018-09-07 四川合智聚云科技有限公司 一种基于iptv的epg灰度发布方法及其系统
CN108632085B (zh) * 2018-04-08 2021-05-04 深圳乐信软件技术有限公司 灰度用户管理方法、装置、平台及存储介质
CN109462706A (zh) * 2018-12-20 2019-03-12 中国银行股份有限公司 一种处理方法及装置
CN112865997B (zh) * 2019-11-28 2023-01-31 贵州白山云科技股份有限公司 一种内容发布方法、系统、设备及存储介质
CN111865683B (zh) * 2020-07-17 2023-07-14 北京百度网讯科技有限公司 虚拟网关版本灰度发布方法、装置、设备以及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1848986A (zh) * 2005-04-13 2006-10-18 华为技术有限公司 移动终端设备升级的方法及系统
CN101909084A (zh) * 2010-07-28 2010-12-08 中兴通讯股份有限公司 终端软件升级的方法、系统和业务平台系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10656931B2 (en) * 2009-05-26 2020-05-19 Comcast Cable Communications, Llc Network event triggered software updates

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1848986A (zh) * 2005-04-13 2006-10-18 华为技术有限公司 移动终端设备升级的方法及系统
CN101909084A (zh) * 2010-07-28 2010-12-08 中兴通讯股份有限公司 终端软件升级的方法、系统和业务平台系统

Also Published As

Publication number Publication date
CN103164202A (zh) 2013-06-19

Similar Documents

Publication Publication Date Title
CN103164202B (zh) 一种灰度发布方法和装置
CN101350030B (zh) 用于缓存数据的方法及装置
CN102779132A (zh) 数据更新方法、系统及数据库服务器
KR102112085B1 (ko) 분산 트랜잭션 자원을 집행하기 위한 방법, 장치 및 시스템
CN104284201A (zh) 一种视频内容的处理方法和装置
JP2008090195A5 (zh)
CN105635196A (zh) 一种获取文件数据的方法、系统和应用服务器
EP2366167A4 (en) MOBILE ADVERTISING OPTIMIZATION ARCHITECTURE
CN104331492B (zh) 一种缓存多实例数据的方法及装置
CN102739720A (zh) 分布式缓存服务器系统及其应用方法、缓存客户端、缓存服务端
CN107451020B (zh) 一种ab测试系统及测试方法
CN104050249A (zh) 分布式查询引擎系统和方法及元数据服务器
CN103067258B (zh) 一种消息超时检测处理方法
CN104537013A (zh) 一种处理数据的方法和装置
WO2010005769A4 (en) System and method of regulating the download of data files from a server to a client device
CN102521252A (zh) 一种远程数据的访问方法
US20130297969A1 (en) File management method and apparatus for hybrid storage system
CN106777311A (zh) 航班舱位状态缓存方法和系统
EP1871112A3 (en) Base station, video distribution system, and distribution control method
CN102546823A (zh) 一种云存储系统的文件存储管理系统
CN105095495A (zh) 一种分布式文件系统缓存管理方法和系统
CN103916437A (zh) 文件发布系统、装置及方法
CN110750289B (zh) 一种分布式系统的灰度切换状态保持方法
US20160110285A1 (en) Method of controlling data writing to persistent storage device
CN102760137A (zh) 分布式全文检索方法以及系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant