一种基于诊断服务报文的软件程序回滚方法和装置与流程
- 国知局
- 2024-11-06 14:28:11
本申请涉及汽车电子,具体涉及一种基于诊断服务报文的软件程序回滚方法和装置。
背景技术:
1、目前,对于现有的程序逻辑,是否进行程序备份以及程序异常时是否进入程序回滚,这些操作执行的自由度不高;其次,更新软件时产生的异常情况导致软件未成功更新,且旧软件已经被擦除。如此使得软件出现异常时难以进行回滚。
2、因此,亟需一种软件程序回滚方法,避免软件程序难以进行回滚的情况。
技术实现思路
1、鉴于此,本申请提供了一种基于诊断服务报文的软件程序回滚方法和装置。
2、第一方面,本申请提供了一种基于诊断服务报文的软件程序回滚方法,所述方法包括:
3、获取目标下载请求;
4、基于所述目标下载请求将第一目标软件下载至软件运行区域;
5、获取第一诊断服务报文,所述第一诊断服务报文中包括备份操作请求;
6、基于所述备份操作请求执行备份操作,所述备份操作用于将所述第一目标软件从所述软件运行区域拷贝至软件备份存储区域进行存储,得到第二目标软件;
7、获取第二诊断服务报文,所述第二诊断服务报文中包括回滚操作请求;
8、基于所述回滚操作请求执行回滚操作,所述回滚操作用于将所述软件运行区域中的第一目标软件擦除,并将第二目标软件从所述软件备份存储区域拷贝至所述软件运行区域,得到第三目标软件。
9、在一种可能实现的方式中,所述基于所述目标下载请求将目标软件下载至软件运行区域,包括:
10、获取第一校验和;
11、将所述第一目标软件的数据内容作为输入,计算第二校验和;
12、若所述第一校验与所述第二校验和相同,则确定所述软件运行区域为有效区域并所述目标软件成功下载至所述软件运行区域。
13、在一种可能实现的方式中,所述基于所述备份操作请求执行备份操作,包括:
14、将所述第二目标软件的数据内容作为输入,计算第三校验和;
15、若所述第二校验和与所述第三校验和相同,则确定所述软件备份存储区域为有效区域并确定所述备份操作执行成功。
16、在一种可能实现的方式中,所述基于所述回滚操作请求执行回滚操作,包括:
17、将所述第三目标软件的数据内容作为输入,计算第四校验和;
18、若所述第三校验和与所述第四校验和相同,则确定所述回滚操作执行成功。
19、在一种可能实现的方式中,若所述备份操作执行失败,所述方法还包括:
20、获取目标复位数据;
21、基于所述目标复位数据确定电子控制单元是否处于复位状态;
22、若所述电子控制单元处于复位状态,向所述电子控制单元发送异常报文,所述异常报文用于指示所述软件备份存储区域为无效区域。
23、第二方面,本申请还提供了一种基于诊断服务报文的程序回滚装置,所述装置包括:
24、第一获取单元,用于获取目标下载请求;
25、下载单元,用于基于所述目标下载请求将第一目标软件下载至软件运行区域;
26、第二获取单元,用于获取第一诊断服务报文,所述第一诊断服务报文中包括备份操作请求;
27、备份单元,用于基于所述备份操作请求执行备份操作,所述备份操作用于将所述第一目标软件从所述软件运行区域拷贝至软件备份存储区域进行存储,得到第二目标软件;
28、第三获取单元,用于获取第二诊断服务报文,所述第二诊断服务报文中包括回滚操作请求;
29、回滚单元,用于基于所述回滚操作请求执行回滚操作,所述回滚操作用于将所述软件运行区域中的第一目标软件擦除,并将第二目标软件从所述软件备份存储区域拷贝至所述软件运行区域,得到第三目标软件。
30、在一种可能实现的方式中,所述下载单元,具体用于:
31、获取第一校验和;
32、将所述第一目标软件的数据内容作为输入,计算第二校验和;
33、若所述第一校验与所述第二校验和相同,则确定所述软件运行区域为有效区域并所述目标软件成功下载至所述软件运行区域。
34、在一种可能实现的方式中,所述备份单元,具体用于:
35、将所述第二目标软件的数据内容作为输入,计算第三校验和;
36、若所述第二校验和与所述第三校验和相同,则确定所述软件备份存储区域为有效区域并确定所述备份操作执行成功。
37、在一种可能实现的方式中,所述回滚单元,具体用于:
38、将所述第三目标软件的数据内容作为输入,计算第四校验和;
39、若所述第三校验和与所述第四校验和相同,则确定所述回滚操作执行成功。
40、在一种可能实现的方式中,若所述备份操作执行失败,所述装置还包括:
41、第四获取单元,用于获取目标复位数据;
42、确定单元,用于基于所述目标复位数据确定电子控制单元是否处于复位状态;
43、控制单元,用于若所述电子控制单元处于复位状态,向所述电子控制单元发送异常报文,所述异常报文用于指示所述软件备份存储区域为无效区域。
44、由此可见,本申请具有如下有益效果:
45、本申请提供了一种基于诊断服务报文的软件程序回滚方法和装置,首先,获取目标下载请求;再基于所述目标下载请求将第一目标软件下载至软件运行区域;获取第一诊断服务报文,所述第一诊断服务报文中包括备份操作请求;基于所述备份操作请求执行备份操作,所述备份操作用于将所述第一目标软件从所述软件运行区域拷贝至所述软件备份存储区域进行存储,得到第二目标软件;获取第二诊断服务报文,所述第二诊断服务报文中包括回滚操作请求;基于所述回滚操作请求执行回滚操作,所述回滚操作用于将所述软件运行区域中的第一目标软件擦除,并将第二目标软件从所述软件备份存储区域拷贝至所述软件运行区域,得到第三目标软件。如此,在下载软件之后,结合诊断服务报文对于该软件进行备份,然后再结合诊断服务报文基于软件的备份进行回滚操作,避免软件程序难以进行回滚的情况的出现。
技术特征:1.一种基于诊断服务报文的软件程序回滚方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述基于所述目标下载请求将目标软件下载至软件运行区域,包括:
3.根据权利要求2所述的方法,其特征在于,所述基于所述备份操作请求执行备份操作,包括:
4.根据权利要求3所述的方法,其特征在于,所述基于所述回滚操作请求执行回滚操作,包括:
5.根据权利要求3所述的方法,其特征在于,若所述备份操作执行失败,所述方法还包括:
6.一种基于诊断服务报文的程序回滚装置,其特征在于,所述装置包括:
7.根据权利要求6所述的装置,其特征在于,所述下载单元,具体用于:
8.根据权利要求7所述的装置,其特征在于,所述备份单元,具体用于:
9.根据权利要求8所述的装置,其特征在于,所述回滚单元,具体用于:
10.根据权利要求3所述的装置,其特征在于,若所述备份操作执行失败,所述装置还包括:
技术总结本申请提供了一种基于诊断服务报文的软件程序回滚方法和装置,获取目标下载请求,基于该下载请求将第一目标软件下载至软件运行区域;获取第一诊断服务报文,该报文中包括备份操作请求;基于该操作请求执行备份操作,备份操作用于将第一目标软件从软件运行区域拷贝至软件备份存储区域进行存储,得到第二目标软件;获取第二诊断服务报文,第二诊断服务报文中包括回滚操作请求;基于该操作请求执行回滚操作,回滚操作用于将软件运行区域中的第一目标软件擦除,并将第二目标软件从软件备份存储区域拷贝至软件运行区域,得到第三目标软件。如此,在下载软件后对该软件进行备份,然后再基于该备份进行回滚操作,避免软件程序难以进行回滚的情况的出现。技术研发人员:张啸林受保护的技术使用者:北京经纬恒润科技股份有限公司技术研发日:技术公布日:2024/11/4本文地址:https://www.jishuxx.com/zhuanli/20241106/322260.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。
下一篇
返回列表