一种零侵入的系统更新方法、装置、设备及存储介质与流程

未命名 09-17 阅读:76 评论:0


1.本发明涉及计算机研发质量保障领域,特别涉及一种零侵入的系统更新方法、装置、设备及存储介质。


背景技术:

2.随着互联网的飞速发展,当前互联网企业的业务发展迅速,需求更新迭代同样非常频繁,因此大型互联网系统将面临高频繁的系统变更,而高频系统变更便会对现有系统的稳定性产生很大的影响。而现有技术中,针对系统变更引起的不稳定的处理方案大部分是基于流量复制、对比实现,来对系统进行稳定,但通过现有技术的方案,需要在服务上定制代码,由于系统每次更新的类型多样,因此维护成本过高,且会占用大量线上资源。


技术实现要素:

3.有鉴于此,本发明的目的在于提供一种零侵入的系统更新方法、装置、设备及存储介质,可以通过业务需求对trace系统进行更新,避免了代码变更,有效降低生产成本和人力投入成本。其具体方案如下:
4.第一方面,本技术公开了一种零侵入的系统更新方法,应用于trace系统,包括:
5.创建发布测试环境,并对业务需求进行验证测试,以生成所述业务需求的验证结果;所述业务需求包括待发布服务以及更新接口;
6.若所述验证结果表征所述业务需求通过验证,则将所述业务需求发布至所述发布测试环境,并自动触发针对所述业务需求的自动化对比服务;
7.基于所述自动化对比服务向所述发布测试环境发送模拟请求,并获取所述模拟请求对应的第一全链路数据以及所述业务需求对应的第二全链路数据;
8.对所述第一全链路数据以及所述第二全链路数据进行比对分析,并基于分析结果生成差异分析报告,以通过所述差异分析报告确定是否能够通过所述待发布服务以及所述更新接口对trace系统进行更新发布。
9.可选的,创建发布测试环境,并对业务需求进行验证测试,以生成所述业务需求的验证结果,包括:
10.创建发布测试环境,并对所述业务需求中的待发布服务以及更新接口进行验证测试;
11.若所述待发布服务以及所述更新接口未通过验证测试,则生成没有通过测试的第一验证结果;
12.基于所述第一验证结果对所述待发布服务以及所述更新接口中存在的漏洞进行修复,并对修复后待发布服务以及修复后更新接口进行验证测试,直至所述修复后待发布服务以及所述修复后更新接口通过验证测试;
13.若所述待发布服务以及所述更新接口通过验证测试,则生成通过测试的第二验证结果。
14.可选的,所述若所述验证结果表征所述业务需求通过验证,则将所述业务需求发布至所述发布测试环境,并自动触发针对所述业务需求的自动化对比服务之前,还包括:
15.基于日志采样操作、请求模拟操作、对比降噪操作、报告输出操作以及任务触发操作创建自动化对比服务。
16.可选的,所述基于所述自动化对比服务向所述发布测试环境发送模拟请求,并获取所述模拟请求对应的第一全链路数据以及所述业务需求对应的第二全链路数据,包括:
17.基于所述任务触发操作周期性触发自动化对比服务,并通过所述请求模拟操作向所述发布测试环境发送模拟请求,以及通过日志采样操作递归查询trace系统中的全链路日志,以获得所述模拟请求对应的第一全链路数据以及所述业务需求对应的第二全链路数据。
18.可选的,所述对所述第一全链路数据以及所述第二全链路数据进行比对分析,并基于分析结果生成差异分析报告,以通过所述差异分析报告确定是否能够通过所述待发布服务以及所述更新接口对trace系统进行更新发布,包括:
19.基于所述对比降噪操作对所述第一全链路数据与所述第二全链路数据进行数据降噪,以得到降噪后第一全链路数据与降噪后第二全链路数据;
20.对所述降噪后第一全链路数据以及所述降噪后第二全链路数据进行对比分析,以得到对比结果;
21.通过所述报告输出操作基于所述对比结果生成差异分析报告,以通过所述差异分析报告确定是否能够通过所述业务需求中的所述待发布服务以及所述更新接口对trace系统进行更新发布。
22.可选的,所述若所述验证结果表征所述业务需求通过验证,则将所述业务需求发布至所述发布测试环境,并自动触发针对所述业务需求的自动化对比服务,包括:
23.如果所述验证结果表征所述业务需求通过验证,则将所述业务需求发布至所述发布测试环境,以在所述发布测试环境中自动触发针对所述业务需求的自动化对比服务,并通过所述自动化对比服务确定所述业务需求是否能够发布上线。
24.第二方面,本技术公开了一种零侵入的系统更新装置,应用于trace系统,包括:
25.业务测试模块,用于创建发布测试环境,并对业务需求进行验证测试,以生成所述业务需求的验证结果;所述业务需求包括待发布服务以及更新接口;
26.服务触发模块,用于如果所述验证结果表征所述业务需求通过验证,则将所述业务需求发布至所述发布测试环境,并自动触发针对所述业务需求的自动化对比服务;
27.数据获取模块,用于基于所述自动化对比服务向所述发布测试环境发送模拟请求,并获取所述模拟请求对应的第一全链路数据以及所述业务需求对应的第二全链路数据;
28.系统更新模块,用于对所述第一全链路数据以及所述第二全链路数据进行比对分析,并基于分析结果生成差异分析报告,以通过所述差异分析报告确定是否能够通过所述待发布服务以及所述更新接口对trace系统进行更新发布。
29.可选的,所述任务触发模块,包括:
30.服务触发单元,用于如果所述验证结果表征所述业务需求通过验证,则将所述业务需求发布至所述发布测试环境,以在所述发布测试环境中自动触发针对所述业务需求的
自动化对比服务,并通过所述自动化对比服务确定所述业务需求是否能够发布上线。
31.第三方面,本技术公开了一种电子设备,包括:
32.存储器,用于保存计算机程序;
33.处理器,用于执行所述计算机程序以实现如前述的零侵入的系统更新方法。
34.第四方面,本技术公开了一种计算机可读存储介质,用于保存计算机程序,所述计算机程序被处理器执行时实现如前述的零侵入的系统更新方法。
35.本技术中,首先创建发布测试环境,并对业务需求进行验证测试,以生成所述业务需求的验证结果;所述业务需求包括待发布服务以及更新接口,如果若所述验证结果表征所述业务需求通过验证,则将所述业务需求发布至所述发布测试环境,并自动触发针对所述业务需求的自动化对比服务,然后基于所述自动化对比服务向所述发布测试环境发送模拟请求,并获取所述模拟请求对应的第一全链路数据以及所述业务需求对应的第二全链路数据,最后对所述第一全链路数据以及所述第二全链路数据进行比对分析,并基于分析结果生成差异分析报告,以通过所述差异分析报告确定是否能够通过所述待发布服务以及所述更新接口对trace系统进行更新发布。由此可见,通过本技术中所述零侵入的系统更新方法,可以将通过验证测试的业务需求发布至创建的发布测试环境,并通过自动化对比服务对业务需求进行处理,以生成所述业务需求的差异分析报告,以便通过所述差异分析报告确定是否能够通过所述待发布服务以及所述更新接口对trace系统进行更新发布。这样一来,可以通过业务需求对trace系统进行更新,避免了代码变更,有效降低生产成本和人力投入成本。
附图说明
36.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
37.图1为本技术提供的一种零侵入的系统更新方法流程图;
38.图2为本技术提供的一种零侵入的系统更新方法时序图;
39.图3为本技术提供的一种具体的零侵入的系统更新方法时序图;
40.图4为本技术提供的一种自动化对比服务示意图;
41.图5为本技术提供的一种零侵入的系统更新装置结构示意图;
42.图6为本技术提供的一种电子设备结构图。
具体实施方式
43.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
44.现有技术中,针对系统变更引起的不稳定的处理方案大部分是基于流量复制、对比实现,来对系统进行稳定,但通过现有技术的方案,需要在服务上定制代码,由于系统每
次更新的类型多样,因此维护成本过高,且会占用大量线上资源。
45.为了克服上述技术问题,本技术提供了一种零侵入的系统更新方法、装置、设备及存储介质,可以通过业务需求对trace系统进行更新,避免了代码变更,有效降低生产成本和人力投入成本。
46.参见图1所示,本发明实施例公开了一种零侵入的系统更新方法,应用于trace系统,包括:
47.步骤s11、创建发布测试环境,并对业务需求进行验证测试,以生成所述业务需求的验证结果;所述业务需求包括待发布服务以及更新接口。
48.本实施例中,创建发布测试环境,并对业务需求进行验证测试,以生成所述业务需求的验证结果,包括:创建发布测试环境,并对所述业务需求中的待发布服务以及更新接口进行验证测试;若所述待发布服务以及所述更新接口未通过验证测试,则生成没有通过测试的第一验证结果;基于所述第一验证结果对所述待发布服务以及所述更新接口中存在的漏洞进行修复,并对修复后待发布服务以及修复后更新接口进行验证测试,直至所述修复后待发布服务以及所述修复后更新接口通过验证测试;若所述待发布服务以及所述更新接口通过验证测试,则生成通过测试的第二验证结果。也即,如图2所示,通过本技术中的方法对系统进行更新之前,需要先创建发布测试环境,并对需要进行上线发布的业务需求进行验证测试,以确定所述业务需求是否满足发布上线的标准,需要进行说明的是,所述业务需求包括待发布服务以及更新接口。在对所述业务需求进行验证测试后,需要确定所述业务需求中的待发布服务以及更新接口是否通过验证测试,如果没有通过,则生成没有通过验证测试的则需要对待发布服务和/或更新接口中存在的漏洞进行修复,并重新对修复后的待发布服务以及修复后的更新接口进行验证测试,直至待发布服务以及更新接口通过验证测试。如果所述业务需求直接通过验证测试,则生成通过测试的验证结果。这样一来,可以在业务需求上线之前通过对业务测试的验证测试,来对业务需求中存在漏洞的待发布服务以及更新接口进行修复,以提高对系统进行更新的可靠性。
49.步骤s12、若所述验证结果表征所述业务需求通过验证,则将所述业务需求发布至所述发布测试环境,并自动触发针对所述业务需求的自动化对比服务。
50.本实施例中,若所述验证结果表征所述业务需求通过验证,则将所述业务需求发布至所述发布测试环境,并自动触发针对所述业务需求的自动化对比服务,包括:如果所述验证结果表征所述业务需求通过验证,则将所述业务需求发布至所述发布测试环境,以在所述发布测试环境中自动触发针对所述业务需求的自动化对比服务,并通过所述自动化对比服务确定所述业务需求是否能够发布上线。也即,如果对业务需求进行验证测试的验证结果表征所述业务需求通过验证,则可以将所述业务需求发布至创建的发布测试环境,并在所述发布测试环境中触发对所述业务需求的自动化对比服务,以便通过所述自动化对比服务确定所述业务需求中的待发布服务以及更新接口是否可以上线。
51.需要进行说明的是,若所述验证结果表征所述业务需求通过验证,则将所述业务需求发布至所述发布测试环境,并自动触发针对所述业务需求的自动化对比服务之前,还包括:基于日志采样操作、请求模拟操作、对比降噪操作、报告输出操作以及任务触发操作创建自动化对比服务。也即,需要通过日志采样模块、请求模拟模块、对比降噪模块、质检报告输出模块以及任务触发模块创建自动化对比服务,并且所述日志采样模块对应日志采样
操作,用于根据发布时创建的任务,周期性的查询trace系统里指定接口的全链路;所述请求模拟模块对应请求模拟操作,用于基于样本中每个请求体,再次分别向发布测试环境发送模拟请求,根据获取到的traceid从trace系统中获取模拟请求以及业务需求的全链路数据;所述对比降噪模块对应对比降噪操作,用于将请求模拟模块获取的数据,按已设定的降噪配置进行对比降噪处理,得到本次任务执行的最终对比结果;所述质检报告输出模块对应报告输出操作,用于整理对比结果,并输出本次变更引起的差异分享报告;所述任务触发模块对应任务触发操作,用于整合所有模块处理流程,根据设置周期性触发自动化对比服务。
52.步骤s13、基于所述自动化对比服务向所述发布测试环境发送模拟请求,并获取所述模拟请求对应的第一全链路数据以及所述业务需求对应的第二全链路数据。
53.本实施例中,基于所述自动化对比服务向所述发布测试环境发送模拟请求,并获取所述模拟请求对应的第一全链路数据以及所述业务需求对应的第二全链路数据。也即,通过自动化对比服务中的请求模拟模块执行请求模拟操作,以向创建的发布测试环境中发送模拟请求,并通过日志采样模块触发日志采样操作,已从trace系统指定的全链路中获取与模拟请求对应的第一全链路数据,并获取与业务需求对应的第二全链路数据。
54.步骤s14、对所述第一全链路数据以及所述第二全链路数据进行比对分析,并基于分析结果生成差异分析报告,以通过所述差异分析报告确定是否能够通过所述待发布服务以及所述更新接口对trace系统进行更新发布。
55.本实施例中,对所述第一全链路数据以及所述第二全链路数据进行比对分析,并基于分析结果生成差异分析报告,以通过所述差异分析报告确定是否能够通过所述待发布服务以及所述更新接口对trace系统进行更新发布。也即,在获取到第一全链路数据以及第二全链路数据后,需要通过对比降噪模块触发对比降噪操作,以便按照设定的降噪配置对第一全链路数据以及第二全链路数据进行降噪处理,得到降噪后数据,并通过质检报告输出模块触发报告输出操作,以通过所述降噪后数据输出差异分享报告,并基于所述差异分享报告确定业务需求是否达到上线标准,如果满足要求,则直接利用业务需求中的待发布服务以及更新接口对trace系统进行更新。这样一来,可以通过业务需求中的待发布服务以及更新接口直接对trace系统进行更新,避免了对系统更新时重新定制代码,有效减少了系统更新时的资源占用以及维护成本。
56.由此可见,本实施例中首先创建发布测试环境,并对业务需求进行验证测试,以生成所述业务需求的验证结果;所述业务需求包括待发布服务以及更新接口,如果若所述验证结果表征所述业务需求通过验证,则将所述业务需求发布至所述发布测试环境,并自动触发针对所述业务需求的自动化对比服务,然后基于所述自动化对比服务向所述发布测试环境发送模拟请求,并获取所述模拟请求对应的第一全链路数据以及所述业务需求对应的第二全链路数据,最后对所述第一全链路数据以及所述第二全链路数据进行比对分析,并基于分析结果生成差异分析报告,以通过所述差异分析报告确定是否能够通过所述待发布服务以及所述更新接口对trace系统进行更新发布。由此可见,通过本技术中所述零侵入的系统更新方法,可以将通过验证测试的业务需求发布至创建的发布测试环境,并通过自动化对比服务对业务需求进行处理,以生成所述业务需求的差异分析报告,以便通过所述差异分析报告确定是否能够通过所述待发布服务以及所述更新接口对trace系统进行更新发
布。这样一来,一方面,可以在业务需求上线之前通过对业务测试的验证测试,来对业务需求中存在漏洞的待发布服务以及更新接口进行修复,以提高对系统进行更新的可靠性;另一方面,可以通过业务需求中的待发布服务以及更新接口直接对trace系统进行更新,避免了对系统更新时重新定制代码,有效减少了系统更新时的资源占用以及维护成本。
57.基于前述实施例可知,本技术中需要通过自动化对比服务对业务需求进行处理,以确定所述业务需求是否可以发布上线,为此,本实施例对如何通过自动化对比服务对业务需求进行处理进行了详细的描述,参见图3所示,本发明实施例公开了一种零侵入的系统更新方法,包括:
58.步骤s21、基于任务触发操作周期性触发自动化对比服务,并通过请求模拟操作向发布测试环境发送模拟请求,以及通过日志采样操作递归查询trace系统中的全链路日志,以获得所述模拟请求对应的第一全链路数据以及业务需求对应的第二全链路数据。
59.本实施例中,基于任务触发操作周期性触发自动化对比服务,并通过请求模拟操作向发布测试环境发送模拟请求,以及通过日志采样操作递归查询trace系统中的全链路日志,以获得所述模拟请求对应的第一全链路数据以及业务需求对应的第二全链路数据。也即,如图4所示,需要先通过日志采样模块触发日志采样操作,并按照日志采样策略对预设数量秒内的日志以及最近成功的预设数量条日志进行采样,并且采样的请求头中可以添加灰度策略标记,且采样维度为系统+业务维度。需要进行说明的是,所述预设数量可以根据用户需求进行设定。然后可以根据请求模拟模块触发请求模拟操作,基于样本中每个请求体,预生产环境发送模拟请求,并根据获取到的traceid从trace系统中获取业务需求以及模拟请求的全链路数据,也即所述模拟请求对应的第一全链路数据以及所述业务需求对应的第二全链路数据。
60.步骤s22、基于对比降噪操作对所述第一全链路数据与所述第二全链路数据进行数据降噪,以得到降噪后第一全链路数据与降噪后第二全链路数据。
61.本实施例中,基于对比降噪操作对所述第一全链路数据与所述第二全链路数据进行数据降噪,以得到降噪后第一全链路数据与降噪后第二全链路数据。也即,在获得模拟请求对应的第一全链路数据以及业务需求对应的第二全链路数据后,所述第一全链路数据以及所述第二全链路数据之间对比的错误率可能很大,因此需要对所述第一全链路数据以及所述第二全链路数据按照预设的降噪配置进行降噪处理,以得到降噪后第一全链路数据与降噪后第二全链路数据。这样一来,通过对数据降噪,可以使对比分析的结果更加准确,可以有效提高本技术所述零侵入的系统更新方法的可靠性。
62.步骤s23、对降噪后第一全链路数据以及所述降噪后第二全链路数据进行对比分析,以得到对比结果。
63.本实施例中,对降噪后第一全链路数据以及所述降噪后第二全链路数据进行对比分析,以得到对比结果。也即,在得到降噪后第一全链路数据与降噪后第二全链路数据后,需要通过对比降噪模块对降噪后第一全链路数据与降噪后第二全链路数据进行对比分析,以生成最终的对比分析结果,以便通过所述对比分析结果输出差异分析报告。
64.步骤s24、通过报告输出操作基于所述对比结果生成差异分析报告,以通过所述差异分析报告确定是否能够通过业务需求中的待发布服务以及更新接口对trace系统进行更新发布。
65.本实施例中,通过报告输出操作基于所述对比结果生成差异分析报告,以通过所述差异分析报告确定是否能够通过业务需求中的待发布服务以及更新接口对trace系统进行更新发布。也即,需要基于质检报告输出模块触发针对得到的对比分析结果的报告输出操作,以生成质检报告,并且很具生成的质检报告确定业务需求中的待发布服务以及更新接口是否可以稳定上线对trace系统进行更新,并将所述质检报告保存至预设mysql数据库。需要进行说明的是,在一次流程结束后,需要通过任务触发模块整合所有模块流程,形成自动化对比服务,并设置按照周期触发所述自动化对比服务。进一步需要进行说明的是,触发周期可以根据用户需求进行设定,在此不作限定。
66.由此可见,本实施例中首先基于任务触发操作周期性触发自动化对比服务,并通过请求模拟操作向发布测试环境发送模拟请求,以及通过日志采样操作递归查询trace系统中的全链路日志,以获得所述模拟请求对应的第一全链路数据以及业务需求对应的第二全链路数据,然后基于对比降噪操作对所述第一全链路数据与所述第二全链路数据进行数据降噪,以得到降噪后第一全链路数据与降噪后第二全链路数据,对降噪后第一全链路数据以及所述降噪后第二全链路数据进行对比分析,以得到对比结果,最后通过报告输出操作基于所述对比结果生成差异分析报告,以通过所述差异分析报告确定是否能够通过业务需求中的待发布服务以及更新接口对trace系统进行更新发布。这样一来,一方面,可以基于设置的周期自动化触发自动化对比服务,有效提高了本技术中所述零侵入的系统更新方法的效率;另一方面,可以基于生成的质检报告对本次更新的不稳定性进行评估,以保障系统高频变更带来的不稳定性,从而降低生产成本和人力投入成本。
67.参见图5所示,本发明实施例公开了一种零侵入的系统更新装置,应用于trace系统,包括:
68.业务测试模块11,用于创建发布测试环境,并对业务需求进行验证测试,以生成所述业务需求的验证结果;所述业务需求包括待发布服务以及更新接口;
69.服务触发模块12,用于如果所述验证结果表征所述业务需求通过验证,则将所述业务需求发布至所述发布测试环境,并自动触发针对所述业务需求的自动化对比服务;
70.数据获取模块13,用于基于所述自动化对比服务向所述发布测试环境发送模拟请求,并获取所述模拟请求对应的第一全链路数据以及所述业务需求对应的第二全链路数据;
71.系统更新模块14,用于对所述第一全链路数据以及所述第二全链路数据进行比对分析,并基于分析结果生成差异分析报告,以通过所述差异分析报告确定是否能够通过所述待发布服务以及所述更新接口对trace系统进行更新发布。
72.由此可见,本实施例中,首先创建发布测试环境,并对业务需求进行验证测试,以生成所述业务需求的验证结果;所述业务需求包括待发布服务以及更新接口,如果若所述验证结果表征所述业务需求通过验证,则将所述业务需求发布至所述发布测试环境,并自动触发针对所述业务需求的自动化对比服务,然后基于所述自动化对比服务向所述发布测试环境发送模拟请求,并获取所述模拟请求对应的第一全链路数据以及所述业务需求对应的第二全链路数据,最后对所述第一全链路数据以及所述第二全链路数据进行比对分析,并基于分析结果生成差异分析报告,以通过所述差异分析报告确定是否能够通过所述待发布服务以及所述更新接口对trace系统进行更新发布。由此可见,通过本技术中所述零侵入
的系统更新方法,可以将通过验证测试的业务需求发布至创建的发布测试环境,并通过自动化对比服务对业务需求进行处理,以生成所述业务需求的差异分析报告,以便通过所述差异分析报告确定是否能够通过所述待发布服务以及所述更新接口对trace系统进行更新发布。这样一来,可以通过业务需求对trace系统进行更新,避免了代码变更,有效降低生产成本和人力投入成本。
73.在一些实施例中,所述业务测试模块11,具体可以包括:
74.环境创建单元,用于创建发布测试环境;
75.测试单元,用于对所述业务需求中的待发布服务以及更新接口进行验证测试;
76.第一验证结果生成单元,用于如果所述待发布服务以及所述更新接口未通过验证测试,则生成没有通过测试的第一验证结果;
77.漏洞修复单元,用于基于所述第一验证结果对所述待发布服务以及所述更新接口中存在的漏洞进行修复,并对修复后待发布服务以及修复后更新接口进行验证测试,直至所述修复后待发布服务以及所述修复后更新接口通过验证测试;
78.第一验证结果生成单元,用于如果所述待发布服务以及所述更新接口通过验证测试,则生成通过测试的第二验证结果。
79.在一些实施例中,所述零侵入的系统更新装置,还可以包括:
80.服务创建模块,用于基于日志采样操作、请求模拟操作、对比降噪操作、报告输出操作以及任务触发操作创建自动化对比服务。
81.在一些实施例中,所述服务触发模块12,具体可以包括:
82.服务触发单元,用于如果所述验证结果表征所述业务需求通过验证,则将所述业务需求发布至所述发布测试环境,以在所述发布测试环境中自动触发针对所述业务需求的自动化对比服务,并通过所述自动化对比服务确定所述业务需求是否能够发布上线。
83.在一些实施例中,所述数据获取模块13,具体可以包括:
84.数据获取单元,用于基于所述任务触发操作周期性触发自动化对比服务,并通过所述请求模拟操作向所述发布测试环境发送模拟请求,以及通过日志采样操作递归查询trace系统中的全链路日志,以获得所述模拟请求对应的第一全链路数据以及所述业务需求对应的第二全链路数据。
85.在一些实施例中,所述系统更新模块14,具体可以包括:
86.数据降噪单元,用于基于所述对比降噪操作对所述第一全链路数据与所述第二全链路数据进行数据降噪,以得到降噪后第一全链路数据与降噪后第二全链路数据;
87.数据对比单元,用于对所述降噪后第一全链路数据以及所述降噪后第二全链路数据进行对比分析,以得到对比结果;
88.系统更新单元,用于通过所述报告输出操作基于所述对比结果生成差异分析报告,以通过所述差异分析报告确定是否能够通过所述业务需求中的所述待发布服务以及所述更新接口对trace系统进行更新发布。
89.进一步的,本技术实施例还公开了一种电子设备,图6是根据一示例性实施例示出的电子设备20结构图,图中的内容不能认为是对本技术的使用范围的任何限制。
90.图6为本技术实施例提供的一种电子设备20的结构示意图。该电子设备20,具体可以包括:至少一个处理器21、至少一个存储器22、电源23、通信接口24、输入输出接口25和通
信总线26。其中,所述存储器22用于存储计算机程序,所述计算机程序由所述处理器21加载并执行,以实现前述任一实施例公开的零侵入的系统更新方法中的相关步骤。另外,本实施例中的电子设备20具体可以为电子计算机。
91.本实施例中,电源23用于为电子设备20上的各硬件设备提供工作电压;通信接口24能够为电子设备20创建与外界设备之间的数据传输通道,其所遵循的通信协议是能够适用于本技术技术方案的任意通信协议,在此不对其进行具体限定;输入输出接口25,用于获取外界输入数据或向外界输出数据,其具体的接口类型可以根据具体应用需要进行选取,在此不进行具体限定。
92.另外,存储器22作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,其上所存储的资源可以包括操作系统221、计算机程序222等,存储方式可以是短暂存储或者永久存储。
93.其中,操作系统221用于管理与控制电子设备20上的各硬件设备以及计算机程序222,其可以是windows server、netware、unix、linux等。计算机程序222除了包括能够用于完成前述任一实施例公开的由电子设备20执行的零侵入的系统更新方法的计算机程序之外,还可以进一步包括能够用于完成其他特定工作的计算机程序。
94.进一步的,本技术还公开了一种计算机可读存储介质,用于存储计算机程序;其中,所述计算机程序被处理器执行时实现前述公开的零侵入的系统更新方法。关于该方法的具体步骤可以参考前述实施例中公开的相应内容,在此不再进行赘述。
95.本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
96.专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
97.结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。
98.最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
99.以上对本技术所提供的技术方案进行了详细介绍,本文中应用了具体个例对本技术的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本技术的方法及其核心思想;同时,对于本领域的一般技术人员,依据本技术的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本技术的限制。

技术特征:
1.一种零侵入的系统更新方法,其特征在于,应用于trace系统,包括:创建发布测试环境,并对业务需求进行验证测试,以生成所述业务需求的验证结果;所述业务需求包括待发布服务以及更新接口;若所述验证结果表征所述业务需求通过验证,则将所述业务需求发布至所述发布测试环境,并自动触发针对所述业务需求的自动化对比服务;基于所述自动化对比服务向所述发布测试环境发送模拟请求,并获取所述模拟请求对应的第一全链路数据以及所述业务需求对应的第二全链路数据;对所述第一全链路数据以及所述第二全链路数据进行比对分析,并基于分析结果生成差异分析报告,以通过所述差异分析报告确定是否能够通过所述待发布服务以及所述更新接口对trace系统进行更新发布。2.根据权利要求1所述的零侵入的系统更新方法,其特征在于,所述创建发布测试环境,并对业务需求进行验证测试,以生成所述业务需求的验证结果,包括:创建发布测试环境,并对所述业务需求中的待发布服务以及更新接口进行验证测试;若所述待发布服务以及所述更新接口未通过验证测试,则生成没有通过测试的第一验证结果;基于所述第一验证结果对所述待发布服务以及所述更新接口中存在的漏洞进行修复,并对修复后待发布服务以及修复后更新接口进行验证测试,直至所述修复后待发布服务以及所述修复后更新接口通过验证测试;若所述待发布服务以及所述更新接口通过验证测试,则生成通过测试的第二验证结果。3.根据权利要求1所述的零侵入的系统更新方法,其特征在于,所述若所述验证结果表征所述业务需求通过验证,则将所述业务需求发布至所述发布测试环境,并自动触发针对所述业务需求的自动化对比服务之前,还包括:基于日志采样操作、请求模拟操作、对比降噪操作、报告输出操作以及任务触发操作创建自动化对比服务。4.根据权利要求3所述的零侵入的系统更新方法,其特征在于,所述基于所述自动化对比服务向所述发布测试环境发送模拟请求,并获取所述模拟请求对应的第一全链路数据以及所述业务需求对应的第二全链路数据,包括:基于所述任务触发操作周期性触发自动化对比服务,并通过所述请求模拟操作向所述发布测试环境发送模拟请求,以及通过日志采样操作递归查询trace系统中的全链路日志,以获得所述模拟请求对应的第一全链路数据以及所述业务需求对应的第二全链路数据。5.根据权利要求4所述的零侵入的系统更新方法,其特征在于,所述对所述第一全链路数据以及所述第二全链路数据进行比对分析,并基于分析结果生成差异分析报告,以通过所述差异分析报告确定是否能够通过所述待发布服务以及所述更新接口对trace系统进行更新发布,包括:基于所述对比降噪操作对所述第一全链路数据与所述第二全链路数据进行数据降噪,以得到降噪后第一全链路数据与降噪后第二全链路数据;对所述降噪后第一全链路数据以及所述降噪后第二全链路数据进行对比分析,以得到对比结果;
通过所述报告输出操作基于所述对比结果生成差异分析报告,以通过所述差异分析报告确定是否能够通过所述业务需求中的所述待发布服务以及所述更新接口对trace系统进行更新发布。6.根据权利要求1至5任一项所述的零侵入的系统更新方法,其特征在于,所述若所述验证结果表征所述业务需求通过验证,则将所述业务需求发布至所述发布测试环境,并自动触发针对所述业务需求的自动化对比服务,包括:如果所述验证结果表征所述业务需求通过验证,则将所述业务需求发布至所述发布测试环境,以在所述发布测试环境中自动触发针对所述业务需求的自动化对比服务,并通过所述自动化对比服务确定所述业务需求是否能够发布上线。7.一种零侵入的系统更新装置,其特征在于,应用于trace系统,包括:业务测试模块,用于创建发布测试环境,并对业务需求进行验证测试,以生成所述业务需求的验证结果;所述业务需求包括待发布服务以及更新接口;服务触发模块,用于如果所述验证结果表征所述业务需求通过验证,则将所述业务需求发布至所述发布测试环境,并自动触发针对所述业务需求的自动化对比服务;数据获取模块,用于基于所述自动化对比服务向所述发布测试环境发送模拟请求,并获取所述模拟请求对应的第一全链路数据以及所述业务需求对应的第二全链路数据;系统更新模块,用于对所述第一全链路数据以及所述第二全链路数据进行比对分析,并基于分析结果生成差异分析报告,以通过所述差异分析报告确定是否能够通过所述待发布服务以及所述更新接口对trace系统进行更新发布。8.根据权力要求7所述的零侵入的系统更新装置,其特征在于,所述任务触发模块,包括:服务触发单元,用于如果所述验证结果表征所述业务需求通过验证,则将所述业务需求发布至所述发布测试环境,以在所述发布测试环境中自动触发针对所述业务需求的自动化对比服务,并通过所述自动化对比服务确定所述业务需求是否能够发布上线。9.一种电子设备,其特征在于,包括:存储器,用于保存计算机程序;处理器,用于执行所述计算机程序以实现如权利要求1至6任一项所述的零侵入的系统更新方法。10.一种计算机可读存储介质,其特征在于,用于保存计算机程序,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述的零侵入的系统更新方法。

技术总结
本申请公开了一种零侵入的系统更新方法、装置、设备及存储介质,涉及计算机研发质量保障领域,包括:创建发布测试环境,对业务需求进行验证测试,以生成业务需求的验证结果;若验证结果表征业务需求通过验证,则将业务需求发布至发布测试环境,并触发自动化对比服务;基于自动化对比服务向发布测试环境发送模拟请求,并获取模拟请求对应的第一全链路数据以及业务需求对应的第二全链路数据;对第一全链路数据以及第二全链路数据进行比对分析,并基于分析结果生成差异分析报告,以通过差异分析报告确定是否能够通过业务需求对trace系统进行更新发布。这样一来,可以通过业务需求对trace系统进行更新,避免了代码变更,有效降低生产成本和人力投入成本。成本和人力投入成本。成本和人力投入成本。


技术研发人员:张大鹏 周鑫
受保护的技术使用者:上海微盟企业发展有限公司
技术研发日:2023.06.19
技术公布日:2023/9/16
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐