WEB端灰度发布方法、装置和系统与流程

    专利2022-07-08  111


    本发明涉及互联网技术领域,具体涉及一种web端灰度发布方法、装置和系统。



    背景技术:

    灰度发布(又名金丝雀发布)是指在黑与白之间,能够平滑过渡的一种发布方式。在其上可以进行a/btesting,即让一部分用户继续用产品特性a,一部分用户开始用产品特性b,如果用户对b没有什么反对意见,那么逐步扩大范围,把所有用户都迁移到b上面来。灰度发布可以保证整体系统的稳定,在初始灰度的时候就可以发现、调整问题,以保证其影响度。

    现有技术中,web端灰度多是通过nginx服务器进行控制,根据nginx服务器对流量进行分流,从而选择灰度某个版本,但是如果网络流量采用cdn缓存策略,某些被缓存的文件不会再请求到nginx服务器上,从而便会导致灰度失效。但是,如果不采用cdn缓存策略,又会导致服务器压力过大,无法承载线上流量。并且,现有技术中,无法实现局部灰度策略,对应用的灰度对象、灰度规则和灰度结果无法控制,使得灰度发布的灵活性较低。

    因此,如何在采用cdn缓存策略的情况下,实现灰度发布,并提高灰度发布的灵活性是本领域技术人员亟需解决的技术问题。



    技术实现要素:

    有鉴于此,本发明的目的在于提供一种web端灰度发布方法、装置和系统,以解决现有技术中在采用cdn缓存策略的情况下,无法实现灰度发布,以及现有技术中,无法实现局部灰度策略,对应用的灰度对象、灰度规则和灰度结果无法控制,使得灰度发布灵活性较低的问题。

    为实现以上目的,本发明采用如下技术方案:

    一种web端灰度发布方法,包括:

    获取当前web端发送的携带访问标识的访问请求;

    获取所述当前web端通过灰度前置操作确定的所述当前web端对应的灰度参数;

    根据所述灰度参数和预先获取的灰度规则,与所述访问请求相匹配的当前流量入口文件对应的基于sdk生成的灰度版本进行匹配,确定所述当前web端对应的目标灰度版本信息;

    将所述目标灰度版本信息发送给所述当前web端,以使所述当前web端从cdn或者服务器中获取并加载所述目标灰度版本信息对应版本的流量入口文件和静态资源文件。

    进一步地,上述web端灰度发布方法中,所述获取所述当前web端通过灰度前置操作确定的所述当前web端对应的灰度参数之前,还包括:

    获取灰度前置操作对应的预先配置的灰度前置操作信息和预先配置的灰度规则。

    进一步地,上述web端灰度发布方法中,所述获取所述当前web端通过灰度前置操作确定的所述当前web端对应的灰度参数之前,还包括:

    对基于sdk的利用预先获取的应用信息自动申领的域名进行绑定;

    对当前环境进行初始化;

    获取预先设置的版本信息和所述版本信息对应的流量入口文件,基于sdk,生成所述流量入口文件对应的灰度版本;

    所述灰度版本包括:所述流量入口文件和当前发布的版本内容;所述版本内容包括:当前发布的对应版本的静态资源文件。

    进一步地,上述web端灰度发布方法中,所述根据所述灰度参数和预先获取的灰度规则,与所述访问请求相匹配的当前流量入口文件对应的基于sdk生成的灰度版本进行匹配,确定所述当前web端对应的目标灰度版本信息之前,还包括:

    根据所述灰度规则,判断所述灰度参数是否处于灰度操作范围内;

    对应地,所述根据所述灰度参数和预先获取的灰度规则,与所述访问请求相匹配的当前流量入口文件对应的基于sdk生成的灰度版本进行匹配,确定所述当前web端对应的目标灰度版本信息,包括:

    若所述灰度参数处于所述灰度操作范围内,则根据所述灰度参数和预先获取的灰度规则,与所述访问请求相匹配的当前流量入口文件对应的基于sdk生成的灰度版本进行匹配,确定所述当前web端对应的目标灰度版本信息。

    进一步地,上述web端灰度发布方法,还包括:

    若所述灰度参数未处于所述灰度操作范围内,则将所述原始版本信息发送给所述当前web端,以使所述当前web端从cdn或者服务器中获取并加载所述原始版本信息对应版本的流量入口文件和静态资源文件。

    本发明还提供了一种web端灰度发布装置,包括:第一获取模块、第二获取模块、灰度版本匹配模块和发送模块;

    所述第一获取模块,用于获取当前web端发送的携带访问标识的访问请求;

    所述第二获取模块,用于获取所述当前web端通过灰度前置操作确定的所述当前web端对应的灰度参数;

    所述灰度版本匹配模块,用于根据所述灰度参数和预先获取的灰度规则,与所述访问请求相匹配的当前流量入口文件对应的基于sdk生成的灰度版本进行匹配,确定所述当前web端对应的目标灰度版本信息;

    所述发送模块,用于将所述目标灰度版本信息发送给所述当前web端,以使所述当前web端从cdn或者服务器中获取并加载所述目标灰度版本信息对应版本的流量入口文件和静态资源文件。

    进一步地,上述web端灰度发布装置,还包括:第三获取模块;

    所述第三获取模块,用于获取灰度前置操作对应的预先配置的灰度前置操作信息和预先配置的灰度规则。

    进一步地,上述web端灰度发布装置,还包括:绑定模块、初始化模块和灰度版本生成模块;

    所述绑定模块,用于对基于sdk的利用预先获取的应用信息自动申领的域名进行绑定;

    所述初始化模块,用于对当前环境进行初始化;

    所述灰度版本生成模块,用于获取预先设置的版本信息和所述版本信息对应的流量入口文件,基于sdk,生成所述流量入口文件对应的灰度版本;所述灰度版本包括:所述流量入口文件和当前发布的版本内容;所述版本内容包括:当前发布的对应版本的静态资源文件。

    进一步地,上述web端灰度发布装置,还包括:判断模块;

    所述判断模块,用于根据所述灰度规则,判断所述灰度参数是否处于灰度操作范围内;

    所述灰度版本匹配模块,具体用于若所述灰度参数处于所述灰度操作范围内,则根据所述灰度参数和预先获取的灰度规则,与所述访问请求相匹配的当前流量入口文件对应的基于sdk生成的灰度版本进行匹配,确定所述当前web端对应的目标灰度版本信息。

    本发明还提供了一种web端灰度发布系统,包括:处理器以及与所述处理器相连的存储器;

    所述存储器用于存储计算机程序,所述计算机程序至少用于执行上述web端灰度发布方法;

    所述处理器用于调用并执行所述计算机程序。

    一种web端灰度发布方法、装置和系统,获取当前web端发送的携带访问标识的访问请求;获取当前web端通过灰度前置操作确定的当前web端对应的灰度参数;根据灰度参数和预先获取的灰度规则,与访问请求相匹配的当前流量入口文件对应的基于sdk生成的灰度版本进行匹配,确定当前web端对应的目标灰度版本信息;将目标灰度版本信息发送给当前web端,以使当前web端从cdn或者服务器中获取并加载目标灰度版本信息对应版本的流量入口文件和静态资源文件。采用本发明的技术方案,可以先确定目标灰度版本信息,根据该目标灰度版本信息再从cdn或者服务器中获取并加载目标灰度版本信息对应版本的流量入口文件和静态资源文件,其中,不同版本的流量入口文件和静态资源文件在不同的文件夹中,即使cdn对静态资源文件进行缓存,用户也可获取到正确的流量入口文件,从而在采用cdn缓存策略的情况下,实现灰度发布。并且,还可以根据获取的预先配置的灰度前置操作和灰度规则实现局部灰度策略,实现灰度分布的控制,提高了灰度发布的灵活性。

    应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。

    附图说明

    为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

    图1是本发明的web端灰度发布方法一种实施例提供的流程图;

    图2是本发明的web端灰度发布装置一种实施例提供的结构示意图;

    图3是本发明的web端灰度发布系统一种实施例提供的结构示意图。

    具体实施方式

    为使本发明的目的、技术方案和优点更加清楚,下面将对本发明的技术方案进行详细的描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所得到的所有其它实施方式,都属于本发明所保护的范围。

    图1是本发明的web端灰度发布方法一种实施例提供的流程图,如图1所示,本实施例的web端灰度发布方法具体包括如下步骤:

    s101、获取当前web端发送的携带访问标识的访问请求;

    本实施例中,用户可以通过web端发送访问请求,并且该访问请求携带有访问标识。其中,访问标识可以为某网站的url地址等。服务器获取当前web端发送的携带访问标识的访问请求。其中,该服务器优选为nginx服务器。

    s102、获取当前web端通过灰度前置操作确定的当前web端对应的灰度参数;

    用户通过当前web端发送了访问请求后,当前web端会进行灰度前置操作,其中,灰度前置操作为自定义操作,可以由用户或者开发者预先配置,用户可以直接通过当前web端进行灰度前置操作的配置。当前web端进行灰度前置操作后会确定当前web端对应的灰度参数。其中,灰度前置操作可以为获取用户信息的操作、获取浏览器信息的操作和获取操作系统信息的操作等。相应的灰度参数可以为当前web端对应的用户信息、浏览器信息和操作系统信息等。本实施例中,服务器可以获取当前web端通过灰度前置操作确定的当前web端对应的灰度参数。

    s103、根据灰度参数和预先获取的灰度规则,与访问请求相匹配的当前流量入口文件对应的基于sdk生成的灰度版本进行匹配,确定当前web端对应的目标灰度版本信息;

    本实施例中,用户或者开发者还可以预先设置灰度规则,其中,灰度规则可以根据灰度参数设置,也可自主设置。用户可以指定任意key的值等于、包含、大于或者小于灰度参数或者自主设置的参数。灰度规则设置完成后,当前web端可以将灰度规则发送到服务器,另外,服务器中还存储有预先创建的各流量入口文件对应的灰度版本,其中,灰度版本是基于软件开发工具包sdk生成的。服务器可以确定与上述步骤获取的访问请求相匹配的当前流量入口文件,根据灰度参数和灰度规则,与当前流量入口文件对应的所有灰度版本进行匹配,从当前流量入口文件对应的所有灰度版本中匹配出当前web端对应的目标灰度版本信息。在进行匹配时,需要根据灰度规则,匹配出与灰度参数相符的目标灰度版本信息。

    s104、将目标灰度版本信息发送给当前web端,以使当前web端从cdn或者服务器中获取并加载目标灰度版本信息对应版本的流量入口文件和静态资源文件。

    服务器确定了当前web端对应的目标灰度版本信息后,将该目标灰度版本信息发送给当前web端,当前web端根据目标灰度版本信息,从cdn中获取目标灰度版本信息对应版本的流量入口文件和静态资源文件,如果cdn中并未缓存上述文件,则cdn向服务器请求回源,从而从服务器获取上述文件。当前web端获取到目标灰度版本信息对应版本的流量入口文件和静态资源文件后,对上述文件进行加载,从而完成灰度发布操作。其中,流量入口文件和相应版本的静态资源文件存储在相应版本的文件夹中,不同版本的灰度版本中均包括相应版本的流量入口文件和静态资源文件。

    本实施例的web端灰度发布方法,获取当前web端发送的携带访问标识的访问请求;获取当前web端通过灰度前置操作确定的当前web端对应的灰度参数;根据灰度参数和预先获取的灰度规则,与访问请求相匹配的当前流量入口文件对应的基于sdk生成的灰度版本进行匹配,确定当前web端对应的目标灰度版本信息;将目标灰度版本信息发送给当前web端,以使当前web端从cdn或者服务器中获取并加载目标灰度版本信息对应版本的流量入口文件和静态资源文件。采用本实施例的技术方案,可以先确定目标灰度版本信息,根据该目标灰度版本信息再从cdn或者服务器中获取并加载目标灰度版本信息对应版本的流量入口文件和静态资源文件,其中,不同版本的流量入口文件和静态资源文件在不同的文件夹中,即使cdn对静态资源文件进行缓存,用户也可获取到正确的流量入口文件,从而在采用cdn缓存策略的情况下,实现灰度发布。并且,还可以根据获取的预先配置的灰度前置操作和灰度规则实现局部灰度策略,实现灰度分布的控制,提高了灰度发布的灵活性。

    进一步地,本实施例的web端灰度发布方法,在获取当前web端通过灰度前置操作确定的当前web端对应的灰度参数之前,还包括:

    获取灰度前置操作对应的预先配置的灰度前置操作信息和预先配置的灰度规则。

    用户或开发者可以对预先配置灰度前置操作信息和灰度规则,服务器获取当前web端发送的预先配置的灰度前置操作信息和灰度规则。用户和开发者可以通过预先配置灰度前置操作信息和灰度规则实现局部灰度策略,对灰度对象、灰度规则和灰度结果进行控制,提高了灰度发布的灵活性。

    进一步地,本实施例的web端灰度发布方法,在获取当前web端通过灰度前置操作确定的当前web端对应的灰度参数之前,还包括:

    第一,对基于sdk的利用预先获取的应用信息自动申领的域名进行绑定;

    本实施例可以利用sdk,根据开发者预先录入的应用信息,创建应用,并自动申领域名,服务器绑定该域名,实现域名映射。

    第二,对当前环境进行初始化;

    完成域名申领和绑定后,对服务器的当前环境进行初始化,例如服务器为nginx服务器,初始化nginx服务器上的环境。完成环境初始化后,可以将流量入口文件推送到nginx服务器映射的目录上,从而实现应用的创建。

    第三,获取预先设置的版本信息和所述版本信息对应的流量入口文件,基于sdk,生成所述流量入口文件对应的灰度版本;

    完成应用创建后,开发者可以输入版本信息,并将该版本信息对应的流量入口文件推送到服务器,服务器根据获取到的版本信息和该版本信息对应的流量入口文件,利用sdk生成该流量入口文件对应的灰度版本,实现灰度版本的生成。其中,灰度版本中包括流量入口文件和当前发布的版本内容;版本内容包括当前发布的对应版本的静态资源文件。并且版本内容携带当前发布的版本标识。开发者可以根据每个流量入口文件,创建多个不同版本标识的灰度版本。

    进一步地,本实施例还可以对灰度版本进行删除操作,从而将该灰度版本对应的文件全部删除,实现版本下线。

    进一步地,本实施例的web端灰度发布方法,在根据灰度参数和预先获取的灰度规则,与访问请求相匹配的当前流量入口文件对应的基于sdk生成的灰度版本进行匹配,确定当前web端对应的目标灰度版本信息之前,还包括:

    根据灰度规则,判断灰度参数是否处于灰度操作范围内。

    本实施例中,灰度规则可以根据灰度参数设置,也可自主设置。用户可以指定任意key的值等于、包含、大于或者小于灰度参数或者自主设置的参数。因此,服务器可以判断上述步骤获取到的灰度参数是否处于灰度规则规定的灰度操作范围内,其中灰度操作范围为灰度规则规定的需要进行灰度操作的web端的范围。如果服务器判断出上述步骤获取到的灰度参数是否处于灰度规则规定的灰度操作范围内,则执行步骤s103。

    本实施例中,灰度规则可以根据当前流量入口文件对应的灰度版本的数量设定灰度操作范围。例如如果当前流量入口文件对应的灰度版本只有一个,设定灰度参数大于预设参数的范围为灰度操作范围,不大于预设参数的范围为非灰度操作范围。那么预先获取到的灰度参数如果处于灰度操作范围,则能根据唯一的灰度版本确定当前web端对应的目标灰度版本信息;如果当前流量入口文件对应的灰度版本有多个,那么灰度规则会对灰度操作范围进行细致划分,对每个灰度版本对应的范围规定出来,那么便会根据灰度参数和细致划分的范围进行匹配,从而确定目标灰度版本信息。

    进一步地,如果灰度参数未处于灰度操作范围内(即处于非灰度操作范围内),则说明该灰度参数对应的当前web端无需进行灰度操作,因此当前web端需要按照原始版本工作。那么,服务器则需将原始版本信息发送给当前web端,以使当前web端从cdn或者服务器中获取并加载原始版本信息对应版本的流量入口文件和静态资源文件。其中,当前web端需要先从cdn中获取原始版本信息对应版本的流量入口文件和静态资源文件,如果cdn中并未缓存上述文件,那么cdn便会向服务器请求回源,从而从服务器获取上述文件,以便当前web端加载上述文件,完成页面显示。采用本实施例,可以对web端进行局部灰度控制,提高灰度发布的灵活性。

    为了更全面,对应于本发明实施例提供的web端灰度发布方法,本申请还提供了web端灰度发布装置。

    图2是本发明的web端灰度发布装置一种实施例提供的结构示意图,如图2所示,本实施例的web端灰度发布装置包括第一获取模块101、第二获取模块102、灰度版本匹配模块103和发送模块104。

    第一获取模块101,用于获取当前web端发送的携带访问标识的访问请求;

    第二获取模块102,用于获取当前web端通过灰度前置操作确定的当前web端对应的灰度参数;

    灰度版本匹配模块103,用于根据灰度参数和预先获取的灰度规则,与访问请求相匹配的当前流量入口文件对应的基于sdk生成的灰度版本进行匹配,确定当前web端对应的目标灰度版本信息;

    发送模块104,用于将目标灰度版本信息发送给当前web端,以使当前web端从cdn或者服务器中获取并加载目标灰度版本信息对应版本的流量入口文件和静态资源文件。

    本实施例的web端灰度发布装置,第一获取模块101获取当前web端发送的携带访问标识的访问请求;第二获取模块102获取当前web端通过灰度前置操作确定的当前web端对应的灰度参数;灰度版本匹配模块103根据灰度参数和预先获取的灰度规则,与访问请求相匹配的当前流量入口文件对应的基于sdk生成的灰度版本进行匹配,确定当前web端对应的目标灰度版本信息;发送模块104将目标灰度版本信息发送给当前web端,以使当前web端从cdn或者服务器中获取并加载目标灰度版本信息对应版本的流量入口文件和静态资源文件。采用本实施例的技术方案,可以先确定目标灰度版本信息,根据该目标灰度版本信息再从cdn或者服务器中获取并加载目标灰度版本信息对应版本的流量入口文件和静态资源文件,其中,不同版本的流量入口文件和静态资源文件在不同的文件夹中,即使cdn对静态资源文件进行缓存,用户也可获取到正确的流量入口文件,从而在采用cdn缓存策略的情况下,实现灰度发布。并且,还可以根据获取的预先配置的灰度前置操作和灰度规则实现局部灰度策略,实现灰度分布的控制,提高了灰度发布的灵活性。

    进一步地,本实施例的web端灰度发布装置,还包括第三获取模块。

    第三获取模块,用于获取灰度前置操作对应的预先配置的灰度前置操作信息和预先配置的灰度规则。

    进一步地,本实施例的web端灰度发布装置,还包括:绑定模块、初始化模块和灰度版本生成模块;

    绑定模块,用于对基于sdk的利用预先获取的应用信息自动申领的域名进行绑定;

    初始化模块,用于对当前环境进行初始化;

    灰度版本生成模块,用于获取预先设置的版本信息和版本信息对应的流量入口文件,基于sdk,生成流量入口文件对应的灰度版本;灰度版本包括:流量入口文件和当前发布的版本内容;版本内容包括:当前发布的对应版本的静态资源文件。

    进一步地,本实施例的web端灰度发布装置,还包括:判断模块;

    判断模块,用于根据灰度规则,判断灰度参数是否处于灰度操作范围内;

    灰度版本匹配模块,具体用于若灰度参数处于灰度操作范围内,则根据灰度参数和预先获取的灰度规则,与访问请求相匹配的当前流量入口文件对应的基于sdk生成的灰度版本进行匹配,确定当前web端对应的目标灰度版本信息。

    进一步地,本实施例的web端灰度发布装置中,发送模块104,还用于若灰度参数未处于灰度操作范围内,则将原始版本信息发送给当前web端,以使当前web端从cdn或者服务器中获取并加载原始版本信息对应版本的流量入口文件和静态资源文件。

    关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。

    图3是本发明的web端灰度发布系统一种实施例提供的结构示意图,如图3所示,本实施例的web端灰度发布系统包括处理器21以及与处理器21相连的存储器22;

    存储器22用于存储计算机程序,所述计算机程序至少用于执行上述实施例的web端灰度发布方法;

    处理器21用于调用并执行所述计算机程序。

    本实施例的web端灰度发布系统,可以先确定目标灰度版本信息,根据该目标灰度版本信息再从cdn或者服务器中获取并加载目标灰度版本信息对应版本的流量入口文件和静态资源文件,其中,不同版本的流量入口文件和静态资源文件在不同的文件夹中,即使cdn对静态资源文件进行缓存,用户也可获取到正确的流量入口文件,从而在采用cdn缓存策略的情况下,实现灰度发布。并且,还可以根据获取的预先配置的灰度前置操作和灰度规则实现局部灰度策略,实现灰度分布的控制,提高了灰度发布的灵活性。

    可以理解的是,上述各实施例中相同或相似部分可以相互参考,在一些实施例中未详细说明的内容可以参见其他实施例中相同或相似的内容。

    需要说明的是,在本发明的描述中,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本发明的描述中,除非另有说明,“多个”的含义是指至少两个。

    流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。

    应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。

    本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。

    此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。

    上述提到的存储介质可以是只读存储器,磁盘或光盘等。

    在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。

    尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。


    技术特征:

    1.一种web端灰度发布方法,其特征在于,包括:

    获取当前web端发送的携带访问标识的访问请求;

    获取所述当前web端通过灰度前置操作确定的所述当前web端对应的灰度参数;

    根据所述灰度参数和预先获取的灰度规则,与所述访问请求相匹配的当前流量入口文件对应的基于sdk生成的灰度版本进行匹配,确定所述当前web端对应的目标灰度版本信息;

    将所述目标灰度版本信息发送给所述当前web端,以使所述当前web端从cdn或者服务器中获取并加载所述目标灰度版本信息对应版本的流量入口文件和静态资源文件。

    2.根据权利要求1所述的web端灰度发布方法,其特征在于,所述获取所述当前web端通过灰度前置操作确定的所述当前web端对应的灰度参数之前,还包括:

    获取灰度前置操作对应的预先配置的灰度前置操作信息和预先配置的灰度规则。

    3.根据权利要求1所述的web端灰度发布方法,其特征在于,所述获取所述当前web端通过灰度前置操作确定的所述当前web端对应的灰度参数之前,还包括:

    对基于sdk的利用预先获取的应用信息自动申领的域名进行绑定;

    对当前环境进行初始化;

    获取预先设置的版本信息和所述版本信息对应的流量入口文件,基于sdk,生成所述流量入口文件对应的灰度版本;

    所述灰度版本包括:所述流量入口文件和当前发布的版本内容;所述版本内容包括:当前发布的对应版本的静态资源文件。

    4.根据权利要求1所述的web端灰度发布方法,其特征在于,所述根据所述灰度参数和预先获取的灰度规则,与所述访问请求相匹配的当前流量入口文件对应的基于sdk生成的灰度版本进行匹配,确定所述当前web端对应的目标灰度版本信息之前,还包括:

    根据所述灰度规则,判断所述灰度参数是否处于灰度操作范围内;

    对应地,所述根据所述灰度参数和预先获取的灰度规则,与所述访问请求相匹配的当前流量入口文件对应的基于sdk生成的灰度版本进行匹配,确定所述当前web端对应的目标灰度版本信息,包括:

    若所述灰度参数处于所述灰度操作范围内,则根据所述灰度参数和预先获取的灰度规则,与所述访问请求相匹配的当前流量入口文件对应的基于sdk生成的灰度版本进行匹配,确定所述当前web端对应的目标灰度版本信息。

    5.根据权利要求4所述的web端灰度发布方法,其特征在于,还包括:

    若所述灰度参数未处于所述灰度操作范围内,则将所述原始版本信息发送给所述当前web端,以使所述当前web端从cdn或者服务器中获取并加载所述原始版本信息对应版本的流量入口文件和静态资源文件。

    6.一种web端灰度发布装置,其特征在于,包括:第一获取模块、第二获取模块、灰度版本匹配模块和发送模块;

    所述第一获取模块,用于获取当前web端发送的携带访问标识的访问请求;

    所述第二获取模块,用于获取所述当前web端通过灰度前置操作确定的所述当前web端对应的灰度参数;

    所述灰度版本匹配模块,用于根据所述灰度参数和预先获取的灰度规则,与所述访问请求相匹配的当前流量入口文件对应的基于sdk生成的灰度版本进行匹配,确定所述当前web端对应的目标灰度版本信息;

    所述发送模块,用于将所述目标灰度版本信息发送给所述当前web端,以使所述当前web端从cdn或者服务器中获取并加载所述目标灰度版本信息对应版本的流量入口文件和静态资源文件。

    7.根据权利要求6所述的web端灰度发布装置,其特征在于,还包括:第三获取模块;

    所述第三获取模块,用于获取灰度前置操作对应的预先配置的灰度前置操作信息和预先配置的灰度规则。

    8.根据权利要求6所述的web端灰度发布装置,其特征在于,还包括:绑定模块、初始化模块和灰度版本生成模块;

    所述绑定模块,用于对基于sdk的利用预先获取的应用信息自动申领的域名进行绑定;

    所述初始化模块,用于对当前环境进行初始化;

    所述灰度版本生成模块,用于获取预先设置的版本信息和所述版本信息对应的流量入口文件,基于sdk,生成所述流量入口文件对应的灰度版本;所述灰度版本包括:所述流量入口文件和当前发布的版本内容;所述版本内容包括:当前发布的对应版本的静态资源文件。

    9.根据权利要求6所述的web端灰度发布装置,其特征在于,还包括:判断模块;

    所述判断模块,用于根据所述灰度规则,判断所述灰度参数是否处于灰度操作范围内;

    所述灰度版本匹配模块,具体用于若所述灰度参数处于所述灰度操作范围内,则根据所述灰度参数和预先获取的灰度规则,与所述访问请求相匹配的当前流量入口文件对应的基于sdk生成的灰度版本进行匹配,确定所述当前web端对应的目标灰度版本信息。

    10.一种web端灰度发布系统,其特征在于,包括:处理器以及与所述处理器相连的存储器;

    所述存储器用于存储计算机程序,所述计算机程序至少用于执行权利要求1-5任一项所述的web端灰度发布方法;

    所述处理器用于调用并执行所述计算机程序。

    技术总结
    本发明涉及一种WEB端灰度发布方法、装置和系统,获取当前WEB端发送的携带访问标识的访问请求和当前WEB端通过灰度前置操作确定的灰度参数;根据灰度参数和灰度规则,与访问请求相匹配的当前流量入口文件对应的灰度版本进行匹配,确定当前WEB端对应的目标灰度版本信息,并将其发送给当前WEB端,以使当前WEB端从CDN或者服务器中获取并加载目标灰度版本信息对应版本的流量入口文件和静态资源文件。不同版本的流量入口文件和静态资源文件在不同文件夹中,即使CDN对静态资源文件进行缓存,用户也可获取到正确的流量入口文件,实现灰度发布,根据预先配置的灰度前置操作和灰度规则实现灰度分布的控制,提高了灰度发布的灵活性。

    技术研发人员:杨忠儒
    受保护的技术使用者:上海中通吉网络技术有限公司
    技术研发日:2020.11.25
    技术公布日:2021.03.12

    转载请注明原文地址:https://wp.8miu.com/read-23260.html

    最新回复(0)