CN107360191A - 一种文件获取方法、装置及存储设备 - Google Patents

一种文件获取方法、装置及存储设备 Download PDF

Info

Publication number
CN107360191A
CN107360191A CN201710747871.3A CN201710747871A CN107360191A CN 107360191 A CN107360191 A CN 107360191A CN 201710747871 A CN201710747871 A CN 201710747871A CN 107360191 A CN107360191 A CN 107360191A
Authority
CN
China
Prior art keywords
slicing files
file
identification information
certain
files
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
Application number
CN201710747871.3A
Other languages
English (en)
Other versions
CN107360191B (zh
Inventor
刘宪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201710747871.3A priority Critical patent/CN107360191B/zh
Publication of CN107360191A publication Critical patent/CN107360191A/zh
Application granted granted Critical
Publication of CN107360191B publication Critical patent/CN107360191B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明实施例公开了文件获取方法、装置及存储设备,应用于信息处理技术领域。在本实施例的方法中,终端设备会根据待获取文件的大小及分片策略,将待获取文件划分为多个分片文件,可以并行地向服务器获取这多个分片文件,进而将多个分片文件进行拼接后可以得到待获取文件;且终端设备在获取分片文件的同时,可以按照各个分片文件的位置顺序计算基于各个分片文件的标识信息,进而计算得到待获取文件的第一整体标识信息为基于最后一个分片文件的标识信息。这样获取待获取文件所包含的分片文件与计算基于分片文件的标识信息可以并行执行,节省了终端设备获取待获取文件的整个过程的时间。

Description

一种文件获取方法、装置及存储设备
技术领域
本发明涉及信息处理技术领域,特别涉及一种文件获取方法、装置及存储设备。
背景技术
现有技术中,用户可以通过客户端从相应的服务器下载文件,当客户端将下载的文件储存到客户端的存储空间后,还会对下载的文件进行哈希计算得到文件的哈希值。这样客户端就可以将文件的哈希值作为文件的标识,且可以作为该文件下载完整性的保证。
但是现有技术中,从文件的开始下载到得到哈希值所需要的时间比较长,特别是文件比较大的时候。
发明内容
本发明实施例提供一种文件获取方法、装置及存储设备,实现了获取待获取文件所包括的分片文件与计算基于分片文件的标识信息的并行执行。
本发明实施例第一方面提供一种文件获取方法,包括:
确定待获取文件的大小;
根据所述待获取文件的大小及分片策略,确定所述待获取文件包含的多个分片文件分别在所述待获取文件中的位置信息;
根据所述多个分片文件的位置信息向服务器分别获取相应的分片文件,并将获取的多个分片文件拼接形成所述待获取文件;
在获取所述多个分片文件的同时,按照所述多个分片文件的位置顺序依次根据某一分片文件计算基于所述某一分片文件的标识信息,以得到所述待获取文件的第一整体标识信息为基于最后一个分片文件的标识信息,所述基于所述某一分片文件的标识信息用于标识所述待获取文件中从开始分片文件到所述某一分片文件的文件。
本发明实施例第二方面提供一种文件获取装置,包括:
大小确定单元,用于确定待获取文件的大小;
位置确定单元,用于根据所述待获取文件的大小及分片策略,确定所述待获取文件包含的多个分片文件分别在所述待获取文件中的位置信息;
文件获取单元,用于根据所述多个分片文件的位置信息向服务器分别获取相应的分片文件,并将获取的多个分片文件拼接形成所述待获取文件;
标识计算单元,用于在获取所述多个分片文件的同时,按照所述多个分片文件的位置顺序依次根据某一分片文件计算基于所述某一分片文件的标识信息,以得到所述待获取文件的第一整体标识信息为基于最后一个分片文件的标识信息,所述基于所述某一分片文件的标识信息用于标识所述待获取文件中从开始分片文件到所述某一分片文件的文件。
本发明实施例第三方面提供一种存储设备,所述存储设备储存多条指令,所述指令适于由处理器加载并执行如本发明实施例第一方面所述的文件获取方法。
本发明实施例第四方面提供一种终端设备,包括处理器和存储设备,所述处理器,用于实现各个指令;
所述存储设备用于储存多条指令,所述指令用于由处理器加载并执行如本发明实施例第一方面所述的文件获取方法。
可见,在本实施例的方法中,终端设备会根据待获取文件的大小及分片策略,将待获取文件划分为多个分片文件,可以并行地向服务器获取这多个分片文件,进而将多个分片文件进行拼接后可以得到待获取文件;且终端设备在获取分片文件的同时,可以按照各个分片文件的位置顺序计算基于各个分片文件的标识信息,进而计算得到待获取文件的第一整体标识信息为基于最后一个分片文件的标识信息。这样获取待获取文件所包含的分片文件与计算基于分片文件的标识信息可以并行执行,节省了终端设备获取待获取文件的整个过程的时间。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一个实施例提供的一种文件获取方法的流程图;
图2是本发明应用实施例提供的一种文件获取方法的流程图;
图3是本发明应用实施例中拼接待下载文件的示意图;
图4是本发明应用实施例中获取待下载文件与计算分片文件的哈希值的示意图;
图5是本发明应用实施例中计算基于各个分片文件的哈希值的示意图;
图6是本发明实施例提供的一种文件获取装置的结构示意图;
图7是本发明实施例提供的另一种文件获取装置的结构示意图;
图8是本发明实施例提供的一种终端设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排它的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本发明实施例提供一种文件获取方法,主要可以应用于终端设备从服务器获取文件的场景,具体地,终端设备确定待获取文件的大小,根据待获取文件的大小及分片策略,确定待获取文件包含的多个分片文件分别在待获取文件中的位置信息;根据多个分片文件的位置信息向服务器分别获取相应的分片文件,并将获取的多个分片文件拼接形成待获取文件;在获取多个分片文件的同时,按照多个分片文件的位置顺序依次根据某一分片文件计算基于该分片文件的标识信息,以得到待获取文件的第一整体标识为基于最后一个分片文件的标识信息,其中,基于某一分片文件的标识信息用于标识待获取文件中从开始分片文件到该分片文件的文件。
这样获取待获取文件所包含的分片文件与计算基于分片文件的标识信息可以并行执行,节省了终端设备获取待获取文件的整个过程的时间。
本发明的一个实施例提供一种文件获取方法,主要是终端设备所执行的方法,流程图如图1所示,包括:
步骤101,确定待获取文件的大小。
可以理解,如果终端设备需要向服务器获取某个文件(即待获取文件)时,比如用户点击终端设备显示的用户界面上的文件下载按钮,则终端设备会发起本实施例的步骤。
在本实施例中,终端设备需要先确定待获取文件的大小。具体地,终端设备可以向服务器发送大小获取请求,该大小获取请求用于请求获取待获取文件的大小,则服务器会根据大小获取请求向终端设备返回待获取文件的大小。
步骤102,根据待获取文件的大小及分片策略,确定待获取文件包含的多个分片文件分别在待获取文件中的位置信息。
这里的分片策略是指将待获取文件划分为多个分片文件的策略,具体可以包括:按照固定大小(比如512KB)对待获取文件进行分片,且还可以有其它分片策略。
每个分片文件的位置信息可以是数据范围,比如一个大小为2048KB的待获取文件,按照固定的大小比如512KB将该待获取文件可以分为4个分片文件,则各个分片文件的位置信息分别为4个数据范围:0KB到512KB,512KB到1024KB,1024KB到1536KB,1536KB到2048KB。
其中,如果待获取文件不是上述固定大小的整数倍,这样待获取文件包含的最后一个分片文件的大小达不到上述固定大小。比如一个大小为1300KB的待获取文件,按照固定的大小即512KB将该待获取文件可以分为3个分片文件,则各个分片文件的位置信息分别为3个数据范围:0KB到512KB,512KB到1024KB,1024KB到1300KB。
步骤103,根据多个分片文件的位置信息向服务器分别获取相应的分片文件,并将获取的多个分片文件拼接形成上述待获取文件。
具体地,终端设备在获取分片文件时,可以开启多个线程,每个线程都会向服务器发送分片文件获取请求,该分片文件获取请求用于请求获取相应的分片文件,该分片文件获取请求中包括该分片文件的位置信息。这样服务器在接收到分片文件获取请求后,会根据其中的位置信息向终端设备返回相应位置的分片文件,由终端设备储存接收到的分片文件。其中,线程的个数小于或等于分片文件的个数,且多个线程可以并行运行。
当终端设备获取到上述待获取文件包含的所有分片文件后,可以将获取的所有分片文件进行拼接形成待获取文件。具体地,终端设备在进行拼接操作时,可以按照多个分片文件的位置顺序进行拼接,例如,一个1200KB的待获取文件按照512KB的固定大小进行分片得到3个分片文件,则在进行拼接时,终端设备会按照3个分片文件的位置顺序,先将0到512KB的分片文件1与512KB到1024KB的分片文件2进行拼接后,再与1024KB到1200KB的分片文件3进行拼接后,形成待获取文件。其中,多个分片文件的位置顺序是指多个分片文件在待获取文件中的位置顺序。
需要说明的是,由于终端设备可以根据待获取文件的大小及分片策略,确定分片文件的个数,进而可以根据分片文件的大小确定终端设备是否获取到待获取文件所含的所有分片文件。
步骤104,在获取多个分片文件的同时,按照多个分片文件的位置顺序依次根据某一分片文件计算基于某一分片文件的标识信息,以得到所述待获取文件的第一整体标识信息为基于最后一个分片文件的标识信息,其中,基于某一分片文件的标识信息用于标识待获取文件中从开始分片文件到某一分片文件的文件,具体可以是根据某一分片文件得到的基于该分片文件的哈希值等。
具体地,如果上述某一分片文件为待获取文件中排序在首位的分片文件,终端设备可以根据该分片文件对预置的初始状态信息进行更新得到更新后的状态信息,将更新后的状态信息作为基于该分片文件的标识信息;如果上述某一分片文件非待获取文件中排序在首位的分片文件,终端设备会根据该分片文件及基于另一分片文件的标识信息计算得到基于该分片文件的标识信息,其中,另一分片文件为某一分片文件的前一个分片文件。其中预置的初始状态信息是指在首次计算基于首位的分片文件的标识信息的过程中需要的一个输入值,可以是终端设备预先设定的一个值;在根据分片文件对初始状态信息进行更新时,可以按照一定的更新策略进行更新,在此更新策略不进行具体的限制。
需要说明的是,终端设备在计算基于某一分片文件的标识信息时,需要终端设备先获取到该分片文件后再进行计算,且当终端设备在计算基于某一分片文件的标识信息的同时,终端设备可以获取另一分片文件。另外,终端设备在计算基于任一分片文件的标识信息时,需要按照多个分片文件的位置顺序分别计算。例如,终端设备当前已获取到分片文件4和分片文件1,则终端设备会先计算基于分片文件1的标识信息,等待获取到分片文件2和3后,再计算基于分片文件2和3的标识信息,然后再计算基于分片文件4的标识信息。
另外,需要说明的是,如果上述某一分片文件为待获取文件中的最后一个分片文件,则终端设备在计算得到基于最后一个分片文件的标识信息即为待获取文件的第一整体标识信息,用于标识整个待获取文件。这样,终端设备可以根据当前计算得到的标识信息对应的分片文件的位置信息,来确定是否计算得到待下载文件的第一整体标识信息,比较简单方便。例如,一个待获取文件的大小为yKB,而当前计算得到的标识信息对应的分片文件的位置信息为数据范围xKB到yKB(x小于y),则说明已得到该待获取文件的第一整体标识信息。
进一步地,终端设备还可以通过该第一整体标识信息来保证待获取文件获取的完整性,具体地,终端设备还会获取服务器中储存的待获取文件的第二整体标识信息,然后将第一整体标识信息与第二整体标识信息进行比较,如果第一整体标识信息与第二整体标识信息不一致,则说明终端设备未能完整地获取待获取文件,或获取到的待获取文件错误,需要重新返回执行步骤103,即根据多个分片文件的位置信息向服务器分别获取相应的分片文件,且还会执行步骤104;如果第一整体标识信息与第二整体标识信息一致,则结束流程。
可见,在本实施例的方法中,终端设备会根据待获取文件的大小及分片策略,将待获取文件划分为多个分片文件,可以并行地向服务器获取这多个分片文件,进而将多个分片文件进行拼接后可以得到待获取文件;且终端设备在获取分片文件的同时,可以按照各个分片文件的位置顺序计算基于各个分片文件的标识信息,进而计算得到待获取文件的第一整体标识信息为基于最后一个分片文件的标识信息。这样获取待获取文件所包含的分片文件与计算基于分片文件的标识信息可以并行执行,节省了终端设备获取待获取文件的整个过程的时间。
需要说明的是,终端设备在通过执行上述步骤101到104,获取到一个待获取文件包含的分片文件,并计算了基于各个分片文件的标识信息。在一个具体的实施例中,终端设备还可以储存分片文件与基于对应分片文件的标识信息的对应关系。或者,终端设备可以储存基于当前分片文件的标识信息,这里当前分片文件为终端设备当前计算得到的基于某一分片文件的标识信息。
这样当终端设备在执行上述步骤103中断时,即根据多个分片文件的位置信息向服务器分别获取相应的分片文件的中断时,终端设备当前计算得到基于第一分片文件的标识信息(即基于当前分片文件的标识信息)并进行储存。则在终端设备重新发起执行上述步骤103时,即根据所述多个分片文件的位置信息向服务器分别获取相应的分片文件时,会继续根据基于第一分片文件的标识信息及第二分片文件计算基于第二分片文件的标识信息,这里第二分片文件是第一分片文件的后一个分片文件。可以不用重新计算基于第一分片文件的标识信息,进一步地节省了时间。
例如,终端设备在获取某一文件中所包含的分片文件(分片文件1到9)中断时,已计算并储存了基于分片文件1到7的标识信息,或当前计算得到分片文件7的标识信息并进行储存,这样终端设备在重新发起获取该文件的分片文件的步骤时,可以不用重新计算基于分片文件1到7的标识信息,而可以根据基于分片文件7的标识信息继续计算基于分片文件8的标识信息,进而再得到该整个文件的标识信息,大大地节省了时间。
以下以一个具体的实施例来说明本发明的文件获取方法,在本实施例中,终端设备获取文件主要是从服务器下载文件,且计算的基于各个分片文件的标识信息具体为基于各个分片文件的哈希值,具体地,终端设备会通过如下步骤来实现文件获取方法,流程图如图2所示,包括:
步骤201,用户通过操作终端设备,比如点击终端设备显示的某一用户界面上某一文件的下载按钮,发起对该待下载文件的获取,终端设备会先向服务器获取该待下载文件的大小。
步骤202,终端设备根据待下载文件的大小及分片策略,确定待下载文件所包括的多个分片文件的位置信息,具体为多个分片文件的数据范围,且还可以确定这多个分片文件的个数。
具体地,本实施例中,预置的分片策略可以是将待下载文件按照固定的大小512KB进行分片。
步骤203,终端设备会根据多个分片文件的位置信息向服务器分别获取相应的分片文件,并储存获取的分片文件。当根据上述步骤202确定的分片文件的个数确定终端设备已储存待下载文件的所有分片文件,终端设备会按照多个分片文件的顺序将多个分片文件拼接形成完整的待下载文件。
例如图3所示,终端设备将分片文件1与分片文件2拼接,再与分片文件3拼接,这样按照顺序逐个地将n个分片文件进行拼接形成待下载文件。
具体地,终端设备会开启多个下载线程,下载线程的个数可以小于或等于分片文件的个数,每个线程会根据某一分片文件的位置信息向服务器获取相应位置的分片文件。终端设备还会开启储存线程,将从服务器获取的各个分片文件储存到本地存储空间中。
步骤204,终端设备在向服务器获取各个分片文件的同时,还会按照多个分片文件的位置顺序依次根据某一分片文件计算基于某一分片文件的标识信息,具体为哈希值。
具体地,终端设备可以按照多个分片文件的位置顺序,计算基于各个分片文件的哈希值。
例如图4所示,终端设备开启了3个下载线程和1个储存线程,其中,下载线程1在获取到分片文件3后,会向服务器获取分片文件4;同时下载线程2在获取分片文件1,同时下载线程3在获取分片文件2。
储存线程会在下载线程1获取到分片文件3后先储存分片文件3,由于分片文件3在待下载文件中的位置是排在第三位,因此终端设备不会先计算基于分片文件3的哈希值,而是等待下载线程2获取到分片文件1,并由储存线程储存了分片文件1后,先计算基于分片文件1的哈希值,并由储存线程进行储存。当下载线程3获取到分片文件2后,终端设备再分别计算基于分片文件2和3的哈希值,由储存线程进行储存。当下载线程1获取到分片文件4后,终端设备再计算基于分片文件4的哈希值,并由储存线程进行储存。在这个过程中,终端设备是按照分片文件的顺序,即分片文件1→分片文件2→分片文件3→分片文件4的顺序,分别计算基于各个分片文件的哈希值的。
参考图5所示,假设待下载文件包括n个分片文件,则终端设备在计算基于各个分片文件的哈希值的过程中,先会根据分片文件1对预置的初始状态信息进行更新得到更新1次后的状态信息,将该更新1次后的状态信息作为基于分片文件1的哈希值;然后将根据分片文件2对更新1次后的状态信息进行再次更新得到更新2次后的状态信息,将该更新2次后的状态信息作为基于分片文件2的哈希值;依次类推得到基于分片文件n的哈希值,即为待下载文件的第一整体哈希值。其中,根据任一分片文件对状态信息进行更新时,可以按照一定的预置策略进行更新,在此不进行赘述。
这样,终端设备计算得到基于待下载文件中最后一个分片文件的哈希值之后,即得到了待下载文件的第一整体标识信息,即第一整体哈希值。且终端设备可以根据当前计算得到的哈希值对应的分片文件的位置信息,来确定是否得到待下载文件的第一整体哈希值,比较简单方便。例如,一个待下载文件的大小为1024KB,而当前计算得到的哈希值对应的分片文件的位置信息为数据范围512KB到1024KB,则说明已计算得到待下载文件的第一整体哈希值。
步骤205,当终端设备得到第一整体哈希值后,还会获取到服务器储存的该待下载文件的第二整体哈希值,将第一整体哈希值与第二整体哈希值进行比较,如果第一整体哈希值与第二整体哈希值不一致,则终端设备会返回执行上述步骤203到205,直到终端设备得到第一整体哈希值与第二整体哈希值一致为止。如果第一整体哈希值与第二整体哈希值一致,则结束流程。
进一步地,终端设备在执行上述步骤203和204的过程中,还可以储存分片文件与基于对应分片文件的哈希值的对应关系,或储存基于当前分片文件的哈希值。
这样当终端设备在执行上述步骤203中断时,终端设备计算得到的基于当前分片文件的哈希值为基于第一分片文件的哈希值,终端设备会储存基于第一分片文件的哈希值。则在终端设备重新发起执行上述步骤203时,继续根据基于第一分片文件的哈希值及第二分片文件计算基于第二分片文件的哈希值,这里第二分片文件是第一分片文件的后一个分片文件。可以不用重新计算基于第一分片文件的哈希值,进一步地节省了时间。
本发明实施例还提供一种文件获取装置,比如上述的终端设备,其结构示意图如图6所示,具体可以包括:
大小确定单元10,用于确定待获取文件的大小;
位置确定单元11,用于根据所述大小确定单元10获取的待获取文件的大小分片策略,确定所述待获取文件包含的多个分片文件分别在所述待获取文件中的位置信息;
文件获取单元12,用于根据所述位置确定单元11确定的多个分片文件的位置信息向服务器分别获取相应的分片文件,并将获取的多个分片文件拼接形成所述待获取文件;
标识计算单元13,用于在文件获取单元12获取所述多个分片文件的同时,按照所述多个分片文件的位置顺序依次根据某一分片文件计算基于所述某一分片文件的标识信息,以得到所述待获取文件的第一整体标识信息为基于最后一个分片文件的标识信息,所述基于所述某一分片文件的标识信息用于标识所述待获取文件中从开始分片文件到所述某一分片文件的文件。
该标识计算单元13,具体用于如果所述某一分片文件为所述待获取文件中排序在首位的分片文件,根据所述某一分片文件对预置的初始状态信息进行更新得到更新后的状态信息,将所述更新后的状态信息作为基于所述某一分片文件的标识信息;如果所述某一分片文件非所述待获取文件中排序在首位的分片文件,根据所述某一分片文件及基于另一分片文件的标识信息计算得到基于所述某一分片文件的标识信息,所述另一分片文件为所述某一分片文件的前一个分片文件。
可见,在本实施例的装置会根据待获取文件的大小及分片策略,将待获取文件划分为多个分片文件,可以由文件获取单元12并行地向服务器获取这多个分片文件,进而将多个分片文件进行拼接后可以得到待获取文件;且在文件获取单元12获取分片文件的同时,标识计算单元13可以根据各个分片文件的位置顺序计算基于各个分片文件的标识信息,以得到待获取文件的第一整体标识信息为基于最后一个分片文件的标识信息。这样获取待获取文件所包含的分片文件与计算基于分片文件的标识信息可以并行执行,节省了本实施例的装置获取待获取文件的整个过程的时间。
参考图7所示,在一个具体的实施例中,文件获取装置除了可以包括如图6所示的结构外,还可以包括整体标识获取单元14及储存单元15,具体地:
整体标识获取单元14,用于获取所述服务器中储存的所述待获取文件的第二整体标识信息;
则所述文件获取单元12,还用于如果所述整体标识获取单元14获取的第一整体标识信息与第二整体标识信息不一致,重新根据所述多个分片文件的位置信息向服务器分别获取相应的分片文件。
储存单元15,用于分别储存所述分片文件与基于对应分片文件的标识信息的对应关系,或储存基于当前分片文件的标识信息。
这样,当所述文件获取单元12执行所述根据所述多个分片文件的位置信息向服务器分别获取相应的分片文件的步骤中断时,所述标识计算单元13计算得到的基于当前分片文件的标识信息为基于第一分片文件的标识信息,储存单元15储存所述基于第一分片文件的标识信息;则所述标识计算单元13,还用于在所述文件获取单元12重新执行所述根据所述多个分片文件的位置信息向服务器分别获取相应的分片文件的步骤时,继续根据所述基于第一分片文件的标识信息及第二分片文件计算基于第二分片文件的标识信息,所述第二分片文件是所述第一分片文件的后一个分片文件,而不用再计算基于第一分片文件的标识信息,大大地节省了时间。
本发明实施例还提供一种终端设备,其结构示意图如图8所示,该终端设备可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(centralprocessing units,CPU)20(例如,一个或一个以上处理器)和存储器21,一个或一个以上存储应用程序221或数据222的存储介质22(例如一个或一个以上海量存储设备)。其中,存储器21和存储介质22可以是短暂存储或持久存储。存储在存储介质22的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对终端设备中的一系列指令操作。更进一步地,中央处理器20可以设置为与存储介质22通信,在终端设备上执行存储介质22中的一系列指令操作。
具体地,在存储介质22中储存的应用程序221包括文件获取的应用程序,且该程序可以包括上述文件获取装置中的大小确定单元10,位置确定单元11,文件获取单元12,标识计算单元13,整体标识获取单元14及储存单元15,在此不进行赘述。更进一步地,中央处理器20可以设置为与存储介质22通信,在终端设备上执行存储介质22中储存的文件获取的应用程序对应的一系列操作。
终端设备还可以包括一个或一个以上电源23,一个或一个以上有线或无线网络接口24,一个或一个以上输入输出接口25,和/或,一个或一个以上操作系统223,例如WindowsServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
上述方法实施例中所述的由终端设备所执行的步骤可以基于该图8所示的终端设备的结构。
本发明实施例还提供一种存储设备,所述存储设备储存多条指令,所述指令适于由处理器加载并执行上述终端设备所执行的文件获取方法。
本发明实施例还提供一种终端设备,包括处理器和存储设备,所述处理器,用于实现各个指令;
所述存储设备用于储存多条指令,所述指令用于由处理器加载并执行上述的文件获取方法。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(ROM)、随机存取存储器RAM)、磁盘或光盘等。
以上对本发明实施例所提供的文件获取方法、装置及存储设备进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (12)

1.一种文件获取方法,其特征在于,包括:
确定待获取文件的大小;
根据所述待获取文件的大小及分片策略,确定所述待获取文件包含的多个分片文件分别在所述待获取文件中的位置信息;
根据所述多个分片文件的位置信息向服务器分别获取相应的分片文件,并将获取的多个分片文件拼接形成所述待获取文件;
在获取所述多个分片文件的同时,按照所述多个分片文件的位置顺序依次根据某一分片文件计算基于所述某一分片文件的标识信息,以得到所述待获取文件的第一整体标识信息为基于最后一个分片文件的标识信息,所述基于所述某一分片文件的标识信息用于标识所述待获取文件中从开始分片文件到所述某一分片文件的文件。
2.如权利要求1所述的方法,其特征在于,所述根据某一分片文件计算基于所述某一分片文件的标识信息,具体包括:
如果所述某一分片文件为所述待获取文件中排序在首位的分片文件,则根据所述某一分片文件对预置的初始状态信息进行更新得到更新后的状态信息,将所述更新后的状态信息作为基于所述某一分片文件的标识信息;
如果所述某一分片文件非所述待获取文件中排序在首位的分片文件,则根据所述某一分片文件及基于另一分片文件的标识信息计算得到基于所述某一分片文件的标识信息,所述另一分片文件为所述某一分片文件的前一个分片文件。
3.如权利要求1所述的方法,其特征在于,所述方法还包括:
获取所述服务器中储存的所述待获取文件的第二整体标识信息;
如果所述第一整体标识信息与第二整体标识信息不一致,重新根据所述多个分片文件的位置信息向服务器分别获取相应的分片文件。
4.如权利要求1至3任一项所述的方法,其特征在于,所述方法还包括:
分别储存所述分片文件与基于对应分片文件的标识信息的对应关系,或储存基于当前分片文件的标识信息。
5.如权利要求4所述的方法,其特征在于,所述方法还包括:
当执行所述根据所述多个分片文件的位置信息向服务器分别获取相应的分片文件的步骤中断时,计算得到的基于当前分片文件的标识信息为基于第一分片文件的标识信息,储存所述第一分片文件的标识信息;
则在重新执行所述根据所述多个分片文件的位置信息向服务器分别获取相应的分片文件的步骤时,继续根据所述基于第一分片文件的标识信息及第二分片文件计算基于第二分片文件的标识信息,所述第二分片文件是所述第一分片文件的后一个分片文件。
6.一种文件获取装置,其特征在于,包括:
大小确定单元,用于确定待获取文件的大小;
位置确定单元,用于根据所述待获取文件的大小及分片策略,确定所述待获取文件包含的多个分片文件分别在所述待获取文件中的位置信息;
文件获取单元,用于根据所述多个分片文件的位置信息向服务器分别获取相应的分片文件,并将获取的多个分片文件拼接形成所述待获取文件;
标识计算单元,用于在获取所述多个分片文件的同时,按照所述多个分片文件的位置顺序依次根据某一分片文件计算基于所述某一分片文件的标识信息,以得到所述待获取文件的第一整体标识信息为基于最后一个分片文件的标识信息,所述基于所述某一分片文件的标识信息用于标识所述待获取文件中从开始分片文件到所述某一分片文件的文件。
7.如权利要求6所述的装置,其特征在于,
所述标识计算单元,具体用于如果所述某一分片文件为所述待获取文件中排序在首位的分片文件,根据所述某一分片文件对预置的初始状态信息进行更新得到更新后的状态信息,将所述更新后的状态信息作为基于所述某一分片文件的标识信息;如果所述某一分片文件非所述待获取文件中排序在首位的分片文件,根据所述某一分片文件及基于另一分片文件的标识信息计算得到基于所述某一分片文件的标识信息,所述另一分片文件为所述某一分片文件的前一个分片文件。
8.如权利要求6所述的装置,其特征在于,所述装置还包括:整体标识获取单元,用于获取所述服务器中储存的所述待获取文件的第二整体标识信息;
所述文件获取单元,还用于如果所述第一整体标识信息与第二整体标识信息不一致,重新根据所述多个分片文件的位置信息向服务器分别获取相应的分片文件。
9.如权利要求6至8任一项所述的装置,其特征在于,还包括:
储存单元,用于分别储存所述分片文件与基于对应分片文件的标识信息的对应关系,或储存基于当前分片文件的标识信息。
10.如权利要求9所述的装置,其特征在于,
当所述文件获取单元执行所述根据所述多个分片文件的位置信息向服务器分别获取相应的分片文件的步骤中断时,所述标识计算单元计算得到的基于当前分片文件的标识信息为基于第一分片文件的标识信息,所述储存单元储存所述基于第一分片文件的标识信息;
则所述标识计算单元,还用于在所述文件获取单元重新执行所述根据所述多个分片文件的位置信息向服务器分别获取相应的分片文件的步骤时,继续根据所述基于第一分片文件的标识信息及第二分片文件计算基于第二分片文件的标识信息,所述第二分片文件是所述第一分片文件的后一个分片文件。
11.一种存储设备,其特征在于,所述存储设备储存多条指令,所述指令适于由处理器加载并执行如权利要求1至5任一项所述的文件获取方法。
12.一种终端设备,其特征在于,包括处理器和存储设备,所述处理器,用于实现各个指令;
所述存储设备用于储存多条指令,所述指令用于由处理器加载并执行如权利要求1至5任一项所述的文件获取方法。
CN201710747871.3A 2017-08-28 2017-08-28 一种文件获取方法、装置及存储设备 Active CN107360191B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710747871.3A CN107360191B (zh) 2017-08-28 2017-08-28 一种文件获取方法、装置及存储设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710747871.3A CN107360191B (zh) 2017-08-28 2017-08-28 一种文件获取方法、装置及存储设备

Publications (2)

Publication Number Publication Date
CN107360191A true CN107360191A (zh) 2017-11-17
CN107360191B CN107360191B (zh) 2021-02-02

Family

ID=60287828

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710747871.3A Active CN107360191B (zh) 2017-08-28 2017-08-28 一种文件获取方法、装置及存储设备

Country Status (1)

Country Link
CN (1) CN107360191B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108712454A (zh) * 2018-02-13 2018-10-26 阿里巴巴集团控股有限公司 一种文件处理方法、装置及设备
CN109889566A (zh) * 2018-12-27 2019-06-14 北京奇安信科技有限公司 适于弱网环境下的图片文件处理方法及装置
CN110795405A (zh) * 2019-11-11 2020-02-14 厦门市美亚柏科信息股份有限公司 一种分片数据还原方法、终端设备及存储介质
CN112905542A (zh) * 2019-12-03 2021-06-04 华为技术有限公司 一种文件处理方法、装置、服务器、设备及存储介质
CN116933331A (zh) * 2023-07-28 2023-10-24 三峡高科信息技术有限责任公司 一种基于wasm和web worker的多线程文件哈希方法

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101227602A (zh) * 2007-01-18 2008-07-23 中兴通讯股份有限公司 文件存储方法和文件播放方法
CN103312792A (zh) * 2013-05-27 2013-09-18 深圳Tcl新技术有限公司 从外接存储设备中读取文件的方法及系统
CN103733175A (zh) * 2013-08-09 2014-04-16 华为技术有限公司 一种文件处理方法、装置及存储设备
CN104168093A (zh) * 2013-05-20 2014-11-26 腾讯科技(深圳)有限公司 一种文件传输方法及装置
CN104199863A (zh) * 2014-08-15 2014-12-10 小米科技有限责任公司 存储设备上的文件的查找方法、装置及路由器
CN104519090A (zh) * 2013-09-27 2015-04-15 深圳市腾讯计算机系统有限公司 文件传输方法及装置
US20160011923A1 (en) * 2014-07-09 2016-01-14 Qualcomm Incorporated Error handling for files exchanged over a network
US9484954B1 (en) * 2015-09-10 2016-11-01 Intel Corporation Methods and apparatus to parallelize data decompression
CN106201345A (zh) * 2016-06-30 2016-12-07 北京奇虎科技有限公司 移动存储设备中文件的处理方法及装置
CN106231440A (zh) * 2016-07-22 2016-12-14 华为技术有限公司 一种流媒体文件分片下载方法、装置及终端
CN106302589A (zh) * 2015-05-27 2017-01-04 腾讯科技(深圳)有限公司 文件传输方法及终端

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101227602A (zh) * 2007-01-18 2008-07-23 中兴通讯股份有限公司 文件存储方法和文件播放方法
CN104168093A (zh) * 2013-05-20 2014-11-26 腾讯科技(深圳)有限公司 一种文件传输方法及装置
CN103312792A (zh) * 2013-05-27 2013-09-18 深圳Tcl新技术有限公司 从外接存储设备中读取文件的方法及系统
CN103733175A (zh) * 2013-08-09 2014-04-16 华为技术有限公司 一种文件处理方法、装置及存储设备
CN104519090A (zh) * 2013-09-27 2015-04-15 深圳市腾讯计算机系统有限公司 文件传输方法及装置
US20160011923A1 (en) * 2014-07-09 2016-01-14 Qualcomm Incorporated Error handling for files exchanged over a network
CN104199863A (zh) * 2014-08-15 2014-12-10 小米科技有限责任公司 存储设备上的文件的查找方法、装置及路由器
CN106302589A (zh) * 2015-05-27 2017-01-04 腾讯科技(深圳)有限公司 文件传输方法及终端
US9484954B1 (en) * 2015-09-10 2016-11-01 Intel Corporation Methods and apparatus to parallelize data decompression
CN106201345A (zh) * 2016-06-30 2016-12-07 北京奇虎科技有限公司 移动存储设备中文件的处理方法及装置
CN106231440A (zh) * 2016-07-22 2016-12-14 华为技术有限公司 一种流媒体文件分片下载方法、装置及终端

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108712454A (zh) * 2018-02-13 2018-10-26 阿里巴巴集团控股有限公司 一种文件处理方法、装置及设备
CN108712454B (zh) * 2018-02-13 2020-11-17 创新先进技术有限公司 一种文件处理方法、装置及设备
CN109889566A (zh) * 2018-12-27 2019-06-14 北京奇安信科技有限公司 适于弱网环境下的图片文件处理方法及装置
CN110795405A (zh) * 2019-11-11 2020-02-14 厦门市美亚柏科信息股份有限公司 一种分片数据还原方法、终端设备及存储介质
CN110795405B (zh) * 2019-11-11 2022-07-15 厦门市美亚柏科信息股份有限公司 一种分片数据还原方法、终端设备及存储介质
CN112905542A (zh) * 2019-12-03 2021-06-04 华为技术有限公司 一种文件处理方法、装置、服务器、设备及存储介质
CN116933331A (zh) * 2023-07-28 2023-10-24 三峡高科信息技术有限责任公司 一种基于wasm和web worker的多线程文件哈希方法
CN116933331B (zh) * 2023-07-28 2024-02-06 三峡高科信息技术有限责任公司 一种基于wasm和web worker的多线程文件哈希方法

Also Published As

Publication number Publication date
CN107360191B (zh) 2021-02-02

Similar Documents

Publication Publication Date Title
CN107360191A (zh) 一种文件获取方法、装置及存储设备
US11325780B2 (en) Method and device for sorting cargo
CN107678865A (zh) 基于交易分组的区块链的验证方法以及系统
CN109951547B (zh) 事务请求并行处理方法、装置、设备和介质
KR20230006033A (ko) 연합 계산 처리 방법, 장치, 전자 기기 및 저장 매체
US11252149B1 (en) Resource management techniques for dialog-driven applications
CN109388614A (zh) 一种目录文件个数配额的方法、系统及设备
CN110941741A (zh) 图数据的路径检索处理方法、装置、服务器及存储介质
CN109787884A (zh) 一种消息推送方法和装置
US8924481B2 (en) Apparatus for routing requests
CN113722055A (zh) 数据处理方法、装置、电子设备和计算机可读介质
CN113641544B (zh) 用于检测应用状态的方法、装置、设备、介质和产品
CN109800078B (zh) 一种任务处理方法、任务分发终端及任务执行终端
CN110909072B (zh) 一种数据表建立方法、装置及设备
CN111324470A (zh) 用于生成信息的方法及装置
WO2023071566A1 (zh) 数据处理方法、装置、计算机设备、计算机可读存储介质及计算机程序产品
CN103530742B (zh) 提高排程运算速度的方法及装置
CN110490798A (zh) 点云拼接方法及系统
CN106933646A (zh) 一种创建虚拟机的方法及装置
CN110677497B (zh) 一种网络介质分发方法及装置
CN110019456A (zh) 数据导入方法、装置和系统
CN105653123B (zh) 一种图标分组方法及终端设备
CN111538863B (zh) 数据的展示方法及装置、系统、存储介质、电子装置
CN114124763A (zh) 一种宽带接入速率的测量方法及系统
CN113254106A (zh) 基于Flink的任务执行方法、装置、计算机设备及存储介质

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