基于android系统的文件扫描方法及装置的制作方法

文档序号:6442473阅读:215来源:国知局

专利名称::基于android系统的文件扫描方法及装置的制作方法
技术领域
:本发明涉及电子存储设备扫描
技术领域
,尤其涉及的是一种基于android系统对移动存储设备的文件进行扫描的方法及装置。
背景技术
:Android是新一代的智能平台,越来越多的电子终端使用Android作为操作系统,使得Android系统的电子终端的用户与日俱增。同时,随着技术的发展,存储设备趋于多样化,特别是Android系统应用于电视以后,对于动辄数GB的高清影视,存储设备更是从传统的SDcarcUUSB设备,到现在常用的大容量移动硬盘。所以现在Android系统中对于多种存储设备中多媒体文件的扫描支持就显得尤为重要。目前的android系统中,扫描就是把多媒体文件添加外部数据库中,并获取多媒体文件的metadata和缩略图等信息供应用来使用展示给用户,为了保证展示数据的正确性,在外部设备变更的时候就会实时的更新数据库。而对于移动存储设备,由于其灵活性,会使更新数据库的动作更加频繁,也造成很多问题。现有android系统对移动存储设备的文件的扫描过程如图1所示S10,开始,挂载存储设备。S11、存储设备挂载后,Kernel(内核)会发mounted广播并传扫描路径,通知扫描器开始扫描,进入步骤S12。S12、启动扫描;S13、以递归方式进入扫描目录,进入S14。S14、从扫描路径读取该目录下的文件,如果是文件夹则递归打开,以找出媒体文件,如果有文件,执行步骤S15;如果没有文件则返回S13。S15、判断是否有需要扫描的文件,如果是进入步骤S16,否则进入步骤S18、扫描结束到步骤S19。S16、判断待扫描文件,如果属于多媒体文件,则执行扫描,并进入S17。如果不是多媒体文件则返回S15S17、文件扫描后,将其扫描信息插入数据库中,如果它已在数据库中存在,则更新时间。返回第S15步。S19、扫描后处理,同步数据库,删除不存在的数据库条目。S20、扫描结束。由上面步骤可以看出,挂载设备时,存入扫描信息和删除不存在条目使数据库保持动态更新。分析现有扫描过程可以发现,在插上移动存储设备时,会扫描信息并将其添加到数据库中,而在拔掉移动存储设备的时候,会把相应盘的数据清除掉。如此,对于移动存储设备来说,容易产生反复插拔的动作,每一次都需要重新扫描的话就会耗费大量资源,扫描速度会很慢,而且反复多次的操作数据库,容易引起数据库出问题,旧的数据库的将会不可操作,引发现有流程产生新的数据库,而新生成的数据库里没有原有的数据,从而会在应用中看不到任何文件,造成让用户以为设备出故障。因此,现有技术还有待于改进和发展。
发明内容本发明要解决的技术问题在于,针对现有技术的上述缺陷,提供一种基于android系统对移动存储设备的文件进行扫描的方法及装置,提供了一种高效快速的扫描方法,可避免重复性扫描,也不会使大量的资源浪费在重复扫描上,而且避免了频繁的操作数据库会使其出错的问题。本发明解决技术问题所采用的技术方案如下一种基于android系统对移动存储设备的文件进行扫描的方法,其中,包括步骤A、当移动存储设备第一次挂载到Android系统上时,对所述移动存储设备进行全盘扫描,并建立与所述移动存储设备的UID号对应的外部数据库,存储在所述移动存储设备上,当下次挂载所述移动存储设备时直接从所述移动存储设备上查找所述对应的外部数据库进行扫描读取。所述基于android系统对移动存储设备的文件进行扫描方法,其中,所述步骤A具体包括Al、当移动存储设备挂载到Android系统上后,Android系统的内核发广播并上传扫描路径,通知扫描器开始扫描;A2、进入扫描路径,初始化已建立的用于存放扫描记录条目的指定文件;A3、查找扫描路径中是否有与所述移动存储设备的UID号对应的外部数据库,如果有执行步骤A4,否则执行步骤A5;A4、将与所述移动存储设备的UID号对应的外部数据库中的原有条目记录到用于存放扫描记录条目的指定文件中,再跳到步骤A6;A5、建立与所述移动存储设备的UID号对应的外部数据库,存储在所述移动存储设备上;A6、用递归方式遍历扫描目录,查找扫描目录中的文件;A7、把遍历到的文件与所述指定文件中条目做比较,判断是否有需要扫描的文件,如果有需要扫描的文件则执行步骤A8,否则跳到步骤AlO;A8、扫描文件;A9、扫描后处理,更新数据库,并返回步骤A7;A10、扫描结束,删除已不存在的数据库条目;All、清空所述用于存放扫描记录条目的指定文件,结束。所述基于android系统对移动存储设备的文件进行扫描方法,其中,所述步骤Al还包括当有移动存储设备挂载在到Android系统上时,预先建立一用于存放扫描记录条目的指定文件。所述基于android系统对移动存储设备的文件进行扫描方法,其中,所述查找扫描目录中的文件为媒体文件。所述基于android系统对移动存储设备的文件进行扫描方法,其中,所述用于存放扫描记录条目的指定文件为table表格文件。所述基于android系统对移动存储设备的文件进行扫描方法,其中,所述用于存放扫描记录条目的指定文件为TXT文件所述基于android系统对移动存储设备的文件进行扫描方法,其中,所述移动存储设备为U盘或移动硬盘。一种基于android系统对移动存储设备的文件进行扫描的装置,其中,包括外部数据库建立模块,用于当移动存储设备第一次挂载到Android系统上时,对所述移动存储设备进行全盘扫描,并建立与所述移动存储设备的UID号对应的外部数据库,存储在所述移动存储设备上;扫描模块,用于当下次挂载所述移动存储设备时直接从所述移动存储设备上查找所述对应的外部数据库进行扫描读取。所述基于android系统对移动存储设备的文件进行扫描的装置,其中,其还包括判断与控制模块,用于当挂载所述移动存储设备时,查找扫描路径中是否有与所述移动存储设备的UID号对应的外部数据库,如果有控制通过所述扫描模块直接从所述移动存储设备上查找所述对应的外部数据库进行扫描读取,否则控制所述外部数据库建立模块建立与所述移动存储设备的UID号对应的外部数据库,存储在所述移动存储设备上。所述基于android系统对移动存储设备的文件进行扫描的装置,其中,所述移动存储设备为U盘或移动硬盘。本发明所提供的基于android系统对移动存储设备的文件进行扫描的方法及装置,由于采用了针对常用的U盘、移动硬盘等移动存储设备在连接到电脑、电视等设备时出现的反复插拔的动作,提供了一种高效快速的扫描方法,可避免重复性扫描,也不会使大量的资源浪费在重复扫描上,而且避免了频繁的操作数据库会使其出错的问题,从而避免了不稳定因素的产生,而且在第二次挂载上设备以后,大大降低了扫描时间,节省了大量扫描所要耗费的大量资源,提高了扫描效率,保证了扫描的稳定性。图1是现有技术的android系统的存储设备的扫描过程示意图。图2是本发明实施例的基于android系统对移动存储设备的文件进行扫描的方法流程图。图3是本发明实施例的基于android系统对移动存储设备的文件进行扫描的装置原理框图。具体实施例方式本发明所提供的基于android系统对移动存储设备的文件进行扫描的方法及装置,为使本发明的目的、技术方案及优点更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。针对现有多移动存储设备需要频繁操作一个数据库容易出现的问题,本发明所提供的基于android系统对移动存储设备的文件进行扫描的方法,主要包括以下步骤Si、当移动存储设备第一次挂载到Android系统上时,对所述移动存储设备进行全盘扫描,并建立与所述移动存储设备的UID号对应的外部数据库,存储在所述移动存储设备上当下次挂载所述移动存储设备时直接从所述移动存储设备上查找所述对应的外部数据库进行扫描读取。所述方法还包括当存在多个移动存储设备同时挂载到Android系统上后,则每一个移动存储设备对应建一个与其UID号对应的外部数据库,分别存储到各自的移动存储设备。本发明实施例中采用建立多个数据库的方案,并把数据库建立在对应的移动存储设备上,一个移动存储设备对应一个数据库,在移动存储设备挂载的时候,根据移动存储设备的UID(uniqueidentifier惟一标识符)号建立其对应的外部数据库,存储在对应的移动存储设备上。应用这种方法,在扫描的时候,把所述移动存储设备上的多媒体文件信息建立在其对应的数据库中。卸载的时候,移动存储设备就访问不到了,所以也不需要删除数据库的内容。而且,最有效率的地方就是,一般用户的移动存储设备也不会太多,在第一次挂载时执行扫描过程建立好数据库,下次这个移动存储设备再挂载的时候,就不需要浪费时间再重新扫描了,可以直接读取数据库的文件。以下将通过具体的应用实施例,对本发明的基于android系统对移动存储设备的文件进行扫描的方法作进一步详细的说明。如图2所示,所述方法具体包括以下步骤S101、开始,挂载移动存储设备。S102、存储设备挂载到Android系统上后,Android系统的内核会发mounted广播并上传扫描路径,通知扫描器开始扫描。S103、启动扫描。S104、获取上传的扫描路径,进入扫描目录。S105、进入扫描路径,初始化已建立的用于存放扫描记录条目的指定文件,本实施例中采用所述用于存放扫描记录条目的指定文件为table表格文件,当然也可以为TXT文件。本步骤S105中即需将table表格文件初始化。S106、查找扫描路径中是否有与所述移动存储设备的UID号对应的外部数据库,本实施例中数据库文件为external,db文件,即查找是否有external,db文件,如果有执行步骤S107,否则执行步骤S108。S107、将与所述移动存储设备的UID号对应的外部数据库(如external,db文件)中的原有条目记录到用于存放扫描记录条目的指定文件中(如table表格文件中),再跳到步骤S109。S108、建立与所述移动存储设备的UID号对应的外部数据库(即建立外部数据库external,db数据库),存储在对应的移动存储设备上。S109、用递归方式遍历扫描目录,查找扫描目录中的文件(如媒体文件),即为遍历数据库,找出媒体文件。S110、把遍历到的文件(如媒体文件)与所述指定文件(如table表格文件)中的条目做比较,判断是否有需要扫描的文件,如果是,即有需要扫描的文件则执行步骤S111,否则跳到步骤Sl13。S111、扫描文件,即扫描原来没有的新文件。S112、扫描后处理,更新数据库,并返回步骤S110。S113、扫描结束,并进入S114、删除已不存在的数据库条目;S115、清空所述用于存放扫描记录条目的指定文件,结束。由上可以看出,由于在移动存储设备拔插过程中,有可能会增加或删除文件,所以,本发明实施例中还加入了数据的一个同步过程,即使在插上后发现移动存储设备上有数据库,要检验一次,看数据库与移动存储设备是否同步,如果有新增加文件,只需要扫描新文件即可;如果是删除了部分文件,就会删掉相应的数据库记录。当然这一过程需要对比之前数据库的纪录和现有文件,在本发明中采用table把之前数据库的条目记录在cache中,在遍历现有设备时就可以对比出来。从上述步骤中可以看出,对于移动设备的扫描,只有在第一次插上的时候,才会花费较多资源和时间去扫描建立与所述移动存储设备的UID号对应的外部数据库,,存储在对应的移动存储设备上。一般移动存储设备的媒体文件的改变比较少,再次挂载上时,基本上就是可以直接使用了,就算是每一次都有文件变化,只是扫描新增加的文件或删除多于的数据,与原有的全部删除和全部重新建立相比,工作量已经很小了,相对效率的提升比较明显,并且避免了一些问题的产生。可见,上述本发明实施例提供的一种基于android系统对移动存储设备的文件进行扫描的方法,提供了一种高效快速的扫描方法,可避免重复性扫描,也不会使大量的资源浪费在重复扫描上,而且避免了频繁的操作数据库会使其出错的问题。基于上述实施例,本发明实施例还提供了一种基于android系统对移动存储设备的文件进行扫描的装置,如图3所示,所述装置主要包括外部数据库建立模块310,用于当移动存储设备第一次挂载到Android系统上时,对所述移动存储设备进行全盘扫描,并建立与所述移动存储设备的UID号对应的外部数据库,存储在所述移动存储设备上;具体如上所述。扫描模块320,用于当下次挂载所述移动存储设备时直接从所述移动存储设备上查找所述对应的外部数据库进行扫描读取;具体如上所述。判断与控制模块330,用于当挂载所述移动存储设备时,查找扫描路径中是否有与所述移动存储设备的UID号对应的外部数据库,如果有控制通过所述扫描模块直接从所述移动存储设备上查找所述对应的外部数据库进行扫描读取,否则控制所述外部数据库建立模块建立与所述移动存储设备的UID号对应的外部数据库,存储在所述移动存储设备上;具体如上所述。其中,所述移动存储设备为U盘或移动硬盘。综上所述,本发明所提供的基于android系统对移动存储设备的文件进行扫描的方法及装置,由于采用了针对常用的U盘、移动硬盘等移动存储设备在连接到电脑、电视等设备时出现的反复插拔的动作,提供了一种高效快速的扫描方法,可避免重复性扫描,也不会使大量的资源浪费在重复扫描上,而且避免了频繁的操作数据库会使其出错的问题,从而避免了不稳定因素的产生,而且在第二次挂载上设备以后,大大降低了扫描时间,节省了大量扫描所要耗费的大量资源,提高了扫描效率,保证了扫描的稳定性。应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。权利要求1.一种基于android系统对移动存储设备的文件进行扫描的方法,其特征在于,包括步骤A、当移动存储设备第一次挂载到Android系统上时,对所述移动存储设备进行全盘扫描,并建立与所述移动存储设备的UID号对应的外部数据库,存储在所述移动存储设备上,当下次挂载所述移动存储设备时直接从所述移动存储设备上查找所述对应的外部数据库进行扫描读取。2.根据权利要求1所述基于android系统对移动存储设备的文件进行扫描方法,其特征在于,所述步骤A具体包括Al、当移动存储设备挂载到Android系统上后,Android系统的内核发广播并上传扫描路径,通知扫描器开始扫描;A2、进入扫描路径,初始化已建立的用于存放扫描记录条目的指定文件;A3、查找扫描路径中是否有与所述移动存储设备的UID号对应的外部数据库,如果有执行步骤A4,否则执行步骤A5;A4、将与所述移动存储设备的UID号对应的外部数据库中的原有条目记录到用于存放扫描记录条目的指定文件中,再跳到步骤A6;A5、建立与所述移动存储设备的UID号对应的外部数据库,存储在所述移动存储设备上;A6、用递归方式遍历扫描目录,查找扫描目录中的文件;A7、把遍历到的文件与所述指定文件中的条目做比较,判断是否有需要扫描的文件,如果有需要扫描的文件则执行步骤A8,否则跳到步骤AlO;A8、扫描文件;A9、扫描后处理,更新数据库,并返回步骤A7;A10、扫描结束,删除已不存在的数据库条目;All、清空所述用于存放扫描记录条目的指定文件,结束。3.根据权利要求2所述基于android系统对移动存储设备的文件进行扫描方法,其特征在于,所述步骤Al还包括当有移动存储设备挂载在到Android系统上时,预先建立一用于存放扫描记录条目的指定文件。4.根据权利要求2所述基于android系统对移动存储设备的文件进行扫描方法,其特征在于,所述查找扫描目录中的文件为媒体文件。5.根据权利要求2所述基于android系统对移动存储设备的文件进行扫描方法,其特征在于,所述用于存放扫描记录条目的指定文件为table表格文件或TXT文件。6.根据权利要求1所述基于android系统对移动存储设备的文件进行扫描方法,其特征在于,所述步骤A还包括当存在多个移动存储设备同时挂载到Android系统上后,则每一个移动存储设备对应建一个与其UID号对应的外部数据库,分别存储到各自的移动存储设备。7.根据权利要求1所述基于android系统对移动存储设备的文件进行扫描方法,其特征在于,所述移动存储设备为U盘或移动硬盘。8.一种基于android系统对移动存储设备的文件进行扫描的装置,其特征在于,包括外部数据库建立模块,用于当移动存储设备第一次挂载到Android系统上时,对所述移动存储设备进行全盘扫描,并建立与所述移动存储设备的UID号对应的外部数据库,存储在所述移动存储设备上;扫描模块,用于当下次挂载所述移动存储设备时直接从所述移动存储设备上查找所述对应的外部数据库进行扫描读取。9.根据权利要求8所述基于android系统对移动存储设备的文件进行扫描的装置,其特征在于,其还包括判断与控制模块,用于当挂载所述移动存储设备时,查找扫描路径中是否有与所述移动存储设备的UID号对应的外部数据库,如果有控制通过所述扫描模块直接从所述移动存储设备上查找所述对应的外部数据库进行扫描读取,否则控制所述外部数据库建立模块建立与所述移动存储设备的UID号对应的外部数据库,存储在所述移动存储设备上。10.根据权利要求8所述基于android系统对移动存储设备的文件进行扫描的装置,其特征在于,所述移动存储设备为U盘或移动硬盘。全文摘要本发明公开了一种基于android系统的文件扫描方法及装置,当移动存储设备第一次挂载到Android系统上时,对所述移动存储设备进行全盘扫描,并建立与所述移动存储设备的UID号对应的外部数据库,存储在所述移动存储设备上,当下次挂载所述移动存储设备时直接从所述移动存储设备上查找所述对应的外部数据库进行扫描读取。本发明提供了一种高效快速的扫描方法,可避免重复性扫描,也不会使大量的资源浪费在重复扫描上,而且避免了频繁的操作数据库会使其出错的问题。文档编号G06F17/30GK102411629SQ201110432718公开日2012年4月11日申请日期2011年12月21日优先权日2011年12月21日发明者康辉,彭湃申请人:Tcl集团股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1