数据传输方法、装置、计算机设备和存储介质与流程

文档序号:13969092阅读:160来源:国知局

本发明涉及互联网技术领域,特别是涉及数据传输方法、装置、计算机设备和存储介质。



背景技术:

随着计算机技术的发展,产生的信息越来越多,信息量也越来越大,在许多场景下都存在将数据通过网络上传到网络上的存储空间进行存储的需求,例如,为了防止数据丢失,将视频文件上传到网络存储设备中进行备份。

现有技术中,在将数据上传到网络存储设备上进行存储时,由于数据量大以及网络传输不稳定的原因,数据在传输的过程中数据传输失败率高而且传输效率低。



技术实现要素:

基于此,有必要针对上述的问题,提供一种数据传输方法、装置、计算机设备和存储介质。

一种数据传输方法,所述方法包括:获取需要传输的目标数据;将所述目标数据切分为k个待传输的子数据,所述k为大于1的整数;分别与服务器集合中的n个目标服务器建立数据传输通道,所述n为大于1的整数;通过所述数据传输通道向对应的目标服务器发送数据传输请求,所述数据传输请求中携带一个或多个所述子数据,以使所述各个目标服务器将接收到的所述子数据存储到预设的存储设备上。

在其中一个实施例中,所述方法还包括:向所述服务器集合中的第一服务器发送存储空间创建请求,所述存储空间创建请求携带目标存储空间标识,以使所述第一服务器根据所述目标存储空间标识在所述存储设备上创建目标存储空间,并将所述目标存储空间标识与所述目标存储空间进行关联;所述通过所述各个数据传输通道向对应的目标服务器发送数据传输请求,所述数据传输请求中携带一个或多个所述子数据,以使所述各个目标服务器将所述子数据存储到预设的存储设备上的步骤包括:通过所述各个数据传输通道向对应的目标服务器发送数据传输请求,所述数据传输请求中携带所述目标存储空间标识以及一个或多个所述子数据,以使所述目标服务器根据所述目标存储空间标识将接收到的所述子数据存储到所述目标存储空间上。

在其中一个实施例中,所述方法还包括:根据所述子数据在所述目标数据的位置为所述子数据分配子数据标识;所述通过所述各个数据传输通道向对应的目标服务器发送数据传输请求,所述数据传输请求中携带一个或多个所述子数据,以使所述各个目标服务器将接收到的所述子数据存储到预设的存储设备上的步骤包括;通过所述各个数据传输通道向对应的目标服务器发送数据传输请求,所述数据传输请求中携带一个或多个所述子数据以及携带的所述子数据对应的子数据标识,以使所述各个目标服务器将所述子数据存储到预设的存储设备上;所述方法还包括:向所述服务器集合中的第二服务器发送数据合并请求,以使所述第二服务器根据所述子数据标识对所述存储设备上的子数据进行合并,得到所述目标数据。

在其中一个实施例中,所述方法还包括:当所述目标数据传输完成后,获取所述目标数据对应的校验信息;将所述校验信息发送到所述服务器集合中的第三服务器上,以使所述第三服务器根据所述校验信息对所述存储设备上的子数据进行校验,并返回校验结果,所述校验结果包括校验成功或者校验失败。

在其中一个实施例中,所述向所述第二服务器发送数据合并请求,以使所述第二服务器根据所述子数据标识对所述存储设备上的子数据进行合并,得到目标子数据包括:当所述校验结果包括校验成功时,向所述第二服务器发送数据合并请求,以使所述第二服务器根据所述子数据标识对所述存储设备上的子数据进行合并,得到所述目标数据。

一种数据传输装置,所述装置包括:目标数据获取模块,用于获取需要传输的目标数据;目标数据切分模块,用于将所述目标数据切分为k个待传输的子数据,所述k为大于1的整数;通道建立模块,用于分别与服务器集合中的n个目标服务器建立数据传输通道,所述n为大于1的整数;传输模块,用于通过所述数据传输通道向对应的目标服务器发送数据传输请求,所述数据传输请求中携带一个或多个所述子数据,以使所述各个目标服务器将接收到的所述子数据存储到预设的存储设备上。

在其中一个实施例中,所述装置还包括:空间创建模块,用于向所述服务器集合中的第一服务器发送存储空间创建请求,所述存储空间创建请求携带目标存储空间标识,以使所述第一服务器根据所述目标存储空间标识在所述存储设备上创建目标存储空间,并将所述目标存储空间标识与所述目标存储空间进行关联;所述传输模块用于:通过所述各个数据传输通道向对应的目标服务器发送数据传输请求,所述数据传输请求中携带所述目标存储空间标识以及一个或多个所述子数据,以使所述目标服务器根据所述目标存储空间标识将所述子数据存储到所述目标存储空间上。

在其中一个实施例中,所述装置还包括:标识分配模块,用于根据所述子数据在所述目标数据的位置为所述子数据分配子数据标识;所述传输模块用于:通过所述各个数据传输通道向对应的目标服务器发送数据传输请求,所述数据传输请求中携带所述一个或多个子数据以及携带的所述子数据对应的子数据标识,以使所述各个目标服务器将所述子数据存储到预设的存储设备上;所述装置还包括:合并请求发送模块,用于向所述服务器集合中的第二服务器发送数据合并请求,以使所述第二服务器根据所述子数据标识对所述存储设备上的子数据进行合并,得到所述目标数据。

一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行上述数据传输方法的步骤。

一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行上述数据传输方法的步骤。

上述数据传输方法、装置、计算机设备和存储介质,当要进行数据传输时,获取目标数据,将目标数据切分为多个子数据,并与多个服务器建立数据传输通道,然后通过各个数据传输通道将子数据发送到预设的存储设备上,由于在传输数据时,将数据切分为多个子数据并通过与多个服务器建立通信连接将子数据传输到存储设备上,因此可以同时传输多个子数据,提高了传输效率,降低了传输时间,且可以降低由于网络不稳定导致传输失败的概率,数据传输成功率高。

附图说明

图1为一个实施例中提供的数据传输方法的实施环境图;

图2为一个实施例中数据传输方法的流程图;

图3为一个实施例中数据传输方法的流程图;

图4为一个实施例中数据传输方法的流程图;

图5为一个实施例中数据传输方法的流程图;

图6为一个实施例中数据传输装置的结构框图;

图7为一个实施例中数据传输装置的结构框图;

图8为一个实施例中数据传输装置的结构框图;

图9为一个实施例中数据传输装置的结构框图;

图10为一个实施例中计算机设备的内部结构框图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

可以理解,本申请所使用的术语“第一”、“第二”等可在本文中用于描述各种元件,但除非特别说明,这些元件不受这些术语限制。这些术语仅用于将第一个元件与另一个元件区分。举例来说,在不脱离本申请的范围的情况下,可以将第一服务器称为第二服务器,且类似地,可将第二服务器称为第一服务器。

图1为一个实施例中提供的数据传输方法的实施环境图,如图1所示,在该实施环境中,包括终端110、由多个服务器组成的服务器集合120、存储设备130以及存储集群140。当要对数据进行传输时,获取终端110中的目标数据,将目标数据切分为多个待传输的子数据,然后与服务器集合中的多个目标服务器例如服务器1~服务器m中的全部或者部分服务器建立数据传输通道,终端110通过建立起的传输通道向各个目标服务器发送数据传输请求,数据传输请求中携带一个或多个子数据,服务器起接收到子数据后,将子数据存储到存储设备130上。若子数据全部传输完成,终端110可以向服务器集合中的其中的一个服务器发送数据合并请求,由接收到数据合并请求的服务器对存储在存储设备130上的子数据进行合并。

在一个实施例中,可以将合并得到的目标数据发送到存储集群140中,例如终端可以向服务器集合中的第一服务器发送将数据合并以及上传到存储集群的请求,第一服务器接收到请求后,将子数据进行合并,得到目标数据后将目标数据发送到存储集群140中进行存储。

在一个实施例中,将合并得到的目标数据发送到存储集群140中后,第一服务器可以将存储设备130上的子数据删除。

在一个实施例中,存储设备130可以包括nas((networkattachedstorage,网络附属存储))卷。

在一个实施例中,终端110可以与服务器集合中的所有服务器建立数据传输通道,也可以与部分服务器建立传输通道,本发明实施例在此不做限定。

在一个实施例中,终端110可以随机选择服务器集合中的服务器建立数据传输通道,也可以设置终端110与特定服务器建立数据传输通道。例如,可以通过负载均衡装置根据负载均衡算法确定与终端建立数据传输通道的服务器。负载均衡算法可以根据需要进行设置,例如,可以根据各个服务器的性能、建立的网络连接数等确定服务器。或者,在域名服务器中设置一个域名对应服务器集合中各个服务器的ip地址,当域名服务器接收到终端发送的域名解析请求时,返回多个ip地址给终端110,终端根据接收到的多个ip地址分别与多个服务器建立数据传输通道。

在一个实施例中,可以通过在终端上安装sdk(softwaredevelopmentkit,软件开发工具包)实施本发明实施例提供的信息传输方法。

需要说明的是,终端110可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。例如,在一些实施例中,也可以在服务器中执行本发明实施例提供的方法。

如图2所示,在一个实施例中,提出了一种数据传输方法,该数据传输方法可以应用于上述的终端110中,具体可以包括以下步骤:

步骤202,获取需要传输的目标数据。

具体地,目标数据可以包括视频数据、图片数据、文字数据、音频数据中的一种或多种,当然也可以为其他形式的数据,在此不做限定。目标数据可以是根据接收到的数据传输请求确定的。例如,当需要在网络存储设备中存储视频数据时,用户可以选择该视频数据,并点击上传按钮,终端接收到用户点击上传按钮的操作后,获取视频数据,作为目标数据。

步骤204,将目标数据切分为k个待传输的子数据,k为大于1的整数。

具体地,子数据的数量为大于1,但是具体的数量可以根据需要设置,例如,可以预先设置切分的子数据的数量,如每次切分均将目标数据切分为8个子数据。

在一个实施例中,可以根据目标数据的属性信息例如数据量确定子数据的数量。例如,预先设置将数据切分为2mb大小的子数据,则切分后得到的子数据的数量根据目标数据的大小确定。可以理解,若目标数据不是2mb的整数倍,则部分子数据的大小小于2mb。举个例子,假设一个视频数据为5mb,则可以将数据切分为3个子数据,分别为2mb、2mb以及1mb。

步骤206,分别与服务器集合中的n个目标服务器建立数据传输通道,n为大于1的整数。

具体的,服务器集合中有多个服务器,目标服务器为服务器集合中的部分或者全部服务器。目标服务器的数量大于1,但具体的数值可以根据实际需要进行设置。可以随机选择服务器集合中的n个服务器建立数据传输通道,终端也可以与特定服务器建立数据传输通道。例如,可以通过负载均衡装置根据负载均衡算法确定服务器集合中与终端建立数据传输通道的目标服务器。负载均衡算法可以根据需要进行设置。

在一个实施例中,负载均衡装置可以根据服务器集合中的各个服务器的性能、服务器的负载量等确定目标服务器。例如根据服务器当前的连接情况,动态地选取其中当前积压连接数较少的多个服务器作为目标服务器与终端建立数据传输通道,以尽可能地提高传输效率,将负载合理地分流到服务器集合中的服务器。

在一个实施例中,可以设置与预设数量的服务器建立数据传输通道,也可以设置子数据的数量与需要建立数据传输通道的服务器的数量呈正相关关系。例如,可以设置k与n的比值为4:1。

在一个实施例中,可以在域名服务器中设置一个域名对应多个服务器的ip地址,要传输数据时,终端向域名服务器发送域名解析请求,当域名服务器接收到终端发送的域名解析请求时,根据域名返回多个ip地址给终端。终端根据接收到的ip地址与分别与对应的多个服务器建立数据传输通道。

在一个实施例中,负载均衡装置根据服务器的性能设置每个服务器的权重系数,性能高的服务器的权重系数高。然后根据权重系数为服务器分配对应数量的键值。当接收到数据传输请求时,根据子数据的标识以及子数据的大小等信息进行哈希计算,得到哈希值后与一个预设的数值进行取模运算,得到的取模结果与根据权重系数为服务器分配的键值匹配,然后向终端返回匹配的服务器的网络连接地址例如ip地址,终端根据接收到的网络连接地址与对应的服务器建立数据传输通道。

例如,假设服务器集合中有两个服务器,可以设置a服务器的权重为0.3,b服务器的权重为0.7,预设值为1000,因此,可以分配a服务器对应的键值为0~300,b服务器对应的键值为301~999。进行哈希计算得到的哈希值若为1006,则取模计算得到的值为6,与a服务器的键值匹配。因此终端与a服务器建立数据传输通道。

步骤208,通过数据传输通道向对应的目标服务器发送数据传输请求,数据传输请求中携带一个或多个子数据,以使目标服务器将接收到的子数据存储到预设的存储设备上。

具体地,将子数据分发到建立的数据传输通道进行传输,直至子数据均传输完毕。即每个子数据通过一个数据传输通道传输完成后,其他数据传输通道不会再对该子数据进行传输。每个数据传输通道传输的子数据可以根据需要进行设置。例如可以随机进行选择,也可以按照子文件在目标数据的顺序按顺序进行传输。当每次传输请求对应的子数据传输完毕后,可以释放与该目标服务器建立的数据传输通道,也可以利用该数据传输通道继续传输未传输的子数据。例如,假设有10个子数据,服务器集合中有5个服务器,终端与3个目标服务器建立了数据传输通道,则可以首先利用各个数据传输通道分别向对应的3个目标服务器传输子数据,向每个目标服务器传输完一个子数据后,终端查询是否还存在未传输的子数据,若还存在,可以继续向该目标服务器发送数据传输请求。或者断开与该目标服务器的数据传输通道,并与服务器集合中的其他服务器建立新的数据传输通道,利用新的数据传输通道传输未传输的子数据。

上述数据传输方法,当要进行数据传输时,获取目标数据,将目标数据切分为多个子数据,并与多个服务器建立数据传输通道,然后通过各个数据传输通道将子数据发送到预设的存储设备上,由于在传输数据时,将数据切分为多个子数据并通过与多个服务器建立通信将子数据传输到存储设备上,因此目标数据相当于是在并行传输到存储设备上的,故可以提高传输效率,降低了传输时间,且可以降低由于网络不稳定导致传输失败的概率,数据传输成功率高。

例如,通过试验,互联网环境下,将20m以上的目标数据切分为多个子数据,传输成功率为99.998%,传输效率提升200%。

在一个实施例中,若子数据在传输的过程中由于网络错误等原因导致传输终端时,可以记录子数据的断点位置,重新恢复传输后,可以从断点位置开始传输子数据。

在一个实施例中,可以根据用户信息以及预设的算法生成一个传输凭证,在发送传输请求时携带传输凭证。目标服务器中可以预先根据用户信息生成一个凭证并存储,当目标服务器接收到传输请求时,将自身存储的凭证与传输请求中的传输凭证进行匹配,匹配成功则接收子数据。以提高数据传输的安全性。预设的算法可以根据需要进行设置。例如预设的算法可以是摘要算法中的crc(cyclicredundancycheck,循环冗余校验)算法、md5(message-digestalgorithm5,消息摘要算法版本5)算法以及sha(securehashalgorithm)系列算法等。

在一个实施例中,如图3所示,数据传输方法还可以包括步骤s302:向服务器集合中的第一服务器发送存储空间创建请求,存储空间创建请求携带目标存储空间标识,以使第一服务器根据目标存储空间标识在存储设备上创建目标存储空间,并将目标存储空间标识与目标存储空间进行关联。步骤s208即通过各个数据传输通道向对应的目标服务器发送数据传输请求,数据传输请求中携带一个或多个子数据,以使目标服务器将子数据存储到预设的存储设备上的步骤包括:通过各个数据传输通道向对应的目标服务器发送数据传输请求,数据传输请求中携带目标存储空间标识以及一个或多个子数据,以使目标服务器根据目标存储空间标识将接收到的子数据存储到目标存储空间上。

具体地,第一服务器可以是目标服务器中的一个,也可以是服务器集合中的其他服务器。第一服务器可以是随机选择的,也可以是根据负载均衡算法得到的。负载均衡算法具体可以参照本发明其他实施例中提供的方法进行,在此不再赘述。第一服务器接收到存储空间创建请求后,根据目标存储空间标识在存储设备上创建目标存储空间,将目标存储空间标识与目标存储空间进行关联,并可以返回目标存储空间创建成功的消息。终端可以在接收到创建成功的消息后,通过各个数据传输通道向对应的目标服务器发送数据传输请求,数据传输请求中携带一个或多个子数据以及目标存储空间标识,使目标服务器在接收到数据传输请求后,根据目标存储空间标识查找到对应的目标存储空间,然后将子数据存储到目标存储空间上。

在一个实施例中,与其中的一个目标服务器建立数据传输通道后,通过该数据传输通道发送存储空间创建请求。

在一个实施例中,第一服务器可以在存储设备上创建一个存储子数据的文件夹,文件夹的标识为目标存储空间标识。

在一个实施例中,在一个实施例中,如图4所示,数据传输方法还可以包括步骤s402以及s404。详述如下:

步骤s402,根据子数据在目标数据的位置为子数据分配子数据标识。

具体地,子数据在目标数据的位置指子数据在目标数据中的排列顺序。将目标数据作为一个整体,按照数据的排列顺序进行切分,并按照顺序为子数据分配标识。子数据标识的组成规则可以根据实际需要进行设置,例如可以用字母以及数字的一个或多个进行标识,只要能够标识子数据在目标数据的位置即可。例如,对于一个视频文件,按照播放顺序切分为5个子视频,按照播放顺序,子视频可以分别标识为0、1、2、3、4,也可以标识为a、b、c、d、e。

步骤s208即通过各个数据传输通道向对应的目标服务器发送数据传输请求,数据传输请求中携带一个或多个子数据的步骤包括:通过各个数据传输通道向对应的目标服务器发送数据传输请求,数据传输请求中携带一个或多个子数据以及携带的子数据对应的子数据标识。

步骤s404,向服务器集合中的第二服务器发送数据合并请求,以使第二服务器根据子数据标识对存储设备上的子数据进行合并,得到目标数据。

具体地,得到子数据标识后,在向目标服务器发送的数据传输请求中携带一个或多个子数据以及携带的子数据对应的子数据标识,使得目标服务器可以将子数据与对应的子数据标识关联存储。第二服务器可以是目标服务器中的一个,也可以是服务器集合中的其他服务器,第一服务器与第二服务器可以相同也可以不同。当子数据传输完毕后,终端可以向服务器集合中的第二服务器发送数据合并请求,第二服务器接收数据合并请求后,获取子数据标识,根据子数据标识所对应的顺序合并子数据,得到合并后的目标数据。例如,子数据分别标识为0、1、2、3、4,则可以将0、1、2、3、4对应的子数据按照顺序进行合并,得到目标数据。

在一个实施例中,如图5所示,数据传输方法还可以包括以下步骤:

步骤s502,当目标数据传输完成后,获取目标数据对应的校验信息。

具体地,校验信息用于校验目标数据的子数据是否正确且完整的传输。校验信息可以包括目标数据的属性信息,例如目标数据的大小,目标数据的格式、目标数据对应的子数据标识、子数据个数以及每个子数据的大小等等。在一个实施例中也可以根据目标数据的属性以及哈希算法生成校验值,校验信息可以包括校验值和或目标数据的属性信息中的至少一个。

在一个实施例中个,哈希算法可以为md5(message-digestalgorithm5,信息摘要算法5)算法和sha(securehashstandard、安全哈希标准)算法等,具体不做限制。

步骤s504,将校验信息发送到服务器集合中的第三服务器上,以使第三服务器根据校验信息对存储设备上的子数据进行校验,并返回校验结果,校验结果包括校验成功或者校验失败。

具体地,第三服务器可以是目标服务器中的一个,也可以是服务器集合中的其他服务器。例如第三服务器可以是随机选择的,也可以是根据负载均衡算法得到的。负载均衡算法具体可以参照本发明实施例中提供的方法进行,在此不再赘述。可以理解,第一服务器、第二服务器以及第三服务器可以相同也可以不同。第三服务器获取存储设备上每个子数据的属性信息,当终端发送的校验信息包括目标数据的属性信息后,根据子数据的属性信息与目标数据的属性信息进行匹配。当终端发送的校验信息包括根据目标数据的属性信息生成的校验时,根据子数据的属性信息并采用哈希算法进行计算得到另一校验值。然后将接收到的校验值与计算得到的校验值进行匹配。

在一个实施例中,当校验信息包括目标数据的属性信息或者校验值时,目标数据的属性信息或者校验值匹配成功,则对应的校验结果为校验成功。否则,校验结果为校验失败。当校验信息包括目标数据的属性信息以及校验值时,目标数据的属性信息以及校验值均匹配成功,则校验结果为校验成功,属性信息以及校验值的任一个或均匹配失败时,则校验结果为校验失败。例如,终端发送的校验信息可以包括目标数据的大小,第三服务器获取存储设备上子数据的大小的和,然后与终端发送的目标数据的大小进行对比,若大小一致,则校验结果为校验成功。

在一个实施例中,当校验结果包括校验成功时,终端向第二服务器发送数据合并请求,以使第二服务器根据子数据标识对存储设备上的子数据进行合并,得到目标数据。

在一个实施例中,当校验结果包括校验失败时,第三服务器可以返回校验失败的信息,终端接收到校验失败结果时,可以重新上传目标数据。

在一个实施例中,当校验结果包括校验失败时,校验结果中可以包括校验信息的匹配结果,匹配结果用于指示具体的校验信息为匹配失败或者匹配成功。终端根据匹配结果获取匹配失败的子数据并重新上传子数据,以减少重新传输的数据量。例如,当校验信息包括各个子数据的大小时,可以返回子数据大小匹配失败的子数据标识,终端根据返回的子数据标识获取对应的子数据重新进行传输。

如图6所示,在一个实施例中,提供了一种数据传输装置,该数据传输装置可以集成于上述的终端110中,具体可以包括:

目标数据获取模块602,用于获取需要传输的目标数据;

目标数据切分模块604,用于将目标数据切分为k个待传输的子数据,k为大于1的整数;

通道建立模块606,用于分别与服务器集合中的n个目标服务器建立数据传输通道,n为大于1的整数;

传输模块608,用于通过数据传输通道向对应的目标服务器发送数据传输请求,数据传输请求中携带一个或多个子数据,以使各个目标服务器将接收到的子数据存储到预设的存储设备上。

如图7所示,在一个实施例中,装置还包括:

空间创建模块702,用于向服务器集合中的第一服务器发送存储空间创建请求,存储空间创建请求携带目标存储空间标识,以使第一服务器根据目标存储空间标识在存储设备上创建目标存储空间,并将目标存储空间标识与目标存储空间进行关联;

传输模块608用于:通过各个数据传输通道向对应的目标服务器发送数据传输请求,数据传输请求中携带目标存储空间标识以及一个或多个子数据,以使目标服务器根据目标存储空间标识将子数据存储到目标存储空间上。

如图8所示,在一个实施例中,装置还包括:

标识分配模块802,用于根据子数据在目标数据的位置为子数据分配子数据标识;

传输模块608用于:通过各个数据传输通道向对应的目标服务器发送数据传输请求,数据传输请求中携带一个或多个子数据以及携带的子数据对应的子数据标识,以使各个目标服务器将子数据存储到预设的存储设备上;

装置还包括合并请求发送模块804,用于向服务器集合中的第二服务器发送数据合并请求,以使第二服务器根据子数据标识对存储设备上的子数据进行合并,得到目标数据。

如图9所示,在一个实施例中,装置还包括:

校验信息获取模块902,用于当目标数据传输完成后,获取目标数据对应的校验信息;

校验信息发送模块904,用于将校验信息发送到服务器集合中的第三服务器上,以使第三服务器根据校验信息对存储设备上的子数据进行校验,并返回校验结果,校验结果包括校验成功或者校验失败。

在一个实施例中,合并请求发送模块804用于:当校验结果包括校验成功时,向第二服务器发送数据合并请求,以使第二服务器根据子数据标识对存储设备上的子数据进行合并,得到目标数据。

如图10所示,为一个实施例中计算机设备的内部结构图,该计算机设备通过系统连接总线连接处理器、非易失性存储介质、内存储器和网络接口。其中,该计算机设备的非易失性存储介质可存储操作系统和计算机程序,该计算机程序被执行时,可使得处理器执行一种数据传输方法。该计算机设备的处理器用于提供计算和控制能力,支撑整个计算机设备的运行。该内存储器中可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行一种数据传输方法。计算机设备的网络接口用于进行网络通信,如发送数据传输请求等。本领域技术人员可以理解,图10示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在一个实施例中,本申请提供的数据传输装置可以实现为一种计算机程序的形式,计算机程序可在如图10所示的计算机设备上运行,计算机设备的非易失性存储介质可存储组成该数据传输装置的各个程序模块,比如图6中的目标数据获取模块602、目标数据切分模块604、通道建立模块606和传输模块608。各个程序模块中包括计算机程序,计算机程序用于使计算机设备执行本说明书中描述的本申请各个实施例的数据传输方法中的步骤,例如,计算机设备可以通过如图6所示的数据传输装置中的目标数据获取模块602获取需要传输的目标数据;通过目标数据切分模块604将目标数据切分为k个待传输的子数据,k为大于1的整数;通过通道建立模块606分别与服务器集合中的n个目标服务器建立数据传输通道,n为大于1的整数;通过传输模块608通过数据传输通道向对应的目标服务器发送数据传输请求,数据传输请求中携带一个或多个子数据,以使各个目标服务器将接收到的子数据存储到预设的存储设备上。

在一个实施例中,提出了一种计算机设备,所述计算机设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:获取需要传输的目标数据;将所述目标数据切分为k个待传输的子数据,所述k为大于1的整数;分别与服务器集合中的n个目标服务器建立数据传输通道,所述n为大于1的整数;通过所述数据传输通道向对应的目标服务器发送数据传输请求,所述数据传输请求中携带一个或多个所述子数据,以使所述各个目标服务器将接收到的所述子数据存储到预设的存储设备上。

在其中一个实施例中,处理器执行计算机程序时还执行以下步骤:向所述服务器集合中的第一服务器发送存储空间创建请求,所述存储空间创建请求携带目标存储空间标识,以使所述第一服务器根据所述目标存储空间标识在所述存储设备上创建目标存储空间,并将所述目标存储空间标识与所述目标存储空间进行关联;所述通过所述各个数据传输通道向对应的目标服务器发送数据传输请求,所述数据传输请求中携带一个或多个所述子数据,以使所述各个目标服务器将所述子数据存储到预设的存储设备上的步骤包括:通过所述各个数据传输通道向对应的目标服务器发送数据传输请求,所述数据传输请求中携带所述目标存储空间标识以及一个或多个所述子数据,以使所述目标服务器根据所述目标存储空间标识将接收到的所述子数据存储到所述目标存储空间上。

在其中一个实施例中,处理器执行计算机程序时还执行以下步骤:根据所述子数据在所述目标数据的位置为所述子数据分配子数据标识;所述通过所述各个数据传输通道向对应的目标服务器发送数据传输请求,所述数据传输请求中携带一个或多个所述子数据,以使所述各个目标服务器将接收到的所述子数据存储到预设的存储设备上的步骤包括;通过所述各个数据传输通道向对应的目标服务器发送数据传输请求,所述数据传输请求中携带一个或多个所述子数据以及携带的所述子数据对应的子数据标识,以使所述各个目标服务器将所述子数据存储到预设的存储设备上;所述方法还包括:向所述服务器集合中的第二服务器发送数据合并请求,以使所述第二服务器根据所述子数据标识对所述存储设备上的子数据进行合并,得到所述目标数据。

在其中一个实施例中,处理器执行计算机程序时还执行以下步骤:当所述目标数据传输完成后,获取所述目标数据对应的校验信息;将所述校验信息发送到所述服务器集合中的第三服务器上,以使所述第三服务器根据所述校验信息对所述存储设备上的子数据进行校验,并返回校验结果,所述校验结果包括校验成功或者校验失败。

在其中一个实施例中,所述向所述第二服务器发送数据合并请求,以使所述第二服务器根据所述子数据标识对所述存储设备上的子数据进行合并,得到目标子数据包括:当所述校验结果包括校验成功时,向所述第二服务器发送数据合并请求,以使所述第二服务器根据所述子数据标识对所述存储设备上的子数据进行合并,得到所述目标数据。

在一个实施例中,提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时,使得处理器执行以下步骤:获取需要传输的目标数据;将所述目标数据切分为k个待传输的子数据,所述k为大于1的整数;分别与服务器集合中的n个目标服务器建立数据传输通道,所述n为大于1的整数;通过所述数据传输通道向对应的目标服务器发送数据传输请求,所述数据传输请求中携带一个或多个所述子数据,以使所述各个目标服务器将接收到的所述子数据存储到预设的存储设备上。

在其中一个实施例中,处理器执行计算机程序时还执行以下步骤:向所述服务器集合中的第一服务器发送存储空间创建请求,所述存储空间创建请求携带目标存储空间标识,以使所述第一服务器根据所述目标存储空间标识在所述存储设备上创建目标存储空间,并将所述目标存储空间标识与所述目标存储空间进行关联;所述通过所述各个数据传输通道向对应的目标服务器发送数据传输请求,所述数据传输请求中携带一个或多个所述子数据,以使所述各个目标服务器将所述子数据存储到预设的存储设备上的步骤包括:通过所述各个数据传输通道向对应的目标服务器发送数据传输请求,所述数据传输请求中携带所述目标存储空间标识以及一个或多个所述子数据,以使所述目标服务器根据所述目标存储空间标识将接收到的所述子数据存储到所述目标存储空间上。

在其中一个实施例中,处理器执行计算机程序时还执行以下步骤:根据所述子数据在所述目标数据的位置为所述子数据分配子数据标识;所述通过所述各个数据传输通道向对应的目标服务器发送数据传输请求,所述数据传输请求中携带一个或多个所述子数据,以使所述各个目标服务器将接收到的所述子数据存储到预设的存储设备上的步骤包括;通过所述各个数据传输通道向对应的目标服务器发送数据传输请求,所述数据传输请求中携带一个或多个所述子数据以及携带的所述子数据对应的子数据标识,以使所述各个目标服务器将所述子数据存储到预设的存储设备上;所述方法还包括:向所述服务器集合中的第二服务器发送数据合并请求,以使所述第二服务器根据所述子数据标识对所述存储设备上的子数据进行合并,得到所述目标数据。

在其中一个实施例中,处理器执行计算机程序时还执行以下步骤:当所述目标数据传输完成后,获取所述目标数据对应的校验信息;将所述校验信息发送到所述服务器集合中的第三服务器上,以使所述第三服务器根据所述校验信息对所述存储设备上的子数据进行校验,并返回校验结果,所述校验结果包括校验成功或者校验失败。

在其中一个实施例中,所述向所述第二服务器发送数据合并请求,以使所述第二服务器根据所述子数据标识对所述存储设备上的子数据进行合并,得到目标子数据包括:当所述校验结果包括校验成功时,向所述第二服务器发送数据合并请求,以使所述第二服务器根据所述子数据标识对所述存储设备上的子数据进行合并,得到所述目标数据。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,前述的存储介质可为磁碟、光盘、只读存储记忆体(read-onlymemory,rom)等非易失性存储介质。

以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

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