CN101710293A - 一种usb存储设备文件遍历的方法及装置 - Google Patents
一种usb存储设备文件遍历的方法及装置 Download PDFInfo
- Publication number
- CN101710293A CN101710293A CN 200910231184 CN200910231184A CN101710293A CN 101710293 A CN101710293 A CN 101710293A CN 200910231184 CN200910231184 CN 200910231184 CN 200910231184 A CN200910231184 A CN 200910231184A CN 101710293 A CN101710293 A CN 101710293A
- Authority
- CN
- China
- Prior art keywords
- file
- traversal
- cpu
- threshold value
- utilization factor
- 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
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种USB存储设备文件遍历的方法及装置,包括遍历文件的过程;在遍历文件的过程中,判断是否存在上层操作,同时判断CPU的利用率,然后根据判断结果决定是否暂停遍历文件、释放CPU资源。本发明通过实时监测上层操作及CPU的利用率,并根据监测结果调整遍历文件的过程,既能快速执行文件遍历、最大化利用CPU资源,同时又不影响上层应用程序的操作,提高了系统整体性能。
Description
技术领域
本发明属于数据处理技术领域,具体地说,是涉及一种USB存储设备文件遍历的方法及装置。
背景技术
目前,基于嵌入式系统的媒体播放器等设备通常对其外围USB存储设备中的文件进行分类整理,以便于用户使用。在需要文件时,采用文件遍历的方式查找与所需文件类型相匹配的文件,然后对这些文件进行相应的处理。在对这些USB存储设备中的文件进行遍历时,现有技术主要采用两种方式来实现。一种方式是在进行文件遍历的过程中,中断所有上层的其他操作,完全占用CPU资源执行文件遍历。另一种方式是在文件遍历过程中加入固定延时,每当遍历到有效文件,或者遍历了指定数量的文件后,延时一定时间,在这一定时间内释放CPU资源,以保证上层应用程序获得足够的CPU时间片来处理上层操作。现有这两种方式均存在不足:对于第一种方式,虽然能够充分利用CPU资源,遍历速度快,但在文件遍历过程中用户不能执行任何操作,导致用户体验性较差;对于第二种方式,通过固定延时释放CPU资源来执行用户的操作,虽然改善了用户的体验,但若在释放CPU时没有用户操作,将会浪费系统资源,降低了CPU的利用率。
发明内容
本发明针对现有技术中USB存储设备文件遍历存在的上述不足,提供了一种新的USB存储设备文件遍历的方法,通过实时监测上层操作及CPU的利用率,并根据监测结果调整遍历文件的过程,既能快速执行文件遍历、最大化利用CPU资源,同时又不影响上层应用程序的操作,提高了系统整体性能。
为解决上述技术问题,本发明采用以下技术方案予以实现:
一种USB存储设备文件遍历的方法,包括遍历文件的过程;在遍历文件的过程中,判断是否存在上层操作,同时判断CPU的利用率,然后根据判断结果决定是否暂停遍历文件、释放CPU资源。
根据本发明所述的方法,在暂停遍历文件、释放CPU资源后,每隔一定延时时间,重新判断是否存在上层操作以及重新判断CPU的利用率。
根据本发明所述的方法,根据判断结果决定是否暂停遍历文件、释放CPU资源可采用下述方法进行:在当前工作状态为遍历文件时,若存在上层操作,或CPU的利用率大于等于设定的第一阈值,则暂停遍历文件、释放CPU资源;在当前工作状态为暂停遍历文件时,若不存在上层操作、且CPU的利用率小于所述第一阈值,则继续执行遍历文件的过程。
进一步地,为避免只采用第一阈值时,因CPU的微小波动导致频繁在执行遍历文件和暂停遍历文件之间切换,从而导致系统稳定性较差的不足,所述根据判断结果决定是否暂停遍历文件、释放CPU资源也可以采用下述方法进行:在当前工作状态为遍历文件时,若存在上层操作,或CPU的利用率大于等于设定的第二阈值,则暂停遍历文件、释放CPU资源;在当前工作状态为暂停遍历文件时,若不存在上层操作、且CPU的利用率小于等于设定的第三阈值,则继续执行遍历文件的过程;其中,所述第二阈值大于所述第三阈值。
根据本发明所述的方法,在上述处理过程中,若CPU的利用率大于所述第三阈值而小于所述第二阈值,则保持当前工作状态不变,即若当前工作状态为遍历文件,则继续执行文件遍历过程;若当前工作状态为暂停遍历文件、释放CPU资源,则仍保持暂停遍历文件的状态。
上述第一阈值、第二阈值及第三阈值的设定值根据应用该文件遍历方法的产品的硬件平台及产品的具体定义和设计来确定。
根据本发明所述的方法,为保证系统的稳定性,所述CPU的利用率为一定间隔时间内CPU的平均利用率。
根据本发明所述的方法,为保证监测的CPU利用率的实时准确性,而又不会因为CPU利用率的波动对系统程序造成影响,所述一定间隔时间设置为0.5-1.5s。
本发明的另一目的是提供一种USB存储设备文件遍历的装置,所述装置除包括用于遍历文件的遍历模块之外,还包括:
上层操作监测模块,用于监测是否存在上层操作;
CPU利用率监测模块,用于监测CPU的利用率;
所述遍历模块根据所述上层操作监测模块的监测结果及所述CPU利用率监测模块的监测结果决定执行遍历文件或暂停遍历文件。
根据本发明所述的装置,在所述遍历模块暂停遍历文件、释放CPU资源后,每隔一定延时时间,重新判断所述上层操作监测模块及所述CPU利用率监测模块的监测结果。
与现有技术相比,本发明的优点和积极效果是:本发明从用户的体验、系统的实时性以及系统资源的有效利用出发,在对USB存储设备进行文件遍历时,通过实时监测是否存在上层操作,同时实时监测和计算CPU的利用率,然后根据上层操作情况及CPU的利用率控制文件遍历过程,保证了对上层操作响应的实时性,改善了用户的体验,同时又合理地利用了CPU的有限资源,保证了文件遍历的速度。
附图说明
图1是本发明所述USB存储设备文件遍历的装置一个实施例的结构示意图;
图2是本发明所述USB存储设备文件遍历的方法一个实施例的基本流程图;
图3是图2实施例中根据上层操作及CPU利用率决定是否暂停遍历文件的具体流程图。
具体实施方式
下面结合附图对本发明作进一步详细的说明。
本发明针对现有基于嵌入式系统的设备在对其USB存储设备进行文件遍历时存在的要么用户体验差、要么CPU利用率低的缺陷,从用户的体验、系统的实时性及对设备系统资源的有效利用角度出发,提出了一种USB存储设备文件遍历的方法和装置。
图1所示为本发明所述USB存储设备文件遍历的装置一个实施例的结构示意图。
如图所示,该实施例的装置除包括有用于遍历文件的遍历模块之外,还包括有上层操作监测模块和CPU利用率监测模块,所述遍历模块将根据所述上层操作监测模块的监测结果及所述CPU利用率监测模块的监测结果决定执行对USB存储设备的遍历文件过程或暂停该遍历文件过程。
其中,所述上层操作监测模块用于监测是否存在上层操作。其具体工作过程为:上层操作监测模块监测可以引起嵌入式设备动作的触发源,如红外遥控IR、串口、键盘、触摸屏及网络上的远程输入等,在触发源有动作发生时,表明存在上层操作。此时,为保证用户的体验,则暂停遍历模块对USB存储设备的遍历文件过程,释放CPU资源,响应相应的上层操作。通过持续监测触发源的动作,直至触发源引发的动作完成、且CPU利用率较小时,才继续执行遍历文件过程。
所述CPU利用率监测模块用于监测CPU的利用情况,该模块通过读取嵌入式系统内核文件,可以获得CPU的效率值,将该值作为CPU的利用率值。在CPU利用率较大时,控制遍历模块暂停遍历文件过程;而在CPU利用率较小且不存在上层操作时,控制遍历模块继续执行对USB存储设备的遍历文件过程。
图2示出了本发明所述USB存储设备文件遍历的方法一个实施例的基本流程图。该实施例的流程如下:
S10:进入USB存储设备文件遍历入口。
S20:监测并判断上层操作及CPU利用率。
为实现在USB存储设备文件遍历的过程中,不影响上层操作,该实施例在遍历文件的过程中随时监测是否存在上层操作,并监测CPU的利用率,并不断进行判断。
S30:根据对上层操作及CPU利用率的判断结果决定是否要暂停遍历的过程。若需要暂停遍历文件,执行步骤S50;若不需要暂停遍历文件,执行步骤S40。
S40:遍历USB存储设备的文件,并在遍历到有效文件时进行相应的处理,如写入数据库、构建链表等。
S50:在需要暂停遍历文件时,释放CPU资源,以便对上层操作进行处理。
上述实施例中根据上层操作及CPU利用率决定是否暂停遍历文件的具体流程如图3所示。
在该实施例中,判断是否存在上层操作是通过查看嵌入式设备的触发源是否动作来执行的。而对于CPU利用率的判断采用下述方法:
首先,获取CPU的利用率:为保证系统的稳定性,所述CPU的利用率采用一定间隔时间内CPU的平均利用率。此外,为保证监测的CPU利用率的实时准确性,而又不会因为CPU利用率的波动对系统程序造成影响,所述一定间隔时间优选为0.5-1.5s,例如,可以取1s作为间隔时间。
其次,对CPU利用率的判断:该实施例通过设定阈值、将监测的CPU利用率与设定阈值相比较的方法来判断CPU利用率的大小,在CPU利用率大时,暂停遍历文件的过程,在CPU利用率小时,可以继续遍历文件。
在设定阈值时,可以只设定一个阈值,即第一阈值,例如,设定第一阈值为1.5,然后将监测的CPU利用率直接与所述第一阈值相比较。若CPU利用率大于等于所述第一阈值,则判定CPU利用率大;若CPU利用率小于所述第一阈值,则判断CPU利用率小。该判定方法比较简单,容易实现,但对CPU利用率的波动比较敏感,CPU的微小波动就会使得判断结果发生变化,从而导致频繁在执行遍历文件和暂停遍历文件之间切换,从而导致系统稳定性较差。
为此,该实施例采用阈值区间的方式对CPU利用率进行判断,具体为:设定两个阈值,即第二阈值和第三阈值,且第二阈值大于第三阈值,例如,设定第二阈值为1.4,第三阈值为1.6。将监测的CPU利用率分别与所述第二阈值及第三阈值相比较,若CPU利用率大于等于所述第二阈值,则判定CPU利用率大,若CPU利用率小于所述第三阈值,判定CPU利用率小。而如果CPU利用率大于所述第三阈值而小于所述第二阈值,则保持当前工作状态不变,即若当前工作状态为遍历文件,则继续执行文件遍历过程;若当前工作状态为暂停遍历文件、释放CPU资源,则仍保持暂停遍历文件的状态。通过上述阈值设定及判定方法,可以有效防止CPU波动对判断结果的影响,提高系统的稳定性。
图3所示的根据上层操作及CPU利用率决定是否暂停遍历文件的具体流程如下:
S201:利用上述的方法分别监测上层操作及CPU利用率。
S202:判断是否存在上层操作;若存在上层操作,执行步骤S204;若不存在上层操作,执行步骤S203。
S203:判断CPU利用率是否大于等于第二阈值。若结果为是,执行步骤S204;若结果为否,执行步骤S207。
S204:在存在上层操作,或者CPU的利用率大于等于第二阈值时,为及时响应上层操作或者保证CPU对其他事务的处理速度,此时暂停遍历文件,释放CPU资源。
S205:延时一定时间。所述延时时间可根据嵌入式系统的具体要求来设定。
S206:判断延时时间是否已到。若延时时间到,转至步骤S202,重新再判断是否存在上层操作以及重新判断CPU的利用率;若延时时间未到,转至步骤S205,继续等待延时时间。
S207:在不存在上层操作、且CPU利用率小于所述第二阈值时,判断CPU的利用率是否小于等于所述第三阈值。在小于等于所述第三阈值时,执行步骤S209;在大于所述第三阈值时,执行步骤S208。
S208:若CPU利用率大于所述第三阈值而小于所述第二阈值时,保持当前工作状态不变。
S209:在CPU利用率小于等于所述第三阈值、且不存在上层操作时,才执行遍历文件的过程,并在遍历到有效文件时进行相应处理。
需要说明的是,上述实施例采用判断是否存在上层操作步骤在前、判断CPU利用率步骤在后,但本领域的技术人员可以知晓,也可以采用判断CPU利用率步骤在前、而判断是否存在上层操作步骤在后的流程,只要符合上述实施例的判断准则即可。
对于基于嵌入式系统的设备,系统资源是有限的,尤其是CPU资源。为了能够在这类设备的USB存储设备文件遍历的过程中优化CPU的利用率,本发明提出了一种USB存储设备文件遍历的方法。该方法在一定程度上提高了USB遍历的速度,优化了CPU的利用率,同时不影响系统的其他操作,保证了上层应用程序运行的流畅性,增强了用户的体验效果。
当然,以上所述仅是本发明的一种优选实施方式而已,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种USB存储设备文件遍历的方法,包括遍历文件的过程,其特征在于,在遍历文件的过程中,判断是否存在上层操作,同时判断CPU的利用率,然后根据判断结果决定是否暂停遍历文件、释放CPU资源。
2.根据权利要求1所述的文件遍历的方法,其特征在于,在暂停遍历文件、释放CPU资源后,每隔一定延时时间,重新判断是否存在上层操作以及重新判断CPU的利用率。
3.根据权利要求2所述的文件遍历的方法,其特征在于,在当前工作状态为遍历文件时,若存在上层操作,或CPU的利用率大于等于设定的第一阈值,则暂停遍历文件、释放CPU资源;在当前工作状态为暂停遍历文件时,若不存在上层操作、且CPU的利用率小于所述第一阈值,则继续执行遍历文件的过程。
4.根据权利要求2所述的文件遍历的方法,其特征在于,在当前工作状态为遍历文件时,若存在上层操作,或CPU的利用率大于等于设定的第二阈值,则暂停遍历文件、释放CPU资源;在当前工作状态为暂停遍历文件时,若不存在上层操作、且CPU的利用率小于等于设定的第三阈值,则继续执行遍历文件的过程;其中,所述第二阈值大于所述第三阈值。
5.根据权利要求4所述的文件遍历的方法,其特征在于,若CPU的利用率大于所述第三阈值而小于所述第二阈值,则保持当前工作状态不变。
6.根据权利要求1至5中任一项所述的文件遍历的方法,其特征在于,所述CPU的利用率为一定间隔时间内CPU的平均利用率。
7.根据权利要求4所述的文件遍历的方法,其特征在于,所述间隔时间为0.5-1.5s。
8.一种USB存储设备文件遍历的装置,包括用于遍历文件的遍历模块,其特征在于,所述装置还包括:
上层操作监测模块,用于监测是否存在上层操作;
CPU利用率监测模块,用于监测CPU的利用率;
所述遍历模块根据所述上层操作监测模块的监测结果及所述CPU利用率监测模块的监测结果决定执行遍历文件或暂停遍历文件。
9.根据权利要求8所述的文件遍历的装置,其特征在于,在所述遍历模块暂停遍历文件、释放CPU资源后,每隔一定延时时间,重新判断所述上层操作监测模块及所述CPU利用率监测模块的监测结果。
10.根据权利要求9所述的文件遍历的装置,其特征在于,若所述上层操作监测存在上层操作,或所述CPU利用率监测模块监测CPU的利用率大于等于设定的第二阈值,则遍历模块暂停遍历文件、释放CPU资源;若所述上层操作监测不存在上层操作、且所述CPU利用率监测模块监测CPU的利用率小于等于设定的第三阈值,则遍历模块继续执行遍历文件的过程;其中,所述第二阈值大于所述第三阈值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200910231184 CN101710293B (zh) | 2009-12-10 | 2009-12-10 | 一种usb存储设备文件遍历的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200910231184 CN101710293B (zh) | 2009-12-10 | 2009-12-10 | 一种usb存储设备文件遍历的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101710293A true CN101710293A (zh) | 2010-05-19 |
CN101710293B CN101710293B (zh) | 2012-12-19 |
Family
ID=42403085
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200910231184 Expired - Fee Related CN101710293B (zh) | 2009-12-10 | 2009-12-10 | 一种usb存储设备文件遍历的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101710293B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104795072A (zh) * | 2015-03-25 | 2015-07-22 | 无锡天脉聚源传媒科技有限公司 | 一种音频数据的编码方法及装置 |
CN105224856A (zh) * | 2014-07-02 | 2016-01-06 | 腾讯科技(深圳)有限公司 | 计算机系统检测方法及装置 |
CN106126335A (zh) * | 2016-06-15 | 2016-11-16 | 青岛海信电器股份有限公司 | 终端设备的媒体扫描方法及终端设备 |
CN107608870A (zh) * | 2017-09-22 | 2018-01-19 | 郑州云海信息技术有限公司 | 一种系统资源使用率的统计方法和系统 |
CN111159030A (zh) * | 2019-12-24 | 2020-05-15 | 联想(北京)有限公司 | 一种程序测试的方法、装置、设备和存储介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7664856B2 (en) * | 2005-07-28 | 2010-02-16 | Microsoft Corporation | Dynamically balancing user experiences in a multi-user computing system |
EP1975794B1 (en) * | 2007-03-28 | 2012-07-11 | Research In Motion Limited | System and method for controlling processor usage according to user input |
CN101399939A (zh) * | 2007-09-28 | 2009-04-01 | 天津三星电子显示器有限公司 | 电视机主菜单智能提示的方法 |
-
2009
- 2009-12-10 CN CN 200910231184 patent/CN101710293B/zh not_active Expired - Fee Related
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105224856A (zh) * | 2014-07-02 | 2016-01-06 | 腾讯科技(深圳)有限公司 | 计算机系统检测方法及装置 |
CN104795072A (zh) * | 2015-03-25 | 2015-07-22 | 无锡天脉聚源传媒科技有限公司 | 一种音频数据的编码方法及装置 |
CN106126335A (zh) * | 2016-06-15 | 2016-11-16 | 青岛海信电器股份有限公司 | 终端设备的媒体扫描方法及终端设备 |
CN107608870A (zh) * | 2017-09-22 | 2018-01-19 | 郑州云海信息技术有限公司 | 一种系统资源使用率的统计方法和系统 |
CN111159030A (zh) * | 2019-12-24 | 2020-05-15 | 联想(北京)有限公司 | 一种程序测试的方法、装置、设备和存储介质 |
CN111159030B (zh) * | 2019-12-24 | 2022-02-18 | 联想(北京)有限公司 | 一种程序测试的方法、装置、设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN101710293B (zh) | 2012-12-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101710293B (zh) | 一种usb存储设备文件遍历的方法及装置 | |
RU2577476C2 (ru) | Способ, устройство и система для диспетчеризации ядра процессора в системе ядра мультипроцессора | |
CN101464819B (zh) | 进入低功率模式前的硬件驱动处理器状态存储 | |
CN103902364A (zh) | 一种物理资源管理方法、装置及智能终端设备 | |
TW201535266A (zh) | 虛擬機器之資源調整方法及系統 | |
US20130047158A1 (en) | Method and System for Real Time Detection of Resource Requirement and Automatic Adjustments | |
CN103024539B (zh) | 用于管理智能电视系统的方法及装置 | |
CN105159776A (zh) | 进程处理方法及装置 | |
CN102027453A (zh) | 用于在虚拟环境中优化中断处理的系统和方法 | |
KR102083289B1 (ko) | 마이크로서버 환경의 소프트웨어 이주 방법 및 이를 지원하는 장치 | |
CN105117285B (zh) | 一种基于移动虚拟化系统的非易失性存储器调度优化方法 | |
CN103645794A (zh) | 一种通过边沿检测电路实现睡眠模式唤醒的芯片及方法 | |
CN102821164A (zh) | 一种高效并行分布式数据处理系统 | |
US10452402B2 (en) | Operation instruction response control method and terminal for human-machine interface | |
CN105786402A (zh) | 动态调整存储器装置的速度的方法及装置 | |
CN105302641A (zh) | 虚拟化集群中进行节点调度的方法及装置 | |
CN104035714B (zh) | 一种基于安卓系统的触摸事件处理方法、装置和设备 | |
CN106598508A (zh) | 一种固态硬盘及其写入仲裁方法、系统 | |
CN103049215B (zh) | Io命令处理的方法及其固态硬盘 | |
CN105739666B (zh) | 用于降低功耗的转换方法及其运算装置 | |
CN107741917B (zh) | 一种改进的io限流处理方法和系统 | |
CN106055280B (zh) | 一种元数据回写方法和电子设备 | |
CN103543982A (zh) | 一种时钟频率管理方法及移动设备 | |
CN106547517B (zh) | 一种控制等待时间的方法及装置 | |
CN102158416B (zh) | 一种基于内存分配的报文处理方法和设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20121219 Termination date: 20191210 |