一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种数据读取方法、装置、设备及存储介质与流程

2023-02-01 22:50:30 来源:中国专利 TAG:
1.本技术涉及数据读写
技术领域
:,特别是涉及一种数据读取方法、装置、设备及存储介质。
背景技术
::2.随着汽车技术越来越成熟,汽车上集成的功能也越来越多。例如驾乘人员可以通过将u盘等存储设备插在汽车娱乐系统上,使得汽车娱乐系统可以读取u盘里的媒体数据,从而实现播放音频等功能。3.但是当u盘里面有大量数据时,每次插拔u盘,汽车娱乐系统都会需要较长的时间来读取u盘里的媒体数据,甚至还会发生系统卡顿等现象。4.对此,可以通过重启汽车娱乐系统来一定程度上的缓解问题,但无法真正的改善。因此现有技术中存在着数据读取速度慢的问题。技术实现要素:5.基于此,本技术提供一种数据读取方法、装置、设备及存储介质,改善现有技术中数据读取速度慢的问题。6.第一方面,本技术提供了一种数据读取方法,该数据读取方法包括:在与存储设备电性连接之后,扫描存储设备中的多个文件;检测扫描到的文件的文件类型是否属于首次出现,若是,则将扫描到的文件存储到数据库中;若否,则将扫描到的文件存储在内存的预设文件集合中;每当预设文件集合中的文件的个数达到预设个数时,将预设文件集合中的文件转移到数据库中,并提示文件列表待更新的消息;在确定完成对存储设备中的所有文件的扫描之后,在存储设备中添加标志位,其中,标志位用于指示本次扫描结束。7.结合第一方面,在第一方面的第一种可实施方式中,在与存储设备电性连接之后,上述扫描存储设备中的多个文件的步骤之前,方法还包括:对存储设备的历史扫描情况进行检测,依次判断存储设备是否被扫描过、是否完成前次扫描以及是否未更新数据;若检测中存在至少一项判断结果为否,则清除数据库中的数据,并执行扫描存储设备中的多个文件的步骤;若检测中的任一项判断结果皆为是,则保留数据库中的数据。8.结合第一方面的第一种可实施方式,在第一方面的第二种可实施方式中,上述判断存储设备是否被扫描过的步骤,包括:将存储设备的设备信息与数据库中的设备信息列表进行对比,其中,设备信息包括厂家标识、产品标识、全部容量和使用容量中的至少一项;若对比结果为一致,则确定存储设备被扫描过;若对比结果为不一致,则确定存储设备未被扫描过;在确定存储设备未被扫描过之后,方法还包括:将存储设备的设备信息记录在数据库的存储设备信息列表中。9.结合第一方面的第一种可实施方式,在第一方面的第三种可实施方式中,上述判断存储设备是否完成前次扫描的步骤,包括:读取存储设备中的标志位;在未读取到标志位的情况下,确定存储设备未完成前次扫描;在读取到标志位的情况下,确定存储设备完成前次扫描。10.结合第一方面的第一种可实施方式,在第一方面的第四种可实施方式中,上述判断存储设备是否未更新数据的步骤,包括:对存储设备中的文件路径进行遍历,以确定存储设备中是否存在与数据库不同的文件路径;若不存在不同的文件路径,则确定存储设备未更新数据;若存在不同的文件路径,则确定存储设备已更新数据。11.结合第一方面,在第一方面的第五种可实施方式中,上述扫描存储设备中的多个文件的过程中,方法还包括:接收到授权指示,其中,授权指示用于指示同步数据;新建线程,并在扫描到文件的情况下,通过新建的线程将扫描到的文件上传至云端,以将存储设备中的数据共享给其他终端设备。12.结合第一方面,在第一方面的第六种可实施方式中,上述扫描存储设备中的多个文件的步骤,包括:扫描存储设备的根目录下的数据;若扫描到文件,则执行检测扫描到的文件的文件类型是否属于首次出现的步骤;若扫描到文件夹,则将文件夹中的数据添加到第一文件夹集合;扫描第一文件夹集合中的数据;若扫描到文件,则执行检测扫描到的文件的文件类型是否属于首次出现的步骤;若扫描到文件夹,则将文件夹中的数据添加到第二文件夹集合,并清除第一文件夹集合中的数据;扫描第二文件夹集合中的数据;若扫描到文件,则执行检测扫描到的文件的文件类型是否属于首次出现的步骤;若扫描到文件夹,则将文件夹中的数据添加到第一文件夹集合,并清除第二文件夹集合中的数据;重复执行扫描第一文件夹集合中的数据的步骤,以及扫描第二文件夹集合中的数据的步骤,直到未扫描到文件以及文件夹时,确定完成对存储设备中的所有文件的扫描。13.第二方面,本技术提供了一种数据读取装置,该数据读取装置包括:扫描单元,用于在与存储设备电性连接之后,扫描存储设备中的多个文件;判断单元,用于检测扫描到的文件的文件类型是否属于首次出现,若是,则将扫描到的文件存储到数据库中;若否,则将扫描到的文件存储在内存的预设文件集合中;转移单元,用于每当预设文件集合中的文件的个数达到预设个数时,将预设文件集合中的文件转移到数据库中,并提示文件列表待更新的消息;添加单元,用于在确定完成对存储设备中的所有文件的扫描之后,在存储设备中添加标志位,其中,标志位用于指示本次扫描结束。14.结合第二方面,在第二方面的第一种可实施方式中,上述数据读取装置还包括检测单元,该检测单元用于:对存储设备的历史扫描情况进行检测,依次判断存储设备是否被扫描过、是否完成前次扫描以及是否未更新数据;若检测中存在至少一项判断结果为否,则清除数据库中的数据,并执行扫描存储设备中的多个文件的步骤;若检测中的任一项判断结果皆为是,则保留数据库中的数据。15.结合第二方面的第一种可实施方式,在第二方面的第二种可实施方式中,上述检测单元具体用于:将存储设备的设备信息与数据库中的设备信息列表进行对比,其中,设备信息包括厂家标识、产品标识、全部容量和使用容量中的至少一项;若对比结果为一致,则确定存储设备被扫描过;若对比结果为不一致,则确定存储设备未被扫描过;在确定存储设备未被扫描过之后,方法还包括:将存储设备的设备信息记录在数据库的存储设备信息列表中。16.结合第二方面的第一种可实施方式,在第二方面的第三种可实施方式中,上述检测单元具体用于:读取存储设备中的标志位;在未读取到标志位的情况下,确定存储设备未完成前次扫描;在读取到标志位的情况下,确定存储设备完成前次扫描。17.结合第二方面的第一种可实施方式,在第二方面的第四种可实施方式中,上述检测单元具体用于:对存储设备中的文件路径进行遍历,以确定存储设备中是否存在与数据库不同的文件路径;若不存在不同的文件路径,则确定存储设备未更新数据;若存在不同的文件路径,则确定存储设备已更新数据。18.结合第二方面,在第二方面的第五种可实施方式中,上述数据读取装置还包括同步单元,该同步单元用于:接收到授权指示,其中,授权指示用于指示同步数据;新建线程,并在扫描到文件的情况下,通过新建的线程将扫描到的文件上传至云端,以将存储设备中的数据共享给其他终端设备。19.结合第二方面,在第二方面的第六种可实施方式中,上述扫描单元具体用于:扫描存储设备的根目录下的数据;若扫描到文件,则执行检测扫描到的文件的文件类型是否属于首次出现的步骤;若扫描到文件夹,则将文件夹中的数据添加到第一文件夹集合;扫描第一文件夹集合中的数据;若扫描到文件,则执行检测扫描到的文件的文件类型是否属于首次出现的步骤;若扫描到文件夹,则将文件夹中的数据添加到第二文件夹集合,并清除第一文件夹集合中的数据;扫描第二文件夹集合中的数据;若扫描到文件,则执行检测扫描到的文件的文件类型是否属于首次出现的步骤;若扫描到文件夹,则将文件夹中的数据添加到第一文件夹集合,并清除第二文件夹集合中的数据;重复执行扫描第一文件夹集合中的数据的步骤,以及扫描第二文件夹集合中的数据的步骤,直到未扫描到文件以及文件夹时,确定完成对存储设备中的所有文件的扫描。20.第三方面,本技术还提供了一种数据读取设备,该数据读取设备包括处理器和存储器,处理器和存储器通过总线连接;处理器,用于执行多条指令;存储器,用于存储多条指令,指令适于由处理器加载并执行如第一方面或第一方面的任意一项实施方式的数据读取方法,以改善现有技术中数据读取速度慢的问题。21.第四方面,本技术还提供了一种计算机可读存储介质,计算机可读存储介质中存储有多条指令,指令适于由处理器加载并执行如第一方面或第一方面的任意一项实施方式的数据读取方法,以改善现有技术中数据读取速度慢的问题。22.综上,本技术提供了一种数据读取方法、装置、设备及存储介质,其中,数据读取设备通过在扫描存储设备中的多个文件时,一方面,将扫描到各文件类型对应的第一个文件及时存储到数据库中,使得用户可以及时操作存储设备中的文件,从而来提高数据读取速度;另一方面,数据读取设备通过每读取到预设个数的文件,就将该预设个数的文件存储到数据库中,来减小扫描存储设备时对中央处理器(centralprocessingunit,cpu)和内存的占用,使得cpu保持流畅,从而来提高数据读取速度。可见,通过采用本技术所提供的数据读取方法能够改善现有技术中数据读取速度慢的问题。附图说明23.图1为本技术提供的一个实施例中数据读取方法的应用场景图;24.图2为本技术提供的一个实施例中数据读取方法的流程示意图;25.图3为本技术提供的另一个实施例中数据读取方法的流程示意图;26.图4为本技术提供的一种数据读取装置的示意性框图;27.图5为本技术提供的一种数据读取设备的结构性框图。具体实施方式28.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。29.由于本技术实施例涉及相对较多的专业术语,为了便于理解,下面先对本技术实施例可能涉及的相关术语和概念进行介绍。30.1、存储设备31.存储设备是用于储存信息的设备,通常是将信息数字化后再以利用电、磁或光学等方式的媒体加以存储。本技术中的存储设备主要指的是可移动的存储设备,例如通用串行总线(universalserialbus,usb)接口移动硬盘(简称u盘)、相变式可重复擦写光盘驱动器(phasechangerewritableopticaldiskdrive,pd)、移动硬盘(mobileharddisk)等。需要说明的是,存储设备可以通过插到数据读取设备的接口中,来与数据读取设备电性连接,使得数据读取设备可以读取存储设备中的文件,从而实现数据传输。另外,为实现数据传输,存储设备与数据读取设备的接口遵循相同的通信协议,例如存储设备为u盘时,u盘可以插入数据读取设备上的usb端口。32.2、设备信息33.设备信息指的是用于对设备进行标识的信息。当其他设备在获得该设备信息之后,可以根据该设备信息来唯一确定对应的设备。在本技术中,设备信息主要是指的是存储设备的标识信息,例如厂家标识(venderid)、产品标识(productid)、全部容量和使用容量等。其中,厂家标识包括生产厂家信息、产地信息和生产日期信息等;产品标识包括销售商信息;全部容量指的是产品总的容量;使用容量指的是产品已使用的容量。需要说明的是,当数据读取设备在与存储设备连接之后,可以通过存储设备的驱动程序的inf文件或注册表中查找到厂家标识和产品标识。34.需要说明的是,本技术接下来涉及到的数据读取设备和数据读取装置可以包括但不限于专用的数据读取设备、终端设备、计算机、处理器等,可以是集成在汽车上的一个设备,也可以是汽车上的可拆卸的独立设备。数据读取设备和数据读取装置可以与汽车上的相机进行数据交互,例如获取相机拍摄的包括有障碍物的图像等。处理器可以包括但不限于中央处理器(centralprocessingunit,cpu),通用处理器,协处理器,数字信号处理器(digitalsignalprocessor,dsp),专用集成电路(application-specificintegratedcircuit,asic),现场可编程门阵列(fieldprogrammablegatearray,fpga)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。处理器可以实现本技术的所描述的方法,例如扫描存储设备中的多个文件等,本技术对此不再赘述。35.还需要说明的是,本实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。本说明书所附图式所绘示的结构、比例、大小等,均仅用以配合说明书所揭示的内容,以供熟悉此技术的人士了解与阅读,并非用以限定本发明可实施的限定条件,故不具技术上的实质意义,任何结构的修饰、比例关系的改变或大小的调整,在不影响本发明所能产生的功效及所能达成的目的下,均应仍落在本发明所揭示的技术内容得能涵盖的范围内。同时,本说明书中所引用的如“上”、“下”、“左”、“右”、“中间”、“纵向”、“横向”、“水平”、“内”、“外”、“径向”、“周向”等指示的方位或位置关系为基于附图所示的方位或位置关系,亦仅为了便于简化叙述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,其相对关系的改变或调整,在无实质变更技术内容下,当亦视为本发明可实施的范畴。因此不能理解为对本发明的限制。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性。36.目前,数据读取设备在与存储设备电性连接之后,往往会在读取存储设备的数据时出现读取速度慢,甚至系统卡顿的问题。尤其是在存储设备中有大量数据时,这种问题会加重。对此,可以通过重启设备来一定程度上的缓解问题,但无法真正的改善。因此现有技术中存在着数据读取速度慢的问题。37.通过研究分析发现,数据读取速度慢是因为:读取数据过程会严重占用数据读取设备的cpu和内存,导致数据读取的速度变慢,因此重启设备无法从源头上改善问题。对此,本技术提供了一种数据读取方法,该方法通过减少数据读取过程对cpu和内存的占用,来改善数据读取速度慢的问题。接下来,本技术将结合图1的应用场景,并以数据读取设备为执行主体,对本技术所提出的数据读取方法进行说明。具体的:38.在与存储设备120电性连接之后,数据读取设备110扫描存储设备120中的多个文件。在扫描时,数据读取设备110先读取被扫描的文件的文件后缀,通过该文件后缀确定文件的文件类型,例如文件后缀为mp3、wma或flac等的文件的文件类型为音频,文件后缀为jpeg、tif或gif等的文件的文件类型为图像,文件后缀为wmv、mp4或avi等的文件的文件类型为视频,文件后缀为txt、doc、或pdf等的文件的文件类型为文本。39.在确定文件的文件类型之后,数据读取设备110检测该文件的文件类型是否为首次出现,若是,则将该文件存储到数据库中,使得用户可以及时对数据进行操作;若否,则将扫描到的文件存储在内存的预设文件集合中,直到预设文件集合中的文件的个数达到预设个数时,将该预设文件集合中的文件转移到数据库中,并提示文件列表待更新的消息。其中,将该预设文件集合中的文件转移到数据库中包括两步,一是将预设文件集合中的文件存储到数据库中,二是将预设文件集合清空,使得数据读取设备110可以将后续读取到的文件继续存储在该预设文件集合中,当预设文件集合中的文件的个数再次达到预设个数时,再执行一次转移操作,直到存储设备120中的所有文件都存储到数据读取设备110的数据库中,此时确定完成对存储设备120中的所有文件的扫描。需要说明的是,当扫描完存储设备120的文件时,预设文件集合中的文件的个数无论是刚好预设个数还是小于预设个数,都执行一次转移操作,使得存储设备120中的文件可以无遗漏的存储到数据库中,本技术接下来对此不再赘述。还需要说明的是,首次出现指的是本次数据读取过程中的第一次出现。40.在确定完成对存储设备120中的所有文件的扫描之后,数据读取设备110在存储设备120中添加标志位,其中,该标志位用于指示本次扫描结束,该标志位可以是一个或者多个字符的组合。为了在存储设备120在下次与数据读取设备110电性连接之后,使得数据读取设备110可以快速获取到该标志位,可以将标志位存放在存储设备120的驱动程序的inf文件或注册表中。41.需要说明的是,数据库存储在数据读取设备110中的非内存的存储介质中,例如硬盘等。数据读取设备110将扫描到的文件存储到数据库中,一方面是为了及时清空数据,减少对cpu和内存的占用,另一方面是为了方便数据读取设备110随时从数据库中获取数据,不用在每次需要存储设备120中的数据时,重复执行读取存储设备120中的数据的过程。42.在一种实施例中,本技术提供了一种数据读取方法,如图2所示。接下来,本技术将以数据读取设备为执行主体,对本实施例所提供的方法进行说明。具体的:43.201:在与存储设备电性连接之后,扫描存储设备中的多个文件。44.其中,存储设备中可以存储多个文件和多个文件夹,文件的类型包括音频、图像、视频和文本中至少一种。在扫描时,数据读取设备对存储设备中的文件进行遍历扫描,使得存储设备的根目录和子目录下的各个文件都不遗漏的被扫描到。45.202:检测扫描到的文件的文件类型是否属于首次出现,若是,则将扫描到的文件存储到数据库中;若否,则将扫描到的文件存储在内存的预设文件集合中。46.其中,数据读取设备在对存储设备中的文件进行扫描时,先读取文件的文件后缀,根据文件的文件后缀确定文件的文件类型,如果该文件的文件类型为首次出现,则将该文件存储到数据库,反之则存储到内存中的预设文件集合中。可见,本技术通过及时将扫描到的各文件类型对应的第一个文件存储到数据库,使得用户能更快的操作文件,不用一直等待,从而提高文件的读取速度,减少卡顿。47.203:每当预设文件集合中的文件的个数达到预设个数时,将预设文件集合中的文件转移到数据库中,并提示文件列表待更新的消息。48.其中,预设文件集合例如可以是内存中命名为medialist的文件集合。数据存储设备在上述扫描存储设备中的文件的过程中,如果扫描到的文件的文件类型为非首次出现,则将该文件存储到数据库中,直到预存文件集合中的文件的个数达到预设个数时,将预设文件集合中的文件存储到数据库中,并清空预设文件集合和提示文件列表待更新的消息,该消息用于提示用户刷新文件列表,以加载出最新载入数据库的文件,文件列表展示在数据读取设备的显示屏。清空预设文件集合之后,继续将扫描到的文件存储到预设文件集合中。重复该前述过程,直到确定存储设备中的所有文件都存储到数据库中。可见,本方案通过每扫描到预设个数的文件便执行一次将扫描到的文件转移到数据库的操作,可以使得数据更新效率不被缩减的同时,一定程度的减小cpu和内存占用,使整个系统更流畅。49.204:在确定完成对存储设备中的所有文件的扫描之后,在存储设备中添加标志位。50.其中,标志位用于指示本次扫描结束。数据读取设备在确定完成对存储设备中的所有文件的扫描之后,在存储设备中添加标志位,使得该存储设备在下次与数据读取设备进行电性连接时,可以根据该标志位确定该存储设备是否完成此次扫描过程,若完成则可以简化甚至省略下次扫描过程,以提高数据读取的速度。51.如上,为了提高数据读取的速度,数据读取设备在完成存储设备的扫描之后在存储设备中添加了标志位。基于该添加的标志位,数据读取设备可以在下次读取存储设备中的文件采取更优化的扫描过程。接下来,本技术将结合几个可实施方式对该更优化的扫描过程进行说明。具体的:52.在一种可实施的方式中,上述在与存储设备电性连接之后,扫描存储设备中的多个文件的步骤之前,方法还包括:对存储设备的历史扫描情况进行检测,依次判断存储设备是否被扫描过、是否完成前次扫描以及是否未更新数据;若检测中存在至少一项判断结果为否,则清除数据库中的数据,并执行扫描存储设备中的多个文件的步骤;若检测中的任一项判断结果皆为是,则保留数据库中的数据。53.其中,数据读取设备在对存储设备中的文件进行扫描之前,依次判断存储设备是否被扫描过、是否完成前次扫描以及是否未更新数据。如果该三个判断的结果都为是,则保留数据库中的数据,不执行对存储设备中的文件进行扫描的步骤。如果该三个判断中有至少一个判断的结果为否,则清除数据库中的数据,并执行对存储设备中的文件进行扫描的步骤。需要注意的是,本可实施方式按照判断存储设备是否被扫描过、是否完成前次扫描以及是否未更新数据的顺序来依次执行,会比按照任意顺序串行执行还是并行执行来说,判断的效率更高。这是因为,虽然该三个判断都反映了存储设备的历史扫描情况,但是反映的程度不同,其程度是依次递进的。如果前一个判断条件都不满足,则后一个判断条件也不会满足。因此,本本技术通过依次执行上述三个判断,可以提高判断的效率。54.在一种可实施的方式中,判断存储设备是否被扫描过的步骤,包括:将存储设备的设备信息与数据库中的设备信息列表进行对比,其中,设备信息包括厂家标识、产品标识、全部容量和使用容量中的至少一项;若对比结果为一致,则确定存储设备被扫描过;若对比结果为不一致,则确定存储设备未被扫描过;在确定存储设备未被扫描过之后,方法还包括:将存储设备的设备信息记录在数据库的存储设备信息列表中。55.其中,为了快速判断存储设备是否被扫描过,数据读取设备可以从数据库或者云端获取设备信息列表,并将该存储设备的设备信息与设备信息列表中的多个设备信息进行对比,如果在设备信息列表中查找到与存储设备的设备信息一致的设备信息,则确定该存储设备被扫描过,反之则未被扫描过,并将存储设备的设备信息记录在数据库的存储设备信息列表中,然后对该存储设备进行扫描。需要说明的是,设备信息列表中存储有数据读取设备扫描过的至少一个存储设备的设备信息。56.在一种可实施的方式中,上述判断存储设备是否完成前次扫描的步骤,包括:读取存储设备中的标志位;在未读取到标志位的情况下,确定存储设备未完成前次扫描;在读取到标志位的情况下,确定存储设备完成前次扫描。57.其中,为了快速判断存储设备是否完成前次扫描,数据读取设备可以读取存储设备中的标志位,如果未读取到标志位,则确定存储设备未完成前次扫描;如果读取到标志位,则确定存储设备完成前次扫描。58.在一种可实施的方式中,上述判断存储设备是否未更新数据的步骤,包括:对存储设备中的文件路径进行遍历,以确定存储设备中是否存在与数据库不同的文件路径;若不存在不同的文件路径,则确定存储设备未更新数据;若存在不同的文件路径,则确定存储设备已更新数据。59.其中,为了快速判断存储设备是否未更新数据,数据读取设备可以先对存储设备中的各文件的文件路径进行遍历,以存储设备中的各文件的文件路径是否与在数据库中对应的文件的文件路径一致,如果一致则确定存储设备未更新数据,如果不完全一致,则确定存储设备已更新数据。60.为了进一步提高数据读取效率,在一种可实施的方式中,数据读取设备利用递归遍历的方式对存储设备中的文件进行扫描。具体的,上述扫描存储设备中的多个文件的步骤,包括:扫描存储设备的根目录下的数据;若扫描到文件,则执行检测扫描到的文件的文件类型是否属于首次出现的步骤;若扫描到文件夹,则将文件夹中的数据添加到第一文件夹集合;扫描第一文件夹集合中的数据;若扫描到文件,则执行检测扫描到的文件的文件类型是否属于首次出现的步骤;若扫描到文件夹,则将文件夹中的数据添加到第二文件夹集合,并清除第一文件夹集合中的数据;扫描第二文件夹集合中的数据;若扫描到文件,则执行检测扫描到的文件的文件类型是否属于首次出现的步骤;若扫描到文件夹,则将文件夹中的数据添加到第一文件夹集合,并清除第二文件夹集合中的数据;重复执行扫描第一文件夹集合中的数据的步骤,以及扫描第二文件夹集合中的数据的步骤,直到未扫描到文件以及文件夹时,确定完成对存储设备中的所有文件的扫描。61.其中,第一文件夹集合可以是名为folder01list的文件夹,第二文件夹集合可以是名为folder02list的文件夹。数据读取设备先对存储设备的根目录下的数据进行扫描,如果扫描到文件则根据文件的后缀名确定将文件存储到数据库还是预设文件集合中;如果扫描到文件夹,则将文件夹中数据存储到第一文件夹集合,也即是将存储设备的根目录下的下一层子目录下的数据存储到第一文件夹集合。在完成对存储设备的根目录下的所有文件的扫描之后,对第一文件夹集合中的数据进行扫描,如果扫描到文件则根据文件的后缀名确定将文件存储到数据库还是预设文件集合中;如果扫描到文件夹,则将文件夹中的数据存储到第二文件夹集合,也即是将存储设备的根目录下的再下一层子目录下的数据存储到第二文件夹集合。再然后对第二文件夹集合中的数据进行扫描,并执行前述扫描的过程,直到存储设备的各级目录下的文件都被扫描到。可见,本技术利用第一文件夹集合和第二文件夹集合依次存放存储设备的各级目录下的数据,可以不遗漏的对存储设备中的文件进行扫描。62.需要说明的是,本可实施方式除了可以不遗漏的扫描存储设备中的文件以外,还可以进一步提高扫描的效率。通过实际应用发现,本可实施方式的递归遍历的方式比层级遍历的扫描效率更高。其中,层级遍历指的是对存储设备的根目录下的数据逐项进行扫描,假设在根目录下扫描到文件夹,则扫描完该文件夹中的所有文件之后,再对根目录下位于该文件夹之后的下一项数据进行扫描,直到扫描完根目录下的所有项数据之后,确定完成对该存储设备中的所有文件的扫描。63.另外,本技术还提供了一种可实施的方式,该可实施方式可以减少数据的重复读取,并提高数据的安全性。具体的,上述扫描存储设备中的多个文件的过程中,方法还包括:接收到授权指示,其中,授权指示用于指示同步数据;新建线程,并在扫描到文件的情况下,通过新建的线程将扫描到的文件上传至云端,以将存储设备中的数据共享给其他终端设备。64.其中,数据读取设备在对存储设备中的文件进行扫描的过程中,若接收到用户发送的授权指示,则建立一个用于将扫描的文件上传至云端新线程,该新线程为独立于扫描线程的新的线程。每当扫描到一个文件时,就通过新线程将该文件上传至云端,使得用户可以通过手机等终端设备来下载该文件,从而实现车机数据共享。65.综上,本技术提供了一种数据读取方法、装置、设备及存储介质,其中,数据读取设备通过在扫描存储设备中的多个文件时,一方面,将扫描到各文件类型对应的第一个文件及时存储到数据库中,使得用户可以及时操作存储设备中的文件,从而来提高数据读取速度;另一方面,数据读取设备通过每读取到预设个数的文件,就将该读取的预设个数的文件存储到数据库中,来减小扫描存储设备时的中央处理器(centralprocessingunit,cpu)和内存占用,使得cpu保持流畅,不会卡顿,从而来提高数据读取速度。可见,通过采用本技术所提供的数据读取方法能够改善现有技术中数据读取速度慢的问题。66.在另一种实施例中,为了对本技术的方案进行详细完整的说明,本技术还提供了另一种数据读取方法,如图3所示。接下来,本技术将以数据读取设备为执行主体,以u盘作为存储设备,以medialist集合作为预设文件集合,以50个为预设个数,对本实施例所提供的方法进行说明。具体的:67.301:与u盘电性连接。68.302:判断u盘是否被扫描过?69.若是,则执行步骤303;若否,则执行步骤306。70.303:判断u盘是否完成前次扫描?71.若是,则执行步骤304;若否,则执行步骤306。72.304:判断u盘是否未更新数据?73.若是,则执行步骤305;若否,则执行步骤306。74.305:保留数据库中的数据。75.306:清除数据库中的数据。76.307:递归遍历u盘中的多个文件,并将扫描到的文件同步至云端。77.其中,递归遍历的方式可以参考上一实施例,此处不再赘述。78.308:扫描到的文件的文件类型是否属于首次出现?79.若是,则执行步骤309;若否,则执行步骤310。80.309:将该扫描到的文件存储到数据库中。81.310:将扫描到的文件存储在内存的medialist集合。82.311:每当medialist集合中的文件的个数达到50个时,将medialist集合中的文件转移到数据库中,并提示文件列表待更新的消息。83.312:在完成对u盘中的所有文件的扫描之后,在u盘中添加标志位。84.综上,本实施例在与u盘电性连接之后,通过先依次判断u盘是否被扫描过、是否完成前次扫描以及是否未更新数据,来判断是否需要对u盘进行扫描。如果u盘被扫描过、完成前次扫描且未更新数据,则不需要对u盘进行扫描,数据库中已存储有该u盘的数据。反之,则清除数据库中的数据,并通过递归遍历的方式对u盘进行扫描,同时将扫描到的文件同步至云端,直至完成对u盘中的所有文件的扫描。可见,本实施例在上一个实施例的基于上提出了一个更详细的实施方式,进一步的提高了数据读取的速度。85.在另一个实施例中,本发明实施还提供了一种数据读取装置,参见图4。本发明实施例可以根据上述方法示例对设备进行功能单元的划分,例如,可以对应各个功能划分各个功能单元,也可以将两个或两个以上的功能集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。需要说明的是,本发明实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。如图4所示,该数据读取装置装置包括扫描单元410、判断单元420、转移单元430以及添加单元440,具体的:扫描单元410,用于在与存储设备电性连接之后,扫描存储设备中的多个文件;判断单元420,用于检测扫描到的文件的文件类型是否属于首次出现,若是,则将扫描到的文件存储到数据库中;若否,则将扫描到的文件存储在内存的预设文件集合中;转移单元430,用于每当预设文件集合中的文件的个数达到预设个数时,将预设文件集合中的文件转移到数据库中,并提示文件列表待更新的消息;添加单元440,用于在确定完成对存储设备中的所有文件的扫描之后,在存储设备中添加标志位,其中,标志位用于指示本次扫描结束。86.在一种可实施方式中,上述数据读取装置还包括检测单元450,该检测单元450用于:对存储设备的历史扫描情况进行检测,依次判断存储设备是否被扫描过、是否完成前次扫描以及是否未更新数据;若检测中存在至少一项判断结果为否,则清除数据库中的数据,并执行扫描存储设备中的多个文件的步骤;若检测中的任一项判断结果皆为是,则保留数据库中的数据。87.在一种可实施方式中,上述检测单元450具体用于:将存储设备的设备信息与数据库中的设备信息列表进行对比,其中,设备信息包括厂家标识、产品标识、全部容量和使用容量中的至少一项;若对比结果为一致,则确定存储设备被扫描过;若对比结果为不一致,则确定存储设备未被扫描过;在确定存储设备未被扫描过之后,方法还包括:将存储设备的设备信息记录在数据库的存储设备信息列表中。88.在一种可实施方式中,上述检测单元450具体用于:读取存储设备中的标志位;在未读取到标志位的情况下,确定存储设备未完成前次扫描;在读取到标志位的情况下,确定存储设备完成前次扫描。89.在一种可实施方式中,上述检测单元450具体用于:对存储设备中的文件路径进行遍历,以确定存储设备中是否存在与数据库不同的文件路径;若不存在不同的文件路径,则确定存储设备未更新数据;若存在不同的文件路径,则确定存储设备已更新数据。90.在一种可实施方式中,上述数据读取装置还包括同步单元460,该同步单元460用于:接收到授权指示,其中,授权指示用于指示同步数据;新建线程,并在扫描到文件的情况下,通过新建的线程将扫描到的文件上传至云端,以将存储设备中的数据共享给其他终端设备。91.在一种可实施方式中,上述扫描单元410具体用于:扫描存储设备的根目录下的数据;若扫描到文件,则执行检测扫描到的文件的文件类型是否属于首次出现的步骤;若扫描到文件夹,则将文件夹中的数据添加到第一文件夹集合;扫描第一文件夹集合中的数据;若扫描到文件,则执行检测扫描到的文件的文件类型是否属于首次出现的步骤;若扫描到文件夹,则将文件夹中的数据添加到第二文件夹集合,并清除第一文件夹集合中的数据;扫描第二文件夹集合中的数据;若扫描到文件,则执行检测扫描到的文件的文件类型是否属于首次出现的步骤;若扫描到文件夹,则将文件夹中的数据添加到第一文件夹集合,并清除第二文件夹集合中的数据;重复执行扫描第一文件夹集合中的数据的步骤,以及扫描第二文件夹集合中的数据的步骤,直到未扫描到文件以及文件夹时,确定完成对存储设备中的所有文件的扫描。92.在另一个实施例中,本技术还提供了一种数据读取设备,参见图5。该数据读取设备可以是但不限于各种个人计算机、笔记本电脑、智能手机、平板电脑、便携式可穿戴设备和服务器,服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。如图所示的本实施例中的数据读取设备可以包括:处理器510和存储器520。上述处理器510和存储器520通过总530连接。处理器510,用于执行多条指令;存储器520,用于存储多条指令,该指令适于由处理器510加载并执行如上述实施例中的数据读取方法。93.其中,处理器510可以是电子调整单元(electroniccontrolunit,ecu)、中央处理器(centralprocessingunit,cpu),通用处理器,协处理器,数字信号处理器(digitalsignalprocessor,dsp),专用集成电路(application-specificintegratedcircuit,asic),现场可编程门阵列(fieldprogrammablegatearray,fpga)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。该处理器510也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,dsp和微处理器的组合等等。在本实施例中,处理器510可采用单片机,通过对单片机进行编程可以实现各种控制功能,比如在本实施例中,实现扫描存储设备中的多个文件等功能,处理器具有计算能力强大,处理快速的优点。具体的:处理器510用于执行扫描单元410的功能,用于在与存储设备电性连接之后,扫描存储设备中的多个文件;还用于执行判断单元420的功能,用于检测扫描到的文件的文件类型是否属于首次出现,若是,则将扫描到的文件存储到数据库中;若否,则将扫描到的文件存储在内存的预设文件集合中;还用于执行转移单元430的功能,用于每当预设文件集合中的文件的个数达到预设个数时,将预设文件集合中的文件转移到数据库中,并提示文件列表待更新的消息;还用于执行添加单元440的功能,用于在确定完成对存储设备中的所有文件的扫描之后,在存储设备中添加标志位,其中,标志位用于指示本次扫描结束。94.在一种可实施方式中,上述处理器510还用于执行检测单元450的功能,用于:对存储设备的历史扫描情况进行检测,依次判断存储设备是否被扫描过、是否完成前次扫描以及是否未更新数据;若检测中存在至少一项判断结果为否,则清除数据库中的数据,并执行扫描存储设备中的多个文件的步骤;若检测中的任一项判断结果皆为是,则保留数据库中的数据。95.在一种可实施方式中,上述处理器510具体用于:将存储设备的设备信息与数据库中的设备信息列表进行对比,其中,设备信息包括厂家标识、产品标识、全部容量和使用容量中的至少一项;若对比结果为一致,则确定存储设备被扫描过;若对比结果为不一致,则确定存储设备未被扫描过;在确定存储设备未被扫描过之后,方法还包括:将存储设备的设备信息记录在数据库的存储设备信息列表中。96.在一种可实施方式中,上述处理器510具体用于:读取存储设备中的标志位;在未读取到标志位的情况下,确定存储设备未完成前次扫描;在读取到标志位的情况下,确定存储设备完成前次扫描。97.在一种可实施方式中,上述处理器510具体用于:对存储设备中的文件路径进行遍历,以确定存储设备中是否存在与数据库不同的文件路径;若不存在不同的文件路径,则确定存储设备未更新数据;若存在不同的文件路径,则确定存储设备已更新数据。98.在一种可实施方式中,上述处理器510还用于执行同步单元460的功能,用于:接收到授权指示,其中,授权指示用于指示同步数据;新建线程,并在扫描到文件的情况下,通过新建的线程将扫描到的文件上传至云端,以将存储设备中的数据共享给其他终端设备。99.在一种可实施方式中,上述处理器510具体用于:扫描存储设备的根目录下的数据;若扫描到文件,则执行检测扫描到的文件的文件类型是否属于首次出现的步骤;若扫描到文件夹,则将文件夹中的数据添加到第一文件夹集合;扫描第一文件夹集合中的数据;若扫描到文件,则执行检测扫描到的文件的文件类型是否属于首次出现的步骤;若扫描到文件夹,则将文件夹中的数据添加到第二文件夹集合,并清除第一文件夹集合中的数据;扫描第二文件夹集合中的数据;若扫描到文件,则执行检测扫描到的文件的文件类型是否属于首次出现的步骤;若扫描到文件夹,则将文件夹中的数据添加到第一文件夹集合,并清除第二文件夹集合中的数据;重复执行扫描第一文件夹集合中的数据的步骤,以及扫描第二文件夹集合中的数据的步骤,直到未扫描到文件以及文件夹时,确定完成对存储设备中的所有文件的扫描。100.在一种可实施方式中,本技术还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有多条指令,指令适于由处理器加载并执行前述任意实施例中的方法。处理器510,用于执行多条指令;存储器520,用于存储多条指令,该指令适于由处理器510加载并执行如上述实施例中的数据读取方法。101.以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。102.以上实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术专利的保护范围应以所附权利要求为准。当前第1页12当前第1页12
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献