CN114443088A - 一种模块升级方法、装置、电子设备和存储介质 - Google Patents
一种模块升级方法、装置、电子设备和存储介质 Download PDFInfo
- Publication number
- CN114443088A CN114443088A CN202111614319.XA CN202111614319A CN114443088A CN 114443088 A CN114443088 A CN 114443088A CN 202111614319 A CN202111614319 A CN 202111614319A CN 114443088 A CN114443088 A CN 114443088A
- Authority
- CN
- China
- Prior art keywords
- upgrading
- upgrade
- module
- data
- packet
- 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
Images
Classifications
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本申请提供一种模块升级方法、装置、电子设备及存储介质,方法包括:通过模块中预设的升级程序下载升级协议包,升级协议包中包括包头部分和数据部分,数据部分包括升级数据,检测包头部分中是否包含升级工具,若确定包含升级工具则利用升级工具基于数据部分的升级数据对模块进行升级。如此,模块的整体升级方案在模块内部实现,仅需要触发模块内部设置的升级程序即可完成对模块自身版本的升级,不需要依赖外界升级工具,因此,即使没有外界升级工具也可以实现对模块的升级。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种模块升级方法、装置、电子设备和存储介质。
背景技术
目前,PC(Personal Computer,个人计算机)业务(例如Windows)模块升级一般是通过一键安装installer安装包中的.exe文件来进行实现,例如图1所示。脱离PC整机后,只能借助外界的一些升级工具来给模块升级,例如利用EVKB和intel的升级工具给模块升级。
由此可见,现有方案主要依赖PC和外界升级工具来对模块进行升级。通过主动或者被动的运行外界升级工具,将升级包写入到模块中,从而实现对模块版本的升级。如果脱离了外界升级工具,将无法实现对模块版本的升级,从而产生模块异常,无法继续使用的弊端。
发明内容
为了解决上述技术问题在脱离外界的升级工具后,无法对模块进行升级的技术问题,本申请提供了一种模块升级方法、装置、电子设备和存储介质。
第一方面,本申请提供了一种模块升级方法,包括:
通过模块中预设的升级程序下载升级协议包,所述升级协议包包括包头部分和数据部分,所述数据部分包括升级数据;
检测所述包头部分是否包含升级工具;
若确定所述包头部分包含升级工具,则利用所述升级工具基于所述数据部分中的升级数据对所述模块进行升级;
若确定所述包头部分不包含升级工具,则利用所述升级程序基于所述数据部分中的升级数据对所述模块进行升级。
作为一种可能的实现方式,所述数据部分包括至少一个分区的升级数据,所述基于所述数据部分中的升级数据对所述模块进行升级,包括:
对所述数据部分进行解析,得到至少一个分区的升级数据;
基于至少一个分区的升级数据对所述模块中的至少一个分区进行升级。
作为一种可能的实现方式,所述方法还包括:
在检测所述包头部分是否包含升级工具之前,检测所述升级协议包是否符合当前项目;
若确定所述升级协议包符合当前项目,则执行检测所述包头部分是否包含升级工具的步骤;
若确定所述升级协议包不符合当前项目,则执行结束步骤。
作为一种可能的实现方式,所述包头部分包含项目代码,所述检测所述升级协议包是否符合当前项目,包括:
将所述包头部分包含的项目代码与当前项目的项目代码进行比较;
若比较出所述包头部分包含的项目代码与所述当前项目的项目代码一致,则确定所述升级协议包符合当前项目;
若比较出所述包头部分包含的项目代码与所述当前项目的项目代码不一致,则确定所述升级协议包符合当前项目。
第二方面,本申请实施例还提供了一种模块升级装置,包括:
下载模块,用于通过模块中预设的升级程序下载升级协议包,所述升级协议包包括包头部分和数据部分,所述数据部分包括升级数据;
检测模块,用于检测所述包头部分是否包含升级工具;
第一升级模块,用于若确定所述包头部分包含升级工具,则利用所述升级工具基于所述数据部分中的升级数据对所述模块进行升级;
第二升级模块,用于若确定所述包头部分不包含升级工具,则利用所述升级程序基于所述数据部分中的升级数据对所述模块进行升级。
作为一种可能的实现方式,所述数据部分包括至少一个分区的升级数据,所述第一升级模块或第二升级模块在基于所述数据部分中的升级数据对所述模块进行升级,具体包括:
对所述数据部分进行解析,得到至少一个分区的升级数据;
基于至少一个分区的升级数据对所述模块中的至少一个分区进行升级。
作为一种可能的实现方式,所述装置还包括:
校验模块,用于在检测所述包头部分是否包含升级工具之前,检测所述升级协议包是否符合当前项目;
若确定所述升级协议包符合当前项目,则执行检测所述包头部分是否包含升级工具的步骤;
若确定所述升级协议包不符合当前项目,则执行结束步骤。
作为一种可能的实现方式,所述包头部分包含项目代码,所述校验模块检测所述升级协议包是否符合当前项目,包括:
将所述包头部分包含的项目代码与当前项目的项目代码进行比较;
若比较出所述包头部分包含的项目代码与所述当前项目的项目代码一致,则确定所述升级协议包符合当前项目;
若比较出所述包头部分包含的项目代码与所述当前项目的项目代码不一致,则确定所述升级协议包符合当前项目。
第三方面,本申请实施例还提供了一种电子设备,包括:处理器和存储器,所述处理器用于执行所述存储器中存储的模块升级程序,以实现第一方面任一所述的模块升级方法。
第四方面,本申请实施例还提供了一种存储介质,其特征在于,所述存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现第一方面任一所述的模块升级方法。
本申请实施例提供的上述技术方案与现有技术相比具有如下优点:
本申请实施例提供的一种模块升级方法,通过模块中预设的升级程序下载升级协议包,升级协议包中包括包头部分和数据部分,数据部分包括升级数据,检测包头部分中是否包含升级工具,若确定包含升级工具则利用升级工具基于数据部分的升级数据对模块进行升级。如此,模块的整体升级方案在模块内部实现,仅需要触发模块内部设置的升级程序即可完成对模块自身版本的升级,不需要依赖外界升级工具,因此,即使没有外界升级工具也可以实现对模块的升级。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1是现有模块升级方法的示意图。
图2是根据一示例性实施例示出的一种升级协议包的框图。
图3是根据一示例性实施例示出的一种模块升级方法的流程图。
图4是根据一示例性实施例示出的一种模块升级方法的示意图。
图5是根据一示例性实施例示出的一种模块升级方法的流程图。
图6是根据一示例性实施例示出的一种模块升级装置的框图。
图7是根据一示例性实施例示出的一种电子设备的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
为了解决现有技术利用外界升级工具对模块进行升级,所存在的没有外界升级工具就无法对模块进行升级的技术问题,本申请提供一种新的模块升级方法,该模块升级方式利用模块内部的升级程序,通过通用升级协议包自主对模块进行升级,实现了升级工具的通用性,不需要依赖外部升级工具,从而实现了模块的独立性,忽略了平台的特殊性,达到模块升级的通用性,并且模块在升级时对系统中其它模块的耦合性达到最小,对平台的依赖性达到最小。
参见图2,为本申请实施例提供的一种升级协议包的结构示意图,如图2所示,升级协议包中主要包括包头部分(也即图2中的Header)和数据部分(也即图2中的Image)。
在本申请实施例中,包头部分为Firmware Header,也即固件升级包的包头数据区。
作为一个实施例,固件升级包的包头数据区主要包括固件升级包校验信息(HeaderMask)、数据校验码(HeaderCRC)、工具长度(Tkit Length)和工具程序(Tkitprogram),其中Tkit指Tool kit,也即成套工具。
其中,升级包校验信息用于区分该固件升级包是否适用于模块的当前项目版本升级。
数据校验码用于固件升级包的包头数据区的内容进行校验,以验证其是否是是完整正确的数据。
工具程序中可以包括与数据部分对应的升级工具,升级工具用于基于数据部分解包后的升级数据内容执行升级操作。其中,升级工具可以包括相应的脚本和可执行程序。
工具长度中则可以包括Tkit program中的脚本和可执行程序的长度信息。
在本申请实施例中,数据部分则为固件升级包的数据内容区,其主要包含升级包数据内容。
作为一个实施例,数据部分可以包括Image Header、Partition Information和Partition Data。
其中,Image Header可以包括升级包数据区校验信息(ImgMsak)、数据校验码(ImgCRC)和数据长度(ImgLength)。
其中,升级包数据区校验信息可以为项目代码,升级包数据区校验信息主要用于区分该升级包数据内容是否适用于模块的当前项目版本升级。
ImgCRC该数据校验码用于对升级包数据内容进行校验,以确定其是否是完整正确的数据。
数据长度则可以包括升级包数据内容的长度信息。
Partition Information中可以包含分区名称(PtnName)、分区数据内容校验码(PtnCRC)、分区数据区相对升级包的起始偏移地址(Offset)、分区数据长度(Length)以及分区扩展(PtnExtend)。其中,分区扩展部分,主要是为了满足分区数量的动态增减所预留的部分。
作为一个实施例,Partition Data中可以包含升级数据内容(PtnData)和数据对齐内容(AlignData1,0xFF)。其中,数据对齐内容因flash芯片特性决定,读写内容以整页对齐读写,所以数据区在不满足整页内容情况下,需要填充0xFF内容作为对齐数据。
下面结合附图,对本申请实施例提供的模块升级方法进行说明。
参见图3为本申请实施例提供的一种模块升级方法的流程图,如图3所示,该方法可以包括如下步骤:
S31.通过模块中预设的升级程序下载升级协议包,升级协议包包括包头部分和数据部分,数据部分包括升级数据。
在本申请实施例中,预先在模块中设置用于对模块进行升级的升级程序,如此模块便可以采用自身设置的升级程序自动进行版本升级,无需再依赖外部的升级工具。
作为一个实施例,升级协议包可以是存储在模块可以访问的存储节点中的,例如服务器中。模块可以利用升级程序实时或间隔一定时间的检测存储节点中是否有新版本对应的升级协议包,当检测到有新版本对应的升级协议包时,通过升级程序下载新版本对应的升级协议包。
作为一个实施例,在检测是否有新版本对应的升级协议包时,可以获取存储节点中最新的升级协议包的版本号,然后将获取的版本号与模块自身的版本号进行比较,若比较出获取的版本号与模块自身的版本号不一致,则确定有新版本对应的升级协议包。
进一步的,作为一个实施例中,若没有检测到新版本对应的升级协议包,则确定模块不需要进行版本升级,从而不执行后续的升级步骤。
S32.检测包头部分是否包含升级工具。
S33.若确定所述包头部分包含升级工具,则利用所述升级工具基于所述数据部分对所述模块进行升级。
S34.若确定所述包头部分不包含升级工具,则利用所述升级程序基于所述数据部分对所述模块进行升级。
下面对S32-S34进行统一说明:
本申请实施例中的升级协议包的结构可参见图2,主要包括包头部分和数据部分,其中数据部分包括进行版本升级所需的升级数据。
如图2所示,包头部分的Tkit program可以包括用于执行升级操作的升级工具。基于此,在基于数据部分进行升级之前,可以先检测包头部分中是否包含有升级工具。
作为一个实施例,若确定包头部分中包含升级工具,则利用包头部分包含的升级工具具有的功能基于数据部分的升级数据执行相应的升级操作,以对模块进行升级。
作为另一个实施例,若确定包头部分不包含升级工具,则直接利用模块中预设的升级程序基于数据部分的升级数据对模块进行升级。
本申请实施例提供的一种模块升级方法,通过模块中预设的升级程序下载升级协议包,升级协议包中包括包头部分和数据部分,数据部分包括升级数据,检测包头部分中是否包含升级工具,若确定包含升级工具则利用升级工具基于数据部分的升级数据对模块进行升级。如此,模块的整体升级方案在模块内部实现,仅需要触发模块内部设置的升级程序即可完成对模块自身版本的升级,不需要依赖外界升级工具,因此,即使没有外界升级工具也可以实现对模块的升级。
进一步的,本申请实施例中的升级协议包可以携带升级工具,在对模块升级时,若升级协议包中包含升级工具,则利用升级工具对模块进行升级,如此,达到了针对一次升级单独对升级程序或者脚本进行升级的目的,无需对系统预设的升级程序做过多的升级处理。而且也有效避免了模块中升级程序不兼容的问题,达到升级包自身升级的功能。
为了更直观的体现本申请实施例提供的一种模块升级方法与现有模块升级方法的区别,如图4所示,为本申请实施例提供的一种模块升级方法的示意图,如图4所示,本申请实施例提供的模块升级方法可以在模块内部执行,由模块自身完成的。其与图1所示的模块升级方法相比,无需再依赖外部升级工具。
参见图5,为本申请的另一实施例提供的模块升级方法,如图5所示,在图3所示的模块升级方法的基础上,模块升级方法还可以包括如下步骤:
S51.在检测包头部分是否包含升级工具之前,检测升级协议包是否符合当前项目。
S52.若确定升级协议包符合当前项目,则执行检测包头部分是否包含升级工具的步骤。
S53.若确定升级协议包不符合当前项目,则执行结束步骤。
作为一个实施例,如图2所示,升级协议包的包头部分可以包含用于区分该升级协议包是否适用于模块的当前项目版本升级的升级包校验信息,而升级包校验信息可以为项目代码。基于此,在检测升级协议包是否符合当前项目时,可以将包头部分中包含的项目代码与当前项目的项目代码进行比较,若比较出包头部分包含的项目代码与当前项目的项目代码一致,则确定升级协议包符合当前项目,若比较出包头部分包含的项目代码与当前项目的项目代码不一致,则所述升级协议包符合当前项目。
本申请实施例提供的模块升级方法,在下载升级协议包之后,在进行升级之前首先对升级协议包进行校验,在确定符合当前项目的版本升级之后,再执行后续的升级步骤,如此减少了升级失败的情况发生。
进一步的,作为另一个实施例,如图2所示,升级协议包的包头部分中还可以包括用于对包头数据区的内容进行完整性校验的数据校验码,基于此,在下载到升级协议包之后,在检测包头部分是否包含升级工具之前,还可以基于包头部分中的数据校验码对包头部分的内容进行完整性校验,若通过完整性校验则可以执行检测包头部分是否包含升级工具的步骤,若未通过完整性校验,则说明当前下载的升级协议包不完整可以等下载完整后再执行检测包头部分是否包含升级工具的步骤,或者直接将该升级协议包丢弃,并结束升级,如此也可以在一定程度上避免升级失败的情况发生。
进一步的,在本申请中无论是利用获取的升级工具还是利用预设的升级程序,在基于数据部分中的升级数据对模块进行升级时,首先,需要先对数据部分进行解析得到升级数据,然后再基于升级数据进行升级。
如图2所示,升级协议包的数据部分中的升级数据可以是分区的,也即一个升级协议包中可以包括多个分区的升级数据(也即分区数据),基于此,在本申请另一实施例提供的模块升级方法中,在基于数据部分的升级数据对模块进行升级时,可以先对数据部分进行解析,从而得到至少一个分区的升级数据,然后利用从升级协议包中获取的升级工具或模块中预设的升级程序,基于解析得到的至少一个分区的升级数据对模块的至少一个分区进行升级。
具体的,在基于解析得到的至少一个分区的升级数据对模块的至少一个分区进行升级时,由图2可知,数据部分中包括分区名称,因此在基于分区数据对分区进行升级时,可以根据分区数据对应的分区名称,确定分区数据对应的分区,然后利用分区数据对其对应的分区进行升级。
通过上述方式,可以实现针对模块中各个分区进行单独升级。
此外,如图2所示,数据部分中还包括分区扩展部分,分区扩展部分可以满足分区数量动态的增减,基于此,升级协议包可以支持很好的可扩展性,支持对后续产品定制需求。
进一步的,本申请实施例提供的模块升级方法不受PC操作系统的限制,可以适用于Windows、Linux以及Chrome等。
参见图6,为本申请实施例提供的一种模块升级装置的框图,如图6所示,该装置可以包括:
下载模块601,用于通过模块中预设的升级程序下载升级协议包,所述升级协议包包括包头部分和数据部分,所述数据部分包括升级数据;
检测模块602,用于检测所述包头部分是否包含升级工具;
第一升级模块603,用于若确定所述包头部分包含升级工具,则利用所述升级工具基于所述数据部分中的升级数据对所述模块进行升级;
第二升级模块604,用于若确定所述包头部分不包含升级工具,则利用所述升级程序基于所述数据部分中的升级数据对所述模块进行升级。
作为一种可能的实现方式,所述数据部分包括至少一个分区的升级数据,所述第一升级模块603或第二升级模块604在基于所述数据部分中的升级数据对所述模块进行升级,具体包括:
对所述数据部分进行解析,得到至少一个分区的升级数据;
基于至少一个分区的升级数据对所述模块中的至少一个分区进行升级。
作为一种可能的实现方式,所述装置还包括(图6中未示出):
校验模块,用于在检测所述包头部分是否包含升级工具之前,检测所述升级协议包是否符合当前项目;
若确定所述升级协议包符合当前项目,则执行检测所述包头部分是否包含升级工具的步骤;
若确定所述升级协议包不符合当前项目,则执行结束步骤。
作为一种可能的实现方式,所述包头部分包含项目代码,所述校验模块检测所述升级协议包是否符合当前项目,包括:
将所述包头部分包含的项目代码与当前项目的项目代码进行比较;
若比较出所述包头部分包含的项目代码与所述当前项目的项目代码一致,则确定所述升级协议包符合当前项目;
若比较出所述包头部分包含的项目代码与所述当前项目的项目代码不一致,则确定所述升级协议包符合当前项目。
参见图7,为本申请的另一实施例提供的一种电子设备的结构示意图。
如图7所示,本实施例提供的电子设备包括:至少一个处理器701、存储器702、至少一个网络接口703和其他用户接口704。电子设备700中的各个组件通过总线系统705耦合在一起。可理解,总线系统705用于实现这些组件之间的连接通信。总线系统705除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图中将各种总线都标为总线系统705。
其中,用户接口704可以包括显示器、键盘或者点击设备(例如,鼠标,轨迹球(trackball)、触感板或者触摸屏等。
可以理解,本发明实施例中的存储器702可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(Random Access Memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(Static RAM,SRAM)、动态随机存取存储器(Dynamic RAM,DRAM)、同步动态随机存取存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(Double Data RateSDRAM,DDRSDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(Synch link DRAM,SLDRAM)和直接内存总线随机存取存储器(DirectRambus RAM,DRRAM)。本文描述的存储器702旨在包括但不限于这些和任意其它适合类型的存储器。
在一些实施方式中,存储器702存储了如下的元素,可执行单元或者数据结构,或者他们的子集,或者他们的扩展集:操作系统7021和应用程序7022。
其中,操作系统7021,包含各种系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务。应用程序7022,包含各种应用程序,例如媒体播放器(Media Player)、浏览器(Browser)等,用于实现各种应用业务。实现本发明实施例方法的程序可以包含在应用程序7022中。
在本发明实施例中,通过调用存储器702存储的程序或指令,具体的,可以是应用程序7022中存储的程序或指令,处理器701用于执行各方法实施例所提供的方法步骤,例如包括:
通过模块中预设的升级程序下载升级协议包,所述升级协议包包括包头部分和数据部分,所述数据部分包括升级数据;
检测所述包头部分是否包含升级工具;
若确定所述包头部分包含升级工具,则利用所述升级工具基于所述数据部分中的升级数据对所述模块进行升级;
若确定所述包头部分不包含升级工具,则利用所述升级程序基于所述数据部分中的升级数据对所述模块进行升级。
上述本发明实施例揭示的方法可以应用于处理器701中,或者由处理器701实现。处理器701可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器701中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器701可以是通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(FieldProgrammable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件单元组合执行完成。软件单元可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器702,处理器701读取存储器702中的信息,结合其硬件完成上述方法的步骤。
可以理解的是,本文描述的这些实施例可以用硬件、软件、固件、中间件、微码或其组合来实现。对于硬件实现,处理单元可以实现在一个或多个专用集成电路(ApplicationSpecific Integrated Circuits,ASIC)、数字信号处理器(Digital Signal Processing,DSP)、数字信号处理设备(DSPDevice,DSPD)、可编程逻辑设备(Programmable LogicDevice,PLD)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、通用处理器、控制器、微控制器、微处理器、用于执行本申请功能的其它电子单元或其组合中。
对于软件实现,可通过执行本文功能的单元来实现本文的技术。软件代码可存储在存储器中并通过处理器执行。存储器可以在处理器中或在处理器外部实现。
本发明实施例还提供了一种存储介质(计算机可读存储介质)。这里的存储介质存储有一个或者多个程序。其中,存储介质可以包括易失性存储器,例如随机存取存储器;存储器也可以包括非易失性存储器,例如只读存储器、快闪存储器、硬盘或固态硬盘;存储器还可以包括上述种类的存储器的组合。
当存储介质中一个或者多个程序可被一个或者多个处理器执行,以实现上述在电子设备侧执行的模块升级方法。
处理器用于执行存储器中存储的模块升级方法程序,以实现以下在电子设备侧执行的模块升级方法的步骤:
通过模块中预设的升级程序下载升级协议包,所述升级协议包包括包头部分和数据部分,所述数据部分包括升级数据;
检测所述包头部分是否包含升级工具;
若确定所述包头部分包含升级工具,则利用所述升级工具基于所述数据部分中的升级数据对所述模块进行升级;
若确定所述包头部分不包含升级工具,则利用所述升级程序基于所述数据部分中的升级数据对所述模块进行升级。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
可以理解的是,上述各实施例中相同或相似部分可以相互参考,在一些实施例中未详细说明的内容可以参见其他实施例中相同或相似的内容。
需要说明的是,在本申请的描述中,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本申请的描述中,除非另有说明,“多个”的含义是指至少两个。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。
应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (10)
1.一种模块升级方法,其特征在于,包括:
通过模块中预设的升级程序下载升级协议包,所述升级协议包包括包头部分和数据部分,所述数据部分包括升级数据;
检测所述包头部分是否包含升级工具;
若确定所述包头部分包含升级工具,则利用所述升级工具基于所述数据部分中的升级数据对所述模块进行升级;
若确定所述包头部分不包含升级工具,则利用所述升级程序基于所述数据部分中的升级数据对所述模块进行升级。
2.根据权利要求1所述的方法,其特征在于,所述数据部分包括至少一个分区的升级数据,所述基于所述数据部分中的升级数据对所述模块进行升级,包括:
对所述数据部分进行解析,得到至少一个分区的升级数据;
基于至少一个分区的升级数据对所述模块中的至少一个分区进行升级。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在检测所述包头部分是否包含升级工具之前,检测所述升级协议包是否符合当前项目;
若确定所述升级协议包符合当前项目,则执行检测所述包头部分是否包含升级工具的步骤;
若确定所述升级协议包不符合当前项目,则执行结束步骤。
4.根据权利要求3所述的方法,其特征在于,所述包头部分包含项目代码,所述检测所述升级协议包是否符合当前项目,包括:
将所述包头部分包含的项目代码与当前项目的项目代码进行比较;
若比较出所述包头部分包含的项目代码与所述当前项目的项目代码一致,则确定所述升级协议包符合当前项目;
若比较出所述包头部分包含的项目代码与所述当前项目的项目代码不一致,则确定所述升级协议包符合当前项目。
5.一种模块升级装置,其特征在于,包括:
下载模块,用于通过模块中预设的升级程序下载升级协议包,所述升级协议包包括包头部分和数据部分,所述数据部分包括升级数据;
检测模块,用于检测所述包头部分是否包含升级工具;
第一升级模块,用于若确定所述包头部分包含升级工具,则利用所述升级工具基于所述数据部分中的升级数据对所述模块进行升级;
第二升级模块,用于若确定所述包头部分不包含升级工具,则利用所述升级程序基于所述数据部分中的升级数据对所述模块进行升级。
6.根据权利要求5所述的装置,其特征在于,所述数据部分包括至少一个分区的升级数据,所述第一升级模块或第二升级模块在基于所述数据部分中的升级数据对所述模块进行升级,具体包括:
对所述数据部分进行解析,得到至少一个分区的升级数据;
基于至少一个分区的升级数据对所述模块中的至少一个分区进行升级。
7.根据权利要求5所述的装置,其特征在于,所述装置还包括:
校验模块,用于在检测所述包头部分是否包含升级工具之前,检测所述升级协议包是否符合当前项目;
若确定所述升级协议包符合当前项目,则执行检测所述包头部分是否包含升级工具的步骤;
若确定所述升级协议包不符合当前项目,则执行结束步骤。
8.根据权利要求7所述的装置,其特征在于,所述包头部分包含项目代码,所述校验模块检测所述升级协议包是否符合当前项目,包括:
将所述包头部分包含的项目代码与当前项目的项目代码进行比较;
若比较出所述包头部分包含的项目代码与所述当前项目的项目代码一致,则确定所述升级协议包符合当前项目;
若比较出所述包头部分包含的项目代码与所述当前项目的项目代码不一致,则确定所述升级协议包符合当前项目。
9.一种电子设备,其特征在于,包括:处理器和存储器,所述处理器用于执行所述存储器中存储的模块升级程序,以实现权利要求1-4任一所述的模块升级方法。
10.一种存储介质,其特征在于,所述存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现权利要求1-4任一所述的模块升级方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111614319.XA CN114443088A (zh) | 2021-12-27 | 2021-12-27 | 一种模块升级方法、装置、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111614319.XA CN114443088A (zh) | 2021-12-27 | 2021-12-27 | 一种模块升级方法、装置、电子设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114443088A true CN114443088A (zh) | 2022-05-06 |
Family
ID=81365234
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111614319.XA Pending CN114443088A (zh) | 2021-12-27 | 2021-12-27 | 一种模块升级方法、装置、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114443088A (zh) |
-
2021
- 2021-12-27 CN CN202111614319.XA patent/CN114443088A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6725178B2 (en) | Use of hidden partitions in a storage device for storing BIOS extension files | |
KR100860447B1 (ko) | 선택된 기능성을 갖는 오퍼레이팅 시스템 생성 및 이용을위한 방법 및 시스템 | |
US20100058314A1 (en) | Computer System and Related Method of Logging BIOS Update Operation | |
CN111813428A (zh) | 终端固件的升级方法、装置、电子设备及存储介质 | |
US20060031831A1 (en) | Generic packaging tool for packaging application and component therefor to be installed on computing device | |
US7363632B2 (en) | Clientless external storage device | |
CN106648762B (zh) | 一种搭建开发环境的方法及装置 | |
CN111562934A (zh) | 一种基于热补丁的软件系统升级方法、终端及存储介质 | |
CN107135462B (zh) | Uefi固件的蓝牙配对方法及其计算系统 | |
US20130080751A1 (en) | Method and device for updating bios program for computer system | |
CN115762625A (zh) | 验证eMMC功能的方法、系统、电子设备及存储介质 | |
CN113377586B (zh) | 一种服务器自动化检测方法、装置及存储介质 | |
US8949588B1 (en) | Mobile telephone as bootstrap device | |
US20070157014A1 (en) | Apparatus for remote flashing of a bios memory in a data processing system | |
US7099967B2 (en) | System and method for storing an image file in a computer system | |
CN116820528A (zh) | 固件版本升级方法、装置、芯片和电子设备 | |
CN114443088A (zh) | 一种模块升级方法、装置、电子设备和存储介质 | |
WO2022199622A1 (zh) | 一种电子设备的启动程序的运行方法和电子设备 | |
CN112650513B (zh) | 程序升级方法、装置、计算机设备和存储介质 | |
CN114035813A (zh) | 一种升级方法、装置、设备及存储介质 | |
CN112527371B (zh) | 一种引导加载程序升级方法、装置、电子设备及存储介质 | |
CN107229457B (zh) | 电子控制器的引导加载方法、装置、电子控制器及汽车 | |
CN114237722A (zh) | 一种系统的启动方法、装置、设备及工程车辆 | |
CN113157329A (zh) | 启动应用的方法、系统、服务器和存储介质 | |
Kovacev et al. | Implementation of Disaster recovery agent within Android based set-top box |
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 |