上传文件的方法、客户端设备、服务器及系统的制作方法

文档序号:7981443阅读:97来源:国知局
上传文件的方法、客户端设备、服务器及系统的制作方法
【专利摘要】本发明公开了一种上传文件的方法、客户端设备、服务器及系统,属于网络【技术领域】。该方法包括:接收对文件的上传指令;向服务器发送存储信息请求消息,该存储信息请求消息携带该文件的文件特征值;当接收到该服务器根据该文件的文件特征值返回的存储信息时,该存储信息包括文件偏移地址,将该文件偏移地址作为上传的起始文件偏移地址,上传该文件的该文件偏移地址之后的部分。本发明能够实现针对文件的上传,与现有技术的上传过程相比,无需登录帐号并进行验证,即可进行文件的上传,在此基础上的上传,客户端设备可以获取服务器上已保存的该文件的存储信息,仅上传服务器上未保存的部分,无需从自身文件头开始上传,避免了用户不必要的流量损失。
【专利说明】上传文件的方法、客户端设备、服务器及系统
【技术领域】
[0001]本发明涉及网络【技术领域】,特别涉及一种上传文件的方法、客户端设备、服务器及系统。
【背景技术】
[0002]随着网络技术的发展,人们通过网络上传文件,或通过网络下载文件,已经是稀松平常的事情。现有的文件上传技术,不管在PC端或手机端,都较为成熟。然而目前市场上绝大多数文件存储软件均基于帐号的,即必须在注册并登录帐号后方可以上传文件。
[0003]现有的上传文件具体方案如下:当用户注册并登录帐号后,选择客户端设备中文件上传。客户端设备在接收到用户文件上传请求后,一次性或分块读取文件内容后向服务器发起一次或多次上传请求。服务器每次接收到客户端设备的请求,解析请求中的帐号和文件信息,验证帐号后读取请求中的文件内容并依次写入。
[0004]在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
[0005]现有技术的上传过程中,用户需登录帐号并验证成功后才能上传文件,在此基础上的上传,实质上是针对用户的上传,即使服务器上已存在当前用户正在上传的文件,用户仍需从自身文件头开始上传,给用户造成了不必要流量的损失。

【发明内容】

[0006]为了解决现有技术的问题,本发明实施例提供了一种上传文件的方法、客户端设备、服务器及系统。所述技术方案如下:
[0007]一方面,一种上传文件的方法,所述方法包括:
[0008]接收对文件的上传指令,向服务器发送存储信息请求消息,所述存储信息请求消息携带所述文件的文件特征值;
[0009]当接收到所述服务器根据所述文件的文件特征值返回的存储信息时,所述存储信息包括文件偏移地址,将所述文件偏移地址作为上传的起始文件偏移地址,上传所述文件的所述文件偏移地址之后的部分。
[0010]另一方面,一种上传文件的方法,包括:
[0011]接收客户端设备的存储信息请求消息,所述存储信息请求消息携带所述文件的文件特征值;
[0012]当根据所述文件特征值确定服务器上保存有所述文件,获取已保存的所述文件的存储信息,所述存储信息包括文件偏移地址;
[0013]向所述客户端设备返回所述文件的存储信息,使得所述客户端设备根据所述存储信息所包括的文件偏移地址上传所述文件;
[0014]当接收到所述客户端设备上传的数据包时,保存所述数据包。
[0015]一方面,一种客户端设备,所述客户端设备包括:
[0016]消息收发模块,用于接收对文件的上传指令,向服务器发送存储信息请求消息,所述存储信息请求消息携带所述文件的文件特征值;
[0017]上传模块,用于当接收到所述服务器根据所述文件的文件特征值返回的存储信息时,所述存储信息包括文件偏移地址,将所述文件偏移地址作为上传的起始文件偏移地址,上传所述文件的所述文件偏移地址之后的部分。
[0018]另一方面,一种服务器,包括:
[0019]收发模块,用于接收客户端设备的存储信息请求消息,所述存储信息请求消息携带所述文件的文件特征值;
[0020]获取模块,用于当根据所述文件特征值确定服务器上保存有所述文件,获取已保存的所述文件的存储信息,所述存储信息包括文件偏移地址;
[0021]所述收发模块,还用于向所述客户端设备返回所述文件的存储信息,使得所述客户端设备根据所述存储信息所包括的文件偏移地址上传所述文件;
[0022]保存模块,用于当接收到所述客户端设备上传的数据包时,保存所述数据包。
[0023]再一方面,一种文件上传系统,包括:
[0024]客户端设备,用于接收对文件的上传指令,向服务器发送存储信息请求消息,所述存储信息请求消息携带所述文件的文件特征值;当接收到所述服务器根据所述文件的文件特征值返回的存储信息时,所述存储信息包括文件偏移地址,将所述文件偏移地址作为上传的起始文件偏移地址,上传所述文件的所述文件偏移地址之后的部分;
[0025]服务器,接收客户端设备的存储信息请求消息,所述存储信息请求消息携带所述文件的文件特征值;当根据所述文件特征值确定服务器上保存有所述文件,获取已保存的所述文件的存储信息,所述存储信息包括文件偏移地址;向所述客户端设备返回所述文件的存储信息,使得所述客户端设备根据所述存储信息所包括的文件偏移地址上传所述文件;当接收到所述客户端设备上传的数据包时,保存所述数据包。
[0026]本发明提供的一种上传文件的方法、客户端设备、服务器及系统,通过客户端设备接收对文件的上传指令;向服务器发送存储信息请求消息,所述存储信息请求消息携带所述文件的文件特征值;当接收到所述服务器根据所述文件的文件特征值返回的存储信息时,所述存储信息包括文件偏移地址,将所述文件偏移地址作为上传的起始文件偏移地址,上传所述文件的所述文件偏移地址之后的部分。采用本发明提供的技术方案,能够实现针对文件的上传,与现有技术的上传过程相比,无需登录帐号并进行验证,即可进行文件的上传,在此基础上的上传,客户端设备可以获取服务器上已保存的该文件的存储信息,仅上传服务器上未保存的部分,无需从自身文件头开始上传,避免了用户不必要的流量损失。
【专利附图】

【附图说明】
[0027]为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0028]图1是本发明实施例提供的一种上传文件的方法的流程图;
[0029]图2是本发明实施例提供的一种上传文件的方法的流程图;
[0030]图3是本发明实施例提供的一种上传文件的方法的流程图;[0031]图4是本发明实施例提供的一种客户端设备的结构示意图;
[0032]图5是本发明实施例提供的一种服务器的结构示意图。
【具体实施方式】
[0033]为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
[0034]图1是本发明实施例提供的一种上传文件的方法的流程图。该实施例的执行主体为客户端设备,该客户端设备为固定终端或移动终端,该移动终端可以为智能手机、平板电脑、MP3 (Moving Picture Experts Group Audio Layer III,动态影像专家压缩标准音频层面3)、PDA (Personal Digital Assistant,个人数字助理)等。参见图1,该实施例包括:
[0035]101、接收对文件的上传指令;
[0036]102、向服务器发送存储信息请求消息,所述存储信息请求消息携带所述文件的文件特征值;
[0037]当客户端设备用户需要对文件进行上传时,触发对文件的上传指令,当客户端设备接收到该对文件的上传指令时,向服务器发送存储信息请求消息,使得服务器根据该存储信息请求消息携带的文件特征值获取服务器对该文件的存储信息。
[0038]103、当接收到所述服务器根据所述文件的文件特征值返回的存储信息时,所述存储信息包括文件偏移地址,将所述文件偏移地址作为上传的起始文件偏移地址,上传所述文件的所述文件偏移地址之后的部分。
[0039]在本实施例中当接收到所述服务器根据所述文件的文件特征值返回的存储信息时,该存储信息包括文件偏移·地址,说明服务器已保存有该文件的全部或部分,当该文件偏移地址等于文件大小,则说明服务器已有该文件的全部,则无需上传,而当文件偏移地址小于文件大小,则说明服务器上已有该文件的部分,则客户端设备仅需上传服务器上未保存的部分,则将存储信息包括的文件偏移地址作为本次上传的起始文件偏移地址,上传该文件中该文件偏移地址之后的部分。客户端设备可根据存储信息的具体内容选择性的上传所述文件,而不是将所述文件整体上传,避免了用户的流量损失。
[0040]例如,文件A的文件大小为1024K,而存储信息包括的文件偏移地址为256k,则说明服务器上已经保存该文件的【0k,256k】,则本次上传256k以后的部分,即【257k,1024k】。
[0041]本实施例提供的方法,通过客户端设备接收对文件的上传指令;向服务器发送存储信息请求消息,所述存储信息请求消息携带所述文件的文件特征值;当接收到所述服务器根据所述文件的文件特征值返回的存储信息时,所述存储信息包括文件偏移地址,将所述文件偏移地址作为上传的起始文件偏移地址,上传所述文件的所述文件偏移地址之后的部分。采用本发明提供的技术方案,能够实现针对文件的上传,与现有技术的上传过程相t匕,无需登录帐号并进行验证,即可进行文件的上传,在此基础上的上传,客户端设备可以获取服务器上已保存的该文件的存储信息,仅上传服务器上未保存的部分,无需从自身文件头开始上传,避免了用户不必要的流量损失。
[0042]可选地,在图1所示实施例的基础上,其中的步骤102中的“向服务器发送存储信息请求消息”,之前包括如下步骤(1):
[0043](I)根据所述文件以及预设算法生成所述文件的文件特征值;[0044]在本实施例中的预设算法是指客户端设备与服务器之间预先约定的算法,优选地,该预设算法可以为MD5算法,则该步骤(1)具体包括:根据文件以及MD5算法生成的文件的MD5值。需要说明的是,该生成文件特征值的过程仅需在发送存储信息请求消息之前进行即可,其具体的生成时机可以有以下任一种:在对所述文件进行保存时,根据所述文件以及预设算法生成所述文件的文件特征值;在接收到对文件的上传指令时,根据所述文件以及预设算法生成所述文件的文件特征值,本实施例不做具体限定。
[0045]对于本实施例中的每个文件来说,均具有一个唯一的文件特征值,文件和文件特征值是一一对应的。 [0046]可选地,在图1所示实施例的基础上,所述存储信息请求消息还携带网络状态信息,则所述存储信息包括文件偏移地址和指定数据包大小,相应地,其中的步骤103“将所述文件偏移地址作为上传的起始文件偏移地址,上传所述文件的所述文件偏移地址之后的部分”,具体包括:将所述文件偏移地址作为上传的起始文件偏移地址,按照所述指定数据包大小对所述文件的所述文件偏移地址之后的部分进行分割,得到数个所述指定数据包大小的数据包,顺序上传所述数个所述指定数据包大小的数据包。
[0047]在本实施例中当接收到所述服务器根据所述文件的文件特征值返回的存储信息时,该存储信息包括文件偏移地址,说明服务器已保存有该文件的全部或部分,当该文件偏移地址等于文件大小,则说明服务器已有该文件的全部,则无需上传,而当文件偏移地址小于文件大小,则说明服务器上已有该文件的部分,则客户端设备仅需上传服务器上未保存的部分,则将存储信息包括的文件偏移地址作为本次上传的起始文件偏移地址,上传该文件中该文件偏移地址之后的部分。
[0048]而当存储信息请求消息携带网络状态信息时,服务器可根据该网络状态信息选择指定数据包大小,不同的网络状态信息可对应不同的数据包大小,优选地,网络状态信息为GPRS对应的数据包与网络状态信息为Wifi对应的数据包相比,网络状态信息为GPRS对应的数据包大小较大。而当客户端设备接收到的存储信息还包括了指定数据包大小时,对该文件服务器未保存的部分按照指定数据包大小进行分割,得到的数个指定数据包大小的数据包,以便适应当前网络环境,避免由于数据包过大而造成的传输延时等情况,提高了上传的成功率。
[0049]仍然以文件A为例进行说明,文件A的文件大小为1024K,而存储信息包括的文件偏移地址为256k,则说明服务器上已经保存该文件的【0k,256k】,则本次上传256k以后的部分,即【257k,1024k】,而当指定数据包大小为256k时,则将【257k,1024k】分割为【257k,513k】,【514k,770k】……等与指定数据包大小相同的数据包,并顺序上传。
[0050]需要说明的是,该分割可以是对文件的实际分割,也可以仅是对文件每次上传数据包的划分,本实施例不做具体限定。
[0051]本实施例提供的方法,通过客户端设备接收对文件的上传指令;向服务器发送存储信息请求消息,所述存储信息请求消息携带所述文件的文件特征值;当接收到所述服务器根据所述文件的文件特征值返回的存储信息时,所述存储信息包括文件偏移地址,将所述文件偏移地址作为上传的起始文件偏移地址,上传所述文件的所述文件偏移地址之后的部分。采用本发明提供的技术方案,能够实现针对文件的上传,与现有技术的上传过程相t匕,无需登录帐号并进行验证,即可进行文件的上传,在此基础上的上传,客户端设备可以获取服务器上已保存的该文件的存储信息,仅上传服务器上未保存的部分,无需从自身文件头开始上传,避免了用户不必要的流量损失。进一步地,通过对上传的数据包大小进行限制,避免了数据流的激变,保证了上传的稳定性。
[0052]可选地,在图1所示实施例的基础上,其中的步骤103中的“将所述文件偏移地址作为上传的起始文件偏移地址,上传所述文件的所述文件偏移地址之后的部分”,之后包括:向所述服务器发送续传请求消息,所述续传请求消息携带文件的续传数据包和所述文件的文件特征值。
[0053]在本实施例中续传请求消息是指客户端设备已经对该文件进行过至少一次上传,但是并未将该文件的数据全部上传,则对该文件的再次上传可称为续传,在进行续传时,客户端设备向服务器发送续传请求消息,而该续传请求消息携带续传数据包,该续传数据包的起始文件偏移地址为该客户端设备上一次上传的截止文件偏移地址。而为了节约服务器的空间,该续传请求消息还需携带文件特征值,以使得服务器根据该文件特征值对所述续传数据包进行保存。
[0054]本领域技术人员可以获知,续传数据包的起始文件偏移地址的获取以及该客户端设备上一次上传的截止文件偏移地址的获取为现有技术,在此不再赘述。
[0055]本实施例提供的方法,通过客户端设备接收对文件的上传指令;向服务器发送存储信息请求消息,所述存储信息请求消息携带所述文件的文件特征值;当接收到所述服务器根据所述文件的文件特征值返回的存储信息时,所述存储信息包括文件偏移地址,将所述文件偏移地址作为上传的起始文件偏移地址,上传所述文件的所述文件偏移地址之后的部分。采用本发明提供的技术方案,能够实现针对文件的上传,与现有技术的上传过程相t匕,无需登录帐号并进行验证,即可进行文件的上传,在此基础上的上传,客户端设备可以获取服务器上已保存的该文件的存储信息,仅上传服务器上未保存 的部分,无需从自身文件头开始上传,避免了用户不必要的流量损失。
[0056]需要说明的是,上述所有可选技术方案可以采用可以结合的任意方式组成本发明实施例的可选技术方案,在此不再举例。
[0057]图2是本发明实施例提供的一种上传文件的方法的流程图。该实施例的执行主体为服务器,该服务器是为客户端设备的文件上传服务的服务器,需要说明的是,本实施例所述的服务器,可以为服务器的一个或多个功能模块、服务器或服务器集群。参见图2,该实施例包括:
[0058]201、接收客户端设备的存储信息请求消息,所述存储信息请求消息携带所述文件的文件特征值;
[0059]在本实施例中的预设算法是指客户端设备与服务器之间预先约定的算法,优选地,该预设算法可以为MD5算法,对于本实施例中的每个文件来说,均具有一个唯一的文件
特征值,文件和文件特征值是--对应的。服务器在保存文件时,同时保存该文件的文件特
征值,以便在后续接收到存储信息请求消息时,根据文件特征值判断本地是否保存有该文件。
[0060]202、当根据所述文件特征值确定服务器上保存有所述文件,获取已保存的所述文件的存储信息,所述存储信息包括文件偏移地址;
[0061]当服务器上保存有该文件特征值时,说明该服务器上保存有该文件的部分或全部,否则,说明该服务器上未保存有该文件的任一部分。
[0062]203、向所述客户端设备返回所述文件的存储信息,使得所述客户端设备根据所述存储信息所包括的文件偏移地址上传所述文件;
[0063]204、当接收到所述客户端设备上传的数据包时,保存所述数据包。
[0064]客户端根据文件的存储信息上传的数据包中的起始文件偏移地址为存储信息中的文件偏移地址,因此,服务器在保存该数据包时,将该数据包的数据与服务器已保存的该文件的部分合并保存。
[0065]本实施例提供的方法,能够实现针对文件的上传,与现有技术的上传过程相比,省去了用户登录帐号并进行验证的过程,即可进行文件的上传,在此基础上的上传,服务器仅保存一份文件,而不是重复保存多个用户上传的同一文件,使得客户端设备可以获取服务器上已保存的该文件的存储信息,仅上传服务器上未保存的部分,无需从自身文件头开始上传,在节约了服务器的存储空间的同时,避免了用户不必要的流量损失。
[0066]可选地,在图2所示实施例的基础上,所述存储信息请求消息携带网络状态信息,相应地,其中的步骤201中的“获取已保存的所述文件的存储信息”,具体包括:根据所述文件特征值获取所述文件的文件偏移地址,根据所述网络状态信息获取指定数据包大小。
[0067]在本实施例中不同的网络状态信息可对应不同的数据包大小,该网络状态信息和数据包大小的对应关系可由技术人员预先设置并保存在服务器上,当服务器接收到携带网络状态信息的存储信息请求消息时,根据该网络状态信息以及预先保存的网络状态信息和数据包大小的对应关系获取指定数据包大小。
[0068]可选地,在图2所示实施例的基础上,本发明实施例提供的方法进一步还包括下述步骤a和b:
[0069]步骤a、当接收到续传请求消息,所述续传请求消息携带文件的续传数据包和所述文件的文件特征值,根据所述文件的文件特征值获取所述文件的存储信息;
[0070]本实施例中的续传是指同一客户端设备对同一文件的再次上传,当服务器接收到续传请求消息,需要获取该文件当前的存储信息,以便获知服务器上对该文件的存储情况。
[0071]步骤b、根据所述文件的续传数据包和所述存储信息,对所述续传数据包进行保存。
[0072]由于该文件是根据文件特征值进行索引的,无需以用户的账号为续传基础,因此,省去了用户的注册或登录,仅需根据文件的续传数据包和存储信息,对该续传数据包进行保存。
[0073]可选地,在图2所示实施例的基础上,步骤b “根据所述文件的续传数据包和所述存储信息,对所述续传数据包进行保存”,包括:当所述文件的续传数据包的起始文件偏移地址和所述服务器所保存的所述文件的文件偏移地址相同时,保存所述续传数据包;当所述文件的续传数据包的起始文件偏移地址小于所述服务器所保存的所述文件的文件偏移地址不同时,截取并保存所述续传数据包中与所述服务器所保存的所述文件的文件偏移地址相应的部分。
[0074]对于当前续传的文件来说,在该客户端设备的上一次上传后,服务器还可以接收其他客户端设备上传的该文件的其他部分,因此,在获取到文件的存储信息后,需根据粗出信息中的文件偏移地址确定该文件当前的存储情况,如果文件的续传数据包的起始文件偏移地址和所述服务器所保存的所述文件的文件偏移地址相同,则说明未有其他客户端设备对该文件进行了续传,则保存该续传数据包,当所述文件的续传数据包的起始文件偏移地址小于所述服务器所保存的所述文件的文件偏移地址不同时,说明在该客户端设备之后,还有其他客户端设备对同一文件的其他部分进行了上传,则从该续传数据包中截取与所述服务器所保存的所述文件的文件偏移地址相应的部分,并保存截取的部分,避免了服务器端对同一文件的重复保存,既节约了空间,还节约了服务器的处理时间。
[0075]需要说明的是,上述所有可选技术方案可以采用可以结合的任意方式组成本发明实施例的可选技术方案,在此不再 举例。
[0076]图3是本发明实施例提供的一种上传文件的方法的流程图。本实施例的上传文件的方法以包括上述所有可选技术方案为例,更加详细地介绍本发明的技术方案。如图3所示,本实施例的上传文件的方法,具体可以包括如下步骤:
[0077]301、客户端设备根据所述文件以及预设算法生成所述文件的文件特征值;
[0078]302、当客户端设备接收到对文件的上传指令时,向服务器发送存储信息请求消息,所述存储信息请求消息携带所述文件的文件特征值;
[0079]303、当服务器接收到客户端设备的存储信息请求消息,所述存储信息请求消息携带所述文件的文件特征值,根据所述文件特征值获取所述文件的存储信息,所述存储信息包括文件偏移地址和指定数据包大小;
[0080]304、服务器向所述客户端设备返回所述文件的存储信息,所述存储信息包括文件偏移地址和指定数据包大小;
[0081]305、当客户端设备接收到所述服务器根据所述文件的文件特征值返回的存储信息时,将所述文件偏移地址作为上传的起始文件偏移地址,按照所述指定数据包大小对所述文件的所述文件偏移地址之后的部分进行分割,得到数个所述指定数据包大小的数据包,顺序上传所述数个所述指定数据包大小的数据包;
[0082]306、当服务器接收到所述客户端设备上传的数据包时,保存所述数据包。
[0083]本实施例提供的方法,能够实现针对文件的上传,与现有技术的上传过程相比,省去了用户登录帐号并进行验证的过程,即可进行文件的上传,在此基础上的上传,服务器仅保存一份文件,而不是重复保存多个用户上传的同一文件,使得客户端设备可以获取服务器上已保存的该文件的存储信息,仅上传服务器上未保存的部分,无需从自身文件头开始上传,在节约了服务器的存储空间的同时,避免了用户不必要的流量损失。
[0084]图4是本发明实施例提供的一种客户端设备的结构示意图。参见图4,该客户端设备包括:
[0085]消息收发模块401,用于接收对文件的上传指令,向服务器发送存储信息请求消息,所述存储信息请求消息携带所述文件的文件特征值;
[0086]上传模块402,用于当接收到所述服务器根据所述文件的文件特征值返回的存储信息时,所述存储信息包括文件偏移地址,将所述文件偏移地址作为上传的起始文件偏移地址,上传所述文件的所述文件偏移地址之后的部分。
[0087]可选地,所述客户端设备还包括:
[0088]生成模块403,用于根据所述文件以及预设算法生成所述文件的文件特征值。
[0089]可选地,所述存储信息请求消息还携带网络状态信息,则所述存储信息包括文件偏移地址和指定数据包大小,相应地,所述上传模块402具体用于将所述文件偏移地址作为上传的起始文件偏移地址,按照所述指定数据包大小对所述文件的所述文件偏移地址之后的部分进行分割,得到数个所述指定数据包大小的数据包,顺序上传所述数个所述指定数据包大小的数据包。
[0090]可选地,所述消息收发模块401还用于向所述服务器发送续传请求消息,所述续传请求消息携带文件的续传数据包和所述文件的文件特征值。
[0091]需要说明的是:上述实施例提供的客户端设备在文件上传时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的客户端设备与文件上传的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
[0092]本实施例提供的客户端设备,包括但不限于移动终端,还可以为固定终端。
[0093]本实施例提供的客户端设备,通过客户端设备接收对文件的上传指令;向服务器发送存储信息请求消息,所述存储信息请求消息携带所述文件的文件特征值;当接收到所述服务器根据所述文件的文件特征值返回的存储信息时,所述存储信息包括文件偏移地址,将所述文件偏移地址作为上传的起始文件偏移地址,上传所述文件的所述文件偏移地址之后的部分。采用本发明提供的技术方案,能够实现针对文件的上传,与现有技术的上传过程相比,无需登录帐号并进行验证,即可进行文件的上传,在此基础上的上传,客户端设备可以获取服务器上已保存的该文件的存储信息,仅上传服务器上未保存的部分,无需从自身文件头开始上传,避免了用户不必要的流量损失。
[0094]图5是本发明实施例提供的一种服务器的结构示意图。参见图5,该服务器包括:
[0095]收发模块501,用于接收客户端设备的存储信息请求消息,所述存储信息请求消息携带所述文件的文件特征值;
[0096]获取模块502,用于当根据所述文件特征值确定服务器上保存有所述文件,获取已保存的所述文件的存储信息,所述存储信息包括文件偏移地址;
[0097]所述收发模块501,还用于向所述客户端设备返回所述文件的存储信息,使得所述客户端设备根据所述存储信息所包括的文件偏移地址上传所述文件;
[0098]保存模块503,用于当接收到所述客户端设备上传的数据包时,保存所述数据包。
[0099]可选地,所述存储信息请求消息携带网络状态信息,相应地,所述获取模块502具体用于根据所述文件特征值获取所述文件的文件偏移地址,根据所述网络状态信息获取指定数据包大小。
[0100]可选地,所述收发模块501还用于接收续传请求消息,所述续传请求消息携带文件的续传数据包和所述文件的文件特征值;
[0101]所述获取模块502,用于根据所述文件的文件特征值获取所述文件的存储信息;
[0102]所述保存模块503,还用于根据所述文件的续传数据包和所述存储信息,对所述续传数据包进行保存。
[0103]可选地,所述保存模块503具体用于当所述文件的续传数据包的起始文件偏移地址和所述服务器所保存的所述文件的文件偏移地址相同时,保存所述续传数据包;当所述文件的续传数据包的起始文件偏移地址小于所述服务器所保存的所述文件的文件偏移地址不同时,截取并保存所述续传数据包中与所述服务器所保存的所述文件的文件偏移地址相应的部分。
[0104]需要说明的是:上述实施例提供的服务器在文件上传时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将服务器的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另夕卜,上述实施例提供的服务器与文件上传的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
[0105]本实施例提供的服务器,能够实现针对文件的上传,与现有技术的上传过程相比,省去了用户登录帐号并进行验证的过程,即可进行文件的上传,在此基础上的上传,服务器仅保存一份文件,而不是重复保存多个用户上传的同一文件,使得客户端设备可以获取服务器上已保存的该文件的存储信息,仅上传服务器上未保存的部分,无需从自身文件头开始上传,在节约了服务器的存储空间的同时,避免了用户不必要的流量损失。
[0106]本发明实施例还提供了一种文件上传系统,包括:
[0107]客户端设备,用于接收对文件的上传指令,向服务器发送存储信息请求消息,所述存储信息请求消息携带所述文件的文件特征值;当接收到所述服务器根据所述文件的文件特征值返回的存储信息时,所述存储信息包括文件偏移地址,将所述文件偏移地址作为上传的起始文件偏移地址,上传所述文件的所述文件偏移地址之后的部分;
[0108]服务器,接收客户端设备的存储信息请求消息,所述存储信息请求消息携带所述文件的文件特征值;当根据所述文件特征值确定服务器上保存有所述文件,获取已保存的所述文件的存储信息,所述存储信息包括文件偏移地址;向所述客户端设备返回所述文件的存储信息,使得所述客户端设备根据所述存储信息所包括的文件偏移地址上传所述文件;当接收到所述客户端设备上传的数据包时,保存所述数据包。
[0109]本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
[0110]以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【权利要求】
1.一种上传文件的方法,其特征在于,所述方法包括: 接收对文件的上传指令; 向服务器发送存储信息请求消息,所述存储信息请求消息携带所述文件的文件特征值; 当接收到所述服务器根据所述文件的文件特征值返回的存储信息时,所述存储信息包括文件偏移地址,将所述文件偏移地址作为上传的起始文件偏移地址,上传所述文件的所述文件偏移地址之后的部分。
2.根据权利要求1所述的方法,其特征在于,向服务器发送存储信息请求消息,之前包括: 根据所述文件以及预设算法生成所述文件的文件特征值。
3.根据权利要求1所述的方法,其特征在于,所述存储信息请求消息还携带网络状态信息,则所述存储信息包括文件偏移地址和指定数据包大小,相应地,将所述文件偏移地址作为上传的起始文件偏移地址,上传所述文件的所述文件偏移地址之后的部分,包括: 将所述文件偏移地址作为上传的起始文件偏移地址,按照所述指定数据包大小对所述文件的所述文件偏 移地址之后的部分进行分割,得到数个所述指定数据包大小的数据包,顺序上传所述数个所述指定数据包大小的数据包。
4.根据权利要求1所述的方法,其特征在于,将所述文件偏移地址作为上传的起始文件偏移地址,上传所述文件的所述文件偏移地址之后的部分,之后包括: 向所述服务器发送续传请求消息,所述续传请求消息携带文件的续传数据包和所述文件的文件特征值。
5.一种上传文件的方法,其特征在于,包括: 接收客户端设备的存储信息请求消息,所述存储信息请求消息携带所述文件的文件特征值; 当根据所述文件特征值确定服务器上保存有所述文件,获取已保存的所述文件的存储信息,所述存储信息包括文件偏移地址; 向所述客户端设备返回所述文件的存储信息,使得所述客户端设备根据所述存储信息所包括的文件偏移地址上传所述文件; 当接收到所述客户端设备上传的数据包时,保存所述数据包。
6.根据权利要求5所述的方法,其特征在于,所述存储信息请求消息还携带网络状态信息,相应地,获取已保存的所述文件的存储信息,具体包括: 根据所述文件特征值获取所述文件的文件偏移地址,根据所述网络状态信息获取指定数据包大小。
7.根据权利要求5所述的方法,其特征在于,所述方法还包括: 当接收到续传请求消息,所述续传请求消息携带文件的续传数据包和所述文件的文件特征值,根据所述文件的文件特征值获取所述文件的存储信息; 根据所述文件的续传数据包和所述存储信息,对所述续传数据包进行保存。
8.根据权利要求7所述的方法,其特征在于,根据所述文件的续传数据包和所述存储信息,对所述续传数据包进行保存,包括: 当所述文件的续传数据包的起始文件偏移地址和所述服务器所保存的所述文件的文件偏移地址相同时,保存所述续传数据包; 当所述文件的续传数据包的起始文件偏移地址小于所述服务器所保存的所述文件的文件偏移地址不同时,截取并保存所述续传数据包中与所述服务器所保存的所述文件的文件偏移地址相应的部分。
9.一种客户端设备,其特征在于,所述客户端设备包括: 消息收发模块,用于接收对文件的上传指令; 所述消息收发模块,还用于向服务器发送存储信息请求消息,所述存储信息请求消息携带所述文件的文件特征值; 上传模块,用于当接收到所述服务器根据所述文件的文件特征值返回的存储信息时,所述存储信息包括文件偏移地址,将所述文件偏移地址作为上传的起始文件偏移地址,上传所述文件的所述文件偏移地址之后的部分。
10.根据权利要求9所述的客户端设备,其特征在于,所述客户端设备还包括: 生成模块,用于根据所述文件以及预设算法生成所述文件的文件特征值。
11.根据权利要求9所述的客户端设备,其特征在于,所述存储信息请求消息还携带网络状态信息,则所述存储信息包括文件偏移地址和指定数据包大小,相应地,所述上传模块具体用于将所述文件偏移地址作为上传的起始文件偏移地址,按照所述指定数据包大小对所述文件的所述文件偏移地址之后的部分进行分割,得到数个所述指定数据包大小的数据包,顺序上传所述数个所述指定数据包大小的数据包。
12.根据权利要求9所述的客户端设备,其特征在于,所述消息收发模块还用于向所述服务器发送续传请求消息,所述续传请求消息携带文件的续传数据包和所述文件的文件特征值。
13.一种服务器,其特征在于,包括: 收发模块,用于接收客户端设备的存储信息请求消息,所述存储信息请求消息携带所述文件的文件特征值; 获取模块,用于当根据所述文件特征值确定服务器上保存有所述文件,获取已保存的所述文件的存储信息,所述存储信息包括文件偏移地址; 所述收发模块,还用于向所述客户端设备返回所述文件的存储信息,使得所述客户端设备根据所述存储信息所包括的文件偏移地址上传所述文件; 保存模块,用于当接收到所述客户端设备上传的数据包时,保存所述数据包。
14.根据权利要求13所述的服务器,其特征在于,所述存储信息请求消息携带网络状态信息,相应地,所述获取模块具体用于根据所述文件特征值获取所述文件的文件偏移地址,根据所述网络状态信息获取指定数据包大小。
15.根据权利要求13所述的服务器,其特征在于,所述收发模块还用于接收续传请求消息,所述续传请求消息携带文件的续传数据包和所述文件的文件特征值; 所述获取模块,用于根据所述文件的文件特征值获取所述文件的存储信息; 所述保存模块,还用于根据所述文件的续传数据包和所述存储信息,对所述续传数据包进行保存。
16.根据权利要求13所述的服务器,其特征在于,所述保存模块具体用于当所述文件的续传数据包的起始文件偏移地址和所述服务器所保存的所述文件的文件偏移地址相同时,保存所述续传数据包;当所述文件的续传数据包的起始文件偏移地址小于所述服务器所保存的所述文件的文件偏移地址不同时,截取并保存所述续传数据包中与所述服务器所保存的所述文件的文件偏移地址相应的部分。
17.一种文件上传系统,其特征在于,包括: 客户端设备,用于接收对文件的上传指令,向服务器发送存储信息请求消息,所述存储信息请求消息携带所述文件的文件特征值;当接收到所述服务器根据所述文件的文件特征值返回的存储信息时,所述存储信息包括文件偏移地址,将所述文件偏移地址作为上传的起始文件偏移地址,上传所述文件的所述文件偏移地址之后的部分; 服务器,接收客户端设备的存储信息请求消息,所述存储信息请求消息携带所述文件的文件特征值;当根据所述文件特征值确定服务器上保存有所述文件,获取已保存的所述文件的存储信息,所述存储信息包括文件偏移地址;向所述客户端设备返回所述文件的存储信息,使得所述客户端设备根据所述存储信息所包括的文件偏移地址上传所述文件;当接收到所述客户端设备上 传的数据包时,保存所述数据包。
【文档编号】H04L29/08GK103581242SQ201210264248
【公开日】2014年2月12日 申请日期:2012年7月27日 优先权日:2012年7月27日
【发明者】林婕 申请人:腾讯科技(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1