CN102739791B - 一种文件的下载、上传方法及装置 - Google Patents

一种文件的下载、上传方法及装置 Download PDF

Info

Publication number
CN102739791B
CN102739791B CN201210223845.8A CN201210223845A CN102739791B CN 102739791 B CN102739791 B CN 102739791B CN 201210223845 A CN201210223845 A CN 201210223845A CN 102739791 B CN102739791 B CN 102739791B
Authority
CN
China
Prior art keywords
file
characteristic value
files
blocks
consistent
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.)
Active - Reinstated
Application number
CN201210223845.8A
Other languages
English (en)
Other versions
CN102739791A (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.)
3600 Technology Group Co ltd
Original Assignee
Beijing Qihoo Technology Co Ltd
Qizhi Software Beijing 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 Beijing Qihoo Technology Co Ltd, Qizhi Software Beijing Co Ltd filed Critical Beijing Qihoo Technology Co Ltd
Priority to CN201210223845.8A priority Critical patent/CN102739791B/zh
Priority to CN201710134698.XA priority patent/CN106850842A/zh
Publication of CN102739791A publication Critical patent/CN102739791A/zh
Application granted granted Critical
Publication of CN102739791B publication Critical patent/CN102739791B/zh
Active - Reinstated 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/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • 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 Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本申请提供了一种文件的下载方法及装置,一种文件的上传方法及装置,以解决现有技术中文件传输时传输的时间比较长,并且非常浪费网络资源的问题。所述的下载方法包括:发送文件请求给服务器,其中,所述文件请求中包括请求下载的文件的名称;接收服务器发送的文件描述信息,其中,所述文件描述信息中包括将请求下载的文件分块后各个文件块的特征值;检测本地存储的各个文件块的特征值是否与接收的文件块的特征值一致,并将不一致的特征值添加到检测信息中返回给服务器;接收服务器发送的所述不一致的特征值相对应的文件块。本申请可以仅下载与本地存储的不一致的特征值对应的文件块,从而减少了文件传输的时间,并且减少了资源的浪费。

Description

一种文件的下载、上传方法及装置
技术领域
本申请涉及数据存储技术,特别是涉及一种文件的下载方法及装置,和一种文件的上传方法及装置。
背景技术
网络的发展使得用户只要连接了网络,就可以在不同的地方共享相同的数据资源。用户可以通过网络实现文件的传输,可以将本地存储的文件上传到网络,也可以将网络存储的文件下载到本地。
而实际处理中,在文件进行传输时,有时会进行文件的新、旧版本的更换。例如,一些软件的配置文件在升级时,可以将存储在服务器的配置文件下载到本地。又如,使用办公室电脑和家庭电脑进行办公时,用户在家中使用家庭电脑继续修改工作文件,可以在上班之前将家庭电脑中存储的修改后的工作文件上传到网络,上班后,可以将网络中存储的所述修改后的文件下载到办公室电脑中继续办公。
但是,文件的新、旧版本的更换时,新、旧版本间可能只有一小部分发生了变化,例如,服务器上有游戏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,用于根据每个文件块中存储的内容,计算出每个文件块的特征值。
优选的,所述文件描述信息中还包括:上传的文件中所述特征值对应文件块的位置。
综上所述,首先,本申请在下载文件时,不用每次都接收整个请求下载的文件,而是在发送文件请求给服务器后,对应接收服务器发送的文件描述信息,所述文件描述信息中包括将请求下载的文件分块后各个文件块的特征值。再检测本地存储的各个文件块的特征值是否与接收的对应文件块的特征值一致,并将不一致的特征值添加到检测信息中返回给服务器,对应接收服务器发送的所述不一致的特征值相对应的文件块。因此,本申请在文件下载时,可以仅接收与本地存储的不一致的特征值对应的文件块,从而减少了文件传输的时间,并且减少了资源的浪费。
其次,本申请中所述文件描述信息中还包括:请求下载的文件中所述特征值对应文件块的位置。将所述检测信息返回给服务器之前,还可以检测本地存储的一致的特征值对应文件块的位置,与接收的一致特征值对应文件块的位置是否相同。若不相同,不需要重新下载所述文件块,而是将本地存储的一致的特征值对应文件块的位置,修改为接收的一致特征值对应文件块的位置,进一步减少了文件的传输时间,降低资源的浪费。
再次,本申请在文件上传时,会首先将文件分块,然后计算每个文件块的特征值构成文件描述信息发送给服务器。后续可以接收服务器返回的检测信息,其中,所述检测信息中包括与服务器存储的不一致的特征值。再将所述检测信息中不一致的特征值对应的文件块发送给服务器,因此传输的文件块比较少,进而减少文件的上传时间,并且减少了资源的浪费。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上对本申请所提供的一种文件的下载方法及装置,和一种文件的接收方法及装置,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (6)

1.一种文件的下载方法,其特征在于,包括:
发送文件请求给服务器,其中,所述文件请求中包括请求下载的文件的名称;
接收服务器发送的文件描述信息,其中,所述文件描述信息中包括将请求下载的文件分块后各个文件块的特征值,和请求下载的文件中所述特征值对应文件块的位置,所述特征值是根据每个文件块中存储的内容计算的;
检测本地存储的各个文件块的特征值是否与接收的文件块的特征值一致;
若是,则在检测信息中过滤与本地存储的一致的特征值;
若否,则将与本地存储的不一致的特征值添加到检测信息中;
将检测信息返回给服务器;
接收服务器发送的所述不一致的特征值相对应的文件块;
将检测信息返回给服务器之前,还包括:将本地存储的一致的特征值对应文件块的位置,修改为接收的一致特征值对应文件块的位置。
2.根据权利要求1所述的方法,其特征在于,所述将本地存储的一致的特征值对应文件块的位置,修改为接收的一致特征值对应文件块的位置的步骤,包括:
检测本地存储的一致的特征值对应文件块的位置,和接收的一致特征值对应文件块的位置是否相同;
若不相同,则将本地存储的一致的特征值对应文件块的位置,修改为接收的一致特征值对应文件块的位置。
3.根据权利要求2所述的方法,其特征在于,所述接收网络服务器发送的所述不一致的特征值相对应的文件块之后,还包括:
将接收的不一致的特征值对应的文件块,和本地存储的一致的特征值对应的文件块,按照各个文件块的位置排列后进行合并,构成请求下载的文件。
4.一种文件的下载装置,其特征在于,包括:
请求发送模块,用于发送文件请求给服务器,其中,所述文件请求中包括请求下载的文件的名称;
接收模块,用于接收服务器发送的文件描述信息,其中,所述文件描述信息中包括将请求下载的文件分块后各个文件块的特征值,和请求下载的文件中所述特征值对应文件块的位置,所述特征值是根据每个文件块中存储的内容计算的;
检测并返回模块,用于检测本地存储的各个文件块的特征值是否与接收的文件块的特征值一致,并将不一致的特征值添加到检测信息中返回给服务器;
接收并合并模块,用于接收服务器发送的所述不一致的特征值相对应的文件块;
所述检测并返回模块,还用于将本地存储的一致的特征值对应文件块的位置,修改为接收的一致特征值对应文件块的位置;
其中,所述检测并返回模块,包括:第一检测子模块,用于检测本地存储的各个文件块的特征值是否与接收的对应文件块的特征值一致,若是,则触发过滤子模块,若否,则触发添加子模块;添加子模块,用于将与本地存储的不一致的特征值添加到检测信息中;过滤子模块,用于在检测信息中过滤与本地存储的一致的特征值;返回子模块,用于将所述检测信息返回给服务器。
5.根据权利要求4所述的装置,其特征在于,所述检测并返回模块,包括:
第二检测子模块,用于检测本地存储的一致的特征值对应文件块的位置,和接收的一致特征值对应文件块的位置是否相同,若不相同,则触发修改子模块;
修改子模块,用于将本地存储的一致的特征值对应文件块的位置,修改为接收的一致特征值对应文件块的位置。
6.根据权利要求5所述的装置,其特征在于,还包括:
文件合并模块,用于将接收的不一致的特征值对应的文件块,和本地存储的相一致的特征值对应的文件块,按照各个文件块的位置排列后进行合并,构成请求下载的文件。
CN201210223845.8A 2012-06-28 2012-06-28 一种文件的下载、上传方法及装置 Active - Reinstated CN102739791B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201210223845.8A CN102739791B (zh) 2012-06-28 2012-06-28 一种文件的下载、上传方法及装置
CN201710134698.XA CN106850842A (zh) 2012-06-28 2012-06-28 一种文件的下载、上传方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210223845.8A CN102739791B (zh) 2012-06-28 2012-06-28 一种文件的下载、上传方法及装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN201710134698.XA Division CN106850842A (zh) 2012-06-28 2012-06-28 一种文件的下载、上传方法及装置

Publications (2)

Publication Number Publication Date
CN102739791A CN102739791A (zh) 2012-10-17
CN102739791B true CN102739791B (zh) 2017-04-05

Family

ID=46994562

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201210223845.8A Active - Reinstated CN102739791B (zh) 2012-06-28 2012-06-28 一种文件的下载、上传方法及装置
CN201710134698.XA Pending CN106850842A (zh) 2012-06-28 2012-06-28 一种文件的下载、上传方法及装置

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201710134698.XA Pending CN106850842A (zh) 2012-06-28 2012-06-28 一种文件的下载、上传方法及装置

Country Status (1)

Country Link
CN (2) CN102739791B (zh)

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103780658B (zh) * 2012-10-25 2017-09-12 中国电信股份有限公司 文件下载方法、装置和系统
CN103902299B (zh) * 2012-12-24 2017-03-29 航天信息股份有限公司 一种软件版本的更新方法和系统
CN103095824B (zh) * 2013-01-09 2016-01-20 广东一一五科技有限公司 文件上传控制方法及系统
CN103108033B (zh) * 2013-01-09 2015-11-18 广东一一五科技有限公司 文件上传方法及系统
CN103942208B (zh) * 2013-01-18 2018-07-06 联想(北京)有限公司 文件处理方法及装置
CN104079704A (zh) * 2013-03-26 2014-10-01 联想(北京)有限公司 对数据进行同步的移动终端和服务器及相应的方法
CN103248711B (zh) * 2013-05-23 2016-08-24 华为技术有限公司 一种文件上传的方法和服务器
CN104424225B (zh) * 2013-08-26 2018-08-31 联想(北京)有限公司 基于文件传输过程的文件处理方法及装置
CN104580268A (zh) * 2013-10-09 2015-04-29 南京中兴新软件有限责任公司 文件数据的传输方法及装置
WO2015085939A1 (zh) * 2013-12-12 2015-06-18 北京奇虎科技有限公司 一种文件传输方法、设备和系统
CN103780676B (zh) * 2013-12-12 2017-04-26 北京奇虎科技有限公司 一种文件传输方法、设备和系统
CN103955544A (zh) * 2014-05-21 2014-07-30 北京奇艺世纪科技有限公司 一种文件上传方法及上传系统
CN105577712B (zh) * 2014-10-10 2019-06-11 腾讯科技(深圳)有限公司 一种文件上传方法、装置和系统
CN104468709A (zh) * 2014-11-02 2015-03-25 佛山美阳瓴电子科技有限公司 利用智能电子设备上传和分享信息的装置和方法
CN104270474A (zh) * 2014-11-02 2015-01-07 佛山美阳瓴电子科技有限公司 一种在网络中分享信息的装置和方法
CN104378422A (zh) * 2014-11-13 2015-02-25 中国联合网络通信有限公司保定市分公司 一种移动终端及其文件传输方法和系统
CN105208108B (zh) * 2015-08-31 2019-02-19 北京奇虎科技有限公司 Web环境下的文件上传/下载方法及系统、服务器、客户端
CN105100274A (zh) * 2015-08-31 2015-11-25 北京奇虎科技有限公司 Web环境下的文件上传/下载方法及系统、客户端、服务器
CN106911758A (zh) * 2015-12-23 2017-06-30 北京奇虎科技有限公司 文件获取系统
CN106909591A (zh) * 2015-12-23 2017-06-30 北京奇虎科技有限公司 文件获取方法、装置与系统
CN106911751A (zh) * 2015-12-23 2017-06-30 北京奇虎科技有限公司 文件获取方法、装置与系统
CN107623709A (zh) * 2016-07-15 2018-01-23 北京金山云网络技术有限公司 一种文件下载方法及装置
CN107623710A (zh) * 2016-07-15 2018-01-23 深圳市斑点猫信息技术有限公司 一种文件上传方法及终端
CN107632993B (zh) * 2016-07-19 2021-06-18 深圳市斑点猫信息技术有限公司 一种快速排重方法及终端
CN106302641B (zh) 2016-07-27 2019-10-01 北京小米移动软件有限公司 一种上传文件的方法、装置和系统
CN106302715B (zh) * 2016-08-12 2020-02-14 北京奇虎科技有限公司 一种文件管理方法、装置及系统
CN106455049B (zh) 2016-09-18 2020-03-03 北京小米移动软件有限公司 基于无线局域网的定位方法及装置
CN106341480B (zh) * 2016-09-20 2019-12-20 北京奇虎科技有限公司 数据包的上传方法及装置
CN106446138B (zh) * 2016-09-20 2020-11-20 北京奇虎科技有限公司 数据包的存储方法及装置
CN106886589B (zh) * 2017-02-20 2020-08-11 浪潮通用软件有限公司 一种图片存储方法、服务端以及客户端
CN109040191B (zh) * 2018-07-03 2021-11-09 平安科技(深圳)有限公司 文件下载方法、装置、计算机设备和存储介质
CN109922142B (zh) * 2019-02-21 2022-04-19 创新先进技术有限公司 一种文件下载方法、装置及系统
CN110769030A (zh) * 2019-09-12 2020-02-07 上海艾拉比智能科技有限公司 下载文件的方法、终端、服务器和存储介质
CN111193785B (zh) * 2019-12-20 2023-05-02 北京淇瑀信息科技有限公司 一种文件切割传输方法、装置和电子设备
CN113608688B (zh) * 2021-07-14 2023-09-26 远景智能国际私人投资有限公司 数据迁移方法、装置、设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101017435A (zh) * 2006-04-14 2007-08-15 北京瑞星国际软件有限公司 一种用于软件升级的方法及装置
CN101552669A (zh) * 2008-04-02 2009-10-07 林兆祥 数据传输的方法及系统
CN102200915A (zh) * 2010-03-22 2011-09-28 珠海金山快快科技有限公司 一种软件包版本迁移的方法及装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101546320B (zh) * 2008-03-27 2011-11-16 北京兴宇中科科技开发股份有限公司 一种基于滑动窗口的数据差异分析方法
WO2009132261A1 (en) * 2008-04-25 2009-10-29 Vmware, Inc. Updating a file using differences and file format therefor
CN101699822A (zh) * 2009-08-06 2010-04-28 腾讯科技(深圳)有限公司 一种文件上传方法、装置和海量存储系统
US20120036366A1 (en) * 2010-08-09 2012-02-09 Microsoft Corporation Secure and verifiable data handling
CN102065098A (zh) * 2010-12-31 2011-05-18 网宿科技股份有限公司 网络节点之间数据同步的方法和系统
CN102096615A (zh) * 2011-01-25 2011-06-15 上海爱数软件有限公司 远程增量备份方法及系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101017435A (zh) * 2006-04-14 2007-08-15 北京瑞星国际软件有限公司 一种用于软件升级的方法及装置
CN101552669A (zh) * 2008-04-02 2009-10-07 林兆祥 数据传输的方法及系统
CN102200915A (zh) * 2010-03-22 2011-09-28 珠海金山快快科技有限公司 一种软件包版本迁移的方法及装置

Also Published As

Publication number Publication date
CN102739791A (zh) 2012-10-17
CN106850842A (zh) 2017-06-13

Similar Documents

Publication Publication Date Title
CN102739791B (zh) 一种文件的下载、上传方法及装置
US11569982B2 (en) Blockchain compression using summary and padding blocks
CN101529415B (zh) 基于web的应用程序的离线执行
CN103442026B (zh) 一种应用程序处理方法、装置和系统
CN102833258B (zh) 网址访问方法及系统
CN103841170B (zh) 一种云存储方法和服务器
CN106021023B (zh) 应用程序恢复的方法、装置及终端
CN106603311A (zh) Ota升级方法、客户端、服务器和系统
US20130276126A1 (en) Website scanning device and method
CN106550052A (zh) 一种基于opc ua的数据采集装置及方法
CN101459571B (zh) 一种网站镜像的方法、系统及装置
CN101409706A (zh) 一种边缘网络中的数据分发方法、数据分发系统及相关设备
CN102129378A (zh) 一种软件菜单更新方法和装置
CN103366117B (zh) 一种感染型病毒修复方法及系统
CN103220308B (zh) 一种文件下载方法、装置及系统
CN103338249A (zh) 缓存方法及装置
CN102833350A (zh) WebApp更新的处理方法和处理装置
CN110046162B (zh) 辅助证据存证方法、系统、装置及设备
CN106484454A (zh) 差分升级包的处理方法及装置,升级方法、系统及装置
CN103186644A (zh) 一种下载字库文件的方法、设备及系统
CN111740868A (zh) 告警数据的处理方法和装置及存储介质
CN112711612A (zh) 数据处理方法、装置和存储介质及电子装置
US20070061891A1 (en) Environment information transmission method, service controlling system, and computer product
CN106294663A (zh) 一种电子设备、及其应用的图片处理方法及系统
CN103368951A (zh) 文件下载方法及系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
ASS Succession or assignment of patent right

Owner name: BEIJING QIHU TECHNOLOGY CO., LTD.

Free format text: FORMER OWNER: QIZHI SOFTWARE (BEIJING) CO., LTD.

Effective date: 20121101

Owner name: QIZHI SOFTWARE (BEIJING) CO., LTD.

Effective date: 20121101

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: 100016 CHAOYANG, BEIJING TO: 100088 XICHENG, BEIJING

TA01 Transfer of patent application right

Effective date of registration: 20121101

Address after: 100088 Beijing city Xicheng District xinjiekouwai Street 28, block D room 112 (Desheng Park)

Applicant after: BEIJING QIHOO TECHNOLOGY Co.,Ltd.

Applicant after: Qizhi software (Beijing) Co.,Ltd.

Address before: The 4 layer 100016 unit of Beijing city Chaoyang District Jiuxianqiao Road No. 14 Building C

Applicant before: Qizhi software (Beijing) Co.,Ltd.

C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20170405

Termination date: 20190628

CF01 Termination of patent right due to non-payment of annual fee
RR01 Reinstatement of patent right

Former decision: Patent right to terminate

Former decision publication date: 20200623

RR01 Reinstatement of patent right
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20220830

Address after: No. 9-3-401, No. 39, Gaoxin 6th Road, Binhai Science and Technology Park, High-tech Zone, Binhai New District, Tianjin 300000

Patentee after: 3600 Technology Group Co.,Ltd.

Address before: 100088 room 112, block D, 28 new street, new street, Xicheng District, Beijing (Desheng Park)

Patentee before: BEIJING QIHOO TECHNOLOGY Co.,Ltd.

Patentee before: Qizhi software (Beijing) Co.,Ltd.