CN106648441A - 设备分区信息传递方法及装置 - Google Patents

设备分区信息传递方法及装置 Download PDF

Info

Publication number
CN106648441A
CN106648441A CN201510715848.7A CN201510715848A CN106648441A CN 106648441 A CN106648441 A CN 106648441A CN 201510715848 A CN201510715848 A CN 201510715848A CN 106648441 A CN106648441 A CN 106648441A
Authority
CN
China
Prior art keywords
subregion
partition
upgrading
description information
information
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.)
Withdrawn
Application number
CN201510715848.7A
Other languages
English (en)
Inventor
任广振
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ZTE Corp
Original Assignee
ZTE Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by ZTE Corp filed Critical ZTE Corp
Priority to CN201510715848.7A priority Critical patent/CN106648441A/zh
Priority to PCT/CN2016/103787 priority patent/WO2017071646A1/zh
Publication of CN106648441A publication Critical patent/CN106648441A/zh
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0607Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种设备分区信息传递方法,其方法包括:从***的组件分区中读取***内待升级分区的描述信息,并获取升级文件中的升级分区的描述信息;判断所述升级文件中的升级分区的描述信息与所述***内对应的待升级分区的描述信息是否一致;若不一致,则更新所述***内对应的待升级分区的描述信息;按照更新后的所述***内对应的分区的描述信息,更新所述组件分区内对应的分区的描述信息。本发明还公开了一种设备分区信息传递装置。本发明解决了由于设备分区信息调整复杂而导致的程序开发阶段效率低下以及后期程序版本维护不便利的问题。

Description

设备分区信息传递方法及装置
技术领域
本发明涉及计算机领域,尤其涉及一种设备分区信息传递方法及装置。
背景技术
嵌入式产品开发应用中,在存储设计上经常会用到nand(闪存存储设备)、nor(闪存存储设备)等flash(Flash Memory,Flash存储器)设备,为了方便***对存储数据的管理,需要根据需求对存储设备进行空间上的划分。而实现分区的划分需要***事先确定好分区的数量、大小以及其他辅助信息,如何获得这些信息,通常一种简单的办法是在程序模块中维护一个静态的结构体数组,每个结构体元素对应了一个分区的相关划分信息,最后由驱动程序来根据这些固定的分区信息来创建各个相应的分区。这种静态获取分区信息的方式在复杂的嵌入式应用中会有一定的局限性,特别是在***有多个模块都需要使用分区信息的情况下,一次分区信息的调整,就需要手动去修改多个关联的模块代码,以保证分区信息的一致性,这就导致了在程序开发阶段的效率低下以及后期程序版本维护不便利。
上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
发明内容
本发明的主要目的在于提供一种设备分区信息传递方法及装置,解决由于分区信息调整复杂而导致的程序开发阶段效率低下以及后期程序版本维护不便利的问题。
为实现上述目的,本发明提供一种设备分区信息传递方法,包括:
从***的组件分区中读取***内待升级分区的描述信息,并获取升级文件中的升级分区的描述信息;
判断所述升级文件中的升级分区的描述信息与所述***内对应的待升级分区的描述信息是否一致;
若不一致,则更新所述***内对应的待升级分区的描述信息;
按照更新后的所述***内对应的分区的描述信息,更新所述组件分区内对应的分区的描述信息。
优选地,所述***内待升级分区的描述信息存储于所述组件分区中,所述描述信息为设定格式的数据结构,所述数据结构由结构体组成,所述结构体描述对应分区的索引、大小以及位置偏移信息:
所述升级文件由文件头与各个升级分区组成,所述升级文件中的升级分区的描述信息存储于所述升级文件的文件头中,文件头描述所述升级分区的个数,以及每个升级分区在所述升级文件中的位置偏移;每个升级分区的内容由组件头加升级数据组成;每个升级分区与所述***内待升级应用分区对应。
优选地,所述获取升级文件中的升级分区的描述信息的步骤包括:对升级文件的文件头进行解析,获取升级文件的文件头中的升级分区数据在升级文件中的位置偏移;
根据所述升级文件的文件头中的升级分区数据在升级文件中的位置偏移,获取升级文件中的升级分区数据;
根据所述升级分区数据的组件头,获取升级分区的描述信息。
优选地,所述判断所述升级文件中的升级分区的描述信息与所述***内对应的待升级分区的描述信息是否一致的步骤之后,还包括:
若升级文件中的升级分区的描述信息与***内对应的待升级分区的描述信息一致,则按照所述***内对应的待升级分区的描述信息存放升级文件中升级分区的升级数据。
优选地,所述按照更新后的所述***内对应的各个分区的描述信息,更新所述组件分区内对应的各个应用分区的描述信息的步骤之后,还包括:
对所述组件分区内的数据进行数据匹配及校验;
若校验成功,则根据所述更新后的所述组件分区内对应的分区的描述信息对***内对应分区进行初始化;
若校验失败,则使用***默认的静态分区表的描述信息来初始化所述***内对应分区,将所述***默认的静态分区表的描述信息按照组件分区内的描述信息的格式存储到所述***内组件分区中,供***运行使用。
此外,为实现上述目的,本发明还提供一种分区信息传递装置,所述分区信息传递装置包括:
获取模块,用于从***的组件分区中读取***内待升级分区的描述信息,并获取升级文件中的升级分区的描述信息;
判断模块,用于判断所述升级文件中的升级分区的描述信息与所述***内对应的待升级分区的描述信息是否一致;
第一更新模块,用于在判断模块判断所述升级文件中的升级分区的描述信息与所述***内对应的待升级分区的描述信息不一致时,更新所述***内对应的待升级分区的描述信息;
第二更新模块,用于按照更新后的所述***内对应的分区的描述信息,更新所述组件分区内对应的分区的描述信息。
优选地,所述***内待升级分区的描述信息存储于所述组件分区中,所述描述信息为设定格式的数据结构,所述数据结构由结构体组成,所述结构体描述对应分区的索引、大小以及位置偏移信息:
所述升级文件由文件头与各个升级分区组成,所述升级文件中的升级分区的描述信息存储于所述升级文件的文件头中,文件头描述所述升级分区的个数,以及每个升级分区在所述升级文件中的位置偏移;每个升级分区的内容由组件头加升级数据组成;每个升级分区与所述***内待升级应用分区对应。
优选地,所述获取模块包括:
第一获取单元,用于对升级文件的文件头进行解析,获取升级文件的文件头中的升级分区数据在升级文件中的位置偏移;
第二获取单元,用于根据所述升级文件的文件头中的升级分区数据在升级文件中的位置偏移,获取升级文件中的升级分区数据。
第三获取单元,用于根据所述升级分区数据的组件头,获取升级分区的描述信息。
优选地,所述分区信息传递装置还包括:
第一升级模块,用于若升级文件中的升级分区的描述信息与***内对应的待升级分区的描述信息一致,则按照所述***内对应的待升级分区的描述信息存放升级文件中升级分区的升级数据。
优选地,所述分区信息传递装置,还包括:
初始化模块,用于对所述组件分区内的数据进行数据匹配及校验;若校验成功,则根据所述更新后的所述组件分区内对应的分区的描述信息对***内对应分区进行初始化;若校验失败,则使用***默认的静态分区表的描述信息来初始化所述***内对应分区,将所述***默认的静态分区表的描述信息按照组件分区内的描述信息的格式存储到所述***内组件分区中,供***运行使用。
本发明实施例通过从***的组件分区中读取***内待升级分区的描述信息,并获取升级文件中的升级分区的描述信息;判断所述升级文件中的升级分区的描述信息与所述***内对应的待升级分区的描述信息是否一致;若不一致,则更新所述***内对应的待升级分区的描述信息;按照更新后的所述***内对应的分区的描述信息,更新所述组件分区内对应的分区的描述信息。从而解决了由于分区信息调整复杂而导致的程序开发阶段效率低下以及后期程序版本维护不便利的问题。
附图说明
图1为本发明设备分区信息传递方法第一实施例的流程示意图;
图2为本发明设备分区信息传递方法第二实施例的流程示意图;
图3为本发明设备分区信息传递方法第三实施例的流程示意图;
图4为本发明设备分区信息传递方法第四实施例的流程示意图;
图5为本发明设备分区信息传递装置第一实施例的功能模块示意图;
图6为本发明设备分区信息传递装置第二实施例的功能模块示意图;
图7为本发明设备分区信息传递装置第三实施例的功能模块示意图;
图8为本发明设备分区信息传递装置第四实施例的功能模块示意图;
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例的主要解决方案是:从***的组件分区中读取***内待升级分区的描述信息,并获取升级文件中的升级分区的描述信息;判断所述升级文件中的升级分区的描述信息与所述***内对应的待升级分区的描述信息是否一致;若不一致,则更新所述***内对应的待升级分区的描述信息;按照更新后的所述***内对应的分区的描述信息,更新所述组件分区内对应的分区的描述信息。
由于现有技术中在实际复杂的嵌入式应用中,使用分区信息的情况下,依次分区信息的调整,就必须动手修改多个关联的模块代码,以保证分区信息的一致性,导致了在程序开发阶段的效率低下以及后期程序版本维护的不便利。
本发明提供一种解决方案,能够划分***组件分区,统一***升级文件格式,统一描述信息以及统一***的分区信息,解决了由于分区信息调整复杂而导致的程序开发阶段效率低下以及后期程序版本维护不便利的问题。
参照图1,本发明第一实施例提供一种设备分区信息传递方法,包括:
步骤S10,从***的组件分区中读取***内待升级分区的描述信息,并获取升级文件中的升级分区的描述信息。
在本实施例方案中,在满足***应用分区划分的基础上添加一个组件分区,该分区会根据***应用需求设计为合适的大小,并用来存储分区描述信息列表。
将分区描述信息设计为特定格式的数据结构,每个结构体描述了对应分区的索引、大小以及位置偏移等其他辅助信息。
将设备升级文件设计为文件数据头与各个升级分区的组合形式,数据头主要用来说明本次升级分区的个数,以及每个分区在本次升级文件中的位置偏移。
将每个升级分区内容设计为组件头加升级数据的格式,组件头即为本次待升级分区的描述信息。
其中,根据***需求,对***flash进行分区划分,每个分区存储特定的数据,其中在flash的固定位置处留出一定空间作为组件分区,该分区用来存储***中各分区的描述信息,每一个分区描述信息对应了一个结构体数据,对分区的属性进行了相关描述,包括分区名称、大小、所处的位置偏移以及其他辅助信息。
步骤S20,判断所述升级文件中的升级分区的描述信息与所述***内对应的待升级分区的描述信息是否一致,若不一致,则进入步骤S30;
其中,在程序版本升级操作中,先从升级文件头数据中找到升级分区数据,从数据的组件头中提取分区描述信息,并按照该信息来存放升级内容,同时判断分区描述信息是否与当前使用的发生了变化。
步骤S30,更新所述***内对应的待升级分区的描述信息。
其中,升级文件的升级分区的描述信息与***内对应的待升级分区的描述信息不一致,则证明***内对应的待升级分区的描述信息发生改变,需要按照升级文件内的升级分区的描述信息对***内待升级分区的描述信息进行修改。
其中,更新***内对应的待升级分区的描述信息后,按照更新后的所述描述信息向所述***内对应的待升级分区存放升级文件中的升级数据。
需要说明的是,描述信息记录的是对应分区的索引、大小以及位置偏移信息。
步骤S40,按照更新后的所述***内对应的分区的描述信息,更新所述组件分区内对应的分区的描述信息。
完成每个分区的描述信息的更新后,将更新过的分区描述信息存储到***中的组件分区内,完成组件分区的更新。
具体实施时,以***升级过程为例,具体步骤如下:
1,启动版本升级操作。
2,对版本升级文件头进行解析,获得本次升级的分区数以及待升级分区数据在文件中的位置。
3,依次获取待升级分区的数据,并从数据头中提取分区描述信息。
4,判断该分区描述信息与***当前使用的同一分区描述信息是否一致。若一致,则进行更新。
5,根据差异对内存中的分区描述信息进行修改。
6,用更新过的描述信息完成该分区内容的在flash中的存储,升级分区总数自减。
7,判断待升级分区数是否大于0,若是,则升级下一个分区。
8,待所有分区升级完成后,将更新后的内存中的分区描述信息存储到组件分区中,即完成了分区信息从外部版本文件动态传递到***存储模块。
9,***复位,开始使用新的分区信息去初始化***。
在本实施例中,通过从***的组件分区中读取***内待升级分区的描述信息,并获取升级文件中的升级分区的描述信息;判断所述升级文件中的升级分区的描述信息与所述***内对应的待升级分区的描述信息是否一致;若不一致,则更新所述***内对应的待升级分区的描述信息;按照更新后的所述***内对应的分区的描述信息,更新所述组件分区内对应的分区的描述信息。解决了由于分区信息调整复杂而导致的程序开发阶段效率低下以及后期程序版本维护不便利的问题。
进一步地,参照图2,本发明第二实施例提供一种设备分区信息传递方法,基于上述图1所示的实施例,在执行步骤S10过程中,包括:
步骤S11、对升级文件的文件头进行解析,获取升级文件的文件头中的升级分区数据在升级文件中的位置偏移。
其中,在***升级过程中,读取升级文件时,首先对升级文件的文件头进行解析,获取升级文件的文件头中的升级分区的升级数据在升级文件中的位置偏移,然后按照文件头中记录的升级数据在升级文件中的位置偏移对***进行升级。
其中,所述升级文件由文件头与各个升级分区组成,所述升级文件中的文件头描述所述升级分区的个数,以及每个升级分区在所述升级文件中的位置偏移;
步骤S12、根据所述升级文件的文件头中的升级分区数据在升级文件中的位置偏移,获取升级文件中的升级分区数据。
其中,升级文件的文件头可以对整个设备升级文件进行统一的记录和管理,在设备升级文件中,每一个升级文件的升级分区的数据都是分开的,文件头可以记录每一个升级文件的升级分区的升级数据的位置,升级分区的总数,方便***升级时对升级文件的升级分区的统一管理与调用。
其中,升级文件的各个升级分区中记录着各个升级分区的升级数据,当设备升级的过程中,方便区分各个待升级分区的升级文件的位置,可以对***内的待升级分区的升级数据进行快速查找。
步骤S13、根据所述升级分区数据的组件头,获取升级分区的描述信息。
其中,每个升级分区的内容由组件头加升级数据组成;每个升级分区与所述***内待升级应用分区对应。
其中,每一个分区描述信息对应了一个结构体数据,对分区的属性进行了相关描述,包括分区名称、大小、所处的位置偏移以及其他辅助信息。将这些数据统一记录,管理可以起到对待升级分区的快速升级,同时可以快速的找到升级数据在待升级分区的位置。
在本实施例中,通过对升级文件的统一格式,分区描述信息的统一管理。解决了由于分区描述信息调整复杂而导致的程序开发阶段效率低下以及后期程序版本维护不便利的问题。
进一步地,参照图3,本发明第三实施例提供一种设备分区信息传递方法,基于上述图1所示的实施例,在上述步骤S20之后,还包括:
步骤S50、若升级文件中的升级分区的描述信息与***内对应的待升级分区的描述信息一致,则按照所述***内对应的待升级分区的描述信息存放升级文件中升级分区的升级数据。
其中,升级文件的升级分区的描述信息与***内对应的待升级分区的描述信息一致,则证明***内对应的待升级分区的描述信息没有发生改变,只需要按照***内待升级分区的描述信息进行升级数据的存放。
需要说明的是,分区的描述信息记录的是对应分区的索引、大小以及位置偏移信息。
在本实施例中,通过更新***内待升级分区的描述信息,可以统一***内各分区的描述信息,从而达到对一个分区进行升级时,不会影响其他分区的描述信息的准确性的效果。
进一步地,参照图4,本发明第四实施例提供一种设备分区信息传递方法,基于上述图1所示的实施例,在上述步骤S40之后,还包括:
步骤S60、对所述组件分区内的数据进行数据匹配及校验;若校验成功,则根据所述更新后的所述组件分区内对应的分区的描述信息对***内对应分区进行初始化;若校验失败,则使用***默认的静态分区表的描述信息来初始化所述***内对应分区,将所述***默认的静态分区表的描述信息按照组件分区内的描述信息的格式存储到所述***内组件分区中,供***运行使用。
其中,为配合本发明的设计,***更新后,从组件分区读取分区信息列表来对设备进行初始化,如获取失败,则认为是该***的第一次上电使用,则使用内存中默认的分区描述信息来完成***初始化,以保证设备的第一次运行的正常完成。
需要说明的是,***第一次上电使用是说明,***上电使用之前没有其他使用记录和其他描述信息,需要按照***默认的分区描述信息来完成***初始化。
具体实施时,以***升级过程为例,具体步骤如下:
1,***上电。
2,***从组件分区读取分区信息的内容。
3,对组件分区内容进行数据匹配及校验等合法性验证,。
4,若验证正确,则根据所述更新后的所述组件分区内对应的分区的描述信息对***内对应分区进行初始化。
5,若验证失败,则使用***默认的静态分区表的描述信息来初始化***。
6,将默认分区描述信息按照组件分区的描述信息的格式生成对应的分区描述信息,并将该描述信息存储到组件分区内,供***运行使用。
在本实施例中,通过对***进行初始化,使***适应本发明的设计。可以让***第一次运行正常完成,解决了由于升级文件的更新导致的设备无法正常使用的问题。
参照图5,本发明第一实施例提供一种设备分区信息传递装置,包括:第一获取模块100、判断模块200、第一更新模块300、第二更新模块,其中:
获取模块100,用于从***的组件分区中读取***内待升级分区的描述信息,并获取升级文件中的升级分区的描述信息。
需要说明的是,在满足***应用分区划分的基础上添加一个组件分区,该分区会根据***应用需求设计为合适的大小,并用来存储分区描述信息列表。将分区描述信息设计为特定格式的数据结构,每个结构体描述了对应分区的索引、大小以及位置偏移等其他辅助信息。将设备升级文件设计为文件数据头与各个升级分区的组合形式,数据头主要用来说明本次升级分区的个数,以及每个分区在本次升级文件中的位置偏移。将每个升级分区内容设计为组件头加升级数据的格式,组件头即为本次待升级分区的描述信息。
其中,根据***需求,对***flash进行分区划分,每个分区存储特定的数据,其中在flash的固定位置处留出一定空间作为组件分区,该分区用来存储***中各分区的描述信息,每一个分区描述信息对应了一个结构体数据,对分区的属性进行了相关描述,包括分区名称、大小、所处的位置偏移以及其他辅助信息。
判断模块200,用于判断所述升级文件中的升级分区的描述信息与所述***内对应的待升级分区的描述信息是否一致。
其中,在程序版本升级操作中,先从升级文件头数据中找到升级分区数据,从数据的组件头中提取分区描述信息,并按照该信息来存放升级内容,同时判断分区描述信息是否与当前使用的发生了变化。
第一更新模块300,用于若不一致,则在判断模块200判断所述升级文件中的升级分区的描述信息与所述***内对应的待升级分区的描述信息不一致时,更新所述***内对应的待升级分区的描述信息。
其中,升级文件的升级分区的描述信息与***内对应的待升级分区的描述信息不一致,则证明***内对应的待升级分区的描述信息发生改变,需要按照升级文件内的升级分区的描述信息对***内待升级分区的描述信息进行修改。
其中,更新***内对应的待升级分区的描述信息后,按照更新后的所述描述信息向所述***内对应的待升级分区存放升级文件中的升级数据。
需要说明的是,描述信息记录的是对应分区的索引、大小以及位置偏移信息。
第二更新模块400,用于按照更新后的所述***内对应的分区的描述信息,更新所述组件分区内对应的分区的描述信息。
完成每个分区的描述信息的更新后,将更新过的分区描述信息存储到***中的组件分区内,完成组件分区的更新。
具体实施时,以***升级过程为例,具体步骤如下:
1,启动版本升级操作。
2,获取模块100对版本升级文件头进行解析,获得本次升级的分区数以及待升级分区数据在文件中的位置。
3,获取模块100依次获取待升级分区的数据,并从数据头中提取分区描述信息。
4,判断模块200判断该分区描述信息与***当前使用的同一分区描述信息是否一致。若一致,则进行更新。
5,第一更新模块400根据差异对内存中的分区描述信息进行修改。
6,用更新过的描述信息完成该分区内容的在flash中的存储,升级分区总数自减。
7,判断待升级分区数是否大于0,若是,则升级下一个分区。
8,待所有分区升级完成后,第二更新模块300将更新后的内存中的分区描述信息存储到组件分区中,即完成了分区信息从外部版本文件动态传递到***存储模块。
9,***复位,初始化模块700开始使用新的分区信息去初始化***。
在本实施例中,通过获取模块100从***的组件分区中读取***内待升级分区的描述信息,并获取升级文件中的升级分区的描述信息;判断模块200判断所述升级文件中的升级分区的描述信息与所述***内对应的待升级分区的描述信息是否一致;第一更新模300块若不一致,则更新所述***内对应的待升级分区的描述信息;第二更新模块400按照更新后的所述***内对应的分区的描述信息,更新所述组件分区内对应的分区的描述信息。解决了由于分区信息调整复杂而导致的程序开发阶段效率低下以及后期程序版本维护不便利的问题。
进一步地,参照图6,本发明第二实施例提供一种设备分区信息传递装置,基于上述图5所示的实施例,所述获取模块100包括:
第一获取单元110,用于对升级文件的文件头进行解析,获取升级文件的文件头中的升级分区数据在升级文件中的位置偏移。
其中,在***升级过程中,读取升级文件时,首先对升级文件的文件头进行解析,获取升级文件的文件头中的升级分区的升级数据在升级文件中的位置偏移,然后按照文件头中记录的升级数据在升级文件中的位置偏移对***进行升级。
其中,所述升级文件由文件头与各个升级分区组成,所述升级文件中的文件头描述所述升级分区的个数,以及每个升级分区在所述升级文件中的位置偏移;
第二获取单元120,用于根据所述升级文件的文件头中的升级分区数据在升级文件中的位置偏移,获取升级文件中的升级分区数据。
其中,升级文件的文件头可以对整个设备升级文件进行统一的记录和管理,在设备升级文件中,每一个升级文件的升级分区的数据都是分开的,文件头可以记录每一个升级文件的升级分区的升级数据的位置,升级分区的总数,方便***升级时对升级文件的升级分区的统一管理与调用。
其中,升级文件的各个升级分区中记录着各个升级分区的升级数据,当设备升级的过程中,方便区分各个待升级分区的升级文件的位置,可以对***内的待升级分区的升级数据进行快速查找。
第三获取单元130,用于根据所述升级分区数据的组件头,获取升级分区的描述信息。
其中,每个升级分区的内容由组件头加升级数据组成;每个升级分区与所述***内待升级应用分区对应。
其中,每一个分区描述信息对应了一个结构体数据,对分区的属性进行了相关描述,包括分区名称、大小、所处的位置偏移以及其他辅助信息。将这些数据统一记录,管理可以起到对待升级分区的快速升级,同时可以快速的找到升级数据在待升级分区的位置。
在本实施例中,通过对升级文件的统一格式,分区描述信息的统一管理。解决了由于分区描述信息调整复杂而导致的程序开发阶段效率低下以及后期程序版本维护不便利的问题。
进一步地,参照图7,本发明第三实施例提供一种设备分区信息传递装置,基于上述图5所示的实施例,所述分区信息传递装置包括:
第一升级模块500,用于若升级文件中的升级分区的描述信息与***内对应的待升级分区的描述信息一致,则按照所述***内对应的待升级分区的描述信息存放升级文件中升级分区的升级数据。
其中,升级文件的升级分区的描述信息与***内对应的待升级分区的描述信息一致,则证明***内对应的待升级分区的描述信息没有发生改变,只需要按照***内待升级分区的描述信息进行升级数据的存放。
需要说明的是,分区的描述信息记录的是对应分区的索引、大小以及位置偏移信息。
在本实施例中,通过更新***内待升级分区的描述信息,可以统一***内各分区的描述信息,从而达到对一个分区进行升级时,不会影响其他分区的描述信息的准确性的效果。
进一步地,参照图8,本发明第四实施例提供一种设备分区信息传递装置,基于上述图5所示的实施例,所述分区信息传递装置,包括:
初始化模块600,用于对所述组件分区内的数据进行数据匹配及校验;
若校验成功,则根据所述更新后的所述组件分区内对应的分区的描述信息对***内对应分区进行初始化;
若校验失败,则使用***默认的静态分区表的描述信息来初始化所述***内对应分区,将所述***默认的静态分区表的描述信息按照组件分区内的描述信息的格式存储到所述***内组件分区中,供***运行使用。
其中,为配合本发明的设计,***更新后,从组件分区读取分区信息列表来对设备进行初始化,如获取失败,则认为是该***的第一次上电使用,则使用内存中默认的分区描述信息来完成***初始化,以保证设备的第一次运行的正常完成。
需要说明的是,***第一次上电使用是说明,***上电使用之前没有其他使用记录和其他描述信息,需要按照***默认的分区描述信息来完成***初始化。
具体实施时,以***升级过程为例,具体步骤如下:
1,***上电。
2,***从组件分区读取分区信息的内容。
3,初始化模块600对组件分区内容进行数据匹配及校验等合法性验证,。
4,若验证正确,则根据所述更新后的所述组件分区内对应的分区的描述信息对***内对应分区进行初始化。
5,若验证失败,则使用***默认的静态分区表的描述信息来初始化***。
6,初始化模块600将默认分区描述信息按照组件分区的描述信息的格式生成对应的分区描述信息,并将该描述信息存储到组件分区内,供***运行使用。
在本实施例中,通过初始化模块600对***进行初始化,使***适应本发明的设计。可以让***第一次运行正常完成,解决了由于升级文件的更新导致的设备无法正常使用的问题。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (10)

1.一种设备分区信息传递方法,其特征在于,包括:
从***的组件分区中读取***内待升级分区的描述信息,并获取升级文件中的升级分区的描述信息;
判断所述升级文件中的升级分区的描述信息与所述***内对应的待升级分区的描述信息是否一致;
若不一致,则更新所述***内对应的待升级分区的描述信息;
按照更新后的所述***内对应的分区的描述信息,更新所述组件分区内对应的分区的描述信息。
2.如权利要求1所述的设备分区信息传递方法,其特征在于,所述***内待升级分区的描述信息存储于所述组件分区中,所述描述信息为设定格式的数据结构,所述数据结构由结构体组成,所述结构体描述对应分区的索引、大小以及位置偏移信息:
所述升级文件由文件头与各个升级分区组成,所述升级文件中的升级分区的描述信息存储于所述升级文件的文件头中,文件头描述所述升级分区的个数,以及每个升级分区在所述升级文件中的位置偏移;每个升级分区的内容由组件头加升级数据组成;每个升级分区与所述***内待升级应用分区对应。
3.如权利要求2所述的设备分区信息传递方法,其特征在于,所述获取升级文件中的升级分区的描述信息的步骤包括:对升级文件的文件头进行解析,获取升级文件的文件头中的升级分区数据在升级文件中的位置偏移;
根据所述升级文件的文件头中的升级分区数据在升级文件中的位置偏移,获取升级文件中的升级分区数据;
根据所述升级分区数据的组件头,获取升级分区的描述信息。
4.如权利要求1所述的设备分区信息传递方法,其特征在于,所述判断所述升级文件中的升级分区的描述信息与所述***内对应的待升级分区的描述信息是否一致的步骤之后,还包括:
若升级文件中的升级分区的描述信息与***内对应的待升级分区的描述信息一致,则按照所述***内对应的待升级分区的描述信息存放升级文件中升级分区的升级数据。
5.如权利要求1-4任一项所述的设备分区信息传递方法,其特征在于,所述按照更新后的所述***内对应的各个分区的描述信息,更新所述组件分区内对应的各个应用分区的描述信息的步骤之后,还包括:
对所述组件分区内的数据进行数据匹配及校验;
若校验成功,则根据所述更新后的所述组件分区内对应的分区的描述信息对***内对应分区进行初始化;
若校验失败,则使用***默认的静态分区表的描述信息来初始化所述***内对应分区,将所述***默认的静态分区表的描述信息按照组件分区内的描述信息的格式存储到所述***内组件分区中,供***运行使用。
6.一种设备分区信息传递装置,其特征在于,包括:
获取模块,用于从***的组件分区中读取***内待升级分区的描述信息,并获取升级文件中的升级分区的描述信息;
判断模块,用于判断所述升级文件中的升级分区的描述信息与所述***内对应的待升级分区的描述信息是否一致;
第一更新模块,用于在判断模块判断所述升级文件中的升级分区的描述信息与所述***内对应的待升级分区的描述信息不一致时,更新所述***内对应的待升级分区的描述信息;
第二更新模块,用于按照更新后的所述***内对应的分区的描述信息,更新所述组件分区内对应的分区的描述信息。
7.如权利要求6所述的设备分区信息传递方法,其特征在于,所述***内待升级分区的描述信息存储于所述组件分区中,所述描述信息为设定格式的数据结构,所述数据结构由结构体组成,所述结构体描述对应分区的索引、大小以及位置偏移信息:
所述升级文件由文件头与各个升级分区组成,所述升级文件中的升级分区的描述信息存储于所述升级文件的文件头中,文件头描述所述升级分区的个数,以及每个升级分区在所述升级文件中的位置偏移;每个升级分区的内容由组件头加升级数据组成;每个升级分区与所述***内待升级应用分区对应。
8.如权利要求6所述的设备分区信息传递装置,其特征在于,所述获取模块包括:
第一获取单元,用于对升级文件的文件头进行解析,获取升级文件的文件头中的升级分区数据在升级文件中的位置偏移;
第二获取单元,用于根据所述升级文件的文件头中的升级分区数据在升级文件中的位置偏移,获取升级文件中的升级分区数据。
第三获取单元,用于根据所述升级分区数据的组件头,获取升级分区的描述信息。
9.如权利要求6所述的设备分区信息传递装置,其特征在于,所述分区信息传递装置还包括:
第一升级模块,用于若升级文件中的升级分区的描述信息与***内对应的待升级分区的描述信息一致,则按照所述***内对应的待升级分区的描述信息存放升级文件中升级分区的升级数据。
10.如权利要求6-9任一项所述的设备分区信息传递装置,其特征在于,所述分区信息传递装置还包括:
初始化模块,用于对所述组件分区内的数据进行数据匹配及校验;若校验成功,则根据所述更新后的所述组件分区内对应的分区的描述信息对***内对应分区进行初始化;若校验失败,则使用***默认的静态分区表的描述信息来初始化所述***内对应分区,将所述***默认的静态分区表的描述信息按照组件分区内的描述信息的格式存储到所述***内组件分区中,供***运行使用。
CN201510715848.7A 2015-10-28 2015-10-28 设备分区信息传递方法及装置 Withdrawn CN106648441A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201510715848.7A CN106648441A (zh) 2015-10-28 2015-10-28 设备分区信息传递方法及装置
PCT/CN2016/103787 WO2017071646A1 (zh) 2015-10-28 2016-10-28 设备分区信息传递方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510715848.7A CN106648441A (zh) 2015-10-28 2015-10-28 设备分区信息传递方法及装置

Publications (1)

Publication Number Publication Date
CN106648441A true CN106648441A (zh) 2017-05-10

Family

ID=58631329

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510715848.7A Withdrawn CN106648441A (zh) 2015-10-28 2015-10-28 设备分区信息传递方法及装置

Country Status (2)

Country Link
CN (1) CN106648441A (zh)
WO (1) WO2017071646A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109960523A (zh) * 2017-12-22 2019-07-02 浙江宇视科技有限公司 一种嵌入式设备的固件升级方法及装置
CN112052031A (zh) * 2020-08-26 2020-12-08 烽火通信科技股份有限公司 一种业务板卡自动匹配和升级cpld的方法及装置
CN112752154A (zh) * 2019-10-29 2021-05-04 青岛海尔多媒体有限公司 软件升级方法及装置、智能电视

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7017004B1 (en) * 2002-03-29 2006-03-21 Microsoft Corporation System and method for updating contents of a flash ROM
CN101520734A (zh) * 2008-12-17 2009-09-02 康佳集团股份有限公司 一种升级闪存中数据的方法及其网络电视和交互式机顶盒
CN102945179B (zh) * 2012-11-28 2016-06-29 青岛海信宽带多媒体技术有限公司 基于mtd分区的软件升级方法和装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109960523A (zh) * 2017-12-22 2019-07-02 浙江宇视科技有限公司 一种嵌入式设备的固件升级方法及装置
CN112752154A (zh) * 2019-10-29 2021-05-04 青岛海尔多媒体有限公司 软件升级方法及装置、智能电视
CN112052031A (zh) * 2020-08-26 2020-12-08 烽火通信科技股份有限公司 一种业务板卡自动匹配和升级cpld的方法及装置
CN112052031B (zh) * 2020-08-26 2023-03-14 烽火通信科技股份有限公司 一种业务板卡自动匹配和升级cpld的方法及装置

Also Published As

Publication number Publication date
WO2017071646A1 (zh) 2017-05-04

Similar Documents

Publication Publication Date Title
CN107506219A (zh) 一种基于Android***的通用版本升级方法
CN103559065B (zh) 一种ota升级的方法和***
US7797696B1 (en) Dynamically updating a computer system and firmware image utilizing an option read only memory (OPROM) data structure
CN104133699B (zh) 设备***软件升级方法与***
CN106775723A (zh) 基于Android平台的***固件定制的方法和Android设备
CN108037916A (zh) 一种基于web的图形化业务建模方法
CN104679532B (zh) 内核模块加载方法和装置
CN107220060A (zh) 一种同时支持多个ota升级包升级的方法及***
US9507680B2 (en) Verification system and method for automated verification of register information for an electronic system
CN110275861A (zh) 数据存储方法及装置、存储介质、电子装置
CN107301070A (zh) 一种升级方法及终端
CN101739266A (zh) 固件更新方法
CN107368513B (zh) 客户端数据库更新的方法及装置
CN106648441A (zh) 设备分区信息传递方法及装置
CN106027644A (zh) 一种业务的校验方法及***
CN106255962A (zh) 用于改进数据结构存储的***和方法
CN106873970A (zh) 一种操作***的安装方法和装置
CN102999349A (zh) 一种软件升级方法
CN110209420A (zh) 一种更新引导加载程序的方法及装置
CN106445584A (zh) 软件模块的管理方法及***
CN105700917A (zh) 一种dll与数据库同步的方法及装置
CN105988943A (zh) 一种驱动无线适配器的方法及装置
CN111831301B (zh) 支持无分叉升级的区块链运行时环境***、方法
TW201721434A (zh) 用於自動化生成軟體測試資料之電腦程式產品及其方法
CN106325921B (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
WW01 Invention patent application withdrawn after publication
WW01 Invention patent application withdrawn after publication

Application publication date: 20170510