一种文件上传方法及终端与流程

文档序号:13520943阅读:211来源:国知局

本发明涉及网络技术领域,尤其涉及一种文件上传方法及终端。



背景技术:

目前互联网很多云存储终端都支持用户将各种文件如图片、视频、音乐、各种重要的文档等存储到云端,且用户可以通过不同的终端进行上传如pc、手机、及平板等。在用户将文件上传到云端的过程中衍生出了文件秒传和断点续传功能。其中,文件秒传是指如果云端判断用户传输的文件之前已经上传过,即云端已经存储有该文件,则直接返回上传成功,用户不需要再上传这个文件。断点续传是指针对处于网络环境较差下的终端如移动终端在上传文件的过程中如果发生网络中断,则文件传输过程被迫中止。当网络恢复正常后,不需要再从头开始上传整个文件,即之前已经上传云端的部分仍然有效,而是从上次网络中断的地方开始上传文件。

虽然文件秒传和断点续传能够解决一些文件上传的问题,但都是通过计算整个待上传文件的md5值或者是计算已上传文件部分的md5值与云端中的文件进行比对从而决定如何上传文件。目前这种处理方式没有考虑到云端存在与待上传文件内容差别较小的情形,且存在用时较长,用户体验差的缺点。



技术实现要素:

本发明实施例提供一种文件上传方法及终端,其能够缩减用时,提高用户体验。

第一方面,本发明实施例提供了一种文件上传方法,该方法包括:若接收到上传待上传文件的指令,根据第一预设规则将所述待上传文件进行分块以得到至少一个待上传文件块;获取待上传文件块信息,每个待上传文件块对应一个待上传文件块信息,所述待上传文件块信息包括所述待上传文件块的大小和所述待上传文件块的md5值;若接收到服务器返回的比对结果,判断所述服务器中是否存在与所述待上传文件块内容相同的目标文件块;其中,所述目标文件块由服务器中的目标文件按照所述第一预设规则进行分块所得,每一个目标文件块对应一个目标文件块信息,所述目标文件块信息包括所述目标文件块的大小和所述目标文件块的md5值,所述目标文件由所述服务器根据第二预设规则查找所得,且所述服务器根据所述待上传文件块信息与目标文件块信息进行比对以得到所述比对结果;若所述比对结果为不存在,上传所述待上传文件块。

另一方面,本发明实施例提供了一种终端,该终端包括:分块单元,用于若接收到上传待上传文件的指令,根据第一预设规则将所述待上传文件进行分块以得到至少一个待上传文件块;获取单元,用于获取待上传文件块信息,每个待上传文件块对应一个待上传文件块信息,所述待上传文件块信息包括所述待上传文件块的大小和所述待上传文件块的md5值;发送单元,用于向服务器发送所述待上传文件块信息;判断单元,用于若接收到服务器返回的比对结果,判断所述服务器中是否存在与所述待上传文件块内容相同的目标文件块;其中,所述目标文件块由服务器中的目标文件按照所述第一预设规则进行分块所得,每一个目标文件块对应一个目标文件块信息,所述目标文件块信息包括所述目标文件块的大小和所述目标文件块的md5值,所述目标文件由所述服务器根据第二预设规则查找所得,且所述服务器根据所述待上传文件块信息与目标文件块信息进行比对以得到所述比对结果;上传单元,用于若所述比对结果为不存在,上传所述待上传文件块。

本发明实施例根据第一预设规则将待上传文件进行分块从而得到至少一个待上传文件块,并获取待上传文件块对应的待上传文件块信息,然后向服务器发送待上传文件块信息,若接收到服务器返回的比对结果,判断服务器中是否存在与待上传文件块内容相同的目标文件块,若比对结果为不存在,则上传该待上传文件块。本发明实施例通过将待上传文件分成若干个待上传文件块,并通过判断与待上传文件块内容相同的目标文件块是否存在于服务器中,若不存在,直接上传该待上传文件块,依此来实现将整个待上传文件进行上传,本发明实施例只上传服务器中不存在的待上传文件块,从而减少了终端计算量,缩减用时,以提高用户体验。

附图说明

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

图1是本发明实施例提供的一种文件上传方法的示意流程图;

图2是本发明另一实施例提供的一种文件上传方法的示意流程图;

图3是图2中s207的子流程示意图;

图4是本发明实施例提供的一种终端的示意性框图;

图5是本发明另一实施例提供的一种终端的示意性框图;

图6是图5中执行单元的示意性框图。

具体实施方式

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

应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。

参见图1,是本发明实施例提供的一种文件上传方法的示意流程图。该方法可以该方法可以运行在智能手机(如android手机、ios手机等)、平板电脑或电子阅读器等终端中。如图所示,该文件上传方法包括以下步骤s101~s105。

s101,若接收到上传待上传文件的指令,根据第一预设规则将待上传文件进行分块以得到至少一个待上传文件块。

具体地,在本发明实施例中,待上传文件的上传指令可以是用户加载待上传文件的操作如在移动终端的触摸操作或在电脑终端上的鼠标操作等。若接收待上传文件的上传指令,根据第一预设规则从待上传文件中获取待上传文件块。其中,第一预设规则包括若待上传文件和目标文件的大小相同,则按照相同的块大小分别将待上传文件和目标文件进行等分;若待上传文件和目标文件的大小不同,按照相同的块数量分别将待上传文件和目标文件进行划分。其中,目标文件由服务器根据第二预设规则查找所得。

具体地,该第二预设规则包括当前用户id、待上传文件名称、或热度中的至少一个或多个,如当第二预设规则包括当前用户id、待上传文件名称、或热度中的一个时,服务器根据当前用户id从该当前用户id所存储的文件中查找目标文件,当前用户id为上传待上传文件的用户在服务器中对应的身份标识,或服务器根据待上传文件名称查找与待上传文件名称相同的目标文件,或服务器根据热度从高到低的顺序从存储的文件中查找以得到目标文件。又如当第二预设规则包括当前用户id、待上传文件名称、或热度中的多个时,可以通过设置不同的权重来查找目标文件。可以理解地,第二预设规则不仅限于此,用户可以根据具体情形进行设置,此处不作限定。

s102,获取待上传文件块信息,每个待上传文件块对应一个待上传文件块信息,待上传文件块信息包括待上传文件块的大小和待上传文件块的md5值。

具体地,在根据第一预设规则将待上传文件进行分块以得到至少一个待上传文件块后,需要获取待上传文件块信息,该待上传文件块信息包括待上传文件块的大小和待上传文件块的md5值。md5(messagedigestalgorithm消息摘要算法第五版)为计算机安全领域广泛使用的一种散列函数,用以提供消息的完整性保护。md5为任何文件(不管其大小、格式、数量)产生一个同样独一无二的“数字指纹”,如果任何人对文件做了任何改动,其md5值也就是对应的“数字指纹”都会发生变化。在本发明实施例中,采用md5算法获取对应待上传文件块的md5值。此外,待上传文件块的大小可以通过调用指定函数来获取,该技术已经是现有技术,此处不做赘述。

s103,向服务器发送待上传文件块信息。

具体地,在本发明实施例中,在获取待上传文件块信息之后,将待上传文件块信息发送给服务器以供服务器根据该待上传文件块信息在服务器上进行对应的检索。需要说明的是,由于s101从待上传文件中分块得到了多个待上传文件块,且每个待上传文件块对应一个待上传文件块信息,在本发明实施例中,可根据待上传文件的上传顺序依次将待上传文件块对应的待上传文件块信息发送给服务器以供服务器进行检索。其中,上传顺序是指从待上传文件的首部开始进行上传,直到待上传文件上传完毕。

s104,若接收到服务器返回的比对结果,判断服务器中是否存在与待上传文件块内容相同的目标文件块;其中,目标文件块由服务器中的目标文件按照第一预设规则进行分块所得,每一个目标文件块对应一个目标文件块信息,目标文件块信息包括目标文件块的大小和目标文件块的md5值,目标文件由服务器根据第二预设规则查找所得,且服务器根据待上传文件块信息与目标文件块信息进行比对以得到比对结果。

具体地,在本发明实施例中,该比对结果用于表示服务器中是否存在与该待上传文件块的内容相同的目标文件块,且服务器根据待上传文件块信息与目标文件块信息进行比对以得到比对结果。其中,目标文件块由服务器中的目标文件按照第一预设规则进行分块所得,每一个目标文件块对应一个目标文件块信息,目标文件块信息包括目标文件块的大小和目标文件块的md5值。

可以理解地,服务器按照第二预设规则查找得到目标文件,且该目标文件按照第一预设规则进行分块得到目标文件块,且若待上传文件和目标文件的大小相同时,按照相同的块大小分别将待上传文件和目标文件进行等分以得到该目标文件块与待上传文件块,即待上传文件与目标文件被分成大小相同、数量相同的目标文件块与待上传文件块。若待上传文件和目标文件的大小不同,按照相同的块数量分别将待上传文件和目标文件进行划分,即待上传文件与目标文件被分成数量相同的目标文件块与待上传文件块。由于这种分块方式不是等分,因此目标文件块与待上传文件块中也可能存在块大小一致的情形。服务器根据待上传文件块信息与目标文件块信息进行比对以得到比对结果,即将待上传文件块的大小和待上传文件块的md5值与目标文件块的大小和目标文件块的md5值进行比对,若两者完全相同,则说明服务器中存在与待上传文件块内容相同的目标文件块,否则,则说明服务器中不存在与待上传文件内容相同的目标文件块。

s105,若比对结果为不存在,上传待上传文件。

具体地,在本发明实施例中,若比对结果为不存在,说明服务器中不存在与待上传文件块内容相同的目标文件块,因此直接上传该待上传文件块。

本发明实施例根据第一预设规则将待上传文件进行分块从而得到至少一个待上传文件块,并获取待上传文件块对应的待上传文件块信息,然后向服务器发送待上传文件块信息,若接收到服务器返回的比对结果,判断服务器中是否存在与待上传文件块内容相同的目标文件块,若比对结果为不存在,则上传该待上传文件块。本发明实施例通过将待上传文件分成若干个待上传文件块,并通过判断与待上传文件块内容相同的目标文件块是否存在于服务器中,若不存在,直接上传该待上传文件块,依此来实现将整个待上传文件进行上传,本发明实施例只上传服务器中不存在的待上传文件块,从而减少了终端计算量,缩减用时,以提高用户体验,即使在计算能力较弱的移动终端上实现快速上传文件。

参见图2,是本发明另一实施例提供的一种文件上传方法的示意流程图。如图所示,该文件上传方法包括以下步骤s201~s207。

s201,若接收到上传待上传文件的指令,根据第一预设规则将待上传文件进行分块以得到至少一个待上传文件块。

s202,获取待上传文件块信息,每个待上传文件块对应一个待上传文件块信息,待上传文件块信息包括待上传文件块的大小和待上传文件块的md5值。

s203,向服务器发送待上传文件块信息。

s204,若接收到服务器返回的比对结果,判断服务器中是否存在与待上传文件块内容相同的目标文件块;其中,目标文件块由服务器中的目标文件按照第一预设规则进行分块所得,每一个目标文件块对应一个目标文件块信息,目标文件块信息包括目标文件块的大小和目标文件块的md5值,目标文件由服务器根据第二预设规则查找所得,且服务器根据待上传文件块信息与目标文件块信息进行比对以得到比对结果。

s205,若比对结果为不存在,上传待上传文件块。

步骤s201~205如上所述,此处不再赘述。

s206,若比对结果为存在,判断待上传文件中是否还有未向服务器发送的待上传文件块以得到判断结果。

具体地,若服务器中存在与待上传文件块内容相同的目标文件块,则不用重复上传该待上传文件块,为了进一步掌握待上传文件分块所得的待上传文件块是否已经上传完毕,需要判断待上传文件中是否还有未向服务器发送的待上传文件块以得到判断结果,从而便于待上传文件块按照上传顺序依次上传。

s207,根据判断结果选择性向服务器发送下一个待上传文件块信息。

参照图3,步骤s207的子流程示意图。如图所示,步骤s207包括步骤s301~s302。

s301,若判断结果为有,从未向服务器发送的待上传文件块中按照上传顺序选择下一个待上传文件块。

具体地,若判断结果为有,即说明待上传文件中还存在未向服务器发送的待上传文件块信息,为了实现待上传文件的完整上传且防止遗落任何一个待上传文件块,从未向服务器发送的待上传文件块中按照上传顺序选择下一个待上传文件块,以便服务器根据该该待上传文件块信息查找是否存在与该待上传文件块内容相同的目标文件块,直至所有的待上传文件块信息都已经发送给了服务器。

s302,若判断结果为没有,显示上传完成提示

具体地,若判断结果为没有,则说明待上传文件中没有未向服务器发送的待上传文件信息,即该待上传文件的所有待上传文件块对应的待上传文件块信息已经全部发送给了服务器,该待上传文件已经根据比对结果进行了完成的上传,此时为了便于用户掌握当前状态,在终端中显示上传完成提示以供用户进行查看。

本发明实施例根据第一预设规则将待上传文件进行分块从而得到至少一个待上传文件块,并获取待上传文件块对应的待上传文件块信息,然后向服务器发送待上传文件块信息,若接收到服务器返回的比对结果,判断服务器中是否存在与待上传文件块内容相同的目标文件块,若比对结果为不存在,则上传该待上传文件块,以及若比对结果为存在,进一步判断待上传文件中是否还有未向服务器发送的待上传文件块以得到判断结果,若判断结果为有,从未向服务器发送的待上传文件块中按照上传顺序选择下一个待上传文件直至全部结束,若判断结果为没有,显示上传完成提示。本发明实施例通过将待上传文件分成若干个待上传文件块,并通过判断与待上传文件块内容相同的目标文件块是否存在于服务器中,若不存在,直接上传该待上传文件块,若存在,进一步判断所有的待上传文件块是否已经完全发送给了服务器进行检索直至上传完毕,并显示上传成功提示,依此来实现将整个待上传文件进行上传且方便用户了解上传完成状态。本发明实施例只上传服务器中不存在的待上传文件块,从而减少了终端计算量,缩减用时,以提高用户体验,且适合于在计算能力较弱的移动终端上上传大文件的应用场景。

参照图4,是本发明实施例提供的一种终端的示意框图。如图所示的本实施例中的终端40包括分块单元41、获取单元42、发送单元43、判断单元44、以及上传单元45。

分块单元41,用于若接收到上传待上传文件的指令,根据第一预设规则将待上传文件进行分块以得到至少一个待上传文件块。

获取单元42,用于用于获取待上传文件块信息,每个待上传文件块对应一个待上传文件块信息,待上传文件块信息包括待上传文件块的大小和待上传文件块的md5值。

发送单元43,用于向服务器发送待上传文件块信息。

判断单元44,用于若接收到服务器返回的比对结果,判断服务器中是否存在与待上传文件块内容相同的目标文件块;其中,目标文件块由服务器中的目标文件按照第一预设规则进行分块所得,每一个目标文件块对应一个目标文件块信息,目标文件块信息包括目标文件块的大小和目标文件块的md5值,目标文件由服务器根据第二预设规则查找所得,且服务器根据待上传文件块信息与目标文件块信息进行比对以得到比对结果。

上传单元45,用于若比对结果为不存在,上传待上传文件块。

进一步地,第一预设规则包括若待上传文件和目标文件的大小相同,按照相同的块大小分别将待上传文件和目标文件进行等分;若待上传文件和目标文件的大小不同,按照相同的块数量分别将待上传文件和目标文件进行划分。

进一步地,第二预设规则包括当前用户id、待上传文件名称、或热度,目标文件由服务器根据第二预设规则查找所得包括:服务器根据当前用户id从该当前用户id所存储的文件中查找目标文件,当前用户id为上传待上传文件的用户在服务器中对应的身份标识;或服务器根据待上传文件名称查找与待上传文件名称相同的目标文件;或服务器根据热度从高到低的顺序从存储的文件中查找以得到目标文件。

本发明实施例通过分块单元41根据第一预设规则将待上传文件进行分块从而得到至少一个待上传文件块,并由获取单元42获取待上传文件块对应的待上传文件块信息,然后通过发送单元43向服务器发送待上传文件块信息,若接收到服务器返回的比对结果,通过判断单元44判断服务器中是否存在与待上传文件块内容相同的目标文件块,若比对结果为不存在,则由上传单元45上传该待上传文件块。本发明实施例通过将待上传文件分成若干个待上传文件块,并通过判断与待上传文件块内容相同的目标文件块是否存在于服务器中,若不存在,直接上传该待上传文件块,依此来实现将整个待上传文件进行上传,本发明实施例只上传服务器中不存在的待上传文件块,从而减少了终端计算量,缩减用时,以提高用户体验,且适合于在计算能力较弱的移动终端上上传大文件的应用场景。

参照图5,是本发明另一实施例提供的一种终端的示意框图。如图所示的本实施例中的终端50包括分块单元51、获取单元52、发送单元53、判断单元55、上传单元55、以及执行单元56。

分块单元51,用于若接收到上传待上传文件的指令,根据第一预设规则将待上传文件进行分块以得到至少一个待上传文件块。

获取单元52,用于用于获取待上传文件块信息,每个待上传文件块对应一个待上传文件块信息,待上传文件块信息包括待上传文件块的大小和待上传文件块的md5值。

发送单元53,用于向服务器发送待上传文件块信息。

判断单元54,用于若接收到服务器返回的比对结果,判断服务器中是否存在与待上传文件块内容相同的目标文件块;其中,目标文件块由服务器中的目标文件按照第一预设规则进行分块所得,每一个目标文件块对应一个目标文件块信息,目标文件块信息包括目标文件块的大小和目标文件块的md5值,目标文件由服务器根据第二预设规则查找所得,且服务器根据待上传文件块信息与目标文件块信息进行比对以得到比对结果。

上传单元55,用于若比对结果为不存在,上传待上传文件块。

进一步地,判断单元54还用于若比对结果为存在,判断待上传文件中是否还有未向服务器发送的待上传文件块以得到判断结果;

执行单元56,用于根据判断结果选择性向服务器发送下一个待上传文件块信息。

进一步地,参照图6,执行单元的示意性框图。如图所示,执行单元56包括选择单元561、以及显示单元562。

选择单元561,用于若判断结果为有,从未向服务器发送的待上传文件块中按照上传顺序选择下一个待上传文件块。

显示单元562,用于若判断结果为没有,显示上传完成提示。

本发明实施例通过分块单元51根据第一预设规则将待上传文件进行分块从而得到至少一个待上传文件块,并由获取单元52获取待上传文件块对应的待上传文件块信息,然后通过发送单元53向服务器发送待上传文件块信息,若接收到服务器返回的比对结果,通过判断单元54判断服务器中是否存在与待上传文件块内容相同的目标文件块,若比对结果为不存在,则由上传文件55上传该待上传文件块,以及若比对结果为存在,进一步通过判断单元54判断待上传文件中是否还有未向服务器发送的待上传文件块以得到判断结果,若判断结果为有,通过执行单元56从未向服务器发送的待上传文件块中按照上传顺序由选择单元561选择下一个待上传文件直至全部结束,若判断结果为没有,并通过显示单元562显示上传完成提示。本发明实施例通过将待上传文件分成若干个待上传文件块,并通过判断与待上传文件块内容相同的目标文件块是否存在于服务器中,若不存在,直接上传该待上传文件块,若存在,进一步判断所有的待上传文件块是否已经完全发送给了服务器进行检索直至上传完毕,并显示上传成功提示,依此来实现将整个待上传文件进行上传且方便用户了解上传完成状态。本发明实施例只上传服务器中不存在的待上传文件块,从而减少了终端计算量,缩减用时,以提高用户体验,且适合于在计算能力较弱的移动终端上上传大文件的应用场景。

以上为发明的优选实施例,而非对发明做任何形式上的限制。本领域的技术人员可在上述实施例的基础上施以各种等同的更改和改进,凡在权利要求范围内所做的等同变化或修饰,均应落入发明的包含范围之内。

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