用于安全计算机平台的在线更新系统、方法、设备及介质与流程

文档序号:37689591发布日期:2024-04-18 21:06阅读:7来源:国知局
用于安全计算机平台的在线更新系统、方法、设备及介质与流程

本发明涉及列车信号控制系统,尤其是涉及一种用于安全计算机平台的在线更新系统、方法、设备及介质。


背景技术:

1、安全计算机平台是一种故障导向安全的底层平台,具有良好的通用性,在不改变硬件和核心软件的基础上,仅通过应用软件开发和硬件配置就能构建不同的应用系统,是铁路信号系统的核心组成部分。铁路信号系统投入使用后,难免遇到功能扩展和软件缺陷,需要进行软件更新。

2、经过检索中国cn111273919a中公开了一种支持软件批量远程更新的安全计算机平台,该平台包括通信单元和执行单元,上位机维护工具连接通信单元,通信单元通过执行单元控制被控对象。该发明主要实现的上位机维护工具与执行单元的一对一软件更新,即对同一类型的n个执行单元软件批量更新时,上位机维护工具需要发送n份相同的软件更新包,通信单元需要将相同的n份软件更新包转发至各个执行单元,这种方式存在以太网及can总线上冗余数据过多等弊端,影响通信效率。

3、因此如何使更新过程中减少通信次数,从而大幅提升在线更新的效率,成为需要解决的技术问题。


技术实现思路

1、本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种用于安全计算机平台的在线更新系统、方法、设备及介质。

2、本发明的目的可以通过以下技术方案来实现:

3、根据本发明的第一方面,提供了一种用于安全计算机平台的在线更新系统,所述安全计算机平台包括主控单元和执行单元,该在线更新系统包括:

4、更新工具,用于存放需更新的软件以及管理软件的升级;

5、通信转发部分,设在主控单元中,用于通过以太网与更新工具交互信息以及通过can总线向执行单元转发信息;

6、各单元在线更新部分,设在各执行单元中,用于执行单元安全可靠的在线更新;

7、其中所述更新工具对n个使用相同镜像的执行单元进行远程更新时,只发送一份镜像数据给主控单元,所述主控单元只广播一份镜像数据至can总线,所有执行单元根据广播目标字段识别是否接收镜像数据。

8、作为优选的技术方案,所述更新工具在发送非广播镜像数据时,目的端口设置为主控单元端口号,tftp的data字段填充为非广播镜像数据。

9、作为优选的技术方案,所述更新工具在发送广播镜像数据时,目的端口设置为0xaa,tftp的data字段填充为广播目标字段加镜像数据。

10、作为优选的技术方案,所述广播目标字段设置如下:

11、将镜像数据报发给某个nodeid对应的执行单元,则将13bytes广播目标字段的第n个字节的m位bit位置为1,其中n=(nodeid-1)/8,m=(nodeid-1)%8,其中%为取余运算符。

12、作为优选的技术方案,所述主控单元以太网上收到更新工具的消息,如果目的端口号为0xaa,所述主控单元首先将该消息拷贝至内存一份,然后将数据打包成can帧,并将目的can地址改成0x7f,以广播的形式在can总线上转发给所有执行单元。

13、作为优选的技术方案,所述主控单元对于在can总线从各执行单元收到的广播数据回复消息,所述主控单元将所有消息进行汇总,如果同一类型所有执行单元均已成功接收广播数据,则回复更新工具获取下一包镜像数据;否则对接收失败的执行单元执行重发机制。

14、作为优选的技术方案,所述重发机制具体为:

15、如果在t时间内没有收到某个执行单元的请求或者回复,重发数据包,累计y次未收到回复,则给出错误提示信息,并将该执行单元剔除执行单元组,继续后续操作。

16、作为优选的技术方案,所述执行单元在can总线收到目的can地址为0x7f的广播镜像数据,判断data段的广播目标字段与本执行单元nodeid是否匹配,匹配则接收该广播镜像数据,并回复ack;不匹配则丢弃该广播镜像数据。

17、根据本发明的第二方面,提供了一种采用所述用于安全计算机平台的在线更新系统的在线更新方法,包括以下步骤:

18、步骤s1,更新工具将此次广播远程更新执行单元组信息通过以太网发给主控单元;

19、步骤s2,主控单元与执行单元组进行交互,判断执行单元组当前工作状态是否满足远程更新条件,若满足执行步骤步骤s3,否则结束更新过程;

20、步骤s3,主控单元向更新工具请求镜像数据描述信息,同时破坏执行单元组的远程更新标识;

21、步骤s4,执行单元组各单元破坏远程更新标志后,重启进入更新模式,给主控单元发送开始传输镜像数据描述信息请求;

22、步骤s5,主控单元判断timeout时间内是否收到执行单元组中某执行单元的镜像数据描述信息请求,若没收到则将该执行单元剔出执行单元组;

23、若主控单元收到执行单元组传输的镜像数据描述信息请求后,将其回复给执行单元;

24、步骤s6,执行单元组收到传输镜像数据描述信息回复后,给主控单元发送开始传输镜像数据请求;

25、步骤s7,主控单元判断是否收到执行单元组传输镜像请求,如果收到则向更新工具发送传输镜像请求,如果未收到某个执行单元的传输镜像请求,则对该执行单元执行主控单元重发机制;

26、步骤s8,更新工具将第n包广播镜像数据发送给主控单元,目的端口设置为0xaa,tftp的data字段填充为广播目标字段加第n包广播镜像数据;

27、步骤s9,主控单元先将第n包广播镜像数据拷贝至内存一份,然后将目的can地址改成0x7f,以广播的形式通过can总线转发给所有执行单元;

28、步骤s10,执行单元根据广播目标字段,判断本执行单元是否需要接收,匹配则接收并回复ack,不匹配则丢弃;

29、步骤s11,主控单元统计执行单元组回复的ack信息,如果执行单元组全部回复ack,主控单元通知更新工具发送下一包广播镜像数据;如果某个执行单元未回复ack,则执行主控单元重发机制;

30、步骤s12,主控单元重复步骤s8至步骤s11发送第1到allpacknum包镜像数据,直至所有广播镜像数据发送完毕;

31、步骤s13,执行单元若收到了有效的allpacknum包数据,则验证allcrc,回复操作状态信息;

32、步骤s14,执行单元接收到flash擦写请求时,覆盖旧镜像,回读镜像并验证allcrc,恢复远程更新标志,回复操作状态信息,自动重启。

33、作为优选的技术方案,所述步骤s2中的交互信息包括模块功能模式、熔丝状态和更新镜像的授权状态。

34、作为优选的技术方案,所述镜像数据描述信息包括镜像的数据总包数、各包数据的大小、各包镜像数据的crc(npackcrc)和镜像数据的总校验字(allcrc)。

35、作为优选的技术方案,所述步骤s10,在匹配接收后,通过双通道校验校核字信息确保镜像分块的完整性、真实性和有效性;若非重复数据,则按照packnum序号直接索引到数据存放地址,并将数据储存在该地址。

36、根据本发明的第三方面,提供了一种电子设备,包括存储器和处理器,所述存储器上存储有计算机程序,所述处理器执行所述程序时实现所述的方法。

37、根据本发明的第四方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现所述的方法。

38、与现有技术相比,本发明具有以下优点:

39、1)本发明对n个使用相同镜像的执行单元进行远程更新时,更新工具只发送一份镜像数据给主控单元,主控单元只广播一份镜像数据(带广播目标字段)至can总线,所有执行单元根据广播目标字段识别是否接收镜像数据,本发明大大利用了通信带宽,并大大减少了通信次数,大幅提升在线更新的效率,实现直正意义上的并行批量更新。

40、2)本发明在对镜像文件进行分块传输前,执行单元收到此次镜像更新的所有信息,数据总包数(allpacknum)、各包数据的大小(size)及各包镜像数据的crc(npackcrc)、更新数据的总校验字(allcrc),这样更便于校验收到的数据是否是期望的数据,便于计算收到的数据应该存放的内存位置,有利于快速处理重复数据,有利于快速保存数据,在保证安全可靠的同时,提升了效率;由于这种机制不要求收到的数据是顺序的,能更有效判断数据接收是否完成,使整个接收数据过程更灵活高效。

41、3)本发明在接收到每一个数据包进行校验,整个镜像进行校验,写入flash后再回读校验,在重启之前保证了传输过程中的异常不会破坏到旧镜像文件,写flash失效时能及时发现并回退,提升了整个系统的健壮性。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1