一种文件传输方法、装置及设备转让专利

申请号 : CN201911006286.3

文献号 : CN110730242B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 曾鹏刘为峰解琰

申请人 : 北京浪潮数据技术有限公司

摘要 :

本申请公开了一种文件传输方法、装置及设备。本申请公开的方法包括:接收端通过socket连接接收发送端发送的目标文件的属性信息;若发送端发送的目标文件的属性信息与云平台发送的目标文件的属性信息一致,则返回确认消息至发送端,以使发送端将目标文件拆分为预设大小的数据片段,并将所有数据片段和目标文件的MD5值发送至接收端;根据接收到的所有数据片段计算目标文件的MD5值,若计算得到的MD5值与发送端发送的目标文件的MD5值一致,则拼接接收到的所有数据片段,获得目标文件。该方法利用socket连接传输文件,并校验接收到的文件,从而提高了文件传输的安全性和实时性,提高了文件传输效率。本申请公开的一种文件传输装置及设备,也同样具有上述技术效果。

权利要求 :

1.一种文件传输方法,其特征在于,应用于接收端,包括:

若发送端与接收端建立socket连接,则通过所述socket连接接收所述发送端发送的目标文件的属性信息;

若所述发送端发送的所述目标文件的属性信息与云平台发送的所述目标文件的属性信息一致,则返回确认消息至所述发送端,以使所述发送端将所述目标文件拆分为预设大小的数据片段,并将所有数据片段和所述目标文件的MD5值发送至所述接收端;各个数据片段的发送速度根据发送端和接收端之间的带宽进行控制;

根据接收到的所有数据片段计算所述目标文件的MD5值,若计算得到的MD5值与所述发送端发送的所述目标文件的MD5值一致,则拼接接收到的所有数据片段,获得所述目标文件;

其中,所述根据接收到的所有数据片段计算所述目标文件的MD5值,包括:每接收到一个数据片段,则根据已接收到的数据片段更新MD5值,直至接收到最后一个数据片段,将更新得到的MD5值确定为所述目标文件的MD5值;

其中,发送端每更新一次MD5值,则将更新得到的MD5值发送至接收端,以使接收端进行传输阶段的各个MD5值的对比;

其中,所述拼接接收到的所有数据片段,获得所述目标文件,包括:按照接收到的所有数据片段的拆分顺序拼接接收到的所有数据片段,获得所述目标文件,并存储所述目标文件;

其中,还包括:

若计算得到的MD5值与所述发送端发送的所述目标文件的MD5值不一致,则返回错误消息至所述发送端;

其中,发送端和接收端为云平台管理的两个服务器。

2.一种文件传输方法,其特征在于,应用于发送端,包括:

若发送端与接收端建立socket连接,则通过所述socket连接发送目标文件的属性信息至所述接收端;

接收所述接收端返回的确认消息;所述确认消息为所述接收端对比所述发送端发送的所述目标文件的属性信息与云平台发送的所述目标文件的属性信息一致后,获得的消息;

将所述目标文件拆分为预设大小的数据片段,并将所有数据片段和所述目标文件的MD5值发送至所述接收端,以使所述接收端根据接收到的所有数据片段计算所述目标文件的MD5值,若计算得到的MD5值与所述发送端发送的所述目标文件的MD5值一致,则拼接接收到的所有数据片段,获得所述目标文件;各个数据片段的发送速度根据发送端和接收端之间的带宽进行控制;

其中,所述将所有数据片段和所述目标文件的MD5值发送至所述接收端,包括:按照所有数据片段的拆分顺序逐一发送每个数据片段至所述接收端;

每发送一个数据片段,则根据已发送的数据片段更新MD5值,直至发送最后一个数据片段,将更新得到的MD5值确定为所述目标文件的MD5值,并将所述目标文件的MD5值发送至所述接收端;

其中,发送端每更新一次MD5值,则将更新得到的MD5值发送至接收端,以使接收端进行传输阶段的各个MD5值的对比;

其中,所述接收端拼接接收到的所有数据片段,获得所述目标文件,包括:所述接收端按照接收到的所有数据片段的拆分顺序拼接接收到的所有数据片段,获得所述目标文件,并存储所述目标文件;

若所述接收端计算得到的MD5值与所述发送端发送的所述目标文件的MD5值不一致,则返回错误消息至所述发送端;

其中,发送端和接收端为云平台管理的两个服务器。

3.根据权利要求2所述的文件传输方法,其特征在于,所述通过所述socket连接发送目标文件的属性信息至所述接收端之前,还包括:接收所述云平台发送的接收信息,所述接收信息至少包括:所述接收端的端口和IP地址,所述目标文件的传输路径;

根据所述接收信息与所述接收端建立所述socket连接。

4.一种文件传输装置,其特征在于,应用于接收端,包括:

第一接收模块,用于若发送端与接收端建立socket连接,则通过所述socket连接接收所述发送端发送的目标文件的属性信息;

返回模块,用于若所述发送端发送的所述目标文件的属性信息与云平台发送的所述目标文件的属性信息一致,则返回确认消息至所述发送端,以使所述发送端将所述目标文件拆分为预设大小的数据片段,并将所有数据片段和所述目标文件的MD5值发送至所述接收端;各个数据片段的发送速度根据发送端和接收端之间的带宽进行控制;

第二接收模块,用于根据接收到的所有数据片段计算所述目标文件的MD5值,若计算得到的MD5值与所述发送端发送的所述目标文件的MD5值一致,则拼接接收到的所有数据片段,获得所述目标文件;

其中,第二接收模块具体用于:每接收到一个数据片段,则根据已接收到的数据片段更新MD5值,直至接收到最后一个数据片段,将更新得到的MD5值确定为所述目标文件的MD5值;

其中,发送端每更新一次MD5值,则将更新得到的MD5值发送至接收端,以使接收端进行传输阶段的各个MD5值的对比;

其中,第二接收模块具体用于:按照接收到的所有数据片段的拆分顺序拼接接收到的所有数据片段,获得所述目标文件,并存储所述目标文件;

其中,还包括:

返回模块,用于若计算得到的MD5值与所述发送端发送的所述目标文件的MD5值不一致,则返回错误消息至所述发送端;

其中,发送端和接收端为云平台管理的两个服务器。

5.一种文件传输装置,其特征在于,应用于发送端,包括:

第一发送模块,用于若发送端与接收端建立socket连接,则通过所述socket连接发送目标文件的属性信息至所述接收端;

第三接收模块,用于接收所述接收端返回的确认消息;所述确认消息为所述接收端对比所述发送端发送的所述目标文件的属性信息与云平台发送的所述目标文件的属性信息一致后,获得的消息;

第二发送模块,用于将所述目标文件拆分为预设大小的数据片段,并将所有数据片段和所述目标文件的MD5值发送至所述接收端,以使所述接收端根据接收到的所有数据片段计算所述目标文件的MD5值,若计算得到的MD5值与所述发送端发送的所述目标文件的MD5值一致,则拼接接收到的所有数据片段,获得所述目标文件;各个数据片段的发送速度根据发送端和接收端之间的带宽进行控制;

其中,第二发送模块包括:

发送单元,用于按照所有数据片段的拆分顺序逐一发送每个数据片段至所述接收端;

确定单元,用于每发送一个数据片段,则根据已发送的数据片段更新MD5值,直至发送最后一个数据片段,将更新得到的MD5值确定为所述目标文件的MD5值,并将所述目标文件的MD5值发送至所述接收端;

其中,发送端每更新一次MD5值,则将更新得到的MD5值发送至接收端,以使接收端进行传输阶段的各个MD5值的对比;

其中,所述接收端按照接收到的所有数据片段的拆分顺序拼接接收到的所有数据片段,获得所述目标文件,并存储所述目标文件;

若所述接收端计算得到的MD5值与所述发送端发送的所述目标文件的MD5值不一致,则返回错误消息至所述发送端;

其中,发送端和接收端为云平台管理的两个服务器。

6.一种文件传输设备,其特征在于,包括:

存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序,以实现如权利要求1至3任一项所述的文件传输方法。

说明书 :

一种文件传输方法、装置及设备

技术领域

[0001] 本申请涉及数据传输技术领域,特别涉及一种文件传输方法、装置及设备。

背景技术

[0002] 在现有技术中,当需要将文件在不同主机之间传输时,一般都是采用SCP(secure copy)传输、rsync(remotesync)差异化传输或nc网络传输通道,再者就是搭建文件服务器等。不同主机可以为云平台管理的各个服务器。
[0003] 其中,SCP传输、rsync差异化传输以及文件服务器需要在文件传输端设置密码,或配置公钥和私钥,如此将会降低云平台的自动化能力,导致传输过程比较复杂,降低传输效率。nc网络传输通道虽然可以简化传输过程,但无法保障文件的安全性。
[0004] 因此,如何提高文件传输的效率和安全性,是本领域技术人员需要解决的问题。

发明内容

[0005] 有鉴于此,本申请的目的在于提供一种文件传输方法、装置及设备,以提高文件传输的效率和安全性。其具体方案如下:
[0006] 第一方面,本申请提供了一种文件传输方法,应用于接收端,包括:
[0007] 若发送端与接收端建立socket连接,则通过socket连接接收发送端发送的目标文件的属性信息;
[0008] 若发送端发送的目标文件的属性信息与云平台发送的目标文件的属性信息一致,则返回确认消息至发送端,以使发送端将目标文件拆分为预设大小的数据片段,并将所有数据片段和目标文件的MD5值发送至接收端;
[0009] 根据接收到的所有数据片段计算目标文件的MD5值,若计算得到的MD5值与发送端发送的目标文件的MD5值一致,则拼接接收到的所有数据片段,获得目标文件。
[0010] 优选地,根据接收到的所有数据片段计算目标文件的MD5值,包括:
[0011] 每接收到一个数据片段,则根据已接收到的数据片段更新MD5值,直至接收到最后一个数据片段,将更新得到的MD5值确定为目标文件的MD5值。
[0012] 优选地,拼接接收到的所有数据片段,获得目标文件,包括:
[0013] 按照接收到的所有数据片段的拆分顺序拼接接收到的所有数据片段,获得目标文件,并存储目标文件。
[0014] 优选地,还包括:
[0015] 若计算得到的MD5值与发送端发送的目标文件的MD5值不一致,则返回错误消息至发送端。
[0016] 第二方面,本申请提供了另一种文件传输方法,应用于发送端,包括:
[0017] 若发送端与接收端建立socket连接,则通过socket连接发送目标文件的属性信息至接收端;
[0018] 接收所述接收端返回的确认消息;确认消息为接收端对比发送端发送的目标文件的属性信息与云平台发送的目标文件的属性信息一致后,获得的消息;
[0019] 将目标文件拆分为预设大小的数据片段,并将所有数据片段和目标文件的MD5值发送至接收端,以使接收端根据接收到的所有数据片段计算目标文件的MD5值,若计算得到的MD5值与发送端发送的目标文件的MD5值一致,则拼接接收到的所有数据片段,获得目标文件。
[0020] 优选地,将所有数据片段和目标文件的MD5值发送至接收端,包括:
[0021] 按照所有数据片段的拆分顺序逐一发送每个数据片段至接收端;
[0022] 每发送一个数据片段,则根据已发送的数据片段更新MD5值,直至发送最后一个数据片段,将更新得到的MD5值确定为目标文件的MD5值,并将目标文件的MD5值发送至接收端。
[0023] 优选地,通过socket连接发送目标文件的属性信息至接收端之前,还包括:
[0024] 接收云平台发送的接收信息,接收信息至少包括:接收端的端口和IP地址,目标文件的传输路径;
[0025] 根据接收信息与接收端建立socket连接。
[0026] 第三方面,本申请提供了一种文件传输装置,应用于接收端,包括:
[0027] 第一接收模块,用于若发送端与接收端建立socket连接,则通过socket连接接收发送端发送的目标文件的属性信息;
[0028] 返回模块,用于若发送端发送的目标文件的属性信息与云平台发送的目标文件的属性信息一致,则返回确认消息至发送端,以使发送端将目标文件拆分为预设大小的数据片段,并将所有数据片段和目标文件的MD5值发送至接收端;
[0029] 第二接收模块,用于根据接收到的所有数据片段计算目标文件的MD5值,若计算得到的MD5值与发送端发送的目标文件的MD5值一致,则拼接接收到的所有数据片段,获得目标文件。
[0030] 第四方面,本申请提供了另一种文件传输装置,应用于发送端,包括:
[0031] 第一发送模块,用于若发送端与接收端建立socket连接,则通过socket连接发送目标文件的属性信息至接收端;
[0032] 第三接收模块,用于接收所述接收端返回的确认消息;确认消息为接收端对比发送端发送的目标文件的属性信息与云平台发送的目标文件的属性信息一致后,获得的消息;
[0033] 第二发送模块,用于将目标文件拆分为预设大小的数据片段,并将所有数据片段和目标文件的MD5值发送至接收端,以使接收端根据接收到的所有数据片段计算目标文件的MD5值,若计算得到的MD5值与发送端发送的目标文件的MD5值一致,则拼接接收到的所有数据片段,获得目标文件。
[0034] 第五方面,本申请提供了一种文件传输设备,包括:
[0035] 存储器,用于存储计算机程序;
[0036] 处理器,用于执行计算机程序,以实现前述公开的文件传输方法。
[0037] 通过以上方案可知,本申请提供了一种文件传输方法,应用于接收端,包括:若发送端与接收端建立socket连接,则通过socket连接接收发送端发送的目标文件的属性信息;若发送端发送的目标文件的属性信息与云平台发送的目标文件的属性信息一致,则返回确认消息至发送端,以使发送端将目标文件拆分为预设大小的数据片段,并将所有数据片段和目标文件的MD5值发送至接收端;根据接收到的所有数据片段计算目标文件的MD5值,若计算得到的MD5值与发送端发送的目标文件的MD5值一致,则拼接接收到的所有数据片段,获得目标文件。
[0038] 可见,所述方法利用socket连接传输文件,能够提高文件传输的安全性和实时交互能力;同时,将一个文件分片段传输,在传输完成后,接收端可计算得到当前传输的目标文件的MD5值,并将计算得到的MD5值与发送端发送的目标文件的MD5值进行对比,若二者一致,则拼接接收到的所有数据片段,从而可获得目标文件,此校验过程为文件传输的正确率和安全性进一步提供了保障。又由于发送端和接收端为云平台管理的两个服务器,因此本申请能够提高云平台的自动化能力,降低文件传输过程的复杂性,从而提高文件传输效率。
[0039] 相应地,本申请提供的一种文件传输装置及设备,也同样具有上述技术效果。

附图说明

[0040] 为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
[0041] 图1为本申请公开的第一种文件传输方法流程图;
[0042] 图2为本申请公开的第二种文件传输方法流程图;
[0043] 图3为本申请公开的第一种文件传输装置示意图;
[0044] 图4为本申请公开的第二种文件传输装置示意图;
[0045] 图5为本申请公开的一种文件传输设备示意图。

具体实施方式

[0046] 下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0047] 目前,现有文件传输方式会降低云平台的自动化能力,导致传输过程比较复杂,降低传输效率,无法保障文件的安全性。为此,本申请提供了一种文件传输方案,能够提高文件传输的效率和安全性。
[0048] 参见图1所示,本申请实施例公开了第一种文件传输方法,应用于接收端,包括:
[0049] S101、若发送端与接收端建立socket连接,则通过socket连接接收发送端发送的目标文件的属性信息。
[0050] S102、若发送端发送的目标文件的属性信息与云平台发送的目标文件的属性信息一致,则返回确认消息至发送端,以使发送端将目标文件拆分为预设大小的数据片段,并将所有数据片段和目标文件的MD5值发送至接收端。
[0051] 其中,预设大小可实际情况灵活调整,如1024字节等。
[0052] S103、根据接收到的所有数据片段计算目标文件的MD5值,若计算得到的MD5值与发送端发送的目标文件的MD5值一致,则拼接接收到的所有数据片段,获得目标文件。
[0053] 在一种具体实施方式中,根据接收到的所有数据片段计算目标文件的MD5值,包括:每接收到一个数据片段,则根据已接收到的数据片段更新MD5值,直至接收到最后一个数据片段,将更新得到的MD5值确定为目标文件的MD5值。
[0054] 在一种具体实施方式中,拼接接收到的所有数据片段,获得目标文件,包括:按照接收到的所有数据片段的拆分顺序拼接接收到的所有数据片段,获得目标文件,并存储目标文件。
[0055] 在本实施例中,若计算得到的MD5值与发送端发送的目标文件的MD5值不一致,则返回错误消息至发送端。
[0056] 可见,本申请实施例利用socket连接传输文件,能够提高文件传输的安全性和实时交互能力;同时,将一个文件分片段传输,在传输完成后,接收端可计算得到当前传输的目标文件的MD5值,并将计算得到的MD5值与发送端发送的目标文件的MD5值进行对比,若二者一致,则拼接接收到的所有数据片段,从而可获得目标文件,此校验过程为文件传输的正确率和安全性进一步提供了保障。又由于发送端和接收端为云平台管理的两个服务器,因此本申请能够提高云平台的自动化能力,降低文件传输过程的复杂性,从而提高文件传输效率。
[0057] 参见图2所示,本申请实施例公开了第二种文件传输方法,应用于发送端,包括:
[0058] S201、接收云平台发送的接收信息。
[0059] 其中,接收信息至少包括:接收端的端口和IP地址,目标文件的传输路径。
[0060] S202、根据接收信息与接收端建立socket连接。
[0061] S203、通过socket连接发送目标文件的属性信息至接收端。
[0062] S204、接收所述接收端返回的确认消息。
[0063] 其中,确认消息为接收端对比发送端发送的目标文件的属性信息与云平台发送的目标文件的属性信息一致后,获得的消息。
[0064] S205、将目标文件拆分为预设大小的数据片段,并将所有数据片段和目标文件的MD5值发送至接收端。
[0065] S206、接收端根据接收到的所有数据片段计算目标文件的MD5值,若计算得到的MD5值与发送端发送的目标文件的MD5值一致,则拼接接收到的所有数据片段,获得目标文件。
[0066] 在一种具体实施方式中,将所有数据片段和目标文件的MD5值发送至接收端,包括:按照所有数据片段的拆分顺序逐一发送每个数据片段至接收端;每发送一个数据片段,则根据已发送的数据片段更新MD5值,直至发送最后一个数据片段,将更新得到的MD5值确定为目标文件的MD5值,并将目标文件的MD5值发送至接收端。
[0067] 具体的,假设预设大小为1024字节,目标文件为1024KB,因此目标文件可被拆分为1024个1024字节,也就是拆分得到1024个数据片段。发送端在发送第一个1024字节的数据片段后,根据第一个1024字节的数据片段计算得到一个MD5值并存储;同理,发送端在发送第二个1024字节的数据片段后,便会根据第二个1024字节的数据片段更新上次计算得到的MD5值并存储,此时的MD5值与第一个数据片段和第二个数据片段相对应。按照此方式发送数据片段,并更新MD5值,那么根据第1024个数据片段更新得到的MD5值就是整个目标文件的MD5值。
[0068] 在本实施例中,发送端仅发送最后计算得到的MD5值,目标文件传输过程中的MD5值不发送至接收端。当然,发送端还可以将发送过程中的每个MD5值都发送至接收端,这样接收端就可以及时进行传输阶段的各个MD5值的对比,从而快速发现出现问题的数据片段,提高文件传输的正确率和安全性。但这样会增加发送端和接收端的工作量,使文件传输效率降低。
[0069] 需要说明的是,接收端在接收到第一个1024字节的数据片段,也会根据第一个1024字节的数据片段计算得到一个MD5值并存储。同理,接收端在接收到第二个1024字节的数据片段后,便会根据第二个1024字节的数据片段更新上次计算得到的MD5值并存储,此时的MD5值与接收到的第一个数据片段和第二个数据片段相对应。按照此方式接收数据片段并更新MD5值,那么根据接收到的第1024个数据片段更新得到的MD5值就是整个目标文件的MD5值。因此接收端可将自身计算得到的MD5值与发送端发送的MD5值进行对比,若二者一致,则表明接收到的目标文件正确无误,因此可按照接收到的所有数据片段的拆分顺序(也就数据片段的原顺序)拼接接收到的所有数据片段,从而获得目标文件,并存储目标文件。
若二者不一致,则表明接收到的目标文件有误,此时可返回错误消息至发送端,以使发送端进行相关检查。
[0070] 在本实施例中,各个数据片段的发送速度可根据发送端和接收端之间的带宽进行控制,以免文件传输占据的带宽较多时,对发送端和接收端之间的其他业务造成影响。例如:发送端和接收端之间的带宽为100Mbps,那么可控制每秒内发送的数据量低于100M,如每秒内发送的数据量控制为50M、80M等。
[0071] 需要说明的是,本实施例中的其他实现步骤与上述实施例相同或类似,必要时可相互参照,故本实施例在此不再赘述。
[0072] 由上可见,本实施例利用socket连接传输文件,能够提高文件传输的安全性和实时交互能力;同时,将一个文件分片段传输,在传输完成后,接收端可计算得到当前传输的目标文件的MD5值,并将计算得到的MD5值与发送端发送的目标文件的MD5值进行对比,若二者一致,则拼接接收到的所有数据片段,从而可获得目标文件,此校验过程为文件传输的正确率和安全性进一步提供了保障。又由于发送端和接收端为云平台管理的两个服务器,因此本申请能够提高云平台的自动化能力,降低文件传输过程的复杂性,从而提高文件传输效率。
[0073] 按照本申请提供的文件传输方法,可实施如下实例。
[0074] 在接收端设置接收模块,在发送端设置发送模块,云平台发送指令至接收端,以使接收端的接收模块扫描接收端可用的端口,并将扫描得到的可用端口和IP地址返回至云平台,进而云平台将可用端口和IP地址发送至发送端,以供发送端根据可用端口和IP地址建立与接收端的socket连接。
[0075] 具体的,接收模块的主要功能为:创建socket,获取实时可用端口,绑定并监听,接收并解析数据,并将绑定端口返回至云平台。发送模块的主要功能是:解析要发送文件的属性信息,如:文件大小,文件类型等,供接收端接收模块解析认证。
[0076] 发送端与接收端建立socket连接后,即可开始传输关于文件的有效数据。传输过程中,文件传输的大小是按1024字节来发送,发送端的发送模块通过指定的传输速度来发送数据片段,并调整不同数据片段之间的时间间隔,来达到传输速度可控的功能。
[0077] 从文件数据传输开始,发送端每次发送一个数据片段,都更新一次MD5值,直至发送完毕,即可算出整个文件的MD5值,并将此MD5值发送至接收端。同样,接收模块在接收到一个数据片段后,也会更新一次MD5值,直至接收完毕,即可算出整个文件的MD5值,进而接收端通过对比接收到的MD5值和自己计算得到的MD5值,就可确定接收到的文件的正确性,从而完成文件传输。
[0078] 可见,本实施例通过socket建立连接,达到了远程通信和无需输入密码的目的;可控制文件传输速度;通过对比MD5值可保证文件的一致性,从而简化了云平台的操作流程,使云计算更加自动化;提高了云平台的稳定性和安全性。
[0079] 下面对本申请实施例提供的第一种文件传输装置进行介绍,下文描述的一种文件传输装置与上文描述的第一种文件传输方法可以相互参照。
[0080] 参见图3所示,本申请实施例公开了第一种文件传输装置,应用于接收端,包括:
[0081] 第一接收模块301,用于若发送端与接收端建立socket连接,则通过socket连接接收发送端发送的目标文件的属性信息;
[0082] 返回模块302,用于若发送端发送的目标文件的属性信息与云平台发送的目标文件的属性信息一致,则返回确认消息至发送端,以使发送端将目标文件拆分为预设大小的数据片段,并将所有数据片段和目标文件的MD5值发送至接收端;
[0083] 第二接收模块303,用于根据接收到的所有数据片段计算目标文件的MD5值,若计算得到的MD5值与发送端发送的目标文件的MD5值一致,则拼接接收到的所有数据片段,获得目标文件。
[0084] 在一种具体实施方式中,第二接收模块具体用于:
[0085] 每接收到一个数据片段,则根据已接收到的数据片段更新MD5值,直至接收到最后一个数据片段,将更新得到的MD5值确定为目标文件的MD5值。
[0086] 在一种具体实施方式中,第二接收模块具体用于:
[0087] 按照接收到的所有数据片段的拆分顺序拼接接收到的所有数据片段,获得目标文件,并存储目标文件。
[0088] 在一种具体实施方式中,还包括:
[0089] 返回模块,用于若计算得到的MD5值与发送端发送的目标文件的MD5值不一致,则返回错误消息至发送端。
[0090] 其中,关于本实施例中各个模块、单元更加具体的工作过程可以参考前述实施例中公开的相应内容,在此不再进行赘述。
[0091] 可见,本实施例提供了第一种文件传输装置,该装置利用socket连接传输文件,并校验接收到的文件,从而提高了文件传输的安全性和实时性,提高了文件传输效率。
[0092] 下面对本申请实施例提供的第二种文件传输装置进行介绍,下文描述的一种文件传输装置与上文描述的第二种文件传输方法可以相互参照。
[0093] 参见图4所示,本申请实施例公开了第二种文件传输装置,应用于发送端,包括:
[0094] 第一发送模块401,用于若发送端与接收端建立socket连接,则通过socket连接发送目标文件的属性信息至接收端;
[0095] 第三接收模块402,用于接收所述接收端返回的确认消息;确认消息为接收端对比发送端发送的目标文件的属性信息与云平台发送的目标文件的属性信息一致后,获得的消息;
[0096] 第二发送模块403,用于将目标文件拆分为预设大小的数据片段,并将所有数据片段和目标文件的MD5值发送至接收端,以使接收端根据接收到的所有数据片段计算目标文件的MD5值,若计算得到的MD5值与发送端发送的目标文件的MD5值一致,则拼接接收到的所有数据片段,获得目标文件。
[0097] 在一种具体实施方式中,第二发送模块包括:
[0098] 发送单元,用于按照所有数据片段的拆分顺序逐一发送每个数据片段至接收端;
[0099] 确定单元,用于每发送一个数据片段,则根据已发送的数据片段更新MD5值,直至发送最后一个数据片段,将更新得到的MD5值确定为目标文件的MD5值,并将目标文件的MD5值发送至接收端。
[0100] 在一种具体实施方式中,还包括:
[0101] 第四接收模块接收云平台发送的接收信息,接收信息至少包括:接收端的端口和IP地址,目标文件的传输路径;
[0102] 建立模块,用于根据接收信息与接收端建立socket连接。
[0103] 其中,关于本实施例中各个模块、单元更加具体的工作过程可以参考前述实施例中公开的相应内容,在此不再进行赘述。
[0104] 可见,本实施例提供了第二种文件传输装置,该装置利用socket连接传输文件,并校验接收到的文件,从而提高了文件传输的安全性和实时性,提高了文件传输效率。
[0105] 下面对本申请实施例提供的一种文件传输设备进行介绍,下文描述的一种文件传输设备与上文描述的一种文件传输方法及装置可以相互参照。
[0106] 参见图5所示,本申请实施例公开了一种文件传输设备,包括:
[0107] 存储器501,用于保存计算机程序;
[0108] 处理器502,用于执行所述计算机程序,以实现上述任意实施例公开的方法。
[0109] 其中,存储器501保存的计算机程序能够被处理器502执行,以实现前述实施例公开的文件传输方法。关于该方法的具体步骤可以参考前述实施例中公开的相应内容,在此不再进行赘述。
[0110] 本申请涉及的“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法或设备固有的其它步骤或单元。
[0111] 需要说明的是,在本申请中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本申请要求的保护范围之内。
[0112] 本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。
[0113] 结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD‑ROM、或技术领域内所公知的任意其它形式的可读存储介质中。
[0114] 本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。