轨道交通远程输入输出模块的软件部署方法及装置
技术领域
本发明涉及轨道交通
技术领域
,尤其涉及一种轨道交通远程输入输出模块的软件部署方法及装置。背景技术
轨道交通控制系统中的一个重要组成部分是远程输入输出模块(Remote Inputand Output Module,RIOM),RIOM包括一个RIOM总体控制器和多个输入输出(IO)监控独立控制器。传统的RIOM主机与IO板卡之间采用CAN总线进行连接,通过IO板卡监控的数据通过CAN总线传输。由于CAN总线支持的通用的传输速率只有500Kbps,并且可用字节小于50%,因此仅适合传输IO状态或有限的模拟量数据和PWM数据。但IO板卡往往需要实现对远程烧写功能的支持,对于800KB-1MB的程序来说,单个板卡需要20s以上才能完成程序传输过程。RIOM系统中IO板卡存在多个板卡,若要完成系统性地升级则需要耗费更长的时间,极大地影响升级效率。
随着嵌入式处理器处理能力的提升,以前许多需要用到高性能处理器的应用场景都替换为了嵌入式处理器。使用高性能处理器时往往不需要关心软件升级的问题,平台资源足够使用操作系统和文件系统,采用成熟的OTA策略即可使用网络进行升级。替换为嵌入式处理器之后,虽然处理性能能够满足需要,但由于RAM和Flash资源的限制,往往不采用文件系统和操作系统。对IO板卡软件的升级只能采用现场总线,如485或CAN总线等。受制于总线带宽,往往总线上挂载的节点也不能太多。
目前RIOM系统中的软件升级效率并没有引起广泛的关注,现有的方法仅采用串口或CAN总线作为传输途径,并且采用逐个升级的策略,即多个板卡的程序烧写顺序执行,这样软件升级的时间会随着网络节点的逐渐增多呈现分段式增长,极其不利于软件的快速部署。
发明内容
本发明提供的轨道交通远程输入输出模块的软件部署方法,用于克服现有技术中存在的上述问题,能够基于划分的待部署板卡所属的归属域,利用CANFD通信方式代替传统的CAN通信或串口通信,同时实现对同一归属域内的待部署板卡的软件部署,提高了软件部署的效率。
本发明提供一种轨道交通远程输入输出模块的软件部署方法,包括:
将轨道交通远程输入输出模块RIOM中同一功能的待部署板卡划分到同一归属域,以确定所述RIOM中所有待部署板卡所属归属域;
基于CANFD通信方式和冗余网络将所述同一归属域的目标软件部署到对应的归属域中,以对所述所有待部署板卡进行软件部署。
根据本发明提供的一种轨道交通远程输入输出模块的软件部署方法,所述基于CANFD通信方式和冗余网络将所述同一归属域的目标软件部署到对应的归属域中,包括:
分别对所述同一归属域中的每个待部署板卡接收到的所述目标软件进行CRC校验,以确定所述同一归属域中的第一待部署板卡和第二待部署板卡;
基于所述CANFD通信方式将所述同一归属域的目标软件部署到所述第一待部署板卡;
基于所述冗余网络将所述同一归属域的目标软件部署到所述第二待部署板卡上;
其中,所述第一待部署板卡为所述同一归属域中通过所述CRC校验的目标软件对应的待部署板卡;
所述第二待部署板卡为所述同一归属域中未通过所述CRC校验的目标软件对应的待部署板卡。
根据本发明提供的一种轨道交通远程输入输出模块的软件部署方法,所述基于所述冗余网络将所述同一归属域的目标软件部署到所述第二待部署板卡上,包括:
将所述第二待部署板卡从所述RIOM中断开,并将所述同一归属域的目标软件通过所述冗余网络重新发送给所述第二待部署板卡,直至所述第二待部署板卡接收到的目标软件通过所述CRC校验时,基于所述冗余网络将所述同一归属域的目标软件部署到所述第二待部署板卡上。
根据本发明提供的一种轨道交通远程输入输出模块的软件部署方法,所述所有待部署板卡包括如下一种或多种功能板卡:
数据输入DI采集板卡、数据输出DO采集板卡和模拟输入AI采集板卡。
根据本发明提供的一种轨道交通远程输入输出模块的软件部署方法,若确定所述所有待部署板卡包括所述多种功能板卡后,则确定所述所有待部署板卡所属多个归属域,并分别确定每个归属域的目标软件:
确定所述DI采集板卡所属归属域的目标软件为第一软件程序;
确定所述DO采集板卡所属归属域的目标软件为第二软件程序;
确定所述AI采集板卡所属归属域的目标软件为第三软件程序。
本发明还提供一种轨道交通远程输入输出模块的软件部署装置,包括:域确定模块和软件部署模块;
所述域确定模块,用于将轨道交通远程输入输出模块RIOM中同一功能的待部署板卡划分到同一归属域,以确定所述RIOM中所有待部署板卡所属归属域;
所述软件部署模块,用于基于CANFD通信方式和冗余网络将所述同一归属域的目标软件部署到对应的归属域中,以对所述所有待部署板卡进行软件部署。
根据本发明提供的一种轨道交通远程输入输出模块的软件部署装置,所述软件部署模块,包括:第一部署子模块和第二部署子模块;
所述第一部署子模块,用于分别对所述同一归属域中的每个待部署板卡接收到的所述目标软件进行CRC校验,以确定所述同一归属域中的第一待部署板卡和第二待部署板卡;
所述第二部署子模块,用于基于所述CANFD通信方式将所述同一归属域的目标软件部署到所述第一待部署板卡;
基于所述冗余网络将所述同一归属域的目标软件部署到所述第二待部署板卡上;
其中,所述第一待部署板卡为所述同一归属域中通过所述CRC校验的目标软件对应的待部署板卡;
所述第二待部署板卡为所述同一归属域中未通过所述CRC校验的目标软件对应的待部署板卡。
根据本发明提供的一种轨道交通远程输入输出模块的软件部署装置,所述第二部署子模块,还用于:
将所述第二待部署板卡从所述RIOM中断开,并将所述同一归属域的目标软件通过所述冗余网络重新发送给所述第二待部署板卡,直至所述第二待部署板卡接收到的目标软件通过所述CRC校验时,基于所述冗余网络将所述同一归属域的目标软件部署到所述第二待部署板卡上。
本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述轨道交通远程输入输出模块的软件部署方法的步骤。
本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述轨道交通远程输入输出模块的软件部署方法的步骤。
本发明提供的轨道交通远程输入输出模块的软件部署方法及装置,能够基于划分的待部署板卡所属的归属域,利用CANFD通信方式和冗余网络代替传统的CAN通信或串口通信,同时实现对同一归属域内的待部署板卡的软件部署,提高了软件部署的效率。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明提供的轨道交通远程输入输出模块的软件部署方法的流程示意图;
图2是本发明提供的轨道交通远程输入输出模块的结构示意图;
图3是本发明提供的轨道交通远程输入输出模块的软件部署装置的结构示意图;
图4是本发明提供的电子设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1是本发明提供的轨道交通远程输入输出模块的软件部署方法的流程示意图,如图1所示,方法包括:
S1、将轨道交通远程输入输出模块RIOM中同一功能的待部署板卡划分到同一归属域,以确定所述RIOM中所有待部署板卡所属归属域;
S2、基于CANFD通信方式和冗余网络将同一归属域的目标软件部署到对应的归属域中,以对所有待部署板卡进行软件部署。
需要说明的是,上述方法的执行主体可以是计算机设备。
可选地,本发明提供的轨道交通远程输入输出模块的软件部署方法能够对图2所示的轨道交通远程输入输出模块中的各个板卡进行软件部署(软件升级)。
如图2所示,RIOM从整体上看,包括三种角色,分别为云端的程序管理器,远程IO管理器(如图2中的RIOM主机)以及多个本地IO控制器(如图2中所有的待部署板卡)。程序管理器为部署的云服务器,用于保存和分发本地IO控制器的软件程序版本。远程IO管理器拥有异构网络,能够同时与云服务器和现场CANFD总线建立通信关系,负责向云服务器请求目标软件程序,并通过CANFD总线以及部署在RIOM网络中的冗余网络下发同一归属域中的待部署板卡中,以完成对同一归属域中的待部署板卡的软件部署,采用上述架构能够将整车RIOM系统合并为一个,所有车辆的IO节点统一归属于该RIOM系统管理,能够节省多个RIOM主机在空间和经济上的支出。具体实现如下:
在实际场景中,虽然整个RIOM网络中的节点(每一个待部署板卡对应RIOM网络中的一个节点)数目众多,但待部署板卡类型数目比较有限。即RIOM网络中所有同一功能的板卡中运行的软件均一致,基于此,基于域划分的CANFD通信策略,将只适用于广播方式的CANFD通信改造成一个带有域识别的选择性通信方式,将RIOM中所有待部署板卡按照其对应的功能进行域划分,并将同一功能的待部署板卡,划分到同一归属域,基于此,对整个RIOM中所有待部署板卡进行域划分,以得到整个RIOM中的每个待部署板卡所属的归属域。
例如,可以在整个RIOM中的所有待部署板卡上电后,通过修改上电后的每个待部署板卡的ID的功能域字段,例如,可以将同一功能的待部署板卡的ID的功能域字段以统一的归属域编号表示。基于于此,得到每个待部署板卡所属的归属域。
基于CANFD通信方式对所有的待部署板卡进行域识别(例如,可以根据每个待部署板卡的归属域编号),将同一归属域的目标软件同时部署到对应的归属域中,实现对同一归属域的协同部署,并最终完成对所有待部署板卡的软件部署。其中,CANFD通信方式即基于CANFD总线进行通信。
CANFD网络在CAN网络的基础而来,它继承了CAN总线的主要特性。CANFD总线弥补了CAN总线带宽和数据场长度的制约,将总线带宽增加到5Mbps,数据场长度增加到64Byte。对于远程烧写功能来说,CANFD总线比CAN总线更加适合,能够提升10倍左右的通信效率。同样地,高带宽也能更好地支持多种应用的数据传输需求。将原来的CAN总线替换为CANFD总线架构,利用CANFD高带宽和增长的数据域,能够从硬件基础上提升数据传输的效率。
本发明提供的轨道交通远程输入输出模块的软件部署方法,能够基于划分的待部署板卡所属的归属域,利用CANFD通信方式和冗余网络代替传统的CAN通信或串口通信,同时实现对同一归属域内的待部署板卡的软件部署,提高了软件部署的效率。
进一步地,在一个实施例中,步骤S2中基于CANFD通信方式和冗余网络将同一归属域的目标软件部署到对应的归属域中,可以具体包括:
S21、分别对同一归属域中的每个待部署板卡接收到的目标软件进行CRC校验,以确定同一归属域中的第一待部署板卡和第二待部署板卡;
S22、基于CANFD通信方式将同一归属域的目标软件部署到第一待部署板卡;
S23、基于冗余网络将所述同一归属域的目标软件部署到第二待部署板卡上;
其中,第一待部署板卡为同一归属域中通过CRC校验的目标软件对应的待部署板卡;
第二待部署板卡为同一归属域中未通过CRC校验的目标软件对应的待部署板卡。
可选地,同一归属域的待部署板卡接收到基于CANFD总线和冗余网络传输的目标软件后,需要对接收到的目标软件的完整性进行校验,其中,本发明提供的轨道交通远程输入输出模块的软件部署方法,采用的是循环冗余校验CRC的校验方式来对以字节形式传输的目标软件的完整性进行校验。然后根据CRC校验结果,将同一归属域的待部署板卡进行分类,具体地:
将通过CRC校验的目标软件对应的待部署板卡划分到第一待部署板卡一类,这表明第一待部署板卡接收到的是正确的目标软件,此时;将未通过CRC校验的目标软件对应的待部署板卡划分到第二待部署板卡一类,这表明第二待部署板卡未接收到正确的目标软件。然后,基于CANFD通信方式和冗余网络将同一归属域的目标软件部署到第一待部署板卡和第二待部署板卡上。
本发明提供的轨道交通远程输入输出模块的软件部署方法,在对于待部署板卡进行软件部署前,通过对待部署的目标软件的完整性进行校验,以确保软件部署的正确性和完整性,同时,以“域”为单位并对同一归属域的待部署板卡进行软件部署,能够将软件部署的时间与“域”的节点数目解耦,充分提升了网络利用率。
进一步地,在一个实施例中,步骤S23可以具体包括:
S231、将第二待部署板卡从RIOM中断开,并将同一归属域的目标软件通过冗余网络重新发送给第二待部署板卡,直至第二待部署板卡接收到的目标软件通过CRC校验时,基于冗余网络将同一归属域的目标软件部署到第二待部署板卡上。
可选地,采用上述方法将同一归属域中的待部署板卡分为接收到正确的目标软件的第一待部署板卡以及未接收到正确的目标软件的第二待部署板卡,对于第一待部署板卡可以基于CANFD通信方式实现对目标软件的同时部署,对于第二待部署板卡由于其未接收到正确的目标软件,因此,第二待部署板卡需要重新发送升级需求,为了不影响域升级过程中对第一待部署板卡的软件部署,需要将第二待部署板卡对应的节点从整个RIOM网络中断开,以免影响其他第一待部署板卡对应的节点的软件部署过程,并同时采用如图2所示的冗余网络接收目标软件,当目标程序接收完毕后,同样会再次采用CRC校验方式对目标软件对应的程序安装包的完整性进行校验,保证程序的完整性。直到第二待部署板卡通过CRC校验,即,第二待部署板卡接收到正确的目标软件后,基于冗余网络将同一归属域的目标软件同时部署到接收到正确目标软件的第二待部署板卡上。
本发明提供的轨道交通远程输入输出模块的软件部署方法,采用冗余机制解决因域升级带来的软件丢包问题的同时,保证了同一归属域软件部署的一致性、正确性和安全性。
进一步地,在一个实施例中,所有待部署板卡可以具体包括如下一种或多种功能板卡:
数据输入DI采集板卡、数据输出DO采集板卡和模拟输入AI采集板卡。
可选地,整个待部署板卡可以具体包括数据输入DI采集板卡、数据输出DO采集板卡以及模拟输入AI采集板卡中的一种或多种功能板卡。当某一时刻RIOM网络中上电的待部署板卡包括上述三种功能板卡的任意一种时,则将RIOM网络中的所有待部署板卡划分为同一归属域,当某一时刻RIOM网络中上电的待部署板卡包括上述三种功能板卡中的多种时,则将RIOM网络中的所有待部署板卡划分为多个归属域,采用上述方式完成对整个归属域的待部署板卡的软件的同时部署。
本发明提供的轨道交通远程输入输出模块的软件部署方法,能够实现RIOM网络中不同功能板卡软件的协同部署,提高了软件升级的效率。进一步地,在一个实施例中,若确定所有待部署板卡包括多种功能板卡后,则确定所有待部署板卡所属多个归属域,并分别确定每个归属域的目标软件:
确定DI采集板卡所属归属域的目标软件为第一软件程序;
确定DO采集板卡所属归属域的目标软件为第二软件程序;
确定AI采集板卡所属归属域的目标软件为第三软件程序。
可选地,若确定整个RIOM网络中上电的所有待部署功能板卡包括上述三种的多种功能板卡,则按照待部署板卡的功能对其进行归属域划分,将同一功能的DI采集板卡划分到同一归属域,将同一功能的DO采集板卡划分到同一归属域,将同一功能的AI采集板卡划分到同一归属域。
如上所述,若确定所有待部署板卡所属不同的多个归属域后,分别确定每个归属域的目标软件,具体地:确定DI采集板卡所属归属域的目标软件为第一软件程序;确定DO采集板卡所属归属域的目标软件为第二软件程序;确定AI采集板卡所属归属域的目标软件为第三软件程序。然后,可以采用上述软件部署方法,分别将第一软件程序同时部署到DI采集板卡所属的归属域,将第二软件程序同时部署到DO采集板卡所属的归属域,以及将第三软件程序同时部署到AI采集板卡所属的归属域。
本发明提供的轨道交通远程输入输出模块的软件部署方法,能够实现通过同一RIOM主机对不同功能板卡的统一部署,使得所有车辆的不同待部署板卡节点的快速部署,节省了需要多个RIOM主机在空间上和经济上的支出。
下面对本发明提供的轨道交通远程输入输出模块的软件部署装置进行描述,下文描述的轨道交通远程输入输出模块的软件部署装置与上文描述的轨道交通远程输入输出模块的软件部署方法可相互对应参照。
图3是本发明提供的轨道交通远程输入输出模块的软件部署装置的结构示意图,如图3所示,包括:域确定模块310和软件部署模块311;
域确定模块,用于将轨道交通远程输入输出模块RIOM中同一功能的待部署板卡划分到同一归属域,以确定RIOM中所有待部署板卡所属归属域;
软件部署模块,用于基于CANFD通信方式和冗余网络将同一归属域的目标软件部署到对应的归属域中,以对所有待部署板卡进行软件部署。
本发明提供的轨道交通远程输入输出模块的软件部署装置,能够基于划分的待部署板卡所属的归属域,利用CANFD通信方式和冗余网络代替传统的CAN通信或串口通信,同时实现对同一归属域内的待部署板卡的软件部署,提高了软件部署的效率。
进一步地,在一个实施例中,软件部署模块311,可以具体包括:第一部署子模块和第二部署子模块;
第一部署子模块,用于分别对同一归属域中的每个待部署板卡接收到的目标软件进行CRC校验,以确定同一归属域中的第一待部署板卡和第二待部署板卡;
第二部署子模块,用于基于CANFD通信方式将同一归属域的目标软件部署到第一待部署板卡;
基于冗余网络将同一归属域的目标软件部署到第二待部署板卡上;
其中,第一待部署板卡为同一归属域中通过CRC校验的目标软件对应的待部署板卡;
第二待部署板卡为同一归属域中未通过CRC校验的目标软件对应的待部署板卡。
本发明提供的轨道交通远程输入输出模块的软件部署装置,在对于待部署板卡进行软件部署前,通过对待部署的目标软件的完整性进行校验,以确保软件部署的正确性和完整性,同时,以“域”为单位并对同一归属域的待部署板卡进行软件部署,能够将软件部署的时间与“域”的节点数目解耦,充分提升了网络利用率。
进一步地,在一个实施例中,第二部署子模块,还可以用于:
将第二待部署板卡从RIOM中断开,并将同一归属域的目标软件通过冗余网络重新发送给第二待部署板卡,直至第二待部署板卡接收到的目标软件通过CRC校验时,基于冗余网络将同一归属域的目标软件部署到第二待部署板卡上。
本发明提供的轨道交通远程输入输出模块的软件部署装置,采用冗余机制解决因域升级带来的软件丢包问题的同时,保证了同一归属域软件部署的一致性、正确性和安全性。
图4是本发明提供的一种电子设备的实体结构示意图,如图4所示,该电子设备可以包括:处理器(processor)410、通信接口(communication interface)411、存储器(memory)412和总线(bus)413,其中,处理器410,通信接口411,存储器412通过总线413完成相互间的通信。处理器410可以调用存储器412中的逻辑指令,以执行如下方法:
将轨道交通远程输入输出模块RIOM中同一功能的待部署板卡划分到同一归属域,以确定RIOM中所有待部署板卡所属归属域;
基于CANFD通信方式和冗余网络将同一归属域的目标软件部署到对应的归属域中,以对所有待部署板卡进行软件部署。
此外,上述的存储器中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
进一步地,本发明公开一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的轨道交通远程输入输出模块的软件部署方法,例如包括:
将轨道交通远程输入输出模块RIOM中同一功能的待部署板卡划分到同一归属域,以确定RIOM中所有待部署板卡所属归属域;
基于CANFD通信方式和冗余网络将同一归属域的目标软件部署到对应的归属域中,以对所有待部署板卡进行软件部署。
另一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的轨道交通远程输入输出模块的软件部署方法,例如包括:
将轨道交通远程输入输出模块RIOM中同一功能的待部署板卡划分到同一归属域,以确定RIOM中所有待部署板卡所属归属域;
基于CANFD通信方式和冗余网络将同一归属域的目标软件部署到对应的归属域中,以对所有待部署板卡进行软件部署。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到两两网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
- 上一篇:石墨接头机器人自动装卡簧、装栓机
- 下一篇:一种系统安装方法及装置