一种跨服务器文件传输方法及系统与流程

文档序号:14993490发布日期:2018-07-20 23:00阅读:387来源:国知局

本发明实施例涉及数据传输技术领域,更具体地,涉及一种跨服务器文件传输方法及系统。



背景技术:

传统web项目里面的文件传输都局限在本地服务器,使用web方式利用http协议可以实现。但是由于http的安全限制,跨服务器之间的传输文件,很难使用web方式实现。

要实现web项目中的文件的跨服务器传输,需要先将文件从本地web浏览器端上传到本地web服务器,在由本地web服务器作为源服务器,将文件通过网络传输到目的服务器。可以利用基本的tcp协议、原生的socket接口,也可以实现文件数据的远程传输。但是这种方式需要自定义应用层协议、选择自定义端口。自定义应用层协议,不具备开放性,不利于扩展。选择自定义端口,需要修改防火墙等网络设备的安全规则,不具备可行性。



技术实现要素:

本发明实施例提供了一种克服上述问题或者至少部分地解决上述问题的跨服务器文件传输方法及系统。

一方面本发明实施例提供了一种跨服务器文件传输方法,所述方法包括:

建立源服务器和目标服务器之间的传输控制协议tcp连接;

通过所述tcp连接从所述源服务器向所述目标服务器发送超文本传输协议http请求,以实现待传输文件从所述源服务器至所述目标服务器之间的传输。

进一步地,所述源服务器向所述目标服务器发送的http请求为post请求。

进一步地,所述post请求包括所述待传输文件的文件名及存放路径。

进一步地,所述通过所述tcp连接从所述源服务器向所述目标服务器发送http请求,以实现待传输文件从所述源服务器至所述目标服务器之间的传输,具体包括:

通过所述tcp连接从所述源服务器向所述目标服务器发送post请求,建立所述源服务器与所述目标服务器之间的socket连接;

将所述待传输文件经所述socket连接从所述源服务器发送至所述目标服务器。

进一步地,所述将所述待传输文件经所述socket连接从所述源服务器发送至所述目标服务器,具体包括:

将所述待传输文件作为所述post请求的输出流,经所述socket连接从所述源服务器发送至所述目标服务器,再通过所述post请求的输入流将所述待传输文件存储到所述目标服务器的存储空间中。

进一步地,所述方法还包括:

在向所述目标服务器发送所述post请求之前,为所述post请求对应的每个待传输文件封装上安全套接字层ssl。

另一方面本发明实施例提供了一种跨服务器文件传输系统,所述系统包括:

tcp连接建立模块,用于建立源服务器和目标服务器之间的tcp连接;

文本传输模块,用于通过所述tcp连接从所述源服务器向所述目标服务器发送http请求,以实现待传输文件从所述源服务器至所述目标服务器之间的传输。

第三方面本发明实施例提供了一种基于sdn的otn中的业务超发设备,包括:处理器、存储器、通信接口和总线;其中,

所述处理器、存储器、通信接口通过所述总线完成相互间的通信;

所述通信接口用于该测试设备与显示装置的通信设备之间的信息传输;

所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行上述方法。

第四方面本发明实施例提供了一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,使所述计算机执行上述方法。

第五方面本发明实施例提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行上述方法。

本发明实施例提供的一种跨服务器文件传输方法及系统,通过源服务器向目标服务器发送http请求,构建源服务器和目标服务器之间的http连接,实现了文件从源服务器至目标服务器的跨服务器安全传输,http作为开放协议,便于拓展,且无需修改防火墙的安全规则即可实现文件传输。

附图说明

图1为本发明实施例提供的一种跨服务器文件传输方法的流程图;

图2为本发明实施例提供的一种跨服务器文件传输系统的结构框图;

图3为本发明实施例提供的一种跨服务器文件传输设备的结构框图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

图1为本发明实施例提供的一种跨服务器文件传输方法的流程图,如图1所述,所述方法包括:s1,建立源服务器和目标服务器之间的传输控制协议tcp连接;s2,通过所述tcp连接从所述源服务器向所述目标服务器发送超文本传输协议http请求,以实现待传输文件从所述源服务器至所述目标服务器之间的传输。

其中,在步骤s1中,源服务器和目标服务器之间传输控制协议(transmissioncontrolprotocol,tcp)的建立过程包括:首先,源服务器发送一个syn包给目标服务器,并等待目标服务器的应答;然后,目标服务器回应给源服务器一个ack=1、syn=1的tcp数据段;最后,源服务器再次回应目标服务器一个ack确认数据段,至此便建立了源服务器和目标服务器之间的tcp连接。

在步骤s2中,超文本传输协议(hypertexttransportprotocol,http)它用于传送web方式的数据,http协议采用了请求/响应模型。在常规应用场景下,客户端向服务器发送一个请求,请求头包含请求的方法、url、协议版本、以及包含请求修饰符、客户信息和内容的类似于mime的消息结构。服务器以一个状态行作为响应,响应的内容包括消息协议的版本,成功或者错误编码加上包含服务器信息、实体元信息以及可能的实体内容。

具体地,本发明实施例提供的方法类似于传统web项目中浏览器与服务器之间的文本传输过程。在部属多级服务器的大型、复杂系统架构中,为了实现多服务器之间的文件传输,将待传输文件通过http请求从源服务器传递至目标服务器,最终实现待传输文件的跨服务器传输。

本发明实施例提供的一种跨服务器文件传输方法,通过源服务器向目标服务器发送http请求,构建源服务器和目标服务器之间的http连接,实现了文件从源服务器至目标服务器的跨服务器安全传输,http作为开放协议,便于拓展,且无需修改防火墙的安全规则即可实现文件传输。

基于上述实施例,所述源服务器向所述目标服务器发送的http请求为post请求。

进一步地,所述post请求包括所述待传输文件的文件名及存放路径。

具体地,所http请求包括get、post、put及delete等,其中,post请求使用来为请求接收方添加内容的命令,这一命令正好能够适用于从源服务器向目标服务器传输文本的这一需求。另外,在post请求中包括待传输文件的文件名和存放路径,使得存储在目标服务器中的文件更容易被调用。

基于上述实施例,所述通过所述tcp连接从所述源服务器向所述目标服务器发送http请求,以实现待传输文件从所述源服务器至所述目标服务器之间的传输,具体包括:

通过所述tcp连接从所述源服务器向所述目标服务器发送post请求,建立所述源服务器与所述目标服务器之间的socket连接;

将所述待传输文件经所述socket连接从所述源服务器发送至所述目标服务器。

进一步地,所述将所述待传输文件经所述socket连接从所述源服务器发送至所述目标服务器,具体包括:

将所述待传输文件作为所述post请求的输出流,经所述socket连接从所述源服务器发送至所述目标服务器,再通过所述post请求的输入流将所述待传输文件存储到所述目标服务器的存储空间中。

基于上述实施例,所述方法还包括:

在向所述目标服务器发送所述post请求之前,为所述post请求对应的每个待传输文件封装上安全套接字层ssl。

具体地,为每个传输文件封装上ssl使用了数据加密技术,可确保数据在网络上的传输安全。

图2为本发明实施例提供的一种跨服务器文件传输系统的结构框图,如图2所示,所述系统包括:tcp连接建立模块1和文本传输模块2。其中:

tcp连接建立模块1用于建立源服务器和目标服务器之间的tcp连接。文本传输模块2用于通过所述tcp连接从所述源服务器向所述目标服务器发送http请求,以实现待传输文件从所述源服务器至所述目标服务器之间的传输。

具体地,通过http、https传输文件,只需要源服务器向目的服务器发送post请求,即可建立起网络连接,post请求就可以随即触发目的服务器的后台接受方法,无需要两个服务器都打开新的监听程序,也不需要任何一个服务器打开新的监听,不占用额外的网络资料。

本发明实施例基于http和https协议,使用80和443端口,是最常用的网络端口,无需占用额外的端口资源,通常情况下防火墙等网络设备都放行这两个端口。通过http、https协议的post传输即可以传输文件,还可以将文件名、存放路径等附加信息作为请求参数通过post请求传送到目的服务器,也可以接受目的服务器的返回的、友好的处理信息。使用http、https传送文件,每一个传输内容都会自动封装上ssl,使用了数据加密技术,可确保数据在网络上的传输安全。

本发明实施例提供的一种跨服务器文件传输系统,通过源服务器向目标服务器发送http请求,构建源服务器和目标服务器之间的http连接,实现了文件从源服务器至目标服务器的跨服务器安全传输,http作为开放协议,便于拓展,且无需修改防火墙的安全规则即可实现文件传输。

图3本发明实施例提供的一种跨服务器文件传输设备的结构框图,如图3所示,所述显示装置的测试设备,包括:处理器(processor)301、存储器(memory)302和总线303;

其中,所述处理器301和所述存储器302通过所述总线303完成相互间的通信;

所述处理器301用于调用所述存储器302中的程序指令,以执行上述各方法实施例所提供的方法,例如包括:建立源服务器和目标服务器之间的传输控制协议tcp连接;通过所述tcp连接从所述源服务器向所述目标服务器发送超文本传输协议http请求,以实现待传输文件从所述源服务器至所述目标服务器之间的传输。

本发明实施例公开一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法,例如包括:建立源服务器和目标服务器之间的传输控制协议tcp连接;通过所述tcp连接从所述源服务器向所述目标服务器发送超文本传输协议http请求,以实现待传输文件从所述源服务器至所述目标服务器之间的传输

本发明实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行上述各方法实施例所提供的方法,例如包括:建立源服务器和目标服务器之间的传输控制协议tcp连接;通过所述tcp连接从所述源服务器向所述目标服务器发送超文本传输协议http请求,以实现待传输文件从所述源服务器至所述目标服务器之间的传输

本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

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