数据处理方法和装置制造方法
【专利摘要】本发明涉及一种数据处理方法和装置。所述方法包括:对用户设备的存储介质进行划分,生成全局信息域,静态小数据域,静态大数据域,动态小数据域和动态大数据域;根据所述存储介质的划分结果,分别对所述静态小数据域,静态大数据域,动态小数据域和动态大数据域的数据进行处理。
【专利说明】数据处理方法和装置
【技术领域】
[0001] 本发明涉及存储领域,尤其涉及一种数据处理方法和装置。
【背景技术】
[0002] 在嵌入式产品的软件开发中,通常针对不同的应用需要对一些参数进行调整, 且一般来说存储这些参数的媒介需要能有掉电保存机制,带电可擦写可编程只读存储器 (Electrically Erasable Programmable R0M,缩写:EEPR0M)和闪存(Flash)是应用最为广 泛的两种非易失性存储器。对于参数所需存储空间较少的情况,通常会选取EEPR0M来存储 这些参数,而对于需要存储的数据较大,比如参数中有较大文件等的情形,则会选取Flash 作为存储介质。
[0003] 以蓝牙设备为例,由于其增加语音提示,语音识别,以及其他复杂的配置功能,需 要存储语音等音频文件,其占用的空间会超过通常容量(size)的EEPR0M,因此综合成本与 性能需要更换存储介质为Flash。
[0004] Flash和EEPR0M之间的区别在于,EEPR0M是可以以字节为单位随机读写,且不 需要擦除即可对其编程,而Flash则是按块(Block)/扇区(Sector)为单位擦除,然后以 页(Page)为单位进行读写和编程,且Flash的写操作只能从"1"写"0"的特性,如果需要 改写Flash的存储内容则需要先擦后写。因此,如果因为更改某几个字节而需要擦除整块 并保存未改变的部分,最后又重新写整块,这一过程非常浪费内存和中央处理器(Central Processing Unit,缩写:CPU)。
【发明内容】
[0005] 本发明的目的是解决Flash中,因为更改某几个字节而擦除整块而造成的内存和 (PU浪费的问题。
[0006] 第一方面,本发明实施例提供了一种数据处理方法,所述方法包括:
[0007] 对用户设备的存储介质进行划分,生成全局信息域,静态小数据域,静态大数据 域,动态小数据域和动态大数据域;
[0008] 根据所述存储介质的划分结果,分别对所述静态小数据域,静态大数据域,动态小 数据域和动态大数据域的数据进行处理。
[0009] 优选地,所述全局信息域包括各域的基址信息,所述基址信息用于指示所述全局 信息域,静态小数据域,静态大数据域,动态小数据域,动态大数据域在所述存储介质中的 地址。
[0010] 优选地,所述动态小数据域包括Ping区和Pong区,所述Ping区和Pong区分别包 括有效标记,有效标记取反,动态小参数数量值,DS参数数量值取反,DS参数头信息,DS参 数有效数据;
[0011] 所述对动态小数据域的数据进行处理具体包括:
[0012] 在改写Ping区的第一数据时,根据第一数据的标号,确定所述第一数据在Ping区 的第一地址;
[0013] 根据所述第一地址,将除第一地址外,Ping区的其它地址所对应的数据复制到 Pong区,并将所述第一数据的更新数据写入到Pong区;
[0014] 将所述Pong区的有效标记置为有效;
[0015] 擦除Ping区的数据。
[0016] 优选地,所述根据第一数据的标号,确定所述第一数据在Ping区的第一地址具体 包括:
[0017] 查询Ping区的静态小DS参数头信息,其中所述DS参数头信息包括参数标号、参 数长度和参数值偏移地址;
[0018] 将所述第一数据的标号和所述参数标号匹配,在匹配成功后,根据所述参数长度 和参数值偏移地址,确定所述第一数据的第一地址。
[0019] 优选地,所述动态大参数域包括第一动态大参数头信息链表和第二动态大参数头 信息链表,所述第一动态大参数头信息链表和第二动态大参数头信息链表分别包括有效标 记,有效标记取反,动态大参数数量,动态大参数数量取反,动态大参数头信息;
[0020] 所述对动态大数据域的数据进行处理具体包括:
[0021] 在改写动态大参数域的第二数据时,查询动态大参数头信息链表集,根据每个动 态大参数头信息链表的有效标记,确定有效动态大参数头信息链表,其中各个动态大参数 头信息链表构成动态大参数头信息链表集;
[0022] 当有效动态大参数头信息链表为第一动态大参数头信息链表时,查询所述第一动 态大参数头信息链表,确定所述第二数据的动态大参数头信息,其中所述动态大参数头信 息包括标号域,动态大参数长度域和动态大参数段标号;
[0023] 将第二数据的标号和所述标号域进行匹配,在匹配成功时,根据所述动态大参数 段标号,确定所述第二数据所在的原始段;
[0024] 根据所述动态大参数长度域,确定所述第二数据在所述原始段中的第二地址;
[0025] 根据所述第二地址,将除第二地址外,所述原始段中的其它地址对应的数据复制 到更新段中,并将所述第二数据的更新数据写入到更新段中;
[0026] 更新动态大参数头信息,并擦除所述原始段中的数据;
[0027] 将所述第一动态大参数头信息链表中除所述更新后的动态大参数头信息外的其 它动态大参数头信息复制到第二动态大参数头信息链表;
[0028] 将所述更新后的动态大参数头信息写入第二动态大参数头信息链表;
[0029] 将所述第二动态大参数头信息链表置的有效标记为有效;
[0030] 将所述第一动态大参数头信息链表擦除。
[0031] 优选地,所述静态小数据域和静态大数据域分别包括静态参数数量值,静态参数 数量值取反,静态参数头信息,静态参数有效数据;
[0032] 所述对静态小数据域和静态大数据域的数据进行处理具体包括:
[0033] 当读取静态小数据域或者静态大数据域的第三数据时,根据第三数据的标号,查 询静态参数头信息,其中所述静态参数头信息包括参数标号,参数长度,参数值偏移地址; [0034] 将所述第三数据的标号和静态参数头信息的参数标号进行匹配,当匹配成功时, 根据所述参数长度和参数偏移地址,确定所述第三数据的第三地址;
[0035] 根据所述第三地址,读取所述第三数据。
[0036] 第二方面,本发明实施例提供了一种数据处理装置,所述装置包括分类单元和处 理单元;
[0037] 所述分类单元,用于对用户设备的存储介质进行划分,生成全局信息域,静态小数 据域,静态大数据域,动态小数据域和动态大数据域;
[0038] 所述处理单元,用于根据所述存储介质的划分结果,分别对所述静态小数据域,静 态大数据域,动态小数据域和动态大数据域的数据进行处理。
[0039] 优选地,所述全局信息域包括各域的基址信息,所述基址信息用于指示所述全局 信息域,静态小数据域,静态大数据域,动态小数据域,动态大数据域在所述存储介质中的 地址。
[0040] 优选地,所述动态小数据域包括Ping区和Pong区,所述Ping区和Pong区分别包 括有效标记,有效标记取反,动态小参数数量值,DS参数数量值取反,DS参数头信息,DS参 数有效数据;
[0041] 所述处理单元具体用于:
[0042] 在改写Ping区的第一数据时,根据第一数据的标号,确定所述第一数据在Ping区 的第一地址;
[0043] 根据所述第一地址,将除第一地址外,Ping区的其它地址所对应的数据复制到 Pong区,并将所述第一数据的更新数据写入到Pong区;
[0044] 将所述Pong区的有效标记置为有效;
[0045] 擦除Ping区的数据。
[0046] 优选地,所述处理单元具体用于:
[0047] 查询Ping区的静态小DS参数头信息,其中所述DS参数头信息包括参数标号、参 数长度和参数值偏移地址;
[0048] 将所述第一数据的标号和所述参数标号匹配,在匹配成功后,根据所述参数长度 和参数值偏移地址,确定所述第一数据的第一地址。
[0049] 优选地,所述动态大参数域包括第一动态大参数头信息链表和第二动态大参数头 信息链表,所述第一动态大参数头信息链表和第二动态大参数头信息链表分别包括有效标 记,有效标记取反,动态大参数数量,动态大参数数量取反,动态大参数头信息;
[0050] 所述处理单元具体用于:
[0051] 在改写动态大参数域的第二数据时,查询动态大参数头信息链表集,根据每个动 态大参数头信息链表的有效标记,确定有效动态大参数头信息链表,其中各个动态大参数 头信息链表构成动态大参数头信息链表集;
[0052] 当有效动态大参数头信息链表为第一动态大参数头信息链表时,查询所述第一动 态大参数头信息链表,确定所述第二数据的动态大参数头信息,其中所述动态大参数头信 息包括标号域,动态大参数长度域和动态大参数段标号;
[0053] 将第二数据的标号和所述标号域进行匹配,在匹配成功时,根据所述动态大参数 段标号,确定所述第二数据所在的原始段;
[0054] 根据所述动态大参数长度域,确定所述第二数据在所述原始段中的第二地址;
[0055] 根据所述第二地址,将除第二地址外,所述原始段中的其它地址对应的数据复制 到更新段中,并将所述第二数据的更新数据写入到更新段中;
[0056] 更新动态大参数头信息,并擦除所述原始段中的数据;
[0057] 将所述第一动态大参数头信息链表中除所述更新后的动态大参数头信息外的其 它动态大参数头信息复制到第二动态大参数头信息链表;
[0058] 将所述更新后的动态大参数头信息写入第二动态大参数头信息链表;
[0059] 将所述第二动态大参数头信息链表的有效标记置为有效;
[0060] 将所述第一动态大参数头信息链表擦除。
[0061] 优选地,所述静态小数据域和静态大数据域分别包括静态参数数量值,静态参数 数量值取反,静态参数头信息,静态参数有效数据;
[0062] 所述处理单元具体用于:
[0063] 当读取静态小数据域或者静态大数据域的第三数据时,根据第三数据的标号,查 询静态参数头信息,其中所述静态参数头信息包括参数标号,参数长度,参数值偏移地址; [0064] 将所述第三数据的标号和静态参数头信息的参数标号进行匹配,当匹配成功时, 根据所述参数长度和参数偏移地址,确定所述第三数据的第三地址;
[0065] 根据所述第三地址,读取所述第三数据。
[0066] 本发明通过对Flash区域的划分,并对划分后的区域采用不同的数据写入或者读 取方法,节省了内存和CPU。
【专利附图】
【附图说明】
[0067] 图1为本发明实施例一提供的数据处理方法流程图;
[0068] 图2为本发明实施例一提供的存储介质划分示意图;
[0069] 图3为本发明实施例二提供的动态小数据域架构图;
[0070] 图4为本发明实施例一提供的数据处理方法的一种实现;
[0071] 图5为本发明实施例三提供的动态大数据架构图;
[0072] 图6为本发明实施例一提供的数据处理方法的另一种实现;
[0073] 图7为本发明实施例四提供的静态数据域架构图;
[0074] 图8为本发明实施例一提供的数据处理方法的再一种实现;
[0075] 图9为本发明实施例五提供的数据处理装置示意图。
【具体实施方式】
[0076] 为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例 中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是 本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员 在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0077] 为便于对本发明实施例的理解,下面将结合附图以具体实施例做进一步的解释说 明,实施例并不构成对本发明实施例的限定。
[0078] 应当理解,尽管在本发明实施例中可能采用术语第一、第二等来描述各种数据或 地址,但这些数据或者地址不应限于这些术语。这些术语仅用来将数据或者地址彼此区分 开。
[0079] 实施例一
[0080] 本发明实施例提供的数据处理方法应用于具有存储介质的用户设备。图1为本发 明实施例一提供的数据处理方法流程图。如图1所示,本发明实施例包括:
[0081] S110,对用户设备的存储介质进行划分,生成全局信息域,静态小数据域,静态大 数据域,动态小数据域和动态大数据域。
[0082] 具体的,如图2所示,图2为本发明实施例一提供的存储介质划分示意图。在图2 中,用户设备可以是个人电脑(Personal Computer,简称:PC)、台式电脑、蓝牙设备等,存储 介质可以指个人电脑、台式电脑、蓝牙设备中的闪存(Flash Memory)。
[0083] 在一个实施例中,可以根据存储介质中所存储的数据的特性,对存储介质进行划 分,具体的,当用户设备上电或者开机后,存储介质,比如闪存中存储的数据长度不同(一 些数据长度较长,另一些数据则较短),以及该些数据的可写性不同(一些数据可以更改, 另一些数据不能更改),预先对Flash进行划分,可以将Flash划分为全局信息域,静态小数 据域,静态大数据域,动态小数据域,动态大数据域。静态小数据域和静态大数据域可以统 称为静态域,静态域为在Flash出厂后只能读不能写的区域。动态小数据域和动态大数据 域可以统称为动态域,动态域为在flash使用过程中,可以进行多次擦写的区域。
[0084] 其中,全局信息域用于存储Flash硬件信息(比如厂家,容量等信息),版本信息 (比如Flash的类型),以及各域的基址信息,各域的基址信息用于指示全局信息域、静态小 数据域、静态大数据域、动态小数据域及动态大数据域的起始地址,根据各域的起始地址, 可以确定各域的可以存储的数据的容量。
[0085] 以蓝牙设备为例,静态小数据域用于存储蓝牙设备系统配置参数,该域存储的参 数的内容较少,容量一般在几字节到几十字节。静态大数据域用于存储蓝牙设备配置相关 的较大的数据文件,比如语音标签,静态文本文件、固化的语音提示录音文件、其他固化的 模板信息等,该些语音标签或静态文本文件的长度单位为KB级别。动态小数据域用于存储 蓝牙设备系统配置参数中需要动态修改的长度较短的参数,该些参数长度一般在几字节到 几十字节范围。动态大数据域用于存储蓝牙设备系统配置参数中需要动态修改的长参数文 件,如语音识别标签,录音文件等。
[0086] S120,根据所述存储介质的划分结果,分别对所述静态小数据域,静态大数据域, 动态小数据域和动态大数据域的数据进行处理。
[0087] 具体的,对存储介质中的各域,可以采取不同的数据处理方法,进行数据的写入或 者读出,以节省内存和CPU。
[0088] 实施例二
[0089] 动态小数据域中,在Flash运行时需要更改一些长度较短的配置参数,该些配置 参数的字节数是很少的。以需要更新的配置参数是音量参数为例,要将该音量参数进行修 改,将其变更为更新数据(更新数据是该音量参数修改后的数据),可以结合图3和图4,说 明如何实现该音量参数的更新。
[0090] 图3为本发明实施例二提供的动态小数据域架构图。如图3所示,在图3中,将 动态小数据域划分为Ping区和Pong区,Ping区包括:有效标记,有效标记取反,动态小 (Dynamic Small,缩写:DS)参数数量值,DS参数数量值取反,DS参数头信息,DS参数有效 数据。
[0091] 其中,动态小数据域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参数数量值取反用于表示
[0092] DS参数头信息包括:11位参数标号,11位参数长度,18位参数值偏移地址,7位循 环冗余码,其中参数标号,参数长度,参数值偏移地址,循环冗余码的位数也可以是其它数 值,本实施例并不限定。
[0093] DS参数有效数据包括:参数键值。
[0094] 下面以图4为例详细说明如何在动态小数据域中进行数据的修改,图4为本发明 实施例一提供的数据处理方法的一种实现,本实施例具体包括以下步骤:
[0095] S410,在改写Ping区的第一数据时,根据第一数据的标号,确定所述第一数据在 Ping区的第一地址。
[0096] 具体的,S410具体包括:
[0097] S4101,查询Ping区的DS参数头信息,其中所述DS参数头信息包括参数标号、参 数长度和参数值偏移地址;
[0098] S4102,将所述第一数据的标号和所述参数标号匹配,在匹配成功后,根据所述参 数长度和参数值偏移地址,确定所述第一数据的第一地址。
[0099] 在第一数据的标号(该标号为预设的)和某个参数标号匹配时,获取到第一数据 的起始地址,根据第一数据的参数长度以及参数值偏移地址,获取到第一数据的结束地址, 根据该起始地址和结束地址,获取到第一数据的第一地址。
[0100] S420,根据所述第一地址,将除第一地址外,Ping区的其它地址所对应的数据复制 到Pong区,并将所述第一数据的更新数据写入到Pong区。
[0101] 在一个实施例中,如果要更新位于Ping区的配置参数中的音量参数,则该音量参 数即为第一数据,根据S410,如果确定该音量参数对应的第一地址,当根据该第一地址确定 在该第一地址下的数据为DS参数1有效数据时,则说明该DS参数1有效数据为音量参数, 则根据第一地址,将除过第一地址以外的其它地址上的数据,比如DS参数2有效数据、DS参 数3有效数据等复制到Pong区,然后将音量参数的更新数据写入到Pong区。
[0102] S430,将所述Pong区的有效标记置为有效。
[0103] 将Pong区的有效标记置为有效。
[0104] S440,擦除Ping区的数据。
[0105] 擦除Ping区的数据后,将Ping区的有效标记置为无效,可以将Ping区的有效标 记置为0,将Ping区的有效标记取反置为1。
[0106] 可以理解的是,在动态小数据域中,上述方法也适用于更新动态小数据Pong区的 数据,在此不再赘述。
[0107] 应用本实施例提供的动态小数据域的数据处理方法,实现了在更新Ping区的参 数时,直接将更新数据写入到Pong区,节省了内存,同时也节省了 CPU。
[0108] 实施例三
[0109] 动态大数据域中,存储着语音识别模板,语音提示录音等系统配置相关的较大的 数据文件,该些较大的数据文件的容量较大,一般是以KB为单位的。在flash运行时,需要 更改该些较大的数据文件,下面结合图5和图6,说明如何更新动态大数据域的数据。
[0110] 图5为本发明实施例三提供的动态大数据架构图。如图5所示,在图5中,动态大 数据域包括:动态大参数头信息链表和动态大参数有效数据。动态大参数头信息链表记录 了所有动态大参数值的信息。
[0111] 其中,动态大参数头信息链表包括:有效标记、有效标记取反、动态大参数数量、动 态大参数数量取反、动态大参数头信息。
[0112] 在一个实施例中,动态大参数头信息链表的个数是两个,即第一动态大参数头信 息链表和第二动态大参数头信息链表,在一个时刻,只有一个动态大参数头信息链表处于 有效状态,当第一动态大参数头信息链表有效时,则第二动态大参数头信息链表无效,反之 亦然。可以用有效标记指示第一动态大参数头信息链表和第二动态大参数头信息链表中的 哪个链表处于有效状态,用有效标记取反表示将动态大参数头信息链表置为无效状态,有 效标记是1字节,有效标记取反是1字节,当有效标记为ΟχΟΟΟΟχχχχ时,则动态大参数头信 息链表是有效的,如果要将该动态大参数头信息链表置为无效,则对有效标记取反,即当有 效标记取反为0x111 Ιχχχχ时,则动态大参数头信息链表是无效的。动态大参数数量是2字 节,动态大参数数量取反是2字节,动态大参数头信息的个数为一个或多个,比如动态大参 数1头信息,动态大参数2头信息等。动态大参数数量用于表示动态大参数的个数。
[0113] 动态大参数头信息包括:11位标号域、17位动态大参数长度域、4位保留域、16位 动态大参数段标号以及8位循环冗余码,其中标号域,动态大参数长度,保留域,动态大参 数段标号,循环冗余码的位数也可以是其它数值,本实施例并不限定。
[0114] 下面以图6为例详细说明如何在动态大数据域中进行数据的修改,图6为本发明 实施例一提供的数据处理方法的另一种实现,本实施例具体包括以下步骤:
[0115] S601,在改写动态大参数域的第二数据时,查询动态大参数头信息链表集,根据每 个动态大参数头信息链表的有效标记,确定有效动态大参数头信息链表,其中各个动态大 参数头信息链表构成动态大参数头信息链表集;
[0116] 第一动态大参数头信息链表和第二动态大参数头信息链表构成动态大参数头信 息链表集。
[0117] S602,当有效动态大参数头信息链表为第一动态大参数头信息链表时,查询所述 第一动态大参数头信息链表,确定所述第二数据的动态大参数头信息,其中所述动态大参 数头信息包括标号域,动态大参数长度域和动态大参数段标号;
[0118] 具体的,根据第二数据的标号和动态大参数头信息链表中的标号域,确定第二数 据的动态大参数头信息,其中第二数据的标号是预设的。
[0119] S603,将第二数据的标号和所述标号域进行匹配,在匹配成功时,根据所述动态大 参数段标号,确定所述第二数据所在的原始段;
[0120] 第二数据对应的原始段的数量可以是一个,也可以是多个,当第二数据对应的原 始段的数量是多个时,将该多个原始段组合,生成新的原始段。
[0121] 在一个例子中,如果第二数据对应的原始段为动态大参数1有效数据、动态大参 数2有效数据及动态大参数3有效数据所在的段,则将该3段中的第有效数据连接起来,其 中,动态大参数1有效数据、动态大参数2有效数据及动态大参数3有效数据是不同的段。
[0122] S604,根据所述动态大参数长度域,确定所述第二数据在所述原始段中的第二地 址;
[0123] S605,根据所述第二地址,将除第二地址外,所述原始段中的其它地址对应的数据 复制到更新段中,并将所述第二数据的更新数据写入到更新段中;
[0124] S606,更新动态大参数头信息,并擦除所述原始段中的数据。
[0125] 可选地,更新所述动态大参数头信息,并擦除所述原始段中的数据之后还包括:
[0126] S607,将所述第一动态大参数头信息链表中除所述更新后的动态大参数头信息外 的其它动态大参数头信息复制到第二动态大参数头信息链表;
[0127] S608,将所述更新后的动态大参数头信息写入第二动态大参数头信息链表;
[0128] S609,将所述第二动态大参数头信息链表的有效标记置为有效;
[0129] S610,将所述第一动态大参数头信息链表擦除。
[0130] 可以理解的是,在动态大参数域中,当第二动态大参数头信息链表为有效动态大 参数头信息链表时,上述方法也同样适用,在此不做赘述。
[0131] 应用本实施例提供的动态大数据域的数据处理方法,实现了在更新原始段的第二 数据时,直接将第二数据的更新数据写入到更新段,并将第一动态大参数头信息链表中不 需要更新的动态大参数头信息写入到第二动态大参数头信息链表中,节省了内存,同时也 节省了 CPU。
[0132] 实施例四
[0133] 静态大数据域存储的一般为固化的语音提示录音文件或者其它固化的模板信息, 而静态小数据域存储的为关系蓝牙设备运行的重要配置参数,静态大数据域和静态小数据 域为在出厂后只能读不能写的区域,所以这两个域可以采取同样的数据处理方法,下面结 合图7和图8,说明如何读取静态数据域的数据。
[0134] 图7为本发明实施例四提供的静态数据域架构图。如图7所示,在图7中,静态 数据域包括:静态参数数量值,静态参数数量值取反,静态参数头信息,静态参数有效数据 (图7中未示出,静态数据域的结构和动态小数据域的结构相同)。
[0135] 其中,静态参数头信息包括:参数标号,参数长度,参数值偏移地址和循环冗余码。
[0136] 下面以图8为例详细说明如何对静态大数据域和静态小数据域进行数据的读取, 图8为本发明实施例一提供的数据处理方法的再一种实现,本实施例具体包括以下步骤:
[0137] S810,当读取静态小数据域或者静态大数据域的第三数据时,根据第三数据的标 号,查询静态参数头信息,所述静态参数头信息包括参数标号,参数长度,参数值偏移地 址;
[0138] S820,将所述第三数据的标号和静态参数头信息的参数标号进行匹配,当匹配成 功时,根据所述参数长度和参数偏移地址,确定所述第三数据的第三地址;
[0139] S830,根据所述第三地址,读取所述第三数据。
[0140] 需要说明的是,本实施例中还可以将静态参数头信息的顺序打乱,以实现静态数 据域的数据的加密,比如,将静态参数1头信息,静态参数2头信息,静态参数3头信息的顺 序更改为静态参数2头信息,静态参数1头信息,静态参数3头信息。
[0141] 应用本发明实施例提供的数据处理方法,通过对存储介质的分区管理,在需要改 写或读取蓝牙设备的存储介质中的数据时,对每个域可以采取不同的数据处理方法,从而 大大节省了内存和CPU。
[0142] 实施例五
[0143] 与上述数据处理方法对应地,图9为本发明实施例五提供的数据处理装置示意 图。如图9所示,本实施例提供的装置包括:分类单元910,处理单元920。
[0144] 所述分类单元910,用于对用户设备的存储介质进行划分,生成全局信息域,静态 小数据域,静态大数据域,动态小数据域和动态大数据域;
[0145] 所述处理单元920,用于根据所述存储介质的划分结果,分别对所述静态小数据 域,静态大数据域,动态小数据域和动态大数据域的数据进行处理。
[0146] 可选地,,其中所述全局信息域包括各域的基址信息,所述基址信息用于指示所述 全局信息域,静态小数据域,静态大数据域,动态小数据域,动态大数据域在所述存储介质 中的地址。
[0147] 可选地,所述动态小数据域包括Ping区和Pong区,所述Ping区和Pong区分别包 括有效标记,有效标记取反,动态小参数数量值,DS参数数量值取反,DS参数头信息,DS参 数有效数据;
[0148] 所述处理单元920具体用于:
[0149] 在改写Ping区的第一数据时,根据第一数据的标号,确定所述第一数据在Ping区 的第一地址;
[0150] 根据所述第一地址,将除第一地址外,Ping区的其它地址所对应的数据复制到 Pong区,并将所述第一数据的更新数据写入到Pong区;
[0151] 将所述Pong区的有效标记置为有效;
[0152] 擦除Ping区的数据。
[0153] 可选地,所述处理单元920具体用于:
[0154] 查询Ping区的静态小DS参数头信息,其中所述DS参数头信息包括参数标号、参 数长度和参数值偏移地址;
[0155] 将所述第一数据的标号和所述参数标号匹配,在匹配成功后,根据所述参数长度 和参数值偏移地址,确定所述第一数据的第一地址。
[0156] 可选地,所述动态大参数域包括第一动态大参数头信息链表和第二动态大参数头 信息链表,所述第一动态大参数头信息链表和第二动态大参数头信息链表分别包括有效标 记,有效标记取反,动态大参数数量,动态大参数数量取反,动态大参数头信息;
[0157] 所述处理单元920具体用于:
[0158] 在改写动态大参数域的第二数据时,查询动态大参数头信息链表集,根据每个动 态大参数头信息链表的有效标记,确定有效动态大参数头信息链表,其中各个动态大参数 头信息链表构成动态大参数头信息链表集;
[0159] 当有效动态大参数头信息链表为第一动态大参数头信息链表时,查询所述第一动 态大参数头信息链表,确定所述第二数据的动态大参数头信息,其中所述动态大参数头信 息包括标号域,动态大参数长度域和动态大参数段标号;
[0160] 将第二数据的标号和所述标号域进行匹配,在匹配成功时,根据所述动态大参数 段标号,确定所述第二数据所在的原始段;
[0161] 根据所述动态大参数长度域,确定所述第二数据在所述原始段中的第二地址;
[0162] 根据所述第二地址,将除第二地址外,所述原始段中的其它地址对应的数据复制 到更新段中,并将所述第二数据的更新数据写入到更新段中;
[0163] 更新动态大参数头信息,并擦除所述原始段中的数据;
[0164] 将所述第一动态大参数头信息链表中除所述更新后的动态大参数头信息外的其 它动态大参数头信息复制到第二动态大参数头信息链表;
[0165] 将所述更新后的动态大参数头信息写入第二动态大参数头信息链表;
[0166] 将所述第二动态大参数头信息链表的有效标记置为有效;
[0167] 将所述第一动态大参数头信息链表擦除。
[0168] 可选地,所述静态小数据域和静态大数据域分别包括静态参数数量值,静态参数 数量值取反,静态参数头信息,静态参数有效数据;
[0169] 所述处理单元920具体用于:
[0170] 当读取静态小数据域或者静态大数据域的第三数据时,根据第三数据的标号,查 询静态参数头信息,其中所述静态参数头信息包括参数标号,参数长度,参数值偏移地址;
[0171] 将所述第三数据的标号和静态参数头信息的参数标号进行匹配,当匹配成功时, 根据所述参数长度和参数偏移地址,确定所述第三数据的第三地址;
[0172] 根据所述第三地址,读取所述第三数据。
[0173] 应用本发明实施例提供的数据处理装置,通过对存储介质的分区管理,在需要改 写或读取蓝牙设备的存储介质中的数据时,对每个域可以采取不同的数据处理方法,从而 大大节省了内存和CPU。
[0174] 专业人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的 单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬 件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。 这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。 专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现 不应认为超出本发明的范围。
[0175] 结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执行的 软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器 (ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或【技术领域】 内所公知的任意其它形式的存储介质中。
[0176] 以上所述的【具体实施方式】,对本发明的目的、技术方案和有益效果进行了进一步 详细说明,所应理解的是,以上所述仅为本发明的【具体实施方式】而已,并不用于限定本发明 的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含 在本发明的保护范围之内。
【权利要求】
1. 一种数据处理方法,其特征在于,所述方法包括: 对用户设备的存储介质进行划分,生成全局信息域,静态小数据域,静态大数据域,动 态小数据域和动态大数据域; 根据所述存储介质的划分结果,分别对所述静态小数据域,静态大数据域,动态小数据 域和动态大数据域的数据进行处理。
2. 如权利要求1所述的方法,其特征在于,所述全局信息域包括各域的基址信息,所述 基址信息用于指示所述全局信息域,静态小数据域,静态大数据域,动态小数据域,动态大 数据域在所述存储介质中的地址。
3. 如权利要求1所述的方法,其特征在于,所述动态小数据域包括Ping区和Pong区, 所述Ping区和Pong区分别包括有效标记,有效标记取反,动态小参数数量值,DS参数数量 值取反,DS参数头信息,DS参数有效数据; 所述对动态小数据域的数据进行处理具体包括: 在改写Ping区的第一数据时,根据第一数据的标号,确定所述第一数据在Ping区的第 一地址; 根据所述第一地址,将除第一地址外,Ping区的其它地址所对应的数据复制到Pong 区,并将所述第一数据的更新数据写入到Pong区; 将所述Pong区的有效标记置为有效; 擦除Ping区的数据。
4. 如权利要求3所述的方法,其特征在于,所述根据第一数据的标号,确定所述第一数 据在Ping区的第一地址具体包括: 查询Ping区的静态小DS参数头信息,其中所述DS参数头信息包括参数标号、参数长 度和参数值偏移地址; 将所述第一数据的标号和所述参数标号匹配,在匹配成功后,根据所述参数长度和参 数值偏移地址,确定所述第一数据的第一地址。
5. 如权利要求1所述的方法,其特征在于,所述动态大参数域包括第一动态大参数头 信息链表和第二动态大参数头信息链表,所述第一动态大参数头信息链表和第二动态大参 数头信息链表分别包括有效标记,有效标记取反,动态大参数数量,动态大参数数量取反, 动态大参数头信息; 所述对动态大数据域的数据进行处理具体包括: 在改写动态大参数域的第二数据时,查询动态大参数头信息链表集,根据每个动态大 参数头信息链表的有效标记,确定有效动态大参数头信息链表,其中各个动态大参数头信 息链表构成动态大参数头信息链表集; 当有效动态大参数头信息链表为第一动态大参数头信息链表时,查询所述第一动态大 参数头信息链表,确定所述第二数据的动态大参数头信息,其中所述动态大参数头信息包 括标号域,动态大参数长度域和动态大参数段标号; 将第二数据的标号和所述标号域进行匹配,在匹配成功时,根据所述动态大参数段标 号,确定所述第二数据所在的原始段; 根据所述动态大参数长度域,确定所述第二数据在所述原始段中的第二地址; 根据所述第二地址,将除第二地址外,所述原始段中的其它地址对应的数据复制到更 新段中,并将所述第二数据的更新数据写入到更新段中; 更新动态大参数头信息,并擦除所述原始段中的数据; 将所述第一动态大参数头信息链表中除所述更新后的动态大参数头信息外的其它动 态大参数头信息复制到第二动态大参数头信息链表; 将所述更新后的动态大参数头信息写入第二动态大参数头信息链表; 将所述第二动态大参数头信息链表的有效标记置为有效; 将所述第一动态大参数头信息链表擦除。
6. 如权利要求1所述的方法,其特征在于,所述静态小数据域和静态大数据域分别包 括静态参数数量值,静态参数数量值取反,静态参数头信息,静态参数有效数据; 所述对静态小数据域和静态大数据域的数据进行处理具体包括: 当读取静态小数据域或者静态大数据域的第三数据时,根据第三数据的标号,查询静 态参数头信息,其中所述静态参数头信息包括参数标号,参数长度,参数值偏移地址; 将所述第三数据的标号和静态参数头信息的参数标号进行匹配,当匹配成功时,根据 所述参数长度和参数偏移地址,确定所述第三数据的第三地址; 根据所述第三地址,读取所述第三数据。
7. -种数据处理装置,其特征在于,所述装置包括分类单元和处理单元; 所述分类单元,用于对用户设备的存储介质进行划分,生成全局信息域,静态小数据 域,静态大数据域,动态小数据域和动态大数据域; 所述处理单元,用于根据所述存储介质的划分结果,分别对所述静态小数据域,静态大 数据域,动态小数据域和动态大数据域的数据进行处理。
8. 如权利要求7所述的装置,其特征在于,所述全局信息域包括各域的基址信息,所述 基址信息用于指示所述全局信息域,静态小数据域,静态大数据域,动态小数据域,动态大 数据域在所述存储介质中的地址。
9. 如权利要求7所述的装置,其特征在于,所述动态小数据域包括Ping区和Pong区, 所述Ping区和Pong区分别包括有效标记,有效标记取反,动态小参数数量值,DS参数数量 值取反,DS参数头信息,DS参数有效数据; 所述处理单元具体用于: 在改写Ping区的第一数据时,根据第一数据的标号,确定所述第一数据在Ping区的第 一地址; 根据所述第一地址,将除第一地址外,Ping区的其它地址所对应的数据复制到Pong 区,并将所述第一数据的更新数据写入到Pong区; 将所述Pong区的有效标记置为有效; 擦除Ping区的数据。
10. 如权利要求9所述的装置,其特征在于,所述处理单元具体用于: 查询Ping区的静态小DS参数头信息,其中所述DS参数头信息包括参数标号、参数长 度和参数值偏移地址; 将所述第一数据的标号和所述参数标号匹配,在匹配成功后,根据所述参数长度和参 数值偏移地址,确定所述第一数据的第一地址。
11. 如权利要求7所述的装置,其特征在于,所述动态大参数域包括第一动态大参数头 信息链表和第二动态大参数头信息链表,所述第一动态大参数头信息链表和第二动态大参 数头信息链表分别包括有效标记,有效标记取反,动态大参数数量,动态大参数数量取反, 动态大参数头信息; 所述处理单元具体用于: 在改写动态大参数域的第二数据时,查询动态大参数头信息链表集,根据每个动态大 参数头信息链表的有效标记,确定有效动态大参数头信息链表,其中各个动态大参数头信 息链表构成动态大参数头信息链表集; 当有效动态大参数头信息链表为第一动态大参数头信息链表时,查询所述第一动态大 参数头信息链表,确定所述第二数据的动态大参数头信息,其中所述动态大参数头信息包 括标号域,动态大参数长度域和动态大参数段标号; 将第二数据的标号和所述标号域进行匹配,在匹配成功时,根据所述动态大参数段标 号,确定所述第二数据所在的原始段; 根据所述动态大参数长度域,确定所述第二数据在所述原始段中的第二地址; 根据所述第二地址,将除第二地址外,所述原始段中的其它地址对应的数据复制到更 新段中,并将所述第二数据的更新数据写入到更新段中; 更新动态大参数头信息,并擦除所述原始段中的数据; 将所述第一动态大参数头信息链表中除所述更新后的动态大参数头信息外的其它动 态大参数头信息复制到第二动态大参数头信息链表; 将所述更新后的动态大参数头信息写入第二动态大参数头信息链表; 将所述第二动态大参数头信息链表的有效标记置为有效; 将所述第一动态大参数头信息链表擦除。
12.如权利要求7所述的装置,其特征在于,所述静态小数据域和静态大数据域分别包 括静态参数数量值,静态参数数量值取反,静态参数头信息,静态参数有效数据; 所述处理单元具体用于: 当读取静态小数据域或者静态大数据域的第三数据时,根据第三数据的标号,查询静 态参数头信息,其中所述静态参数头信息包括参数标号,参数长度,参数值偏移地址; 将所述第三数据的标号和静态参数头信息的参数标号进行匹配,当匹配成功时,根据 所述参数长度和参数偏移地址,确定所述第三数据的第三地址; 根据所述第三地址,读取所述第三数据。
【文档编号】G06F12/06GK104156319SQ201410398998
【公开日】2014年11月19日 申请日期:2014年8月13日 优先权日:2014年8月13日
【发明者】辜大光 申请人:无锡中星微电子有限公司