一种数据上传、下载方法、电子设备及服务器的制造方法

文档序号:10515682阅读:197来源:国知局
一种数据上传、下载方法、电子设备及服务器的制造方法
【专利摘要】本申请提供一种数据上传、下载方法、电子设备及服务器,其中数据上传方法包括:将待处理文件切分成若干个数据块;其中,每个数据块对应于一个数据块标识;基于所述若干个数据块构建至少一个数据包;其中,每个数据包对应于一个数据包标识,并且,至少一个数据包包含至少两个数据块。向服务器上传所述待处理文件的数据包。本申请以数据包的形式向服务器发送数据块,可以大大减少服务器接收操作次数也减少服务器输出操作次数;进而减少存储设备输入操作次数。因此,本申请可以提高数据的吞吐量并降低文件的上传效率。
【专利说明】
-种数据上传、下载方法、电子设备及服务器
技术领域
[0001] 本申请设及通信技术领域,尤其设及一种数据上传、下载方法、电子设备及服务 器。
【背景技术】
[0002] 伴随着科学技术的不断进步,终端已经逐渐进入人们生活,成为人们生活的必需 品。人们可W利用终端存储照片、音乐、视频等各种文件。伴随着终端的不断使用,终端上的 文件数量越来越多,运会占据终端越来越多的存储空间,进而影响终端的运行速度。为了提 高终端的运行速度,一些用户会将终端的文件上传至云端(例如将文件存储至网盘)。待文 件上传至云端后,用户可W删除终端本地的文件,从而释放终端的存储空间。
[0003] 目前,终端上传文件至云端的过程为:终端将文件切分为若干个数据块,然后将每 个数据块逐个上传至服务器,并由服务器逐个存储至后台存储设备中。通常情况下数据块 大小不变,所W当一个文件很大时,则被切分成很多数据块。运需要服务器进行很多次输入 输出操作,并且,需要存储设备进行很多次输入操作。运会降低整体系统的吞吐量,并降低 文件的上传效率。

【发明内容】

[0004] 本申请提供了一种数据上传、下载方法、电子设备及服务器,本申请可W提高整体 系统的吞吐量,并提高文件的上传效率。
[0005] 为了实现上述目的,本申请提供了 W下技术手段:
[0006] -种数据上传方法,包括:
[0007] 将待处理文件切分成若干个数据块;其中,每个数据块对应于一个数据块标识; [000引基于所述若干个数据块构建至少一个数据包;其中,每个数据包对应于一个数据 包标识,并且,至少一个数据包包含至少两个数据块;
[0009]向服务器上传所述待处理文件的数据包。
[0010] 优选的,还包括;
[0011] 生成所述待处理文件的文件信息;其中,所述文件信息包括:所述待处理文件的文 件标识、与所述待处理文件对应的所有数据块的数据块标识W及与所述待处理文件对应的 所有数据块标识的排列关系;
[0012] 向所述服务器上传所述文件信息。
[0013] 优选的,在将待处理文件切分成若干个数据块之后,所述方法还包括:
[0014] 基于每个数据块的数据内容进行校验,获取每个数据块的校验值;
[0015] 基于所述每个数据块的校验值与所述服务器已有数据块的校验值,确定所述待处 理文件的待上传数据块集合;其中,所述待上传数据块集合包括i个待上传数据块,且,0 < i < N,N为所述待处理文件切分成数据块的总数量;
[0016] 相应地,所述基于所述若干个数据块构建至少一个数据包,包括:
[0017]基于所述待上传数据块集合,构建至少一个数据包。
[001引一种数据上传方法,包括:
[0019] 接收终端上传的每个数据包;其中,每个数据包为终端在将待处理文件切分成若 干个数据块后、基于所述若干个数据块组建的至少一个数据包中的一个数据包;每个数据 块对应于一个数据块标识,每个数据包对应于一个数据包标识,且,至少一个数据包包含至 少两个数据块;
[0020] 将所述每个数据包存储至存储设备。
[00別]优选的,还包括:
[0022] 获取每个数据包在存储设备中的存储地址范围;
[0023] 将每个数据包的存储地址范围与每个数据包对应的数据包标识对应存储至元数 据服务器。
[0024] 优选的,还包括:
[0025] 获取每个数据包中各数据块相对存储地址W及各数据块的数据块标识;
[0026] 将所述各数据块所属数据包的数据包标识、相对存储地址W及数据块标识对应存 储至所述元数据服务器。
[0027] 优选的,还包括:
[0028] 获取终端上传的所述待处理文件的文件信息;其中,所述文件信息包括:所述待处 理文件的文件标识、与所述待处理文件对应的所有数据块的数据块标识W及与所述待处理 文件对应的所有数据块标识的排列关系;
[0029] 将所述文件信息存储至元数据服务器。
[0030] -种数据下载方法,包括:
[0031] 接收终端发送的获取待处理文件的下载请求;其中,所述下载请求对应于所述待 处理文件中每个数据块的数据块标识.
[0032] 获取每个数据块标识在所属数据包内的数据块。
[0033] 优选的,在所述接收终端发送的获取待处理文件的下载请求之后,所述方法还包 括:
[0034] 基于所述下载请求,获取所述待处理文件的文件信息;其中,所述文件信息包括所 述待处理文件的文件标识、与所述待处理文件对应的所有数据块的数据块标识;
[0035] 基于所述待处理文件的文件信息,获得所述待处理文件对应的所有数据块的数据 块标识。
[0036] 优选的,所述获取每个数据块标识在所属数据包内的数据块,包括:
[0037] 获取每个数据块标识对应的数据块所属数据包的数据包标识;
[0038] 确定每个数据包标识对应数据包在存储设备中的存储地址范围;
[0039] 在存储设备中的每个存储地址范围内,获取与每个数据块标识的相对存储地址对 应的数据块。
[0040] -种数据下载方法,包括:
[0041] 向服务器发送获取待处理文件的下载请求;其中,所述下载请求对应于所述待处 理文件中每个数据块的数据块标识;
[0042] 接收所述服务器发送的各个数据块;
[0043] 将各个数据块组合成所述待处理文件。
[0044] 优选的,所述将各个数据块组合成所述待处理文件,包括:
[0045] 确定所述各个数据块的排列顺序;
[0046] 按所述排列顺序组合所述各个数据块,获得所述待处理文件。
[0047] -种电子设备,包括:
[0048] 处理器,用于将待处理文件切分成若干个数据块;其中,每个数据块对应于一个数 据块标识;基于所述若干个数据块构建至少一个数据包;其中,每个数据包对应于一个数据 包标识,并且,至少一个数据包包含至少两个数据块;
[0049] 与所述处理器相连的通信模块,用于将所述待处理文件的数据包上传至服务器。
[0050] 优选的,所述处理器,还用于生成所述待处理文件的文件信息;并通过所述通信模 块将所述文件信息上传至所述服务器;
[0051] 其中,所述文件信息包括:所述待处理文件的文件标识、与所述待处理文件对应的 所有数据块的数据块标识W及与所述待处理文件对应的所有数据块标识的排列关系。
[0052] 优选的,所述处理器,还用于基于每个数据块的数据内容进行校验,获取每个数据 块的校验值;基于所述每个数据块的校验值与所述服务器已有数据块的校验值,确定所述 待处理文件的待上传数据块集合。
[0053] 一种服务器,包括:
[0054] 通信模块,用于接收终端上传的每个数据包;其中,每个数据包为终端在将待处理 文件切分成若干个数据块后、基于所述若干个数据块组建的至少一个数据包中的一个数据 包;每个数据块对应于一个数据块标识,每个数据包对应于一个数据包标识,且,至少一个 数据包包含至少两个数据块;
[0055] 与所述通信模块相连的处理器,用于将终端上传的每个数据包发送至存储设备;
[0056] 与所述处理器相连的存储设备,用于存储所述每个数据包。
[0057] 优选的,还包括:元数据服务器;
[0058] 所述处理器,还用于获取每个数据包在存储设备中的存储地址范围;将每个数据 包的存储地址范围与每个数据包对应的数据包标识对应存储至元数据服务器;或,
[0059] 所述处理器,还用于获取每个数据包在存储设备中的存储地址范围;将每个数据 包的存储地址范围与每个数据包对应的数据包标识对应存储至元数据服务器;或,
[0060] 所述处理器,还用于获取终端上传的所述待处理文件的文件信息;其中,所述文件 信息包括:所述待处理文件的文件标识、与所述待处理文件对应的所有数据块的数据块标 识W及与所述待处理文件对应的所有数据块标识的排列关系;将所述文件信息存储至元数 据服务器。
[0061] -种电子设备,包括:
[0062] 处理器,用于生成获取待处理文件的下载请求;接收各个数据块,并将各个数据块 组合成所述待处理文件;
[0063] 与所述处理器相连的通信模块,用于将所述获取待处理文件的下载请求发送至服 务器,接收服务器发送的各个数据块,并将所述各个数据块发送至所述处理器。
[0064] -种服务器,包括:通信模块,用于接收终端发送的获取待处理文件的下载请求, 接收处理器发送的每个数据块,并将每个数据块发送至终端;
[0065] 处理器,用于通过所述通信模块接收终端发送的获取待处理文件的下载请求;其 中,所述下载请求对应于所述待处理文件中每个数据块的数据块标识;获取每个数据块标 识在所属数据包内的数据块,并将每个数据块发送至所述通信模块。
[0066] 优选的,还包括:元数据服务器;则所述处理器获取每个数据块标识在所属数据包 内的数据块具体包括:
[0067] 所述处理器,还用于将所述下载请求发送至所述元数据服务器;接收所述元数据 服务器发送的待处理文件对应的所有数据块的数据块标识、每个数据块标识对应的数据块 所属数据包的数据包标识W及每个数据包标识对应数据包在存储设备中的存储地址范围, 并在存储设备中的每个存储地址范围内,获取与每个数据块标识的相对存储地址对应的数 据块;
[0068] 所述元数据服务器,用于基于所述下载请求,获取所述待处理文件的文件信息;其 中,所述文件信息包括所述待处理文件的文件标识、与所述待处理文件对应的所有数据块 的数据块标识;基于所述待处理文件的文件信息,获得并发送所述待处理文件对应的所有 数据块的数据块标识;获取并发送每个数据块标识对应的数据块所属数据包的数据包标 识;获取并发送每个数据包标识对应数据包在存储设备中的存储地址范围。
[0069] 通过W上技术内容可W看出本申请具有W下有益效果:
[0070] 本申请提供的数据上传方法中,终端将待处理文件的若干个数据块构建为多个数 据包,终端W数据包的形式向服务器发送数据块。由于每个数据包具有多个数据块,所W, 一次数据包传输过程中可W传输多个数据块,相比于现有技术一次传输一个数据块而言, 提高了传输的数据量。因此,本申请W数据包的形式向服务器发送数据块,可W大大减少服 务器接收操作次数也减少服务器输出操作次数;进而减少存储设备输入操作次数。因此,本 申请可W提高数据的吞吐量并降低文件的上传效率。
【附图说明】
[0071] 为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本 申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可W 根据运些附图获得其他的附图。
[0072] 图1为本实施例提供的一种数据上传方法的流程图;
[0073] 图2为本实施例提供的又一种数据上传方法的流程图;
[0074] 图3为本实施例提供的又一种数据上传方法的流程图;
[0075] 图4为本实施例提供的又一种数据上传方法的流程图;
[0076] 图5为本实施例提供的又一种数据上传方法的流程图;
[0077] 图6为本实施例提供的又一种数据上传方法的流程图;
[0078] 图7为本实施例提供的一种数据下载方法的流程图;
[0079] 图8为本实施例提供的又一种数据下载方法的流程图;
[0080] 图9为本实施例提供的又一种数据下载方法的流程图;
[0081 ]图10为本实施例提供的一种电子设备的结构示意图;
[0082]图11为本实施例提供的一种服务器的结构示意图;
[0083] 图12为本实施例提供的又一种服务器的结构示意图;
[0084] 图13为本实施例提供的又一种电子设备的结构示意图;
[0085] 图14为本实施例提供的又一种服务器的结构示意图。
【具体实施方式】
[0086] 下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完 整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于 本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他 实施例,都属于本申请保护的范围。
[0087] 为了方便本领域技术人员理解,首先介绍本申请的应用场景。本申请主要应用于 终端侧和服务器侧,在终端侧和服务器侧之间可W进行文件的上传和下载。下面详细介绍 本申请的具体执行过程。
[0088] 首先,介绍终端侧向服务器侧上传文件的具体过程。终端可W向服务器依次上传 多个文件,由于终端和服务器对每个文件的处理过程一致,因此,本实施例仅针对一个待处 理文件的执行过程进行详细说明。其它文件的执行过程与待处理文件的执行一致,在此不 再寶述。
[0089] 本申请提供了一种数据上传方法,应用于终端侧。如图1所示,具体包括W下步骤:
[0090] 步骤S101:将待处理文件切分成若干个数据块;其中,每个数据块对应于一个数据 块标识。
[0091] 为了方便待处理文件传输,并可W较好的对待处理文件进行去重处理(去除重复 的数据块的处理)通常会将待处理器文件切分成若干个数据块。为了方便识别每个数据块, 可W为每个数据块分配一个数据块标识。
[0092] 为了便于理解,现举例说明:假设将待处理文件切分为10份,则可W得到数据块1、 数据块2……数据块10。可W理解的是,在实际应用中,得到数据块数量远远大于10,此处仅 是示意性的举例。
[0093] 步骤S102:基于所述若干个数据块构建至少一个数据包;其中,每个数据包对应于 一个数据包标识,并且,至少一个数据包包含至少两个数据块。
[0094] 由于待处理文件被切分成数据块数量较多,若逐个传输每个数据块,则需要终端 与服务器之间,服务器与存储设备之间进行多次数据传输。为了降低服务器接收数据块的 次数W及降低服务器向存储设备发送数据块的次数,本申请基于待处理文件的若干数据块 构建至少一个数据包。
[00M]下面详细介绍基于若干个数据块构建至少一个数据包的过程。该过程可W有两种 实现方式:
[0096] 第一种实现方式:按一个数据包包含固定数量数据块构建数据包。
[0097] 技术人员可W预先在终端的存储空间内设置一个预设数量,终端在构建数据包时 可W在存储空间中获取预设数量。然后,终端对预设数量和待处理文件的数据总数量进行 分析处理,得到数据包数量和每个数据包包含的数据块数量。
[0098] 确定数据包数量和数据块数量的具体过程可W为:终端计算待处理文件被切分成 的数据块的总数量与预设数量的商和余数。若余数为零,则将商作为需要构建数据包的数 量,并且,每个数据包包含预设数量的数据块。若余数非零,则商+1作为需要构建的数据包 数量,并且,一个数据包含余数个数据块,其它数据包包含预设数量的数据块。
[0099] 例如,待处理文件被切分成10个数据包。假设固定数据块数量为5,则10和5的相除 的结果为2。即,需要构建2个数据包。假设固定数据块数量为3,10和3相除得到商为3,余数 为1。那么,可W构建4个数据包,其中3个数据包包括3个数据块,一个数据包包括1个数据 块。当然,还可W构建3个数据包,其中两个数据包均包括3个数据块,一个数据包包括4个数 据块。
[0100] 在按第一种方式得到数据包数量和每个数据包包含的数据块数量之后,则可W构 建数据包。W构建数据包A的过程为例,对终端构建至少一个数据包的过程进行说明:确定 数据包A对应的数据块数量A,在待处理文件切分后的各个数据块中选择数据块数量A的数 据块,然后将运些数据块组成数据包。其它数据包的构建过程可W参加数据包A的构建过 程,在不再寶述。当然,确定数据包数量和各个数据包的数据块数量还可W采用其它方式, 在此不再一一列举。
[0101] 第二种实现方式:按一个数据包包含不定量数据块构建数据包。
[0102] 终端可W随意确定数据包数量,然后每个数据包包含不定量的数据块。为了比现 有技术中仅传输单独数据块具有有益效果,数据包数量小于数据块的总数量。运样可W使 得至少有一个数据包包含至少两个数据块。因此,相对于单独传输数据块而言,可W减少待 处理文件的整体传输次数。
[0103] 在构建每个数据包之后,为了区分各个数据包,可W每个数据包分配不同的数据 包标识。
[0104] 步骤S103:向服务器上传所述待处理文件的数据包。
[0105] 在数据包构建完成之后,终端可W将数据包逐个上传至服务器。由服务器进行存 储。在待处理文件上传至服务器之后,终端可W删除自身存储的待处理文件,W便增加自身 的存储空间。
[0106] 上述处理过程未增加终端去重的执行过程,若直接将所有数据块均发送至服务 器,则会增加传输的数据量。因此,本申请又提供一种数据上传方法,增加终端去重的处理 过程。如图2所示,所述方法具体包括W下步骤:
[0107] 步骤S201:将待处理文件切分成若干个数据块;其中,每个数据块对应于一个数据 块标识。
[0108] 步骤S202:基于每个数据块的数据内容进行校验,获取每个数据块的校验值。
[0109] 每个数据块包括两个部分:报头部分和数据内容部分。报头部分用于存储一些标 志,数据内容部分用于存储具体数据。为了验证服务器是否已经存储有该数据块,则对待处 理文件的每个数据块的数据内容进行校验,得到校验值。校验值可W作为一个数据块的数 据块标识。校验计算方式可W采用哈希算法或者其它算法。
[0110] 步骤S203:基于所述每个数据块的校验值与所述服务器已有数据块的校验值,确 定所述待处理文件的待上传数据块集合。
[0111] 终端预先存储有服务器上已有数据块的校验值,或者,终端可W从服务器上实时 获取已有数据块的数据块标识。由于校验值可W唯一表示一个数据块,因此,若两个数据块 的校验值则两个数据块相同,否则表示两个数据块不同。
[0112] 因此,终端针对每个数据块,将该数据块的校验值与服务器已有数据块的校验值 进行对比,若两者一致,则表示服务器已存储该数据块,待处理文件中的该数据块则不必上 传至服务器。若两者不一致,则表示服务器未存储该数据块,待处理文件中的该数据块需要 上传至服务器,为了便于称呼,将该数据块称为待上传数据块。
[0113] 通过将每个数据块的校验值与所述服务器已有数据块的校验值进行对比,可W确 定待上传数据块集合。其中,待上传数据块集合包括i个待上传数据块,且,0^1 ^N,N为所 述待处理文件切分成数据块的总数量。
[0114] 目P,若待上传文件中每个数据块均在服务器上已存储,则待上传数据块集合包括0 个待上传数据块。若待上传文件中所有数据块在服务器上均未存储,则待上传数据块集合 包括N个待上传数据块。N为所述待处理文件切分成数据块的总数量。
[0115] 步骤S204:基于所述待上传数据块集合构建至少一个数据包;其中,每个数据包对 应于一个数据包标识,并且,至少一个数据包包含至少两个数据块。本步骤的执行过程可W 参见步骤S102,在此不再寶述。
[0116] 步骤S205:向服务器上传所述待处理文件的数据包。
[0117] 在终端经过去重处理后,可W不再向服务器发送服务器上已有的数据块,因此,可 W减少终端向服务器上传数据块的数量,从而可W减少服务器处理数据块的数量。
[0118] 在图1或图2所示的实施例中,为了便于服务器识别待处理文件的文件信息,终端 还可W执行下述过程。如图3所示,具体包括:
[0119] 步骤S301:生成所述待处理文件的文件信息;其中,所述文件信息包括:所述待处 理文件的文件标识、与所述待处理文件对应的所有数据块的数据块标识W及与所述待处理 文件对应的所有数据块标识的排列关系。
[0120] 终端为了方便服务器识别待处理文件,因此,将待处理文件的标识信息,待处理文 件切分成所有数据块的标识,W及,待处理文件所有数据块标识的排列关系。
[0121] 此外,文件信息还可W包括待处理文件各个数据包的数据包标识。
[0122] 步骤S302:向所述服务器上传所述文件信息。
[0123] 文件信息的主要目的为时服务器存储待处理文件的相关信息,W便终端在下载待 处理文件时,可W基于待处理文件的相关信息,下载待处理文件。下载待处理文件的具体过 程将在后续实施例中进行详细说明,在此不再寶述。
[0124] 从上述处理过程中可W看出本申请具有W下有益效果:
[0125] 本申请终端将待处理文件的若干个数据块构建为多个数据包,终端W数据包的形 式向服务器发送数据块。由于每个数据包具有多个数据块,所W,一次数据包传输过程中可 W传输多个数据块,相比于现有技术一次传输一个数据块而言,提高了传输的数据量。因 此,本申请W数据包的形式向服务器发送数据块,可W大大减少服务器接收操作次数也减 少服务器输出操作次数;进而减少存储设备输入操作次数。因此,本申请可W提高数据的吞 吐量并降低文件的上传效率。
[0126] 图1所示的实施例为数据上传方法中终端的执行过程,下面介绍与图1所示的实施 例对应的服务器侧的处理过程。如图4所示,本申请提供了一种数据上传方法,应用于服务 器,具体包括W下步骤:
[0127] 步骤S401:接收终端上传的每个数据包;其中,每个数据包为终端在将待处理文件 切分成若干个数据块后、基于所述若干个数据块组建的至少一个数据包中的一个数据包; 每个数据块对应于一个数据块标识,每个数据包对应于一个数据包标识,且,至少一个数据 包包含至少两个数据块。
[0128] 服务器接收终端上传数据包,数据包的处理过程已在图1和图2所示的实施例中进 行详细说明,在此不再寶述。
[0129] 步骤S402:将所述每个数据包存储至存储设备。
[0130] 服务器在接收数据包之后,将数据包整体存储至存储设备中。
[0131] 在将数据包存储至存储设备之后,服务器还会对数据包执行后续处理过程,W便 终端下载数据包时使用。下面详细说明一下服务器在存储数据包之后的处理过程。如图5所 示,具体包括W下步骤:
[0132] 步骤S501:获取每个数据包在存储设备中的存储地址范围。
[0133] 由于一个数据包中包括一个或多个数据块,因此,数据包在存储设备中具有一个 存储地址范围。例如,W-个数据包占据一个存储地址为例,假设一个数据包具有16个数据 块,则存储地址范围可W为0010H~001FH。其中,0010H为数据包的起始存储地址,001FH为 数据包的结束存储地址。中间具有16个存储地址,每个存储地址对应存储一个数据块。
[0134] 步骤S502:将每个数据包的存储地址范围与每个数据包对应的数据包标识对应存 储至元数据服务器。
[0135] 为了方便服务器得知各个数据包的在存储设备中的存储位置,服务器可W每个数 据包的存储地址范围和每个数据包的数据包标识对应存储至元数据服务器中。在本申请中 元数据服务器可W为服务器自身,或者服务器之外的其它服务器,在此不做限定。
[0136] 步骤S503:获取每个数据包中各数据块相对存储地址W及各数据块的数据块标 识。
[0137] 每个数据包中包含一个或多个数据块,每个数据块在数据包的地址存储范围内均 有一个相对存储地址。例如,延续步骤S501中举例,若存储地址范围为0010H~001FH。那么, 数据块的相对存储地址可W为0011H、0012H、0013H……0019H、001AH、001BH……001即。
[0138] 步骤S504:将所述各数据块所属数据包的数据包标识、相对存储地址W及数据块 标识对应存储至所述元数据服务器。
[0139] 为了便于服务器后续得知各个数据块所属的数据包,各个数据块在数据包中的相 对存储地址,可W建立数据块标识、相对存储地址和数据包标识之间的对应关系。
[0140] 通过图5所示的实施例,则可W在元数据服务器中建立数据包标识与数据包存储 地址范围之间的对应关系,还可W建立一个数据包中各个数据块的相对存储地址、数据包 标识、W及数据块标识之间的对应关系。
[0141] 为了清楚说明图5所示的步骤的对应关系,下面延续步骤S501的举例,对图5实施 例所指出的对应关系进行说明。参见表1:
[0142] 表1
[0143]
[0144] 通过图3所示的实施例可知,终端会向服务器发送文件信息。那么,在终端向服务 器发送文件信息之后,如图6所示,服务器还可W执行下述过程:
[0145] 步骤S601:获取终端上传的所述待处理文件的文件信息;其中,所述文件信息包 括:所述待处理文件的文件标识、与所述待处理文件对应的所有数据块的数据块标识W及 与所述待处理文件对应的所有数据块标识的排列关系。
[0146] 步骤S602:将所述文件信息存储至元数据服务器。
[0147] 为了详细表示文件信息,W表格的形式展示文件信息。假设待处理文件被切分成N 个数据块参见表2,针对该数据包而言,文件信息具体包括W下内容:
[014引表2
[0149]
[0150] 图1~图6所示的实施例为,终端和服务器之间针对数据上传的执行过程,下面介 绍终端与服务器之间数据下载的过程。
[0151] 如图7所示,本申请提供了一种数据下载方法,应用于终端。所述方法具体包括W 下步骤:
[0152] 步骤S701:向服务器发送获取待处理文件的下载请求。
[0153] 终端可W生成获取待处理文件的下载请求,下载请求对应于所述待处理文件中每 个数据块的数据块标识。例如,下载请求可W包括待处理文件的文件标识。终端将包含待处 理文件的文件标识的下载请求发送至服务器。
[0154] 步骤S702:接收所述服务器发送的各个数据块。
[0155] 在服务器接收获取待处理文件的下载请求,并依据获取待处理文件的下载请求在 存储空间中获取各个数据块之后,便将与待处理文件对应的各个数据块发送至终端,终端 则可W接收待处理服务器的各个数据块。
[0156] 步骤S703:将各个数据块组合成所述待处理文件。
[0157] 本步骤在具体执行时,终端可W确定所述各个数据块的排列顺序;按所述排列顺 序组合所述各个数据块,获得所述待处理文件。
[0158] 由于服务器向终端发送各个数据块后,各个数据块是乱序排列的,因此,终端需要 按照各个数据块在待处理文件中原有的排列顺序,将各个数据块组合后才可w得到待处理 文件。
[0159] 其中,确定各个数据块的排列顺序可W有两种处理方式:
[0160] 第一种处理方式:从服务器获取排列顺序。
[0161] 从图6所示的实施例可知,元数据服务器存储有所有数据块标识的排列关系,因 此,服务器可W在发送各个数据块时,将待处理文件所有数据块的标识的排列顺序也一并 发送至终端。
[0162] 第二种处理方式:从终端自身获取排列顺序。
[0163] 从图3所示的实施例可知,终端也可W获取待处理文件所有数据块的标识的排列 顺序,并存储至终端自身。此时终端可W在自身的存储空间中获取待处理文件所有数据块 的标识的排列顺序。
[0164] 上述为终端侧的数据下载方法,下面介绍服务器侧的数据下载方法。如图8所示, 具体包括W下步骤:
[0165] 步骤S801:接收终端发送的获取待处理文件的下载请求;其中,所述下载请求对应 于所述待处理文件中每个数据块的数据块标识。
[0166] 服务器接收终端发送的待处理文件的下载请求,服务器可W基于所述下载请求, 获取所述待处理文件的文件标识;并在元数据服务器中根据查找与文件标识对应的所有数 据块的数据块标识。
[0167] 步骤S802:获取每个数据块标识在所属数据包内的数据块。
[0168] 由于数据块存储在数据包中,数据包存储在存储设备中。因此,为了得到数据块, 需要得知在存储设备中找到数据包,并从数据包中提取数据块。
[0169] 基于图5和图6所示的实施例可知,在元数据服务器中存储有数据块标识、相对存 储地址、数据包标识W及数据包存储地址范围的对应关系,因此,在数据下载过程中需要基 于运些对应关系,来获取各个数据块标识对应的数据块。
[0170] 如图9所示的实施例,提供了获取每个数据块标识在所属数据包内的数据块的具 体执行步骤。由于根据每个数据块标识确定数据块的过程均是一致的,因此,W每个数据块 标识中的一个数据块标识X为例,对图9所示的各个步骤进行详细说明。
[0171 ]步骤S901:获取每个数据块标识对应的数据块所属数据包的数据包标识。
[0172] W数据块标识A1为例,在元数据服务器存储的对应关系中,确定数据块标识A1对 应的数据包标识B1,该数据包标识B1用于表示数据块标识A1对应的数据块所归属的数据 包。
[0173] 步骤S902:确定每个数据包标识对应数据包在存储设备中的存储地址范围。
[0174] 在元数据服务器中根据数据包标识与存储地址范围的对应关系,查找与数据包标 识B1对应的存储地址范围C1。
[0175] 步骤S903:在存储设备中的每个存储地址范围内,获取与每个数据块标识的相对 存储地址对应的数据块。
[0176] 在元数据服务器中根据数据包标识与存储地址范围中相对存储地址的对应关系, 查找与数据块标识B1对应的相对存储地址D1。然后,在存储设备中的与数据包标识B1对应 的存储地址范围C1内,查找与数据块标识B1对应的相对存储地址D1,然后,在存储地址D1中 找到与数据块标识B1对应的数据块。
[0177] 其它数据块的获取过程与数据块标识A1的获取过程一致,根据图9所示的实施例, 可W获取待处理文件的各个数据块。在获取待处理文件的各个数据块之后,可W将各个数 据块发送至终端。
[0178] 上述为本申请提供的方法实施例,下面本申请提供相应的设备实施例。
[0179] 与图1所示的实施例对应,本申请提供一种电子设备,如图10所示,具体包括:
[0180] 处理器101,用于将待处理文件切分成若干个数据块;其中,每个数据块对应于一 个数据块标识;基于所述若干个数据块构建至少一个数据包;其中,每个数据包对应于一个 数据包标识,并且,至少一个数据包包含至少两个数据块。
[0181] 与所述处理器101相连的通信模块102,用于将所述待处理文件的数据包上传至服 务器。通信模块可W包括光纤通信模块、蓝牙通信模块,红外通信模块,wifi通信模块。
[0182] 可W理解的是,处理器101可W通过通信模块102与服务器建立连接关系,然后在 处理器101在构建至少一个数据包之后,可W将所述至少一个数据包发送通过通信模块102 发送至服务器。
[0183] 此外,所述处理器101,还用于生成所述待处理文件的文件信息;并通过所述通信 模块102将所述文件信息上传至所述服务器;其中,所述文件信息包括:所述待处理文件的 文件标识、与所述待处理文件对应的所有数据块的数据块标识W及与所述待处理文件对应 的所有数据块标识的排列关系。
[0184] 所述处理器101,还用于基于每个数据块的数据内容进行校验,获取每个数据块的 校验值;基于所述每个数据块的校验值与所述服务器已有数据块的校验值,确定所述待处 理文件的待上传数据块集合。那么,处理器101可W基于所述待上传数据块集合,构建至少 一个数据包。并向服务器发送基于所述待上传数据块集合构建的数据包。
[0185] 从上述处理过程中可W看出本申请具有W下有益效果:
[0186] 本申请终端将待处理文件的若干个数据块构建为多个数据包,终端W数据包的形 式向服务器发送数据块。由于每个数据包具有多个数据块,所W,一次数据包传输过程中可 W传输多个数据块,相比于现有技术一次传输一个数据块而言,提高了传输的数据量。因 此,本申请W数据包的形式向服务器发送数据块,可W大大减少服务器接收操作次数也减 少服务器输出操作次数;进而减少存储设备输入操作次数。因此,本申请可W提高数据的吞 吐量并降低文件的上传效率。
[0187] 与如图4所示的实施例对应,本申请一种服务器。如图11所示,具体包括:
[0188] 通信模块111,用于接收终端上传的每个数据包;其中,每个数据包为终端在将待 处理文件切分成若干个数据块后、基于所述若干个数据块组建的至少一个数据包中的一个 数据包;每个数据块对应于一个数据块标识,每个数据包对应于一个数据包标识,且,至少 一个数据包包含至少两个数据块。
[0189] 与所述通信模块111相连的处理器112,用于将终端上传的每个数据包发送至存储 设备113。
[0190] 与所述处理器112相连的存储设备113,用于存储所述每个数据包。
[0191] 可W理解的是,服务器通过通信模块111与电子设备建立通信连接,并可W通过通 信模块111接收电子设备发送的每个数据包,数据包可W传输至处理器112。处理器112可W 将每个数据包发送至存储设备113。存储设备113可w将每个数据块进行存储。
[0192] 如图12所示,服务器在图11的基础上还包括:元数据服务器114。
[0193] 所述处理器112,还用于获取每个数据包在存储设备113中的存储地址范围;将每 个数据包的存储地址范围与每个数据包对应的数据包标识对应存储至元数据服务器114。
[0194] 所述处理器112,还用于获取每个数据包在存储设备中的存储地址范围;将每个数 据包的存储地址范围与每个数据包对应的数据包标识对应存储至元数据服务器114。
[01M]所述处理器112,还用于获取终端上传的所述待处理文件的文件信息;其中,所述 文件信息包括:所述待处理文件的文件标识、与所述待处理文件对应的所有数据块的数据 块标识W及与所述待处理文件对应的所有数据块标识的排列关系;将所述文件信息存储至 元数据服务器114。
[0196] 与图7所述的实施例相对应,本申请提供一种电子设备。如图13所示,具体包括:
[0197] 处理器131,用于生成获取待处理文件的下载请求;接收各个数据块,并将各个数 据块组合成所述待处理文件。
[0198] 其中,处理器将各个数据块组合成所述待处理文件的过程具体包括:确定所述各 个数据块的排列顺序;按所述排列顺序组合所述各个数据块,获得所述待处理文件。
[0199] 与所述处理器131相连的通信模块132,用于将所述获取待处理文件的下载请求发 送至服务器,接收服务器发送的各个数据块,并将所述各个数据块发送至所述处理器131。
[0200] 与图8所示的实施例相对应本申请提供了一种服务器,如图14所示,具体包括:
[0201] 通信模块141,用于接收终端发送的获取待处理文件的下载请求,接收处理器发送 的每个数据块,并将每个数据块发送至终端。
[0202] 处理器142,用于通过所述通信模块141接收终端发送的获取待处理文件的下载请 求;其中,所述下载请求对应于所述待处理文件中每个数据块的数据块标识;获取每个数据 块标识在所属数据包内的数据块,并将每个数据块发送至所述通信模块141。
[0203] 通信模块141,可W终端发送的获取待处理文件的下载请求,并将下载请求发送至 处理器142。处理器142基于下载请求,获取每个数据块标识在所属数据包内的数据块,然后 将每个数据块发送至通信模块141,通信模块141可W将每个数据块发送至终端。
[0204] 并且,服务器还包括与处理器142相连的存储器143和元数据服务器144。则所述处 理器获取每个数据块标识在所属数据包内的数据块具体包括:
[0205] 所述处理器142,还用于将所述下载请求发送至所述元数据服务器144;接收所述 元数据服务器144发送的待处理文件对应的所有数据块的数据块标识、每个数据块标识对 应的数据块所属数据包的数据包标识W及每个数据包标识对应数据包在存储设备中的存 储地址范围,并在存储设备143中的每个存储地址范围内,获取与每个数据块标识的相对存 储地址对应的数据块。
[0206] 所述元数据服务器144,用于基于所述下载请求,获取所述待处理文件的文件信 息;其中,所述文件信息包括所述待处理文件的文件标识、与所述待处理文件对应的所有数 据块的数据块标识;基于所述待处理文件的文件信息,获得并发送所述待处理文件对应的 所有数据块的数据块标识;获取并发送每个数据块标识对应的数据块所属数据包的数据包 标识;获取并发送每个数据包标识对应数据包在存储设备中的存储地址范围。
[0207] 本实施例方法所述的功能如果W软件功能单元的形式实现并作为独立的产品销 售或使用时,可w存储在一个计算设备可读取存储介质中。基于运样的理解,本申请实施例 对现有技术做出贡献的部分或者该技术方案的部分可软件产品的形式体现出来,该软 件产品存储在一个存储介质中,包括若干指令用W使得一台计算设备(可W是个人计算机, 服务器,移动计算设备或者网络设备等)执行本申请每个实施例所述方法的全部或部分步 骤。而前述的存储介质包括:U盘、移动硬盘、只读存储设备(ROM,ReacK)nly Memo巧)、随机 存取存储设备(RAM,Random Access Memo巧)、磁碟或者光盘等各种可W存储程序代码的介 质。
[0208] 本说明书中每个实施例采用递进的方式描述,每个实施例重点说明的都是与其它 实施例的不同之处,每个实施例之间相同或相似部分互相参见即可。
[0209] 对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。 对运些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的 一般原理可W在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请 将不会被限制于本文所示的运些实施例,而是要符合与本文所公开的原理和新颖特点相一 致的最宽的范围。
【主权项】
1. 一种数据上传方法,其特征在于,包括: 将待处理文件切分成若干个数据块;其中,每个数据块对应于一个数据块标识; 基于所述若干个数据块构建至少一个数据包;其中,每个数据包对应于一个数据包标 识,并且,至少一个数据包包含至少两个数据块; 向服务器上传所述待处理文件的数据包。2. 如权利要求1所述的方法,其特征在于,还包括: 生成所述待处理文件的文件信息;其中,所述文件信息包括:所述待处理文件的文件标 识、与所述待处理文件对应的所有数据块的数据块标识以及与所述待处理文件对应的所有 数据块标识的排列关系; 向所述服务器上传所述文件信息。3. 如权利要求1所述的方法,其特征在于,在将待处理文件切分成若干个数据块之后, 所述方法还包括: 基于每个数据块的数据内容进行校验,获取每个数据块的校验值; 基于所述每个数据块的校验值与所述服务器已有数据块的校验值,确定所述待处理文 件的待上传数据块集合;其中,所述待上传数据块集合包括i个待上传数据块,且,〇 < i < N, N为所述待处理文件切分成数据块的总数量; 相应地,所述基于所述若干个数据块构建至少一个数据包,包括: 基于所述待上传数据块集合,构建至少一个数据包。4. 一种数据上传方法,其特征在于,包括: 接收终端上传的每个数据包;其中,每个数据包为终端在将待处理文件切分成若干个 数据块后、基于所述若干个数据块组建的至少一个数据包中的一个数据包;每个数据块对 应于一个数据块标识,每个数据包对应于一个数据包标识,且,至少一个数据包包含至少两 个数据块; 将所述每个数据包存储至存储设备。5. 如权利要求4所述的方法,其特征在于,还包括: 获取每个数据包在存储设备中的存储地址范围; 将每个数据包的存储地址范围与每个数据包对应的数据包标识对应存储至元数据服 务器。6. 如权利要求5所述的方法,其特征在于,还包括: 获取每个数据包中各数据块相对存储地址以及各数据块的数据块标识; 将所述各数据块所属数据包的数据包标识、相对存储地址以及数据块标识对应存储至 所述元数据服务器。7. 如权利要求4所述的方法,其特征在于,还包括: 获取终端上传的所述待处理文件的文件信息;其中,所述文件信息包括:所述待处理文 件的文件标识、与所述待处理文件对应的所有数据块的数据块标识以及与所述待处理文件 对应的所有数据块标识的排列关系; 将所述文件信息存储至元数据服务器。8. -种数据下载方法,其特征在于,包括: 接收终端发送的获取待处理文件的下载请求;其中,所述下载请求对应于所述待处理 文件中每个数据块的数据块标识; 获取每个数据块标识在所属数据包内的数据块。9. 如权利要求8所述的方法,其特征在于,在所述接收终端发送的获取待处理文件的下 载请求之后,所述方法还包括: 基于所述下载请求,获取所述待处理文件的文件信息;其中,所述文件信息包括所述待 处理文件的文件标识、与所述待处理文件对应的所有数据块的数据块标识; 基于所述待处理文件的文件信息,获得所述待处理文件对应的所有数据块的数据块标 识。10. 如权利要求8所述的方法,其特征在于,所述获取每个数据块标识在所属数据包内 的数据块,包括: 获取每个数据块标识对应的数据块所属数据包的数据包标识; 确定每个数据包标识对应数据包在存储设备中的存储地址范围; 在存储设备中的每个存储地址范围内,获取与每个数据块标识的相对存储地址对应的 数据块。11. 一种数据下载方法,其特征在于,包括: 向服务器发送获取待处理文件的下载请求;其中,所述下载请求对应于所述待处理文 件中每个数据块的数据块标识; 接收所述服务器发送的各个数据块; 将各个数据块组合成所述待处理文件。12. 如权利要求11所述的方法,其特征在于,所述将各个数据块组合成所述待处理文 件,包括: 确定所述各个数据块的排列顺序; 按所述排列顺序组合所述各个数据块,获得所述待处理文件。13. -种电子设备,其特征在于,包括: 处理器,用于将待处理文件切分成若干个数据块;其中,每个数据块对应于一个数据块 标识;基于所述若干个数据块构建至少一个数据包;其中,每个数据包对应于一个数据包标 识,并且,至少一个数据包包含至少两个数据块; 与所述处理器相连的通信模块,用于将所述待处理文件的数据包上传至服务器。14. 如权利要求13所述的电子设备,其特征在于, 所述处理器,还用于生成所述待处理文件的文件信息;并通过所述通信模块将所述文 件信息上传至所述服务器; 其中,所述文件信息包括:所述待处理文件的文件标识、与所述待处理文件对应的所有 数据块的数据块标识以及与所述待处理文件对应的所有数据块标识的排列关系。15. 如权利要求13所述的电子设备,其特征在于, 所述处理器,还用于基于每个数据块的数据内容进行校验,获取每个数据块的校验值; 基于所述每个数据块的校验值与所述服务器已有数据块的校验值,确定所述待处理文件的 待上传数据块集合。16. -种服务器,其特征在于,包括: 通信模块,用于接收终端上传的每个数据包;其中,每个数据包为终端在将待处理文件 切分成若干个数据块后、基于所述若干个数据块组建的至少一个数据包中的一个数据包; 每个数据块对应于一个数据块标识,每个数据包对应于一个数据包标识,且,至少一个数据 包包含至少两个数据块; 与所述通信模块相连的处理器,用于将终端上传的每个数据包发送至存储设备; 与所述处理器相连的存储设备,用于存储所述每个数据包。17. 如权利要求16所述的服务器,其特征在于,还包括:元数据服务器; 所述处理器,还用于获取每个数据包在存储设备中的存储地址范围;将每个数据包的 存储地址范围与每个数据包对应的数据包标识对应存储至元数据服务器;或, 所述处理器,还用于获取每个数据包在存储设备中的存储地址范围;将每个数据包的 存储地址范围与每个数据包对应的数据包标识对应存储至元数据服务器;或, 所述处理器,还用于获取终端上传的所述待处理文件的文件信息;其中,所述文件信息 包括:所述待处理文件的文件标识、与所述待处理文件对应的所有数据块的数据块标识以 及与所述待处理文件对应的所有数据块标识的排列关系;将所述文件信息存储至元数据服 务器。18. -种电子设备,其特征在于,包括: 处理器,用于生成获取待处理文件的下载请求;接收各个数据块,并将各个数据块组合 成所述待处理文件; 与所述处理器相连的通信模块,用于将所述获取待处理文件的下载请求发送至服务 器,接收服务器发送的各个数据块,并将所述各个数据块发送至所述处理器。19. 一种服务器,其特征在于,包括:通信模块,用于接收终端发送的获取待处理文件的 下载请求,接收处理器发送的每个数据块,并将每个数据块发送至终端; 处理器,用于通过所述通信模块接收终端发送的获取待处理文件的下载请求;其中,所 述下载请求对应于所述待处理文件中每个数据块的数据块标识;获取每个数据块标识在所 属数据包内的数据块,并将每个数据块发送至所述通信模块。20. 如权利要求19所述的服务器,其特征在于,还包括:元数据服务器;则所述处理器获 取每个数据块标识在所属数据包内的数据块具体包括: 所述处理器,还用于将所述下载请求发送至所述元数据服务器;接收所述元数据服务 器发送的待处理文件对应的所有数据块的数据块标识、每个数据块标识对应的数据块所属 数据包的数据包标识以及每个数据包标识对应数据包在存储设备中的存储地址范围,并在 存储设备中的每个存储地址范围内,获取与每个数据块标识的相对存储地址对应的数据 块; 所述元数据服务器,用于基于所述下载请求,获取所述待处理文件的文件信息;其中, 所述文件信息包括所述待处理文件的文件标识、与所述待处理文件对应的所有数据块的数 据块标识;基于所述待处理文件的文件信息,获得并发送所述待处理文件对应的所有数据 块的数据块标识;获取并发送每个数据块标识对应的数据块所属数据包的数据包标识;获 取并发送每个数据包标识对应数据包在存储设备中的存储地址范围。
【文档编号】H04L29/08GK105872036SQ201610184152
【公开日】2016年8月17日
【申请日】2016年3月28日
【发明人】严正山, 李明强, 王敏, 赵鑫, 唐云
【申请人】联想(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1