CN116915758A - 一种软件更新方法、设备、系统、装置及存储介质 - Google Patents
一种软件更新方法、设备、系统、装置及存储介质 Download PDFInfo
- Publication number
- CN116915758A CN116915758A CN202310826555.0A CN202310826555A CN116915758A CN 116915758 A CN116915758 A CN 116915758A CN 202310826555 A CN202310826555 A CN 202310826555A CN 116915758 A CN116915758 A CN 116915758A
- Authority
- CN
- China
- Prior art keywords
- update
- data
- software
- updating
- communication protocol
- 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 70
- 230000004044 response Effects 0.000 claims abstract description 25
- 238000004891 communication Methods 0.000 claims description 128
- 238000009432 framing Methods 0.000 claims description 14
- 230000006855 networking Effects 0.000 claims description 2
- 230000005540 biological transmission Effects 0.000 description 16
- 230000006870 function Effects 0.000 description 13
- 238000010586 diagram Methods 0.000 description 8
- 238000001514 detection method Methods 0.000 description 7
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Classifications
-
- 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/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40006—Architecture of a communication node
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/66—Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/50—Address allocation
-
- 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/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
Abstract
本申请公开了一种软件更新方法、设备、系统、装置及存储介质,其中,软件更新方法包括更新设备接收更新数据;其中,更新数据中包括设备地址,更新设备不少于一台,且更新数据通过:经主网关一次转发、经作为子网关的更新设备再次转发中任一种方式得到;响应于更新数据中的设备地址与更新设备自身的设备地址匹配,基于更新数据在更新设备本地执行软件更新;软件更新包括升级软件、烧录软件中的至少一种。上述方案,使多个更新设备同时进行软件更新,进而提高更新效率。
Description
技术领域
本申请涉及通讯技术领域,特别是涉及一种软件更新方法、设备、系统、装置及存储介质。
背景技术
在工业系统中,有些工业设备中可能安装有相应的软件以执行相应的功能,当需要对软件进行烧录或者更新时,每个设备都需要与上位机进行通信以实现软件烧录或更新。
通常,可以通过每个设备上的通信接口连接至上位机以实现通信,但是这种点对点的通信方式在多台设备同时需要更新时效率较慢,不适用于大型工业系统中大量设备都需要进行软件烧录或更新的场景。
因此,如何提高软件更新方法的更新效率,是目前亟待解决的问题。
发明内容
本申请至少提供一种软件更新方法、设备、系统、装置及存储介质,以提高软件更新方法的更新效率。
本申请第一方面提供了一种软件更新方法,步骤包括:更新设备接收更新数据;其中,所述更新数据中包括设备地址,所述更新设备不少于一台,且所述更新数据通过:经主网关一次转发、经作为子网关的所述更新设备再次转发中任一种方式得到;响应于所述更新数据中的设备地址与所述更新设备自身的设备地址匹配,基于所述更新数据在所述更新设备本地执行软件更新;所述软件更新包括升级软件、烧录软件中的至少一种。
上述方案,更新设备通过主网关获取更新数据,或者由作为子网关的更新设备转发更新数据至其他更新设备,多个更新设备通过与子网关或者主网关连接而获取更新数据,主网关获取到更新数据后发送至更新设备,且作为子网关的更新设备还能转发更新数据,以使更多的更新设备接收更新数据,能够减轻主网关的通信负荷,使多个更新设备及时进行软件更新,进而提高更新效率。
其中,至少部分所述更新设备通过现场总线与所述主网关连接。
其中,与所述主网关连接的至少一个所述更新设备作为所述子网关,用于通过所述现场总线连接未与所述主网关直接连接的更新设备。
其中,在所述基于所述更新数据在所述更新设备本地执行软件更新之前,所述方法还包括:检测所述软件与所述更新设备的版本信息是否符合要求;所述基于所述更新数据在所述更新设备本地执行软件更新,包括:响应于所述软件与所述更新设备的版本信息符合要求,基于所述更新数据在所述更新设备本地执行软件更新。
其中,所述方法还包括:响应于所述更新数据中的设备地址与所述更新设备自身的设备地址不匹配,且所述更新设备为作为子网关的所述更新设备,将所述更新数据再次转发。
其中,在所述更新设备接收更新数据之前,所述方法还包括:获取更新标记;其中,所述更新标记用于表征所述软件是否需要更新以及所述软件的更新状态;响应于获取到的更新标记指示所述更新设备需要执行所述软件更新,开始执行所述更新设备接收更新数据的步骤;在所述基于所述更新数据在所述更新设备本地执行软件更新之后,所述方法还包括:更新所述更新标记;更新后的所述更新标记指示所述软件为新更新软件。
其中,在所述获取更新标记之后,所述方法还包括,响应于获取到的更新标记指示所述更新设备不需执行所述软件更新,确定所述更新设备本地已经新更新软件,并反馈更新成功信息。
其中,所述主网关与所述更新设备之间、作为子网关的更新设备与通过所述现场总线连接至其的所述更新设备之间采用第一通信协议或第二通信协议进行通信,以实现数据的接收与发送。
其中,在所述更新设备、所述主网关与其上一层级设备之间的通信协议不同于所述更新设备、所述主网关与其下一层级设备之间的通信协议的情况下,所述方法还包括:将以第一通信协议封装的所述更新数据转换为以第二通信协议封装的所述更新数据,和/或,将以第二通信协议封装的所述更新数据转换为以第一通信协议封装的所述更新数据。
其中,所述将以第一通信协议封装的所述更新数据转换为以第二通信协议封装的所述更新数据包括:在以第一通信协议封装的所述更新数据不大于预定大小的情况下,将以第一通信协议封装的所述更新数据作为一个以第二通信协议封装的数据包发送;在以第一通信协议封装的所述更新数据大于预定大小的情况下,对所述第一通信协议数据进行分帧,以将以第一通信协议封装的所述更新数据作为多个所述以第二通信协议封装的数据包发送;其中,所述以第二通信协议封装的数据包中包括分帧信息。
其中,将以第二通信协议封装的所述更新数据转换为以第一通信协议封装的所述更新数据包括:在所述以第二通信协议封装的数据包仅有一个的情况下,将一个所述以第二通信协议封装的数据包中的内容作为以第一通信协议封装的所述更新数据;在所述以第二通信协议封装的数据包有多个的情况下,依据所述分帧信息对所述以第二通信协议封装的数据包按序排列,进而得到以第一通信协议封装的所述更新数据。
本申请的第二方面提供了一种电子设备,包括通信电路、存储器和处理器,所述通信电路、所述存储器分别耦接至所述处理器,所述处理器用于执行所述存储器中存储的程序指令,以实现上述第一方面的软件更新方法。
上述方案,更新设备通过主网关获取更新数据,或者由作为子网关的更新设备转发更新数据至其他更新设备,多个更新设备通过与子网关或者主网关连接而获取更新数据,主网关获取到更新数据后发送至更新设备,且作为子网关的更新设备还能转发更新数据,以使更多的更新设备接收更新数据,能够减轻主网关的通信负荷,使多个更新设备及时进行软件更新,进而提高更新效率。
本申请第三方面提供了一种软件更新系统,包括:主网关,用于转发更新数据;更新设备,与所述主网关通信连接,用于接收所述主网关转发的更新数据,所述更新设备不少于一台,所述更新数据通过:经主网关一次转发、经作为子网关的更新设备再次转发中任一种方式得到,且所述更新设备为上述第二方面的电子设备。
上述方案,更新设备通过主网关获取更新数据,或者由作为子网关的更新设备转发更新数据至其他更新设备,多个更新设备通过与子网关或者主网关连接而获取更新数据,主网关获取到更新数据后发送至更新设备,且作为子网关的更新设备还能转发更新数据,以使更多的更新设备接收更新数据,能够减轻主网关的通信负荷,使多个更新设备及时进行软件更新,进而提高更新效率。
本申请第四方面提供了一种软件更新装置,包括:数据接收模块,用于接收更新数据;其中,所述更新数据中包括设备地址,所述更新设备不少于一台,且所述更新数据通过:经主网关一次转发、经作为子网关的更新设备再次转发中任一种方式得到;地址识别模块,用于响应于所述更新数据中的设备地址与所述更新设备自身的设备地址匹配,基于所述更新数据在所述更新设备本地执行软件更新;所述软件更新包括升级软件、烧录软件中的至少一种。
上述方案,更新设备通过主网关获取更新数据,或者由作为子网关的更新设备转发更新数据至其他更新设备,多个更新设备通过与子网关或者主网关连接而获取更新数据,主网关获取到更新数据后发送至更新设备,且作为子网关的更新设备还能转发更新数据,以使更多的更新设备接收更新数据,能够减轻主网关的通信负荷,使多个更新设备及时进行软件更新,进而提高更新效率。
本申请第五方面提供了一种计算机可读存储介质,其上存储有程序指令,所述程序指令被处理器执行时实现上述第一方面的多点组网的软件更新方法。
上述方案,更新设备通过主网关获取更新数据,或者由作为子网关的更新设备转发更新数据至其他更新设备,多个更新设备通过与子网关或者主网关连接而获取更新数据,主网关获取到更新数据后发送至更新设备,且作为子网关的更新设备还能转发更新数据,以使更多的更新设备接收更新数据,能够减轻主网关的通信负荷,使多个更新设备及时进行软件更新,进而提高更新效率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,而非限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,这些附图示出了符合本申请的实施例,并与说明书一起用于说明本申请的技术方案。
图1是本申请软件更新方法一实施例的流程示意图;
图2是本申请软件更新系统一实施例的结构示意图;
图3是本申请软件更新方法另一实施例的流程示意图;
图4是本申请软件更新方法又一实施例的流程示意图;
图5是本申请软件更新方法又一实施例的流程示意图;
图6是本申请软件更新方法又一实施例的流程示意图;
图7是本申请软件更新方法又一实施例的流程示意图;
图8是本申请软件更新方法又一实施例的流程示意图;
图9是本申请电子设备一实施例的框架示意图;
图10是本申请图像检测装置一实施例的框架示意图;
图11为本申请计算机可读存储介质1100一实施例的框架示意图。
具体实施方式
下面结合说明书附图,对本申请实施例的方案进行详细说明。
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、接口、技术之类的具体细节,以便透彻理解本申请。
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。此外,本文中的“多”表示两个或者多于两个。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括A、B、C中的至少一种,可以表示包括从A、B和C构成的集合中选择的任意一个或多个元素。
请参阅图1,图1是本申请软件更新方法一实施例的流程示意图。
具体而言,可以包括如下步骤:
步骤S11:更新设备接收更新数据;其中,更新数据中包括设备地址,更新设备不少于一台,且更新数据通过:经主网关一次转发、经作为子网关的更新设备再次转发中任一种方式得到。
请结合参照图2,图2是本申请软件更新系统一实施例的结构示意图;具体的,软件更新系统包括:主网关21,用于转发更新数据;更新设备22,与主网关21通信连接,用于接收主网关21转发的更新数据,更新设备22不少于一台,更新数据通过:经主网关21一次转发、经作为子网关的更新设备22再次转发中任一种方式得到。在本公开实施例中,更新数据可以从手机、上位机或文本设备中获取;在一些公开实施例中,手机可以通过蓝牙、有线局域网、无线局域网等方式与主网关21通信连接,上位机或文本设备可以通过TTL USART、RS232、RS485、CAN、FDCAN、TCPIP等标准与主网关21进行通信。
需要说明的是,主网关21用于连接手机、上位机或文本设备与更新设备22,将手机、上位机或文本设备中的更新数据发送至更新设备22,也就是说,所有更新设备22的更新数据均需要直接或间接地向主网关21获取;子网关,相对于主网关21而言,其并不向所有更新设备22发送更新数据,只会向与其连接的下一级的更新设备22发送更新数据,在本公开实施例中,子网关可以是独立的网关设备,也可以是具有网关透传功能的更新设备22,本申请在此不作限定。
在一些可能的实施方式中,至少部分更新设备22通过现场总线与主网关21连接。
在一个具体的实施场景中,现场总线可以包括CAN总线和/或RS-485总线,在其他实施场景中还可以采用其他现场总线,本申请在此不作限定。
在一个具体的实施场景中,可以是部分更新设备22与主网关21之间通过现场总线连接,另一部分更新设备22与主网关21之间通过无线网络连接(例如蓝牙连接、WiFi连接等);还可以是全部更新设备22与主网关21之间通过现场总线连接。需要说明的是,更新设备22与主网关21之间通过现场总线连接,可以表示更新设备22与主网关21之间通过现场总线直接连接,也可以表示更新设备22与主网关21之间通过现场总线非直接连接,例如一更新设备22可以通过现场总线先连接至另一更新设备22,再经过该更新设备22以及现场总线连接至主网关21。
请继续结合参照图2,在一些可能的实施方式中,与主网关21连接的至少一个更新设备22作为子网关,用于通过现场总线连接未与主网关21直接连接的更新设备22。在图2所示的实施场景中,与主网关21通过现场总线连接的其中一个更新设备22作为子网关,与其下一级的更新设备22通过现场总线连接,该作为子网关的更新设备22能够将更新数据转发至其下一级的更新设备22。在其他具体的实施场景中,同一层级的更新设备22中可以不只有一个更新设备22可以作为子网关;更新设备22中也可以不止是两层结构,还可以将第二层更新设备22中的一个或多个作为子网关以连接下一层级的更新设备22,形成3层结构,且同理,可以形成更多层数的结构,只要更新设备22的总数不超过255个即可,本申请并不限定。
在一个具体的实施场景中,由更新设备22向手机、上位机或文本设备发送的数据,也可以通过主网关21和/或子网关发送。
步骤S12:响应于更新数据中的设备地址与更新设备22自身的设备地址匹配,基于更新数据在更新设备22本地执行软件更新;软件更新包括升级软件、烧录软件中的至少一种。
请参照图3,图3是本申请软件更新方法另一实施例的流程示意图;在一些可能的实施方式中,软件更新方法具体包括:
步骤S31:更新设备接收更新数据;其中,更新数据中包括设备地址,更新设备不少于一台,且更新数据通过:经主网关一次转发、经作为子网关的更新设备再次转发中任一种方式得到。
具体可参照前述公开实施例中相关描述,在此不再赘述。
步骤S32:响应于更新数据中的设备地址与更新设备22自身的设备地址匹配,检测软件与更新设备22的版本信息是否符合要求,响应于软件与更新设备22的版本信息符合要求,基于更新数据在更新设备22本地执行软件更新;软件更新包括升级软件、烧录软件中的至少一种。
具体可参照前述公开实施例中相关描述,在此不再赘述。
在一个具体的实施场景中,通过更新设备22的硬件版本信息与软件的版本信息判断更新设备22与软件是否符合要求,具体包括两者是否兼容等,若符合要求则执行软件更新,若不符合要求则拒绝执行软件更新,并通过子网关和/或主网关21上报错误信息。
在一个可能的实施方式中,步骤S32中,在检测软件与更新设备22的版本信息是否符合要求之后,响应于更新数据中的设备地址与更新设备22自身的设备地址不匹配,且更新设备22为作为子网关的更新设备22,将更新数据再次转发。
在一个具体的实施场景中,软件更新系统中的主网关21和每个更新设备22都拥有一个独特的设备地址,主网关21和更新设备22在接收到更新数据后,会识别更新数据中携带的设备地址,若设备地址包括自己的设备地址,则会对更新数据进行解析并处理;若设备地址中不包括自己的设备地址,则会将更新数据转发至其他更新设备22(若该设备为主网关21或子网关),或者,不进行处理(若该设备为不作为子网关的普通更新设备22)。
请参照图4,图4是本申请软件更新方法又一实施例的流程示意图;在一些可能的实施方式中,方法包括:
步骤S41:获取更新标记;其中,更新标记用于表征软件是否需要更新以及软件的更新状态;
步骤S42:响应于获取到的更新标记指示更新设备22需要执行软件更新,开始执行更新设备22接收更新数据的步骤;
步骤S43:更新设备接收更新数据;其中,更新数据中包括设备地址,更新设备不少于一台,且更新数据通过:经主网关一次转发、经作为子网关的更新设备再次转发中任一种方式得到。
具体可参照前述公开实施例中相关描述,在此不再赘述。
步骤S44:响应于更新数据中的设备地址与更新设备22自身的设备地址匹配,基于更新数据在更新设备22本地执行软件更新;软件更新包括升级软件、烧录软件中的至少一种。
具体可参照前述公开实施例中相关描述,在此不再赘述。
请参照图5,图5是本申请软件更新方法又一实施例的流程示意图;具体的,方法包括:
步骤S51:更新更新标记;更新后的更新标记指示软件为新更新软件。
步骤S52:更新设备接收更新数据;其中,更新数据中包括设备地址,更新设备不少于一台,且更新数据通过:经主网关一次转发、经作为子网关的更新设备再次转发中任一种方式得到。
具体可参照前述公开实施例中相关描述,在此不再赘述。
步骤S53:响应于更新数据中的设备地址与更新设备22自身的设备地址匹配,基于更新数据在更新设备22本地执行软件更新;软件更新包括升级软件、烧录软件中的至少一种。
具体可参照前述公开实施例中相关描述,在此不再赘述。
请参照图6,图6是本申请软件更新方法又一实施例的流程示意图;在一些可能的实施方式中,在获取更新标记之后,方法还包括:
步骤S61:获取更新标记;其中,更新标记用于表征软件是否需要更新以及软件的更新状态;
具体可参照前述公开实施例,在此不再赘述。
步骤S62:响应于获取到的更新标记指示更新设备22不需执行软件更新,确定更新设备22本地已经新更新软件,并反馈更新成功信息。
需要说明的是,软件通常包括加载层(Bootloader)、参数层(Parameters)以及应用层(Application),加载层主要负责烧录与升级,应用层主要用于实现具体的应用功能和/或数据转发功能,参数层主要用于存储设备信息以及更新标记。
在一个具体的实施场景中,更新标记可以分别用于指示更新设备22需要执行软件更新、更新设备22不需要执行软件更新且软件为新更新软件、更新设备22不需要执行软件更新;具体的,当更新标记值为1时,指示更新设备22需要执行软件更新;当更新标记值为2时,指示更新设备22不需要执行软件更新且软件为新更新软件;当更新标记值为0时,指示更新设备22不需要执行软件更新;在其他实施场景中,更新标记值可以取其他值,上述取值仅作为示例性说明,本申请对于更新标记取值不作限定。
需要说明的是,软件在运行时,可以接收IAP(In Application Programming)指令,用于指示进行软件烧录或升级;在接收到该IAP指令后,重启以进行软件烧录或升级,则更新后的软件可被视为新更新软件。
请参照图7,图7是本申请软件更新方法又一实施例的流程示意图;在一个具体的实施场景中,上电启动后,先执行加载层的代码,提取参数层存储的更新标记,根据参数层存储的更新标记确定是否需要进行软件更新;若更新标记值为1,则等待接收更新数据以进行软件更新,软件更新完毕后,需要将更新标记更新为2,并跳转至应用层,执行应用层代码;执行应用层代码同样会先提取更新标记,若更新标记为2,则上报软件更新成功的消息、将更新标记更新为0,并开始执行具体应用功能,此次将更新标记更新为0是因为:在之后的每次软件运行时,用于指示软件不需要进行更新,且软件也不是最近一次系统初始化才更新的软件,因此也无需上报更新成功的消息;若执行应用层代码时提取更新标记值为0,则代表本次为系统的正常重启,直接执行具体应用功能;在执行具体应用功能的过程中,可能会收到IAP指令,在收到IAP指令后,则更新标记值更新为1,并重启系统,以进行软件更新。在上电启动后确定更新标记值为1的情况下,则跳转至应用层,进入应用层后,同样会提取参数层存储的更新标记,与上述过程类似,不再赘述。
在一些可能的实施方式中,主网关21与更新设备22之间、作为子网关的更新设备22与通过现场总线连接至其的更新设备22之间采用第一通信协议或第二通信协议进行通信,以实现数据的接收与发送。
在一个具体的实施场景中,第一通信协议可以是通用数据传输协议,第二通信协议可以是CAN、FDCAN协议中的一种;当然,第一通信协议或第二通信协议还可以是其他通信协议,本申请不作限定。
在一个具体的实施场景中,手机、上位机或文本设备向主网关21发送的数据内容可以是遵从通用数据传输协议格式的数据内容,以及,当主网关21与更新设备22之间、作为子网关的更新设备22与通过现场总线连接至其的更新设备22之间通过RS485总线连接时,也可以采用通用数据传输协议。
请参照图8,图8是本申请软件更新方法又一实施例的流程示意图;在一个可能的实施场景中,在更新设备22、主网关21与其上一层级设备之间的通信协议不同于更新设备22、主网关21与其下一层级设备之间的通信协议的情况下,方法包括:
步骤S81:将以第一通信协议封装的更新数据转换为以第二通信协议封装的更新数据,和/或,将以第二通信协议封装的更新数据转换为以第一通信协议封装的更新数据。
步骤S82:更新设备接收更新数据;其中,更新数据中包括设备地址,更新设备不少于一台,且更新数据通过:经主网关一次转发、经作为子网关的更新设备再次转发中任一种方式得到。
具体可参照前述公开实施例中相关描述,在此不再赘述。
步骤S83:响应于更新数据中的设备地址与更新设备22自身的设备地址匹配,基于更新数据在更新设备22本地执行软件更新;软件更新包括升级软件、烧录软件中的至少一种。
具体可参照前述公开实施例中相关描述,在此不再赘述。
也就是说,当同一设备(包括主网关21和更新设备22)接收数据与发送数据时采用的通信协议不同时,需要进行数据转换。
在一些可能的实施方式中,将以第一通信协议封装的更新数据转换为以第二通信协议封装的更新数据包括:在以第一通信协议封装的更新数据不大于预定大小的情况下,将以第一通信协议封装的更新数据作为一个以第二通信协议封装的数据包发送;在以第一通信协议封装的更新数据大于预定大小的情况下,对第一通信协议数据进行分帧,以将以第一通信协议封装的更新数据作为多个以第二通信协议封装的数据包发送;其中,以第二通信协议封装的数据包中包括分帧信息。
在一些可能的实施方式中,将以第二通信协议封装的更新数据转换为以第一通信协议封装的更新数据包括:在以第二通信协议封装的数据包仅有一个的情况下,将一个以第二通信协议封装的数据包中的内容作为以第一通信协议封装的更新数据;在以第二通信协议封装的数据包有多个的情况下,依据分帧信息对以第二通信协议封装的数据包按序排列,进而得到以第一通信协议封装的更新数据。
在一个具体的实施场景中,在将通用数据传输协议传输的数据转换为CAN协议传输数据的场景下,需要先确定通用数据传输协议传输的数据长度,且预定大小为7字节(若是转换为FDCAN,则预定大小为63字节),若通用数据传输协议传输的数据长度小于或等于7字节,则无需进行分帧发送,只需要一个CAN数据包即可将数据发送出去;若通用数据传输协议传输的数据长度大于7字节,则需要进行分帧发送,即将通用数据传输协议传输的数据内容每7字节(若是转换为FDCAN,则是每63字节)作为一个CAN数据包存入CAN的数据段中,并携带1字节的分帧信息(用于指示CAN数据包的顺序),将各个数据段依次发送到CAN总线上。
在一个具体的实施场景中,在CAN协议传输数据转换为通用数据传输协议传输的数据的场景下,若接收到的CAN协议传输数据只有一个CAN数据包,则该数据包的内容即为全部通用数据传输协议的数据;若有多个CAN数据包,则根据分帧信息,将CAN数据包依次排列形成通用数据传输协议的数据。
上述方案,将更新设备22通过现场总线相互连接,只需要一个带有主网关21功能的设备,通过上位机或手机等即可通过主网关21对所有设备进行软件更新,只需要在主网关21上预留烧录接口,其他更新涉笔则可以不同考虑预留烧录接口的设计,降低了硬件的设计复杂度,且能够批量对更新设备22进行软件更新,提高了效率。
本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
请参阅图9,图9是本申请电子设备90一实施例的框架示意图。电子设备包括通信电路91、存储器92和处理器93,通信电路91、存储器92分别耦接至处理器93,处理器93用于执行存储器92中存储的程序指令,以实现上述的软件更新方法。
在一个具体的实施场景中,电子设备90可以包括但不限于:微型计算机、服务器,此外,电子设备90还可以包括笔记本电脑、平板电脑等移动设备,在此不做限定。
具体而言,处理器93用于控制其自身以及存储器92以实现上述任一软件更新方法实施例中的步骤。处理器93还可以称为CPU(Central Processing Unit,中央处理单元)。处理器93可能是一种集成电路芯片,具有信号的处理能力。处理器93还可以是通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application SpecificIntegrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。另外,处理器93可以由集成电路芯片共同实现。
上述方案,将更新设备通过现场总线相互连接,只需要一个带有主网关功能的设备,通过上位机或手机等即可通过主网关对所有设备进行软件更新,只需要在主网关上预留烧录接口,其他更新涉笔则可以不同考虑预留烧录接口的设计,降低了硬件的设计复杂度,且能够批量对更新设备进行软件更新,提高了效率。
请参阅图10,图10是本申请图像检测装置100一实施例的框架示意图。软件更新装置包括:数据接收模块110,用于接收更新数据;其中,更新数据中包括设备地址,更新设备不少于一台,且更新数据通过:经主网关一次转发、经作为子网关的更新设备再次转发中任一种方式得到;地址识别模块120,用于响应于更新数据中的设备地址与更新设备自身的设备地址匹配,基于更新数据在更新设备本地执行软件更新;软件更新包括升级软件、烧录软件中的至少一种。
在一个具体的实施场景中,图像检测装置100还包括:版本信息检测模块,用于检测软件与更新设备的版本信息是否符合要求;地址识别模块120响应于软件与更新设备的版本信息符合要求,基于更新数据在更新设备本地执行软件更新,或者,响应于更新数据中的设备地址与更新设备自身的设备地址不匹配,且更新设备为作为子网关的更新设备,将更新数据再次转发。
在一些可能的实施方式中,图像检测装置100还包括:标记获取单元,用于获取更新标记,以及响应于获取到的更新标记指示更新设备需要执行软件更新,开始执行更新设备接收更新数据的步骤;其中,更新标记用于表征软件是否需要更新以及软件的更新状态;
在一些可能的实施方式中,图像检测装置100还包括标记更新单元,用于更新更新标记;更新后的更新标记指示软件为新更新软件;或者,响应于获取到的更新标记指示更新设备不需执行软件更新,确定更新设备本地已经新更新软件,并反馈更新成功信息。
在一些可能的实施方式中,图像检测装置100还包括数据转换单元,用于在更新设备、主网关与其上一层级设备之间的通信协议不同于更新设备、主网关与其下一层级设备之间的通信协议的情况下,将以第一通信协议封装的更新数据转换为以第二通信协议封装的更新数据,和/或,将以第二通信协议封装的更新数据转换为以第一通信协议封装的更新数据。
在一些可能的实施方式中,将以第一通信协议封装的更新数据转换为以第二通信协议封装的更新数据包括:在以第一通信协议封装的更新数据不大于预定大小的情况下,将以第一通信协议封装的更新数据作为一个以第二通信协议封装的数据包发送;在以第一通信协议封装的更新数据大于预定大小的情况下,对第一通信协议数据进行分帧,以将以第一通信协议封装的更新数据作为多个以第二通信协议封装的数据包发送;其中,以第二通信协议封装的数据包中包括分帧信息。
在一些可能的实施方式中,将以第二通信协议封装的更新数据转换为以第一通信协议封装的更新数据包括:在以第二通信协议封装的数据包仅有一个的情况下,将一个以第二通信协议封装的数据包中的内容作为以第一通信协议封装的更新数据;在以第二通信协议封装的数据包有多个的情况下,依据分帧信息对以第二通信协议封装的数据包按序排列,进而得到以第一通信协议封装的更新数据。
上述方案,将更新设备通过现场总线相互连接,只需要一个带有主网关功能的设备,通过上位机或手机等即可通过主网关对所有设备进行软件更新,只需要在主网关上预留烧录接口,其他更新涉笔则可以不同考虑预留烧录接口的设计,降低了硬件的设计复杂度,且能够批量对更新设备进行软件更新,提高了效率。
请参阅图11,图11为本申请计算机可读存储介质1100一实施例的框架示意图。计算机可读存储介质1100存储有能够被处理器运行的程序指令1101,程序指令1101用于实现上述软件更新方法实施例中的步骤。
上述方案,将更新设备通过现场总线相互连接,只需要一个带有主网关功能的设备,通过上位机或手机等即可通过主网关对所有设备进行软件更新,只需要在主网关上预留烧录接口,其他更新设备则可以不同考虑预留烧录接口的设计,降低了硬件的设计复杂度,且能够批量对更新设备进行软件更新,提高了效率。
在一些实施例中,本公开实施例提供的装置具有的功能或包含的模块可以用于执行上文方法实施例描述的方法,其具体实现可以参照上文方法实施例的描述,为了简洁,这里不再赘述。
上文对各个实施例的描述倾向于强调各个实施例之间的不同之处,其相同或相似之处可以互相参考,为了简洁,本文不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的方法和装置,可以通过其它的方式实现。例如,以上所描述的装置实施方式仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性、机械或其它的形式。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施方式方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
Claims (15)
1.一种软件更新方法,其特征在于,包括:
更新设备接收更新数据;其中,所述更新数据中包括设备地址,所述更新设备不少于一台,且所述更新数据通过:经主网关一次转发、经作为子网关的所述更新设备再次转发中任一种方式得到;
响应于所述更新数据中的设备地址与所述更新设备自身的设备地址匹配,基于所述更新数据在所述更新设备本地执行软件更新;所述软件更新包括升级软件、烧录软件中的至少一种。
2.根据权利要求1所述的方法,其特征在于,至少部分所述更新设备通过现场总线与所述主网关连接。
3.根据权利要求2所述的方法,其特征在于,与所述主网关连接的至少一个所述更新设备作为所述子网关,用于通过所述现场总线连接未与所述主网关直接连接的更新设备。
4.根据权利要求1至3任一项所述的方法,其特征在于,在所述基于所述更新数据在所述更新设备本地执行软件更新之前,所述方法还包括:
检测所述软件与所述更新设备的版本信息是否符合要求;
所述基于所述更新数据在所述更新设备本地执行软件更新,包括:
响应于所述软件与所述更新设备的版本信息符合要求,基于所述更新数据在所述更新设备本地执行软件更新。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
响应于所述更新数据中的设备地址与所述更新设备自身的设备地址不匹配,且所述更新设备为作为子网关的所述更新设备,将所述更新数据再次转发。
6.根据权利要求1所述的方法,其特征在于,在所述更新设备接收更新数据之前,所述方法还包括:
获取更新标记;其中,所述更新标记用于表征所述软件是否需要更新以及所述软件的更新状态;
响应于获取到的更新标记指示所述更新设备需要执行所述软件更新,开始执行所述更新设备接收更新数据的步骤;
在所述基于所述更新数据在所述更新设备本地执行软件更新之后,所述方法还包括:
更新所述更新标记;更新后的所述更新标记指示所述软件为新更新软件。
7.根据权利要求6所述的方法,其特征在于,在所述获取更新标记之后,所述方法还包括,
响应于获取到的更新标记指示所述更新设备不需执行所述软件更新,确定所述更新设备本地已经新更新软件,并反馈更新成功信息。
8.根据权利要求1所述的方法,其特征在于,所述主网关与所述更新设备之间、作为子网关的更新设备与通过所述现场总线连接至其的所述更新设备之间采用第一通信协议或第二通信协议进行通信,以实现数据的接收与发送。
9.根据权利要求8所述的方法,其特征在于,在所述更新设备、所述主网关与其上一层级设备之间的通信协议不同于所述更新设备、所述主网关与其下一层级设备之间的通信协议的情况下,所述方法还包括:
将以第一通信协议封装的所述更新数据转换为以第二通信协议封装的所述更新数据,和/或,将以第二通信协议封装的所述更新数据转换为以第一通信协议封装的所述更新数据。
10.根据权利要求9所述的方法,其特征在于,所述将以第一通信协议封装的所述更新数据转换为以第二通信协议封装的所述更新数据包括:
在以第一通信协议封装的所述更新数据不大于预定大小的情况下,将以第一通信协议封装的所述更新数据作为一个以第二通信协议封装的数据包发送;
在以第一通信协议封装的所述更新数据大于预定大小的情况下,对所述第一通信协议数据进行分帧,以将以第一通信协议封装的所述更新数据作为多个所述以第二通信协议封装的数据包发送;其中,所述以第二通信协议封装的数据包中包括分帧信息。
11.根据权利要求10所述的方法,其特征在于,将以第二通信协议封装的所述更新数据转换为以第一通信协议封装的所述更新数据包括:
在所述以第二通信协议封装的数据包仅有一个的情况下,将一个所述以第二通信协议封装的数据包中的内容作为以第一通信协议封装的所述更新数据;
在所述以第二通信协议封装的数据包有多个的情况下,依据所述分帧信息对所述以第二通信协议封装的数据包按序排列,进而得到以第一通信协议封装的所述更新数据。
12.一种电子设备,其特征在于,包括通信电路、存储器和处理器,所述通信电路、所述存储器分别耦接至所述处理器,所述处理器用于执行所述存储器中存储的程序指令,以实现权利要求1至11任一项所述的软件更新方法。
13.一种软件更新系统,其特征在于,包括:
主网关,用于转发更新数据;
更新设备,与所述主网关通信连接,用于接收所述主网关转发的更新数据,所述更新设备不少于一台,所述更新数据通过:经主网关一次转发、经作为子网关的更新设备再次转发中任一种方式得到,且所述更新设备为权利要求12所述的电子设备。
14.一种软件更新装置,其特征在于,包括:
数据接收模块,用于接收更新数据;其中,所述更新数据中包括设备地址,所述更新设备不少于一台,且所述更新数据通过:经主网关一次转发、经作为子网关的更新设备再次转发中任一种方式得到;
地址识别模块,用于响应于所述更新数据中的设备地址与所述更新设备自身的设备地址匹配,基于所述更新数据在所述更新设备本地执行软件更新;所述软件更新包括升级软件、烧录软件中的至少一种。
15.一种计算机可读存储介质,其上存储有程序指令,其特征在于,所述程序指令被处理器执行时实现权利要求1至11任一项所述的多点组网的软件更新方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310826555.0A CN116915758A (zh) | 2023-07-06 | 2023-07-06 | 一种软件更新方法、设备、系统、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310826555.0A CN116915758A (zh) | 2023-07-06 | 2023-07-06 | 一种软件更新方法、设备、系统、装置及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116915758A true CN116915758A (zh) | 2023-10-20 |
Family
ID=88359491
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310826555.0A Pending CN116915758A (zh) | 2023-07-06 | 2023-07-06 | 一种软件更新方法、设备、系统、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116915758A (zh) |
-
2023
- 2023-07-06 CN CN202310826555.0A patent/CN116915758A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109768970B (zh) | 一种基于可配置的通用协议生成方法 | |
CN111083161A (zh) | 数据传输的处理方法及装置、物联网设备 | |
EP2339792B1 (en) | Method for accessing USB device attached to home gateway, home gateway and terminal | |
CN102404306B (zh) | 一种配置协议的方法及装置 | |
US10609633B2 (en) | Method for triggering registrar protocol interaction, access point, and station | |
EP2922267B1 (en) | Method for achieving communication based on mbim interface and device therefor | |
CN110069288B (zh) | Usb设备共享方法、装置及系统 | |
CN101571811B (zh) | 一种信息传输方法及装置 | |
WO2011137648A1 (zh) | 基于mdio接口的下载方法及系统 | |
WO2016119623A1 (zh) | 一种网络分享的实现方法和装置 | |
CN114039808A (zh) | 基于can的多通道的can/lin/sent转发协议 | |
CN104426816A (zh) | 一种虚拟机通信方法及装置 | |
CN116915758A (zh) | 一种软件更新方法、设备、系统、装置及存储介质 | |
CN109905430A (zh) | 一种软件升级方法与系统 | |
CN103781098A (zh) | 无线网络适配器及其自配置方法 | |
CN107040523B (zh) | 交易数据传输方法、装置和电子设备 | |
CN101938765A (zh) | 一种网管和网元自动适配的方法和系统 | |
CN114827967A (zh) | 软件更新方法、蓝牙设备及存储介质 | |
US11804986B2 (en) | Method for the remote management of a device connected to a residential gateway | |
CN112615835A (zh) | 一种对充电桩多通讯协议支持方法及存储介质 | |
CN113676352B (zh) | 一种lldp工作模式的配置方法及组件 | |
CN116893832A (zh) | 一种固件烧录方法、系统、电子设备及存储介质 | |
US11431820B1 (en) | Method and system for implementing inter-process communications | |
CN117395329B (zh) | 收发以太二层协议报文的方法、装置及存储介质 | |
CN111181867B (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 |