CN109739527A - 一种客户端灰度发布的方法、装置、服务器和存储介质 - Google Patents
一种客户端灰度发布的方法、装置、服务器和存储介质 Download PDFInfo
- Publication number
- CN109739527A CN109739527A CN201811384519.9A CN201811384519A CN109739527A CN 109739527 A CN109739527 A CN 109739527A CN 201811384519 A CN201811384519 A CN 201811384519A CN 109739527 A CN109739527 A CN 109739527A
- Authority
- CN
- China
- Prior art keywords
- node
- service
- gray scale
- service node
- flow
- 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.)
- Granted
Links
Landscapes
- Computer And Data Communications (AREA)
Abstract
本发明提供了一种客户端灰度发布的方法、装置、服务器和存储介质,该方法包括:获取业务节点之间的业务调用关系;通过部署在业务节点中的客户端获取业务节点的流量;根据所述业务调用关系和所述业务节点的流量,获取满足指定条件的业务节点,以作为灰度发布节点;在所述灰度发布节点上部署新版本的客户端。本发明由于确定灰度发布节点时考虑了业务节点间的调用关系及业务节点的流量,从而可以降低客户端灰度发布对业务造成的影响。
Description
技术领域
本发明涉及互联网技术领域,特别是涉及一种客户端灰度发布的方法、装置、服务器和存储介质。
背景技术
目前,客户端发布新版本的时候,可能会遇到由于新版本的缺陷,致使业务部署客户端的节点无法正常运作,对业务造成一定的影响。所以,客户端需要灰度发布。
目前最常用的灰度发布方法,是按照所部署的客户端的比例,随机选取所述比例的客户端进行灰度发布。但是,按照比例进行操作,有可能将新版客户端发布到重要业务的重要节点上,从而在新版客户端有问题时,会造成该重要业务的重要节点上的流量缺失。
发明内容
鉴于上述问题,提出了本发明实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种客户端灰度发布的方法、装置、服务器和存储介质。
依据本发明的第一方面,提供了一种客户端灰度发布的方法,包括:
获取业务节点之间的业务调用关系;
通过部署在业务节点中的客户端获取业务节点的流量;
根据所述业务调用关系和所述业务节点的流量,获取满足指定条件的业务节点,以作为灰度发布节点;
在所述灰度发布节点上部署新版本的客户端。
可选的,所述获取业务节点之间的业务调用关系,包括:
通过部署在业务节点中的客户端监控该业务节点调用的其他业务节点,得到所述业务调用关系。
可选的,所述通过部署在业务节点中的客户端获取业务节点的流量,包括:
通过部署在业务节点中的客户端对业务节点的流量进行监控,得到业务节点的流量,其中,所述业务节点的流量是经过该业务节点对应的所有宿主机的网络流量之和。
可选的,所述根据所述业务调用关系和所述业务节点的流量,获取满足指定条件的业务节点,以作为灰度发布节点,包括:
根据所述业务调用关系和所述业务节点的流量,建立业务节点之间的业务拓扑图;
根据所述业务拓扑图,确定每个业务节点的业务影响范围;
根据每个业务节点的业务影响范围以及灰度发布数量,获取满足指定条件的业务节点,以作为灰度发布节点;或者,根据每个业务节点的业务影响范围以及灰度发布比例,获取满足指定条件的业务节点,以作为灰度发布节点。
可选的,所述业务影响范围包括影响的业务节点及流量。
可选的,所述根据每个业务节点的业务影响范围以及灰度发布数量,获取满足指定条件的业务节点,以作为灰度发布节点,包括:
对每个业务节点影响的业务节点的数量从小到大进行排序,并对影响的业务节点的数量相同的业务节点按照影响的流量从小到大进行排序;
获取排名靠前且满足所述灰度发布数量的业务节点,作为灰度发布节点.
可选的,所述根据每个业务节点的业务影响范围以及灰度发布比例,获取满足指定条件的业务节点,以作为灰度发布节点,包括:
对每个业务节点影响的业务节点的数量从小到大进行排序,并对影响的业务节点的数量相同的业务节点按照影响的流量从小到大进行排序;
获取排名靠前且满足灰度发布比例的业务节点,作为灰度发布节点。
可选的,在所述灰度发布节点上部署新版本的客户端之后,还包括:
对所述灰度发布节点的流量进行监控,以获得所述灰度发布节点的流量;
通过对所述新版的客户端的错误日志信息进行监控,以获得所述灰度发布节点的报错信息;
在所述灰度发布节点的流量和报错信息满足发布条件时,再次执行上述确定灰度发布节点及部署新版本的客户端的操作,直至升级全部业务节点中的客户端。
可选的,还包括:
在所述灰度发布节点的流量和报错信息不满足发布条件时,将所述灰度发布节点上的客户端进行版本回溯。
依据本发明的第二方面,提供了一种客户端灰度发布的装置,包括:
调用关系获取模块,用于获取业务节点之间的业务调用关系;
流量获取模块,用于通过部署在业务节点中的客户端获取业务节点的流量;
灰度发布节点确定模块,用于根据所述业务调用关系和所述业务节点的流量,获取满足指定条件的业务节点,以作为灰度发布节点;
客户端部署模块,用于在所述灰度发布节点上部署新版本的客户端。
可选的,所述调用关系获取模块具体用于:
通过部署在业务节点中的客户端监控该业务节点调用的其他业务节点,得到所述业务调用关系。
可选的,所述流量获取模块具体用于:
通过部署在业务节点中的客户端对业务节点的流量进行监控,得到业务节点的流量,其中,所述业务节点的流量是经过该业务节点对应的所有宿主机的网络流量之和。
可选的,所述灰度发布节点确定模块包括:
业务拓扑图建立单元,用于根据所述业务调用关系和所述业务节点的流量,建立业务节点之间的业务拓扑图;
业务影响确定单元,用于根据所述业务拓扑图,确定每个业务节点的业务影响范围;
灰度发布节点确定单元,用于根据每个业务节点的业务影响范围以及灰度发布数量,获取满足指定条件的业务节点以作为灰度发布节点;或者,根据每个业务节点的业务影响范围以及灰度发布比例,获取满足指定条件的业务节点,以作为灰度发布节点。
可选的,所述业务影响范围包括影响的业务节点及流量。
可选的,所述灰度发布节点确定单元具体用于:
对每个业务节点影响的业务节点的数量从小到大进行排序,并对影响的业务节点的数量相同的业务节点按照影响的流量从小到大进行排序;
获取排名靠前且满足所述灰度发布数量的业务节点,作为灰度发布节点。
可选的,所述灰度发布节点确定单元具体用于:
对每个业务节点影响的业务节点的数量从小到大进行排序,并对影响的业务节点的数量相同的业务节点按照影响的流量从小到大进行排序;
获取排名靠前且满足灰度发布比例的业务节点,作为灰度发布节点。
可选的,还包括:
流量监控模块,用于对所述灰度发布节点的流量进行监控,以获得所述灰度发布节点的流量;
报错信息监控模块,用于通过对所述新版的客户端的错误日志信息进行监控,以获得所述灰度发布节点的报错信息;
灰度发布模块,用于在所述灰度发布节点的流量和报错信息满足发布条件时,再次执行上述确定灰度发布节点及部署新版本的客户端的操作,直至升级全部业务节点中的客户端。
可选的,还包括:
降级模块,用于在所述灰度发布节点的流量和报错信息不满足发布条件时,将所述灰度发布节点上的客户端进行版本回溯。
依据本发明的第三方面,提供了一种服务器,包括:处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如第一方面中所述的客户端灰度发布的方法。
依据本发明的第四方面,提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面中所述的客户端灰度发布的方法。
针对在先技术,本发明具备如下优点:
本实施例提供的客户端灰度发布的方法、装置、服务器和存储介质,通过获取业务节点之间的业务调用关系,并通过部署在业务节点中的客户端获取业务节点的流量,根据业务调用关系和业务节点的流量,获取满足指定条件的业务节点,以作为灰度发布节点,在灰度发布节点上部署新版本的客户端,由于确定灰度发布节点时考虑了业务节点间的调用关系及业务节点的流量,从而可以降低客户端灰度发布对业务造成的影响。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。
图1是本发明实施例提供的一种客户端灰度发布的方法的步骤流程图;
图2是本发明实施例提供的一种客户端灰度发布的方法的步骤流程图;
图3是本发明实施例提供的一种客户端灰度发布的方法的步骤流程图;
图4是本发明实施例提供的一种客户端灰度发布的方法的步骤流程图;
图5是本发明实施例提供的一种客户端灰度发布的方法中的业务拓扑图的示例图;
图6是本发明实施例提供的一种客户端灰度发布的装置的结构框图;
图7为本发明实施例提供的一种服务器的结构框图。
具体实施方式
下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。
图1是本发明实施例提供的一种客户端灰度发布的方法的步骤流程图,应用于与所述客户端对应的服务器中,如图1所示,该方法可以包括:
步骤101,获取业务节点之间的业务调用关系。
其中,业务调用关系是指一个业务节点所调用的其他业务节点。业务节点可以是公司中的各个部门中部署的用于提供本部门服务的服务器或者服务器集群。
可选的,所述获取业务节点之间的业务调用关系,包括:
通过部署在业务节点中的客户端监控该业务节点调用的其他业务节点,得到所述业务调用关系。
其中,客户端可以是公司中的用于服务的客户端,例如日志采集客户端等等,当然,也可以是其他客户端,这里不做限定。客户端可以安装在所述业务节点中,用于监控业务节点的流量及业务节点的业务调用关系。
可以在客户端中设置链路分析模块,所述链路分析模块用于记录该客户端所在业务节点调用的其他业务节点,将记录的业务调用关系发送到客户端对应的服务器(即为客户端提供服务的服务器)中,部署在每个业务节点中的客户端均将各自的业务调用关系发送到客户端对应的服务器中。
在此步骤之前,还可选包括:使用测试环境验证新版客户端的正确性。
在新版客户端开发完成之后,与生产环境配置相同的测试服务器对新版客户端进行功能测试和性能测试,监控客户端流量以及报错信息,当满足发布条件后进入灰度发布流程,也即本实施例中的步骤101~步骤104。
步骤102,通过部署在业务节点中的客户端获取业务节点的流量。
其中,业务节点的流量是指业务节点的宿主机的网络流量。
可选的,所述通过部署在业务节点中的客户端获取业务节点的流量,包括:
通过部署在业务节点中的客户端对业务节点的流量进行监控,得到业务节点的流量,其中,所述业务节点的流量是经过该业务节点对应的所有宿主机的网络流量之和。
部署在业务节点中的客户端还需要监控该业务节点对应的所有宿主机的网络流量,并发送给客户端对应的服务器。需要说明的是,当业务节点为一个服务器时,该服务器的流量就为该业务节点的流量,当业务节点为服务器集群时,服务器集群中的各个服务器的流量之和为该业务节点的流量。
步骤103,根据所述业务调用关系和所述业务节点的流量,获取满足指定条件的业务节点,以作为灰度发布节点。
其中,灰度发布是指在黑与白之间,能够平滑过渡的一种发布方式,在其上可以进行A/B testing,即让一部分用户继续用产品特性A,一部分用户开始用产品特性B,如果用户对B没有什么反对意见,那么逐步扩大范围,把所有用户都迁移到B上面来。灰度发布可以保证整体***的稳定,在初始灰度发布的时候就可以发现、调整问题,以保证其较小的影响度。灰度发布节点为进行灰度发布的业务节点。
指定条件需要同时包括以下两个条件:
第一个、业务节点的上游节点不包含用户节点,且业务节点的下游节点也不包含用户节点;
第二个、所影响的业务节点的数量最少。
其中,获得满足指定条件的业务节点的方法是:按照业务节点影响的业务节点的数量从小到大的顺序,对所有业务节点进行排序,并对影响的业务节点的数量相同的业务节点按照影响的流量从小到大进行排序,选取排名靠前且满足灰度发布数量的业务节点,或者,选取排名靠前且满足灰度发布比例的业务节点。
其中,灰度发布数量是预先设置的灰度发布节点的数量,灰度发布比例为预先设置的灰度发布节点在所有业务节点中的比例。
其中,用户为一个公司中各个部门以外的用户,例如可以是消费者。一个业务节点的上游节点为调用该业务节点的其他业务节点,一个业务节点的下游节点为该业务节点所调用的其他业务节点。一个业务节点影响的业务节点包括该业务节点的上游节点和下游节点。
根据业务调用关系和业务节点的流量,确定每个业务节点的上游节点或者下游节点中是否包含用户节点,在上游节点和下游节点均不包含用户节点时,确定每个业务节点影响的业务节点的总流量,选取影响的业务节点的总流量最低的业务节点,选取的业务节点的数量为灰度发布数量或者选取的业务节点数量通过灰度发布比例与业务节点的总数量确定。如果一个业务节点的上游节点或者下游节点包含用户节点,则为了在灰度发布时不影响到用户的正常使用,该业务节点不能作为灰度发布节点,因此首先要排除该业务节点。
步骤104,在所述灰度发布节点上部署新版本的客户端。
在确定灰度发布节点后,在灰度发布节点上部署新版本的客户端,即升级灰度发布节点上的客户端。具体可以通过向灰度发布节点上的客户端发送升级指令,指示客户端进行升级,来达到在灰度发布节点上部署新版本的客户端的目的。
本实施例提供的客户端灰度发布的方法,通过获取业务节点之间的业务调用关系,并通过部署在业务节点中的客户端获取业务节点的流量,根据业务调用关系和业务节点的流量,获取满足指定条件的业务节点为灰度发布节点,在灰度发布节点上部署新版本的客户端,由于确定灰度发布节点时考虑了业务节点间的业务调用关系及业务节点的流量,而不是随机发布,从而可以降低客户端灰度发布对业务造成的影响。
图2是本发明实施例提供的一种客户端灰度发布的方法的步骤流程图,本实施例在上述实施例的基础上,在确定灰度发布节点时,根据业务调用关系和业务节点的流量建立业务节点之间的业务拓扑图,根据业务拓扑图确定获取满足指定条件的业务节点,以作为灰度发布节点,如图2所示,该方法可以包括:
步骤201,获取业务节点之间的业务调用关系。
本步骤的具体内容与上述实施例中的步骤101的具体内容相同,这里不再赘述。
步骤202,通过部署在业务节点中的客户端获取业务节点的流量。
本步骤的具体内容与上述实施例中的步骤102的具体内容相同,这里不再赘述。
步骤203,根据所述业务调用关系和所述业务节点的流量,建立业务节点之间的业务拓扑图。
根据每个业务节点的业务调用关系,可以确定每个业务节点的下游节点,同时一个业务节点还可能是其他业务节点的上游节点,从而从一个业务节点出发,可以确定该业务节点的所有上游节点和/或下游节点,可以连接有业务调用关系的两个业务节点的标识,从而将所有节点的业务调用关系绘制在一张图上,并在该图上标注每个业务节点的流量,便形成了业务节点之间的业务拓扑图。在业务拓扑图中,一条链路上的所有业务节点组成调用链路。
步骤204,根据所述业务拓扑图,确定每个业务节点的业务影响范围。
其中,所述业务影响范围可选包括影响的业务节点及流量。
根据业务拓扑图,可以确定一个业务节点的所有上游节点和/或下游节点,这些上游节点和/或下游节点就是该业务节点影响的业务节点,并统计这些上游节点和/或下游节点的流量之和,作为该业务节点影响的流量,从而一个业务节点影响的业务节点及流量即该业务节点的业务影响范围。其中,一个业务节点的所有上游节点包括该业务节点的直接上游节点和直接上游节点的上游节点,一个业务节点的所有下游节点包括该业务节点的直接下游节点和直接下游节点的下游节点。
步骤205,根据每个业务节点的业务影响范围以及灰度发布数量,获取满足指定条件的业务节点,以作为灰度发布节点;或者,根据每个业务节点的业务影响范围以及灰度发布比例,获取满足指定条件的业务节点,以作为灰度发布节点。
根据每个业务节点的业务影响范围,可以确定一个业务节点影响的业务节点中是否包含用户节点,可以首先排除影响的业务节点中包含用户节点的业务节点,在剩下的业务节点中,计算每个业务节点影响的其他业务节点的数量,选取影响的其他业务节点数量最少且满足灰度发布数量,或者,选取影响的其他业务节点数量最少且满足灰度发布比例的业务节点,以作为灰度发布节点。如果最后有多个业务节点影响的其他业务节点数量相同,并且需要选取部分业务节点作为灰度发布节点时,可以从这多个业务节点中选取影响的流量最低的业务节点,以作为灰度发布节点。例如,业务节点1影响的其他业务节点的数量为2,影响的流量为1000QPS,业务节点2影响的其他业务节点的数量为3,影响的流量为2000QPS,业务节点3影响的其他业务节点的数量为3,影响的流量为3000QPS,业务节点4影响的其他业务节点的数量为3,影响的流量为4000QPS,业务节点5影响的其他业务节点的数量为4,影响的流量为5000QPS,需要选取3个业务节点作为灰度发布节点时,首先选取影响的业务节点数量最少的业务节点,即业务节点1,而业务节点2、业务节点3和业务节点4影响的其他业务节点的数量均为3,这时需要从这3个业务节点中选取2个业务节点作为灰度发布节点,这时再在这3个业务节点中选取影响的流量最少的业务节点,从而选取到业务节点2和业务节点3,最终,业务节点1、业务节点2和业务节点3作为灰度发布节点。
可选的,所述根据每个业务节点的业务影响范围以及灰度发布数量,获取满足指定条件的业务节点,以作为灰度发布节点,包括:
对每个业务节点影响的业务节点的数量从小到大进行排序,并对影响的业务节点的数量相同的业务节点按照影响的流量从小到大进行排序;
获取排名靠前且满足所述灰度发布数量的业务节点,作为灰度发布节点。
可以首先按照每个业务节点影响的其他业务节点的数量从小到大进行排序,再对影响的其他业务节点的数量相同的业务节点中按照影响的流量从小到大进行排序,获取排名靠前且满足灰度发布数量的业务节点,以作为灰度发布节点。通过对业务节点按照影响的业务节点的数量和影响的流量进行从小到大排序,可以快速并准确的确定业务影响范围较小的业务节点作为灰度发布节点。
可选的,所述根据每个业务节点的业务影响范围以及灰度发布比例,获取满足指定条件的业务节点,以作为灰度发布节点,包括:
对每个业务节点影响的业务节点的数量从小到大进行排序,并对影响的业务节点的数量相同的业务节点按照影响的流量从小到大进行排序;
获取排名靠前且满足灰度发布比例的业务节点,作为灰度发布节点。
可以首先按照每个业务节点影响的其他业务节点的数量从小到大进行排序,再对影响的其他业务节点的数量相同的业务节点中按照影响的流量从小到大进行排序,获取排名靠前且满足灰度发布比例的业务节点,以作为灰度发布节点。通过对业务节点按照影响的业务节点的数量和影响的流量进行从小到大排序,可以快速并准确的确定业务影响范围较小的业务节点作为灰度发布节点。
步骤206,在所述灰度发布节点上部署新版本的客户端。
本步骤的具体内容与上述实施例中的步骤104的具体内容相同,这里不再赘述。
本实施例提供的客户端灰度发布的方法,通过获取业务节点之间的业务调用关系,并通过部署在业务节点中的客户端获取业务节点的流量,根据业务调用关系和业务节点的流量,建立业务节点之间的业务拓扑图,根据业务拓扑图确定每个业务节点的业务影响范围,根据业务影响范围,以及灰度发布数量或灰度发布比例获取满足指定条件的业务节点为灰度发布节点,在灰度发布节点上部署新版的客户端,由于确定灰度发布节点时考虑了业务节点间的业务影响范围,选取业务影范围小的业务节点作为灰度发布节点,从而可以降低客户端灰度发布对业务造成的影响,而且通过建立业务拓扑图可以快速确定每个业务节点的业务影响范围,从而提高确定灰度发布节点的处理速度。
图3是本发明实施例提供的一种客户端灰度发布的方法的步骤流程图,本实施例在上述实施例的基础上,在所述灰度发布节点上部署新版的客户端之后,还可选包括:对所述灰度发布节点的流量进行监控,以获得所述灰度发布节点的流量;通过对新版的客户端的错误日志信息进行监控,已获得灰度发布节点的报错信息,在灰度发布节点的流量和报错信息满足发布条件时,再次执行上述确定灰度发布节点及部署新版的客户端的操作,直至升级全部业务节点中的客户端。如图3所示,该方法可以包括:
步骤301,获取业务节点之间的业务调用关系。
本步骤的具体内容与上述实施例中的步骤101的具体内容相同,这里不再赘述。
步骤302,通过部署在业务节点中的客户端获取业务节点的流量。
本步骤的具体内容与上述实施例中的步骤102的具体内容相同,这里不再赘述。
步骤303,根据所述业务调用关系和所述业务节点的流量,获取满足指定条件的业务节点,以作为灰度发布节点。
本步骤的具体内容与上述实施例中的步骤103的具体内容相同,这里不再赘述。
步骤304,在所述灰度发布节点上部署新版本的客户端。
本步骤的具体内容与上述实施例中的步骤104的具体内容相同,这里不再赘述。
步骤305,判断是否升级全部业务节点中的客户端,如果否,则执行步骤306,如果是则结束。
如果全部业务节点中的客户端均已升级,则完成了客户端的灰度发布,结束该流程,如果还存在业务节点中的客户端没有升级,则执行步骤305,进行下一轮灰度发布流程。
步骤306,对所述灰度发布节点的流量进行监控,以获得所述灰度发布节点的流量。
通过部署在灰度发布节点上的新版的客户端中的监控模块获取对应的灰度发布节点的流量,通过客户端与服务器之间的通信,将灰度发布节点的流量发送给服务器。
步骤307,通过对所述新版的客户端的错误日志信息进行监控,以获得所述灰度发布节点的报错信息。
通过新版的客户端中的监控模块监控新版的客户端的错误日志信息,在新版的客户端遇到故障宕机前会产生错误日志信息,监控模块获取到该错误日志信息,作为灰度发布节点的报错信息,通过客户端与服务器之间的通信,新版的客户端将该报错信息发送给服务器。
步骤308,根据所述灰度发布节点的流量和报错信息,判断是否满足发布条件,如果是则执行步骤302,如果否则执行步骤309。
其中,发布条件可以是不存在报错信息,且灰度发布节点的流量和升级前的客户端的流量之差的绝对值小于或等于预设阈值。
根据报错信息确定新版的客户端是否存在故障,如功能性问题(如无法正常运行),在不存在故障时,比较灰度发布节点的流量和该节点升级前的客户端时的流量之差的绝对值是否大于预设阈值,如果不大于预设阈值,则确定满足发布条件,再次执行步骤302到步骤307,进行下一轮灰度发布流程,从剩余的业务节点中再次按照上述规则选择满足指定条件的业务节点,以作为灰度发布节点,直至升级全部业务节点中的客户端。
步骤309,将所述灰度发布节点上的客户端进行版本回溯。
如果灰度发布节点的流量和报错信息不满足灰度发布条件,则确定新版的客户端存在故障,不能正常运行,会影响业务节点的业务,这时通知工作人员对新版的客户端的故障进行处理,同时将灰度发布节点上的客户端进行版本回溯,恢复到升级前的版本,从而保证业务节点正常运行。
本实施例提供的客户端灰度发布的方法,通过在灰度发布节点上部署新版本的客户端之后,获取灰度发布节点的流量和报错信息,可以及时发现新版的客户端存在的问题,从而采取措施进行处理,或者是新版的客户端不存在问题时,如果满足发布条件,则继续执行灰度发布操作,即确定灰度发布节点并部署新版的客户端,直至升级全部业务节点中的客户端,完成灰度发布,由于确定灰度发布节点时考虑了业务节点间的业务调用关系及业务节点的流量,从而可以降低客户端灰度发布对业务造成的影响。
图4是本发明实施例提供的一种客户端灰度发布的方法的步骤流程图,本实施例是在上述实施例的基础上的一个可选实例,本实施例以9个业务节点为例进行举例说明。9个业务节点包括业务节点1、业务节点2、业务节点3、业务节点4、业务节点5、业务节点6、业务节点7、业务节点8和业务节点9。如图4所示,该方法可以包括:
步骤401,获取业务节点之间的业务调用关系。
通过部署在业务节点上客户端中的链路分析模块,记录该客户端所在业务节点调用的其他业务节点,作为业务调用关系,并发送给服务器。服务器接收到各个业务节点发送的业务调用关系后,确定业务节点1为所有业务节点的被调用节点,具体的业务调用关系为:业务节点2调用业务节点1,业务节点3调用业务节点1,用户节点调用业务节点3,业务节点4调用业务节点1,业务节点5调用业务节点1,业务节点6调用业务节点1和业务节点8,业务节点7调用业务节点2,业务节点8调用业务节点2和业务节点5,业务节点9调用业务节点3。
步骤402,通过部署在业务节点中的客户端获取业务节点的流量。
获取到的各个业务节点的流量为:业务节点1的流量为5000QPS,业务节点2的流量为8000QPS,业务节点4的流量为8000QPS,业务节点5的流量为1500QPS,业务节点6的流量为4500QPS,业务节点7的流量为10000QPS,业务节点8的流量为7000QPS,业务节点9的流量为10000QPS。
步骤403,根据所述业务调用关系和所述业务节点的流量,建立业务节点之间的业务拓扑图。
根据每个业务节点的业务调用关系,可以确定每个业务节点的下游节点,同时一个业务节点还可能是其他业务节点的上游节点,从而从一个业务节点出发,可以确定该业务节点的所有上游节点和/或下游节点,可以连接有业务调用关系的两个业务节点的标识,从而将所有节点的业务调用关系绘制在一张图上,并在该图上标注每个业务节点的流量,便形成了业务节点之间的业务拓扑图。建立的业务拓扑图如图5所示,在业务拓扑图中,一条链路上的所有业务节点组成调用链路,如业务节点1、业务节点2和业务节点7组成一条调用链路,业务节点1、业务节点2、业务节点8和业务节点6组成一条调用链路,业务节点1、业务节点3和用户节点组成一条调用链路,业务节点1、业务节点3和业务节点9组成一条调用链路,业务节点1和业务节点4组成一条调用链路,业务节点1、业务节点5、业务节点8和业务节点6组成一条调用链路,业务节点1和业务节点组成一条调用链路。
步骤404,根据所述业务拓扑图,确定每个业务节点的业务影响范围。
如图5所示,在‘业务节点1、业务节点3和用户节点’这条调用链路中,确定业务节点3影响的业务节点包括业务节点1和用户节点;在‘业务节点1、业务节点2和业务节点7’这条调用链路中,确定业务节点2影响的业务节点包括业务节点7和业务节点1,该调用链路的总流量为18000QPS;在‘业务节点1和业务节点4’这条调用链路中,确定业务节点4影响的业务节点为业务节点1,总流量为8000QPS;与此类似,确定其他调用链路中的业务节点的业务影响范围。统计相同的业务节点在包括该业务节点的各条调用链路中的影响的所有业务节点的数量及流量,作为业务节点的业务影响范围。
步骤405,对每个业务节点影响的业务节点的数量从小到大进行排序,并对影响的业务节点的数量相同的业务节点按照影响的流量从小到大进行排序,获取排名靠前且满足所述灰度发布数量的业务节点,作为灰度发布节点,或者获取排名靠前且满足灰度发布比例的业务节点,作为灰度发布节点。
如图5中较粗的黑线所示,因为涉及用户节点,所以该条调用链路上的业务节点都不能作为灰度发布节点的首选;最初的灰度发布节点,可以选择业务节点4,因为该业务节点只影响业务节点1,即影响的业务节点的数量为1,而其他业务节点影响的业务节点的数量都大于1,并且业务节点4影响的流量为13000QPS,也是相对较低的。
步骤406,在所述灰度发布节点上部署新版本的客户端。
在确定的灰度发布节点即业务节点4上部署新版本的客户端。
步骤407,判断是否升级全部业务节点中的客户端,如果否,则执行步骤407,如果是则结束。
步骤408,对所述灰度发布节点的流量进行监控,以获得所述灰度发布节点的流量;通过对所述新版的客户端的错误日志信息进行监控,以获得所述灰度发布节点的报错信息。
步骤409,判断所述灰度发布节点的流量和报错信息是否满足发布条件,如果是则执行步骤402,如果否则执行步骤410。
步骤410,将所述灰度发布节点上的客户端进行版本回溯。
本实施例提供的客户端灰度发布的方法,通过以9个业务节点为例,介绍了灰度发布的流程,由于确定灰度发布节点时考虑了业务节点间的调用关系及业务节点的流量,从而可以降低客户端灰度发布对业务造成的影响。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
图6是本发明实施例提供的一种客户端灰度发布的装置的结构框图,该客户端灰度发布的装置可以应用于服务器中,如图6所示,该客户端灰度发布的装置600可以包括:
调用关系获取模块601,用于获取业务节点之间的业务调用关系;
流量获取模块602,用于通过部署在业务节点中的客户端获取业务节点的流量;
灰度发布节点确定模块603,用于根据所述业务调用关系和所述业务节点的流量,获取满足指定条件的业务节点,以作为灰度发布节点;
客户端部署模块604,用于在所述灰度发布节点上部署新版本的客户端。
可选的,所述调用关系获取模块具体用于:
通过部署在业务节点中的客户端监控该业务节点调用的其他业务节点,得到所述业务调用关系。
可选的,所述流量获取模块具体用于:
通过部署在业务节点中的客户端对业务节点的流量进行监控,得到业务节点的流量,其中,所述业务节点的流量是经过该业务节点对应的所有宿主机的网络流量之和。
可选的,所述灰度发布节点确定模块包括:
业务拓扑图建立单元,用于根据所述业务调用关系和所述业务节点的流量,建立业务节点之间的业务拓扑图;
业务影响确定单元,用于根据所述业务拓扑图,确定每个业务节点的业务影响范围;
灰度发布节点确定单元,用于根据每个业务节点的业务影响范围以及灰度发布数量,获取满足指定条件的业务节点,以作为灰度发布节点;或者,根据每个业务节点的业务影响范围以及灰度发布比例,获取满足指定条件的业务节点,以作为灰度发布节点。
可选的,所述业务影响范围包括影响的业务节点及流量。
可选的,所述灰度发布节点确定单元具体用于:
对每个业务节点影响的业务节点的数量从小到大进行排序,并对影响的业务节点的数量相同的业务节点按照影响的流量从小到大进行排序;
获取排名靠前且满足所述灰度发布数量的业务节点,作为灰度发布节点。
可选的,所述灰度发布节点确定单元具体用于:
对每个业务节点影响的业务节点的数量从小到大进行排序,并对影响的业务节点的数量相同的业务节点按照影响的流量从小到大进行排序;
获取排名靠前且满足灰度发布比例的业务节点,作为灰度发布节点。
可选的,还包括:
流量监控模块,用于对所述灰度发布节点的流量进行监控,以获得所述灰度发布节点的流量;
报错信息监控模块,用于通过对所述新版的客户端的错误日志信息进行监控,以获得所述灰度发布节点的报错信息;
灰度发布模块,用于在所述灰度发布节点的流量和报错信息满足发布条件时,再次执行上述确定灰度发布节点及部署新版本的客户端的操作,直至升级全部业务节点中的客户端。
可选的,还包括:
降级模块,用于在所述灰度发布节点的流量和报错信息不满足发布条件时,将所述灰度发布节点上的客户端进行版本回溯。
本实施例提供的客户端灰度发布的装置,通过调用关系获取模块获取业务节点之间的业务调用关系,流量获取模块通过部署在业务节点中的客户端获取业务节点的流量,灰度发布节点确定模块根据业务调用关系和业务节点的流量,获取满足指定条件的业务节点,以作为灰度发布节点,客户端部署模块在灰度发布节点上部署新版本的客户端,由于确定灰度发布节点时考虑了业务节点间的调用关系及业务节点的流量,从而可以降低客户端灰度发布对业务造成的影响。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
图7为本发明实施例提供的一种服务器的结构框图。如图7所示,该服务器700可以包括与一个或多个数据存储工具连接的处理器701,该数据存储工具可以包括内存单元702和存储介质703。服务器700还可以包括输入接口704和输出接口705,用于与另一装置或***进行通信。被处理器701的CPU执行的程序代码可存储在内存单元702或存储介质704中。
服务器700中的处理器701调用存储在内存单元702或存储介质703的程序代码,以执行上述实施例中的客户端灰度发布的方法。
其中,存储介质可以是只读存储器(Read-Only Memory,ROM),或是可读写的,例如硬盘、闪存。内存单元可为随机存取存储器(Random Access Memory,RAM)。内存单元可与处理器物理集成或集成在存储器中或构建为单独的单元。
处理器为上述服务器的控制中心,并提供处理装置,用于执行指令,进行中断操作,提供计时功能以及多种其他功能。可选地,处理器包括一个或多个中央处理单元(CPU),例如图7中示出的CPU 0和CPU 1。上述服务器中包括一个或者多个的处理器。处理器可为单核(单CPU)处理器或多核(多CPU)处理器。除非另有声明,描述为用于执行任务的例如处理器或存储器的部件可实现为通用部件,其暂时用于在给定时间执行任务,或实现为专门制造用于执行该任务的特定部件。此处所用的术语“处理器”指一个或多个装置,电路和/或处理核,用于处理数据,例如计算机程序指令。
被处理器的CPU执行的程序代码可存储在内存单元或存储介质中。可选地,存储在存储介质中的程序代码可以被复制入内存单元以便处理器的CPU执行。处理器可执行至少一个内核(例如LINUXTM、UNIXTM、WINDOWSTM、ANDROIDTM、IOSTM),众所周知,该内核用于通过控制其他程序或过程的执行、控制与***装置的通信以及控制计算机设备资源的使用来控制上述服务器的操作。
上述服务器中的上述元件可通过总线彼此连接,总线例如数据总线、地址总线、控制总线、扩展总线和局部总线之一或其任意组合。
根据本发明的一个实施例,还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,存储介质可以是只读存储器(Read-Only Memory,ROM),或是可读写的,例如硬盘、闪存。所述计算机程序被处理器执行时实现前述实施例的客户端灰度发布的方法。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的一种客户端灰度发布的方法、装置、服务器和存储介质,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (20)
1.一种客户端灰度发布的方法,其特征在于,包括:
获取业务节点之间的业务调用关系;
通过部署在业务节点中的客户端获取业务节点的流量;
根据所述业务调用关系和所述业务节点的流量,获取满足指定条件的业务节点,以作为灰度发布节点;
在所述灰度发布节点上部署新版本的客户端。
2.根据权利要求1所述的方法,其特征在于,所述获取业务节点之间的业务调用关系,包括:
通过部署在业务节点中的客户端监控该业务节点调用的其他业务节点,得到所述业务调用关系。
3.根据权利要求1所述的方法,其特征在于,所述通过部署在业务节点中的客户端获取业务节点的流量,包括:
通过部署在业务节点中的客户端对业务节点的流量进行监控,得到业务节点的流量,其中,所述业务节点的流量是经过该业务节点对应的所有宿主机的网络流量之和。
4.根据权利要求1所述的方法,其特征在于,所述根据所述业务调用关系和所述业务节点的流量,获取满足指定条件的业务节点,以作为灰度发布节点,包括:
根据所述业务调用关系和所述业务节点的流量,建立业务节点之间的业务拓扑图;
根据所述业务拓扑图,确定每个业务节点的业务影响范围;
根据每个业务节点的业务影响范围以及灰度发布数量,获取满足指定条件的业务节点,以作为灰度发布节点;或者,根据每个业务节点的业务影响范围以及灰度发布比例,获取满足指定条件的业务节点,以作为灰度发布节点。
5.根据权利要求4所述的方法,其特征在于,所述业务影响范围包括影响的业务节点及流量。
6.根据权利要求5所述的方法,其特征在于,所述根据每个业务节点的业务影响范围以及灰度发布数量,获取满足指定条件的业务节点,以作为灰度发布节点,包括:
对每个业务节点影响的业务节点的数量从小到大进行排序,并对影响的业务节点的数量相同的业务节点按照影响的流量从小到大进行排序;
获取排名靠前且满足所述灰度发布数量的业务节点,作为灰度发布节点。
7.根据权利要求5所述的方法,其特征在于,所述根据每个业务节点的业务影响范围以及灰度发布比例,获取满足指定条件的业务节点,以作为灰度发布节点,包括:
对每个业务节点影响的业务节点的数量从小到大进行排序,并对影响的业务节点的数量相同的业务节点按照影响的流量从小到大进行排序;
获取排名靠前且满足灰度发布比例的业务节点,作为灰度发布节点。
8.根据权利要求1所述的方法,其特征在于,在所述灰度发布节点上部署新版本的客户端之后,还包括:
对所述灰度发布节点的流量进行监控,以获得所述灰度发布节点的流量;
通过对所述新版的客户端的错误日志信息进行监控,以获得所述灰度发布节点的报错信息;
在所述灰度发布节点的流量和报错信息满足发布条件时,再次执行上述确定灰度发布节点及部署新版本的客户端的操作,直至升级全部业务节点中的客户端。
9.根据权利要求8所述的方法,其特征在于,还包括:
在所述灰度发布节点的流量和报错信息不满足发布条件时,将所述灰度发布节点上的客户端进行版本回溯。
10.一种客户端灰度发布的装置,其特征在于,包括:
调用关系获取模块,用于获取业务节点之间的业务调用关系;
流量获取模块,用于通过部署在业务节点中的客户端获取业务节点的流量;
灰度发布节点确定模块,用于根据所述业务调用关系和所述业务节点的流量,获取满足指定条件的业务节点,以作为灰度发布节点;
客户端部署模块,用于在所述灰度发布节点上部署新版本的客户端。
11.根据权利要求10所述的装置,其特征在于,所述调用关系获取模块具体用于:
通过部署在业务节点中的客户端监控该业务节点调用的其他业务节点,得到所述业务调用关系。
12.根据权利要求10所述的装置,其特征在于,所述流量获取模块具体用于:
通过部署在业务节点中的客户端对业务节点的流量进行监控,得到业务节点的流量,其中,所述业务节点的流量是经过该业务节点对应的所有宿主机的网络流量之和。
13.根据权利要求10所述的装置,其特征在于,所述灰度发布节点确定模块包括:
业务拓扑图建立单元,用于根据所述业务调用关系和所述业务节点的流量,建立业务节点之间的业务拓扑图;
业务影响确定单元,用于根据所述业务拓扑图,确定每个业务节点的业务影响范围;
灰度发布节点确定单元,用于根据每个业务节点的业务影响范围以及灰度发布数量,获取满足指定条件的业务节点,以作为灰度发布节点;或者,根据每个业务节点的业务影响范围以及灰度发布比例,获取满足指定条件的业务节点,以作为灰度发布节点。
14.根据权利要求13所述的装置,其特征在于,所述业务影响范围包括影响的业务节点及流量。
15.根据权利要求14所述的装置,其特征在于,所述灰度发布节点确定单元具体用于:
对每个业务节点影响的业务节点的数量从小到大进行排序,并对影响的业务节点的数量相同的业务节点按照影响的流量从小到大进行排序;
获取排名靠前且满足所述灰度发布数量的业务节点,作为灰度发布节点。
16.根据权利要求14所述的装置,其特征在于,所述灰度发布节点确定单元具体用于:
对每个业务节点影响的业务节点的数量从小到大进行排序,并对影响的业务节点的数量相同的业务节点按照影响的流量从小到大进行排序;
获取排名靠前且满足灰度发布比例的业务节点,作为灰度发布节点。
17.根据权利要求10所述的装置,其特征在于,还包括:
流量监控模块,用于对所述灰度发布节点的流量进行监控,以获得所述灰度发布节点的流量;
报错信息监控模块,用于通过对所述新版的客户端的错误日志信息进行监控,以获得所述灰度发布节点的报错信息;
灰度发布模块,用于在所述灰度发布节点的流量和报错信息满足发布条件时,再次执行上述确定灰度发布节点及部署新版本的客户端的操作,直至升级全部业务节点中的客户端。
18.根据权利要求17所述的装置,其特征在于,还包括:
降级模块,用于在所述灰度发布节点的流量和报错信息不满足发布条件时,将所述灰度发布节点上的客户端进行版本回溯。
19.一种服务器,其特征在于,包括:处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1-9任一项所述的客户端灰度发布的方法。
20.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1-9任一项所述的客户端灰度发布的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811384519.9A CN109739527B (zh) | 2018-11-20 | 2018-11-20 | 一种客户端灰度发布的方法、装置、服务器和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811384519.9A CN109739527B (zh) | 2018-11-20 | 2018-11-20 | 一种客户端灰度发布的方法、装置、服务器和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109739527A true CN109739527A (zh) | 2019-05-10 |
CN109739527B CN109739527B (zh) | 2022-07-08 |
Family
ID=66356970
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811384519.9A Active CN109739527B (zh) | 2018-11-20 | 2018-11-20 | 一种客户端灰度发布的方法、装置、服务器和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109739527B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110377327A (zh) * | 2019-06-19 | 2019-10-25 | 平安普惠企业管理有限公司 | 生产环境灰度发布监控方法、设备、存储介质及装置 |
CN110489133A (zh) * | 2019-08-23 | 2019-11-22 | 亿企赢网络科技有限公司 | 一种灰度发布方法、***及电子设备和存储介质 |
CN111290867A (zh) * | 2020-02-27 | 2020-06-16 | 北京三快在线科技有限公司 | 流量调度方法、业务服务器、存储介质及流量调度*** |
CN112287183A (zh) * | 2020-10-30 | 2021-01-29 | 北京字节跳动网络技术有限公司 | 一种链路拓扑图展示方法、装置及计算机存储介质 |
CN113422732A (zh) * | 2021-06-22 | 2021-09-21 | 康键信息技术(深圳)有限公司 | 基于全站灰度的版本更新方法、装置、设备及存储介质 |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102135895A (zh) * | 2010-12-29 | 2011-07-27 | 华为软件技术有限公司 | ***升级方法及*** |
CN103176790A (zh) * | 2011-12-26 | 2013-06-26 | 阿里巴巴集团控股有限公司 | 应用发布方法和*** |
WO2014175998A1 (en) * | 2013-04-24 | 2014-10-30 | Linkedin Corporation | Updating a front end client |
CN105791341A (zh) * | 2014-12-22 | 2016-07-20 | 华为软件技术有限公司 | 一种应用发布的处理方法、装置及*** |
CN106257894A (zh) * | 2016-08-29 | 2016-12-28 | 北京海誉动想科技股份有限公司 | 基于微服务的灰度发布方法 |
US20170139727A1 (en) * | 2015-11-18 | 2017-05-18 | Level 3 Communications, Llc | Communication node upgrade system and method for a communication network |
US20170139808A1 (en) * | 2015-11-13 | 2017-05-18 | Le Holdings (Beijing) Co., Ltd. | Method and dispatcher node for server processing management |
CN107229487A (zh) * | 2016-03-25 | 2017-10-03 | 阿里巴巴集团控股有限公司 | 代码处理方法及装置 |
CN107463390A (zh) * | 2016-06-02 | 2017-12-12 | 阿里巴巴集团控股有限公司 | 一种软件升级方法及升级服务器 |
CN107733710A (zh) * | 2017-10-17 | 2018-02-23 | 平安科技(深圳)有限公司 | 链路调用关系的构建方法、装置、计算机设备及存储介质 |
CN108268271A (zh) * | 2016-12-29 | 2018-07-10 | 华为技术服务有限公司 | 微服务的升级方法与升级装置 |
CN108345462A (zh) * | 2018-01-11 | 2018-07-31 | 华为技术有限公司 | 组件升级的方法和装置 |
CN108376118A (zh) * | 2018-02-09 | 2018-08-07 | 腾讯科技(深圳)有限公司 | 服务发布***、方法、设备及存储介质 |
-
2018
- 2018-11-20 CN CN201811384519.9A patent/CN109739527B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102135895A (zh) * | 2010-12-29 | 2011-07-27 | 华为软件技术有限公司 | ***升级方法及*** |
CN103176790A (zh) * | 2011-12-26 | 2013-06-26 | 阿里巴巴集团控股有限公司 | 应用发布方法和*** |
WO2014175998A1 (en) * | 2013-04-24 | 2014-10-30 | Linkedin Corporation | Updating a front end client |
CN105791341A (zh) * | 2014-12-22 | 2016-07-20 | 华为软件技术有限公司 | 一种应用发布的处理方法、装置及*** |
US20170139808A1 (en) * | 2015-11-13 | 2017-05-18 | Le Holdings (Beijing) Co., Ltd. | Method and dispatcher node for server processing management |
US20170139727A1 (en) * | 2015-11-18 | 2017-05-18 | Level 3 Communications, Llc | Communication node upgrade system and method for a communication network |
CN107229487A (zh) * | 2016-03-25 | 2017-10-03 | 阿里巴巴集团控股有限公司 | 代码处理方法及装置 |
CN107463390A (zh) * | 2016-06-02 | 2017-12-12 | 阿里巴巴集团控股有限公司 | 一种软件升级方法及升级服务器 |
CN106257894A (zh) * | 2016-08-29 | 2016-12-28 | 北京海誉动想科技股份有限公司 | 基于微服务的灰度发布方法 |
CN108268271A (zh) * | 2016-12-29 | 2018-07-10 | 华为技术服务有限公司 | 微服务的升级方法与升级装置 |
CN107733710A (zh) * | 2017-10-17 | 2018-02-23 | 平安科技(深圳)有限公司 | 链路调用关系的构建方法、装置、计算机设备及存储介质 |
CN108345462A (zh) * | 2018-01-11 | 2018-07-31 | 华为技术有限公司 | 组件升级的方法和装置 |
CN108376118A (zh) * | 2018-02-09 | 2018-08-07 | 腾讯科技(深圳)有限公司 | 服务发布***、方法、设备及存储介质 |
Non-Patent Citations (3)
Title |
---|
BOONYA: "互联网产品灰度发布", 《HTTPS://BLOG.CSDN.NET/BOONYA/ARTICLE/DETAILS/51537674》 * |
D. BEYER: "Clustering software artifacts based on frequent", 《HTTPS://IEEEXPLORE.IEEE.ORG/ABSTRACT/DOCUMENT/1421041》 * |
安俊秀: "《量化社会 大数据与社会计算[M]》", 30 November 2016 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110377327A (zh) * | 2019-06-19 | 2019-10-25 | 平安普惠企业管理有限公司 | 生产环境灰度发布监控方法、设备、存储介质及装置 |
CN110489133A (zh) * | 2019-08-23 | 2019-11-22 | 亿企赢网络科技有限公司 | 一种灰度发布方法、***及电子设备和存储介质 |
CN111290867A (zh) * | 2020-02-27 | 2020-06-16 | 北京三快在线科技有限公司 | 流量调度方法、业务服务器、存储介质及流量调度*** |
CN112287183A (zh) * | 2020-10-30 | 2021-01-29 | 北京字节跳动网络技术有限公司 | 一种链路拓扑图展示方法、装置及计算机存储介质 |
CN113422732A (zh) * | 2021-06-22 | 2021-09-21 | 康键信息技术(深圳)有限公司 | 基于全站灰度的版本更新方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109739527B (zh) | 2022-07-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109739527A (zh) | 一种客户端灰度发布的方法、装置、服务器和存储介质 | |
US9672137B1 (en) | Shadow test replay service | |
US10185650B1 (en) | Testing service with control testing | |
CN106685676B (zh) | 一种节点切换方法及装置 | |
CN112988398A (zh) | 一种微服务动态伸缩及迁移方法和装置 | |
CN111290958B (zh) | 一种调试智能合约的方法及装置 | |
CN111669281B (zh) | 告警分析方法、装置、设备及存储介质 | |
JP2007208633A (ja) | ネットワーク設計装置、ネットワーク設計方法およびネットワーク設計プログラム | |
CN112241350B (zh) | 微服务评估方法、装置、计算设备及微服务检测*** | |
CN110908910B (zh) | 一种基于区块链的测试监控方法、装置及可读存储介质 | |
CN113704117A (zh) | 一种算法测试***、方法及装置 | |
CN103995901B (zh) | 一种确定数据节点失效的方法 | |
CN112698974A (zh) | 故障注入测试方法、装置和存储介质 | |
CN108650134B (zh) | 网络故障定位的方法、装置及电子设备 | |
CN116194894A (zh) | 原生云应用程序的故障定位 | |
CN107222332B (zh) | 测试方法、装置、***及机器可读存储介质 | |
CN109101408B (zh) | 联调环境中业务可用性的检测方法和装置 | |
CN112068935A (zh) | kubernetes程序部署监控方法、装置以及设备 | |
CN112202647A (zh) | 区块链网络中的测试方法、装置及测试设备 | |
CN116974874A (zh) | 数据库的测试方法、装置、电子设备及可读存储介质 | |
US11716241B1 (en) | Methods, systems, and computer readable media for actively diagnosing and remediating performance degradation in a production network | |
CN116506340A (zh) | 流量链路的测试方法、装置、电子设备及存储介质 | |
CN108512698B (zh) | 一种网络容灾方法、装置及电子设备 | |
CN111884932B (zh) | 一种链路确定方法、装置、设备和计算机可读存储介质 | |
CN111737130B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |