一种搜索文件的方法及装置的制作方法

文档序号:6332111阅读:174来源:国知局
专利名称:一种搜索文件的方法及装置的制作方法
技术领域
本发明涉及计算机技术领域,特别涉及一种搜索文件的方法及装置。
背景技术
在手机,PMP等手持设备的多媒体处理系统中,一些上层应用界面上需要显示文件列表,这就需要在这些手持设备的存储介质中,进行磁盘文件的搜索,随着USb和sd card 等可动态插拔的存储介质的普及应用,磁盘上的文件随时都有可能被改变,这就需要处理系统随时对磁盘文件进行搜索。另外一个方面,随着存储介质的容量越来越大,存储介质上能够保存的文件数目也越来越多,搜索文件的速度直接关系到上层应用界面显示时的反应时间。目前,一般多媒体处理系统中的文件系统提供的搜索文件的接口有两个,分别为findfirst和findnext, 这两个接口的特点就是每次只能搜索到一个文件或者文件夹,在搜索过程中,多媒体处理系统中的上层应用需要频繁的调用这两个接口来实现搜索整个磁盘所有文件的目的,例如磁盘有1000个文件,那么在搜索过程中就需要调用1000次findfirst和findnext。每搜索一次,多媒体处理系统中的上层应用就与文件系统交互一次,获取一个文件的信息,这样,当磁盘文件比较多的情况下,多媒体处理系统中的上层应用就需要与文件系统进行多次交互,造成了大量的时间资源消耗,影响了搜索的速度。

发明内容
本发明实施例提供一种搜索文件的方法及装置,用以提高文件搜索的速度。本发明实施例提供一种搜索文件的方法,包括获取上次搜索到的最后一个文件的信息;根据所述最后一个文件的信息,确定当前搜索路径下的起始文件;从所述起始文件开始,搜索下一个文件,并更新搜索到的文件的数目,将更新后的数目与设定值进行比较,当所述数目达到设定值时,返回所有搜索到的文件的信息,以及搜索到的文件的数目。本发明实施例提供一种文件搜索的装置,包括获取单元,用于获取上次搜索到的最后一个文件的信息;确定单元,用于根据所述最后一个文件的信息,确定当前搜索路径下的起始文件;搜索单元,用于从所述起始文件开始,搜索下一个文件,并更新搜索到的文件的数目,将更新后的数目与设定值进行比较,当所述数目达到设定值时,返回所有搜索到的文件的信息,以及搜索到的文件的数目。本发明实施例中,获取上次搜索到的最后一个文件的信息,根据最后一个文件的信息,确定当前搜索路径下的起始文件,从所述起始文件开始,搜索下一个文件,并更新搜索到的文件的数目,将更新后的数目与设定值进行比较,当所述数目达到设定值时,返回所有搜索到的文件的信息,以及搜索到的文件的数目,这样,每搜索到一个文件之后,多媒体处理系统中的上层应用并不是立刻与文件系统进行交互,获得该文件的信息,只是当搜索到的文件的数目与设定值相等时,媒体处理系统中的上层应用才与文件系统交互一次,获得所有搜索到文件的信息。从而,在实现多个文件搜索的同时,减少了多媒体处理系统中的上层应用与文件系统的交互次数了,节省了搜索的时间,提高了文件搜索的速度。


图1为本发明实施例中搜索文件的流程图;图2为本发明具体实施例中搜索文件的流程图;图3为本发明实施例中搜索文件装置的结构图。
具体实施例方式本发明实施例中,多媒体处理系统中的上层应用中设定了搜索文件的路径和需要搜索文件的数目后,通过本发明实施例中文件系统提供的应用程序接口(API,AppliCati0n Programming Interface)进行一次搜索,就可以获得多个文件的信息,减少了手机,PMP等手持设备的多媒体处理系统中的上层应用与文件系统的交互次数了,节省了搜索的时间, 提高了文件搜索的速度。本发明实施例中,文件的定义比较广义,包括了 文件,文件夹,以及文件目录中的一种或多种。本发明实施例中,上层应用中已设定了搜索文件的路径和需要搜索文件的数目, 即本发明实施例中的API已确定了当前搜索路径,以及确定了需要搜索文件的数目为设定值,那么,该API搜索文件的过程参见图1,具体包括步骤101 获取上次搜索到的最后一个文件的信息。这里,文件的信息包括文件名、文件属性、文件大小,和文件所在的路径。当第一次开始搜索文件时,没有上次搜索到的最后一个文件,则获取的文件信息为空信息。当不是第一次开始搜索文件时,由于每次搜索后,都将搜索到的所有文件的信息反馈给多媒体处理系统中的上层应用,即上层应用都从文件系统中获取了所有搜索到的文件的信息,以及搜索到的文件的数目,因此,多媒体处理系统中的上层应用保存了上次搜索到的最后一个文件的信息。这里,从上层应用保存的上次搜索到的文件的信息中,获取上次搜索到的最后一个文件的信息,具体包括从上层应用中复制(COPY)上次搜索到的最后一个文件的信息, 并修改文件系统内部参数。步骤102 根据最后一个文件的信息,确定当前搜索路径下的起始文件。最后一个文件的信息中包括了文件所在的路径,将该路径与当前搜索路径进行匹配,当两者一致时,确定起始文件为获取的最后一个文件,当两者不一致时,表明是第一次在当前搜索路径下进行搜索,因此,当前搜索路径下的起始文件为零,即需在当前搜索路径下从头开始搜索。步骤103 从起始文件开始,搜索下一个文件,并更新搜索到的文件的数目。
这里,进行搜索之前,本次搜索到的文件的数目为零,每搜索到一个文件后,就将搜索到的文件的数目加1,即搜索到一个文件,就更新一次搜索到的文件的数目。搜索的过程文件系统内部仍然需要调用findfirst和findnext这两个接口。每搜索到一个文件,暂时不向多媒体处理系统中的上层应用返回该文件的信息,只是更新搜索到的文件的数目。步骤104 判断更新后搜索到的文件的数目是否与设定值相等,若是,执行步骤 105,否则,将搜索到的文件作为起始文件,返回步骤103。在本次搜索之前,上层应用中已经设定了搜索文件的路径和需要搜索文件的数目,即本发明实施例中的API已确定了需要搜索文件的数目为设定值,这里,将搜索到的文件的数目与设定值进行比较,若搜索到的文件的数目与设定值相等,则可确定本次搜索的目标已达成,执行步骤105,否则,还需继续进行搜索,将搜索到的文件作为起始文件,返回步骤103,即将当前搜到的这个文件作为起始文件,返回步骤103。步骤105 返回所有搜索到的文件的信息,以及搜索到的文件的数目,本次搜索过
程完毕。搜索到的文件的数目与设定值已经相等了,需要搜索的文件的数目已达到了,因此,获取所有搜索到的文件的信息,以及搜索到的文件的数目,并将所有搜索到的文件的信息,以及搜索到的文件的数目返回给上层应用。这样,上层应用可以保存本次搜索到的最后一个文件的信息,这样,以便下一次的文件搜索。本发明实施例中,每搜索到一个文件之后,文件系统并不是立刻将该文件的信息反馈给多媒体处理系统中的上层应用,只是当搜索到的文件的数目与设定值相等时,媒体处理系统的上层应用才与文件系统交互一次,获得所有搜索到文件的信息。可见,在搜索的过程中,虽然文件系统内部也多次调用了 findfirst和findnext这两个接口,但是,媒体处理系统的上层应用与文件系统的交互只有一次,即只调用一次本发明实施例文件系统提供的API,从而,在实现多个文件搜索的同时,减少了多媒体处理系统的上层应用与文件系统的交互次数了,节省了搜索的时间,提高了文件搜索的速度。本发明实施例中,需要搜索的文件的数目,即设定值一般根据多媒体处理系统的内存确定,若设定值太大,上层应用获取的搜索到的文件的信息要占有太多的内存空间,不利于多媒体处理系统的运行,若设定值太小,则一次获取的搜索到的文件的信息太少,不能显著提高文件搜索的速度。在上述实施例的搜索过程中,若当前搜索路径下的所有文件的数目不能达到设定值时,可能会获取不到所有搜索到的文件的信息,以及搜索到的文件的数目,因此,本发明实施例中,在上述步骤104之前,还需判断搜索到的文件是否为当前搜索路径下的最后一个文件,即判断当前搜索路径下是否还有文件,若搜索到的文件是当前搜索路径下的最后一个文件,那么,直接执行步骤105,返回所有搜索到的文件的信息,以及搜索到的文件的数目,不需再进行后续的步骤104 了。此时,返回了所有搜索到的文件的信息,以及搜索到的文件的数目之后,由于搜索到的文件的数目可能还没有达到设定值,则上层应用可以根据实际应用决定是否仍继续进行搜索,若确定仍继续进行搜索,那么,上层应用将获取的搜索到的文件的数目与设定值进行比较,若小于设定值,则指定下一个搜索路径,这样,本发明实施例中文件系统提供的API 可以根据该指令,将当前搜索路径更新为下一个搜索路径,继续进行搜索,直至搜索到的文件的数目达到设定值。当然,若确定不再进行搜索了,本次搜索结束。或者,搜索到的文件的数目达到设定值,则也不需进行搜索了,本次搜索结束。在上述实施例进行搜索之前,多媒体处理系统可能在进行别的上层应用程序,那么当前工作的磁盘不一定是与当前搜索路径对应的搜索磁盘,当搜索磁盘与当前工作磁盘不匹配时,须将当前工作磁盘切换到搜索磁盘。下面结合说明书附图对本发明实施例作进一步详细描述。本实施例中,已确定了当前搜索路径,以及确定了需要搜索文件的数目为设定值。 参见图2,搜索文件的过程包括步骤201 确定当前搜素路径对应的搜索磁盘。若本实施例中,多媒体处理系统支持两个磁盘的文件系统,A为磁盘1,B为磁盘2, 那么,若当前搜索路径为(“4:/油(/123”),则确定对应的搜索磁盘为磁盘1。步骤202 判断搜索磁盘与当前工作磁盘是否一致,若一致,执行步骤204,否则执行步骤203。若本实施例中,当前工作磁盘是磁盘1,那么与搜索磁盘一致,直接执行步骤204, 若当前工作磁盘是磁盘2,那么与搜索磁盘不一致,执行步骤203。步骤203 将当前工作磁盘切换到搜索磁盘,并转入执行步骤204。步骤204 获取上次搜索到的最后一个文件的信息。步骤205 根据保存的上次搜索到的最后一个文件的信息,确定当前搜索路径下的起始文件。步骤206 从起始文件开始,搜索下一个文件,并更新搜索到的文件的数目。步骤207 判断搜索到的文件是否为当前搜索路径下的最后一个文件,若是,执行步骤209,否则,执行步骤208。步骤208:判断搜索到的文件的数目是否与设定值相等,若是,执行步骤209,否则,将搜索到的文件作为起始文件,返回步骤206。步骤209 将所有搜索到的文件的信息,以及搜索到的文件的数目返回给上层应用,本次搜索过程完毕。如果本实施例中,设定数目为10,当前搜索路径下只搜索到8个文件,那么,当步骤209返回所有搜索到的文件的信息,以及搜索到的文件的数目之后,还可以将根据上层应用的指令,将当前搜索路径更新为下一个搜索路径,然后继续搜索,直至搜索到10个文件。在上述各实施例中,以手机,PMP等手持设备的多媒体处理系统为例进行描述,但是本发明不限于此,其他的智能终端的处理系统也可以应用。根据上述搜索文件的方法,可以构建一种搜索文件的装置,参见图3,包括获取单元100、确定单元200和搜索单元300。其中,获取单元100,用于获取上次搜索到的最后一个文件的信息。确定单元200,用于根据所述最后一个文件的信息,确定当前搜索路径下的起始文件。
搜索单元300,用于从所述起始文件开始,搜索下一个文件,并更新搜索到的文件的数目,将更新后的数目与设定值进行比较,当所述数目达到设定值时,返回所有搜索到的文件的信息,以及搜索到的文件的数目。该确定单元200包括第一匹配单元,用于将所述最后一个文件的信息中的文件所在的路径与所述当前搜索路径进行匹配。确定子单元,用于当两者一致时,确定起始文件为所述最后一个文件,当两者不一致时,确定起始文件为零。当然,本发明实施例中,若当前搜索路径下的所有文件的数目不能达到设定值时, 可能会获取不到所有搜索到的文件的信息,以及搜索到的文件的数目,因此,本发明实施例中,搜索单元300,还用于判断搜索到的文件是否为当前搜索路径下的最后一个文件,若是, 获取所有搜索到的文件的信息,以及搜索到的文件的数目。获取所有搜索到的文件的信息,以及搜索到的文件的数目之后,由于搜索到的文件的数目可能还没有达到设定值,则可以将当前搜索路径更新为下一个搜索路径,继续进行搜索,直至搜索到的文件的数目达到设定值。因此,搜索单元300,还用于将所述当前搜索路径更新为下一个搜索路径。该装置在进行搜索之前,多媒体处理系统可能在进行别的上层应用程序,那么当前工作的磁盘不一定是与当前搜索路径对应的搜索磁盘,当搜索磁盘与当前工作磁盘不匹配时,须将当前工作磁盘切换到搜索磁盘,因此,该装置还包括切换单元,用于若与当前搜索路径对应的搜索磁盘与当前工作磁盘不匹配时,将所述当前工作磁盘切换到所述搜索磁盘。本发明实施例中的搜索文件的装置可以应用于多媒体处理系统中,对应于文件系统提供的API。但是本发明不限于此,也可以应用与其他的智能终端的处理系统中。本发明实施例中,获取上次搜索到的最后一个文件的信息,根据最后一个文件的信息,确定当前搜索路径下的起始文件,从所述起始文件开始,搜索下一个文件,并更新搜索到的文件的数目,将更新后的数目与设定值进行比较,当所述数目达到设定值时,返回所有搜索到的文件的信息,以及搜索到的文件的数目,当所述数目未达到设定值时,继续搜索下一个文件,直至搜索到的文件的数目达到所述设定值,这样,每搜索到一个文件之后,多媒体处理系统的上层应用并不是立刻与文件系统进行交互,获得该文件的信息,只是当搜索到的文件的数目与设定值相等时,媒体处理系统中的上层应用才与文件系统交互一次, 获得所有搜索到文件的信息。从而,在实现多个文件搜索的同时,减少了多媒体处理系统与文件系统的交互次数了,节省了搜索的时间,提高了文件搜索的速度。显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
权利要求
1.一种搜索文件的方法,其特征在于,包括 获取上次搜索到的最后一个文件的信息;根据所述最后一个文件的信息,确定当前搜索路径下的起始文件; 从所述起始文件开始,搜索下一个文件,并更新搜索到的文件的数目,将更新后的数目与设定值进行比较,当所述数目达到设定值时,返回所有搜索到的文件的信息,以及搜索到的文件的数目。
2.如权利要求1所述的方法,其特征在于,所述确定当前搜索路径下的起始文件包括 将所述最后一个文件的信息中的文件所在的路径与所述当前搜索路径进行匹配;当两者一致时,确定起始文件为所述最后一个文件; 当两者不一致时,确定起始文件为零。
3.如权利要求1所述的方法,其特征在于,所述将更新后的数目与设定值进行比较之前,还包括判断搜索到的文件是否为当前搜索路径下的最后一个文件; 若是,获取所有搜索到的文件的信息,以及搜索到的文件的数目; 否则,执行将更新后的数目与设定值进行比较的步骤。
4.如权利要求3所述的方法,其特征在于,所述返回所有搜索到的文件的信息,以及搜索到的文件的数目之后,还包括将所述当前搜索路径更新为下一个搜索路径。
5.如权利要求1-4所述的任一方法,其特征在于,所述获取上次搜索到的最后一个文件的信息之前,还包括将与当前搜索路径对应的搜索磁盘与当前工作磁盘进行匹配; 当两者不一致时,将所述当前工作磁盘切换到所述搜索磁盘。
6.一种搜索文件的装置,其特征在于,包括获取单元,用于获取上次搜索到的最后一个文件的信息; 确定单元,用于根据所述最后一个文件的信息,确定当前搜索路径下的起始文件; 搜索单元,用于从所述起始文件开始,搜索下一个文件,并更新搜索到的文件的数目, 将更新后的数目与设定值进行比较,当所述数目达到设定值时,返回所有搜索到的文件的信息,以及搜索到的文件的数目。
7.如权利要求6所述的装置,其特征在于,所述确定单元包括第一匹配单元,用于将所述最后一个文件的信息中的文件所在的路径与所述当前搜索路径进行匹配;确定子单元,用于当两者一致时,确定起始文件为所述最后一个文件,当两者不一致时,确定起始文件为零。
8.如权利要求6所述的装置,其特征在于,所述搜索单元,还用于判断搜索到的文件是否为当前搜索路径下的最后一个文件,若是,获取所有搜索到的文件的信息,以及搜索到的文件的数目。
9.如权利要求8所述的装置,其特征在于,所述搜索单元,还用于将所述当前搜索路径更新为下一个搜索路径。
10.如权利要求6-9所述的任一装置,其特征在于,还包括切换单元,用于若与当前搜索路径对应的搜索磁盘与当前工作磁盘不匹配时,将所述当前工作磁盘切换到所述搜索磁盘。
全文摘要
本发明公开了一种搜索文件的方法及装置,用以提高文件搜索的速度。该方法包括获取上次搜索到的最后一个文件的信息,根据所述最后一个文件的信息,确定当前搜索路径下的起始文件,从所述起始文件开始,搜索下一个文件,并更新搜索到的文件的数目,将更新后的数目与设定值进行比较,当所述数目达到设定值时,返回所有搜索到的文件的信息,以及搜索到的文件的数目。
文档编号G06F17/30GK102402543SQ20101028272
公开日2012年4月4日 申请日期2010年9月14日 优先权日2010年9月14日
发明者孙蕾 申请人:无锡中星微电子有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1