应用的灰度发布方法、装置及计算机可读存储介质与流程

文档序号:15845992发布日期:2018-11-07 09:01阅读:125来源:国知局
应用的灰度发布方法、装置及计算机可读存储介质与流程

本发明涉及计算机技术领域,尤其涉及一种应用的灰度发布方法、装置及计算机可读存储介质。

背景技术

随着互联网行业的发展,与互联网相关的行业也得到迅速的发展,而在终端设备中最明显的表现是操作系统和应用程序的更新升级。

互联网产品都有大量的面向用户的功能,这些功能在没有线上验证的情况下,无法得到真实的用户的反馈信息,因此也缺少了判断新功能是否真的优于旧功能的依据。目前,应用软件开发人员在开发更新的应用软件时,由测试人员进行内部测试后进行更新,但是内部测试并不能完全发现新功能存在的缺陷,并且无法得到用户对新功能的反馈,一旦软件出现问题,需要进行回滚,而回滚不仅工作量大而且效率低,也会影响到业务的正常运行,导致旧版本软件至新版本软件之间的难以实现平稳升级。



技术实现要素:

本发明提供一种应用的灰度发布方法、装置及计算机可读存储介质,其主要目的在于实现由旧版本软件至新版本软件之间的平稳升级。

为实现上述目的,本发明还提供一种应用的灰度发布方法,该方法包括:

当接收到客户端发送的访问请求时,确定所述访问请求对应的用户信息;

从缓存中获取当前的第一分流规则,并判断所述用户信息是否与所述第一分流规则匹配;

若所述用户信息与所述第一分流规则匹配,则确定所述访问请求对应的灰度功能模块,并将所述用户请求导流至与所述灰度功能模块对应的灰度服务集群进行处理;

根据所述访问请求更新记录的所述灰度功能模块的访问量;

当所述灰度服务模块的上线时长达到预设时长时,获取统计的访问量;

根据预设的访问量与灰度比例之间的映射关系,确定获取的访问量对应的灰度比例,并根据所述灰度比例调整所述第一分流规则。

可选地,所述当接收到客户端发送的访问请求时,确定所述访问请求对应的用户信息的步骤之前,所述方法还包括步骤:

根据所述灰度功能模块生成测试邀请链接,并将所述测试邀请链接下发至客户端;

当接收到客户端基于所述测试邀请链接发送的响应信息时,从所述响应信息中获取用户终端的配置信息和用户信息,将获取的用户信息添加至灰度白名单,并根据所述配置信息判断所述用户终端是否符合测试条件;

若是,则将所述灰度功能模块对应的软件更新包发送至符合测试条件的响应信息对应的用户终端。

可选地,所述用户信息为用户名,所述第一分流规则为灰度白名单,所述判断所述用户信息是否与所述第一分流规则匹配的步骤包括:

判断所用户名是否位于灰度白名单中,其中,若所述灰度白名单中有所述用户名,则判定所述用户信息与所述第一分流规则匹配,若所述灰度白名单中没有所述用户名,则判定所述用户信息与所述第一分流规则不匹配。

可选地,所述判断所述用户信息是否与所述第一分流规则匹配的步骤之后,所述方法还包括步骤:

若所述用户信息与所述第一分流规则不匹配,则将所述用户请求导流至所述客户端对应的正式服务集群进行处理。

可选地,所述根据预设的访问量与灰度比例之间的映射关系,确定获取的访问量对应的灰度比例,并根据所述灰度比例调整所述第一分流规则的步骤之后,所述方法还包括步骤:

当接收到分流规则更新指令时,根据所述分流规则更新指令获取第二分流规则,将所述第二分流规则与缓存中的第一分流规则进行对比分析,以确定所述第二分流规则中的增量信息;

根据所述增量信息将缓存中的第一分流规则更新为所述第二分流规则。

此外,为实现上述目的,本发明还提供一种应用的灰度发布装置,该装置包括存储器和处理器,所述存储器中存储有可在所述处理器上运行的灰度发布程序,所述灰度发布程序被所述处理器执行时实现如下步骤:

当接收到客户端发送的访问请求时,确定所述访问请求对应的用户信息;

从缓存中获取当前的第一分流规则,并判断所述用户信息是否与所述第一分流规则匹配;

若所述用户信息与所述第一分流规则匹配,则确定所述访问请求对应的灰度功能模块,并将所述用户请求导流至与所述灰度功能模块对应的灰度服务集群进行处理;

根据所述访问请求更新记录的所述灰度功能模块的访问量;

当所述灰度服务模块的上线时长达到预设时长时,获取统计的访问量;

根据预设的访问量与灰度比例之间的映射关系,确定获取的访问量对应的灰度比例,并根据所述灰度比例调整所述第一分流规则。

可选地,所述灰度发布程序还可被所述处理器执行,以在所述当接收到客户端发送的访问请求时,确定所述访问请求对应的用户信息的步骤之前,还实现如下步骤:

根据所述灰度功能模块生成测试邀请链接,并将所述测试邀请链接下发至客户端;

当接收到客户端基于所述测试邀请链接发送的响应信息时,从所述响应信息中获取用户终端的配置信息和用户信息,将获取的用户信息添加至灰度白名单,并根据所述配置信息判断所述用户终端是否符合测试条件;

若是,则将所述灰度功能模块对应的软件更新包发送至符合测试条件的响应信息对应的用户终端。

可选地,所述灰度发布程序还可被所述处理器执行,以在所述判断所述用户信息是否与所述第一分流规则匹配的步骤之后,还实现如下步骤:

若所述用户信息与所述第一分流规则不匹配,则将所述用户请求导流至所述客户端对应的正式服务集群进行处理。

可选地,所述灰度发布程序还可被所述处理器执行,以在所述根据预设的访问量与灰度比例之间的映射关系,确定获取的访问量对应的灰度比例,并根据所述灰度比例调整所述第一分流规则的步骤之后,还实现如下步骤:

当接收到分流规则更新指令时,根据所述分流规则更新指令获取第二分流规则,将所述第二分流规则与缓存中的第一分流规则进行对比分析,以确定所述第二分流规则中的增量信息;

根据所述增量信息将缓存中的第一分流规则更新为所述第二分流规则。

此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有灰度发布程序,所述灰度发布程序可被一个或者多个处理器执行,以实现如上所述的应用的灰度发布方法的步骤。

本发明提出的应用的灰度发布方法、装置及计算机可读存储介质,当接收到目标应用的客户端发送的访问请求时,确定访问请求对应的用户信息;从缓存中获取当前的第一分流规则,并判断用户信息是否与第一分流规则匹配;若用户信息与第一分流规则匹配,则确定访问请求对应的灰度功能模块,并将用户请求导流至与灰度功能模块对应的灰度服务集群进行处理;根据访问请求更新记录的灰度服务的访问量;当灰度服务模块的上线时长达到预设时长时,获取统计的访问量;根据预设的访问量与灰度比例之间的映射关系,确定获取的访问量对应的灰度比例,并根据灰度比例调整第一分流规则。本发明方案中设置有专门用于支持灰度功能模块的灰度服务集群,将符合分流规则的用户请求分流到灰度服务集群进行处理,同时根据访问请求对灰度功能模块的访问量进行统计,当灰度功能模块上线一段时间后,根据统计的访问量对灰度比例进行调整,继而根据灰度比例调整第一分流规则,按照这样的方式实现软件由旧版本到新版本的平稳过渡。

附图说明

图1为本发明一实施例提供的应用的灰度发布方法的流程示意图;

图2为本发明一实施例提供的应用的灰度发布装置的内部结构示意图;

图3为本发明一实施例提供的应用的灰度发布装置中灰度发布程序的模块示意图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

本发明提供一种应用的灰度发布方法。参照图1所示,为本发明一实施例提供的应用的灰度发布方法的流程示意图。该方法可以由一个装置执行,该装置可以由软件和/或硬件实现。

在本实施例中,应用的灰度发布方法包括:

步骤s10,当接收到客户端发送的访问请求时,确定所述访问请求对应的用户信息。

当应用有新功能要上线时,开发人员开发升级后的应用的灰度版本,其中该灰度版本的应用软件中包含有灰度功能模块,该灰度功能模块可以是将旧版本的应用中的某个功能模块升级得到的功能模块,或者是为该应用开发的新的功能模块。并且,在服务端为灰度版本的应用部署有测试环境,即灰度服务集群,为正式版本的应用部署有正式环境,即正式服务集群。

其中,关于用户获取灰度版本的客户端的方式可以有多种,例如,由服务端对客户端的所有用户的用户级别进行统计,筛选用户级别高的用户作为目标用户,将具有灰度功能模块的灰度版本应用发送到这些目标用户的终端上,由用户对软件进行本地更新,或者在应用启动时进行热更新。或者,在其他实施例中,通过向客户端推送测试邀请链接选择符合测试条件的目标用户,并将这些用户添加到灰度白名单中。具体地,根据所述灰度功能模块生成测试邀请链接,并将所述测试邀请链接下发至客户端;当接收到客户端基于所述测试邀请链接发送的响应信息时,从所述响应信息中获取用户终端的配置信息和用户信息,将获取的用户信息添加至灰度白名单,并根据所述配置信息判断所述用户终端是否符合测试条件;若是,则将所述灰度功能模块对应的软件更新包发送至符合测试条件的响应信息对应的用户终端。

步骤s20,从缓存中获取当前的第一分流规则,并判断所述用户信息是否与所述第一分流规则匹配。

步骤s30,若所述用户信息与所述第一分流规则匹配,则确定所述访问请求对应的灰度功能模块,并将所述用户请求导流至与所述灰度功能模块对应的灰度服务集群进行处理。

预先配置第一分流规则,第一分流规则用于将用户请求导流到正确的服务集群。可以说明的是,一个应用的灰度版本中可以包含多个灰度功能模块,在服务端为每个灰度功能模块设置有对应的灰度服务集群,若用户信息与第一分流规则匹配,则确定访问请求对应的灰度功能模块,并将用户请求导流至与确定的灰度功能模块对应的灰度服务集群进行处理。并且每一个灰度功能模块对应的目标用户可以不同。

此外,本实施例中,灰度集群的设置方法如下:测试人员设置灰度比例,根据设置的灰度比例将原始服务集群拆分为正式服务集群和灰度服务集群。例如,原始的服务集群中有20台服务器,假设用户设置的灰度比例为20%,则筛选出原生服务集群中的4台服务器作为灰度集群的服务器。其他的服务器作为正式服务集群,为正式版本的目标应用提供服务。其中,灰度比例为使用灰度版本的应用的用户数量在该目标应用的总用户数量中所占的比例。

可选地,在一实施例中,用户信息为用户名,第一分流规则为灰度白名单,判断用户信息是否与第一分流规则匹配的步骤包括:判断所用户名是否位于灰度白名单中,其中,若灰度白名单中有用户名,则判定用户信息与第一分流规则匹配,若灰度白名单中没有用户名,则判定用户信息与第一分流规则不匹配。

或者,在另一实施例中,第一分流规则为ip地址白名单,用户信息为访问请求中包含的客户端ip地址。判断访问请求中包含的客户端ip地址是否位于ip地址白名单中,若是,判定用户信息与第一分流规则匹配,否则,判定用户信息与第一分流规则不匹配。

可选地,一个灰度功能模块可以对应于一个或者多个第一分流规则,当第一分流规则有多个时,可以综合多个规则对用户请求进行分流。例如,当第一分流规则有多个时,逐一对分流规则进行匹配的,当用户信息同时符合多个第一分流规则,判定用户信息与第一分流规则匹配。

步骤s40,根据所述访问请求更新记录的所述灰度功能模块的访问量。

步骤s50,当所述灰度服务模块的上线时长达到预设时长时,获取统计的访问量。

步骤s60,根据预设的访问量与灰度比例之间的映射关系,确定获取的访问量对应的灰度比例,并根据所述灰度比例调整所述第一分流规则。

具体地,测试人员可以预先设置好访问量与灰度比例之间的映射关系,访问量与灰度比例之间可以成正比关系。在灰度功能模块上线的这段时间内,若对灰度功能模块的访问量越多,则说明用户对于灰度功能模块的反馈情况良好,可以开放给更多的用户使用灰度版本的应用。此时,根据预设的访问量与灰度比例之间的映射关系确定新的灰度比例,进而按照灰度比例调整第一分流规则,以将更多的用户请求分流到灰度服务集群。例如,若第一分流规则为灰度白名单,则增加灰度白名单中的用户。通过这样的方式,若用户反馈一直处于较好的状态,则灰度比例不断上调,直至客户端所有的用户或者有大于预设阈值的用户均升级为灰度版本的应用后,则可以将全部用户都导流至灰度服务集群,最终该灰度版本的应用作为新版本的正式应用,实现了由旧版本应用到新版本应用的平稳升级,避免出现需要升级后再回滚的现象。当再有新的用户下载该软件时,则可以直接安装新版本的正式应用。

若在灰度功能模块上线的这段时间内,用户对灰度功能模块的访问量较少,则可以保持当前的灰度比例或者减小灰度比例,并将访问量输出给测试人员,由测试人员对灰度功能模块进行调整,解决软件中出现的问题或者作出一些可以提高用户体验的调整后重新发布。

此外,判断所述用户信息是否与所述第一分流规则匹配的步骤之后,若所述用户信息与所述第一分流规则不匹配,则将所述用户请求导流至所述客户端对应的正式服务集群进行处理。

可选地,作为一种实施方式,本发明还支持对缓存中的第一分流规则进行热更新,不中断分流的正常进行。具体地,当接收到分流规则更新指令时,根据所述分流规则更新指令获取第二分流规则,将所述第二分流规则与缓存中的第一分流规则进行对比分析,以确定所述第二分流规则中的增量信息;根据所述增量信息将缓存中的第一分流规则更新为所述第二分流规则。

本实施例提出的应用的灰度发布方法,当接收到目标应用的客户端发送的访问请求时,确定访问请求对应的用户信息;从缓存中获取当前的第一分流规则,并判断用户信息是否与第一分流规则匹配;若用户信息与第一分流规则匹配,则确定访问请求对应的灰度功能模块,并将用户请求导流至与灰度功能模块对应的灰度服务集群进行处理;根据访问请求更新记录的灰度服务的访问量;当灰度服务模块的上线时长达到预设时长时,获取统计的访问量;根据预设的访问量与灰度比例之间的映射关系,确定获取的访问量对应的灰度比例,并根据灰度比例调整第一分流规则。本发明方案中设置有专门用于支持灰度功能模块的灰度服务集群,将符合分流规则的用户请求分流到灰度服务集群进行处理,同时根据访问请求对灰度功能模块的访问量进行统计,当灰度功能模块上线一段时间后,根据统计的访问量对灰度比例进行调整,继而根据灰度比例调整第一分流规则,按照这样的方式实现软件由旧版本到新版本的平稳过渡。

本发明还提供一种应用的灰度发布装置。参照图2所示,为本发明一实施例提供的应用的灰度发布装置的内部结构示意图。

在本实施例中,应用的灰度发布装置1可以是pc(personalcomputer,个人电脑),也可以是智能手机、平板电脑、便携计算机等终端设备。该应用的灰度发布装置1至少包括存储器11、处理器12,通信总线13,以及网络接口14。

其中,存储器11至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,sd或dx存储器等)、磁性存储器、磁盘、光盘等。存储器11在一些实施例中可以是应用的灰度发布装置1的内部存储单元,例如该应用的灰度发布装置1的硬盘。存储器11在另一些实施例中也可以是应用的灰度发布装置1的外部存储设备,例如应用的灰度发布装置1上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。进一步地,存储器11还可以既包括应用的灰度发布装置1的内部存储单元也包括外部存储设备。存储器11不仅可以用于存储安装于应用的灰度发布装置1的应用软件及各类数据,例如灰度发布程序01的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。

处理器12在一些实施例中可以是一中央处理器(centralprocessingunit,cpu)、控制器、微控制器、微处理器或其他数据处理芯片,用于运行存储器11中存储的程序代码或处理数据,例如执行灰度发布程序01等。

通信总线13用于实现这些组件之间的连接通信。

网络接口14可选的可以包括标准的有线接口、无线接口(如wi-fi接口),通常用于在该装置1与其他电子设备之间建立通信连接。

可选地,该装置1还可以包括用户接口,用户接口可以包括显示器(display)、输入单元比如键盘(keyboard),可选的用户接口还可以包括标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是led显示器、液晶显示器、触控式液晶显示器以及oled(organiclight-emittingdiode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在应用的灰度发布装置1中处理的信息以及用于显示可视化的用户界面。

图2仅示出了具有组件11-14以及灰度发布程序01的应用的灰度发布装置1,本领域技术人员可以理解的是,图1示出的结构并不构成对应用的灰度发布装置1的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。

可选地,该装置1还可以包括触摸传感器。所述触摸传感器所提供的供用户进行触摸操作的区域称为触控区域。此外,这里所述的触摸传感器可以为电阻式触摸传感器、电容式触摸传感器等。而且,所述触摸传感器不仅包括接触式的触摸传感器,也可包括接近式的触摸传感器等。此外,所述触摸传感器可以为单个传感器,也可以为阵列布置的多个传感器。该装置1的显示器的面积可以与所述触摸传感器的面积相同,也可以不同。可选地,将显示器与所述触摸传感器层叠设置,以形成触摸显示屏。该装置1基于触摸显示屏侦测用户触发的触控操作。

可选地,该装置1还可以包括摄像头、rf(radiofrequency,射频)电路,传感器、音频电路、wifi模块等。其中,传感器比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,若该装置1为移动终端,环境光传感器可根据环境光线的明暗来调节显示屏的亮度,接近传感器可在移动终端移动到耳边时,关闭显示屏和/或背光。作为运动传感器的一种,重力加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别移动终端姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;当然,移动终端还可配置陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。

在图2所示的装置1实施例中,存储器11中存储有灰度发布程序01;处理器12执行存储器11中存储的灰度发布程序01时实现如下步骤:

当接收到客户端发送的访问请求时,确定所述访问请求对应的用户信息;

从缓存中获取当前的第一分流规则,并判断所述用户信息是否与所述第一分流规则匹配;

若所述用户信息与所述第一分流规则匹配,则确定所述访问请求对应的灰度功能模块,并将所述用户请求导流至与所述灰度功能模块对应的灰度服务集群进行处理;

根据所述访问请求更新记录的所述灰度功能模块的访问量;

当所述灰度服务模块的上线时长达到预设时长时,获取统计的访问量;

根据预设的访问量与灰度比例之间的映射关系,确定获取的访问量对应的灰度比例,并根据所述灰度比例调整所述第一分流规则。

当应用有新功能要上线时,开发人员开发升级后的应用的灰度版本,其中该灰度版本的应用软件中包含有灰度功能模块,该灰度功能模块可以是将旧版本的应用中的某个功能模块升级得到的功能模块,或者是为该应用开发的新的功能模块。并且,在服务端为灰度版本的应用部署有测试环境,即灰度服务集群,为正式版本的应用部署有正式环境,即正式服务集群。

其中,关于用户获取灰度版本的客户端的方式可以有多种,例如,由服务端对客户端的所有用户的用户级别进行统计,筛选用户级别高的用户作为目标用户,将具有灰度功能模块的灰度版本应用发送到这些目标用户的终端上,由用户对软件进行本地更新,或者在应用启动时进行热更新。或者,在其他实施例中,通过向客户端推送测试邀请链接选择符合测试条件的目标用户,并将这些用户添加到灰度白名单中。具体地,根据所述灰度功能模块生成测试邀请链接,并将所述测试邀请链接下发至客户端;当接收到客户端基于所述测试邀请链接发送的响应信息时,从所述响应信息中获取用户终端的配置信息和用户信息,将获取的用户信息添加至灰度白名单,并根据所述配置信息判断所述用户终端是否符合测试条件;若是,则将所述灰度功能模块对应的软件更新包发送至符合测试条件的响应信息对应的用户终端。

预先配置第一分流规则,第一分流规则用于将用户请求导流到正确的服务集群。可以说明的是,一个应用的灰度版本中可以包含多个灰度功能模块,在服务端为每个灰度功能模块设置有对应的灰度服务集群,若用户信息与第一分流规则匹配,则确定访问请求对应的灰度功能模块,并将用户请求导流至与确定的灰度功能模块对应的灰度服务集群进行处理。并且每一个灰度功能模块对应的目标用户可以不同。

此外,本实施例中,灰度集群的设置方法如下:测试人员设置灰度比例,根据设置的灰度比例将原始服务集群拆分为正式服务集群和灰度服务集群。例如,原始的服务集群中有20台服务器,假设用户设置的灰度比例为20%,则筛选出原生服务集群中的4台服务器作为灰度集群的服务器。其他的服务器作为正式服务集群,为正式版本的目标应用提供服务。其中,灰度比例为使用灰度版本的应用的用户数量在该目标应用的总用户数量中所占的比例。

可选地,在一实施例中,用户信息为用户名,第一分流规则为灰度白名单,判断用户信息是否与第一分流规则匹配的步骤包括:判断所用户名是否位于灰度白名单中,其中,若灰度白名单中有用户名,则判定用户信息与第一分流规则匹配,若灰度白名单中没有用户名,则判定用户信息与第一分流规则不匹配。

或者,在另一实施例中,第一分流规则为ip地址白名单,用户信息为访问请求中包含的客户端ip地址。判断访问请求中包含的客户端ip地址是否位于ip地址白名单中,若是,判定用户信息与第一分流规则匹配,否则,判定用户信息与第一分流规则不匹配。

可选地,一个灰度功能模块可以对应于一个或者多个第一分流规则,当第一分流规则有多个时,可以综合多个规则对用户请求进行分流。例如,当第一分流规则有多个时,逐一对分流规则进行匹配的,当用户信息同时符合多个第一分流规则,判定用户信息与第一分流规则匹配。

具体地,测试人员可以预先设置好访问量与灰度比例之间的映射关系,访问量与灰度比例之间可以成正比关系。在灰度功能模块上线的这段时间内,若对灰度功能模块的访问量越多,则说明用户对于灰度功能模块的反馈情况良好,可以开放给更多的用户使用灰度版本的应用。此时,根据预设的访问量与灰度比例之间的映射关系确定新的灰度比例,进而按照灰度比例调整第一分流规则,以将更多的用户请求分流到灰度服务集群。例如,若第一分流规则为灰度白名单,则增加灰度白名单中的用户。通过这样的方式,若用户反馈一直处于较好的状态,则灰度比例不断上调,直至客户端所有的用户或者有大于预设阈值的用户均升级为灰度版本的应用后,则可以将全部用户都导流至灰度服务集群,最终该灰度版本的应用作为新版本的正式应用,实现了由旧版本应用到新版本应用的平稳升级,避免出现需要升级后再回滚的现象。当再有新的用户下载该软件时,则可以直接安装新版本的正式应用。

若在灰度功能模块上线的这段时间内,用户对灰度功能模块的访问量较少,则可以保持当前的灰度比例或者减小灰度比例,并将访问量输出给测试人员,由测试人员对灰度功能模块进行调整,解决软件中出现的问题或者作出一些可以提高用户体验的调整后重新发布。

此外,判断所述用户信息是否与所述第一分流规则匹配的步骤之后,若所述用户信息与所述第一分流规则不匹配,则将所述用户请求导流至所述客户端对应的正式服务集群进行处理。

可选地,作为一种实施方式,本发明还支持对缓存中的第一分流规则进行热更新,不中断分流的正常进行。具体地,当接收到分流规则更新指令时,根据所述分流规则更新指令获取第二分流规则,将所述第二分流规则与缓存中的第一分流规则进行对比分析,以确定所述第二分流规则中的增量信息;根据所述增量信息将缓存中的第一分流规则更新为所述第二分流规则。

本实施例提出的应用的灰度发布装置,当接收到目标应用的客户端发送的访问请求时,确定访问请求对应的用户信息;从缓存中获取当前的第一分流规则,并判断用户信息是否与第一分流规则匹配;若用户信息与第一分流规则匹配,则确定访问请求对应的灰度功能模块,并将用户请求导流至与灰度功能模块对应的灰度服务集群进行处理;根据访问请求更新记录的灰度服务的访问量;当灰度服务模块的上线时长达到预设时长时,获取统计的访问量;根据预设的访问量与灰度比例之间的映射关系,确定获取的访问量对应的灰度比例,并根据灰度比例调整第一分流规则。本发明方案中设置有专门用于支持灰度功能模块的灰度服务集群,将符合分流规则的用户请求分流到灰度服务集群进行处理,同时根据访问请求对灰度功能模块的访问量进行统计,当灰度功能模块上线一段时间后,根据统计的访问量对灰度比例进行调整,继而根据灰度比例调整第一分流规则,按照这样的方式实现软件由旧版本到新版本的平稳过渡。

可选地,在其他的实施例中,灰度发布程序还可以被分割为一个或者多个模块,一个或者多个模块被存储于存储器11中,并由一个或多个处理器(本实施例为处理器12)所执行以完成本发明,本发明所称的模块是指能够完成特定功能的一系列计算机程序指令段,用于描述灰度发布程序在应用的灰度发布装置中的执行过程。

例如,参照图3所示,为本发明应用的灰度发布装置一实施例中的灰度发布程序的程序模块示意图,该实施例中,灰度发布程序可以被分割为信息获取模块10、规则匹配模块20、请求导流模块30、访问统计模块40和规则更新模块50,示例性地:

信息获取模块10用于:当接收到客户端发送的访问请求时,确定所述访问请求对应的用户信息;

规则匹配模块20用于:从缓存中获取当前的第一分流规则,并判断所述用户信息是否与所述第一分流规则匹配;

请求导流模块30用于:若所述用户信息与所述第一分流规则匹配,则确定所述访问请求对应的灰度功能模块,并将所述用户请求导流至与所述灰度功能模块对应的灰度服务集群进行处理;

访问统计模块40用于:根据所述访问请求更新记录的所述灰度功能模块的访问量;

以及,当所述灰度服务模块的上线时长达到预设时长时,获取统计的访问量;

规则更新模块50用于:根据预设的访问量与灰度比例之间的映射关系,确定获取的访问量对应的灰度比例,并根据所述灰度比例调整所述第一分流规则。

上述信息获取模块10、规则匹配模块20、请求导流模块30、访问统计模块40和规则更新模块50等程序模块被执行时所实现的功能或操作步骤与上述实施例大体相同,在此不再赘述。

此外,本发明实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有灰度发布程序,所述灰度发布程序可被一个或多个处理器执行,以实现如下操作:

当接收到客户端发送的访问请求时,确定所述访问请求对应的用户信息;

从缓存中获取当前的第一分流规则,并判断所述用户信息是否与所述第一分流规则匹配;

若所述用户信息与所述第一分流规则匹配,则确定所述访问请求对应的灰度功能模块,并将所述用户请求导流至与所述灰度功能模块对应的灰度服务集群进行处理;

根据所述访问请求更新记录的所述灰度功能模块的访问量;

当所述灰度服务模块的上线时长达到预设时长时,获取统计的访问量;

根据预设的访问量与灰度比例之间的映射关系,确定获取的访问量对应的灰度比例,并根据所述灰度比例调整所述第一分流规则。本发明计算机可读存储介质具体实施方式与上述应用的灰度发布装置和方法各实施例基本相同,在此不作累述。

需要说明的是,上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。并且本文中的术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。

以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1