一种文件的下载、上传方法及装置与流程

文档序号:12695027阅读:310来源:国知局
一种文件的下载、上传方法及装置与流程

本申请涉及数据存储技术,特别是涉及一种文件的下载方法及装置,和一种文件的上传方法及装置。



背景技术:

网络的发展使得用户只要连接了网络,就可以在不同的地方共享相同的数据资源。用户可以通过网络实现文件的传输,可以将本地存储的文件上传到网络,也可以将网络存储的文件下载到本地。

而实际处理中,在文件进行传输时,有时会进行文件的新、旧版本的更换。例如,一些软件的配置文件在升级时,可以将存储在服务器的配置文件下载到本地。又如,使用办公室电脑和家庭电脑进行办公时,用户在家中使用家庭电脑继续修改工作文件,可以在上班之前将家庭电脑中存储的修改后的工作文件上传到网络,上班后,可以将网络中存储的所述修改后的文件下载到办公室电脑中继续办公。

但是,文件的新、旧版本的更换时,新、旧版本间可能只有一小部分发生了变化,例如,服务器上有游戏A的镜像文件a.img,大小为3000M,计算机B进行了下载。一段时间后,游戏A升级,新版本为a1.img,而a1.img的内容与a.img的内容只有100M是不同的。

采用上述的文件传输方法,无论新、旧版本的文件中有多少内容是不同的,多少内容是相同的,在进行传输时都要传输整个文件,这就会导致文件传输的时间比较长,并且非常浪费网络资源。



技术实现要素:

本申请提供了一种文件的下载方法及装置,一种文件的上传方法及装置,以解决现有技术中文件传输时传输的时间比较长,并且非常浪费网络资源的问题。

为了解决上述问题,本申请公开了一种文件的下载方法,包括:

发送文件请求给服务器,其中,所述文件请求中包括请求下载的文件的名称;

接收服务器发送的文件描述信息,其中,所述文件描述信息中包括将请求下载的文件分块后各个文件块的特征值;

检测本地存储的各个文件块的特征值是否与接收的文件块的特征值一致,并将不一致的特征值添加到检测信息中返回给服务器;

接收服务器发送的所述不一致的特征值相对应的文件块。

优选的,所述检测本地存储的各个文件块的特征值是否与接收的文件块的特征值一致,并将不一致的特征值添加到检测信息中返回给服务器,包括:

检测本地存储的各个文件块的特征值是否与接收的文件块的特征值一致;

若否,则将与本地存储的不一致的特征值添加到检测信息中;

若是,则在检测信息中过滤与本地存储的一致的特征值;

将所述检测信息返回给服务器。

优选的,所述文件描述信息中还包括:请求下载的文件中所述特征值对应文件块的位置,

将所述检测信息返回给服务器之前,还包括:

检测本地存储的一致的特征值对应文件块的位置,和接收的一致特征值对应文件块的位置是否相同;

若不相同,则将本地存储的一致的特征值对应文件块的位置,修改为接收的一致特征值对应文件块的位置。

优选的,所述接收网络服务器发送的所述不一致的特征值相对应的文件块之后,还包括:

将接收的不一致的特征值对应的文件块,和本地存储的一致的特征值对应的文件块,按照各个文件块的位置排列后进行合并,构成请求下载的文件。

相应的,本申请还公开了一种文件的上传方法,包括:

将上传的文件分成若干个文件块,并计算每个文件块的特征值;

将各个文件块的特征值构成文件描述信息并发送给服务器;

接收服务器返回的检测信息,并将所述检测信息中不一致的特征值对应的文件块发送给服务器,其中,所述检测信息中包括与服务器存储的不一致的特征值。

优选的,所述将上传的文件分成若干个文件块,并计算每个文件块的特征值,包括:

从上传的文件的起始位置开始,每当达到预设的划分阈值时,划分出一个文件块,直到达到上传的文件的结束位置,划分出最后一个文件块;

记录在上传的文件中每个文件块的位置;

根据每个文件块中存储的内容,计算出每个文件块的特征值。

优选的,所述文件描述信息中还包括:上传的文件中所述特征值对应文件块的位置。

相应的,本申请还公开了一种文件的下载装置,包括:

请求发送模块,用于发送文件请求给服务器,其中,所述文件请求中包括请求下载的文件的名称;

接收模块,用于接收服务器发送的文件描述信息,其中,所述文件描述信息中包括将请求下载的文件分块后各个文件块的特征值;

检测并返回模块,用于检测本地存储的各个文件块的特征值是否与接收的文件块的特征值一致,并将不一致的特征值添加到检测信息中返回给服务器;

接收并合并模块,用于接收服务器发送的所述不一致的特征值相对应的文件块。

优选的,所述检测并返回模块,包括:

第一检测子模块,用于检测本地存储的各个文件块的特征值是否与接收的对应文件块的特征值一致,若是,则触发过滤子模块,若否,则触发添加子模块;

添加子模块,用于将与本地存储的不一致的特征值添加到检测信息中;

过滤子模块,用于在检测信息中过滤与本地存储的一致的特征值;

返回子模块,用于将所述检测信息返回给服务器。

优选的,所述文件描述信息中还包括:请求下载的文件中所述特征值对应文件块的位置,

所述检测并返回模块,还包括:

第二检测子模块,用于检测本地存储的一致的特征值对应文件块的位置,和接收的一致特征值对应文件块的位置是否相同,若不相同,则触发修改子模块;

修改子模块,用于将本地存储的一致的特征值对应文件块的位置,修改为接收的一致特征值对应文件块的位置。

优选的,所述的装置还包括:

文件合并模块,用于将接收的不一致的特征值对应的文件块,和本地存储的相一致的特征值对应的文件块,按照各个文件块的位置排列后进行合并,构成请求下载的文件。

相应的,本申请还公开了一种文件的上传装置,包括:

文件块划分模块,用于将上传的文件分成若干个文件块,并计算每个文件块的特征值;

构成并发送模块,用于将各个文件块的特征值构成文件描述信息并发送给服务器;

接收并发送模块,用于接收服务器返回的检测信息,并将所述检测信息中不一致的特征值对应的文件块发送给服务器,其中,所述返回信息中包括与服务器存储的文件中不一致的特征值。

优选的,所述文件块划分模块,包括:

划分子模块,用于从上传的文件的起始位置开始,每当达到预设的划分阈值时,划分出一个文件块,直到达到上传的文件的结束位置,划分出最后一个文件块;

记录子模块,用于记录在上传的文件中每个文件块的位置;

计算子模块,用于根据每个文件块中存储的内容,计算出每个文件块的特征值。

优选的,所述文件描述信息中还包括:上传的文件中所述特征值对应文件块的位置。

与现有技术相比,本申请包括以下优点:

首先,本申请在下载文件时,不用每次都接收整个请求下载的文件,而是在发送文件请求给服务器后,对应接收服务器发送的文件描述信息,所述文件描述信息中包括将请求下载的文件分块后各个文件块的特征值。再检测本地存储的各个文件块的特征值是否与接收的对应文件块的特征值一致,并将不一致的特征值添加到检测信息中返回给服务器,对应接收服务器发送的所述不一致的特征值相对应的文件块。因此,本申请在文件下载时,可以仅接收与本地存储的不一致的特征值对应的文件块,从而减少了文件传输的时间,并且减少了资源的浪费。

其次,本申请中所述文件描述信息中还包括:请求下载的文件中所述特征值对应文件块的位置。将所述检测信息返回给服务器之前,还可以检测本地存储的一致的特征值对应文件块的位置,与接收的一致特征值对应文件块的位置是否相同。若不相同,不需要重新下载所述文件块,而是将本地存储的一致的特征值对应文件块的位置,修改为接收的一致特征值对应文件块的位置,进一步减少了文件的传输时间,降低资源的浪费。

再次,本申请在文件上传时,会首先将文件分块,然后计算每个文件块的特征值构成文件描述信息发送给服务器。后续可以接收服务器返回的检测信息,其中,所述检测信息中包括与服务器存储的不一致的特征值。再将所述检测信息中不一致的特征值对应的文件块发送给服务器,因此传输的文件块比较少,进而减少文件的上传时间,并且减少了资源的浪费。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本申请实施例所述一种文件的下载方法流程图;

图2是本申请优选实施例所述一种文件的下载方法中文件描述信息的检测方法流程图;

图3是本申请实施例所述一种文件的下载方法示意图;

图4是本申请实施例所述一种文件的上传方法流程图;

图5是本申请实施例所述一种文件的上传方法示意图;

图6是本申请实施例所述一种文件的下载装置结构图;

图7是本申请实施例所述一种文件的上传装置结构图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

现有技术在文件传输中,每次都要传输整个文件,这就会导致文件传输的时间比较长,并且非常浪费网络资源。

本申请提供一种文件的下载方法,可以在文件下载时,可以仅接收与本地存储的不一致的特征值对应的文件块,从而减少了文件传输的时间,并且减少了资源的浪费。

参照图1,给出了本申请实施例所述一种文件的下载方法流程图。

步骤11,发送文件请求给服务器,其中,所述文件请求中包括请求下载的文件名称;

当需要下载服务器的文件时,可以将请求下载的文件的名称作为文件请求的传递参数,然后将所述文件请求发送给服务器。

服务器接收到所述文件请求后,可以从所述文件请求的传递参数中获取请求下载的文件的名称,然后查找在服务器所述请求下载的文件的相关数据。

服务器会保存每个文件分块后的数据,即保存文件分块后各个文件块的特征值。因此,会将所述请求下载的文件所有文件块的特征值添加到文件描述信息中并返回。

步骤12,接收服务器发送的文件描述信息,其中,所述文件描述信息中包括将请求下载的文件分块后各个文件块的特征值;

接收服务器发送的文件描述信息,其中,所述文件描述信息中包括将更新文件分块后各个文件块的特征值。

其中,每个文件块的特征值与文件中存储的内容相关,因此,若文件块中存储的内容不同,则文件块的特征值也不相同。

步骤13,检测本地存储的各个文件块的特征值是否与接收的文件块的特征值一致,并将不一致的特征值添加到检测信息中返回给服务器;

本申请在存储文件时可以分块进行存储,因此可以在本地的数据库中保存本地存储的所有文件的描述信息,包括各个文件块的特征值。

接收到服务器发送的文件描述信息后,可以从所述文件描述信息中获取文件块的特征值,然后检测所述接收的文件块的特征值,与本地的数据库中存储的各个文件块的特征值是否一致。并且将所述接收的文件块的特征值中,与本地的数据库中存储的不一致的特征值添加到检测信息中返回给服务器。

例如,请求下载的文件是本地存储的原始文件对应的更新文件,则所述更新文件中存储的内容和本地存储的原始文件中存储的内容中一部分相同,另一部分不同。为了降低资源的消耗,针对更新文件和原始文件中内容相同的部分可以不重新下载,而下载更新文件和原始文件中内容不同的部分。即实际处理中,可以仅下载更新文件和原始文件中不相同的文件块。

文件块中存储内容相同与否有文件块的特征值进行区分,因此,针对文件描述信息中更新文件分块后各个文件块的特征值,可以检测本地存储的原始文件中各个文件块的特征值是否与接收的对应文件块的特征值一致。并将与所述原始文件中不一致的特征值添加到检测信息中返回给服务器,以此通知服务器要接收的更新文件的文件块。

当然,更新文件仅仅是本申请的中请求下载的文件中的一种,本申请针对请求下载的所有文件都会进行检测,以尽量减少资源的浪费。

步骤14,接收服务器发送的所述不一致的特征值相对应的文件块。

服务器在接收到检测信息后,可以发送检测信息中所述不一致的特征值对应的文件块。对应可以接收到服务器发送的所述不一致的特征值相对应的文件块。

综上所述,本申请在下载文件时,不用每次都接收整个请求下载的文件,而是在发送文件请求给服务器后,对应接收服务器发送的文件描述信息,所述文件描述信息中包括将请求下载的文件分块后各个文件块的特征值。再检测本地存储的各个文件块的特征值是否与接收的对应文件块的特征值一致,并将不一致的特征值添加到检测信息中返回给服务器,对应接收服务器发送的所述不一致的特征值相对应的文件块。因此,本申请在文件下载时,可以仅接收与本地存储的不一致的特征值对应的文件块,从而减少了文件传输的时间,并且减少了资源的浪费。

执行完上述步骤后,后续可以将所述不一致的特征值相对应的文件块,和本地存储的一致的特征值对应的文件块合并成请求下载的文件。

如上例针对所述的更新文件和原始文件而言,在接收到所述不一致的特征值相对应的文件块后,可以将所述不一致的特征值相对应的文件块和本地存储的原始文件中相一致的特征值对应的文件块合并成请求下载的文件,即更新文件,从而完成文件的下载。

参照图2,给出了本申请优选实施例所述一种文件的下载方法中文件描述信息的检测方法流程图。

优选的,所述检测本地存储的各个文件块的特征值是否与接收的文件块的特征值一致,并将不一致的特征值添加到检测信息中返回给服务器,包括:

步骤131,检测本地存储的各个文件块的特征值是否与接收的文件块的特征值一致;

终端接收到服务器发送的文件描述信息后,可以检测请求下载的文件和本地存储的文件中哪些文件块是相同的,哪些文件块是不同的,即检测本地存储的各个文件块的特征值是否与接收的文件描述信息中文件块的特征值一致。

若否,即本地存储的各个文件块的特征值与接收的文件块的特征值不一致,则执行步骤132;若是,即本地存储的各个文件块的特征值与接收的文件块的特征值一致,则执行步骤133。

步骤132,将与本地存储的不一致的特征值添加到检测信息中;

若本地存储的文件块的特征值与接收的对应文件块的特征值不一致,则所述文件块没有在本地存储,因此将所述不一致的特征值添加到检测信息中。

步骤133,在检测信息中过滤与本地存储的一致的特征值;

若本地存储的某个文件块的特征值与接收的对应文件块的特征值一致,则所述文件块已经在本地存储了,在检测信息中过滤所述原始文件中一致的特征值,即在检测信息中不添加所述原始文件中一致的特征值。

后续可以将所述检测信息返回给服务器。

优选的,所述文件描述信息中还包括:请求下载的文件中所述特征值对应文件块的位置。

对文件进行分块后还要知道每个文件块在文件中的位置,例如以数字连续编号,一个文件分成文件块1~10,则后续可以按照各个文件块的位置将文件块合并成文件。

步骤134,检测本地存储的一致的特征值对应文件块的位置,和接收的一致特征值对应文件块的位置是否相同;

可以根据各个文件块的特征值和位置将文件块合并成相应的文件,因此,若文件块的特征值一致,但文件块的位置不相同,后续再合并成文件时会出现问题。因此当本地存储的某个文件块的特征值与接收的对应文件块的特征值一致时,此时还需要检测本地存储的一致的特征值对应文件块的位置,和接收的一致特征值对应文件块的位置是否相同。

如上例中,原始文件进行升级等形成更新文件后,其中一些内容相同的文件块的位置可能是不同的。因此,当本地存储的原始文件中某个文件块的特征值与接收的对应文件块的特征值一致时,还可以检测本地存储的原始文件中一致的特征值对应文件块的位置,与接收的一致特征值对应文件块的位置是否相同。

若否,即本地存储的一致的特征值对应文件块的位置,和接收的一致特征值对应文件块的位置不相同,则执行步骤135;若使,即本地存储的一致的特征值对应文件块的位置,和接收的一致特征值对应文件块的位置相同,则执行步骤136。

步骤135,将本地存储的一致的特征值对应文件块的位置,修改为接收的一致特征值对应文件块的位置。

若本地存储的一致的特征值对应文件块的位置,与接收的一致特征值对应文件块的位置不相同,则可以将本地存储的一致的特征值对应文件块的位置,修改为接收的一致特征值对应文件块的位置。

步骤136,将所述检测信息返回给服务器。

将添加了与本地存储的不一致的特征值的检测信息返回给服务器。

优选的,所述接收网络服务器发送的所述不一致的特征值相对应的文件块之后,还包括:

将接收的不一致的特征值对应的文件块,和本地存储相一致的特征值对应的文件块,按照各个文件块的位置排列后进行合并,构成请求下载的文件。

终端将接收的所述不一致的特征值相对应的文件块,和本地存储的相一致的特征值对应的文件块,按照每个文件块的位置进行排列,然后将所述排列后的文件块进行合并,构成请求下载的文件。

参照图3,给出了本申请实施例所述一种文件的下载方法示意图。

3.1服务器将文件分块存储,并记录每个文件块的特征值和位置;

3.2终端发送文件请求给服务器,其中,所述文件请求中包括请求下载的文件的名称;

3.3服务器将请求下载的文件对应的文件描述信息发送给终端;

其中,所述文件描述信息包括请求下载的文件中各个文件块的特征值和位置;

3.4终端检测文件描述信息中文件块的特征值与本地存储的文件块的特征值是否一致;

3.5终端将不一致的特征值构成检测信息返回给服务器;

3.6服务器将所述不一致的特征值对应的文件块发送给终端;

3.7终端将所述不一致的特征值对应的文件块,和本地存储的一致的特征值对应的文件块合并成请求下载的文件。

综上所述,本申请中所述文件描述信息中还包括:请求下载的文件中所述特征值对应文件块的位置。将所述检测信息返回给服务器之前,还可以检测本地存储的一致的特征值对应文件块的位置,与接收的一致特征值对应文件块的位置是否相同。若不相同,不需要重新下载所述文件块,而是将本地存储的一致的特征值对应文件块的位置,修改为接收的一致特征值对应文件块的位置,进一步减少了文件的传输时间,降低资源的浪费。

参照图4,给出了本申请实施例所述一种文件的上传方法流程图。

相应的本申请还提供了一种文件的上传方法,包括以下步骤:

步骤41,将上传的文件分成若干个文件块,并计算每个文件块的特征值;

终端在上传文件之前,会先将上传的文件分成若干个文件块,并且计算每个文件块的特征值。具体包括:

步骤411,从上传的文件的起始位置开始,每当达到预设的划分阈值时,划分出一个文件块,直到达到上传的文件的结束位置,划分出最后一个文件块;

本申请中预设了划分阈值,可以根据所述划分阈值对上传的文件进行划分。所述划分阈值为每个文件块的最大值。

例如,划分阈值为512k,假设上传的文件时2.1M,则从所述上传的文件的起始位置开始,当达到512k时,划分出第一个文件块,然后再次当达到512k时,划分出第二个文件块,依次划分出了4个文件块后,达到上传的文件的结束位置时剩余102k,不足512k,则将上传的文件中这最后的102k构成最后一个文件块。则所述上传的文件总共分了5个文件块,其中前4个文件块的大小为512k,最后一个文件块的大小是102k。

步骤412,记录在上传的文件中每个文件块的位置;

然后可以记录在上传的文件中每个文件块的位置,例如,采用数字对文件块进行连续编号,如上例中上传的文件划分出文件块1~5;又如,可以按照划分编号,如第一个文件块的位置是0~512k,第一个文件块的位置是513~1024k等。

由于现有技术中针对位置的记录方法有很多种,因此本申请中不再赘述。

步骤413,根据每个文件块中存储的内容,计算出每个文件块的特征值。

然后可以根据每个文件块中存储的内容,计算所述文件块的特征值。例如,采用哈希(hash)算法计算每个文件块的哈希值,可以采用Hash算法中的md5算法,sha算法等。例如,采用md5算法计算出每个文件块的md5值。

步骤42,将各个文件块的特征值构成文件描述信息并发送;

优选的,所述文件描述信息,还包括:上传的文件中所述特征值对应文件块的位置。因此可以将各个文件块的特征值和所述特征值对应文件块的位置构成文件描述信息,然后将所述文件描述信息发送到服务器。

步骤43,接收服务器返回的检测信息,并将所述检测信息中不一致的特征值相对应的文件块发送给服务器,其中,所述检测信息中包括与服务器存储的不一致的特征值。

终端可以接收服务器的检测信息,其中,所述检测信息中包括与服务器存储的不一致的特征值。然后可以获取与所述检测信息中不一致的特征值相对应的文件块,然后将所述文件块发送给服务器。

其中,服务器对文件块的特征值的检测方法如上述实施例所述,此处不再赘述。

参照图5,给出了本申请实施例所述一种文件的上传方法示意图。

5.1终端将上传的文件分块并记录文件块的位置,计算文件块的特征值;

其中,将文件块的位置和文件块的特征值构成文件描述信息。

5.2终端将文件描述信息发送给服务器;

5.3服务器检测文件描述信息中文件块的特征值与服务器中存储的文件块的特征值是否一致;

5.4服务器将不一致的特征值构成检测信息返回给终端;

5.5终端将所述不一致的特征值对应的文件块发送给服务器;

5.6服务器将所述不一致的特征值对应的文件块和服务器存储的一致的特征值对应的文件块合并成上传的文件。

其中,本申请所述终端可以包括计算机,还包括移动终端如手机、平板电脑等。

综上所述,本申请在文件上传时,会首先将文件分块,然后计算每个文件块的特征值构成文件描述信息发送给服务器。后续可以接收服务器返回的检测信息,其中,所述检测信息中包括与服务器存储的不一致的特征值。再将所述检测信息中不一致的特征值对应的文件块发送给服务器,因此传输的文件块比较少,进而减少文件的上传时间,并且减少了资源的浪费。

参照图6,给出了本申请实施例所述一种文件的下载装置结构图。

相应的,本申请中还提供了一种文件的下载装置,包括:请求发送模块11、第一接收模块12、检测并返回模块13和第二接收模块14,其中:

请求发送模块11,用于发送文件请求给服务器,其中,所述文件请求中包括请求下载的文件的名称;

接收模块12,用于接收服务器发送的文件描述信息,其中,所述文件描述信息中包括将请求下载的文件分块后各个文件块的特征值;

检测并返回模块13,用于检测本地存储的各个文件块的特征值是否与接收的文件块的特征值一致,并将不一致的特征值添加到检测信息中返回给服务器;

接收并合并模块14,用于接收服务器发送的所述不一致的特征值相对应的文件块。

优选的,所述检测并返回模块13,包括:

第一检测子模块131,用于检测本地存储的各个文件块的特征值是否与接收的文件块的特征值一致,若是,则触发过滤子模块133,若否,则触发添加子模块132;

添加子模块132,用于将与本地存储的不一致的特征值添加到检测信息中;

过滤子模块133,用于在检测信息中过滤与本地存储的一致的特征值;

优选的,所述文件描述信息中还包括:请求下载的文件中所述特征值对应文件块的位置,

第二检测子模块134,用于检测本地存储的一致的特征值对应文件块的位置,和接收的一致特征值对应文件块的位置是否相同,若不相同,则触发修改子模块135;

修改子模块135,用于将本地存储的一致的特征值对应文件块的位置,修改为接收的一致特征值对应文件块的位置。

返回子模块136,用于将所述检测信息返回给服务器。

优选的,所述的装置还包括:

文件合并模块15,用于将接收的不一致的特征值对应的文件块,和本地存储的一致的特征值对应的文件块,按照各个文件块的位置排列后进行合并,构成请求下载的文件。

参照图7,给出了本申请实施例所述一种文件的上传装置结构图。

相应的,本申请还提供了一种文件的上传装置,包括:文件块划分模块21、构成并发送模块22和接收并发送模块23,其中:

文件块划分模块21,用于将上传的文件分成若干个文件块,并计算每个文件块的特征值;

构成并发送模块22,用于将各个文件块的特征值构成文件描述信息并发送给服务器;

接收并发送模块23,用于接收服务器返回的检测信息,并将所述检测信息中不一致的特征值对应的文件块发送给服务器,其中,所述检测信息中包括与服务器存储的文件中不一致的特征值。

优选的,所述文件块划分模块21,包括:

划分子模块211,用于从上传的文件的起始位置开始,每当达到预设的划分阈值时,划分出一个文件块,直到达到上传的文件的结束位置,划分出最后一个文件块;

记录子模块212,用于记录在上传的文件中每个文件块的位置;

计算子模块213,用于根据每个文件块中存储的内容,计算出每个文件块的特征值。

优选的,所述文件描述信息中还包括:上传的文件中所述特征值对应文件块的位置。

综上所述,首先,本申请在下载文件时,不用每次都接收整个请求下载的文件,而是在发送文件请求给服务器后,对应接收服务器发送的文件描述信息,所述文件描述信息中包括将请求下载的文件分块后各个文件块的特征值。再检测本地存储的各个文件块的特征值是否与接收的对应文件块的特征值一致,并将不一致的特征值添加到检测信息中返回给服务器,对应接收服务器发送的所述不一致的特征值相对应的文件块。因此,本申请在文件下载时,可以仅接收与本地存储的不一致的特征值对应的文件块,从而减少了文件传输的时间,并且减少了资源的浪费。

其次,本申请中所述文件描述信息中还包括:请求下载的文件中所述特征值对应文件块的位置。将所述检测信息返回给服务器之前,还可以检测本地存储的一致的特征值对应文件块的位置,与接收的一致特征值对应文件块的位置是否相同。若不相同,不需要重新下载所述文件块,而是将本地存储的一致的特征值对应文件块的位置,修改为接收的一致特征值对应文件块的位置,进一步减少了文件的传输时间,降低资源的浪费。

再次,本申请在文件上传时,会首先将文件分块,然后计算每个文件块的特征值构成文件描述信息发送给服务器。后续可以接收服务器返回的检测信息,其中,所述检测信息中包括与服务器存储的不一致的特征值。再将所述检测信息中不一致的特征值对应的文件块发送给服务器,因此传输的文件块比较少,进而减少文件的上传时间,并且减少了资源的浪费。

对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。

本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。

以上对本申请所提供的一种文件的下载方法及装置,和一种文件的接收方法及装置,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1