掌桥专利:专业的专利平台
掌桥专利
首页

一种软件灰度发布方法及装置

文献发布时间:2023-06-19 09:24:30


一种软件灰度发布方法及装置

技术领域

本发明涉及计算机数据处理技术领域,特别是灰度发布技术领域,具体涉及 一种软件灰度发布方法及装置。

背景技术

随着互联网技术的飞速发展,软件更新的频率变得越加频繁,在软件吞噬时 间的时代,在IT基础设施多样性与分布式趋势中,部署的复杂性与规模日益增加, 而大部分的软件崩溃都发生在软件部署过程中。目前提高部署效率与稳定性成为 了一个严峻的挑战。

现有技术中,灰度发布方案要么是在代码中通过灰度开关,根据不同用户走 不同的开关来实现灰度切换;要么是在接入层实现,多套线上环境(灰度和非灰 度)通过接入层针对不同用户切换到不同环境来实现灰度发布。以上两种方案存 在以下缺点:灰度逻辑需要入侵原有代码;环境太多从而增加运维成本。

综上所述,如何提供一种应用轻量级灰度发布方案,其代码几乎零入侵,不 会带来额外的运维成本,且兼具安全性是亟需解决的问题。

发明内容

针对现有技术中的问题,本发明提供的软件灰度发布方法及装置,业务代码 入侵少,绝大部分基于配置,且配置方法简单上手,该方案稳定且高效,配合灰 度用户白名单热加载,达到秒级灰度切换和退出。

为解决上述技术问题,本发明提供以下技术方案:

第一方面,本发明提供一种软件灰度发布方法,包括:

接收客户端的软件使用请求;

响应于所述软件使用请求,根据所述软件使用请求对其进行灰度标识;

根据所述灰度标识将所述软件使用请求发送至灰度节点。

一实施例中,所述软件使用请求包括:客户端的Cookie、User-Agent或Host; 所述响应于所述软件使用请求,根据所述软件使用请求对其进行灰度标识,包括: 根据所述Cookie、User-Agent或Host中至少其中一个软件使用请求,判断所述软 件使用请求是否对应于前端灰度节点;

当所述软件使用请求对应于所述前端灰度节点时,对所述Cookie、User-Agent 或Host中至少其中一个软件使用请求进行灰度标识。

一实施例中,所述根据所述Cookie、User-Agent或Host中至少其中一个软件 使用请求,判断所述软件使用请求是否对应于前端灰度节点,包括:

利用Hdr算法以及调度算法,根据所述Cookie、User-Agent或Host中至少其 中一个软件使用请求,判断所述软件使用请求是否对应于前端灰度节点;

所述调度算法包括取模方法或一致性哈希方法。

一实施例中,所述根据所述灰度标识将所述软件使用请求发送至灰度节点包 括:

利用反向代理方法,将所述软件使用请求发送至灰度节点。

第二方面,本发明提供一种软件灰度发布装置,包括:

使用请求接收单元,用于接收客户端的软件使用请求;

使用请求标识单元,用于响应于所述软件使用请求,根据所述软件使用请求 对其进行灰度标识;

使用请求发送单元,用于根据所述灰度标识将所述软件使用请求发送至灰度 节点。

一实施例中,所述软件使用请求包括:客户端的Cookie、User-Agent或Host; 所述使用请求标识单元包括:

使用请求判断模块,用于根据所述Cookie、User-Agent或Host中至少其中一 个软件使用请求,判断所述软件使用请求是否对应于前端灰度节点;

使用请求标识模块,用于对所述Cookie、User-Agent或Host中至少其中一个 软件使用请求进行灰度标识。

一实施例中,所述使用请求判断模块具体用于利用Hdr算法以及调度算法, 根据所述Cookie、User-Agent或Host中至少其中一个软件使用请求,判断所述软 件使用请求是否对应于前端灰度节点;

所述调度算法包括取模方法或一致性哈希方法。

一实施例中,所述使用请求发送单元具体用于利用反向代理方法,将所述软 件使用请求发送至灰度节点。

第三方面,本发明提供一种电子设备,包括存储器、处理器及存储在存储器 上并可在处理器上运行的计算机程序,处理器执行程序时实现软件灰度发布方法 的步骤。

第四方面,本发明提供一种计算机可读存储介质,其上存储有计算机程序, 该计算机程序被处理器执行时实现软件灰度发布方法的步骤。

从上述描述可知,本发明实施例提供的软件灰度发布方法及装置,首先接收 客户端的软件使用请求;接着,响应于软件使用请求,根据软件使用请求对其进 行灰度标识;最后根据灰度标识将软件使用请求发送至灰度节点。本发明通过软 负载均衡以及反向代理的方式实现前后端分离应用的全链路灰度发布,业务代码 入侵少,几乎全程基于配置,且配置方法简单上手,稳定且高效,配合灰度用户 白名单热加载,达到秒级灰度切换和退出。对于规模不是庞大的系统来说,该轻 量级方案操作简单,且足够轻量级,可快速实现灰度投产,是一种快速实现系统 稳定投产的高效方案。

附图说明

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

图1为本发明的实施例中软件灰度发布方法流程示意图;

图2为本发明的实施例中步骤200的流程示意图;

图3为本发明的实施例中步骤201的流程示意图;

图4为本发明的实施例中步骤400的流程示意图;

图5为本发明的具体应用实例中软件灰度发布方法的流程示意图;

图6为本发明的具体应用实例中HAProxy灰度流程示意图;

图7为本发明的具体应用实例中Nginx灰度流程示意图;

图8为本发明的具体应用实例中全链路灰度流程示意图;

图9为本发明的实施例中软件灰度发布装置的结构框图;

图10为本发明的实施例中使用请求标识单元结构示意图;

图11为本发明的实施例中的电子设备的结构示意图。

具体实施方式

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

需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“包括” 和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一 系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步 骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固 有的其它步骤或单元。

需要说明的是,本申请所公开软件灰度发布方法及装置可用于金融领域,也 可用于除金融领域之外的任意领域,本申请所公开软件灰度发布方法及装置的应 用领域不做限定。

需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可 以相互组合。下面将参考附图并结合实施例来详细说明本申请。

本发明的实施例提供一种软件灰度发布方法的具体实施方式,参见图1,该方 法具体包括如下内容:

步骤100:接收客户端的软件使用请求。

在一般情况下,升级服务器端应用,需要将应用源码或程序包上传到服务器, 然后停止掉老版本服务,再启动新版本。但是这种简单的发布方式存在两个问题, 一方面,在新版本升级过程中,服务是暂时中断的,另一方面,如果新版本有BUG, 升级失败,回滚起来也非常麻烦,容易造成更长时间的服务不可用。灰度发布(又 名金丝雀发布)是指在黑与白之间,能够平滑过渡的一种发布方式。在其上可以 进行A/B testing,即让一部分用户继续用产品特性A,一部分用户开始用产品特性 B,如果用户对B没有什么反对意见,那么逐步扩大范围,把所有用户都迁移到B 上面来。灰度发布可以保证整体系统的稳定,在初始灰度的时候就可以发现、调 整问题,以保证其影响度。

步骤200:响应于所述软件使用请求,根据所述软件使用请求对其进行灰度标 识。

优选地,可利用SLB(soft load balancer)软负载均衡方法,通过搭载HAProxy 代理服务器实现,充分利用HAProxy高可用、快速可靠且开源免费,实现软件层 面的负载均衡,通过选取HAProxy负载均衡配置算法中较为简单的hdr(name)调度 算法来实现负载均衡到应用前端节点的灰度切换,以实现网络负载到前端节点这 一层的灰度实现方案。

步骤300:根据所述灰度标识将所述软件使用请求发送至灰度节点。

具体地,在步骤200的基础上,前端节点通过反向代理结合特定软件使用请 求值的转发来实现,当用户访问页面时,业务接入层的反向代理会根据用户软件 使用请求是否带着灰度标识而对用户的请求进行选择,是转发到所有后端机器还 是指定的灰度发布机器。

从上述描述可知,本发明实施例提供的软件灰度发布方法,首先接收客户端 的软件使用请求;接着,响应于软件使用请求,根据软件使用请求对其进行灰度 标识;最后根据灰度标识将软件使用请求发送至灰度节点。本发明通过软负载均 衡以及反向代理的方式实现前后端分离应用的全链路灰度发布,业务代码入侵少, 几乎全程基于配置,且配置方法简单上手,稳定且高效,配合灰度用户白名单热 加载,达到秒级灰度切换和退出。对于规模不是庞大的系统来说,该轻量级方案 操作简单,且足够轻量级,可快速实现灰度投产,是一种快速实现系统稳定投产 的高效方案。

一实施例中,所述软件使用请求包括:客户端的Cookie、User-Agent或Host; 参见图2,步骤200进一步包括:

步骤201:根据所述Cookie、User-Agent或Host中至少其中一个软件使用请 求,判断所述软件使用请求是否对应于前端灰度节点;

需要说明的是,Cookie类型为“小型文本文件”,是网站为了辨别用户身份, 进行Session跟踪而储存在用户本地终端上的数据(通常经过加密),由用户客户 端计算机暂时或永久保存的信息。

User Agent中文名为用户代理,简称UA,它是一个特殊字符串头,使得服务 器能够识别客户使用的操作系统及版本、CPU类型、浏览器及版本、浏览器渲染 引擎、浏览器语言、浏览器插件等。

Host:在互联网协议中,Host表示能够同其他机器互相访问的本地计算机。 一台本地机有唯一标志代码,同网络掩码一起组成IP地址,如果通过点到点协议 通过ISP访问互联网,那么在连接期间将会拥有唯一的IP地址,这段时间内,该 主机就是一个host。在这种情况下,host表示一个网络节点。host是根据TCP/IP for Windows的标准来工作的,其作用是包含IP地址和Host name(主机名)的映射关 系,是一个映射IP地址和Host name(主机名)的规定,规定要求每段只能包括一个 映射关系,IP地址要放在每段的最前面,空格后再写上映射的Host name主机名。 对于这段的映射说明用“#”分割后用文字说明。

步骤202:当所述软件使用请求对应于所述前端灰度节点时,对所述Cookie、User-Agent或Host中至少其中一个软件使用请求进行灰度标识。

一实施例中,参见图3,步骤201进一步包括:

步骤2011:利用Hdr算法以及调度算法,根据所述Cookie、User-Agent或Host 中至少其中一个软件使用请求,判断所述软件使用请求是否对应于前端灰度节点;

具体地,利用hdr(name)算法针对用户每个http头部(header)请求中的制定信息做hash,此处由制定的http将不会被取出并做hash计算,然后服务器总权 重相除以后派发至某挑选出的服务器,假如有无效值,则会被轮询调度。

一实施例中,参见图4,步骤400进一步包括:

步骤401:利用反向代理方法,将所述软件使用请求发送至灰度节点。

反向代理(Reverse Proxy)方式是指以代理服务器来接受客户端的连接请求, 然后将请求转发给网络上的web服务器(可能是apache,Nginx,tomcat,iis等) 并将web服务器上得到的结果返回给请求连接的客户端,此时代理服务器对外就 表现为一个服务器。可以理解的是,将软件使用请求发送至灰度节点后,将更新 后的软件应用发送该客户端,已完成灰度更新。

从上述描述可知,本发明实施例提供的软件灰度发布方法,借鉴SLB软负载 路由策略和Nginx反向代理的理论,综合采用SLB网络层负载均衡和Nginx反向 代理等技术,以实现在应用投产过程中灰度发布,将SLB软负载均衡对http、https、 tcp和udp网络协议的支持,以及灵活且简单的调度算法,与Nginx在网络7层对 应用基于cookie的分流策略相结合。实现请求通过SLB到应用前端节点的灰度分 流和应用前端节点到后端节点的灰度分流,从而实现应用的前后端全链路的灰度 切换发布。

为进一步地说明本方案,本发明HAProxy以及Nginx为例,提供软件灰度发布 方法的具体应用实例,具体包括如下内容,参见图5。

1、HAProxy的特点

HAProxy是一款提供高可用性、负载均衡以及基于TCP(第四层)和HTTP (第七层)应用的代理软件,支持虚拟主机,它是免费、快速并且可靠的一种解 决方案。它的运行模式使得它可以很简单安全的整合进当前的架构中,同时可以 保护web服务器不被暴露到网络上。HAProxy调度算法大致可以分为三类:静态 算法、动态算法和混合算法。本文采用的就是混合算法中的hdr(name)调度算法。

2、Nginx反向代理的特点

反向代理(Reverse Proxy)方式是指以代理服务器来接受客户端的连接请求, 然后将请求转发给网络上的web服务器(可能是apache,Nginx,tomcat,iis等) 并将web服务器上得到的结果返回给请求连接的客户端,此时代理服务器对外就 表现为一个服务器。本发明基于的就是Nginx的反向代理模式,选择Nginx主要 有以下几点原因:

1)、跨平台:Nginx可以在大多数操作系统上变异运行,且支持windows。

2)、部署:配置简单且容易上手。

3)、内存消耗小:处理大并发的请求内存消耗非常小。在3万并发连接下,开 启的10个Nginx程序才消耗150M内存。

4)、稳定性高:用于反向代理,宕机的概率微乎其微。

5)、内置健康检查功能:如果Nginx代理的后端的某台web服务器宕机了, 不会影响前端访问。

总体思路:利用hdr(name)算法针对用户每个http头部(header)请求中的制定信息做hash,此处由制定的http将不会被取出并做hash计算,然后服务器总 权重相除以后派发至某挑选出的服务器,假如有无效值,则会被轮询调度。hdr调 度算法也支持取模法和一致性哈希,配置方式一样,在本具体应用实例中,默认 都是取模法,如下所示:

map-based:取模法,基于服务器权重的hash数组取模,该hash是静态的即 不支持在线调整权重,不支持慢启动,其对后端服务器调度均衡,缺点是当服务 器的总权重发生变化时,即有服务器上线或下线,都会因权重发生变化而导致调 度结果整体改变。

consistent:一致性哈希,该hash是动态的,支持在线调整权重,支持慢启动, 优点在于当服务器的总权重发生变化时,对调度结果影响是局部的,不会引起大 的变动。

S1:接收客户端的软件使用请求。

S2:利用HAProxy进行前端节点的灰度切换。

具体地,hdr(name)算法中name可以包含Cookie、User-Agent、Host等信息,本 具体应用实例采用的是hdr(Cookie)一致性哈希算法,即基于Cookie且hash type为consistent的调度算法。实现了通过不同Cookie值调度到不同的前端节点从而达到前 端节点灰度的目的,具体调度逻辑如图6。

S3:利用Nginx反向代理进行后端节点的灰度切换。

具体地,应用前端节点到后端节点,是通过在web服务器上安装Nginx,借助 Nginx反向代理功能,再通过Nginx监听端口,基于Cookie分流,实现前端节点按特 定Cookie值分流到不同后端节点,从而实现后端节点的灰度。

进一步地,后端节点的灰度切换是采用前端节点通过Nginx反向代理结合特定Cookie值的转发来实现,当用户访问页面时,业务接入层的Nginx反向代理会根据 用户Cookie是否带着灰度标识而对用户的请求进行选择,是转发到所有后端机器还 是指定的灰度发布机器。具体转发规则见图7。

本具体应用实例结合实例,还提供一软件灰度发布方法的应用场景:在实际 应用灰度投产过程中,应用后端通过热加载灰度白名单用户,并在这些用户登录 时写入灰度Cookie值(以ICBC-GRAY-FLAG(一个软件应用)为例, ICBC-GRAY-FLAG=1),当该用户下一次登录时,登录请求经过SLB,触发SLB 调度策略,匹配到特定Cookie值,slb则把该请求转发到灰度的前端节点fontend-gray 上,前端节点所在服务器挂接了Nginx服务器,前端请求至后端时,通过Nginx来 完成转发,Nginx这一层反向代理的规则匹配上了特定Cookie,触发灰度分流算法, Nginx服务器则将这个请求代理到后端的灰度节点backend-gray上,从而实现了灰 度的切换,具体策略见图8。非灰度用户则请求仍然分流到正常前后端节点。待灰 度期过后,节点全部滚动升级,退出灰度白名单用户即可。

从上述描述可知,本发明实施例提供的软件灰度发布方法,将HAProxy的hdr 算法和Nginx基于cookie的分流算法相结合,提供完整的一套轻量级灰度发布方 案。该方法属于应用轻量级灰度发布,代码入侵少,不会带来额外的运维成本, 且兼具安全性。

基于同一发明构思,本申请实施例还提供了软件灰度发布装置,可以用于实 现上述实施例所描述的方法,如下面的实施例。由于软件灰度发布装置解决问题 的原理与软件灰度发布方法相似,因此软件灰度发布装置的实施可以参见软件灰 度发布方法实施,重复之处不再赘述。以下所使用的,术语“单元”或者“模块” 可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的系统较佳地 以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。

本发明的实施例提供一种能够实现软件灰度发布方法的软件灰度发布装置的 具体实施方式,参见图9,软件灰度发布装置具体包括如下内容:

使用请求接收单元10,用于接收客户端的软件使用请求;

使用请求标识单元20,用于响应于所述软件使用请求,根据所述软件使用请 求对其进行灰度标识;

使用请求发送单元30,用于根据所述灰度标识将所述软件使用请求发送至灰 度节点。

一实施例中,所述软件使用请求包括:客户端的Cookie、User-Agent或Host; 参见图10,所述使用请求标识单元20包括:

使用请求判断模块201,用于根据所述Cookie、User-Agent或Host中至少其 中一个软件使用请求,判断所述软件使用请求是否对应于前端灰度节点;

使用请求标识模块202,用于对所述Cookie、User-Agent或Host中至少其中 一个软件使用请求进行灰度标识。

一实施例中,所述使用请求判断模块具体用于利用Hdr算法以及调度算法, 根据所述Cookie、User-Agent或Host中至少其中一个软件使用请求,判断所述软 件使用请求是否对应于前端灰度节点;

所述调度算法包括取模方法或一致性哈希方法。

一实施例中,所述使用请求发送单元具体用于利用反向代理方法,将所述软 件使用请求发送至灰度节点。

从上述描述可知,本发明实施例提供的软件灰度发布装置,首先获取待识别 交易的交易价格以及交易对手信用评级;接着,根据预生成的识别模型、所述交 易价格以及所述交易对手信用评级识别可疑交易。本发明基于历史交易信息和交 易对手信息,对可疑交易形成可疑交易判断标准,并对当前交易信息的关键要素 进行提取,形成当前交易的可疑指标值,与可疑交易判断标准进行比较,得出单 节点的可疑交易判断。

上述实施例阐明的装置、模块或单元,具体可以由计算机芯片或实体实现, 或者由具有某种功能的产品来实现。一种典型的实现设备为电子设备,具体的, 电子设备例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电 话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板 计算机、可穿戴设备或者这些设备中的任何设备的组合。

在一个典型的实例中电子设备具体包括存储器、处理器以及存储在存储器上 并可在处理器上运行的计算机程序,该处理器执行该程序时实现上述软件灰度发 布方法的步骤,该步骤包括:

步骤100:接收客户端的软件使用请求;

步骤200:响应于所述软件使用请求,根据所述软件使用请求对其进行灰度标 识;

步骤300:根据所述灰度标识将所述软件使用请求发送至灰度节点。

下面参考图11,其示出了适于用来实现本申请实施例的电子设备600的结构 示意图。

如图11所示,电子设备600包括中央处理单元(CPU)601,其可以根据存储 在只读存储器(ROM)602中的程序或者从存储部分608加载到随机访问存储器 (RAM))603中的程序而执行各种适当的工作和处理。在RAM603中,还存储有 系统600操作所需的各种程序和数据。CPU601、ROM602、以及RAM603通过总 线604彼此相连。输入/输出(I/O)接口605也连接至总线604。

以下部件连接至I/O接口605:包括键盘、鼠标等的输入部分606;包括诸如 阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分607;包括 硬盘等的存储部分608;以及包括诸如LAN卡,调制解调器等的网络接口卡的通 信部分609。通信部分609经由诸如因特网的网络执行通信处理。驱动器610也根 据需要连接至I/O接口605。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体 存储器等等,根据需要安装在驱动器610上,以便于从其上读出的计算机程序根 据需要被安装如存储部分608。

特别地,根据本发明的实施例,上文参考流程图描述的过程可以被实现为计 算机软件程序。例如,本发明的实施例包括一种计算机可读存储介质,其上存储 有计算机程序,该计算机程序被处理器执行时实现上述软件灰度发布方法的步骤, 该步骤包括:

步骤100:接收客户端的软件使用请求;

步骤200:响应于所述软件使用请求,根据所述软件使用请求对其进行灰度标 识;

步骤300:根据所述灰度标识将所述软件使用请求发送至灰度节点。

在这样的实施例中,该计算机程序可以通过通信部分609从网络上被下载和 安装,和/或从可拆卸介质611被安装。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何 方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模 块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态 随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存 储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记 忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或 其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非 传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机 可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。

为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在 实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的 流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方 框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的 结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或 其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编 程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程 和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以 特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令 产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/ 或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得 在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从 而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多 个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性 的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要 素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商 品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定 的要素,并不排除在包括该要素的过程、方法、商品或者设备中还存在另外的相 同要素。

本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序 产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件 方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用 程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存 储器等)上实施的计算机程序产品的形式。

本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如 程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、 程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在 这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。 在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机 存储介质中。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似 的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤 其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单, 相关之处参见方法实施例的部分说明即可。

以上该仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人 员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任 何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

相关技术
  • 软件程序的灰度发布控制方法和灰度发布控制装置
  • 一种软件产品灰度发布的方法及装置
技术分类

06120112152003