
技术摘要:
本发明涉及一种灰度割接方法、系统及电子设备,首先遍历应用所提供的所有服务,并将每一个服务标记为非灰度服务或灰度服务,然后通过对用户的服务请求所对应的服务进行判断,当服务请求对应的服务为非灰度服务时,利用旧程序完成对服务请求的真实响应,当服务请求对应 全部
背景技术:
目前,电信行业中有很多应用是利用C语言或C 语言等编写而成的程序,但由于 电信行业的需要,需将用C语言或C 语言编写的程序替换为利用JAVA语言所编写的程序, 对任一应用而言,以新程序表示为利用C语言或C 语言等编写而成的程序,以旧程序表示 利用JAVA语言所编写的程序,在新程序替换旧程序时,假如直接将新程序直接上线,并保留 旧程序,则对用户的服务请求进行处理时,会同时调用新程序和旧程序对用户的服务请求 进行处理,无法确定出新程序是否正常运行,因此测试困难;若直接使用新程序,将旧程序 进行下线,由于不能保证新程序能正常运行,导致运行风险较大。
技术实现要素:
本发明所要解决的技术问题是针对现有技术的不足,提供了一种灰度割接方法、 系统及电子设备。 本发明的一种灰度割接方法的技术方案如下: S1、遍历应用所提供的所有服务,并将每一个服务标记为非灰度服务或灰度服务; S2、对用户的服务请求所对应的服务进行判断,当所述服务请求对应的服务为非 灰度服务时,将所述服务请求发送至所述应用的旧程序,使所述旧程序完成对所述服务请 求的真实响应; 当所述服务请求对应的服务为灰度服务时,将所述服务请求分别发送至所述旧程 序和所述应用的新程序,得到稽核结果,当所述稽核结果为是时,使所述新程序完成对所述 服务请求的真实响应;当所述稽核结果为否时,使所述旧程序完成对所述服务请求的真实 响应; S3、重复执行S2,判断得到的多个稽核结果是否符合预设条件,得到判断结果; S4、当所述判断结果为是时,根据预设规则增大灰度服务在所述的所有服务的数 量占比,当所述数量占比小于100%时,重复执行S2至S3,当所述数量占比等于100%时,下 线所述旧程序。 本发明的一种灰度割接方法的有益效果如下: 首先遍历应用所提供的所有服务,并将每一个服务标记为非灰度服务或灰度服 务,然后通过对用户的服务请求所对应的服务进行判断,当服务请求对应的服务为非灰度 服务时,利用旧程序完成对服务请求的真实响应,当服务请求对应的服务为灰度服务,利用 稽核结果确定是否利用新程序完成对服务请求的真实响应,且当稽核结果为否时,使旧程 序完成对服务请求的真实响应,以保证对每个服务请求均能响应,且当述判断结果为是时, 根据预设规则增大灰度服务在所有服务的数量占比,当所述数量占比等于100%时,即当每 个服务请求所对应的服务均为灰度服务时,下线旧程序,完成割接,以保证应用的新程序能 4 CN 111580859 A 说 明 书 2/7 页 稳定运行。 在上述方案的基础上,本发明的一种灰度割接方法还可以做如下改进。 进一步,所述将所述服务请求分别发送至所述旧程序和所述应用的新程序,得到 稽核结果,包括: 将所述服务请求发送至所述旧程序,使所述旧程序完成对所述服务请求的虚拟响 应,并对应生成第一过程数据; 将所述服务请求发送至所述新程序,使所述新程序完成对所述服务请求的虚拟响 应,并对应生成第二过程数据; 对所述第一过程数据和所述第二过程数据的一致性进行稽核得到稽核结果。 采用上述进一步方案的有益效果是:对得到稽核结果的过程进行了说明。 进一步,所述当所述稽核结果为否时,还包括: 返回所述新程序未完成对所述服务请求的真实响应的提示信息。 采用上述进一步方案的有益效果是:便于运维人员根据提示信息对新程序进行维 护和修改。 本发明的一种灰度割接系统的技术方案如下: 包括标记模块、逻辑路由模块、调用判断模块和数据占比模块; 所述标记模块用于遍历应用所提供的所有服务,并将每一个服务标记为非灰度服 务或灰度服务; 所述逻辑路由模块用于: 对用户的服务请求所对应的服务进行判断,当所述服务请求对应的服务为非灰度 服务时,将所述服务请求发送至所述应用的旧程序,使所述旧程序完成对所述服务请求的 真实响应; 当所述服务请求对应的服务为灰度服务时,将所述服务请求分别发送至所述旧程 序和所述应用的新程序,得到稽核结果,当所述稽核结果为是时,使所述新程序完成对所述 服务请求的真实响应;当所述稽核结果为否时,使所述旧程序完成对所述服务请求的真实 响应; 所述调用判断模块用于重复调用所述逻辑路由模块,判断得到的多个稽核结果是 否符合预设条件,得到判断结果; 当所述判断结果为是时,所述数据占比模块用于:根据预设规则增大灰度服务在 所述的所有服务的数量占比,当所述数量占比小于100%时,重复调用所述所述逻辑路由模 块和所述调用判断模块,当所述数量占比等于100%时,下线所述旧程序。 本发明的一种灰度割接系统的有益效果如下: 首先遍历应用所提供的所有服务,并将每一个服务标记为非灰度服务或灰度服 务,然后通过对用户的服务请求所对应的服务进行判断,当服务请求对应的服务为非灰度 服务时,利用旧程序完成对服务请求的真实响应,当服务请求对应的服务为灰度服务,利用 稽核结果确定是否利用新程序完成对服务请求的真实响应,且当稽核结果为否时,使旧程 序完成对服务请求的真实响应,以保证对每个服务请求均能响应,且当述判断结果为是时, 根据预设规则增大灰度服务在所有服务的数量占比,当所述数量占比等于100%时,即当每 个服务请求所对应的服务均为灰度服务时,下线旧程序,完成割接,以保证应用的新程序能 5 CN 111580859 A 说 明 书 3/7 页 稳定运行。 在上述方案的基础上,本发明的一种灰度割接系统还可以做如下改进。 进一步,所述逻辑路由模块具体用于: 将所述服务请求发送至所述旧程序,使所述旧程序完成对所述服务请求的虚拟响 应,并对应生成第一过程数据; 将所述服务请求发送至所述新程序,使所述新程序完成对所述服务请求的虚拟响 应,并对应生成第二过程数据; 对所述第一过程数据和所述第二过程数据的一致性进行稽核得到稽核结果。 采用上述进一步方案的有益效果是:对得到稽核结果的过程进行了说明。 进一步,还包括返回模块,当所述稽核结果为否时,所述返回模块用于返回所述新 程序未完成对所述服务请求的真实响应的提示信息。 采用上述进一步方案的有益效果是:便于运维人员根据提示信息对新程序进行维 护和修改。 本发明的一种电子设备的技术方案如下: 包括存储器、处理器及存储在所述存储器上并在所述处理器上运行的程序,其特 征在于,所述处理器执行所述程序时实现如上述任一项所述的一种灰度割接方法的步骤。 本发明的一种电子设备的有益效果如下: 首先遍历应用所提供的所有服务,并将每一个服务标记为非灰度服务或灰度服 务,然后通过对用户的服务请求所对应的服务进行判断,当服务请求对应的服务为非灰度 服务时,利用旧程序完成对服务请求的真实响应,当服务请求对应的服务为灰度服务,利用 稽核结果确定是否利用新程序完成对服务请求的真实响应,且当稽核结果为否时,使旧程 序完成对服务请求的真实响应,以保证对每个服务请求均能响应,且当述判断结果为是时, 根据预设规则增大灰度服务在所有服务的数量占比,当所述数量占比等于100%时,即当每 个服务请求所对应的服务均为灰度服务时,下线旧程序,完成割接,以保证应用的新程序能 稳定运行。 附图说明 图1为本发明实施例的一种灰度割接方法的流程示意图; 图2为本发明实施例的一种灰度割接系统的结构示意图;