一种文件上传方法及上传系统的制作方法

文档序号:6547121阅读:145来源:国知局
一种文件上传方法及上传系统的制作方法
【专利摘要】本发明提供一种文件上传方法及上传系统,包括:确定需要上传的目标文件,根据目标文件的特征信息在服务器端查找目标文件的上传中断文件,根据查找上传中断文件的结果确定目标文件的上传起始位置,从上传起始位置上传目标文件。通过使用以上方法,可以对目标文件在重新上传时进行上传检测,查找之前是否已经进了上传,如果已经进行了部分上传,则只需要根据服务器上的记截就可以进行文件续传。对于使用不同应用程序或终端平台的用户来说,由于验证操作都是基于文件本身的参数特征,因此即便是用户已经切换到了不同的浏览器或终端平台进行续传,也可以准确的识别出目标文件已经上传的数据,从而实现跨应用程序或跨平台的文件续传功能。
【专利说明】一种文件上传方法及上传系统
【技术领域】
[0001]本发明涉及计算机网络【技术领域】,特别涉及一种文件上传方法及上传系统。
【背景技术】
[0002]在网络技术高速发展的今天,互联网已经成为人们日常娱乐生活中不可缺少的一部分。人们经常会将自己的照片、文件、视频等上传到网络平台上,让自已的亲人、好友来分享自已的快乐。因此,各种网络平台每天都会接收到大量的文件上传或下载请求。
[0003]现有技术中,在用户文件上传过程时远端服务器大都采用断点继传的方式,其目的是防止因为网络中断等原因造成用户不断重复上传相同的数据,减少对网络资源的消耗。
[0004]但随着用户所使用的应用程序或终端平台的多元化,用户可能会在上传文件过程中需要更换应用程序或终端平台。例如:在用户使用浏览器上传文件的过程中,因各种原因需要切换使用其它浏览器;或者用户当前在使用微软的系统上传文件,现在马上要切换到苹果的系统中进行工作;甚至是用户在上传过程中发生系统崩溃,在用户重新系统后需要继续上传。但在现有技术中,由于不同应用程序或平台终端之间的不兼容性,用户无法实现在进行以上切换后还能在上一个上传操作的断点处继续上传文件,只能重新进行上传,很大的影响到了用户的体验效果。

【发明内容】

[0005]本发明要解决的技术问题是提供一种文件上传方法及上传系统,解决了用户切换到了不同的浏览器或终端平台进行续传的问题,可以对目标文件已经上传的数据进行准确识别,从而实现跨应用程序或跨平台的文件续传功能。
[0006]一种文件上传方法,包括:
[0007]确定需要上传的目标文件;
[0008]根据所述目标文件的特征信息在服务器端查找所述目标文件的上传中断文件;
[0009]根据查找所述上传中断文件的结果确定所述目标文件的上传起始位置,从所述上传起始位置上传所述目标文件。
[0010]优选地,所述根据所述目标文件的特征在服务器端查找所述目标文件的上传中断文件,具体为:
[0011]根据所述目标文件的特征信息确定所述目标文件的特征码;
[0012]在服务器端中查找与所述特征码相同的未完成上传文件,判断查找到的文件与所述目标文件在相同位置的数据段是否相同;
[0013]若相同,将查找到的文件为所述目标文件的上传中断文件;否则,没有查找到所述目标文件的上传中断文件。
[0014]优选地,还包括:
[0015]若在服务器端中没有查找到所述特征码相同的未完成上传文件,在所述服务器端中查找与所述目标文件的指定数据段相同的未完成上传文件;
[0016]若只查到一个未完成上传文件,将查找到的文件作为所述目标文件的上传中断文件;否则,没有查找到所述目标文件的上传中断文件。
[0017]优选地,所述根据查找所述上传中断文件的结果确定所述目标文件的上传起始位置,从所述上传起始位置上传所述目标文件,具体为:
[0018]若查找到所述目标文件的上传中断文件,判断所述目标文件的上传断点位置的数据与所述上传中断文件的最后上传数据是否相同;
[0019]若相同,将所述上传中断文件的断点位置作为所述目标文件的上传起始位置;否贝U,将所述目标文件的头位置作为所述上传起始位置;
[0020]若没有查找到所述目标文件的上传中断文件,将所述目标文件的头位置作为所述上传起始位置;
[0021]根据所述上传起始位置上传所述目标文件。
[0022]优选地,还包括:
[0023]若从所述目标文件的头位置上传所述目标文件,确定所述目标文件的特征信息;
[0024]将所述目标文件的特征信息存储在所述服务器端。
[0025]一种文件上传系统,包括:本地端目标文件上传单元和服务器端上传单元;
[0026]所述本地端目标文件上传单元,包括:目标文件确定子单元;
[0027]所述目标文件确定子单元,用于确定需要上传的目标文件;
[0028]所述服务器端上传单元,包括:上传中断文件查找子单元和目标文件上传子单元;
[0029]所述上传中断文件查找子单元,用于根据所述目标文件的特征信息在服务器端查找所述目标文件的上传中断文件;
[0030]所述目标文件上传子单元,用于根据查找所述上传中断文件的结果确定所述目标文件的上传起始位置,从所述上传起始位置上传所述目标文件。
[0031]优选地,所述本地端目标文件上传单元,还包括:特征码生成子单元;
[0032]所述特征码生成子单元,用于根据所述目标文件的特征信息确定所述目标文件的特征码;
[0033]所述上传中断文件查找子单元,包括:第一特征查找子单元和第一特征验证子单元;
[0034]所述第一特征查找子单元,用于在服务器端中查找与所述特征码相同的未完成上传文件;
[0035]所述第一特征验证子单元,用于判断查找到的文件与所述目标文件在相同位置的数据段是否相同;若相同,将查找到的文件为所述目标文件的上传中断文件;否则,没有查找到所述目标文件的上传中断文件。
[0036]优选地,所述上传中断文件查找子单元,还包括:第二特征查找子单元;
[0037]所述第二特征查找子单元,用于在若没有查找到所述特征码相同的未完成上传文件,则在所述服务器端中查找与所述目标文件的指定数据段相同的未完成上传文件;若只查到一个未完成上传文件,将查找到的文件作为所述目标文件的上传中断文件;否则,没有查找到所述目标文件的上传中断文件。[0038]优选地,所述目标文件上传子单元,包括:起始位置确定子单元和文件上传子单元;
[0039]所述断点数据验证子单元,用于在查找到所述目标文件的上传中断文件时,判断所述目标文件的上传断点位置的数据与所述上传中断文件的最后上传数据是否相同;若相同,将所述上传中断文件的断点位置作为所述目标文件的上传起始位置;否则,将所述目标文件的头位置作为所述上传起始位置;若没有查找到所述目标文件的上传中断文件,将所述目标文件的头位置作为所述上传起始位置;
[0040]所述文件上传子单元,用于根据所述上传起始位置上传所述目标文件。
[0041]优选地,所述服务器端上传单元,还包括:特征信息存储子单元;
[0042]所述特征信息存储子单元,用于存储所述目标文件的特征信息。
[0043]与现有技术相比,本发明具有以下优点:
[0044]在本发明中,首先确定需要上传的目标文件,根据所述目标文件的特征信息在服务器端查找所述目标文件的上传中断文件,根据查找所述上传中断文件的结果确定所述目标文件的上传起始位置,从所述上传起始位置上传所述目标文件。通过使用以上方法,可以对目标文件在重新上传时进行上传检测,查找之前是否已经进了上传,如果已经进行了部分上传,则只需要根据服务器上的记截就可以进行文件续传。对于使用不同应用程序或终端平台的用户来说,由于验证操作都是基于文件本身的参数特征,因此即便是用户已经切换到了不同的浏览器或终端平台进行续传,也可以准确的识别出目标文件已经上传的数据,从而实现跨应用程序或跨平台的文件续传功能。
【专利附图】

【附图说明】
[0045]图1是本发明提供的一种文件上传方法第一实施例的流程图;
[0046]图2是本发明提供的一种文件上传方法第二实施例的流程图;
[0047]图3是本发明提供的一种文件上传方法第三实施例的流程图;
[0048]图4是本发明提供的一种文件上传方法第四实施例的流程图;
[0049]图5是本发明提供的一种文件上传方法第五实施例的流程图;
[0050]图6是本发明提供的一种文件上传系统第一实施例的原理框图;
[0051]图7是本发明提供的一种文件上传系统第二实施例的原理框图;
[0052]图8是本发明提供的一种文件上传系统第三实施例的原理框图;
[0053]图9是本发明提供的一种文件上传系统第四实施例的原理框图;
[0054]图10是本发明提供的一种文件上传系统第五实施例的原理框图。
【具体实施方式】
[0055]为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明的【具体实施方式】做详细的说明。
[0056]参见图1,该图为本发明提供的一种文件上传方法第一实施例的流程图。
[0057]在本实施例中,包括:
[0058]S101:确定需要上传的目标文件。
[0059]S102:根据所述目标文件的特征信息在服务器端查找所述目标文件的上传中断文件。
[0060]S103:根据查找所述上传中断文件的结果确定所述目标文件的上传起始位置,从所述上传起始位置上传所述目标文件。
[0061]在上传文件时,首先获取需要上传的目标文件。例如,通过对话框由用户指定文件或由用户输入相应地址确定目标文件。
[0062]在文件上传前,需要到服务器端检测查询目标文件之前是否已经进行过上传。其中,由于文件有多个参数特征(如文件大小、文件位置、文件名称等),因此检测查询的依据可以为目标文件的特征信息,也可以根据这些信息所生成的按照一定规则排列的序列号作为目标文件的特征信息。
[0063]在根据以上特征信息在服务器端进行查找后,可以根据查找后的结果确定目标文件的上传方式。如果在服务器端查找到目标文件的上传中断文件,即在本次上传前,目标文件中的部分内容已经上传到服务器端,则只需要确定上次上传的断点位置,从该位置继续上传即可。如果在服务器端没有查找到目标文件的上传中断文件,则认为在服务器端存储没有目标文件中的数据或之前上传的数据与上传的记录不匹配,将上传起始位置设置为目标文件的文件头,将目标文件重新进行上传。
[0064]在本实施例中,首先确定需要上传的目标文件,之后根据目标文件的特征在服务器端查找目标文件的上传中断文件,根据查找上传中断文件的结果确定目标文件的上传起始位置,从上传起始位置上传目标文件。通过使用以上方法,可以对目标文件在重新上传时进行上传检测,查找之前是否已经进了上传,如果已经进行了部分上传,则只需要根据服务器上的记截就可以进行文件续传。对于使用不同应用程序或终端平台的用户来说,由于验证操作都是基于文件本身的参数特征,因此即便是用户已经切换到了不同的浏览器或终端平台进行续传,也可以准确的识别出目标文件已经上传的数据,从而实现跨应用程序或跨平台的文件续传功能。
[0065]参见图2,该图为本发明提供的一种文件上传方法第二实施例的流程图。
[0066]本实施例中的步骤S201和S207与本发明提供的一种文件上传方法第一实施例中的步骤SlOl和S103相同,在此不再重复进行介绍。
[0067]在本实施例中,所述根据所述目标文件的特征在服务器端查找所述目标文件的上传中断文件,具体为:
[0068]S202:根据所述目标文件的特征信息确定所述目标文件的特征码。
[0069]S203:在服务器端中查找与所述特征码相同的未完成上传文件。
[0070]S204:判断查找到的文件与所述目标文件在相同位置的数据段是否相同。
[0071]S205:若相同,查找到的文件为所述目标文件的上传中断文件。
[0072]S206:若不相同,没有查找到所述目标文件的上传中断文件。
[0073]在本实施例中,在根据所述目标文件的特征在服务器端查找所述目标文件的上传中断文件时,可以首先根据目标文件所具有的参数特征确定目标文件的特征码。该特征码可以是结合目标文件的名称、大小、类型、时间等参数生成的特征码,该特征码应为唯一码,以区分不同的上传文件。
[0074]之后在服务器端进行查找与目标文件的特征码相同的未完成上传文件。其中,未完成上传文件是目标文件在上传过程中在服务器端的临时文件,其中存储着目标文件的已上传数据。在不同的目标文件上传时会产生不同的未完成上传文件,每个未完成上传文件都包括或对应着目标文件的特征码。
[0075]如果能够找到与目标文件的特征码相同的未完成上传文件,将该文件与目标文件在指定位置的数据进行比较。优选地,可以将目标文件和查找到的未完成上传文件分成若干数据段,将其中的指定的某段或若干段进行比较,判断是否相同。例如,指定的位置为文件头部,数据段为100K,则可以将目标文件和查找到的未完成上传文件分成100K的数据段,将目标文件的文件头部分第一和第二个数据段与查找到的未完成上传文件的文件头部分第一和第二数据段进行比较,判断是否相同。为了减少进行数据比较时的消耗,还可以使用MD5算法来进行数据段比较。应用时,分别使用MD5算法对目标文件和查找到的未完成上传的文件的数据段进行计算,将计算后得到的结果进行比较,判断目标文件和查找到的未完成上传文件是否相同。
[0076]如果相同,则认为查找到的未完成上传文件是目标文件的上传中断文件。如果判断不相同,则认为查找到的未完全成上传文件与目标文件的内容有差异,不是目标文件的上传中断文件。
[0077]在本实施例中,根据目标文件的特征在服务器端查找目标文件的上传中断文件,具体为:首先根据所述目标文件确定所述目标文件的特征码,之后在服务器端中查找与特征码相同的未完成上传文件,并判断查找到的文件与目标文件在相同位置的数据段是否相同。如果相同,则认为查找到的文件为目标文件的上传中断文件,否则认为没有查找到目标文件的上传中断文件。通过使用以上方法,可以准确的查找出目标文件在服务器端存储的上传中断文件,并通过数据校验方式确定两个文件的匹配程度,最终确定目标文件在服务器端的未完成上传文件,以便于进行后续的上传工作。
[0078]参见图3,该图为本发明提供的一种文件上传方法第三实施例的流程图。
[0079]本实施例中的步骤S301-S307与本发明提供的一种文件上传方法第二实施例中的步骤S201-S207相同,在此不再重复进行介绍。
[0080]本实施例中,还包括:
[0081]S308:若在服务器端中没有查找到所述特征码相同的未完成上传文件,在所述服务器端中查找与所述目标文件的指定数据段相同的未完成上传文件。
[0082]S309:判断是否只查找到一个未完成上传文件。
[0083]S310:若只查找到一个未完成上传文件,将查找到的文件作为所述目标文件的上传中断文件。
[0084]否则,认为没有查找到所述目标文件的上传中断文件,执行步骤S306。
[0085]在本实施例中,如果在服务器端没有找到与目标文件的特征码相同的未完成上传文件,则还可以使用目标文件在指定位置的数据段内容作为条件,查找与目标文件指定位置的数据段内容相同的未完成上传文件,即在未完成上传文件中的指定位置的数据段内容与目标文件在相同位置的数据段内容相同。
[0086]由于在服务器上可能存在多个用户都在上传相同文件的可能,因此可能存在多个未完成上传文件的指定位置的数据段内容与目标文件在相同位置的数据段内容相同的可能。如果查找的结果为一个未完成上传文件,则可以认为该文件即为目标文件的上传中断文件。如果查找到的未完成上传文件为多个,则认为服务器端没有未完成上传文件能够准确匹配目标文件,即没有查找到目标文件的上传中断文件。
[0087]在本实施例中,在服务器端中没有查找到所述特征码相同的未完成上传文件的情况下,在所述服务器端中查找与所述目标文件的指定数据段相同的未完成上传文件,如果只查到一个未完成上传文件,将查找到的文件作为所述目标文件的上传中断文件,否则,认为没有查找到所述目标文件的上传中断文件。通过使用以上方法,可以在使用特征码查找不到目标文件的上传中断文件时,使用目标文件的指定数据段进行匹配查询,增加查找到上传中断文件的可能性,进而方便进行后续的上传工作。
[0088]参见图4,该图为本发明提供的一种文件上传方法第四实施例的流程图。
[0089]本实施例中的步骤S401、S402与本发明提供的一种文件上传方法第一实施例中的步骤S101、S102相同,在此不再重复进行介绍。
[0090]在本实施例中,所述根据查找所述上传中断文件的结果确定所述目标文件的上传起始位置,从所述上传起始位置上传所述目标文件,具体为:
[0091]S403:判断是否找到所述目标文件的上传中断文件。
[0092]S404:若查找到所述目标文件的上传中断文件,判断所述目标文件的上传断点位置的数据与所述上传中断文件的最后上传数据是否相同。
[0093]S405:若相同,将所述上传中断文件的断点位置作为所述目标文件的上传起始位置;否则,将所述目标文件的头位置作为所述上传起始位置,执行步骤S406。
[0094]S406:若没有查找到所述目标文件的上传中断文件,将所述目标文件的头位置作为所述上传起始位置。
[0095]S407:根据所述上传起始位置上传所述目标文件。
[0096]在本实施例中,在通过使用目标文件的特征查询目标文件的上传中断文件后,根据最终得到的结果确定如何对目标文件进行后续上传。
[0097]具体地,如果查找到了目标文件的上传中断文件,则获取目标文件在最后一次上传的起始位置。该位置可以与目标文件一同存储在本地,也可以存储在服务器端。将目标文件在起始位置的数据与查找到的上传中断文件的最后上传数据(或文件尾数据)进行比较。如果判断相同,则认为此断点位置为上一次上传结束的位置,将该断点位置作为本次上传的起始位置,在使用该上传中断文件进行续传。如果不相同,则认为查找到的上传中断文件与目标文件不相匹配,不能使用该上传中断文件进行续传操作,将目标文件的头位置作为上传的起始位置。
[0098]如果没有查找到目标文件的上传中断文件,则认为在服务器端没有上传过或上传的文件丢失。将所述目标文件的头位置作为所述上传起始位置。
[0099]最后,根据判断后得到的目标文件的起始位置上传目标文件。如果起始位置为断点位置,则将上传的数据内容补充到目标文件的上传中断文件中。如果起始位置为目标文件的头位置,则重新上传目标文件。
[0100]在本实施例中,在查找到目标文件的上传中断文件的情况下,判断目标文件的上传断点位置的数据与上传中断文件的最后上传数据是否相同,如果相同,将上传中断文件的断点位置作为目标文件的上传起始位置,否则将目标文件的头位置作为上传起始位置。而如果没有查找到目标文件的上传中断文件,将目标文件的头位置作为上传起始位置。最后,根据上传起始位置上传所述目标文件。通过使用以上方法,可对服务器端存储的上传中断文件在断点位置处数据的校验,保证已经上传内容与目标文件中内容的准确衔接,实现文件的跨平台上传。
[0101]参见图5,该图为本发明提供的一种文件上传方法第五实施例的流程图。
[0102]本实施例中的步骤S501-S507与本发明提供的一种文件上传方法第四实施例中的步骤S401-S407相同,在此不再重复进行介绍。
[0103]在本实施例中,还包括:
[0104]S508:判断是否是从所述目标文件的头位置上传所述目标文件。
[0105]S509:若从所述目标文件的头位置上传所述目标文件,确定所述目标文件的特征
信息;
[0106]S510:将所述目标文件的特征信息存储在所述服务器端。
[0107]在对目标文件进行上传时,如果上传的起始地址为目标文件的头地址,则认为是对目标文件进行重新上传。因此,可以在上传前根据目标文件的信息重新确定目标文件的特征信息,该特征信息可以为在本发明提供的一种文件上传方法第一实施例中所提出的特征信息。
[0108]在得到目标文件的特征信息后,将该特征信息发送到服务器端,由服务器端存储目标文件的特征信息,以便目标文件在下次进行续传时可以通过特征信息查找到目标文件的上传中断文件,进而进行文件续传。
[0109]在本实施例中,如果从目标文件的头位置上传所述目标文件,则确定目标文件的特征信息,并将目标文件的特征信息存储在服务器端。通过使用以上方法,可以为目标文件在本次上传之后的续传操作提供基础,如果之后再进行文件续传,则可以通过目标文件的特征信息查找到存储在服务器端的上传中断文件,从而进行后续操作。
[0110]基于上述文件上传的方法,本发明还提供了文件上传的系统,下面结合具体实施例来详细说明其组成部分。
[0111]参见图6,该图为本发明提供的一种文件上传系统第一实施例的原理框图。
[0112]在本实施例中,包括:本地端目标文件上传单元10和服务器端上传单元20。
[0113]所述本地端目标文件上传单元10,包括:目标文件确定子单元101。
[0114]所述目标文件确定子单元101,用于确定需要上传的目标文件。
[0115]所述服务器端上传单元20,包括:上传中断文件查找子单元201和目标文件上传子单元202。
[0116]所述上传中断文件查找子单元201,用于根据所述目标文件的特征信息在服务器端查找所述目标文件的上传中断文件。
[0117]所述目标文件上传子单元202,用于根据查找所述上传中断文件的结果确定所述目标文件的上传起始位置,从所述上传起始位置上传所述目标文件。
[0118]在一般情况下目标文件都存在于本地端,时需要将本地端的文件上传到服务器端。在上传文件时,首先使用本地端目标文件上传单元10中的目标文件确定子单元101获取需要上传的目标文件。
[0119]之后,服务器端上传单元20在文件上传前使用上传中断文件查找子单元检测查询目标文件之前是否已经进行过上传。其中,由于文件有多个参数特征(如文件大小、文件位置、文件名称等),因此检测查询的依据可以为目标文件的特征信息,也可以根据这些信息所生成的按照一定规则排列的序列号作为目标文件的特征信息。
[0120]在根据以上特征信息在服务器端进行查找后,可以使用目标文件上传子单元202根据查找后的结果确定目标文件的上传方式。如果在服务器端查找到目标文件的上传中断文件,即在本次上传前,目标文件中的部分内容已经上传到服务器端,则只需要确定上次上传的断点位置,从该位置继续上传即可。如果在服务器端没有查找到目标文件的上传中断文件,则认为在服务器端存储没有目标文件中的数据或之前上传的数据与上传的记录不匹配,将上传起始位置设置为目标文件的文件头,将目标文件重新进行上传。
[0121]在本实施例中,包括本地端目标文件上传单元和服务器端上传单元。其中,本地端目标文件上传单元包括:目标文件确定子单元,用于确定需要上传的目标文件。在服务器端上传单元中包括:上传中断文件查找子单元和目标文件上传子单元。上传中断文件查找子单元用于根据目标文件的特征信息在服务器端查找目标文件的上传中断文件。目标文件上传子单元用于根据查找上传中断文件的结果确定目标文件的上传起始位置,从所述上传起始位置上传目标文件。。通过使用以上系统,可以对目标文件在重新上传时进行上传检测,查找之前是否已经进了上传,如果已经进行了部分上传,则只需要根据服务器上的记截就可以进行文件续传。对于使用不同应用程序或终端平台的用户来说,由于验证操作都是基于文件本身的参数特征,因此即便是用户已经切换到了不同的浏览器或终端平台进行续传,也可以准确的识别出目标文件已经上传的数据,从而实现跨应用程序或跨平台的文件续传功能。
[0122]参见图7,该图为本发明提供的一种文件上传系统第二实施例的原理框图。
[0123]在本实施例中,所述本地端目标文件上传单元10,还包括:特征码生成子单元102。
[0124]所述特征码生成子单元102,用于根据所述目标文件的特征确定所述目标文件的特征码。
[0125]所述上传中断文件查找子单元201,包括:第一特征查找子单元2011和第一特征验证子单元2012。
[0126]所述第一特征查找子单元2011,用于在服务器端中查找与所述特征码相同的未完成上传文件。
[0127]所述第一特征验证子单元2012,用于判断查找到的文件与所述目标文件在相同位置的数据段是否相同;若相同,认为查找到的文件为所述目标文件的上传中断文件;否则,认为没有查找到所述目标文件的上传中断文件。
[0128]在本实施例中,在根据所述目标文件的特征在服务器端查找所述目标文件的上传中断文件时,可以首先由本地端目标文件上传单元10中的特征码生成子单元102根据目标文件所具有的参数特征确定目标文件的特征码。该特征码可以是结合目标文件的名称、大小、类型、时间等参数生成的特征码,该特征码应为唯一码,以区分不同的上传文件。
[0129]之后在服务器端使用上传中断文件查找子单元201中的第一特征查找子单元2011查找与目标文件的特征码相同的未完成上传文件。其中,未完成上传文件是目标文件在上传过程中在服务器端的临时文件,其中存储着目标文件的已上传数据。在不同的目标文件上传时会产生不同的未完成上传文件,每个未完成上传文件都包括或对应着目标文件的特征码。[0130]如果能够找到与目标文件的特征码相同的未完成上传文件,则使用第一特征验证子单元2012将该文件与目标文件在指定位置的数据进行比较。优选地,可以将目标文件和查找到的未完成上传文件分成若干数据段,将其中的指定的某段或若干段进行比较,判断是否相同。例如,指定的位置为文件头部,数据段为100K,则可以将目标文件和查找到的未完成上传文件分成100K的数据段,将目标文件的文件头部分第一和第二个数据段与查找到的未完成上传文件的文件头部分第一和第二数据段进行比较,判断是否相同。为了减少进行数据比较时的消耗,还可以使用MD5算法来进行数据段比较。应用时,分别使用MD5算法对目标文件和查找到的未完成上传的文件的数据段进行计算,将计算后得到的结果进行比较,判断目标文件和查找到的未完成上传文件是否相同。
[0131]如果相同,则认为查找到的未完成上传文件是目标文件的上传中断文件。如果判断不相同,则认为查找到的未完全成上传文件与目标文件的内容有差异,不是目标文件的上传中断文件。将得到的结果发送到目标文件上传子单元202进行后续操作。
[0132]在本实施例中,本地端目标文件上传单元中还包括:特征码生成子单元,用于根据所述目标文件的特征确定目标文件的特征码。在上传中断文件查找子单元中包括:第一特征查找子单元和第一特征验证子单元。其中,第一特征查找子单元用于在服务器端中查找与特征码相同的未完成上传文件。第一特征验证子单元用于判断查找到的文件与所述目标文件在相同位置的数据段是否相同;若相同,认为查找到的文件为所述目标文件的上传中断文件;否则,认为没有查找到所述目标文件的上传中断文件。通过使用以上系统,可以准确的查找出目标文件在服务器端存储的上传中断文件,并通过数据校验方式确定两个文件的匹配程度,最终确定目标文件在服务器端的未完成上传文件,以便于进行后续的上传工作。
[0133]参见图8,该图为本发明提供的一种文件上传系统第三实施例的原理框图。
[0134]在本实施例中,所述上传中断文件查找子单元201,还包括:第二特征查找子单元2013。
[0135]所述第二特征查找子单元2013,用于在若没有查找到所述特征码相同的未完成上传文件,则在所述服务器端中查找与所述目标文件的指定数据段相同的未完成上传文件;若只查到一个未完成上传文件,将查找到的文件作为所述目标文件的上传中断文件;否则,认为没有查找到所述目标文件的上传中断文件。
[0136]在本实施例中,如果在服务器端没有找到与目标文件的特征码相同的未完成上传文件,则还可以使用第二特征查找子单元2013将目标文件在指定位置的数据段内容作为条件,查找与目标文件指定位置的数据段内容相同的未完成上传文件,即在未完成上传文件中的指定位置的数据段内容与目标文件在相同位置的数据段内容相同。
[0137]由于在服务器上可能存在多个用户都在上传相同文件的可能,因此可能存在多个未完成上传文件的指定位置的数据段内容与目标文件在相同位置的数据段内容相同的可能。如果查找的结果为一个未完成上传文件,则可以认为该文件即为目标文件的上传中断文件。如果查找到的未完成上传文件为多个,则认为服务器端没有未完成上传文件能够准确匹配目标文件,即没有查找到目标文件的上传中断文件。将得到的结果发送到目标文件上传子单元202进行后续操作。
[0138]在本实施例中,所述上传中断文件查找子单元还包括:第二特征查找子单元,用于在没有查找到特征码相同的未完成上传文件时,在服务器端中查找与目标文件的指定数据段相同的未完成上传文件。如果只查到一个未完成上传文件,将查找到的文件作为目标文件的上传中断文件,否则认为没有查找到所述目标文件的上传中断文件。通过使用以上系统,可以在使用特征码查找不到目标文件的上传中断文件时,使用目标文件的指定数据段进行匹配查询,增加查找到上传中断文件的可能性,进而方便进行后续的上传工作。
[0139]参见图9,该图为本发明提供的一种文件上传系统第四实施例的原理框图。
[0140]在本实施例中,所述目标文件上传子单元202,包括:起始位置确定子单元2021和文件上传子单元2022。
[0141]所述断点数据验证子单元2021,用于在查找到所述目标文件的上传中断文件时,判断所述目标文件的上传断点位置的数据与所述上传中断文件的最后上传数据是否相同;若相同,将所述上传中断文件的断点位置作为所述目标文件的上传起始位置;否则,将所述目标文件的头位置作为所述上传起始位置;若没有查找到所述目标文件的上传中断文件,将所述目标文件的头位置作为所述上传起始位置。
[0142]所述文件上传子单元2022,用于根据所述上传起始位置上传所述目标文件。
[0143]在本实施例中,在通过使用目标文件的特征查询目标文件的上传中断文件后,由目标文件上传子单元202根据最终得到的结果确定如何对目标文件进行后续上传。
[0144]具体地,使用目标文件上传子单元202中的起始位置确定子单元2021判断如果查找到了目标文件的上传中断文件,则获取目标文件在最后一次上传的起始位置。该位置可以与目标文件一同存储在本地,也可以存储在服务器端。将目标文件在起始位置的数据与查找到的上传中断文件的最后上传数据(或文件尾数据)进行比较。如果判断相同,则认为此断点位置为上一次上传结束的位置,将该断点位置作为本次上传的起始位置,在使用该上传中断文件进行续传。如果不相同,则认为查找到的上传中断文件与目标文件不相匹配,不能使用该上传中断文件进行续传操作,将目标文件的头位置作为上传的起始位置。
[0145]如果没有查找到目标文件的上传中断文件,则认为在服务器端没有上传过或上传的文件丢失。将所述目标文件的头位置作为所述上传起始位置。
[0146]最后,使用文件上传子单元2022根据判断后得到的目标文件的起始位置上传目标文件。如果起始位置为断点位置,则将上传的数据内容补充到目标文件的上传中断文件中。如果起始位置为目标文件的头位置,则重新上传目标文件。
[0147]在本实施例中,目标文件上传子单元中包括:起始位置确定子单元和文件上传子单元。其中,断点数据验证子单元用于在查找到目标文件的上传中断文件时,判断目标文件的上传断点位置的数据与上传中断文件的最后上传数据是否相同。如果相同,将上传中断文件的断点位置作为目标文件的上传起始位置,否则将目标文件的头位置作为上传起始位置。如果没有查找到目标文件的上传中断文件,将目标文件的头位置作为上传起始位置。最后,由文件上传子单元用于根据所述上传起始位置上传目标文件。通过使用以上系统,可对服务器端存储的上传中断文件在断点位置处数据的校验,保证已经上传内容与目标文件中内容的准确衔接,实现文件的跨平台上传。
[0148]参见图10,该图为本发明提供的一种文件上传系统第五实施例的原理框图。
[0149]在本实施例中,所述服务器端上传单元20,还包括:特征信息存储子单元203。
[0150]所述特征信息存储子单元203,用于存储所述目标文件的特征信息。[0151]在对目标文件进行上传时,如果上传的起始地址为目标文件的头地址,则认为是对目标文件进行重新上传。因此,可以在上传前重新确定目标文件的特征信息,该特征信息可以为在本发明提供的一种文件上传方法第一实施例中所提出的特征信息。
[0152]在得到目标文件的特征信息后,将该特征信息发送到服务器端,由服务器端上传单元20中的特征信息存储子单元203存储目标文件的特征信息,以便目标文件在下次进行续传时可以通过特征信息查找到目标文件的上传中断文件,进而进行文件续传。
[0153]在本实施例中,在服务器端上传单元中还包括:特征信息存储子单元,用于存储所述目标文件的特征信息。通过使用以上系统,可以为目标文件在本次上传之后的续传操作提供基础,如果之后再进行文件续传,则可以通过目标文件的特征信息查找到存储在服务器端的上传中断文件,从而进行后续操作。
[0154]以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制。虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明。任何熟悉本领域的技术人员,在不脱离本发明技术方案范围情况下,都可利用上述揭示的方法和技术内容对本发明技术方案做出许多可能的变动和修饰,或修改为等同变化的等效实施例。因此,凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所做的任何简单修改、等同变化及修饰,均仍属于本发明技术方案保护的范围内。
【权利要求】
1.一种文件上传方法,其特征在于,包括: 确定需要上传的目标文件; 根据所述目标文件的特征信息在服务器端查找所述目标文件的上传中断文件; 根据查找所述上传中断文件的结果确定所述目标文件的上传起始位置,从所述上传起始位置上传所述目标文件。
2.根据权利要求1所述的方法,其特征在于,所述根据所述目标文件的特征在服务器端查找所述目标文件的上传中断文件,具体为: 根据所述目标文件的特征信息确定所述目标文件的特征码; 在服务器端中查找与所述特征码相同的未完成上传文件,判断查找到的文件与所述目标文件在相同位置的数据段是否相同; 若相同,将查找到的文件为所述目标文件的上传中断文件;否则,没有查找到所述目标文件的上传中断文件。
3.根据权利要求2所述的方法,其特征在于,还包括: 若在服务器端中没有查找到所述特征码相同的未完成上传文件,在所述服务器端中查找与所述目标文件的指定数据段相同的未完成上传文件; 若只查到一个未完成上传文件,将查找到的文件作为所述目标文件的上传中断文件;否则,没有查找到所述目标文件的上传中断文件。
4.根据权利要求1所述的方法,其特征在于,所述根据查找所述上传中断文件的结果确定所述目标文件的上传起始位置,从所述上传起始位置上传所述目标文件,具体为: 若查找到所述目标文件的上传中断文件,判断所述目标文件的上传断点位置的数据与所述上传中断文件的最后上传数据是否相同; 若相同,将所述上传中断文件的断点位置作为所述目标文件的上传起始位置;否则,将所述目标文件的头位置作为所述上传起始位置; 若没有查找到所述目标文件的上传中断文件,将所述目标文件的头位置作为所述上传起始位置; 根据所述上传起始位置上传所述目标文件。
5.根据权利要求4所述的方法,其特征在于,还包括: 若从所述目标文件的头位置上传所述目标文件,确定所述目标文件的特征信息; 将所述目标文件的特征信息存储在所述服务器端。
6.一种文件上传系统,其特征在于,包括:本地端目标文件上传单元和服务器端上传单元; 所述本地端目标文件上传单元,包括:目标文件确定子单元; 所述目标文件确定子单元,用于确定需要上传的目标文件; 所述服务器端上传单元,包括:上传中断文件查找子单元和目标文件上传子单元; 所述上传中断文件查找子单元,用于根据所述目标文件的特征信息在服务器端查找所述目标文件的上传中断文件; 所述目标文件上传子单元,用于根据查找所述上传中断文件的结果确定所述目标文件的上传起始位置,从所述上传起始位置上传所述目标文件。
7.根据权利要求6所述的系统,其特征在于,所述本地端目标文件上传单元,还包括:特征码生成子单元; 所述特征码生成子单元,用于根据所述目标文件的特征信息确定所述目标文件的特征码; 所述上传中断文件查找子单元,包括:第一特征查找子单元和第一特征验证子单元; 所述第一特征查找子单元,用于在服务器端中查找与所述特征码相同的未完成上传文件; 所述第一特征验证子单元,用于判断查找到的文件与所述目标文件在相同位置的数据段是否相同;若相同,将查找到的文件为所述目标文件的上传中断文件;否则,没有查找到所述目标文件的上传中断文件。
8.根据权利要求7所述的系统,其特征在于,所述上传中断文件查找子单元,还包括:第二特征查找子单兀; 所述第二特征查找子单元,用于在若没有查找到所述特征码相同的未完成上传文件,则在所述服务器端中查找与所述目标文件的指定数据段相同的未完成上传文件;若只查到一个未完成上传文件,将 查找到的文件作为所述目标文件的上传中断文件;否则,没有查找到所述目标文件的上传中断文件。
9.根据权利要求6所述的系统,其特征在于,所述目标文件上传子单元,包括:起始位置确定子单元和文件上传子单元; 所述断点数据验证子单元,用于在查找到所述目标文件的上传中断文件时,判断所述目标文件的上传断点位置的数据与所述上传中断文件的最后上传数据是否相同;若相同,将所述上传中断文件的断点位置作为所述目标文件的上传起始位置;否则,将所述目标文件的头位置作为所述上传起始位置;若没有查找到所述目标文件的上传中断文件,将所述目标文件的头位置作为所述上传起始位置; 所述文件上传子单元,用于根据所述上传起始位置上传所述目标文件。
10.根据权利要求9所述的系统,其特征在于,所述服务器端上传单元,还包括:特征信息存储子单元; 所述特征信息存储子单元,用于存储所述目标文件的特征信息。
【文档编号】G06F17/30GK103955544SQ201410216300
【公开日】2014年7月30日 申请日期:2014年5月21日 优先权日:2014年5月21日
【发明者】唐婧 申请人:北京奇艺世纪科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1