技术新讯 > 计算推算,计数设备的制造及其应用技术 > 一种回退方法、回退装置与流程  >  正文

一种回退方法、回退装置与流程

  • 国知局
  • 2024-10-09 15:05:01

本技术涉及但不限于软件回退领域,尤其涉及一种回退方法、回退装置。

背景技术:

1、随着软件技术的快速发展,软件需要不断更新升级来修复漏洞、增添功能以及提升性能。然而,新版本软件升级成功后可能出现兼容性问题或引发功能故障,这种情况下需要将新版本软件回退到稳定可靠的旧版本软件以保障正常运行。

2、相关技术中,控制器的软件回退策略通常为被动回退机制,只能在控制器软件升级失败时进行被动回退,无法实现控制器软件升级成功之后的主动回退。

技术实现思路

1、有鉴于此,本技术实施例提供一种回退方法、回退装置。

2、本技术的技术方案是这样实现的:

3、第一方面,本技术实施例提供一种回退方法,回退方法应用于上位机,包括:在目标应用的第一版本程序成功刷写至控制器的双分区系统之后,检测控制器的工作状态;其中,双分区系统包括激活区域和非激活区域;第一版本程序运行在激活区域,非激活区域存储有目标应用的第二版本程序;在控制器的工作状态出现异常的情况下,基于目标切区方式控制控制器对激活区域和非激活区域进行切换;其中,目标切区方式为服务切区方式、报文切区方式中一种;服务切区方式为基于统一诊断服务进行切区的方式;报文切区方式为基于通讯报文进行切区的方式;在切换成功之后,将目标应用从第一版本程序回退为第二版本程序。

4、本技术实施例中,在第一版本程序成功刷写至控制器的双分区系统之后控制器的工作状态出现异常的情况下,通过选择基于统一诊断服务或基于通讯报文的切区方式控制控制器对激活区域和非激活区域进行切换,可以实现在控制器软件升级成功之后将第一版本程序主动回退到第二版本程序。如此,不仅可以弥补现有技术无法在控制器软件升级成功之后进行主动回退的技术空白,还能够兼顾控制器软件的回退效率和安全性,提升系统稳定性和可靠性。

5、在一些实施例中,服务切区方式包括第一服务切区方式和第二服务切区方式,第一服务切区方式为基于应用程序的统一诊断服务进行切区的方式,第二服务切区方式为基于引导程序的统一诊断服务进行切区的方式;基于目标切区方式控制控制器对激活区域和非激活区域进行切换,包括:在应用程序的统一诊断服务的工作状态为正常的情况下,基于第一服务切区方式控制控制器对激活区域和非激活区域进行切换;在应用程序的统一诊断服务的工作状态为异常的情况下,基于第二服务切区方式控制控制器对激活区域和非激活区域进行切换。

6、本技术实施例中,通过确定应用程序的统一诊断服务的工作状态,可以实现根据应用程序的统一诊断服务的工作状态的不同,在应用程序的统一诊断服务和引导程序的统一诊断服务中选择其一来触发控制器的切区操作,以此完成对控制器软件的回退。如此,通过根据不同的操作系统运行阶段来选择可行的统一诊断服务,能够有效提高基于统一诊断服务触发控制器的切区操作时的适应性和灵活性,满足不同回退场景下的回退需求。

7、在一些实施例中,报文切区方式包括第一报文切区方式和第二报文切区方式,第一报文切区方式为基于控制器的第一通讯报文进行切区的方式,第一通讯报文为控制器局域网络can报文;第二报文切区方式为基于控制器的第二通讯报文进行切区的方式,第二通讯报文为通用校准协议xcp报文;基于目标切区方式控制控制器对激活区域和非激活区域进行切换,包括:在控制器的第一通讯报文的工作状态为正常的情况下,基于第一报文切区方式控制控制器对激活区域和非激活区域进行切换;在控制器的第一通讯报文的工作状态为异常的情况下,基于第二报文切区方式控制控制器对激活区域和非激活区域进行切换。

8、本技术实施例中,通过确定控制器的第一通讯报文的工作状态,可以实现根据控制器的第一通讯报文的工作状态的不同,在控制器的第一通讯报文和控制器的第二通讯报文中选择其一来触发控制器的切区操作,以此完成对控制器软件的回退。如此,通过根据不同通讯报文的收发状态来选择便捷可行的通讯报文类型,能够有效提高基于通讯报文触发控制器的切区操作时的适应性和灵活性,满足不同回退场景下的回退需求。

9、在一些实施例中,基于第一服务切区方式控制控制器对激活区域和非激活区域进行切换,包括:向控制器发送切区诊断请求;其中,切区诊断请求用于使控制器调用切区诊断例程进行切区诊断;切区诊断例程用于对控制器进行切区条件检查和身份安全校验;在控制器发送的切区诊断结果为通过的情况下,向控制器发送切区执行请求,以使控制器调用切区执行例程,对激活区域和非激活区域进行切换。

10、本技术实施例中,通过预先配置切区诊断例程,可以利用切区诊断例程对控制器进行全面准确的切区前检查,提前发现潜在问题和风险,为后续切区操作提供准确评估和决策依据;通过预先配置切区执行例程,可以利用切区执行例程按照预设规则和步骤来执行切区操作,最大程度减少切换过程中的时间延迟和资源消耗。如此,可以提高切区过程中的高效性、稳定性和安全性,确保切区操作的成功执行。

11、在一些实施例中,基于第二服务切区方式控制控制器对激活区域和非激活区域进行切换,包括:开启控制器的目标功能;目标功能用于使控制器保持在引导程序运行阶段;响应于目标功能的成功开启,基于第二服务切区方式控制控制器对激活区域和非激活区域进行切换。

12、本技术实施例中,通过开启控制器的目标功能,使控制器保持在引导程序运行阶段,可以在引导程序阶段基于引导程序的统一诊断服务来触发控制器的切区操作。如此,在应用程序的统一诊断服务的工作状态为异常的情况下,仍然能够实现基于统一诊断服务来触发控制器的切区操作,在满足不同回退场景下的回退需求的同时,还能兼顾控制器软件的回退效率和安全性。

13、在一些实施例中,基于第一报文切区方式控制控制器对激活区域和非激活区域进行切换,包括:向控制器发送唯一序列值获取请求;唯一序列值获取请求用于请求控制器返回控制器的唯一序列值;基于唯一序列值对目标can报文进行加密;向控制器发送加密后的目标can报文,以使控制器响应于加密后的目标can报文,对激活区域和非激活区域进行切换。

14、本技术实施例中,通过获取控制器的唯一序列值,可以实现基于控制器的唯一序列值对目标can报文进行加密传输,使得控制器响应于加密后的目标can报文对激活区域和非激活区域进行切换。这样,通过使用目标can报文来绑定切区操作,可以使得切区操作的触发方式更加灵活、易于实现,有助于提高切区操作的触发方式的普适性和多样性,还可以降低目标can报文被非法拦截和破解的风险,提高基于通讯报文来触发切区操作的安全性和保密性。

15、在一些实施例中,回退方法还包括:获取参考优先级信息;参考优先级信息用于表征服务切区方式与报文切区方式之间的优先级;在参考优先级信息表征服务切区方式优先于报文切区方式的情况下,将服务切区方式确定为目标切区方式;在参考优先级信息表征报文切区方式优先于服务切区方式的情况下,将报文切区方式确定为目标切区方式。

16、本技术实施例中,通过获取参考优先级信息,可以根据服务切区方式与报文切区方式之间的不同优先级,在服务切区方式和报文切区方式中确定控制器的目标切区方式。这样,能够使得切区操作的触发方式更加合理、高效,保证在不同使用场景下都能以最优方式来触发切区操作。

17、在一些实施例中,在获取参考优先级信息之前,回退方法还包括:分别确定服务切区方式、报文切区方式的可行性分值,得到第一可行性分值、第二可行性分值;可行性分值基于执行切区方式包括的至少一个切区步骤时的安全程度和复杂程度确定;在第一可行性分值大于或等于第二可行性分值的情况下,确定参考优先级信息为服务切区方式优先于报文切区方式;在第一可行性分值小于第二可行性分值的情况下,确定参考优先级信息为报文切区方式优先于服务切区方式。

18、本技术实施例中,通过基于执行切区方式包括的至少一个切区步骤时的安全程度和复杂程度,来确定服务切区方式、报文切区方式的第一可行性分值、第二可行性分值,可以实现根据第一可行性分值与第二可行性分值的大小关系,确定服务切区方式与报文切区方式之间的不同优先级。这样,通过对服务切区方式、报文切区方式进行科学合理、系统全面的可行性评估,可以提高最终得到的参考优先级信息的准确性和合理性,能够为控制器选择最合适的切区方式提供明确依据,保证系统在各种情况下都能便捷、安全地完成切区操作。

19、第二方面,本技术实施例提供又一种回退方法,回退方法应用于控制器,包括:接收上位机发送的回退请求;回退请求是在目标应用的第一版本程序成功刷写至控制器的双分区系统之后控制器的工作状态出现异常的情况下发送的,双分区系统包括激活区域和非激活区域;第一版本程序运行在激活区域,非激活区域存储有目标应用的第二版本程序;回退请求中携带控制器的目标切区方式;目标切区方式为服务切区方式、报文切区方式中一种;服务切区方式为基于统一诊断服务进行切区的方式;报文切区方式为基于通讯报文进行切区的方式;基于目标切区方式与上位机进行交互,并对激活区域和非激活区域进行切换;在切换成功后执行重启操作,以使控制器基于第二版本程序进行启动。

20、本技术实施例中,通过接收上位机发送的回退请求,可以实现在第一版本程序成功刷写至控制器的双分区系统之后控制器的工作状态出现异常的情况下,选择基于统一诊断服务或基于通讯报文的切区方式对控制器的双分区系统的激活区域和非激活区域进行切换,进而实现在控制器软件升级成功之后将第一版本程序主动回退到第二版本程序。如此,不仅可以弥补现有技术无法在控制器软件升级成功之后进行主动回退的技术空白,还能够兼顾控制器软件的回退效率和安全性,提升系统稳定性和可靠性。

21、第三方面,本技术实施例提供一种回退装置,回退装置部署于上位机,回退装置包括:

22、检测单元,用于在目标应用的第一版本程序成功刷写至控制器的双分区系统之后,检测控制器的工作状态;其中,双分区系统包括激活区域和非激活区域;第一版本程序运行在激活区域,非激活区域存储有目标应用的第二版本程序;

23、控制单元,用于在控制器的工作状态出现异常的情况下,基于目标切区方式控制控制器对激活区域和非激活区域进行切换;其中,目标切区方式为服务切区方式、报文切区方式中一种;服务切区方式为基于统一诊断服务进行切区的方式;报文切区方式为基于通讯报文进行切区的方式;

24、回退单元,用于在切换成功之后,将目标应用从第一版本程序回退为第二版本程序。

25、第四方面,本技术实施例提供又一种回退装置,回退装置部署于控制器,回退装置包括:

26、接收单元,用于接收上位机发送的回退请求;回退请求是在目标应用的第一版本程序成功刷写至控制器的双分区系统之后控制器的工作状态出现异常的情况下发送的,双分区系统包括激活区域和非激活区域;第一版本程序运行在激活区域,非激活区域存储有目标应用的第二版本程序;回退请求中携带控制器的目标切区方式;目标切区方式为服务切区方式、报文切区方式中一种;服务切区方式为基于统一诊断服务进行切区的方式;报文切区方式为基于通讯报文进行切区的方式;

27、切换单元,用于基于目标切区方式与上位机进行交互,并对激活区域和非激活区域进行切换;

28、重启单元,用于在切换成功后执行重启操作,以使控制器基于第二版本程序进行启动。

29、第五方面,本技术实施例提供一种电子设备,该电子设备包括存储器和处理器,存储器上存储有计算机程序或者指令,该计算机程序或者指令被处理器执行时,实现上述第一方面或第二方面提供的回退方法。

30、第六方面,本技术实施例提供一种存储介质,该存储介质上存储有计算机程序或者指令,该计算机程序或者指令被处理器执行时实现上述第一方面或第二方面提供的回退方法。

31、第七方面,本技术实施例提供一种计算机程序产品,该计算机程序产品包括计算机程序或者指令,该计算机程序或者指令被处理器执行时,实现上述第一方面或第二方面提供的回退方法。

32、应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,而非限制本技术的技术方案。

本文地址:https://www.jishuxx.com/zhuanli/20241009/307544.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。