WO2011088701A1 - 一种跨平台版本在线升级的方法及装置 - Google Patents
一种跨平台版本在线升级的方法及装置 Download PDFInfo
- Publication number
- WO2011088701A1 WO2011088701A1 PCT/CN2010/078787 CN2010078787W WO2011088701A1 WO 2011088701 A1 WO2011088701 A1 WO 2011088701A1 CN 2010078787 W CN2010078787 W CN 2010078787W WO 2011088701 A1 WO2011088701 A1 WO 2011088701A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- version
- new
- data
- file
- fixed memory
- Prior art date
Links
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
- G06F8/66—Updates of program code stored in read-only memory [ROM]
Definitions
- the present invention relates to the field of communications technologies, and in particular, to a method and apparatus for online upgrade of a cross-platform version.
- BACKGROUND OF THE INVENTION Version upgrades are one of the most common operations in communication products.
- product versions need to be upgraded, and cross-platform or cross-system version upgrades are possible.
- the original system uses the vxWorks operating system.
- it needs to be replaced with the Linux operating system.
- the version preferably supports remote batch online upgrade.
- the 4 bar version is directly saved to a non-volatile storage medium such as flash during the upgrade process. Medium, or the version is temporarily saved to memory and then saved to flash. If the data and module interfaces in the old version are not compatible in the new version, they will be used after compatibility processing in the new version.
- the old system boot loader cannot boot the new major version, or the new and old file systems are not compatible, you can only upload the data to be backed up to the network management server or computer in the old system, and then upgrade the new system to boot.
- the boot version after the system boot boot version is started, upgrade the main version file, the main version starts running, restores the previously backed up data in the main version, parses the data to meet the compatibility and save of the new version of the data interface and module interface.
- the disadvantages of this method are: The new major version cannot be upgraded directly in the old version. The main version must be upgraded in the new boot boot software. The operation is complicated and cannot meet the online upgrade. The new and old file systems are not compatible. The data cannot be saved.
- the method for online upgrade of the cross-platform version of the present invention includes the following steps: Step A: Pre-reserving fixed memory in the bootloader version and the old major version of the new system startup boot software respectively, respectively storing the version file and the old main version The data to be saved; Step B: Obtain the data to be saved in the version file and the old main version, save the new main version in the version file to the reserved fixed memory, and save the old main version to be saved. After the data is adapted, the data is reserved to the reserved fixed memory; and the new version of the bootloader in the version file is written to the bootrom area, and then the system is restarted; Step C: The new bootloader version acquires the reserved fixed memory during the startup process.
- the new major version and the saved data parse and save the new major version and the saved data to the local flash or file system, load the new main version and start.
- the fixed memory reserved in the new bootloader version and the old main version respectively has the same physical address, and the new bootloader version and the old major version can read and write the reserved fixed memory.
- the data to be saved in the new major version, the old main version, and the new bootloader version are obtained from the computer server or the network server by USB or FTP.
- the main control board obtains a new main version file from the adjacent device through inter-board communication and downloads it to the reserved fixed memory.
- the new main version is stored to the corresponding storage address of the reserved fixed memory according to the file name or the information recorded in the version header.
- the version file includes a new major version, a firmware version, and a bootloader version, and, in the step B, when the version file is obtained, the method further includes the following steps: Download the obtained version file into the memory or flash, and then check it-proof. If the school-risk passes, save the new major version and fixed version in the version file to the reserved fixed memory, and save the version file.
- the version of Bootloader is written to the bootrom area.
- the device for online upgrade of the cross-platform version of the present invention includes a software version and a data acquisition module, a reserved fixed memory module, a software version and a data storage module, and a version and data parsing and saving module, wherein the reserved fixed memory module is For pre-reserving fixed memory in the new bootloader version and the old main version, respectively storing the new version file and the data to be saved in the old main version; the software version and the data acquisition module for obtaining the version The file and the data to be saved in the old main version; the software version and the data storage module, configured to save the new main version in the version file to the reserved fixed memory, and to save the data in the old main version After the adaptation, the reservation is reserved to the reserved fixed memory; and the new version of the bootloader in the version file is written to the bootrom area, and then the system is restarted; the version and the data parsing and saving module are used to start the new bootloader version.
- the reserved fixed memory module is For pre-reserving fixed memory in the new
- the software version and the data acquisition module are further configured to convert the acquired data into data identified by the new version, including performing compression processing or adaptation processing on the data.
- the software version and the data acquisition module obtain the data to be saved in the new major version, the old main version, and the new one from the computer server or the network management server through USB or FTP.
- the bootloader version; or the main control board obtains a new major version file from the adjacent device through inter-board communication and FTP, and downloads it to the reserved fixed memory.
- the version file includes a new major version, a firmware version, and a bootloader version, and the software version and the data acquisition module are further used to download the obtained version file into the memory or the flash when the version file is obtained. And then verify it. If the check passes, save the new major version and fixed version in the version file to the reserved fixed memory, and burn the new bootloader version in the version file to the bootrom area.
- FIG. 1 is a flowchart of a method for online upgrade of a cross-platform version in a single system according to the present invention
- the method for online upgrade of the cross-platform version of the present invention includes the following steps: Step 100: Reserve fixed memory in advance in a new system boot bootloader version and an old master version, for example, Leave 11M fixed memory and store the data to be saved in the new major version and the old main version respectively. The size of the reserved fixed memory is calculated according to the size of the saved version and the size of the data.
- the reserved fixed memory size is relatively large, so that there is a certain margin to prevent the new version. Increase the size and reserve insufficient fixed memory.
- the reserved fixed memory address is divided into four logical areas, and the main version file, the startup parameter data, the user configuration command data, and the service configuration command data are respectively stored.
- Each logical partition corresponds to a data management structure, including managing the partition name, partition size, partition data type, and the length of the actual saved data.
- a ramdisk mapping operation is performed on the reserved fixed memory.
- the version file is first saved to the memory in turn. This memory directly points to the version of the high-end memory reserved in advance, and the command can be directly returned after the certificate is successfully executed.
- Step 200 Obtain the data to be saved in the version file and the old main version; wherein the version file includes a new major version, a firmware version, and a bootloader version.
- the data to be saved in the new major version, the old main version, and the new bootloader version may be obtained from the computer server or the network management server via USB or FTP; or the main use
- the main control board obtains a new major version file from the neighboring device through inter-board communication and FTP, and downloads it to the reserved fixed memory.
- the specific implementation process is as follows: When the active main control board obtains a new major version file from the neighboring device through the inter-board communication, the main control board initiates a new main version operation through the command line or the network management.
- the standby main control board initiates the operation according to the message initiated by the main control board, so that the version upgrade process of the standby main control board can be automatically performed automatically with the upgrade of the main control board.
- the active main control board obtains the main version file from the computer server or the network management server by starting an ftp client, and downloads it to the reserved fixed memory. If the version file to be obtained has multiple versions of the file, the version file may be obtained multiple times, and the corresponding storage address is distinguished according to the file name or the information recorded in the version header. Step 300: After the new major version is successfully diagnosed, it is saved to the reserved fixed memory, and the data to be saved in the old main version is reserved to the reserved fixed memory. In the step 300, since the obtained new version file has a version header, the data length and the version XOR-sum insurance are saved therein, and the downloaded version file can be used for the school-risk.
- the main control board sends a message to the standby main control board, and the main control board waits for the standby main control board to answer.
- the standby main control board starts an ftp client, and the main control board starts the ftp server, so that the standby main control board can be used as long as the main control board tells the file name obtained by the standby main control board.
- the main control board answers the school-risk save success message.
- the command line returns the failure and the cause of the error.
- the user decides whether to continue the new version loading. If the new version is not loaded, it will not affect the old master version file that was originally saved to the file system.
- the data to be acquired includes the startup parameter data, the user configuration command, and the service configuration command data, and respectively acquire and save the corresponding reserved fixed memory partitions through the respective modules.
- the configuration command data needs to be adapted because the old version and the new version of the command format are incompatible. Obtain the data to be saved in the old major version, adapt it and reserve it to the reserved fixed memory. This operation can be performed after saving the new major version and saving it to the reserved fixed memory.
- Step 400 After verifying the obtained new bootloader version successfully, burn it to the bootrom area, and then restart the system.
- the command to obtain a new version of the bootloader version is that the active main control board initiates an operation through the command line or the network management system, and the standby main control board sends a message to the main control board to initiate an operation. After the new Bootloader version is successfully obtained, it can be directly saved to the system bootrom without being reserved to reserve fixed memory.
- the new Bootloader version file is directly programmed into the bootrom chip after being passed through the memory, and is simultaneously backed up to the file system, and then the main control board sends a message to the standby board, and the standby main control board starts the ftp client.
- the main control board starts the ftp server, obtains the system startup boot software version file from the main control board file system, and directly writes it to the bootrom area of the standby main control board, and sends a message to the main control board to upgrade. success. If the operation of the primary standby main control board fails, it will return with the command line of the main control board. It is up to the user to re-upgrade or version rollback.
- Step 500 The new Bootloader version obtains the new main version file and the saved data in the reserved fixed memory during the startup process, parses and saves it to the flash or file system, and the new version is loaded and started.
- the new bootloader version cannot initialize the reserved patch memory, and the data can be directly obtained.
- the new major version file is saved to the file system, and the data is parsed and saved to a predetermined location.
- the device for online upgrade of the cross-platform version of the present invention includes: a reserved fixed memory module and a software version obtaining module.
- a fixed memory module is reserved for logically partitioning the reserved fixed memory, and different partitions are used to store important data to be saved in the new major version and the old main version respectively.
- the software version and the data acquisition module are configured to obtain a channel for obtaining a version file, obtain a version file to be upgraded from a PC server, a network management server, or a main control board, and obtain data to be saved in the old main version.
- the software version includes the system main version file, the firmware version file (such as the chip initialization file), and the system boot software Bootloader version file.
- the data to be saved in the new major version, the old main version, and the new Bootloader version are obtained from the server or the network server via USB or FTP.
- the main control board obtains a new major version file from the adjacent device through inter-board communication and FTP, and downloads it to the reserved fixed memory.
- the version file is first downloaded to the internal memory or flash, and then verified, if the verification is no problem, it will be saved.
- the software version and the data acquisition module can use the cached memory and the reserved fixed memory for saving by certain conditions. This can solve the problem caused by reserving a fixed memory. Memory can't provide large memory for version file caching.
- the software version and the data acquisition module may be further configured to convert the acquired data into data identified by the new version, including compressing or adapting the data, and dividing the data function to be acquired into different sub-modules. Each sub-module obtains data of the corresponding function from the system.
- a software version and a data storage module configured to identify whether the acquired new version is a software version compatible with the current system, and if the new version is a version that is not compatible with the current system, save the new major version to the reserved fixed memory, and Save the data to be saved in the old master version to the reserved fixed memory partition, and burn the new bootloader version to the bootrom area.
- the version file is saved directly to the flash.
- the software version and the data storage module are further used to re-read the new Bootloader version file that is written to the bootrom to compare with the memory file. If the matching is successful, the upgrade is successful; if the upgrade fails, the original Bootloader version file is used. Re-acquire and burn to the bootrom, the system will fall back to the original version.
- the version and data parsing and saving module is configured to parse and save the new main version and data in the reserved fixed memory acquired by the new bootloader version during the startup process to the local flash or file system.
- the method and apparatus for online upgrade of a cross-platform version temporarily reserve data and a new version by reserving fixed memory, and then reserve a fixed memory version after the new system startup boot software is started.
- the data is saved to the flash, and the system automatically acquires and adapts the data, thereby completing the online upgrade of the incompatible cross-platform version, reducing the cost of the product, improving the upgrade speed, and reducing the human operation.
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)
Description
一种跨平台版本在线升级的方法^置 技术领域 本发明涉及通讯技术领域, 特别涉及一种跨平台版本在线升级的方法及 装置。 背景技术 版本升级是通讯产品中最常见的一种操作。 为了满足新增功能或者新的 需求, 产品版本需要升级, 并且有可能出现跨平台或跨系统的版本升级。 比 如原来系统釆用的是 vxWorks的操作系统, 为了支持某些新的功能, 需要更 换为 linux 的操作系统; 再比如, 由于釆用平台的关系, 有可能出现新旧版 本的数据结构和模块接口不一致。 而要对这些系统进行版本升级, 首先要考 虑升级前后版本的数据兼容, 同时要满足系统所需要的重要数据不能丢失; 其次从版本升级的成本考虑, 版本最好支持远程批量在线升级。 在目前的版本升级方法中, 如果老的系统启动引导程序能够正确引导新 的主版本, 并且新老文件系统兼容的话, 则在升级过程中 4巴版本直接存到 flash 等非易失的存储介质中, 或者版本先暂时保存到内存中, 然后保存到 flash中。 如果老版本中的数据和模块接口在新版本中不兼容, 则在新版本中 作兼容处理后使用。 如果老的系统启动引导程序不能够引导新的主版本, 或 者新老文件系统不兼容的话, 则只能在老系统中先把待备份数据上传到网管 服务器或者计算机上, 然后升级新的系统启动引导版本, 待系统启动引导版 本启动之后, 再升级主版本文件, 主版本启动运行, 在主版本中恢复之前预 先备份的数据, 解析这些数据以满足新版本的数据接口和模块接口的兼容并 保存。 但是, 这种方法的缺点在于: 新的主版本不能在老的版本中直接升级, 必须在新的启动引导软件中升级主版本, 操作复杂, 不能够满足在线升级; 由于新老文件系统不兼容, 则数据不能保存, 需要提前备份到其他服务器上, 待新主版本运行之后才能恢复数据, 操作复杂, 很难满足批量在线升级。
发明内容 本发明的目的在于, 提供一种跨平台版本在线升级的方法, 能够完成不 兼容跨平台版本的在线升级。 本发明的另一目的在于, 提供一种跨平台版本在线升级的装置, 能够完 成不兼容跨平台版本的在线升级。 本发明的跨平台版本在线升级的方法, 包括下列步骤: 步骤 A: 预先在新的系统启动引导软件 Bootloader版本和旧的主版本中 分别预留固定内存, 分别存储版本文件和旧的主版本中待保存的数据; 步骤 B: 获取版本文件和旧的主版本中待保存的数据, 将所述版本文件 中新的主版本保存到预留固定内存, 将所述旧的主版本中待保存的数据适配 后保留到预留固定内存; 并且将所述版本文件中新的 Bootloader版本烧写到 bootrom区, 然后重启系统; 步骤 C: 新的 Bootloader版本在启动过程中获取所述预留固定内存中的 新的主版本和保存的数据, 将所述新的主版本和保存的数据解析并保存到本 地 flash或者文件系统中, 加载新的主版本并启动。 其中,所述在新的 Bootloader版本和旧的主版本中分别预留的固定内存, 物理地址相同, 所述新的 Bootloader版本和旧的主版本均能对所述预留固定 内存进行读写访问。 其中, 在所述步骤 B中, 通过 USB或者 FTP方式, 从计算机月艮务器、 或者网管月艮务器上获取新的主版本、 旧的主版本中待保存的数据, 以及新的 Bootloader 版本; 或者主用主控板通过板间通讯从相邻设备上获取新的主版 本文件, 并下载到预留固定内存。 其中, 在获取的新的主版本有多种版本文件时, 才艮据文件名或者版本头 里面记录的信息, 将所述新的主版本存储至预留固定内存的相应存储地址。 其中, 所述版本文件包括新的主版本、 固件版本以及 Bootloader版本, 并且, 在所述步骤 B中, 在获取版本文件时, 进一步包括下列步骤:
将获取的版本文件下载到内存中或者 flash中, 然后对其校 -险, 如果校-险 通过, 则将版本文件中的新的主版本、 固定版本保存到预留固定内存, 并将 版本文件中的 Bootloader版本烧写到 bootrom区。 本发明的跨平台版本在线升级的装置, 包括软件版本和数据获取模块, 预留固定内存模块 ,软件版本和数据存储模块 , 和版本和数据解析保存模块 , 其中, 所述预留固定内存模块, 用于预先在新的 Bootloader版本和旧的主版 本中分别预留固定内存, 分别存储新的版本文件和旧的主版本中待保存的数 据; 所述软件版本和数据获取模块, 用于获取版本文件和旧的主版本中待保 存的数据; 所述软件版本和数据存储模块, 用于将版本文件中新的主版本保 存到预留固定内存, 将所述旧的主版本中待保存的数据适配后保留到预留固 定内存; 并且将版本文件中新的 Bootloader版本烧写到 bootrom区, 然后通 知重启系统; 所述版本和数据解析保存模块, 用于对新的 Bootloader版本在 启动过程中获取的预留固定内存中的新的主版本和数据进行解析并保存到本 地 flash或者文件系统中。 其中,所述在新的 Bootloader版本和旧的主版本中分别预留的固定内存, 物理地址相同, 所述新的 Bootloader版本和旧的主版本 能对所述预留固定 内存进行读写访问。 其中, 所述软件版本和数据获取模块, 进一步用于将获取的数据转换为 新版本识别的数据, 包括对数据进行压缩处理或者适配处理。 其中, 所述软件版本和数据获取模块, 通过 USB或者 FTP方式, 从计 算机月艮务器、 或者网管月艮务器上获取新的主版本、 旧的主版本中待保存的数 据, 以及新的 Bootloader版本; 或者主用主控板通过板间通讯、 FTP方式从 相邻设备上获取新的主版本文件, 并下载到预留固定内存。 其中, 所述版本文件包括新的主版本、 固件版本以及 Bootloader版本, 并且, 所述软件版本和数据获取模块, 在获取版本文件时, 进一步用于将获 取的版本文件下载到内存中或者 flash中, 然后对其校验, 如果校验通过, 则 将版本文件中的新的主版本、 固定版本保存到预留固定内存, 并将版本文件 中的新的 Bootloader版本烧写到 bootrom区。 本发明的有益效果是:依照本发明的跨平台版本在线升级的方法及装置, 通过预留固定内存暂时保存数据和新版本的方式, 待新的系统启动引导软件
启动之后再 ί巴预留固定内存版本和数据保存到 flash, 系统自动获取并适配数 据, 从而完成了不兼容跨平台版本的在线升级, 降低了产品的成本, 提高了 升级速度, 减少了人为操作。 附图说明 图 1为本发明在单系统中的跨平台版本在线升级的方法的流程图; 图 2为本发明实施例的跨平台版本在线升级的装置的结构示意图。 具体实施方式 以下, 参考附图 1〜2详细描述本发明的跨平台版本在线升级的方法及装 置。 如图 1所示, 本发明的跨平台版本在线升级的方法, 包括下列步骤: 步骤 100: 预先在新的系统启动引导软件 ( Bootloader )版本和旧的主版 本中分别预留固定内存, 例如预留 11M固定内存, 分别存储新的主版本和旧 的主版本中待保存的数据。 其中, 预留固定内存的大小根据待存版本和数据的大小计算得来, 由于 考虑新版本大小会在不断变化, 所以预留固定内存大小要相对大一些, 这样 有一定的余量防止新版本变大而预留固定内存不够的情况。 另外, 对预留固 定内存地址分成 4个逻辑区, 分别存放主版本文件、 启动参数数据、 用户配 置命令数据和业务配置命令数据。 每个逻辑分区对应着一个数据管理结构, 包括对分区名、 分区大小、 分区数据类型、 实际保存数据的长度等进行管理。 另外, 对预留固定内存进行了 ramdisk映射操作。 版本下载过程中, 版本文 件是先依次保存到内存中, 这个内存直接指向提前预留的高端内存的版本逻 辑分区存储地址, 版本文件进行校 -险成功后, 命令可直接返回。 这就要求 ramdisk操作必须要对其读写的数据和物理内存——对应。 标准的 ramdisk并 不能满足这个条件, 所以在对预留固定内存进行映射操作的时候需要创建一 个内存文件设备, 并单独对其管理, 来实现需要的功能, 在此不再详述。 步骤 200: 获取版本文件和旧的主版本中待保存的数据; 其中, 版本文 件包括新的主版本、 固件版本以及 Bootloader版本。
其中, 在步骤 200中, 可以通过 USB或者 FTP方式, 从计算机服务器、 或者网管月艮务器上获取新的主版本、 旧的主版本中待保存的数据, 以及新的 Bootloader版本; 或者主用主控板通过板间通讯、 FTP方式从相邻设备上获 取新的主版本文件, 并下载到预留固定内存。 其中,在主用主控板通过板间通讯从相邻设备上获取新的主版本文件时, 具体实现过程如下: 主用主控板通过命令行或者网管发起获取新的主版本操 作。 备用主控板才艮据主控板发起的消息发起操作, 这样备用主控板的版本升 级过程可以完全随主用主控板的升级自动进行。主用主控板通过启动一个 ftp 客户端, 向计算机服务器或者网管服务器获取主版本文件, 并下载到预留固 定内存。如果待获取的版本文件有多种版本文件 , 则可以多次获取版本文件 , 根据文件名或者版本头里面记录的信息来区分对应的存储地址。 步骤 300: 对该新的主版本校 -险成功后, 将其保存到预留固定内存, 并 将旧的主版本中待保存的数据适配保留到预留固定内存。 其中, 在步骤 300中, 由于获取的新的版本文件里面有版本头, 里面保 存有数据长度和版本异或校-险和, 通过这些信息可以对下载的版本文件进行 校 -险。 如果校-险并保留到预留固定内存成功, 则主用主控板给备用主控板发 送消息, 主用主控板等待备用主控板应答。 备用主控板收到消息后会启动一 个 ftp客户端, 主用主控板启动 ftp月艮务器, 这样只要主用主控板告诉备用主 控板获取的文件名,备用主控板就可以通过 ftp从主用主控板访问 ramdisk设 备, 即预留固定内存获取相应的版本文件。 备用主控板校 -险完成后给主用主 控板应答校 -险保存成功消息。 如果版本文件获取失败, 或者主备用主控板版 本文件校验失败, 命令行返回失败和错误原因。 用户决定是否继续新版本加 载,如果不继续新版本加载,也不影响原保存到文件系统中的老主版本文件。 另外, 在步骤 300中, 需要获取的数据包括启动参数数据、 用户配置命 令和业务配置命令数据, 分别通过各自模块获取并保存对应的预留固定内存 的分区里面。 其中, 配置命令数据由于老版本和新版本命令格式不兼容, 所 以需要作适配处理。 获取旧的主版本中待保存的数据, 将其适配并保留到预 留固定内存, 该操作可以在对该新的主版本校验成功后将其保存到预留固定 内存之后进行, 这样两个命令可以合并成一个命令执行, 用户操作也简单, 如果操作失败, 则可以一起返回错误提示。
步骤 400:对获取的新的 Bootloader版本校验成功后,将其烧写到 bootrom 区, 然后重启系统。 在步骤 400中, 获取新的 Bootloader版本文件的命令是主用主控板通过 命令行或者网管发起操作, 备用主控板通过主控板给它发消息发起操作。 新 的 Bootloader版本在获取成功后, 可以直接保存到系统 bootrom中, 不需要 保留到预留固定内存。 具体地, 新的 Bootloader 版本文件在内存中校-险通过后直接烧写到 bootrom 芯片里面, 同时备份到文件系统, 然后主用主控板给备用板发送消 息, 备用主控板启动 ftp客户端, 主用主控板启动 ftp服务器端, 从主用主控 板文件系统中获取系统启动引导软件版本文件, 校验后直接烧写到备用主控 板的 bootrom区, 并发消息给主控板升级成功。 如果主备用主控板有操作失 败, 则随主用主控板命令行一起返回, 由用户决定是重新升级或者版本回退。 步骤 500: 新的 Bootloader版本在启动过程中获取预留固定内存中的新 的主版本文件和保存的数据, 解析并保存到 flash或文件系统,新版本加载并 启动。 其中, 在步骤 500中, 新的 Bootloader版本在启动过程中, 不能对预留 补丁内存进行初始化等操作, 可以直接获取数据, 新的主版本文件保存到文 件系统, 数据解析后保存到预定位置。 如图 2所示, 本发明的跨平台版本在线升级的装置, 包括: 预留固定内 存模块、 软件版本获取模块。 其中, 预留固定内存模块, 用于通过对预留固定内存进行逻辑分区, 不 同分区用于分别存放新的各种主版本和旧的主版本中待保存的重要数据。 另 夕卜, 为了其他系统 (比如备用系统) 能够通过 ftp 方式方便获取固定内存中 的数据,预留固定内存模块,还用于对固定内存进行映射为文件映像的操作。 软件版本和数据获取模块, 用于提供获取版本文件的通道, 从 PC服务 器、 网管月艮务器, 或者主控板获取待升级的版本文件, 以及获取旧的主版本 中待保存的数据。 其中, 软件版本包括系统主版本文件、 固件版本文件 (比 如套片初始化文件 ) 以及系统启动引导软件 Bootloader版本文件。 在版本文 件获取过程中, 通过 USB或者 FTP方式, 从计算机艮务器、 或者网管 艮务 器上获取新的主版本、 旧的主版本中待保存的数据, 以及新的 Bootloader版
本; 或者主用主控板通过板间通讯、 FTP方式从相邻设备上获取新的主版本 文件, 并下载到预留固定内存。 另外, 在获取过程中, 首先要将版本文件下 载到内存中或者 flash中, 然后对其校验, 如果校验没有问题之后才会对其进 行保存。 考虑到系统内存有限, 软件版本和数据获取模块通过一定条件的判 断和分析, 釆用緩存的内存和用于保存的预留固定内存共用的方式, 这样可 以解决由于预留一块固定内存, 导致系统内存无法提供大的内存给版本文件 緩存的问题。 当然如果系统内存足够多, 也可以不釆取这种方式。 另外, 软件版本和数据获取模块, 可以进一步用于将获取的数据转换为 新版本识别的数据, 包括对数据进行压缩处理或者适配处理, 可以 居待获 取的数据功能划分成不同的子模块,各子模块从系统中获取相应功能的数据。 软件版本和数据存储模块, 用于识别获取的新的版本是否是当前系统兼 容的软件版本, 如果新的版本是当前系统不兼容的版本, 则将新的主版本保 存到预留固定内存, 并将获取的旧的主版本中待保存的数据保存到预留的固 定内存分区, 将新的 Bootloader版本, 烧写到 bootrom区, 如果待升级的版 本是目前系统兼容的版本文件, 则按照原来的存储方式, 版本文件直接保存 到 flash。 另外, 软件版本和数据存储模块, 进一步用于将烧写到 bootrom的新的 Bootloader 版本文件重新读出来与内存的文件比较, 如果一致才返回升级成 功; 如果升级失败, 只要 原有的 Bootloader 版本文件重新获取并烧写到 bootrom, 系统就回退到原有版本。 版本和数据解析保存模块, 用于对新的 Bootloader版本在启动过程中获 取的预留固定内存中的新的主版本和数据进行解析并保存到本地 flash 或者 文件系统中。有些系统需要 4巴 cpld等固件版本文件更新到 cpld里面, 并将预 留固定内存中的数据进行解析并保存到相应的位置。 综上所述, 依照本发明的跨平台版本在线升级的方法及装置, 通过预留 固定内存暂时保存数据和新版本的方式, 待新的系统启动引导软件启动之后 再把预留固定内存版本和数据保存到 flash, 系统自动获取并适配数据, 从而 完成了不兼容跨平台版本的在线升级, 降低了产品的成本,提高了升级速度, 减少了人为操作。
以上是为了使本领域普通技术人员理解本发明, 而对本发明所进行的详 细描述, 但可以想到, 在不脱离本发明的权利要求所涵盖的范围内还可以做 出其它的变化和 4爹改, 这些变化和 4爹改均在本发明的保护范围内。
Claims
1. 一种跨平台版本在线升级的方法, 其特征在于, 包括下列步骤:
步骤 A: 预先在新的系统启动引导软件 Bootloader版本和旧的主 版本中分别预留固定内存, 分别存储版本文件和旧的主版本中待保存 的数据;
步骤 B: 获取版本文件和旧的主版本中待保存的数据, 将所述版 本文件中新的主版本保存到预留固定内存, 将所述旧的主版本中待保 存的数据适配后保留到预留固定内存; 并且将所述版本文件中新的 Bootloader版本烧写到 |导存储 bootrom区, 然后重启系统;
步骤 C: 新的 Bootloader版本在启动过程中获取所述预留固定内 存中的新的主版本和保存的数据, 将所述新的主版本和保存的数据解 析并保存到本地闪存 flash或者文件系统中, 加载新的主版本并启动。
2. 如权利要求 1所述的跨平台版本在线升级的方法, 其特征在于,
所述在新的 Bootloader 版本和旧的主版本中分别预留的固定内 存, 物理地址相同, 所述新的 Bootloader版本和旧的主版本均能对所 述预留固定内存进行读写访问。
3. 如权利要求 1或 2所述的跨平台版本在线升级的方法, 其特征在于, 在所述步骤 B 中, 通过 USB或者 FTP方式, 从计算机艮务器、 或者 网管月艮务器上获取新的主版本、 旧的主版本中待保存的数据, 以及新 的 Bootloader版本; 或者主用主控板通过板间通讯从相邻设备上获取 新的主版本文件, 并下载到预留固定内存。
4. 如权利要求 1 所述的跨平台版本在线升级的方法, 其特征在于, 在获 取的新的主版本有多种版本文件时, -据文件名或者版本头里面记录 的信息, 将所述新的主版本存储至预留固定内存的相应存储地址。
5. 如权利要求 1 所述的跨平台版本在线升级的方法, 其特征在于, 所述 版本文件包括新的主版本、 固件版本以及 Bootloader版本, 并且, 在 所述步骤 B中, 在获取版本文件时, 进一步包括下列步骤:
将获取的版本文件下载到内存中或者 flash中, 然后对其校 -险, 如 果校-险通过, 则将版本文件中的新的主版本、 固定版本保存到预留固 定内存, 并^ 1版本文件中的 Bootloader版本烧写到 bootrom区。
6. 一种跨平台版本在线升级的装置, 其特征在于, 包括软件版本和数据 获取模块, 预留固定内存模块, 软件版本和数据存储模块, 和版本和 数据解析保存模块, 其中,
所述预留固定内存模块, 用于预先在新的引导软件 Bootloader版 本和旧的主版本中分别预留固定内存, 分别存储新的版本文件和旧的 主版本中待保存的数据;
所述软件版本和数据获取模块, 用于获取版本文件和旧的主版本 中待保存的数据;
所述软件版本和数据存储模块, 用于将版本文件中新的主版本保 存到预留固定内存, 将所述旧的主版本中待保存的数据适配后保留到 预留固定内存; 并且将版本文件中新的 Bootloader版本烧写到 |导存 储 bootrom区, 然后通^ ^重启系统;
所述版本和数据解析保存模块, 用于对新的 Bootloader版本在启 动过程中获取的预留固定内存中的新的主版本和数据进行解析并保存 到本地闪存 flash或者文件系统中。
7. 如权利要求 6所述的跨平台版本在线升级的装置, 其特征在于, 所述 在新的 Bootloader版本和旧的主版本中分别预留的固定内存, 物理地 址相同, 所述新的 Bootloader版本和旧的主版本都能对所述预留固定 内存进行读写访问。
8. 如权利要求 6或 7所述的跨平台版本在线升级的装置, 其特征在于, 所述软件版本和数据获取模块, 进一步用于将获取的数据转换为新版 本识别的数据, 包括对数据进行压缩处理或者适配处理。
9. 如权利要求 6或 7所述的跨平台版本在线升级的装置, 其特征在于, 所述软件版本和数据获取模块,通过 USB或者 FTP方式,从计算机月艮 务器、 或者网管服务器上获取新的主版本、 旧的主版本中待保存的数 据, 以及新的 Bootloader 版本; 或者主用主控板通过板间通讯、 FTP 方式从相邻设备上获取新的主版本文件, 并下载到预留固定内存。
10. 如权利要求 6或 7所述的跨平台版本在线升级的装置, 其特征在于, 所述版本文件包括新的主版本、 固件版本以及 Bootloader版本, 并且, 所述软件版本和数据获取模块, 在获取版本文件时, 进一步用于将获 取的版本文件下载到内存中或者 flash中, 然后对其校验, 如果校验通 过, 则将版本文件中的新的主版本、 固定版本保存到预留固定内存, 并^ 1版本文件中的新的 Bootloader版本烧写到 bootrom区。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010002621.5A CN101770383B (zh) | 2010-01-22 | 2010-01-22 | 一种跨平台版本在线升级的方法及装置 |
CN201010002621.5 | 2010-01-22 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2011088701A1 true WO2011088701A1 (zh) | 2011-07-28 |
Family
ID=42503262
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2010/078787 WO2011088701A1 (zh) | 2010-01-22 | 2010-11-16 | 一种跨平台版本在线升级的方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN101770383B (zh) |
WO (1) | WO2011088701A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102955711A (zh) * | 2012-11-23 | 2013-03-06 | 深圳市航盛电子股份有限公司 | 一种基于wcdma通道的车载终端固件升级方法 |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101770383B (zh) * | 2010-01-22 | 2014-04-09 | 中兴通讯股份有限公司 | 一种跨平台版本在线升级的方法及装置 |
CN104049985A (zh) * | 2013-03-12 | 2014-09-17 | 中兴通讯股份有限公司 | 一种跨文件系统的版本在线升级方法和装置 |
CN104881604B (zh) * | 2014-02-27 | 2019-07-16 | 中兴通讯股份有限公司 | 版本文件的运行方法及装置 |
CN105677409B (zh) * | 2015-12-31 | 2019-02-05 | 中科创达软件股份有限公司 | 一种系统升级方法及装置 |
CN108845822B (zh) * | 2018-05-28 | 2022-03-01 | 烽火通信科技股份有限公司 | 实现软件不中断业务升级的内存管理方法及系统 |
CN109408075A (zh) * | 2018-10-19 | 2019-03-01 | 中影环球(北京)科技有限公司 | 一种保留当前业务进行远程升级的方法和装置 |
WO2021012170A1 (zh) * | 2019-07-23 | 2021-01-28 | 深圳市大疆创新科技有限公司 | 固件启动方法、设备及计算机可读存储介质 |
CN111045714B (zh) * | 2019-12-19 | 2022-03-01 | 歌尔股份有限公司 | 一种固件更新方法、装置、耳机及计算机可读存储介质 |
CN112328296B (zh) * | 2020-11-30 | 2024-04-02 | 北京百度网讯科技有限公司 | 针对跨平台应用的软件更新方法、装置、设备和介质 |
CN113391833B (zh) * | 2021-06-16 | 2023-03-24 | 杭州爱华仪器有限公司 | 一种测量放大器的远程升级系统及其方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1862503A (zh) * | 2006-03-03 | 2006-11-15 | 华为技术有限公司 | 一种版本在线升级方法及装置 |
CN101196823A (zh) * | 2007-12-24 | 2008-06-11 | 杭州华三通信技术有限公司 | 一种开放应用架构中软件在线升级的方法、系统及设备 |
CN101477471A (zh) * | 2009-01-07 | 2009-07-08 | 杭州海康威视数字技术股份有限公司 | 一种嵌入式系统固件在线升级方法 |
CN101770383A (zh) * | 2010-01-22 | 2010-07-07 | 中兴通讯股份有限公司 | 一种跨平台版本在线升级的方法及装置 |
-
2010
- 2010-01-22 CN CN201010002621.5A patent/CN101770383B/zh active Active
- 2010-11-16 WO PCT/CN2010/078787 patent/WO2011088701A1/zh active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1862503A (zh) * | 2006-03-03 | 2006-11-15 | 华为技术有限公司 | 一种版本在线升级方法及装置 |
CN101196823A (zh) * | 2007-12-24 | 2008-06-11 | 杭州华三通信技术有限公司 | 一种开放应用架构中软件在线升级的方法、系统及设备 |
CN101477471A (zh) * | 2009-01-07 | 2009-07-08 | 杭州海康威视数字技术股份有限公司 | 一种嵌入式系统固件在线升级方法 |
CN101770383A (zh) * | 2010-01-22 | 2010-07-07 | 中兴通讯股份有限公司 | 一种跨平台版本在线升级的方法及装置 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102955711A (zh) * | 2012-11-23 | 2013-03-06 | 深圳市航盛电子股份有限公司 | 一种基于wcdma通道的车载终端固件升级方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101770383A (zh) | 2010-07-07 |
CN101770383B (zh) | 2014-04-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2011088701A1 (zh) | 一种跨平台版本在线升级的方法及装置 | |
US11237811B2 (en) | Software installation onto a client using existing resources | |
US8539471B2 (en) | Updating firmware of an electronic device | |
CN110347414A (zh) | 固件更新方法、装置、设备及计算机可读存储介质 | |
US20100132042A1 (en) | Method for upgrading antivirus software and terminal and system thereof | |
US20170052854A1 (en) | Method and system for performing automatic system recovery | |
US20110004871A1 (en) | Embedded electronic device and firmware updating method thereof | |
CN107179909A (zh) | 软件升级方法、装置及计算机可读存储介质 | |
WO2014194865A1 (zh) | 一种固件升级方法、装置及通信设备 | |
WO2010081323A1 (zh) | 一种单板应用版本的实现方法及系统 | |
WO2011006378A1 (zh) | 无线数据卡的升级方法和系统 | |
CN112231005B (zh) | 一种基于uboot管理fpga版本的方法 | |
CN108509215B (zh) | 一种系统软件的更换方法、装置、终端设备及存储介质 | |
CN103533027A (zh) | 一种分布式设备及软件版本兼容性维护的方法、系统 | |
WO2015127730A1 (zh) | 版本文件的运行方法及装置 | |
CN111309354A (zh) | 联网设备的ota升级方法及装置 | |
WO2024113995A1 (zh) | 一种bmc异构升级方法、系统、设备及可读存储介质 | |
WO2024131374A1 (zh) | 机顶盒跨系统升级方法、装置、机顶盒及存储介质 | |
CN114995852A (zh) | 一种设备升级方法、设备及计算机可读存储介质 | |
WO2017173924A1 (zh) | 切换文件系统的方法及装置 | |
RU2600101C1 (ru) | Управляющий модуль узла и способ обновления встроенного программного обеспечения для этого управляющего модуля | |
CN110716733A (zh) | 一种ont产品软件互升级方法 | |
JP3732764B2 (ja) | Os立上げ方法およびos立上げシステム | |
CN100484038C (zh) | 网元版本切换方法及装置 | |
CN114020308A (zh) | 一种摄像设备升级方法、装置、设备及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 10843741 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 10843741 Country of ref document: EP Kind code of ref document: A1 |