CN110798502B - 基于微服务框架的灰度发布方法、装置和计算机设备 - Google Patents

基于微服务框架的灰度发布方法、装置和计算机设备 Download PDF

Info

Publication number
CN110798502B
CN110798502B CN201910882710.4A CN201910882710A CN110798502B CN 110798502 B CN110798502 B CN 110798502B CN 201910882710 A CN201910882710 A CN 201910882710A CN 110798502 B CN110798502 B CN 110798502B
Authority
CN
China
Prior art keywords
gray
version
user
micro service
scale
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.)
Active
Application number
CN201910882710.4A
Other languages
English (en)
Other versions
CN110798502A (zh
Inventor
杨定朝
伍春林
童志刚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ping An Technology Shenzhen Co Ltd
Original Assignee
Ping An Technology Shenzhen Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Ping An Technology Shenzhen Co Ltd filed Critical Ping An Technology Shenzhen Co Ltd
Priority to CN201910882710.4A priority Critical patent/CN110798502B/zh
Priority to PCT/CN2019/118806 priority patent/WO2021051623A1/zh
Publication of CN110798502A publication Critical patent/CN110798502A/zh
Application granted granted Critical
Publication of CN110798502B publication Critical patent/CN110798502B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers

Abstract

本申请揭示了一种基于微服务框架的灰度发布方法、装置、计算机设备和存储介质,所述方法包括:接收多个用户终端发送的访问指定服务的请求,并解析所述请求从而得到指定数据;获取灰度策略提供终端提供的灰度策略;将所述多个用户终端划分为A0、A1、A2…、An;将灰度用户分别分流至不同版本的微服务链;将所述暂时非灰度用户输入已经训练完成的基于机器学习模型的灰度再分类模型中运算,从而获得从所述暂时非灰度用户中分类出的灰度用户和最终非灰度用户;将所述分类出的灰度用户分流至所述分类出的灰度用户对应的微服务链,以及将所述最终非灰度用户分流至当前版本的微服务链。从而实现多版本灰度发布,并提高灰度发布的精准度。

Description

基于微服务框架的灰度发布方法、装置和计算机设备
技术领域
本申请涉及到计算机领域,特别是涉及到一种基于微服务框架的灰度发布方法、装置、计算机设备和存储介质。
背景技术
灰度发布是指在同一个时间段内,存在不同的服务版本,在原始版本与新的版本间平滑过渡的一种发布方式。目前采用灰度发布主要针对单体式架构的服务进行灰度发布,而单体式架构的灰度发布方案,由于微服务群的机器实例数量需要成倍的,会耗费极大的机器成本以及运维成本,成本上的极大负担,往往只能做两个服务版本。并且传统技术在灰度发布时,服务方不仅必须设置服务的版本,还必须设置灰度发布策略,设置灰度发布的流程繁琐,耗时长。另外,传统技术仅能人为设定灰度依据,做出的灰度发布精准度不足。
发明内容
本申请的主要目的为提供一种基于微服务框架的灰度发布方法、装置、计算机设备和存储介质,旨在实现多版本灰度发布,并提高灰度发布的精准度。
为了实现上述发明目的,本申请提出一种基于微服务框架的灰度发布方法,包括以下步骤:
接收多个用户终端发送的访问指定服务的请求,并解析所述请求从而得到指定数据,所述指定数据包括用户终端的ip地址、请求头或者请求参数;
获取灰度策略提供终端提供的灰度策略;
通过判断所述指定数据是否落入所述灰度策略的多个预设范围之内,从而将所述多个用户终端划分为A0、A1、A2…、An,其中A0、A1、A2…、An分别指暂时非灰度用户、第一版本灰度用户、第二版本灰度用户、…、第n版本灰度用户,其中所述指定服务共有n个版本;
将所述第一版本灰度用户、第二版本灰度用户、…、第n版本灰度用户分别分流至第一版本微服务链、第二版本微服务链、…、第n版本微服务链,其中所述第一版本微服务链、第二版本微服务链、…、第n版本微服务链具有相同的微服务,并且所述相同的微服务的数量大于预设数量;
将所述暂时非灰度用户输入已经训练完成的基于机器学习模型的灰度再分类模型中运算,从而获得从所述暂时非灰度用户中分类出的灰度用户和最终非灰度用户,以及所述分类出的灰度用户对应的微服务链;
将所述分类出的灰度用户分流至所述分类出的灰度用户对应的微服务链,以及将所述最终非灰度用户分流至当前版本的微服务链。
进一步地,所述请求采用指定通信协议封装而成,所述接收多个用户终端发送的访问指定服务的请求,并解析所述请求从而得到指定数据的步骤,包括:
接收多个用户终端发送的访问指定服务的请求,并从预存的多个通信协议格式中获取所述指定通信协议的格式;
利用所述指定通信协议的格式解析所述请求,从而得到所述请求中的请求头;
从所述请求头中提取预先约定位置中的数据,并记为所述指定数据。
进一步地,所述通过判断所述指定数据是否落入所述灰度策略的多个预设范围之内,从而将所述多个用户终端划分为A0、A1、A2…、An,其中A0、A1、A2…、An分别指暂时非灰度用户、第一版本灰度用户、第二版本灰度用户、…、第n版本灰度用户,其中所述指定服务共有n个版本的步骤,包括:
根据预设的相似度算法,计算所述指定数据与预设字符串的相似度值;
将所述相似度值小于预设相似度阈值的用户终端划分为暂时非灰度用户,并将所述相似度值不小于预设相似度阈值的用户终端划分为暂时灰度用户;
获取所述灰度策略中约定的第一版本灰度用户、第二版本灰度用户、…、第n版本灰度用户对应的第一关键词、第二关键词、…、第n关键词,其中所述指定服务共有n个版本;
将所述指定数据中记载有第一关键词、第二关键词、…、第n关键词对应的暂时灰度用户分别划分为第一版本灰度用户、第二版本灰度用户、…、第n版本灰度用户。
进一步地,所述通过判断所述指定数据是否落入所述灰度策略的多个预设范围之内,从而将所述多个用户终端划分为A0、A1、A2…、An,其中A0、A1、A2…、An分别指暂时非灰度用户、第一版本灰度用户、第二版本灰度用户、…、第n版本灰度用户,其中所述指定服务共有n个版本的步骤,包括:
根据预设的编码方法,将所述用户终端的ip地址、请求头和请求参数编码为矩阵[B1,B2,B3],其中B1为所述ip地址对应的映射值、B2为所述请求头对应的映射值、B3为所述请求参数对应的映射值;
根据预设的灰度策略与参数矩阵的对应关系,获取与所述灰度策略提供终端提供的灰度策略对应的指定参数矩阵[C1,C2,C3];
通过公式:M=||[B1,B2,B3]T[C1,C2,C3]||,计算得到划分参考指数M;
通过判断所述参考指数M是否落入预设的多个数值范围之内,从而将所述多个用户终端划分为A0、A1、A2…、An,其中A0、A1、A2…、An分别指暂时非灰度用户、第一版本灰度用户、第二版本灰度用户、…、第n版本灰度用户,其中所述指定服务共有n个版本。
进一步地,所述微服务具有版本属性,所述将所述第一版本灰度用户、第二版本灰度用户、…、第n版本灰度用户分别分流至第一版本微服务链、第二版本微服务链、…、第n版本微服务链,其中所述第一版本微服务链、第二版本微服务链、…、第n版本微服务链具有相同的微服务,并且所述相同的微服务的数量大于预设数量的步骤之前,包括:
接收版本标记终端发送的版本标记要求,所述版本标记要求记载了需要标记的微服务以及标记的版本号;
根据所述版本标记要求,修改所述微服务的版本属性,其中至少有一个微服务被标记为多个版本号;
将版本属性被标记为第一版本的所有微服务组成第一版本微服务链、将版本属性被标记为第二版本的所有微服务组成第二版本微服务链、…、以及将版本属性被标记为第n版本的所有微服务组成第n版本微服务链。
进一步地,所述机器学习模型为CHAID决策树模型,所述将所述暂时非灰度用户输入已经训练完成的基于机器学习模型的灰度再分类模型中运算,从而获得从所述暂时非灰度用户中分类出的灰度用户和最终非灰度用户,以及所述分类出的灰度用户对应的微服务链的步骤之前,包括:
获取指定量的样本数据,并将样本数据分成训练集和测试集;其中,所述样本数据包括预先采用的用户端数据,以及与所述用户端数据关联的灰度用户类别组成的样本数据;
将训练集的样本数据输入到预设的CHAID决策树模型中进行训练,得到初步灰度再分类模型;
利用所述测试集验证所述初步灰度再分类模型;
若验证通过,则将所述初步灰度再分类模型记为灰度再分类模型。
进一步地,所述将训练集的样本数据输入到预设的CHAID决策树模型中进行训练,得到初步灰度再分类模型的步骤,包括:
设置所述CHAID决策树模型的建模标准参数,所述建模标准参数包括决策树的最大层数、母节点的可再分的显著水平、母节点包含的最小样本数和子节点包含的最小样本数;
将训练集的样本数据输入到采用卡方自动交互检测法建立的所述CHAID决策树模型中进行训练,得到初步CHAID决策树。
本申请提供一种基于微服务框架的灰度发布装置,包括:
指定数据获取单元,用于接收多个用户终端发送的访问指定服务的请求,并解析所述请求从而得到指定数据,所述指定数据包括用户终端的ip地址、请求头或者请求参数;
灰度策略获取单元,用于获取灰度策略提供终端提供的灰度策略;
灰度用户划分单元,用于通过判断所述指定数据是否落入所述灰度策略的多个预设范围之内,从而将所述多个用户终端划分为A0、A1、A2…、An,其中A0、A1、A2…、An分别指暂时非灰度用户、第一版本灰度用户、第二版本灰度用户、…、第n版本灰度用户,其中所述指定服务共有n个版本;
分流单元,用于将所述第一版本灰度用户、第二版本灰度用户、…、第n版本灰度用户分别分流至第一版本微服务链、第二版本微服务链、…、第n版本微服务链,其中所述第一版本微服务链、第二版本微服务链、…、第n版本微服务链具有相同的微服务,并且所述相同的微服务的数量大于预设数量;
再分类单元,用于将所述暂时非灰度用户输入已经训练完成的基于机器学习模型的灰度再分类模型中运算,从而获得从所述暂时非灰度用户中分类出的灰度用户和最终非灰度用户,以及所述分类出的灰度用户对应的微服务链;
再分流单元,用于将所述分类出的灰度用户分流至所述分类出的灰度用户对应的微服务链,以及将所述最终非灰度用户分流至当前版本的微服务链。
本申请提供一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述任一项所述方法的步骤。
本申请提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的方法的步骤。
本申请的基于微服务框架的灰度发布方法、装置、计算机设备和存储介质,接收多个用户终端发送的访问指定服务的请求,并解析所述请求从而得到指定数据;获取灰度策略提供终端提供的灰度策略;通过判断所述指定数据是否落入所述灰度策略的多个预设范围之内,从而将所述多个用户终端划分为A0、A1、A2…、An;将灰度用户分别分流至不同版本的微服务链;将所述暂时非灰度用户输入已经训练完成的基于机器学习模型的灰度再分类模型中运算,从而获得从所述暂时非灰度用户中分类出的灰度用户和最终非灰度用户;将所述分类出的灰度用户分流至所述分类出的灰度用户对应的微服务链,以及将所述最终非灰度用户分流至当前版本的微服务链。从而实现多版本灰度发布,并提高灰度发布的精准度。
附图说明
图1为本申请一实施例的基于微服务框架的灰度发布方法的流程示意图;
图2为本申请一实施例的基于微服务框架的灰度发布装置的结构示意框图;
图3为本申请一实施例的计算机设备的结构示意框图。
本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
参照图1,本申请实施例提供一种基于微服务框架的灰度发布方法,包括以下步骤:
S1、接收多个用户终端发送的访问指定服务的请求,并解析所述请求从而得到指定数据,所述指定数据包括用户终端的ip地址、请求头或者请求参数;
S2、获取灰度策略提供终端提供的灰度策略;
S3、通过判断所述指定数据是否落入所述灰度策略的多个预设范围之内,从而将所述多个用户终端划分为A0、A1、A2…、An,其中A0、A1、A2…、An分别指暂时非灰度用户、第一版本灰度用户、第二版本灰度用户、…、第n版本灰度用户,其中所述指定服务共有n个版本;
S4、将所述第一版本灰度用户、第二版本灰度用户、…、第n版本灰度用户分别分流至第一版本微服务链、第二版本微服务链、…、第n版本微服务链,其中所述第一版本微服务链、第二版本微服务链、…、第n版本微服务链具有相同的微服务,并且所述相同的微服务的数量大于预设数量;
S5、将所述暂时非灰度用户输入已经训练完成的基于机器学习模型的灰度再分类模型中运算,从而获得从所述暂时非灰度用户中分类出的灰度用户和最终非灰度用户,以及所述分类出的灰度用户对应的微服务链;
S6、将所述分类出的灰度用户分流至所述分类出的灰度用户对应的微服务链,以及将所述最终非灰度用户分流至当前版本的微服务链。
如上述步骤S1所述,接收多个用户终端发送的访问指定服务的请求,并解析所述请求从而得到指定数据,所述指定数据包括用户终端的ip地址、请求头或者请求参数。本申请的多版本灰度发布方法优选应用于服务器。其中所述请求中包括有用户终端的ip地址、请求头或者请求参数等信息,因此通过解析所述请求从而得到指定数据。其中所述指定数据是作为后续灰度发布分流的依据,即用于确定用户终端应分流至哪个版本的服务。由于本申请采用的是微服务架构,并且设置了多个版本的微服务链,因此本申请可以实现同时进行多个服务版本的灰度发布。其中请求参数指所述请求中的参数,可以依据所述请求参数的值作为划分所述用户终端的依据,从而决定所述用户终端应被分流至哪些版本的服务。
如上述步骤S2所述,获取灰度策略提供终端提供的灰度策略。所述灰度策略用于指示依据所述指定数据确定所述用户终端应分流至哪个版本的服务。例如判断用户终端的ip地址是否落入预设的地址范围内,若落入预设的地址范围内,则将所述用户终端认定为第一版本灰度用户。其中所述灰度策略可以为仅依据单个数据而指示分流,或者也可以依据多个数据而指示分流。其中本申请采用的灰度策略来自于灰度策略提供终端,从而使灰度策略的设置与灰度版本的标记分割开来,服务提供方在进行灰度发布时,只需对微服务的版本进行标记即可,从而克服了传统方案设置灰度发布的流程繁琐,耗时长的缺陷。
如上述步骤S3所述,通过判断所述指定数据是否落入所述灰度策略的多个预设范围之内,从而将所述多个用户终端划分为A0、A1、A2…、An,其中A0、A1、A2…、An分别指暂时非灰度用户、第一版本灰度用户、第二版本灰度用户、…、第n版本灰度用户,其中所述指定服务共有n个版本。其中一个预设范围代表了一个版本灰度用户,从而划分用户终端。进一步地,所述灰度策略综合考虑多种数据,所述划分方法具体为:根据预设的编码方法,将所述用户终端的ip地址、请求头和请求参数编码为矩阵[B1,B2,B3],其中B1为所述ip地址对应的映射值、B2为所述请求头对应的映射值、B3为所述请求参数对应的映射值;根据预设的灰度策略与参数矩阵的对应关系,获取与所述灰度策略提供终端提供的灰度策略对应的指定参数矩阵[C1,C2,C3];通过公式:M=||[B1,B2,B3]T[C1,C2,C3]||,计算得到划分参考指数M;通过判断所述参考指数M是否落入预设的多个数值范围之内,从而将所述多个用户终端划分为A0、A1、A2…、An,其中A0、A1、A2…、An分别指暂时非灰度用户、第一版本灰度用户、第二版本灰度用户、…、第n版本灰度用户,其中所述指定服务共有n个版本。从而实现了高维混合灰度,相较于传统技术的单维灰度方案,划分更加快捷、精准。
如上述步骤S4所述,将所述第一版本灰度用户、第二版本灰度用户、…、第n版本灰度用户分别分流至第一版本微服务链、第二版本微服务链、…、第n版本微服务链,其中所述第一版本微服务链、第二版本微服务链、…、第n版本微服务链具有相同的微服务,并且所述相同的微服务的数量大于预设数量。其中第一版本微服务链由所有被标记为第一版本的微服务构成(相同的微服务默认标记有所有版本号),或者由所有被标记为第一版本的微服务和被标记为当前版本号的微服务(即相同的微服务)构成。并且所述相同的微服务的数量大于预设数量,可以保证在灰度发布时,仅需要对指定微服务做出适应新版本的实例即可,大大减少了灰度发布的资源消耗。
如上述步骤S5所述,将所述暂时非灰度用户输入已经训练完成的基于机器学习模型的灰度再分类模型中运算,从而获得从所述暂时非灰度用户中分类出的灰度用户和最终非灰度用户,以及所述分类出的灰度用户对应的微服务链。虽然前述的划分方法已经将用户端划分为A0、A1、A2…、An,其中A0、A1、A2…、An分别指暂时非灰度用户、第一版本灰度用户、第二版本灰度用户、…、第n版本灰度用户,但是为了更精准地进行灰度发布,本申请还采用了灰度再分类模型对所述暂时非灰度用户进行再次分类,从而获得从所述暂时非灰度用户中分类出的灰度用户和最终非灰度用户,以及所述分类出的灰度用户对应的微服务链。相较于传统方案,本申请采用两次分类,并且第二次分类采用灰度再分类模型的方式,能够更精准地进行灰度发布,进而使灰度发布反馈得到的数据信息更有效,提高灰度发布的成功率。
如上述步骤S6所述,将所述分类出的灰度用户分流至所述分类出的灰度用户对应的微服务链,以及将所述最终非灰度用户分流至当前版本的微服务链。所述最终非灰度用户是精确的非灰度用户,不需要引流至更新版本的微服务链中,因此将其分流至当前版本的微服务链。以及将所述分类出的灰度用户分流至所述分类出的灰度用户对应的微服务链,即可完成多版本灰度发布。
在一个实施方式中,所述请求采用指定通信协议封装而成,所述接收多个用户终端发送的访问指定服务的请求,并解析所述请求从而得到指定数据的步骤S1,包括:
S101、接收多个用户终端发送的访问指定服务的请求,并从预存的多个通信协议格式中获取所述指定通信协议的格式;
S102、利用所述指定通信协议的格式解析所述请求,从而得到所述请求中的请求头;
S103、从所述请求头中提取预先约定位置中的数据,并记为所述指定数据。
如上所述,实现了解析所述请求从而得到指定数据。指定通信协议可为任意通信协议,例如为HTTP通信协议等,或者为自定义的通信协议。而指定通信协议封装而成的请求具有请求头,例如HTTP请求报文头。其中HTTP请求的格式例如为:请求行、请求头、空行和请求内容所构成。其中请求头中包括了许多内容,例如:生成请求的浏览器类型、客户端可识别的响应内容类型列表、客户端可接受的自然语言以及其他内容(例如以usertype:test1的形式表示为第一版本灰度用户)等。据此利用所述指定通信协议的格式解析所述请求,从而得到所述请求中的请求头;从所述请求头中提取预先约定位置中的数据,并记为所述指定数据,就能够通过指定数据来判断用户端是否为灰度用户。
在一个实施方式中,所述通过判断所述指定数据是否落入所述灰度策略的多个预设范围之内,从而将所述多个用户终端划分为A0、A1、A2…、An,其中A0、A1、A2…、An分别指暂时非灰度用户、第一版本灰度用户、第二版本灰度用户、…、第n版本灰度用户,其中所述指定服务共有n个版本的步骤S3,包括:
S301、根据预设的相似度算法,计算所述指定数据与预设字符串的相似度值;
S302、将所述相似度值小于预设相似度阈值的用户终端划分为暂时非灰度用户,并将所述相似度值不小于预设相似度阈值的用户终端划分为暂时灰度用户;
S303、获取所述灰度策略中约定的第一版本灰度用户、第二版本灰度用户、…、第n版本灰度用户对应的第一关键词、第二关键词、…、第n关键词,其中所述指定服务共有n个版本;
S304、将所述指定数据中记载有第一关键词、第二关键词、…、第n关键词对应的暂时灰度用户分别划分为第一版本灰度用户、第二版本灰度用户、…、第n版本灰度用户。
如上所述,实现了将所述多个用户终端划分为A0、A1、A2…、An,其中A0、A1、A2…、An分别指暂时非灰度用户、第一版本灰度用户、第二版本灰度用户、…、第n版本灰度用户。其中预设的相似算法可以为任意算法,只要能计算所述指定数据与预设字符串的相似度值即可,例如基于余弦定理的距离公式,基于词频向量的相似度算法等。所述相似度值小于预设相似度阈值,则表示对应的指定数据与预设字符串不相似,因此对应的用户终端为暂时非灰度用户。并且为了进一步确定灰度用户的分类,还将所述指定数据中记载有第一关键词、第二关键词、…、第n关键词对应的暂时灰度用户分别划分为第一版本灰度用户、第二版本灰度用户、…、第n版本灰度用户。从而实现了以请求头为依据实现多版本的准确发布。
在一个实施方式中,所述通过判断所述指定数据是否落入所述灰度策略的多个预设范围之内,从而将所述多个用户终端划分为A0、A1、A2…、An,其中A0、A1、A2…、An分别指暂时非灰度用户、第一版本灰度用户、第二版本灰度用户、…、第n版本灰度用户,其中所述指定服务共有n个版本的步骤S3,包括:
S301、根据预设的编码方法,将所述用户终端的ip地址、请求头和请求参数编码为矩阵[B1,B2,B3],其中B1为所述ip地址对应的映射值、B2为所述请求头对应的映射值、B3为所述请求参数对应的映射值;
S302、根据预设的灰度策略与参数矩阵的对应关系,获取与所述灰度策略提供终端提供的灰度策略对应的指定参数矩阵[C1,C2,C3];
S303、通过公式:M=||[B1,B2,B3]T[C1,C2,C3]||,计算得到划分参考指数M;
S304、通过判断所述参考指数M是否落入预设的多个数值范围之内,从而将所述多个用户终端划分为A0、A1、A2…、An,其中A0、A1、A2…、An分别指暂时非灰度用户、第一版本灰度用户、第二版本灰度用户、…、第n版本灰度用户,其中所述指定服务共有n个版本。
如上所述,实现了将所述多个用户终端划分为A0、A1、A2…、An,其中A0、A1、A2…、An分别指暂时非灰度用户、第一版本灰度用户、第二版本灰度用户、…、第n版本灰度用户。传统的灰度发布方案都是采用单个因素进行低维灰度发布,而本申请采用了高维混合灰度,相较于传统技术的单维灰度方案,划分更加快捷、精准。具体地,根据预设的编码方法,将所述用户终端的ip地址、请求头和请求参数编码为矩阵[B1,B2,B3];根据预设的灰度策略与参数矩阵的对应关系,获取与所述灰度策略提供终端提供的灰度策略对应的指定参数矩阵[C1,C2,C3];通过公式:M=||[B1,B2,B3]T[C1,C2,C3]||,计算得到划分参考指数M;再根据参考指数M进行划分灰度用户。其中编码方法即是将所述用户终端的ip地址、请求头和请求参数依次映射为具体数值,再组合得到矩阵的方法。因此本申请可以同时综合用户终端的ip地址、请求头和请求参数进行高维准确地灰度发布,划分更加快捷、精准。
在一个实施方式中,所述微服务具有版本属性,所述将所述第一版本灰度用户、第二版本灰度用户、…、第n版本灰度用户分别分流至第一版本微服务链、第二版本微服务链、…、第n版本微服务链,其中所述第一版本微服务链、第二版本微服务链、…、第n版本微服务链具有相同的微服务,并且所述相同的微服务的数量大于预设数量的步骤S4之前,包括:
S31、接收版本标记终端发送的版本标记要求,所述版本标记要求记载了需要标记的微服务以及标记的版本号;
S32、根据所述版本标记要求,修改所述微服务的版本属性,其中至少有一个微服务被标记为多个版本号;
S33、将版本属性被标记为第一版本的所有微服务组成第一版本微服务链、将版本属性被标记为第二版本的所有微服务组成第二版本微服务链、…、以及将版本属性被标记为第n版本的所有微服务组成第n版本微服务链。
如上所述,实现了设置第一版本微服务链、第二版本微服务链、…、第n版本微服务链。本申请通过将灰度策略的设置与微服务版本的标记分割开来的方式,避免了灰度步骤的繁琐流程。其中服务提供方(即版本标记终端)只需进行版本标记即可,减少了进行灰度发布需要的工作量。版本标记终端发送的版本标记要求,即是对微服务的版本属性进行编辑,其中未被编辑的微服务默认为具有所有版本号,据此将版本属性被标记为第一版本的所有微服务组成第一版本微服务链、将版本属性被标记为第二版本的所有微服务组成第二版本微服务链、…、以及将版本属性被标记为第n版本的所有微服务组成第n版本微服务链。其中被标记为多个版本号的微服务即为多个版本微服务链的具有的相同微服务。
在一个实施方式中,所述机器学习模型为CHAID决策树模型,所述将所述暂时非灰度用户输入已经训练完成的基于机器学习模型的灰度再分类模型中运算,从而获得从所述暂时非灰度用户中分类出的灰度用户和最终非灰度用户,以及所述分类出的灰度用户对应的微服务链的步骤S5之前,包括:
S41、获取指定量的样本数据,并将样本数据分成训练集和测试集;其中,所述样本数据包括预先采用的用户端数据,以及与所述用户端数据关联的灰度用户类别组成的样本数据;
S42、将训练集的样本数据输入到预设的CHAID决策树模型中进行训练,得到初步灰度再分类模型;
S43、利用所述测试集验证所述初步灰度再分类模型;
S44、若验证通过,则将所述初步灰度再分类模型记为灰度再分类模型。
如上所述,实现了获得灰度再分类模型。其中用户端数据可为任意数据,例如包括:IP地址、请求头、请求参数、用户端的流量状况、用户端的网络访问记录和/或用户端的注册时长等等。这些用户端数据可以反应用户端适于采用何种版本的服务,因此可以用于再次灰度用户分类。虽然用户终端已经进行过划分灰度用户的流程,但是被划分为暂时非灰度用户的用户端中其实还是存在可再次进行灰度的用户,因此采用灰度再分类模型进行再次分类,以使灰度发布更加精准。其中,决策树是一种机器学习模型,可用于数据分类,本申请采用卡方自动交互检测法建立的CHAID决策树作为机器学习模型。CHAID决策树模型指采用卡方自动交互检测法CHAID的决策树模型。在此简单介绍CHAID决策树的原理:1、合并组内对决策变量影响差别不显著的组值;2、选取卡方值最大的变量作为树分类变量;3、重复1、2步骤,至不能选取卡方值大于某值或P值不再小于某临界值,或样本小于某数。再采用训练集的样本训练CHAID决策树模型,再用测试集的样本进行验证,若通过,则获得灰度再分类模型。
在一个实施方式中,所述将训练集的样本数据输入到预设的CHAID决策树模型中进行训练,得到初步灰度再分类模型的步骤S42,包括:
S421、设置所述CHAID决策树模型的建模标准参数,所述建模标准参数包括决策树的最大层数、母节点的可再分的显著水平、母节点包含的最小样本数和子节点包含的最小样本数;
S422、将训练集的样本数据输入到采用卡方自动交互检测法建立的所述CHAID决策树模型中进行训练,得到初步CHAID决策树。
如上所述,实现了得到初步CHAID决策树。其中设置所述CHAID决策树模型的建模标准参数,才可确定所述CHAID决策树模型。所述建模标准参数包括决策树的最大层数、母节点的可再分的显著水平、母节点包含的最小样本数和子节点包含的最小样本数,例如决策树的最大层数为3-6层、母节点可再分的显著水平为0.05、母节点包含的最小样本数为100、子节点包含的最小样本数为50。更具体地,根据采集的用户端数据的不同,调节所述建模标准参数。例如所述用户端数据的样本数大于预定数值,且所述用户端数据的类型数量大于预设数值,则可以将决策树的最大层数、母节点的可再分的显著水平、母节点包含的最小样本数和子节点包含的最小样本数的参数值设置更大。
本申请的基于微服务框架的灰度发布方法,接收多个用户终端发送的访问指定服务的请求,并解析所述请求从而得到指定数据;获取灰度策略提供终端提供的灰度策略;通过判断所述指定数据是否落入所述灰度策略的多个预设范围之内,从而将所述多个用户终端划分为A0、A1、A2…、An;将灰度用户分别分流至不同版本的微服务链;将所述暂时非灰度用户输入已经训练完成的基于机器学习模型的灰度再分类模型中运算,从而获得从所述暂时非灰度用户中分类出的灰度用户和最终非灰度用户;将所述分类出的灰度用户分流至所述分类出的灰度用户对应的微服务链,以及将所述最终非灰度用户分流至当前版本的微服务链。从而实现多版本灰度发布,并提高灰度发布的精准度。
参照图2,本申请实施例提供一种基于微服务框架的灰度发布装置,包括:
指定数据获取单元10,用于接收多个用户终端发送的访问指定服务的请求,并解析所述请求从而得到指定数据,所述指定数据包括用户终端的ip地址、请求头或者请求参数;
灰度策略获取单元20,用于获取灰度策略提供终端提供的灰度策略;
灰度用户划分单元30,用于通过判断所述指定数据是否落入所述灰度策略的多个预设范围之内,从而将所述多个用户终端划分为A0、A1、A2…、An,其中A0、A1、A2…、An分别指暂时非灰度用户、第一版本灰度用户、第二版本灰度用户、…、第n版本灰度用户,其中所述指定服务共有n个版本;
分流单元40,用于将所述第一版本灰度用户、第二版本灰度用户、…、第n版本灰度用户分别分流至第一版本微服务链、第二版本微服务链、…、第n版本微服务链,其中所述第一版本微服务链、第二版本微服务链、…、第n版本微服务链具有相同的微服务,并且所述相同的微服务的数量大于预设数量;
再分类单元50,用于将所述暂时非灰度用户输入已经训练完成的基于机器学习模型的灰度再分类模型中运算,从而获得从所述暂时非灰度用户中分类出的灰度用户和最终非灰度用户,以及所述分类出的灰度用户对应的微服务链;
再分流单元60,用于将所述分类出的灰度用户分流至所述分类出的灰度用户对应的微服务链,以及将所述最终非灰度用户分流至当前版本的微服务链。
其中上述单元分别用于执行的操作与前述实施方式的基于微服务框架的灰度发布方法的步骤一一对应,在此不再赘述。
在一个实施方式中,所述请求采用指定通信协议封装而成,所述指定数据获取单元10,包括:
格式获取子单元,用于接收多个用户终端发送的访问指定服务的请求,并从预存的多个通信协议格式中获取所述指定通信协议的格式;
请求头获取子单元,用于利用所述指定通信协议的格式解析所述请求,从而得到所述请求中的请求头;
指定数据获取子单元,用于从所述请求头中提取预先约定位置中的数据,并记为所述指定数据。
其中上述子单元分别用于执行的操作与前述实施方式的基于微服务框架的灰度发布方法的步骤一一对应,在此不再赘述。
在一个实施方式中,所述灰度用户划分单元30,包括:
相似度值计算子单元,用于根据预设的相似度算法,计算所述指定数据与预设字符串的相似度值;
暂时灰度用户划分子单元,用于将所述相似度值小于预设相似度阈值的用户终端划分为暂时非灰度用户,并将所述相似度值不小于预设相似度阈值的用户终端划分为暂时灰度用户;
关键词获取子单元,用于获取所述灰度策略中约定的第一版本灰度用户、第二版本灰度用户、…、第n版本灰度用户对应的第一关键词、第二关键词、…、第n关键词,其中所述指定服务共有n个版本;
灰度用户划分子单元,用于将所述指定数据中记载有第一关键词、第二关键词、…、第n关键词对应的暂时灰度用户分别划分为第一版本灰度用户、第二版本灰度用户、…、第n版本灰度用户。
其中上述子单元分别用于执行的操作与前述实施方式的基于微服务框架的灰度发布方法的步骤一一对应,在此不再赘述。
在一个实施方式中,所述灰度用户划分单元30,包括:
编码子单元,用于根据预设的编码方法,将所述用户终端的ip地址、请求头和请求参数编码为矩阵[B1,B2,B3],其中B1为所述ip地址对应的映射值、B2为所述请求头对应的映射值、B3为所述请求参数对应的映射值;
指定参数矩阵获取子单元,用于根据预设的灰度策略与参数矩阵的对应关系,获取与所述灰度策略提供终端提供的灰度策略对应的指定参数矩阵[C1,C2,C3];
参考指数M计算子单元,用于通过公式:M=||[B1,B2,B3]T[C1,C2,C3]||,计算得到划分参考指数M;
数值范围判断子单元,用于通过判断所述参考指数M是否落入预设的多个数值范围之内,从而将所述多个用户终端划分为A0、A1、A2…、An,其中A0、A1、A2…、An分别指暂时非灰度用户、第一版本灰度用户、第二版本灰度用户、…、第n版本灰度用户,其中所述指定服务共有n个版本。
其中上述子单元分别用于执行的操作与前述实施方式的基于微服务框架的灰度发布方法的步骤一一对应,在此不再赘述。
在一个实施方式中,所述微服务具有版本属性,所述装置,包括:
版本标记要求接收单元,用于接收版本标记终端发送的版本标记要求,所述版本标记要求记载了需要标记的微服务以及标记的版本号;
版本属性修改单元,用于根据所述版本标记要求,修改所述微服务的版本属性,其中至少有一个微服务被标记为多个版本号;
微服务链组成单元,用于将版本属性被标记为第一版本的所有微服务组成第一版本微服务链、将版本属性被标记为第二版本的所有微服务组成第二版本微服务链、…、以及将版本属性被标记为第n版本的所有微服务组成第n版本微服务链。
其中上述单元分别用于执行的操作与前述实施方式的基于微服务框架的灰度发布方法的步骤一一对应,在此不再赘述。
在一个实施方式中,所述机器学习模型为CHAID决策树模型,所述装置,包括:
样本数据获取单元,用于获取指定量的样本数据,并将样本数据分成训练集和测试集;其中,所述样本数据包括预先采用的用户端数据,以及与所述用户端数据关联的灰度用户类别组成的样本数据;
训练单元,用于将训练集的样本数据输入到预设的CHAID决策树模型中进行训练,得到初步灰度再分类模型;
验证单元,用于利用所述测试集验证所述初步灰度再分类模型;
模型标记单元,用于若验证通过,则将所述初步灰度再分类模型记为灰度再分类模型。
其中上述单元分别用于执行的操作与前述实施方式的基于微服务框架的灰度发布方法的步骤一一对应,在此不再赘述。
在一个实施方式中,所述训练单元,包括:
建模标准参数设置子单元,用于设置所述CHAID决策树模型的建模标准参数,所述建模标准参数包括决策树的最大层数、母节点的可再分的显著水平、母节点包含的最小样本数和子节点包含的最小样本数;
训练子单元,用于将训练集的样本数据输入到采用卡方自动交互检测法建立的所述CHAID决策树模型中进行训练,得到初步CHAID决策树。
其中上述子单元分别用于执行的操作与前述实施方式的基于微服务框架的灰度发布方法的步骤一一对应,在此不再赘述。
本申请的基于微服务框架的灰度发布装置,接收多个用户终端发送的访问指定服务的请求,并解析所述请求从而得到指定数据;获取灰度策略提供终端提供的灰度策略;通过判断所述指定数据是否落入所述灰度策略的多个预设范围之内,从而将所述多个用户终端划分为A0、A1、A2…、An;将灰度用户分别分流至不同版本的微服务链;将所述暂时非灰度用户输入已经训练完成的基于机器学习模型的灰度再分类模型中运算,从而获得从所述暂时非灰度用户中分类出的灰度用户和最终非灰度用户;将所述分类出的灰度用户分流至所述分类出的灰度用户对应的微服务链,以及将所述最终非灰度用户分流至当前版本的微服务链。从而实现多版本灰度发布,并提高灰度发布的精准度。
参照图3,本发明实施例中还提供一种计算机设备,该计算机设备可以是服务器,其内部结构可以如图所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设计的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储基于微服务框架的灰度发布方法所用数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种基于微服务框架的灰度发布方法。
上述处理器执行上述基于微服务框架的灰度发布方法,其中所述方法包括的步骤分别与执行前述实施方式的基于微服务框架的灰度发布方法的步骤一一对应,在此不再赘述。
本领域技术人员可以理解,图中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定。
本申请的计算机设备,接收多个用户终端发送的访问指定服务的请求,并解析所述请求从而得到指定数据;获取灰度策略提供终端提供的灰度策略;通过判断所述指定数据是否落入所述灰度策略的多个预设范围之内,从而将所述多个用户终端划分为A0、A1、A2…、An;将灰度用户分别分流至不同版本的微服务链;将所述暂时非灰度用户输入已经训练完成的基于机器学习模型的灰度再分类模型中运算,从而获得从所述暂时非灰度用户中分类出的灰度用户和最终非灰度用户;将所述分类出的灰度用户分流至所述分类出的灰度用户对应的微服务链,以及将所述最终非灰度用户分流至当前版本的微服务链。从而实现多版本灰度发布,并提高灰度发布的精准度。
本申请一实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现基于微服务框架的灰度发布方法,其中所述方法包括的步骤分别与执行前述实施方式的基于微服务框架的灰度发布方法的步骤一一对应,在此不再赘述。
本申请的计算机可读存储介质,接收多个用户终端发送的访问指定服务的请求,并解析所述请求从而得到指定数据;获取灰度策略提供终端提供的灰度策略;通过判断所述指定数据是否落入所述灰度策略的多个预设范围之内,从而将所述多个用户终端划分为A0、A1、A2…、An;将灰度用户分别分流至不同版本的微服务链;将所述暂时非灰度用户输入已经训练完成的基于机器学习模型的灰度再分类模型中运算,从而获得从所述暂时非灰度用户中分类出的灰度用户和最终非灰度用户;将所述分类出的灰度用户分流至所述分类出的灰度用户对应的微服务链,以及将所述最终非灰度用户分流至当前版本的微服务链。从而实现多版本灰度发布,并提高灰度发布的精准度。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的和实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双速据率SDRAM(SSRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
以上所述仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。

Claims (10)

1.一种基于微服务框架的灰度发布方法,其特征在于,包括:
接收多个用户终端发送的访问指定服务的请求,并解析所述请求从而得到指定数据,所述指定数据包括用户终端的ip地址、请求头或者请求参数;
获取灰度策略提供终端提供的灰度策略;
通过判断所述指定数据是否落入所述灰度策略的多个预设范围之内,从而将所述多个用户终端划分为A0、A1、A2…、An,其中A0、A1、A2…、An分别指暂时非灰度用户、第一版本灰度用户、第二版本灰度用户、…、第n版本灰度用户,其中所述指定服务共有n个版本;
将所述第一版本灰度用户、第二版本灰度用户、…、第n版本灰度用户分别分流至第一版本微服务链、第二版本微服务链、…、第n版本微服务链,其中所述第一版本微服务链、第二版本微服务链、…、第n版本微服务链具有相同的微服务,并且所述相同的微服务的数量大于预设数量;
将所述暂时非灰度用户输入已经训练完成的基于机器学习模型的灰度再分类模型中运算,从而获得从所述暂时非灰度用户中分类出的灰度用户和最终非灰度用户,以及所述分类出的灰度用户对应的微服务链;
将所述分类出的灰度用户分流至所述分类出的灰度用户对应的微服务链,以及将所述最终非灰度用户分流至当前版本的微服务链。
2.根据权利要求1所述的基于微服务框架的灰度发布方法,其特征在于,所述请求采用指定通信协议封装而成,所述接收多个用户终端发送的访问指定服务的请求,并解析所述请求从而得到指定数据的步骤,包括:
接收多个用户终端发送的访问指定服务的请求,并从预存的多个通信协议格式中获取所述指定通信协议的格式;
利用所述指定通信协议的格式解析所述请求,从而得到所述请求中的请求头;
从所述请求头中提取预先约定位置中的数据,并记为所述指定数据。
3.根据权利要求1所述的基于微服务框架的灰度发布方法,其特征在于,所述通过判断所述指定数据是否落入所述灰度策略的多个预设范围之内,从而将所述多个用户终端划分为A0、A1、A2…、An,其中A0、A1、A2…、An分别指暂时非灰度用户、第一版本灰度用户、第二版本灰度用户、…、第n版本灰度用户,其中所述指定服务共有n个版本的步骤,包括:
根据预设的相似度算法,计算所述指定数据与预设字符串的相似度值;
将所述相似度值小于预设相似度阈值的用户终端划分为暂时非灰度用户,并将所述相似度值不小于预设相似度阈值的用户终端划分为暂时灰度用户;
获取所述灰度策略中约定的第一版本灰度用户、第二版本灰度用户、…、第n版本灰度用户对应的第一关键词、第二关键词、…、第n关键词,其中所述指定服务共有n个版本;
将所述指定数据中记载有第一关键词、第二关键词、…、第n关键词对应的暂时灰度用户分别划分为第一版本灰度用户、第二版本灰度用户、…、第n版本灰度用户。
4.根据权利要求1所述的基于微服务框架的灰度发布方法,其特征在于,所述通过判断所述指定数据是否落入所述灰度策略的多个预设范围之内,从而将所述多个用户终端划分为A0、A1、A2…、An,其中A0、A1、A2…、An分别指暂时非灰度用户、第一版本灰度用户、第二版本灰度用户、…、第n版本灰度用户,其中所述指定服务共有n个版本的步骤,包括:
根据预设的编码方法,将所述用户终端的ip地址、请求头和请求参数编码为矩阵[B1,B2,B3],其中B1为所述ip地址对应的映射值、B2为所述请求头对应的映射值、B3为所述请求参数对应的映射值;
根据预设的灰度策略与参数矩阵的对应关系,获取与所述灰度策略提供终端提供的灰度策略对应的指定参数矩阵[C1,C2,C3];
通过公式:M=||[B1,B2,B3]T[C1,C2,C3]||,计算得到划分参考指数M;
通过判断所述参考指数M是否落入预设的多个数值范围之内,从而将所述多个用户终端划分为A0、A1、A2…、An,其中A0、A1、A2…、An分别指暂时非灰度用户、第一版本灰度用户、第二版本灰度用户、…、第n版本灰度用户,其中所述指定服务共有n个版本。
5.根据权利要求1所述的基于微服务框架的灰度发布方法,其特征在于,所述微服务具有版本属性,所述将所述第一版本灰度用户、第二版本灰度用户、…、第n版本灰度用户分别分流至第一版本微服务链、第二版本微服务链、…、第n版本微服务链,其中所述第一版本微服务链、第二版本微服务链、…、第n版本微服务链具有相同的微服务,并且所述相同的微服务的数量大于预设数量的步骤之前,包括:
接收版本标记终端发送的版本标记要求,所述版本标记要求记载了需要标记的微服务以及标记的版本号;
根据所述版本标记要求,修改所述微服务的版本属性,其中至少有一个微服务被标记为多个版本号;
将版本属性被标记为第一版本的所有微服务组成第一版本微服务链、将版本属性被标记为第二版本的所有微服务组成第二版本微服务链、…、以及将版本属性被标记为第n版本的所有微服务组成第n版本微服务链。
6.根据权利要求1所述的基于微服务框架的灰度发布方法,其特征在于,所述机器学习模型为CHAID决策树模型,所述将所述暂时非灰度用户输入已经训练完成的基于机器学习模型的灰度再分类模型中运算,从而获得从所述暂时非灰度用户中分类出的灰度用户和最终非灰度用户,以及所述分类出的灰度用户对应的微服务链的步骤之前,包括:
获取指定量的样本数据,并将样本数据分成训练集和测试集;其中,所述样本数据包括预先采用的用户端数据,以及与所述用户端数据关联的灰度用户类别组成的样本数据;
将训练集的样本数据输入到预设的CHAID决策树模型中进行训练,得到初步灰度再分类模型;
利用所述测试集验证所述初步灰度再分类模型;
若验证通过,则将所述初步灰度再分类模型记为灰度再分类模型。
7.根据权利要求6所述的基于微服务框架的灰度发布方法,其特征在于,所述将训练集的样本数据输入到预设的CHAID决策树模型中进行训练,得到初步灰度再分类模型的步骤,包括:
设置所述CHAID决策树模型的建模标准参数,所述建模标准参数包括决策树的最大层数、母节点的可再分的显著水平、母节点包含的最小样本数和子节点包含的最小样本数;
将训练集的样本数据输入到采用卡方自动交互检测法建立的所述CHAID决策树模型中进行训练,得到初步CHAID决策树。
8.一种基于微服务框架的灰度发布装置,其特征在于,包括:
指定数据获取单元,用于接收多个用户终端发送的访问指定服务的请求,并解析所述请求从而得到指定数据,所述指定数据包括用户终端的ip地址、请求头或者请求参数;
灰度策略获取单元,用于获取灰度策略提供终端提供的灰度策略;
灰度用户划分单元,用于通过判断所述指定数据是否落入所述灰度策略的多个预设范围之内,从而将所述多个用户终端划分为A0、A1、A2…、An,其中A0、A1、A2…、An分别指暂时非灰度用户、第一版本灰度用户、第二版本灰度用户、…、第n版本灰度用户,其中所述指定服务共有n个版本;
分流单元,用于将所述第一版本灰度用户、第二版本灰度用户、…、第n版本灰度用户分别分流至第一版本微服务链、第二版本微服务链、…、第n版本微服务链,其中所述第一版本微服务链、第二版本微服务链、…、第n版本微服务链具有相同的微服务,并且所述相同的微服务的数量大于预设数量;
再分类单元,用于将所述暂时非灰度用户输入已经训练完成的基于机器学习模型的灰度再分类模型中运算,从而获得从所述暂时非灰度用户中分类出的灰度用户和最终非灰度用户,以及所述分类出的灰度用户对应的微服务链;
再分流单元,用于将所述分类出的灰度用户分流至所述分类出的灰度用户对应的微服务链,以及将所述最终非灰度用户分流至当前版本的微服务链。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
CN201910882710.4A 2019-09-18 2019-09-18 基于微服务框架的灰度发布方法、装置和计算机设备 Active CN110798502B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201910882710.4A CN110798502B (zh) 2019-09-18 2019-09-18 基于微服务框架的灰度发布方法、装置和计算机设备
PCT/CN2019/118806 WO2021051623A1 (zh) 2019-09-18 2019-11-15 基于微服务框架的灰度发布方法、装置和计算机设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910882710.4A CN110798502B (zh) 2019-09-18 2019-09-18 基于微服务框架的灰度发布方法、装置和计算机设备

Publications (2)

Publication Number Publication Date
CN110798502A CN110798502A (zh) 2020-02-14
CN110798502B true CN110798502B (zh) 2022-06-17

Family

ID=69427285

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910882710.4A Active CN110798502B (zh) 2019-09-18 2019-09-18 基于微服务框架的灰度发布方法、装置和计算机设备

Country Status (2)

Country Link
CN (1) CN110798502B (zh)
WO (1) WO2021051623A1 (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111464520B (zh) * 2020-03-26 2022-12-09 银联商务股份有限公司 一种数据处理方法、装置、存储介质及电子设备
CN111475226B (zh) * 2020-03-31 2022-04-29 招商局金融科技有限公司 电子装置、微服务调用方法和计算机可读存储介质
CN111581036B (zh) * 2020-03-31 2022-04-15 西安电子科技大学 一种物联网故障检测方法、检测系统、存储介质
CN112087325B (zh) * 2020-08-21 2021-07-20 烽火通信科技股份有限公司 灰度发布方法、装置、设备及可读存储介质
CN112822272B (zh) * 2021-01-08 2023-10-13 上海理想信息产业(集团)有限公司 微服务灰度发布方法及装置、计算机设备及存储介质
CN113596157A (zh) * 2021-07-30 2021-11-02 绿漫科技有限公司 一种基于SpringCloud的联盟链无感发布方法
CN113986396B (zh) * 2021-11-10 2023-06-06 重庆紫光华山智安科技有限公司 一种基于分布式服务的集中配置方法、系统、设备及介质
CN117591132B (zh) * 2024-01-12 2024-04-26 杭州谐云科技有限公司 一种服务的发布方法和发布系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108848092A (zh) * 2018-06-20 2018-11-20 中国联合网络通信集团有限公司 基于调用链的微服务灰度发布的处理方法及装置
CN108847989A (zh) * 2018-06-29 2018-11-20 杭州安恒信息技术股份有限公司 基于微服务架构的日志处理方法、业务服务系统以及电子设备
CN109542624A (zh) * 2018-11-23 2019-03-29 中国农业银行股份有限公司 一种应用变更的资源调配方法及装置
CN109597643A (zh) * 2018-11-27 2019-04-09 平安科技(深圳)有限公司 应用灰度发布方法、装置、电子设备及存储介质
CN109787830A (zh) * 2019-01-21 2019-05-21 北京京东尚科信息技术有限公司 灰度发布控制方法、装置、系统、电子设备及存储介质
US10354201B1 (en) * 2016-01-07 2019-07-16 Amazon Technologies, Inc. Scalable clustering for mixed machine learning data

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106257894A (zh) * 2016-08-29 2016-12-28 北京海誉动想科技股份有限公司 基于微服务的灰度发布方法
US10686908B2 (en) * 2016-11-18 2020-06-16 Sap Se Embedded database as a microservice for distributed container cloud platform
CN109995713B (zh) * 2017-12-30 2020-11-27 华为技术有限公司 一种微服务框架中的服务处理方法及相关设备
CN109992273B (zh) * 2019-01-03 2022-12-20 蔚来(安徽)控股有限公司 一种灰度发布方法以及灰度发布系统
CN110071960A (zh) * 2019-03-12 2019-07-30 平安科技(深圳)有限公司 管理灰度发布的方法、系统、设备及存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10354201B1 (en) * 2016-01-07 2019-07-16 Amazon Technologies, Inc. Scalable clustering for mixed machine learning data
CN108848092A (zh) * 2018-06-20 2018-11-20 中国联合网络通信集团有限公司 基于调用链的微服务灰度发布的处理方法及装置
CN108847989A (zh) * 2018-06-29 2018-11-20 杭州安恒信息技术股份有限公司 基于微服务架构的日志处理方法、业务服务系统以及电子设备
CN109542624A (zh) * 2018-11-23 2019-03-29 中国农业银行股份有限公司 一种应用变更的资源调配方法及装置
CN109597643A (zh) * 2018-11-27 2019-04-09 平安科技(深圳)有限公司 应用灰度发布方法、装置、电子设备及存储介质
CN109787830A (zh) * 2019-01-21 2019-05-21 北京京东尚科信息技术有限公司 灰度发布控制方法、装置、系统、电子设备及存储介质

Also Published As

Publication number Publication date
CN110798502A (zh) 2020-02-14
WO2021051623A1 (zh) 2021-03-25

Similar Documents

Publication Publication Date Title
CN110798502B (zh) 基于微服务框架的灰度发布方法、装置和计算机设备
CN110753031B (zh) 基于微服务框架的一起灰度方法、装置和计算机设备
CN109871597B (zh) 解决潜在投诉的方法、装置、计算机设备和存储介质
CN110569356B (zh) 基于智能面试交互系统的面试方法、装置和计算机设备
CN112633962B (zh) 业务推荐方法、装置、计算机设备和存储介质
CN110728182B (zh) 基于ai面试系统的面试方法、装置和计算机设备
CN113656808A (zh) 数据安全评估方法、装置、设备及存储介质
CN111831908A (zh) 医疗领域知识图谱构建方法、装置、设备及存储介质
CN112131888A (zh) 分析语义情感的方法、装置、设备及存储介质
CN108521435B (zh) 一种用户网络行为画像的方法及系统
CN110390041B (zh) 在线学习方法及装置、计算机可读存储介质
CN109992778B (zh) 基于机器学习的简历文档判别方法及装置
CN108711074B (zh) 业务分类方法、装置、服务器及可读存储介质
CN111178407A (zh) 路况数据筛选方法、装置、计算机设备及存储介质
CN111784319B (zh) 基于区块链支付网络的通信数据处理方法及大数据服务器
CN113946363A (zh) 业务数据的执行配置方法、装置、计算机设备及存储介质
CN112528662A (zh) 基于元学习的实体类别识别方法、装置、设备和存储介质
CN112163167A (zh) 基于大数据平台的智能决策方法、系统、设备及介质
CN113038283A (zh) 视频推荐方法、装置和存储介质
CN112051953B (zh) 一种页面栏位的输出控制方法、装置及电子设备
CN111191692B (zh) 基于决策树的数据计算方法、装置和计算机设备
CN113723524B (zh) 基于预测模型的数据处理方法、相关设备及介质
CN117078434A (zh) 查询保单续费难度的方法、系统、设备及存储介质
CN113850670A (zh) 银行产品推荐方法、装置、设备及存储介质
CN116167566A (zh) 基于机器学习的客户资源分配方法及相关设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40023482

Country of ref document: HK

SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant