CN104881604A - 版本文件的运行方法及装置 - Google Patents
版本文件的运行方法及装置 Download PDFInfo
- Publication number
- CN104881604A CN104881604A CN201410068981.3A CN201410068981A CN104881604A CN 104881604 A CN104881604 A CN 104881604A CN 201410068981 A CN201410068981 A CN 201410068981A CN 104881604 A CN104881604 A CN 104881604A
- Authority
- CN
- China
- Prior art keywords
- file
- file system
- version
- run
- wait
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- 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
- G06F8/654—Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/1873—Versioning file systems, temporal file systems, e.g. file system supporting different historic versions of files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- 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
- G06F8/656—Updates while running
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4406—Loading of operating system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2206/00—Indexing scheme related to dedicated interfaces for computers
- G06F2206/10—Indexing scheme related to storage interfaces for computers, indexing schema related to group G06F3/06
- G06F2206/1014—One time programmable [OTP] memory, e.g. PROM, WORM
Abstract
本发明公开了一种版本文件的运行方法及装置。其中,该方法包括:在系统启动引导软件中,识别闪存flash中当前文件系统的文件系统类型,并根据文件系统类型初始化文件系统;获取待运行版本文件支持的文件系统类型;根据当前文件系统的文件系统类型,以及待运行版本文件支持的文件系统类型,判断当前文件系统是否支持待运行版本文件,如果支持,则运行待运行版本文件;否则,读取文件系统中的所有文件并保存到内存和/或不受文件系统管理的flash中的存储区域,格式化文件系统,根据待运行版本文件支持的文件系统类型,重新初始化文件系统,然后将保存的文件保存到文件系统中,运行待运行版本文件。
Description
技术领域
本发明涉及计算机及通信技术领域,具体而言,涉及一种版本文件的运行方法及装置。
背景技术
为了满足新增功能或者新的需求,产品版本需要升级,并且有可能出现跨平台或跨文件系统的版本升级。比如原来系统采用的是vxWorks的操作系统,为了支持某些新的功能,需要更换为linux的操作系统;再比如,由于采用平台的关系,有可能出现新旧版本的文件系统不同的情况。要对这些系统进行软件版本升级,需要确保所有硬件不变的情况下做到:升级前后版本和文件系统里面的所有数据不要丢失;升级动作简单方便,能够支持在线升级;在原有版本已经使用的情况下,不用对老版本进行任何改动,可以直接平滑升级到新的软件版本,新的版本也可以直接平滑回退到老的版本。
在目前的版本管理中,版本文件和系统数据可以分开保存(版本文件保存到flash上,系统数据保存到文件系统),也可以将版本文件和数据都保存到文件系统里面。不管是哪种保存方式,如果新老版本各自运行不同文件系统,新的系统启动引导程序无法识别老的文件系统,则必须在老系统中先把文件系统中的数据上传到网管服务器或者计算机上,然后升级新的系统启动引导版本。待新的系统启动引导版本启动之后,再从网管服务器或者计算机上获取主版本文件,然后运行主版本,在主版本中恢复之前预先备份的数据。但是,这种方法的缺点在于:新的主版本不能在老的版本中直接升级,必须在新的启动引导软件中升级主版本,操作复杂,不能够满足在线升级;另外,由于新老文件系统不兼容,则数据不能保存,需要提前备份数据到其他服务器上,待新主版本运行之后才能恢复数据,操作复杂,很难满足批量操作;如果新版本要回退到老版本则会遇到升级中遇到的相同的问题。
在相关技术中,也可以把版本文件和数据临时保存到系统内存或者flash中,在新的启动引导版本中读取内存或者flash中的数据,再重新写入到文件系统中。这种方法的缺点是:由于老版本中保留数据地址与新的启动引导软件中获取数据地址必须一致,因此需要对老版本和新的启动引导软件进行定制化改造,也就是老版本先升级到临时版本,然后再升级到新的版本,操作复杂;同样如果新的版本需要回退到老的版本,同样需要对老的启动引导软件进行改造。
发明内容
针对相关技术中在版本文件进行升级时操作复杂的问题,本发明提供了一种版本文件的运行方法及装置,以至少解决上述问题。
根据本发明的一个方面,提供了一种版本文件的运行方法,包括:在系统启动引导软件中,识别闪存flash中当前文件系统的文件系统类型,并根据所述文件系统类型初始化文件系统;获取待运行版本文件支持的文件系统类型;根据所述当前文件系统的文件系统类型,以及所述待运行版本文件支持的文件系统类型,判断所述当前文件系统是否支持所述待运行版本文件,如果支持,则运行所述待运行版本文件;否则,读取所述文件系统中的所有文件并保存到内存和/或不受所述文件系统管理的flash中的存储区域,格式化所述文件系统,根据所述待运行版本文件支持的文件系统类型,重新初始化所述文件系统,然后将保存的所述文件保存到所述文件系统中,运行所述待运行版本文件。
优选地,识别闪存flash中当前文件系统的文件系统类型包括:读取所述当前文件系统的特征结构,根据特征结构与文件系统类型的对应关系,识别所述当前文件系统的文件系统类型。
优选地,所述待运行版本文件保存在所述文件系统中;获取所述待运行版本文件支持的文件系统类型包括:获取所述待运行版本文件的版本名,根据所述版本名从所述文件系统中读取所述待运行版本文件,从所述待运行版本文件的版本头中读取所述待运行版本文件支持的文件系统类型。
优选地,所述待运行版本文件保存在所述flash的一个区域;获取所述待运行版本文件支持的文件系统类型包括:通过flash参数区获取所述待运行版本文件保存在flash中的区域,从所述区域中读取所述待运行版本文件,从所述待运行版本文件的版本头中读取所述待运行版本文件支持的文件系统类型。
优选地,所述待运行版本文件保存在服务器上;获取所述待运行版本文件支持的文件系统类型包括:从所述服务器上获取所述待运行版本文件,从所述待运行版本文件的版本头中读取所述待运行版本文件支持的文件系统类型。
优选地,所述待运行版本文件保存在主用主控板的文件系统上;获取所述待运行版本文件支持的文件系统类型包括:备用主控板或者线卡通过板间通讯获取所述待运行版本文件,从所述待运行版本文件的版本头中读取所述待运行版本文件支持的文件系统类型。
优选地,在获取待运行版本文件支持的文件系统类型时,所述方法还包括:获取所述待运行版本文件的版本信息,并对所述待运行版本文件进行校验,如果获取所述待运行版本文件的版本信息失败或者对所述待运行版本文件进行校验失败,则获取备份版本文件,并对所述备份版本文件进行校验,如果校验成功,则将所述备份版本文件设置为待运行版本文件。
优选地,读取所述文件系统中的所有文件并保存到内存,包括:将所述内存映射为内存文件系统,将所述文件系统中的所有文件拷贝到所述内存文件系统中。
优选地,读取所述文件系统中的所有文件并保存到内存中,包括:对所述文件系统中的整个文件目录中的文件压缩为映像文件后保存到内存中;将保存到的所述文件保存到所述文件系统中,包括:对所述内存中保存的所述映像文件进行解压缩,然后保存到所述文件系统。
优选地,所述映像文件保存到固定地址内存中,或者保存到动态内存中。
优选地,在识别闪存flash中当前文件系统的文件系统类型之前,所述方法还包括:下载新的主版本文件并保存到所述文件系统中,同时升级新的系统启动引导软件版本;激活所述新的主版本文件为待运行版本文件并重启系统。
根据本发明的另一个方面,提供了一种版本文件的运行装置,包括:识别模块,用于在系统启动引导软件中,识别闪存flash中当前文件系统的文件系统类型;初始化模块,用于根据所述文件系统类型初始化文件系统;获取模块,用于待运行版本文件支持的文件系统类型;判断模块,用于根据所述当前文件系统的文件系统类型,以及所述待运行版本文件支持的文件系统类型,判断所述当前文件系统是否支持所述待运行版本文件,如果支持,则触发执行模块;否则,触发格式化模块;所述格式化模块,用于读取所述文件系统中的所有文件并保存到内存和/或不受所述文件系统管理的flash中的存储区域,格式化所述文件系统,并触发所述初始化模块根据所述待运行版本文件支持的文件系统类型,重新初始化所述文件系统;存储模块,用于在所述初始化模块重新初始化所述文件系统之后,将保存的所述文件保存到所述文件系统中,并触发所述执行模块;所述执行模块,用于运行所述待运行版本文件。
通过本发明,自动识别当前文件系统和待运行版本文件支持的文件系统类型,在当前文件系统不支持待运行版本文件的情况下,缓存文件系统中的文件,并格式化文件系统,按照待运行版本支持的文件系统类型重新初始化文件系统,再将缓存的数据重新写入到文件系统中,运行待运行版本文件,解决了相关技术中在版本文件进行升级时操作复杂的问题,在新老版本文件运行时能够自动识别文件系统并初始化文件系统,同时又让文件系统管理的flash区域保存的数据不丢失。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的版本文件的运行方法的流程图;
图2是根据本发明可选实施例的版本文件的运行方法的流程图;
图3是根据本发明实施例的版本文件的运行装置的结构示意图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
由于flash中由文件系统管理的区域的文件系统数据,不同版本使用的文件系统不一样,导致老版本写入文件系统的数据在新版本文件运行时不能识别,从而不能读出老版本文件中保存的数据。同样,新版本文件运行时写入的数据在老版本文件中也不能识别。从而导致在版本升级过程中,升级到新的版本,或者回退到老的版本,所有文件系统里面的数据都无法读出来而丢失。针对该问题,本发明实施例提出了一种版本文件的运行方案,以解决上述问题。
图1为根据本发明实施例的版本文件的运行方法的流程图,如图1所示,根据本发明实施例的版本文件运行方法主要包括以下步骤:
步骤S102,在系统启动引导软件中,识别flash中当前文件系统的文件系统类型,并根据所述文件系统类型初始化文件系统;
由于不同版本文件系统的特征结构不相同,因此,在步骤S102中,识别flash中当前文件系统的文件系统类型可以包括:读取所述当前文件系统的特征结构,根据特征结构与文件系统类型的对应关系,识别所述当前文件系统的文件系统类型。
当然,并不限于,也可以根据其他信息来确定文件系统的文件系统类型,例如,版本文件的版本信息等,具体不作限定。
步骤S104,获取待运行版本文件支持的文件系统类型;
在具体实施过程中,根据待运行版本文件保存的不同位置,步骤S104可以有不同的实施方式。
例如,如果待运行版本文件保存在所述文件系统中,则获取所述待运行版本文件支持的文件系统类型可以包括:获取所述待运行版本文件的版本名,根据所述版本名从所述文件系统中读取所述待运行版本文件,从所述待运行版本文件的版本头中读取所述待运行版本文件支持的文件系统类型。
如果待运行版本文件保存在所述flash的一个区域;则获取所述待运行版本文件支持的文件系统类型可以包括:通过flash参数区获取所述待运行版本文件保存在flash中的区域,从所述区域中读取所述待运行版本文件,从所述待运行版本文件的版本头中读取所述待运行版本文件支持的文件系统类型。
如果待运行版本文件保存在服务器上;则获取所述待运行版本文件支持的文件系统类型可以包括:从所述服务器上获取所述待运行版本文件,从所述待运行版本文件的版本头中读取所述待运行版本文件支持的文件系统类型。
如果待运行版本文件保存在主用主控板的文件系统上;则获取所述待运行版本文件支持的文件系统类型可以包括:备用主控板或者线卡通过板间通讯获取所述待运行版本文件,从所述待运行版本文件的版本头中读取所述待运行版本文件支持的文件系统类型。
可选地,为了保证待运行版本文件能够正常运行,在获取待运行版本文件支持的文件系统类型时,所述方法还可以包括:获取所述待运行版本文件的版本信息并对所述待运行版本文件进行校验,如果获取所述待运行版本文件的版本信息失败或者对所述待运行版本文件进行校验失败,则获取备份版本文件,并对所述备份版本文件进行校验,如果校验成功,则将所述备份版本文件设置为待运行版本文件。
步骤S106,根据所述当前文件系统的文件系统类型,以及所述待运行版本文件支持的文件系统类型,判断所述当前文件系统是否支持所述待运行版本文件,如果支持,则执行步骤S110,否则,执行步骤S108;
步骤S108,读取所述文件系统中的所有文件并保存到内存和/或不受所述文件系统管理的flash中的存储区域,格式化所述文件系统,根据所述待运行版本文件支持的文件系统类型,重新初始化所述文件系统,然后将保存的所述文件保存到所述文件系统中;
步骤S110,运行所述待运行版本文件。
在实际应用中,flash中存储的内容大多分两种情况,第一种情况是flash所有区域都由文件系统管理,在这种情况下,将文件系统中的所有文件保存到内存中;第二种情况是flash部分区域由文件系统管理,部分区域还是裸的flash,不受文件系统管理,在这种情况下,可以将文件系统中的所有文件保存到flash中不受文件系统管理的存储区域,或者,也可以将文件系统中的所有文件保存到内存和flash中不受文件系统管理的存储区域。
如果将文件系统中的所有文件保存到内存中,则在保存时可以将所述内存映射为内存文件系统,将所述文件系统中的所有文件拷贝到所述内存文件系统中。
或者,也可以将整个文件目录的文件压缩然后进行存储,则读取所述文件系统中的所有文件并保存到内存中可以包括:对所述文件系统中的整个文件目录的文件压缩为映像文件后保存到内存中;而将保存的所述文件保存到所述文件系统中可以包括:对所述内存中保存的所述映像文件进行解压缩,然后保存到所述文件系统。可选地,所述映像文件可以保存到固定地址内存中,或者也可以保存到动态内存中。
可选地,本发明实施例可以在对文件系统进行升级后执行,则在识别flash中当前文件系统的文件系统类型之前所述方法还可以包括:下载新的主版本文件并保存到所述文件系统中,同时升级新的系统启动引导软件版本;激活所述新的主版本文件为待运行版本文件并重启系统。
不同版本的文件系统的管理结构是不同的,因此,不同版本的文件系统在flash中存储的数据结构也不一样,如果待运行版本软件不支持某种版本文件系统,则无法读出文件系统里面(即保存在flash)的数据。因此,在本发明实施例中,先根据flash中保存的不同文件系统的数据特点,来自动识别,当前待运行版本是否能够识别flash中的文件系统数据(即当前文件系统是否支持待运行版本文件),如果能识别,则直接运行待运行版本文件,如果不能够识别,把当前文件系统中的数据读到内存(或者未受文件系统管理的flash区域)里面暂存,然后再格式化flash里面受文件系统管理的区域,重新按照新的版本文件里的文件系统类型初始化,再把缓存的数据重新写入到新的文件系统管理的flash区域。从而使得在升级新版本后,新老版本文件运行时能够自动识别文件系统并初始化文件系统,同时又可以保证文件系统管理的flash区域保存的数据不丢失。
图2是根据本发明可选实施例的版本文件的运行方法的流程图,如图2所示,在该可选实施例中,版本文件的运行方法主要包括以下步骤:
在步骤201,通过当前版本升级方法和步骤从远程在线下载新的主版本文件并保存到文件系统中,同时升级新的系统启动引导软件版本,激活新的主版本为待运行版本并重启系统。
其中,新主版本文件的管理方式根据当前系统的版本管理策略而定,如果系统中flash空间能够支持主备备份版本,则新的主版本文件自动保存为备份版本文件,当新的主版本文件激活为待运行版本之后,老的版本文件自动变为备份版本。这样当新的版本文件升级失败之后,老的版本文件仍然存在,可以重新激活老的版本文件,从而实现版本回退功能。如果系统中不仅仅包括主版本文件和系统引导软件版本文件,还有其他软件版本,比如固件版本等,则这些版本是否升级根据它们本身是否有升级需要来确定,跟当前主版本的文件系统是哪种类型以及主版本是否升级回退没有关联。
步骤202,在系统启动引导软件版本中通过读取当前文件系统区的特定结构,自动识别原版本运行的文件系统类型,并进行文件系统初始化操作。
步骤203,首先通过保存在文件系统的act.tx获取待运行版本的文件名,通过文件名从文件系统中读取待运行版本的版本头和版本内容,待运行版本头里面保存有数据长度和版本异或校验和,通过这些信息可以对待运行版本进行校验。
在步骤203中,如果act.tx读取失败,或者act.txt里面保存的待运行版本名不存在,或者待运行版本内容校验失败,则从主版本文件目录里面从新寻找备份版本文件,备份版本文件校验成功,则设置备份版本文件为待运行版本文件,并保存备份版本文件名到act.txt文件中。
步骤204,从待运行版本头里面获取该版本支持的文件系统类型,通过和在步骤202中自动识别的文件系统类型进行比较,判断当前文件系统是否不支持待运行版本(即判断待运行版本是否能够运行在当前文件系统上),如果支持则执行步骤208,否则,执行步骤205。
步骤205,通过lzma等压缩工具对当前文件系统整个目录(包括待运行版本文件)全部压缩为映像文件,这样操作具有通用性,不需要关注文件系统中哪些目录下的哪些重要文件需要保存,同时在步骤207中从内存中恢复到文件系统中时,新文件系统中的目录也可以完全和老文件系统中的目录保持一致。该模块移植到其他项目也很方便。
在步骤205中,原有整个文件目录映像总共32M,经过lzma工具压缩后只占用几M的内存空间,这样系统内存完全能够满足保存文件目录映像文件的需要。
步骤206,根据步骤203中获取待运行版本支持的文件系统类型,重新格式化文件系统,并初始化文件系统。文件系统格式化操作可以采用低级格式化flash的方式,这样格式化比较彻底。
步骤207,从内存中获取文件目录映像文件,通过lzma解压缩工具解压之后直接保存到新的文件系统中,待运行版本也保存到文件系统中。
步骤208,运行待运行版本。
如果要进行版本回退工作,重复上面的步骤201至208步骤就可以了,但需要注意的是,步骤201中是不需要升级系统启动引导软件版本,本发明实施例中使用的系统启动引导软件版本同时支持两种文件系统,从而可以保证运行两种文件系统的主版本。
综上所述,依照本发明的跨文件系统版本在线升级的方法,通过自动识别文件系统类型,并把针对待运行版本不能在当前文件系统运行的情况,先把所有文件暂时保存到内存,然后根据待运行版本所需要的文件系统类型,从新格式化并初始化文件系统,同时恢复暂存在内存中的文件数据到文件系统,从而在内存和flash资源有限的情况下实现了跨文件系统版本的在线升级、回退,数据自动保存,升级操作没有限制,提高了升级速度,减少了人为操作,改善了用户满意度。
根据本发明实施例,还提供了一种版本文件的运行装置,该装置可以用于实现上述方法。
图3为根据本发明实施例的版本文件的运行装置的结构示意图,如图3所示,该装置主要包括:识别模块310、初始化模块320、获取模块330、判断模块340、格式化模块350、存储模块360和执行模块370。其中,识别模块310,用于在系统启动引导软件中,识别闪存flash中当前文件系统的文件系统类型;初始化模块320,用于根据所述文件系统类型初始化文件系统;获取模块330,用于获取待运行版本文件支持的文件系统类型;判断模块340,用于根据所述当前文件系统的文件系统类型,以及所述待运行版本文件支持的文件系统类型,判断所述当前文件系统是否支持所述待运行版本文件,如果支持,则触发执行模块370;否则,触发格式化模块350;所述格式化模块340,用于读取所述文件系统中的所有文件并保存到内存和/或不受所述文件系统管理的flash中的存储区域,格式化所述文件系统,并触发所述初始化模块320根据所述待运行版本文件支持的文件系统类型,重新初始化所述文件系统;存储模块360,用于在所述初始化模块320重新初始化所述文件系统之后,将保存的所述文件保存到所述文件系统中,并触发所述执行模块370;所述执行模块370,用于运行所述待运行版本文件。
由于不同版本文件系统的特征结构不相同,因此,识别模块310可以通过以下方式识别所述当前文件系统的文件系统类型:读取所述当前文件系统的特征结构,根据特征结构与文件系统类型的对应关系,识别所述当前文件系统的文件系统类型。
在具体实施过程中,根据待运行版本文件保存的不同位置,获取模块330可以按照以下方式获取待运行版本文件支持的文件系统类型:
(1)如果待运行版本文件保存在所述文件系统中,则获取所述待运行版本文件的版本名,根据所述版本名从所述文件系统中读取所述待运行版本文件,从所述待运行版本文件的版本头中读取所述待运行版本文件支持的文件系统类型;
(2)如果待运行版本文件保存在所述flash的一个区域;则通过flash参数区获取所述待运行版本文件保存在flash中的区域,从所述区域中读取所述待运行版本文件,从所述待运行版本文件的版本头中读取所述待运行版本文件支持的文件系统类型;
(3)如果待运行版本文件保存在服务器上;则从所述服务器上获取所述待运行版本文件,从所述待运行版本文件的版本头中读取所述待运行版本文件支持的文件系统类型;
(4)如果待运行版本文件保存在主用主控板的文件系统上;则备用主控板或者线卡通过板间通讯获取所述待运行版本文件,从所述待运行版本文件的版本头中读取所述待运行版本文件支持的文件系统类型。
可选地,为了保证待运行版本文件能够正常运行,在获取待运行版本文件支持的文件系统类型时,所述装置还可以包括:设置模块,用于获取所述待运行版本文件的版本信息并对所述待运行版本文件进行校验,如果获取所述待运行版本文件的版本信息失败或者对所述待运行版本文件进行校验失败,则获取备份版本文件,并对所述备份版本文件进行校验,如果校验成功,则将所述备份版本文件设置为待运行版本文件。
在实际应用中,flash中存储的内容大多分两种情况,第一种情况是flash所有区域都由文件系统管理,在这种情况下,将文件系统中的所有文件保存到内存中;第二种情况是flash部分区域由文件系统管理,部分区域还是裸的flash,不受文件系统管理,在这种情况下,可以将文件系统中的所有文件保存到flash中不受文件系统管理的存储区域,或者,也可以将文件系统中的所有文件保存到内存和flash中不受文件系统管理的存储区域。
如果格式化模块340将文件系统中的所有文件保存到内存中,则格式化模块340在保存时可以将所述内存映射为内存文件系统,将所述文件系统中的所有文件拷贝到所述内存文件系统中。
或者,也可以将整个文件目录的文件压缩然后进行存储,则格式化模块340在读取所述文件系统中的所有文件并保存到内存中可以通过以下方式实施:对所述文件系统中的整个文件目录的文件压缩为映像文件后保存到内存中;而存储模块360将保存的所述文件保存到所述文件系统中可以通过以下方式实施:对所述内存中保存的所述映像文件进行解压缩,然后保存到所述文件系统。可选地,所述映像文件可以保存到固定地址内存中,或者也可以保存到动态内存中。
可选地,本发明实施例可以在对文件系统进行升级后执行,则所述装置还可以包括:下载模块,用于下载新的主版本文件并保存到所述文件系统中,同时升级新的系统启动引导软件版本;激活模块,用于激活所述新的主版本文件为待运行版本文件并重启系统。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (12)
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中的存储区域,格式化所述文件系统,并触发所述初始化模块根据所述待运行版本文件支持的文件系统类型,重新初始化所述文件系统;
存储模块,用于在所述初始化模块重新初始化所述文件系统之后,将保存的所述文件保存到所述文件系统中,并触发所述执行模块;
所述执行模块,用于运行所述待运行版本文件。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410068981.3A CN104881604B (zh) | 2014-02-27 | 2014-02-27 | 版本文件的运行方法及装置 |
US15/119,820 US20170052779A1 (en) | 2014-02-27 | 2014-06-18 | Method and Device for Running Version File |
EP14884189.3A EP3113018A4 (en) | 2014-02-27 | 2014-06-18 | Method and apparatus for running version file |
PCT/CN2014/080260 WO2015127730A1 (zh) | 2014-02-27 | 2014-06-18 | 版本文件的运行方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410068981.3A CN104881604B (zh) | 2014-02-27 | 2014-02-27 | 版本文件的运行方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104881604A true CN104881604A (zh) | 2015-09-02 |
CN104881604B CN104881604B (zh) | 2019-07-16 |
Family
ID=53949094
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410068981.3A Expired - Fee Related CN104881604B (zh) | 2014-02-27 | 2014-02-27 | 版本文件的运行方法及装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20170052779A1 (zh) |
EP (1) | EP3113018A4 (zh) |
CN (1) | CN104881604B (zh) |
WO (1) | WO2015127730A1 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106502729A (zh) * | 2016-10-09 | 2017-03-15 | 武汉斗鱼网络科技有限公司 | 一种Flash播放器的资源加载方法及系统 |
WO2019134287A1 (zh) * | 2018-01-04 | 2019-07-11 | 武汉斗鱼网络科技有限公司 | 一种版本信息管理方法、电子设备及可读存储介质 |
CN111625262A (zh) * | 2020-05-28 | 2020-09-04 | 广东浪潮大数据研究有限公司 | 一种工作负载资源的回滚方法、系统、设备及存储介质 |
CN116795452A (zh) * | 2023-07-20 | 2023-09-22 | 龙芯中科(北京)信息技术有限公司 | 驱动程序兼容性的确定方法、装置及设备 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110515751B (zh) * | 2018-05-22 | 2023-05-12 | 中车株洲电力机车研究所有限公司 | 一种加载运行VxWorks实时保护进程的方法及系统 |
CN111475220B (zh) * | 2019-01-23 | 2023-04-25 | 阿里巴巴集团控股有限公司 | 冷启动方法、装置、电子设备及计算机存储介质 |
US11579864B1 (en) * | 2021-09-20 | 2023-02-14 | EMC IP Holding Company LLC | Accelerated behavior change for upgrades in distributed systems |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101770383A (zh) * | 2010-01-22 | 2010-07-07 | 中兴通讯股份有限公司 | 一种跨平台版本在线升级的方法及装置 |
CN102375760A (zh) * | 2010-08-24 | 2012-03-14 | 中兴通讯股份有限公司 | 嵌入式系统及其中的文件系统的倒换方法 |
US8301602B1 (en) * | 2008-05-01 | 2012-10-30 | Emc Corporation | Detection of inconsistencies in a file system |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7055148B2 (en) * | 2000-12-07 | 2006-05-30 | Hewlett-Packard Development Company, L.P. | System and method for updating firmware |
TWI277905B (en) * | 2005-08-03 | 2007-04-01 | Via Tech Inc | Boot method and computer utilizing the same |
JP2007149065A (ja) * | 2005-10-27 | 2007-06-14 | Fujitsu Ltd | 情報処理装置、bios処理方法及びプログラム |
US20090144538A1 (en) * | 2007-11-05 | 2009-06-04 | Duda Kenneth J | Patch installation at boot time for dynamically installable, piecemeal revertible patches |
CN101505331A (zh) * | 2008-02-04 | 2009-08-12 | 希姆通信息技术(上海)有限公司 | 升级智能手机系统软件的方法和装置 |
US9292272B2 (en) * | 2010-12-17 | 2016-03-22 | Telefonaktiebolaget L M Ericsson (Publ) | Differential flash archive installation |
US8949813B2 (en) * | 2011-07-29 | 2015-02-03 | Dell Products Lp | Systems and methods for facilitating activation of operating systems |
CN103577202B (zh) * | 2012-07-23 | 2018-03-09 | 努比亚技术有限公司 | 软件升级方法与系统 |
US9075638B2 (en) * | 2012-08-14 | 2015-07-07 | Atlassian Corporation Pty Ltd. | Efficient hosting of virtualized containers using read-only operating systems |
CN103473099B (zh) * | 2013-09-13 | 2017-02-01 | 惠州Tcl移动通信有限公司 | 一种移动终端的软件升级方法和系统 |
-
2014
- 2014-02-27 CN CN201410068981.3A patent/CN104881604B/zh not_active Expired - Fee Related
- 2014-06-18 US US15/119,820 patent/US20170052779A1/en not_active Abandoned
- 2014-06-18 EP EP14884189.3A patent/EP3113018A4/en not_active Withdrawn
- 2014-06-18 WO PCT/CN2014/080260 patent/WO2015127730A1/zh active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8301602B1 (en) * | 2008-05-01 | 2012-10-30 | Emc Corporation | Detection of inconsistencies in a file system |
CN101770383A (zh) * | 2010-01-22 | 2010-07-07 | 中兴通讯股份有限公司 | 一种跨平台版本在线升级的方法及装置 |
CN102375760A (zh) * | 2010-08-24 | 2012-03-14 | 中兴通讯股份有限公司 | 嵌入式系统及其中的文件系统的倒换方法 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106502729A (zh) * | 2016-10-09 | 2017-03-15 | 武汉斗鱼网络科技有限公司 | 一种Flash播放器的资源加载方法及系统 |
CN106502729B (zh) * | 2016-10-09 | 2019-05-17 | 武汉斗鱼网络科技有限公司 | 一种Flash播放器的资源加载方法及系统 |
WO2019134287A1 (zh) * | 2018-01-04 | 2019-07-11 | 武汉斗鱼网络科技有限公司 | 一种版本信息管理方法、电子设备及可读存储介质 |
CN111625262A (zh) * | 2020-05-28 | 2020-09-04 | 广东浪潮大数据研究有限公司 | 一种工作负载资源的回滚方法、系统、设备及存储介质 |
CN111625262B (zh) * | 2020-05-28 | 2023-08-22 | 广东浪潮大数据研究有限公司 | 一种工作负载资源的回滚方法、系统、设备及存储介质 |
CN116795452A (zh) * | 2023-07-20 | 2023-09-22 | 龙芯中科(北京)信息技术有限公司 | 驱动程序兼容性的确定方法、装置及设备 |
CN116795452B (zh) * | 2023-07-20 | 2024-04-02 | 龙芯中科(北京)信息技术有限公司 | 驱动程序兼容性的确定方法、装置及设备 |
Also Published As
Publication number | Publication date |
---|---|
EP3113018A4 (en) | 2017-03-22 |
CN104881604B (zh) | 2019-07-16 |
US20170052779A1 (en) | 2017-02-23 |
WO2015127730A1 (zh) | 2015-09-03 |
EP3113018A1 (en) | 2017-01-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104881604A (zh) | 版本文件的运行方法及装置 | |
KR101143112B1 (ko) | 페일세이프 방식으로 맞춤 소프트웨어 영상 갱신을불휘발성 저장 장치에 적용하는 시스템 및 방법 | |
US10114630B2 (en) | Management of software and operating system updates required for the process of creating a virtual machine facsimile of an existing physical or virtual machine | |
US7747997B1 (en) | Firmware update in electronic devices employing SIM card for saving metadata information | |
CN101110788B (zh) | 升级客户端软件的方法及系统 | |
CN101770383B (zh) | 一种跨平台版本在线升级的方法及装置 | |
CN110083374B (zh) | 一种升级回滚方法、系统及终端设备 | |
EP1770512A2 (en) | Method and system for updating software | |
US20170322796A1 (en) | Device and method for updating firmware and firmware update system | |
US20110004871A1 (en) | Embedded electronic device and firmware updating method thereof | |
CN101188516B (zh) | 一种网络设备软件系统高可靠性自适应远程更新的方法 | |
CN101158906A (zh) | 一种客户端程序自动更新升级的方法 | |
CN103150231A (zh) | 计算机开机的方法与计算机系统 | |
US20160170735A1 (en) | Operating system updating method by using a checklist | |
CN102567053A (zh) | 一种软件版本回退的方法及装置 | |
WO2017045491A1 (zh) | 一种对 sqlite3 型嵌入式数据库进行升级的方法及系统 | |
CN108920691B (zh) | 前端静态资源的管理方法、装置、计算机设备及存储介质 | |
US20040192280A1 (en) | System for updating application software of data acquisition devices | |
CN114780019A (zh) | 电子设备的管理方法、装置、电子设备及存储介质 | |
CN110990033B (zh) | 远程升级方法及系统 | |
CN106933604B (zh) | 一种系统升级方法及装置 | |
CN110096295A (zh) | 基于ReactNative的多模块移动应用的热更新方法及系统 | |
CN104049985A (zh) | 一种跨文件系统的版本在线升级方法和装置 | |
CN106708541A (zh) | 版本升级处理方法及装置 | |
WO2016127587A1 (zh) | 一种实现软件版本升级的方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20190716 Termination date: 20210227 |