一种用于点对点网络的数据传输方法

文档序号:7755953阅读:179来源:国知局
专利名称:一种用于点对点网络的数据传输方法
技术领域
本发明涉及网络通信技术领域的一种数据传输方法,尤其涉及一种用于点对点网 络的数据传输方法。
背景技术
近年来,对等网络(Peer-to-Peer,P2P)成为网络界关注的热门话题之一,P2P网 络在提高资源利用率、扩展服务能力等方面具有潜在优势。P2P网络能利用以往被忽视的众 多普通节点的资源,是一种性价比良好的服务体系。传统的P2P网络中待发送的数据流被分成多个数据段,接收节点可以从不同的种 子节点分别接收不同的数据段,以组成完整的数据流,同时接收节点也作为其他节点的种 子节点。每个中间节点只是单纯的转发数据段,不对数据段进行任何处理。现有的P2P网络数据传输技术占用带宽较多,且延时长,并且当某一个种子节点 退出系统后,会影响其他节点的接收,鲁棒性不高。

发明内容
本发明要解决的技术问题是针对现有技术存在的缺陷提出一种点对点网络数据 传输方法。本发明一种用于点对点网络的数据传输方法,其特征在于包括数据发送方法和数 据接收方法,所述的数据发送方法包括如下步骤a)点对点网络中待发送数据按照比特位置从低到高被平均分成多个数据段,每个 数据段再按比特位置从低到高被平均分成k个原始数据块,每个数据段由多个种子节点转 发;b)种子节点从k个数据块中随机选取m个原始数据块,再从有限域体中随机选取 m个编码系数,m小于等于k;c)将选取的m个数据块分别和m个编码系数相乘之后再相加进行编码,得到编码 后的数据块;d)种子节点把该数据段标识和m个编码系数放在编码后数据块的首部,与编码后 的数据块一起转发出去;所述的数据接收方法包括如下步骤1.)接收节点收到编码后的数据块后,首先从编码后的数据块首部的数据段标识 判断该数据块所属的数据段,如果属于已解码的数据段,则丢弃该数据块,如果属于未解码 的数据段,则把该数据块放入该数据段的解码缓冲区;2.)当解码缓冲区收到属于同一个数据段的k个编码后的数据块,且这k个数据块 首部的编码系数互不相关,则开始解码;否则回到步骤1)继续接收数据;3.)解码的过程即为编码过程的逆过程,利用k个数据块首部的编码系数,用高斯 消元法解出k个原始数据块;
4.)把k个解码后的数据块重新组成一个数据段,完成接收过程,其中k和m都为 大于1的自然数。本发明中的P2P网络数据传输技术,使用了网络编码技术,即网络中的种子节点 不仅仅转发数据,还对数据进行处理,从而提高数据传输速率,增强系统的鲁棒性。并且由 于使用了网络编码,当某一节点退出系统后,由于节点之间的数据是独立传输,并没有相互 依赖关系,因此并不影响其他节点的传输,也不需要发送节点进行重新调整,简化了设计, 提高了传输的稳定性。


图1 本发明各节点关系图;图2 本发明传输数据块结构示意图;图3 本发明数据发送方法流程图;图4 本发明数据接收方法流程图。
具体实施例方式如图1所示。本发明方法中各节点之间的关系图。1、2和3为种子节点,发送编码 后的数据块给接收节点4。2和3之间的省略号表示有多个种子节点发送数据,图中进行了 省略,即接收节点可以从多个种子节点接收数据块。1和3指向其他方向的箭头表示,种子 节点可以同时传输数据给多个接收节点。如图2所示,是本发明传输的数据块结构图。待发送数据段被分成k个原始数据 块,传输的数据块是经过网络编码后的数据块。由三个字段组成,数据段标识表示该编码后 的数据块属于哪个数据段,编码系数表示该数据块是由哪些编码系数与原始数据块编码得 到的,第三个字段是编码后的数据。如图3所示,本发明数据发送方法流程图。数据发送方法包括如下步骤a)点对点网络中待发送数据按照比特位置从低到高被平均分成多个数据段,每个 数据段再按比特位置从低到高被平均分成k个原始数据块,每个数据段由多个种子节点转 发;b)种子节点从k个数据块中随机选取m个原始数据块,再从有限域体中随机选取 m个编码系数,m小于等于k;c)将选取的m个数据块分别和m个编码系数相乘之后再相加进行编码,得到编码 后的数据块;d)种子节点把该数据段标识和m个编码系数放在编码后数据块的首部,与编码后 的数据块一起转发出去;如图4所示,本发明数据接收方法流程图。数据接收方法包括如下步骤1.)接收节点收到编码后的数据块后,首先从编码后的数据块首部的数据段标识 判断该数据块所属的数据段,如果属于已解码的数据段,则丢弃该数据块,如果属于未解码 的数据段,则把该数据块放入该数据段的解码缓冲区;2.)当解码缓冲区收到属于同一个数据段的k个编码后的数据块,且这k个数据块 首部的编码系数互不相关,则开始解码;否则回到步骤1)继续接收数据;
4
3.)解码的过程即为编码过程的逆过程,利用k个数据块首部的编码系数,用高斯 消元法解出k个原始数据块;4.)把k个解码后的数据块重新组成一个数据段,完成接收过程,其中k和m都为 大于1的自然数。
权利要求
一种用于点对点网络的数据传输方法,其特征在于包括数据发送方法和数据接收方法,所述的数据发送方法包括如下步骤a)点对点网络中待发送数据按照比特位置从低到高被平均分成多个数据段,每个数据段再按比特位置从低到高被平均分成k个原始数据块,每个数据段由多个种子节点转发;b)种子节点从k个数据块中随机选取m个原始数据块,再从有限域体中随机选取m个编码系数,m小于等于k;c)将选取的m个数据块分别和m个编码系数相乘之后再相加进行编码,得到编码后的数据块;d)种子节点把该数据段标识和m个编码系数放在编码后数据块的首部,与编码后的数据块一起转发出去;所述的数据接收方法包括如下步骤1.)接收节点收到编码后的数据块后,首先从编码后的数据块首部的数据段标识判断该数据块所属的数据段,如果属于已解码的数据段,则丢弃该数据块,如果属于未解码的数据段,则把该数据块放入该数据段的解码缓冲区;2.)当解码缓冲区收到属于同一个数据段的k个编码后的数据块,且这k个数据块首部的编码系数互不相关,则开始解码;否则回到步骤1)继续接收数据;3.)解码的过程即为编码过程的逆过程,利用k个数据块首部的编码系数,用高斯消元法解出k个原始数据块;4.)把k个解码后的数据块重新组成一个数据段,完成接收过程,其中k和m都为大于1的自然数。
全文摘要
本发明公布了一种用于点对点网络的数据传输方法,属于网络通信技术领域。本发明方法基于随机网络编码技术,包括数据发送方法和数据接收方法,所述数据发送方法在发送数据前,先用随机网络编码的方法对数据进行处理;所述数据接收方法在接收时进行相应的解码。该发明使网络中的种子节点不仅仅转发数据,还对数据进行处理,从而提高数据传输速率,增强系统的鲁棒性,并且当某一节点退出网络后,并不影响其他节点的传输,提高了传输的稳定性。
文档编号H04L1/00GK101917468SQ20101024388
公开日2010年12月15日 申请日期2010年8月3日 优先权日2010年8月3日
发明者刘山川, 刘镇, 张向勇, 林恋, 钱萍 申请人:江苏科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1