CN110365502B - 一种服务升级管理的方法、装置及存储介质 - Google Patents

一种服务升级管理的方法、装置及存储介质 Download PDF

Info

Publication number
CN110365502B
CN110365502B CN201810253849.8A CN201810253849A CN110365502B CN 110365502 B CN110365502 B CN 110365502B CN 201810253849 A CN201810253849 A CN 201810253849A CN 110365502 B CN110365502 B CN 110365502B
Authority
CN
China
Prior art keywords
service
version
shunting
gray level
gray
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
CN201810253849.8A
Other languages
English (en)
Other versions
CN110365502A (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201810253849.8A priority Critical patent/CN110365502B/zh
Priority to PCT/CN2019/078286 priority patent/WO2019184727A1/zh
Priority to EP19774314.9A priority patent/EP3758293A4/en
Publication of CN110365502A publication Critical patent/CN110365502A/zh
Priority to US17/032,536 priority patent/US20210011834A1/en
Application granted granted Critical
Publication of CN110365502B publication Critical patent/CN110365502B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/368Test management for test version control, e.g. updating test cases to a new software version
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • H04L41/082Configuration setting characterised by the conditions triggering a change of settings the condition being updates or upgrades of network functionality
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0893Assignment of logical groups to network elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0894Policy-based network configuration management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0895Configuration of virtualised networks or elements, e.g. virtualised network function or OpenFlow elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2425Traffic characterised by specific attributes, e.g. priority or QoS for supporting services specification, e.g. SLA
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/40Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using virtualisation of network functions or resources, e.g. SDN or NFV entities

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Telephonic Communication Services (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

一种服务升级管理的方法、装置及存储介质,所述方法包括:创建灰度发布策略和灰度分流规则;控制灰度分流状态;向灰度分流设备下发所述灰度发布策略、所述灰度分流规则和所述灰度分流状态;其中,所述灰度发布策略、所述灰度分流规则和所述灰度分流状态用于所述灰度分流设备控制业务消息的流向。通过采用该方案,不需要另外部署一套测试环境或者备份环境专门用于发布前的稳定性测试,就能够实现业务流量的平滑切换及无损升级。

Description

一种服务升级管理的方法、装置及存储介质
技术领域
本申请涉及灰度发布技术领域,尤其涉及一种服务升级管理的方法、灰度发布控制平台、灰度分流设备及存储介质。
背景技术
灰度发布是指在黑与白之间,能够平滑过渡的一种发布方式。AB test就是一种灰度发布方式,让一部分用户继续用A,一部分用户开始用B,如果用户对B没有什么反对意见,那么逐步扩大范围,把所有用户都迁移到B上面来。灰度发布可以保证整体系统的稳定,在初始灰度的时候就可以发现、调整问题,以保证其影响度。
对现网设备采用生产环境及测试环境,通过前端分流设备进行分流控制,当新版本系统上线后,控制分流设备分流策略将业务消息分流到测试环境上进行试运行,如果运行正常,则升级成功,否则将业务消息分流到原先的生产环境上。
发明内容
本申请提供了一种服务升级管理的方法、装置及存储介质,能够解决现有技术中需要额外部署系统环境,资源占用过多的问题。
本申请第一方面提供一种服务升级管理的方法,应用于灰度发布控制平台,所述方法包括:
创建灰度发布策略和灰度分流规则;
控制灰度分流状态;
向灰度分流设备下发所述灰度发布策略、所述灰度分流规则和所述灰度分流状态;
其中,所述灰度发布策略、所述灰度分流规则和所述灰度分流状态用于所述灰度分流设备控制业务消息的流向。
本申请实施例中,灰度发布控制平台向灰度分流设备下发所述灰度发布策略、所述灰度分流规则和所述灰度分流状态,使得灰度分流设备能够准确的控制业务消息的流向,可以保证电信软件应用系统的稳定性,不需要另外部署一套测试环境或者备份环境专门用于发布前的稳定性测试,能够实现VNF的灰度升级能力,保证业务流量的平滑切换及无损升级,并通过试错的方式降低升级风险、提升软件的可靠性,并且不显著增加额外虚机资源。
一些实施方式中,所述灰度分流状态包括:初始状态、结束状态、白名单分流状态和按比例分流状态,所述灰度发布策略可包括白名单策略,例如为白名单列表,白名单列表与业务强相关,白名单列表中的白名单可以是用户标识、设备标识、设备网络地址等。通过对灰度分流状态进行分类,使得灰度分流设备能够迅速、准确地找的对应控制业务消息流向的分流方式,进而高效、准确地将满足灰度发布策略、不满足灰度发布策略的业务消息分流至对应的服务实例中,从而逐步地将业务消息平滑的迁移至新版本的服务实例上。
一些实施方式中,所述灰度分流状态可对应灰度分流设备的行为逻辑,即对应控制业务消息流向的分流方式。
一些实施方式中,所述向多个灰度分流设备下发所述灰度发布策略、所述灰度分流规则和所述灰度分流状态之前,所述方法还包括:
对待进行灰度发布的业务服务部署第二版本的服务实例;
分别对第一版本的服务实例添加第一标签信息,对第二版本的服务实例添加第二标签信息;其中,所述第一标签信息和所述第二标签信息均用于所述灰度分流设备判断业务消息发送对象的标识,所述第二版本的服务实例的版本高于所述第一版本的服务实例。
一些实施方式中,所述方法还包括:
调整分流比例,所述分流比例是指分流业务消息的第一版本的服务实例数量和分流业务消息的第二版本的服务实例数量的比例。
一些实施方式中,所述调整分流比例,包括:
对所述第一版本的服务实例进行缩容,以释放缩容的所述第一版本的服务实例占用的虚拟机资源;以及对所述第二版本的服务实例进行扩容,扩容的第二版本的服务实例占用所述释放的虚拟机资源;
根据缩容后的所述第一版本的服务实例数量、扩容后的所述第二版本的服务实例数量、以及当前灰度发布任务的最大分流比例,计算分流比例;
所述方法还包括:
向所述灰度分流设备发送所述分流比例。
一些实施方式中,所述业务消息包括特定字段,发送业务消息之前,所述方法还包括:
建立白名单与所述业务消息中的特定字段的匹配关系;
向所述灰度分流设备发送所述匹配关系。
本申请第二方面提供一种服务升级管理的方法,应用于灰度分流设备,所述方法包括:
从灰度发布控制平台接收灰度发布策略、灰度分流规则和灰度分流状态;
根据所述灰度分流状态确定分流模式;
根据确定的分流模式、所述灰度发布策略、所述灰度分流规则和所述灰度分流状态,控制业务消息的流向。
一些实施方式中,所述灰度分流状态包括:初始状态、结束状态、白名单分流状态和按比例分流状态。
一些实施方式中,所述根据确定的分流模式、所述灰度发布策略、所述灰度分流规则和所述灰度分流状态,控制业务消息流量的流向,包括以下实现方式之一:
当所述灰度分流状态为初始状态时,在第一版本的服务实例中按照轮询方式对业务消息的流量分流;
或者,当所述灰度分流状态为结束状态时,对业务消息的流量按照轮询方式分流;
或者,当所述灰度分流状态为白名单分流状态时,根据所述灰度发布策略,将符合所述灰度发布策略的业务消息分流到第二版本的服务实例,将不符合所述灰度发布策略的业务消息在第一版本的服务实例中按照轮询方式进行分流;
或者,当所述灰度分流状态为按比例分流状态时,根据所述灰度发布策略,将符合所述灰度发布策略的业务消息分流到第二版本的服务实例,将不符合所述灰度发布策略的业务消息在第一版本的服务实例或第二版本的服务实例中按照轮询方式进行分流。
一些实施方式中,所述灰度发布策略包括白名单策略,所述根据所述灰度发布策略,将符合所述灰度发布策略的业务消息分流到第二版本的服务实例,包括:
获取所述业务消息中的特定字段;
将所述特定字段与所述白名单策略进行匹配;
当根据特定字段与白名单的匹配关系匹配到所述特定字段时,则确定所述业务消息满足分流到第二版本的服务实例的条件,将所述业务消息分流到第二版本的服务实例上;
当根据所述特定字段与白名单的匹配关系未匹配到所述特定字段时,则确定所述业务消息不满足分流到第二版本的服务实例的条件,将所述业务消息分流到第一版本的服务实例上。
一些实施方式中,所述方法还包括:
从所述灰度发布控制平台接收分流比例,所述分流比例是指分流业务消息的第一版本的服务实例数量和分流业务消息的第二版本的服务实例数量的比例;
按照所述分流比例,将所述业务消息分流到所述第二版本的服务实例上;
从所述灰度发布控制平台接收更新的分流比例,按照更新的分流比例控制业务消息的流向,直至将所有业务消息分流到所述第二版本的服务实例上。
一些实施方式中,所述灰度分流设备以软件开发工具包SDK的方式集成在服务实例中。
本申请第三方面提供一种灰度发布控制平台,具有实现对应于上述第一方面提供的服务升级管理的方法的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的模块,所述模块可以是软件和/或硬件。一种实施方式中,所述灰度发布控制平台包括:
处理模块,用于创建灰度发布策略和灰度分流规则;
控制灰度分流状态;
收发模块,用于向灰度分流设备下发所述灰度发布策略、所述灰度分流规则和所述灰度分流状态;
其中,所述灰度发布策略、所述灰度分流规则和所述灰度分流状态用于所述灰度分流设备控制业务消息的流向。
一些实施方式中,所述灰度分流状态包括:初始状态、结束状态、白名单分流状态和按比例分流状态。
一些实施方式中,所述收发模块向多个灰度分流设备下发所述灰度发布策略、所述灰度分流规则和所述灰度分流状态之前,所述处理模块还用于:
对待进行灰度发布的业务服务部署第二版本的服务实例;
分别对第一版本的服务实例添加第一标签信息,对第二版本的服务实例添加第二标签信息;其中,所述第一标签信息和所述第二标签信息均用于所述灰度分流设备判断业务消息发送对象的标识,所述第二版本的服务实例的版本高于所述第一版本的服务实例。
一些实施方式中,所述处理模块还用于:
调整分流比例,所述分流比例是指分流业务消息的第一版本的服务实例数量和分流业务消息的第二版本的服务实例数量的比例。
一些实施方式中,所述处理模块用于:
对所述第一版本的服务实例进行缩容,以释放缩容的所述第一版本的服务实例占用的虚拟机资源;以及对所述第二版本的服务实例进行扩容,扩容的第二版本的服务实例占用所述释放的虚拟机资源;
根据缩容后的所述第一版本的服务实例数量、扩容后的所述第二版本的服务实例数量、以及当前灰度发布任务的最大分流比例,计算分流比例;
通过所述收发模块向所述灰度分流设备发送所述分流比例。
本申请第四方面提供一种灰度分流设备,具有实现对应于上述第二方面提供的服务升级管理的方法的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的模块,所述模块可以是软件和/或硬件。
一种实施方式中,所述灰度分流设备包括:
收发模块,用于从灰度发布控制平台接收灰度发布策略、灰度分流规则和灰度分流状态;
处理模块,用于根据所述灰度发布策略、所述灰度分流规则和所述灰度分流状态,控制业务消息的流向。
一些实施方式中,所述灰度分流状态包括:初始状态、结束状态、白名单分流状态和按比例分流状态。
一些实施方式中,所述处理模块至少用于执行以下操作之一:
当所述灰度分流状态为初始状态时,在第一版本的服务实例中按照轮询方式对业务消息的流量分流;
或者,当所述灰度分流状态为结束状态时,对业务消息的流量按照轮询方式分流;
或者,当所述灰度分流状态为白名单分流状态时,根据所述灰度发布策略,将符合所述灰度发布策略的业务消息分流到第二版本的服务实例,将不符合所述灰度发布策略的业务消息在第一版本的服务实例中按照轮询方式进行分流;
或者,当所述灰度分流状态为按比例分流状态时,根据所述灰度发布策略,将符合所述灰度发布策略的业务消息分流到第二版本的服务实例,将不符合所述灰度发布策略的业务消息在第一版本的服务实例或第二版本的服务实例中按照轮询方式进行分流。
一些实施方式中,所述灰度发布策略包括白名单策略,所述处理模块具体用于:
通过所述收发模块获取所述业务消息中的特定字段;
将所述特定字段与所述白名单策略进行匹配;
当根据特定字段与白名单的匹配关系匹配到所述特定字段时,则确定所述业务消息满足分流到第二版本的服务实例的条件,将所述业务消息分流到第二版本的服务实例上;
当根据所述特定字段与白名单的匹配关系未匹配到所述特定字段时,则确定所述业务消息不满足分流到第二版本的服务实例的条件,将所述业务消息分流到第一版本的服务实例上。
一些实施方式中,所述收发模块还用于:
从所述灰度发布控制平台接收分流比例,所述分流比例是指分流业务消息的第一版本的服务实例数量和分流业务消息的第二版本的服务实例数量的比例;
按照所述分流比例,将所述业务消息分流到所述第二版本的服务实例上;
从所述灰度发布控制平台接收更新的分流比例,按照更新的分流比例控制业务消息的流向,直至将所有业务消息分流到所述第二版本的服务实例上。
本申请又一方面提供了一种计算机装置,其包括至少一个连接的处理器、存储器和收发器,其中,所述存储器用于存储程序代码,所述处理器用于调用所述存储器中的程序代码来执行上述各方面所述的方法。
本申请又一方面提供了一种计算机存储介质,其包括指令,当其在计算机上运行时,使得计算机执行上述第一方面中所述的操作,或者执行上述第二方面中所述的操作。
本申请又一方面提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面中所述的操作,或者执行上述第二方面中所述的操作。
附图说明
图1为本申请实施例中电信软件应用系统的一种架构示意图;
图2为本申请实施例中服务升级管理的方法的一种流程示意图;
图3为本申请实施例中按照灰度分流状态分流业务消息的一种流程示意图;
图4为本申请实施例中服务升级管理的方法的一种流程示意图;
图5为本申请实施例中灰度发布控制平台的一种结构示意图;
图6为本申请实施例中灰度分流设备的一种结构示意图;
图7为本申请实施例中执行服务升级管理的方法的装置的一种结构示意图。
具体实施方式
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或模块的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或模块,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或模块,本申请中所出现的模块的划分,仅仅是一种逻辑上的划分,实际应用中实现时可以有另外的划分方式,例如多个模块可以结合成或集成在另一个系统中,或一些特征可以忽略,或不执行,另外,所显示的或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,模块之间的间接耦合或通信连接可以是电性或其他类似的形式,本申请中均不作限定。并且,作为分离部件说明的模块或子模块可以是也可以不是物理上的分离,可以是也可以不是物理模块,或者可以分布到多个电路模块中,可以根据实际的需要选择其中的部分或全部模块来实现本申请方案的目的。
本申请供了一种服务升级管理的方法、装置及存储介质,用于电信软件应用系统中的灰度发布,例如用于电信软件应用系统的升级操作、补丁操作、配置操作等场景。以下进行详细说明。
如图1所示的一种电信软件应用系统,其包括虚拟网络功能(VirtualisedNetwork Function,VNF)、虚拟网络功能管理者(Virtualised Network FunctionManager, VNFM)、VNFM-A、网络功能虚拟化(Network Function Virtualisation,NFV)、平台即服务(Platform-as-a-Service,PaaS)、虚拟基础设施管理者(VirtualisedInfrastructure Manager,VIM)和业务/运营支持系统。下面介绍图1所示的系统中各功能部分的功能。
VNF用于部署业务服务实例和灰度发布,例如部署服务实例1和服务实例2。
PaaS是指将软件研发的平台作为一种服务提供给用户使用。服务化架构是指将一个大型复杂软件应用拆解成一个或多个服务实例组成的架构方法,系统中的各个服务实例可独立自治,各个服务实例之间是松耦合的。每个服务实例仅关注于完成一件任务并很好地完成该任务。本申请实施例中,在PaaS中部署灰度发布控制平台、灰度分流设备和 VNFM-A。
其中,灰度发布控制平台用于流程控制和策略管理,即负责新版本服务实例上线,并存储管理灰度发布策略,根据灰度发布过程将灰度发布策略同步下发到灰度分流设备。灰度发布控制平台与PaaS交互,对灰度发布的服务部署新版本的服务实例,以及调用服务注册中心接口对服务实例添加标签信息,该标签信息用于灰度分流LB判断业务消息发送对象的标识。灰度发布控制平台同步灰度策略给灰度分流设备。
灰度分流设备用于对业务请求消息进行分流管理等,例如灰度分流设备可根据从灰度发布控制平台接收到的灰度发布策略、灰度分流规则元数据及灰度分流状态等信息,来控制业务消息的流向。比如,根据白名单策略,将部分业务消息的流量分流到高版本实例上。
VNFM-A与VNFM对接,负责管理灰度发布过程需要虚机资源管理,主要负责完成在灰度发布过程进行虚机资源的申请和释放。
本申请实施例中,灰度分流设备可以是独立部署,也可以是以软件开发工具包(Software Development Kit,SDK)的方式集成的服务实例内部,即每个服务实例内部集成一个小的灰度分流设备,当一个电信软件应用系统中的服务类型众多时,会加大灰度发布控制平台的管理负载,由于服务实例内分流的SDK代码和服务共进程部署,灰度分流设备可以解析服务之间的RPC类型接口契约文件,因此,既可以支持RPC接口类型的消息分流,也可以支持Restful接口类型的消息分流;对于灰度分流设备独立部署模式下,仅仅支持Restful接口类型的灰度分流,灰度分流设备独立进程部署的场景下,也支持对第三方软件系统进行灰度分流。
为解决上述技术问题,本申请主要提供以下技术方案:
在基于PaaS的电信软件应用系统架构中,增加“灰度发布控制平台”、“灰度分流设备”及“VNFM_A”公共服务,由灰度发布控制平台控制被升级的业务服务的高、低版本的服务实例生命周期管理,并控制灰度分流设备的分流状态及策略的变迁,以及控制VNFM_A 服务与VNFM交互完成灰度升级期间的虚机资源的申请及释放;灰度分流设备根据灰度策略及分流状态完成业务消息的分流任务,VNFM_A在升级开始初期根据被升级业务的类型执行申请对应类型的虚机资源及在结束灰度发布负责虚机资源的释放。
通过灰度发布控制平台根据白名单及分流比例,自动计算新、旧版本的服务实例数量,并通过调用PaaS接口对新、旧版本的服务实例的进行扩容、缩容操作,并且灰度分流设备根据服务实例数量及分流比例进行业务消息的分流控制。
参照图2,以下介绍本申请提供一种服务升级管理的方法,所述方法包括:
201、灰度发布控制平台创建灰度发布策略和灰度分流规则。
一些实施方式中,所述灰度发布策略可包括白名单策略,例如为白名单列表,白名单列表与业务强相关,白名单列表中的白名单可以是用户标识、设备标识、设备网络地址等。
202、灰度发布控制平台控制灰度分流状态。
一些实施方式中,所述灰度分流状态包括:结束状态、初始状态、白名单分流状态和按比例分流状态。所述灰度分流状态可对应灰度分流设备的行为逻辑,即对应控制业务消息流向的分流方式。灰度分流状态的含义、灰度分流状态与灰度分流设备的行为逻辑的对应关系可参考下表1:
Figure BDA0001608497060000071
表1
表1中揭示了每种灰度分流状态下对应的灰度分流设备的行为逻辑,灰度分流设备的行为逻辑是指:灰度分流设备控制业务消息的流向的分流方式。例如,当灰度分流状态为白名单分流状态时,灰度分流设备可将在白名单列表中的业务消息轮询分发给新版本服务实例,将未在白名单列表中的业务消息轮询分流至旧版本服务实例。可见,通过对灰度分流状态进行分类,使得灰度分流设备能够迅速、准确地找的对应控制业务消息流向的分流方式,进而高效、准确地将满足灰度发布策略、不满足灰度发布策略的业务消息分流至对应的服务实例中,从而逐步地将业务消息平滑的迁移至新版本的服务实例上。
203、灰度发布控制平台向灰度分流设备下发所述灰度发布策略、所述灰度分流规则和所述灰度分流状态。
其中,所述灰度发布策略、所述灰度分流规则和所述灰度分流状态用于所述灰度分流设备控制业务消息的流向。
为了实现灰度分流设备的处理逻辑与具体的白名单类型及业务消息,灰度发布控制平台通过配置文件的方式来定义:业务消息中的某个特定字段与白名单的匹配关系,具体定义所需的代码如下:
Figure BDA0001608497060000072
Figure BDA0001608497060000081
204、灰度分流设备从灰度发布控制平台接收灰度发布策略、灰度分流规则和灰度分流状态。
205、灰度分流设备根据所述灰度发布策略、所述灰度分流规则和所述灰度分流状态,控制业务消息的流向。
与现有机制相比,本申请实施例中,灰度发布控制平台向灰度分流设备下发所述灰度发布策略、所述灰度分流规则和所述灰度分流状态,使得灰度分流设备能够准确的控制业务消息的流向,可以保证电信软件应用系统的稳定性,不需要另外部署一套测试环境或者备份环境专门用于发布前的稳定性测试,能够实现VNF的灰度升级能力,保证业务流量的平滑切换及无损升级,并通过试错的方式降低升级风险、提升软件的可靠性,并且不显著增加额外虚机资源。
一些实施方式中,例如图3所示,灰度分流设备控制业务消息流量的流向时,可基于确定当前的灰度分流状态确定分流方式,然后根据确定的分流方式控制业务消息流量的流向,具体至少可包括以下实现方式之一:
例如,当所述灰度分流状态为初始状态时,在第一版本的服务实例中按照轮询方式对业务消息的流量分流。
或者,当所述灰度分流状态为结束状态时,对业务消息的流量按照轮询方式分流。
或者,当所述灰度分流状态为白名单分流状态时,根据所述灰度发布策略,将符合所述灰度发布策略的业务消息分流到第二版本的服务实例,将不符合所述灰度发布策略的业务消息在第一版本的服务实例中按照轮询方式进行分流。例如,将与白名单策略匹配的业务消息分流到带有第二标签信息的第二版本的服务实例,将与所述白名单策略不匹配的业务消息在第一版本的服务实例中按照轮询方式进行分流。
或者,当所述灰度分流状态为按比例分流状态时,根据所述灰度发布策略,将符合所述灰度发布策略的业务消息分流到第二版本的服务实例,将不符合所述灰度发布策略的业务消息在第一版本的服务实例或第二版本的服务实例中按照轮询方式进行分流。例如,将与白名单策略匹配的业务消息分流到带有第二标签信息的第二版本的服务实例,将与所述白名单策略不匹配的业务消息在第一版本的服务实例中按照轮询方式进行分流,或者将与所述白名单策略不匹配的业务消息在第二版本的服务实例中按照轮询方式进行分流。
可见,通过对灰度分流状态进行分类,并预配置灰度分流设备对应的行为逻辑,使得灰度分流设备能够迅速、准确地找的对应控制业务消息流向的分流方式,进而高效、准确地将满足灰度发布策略、不满足灰度发布策略的业务消息分流至对应的服务实例中,从而逐步地将业务消息平滑的迁移至第二版本的服务实例上。
可选的,在本申请的一些实施例中,所述灰度分流设备根据所述灰度发布策略,将符合所述灰度发布策略的业务消息分流到第二版本的服务实例,包括:
灰度分流设备获取所述业务消息中的特定字段,将所述特定字段与所述白名单策略进行匹配。例如该业务消息中的特定字段中包括的设备标识能够在该白名单策略中找到,那么可确定所述业务消息满足分流到第二版本的服务实例的条件。
一些实施方式中,灰度分流设备可从灰度发布控制平台获取特定字段与白名单的匹配关系,当根据特定字段与白名单的匹配关系匹配到所述特定字段时,则灰度分流设备确定所述业务消息满足分流到第二版本的服务实例的条件,从而将所述业务消息分流到第二版本的服务实例上。
当根据所述特定字段与白名单的匹配关系未匹配到所述特定字段时,则灰度分流设备确定所述业务消息不满足分流到第二版本的服务实例的条件,将所述业务消息分流到第一版本的服务实例上。可见,基于匹配关系,能够有效的识别出需要分流到第二版本的服务实例的业务消息。
可选的,在本申请的一些发明实施例中,所述灰度发布控制平台向多个灰度分流设备下发所述灰度发布策略、所述灰度分流规则和所述灰度分流状态之前,所述方法还包括:
所述灰度发布控制平台对待进行灰度发布的业务服务部署第二版本的服务实例,分别对第一版本的服务实例添加第一标签信息,对第二版本的服务实例添加第二标签信息。其中。所述第一标签信息和所述第二标签信息均用于所述灰度分流设备判断业务消息发送对象的标识,所述第二版本的服务实例的版本高于所述第一版本的服务实例。
例如,对第一版本的服务实例(例如低版本的服务实例)添加标签信息:Low_version;对第二版本的服务实例(例如高版本的服务实例)添加标签信息:High_version。
可选的,在本申请的一些发明实施例中,所述方法还包括:
所述灰度发布控制平台调整分流比例,所述分流比例是指分流业务消息的第一版本的服务实例数量和分流业务消息的第二版本的服务实例数量的比例。例如,上一次分流比例为20%,本次可下发分流比例50%,逐步增加。
一些实施方式中,所述灰度发布控制平台可以采用以下方式调整分流比例:
所述灰度发布控制平台对所述第一版本的服务实例进行缩容,以释放缩容的所述第一版本的服务实例占用的虚拟机资源;以及对所述第二版本的服务实例进行扩容,扩容的第二版本的服务实例占用所述释放的虚拟机资源。
所述灰度发布控制平台根据缩容后的所述第一版本的服务实例数量、扩容后的所述第二版本的服务实例数量、以及当前灰度发布任务的最大分流比例,计算分流比例,向所述灰度分流设备发送所述分流比例。所述分流比例是指分流业务消息的第一版本的服务实例数量和分流业务消息的第二版本的服务实例数量的比例。一些实施方式中,分流比例可以按照下面逻辑进行处理:
分流比例α计算公式为:α=V2/(V1+V2)>β?β:负载均衡
其中,β:当前批次任务的最大分流比例;V1:服务端低版本服务实例数;V2:服务端高版本服务实例数。
相应的,灰度分流设备从所述灰度发布控制平台接收分流比例,按照所述分流比例,将所述业务消息分流到所述第二版本的服务实例上,从所述灰度发布控制平台接收更新的分流比例,按照更新的分流比例控制业务消息的流向,直至将所有业务消息分流到所述第二版本的服务实例上。本申请实施例中,为实现业务流量的平滑迁移,还可以通过动态的、多次的调整分流比例的方式,逐步的提高分流到第二版本的服务实例上的业务消息流量,例如可设置4个次分流比例逐步的完成升级操作:10%-->20%-->50%-->100%。
可见,通过动态的、多次分批的调整分流比例的方式,能够通过提高分流到第二版本的服务实例上的业务消息流量,使得第二版本的服务实例承担更多的业务。另外,本申请中对分流比例的调整(例如对第一版本的服务实例缩容和对第二版本的服务实例扩容)可以分多次完成,这样每次调整业务消息的分流比例时,也不会额外申请过多的冗余虚机资源,业务流量也可以逐步的、平滑的从第二版本的服务实例迁移至第一版本的服务实例,能够避免在第二版本的服务实例的质量不稳定情况下可能造成整系统故障的风险。同时,通过多批次逐步对业务消息流量迁移,可以降低对冗余虚机资源的要求,尤其适应于电信设备系统内虚机资源成本占比较高的场景。此外,电信软件应用系统中的业务代码与基础平台代码分离,业务代码无需关注灰度发布细节,无需修改开源代码及第三方服务代码也能支持灰度发布。
当业务流量全部从第一版本的服务实例切换到第二版本的服务实例后,并且经过一段时间的稳定运行,用户可以执行结束灰度发布。灰度发布控制平台接收到用户发送的结束灰度发布的指令后,则会进行一些环境清理动作,环境清理动作包括释放掉多余的虚机资源及删除多余的低版本的服务包等。
为便于理解,下面以一具体的应用场景为例介绍本申请的服务升级管理的方法,如图 4所示,本申请实施例包括:
步骤1:用户通过灰度升级界面创建灰度发布任务,灰度发布任务包括:灰度发布的服务类型,服务的目标版本,以及白名单列表及灰度发布批次等信息。用户填写相关任务信息后,点击提交操作,灰度发布服务接收请求,并对任务信息进行持久化保存。接着开始执行灰度发布任务。
步骤2:在灰度发布任务开始之前,需要先向VNFM申请虚拟机资源,该虚拟机资源用于部署灰度服务的新版本实例。申请虚拟机资源需要VNFM_A和VNFM交互申请虚机。
步骤3:灰度发布控制平台与PaaS交互,对灰度发布的服务部署新版本的服务实例;
步骤4:灰度发布控制平台调用服务注册中心接口给新、旧版本的服务实例分别添加标签信息,例如服务端(旧版本)上所打标签信息为:old_version,在服务端(新版本) 上所打标签信息为:new_version,该标签信息用于灰度分流设备判断业务消息发送对象的标识。
步骤5:灰度发布控制平台同步灰度策略给灰度分流设备。
步骤6:灰度发布控制平台给灰度分流LB下发命令,通知灰度分流LB开始灰度发布;
步骤7:灰度分流设按照灰度分流规则进行服务调用,例如根据当前接收到的业务消息,从业务消息的特定字段中解析对应参数,并与白名单列表进行比较,若业务消息中的参数与白名单列表匹配,则需要分发到新版本的服务实例,否则需要分流到旧版本的服务实例。
步骤8:用户可以通过提高分流到新版本的服务实例上的流量来让高版本服务实例承担更多的业务,例如向灰度发布控制平台下发调整分流比例的通知。
步骤9:当灰度发布控制平台接收到提高灰度分流比例的通知后,先调用PaaS接口完成对旧版本服务的缩容,这时被缩容的服务实例会自动释放虚机资源。
步骤10:紧接着调用PaaS接口进行新版本的服务实例的扩容,新扩容的服务实例则占用步骤9中释放的虚机资源。需要说明的是,缩容和扩容操作可以分多次完成,这样每次也不会额外申请过多的冗余虚机资源,业务流量也可以平滑的在高、低版本的服务实例之间迁移。
步骤11、灰度发布控制平台向灰度分流设备发送分流比例。
步骤12:灰度分流设备根据分流比例,将更多的业务流量分流至新版本的服务实例。在整个电信软件应用系统的完整的升级过程,需要用户重复多次调整灰度比例,直至将全部业务流量分流至新版本的服务实例上,从而平滑的完成服务迁移。
步骤13:当业务流量全部切换到高版本服务实例来后,且经过一段时间的稳定运行后,用户可以向灰度发布控制平台发送执行结束灰度发布的指令。灰度发布控制平台接收到指令后,进行一些环境清理动作,包括释放掉多余的虚机资源及删除多余的旧版本的服务包等。
可见,通过灰度分流设备根据白名单及分流比例等灰度发布策略,将业务流量逐步从旧版本的服务实例迁移到新版本的服务实例上,避免在新版本服务的软件质量不稳定情况下,可能造成整电信软件应用系统故障的风险;同时,通过多批次逐步流量迁移,降低对冗余虚机资源的要求,尤其适用于电信软件应用系统内虚机资源成本占比较高的场景。
上述图1-图4中任一所对应的实施例中出现的任一技术特征,也同样适用于本申请中的图5-图7所对应的实施例,后续类似之处不再赘述。
以上对本申请中一种服务升级管理的方法进行说明,以下分别介绍执行上述服务升级管理的方法的灰度发布控制平台、灰度分流设备。
如图5所示的一种灰度发布控制平台的结构示意图,本申请实施例中的灰度发布控制平台能够实现对应于上述图2-图4中任一所对应的实施例中由灰度发布控制平台所执行的服务升级管理的方法的步骤。所述灰度发布控制平台实现的功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的模块,所述模块可以是软件和/或硬件。所述灰度发布控制平台可包括收发模块和处理模块,所述处理模块的功能实现可参考图2-图4中任一所对应的实施例中由所述灰度发布控制平台执行的各种操作,此处不作赘述。所述收发模块的功能实现可参考图2-图4中任一所所对应的实施例中由灰度发布控制平台执行的各种操作,处理模块可用于控制所述收发模块的收发操作。
一些实施方式中,所述处理模块可用于创建灰度发布策略和灰度分流规则,控制灰度分流状态。
所述收发模块可用于向灰度分流设备下发所述灰度发布策略、所述灰度分流规则和所述灰度分流状态;
其中,所述灰度发布策略、所述灰度分流规则和所述灰度分流状态用于所述灰度分流设备控制业务消息的流向。
本申请实施例中,灰度发布控制平台中的收发模块向灰度分流设备下发所述灰度发布策略、所述灰度分流规则和所述灰度分流状态,使得灰度分流设备能够准确的控制业务消息的流向,可以保证电信软件应用系统的稳定性,不需要另外部署一套测试环境或者备份环境专门用于发布前的稳定性测试,能够实现VNF的灰度升级能力,保证业务流量的平滑切换及无损升级,并通过试错的方式降低升级风险、提升软件的可靠性,并且不显著增加额外虚机资源。
一些实施方式中,所述灰度分流状态包括:初始状态、结束状态、白名单分流状态和按比例分流状态。
一些实施方式中,所述收发模块向多个灰度分流设备下发所述灰度发布策略、所述灰度分流规则和所述灰度分流状态之前,所述处理模块还用于:
对待进行灰度发布的业务服务部署第二版本的服务实例;
分别对第一版本的服务实例添加第一标签信息,对第二版本的服务实例添加第二标签信息;其中,所述第一标签信息和所述第二标签信息均用于所述灰度分流设备判断业务消息发送对象的标识,所述第二版本的服务实例的版本高于所述第一版本的服务实例。
一些实施方式中,所述处理模块还用于:
调整分流比例,所述分流比例是指分流业务消息的第一版本的服务实例数量和分流业务消息的第二版本的服务实例数量的比例。
一些实施方式中,所述处理模块用于:
对所述第一版本的服务实例进行缩容,以释放缩容的所述第一版本的服务实例占用的虚拟机资源;以及对所述第二版本的服务实例进行扩容,扩容的第二版本的服务实例占用所述释放的虚拟机资源;
根据缩容后的所述第一版本的服务实例数量、扩容后的所述第二版本的服务实例数量、以及当前灰度发布任务的最大分流比例,计算分流比例;
通过所述收发模块向所述灰度分流设备发送所述分流比例。
如图6所示的一种灰度分流设备的结构示意图,本申请实施例中的灰度分流设备能够实现对应于上述图2-图4中任一所对应的实施例中由灰度分流设备所执行的服务升级管理的方法的步骤。灰度分流设备实现的功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的模块,所述模块可以是软件和 /或硬件。所述灰度分流设备可包括收发模块和处理模块,所述处理模块的功能实现可参考图2-图4中任一所对应的实施例中由灰度分流设备执行的各种操作,此处不作赘述。所述收发模块的功能实现可参考图2-图4中任一所对应的实施例中由灰度分流设备执行的各种操作,处理模块可用于控制所述收发模块的收发操作。
一些实施方式中,所述收发模块可用于从灰度发布控制平台接收灰度发布策略、灰度分流规则和灰度分流状态;
处理模块,用于根据所述灰度发布策略、所述灰度分流规则和所述灰度分流状态,控制业务消息的流向。
一些实施方式中,所述灰度分流状态包括:初始状态、结束状态、白名单分流状态和按比例分流状态。
本申请实施例中,灰度分流设备中的收发模块从灰度发布控制平台获取灰度发布策略、所述灰度分流规则和所述灰度分流状态后,灰度分流设备中的处理模块能够准确的控制业务消息的流向,可以保证电信软件应用系统的稳定性,不需要另外部署一套测试环境或者备份环境专门用于发布前的稳定性测试,能够实现VNF的灰度升级能力,保证业务流量的平滑切换及无损升级,并通过试错的方式降低升级风险、提升软件的可靠性,并且不显著增加额外虚机资源。
一些实施方式中,所述处理模块至少用于执行以下操作之一:
当所述灰度分流状态为初始状态时,在第一版本的服务实例中按照轮询方式对业务消息的流量分流;
或者,当所述灰度分流状态为结束状态时,对业务消息的流量按照轮询方式分流;
或者,当所述灰度分流状态为白名单分流状态时,根据所述灰度发布策略,将符合所述灰度发布策略的业务消息分流到第二版本的服务实例,将不符合所述灰度发布策略的业务消息在第一版本的服务实例中按照轮询方式进行分流;
或者,当所述灰度分流状态为按比例分流状态时,根据所述灰度发布策略,将符合所述灰度发布策略的业务消息分流到第二版本的服务实例,将不符合所述灰度发布策略的业务消息在第一版本的服务实例或第二版本的服务实例中按照轮询方式进行分流。
一些实施方式中,所述灰度发布策略包括白名单策略,所述处理模块具体用于:
通过所述收发模块获取所述业务消息中的特定字段;
将所述特定字段与所述白名单策略进行匹配;
当根据特定字段与白名单的匹配关系匹配到所述特定字段时,则确定所述业务消息满足分流到第二版本的服务实例的条件,将所述业务消息分流到第二版本的服务实例上;
当根据所述特定字段与白名单的匹配关系未匹配到所述特定字段时,则确定所述业务消息不满足分流到第二版本的服务实例的条件,将所述业务消息分流到第一版本的服务实例上。
一些实施方式中,所述收发模块还用于:
从所述灰度发布控制平台接收分流比例,所述分流比例是指分流业务消息的第一版本的服务实例数量和分流业务消息的第二版本的服务实例数量的比例;
按照所述分流比例,将所述业务消息分流到所述第二版本的服务实例上;
从所述灰度发布控制平台接收更新的分流比例,按照更新的分流比例控制业务消息的流向,直至将所有业务消息分流到所述第二版本的服务实例上。
图7为本申请实施例提供的灰度发布控制平台或灰度分流设备的另一结构示意图,其中,可包括至少一个处理器、至少一个网络接口或者其它通信接口、存储器、至少一个通信总线、至少一个收发器用于实现这些装置之间的连接通信。上述处理器用于执行上述存储器中存储的可执行模块,例如计算机程序。上述存储器可能包含高速随机存取存储器(英文全称:Random Access Memory,英文简称:RAM),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个网络接口(可以是有线或者无线)实现该系统网关与至少一个其它网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。
如图7所示,在一些实施方式中,上述存储器中存储了程序指令,上述程序指令可以被上述处理器执行,通过调用存储器存储的程序指令,上述处理器具体执行本申请实施例中的业务管理的方法时需要调用的程序代码。
需要说明的是,在本申请各实施例(包括图5和图6所示的各实施例)中所有的收发模块对应的实体设备可以为收发器,所有的处理模块对应的实体设备可以为处理器。图5和图6所示的各装置均可以具有如图7所示的结构,当其中一种装置具有如图7所示的结构时,图7中的处理器和收发器实现前述对应该装置的装置实施例提供的处理模块和收发模块相同或相似的功能,图7中的存储器存储处理器执行上述服务升级管理的方法时需要调用的程序代码。其中,该收发器也可以用接收器和发送器代替,可以为相同或者不同的物理实体。为相同的物理实体时,可以统称为收发器,例如该收发器可以为射频(英文全称:Radio Frequency,英文简称:RF)电路。所述存储器可以集成在所述处理器中,也可以与所述处理器分开设置。
上述本申请各实施例揭示的方法可以应用于图7所示的处理器中,或者由图7所示的处理器实现。例如,在一些实施方式中,图7中的处理器可通过调用存储器存储的程序指令,上述处理器具体执行本申请实施例中的服务升级管理的方法时需要调用的程序代码。
例如,当灰度发布控制平台具有如图7所示的结构时,图7中的存储器存储处理器执行上述由灰度发布控制平台执行服务升级管理的方法时需要调用的程序代码。具体来说,图7中的处理器能够调用存储器中的程序代码执行以下操作:
创建灰度发布策略和灰度分流规则;
控制灰度分流状态;
通过所述收发器向灰度分流设备下发所述灰度发布策略、所述灰度分流规则和所述灰度分流状态;其中,所述灰度发布策略、所述灰度分流规则和所述灰度分流状态用于所述灰度分流设备控制业务消息的流向。
例如,当灰度分流设备具有如图7所示的结构时,图7中的存储器存储处理器执行上述由灰度分流设备执行服务升级管理的方法时需要调用的程序代码。具体来说,图7中的处理器能够调用存储器中的程序代码执行以下操作:
通过所述收发器从灰度发布控制平台接收灰度发布策略、灰度分流规则和灰度分流状态;
根据所述灰度发布策略、所述灰度分流规则和所述灰度分流状态,控制业务消息的流向。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。
所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等) 方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD)) 等。
以上对本申请所提供的技术方案进行了详细介绍,本申请中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (18)

1.一种服务升级管理的方法,应用于灰度发布控制平台,其特征在于,所述方法包括:
创建灰度发布策略和灰度分流规则;
控制灰度分流状态;
向灰度分流设备下发所述灰度发布策略、所述灰度分流规则和所述灰度分流状态;
其中,所述灰度发布策略、所述灰度分流规则和所述灰度分流状态用于所述灰度分流设备控制业务消息的流向;
所述灰度分流状态包括:初始状态、结束状态、白名单分流状态和按比例分流状态;
所述向灰度分流设备下发所述灰度发布策略、所述灰度分流规则和所述灰度分流状态之前,所述方法还包括:
对待进行灰度发布的业务服务部署第二版本的服务实例;
分别对第一版本的服务实例添加第一标签信息,对第二版本的服务实例添加第二标签信息;其中,所述第一标签信息和所述第二标签信息均用于所述灰度分流设备判断业务消息发送对象的标识,所述第二版本的服务实例的版本高于所述第一版本的服务实例。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
调整分流比例,所述分流比例是指分流业务消息的第一版本的服务实例数量和分流业务消息的第二版本的服务实例数量的比例。
3.根据权利要求2所述的方法,其特征在于,所述调整分流比例,包括:
对所述第一版本的服务实例进行缩容,以释放缩容的所述第一版本的服务实例占用的虚拟机资源;以及对所述第二版本的服务实例进行扩容,扩容的第二版本的服务实例占用所述释放的虚拟机资源;
根据缩容后的所述第一版本的服务实例数量、扩容后的所述第二版本的服务实例数量、以及当前灰度发布任务的最大分流比例,计算分流比例;
所述方法还包括:
向所述灰度分流设备发送所述分流比例。
4.根据权利要求1-3中任一项所述的方法,其特征在于,所述业务消息包括特定字段,发送业务消息之前,所述方法还包括:
建立白名单与所述业务消息中的特定字段的匹配关系;
向所述灰度分流设备发送所述匹配关系。
5.一种服务升级管理的方法,应用于灰度分流设备,其特征在于,所述方法包括:
从灰度发布控制平台接收灰度发布策略、灰度分流规则和灰度分流状态;
根据所述灰度发布策略、所述灰度分流规则和所述灰度分流状态,控制业务消息的流向;
所述灰度分流状态包括:初始状态、结束状态、白名单分流状态和按比例分流状态;
第一版本的服务实例包括第一标签信息,对第二版本的服务实例包括第二标签信息;其中,所述第一标签信息和所述第二标签信息均用于所述灰度分流设备判断业务消息发送对象的标识,所述第二版本的服务实例的版本高于所述第一版本的服务实例。
6.根据权利要求5所述的方法,其特征在于,所述根据所述灰度发布策略、所述灰度分流规则和所述灰度分流状态,控制业务消息流量的流向,至少包括以下实现方式之一:
当所述灰度分流状态为初始状态时,在第一版本的服务实例中按照轮询方式对业务消息的流量分流;
或者,当所述灰度分流状态为结束状态时,对业务消息的流量按照轮询方式分流;
或者,当所述灰度分流状态为白名单分流状态时,根据所述灰度发布策略,将符合所述灰度发布策略的业务消息分流到第二版本的服务实例,将不符合所述灰度发布策略的业务消息在第一版本的服务实例中按照轮询方式进行分流;
或者,当所述灰度分流状态为按比例分流状态时,根据所述灰度发布策略,将符合所述灰度发布策略的业务消息分流到第二版本的服务实例,将不符合所述灰度发布策略的业务消息在第一版本的服务实例或第二版本的服务实例中按照轮询方式进行分流。
7.根据权利要求6所述的方法,其特征在于,所述灰度发布策略包括白名单策略,所述根据所述灰度发布策略,将符合所述灰度发布策略的业务消息分流到第二版本的服务实例,包括:
获取所述业务消息中的特定字段;
将所述特定字段与所述白名单策略进行匹配;
当根据特定字段与白名单的匹配关系匹配到所述特定字段时,则确定所述业务消息满足分流到第二版本的服务实例的条件,将所述业务消息分流到第二版本的服务实例上;
当根据所述特定字段与白名单的匹配关系未匹配到所述特定字段时,则确定所述业务消息不满足分流到第二版本的服务实例的条件,将所述业务消息分流到第一版本的服务实例上。
8.根据权利要求5所述的方法,其特征在于,所述方法还包括:
从所述灰度发布控制平台接收分流比例,所述分流比例是指分流业务消息的第一版本的服务实例数量和分流业务消息的第二版本的服务实例数量的比例;
按照所述分流比例,将所述业务消息分流到所述第二版本的服务实例上;
从所述灰度发布控制平台接收更新的分流比例,按照更新的分流比例控制业务消息的流向,直至将所有业务消息分流到所述第二版本的服务实例上。
9.一种灰度发布控制平台,其特征在于,所述灰度发布控制平台包括:
处理模块,用于创建灰度发布策略和灰度分流规则;
控制灰度分流状态;
收发模块,用于向灰度分流设备下发所述灰度发布策略、所述灰度分流规则和所述灰度分流状态;
其中,所述灰度发布策略、所述灰度分流规则和所述灰度分流状态用于所述灰度分流设备控制业务消息的流向;
所述灰度分流状态包括:初始状态、结束状态、白名单分流状态和按比例分流状态;
所述收发模块向多个灰度分流设备下发所述灰度发布策略、所述灰度分流规则和所述灰度分流状态之前,所述处理模块还用于:
对待进行灰度发布的业务服务部署第二版本的服务实例;
分别对第一版本的服务实例添加第一标签信息,对第二版本的服务实例添加第二标签信息;其中,所述第一标签信息和所述第二标签信息均用于所述灰度分流设备判断业务消息发送对象的标识,所述第二版本的服务实例的版本高于所述第一版本的服务实例。
10.根据权利要求9所述的灰度发布控制平台,其特征在于,所述处理模块还用于:
调整分流比例,所述分流比例是指分流业务消息的第一版本的服务实例数量和分流业务消息的第二版本的服务实例数量的比例。
11.根据权利要求10所述的灰度发布控制平台,其特征在于,所述处理模块用于:
对所述第一版本的服务实例进行缩容,以释放缩容的所述第一版本的服务实例占用的虚拟机资源;以及对所述第二版本的服务实例进行扩容,扩容的第二版本的服务实例占用所述释放的虚拟机资源;
根据缩容后的所述第一版本的服务实例数量、扩容后的所述第二版本的服务实例数量、以及当前灰度发布任务的最大分流比例,计算分流比例;
通过所述收发模块向所述灰度分流设备发送所述分流比例。
12.一种灰度分流设备,其特征在于,所述灰度分流设备包括:
收发模块,用于从灰度发布控制平台接收灰度发布策略、灰度分流规则和灰度分流状态;
处理模块,用于根据所述灰度发布策略、所述灰度分流规则和所述灰度分流状态,控制业务消息的流向;
第一版本的服务实例包括第一标签信息,对第二版本的服务实例包括第二标签信息;其中,所述第一标签信息和所述第二标签信息均用于所述灰度分流设备判断业务消息发送对象的标识,所述第二版本的服务实例的版本高于所述第一版本的服务实例。
13.根据权利要求12所述的灰度分流设备,其特征在于,所述处理模块至少用于执行以下操作之一:
当所述灰度分流状态为初始状态时,在第一版本的服务实例中按照轮询方式对业务消息的流量分流;
或者,当所述灰度分流状态为结束状态时,对业务消息的流量按照轮询方式分流;
或者,当所述灰度分流状态为白名单分流状态时,根据所述灰度发布策略,将符合所述灰度发布策略的业务消息分流到第二版本的服务实例,将不符合所述灰度发布策略的业务消息在第一版本的服务实例中按照轮询方式进行分流;
或者,当所述灰度分流状态为按比例分流状态时,根据所述灰度发布策略,将符合所述灰度发布策略的业务消息分流到第二版本的服务实例,将不符合所述灰度发布策略的业务消息在第一版本的服务实例或第二版本的服务实例中按照轮询方式进行分流。
14.根据权利要求13所述的灰度分流设备,其特征在于,所述灰度发布策略包括白名单策略,所述处理模块具体用于:
通过所述收发模块获取所述业务消息中的特定字段;
将所述特定字段与所述白名单策略进行匹配;
当根据特定字段与白名单的匹配关系匹配到所述特定字段时,则确定所述业务消息满足分流到第二版本的服务实例的条件,将所述业务消息分流到第二版本的服务实例上;
当根据所述特定字段与白名单的匹配关系未匹配到所述特定字段时,则确定所述业务消息不满足分流到第二版本的服务实例的条件,将所述业务消息分流到第一版本的服务实例上。
15.根据权利要求14所述的灰度分流设备,其特征在于,所述收发模块还用于:
从所述灰度发布控制平台接收分流比例,所述分流比例是指分流业务消息的第一版本的服务实例数量和分流业务消息的第二版本的服务实例数量的比例;
按照所述分流比例,将所述业务消息分流到所述第二版本的服务实例上;
从所述灰度发布控制平台接收更新的分流比例,按照更新的分流比例控制业务消息的流向,直至将所有业务消息分流到所述第二版本的服务实例上。
16.一种灰度发布控制平台,其特征在于,所述灰度发布控制平台包括:
至少一个处理器、存储器和收发器;
其中,所述存储器用于存储程序代码,所述处理器用于调用所述存储器中存储的程序代码来执行如权利要求1-4任一项所述的方法。
17.一种灰度分流设备,其特征在于,所述灰度分流设备包括:
至少一个处理器、存储器和收发器;
其中,所述存储器用于存储程序代码,所述处理器用于调用所述存储器中存储的程序代码来执行如权利要求5-8任一项所述的方法。
18.一种计算机存储介质,其特征在于,其包括指令,当其在计算机上运行时,使得计算机执行如权利要求1-4任一所述的方法,或者执行如权利要求5-8任一项所述的方法。
CN201810253849.8A 2018-03-26 2018-03-26 一种服务升级管理的方法、装置及存储介质 Active CN110365502B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201810253849.8A CN110365502B (zh) 2018-03-26 2018-03-26 一种服务升级管理的方法、装置及存储介质
PCT/CN2019/078286 WO2019184727A1 (zh) 2018-03-26 2019-03-15 一种服务升级管理的方法、装置及存储介质
EP19774314.9A EP3758293A4 (en) 2018-03-26 2019-03-15 PROCEDURE, DEVICE, AND STORAGE MEDIUM FOR SERVICE UPGRADE
US17/032,536 US20210011834A1 (en) 2018-03-26 2020-09-25 Service Upgrade Management Method, Apparatus, And Storage Medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810253849.8A CN110365502B (zh) 2018-03-26 2018-03-26 一种服务升级管理的方法、装置及存储介质

Publications (2)

Publication Number Publication Date
CN110365502A CN110365502A (zh) 2019-10-22
CN110365502B true CN110365502B (zh) 2021-04-09

Family

ID=68060857

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810253849.8A Active CN110365502B (zh) 2018-03-26 2018-03-26 一种服务升级管理的方法、装置及存储介质

Country Status (4)

Country Link
US (1) US20210011834A1 (zh)
EP (1) EP3758293A4 (zh)
CN (1) CN110365502B (zh)
WO (1) WO2019184727A1 (zh)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110781013B (zh) * 2019-10-25 2022-11-18 湖南水羊科技有限公司 一种灰度发布方法、装置、设备及介质
CN111767073A (zh) * 2019-12-04 2020-10-13 北京沃东天骏信息技术有限公司 发布灰度的方法、装置、设备和计算机可读介质
CN111488159A (zh) * 2019-12-20 2020-08-04 杭州当虹科技股份有限公司 一种能够动态配置的灰度发布方法
CN113127023B (zh) 2019-12-31 2024-04-09 华为技术有限公司 业务升级的方法、装置和系统
CN111338824B (zh) * 2020-02-27 2023-08-15 中国联合网络通信集团有限公司 灰度发布方法、装置、电子设备及存储介质
CN111290867A (zh) * 2020-02-27 2020-06-16 北京三快在线科技有限公司 流量调度方法、业务服务器、存储介质及流量调度系统
CN111431818B (zh) * 2020-02-28 2023-06-09 口碑(上海)信息技术有限公司 跨域请求的流量分配方法、装置、存储介质及计算机设备
CN111399875B (zh) * 2020-03-06 2023-09-05 咪咕文化科技有限公司 灰度升级控制方法、装置、电子设备及存储介质
CN111585805B (zh) * 2020-04-30 2023-04-18 中国平安财产保险股份有限公司 平滑发布升级方法、装置、计算机系统及可读存储介质
CN111638885A (zh) * 2020-05-29 2020-09-08 北京金山云网络技术有限公司 一种插件的发布方法、装置、电子设备及存储介质
CN113805909B (zh) * 2020-06-17 2024-04-16 菜鸟智能物流控股有限公司 设备升级方法、装置、电子设备和存储介质
CN111752597B (zh) * 2020-06-29 2024-02-27 深圳前海微众银行股份有限公司 业务的灰度发布方法、装置、设备及计算机可读存储介质
CN113296825A (zh) * 2020-07-30 2021-08-24 阿里巴巴集团控股有限公司 一种应用的灰度发布方法、装置和应用发布系统
CN112187662B (zh) * 2020-09-16 2023-03-28 银盛支付服务股份有限公司 一种基于Apollo的流量分发方法
CN112130892A (zh) * 2020-09-23 2020-12-25 平安科技(深圳)有限公司 产品灰度发布方法、装置、设备及存储介质
CN112269591A (zh) * 2020-11-11 2021-01-26 北京凌云雀科技有限公司 版本发布方法、装置、设备及存储介质
CN112565406B (zh) * 2020-12-01 2023-11-03 中国人寿保险股份有限公司 一种灰度发布方法、灰度发布系统及电子设备
CN112905210B (zh) * 2021-03-24 2023-09-15 青岛聚看云科技有限公司 服务器及灰度发布方法
CN112835604B (zh) * 2021-03-26 2024-03-29 中国工商银行股份有限公司 系统灰度版本发布管理方法、系统、设备和介质
CN113422732A (zh) * 2021-06-22 2021-09-21 康键信息技术(深圳)有限公司 基于全站灰度的版本更新方法、装置、设备及存储介质
CN113452622A (zh) * 2021-06-29 2021-09-28 上海通联金融服务有限公司 一种基于客户端的灰度分流方法
CN114138308A (zh) * 2021-12-08 2022-03-04 兴业银行股份有限公司 灰度发布系统、方法及介质
CN114726919B (zh) * 2022-03-22 2024-02-13 新华三大数据技术有限公司 灰度流量控制的方法、装置、计算机设备及存储介质
CN114884915B (zh) * 2022-04-19 2024-03-26 阿里巴巴(中国)有限公司 基于灰度发布的消息处理方法、装置以及设备
CN114579162B (zh) * 2022-05-07 2022-08-23 杭州又拍云科技有限公司 一种基于事件驱动和水平触发的灰度发布方法
CN115017036A (zh) * 2022-05-20 2022-09-06 阿里巴巴(中国)有限公司 版本发布处理方法、装置、设备和存储介质
CN115022174B (zh) * 2022-06-20 2024-03-26 北京奇艺世纪科技有限公司 一种请求处理方法、装置、可读存储介质及电子设备
CN115408285B (zh) * 2022-08-31 2023-06-20 北京发现角科技有限公司 一种灰度测试方法、装置、电子设备及存储介质
CN115168162B (zh) * 2022-09-08 2022-12-06 江苏博云科技股份有限公司 容器环境基于ingress控制器多灰度发布方法、设备及存储介质

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103095743A (zh) * 2011-10-28 2013-05-08 阿里巴巴集团控股有限公司 一种灰度发布的处理方法及系统
CN103176790B (zh) * 2011-12-26 2016-04-20 阿里巴巴集团控股有限公司 应用发布方法和系统
CN105791341B (zh) * 2014-12-22 2020-01-17 华为软件技术有限公司 一种应用发布的处理方法、装置及系统
CN105955761A (zh) * 2016-06-30 2016-09-21 乐视控股(北京)有限公司 基于docker的灰度发布装置及方法
US10560372B1 (en) * 2017-08-28 2020-02-11 Amazon Technologies, Inc. Request routing based on server software versions

Also Published As

Publication number Publication date
WO2019184727A1 (zh) 2019-10-03
EP3758293A1 (en) 2020-12-30
EP3758293A4 (en) 2021-08-25
US20210011834A1 (en) 2021-01-14
CN110365502A (zh) 2019-10-22

Similar Documents

Publication Publication Date Title
CN110365502B (zh) 一种服务升级管理的方法、装置及存储介质
CN112000348B (zh) 服务灰度发布的控制方法、装置、计算机设备
CN110324164B (zh) 一种网络切片的部署方法及装置
US10742502B2 (en) Software modification initiation method, and metadata release method and apparatus
US10326653B2 (en) Method for upgrading network functions virtualization application, service forwarding method, and apparatus
US10700947B2 (en) Life cycle management method and device for network service
US10140112B2 (en) Update management system and update management method
CN106301876B (zh) 物理机升级方法、业务迁移方法及装置
EP3595244A1 (en) Network slice management method, unit and system
CN106161049A (zh) 一种实现网络服务部署规格配置的方法及装置
CN105744008B (zh) 智能家居平台、应用于该平台的系统更新方法和装置
CN109189494B (zh) 配置灰度发布方法、装置、设备及计算机可读存储介质
WO2019100266A1 (zh) 移动边缘主机服务通知方法和装置
CN108934033B (zh) 一种基站的升级、回退方法和装置
US20220326940A1 (en) Service Upgrade Method, Apparatus, and System
CN106982129A (zh) 软件升级方法及装置
CN111143023A (zh) 一种资源变更的方法及装置、设备、存储介质
US11442756B2 (en) Common service resource application method, related device, and system
CN108471373A (zh) 一种资源申请、vnf实例创建方法及装置
CN111858050A (zh) 服务器集群混合部署方法、集群管理节点及相关系统
CN110750780B (zh) 基于多业务系统的用户角色权限融合方法、装置以及设备
CN116126372A (zh) 一种应用程序升级方法、装置、电子设备和存储介质
CN114070889B (zh) 配置方法、流量转发方法、设备、存储介质及程序产品
US20240155041A1 (en) Message Handling in a Fifth Generation Network
CN112365320B (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