防止软件退化的方法、装置、设备及存储介质制造方法及图纸

技术编号:22329978 阅读:13 留言:0更新日期:2019-10-19 12:15
本发明专利技术实施例公开了一种防止软件退化的方法、装置、设备及存储介质。该方法包括:依据软件变更请求生成变更单,在预先搭建的沙盒环境中进行软件变更,沙盒环境与待变更软件线上运行的生产环境配置一致;将生产环境中针对待变更软件的实时用户请求,引流至沙盒环境中处理;分别从沙盒环境和生产环境中提取处理实时用户请求的软件性能数据;将软件性能数据进行对比分析,根据对比分析的结果判断待变更软件变更后是否退化。本发明专利技术实施例通过在与生产环境配置一致的沙盒环境中进行软件变更,并通过用户请求引流,实现测试环境和用户请求与实际环境中的一致性,结合性能数据分析对比提高了软件性能测试的准确性和客观性,从而实现防止软件退化。

【技术实现步骤摘要】
防止软件退化的方法、装置、设备及存储介质
本专利技术实施例涉及计算机软件
,尤其涉及一种防止软件退化的方法、装置、设备及存储介质。
技术介绍
随着移动互联网和AI技术的快速发展,越来越多的云+端的服务出现,为用户的生活提供了便利。由于用户的需求也越来越多样,因此服务的软件也会随之而进行快速的迭代和升级,以满足用户多样化的需求。但是在软件更新的过程中,往往是其更新的性能够满足用户多样的需求,但是却忽略了更新后软件的时延性能和云端服务的性能,时延是用户可以直接感受到的最明显的一种体验,时延增加会给用户造成较差的体验。目前,在对更新的软件进行测试过程中,测试环境和请求成分往往与实际的线上环境和请求成分不一致,导致测试的性能数据与实际线上的性能数据不同,因此测试的准确度较低。若直接对于实际的线上软件进行测试,则会导致测试以及问题的发现存在滞后性,软件更新后的回滚成本较大,并且给用户造成较差的体验。另外,对于各种测试方法,数据分析和得出结论均为人为主观判断,导致测试结果不客观。
技术实现思路
本专利技术实施例提供一种防止软件退化的方法、装置、设备及存储介质,以实现对软件变更过程进行准确客观的测试,从而防止软件退化。第一方面,本专利技术实施例提供了一种防止软件退化的方法,该方法包括:依据软件变更请求生成变更单,其中,所述变更单中记载有与待变更软件进行软件变更相关的信息;依据所述变更单,在预先搭建的沙盒环境中进行软件变更,其中,所述沙盒环境与所述待变更软件线上运行的生产环境配置一致;将所述生产环境中针对所述待变更软件的实时用户请求,引流至所述沙盒环境中处理;分别从所述沙盒环境和所述生产环境中提取处理所述实时用户请求的软件性能数据;将所述沙盒环境和所述生产环境中各自的软件性能数据进行对比分析,根据对比分析的结果判断所述待变更软件变更后是否退化。第二方面,本专利技术实施例提供了一种防止软件退化的检测装置,该装置包括:变更单生成模块,用于依据软件变更请求生成变更单,其中,所述变更单中记载有与待变更软件进行软件变更相关的信息;沙盒环境软件变更模块,用于依据所述变更单,在预先搭建的沙盒环境中进行软件变更,其中,所述沙盒环境与所述待变更软件线上运行的生产环境配置一致;引流模块,用于将所述生产环境中针对所述待变更软件的实时用户请求,引流至所述沙盒环境中处理;时延数据提取模块,用于分别从所述沙盒环境和所述生产环境中提取处理所述实时用户请求的软件性能数据;判断模块,用于将所述沙盒环境和所述生产环境中各自的软件性能数据进行对比分析,根据对比分析的结果判断所述待变更软件变更后是否退化。第三方面,本专利技术实施例还提供了一种设备,该设备包括:一个或多个处理器;存储器,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本专利技术实施例中任一所述的防止软件退化的方法。第四方面,本专利技术实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本专利技术实施例中任一所述的防止软件退化的方法。本专利技术实施例中通过预先搭建与生产环境配置一致的沙盒环境,并将生产环境中的实时用户请求引流至沙盒环境中,使沙盒环境与生产环境保持完全一致,从而使测试的环境以及请求与实际的生产环境以及请求完全一致,保证了测试数据的准确性,通过在沙盒环境中进行软件变更,并分别获取沙盒环境和生产环境中处理实时用户请求的软件性能数据,对软件性能数据进行分析对比,从而能够准确分析出变更后的软件是否发生退化,进而对变更软件进行调试以防止软件退化。附图说明图1是本专利技术实施例一中的一种防止软件退化的方法的流程图;图2是本专利技术实施例一中的软件变更示意图;图3是本专利技术实施例一中的实时用户请求引流示意图;图4是本专利技术实施例二中的一种防止软件退化的方法的流程图;图5是本专利技术实施例二中的一种防止软件退化的方法的具体实现过程流程图;图6是本专利技术实施例二中的软件时延指标数据监测示意图;图7是本专利技术实施例二中的防退化处理示意图;图8是本专利技术实施例三中的一种防止软件退化的检测装置结构示意图;图9是本专利技术实施例四中的一种设备的结构示意图。具体实施方式下面结合附图和实施例对本专利技术作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本专利技术,而非对本专利技术的限定。另外还需要说明的是,为便于描述,附图中仅示出了与本专利技术相关的部分而非全部结构。实施例一图1是本专利技术实施例一中的一种防止软件退化的方法的流程图。本实施例提供的防止软件退化的方法可适用于对软件进行更新时进行准确的测试以防止变更软件发生退化的情况,该方法具体可以由防止软件退化的检测装置来执行,该装置可以由软件和/或硬件的方式实现,该装置可以集成在设备中,所述设备可以为计算机设备或服务器,其中配置有防退化系统、变更系统、引流系统、监测系统和部署系统等,参见图1,本专利技术实施例的方法具体包括:S110、依据软件变更请求生成变更单,其中,所述变更单中记载有与待变更软件进行软件变更相关的信息。其中,所述软件可以为云端服务中的软件,所述云端服务可以为人脸识别服务、语音识别服务、指纹识别服务等,所述软件变更请求可以为响应于技术人员更新软件的操作产生的请求,所述变更单为根据前端的配置输入生成的,其中记载有与待变更软件进行软件变更相关的信息,例如需要更新的软件包的下载地址,变更的对象,服务器的分配信息等。所述待变更软件为需要进行更新的软件。如图2所示,变更单中包括对软件进行增删改查一系列更新操作的信息,用于触发生产环境和沙盒环境进行软件变更,例如触发软件从版本1.0变更至版本1.1。具体的,技术人员可以通过前端界面进行更新软件的操作,服务器或计算机设备接收到软件变更请求后,根据技术人员请求时的前端配置输入,生成软件请求变更单,以根据软件变更单对待变更软件进行更新。S120、依据所述变更单,在预先搭建的沙盒环境中进行软件变更,其中,所述沙盒环境与所述待变更软件线上运行的生产环境配置一致。其中,沙盒环境用于为运行中的程序提供隔离环境。沙盒环境为预先根据生产环境搭建的,沙盒环境与待变更软件线上运行的生产环境配置一致,以保证测试的环境与实际应用中的软件运行环境相一致,从而保证测试数据的可靠性和准确性。所述沙盒环境可以利用预先设计的部署系统进行搭建,实现在硬件层面和软件层面均与实际的生产系统完全相一致,例如其CPU、内存、操作系统、内核、软件、服务器以及接口数等其他配置均完全一致。具体的,服务器或计算机中的变更系统依据变更单在预先搭建的沙盒环境中进行软件变更,从而保证沙盒环境和生产环境的硬件、系统、软件和配置等方面的完全一致。将沙盒环境中的软件更新至新一级的版本,而生产环境保留更新前的版本,对软件进行测试,从而及时准确地分析出软件更新后相对于更新前存在的问题,以对更新后的软件及时进行调试优化。可选的,依据所述变更单,在预先搭建的沙盒环境中进行软件变更之前,所述方法还包括:中断在上一次对所述待变更软件进行软件变更时进行的实时用户请求引流。具体的,为了能够有效地保证对当前沙盒环境中的软件进行正常更新,中断上一次对待变更软件进行软件变更时进行的实时用户请求引流,从而防止沙盒环境中的软件继续执行引流的实时用户请求而导致软本文档来自技高网...

【技术保护点】
1.一种防止软件退化的方法,其特征在于,所述方法包括:依据软件变更请求生成变更单,其中,所述变更单中记载有与待变更软件进行软件变更相关的信息;依据所述变更单,在预先搭建的沙盒环境中进行软件变更,其中,所述沙盒环境与所述待变更软件线上运行的生产环境配置一致;将所述生产环境中针对所述待变更软件的实时用户请求,引流至所述沙盒环境中处理;分别从所述沙盒环境和所述生产环境中提取处理所述实时用户请求的软件性能数据;将所述沙盒环境和所述生产环境中各自的软件性能数据进行对比分析,根据对比分析的结果判断所述待变更软件变更后是否退化。

【技术特征摘要】
1.一种防止软件退化的方法,其特征在于,所述方法包括:依据软件变更请求生成变更单,其中,所述变更单中记载有与待变更软件进行软件变更相关的信息;依据所述变更单,在预先搭建的沙盒环境中进行软件变更,其中,所述沙盒环境与所述待变更软件线上运行的生产环境配置一致;将所述生产环境中针对所述待变更软件的实时用户请求,引流至所述沙盒环境中处理;分别从所述沙盒环境和所述生产环境中提取处理所述实时用户请求的软件性能数据;将所述沙盒环境和所述生产环境中各自的软件性能数据进行对比分析,根据对比分析的结果判断所述待变更软件变更后是否退化。2.根据权利要求1所述的方法,其特征在于,所述依据所述变更单,在预先搭建的沙盒环境中进行软件变更之前,所述方法还包括:中断在上一次对所述待变更软件进行软件变更时进行的实时用户请求引流。3.根据权利要求1所述的方法,其特征在于,所述将所述生产环境中针对所述待变更软件的实时用户请求,引流至所述沙盒环境中处理,包括:获取所述生产环境中针对所述待变更软件的实时用户请求;将所述实时用户请求转发至所述沙盒环境中处理。4.根据权利要求1所述的方法,其特征在于,所述软件性能数据包括软件时延数据;相应的,所述分别从所述沙盒环境和所述生产环境中提取处理所述实时用户请求的软件性能数据,包括:分别在所述沙盒环境和所述生产环境中,采集预设的观察周期之内处理所述实时用户请求的所有模块的模块日志,其中,每个实时用户请求具有唯一ID,所述模块日志中包括基于所述唯一ID跟踪得到的每个实时用户请求的处理链路中所涉及到的各模块的时延数据;根据所述唯一ID从所述模块日志中提取所述时延数据并进行统计,分别得到所述沙盒环境和所述生产环境中,针对单个实时用户请求的至少一种时延指标数据,或者针对至少两个实时用户请求经汇聚得到的至少一种时延指标数据。5.根据权利要求4所述的方法,其特征在于,所述时延指标数据包括如下中的至少之一:单模块耗时、整体耗时、耗时增加模块个数、不同请求类型的耗时。6.根据权利要求4所述的方法,其特征在于,所述将所述沙盒环境和所述生产环境中各自的软件性能数据进行对比分析,包括:按照预设的决策树算法和预设的指标阈值,对所述沙盒环境和所述生产环境中各自的至少一种时延指标数据进行对比分析。7.根据权利要求1所述的方法,其特征在于,所述方法还包括:如果判断出所述待变更软件变更后未发生退化,则将所述变更单下发至所述生产环境,并指示所述生产环境依据所述变更单对所述待变更软件进行软件变更。8.一种软件时延防退化装置,其特征在于,所述装置包括:变更单生成模块,用于依据软件变更请求生成变更...

【专利技术属性】
技术研发人员:师钒杰王泽宇
申请(专利权)人:北京百度网讯科技有限公司
类型:发明
国别省市:北京,11

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

1