一种基于纠删编码的多源数据传输系统及方法技术方案

技术编号:24764047 阅读:59 留言:0更新日期:2020-07-04 11:06
本发明专利技术公开一种基于纠删编码的多源数据传输系统及方法,多个数据源节点采用相同的纠删编码方法将待传输的数据分成多段,并进行编码获得数据远大于原始数据量的码字;然后分别向接收节点发送不同的码字避免重复传输;利用纠删编码,请求者只需收到足够多的码字后即能够解码获得原始数据;引入的控制器角色对外作为多源数据的前端服务器,捕获接收节点的数据获取请求,对内作为数据源节点的管理节点,动态地选择数据源节点完成具体数据文件的传输。本发明专利技术使得数据的不同源节点无需进行显式的协作即可协作地对同一个数据文件进行传输,不存在重复传输的问题;接收节点能够充分利用所有源节点的可用带宽,快速获取所需数据。

A multi-source data transmission system and method based on erasure coding

【技术实现步骤摘要】
一种基于纠删编码的多源数据传输系统及方法
本专利技术涉及网络数据传输
,具体为一种基于纠删编码的多源数据传输系统及方法。
技术介绍
在数据中心里,为了提高可靠性、实现负载均衡等目的,重要的数据通常会在分散的不同的节点上存储多份。即,数据具有“多源”的特点。多源数据的分发具有典型的“多对一”通信模式,可以采用现有的P2P(peertopeer)文件共享系统(如BitTorrent)实现。在P2P方案中,待传输的文件会被拆分为多块;接收节点借助特殊的Tracker服务器发现拥有该资源文件的其他在线节点,再与这些节点交换资源状态信息;并最终通过获取或者推送等方法,动态的从不同节点获取文件的不同部分,从而加速数据文件的获取速度。P2P文件分发系统虽然能够利用多个数据持有者并发地传输文件的不同部分,实现传输的加速,但它们在性能上还有很大的提升空间。一方面,这些P2P文件分发系统主要针对互联网场景设计,节点之间需要运行一套复杂、低效的协议实现资源块信息的共享,没有很好利用数据中心网络的特点;另一方面,P2P文件分发系统主要用于“一对多”或者“多对多”的大规模数据分发场景,并不是专门针对多源数据的高效分发而设计,节点接收每数据块时本质上还是只从其中的一个节点上获取,并没有同时利用多个数据源进行并发传输。
技术实现思路
针对上述问题,本专利技术的目的在于提供一种基于纠删编码的多源数据传输系统及方法,使得数据的不同源节点无需进行显式的协作即可协作地对同一个数据文件进行传输,不存在重复传输的问题。相应的,不同数据源所承担的传输比例将由路径上的可用带宽动态的决定;接收节点能够充分利用所有源节点的可用带宽,快速获取所需数据。技术方案如下:一种基于纠删编码的多源数据传输系统,包括控制器、数据存储者和数据请求者;(a)控制器:控制器作为资源文件的服务前端,接收数据请求者的数据传输请求,记录数据请求者的IP地址和发送该请求所用的UDP端口信息;然后向数据请求者回应所请求数据文件的大小、编码参数,或者返回资源不可用;(b)数据存储者:作为数据文件的实际持有者,同一个数据对象在会在多个存储者上存储多份,分散在集群中的不同节点上;该不同节点采用相同的纠删编码方案和参数对存储的数据进行编码,从而保证数据请求者从不同存储节点上获得编码后的码字能够解码获得原数据;数据存储者从控制器处获得任务信息后,采用UDP向数据请求者发送编码后的数据,并根据接收节点的反馈,调整发送的速率,并判断任务是否已经完成;(c)数据请求者:当需要获取某个数据时,数据请求者采用UDP协议向控制器发起请求,并在相同的端口上侦听控制器的反馈,以及数据存储节点所推送的编码后的数据;对于收到的每个码字,数据请求者立即向发送者发送反馈信息,表明所收到码字的编号,以及至少还需要该数据存储节点发送多少数据才能进行解码。进一步的,控制器作为数据存储者的管理方,数据存储者上线后需要先向控制器注册,汇报所持有数据的情况;运行过程中数据存储者定期向控制器发送心跳信息报告存活状态,上报该当前传输任务的运行状态和完成进度信息。更进一步的,所述数据请求者在给定时间内没有收到控制器的确认反馈,则重试,直到收到或者重试次数超过设定次数;若收到数据资源不可用,则结束;否则在发送请求所用的UDP端口上侦听数据存储者推送的编码后的数据,并周期性的向控制器发送文件的接收进度,以表明其在线;对于暂停或者故障后再次请求数据的场景,数据请求者的请求消息中,除了包含所需文件的资源描述还包含已经收到的码字的情况。一种基于权利要求1所述的基于纠删编码的多源数据传输系统的传输方法,包括以下步骤:步骤1:多个数据源节点采用相同的纠删编码将待传输的数据分成多段并进行编码,获得数据远大于原始数据量的码字:设当前网络中有A个在线的数据存储者拥有资源URI;收到针对该资源的传输请求后,控制器从中挑选出S=min(A,R)个存储者,作为该任务的数据分发节点;如果S=0,控制器则向资源请求者返回资源不可用信息;否则返回所请求文件的大小、编码信息;控制器将请求者的IP地址、UDP端口号,所请求的资源描述符URI,以及被挑中的存储者的编号,告知该S个存储者,从而启动传输过程;对于一个给定的资源数据URI,纠删编码将资源文件划分为M份再编码获得M+K个码字,并依次编号1,2,3,…,M+K,其中任意的M+L个码字能够解码获得源文件;步骤2:数据存储者采用UDP向数据请求者发送不同的码字避免重复传输;对于资源文件URI,被选中的S个数据存储者依次编号i=1,2,…,S;为避免重复传输,第i个数据存储者将传输编号为i+j*R的码字,其中,j=0,1,2,…;且floor((M+K)/R)>=M+L,其中floor为向下取整函数;每个码字封装在一个UDP报文中,该报文同时包含该码字的编号、数据存储者的标识、在该存储者上的发送序号;步骤3:数据请求者利用纠删编码,根据收到的足够多的码字解码获得原始数据:数据请求者通过和码字一起发送的存储者的标识信息,统计当前正在工作的发送者数目S,为确保解码成功,每个发送者需至少传输ceil((M+K-V)/S)个码字;其中,ceil为向上取整,V当为前已经收到的码字数目更进一步的,所述步骤1中,纠删编码采用RaptorQ编码方案时,K为正无穷大,L值默认取2,在运行过程中数据请求者按需增大L的取值。更进一步的,在任务传输过程中,控制器将收到数据请求者的周期性汇报,若一段时间内没有收到汇报,控制器认为该请求者已经不在,将通知相关存储节点暂停数据的发送。更进一步的,所述步骤3中,若到的码字所对应的IP报文被标记了CE,则将该信息反馈给发送者。本专利技术的有益效果是:1)本专利技术使得数据的不同源节点无需进行显式的协作即可协作地对同一个数据文件进行传输,不存在重复传输的问题。相应的,不同数据源所承担的传输比例将由路径上的可用带宽动态的决定;接收节点能够充分利用所有源节点的可用带宽,快速获取所需数据;2)本专利技术利用纠删编码解耦不同存储节点的传输,让不同存储节点不需要协作,让带宽高的节点可以传输更多的数据量,最大限度的利用带宽保证整体传输任务的高效;3)本专利技术引入控制器角色,对外作为多源数据的前端服务器,捕获接收节点的数据获取请求,对内作为数据源节点的管理节点,能够更好地管理数据源节点以及对应的传输任务,动态地选择数据源节点完成具体数据文件的传输。附图说明图1为本专利技术多源数据传输系统的架构示意图。具体实施方式下面结合附图和具体实施例对本专利技术做进一步详细说明。本专利技术多个数据源节点采用相同的纠删编码方法(如RaptorQ码)将待传输的数据分成多段,并进行编码获得数据远大于原始数据量的码字;然后分别向接收节点发送不同的码字避免重复传输;利用纠删编码,请求者只需收到足够多的码字后本文档来自技高网...

【技术保护点】
1.一种基于纠删编码的多源数据传输系统,其特征在于,包括控制器、数据存储者和数据请求者;/n(a)控制器:控制器作为资源文件的服务前端,接收数据请求者的数据传输请求,记录数据请求者的IP地址和发送该请求所用的UDP端口信息;然后向数据请求者回应所请求数据文件的大小、编码参数,或者返回资源不可用;/n(b)数据存储者:作为数据文件的实际持有者,同一个数据对象在会在多个存储者上存储多份,分散在集群中的不同节点上;该不同节点采用相同的纠删编码方案和参数对存储的数据进行编码,从而保证数据请求者从不同存储节点上获得编码后的码字能够解码获得原数据;/n数据存储者从控制器处获得任务信息后,采用UDP向数据请求者发送编码后的数据,并根据接收节点的反馈,调整发送的速率,并判断任务是否已经完成;/n(c)数据请求者:当需要获取某个数据时,数据请求者采用UDP协议向控制器发起请求,并在相同的端口上侦听控制器的反馈,以及数据存储节点所推送的编码后的数据;对于收到的每个码字,数据请求者立即向发送者发送反馈信息,表明所收到码字的编号,以及至少还需要该数据存储节点发送多少数据才能进行解码。/n

【技术特征摘要】
1.一种基于纠删编码的多源数据传输系统,其特征在于,包括控制器、数据存储者和数据请求者;
(a)控制器:控制器作为资源文件的服务前端,接收数据请求者的数据传输请求,记录数据请求者的IP地址和发送该请求所用的UDP端口信息;然后向数据请求者回应所请求数据文件的大小、编码参数,或者返回资源不可用;
(b)数据存储者:作为数据文件的实际持有者,同一个数据对象在会在多个存储者上存储多份,分散在集群中的不同节点上;该不同节点采用相同的纠删编码方案和参数对存储的数据进行编码,从而保证数据请求者从不同存储节点上获得编码后的码字能够解码获得原数据;
数据存储者从控制器处获得任务信息后,采用UDP向数据请求者发送编码后的数据,并根据接收节点的反馈,调整发送的速率,并判断任务是否已经完成;
(c)数据请求者:当需要获取某个数据时,数据请求者采用UDP协议向控制器发起请求,并在相同的端口上侦听控制器的反馈,以及数据存储节点所推送的编码后的数据;对于收到的每个码字,数据请求者立即向发送者发送反馈信息,表明所收到码字的编号,以及至少还需要该数据存储节点发送多少数据才能进行解码。


2.根据权利要求1所述的基于纠删编码的多源数据传输系统,其特征在于,控制器作为数据存储者的管理方,数据存储者上线后需要先向控制器注册,汇报所持有数据的情况;运行过程中数据存储者定期向控制器发送心跳信息报告存活状态,上报该当前传输任务的运行状态和完成进度信息。


3.根据权利要求1所述的基于纠删编码的多源数据传输系统,其特征在于,所述数据请求者在给定时间内没有收到控制器的确认反馈,则重试,直到收到或者重试次数超过设定次数;
若收到数据资源不可用,则结束;否则在发送请求所用的UDP端口上侦听数据存储者推送的编码后的数据,并周期性的向控制器发送文件的接收进度,以表明其在线;
对于暂停或者故障后再次请求数据的场景,数据请求者的请求消息中,除了包含所需文件的资源描述还包含已经收到的码字的情况。


4.一种基于权利要求1所述的基于纠删编码的多源数据传输系统的传输方法,其特征在于,包括以下步骤:
步骤1:多个数据源节点采用相同的纠删编码将待传输的数据分成多段并进行编码,...

【专利技术属性】
技术研发人员:罗寿西邢焕来李可
申请(专利权)人:西南交通大学
类型:发明
国别省市:四川;51

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

1