CN114095494A - 一种用于快速下载文件的方法和系统 - Google Patents
一种用于快速下载文件的方法和系统 Download PDFInfo
- Publication number
- CN114095494A CN114095494A CN202111372038.8A CN202111372038A CN114095494A CN 114095494 A CN114095494 A CN 114095494A CN 202111372038 A CN202111372038 A CN 202111372038A CN 114095494 A CN114095494 A CN 114095494A
- Authority
- CN
- China
- Prior art keywords
- file
- mtp
- directory
- information
- path
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/13—File access structures, e.g. distributed indices
Abstract
公开了一种用于快速下载文件的方法和系统,包括对获取需要下载的文件信息进行文本分类,响应于文件大小大于指定阈值且文件所在目录个数小于第二指定阈值,将文件加入MTP下载文件集合;对MTP下载文件集合进行去重获取目录队列信息,根据目录队列信息的路径头目录进行目录分割处理,获得该路径的根节点唯一标识ID;根据根节点唯一标识ID和分割路径信息进行逐级递归映射,获取目录队列信息的所有目录映射的MTP节点信息,响应于MTP节点信息中存在与MTP下载文件集合的名称、路径相同的记录,获取对应文件的唯一字符串ID标记加入下载队列,根据下载队列的队列值使用MTP系统框架接口下载文件。本发明在电子取证行业对用户设备全盘文件下载具有明显优化效应。
Description
技术领域
本发明涉及数据下载的技术领域,尤其是一种用于快速下载文件的方法和系统。
背景技术
MTP协议是微软开发的媒体传输协议,用于PC和智能设备间的一种文件传输协议,相比一些如ADB协议,MTP对于大文件特别是多媒体文件传输效率高效,而且基于USB3.0更是有显著的高效性能。Windows、Android等许多系统目前已经基本支持了MTP协议,将它作为一个基本的能力。为了和一些智能设备实现MTP传输控制文件系统,智能设备系统本身也需要支持MTP协议。我们日常使用智能手机以MTP模式连接,在PC上以硬盘形式展现智能设备内部储存储就是MTP的一种应用形式。
MTP协议在智能设备上构建了一套虚拟文件系统,从根节点以文件唯一标识标记,每次更新一次在智能设备的目录操作,会发起一次设备间文件扫描操作获取当前目录文件结构信息,包含了当前目录的所有文件和目录的唯一标识,该唯一标识是MTP中文件对象标识,这样某个文件的路径最后以一条从根节点开始的唯一标识树表示。因此,采用基于MTP协议获取智能设备文件原理是利用路径从根节点去逐级的映射唯一标识,直到最后一级路径,获取了这个最后一层文件唯一标识就能使用基于MTP的接口下载文件。
利用MTP去下载对多媒体等大文件速度提升很明显,但当需要下载大量分布在设备不同文件目录的文件或者目录,特别是获取的目录文件个数又很多情况,会存在以下问题:
1.由于对映射每一层级目录或文件唯一标识时后会耗费扫描时间,当需要下载大量分布在不同文件目录的文件,特别是获取的目录文件个数又很多情况,去逐个将文件路径从根节点映射路径获取某个文件的唯一标识,再根据唯一标识调用MTP的API下载文件会存在重复映射耗费巨大的性能代价。
2.大量的小文件使用MTP下载会有重复映射路径和节点问题,严重影响性能。
3.MTP存在系统无法实时更新节点问题或者缺少映射文件问题,导致下载文件缺少。
发明内容
为了解决现有技术中下载大量分布于设备不同文件目录的文件或目录时存在的耗时、重复映射路径和节点、缺少映射等技术问题,本发明提出了一种用于快速下载文件的方法和系统,以解决上述技术问题。
根据本发明的一个方面,提出了一种用于快速下载文件的方法,包括:
S1:对获取需要下载的文件信息进行文本分类,响应于文件大小大于指定阈值且文件所在目录个数小于第二指定阈值,将文件加入MTP下载文件集合;
S2:对MTP下载文件集合进行去重获取目录队列信息,根据目录队列信息的路径头目录进行目录分割处理,获得该路径的根节点唯一标识ID;
S3:根据根节点唯一标识ID和分割路径信息进行逐级递归映射,获取目录队列信息的所有目录映射的MTP节点信息,响应于MTP节点信息中存在与MTP下载文件集合的名称、路径相同的记录,获取对应文件的唯一字符串ID标记加入下载队列;
S4:根据下载队列的队列值使用MTP系统框架接口下载文件。
在一些具体的实施例中,步骤S1还包括响应于文件大小小于指定阈值或文件所在目录个数大于第二指定阈值的文件加入其他下载文件集合。其他下载文件集合可以利用其余下载手段进行下载,弥补MTP下载的缺陷。
在一些具体的实施例中,步骤S2中根据目录队列信息的路径头目录进行目录分割处理具体是对目录队列信息的每个路径按目录结构从根节点分割获取第一个目录名,映射MTP系统节点根目录的名称,获得该路径的根节点唯一标识ID。
在一些具体的实施例中,步骤S3中MTP节点信息包括映射成功的目录所有的文件唯一标识,关联文件名称和路径,标记为MTP Objects。
在一些具体的实施例中,步骤S3具体包括:遍历MTP下载文件集合,查找MTPObjects里文件名是否存在与MTP下载文件集合名称相同的记录,若存在相同名称,进一步判断全路径是否相同,若相同,则获取对应文件唯一字符串ID标记加入下载队列;若存在名称或路径不相同,则将对应的文件信息加入其他下载文件集合。
在一些具体的实施例中,对于其他下载文件集合利用自定义的多线程文件下载。
根据本发明的第二方面,提出了一种计算机可读存储介质,其上存储有一或多个计算机程序,该一或多个计算机程序被计算机处理器执行时实施上述任一项的方法。
根据本发明的第三方面,提出了一种用于快速下载文件的系统,该系统包括:
主机设备,配置用于发送需要下载的文件或者目录集合队列给客户端设备,对获取需要下载的文件信息进行文本分类,响应于文件大小大于指定阈值且文件所在目录个数小于第二指定阈值,将文件加入MTP下载文件集合,响应于MTP节点信息中存在与MTP下载文件集合的名称、路径相同的记录,获取对应文件的唯一字符串ID标记加入下载队列;
客户端设备,配置用于系统文件接口进行文件基本信息遍历,对MTP下载文件集合进行去重获取目录队列信息,根据目录队列信息的路径头目录进行目录分割处理,获得该路径的根节点唯一标识ID,根据根节点唯一标识ID和分割路径信息进行逐级递归映射,获取目录队列信息的所有目录映射的MTP节点信息;
主机设备根据下载队列的队列值发送给客户端设备使用MTP系统框架接口下载文件。
在一些具体的实施例中,主机设备还包括响应于文件大小小于指定阈值或文件所在目录个数大于第二指定阈值的文件加入其他下载文件集合。
在一些具体的实施例中,客户端设备根据目录队列信息的路径头目录进行目录分割处理,对目录队列信息的每个路径按目录结构从根节点分割获取第一个目录名,映射MTP系统节点根目录的名称,获得该路径的根节点唯一标识ID。
在一些具体的实施例中,MTP节点信息包括映射成功的目录所有的文件唯一标识,关联文件名称和路径,标记为MTP Objects。
在一些具体的实施例中,主机设备遍历MTP下载文件集合,查找MTP Objects里文件名是否存在与MTP下载文件集合名称相同的记录,若存在相同名称,进一步判断全路径是否相同,若相同,则获取对应文件唯一字符串ID标记加入下载队列;若存在名称或路径不相同,则将对应的文件信息加入其他下载文件集合。
在一些具体的实施例中,对于其他下载文件集合利用自定义的多线程文件下载。
本发明提出了一种用于快速下载文件的方法和系统,可以利用MTP多媒体下载文件优势,快速下载分散在不同目录的文件队列,但同时又能规避解决MTP本身在下载大量小文件出现的性能卡顿现象和MTP无法完全展示所有文件问题。该方案在电子取证行业对于用户设备全盘文件下载具有比较明显的优化效应,加快对检测设备的文件提取效率。
附图说明
包括附图以提供对实施例的进一步理解并且附图被并入本说明书中并且构成本说明书的一部分。附图图示了实施例并且与描述一起用于解释本发明的原理。将容易认识到其它实施例和实施例的很多预期优点,因为通过引用以下详细描述,它们变得被更好地理解。通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1是本申请的一个实施例的用于快速下载文件的方法的流程图;
图2是本申请的一个具体的实施例的用于快速下载文件的方法的流程图;
图3是本申请的一个实施例的用于快速下载文件的系统的框架图;
图4是适于用来实现本申请实施例的电子设备的计算机系统的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
根据本申请的一个实施例的用于快速下载文件的方法,图1示出了根据本申请的实施例的用于快速下载文件的方法的流程图。如图1所示,该方法包括:
S101:对获取需要下载的文件信息进行文本分类,响应于文件大小大于指定阈值且文件所在目录个数小于第二指定阈值,将文件加入MTP下载文件集合。
在具体的实施例中,响应于文件大小小于指定阈值或文件所在目录个数大于第二指定阈值的文件加入其他下载文件集合。
S102:对MTP下载文件集合进行去重获取目录队列信息,根据目录队列信息的路径头目录进行目录分割处理,获得该路径的根节点唯一标识ID。根据目录队列信息的路径头目录进行目录分割处理具体是对目录队列信息的每个路径按目录结构从根节点分割获取第一个目录名,映射MTP系统节点根目录的名称,获得该路径的根节点唯一标识ID。
S103:根据根节点唯一标识ID和分割路径信息进行逐级递归映射,获取目录队列信息的所有目录映射的MTP节点信息,响应于MTP节点信息中存在与MTP下载文件集合的名称、路径相同的记录,获取对应文件的唯一字符串ID标记加入下载队列。
在具体的实施例中,根据目录队列信息的路径头目录进行目录分割处理具体是对目录队列信息的每个路径按目录结构从根节点分割获取第一个目录名,映射MTP系统节点根目录的名称,获得该路径的根节点唯一标识ID。MTP节点信息包括映射成功的目录所有的文件唯一标识,关联文件名称和路径,标记为MTP Objects。遍历MTP下载文件集合,查找MTPObjects里文件名是否存在与MTP下载文件集合名称相同的记录,若存在相同名称,进一步判断全路径是否相同,若相同,则获取对应文件唯一字符串ID标记加入下载队列;若存在名称或路径不相同,则将对应的文件信息加入其他下载文件集合。
S104:根据下载队列的队列值使用MTP系统框架接口下载文件。对于其他下载文件集合利用自定义的多线程文件下载。
继续参考图2,图2示出了根据本发明的一个具体的实施例的用于快速下载文件的方法的流程图,如图2所示,定义主机设备为设备1,客户端设备为设备2,由设备1发起下载文件队列请求,包括以下步骤:
S201:设备1获取需要下载文件队列的所有文件信息,分别以MTP_Files和Other_Files保存。
在具体的实施例中,建立设备1和设备2的MTP连接,设备1发送需要下载的文件或者目录集合队列给设备2,设备2采用系统文件接口进行文件基本信息遍历,基本信息包含文件大小、当前文件所在目录文件个数等信息。主机对获取需要下载的文件基本信息进行文件分类,对文件大小大于指定阈值(例如1GB),且当前文件所在目录个数小于一定阈值(例如50个)的加入MTP下载文件集合MTP_Files,对其他不符合指定阈值的文件加入其他下载文件集合Other_Files。
S202:对MTP_Files集合路径进行预处理得到MTP_DIRS目录集合。为了优化MTP下载MTP_Files出现的重复映射文件唯一标识问题,需要对MTP下载文件集合MTP_Files路径进行预处理,具体方案是对MTP下载文件集合MTP_Files进行去重获取目录队列信息,得到MTP_DIRS。
S203:设备2针对MTP_DIRS目录集合进行路径映射文件唯一标识集合,关联文件名称、路径,以MTP_Objects标记。
在具体的实施例中,设备2根据MTP_DIRS的路径头目录信息进行目录分割处理,具体是对MTP_DIRS每一个路径需要按目录结构从根节点分割获取第一个目录名,映射MTP系统节点根目录的名称,得到该路径的根节点唯一标识ID。设备2根据根节点唯一标识ID和分割的路径信息进行逐级递归映射,最终获取到MTP_DIRS所有目录映射的MTP节点信息,包含了这些映射成功的目录所有的文件唯一标识,关联文件名称、路径,标记MTP_Objects。
S204:遍历比对MTP_Files和MTP_Objects,将比对成功的加入MTP下载队MTP_LOAD_ID,将失败的加入Other_Files。
在具体的实施例中,设备1遍历MTP_Files,查找MTP_Objects里文件名是否存在和MTP_Files名称相同的记录,如果有相同名称,进一步判定全路径是否相同,如果相同,获取对应的文件唯一字符串ID标记加入下载队列MTP_LOAD_ID。如果任意存在不相同的情况将对应MTP_Files的文件信息加入MTP_Objects。
S205:设备1根据MTP_LOAD_ID进行MTP文件下载,对Other_Files进行自定义的多线程文件下载。
在具体的实施例中,设备1根据MTP_LOAD_ID队列值发送给设备2使用MTP系统框架接口下载文件,失败的文件重新加入Other_Files。根据Other_Files信息进行余下文件的下载,使用ADB下载方式,也可以使用其他能弥补MTP明显缺陷的下载方式。该方法有效的解决的MTP的大量小文件性能慢问题,同时解决了MTP本身由于系统缺陷出现的文件映射缺失问题。
在一些具体的实施例中,下表中示出了一些MTP和ADB下载不同类型基于USB3.0的测试数据参考,具体也受测试样机性能影响,但总体能反应MTP的性能优缺点:
其中表格第一行充分体现MTP对于大文件下载优点,表格第二行体现了MTP对于正常媒体多文件的下载优势,表格第三行体现了MTP在应对大量的小文件的下载缺陷,甚至有缺失下载文件问题。上述测试数据都是比较明确类型的测试数据,但实际数据环境应该是相对复杂,文件类型、大小、文件路径层次等都会更加的复杂多变。
根据发明提出的上述方法,通过获取需要下载的文件基本信息进行文件分类,对符合条件的进行路径预处理后使用MTP下载来优化对映射每一层级目录或文件唯一标识时后会耗费扫描时间、大量的小文件使用MTP下载会有重复映射路径和节点问题,严重影响性能的问题,对其他的文件和MTP异常的文件使用其他下载方式来解决MTP存在系统无法实时更新节点问题或者缺少映射文件,导致下载文件缺少的问题,最终实现了一种利用了MTP对大文件和多媒体文件高效传输的优点但又能解决MTP本身的一些缺陷问题,实现可观的下载性能方案。经采用本方案在实际的电子取证案例中,普遍比原先只使用ADB下载速度提升至少20%以上,具体还受实际案例数据类型影响。
继续参考图3,图3示出了根据本发明的实施例的用于快速下载文件的系统的框架图。该系统具体包括主机设备301和客户端设备302,其中,主机设备301配置用于发送需要下载的文件或者目录集合队列给客户端设备,对获取需要下载的文件信息进行文本分类,响应于文件大小大于指定阈值且文件所在目录个数小于第二指定阈值,将文件加入MTP下载文件集合,响应于MTP节点信息中存在与MTP下载文件集合的名称、路径相同的记录,获取对应文件的唯一字符串ID标记加入下载队列;客户端设备302配置用于系统文件接口进行文件基本信息遍历,对MTP下载文件集合进行去重获取目录队列信息,根据目录队列信息的路径头目录进行目录分割处理,获得该路径的根节点唯一标识ID,根据根节点唯一标识ID和分割路径信息进行逐级递归映射,获取目录队列信息的所有目录映射的MTP节点信息。主机设备根据下载队列的队列值发送给客户端设备使用MTP系统框架接口下载文件。
下面参考图4,其示出了适于用来实现本申请实施例的电子设备的计算机系统400的结构示意图。图4示出的电子设备仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图4所示,计算机系统400包括中央处理单元(CPU)401,其可以根据存储在只读存储器(ROM)402中的程序或者从存储部分408加载到随机访问存储器(RAM)403中的程序而执行各种适当的动作和处理。在RAM 403中,还存储有系统400操作所需的各种程序和数据。CPU 401、ROM 402以及RAM 403通过总线404彼此相连。输入/输出(I/O)接口405也连接至总线404。
以下部件连接至I/O接口405:包括键盘、鼠标等的输入部分406;包括诸如液晶显示器(LCD)等以及扬声器等的输出部分407;包括硬盘等的存储部分408;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分409。通信部分409经由诸如因特网的网络执行通信处理。驱动器410也根据需要连接至I/O接口405。可拆卸介质411,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器410上,以便于从其上读出的计算机程序根据需要被安装入存储部分408。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读存储介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分409从网络上被下载和安装,和/或从可拆卸介质411被安装。在该计算机程序被中央处理单元(CPU)401执行时,执行本申请的方法中限定的上述功能。需要说明的是,本申请的计算机可读存储介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读存储介质,该计算机可读存储介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本申请的操作的计算机程序代码,程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。
作为另一方面,本申请还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:包括对获取需要下载的文件信息进行文本分类,响应于文件大小大于指定阈值且文件所在目录个数小于第二指定阈值,将文件加入MTP下载文件集合;对MTP下载文件集合进行去重获取目录队列信息,根据目录队列信息的路径头目录进行目录分割处理,获得该路径的根节点唯一标识ID;根据根节点唯一标识ID和分割路径信息进行逐级递归映射,获取目录队列信息的所有目录映射的MTP节点信息,响应于MTP节点信息中存在与MTP下载文件集合的名称、路径相同的记录,获取对应文件的唯一字符串ID标记加入下载队列,根据下载队列的队列值使用MTP系统框架接口下载文件。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
Claims (13)
1.一种用于快速下载文件的方法,其特征在于,包括:
S1:对获取需要下载的文件信息进行文本分类,响应于文件大小大于指定阈值且文件所在目录个数小于第二指定阈值,将所述文件加入MTP下载文件集合;
S2:对所述MTP下载文件集合进行去重获取目录队列信息,根据所述目录队列信息的路径头目录进行目录分割处理,获得该路径的根节点唯一标识ID;
S3:根据所述根节点唯一标识ID和分割路径信息进行逐级递归映射,获取所述目录队列信息的所有目录映射的MTP节点信息,响应于所述MTP节点信息中存在与所述MTP下载文件集合的名称、路径相同的记录,获取对应文件的唯一字符串ID标记加入下载队列,
S4:根据所述下载队列的队列值使用MTP系统框架接口下载文件。
2.根据权利要求1所述的用于快速下载文件的方法,其特征在于,所述步骤S1还包括响应于文件大小小于指定阈值或文件所在目录个数大于第二指定阈值的文件加入其他下载文件集合。
3.根据权利要求1所述的用于快速下载文件的方法,其特征在于,所述步骤S2中根据所述目录队列信息的路径头目录进行目录分割处理具体是对所述目录队列信息的每个路径按目录结构从根节点分割获取第一个目录名,映射MTP系统节点根目录的名称,获得该路径的根节点唯一标识ID。
4.根据权利要求2所述的用于快速下载文件的方法,其特征在于,所述步骤S3中MTP节点信息包括映射成功的目录所有的文件唯一标识,关联文件名称和路径,标记为MTPObjects。
5.根据权利要求4所述的用于快速下载文件的方法,其特征在于,所述步骤S3具体包括:遍历所述MTP下载文件集合,查找MTP Objects里文件名是否存在与所述MTP下载文件集合名称相同的记录,若存在相同名称,进一步判断全路径是否相同,若相同,则获取对应文件唯一字符串ID标记加入下载队列;若存在名称或路径不相同,则将对应的文件信息加入所述其他下载文件集合。
6.根据权利要求5所述的用于快速下载文件的方法,其特征在于,对于其他下载文件集合利用自定义的多线程文件下载。
7.一种计算机可读存储介质,其上存储有一或多个计算机程序,其特征在于,该一或多个计算机程序被计算机处理器执行时实施权利要求1至6任一项所述的方法。
8.一种用于快速下载文件的系统,其特征在于,所述系统包括:
主机设备,配置用于发送需要下载的文件或者目录集合队列给客户端设备,对获取需要下载的文件信息进行文本分类,响应于文件大小大于指定阈值且文件所在目录个数小于第二指定阈值,将所述文件加入MTP下载文件集合,响应于MTP节点信息中存在与所述MTP下载文件集合的名称、路径相同的记录,获取对应文件的唯一字符串ID标记加入下载队列;
客户端设备,配置用于系统文件接口进行文件基本信息遍历,对所述MTP下载文件集合进行去重获取目录队列信息,根据所述目录队列信息的路径头目录进行目录分割处理,获得该路径的根节点唯一标识ID,根据所述根节点唯一标识ID和分割路径信息进行逐级递归映射,获取所述目录队列信息的所有目录映射的MTP节点信息;
所述主机设备根据所述下载队列的队列值发送给所述客户端设备使用MTP系统框架接口下载文件。
9.根据权利要求8所述的用于快速下载文件的系统,其特征在于,所述主机设备还包括响应于文件大小小于指定阈值或文件所在目录个数大于第二指定阈值的文件加入其他下载文件集合。
10.根据权利要求8所述的用于快速下载文件的系统,其特征在于,所述客户端设备根据所述目录队列信息的路径头目录进行目录分割处理,对所述目录队列信息的每个路径按目录结构从根节点分割获取第一个目录名,映射MTP系统节点根目录的名称,获得该路径的根节点唯一标识ID。
11.根据权利要求9所述的用于快速下载文件的系统,其特征在于,MTP节点信息包括映射成功的目录所有的文件唯一标识,关联文件名称和路径,标记为MTP Objects。
12.根据权利要求11所述的用于快速下载文件的系统,其特征在于,所述主机设备遍历所述MTP下载文件集合,查找MTP Objects里文件名是否存在与所述MTP下载文件集合名称相同的记录,若存在相同名称,进一步判断全路径是否相同,若相同,则获取对应文件唯一字符串ID标记加入下载队列;若存在名称或路径不相同,则将对应的文件信息加入所述其他下载文件集合。
13.根据权利要求12所述的用于快速下载文件的系统,其特征在于,对于其他下载文件集合利用自定义的多线程文件下载。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111372038.8A CN114095494B (zh) | 2021-11-18 | 2021-11-18 | 一种用于快速下载文件的方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111372038.8A CN114095494B (zh) | 2021-11-18 | 2021-11-18 | 一种用于快速下载文件的方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114095494A true CN114095494A (zh) | 2022-02-25 |
CN114095494B CN114095494B (zh) | 2023-08-22 |
Family
ID=80301956
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111372038.8A Active CN114095494B (zh) | 2021-11-18 | 2021-11-18 | 一种用于快速下载文件的方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114095494B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102693302A (zh) * | 2012-05-21 | 2012-09-26 | 浙江省公众信息产业有限公司 | 快速文件比对方法、系统及客户端 |
CN103929427A (zh) * | 2014-04-23 | 2014-07-16 | 无锡天脉聚源传媒科技有限公司 | 一种动态多线程下载装置及其下载方法 |
US20140250324A1 (en) * | 2011-07-05 | 2014-09-04 | Sheng-Yuan SHIH | Smartphone data backup and restoration system |
US20160077982A1 (en) * | 2014-09-11 | 2016-03-17 | Hisense Mobile Communications Technology Co., Ltd. | Method for setting universal serial bus (usb) interface of electronic device, and electronic device |
WO2020025068A1 (zh) * | 2018-08-03 | 2020-02-06 | 中兴通讯股份有限公司 | 文件展示的方法、装置、系统、移动终端和显示终端 |
CN110865981A (zh) * | 2019-11-12 | 2020-03-06 | 广州三星通信技术研究有限公司 | 用于移动终端的文件访问方法及其移动终端 |
CN113301162A (zh) * | 2021-05-31 | 2021-08-24 | 深圳市云语科技有限公司 | 一种可在高延迟场景下快速下载大量小文件的传输方法 |
-
2021
- 2021-11-18 CN CN202111372038.8A patent/CN114095494B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140250324A1 (en) * | 2011-07-05 | 2014-09-04 | Sheng-Yuan SHIH | Smartphone data backup and restoration system |
CN102693302A (zh) * | 2012-05-21 | 2012-09-26 | 浙江省公众信息产业有限公司 | 快速文件比对方法、系统及客户端 |
CN103929427A (zh) * | 2014-04-23 | 2014-07-16 | 无锡天脉聚源传媒科技有限公司 | 一种动态多线程下载装置及其下载方法 |
US20160077982A1 (en) * | 2014-09-11 | 2016-03-17 | Hisense Mobile Communications Technology Co., Ltd. | Method for setting universal serial bus (usb) interface of electronic device, and electronic device |
WO2020025068A1 (zh) * | 2018-08-03 | 2020-02-06 | 中兴通讯股份有限公司 | 文件展示的方法、装置、系统、移动终端和显示终端 |
CN110865981A (zh) * | 2019-11-12 | 2020-03-06 | 广州三星通信技术研究有限公司 | 用于移动终端的文件访问方法及其移动终端 |
CN113301162A (zh) * | 2021-05-31 | 2021-08-24 | 深圳市云语科技有限公司 | 一种可在高延迟场景下快速下载大量小文件的传输方法 |
Non-Patent Citations (1)
Title |
---|
田伟;曾琪;李玲香;李艳芳;: "一种实用的Android数据安全恢复方法", 电脑编程技巧与维护, no. 02, pages 114 - 116 * |
Also Published As
Publication number | Publication date |
---|---|
CN114095494B (zh) | 2023-08-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109254733B (zh) | 用于存储数据的方法、装置和系统 | |
CN108965355B (zh) | 用于数据传输的方法、装置及计算机可读存储介质 | |
CN111339186B (zh) | 工作流引擎数据同步方法、装置、介质及电子设备 | |
US10838963B2 (en) | Optimized access for hierarchical low cardinality value synopsis in analytical databases | |
US9244679B1 (en) | Systems and methods for automatically identifying changes in deliverable files | |
US10169053B2 (en) | Loading a web page | |
CN113158101A (zh) | 一种可视化页面渲染方法、装置、设备及存储介质 | |
CN110569218B (zh) | 一种ext文件系统离线修改方法、装置及存储介质 | |
CN109815240A (zh) | 用于管理索引的方法、装置、设备和存储介质 | |
CN112965761A (zh) | 一种数据处理方法、系统、电子设备及存储介质 | |
CN110990346A (zh) | 基于区块链的文件数据处理方法、装置、设备及存储介质 | |
CN114090155A (zh) | 机器人流程自动化界面元素定位方法、装置和存储介质 | |
US11675772B2 (en) | Updating attributes in data | |
CN109800005A (zh) | 一种客户端热更新方法及装置 | |
CN115080114B (zh) | 应用程序的移植处理方法、装置和介质 | |
CN114095494A (zh) | 一种用于快速下载文件的方法和系统 | |
CN114169318A (zh) | 进程识别方法、装置、设备、介质和程序 | |
CN112988583A (zh) | 数据库语法兼容性测试的方法和装置 | |
CN111209075B (zh) | 多语言界面维护方法、系统、存储介质和智能设备 | |
CN110471708B (zh) | 基于可重用组件的配置项获取的方法及装置 | |
CN113297267A (zh) | 数据缓存和任务处理方法、装置、设备以及存储介质 | |
CN113326004B (zh) | 云计算环境下高效日志集中化方法及设备 | |
CN115454827B (zh) | 兼容性检测方法、系统、设备和介质 | |
CN115421785B (zh) | 应用程序的移植处理方法、装置和介质 | |
CN112600918B (zh) | 一种基于bs架构的工控边缘大数据高效处理方法与系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |