CN101635742A - 下载方法和装置 - Google Patents

下载方法和装置 Download PDF

Info

Publication number
CN101635742A
CN101635742A CN 200910091701 CN200910091701A CN101635742A CN 101635742 A CN101635742 A CN 101635742A CN 200910091701 CN200910091701 CN 200910091701 CN 200910091701 A CN200910091701 A CN 200910091701A CN 101635742 A CN101635742 A CN 101635742A
Authority
CN
China
Prior art keywords
data
download
small pieces
data slice
downloading
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.)
Pending
Application number
CN 200910091701
Other languages
English (en)
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 CN 200910091701 priority Critical patent/CN101635742A/zh
Publication of CN101635742A publication Critical patent/CN101635742A/zh
Priority to BR112012002047A priority patent/BR112012002047A2/pt
Priority to RU2012102119/08A priority patent/RU2520430C2/ru
Priority to PCT/CN2010/075531 priority patent/WO2011023049A1/zh
Pending legal-status Critical Current

Links

Images

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]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

公开了下载方法和装置。其中的下载方法包括:下载方存储有数据片下载信息和小片数据下载信息,下载方根据所述存储的数据片下载信息确定出处于下载过程中的数据片,并针对所述处于下载过程中的数据片,根据所述存储的小片数据下载信息确定出未下载的小片数据,下载方针对所述未下载的小片数据进行下载。其中下载装置包括:存储模块,用于存储数据片下载信息和小片数据下载信息;判断模块,用于根据所述存储的数据片下载信息确定出处于下载过程中的数据片,针对所述处于下载过程中的数据片,根据所述存储的小片数据下载信息判断未下载的小片数据;下载模块,用于针对所述未下载的小片数据进行下载。上述技术方案可节约网络传输资源、提高下载效率。

Description

下载方法和装置
技术领域
本发明涉及网络通讯技术领域,具体涉及一种网络中的下载技术。
背景技术
在通讯系统中,待下载数据可以被划分为多个数据片,每个数据片又可以被划分为多个小片数据,下载方与被下载方之间传输的数据是以数据片和小片数据的形式出现的,而且,数据片和小片数据的下载顺序均可以不按照划分时数据片和小片数据的排列顺序。在Peer to Peer(对等网络,P2P)中,Peer之间就是采用数据片和小片数据的形式进行数据下载的。
在下载过程中,下载方如接收下载数据的Peer通常会记录表示数据片是否下载完成的数据下载状态信息。该数据下载状态信息可以保存在后缀为idx的文件中。如果由于网络不通、被下载方关机或下载方关机等情况导致下载中断,则下载方通常会在下一次下载过程中根据其保存的数据下载状态信息判断各数据片是否下载完成,下载方对没有下载完成的数据片进行重新下载。
在实现本发明的过程中,发明人发现上述现有技术至少存在如下问题:如果一个数据片中的部分小片数据已经下载,而另一部分小片数据还没有下载,则在下一次下载过程中,下载方会根据其记录的数据下载状态信息确定出该数据片没有下载完成,并重新下载该数据片,即对该数据片中的所有小片数据均重新下载,从而浪费了网络传输资源,延长了下载时间,降低了下载效率。
发明内容
本发明实施方式提供了下载方法和装置,可节约网络传输资源,提高下载效率。
本发明实施方式提供的下载方法,包括:
下载方存储有数据片下载信息和小片数据下载信息;
下载方根据所述存储的数据片下载信息确定出处于下载过程中的数据片,并针对所述处于下载过程中的数据片,根据所述存储的小片数据下载信息确定出未下载的小片数据;
下载方针对所述未下载的小片数据进行下载。
所述数据片下载信息包括:数据片数量和各数据片已下载数据量;且所述下载方根据所述存储的数据片下载信息确定出处于下载过程中的数据片包括:
下载方根据所述数据片数量从相应的存储位置获取各数据片已下载数据量,并判断所述数据片已下载数据量是否大于零且是否达到预定数据量,下载方将数据片已下载数据量大于零且没有达到预定数据量的数据片确定为处于下载过程中的数据片。
所述数据片下载信息还包括:数据片校验结果信息;且所述方法还包括:
针对已成功下载的数据片,下载方根据所述数据片校验结果信息确定出需要重新下载的数据片,并针对所述需要重新下载的数据片进行下载;和/或
维护侧从下载方获取所述数据片校验结果信息,并根据所述数据片校验结果信息对被下载数据进行维护。
所述数据片下载信息还包括:数据片下载方式信息;且所述方法还包括:
下载方根据所述数据片下载方式信息确定出通过可靠下载方式下载的数据片,并根据所述通过可靠下载方式下载的数据片产生种子。
所述小片数据下载信息包括:小片数量和各小片数据下载状态信息;且所述根据所述存储的小片数据下载信息判断未成功下载的小片数据包括:
下载方根据所述小片数量从相应的存储位置获取小片数据下载状态信息,并根据所述获取的小片数据下载状态信息判断未下载的小片数据。
在小片数据已下载的情况下,小片数据下载状态信息表示出下载方式信息;且所述方法还包括:
下载方根据所述小片数据下载状态信息确定出通过可靠下载方式下载的小片数据,并根据所述通过可靠下载方式下载的小片数据产生种子。
所述数据片下载信息和小片数据下载信息存储于文件内容中,或者存储于文件头和文件内容中。
所述文件头还包括:文件类型标志、保留字段和/或版本号;
所述文件类型标志用于表示该文件为存储有数据片下载信息和小片数据下载信息的文件;
所述版本号用于表示下载系统的版本信息。
本发明实施方式提供的下载装置,包括:
存储模块,用于存储数据片下载信息和小片数据下载信息;
判断模块,用于根据所述存储的数据片下载信息确定出处于下载过程中的数据片,针对所述处于下载过程中的数据片,根据所述存储的小片数据下载信息判断未下载的小片数据;
下载模块,用于针对所述未下载的小片数据进行下载。
所述存储模块中存储的数据片下载信息包括:数据片数量和各数据片已下载数据量;或者
所述存储模块中存储的数据片下载信息包括:数据片数量、各数据片已下载数据量和数据片校验结果;或者
所述存储模块中存储的数据片下载信息包括:数据片数量、各数据片已下载数据量和数据片下载方式信息;或者
所述存储模块中存储的数据片下载信息包括:数据片数量、各数据片已下载数据量、数据片校验结果和数据片下载方式信息;
和/或,
所述存储模块中存储的小片数据下载信息包括:小片数量和各小片数据下载状态信息。
通过上述技术方案的描述可知,通过存储数据片下载信息和小片数据下载信息,使下载方可以确定出处于下载过程中的数据片包含的未下载的小片数据,因此,可以更加有针对性的进行下载,避免了不必要的下载过程,从而节约了网络传输资源,缩短了下载时间,提高了下载效率。
附图说明
图1是本发明实施例一的下载方法流程图;
图2是本发明实施例一的文件结构示意图;
图3是本发明实施例二的下载装置示意图。
具体实施方式
实施例一、下载方法。该下载方法的流程如附图1所示。
图1中,步骤100、下载方开始进行数据下载,到步骤110。这里开始进行的数据下载可以是针对待下载数据的断点续传下载,也可以是针对待下载数据的首次下载。
本实施例中的下载方存储有待下载数据对应的数据片下载信息和小片数据下载信息。数据片下载信息和小片数据下载信息可以以文件的形式存储在下载方。下载方可以在针对待下载数据进行首次下载时,根据待下载数据的大小、利用预先约定的信息对数据片下载信息和小片数据下载信息进行初始化,即设置数据片下载信息和小片数据下载信息的初始值。当数据片下载信息和小片数据下载信息以文件的形式存储在下载方时,下载方需要初始化该文件。这里的预先约定的信息可以包括数据片分片规则、以及小片数据分片规则等。在下载过程中,下载方应根据下载情况实时或定期修改其获得的数据片下载信息和小片数据下载信息。
步骤110、下载方通过对其存储的数据片下载信息进行判断,确定出处于下载过程中的数据片,然后,到步骤120。上述处于下载过程中的数据片也可以称为未成功下载的数据片。
上述数据片下载信息可以包括:数据片数量和各数据片已下载数据量。数据片数量表示待下载数据包被划分成的数据片的数量,例如,待下载数据包被划分为100个数据片,则数据片数量为100。针对每一个数据片来说,数据片已下载数据量表示一个数据片已经被下载的程度。数据片已下载数据量可以以已下载的字节来表示,也可以以百分比的形式表示,当然也可以以比特标志位的方式表示。这里的数据片已下载数据量还可以应用于下载方统计待下载数据的已下载数量等其他方面。本发明实施例不限制数据片已下载数据量的具体表示方式、以及其它具体应用的场景。
在数据片下载信息包括数据片数量和各数据片已下载数据量的情况下,进行初始化处理后的数据片下载信息的一个具体例子为:标识出了待下载数据被划分成的数据片数量、且各数据片已下载数据量均为空或均为零。各数据片已下载数据量在后续的下载过程中会根据下载的具体情况而发生变化。
在数据片下载信息包括数据片数量和各数据片已下载数据量的情况下,下载方可以根据数据片数量获取到数据片已下载数据量。获取数据片已下载数据量的一个具体例子为:如果数据片数量为100、各数据片已下载数据量均使用四个字节表示、且数据片数量、各数据片已下载数据量和小片数据下载信息连续顺序存储,则下载方在读取到数据片数量为100后,可以确定出从存储数据片已下载数据量的开始位置之后的400个字节中存储的信息为:数据片0至数据片99对应的数据片已下载数据量,即按照存储先后顺序每四个字节表示的数字即为一个数据片对应的数据片已下载数据量。
下载方可以通过判断获取到的数据片已下载数据量是否大于零(或是否为空)且是否达到预定数据量来确定数据片是否成功下载,下载方可以将数据片已下载数据量大于零且没有达到预定数据量的数据片确定为未成功下载的数据片,将数据片已下载数据量达到预定数据量的数据片确定为成功下载的数据片。例如,预定数据量为500字节,即一个数据片包括500个字节,如果下载方获取到一个数据片的数据片已下载数据量为400字节,则下载方确定该数据片为未成功下载的数据片。另外,如果下载方确定出一个数据片的数据片已下载数据量为0个字节或为空,则下载方可以不再查找该数据片对应的小片数据下载信息,而直接决定下载该数据片,即对该数据片中所有的小片数据均下载。上述的预定数据量可以是下载方从被下载方获取的,而且,预定数据量可以为数据片的大小。
需要说明的是,本实施例中的数据片下载信息可以表示出各数据片具体的下载情况,数据片下载信息的具体表现形式并不限于上述例举的数据片数量和各数据片已下载数据量,数据片下载信息也可以通过其他方式来表示,例如,针对一个数据片而言,数据片下载信息也可以通过三个比特位来表示,第一个比特位表示是否为数据片,第二和三个比特位表示下载完成或未曾下载或未成功下载(即只下载了数据片中的部分小片数据),每个数据片对应的比特位按照数据片被划分的先后顺序依次存储。三个比特位表示数据片下载信息的一个具体的例子为:000表示数据片下载完成,001表示数据片未曾下载,010表示数据片未成功下载,此时,下载方在判断出某数据片对应的数据片下载信息为010时,则可以确定该数据片为未成功下载的数据片。另外,上述例举的三个比特位也可以变化为一个字节等。本实施例不限制数据片下载信息的具体表现形式。
步骤120、针对未成功下载的数据片,下载方通过对其存储的小片数据下载信息进行判断,确定出未下载的小片数据,然后,到步骤130。这里的未成功下载的数据片是指只下载了该数据片的部分小片数据的数据片。
上述小片数据下载信息可以包括:小片数量和各小片数据下载状态。小片数量表示数据片被划分成的小片数据的数量,例如,一个数据片被划分为100个小片数据,则小片数量为100。针对每一个小片数据来说,小片数据下载状态表示一个小片数据是否已经下载完成。小片数据下载状态可以以下载方式来表示,例如,当一个小片数据下载完成后,该小片数据对应的小片数据下载状态记载该小片数据的下载方式(如P2P方式、HTTP方式、混合方式或下推方式等),当一个小片数据未下载完成时,该小片数据对应的小片数据下载状态为空。此时,下载方可以根据小片数据对应的小片数据下载状态是否为空判断出该小片数据是否下载完成。
需要说明的是,小片数据下载状态信息可以表示出下载完成(即已下载)或未下载完成(即未曾下载),而不能够表示出下载了部分小片数据的情况。另外,下载方可以根据各小片数据下载状态信息确定出哪些小片数据是通过可靠下载方式下载获得的小片数据,哪些小片数据是通过非可靠下载方式下载获得的小片数据。例如,下载方可以将下载方式为HTTP方式的小片数据确定为通过可靠下载方式下载获得的小片数据。针对通过可靠下载方式下载获得的小片数据,下载方可以根据该小片数据产生种子,然后,下载方可以根据现有的多种种子应用方式进行后续的操作,一个种子应用方式的具体例子为:下载方将种子文件上传至服务器,从而可以利用该种子提供相应的服务。
从上述对小片数据下载状态信息的描述可知,通过小片数据下载状态信息可以保证种子的准确性,尽可能的避免了种子不准确而产生的服务不可靠的现象,从而提高了网络的可靠性。
本实施例中的下载方可以根据小片数量确定出数据片对应的小片数据下载信息的存储位置,例如,在小片数量为100、一个小片数据下载状态信息占用一个字节的情况下,从开始存储小片数据下载状态的位置起,第一个100个字节为数据片0对应的小片数据下载状态信息,第二个100个字节为数据片1对应的小片数据下载状态信息,依此类推,直到最后一个数据片对应的小片数据下载状态信息。
需要说明的是,本实施例中的小片数据下载信息可以表示出各小片数据具体的下载情况,小片数据下载信息的具体表现形式并不限于上述例举的小片数量和各小片数据下载状态信息,小片数据下载信息也可以通过其他方式来表示,例如,针对一个小片数据而言,小片数据下载信息也可以通过两个比特位来表示,第一个比特位表示是否为小片数据,第二个比特位表示小片数据是否下载完成,例如,10表示小片数据下载完成,11表示小片数据未下载完成。每个小片数据对应的比特位按照小片数据被划分的先后顺序排列存储。而且,上述例举的两个比特位也可以变化为一个字节等。本实施例不限制小片数据下载信息的具体表现形式。
步骤130、下载方针对确定出的未成功下载的小片数据进行下载。下载方可以采用现有的多种下载方式对未成功下载的小片数据进行下载。本实施例不限制下载方在下载小片数据过程中采用具体下载方式。
从上述描述可以看出,实施例一中的下载方通过存储数据片下载信息和小片数据下载信息,可以确定出未成功下载的数据片以及未下载的小片数据,这样,在下载过程中,下载方可以针对未成功下载的数据片中的未下载的小片数据进行下载,使下载过程更加有针对性,以避免未成功下载的数据片中已经下载的小片数据被再次下载的过程,从而避免了不必要的下载过程,最终节约了网络传输资源,缩短了下载时间,提高了下载效率。
在本实施例中,虽然某个数据片被成功下载,但是,该数据片可能会因为误码率高等原因而使下载方无法正常使用该数据片,针对这样的数据片,下载方应该重新下载该数据片包含的所有小片数据。也就是说,在下载过程中,下载方仍然可以将该数据片当作未成功下载的数据片。
下载方可以通过判断数据片下载信息中包括的数据片校验结果信息来确定是否需要将已成功下载的数据片当作未成功下载的数据片而对该数据片的所有小片数据重新进行下载。数据片校验结果信息可以表示出数据片是否校验通过。数据片校验结果信息可以占用一个比特位,也可以占用一个字节等。
上述数据片校验结果信息也可以用于其他应用,例如,维护侧从各下载方获取数据片校验结果信息,并根据获取到的多个数据片校验结果信息对被下载数据进行维护。对被下载数据进行维护的一个具体的例子为:在多个下载方对某个数据片的数据片校验结果信息均为校验未通过的情况下,维护侧更新该数据片等。本实施例不限制数据片校验结果信息的具体应用范围,也不限制维护侧对被下载数据的维护方式。
从上述对数据片校验结果信息的描述可知,通过数据片校验结果信息可以使各下载方得到更加可靠的数据,尽可能的避免了下载的数据不能被正常使用的现象,从而提高了数据下载可靠性。
在本实施例中,数据片下载信息还可以包括各数据片下载方式信息。数据片下载方式信息可以表示出P2P方式、HTTP方式、混合方式或下推方式等多种下载方式。下载方可以根据各数据片下载方式信息确定出哪些数据片是通过可靠下载方式下载获得的数据片,哪些数据片是通过非可靠下载方式下载获得的数据片。例如,下载方可以将下载方式为HTTP方式的数据片确定为通过可靠下载方式下载获得的数据片。针对通过可靠下载方式下载获得的数据片,下载方可以根据该数据片产生种子,然后,下载方可以根据现有的多种种子应用方式进行后续的操作,一个种子应用方式的具体例子为:下载方将种子文件上传至服务器,从而可以利用该种子提供相应的服务。
从上述对数据片下载方式信息的描述可知,通过数据片下载方式信息可以保证种子的准确性,尽可能的避免了种子不准确而产生的服务不可靠的现象,从而提高了网络的可靠性。
当上述数据片下载信息和小片数据下载信息以文件的形式存储时,本实施例可以灵活地安排数据片下载信息和小片数据下载信息的存储位置,例如,数据片下载信息可以存储在文件内容中,也可以存储在文件头和文件内容中,小片数据下载信息可以存储在文件内容中,也可以存储在文件头和文件内容中。
当数据片下载信息和小片数据下载信息以文件的形式存储时,文件头中还可以存储文件类型标志、保留字段和版本号中的任意一个或任意多个。文件类型标志可以表示出该文件为存储有数据片下载信息和小片数据下载信息的文件。保留字段可以设置为空,以备后续对文件进行扩展时使用。版本号可以表示出下载系统(如P2P系统)的版本信息,该版本信息可以在查看下载系统版本或者下载系统升级等情况下使用。
实施例一的存储数据片下载信息和小片数据下载信息的文件的一个具体的例子如附图2所示。
图2中的文件是以TDI为后缀的文件,TDI文件头包括文件类型标志、保留字段、版本号、数据片数量(即图2中的片数量)和小片数量。文件类型标志表明该文件为TDI类型的文件。
在图2中的文件内容中,先存储的是数据片下载信息中的各数据片下载数量、下载方式和数据片校验结果信息(即图2中的校验情况)。这部分内容是按照数据片被划分时的先后顺序依次存储的,即数据片0对应的数据片下载数量、下载方式和数据片校验结果信息存储在文件内容的最前面,其后是数据片1对应的数据片下载数量、下载方式和数据片校验结果信息,再后面是数据片2对应的数据片下载数量、下载方式和数据片校验结果信息,依此类推,直到最后一个数据片对应的数据片下载数量、下载方式和数据片校验结果信息。
在存储了各数据片对应的数据片下载数量、下载方式和数据片校验结果信息之后,紧接着存储的是各小片数据下载状态信息,针对已成功下载的小片数据来说,该下载状态信息可以体现出小片数据的下载方式。各小片数据的下载状态信息首先是按照数据片被划分时的顺序依次存储的,其次,针对一个数据片对应的多个小片数据来说,各小片数据下载状态信息是按照小片数据被划分时的先后顺序依次存储的。例如,先存储数据片0对应的小片数据下载状态信息,其后是数据片1对应的小片数据下载状态信息,再后面是数据片2对应的小片数据下载状态信息,依此类推,直到最后一个数据片对应的小片数据下载状态信息。在每个数据片对应的小片数据下载状态信息中,是按照小片数据0、小片数据1直到最后一个小片数据的顺序依次存储小片数据下载状态信息的。
当然上述从数据片0到最后一个数据片的顺序可以为从最后一个数据片到数据片0的顺序,从小片数据0到最后一个小片数据的顺序也可以为从最后一个小片数据到小片数据0的顺序。而且,也可以为其他预先规定的顺序。
上述图2仅仅是TDI文件的一个具体的例子而已,并不代表存储数据片下载信息和小片数据下载信息一定如图2所示,图2所示的例子可以有多种变形情况,例如,文件名的后缀不为TDI;再例如,每一个数据片下载信息之后跟着存储该数据片对应的小片数据下载信息等;还有,文件头中可以不包括保留字段、版本号,数据片数量和/或小片数量存储于文件内容中等。在此不再一一详细说明。
另外,本实施例可以应用在多种以数据片和小片数据进行下载的系统中,例如,本实施例可以应用在P2P中。而且,步骤110和步骤120均可以并行执行,步骤110和步骤120也可以顺序执行。并行执行如一次判断出多个未成功下载的数据片,并同时对多个未成功下载的数据片中的未下载的小片数据进行下载。顺序执行如先判断出某一个数据片是否未成功下载,在确定出该数据片未成功下载时,针对该数据片中未下载的小片数据进行下载;在针对该数据片进行了判断及下载后,再针对另一个数据片进行判断及下载,依此类推,直到针对所有的数据片都进行了判断及下载。还有,判断未成功下载的数据片的判断过程可以并行执行而小片数据下载过程可以顺序执行,或者判断未成功下载的数据片的判断过程可以顺序执行而针对一个数据片中的各小片数据下载过程可以并行执行。
实施例二、下载装置。该装置的结构如附图3所示。
图3中的下载装置300包括:存储模块310、判断模块320和下载模块330。
存储模块310中存储有数据片下载信息和小片数据下载信息。
存储模块310可以以文件的形式存储数据片下载信息和小片数据下载信息。存储模块310中存储的信息在下载方针对待下载数据进行首次下载时,被初始化。执行初始化操作的主体可以为存储模块310,也可以为判断模块320或下载模块330,还可以为下载装置中的其他模块。对数据片下载信息和小片数据下载信息进行初始化的过程如上述实施例一中的描述。存储模块310中存储的数据片下载信息和小片数据下载信息会在下载过程中实时或定期修改更新。执行修改更新操作的主体可以为下载模块330。
判断模块320根据存储模块310中存储的数据片下载信息确定出处于下载过程中的数据片,针对处于下载过程中的数据片,判断模块320根据存储模块310中存储的小片数据下载信息判断未下载的小片数据,并通知下载模块330未下载的小片数据的信息。如果判断模块320根据存储模块310中存储的数据片下载信息确定出未层下载的数据片,则判断模块320直接通知下载模块330对该数据片的所有小片进行下载。判断模块320执行的判断操作可以并行执行,也可以顺序执行,具体如上述实施例中的描述,在此不再重复说明。
在存储模块310存储的数据片下载信息包括:数据片数量和各数据片已下载数据量的情况下,判断模块320可以根据数据片数量从存储模块310存储信息的相应的存储位置处获取到数据片已下载数据量。获取数据片已下载数据量的具体例子如上述实施例中的描述,在此不再重复说明。判断模块320可以通过判断获取到的数据片已下载数据量是否大于零(或是否为空)且是否达到预定数据量来确定数据片是否成功下载,判断模块320可以将数据片已下载数据量大于零且没有达到预定数据量的数据片确定为未成功下载的数据片,将数据片已下载数据量达到预定数据量的数据片确定为成功下载的数据片。
需要说明的是,存储模块310中存储的数据片下载信息的具体表现形式并不限于上述例举的数据片数量和各数据片已下载数据量,数据片下载信息也可以通过其他方式来表示,具体例子如上述实施例中的描述,在此不再重复说明。
针对未成功下载的数据片,判断模块320通过对存储模块310中存储的小片数据下载信息进行判断,确定出未下载的小片数据。存储模块310中存储的小片数据下载信息可以包括:小片数量和各小片数据下载状态。小片数量表示数据片被划分成的小片数据的数量,本实施例中的判断模块320可以根据小片数量确定出数据片对应的小片数据下载信息在存储模块310中的存储位置,具体例子如上述实施例中的描述。上述小片数据下载状态信息表示一个小片数据是否已经下载完成。小片数据下载状态可以以下载方式来表示,例如,当一个小片数据下载完成后,存储模块310中存储的该小片数据对应的小片数据下载状态被修改更新为该小片数据的下载方式(如P2P方式、HTTP方式、混合方式或下推方式等),当一个小片数据未下载完成时,存储模块310中存储的该小片数据对应的小片数据下载状态为空。在这种情况下,判断模块320可以根据存储模块310中存储的小片数据对应的小片数据下载状态信息是否为空判断出该小片数据是否下载完成。
需要说明的是,存储模块310中存储的小片数据下载状态信息可以表示出下载完成(即已下载)或未下载完成(即未曾下载),而不能够表示出下载了部分小片数据的情况。另外,下载装置中的可靠下载判断模块可以根据存储模块310中存储的各小片数据下载状态信息确定出哪些小片数据是通过可靠下载方式下载获得的小片数据,哪些小片数据是通过非可靠下载方式下载获得的小片数据。下载装置中的种子应用模块可以根据可靠下载判断模块判断出的通过可靠下载方式获得的小片数据产生种子,然后,种子应用模块可以根据现有的多种种子应用方式进行后续的操作。
需要说明的是,存储模块310中存储的小片数据下载信息可以表示出各小片数据具体的下载情况,小片数据下载信息的具体表现形式并不限于上述例举的小片数量和各小片数据下载状态信息,小片数据下载信息也可以通过其他方式来表示,具体如上述实施例中的描述,在此不再重复说明。存储模块310存储的包含有数据片下载信息和小片数据下载信息的文件的一个具体的例子如图2所示,在此不再重复说明。
下载模块330根据判断模块320的通知进行小片数据的下载。下载模块330可以采用现有的多种下载方式对未成功下载的小片数据进行下载。本实施例不限制下载模块330在下载小片数据过程中采用具体下载方式。下载模块330可以并行下载小片数据,也可以顺序下载小片数据。并行、顺序的具体说明如上述实施例中的描述,在此不再重复说明。
从上述描述可以看出,实施例二通过在存储模块310中存储数据片下载信息和小片数据下载信息,使判断模块320可以确定出未成功下载的数据片以及未下载的小片数据,这样,在下载过程中,下载模块330可以针对未成功下载的数据片和未成功下载的小片数据进行下载,使下载过程更加有针对性,以避免未成功下载的数据片中已经下载的小片数据被再次下载的过程,从而避免了不必要的下载过程,最终节约了网络传输资源,缩短了下载时间,提高了下载效率。
在本实施例中,虽然某个数据片被下载模块330成功下载,但是,该数据片可能会因为误码率高等原因而使下载方无法正常使用该数据片,针对这样的数据片,下载模块330应该重新下载该数据片包含的所有小片数据。
判断模块320可以通过判断存储模块310中数据片下载信息包括的数据片校验结果信息来确定是否需要将已成功下载的数据片当作未成功下载的数据片而决定对该数据片的所有小片数据重新进行下载。数据片校验结果信息可以表示出数据片是否校验通过。数据片校验结果信息可以占用一个比特位,也可以占用一个字节等。
存储模块310中存储的数据片校验结果信息也可以用于其他应用,例如,维护侧从各下载装置的存储模块310中获取数据片校验结果信息,并根据获取到的多个数据片校验结果信息对被下载数据进行维护。对被下载数据进行维护的一个具体的例子如上述实施例中的描述。本实施例不限制数据片校验结果信息的具体应用范围,也不限制维护侧对被下载数据的维护方式。
存储模块310中存储的数据片下载信息还可以包括各数据片下载方式信息。数据片下载方式信息可以表示出P2P方式、HTTP方式、混合方式或下推方式等多种下载方式。下载装置中的可靠下载判断模块可以根据各数据片下载方式信息确定出哪些数据片是通过可靠下载方式下载获得的数据片,哪些数据片是通过非可靠下载方式下载获得的数据片。下载装置中的种子应用模块可以根据可靠下载判断模块判断出的通过可靠下载方式获得的数据片产生种子,然后,种子应用模块可以根据现有的多种种子应用方式进行后续的操作。
当上述数据片下载信息和小片数据下载信息以文件的形式存储在存储模块310中时,可以灵活地安排数据片下载信息和小片数据下载信息的存储位置,具体如上述实施例的描述。
当上述数据片下载信息和小片数据下载信息以文件的形式存储在存储模块310中时,存储模块310存储的文件头中还可以包括文件类型标志、保留字段和版本号中的任意一个或任意多个。文件类型标志可以表示出该文件为存储有数据片下载信息和小片数据下载信息的文件。保留字段可以设置为空,以备后续对文件进行扩展时使用。版本号可以表示出下载系统(如P2P系统)的版本信息,该版本信息可以在查看下载系统版本或者下载系统升级等情况下使用。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的硬件平台的方式来实现,当然也可以全部通过硬件来实施,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案对背景技术做出贡献的全部或者部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
虽然通过实施例描绘了本发明,本领域普通技术人员知道,本发明有许多变形和变化而不脱离本发明的精神,本发明的申请文件的权利要求包括这些变形和变化。

Claims (10)

1、一种下载方法,其特征在于,包括:
下载方存储有数据片下载信息和小片数据下载信息;
下载方根据所述存储的数据片下载信息确定出处于下载过程中的数据片,并针对所述处于下载过程中的数据片,根据所述存储的小片数据下载信息确定出未下载的小片数据;
下载方针对所述未下载的小片数据进行下载。
2、如权利要求1所述的方法,其特征在于,所述数据片下载信息包括:数据片数量和各数据片已下载数据量;且所述下载方根据所述存储的数据片下载信息确定出处于下载过程中的数据片包括:
下载方根据所述数据片数量从相应的存储位置获取各数据片已下载数据量,并判断所述数据片已下载数据量是否大于零且是否达到预定数据量,下载方将数据片已下载数据量大于零且没有达到预定数据量的数据片确定为处于下载过程中的数据片。
3、如权利要求2所述的方法,其特征在于,所述数据片下载信息还包括:数据片校验结果信息;且所述方法还包括:
针对已成功下载的数据片,下载方根据所述数据片校验结果信息确定出需要重新下载的数据片,并针对所述需要重新下载的数据片进行下载;和/或
维护侧从下载方获取所述数据片校验结果信息,并根据所述数据片校验结果信息对被下载数据进行维护。
4、如权利要求2所述的方法,其特征在于,所述数据片下载信息还包括:数据片下载方式信息;且所述方法还包括:
下载方根据所述数据片下载方式信息确定出通过可靠下载方式下载的数据片,并根据所述通过可靠下载方式下载的数据片产生种子。
5、如权利要求1所述的方法,其特征在于,所述小片数据下载信息包括:小片数量和各小片数据下载状态信息;且所述根据所述存储的小片数据下载信息判断未成功下载的小片数据包括:
下载方根据所述小片数量从相应的存储位置获取小片数据下载状态信息,并根据所述获取的小片数据下载状态信息判断未下载的小片数据。
6、如权利要求5所述的方法,其特征在于,在小片数据已下载的情况下,小片数据下载状态信息表示出下载方式信息;且所述方法还包括:
下载方根据所述小片数据下载状态信息确定出通过可靠下载方式下载的小片数据,并根据所述通过可靠下载方式下载的小片数据产生种子。
7、如权利要求1至6中任一权利要求所述的方法,其特征在于,所述数据片下载信息和小片数据下载信息存储于文件内容中,或者存储于文件头和文件内容中。
8、如权利要求7所述的方法,其特征在于,所述文件头还包括:文件类型标志、保留字段和/或版本号;
所述文件类型标志用于表示该文件为存储有数据片下载信息和小片数据下载信息的文件;
所述版本号用于表示下载系统的版本信息。
9、一种下载装置,其特征在于,包括:
存储模块,用于存储数据片下载信息和小片数据下载信息;
判断模块,用于根据所述存储的数据片下载信息确定出处于下载过程中的数据片,针对所述处于下载过程中的数据片,根据所述存储的小片数据下载信息判断未下载的小片数据;
下载模块,用于针对所述未下载的小片数据进行下载。
10、如权利要求9所述的装置,其特征在于:
所述存储模块中存储的数据片下载信息包括:数据片数量和各数据片已下载数据量;或者
所述存储模块中存储的数据片下载信息包括:数据片数量、各数据片已下载数据量和数据片校验结果;或者
所述存储模块中存储的数据片下载信息包括:数据片数量、各数据片已下载数据量和数据片下载方式信息;或者
所述存储模块中存储的数据片下载信息包括:数据片数量、各数据片已下载数据量、数据片校验结果和数据片下载方式信息;
和/或,
所述存储模块中存储的小片数据下载信息包括:小片数量和各小片数据下载状态信息。
CN 200910091701 2009-08-24 2009-08-24 下载方法和装置 Pending CN101635742A (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN 200910091701 CN101635742A (zh) 2009-08-24 2009-08-24 下载方法和装置
BR112012002047A BR112012002047A2 (pt) 2009-08-24 2010-07-28 processo e dispositivo paradownloading
RU2012102119/08A RU2520430C2 (ru) 2009-08-24 2010-07-28 Способ и устройство загрузки данных
PCT/CN2010/075531 WO2011023049A1 (zh) 2009-08-24 2010-07-28 下载方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 200910091701 CN101635742A (zh) 2009-08-24 2009-08-24 下载方法和装置

Publications (1)

Publication Number Publication Date
CN101635742A true CN101635742A (zh) 2010-01-27

Family

ID=41594800

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200910091701 Pending CN101635742A (zh) 2009-08-24 2009-08-24 下载方法和装置

Country Status (4)

Country Link
CN (1) CN101635742A (zh)
BR (1) BR112012002047A2 (zh)
RU (1) RU2520430C2 (zh)
WO (1) WO2011023049A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101977231A (zh) * 2010-10-21 2011-02-16 英业达集团(天津)电子技术有限公司 映像文件的下载方法
WO2011023049A1 (zh) * 2009-08-24 2011-03-03 腾讯科技(深圳)有限公司 下载方法和装置
CN104079607A (zh) * 2013-03-28 2014-10-01 联想(北京)有限公司 一种文件下载的方法和设备
CN106230990A (zh) * 2016-09-27 2016-12-14 美的智慧家居科技有限公司 无线下载中数据传输的方法和装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1248504C (zh) * 1997-01-29 2006-03-29 数字广告及销售有限公司 通过通信网络传送媒体文件的方法
CN101146259A (zh) * 2007-10-16 2008-03-19 吕利勇 一种媒体文件传输方法、系统及移动终端
CN101286976A (zh) * 2008-05-08 2008-10-15 蒋一 一种基于数据拆分技术实现p2p流媒体系统的方法
CN101291195B (zh) * 2008-05-23 2011-01-19 中兴通讯股份有限公司 实现断点续传的文件下载的方法、系统及终端
CN101635742A (zh) * 2009-08-24 2010-01-27 腾讯科技(深圳)有限公司 下载方法和装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011023049A1 (zh) * 2009-08-24 2011-03-03 腾讯科技(深圳)有限公司 下载方法和装置
CN101977231A (zh) * 2010-10-21 2011-02-16 英业达集团(天津)电子技术有限公司 映像文件的下载方法
CN104079607A (zh) * 2013-03-28 2014-10-01 联想(北京)有限公司 一种文件下载的方法和设备
CN106230990A (zh) * 2016-09-27 2016-12-14 美的智慧家居科技有限公司 无线下载中数据传输的方法和装置

Also Published As

Publication number Publication date
BR112012002047A2 (pt) 2016-05-17
RU2520430C2 (ru) 2014-06-27
WO2011023049A1 (zh) 2011-03-03
RU2012102119A (ru) 2013-10-10

Similar Documents

Publication Publication Date Title
CN106897103B (zh) 一种移动端网络游戏版本快速热更新的方法
CN110058873A (zh) 应用页面更新方法、装置、设备和存储介质
CN107689976B (zh) 一种文件传输方法及装置
CN110704335A (zh) 一种基于异步环形缓冲区的数据读取、写入方法及装置
CN103812849A (zh) 一种本地缓存更新方法、系统、客户端及服务器
CN104123149B (zh) 软件升级方法、装置、客户端及系统
EP3933573B1 (en) Zero differential upgrade method, non-volatile storage medium and electronic device
CN111061735B (zh) 一种基于单链区块链的扩容方法及装置
US9383978B2 (en) Apparatus and method for on-demand optimization of applications
CN104113576A (zh) 一种客户端的更新方法及装置
CN113411404A (zh) 一种文件下载方法、装置、服务器及存储介质
CN101635742A (zh) 下载方法和装置
CN103905517A (zh) 一种数据存储方法及设备
CN113254375A (zh) 一种数据传输方法、装置、电子设备和存储介质
CN103685332A (zh) 文件上传方法、客户端、服务器及系统
CN105227649A (zh) 一种文件传输方法及装置
CN105554081A (zh) 一种文件差量的传输方法以及装置
CN115080515A (zh) 基于区块链的系统文件共享方法及系统
CN110874284B (zh) 数据处理的方法和装置
CN107894900B (zh) 一种mcu升级的方法及系统
CN117201038A (zh) 数据传输校验方法、系统、电子设备及存储介质
CN106843928B (zh) 应用程序的远程修复方法及设备
CN109936609A (zh) 终端链式升级方法、装置及升级管理服务器
CN105471930A (zh) 一种读取分布式数据的方法、系统和设备
CN106453663A (zh) 改进的基于云服务的存储扩容方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C12 Rejection of a patent application after its publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20100127