CN116886596A - 灰度发布的方法、系统、设备及储存介质 - Google Patents

灰度发布的方法、系统、设备及储存介质 Download PDF

Info

Publication number
CN116886596A
CN116886596A CN202310839896.1A CN202310839896A CN116886596A CN 116886596 A CN116886596 A CN 116886596A CN 202310839896 A CN202310839896 A CN 202310839896A CN 116886596 A CN116886596 A CN 116886596A
Authority
CN
China
Prior art keywords
service
version
center
gray scale
user data
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
Application number
CN202310839896.1A
Other languages
English (en)
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 Digital China Fangyuan Technology Co ltd
Original Assignee
Beijing Digital China Fangyuan Technology 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 Digital China Fangyuan Technology Co ltd filed Critical Beijing Digital China Fangyuan Technology Co ltd
Priority to CN202310839896.1A priority Critical patent/CN116886596A/zh
Publication of CN116886596A publication Critical patent/CN116886596A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/30Routing of multiclass traffic
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/252Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • 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
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Mining & Analysis (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明公开了一种灰度发布的方法、系统、设备及储存介质,所述方法包括:接收用户数据;其中,所述用户数据包含用户信息及用户版本信息;查询所述用户数据对应配置中心和注册中心中的服务版本信息、服务名称和服务地址;基于所述用户数据判断配置中心和注册中心中的服务版本信息、服务名称和服务地址查询灰度策略中的前后端的版本是否匹配;其中,当匹配时,读取服务注册中心中和前端版本匹配的服务名称以及相应版本;当不匹配时,返回缺省服务路由规则指定的服务名称和服务版本。通过本公开的处理方案,提升了用户体验,降低了开发、测试的复杂度。

Description

灰度发布的方法、系统、设备及储存介质
技术领域
本发明涉及灰度发布技术领域,特别是涉及一种灰度发布的方法、系统、设备及储存介质。
背景技术
目前:在互联网的业务中,因为版本迭代很快,在同一时间,用户可能升级手上APP,也有可能不升级,导致不同用户手中可能有不同版本的APP,那么对于后台来说需要兼容不同版本的APP。实现方法,有通过后台业务逻辑同时兼容支持多种版本,这样后台的开发和测试工作量会变大和业务逻辑也会变得复杂;另外一种方式,强制前端用户升级APP,如果经常频繁强制升级,这样用户体验可能不是那么好;还有一种做法,通过灰度发布系统,将不同的版本APP请求路由到不同的后台服务业务版本。目前一般意义上灰度发布,是针对特定用户,或者特定访问的IP,根据策略去调度和路由到后端服务,例如:
专利号为202210319943.5的现有技术,“一种灰度发布方法及灰度发布装置”一文中,根据灰度白名单和用户登录参数对灰度用户进行识别,若获知识别结果为是灰度用户,则向客户端发送重定向指示信息,而在用户多版本并存情况下,灰度白名单中不存在不同版本的用户名单,所以无法路由。
专利号为201910004328.3的现有技术,一种灰度发布方法以及灰度发布系统,从源服务器向灰度发布中间件发起请求,灰度发布中间件接收所述请求并对所述请求进行解析,判断该请求是否匹配预先设定的灰度策略,若该请求与预先设定的灰度策略匹配,则该请求被发送到对象目标服务器。此文中没有提及怎样将不同的版本APP请求路由到不同的后台服务业务版本。
专利号为202011048857.2的现有技术,“一种通过云端进行灰度发布的方法和系统”,公开了一种通过云端进行灰度发布的方法和系统,其中方法为,编译灰度安装包,将灰度安装包以及配置文件输送到云端,然后下发到用户终端;用户终端将匹配信息输入到灰度规则文件内进行匹配运算,生成用户终端的参数信息,这个方法中只提及了一种用户终端灰度参数生成方法,但是没有提及灰度参数在后续网关以及服务中怎么处理。
专利号为201710449634.9的现有技术,“灰度发布的方法和系统”,灰度版本的应用程序部署到申请的灰度资源中,并对所述灰度版本的应用程序的新增字段与数据库的核心表的预留字段进行匹配;根据所述匹配结果,生成所述数据库的灰度SQL语句;基于所述应用程序和所述数据库的灰度SQL语句,构建灰度系统;此专利中灰度的规则是由数据库的SQL语句生成和控制,对于一个并发量大的应用,频繁进行读取数据库,并执行SQL语句是很消耗性能的一件事情,另外SQL语句不能表达所有应用控制逻辑,逻辑控制上是不完备的。
商业场景中,用户手中APP的版本可能会有很多个,怎么保证不同版本的APP路由到后台相应的服务版本中,并减少后台对版本的管理工作都是难点。
由此可见,上述现有的灰度发布方法在使用上,显然仍存在有不便与缺陷,而亟待加以进一步改进。如何能创设一种新的灰度发布方法,成为当前业界急需改进的目标。
发明内容
有鉴于此,本公开实施例提供一种灰度发布的方法,至少部分解决现有技术中存在的问题。
第一方面,本公开实施例提供了一种灰度发布的方法,所述方法包括以下步骤:
接收用户数据;其中,所述用户数据包含用户信息及用户版本信息;
查询所述用户数据对应配置中心和注册中心中的服务版本信息、服务名称和服务地址;
基于所述用户数据判断配置中心和注册中心中的服务版本信息、服务名称和服务地址查询灰度策略中的前后端的版本是否匹配;其中,
当匹配时,读取服务注册中心中和前端版本匹配的服务名称以及相应版本;当不匹配时,返回缺省服务路由规则指定的服务名称和服务版本。
根据本公开实施例的一种具体实现方式,所述查询所述用户数据对应配置中心和注册中心中的服务版本信息、服务名称和服务地址之前,还包括以下步骤:
判断后台服务在服务中心是否注册;其中,当后台服务在服务中心已注册时,查询所述用户数据对应配置中心和注册中心中的服务版本信息、服务名称和服务地址;
当后台服务在服务中心未注册时,报业务服务未注册错误,结束操作。
根据本公开实施例的一种具体实现方式,所述基于所述用户数据判断配置中心和注册中心中的服务版本信息、服务名称和服务地址查询灰度策略中的前后端的版本是否匹配包括以下步骤:
基于预设的匹配规则判断灰度策略中的前后端的版本是否匹配;其中,所述匹配规则包括:严格相等策略和基于兼容性测试的不完全相等策略。
根据本公开实施例的一种具体实现方式,所述方法还包括:
获取各业务服务在注册中心注册服务的名、对应的版本号和IP地址;
获取各业务服务在配置中心配置相应的服务的参数;
获取各业务服务在灰度系统预设的灰度策略;所述灰度策略包含灰度规则以及规则触发条件;
配置注册服务,配置服务,灰度服务的地址。
根据本公开实施例的一种具体实现方式,所述方法同时支持多个版本的应用同时在线。
第二方面,本公开实施例提供了一种灰度发布的系统,所述系统包括:
数据接收模块,被配置用于接收用户数据;其中,所述用户数据包含用户信息及用户版本信息;以及,查询所述用户数据对应配置中心和注册中心中的服务版本信息、服务名称和服务地址;
匹配模块,被配置用于基于所述用户数据判断配置中心和注册中心中的服务版本信息、服务名称和服务地址查询灰度策略中的前后端的版本是否匹配;其中,当匹配时,读取服务注册中心中和前端版本匹配的服务名称以及相应版本;当不匹配时,返回缺省服务路由规则指定的服务名称和服务版本。
根据本公开实施例的一种具体实现方式,所述系统还包括:
预设置模块,被配置用于获取各业务服务在注册中心注册服务的名、对应的版本号和IP地址;获取各业务服务在配置中心配置相应的服务的参数;获取各业务服务在灰度系统预设的灰度策略;所述灰度策略包含灰度规则以及规则触发条件;以及,配置注册服务,配置服务,灰度服务的地址。
第三方面,本公开实施例还提供了一种电子设备,该电子设备包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有能够被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行时,使所述至少一个处理器前述第一方面或第一方面的任一实现方式中的任一项所述的灰度发布的方法。
第四方面,本公开实施例还提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令当由至少一个处理器执行时使所述至少一个处理器执行前述第一方面或第一方面的任一实现方式中的灰度发布的方法。
第五方面,本公开实施例还提供了一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,使该计算机执行前述第一方面或第一方面的任一实现方式中的灰度发布的方法。
本公开实施例中的灰度发布的方法,至少具有以下优点:
1.用户不用频繁地强制升级手中的APP,提升了用户体验。
2.开发者在开发某个服务版本中,不需要考虑以前APP的版本的兼容性,降低了开发的复杂度。
3.测试人员也不要对新发布的版本的APP的兼容性做测试,因为原来发布的APP版本走的原来的调用路径,降低了测试的复杂度。
4.通过根据前端APP的版本,和灰度系统路由规则匹配,能同时支持多个APP版本的应用同时在线。
附图说明
上述仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,以下结合附图与具体实施方式对本发明作进一步的详细说明。
图1为本公开实施例提供的一种灰度发布的方法流程示意图;
图2为本公开实施例提供的一种灰度发布的方法流程框图;
图3为本公开实施例提供的一种灰度发布的系统结构示意图;以及
图4为本公开实施例提供的电子设备示意图。
具体实施方式
下面结合附图对本公开实施例进行详细描述。
以下通过特定的具体实例说明本公开的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本公开的其他优点与功效。显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。本公开还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本公开的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
需要说明的是,下文描述在所附权利要求书的范围内的实施例的各种方面。应显而易见,本文中所描述的方面可体现于广泛多种形式中,且本文中所描述的任何特定结构及/或功能仅为说明性的。基于本公开,所属领域的技术人员应了解,本文中所描述的一个方面可与任何其他方面独立地实施,且可以各种方式组合这些方面中的两者或两者以上。举例来说,可使用本文中所阐述的任何数目个方面来实施设备及/或实践方法。另外,可使用除了本文中所阐述的方面中的一或多者之外的其他结构及/或功能性实施此设备及/或实践此方法。
另外,在以下描述中,提供具体细节是为了便于透彻理解实例。然而,所属领域的技术人员将理解,可在没有这些特定细节的情况下实践所述方面。
本发明实施例提供了一种灰度发布的方法,针对互联网快速迭代版本升级的场景,根据不同用户的APP版本信息去路由到不同的后台业务服务版本中,减少后台业务在版本迭代升级中,兼容性投入开发和测试工作,降低业务逻辑复杂度。
用于实现灰度发布的方法的系统由前端APP、网关、注册中心,配置中心、灰度系统、后台业务系统等几个部分组成,各个部分的功能如下:
前端APP,即是用户端的程序,是用户操作的界面,包含版本Version_terminal信息,不同用户手中使用的程序版本因为更新的频率或者喜好不同可能不一致,用户通过操作用户端的程序,发送相应的请求和调用,路由到网关。
网关,是一个接受前端APP的请求,并进行路由转发的模块。网关按照灰度系统要求和策略将请求转发给后端注册的业务服务的程序。
注册中心,包含服务注册和服务的发现功能,并能对服务的版本进行管理,能被网关所访问。
配置中心,提供服务中参数的配置,并可以被服务实时获取。
灰度系统,能和网关进行通信,提供给网关查询灰度配置策略,前后端版本匹配信息,并给业务服务管理方设置灰度策略等功能。
后台业务系统,提供具体业务的实现,每个不同的业务系统会有多个版本的服务作为支撑。不同的服务版本都会在注册中心注册,在配置中心进行配置。
灰度发布系统的工作流程分为两个阶段,一为系统配置准备阶段,二为版本灰度路由流程。
一、系统配置准备阶段包括:
(1)获取各业务服务在注册中心注册服务的名、对应的版本号和IP地址;
(2)获取各业务服务在配置中心配置相应的服务的参数;
(3)获取各业务服务在灰度系统预设的灰度策略;所述灰度策略包含灰度规则以及规则触发条件;如各个前端APP版本对应的后台服务名称以及版本规则,触发条件为版本号相等。
(4)网关服务配置相应注册服务,配置服务,灰度服务的地址。等待前端APP的请求。
二、版本灰度路由流程包括:
(1)网关gateway接收用户请求。
(2)gateway查询对应灰度的配置策略,包含路由规则Rules,以及路由规则触发条件Filter。
(3)gateway获取请求中版本信息,并执行灰度模块中的触发条件Filter,如果命中则执行路由规则Rules。
(4)gateway查询路由规则Rules中对应的服务在注册中心对应的服务名称和版本以及相应的IP地址和端口,将调用路径路由到相应服务的IP地址和端口上。
图1为本公开实施例提供的灰度发布的方法流程的示意图。
图2为与图1对应的灰度发布的方法流程框图。
如图1所示,在步骤S110处,接收用户数据;其中,所述用户数据包含用户信息及用户版本信息。
更具体地,用户APP请求后台接口数据,并将用户信息以及APP终端的版本信息Version_terminal写入通信协议中,如Http的Header信息中,发送给后台业务网关。
接下来,判断后台服务在服务中心是否注册;其中,当后台服务在服务中心已注册时,进行步骤S120;当后台服务在服务中心未注册时,报业务服务未注册错误,结束操作。
只有后台服务在服务注册中心注册了,网关才能进行调度和路由到服务注册中心注册的不同IP地址的服务。
更具体地,接下来转到步骤S120。
在步骤S120处,查询所述用户数据对应配置中心和注册中心中的服务版本信息、服务名称和服务地址。
更具体地,后台业务网关获取通信协议中用户版本信息,例如Http协议中header信息中用户终端版本信息Version_terminal。业务网关查询此请求中的业务服务对应在配置中心和注册中心里服务的版本信息Version_Server,以及对应的服务名称和服务地址。
接下来转到步骤S130。
在步骤S130处,基于所述用户数据判断配置中心和注册中心中的服务版本信息、服务名称和服务地址查询灰度策略中的前后端的版本是否匹配。
在本发明实施例中,所述基于所述用户数据判断配置中心和注册中心中的服务版本信息、服务名称和服务地址查询灰度策略中的前后端的版本是否匹配包括以下步骤:
基于预设的匹配规则判断灰度策略中的前后端的版本是否匹配;其中,所述匹配规则包括:严格相等策略和基于兼容性测试的不完全相等策略。
举例来说,版本匹配规则可以有不同的策略,例如策略1:严格相等,客户端版本V1.1=后台服务版本V1.1;策略2:客户端版本V1.1<=后台版本{可以是V1.1,V1.2,V1.3},策略2的后台版本就要做对前端版本的兼容性测试。
更具体地,业务网关查询灰度模块中配置的灰度策略中的前后端的版本匹配规则。
接下来转到步骤S140。
在步骤S140处,当匹配时,读取服务注册中心中和前端版本匹配的服务名称以及相应版本;当不匹配时,返回缺省服务路由规则指定的服务名称和服务版本。
更具体地,如果前后端版本匹配规则命中,则路由到相关的后台服务模块;否在本发明实施例中,所述方法同时支持多个版本的应用同时在线。
下面通过实施例具体说明:
一、约定:
用户A,用户B,手中分别有一款APP的两个版本,分别为terminateUser_V1.0,terminateUser_V2.0,
两个前端版本分别调用后台的业务服务server1,Server2;版本调用路径分别记为:
Path1={terminateUser_V1.0,server1_v1.0,server2_V1.0},
Path2={terminateUser_V1.0,server1_V2.0,server2_V2.0}
网关记为gateway,灰度记为gray,注册中心记为register,配置中心记为config,用户请求中协议中版本信息为Version_terminal。
二、对应于系统配置阶段
1.服务server1,server2,分别注册到注册中心register,并附带相应版本server1_V1.0,server1_V2.0,server2_V1.0,server2_V2.0,以及对应的服务IP地址。
2.将Server1,Server2分别在配置中心config配置各自业务参数。
3.在灰度配置模块中配置用户调用路径规则Path,如约定中的Path1,Path2。
4.在灰度配置模块中配置路径规则触发条件filter,例如用户请求的协议头(如Http协议的Header)中包含的Version_terminal信息等于Path中terminateUser_V1.0,则走调用路径Path1,如果等于terminateUser_V2.0,则走调用路径Path2。
三、对应于版本路由阶段
1.网关gateway收到用户请求。
2.网关gateway查询对应灰度的配置的调用路径规则Path,以及触发条件Filter。
3.网关gateway执行灰度模块中的触发条件Filter规则,此例中,即比较Http头中的Version_terminal信息是否等于terminateUser_V1.0,或者terminateUser_V2.0
4.如果等于terminateUser_V1.0,则.网关gateway,将服务路由到调用路径Path1,如果等于terminateUser_V2.0,则.网关gateway将服务路由到调用路径Path2。
5.网关gateway查询注册中心对应的服务名称和版本对应的IP地址和端口,将调用路径路由到相应服务的IP地址和端口上。
这样就完成了上述的版本路由过程。
本发明提出的灰度发布的方法,根据用户手中的APP的版本,匹配相应的后端服务能达到以下效果:
用户不用频繁地强制升级手中的APP,提升了用户体验。
开发者在开发某个服务版本中,不需要考虑以前APP的版本的兼容性,降低了开发的复杂度。
测试人员也不要对新发布的版本的APP的兼容性做测试,因为原来发布的APP版本走的原来的调用路径,降低了测试的复杂度。
通过根据前端APP的版本,和灰度系统路由规则匹配,能同时支持多个APP版本的应用同时在线。
图3示出了本发明提供的灰度发布的系统300,包括数据接收模块310、匹配模块320。
数据接收模块310用于接收用户数据;其中,所述用户数据包含用户信息及用户版本信息;以及,查询所述用户数据对应配置中心和注册中心中的服务版本信息、服务名称和服务地址;
匹配模块320用于基于所述用户数据判断配置中心和注册中心中的服务版本信息、服务名称和服务地址查询灰度策略中的前后端的版本是否匹配;其中,当匹配时,读取服务注册中心中和前端版本匹配的服务名称以及相应版本;当不匹配时,返回缺省服务路由规则指定的服务名称和服务版本。
在本发明实施例中,所述系统还包括:
预设置模块,被配置用于获取各业务服务在注册中心注册服务的名、对应的版本号和IP地址;获取各业务服务在配置中心配置相应的服务的参数;获取各业务服务在灰度系统预设的灰度策略;所述灰度策略包含灰度规则以及规则触发条件;以及,配置注册服务,配置服务,灰度服务的地址。
参见图4,本公开实施例还提供了一种电子设备40,该电子设备包括:
至少一个处理器;以及,
与该至少一个处理器通信连接的存储器;其中,
该存储器存储有可被该至少一个处理器执行的指令,该指令被该至少一个处理器执行,以使该至少一个处理器能够执行前述方法实施例中的灰度发布的方法。
本公开实施例还提供了一种非暂态计算机可读存储介质,该非暂态计算机可读存储介质存储计算机指令,该计算机指令用于使该计算机执行前述方法实施例中的灰度发布的方法。
本公开实施例还提供了一种计算机程序产品,该计算机程序产品包括存储在非暂态计算机可读存储介质上的计算程序,该计算机程序包括程序指令,当该程序指令被计算机执行时,使该计算机执行前述方法实施例中的灰度发布的方法。
下面参考图4,其示出了适于用来实现本公开实施例的电子设备40的结构示意图。本公开实施例中的电子设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。图4示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图4所示,电子设备40可以包括处理装置(例如中央处理器、图形处理器等)401,其可以根据存储在只读存储器(ROM)402中的程序或者从存储装置408加载到随机访问存储器(RAM)403中的程序而执行各种适当的动作和处理。在RAM 403中,还存储有电子设备40操作所需的各种程序和数据。处理装置401、ROM 402以及RAM 403通过总线404彼此相连。输入/输出(I/O)接口405也连接至总线404。
通常,以下装置可以连接至I/O接口405:包括例如触摸屏、触摸板、键盘、鼠标、图像传感器、麦克风、加速度计、陀螺仪等的输入装置406;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置407;包括例如磁带、硬盘等的存储装置408;以及通信装置409。通信装置409可以允许电子设备40与其他设备进行无线或有线通信以交换数据。虽然图中示出了具有各种装置的电子设备40,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置409从网络上被下载和安装,或者从存储装置408被安装,或者从ROM 402被安装。在该计算机程序被处理装置401执行时,执行本公开实施例的方法中限定的上述功能。
需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:获取至少两个网际协议地址;向节点评价设备发送包括所述至少两个网际协议地址的节点评价请求,其中,所述节点评价设备从所述至少两个网际协议地址中,选取网际协议地址并返回;接收所述节点评价设备返回的网际协议地址;其中,所获取的网际协议地址指示内容分发网络中的边缘节点。
或者,上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:接收包括至少两个网际协议地址的节点评价请求;从所述至少两个网际协议地址中,选取网际协议地址;返回选取出的网际协议地址;其中,接收到的网际协议地址指示内容分发网络中的边缘节点。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元的名称在某种情况下并不构成对该单元本身的限定,例如,第一获取单元还可以被描述为“获取至少两个网际协议地址的单元”。
应当理解,本公开的各部分可以用硬件、软件、固件或它们的组合来实现。
以上所述,仅为本公开的具体实施方式,但本公开的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应以权利要求的保护范围为准。

Claims (9)

1.一种灰度发布的方法,其特征在于,所述方法包括以下步骤:
接收用户数据;其中,所述用户数据包含用户信息及用户版本信息;
查询所述用户数据对应配置中心和注册中心中的服务版本信息、服务名称和服务地址;
基于所述用户数据判断配置中心和注册中心中的服务版本信息、服务名称和服务地址查询灰度策略中的前后端的版本是否匹配;其中,
当匹配时,读取服务注册中心中和前端版本匹配的服务名称以及相应版本;当不匹配时,返回缺省服务路由规则指定的服务名称和服务版本。
2.根据权利要求1所述的灰度发布的方法,其特征在于,所述查询所述用户数据对应配置中心和注册中心中的服务版本信息、服务名称和服务地址之前,还包括以下步骤:
判断后台服务在服务中心是否注册;其中,当后台服务在服务中心已注册时,查询所述用户数据对应配置中心和注册中心中的服务版本信息、服务名称和服务地址;
当后台服务在服务中心未注册时,报业务服务未注册错误,结束操作。
3.根据权利要求1所述的灰度发布的方法,其特征在于,所述基于所述用户数据判断配置中心和注册中心中的服务版本信息、服务名称和服务地址查询灰度策略中的前后端的版本是否匹配包括以下步骤:
基于预设的匹配规则判断灰度策略中的前后端的版本是否匹配;其中,所述匹配规则包括:严格相等策略和基于兼容性测试的不完全相等策略。
4.根据权利要求1-3中任意一项所述的灰度发布的方法,其特征在于,所述方法还包括:
获取各业务服务在注册中心注册服务的名、对应的版本号和IP地址;
获取各业务服务在配置中心配置相应的服务的参数;
获取各业务服务在灰度系统预设的灰度策略;所述灰度策略包含灰度规则以及规则触发条件;
配置注册服务,配置服务,灰度服务的地址。
5.根据权利要求4中任意一项所述的灰度发布的方法,其特征在于,所述方法同时支持多个版本的应用同时在线。
6.一种灰度发布的系统,其特征在于,所述系统包括:
数据接收模块,被配置用于接收用户数据;其中,所述用户数据包含用户信息及用户版本信息;以及,查询所述用户数据对应配置中心和注册中心中的服务版本信息、服务名称和服务地址;
匹配模块,被配置用于基于所述用户数据判断配置中心和注册中心中的服务版本信息、服务名称和服务地址查询灰度策略中的前后端的版本是否匹配;其中,当匹配时,读取服务注册中心中和前端版本匹配的服务名称以及相应版本;当不匹配时,返回缺省服务路由规则指定的服务名称和服务版本。
7.根据权利要求6所述的灰度发布的系统,其特征在于,所述系统还包括:
预设置模块,被配置用于获取各业务服务在注册中心注册服务的名、对应的版本号和IP地址;获取各业务服务在配置中心配置相应的服务的参数;获取各业务服务在灰度系统预设的灰度策略;所述灰度策略包含灰度规则以及规则触发条件;以及,配置注册服务,配置服务,灰度服务的地址。
8.一种电子设备,其特征在于,该电子设备包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有能够被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行时,使所述至少一个处理器执行如权利要求1至5中的任一项所述的灰度发布的方法。
9.一种非暂态计算机可读存储介质,其特征在于,所述非暂态计算机可使所述至少一个处理器执行如权利要求1至5中的任一项所述的灰度发布的方法。
CN202310839896.1A 2023-07-10 2023-07-10 灰度发布的方法、系统、设备及储存介质 Pending CN116886596A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310839896.1A CN116886596A (zh) 2023-07-10 2023-07-10 灰度发布的方法、系统、设备及储存介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310839896.1A CN116886596A (zh) 2023-07-10 2023-07-10 灰度发布的方法、系统、设备及储存介质

Publications (1)

Publication Number Publication Date
CN116886596A true CN116886596A (zh) 2023-10-13

Family

ID=88261547

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310839896.1A Pending CN116886596A (zh) 2023-07-10 2023-07-10 灰度发布的方法、系统、设备及储存介质

Country Status (1)

Country Link
CN (1) CN116886596A (zh)

Similar Documents

Publication Publication Date Title
JP6419792B2 (ja) ワイヤレスデバイス間におけるマルチメディアコンテンツのリアルタイム共有のための方法および装置
CN111614738B (zh) 基于Kubernetes集群的服务访问方法、装置、设备及存储介质
US9280665B2 (en) Fast and accurate identification of message-based API calls in application binaries
WO2020248745A1 (zh) 用户界面中字符的显示方法、装置、电子设备及存储介质
US20130346543A1 (en) Cloud service selector
CN113507517A (zh) 投屏设备的发现方法、装置、电子设备和存储介质
US9910724B2 (en) Fast and accurate identification of message-based API calls in application binaries
CN112579928A (zh) 页面跳转方法、装置、计算机设备及计算机可读存储介质
CN111209306A (zh) 业务逻辑判断方法、装置、电子设备和存储介质
CN114637703B (zh) 数据访问装置、方法、可读介质和电子设备
CN114365107A (zh) 通过5g实时上行链路流式传输框架(flus)控制的基于网络的媒体处理(nbmp)工作流管理
CN112887440B (zh) 一种ip地址管理方法和装置
CN110221877B (zh) 一种应用程序的运行方法、装置、电子设备、及存储介质
CN112230969B (zh) 固件升级过程中对用户空间存储区格式化的方法及设备
CN112714042B (zh) 压力测试方法、装置、电子设备和存储介质
CN109614089B (zh) 数据访问代码的自动生成方法、装置、设备及存储介质
CN111382058B (zh) 一种服务的测试方法、装置,服务器及存储介质
CN111767062A (zh) 应用配置数据的更新方法、装置、设备及存储介质
CN116886596A (zh) 灰度发布的方法、系统、设备及储存介质
US11546438B2 (en) Serving assets in a networked environment
CN111182062B (zh) 服务多活调用方法、系统及电子设备
CN114422436A (zh) 网关、网关控制方法、装置、电子设备和存储介质
CN114327453A (zh) 页面显示方法、装置、设备及存储介质
CN114428925A (zh) 页面渲染方法、装置、电子设备和计算机可读介质
CN112835671A (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