CN108280237B - 一种灰度发布方法及装置、系统、计算机存储介质 - Google Patents
一种灰度发布方法及装置、系统、计算机存储介质 Download PDFInfo
- Publication number
- CN108280237B CN108280237B CN201810172786.3A CN201810172786A CN108280237B CN 108280237 B CN108280237 B CN 108280237B CN 201810172786 A CN201810172786 A CN 201810172786A CN 108280237 B CN108280237 B CN 108280237B
- Authority
- CN
- China
- Prior art keywords
- page
- gray
- parameter
- client
- request message
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 33
- 238000003860 storage Methods 0.000 title claims abstract description 11
- 230000006870 function Effects 0.000 claims description 87
- 235000014510 cooky Nutrition 0.000 claims description 18
- 238000009826 distribution Methods 0.000 claims description 8
- 238000010586 diagram Methods 0.000 description 13
- 238000004590 computer program Methods 0.000 description 7
- 238000012545 processing Methods 0.000 description 4
- 238000013459 approach Methods 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000005314 correlation function Methods 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000011990 functional testing Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 210000001503 joint Anatomy 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
- G06F16/9577—Optimising the visualization of content, e.g. distillation of HTML documents
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种灰度发布方法及装置、系统、计算机存储介质,所述方法包括:接收客户端发送的页面请求消息;确定所述页面请求消息中是否包括灰度参数;如果所述页面请求消息中包括灰度参数,则基于所述页面请求消息中的灰度参数确定是向所述客户端返回第一页面还是向所述客户端返回第二页面;如果所述页面请求消息中不包括灰度参数,则从数据库中获取灰度参数,并基于所述数据库中的灰度参数确定是向所述客户端返回第一页面还是向所述客户端返回第二页面;其中,所述灰度参数至少包括灰度开关参数,所述灰度开关参数用于控制目标功能是否处于开启状态,在所述第一页面上所述目标功能处于开启状态,在所述第二页面上所述目标功能处于关闭状态。
Description
技术领域
本发明涉及网页发布管理领域,尤其涉及一种灰度发布方法及装置、系统、计算机存储介质。
背景技术
随着电子商务的发展,企业间的竞争加剧,为了适应市场变化,提高用户体验,电商网站的版本发布越来越频繁。但快速推出的版本不一定会得到市场的认同,甚至会带来很大的风险。为了降低风险,业界开始使用灰度的方式来发布网站版本。
灰度发布是指一种能够在新旧功能之间平滑过渡的发布方式。让一部分用户继续使用原功能,另一部分用户开始用新功能,如果新功能稳定、用户反馈正面,那么就可以逐步扩大范围,最后把所有用户都迁移到新功能上面来。灰度发布可以保证整体系统的稳定,在初始灰度的时候就可以发现问题并调整。即使出现问题,也会把影响控制在最小范围内。
业界现有的灰度技术,大都采用开关切换的方式。开关开启,新功能暴露给用户,开关关闭,用户继续使用原有功能。企业内部人员和外部用户一样,都只能在开关开启后才能看到新功能,无法做到在开关关闭时,依然能访问新功能,导致功能测试受到阻碍。
发明内容
为解决上述技术问题,本发明实施例提供了一种灰度发布方法及装置、系统、计算机存储介质。
本发明实施例提供的灰度发布方法,包括:
接收客户端发送的页面请求消息;
确定所述页面请求消息中是否包括灰度参数;
如果所述页面请求消息中包括灰度参数,则基于所述页面请求消息中的灰度参数确定是向所述客户端返回第一页面还是向所述客户端返回第二页面;
如果所述页面请求消息中不包括灰度参数,则从数据库中获取灰度参数,并基于所述数据库中的灰度参数确定是向所述客户端返回第一页面还是向所述客户端返回第二页面;
其中,所述灰度参数至少包括灰度开关参数,所述灰度开关参数用于控制目标功能是否处于开启状态,在所述第一页面上所述目标功能处于开启状态,在所述第二页面上所述目标功能处于关闭状态。
本发明实施例中,所述页面请求消息中包括灰度开关变量,所述灰度开关变量从所述客户端的浏览器的Cookie中查找得到;
所述确定所述页面请求消息中是否包括灰度参数,包括:
从所述页面请求消息中提取灰度开关变量;
如果所述灰度开关变量的值为空,则确定所述页面请求消息中不包括灰度开关参数;
如果所述灰度开关变量的值为非空,则确定所述页面请求消息中包括灰度开关参数。
本发明实施例中,所述方法还包括:
获得第一设置操作,基于所述第一设置操作在所述客户端的浏览器的Cookie中设置所述灰度开关变量的值。
本发明实施例中,所述基于所述页面请求消息中的灰度参数确定是向所述客户端返回第一页面还是向所述客户端返回第二页面,包括:
如果所述页面请求消息中的灰度开关参数用于控制目标功能处于开启状态,则向所述客户端返回所述第一页面;
如果所述页面请求消息中的灰度开关参数用于控制目标功能处于关闭状态,则向所述客户端返回所述第二页面。
本发明实施例中,所述灰度参数还包括灰度范围参数;
所述基于所述数据库中的灰度参数确定是向所述客户端返回第一页面还是向所述客户端返回第二页面,包括:
基于所述数据库中的灰度范围参数确定所述客户端是否为所述灰度开关参数作用的目标客户端;
如果所述客户端是所述灰度开关参数作用的目标客户端,则基于所述数据库中的灰度开关参数确定是向所述客户端返回第一页面还是向所述客户端返回第二页面。
本发明实施例中,所述基于所述数据库中的灰度开关参数确定是向所述客户端返回第一页面还是向所述客户端返回第二页面,包括:
如果所述数据库中的灰度开关参数用于控制目标功能处于开启状态,则向所述客户端返回所述第一页面;
如果所述数据库中的灰度开关参数用于控制目标功能处于关闭状态,则向所述客户端返回所述第二页面。
本发明实施例中,所述方法还包括:
向所述客户端返回所述第一页面后,记录所述客户端与所述第一页面的对应关系,以使得再次接收到所述客户端发送的页面请求消息后,直接向所述客户端返回所述第一页面。
本发明实施例中,所述数据库中存储有至少一条灰度参数,每条灰度参数包括:灰度开关参数和灰度范围参数;
其中,不同的灰度开关参数用于控制不同的目标功能是否处于开启状态。
本发明实施例中,所述数据库中的灰度参数通过灰度控制系统进行配置。
本发明实施例提供的灰度发布装置,包括:
接收单元,用于接收客户端发送的页面请求消息;
确定单元,用于确定所述页面请求消息中是否包括灰度参数;
返回单元,用于如果所述页面请求消息中包括灰度参数,则基于所述页面请求消息中的灰度参数确定是向所述客户端返回第一页面还是向所述客户端返回第二页面;如果所述页面请求消息中不包括灰度参数,则从数据库中获取灰度参数,并基于所述数据库中的灰度参数确定是向所述客户端返回第一页面还是向所述客户端返回第二页面;
其中,所述灰度参数至少包括灰度开关参数,所述灰度开关参数用于控制目标功能是否处于开启状态,在所述第一页面上所述目标功能处于开启状态,在所述第二页面上所述目标功能处于关闭状态。
本发明实施例提供的灰度发布系统,包括:
客户端,用于向应用服务器发送页面请求消息;
应用系统,用于接收客户端发送的页面请求消息;确定所述页面请求消息中是否包括灰度参数;如果所述页面请求消息中包括灰度参数,则基于所述页面请求消息中的灰度参数确定是向所述客户端返回第一页面还是向所述客户端返回第二页面;如果所述页面请求消息中不包括灰度参数,则从数据库中获取灰度参数,并基于所述数据库中的灰度参数确定是向所述客户端返回第一页面还是向所述客户端返回第二页面;其中,所述灰度参数至少包括灰度开关参数,所述灰度开关参数用于控制目标功能是否处于开启状态,在所述第一页面上所述目标功能处于开启状态,在所述第二页面上所述目标功能处于关闭状态;
灰度控制系统,用于配置至少一条灰度参数,每条灰度参数包括:灰度开关参数和灰度范围参数;其中,不同的灰度开关参数用于控制不同的目标功能是否处于开启状态;将所述至少一条灰度参数存储在数据库中。
本发明实施例提供的计算机存储介质中存储有计算机可执行指令,该计算机可执行指令配置为执行上述的灰度发布方法。
本发明实施例的技术方案中,在灰度发布的时候,对企业内部人员和外部用户区别对待,对于企业内部人员,基于所述页面请求消息中的灰度参数确定是向所述客户端返回第一页面还是向所述客户端返回第二页面;对于外部用户,从数据库中获取灰度参数,并基于所述数据库中的灰度参数确定是向所述客户端返回第一页面还是向所述客户端返回第二页面。从而为企业内部的运营、测试人员提供一种访问新功能的新途径。
附图说明
附图以示例而非限制的方式大体示出了本文中所讨论的各个实施例。
图1为本发明实施例的灰度发布方法的流程示意图一;
图2为本发明实施例的灰度发布方法的流程示意图二;
图3为本发明实施例的灰度发布装置的结构组成示意图;
图4为本发明实施例的灰度发布系统的结构组成示意图。
具体实施方式
为了能够更加详尽地了解本发明实施例的特点与技术内容,下面结合附图对本发明实施例的实现进行详细阐述,所附附图仅供参考说明之用,并非用来限定本发明实施例。
图1为本发明实施例的灰度发布方法的流程示意图一,如图1所示,所述灰度发布方法包括以下步骤:
步骤101:接收客户端发送的页面请求消息。
本发明实施例中,主要涉及如下交互主体:客户端、应用系统、灰度控制系统,其中,客户端可以通过手机、平板电脑、笔记本电脑、台式机等设备实现;应用系统可以通过服务器或服务器集群来实现;灰度控制系统也可以通过服务器或服务器集群来实现。
这里,客户端的作用主要是接受用户的操作,并为用户展示相关的网页;应用系统的作用是与客户端进行交互,为客户端提供某个网站(也即应用)的页面。灰度控制系统的的作用是配置灰度参数,使得应用系统可以灵活的进行灰度发布。
在一实施方式中,客户端通过浏览器访问某个页面时,会在浏览器的Cookie中查找灰度开关变量,然后将查找到的灰度开关变量携带在页面请求消息中发送给应用系统。
步骤102:确定所述页面请求消息中是否包括灰度参数。
应用系统接收到页面请求消息后,从所述页面请求消息中提取灰度开关变量;如果所述灰度开关变量的值为空(null),则确定所述页面请求消息中不包括灰度开关参数;如果所述灰度开关变量的值为非空(非null),则确定所述页面请求消息中包括灰度开关参数。
这里,所述灰度参数至少包括灰度开关参数,所述灰度开关参数用于控制目标功能是否处于开启状态,在所述第一页面上所述目标功能处于开启状态,在所述第二页面上所述目标功能处于关闭状态。
应理解,所述第一页面为网页的新版本,所述第二页面为网页的旧版本,新版本相对于旧版本而言,可以是增加了一个或多个新功能,或者更新了一个或多个新功能,甚至是删掉了一个或多个有缺陷的旧功能。
步骤103:如果所述页面请求消息中包括灰度参数,则基于所述页面请求消息中的灰度参数确定是向所述客户端返回第一页面还是向所述客户端返回第二页面。
本发明实施例中,在灰度控制系统中可以设置灰度开关参数,然而,企业内部的员工可以跨灰度控制系统的控制,直接访问具有新版本的第一页面,具体地,企业内部的员工可以通过客户端进行第一设置操作,应用系统获得第一设置操作,基于所述第一设置操作在所述客户端的浏览器的Cookie中设置所述灰度开关变量的值,相应地,客户端通过浏览器访问某个页面时,会在浏览器的Cookie中查找灰度开关变量(这里由于开关变量被赋值,因而为其值为非空),然后将查找到的灰度开关变量携带在页面请求消息中发送给应用系统。如果所述页面请求消息中的灰度开关参数用于控制目标功能处于开启状态,则向所述客户端返回所述第一页面;如果所述页面请求消息中的灰度开关参数用于控制目标功能处于关闭状态,则向所述客户端返回所述第二页面。
可见,企业内部的员工无需调用灰度控制系统的应用程序编辑接口(API,Application Programming Interface)获取数据库(Database)中的灰度开关参数,跳过灰度控制系统的控制,直接基于Cookie中的灰度开关参数(即灰度开关变量的值)来控制是展示具有新版本的第一页面,还是具有旧版本的第二页面,从而实现新功能内测的目的。
步骤104:如果所述页面请求消息中不包括灰度参数,则从数据库中获取灰度参数,并基于所述数据库中的灰度参数确定是向所述客户端返回第一页面还是向所述客户端返回第二页面。
本发明实施例中,所述灰度参数还包括灰度范围参数;基于所述数据库中的灰度范围参数确定所述客户端是否为所述灰度开关参数作用的目标客户端;如果所述客户端是所述灰度开关参数作用的目标客户端,则基于所述数据库中的灰度开关参数确定是向所述客户端返回第一页面还是向所述客户端返回第二页面。
同理,如果所述数据库中的灰度开关参数用于控制目标功能处于开启状态,则向所述客户端返回所述第一页面;如果所述数据库中的灰度开关参数用于控制目标功能处于关闭状态,则向所述客户端返回所述第二页面。
本发明实施例中,所述数据库中存储有至少一条灰度参数,每条灰度参数包括:灰度开关参数和灰度范围参数;其中,不同的灰度开关参数用于控制不同的目标功能是否处于开启状态。所述数据库中的灰度参数通过灰度控制系统进行配置。
这里,灰度控制系统为网站管理人员提供web设置页面,网站管理人员通过灰度控制系统的web设置页面,配置至少一条灰度参数,每条灰度参数包括:灰度开关参数和灰度范围参数。其中,不同的灰度开关参数用于控制不同的目标功能是否处于开启状态。这里,灰度范围参数可以通过灰度比例来表示,取值范围为0%-100%,例如设置灰度范围参数为10%,代表10%的随机用户可以访问目标功能(即新功能)。
本发明实施例中,每个灰度开关参数对应的目标功能义由应用系统自主定义,可以是应用系统的新版本功能的一部分或全部。
本发明实施例中,业务系统可以根据需要自定义灰度开关参数的个数、以及关联的目标功能,灰度控制范围非常灵活。
此外,灰度控制系统可提供Database和API接口实现与应用系统的对接,具体地,应用系统调用API接口从Database中获取灰度开关参数和灰度范围参数,根据灰度范围参数进行随机运算,确定是否需要对客户端进行控制,如果需要对客户端进行控制,则根据灰度开关参数确定是否将新功能(也即目标功能)展示给该客户端,从而达到灰度发布控制的目的。
为了做到安全控制,灰度控制系统只对授权用户开放,即:只有对该灰度参数有写权限的用户才可以修改灰度开关参数和灰度范围参数。在一实施方式中,可以采用基于角色的访问控制(RBAC)方案来实现灰度控制系统的安全控制。
本发明实施例中,返回第一页面还是返回第二页面是通过两个逻辑分支来实现的,具体实现时,应用系统所实现的逻辑操作通过应用代码来实现,需要在应用代码增加对灰度开关参数的逻辑分支判断。新版本逻辑应放在灰度开关参数为开启的分支下,旧版本逻辑应放在灰度开关参数为关闭的分支下。
本发明实施例中,客户端可记忆自己的灰度选择,应用系统对客户端的页面请求采用首次访问随机灰度分配的方式,再次访问时,系统会记住该客户端的灰度选择,保持同一客户端体验的一致性与稳定性。具体地,向所述客户端返回所述第一页面后,记录所述客户端与所述第一页面的对应关系,以使得再次接收到所述客户端发送的页面请求消息后,直接向所述客户端返回所述第一页面。
本发明实施例的技术方案,灰度开关参数和灰度范围参数可通过灰度控制系统进行控制,此外,灰度开关参数也可以通过浏览器的Cookie进行控制,且Cookie的优先级高于灰度控制系统的优先级,即如果在浏览器的Cookie中设置了灰度开关参数,则可以跨灰度控制系统的控制,实现新/旧版本页面的访问。
图2为本发明实施例的灰度发布方法的流程示意图二,如图2所示,所述灰度发布方法包括以下步骤:
1)灰度控制系统:
步骤2011:用户登录灰度控制系统。
步骤2012:用户在灰度控制系提供的web界面上配置灰度开关参数,并存储在数据库中。
例如,为网页的一个新版本(该新版本对应一个目标功能)新增一条灰度参数,包括:灰度开关参数(具体包括灰度开关名称、灰度开关ID、灰度开关状态)和灰度范围参数(也即灰度比例参数)。
应理解,为了达到安全控制,只有具有写权限的用户才可以修改灰度参数。
2)客户端:
步骤2021:客户端通过浏览器访问某个应用的页面。
步骤2022:客户端在浏览器的Cookie中查找待访问的页面对应的灰度开关变量SwitchA。
步骤2023:客户端将SwitchA携带在页面请求消息中发送给应用系统。
3)应用系统:
在应用系统的代码中,对新旧版本的逻辑采用分支判断,当灰度开关变量的值为真(true)时,新版本逻辑(new logic)被执行;当灰度开关变量的值为假(false)时,旧版本逻辑(old logic)被执行。假设灰度开关变量为SwitchA,可以通过如下伪码实现分支判断:
步骤2031:从客户端的页面请求消息中提取灰度开关变量。
步骤2032:判断灰度开关变量SwitchA的值是否为空;如果该灰度开关变量为null,则应用系统从数据库中检索该灰度开关变量的值,并执行步骤2033;如果该灰度开关变量为非null,则执行步骤2033。
这里,如果该灰度开关变量为null,但是在数据库中检索该灰度开关变量的值失败,则设置该灰度开关变量的值为false,并执行步骤2033。
步骤2033:判断灰度开关变量SwitchA的值是true还是false;是true时,执行新版本逻辑,是false时,执行旧版本逻辑。
步骤2034:记录灰度开关变量SwitchA的值,并反馈给客户端。
这里,应用系统在返回响应给客户端时,同时设置灰度开关变量的值到客户端的Cookie中,这样,客户端再次访问时,系统会记住该客户端的选择。
本发明实施例的技术方案,灰度开关未开启的情况下,新功能并未暴露给用户,这时,企业内部用户如果想(测试)使用新功能,可以通过统一资源定位符(URL,UniformResource Locator)设置Cookie参数来存储灰度开关参数,这样可以跳过灰度控制系统,直接返回新功能页面给客户端。反过来也一样,如果通过灰度控制系统已开启新功能,内部用户也可以通过设置Cookie参数只调用原逻辑,返回以前的旧页面。
例如:客户端的URL如下:
http://<ip>/setSwitch?name=SwitchA&value=1
http://<ip>/setSwitch?name=SwitchA&value=0
需要强调的是:灰度控制的随机方法是针对“新连接”的客户端。只要控制住每个“新连接”的客户端都经过随机数运算,就能保证参与灰度开关关联功能点的用户比例满足“灰度范围”(比例)要求。如果不在“cookie”中存储灰度开关值,每次连接都重新运算(随机方法),假设灰度范围设置10%,则同一个客户端通过多次连接,总可能覆盖true和false,导致实际“灰度范围”失效(可能达100%),达不到控制新功能影响范围的目的。
图3为本发明实施例的灰度发布装置的结构组成示意图,如图3所示,所述装置包括:
接收单元301,用于接收客户端发送的页面请求消息;
确定单元302,用于确定所述页面请求消息中是否包括灰度参数;
返回单元303,用于如果所述页面请求消息中包括灰度参数,则基于所述页面请求消息中的灰度参数确定是向所述客户端返回第一页面还是向所述客户端返回第二页面;如果所述页面请求消息中不包括灰度参数,则从数据库中获取灰度参数,并基于所述数据库中的灰度参数确定是向所述客户端返回第一页面还是向所述客户端返回第二页面;
其中,所述灰度参数至少包括灰度开关参数,所述灰度开关参数用于控制目标功能是否处于开启状态,在所述第一页面上所述目标功能处于开启状态,在所述第二页面上所述目标功能处于关闭状态。
在一实施方式中,所述页面请求消息中包括灰度开关变量,所述灰度开关变量从所述客户端的浏览器的Cookie中查找得到;
所述确定单元302,用于从所述页面请求消息中提取灰度开关变量;如果所述灰度开关变量的值为空,则确定所述页面请求消息中不包括灰度开关参数;如果所述灰度开关变量的值为非空,则确定所述页面请求消息中包括灰度开关参数。
在一实施方式中,所述装置还包括:获取单元304,用于获得第一设置操作,基于所述第一设置操作在所述客户端的浏览器的Cookie中设置所述灰度开关变量的值。
在一实施方式中,所述返回单元303,用于如果所述页面请求消息中的灰度开关参数用于控制目标功能处于开启状态,则向所述客户端返回所述第一页面;如果所述页面请求消息中的灰度开关参数用于控制目标功能处于关闭状态,则向所述客户端返回所述第二页面。
在一实施方式中,所述灰度参数还包括灰度范围参数;所述返回单元303,用于基于所述数据库中的灰度范围参数确定所述客户端是否为所述灰度开关参数作用的目标客户端;如果所述客户端是所述灰度开关参数作用的目标客户端,则基于所述数据库中的灰度开关参数确定是向所述客户端返回第一页面还是向所述客户端返回第二页面。
在一实施方式中,所述返回单元303,用于如果所述数据库中的灰度开关参数用于控制目标功能处于开启状态,则向所述客户端返回所述第一页面;如果所述数据库中的灰度开关参数用于控制目标功能处于关闭状态,则向所述客户端返回所述第二页面。
在一实施方式中,所述装置还包括:记录单元305,用于当所述返回单元303向所述客户端返回所述第一页面后,记录所述客户端与所述第一页面的对应关系,以使得再次接收到所述客户端发送的页面请求消息后,直接向所述客户端返回所述第一页面。
在一实施方式中,所述数据库中存储有至少一条灰度参数,每条灰度参数包括:灰度开关参数和灰度范围参数;
其中,不同的灰度开关参数用于控制不同的目标功能是否处于开启状态。
在一实施方式中,所述数据库中的灰度参数通过灰度控制系统进行配置。
本领域技术人员应当理解,图3所示的灰度发布装置中的各单元的实现功能可参照前述灰度发布装置方法的相关描述而理解。图3所示的灰度发布装置中的各单元的功能可通过运行于处理器上的程序而实现,也可通过具体的逻辑电路而实现。
图4为本发明实施例的灰度发布系统的结构组成示意图,如图4所示,所述系统包括:
客户端401,用于向应用服务器发送页面请求消息;
应用系统402,用于接收客户端发送的页面请求消息;确定所述页面请求消息中是否包括灰度参数;如果所述页面请求消息中包括灰度参数,则基于所述页面请求消息中的灰度参数确定是向所述客户端返回第一页面还是向所述客户端返回第二页面;如果所述页面请求消息中不包括灰度参数,则从数据库中获取灰度参数,并基于所述数据库中的灰度参数确定是向所述客户端返回第一页面还是向所述客户端返回第二页面;其中,所述灰度参数至少包括灰度开关参数,所述灰度开关参数用于控制目标功能是否处于开启状态,在所述第一页面上所述目标功能处于开启状态,在所述第二页面上所述目标功能处于关闭状态;
灰度控制系统403,用于配置至少一条灰度参数,每条灰度参数包括:灰度开关参数和灰度范围参数;其中,不同的灰度开关参数用于控制不同的目标功能是否处于开启状态;将所述至少一条灰度参数存储在数据库中。
本领域技术人员应当理解,图4所示的灰度发布系统中的各单元的实现功能可参照前述灰度发布装置方法的相关描述而理解。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
相应地,本发明实施例还提供一种计算机存储介质,所述计算机存储介质中存储有计算机可执行指令,该计算机可执行指令配置为执行上述的灰度发布方法中的任意步骤。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
Claims (11)
1.一种灰度发布方法,其特征在于,所述方法包括:
接收客户端发送的页面请求消息;
确定所述页面请求消息中是否包括灰度参数;
如果所述页面请求消息中包括灰度参数,则基于所述页面请求消息中的灰度参数确定是向所述客户端返回第一页面还是向所述客户端返回第二页面;
如果所述页面请求消息中不包括灰度参数,则从数据库中获取灰度参数,并基于所述数据库中的灰度参数确定是向所述客户端返回第一页面还是向所述客户端返回第二页面;
其中,所述灰度参数至少包括灰度开关参数,所述灰度开关参数用于控制目标功能是否处于开启状态,在所述第一页面上所述目标功能处于开启状态,在所述第二页面上所述目标功能处于关闭状态;
其中,所述基于所述页面请求消息中的灰度参数确定是向所述客户端返回第一页面还是向所述客户端返回第二页面,包括:
如果所述页面请求消息中的灰度开关参数用于控制目标功能处于开启状态,则向所述客户端返回所述第一页面;
如果所述页面请求消息中的灰度开关参数用于控制目标功能处于关闭状态,则向所述客户端返回所述第二页面。
2.根据权利要求1所述的方法,其特征在于,所述页面请求消息中包括灰度开关变量,所述灰度开关变量从所述客户端的浏览器的Cookie中查找得到;
所述确定所述页面请求消息中是否包括灰度参数,包括:
从所述页面请求消息中提取灰度开关变量;
如果所述灰度开关变量的值为空,则确定所述页面请求消息中不包括灰度开关参数;
如果所述灰度开关变量的值为非空,则确定所述页面请求消息中包括灰度开关参数。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
获得第一设置操作,基于所述第一设置操作在所述客户端的浏览器的Cookie中设置所述灰度开关变量的值。
4.根据权利要求1所述的方法,其特征在于,所述灰度参数还包括灰度范围参数;
所述基于所述数据库中的灰度参数确定是向所述客户端返回第一页面还是向所述客户端返回第二页面,包括:
基于所述数据库中的灰度范围参数确定所述客户端是否为所述灰度开关参数作用的目标客户端;
如果所述客户端是所述灰度开关参数作用的目标客户端,则基于所述数据库中的灰度开关参数确定是向所述客户端返回第一页面还是向所述客户端返回第二页面。
5.根据权利要求4所述的方法,其特征在于,所述基于所述数据库中的灰度开关参数确定是向所述客户端返回第一页面还是向所述客户端返回第二页面,包括:
如果所述数据库中的灰度开关参数用于控制目标功能处于开启状态,则向所述客户端返回所述第一页面;
如果所述数据库中的灰度开关参数用于控制目标功能处于关闭状态,则向所述客户端返回所述第二页面。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
向所述客户端返回所述第一页面后,记录所述客户端与所述第一页面的对应关系,以使得再次接收到所述客户端发送的页面请求消息后,直接向所述客户端返回所述第一页面。
7.根据权利要求1、4、5或6所述的方法,其特征在于,所述数据库中存储有至少一条灰度参数,每条灰度参数包括:灰度开关参数和灰度范围参数;
其中,不同的灰度开关参数用于控制不同的目标功能是否处于开启状态。
8.根据权利要求7所述的方法,其特征在于,所述数据库中的灰度参数通过灰度控制系统进行配置。
9.一种灰度发布装置,其特征在于,所述装置包括:
接收单元,用于接收客户端发送的页面请求消息;
确定单元,用于确定所述页面请求消息中是否包括灰度参数;
返回单元,用于如果所述页面请求消息中包括灰度参数,则基于所述页面请求消息中的灰度参数确定是向所述客户端返回第一页面还是向所述客户端返回第二页面;如果所述页面请求消息中不包括灰度参数,则从数据库中获取灰度参数,并基于所述数据库中的灰度参数确定是向所述客户端返回第一页面还是向所述客户端返回第二页面;
其中,所述灰度参数至少包括灰度开关参数,所述灰度开关参数用于控制目标功能是否处于开启状态,在所述第一页面上所述目标功能处于开启状态,在所述第二页面上所述目标功能处于关闭状态;
其中,所述基于所述页面请求消息中的灰度参数确定是向所述客户端返回第一页面还是向所述客户端返回第二页面,包括:
如果所述页面请求消息中的灰度开关参数用于控制目标功能处于开启状态,则向所述客户端返回所述第一页面;
如果所述页面请求消息中的灰度开关参数用于控制目标功能处于关闭状态,则向所述客户端返回所述第二页面。
10.一种灰度发布系统,其特征在于,所述系统包括:
客户端,用于向应用服务器发送页面请求消息;
应用系统,用于接收客户端发送的页面请求消息;确定所述页面请求消息中是否包括灰度参数;如果所述页面请求消息中包括灰度参数,则基于所述页面请求消息中的灰度参数确定是向所述客户端返回第一页面还是向所述客户端返回第二页面;如果所述页面请求消息中不包括灰度参数,则从数据库中获取灰度参数,并基于所述数据库中的灰度参数确定是向所述客户端返回第一页面还是向所述客户端返回第二页面;其中,所述灰度参数至少包括灰度开关参数,所述灰度开关参数用于控制目标功能是否处于开启状态,在所述第一页面上所述目标功能处于开启状态,在所述第二页面上所述目标功能处于关闭状态;其中,所述基于所述页面请求消息中的灰度参数确定是向所述客户端返回第一页面还是向所述客户端返回第二页面,包括:如果所述页面请求消息中的灰度开关参数用于控制目标功能处于开启状态,则向所述客户端返回所述第一页面;如果所述页面请求消息中的灰度开关参数用于控制目标功能处于关闭状态,则向所述客户端返回所述第二页面;
灰度控制系统,用于配置至少一条灰度参数,每条灰度参数包括:灰度开关参数和灰度范围参数;其中,不同的灰度开关参数用于控制不同的目标功能是否处于开启状态;将所述至少一条灰度参数存储在数据库中。
11.一种计算机存储介质,所述计算机存储介质中存储有计算机可执行指令,该计算机可执行指令配置为执行权利要求1-8任一项所述的灰度发布方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810172786.3A CN108280237B (zh) | 2018-03-01 | 2018-03-01 | 一种灰度发布方法及装置、系统、计算机存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810172786.3A CN108280237B (zh) | 2018-03-01 | 2018-03-01 | 一种灰度发布方法及装置、系统、计算机存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108280237A CN108280237A (zh) | 2018-07-13 |
CN108280237B true CN108280237B (zh) | 2021-12-17 |
Family
ID=62808944
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810172786.3A Expired - Fee Related CN108280237B (zh) | 2018-03-01 | 2018-03-01 | 一种灰度发布方法及装置、系统、计算机存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108280237B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109710447A (zh) * | 2019-01-08 | 2019-05-03 | 网易无尾熊(杭州)科技有限公司 | 用于数据访问的方法、装置、介质和计算设备 |
CN110457223B (zh) * | 2019-08-13 | 2023-08-22 | 中国联合网络通信集团有限公司 | 灰度测试引流方法、装置、代理服务器及可读存储介质 |
CN110704483A (zh) * | 2019-09-06 | 2020-01-17 | 平安普惠企业管理有限公司 | 用户路由流程定位方法、设备、存储介质及装置 |
CN110673893B (zh) * | 2019-09-24 | 2023-06-09 | 携程计算机技术(上海)有限公司 | 应用程序的配置方法、系统、电子设备和存储介质 |
CN113918234A (zh) * | 2021-09-16 | 2022-01-11 | 广州心娱网络科技有限公司 | 一种灰度策略实现方法及系统 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103095743A (zh) * | 2011-10-28 | 2013-05-08 | 阿里巴巴集团控股有限公司 | 一种灰度发布的处理方法及系统 |
CN105099988B (zh) * | 2014-04-24 | 2018-11-27 | 阿里巴巴集团控股有限公司 | 用于支持灰度发布的方法、访问方法以及装置和系统 |
CN104966206A (zh) * | 2015-05-12 | 2015-10-07 | 百度在线网络技术(北京)有限公司 | 对移动应用进行灰度发布的方法、装置和系统 |
US10127506B2 (en) * | 2015-08-07 | 2018-11-13 | International Business Machines Corporation | Determining users for limited product deployment based on review histories |
CN106685687B (zh) * | 2016-09-23 | 2019-11-19 | 北京五八信息技术有限公司 | 灰度发布方法及装置 |
-
2018
- 2018-03-01 CN CN201810172786.3A patent/CN108280237B/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN108280237A (zh) | 2018-07-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108280237B (zh) | 一种灰度发布方法及装置、系统、计算机存储介质 | |
US11252252B2 (en) | Installable web applications | |
CN110149423B (zh) | 域名处理方法、装置、可读存储介质及电子设备 | |
US8745164B2 (en) | Method and system to detect a cached web page | |
US10838778B2 (en) | Hybrid application system to utilize native device features of a mobile device | |
CN102413151B (zh) | 分享网络资源的方法及系统 | |
US10776444B1 (en) | Methods and systems for universal deep linking across web and mobile applications | |
US9325717B1 (en) | Web-store restriction of external libraries | |
KR20190107189A (ko) | 호스팅된 문서 서비스에서 오프라인 액세스를 제공하기 위한 시스템 및 방법 | |
US10922372B1 (en) | Methods and systems for generating custom content using universal deep linking across web and mobile applications | |
US11106754B1 (en) | Methods and systems for hyperlinking user-specific content on a website or mobile applications | |
EP3398063A1 (en) | Controlled deployment of application feature | |
CN111770072B (zh) | 一种单点登录接入功能页面的方法和装置 | |
US9665732B2 (en) | Secure Download from internet marketplace | |
CN107918617B (zh) | 数据查询方法和装置 | |
WO2018115441A1 (en) | Web access enhancement | |
CN109325192B (zh) | 一种广告防屏蔽的方法和装置 | |
CN110633432A (zh) | 一种获取数据的方法、装置、终端设备及介质 | |
CN110737852A (zh) | 信息处理方法、装置、电子设备及介质 | |
CN106649792B (zh) | 一种页面访问方法及装置 | |
US11494178B2 (en) | Method, apparatus, and computer program product for organizing the booting operation of a group-based communication session | |
CN114371969A (zh) | 一种页面性能测试方法、装置、电子设备及存储介质 | |
CN115118476B (zh) | 一种用户权限校验方法、装置、电子设备和可读存储介质 | |
Kang et al. | Enriching IoT Web Application Experience by Integrating Containerized Edge Resource | |
US20220256006A1 (en) | Methods for controlling tracking elements of a web page and related electronic devices |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20211217 |