CN113672253A - 车辆的微服务***的访问方法、装置、设备和介质 - Google Patents
车辆的微服务***的访问方法、装置、设备和介质 Download PDFInfo
- Publication number
- CN113672253A CN113672253A CN202110862473.2A CN202110862473A CN113672253A CN 113672253 A CN113672253 A CN 113672253A CN 202110862473 A CN202110862473 A CN 202110862473A CN 113672253 A CN113672253 A CN 113672253A
- Authority
- CN
- China
- Prior art keywords
- version information
- vehicle
- identification code
- unique identification
- node
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 60
- 230000008569 process Effects 0.000 claims description 27
- 238000004590 computer program Methods 0.000 claims description 13
- 230000006872 improvement Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000002159 abnormal effect Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 230000033764 rhythmic process Effects 0.000 description 2
- 238000012216 screening Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
Images
Classifications
-
- 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
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/368—Test management for test version control, e.g. updating test cases to a new software version
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Stored Programmes (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种车辆的微服务***的访问方法、装置、设备和介质。所述方法包括:响应于车辆对微服务***的访问请求,获取所述车辆的唯一标识码;根据所述车辆的唯一标识码,获取与所述唯一标识码对应的节点访问策略;其中,所述节点访问策略是根据车辆的唯一标识码、预设的唯一标识码与目标版本信息的对应关系,及当前所述微服务***中已注册的服务节点的版本信息而生成的;在所述微服务***中调用与所述节点访问策略对应的每一所述待访问的服务节点的实例,以使所述车辆访问服务节点。采用本发明实施例,其能够在微服务***进行迭代升级时,精准控制车辆对***中的服务节点的访问路径,提高微服务***运行的稳定性。
Description
技术领域
本发明涉及车辆技术领域,尤其涉及一种车辆的微服务***的访问方法、装置、设备和介质。
背景技术
在车辆技术领域中,车辆的后台微服务架构呈多节点负载,车辆通过访问多个不同的微服务节点来完成一项功能。通常情况下,在***上线后,***版本中的所有服务节点都是统一的版本,例如1.0版本,车辆对同一服务节点的访问权重配比相同。
在***版本升级的过程中,采用服务节点迭代升级的方式,将***中的部分1.0版本的服务器节点替换成1.1版本,并调整车辆对同一服务节点的访问权重,以使用户在大部分情况下继续使用稳定的1.0版本,直到***版本全部升级完成,也即***版本中的所有服务节点升级为统一的1.1版本。
然而,发明人发现现有技术至少存在如下问题:在现有的***版本升级的过程中,即使调整了车辆对服务节点的访问权重,但是在***运行过程中,车辆依然会有一定的几率请求到新版本,一旦新版本的服务与原版本的客户端出现兼容性问题,或者其他故障时,就会出现异常,导致用户请求失败。
发明内容
本发明实施例的目的是提供一种车辆的微服务***的访问方法、装置、设备和介质,其能够在微服务***进行迭代升级时,精准控制车辆对***中的服务节点的访问路径,提高微服务***运行的稳定性。
为实现上述目的,本发明实施例提供了一种车辆的微服务***的访问方法,包括:
响应于车辆对微服务***的访问请求,获取所述车辆的唯一标识码;其中,所述访问请求中包括至少一待访问的服务节点;
根据所述车辆的唯一标识码,获取与所述唯一标识码对应的节点访问策略;其中,所述节点访问策略是根据车辆的唯一标识码、预设的唯一标识码与目标版本信息的对应关系,及当前所述微服务***中已注册的服务节点的版本信息而生成的,所述节点访问策略包括每一所述待访问的服务节点的版本信息;
在所述微服务***中调用与所述节点访问策略对应的每一所述待访问的服务节点的实例,以使所述车辆访问与所述节点访问策略对应的每一所述待访问的服务节点。
作为上述方案的改进,通过以下步骤生成所述预设的唯一标识码与目标版本信息的对应关系:
获取用户的车辆配置指令;其中,所述车辆配置指令包括至少一待配置车辆的唯一标识码,以及用户指定的所述待配置车辆的目标版本信息;
根据所述车辆配置指令,生成所述预设的唯一标识码与目标版本信息的对应关系。
作为上述方案的改进,所述微服务***中的每一服务节点的版本信息均包括原版本信息;并且,当存在任一服务节点处于升级过程时,所述任一服务节点同时还包括新版本信息。
作为上述方案的改进,通过以下步骤生成与所述唯一标识码对应的节点访问策略:
判断所述预设的唯一标识码与目标版本信息的对应关系中是否包括所述车辆的唯一标识码;
当所述预设的唯一标识码与目标版本信息的对应关系中包括所述车辆的唯一标识码时,根据所述预设的唯一标识码与目标版本信息的对应关系,确定所述车辆对应的目标版本信息;
遍历所述访问请求中每一待访问的服务节点,判断在所述微服务***中所述待访问的服务节点的版本信息是否包括所述目标版本信息;
当所述待访问的服务节点的版本信息包括所述目标版本信息时,获取所述待访问的服务节点的目标版本信息,当所述待访问的服务节点的版本信息不包括所述目标版本信息时,获取所述待访问的服务节点的原版本信息,以生成所述节点访问策略。
作为上述方案的改进,在所述判断所述预设的唯一标识码与目标版本信息的对应关系中是否包括所述车辆的唯一标识码之后,还包括:
当所述预设的唯一标识码与目标版本信息的对应关系中不包括所述车辆的唯一标识码时,获取所述访问请求中每一待访问的服务节点的原版本信息,以生成所述节点访问策略。
本发明实施例还提供了一种车辆的微服务***的访问装置,包括:
标识码获取模块,用于响应于车辆对微服务***的访问请求,获取所述车辆的唯一标识码;其中,所述访问请求中包括至少一待访问的服务节点;
节点访问策略获取模块,用于根据所述车辆的唯一标识码,获取与所述唯一标识码对应的节点访问策略;其中,所述节点访问策略是根据车辆的唯一标识码、预设的唯一标识码与目标版本信息的对应关系,及当前所述微服务***中已注册的服务节点的版本信息而生成的,所述节点访问策略包括每一所述待访问的服务节点的版本信息;
服务节点调用模块,用于在所述微服务***中调用与所述节点访问策略对应的每一所述待访问的服务节点的实例,以使所述车辆访问与所述节点访问策略对应的每一所述待访问的服务节点。
作为上述方案的改进,所述装置还包括:
车辆配置指令获取模块,用于获取用户的车辆配置指令;其中,所述车辆配置指令包括至少一待配置车辆的唯一标识码,以及用户指定的所述待配置车辆的目标版本信息;
对应关系生成模块,用于根据所述车辆配置指令,生成所述预设的唯一标识码与目标版本信息的对应关系。
作为上述方案的改进,所述微服务***中的每一服务节点的版本信息均包括原版本信息;并且,当存在任一服务节点处于升级过程时,所述任一服务节点同时还包括新版本信息。
作为上述方案的改进,所述装置还包括节点访问策略生成模块,用于:
判断所述预设的唯一标识码与目标版本信息的对应关系中是否包括所述车辆的唯一标识码;
当所述预设的唯一标识码与目标版本信息的对应关系中包括所述车辆的唯一标识码时,根据所述预设的唯一标识码与目标版本信息的对应关系,确定所述车辆对应的目标版本信息;
遍历所述访问请求中每一待访问的服务节点,判断在所述微服务***中所述待访问的服务节点的版本信息是否包括所述目标版本信息;
当所述待访问的服务节点的版本信息包括所述目标版本信息时,获取所述待访问的服务节点的目标版本信息,当所述待访问的服务节点的版本信息不包括所述目标版本信息时,获取所述待访问的服务节点的原版本信息,以生成所述节点访问策略。
作为上述方案的改进,所述节点访问策略获取模块,还用于:
当所述预设的唯一标识码与目标版本信息的对应关系中不包括所述车辆的唯一标识码时,获取所述访问请求中每一待访问的服务节点的原版本信息,以生成所述节点访问策略。
本发明实施例还提供了一种车辆的微服务***的访问设备,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现如上述任意一项所述的车辆的微服务***的访问方法。
本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行如上述任意一项所述的车辆的微服务***的访问方法。
与现有技术相比,本发明实施例公开的车辆的微服务节点***的访问方法、装置、设备和介质,通过响应于车辆对微服务***的访问请求,获取所述车辆的唯一标识码;根据所述车辆的唯一标识码,获取与所述唯一标识码对应的节点访问策略;其中,所述节点访问策略是根据车辆的唯一标识码、预设的唯一标识码与目标版本信息的对应关系,及当前所述微服务***中已注册的服务节点的版本信息而生成的;在所述微服务***中调用与所述节点访问策略对应的每一所述待访问的服务节点的实例,以使所述车辆访问到相应的服务节点。
采用本发明实施例的技术手段,当微服务***处于迭代升级过程中时,不替换原版本信息的服务节点,而是选择新增新版本信息的服务节点,保证了原有的服务节点依然具备横向扩容能力和负载均衡能力。通过设置唯一标识码与目标版本信息的对应关系,并在车辆访问服务节点的过程中,根据唯一标识码获取相应的节点访问策略,从而精准控制车辆对***中的服务节点的访问路径,避免出现未进行客户端版本更新的用户请求到新版本,新版本的服务与原版本的客户端出现兼容性问题,导致出现异常和用户请求失败的情况,不影响用户正常使用,真正做到用户无感知升级,提高了微服务***运行的稳定性。并且,用户可以动态调整所述预设的唯一标识码与目标版本信息的对应关系,以设置指定的车辆能访问到新版本信息的服务节点,能够有效实现对新版本服务节点的测试,在初始灰度的时候就可以发现、调整微服务***的问题,以降低对用户的影响度。
附图说明
图1是现有技术中微服务***升级前车辆的访问流程示意图;
图2是现有技术中微服务***升级过程中车辆的访问流程示意图;
图3是本发明一实施例中一种车辆的微服务***的访问方法的流程示意图;
图4是本发明实施例中优选的车辆的微服务***的访问方法的流程示意图;
图5是本发明一实施例中一种车辆的微服务***的访问装置的结构示意图;
图6是本发明一实施例中一种车辆的微服务***的访问设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参见图1,是现有技术中微服务***升级前车辆的访问流程示意图。所述车辆的微服务***呈多节点负载,例如配置有多个服务节点A、多个服务节点B和多个服务节点C。车辆通过访问多个不同的服务节点来完成一项功能,例如,当车辆向网关发起对微服务***的访问请求,以请求依次访问服务节点A、服务节点B和服务节点C,网关调用微服务***中相应的服务节点的实例并下发至路由设备,以使所述车辆访问所述路由设备来实现对服务节点的访问。通常情况下,***中的所有的服务节点都是统一的版本,车辆对同一服务节点的访问权重配比相同,例如图1中,所有的服务节点都是统一的1.0版本,对同样的两个服务节点A的访问节点的权重配比为50/50。
参见图2,是现有技术中微服务***升级过程中车辆的访问流程示意图。在***版本升级的过程中,采用服务节点迭代升级的方式,将***中的部分原版本的服务器节点替换成新版本,并调整车辆对同一服务节点的访问权重。例如,服务节点A和服务节点B存在更新的1.1版本时,分别替换掉服务节点A和服务节点B的一个原有的1.0版本,同时为了保证在升级过程中用户大部分的情况下继续使用稳定的1.0版本,会将访问原版本和新版本的权重配比设置为90/10,直到***中所有的服务节点均升级至1.1版本。
然而,即便是在这种情况下,在***升级过程中,未进行客户端版本更新的用户依然会有10%的几率请求到新版本,一旦新版本的服务与原版本的客户端出现兼容性问题就会出现异常,导致用户请求失败。
为了解决上述技术问题,参见图3,是本发明一实施例中一种车辆的微服务***的访问方法的流程示意图。本发明实施例提供了一种车辆的微服务***的访问方法,可以通过网关设备执行,具体包括以下步骤S11至S13:
S11、响应于车辆对微服务***的访问请求,获取所述车辆的唯一标识码;其中,所述访问请求中包括至少一待访问的服务节点;
S12、根据所述车辆的唯一标识码,获取与所述唯一标识码对应的节点访问策略;其中,所述节点访问策略是根据车辆的唯一标识码、预设的唯一标识码与目标版本信息的对应关系,及当前所述微服务***中已注册的服务节点的版本信息而生成的,所述节点访问策略包括每一所述待访问的服务节点的版本信息;
S13、在所述微服务***中调用与所述节点访问策略对应的每一所述待访问的服务节点的实例,以使所述车辆访问与所述节点访问策略对应的每一所述待访问的服务节点。
在本发明实施例中,当接收到所述车辆对微服务***的访问请求时,所述网关设备获取所述车辆的唯一标识码,并携带所述唯一标识码向节点访问策略的配置中心发起获取节点访问策略的请求。
所述节点访问策略的配置中心存储有预设的唯一标识码与目标版本信息的对应关系,用于记录所述唯一标识码对应的车辆在访问所述微服务***时所设定请求的服务节点的版本信息。并且在本发明实施例中,所述微服务***包括所有服务节点的原版本信息的实例,当存在任一服务节点处于升级过程时,所述微服务***还包括所述任一服务节点的新版本信息的实例。因此,所述微服务***中的每一服务节点的版本信息均包括原版本信息,当存在任一服务节点处于升级过程时,所述任一服务节点同时还包括新版本信息,则所述配置中心还记录有当前所述微服务***中已注册的服务节点的版本信息,也即记录有每一服务节点的原版本信息和在服务节点升级过程中的新版本信息。
进一步地,所述配置中心接收到网关设备的获取节点访问策略的请求后,根据所述车辆的唯一标识码、唯一标识码与目标版本信息的对应关系,以及当前所述微服务***中已注册的服务节点的版本信息,获取符合条件的所述车辆的每一待访问的服务节点的版本信息,生成节点访问策略并下发网关设备。所述网关设备在获取到所述节点访问策略后,在所述微服务***中调用与所述节点访问策略对应的每一所述待访问的服务节点的实例并下发至路由设备。
可以理解地,此处所述的新版本信息和原版本信息是相对于所述微服务***的服务节点当前所处的升级状态而言的,当所述微服务***的每一节点均升级完毕时,原版本信息将被全部替换为所述新版本信息。
作为举例,参见图4,是本发明实施例中优选的车辆的微服务***的访问方法的流程示意图。所述微服务***中包括版本信息均为1.0的服务节点A、服务节点B和服务节点C,并且,同一服务节点横向扩展为两个。在***的新版本发布过程中,假设是服务节点A和服务节点B处于升级过程中,不替换原有的1.0版本的服务节点A和服务节点B,而是新增新版本信息的服务节点,也即版本信息为1.1的服务节点A和服务节点B,并且,版本信息为1.1的服务节点A和服务节点B也横向扩展为两个。
可以理解地,所述节点访问策略的配置中心应当记录有所述服务节点A的原版本信息(1.0版本)和新版本信息(1.1版本),记录有所述服务节点B的原版本信息(1.0版本)和新版本信息(1.1版本),以及记录有所述服务节点C的原版本信息(1.0版本)。
并且,所述配置中心存储的所述预设的唯一标识码与目标版本信息的对应关系中,包括有车辆的唯一标识码a对应的目标版本信息为1.1版本的对应关系。
当车辆a向网关设备发起访问微服务***的服务节点A、服务节点B和服务节点C的访问请求时,网关设备获取所述车辆的唯一标识码,并向配置中心获取节点访问策略。所述配置中心根据预设的唯一标识码与目标版本信息的对应关系,查询到所述车辆的唯一标识码a对应的目标版本信息为1.1版本信息。进而,所述配置中心根据当前所述微服务***中已注册的服务节点的版本信息,生成访问“1.1版本信息的服务节点A、1.1版本信息的服务节点B和1.0版本信息的服务节点C”的节点访问策略并返回所述网关设备。
网关设备根据所述节点访问策略,在所述微服务***中调用1.1版本信息的服务节点A、1.1版本信息的服务节点B和1.0版本信息的服务节点C的实例,并下发至路由设备,以使所述车辆a通过接入所述路由设备来实现对所述微服务***相应服务节点的访问,从而完成相应的功能项。
本发明实施例提供了一种车辆的微服务***的访问方法,响应于车辆对微服务***的访问请求,获取所述车辆的唯一标识码;根据所述车辆的唯一标识码,获取与所述唯一标识码对应的节点访问策略;其中,所述节点访问策略是根据车辆的唯一标识码、预设的唯一标识码与目标版本信息的对应关系,及当前所述微服务***中已注册的服务节点的版本信息而生成的,在所述微服务***中调用与所述节点访问策略对应的每一所述待访问的服务节点的实例,以使所述车辆访问与所述节点访问策略对应的每一所述待访问的服务节点。
采用本发明实施例的技术手段,当微服务***处于迭代升级过程中时,不替换原版本信息的服务节点,而是选择新增新版本信息的服务节点,保证了原有的服务节点依然具备横向扩容能力和负载均衡能力。通过设置唯一标识码与目标版本信息的对应关系,并在车辆访问服务节点的过程中,根据唯一标识码获取相应的节点访问策略,从而精准控制车辆对***中的服务节点的访问路径,避免出现未进行客户端版本更新的用户请求到新版本,新版本的服务与原版本的客户端出现兼容性问题,导致出现异常和用户请求失败的情况,不影响用户正常使用,真正做到用户无感知升级,提高了微服务***运行的稳定性。并且,通过设置所述预设的唯一标识码与目标版本信息的对应关系,以设置指定的车辆能访问到新版本信息的服务节点,能够有效实现对新版本服务节点的测试,在初始灰度的时候就可以发现、调整微服务***的问题,以降低对用户的影响度。
作为优选的实施方式,在上述实施例的基础上,通过以下步骤S121至S125生成与所述唯一标识码对应的节点访问策略:
S121、判断所述预设的唯一标识码与目标版本信息的对应关系中是否包括所述车辆的唯一标识码。
S122、当所述预设的唯一标识码与目标版本信息的对应关系中包括所述车辆的唯一标识码时,根据所述预设的唯一标识码与目标版本信息的对应关系,确定所述车辆对应的目标版本信息。
S123、遍历所述访问请求中每一待访问的服务节点,判断在所述微服务***中所述待访问的服务节点的版本信息是否包括所述目标版本信息。
S124、当所述待访问的服务节点的版本信息包括所述目标版本信息时,获取所述待访问的服务节点的目标版本信息,当所述待访问的服务节点的版本信息不包括所述目标版本信息时,获取所述待访问的服务节点的原版本信息,以生成所述节点访问策略。
S125、当所述预设的唯一标识码与目标版本信息的对应关系中不包括所述车辆的唯一标识码时,获取所述访问请求中每一待访问的服务节点的原版本信息,以生成所述节点访问策略。
在本发明实施例中,所述节点访问策略是通过节点访问策略的配置中心生成的,当所述配置中心接收到网关设备发起的获取节点访问策略的请求之后,判断存储的预设的唯一标识码与目标版本信息的对应关系中,是否记录有所述车辆的唯一标识码,若有,说明所述车辆的唯一标识码是经过用户指定配置过的,并生成相应的节点访问策略;若无,说明所述车辆的唯一标识码不是经过用户指定配置过的,两者所生成节点访问策略不同。
作为举例,参见图4,所述节点访问策略的配置中心记录有所述服务节点A的原版本信息(1.0版本)和新版本信息(1.1版本),记录有所述服务节点B的原版本信息(1.0版本)和新版本信息(1.1版本),以及记录有所述服务节点C的原版本信息(1.0版本)。
在一种情况下,若所述预设的对应关系中记录有车辆的唯一标识码a对应的目标版本信息为1.1版本的对应关系。当车辆a向网关设备发起访问微服务***的服务节点A、服务节点B和服务节点C的访问请求时,所述配置中心根据网关设备的请求,查询到所述车辆的唯一标识码a对应的目标版本信息为1.1版本信息,并为其配置对应的节点访问策略。
具体地,所述配置中心遍历所述访问请求中每一待访问的服务节点,判断在所述微服务***中所述待访问的服务节点的版本信息是否包括所述目标版本信息。根据判断,得到在当前的所述微服务***中,服务节点A和服务节点B包括所述目标版本信息,则获取服务节点A和服务节点B的目标版本信息,也即1.1版本信息。而服务节点C不包括所述目标版本信息,则获取服务节点C的原版本信息,也即1.0版本信息,从而生成访问“1.1版本信息的服务节点A、1.1版本信息的服务节点B和1.0版本信息的服务节点C”的节点访问策略。
在另一种情况下,若所述预设的对应关系中并未记录有车辆的唯一标识码b对应的目标版本信息。当车辆b向网关设备发起访问微服务***的服务节点A、服务节点B和服务节点C的访问请求时,所述配置中心根据网关设备的请求,查询到所述车辆的唯一标识码b不存在对应的目标版本信息,则直接获取所述访问请求中每一待访问的服务节点的原版本信息,也即1.0版本信息,从而生成访问“1.0版本信息的服务节点A、1.0版本信息的服务节点B和1.0版本信息的服务节点C”的节点访问策略。
采用本发明实施例的技术手段,对于任一车辆对微服务***的访问请求,都能迅速、有效地获取到对应的节点访问策略,网关设备可以根据配置中心的节点访问策略进行过滤筛选,将指定的车辆按照策略访问后端的微服务***,该策略经过网关设备层层向后传递,直接调取相应的服务节点,而不需要在传递过程中重新进行选择,保证了访问微服务***的效率。
作为优选的实施方式,通过以下步骤S01至S02生成所述预设的唯一标识码与目标版本信息的对应关系:
S01、获取用户的车辆配置指令;其中,所述车辆配置指令包括至少一待配置车辆的唯一标识码,以及用户指定的所述待配置车辆的目标版本信息;
S02、根据所述车辆配置指令,生成所述预设的唯一标识码与目标版本信息的对应关系。
所述目标版本信息可以为服务节点的原版本信息,也可以为任一处于升级过程的服务节点的新版本信息。同一服务节点的新版本信息不局限于一个。
在本发明实施例中,通过设置版本信息配置中心,用于获取用户对车辆的配置指令,以生成所述预设的唯一标识码与目标版本信息的对应关系,并发送至所述节点访问策略的配置中心。
具体地,用户可以为指定的车辆配置对应的目标版本信息,例如,为了利用小部分指定用户访问到新版本的服务节点,以进行相应的功能试用,将这部分用户的车辆作为待配置车辆,获取其唯一标识码,并指定其目标版本信息为新版本信息,生成所述车辆配置指令,并发送给版本信息配置中心,用于生成所述预设的唯一标识码与目标版本信息的对应关系。
优选地,为了提高所述待配置车辆的可控性和针对性,可以选择类型为工程车或展厅车的车辆作为所述待配置车辆,为其配置指定的新版本信息作为目标版本信息,以便于在测试过程中发现新版本服务节点的问题;而对于一些车辆用户的自用车,则为其配置原版本信息作为目标版本信息,从而不影响用户的正常使用,保证用户的使用体验。
采用本发明实施例的技术手段,追加版本信息配置中心,可以将参与灰度发布的车辆以及目标版本信息进行配置,配置后推送到节点访问策略的配置中心,所述版本信息配置中心所接收的车辆配置指令可动态配置和随时调整,适应于互联网节奏的及时更新。
作为优选的实施方式,参见图5,是本发明一实施例中一种车辆的微服务***的访问装置的结构示意图。本发明实施例提供了一种车辆的微服务***的访问装置20,被配置于网关设备中,具体包括:标识码获取模块21、节点访问策略获取模块22和服务节点调用模块23;其中,
所述标识码获取模块21,用于响应于车辆对微服务***的访问请求,获取所述车辆的唯一标识码;其中,所述访问请求中包括至少一待访问的服务节点;
所述节点访问策略获取模块22,用于根据所述车辆的唯一标识码,获取与所述唯一标识码对应的节点访问策略;其中,所述节点访问策略是根据车辆的唯一标识码、预设的唯一标识码与目标版本信息的对应关系,及当前所述微服务***中已注册的服务节点的版本信息而生成的,所述节点访问策略包括每一所述待访问的服务节点的版本信息;
所述服务节点调用模块23,用于在所述微服务***中调用与所述节点访问策略对应的每一所述待访问的服务节点的实例,以使所述车辆访问与所述节点访问策略对应的每一所述待访问的服务节点。
优选地所述微服务***中的每一服务节点的版本信息均包括原版本信息;并且,当存在任一服务节点处于升级过程时,所述任一服务节点同时还包括新版本信息。
本发明实施例提供了一种车辆的微服务***的访问装置,当微服务***处于迭代升级过程中时,不替换原版本信息的服务节点,而是选择新增新版本信息的服务节点,保证了原有的服务节点依然具备横向扩容能力和负载均衡能力。通过设置唯一标识码与目标版本信息的对应关系,并在车辆访问服务节点的过程中,根据唯一标识码获取相应的节点访问策略,从而精准控制车辆对***中的服务节点的访问路径,避免出现未进行客户端版本更新的用户请求到新版本,新版本的服务与原版本的客户端出现兼容性问题,导致出现异常和用户请求失败的情况,不影响用户正常使用,真正做到用户无感知升级,提高了微服务***运行的稳定性。并且,通过设置所述预设的唯一标识码与目标版本信息的对应关系,以设置指定的车辆能访问到新版本信息的服务节点,能够有效实现对新版本服务节点的测试,在初始灰度的时候就可以发现、调整微服务***的问题,以降低对用户的影响度。
作为优选的实施方式,所述装置20还包括版本信息配置中心,其中包括车辆配置指令获取模块24和对应关系生成模块25;
所述车辆配置指令获取模块24,用于获取用户的车辆配置指令;其中,所述车辆配置指令包括至少一待配置车辆的唯一标识码,以及用户指定的所述待配置车辆的目标版本信息;
所述对应关系生成模块25,用于根据所述车辆配置指令,生成所述预设的唯一标识码与目标版本信息的对应关系并存储。
采用本发明实施例的技术手段,追加版本信息配置中心,可以将参与灰度发布的车辆以及目标版本信息进行配置,配置后推送到节点访问策略的配置中心,所述版本信息配置中心所接收的车辆配置指令可动态配置和随时调整,适应于互联网节奏的及时更新。
作为优选的实施方式,所述装置20还包括节点访问策略的配置中心,其中包括节点访问策略生成模块,用于:
判断所述预设的唯一标识码与目标版本信息的对应关系中是否包括所述车辆的唯一标识码;
当所述预设的唯一标识码与目标版本信息的对应关系中包括所述车辆的唯一标识码时,根据所述预设的唯一标识码与目标版本信息的对应关系,确定所述车辆对应的目标版本信息;
遍历所述访问请求中每一待访问的服务节点,判断在所述微服务***中所述待访问的服务节点的版本信息是否包括所述目标版本信息;
当所述待访问的服务节点的版本信息包括所述目标版本信息时,获取所述待访问的服务节点的目标版本信息,当所述待访问的服务节点的版本信息不包括所述目标版本信息时,获取所述待访问的服务节点的原版本信息,以生成所述节点访问策略;以及,
当所述预设的唯一标识码与目标版本信息的对应关系中不包括所述车辆的唯一标识码时,获取所述访问请求中每一待访问的服务节点的原版本信息,以生成所述节点访问策略。
采用本发明实施例的技术手段,对于任一车辆对微服务***的访问请求,都能迅速、有效地获取到对应的节点访问策略,网关设备可以根据配置中心的节点访问策略进行过滤筛选,将指定的车辆按照策略访问后端的微服务***,该策略经过网关设备层层向后传递,直接调取相应的服务节点,而不需要在传递过程中重新进行选择,保证了访问微服务***的效率。
需要说明的是,本发明实施例提供的一种车辆的微服务***的访问装置用于执行上述实施例的一种车辆的微服务***的访问方法的所有流程步骤,两者的工作原理和有益效果一一对应,因而不再赘述。
参见图6,是本发明一实施例中一种车辆的微服务***的访问设备的结构示意图。本发明实施例提供的一种车辆的微服务***的访问设备30,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现如上述实施例所述的车辆的微服务***的访问方法。
本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行如上述实施例所述的车辆的微服务***的访问方法。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-OnlyMemory,ROM)或随机存储记忆体(RandomAccessMemory,RAM)等。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。
Claims (12)
1.一种车辆的微服务***的访问方法,其特征在于,包括:
响应于车辆对微服务***的访问请求,获取所述车辆的唯一标识码;其中,所述访问请求中包括至少一待访问的服务节点;
根据所述车辆的唯一标识码,获取与所述唯一标识码对应的节点访问策略;其中,所述节点访问策略是根据车辆的唯一标识码、预设的唯一标识码与目标版本信息的对应关系,及当前所述微服务***中已注册的服务节点的版本信息而生成的,所述节点访问策略包括每一所述待访问的服务节点的版本信息;
在所述微服务***中调用与所述节点访问策略对应的每一所述待访问的服务节点的实例,以使所述车辆访问与所述节点访问策略对应的每一所述待访问的服务节点。
2.如权利要求1所述的车辆的微服务***的访问方法,其特征在于,通过以下步骤生成所述预设的唯一标识码与目标版本信息的对应关系:
获取用户的车辆配置指令;其中,所述车辆配置指令包括至少一待配置车辆的唯一标识码,以及用户指定的所述待配置车辆的目标版本信息;
根据所述车辆配置指令,生成所述预设的唯一标识码与目标版本信息的对应关系。
3.如权利要求1所述的车辆的微服务***的访问方法,其特征在于,所述微服务***中的每一服务节点的版本信息均包括原版本信息;并且,当存在任一服务节点处于升级过程时,所述任一服务节点同时还包括新版本信息。
4.如权利要求3所述的车辆的微服务***的访问方法,其特征在于,通过以下步骤生成与所述唯一标识码对应的节点访问策略:
判断所述预设的唯一标识码与目标版本信息的对应关系中是否包括所述车辆的唯一标识码;
当所述预设的唯一标识码与目标版本信息的对应关系中包括所述车辆的唯一标识码时,根据所述预设的唯一标识码与目标版本信息的对应关系,确定所述车辆对应的目标版本信息;
遍历所述访问请求中每一待访问的服务节点,判断在所述微服务***中所述待访问的服务节点的版本信息是否包括所述目标版本信息;
当所述待访问的服务节点的版本信息包括所述目标版本信息时,获取所述待访问的服务节点的目标版本信息,当所述待访问的服务节点的版本信息不包括所述目标版本信息时,获取所述待访问的服务节点的原版本信息,以生成所述节点访问策略。
5.如权利要求4所述的车辆的微服务***的访问方法,其特征在于,在所述判断所述预设的唯一标识码与目标版本信息的对应关系中是否包括所述车辆的唯一标识码之后,还包括:
当所述预设的唯一标识码与目标版本信息的对应关系中不包括所述车辆的唯一标识码时,获取所述访问请求中每一待访问的服务节点的原版本信息,以生成所述节点访问策略。
6.一种车辆的微服务***的访问装置,其特征在于,包括:
标识码获取模块,用于响应于车辆对微服务***的访问请求,获取所述车辆的唯一标识码;其中,所述访问请求中包括至少一待访问的服务节点;
节点访问策略获取模块,用于根据所述车辆的唯一标识码,获取与所述唯一标识码对应的节点访问策略;其中,所述节点访问策略是根据车辆的唯一标识码、预设的唯一标识码与目标版本信息的对应关系,及当前所述微服务***中已注册的服务节点的版本信息而生成的,所述节点访问策略包括每一所述待访问的服务节点的版本信息;
服务节点调用模块,用于在所述微服务***中调用与所述节点访问策略对应的每一所述待访问的服务节点的实例,以使所述车辆访问与所述节点访问策略对应的每一所述待访问的服务节点。
7.如权利要求6所述的车辆的微服务***的访问装置,其特征在于,所述装置还包括:
车辆配置指令获取模块,用于获取用户的车辆配置指令;其中,所述车辆配置指令包括至少一待配置车辆的唯一标识码,以及用户指定的所述待配置车辆的目标版本信息;
对应关系生成模块,用于根据所述车辆配置指令,生成所述预设的唯一标识码与目标版本信息的对应关系。
8.如权利要求6所述的车辆的微服务***的访问装置,其特征在于,所述微服务***中的每一服务节点的版本信息均包括原版本信息;并且,当存在任一服务节点处于升级过程时,所述任一服务节点同时还包括新版本信息。
9.如权利要求8所述的车辆的微服务***的访问装置,其特征在于,所述装置还包括节点访问策略生成模块,用于:
判断所述预设的唯一标识码与目标版本信息的对应关系中是否包括所述车辆的唯一标识码;
当所述预设的唯一标识码与目标版本信息的对应关系中包括所述车辆的唯一标识码时,根据所述预设的唯一标识码与目标版本信息的对应关系,确定所述车辆对应的目标版本信息;
遍历所述访问请求中每一待访问的服务节点,判断在所述微服务***中所述待访问的服务节点的版本信息是否包括所述目标版本信息;
当所述待访问的服务节点的版本信息包括所述目标版本信息时,获取所述待访问的服务节点的目标版本信息,当所述待访问的服务节点的版本信息不包括所述目标版本信息时,获取所述待访问的服务节点的原版本信息,以生成所述节点访问策略。
10.如权利要求9所述的车辆的微服务***的访问装置,其特征在于,所述节点访问策略获取模块,还用于:
当所述预设的唯一标识码与目标版本信息的对应关系中不包括所述车辆的唯一标识码时,获取所述访问请求中每一待访问的服务节点的原版本信息,以生成所述节点访问策略。
11.一种车辆的微服务***的访问设备,其特征在于,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至5中任意一项所述的车辆的微服务***的访问方法。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行如权利要求1至5中任意一项所述的车辆的微服务***的访问方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110862473.2A CN113672253B (zh) | 2021-07-29 | 2021-07-29 | 车辆的微服务***的访问方法、装置、设备和介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110862473.2A CN113672253B (zh) | 2021-07-29 | 2021-07-29 | 车辆的微服务***的访问方法、装置、设备和介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113672253A true CN113672253A (zh) | 2021-11-19 |
CN113672253B CN113672253B (zh) | 2023-11-14 |
Family
ID=78540663
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110862473.2A Active CN113672253B (zh) | 2021-07-29 | 2021-07-29 | 车辆的微服务***的访问方法、装置、设备和介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113672253B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107515776A (zh) * | 2017-07-18 | 2017-12-26 | 深信服科技股份有限公司 | 业务不间断升级方法、待升级节点和可读存储介质 |
US20180027080A1 (en) * | 2016-07-22 | 2018-01-25 | Cisco Technology, Inc. | Scaling service discovery in a micro-service environment |
CN107872334A (zh) * | 2016-09-23 | 2018-04-03 | 中兴通讯股份有限公司 | 一种微服务架构***中灰度升级的方法及装置 |
CN109391512A (zh) * | 2018-09-28 | 2019-02-26 | 阿里巴巴集团控股有限公司 | 一种服务发布方法、装置及电子设备 |
CN109725920A (zh) * | 2018-12-29 | 2019-05-07 | 咪咕文化科技有限公司 | 一种服务实例的更新方法、装置及存储介质 |
CN110661835A (zh) * | 2018-06-29 | 2020-01-07 | 马上消费金融股份有限公司 | 一种灰度发布方法及其处理方法、节点及***和存储装置 |
CN110958314A (zh) * | 2019-11-28 | 2020-04-03 | 盛业信息科技服务(深圳)有限公司 | 服务的灰度发布方法、装置和计算机设备 |
CN111741102A (zh) * | 2020-06-18 | 2020-10-02 | 中国银行股份有限公司 | 分布式微服务应用的升级方法及装置 |
-
2021
- 2021-07-29 CN CN202110862473.2A patent/CN113672253B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180027080A1 (en) * | 2016-07-22 | 2018-01-25 | Cisco Technology, Inc. | Scaling service discovery in a micro-service environment |
CN107872334A (zh) * | 2016-09-23 | 2018-04-03 | 中兴通讯股份有限公司 | 一种微服务架构***中灰度升级的方法及装置 |
CN107515776A (zh) * | 2017-07-18 | 2017-12-26 | 深信服科技股份有限公司 | 业务不间断升级方法、待升级节点和可读存储介质 |
CN110661835A (zh) * | 2018-06-29 | 2020-01-07 | 马上消费金融股份有限公司 | 一种灰度发布方法及其处理方法、节点及***和存储装置 |
CN109391512A (zh) * | 2018-09-28 | 2019-02-26 | 阿里巴巴集团控股有限公司 | 一种服务发布方法、装置及电子设备 |
CN109725920A (zh) * | 2018-12-29 | 2019-05-07 | 咪咕文化科技有限公司 | 一种服务实例的更新方法、装置及存储介质 |
CN110958314A (zh) * | 2019-11-28 | 2020-04-03 | 盛业信息科技服务(深圳)有限公司 | 服务的灰度发布方法、装置和计算机设备 |
CN111741102A (zh) * | 2020-06-18 | 2020-10-02 | 中国银行股份有限公司 | 分布式微服务应用的升级方法及装置 |
Non-Patent Citations (2)
Title |
---|
JIANXIN LI 等: ""Eagle+: A fast incremental approach to automaton and table online updates for cloud services"", 《FUTURE GENERATION COMPUTER SYSTEMS》, vol. 80, pages 275 - 285 * |
贺祥 等: ""多版本共存的微服务***自适应演化方法"", 《软件学报》, pages 1341 - 1359 * |
Also Published As
Publication number | Publication date |
---|---|
CN113672253B (zh) | 2023-11-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8290998B2 (en) | Systems and methods for generating cloud computing landscapes | |
CN107911470B (zh) | 分布式动态负载均衡方法、计算设备及计算机存储介质 | |
CN111586095B (zh) | 基于微服务灰度发布方法、装置、计算机设备及存储介质 | |
US9026655B2 (en) | Method and system for load balancing | |
US10257027B2 (en) | Content switch management | |
US6209089B1 (en) | Correcting for changed client machine hardware using a server-based operating system | |
US7743147B2 (en) | Automated provisioning of computing networks using a network database data model | |
US6272677B1 (en) | Method and system for automatic detection and distribution of code version updates | |
US8667514B2 (en) | Client application independent extensibility model | |
US20090199175A1 (en) | Dynamic Allocation of Virtual Application Server | |
US20130305239A1 (en) | Catalog-Based Software Component Management | |
US20090182855A1 (en) | Method using a hashing mechanism to select data entries in a directory for use with requested operations | |
CN109358971B (zh) | 动态网络环境中快速且负载均衡的服务功能链部署方法 | |
CN110784409B (zh) | 一种基于Spring Cloud的微服务灰度发布方法 | |
CN106775841B (zh) | 插件升级的方法、***及装置 | |
CN109522042A (zh) | 一种补丁更新方法、***及相关组件 | |
CN111444157A (zh) | 分布式文件***及数据访问方法 | |
US9928097B1 (en) | Methods, systems, and computer readable mediums for defining and updating a virtual computing system comprising distributed resource components | |
US20090319766A1 (en) | Provisioning an unknown computer system | |
CN113672253A (zh) | 车辆的微服务***的访问方法、装置、设备和介质 | |
CN111314500A (zh) | 一种确定访问地址的方法及装置 | |
CN112261097B (zh) | 用于分布式存储***的对象定位方法及电子设备 | |
US11115269B1 (en) | System and method for updating an application for a population of computers | |
CN114938396A (zh) | 服务调用请求的路由方法、创建服务的方法及装置 | |
KR20210142829A (ko) | 복수의 엣지 디바이스에게 애플리케이션을 배포하는 엣지 컴퓨팅 시스템 및 방법 |
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 |