CN111736866A - 兼容一对一和一对多的在线升级方法及终端设备 - Google Patents

兼容一对一和一对多的在线升级方法及终端设备 Download PDF

Info

Publication number
CN111736866A
CN111736866A CN202010475005.5A CN202010475005A CN111736866A CN 111736866 A CN111736866 A CN 111736866A CN 202010475005 A CN202010475005 A CN 202010475005A CN 111736866 A CN111736866 A CN 111736866A
Authority
CN
China
Prior art keywords
target data
slave
data packet
upgrade
sending
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202010475005.5A
Other languages
English (en)
Inventor
洪金追
徐晓翔
池毓贵
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xiamen Kecan Information Technology Co ltd
Xiamen Kehua Hengsheng Co Ltd
Kehua Hengsheng Co Ltd
Original Assignee
Xiamen Kecan Information Technology Co ltd
Xiamen Kehua Hengsheng Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Xiamen Kecan Information Technology Co ltd, Xiamen Kehua Hengsheng Co Ltd filed Critical Xiamen Kecan Information Technology Co ltd
Priority to CN202010475005.5A priority Critical patent/CN111736866A/zh
Publication of CN111736866A publication Critical patent/CN111736866A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Abstract

本发明适用于通信技术领域,提供了一种兼容一对一和一对多的在线升级方法及终端设备,包括:获取待升级的从机数量和升级文件,并按照预设规则将升级文件分成多个目标数据包;若待升级的从机数量大于1,则以广播方式向各个从机发送多个第一文件传输帧,以使从机根据第一帧类型接收目标数据包,并在接收完成所有目标数据包后进行升级;若待升级的从机数量为1,则向从机发送多个第二文件传输帧,以使从机根据第二帧类型接收目标数据包,应答目标数据包的接收结果,并在接收完成所有目标数据包后进行升级;向从机发送升级结果查询帧,以使从机根据升级结果查询帧应答升级结果。本发明能够提高升级效率。

Description

兼容一对一和一对多的在线升级方法及终端设备
技术领域
本发明属于通信技术领域,尤其涉及一种兼容一对一和一对多的在线升级方法及终端设备。
背景技术
当产品在客户现场出现问题时,需要进行软件升级,而软件升级就涉及到主机与从机之间进行升级文件的传输。主机与从机的监控架构分为两种,分别为一对一和一对多。
目前,通常采用点对点升级的方式对从机中的软件进行升级,即主机依次对每个从机的软件进行升级。但是,这种升级方式在一对多的架构中,升级效率较低。
发明内容
有鉴于此,本发明实施例提供了一种兼容一对一和一对多的在线升级方法及终端设备,以解决现有技术中升级效率较低的问题。
本发明实施例的第一方面提供了一种兼容一对一和一对多的在线升级方法,包括:
获取待升级的从机数量和升级文件,并按照预设规则将升级文件分成多个目标数据包;
若待升级的从机数量大于1,则以广播方式向各个从机发送多个第一文件传输帧,其中,第一文件传输帧中携带有第一帧类型和目标数据包,以使从机根据第一帧类型接收目标数据包,并在接收完成所有目标数据包后进行升级;
若待升级的从机数量为1,则向从机发送多个第二文件传输帧,其中,第二文件传输帧中携带有第二帧类型和目标数据包,以使从机根据第二帧类型接收目标数据包,应答目标数据包的接收结果,并在接收完成所有目标数据包后进行升级;
向从机发送升级结果查询帧,以使从机根据升级结果查询帧应答升级结果。
本发明实施例的第二方面提供了一种终端设备,包括存储器、处理器以及存储在存储器中并可在处理器上运行的计算机程序,处理器执行计算机程序时实现如第一方面所述兼容一对一和一对多的在线升级方法的步骤。
本发明实施例的第三方面提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被一个或多个处理器执行时实现如第一方面所述兼容一对一和一对多的在线升级方法的步骤。
本发明实施例与现有技术相比存在的有益效果是:本发明实施例根据待升级的从机数量采用不同的升级方式,若待升级的从机数量大于1,即一对多的情况,则以广播方式向各个从机发送多个携带有目标数据包的第一文件传输帧,以使各个从机接收目标数据包,并在接收完成所有目标数据包后进行升级,通过广播方式传输升级文件,可以节约文件传输时间,提高升级效率;若待升级的从机数量为1,即一对一的情况,则直接向从机发送多个携带有目标数据包的第二文件传输帧,从机在接收到目标数据包后,直接向主机应答目标数据包的接收结果,无需主机再发送文件传输确认帧,可以节约升级时间,提升升级效率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例提供的兼容一对一和一对多的在线升级方法的实现流程示意图;
图2是本发明一实施例提供的兼容一对一和一对多的在线升级系统的结构示意图;
图3是本发明一实施例提供的终端设备的结构示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本发明实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。
为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。
图1是本发明一实施例提供的兼容一对一和一对多的在线升级方法的实现流程示意图,为了便于说明,仅示出了与本发明实施例相关的部分。本发明实施例的执行主体可以是终端设备。终端设备可以是主机。
本发明实施例提供的在线升级方法可以应用于主机与从机之间的在线升级,主机通过向从机发送升级文件,以使从机根据升级文件进行升级。可以兼容一对一和一对多两种架构。其中,主机可以是HMI(Human Machine Interface,人机界面),例如,可以是触摸屏;从机可以是控制板,例如,可以是MCU(Micro Control Unit,微控制单元),具体可以是DSP(Digital Signal Processor,数字信号处理器)。
如图1所示,上述兼容一对一和一对多的在线升级方法可以包括如下步骤:
S101:获取待升级的从机数量和升级文件,并按照预设规则将升级文件分成多个目标数据包。
在本发明实施例中,主机获取升级文件可以通过两种方式获取,一种是通过U盘获取升级文件,另一种是通过与上位机通信,获取升级文件。
主机获取待升级的从机数量,根据待升级的从机数量确定具体的升级文件传输方式。
在本发明的一个实施例中,上述S101中的“按照预设规则将升级文件分成多个目标数据包”,可以包括以下步骤:
将升级文件按照第一预设数量的行数划分成多个目标数据包。
具体地,主机可以依据每个目标数据包中具有第一预设数量的行数的数据来进行目标数据包的划分。其中,第一预设数量可以根据实际需求进行设置。
优选地,第一预设数量为3。即,将升级文件中的每3行数据划分成一个目标数据包,目标数据包中的数据量在100字节到200字节之间,大概120字节。这样在数据传输时,可以平衡单次数据传输的数据量和可靠性。
在本发明的一个实施例中,在将升级文件按照第一预设数量的行数划分成多个目标数据包之后,还可以包括:
若目标数据包中存在字节数小于第二预设数量的目标行,或目标数据包中的行数小于第一预设数量,则用零补齐,使目标数据包的行数为第一预设数量,且每行数据的字节数为第二预设数量。
具体地,分别检查每个目标数据包中的每行数据的字节数是否均达到第二预设数量,若存在未达到第二预设数量的目标行,则在该目标行原有数据之后补零,使该目标行数据的字节数达到第二预设数量。分别检查每个数据包的行数是否小于第一预设数量(具体针对最后一个目标数据包),即检查最后一个目标数据包的数据行数是否达到第一预设数量,若未达到,则用零补齐,使最后一个目标数据包的数据行数达到第一预设数量,且每行数据的字节数为第二预设数量。其中,第二预设数量可以为每行最多可容纳的字节数。
S102:若待升级的从机数量大于1,则以广播方式向各个从机发送多个第一文件传输帧,其中,第一文件传输帧中携带有第一帧类型和目标数据包,以使从机根据第一帧类型接收目标数据包,并在接收完成所有目标数据包后进行升级。
若待升级的从机数量大于1,即主机对从机是一对多的情况,则以广播方式向各个从机发送多个第一文件传输帧。其中,每个第一文件传输帧中携带有一个目标数据包,即主机向从机广播发送第一文件传输帧的数量与目标数据包的数量相同。优选地,主机按照目标数据包在升级文件中的顺序依次广播发送多个第一文件传输帧。
第一帧类型即为第一文件传输帧的类型,在一对多的情况下,第一帧类型为广播帧。
当从机接收到广播帧时,无需应答,等待主机发送文件传输确认帧时,再应答对应目标数据包的接收结果。当从机接收完成所有目标数据包后,根据接收到的所有目标数据包进行升级。
主机向从机发送的帧携带有两个参数值,分别为帧类型和帧格式。帧类型的具体值可以用来识别该帧为广播帧(第一帧类型)还是非广播帧(第二帧类型),帧格式的具体值可以用来识别该帧为文件传输帧、文件传输确认帧还是升级结果查询帧。其中,文件传输帧用于传输目标数据包;文件传输确认帧用于使从机应答是否正确接收发送的目标数据包;升级结果查询帧用于使从机应答升级结果。
在本发明实施例中,将属于广播帧的文件传输帧称为第一文件传输帧,将属于非广播帧的文件传输帧称为第二文件传输帧。不管是第一文件传输帧还是第二文件传输帧均携带有一个目标数据包。文件传输帧还可以携带升级文件的总行数或者目标数据包的总个数,用于从机确定是否接收完成所有目标数据包。
当从机接收到主机发送的帧时,可以根据帧中的帧类型和帧格式的具体值确定帧的具体类型,从而确定是否进行应答以及应答的内容。
可选地,主机与从机之间的通信方式可以是RS485通信,也可以是CAN通信,还可以是其它通信方式,在此不做具体限制。
在本发明的一个实施例中,当待升级的从机数量大于1时,在以广播方式向各个从机发送多个第一文件传输帧之后,上述兼容一对一和一对多的在线升级方法还可以包括:
向各个从机发送文件传输确认帧,以使各个从机应答目标数据包的接收结果。
具体地,主机可以针对每一个第一文件传输帧,向各个从机发送一个文件传输确认帧。文件传输确认帧中可以携带有一个目标数据包的编号,用来标识需要确认是否正确接收的目标数据包。从机在接收到文件传输确认帧之后,应答该文件传输确认帧中携带的编号对应的目标数据包的接收结果(正确接收目标数据包或未正确接收目标数据包)。在本发明的一个实施例中,当待升级的从机数量大于1时,在向各个从机发送文件传输确认帧之后,上述兼容一对一和一对多的在线升级方法还可以包括:
接收各个从机应答的目标数据包的接收结果,并根据各个从机应答的目标数据包的接收结果,确定各个从机是否正确接收目标数据包;
若存在未正确接收目标数据包的目标从机,则向目标从机重新发送携带有该目标数据包的第一文件传输帧,直至确定目标从机正确接收该目标数据包,或,直至向目标从机发送携带有该目标数据包的第一文件传输帧的次数达到预设次数;
若向目标从机发送携带有该目标数据包的第一文件传输帧的次数达到预设次数,则将目标从机从升级序列中删除。
具体地,根据从机对各个文件传输确认帧的应答帧中的目标数据包的接收结果,可以确认从机是否正确接收各个目标数据包。若某个从机未正确接收某个目标数据包,则主机重新向该从机发送携带该目标数据包的第一文件传输帧,直至确认该从机正确接收该目标数据包,或者直至向该从机发送携带有该目标数据包的第一文件传输帧的次数达到预设次数。其中,预设次数可以根据实际需求进行设置。
若向该从机发送携带有该目标数据包的第一文件传输帧的次数达到预设次数,则将该从机从升级序列中删除,继续进行其他从机的升级,并向工作终端发送该从机的信息,以使工作终端对应的工作人员确定该从机升级失败的原因,修正之后重新对该从机单独进行升级,或采用其他方式进行升级。其中,工作终端为工作人员使用的终端设备,可以是手机等移动终端,也可以是计算机等终端。升级序列为所有待升级的从机组成的序列。
本发明实施例通过将升级文件拆分成多个目标数据包,当从机未正确接收某个目标数据包时,只需重新发送该目标数据包即可,无需重新发送整个升级文件,可以节约时间,提高效率。若某个从机一直未正确接收某个目标数据包,则可以将该从机从升级序列中剔除,继续其他从机的升级,不会耽误其他从机的升级,进一步提高升级效率。
S103:若待升级的从机数量为1,则向从机发送多个第二文件传输帧,其中,第二文件传输帧中携带有第二帧类型和目标数据包,以使从机根据第二帧类型接收目标数据包,应答目标数据包的接收结果,并在接收完成所有目标数据包后进行升级。
若待升级的从机数量为1,即主机对从机是一对一的情况,则直接向该从机发送多个第二文件传输帧。其中,每个第二文件传输帧中携带有一个目标数据包,即主机向该从机发送第二文件传输帧的数量与目标数据包的数量相同。优选地,主机按照目标数据包在升级文件中的顺序依次向该从机发送多个第二文件传输帧。
第二帧类型为第二文件传输帧的类型,在一对一的情况下,第二帧类型为非广播帧。
当从机接收到非广播帧时,从机直接应答该帧携带的目标数据包的接收结果,无需再等待主机发送文件传输确认帧,可以节约时间,提高效率。
当从机接收完成所有目标数据包后,根据接收到的所有目标数据包进行升级。
在本发明的一个实施例中,当待升级的从机数量为1时,在向从机发送多个第二文件传输帧之后,上述兼容一对一和一对多的在线升级方法还可以包括:
接收从机应答的目标数据包的接收结果,并根据从机应答的目标数据包的接收结果,确定从机是否正确接收目标数据包;
若从机未正确接收目标数据包,则向从机重新发送携带有该目标数据包的第二文件传输帧,直至确定从机正确接收该目标数据包,或,直至向从机发送携带有该目标数据包的第二文件传输帧的次数达到预设次数;
若向从机发送携带有该目标数据包的第二文件传输帧的次数达到预设次数,则停止升级,并向工作终端发送升级失败信息。
上述过程与当待升级的从机数量大于1时,针对从机未正确接收目标数据包的处理过程类似,在此不再赘述。
在本发明的一个实施例中,上述S102和S103中的“在接收完成所有目标数据包后进行升级”,可以包括:
在接收完成所有目标数据包后,将暂存于外部FLASH中的所有目标数据包烧录到内部FLASH,并重新启动,进行升级。
从机在接收到一个目标数据包后,会将目标数据包暂存于外部FLASH中,在接收完所有目标数据包后,可以根据所有目标数据包得到升级文件,将升级文件从外部FLASH搬运烧录到内部FLASH,并进行重启动作,进行升级。升级结果的应答需要在升级后的新程序中才能返回。
S104:向从机发送升级结果查询帧,以使从机根据升级结果查询帧应答升级结果。
主机可以向从机发送升级结果查询帧,用来查询从机是否成功升级。从机在接收到升级结果查询帧之后,向主机应答升级结果(升级成功或升级失败)。
在本发明的一个实施例中,在S104之后,上述兼容一对一和一对多的在线升级方法还可以包括:
接收从机应答的升级结果;
若根据升级结果确定升级失败,则向工作终端发送升级失败信息。
主机接收从机应答的升级结果,并根据升级结果确定是否成功升级,若升级成功,则升级结束;若升级失败,则向工作终端发送升级失败信息,以使工作终端对应的工作人员确定从机升级失败的原因,修正之后重新对该从机单独进行升级,或采用其他方式进行升级。
由上述描述可知,本发明实施例根据待升级的从机数量采用不同的升级方式,若待升级的从机数量大于1,即一对多的情况,则以广播方式向各个从机发送多个携带有目标数据包的第一文件传输帧,以使各个从机接收目标数据包,并在接收完成所有目标数据包后进行升级,通过广播方式传输升级文件,可以节约文件传输时间,提高升级效率;若待升级的从机数量为1,即一对一的情况,则直接向从机发送多个携带有目标数据包的第二文件传输帧,从机在接收到目标数据包后,直接向主机应答目标数据包的接收结果,无需主机再发送文件传输确认帧,可以节约升级时间,提升升级效率。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
图2是本发明一实施例提供的兼容一对一和一对多的在线升级系统的结构示意图,为了便于说明,仅示出与本发明实施例相关的部分。
参见图2,兼容一对一和一对多的在线升级系统200可以包括:
划分模块201,用于获取待升级的从机数量和升级文件,并按照预设规则将升级文件分成多个目标数据包;
第一传输模块202,用于若待升级的从机数量大于1,则以广播方式向各个从机发送多个第一文件传输帧,其中,第一文件传输帧中携带有第一帧类型和目标数据包,以使从机根据第一帧类型接收目标数据包,并在接收完成所有目标数据包后进行升级;
第二传输模块203,用于若待升级的从机数量为1,则向从机发送多个第二文件传输帧,其中,第二文件传输帧中携带有第二帧类型和目标数据包,以使从机根据第二帧类型接收目标数据包,应答目标数据包的接收结果,并在接收完成所有目标数据包后进行升级;
升级结果查询模块204,用于向从机发送升级结果查询帧,以使从机根据升级结果查询帧应答升级结果。
可选地,兼容一对一和一对多的在线升级系统200还可以包括:
文件传输确认模块,用于向各个从机发送文件传输确认帧,以使各个从机应答目标数据包的接收结果。
可选地,兼容一对一和一对多的在线升级系统200还可以包括:
第一错误处理模块,用于接收各个从机应答的目标数据包的接收结果,并根据各个从机应答的目标数据包的接收结果,确定各个从机是否正确接收目标数据包;若存在未正确接收目标数据包的目标从机,则向目标从机重新发送携带有该目标数据包的第一文件传输帧,直至确定目标从机正确接收该目标数据包,或,直至向目标从机发送携带有该目标数据包的第一文件传输帧的次数达到预设次数;若向目标从机发送携带有该目标数据包的第一文件传输帧的次数达到预设次数,则将目标从机从升级序列中删除。
可选地,兼容一对一和一对多的在线升级系统200还可以包括:
第二错误处理模块,用于接收从机应答的目标数据包的接收结果,并根据从机应答的目标数据包的接收结果,确定从机是否正确接收目标数据包;若从机未正确接收目标数据包,则向从机重新发送携带有该目标数据包的第二文件传输帧,直至确定从机正确接收该目标数据包,或,直至向从机发送携带有该目标数据包的第二文件传输帧的次数达到预设次数;若向从机发送携带有该目标数据包的第二文件传输帧的次数达到预设次数,则停止升级,并向工作终端发送升级失败信息。
可选地,划分模块201还可以用于:
将升级文件按照第一预设数量的行数划分成多个目标数据包。
可选地,划分模块201还可以用于:
若目标数据包中存在字节数小于第二预设数量的目标行,或目标数据包中的行数小于第一预设数量,则用零补齐,使目标数据包的行数为第一预设数量,且每行数据的字节数为第二预设数量。
可选地,第一传输模块202和第二传输模块203中的“在接收完成所有目标数据包后进行升级”,可以包括:
在接收完成所有目标数据包后,将暂存于外部FLASH中的所有目标数据包烧录到内部FLASH,并重新启动,进行升级。
可选地,兼容一对一和一对多的在线升级系统200还可以包括:
升级结果接收模块,用于接收从机应答的升级结果;若根据升级结果确定升级失败,则向工作终端发送升级失败信息。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述兼容一对一和一对多的在线升级系统的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述装置中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
图3是本发明一实施例提供的终端设备的示意框图。如图3所示,该实施例的终端设备300包括:一个或多个处理器301、存储器302以及存储在所述存储器302中并可在所述处理器301上运行的计算机程序303。所述处理器301执行所述计算机程序303时实现上述各个兼容一对一和一对多的在线升级方法实施例中的步骤,例如图1所示的步骤S101至S104。或者,所述处理器301执行所述计算机程序303时实现上述兼容一对一和一对多的在线升级系统实施例中各模块/单元的功能,例如图2所示模块201至204的功能。
示例性地,所述计算机程序303可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器302中,并由所述处理器301执行,以完成本申请。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序303在所述终端设备300中的执行过程。例如,所述计算机程序303可以被分割成划分模块、第一传输模块、第二传输模块和升级结果查询模块,各模块具体功能如下:
划分模块,用于获取待升级的从机数量和升级文件,并按照预设规则将升级文件分成多个目标数据包;
第一传输模块,用于若待升级的从机数量大于1,则以广播方式向各个从机发送多个第一文件传输帧,其中,第一文件传输帧中携带有第一帧类型和目标数据包,以使从机根据第一帧类型接收目标数据包,并在接收完成所有目标数据包后进行升级;
第二传输模块,用于若待升级的从机数量为1,则向从机发送多个第二文件传输帧,其中,第二文件传输帧中携带有第二帧类型和目标数据包,以使从机根据第二帧类型接收目标数据包,应答目标数据包的接收结果,并在接收完成所有目标数据包后进行升级;
升级结果查询模块,用于向从机发送升级结果查询帧,以使从机根据升级结果查询帧应答升级结果。
其它模块或者单元可参照图2所示的实施例中的描述,在此不再赘述。
所述终端设备300可以是上述主机,具体可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备,也可以是触摸屏等人机交互设备。所述终端设备300包括但不仅限于处理器301、存储器302。本领域技术人员可以理解,图3仅仅是终端设备300的一个示例,并不构成对终端设备300的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述终端设备300还可以包括输入设备、输出设备、网络接入设备、总线等。
所述处理器301可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器302可以是所述终端设备300的内部存储单元,例如终端设备300的硬盘或内存。所述存储器302也可以是所述终端设备300的外部存储设备,例如所述终端设备300上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(SecureDigital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器302还可以既包括终端设备300的内部存储单元也包括外部存储设备。所述存储器302用于存储所述计算机程序303以及所述终端设备300所需的其他程序和数据。所述存储器302还可以用于暂时地存储已经输出或者将要输出的数据。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的系统和方法,可以通过其它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括是电载波信号和电信信号。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。

Claims (10)

1.一种兼容一对一和一对多的在线升级方法,其特征在于,包括:
获取待升级的从机数量和升级文件,并按照预设规则将所述升级文件分成多个目标数据包;
若所述待升级的从机数量大于1,则以广播方式向各个从机发送多个第一文件传输帧,其中,所述第一文件传输帧中携带有第一帧类型和所述目标数据包,以使所述从机根据所述第一帧类型接收所述目标数据包,并在接收完成所有目标数据包后进行升级;
若所述待升级的从机数量为1,则向从机发送多个第二文件传输帧,其中,所述第二文件传输帧中携带有第二帧类型和所述目标数据包,以使所述从机根据所述第二帧类型接收所述目标数据包,应答所述目标数据包的接收结果,并在接收完成所有目标数据包后进行升级;
向从机发送升级结果查询帧,以使所述从机根据所述升级结果查询帧应答升级结果。
2.根据权利要求1所述的兼容一对一和一对多的在线升级方法,其特征在于,在所述以广播方式向各个从机发送多个第一文件传输帧之后,还包括:
向各个从机发送文件传输确认帧,以使各个从机应答目标数据包的接收结果。
3.根据权利要求2所述的兼容一对一和一对多的在线升级方法,其特征在于,在所述向各个从机发送文件传输确认帧之后,还包括:
接收各个从机应答的目标数据包的接收结果,并根据所述各个从机应答的目标数据包的接收结果,确定各个从机是否正确接收目标数据包;
若存在未正确接收目标数据包的目标从机,则向所述目标从机重新发送携带有该目标数据包的第一文件传输帧,直至确定所述目标从机正确接收该目标数据包,或,直至向所述目标从机发送所述携带有该目标数据包的第一文件传输帧的次数达到预设次数;
若向所述目标从机发送所述携带有该目标数据包的第一文件传输帧的次数达到预设次数,则将所述目标从机从升级序列中删除。
4.根据权利要求1所述的兼容一对一和一对多的在线升级方法,其特征在于,在所述向从机发送多个第二文件传输帧之后,还包括:
接收所述从机应答的目标数据包的接收结果,并根据所述从机应答的目标数据包的接收结果,确定所述从机是否正确接收目标数据包;
若所述从机未正确接收目标数据包,则向所述从机重新发送携带有该目标数据包的第二文件传输帧,直至确定所述从机正确接收该目标数据包,或,直至向所述从机发送所述携带有该目标数据包的第二文件传输帧的次数达到预设次数;
若向所述从机发送所述携带有该目标数据包的第二文件传输帧的次数达到预设次数,则停止升级,并向工作终端发送升级失败信息。
5.根据权利要求1所述的兼容一对一和一对多的在线升级方法,其特征在于,所述按照预设规则将所述升级文件分成多个目标数据包,包括:
将所述升级文件按照第一预设数量的行数划分成多个目标数据包。
6.根据权利要求5所述的兼容一对一和一对多的在线升级方法,其特征在于,在所述将所述升级文件按照第一预设数量的行数划分成多个目标数据包之后,还包括:
若目标数据包中存在字节数小于第二预设数量的目标行,或目标数据包中的行数小于所述第一预设数量,则用零补齐,使目标数据包的行数为所述第一预设数量,且每行数据的字节数为所述第二预设数量。
7.根据权利要求1至6任一项所述的兼容一对一和一对多的在线升级方法,其特征在于,所述在接收完成所有目标数据包后进行升级,包括:
在接收完成所有目标数据包后,将暂存于外部FLASH中的所有目标数据包烧录到内部FLASH,并重新启动,进行升级。
8.根据权利要求1至6任一项所述的兼容一对一和一对多的在线升级方法,其特征在于,在所述向从机发送升级结果查询帧,以使所述从机根据所述升级结果查询帧应答升级结果之后,还包括:
接收所述从机应答的升级结果;
若根据所述升级结果确定升级失败,则向工作终端发送升级失败信息。
9.一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至8任一项所述兼容一对一和一对多的在线升级方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被一个或多个处理器执行时实现如权利要求1至8任一项所述兼容一对一和一对多的在线升级方法的步骤。
CN202010475005.5A 2020-05-29 2020-05-29 兼容一对一和一对多的在线升级方法及终端设备 Pending CN111736866A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010475005.5A CN111736866A (zh) 2020-05-29 2020-05-29 兼容一对一和一对多的在线升级方法及终端设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010475005.5A CN111736866A (zh) 2020-05-29 2020-05-29 兼容一对一和一对多的在线升级方法及终端设备

Publications (1)

Publication Number Publication Date
CN111736866A true CN111736866A (zh) 2020-10-02

Family

ID=72646607

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010475005.5A Pending CN111736866A (zh) 2020-05-29 2020-05-29 兼容一对一和一对多的在线升级方法及终端设备

Country Status (1)

Country Link
CN (1) CN111736866A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112230961A (zh) * 2020-10-20 2021-01-15 杭州海兴电力科技股份有限公司 一种智能表计升级方法、装置、设备及介质
CN112394959A (zh) * 2020-11-18 2021-02-23 深圳市元征科技股份有限公司 胎压传感器升级方法、手持胎压工具和胎压传感器
CN113791804A (zh) * 2021-09-14 2021-12-14 中元汇吉生物技术股份有限公司 多路仪器并行升级的方法、装置、计算机设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102137296A (zh) * 2010-10-18 2011-07-27 华为终端有限公司 机顶盒无线升级方法及其控制终端
CN107273158A (zh) * 2017-06-08 2017-10-20 广东美的暖通设备有限公司 程序升级方法及装置、主机、从机和多联机空调系统
KR20180071183A (ko) * 2016-12-19 2018-06-27 한국전자통신연구원 공유되는 타임슬롯과 브로드캐스트를 이용하는 전송 방법 및 장치, 그리고 이를 이용하는 펌웨어 업데이트 방법 및 장치
CN109379204A (zh) * 2018-10-16 2019-02-22 珠海晖达科技有限公司 多联机系统固件升级方法、计算机装置及计算机可读存储介质
CN110515637A (zh) * 2019-07-12 2019-11-29 湖南新云网科技有限公司 一种程序升级方法、系统及终端设备

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102137296A (zh) * 2010-10-18 2011-07-27 华为终端有限公司 机顶盒无线升级方法及其控制终端
KR20180071183A (ko) * 2016-12-19 2018-06-27 한국전자통신연구원 공유되는 타임슬롯과 브로드캐스트를 이용하는 전송 방법 및 장치, 그리고 이를 이용하는 펌웨어 업데이트 방법 및 장치
CN107273158A (zh) * 2017-06-08 2017-10-20 广东美的暖通设备有限公司 程序升级方法及装置、主机、从机和多联机空调系统
CN109379204A (zh) * 2018-10-16 2019-02-22 珠海晖达科技有限公司 多联机系统固件升级方法、计算机装置及计算机可读存储介质
CN110515637A (zh) * 2019-07-12 2019-11-29 湖南新云网科技有限公司 一种程序升级方法、系统及终端设备

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112230961A (zh) * 2020-10-20 2021-01-15 杭州海兴电力科技股份有限公司 一种智能表计升级方法、装置、设备及介质
CN112394959A (zh) * 2020-11-18 2021-02-23 深圳市元征科技股份有限公司 胎压传感器升级方法、手持胎压工具和胎压传感器
CN113791804A (zh) * 2021-09-14 2021-12-14 中元汇吉生物技术股份有限公司 多路仪器并行升级的方法、装置、计算机设备及存储介质
CN113791804B (zh) * 2021-09-14 2024-04-26 中元汇吉生物技术股份有限公司 多路仪器并行升级的方法、装置、计算机设备及存储介质

Similar Documents

Publication Publication Date Title
CN111736866A (zh) 兼容一对一和一对多的在线升级方法及终端设备
CN110750341B (zh) 任务调度方法、装置、系统、终端设备及存储介质
CN105259806B (zh) 控制器升级方法和系统及主控制器和从控制器
WO2021098212A1 (zh) 软件升级方法、装置和系统
CN110392381B (zh) 一种用于核电站的多通道无线通讯方法、装置及终端设备
CN109976767B (zh) 软件烧录方法和装置
US20230080588A1 (en) Mqtt protocol simulation method and simulation device
CN111683118B (zh) 基于区块链的共识方法、装置、主节点设备及从节点设备
CN111930406A (zh) 车载终端微控制单元软件升级方法、电子设备及存储介质
CN113746892A (zh) 一种远程升级方法及无线终端设备
CN114064091A (zh) Ota升级控制方法、装置、电子设备及自动驾驶车辆
CN108027744B (zh) 数据传输方法和移动终端
CN114221866A (zh) 一种终端升级的方法、装置及介质
WO2017049557A1 (zh) 为适配器升级的方法、移动终端和适配器
CN112069190B (zh) 一种分批数据获取方法、装置、设备及介质
CN112286565A (zh) 一种基于存储容器的嵌入式系统差分升级方法
CN110968022B (zh) 可编程逻辑控制器、可编程逻辑控制器系统以及控制方法
CN112422485A (zh) 一种传输控制协议的通信方法及装置
CN107885674B (zh) 蓝牙设备模拟器及其工作方法、蓝牙设备作业系统
EP3866031A1 (en) Webpage loading method, intermediate server, and webpage loading system
CN105407003A (zh) 一种1553总线的数据加卸载方法
CN111722858A (zh) 在线升级方法及终端设备
CN111371799B (zh) Mctp控制器收发数据的控制方法、装置及设备
CN114326673A (zh) 车辆远程诊断方法、装置、连接器及存储介质
CN106412657B (zh) 一种机顶盒烧写序列码的方法及系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20201002

RJ01 Rejection of invention patent application after publication