CN113422732A - 基于全站灰度的版本更新方法、装置、设备及存储介质 - Google Patents
基于全站灰度的版本更新方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN113422732A CN113422732A CN202110691937.8A CN202110691937A CN113422732A CN 113422732 A CN113422732 A CN 113422732A CN 202110691937 A CN202110691937 A CN 202110691937A CN 113422732 A CN113422732 A CN 113422732A
- Authority
- CN
- China
- Prior art keywords
- routing
- information
- gray level
- node
- version
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 61
- 238000004458 analytical method Methods 0.000 claims abstract description 72
- 238000004364 calculation method Methods 0.000 claims abstract description 53
- 238000012544 monitoring process Methods 0.000 claims description 23
- 230000008859 change Effects 0.000 claims description 20
- 238000012545 processing Methods 0.000 claims description 5
- 238000005516 engineering process Methods 0.000 abstract description 3
- 230000008569 process Effects 0.000 description 17
- 230000006870 function Effects 0.000 description 10
- 238000007405 data analysis Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- 230000007246 mechanism Effects 0.000 description 6
- 238000007726 management method Methods 0.000 description 5
- 230000002349 favourable effect Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012827 research and development Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000010835 comparative analysis Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000007493 shaping process Methods 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/14—Routing performance; Theoretical aspects
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及云服务领域,提供一种基于全站灰度的版本更新方法、装置、设备及存储介质,用于解决无法快速而准确地进行版本更新的问题。基于全站灰度的版本更新方法包括:若请求进入网关为灰度网关,则将请求进入方式与优先请求方式进行对比分析;根据分析结果调用灰度路由***获取初始灰度集群信息和目标节点灰度计算规则;通过灰度路由***,基于节点流量信息、初始灰度集群信息和目标节点灰度计算规则获取节点路由版本;获取目标灰度集群信息,并根据目标灰度集群信息确定目标路由规则信息;基于目标路由规则信息和节点路由版本对灰度应用节点进行路由版本的服务调用。此外,本发明还涉及区块链技术,节点路由版本可存储于区块链中。
Description
技术领域
本发明涉及云传输领域,尤其涉及一种基于全站灰度的版本更新方法、装置、设备及存储介质。
背景技术
随着互联网技术的发展,各种互联网产品的应用需求逐渐增大,而具互联网产品有用户规模大、版本更新频繁的特点,为了应对该特点,一般都是采用按照每周一次的发布频率,通过正式网关环境将旧版本切换到新版本的版本更新方式。
但是,上述版本更新方式存在新旧版本兼容和***宕机的风险,并且,对于线上环境的应用,正式环境网关只有一个,难以有效实现业务方短平快特性的版本更新,以及无法获取到有效的数据反馈,并根据反馈的有效数据对版本进行精确的数据分析,因而,导致了无法快速而准确地进行版本更新。
发明内容
本发明提供一种基于全站灰度的版本更新方法、装置、设备及存储介质,解决了无法快速而准确地进行版本更新的问题。
本发明第一方面提供了一种基于全站灰度的版本更新方法,包括:
接收灰度应用节点发送的***更新请求,并判断所述***更新请求中的请求进入网关是否为灰度网关,所述***更新请求包括请求进入网关、请求进入方式、所述灰度应用节点的用户身份标识号和所述灰度应用节点的节点流量信息;
若所述请求进入网关为灰度网关,则将所述请求进入方式与预设优先请求方式进行对比分析,得到分析结果;
根据所述分析结果调用预置的灰度路由***,基于所述用户身份标识号,从预置灰度集群***中获取初始灰度集群信息和目标节点灰度计算规则;
通过所述灰度路由***,基于所述节点流量信息、所述初始灰度集群信息和所述目标节点灰度计算规则进行版本运算,得到节点路由版本;
获取与所述节点路由版本对应的目标灰度集群信息,并根据所述目标灰度集群信息,从预置路由规则***中获取目标路由规则信息;
通过所述预置路由规则***,基于所述目标路由规则信息和所述节点路由版本,对所述灰度应用节点进行路由版本的服务调用。
可选的,在本发明第一方面的第一种实现方式中,所述根据所述分析结果调用预置的灰度路由***,基于所述用户身份标识号,从预置灰度集群***中获取初始灰度集群信息和目标节点灰度计算规则,包括:
若所述分析结果为灰度请求方式或调用链请求方式,则对所述灰度应用节点进行路由信息分析,得到路由结果;
根据所述路由结果调用预置的灰度路由***,判断所述用户身份标识号是否存在预置灰度白名单中;
若所述用户身份标识号存在预置灰度白名单中,则通过所述用户身份标识号,对预置灰度集群***中的灰度集群信息进行检索,得到初始灰度集群信息;
创建所述用户身份标识号的规则信息查询语言,通过所述规则信息查询语言,对预置灰度集群***中的灰度计算规则信息进行检索,得到目标节点灰度计算规则。
可选的,在本发明第一方面的第二种实现方式中,所述若所述分析结果为灰度请求方式或调用链请求方式,则对所述灰度应用节点进行路由信息分析,得到路由结果,包括:
当所述分析结果为灰度请求方式或调用链请求方式时,获取所述灰度应用节点的初始线程存储类,并判断所述初始线程存储类中是否存在灰度路由信息;
若所述初始线程存储类中存在灰度路由信息,则返回灰度路由结果;
若所述初始线程存储类中不存在灰度路由信息,则通过预置的灰度路由节点调用预置的灰度接口,对所述初始线程存储类进行流量标识信息添加处理,得到目标线程存储类;
通过所述灰度接口,基于所述目标线程存储类执行灰度路由选择,得到路由选择结果;
将所述灰度路由结果和所述路由选择结果确定为路由结果。
可选的,在本发明第一方面的第三种实现方式中,所述通过所述灰度路由***,基于所述节点流量信息、所述初始灰度集群信息和所述目标节点灰度计算规则进行版本运算,得到节点路由版本,包括:
获取所述初始灰度集群信息对应的总流量信息,通过所述灰度路由***,基于所述节点灰度计算规则、所述节点流量信息和和所述总流量信息计算灰度百分比;
获取与所述初始灰度集群信息对应的版本配置数据,并基于所述灰度百分比和所述版本配置数据进行版本运算,得到节点路由版本。
可选的,在本发明第一方面的第四种实现方式中,所述若所述请求进入网关为灰度网关,则将所述请求进入方式与预设优先请求方式进行对比分析,得到分析结果,包括:
若所述请求进入网关为灰度网关,则判断所述请求进入方式是否为预设优先请求方式中的灰度请求方式或调用链接口请求方式;
若所述请求进入方式为预设优先选择请求方式中的灰度请求方式或调用链接口请求方式,则返回分析结果,所述分析结果用于指示灰度请求方式或调用链请求方式。
可选的,在本发明第一方面的第五种实现方式中,所述通过所述预置路由规则***,基于所述目标路由规则信息和所述节点路由版本,对所述灰度应用节点进行路由版本的服务调用之后,还包括:
通过所述节点路由版本,对所述目标灰度集群信息对应的灰度集群进行路由和灰度标识设置,并对所述目标灰度集群信息进行监听和更新。
可选的,在本发明第一方面的第六种实现方式中,所述通过所述节点路由版本,对所述目标灰度集群信息对应的灰度集群进行路由和灰度标识设置,并对所述目标灰度集群信息进行监听和更新,包括:
通过所述节点路由版本,对所述目标灰度集群信息对应的灰度集群进行路由和灰度标识设置,并获取所述预置灰度集群***的目标目录信息,所述目标目录信息包括灰度流目录信息和集群目录信息;
对所述目标目录信息进行监听,当监听到所述目标目录信息发生变化时,通过所述目标灰度集群信息,对所述预置灰度集群***中的灰度集群信息进行更新,并生成集群信息更新信息;
获取基于所述集群信息更新信息的应用名称变化信息,通过所述应用名称变化信息,对与所述目标灰度集群信息对应的服务集群和服务信息进行更新。
本发明第二方面提供了一种基于全站灰度的版本更新装置,包括:
判断模块,用于接收灰度应用节点发送的***更新请求,并判断所述***更新请求中的请求进入网关是否为灰度网关,所述***更新请求包括请求进入网关、请求进入方式、所述灰度应用节点的用户身份标识号和所述灰度应用节点的节点流量信息;
对比分析模块,用于若所述请求进入网关为灰度网关,则将所述请求进入方式与预设优先请求方式进行对比分析,得到分析结果;
第一获取模块,用于根据所述分析结果调用预置的灰度路由***,基于所述用户身份标识号,从预置灰度集群***中获取初始灰度集群信息和目标节点灰度计算规则;
运算模块,用于通过所述灰度路由***,基于所述节点流量信息、所述初始灰度集群信息和所述目标节点灰度计算规则进行版本运算,得到节点路由版本;
第二获取模块,用于获取与所述节点路由版本对应的目标灰度集群信息,并根据所述目标灰度集群信息,从预置路由规则***中获取目标路由规则信息;
调用模块,用于通过所述预置路由规则***,基于所述目标路由规则信息和所述节点路由版本,对所述灰度应用节点进行路由版本的服务调用。
可选的,在本发明第二方面的第一种实现方式中,所述第一获取模块包括:
路由分析单元,用于若所述分析结果为灰度请求方式或调用链请求方式,则对所述灰度应用节点进行路由信息分析,得到路由结果;
判断单元,用于根据所述路由结果调用预置的灰度路由***,判断所述用户身份标识号是否存在预置灰度白名单中;
第一检索单元,用于若所述用户身份标识号存在预置灰度白名单中,则通过所述用户身份标识号,对预置灰度集群***中的灰度集群信息进行检索,得到初始灰度集群信息;
第二检索单元,用于创建所述用户身份标识号的规则信息查询语言,通过所述规则信息查询语言,对预置灰度集群***中的灰度计算规则信息进行检索,得到目标节点灰度计算规则。
可选的,在本发明第二方面的第二种实现方式中,所述路由分析单元具体用于:
当所述分析结果为灰度请求方式或调用链请求方式时,获取所述灰度应用节点的初始线程存储类,并判断所述初始线程存储类中是否存在灰度路由信息;
若所述初始线程存储类中存在灰度路由信息,则返回灰度路由结果;
若所述初始线程存储类中不存在灰度路由信息,则通过预置的灰度路由节点调用预置的灰度接口,对所述初始线程存储类进行流量标识信息添加处理,得到目标线程存储类;
通过所述灰度接口,基于所述目标线程存储类执行灰度路由选择,得到路由选择结果;
将所述灰度路由结果和所述路由选择结果确定为路由结果。
可选的,在本发明第二方面的第三种实现方式中,所述运算模块具体用于:
获取所述初始灰度集群信息对应的总流量信息,通过所述灰度路由***,基于所述节点灰度计算规则、所述节点流量信息和和所述总流量信息计算灰度百分比;
获取与所述初始灰度集群信息对应的版本配置数据,并基于所述灰度百分比和所述版本配置数据进行版本运算,得到节点路由版本。
可选的,在本发明第二方面的第四种实现方式中,所述对比分析模块具体用于:
若所述请求进入网关为灰度网关,则判断所述请求进入方式是否为预设优先请求方式中的灰度请求方式或调用链接口请求方式;
若所述请求进入方式为预设优先选择请求方式中的灰度请求方式或调用链接口请求方式,则返回分析结果,所述分析结果用于指示灰度请求方式或调用链请求方式。
可选的,在本发明第二方面的第五种实现方式中,所述基于全站灰度的版本更新装置,还包括:
监听更新模块,用于通过所述节点路由版本,对所述目标灰度集群信息对应的灰度集群进行路由和灰度标识设置,并对所述目标灰度集群信息进行监听和更新。
可选的,在本发明第二方面的第六种实现方式中,所述监听更新模块具体用于:
通过所述节点路由版本,对所述目标灰度集群信息对应的灰度集群进行路由和灰度标识设置,并获取所述预置灰度集群***的目标目录信息,所述目标目录信息包括灰度流目录信息和集群目录信息;
对所述目标目录信息进行监听,当监听到所述目标目录信息发生变化时,通过所述目标灰度集群信息,对所述预置灰度集群***中的灰度集群信息进行更新,并生成集群信息更新信息;
获取基于所述集群信息更新信息的应用名称变化信息,通过所述应用名称变化信息,对与所述目标灰度集群信息对应的服务集群和服务信息进行更新。
本发明第三方面提供了一种基于全站灰度的版本更新设备,包括:存储器和至少一个处理器,所述存储器中存储有指令;所述至少一个处理器调用所述存储器中的所述指令,以使得所述基于全站灰度的版本更新设备执行上述的基于全站灰度的版本更新方法。
本发明的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述的基于全站灰度的版本更新方法。
本发明提供的技术方案中,接收灰度应用节点发送的***更新请求,并判断***更新请求中的请求进入网关是否为灰度网关,***更新请求包括请求进入网关、请求进入方式、灰度应用节点的用户身份标识号和灰度应用节点的节点流量信息;若请求进入网关为灰度网关,则将请求进入方式与预设优先请求方式进行对比分析,得到分析结果;根据分析结果调用预置的灰度路由***,基于用户身份标识号,从预置灰度集群***中获取初始灰度集群信息和目标节点灰度计算规则;通过灰度路由***,基于节点流量信息、初始灰度集群信息和目标节点灰度计算规则进行版本运算,得到节点路由版本;获取与节点路由版本对应的目标灰度集群信息,并根据目标灰度集群信息,从预置路由规则***中获取目标路由规则信息;通过预置路由规则***,基于目标路由规则信息和节点路由版本,对灰度应用节点进行路由版本的服务调用。本发明实施例中,通过灰度发布的形式,保证了更新版本对应的整体***的稳定,避免了新旧版本兼容和***宕机的风险,能够有效地实现业务方短平快特性的版本更新,能够有效地根据灰度应用节点的***更新请求,对节点路由版本进行精确的数据分析和运算,提高了版本更新的速度和准确性,从而解决了无法快速而准确地进行版本更新的问题。
附图说明
图1为本发明实施例中基于全站灰度的版本更新方法的一个实施例示意图;
图2为本发明实施例中基于全站灰度的版本更新方法的另一个实施例示意图;
图3为本发明实施例中基于全站灰度的版本更新装置的一个实施例示意图;
图4为本发明实施例中基于全站灰度的版本更新装置的另一个实施例示意图;
图5为本发明实施例中基于全站灰度的版本更新设备的一个实施例示意图。
具体实施方式
本发明实施例提供了一种基于全站灰度的版本更新方法、装置、设备及存储介质,解决了无法快速而准确地进行版本更新的问题。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”或“具有”及其任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为便于理解,下面对本发明实施例的具体流程进行描述,请参阅图1,本发明实施例中基于全站灰度的版本更新方法的一个实施例包括:
101、接收灰度应用节点发送的***更新请求,并判断***更新请求中的请求进入网关是否为灰度网关,***更新请求包括请求进入网关、请求进入方式、灰度应用节点的用户身份标识号和灰度应用节点的节点流量信息。
可以理解的是,本发明的执行主体可以为基于全站灰度的版本更新装置,还可以是终端或者服务器,具体此处不做限定。本发明实施例以服务器为执行主体为例进行说明。
本实施例中,以灰度***对应的服务器为执行主体为例说明,灰度***包含灰度路由***、灰度集群***和路由规则***,灰度路由***、灰度集群***和路由规则***之间的连接关系为串联关系。其中,灰度应用节点为预先经过灰度标记的节点,一个灰度应用节点对应一个灰度客户端,该灰度客户端可为移动端。各灰度应用节点将各自的上报信息,上报到预置的灰度集群***中,服务器通过灰度集群***根据该上报信息,对各灰度应用节点进行灰度策略配置、灰度分组和灰度集群部署,得到初始配置信息,其中,该灰度策略配置中的灰度策略可包括应用灰度策略、功能灰度策略和展示位灰度策略;对各灰度应用节点的灰度计算规则进行配置,得到目标节点灰度计算规则,其中,该上报信息包括灰度应用节点对应的灰度客户端的用户流量标识信息(即节点流量信息)和用户身份标识号,该用户流量标识信息是动态变化的,且由业务决定;服务器通过灰度集群***,将初始配置信息和目标节点灰度计算规则确定为目标配置信息,并将该目标配置信息下发到各灰度应用节点。
其中,灰度***包括灰度网关和正式环境网关。灰度客户端对应的灰度应用节点,通过预置的灰度路由发送***更新请求,当服务器通过预置的灰度路由接收到该***更新请求时,对该***更新请求进行解析,得到解析信息,该解析信息包括请求进入网关、请求进入方式,以及预置灰度应用节点的用户身份标识号和灰度应用节点的节点流量信息;服务器判断解析信息中的请求进入网关是否为灰度网关,若是,则将请求进入方式与预设优先请求方式进行对比分析,得到分析结果;若否,则判断请求进入网关是否为正式环境网关,若是,则维持当前的路由规则不变,即不对当前的路由规则进行更新,并通过当前的路由规则进行基于路由版本的路由(更新),若否,则停止执行。
102、若请求进入网关为灰度网关,则将请求进入方式与预设优先请求方式进行对比分析,得到分析结果。
其中,请求进入方式为请求进入的方式,例如:请求进入的方式为从灰度域名进入的方式。若请求进入网关为灰度网关,则服务器判断***更新请求的请求进入方式是否为预设优先请求方式,该优先选择请求方式为从灰度域名(或者从灰度标签tag)进入的灰度请求方式或调用链的接口请求方式(即调用链接口请求方式),若是,则返回灰度请求方式或调用链请求方式,若否,则返回表示否的字段值,将灰度请求方式或调用链请求方式或表示否的字段值确定为分析结果。其中,服务器判断***更新请求的请求进入方式是否为预设优先请求方式的执行过程可为:服务器获取***更新请求的请求进入方式的第一关键字符,以及预设优先请求方式的第二关键字符,判断第一关键字符是否与第二关键字符相同。
103、根据分析结果调用预置的灰度路由***,基于用户身份标识号,从预置灰度集群***中获取初始灰度集群信息和目标节点灰度计算规则。
当分析结果不为灰度请求方式或调用链请求方式时,服务器调用预置的非灰度执行***,通过该非灰度执行***,基于***更新请求中的用户身份标识号和节点流量信息进行运算,得到待更新的版本,并根据待更新的版本对灰度应用节点的当前版本进行更新。当分析结果为灰度请求方式或调用链请求方式,且服务器分析到预置的灰度路由***中存在灰度应用节点的路由信息时,调用预置的灰度路由***,生成用户身份标识号的哈希值,通过该哈希值对预置灰度集群***中的灰度集群信息和节点灰度计算规则进行检索,从而得到初始灰度集群信息和目标节点灰度计算规则。
其中,目标节点灰度计算规则用于对灰度应用节点的待更新的路由版本进行运算。预置灰度集群***包括灰度集群和默认集群、灰度集群对应的灰度集群信息以及默认集群对应的默认集群信息,当无法从预置灰度集群***中获取初始灰度集群信息,即无法匹配到对应的灰度集群时,根据默认集群信息对默认集群的微服务进行寻址。
104、通过灰度路由***,基于节点流量信息、初始灰度集群信息和目标节点灰度计算规则进行版本运算,得到节点路由版本。
例如:服务器通过灰度路由***,获取***更新请求中的节点灰度配置信息,基于节点流量信息和初始灰度集群信息进行版本运算得到待更新的路由版本,基于目标节点灰度计算规则和节点灰度配置信息,计算版本更新的灰度百分比,基于版本更新的灰度百分比以及待更新的路由版本进行版本运算,得到灰度应用节点对应的节点路由版本。
进一步地,服务器获取初始灰度集群信息对应的总流量信息,通过该灰度路由***,对总流量信息和节点流量信息进行百分比运算,得到灰度百分比,并基于用户身份标识号加载初始灰度集群信息对应的版本配置数据,并根据灰度百分比和版本配置数据获取节点路由版本。
105、获取与节点路由版本对应的目标灰度集群信息,并根据目标灰度集群信息,从预置路由规则***中获取目标路由规则信息。
服务器通过灰度路由***运算得到节点路由版本后,通过灰度路由***根据该节点路由版本,对预置的灰度集群的分组进行更新,并对应更新灰度集群信息。服务器通过灰度路由***基于节点路由版本,对更新后的灰度集群信息进行检索,得到目标灰度集群信息,并通过目标灰度集群信息,对预置路由规则***进行检索,得到对应的目标路由规则信息。其中,灰度集群***用于管理控制台进行查询和管理,如:哪些灰度应用节点组成了某个灰度版本的灰度集群,以及对灰度集群需要推送给该灰度应用节点的路由规则信息的控制。
106、通过预置路由规则***,基于目标路由规则信息和节点路由版本,对灰度应用节点进行路由版本的服务调用。
其中,预置路由规则***用于对路由规则进行增删改查、实时下发、历史修改记录查询、有效测试、以应用为维度的信息管理以及AND/OR计算方案展示。服务器预先获取应用编辑信息或默认路由规则编辑信息,通过应用编辑信息或默认路由规则编辑信息,对预置路由规则***中的规则信息进行编辑更新,得到当前规则信息,拷贝预置的临时版本Sf版本(为规则正式发布生效前的临时版本,用于审核、确认和测试)至当前规则信息,以触发路由规则的下发,当服务器获得目标路由规则信息和节点路由版本,并获得灰度应用节点对应的客户应用规则版本时,将节点路由版本与客户应用规则版本进行对比,并对灰度应用节点进行路由版本的服务调用,并更新目标路由规则信息的路由下发状态。
本发明实施例中,通过灰度发布的形式,保证了更新版本对应的整体***的稳定,避免了新旧版本兼容和***宕机的风险,能够有效地实现业务方短平快特性的版本更新,能够有效地根据灰度应用节点的***更新请求,对节点路由版本进行精确的数据分析和运算,提高了版本更新的速度和准确性,从而解决了无法快速而准确地进行版本更新的问题。
请参阅图2,本发明实施例中基于全站灰度的版本更新方法的另一个实施例包括:
201、接收灰度应用节点发送的***更新请求,并判断***更新请求中的请求进入网关是否为灰度网关,***更新请求包括请求进入网关、请求进入方式、灰度应用节点的用户身份标识号和灰度应用节点的节点流量信息。
该步骤201的执行过程与上述步骤101的执行过程类似,在此不再赘述。
该步骤201之前,服务器获取灰度应用节点的灰度注册信息,并根据灰度注册信息,对灰度应用节点进行灰度分组,得到分组后的灰度应用节点,注册信息包括用户身份标识号和灰度配置信息;获取与分组后的灰度应用节点对应的目标灰度集群环境,并将分组后的灰度应用节点部署至预置灰度集群***中目标灰度集群的目标灰度集群环境。
当服务器检测到灰度服务应用的状态为启动状态时,获取灰度服务应用的应用数据,并判断应用数据中是否存在经过配置的灰度标签信息,若是,则发送指令给灰度应用节点对应的灰度客户端,以使得灰度应用节点对应的灰度客户端,基于该指令启动灰度客户端中对应的应用,并获取用户输入的灰度注册信息,并将该灰度注册信息发送至服务器,当服务器接收到该灰度应用节点的灰度注册信息时,将灰度注册信息中的用户身份标识号分组到对应的灰度区间,以及根据灰度配置信息获取对应的灰度版本,将灰度应用节点分组到与该灰度版本对应的目标灰度集群中,得到分组后的灰度应用节点,获取预置灰度集群***中目标灰度集群对应的目标灰度集群环境,并将分组后的灰度应用节点部署至目标灰度集群环境,以实现将灰度客户端的应用注册到对应的目标灰度集群中,便于后续根据灰度客户端,有针对性地进行需更新的灰度路由版本的数据分析。
202、若请求进入网关为灰度网关,则将请求进入方式与预设优先请求方式进行对比分析,得到分析结果。
具体地,若请求进入网关为灰度网关,则服务器判断请求进入方式是否为预设优先请求方式中的灰度请求方式或调用链接口请求方式;若请求进入方式为预设优先选择请求方式中的灰度请求方式或调用链接口请求方式,则返回分析结果,分析结果用于指示灰度请求方式或调用链请求方式。
其中,调用链接口请求方式用于指示上一调用链节点的路由状态为路由到预设非灰度服务集群中,且***更新请求由当前调用链节点发出。预设优先请求方式包括灰度请求方式和调用链接口请求方式。
灰度请求方式或调用链接口请求方式的判断顺序不进行限制,例如:灰度请求方式或调用链接口请求方式的判断顺序对应的一个执行过程可为:若请求进入网关为灰度网关,则服务器判断请求进入方式是否为预设优先请求方式中的灰度请求方式,若是,则返回灰度请求方式;若否,则判断请求进入方式是否为调用链接口请求方式,若是,则返回调用链请求方式,并将灰度请求方式和调用链请求方式确定为分析结果,若否,则停止执行;
灰度请求方式或调用链接口请求方式的判断顺序对应的另一个执行过程可为:若请求进入网关为灰度网关,则服务器判断请求进入方式是否为预设优先请求方式中的调用链接口请求方式,若是,则返回调用链请求方式;若否,则判断请求进入方式是否为灰度请求方式,若是,则返回灰度请求方式,并将调用链请求方式和灰度请求方式确定为分析结果,若否,则停止执行。
通过将请求进入方式与预设优先请求方式的判断分析,能够实现多个网关的版本数据分析,从而提高版本更新的效率和准确性。
203、根据分析结果调用预置的灰度路由***,基于用户身份标识号,从预置灰度集群***中获取初始灰度集群信息和目标节点灰度计算规则。
具体地,若分析结果为灰度请求方式或调用链请求方式,则服务器对灰度应用节点进行路由信息分析,得到路由结果;根据路由结果调用预置的灰度路由***,判断用户身份标识号是否存在预置灰度白名单中;若用户身份标识号存在预置灰度白名单中,则通过用户身份标识号,对预置灰度集群***中的灰度集群信息进行检索,得到初始灰度集群信息;创建用户身份标识号的规则信息查询语言,通过规则信息查询语言,对预置灰度集群***中的灰度计算规则信息进行检索,得到目标节点灰度计算规则。
若分析结果为灰度请求方式或调用链请求方式,则服务器判断预置的灰度路由***中是否存在灰度应用节点对应的路由信息,得到路由结果,该路由结果包括表示“是”或“否”的字段和字段值、灰度路由结果和路由选择结果。若路由结果为表示“是”的字段和字段值、灰度路由结果或路由选择结果时,则服务器调用预置的灰度路由***,判断用户身份标识号是否在预置灰度白名单中,若是,则返回是的结果,若否,则返回否的结果,并将是的结果或否的结果确定为目标结果;若目标结果为是,则服务器获取灰度应用节点的节点灰度配置信息,根据用户身份标识号和节点灰度配置信息,对预置灰度集群***中的灰度集群信息进行检索,得到对应的初始灰度集群信息;若目标结果为否,则调用预置的非灰度执行***,通过该非灰度执行***,基于***更新请求中的用户身份标识号和节点流量信息进行运算,得到待更新的版本,并根据待更新的版本对灰度应用节点的当前版本进行更新;若路由结果为表示“否”的字段和字段值,则停止执行;当分析结果不为灰度请求结果或调用链请求结果时,服务器调用预置的非灰度执行***,通过该非灰度执行***,基于***更新请求中的用户身份标识号和节点流量信息进行运算,得到待更新的版本,并根据待更新的版本对灰度应用节点的当前版本进行更新。
服务器创建用户身份标识号的第一查询结构化查询语言,并创建灰度计算规则信息查询的第二查询结构化查询语言,将第一查询结构化查询语言和第二查询结构化查询语言进行拼接,得到规则信息查询语言,通过该规则信息查询语言,对预置灰度集群***中的灰度计算规则信息进行检索,得到目标节点灰度计算规则。通过路由信息分析、灰度集群信息检索和灰度计算规则信息检索的执行过程,提高了初始灰度集群信息和目标节点灰度计算规则的准确性。
具体地,当分析结果为灰度请求方式或调用链请求方式时,服务器获取灰度应用节点的初始线程存储类,并判断初始线程存储类中是否存在灰度路由信息;若初始线程存储类中存在灰度路由信息,则返回灰度路由结果;若初始线程存储类中不存在灰度路由信息,则通过预置的灰度路由节点调用预置的灰度接口,对初始线程存储类进行流量标识信息添加处理,得到目标线程存储类;通过灰度接口,基于目标线程存储类执行灰度路由选择,得到路由选择结果;将灰度路由结果和路由选择结果确定为路由结果。
例如,当分析结果为灰度请求方式或调用链请求方式时,服务器获取灰度应用节点的初始线程存储类threadLocal,并判断初始线程存储类threadLocal中是否存在灰度路由信息,若是,则返回灰度路由结果,该灰度路由结果包括“是”和存在的灰度路由信息;若否,则服务器对灰度应用节点进行流量标识,得到流量标识信息,通过预置的灰度路由节点,调用预置的灰度接口shunt api,将流量标识信息设置到初始线程存储类threadLocal中,从而得到目标线程存储类,并通过灰度接口shunt api,基于目标线程存储类,判断预置数据库是否存在灰度应用节点的应用路由配置信息,若是,则获取灰度应用节点的应用路由配置信息,若否,则获取***默认路由(泛指***正式路由)的默认路由配置信息,并启动预置的优先级,根据应用路由配置信息或默认路由配置信息对预置的路由进行基于触发点的条件匹配,从而得到路由选择结果,路由选择结果为当匹配到相应触发点后的路由输出结果,将灰度路由结果和路由选择结果确定为路由分析结果,其中,预置的优先级:表示优先级的优先级字段的数据格式为整形,优先级字段的值越小,代表其优先级越高。
204、通过灰度路由***,基于节点流量信息、初始灰度集群信息和目标节点灰度计算规则进行版本运算,得到节点路由版本。
具体地,服务器获取初始灰度集群信息对应的总流量信息,通过灰度路由***,基于节点灰度计算规则、节点流量信息和和总流量信息计算灰度百分比;获取与初始灰度集群信息对应的版本配置数据,并基于灰度百分比和版本配置数据进行版本运算,得到节点路由版本。
服务器获取初始灰度集群信息对应的总流量信息,并通过灰度路由***,基于节点灰度计算规则,对节点流量信息和和总流量信息进行取模运算,得到灰度百分比;判断用户身份标识号是否存在预置的灰度区间中,若是,则加载与初始灰度集群信息对应的版本配置数据,若否,则不执行;获取***更新请求中的节点灰度配置信息,根据灰度百分比、版本配置数据和节点灰度配置信息,对预置的规则正式发布版本进行版本统计分析,从而得到节点路由版本。
205、获取与节点路由版本对应的目标灰度集群信息,并根据目标灰度集群信息,从预置路由规则***中获取目标路由规则信息。
206、通过预置路由规则***,基于目标路由规则信息和节点路由版本,对灰度应用节点进行路由版本的服务调用。
该步骤205-206的执行过程与上述步骤105-106的执行过程类似,在此不再赘述。
207、通过节点路由版本,对目标灰度集群信息对应的灰度集群进行路由和灰度标识设置,并对目标灰度集群信息进行监听和更新。
具体地,服务器通过节点路由版本,对目标灰度集群信息对应的灰度集群进行路由和灰度标识设置,并获取预置灰度集群***的目标目录信息,目标目录信息包括灰度流目录信息和集群目录信息;对目标目录信息进行监听,当监听到目标目录信息发生变化时,通过目标灰度集群信息,对预置灰度集群***中的灰度集群信息进行更新,并生成集群信息更新信息;获取基于集群信息更新信息的应用名称变化信息,通过应用名称变化信息,对与目标灰度集群信息对应的服务集群和服务信息进行更新。
服务器通过节点路由版本,获取与节点路由版本对应的灰度服务节点,通过灰度服务节点对目标灰度集群信息对应的灰度集群进行路由,得到路由信息,通过开源分布式服务框架dubbo将路由信息透传到灰度应用节点的下一个节点,并调用预置的灰度接口,对路由的灰度集群进行灰度标识设置。
服务器获取预置灰度集群***的目标目录信息(灰度流shunt目录信息和集群cluster目录信息),并通过预置的监听和变化通知机制,对目标目录信息进行监听,当监听到目标目录信息发生变化,并接收到目录变化通知时,对预置灰度集群***中的灰度集群信息进行更新,并生成集群信息更新信息,以提供后续的历史查询,当通过预置的监听和变化通知机制,监听到基于集群信息更新信息的应用名称变化信息,并接收到名称变化通知时,该应用名称变化信息包括(灰度流shunt应用名称变化信息和集群cluster应用名称变化信息),对与目标灰度集群信息对应的服务集群和服务信息进行更新,并生成服务更新信息,以提供后续的历史查询。
其中,该监听和变化通知机制可为事件***zookeeper watcher机制,预置灰度集群***通过事件***zookeeper watcher机制,能够实现支持客户端节点注册发现、数据写入功能、节点数据监听功能和父节点监听功能,如:服务端通过预置的灰度客户端注册的临时节点,以***方式接受客户端数据;同理,客户端通过监听服务端注册的永久节点接收服务端推送的数据。
可预置灰度集群***的管理控制台得到的信息如下:各个灰度节点信息;以应用为维度管理的各个灰度节点;节点状态显示(节点状态包括在线状态online和下线状态offline):(online,offline)、offline显示和offline时长;对于offline超过一定时长的机器,从服务集群中删除的信息;灰度集群展示信息和状态变化历史信息;某个灰度版本对应的应用组成的灰度集群标识信息;某个应用的灰度服务信息。
通过节点路由版本,对目标灰度集群信息对应的灰度集群进行路由和灰度标识设置,并对与目标灰度集群信息进行监听和更新管理,能够在不影响***稳定性的基础上及时获取用户对路由版本更新的意见反馈信息,有利于及时完善路由版本的产品功能,以及及时提升路由版本的产品质量,并且有利于新业务快速试错,提升不同用户群对不同类目商品的搜索满意度,进一步有利于研发流程的加快、业务方短平快特性的版本更新和版本发布风险的一定程度的规避。
本发明实施例中,不仅通过灰度发布的形式,保证了更新版本对应的整体***的稳定,避免了新旧版本兼容和***宕机的风险,能够有效地实现业务方短平快特性的版本更新,能够有效地根据灰度应用节点的***更新请求,对节点路由版本进行精确的数据分析和运算,提高了版本更新的速度和准确性,从而解决了无法快速而准确地进行版本更新的问题,还能够在不影响***稳定性的基础上及时获取用户对路由版本更新的意见反馈信息,有利于及时完善路由版本的产品功能,以及及时提升路由版本的产品质量,并且有利于新业务快速试错,进一步有利于研发流程的加快、业务方短平快特性的版本更新和版本发布风险的一定程度的规避。
上面对本发明实施例中基于全站灰度的版本更新方法进行了描述,下面对本发明实施例中基于全站灰度的版本更新装置进行描述,请参阅图3,本发明实施例中基于全站灰度的版本更新装置一个实施例包括:
判断模块301,用于接收灰度应用节点发送的***更新请求,并判断***更新请求中的请求进入网关是否为灰度网关,***更新请求包括请求进入网关、请求进入方式、灰度应用节点的用户身份标识号和灰度应用节点的节点流量信息;
对比分析模块302,用于若请求进入网关为灰度网关,则将请求进入方式与预设优先请求方式进行对比分析,得到分析结果;
第一获取模块303,用于根据分析结果调用预置的灰度路由***,基于用户身份标识号,从预置灰度集群***中获取初始灰度集群信息和目标节点灰度计算规则;
运算模块304,用于通过灰度路由***,基于节点流量信息、初始灰度集群信息和目标节点灰度计算规则进行版本运算,得到节点路由版本;
第二获取模块305,用于获取与节点路由版本对应的目标灰度集群信息,并根据目标灰度集群信息,从预置路由规则***中获取目标路由规则信息;
调用模块306,用于通过预置路由规则***,基于目标路由规则信息和节点路由版本,对灰度应用节点进行路由版本的服务调用。
上述基于全站灰度的版本更新装置中各个模块的功能实现与上述基于全站灰度的版本更新方法实施例中各步骤相对应,其功能和实现过程在此处不再一一赘述。
本发明实施例中,通过灰度发布的形式,保证了更新版本对应的整体***的稳定,避免了新旧版本兼容和***宕机的风险,能够有效地实现业务方短平快特性的版本更新,能够有效地根据灰度应用节点的***更新请求,对节点路由版本进行精确的数据分析和运算,提高了版本更新的速度和准确性,从而解决了无法快速而准确地进行版本更新的问题。
请参阅图4,本发明实施例中基于全站灰度的版本更新装置的另一个实施例包括:
判断模块301,用于接收灰度应用节点发送的***更新请求,并判断***更新请求中的请求进入网关是否为灰度网关,***更新请求包括请求进入网关、请求进入方式、灰度应用节点的用户身份标识号和灰度应用节点的节点流量信息;
对比分析模块302,用于若请求进入网关为灰度网关,则将请求进入方式与预设优先请求方式进行对比分析,得到分析结果;
第一获取模块303,用于根据分析结果调用预置的灰度路由***,基于用户身份标识号,从预置灰度集群***中获取初始灰度集群信息和目标节点灰度计算规则;
运算模块304,用于通过灰度路由***,基于节点流量信息、初始灰度集群信息和目标节点灰度计算规则进行版本运算,得到节点路由版本;
第二获取模块305,用于获取与节点路由版本对应的目标灰度集群信息,并根据目标灰度集群信息,从预置路由规则***中获取目标路由规则信息;
调用模块306,用于通过预置路由规则***,基于目标路由规则信息和节点路由版本,对灰度应用节点进行路由版本的服务调用;
监听更新模块307,用于通过节点路由版本,对目标灰度集群信息对应的灰度集群进行路由和灰度标识设置,并对目标灰度集群信息进行监听和更新。
可选的,第一获取模块303包括:
路由分析单元3031,用于若分析结果为灰度请求方式或调用链请求方式,则对灰度应用节点进行路由信息分析,得到路由结果;
判断单元3032,用于根据路由结果调用预置的灰度路由***,判断用户身份标识号是否存在预置灰度白名单中;
第一检索单元3033,用于若用户身份标识号存在预置灰度白名单中,则通过用户身份标识号,对预置灰度集群***中的灰度集群信息进行检索,得到初始灰度集群信息;
第二检索单元3034,用于创建用户身份标识号的规则信息查询语言,通过规则信息查询语言,对预置灰度集群***中的灰度计算规则信息进行检索,得到目标节点灰度计算规则。
可选的,路由分析单元3031还可以具体用于:
当分析结果为灰度请求方式或调用链请求方式时,获取灰度应用节点的初始线程存储类,并判断初始线程存储类中是否存在灰度路由信息;若初始线程存储类中存在灰度路由信息,则返回灰度路由结果;若初始线程存储类中不存在灰度路由信息,则通过预置的灰度路由节点调用预置的灰度接口,对初始线程存储类进行流量标识信息添加处理,得到目标线程存储类;通过灰度接口,基于目标线程存储类执行灰度路由选择,得到路由选择结果;将灰度路由结果和路由选择结果确定为路由结果。
可选的,运算模块304还可以具体用于:
获取初始灰度集群信息对应的总流量信息,通过灰度路由***,基于节点灰度计算规则、节点流量信息和和总流量信息计算灰度百分比;获取与初始灰度集群信息对应的版本配置数据,并基于灰度百分比和版本配置数据进行版本运算,得到节点路由版本。
可选的,对比分析模块302还可以具体用于:
若请求进入网关为灰度网关,则判断请求进入方式是否为预设优先请求方式中的灰度请求方式或调用链接口请求方式;若请求进入方式为预设优先选择请求方式中的灰度请求方式或调用链接口请求方式,则返回分析结果,分析结果用于指示灰度请求方式或调用链请求方式。
可选的,监听更新模块307还可以具体用于:
通过节点路由版本,对目标灰度集群信息对应的灰度集群进行路由和灰度标识设置,并获取预置灰度集群***的目标目录信息,目标目录信息包括灰度流目录信息和集群目录信息;对目标目录信息进行监听,当监听到目标目录信息发生变化时,通过目标灰度集群信息,对预置灰度集群***中的灰度集群信息进行更新,并生成集群信息更新信息;获取基于集群信息更新信息的应用名称变化信息,通过应用名称变化信息,对与目标灰度集群信息对应的服务集群和服务信息进行更新。
上述基于全站灰度的版本更新装置中各模块和各单元的功能实现与上述基于全站灰度的版本更新方法实施例中各步骤相对应,其功能和实现过程在此处不再一一赘述。
本发明实施例中,不仅通过灰度发布的形式,保证了更新版本对应的整体***的稳定,避免了新旧版本兼容和***宕机的风险,能够有效地实现业务方短平快特性的版本更新,能够有效地根据灰度应用节点的***更新请求,对节点路由版本进行精确的数据分析和运算,提高了版本更新的速度和准确性,从而解决了无法快速而准确地进行版本更新的问题,还能够在不影响***稳定性的基础上及时获取用户对路由版本更新的意见反馈信息,有利于及时完善路由版本的产品功能,以及及时提升路由版本的产品质量,并且有利于新业务快速试错,进一步有利于研发流程的加快、业务方短平快特性的版本更新和版本发布风险的一定程度的规避。
上面图3和图4从模块化功能实体的角度对本发明实施例中的基于全站灰度的版本更新装置进行详细描述,下面从硬件处理的角度对本发明实施例中基于全站灰度的版本更新设备进行详细描述。
图5是本发明实施例提供的一种基于全站灰度的版本更新设备的结构示意图,该基于全站灰度的版本更新设备500可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processing units,CPU)510(例如,一个或一个以上处理器)和存储器520,一个或一个以上存储应用程序533或数据532的存储介质530(例如一个或一个以上海量存储设备)。其中,存储器520和存储介质530可以是短暂存储或持久存储。存储在存储介质530的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对基于全站灰度的版本更新设备500中的一系列指令操作。更进一步地,处理器510可以设置为与存储介质530通信,在基于全站灰度的版本更新设备500上执行存储介质530中的一系列指令操作。
基于全站灰度的版本更新设备500还可以包括一个或一个以上电源540,一个或一个以上有线或无线网络接口550,一个或一个以上输入输出接口560,和/或,一个或一个以上操作***531,例如Windows Serve,Mac OS X,Unix,Linux,FreeBSD等等。本领域技术人员可以理解,图5示出的基于全站灰度的版本更新设备结构并不构成对基于全站灰度的版本更新设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
本申请还提供一种基于全站灰度的版本更新设备,包括:存储器和至少一个处理器,所述存储器中存储有指令,所述存储器和所述至少一个处理器通过线路互连;所述至少一个处理器调用所述存储器中的所述指令,以使得所述基于全站灰度的版本更新设备执行上述基于全站灰度的版本更新方法中的步骤。本发明还提供一种计算机可读存储介质,该计算机可读存储介质可以为非易失性计算机可读存储介质,该计算机可读存储介质也可以为易失性计算机可读存储介质,计算机可读存储介质中存储有指令,当指令在计算机上运行时,使得计算机执行基于全站灰度的版本更新方法的步骤。
进一步地,计算机可读存储介质可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序等;存储数据区可存储根据区块链节点的使用所创建的数据等。
本发明所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种基于全站灰度的版本更新方法,其特征在于,所述基于全站灰度的版本更新方法包括:
接收灰度应用节点发送的***更新请求,并判断所述***更新请求中的请求进入网关是否为灰度网关,所述***更新请求包括请求进入网关、请求进入方式、所述灰度应用节点的用户身份标识号和所述灰度应用节点的节点流量信息;
若所述请求进入网关为灰度网关,则将所述请求进入方式与预设优先请求方式进行对比分析,得到分析结果;
根据所述分析结果调用预置的灰度路由***,基于所述用户身份标识号,从预置灰度集群***中获取初始灰度集群信息和目标节点灰度计算规则;
通过所述灰度路由***,基于所述节点流量信息、所述初始灰度集群信息和所述目标节点灰度计算规则进行版本运算,得到节点路由版本;
获取与所述节点路由版本对应的目标灰度集群信息,并根据所述目标灰度集群信息,从预置路由规则***中获取目标路由规则信息;
通过所述预置路由规则***,基于所述目标路由规则信息和所述节点路由版本,对所述灰度应用节点进行路由版本的服务调用。
2.根据权利要求1所述的基于全站灰度的版本更新方法,其特征在于,所述根据所述分析结果调用预置的灰度路由***,基于所述用户身份标识号,从预置灰度集群***中获取初始灰度集群信息和目标节点灰度计算规则,包括:
若所述分析结果为灰度请求方式或调用链请求方式,则对所述灰度应用节点进行路由信息分析,得到路由结果;
根据所述路由结果调用预置的灰度路由***,判断所述用户身份标识号是否存在预置灰度白名单中;
若所述用户身份标识号存在预置灰度白名单中,则通过所述用户身份标识号,对预置灰度集群***中的灰度集群信息进行检索,得到初始灰度集群信息;
创建所述用户身份标识号的规则信息查询语言,通过所述规则信息查询语言,对预置灰度集群***中的灰度计算规则信息进行检索,得到目标节点灰度计算规则。
3.根据权利要求2所述的基于全站灰度的版本更新方法,其特征在于,所述若所述分析结果为灰度请求方式或调用链请求方式,则对所述灰度应用节点进行路由信息分析,得到路由结果,包括:
当所述分析结果为灰度请求方式或调用链请求方式时,获取所述灰度应用节点的初始线程存储类,并判断所述初始线程存储类中是否存在灰度路由信息;
若所述初始线程存储类中存在灰度路由信息,则返回灰度路由结果;
若所述初始线程存储类中不存在灰度路由信息,则通过预置的灰度路由节点调用预置的灰度接口,对所述初始线程存储类进行流量标识信息添加处理,得到目标线程存储类;
通过所述灰度接口,基于所述目标线程存储类执行灰度路由选择,得到路由选择结果;
将所述灰度路由结果和所述路由选择结果确定为路由结果。
4.根据权利要求1所述的基于全站灰度的版本更新方法,其特征在于,所述通过所述灰度路由***,基于所述节点流量信息、所述初始灰度集群信息和所述目标节点灰度计算规则进行版本运算,得到节点路由版本,包括:
获取所述初始灰度集群信息对应的总流量信息,通过所述灰度路由***,基于所述节点灰度计算规则、所述节点流量信息和和所述总流量信息计算灰度百分比;
获取与所述初始灰度集群信息对应的版本配置数据,并基于所述灰度百分比和所述版本配置数据进行版本运算,得到节点路由版本。
5.根据权利要求1所述的基于全站灰度的版本更新方法,其特征在于,所述若所述请求进入网关为灰度网关,则将所述请求进入方式与预设优先请求方式进行对比分析,得到分析结果,包括:
若所述请求进入网关为灰度网关,则判断所述请求进入方式是否为预设优先请求方式中的灰度请求方式或调用链接口请求方式;
若所述请求进入方式为预设优先选择请求方式中的灰度请求方式或调用链接口请求方式,则返回分析结果,所述分析结果用于指示灰度请求方式或调用链请求方式。
6.根据权利要求1-5中任一项所述的基于全站灰度的版本更新方法,其特征在于,所述通过所述预置路由规则***,基于所述目标路由规则信息和所述节点路由版本,对所述灰度应用节点进行路由版本的服务调用之后,还包括:
通过所述节点路由版本,对所述目标灰度集群信息对应的灰度集群进行路由和灰度标识设置,并对所述目标灰度集群信息进行监听和更新。
7.根据权利要求6所述的基于全站灰度的版本更新方法,其特征在于,所述通过所述节点路由版本,对所述目标灰度集群信息对应的灰度集群进行路由和灰度标识设置,并对所述目标灰度集群信息进行监听和更新,包括:
通过所述节点路由版本,对所述目标灰度集群信息对应的灰度集群进行路由和灰度标识设置,并获取所述预置灰度集群***的目标目录信息,所述目标目录信息包括灰度流目录信息和集群目录信息;
对所述目标目录信息进行监听,当监听到所述目标目录信息发生变化时,通过所述目标灰度集群信息,对所述预置灰度集群***中的灰度集群信息进行更新,并生成集群信息更新信息;
获取基于所述集群信息更新信息的应用名称变化信息,通过所述应用名称变化信息,对与所述目标灰度集群信息对应的服务集群和服务信息进行更新。
8.一种基于全站灰度的版本更新装置,其特征在于,所述基于全站灰度的版本更新装置包括:
判断模块,用于接收灰度应用节点发送的***更新请求,并判断所述***更新请求中的请求进入网关是否为灰度网关,所述***更新请求包括请求进入网关、请求进入方式、所述灰度应用节点的用户身份标识号和所述灰度应用节点的节点流量信息;
对比分析模块,用于若所述请求进入网关为灰度网关,则将所述请求进入方式与预设优先请求方式进行对比分析,得到分析结果;
第一获取模块,用于根据所述分析结果调用预置的灰度路由***,基于所述用户身份标识号,从预置灰度集群***中获取初始灰度集群信息和目标节点灰度计算规则;
运算模块,用于通过所述灰度路由***,基于所述节点流量信息、所述初始灰度集群信息和所述目标节点灰度计算规则进行版本运算,得到节点路由版本;
第二获取模块,用于获取与所述节点路由版本对应的目标灰度集群信息,并根据所述目标灰度集群信息,从预置路由规则***中获取目标路由规则信息;
调用模块,用于通过所述预置路由规则***,基于所述目标路由规则信息和所述节点路由版本,对所述灰度应用节点进行路由版本的服务调用。
9.一种基于全站灰度的版本更新设备,其特征在于,所述基于全站灰度的版本更新设备包括:存储器和至少一个处理器,所述存储器中存储有指令;
所述至少一个处理器调用所述存储器中的所述指令,以使得所述基于全站灰度的版本更新设备执行如权利要求1-7中任意一项所述的基于全站灰度的版本更新方法。
10.一种计算机可读存储介质,所述计算机可读存储介质上存储有指令,其特征在于,所述指令被处理器执行时实现如权利要求1-7中任一项所述基于全站灰度的版本更新方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110691937.8A CN113422732A (zh) | 2021-06-22 | 2021-06-22 | 基于全站灰度的版本更新方法、装置、设备及存储介质 |
PCT/CN2022/088889 WO2022267677A1 (zh) | 2021-06-22 | 2022-04-25 | 基于全站灰度的版本更新方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110691937.8A CN113422732A (zh) | 2021-06-22 | 2021-06-22 | 基于全站灰度的版本更新方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113422732A true CN113422732A (zh) | 2021-09-21 |
Family
ID=77716041
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110691937.8A Pending CN113422732A (zh) | 2021-06-22 | 2021-06-22 | 基于全站灰度的版本更新方法、装置、设备及存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN113422732A (zh) |
WO (1) | WO2022267677A1 (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114422440A (zh) * | 2022-03-28 | 2022-04-29 | 北京沃丰时代数据科技有限公司 | 灰度发布方法、装置、电子设备及存储介质 |
CN114615135A (zh) * | 2022-02-18 | 2022-06-10 | 佐朋数科(深圳)信息技术有限责任公司 | 一种前端灰度发布方法、***及存储介质 |
CN114666343A (zh) * | 2022-03-24 | 2022-06-24 | 康键信息技术(深圳)有限公司 | 静态资源的灰度发布方法、装置、设备及存储介质 |
WO2022267677A1 (zh) * | 2021-06-22 | 2022-12-29 | 康键信息技术(深圳)有限公司 | 基于全站灰度的版本更新方法、装置、设备及存储介质 |
CN117215596A (zh) * | 2023-08-02 | 2023-12-12 | 广州优谷信息技术有限公司 | 基于Helm的灰度发布方法、装置、电子设备及介质 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117170718B (zh) * | 2023-11-02 | 2024-02-02 | 绿城科技产业服务集团有限公司 | 基于微服务架构的灰度发布方法、装置及电子设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108848092A (zh) * | 2018-06-20 | 2018-11-20 | 中国联合网络通信集团有限公司 | 基于调用链的微服务灰度发布的处理方法及装置 |
CN109739527A (zh) * | 2018-11-20 | 2019-05-10 | 北京奇艺世纪科技有限公司 | 一种客户端灰度发布的方法、装置、服务器和存储介质 |
CN110784530A (zh) * | 2019-10-22 | 2020-02-11 | 聚好看科技股份有限公司 | 灰度的发布方法和服务器 |
US20200112487A1 (en) * | 2018-10-05 | 2020-04-09 | Cisco Technology, Inc. | Canary release validation mechanisms for a containerized application or service mesh |
CN112000348A (zh) * | 2020-07-28 | 2020-11-27 | 金蝶医疗软件科技有限公司 | 服务灰度发布的控制方法、装置、计算机设备 |
CN112118565A (zh) * | 2020-08-14 | 2020-12-22 | 金蝶医疗软件科技有限公司 | 多租户服务灰度发布方法、装置、计算机设备和存储介质 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108376118B (zh) * | 2018-02-09 | 2021-07-13 | 腾讯科技(深圳)有限公司 | 服务发布***、方法、设备及存储介质 |
CN110365502B (zh) * | 2018-03-26 | 2021-04-09 | 华为技术有限公司 | 一种服务升级管理的方法、装置及存储介质 |
CN108768875B (zh) * | 2018-05-31 | 2023-04-07 | 康键信息技术(深圳)有限公司 | 应用的灰度发布方法、装置及计算机可读存储介质 |
CN111988416B (zh) * | 2020-08-27 | 2023-04-21 | 广州市百果园信息技术有限公司 | 一种灰度发布方法、装置、设备及介质 |
CN112367684B (zh) * | 2020-10-13 | 2023-11-14 | 北京水滴科技集团有限公司 | 流量控制方法、装置、存储介质及计算机设备 |
CN113422732A (zh) * | 2021-06-22 | 2021-09-21 | 康键信息技术(深圳)有限公司 | 基于全站灰度的版本更新方法、装置、设备及存储介质 |
-
2021
- 2021-06-22 CN CN202110691937.8A patent/CN113422732A/zh active Pending
-
2022
- 2022-04-25 WO PCT/CN2022/088889 patent/WO2022267677A1/zh unknown
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108848092A (zh) * | 2018-06-20 | 2018-11-20 | 中国联合网络通信集团有限公司 | 基于调用链的微服务灰度发布的处理方法及装置 |
US20200112487A1 (en) * | 2018-10-05 | 2020-04-09 | Cisco Technology, Inc. | Canary release validation mechanisms for a containerized application or service mesh |
CN109739527A (zh) * | 2018-11-20 | 2019-05-10 | 北京奇艺世纪科技有限公司 | 一种客户端灰度发布的方法、装置、服务器和存储介质 |
CN110784530A (zh) * | 2019-10-22 | 2020-02-11 | 聚好看科技股份有限公司 | 灰度的发布方法和服务器 |
CN112000348A (zh) * | 2020-07-28 | 2020-11-27 | 金蝶医疗软件科技有限公司 | 服务灰度发布的控制方法、装置、计算机设备 |
CN112118565A (zh) * | 2020-08-14 | 2020-12-22 | 金蝶医疗软件科技有限公司 | 多租户服务灰度发布方法、装置、计算机设备和存储介质 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022267677A1 (zh) * | 2021-06-22 | 2022-12-29 | 康键信息技术(深圳)有限公司 | 基于全站灰度的版本更新方法、装置、设备及存储介质 |
CN114615135A (zh) * | 2022-02-18 | 2022-06-10 | 佐朋数科(深圳)信息技术有限责任公司 | 一种前端灰度发布方法、***及存储介质 |
CN114615135B (zh) * | 2022-02-18 | 2024-03-22 | 佐朋数科(深圳)信息技术有限责任公司 | 一种前端灰度发布方法、***及存储介质 |
CN114666343A (zh) * | 2022-03-24 | 2022-06-24 | 康键信息技术(深圳)有限公司 | 静态资源的灰度发布方法、装置、设备及存储介质 |
CN114422440A (zh) * | 2022-03-28 | 2022-04-29 | 北京沃丰时代数据科技有限公司 | 灰度发布方法、装置、电子设备及存储介质 |
CN117215596A (zh) * | 2023-08-02 | 2023-12-12 | 广州优谷信息技术有限公司 | 基于Helm的灰度发布方法、装置、电子设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2022267677A1 (zh) | 2022-12-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113422732A (zh) | 基于全站灰度的版本更新方法、装置、设备及存储介质 | |
US10691728B1 (en) | Transforming a data stream into structured data | |
CN111666326B (zh) | Etl调度方法及装置 | |
CN112732703B (zh) | 元数据处理方法、元数据处理装置及可读存储介质 | |
CN110717076A (zh) | 节点管理方法、装置、计算机设备及存储介质 | |
CN113420537B (zh) | 电子表格数据处理方法、装置、设备及存储介质 | |
RU2607991C2 (ru) | Способ и система технического осмотра и соответствующий им машиночитаемый носитель данных | |
US20090070425A1 (en) | Data processing system, method of updating a configuration file and computer program product | |
CN106487863A (zh) | 一种基于分布式***的灰度发布方法、客户端及平台 | |
CN111782456A (zh) | 异常检测方法、装置、计算机设备和存储介质 | |
CN116701330A (zh) | 物流信息共享方法、装置、设备及存储介质 | |
CN114185743A (zh) | 一种数据处理方法、装置、计算机设备和存储介质 | |
CN113434311A (zh) | 业务数据交互方法、装置、设备及存储介质 | |
CN111221742A (zh) | 一种测试案例的更新方法、装置、存储介质和服务器 | |
CN110737662A (zh) | 一种数据分析方法、装置、服务器及计算机存储介质 | |
JP2003316811A (ja) | 異種データベース統合システムにおける問い合わせ最適化処理装置、方法、及びその方法をコンピュータに実行させるプログラム | |
CN106330556B (zh) | 一种用于生成服务模块调用关联信息的方法与装置 | |
CN113821495A (zh) | 数据库集群实现***及方法 | |
CN114327555A (zh) | 微服务升级计划评价方法、***及计算机设备 | |
CN113495723A (zh) | 一种调用功能组件的方法、装置及存储介质 | |
CN110554895A (zh) | 一种数据调用的方法和装置 | |
CN115271889B (zh) | 智能化标签自动联动生成方法、装置、设备及存储介质 | |
US20240053981A1 (en) | Methods for automated configuration management in platform-as-a-service environments and devices thereof | |
CN109145234B (zh) | 一种调用业务内容的方法及装置 | |
US8433699B1 (en) | Object identity and addressability |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210921 |
|
RJ01 | Rejection of invention patent application after publication |