一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种去中心化的文件传输方法

2022-12-20 00:49:11 来源:中国专利 TAG:


1.本发明属于算机软件和网络技术领域,具体涉及去中心化的文件传输方法。


背景技术:

2.传统的文件传输协议ftp、sftp,都是基于c/s架构的端到端传输服务,拥有热门资源的服务器容易成为性能瓶颈,去中心化成为一种趋势。基于p2p的文件分发协议bittorrent,充分利用了用户的上行带宽,缓解了服务器的负载,提高了多用户场景下的文件传输效率。但是如何在一个大规模分布的环境下定位资源和管理资源,以及如何选择有效的资源请求路由策略,都是十分具有挑战性的问题。


技术实现要素:

3.本发明的目的在于提供一种中心化的文件传输方法,以解决bittorrent存在的资源定位问题,更有效地管理网络资源。
4.本发明提出的去中心化的文件传输方法,采取网络内缓存和网络广播请求结合的方式实现去中心化的文件传输服务,通过动态探测网络中生产方,解决bittorrent存在的资源定位问题,并通过分析记录网络状况,有效管理网络资源;所述网络由中间路由器、生产方和消费方节点组成,节点之间通过传输数据的网络链路连接,生产方是提供文件数据的一方,消费方是请求文件数据的一方,中间路由器管理网络的路由信息和转发过程;生产方和消费方需要通过宣布的方式告知中间路由器,从而成为网络中的一个节点,形成网络拓扑;文件数据传输,表现为在文件生产方和消费方之间通过“先请求,后响应”的方式进行,具体步骤如下。
5.(一)文件消费方向生产方发出请求(1)由文件消费方发出的请求,可以在网络的一定范围内广播;图 2为文件消费方请求文件过程图示;文件消费方首先向网络中广播文件请求,请求是一个消费方发出的数据包(简称请求数据包),其包含用于标识文件内容的结构化命名(如a/video/mp4/a/1,该结构化命名标识了“应用程序a发布的格式为mp4的视频文件a的片段1”)、请求广播范围的信息、消费方的标识信息和合法性验证信息;(2)消费方向网络中发送请求后,等待接收来自生产方的响应;若未收到响应,则重复广播文件请求;若重复3次后仍无响应,判断网络中无生产方能够提供相应的文件传输服务,请求过程结束;(3)在收到来自生产方的响应后,记录下所有响应的生产方信息和文件信息,包括生产方的标识、文件大小,以及文件传输时分段的数量等(由于文件可能大于底层网络协议单个包的最大容量,所以需要将文件分段传输);根据分段数量初始化请求队列,对于每个响应的生产方,都分配一个发送窗口实体,实体中有一个数值(发送窗口)用于控制请求发送的速率;从所有发送窗口实体中,找到一个发送窗口未满的生产方;如果找不到则进入等待阶段;
(4)从请求队列中选取一个文件分段请求,然后在请求中添加生产方的标识信息,然后发送到网络并监听相应的数据到达事件;重复发送请求的过程,直到所有数据分段都接收到,文件请求过程结束。
6.本发明中,文件消费方可以指定某个特定的文件生产方,使得请求只会沿着某一条路径到达生产方,这一般在消费方已经了解该生产方的请求监听池的情况下使用的请求策略。
7.(二)生产方对消费方请求的响应所有可以响应对应请求的生产方都可以返回数据;文件生产方收到从网络中到达的请求数据包,根据请求数据包中的文件内容标识信息,从本地的请求监听池中查找对应的文件数据,如果命中,则将相应数据打包成响应数据包,根据请求数据包中的文件消费方标识信息,指定响应数据包的目的地址,然后将响应数据包通过底层网络协议传输至相应消费方;响应的数据包中还包含生产方相关的验证信息、网络状况和生产方允诺提供的传输服务质量。
8.本发明中,文件消费方可以记录某个文件生产方正在监听的请求项、到某个生产方网络链路的状况,对网络资源进行管理。
9.本发明中,文件消费方可以同时作为生产方,将接收到的数据缓存下来,然后监听该数据的请求;经过消费方验证后的合法数据,可以将数据及其对应的结构化命名标识放入消费方的请求监听池中,使得消费方可以在接收同样的请求后作为生产方响应相应的数据。
10.本发明中,消费方中主要包含缓冲模块、发送窗口模块和事件监听模块三个模块,在应用程序和网络之间传递文件;缓冲模块用于缓存乱序到达的数据包,排序后还原完整文件,最后递交给用户;发送窗口模块负责控制整个发送过程的速率和分配到每个生产方的传输任务额度,将附有生产方标识的请求发送到事件监听模块;事件监听模块负责处理每个请求的数据到达和响应超时事件,向网络中发送请求和接收数据,将接收到的文件片段缓存到缓冲模块中,并通过监听过程中提取的网络状况信息调整发送窗口模块的行为;特别地,应用程序将广播的文件传输请求提交到事件监听模块中,用以探索网络中适合提供传输服务的生产方。文件消费方的数据流参见图4所示。
11.本发明中,文件消费方发出的请求都被绑定“数据包到达”和“响应超时”两个事件;所述事件监听模块处理过程为:当文件消费方发生数据到达或者监听的请求包响应超时的时候,触发不同的处理逻辑;如果监听到数据包到达的事件,先验证数据的正确性,如果正确则将数据写入缓冲区,更新提供该数据的生产方网络状况信息,根据延迟带宽乘积调整最大发送窗口的数值;如果监听到请求响应超时的事件,则将该请求重新加入请求队列,并认为对该生产方的请求速率过高,应该相应减少对该生产方的最大发送窗口数值;参见图 3所示。
12.本发明中,关于生产方和消费方网络的加入:当一个主机想要成为可以提供传输服务的生产方时,需要先向网络中发送数据包以宣布自己的身份标识以及它的请求监听池;对于消费方而言,只需要宣布自己的身份标识即可加入网络;中间路由器通过记录生产方和消费方宣布的信息,从而构建起路由表;路由表中不仅记录了生产方、消费方身份标识和转发路径的关系,还记录结构化命名标识前
缀和转发路径的关系;转发请求数据包和响应数据包的过程需要参考路由表信息,根据数据包中包含的结构化命名标识或者接收者标识(当数据包中指定了数据包的接收者),在路由表中进行匹配,从而得知该数据包应该往哪些接口转发,从而构建起网络拓扑。
13.有益效果本发明所述文件传输方法可以充分利用用户的上行带宽,缓解热门服务器的负载,在多用户场景下有较高的文件传输效率;可以在传输过程中实时监测网络状况,动态调整数据请求策略,对网络状况变化有一定的自适应性;可以在消费方进行网络资源定位和管理,提高网络资源的利用率。
附图说明
14.图 1是中心化的文件传输方法部署图示。
15.图 2是本发明中文件消费方请求方发布请求过程图示。
16.图 3是本发明中事件监听模块监听过程图示。
17.图 4是本发明中文件消费方模块结构及文件传递图示。
具体实施方式
18.参考图 1,其为本发明所述文件传输方法流程图示。主机a作为文件消费方请求文件f,文件f的标识是”xx/xx/f/*”,”*”代表任意数字,作为文件f的分段编号;服务器一、二、三均可以提供传输文件f的服务;主机b比主机a更早地作为文件消费方请求并已经成功接收文件f,会将文件f加入到监听池中。当主机a请求文件f时,主机a先广播标识为”xx/xx/f”的请求,探索网络中可以提供文件f传输服务的生产方;服务器一、二、三和主机b都会作出响应,发出一个包含文件信息、验证信息和的数据包响应主机a;主机a根据收到的数据包中包含的信息对每个生产方进行验证,并给每个生产方分配一个发送窗口,分配传输任务,例如主机b与主机a的拓扑距离较近,那么主机b的发送窗口会比较大,承担更多的传输任务;在文件片段数据传输过程中,根据实际传输速率调整每个生产方的发送窗口大小;收到的数据片段会先缓存在缓冲区中,根据数据包标识中的分段编号排序并整理好后,再提交给相应的应用程序。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献