CN111314460B - 服务迭代方法、服务迭代装置及存储介质 - Google Patents

服务迭代方法、服务迭代装置及存储介质 Download PDF

Info

Publication number
CN111314460B
CN111314460B CN202010091750.XA CN202010091750A CN111314460B CN 111314460 B CN111314460 B CN 111314460B CN 202010091750 A CN202010091750 A CN 202010091750A CN 111314460 B CN111314460 B CN 111314460B
Authority
CN
China
Prior art keywords
gray
service
iteration
service cluster
stage
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
CN202010091750.XA
Other languages
English (en)
Other versions
CN111314460A (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.)
Beijing Xiaomi Pinecone Electronic Co Ltd
Original Assignee
Beijing Xiaomi Pinecone Electronic 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 Beijing Xiaomi Pinecone Electronic Co Ltd filed Critical Beijing Xiaomi Pinecone Electronic Co Ltd
Priority to CN202010091750.XA priority Critical patent/CN111314460B/zh
Publication of CN111314460A publication Critical patent/CN111314460A/zh
Application granted granted Critical
Publication of CN111314460B publication Critical patent/CN111314460B/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/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
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本公开是关于一种服务迭代方法、服务迭代装置及存储介质。服务迭代方法,应用于服务器,服务迭代方法包括:接收对于分布式服务的迭代请求,其中分布式服务包括至少一个服务集群组;在当前迭代服务集群组中确定进行灰度迭代处理的第一服务集群;获取第一服务集群的灰度策略,并基于灰度策略对第一服务集群中的多个节点进行灰度迭代处理。在第一服务集群完成灰度迭代处理后,利用灰度策略对当前迭代服务集群组内除第一服务集群之外的其他服务集群进行灰度迭代处理。通过使用本公开提供的服务迭代方法,实现一次定制多次继承的灰度迭代形式,有助于缩短集群的迭代周期,降低服务端的迭代成本。

Description

服务迭代方法、服务迭代装置及存储介质
技术领域
本公开涉及信息处理技术领域,尤其涉及一种服务迭代方法、服务迭代装置及存储介质。
背景技术
目前,分布式服务架构在互联网已经越来越常见,其种类和应用场景也不断衍生繁荣,而随着业务场景需求的不断更新,对分布式服务的迭代要求也越来越严苛,分布式服务的迭代已经成为关系业务稳定性的重要一环。
相关技术中,常采用离线串行停服的迭代方式,在一段时间内停止集群的服务,将集群关闭后完成集群的迭代。或者采用在线串行不停服的迭代方式,每天升级一部分节点,并有管理员持续进行观察结果,待单个集群完成后,然后再依次对其他集群升级。
然而,上述迭代方式,会出现分布式服务的整体迭代周期过长的现象。
发明内容
为克服相关技术中存在的问题,本公开提供一种服务迭代方法、服务迭代装置及存储介质。
根据本公开实施例的一个方面,提供一种服务迭代方法,应用于服务器,服务迭代方法包括:接收对于分布式服务的迭代请求,其中分布式服务包括至少一个服务集群组;在当前迭代服务集群组中确定进行灰度迭代处理的第一服务集群;获取第一服务集群的灰度策略,并基于灰度策略对第一服务集群中的多个节点进行灰度迭代处理。在第一服务集群完成灰度迭代处理后,利用灰度策略对当前迭代服务集群组内除第一服务集群之外的其他服务集群进行灰度迭代处理。
在一实施例中,服务迭代方法还包括:基于分布式服务的各服务集群的属性信息,将具有相同属性信息的服务集群划分到同一服务集群组,得到至少一个服务集群组。
在一实施例中,获取第一服务集群的灰度策略,并基于灰度策略对第一服务集群中的多个节点进行灰度迭代处理,包括:将第一服务集群中的多个节点对应的因特网协议IP地址分别进行哈希运算,获得各节点的哈希值,并对各节点的哈希值进行取模,确定各灰度阶段的步长;根据各灰度阶段的步长,将第一服务集群中的多个节点划分到多个灰度阶段,其中每个灰度阶段包括至少一个节点;按多个灰度阶段的顺序,分别对每个灰度阶段中的节点进行迭代。
在一实施例中,获取第一服务集群的灰度策略,并基于灰度策略对第一服务集群中的多个节点进行灰度迭代处理,包括:获取灰度分阶准则,并基于第一服务集群的拓扑信息,确定各灰度阶段的步长;根据各灰度阶段的步长,将第一服务集群中的多个节点划分到多个灰度阶段,其中每个灰度阶段包括至少一个节点;按多个灰度阶段的顺序,分别对每个灰度阶段中的节点进行迭代。
在另一实施例中,按多个灰度阶段的顺序,分别对每个灰度阶段中的节点进行迭代,包括:将各灰度阶段中节点的因特网协议IP地址进行哈希运算,获得各灰度阶段中节点的哈希值;对各灰度阶段节点的哈希值进行取模,确定各灰度阶段中进行灰度迭代处理的多个百分比灰度子阶段的步长;根据各百分比灰度子阶段的步长,将各灰度阶段中的多个节点划分到多个百分比灰度子阶段中,其中每个百分比灰度子阶段包括至少一个节点;按多个百分比灰度子阶段的顺序,分别对每个灰度阶段中的节点进行迭代。
在又一实施例中,对各灰度阶段节点的哈希值进行取模,确定各灰度阶段中进行灰度迭代处理的多个百分比灰度子阶段的步长,包括:对各灰度阶段节点的哈希值进行取模,得到各灰度阶段节点对应的百分比值;根据各灰度阶段节点对应的百分比值的数值大小,确定各灰度阶段中进行灰度迭代处理的多个百分比灰度子阶段的步长。
在一实施例中,灰度分阶准则包括:第一服务集群中节点的C类网段、第一服务集群中节点对应的机架名称或第一服务集群中节点对应的可用区地域。
在一实施例中,当灰度分阶准则为第一服务集群中节点的C类网段;获取灰度分阶准则,并基于第一服务集群的拓扑信息,确定各灰度阶段的步长,包括:基于拓扑信息,得到第一服务集群中各节点的C类网段;根据第一服务集群中各节点的C类网段,得到第一服务集群中进行灰度迭代的指定C类网段。根据指定C类网段,确定各灰度阶段的步长。
在一实施例中,当灰度分阶准则为第一服务集群中节点对应的机架名称;获取灰度分阶准则,并基于第一服务集群的拓扑信息,确定各灰度阶段的步长,包括:基于拓扑信息,得到第一服务集群中各节点的机架名称;基于第一服务集群中各节点的机架名称,得到第一服务集群中进行灰度迭代处理的指定机架名称;根据指定机架名称,确定各灰度阶段的步长。
在一实施例中,当灰度分阶准则为第一服务集群中节点对应的可用区地域;获取灰度分阶准则,并基于第一服务集群的拓扑信息,确定各灰度阶段的步长,包括:基于拓扑信息,得到第一服务集群中各节点的可用区地域;根据第一服务集群中各节点的可用区地域,得到第一服务集群中进行灰度迭代的指定可用区地域;根据指定可用区地域,确定各灰度阶段的步长。
在一实施例中,获取第一服务集群的灰度策略,并基于灰度策略对第一服务集群中的多个节点进行灰度迭代处理,包括:根据预设评判指标,对当前进行灰度迭代处理的灰度阶段或灰度子阶段进行校验。在校验通过时,对下一灰度阶段或下一灰度子阶段进行迭代。在校验失败时,暂停迭代下一灰度阶段或下一灰度子阶段,并向管理员发送报警信息。
在另一实施例中,根据预设评判指标,对当前进行灰度迭代处理的灰度阶段或灰度子阶段进行校验,包括:根据预设评判指标,将当前进行灰度迭代处理的灰度阶段或灰度子阶段中的的节点依次进行迭代。当校验通过时,对下一个节点进行迭代。当校验失败时,暂停迭代下一节点,并向管理员发送报警信息。
根据本公开实施例的另一方面,提供一种服务迭代装置,应用于服务器,服务迭代装置包括:接收模块,用于接收对于分布式服务的迭代请求,其中分布式服务包括至少一个服务集群组;筛选模块,用于在当前迭代服务集群组中确定进行灰度迭代处理的第一服务集群。迭代处理模块,用于获取第一服务集群的灰度策略,和基于灰度策略对第一服务集群中的多个节点进行灰度迭代处理,并在第一服务集群完成灰度迭代处理后,利用灰度策略对当前迭代服务集群组内除第一服务集群之外的其他服务集群进行灰度迭代处理。
在一实施例中,筛选模块还用于:基于分布式服务的各服务集群的属性信息,将具有相同属性信息的服务集群划分到同一服务集群组,得到至少一个服务集群组。
在一实施例中,迭代处理模块采用下述方式获取第一服务集群的灰度策略,并基于灰度策略对第一服务集群中的多个节点进行灰度迭代处理:将第一服务集群中的多个节点对应的因特网协议IP地址分别进行哈希运算,获得各节点的哈希值,并对各节点的哈希值进行取模,确定各灰度阶段的步长;根据各灰度阶段的步长,将第一服务集群中的多个节点划分到多个灰度阶段,其中每个灰度阶段包括至少一个节点;按多个灰度阶段的顺序,分别对每个灰度阶段中的节点进行迭代。
在一实施例中,迭代处理模块采用下述方式获取第一服务集群的灰度策略,并基于灰度策略对第一服务集群中的多个节点进行灰度迭代处理:获取灰度分阶准则,并基于第一服务集群的拓扑信息,确定各灰度阶段的步长;根据各灰度阶段的步长,将第一服务集群中的多个节点划分到多个灰度阶段,其中每个灰度阶段包括至少一个节点;按多个灰度阶段的顺序,分别对每个灰度阶段中的节点进行迭代。
在另一实施例中,迭代处理模块采用下述方式按多个灰度阶段的顺序,分别对每个灰度阶段中的节点进行迭代:将各灰度阶段中节点的因特网协议IP地址进行哈希运算,获得各灰度阶段中节点的哈希值;对各灰度阶段节点的哈希值进行取模,确定各灰度阶段中进行灰度迭代处理的多个百分比灰度子阶段的步长;根据各多个百分比灰度子阶段的步长,将各灰度阶段中的多个节点划分到多个百分比灰度子阶段中,其中每个灰度子阶段包括至少一个节点;按多个百分比灰度子阶段的顺序,分别对每个灰度阶段中的节点进行迭代。
在一实施例中,迭代处理模块采用下述方式对各灰度阶段节点的哈希值进行取模,确定各灰度阶段中进行灰度迭代处理的多个百分比灰度子阶段的步长:对各灰度阶段节点的哈希值进行取模,得到各灰度阶段节点对应的百分比值;根据各灰度阶段节点对应的百分比值的数值大小,得到各灰度阶段中进行灰度迭代处理的多个百分比灰度子阶段。
在一实施例中,灰度分阶准则包括:第一服务集群中节点的C类网段、第一服务集群中节点对应的机架名称或第一服务集群中节点对应的可用区地域。
在一实施例中,当灰度分阶准则为第一服务集群中节点的C类网段;迭代处理模块采用下述方式获取灰度分阶准则,并基于第一服务集群的拓扑信息,确定各灰度阶段的步长:基于拓扑信息,得到第一服务集群中各节点的C类网段;根据第一服务集群中各节点的C类网段,得到第一服务集群中进行灰度迭代的指定C类网段。根据指定C类网段,确定各灰度阶段的步长。
在一实施例中,当灰度分阶准则为第一服务集群中节点对应的机架名称;迭代处理模块采用下述方式获取灰度分阶准则,并基于第一服务集群的拓扑信息,确定各灰度阶段的步长:基于拓扑信息,得到第一服务集群中各节点的机架名称;根据第一服务集群中各节点的机架名称,得到第一服务集群进行灰度迭代处理的指定机架名称;根据指定机架名称,确定各灰度阶段的步长。
在一实施例中,当灰度分阶准则为第一服务集群中节点对应的可用区地域;迭代处理模块采用下述方式获取灰度分阶准则,并基于第一服务集群的拓扑信息,确定各灰度阶段的步长:基于拓扑信息,得到第一服务集群中各节点的可用区地域;根据第一服务集群中各节点的可用区地域,得到第一服务集群进行灰度迭代的指定可用区地域;根据指定可用区地域,确定各灰度阶段的步长。
在一实施例中,迭代处理模块采用下述方式获取第一服务集群的灰度策略,并基于灰度策略对第一服务集群中的多个节点进行灰度迭代处理:根据预设评判指标,对当前进行灰度迭代处理的灰度阶段或灰度子阶段进行校验。在校验通过时,对下一灰度阶段或下一灰度子阶段进行迭代。在校验失败时,暂停迭代下一灰度阶段或下一灰度子阶段,并向管理员发送报警信息。
在又一实施例中,迭代处理模块采用下述方式根据预设评判指标,对当前进行灰度迭代处理的灰度阶段或灰度子阶段进行校验:根据预设评判指标,将当前进行灰度迭代处理的灰度阶段或灰度子阶段中的节点依次进行迭代。在校验通过时,对下一个节点进行迭代。在校验失败时,暂停迭代下一个节点,并向管理员发送报警信息。
根据本公开实施例的又一个方面,提供一种服务迭代装置,包括:存储器,用于存储指令;以及处理器,用于调用存储器存储的指令执行上述任意一种服务迭代方法。
根据本公开实施例的又一个方面,提供一种非临时性计算机可读存储介质,包括:非临时性计算机可读存储介质存储有计算机可执行指令,计算机可执行指令在由处理器执行时,执行上述任意一种服务迭代方法。
本公开的实施例提供的技术方案可以包括以下有益效果:通过使用本公开提供的服务迭代方法,实现一次定制多次继承的灰度迭代形式,有助于缩短集群的迭代周期,降低服务端的迭代成本。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
图1是根据一示例性实施例示出的一种分布式系统架构的示意图。
图2是根据一示例性实施例示出的一种服务迭代方法的流程图。
图3是根据一示例性实施例示出的另一种服务迭代方法的流程图。
图4是根据一示例性实施例示出的一种服务迭代装置的框图。
图5是根据一示例性实施例示出的另一种服务迭代装置的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
本公开实施例提供的服务迭代方法应用于图1所示的分布式系统架构。参阅图1所示,分布式系统架构中包括存储分布式服务系统中的服务集群拓扑信息以及需要迭代的服务包的服务端。服务端用于控制整个分布式服务迭代的流程调度以及管理。分布式服务系统中包含多种类型的分布式服务。每种分布式服务中均含有多个分布式服务集群组。同一分布式服务集群组包含有一个或多个服务集群。每一个服务集群中含有若干个角色,用于承担不同的职责,共同组成分布式系统。在每一个服务集群中,含有多个角色,每个角色中由若干个节点组成。每个节点对应一个迭代系统的客户端。其中,客户端用于执行服务端分配的任务,例如根据迭代指令,下载服务端中新的服务包。在一实时场景中,服务端中存放的服务集群拓扑信息,是一份数据交换(Json)格式的键值-存储数据(key-value,kv)。为便于理解,图1中每层结构只列举一个。
在一实施场景中,根据接收的迭代指令,通信分布式服务系统架构中所有的客户端,由客户端从服务端中获取新的服务迭代包,进行节点的灰度迭代,当迭代完成后重启客户端,运行新的节点,确保节点迭代已完成。
目前,相关技术中,在分布式服务迭代的过程中,通常以集群为分布式迭代的基础单位,采用离线串行停服迭代或者在线串行不停服迭代的方式进行迭代。但对于集群进行迭代时,通过上述两种方式进行迭代,分布式服务系统的整体迭代周期长,成本损失大。
本公开实施例提供一种服务迭代方法,采用一次定制多次继承的方式,在确定第一服务集群的灰度策略并完成灰度迭代后,将服务集群组中其余服务集群均采用第一服务集群的灰度迭代方式进行迭代,能够有效缩短分布式服务器的迭代周期,有助于降低迭代成本。
基于上述服务端中的分布式服务架构的拓扑结构,本公开提供一种服务迭代方法。
图2是根据一示例性实施例示出的一种服务迭代方法的流程图,如图2所示,服务迭代方法10,应用于服务器。服务迭代方法10包括以下步骤S11至步骤S14。
在步骤S11中,接收对于分布式服务的迭代请求。
在本公开实施例中,分布式服务中包括至少一个服务集群组。每一个服务集群中含有若干个角色,用于承担不同的职责,共同组成分布式系统。根据业务迭代需求,接收对于分布式服务的迭代请求,便于根据迭代请求将分布式服务进行迭代。
在步骤S12中,在当前迭代服务集群组中确定进行灰度迭代处理的第一服务集群。
在本公开实施例中,根据迭代请求,选择分布式服务中需要进行迭代的服务集群组,进而从中确定当前进行迭代处理的当前迭代服务集群组。在服务集群组中含有的多个服务集群,确定最先进行迭代处理的服务集群,并基于该最先进行迭代处理的服务集群确定灰度迭代的灰度策略。为描述方便,本公开实施例将用于确定当前服务集群组的灰度策略,且在当前服务集群组中最先进行迭代处理的服务集群,称为第一服务集群,第一服务集群可以是当前迭代服务集群组中任意一个服务集群,也可以是当前迭代服务集群组中指定服务集群。
本公开实施例中,在当前迭代服务集群组中选择第一服务集群进行灰度迭代处理,相对于对整个服务集群组进行迭代处理,便于在迭代过程中,根据迭代状况,及时发现迭代问题,有助于及时止损,不影响服务集群组整体的迭代进度。
在步骤S13中,获取第一服务集群的灰度策略,并基于灰度策略对第一服务集群中的多个节点进行灰度迭代处理。
在本公开实施例中,集群中含有若干个节点,为便于对第一服务集群进行迭代,预先获取第一服务集群的灰度策略。第一服务集群中进行灰度迭代处理的节点包括:第一服务器中的全部节点或第一服务器中的部分节点。灰度策略可根据集群拓扑信息中的以下任意一种或者组合信息进行确定:节点的IP地址、节点的C类网段、节点对应的机架名称和节点对应的可用区地域,在本公开中不进行限定。
其中,本公开实施例中可采用平滑过渡的方式,将第一服务集群中的节点对应的节点根据灰度策略分批进行灰度迭代处理,以便于在第一服务集群迭代的过程中,发现迭代问题,及时止损。
在步骤S14中,在第一服务集群完成灰度迭代处理后,利用灰度策略对当前迭代服务集群组内除第一服务集群之外的其他服务集群进行灰度迭代处理。
在本公开实施例中,当第一服务集群灰度迭代处理完成后,将当前迭代服务集群中的其他服务集群继承第一服务集群的灰度策略进行灰度迭代处理,即当前迭代服务集群中的其他服务集群采用与第一服务集群相同的灰度策略进行灰度迭代处理。通过继承的方式,将已成功完成迭代的灰度策略进行采用,有助于提高服务迭代稳定性,加快迭代速度,缩短整体迭代周期。
通过上述实施例,采用一次定制多次继承的方式,获取第一服务集群的灰度策略并完成第一服务集群中多个节点的灰度迭代后,将服务集群组中其余服务集群均采用第一服务集群的灰度迭代方式进行迭代,能够有效缩短分布式服务器的迭代周期,有助于降低迭代成本。
本公开实施例以下将结合实际应用对上述实施例涉及的服务迭代方法进行说明。
在本公开一实例中,为便于快速服务迭代,预先将相同属性信息的集群划分到同一服务集群组。第一服务集群迭代成功后,其他集群继承第一服务集群灰度策略进行迭代,有助于降低服务迭代难度,使服务迭代更稳定。
图3是根据一示例性实施例示出的另一种服务迭代方法的流程图。如图3所示,服务迭代方法20,包括以下步骤S21至步骤S25。
在本公开实施例中,步骤S22至步骤S25分别与上述服务迭代方法10中的步骤S11至步骤S14的实施方式相同,故可参阅上述实施例相关描述,在此不再详述。
在步骤S21中,基于分布式服务的各服务集群的属性信息,将具有相同属性信息的服务集群划分到同一服务集群组,得到至少一个服务集群组。
本公开实施例中,预先将分布式服务中属性相同的服务集群划分至同一服务集群组中。属性信息可以包括:业务方场景、集群地理位置和集群类型。在迭代的过程中,将同种属性的服务集群采用相同的灰度策略进行灰度迭代处理,属性信息不同的服务集群采用不同的灰度迭代处理方式,使迭代方式更具有个性化,有助于将分散的服务集群进行集中处理,保证迭代服务的稳定性,进而缩短多服务集群的迭代周期。
在步骤S22中,接收对于分布式服务的迭代请求。
在步骤S23中,在当前迭代服务集群组中确定进行灰度迭代处理的第一服务集群。
在步骤S24中,获取第一服务集群的灰度策略,并基于灰度策略对第一服务集群中的多个节点进行灰度迭代处理。
在步骤S25中,在第一服务集群完成灰度迭代处理后,利用灰度策略对当前迭代服务集群组内除第一服务集群之外的其他服务集群进行灰度迭代处理。
在一实施例中,根据迭代请求需将第一服务集群中的所有节点进行灰度处理,且第一服务集群中的同一网段涉及较多节点时,获取第一服务集群中各节点的IP地址,并进行哈希运算,使节点的IP地址对应的哈希值进行离散。在一实施例中,将获取第一服务集群中各节点的IP地址进行两次哈希运算,有助于各节点之间的哈希值能够充分离散,增大哈希值之间的差异。将节点的哈希值进行取模,得到每个节点对应的哈希百分比,进而确定第一服务集群中进行灰度迭代处理的各灰度阶梯灰度步长,灰度步长用于确定各灰度阶梯中需进行迭代处理的节点数量。根据确定的各灰度阶梯灰度步长,将第一服务集群中的节点根据百分比值划分至各灰度阶段中,从而确定第一服务集群中各节点的灰度迭代顺序,将每个灰度阶段中的节点进行灰度迭代处理。
在一实施场景中,将第一服务集群中各节点的哈希值进行取模,得到各节点对应的百分比值,并将各节点根据对应的百分比值采用从小到大的顺序进行排序。根据灰度阶段的步长和节点的先后排序将第一服务集群的节点进行灰度迭代处理,直至完成整个第一服务集群的灰度迭代处理。根据节点的百分比进行灰度迭代处理,能够快速处理大批量节点的迭代需求,缩短单个集群的迭代周期,进而缩短服务集群组的迭代周期。例如:确定的灰度阶段的步长分别为:10%、30%、80%、100%。在进行灰度迭代处理时,先将取模后得到百分比值小于10%的节点按大小顺序进行灰度迭代,当小于10%的节点迭代完成后,再继续灰度迭代10%至30%之间的节点,以此类推,直至第一服务集群灰度迭代100%完成。在另一实施场景中,可根据第一服务集群的节点数进行取模,以便获取准确的阶梯灰度步长。例如:当第一服务集群中的节点数小于10时,则采用10进行取模;当节点数大于10且小于100时,则采用100进行取模,以此类推进行取模。根据确定的灰度步长,将与灰度步长相匹配的百分比对应节点进行灰度迭代处理。在又一实施场景中,可将当前迭代服务集群组中的多个集群同时进行二次哈希、取模和确定灰度步长。便于第一服务集群迭代完成后,能够快速迭代下一服务集群,缩短迭代时间,降低迭代成本。
本公开另一实施例中,可以提供多种灰度策略确定的方式,并基于所述灰度策略对所述第一服务集群中的多个节点进行灰度迭代处理。例如在本公开实施例中,根据分布式服务系统的服务集群拓扑信息,还提出以下几种示例性的灰度策略确定实施场景。针对不同类型的分布式服务提供针对性的灰度迭代策略,以保证迭代服务的稳定性,进而缩短多服务集群的迭代周期。
在一实施例中,第一服务集群中的部分节点需要进行灰度迭代处理,为便于快速完成灰度迭代处理,选取任意一种灰度策略作为第一服务集群中多个节点进行灰度筛选的策略。灰度策略可以包括:根据第一服务集群的拓扑信息,通过灰度分阶准则,筛选第一服务集群中需要进行灰度迭代的多个节点,从而提高服务集群的迭代速率。灰度分阶准则可以包括:第一服务集群中节点的C类网段、第一服务集群中节点对应的机架名称或第一服务集群中节点对应的可用区地域。根据筛选后的节点,确定第一服务集群中各灰度阶段的步长,进而将筛选后的节点划分至多个灰度阶段中。
在一实施例中,根据第一服务集群的拓扑信息,得到第一服务集群中的同一网段涉及较少节点且C类网段范围较广时,获取筛选第一服务集群中节点的C类网段作为灰度分阶准则,得到第一服务集群中进行灰度迭代处理的指定C类网段,进而根据指定C类网段对应的节点进行灰度迭代处理。其中,灰度迭代处理一个指定C类网段可以作为一个灰度阶段,指定C类网段中对应的节点数为对应灰度阶段的步长。在一实施场景中,基于第一服务集群的拓扑信息,获取第一服务集群中各节点的IP地址,并通过因特网协议管理框架(ip_rack)截取将第一服务集群中各节点IP段信息,得到第一服务集群的多个C类网段。根据迭代请求,得到需要迭代的指定C类网段。将指定C类网段对应的节点进行灰度迭代处理。有助于快速处理同一服务集群中节点网段范围较分散的节点,缩短单个集群的迭代周期,进而缩短服务集群组的迭代周期。例如:网段截取IP段信息后的C类网段列表,如下所示:
200.185.132
200.185.133
200.185.142
每一C类网段中均含有多个节点,根据迭代需求,选择其中一个C类网段作为优先灰度网段,如:200.185.142,将其包含的多个节点进行迭代。在另一实施场景中,当指定C类网段中含有大量节点时,则结合上述通过哈希值获取节点的百分比迭代第一服务集群的方式,将指定C类网段中各节点进行哈希、取模处理,得到指定C类网段中的多个百分比灰度子阶段的步长,进而根据灰度子阶段的步长将指定C类网段中各节点根据灰度子阶段的顺序进行迭代处理,便于快速迭代大量的节点,减少部分节点的遗漏,有助于缩短迭代周期。
在另一实施例中,根据第一服务集群的拓扑信息,得到第一服务集群中涉及多组机架列表时,获取筛选第一服务集群中节点对应的机架名称作为灰度分阶准则,得到第一服务集群中进行灰度迭代处理的指定机架名称,进而根据指定机架名称对应的节点进行灰度迭代处理。其中,灰度迭代处理一个指定机架名称可以作为一个灰度阶段,指定机架名称中对应的节点数为对应灰度阶段的步长。在一实施场景中,根据获取第一服务集群的集群拓扑信息,通过ip_rack得到含有各个节点机架名称的机架列表。每个机架中含有至少一个节点。根据第一服务集群的拓扑信息,获取进行灰度处理的指定机架名称,进而将指定机架名称对应的节点进行灰度迭代处理,便于快速完成第一服务集群的灰度迭代处理。在另一实施场景中,当指定机架名称中含有大量节点时,则结合上述通过哈希值获取节点的百分比迭代第一服务集群的方式,将指定机架名称中各节点进行哈希、取模处理,得到指定机架名称中的多个百分比灰度子阶段的步长,进而根据灰度子阶段的步长将指定机架名称中各节点根据灰度子阶段的顺序进行迭代处理,便于快速迭代大量的节点,减少部分节点的遗漏,有助于缩短迭代周期。
在又一实施例中,根据第一服务集群的拓扑信息,得到第一服务集群中各个节点的可用区地域的使用情况,获取筛选第一服务集群中节点对应的的可用区地域作为灰度分阶准则,得到第一服务集群中进行灰度迭代处理的指定可用区地域,进而根据指定可用区地域对应的节点进行灰度迭代处理。其中,灰度迭代处理一个指定可用区地域可以作为一个灰度阶段,指定可用区地域中对应的节点数为对应灰度阶段的步长。在一实施场景中,为了解决分布服务系统的高可用性,保障服务系统的正常使用,根据获取的第一服务集群的集群拓扑信息,得到第一服务集群中各个节点的可用区信息。获取进行灰度处理的指定可用区地域,进而将指定的可用区中的各节点进行灰度迭代处理。可用区信息可以包括:通过节点的主机名中获取、或者将获取的IP地址通过hostname转换显示主机名,在本公开中不进行限定。在另一实施例中,可以根据第一服务集群中各节点的可用区地域的使用情况和C类网段,筛选第一服务集群的进行灰度迭代处理的节点。例如:根据第一服务集群的集群拓扑信息,可得到第一服务集群中多个可用区对应的C类网段,根据灰度分阶准则,获取第一服务集群中的指定可用区域的节点,进而将指定的可用区中的C类网段对应的节点进行灰度迭代处理。有助于主机运维组中含有多组服务集群时,能够快速完成服务集群的服务迭代。在又一实施场景中,当指定可用区地域中含有大量节点时,则结合上述通过哈希值获取节点的百分比迭代第一服务集群的方式,将指定可用区地域中各节点进行哈希、取模处理,得到指定可用区地域中的多个百分比灰度子阶段的步长,进而根据灰度子阶段的步长将指定可用区地域中各节点根据灰度子阶段的顺序进行迭代处理,便于快速迭代大量的节点,减少部分节点的遗漏,有助于缩短迭代周期。
在一实施例中,在服务集群中的节点较少时,可以根据第一服务集群中IP地址列表,筛选第一服务集群进行灰度迭代处理的节点。在一实施场景中,根据获取第一服务集群的集群拓扑信息,得到包含第一服务集群中各个节点地址中的至少一个IP地址列表,进而得到指定IP地址列表,将指定IP地址列表中包含的节点进行灰度迭代处理。在另一实施中,在服务集群中的节点较少时,可以根据第一服务集群中主机名列表,筛选第一服务集群的节点,有效缩短服务集群迭代周期。
在本公开又一实例中,为便于分布式服务系统能够稳定并快速完成迭代,通过主动探测迭代结果的方式,对服务集群的迭代进行监控,以便缩短服务端管理员的观察和处理迭代异常的时间,有助于及时止损,降低迭代成本。
在本公开实施例中,为便于缩短迭代异常处理时间,基于确定的灰度策略,将第一服务集群中的各灰度阶段或灰度子阶段依次进行迭代,便于在迭代过程中及时发现迭代问题,提高服务迭代稳定性。
在本公开实施例中,在进行灰度迭代处理时,依次将第一服务集群中各灰度阶段或灰度子阶段中的节点进行灰度迭代处理,针对每一灰度阶段或灰度子阶段中的节点,以指定间隔进行串行灰度迭代,便于及时发现灰度迭代过程中的问题。
在一实施例中,可预设评判指标。在迭代当前批次的过程中,根据预设评判指标,对当前进行灰度迭代处理的灰度阶段或灰度子阶段进行校验。预设指标可以包括:一些关键指标以及日志的关键异常字段,用于评判每次灰度迭代后的效果,如单位时间内远程过程调用(RemoteProcedureCall,RPC)调用的成功率、日志中是否包含Fatal(重大的)或者Error(错误)的字段,在本公开中不进行限定。在当前进行灰度迭代处理的灰度阶段或灰度子阶段校验通过时,则完成当前灰度阶段或当前灰度子阶段的迭代,对下一灰度阶段或下一灰度子阶段进行迭代。例如:通过校验,指标符合要求并且日志中无异常字段打印,则校验通过。当校验失败时,暂停迭代下一灰度阶段或下一灰度子阶段,并向管理员发送报警信息,便于管理员发现迭代异常问题,将及时处理迭代异常现象。例如:迭代异常时,由管理决定是否继续迭代或者返回至上一已完成迭代的灰度阶段或灰度子阶段。在迭代的过程中,通过主动探测迭代结果,当有迭代异常现象时通知管理员进行介入,有助于大量缩短管理员观察和迭代异常处理的时间,节省人力消耗,降低人工成本。
在另一实施例中,在当前迭代批次进行迭代时,也根据预设评判指标,对当前进行灰度迭代处理的灰度阶段或灰度子阶段中的节点依次进行校验。在校验通过时,则迭代当前节点的下一个节点。当校验失败时,暂停迭代并记录当前节点的异常信息,并向管理员发送报警信息。本公开实施例中,通过预设指标进行检验评判,能够避免迭代大量节点时,迭代异常,导致处理迭代异常现象不及时,造成巨大损失的现象,有助于及时止损,并缩短迭代校验周期。在一实时场景中,以指定间隔串行的方式,将每一迭代批次中的节点进行灰度迭代。在当前节点迭代完成后,校验通过时,则迭代下一批次的迭代服务。
在迭代过程中,通过主动探测迭代结果的方式,对服务集群的迭代稳定性进行监控,有助于缩短服务端管理员的观察和处理迭代异常的时间,有利于及时止损,降低迭代成本。
基于同一个发明思想,本公开还提供一种服务迭代装置。
图4是根据一示例性实施例示出的一种服务迭代装置框图。参照图4,该服务迭代装置包括:接收模块110、筛选模块120和迭代处理模块130。
接收模块110,用于接收对于分布式服务的迭代请求,其中分布式服务包括至少一个服务集群组。
筛选模块120,用于在当前迭代服务集群组中确定进行灰度迭代处理的第一服务集群。
迭代处理模块130,用于获取第一服务集群的灰度策略,并基于灰度策略对第一服务集群中的多个节点进行灰度迭代处理,和在第一服务集群完成灰度迭代处理后,利用灰度策略对当前迭代服务集群组内除第一服务集群之外的其他服务集群进行灰度迭代处理。
在一实施例中,筛选模块120还用于:基于分布式服务的各服务集群的属性信息,将具有相同属性信息的服务集群划分到同一服务集群组,得到至少一个服务集群组。
在一实施例中,迭代处理模块130采用下述方式获取第一服务集群的灰度策略,并基于灰度策略对第一服务集群中的多个节点进行灰度迭代处理:将第一服务集群中的多个节点对应的因特网协议IP地址分别进行哈希运算,获得各节点的哈希值,并对各节点的哈希值进行取模,确定各灰度阶段的步长;根据各灰度阶段的步长,将第一服务集群中的多个节点划分到多个灰度阶段,其中每个灰度阶段包括至少一个节点;按多个灰度阶段的顺序,分别对每个灰度阶段中的节点进行迭代。
在一实施例中,迭代处理模块130采用下述方式获取第一服务集群的灰度策略,并基于灰度策略对第一服务集群中的多个节点进行灰度迭代处理:获取灰度分阶准则,并基于第一服务集群的拓扑信息,确定各灰度阶段的步长;根据各灰度阶段的步长,将第一服务集群中的多个节点划分到多个灰度阶段,其中每个灰度阶段包括至少一个节点;按多个灰度阶段的顺序,分别对每个灰度阶段中的节点进行迭代。
在另一实施例中,迭代处理模块130采用下述方式按多个灰度阶段的顺序,分别对每个灰度阶段中的节点进行迭代:将各灰度阶段中节点的因特网协议IP地址进行哈希运算,获得各灰度阶段中节点的哈希值。对各灰度阶段中节点的哈希值进行取模,确定各灰度阶段中进行灰度迭代处理的多个百分比灰度子阶段的步长;根据各多个百分比灰度子阶段的步长,将各灰度阶段中的多个节点划分到多个百分比灰度子阶段中,其中每个灰度子阶段包括至少一个节点;按多个百分比灰度子阶段的顺序,分别对每个灰度阶段中的节点进行迭代。
在一实施例中,迭代处理模块130采用下述方式对各灰度阶段节点的哈希值进行取模,得到各灰度阶段中进行灰度迭代处理的多个百分比灰度子阶段:对各灰度阶段节点的哈希值进行取模,得到各灰度阶段节点对应的百分比值;根据各灰度阶段节点对应的百分比值的数值大小,得到各灰度阶段中进行灰度迭代处理的多个百分比灰度子阶段。
在一实施例中,灰度分阶准则包括:第一服务集群中节点的C类网段、第一服务集群中节点对应的机架名称或第一服务集群中节点对应的可用区地域。
在一实施例中,当灰度分阶准则为第一服务集群中节点的C类网段;迭代处理模块130采用下述方式获取灰度分阶准则,并基于第一服务集群的拓扑信息,确定各灰度阶段的步长:基于拓扑信息,得到第一服务集群中各节点的C类网段;根据第一服务集群中各节点的C类网段,得到第一服务集群中进行灰度迭代的指定C类网段。根据指定C类网段,确定各灰度阶段的步长。
在一实施例中,当灰度分阶准则为第一服务集群中节点对应的机架名称;迭代处理模块130采用下述方式获取灰度分阶准则,并基于第一服务集群的拓扑信息,确定各灰度阶段的步长:基于拓扑信息,得到第一服务集群中各节点的机架名称;根据第一服务集群中各节点的机架名称,得到第一服务集群进行灰度迭代处理的指定机架名称;根据指定机架名称,确定各灰度阶段的步长。
在一实施例中,当灰度分阶准则为第一服务集群中节点对应的可用区地域;迭代处理模块130采用下述方式获取灰度分阶准则,并基于第一服务集群的拓扑信息,确定各灰度阶段的步长:基于拓扑信息,得到第一服务集群中各节点的可用区地域;根据第一服务集群中各节点的可用区地域,得到第一服务集群进行灰度迭代的指定可用区地域;根据指定可用区地域,确定各灰度阶段的步长。
在一实施例中,迭代处理模块130采用下述方式获取第一服务集群的灰度策略,并基于灰度策略对第一服务集群中的多个节点进行灰度迭代处理:根据预设评判指标,对当前进行灰度迭代处理的灰度阶段或灰度子阶段进行校验。在校验通过时,对下一灰度阶段或下一灰度子阶段进行迭代。在校验失败时,暂停迭代下一灰度阶段或下一灰度子阶段,并向管理员发送报警信息。
在又一实施例中,迭代处理模块130采用下述方式根据预设评判指标,对当前进行灰度迭代处理的灰度阶段或灰度子阶段进行校验:根据预设评判指标,将当前进行灰度迭代处理的灰度阶段或灰度子阶段中的节点依次进行迭代。在校验通过时,对下一个节点进行迭代。在校验失败时,暂停迭代下一个节点,并向管理员发送报警信息。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图5是根据一示例性实施例示出的一种用于服务迭代的装置200的框图。例如,装置200可以被提供为一服务器。参照图5,装置200包括处理组件222,其进一步包括一个或多个处理器,以及由存储器232所代表的存储器资源,用于存储可由处理组件222的执行的指令,例如应用程序。存储器232中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件222被配置为执行指令,以执行上述任意一种服务迭代方法。
装置200还可以包括一个电源组件226被配置为执行装置200的电源管理,一个有线或无线网络接口250被配置为将装置200连接到网络,和一个输入输出(I/O)接口258。装置200可以操作基于存储在存储器232的操作系统,例如WindowsServerTM,MacOSXTM,UnixTM,LinuxTM,FreeBSDTM或类似。
可以理解的是,本公开中单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。
进一步可以理解的是,本公开实施例中尽管在附图中以特定的顺序描述操作,但是不应将其理解为要求按照所示的特定顺序或是串行顺序来执行这些操作,或是要求执行全部所示的操作以得到期望的结果。在特定环境中,多任务和并行处理可能是有利的。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。

Claims (26)

1.一种服务迭代方法,应用于服务器,其特征在于,包括:
接收对于分布式服务的迭代请求,其中所述分布式服务包括至少一个服务集群组;
在当前迭代服务集群组中确定进行灰度迭代处理的第一服务集群;
获取所述第一服务集群的灰度策略,所述灰度策略包括根据所述第一服务集群中的多个节点对应的因特网协议IP地址,和/或基于所述第一服务集群的拓扑信息与灰度分阶准则,确定多个灰度阶段,其中每个灰度阶段包括至少一个节点;
按多个灰度阶段的顺序,分别对每个灰度阶段中的节点进行迭代;
在所述第一服务集群完成灰度迭代处理后,利用所述灰度策略对所述当前迭代服务集群组内除所述第一服务集群之外的其他服务集群进行灰度迭代处理。
2.根据权利要求1所述的服务迭代方法,其特征在于,所述服务迭代方法还包括:
基于所述分布式服务的各服务集群的属性信息,将具有相同属性信息的服务集群划分到同一服务集群组,得到所述至少一个服务集群组。
3.根据权利要求2所述的服务迭代方法,其特征在于,所述根据所述第一服务集群中的多个节点对应的因特网协议IP地址,和/或基于所述第一服务集群的拓扑信息与灰度分阶准则,确定多个灰度阶段,包括:
将所述第一服务集群中的多个节点对应的IP地址分别进行哈希运算,获得各所述节点的哈希值,并对各所述节点的所述哈希值进行取模,确定各灰度阶段的步长;
根据所述各灰度阶段的步长,将所述第一服务集群中的多个节点划分到多个灰度阶段。
4.根据权利要求2所述的服务迭代方法,其特征在于,所述根据所述第一服务集群中的多个节点对应的因特网协议IP地址,和/或基于所述第一服务集群的拓扑信息与灰度分阶准则,确定多个灰度阶段,包括:
获取灰度分阶准则,并基于所述第一服务集群的拓扑信息,确定各灰度阶段的步长;
根据所述各灰度阶段的步长,将所述第一服务集群中的多个节点划分到多个灰度阶段。
5.根据权利要求1所述的服务迭代方法,其特征在于,若基于所述第一服务集群的拓扑信息与灰度分阶准则,确定多个灰度阶段,所述按多个灰度阶段的顺序,分别对每个灰度阶段中的节点进行迭代,包括:
将各所述灰度阶段中节点的因特网协议IP地址进行哈希运算,获得各所述灰度阶段中节点的哈希值;
对各所述灰度阶段节点的所述哈希值进行取模,确定各所述灰度阶段中进行灰度迭代处理的多个百分比灰度子阶段的步长;
根据各所述百分比灰度子阶段的步长,将各所述灰度阶段中的多个节点划分到多个所述百分比灰度子阶段中,其中每个所述百分比灰度子阶段包括至少一个节点;
按多个所述百分比灰度子阶段的顺序,分别对每个灰度阶段中的节点进行迭代。
6.根据权利要求5所述的服务迭代方法,其特征在于,对各所述灰度阶段节点的所述哈希值进行取模,确定各所述灰度阶段中进行灰度迭代处理的多个百分比灰度子阶段的步长,包括:
对各所述灰度阶段节点的所述哈希值进行取模,得到所述各所述灰度阶段节点对应的百分比值;
根据各所述灰度阶段节点对应的百分比值的数值大小,确定各所述灰度阶段中进行灰度迭代处理的多个百分比灰度子阶段的步长。
7.根据权利要求5所述的服务迭代方法,其特征在于,所述灰度分阶准则包括:所述第一服务集群中节点的C类网段、所述第一服务集群中节点对应的机架名称或所述第一服务集群中节点对应的可用区地域。
8.根据权利要求7所述的服务迭代方法,其特征在于,当所述灰度分阶准则为所述第一服务集群中节点的C类网段;
获取灰度分阶准则,并基于所述第一服务集群的拓扑信息,确定各灰度阶段的步长,包括:
基于所述拓扑信息,得到所述第一服务集群中各节点的C类网段;
根据所述第一服务集群中各节点的C类网段,得到所述第一服务集群中进行灰度迭代的指定C类网段;
根据所述指定C类网段,确定各灰度阶段的步长。
9.根据权利要求7所述的服务迭代方法,其特征在于,当所述灰度分阶准则为所述第一服务集群中节点对应的机架名称;
获取灰度分阶准则,并基于所述第一服务集群的拓扑信息,确定各灰度阶段的步长,包括:
基于所述拓扑信息,得到所述第一服务集群中各节点的机架名称;
根据所述第一服务集群中各节点的机架名称,得到所述第一服务集群中进行灰度迭代处理的指定机架名称;
根据所述指定机架名称,确定各灰度阶段的步长。
10.根据权利要求7所述的服务迭代方法,其特征在于,当所述灰度分阶准则为所述第一服务集群中节点对应的可用区地域;
获取灰度分阶准则,并基于所述第一服务集群的拓扑信息,确定各灰度阶段的步长,包括:
基于所述拓扑信息,得到所述第一服务集群中各节点的可用区地域;
根据所述第一服务集群中各节点的可用区地域,得到所述第一服务集群中进行灰度迭代的指定可用区地域;
根据所述指定可用区地域,确定各灰度阶段的步长。
11.根据权利要求10所述的服务迭代方法,其特征在于,获取所述第一服务集群的灰度策略,并基于所述灰度策略对所述第一服务集群中的多个节点进行灰度迭代处理,包括:
根据预设评判指标,对当前进行灰度迭代处理的灰度阶段或灰度子阶段进行校验;
在校验通过时,对下一灰度阶段或下一灰度子阶段进行迭代;
在校验失败时,暂停迭代下一灰度阶段或下一灰度子阶段,并向管理员发送报警信息。
12.根据权利要求11所述的服务迭代方法,其特征在于,根据预设评判指标,对当前进行灰度迭代处理的灰度阶段或灰度子阶段进行校验,包括:
根据预设评判指标,将当前进行灰度迭代处理的灰度阶段或灰度子阶段中的节点依次进行迭代;
当校验通过时,对下一个节点进行迭代;
当校验失败时,暂停迭代下一节点,并向管理员发送报警信息。
13.一种服务迭代装置,应用于服务器,其特征在于,包括:
接收模块,用于接收对于分布式服务的迭代请求,其中所述分布式服务包括至少一个服务集群组;
筛选模块,用于在当前迭代服务集群组中确定进行灰度迭代处理的第一服务集群;
迭代处理模块,用于获取所述第一服务集群的灰度策略,所述灰度策略包括根据所述第一服务集群中的多个节点对应的因特网协议IP地址,和/或基于所述第一服务集群的拓扑信息与灰度分阶准则,确定多个灰度阶段,其中每个灰度阶段包括至少一个节点;按多个灰度阶段的顺序,分别对每个灰度阶段中的节点进行迭代,和在所述第一服务集群完成灰度迭代处理后,利用所述灰度策略对所述当前迭代服务集群组内除所述第一服务集群之外的其他服务集群进行灰度迭代处理。
14.根据权利要求13所述的服务迭代装置,其特征在于,所述筛选模块还用于:
基于所述分布式服务的各服务集群的属性信息,将具有相同属性信息的服务集群划分到同一服务集群组,得到所述至少一个服务集群组。
15.根据权利要求14所述的服务迭代装置,其特征在于,所述迭代处理模块还用于:
将所述第一服务集群中的多个节点对应的因特网协议IP地址分别进行哈希运算,获得各所述节点的哈希值,并对各所述节点的所述哈希值进行取模,确定各灰度阶段的步长;
根据所述各灰度阶段的步长,将所述第一服务集群中的多个节点划分到多个灰度阶段。
16.根据权利要求14所述的服务迭代装置,其特征在于,所述迭代处理模块还用于:
获取灰度分阶准则,并基于所述第一服务集群的拓扑信息,确定各灰度阶段的步长;
根据所述各灰度阶段的步长,将所述第一服务集群中的多个节点划分到多个灰度阶段。
17.根据权利要求13所述的服务迭代装置,其特征在于,若基于所述第一服务集群的拓扑信息与灰度分阶准则,确定多个灰度阶段,所述迭代处理模块采用下述方式按多个灰度阶段的顺序,分别对每个灰度阶段中的节点进行迭代:
将各所述灰度阶段中节点的因特网协议IP地址进行哈希运算,获得各所述灰度阶段中节点的哈希值;
对各所述灰度阶段节点的所述哈希值进行取模,确定各所述灰度阶段中进行灰度迭代处理的多个百分比灰度子阶段步长;
根据各所述多个百分比灰度子阶段步长,将各所述灰度阶段中的多个节点划分到多个所述百分比灰度子阶段中,其中每个灰度子阶段包括至少一个节点;
按多个所述百分比灰度子阶段的顺序,分别对每个灰度阶段中的节点进行迭代。
18.根据权利要求17所述的服务迭代装置,其特征在于,所述迭代处理模块采用下述方式对各所述灰度阶段节点的所述哈希值进行取模,确定各所述灰度阶段中进行灰度迭代处理的多个百分比灰度子阶段的步长:
对各所述灰度阶段节点的所述哈希值进行取模,得到所述各所述灰度阶段节点对应的百分比值;
根据各所述灰度阶段节点对应的百分比值的数值大小,确定各所述灰度阶段中进行灰度迭代处理的多个百分比灰度子阶段的步长。
19.根据权利要求17所述的服务迭代装置,其特征在于,所述灰度分阶准则包括:所述第一服务集群中节点的C类网段、所述第一服务集群中节点对应的机架名称或所述第一服务集群中节点对应的可用区地域。
20.根据权利要求19所述的服务迭代装置,其特征在于,当所述灰度分阶准则为所述第一服务集群中节点的C类网段;
所述迭代处理模块采用下述方式获取灰度分阶准则,并基于所述第一服务集群的拓扑信息,确定各灰度阶段的步长:
基于所述拓扑信息,得到所述第一服务集群中各节点的C类网段;
根据所述第一服务集群中各节点的C类网段,得到所述第一服务集群中进行灰度迭代的指定C类网段;
根据所述指定C类网段,确定各灰度阶段的步长。
21.根据权利要求19所述的服务迭代装置,其特征在于,当所述灰度分阶准则为所述第一服务集群中节点对应的机架名称;
所述迭代处理模块采用下述方式获取灰度分阶准则,并基于所述第一服务集群的拓扑信息,确定各灰度阶段的步长:
基于所述拓扑信息,得到所述第一服务集群中各节点的机架名称;
根据所述第一服务集群中各节点的机架名称,得到所述第一服务集群进行灰度迭代处理的指定机架名称;
根据所述指定机架名称,确定各灰度阶段的步长。
22.根据权利要求19所述的服务迭代装置,其特征在于,当所述灰度分阶准则为所述第一服务集群中节点对应的可用区地域;
所述迭代处理模块采用下述方式获取灰度分阶准则,并基于所述第一服务集群的拓扑信息,确定各灰度阶段的步长:
基于所述拓扑信息,得到所述第一服务集群中各节点的可用区地域;
根据所述第一服务集群中各节点的可用区地域,得到所述第一服务集群中进行灰度迭代的指定可用区地域;
根据所述指定可用区地域,确定各灰度阶段的步长。
23.根据权利要求22所述的服务迭代装置,其特征在于,迭代处理模块采用下述获取所述第一服务集群的灰度策略,并基于所述灰度策略对所述第一服务集群中的多个节点进行灰度迭代处理:
根据预设评判指标,对当前进行灰度迭代处理的灰度阶段或灰度子阶段进行校验;
在校验通过时,对下一灰度阶段或下一灰度子阶段进行迭代;
在校验失败时,暂停迭代下一灰度阶段或下一灰度子阶段,并向管理员发送报警信息。
24.根据权利要求23所述的服务迭代装置,其特征在于,迭代处理模块采用下述方式根据预设评判指标,对当前进行灰度迭代处理的灰度阶段或灰度子阶段进行校验:
根据预设评判指标,将当前进行灰度迭代处理的灰度阶段或灰度子阶段中的节点依次进行迭代;
在校验通过时,对下一个节点进行迭代;
在校验失败时,暂停迭代下一个节点,并向管理员发送报警信息。
25.一种服务迭代装置,其中,所述服务迭代装置包括:
存储器,用于存储指令;以及
处理器,用于调用所述存储器存储的指令执行权利要求1-12中任意一项所述的服务迭代方法。
26.一种非临时性计算机可读存储介质,其特征在于,所述非临时性计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令在由处理器执行时,执行权利要求1-12中任意一项所述服务迭代方法。
CN202010091750.XA 2020-02-13 2020-02-13 服务迭代方法、服务迭代装置及存储介质 Active CN111314460B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010091750.XA CN111314460B (zh) 2020-02-13 2020-02-13 服务迭代方法、服务迭代装置及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010091750.XA CN111314460B (zh) 2020-02-13 2020-02-13 服务迭代方法、服务迭代装置及存储介质

Publications (2)

Publication Number Publication Date
CN111314460A CN111314460A (zh) 2020-06-19
CN111314460B true CN111314460B (zh) 2022-07-01

Family

ID=71158496

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010091750.XA Active CN111314460B (zh) 2020-02-13 2020-02-13 服务迭代方法、服务迭代装置及存储介质

Country Status (1)

Country Link
CN (1) CN111314460B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112988219B (zh) * 2021-03-12 2024-08-20 中国建设银行股份有限公司 一种信息系统的部署方法及装置

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106648562B (zh) * 2015-10-29 2020-04-21 腾讯科技(深圳)有限公司 版本更新方法及装置
CN107479862A (zh) * 2016-06-07 2017-12-15 阿里巴巴集团控股有限公司 一种软件升级的灰度发布方法及系统
CN106257894A (zh) * 2016-08-29 2016-12-28 北京海誉动想科技股份有限公司 基于微服务的灰度发布方法
CN106789202A (zh) * 2016-12-08 2017-05-31 努比亚技术有限公司 业务管理装置及方法
CN108763065A (zh) * 2018-05-11 2018-11-06 国网电子商务有限公司 一种移动应用灰度发布系统及方法
CN109240708B (zh) * 2018-07-02 2019-11-05 北京百度网讯科技有限公司 应用部署方法、装置、计算机设备及存储介质
CN109871224A (zh) * 2019-02-13 2019-06-11 北京炎黄新星网络科技有限公司 一种基于用户标识的灰度发布方法、系统、介质及设备
CN110728556A (zh) * 2019-09-29 2020-01-24 广州餐道信息科技有限公司 一种动态稳定的店用商业系统

Also Published As

Publication number Publication date
CN111314460A (zh) 2020-06-19

Similar Documents

Publication Publication Date Title
CN108737270B (zh) 一种服务器集群的资源管理方法和装置
US10949254B2 (en) Systems and methods for scheduling tasks
US10178045B2 (en) Dynamic discovery and management of microservices for multi-cluster computing platforms
CN107545338B (zh) 业务数据处理方法及业务数据处理系统
Arzo et al. Multi-agent based autonomic network management architecture
US10698741B2 (en) Resource allocation method for VNF and apparatus
Boloor et al. Dynamic request allocation and scheduling for context aware applications subject to a percentile response time SLA in a distributed cloud
CA3054607C (en) Systems and methods for compute node management protocols
JP2007529066A (ja) アフィニティ管理のための方法およびシステム
CN109155939B (zh) 一种负载迁移方法、装置及系统
CN111858054A (zh) 一种异构环境下基于边缘计算的资源调度系统及方法
CN112351077B (zh) 一种应用服务运行方法、系统、装置及存储介质
JP2022540785A (ja) インテリジェントロードバランサ
CN113206877A (zh) 一种会话保持方法及装置
CN111314460B (zh) 服务迭代方法、服务迭代装置及存储介质
CN108958933B (zh) 任务执行器的配置参数更新方法、装置及设备
CN113079098B (zh) 路由更新的方法、装置、设备和计算机可读介质
CN111831503A (zh) 一种基于监控代理的监控方法和监控代理装置
US11394750B1 (en) System and method for generating network security policies in a distributed computation system utilizing containers
CN108228272B (zh) Web容器生成处理方法、设备以及服务器
CN114296865B (zh) 一种虚拟机线程的调度方法、装置、电子设备及存储介质
US20210185119A1 (en) A Decentralized Load-Balancing Method for Resource/Traffic Distribution
CN111209118A (zh) 确定资源余量的方法、装置、存储介质和电子设备
CN114584625B (zh) 一种消息处理方法、装置、电子设备及存储介质
US20220012657A1 (en) Scheduler for jobs during off peak hours

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
CB02 Change of applicant information

Address after: 100085 unit C, building C, lin66, Zhufang Road, Qinghe, Haidian District, Beijing

Applicant after: Beijing Xiaomi pinecone Electronic Co., Ltd

Address before: 100085 unit C, building C, lin66, Zhufang Road, Qinghe, Haidian District, Beijing

Applicant before: BEIJING PINECONE ELECTRONICS Co.,Ltd.

CB02 Change of applicant information
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant