一种在线更新程序的方法和系统
文献发布时间:2023-06-19 10:48:02
技术领域
本发明涉及计算机技术领域,尤其涉及一种在线更新程序的方法和系统。
背景技术
目前,在每个分机上安装程序如自动化控制软件、自动化管理软件等后,会将每个分机分别放置于不同的空间位置上,位置可能间隔几十米、上百米甚至更远,理想情况下,在每个分机上安装程序即完成固化后的程序不需要更改,但在实际使用过程中,难免需要对在每个分机上所安装的程序进行升级或重新配置等,此时需将每个分机从对应的安装位置取下或拆卸后,再进行统一更新,导致程序更新效率低且人力成本高的问题。
发明内容
本发明所要解决的技术问题是针对现有技术的不足,提供了一种在线更新程序的方法和系统。
本发明的一种在线更新程序的方法的技术方案如下:
主机向至少一个待更新分机发送更新指令,其中,主机与每个待更新分机通过并行总线或者串行总线连接;
每个待更新分机根据所述更新指令分别获取新程序并进行程序更新。
本发明的一种在线更新程序的方法的有益效果如下:
主机与每个待更新分机通过并行总线或者串行总线连接后,主机通过并行总线或者串行总线向至少一个待更新分机发送更新指令,每个待更新分机根据更新指令分别获取新程序并进行程序更新,不需要将待更新分机从原有的固定位置取下或拆卸,实现了在线对多个待更新分机进行批量的程序更新,效率高且人力成本低。
在上述方案的基础上,本发明的一种在线更新程序的方法还可以做如下改进。
进一步,还包括:当程序更新完毕后,待更新分机向主机反馈程序更新完毕的信息。
采用上述进一步方案的有益效果是:主机根据任一待更新分机向所反馈程序更新完毕的信息即可确定该待更新分机已经完成的程序更新,以便于提醒用户可运行该待更新分机上的新程序。
进一步,还包括:所述主机对每个待更新分机的程序更新进度进行显示。
采用上述进一步方案的有益效果是:主机对每个待更新分机的程序更新进度进行显示,使用户能直观查看每个待更新分机的程序更新进度,以便于用户进行后续安排。
进一步,所述主机向至少一个待更新分机发送更新指令之前,还包括:
所述主机获取并验证每个待更新分机的唯一识别码。
采用上述进一步方案的有益效果是:主机验证每个待更新分机的唯一识别码,以确定每个待更新分机的身份,既能防止向同一台待更新分机重复发送更新指令,又能防止对不需要更新的主机进行程序更新。
进一步,所述主机向任一待更新分机发送更新指令,包括:
所述主机向待更新分机发送测试包,当接收到该待更新分机的反馈信息后,向该待更新分机发送更新指令。
采用上述进一步方案的有益效果是:主机向待更新分机发送测试包,以检测主机与待更新分机的连接状态是否正常,即确定主机与待更新分机之间是否为通路,若是,则向待更新分机发送更新指令,以确定待更新分机能及时接收到更新指令,并根据更新指令进行程序更新。
本发明的一种在线更新程序的系统的技术方案如下:
包括主机和待更新分机;
所述主机用于向至少一个待更新分机发送更新指令,其中,主机与每个待更新分机通过并行总线或者串行总线连接;
每个待更新分机用于根据所述更新指令分别获取新程序并进行程序更新。
本发明的一种在线更新程序的系统的有益效果如下:
主机与每个待更新分机通过并行总线或者串行总线连接后,主机通过并行总线或者串行总线向至少一个待更新分机发送更新指令,每个待更新分机根据更新指令分别获取新程序并进行程序更新,不需要将待更新分机从原有的固定位置取下或拆卸,实现了在线对多个待更新分机进行批量的程序更新,效率高且人力成本低。
在上述方案的基础上,本发明的一种在线更新程序的系统还可以做如下改进。
进一步,所述待更新分机还用于:当程序更新完毕后,向主机反馈程序更新完毕的信息。
采用上述进一步方案的有益效果是:主机根据任一待更新分机向所反馈程序更新完毕的信息即可确定该待更新分机已经完成的程序更新,以便于提醒用户可运行该待更新分机上的新程序。
进一步,所述主机还用于对每个待更新分机的程序更新进度进行显示。
采用上述进一步方案的有益效果是:主机对每个待更新分机的程序更新进度进行显示,使用户能直观查看每个待更新分机的程序更新进度,以便于用户进行后续安排。
进一步,所述主机还用于获取并验证每个待更新分机的唯一识别码。
采用上述进一步方案的有益效果是:主机验证每个待更新分机的唯一识别码,以确定每个待更新分机的身份,既能防止向同一台待更新分机重复发送更新指令,又能防止对不需要更新的主机进行程序更新。
进一步,所述主机具体用于向待更新分机发送测试包,当接收到该待更新分机的反馈信息后,向该待更新分机发送更新指令。
采用上述进一步方案的有益效果是:主机向待更新分机发送测试包,以检测主机与待更新分机的连接状态是否正常,即确定主机与待更新分机之间是否为通路,若是,则向待更新分机发送更新指令,以确定待更新分机能及时接收到更新指令,并根据更新指令进行程序更新。
附图说明
图1为本发明实施例的一种在线更新程序的方法的流程示意图;
图2为本发明实施例的一种在线更新程序的系统的结构示意图;
具体实施方式
如图1所示,本发明实施例的一种在线更新程序的方法,包括如下步骤:
S1、主机向至少一个待更新分机发送更新指令,其中,主机与每个待更新分机通过并行总线或者串行总线连接;
S2、每个待更新分机根据所述更新指令分别获取新程序并进行程序更新。
主机与每个待更新分机通过并行总线或者串行总线连接后,主机通过并行总线或者串行总线向至少一个待更新分机发送更新指令,每个待更新分机根据更新指令分别获取新程序并进行程序更新,不需要将待更新分机从原有的固定位置取下或拆卸,实现了在线对多个待更新分机进行批量的程序更新,效率高且人力成本低。
其中,主机可为计算机如单板计算机、服务器等,待更新分机也可为计算机如单板计算机、服务器等。
待更新分机可理解为:假设有50个分机分机需要进行程序更新,主机通过并行总线或者串行总线一次性连接25个分机,则该25个分机为25个待更新分机,当该25个待更新分机程序更新完毕后,主机通过并行总线或者串行总线连接剩余的25个分机,此时,剩余的25个分机为25个待更新分机,实现了在线对多个待更新分机进行批量的程序更新。
其中,主机与待更新分机上均运行VxWorks或windows操作系统,且主机与待更新分机均设有芯片,主机通过芯片发送更新指令,待更新分机通过芯片获取新程序并进行程序更新等,其中待更新分机与待更新分机均所设置的芯片可采用:CYCLONE II系列的FGPA(Field Programmable Gate Array,现场可编程逻辑门阵列),CYCLONE II系列FPGA具有高性能、高集成度、价格低、开发周期短、在线编程的特点。因此该CYCLONE II系列的FGPA能广泛应用在工业控制的各个场景,具体地:
主机通过并行总线或者串行总线与每个待更新分机进行连接,主机的FGPA向每个待更新分机发送更新指令,每个待更新分机的FGPA从数据库中或预设的存储芯片(EPCS芯片)中下载新程序,新程序可以是配置文件、补丁或完整程序,那么:
1)当新程序是配置文件时,则待更新分机进行程序更新可理解为:按照配置文件重新进行配置;
2)当新程序是补丁时,则待更新分机进行程序更新可理解为:根据补丁升级旧程序;
3)当新程序是完整程序时,则待更新分机进行程序更新可理解为:删除旧程序,直接按照新程序。
在完成程序更新后,待更新分机还对新程序进行固化,固化新程序时使用usb-blaster下载线连接到JTAG端口或AS端口,通过QuartusII软件IDE界面写入到待更新分机的芯片中。
较优地,在上述技术方案中,还包括:
S3、当程序更新完毕后,待更新分机向主机反馈程序更新完毕的信息。
主机根据任一待更新分机向所反馈程序更新完毕的信息即可确定该待更新分机已经完成的程序更新,以便于提醒用户可运行该待更新分机上的新程序。
较优地,在上述技术方案中,还包括:
S4、所述主机对每个待更新分机的程序更新进度进行显示。
主机对每个待更新分机的程序更新进度进行显示,使用户能直观查看每个待更新分机的程序更新进度,以便于用户进行后续安排。例如,用户决定启动待更新分机的时间等。
较优地,在上述技术方案中,S1中所述主机向至少一个待更新分机发送更新指令之前,还包括:
S01、所述主机获取并验证每个待更新分机的唯一识别码。具体地:
主机验证预存的唯一识别码是否存在与待更新分机的唯一识别码相同的唯一识别码,若有,则验证成功,向该待更新分机发送更新指令,若否,则发出提醒,提示存在错误,以便于用户进行查看和处理。
主机验证每个待更新分机的唯一识别码如MAC码、出厂编号等,以确定每个待更新分机的身份,既能防止向同一台待更新分机重复发送更新指令,又能防止对不需要更新的主机进行程序更新。
较优地,在上述技术方案中,所述主机向任一待更新分机发送更新指令,包括:
S20、所述主机向待更新分机发送测试包,当接收到该待更新分机的反馈信息后,向该待更新分机发送更新指令。具体地:
1)主机向任一待更新分机发送测试包,若未接收到该待更新分机的反馈信息,则表明主机与该待更新分机的连接状态异常,即主机与待更新分机之间不是通路,则主机可发出提醒,以提示用户进行处理;
2)主机向任一待更新分机发送测试包,若接收到该待更新分机的反馈信息,则表明主机与该待更新分机的连接状态正常,即主机与待更新分机之间是通路,即此时主机已经确定待更新分机能及时接收到更新指令,向待更新分机发送更新指令。
也就是说,主机向待更新分机发送测试包,以检测主机与待更新分机的连接状态是否正常,即确定主机与待更新分机之间是否为通路,若是,则向待更新分机发送更新指令,以确定待更新分机能及时接收到更新指令,并根据更新指令进行程序更新。
在上述各实施例中,虽然对步骤进行进行了编号S1、S2等,但只是本申请给出的具体实施例,本领域的技术人员可根据实际情况对调整S1、S2等的执行顺序,此也在本发明的保护范围内,可以理解,在一些实施例中,可以包含如上述各实施方式中的部分或全部。
如图2所示,本发明实施例的一种在线更新程序的系统200,包括主机210和待更新分机220;
所述主机210用于向至少一个待更新分机220发送更新指令,其中,主机210与每个待更新分机220通过并行总线或者串行总线连接;
每个待更新分机220用于根据所述更新指令分别获取新程序并进行程序更新。
主机210与每个待更新分机220通过并行总线或者串行总线连接后,主机210通过并行总线或者串行总线向至少一个待更新分机220发送更新指令,每个待更新分机220根据更新指令分别获取新程序并进行程序更新,不需要将待更新分机220从原有的固定位置取下或拆卸,实现了在线对多个待更新分机220进行批量的程序更新,效率高且人力成本低。
其中,主机210可为计算机如单板计算机、服务器等,待更新分机220也可为计算机如单板计算机、服务器等。
待更新分机220可理解为:假设有50个分机分机需要进行程序更新,主机210通过并行总线或者串行总线一次性连接25个分机,则该25个分机为25个待更新分机220,当该25个待更新分机220程序更新完毕后,主机210通过并行总线或者串行总线连接剩余的25个分机,此时,剩余的25个分机为25个待更新分机220,实现了在线对多个待更新分机220进行批量的程序更新。
其中,主机210与待更新分机220上均运行VxWorks或windows操作系统,且主机210与待更新分机220均设有芯片,主机210通过芯片发送更新指令,待更新分机220通过芯片获取新程序并进行程序更新等,其中待更新分机220与待更新分机220均所设置的芯片可采用:CYCLONE II系列的FGPA(Field Programmable Gate Array,现场可编程逻辑门阵列),CYCLONE II系列FPGA具有高性能、高集成度、价格低、开发周期短、在线编程的特点。因此该CYCLONE II系列的FGPA能广泛应用在工业控制的各个场景,具体地:
主机210通过并行总线或者串行总线与每个待更新分机220进行连接,主机210的FGPA向每个待更新分机220发送更新指令,每个待更新分机220的FGPA从数据库中或预设的存储芯片(EPCS芯片)中下载新程序,新程序可以是配置文件、补丁或完整程序,那么:
1)当新程序是配置文件时,则待更新分机220进行程序更新可理解为:按照配置文件重新进行配置;
2)当新程序是补丁时,则待更新分机220进行程序更新可理解为:根据补丁升级旧程序;
3)当新程序是完整程序时,则待更新分机220进行程序更新可理解为:删除旧程序,直接按照新程序。
在完成程序更新后,待更新分机220还对新程序进行固化,固化新程序时使用usb-blaster下载线连接到JTAG端口或AS端口,通过QuartusII软件IDE界面写入到待更新分机220的芯片中。
较优地,在上述技术方案中,所述待更新分机220还用于:当程序更新完毕后,向主机210反馈程序更新完毕的信息。
主机210根据任一待更新分机220向所反馈程序更新完毕的信息即可确定该待更新分机220已经完成的程序更新,以便于提醒用户可运行该待更新分机220上的新程序。
较优地,在上述技术方案中,所述主机210还用于对每个待更新分机220的程序更新进度进行显示。
主机210对每个待更新分机220的程序更新进度进行显示,使用户能直观查看每个待更新分机220的程序更新进度,以便于用户进行后续安排。
较优地,在上述技术方案中,所述主机210还用于获取并验证每个待更新分机220的唯一识别码。
主机210验证预存的唯一识别码是否存在与待更新分机220的唯一识别码相同的唯一识别码,若有,则验证成功,向该待更新分机220发送更新指令,若否,则发出提醒,提示存在错误,以便于用户进行查看和处理。
主机210验证每个待更新分机220的唯一识别码如MAC码、出厂编号等,以确定每个待更新分机220的身份,既能防止向同一台待更新分机220重复发送更新指令,又能防止对不需要更新的主机210进行程序更新。
较优地,在上述技术方案中,所述主机210具体用于向待更新分机220发送测试包,当接收到该待更新分机220的反馈信息后,向该待更新分机220发送更新指令。具体地:
1)主机210向任一待更新分机220发送测试包,若未接收到该待更新分机220的反馈信息,则表明主机210与该待更新分机220的连接状态异常,即主机210与待更新分机220之间不是通路,则主机210可发出提醒,以提示用户进行处理;
2)主机210向任一待更新分机220发送测试包,若接收到该待更新分机220的反馈信息,则表明主机210与该待更新分机220的连接状态正常,即主机210与待更新分机220之间是通路,即此时主机210已经确定待更新分机220能及时接收到更新指令,向待更新分机220发送更新指令。
也就是说,主机210向待更新分机220发送测试包,以检测主机210与待更新分机220的连接状态是否正常,即确定主机210与待更新分机220之间是否为通路,若是,则向待更新分机220发送更新指令,以确定待更新分机220能及时接收到更新指令,并根据更新指令进行程序更新。
上述关于本发明的一种在线更新程序的系统200中的各参数和各个单元模块实现相应功能的步骤,可参考上文中关于一种在线更新程序的方法的实施例中的各参数和步骤,在此不做赘述。
所属技术领域的技术人员知道,本发明可以实现为系统、方法或计算机程序产品。
因此,本公开可以具体实现为以下形式,即:可以是完全的硬件、也可以是完全的软件(包括固件、驻留软件、微代码等),还可以是硬件和软件结合的形式,本文一般称为“电路”、“模块”或“系统”。此外,在一些实施例中,本发明还可以实现为在一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可读的程序代码。
可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是一一但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM),只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
- 一种在线更新程序的方法和系统
- 一种法律在线更新方法、系统、设备及计算机程序产品