CN111538527A - 一种灰度发布的验证方法、装置、电子设备和存储介质 - Google Patents
一种灰度发布的验证方法、装置、电子设备和存储介质 Download PDFInfo
- Publication number
- CN111538527A CN111538527A CN202010240274.3A CN202010240274A CN111538527A CN 111538527 A CN111538527 A CN 111538527A CN 202010240274 A CN202010240274 A CN 202010240274A CN 111538527 A CN111538527 A CN 111538527A
- Authority
- CN
- China
- Prior art keywords
- domain name
- gray
- client
- page
- production
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Computer Security & Cryptography (AREA)
- Computer And Data Communications (AREA)
Abstract
本申请涉及过程优化,公开了一种灰度发布的验证方法、装置、电子设备和存储介质,所述方法包括:接收客户端发送的第一HTTP请求,所述第一HTTP请求携带第一域名和灰度字段,所述第一HTTP请求是所述客户端的灰度开关参数为第一灰度开关参数时所述客户端发送的,所述第一域名包括以下一种:第一灰度域名或第一生产域名,所述第一灰度域名为第一页面的新版本所对应的域名,所述第一生产域名为第一页面的旧版本所对应的域名;检测所述灰度字段是否为预设灰度字段;若是,则根据所述第一域名确定第一灰度页面;向所述客户端下发所述第一灰度页面。实施本申请实施例,实现准确确定无鉴权参数场景下进行灰度发布的客户端。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种灰度发布的验证方法、装置、电子设备和存储介质。
背景技术
灰度发布,即让一部分用户继续体验产品特性A,一部分用户开始体验产品特性B,若体验产品特性B的这部分用户反馈回来的数据无需要改进的地方,则让所有的用户开始体验产品特性B。通过灰度发布可以提前获得用户的使用反馈,并可以根据反馈结果,进行查漏补缺,补充完善产品不足。
在现有的H5页面灰度发布过程中,需要将大量的手机号加入白名单中,并采用基于用户唯一鉴权参数securityToken解析白名单的方式确定进行灰度发布的客户端。但是这种方式不适用于无鉴权参数的场景,导致无法准确的确定该场景下进行灰度发布的客户端。
发明内容
本申请实施例提供了一种灰度发布的验证方法、装置、电子设备和存储介质,实施本申请实施例,实现准确确定无鉴权参数场景下进行灰度发布的客户端。
本申请第一方面提供了一种灰度发布的验证方法,包括:
接收客户端发送的第一HTTP请求,所述第一HTTP请求携带第一域名和灰度字段,所述第一HTTP请求是所述客户端的灰度开关参数为第一灰度开关参数时所述客户端发送的,所述第一域名包括以下一种:第一灰度域名或第一生产域名,所述第一灰度域名为第一页面的新版本所对应的域名,所述第一生产域名为所述第一页面的旧版本所对应的域名;
检测所述灰度字段是否为预设灰度字段;
若是,则根据所述第一域名确定第一灰度页面,所述第一灰度页面为所述第一页面的新版本;
向所述客户端下发所述第一灰度页面。
本申请第二方面提供了一种灰度发布的验证装置,包括:
收发模块,用于接收客户端发送的第一HTTP请求,所述第一HTTP请求携带第一域名和灰度字段,所述第一HTTP请求是所述客户端的灰度开关参数为第一灰度开关参数时所述客户端发送的,所述第一域名包括以下一种:第一灰度域名或第一生产域名,所述第一灰度域名为第一页面的新版本所对应的域名,所述第一生产域名为所述第一页面的旧版本所对应的域名;
处理模块,用于检测所述灰度字段是否为预设灰度字段;
所述处理模块,还用于若是,则根据所述第一域名确定第一灰度页面,所述第一灰度页面为所述第一页面的新版本;
所述收发模块,还用于向所述客户端下发所述第一灰度页面。
本申请第三方面提供了一种灰度发布的验证的电子设备,包括处理器、存储器、通信接口以及一个或多个程序,其中,所述一个或多个程序被存储在所述存储器中,并且被生成由所述处理器执行,以执行一种灰度发布的验证方法任一项方法中的步骤的指令。
本申请第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质用于存储计算机程序,所述存储计算机程序被所述处理器执行,以实现一种灰度发布的验证方法任一项所述的方法。
可以看出,上述技术方案中,接收客户端发送的第一HTTP请求,所述第一HTTP请求携带第一域名和灰度字段,所述第一HTTP请求是所述客户端的灰度开关参数为第一灰度开关参数时所述客户端发送的,所述第一域名包括以下一种:第一灰度域名或第一生产域名,所述第一灰度域名为第一页面的新版本所对应的域名,所述第一生产域名为所述第一页面的旧版本所对应的域名;检测所述灰度字段是否为预设灰度字段;若是,则根据所述第一域名确定第一灰度页面,所述第一灰度页面为所述第一页面的新版本;向所述客户端下发所述第一灰度页面,通过检测HTTP请求携带的灰度字段是否为预设灰度字段,从而确定出可以进行灰度发布的客户端,避免了采用基于用户唯一鉴权参数securityToken解析白名单的方式确定进行灰度发布的客户端。同时,也实现了准确确定无鉴权参数场景下进行灰度发布的客户端。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
其中:
图1A为本申请实施例提供的一种灰度发布的验证方法的架构示意图;
图1B为本申请实施例提供的一种灰度发布的验证方法的流程示意图;
图1C为本申请实施例提供的一种请求报文结构示意图;
图2为本申请实施例提供的又一种灰度发布的验证方法的流程示意图;
图3为本申请实施例提供的一种灰度发布的验证装置的示意图;
图4为本申请的实施例涉及的硬件运行环境的服务器结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
以下分别进行详细说明。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
首先,参见图1A,图1A为本申请实施例提供的一种灰度发布的验证方法的架构示意图。如图1A所示,客户端10可以向服务端11发送携带第一域名和灰度字段的第一HTTP请求,服务端11在检测所述灰度字段为预设灰度字段时,可以根据所述第一域名确定第一灰度页面。进一步的,如图1A所示,页面资源12中包括多个生产页面,该多个生产页面中的每个生产页面互不相同。比如,该页面资源12中的第一生产页面,所述第一生产页面为第一页面的旧版本,进一步的,第一页面还可以为第一HTML5页面。比如,该页面资源12中的第二生产页面,所述第二生产页面为第二页面的旧版本,进一步的,第二页面还可以为第二HTML5页面。
其中,该页面资源12中包括多个灰度页面。其中,该多个灰度页面中的每个灰度页面互不相同。比如,该页面资源12中的第一灰度页面,所述第一灰度页面为所述第一页面的新版本。比如,该页面资源12中的第二灰度页面,所述第二灰度页面为所述第二页面的新版本。进一步的,所述第一页面的新版本是在所述第一页面的旧版本的基础上增加了一个或多个新功能,或更新了一个或多个新功能,或删除了一个或多个有缺陷的旧功能。所述第二页面的新版本是在所述第二页面的旧版本的基础上增加了一个或多个新功能,或更新了一个或多个新功能,或删除了一个或多个有缺陷的旧功能。
进一步的,客户端10可以向服务端11发送不同的HTTP请求,以访问不同的页面。比如,客户端10既可以访问不同的生产页面,也可以访问不同的灰度页面。比如,客户端10只能访问不同的生产页面。比如,客户端10只能访问不同的灰度页面。如图1A所示,服务端11向客户端10下发第一灰度页面。
参见图1B,图1B为本申请实施例提供的一种灰度发布的验证方法的流程示意图。如图1B所示,所述方法包括:
101、服务端接收客户端发送的第一HTTP请求,所述第一HTTP请求携带第一域名和灰度字段,所述第一HTTP请求是所述客户端的灰度开关参数为第一灰度开关参数时所述客户端发送的,所述第一域名包括以下一种:第一灰度域名或第一生产域名,所述第一灰度域名为第一页面的新版本所对应的域名,所述第一生产域名为所述第一页面的旧版本所对应的域名;
其中,所述第一HTTP请求对应的请求报文格式为:请求行-请求头-空行-请求体。具体可以参阅图1C,图1C为本申请实施例提供的一种请求报文结构示意图。如图1C所示,该请求报文结构包括:请求行request-line、请求头headers、空行blankline和请求体request-body。请求行包括请求方法Method、统一资源标识符Request-URL、和HTTP协议版本HTTP-Version。其中,HTTP协议版本例如可以包括以下一种:HTTP1.0或HTTP1.1。进一步的,请求方法与统一资源标识符之间采用空格隔开,统一资源标识符与HTTP协议版本之间采用空格隔开,在HTTP协议版本后还可以有回车符CR和换行符LF。请求头包括头部字段名、值。比如,Host:www.baidu.com,那么Host为头部字段名,www.baidu.com为值。头部字段名与值之间采用空格隔开,其空格为:。
进一步的,所述灰度字段位于所述第一HTTP请求的请求头。
其中,所述客户端的灰度开关参数包括on或off。所述第一灰度开关参数为on。
其中,所述第一灰度域名为第一页面的新版本的域名;所述第一生产域名为第一页面的旧版本的域名。进一步的,所述第一页面的新版本是在所述第一页面的旧版本的基础上增加了一个或多个新功能,或更新了一个或多个新功能,或删除了一个或多个有缺陷的旧功能。另外,域名(Domain Name),又称网域,是由一串用点分隔的名字组成的Internet上某一台计算机或计算机组的名称,用于在数据传输时对计算机的定位标识(有时也指地理位置)。
举例来说,所述第一灰度域名为http://www.diyihuidu.com;所述第一生产域名为http://www.diyishengchan.com。
102、服务端检测所述灰度字段是否为预设灰度字段;
其中,预设灰度字段为beta字段。
103、若是,服务端则根据所述第一域名确定第一灰度页面,所述第一灰度页面为所述第一页面的新版本;
104、服务端向所述客户端下发所述第一灰度页面。
可以看出,上述技术方案中,接收客户端发送的第一HTTP请求,所述第一HTTP请求携带第一域名和灰度字段,所述第一HTTP请求是所述客户端的灰度开关参数为第一灰度开关参数时所述客户端发送的,所述第一域名包括以下一种:第一灰度域名或第一生产域名,所述第一灰度域名为第一页面的新版本所对应的域名,所述第一生产域名为所述第一页面的旧版本所对应的域名;检测所述灰度字段是否为预设灰度字段;若是,则根据所述第一域名确定第一灰度页面;向所述客户端下发所述第一灰度页面,所述第一灰度页面为所述第一页面的新版本,通过检测HTTP请求携带的灰度字段是否为预设灰度字段,从而确定出可以进行灰度发布的客户端,避免了采用基于用户唯一鉴权参数securityToken解析白名单的方式确定进行灰度发布的客户端。同时,也实现了准确确定无鉴权参数场景下进行灰度发布的客户端。
可选的,在一种可能的实施方式中,所述根据所述第一域名确定第一灰度页面,包括:在所述第一域名为所述第一灰度域名时,解析所述第一灰度域名,以得到所述第一灰度域名对应的IP地址,根据所述第一灰度域名对应的IP地址确定所述第一灰度页面;在所述第一域名为所述第一生产域名时,根据所述第一生产域名对应的所述第一域名映射关系确定所述第一灰度域名,解析所述第一灰度域名,以得到所述第一灰度域名对应的IP地址,根据所述第一灰度域名对应的IP地址确定所述第一灰度页面。
其中,网际互连协议(internet protocol,IP)地址是TCP/IP体系中的网络层协议。
可以看出,上述技术方案中,在所述第一域名为所述第一灰度域名时,解析所述第一灰度域名,以得到所述第一灰度域名对应的IP地址,根据所述第一灰度域名对应的IP地址确定所述第一灰度页面;在所述第一域名为所述第一生产域名时,根据所述第一生产域名对应的所述第一域名映射关系确定所述第一灰度域名,解析所述第一灰度域名,以得到所述第一灰度域名对应的IP地址,根据所述第一灰度域名对应的IP地址确定所述第一灰度页面,实现了基于灰度域名或生产域名确定灰度页面。
可选的,在一种可能的实施方式中,所述方法还包括:向所述客户端发送灰度测试结束消息并取消所述客户端访问所述第一灰度页面的权限,所述灰度测试结束消息用于指示所述客户端将所述客户端的灰度开关参数调整为第二灰度开关参数或第一生产开关参数,所述第二灰度开关参数用于指示所述客户端发送所述第二HTTP请求,所述第二HTTP请求携带第二域名和所述灰度字段,所述第二域名包括以下一种:第二灰度域名或第二生产域名,所述第二灰度域名为第二页面的新版本所对应的域名,所述第二生产域名为第二页面的旧版本所对应的域名,所述第一生产开关参数用于指示所述客户端发送第三HTTP请求,所述第三HTTP请求携带所述第二域名且不携带所述灰度字段。
其中,所述灰度测试结束消息是在所述客户端访问所述第一灰度页面的访问次数为预设访问次数时发送的,所述预设访问次数由管理员设置,或配置在服务端的配置文件中。
其中,所述第二灰度开关参数为off,所述第一生产开关参数为off。即,所述客户端可以将所述客户端的灰度开关参数由on调整为off,也就是说,所述客户端可以将所述客户端的灰度开关参数由所述第一灰度开关参数调整为off。进一步的,如果所述客户端的灰度开关参数包括所述第一灰度开关参数和所述第二灰度开关参数,那么,在所述客户端的灰度开关参数为所述第二灰度开关参数时,所述客户端向服务端发送所述第二HTTP请求。如果所述客户端的灰度开关参数包括所述第一灰度开关参数和所述第一生产开关参数,那么,在所述客户端的灰度开关参数为所述第一生产开关参数时,所述客户端向服务端发送所述第三HTTP请求。
进一步的,所述第二页面的新版本是在所述第二页面的旧版本的基础上增加了一个或多个新功能,或更新了一个或多个新功能,或删除了一个或多个有缺陷的旧功能。
可以看出,上述技术方案中,实现了在客户端灰度测试结束时,提示客户端调整客户端的灰度开关参数,并取消客户端访问已测试结束的灰度页面的权限,避免同一客户端反复测试,导致测试数据单一的问题。
可选的,在一种可能的实施方式中,所述方法还包括:接收所述客户端发送的所述第二HTTP请求,所述第二灰度域名对应的灰度标识不同于所述第一灰度标识;根据所述第二域名和所述灰度字段确定第二灰度页面;向所述客户端下发所述第二灰度页面。
其中,所述根据所述第二域名和所述灰度字段确定第二灰度页面,包括在所述第二域名为所述第二灰度域名时,解析所述第二灰度域名,以得到所述第二灰度域名对应的IP地址,根据所述第二灰度域名对应的IP地址确定所述第二灰度页面;在所述第二域名为所述第二生产域名时,根据所述第二生产域名对应的第二域名映射关系确定所述第二灰度域名,解析所述第二灰度域名,以得到所述第二灰度域名对应的IP地址,根据所述第二灰度域名对应的IP地址确定所述第二灰度页面。
可以看出,上述技术方案中,实现准确确定无鉴权参数场景下进行灰度发布的客户端,也实现了在客户端的灰度开关参数由on调整为off,同一客户端可以访问另一灰度页面,提高了测试效率。
可选的,在一种可能的实施方式中,所述方法还包括:接收所述客户端发送的所述第三HTTP请求;根据所述第二域名确定第二生产页面;向所述客户端下发所述第二生产页面。
其中,在所述第二域名为所述第二灰度域名时,根据所述第二灰度域名对应的所述第二域名映射关系确定所述第二生产域名,解析所述第二生产域名,以得到所述第二生产域名对应的IP地址,根据所述第二生产域名对应的IP地址确定第二生产页面;在所述第二域名为所述第一生产域名时,解析所述第二生产域名,以得到所述第二生产域名对应的IP地址,根据所述第一生产域名对应的IP地址确定所述第二生产页面。
可以看出,上述技术方案中,实现了在客户端的灰度开关参数由on调整为off时,同一客户端访问生产页面。
可选的,在一种可能的实施方式中,所述方法还包括:
若否,在所述第一域名为所述第一灰度域名时,根据所述第一灰度域名对应的所述第一域名映射关系确定所述第一生产域名,解析所述第一生产域名,以得到所述第一生产域名对应的IP地址,根据所述第一生产域名对应的IP地址确定第一生产页面,向所述客户端下发所述第一生产页面;在所述第一域名为所述第一生产域名时,解析所述第一生产域名,以得到所述第一生产域名对应的IP地址,根据所述第一生产域名对应的IP地址确定所述第一生产页面,向所述客户端下发所述第一生产页面,所述第一生产页面为所述第一页面的旧版本。
可以看出,上述技术方案中,实现了在灰度字段不是预设灰度字段时,向客户端发送生产页面。
参见图2,图2为本申请实施例提供的一种灰度发布的验证方法的流程示意图。其中,如图2所示,在所述接收客户端发送的第一HTTP请求之前,所述方法还包括:
201、接收所述客户端发送的灰度域名请求,所述灰度域名请求携带第一灰度标识;
其中,所述第一灰度标识用于标识所述第一灰度页面。
202、获取与所述第一灰度标识对应的域名映射关系,以得到第一域名映射关系,所述第一域名映射关系为所述第一灰度域名与所述第一生产域名之间的映射关系;
可选的,在一种可能的实施方式中,在所述获取与所述第一灰度标识对应的域名映射关系之前,所述方法还包括:获取所述第一灰度域名与所述第一生产域名;构建所述第一灰度域名与所述第一生产域名之间的映射关系,以得到所述第一域名映射关系;关联存储所述第一域名映射关系与所述第一灰度标识。
可以看出,上述技术方案中,实现了构建灰度域名与生产域名之间的映射关系,同时关联存储域名映射关系与灰度标识,为后续基于灰度标识获取域名映射关系做准备。
203、向所述客户端发送的灰度域名响应,所述灰度域名响应携带所述第一域名映射关系。
可以看出,上述技术方案中,接收所述客户端发送的灰度域名请求,所述灰度域名请求携带第一灰度标识;获取与所述第一灰度标识对应的域名映射关系,以得到第一域名映射关系,所述第一域名映射关系为所述第一灰度域名与所述第一生产域名之间的映射关系;向所述客户端发送的灰度域名响应,所述灰度域名响应携带所述第一域名映射关系,实现了将域名映射关系同步至客户端,以为后续访问灰度页面做准备。
参见图3,图3为本申请实施例提供的一种灰度发布的验证装置的示意图。其中,如图3所示,本申请实施例提供的一种灰度发布的验证装置300可以包括:
收发模块301,用于接收客户端发送的第一HTTP请求,所述第一HTTP请求携带第一域名和灰度字段,所述第一HTTP请求是所述客户端的灰度开关参数为第一灰度开关参数时所述客户端发送的,所述第一域名包括以下一种:第一灰度域名或第一生产域名,所述第一灰度域名为第一页面的新版本所对应的域名,所述第一生产域名为所述第一页面的旧版本所对应的域名;
处理模块302,用于检测所述灰度字段是否为预设灰度字段;
所述处理模块302,还用于若是,则根据所述第一域名确定第一灰度页面,所述第一灰度页面为所述第一页面的新版本;
所述收发模块301,还用于向所述客户端下发所述第一灰度页面。
可选的,在一种可能的实施方式中,所述收发模块301,还用于接收所述客户端发送的灰度域名请求,所述灰度域名请求携带第一灰度标识;所述处理模块302,还用于获取与所述第一灰度标识对应的域名映射关系,以得到第一域名映射关系,所述第一域名映射关系为所述第一灰度域名与所述第一生产域名之间的映射关系;所述收发模块301,还用于向所述客户端发送的灰度域名响应,所述灰度域名响应携带所述第一域名映射关系。
可选的,在一种可能的实施方式中,所述验证装置还包括存储模块303,所述处理模块302,还用于获取所述第一灰度域名与所述第一生产域名;构建所述第一灰度域名与所述第一生产域名之间的映射关系,以得到所述第一域名映射关系;所述存储模块303,用于关联存储所述第一域名映射关系与所述第一灰度标识。
可选的,在一种可能的实施方式中,所述处理模块302,具体用于在所述第一域名为所述第一灰度域名时,解析所述第一灰度域名,以得到所述第一灰度域名对应的IP地址,根据所述第一灰度域名对应的IP地址确定所述第一灰度页面;在所述第一域名为所述第一生产域名时,根据所述第一生产域名对应的所述第一域名映射关系确定所述第一灰度域名,解析所述第一灰度域名,以得到所述第一灰度域名对应的IP地址,根据所述第一灰度域名对应的IP地址确定所述第一灰度页面。
可选的,在一种可能的实施方式中,所述收发模块301,还用于向所述客户端发送灰度测试结束消息,所述灰度测试结束消息用于指示所述客户端将所述客户端的灰度开关参数调整为第二灰度开关参数或第一生产开关参数,所述第二灰度开关参数用于指示所述客户端发送所述第二HTTP请求,所述第二HTTP请求携带第二域名和所述灰度字段,所述第二域名包括以下一种:第二灰度域名或第二生产域名,所述第一生产开关参数用于指示所述客户端发送第三HTTP请求,所述第三HTTP请求携带所述第二域名且不携带所述灰度字段;所述处理模块302,还用于取消所述客户端访问所述第一灰度页面的权限。
可选的,在一种可能的实施方式中,所述收发模块301,还用于接收所述客户端发送的所述第二HTTP请求;所述处理模块302,还用于根据所述第二域名和所述灰度字段确定第二灰度页面;所述收发模块301,还用于向所述客户端下发所述第二灰度页面。
可选的,在一种可能的实施方式中,所述处理模块302,还用于若否,在所述第一域名为所述第一灰度域名时,根据所述第一灰度域名对应的所述第一域名映射关系确定所述第一生产域名,解析所述第一生产域名,以得到所述第一生产域名对应的IP地址,根据所述第一生产域名对应的IP地址确定第一生产页面,向所述客户端下发所述第一生产页面;在所述第一域名为所述第一生产域名时,解析所述第一生产域名,以得到所述第一生产域名对应的IP地址,根据所述第一生产域名对应的IP地址确定所述第一生产页面,向所述客户端下发所述第一生产页面。
参见图4,图4为本申请的实施例涉及的硬件运行环境的服务器结构示意图。
本申请实施例提供了一种灰度发布的验证的电子设备,包括处理器、存储器、通信接口以及一个或多个程序,其中,所述一个或多个程序被存储在所述存储器中,并且被配置由所述处理器执行,以执行包括任一项灰度发布的验证方法中的步骤的指令。其中,如图4所示,本申请的实施例涉及的硬件运行环境的服务器可以包括:
处理器401,例如CPU。
存储器402,可选的,存储器可以为高速RAM存储器,也可以是稳定的存储器,例如磁盘存储器。
通信接口403,用于实现处理器401和存储器402之间的连接通信。
本领域技术人员可以理解,图4中示出的服务器的结构并不构成对其的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图4所示,存储器402中可以包括操作系统、网络通信模块以及灰度发布的验证的程序。操作系统是管理和控制服务器硬件和软件资源的程序,支持一个或多个程序的运行。网络通信模块用于实现存储器402内部各组件之间的通信,以及与服务器内部其他硬件和软件之间通信。
在图4所示的服务器中,处理器401用于执行存储器402中存储的人员管理的程序,实现以下步骤:接收客户端发送的第一HTTP请求,所述第一HTTP请求携带第一域名和灰度字段,所述第一HTTP请求是所述客户端的灰度开关参数为第一灰度开关参数时所述客户端发送的,所述第一域名包括以下一种:第一灰度域名或第一生产域名,所述第一灰度域名为第一页面的新版本所对应的域名,所述第一生产域名为所述第一页面的旧版本所对应的域名;检测所述灰度字段是否为预设灰度字段;若是,则根据所述第一域名确定第一灰度页面,所述第一灰度页面为所述第一页面的新版本;向所述客户端下发所述第一灰度页面。
本申请涉及的服务器的具体实施可参见上述灰度发布的验证方法的各实施例,在此不做赘述。
本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质用于存储计算机程序,所述存储计算机程序被所述处理器执行,以实现以下步骤:接收客户端发送的第一HTTP请求,所述第一HTTP请求携带第一域名和灰度字段,所述第一HTTP请求是所述客户端的灰度开关参数为第一灰度开关参数时所述客户端发送的,所述第一域名包括以下一种:第一灰度域名或第一生产域名,所述第一灰度域名为第一页面的新版本所对应的域名,所述第一生产域名为所述第一页面的旧版本所对应的域名;检测所述灰度字段是否为预设灰度字段;若是,则根据所述第一域名确定第一灰度页面,所述第一灰度页面为所述第一页面的新版本;向所述客户端下发所述第一灰度页面。
本申请涉及的计算机可读存储介质的具体实施可参见上述灰度发布的验证方法的各实施例,在此不做赘述。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应所述知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应所述知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
Claims (10)
1.一种灰度发布的验证方法,其特征在于,包括:
接收客户端发送的第一HTTP请求,所述第一HTTP请求携带第一域名和灰度字段,所述第一HTTP请求是所述客户端的灰度开关参数为第一灰度开关参数时所述客户端发送的,所述第一域名包括以下一种:第一灰度域名或第一生产域名,所述第一灰度域名为第一页面的新版本所对应的域名,所述第一生产域名为所述第一页面的旧版本所对应的域名;
检测所述灰度字段是否为预设灰度字段;
若是,则根据所述第一域名确定第一灰度页面,所述第一灰度页面为所述第一页面的新版本;
向所述客户端下发所述第一灰度页面。
2.根据权利要求1所述的方法,其特征在于,在所述接收客户端发送的第一HTTP请求之前,所述方法还包括:
接收所述客户端发送的灰度域名请求,所述灰度域名请求携带第一灰度标识;
获取与所述第一灰度标识对应的域名映射关系,以得到第一域名映射关系,所述第一域名映射关系为所述第一灰度域名与所述第一生产域名之间的映射关系;
向所述客户端发送的灰度域名响应,所述灰度域名响应携带所述第一域名映射关系。
3.根据权利要求1或2所述的方法,其特征在于,所述根据所述第一域名确定第一灰度页面,包括:
在所述第一域名为所述第一灰度域名时,解析所述第一灰度域名,以得到所述第一灰度域名对应的IP地址,根据所述第一灰度域名对应的IP地址确定所述第一灰度页面;
在所述第一域名为所述第一生产域名时,根据所述第一生产域名对应的所述第一域名映射关系确定所述第一灰度域名,解析所述第一灰度域名,以得到所述第一灰度域名对应的IP地址,根据所述第一灰度域名对应的IP地址确定所述第一灰度页面。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
向所述客户端发送灰度测试结束消息并取消所述客户端访问所述第一灰度页面的权限,所述灰度测试结束消息用于指示所述客户端将所述客户端的灰度开关参数调整为第二灰度开关参数或第一生产开关参数,所述第二灰度开关参数用于指示所述客户端发送所述第二HTTP请求,所述第二HTTP请求携带第二域名和所述灰度字段,所述第二域名包括以下一种:第二灰度域名或第二生产域名,所述第二灰度域名为第二页面的新版本所对应的域名,所述第二生产域名为第二页面的旧版本所对应的域名,所述第一生产开关参数用于指示所述客户端发送第三HTTP请求,所述第三HTTP请求携带所述第二域名且不携带所述灰度字段。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
接收所述客户端发送的所述第二HTTP请求;
根据所述第二域名和所述灰度字段确定第二灰度页面;
向所述客户端下发所述第二灰度页面。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若否,在所述第一域名为所述第一灰度域名时,根据所述第一灰度域名对应的所述第一域名映射关系确定所述第一生产域名,解析所述第一生产域名,以得到所述第一生产域名对应的IP地址,根据所述第一生产域名对应的IP地址确定第一生产页面,向所述客户端下发所述第一生产页面,所述第一生产页面为所述第一页面的旧版本;
在所述第一域名为所述第一生产域名时,解析所述第一生产域名,以得到所述第一生产域名对应的IP地址,根据所述第一生产域名对应的IP地址确定所述第一生产页面,向所述客户端下发所述第一生产页面。
7.一种灰度发布的验证装置,其特征在于,包括:
收发模块,用于接收客户端发送的第一HTTP请求,所述第一HTTP请求携带第一域名和灰度字段,所述第一HTTP请求是所述客户端的灰度开关参数为第一灰度开关参数时所述客户端发送的,所述第一域名包括以下一种:第一灰度域名或第一生产域名,所述第一灰度域名为第一页面的新版本所对应的域名,所述第一生产域名为所述第一页面的旧版本所对应的域名;
处理模块,用于检测所述灰度字段是否为预设灰度字段;
所述处理模块,还用于若是,则根据所述第一域名确定第一灰度页面,所述第一灰度页面为所述第一页面的新版本;
所述收发模块,还用于向所述客户端下发所述第一灰度页面。
8.根据权利要求7所述的装置,其特征在于,
所述收发模块,还用于接收所述客户端发送的灰度域名请求,所述灰度域名请求携带第一灰度标识;
所述处理模块,还用于获取与所述第一灰度标识对应的域名映射关系,以得到第一域名映射关系,所述第一域名映射关系为所述第一灰度域名与所述第一生产域名之间的映射关系;
所述收发模块,还用于向所述客户端发送的灰度域名响应,所述灰度域名响应携带所述第一域名映射关系。
9.一种灰度发布的验证的电子设备,其特征在于,包括处理器、存储器、通信接口以及一个或多个程序,其中,所述一个或多个程序被存储在所述存储器中,并且被生成由所述处理器执行,以执行权利要求1-7任一项方法中的步骤的指令。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质用于存储计算机程序,所述存储计算机程序被所述处理器执行,以实现权利要求1-7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010240274.3A CN111538527A (zh) | 2020-03-30 | 2020-03-30 | 一种灰度发布的验证方法、装置、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010240274.3A CN111538527A (zh) | 2020-03-30 | 2020-03-30 | 一种灰度发布的验证方法、装置、电子设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111538527A true CN111538527A (zh) | 2020-08-14 |
Family
ID=71976916
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010240274.3A Pending CN111538527A (zh) | 2020-03-30 | 2020-03-30 | 一种灰度发布的验证方法、装置、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111538527A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113946353A (zh) * | 2021-09-30 | 2022-01-18 | 北京五八信息技术有限公司 | 一种数据处理方法、装置、电子设备及存储介质 |
-
2020
- 2020-03-30 CN CN202010240274.3A patent/CN111538527A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113946353A (zh) * | 2021-09-30 | 2022-01-18 | 北京五八信息技术有限公司 | 一种数据处理方法、装置、电子设备及存储介质 |
CN113946353B (zh) * | 2021-09-30 | 2022-08-09 | 北京五八信息技术有限公司 | 一种数据处理方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3389219B1 (en) | Access request conversion method and device | |
CN108270882A (zh) | 域名的解析方法和装置、存储介质、电子装置 | |
CN109088909B (zh) | 一种基于商户类型的服务灰度发布方法及设备 | |
CN109586969A (zh) | 内容分发网络容灾方法、装置、计算机设备及存储介质 | |
CN111432045B (zh) | 一种域名系统服务器调度算法的测试方法、装置及设备 | |
KR20100108053A (ko) | Url을 이용한 분산 컨트롤 방법 및 장치 | |
CN103997479B (zh) | 一种非对称服务ip代理方法和设备 | |
CN112788031A (zh) | 基于Envoy架构的微服务接口认证系统、方法及装置 | |
CN109617966A (zh) | 一种基于Openstack的云管平台部署系统及方法 | |
CN108683631A (zh) | 一种防止扫描权限文件的方法和系统 | |
CN113467780A (zh) | 一种数据获取方法、装置、电子设备及存储介质 | |
CN108243265A (zh) | 一种dns解析处理方法及装置 | |
CN111538527A (zh) | 一种灰度发布的验证方法、装置、电子设备和存储介质 | |
CN113114503B (zh) | 基于应用交付网络需求的部署方法及装置 | |
CN109474484B (zh) | Cdn的检查方法及装置、系统 | |
EP2860637A1 (en) | Information processing system, method, and program | |
CN108737350B (zh) | 一种信息处理方法及客户端 | |
CN110636072A (zh) | 一种目标域名的调度方法、装置、设备及存储介质 | |
US20140047014A1 (en) | Network access system | |
CN107872493B (zh) | 一种信息处理方法、终端和服务器 | |
CN106357549B (zh) | 集群部署中高并发分流的方法、装置、系统及负载均衡器 | |
CN109347766A (zh) | 一种资源调度的方法及装置 | |
CN104754029A (zh) | 确定主管理服务器的方法、装置和系统 | |
CN107517162B (zh) | 一种cdn缓存服务器的确定方法及装置 | |
CN111478901B (zh) | 一种账号弱口令检测方法、装置、服务器及存储介质 |
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 |