一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

灰度发布系统、方法和存储介质与流程

2021-10-30 01:55:00 来源:中国专利 TAG:灰度 发布系统 计算机应用 方法 发布


1.本发明涉及计算机应用技术领域,更为具体而言,涉及一种灰度发布系统、灰度发布方法和存储介质。


背景技术:

2.灰度发布系统,是为了确保软件投产时可靠无风险,通过策略控制部分用户到灰度环境验证当前发布版本稳定性后,再发布至正式生产环境的一种解决方案。
3.然而,当前的灰度发布系统无法根据实际使用场景,对不同终端进行相应的灰度发布处理,而在当前灰度发布系统无法满足不同终端的灰度发布需求的基础上,该系统也无法验证当前发布版本的稳定性,从而影响了软件的验收工作。
4.此外,当前生产环境和验证环境都使用生产的数据库,因此,在灰度环境下对数据库表的新增和修改等操作都会导致生产环境下的对应变化,无法实现基于数据库表的灰度适配。


技术实现要素:

5.为解决上述现有技术存在的问题或部分问题,本发明实施方式提供了一种灰度发布系统、方法和存储介质,通过在灰度策略配置平台为多种访问类型配置对应的灰度访问策略,以及服务器获取对应的灰度访问策略,从而确定访问请求的发布环境(生产环境或灰度环境),能够针对不同终端的发布需求,实现多种终端访问的控制,为发布对象的验收工作提供保障。
6.根据本发明的第一方面,本发明实施方式提供了一种灰度发布系统,包括:灰度策略配置平台,用于根据终端的不同访问类型配置灰度访问策略,并将配置的灰度访问策略推送至数据库;服务器,用于接收终端发送的访问请求,基于所述访问请求对应的访问类型和该访问请求从所述数据库中读取所述访问请求对应的灰度访问策略,并根据所述灰度访问策略确定将所述访问请求发布至生产环境或灰度环境。
7.本发明上述实施方式通过在灰度策略配置平台为多种访问类型配置对应的灰度访问策略,服务器根据访问请求和访问类型获取对应的灰度访问策略,以确定在生产环境或灰度环境发布访问请求,能够适配不同终端的发布需求,实现对各类终端访问的控制,为例如软件这样的发布对象的验收工作提供保障。
8.在本发明的一些实施方式中,所述访问类型包括:app应用程序、小程序、浏览器、api应用程序接口;所述生产环境包括适于生产的生产数据库;所述灰度环境包括适于灰度验证的灰度数据库。
9.本发明上述实施方式通过对灰度环境和生产环境分别建立其应用的灰度数据库或生产数据库,解决了生产环境和验证环境都使用生产的数据库,进而产生灰度环境下对数据库表的新增和修改等操作都会导致生产环境下对应变化的问题,实现了基于数据库表的灰度适配。
10.在本发明的一些实施方式中,所述访问请求携带有灰度规则参数;其中,访问类型为app的访问请求携带的灰度规则参数包括:app版本、设备信息、灰度标识;访问类型为小程序的访问请求携带的灰度规则参数包括:小程序版本、灰度标识;访问类型为浏览器的访问请求携带的灰度规则参数包括:登录客户标识、灰度标识;访问类型为api的访问请求携带的灰度规则参数包括:api渠道、接口版本号、灰度标识。
11.在本发明的一些实施方式中,所述灰度访问策略包括以下至少之一:app版本策略、小程序版本策略、登录用户客群策略、设备信息策略、api渠道策略、接口版本策略、分流策略。
12.在本发明的一些实施方式中,根据所述访问策略确定将所述访问请求发布至生产环境或灰度环境包括:只要所述访问请求满足其对应的访问类型所对应的任意一个灰度访问策略,就将该访问请求转发到灰度环境。
13.在本发明的一些实施方式中,在一次会话有效期内,对于满足一个灰度访问策略的访问请求,向发送所述访问请求的终端返回所述灰度标识,以使该终端后续的访问请求携带该灰度标识,并且所述服务器判断出该灰度标识时直接将所述后续的访问请求转发至灰度环境。
14.本发明上述实施方式通过对发送满足一个灰度访问策略的访问请求的终端返回灰度标识,使得该终端后续的访问请求携带灰度标识并直接转发至灰度环境,既可以避免对访问请求的多次判断,还保证了在请求发布的验证过程的连贯性和一致性。
15.根据本发明的第二方面,本发明实施方式提供了一种灰度发布方法,包括:在灰度策略配置平台根据终端的不同访问类型配置灰度访问策略,并将配置的灰度访问策略推送至数据库;服务器接收终端发送的访问请求,基于所述访问请求对应的访问类型和该访问请求从所述数据库中读取所述访问请求对应的灰度访问策略,并根据所述灰度访问策略确定将所述访问请求发布至生产环境或灰度环境。
16.本发明上述实施方式通过在灰度策略配置平台为多种访问类型配置对应的灰度访问策略,服务器根据访问请求和访问类型获取对应的灰度访问策略,以确定在生产环境或灰度环境发布访问请求,能够适配不同终端的发布需求,实现对各类终端访问的控制,为软件的验收工作提供保障。
17.在本发明的一些实施方式中,所述访问类型包括:app应用程序、小程序、浏览器、api应用程序接口;所述生产环境包括适于生产的生产数据库;所述灰度环境包括适于灰度验证的灰度数据库。
18.本发明上述实施方式通过对灰度环境和生产环境分别建立其应用的灰度数据库或生产数据库,解决了生产环境和验证环境都使用生产的数据库,进而产生灰度环境下对数据库表的新增和修改等操作都会导致生产环境下对应变化的问题,实现了基于数据库表的灰度适配。
19.在本发明的一些实施方式中,所述访问请求携带有灰度规则参数;其中,访问类型为app的访问请求携带的灰度规则参数包括:app版本、设备信息、灰度标识;访问类型为小程序的访问请求携带的灰度规则参数包括:小程序版本、灰度标识;访问类型为浏览器的访问请求携带的灰度规则参数包括:登录客户标识、灰度标识;访问类型为api的访问请求携带的灰度规则参数包括:api渠道、接口版本号、灰度标识。
identity,国际移动设备识别码),meid(mobile equipment identifier,移动设备识别码)等。
36.登陆客户标识:用户登陆后会对每个客户标记一个客户标签。
37.灰度标识:通过该参数可以直接告诉服务器需要访问生产环境或灰度环境。
38.小程序版本:小程序当前版本号。
39.接口版本号:当前访问接口的版本号,该信息是在请求路径上获取,用于控制api网关的灰度策略。
40.redis:一个开源的使用ansi c语言编写、支持网络、可基于内存亦可持久化的日志型、key

value数据库,并提供多种语言的api。
41.nginx:一个高性能的http和反向代理web服务器,同时也提供了imap/pop3/smtp服务。
42.图1是根据本发明一种实施方式的灰度发布系统的架构示意图。
43.在本发明的一种实施方式中,如图1所示,所述灰度发布系统100包括灰度策略配置平台110和服务器120。
44.其中,所述灰度发布系统100中的灰度策略配置平台110用于根据终端的不同访问类型配置灰度访问策略,并将配置的灰度访问策略推送至数据库200。可选的,用于存储配置的灰度访问策略的数据库可以为redis数据库。在本发明的其他实施方式中,还可以采用mysql、postgresql等数据库来存储所述灰度访问策略。
45.在一种实施方式中,终端的访问类型可以包括但不限于下述一种或多种:app、小程序、浏览器、api等。在进一步可选的实施方式中,与终端访问类型相对应的,在灰度策略配置平台110配置的灰度访问策略包括但不限于下述一种或多种:app版本策略、小程序版本策略、登录用户客群策略、设备信息策略、api渠道策略、接口版本策略、分流策略等。
46.app版本策略是根据app版本控制是否访问灰度环境;小程序版本策略是根据小程序版本控制灰度环境;登录用户客群策略是根据登录用户或登录用户群组配置访问灰度环境;设备信息策略是指定设备访问灰度环境,一般用于业务验证时使用;api渠道策略是api接口在访问时,需要向服务器传送渠道、密钥等,通过渠道配置规则,来制定某个版本请求需要访问哪种环境;接口版本策略是指定接口版本访问灰度环境,可用于控制api是否访问灰度环境;分流策略是根据配置分流比例,把一定比例的请求分流到灰度环境,该策略可用于api接口限制,当一个api接口设置了次策略,会把该接口的访问次数记录到redis数据库中,以方便计算分流比例。
47.在一种实施方式中,根据终端类型的不同,其能够在灰度策略配置平台110进行配置的具体策略内容的示例,如下表1所示:
48.表1
[0049][0050]
如表1所示,终端在不同的登录状态(未登录或已登录认证)下,不同类型的终端能够配置的具体策略内容不同。
[0051]
如图1所示的灰度发布系统100,其服务器120用于接收终端发送的访问请求,基于所述访问请求对应的访问类型和该访问请求从所述数据库200中读取所述访问请求对应的灰度访问策略,并根据所述灰度访问策略确定将所述访问请求发布至生产环境或灰度环境。可选的,所述服务器120可以为nginx服务器。在本发明的其他实施方式中,所述服务器120可以包括apache、squid、tengine等服务器。
[0052]
在一种实施方式中,终端发送的访问请求携带有灰度规则参数,用于确定相应的灰度访问策略。其中,当终端的访问类型为app时,终端发送的访问请求携带的灰度规则参数包括但不限于下述一种或多种:app版本、设备信息、灰度标识;当终端的访问类型为小程序时,终端发送的访问请求携带的灰度规则参数包括但不限下述一种或多种:小程序版本、灰度标识;当终端的访问类型为浏览器时,终端发送的访问请求携带的灰度规则参数包括但不限于下述一种或多种:登录客户标识、灰度标识;当终端的访问类型为api时,终端发送的访问请求携带的灰度规则参数包括但不限于api渠道、接口版本号、灰度标识。
[0053]
在一种实施方式中,根据终端类型的不同,其对应发送的访问请求所携带的灰度规则参数的示例,如下表2所示:
[0054]
表2
[0055][0056]
如表2所示,终端在不同的登录状态(未登录或已登录认证)下,不同类型的终端所携带的灰度规则参数不同。其中,登陆客户标识可以通过http请求header(标头)传给nginx服务器,然后nginx服务器中的lua(一种脚本语言)程序解析该参数,并且把该参数返回实时传给客户终端。此外,灰度标识也可以通过与所述登录客户标识相同的方式进行传输。
[0057]
在一些实施方式中,根据所述访问策略确定将所述访问请求发布至生产环境或灰度环境具体可以包括:对于所述访问请求,只要该访问请求满足其对应的访问类型所对应的任意一个灰度访问策略,就将该访问请求转发到灰度环境。
[0058]
在一些实施方式中,在一次会话(session)有效期内,对于满足一个灰度访问策略的访问请求,向发送所述访问请求的终端返回所述灰度标识,以使该终端后续的访问请求携带该灰度标识,并且所述服务器判断出该灰度标识时直接将所述后续的访问请求转发至灰度环境。通过对发送满足一个灰度访问策略的访问请求的终端返回灰度标识,使得该终端后续的访问请求携带灰度标识并直接转发至灰度环境,既可以避免对访问请求的多次判断,还保证了在请求发布的验证过程的连贯性和一致性。
[0059]
采用本发明实施方式的上述灰度发布系统,通过在灰度策略配置平台为多种访问类型配置对应的灰度访问策略,并且服务器根据访问请求和访问类型获取对应的灰度访问策略,以确定在生产环境或灰度环境发布访问请求,能够适配不同终端的发布需求,针对不同项目的不同需求配置相应的策略,实现对各类终端访问的控制,为发布对象(例如,软件)的验收工作提供保障。
[0060]
在一些实施方式中,生产环境包括适于生产的生产数据库;灰度环境包括适于灰度验证的灰度数据库。通过对灰度环境和生产环境分别建立其应用的灰度数据库或生产数据库,解决了生产环境和验证环境都使用生产的数据库,进而产生灰度环境下对数据库表的新增和修改等操作都会导致生产环境下对应变化的问题,实现了基于数据库表的灰度适配。
[0061]
图2是根据本发明一种实施方式的灰度发布方法的流程示意图。
[0062]
如图2所示,在本发明的一种实施方式中,所述灰度发布定位的方法可包括步骤s21和步骤s22,下面对上述步骤进行具体的描述。
[0063]
在步骤s21中,在灰度策略配置平台根据终端的不同访问类型配置灰度访问策略,并将配置的灰度访问策略推送至数据库。可选的,用于存储配置的灰度访问策略的数据可以为redis数据库。可选的,用于存储配置的灰度访问策略的数据可以为redis数据库。
[0064]
在一种实施方式中,终端的访问类型可以包括但不限于下述一种或多种:app、小程序、浏览器、api等。在进一步可选的实施方式中,与终端访问类型相对应的,在灰度策略配置平台110配置的灰度访问策略包括但不限于下述一种或多种:app版本策略、小程序版本策略、登录用户客群策略、设备信息策略、api渠道策略、接口版本策略、分流策略。
[0065]
在步骤s22中,服务器接收终端发送的访问请求,基于所述访问请求对应的访问类型和该访问请求从所述数据库中读取所述访问请求对应的灰度访问策略,并根据所述灰度访问策略确定将所述访问请求发布至生产环境或灰度环境。可选的,所述服务器120可以为nginx服务器。
[0066]
在一种实施方式中,终端发送的访问请求携带有灰度规则参数,用于确定相应的灰度访问策略。其中,当终端的访问类型为app时,终端发送的访问请求携带的灰度规则参数包括但不限于下述一种或多种:app版本、设备信息、灰度标识;当终端的访问类型为小程序时,终端发送的访问请求携带的灰度规则参数包括但不限下述一种或多种:小程序版本、灰度标识;当终端的访问类型为浏览器时,终端发送的访问请求携带的灰度规则参数包括但不限于下述一种或多种:登录客户标识、灰度标识;当终端的访问类型为api时,终端发送的访问请求携带的灰度规则参数包括但不限于api渠道、接口版本号、灰度标识。
[0067]
在进一步可选的实施方式中,根据所述访问策略确定将所述访问请求发布至生产环境或灰度环境具体可以包括:对于所述访问请求,只要该访问请求满足其对应的访问类型所对应的任意一个灰度访问策略,就将该访问请求转发到灰度环境。
[0068]
在一些实施方式中,在一次会话(session)有效期内,对于满足一个灰度访问策略的访问请求,向发送所述访问请求的终端返回所述灰度标识,以使该终端后续的访问请求携带该灰度标识,并且所述服务器判断出该灰度标识时直接将所述后续的访问请求转发至灰度环境。通过对发送满足一个灰度访问策略的访问请求的终端返回灰度标识,使得该终端后续的访问请求携带灰度标识并直接转发至灰度环境,既可以避免对访问请求的多次判断,还保证了在请求发布的验证过程的连贯性和一致性。
[0069]
采用本发明实施方式的上述灰度发布方法,通过在灰度策略配置平台为多种访问类型配置对应的灰度访问策略,并且服务器根据访问请求和访问类型获取对应的灰度访问策略,以确定在生产环境或灰度环境发布访问请求,能够适配不同终端的发布需求,针对不同项目的不同需求配置相应的策略,实现对各类终端访问的控制,为发布对象的验收工作提供保障。
[0070]
在一些实施方式中,生产环境包括适于生产的生产数据库;灰度环境包括适于灰度验证的灰度数据库。通过对灰度环境和生产环境分别建立其应用的灰度数据库或生产数据库,解决了生产环境和验证环境都使用生产的数据库,进而产生灰度环境下对数据库表的新增和修改等操作都会导致生产环境下对应变化的问题,实现了基于数据库表的灰度适配。
[0071]
图3是根据本发明另一种实施方式的灰度发布方法的流程示意图。
[0072]
如图3所示,所述灰度发布方法包括:
[0073]
第1步,在规则配置平台(即图1中的灰度策略配置平台110)根据外部应用(终端)的不同类型配置灰度访问策略,并将配置的灰度访问策略推送至redis数据库。
[0074]
第2步,外部应用向nginx服务器发送访问请求,并且,外部应用发送的访问请求携带有灰度规则参数,用于确定相应的灰度访问策略。
[0075]
其中,当外部应用的访问类型为app时,外部应用发送的访问请求携带的灰度规则参数包括但不限于下述一种或多种:app版本、设备信息、灰度标识;当外部应用的访问类型为小程序时,外部应用发送的访问请求携带的灰度规则参数包括但不限下述一种或多种:小程序版本、灰度标识;当外部应用的访问类型为浏览器时,外部应用发送的访问请求携带的灰度规则参数包括但不限于下述一种或多种:登录客户标识、灰度标识;当外部应用的访问类型为api时,外部应用发送的访问请求携带的灰度规则参数包括但不限于api渠道、接口版本号、灰度标识。
[0076]
第3步,nginx服务器接收外部应用发送的访问请求,通过nginx服务器的lua脚本解析所述访问请求,并基于所述访问请求对应的访问类型和该访问请求从redis数据库中读取所述访问请求对应的灰度访问策略。
[0077]
其中,所述灰度访问策略可以包括但不限于下述一种或多种:app版本策略、小程序版本策略、登录用户客群策略、设备信息策略、api渠道策略、接口版本策略、分流策略等。
[0078]
第4步,nginx服务器根据所述灰度访问策略确定将所述访问请求发布至生产环境或灰度环境。
[0079]
其中,灰度环境为包含b集群gateway(网关)、eureka(服务发现框架)以及多个服务器的灰度集群,生产环境为包含a集群gateway(网关)、eureka(服务发现框架)以及多个服务器的生产集群。由此,可以将灰度环境和生产环境所应用的数据库区分开来,解决了现有技术中生产环境和验证环境都使用生产的数据库,进而产生灰度环境下对数据库表的新增和修改等操作都会导致生产环境下对应变化的问题,实现了基于数据库表的灰度适配。
[0080]
第5步,将api接口的访问次数记录到redis数据库,为分流策略中的分流比例计算提供便利。
[0081]
采用本发明实施方式的上述灰度发布方法,通过在灰度策略配置平台为多种访问类型配置对应的灰度访问策略,并且服务器根据访问请求和访问类型获取对应的灰度访问策略,以确定在生产环境或灰度环境发布访问请求,能够适配不同外部应用的发布需求,针对不同项目的不同需求配置相应的策略,实现对各类外部应用访问的控制,为发布对象的验收工作提供保障。
[0082]
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件结合硬件平台的方式来实现。基于这样的理解,本发明的技术方案对背景技术做出贡献的全部或者部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施方式或者实施方式的某些部分所述的方法。
[0083]
对应的,本发明实施方式还提供一种计算机可读存储介质,其上存储有计算机可
读指令或程序,所述计算机可读指令或程序被处理器执行时,使得计算机执行如下操作:所述操作包括如上任意一种实施方式所述灰度发布方法所包含的步骤,在此不再赘述。其中,所述存储介质可以包括:例如,光盘、硬盘、软盘、闪存、磁带等。
[0084]
最后应说明的是:以上实施方式仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施方式对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施方式所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施方式技术方案的精神和范围。因此本发明的保护范围应以权利要求为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜