代码切换方法技术

技术编号:39601087 阅读:17 留言:0更新日期:2023-12-03 20:01
本公开是关于一种代码切换方法

【技术实现步骤摘要】
代码切换方法、装置、电子设备及计算机可读存储介质


[0001]本公开涉及系统处理
,尤其涉及一种代码切换方法

装置

电子设备及计算机可读存储介质


技术介绍

[0002]研发人员在研发系统时,通常会部署系统运行时需要执行的代码,这样,在系统运行时,系统可以调用已部署的代码并执行,得到对应的执行结果

[0003]现有相关技术中,如果需要对系统的代码进行更换,那么就需要对系统进行停机维护,也就是在系统停机的情况下,采用新的代码替换旧的代码,替换完成后再次运行系统

但是,这种代码的切换方式的切换效率较低,而且,如果新的代码存在问题,那么在系统再次运行时,对应的执行结果也会出现错误,导致系统的稳定性较差


技术实现思路

[0004]为克服相关技术中存在的问题,本公开提供一种代码切换方法

装置

电子设备及存储介质

本公开的技术方案如下

[0005]根据本公开实施例的第一方面,提供一种代码切换方法,包括:
[0006]在完整数据中执行被替换的原始代码,得到第一执行结果,输出所述第执行一结果;
[0007]将所述完整数据分为至少两个批次对用于替换的目标代码执行的正确性分别进行验证;
[0008]若所述至少两个批次的验证均通过,则在所述完整数据中执行所述目标代码,得到第二执行结果,以及,在所述完整数据中执行所述原始代码,得到第三执行结果;
[0009]若所述第二执行结果与所述第三执行结果相同,则输出所述二执行结果,并停止执行所述原始代码

[0010]可选的,所述将所述完整数据分为至少两个批次对用于替换的目标代码执行的正确性分别进行验证,包括:
[0011]基于预设的白名单确定出所述完整数据中的第一子数据,并基于所述第一子数据对所述目标代码执行的正确性进行验证;
[0012]若验证通过,则基于预设的灰度策略确定出所述完整数据中除所述第一子数据之外的第二子数据,并基于所述第二子数据对所述目标代码执行的正确性进行验证;
[0013]若验证通过,则基于所述完整数据中的第一剩余子数据对所述目标代码执行的正确性进行验证,得到最终验证结果;所述第一剩余子数据为所述完整数据中除所述第一子数据和所述第二子数据之外的数据

[0014]可选的,所述基于所述第一子数据对所述目标代码执行的正确性进行验证,包括:
[0015]针对所述第一子数据执行所述目标代码,得到第一子结果;
[0016]获取第一执行结果中与所述第一子数据对应的第二子结果;
[0017]检测所述第一子结果与所述第二子结果是否相同;
[0018]若所述第一子结果与所述第二子结果相同,则验证通过;若所述第一子结果与所述第二子结果不相同,则验证不通过

[0019]可选的,所述基于所述第二子数据对所述目标代码执行的正确性进行验证,包括:
[0020]针对所述第二子数据执行所述目标代码,得到第三子结果;
[0021]获取第一执行结果中与所述第二子数据对应的第四子结果;
[0022]检测所述第三子结果与所述第四子结果是否相同;
[0023]若所述第三子结果与所述第四子结果相同,则验证通过;若所述第一子结果与所述第二子结果不相同,则验证不通过

[0024]可选的,所述针对所述完整数据执行所述目标代码,得到第二执行结果,以及,针对所述完整数据执行所述原始代码,得到第三执行结果,包括:
[0025]基于预设的白名单确定出所述完整数据中的第一子数据,并针对所述第一子数据执行所述目标代码,得到第五子结果,以及,针对所述第一子数据执行所述原始代码,得到第六子结果;
[0026]若所述第五子结果与所述第六子结果相同,则基于预设的灰度策略确定出所述完整数据中除所述第一子数据之外的第三子数据,并针对所述第三子数据执行所述目标代码,得到第七子结果,以及,针对所述第一子数据执行所述原始代码,得到第八子结果;
[0027]若所述第七子结果与所述第八子结果相同,则针对所述完整数据中的第二剩余子数据执行所述目标代码,得到第九子结果,以及,针对所述第二剩余数据执行所述原始代码,得到第十子结果,并将所述第五子结果

所述第七子结果和所述第九子结果作为所述第二执行结果,将所述第六子结果

所述第八子结果和所述第十子结果作为所述第三执行结果;所述第二剩余子数据为所述完整数据中除所述第一子数据和所述第三子数据之外的数据

[0028]可选的,所述将所述完整数据分为至少两个批次对用于替换的目标代码执行的正确性分别进行验证,包括:
[0029]将所述完整数据分为至少两个批次,采用同步或异步的方式对用于替换的目标代码执行的正确性分别进行验证;
[0030]所述在所述完整数据中执行所述原始代码,得到第三执行结果,包括:
[0031]采用同步或异步的方式在所述完整数据中执行所述原始代码,得到第三执行结果

[0032]可选的,所述停止执行所述原始代码,包括:
[0033]基于预设的白名单确定出所述完整数据中的第一子数据,并针对所述第一子数据停止执行所述原始代码;
[0034]基于预设的灰度策略确定出所述完整数据中除所述第一子数据之外的第四子数据,并针对所述第四子数据停止执行所述原始代码;
[0035]针对所述所述完整数据中的第三剩余子数据停止执行所述原始代码;所述第三剩余子数据为所述完整数据中除所述第一子数据和所述第四子数据之外的数据

[0036]根据本公开实施例的第二方面,提供一种代码切换装置,包括:
[0037]执行单元,被配置为在完整数据中执行被替换的原始代码,得到第一执行结果;
[0038]输出单元,被配置为输出所述第执行一结果;
[0039]验证单元,被配置为将所述完整数据分为至少两个批次对用于替换的目标代码执行的正确性分别进行验证;
[0040]所述执行单元,还被配置为若所述至少两个批次的验证均通过,则在所述完整数据中执行所述目标代码,得到第二执行结果,以及,在所述完整数据中执行所述原始代码,得到第三执行结果;
[0041]所述输出单元,还被配置为若所述第二执行结果与所述第三执行结果相同,则输出所述二执行结果;
[0042]所述执行单元,还被配置为停止执行所述原始代码

[0043]可选的,所述验证单元,包括:
[0044]第一验证子单元,被配置为基于预设的白名单确定出所述完整数据中的第一子数据,并基于所述第一子数据对所述目标代码执行的正确性进行验证;
[0045]第二验证子单元,被配置为若验证通过,则基于预设的灰度策略确定出所述完整本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种代码切换方法,其特征在于,包括:在完整数据中执行被替换的原始代码,得到第一执行结果,输出所述第一执行结果;将所述完整数据分为至少两个批次对用于替换的目标代码执行的正确性分别进行验证;若所述至少两个批次的验证均通过,则在所述完整数据中执行所述目标代码,得到第二执行结果,以及,在所述完整数据中执行所述原始代码,得到第三执行结果;若所述第二执行结果与所述第三执行结果相同,则输出所述二执行结果,并停止执行所述原始代码
。2.
根据权利要求1所述的代码切换方法,其特征在于,所述将所述完整数据分为至少两个批次对用于替换的目标代码执行的正确性分别进行验证,包括:基于预设的白名单确定出所述完整数据中的第一子数据,并基于所述第一子数据对所述目标代码执行的正确性进行验证;若验证通过,则基于预设的灰度策略确定出所述完整数据中除所述第一子数据之外的第二子数据,并基于所述第二子数据对所述目标代码执行的正确性进行验证;若验证通过,则基于所述完整数据中的第一剩余子数据对所述目标代码执行的正确性进行验证,得到最终验证结果;所述第一剩余子数据为所述完整数据中除所述第一子数据和所述第二子数据之外的数据
。3.
根据权利要求2所述的代码切换方法,其特征在于,所述基于所述第一子数据对所述目标代码执行的正确性进行验证,包括:针对所述第一子数据执行所述目标代码,得到第一子结果;获取第一执行结果中与所述第一子数据对应的第二子结果;检测所述第一子结果与所述第二子结果是否相同;若所述第一子结果与所述第二子结果相同,则验证通过;若所述第一子结果与所述第二子结果不相同,则验证不通过
。4.
根据权利要求2所述的代码切换方法,其特征在于,所述基于所述第二子数据对所述目标代码执行的正确性进行验证,包括:针对所述第二子数据执行所述目标代码,得到第三子结果;获取第一执行结果中与所述第二子数据对应的第四子结果;检测所述第三子结果与所述第四子结果是否相同;若所述第三子结果与所述第四子结果相同,则验证通过;若所述第一子结果与所述第二子结果不相同,则验证不通过
。5.
根据权利要求1所述的代码切换方法,其特征在于,所述在所述完整数据中执行所述目标代码,得到第二执行结果,以及,在所述完整数据中执行所述原始代码,得到第三执行结果,包括:基于预设的白名单确定出所述完整数据中的第一子数据,并针对所述第一子数据执行所述目标代码,得到第五子结果,以及,针对所述第一子数据执行所述原始代码,得到第六子结果;若所述第五子结果与所述第六子结果相同,则基于预设的灰度策...

【专利技术属性】
技术研发人员:胡智俊
申请(专利权)人:北京达佳互联信息技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1