CN116776030A - 灰度发布方法、装置、计算机设备、存储介质 - Google Patents
灰度发布方法、装置、计算机设备、存储介质 Download PDFInfo
- Publication number
- CN116776030A CN116776030A CN202310886859.6A CN202310886859A CN116776030A CN 116776030 A CN116776030 A CN 116776030A CN 202310886859 A CN202310886859 A CN 202310886859A CN 116776030 A CN116776030 A CN 116776030A
- Authority
- CN
- China
- Prior art keywords
- gray
- access request
- rule
- client
- program file
- 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 58
- 238000004590 computer program Methods 0.000 claims abstract description 30
- 238000004422 calculation algorithm Methods 0.000 claims description 7
- 235000014510 cooky Nutrition 0.000 description 10
- 238000012545 processing Methods 0.000 description 6
- 238000007726 management method Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 241001270131 Agaricus moelleri Species 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 1
- 241000287219 Serinus canaria Species 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 229910021389 graphene Inorganic materials 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000010187 selection method Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
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/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
-
- 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/955—Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
-
- 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
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)
Abstract
本申请涉及一种灰度发布方法、装置、计算机设备、存储介质和计算机程序产品。方法包括:接收客户端发送的第一访问请求,基于第一访问请求向客户端返回超文本标记语言HTML文件,以指示客户端通过浏览器加载HTML文件;接收客户端发送的灰度规则程序文件获取请求,向客户端返回所述灰度规则程序文件,接收灰度规则程序文件发送的包括用户标识的第二访问请求;在识别到用户标识中存在标识数据的情况下,通过灰度接口提供所述第二访问请求对应的灰度版本服务以加载浏览器页面;在识别到用户标识中不存在标识数据的情况下,通过稳定接口提供第二访问请求对应的稳定版本服务以加载浏览器页面。采用本方法能够提高灰度发布的效率。
Description
技术领域
本申请涉及网络技术领域,特别是涉及一种灰度发布方法、装置、计算机设备、存储介质和计算机程序产品。
背景技术
灰度发布(也称金丝雀发布)是指在黑与白之间,能够平滑过渡的一种发布方式。在其上可以进行A/B测试,即让一部分用户继续用产品特性A,一部分用户开始用产品特性B,如果使用产品特性B的用户对B没有什么反对意见,那么逐步扩大产品特性B的使用范围,把所有用户都迁移到B上面来。灰度发布可以保证整体系统的稳定,在初始灰度的时候可以发现问题、调整问题,以保证其影响度最小。
传统技术中,为了实现灰度发布,客户端根据灰度规则在代码层面上做判断显示对应版本的功能,当需要进行版本切换的时候,这种灰度发布方式在切换灰度时需要重新编译发版,整个过程操作复杂,因此加重了服务器的处理压力,更加耗费系统资源,灰度发布的效率也比较低。
发明内容
基于此,有必要针对上述技术问题,提供一种能够降低操作复杂度的灰度发布方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
第一方面,本申请提供了一种灰度发布方法,应用于服务器。所述方法包括:
接收客户端发送的第一访问请求,基于所述第一访问请求向客户端返回超文本标记语言HTML文件,以指示客户端通过浏览器加载所述HTML文件;
接收所述客户端发送的灰度规则程序文件获取请求,所述灰度规则程序文件获取请求是所述客户端通过所述浏览器加载所述HTML文件中灰度规则程序文件的统一资源定位符时所发送的;
向客户端返回所述灰度规则程序文件,以指示所述客户端通过所述灰度规则程序文件根据所述第一访问请求获取用户信息,并将用户信息与所配置的灰度规则库进行匹配;在所述用户信息满足所述灰度规则库中的灰度规则的情况下,为用户标识添加所述灰度规则对应的标识数据;
接收所述客户端通过灰度规则程序文件发送的包括用户标识的第二访问请求;
在识别到所述用户标识中存在标识数据的情况下,通过灰度接口提供所述第二访问请求对应的灰度版本服务以加载浏览器页面;
在识别到所述用户标识中不存在标识数据的情况下,通过稳定接口提供所述第二访问请求对应的稳定版本服务以加载浏览器页面。
在其中一个实施例中,接收客户端发送的第一访问请求之后,所述方法还包括:
在所述灰度规则程序文件未配置所述灰度规则的情况下,通过灰度接口为预设比例的用户提供所述第一访问请求对应的灰度版本服务;
在所述灰度规则程序文件配置所述灰度规则的情况下,执行所述接收客户端通过灰度规则程序文件发送的包括用户标识的第二访问请求的步骤。
在其中一个实施例中,所述灰度接口为预设比例的用户提供所述第一访问请求对应的灰度版本服务,包括:
根据加权轮询算法,通过灰度接口为预设比例的用户提供所述第一访问请求对应的灰度版本服务。
在其中一个实施例中,所述灰度规则程序文件对应的统一资源定位符中添加有加载时间戳,所述加载时间戳是所述浏览器在加载至所述HTML文件中灰度规则程序文件的统一资源定位符时所添加的。
第二方面,本申请还提供了一种灰度发布装置,应用于服务器。所述装置包括:
第一请求模块,用于接收客户端发送的第一访问请求,基于所述第一访问请求向客户端返回超文本标记语言HTML文件,以指示客户端通过浏览器加载所述HTML文件;
文件管理模块,用于接收所述客户端发送的灰度规则程序文件获取请求,所述灰度规则程序文件获取请求是所述客户端通过所述浏览器加载所述HTML文件中灰度规则程序文件的统一资源定位符时所发送的,向客户端返回所述灰度规则程序文件,以指示所述客户端通过所述灰度规则程序文件根据所述第一访问请求获取用户信息,并将用户信息与所配置的灰度规则库进行匹配;在所述用户信息满足所述灰度规则库中的灰度规则的情况下,为用户标识添加所述灰度规则对应的标识数据;
第二请求模块,用于接收客户端通过所述灰度规则程序文件发送的包括用户标识的第二访问请求;
灰度服务模块,用于在识别到所述用户标识中存在标识数据的情况下,通过灰度接口提供所述第二访问请求对应的灰度版本服务以加载浏览器页面;
稳定服务模块,用于在识别到所述用户标识中不存在标识数据的情况下,通过稳定接口提供所述第二访问请求对应的稳定版本服务以加载浏览器页面。
第三方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
接收客户端发送的第一访问请求,基于所述第一访问请求向客户端返回超文本标记语言HTML文件,以指示客户端通过浏览器加载所述HTML文件;
接收所述客户端发送的灰度规则程序文件获取请求,所述灰度规则程序文件获取请求是所述客户端通过所述浏览器加载所述HTML文件中灰度规则程序文件的统一资源定位符时所发送的;
向客户端返回所述灰度规则程序文件,以指示所述客户端通过所述灰度规则程序文件根据所述第一访问请求获取用户信息,并将用户信息与所配置的灰度规则库进行匹配;在所述用户信息满足所述灰度规则库中的灰度规则的情况下,为所述用户标识添加所述灰度规则对应的标识数据;
接收所述客户端通过灰度规则程序文件发送的包括用户标识的第二访问请求;
在识别到所述用户标识中存在标识数据的情况下,通过灰度接口提供所述第二访问请求对应的灰度版本服务以加载浏览器页面;
在识别到所述用户标识中不存在标识数据的情况下,通过稳定接口提供所述第二访问请求对应的稳定版本服务以加载浏览器页面。
第四方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
接收客户端发送的第一访问请求,基于所述第一访问请求向客户端返回超文本标记语言HTML文件,以指示客户端通过浏览器加载所述HTML文件;
接收所述客户端发送的灰度规则程序文件获取请求,所述灰度规则程序文件获取请求是所述客户端通过所述浏览器加载所述HTML文件中灰度规则程序文件的统一资源定位符时所发送的;
向客户端返回所述灰度规则程序文件,以指示所述客户端通过所述灰度规则程序文件根据所述第一访问请求获取用户信息,并将用户信息与所配置的灰度规则库进行匹配;在所述用户信息满足所述灰度规则库中的灰度规则的情况下,为用户标识添加所述灰度规则对应的标识数据;
接收所述客户端通过灰度规则程序文件发送的包括用户标识的第二访问请求;
在识别到所述用户标识中存在标识数据的情况下,通过灰度接口提供所述第二访问请求对应的灰度版本服务以加载浏览器页面;
在识别到所述用户标识中不存在标识数据的情况下,通过稳定接口提供所述第二访问请求对应的稳定版本服务以加载浏览器页面。
第五方面,本申请还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
接收客户端发送的第一访问请求,基于所述第一访问请求向客户端返回超文本标记语言HTML文件,以指示客户端通过浏览器加载所述HTML文件;
接收所述客户端发送的灰度规则程序文件获取请求,所述灰度规则程序文件获取请求是所述客户端通过所述浏览器加载所述HTML文件中灰度规则程序文件的统一资源定位符时所发送的;
向客户端返回所述灰度规则程序文件,以指示所述客户端通过所述灰度规则程序文件根据所述第一访问请求获取用户信息,并将用户信息与所配置的灰度规则库进行匹配;在所述用户信息满足所述灰度规则库中的灰度规则的情况下,为用户标识添加所述灰度规则对应的标识数据;
接收所述客户端通过灰度规则程序文件发送的包括用户标识的第二访问请求;
在识别到所述用户标识中存在标识数据的情况下,通过灰度接口提供所述第二访问请求对应的灰度版本服务以加载浏览器页面;
在识别到所述用户标识中不存在标识数据的情况下,通过稳定接口提供所述第二访问请求对应的稳定版本服务以加载浏览器页面。
上述灰度发布方法、装置、计算机设备、存储介质和计算机程序产品,通过接收客户端发送的第一访问请求,基于第一访问请求向客户端返回HTML文件,以指示客户端浏览器加载该HTML文件,当浏览器加载至HTML文件中灰度规则程序文件的统一资源定位符时向服务器发送灰度规则程序文件获取请求,服务器根据灰度规则程序文件获取请求向客户端返回灰度规则程序文件,灰度规则程序文件根据第一访问请求获取用户信息,并将用户信息与所配置的灰度规则进行匹配,在用户信息满足灰度规则的情况下,为用户标识添加对应的标识数据,接收客户端通过灰度规则程序文件发送的包括用户标识的第二访问请求,在识别到用户标识中存在标识数据的情况下,通过灰度接口提供第二访问请求对应的灰度版本服务以加载浏览器页面;在识别到用户标识中不存在标识数据的情况下,通过稳定接口提供第二访问请求对应的稳定版本服务以加载浏览器页面。本申请通过配置灰度规则程序文件进行用户信息与灰度规则库的匹配,在进行灰度发布时,只需要调用对应的灰度规则程序文件即可,灰度版本服务对应的内容不会作更改,从而在实现准确灰度发布的同时,可以节省服务器资源,降低服务器的处理压力,从而提高灰度发布的效率。
第六方面,本申请提供了一种灰度发布方法,应用于客户端。所述方法包括:
向服务器发送第一访问请求;接收所述服务器基于所述第一访问请求返回的HTML文件,并通过浏览器加载所述HTML文件;
当浏览器加载至所述HTML文件中灰度规则程序文件的统一资源定位符时,向服务器发送灰度规则程序文件获取请求;
接收服务器返回的灰度规则程序文件,通过所述灰度规则程序文件基于第一访问请求获取用户信息,并将所述用户信息与所配置的灰度规则库进行匹配;
在所述用户信息满足所述灰度规则库中的灰度规则的情况下,为所述用户标识添加所述灰度规则对应的标识数据;
将包括所述用户标识的第二访问请求发送至服务器,所述服务器用于当识别到所述用户标识中存在标识数据时,通过灰度接口提供所述第二访问请求对应的灰度版本服务以加载浏览器页面;当识别到所述用户标识中不存在标识数据时,通过稳定接口提供所述第二访问请求对应的稳定版本服务以加载浏览器页面。
在其中一个实施例中,在所述为所述用户标识添加所述灰度规则对应的标识数据之前,所述方法还包括:
当所述用户信息满足所述灰度规则库中的灰度规则时,展示选择是否进入灰度版本服务的对话框;
响应于用户对选择进入灰度版本服务的触发,执行所述为所述用户标识添加所述灰度规则对应的标识数据的步骤。
第七方面,本申请还提供了一种灰度发布装置,应用于客户端。所述装置包括:
第一请求发送模块,用于向服务器发送第一访问请求;接收所述服务器基于所述第一访问请求返回的HTML文件,并通过浏览器加载所述HTML文件;
第二请求发送模块,用于当浏览器加载至所述HTML文件中灰度规则程序文件的统一资源定位符时,向服务器发送灰度规则程序文件获取请求;
灰度规则匹配模块,用于接收服务器返回的灰度规则程序文件,通过所述灰度规则程序文件基于第一访问请求获取用户信息,并将所述用户信息与所配置的灰度规则库进行匹配;
标识数据添加模块,用于在所述用户信息满足所述灰度规则库中的灰度规则的情况下,为所述用户标识添加所述灰度规则对应的标识数据;
灰度服务发布模块,用于将包括所述用户标识的第二访问请求发送至服务器,所述服务器用于当识别到所述用户标识中存在标识数据时,通过灰度接口提供所述第二访问请求对应的灰度版本服务以加载浏览器页面;当识别到所述用户标识中不存在标识数据时,通过稳定接口提供所述第二访问请求对应的稳定版本服务以加载浏览器页面。
第八方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
向服务器发送第一访问请求;接收所述服务器基于所述第一访问请求返回的HTML文件,并通过浏览器加载所述HTML文件;
当浏览器加载至所述HTML文件中灰度规则程序文件的统一资源定位符时,向服务器发送灰度规则程序文件获取请求;
接收服务器返回的灰度规则程序文件,通过所述灰度规则程序文件基于第一访问请求获取用户信息,并将所述用户信息与所配置的灰度规则库进行匹配;
在所述用户信息满足所述灰度规则库中的灰度规则的情况下,为所述用户标识添加所述灰度规则对应的标识数据;
将包括所述用户标识的第二访问请求发送至服务器,所述服务器用于当识别到所述用户标识中存在标识数据时,通过灰度接口提供所述第二访问请求对应的灰度版本服务以加载浏览器页面;当识别到所述用户标识中不存在标识数据时,通过稳定接口提供所述第二访问请求对应的稳定版本服务以加载浏览器页面。
第九方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
向服务器发送第一访问请求;接收所述服务器基于所述第一访问请求返回的HTML文件,并通过浏览器加载所述HTML文件;
当浏览器加载至所述HTML文件中灰度规则程序文件的统一资源定位符时,向服务器发送灰度规则程序文件获取请求;
接收服务器返回的灰度规则程序文件,通过所述灰度规则程序文件基于第一访问请求获取用户信息,并将所述用户信息与所配置的灰度规则库进行匹配;
在所述用户信息满足所述灰度规则库中的灰度规则的情况下,为所述用户标识添加所述灰度规则对应的标识数据;
将包括所述用户标识的第二访问请求发送至服务器,所述服务器用于当识别到所述用户标识中存在标识数据时,通过灰度接口提供所述第二访问请求对应的灰度版本服务以加载浏览器页面;当识别到所述用户标识中不存在标识数据时,通过稳定接口提供所述第二访问请求对应的稳定版本服务以加载浏览器页面。
第十方面,本申请还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
向服务器发送第一访问请求;接收所述服务器基于所述第一访问请求返回的HTML文件,并通过浏览器加载所述HTML文件;
当浏览器加载至所述HTML文件中灰度规则程序文件的统一资源定位符时,向服务器发送灰度规则程序文件获取请求;
接收服务器返回的灰度规则程序文件,通过所述灰度规则程序文件基于第一访问请求获取用户信息,并将所述用户信息与所配置的灰度规则库进行匹配;
在所述用户信息满足所述灰度规则库中的灰度规则的情况下,为所述用户标识添加所述灰度规则对应的标识数据;
将包括所述用户标识的第二访问请求发送至服务器,所述服务器用于当识别到所述用户标识中存在标识数据时,通过灰度接口提供所述第二访问请求对应的灰度版本服务以加载浏览器页面;当识别到所述用户标识中不存在标识数据时,通过稳定接口提供所述第二访问请求对应的稳定版本服务以加载浏览器页面。
上述灰度发布方法、装置、计算机设备、存储介质和计算机程序产品,客户端通过灰度规则程序文件基于第一访问请求获取用户信息,并将用户信息与所配置的灰度规则库进行匹配;在用户信息满足灰度规则库中的灰度规则的情况下,为用户标识添加灰度规则对应的标识数据;将包括用户标识的第二访问请求发送至服务器,服务器用于当识别到用户标识中存在标识数据时,通过灰度接口提供第二访问请求对应的灰度版本服务以加载浏览器页面;当识别到用户标识中不存在标识数据时,通过稳定接口提供所述第二访问请求对应的稳定版本服务以加载浏览器页面。该方法可以实现在不同的灰度发布时,只需要调用对应的灰度规则程序文件即可实现对用户信息是否满足对应的灰度规则进行识别,在实现准确识别用户信息与灰度规则之间的匹配度的同时,还可以提高客户端的运行效率,进而提高灰度发布的效率,此外,本案中调用不同的灰度规则程序文件即可实现灰度发布,无需在客户端内嵌灰度规则程序文件,降低了客户端和灰度规则程序的耦合性。
附图说明
图1为一个实施例中灰度发布方法的应用环境图;
图2为一个实施例中灰度发布方法的流程示意图;
图3为另一个实施例中灰度发布方法的流程示意图;
图4为另一个实施例中灰度发布方法的流程示意图;
图5为一个实施例中灰度发布装置的结构框图;
图6为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例提供的灰度发布方法,可以应用于如图1所示的应用环境中。其中,客户端102通过网络与服务器104进行通信,客户端102上安装有浏览器应用108,服务器104上配置有灰度规则程序文件106。数据存储系统可以存储服务器104需要处理的数据。数据存储系统可以集成在服务器104上,也可以放在云上或其他网络服务器上。用户从客户端浏览器108向服务器104发送第一访问请求,服务器104基于第一访问请求向客户端102的浏览器108返回HTML文件,客户端102的浏览器108接收到HTML文件后对HTML文件进行加载,当加载到HTML文件中灰度规则程序文件106的统一资源定位符时,向服务器104发送灰度规则程序文件获取请求,服务器104接收到灰度规则程序文件获取请求后,向客户端102的浏览器108返回对应的灰度规则程序文件106,浏览器108接收到对应的灰度规则程序文件106时,指示灰度规则程序文件106根据第一访问请求获取用户信息,并将用户信息与所配置的灰度规则库进行匹配;在用户信息满足灰度规则库中的灰度规则的情况下,为用户标识添加灰度规则对应的标识数据;客户端102向服务器104发送包括用户标识的第二访问请求,服务器104接收到客户端102通过灰度规则程序文件106发送的第二访问请求,在识别到用户标识中存在标识数据的情况下,通过灰度接口提供第二访问请求对应的灰度版本服务以加载浏览器页面;在识别到用户标识中不存在标识数据的情况下,通过稳定接口提供第二访问请求对应的稳定版本服务以加载浏览器页面。
其中,客户端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑、物联网设备和便携式可穿戴设备,物联网设备可为智能音箱、智能电视、智能空调、智能车载设备等。便携式可穿戴设备可为智能手表、智能手环、头戴设备等。服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图2所示,提供了一种灰度发布方法,以该方法应用于图1中的服务器为例进行说明,包括以下步骤202至步骤210。
步骤202,接收客户端发送的第一访问请求,基于第一访问请求向客户端返回HTML文件,以指示客户端通过浏览器加载HTML文件。
用户从客户端的浏览器向服务器发送访问相应网页应用的第一访问请求,服务器接收客户端发送的第一访问请求,基于该第一访问请求向客户端返回HTML(Hyper TextMarkup Language,超文本标记语言)文件,以指示客户端通过浏览器加载该HTML文件。其中,超文本标记语言的结构包括“头”部分和“主体”部分,“头”部分提供关于网页的信息,“主体”部分提供网页的具体内容,可选地,浏览器在加载HTML文件时,从“头”部开始顺序往下加载HTML文件内容。需要说明的是,本实施例中的HTML文件是指对应第一访问请求的应用对应的HTML文件的框架,是渲染之前的网页内容,并不包括具体应用对应的网页内容,待服务器提供对应的灰度版本服务或者稳定版本服务时,才对HTML文件进行更新和渲染。
步骤204,接收客户端发送的灰度规则程序文件获取请求,其中,灰度规则程序文件获取请求是客户端通过浏览器加载HTML文件中灰度规则程序文件的统一资源定位符时所发送的;向客户端返回灰度规则程序文件,以指示客户端通过灰度规则程序文件根据第一访问请求获取用户信息,并将用户信息与所配置的灰度规则库进行匹配;在用户信息满足灰度规则库中的灰度规则的情况下,为用户标识添加灰度规则对应的标识数据。
浏览器在加载HTML文件的过程中,由于HTML文件中包括灰度规则程序文件对应的统一资源定位符,浏览器在加载到灰度规则程序文件对应的统一资源定位符时,向服务器发送该灰度规则程序文件获取请求,服务器接收到对应的灰度规则程序文件获取请求后,向客户端浏览器返回对应的灰度规则程序文件,浏览器接收到灰度规则程序文件并在客户端运行该灰度规则程序文件,灰度规则程序文件基于第一访问请求获取用户信息,并将用户信息与所配置的灰度规则库进行匹配;在用户信息满足灰度规则库中的灰度规则的情况下,为用户标识添加灰度规则对应的标识数据。其中,灰度规则程序文件是服务器所配置的程序文件,用于配置灰度发布的灰度规则,并识别用户信息是否满足对应的灰度规则,在用户信息满足灰度规则的情况下,为对应的用户标识添加对应的标识数据。一个灰度规则程序文件可以包括一个灰度发布的灰度规则,也可以包括多个灰度发布对应的灰度规则。灰度发布规则程序文件例如可以是以脚本、插件或者程序包的形式配置在服务器端,供服务器需要时调用。
可选地,在用户信息不满足灰度规则库中的灰度规则的情况下,不在用户标识中添加灰度规则对应的标识数据。
可选地,用户信息可以是用户访问浏览器或客户端所注册的信息,客户端在运行时可以直接获取。用户标识是指访问浏览器对应的用户的标识,用户标识可以唯一表征对应的用户,例如可以是用户名、登录账号等。灰度规则库中可以包括多个灰度规则,每个灰度规则可以对应一种灰度应用或者是应用对应的某个灰度功能,满足灰度规则的可以使用灰度版本。标识数据,用来标识用户为对应的灰度用户,例如可以是COOKIE标识,浏览器通过灰度规则程序文件在用户信息满足灰度规则的情况下,为用户标识添加灰度规则对应的COOKIE标识。COOKIE,某些网站为了辨别用户身份、进行进程跟踪而存储在用户本地终端上的数据。其中,不同的灰度规则可以对应相同的COOKIE标识,也可以对应不同的COOKIE标识。
步骤206,接收客户端通过灰度规则程序文件发送的包括用户标识的第二访问请求。
客户端浏览器在指示灰度规则程序文件对用户信息是否满足灰度规则进行判断之后,向服务器发送访问网页应用的第二访问请求,第二访问请求中携带有用户标识。其中,如果用户信息满足灰度规则,用户标识中会被添加标识数据;如果用户信息不满足灰度规则,用户标识中没有对应的标识数据。服务器接收灰度规则程序文件发送的包括用户标识的第二访问请求。
步骤208,在识别到用户标识中存在标识数据的情况下,通过灰度接口提供第二访问请求对应的灰度版本服务以加载浏览器页面。
服务器在识别到用户标识中存在标识数据的情况下,通过灰度接口提供第二访问请求对应的灰度版本服务,通过灰度版本服务加载浏览器页面。可选地,服务器中存储有接口标识,不同的接口标识对应不同的接口,服务器在识别到用户标识中存在标识数据的情况下,通过灰度接口标识对应的灰度接口提供第二访问请求对应的灰度版本服务加载浏览器页面。
步骤210,在识别到用户标识中不存在标识数据的情况下,通过稳定接口提供第二访问请求对应的稳定版本服务以加载浏览器页面。
服务器在识别到用户标识中不存在标识数据的情况下,通过稳定接口提供第二访问请求对应的稳定版本服务,通过稳定版本服务加载浏览器页面。其中,灰度版本服务是稳定版本服务的升级测试版本。
可选地,服务器在识别到用户标识中不存在标识数据的情况下,通过稳定接口标识对应的稳定接口提供第二访问请求对应的稳定版本加载浏览器页面。
上述灰度发布方法中,服务器通过配置灰度规则程序文件将用户信息与灰度规则库进行匹配,在进行不同的灰度发布时,只需调用对应的灰度规则程序文件即可,灰度版本服务对应的内容不会作更换,从而实现灰度发布准确的同时,可以接收服务器资源,降低服务器的处理压力,从而提高灰度发布的效率。
在一个实施例中,接收客户端发送的第一访问请求之后,方法还包括:
在灰度规则程序文件未配置灰度规则的情况下,通过灰度接口为预设比例的用户提供所述第一访问请求对应的灰度版本服务;在灰度规则程序文件配置灰度规则的情况下,执行接收客户端通过灰度规则程序文件发送的包括用户标识的第二访问请求的步骤。
本实施例中,服务器通过识别灰度规则程序文件是否配置灰度规则,在灰度规则程序文件未配置灰度规则的情况下,通过灰度接口为预设比例的用户提供第一访问请求对应的灰度版本服务;在灰度规则程序文件配置所述灰度规则的情况下,执行所述接收灰度规则程序文件发送的包括用户标识的第二访问请求的步骤。可选地,在接收到客户端发送的第一访问请求时,识别灰度规则程序文件是否配置第一访问请求对应的服务资源所对应的灰度规则。可选地,可以是服务器在接收客户端发送灰度规则程序文件获取请求时,服务器根据灰度规则程序文件获取请求查找对应的灰度规则程序文件,根据对应的灰度规则程序文件的查找结果,确定灰度规则程序文件是否配置了灰度规则。例如,若找到对应的灰度规则程序文件,则确定灰度规则程序文件配置了灰度规则;若未找到对应的灰度规则程序文件,则确定灰度规则程序文件未配置灰度规则。
本实施例中,在灰度规则程序文件未配置灰度规则的情况下,灰度发布可以通过服务器灰度接口为预设比例的用户提供第一访问请求对应的灰度版本。例如,当灰度粒度比较大时,预设有30%的用户使用灰度版本,则通过服务器灰度接口限制访问灰度版本服务的用户数量,使得最终有30%的用户使用灰度版本服务,其余70%的用户使用稳定版本服务。
本实施例中在灰度规则程序文件未配置灰度规则的情况下,通过服务器灰度接口限制访问灰度版本服务的用户在预设比例内,在灰度规则程序文件未配置灰度规则的情况下,执行灰度规则程序文件发送包括用户标识的第二访问请求的步骤,根据用户标识是否包括标识数据提供对应的灰度版本服务或者稳定版本服务,可以保证灰度发布的正常进行,提高灰度发布的稳定性。
在一些实施例中,通过灰度接口标识对应的灰度接口为预设比例的用户提供第一访问请求对应的灰度版本服务,包括:根据加权轮询算法,通过灰度接口为预设比例的用户提供第一访问请求对应的灰度版本服务。
本实施例中,通过加权轮询算法,控制灰度接口提供灰度版本服务的用户数量为预设比例。加权轮询算法,每轮调用中,用节点的当前值加上对应节点的权重值,选择当前值最大的节点作为选中节点,并把它的当前值减去所有节点的权重总和,然后进行下一次调度。例如,{a:5,b:1,c:1}三个节点,即权重分别为5,1,1,初始化三个节点的当前值为{0,0,0},节点选择过程如下表1所示:
表1:
从上表可知,a,b,c选择的次数符合5:1:1,而且权重大的不会被连接选择。7轮选择后,当前值又回到{0,0,0},不断循环操作,即可符合平滑和基于权重。
通过加权轮询算法,通过灰度接口为预设比例的用户提供第一访问请求对应的灰度版本服务,可以准确实现按照预设比例的用户访问灰度版本服务。
在一些实施例中,灰度规则程序文件对应的统一资源定位符中添加有加载时间戳,其中,加载时间戳是浏览器在加载至HTML文件中灰度规则程序文件的统一资源定位符时所添加的。
浏览器加载HTML文件的过程中,在加载至灰度规则程序文件的统一资源定位符时,在统一资源定位符中添加时间戳,得到包括时间戳的统一资源定位符,客户端向服务器发送统一资源定位符对应的灰度规则程序文件获取请求,该灰度规则程序文件获取请求中包括携带时间戳的统一资源定位符,服务器接收对应的灰度规则程序文件获取请求,将对应时间戳的灰度规则程序文件发送至客户端浏览器,使得客户端浏览器每次加载时都是加载最新的灰度规则程序文件,从而可以保证使用相对应的版本服务加载浏览器页面,保证灰度发布的准确性。
在一些实施例中,为了使得客户端浏览器每次加载时都是加载最新的灰度规则程序文件,也可以将HTML文件中的“头”部分中缓存头配置为禁止缓存,从而避免浏览器在加载HTML文件时从对应的缓存中获取相应内容,而是从最新的灰度规则程序文件获取最新的内容,保证灰度发布的准确性。
在一些实施例中,服务器可以是Nginx服务器,Nginx服务器是一种高性能的HTTP(HyperText Transfer Protocol,超文本传输协议)和反向代理服务器,同时也是IMAP(Internet Mail Access Protocol,Internet邮件访问协议)/POP3(Post OfficeProtocol-Version 3,邮局协议版本3)/SMTP(Simple Mail Transfer Protocol,简单邮件传输协议)代理服务器。
在一个实施例中,如图3所示,提供了一种灰度发布方法,以该方法应用于图1中的客户端为例进行说明,包括以下步骤302至步骤310。
步骤302,向服务器发送第一访问请求;接收服务器基于第一访问请求返回的HTML文件,并通过浏览器加载所述HTML文件。
步骤304,当浏览器加载至HTML文件中灰度规则程序文件的统一资源定位符时,向服务器发送灰度规则程序文件获取请求。
上述步骤302至步骤304中的描述可以参见上述实施例中对步骤202和步骤204中的相应内容,在此不再赘述。
步骤306,接收服务器返回的灰度规则程序文件,通过灰度规则程序文件基于第一访问请求获取用户信息,并将用户信息与所配置的灰度规则库进行匹配。
灰度规则程序文件基于第一访问请求获取用户信息,将用户信息与所配置的灰度规则库进行匹配,识别用户信息是否与所配置的灰度规则库进行匹配。其中,灰度规则库是灰度规则程序文件预先配置,并用于指示服务器将灰度版本服务提供给灰度应用环境中或者将稳定版本服务提供给非灰度环境中。灰度规则库中的各种灰度规则可以是指定用户名,或者是用户名采用一定的算法转化成数字,再使用一个阈值进行比较,抑或是对发送请求的IP(Internet Protocol,网络协议)地址根据一定的条件进行筛选等,但不限于此。可以理解地,灰度规则不是特定的,可以根据需要设定不同的灰度规则。
步骤308,在用户信息满足灰度规则库中的灰度规则的情况下,为用户标识添加灰度规则对应的标识数据。
可选地,在用户信息满足访问请求对应的应用服务所对应的灰度规则的情况下,为用户标识添加对应灰度规则的标识数据,在用户信息不满足所请求的应用服务对应的灰度规则的情况下,不添加应用服务对应的标识数据。
可选地,在用户信息满足访问请求对应的应用服务所对应的灰度规则的情况下,为用户标识添加对应灰度规则的标识数据,在用户信息不满足所请求的应用服务对应的灰度规则的情况下,不添加应用服务对应的标识数据,并清除其他的标识数据。其他的标识数据,例如可以是已经添加的其他应用服务所对应的标识数据。
步骤310,将包括用户标识的第二访问请求发送至服务器,服务器用于当识别到用户标识中存在标识数据时,通过灰度接口提供第二访问请求对应的灰度版本服务以加载浏览器页面;当识别到用户标识中不存在标识数据时,通过稳定接口提供第二访问请求对应的稳定版本服务以加载浏览器页面。
本实施例中,客户端获取灰度规则程序文件,并通过灰度规则程序文件根据第一访问请求获取用户信息,并将用户信息与所配置的灰度规则库进行匹配;在用户信息满足灰度规则库中的灰度规则的情况下,为用户标识添加灰度规则对应的标识数据;将包括用户标识的第二访问请求发送至服务器,服务器用于当识别到用户标识中存在标识数据时,通过灰度接口提供第二访问请求对应的灰度版本服务以加载浏览器页面;当识别到用户标识中不存在标识数据时,通过稳定接口提供所述第二访问请求对应的稳定版本服务以加载浏览器页面。该方法通过客户端调用灰度规则程序文件在客户端运行,可以实现在不同的灰度发布时,只需要调用对应的灰度规则程序文件即可实现对用户信息是否满足对应的灰度规则进行识别,在实现准确识别用户信息与灰度规则之间的匹配度的同时,还可以提高客户端的运行效率。
在一个实施例中,在为用户标识添加灰度规则对应的标识数据之前,方法还包括:当用户信息满足灰度规则库中的灰度规则时,展示选择是否进入灰度版本服务的对话框;响应于用户对选择进入灰度版本服务的触发,执行为用户标识添加灰度规则对应的标识数据的步骤。
在用户信息满足灰度规则库中的灰度规则的情况下,展示选择是否进入灰度版本服务的对话框,用户可以点击对话框中“是”或“否”对应的控件,若用户点击“是”,则表征用户选择进入灰度版本服务,响应于对选择进入灰度版本服务的触发,为用户标识添加灰度规则对应的标识数据,若用户点击“否”,则表征用户不选择进入灰度版本服务,则不在用户标识中添加灰度规则对应的标识数据。
本实施例中,通过在为用户标识添加灰度规则对应的标识数据之前,在用户信息满足灰度规则库中的灰度规则的情况下,展示选择是否进入灰度版本服务的对话框,用户可以根据自身需求情况进行选择是否使用灰度版本服务,提高人机交互体验,灰度粒度小,同时还可以提高灰度发布的效率。
在一个实施例中,如图4所示,灰度规则程序文件JSSDK可以是服务器脚本JSSDK,灰度发布方法包括以下步骤402至步骤412。
步骤402,用户从客户端向nginx服务器发送第一访问请求。
步骤404,服务器返回第一访问请求对应的HTML文件。
步骤406,客户端浏览器加载HTML文件,在加载至服务器脚本JSSDK对应的URL(统一资源定位符)时,发送该URL对应的服务器脚本获取请求。
步骤408,服务器向客户端返回服务器脚本JSSDK。
步骤410,服务器脚本JSSDK获取用户信息,将用户信息与所配置的灰度规则库进行匹配;在用户信息满足灰度规则的情况下,为用户标识添加灰度规则对应的COOKIE标识;在用户信息不满足灰度规则的情况下,不在用户标识中添加灰度规则对应的COOKIE标识,携带用户标识发送第二访问请求。
步骤412,基于第二访问请求,服务器在识别到用户标识中存在COOKIE标识的情况下,通过灰度接口提供第二访问请求对应的灰度版本服务以加载浏览器页面,在识别到用户标识中不存在COOKIE标识的情况下,通过稳定接口提供第二访问请求对应的稳定版本服务以加载浏览器页面。
上述实施例中,将灰度发布的工作由前端运行,不涉及后端操作,使用者可以灵活配置,操作简单,成本低;若更换灰度发布时,只需要更换服务器脚本灰度规则程序文件即可,灰度粒度小,回退快,扩展性好;在进行灰度发布的过程中,由客户端调用服务器的灰度规则程序文件识别用户信息是否满足灰度规则,在满足灰度规则对应的用户标识中添加COOKIE标识,服务器为该用户标识提供对应的灰度版本服务,可以加快灰度发布的速度,提高灰度发布的效率,同时减少服务器的运行压力,提高服务器运行效率。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的灰度发布方法的灰度发布装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个灰度发布装置实施例中的具体限定可以参见上文中对于灰度发布方法的限定,在此不再赘述。
在一个实施例中,如图5所示,提供了一种灰度发布装置,应用于服务器,包括:第一请求模块502、文件管理模块504、第二请求模块506、灰度服务模块508和稳定服务模块510,其中:
第一请求模块502,用于接收客户端发送的第一访问请求,基于所述第一访问请求向客户端返回超文本标记语言HTML文件,以指示客户端通过浏览器加载所述HTML文件;
文件管理模块504,用于接收所述客户端发送的灰度规则程序文件获取请求,所述灰度规则程序文件获取请求是所述客户端通过浏览器加载所述HTML文件中灰度规则程序文件的统一资源定位符时所发送的,向客户端返回所述灰度规则程序文件,以指示所述客户端通过所述灰度规则程序文件根据所述第一访问请求获取用户信息,并将用户信息与所配置的灰度规则库进行匹配;在所述用户信息满足所述灰度规则库中的灰度规则的情况下,为所述用户标识添加所述灰度规则对应的标识数据;
第二请求模块506,用于接收所述客户端通过所述灰度规则程序文件发送的包括用户标识的第二访问请求;
灰度服务模块508,用于在识别到所述用户标识中存在标识数据的情况下,通过灰度接口提供所述第二访问请求对应的灰度版本服务以加载浏览器页面;
稳定服务模块510,用于在识别到所述用户标识中不存在标识数据的情况下,通过稳定接口提供所述第二访问请求对应的稳定版本服务以加载浏览器页面。
在一个实施例中,灰度发布装置还包括灰度发布管理模块,用于在接收客户端发送的第一访问请求之后,在所述灰度规则程序文件未配置所述灰度规则的情况下,通过灰度接口为预设比例的用户提供所述第一访问请求对应的灰度版本服务;在所述灰度规则程序文件配置所述灰度规则的情况下,执行所述接收客户端通过灰度规则程序文件发送的包括用户标识的第二访问请求的步骤。
在一个实施例中,灰度发布管理模块还用于根据加权轮询算法,通过灰度接口为预设比例的用户提供所述第一访问请求对应的灰度版本服务。
在一个实施例中,提供了一种灰度发布装置,应用于客户端,所述装置包括第一请求发送模块、第二请求发送模块、灰度规则匹配模块、标识数据添加模块和灰度服务发布模块。其中:
第一请求发送模块,用于向服务器发送第一访问请求;接收所述服务器基于所述第一访问请求返回的HTML文件,并通过浏览器加载所述HTML文件;
第二请求发送模块,用于当浏览器加载至所述HTML文件中灰度规则程序文件的统一资源定位符时,向服务器发送灰度规则程序文件获取请求;
灰度规则匹配模块,用于接收服务器返回的灰度规则程序文件,通过所述灰度规则程序文件基于第一访问请求获取用户信息,并将所述用户信息与所配置的灰度规则库进行匹配;
标识数据添加模块,用于在所述用户信息满足所述灰度规则库中的灰度规则的情况下,为所述用户标识添加所述灰度规则对应的标识数据;
灰度服务发布模块,用于将包括所述用户标识的第二访问请求发送至服务器,所述服务器用于当识别到所述用户标识中存在标识数据时,通过灰度接口提供所述第二访问请求对应的灰度版本服务以加载浏览器页面;当识别到所述用户标识中不存在标识数据时,通过稳定接口提供所述第二访问请求对应的稳定版本服务以加载浏览器页面。
在一个实施例中,灰度发布装置还包括灰度选择模块,用于在所述为所述用户标识添加所述灰度规则对应的标识数据之前,当所述用户信息满足所述灰度规则库中的灰度规则时,展示选择是否进入灰度版本服务的对话框;响应于用户对选择进入灰度版本服务的触发,执行所述为所述用户标识添加所述灰度规则对应的标识数据的步骤。
上述灰度发布装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图6所示。该计算机设备包括处理器、存储器、输入/输出接口(Input/Output,简称I/O)和通信接口。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储灰度规则数据。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种灰度发布方法。
本领域技术人员可以理解,图6中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述灰度发布方法实施例的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述灰度发布方法实施例的步骤。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述灰度发布方法实施例的步骤。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (10)
1.一种灰度发布方法,其特征在于,应用于服务器,所述方法包括:
接收客户端发送的第一访问请求,基于所述第一访问请求向客户端返回超文本标记语言HTML文件,以指示客户端通过浏览器加载所述HTML文件;
接收所述客户端发送的灰度规则程序文件获取请求,所述灰度规则程序文件获取请求是所述客户端通过所述浏览器加载所述HTML文件中灰度规则程序文件的统一资源定位符时所发送的;
向客户端返回所述灰度规则程序文件,以指示所述客户端通过所述灰度规则程序文件根据所述第一访问请求获取用户信息,并将用户信息与所配置的灰度规则库进行匹配;在所述用户信息满足所述灰度规则库中的灰度规则的情况下,为用户标识添加所述灰度规则对应的标识数据;
接收客户端通过所述灰度规则程序文件发送的包括用户标识的第二访问请求;
在识别到所述用户标识中存在标识数据的情况下,通过灰度接口提供所述第二访问请求对应的灰度版本服务以加载浏览器页面;
在识别到所述用户标识中不存在标识数据的情况下,通过稳定接口提供所述第二访问请求对应的稳定版本服务以加载浏览器页面。
2.根据权利要求1所述的方法,其特征在于,接收客户端发送的第一访问请求之后,所述方法还包括:
在所述灰度规则程序文件未配置所述灰度规则的情况下,通过灰度接口为预设比例的用户提供所述第一访问请求对应的灰度版本服务;
在所述灰度规则程序文件配置所述灰度规则的情况下,执行所述接收客户端通过灰度规则程序文件发送的包括用户标识的第二访问请求的步骤。
3.根据权利要求2所述的方法,其特征在于,所述通过灰度接口为预设比例的用户提供所述第一访问请求对应的灰度版本服务,包括:
根据加权轮询算法,通过灰度接口为预设比例的用户提供所述第一访问请求对应的灰度版本服务。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述灰度规则程序文件对应的统一资源定位符中添加有加载时间戳,所述加载时间戳是所述浏览器在加载至所述HTML文件中灰度规则程序文件的统一资源定位符时所添加的。
5.一种灰度发布方法,其特征在于,应用于客户端,所述方法包括:
向服务器发送第一访问请求;接收所述服务器基于所述第一访问请求返回的HTML文件,并通过浏览器加载所述HTML文件;
当浏览器加载至所述HTML文件中灰度规则程序文件的统一资源定位符时,向服务器发送灰度规则程序文件获取请求;
接收服务器返回的灰度规则程序文件,通过所述灰度规则程序文件基于第一访问请求获取用户信息,并将所述用户信息与所配置的灰度规则库进行匹配;
在所述用户信息满足所述灰度规则库中的灰度规则的情况下,为所述用户标识添加所述灰度规则对应的标识数据;
将包括所述用户标识的第二访问请求发送至服务器,所述服务器用于当识别到所述用户标识中存在标识数据时,通过灰度接口提供所述第二访问请求对应的灰度版本服务以加载浏览器页面;当识别到所述用户标识中不存在标识数据时,通过稳定接口提供所述第二访问请求对应的稳定版本服务以加载浏览器页面。
6.根据权利要求5所述的方法,其特征在于,在所述为所述用户标识添加所述灰度规则对应的标识数据之前,所述方法还包括:
当所述用户信息满足所述灰度规则库中的灰度规则时,展示选择是否进入灰度版本服务的对话框;
响应于用户对选择进入灰度版本服务的触发,执行所述为所述用户标识添加所述灰度规则对应的标识数据的步骤。
7.一种灰度发布装置,其特征在于,应用于服务器,所述装置包括:
第一请求模块,用于接收客户端发送的第一访问请求,基于所述第一访问请求向客户端返回超文本标记语言HTML文件,以指示客户端通过浏览器加载所述HTML文件;
文件管理模块,用于接收所述客户端发送的灰度规则程序文件获取请求,所述灰度规则程序文件获取请求是所述客户端通过所述浏览器加载所述HTML文件中灰度规则程序文件的统一资源定位符时所发送的,向客户端返回所述灰度规则程序文件,以指示所述客户端通过所述灰度规则程序文件根据所述第一访问请求获取用户信息,并将用户信息与所配置的灰度规则库进行匹配;在所述用户信息满足所述灰度规则库中的灰度规则的情况下,为用户标识添加所述灰度规则对应的标识数据;
第二请求模块,用于接收所述客户端通过灰度规则程序文件发送的包括用户标识的第二访问请求;
灰度服务模块,用于在识别到所述用户标识中存在标识数据的情况下,通过灰度接口提供所述第二访问请求对应的灰度版本服务以加载浏览器页面;
稳定服务模块,用于在识别到所述用户标识中不存在标识数据的情况下,通过稳定接口提供所述第二访问请求对应的稳定版本服务以加载浏览器页面。
8.一种灰度发布装置,其特征在于,应用于客户端,所述装置包括:
第一请求发送模块,用于向服务器发送第一访问请求;接收所述服务器基于所述第一访问请求返回的HTML文件,并通过浏览器加载所述HTML文件;
第二请求发送模块,用于当浏览器加载至所述HTML文件中灰度规则程序文件的统一资源定位符时,向服务器发送灰度规则程序文件获取请求;
灰度规则匹配模块,用于接收服务器返回的灰度规则程序文件,通过所述灰度规则程序文件基于第一访问请求获取用户信息,并将所述用户信息与所配置的灰度规则库进行匹配;
标识数据添加模块,用于在所述用户信息满足所述灰度规则库中的灰度规则的情况下,为所述用户标识添加所述灰度规则对应的标识数据;
灰度服务发布模块,用于将包括所述用户标识的第二访问请求发送至服务器,所述服务器用于当识别到所述用户标识中存在标识数据时,通过灰度接口提供所述第二访问请求对应的灰度版本服务以加载浏览器页面;当识别到所述用户标识中不存在标识数据时,通过稳定接口提供所述第二访问请求对应的稳定版本服务以加载浏览器页面。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至4或权5至6中任一项所述的方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至4或权5至6中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310886859.6A CN116776030A (zh) | 2023-07-19 | 2023-07-19 | 灰度发布方法、装置、计算机设备、存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310886859.6A CN116776030A (zh) | 2023-07-19 | 2023-07-19 | 灰度发布方法、装置、计算机设备、存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116776030A true CN116776030A (zh) | 2023-09-19 |
Family
ID=87985963
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310886859.6A Pending CN116776030A (zh) | 2023-07-19 | 2023-07-19 | 灰度发布方法、装置、计算机设备、存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116776030A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117032991A (zh) * | 2023-10-08 | 2023-11-10 | 宁波银行股份有限公司 | 一种灰度发布方法、装置及系统 |
-
2023
- 2023-07-19 CN CN202310886859.6A patent/CN116776030A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117032991A (zh) * | 2023-10-08 | 2023-11-10 | 宁波银行股份有限公司 | 一种灰度发布方法、装置及系统 |
CN117032991B (zh) * | 2023-10-08 | 2024-01-26 | 宁波银行股份有限公司 | 一种灰度发布方法、装置及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210105323A1 (en) | Cloud storage methods and systems | |
US20220035600A1 (en) | API Specification Generation | |
US9544355B2 (en) | Methods and apparatus for realizing short URL service | |
CN111104635B (zh) | 一种表格网页的生成方法和装置 | |
CN111092877B (zh) | 一种数据处理方法、装置、电子设备及存储介质 | |
CN109032797A (zh) | 用于提供网页访问的方法及设备 | |
US20150278173A1 (en) | Method, apparatus, terminal, and storage medium for image processing | |
CN110990736A (zh) | 页面加载方法、装置、终端设备和存储介质 | |
US11244153B2 (en) | Method and apparatus for processing information | |
CN113791759A (zh) | 代码开发的处理方法、装置、电子设备与存储介质 | |
CN116776030A (zh) | 灰度发布方法、装置、计算机设备、存储介质 | |
CN109495553A (zh) | 一种网页显示控制方法、系统及反向代理服务器 | |
CN109063142A (zh) | 网页资源推送方法及服务器 | |
CN107918617B (zh) | 数据查询方法和装置 | |
CN113360300B (zh) | 接口调用链路生成方法、装置、设备及可读存储介质 | |
US10095791B2 (en) | Information search method and apparatus | |
CN111209325B (zh) | 业务系统接口识别方法、装置及存储介质 | |
CN111680247B (zh) | 网页字符串的本地调用方法、装置、设备及存储介质 | |
CN113326418A (zh) | 用于确定网页信息源及网页质量的方法和装置 | |
CN106294417A (zh) | 一种数据排序方法、装置及电子设备 | |
CN112052152A (zh) | 一种模拟测试的方法和装置 | |
US11443098B1 (en) | Federated recursive user interface element rendering | |
CN109710604A (zh) | 数据处理方法、装置、系统、计算机可读存储介质 | |
CN113792232B (zh) | 页面特征计算方法、装置、电子设备、介质及程序产品 | |
CN113656737B (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 |