版本文件的运行方法及装置的制造方法

xiaoxiao2020-10-23  14

版本文件的运行方法及装置的制造方法
【技术领域】
[0001]本发明涉及计算机及通信技术领域,具体而言,涉及一种版本文件的运行方法及
>J-U ρ?α装直。
【背景技术】
[0002]为了满足新增功能或者新的需求,产品版本需要升级,并且有可能出现跨平台或跨文件系统的版本升级。比如原来系统采用的是vxWorks的操作系统,为了支持某些新的功能,需要更换为Iinux的操作系统;再比如,由于采用平台的关系,有可能出现新旧版本的文件系统不同的情况。要对这些系统进行软件版本升级,需要确保所有硬件不变的情况下做到:升级前后版本和文件系统里面的所有数据不要丢失;升级动作简单方便,能够支持在线升级;在原有版本已经使用的情况下,不用对老版本进行任何改动,可以直接平滑升级到新的软件版本,新的版本也可以直接平滑回退到老的版本。
[0003]在目前的版本管理中,版本文件和系统数据可以分开保存(版本文件保存到flash上,系统数据保存到文件系统),也可以将版本文件和数据都保存到文件系统里面。不管是哪种保存方式,如果新老版本各自运行不同文件系统,新的系统启动引导程序无法识别老的文件系统,则必须在老系统中先把文件系统中的数据上传到网管服务器或者计算机上,然后升级新的系统启动引导版本。待新的系统启动引导版本启动之后,再从网管服务器或者计算机上获取主版本文件,然后运行主版本,在主版本中恢复之前预先备份的数据。但是,这种方法的缺点在于:新的主版本不能在老的版本中直接升级,必须在新的启动引导软件中升级主版本,操作复杂,不能够满足在线升级;另外,由于新老文件系统不兼容,则数据不能保存,需要提前备份数据到其他服务器上,待新主版本运行之后才能恢复数据,操作复杂,很难满足批量操作;如果新版本要回退到老版本则会遇到升级中遇到的相同的问题。
[0004]在相关技术中,也可以把版本文件和数据临时保存到系统内存或者flash中,在新的启动引导版本中读取内存或者flash中的数据,再重新写入到文件系统中。这种方法的缺点是:由于老版本中保留数据地址与新的启动引导软件中获取数据地址必须一致,因此需要对老版本和新的启动引导软件进行定制化改造,也就是老版本先升级到临时版本,然后再升级到新的版本,操作复杂;同样如果新的版本需要回退到老的版本,同样需要对老的启动引导软件进行改造。

【发明内容】

[0005]针对相关技术中在版本文件进行升级时操作复杂的问题,本发明提供了一种版本文件的运行方法及装置,以至少解决上述问题。
[0006]根据本发明的一个方面,提供了一种版本文件的运行方法,包括:在系统启动引导软件中,识别闪存flash中当前文件系统的文件系统类型,并根据所述文件系统类型初始化文件系统;获取待运行版本文件支持的文件系统类型;根据所述当前文件系统的文件系统类型,以及所述待运行版本文件支持的文件系统类型,判断所述当前文件系统是否支持所述待运行版本文件,如果支持,则运行所述待运行版本文件;否则,读取所述文件系统中的所有文件并保存到内存和/或不受所述文件系统管理的flash中的存储区域,格式化所述文件系统,根据所述待运行版本文件支持的文件系统类型,重新初始化所述文件系统,然后将保存的所述文件保存到所述文件系统中,运行所述待运行版本文件。
[0007]优选地,识别闪存flash中当前文件系统的文件系统类型包括:读取所述当前文件系统的特征结构,根据特征结构与文件系统类型的对应关系,识别所述当前文件系统的文件系统类型。
[0008]优选地,所述待运行版本文件保存在所述文件系统中;获取所述待运行版本文件支持的文件系统类型包括:获取所述待运行版本文件的版本名,根据所述版本名从所述文件系统中读取所述待运行版本文件,从所述待运行版本文件的版本头中读取所述待运行版本文件支持的文件系统类型。
[0009]优选地,所述待运行版本文件保存在所述flash的一个区域;获取所述待运行版本文件支持的文件系统类型包括:通过flash参数区获取所述待运行版本文件保存在flash中的区域,从所述区域中读取所述待运行版本文件,从所述待运行版本文件的版本头中读取所述待运行版本文件支持的文件系统类型。
[0010]优选地,所述待运行版本文件保存在服务器上;获取所述待运行版本文件支持的文件系统类型包括:从所述服务器上获取所述待运行版本文件,从所述待运行版本文件的版本头中读取所述待运行版本文件支持的文件系统类型。
[0011]优选地,所述待运行版本文件保存在主用主控板的文件系统上;获取所述待运行版本文件支持的文件系统类型包括:备用主控板或者线卡通过板间通讯获取所述待运行版本文件,从所述待运行版本文件的版本头中读取所述待运行版本文件支持的文件系统类型。
[0012]优选地,在获取待运行版本文件支持的文件系统类型时,所述方法还包括:获取所述待运行版本文件的版本信息,并对所述待运行版本文件进行校验,如果获取所述待运行版本文件的版本信息失败或者对所述待运行版本文件进行校验失败,则获取备份版本文件,并对所述备份版本文件进行校验,如果校验成功,则将所述备份版本文件设置为待运行版本文件。
[0013]优选地,读取所述文件系统中的所有文件并保存到内存,包括:将所述内存映射为内存文件系统,将所述文件系统中的所有文件拷贝到所述内存文件系统中。
[0014]优选地,读取所述文件系统中的所有文件并保存到内存中,包括:对所述文件系统中的整个文件目录中的文件压缩为映像文件后保存到内存中;将保存到的所述文件保存到所述文件系统中,包括:对所述内存中保存的所述映像文件进行解压缩,然后保存到所述文件系统。
[0015]优选地,所述映像文件保存到固定地址内存中,或者保存到动态内存中。
[0016]优选地,在识别闪存flash中当前文件系统的文件系统类型之前,所述方法还包括:下载新的主版本文件并保存到所述文件系统中,同时升级新的系统启动引导软件版本;激活所述新的主版本文件为待运行版本文件并重启系统。
[0017]根据本发明的另一个方面,提供了一种版本文件的运行装置,包括:识别模块,用于在系统启动引导软件中,识别闪存flash中当前文件系统的文件系统类型;初始化模块,用于根据所述文件系统类型初始化文件系统;获取模块,用于待运行版本文件支持的文件系统类型;判断模块,用于根据所述当前文件系统的文件系统类型,以及所述待运行版本文件支持的文件系统类型,判断所述当前文件系统是否支持所述待运行版本文件,如果支持,则触发执行模块;否则,触发格式化模块;所述格式化模块,用于读取所述文件系统中的所有文件并保存到内存和/或不受所述文件系统管理的flash中的存储区域,格式化所述文件系统,并触发所述初始化模块根据所述待运行版本文件支持的文件系统类型,重新初始化所述文件系统;存储模块,用于在所述初始化模块重新初始化所述文件系统之后,将保存的所述文件保存到所述文件系统中,并触发所述执行模块;所述执行模块,用于运行所述待运行版本文件。
[0018]通过本发明,自动识别当前文件系统和待运行版本文件支持的文件系统类型,在当前文件系统不支持待运行版本文件的情况下,缓存文件系统中的文件,并格式化文件系统,按照待运行版本支持的文件系统类型重新初始化文件系统,再将缓存的数据重新写入到文件系统中,运行待运行版本文件,解决了相关技术中在版本文件进行升级时操作复杂的问题,在新老版本文件运行时能够自动识别文件系统并初始化文件系统,同时又让文 件系统管理的flash区域保存的数据不丢失。
【附图说明】
[0019]此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
[0020]图1是根据本发明实施例的版本文件的运行方法的流程图;
[0021]图2是根据本发明可选实施例的版本文件的运行方法的流程图;
[0022]图3是根据本发明实施例的版本文件的运行装置的结构示意图。
【具体实施方式】
[0023]下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
[0024]由于flash中由文件系统管理的区域的文件系统数据,不同版本使用的文件系统不一样,导致老版本写入文件系统的数据在新版本文件运行时不能识别,从而不能读出老版本文件中保存的数据。同样,新版本文件运行时写入的数据在老版本文件中也不能识别。从而导致在版本升级过程中,升级到新的版本,或者回退到老的版本,所有文件系统里面的数据都无法读出来而丢失。针对该问题,本发明实施例提出了一种版本文件的运行方案,以解决上述问题。
[0025]图1为根据本发明实施例的版本文件的运行方法的流程图,如图1所示,根据本发明实施例的版本文件运行方法主要包括以下步骤:
[0026]步骤S102,在系统启动引导软件中,识别flash中当前文件系统的文件系统类型,并根据所述文件系统类型初始化文件系统;
[0027]由于不同版本文件系统的特征结构不相同,因此,在步骤S102中,识别flash中当前文件系统的文件系统类型可以包括:读取所述当前文件系统的特征结构,根据特征结构与文件系统类型的对应关系,识别所述当前文件系统的文件系统类型。
[0028]当然,并不限于,也可以根据其他信息来确定文件系统的文件系统类型,例如,版本文件的版本信息等,具体不作限定。
[0029]步骤S104,获取待运行版本文件支持的文件系统类型;
[0030]在具体实施过程中,根据待运行版本文件保存的不同位置,步骤S104可以有不同的实施方式。
[0031]例如,如果待运行版本文件保存在所述文件系统中,则获取所述待运行版本文件支持的文件系统类型可以包括:获取所述待运行版本文件的版本名,根据所述版本名从所述文件系统中读取所述待运行版本文件,从所述待运行版本文件的版本头中读取所述待运行版本文件支持的文件系统类型。
[0032]如果待运行版本文件保存在所述flash的一个区域;则获取所述待运行版本文件支持的文件系统类型可以包括:通过flash参数区获取所述待运行版本文件保存在flash中的区域,从所述区域中读取所述待运行版本文件,从所述待运行版本文件的版本头中读取所述待运行版本文件支持的文件系统类型。
[0033]如果待运行版本文件保存在服务器上;则获取所述待运行版本文件支持的文件系统类型可以包括:从所述服务器上获取所述待运行版本文件,从所述待运行版本文件的版本头中读取所述待运行版本文件支持的文件系统类型。
[0034]如果待运行版本文件保存在主用主控板的文件系统上;则获取所述待运行版本文件支持的文件系统类型可以包括:备用主控板或者线卡通过板间通讯获取所述待运行版本文件,从所述待运行版本文件的版本头中读取所述待运行版本文件支持的文件系统类型。
[0035]可选地,为了保证待运行版本文件能够正常运行,在获取待运行版本文件支持的文件系统类型时,所述方法还可以包括:获取所述待运行版本文件的版本信息并对所述待运行版本文件进行校验,如果获取所述待运行版本文件的版本信息失败或者对所述待运行版本文件进行校验失败,则获取备份版本文件,并对所述备份版本文件进行校验,如果校验成功,则将所述备份版本文件设置为待运行版本文件。
[0036]步骤S106,根据所述当前文件系统的文件系统类型,以及所述待运行版本文件支持的文件系统类型,判断所述当前文件系统是否支持所述待运行版本文件,如果支持,则执行步骤S110,否则,执行步骤S108 ;
[0037]步骤S108,读取所述文件系统中的所有文件并保存到内存和/或不受所述文件系统管理的flash中的存储区域,格式化所述文件系统,根据所述待运行版本文件支持的文件系统类型,重新初始化所述文件系统,然后将保存的所述文件保存到所述文件系统中;
[0038]步骤S110,运行所述待运行版本文件。
[0039]在实际应用中,flash中存储的内容大多分两种情况,第一种情况是flash所有区域都由文件系统管理,在这种情况下,将文件系统中的所有文件保存到内存中;第二种情况是flash部分区域由文件系统管理,部分区域还是裸的flash,不受文件系统管理,在这种情况下,可以将文件系统中的所有文件保存到flash中不受文件系统管理的存储区域,或者,也可以将文件系统中的所有文件保存到内存和flash中不受文件系统管理的存储区域。
[0040]如果将文件系统中的所有文件保存到内存中,则在保存时可以将所述内存映射为内存文件系统,将所述文件系统中的所有文件拷贝到所述内存文件系统中。
[0041]或者,也可以将整个文件目录的文件压缩然后进行存储,则读取所述文件系统中的所有文件并保存到内存中可以包括:对所述文件系统中的整个文件目录的文件压缩为映像文件后保存到内存中;而将保存的所述文件保存到所述文件系统中可以包括:对所述内存中保存的所述映像文件进行解压缩,然后保存到所述文件系统。可选地,所述映像文件可以保存到固定地址内存中,或者也可以保存到动态内存中。
[0042]可选地,本发明实施例可以在对文件系统进行升级后执行,则在识别flash中当前文件系统的文件系统类型之前所述方法还可以包括:下载新的主版本文件并保存到所述文件系统中,同时升级新的系统启动引导软件版本;激活所述新的主版本文件为待运行版本文件并重启系统。
[0043]不同版本的文件系统的管理结构是不同的,因此,不同版本的文件系统在flash中存储的数据结构也不一样,如果待运行版本软件不支持某种版本文件系统,则无法读出文件系统里面(即保存在flash)的数据。因此,在本发明实施例中,先根据flash中保存的不同文件系统的数据特点,来自动识别,当前待运行版本是否能够识别flash中的文件系统数据(即当前文件系统是否支持待运行版本文件),如果能识别,则直接运行待运行版本文件,如果不能够识别,把当前文件系统中的数据读到内存(或者未受文件系统管理的flash区域)里面暂存,然后再格式化flash里面受文件系统管理的区域,重新按照新的版本文件里的文件系统类型初始化,再把缓存的数据重新写入到新的文件系统管理的flash区域。从而使得在升级新版本后,新老版本文件运行时能够自动识别文件系统并初始化文件系统,同时又可以保证文件系统管理的flash区域保存的数据不丢失。
[0044]图2是根据本发明可选实施例的版本文件的运行方法的流程图,如图2所示,在该可选实施例中,版本文件的运行方法主要包括以下步骤:
[0045]在步骤201,通过当前版本升级方法和步骤从远程在线下载新的主版本文件并保存到文件系统中,同时升级新的系统启动引导软件版本,激活新的主版本为待运行版本并重启系统。
[0046]其中,新主版本文件的管理方式根据当前系统的版本管理策略而定,如 果系统中flash空间能够支持主备备份版本,则新的主版本文件自动保存为备份版本文件,当新的主版本文件激活为待运行版本之后,老的版本文件自动变为备份版本。这样当新的版本文件升级失败之后,老的版本文件仍然存在,可以重新激活老的版本文件,从而实现版本回退功能。如果系统中不仅仅包括主版本文件和系统引导软件版本文件,还有其他软件版本,比如固件版本等,则这些版本是否升级根据它们本身是否有升级需要来确定,跟当前主版本的文件系统是哪种类型以及主版本是否升级回退没有关联。
[0047]步骤202,在系统启动引导软件版本中通过读取当前文件系统区的特定结构,自动识别原版本运行的文件系统类型,并进行文件系统初始化操作。
[0048]步骤203,首先通过保存在文件系统的act.tx获取待运行版本的文件名,通过文件名从文件系统中读取待运行版本的版本头和版本内容,待运行版本头里面保存有数据长度和版本异或校验和,通过这些信息可以对待运行版本进行校验。
[0049]在步骤203中,如果act.tx读取失败,或者act.txt里面保存的待运行版本名不存在,或者待运行版本内容校验失败,则从主版本文件目录里面从新寻找备份版本文件,备份版本文件校验成功,则设置备份版本文件为待运行版本文件,并保存备份版本文件名到act.txt文件中。
[0050]步骤204,从待运行版本头里面获取该版本支持的文件系统类型,通过和在步骤202中自动识别的文件系统类型进行比较,判断当前文件系统是否不支持待运行版本(即判断待运行版本是否能够运行在当前文件系统上),如果支持则执行步骤208,否则,执行步骤205。
[0051]步骤205,通过Izma等压缩工具对当前文件系统整个目录(包括待运行版本文件)全部压缩为映像文件,这样操作具有通用性,不需要关注文件系统中哪些目录下的哪些重要文件需要保存,同时在步骤207中从内存中恢复到文件系统中时,新文件系统中的目录也可以完全和老文件系统中的目录保持一致。该模块移植到其他项目也很方便。
[0052]在步骤205中,原有整个文件目录映像总共32M,经过Izma工具压缩后只占用几M的内存空间,这样系统内存完全能够满足保存文件目录映像文件的需要。
[0053]步骤206,根据步骤203中获取待运行版本支持的文件系统类型,重新格式化文件系统,并初始化文件系统。文件系统格式化操作可以采用低级格式化flash的方式,这样格式化比较彻底。
[0054]步骤207,从内存中获取文件目录映像文件,通过Izma解压缩工具解压之后直接保存到新的文件系统中,待运行版本也保存到文件系统中。
[0055]步骤208,运行待运行版本。
[0056]如果要进行版本回退工作,重复上面的步骤201至208步骤就可以了,但需要注意的是,步骤201中是不需要升级系统启动引导软件版本,本发明实施例中使用的系统启动引导软件版本同时支持两种文件系统,从而可以保证运行两种文件系统的主版本。
[0057]综上所述,依照本发明的跨文件系统版本在线升级的方法,通过自动识别文件系统类型,并把针对待运行版本不能在当前文件系统运行的情况,先把所有文件暂时保存到内存,然后根据待运行版本所需要的文件系统类型,从新格式化并初始化文件系统,同时恢复暂存在内存中的文件数据到文件系统,从而在内存和flash资源有限的情况下实现了跨文件系统版本的在线升级、回退,数据自动保存,升级操作没有限制,提高了升级速度,减少了人为操作,改善了用户满意度。
[0058]根据本发明实施例,还提供了一种版本文件的运行装置,该装置可以用于实现上述方法。
[0059]图3为根据本发明实施例的版本文件的运行装置的结构示意图,如图3所示,该装置主要包括:识别模块310、初始化模块320、获取模块330、判断模块340、格式化模块350、存储模块360和执行模块370。其中,识别模块310,用于在系统启动引导软件中,识别闪存flash中当前文件系统的文件系统类型;初始化模块320,用于根据所述文件系统类型初始化文件系统;获取模块330,用于获取待运行版本文件支持的文件系统类型;判断模块340,用于根据所述当前文件系统的文件系统类型,以及所述待运行版本文件支持的文件系统类型,判断所述当前文件系统是否支持所述待运行版本文件,如果支持,则触发执行模块370 ;否则,触发格式化模块350 ;所述格式化模块340,用于读取所述文件系统中的所有文件并保存到内存和/或不受所述文件系统管理的flash中的存储区域,格式化所述文件系统,并触发所述初始化模块320根据所述待运行版本文件支持的文件系统类型,重新初始化所述文件系统;存储模块360,用于在所述初始化模块320重新初始化所述文件系统之后,将保存的所述文件保存到所述文件系统中,并触发所述执行模块370;所述执行模块370,用于运行所述待运行版本文件。
[0060]由于不同版本文件系统的特征结构不相同,因此,识别模块310可以通过以下方式识别所述当前文件系统的文件系统类型:读取所述当前文件系统的特征结构,根据特征结构与文件系统类型的对应关系,识别所述当前文件系统的文件系统类型。
[0061]在具体实施过程中,根据待运行版本文件保存的不同位置,获取模块330可以按照以下方式获取待运行版本文件支持的文件系统类型:
[0062](I)如果待运行版本文件保存在所述文件系统中,则获取所述待运行版本文件的版本名,根据所述版本名从所述文件系统中读取所述待运行版本文件,从所述待运行版本文件的版本头中读取所述待运行版本文件支持的文件系统类型;
[0063](2)如果待运行版本文件保存在所述flash的一个区域;则通过flash参数区获取所述待运行版本文件保存在flash中的区域,从所述区域中读取所述待运行版本文件,从所述待运行版本文件的版本头中读取所述待运行版本文件支持的文件系统类型;
[0064](3)如果待运行版本文件保存在服务器上;则从所述服务器上获取所述待运行版本文件,从所述待运行版本文件的版本头中读取所述待运行版本文件支持的文件系统类型;
[0065](4)如果待运行版本文件保存在主用主控板的文件系统上;则备用主控板或者线卡通过板间通讯获取所述待运行版本文件,从所述待运行版本文件的版本头中读取所述待运行版本文件支持的文件系统类型。
[0066]可选地,为了保证待运行版本文件能够正常运行,在获取待运行版本文件支持的文件系统类型时,所述装置还可以包括:设置模块,用于获取所述待运行版本文件的版本信息并对所述待运行版本文件进行校验,如果获取所述待运行版本文件的版本信息失败或者对所述待运行版本文件进行校验失败,则获取备份版本文件,并对所述备份版本文件进行校验,如果校验成功,则将所述备份版本文件设置为待运行版本文件。
[0067]在实际应用中,flash中存储的内容大多分两种情况,第一种情况是flash所有区域都由文件系统管理,在这种情况下,将文件系统中的所有文件保存到内存中;第二种情况是flash部分区域由文件系统管理,部分区域还是裸的flash,不受文件系统管理,在这种情况下,可以将文件系统中的所有文件保存到flash中不受文件系统管理的存储区域,或者,也可以将文件系统中的所有文件保存到内存和flash中不受文件系统管理的存储区域。
[0068]如果格式化模块340将文件系统中的所有文件保存到内存中,则格式化模块340在保存时可以将所述内存映射为内存文 件系统,将所述文件系统中的所有文件拷贝到所述内存文件系统中。
[0069]或者,也可以将整个文件目录的文件压缩然后进行存储,则格式化模块340在读取所述文件系统中的所有文件并保存到内存中可以通过以下方式实施:对所述文件系统中的整个文件目录的文件压缩为映像文件后保存到内存中;而存储模块360将保存的所述文件保存到所述文件系统中可以通过以下方式实施:对所述内存中保存的所述映像文件进行解压缩,然后保存到所述文件系统。可选地,所述映像文件可以保存到固定地址内存中,或者也可以保存到动态内存中。
[0070]可选地,本发明实施例可以在对文件系统进行升级后执行,则所述装置还可以包括:下载模块,用于下载新的主版本文件并保存到所述文件系统中,同时升级新的系统启动引导软件版本;激活模块,用于激活所述新的主版本文件为待运行版本文件并重启系统。
[0071]显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
[0072]以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【主权项】
1.一种版本文件的运行方法,其特征在于,包括: 在系统启动引导软件中,识别闪存flash中当前文件系统的文件系统类型,并根据所述文件系统类型初始化文件系统; 获取待运行版本文件支持的文件系统类型; 根据所述当前文件系统的文件系统类型,以及所述待运行版本文件支持的文件系统类型,判断所述当前文件系统是否支持所述待运行版本文件,如果支持,则运行所述待运行版本文件;否则, 读取所述文件系统中的所有文件并保存到内存和/或不受所述文件系统管理的flash中的存储区域,格式化所述文件系统,根据所述待运行版本文件支持的文件系统类型,重新初始化所述文件系统,然后将保存的所述文件保存到所述文件系统中,运行所述待运行版本文件。2.根据权利要求1所述的方法,其特征在于,识别闪存flash中当前文件系统的文件系统类型包括: 读取所述当前文件系统的特征结构,根据特征结构与文件系统类型的对应关系,识别所述当前文件系统的文件系统类型。3.根据权利要求1所述的方法,其特征在于, 所述待运行版本文件保存在所述文件系统中; 获取所述待运行版本文件支持的文件系统类型包括:获取所述待运行版本文件的版本名,根据所述版本名从所述文件系统中读取所述待运行版本文件,从所述待运行版本文件的版本头中读取所述待运行版本文件支持的文件系统类型。4.根据权利要求1所述的方法,其特征在于, 所述待运行版本文件保存在所述flash的一个区域; 获取所述待运行版本文件支持的文件系统类型包括:通过flash参数区获取所述待运行版本文件保存在flash中的区域,从所述区域中读取所述待运行版本文件,从所述待运行版本文件的版本头中读取所述待运行版本文件支持的文件系统类型。5.根据权利要求1所述的方法,其特征在于 所述待运行版本文件保存在服务器上; 获取所述待运行版本文件支持的文件系统类型包括:从所述服务器上获取所述待运行版本文件,从所述待运行版本文件的版本头中读取所述待运行版本文件支持的文件系统类型。6.根据权利要求1所述的方法,其特征在于, 所述待运行版本文件保存在主用主控板的文件系统上; 获取所述待运行版本文件支持的文件系统类型包括:备用主控板或者线卡通过板间通讯获取所述待运行版本文件,从所述待运行版本文件的版本头中读取所述待运行版本文件支持的文件系统类型。7.根据权利要求1所述的方法,其特征在于,在获取待运行版本文件支持的文件系统类型时,所述方法还包括:获取所述待运行版本文件的版本信息,并对所述待运行版本文件进行校验,如果获取所述待运行版本文件的版本信息失败或者对所述待运行版本文件进行校验失败,则获取备份版本文件,并对所述备份版本文件进行校验,如果校验成功,则将所述备份版本文件设置为待运行版本文件。8.根据权利要求1所述的方法,其特征在于,读取所述文件系统中的所有文件并保存到内存,包括:将所述内存映射为内存文件系统,将所述文件系统中的所有文件拷贝到所述内存文件系统中。9.根据权利要求1所述的方法,其特征在于, 读取所述文件系统中的所有文件并保存到内存中,包括:对所述文件系统中的整个文件目录中的文件压缩为映像文件后保存到内存中; 将保存到的所述文件保存到所述文件系统中,包括:对所述内存中保存的所述映像文件进行解压缩,然后保存到所述文件系统。10.根据权利要求9所述的方法,其特征在于,所述映像文件保存到固定地址内存中,或者保存到动态内存中。11.根据权利要求1至10中任一项所述的方法,其特征在于,在识别闪存flash中当前文件系统的文件系统类型之前,所述方法还包括: 下载新的主版本文件并保存到所述文件系统中,同时升级新的系统启动引导软件版本; 激活所述新的主版本文件为待运行版本文件并重启系统。12.—种版本文件的运行装置,其特征在于,包括: 识别模块,用于在系统启动引导软件中,识别闪存flash中当前文件系统的文件系统类型; 初始化模块,用于根据所述文件系统类型初始化文件系统; 获取模块,用于待运行版本文件支持的文件系统类型; 判断模块,用于根据所述当前文件系统的文件系统类型,以及所述待运行版本文件支持的文件系统类型,判断所述当前文件系统是否支持所述待运行版本文件,如果支持,则触发执行模块;否则,触发格式化模块; 所述格式化模块,用于读取所述文件系统中的所有文件并保存到内存和/或不受所述文件系统管理的flash中的存储区域,格式化所述文件系统,并触发所述初始化模块根据所述待运行版本文件支持的文件系统类型,重新初始化所述文件系统; 存储模块,用于在所述初始化模块重新初始化所述文件系统之后,将保存的所述文件保存到所述文件系统中,并触发所述执行模块; 所述执行模块,用于运行所述待运行版本文件。
【专利摘要】本发明公开了一种版本文件的运行方法及装置。其中,该方法包括:在系统启动引导软件中,识别闪存flash中当前文件系统的文件系统类型,并根据文件系统类型初始化文件系统;获取待运行版本文件支持的文件系统类型;根据当前文件系统的文件系统类型,以及待运行版本文件支持的文件系统类型,判断当前文件系统是否支持待运行版本文件,如果支持,则运行待运行版本文件;否则,读取文件系统中的所有文件并保存到内存和/或不受文件系统管理的flash中的存储区域,格式化文件系统,根据待运行版本文件支持的文件系统类型,重新初始化文件系统,然后将保存的文件保存到文件系统中,运行待运行版本文件。
【IPC分类】G06F21/57
【公开号】CN104881604
【申请号】CN201410068981
【发明人】于光波
【申请人】中兴通讯股份有限公司
【公开日】2015年9月2日
【申请日】2014年2月27日
【公告号】WO2015127730A1
转载请注明原文地址:https://www.famiwei.com/read-8138472.html

最新回复(0)