CN107632993A - 一种快速排重方法及终端 - Google Patents

一种快速排重方法及终端 Download PDF

Info

Publication number
CN107632993A
CN107632993A CN201610571641.1A CN201610571641A CN107632993A CN 107632993 A CN107632993 A CN 107632993A CN 201610571641 A CN201610571641 A CN 201610571641A CN 107632993 A CN107632993 A CN 107632993A
Authority
CN
China
Prior art keywords
file
uploaded
files
blocks
server
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
CN201610571641.1A
Other languages
English (en)
Other versions
CN107632993B (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.)
Shenzhen Spotmau Information Technology Co Ltd
Original Assignee
Shenzhen Spotmau Information Technology 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 Shenzhen Spotmau Information Technology Co Ltd filed Critical Shenzhen Spotmau Information Technology Co Ltd
Priority to CN201610571641.1A priority Critical patent/CN107632993B/zh
Publication of CN107632993A publication Critical patent/CN107632993A/zh
Application granted granted Critical
Publication of CN107632993B publication Critical patent/CN107632993B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明实施例公开了一种快速排重方法及终端,该方法包括:若接收到待上传文件的上传指令,根据预设规则从待上传文件中获取文件块;获取文件块信息,文件块信息包括文件块的大小、偏移量、以及MD5值;向服务器发送查询信息,查询信息包括待上传文件的大小及文件块信息;若接收到服务器返回的第一查询结果,判断第一查询结果是否为服务器中不存在与文件块内容相同的文件块,服务器根据查询信息检索是否存在与文件块的内容相同的文件块以得到第一查询结果;若第一查询结果为不存在,上传待上传文件。本发明实施例还公开了一种终端。本发明实施例能够缩减用时,提高用户体验,适合于在计算能力较弱的移动终端上上传大文件的应用场景。

Description

一种快速排重方法及终端
技术领域
本发明涉及网络技术领域,尤其涉及一种快速排重方法及终端。
背景技术
为了避免不同的用户在云端存储相同内容的文件,或者同一用户在云端存储了名称不同但内容相同的文件,云端必须使用排重手段对内容重复的文件加以识别。目前普遍使用的排重方法是客户端首先计算整个待上传文件的MD5值,然后将文件的长度和文件指纹上传到云端,云端按照文件长度和MD5值进行检索,若检索到与待上传文件具有相同文件长度和MD5值的文件,则用户不需要重新上传,云端也不需要重新存储;如果没有检索到与待上传文件具有相同文件长度和MD5值的文件,则用户需要重新上传,云端需要重新存储。
然而,目前这种排重方法存在以下缺点:
终端的逻辑性不强,即每次都必须对待上传文件的全部内容计算MD5值,然后将MD5值和文件长度上传到云端,以供云端进行排重,因此,目前这种排重方法不适合计算能力较弱的移动设备如手机,如果上传几百兆的文件,在移动设备计算MD5值的耗时长、且影响用户体验。
发明内容
本发明实施例提供一种快速排重方法及终端,其能够缩减用时,提高用户体验。
第一方面,本发明实施例提供了一种快速排重方法,该方法包括:若接收到待上传文件的上传指令,根据预设规则从所述待上传文件中获取文件块;获取文件块信息,所述文件块信息包括所述文件块的大小、偏移量、以及MD5值;向服务器发送查询信息,所述查询信息包括待上传文件的大小及所述文件块信息;若接收到所述服务器返回的第一查询结果,判断所述第一查询结果是否为所述服务器中不存在与所述文件块内容相同的文件块,所述服务器根据所述查询信息检索是否存在与所述文件块的内容相同的文件块以得到所述第一查询结果;若所述第一查询结果为不存在,上传所述待上传文件。
另一方面,本发明实施例提供了一种终端,该终端包括:获取单元,用于若接收到待上传文件的上传指令,根据预设规则从所述待上传文件中获取文件块,以及获取文件块信息,所述文件块信息包括所述文件块的大小、偏移量、以及MD5值;发送单元,用于向服务器发送查询信息,所述查询信息包括待上传文件的大小及所述文件块信息;接收单元,用于若接收到所述服务器返回的第一查询结果,判断所述第一查询结果是否为所述服务器中不存在与所述文件块内容相同的文件块,所述服务器根据所述查询信息检索是否存在与所述文件块的内容相同的文件块以得到所述第一查询结果;上传单元,用于若所述第一查询结果为不存在,上传所述待上传文件。
本发明实施例根据预设规则从待上传文件中获取文件块以及文件块信息,然后向服务器发送查询信息,该查询信息包括待上传文件的大小、以及文件块信息,服务器根据查询信息检索是否存在与该文件块的内容相同的文件块以得到第一查询结果,若该第一查询结果为服务器中不存在与文件块的内容相同的文件块,则上传该待上传文件。本发明实施例通过从待上传文件中获取文件块,及该文件块的MD5值来检索服务器中是否存在与文件块的内容相同的文件块,来判断服务器中是否存在与待上传文件内容相同的文件,从而避免将待上传文件通过终端重复上传以及在服务器中重复存储,同时,优化了终端的系统逻辑,并减少了终端计算量,缩减用时,以提高用户体验,且适合于在计算能力较弱的移动终端上上传大文件的应用场景。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种快速排重方法的示意流程图;
图2是图1中S103的子流程示意图;
图3是本发明另一实施例提供的一种快速排重方法的示意流程图;
图4是本发明又一实施例提供的一种快速排重方法的示意流程图;
图5是本发明实施例提供的一种终端的示意性框图;
图6是本发明另一实施例提供的一种终端的示意性框图;
图7是本发明又一实施例提供的一种终端的示意性框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
参见图1,是本发明实施例提供的一种快速排重方法的示意流程图。该方法可以运行在智能手机(如Android手机、IOS手机等)、平板电脑或电子阅读器等终端中。如图所示,该快速排重方法包括以下步骤S101~S105。
S101,若接收到待上传文件的上传指令,根据预设规则从待上传文件中获取文件块。
具体地,在本发明实施例中,待上传文件的上传指令可以是用户加载待上传文件的操作如在移动终端的触摸操作或在电脑终端上的鼠标操作等。若接收待上传文件的上传指令,根据预设规则从待上传文件中获取文件块。其中,预设规则可以是按照预设大小和预设偏移量从待上传文件中获取文件块,预设偏移量为所获取的文件块在待上传文件中的位置,如按照文件块大小为100K、偏移量为0的规则从待上传文件中获取首部文件块,该首部文件块的大小为100K,由于从待上传文件的始端开始获取,故该首部文件块在待上传文件中的偏移量为0。可以理解地,可从待上传文件中获取多个文件块,这些文件块的大小可以相同也可以不同,此处不作限定。如从待上传文件中获取中部文件块,该中部文件块的大小也可以是100K、偏移量为待上传文件的大小的一半,即从待上传文件的二分之一处获取大小为100K的文件块作为中部文件块,如从待上传文件中获取尾部文件块,该尾部文件块的大小也可以是100K、偏移量为待上传文件的大小减去100K。
S102,获取文件块信息,文件块信息包括文件块的大小、偏移量、以及MD5值。
具体地,在根据预设规则从待上传文件中获取文件块后,需要获取文件块信息,该文件块信息包括文件块的大小、偏移量、以及MD5值。MD5(Message Digest Algorithm消息摘要算法第五版)为计算机安全领域广泛使用的一种散列函数,用以提供消息的完整性保护。MD5为任何文件(不管其大小、格式、数量)产生一个同样独一无二的“数字指纹”,如果任何人对文件做了任何改动,其MD5值也就是对应的“数字指纹”都会发生变化。在本发明实施例中,采用MD5算法获取对应文件块的MD5值。此外,文件块的大小、偏移量可以通过调用指定函数来获取,该技术已经是现有技术,此处不做赘述。
S103,向服务器发送查询信息,该查询信息包括待上传文件的大小及文件块信息。
具体地,在本发明实施例中,在获取文件块信息之后,将待上传文件的大小和文件块信息构建查询信息,并将该查询信息发送给服务器,以供服务器根据该查询信息在服务器上进行对应的检索。为了提高检索概率,可从待上传文件中获取多个文件块,则每一个文件块配置有与该文件块相对应的文件块信息,根据服务器端反应的第一查询结果可选择性地依次将多个文件块发送到服务器进行检索。
具体地,参见图2,是步骤S103的子流程示意图。如图所示,S103包括步骤S201~S203。
S201,向服务器发送待上传文件的大小及一个文件块信息。
具体地,向服务器发送待上传文件的大小和一个文件块信息,该该文件块可以是从待上传文件中获取的首部文件块,并获取该首部文件块对应的文件块信息以便发送到服务器。
S202,若第一查询结果为服务器存在与本次发送的文件块的内容相同的文件块,且待上传文件中还存在未发送过的文件块,从未发送过的文件块中选择一个文件块。
S203,将所选择的文件块所对应的文件块信息发送给所述服务器。
具体地,在本发明实施例中,服务器根据首部文件块信息进行检索并得到第一检索结果集,该第一检索结果集是服务器根据待上传文件的大小及首部文件块信息进行检索后得到的,且第一检索结果集可能包含多个与待上传文件的大小相同的目标文件。若第一查询结果为服务器中存在与本次发送的文件块内容相同的文件块,为了进一步提高检索概率,可从待上传文件中获取多个文件块如三个文件块,依次为首部文件块、中部文件块、及尾部文件块。当将首部文件块信息发送给服务器之后,服务器返回的第一查询结果为存在时,可从中部文件块和尾部文件块中选择一个文件块并将其对应的文件块信息发送给服务器进行再次检索,如将尾部文件块信息发送给服务器,服务器根据尾部文件块信息在第一检索结果集中进行检索并得到第二检索结果集以及查询结果,若该查询结果为存在,则将中部文件块信息发送服务器进行再次检索,同样地,服务器根据中部文件块信息在第二检索结果集中进行检索以得到第三检索结果集。若针对中部文件块信息的查询结果依然为存在,则执行步骤S104。若多个文件块中的任何一个文件块对应的查询结果为不存在,则直接上传待上传文件。通过这种多个文件块的依次检索,可以增加通过文件块来排重的概率。
S104,若接收到服务器返回的第一查询结果,判断所述第一查询结果是否为所述服务器中不存在与所述文件块内容相同的文件块,服务器根据查询信息检索是否存在与文件块内容相同的文件块以得到第一查询结果。
具体地,在本发明实施例中,该第一查询结果用于表示服务器中是否存在与该文件块的内容相同的文件块,通过判断第一查询结果是否为服务器中不存在与所述文件块内容相同的文件块,终端根据该第一查询结果选择性地上传待上传文件。
S105,若第一查询结果为不存在,上传待上传文件。
具体地,在本发明实施例中,若第一查询结果为不存在,说明服务器中不存在与待上传文件内容相同的文件,因此直接上传该待上传文件。
本发明实施例根据预设规则从待上传文件中获取文件块以及文件块信息,然后向服务器发送查询信息,该查询信息包括待上传文件的大小、以及文件块信息,服务器根据查询信息检索是否存在与该文件块的内容相同的文件块以得到第一查询结果,若该第一查询结果为服务器中不存在与文件块的内容相同的文件块,则上传该待上传文件。本发明实施例通过从待上传文件中获取文件块,及该文件块的MD5值来检索服务器中是否存在与文件块的内容相同的文件块,来判断服务器中是否存在与待上传文件内容相同的文件,从而避免将待上传文件通过终端重复上传以及在服务器中重复存储,同时,优化了终端的系统逻辑,并减少了终端计算量,缩减用时,以提高用户体验,且适合于在计算能力较弱的移动终端上上传大文件的应用场景。
参见图3,是本发明另一实施例提供的一种快速排重方法的示意流程图。如图所示,该快速排重方法包括以下步骤S301~S309。
S301,若接收到待上传文件的上传指令,根据预设规则从待上传文件中获取文件块。
S302,获取文件块信息,文件块信息包括文件块的大小、偏移量、以及MD5值。
S303,向服务器发送查询信息,查询信息包括待上传文件的大小及文件块信息。
S304,接收服务器返回的第一查询结果,服务器根据查询信息检索是否存在与文件块内容相同的文件块以得到第一查询结果。
S305,若第一查询结果为不存在,上传待上传文件。
步骤S301~305如上所述,此处不再赘述。
S306,若第一查询结果为存在,获取待上传文件的MD5值。
具体地,若服务器中包含有与所获取的文件块的内容相同的文件块,为了进一步检索服务器中是否存在与该待上传文件内容相同的文件,需要获取待上传文件的MD5值。
S306,向服务器发送待上传文件的MD5值。
具体地,获取待上传文件的MD5值后,并将待上传文件的MD5值发送给服务器以便服务器进行检索。需要说明的是,服务器可从若干个文件块对应的检索结果集中根据待上传文件的MD5值进行检索,以便缩小检索范围,减少服务器的检索用时。
S307,若接收到服务器返回的第二查询结果,判断第二查询结果是否为服务器中不存在与待上传文件的内容相同的文件,根据待上传文件的MD5值检索是否存在与待上传文件的内容相同的文件以得到第二查询结果。
具体地,第二查询结果用于表示服务器中是否存在与该待上传文件内容相同的文件。服务器根据接收的待上传文件的MD5值进行检索以得到该第二查询结果。
S309,若第二查询结果为不存在,上传待上传文件。
具体地,若第二查询结果为不存在,则表示服务器中不存在与该待上传文件内容相同的文件,直接上传该待上传文件至服务器中,以实现在服务器中进行存储。可以理解地,若第二查询结果为存在,则表示服务器中存在与该待上传文件内容相同的文件,为避免重复存储,该第二查询结果还可以是显示上传成功信息通知,从而避免通过终端进行重复上传以及避免在服务器中对相同内容的文件进行重复存储。
本发明实施例通过从待上传文件中获取文件块,并通过获取该文件块的MD5值来检索服务器中是否存在与文件块内容相同的文件块,若服务器中存在与文件块内容相同的文件块,通过获取整个待上传文件的MD5值来检索服务器中是否存在与待上传文件内容相同的文件,从而进一步避免待上传文件通过终端重复上传以及在服务器中重复存储,同时还优化了终端系统逻辑,以提高用户体验,且适合于在计算能力较弱的移动终端上上传大文件的应用场景。
参见图4,是本发明又一实施例提供的一种快速排重方法的示意流程图。如图所示,该快速排重方法包括以下步骤S401~S410。
S401,若接收到待上传文件的上传指令,判断待上传文件的大小是否超过预设文件大小阈值。
为了细分待上传文件的上传方式,需要对待上传文件进行进一步的判断,在本发明实施例中,若接收到待上传文件的上传指令,判断待上传文件的大小是否超过预设文件大小阈值。其中,预设文件大小阈值如可以设置为100M,实际设置时,可以根据运行终端的计算性能进行设定。
S402,若待上传文件的大小超过预设文件大小阈值,从待上传文件中获取所述文件块。
具体地,若待上传文件的大小超过了预设文件大小阈值,则说明该待上传文件较大,在终端中计算整个文件的MD5值需要耗时较长,在本发明实施例中,若待上传文件为大文件时,通过从待上传文件中获取所述文件块来初步判断服务器中是否包含该待上传文件。
S403,获取文件块信息,文件块信息包括文件块的大小、偏移量、以及MD5值。
S404,向服务器发送查询信息,查询信息包括待上传文件的大小及文件块信息。
S405,若接收到服务器返回的第一查询结果,判断所述第一查询结果是否为所述服务器中不存在与所述文件块内容相同的文件块,服务器根据查询信息检索是否存在与文件块内容相同的文件块以得到第一查询结果。
S406,若第一查询结果为不存在,上传待上传文件。
步骤S402~S406同上,此处不再赘述。
S407,若待上传文件的大小没有超过预设文件大小阈值,获取待上传文件信息,待上传文件信息包括待上传文件的大小、及MD5值。
具体地,若待上传文件的大小没有超过预设文件大小阈值,则表明待上传文件的大小较小,终端能够较快的计算出待上传文件的MD5值,且不会影响终端运行性能。在本发明实施例中,若待上传文件的大小没有超过预设文件大小阈值,获取待上传文件信息,该待上传文件信息包括待上传文件的大小、及MD5值。其中获取待上传文件信息的方法是现有技术,此处不再赘述。
S408,向服务器发送待上传文件信息。
具体地,为了实现在服务器中进行排重检索,需要将待上传文件信息发送给服务器以供服务器根据该待上传文件信息进行检索。
S409,若接收到服务器返回的第三查询结果,判断第三查询结果是否为服务器中不存在与待上传文件的内容相同的文件,服务器根据待上传文件信息检索是否存在与待上传文件的内容相同的文件以得到第三查询结果。
具体地,第三查询结果用于表示服务器中是否存在与待上传文件内容相同的文件。服务器根据接收的待上传文件信息检索是否存在与待上传文件内容相同的文件以得到第三查询结果。终端接收服务器返回的第三查询结果,并判断第三查询结果是否为服务器中不存在与待上传文件的内容相同的文件,以使终端根据该第三查询结果进行选择性上传待上传文件。
S410,若第三查询结果为不存在,上传待上传文件。
具体地,若第三查询结果为不存在,即服务器中不存在与待上传文件内容相同的文件,这时直接上传待上传文件。
本发明实施例通过判断待上传文件的大小是否超过预设文件大小阈值,若待上传文件的大小没有超过预设文件大小阈值,获取待上传文件的大小和MD5值,并根据服务器返回的第三查询结果选择性上传待上传文件,若待上传文件超过了预设文件大小阈值,根据预设规则从待上传文件中获取文件块,并通过获取该文件块的MD5值来检索服务器中是否存在与文件块内容相同的文件块,若服务器中存在与文件块内容相同的文件块,上传待上传文件。通过获取整个待上传文件的MD5值来检索服务器中是否存在与待上传文件内容相同的文件,从而进一步避免待上传文件通过终端重复上传以及在服务器中重复存储,同时还优化了终端系统逻辑,以提高用户体验,且适合于在计算能力较弱的移动终端上上传大文件的应用场景。
参照图5,是本发明实施例提供的一种终端的示意框图。如图所示的本实施例中的终端50包括获取单元51、发送单元52、判断单元53、以及上传单元54。
获取单元51,用于若接收到待上传文件的上传指令,根据预设规则从待上传文件中获取文件块,以及获取文件块信息,文件块信息包括文件块的大小、偏移量、以及MD5值。
发送单元52,用于向服务器发送查询信息,查询信息包括待上传文件的大小及文件块信息。
判断单元53,用于若接收到所述服务器返回的第一查询结果,判断所述第一查询结果是否为所述服务器中不存在与所述文件块内容相同的文件块,所述服务器根据所述查询信息检索是否存在与所述文件块的内容相同的文件块以得到所述第一查询结果。
上传单元54,用于若第一查询结果为不存在,上传待上传文件。
进一步地,待上传文件被划分为多个文件块,每一个文件块配置有与文件块相对应的文件块信息,发送单元52用于向服务器发送待上传文件的大小及一个文件块信息,若第一查询结果为服务器存在与本次发送的文件块的内容相同的文件块,且待上传文件中还存在未发送过的文件块,从未发送过的文件块中选择一个文件块,以及将所选择的文件块所对应的文件块信息发送给服务器。
本发明实施例通过获取单元51根据预设规则从待上传文件中获取文件块以及文件块信息,然后通过发送单元52向服务器发送查询信息,该查询信息包括待上传文件的大小、以及文件块信息,服务器根据查询信息检索是否存在与该文件块的内容相同的文件块以得到第一查询结果,若该第一查询结果为服务器中不存在与文件块的内容相同的文件块,则通过上传单元54上传该待上传文件。本发明实施例通过从待上传文件中获取文件块,及该文件块的MD5值来检索服务器中是否存在与文件块的内容相同的文件块,来判断服务器中是否存在与待上传文件内容相同的文件,从而避免将待上传文件通过终端重复上传以及在服务器中重复存储,同时,优化了终端的系统逻辑,并减少了终端计算量,缩减用时,以提高用户体验,且适合于在计算能力较弱的移动终端上上传大文件的应用场景。
参照图6,是本发明另一实施例提供的一种终端的示意框图。如图所示的本实施例中的终端60包括获取单元61、发送单元62、判断单元63、以及上传单元64。
获取单元61,用于若接收到待上传文件的上传指令,根据预设规则从待上传文件中获取文件块,以及获取文件块信息,文件块信息包括文件块的大小、偏移量、以及MD5值。
发送单元62,用于向服务器发送查询信息,查询信息包括待上传文件的大小及文件块信息。
判断单元63,用于接收服务器返回的第一查询结果,服务器根据查询信息检索是否存在与文件块内容相同的文件块以得到第一查询结果。
上传单元64,用于若第一查询结果为不存在,上传待上传文件。
进一步地,获取单元61还用于若第一查询结果为存在,获取待上传文件信息,待上传文件信息包括待上传文件的MD5值;
发送单元62还用于向服务器发送待上传文件的MD5值;
判断单元63还用于接收服务器返回的第二查询结果,判断第二查询结果是否为服务器中不存在与待上传文件的内容相同的文件,服务器根据待上传文件的MD5值检索是否存在与待上传文件内容相同的文件以得到第二查询结果;
上传单元64还用于若第二查询结果为不存在,上传待上传文件。
本发明实施例通过获取单元61从待上传文件中获取文件块,并通过获取该文件块的MD5值检索服务器中是否存在与文件块内容相同的文件块,若服务器中存在与文件块内容相同的文件块,通过获取单元61获取整个待上传文件的MD5值来检索服务器中是否存在与待上传文件内容相同的文件,从而进一步避免待上传文件通过终端重复上传以及在服务器中重复存储,同时还优化了终端系统逻辑,以提高用户体验,且适合于在计算能力较弱的移动终端上上传大文件的应用场景。
参照图7,是本发明又一实施例提供的一种终端的示意框图。如图所示的本实施例中的终端70包括判断单元71、获取单元72、发送单元73、以及上传单元74。
判断单元71,用于若接收到待上传文件的上传指令,判断待上传文件的大小是否超过预设文件大小阈值。
获取单元72,用于若待上传文件的大小超过预设文件大小阈值,从待上传文件中获取文件块、及获取文件块信息,文件块信息包括文件块的大小、偏移量、以及MD5值。
发送单元73用于向服务器发送查询信息,查询信息包括待上传文件的大小及文件块信息。
判断单元71还用于若接收到服务器返回的第一查询结果,判断第一查询结果是否为服务器中不存在与文件块内容相同的文件块,服务器根据查询信息检索是否存在与文件块的内容相同的文件块以得到第一查询结果。
上传单元74,用于若第一查询结果为不存在,上传待上传文件。
进一步地,获取单元72还用于若待上传文件的大小没有超过预设文件大小阈值,获取待上传文件信息,待上传文件信息包括待上传文件的大小、及MD5值、及若待上传文件的大小超过预设文件大小阈值,根据预设规则从待上传文件中获取文件块;
发送单元73还用于向服务器发送待上传文件信息;
判断单元71还用于若接收到服务器返回的第三查询结果,判断第三查询结果是否为服务器中不存在与待上传文件的内容相同的文件,服务器根据待上传文件信息检索是否存在与待上传文件的内容相同的文件以得到第三查询结果;
上传单元74还用于若第三查询结果为不存在,上传待上传文件。
本发明实施例通过判断待上传文件的大小是否超过预设文件大小阈值,若待上传文件的大小没有超过预设文件大小阈值,终端计算待上传文件的大小和MD5值,并根据服务器返回的第三查询结果选择性上传待上传文件,若待上传文件超过了预设文件大小阈值,根据预设规则从待上传文件中获取文件块,并通过获取该文件块的MD5值来检索服务器中是否存在与文件块内容相同的文件块,若服务器中存在与文件块内容相同的文件块,上传待上传文件。通过获取整个待上传文件的MD5值来检索服务器中是否存在与待上传文件内容相同的文件,从而进一步避免待上传文件通过终端重复上传以及在服务器中重复存储,同时还优化了终端系统逻辑,以提高用户体验,且适合于在计算能力较弱的移动终端上上传大文件的应用场景。
以上为发明的优选实施例,而非对发明做任何形式上的限制。本领域的技术人员可在上述实施例的基础上施以各种等同的更改和改进,凡在权利要求范围内所做的等同变化或修饰,均应落入发明的包含范围之内。

Claims (10)

1.一种快速排重方法,其特征在于,包括:
若接收到待上传文件的上传指令,根据预设规则从所述待上传文件中获取文件块;
获取文件块信息,所述文件块信息包括所述文件块的大小、偏移量、以及MD5值;
向服务器发送查询信息,所述查询信息包括待上传文件的大小及所述文件块信息;
若接收到所述服务器返回的第一查询结果,判断所述第一查询结果是否为所述服务器中不存在与所述文件块内容相同的文件块,所述服务器根据所述查询信息检索是否存在与所述文件块的内容相同的文件块以得到所述第一查询结果;
若所述第一查询结果为不存在,上传所述待上传文件。
2.如权利要求1所述的方法,其特征在于,所述若所述第一查询结果为不存在,上传所述待上传文件之后,所述方法还包括:
若所述第一查询结果为存在,获取所述待上传文件的MD5值;
向服务器发送所述待上传文件的MD5值;
若接收到所述服务器返回的第二查询结果,判断所述第二查询结果是否为所述服务器中不存在与所述待上传文件的内容相同的文件,根据所述所述待上传文件的MD5值检索是否存在与所述待上传文件的内容相同的文件以得到所述第二查询结果;
若所述第二查询结果为不存在,上传所述待上传文件。
3.如权利要求1所述的方法,其特征在于,所述根据预设规则从所述待上传文件中获取文件块之前,所述方法还包括:
若接收到待上传文件的上传指令,判断所述待上传文件的大小是否超过预设文件大小阈值;
若所述待上传文件的大小超过预设文件大小阈值,从所述待上传文件中获取所述文件块。
4.如权利要求3所述的方法,其特征在于,所述若所述待上传文件的大小超过预设文件大小阈值,从所述待上传文件中获取所述文件块之后,所述方法还包括:
若所述待上传文件的大小没有超过预设文件大小阈值,获取待上传文件信息,所述待上传文件信息包括所述待上传文件的大小、及所述待上传文件的MD5值;
向服务器发送所述待上传文件信息;
若接收到所述服务器返回的第三查询结果,判断所述第三查询结果是否为所述服务器中不存在与所述待上传文件的内容相同的文件,所述服务器根据所述待上传文件信息检索是否存在与所述待上传文件的内容相同的文件以得到所述第三查询结果;
若所述第三查询结果为不存在,上传所述待上传文件。
5.如权利要求1所述的方法,其特征在于,所述待上传文件被划分为多个所述文件块,每一个文件块配置有与所述文件块相对应的文件块信息,所述向服务器发送查询信息,包括:
向服务器发送所述待上传文件的大小及一个文件块信息;
若第一查询结果为所述服务器存在与本次发送的文件块的内容相同的文件块,且所述待上传文件中还存在未发送过的文件块,从未发送过的文件块中选择一个文件块;
将所选择的文件块所对应的文件块信息发送给所述服务器。
6.一种终端,其特征在于,包括:
获取单元,用于若接收到待上传文件的上传指令,根据预设规则从所述待上传文件中获取文件块,以及获取文件块信息,所述文件块信息包括所述文件块的大小、偏移量、以及MD5值;
发送单元,用于向服务器发送查询信息,所述查询信息包括待上传文件的大小及所述文件块信息;
判断单元,用于若接收到所述服务器返回的第一查询结果,判断所述第一查询结果是否为所述服务器中不存在与所述文件块内容相同的文件块,所述服务器根据所述查询信息检索是否存在与所述文件块的内容相同的文件块以得到所述第一查询结果;
上传单元,用于若所述第一查询结果为不存在,上传所述待上传文件。
7.如权利要求6所述的终端,其特征在于,
所述获取单元还用于若所述第一查询结果为存在,获取待上传文件信息,所述待上传文件信息包括所述待上传文件的MD5值;
所述发送单元还用于向服务器发送所述待上传文件的MD5值;
所述判断单元还用于若接收到所述服务器返回的第二查询结果,判断所述第二查询结果是否为所述服务器中不存在与所述待上传文件的内容相同的文件,根据所述所述待上传文件的MD5值检索是否存在与所述待上传文件的内容相同的文件以得到所述第二查询结果;
所述上传单元还用于若所述第二查询结果为不存在,上传所述待上传文件。
8.如权利要求6所述的终端,其特征在于,
所述判断单元还用于若接收到待上传文件的上传指令,判断待上传文件的大小是否超过预设文件大小阈值;
所述获取单元还用于若所述待上传文件的大小超过预设文件大小阈值,从所述待上传文件中获取所述文件块。
所述获取单元还用于若待上传文件的大小没有超过预设文件大小阈值,获取待上传文件信息,所述待上传文件信息包括所述待上传文件的大小、及所述待上传文件的MD5值,以及若所述待上传文件的大小超过预设文件大小阈值,从所述待上传文件中获取所述文件块;
所述发送单元还用于向服务器发送所述待上传文件信息;
所述接收单元还用于接收所述服务器返回的第三查询结果,所述服务器根据所述待上传文件信息检索是否存在与所述待上传文件内容相同的文件以得到所述第三查询结果;
所述上传单元还用于若所述第三查询结果为不存在,上传所述待上传文件。
9.如权利要求8所述的终端,其特征在于,
所述获取单元还用于若待上传文件的大小没有超过预设文件大小阈值,获取待上传文件信息,所述待上传文件信息包括所述待上传文件的大小、及所述待上传文件的MD5值,以及若所述待上传文件的大小超过预设文件大小阈值,从所述待上传文件中获取所述文件块;
所述发送单元还用于向服务器发送所述待上传文件信息;
所述判断单元还用于若接收到所述服务器返回的第三查询结果,判断所述第三查询结果是否为所述服务器中不存在与所述待上传文件的内容相同的文件,所述服务器根据所述待上传文件信息检索是否存在与所述待上传文件的内容相同的文件以得到所述第三查询结果;
所述上传单元还用于若所述第三查询结果为不存在,上传所述待上传文件。
10.如权利要求6所述的终端,其特征在于,所述发送单元具体用于向服务器发送所述待上传文件的大小及一个文件块信息,若第一查询结果为所述服务器存在与本次发送的文件块的内容相同的文件块,且所述待上传文件中还存在未发送过的文件块,从未发送过的文件块中选择一个文件块,以及将所选择的文件块所对应的文件块信息发送给所述服务器。
CN201610571641.1A 2016-07-19 2016-07-19 一种快速排重方法及终端 Active CN107632993B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610571641.1A CN107632993B (zh) 2016-07-19 2016-07-19 一种快速排重方法及终端

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610571641.1A CN107632993B (zh) 2016-07-19 2016-07-19 一种快速排重方法及终端

Publications (2)

Publication Number Publication Date
CN107632993A true CN107632993A (zh) 2018-01-26
CN107632993B CN107632993B (zh) 2021-06-18

Family

ID=61113341

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610571641.1A Active CN107632993B (zh) 2016-07-19 2016-07-19 一种快速排重方法及终端

Country Status (1)

Country Link
CN (1) CN107632993B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112543215A (zh) * 2019-09-23 2021-03-23 北京国双科技有限公司 访问请求的处理方法、系统、装置、存储介质和电子设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102739791A (zh) * 2012-06-28 2012-10-17 奇智软件(北京)有限公司 一种文件的下载、上传方法及装置
US20140149457A1 (en) * 2012-03-29 2014-05-29 Tencent Technology (Shenzhen) Company Limted Method and apparatus for data storage and downloading
CN105208108A (zh) * 2015-08-31 2015-12-30 北京奇虎科技有限公司 Web环境下的文件上传/下载方法及系统、服务器、客户端

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140149457A1 (en) * 2012-03-29 2014-05-29 Tencent Technology (Shenzhen) Company Limted Method and apparatus for data storage and downloading
CN102739791A (zh) * 2012-06-28 2012-10-17 奇智软件(北京)有限公司 一种文件的下载、上传方法及装置
CN105208108A (zh) * 2015-08-31 2015-12-30 北京奇虎科技有限公司 Web环境下的文件上传/下载方法及系统、服务器、客户端

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112543215A (zh) * 2019-09-23 2021-03-23 北京国双科技有限公司 访问请求的处理方法、系统、装置、存储介质和电子设备

Also Published As

Publication number Publication date
CN107632993B (zh) 2021-06-18

Similar Documents

Publication Publication Date Title
CN103139303B (zh) 一种用于保持连接的心跳方法、装置及系统
US8670614B2 (en) Method and system for providing tile map service using image fusion
CN104754012B (zh) 一种数据传输方法和数据传输系统
CN102394880B (zh) 内容分发网络中的跳转响应处理方法和设备
CN109271391A (zh) 数据存储方法、服务器、存储介质及装置
CN103780457A (zh) 一种基于边界检测的移动智能终端安全检测方法
CN108737292A (zh) 一种批量消息的发送方法及系统、服务器
CN106709341A (zh) 一种针对文件包的病毒处理方法及装置
CN103701897A (zh) 服务器、终端和文件传输方法
CN104901849A (zh) 一种上网行为数据采集方法及其系统
US20200380478A1 (en) Api charging system, api charging management method, and api charging program
MX2014011252A (es) Metodo y aparato para entrega de contenido en redes de acceso de radio.
CN109194716A (zh) 一种处理请求的方法、系统、服务器及存储装置
CN107632993A (zh) 一种快速排重方法及终端
JP6131203B2 (ja) 装置選択ネットワークシステム、装置選択サーバおよびプログラム
CN104349169B (zh) 一种图像处理方法及电子设备
CN103685321B (zh) 数据包转发和安全防护检测系统、负载均衡方法及装置
CN105915930A (zh) 一种视频文件发送方法及装置
CN106302361A (zh) 一种防止网络攻击的方法及设备
CN106027419B (zh) 一种数据结构的管理方法和装置
CN110267308B (zh) 一种移动接入点管理方法及装置、服务器、存储介质
CN107613031A (zh) 一种文件传输系统
CN103944972A (zh) 一种上传、下载数据的方法及网关
CN106293996B (zh) 数据同步方法、主设备、备份设备和系统
CN107623710A (zh) 一种文件上传方法及终端

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