一种自动化的多处理器程序更新系统和程序更新方法与流程

文档序号:13421337阅读:208来源:国知局
一种自动化的多处理器程序更新系统和程序更新方法与流程

本发明涉及铁路、城市轨道交通运行控制系统中的列车超速防护系统中的多处理器程序更新系统和程序更新方法,特别涉及一种自动化的多处理器程序更新系统和程序更新方法。



背景技术:

列车超速防护系统atp(automatictrainprotection)是高速铁路、地铁、城市轨道交通运行控制系统的组成部分之一,其主要用来提供速度限制信息以保持列车间的安全间隔,使列车在符合限制速度的标准下运行。列车超速防护车载设备是列车超速防护系统中的一个重要组成部分,是依据从列车超速防护地面设备接收到的列车运行控制命令,对列车进行实时速度监督的一种安全保障设备。

目前,一套完整的列车超速防护设备比较复杂,一般由多块板卡组成,比如主机板卡、通信板卡、输出板卡、输入板卡、采集板卡等;每块板卡上有至少一块处理器。多块板卡之间构成层次关系。在软件bug修复和测试过程中,修改代码以及将不同的程序烧录到上述的多层的多级板卡上的相对应的各级处理器中,是一项十分频繁的工作;且设备在运营维护阶段,如果需要升级代码,通常由工作人员对每套设备上的各个板卡上的不同处理器都要进行人工烧录操作,工作繁琐、工作量大、效率低下、且易出错。

传统的程序烧录方式采用电脑主机通过相应烧录软件和外围硬件设备如电源、仿真器等,对多级板卡上的各自的处理器烧录其相对应的程序。在大规模地更新设备程序时,不仅工作量繁重、效率低下,而且由于各处理器需要烧录的程序不一样,人为原因出现差错的可能性很大,并且没有一种有效的手段去监测烧录过程中人为因素出现的错误,会造成安全隐患;同时因为需要外围设备,经常性的拔插操作对板卡硬件的寿命有很大的不良影响。

目前亟需一种简易的、不依赖于人工的高自动化多处理器程序更新系统和程序更新方法。



技术实现要素:

为了解决上述的在多处理器上更新不同程序的过程中存在的繁琐、低效、存在安全隐患的问题,本发明提出了一种自动化的多处理器程序更新系统和程序更新方法,能够同时对多块处理器更新其各自不同的目标程序。

一种自动化的多处理器程序更新系统,包括一级板卡以及与其连接的至少一级的后级板卡;其中,与所述一级板卡直接连接的后级板卡为二级板卡,各级板卡上包括至少一个处理器及存储单元;其中,一级板卡上的一级处理器与存储目标文件的外设连接;二级板卡上的二级处理器与所述一级板卡上的一级处理器相连接;

所述一级处理器监测其与外设连线的端口,当监测到有外设与其连接时,所述一级处理器进入等待状态,并向其后级处理器发送等待指令使其后级处理器处于等待状态,并识别所述外设中存储的目标文件名称与所述一级处理器的程序名称及其后级处理器中的程序名称是否相同,以及同名程序所属的处理器;从外设中获取同名的目标文件并发送至与所述目标文件同名的程序所在的板卡上的处理器,并更新替换所述同名的程序;在更新替换完毕所有同名程序后,各级处理器恢复工作状态,并由一级板卡对外发出提示信号。

优选地,若所述后级处理器是最后一级处理器,则所述后级处理器在接收所述一级处理器发出的等待指令后,进入等待状态;所述后级处理器接收其前级处理器发送的目标文件,并将目标文件名称与其内部的程序名称作对比,若二者名称相同,则以外设中的同名的目标文件更新替换所述同名的程序,更新完毕后向其一级处理器发出更新完毕指令,并对外发出信号表示更新程序完毕;和/或由一级处理器在识别出同名程序所属的后级处理器后,直接向其它的没有同名程序的后级处理器发送无更新文件指令,并由所述没有同名程序的后级处理器对外发出未更新信号;

若所述后级处理器不是最后一级处理器,则所述后级处理器在接收所述一级处理器发出的等待指令后,进入等待状态,并向其后级处理器发出等待指令;所述后级处理器和/或其后级处理器接收其前级处理器发送的目标文件,并将目标文件名称与其内部及其后级处理器的程序名称作对比,若二者名称相同且同名的程序属于所述后级处理器,则以同名的目标文件更新替换所述同名的程序;更新替换全部所述同名程序后向其一级处理器发出更新完毕指令,并对外发出信号表示更新程序完毕;和/或由一级处理器在识别出同名程序所属的后级处理器后,直接向其它的没有同名程序的后级处理器发送无更新文件指令,并由所述没有同名程序的后级处理器对外发出未更新信号;

所述一级处理器接收到其所有需要更新程序的后级处理器发送的更新完毕指令后,恢复工作状态并向其所有后级处理器发送恢复指令;所述后级处理器在接收到所述一级处理器发出的恢复指令后,恢复正常工作状态。

优选地,所述一级板卡上的一级处理器通过无线接收单元与所述外设以无线方式连接。

优选地,所述一级处理器从外设中获取同名的目标文件后,先将所述同名的目标文件缓存到一级板卡的存储单元并进行校验,若所述同名的目标文件通过校验,再将其发给相关的后级板卡的后级处理器;若校验不通过,则一级板卡的一级处理器要求所述外设重新发送所述同名的目标文件。

优选地,所述一级处理器从外设中获取同名的目标文件并发送至与所述目标文件同名的程序所在的后级板卡后,所述后级板卡上的后级处理器将所述同名的目标文件缓存到所述后级板卡的存储单元并进行校验,若所述同名的目标文件通过校验,再将其更新替换所述同名的程序;若校验不通过,则所述后级处理器向所述一级处理器发送请求重新发送所述同名的目标文件。

优选地,一级处理器中存储程序名称索引表,所述程序名称索引表完整记录并实时更新所述一级处理器及其后级处理器的所有程序的名称;一级处理器“识别外设中存储的目标文件名称与所述一级处理器的程序名称及其后级处理器中的程序名称是否相同”是将目标文件名称与所述程序名称索引表中的程序名称依次对比寻找同名的程序;或者,一级处理器在检测到外设后,向各后级处理器发送索要名称指令,各后级处理器收到该指令后向所述一级处理器返回其所有程序名称;一级处理器“识别外设中存储的目标文件名称与所述一级处理器的程序名称及其后级处理器中的程序名称是否相同”是将目标文件名称与各后级处理器返回的所有程序名称依次对比寻找同名的程序。

优选地,所述一级板卡上具有至少二个处理器,且至少二个处理器之间进行数据传输;一级板卡上的至少一个处理器与所述外设连接;所述一级板卡上的每个处理器分别连接各自的后级板卡;一级板卡上与所述外设连接的至少一个处理器监测其与外设连线的端口,当监测到有外设与其连接时所述一级处理器进入等待状态,并向其各自的后级处理器发送等待指令使其后级处理器处于等待状态,并分别识别所述外设中存储的目标文件名称与所述一级处理器的程序名称及其后级处理器中的程序名称是否相同,从外设中获取同名的目标文件并发送至与所述目标文件同名的程序所在的处理器,并更新替换所述同名的程序;在一级板卡的每个处理器均更新替换完毕所述处理器及其各自的后级处理器内的同名程序后,通过一级板卡上的各处理器间的数据传输确认各处理器及其后级处理器均更新完毕同名程序的状态后,各级处理器恢复工作状态,并由一级板卡对外发出提示信号。

优选地,所述一级板卡上具有至少二个相同的一级处理器,所述一级板卡上的各所述相同的一级处理器与所述外设分别连接;与所述外设连接的至少一个一级处理器监测所述一级板卡与外设连线的端口;在一级处理器识别所述外设中存储的目标文件名称与所述一级处理器的后级处理器中的程序名称相同后,所述一级板卡上的各一级处理器分别采集外设发送的同一目标文件,一级处理器两两之间对所述目标文件进行数据交互比较,若数据交互比较无误,则由其中一个一级处理器将所述目标文件发送给与所述目标文件同名的程序所在的后级处理器并更新替换所述同名的程序;若数据交互比较有误,则一级处理器重新采集外设的所述目标文件。

优选地,一级处理器向后级处理器和另一一级处理器同时发送目标文件;所述另一一级处理器收到所述目标文件后将其与自身从外设中采集的目标文件进行数据比较,若数据比较结果不同,则向所述一级处理器发出数据有误的信号;所述一级处理器收到是数据有误的信号后,重新向后级处理器和另一一级处理器同时发送所述目标文件。

一种应用上述自动化的多处理器程序更新系统的程序更新方法,包括如下步骤:

s100:外设与一级板卡建立通信;

s110:一级处理器进入等待状态;一级处理器向后级处理器发送等待指令,使后级处理器处于等待状态,

s120:一级处理器对外设存储的各目标文件的名称进行识别;

s130:若一级处理器识别出外设存储的某目标文件的名称与某板卡的某处理器的某程序的名称相同,则一级处理器将外设的所述目标文件存储在外存储器中;否则,转到步骤s150;

s140:待所有板卡的所有处理器的所有程序的名称均识别完成、且同名程序均更新完毕,所述一级处理器得到反馈信号,所有处理器及板卡恢复工作状态;

s150:更新程序的处理器和未更新的处理器均对外发出相应的提示信号。

优选地,在步骤s130后还包括如下步骤:

s131:一级板卡上的至少二个相同的一级处理器分别称为第一一级处理器和第二一级处理器,所述第一一级处理器与第二一级处理器各自接收到目标文件后进行数据交互比较,比较通过则发送至同名程序所在的处理器,并更新替换所述同名程序;否则,转到步骤s130;

s132:第一一级处理器向二级板卡发送目标文件时,第二一级处理器实现检测功能,若检测到第一一级处理器发送的数据与第二一级处理器存储的数据不一致,则第二一级处理器通知第一一级处理器重新发送;

s133:同名程序所在的处理器在接收到目标文件后,存储在对应的存储单元中;在更新处理器程序前,先对存储单元中的目标文件的非校验位进行校验;计算的校验值与目标文件内存储的校验值一致,则认为校验通过,对处理器进行替换更新所述同名程序;否则向上一级处理器或外设要求重新发送所述同名的目标文件;

本发明的有益效果在于:在软件bug修复和测试过程中、运营维护阶段设备软件升级过程中,本发明的技术方案可以将不同的程序烧录到各个板卡上需要升级的相对应的处理器中,避免了由工作人员通过人工方式对每套设备上的各个板卡上的不同处理器都要进行逐个单独烧录操作导致的工作繁琐、工作量大、效率低下、易出错等问题,同时消除了由于人工操作出现的错误造成的安全隐患;而且还避免了经常性的拔插操作对板卡硬件的寿命的不良影响。

附图说明

下面结合附图及实施方式对本发明作进一步详细的说明:

图1a是本发明一个实施例的自动化的多处理器程序更新系统的示意图。

图1b是本发明一个实施例的自动化的多处理器程序更新系统的示意图。

图2是本发明一个实施例的自动化的多处理器程序更新系统的示意图。

图3a是本发明一个实施例的自动化的多处理器程序更新系统的示意图。

图3b是本发明一个实施例的自动化的多处理器程序更新系统的示意图。

图4是本发明一个实施例的自动化的多处理器程序更新方法的流程示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚明确,下面结合实施例以及附图对本发明实施例中的技术方案做进一步详细说明。显然,所描述的实施例是本发明的一部分实施例,而不是全部实施例。在此,本发明的示意性实施方式及其说明主要用于解释本发明,但并不作为对本发明的限定。

目前,一套完整的列车超速防护设备比较复杂,一般由多块板卡组成,比如主机板卡、通信板卡、输出板卡、输入板卡等;每块板卡上有至少一块处理器(本发明中也称为cpu)。多块板卡之间构成层次关系,在其中,定义“一级板卡”为能直接与存储待烧录数据的外部设备(本发明中简称外设,可以是便携式存储设备,比如u盘、tf卡、移动硬盘等)连接的板卡,板卡上有相应的处理器,称为“一级处理器”;定义“二级板卡”为最高能与一级板卡直接通信,而不直接与所述外设通信的板卡(也包括既能与“一级板卡”、也能与其它“二级板卡”通信的板卡),二级板卡上有相应的处理器,称为“二级处理器”;以此类推,还可以包括具有“三级处理器”的“三级板卡”(即最高能与二级板卡直接通信,而不直接与一级板卡或外设通信的板卡,也包括既能与“二级板卡”、也能与其它“三级板卡”通信的板卡)、具有“四级处理器”的“四级板卡”(即最高能与三级板卡直接通信,而不直接与二级板卡、一级板卡或外设通信的板卡,也包括既能与“三级板卡”、也能与其它“四级板卡”通信的板卡)等;由数据线将一级板卡与外设进行连接,并由数据总线将各级板卡之间进行连接。

为了叙述方便,将二级板卡/处理器、三级板卡/处理器、四级板卡/处理器等称为一级板卡/处理器的后级板卡/处理器,同理,三级板卡/处理器、四级板卡/处理器称为一级板卡/处理器、二级板卡/处理器的后级板卡/处理器;而一级板卡/处理器称为二级板卡/处理器、三级板卡/处理器、四级板卡/处理器等的前级板卡/处理器,同理,一级板卡/处理器、二级板卡/处理器称为三级板卡/处理器、四级板卡/处理器等的前级板卡/处理器,以此类推。

本发明提供了一种自动化的多处理器程序更新系统,包括一级板卡以及与其连接的至少一级的后级板卡;其中,与所述一级板卡直接通信的后级板卡为二级板卡(类似地,与一级板卡通信的二级后级板卡,是一级板卡的三级板卡,以此类推),各级板卡上包括至少一个处理器(各级处理器可以是dsp、fpga、arm等,以dsp(数字信号处理器)作为处理器、以串行总线的can总线作为连接方式、以u盘作为外设为例对本实施例加以说明)及存储单元(如图1a、1b所示)。其中,一级板卡上的一级处理器通过一级板卡的端口与存储目标文件(即待烧录数据、程序等文件)的外设(可以是一个或多个,在图1a、图1b中以u盘作为例子对本实施例加以说明)连接;二级板卡上的二级处理器通过二级板卡的端口与所述一级板卡上的一级处理器通过一级板卡的端口相连接。所述一级处理器监测其与外设连线的端口,当监测到有外设与其连接时所述一级处理器进入等待状态,并向其后级处理器发送等待指令使其后级处理器处于等待状态并识别所述外设中存储的目标文件名称与所述一级处理器的程序名称及其后级处理器中的程序名称是否相同,以及同名程序所属的处理器(由于本发明的外设的作用是向板卡处理器提供更新的程序,因此本发明外设中存储的目标文件通常为需要更新到板卡处理器中的程序)。从外设中获取同名(可以不考虑版本号或同时查找不同版本号)的目标文件并发送至与所述目标文件同名的程序所在的板卡上的处理器,并更新替换所述同名的程序(此处的同名的程序既可以是一级处理器上的程序也可以是一级处理器的后级处理器上的程序);在更新替换完毕所有同名程序后,各级处理器恢复工作状态(此处的各级处理器既包括有同名程序的更新替换的处理器,也包括没有同名程序的更新替换的处理器,只要有一个处理器在进行同名程序的更新替换,则所有处理器均处于等待状态,直到所有处理器上的同名程序被更新完毕,才统一地恢复工作状态,避免有的处理器在等待状态进行程序更新而其它处理器在工作状态时可能发生的数据处理错误),并由一级板卡对外发出提示信号。所述提示信号可以是点亮相应指示灯(例如工作状态为绿灯、等待状态为红灯等)或发出相应声音信号(例如工作状态不发声、等待状态发出蜂鸣声或有间隔的“哔、哔、哔”的声音)或显示文字信息(比如工作状态显示“工作”、等待状态显示“等待”)等方式中的至少一种。作为一个优选实施例,对于外设中存储的多个目标文件名称分别与前级处理器和其后级处理器中的多个程序名称对应相同的情况,先更新替换所述前级处理器中的同名程序,再向其相关的后级处理器发送并更新替换同名程序,从而避免在前级处理器未更新程序、而后级处理器已更新程序的情况下引发的程序执行的冲突。

板卡上的所述存储单元可以是处理器自身的内存,也可以是与该处理器同在一块板卡上且与该处理器连接的外部存储器。作为优选实施例,处理器的存储单元既包括内存也包括外存储器,由外存储器存储从外设中获取的目标文件,对所述目标文件进行校验(比如crc循环冗余校验、奇偶校验、海明校验等方法)无误后,再将外存储器中的目标文件更新至相关处理器的内存并更新替换处理器的同名程序。

一级板卡与外设的连接方式可以是usb连接、串行总线、并行总线或者无线连接方式等现有技术的各种数据传输方式,只是需要在一级处理器中设置与该连接方式相对应的协议或寻址方式即可。例如,usb的连接方式适用于外设为具有usb接口的存储设备、且仅有一个一级板卡的情况,即数据是点对点传输的情况;外设也可以通过串行总线比如can总线与一级板卡连接,此时一级处理器必须内嵌can控制器(比如一部分内嵌can控制器的dsp、arm或单片机),以便能够识别can总线附加的消息标识符(所述消息标识符俗称帧id,每个处理器借助帧id用以识别can总线上传输的数据是否属于此处理器);若不使用can总线,仍然可以使用其它总线比如并行总线代替can总线,并在处理器中设置相应的协议或寻址方式以实现由外设到一级板卡的一级处理器之间的数据传输,因此不应当以can总线的数据传输方式或上述现有技术中的其它数据传输方式作为对本发明的限制。

比如外设还可以通过无线方式与一级板卡传输数据,如图2所示,此时本发明的自动化的多处理器程序更新系统的一级板卡的一级处理器通过无线接收单元与所述外设以无线方式连接(比如wifi、蓝牙等方式),用以通过无线方式接收外设发送的数据,再依据各处理器的寻址方式将外设中的数据传输给相应的处理器。

二级板卡的二级处理器与一级板卡的一级处理器的连接方式可以是串行总线、并行总线等现有技术的数据传输方式,只是需要在一级处理器中设置与该连接方式相对应的协议或寻址方式即可;其中串行总线中的can总线的数据传输方式与上述外设通过can总线与一级板卡之间的数据传输方式类似,此处不赘述;若不使用串行can总线,仍然可以使用其它总线比如并行总线连接所述一级板卡和二级板卡,只要在处理器中设置相应的协议或寻址方式以实现由一级板卡的一级处理器到二级板卡的二级处理器之间的数据传输即可实现这两级板卡之间的通信,其它板卡之间的数据传输与此类似,此处不赘述;因此不应当以can总线的数据传输方式或上述现有技术中的其它数据传输方式作为对本发明的限制。

本发明的自动化的多处理器程序更新系统的一个优选实施例,在上述实施例基础上,若所述后级处理器是最后一级处理器(以图1b中的三级cpu的情况为例),则所述后级处理器(比如第三三级cpu和第四三级cpu)在接收所述二级处理器(比如第二二级cpu,前提是第二二级cpu已经接收到由第一一级cpu的等待指令,即所述后级处理器比如第三三级cpu接收到的等待指令是由一级处理器(比如第一一级cpu)经过第二二级cpu传送的)发出的等待指令后,进入等待状态;所述后级处理器接收其前级处理器发送的目标文件,并将目标文件名称与其内部的程序名称作对比,若二者名称相同(比如第三三级cpu有同名程序需要更新),则以外设中的同名的目标文件更新替换所述同名的程序,更新完毕后向其一级处理器发出更新完毕指令(如图1b所示,第三三级cpu程序更新完毕后通过第二二级cpu向第一一级cpu发出更新完毕指令),并对外发出信号表示更新程序完毕(可以由所述后级处理器即第三三级处理器直接在三级板卡上或在机箱上向外发出灯光信号,或向其一级处理器即第一一级cpu发出信号,由第一一级cpu统一向外发出信号表示更新程序完毕)。

还可以由一级处理器在识别出同名程序所属的后级处理器(即需要更新程序的后级处理器)后,直接向其它的没有同名程序的后级处理器(比如第四三级cpu没有需更新的同名程序)发送无更新文件指令(第一一级cpu通过第二二级cpu向第四三级cpu发送无更新文件指令),并由该未更新替换程序的处理器(即没有同名程序的后级处理器)对外发出未更新信号表示未更新程序(所述的未更新信号可以是相应指示灯闪烁、语音等,可以由所述的没有同名程序的后级处理器本身发出,或将该未更新信号发送给一级处理器由所述一级处理器统一发出)。处理器未更新可能有两个原因:1)外设中没有更新至该处理器的目标文件,即不需要更新;2)外设中的目标文件名称错误,导致处理器中应更新的程序无法被更新。对外发出“未更新信号”可以排除外设中的目标文件名称错误导致的处理器应更新程序未更新的情况,也是为了防止出现由于处理器间通信错误引起的把未更新程序误认为更新完毕的情况。

若所述后级处理器不是最后一级处理器(以图1b的第二二级cpu的情况为例),则所述后级处理器在接收所述一级处理器(图1b的第一一级cpu)发出的等待指令后,进入等待状态,并向其后级处理器(图1b的第三三级cpu和第四三级cpu)发出等待指令;所述后级处理器(比如第二二级cpu有同名程序需要更新)和/或其后级处理器(比如第三三级cpu有同名程序需要更新),接收其前级处理器(比如第一一级cpu)发送的目标文件,并将所述目标文件名称与其内部(第二二级cpu)及其后级处理器(第三三级cpu)的程序名称作对比,若二者名称相同且同名的程序属于所述后级处理器,则以同名的目标文件更新替换所述同名的程序;更新替换全部所述同名程序后向其一级处理器发出更新完毕指令(即若第二二级cpu和第三三级cpu均有同名程序需要更新,在它们均更新完毕后由第二二级cpu向第一一级cpu发出更新完毕指令,一般在所述后级处理器即第二二级cpu和所述其后级处理器即第三三级cpu均需要更新同名程序的情况下,先更新所述后级处理器第二二级cpu的同名程序,再更新其后级处理器第三三级cpu的同名程序,所述其后级处理器第三三级cpu更新完程序之后向所述后级处理器第二二级cpu发出更新完毕指令,所述后级处理器第二二级cpu再检查自己是否已更新完毕同名程序,如果也更新完毕再向一级处理器即第一一级cpu发出更新完毕指令),并对外发出信号表示更新程序完毕。

还可以由一级处理器(如第一一级cpu)在识别出同名程序所属的后级处理器(即需要更新程序的后级处理器)后,直接向其它的没有同名程序的后级处理器(第二二级cpu)和/或其后级处理器(第三三级cpu和第四三级cpu)发送无更新文件指令,并由未更新替换程序的处理器(即没有同名程序的后级处理器)对外发出未更新信号提示未更新程序。

所述一级处理器(以图1b中的第一一级cpu为例)接收到其所有需要更新程序的后级处理器(如图1b中的二级cpu和/或三级cpu)发送的更新完毕指令后,恢复工作状态并向其所有后级处理器发送恢复指令(即一级cpu后的每个需要更新替换程序的cpu均会向一级处理器发回一条指令,只有一级处理器接收到其后所有需要更新程序的处理器发回的指令之后,才恢复工作状态并向其所有后级处理器发送恢复指令);所述后级处理器在接收到所述一级处理器发出的恢复指令后,恢复正常工作状态。

本发明自动化的多处理器程序更新系统的一个实施例,仍以图1b为例,在上述各实施例的基础上,在一级处理器识别出某后级板卡的某后级处理器上(比如第一二级板卡的第一二级cpu和第一三级板卡的第一三级cpu)有与外设(即u盘)的某目标文件同名的程序的情况下,所述一级处理器从外设中获取同名的目标文件后,先将所述同名的目标文件缓存到一级板卡(第一一级板卡)的存储单元并进行校验,若所述同名的目标文件通过校验,再将其发给相关的后级板卡的后级处理器(先发给第一二级板卡的第一二级cpu,第一二级cpu对两个目标文件校验通过后再发给第一三级板卡的第一三级cpu)并更新替换其中同名的程序;若校验不通过,则一级板卡的一级处理器(第一一级板卡的第一一级cpu)要求所述外设重新发送所述同名的目标文件。本发明所指的校验可以是crc循环冗余校验,也可以是其它验证数据准确性的校验方法,比如奇偶校验、海明校验等方法。本实施例在一级板卡获取外设的目标文件后即可对目标文件进行校验,能够避免目标文件在由外设通过有线(图1b)或无线(图2)方式发送到一级板卡的过程中可能出现的数据传输错误,提高了程序更新的安全性和效率。

本发明自动化的多处理器程序更新系统的一个实施例,仍以图1b为例,在上述各实施例的基础上,在一级处理器识别出某后级板卡的某后级处理器上(还是上例中的第一二级板卡的第一二级cpu和第一三级板卡的第一三级cpu)有与外设(即u盘)的某目标文件同名的程序的情况下,所述一级处理器从外设中获取同名的目标文件并发送至与所述目标文件同名的程序所在的后级板卡(即第一二级板卡)后,所述后级板卡上的后级处理器(第一二级cpu)将所述同名的目标文件缓存到所述后级板卡(第一二级板卡)的存储单元并进行校验,若所述同名的目标文件通过校验,再将其更新替换所述同名的程序(即对第一二级cpu中同名程序进行更新替换),并向第一三级cpu发送其目标文件;若校验不通过,则所述后级处理器(第一二级cpu)向其前一级处理器(第一一级cpu)发送请求重新发送所述同名的目标文件。所述二级处理器的后级处理器(第一三级cpu)接收到目标文件后,将目标文件缓存到所述后级板卡(第一三级板卡)的存储单元并进行校验,若所述同名目标文件通过校验,再将其更新替换所述同名的程序(即对第一三级cpu中同名程序进行更新替换);若校验不通过,则所述后级处理器(第一三级cpu)向其前一级处理器(第一二级cpu)发送请求重新所述同名的目标文件。根据前述实施例,后级处理器在对自身目标文件校验前,一级处理器已经对各目标文件进行过校验,所以后级处理器若校验不通过则说明在一级处理器到后级处理器的传输过程中出现差错,只需由一级处理器到后级处理器再发一次该目标文件即可,不需要从外设重新拿该目标文件。本发明所指的校验与上述实施例类似,可以是crc循环冗余校验,也可以是其它验证数据准确性的校验方法,比如奇偶校验、海明校验等方法。本实施例的价值在于,在需要更新程序的板卡及其处理器上,在程序更新前,先将外设发送的目标文件进行校验,能够避免目标文件在本发明的自动化的多处理器程序更新系统内部传送的过程中可能出现的数据传输错误,提高了程序更新的安全性和可靠性。

本发明自动化的多处理器程序更新系统的一个具体实施例,在上述各实施例的基础上,在一级处理器中还可以存储程序名称索引表,所述程序名称索引表完整记录并实时更新所述一级处理器及其后级处理器的所有程序的名称。所述“实时更新”是指,无论增加/去掉后级板卡和/或后级处理器,和/或增加/去掉/修改后级处理器上的程序,所述程序名称索引表都做相应调整,以保证程序名称索引表与后级板卡及后级处理器中的程序相对应。上述的一级处理器“识别外设中存储的目标文件名称与所述一级处理器的程序名称及其后级处理器中的程序名称是否相同”在本实施例中是将目标文件名称与所述程序名称索引表中的程序名称依次对比寻找同名的程序。当然,除本实施例所述的利用程序名称索引表之外,还可以采用其它方式识别外设中的目标文件名称与各处理器中的程序名称是否相同,比如还可以在一级处理器在检测到外设后,向各后级处理器发送索要名称指令(也可以是包含在所述等待指令中),各后级处理器收到该指令后向所述一级处理器返回其所有程序名称,然后,一级cpu收到所有后级cpu所对应的程序名称;在此情况下,一级处理器“识别外设中存储的目标文件名称与所述一级处理器的程序名称及其后级处理器中的程序名称是否相同”是将目标文件名称与各后级处理器返回的所有程序名称依次对比寻找同名的程序。因此本领域技术人员应当理解,可以采用由上述方式启发的多种方式识别外设中的目标文件名称与各处理器中的程序名称是否相同,而不应以此作为对本发明保护范围的限制。

本发明自动化的多处理器程序更新系统的一个具体实施例,如图3a所示,在上述各实施例的基础上,所述一级板卡上具有至少二个处理器(在图3a中以一级板卡上具有2个处理器为例),且至少二个处理器之间进行数据传输。一级板卡上的至少一个处理器与所述外设连接;所述一级板卡上的每个处理器分别连接各自的后级板卡(如图3a所示,第一一级cpu与第一二级板卡连接,第二一级cpu与第二二级板卡连接)。一级板卡上与所述外设连接的至少一个处理器监测其与外设连线的端口(本实施例中是一级板卡上的两个处理器均监测其各自与外设连接的端口),当监测到有外设与其连接时所述一级处理器进入等待状态,并向其各自的后级处理器发送等待指令使其后级处理器处于等待状态,并分别识别所述外设中存储的目标文件名称与所述一级处理器的程序名称及其后级处理器中的程序名称是否相同,从外设中获取同名的目标文件并发送至与所述目标文件同名的程序所在的板卡上的处理器,并更新替换所述同名的程序;在一级板卡的每个处理器均更新替换完毕所述处理器及其各自的后级处理器内的同名程序后,通过一级板卡上的各处理器间的数据传输确认各处理器及其后级处理器均更新完毕同名程序的状态后,各级处理器恢复工作状态,并由一级板卡对外发出提示信号。

结合除上述实施例外的其它各实施例(即排除图3a的实施例,但基于其它实施例),本发明自动化的多处理器程序更新系统的一个具体实施例,如图3b所示,所述一级板卡上具有至少二个相同的一级处理器(比如,图3b上第一一级板卡的第一一级cpu和第二一级cpu为相同的cpu),所述一级板卡上的各所述相同的一级处理器与所述外设分别连接;与所述外设连接的至少一个一级处理器监测所述一级板卡与外设连线的端口。在一级处理器识别所述外设中存储的目标文件名称与所述一级处理器的后级处理器中的程序名称相同后,所述一级板卡上的各一级处理器分别采集外设发送的同一目标文件,一级处理器两两之间对所述目标文件进行数据交互比较(即图3b中第一一级cpu与第二一级cpu之间的数据交互比较),若数据交互比较无误,则由其中一个一级处理器将所述目标文件发送给与所述目标文件同名的程序所在的后级处理器并更新替换所述同名的程序;若数据交互比较有误,则一级处理器重新采集外设的所述目标文件。该实施例的有益效果在于,通过多个相同的一级处理器之间的数据交互比较,确保在一级板卡内的目标文件数据是正确的,从而提高了目标文件在传输过程中的安全性。

在上述实施例的基础上,更优选的实施例还可以是,一级处理器(图3b中的第一一级cpu)向后级处理器(第一二级cpu和第二二级cpu等)和另一一级处理器(第二一级cpu)同时发送目标文件;所述另一一级处理器(第二一级cpu)收到所述目标文件后将其与自身从外设中采集的目标文件进行数据比较,若数据比较结果不同,则向所述一级处理器(第一一级cpu)发出数据有误的信号;所述一级处理器(第一一级cpu)收到数据有误的信号后,重新向后级处理器(第一二级cpu和第二二级cpu等)和另一一级处理器(第二一级cpu)同时发送所述目标文件。本实施例的有益效果在于,在一级处理器输出目标文件时检查目标文件的准确性,可以避免目标文件在一级板卡内进行处理及传输时发生的错误,保证从一级板卡输出的目标文件是准确的,从而提高了目标文件在系统内传输过程中的安全性和可靠性。

本发明还提供了一种利用上述的自动化的多处理器程序更新系统的程序更新方法的实施例,如图4所示,包括如下步骤:

s100:外设通过usb线与一级板卡建立通信(当然也可以通过串行总线、并行总线、无线等其它数据传输方式)。

s110:一级处理器进入等待状态;一级处理器向后级处理器发送等待指令,使后级处理器处于等待状态。若有多个后级处理器(如图1a、图1b、图2、图3a、图3b所示的情况),则多个后级处理器均处于等待状态;当然也可以只有一个后级处理器,则这一个后级处理器处于等待状态。

s120:一级处理器对外设存储的各目标文件的名称进行识别,即将外设存储的各目标文件的名称与所述一级cpu及其后级cpu的程序名称作对比,可采用多种方式,比如在一级cpu中存储程序名称索引表,所述程序名称索引表完整记录并实时更新所述一级处理器及其后级处理器的所有程序的名称,将目标文件名称与所述程序名称索引表中的程序名称依次对比找到同名的程序及同名程序所在的处理器,从而识别外设中的目标文件名称与各处理器中的程序名称是否相同;或者还可以当一级cpu向二级cpu发送等待指令后,各二级cpu向一级cpu返回其自身程序名称,并向三级cpu发送等待指令,各三级cpu收到等待指令后通过二级cpu向一级cpu发送其程序名称,依次类推,最终一级cpu获得所有处理器的程序名称并与外设存储的每个目标文件名称依次对比,从而识别外设中的目标文件名称与各处理器中的程序名称是否相同。当然还可以采用现有技术中的其它方式,因此不应以上述方式对本发明加以限制。

s130:若一级处理器识别出外设存储的某目标文件的名称与某板卡的某处理器的某程序的名称相同,则一级处理器将外设的所述目标文件存储在外存储器中;否则,转到步骤s150;

s131:对于安全冗余系统(同一板卡上有至少两个执行相同功能的cpu,分别称为第一一级处理器和第二一级处理器),如图3b所示,第一一级cpu(即第一一级处理器)和第二一级cpu(即第二一级处理器)接收到目标文件后进行数据交互比较,比较通过则发送至同名程序所在的处理器,并更新替换所述同名程序;否则,转到步骤s130;

s132:第一一级cpu向二级板卡发送目标文件时,第二一级cpu实现检测功能,若检测到第一一级cpu发送的数据和第二一级cpu存储的数据不一致,则又第二一级cpu通知第一一级cpu重新发送。

s133:同名程序所在的处理器在接收到目标文件后,存储在对应的存储单元中。在更新处理器程序前,先对存储单元中的目标文件的非校验位进行校验,如crc循环冗余校验。计算的校验值与目标文件内存储的校验值一致,即校验通过,对处理器进行替换更新所述同名程序;否则向上一级处理器或外设要求重新发送所述同名的目标文件;

s140:待所有板卡的所有处理器的所有程序的名称均识别完成、且同名程序均更新完毕,所述一级处理器得到反馈信号,所有处理器及板卡恢复工作状态;

s150:更新程序的处理器和未更新程序的处理器均对外发出相应的提示信号。

本发明的技术方案的有益效果在于:在软件bug修复和测试过程中、运营维护阶段设备软件升级过程中,本发明的技术方案可以将不同的程序烧录到各个板卡上需要升级的相对应的处理器中,避免了由工作人员通过人工方式对每套设备上的各个板卡上的不同处理器都要进行逐个单独烧录操作导致的工作繁琐、工作量大、效率低下、易出错等问题,同时消除了由于人工操作出现的错误造成的安全隐患;而且还避免了经常性的拔插操作对板卡硬件的寿命的不良影响。

总之,以上所述仅为本发明技术方案的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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