一种基于安全套接层协议认证的文件传输方法及设备技术

技术编号:15334797 阅读:172 留言:0更新日期:2017-05-16 21:51
本申请的目的是提供一种基于安全套接层协议认证的文件传输方法及设备,该方法包括:服务器端携带安全套接层协议SSL证书,通过套接字socket与客户端建立长连接,并将该长连接放入到一个连接队列中;所述服务器端向客户端发送文件传输请求,接收客户端将所要传输文件的参数信息附加到心跳包中的响应;若所述心跳包中有所要传输的文件,服务器端即对该文件进行传输操作。本申请服务器端与客户端通讯使用SSL认证和加密,服务器端与客户端使用长连接,在局域网内,使服务器可以自由地向客户端发起文件传输操作,并且对平台无任何限制,实现全平台化。

【技术实现步骤摘要】
一种基于安全套接层协议认证的文件传输方法及设备
本申请涉及计算机领域,尤其涉及一种基于安全套接层协议认证的文件传输方法及设备。
技术介绍
随着互联网的快速发展,文件共享已司空见惯,常见文件共享有网络文件系统(NFS,NetworkFileSystem)、信息服务块(samba,SessionMessageBlock)以及文件传输协议(FTP,FileTransferProtocol),这些技术能完成绝大部分功能。但在特定场景下,存在如下缺陷:(一)NFS主要用于特定系统的文件共享:NFS是Sun公司开发出来的一种主要用于Unix或类Unix系统的分布式文件系统,其存在如下缺陷:1、NFS对支持Windows平台支持的不是很好,特别是WindowsServer2008以下系统,需要安装第三方工具来进行支持;2、NFS传输文件是以明文的形式传送,不利于数据安全;3、NFS不灵活,在特定场景不适应,如需要保留共享文件中被删除之前文件的场景。(二)Samba主是用于平台间的文件共享:Samba相比较NFS,确实实现了跨平台,对平台兼容比较好,但上述NFS的后两者缺陷,Samba也存在。(三)FTP主要用于Internet的文件共享:FTP有自己的通讯协议,可以在Internet上进行文件互传,但FTP存在明文传输文件的缺陷,并且在系统开发过程中,由于FTP文件传输属于工具,因此,要使用它,必须重新开个进程执行命令,与代码结合复杂,显得比较笨拙,在特定平台也要安装第三方工具和各种配置,使用起来并不是很方便。综上,现有文件共享存在文件传输效率低,缺乏安全性,不能实现客户端全平台支持,代码维护压力大,系统耦合度高等缺点。申请内容针对上述现有技术的缺陷,本申请的一个目的是提供一种基于安全套接层协议认证的全平台文件传输方法及设备,解决现有文件共享存在的文件传输效率低,缺乏安全性,不能实现客户端全平台支持,代码维护压力大,系统耦合度高等问题。根据本申请的一个方面,提供了一种基于安全套接层协议认证的文件传输方法,该方法包括:服务器端携带安全套接层协议SSL证书,通过套接字socket与客户端建立长连接,并将该长连接放入到一个连接队列中;所述服务器端向客户端发送文件传输请求,接收客户端将所要传输文件的参数信息附加到心跳包中的响应;若所述心跳包中有所要传输的文件,服务器端即对该文件进行传输操作。进一步地,上述方法中,所述服务器端携带SSL证书,通过与客户端进行身份认证、初始化协商加密算法、交换加密密钥完成认证。进一步地,上述方法中,通过下列方式确定服务器端与客户端建立长连接:在所述服务器端与客户端之间创建心跳机制。进一步地,上述方法中,所述传输文件的参数信息,包括:传输的文件名称、文件生成时间、文件大小及该文件对应的信息摘要算法MD5值。进一步地,上述方法中,所述文件传输包括文件拉取和文件推送。进一步地,上述方法中,当文件传输请求为文件拉取请求时,所述服务器端向客户端发起文件拉取请求,具体包括:服务器端建立一个与所要拉取文件对应大小的稀疏文件,并将所要拉取文件在客户端中的参数信息,转换成字节流,同生成的任务ID,一起密文发送给客户端,并将该任务放到任务队列中;接收该任务ID对应客户端所返回的返回值、标准输出信息及标准错误输出信息,将标准输出信息的内容写入本地文件,即从客户端拉取到文件。进一步地,上述方法中,若服务器端接收到的客户端返回值为0,则文件拉取完成,否则文件拉取失败,标准错误输出信息会记录失败原因。进一步地,上述方法中,所述文件拉取完成后,还包括:计算拉取到文件的第二信息摘要算法MD5值,若其与客户端文件的第一信息摘要算法MD5值相同,则该拉取文件有效。进一步地,上述方法中,当文件传输请求为文件推送请求时,所述服务器端向客户端发起文件推送请求,具体包括:服务器端将所要推送文件在客户端存放的参数信息,以及生成的任务ID序列化后,转换成字节流,密文发送给客户端,并将该任务放到任务队列中;执行文件读取,分别获取该读取文件返回值、标准输出信息及标准错误输出信息,携带任务ID转换成字节流,一起密文发送给客户端;接收客户端对推送文件的校验结果,若客户端计算的推送文件的第二信息摘要算法MD5值,与服务器端发送的第一信息摘要算法MD5值相同,则推送文件有效。进一步地,上述方法中,若服务器端对应客户端上的任务队列里没有任务,即关闭与客户端的连接。根据本申请的一个方面,提供了另一种基于安全套接层协议认证的文件传输方法,该方法包括:客户端通过套接字socket与携带安全套接层协议SSL证书的服务器端建立长连接,并将该长连接放入到一个连接队列中;所述客户端接收服务器端发送的文件传输请求,并将所要传输文件的参数信息附加到心跳包中响应服务器端。进一步地,上述方法中,所述客户端通过与携带SSL证书的服务器端进行身份认证、初始化协商加密算法、交换加密密钥完成认证。进一步地,上述方法中,通过下列方式确定客户端与服务器端建立长连接:在所述客户端与服务器端之间创建心跳机制。进一步地,上述方法中,所述传输文件的参数信息,包括:传输的文件名称、文件生成时间、文件大小及该文件对应的信息摘要算法MD5值。进一步地,上述方法中,所述文件传输包括文件拉取和文件推送。进一步地,上述方法中,当文件传输请求为文件拉取请求时,所述客户端接收服务器端发送的文件拉取请求,具体包括:客户端接收服务器端拉取文件的请求,将服务器端发送的字节流解密并转换成拉取文件的参数信息,同任务ID一起放入到任务队列中;执行文件读取,分别获取该读取文件返回值、标准输出信息及标准错误输出信息,携带任务ID转换成字节流,一起密文发给服务器端。进一步地,上述方法中,所述标准输出信息包括文件内容,所述标准错误输出信息记录失败原因。进一步地,上述方法中,当文件传输请求为文件推送请求时,所述客户端接收服务器端发送的文件推送请求,具体包括:客户端接收到服务器端序列化后的文件推送参数信息后,建立一个与所要推拉文件对应大小的稀疏文件,将任务ID放入到任务队列中,并响应服务器端;接收该任务ID文件推送的返回值、标准输出信息及标准错误输出信息,将标准输出的内容写入本地文件,即推送文件到客户端。进一步地,上述方法中,若客户端接收到的返回值为0,则文件推送成功,否则文件推送失败,标准错误输出信息会记录失败原因,并将结果密文发送给服务器端。进一步地,上述方法中,所述文件推送成功后,还包括:将推送成功的文件第二信息摘要算法MD5值与服务器端发送的第一信息摘要算法MD5值进行文件校验;若客户端计算的推送文件的第二信息摘要算法MD5值,与服务器端发送的第一信息摘要算法MD5值相同,则推送文件有效,将该结果密文发送给服务器端。进一步地,上述方法中,若客户端对应服务器端上的任务队列里没有任务,即关闭与服务器端的连接。根据本申请的另一个方面,提供了一种基于安全套接层协议认证的文件传输设备,所述设备包括:第一连接模块,携带安全套接层协议SSL证书,通过套接字socket与客户端建立长连接,并将该长连接放入到一个连接队列中;发送接收模块,用于向客户端发送文件传输请求,接收客户端将所要传输文件的参数信息附加到心跳包中的响应;操作本文档来自技高网...
一种基于安全套接层协议认证的文件传输方法及设备

【技术保护点】
一种基于安全套接层协议认证的文件传输方法,其特征在于,该方法包括:服务器端携带安全套接层协议SSL证书,通过套接字socket与客户端建立长连接,并将该长连接放入到一个连接队列中;所述服务器端向客户端发送文件传输请求,接收客户端将所要传输文件的参数信息附加到心跳包中的响应;若所述心跳包中有所要传输的文件,服务器端即对该文件进行传输操作。

【技术特征摘要】
1.一种基于安全套接层协议认证的文件传输方法,其特征在于,该方法包括:服务器端携带安全套接层协议SSL证书,通过套接字socket与客户端建立长连接,并将该长连接放入到一个连接队列中;所述服务器端向客户端发送文件传输请求,接收客户端将所要传输文件的参数信息附加到心跳包中的响应;若所述心跳包中有所要传输的文件,服务器端即对该文件进行传输操作。2.如权利要求1所述的方法,其特征在于,所述服务器端携带SSL证书,通过与客户端进行身份认证、初始化协商加密算法、交换加密密钥完成认证。3.如权利要求1或2所述的方法,其特征在于,通过下列方式确定服务器端与客户端建立长连接:在所述服务器端与客户端之间创建心跳机制。4.如权利要求3所述的方法,其特征在于,所述传输文件的参数信息,包括:传输的文件名称、文件生成时间、文件大小及该文件对应的信息摘要算法MD5值。5.如权利要求4所述的方法,其特征在于,所述文件传输包括文件拉取和文件推送。6.如权利要求5所述的方法,其特征在于,当文件传输请求为文件拉取请求时,所述服务器端向客户端发起文件拉取请求,具体包括:服务器端建立一个与所要拉取文件对应大小的稀疏文件,并将所要拉取文件在客户端中的参数信息,转换成字节流,同生成的任务ID,一起密文发送给客户端,并将该任务放到任务队列中;接收该任务ID对应客户端所返回的返回值、标准输出信息及标准错误输出信息,将标准输出信息的内容写入本地文件,即从客户端拉取到文件。7.如权利要求6所述的方法,其特征在于,若服务器端接收到的客户端返回值为0,则文件拉取完成,否则文件拉取失败,标准错误输出信息会记录失败原因。8.如权利要求7所述的方法,其特征在于,所述文件拉取完成后,还包括:计算拉取到文件的第二信息摘要算法MD5值,若其与客户端文件的第一信息摘要算法MD5值相同,则该拉取文件有效。9.如权利要求5所述的方法,其特征在于,当文件传输请求为文件推送请求时,所述服务器端向客户端发起文件推送请求,具体包括:服务器端将所要推送文件在客户端存放的参数信息,以及生成的任务ID序列化后,转换成字节流,密文发送给客户端,并将该任务放到任务队列中;执行文件读取,分别获取该读取文件返回值、标准输出信息及标准错误输出信息,携带任务ID转换成字节流,一起密文发送给客户端;接收客户端对推送文件的校验结果,若客户端计算的推送文件的第二信息摘要算法MD5值,与服务器端发送的第一信息摘要算法MD5值相同,则推送文件有效。10.如权利要求6或9所述的方法,其特征在于,若服务器端对应客户端上的任务队列里没有任务,即关闭与客户端的连接。11.一种基于安全套接层协议认证的文件传输方法,其特征在于,该方法包括:客户端通过套接字socket与携带安全套接层协议SSL证书的服务器端建立长连接,并将该长连接放入到一个连接队列中;所述客户端接收服务器端发送的文件传输请求,并将所要传输文件的参数信息附加到心跳包中响应服务器端。12.如权利要求11所述的方法,其特征在于,所述客户端通过与携带SSL证书的服务器端进行身份认证、初始化协商加密算法、交换加密密钥完成认证。13.如权利要求11或12所述的方法,其特征在于,通过下列方式确定客户端与服务器端建立长连接:在所述客户端与服务器端之间创建心跳机制。14.如权利要求13所述的方法,其特征在于,所述传输文件的参数信息,包括:传输的文件名称、文件生成时间、文件大小及该文件对应的信息摘要算法MD5值。15.如权利要求14所述的方法,其特征在于,所述文件传输包括文件拉取和文件推送。16.如权利要求15所述的方法,其特征在于,当文件传输请求为文件拉取请求时,所述客户端接收服务器端发送的文件拉取请求,具体包括:客户端接收服务器端拉取文件的请求,将服务器端发送的字节流解密并转换成拉取文件的参数信息,同任务ID一起放入到任务队列中;执行文件读取,分别获取该读取文件返回值、标准输出信息及标准错误输出信息,携带任务ID转换成字节流,一起密文发给服务器端。17.如权利要求16所述的方法,其特征在于,所述标准输出信息包括文件内容,所述标准错误输出信息记录失败原因。18.如权利要求15所述的方法,其特征在于,当文件传输请求为文件推送请求时,所述客户端接收服务器端发送的文件推送请求,具体包括:客户端接收到服务器端序列化后的文件推送参数信息后,建立一个与所要推拉文件对应大小的稀疏文件,将任务ID放入到任务队列中,并响应服务器端;接收该任务ID文件推送的返回值、标准输出信息及标准错误输出信息,将标准输出的内容写入本地文件,即推送文件到客户端。19.如权利要求18所述的方法,其特征在于,若客户端接收到的返回值为0,则文件推送成功,否则文件推送失败,标准错误输出信息会记录失败原因,并将结果密文发送给服务器端。20.如权利要求19所述的方法,其特征在于,所述文件推送成功后,还包括:将推送成功的文件第二信息摘要算法MD5值与服务器端发送的第一信息摘要算法MD5值进行文件校验;若客户端计算的推送文件的第二信息摘要算法MD5值,与服务器端发送的第一信息摘要算法MD5值相同,则推送文件有效,将该结果密文发送给服务器端。21.如权利要求16或18所述的方法,其特征在于,若客户端对应服务器端上的任务队列里没有任务,即关闭与服务器端的连接。22.一种基于安全套接层协议认证的文件传输设备,其特征在于,该设备包括:第一连接模块,携带安全套接层协议SSL证书,通过套接字socket与客户端建立长连接,并将该长连接放入到一个连接队列中;发送接收模块,用于向客户端发送文...

【专利技术属性】
技术研发人员:王瑞杨浩前李天泽
申请(专利权)人:上海艾讯云计算有限公司
类型:发明
国别省市:上海,31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1