CN104156319B - 数据处理方法和装置 - Google Patents
数据处理方法和装置 Download PDFInfo
- Publication number
- CN104156319B CN104156319B CN201410398998.5A CN201410398998A CN104156319B CN 104156319 B CN104156319 B CN 104156319B CN 201410398998 A CN201410398998 A CN 201410398998A CN 104156319 B CN104156319 B CN 104156319B
- Authority
- CN
- China
- Prior art keywords
- parameter
- dynamic
- data
- big
- header
- 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.)
- Active
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种数据处理方法和装置。所述方法包括:对用户设备的存储介质进行划分,生成全局信息域,静态小数据域,静态大数据域,动态小数据域和动态大数据域;根据所述存储介质的划分结果,分别对所述静态小数据域,静态大数据域,动态小数据域和动态大数据域的数据进行处理。
Description
技术领域
本发明涉及存储领域,尤其涉及一种数据处理方法和装置。
背景技术
在嵌入式产品的软件开发中,通常针对不同的应用需要对一些参数进行调整,且一般来说存储这些参数的媒介需要能有掉电保存机制,带电可擦写可编程只读存储器(Electrically Erasable Programmable ROM,缩写:EEPROM)和闪存(Flash)是应用最为广泛的两种非易失性存储器。对于参数所需存储空间较少的情况,通常会选取EEPROM来存储这些参数,而对于需要存储的数据较大,比如参数中有较大文件等的情形,则会选取Flash作为存储介质。
以蓝牙设备为例,由于其增加语音提示,语音识别,以及其他复杂的配置功能,需要存储语音等音频文件,其占用的空间会超过通常容量(size)的EEPROM,因此综合成本与性能需要更换存储介质为Flash。
Flash和EEPROM之间的区别在于,EEPROM是可以以字节为单位随机读写,且不需要擦除即可对其编程,而Flash则是按块(Block)/扇区(Sector)为单位擦除,然后以页(Page)为单位进行读写和编程,且Flash的写操作只能从“1”写“0”的特性,如果需要改写Flash的存储内容则需要先擦后写。因此,如果因为更改某几个字节而需要擦除整块并保存未改变的部分,最后又重新写整块,这一过程非常浪费内存和中央处理器(Central ProcessingUnit,缩写:CPU)。
发明内容
本发明的目的是解决Flash中,因为更改某几个字节而擦除整块而造成的内存和CPU浪费的问题。
第一方面,本发明实施例提供了一种数据处理方法,所述方法包括:
对用户设备的存储介质进行划分,生成全局信息域,静态小数据域,静态大数据域,动态小数据域和动态大数据域;
根据所述存储介质的划分结果,分别对所述静态小数据域,静态大数据域,动态小数据域和动态大数据域的数据进行处理。
优选地,所述全局信息域包括各域的基址信息,所述基址信息用于指示所述全局信息域,静态小数据域,静态大数据域,动态小数据域,动态大数据域在所述存储介质中的地址。
优选地,所述动态小数据域包括Ping区和Pong区,所述Ping区和Pong区分别包括有效标记,有效标记取反,动态小参数数量值,DS参数数量值取反,DS参数头信息,DS参数有效数据;
所述对动态小数据域的数据进行处理具体包括:
在改写Ping区的第一数据时,根据第一数据的标号,确定所述第一数据在Ping区的第一地址;
根据所述第一地址,将除第一地址外,Ping区的其它地址所对应的数据复制到Pong区,并将所述第一数据的更新数据写入到Pong区;
将所述Pong区的有效标记置为有效;
擦除Ping区的数据。
优选地,所述根据第一数据的标号,确定所述第一数据在Ping区的第一地址具体包括:
查询Ping区的静态小DS参数头信息,其中所述DS参数头信息包括参数标号、参数长度和参数值偏移地址;
将所述第一数据的标号和所述参数标号匹配,在匹配成功后,根据所述参数长度和参数值偏移地址,确定所述第一数据的第一地址。
优选地,所述动态大参数域包括第一动态大参数头信息链表和第二动态大参数头信息链表,所述第一动态大参数头信息链表和第二动态大参数头信息链表分别包括有效标记,有效标记取反,动态大参数数量,动态大参数数量取反,动态大参数头信息;
所述对动态大数据域的数据进行处理具体包括:
在改写动态大参数域的第二数据时,查询动态大参数头信息链表集,根据每个动态大参数头信息链表的有效标记,确定有效动态大参数头信息链表,其中各个动态大参数头信息链表构成动态大参数头信息链表集;
当有效动态大参数头信息链表为第一动态大参数头信息链表时,查询所述第一动态大参数头信息链表,确定所述第二数据的动态大参数头信息,其中所述动态大参数头信息包括标号域,动态大参数长度域和动态大参数段标号;
将第二数据的标号和所述标号域进行匹配,在匹配成功时,根据所述动态大参数段标号,确定所述第二数据所在的原始段;
根据所述动态大参数长度域,确定所述第二数据在所述原始段中的第二地址;
根据所述第二地址,将除第二地址外,所述原始段中的其它地址对应的数据复制到更新段中,并将所述第二数据的更新数据写入到更新段中;
更新动态大参数头信息,并擦除所述原始段中的数据;
将所述第一动态大参数头信息链表中除所述更新后的动态大参数头信息外的其它动态大参数头信息复制到第二动态大参数头信息链表;
将所述更新后的动态大参数头信息写入第二动态大参数头信息链表;
将所述第二动态大参数头信息链表置的有效标记为有效;
将所述第一动态大参数头信息链表擦除。
优选地,所述静态小数据域和静态大数据域分别包括静态参数数量值,静态参数数量值取反,静态参数头信息,静态参数有效数据;
所述对静态小数据域和静态大数据域的数据进行处理具体包括:
当读取静态小数据域或者静态大数据域的第三数据时,根据第三数据的标号,查询静态参数头信息,其中所述静态参数头信息包括参数标号,参数长度,参数值偏移地址;
将所述第三数据的标号和静态参数头信息的参数标号进行匹配,当匹配成功时,根据所述参数长度和参数偏移地址,确定所述第三数据的第三地址;
根据所述第三地址,读取所述第三数据。
第二方面,本发明实施例提供了一种数据处理装置,所述装置包括分类单元和处理单元;
所述分类单元,用于对用户设备的存储介质进行划分,生成全局信息域,静态小数据域,静态大数据域,动态小数据域和动态大数据域;
所述处理单元,用于根据所述存储介质的划分结果,分别对所述静态小数据域,静态大数据域,动态小数据域和动态大数据域的数据进行处理。
优选地,所述全局信息域包括各域的基址信息,所述基址信息用于指示所述全局信息域,静态小数据域,静态大数据域,动态小数据域,动态大数据域在所述存储介质中的地址。
优选地,所述动态小数据域包括Ping区和Pong区,所述Ping区和Pong区分别包括有效标记,有效标记取反,动态小参数数量值,DS参数数量值取反,DS参数头信息,DS参数有效数据;
所述处理单元具体用于:
在改写Ping区的第一数据时,根据第一数据的标号,确定所述第一数据在Ping区的第一地址;
根据所述第一地址,将除第一地址外,Ping区的其它地址所对应的数据复制到Pong区,并将所述第一数据的更新数据写入到Pong区;
将所述Pong区的有效标记置为有效;
擦除Ping区的数据。
优选地,所述处理单元具体用于:
查询Ping区的静态小DS参数头信息,其中所述DS参数头信息包括参数标号、参数长度和参数值偏移地址;
将所述第一数据的标号和所述参数标号匹配,在匹配成功后,根据所述参数长度和参数值偏移地址,确定所述第一数据的第一地址。
优选地,所述动态大参数域包括第一动态大参数头信息链表和第二动态大参数头信息链表,所述第一动态大参数头信息链表和第二动态大参数头信息链表分别包括有效标记,有效标记取反,动态大参数数量,动态大参数数量取反,动态大参数头信息;
所述处理单元具体用于:
在改写动态大参数域的第二数据时,查询动态大参数头信息链表集,根据每个动态大参数头信息链表的有效标记,确定有效动态大参数头信息链表,其中各个动态大参数头信息链表构成动态大参数头信息链表集;
当有效动态大参数头信息链表为第一动态大参数头信息链表时,查询所述第一动态大参数头信息链表,确定所述第二数据的动态大参数头信息,其中所述动态大参数头信息包括标号域,动态大参数长度域和动态大参数段标号;
将第二数据的标号和所述标号域进行匹配,在匹配成功时,根据所述动态大参数段标号,确定所述第二数据所在的原始段;
根据所述动态大参数长度域,确定所述第二数据在所述原始段中的第二地址;
根据所述第二地址,将除第二地址外,所述原始段中的其它地址对应的数据复制到更新段中,并将所述第二数据的更新数据写入到更新段中;
更新动态大参数头信息,并擦除所述原始段中的数据;
将所述第一动态大参数头信息链表中除所述更新后的动态大参数头信息外的其它动态大参数头信息复制到第二动态大参数头信息链表;
将所述更新后的动态大参数头信息写入第二动态大参数头信息链表;
将所述第二动态大参数头信息链表的有效标记置为有效;
将所述第一动态大参数头信息链表擦除。
优选地,所述静态小数据域和静态大数据域分别包括静态参数数量值,静态参数数量值取反,静态参数头信息,静态参数有效数据;
所述处理单元具体用于:
当读取静态小数据域或者静态大数据域的第三数据时,根据第三数据的标号,查询静态参数头信息,其中所述静态参数头信息包括参数标号,参数长度,参数值偏移地址;
将所述第三数据的标号和静态参数头信息的参数标号进行匹配,当匹配成功时,根据所述参数长度和参数偏移地址,确定所述第三数据的第三地址;
根据所述第三地址,读取所述第三数据。
本发明通过对Flash区域的划分,并对划分后的区域采用不同的数据写入或者读取方法,节省了内存和CPU。
附图说明
图1为本发明实施例一提供的数据处理方法流程图;
图2为本发明实施例一提供的存储介质划分示意图;
图3为本发明实施例二提供的动态小数据域架构图;
图4为本发明实施例一提供的数据处理方法的一种实现;
图5为本发明实施例三提供的动态大数据架构图;
图6为本发明实施例一提供的数据处理方法的另一种实现;
图7为本发明实施例四提供的静态数据域架构图;
图8为本发明实施例一提供的数据处理方法的再一种实现;
图9为本发明实施例五提供的数据处理装置示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为便于对本发明实施例的理解,下面将结合附图以具体实施例做进一步的解释说明,实施例并不构成对本发明实施例的限定。
应当理解,尽管在本发明实施例中可能采用术语第一、第二等来描述各种数据或地址,但这些数据或者地址不应限于这些术语。这些术语仅用来将数据或者地址彼此区分开。
实施例一
本发明实施例提供的数据处理方法应用于具有存储介质的用户设备。图1为本发明实施例一提供的数据处理方法流程图。如图1所示,本发明实施例包括:
S110,对用户设备的存储介质进行划分,生成全局信息域,静态小数据域,静态大数据域,动态小数据域和动态大数据域。
具体的,如图2所示,图2为本发明实施例一提供的存储介质划分示意图。在图2中,用户设备可以是个人电脑(Personal Computer,简称:PC)、台式电脑、蓝牙设备等,存储介质可以指个人电脑、台式电脑、蓝牙设备中的闪存(Flash Memory)。
在一个实施例中,可以根据存储介质中所存储的数据的特性,对存储介质进行划分,具体的,当用户设备上电或者开机后,存储介质,比如闪存中存储的数据长度不同(一些数据长度较长,另一些数据则较短),以及该些数据的可写性不同(一些数据可以更改,另一些数据不能更改),预先对Flash进行划分,可以将Flash划分为全局信息域,静态小数据域,静态大数据域,动态小数据域,动态大数据域。静态小数据域和静态大数据域可以统称为静态域,静态域为在Flash出厂后只能读不能写的区域。动态小数据域和动态大数据域可以统称为动态域,动态域为在flash使用过程中,可以进行多次擦写的区域。
其中,全局信息域用于存储Flash硬件信息(比如厂家,容量等信息),版本信息(比如Flash的类型),以及各域的基址信息,各域的基址信息用于指示全局信息域、静态小数据域、静态大数据域、动态小数据域及动态大数据域的起始地址,根据各域的起始地址,可以确定各域的可以存储的数据的容量。
以蓝牙设备为例,静态小数据域用于存储蓝牙设备系统配置参数,该域存储的参数的内容较少,容量一般在几字节到几十字节。静态大数据域用于存储蓝牙设备配置相关的较大的数据文件,比如语音标签,静态文本文件、固化的语音提示录音文件、其他固化的模板信息等,该些语音标签或静态文本文件的长度单位为KB级别。动态小数据域用于存储蓝牙设备系统配置参数中需要动态修改的长度较短的参数,该些参数长度一般在几字节到几十字节范围。动态大数据域用于存储蓝牙设备系统配置参数中需要动态修改的长参数文件,如语音识别标签,录音文件等。
S120,根据所述存储介质的划分结果,分别对所述静态小数据域,静态大数据域,动态小数据域和动态大数据域的数据进行处理。
具体的,对存储介质中的各域,可以采取不同的数据处理方法,进行数据的写入或者读出,以节省内存和CPU。
实施例二
动态小数据域中,在Flash运行时需要更改一些长度较短的配置参数,该些配置参数的字节数是很少的。以需要更新的配置参数是音量参数为例,要将该音量参数进行修改,将其变更为更新数据(更新数据是该音量参数修改后的数据),可以结合图3和图4,说明如何实现该音量参数的更新。
图3为本发明实施例二提供的动态小数据域架构图。如图3所示,在图3中,将动态小数据域划分为Ping区和Pong区,Ping区包括:有效标记,有效标记取反,动态小(DynamicSmall,缩写:DS)参数数量值,DS参数数量值取反,DS参数头信息,DS参数有效数据。
其中,动态小数据域Pong区和动态小数据域Ping区大小相等,结构相同,在一个时刻,Ping区和Pong区中只有一个处于有效状态,当Ping区有效时,则Pong区无效,反之亦然。可以用有效标记指示Ping区和Pong区中的哪个处于有效状态,用有效标记取反表示将有效的Ping区或者Pong区置为无效状态,比如可以以“1”表示有效,以“0”表示无效,当Ping区有效时,Ping区的有效标记为“1”时,当Ping区无效时,对Ping区的有效标记取反,将Ping区的有效标记置为“0”。DS参数头信息的个数为一个或多个,比如DS参数1头信息,DS参数2头信息,DS参数3头信息等。DS参数有效数据和DS参数头信息一一对应,比如,DS参数1有效数据对应DS参数1头信息。DS参数数量值用于表示Ping区或Pong区数据的数量。DS参数数量值取反用于表示
DS参数头信息包括:11位参数标号,11位参数长度,18位参数值偏移地址,7位循环冗余码,其中参数标号,参数长度,参数值偏移地址,循环冗余码的位数也可以是其它数值,本实施例并不限定。
DS参数有效数据包括:参数键值。
下面以图4为例详细说明如何在动态小数据域中进行数据的修改,图4为本发明实施例一提供的数据处理方法的一种实现,本实施例具体包括以下步骤:
S410,在改写Ping区的第一数据时,根据第一数据的标号,确定所述第一数据在Ping区的第一地址。
具体的,S410具体包括:
S4101,查询Ping区的DS参数头信息,其中所述DS参数头信息包括参数标号、参数长度和参数值偏移地址;
S4102,将所述第一数据的标号和所述参数标号匹配,在匹配成功后,根据所述参数长度和参数值偏移地址,确定所述第一数据的第一地址。
在第一数据的标号(该标号为预设的)和某个参数标号匹配时,获取到第一数据的起始地址,根据第一数据的参数长度以及参数值偏移地址,获取到第一数据的结束地址,根据该起始地址和结束地址,获取到第一数据的第一地址。
S420,根据所述第一地址,将除第一地址外,Ping区的其它地址所对应的数据复制到Pong区,并将所述第一数据的更新数据写入到Pong区。
在一个实施例中,如果要更新位于Ping区的配置参数中的音量参数,则该音量参数即为第一数据,根据S410,如果确定该音量参数对应的第一地址,当根据该第一地址确定在该第一地址下的数据为DS参数1有效数据时,则说明该DS参数1有效数据为音量参数,则根据第一地址,将除过第一地址以外的其它地址上的数据,比如DS参数2有效数据、DS参数3有效数据等复制到Pong区,然后将音量参数的更新数据写入到Pong区。
S430,将所述Pong区的有效标记置为有效。
将Pong区的有效标记置为有效。
S440,擦除Ping区的数据。
擦除Ping区的数据后,将Ping区的有效标记置为无效,可以将Ping区的有效标记置为0,将Ping区的有效标记取反置为1。
可以理解的是,在动态小数据域中,上述方法也适用于更新动态小数据Pong区的数据,在此不再赘述。
应用本实施例提供的动态小数据域的数据处理方法,实现了在更新Ping区的参数时,直接将更新数据写入到Pong区,节省了内存,同时也节省了CPU。
实施例三
动态大数据域中,存储着语音识别模板,语音提示录音等系统配置相关的较大的数据文件,该些较大的数据文件的容量较大,一般是以KB为单位的。在flash运行时,需要更改该些较大的数据文件,下面结合图5和图6,说明如何更新动态大数据域的数据。
图5为本发明实施例三提供的动态大数据架构图。如图5所示,在图5中,动态大数据域包括:动态大参数头信息链表和动态大参数有效数据。动态大参数头信息链表记录了所有动态大参数值的信息。
其中,动态大参数头信息链表包括:有效标记、有效标记取反、动态大参数数量、动态大参数数量取反、动态大参数头信息。
在一个实施例中,动态大参数头信息链表的个数是两个,即第一动态大参数头信息链表和第二动态大参数头信息链表,在一个时刻,只有一个动态大参数头信息链表处于有效状态,当第一动态大参数头信息链表有效时,则第二动态大参数头信息链表无效,反之亦然。可以用有效标记指示第一动态大参数头信息链表和第二动态大参数头信息链表中的哪个链表处于有效状态,用有效标记取反表示将动态大参数头信息链表置为无效状态,有效标记是1字节,有效标记取反是1字节,当有效标记为0x0000xxxx时,则动态大参数头信息链表是有效的,如果要将该动态大参数头信息链表置为无效,则对有效标记取反,即当有效标记取反为0x1111xxxx时,则动态大参数头信息链表是无效的。动态大参数数量是2字节,动态大参数数量取反是2字节,动态大参数头信息的个数为一个或多个,比如动态大参数1头信息,动态大参数2头信息等。动态大参数数量用于表示动态大参数的个数。
动态大参数头信息包括:11位标号域、17位动态大参数长度域、4位保留域、16位动态大参数段标号以及8位循环冗余码,其中标号域,动态大参数长度,保留域,动态大参数段标号,循环冗余码的位数也可以是其它数值,本实施例并不限定。
下面以图6为例详细说明如何在动态大数据域中进行数据的修改,图6为本发明实施例一提供的数据处理方法的另一种实现,本实施例具体包括以下步骤:
S601,在改写动态大参数域的第二数据时,查询动态大参数头信息链表集,根据每个动态大参数头信息链表的有效标记,确定有效动态大参数头信息链表,其中各个动态大参数头信息链表构成动态大参数头信息链表集;
第一动态大参数头信息链表和第二动态大参数头信息链表构成动态大参数头信息链表集。
S602,当有效动态大参数头信息链表为第一动态大参数头信息链表时,查询所述第一动态大参数头信息链表,确定所述第二数据的动态大参数头信息,其中所述动态大参数头信息包括标号域,动态大参数长度域和动态大参数段标号;
具体的,根据第二数据的标号和动态大参数头信息链表中的标号域,确定第二数据的动态大参数头信息,其中第二数据的标号是预设的。
S603,将第二数据的标号和所述标号域进行匹配,在匹配成功时,根据所述动态大参数段标号,确定所述第二数据所在的原始段;
第二数据对应的原始段的数量可以是一个,也可以是多个,当第二数据对应的原始段的数量是多个时,将该多个原始段组合,生成新的原始段。
在一个例子中,如果第二数据对应的原始段为动态大参数1有效数据、动态大参数2有效数据及动态大参数3有效数据所在的段,则将该3段中的第有效数据连接起来,其中,动态大参数1有效数据、动态大参数2有效数据及动态大参数3有效数据是不同的段。
S604,根据所述动态大参数长度域,确定所述第二数据在所述原始段中的第二地址;
S605,根据所述第二地址,将除第二地址外,所述原始段中的其它地址对应的数据复制到更新段中,并将所述第二数据的更新数据写入到更新段中;
S606,更新动态大参数头信息,并擦除所述原始段中的数据。
可选地,更新所述动态大参数头信息,并擦除所述原始段中的数据之后还包括:
S607,将所述第一动态大参数头信息链表中除所述更新后的动态大参数头信息外的其它动态大参数头信息复制到第二动态大参数头信息链表;
S608,将所述更新后的动态大参数头信息写入第二动态大参数头信息链表;
S609,将所述第二动态大参数头信息链表的有效标记置为有效;
S610,将所述第一动态大参数头信息链表擦除。
可以理解的是,在动态大参数域中,当第二动态大参数头信息链表为有效动态大参数头信息链表时,上述方法也同样适用,在此不做赘述。
应用本实施例提供的动态大数据域的数据处理方法,实现了在更新原始段的第二数据时,直接将第二数据的更新数据写入到更新段,并将第一动态大参数头信息链表中不需要更新的动态大参数头信息写入到第二动态大参数头信息链表中,节省了内存,同时也节省了CPU。
实施例四
静态大数据域存储的一般为固化的语音提示录音文件或者其它固化的模板信息,而静态小数据域存储的为关系蓝牙设备运行的重要配置参数,静态大数据域和静态小数据域为在出厂后只能读不能写的区域,所以这两个域可以采取同样的数据处理方法,下面结合图7和图8,说明如何读取静态数据域的数据。
图7为本发明实施例四提供的静态数据域架构图。如图7所示,在图7中,静态数据域包括:静态参数数量值,静态参数数量值取反,静态参数头信息,静态参数有效数据(图7中未示出,静态数据域的结构和动态小数据域的结构相同)。
其中,静态参数头信息包括:参数标号,参数长度,参数值偏移地址和循环冗余码。
下面以图8为例详细说明如何对静态大数据域和静态小数据域进行数据的读取,图8为本发明实施例一提供的数据处理方法的再一种实现,本实施例具体包括以下步骤:
S810,当读取静态小数据域或者静态大数据域的第三数据时,根据第三数据的标号,查询静态参数头信息,所述静态参数头信息包括参数标号,参数长度,参数值偏移地址;
S820,将所述第三数据的标号和静态参数头信息的参数标号进行匹配,当匹配成功时,根据所述参数长度和参数偏移地址,确定所述第三数据的第三地址;
S830,根据所述第三地址,读取所述第三数据。
需要说明的是,本实施例中还可以将静态参数头信息的顺序打乱,以实现静态数据域的数据的加密,比如,将静态参数1头信息,静态参数2头信息,静态参数3头信息的顺序更改为静态参数2头信息,静态参数1头信息,静态参数3头信息。
应用本发明实施例提供的数据处理方法,通过对存储介质的分区管理,在需要改写或读取蓝牙设备的存储介质中的数据时,对每个域可以采取不同的数据处理方法,从而大大节省了内存和CPU。
实施例五
与上述数据处理方法对应地,图9为本发明实施例五提供的数据处理装置示意图。如图9所示,本实施例提供的装置包括:分类单元910,处理单元920。
所述分类单元910,用于对用户设备的存储介质进行划分,生成全局信息域,静态小数据域,静态大数据域,动态小数据域和动态大数据域;
所述处理单元920,用于根据所述存储介质的划分结果,分别对所述静态小数据域,静态大数据域,动态小数据域和动态大数据域的数据进行处理。
可选地,,其中所述全局信息域包括各域的基址信息,所述基址信息用于指示所述全局信息域,静态小数据域,静态大数据域,动态小数据域,动态大数据域在所述存储介质中的地址。
可选地,所述动态小数据域包括Ping区和Pong区,所述Ping区和Pong区分别包括有效标记,有效标记取反,动态小参数数量值,DS参数数量值取反,DS参数头信息,DS参数有效数据;
所述处理单元920具体用于:
在改写Ping区的第一数据时,根据第一数据的标号,确定所述第一数据在Ping区的第一地址;
根据所述第一地址,将除第一地址外,Ping区的其它地址所对应的数据复制到Pong区,并将所述第一数据的更新数据写入到Pong区;
将所述Pong区的有效标记置为有效;
擦除Ping区的数据。
可选地,所述处理单元920具体用于:
查询Ping区的静态小DS参数头信息,其中所述DS参数头信息包括参数标号、参数长度和参数值偏移地址;
将所述第一数据的标号和所述参数标号匹配,在匹配成功后,根据所述参数长度和参数值偏移地址,确定所述第一数据的第一地址。
可选地,所述动态大参数域包括第一动态大参数头信息链表和第二动态大参数头信息链表,所述第一动态大参数头信息链表和第二动态大参数头信息链表分别包括有效标记,有效标记取反,动态大参数数量,动态大参数数量取反,动态大参数头信息;
所述处理单元920具体用于:
在改写动态大参数域的第二数据时,查询动态大参数头信息链表集,根据每个动态大参数头信息链表的有效标记,确定有效动态大参数头信息链表,其中各个动态大参数头信息链表构成动态大参数头信息链表集;
当有效动态大参数头信息链表为第一动态大参数头信息链表时,查询所述第一动态大参数头信息链表,确定所述第二数据的动态大参数头信息,其中所述动态大参数头信息包括标号域,动态大参数长度域和动态大参数段标号;
将第二数据的标号和所述标号域进行匹配,在匹配成功时,根据所述动态大参数段标号,确定所述第二数据所在的原始段;
根据所述动态大参数长度域,确定所述第二数据在所述原始段中的第二地址;
根据所述第二地址,将除第二地址外,所述原始段中的其它地址对应的数据复制到更新段中,并将所述第二数据的更新数据写入到更新段中;
更新动态大参数头信息,并擦除所述原始段中的数据;
将所述第一动态大参数头信息链表中除所述更新后的动态大参数头信息外的其它动态大参数头信息复制到第二动态大参数头信息链表;
将所述更新后的动态大参数头信息写入第二动态大参数头信息链表;
将所述第二动态大参数头信息链表的有效标记置为有效;
将所述第一动态大参数头信息链表擦除。
可选地,所述静态小数据域和静态大数据域分别包括静态参数数量值,静态参数数量值取反,静态参数头信息,静态参数有效数据;
所述处理单元920具体用于:
当读取静态小数据域或者静态大数据域的第三数据时,根据第三数据的标号,查询静态参数头信息,其中所述静态参数头信息包括参数标号,参数长度,参数值偏移地址;
将所述第三数据的标号和静态参数头信息的参数标号进行匹配,当匹配成功时,根据所述参数长度和参数偏移地址,确定所述第三数据的第三地址;
根据所述第三地址,读取所述第三数据。
应用本发明实施例提供的数据处理装置,通过对存储介质的分区管理,在需要改写或读取蓝牙设备的存储介质中的数据时,对每个域可以采取不同的数据处理方法,从而大大节省了内存和CPU。
专业人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种数据处理方法,其特征在于,所述方法包括:
对用户设备的存储介质进行划分,生成全局信息域,静态小数据域,静态大数据域,动态小数据域和动态大数据域;
根据所述存储介质的划分结果,分别对所述静态小数据域,静态大数据域,动态小数据域和动态大数据域的数据进行处理;
其中,所述动态小数据域包括Ping区和Pong区,所述Ping区和Pong区分别包括有效标记,有效标记取反,动态小参数数量值,DS参数数量值取反,DS参数头信息和DS参数有效数据;
所述对动态小数据域的数据进行处理具体包括:
在改写Ping区的第一数据时,根据第一数据的标号,确定所述第一数据在Ping区的第一地址;
根据所述第一地址,将除第一地址外,Ping区的其它地址所对应的数据复制到Pong区,并将所述第一数据的更新数据写入到Pong区;
将所述Pong区的有效标记置为有效;
擦除Ping区的数据。
2.如权利要求1所述的方法,其特征在于,所述全局信息域包括各域的基址信息,所述基址信息用于指示所述全局信息域,静态小数据域,静态大数据域,动态小数据域和动态大数据域在所述存储介质中的地址。
3.如权利要求1所述的方法,其特征在于,所述根据第一数据的标号,确定所述第一数据在Ping区的第一地址具体包括:
查询Ping区的静态小DS参数头信息,其中所述DS参数头信息包括参数标号、参数长度和参数值偏移地址;
将所述第一数据的标号和所述参数标号匹配,在匹配成功后,根据所述参数长度和参数值偏移地址,确定所述第一数据的第一地址。
4.如权利要求1所述的方法,其特征在于,所述动态大参数域包括第一动态大参数头信息链表和第二动态大参数头信息链表,所述第一动态大参数头信息链表和第二动态大参数头信息链表分别包括有效标记,有效标记取反,动态大参数数量,动态大参数数量取反和动态大参数头信息;
所述对动态大数据域的数据进行处理具体包括:
在改写动态大参数域的第二数据时,查询动态大参数头信息链表集,根据每个动态大参数头信息链表的有效标记,确定有效动态大参数头信息链表,其中各个动态大参数头信息链表构成动态大参数头信息链表集;
当有效动态大参数头信息链表为第一动态大参数头信息链表时,查询所述第一动态大参数头信息链表,确定所述第二数据的动态大参数头信息,其中所述动态大参数头信息包括标号域,动态大参数长度域和动态大参数段标号;
将第二数据的标号和所述标号域进行匹配,在匹配成功时,根据所述动态大参数段标号,确定所述第二数据所在的原始段;
根据所述动态大参数长度域,确定所述第二数据在所述原始段中的第二地址;
根据所述第二地址,将除第二地址外,所述原始段中的其它地址对应的数据复制到更新段中,并将所述第二数据的更新数据写入到更新段中;
更新动态大参数头信息,并擦除所述原始段中的数据;
将所述第一动态大参数头信息链表中除所述更新后的动态大参数头信息外的其它动态大参数头信息复制到第二动态大参数头信息链表;
将所述更新后的动态大参数头信息写入第二动态大参数头信息链表;
将所述第二动态大参数头信息链表的有效标记置为有效;
将所述第一动态大参数头信息链表擦除。
5.如权利要求1所述的方法,其特征在于,所述静态小数据域和静态大数据域分别包括静态参数数量值,静态参数数量值取反,静态参数头信息和静态参数有效数据;
所述对静态小数据域和静态大数据域的数据进行处理具体包括:
当读取静态小数据域或者静态大数据域的第三数据时,根据第三数据的标号,查询静态参数头信息,其中所述静态参数头信息包括参数标号,参数长度和参数值偏移地址;
将所述第三数据的标号和静态参数头信息的参数标号进行匹配,当匹配成功时,根据所述参数长度和参数偏移地址,确定所述第三数据的第三地址;
根据所述第三地址,读取所述第三数据。
6.一种数据处理装置,其特征在于,所述装置包括分类单元和处理单元;
所述分类单元,用于对用户设备的存储介质进行划分,生成全局信息域,静态小数据域,静态大数据域,动态小数据域和动态大数据域;
所述处理单元,用于根据所述存储介质的划分结果,分别对所述静态小数据域,静态大数据域,动态小数据域和动态大数据域的数据进行处理;
其中,所述动态小数据域包括Ping区和Pong区,所述Ping区和Pong区分别包括有效标记,有效标记取反,动态小参数数量值,DS参数数量值取反,DS参数头信息和DS参数有效数据;
所述处理单元具体用于:
在改写Ping区的第一数据时,根据第一数据的标号,确定所述第一数据在Ping区的第一地址;
根据所述第一地址,将除第一地址外,Ping区的其它地址所对应的数据复制到Pong区,并将所述第一数据的更新数据写入到Pong区;
将所述Pong区的有效标记置为有效;
擦除Ping区的数据。
7.如权利要求6所述的装置,其特征在于,所述全局信息域包括各域的基址信息,所述基址信息用于指示所述全局信息域,静态小数据域,静态大数据域,动态小数据域和动态大数据域在所述存储介质中的地址。
8.如权利要求6所述的装置,其特征在于,所述处理单元具体用于:
查询Ping区的静态小DS参数头信息,其中所述DS参数头信息包括参数标号、参数长度和参数值偏移地址;
将所述第一数据的标号和所述参数标号匹配,在匹配成功后,根据所述参数长度和参数值偏移地址,确定所述第一数据的第一地址。
9.如权利要求6所述的装置,其特征在于,所述动态大参数域包括第一动态大参数头信息链表和第二动态大参数头信息链表,所述第一动态大参数头信息链表和第二动态大参数头信息链表分别包括有效标记,有效标记取反,动态大参数数量,动态大参数数量取反和动态大参数头信息;
所述处理单元具体用于:
在改写动态大参数域的第二数据时,查询动态大参数头信息链表集,根据每个动态大参数头信息链表的有效标记,确定有效动态大参数头信息链表,其中各个动态大参数头信息链表构成动态大参数头信息链表集;
当有效动态大参数头信息链表为第一动态大参数头信息链表时,查询所述第一动态大参数头信息链表,确定所述第二数据的动态大参数头信息,其中所述动态大参数头信息包括标号域,动态大参数长度域和动态大参数段标号;
将第二数据的标号和所述标号域进行匹配,在匹配成功时,根据所述动态大参数段标号,确定所述第二数据所在的原始段;
根据所述动态大参数长度域,确定所述第二数据在所述原始段中的第二地址;
根据所述第二地址,将除第二地址外,所述原始段中的其它地址对应的数据复制到更新段中,并将所述第二数据的更新数据写入到更新段中;
更新动态大参数头信息,并擦除所述原始段中的数据;
将所述第一动态大参数头信息链表中除所述更新后的动态大参数头信息外的其它动态大参数头信息复制到第二动态大参数头信息链表;
将所述更新后的动态大参数头信息写入第二动态大参数头信息链表;
将所述第二动态大参数头信息链表的有效标记置为有效;
将所述第一动态大参数头信息链表擦除。
10.如权利要求6所述的装置,其特征在于,所述静态小数据域和静态大数据域分别包括静态参数数量值,静态参数数量值取反,静态参数头信息和静态参数有效数据;
所述处理单元具体用于:
当读取静态小数据域或者静态大数据域的第三数据时,根据第三数据的标号,查询静态参数头信息,其中所述静态参数头信息包括参数标号,参数长度和参数值偏移地址;
将所述第三数据的标号和静态参数头信息的参数标号进行匹配,当匹配成功时,根据所述参数长度和参数偏移地址,确定所述第三数据的第三地址;
根据所述第三地址,读取所述第三数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410398998.5A CN104156319B (zh) | 2014-08-13 | 2014-08-13 | 数据处理方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410398998.5A CN104156319B (zh) | 2014-08-13 | 2014-08-13 | 数据处理方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104156319A CN104156319A (zh) | 2014-11-19 |
CN104156319B true CN104156319B (zh) | 2017-05-10 |
Family
ID=51881824
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410398998.5A Active CN104156319B (zh) | 2014-08-13 | 2014-08-13 | 数据处理方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104156319B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103294615A (zh) * | 2012-02-24 | 2013-09-11 | 北京四达时代软件技术股份有限公司 | 一种存储机顶盒用户信息的方法 |
CN103617404A (zh) * | 2013-12-17 | 2014-03-05 | 天津赢达信科技有限公司 | 一种安全分区的存储装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2535846A4 (en) * | 2010-02-10 | 2013-04-17 | Huawei Device Co Ltd | METHOD AND APPARATUS FOR PARTITIONING AN SD CARD, SD CARD AND TERMINAL DEVICES |
-
2014
- 2014-08-13 CN CN201410398998.5A patent/CN104156319B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103294615A (zh) * | 2012-02-24 | 2013-09-11 | 北京四达时代软件技术股份有限公司 | 一种存储机顶盒用户信息的方法 |
CN103617404A (zh) * | 2013-12-17 | 2014-03-05 | 天津赢达信科技有限公司 | 一种安全分区的存储装置 |
Also Published As
Publication number | Publication date |
---|---|
CN104156319A (zh) | 2014-11-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8364887B2 (en) | Managing memory data recovery upon power loss | |
TWI499909B (zh) | 階層式不可改變的內容可定址的記憶體處理器 | |
CN1983266B (zh) | 闪速类介质中存储事务记录的文件系统 | |
US7493442B2 (en) | Multiple segment data object management | |
KR100843135B1 (ko) | 비휘발성 메모리 관리 방법 및 장치 | |
US8412881B2 (en) | Modified B+ tree to store NAND memory indirection maps | |
JP2000194590A (ja) | 拡張カ―ド・ファイル・システム | |
US7065021B2 (en) | Method and devices for storing and reading data on a storage medium in accordance with at least two file systems, and storage medium for use in at least two file system | |
JP2734391B2 (ja) | 不揮発性メモリのファイル管理装置 | |
US7725646B2 (en) | Method of using a flash memory for a circular buffer | |
US6928531B2 (en) | Linear and non-linear object management | |
CN107506466A (zh) | 一种小文件存储方法及系统 | |
CN104156319B (zh) | 数据处理方法和装置 | |
US9535796B2 (en) | Method, apparatus and computer for data operation | |
JP2000285000A (ja) | 不揮発メモリのファイルシステム | |
JPH0322046A (ja) | 追記型記憶媒体を用いたファイルの管理方法 | |
KR101247574B1 (ko) | 메모리 기기 상의 데이터 저장 방법, 기기 및 데이터 구조 | |
CN117473117A (zh) | 一种视频循环存储方法、系统及计算机 | |
CN117170582A (zh) | 一种写时重定向快照实现方法、装置、设备、存储介质 | |
JPH03137740A (ja) | 光ディスクにおけるレコードインデックスの管理方式 | |
JPH06222965A (ja) | 循環順編成ファイルの管理方法 | |
JPH04130545A (ja) | データの管理方式 | |
JP2004126945A (ja) | 記憶装置及びその制御方法 | |
Baxter et al. | Software segmented virtual memory | |
JP2001344149A (ja) | フラッシュメモリのデータ管理装置及び方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: Wuxi District of Jiangsu city of Wuxi province Qingyuan Road 214135 No. 18 Taihu International Science Park sensor network university science and Technology Park 530 building A1001 Applicant after: WUXI ZHONGGAN MICROELECTRONIC CO., LTD. Address before: A 530 Taihu international science and Technology Park building 214135 Qingyuan Road in Jiangsu province Wuxi City District 10 layer Applicant before: Wuxi Vimicro Co., Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |