CN117478576A - 一种批量升级方法、系统、电子设备及介质 - Google Patents
一种批量升级方法、系统、电子设备及介质 Download PDFInfo
- Publication number
- CN117478576A CN117478576A CN202311466556.5A CN202311466556A CN117478576A CN 117478576 A CN117478576 A CN 117478576A CN 202311466556 A CN202311466556 A CN 202311466556A CN 117478576 A CN117478576 A CN 117478576A
- Authority
- CN
- China
- Prior art keywords
- upgrade
- upgrading
- data packet
- firmware
- data packets
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 38
- 230000005540 biological transmission Effects 0.000 claims abstract description 43
- 125000004122 cyclic group Chemical group 0.000 claims description 35
- 108091081062 Repeated sequence (DNA) Proteins 0.000 claims description 6
- 230000002159 abnormal effect Effects 0.000 claims description 6
- 238000004590 computer program Methods 0.000 claims description 6
- 238000012360 testing method Methods 0.000 description 7
- 238000006243 chemical reaction Methods 0.000 description 5
- 230000005856 abnormality Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/56—Routing software
- H04L45/563—Software download or update
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1074—Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
- H04L67/1078—Resource delivery mechanisms
- H04L67/108—Resource delivery mechanisms characterised by resources being split in blocks or fragments
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/146—Markers for unambiguous identification of a particular session, e.g. session cookie or URL-encoding
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供一种批量升级方法、系统、电子设备及介质,涉及通信技术领域,所述方法包括:PC端将升级固件拆分成N个升级数据包,并按顺序为各升级数据包分别设定序列标识;为各升级数据包分别增设一自定义包头;按照序列标识顺序,以组播形式将N个升级数据包发送给各待升级设备;各待升级设备,校验接收到的第i个升级数据包是否符合预设条件,若符合,则记录升级数据包对应的序列标识,并保存升级数据包,其中1≤i≤N;根据序列标识,判断N个升级数据包是否传输完成;若N个升级数据包传输完成,则根据N个升级数据包得到升级固件,并判断升级固件是否完整且正确,若完整且正确,则启动固件升级。本发明提高了批量升级效率。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种批量升级方法、系统、电子设备及介质。
背景技术
目前,路由器固件本地批量升级需要准备vlan交换机(VLAN Switch)、ip/vlan转换陪测设备(IP/VLAN Conversion Test Equipment)以及PC(Personal Computer),现有技术的批量升级方法为,将多个路由器直接连接至vlan交换机的数据接口,由vlan交换机将路由器发送的数据包分别打上不同的vlan标签转发至ip/vlan转换陪测设备,再由ip/vlan转换陪测设备将接收的数据包对应的不同vlan标签转换为对应的ip地址,再将ip地址传输至PC,PC可根据这些不同ip地址访问对应的路由器,并通过自动化模拟web页面完成本地升级批量操作。
现有技术中路由器批量升级方法只能对相同ip地址的多个路由器进行批量升级,且需要专业技术人员在测试前期花费大量时间配置ip/vlan转换陪测设备和交换机,部署复杂的测试环境。
发明内容
有鉴于此,本发明的目的是为了克服现有技术中的不足,提供一种批量升级方法、系统、电子设备及介质。
本发明提供如下技术方案:
第一方面,本发明提供一种批量升级方法,应用于批量升级系统,所述批量升级系统包括:PC端及多个待升级设备,所述方法包括:
所述PC端,将升级固件拆分成N个升级数据包,并按顺序为各所述升级数据包分别设定序列标识,所述序列标识依次递增;为各所述升级数据包分别增设一自定义包头,所述自定义包头内包含升级数据标识、序列标识、升级数据包循环冗余校验值、升级固件总长度、升级固件循环冗余校验值、升级固件版本号以及产品标识;按照序列标识顺序,以组播形式将N个所述升级数据包发送给各所述待升级设备;
各所述待升级设备,校验接收到的第i个所述升级数据包是否符合预设条件,若符合,则记录所述升级数据包对应的序列标识,并保存所述升级数据包,其中1≤i≤N;根据所述序列标识,判断N个所述升级数据包是否传输完成;若N个所述升级数据包传输完成,则根据N个所述升级数据包得到所述升级固件,并判断所述升级固件是否完整且正确,若完整且正确,则启动固件升级。
在一实施方式中,所述按照序列标识顺序,以组播形式将N个所述升级数据包发送给各所述待升级设备,包括:
为各所述升级数据包选定一相同的组播地址,所述组播地址与各所述待升级设备内记录的组播地址相同;
按照序列标识顺序,以组播形式向所述组播地址发送N个所述升级数据包。
在一实施方式中,所述校验接收到的第i个所述升级数据包是否符合预设条件之前,还包括:
读取接收到的数据包的组播地址,比较所述数据包的组播地址与各所述待升级设备内记录的所述组播地址是否相同,若相同,则确定所述数据包为组播数据包;
根据所述组播数据包自定义包头内的数据包循环冗余校验值,判断所述组播数据包是否完整且正确;
若所述组播数据包完整且正确,则根据所述组播数据包自定义包头内的数据标识,判断所述组播数据包是否为升级数据包。
在一实施方式中,所述校验接收到的第i个所述升级数据包是否符合预设条件,包括:
比较所述升级数据包自定义包头内的升级固件版本号与所述待升级设备内记录的固件版本号,若所述升级固件版本号小于或等于所述固件版本号,则结束升级数据包传输,所述待升级设备发出停止升级信号。
在一实施方式中,所述根据所述序列标识,判断N个所述升级数据包是否传输完成,包括:
若出现重复序列标识,则确定N个所述升级数据包传输完成;
若未出现重复序列标识,则判断在预设时间内是否接收到第i+1个升级数据包,若未接收到,则确定升级数据包传输异常,所述待升级设备发出传输异常信号。
在一实施方式中,所述根据N个所述升级数据包得到所述升级固件,包括:
将各所述升级数据包按照所述序列标识顺序保存;
根据各所述升级数据包自定义包头内的升级数据包循环冗余校验值,分别判断各所述升级数据包是否完整且正确;
若各所述升级数据包完整且正确,则将各所述升级数据包组装成所述升级固件。
在一实施方式中,所述判断所述升级固件是否完整且正确,包括:
根据所述升级数据包自定义包头内的升级固件循环冗余校验值,判断所述升级固件是否完整且正确。
第二方面,本发明提供一种批量升级系统,包括:
PC端,用于将升级固件拆分成N个升级数据包,并按顺序为各所述升级数据包分别设定序列标识,所述序列标识依次递增;为各所述升级数据包分别增设一自定义包头,所述自定义包头内包含升级数据标识、序列标识、升级数据包循环冗余校验值、升级固件总长度、升级固件循环冗余校验值、升级固件版本号以及产品标识;按照序列标识顺序,以组播形式将N个所述升级数据包发送给各待升级设备;
各所述待升级设备,用于校验接收到的第i个所述升级数据包是否符合预设条件,若符合,则记录所述升级数据包对应的序列标识,并保存所述升级数据包,其中1≤i≤N;
根据所述序列标识,判断N个所述升级数据包是否传输完成;
若N个所述升级数据包传输完成,则根据N个所述升级数据包得到所述升级固件,并判断所述升级固件是否完整且正确,若完整且正确,则启动固件升级。
第三方面,本发明提供一种电子设备,包括存储器以及处理器,所述存储器存储有计算机程序,所述计算机程序在所述处理器上运行时执行第一方面述的批量升级方法。
第四方面,本发明提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时第一方面所述的批量升级方法。
本发明提供的批量升级方法、系统、电子设备及介质,所述PC端,将升级固件拆分成N个升级数据包,并按顺序为各所述升级数据包分别设定序列标识,所述序列标识依次递增;为各所述升级数据包分别增设一自定义包头,所述自定义包头内包含升级数据标识、序列标识、升级数据包循环冗余校验值、升级固件总长度、升级固件循环冗余校验值、升级固件版本号以及产品标识;按照序列标识顺序,以组播形式将N个所述升级数据包发送给各所述待升级设备;各所述待升级设备,校验接收到的第i个所述升级数据包是否符合预设条件,若符合,则记录所述升级数据包对应的序列标识,并保存所述升级数据包,其中1≤i≤N;根据所述序列标识,判断N个所述升级数据包是否传输完成;若N个所述升级数据包传输完成,则根据N个所述升级数据包得到所述升级固件,并判断所述升级固件是否完整且正确,若完整且正确,则启动固件升级。本发明不需要待升级设备启动完成即可进行固件升级,节省了等待时间,且环境环境搭建简单易理解,PC端以组播发送的方式发送固件数据,即使是不同ip地址的路由器,通过加入相同的组播地址也能同时进行批量升级,提高了批量升级效率。
为使本发明的上述目的、特征和优点能更明显和易懂,下文特举较佳实施例,并配合所附附图,做详细说明如下。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本发明实施例提供的批量升级方法的一流程示意图;
图2示出了本发明实施例提供的批量升级系统的一结构示意图;
图3示出了本发明实施例提供的电子设备的一结构示意图。
主要元件符号说明:
200-批量升级系统;210-PC端;220-待升级设备;300-电子设备;301-收发机;302-处理器;303-存储器。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。
需要说明的是,当元件被称为“固定于”另一个元件,它可以直接在另一个元件上或者也可以存在居中的元件。当一个元件被认为是“连接”另一个元件,它可以是直接连接到另一个元件或者可能同时存在居中元件。相反,当元件被称作“直接在”另一元件“上”时,不存在中间元件。本文所使用的术语“垂直的”、“水平的”、“左”、“右”以及类似的表述只是为了说明的目的。
在本发明中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中在模板的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在限制本发明。本文所使用的术语“及/或”包括一个或多个相关的所列项目的任意的和所有的组合。
实施例1
本实施例提供一种批量升级方法,应用于批量升级系统,所述批量升级系统包括:PC端及多个待升级设备,具体的,请参见图1,所述方法包括步骤S110~S160。
步骤S110,所述PC端,将升级固件拆分成N个升级数据包,并按顺序为各所述升级数据包分别设定序列标识,所述序列标识依次递增。
在本实施例中,PC端可通过运行一自动化发包工具,将升级固件拆分成多个小容量的升级数据包,并按顺序给每个升级数据包都打上序列标识,之后再按照序列标识顺序向待升级设备发送N个升级数据包。
步骤S120,为各所述升级数据包分别增设一自定义包头,所述自定义包头内包含升级数据标识、序列标识、升级数据包循环冗余校验值、升级固件总长度、升级固件循环冗余校验值、升级固件版本号以及产品标识。
在本实施例中,在每一升级数据包的包头均增设一自定义包头,自定义包头内包含以下字段信息:(1)升级数据标识,用于标识确定升级数据包的用途;(2)序列标识,用于确保升级数据包的正确顺序;(3)升级数据包循环冗余校验值(Cyclic Redundancy Check,Crc),用于检测升级数据包在传输过程中的错误,确保数据的完整性;(4)升级固件总长度,记录了整个升级固件的长度,以便接收端知道升级固件的总大小;(5)升级固件循环冗余校验值,用于验证整个升级固件的完整性;(6)升级固件版本号,用于后续与待升级设备中的固件升级版本做对比,判断是否需要进行固件升级;(7)产品标识,用于标识改升级固件适用于哪种产品或设备。
需要说明的是,第一个升级数据包的数据内容为空,仅填充其自定义包头,除第一个升级数据包之外的其余升级数据包内均包含升级数据且填充了对应的自定义包头。通过这种方式,可以确保在传输固件升级数据时,每个升级数据包都包含必要的信息,以便后续接收端能够正确地验证数据的完整性和准确性。第一个空数据包的目的是为了提前传输自定义包头内的关键信息,以便接收端在后续的数据包中进行校验和处理,从而提高固件升级的效率和可靠性,同时减少传输过程中的错误和丢失。
步骤S130,按照序列标识顺序,以组播形式将N个所述升级数据包发送给各所述待升级设备。
在本实施例中,为各升级数据包选定一组播地址,再将N个升级数据包按照序列标识顺序,以组播的形式发送到组播地址,在这之前,各待升级设备均加入了这个组播地址,因此,当PC端按照序列标识顺序发送N个升级数据包时候,各待升级设备可以同时接收到这些数据包。
在一实施方式中,所述按照序列标识顺序,以组播形式将N个所述升级数据包发送给各所述待升级设备,包括:
为各所述升级数据包选定一相同的组播地址,所述组播地址与各所述待升级设备内记录的组播地址相同;
按照序列标识顺序,以组播形式向所述组播地址发送N个所述升级数据包。
需要说明的是,在组播发送升级数据包给不同的待升级设备过程中,发送给不同待升级设备的N个升级数据包使用的是相同的组播地址,当PC端使用组播方式发送N个升级数据包时,N个升级数据包会被复制并分发给所有加入了这个组播地址的待升级设备。
步骤S140,各所述待升级设备,校验接收到的第i个所述升级数据包是否符合预设条件,若符合,则记录所述升级数据包对应的序列标识,并保存所述升级数据包,其中1≤i≤N。
在本实施例中,待升级设备是路由器,在其他实施例中,待升级设备可以是支持U-boot(Universal Bootloader,引导加载器)启动的任意嵌入式设备。
在本实施例中,以路由器为例,路由器软件包括:U-boot、固件及nvram配置(Non-Volatile Random Access Memory Configuration,非易失性随机存取存储器),其中,U-boot具备tcp/ip协议栈的一些基本属性,可以从PC端接收升级数据包,并对个升级数据包进行校验,根据各升级数据包对应的序列标识顺序组装得到升级固件,然后进行自升级。
在一实施方式中,所述校验接收到的第i个所述升级数据包是否符合预设条件之前,还包括:
读取接收到的数据包的组播地址,比较所述数据包的组播地址与各所述待升级设备内记录的所述组播地址是否相同,若相同,则确定所述数据包为组播数据包;
根据所述组播数据包自定义包头内的数据包循环冗余校验值,判断所述组播数据包是否完整且正确;
若所述组播数据包完整且正确,则根据所述组播数据包自定义包头内的数据标识,判断所述组播数据包是否为升级数据包。
在本实施例中,待升级设备上电后,在U-boot加载固件之前会等待一段时间,在该等待时间内,若待升级设备中的U-boot接收到了一数据包,首先会读取该数据包的组播地址,并将其与U-boot中记录的组播地址相比较,若两组播地址相同,则可以确定该数据包为组播数据包;再读取该组播数据包自定义包头内的数据包循环冗余校验值,判断该组播数据包是否完整且正确;若完整且正确,再根据数据标识,判断是否为升级数据包。这样做的目的主要是为了在升级固件之前,U-boot对接收到的数据包进行一系列的校验与检查,确保接收到的数据是从特定的组播地址发送的、数据在传输过程中没有被损坏以及数据确实是用于固件升级。
需要说明的是,U-boot中记录的组播地址与PC端发送升级数据包的组播地址相同。
进一步的,若超过等待时间后,U-boot未接收到数据包,则正常加载固件,启动待升级设备。
在一实施方式中,所述校验接收到的第i个所述升级数据包是否符合预设条件,包括:
比较所述升级数据包自定义包头内的升级固件版本号与所述待升级设备内记录的固件版本号,若所述升级固件版本号小于或等于所述固件版本号,则结束升级数据包传输,所述待升级设备发出停止升级信号。
在本实施例中,比较升级数据包自定义包头内记录的升级固件版本号与U-boot中记录的版本号,升级固件版本号与U-boot记录的版本号相等或者低于U-boot记录的版本号则不予升级,此时U-boot会停止接收升级数据包,同时待升级设备会发出停止升级信号,提示操作人员当前固件升级的状态。
需要说明的是,待升级设备上具有多个LED灯,可以通过LED灯位显示,提示操作人员当前固件升级的状态。
步骤S150,根据所述序列标识,判断N个所述升级数据包是否传输完成。
在本实施例中,PC端按照序列标识顺序,向待升级设备循环发送N个升级数据包,当发送完最后一个升级数据包后,从第一个升级数据包开始重复发送。
在一实施方式中,所述根据所述序列标识,判断N个所述升级数据包是否传输完成,包括:
若出现重复序列标识,则确定N个所述升级数据包传输完成;
若未出现重复序列标识,则判断在预设时间内是否接收到第i+1个升级数据包,若未接收到,则确定升级数据包传输异常,所述待升级设备发出传输异常信号。
在本实施例中,待升级设备接收到一升级数据包后,记录对应的序列标识,并保存该升级数据包,当待升级设备中记录的序列标识出现重复时,则可以已经完成一轮发包流程,确定N个升级数据包传输完成。
若N个升级数据包还未传输完成,当接收完一个升级数据包后,若在预设时间内未接收到后续的升级数据包,则清理当前待升级设备内存储的数据,并确定升级数据包传输异常,待升级设备正常启动,并更改LED灯位显示,发出传输异常信号提示操作人员。
步骤S160,若N个所述升级数据包传输完成,则根据N个所述升级数据包得到所述升级固件,并判断所述升级固件是否完整且正确,若完整且正确,则启动固件升级。
在本实施例中,U-boot在接收完N个升级数据包后,首先计算各个升级数据包的循环冗余校验值验证各个升级数据包的完整性与正确性,确保在传输过程中没有数据丢失或损坏,再将这N个升级数据包按照序列标识顺序进行组合,还原成完整的升级固件。
在一实施方式中,所述根据N个所述升级数据包得到所述升级固件,包括:
将各所述升级数据包按照所述序列标识顺序保存;
根据各所述升级数据包自定义包头内的升级数据包循环冗余校验值,分别判断各所述升级数据包是否完整且正确;
若各所述升级数据包完整且正确,则将各所述升级数据包组装成所述升级固件。
在本实施例中,U-boot需要确保升级数据包的完整性和正确性以保证升级固件的完整性和正确性。
在一实施方式中,所述判断所述升级固件是否完整且正确,包括:
根据所述升级数据包自定义包头内的升级固件循环冗余校验值,判断所述升级固件是否完整且正确。
在本实施例中,在将升级固件拆分成N个升级数据包之前,PC端会计算升级固件的循环冗余校验值,并将升级固件的循环冗余校验值保存在各升级数据包的自定义包头内,当待升级设备接收完N各升级数据包并得到升级固件后,可以依据接收到的升级固件再计算一个循环冗余校验值,比较该待升级设备计算得到的循环冗余校验值与自定义包头内存储的循环冗余校验值是否一致,若一致,则可以确定该升级固件在传输过程中未丢失数据或出现错误。
需要说明的是,循环冗余校验值是基于数据内容计算得到的,如果数据有任何微小的变化,对应的循环冗余校验值都会有所不同,因此可以比较计算发送前数据的循环冗余校验值与发送后数据的循环冗余校验值,验证数据发送过程中是否出现丢失或错误。
本发明实施例提供批量升级方法,通过PC端将升级固件拆分成N个升级数据包,并按顺序为各所述升级数据包分别设定序列标识,所述序列标识依次递增;为各所述升级数据包分别增设一自定义包头,所述自定义包头内包含升级数据标识、序列标识、升级数据包循环冗余校验值、升级固件总长度、升级固件循环冗余校验值、升级固件版本号以及产品标识;按照序列标识顺序,将N个所述升级数据包发送给各所述待升级设备;各所述待升级设备,校验接收到的第i个所述升级数据包是否符合预设条件,若符合,则记录所述升级数据包对应的序列标识,并保存所述升级数据包,其中1≤i≤N;根据所述序列标识,判断N个所述升级数据包是否传输完成;若N个所述升级数据包传输完成,则根据N个所述升级数据包得到所述升级固件,并判断所述升级固件是否完整且正确,若完整且正确,则启动固件升级。本发明提供的批量升级方法,环境搭建简单易理解,不需要待升级设备启动完成即可进行,节省了等待时间,此外,PC端以组播发送的方式发送固件数据,即使是不同ip地址的路由器,通过加入相同的组播地址也能同时进行批量升级,提高了批量升级效率。
实施例2
此外,本发明实施例还提供一种批量升级系统,具体的,请参见图2,所述批量升级系统200,包括:
PC端210,用于将升级固件拆分成N个升级数据包,并按顺序为各所述升级数据包分别设定序列标识,所述序列标识依次递增;为各所述升级数据包分别增设一自定义包头,所述自定义包头内包含升级数据标识、序列标识、升级数据包循环冗余校验值、升级固件总长度、升级固件循环冗余校验值、升级固件版本号以及产品标识;按照序列标识顺序,将N个所述升级数据包发送给各待升级设备;
各所述待升级设备220,用于校验接收到的第i个所述升级数据包是否符合预设条件,若符合,则记录所述升级数据包对应的序列标识,并保存所述升级数据包,其中1≤i≤N;根据所述序列标识,判断N个所述升级数据包是否传输完成;若N个所述升级数据包传输完成,则根据N个所述升级数据包得到所述升级固件,并判断所述升级固件是否完整且正确,若完整且正确,则启动固件升级。
本发明实施例提供的批量升级系统,用于实现本发明实施例1提供的批量升级方法,包括PC端和多个待升级设备。本发明提供的批量升级系统,环境搭建简单易理解,不需要待升级设备启动完成即可进行,节省了等待时间,此外,PC端以组播发送的方式发送固件数据,即使是不同ip地址的路由器,通过加入相同的组播地址也能同时进行批量升级,提高了批量升级效率。
实施例3
此外,本发明实施例提供了一种电子设备,包括存储器以及处理器,所述存储器存储有计算机程序,所述计算机程序在所述处理器上运行时执行实施例1所提供的批量升级方法。
具体的,请参见图3,所述电子设备300包括:收发机301、总线接口及处理器302。
在本发明实施例中,电子设备300还包括:存储器303。在图3中,总线架构可以包括任意数量的互联的总线和桥,具体由处理器302代表的一个或多个处理器和存储器303代表的存储器的各种电路链接在一起。总线架构还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口提供接口。收发机301可以是多个元件,即包括发送机和接收机,提供用于在传输介质上与各种其他装置通信的单元。处理器302负责管理总线架构和通常的处理,存储器303可以存储处理器302在执行操作时所使用的数据。
本发明实施例提供的电子设备300,可以执行上述方法实施例1所提供的批量升级方法,为避免重复,在此不再赘述。
实施例4
此外,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现实施例1所提供批量升级方法。
在本实施例中,计算机可读存储介质可以为只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等。
本实施例提供的计算机可读存储介质可以实现实施例1所提供的批量升级方法,为避免重复,在此不再赘述。
有益效果
在这里示出和描述的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制,因此,示例性实施例的其他示例可以具有不同的值。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。
Claims (10)
1.一种批量升级方法,其特征在于,应用于批量升级系统,所述批量升级系统包括:PC端及多个待升级设备,所述方法包括:
所述PC端,将升级固件拆分成N个升级数据包,并按顺序为各所述升级数据包分别设定序列标识,所述序列标识依次递增;为各所述升级数据包分别增设一自定义包头,所述自定义包头内包含升级数据标识、序列标识、升级数据包循环冗余校验值、升级固件总长度、升级固件循环冗余校验值、升级固件版本号以及产品标识;按照序列标识顺序,以组播形式将N个所述升级数据包发送给各所述待升级设备;
各所述待升级设备,校验接收到的第i个所述升级数据包是否符合预设条件,若符合,则记录所述升级数据包对应的序列标识,并保存所述升级数据包,其中1≤i≤N;根据所述序列标识,判断N个所述升级数据包是否传输完成;若N个所述升级数据包传输完成,则根据N个所述升级数据包得到所述升级固件,并判断所述升级固件是否完整且正确,若完整且正确,则启动固件升级。
2.根据权利要求1所述的批量升级方法,其特征在于,所述按照序列标识顺序,以组播形式将N个所述升级数据包发送给各所述待升级设备,包括:
为各所述升级数据包选定一相同的组播地址,所述组播地址与各所述待升级设备内记录的组播地址相同;
按照序列标识顺序,以组播形式向所述组播地址发送N个所述升级数据包。
3.根据权利要求2所述的批量升级方法,其特征在于,所述校验接收到的第i个所述升级数据包是否符合预设条件之前,还包括:
读取接收到的数据包的组播地址,比较所述数据包的组播地址与各所述待升级设备内记录的所述组播地址是否相同,若相同,则确定所述数据包为组播数据包;
根据所述组播数据包自定义包头内的数据包循环冗余校验值,判断所述组播数据包是否完整且正确;
若所述组播数据包完整且正确,则根据所述组播数据包自定义包头内的数据标识,判断所述组播数据包是否为升级数据包。
4.根据权利要求3所述的批量升级方法,其特征在于,所述校验接收到的第i个所述升级数据包是否符合预设条件,包括:
比较所述升级数据包自定义包头内的升级固件版本号与所述待升级设备内记录的固件版本号,若所述升级固件版本号小于或等于所述固件版本号,则结束升级数据包传输,所述待升级设备发出停止升级信号。
5.根据权利要求4所述的批量升级方法,其特征在于,所述根据所述序列标识,判断N个所述升级数据包是否传输完成,包括:
若出现重复序列标识,则确定N个所述升级数据包传输完成;
若未出现重复序列标识,则判断在预设时间内是否接收到第i+1个升级数据包,若未接收到,则确定升级数据包传输异常,所述待升级设备发出传输异常信号。
6.根据权利要求5所述的批量升级方法,其特征在于,所述根据N个所述升级数据包得到所述升级固件,包括:
将各所述升级数据包按照所述序列标识顺序保存;
根据各所述升级数据包自定义包头内的升级数据包循环冗余校验值,分别判断各所述升级数据包是否完整且正确;
若各所述升级数据包完整且正确,则将各所述升级数据包组装成所述升级固件。
7.根据权利要求6所述的批量升级方法,其特征在于,所述判断所述升级固件是否完整且正确,包括:
根据所述升级数据包自定义包头内的升级固件循环冗余校验值,判断所述升级固件是否完整且正确。
8.一种批量升级系统,其特征在于,包括:
PC端,用于将升级固件拆分成N个升级数据包,并按顺序为各所述升级数据包分别设定序列标识,所述序列标识依次递增;为各所述升级数据包分别增设一自定义包头,所述自定义包头内包含升级数据标识、序列标识、升级数据包循环冗余校验值、升级固件总长度、升级固件循环冗余校验值、升级固件版本号以及产品标识;按照序列标识顺序,以组播形式将N个所述升级数据包发送给各待升级设备;
各所述待升级设备,用于校验接收到的第i个所述升级数据包是否符合预设条件,若符合,则记录所述升级数据包对应的序列标识,并保存所述升级数据包,其中1≤i≤N;根据所述序列标识,判断N个所述升级数据包是否传输完成;若N个所述升级数据包传输完成,则根据N个所述升级数据包得到所述升级固件,并判断所述升级固件是否完整且正确,若完整且正确,则启动固件升级。
9.一种电子设备,其特征在于,包括存储器以及处理器,所述存储器存储有计算机程序,所述计算机程序在所述处理器上运行时执行权要1-7中任一项所述的批量升级方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-7中任一项所述的批量升级方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311466556.5A CN117478576A (zh) | 2023-11-06 | 2023-11-06 | 一种批量升级方法、系统、电子设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311466556.5A CN117478576A (zh) | 2023-11-06 | 2023-11-06 | 一种批量升级方法、系统、电子设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117478576A true CN117478576A (zh) | 2024-01-30 |
Family
ID=89630862
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311466556.5A Pending CN117478576A (zh) | 2023-11-06 | 2023-11-06 | 一种批量升级方法、系统、电子设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117478576A (zh) |
-
2023
- 2023-11-06 CN CN202311466556.5A patent/CN117478576A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11223525B2 (en) | Gateway device, firmware update method, and recording medium | |
CN109768970B (zh) | 一种基于可配置的通用协议生成方法 | |
EP2425238B1 (en) | An addressable integrated circuit and method thereof | |
CN107357595B (zh) | 一种基于总线的多驱动器固件在线更新系统 | |
CN111385300B (zh) | 一种储能系统多种通信协议自适应的方法及系统 | |
CN112698640B (zh) | 一种ecu升级测试系统 | |
CN117478576A (zh) | 一种批量升级方法、系统、电子设备及介质 | |
JP2003172199A (ja) | 車両用電子制御装置のプログラム書き換えシステム | |
CN108089758B (zh) | 触控与显示驱动器、驱动方法、主机及触控显示装置 | |
CN113676496B (zh) | 数据传递方法、系统、可读存储介质及计算机设备 | |
CN114244686B (zh) | 通讯故障的检测方法、装置及系统 | |
US11586504B2 (en) | Electronic apparatus and boot method thereof | |
CN111443930B (zh) | 级联终端的升级方法、装置、存储介质及电子终端 | |
CN110134423A (zh) | 固件的更新方法、装置及计算机可读存储介质 | |
CN112615835B (zh) | 一种对充电桩多通讯协议支持方法及存储介质 | |
WO2001029657A1 (fr) | Procede d'actualisation d'un programme et terminal de communication | |
CN100593293C (zh) | 同步发射设备和接收设备中的存储区的方法以及接收设备 | |
US20210176156A1 (en) | Identifying an Electronic Device Connected to a Communication Network That Has XCP Enabled | |
CN111176700B (zh) | 智能卡cos后下载更新方法及系统 | |
CN114666356B (zh) | 数据采集网关的控制方法、装置和存储介质 | |
CN117608618B (zh) | 服务器固件升级方法及装置、存储介质和电子设备 | |
TWI779858B (zh) | 韌體升級系統及方法 | |
CN114326666A (zh) | 车辆参数配置方法、装置、电子设备及存储介质 | |
CN114670705A (zh) | 一种电池管理系统子板配置方法、装置和电子设备 | |
CN115695020A (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 |