技术新讯 > 电子通信装置的制造及其应用技术 > 一种多通道多链路文件传输方法及系统与流程  >  正文

一种多通道多链路文件传输方法及系统与流程

  • 国知局
  • 2024-08-08 17:00:29

所属的技术人员能够理解,方法各个方面可以实现为系统、方法或程序产品。因此,本公开的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。尽管通过参考附图并结合优选实施例的方式对本发明进行了详细描述,但本发明并不限于此。在不脱离本发明的精神和实质的前提下,本领域普通技术人员可以对本发明的实施例进行各种等效的修改或替换,而这些修改或替换都应在本发明的涵盖范围内/任何熟悉本的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。

背景技术:

1、现有的文件传输技术如ftp协议、基于http的文件上传下载等, 能够在网络条件良好的情况下完成文件传输,但在不稳定的网络环境下(如移动网络),往往会因为高延迟、丢包等情况,导致文件传输异常中断,虽然应用层可以通过重传等机制再次传输文件, 但整个文件传输过程的可靠性和实时不尽如人意。文件传输需要兼顾文件传输状态的控制、文件数据的传输两种不同类型的通信需求。用于文件传输状态控制的消息数据一般比较短小,因需要协调文件收发双方的状态一致性,对通信的可靠性和实时性要求都很高。而文件数据的传输,其数据量较大,在不稳定的网络环境下,如果追求文件数据传输的可靠性, 在发生网络丢包或长时间无响应时,重试发送文件数据往往会产生无效的重试或是重复发送数据而浪费网络带宽资源,造成文件传输的实时性降低。

2、现有的文件传输技术往往采用单通道通信, 无法很好地平衡文件传输状态的控制、文件数据的传输两种不同的通信需求,一般是要么为保障文件传输的可靠性而牺牲实时性,要么为追求文件传输的实时性而丢失可靠性。

3、通过上述,传统的技术中,文件数据自身都是在一个通道上传输,网络正常情况下,如果需要传输的文件数据量较大(如大型赛事直播和转播、高清视频文件传输等),容易受到网络带宽、传输延迟和链路稳定性等因素的影响,导致传输效率低下,甚至传输失败,即使文件所在的服务器有多条传输链路,传统技术也无法同时使用多条链路进行传输,文件传输的性能和实时性无法保证。

技术实现思路

1、针对相关技术中无法同时使用多条链路进行传输,文件传输的性能和实时性无法保证的问题,本发明提供一种多通道多链路文件传输方法及系统。

2、一方面,本发明技术方案提供一种多通道多链路文件传输方法,应用于发送节点与接收节点之间的文件传输,发送节点与接收节点之间多链路通信连接;所述方法包括如下步骤:

3、在发送节点创建两个发送队列和n个发送子队列,在接收节点创建对应的两个接收队列和n个接收子队列;n2;

4、从发送目录探测待发送的文件,当探测到有待发送的文件时,将待发送的文件转成文件消息分别存储到两个发送队列中;

5、从两个队列中随机选择一个发送队列作为第一发送队列,从第一发送队列中取出文件消息,为每个文件消息分配一个编码作为包头叠加到文件消息中并分发文件消息到n个发送子队列;两个发送队列中剩下的一个发送队列作为第二发送队列;

6、建立一个通道将发送节点第二发送队列中的文件消息有序发送到接收节点中与第二发送队列对应的接收队列中;分别建立n个通道将发送节点n个发送子队列中的文件消息有序发送到接收节点中对应的n个接收子队列中;其中,一个通道使用一条链路;两个接收队列中与第二发送队列对应的接收队列定义为第二接收队列,另一个接收队列为第一接收队列;

7、在n个接收子队列中获取文件消息并获取每个文件消息的编码,按照编码顺序将获取的文件消息存入第一接收队列。

8、作为本发明技术方案的进一步限定,在发送节点创建两个发送队列和n个发送子队列,在接收节点创建对应的两个接收队列和n个接收子队列的步骤之后包括:

9、根据第二发送队列使用链路的可用带宽和每个发送子队列使用链路的可用带宽的和设置两个发送队列的权重;

10、根据各个发送子队列使用链路的可用带宽设置各个发送子队列的权重。

11、作为本发明技术方案的进一步限定,从发送目录探测待发送的文件,当探测到有待发送的文件时,将待发送的文件转成文件消息分别存储到两个发送队列中的步骤包括:

12、从发送目录探测待发送的文件,当探测到有待发送的文件时,将待发送的文件转成文件消息;

13、按照文件消息的量基于设置的权重将文件消息进行划分,分别存储到第一发送队列和第二发送队列中。

14、作为本发明技术方案的进一步限定,从两个队列中随机选择一个发送队列作为第一发送队列,从第一发送队列中取出文件消息,为每个文件消息分配一个编码作为包头叠加到文件消息中并分发文件消息到n个发送子队列的步骤包括:

15、从两个队列中随机选择一个发送队列作为第一发送队列,从第一发送队列中取出文件消息,为每个文件消息分配一个编码作为包头叠加到文件消息中并按照发送子队列设置的权重分发文件消息到n个发送子队列。

16、作为本发明技术方案的进一步限定,该方法还包括:传输过程中,链路中的一条链路出故障时,将在故障链路上建立的通道转移到一条正常的链路上;

17、当故障链路恢复后,重新在恢复后的链路上建立通道。

18、作为本发明技术方案的进一步限定,在n个接收子队列中获取文件消息并获取每个文件消息的编码,按照编码顺序将获取的文件消息存入第一接收队列的步骤包括:

19、在n个接收子队列中获取文件消息;

20、从文件消息包头中获得消息编码,按照消息编码顺序将去掉发送节点叠加的包头后的文件消息存入第一接收队列,使第一接收队列中存储的文件消息内容及顺序与第一发送队列中存储的文件消息内容及顺序完全一致。

21、作为本发明技术方案的进一步限定,在n个接收子队列中获取文件消息并获取每个文件消息的编码,按照编码顺序将获取的文件消息存入第一接收队列的步骤之后包括:

22、从第一接收队列和第二接收队列中获取文件消息并在接收目录中重新组装成文件存储在接收节点。

23、另一方面,本发明技术方案还提供一种多通道多链路文件传输系统,包括发送节点和接收节点,发送节点与接收节点多链路连接;发送节点和接收节点分别安装有具有消息队列服务功能的通信中间件;发送节点上安装双通道双链路文件发送服务模块、文件传输服务模块和多通道多链路文件传输消息分发服务模块;接收节点上安装有多通道多链路文件传输消息合并服务模块;

24、通过发送节点的通信中间件在发送节点创建两个发送队列和n个发送子队列,通过接收节点的通信中间件在接收节点创建对应的两个接收队列和n个接收子队列;n2;

25、双通道双链路文件发送服务模块从发送目录探测待发送的文件,当探测到有待发送的文件时,将待发送的文件转成文件消息分别存储到两个发送队列中;

26、多通道多链路文件传输消息分发服务模块从两个队列中随机选择一个发送队列作为第一发送队列,从第一发送队列中取出文件消息,为每个文件消息分配一个编码作为包头叠加到文件消息中并分发文件消息到n个发送子队列;两个发送队列中剩下的一个发送队列作为第二发送队列;

27、文件传输服务模块,用于建立一个通道将发送节点第二发送队列中的文件消息有序发送到接收节点中与第二发送队列对应的接收队列中;还用于分别建立n个通道将发送节点n个发送子队列中的文件消息有序发送到接收节点中对应的n个接收子队列中;其中,一个通道使用一条链路;两个接收队列中与第二发送队列对应的接收队列定义为第二接收队列,另一个接收队列为第一接收队列;

28、多通道多链路文件传输消息合并服务模块,用于在n个接收子队列中获取文件消息并获取每个文件消息的编码,按照编码顺序将获取的文件消息存入第一接收队列。

29、作为本发明技术方案的进一步限定,接收节点上还安装双通道双链路文件接收服务模块;

30、双通道双链路文件接收服务模块从第一接收队列和第二接收队列中获取文件消息并在接收目录中重新组装成文件。

31、作为本发明技术方案的进一步限定,该系统还包括权重设置模块,根据第二发送队列使用链路的可用带宽和每个发送子队列使用链路的可用带宽的和设置两个发送队列的权重;根据各个发送子队列使用链路的可用带宽设置各个发送子队列的权重;

32、双通道双链路文件发送服务模块当探测到有待发送的文件时,将待发送的文件转成文件消息;按照文件消息的量基于设置的权重将文件消息进行划分,分别存储到第一发送队列和第二发送队列中;

33、多通道多链路文件传输消息分发服务模块从第一发送队列中取出文件消息,为每个文件消息分配一个编码作为包头叠加到文件消息中并按照发送子队列设置的权重分发文件消息到n个发送子队列。

34、从以上技术方案可以看出,本发明具有以下优点:设置多通道多链路传输,文件传输可用带宽更高,传输性能和实时性更佳,更能保证文件传输的可靠性,更适合需要高带宽多链路高速传输文件的场景。

35、此外,本发明设计原理可靠,结构简单,具有非常广泛的应用前景。

36、由此可见,本发明与现有技术相比,具有突出的实质性特点和显著地进步,其实施的有益效果也是显而易见的。

本文地址:https://www.jishuxx.com/zhuanli/20240808/271784.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。