一种基于组管理的多点文件可靠传输方法与流程

文档序号:14504486阅读:174来源:国知局

本发明涉及列车网络技术领域,更具体地,涉及一种基于组管理的多点文件可靠传输方法。



背景技术:

随着列车网络技术的发展,在列车上经常需要为列车上的多个设备传输相同的文件,在此场景下目前的解决方法通常只能多次对多个设备分别进行文件传输,这种方法大大的降低了文件传输效率提高了文件传输时间。

目前针对文件传输技术中有很多方案,比如大家熟悉的ftp协议,可以可靠的完成文件的传输,但是这些大家熟知的文件传输协议一般只支持单点文件可靠传输,如果需要给多个设备传输相同的文件则需要多次传输,这样不仅提高文件传输效率还为增加了不必要的流量负担。

为了解决这个问题,已有人提出了可靠的多点文件传输协议:简单多播文件传输协议,虽然此协议可以完成多点文件可靠传输,但是此协议依赖ip组播技术限定了应用场景,同时此协议每传一个数据包需要所有接收文件的设备都回复确认数据,只有收到所有设备的确认数据后才会发送下一个数据段,一旦一个设备接收出问题则需要重传数据包。



技术实现要素:

本发明为克服上述现有技术所述的至少一种缺陷,提供一种基于组管理的多点文件可靠传输方法,在文件多点发送的过程中保证所有接收文件方接收到正确的文件,保证文件传输的可靠性和正确性。

为解决上述技术问题,本发明的技术方案如下:

一种基于组管理的多点文件可靠传输方法,用于将客户端的文件可靠传输到一个或多个服务器端,所述方法包括以下步骤:

s1:建立传输链路:传输链路建立由客户端发起,对于需要更新的文件,建立客户端到需要更新该文件的所有服务器端的传输链路;

s2:文件传输:客户端将需要传输的文件发送到需要更新该文件的所有服务器端,同时客户端指定其中的一个或多个服务器端进行文件确认;

s3:文件确认:服务器端收到文件后,对文件进行保存并查看客户端是否指定自己进行文件确认,如果是,则该服务器检查其所接收的文件正确并反馈到客户端;

s4:如果传输过程中有服务器收文件失败,则重复上面的过程,直到所有需要更新文件的服务器均正确接收到文件为止。

在一种优选的方案中,为了提高数据传输的安全性,本方案支持数据加密,即所述方法还包括:客户端在发送文件时对文件数据部分加密,服务端接收到数据时根据相应的解密算法对数据解密。保证数据传输的安全性,防止文件被其他应用个恶意窃取。本方案不会给出具体的加密算法。

在一种优选的方案中,步骤s1中,建立传输链路具体包括以下步骤:

s1.1:客户端发送一个询问指令用来询问网络中是否有服务器端需要更新某个文件,询问指令的内容包含接下来要发送的文件名和已加入到接收文件组内的服务器端唯一标识符;客户端可以根据需求周期性的重复发送多次此询问指令指令。

s1.2:服务器端收到询问指令后,检查是否需要接收此文件,如果需要接收此文件且客户端发送的询问指令中没有找到自己的标识符,则向客户端发送确认收文件指令,所述确认收文件指令包含该服务器端自己的标识符,确认自己要加入接收文件组里面去;

s1.3:客户端收到确认收文件指令后,会将对应服务端的唯一标识符加入到客户端询问指令中去;

s1.4:重复此步骤s1.1~步骤s1.3的过程,直到链路建立阶段结束。

在一种优选的方案中,步骤s1.1中,所述服务器端唯一标识符包括但不限于mac和ip。

在一种优选的方案中,步骤s2中,文件传输具体包括以下步骤:

s2.1:客户端将整个文件分拆成若干个的小数据段,数据段长度根据不同的网络取不同的值,客户端将分拆的数据段加上控制信息构造成数据报文,并且发送到需要更新该文件的所有服务器端;所述控制信息中包含某个服务器端的标识符、数据段序号、发送数据的目的地址,该服务器端即为客户端指定的进行文件确认的服务器端;

s2.2:服务器端收到文件传输报文后,将其保存,并检查控制信息中的设备标识符,如果是自己的标识符则向客户端发送确认报文,确认报文中包含接收到数据段序号及数据的校验值;其中,可以选择任意校验算法对数据进行校验,但是要保证客户端和服务器端的算法一致;

s2.3:客户端收到所指定的服务器端发送来的确认数据后,检查服务器端收到的数据和自己发送的是否一致,如果一致则发送下一个报文,否则进行重传。

在一种优选的方案中,步骤s3中,文件确认具体包括:在文件发送完成后,进入文件确认阶段,此阶段客户端发送文件发送成功确认指令,服务器端收到此指令后,检查文件正确性并向客户端回复接收到的文件是否正确,客户端收到所有需要接收文件组中的设备发来的回复后进入下一个阶段。

在一种优选的方案中,服务器端检查文件正确性的方法为:服务器端收到文件发送成功确认指令后,计算接收文件的校验值,并和客户端发来的值比较,如果相同,则接收正确,否则文件接收异常。

在一种优选的方案中,所述服务器端为安装有服务器软件的设备。

与现有技术相比,本发明技术方案的有益效果是:本发明公开一种基于组管理的多点文件可靠传输方法,文件传输时,客户端将需要传输的文件发送到需要更新该文件的所有服务器端,同时客户端指定其中的一个或多个服务器端进行文件确认;服务器端收到文件后,对文件进行保存并查看客户端是否指定自己进行文件确认,如果是,则该服务器检查其所接收的文件正确并反馈到客户端。

本发明将需要接收文件的设备在逻辑上划分为同一个组,发送文件方不需要为每个文件接收方单独发送文件,而是将文件发送一次,需要接收文件设备都可以接收文件,提高文件传输效率。不仅如此,客户端还指定其中的一个或多个服务器端进行文件确认,在文件多点发送的过程中还能保证所有接收文件方接收到正确的文件,保证文件传输的可靠性和正确性。本发明在传输数据时无需所有接收文件的设备都回复确认数据,传输效率更高。同时,本发明是一个灵活的可靠文件传输方案,不仅可以应用到以太网还可以应用到各类总线技术中去。并且,本发明在接收文件组中只有1个设备的情况下,会退化成单点可靠文件传输的方案。

附图说明

图1为本发明基于组管理的多点文件可靠传输方法的流程图。

图2为为链路建立过程图(一般过程)。

图3为链路建立过程图(服务器端不需要接收文件)。

图4为链路建立过程图(已经加入到接收文件组)。

图5为文件传输过程图(需要回复确认报文)。

图6为文件传输过程图(不需要回复确认报文)。

图7为文件确认过程图。

具体实施方式

下面结合附图和实施例对本发明的技术方案做进一步的说明。

实施例1

如图1所示,一种基于组管理的多点文件可靠传输方法,用于将客户端的文件可靠传输到一个或多个服务器端,所述客户端安装有客户端软件,所述服务器端为安装有服务器软件的设备,所述方法包括以下步骤:

s1:建立传输链路:传输链路建立由客户端发起,对于需要更新的文件,建立客户端到需要更新该文件的所有服务器端的传输链路;

如图2所示,建立传输链路具体包括以下步骤:

s1.1:客户端发送一个询问指令用来询问网络中是否有服务器端需要更新某个文件,询问指令的内容包含接下来要发送的文件名和已加入到接收文件组内的服务器端唯一标识符,所述服务器端唯一标识符包括但不限于mac和ip;客户端可以根据需求周期性的重复发送多次此询问指令指令;

s1.2:服务器端收到询问指令后,检查是否需要接收此文件,如果需要接收此文件且客户端发送的询问指令中没有找到自己的标识符,则向客户端发送确认收文件指令,所述确认收文件指令包含该服务器端自己的标识符,确认自己要加入接收文件组里面去;

如图3所示,服务器端如果不需要更新文件,则对询问指令不做任何响应。

如图4所示,当服务端知道自己已经加入到接收文件组里面,也不会对询问指令进行响应。

s1.3:客户端收到确认收文件指令后,会将对应服务端的唯一标识符加入到客户端询问指令中去;

s1.4:重复此步骤s1.1~步骤s1.3的过程,直到链路建立阶段结束。

s2:文件传输:客户端将需要传输的文件发送到需要更新该文件的所有服务器端,同时客户端指定其中的一个或多个服务器端进行文件确认;

文件传输具体包括以下步骤:

s2.1:客户端将整个文件分拆成若干个的小数据段,数据段长度根据不同的网络取不同的值,客户端将分拆的数据段加上控制信息构造成数据报文,并且发送到需要更新该文件的所有服务器端;所述控制信息中包含某个服务器端的标识符、数据段序号、发送数据的目的地址,该服务器端即为客户端指定的进行文件确认的服务器端;

s2.2:服务器端收到文件传输报文后,将其保存,并检查控制信息中的设备标识符,如图5所示,如果是自己的标识符则向客户端发送确认报文,确认报文中包含接收到数据段序号及数据的校验值;其中,可以选择任意校验算法对数据进行校验,但是要保证客户端和服务器端的算法一致;

如图6所示,如果不是自己的标识符则不需要确认,不用做任何响应。同时,继续等待接收数据。

s2.3:客户端收到所指定的服务器端发送来的确认数据后,检查服务器端收到的数据和自己发送的是否一致,如果一致则发送下一个报文,否则进行重传。

在一种优选的方案中,步骤s3中,文件确认具体包括:在文件发送完成后,进入文件确认阶段,此阶段客户端发送文件发送成功确认指令,服务器端收到此指令后,检查文件正确性并向客户端回复接收到的文件是否正确,客户端收到所有需要接收文件组中的设备发来的回复后进入下一个阶段。

s3:文件确认:如图7所示,服务器端收到文件后,对文件进行保存并查看客户端是否指定自己进行文件确认,如果是,则该服务器检查其所接收的文件正确并反馈到客户端;

s4:如果传输过程中有服务器收文件失败,则重复上面的过程,直到所有需要更新文件的服务器均正确接收到文件为止。

为了提高数据传输的安全性,本方案支持数据加密,即所述方法还包括:客户端在发送文件时对文件数据部分加密,服务端接收到数据时根据相应的解密算法对数据解密。保证数据传输的安全性,防止文件被其他应用个恶意窃取。本方案不会给出具体的加密算法。

在具体实施过程中,服务器端检查文件正确性的方法为:服务器端收到文件发送成功确认指令后,计算接收文件的校验值,并和客户端发来的值比较,如果相同,则接收正确,否则文件接收异常。

显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。

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