CN103544116A - 一种数据处理方法及装置 - Google Patents

一种数据处理方法及装置 Download PDF

Info

Publication number
CN103544116A
CN103544116A CN201210236758.6A CN201210236758A CN103544116A CN 103544116 A CN103544116 A CN 103544116A CN 201210236758 A CN201210236758 A CN 201210236758A CN 103544116 A CN103544116 A CN 103544116A
Authority
CN
China
Prior art keywords
subregion
sector
current
embedded system
written
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
Application number
CN201210236758.6A
Other languages
English (en)
Other versions
CN103544116B (zh
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.)
Guangzhou Ankai Microelectronics Co.,Ltd.
Original Assignee
Anyka Guangzhou Microelectronics Technology Co Ltd
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 Anyka Guangzhou Microelectronics Technology Co Ltd filed Critical Anyka Guangzhou Microelectronics Technology Co Ltd
Priority to CN201210236758.6A priority Critical patent/CN103544116B/zh
Publication of CN103544116A publication Critical patent/CN103544116A/zh
Application granted granted Critical
Publication of CN103544116B publication Critical patent/CN103544116B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本发明公开了一种数据处理方法及装置。所述数据处理方法,适用于电子设备与嵌入式系统之间的USB数据传输过程中;所述方法包括:创建与所述嵌入式系统相关联的一缓冲区;判读是否接收到读/写嵌入式系统的指令,如果是,对所述缓冲区进行相应的读/写操作;否则,在嵌入式系统空闲时段根据所述缓冲区所存储的当前数据,定时对所述嵌入式系统进行数据刷新。可见,本方案中,利用缓冲区实现对嵌入式系统的读/写操作以及刷新操作,减少直接对嵌入式系统的存储载体进行读/写操作次数,从而减少刷新存储载体FAT和FDT的次数,因此,可以提高嵌入式系统与电子设备的USB数据传输性能,并提高嵌入式系统的寿命。

Description

一种数据处理方法及装置
技术领域
本发明涉及数据处理技术领域,特别是涉及一种数据处理方法及装置。
背景技术
嵌入式系统,通常为非桌面计算机系统,即非PC、服务器、大中小型机等,有计算机功能且可以“嵌入”到专用电子设备并发挥专用功能的设备。简单来说,嵌入式系统通过和电子设备的电气连接,并通过在电子设备上运行的专用程序对接口进行通讯和控制,使电子设备成为智能化的设备,比如:基于网络的工业控制器、带颜色显示的智能终端等。在实际应用中,嵌入式系统可以包括:U盘、移动硬盘、MP3、MP4等。
当前各类嵌入式系统开发设计中,存储模块是不可或缺的重要方面。Flash存储器作为一种安全、快速的存储载体,由于具有体积小、容量大、成本低、掉电数据不丢失等优点,目前已经逐步取代其它半导体存储元件,成为嵌入式系统中数据和程序的主要存储载体。
而在电子设备与嵌入式系统的USB数据传输过程中,当所传输数据为较多的文件时,由于每写一个文件都需要刷新存储载体的FAT(File AllocationTable,文件配置表)和FDT(File Directory Table,文件目录表),而且刷新的很多FAT和FDT可能在存储载体的同一扇区中,导致传输性能大大降低,同时,由于存储载体的写入次数有限,频繁的操作会导致的寿命大大减少。
发明内容
为解决上述技术问题,本发明实施例提供了一种数据处理方法及装置,以提高嵌入式系统与电子设备的USB数据传输性能,并提高嵌入式系统的寿命,技术方案如下:
一种数据处理方法,适用于电子设备与嵌入式系统之间的USB数据传输过程中;所述方法包括:
创建与所述嵌入式系统相关联的一缓冲区;
判读是否接收到读/写嵌入式系统的指令,如果是,对所述缓冲区进行相应的读/写操作;否则,在嵌入式系统空闲时段根据所述缓冲区所存储的当前数据,定时对所述嵌入式系统进行数据刷新。
其中,所述数据处理方法还包括:
在接收到结束USB数据传输的指令后,销毁所述缓冲区。
其中,所述缓冲区包含至少一个子区域,其中,每一子区域能够有效缓存预设数量的扇区,且所述预设数量低于或等于子区域的实际扇区容量。
其中,在接收到对嵌入式系统进行写入操作的指令时,对所述缓冲区进行相应的写操作,具体为:
确定写入操作的指令所对应待写入扇区的待写入地址及待写入个数;
按照预设规则对缓冲区中一存在有效数据的子区域进行更新数据操作,并获得本次更新数据操作后所更新的扇区个数;
当所述更新的扇区个数小于当前的待写入扇区的待写入个数时,根据所更新的扇区个数,获取剩余的扇区个数,从而确定当前的待写入扇区的待写入地址和待写入个数;
判断当前子区域是否为最后一子区域;
当所述当前子区域不为最后一子区域时,继续执行对缓冲区中下一子区域进行写入操作至判断当前子区域是否为最后一子区域的步骤;
当所述当前子区域为最后一子区域时,判断当前的待写入扇区的待写入个数是否超过预设数量,
如果是,将当前待写入扇区写入到嵌入式系统中;
否则,
判断所述当前的待写入扇区的待写入地址是否接着上一次写入嵌入式系统的扇区地址,并在当前的待写入扇区的待写入地址接着上一次写入嵌入式系统的扇区地址时,将当前的待写入扇区写入到嵌入式系统中;在当前的待写入扇区的待写入地址未接着上一次写入嵌入式系统的扇区地址时,查询是否存在空闲状态的一子区域,如果存在,则将当前的待写入扇区写入所确定出的空闲状态的子区域,如果不存在,则调用刷新函数,以刷新部分子区域到嵌入式系统中并将刷新后的所述部分子区域设置为空闲状态,进而获取到空闲状态的一子区域,并将当前的待写入扇区写入所确定出的空闲状态的子区域。
其中,对缓冲区中当前子区域进行写入操作所依据的规则为:
如果当前的待写入扇区的待写入地址在当前子区域中存在相应的扇区地址,则对当前子区域中所述相应的扇区进行写入操作,并返回所更新的扇区个数;
如果当前的待写入扇区的待写入地址小于当前子区域中扇区地址,且待写入地址加扇区个数对应的扇区在当前子区域中存在相应的扇区,则对当前子区域中所述相应的扇区进行写入操作,并返回更新的扇区个数为0;
如果当前子区域的扇区地址完全包含在当前的待写入扇区的扇区地址区间中,则置当前子区域为空闲状态,并返回更新的扇区个数为0,所述扇区地址区间为待写入地址至待写入地址加待写入扇区个数;
否则,直接返回更新的扇区个数为0。
其中,在接收到对嵌入式系统进行读操作的指令时,对所述缓冲区进行相应的读操作,具体为:
确定读操作的指令所对应待读扇区的待读地址及待读个数;
按照预设规则对缓冲区中一子区域进行读操作,并获得本次读操作所读取的扇区个数;
当所读取的扇区个数小于所述待读扇区的待读个数时,根据所读取的扇区个数,确定剩余的待读扇区对应待读地址和待读个数;
判断当前子区域是否为最后一子区域;
当所述当前子区域不为最后一子区域时,继续执行对缓冲区中下一子区域进行读操作至判断当前子区域是否为最后一子区域的步骤;
当所述当前子区域为最后一子区域时,在嵌入式系统中读取当前的待读扇区。
其中,对缓冲区中当前子区域进行读操作所依据的规则为:
如果当前的待读扇区的待读地址在当前子区域中存在相应的扇区地址,则对当前子区域中所述相应的扇区进行读操作,并返回所读取的扇区个数;
如果当前的待读扇区的待读地址小于当前子区域中扇区地址,且待读地址加待读个数大于当前子区域中待读扇区地址,将当前子区域中的有效数据写入到嵌入式系统中,同时置所述当前子区域为空闲状态,返回所读取的扇区个数为0;
否则,返回所读取的扇区个数为0。
其中,根据所述缓冲区所存储的当前数据,对所述嵌入式系统进行数据刷新,具体为:
判断所有具有有效数据的子区域中是否存在接着上一次写入嵌入式系统的扇区地址的子区域;
当判断结果为是时,将所确定出的子区域置为需求刷新的子区域;
当判断结果为否时,判断所有具有有效数据的子区域中是否存在具有最大的扇区地址的子区域,如果是,将所确定出的子区域置为需求刷新的子区域;否则,结束刷新;
当将所确定出的子区域置为需求刷新的子区域后,判断所有具有有效数据的子区域中是否存在子区域的扇区地址加子区域的扇区个数等于需求刷新的子区域的扇区地址的子区域,
如果是,继续执行将所确定出的子区域置为需求刷新的子区域至当前判断的步骤;
否则,刷新需求刷新的子区域到嵌入式系统中,并置该子区域为空闲的状态,同时,判断所有具有有效数据的子区域中是否存在子区域的扇区地址等于已刷新的子区域的扇区地址加已刷新的子区域扇区个数的子区域,如果是,置所确定出的子区域的扇区地址等于已刷新的子区域的扇区地址加已刷新的子区域扇区个数的子区域为需求刷新的子区域,并继续执行刷新需求刷新的子区域到嵌入式系统中,置该子区域为空闲的状态以及当前判断的步骤;否则,结束刷新。
相应的,本发明实施例还提供一种数据处理装置,适用于电子设备与嵌入式系统之间的USB数据传输过程中;所述数据处理装置包括:
缓冲区创建模块,用于创建与所述嵌入式系统相关联的一缓冲区;
判断模块,用于判断是否接收到读/写嵌入式系统的指令,如果是,则触发数据读写模块;否则,在嵌入式系统空闲时段定时的触发刷新模块;
数据读写模块,用于在接收到读/写嵌入式系统的指令时,对所述缓冲区进行相应的读/写操作;
刷新模块,用于根据所述缓冲区所存储的当前数据,对所述嵌入式系统进行数据刷新。
其中,所述数据处理装置还包括:
销毁模块,用于在接收到结束USB数据传输的指令后,销毁所述缓冲区。
本发明实施例所提供的技术方案,在嵌入式系统与电子设备进行USB数据传输时,创建与所述嵌入式系统相关联的一缓冲区;在接收到读/写嵌入式系统的指令时,对所述缓冲区进行相应的读/写操作;而在未接收到读/写嵌入式系统的指令时,在嵌入式系统空闲时段根据所述缓冲区所存储的当前数据,定时对所述嵌入式系统进行数据刷新。可见,本方案中,利用缓冲区实现对嵌入式系统的读/写操作以及刷新操作,减少直接对嵌入式系统的存储载体进行读/写操作次数,从而减少刷新存储载体FAT和FDT的次数,因此,可以提高嵌入式系统与电子设备的USB数据传输性能,并提高嵌入式系统的寿命。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例所提供的一种数据处理方法的第一种流程图;
图2为本发明实施例所提供的一种数据处理方法的第二种流程图;
图3为本发明实施例所提供的一种数据处理方法的第三种流程图;
图4为本发明实施例所提供的一种数据处理方法的第四种流程图;
图5为本发明实施例所提供的一种数据处理装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了提高嵌入式系统与电子设备的USB数据传输性能,并提高嵌入式系统的寿命,本发明实施例提供了一种数据处理方法及装置。
下面首先对本发明实施例所提供的一种数据处理方法进行介绍。
需要说明的是,本发明实施例所提供的数据处理方法适用于电子设备与嵌入式系统之间的数据传输过程中。其中,该电子设备可以为笔记本、手机、平板电脑等,而嵌入式系统可以为U盘、移动硬盘、MP3、MP4等。
如图1所示,一种数据处理方法,可以包括:
S101,创建与所述嵌入式系统相关联的一缓冲区;
在接收到电子设备与嵌入式系统进行USB数据传输的指令时,则可以创建与该嵌入式系统相关联的一缓冲区。其中,所述缓冲区包含至少一个子区域,且每一子区域能够有效缓存预设数量的扇区,且所述预设数量低于或等于子区域的实际扇区容量。
需要说明的是,该预设数量为保证各子区域之间的内容不重复而定义,具体的值可以根据实际应用进行设定。下面简单介绍在建立缓冲区后该预设数量的取值原理:
伪定义几个变量
确定创建缓冲区时子区域个数、待写入扇区地址为W SecAddr、待写入扇区个数W SecCnt、每一子区域的扇区地址为C SecAddr、每一子区域的扇区个数为C SecCnt;
查询所有子区域,判断是否存在扇区地址C SecAddr大于待写入扇区地址W SecAddr,且扇区数(C SecAddr-W SecAddr)不超过子区域的实际扇区容量的子区域,如果存在,确定(C SecAddr-W SecAddr)中最小值为该预设数量;否则,该实际扇区容量为该预设数量。
可以理解的是,在创建缓冲区的过程中,需要将相应的缓冲区读/写函数注册到USB底层中,以使得进行USB底层读/写的时候直接调用缓冲区读/写函数;并且,电子设备与嵌入式系统进行USB传输包括读和写两部分,USB数据传输以扇区的大小为单位,扇区为文件系统所定义的最小单元,可以是512、1024、2048、4096个BYTE(字节),其为格式化的时候分配的;其中,所谓写操作为:将一个大小为SecCnt扇区个数的数据写入一个地址是addr(以扇区为单位的数据地址)的地方;所谓读操作为:从一个地址是addr(以扇区为单位的数据地址)的地方读取大小为SecCnt扇区个数的数据。
其中,本领域人员可以理解的是,创建缓冲区所需的结构体和函数可以定义如下:
Figure BDA00001866507000071
Figure BDA00001866507000081
其中,T_PMEDIUM  Create_Cache(T_PMEDIUM medium,T_U32CacheSize),可以实现创建缓冲去所需要的缓存及变量初始化。
可以理解的是,上述代码描述仅仅作为一种示例,并不应该构成对本发明实施例的限定。
S102,判断是否接收到读/写嵌入式系统的指令,如果是,则执行步骤S103,否则,执行步骤S104;
S103,在接收到读/写嵌入式系统的指令时,对所述缓冲区进行相应的读/写操作;
S104,在嵌入式系统空闲时段根据所述缓冲区所存储的当前数据,定时对所述嵌入式系统进行数据刷新。
在创建与该嵌入式系统相关联的缓冲区后,需要实时判断是否接收到读/写嵌入式系统的指令。当接收到读/写嵌入式系统的指令时,对该缓冲区进行相应的读/写操作。而当未收到读/写嵌入式系统的指令时,表明系统处于空闲状态,而因为缓冲区的数据为最新的数据,且最终需要刷新到嵌入式系统中,因此,可以嵌入式系统空闲时段根据该缓冲区所存储的当前数据,定时对该嵌入式系统进行数据刷新,以将缓冲区中的当前数据同步到嵌入式系统中。
需要说明的是,在系统处于空闲状态时,可以根据一定的规则将缓冲区中部分数据刷新到嵌入式系统中,并将缓冲区中所被更新到嵌入式系统的相应数据置为废数据,以使得嵌入式系统应用上更为流畅,提高用户体验性。
其中,如图4所示,根据所述缓冲区所存储的当前数据,对所述嵌入式系统进行数据刷新的过程可以为:
S401,判断所有具有有效数据的子区域中是否存在接着上一次写入嵌入式系统的扇区地址的子区域,如果是,执行步骤S403;否则,执行步骤S402;
S402,判断所有具有有效数据的子区域中是否存在具有最大的扇区地址的子区域,如果是,执行步骤S403;否则,执行步骤S408;
S403,将所确定出的子区域置为需求刷新的子区域,并执行步骤S404;
S404,判断所有具有有效数据的子区域中是否存在子区域的扇区地址加子区域的扇区个数等于需求刷新的子区域的扇区地址的子区域,如果是,则执行步骤S403;否则,执行步骤S405;
S405,刷新需求刷新的子区域到嵌入式系统中,同时置该子区域为空闲的状态;
S406,判断所有具有有效数据的子区域中是否存在子区域的扇区地址等于已刷新的子区域的扇区地址加已刷新的子区域扇区个数的子区域,如果是,执步骤S407;否则,执行步骤S408;
S407,置所确定出的子区域的扇区地址等于已刷新的子区域的扇区地址加已刷新的子区域扇区个数的子区域为需求刷新的子区域,并执行步骤S405;
S408,刷新完毕。
本发明实施例所提供的技术方案,在嵌入式系统与电子设备进行USB数据传输时,创建与所述嵌入式系统相关联的一缓冲区;在接收到读/写嵌入式系统的指令时,对所述缓冲区进行相应的读/写操作;而在未接收到读/写嵌入式系统的指令时,在嵌入式系统空闲时段根据所述缓冲区所存储的当前数据,定时对所述嵌入式系统进行数据刷新。可见,本方案中,利用缓冲区实现对嵌入式系统的读/写操作以及刷新操作,减少直接对嵌入式系统的存储载体进行读/写操作次数,从而减少刷新存储载体FAT和FDT的次数,因此,可以提高嵌入式系统与电子设备的USB数据传输性能,并提高嵌入式系统的寿命。
更进一步的,为了在结束USB数据传输后,释放创建缓冲区时所申请的内存,同时刷新所有的数据到嵌入式系统中,因此,在接收到结束USB数据传输的指令后,需要销毁所述缓冲区。需要说明的是,在销毁所述缓冲区之前,需要判断是否有待刷新数据,当存在待刷新数据时,需要将缓冲区中相应数据刷新到嵌入式系统中后,销毁该缓冲区。
下面以电子设备与嵌入式系统进行USB数据传输时,电子设备对嵌入式系统进行写入操作为例,对本发明所提供的一种数据处理方法进行介绍。
如图2所示,一种数据处理方法,可以包括:
S201,创建与所述嵌入式系统相关联的一缓冲区;
S202,接收对嵌入式系统进行写入操作的指令;
S203,确定写入操作的指令所对应待写入扇区的待写入地址及待写入个数;
S204,按照预设规则对缓冲区中一存在有效数据的子区域进行更新数据操作,并获得本次更新数据操作后所更新的扇区个数;
其中,对缓冲区中当前子区域进行写入操作所依据的规则为:
如果当前的待写入扇区的待写入地址在当前子区域中存在相应的扇区地址,则对当前子区域中所述相应的扇区进行写入操作,并返回所更新的扇区个数;
如果当前的待写入扇区的待写入地址小于当前子区域中扇区地址,且待写入地址加扇区个数对应的扇区在当前子区域中存在相应的扇区,则对当前子区域中所述相应的扇区进行写入操作,并返回更新的扇区个数为0;
如果当前子区域的扇区地址完全包含在当前的待写入扇区的扇区地址区间中,则置当前子区域为空闲状态,并返回更新的扇区个数为0,所述扇区地址区间为待写入地址至待写入地址加待写入扇区个数;
否则,直接返回更新的扇区个数为0。
S205,判断所更新的扇区个数是否小于当前的待写入扇区的待写入个数,如果是,则执行步骤S206;否则,执行步骤S214;
S206,根据所更新的扇区个数,确定剩余的待写入扇区对应的待写入地址和待写入个数;
S207,判断当前子区域是否为最后一子区域,如果是,则执行步骤S208;否则,执行步骤S204;
S208,判断当前的待写入扇区的待写入个数是否超过预设数量,如果是,则执行步骤S213;否则,执行步骤S209;
S209,判断当前的待写入扇区的待写入地址是否接着上一次写入嵌入式系统的扇区地址,如果是,则执行步骤S213;否则,执行步骤S210;
S210,查询是否存在空闲状态的一子区域,如果存在,执行步骤S212,否则,执行步骤S211;
S211,调用刷新函数,以刷新部分子区域到嵌入式系统中并将刷新后的所述部分子区域设置为空闲状态,进而获取到空闲状态的一子区域,执行步骤S212;
S212,将当前的待写入扇区写入缓冲区中处于空闲状态的一子区域中;
S213,将当前的待写入扇区写入到嵌入式系统中;
S214,结束本次写入流程。
可见,本实施例中,在电子设备对嵌入式系统进行写入操作时,利用该缓冲区进行相应的写操作,以此实现了减少直接对嵌入式系统的存储载体进行写入操作的次数,从而减少刷新存储载体FAT和FDT的次数,因此,可以提高嵌入式系统与电子设备的USB数据传输性能,并提高嵌入式系统的寿命。
下面以电子设备与嵌入式系统进行USB数据传输时,电子设备对嵌入式系统进行读操作为例,对本发明所提供的一种数据处理方法进行介绍。
如图3所示,一种数据处理方法,可以包括:
S301,创建与所述嵌入式系统相关联的一缓冲区;
S302,接收对嵌入式系统进行读操作的指令;
S303,确定读操作的指令所对应待读扇区的待读地址及待读个数;
S304,按照预设规则对缓冲区中一子区域进行读操作,并获得本次读操作所读取的扇区个数;
其中,对缓冲区中当前子区域进行读操作所依据的规则为:
如果当前的待读扇区的待读地址在当前子区域中存在相应的扇区地址,则对当前子区域中所述相应的扇区进行读操作,并返回所读取的扇区个数;
如果当前的待读扇区的待读地址小于当前子区域中扇区地址,且待读地址加待读个数大于当前子区域中待读扇区地址,将当前子区域中的有效数据写入到嵌入式系统中,同时置所述当前子区域为空闲状态,返回所读取的扇区个数为0;
否则,返回所读取的扇区个数为0。
S305,判断所读取的扇区个数是否小于当前的待读扇区的待读个数,如果是,则执行步骤S306;否则,执行步骤S309;
S306,根据所读取的扇区个数,确定剩余的待读扇区对应待读地址和待读个数;
S307,判断当前子区域是否为最后一子区域,如果是,执行步骤S308;否则,执行步骤S304;
S308,在嵌入式系统中读取当前的待读扇区;
S309,结束本次读取流程。
可见,本实施例中,在电子设备对嵌入式系统进行读操作时,利用该缓冲区进行相应的读操作,以此实现了减少直接对嵌入式系统的存储载体进行读操作的次数,从而减少刷新存储载体FAT和FDT的次数,因此,可以提高嵌入式系统与电子设备的USB数据传输性能,并提高嵌入式系统的寿命。
通过以上的方法实施例的描述,所属领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:只读存储器(ROM)、随机存取存储器(RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
相应于上述方法,本发明实施例还提供一种数据处理装置,适用于电子设备与嵌入式系统之间的USB数据传输过程中;如图5所示,可以包括:
缓冲区创建模块110,用于创建与所述嵌入式系统相关联的一缓冲区;
判断模块120,用于判断是否接收到读/写嵌入式系统的指令,如果是,则触发数据读写模块130;否则,在嵌入式系统空闲时段定时的触发刷新模块140;
数据读写模块130,用于在接收到读/写嵌入式系统的指令时,对所述缓冲区进行相应的读/写操作;
刷新模块140,用于根据所述缓冲区所存储的当前数据,对所述嵌入式系统进行数据刷新。
本发明实施例所提供的数据处理装置,在嵌入式系统与电子设备进行USB数据传输时,创建与所述嵌入式系统相关联的一缓冲区;在接收到读/写嵌入式系统的指令时,对所述缓冲区进行相应的读/写操作;在未接收到读/写嵌入式系统的指令时,在嵌入式系统空闲时段根据所述缓冲区所存储的当前数据,定时对所述嵌入式系统进行数据刷新。可见,本方案中,利用缓冲区实现对嵌入式系统的读/写操作以及刷新操作,减少直接对嵌入式系统的存储载体进行读/写操作的次数,从而减少刷新存储载体FAT和FDT的次数,因此,可以提高嵌入式系统与电子设备的USB数据传输性能,并提高嵌入式系统的寿命。
更进一步的,该数据处理装置还可以包括:
销毁模块,用于在接收到结束USB数据传输的指令后,销毁所述缓冲区。
其中,数据读写模块130在接收到对嵌入式系统进行写入操作的指令时,对所述缓冲区进行相应的写操作,具体为:
确定写入操作的指令所对应待写入扇区的待写入地址及待写入个数;
按照预设规则对缓冲区中一存在有效数据的子区域进行更新数据操作,并获得本次更新数据操作后所更新的扇区个数;
当所述更新的扇区个数小于当前的待写入扇区的待写入个数时,根据所更新的扇区个数,获取剩余的扇区个数,从而确定当前的待写入扇区的待写入地址和待写入个数;
判断当前子区域是否为最后一子区域;
当所述当前子区域不为最后一子区域时,继续执行对缓冲区中下一子区域进行写入操作至判断当前子区域是否为最后一子区域的步骤;
当所述当前子区域为最后一子区域时,判断当前的待写入扇区的待写入个数是否超过预设数量,
如果是,将当前待写入扇区写入到嵌入式系统中;
否则,
判断所述当前的待写入扇区的待写入地址是否接着上一次写入嵌入式系统的扇区地址,并在当前的待写入扇区的待写入地址接着上一次写入嵌入式系统的扇区地址时,将当前的待写入扇区写入到嵌入式系统中;在当前的待写入扇区的待写入地址未接着上一次写入嵌入式系统的扇区地址时,查询是否存在空闲状态的一子区域,如果存在,则将当前的待写入扇区写入所确定出的空闲状态的子区域,如果不存在,则调用刷新函数,以刷新部分子区域到嵌入式系统中并将刷新后的所述部分子区域设置为空闲状态,进而获取到空闲状态的一子区域,并将当前的待写入扇区写入所确定出的空闲状态的子区域。
其中,对缓冲区中当前子区域进行写入操作所依据的规则为:
如果当前的待写入扇区的待写入地址在当前子区域中存在相应的扇区地址,则对当前子区域中所述相应的扇区进行写入操作,并返回所更新的扇区个数;
如果当前的待写入扇区的待写入地址小于当前子区域中扇区地址,且待写入地址加扇区个数对应的扇区在当前子区域中存在相应的扇区,则对当前子区域中所述相应的扇区进行写入操作,并返回更新的扇区个数为0;
如果当前子区域的扇区地址完全包含在当前的待写入扇区的扇区地址区间中,则置当前子区域为空闲状态,并返回更新的扇区个数为0,所述扇区地址区间为待写入地址至待写入地址加待写入扇区个数;
否则,直接返回更新的扇区个数为0。
其中,数据读写模块130在接收到对嵌入式系统进行读操作的指令时,对所述缓冲区进行相应的读操作,具体为:
确定读操作的指令所对应待读扇区的待读地址及待读个数;
按照预设规则对缓冲区中一子区域进行读操作,并获得本次读操作所读取的扇区个数;
当所读取的扇区个数小于所述待读扇区的待读个数时,根据所读取的扇区个数,确定剩余的待读扇区对应待读地址和待读个数;
判断当前子区域是否为最后一子区域;
当所述当前子区域不为最后一子区域时,继续执行对缓冲区中下一子区域进行读操作至判断当前子区域是否为最后一子区域的步骤;
当所述当前子区域为最后一子区域时,在嵌入式系统中读取当前的待读扇区。
其中,对缓冲区中当前子区域进行读操作所依据的规则为:
如果当前的待读扇区的待读地址在当前子区域中存在相应的扇区地址,则对当前子区域中所述相应的扇区进行读操作,并返回所读取的扇区个数;
如果当前的待读扇区的待读地址小于当前子区域中扇区地址,且待读地址加待读个数大于当前子区域中待读扇区地址,将当前子区域中的有效数据写入到嵌入式系统中,同时置所述当前子区域为空闲状态,返回所读取的扇区个数为0;
否则,返回所读取的扇区个数为0。
其中,刷新模块140具体用于:
判断所有具有有效数据的子区域中是否存在接着上一次写入嵌入式系统的扇区地址的子区域;
当判断结果为是时,将所确定出的子区域置为需求刷新的子区域;
当判断结果为否时,判断所有具有有效数据的子区域中是否存在具有最大的扇区地址的子区域,如果是,将所确定出的子区域置为需求刷新的子区域;否则,结束刷新;
当将所确定出的子区域置为需求刷新的子区域后,判断所有具有有效数据的子区域中是否存在子区域的扇区地址加子区域的扇区个数等于需求刷新的子区域的扇区地址的子区域,
如果是,继续执行将所确定出的子区域置为需求刷新的子区域至当前判断的步骤;
否则,刷新需求刷新的子区域到嵌入式系统中,并置该子区域为空闲的状态,同时,判断所有具有有效数据的子区域中是否存在子区域的扇区地址等于已刷新的子区域的扇区地址加已刷新的子区域扇区个数的子区域,如果是,置所确定出的子区域的扇区地址等于已刷新的子区域的扇区地址加已刷新的子区域扇区个数的子区域为需求刷新的子区域,并继续执行刷新需求刷新的子区域到嵌入式系统中,置该子区域为空闲的状态以及当前判断的步骤;否则,结束刷新。
对于装置或系统实施例而言,由于其基本相应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置或系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,在没有超过本申请的精神和范围内,可以通过其他的方式实现。当前的实施例只是一种示范性的例子,不应该作为限制,所给出的具体内容不应该限制本申请的目的。例如,所述单元或子单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或多个子单元结合一起。另外,多个单元可以或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
另外,所描述系统,装置和方法以及不同实施例的示意图,在不超出本申请的范围内,可以与其它系统,模块,技术或方法结合或集成。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
以上所述仅是本发明的具体实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (10)

1.一种数据处理方法,其特征在于,适用于电子设备与嵌入式系统之间的USB数据传输过程中;所述方法包括:
创建与所述嵌入式系统相关联的一缓冲区;
判读是否接收到读/写嵌入式系统的指令,如果是,对所述缓冲区进行相应的读/写操作;否则,在嵌入式系统空闲时段根据所述缓冲区所存储的当前数据,定时对所述嵌入式系统进行数据刷新。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在接收到结束USB数据传输的指令后,销毁所述缓冲区。
3.根据权利要求1或2所述的方法,其特征在于,所述缓冲区包含至少一个子区域,其中,每一子区域能够有效缓存预设数量的扇区,且所述预设数量低于或等于子区域的实际扇区容量。
4.根据权利要求3所述的方法,其特征在于,在接收到对嵌入式系统进行写入操作的指令时,对所述缓冲区进行相应的写操作,具体为:
确定写入操作的指令所对应待写入扇区的待写入地址及待写入个数;
按照预设规则对缓冲区中一存在有效数据的子区域进行更新数据操作,并获得本次更新数据操作后所更新的扇区个数;
当所述更新的扇区个数小于当前的待写入扇区的待写入个数时,根据所更新的扇区个数,获取剩余的扇区个数,从而确定当前的待写入扇区的待写入地址和待写入个数;
判断当前子区域是否为最后一子区域;
当所述当前子区域不为最后一子区域时,继续执行对缓冲区中下一子区域进行写入操作至判断当前子区域是否为最后一子区域的步骤;
当所述当前子区域为最后一子区域时,判断当前的待写入扇区的待写入个数是否超过预设数量,
如果是,将当前待写入扇区写入到嵌入式系统中;
否则,
判断所述当前的待写入扇区的待写入地址是否接着上一次写入嵌入式系统的扇区地址,并在当前的待写入扇区的待写入地址接着上一次写入嵌入式系统的扇区地址时,将当前的待写入扇区写入到嵌入式系统中;在当前的待写入扇区的待写入地址未接着上一次写入嵌入式系统的扇区地址时,查询是否存在空闲状态的一子区域,如果存在,则将当前的待写入扇区写入所确定出的空闲状态的子区域,如果不存在,则调用刷新函数,以刷新部分子区域到嵌入式系统中并将刷新后的所述部分子区域设置为空闲状态,进而获取到空闲状态的一子区域,并将当前的待写入扇区写入所确定出的空闲状态的子区域。
5.根据权利要求4所述的方法,其特征在于,对缓冲区中当前子区域进行写入操作所依据的规则为:
如果当前的待写入扇区的待写入地址在当前子区域中存在相应的扇区地址,则对当前子区域中所述相应的扇区进行写入操作,并返回所更新的扇区个数;
如果当前的待写入扇区的待写入地址小于当前子区域中扇区地址,且待写入地址加扇区个数对应的扇区在当前子区域中存在相应的扇区,则对当前子区域中所述相应的扇区进行写入操作,并返回更新的扇区个数为0;
如果当前子区域的扇区地址完全包含在当前的待写入扇区的扇区地址区间中,则置当前子区域为空闲状态,并返回更新的扇区个数为0,所述扇区地址区间为待写入地址至待写入地址加待写入扇区个数;
否则,直接返回更新的扇区个数为0。
6.根据权利要求3所述的方法,其特征在于,在接收到对嵌入式系统进行读操作的指令时,对所述缓冲区进行相应的读操作,具体为:
确定读操作的指令所对应待读扇区的待读地址及待读个数;
按照预设规则对缓冲区中一子区域进行读操作,并获得本次读操作所读取的扇区个数;
当所读取的扇区个数小于所述待读扇区的待读个数时,根据所读取的扇区个数,确定剩余的待读扇区对应待读地址和待读个数;
判断当前子区域是否为最后一子区域;
当所述当前子区域不为最后一子区域时,继续执行对缓冲区中下一子区域进行读操作至判断当前子区域是否为最后一子区域的步骤;
当所述当前子区域为最后一子区域时,在嵌入式系统中读取当前的待读扇区。
7.根据权利要求6所述的方法,其特征在于,对缓冲区中当前子区域进行读操作所依据的规则为:
如果当前的待读扇区的待读地址在当前子区域中存在相应的扇区地址,则对当前子区域中所述相应的扇区进行读操作,并返回所读取的扇区个数;
如果当前的待读扇区的待读地址小于当前子区域中扇区地址,且待读地址加待读个数大于当前子区域中待读扇区地址,将当前子区域中的有效数据写入到嵌入式系统中,同时置所述当前子区域为空闲状态,返回所读取的扇区个数为0;
否则,返回所读取的扇区个数为0。
8.根据权利要求3所述的方法,其特征在于,根据所述缓冲区所存储的当前数据,对所述嵌入式系统进行数据刷新,具体为:
判断所有具有有效数据的子区域中是否存在接着上一次写入嵌入式系统的扇区地址的子区域;
当判断结果为是时,将所确定出的子区域置为需求刷新的子区域;
当判断结果为否时,判断所有具有有效数据的子区域中是否存在具有最大的扇区地址的子区域,如果是,将所确定出的子区域置为需求刷新的子区域;否则,结束刷新;
当将所确定出的子区域置为需求刷新的子区域后,判断所有具有有效数据的子区域中是否存在子区域的扇区地址加子区域的扇区个数等于需求刷新的子区域的扇区地址的子区域,
如果是,继续执行将所确定出的子区域置为需求刷新的子区域至当前判断的步骤;
否则,刷新需求刷新的子区域到嵌入式系统中,并置该子区域为空闲的状态,同时,判断所有具有有效数据的子区域中是否存在子区域的扇区地址等于已刷新的子区域的扇区地址加已刷新的子区域扇区个数的子区域,如果是,置所确定出的子区域的扇区地址等于已刷新的子区域的扇区地址加已刷新的子区域扇区个数的子区域为需求刷新的子区域,并继续执行刷新需求刷新的子区域到嵌入式系统中,置该子区域为空闲的状态以及当前判断的步骤;否则,结束刷新。
9.一种数据处理装置,其特征在于,适用于电子设备与嵌入式系统之间的USB数据传输过程中;所述数据处理装置包括:
缓冲区创建模块,用于创建与所述嵌入式系统相关联的一缓冲区;
判断模块,用于判断是否接收到读/写嵌入式系统的指令,如果是,则触发数据读写模块;否则,在嵌入式系统空闲时段定时的触发刷新模块;
数据读写模块,用于在接收到读/写嵌入式系统的指令时,对所述缓冲区进行相应的读/写操作;
刷新模块,用于根据所述缓冲区所存储的当前数据,对所述嵌入式系统进行数据刷新。
10.根据权利要求9所述的装置,其特征在于,还包括:
销毁模块,用于在接收到结束USB数据传输的指令后,销毁所述缓冲区。
CN201210236758.6A 2012-07-09 2012-07-09 一种数据处理方法及装置 Active CN103544116B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210236758.6A CN103544116B (zh) 2012-07-09 2012-07-09 一种数据处理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210236758.6A CN103544116B (zh) 2012-07-09 2012-07-09 一种数据处理方法及装置

Publications (2)

Publication Number Publication Date
CN103544116A true CN103544116A (zh) 2014-01-29
CN103544116B CN103544116B (zh) 2016-08-10

Family

ID=49967588

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210236758.6A Active CN103544116B (zh) 2012-07-09 2012-07-09 一种数据处理方法及装置

Country Status (1)

Country Link
CN (1) CN103544116B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105843561A (zh) * 2016-04-25 2016-08-10 浪潮(北京)电子信息产业有限公司 一种存储空间的缓冲方法及装置
CN109543476A (zh) * 2018-11-14 2019-03-29 捷德(中国)信息科技有限公司 数据处理方法、装置及存储介质
CN109783024A (zh) * 2019-01-09 2019-05-21 深圳忆联信息系统有限公司 数据存储处理方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050132124A1 (en) * 2003-12-11 2005-06-16 Hsiang-An Hsieh [silicon storage apparatus, controller and data transmission method thereof]
CN101169971A (zh) * 2006-10-23 2008-04-30 北京锐科天智科技有限责任公司 电子硬盘
CN101901193A (zh) * 2009-05-27 2010-12-01 北京启明星辰信息技术股份有限公司 一种数据的缓冲方法和服务端

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050132124A1 (en) * 2003-12-11 2005-06-16 Hsiang-An Hsieh [silicon storage apparatus, controller and data transmission method thereof]
CN101169971A (zh) * 2006-10-23 2008-04-30 北京锐科天智科技有限责任公司 电子硬盘
CN101901193A (zh) * 2009-05-27 2010-12-01 北京启明星辰信息技术股份有限公司 一种数据的缓冲方法和服务端

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105843561A (zh) * 2016-04-25 2016-08-10 浪潮(北京)电子信息产业有限公司 一种存储空间的缓冲方法及装置
CN105843561B (zh) * 2016-04-25 2018-11-16 浪潮(北京)电子信息产业有限公司 一种存储空间的缓冲方法及装置
CN109543476A (zh) * 2018-11-14 2019-03-29 捷德(中国)信息科技有限公司 数据处理方法、装置及存储介质
CN109543476B (zh) * 2018-11-14 2022-02-22 捷德(中国)科技有限公司 数据处理方法、装置及存储介质
CN109783024A (zh) * 2019-01-09 2019-05-21 深圳忆联信息系统有限公司 数据存储处理方法及装置
CN109783024B (zh) * 2019-01-09 2022-02-01 深圳忆联信息系统有限公司 数据存储处理方法及装置

Also Published As

Publication number Publication date
CN103544116B (zh) 2016-08-10

Similar Documents

Publication Publication Date Title
CN101952808B (zh) 存储设备的扩展利用区域
US10459837B2 (en) Data storage device with production state awareness and non-volatile memory operating method with production state awareness
CN101287187A (zh) 智能手机及其操作系统运行方法
CN103677654A (zh) 一种存储数据的方法及电子设备
CN102375788A (zh) 为具有非易失性存储器的系统动态地分配功率预算的方法及装置
CN102763090A (zh) 用于利用nand存储器件同时读写的系统和方法
CN105677257A (zh) 一种数据存储方法及电子设备
CN103677653A (zh) 一种基于ssd的数据处理方法及电子设备
CN104375933A (zh) 一种单元测试方法和装置
CN102902566A (zh) 一种应用软件的安装及启动方法和装置
CN101763433A (zh) 一种数据存储系统及方法
CN105487824A (zh) 信息处理方法、存储装置及电子设备
CN103544116A (zh) 一种数据处理方法及装置
CN112912743B (zh) 算力的控制方法、装置、设备及存储介质
CN103019833A (zh) 终端设备以及使终端设备支持操作系统快速切换的方法
CN104808953A (zh) 控制数据存储的方法、装置及移动终端
CN104407990A (zh) 一种磁盘访问方法及装置
CN104765631B (zh) 一种移动终端的应用程序恢复方法及装置
CN116719724A (zh) eMMC多平台测试方法和装置、电子设备
CN101908009B (zh) 文件备份与使用方法
CN115981565A (zh) 存储器、数据存储方法及电子设备
CN110032340A (zh) 一种磁盘数据管理方法及相关装置
CN113704177B (zh) 一种服务器固件升级文件的存储方法、系统及相关组件
CN113032290B (zh) 闪存配置方法、装置、电子设备和存储介质
CN102216912B (zh) 内存容量的配置方法和装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: Method and device for processing data

Effective date of registration: 20171102

Granted publication date: 20160810

Pledgee: China Co truction Bank Corp Guangzhou economic and Technological Development Zone sub branch

Pledgor: Anyka (Guangzhou) Microelectronics Technology Co., Ltd.

Registration number: 2017990001008

PE01 Entry into force of the registration of the contract for pledge of patent right
PC01 Cancellation of the registration of the contract for pledge of patent right
PC01 Cancellation of the registration of the contract for pledge of patent right

Date of cancellation: 20181227

Granted publication date: 20160810

Pledgee: China Co truction Bank Corp Guangzhou economic and Technological Development Zone sub branch

Pledgor: Anyka (Guangzhou) Microelectronics Technology Co., Ltd.

Registration number: 2017990001008

PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: Method and device for processing data

Effective date of registration: 20190130

Granted publication date: 20160810

Pledgee: China Co truction Bank Corp Guangzhou economic and Technological Development Zone sub branch

Pledgor: Anyka (Guangzhou) Microelectronics Technology Co., Ltd.

Registration number: 2019440000051

PE01 Entry into force of the registration of the contract for pledge of patent right
PC01 Cancellation of the registration of the contract for pledge of patent right

Date of cancellation: 20200320

Granted publication date: 20160810

Pledgee: China Co truction Bank Corp Guangzhou economic and Technological Development Zone sub branch

Pledgor: ANYKA (GUANGZHOU) MICROELECTRONICS TECHNOLOGY Co.,Ltd.

Registration number: 2019440000051

PC01 Cancellation of the registration of the contract for pledge of patent right
CP01 Change in the name or title of a patent holder

Address after: 510663 3rd floor, area C1, innovation building, 182 science Avenue, Guangzhou Science City, Luogang District, Guangzhou City, Guangdong Province

Patentee after: Guangzhou Ankai Microelectronics Co.,Ltd.

Address before: 510663 3rd floor, area C1, innovation building, 182 science Avenue, Guangzhou Science City, Luogang District, Guangzhou City, Guangdong Province

Patentee before: ANYKA (GUANGZHOU) MICROELECTRONICS TECHNOLOGY Co.,Ltd.

CP01 Change in the name or title of a patent holder
CP02 Change in the address of a patent holder

Address after: 510555 No. 107 Bowen Road, Huangpu District, Guangzhou, Guangdong

Patentee after: Guangzhou Ankai Microelectronics Co.,Ltd.

Address before: 510663 3rd floor, area C1, innovation building, 182 science Avenue, Guangzhou Science City, Luogang District, Guangzhou City, Guangdong Province

Patentee before: Guangzhou Ankai Microelectronics Co.,Ltd.

CP02 Change in the address of a patent holder