基于流媒体数据帧的对等网络数据调度方法

文档序号:7960740阅读:352来源:国知局
专利名称:基于流媒体数据帧的对等网络数据调度方法
技术领域
本发明属于网络技术领域。
背景技术
对等网络(Peer-to-Peer,简称P2P)技术是目前新一代互联网技术研究的一个热点,得到国内外学术界和工业界的广泛关注。美国的《财富》杂志更将其称为改变因特网发展的四大新技术之一。
传统的分布式系统的实现主要采取的是客户端-服务器模式,对等网络技术从根本上改变了这一模式。在采用对等网络技术实现的分布式系统里,每个结点即充当客户端又充当服务器,享用其它结点提供的服务同时也为其它结点提供服务。附图1给出了客户端-服务器模式和对等网络模式的基本对比。
对等网络技术具有以下几个方面的显著特点(1)非中心化系统中的资源和服务分散在各个结点上,信息的传递和服务的实现都直接在结点之间进行,可以无需中间环节和服务器的介入,避免了可能存在的瓶颈。非中心化是对等网络技术的基本特点,由此带来了其在可扩展性、健壮性等方面的优势。
(2)可扩展性在对等网络中,随着用户数的增加,服务的需求增加,但同时系统整体的资源和服务能力也得到扩充,始终能较容易的满足用户的需求,整个体系是全分布的,不存在瓶颈。理论上其可扩展性几乎可以认为是无限的。
(3)健壮性由于对等网络的服务是分散在各个结点之上的,部分结点或网络遭到破坏对其它部分的影响很小。对等网络通常是以自组织的方式建立起来,允许结点自由的加入和离开,一般能够在部分结点失效时自动恢复,具有耐攻击、高容错的优势。
(4)高性价比采用对等网络架构可以有效地利用互联网中散布的大量普通结点的计算、存储、网络资源,从而降低成本。
(5)负载均衡对等网络环境下每个结点既是服务器又是客户端,减少了对传统客户端-服务器结构中服务器计算、存储等能力的要求,由于资源分布在各个结点,更好的实现了整个网络的负载均衡。
与传统的分布式系统相比,对等网络技术具有无可比拟的优势,具有广阔的应用前景。互联网上各种对等网络应用软件层出不穷,用户数量急剧增加。对等网络技术正不断应用到军事领域、商业领域、政府信息、通讯等领域。根据具体应用不同,可以把对等网络分为以下这些类型提供文件和其它内容共享的对等网络,例如Napster、Gnutella、eDonkey、emule、BitTorrent等;挖掘对等网络对等计算能力和存储共享能力,例如Avaki、Popular Power等;基于对等网络方式的协同处理与服务共享平台,例如JXTA、Magi、Groove、.NET My Service等;即时通讯交流,包括ICQ、OICQ、Yahoo Messenger等;安全的对等网络通讯与信息共享,例如Skype、Crowds、Onion Routing等。
对等网络技术在最近几年获得了如此高速的发展,尤其是其与网络流媒体服务的结合必将会更加促进对等网络技术的发展,也必将带动网络流媒体服务的迅速发展。
对等网络技术应用于流媒体直播服务,需要解决的两大重要问题是拓扑结构的建立即成员管理方法和结点之间的数据调度方法。目前存在的以对等网络技术实现的流媒体直播系统,如DoNet、GridMedia等,其结点之间的数据调度方法的实现,调度粒度多是以秒为单位将流媒体数据拆分,然后进行数据调度。这样的方法存在着一些弱点,如重传效率低一秒钟内的数据如果部分丢失,那么这一秒的数据必须全部重传,浪费了很多网络带宽;服务效率低每个结点必须等待一秒钟的数据齐全以后,才能为其它结点提供这一秒的数据。为了弥补这些弱点,需要实现高效、可靠、低时延的基于流媒体数据帧的对等网络数据调度方法。

发明内容
本发明是为了更好的支持大规模网络流媒体直播系统,总结了现有的对等网络技术,并进行了详细的设计与优化,实现了可靠、高效、低时延的基于流媒体数据帧的对等网络数据调度方法。
本发明的特征在于该方法通过成员管理方法将系统的各个客户端结点分为三类首选结点、备用结点、普通结点;其中,首选结点直接从流媒体服务器获取数据,备用结点和普通结点是从相邻结点处获取数据,但当首选结点退出时,备用结点可以升级为首选结点;各个结点之间数据的传输采用的是用户数据报协议(UDP),传输的基本粒度是以流媒体数据帧为基础划分的UDP数据报文;相邻结点之间通过数据缓冲区索引信息的交互,以及周期性的数据调度操作成功的实现了可靠、高效率、低时延的基于流媒体数据帧的对等网络数据调度方法。
下面,将详细阐述系统中客户端结点的工作流程。
步骤1、客户端登录系统,完成成员管理方法步骤1.1、获取本结点的全局唯一编号;步骤1.2、确定本结点的结点类型首选结点、备用结点、普通结点;步骤1.3、维护本结点的数据源结点列表;
步骤1.4、如果是首选结点,见步骤2;步骤1.5、如果是备用结点或者普通结点,见步骤3;步骤2、首选结点的数据调度方法,附图1给出了首选结点的数据调度流程图,下面是详细工作流程步骤2.1、等待流媒体服务器发送给本结点的数据;步骤2.2、收到流媒体服务器发送的数据,放入自己对应的数据缓冲区中;步骤2.3、判断数据缓冲区中是否有丢失的数据报文;步骤2.3.1、如果有,则发送数据重传请求消息到流媒体服务器,转入2.1;数据重传请求消息<本结点的全局唯一编号(32bit)、消息类型(16bit)、保留字(16bit)、需要重传的数据报文数m(32bit)、需要重传的数据报文编号列表(m×32bit)>;步骤2.3.2、如果没有,转入2.1;步骤3、备用结点和普通结点的数据调度方法,通过周期性的操作和消息、数据的接收处理完成,附图2给出了普通结点的数据调度流程图,下面是详细工作流程步骤3.1、每隔一个设定的周期间隔(1秒钟),进行如下步骤的操作步骤3.1.1、查找本结点的数据缓冲区,获得尚未获得数据的起始帧的帧号FID以及下次数据调度所需的帧数N;步骤3.1.2、发送数据缓冲区索引信息请求消息到数据源结点列表中的所有结点;步骤3.2、收到其它结点的数据缓冲区索引信息请求消息,进行消息处理,会有以下步骤步骤3.2.1、返回带宽测量消息,其中保留字Z随机生成;带宽测量消息的组成<本结点的全局唯一编号(32bit)、消息类型(16bit)、保留字Z(16bit)>;步骤3.2.2、返回数据缓冲区索引信息请求反馈消息,其中保留字Z与步骤3.2.1相同;数据缓冲区索引信息请求反馈消息的组成<本结点的全局唯一编号(32bit)、消息类型(16bit)、保留字Z(16bit)、以帧号FID开始的连续N帧的本地数据缓冲区索引信息>;步骤3.3、收到其它结点A的带宽测量消息,进行消息处理,会有以下步骤步骤3.3.1、记录结点A的保留字为Z的带宽测量消息到达的时间T1,精确到毫秒;步骤3.4、收到其它结点A的数据缓冲区索引信息请求反馈消息,进行消息处理,会有以下步骤步骤3.4.1、更新该结点A在本结点的数据源结点列表中的缓冲区索引信息;步骤3.4.2、收到结点A的保留字为Z的该消息的时间为T2,精确到毫秒;步骤3.4.3、计算A到本结点的带宽Band=消息长度/(T2-T1),将结点A在本结点的数据源结点列表中的带宽值更新;步骤3.5、每隔一个设定的周期间隔(1秒钟),进行如下步骤的操作步骤3.5.1、获取自己缓冲区中尚未获得数据的、此次调度所需的1秒钟数据以及需要重传的数据报文编号列表,表项为<数据报文编号(32bit)、可能的数据源结点全局编号集合、选定的数据提供者结点全局编号(32bit)>;步骤3.5.2、在数据源结点列表中,为步骤3.5.1列表中每一个数据报文,依据缓冲区索引信息,寻找可能的数据源,如果该结点拥有该报文编号的数据,则将该结点加入到步骤3.5.1相应的可能的数据源结点全局编号集合中,直到全部列表搜索完毕;步骤3.5.3、把步骤3.5.1的列表按照每一个编号所拥有的可能的数据源结点的多少从小到大进行排序;步骤3.5.4、为排好序的列表中的每一个报文编号确定数据提供者;步骤3.5.4.1、如果可能的数据源结点全局编号集合只有一个结点,则该结点为这个报文的数据提供者;步骤3.5.4.2、如果集合同时有多个结点,选择这些结点中在数据源结点列表中带宽值最大的结点为这个报文的数据提供者,同时将该结点的带宽值减去一个报文的长度;步骤3.5.5、向选好的每个数据提供者结点发送数据请求消息,其中m为步骤3.5.4中选择该结点作为自己数据提供者的数据报文数;数据请求消息的组成<本结点的全局唯一编号(32bit)、消息类型(16bit)、保留字(16bit)、需要的数据报文数m(32bit)、需要的数据报文编号列表(m×32bit)>;步骤3.6、收到其它结点的数据请求消息,进行消息处理,会有以下步骤步骤3.6.1、从消息中获取需要的数据报文编号列表;步骤3.6.2、对列表中的各个报文编号逐一在本结点的缓冲区中寻找数据;步骤3.6.2.1、如果有数据,则将该数据报文发送给数据请求者;步骤3.7、收到其它结点发送的数据报文,放入自己对应的数据缓冲区中;


图1给出了首选结点的数据调度基本流程图;图2给出了普通结点的数据调度基本流程权利要求
基于流媒体数据帧的对等网络数据调度方法,其特征在于该方法通过成员管理方法将系统的各个客户端结点分为三类首选结点、备用结点、普通结点;其中,首选结点直接从流媒体服务器获取数据,备用结点和普通结点是从相邻结点处获取数据,但当首选结点退出时,备用结点可以升级为首选结点;各个结点之间数据的传输采用的是用户数据报协议(UDP),传输的基本粒度是以流媒体数据帧为基础划分的UDP数据报文;相邻结点之间通过数据缓冲区索引信息的交互,以及周期性的数据调度操作成功的实现了可靠、高效率、低时延的基于流媒体数据帧的对等网络数据调度方法;下面是客户端结点的主要工作步骤步骤1、客户端登录系统,完成成员管理方法步骤1.1、获取本结点的全局唯一编号;步骤1.2、确定本结点的结点类型首选结点、备用结点、普通结点;步骤1.3、维护本结点的数据源结点列表;步骤1.4、如果是首选结点,见步骤2;步骤1.5、如果是备用结点或者普通结点,见步骤3;步骤2、首选结点的数据调度方法步骤2.1、等待流媒体服务器发送给本结点的数据;步骤2.2、收到流媒体服务器发送的数据,放入自己对应的数据缓冲区中;步骤2.3、判断数据缓冲区中是否有丢失的数据报文;步骤2.3.1、如果有,则发送数据重传请求消息到流媒体服务器,转入2.1;数据重传请求消息<本结点的全局唯一编号(32bit)、消息类型(16bit)、保留字(16bit)、需要重传的数据报文数m(32bit)、需要重传的数据报文编号列表(m×32bit)>;步骤2.3.2、如果没有,转入2.1;步骤3、备用结点和普通结点的数据调度方法,通过周期性的操作和消息、数据的接收处理完成步骤3.1、每隔一个设定的周期间隔(1秒钟),进行如下步骤的操作步骤3.1.1、查找本结点的数据缓冲区,获得尚未获得数据的起始帧的帧号FID以及下次数据调度所需的帧数N;步骤3.1.2、发送数据缓冲区索引信息请求消息到数据源结点列表中的所有结点;步骤3.2、收到其它结点的数据缓冲区索引信息请求消息,进行消息处理,会有以下步骤步骤3.2.1、返回带宽测量消息,其中保留字Z随机生成;带宽测量消息的组成<本结点的全局唯一编号(32bit)、消息类型(16bit)、保留字Z(16bit)>;步骤3.2.2、返回数据缓冲区索引信息请求反馈消息,其中保留字Z与步骤3.2.1相同;数据缓冲区索引信息请求反馈消息的组成<本结点的全局唯一编号(32bit)、消息类型(16bit)、保留字Z(16bit)、以帧号FID开始的连续N帧的本地数据缓冲区索引信息>;步骤3.3、收到其它结点A的带宽测量消息,进行消息处理,会有以下步骤步骤3.3.1、记录结点A的保留字为Z的带宽测量消息到达的时间T1,精确到毫秒;步骤3.4、收到其它结点A的数据缓冲区索引信息请求反馈消息,进行消息处理,会有以下步骤步骤3.4.1、更新该结点A在本结点的数据源结点列表中的缓冲区索引信息;步骤3.4.2、收到结点A的保留字为Z的该消息的时间为T2,精确到毫秒;步骤3.4.3、计算A到本结点的带宽Band=消息长度/(T2-T1),将结点A在本结点的数据源结点列表中的带宽值更新;步骤3.5、每隔一个设定的周期间隔(1秒钟),进行如下步骤的操作步骤3.5.1、获取自己缓冲区中尚未获得数据的、此次调度所需的1秒钟数据以及需要重传的数据报文编号列表,表项为<数据报文编号(32bit)、可能的数据源结点全局编号集合、选定的数据提供者结点全局编号(32bit)>;步骤3.5.2、在数据源结点列表中,为步骤3.5.1列表中每一个数据报文,依据缓冲区索引信息,寻找可能的数据源,如果该结点拥有该报文编号的数据,则将该结点加入到步骤3.5.1相应的可能的数据源结点全局编号集合中,直到全部列表搜索完毕;步骤3.5.3、把步骤3.5.1的列表按照每一个编号所拥有的可能的数据源结点的多少从小到大进行排序;步骤3.5.4、为排好序的列表中的每一个报文编号确定数据提供者;步骤3.5.4.1、如果可能的数据源结点全局编号集合只有一个结点,则该结点为这个报文的数据提供者;步骤3.5.4.2、如果集合同时有多个结点,选择这些结点中在数据源结点列表中带宽值最大的结点为这个报文的数据提供者,同时将该结点的带宽值减去一个报文的长度;步骤3.5.5、向选好的每个数据提供者结点发送数据请求消息,其中m为步骤3.5.4中选择该结点作为自己数据提供者的数据报文数;数据请求消息的组成<本结点的全局唯一编号(32bit)、消息类型(16bit)、保留字(16bit)、需要的数据报文数m(32bit)、需要的数据报文编号列表(m×32bit)>;步骤3.6、收到其它结点的数据请求消息,进行消息处理,会有以下步骤步骤3.6.1、从消息中获取需要的数据报文编号列表;步骤3.6.2、对列表中的各个报文编号逐一在本结点的缓冲区中寻找数据;步骤3.6.2.1、如果有数据,则将该数据报文发送给数据请求者;步骤3.7、收到其它结点发送的数据报文,放入自己对应的数据缓冲区中。
全文摘要
本发明的名称为基于流媒体数据帧的对等网络数据调度方法,属于网络技术领域;其特征在于该方法通过成员管理方法将系统的各个客户端结点分为三类首选结点、备用结点、普通结点;其中,首选结点直接从流媒体服务器获取数据,备用结点和普通结点是从相邻结点处获取数据,但当首选结点退出时,备用结点可以升级为首选结点;各个结点之间数据的传输采用的是用户数据报协议(UDP),传输的基本粒度是以流媒体数据帧为基础划分的UDP数据报文;相邻结点之间通过数据缓冲区索引信息的交互,以及周期性的数据调度操作成功的实现了可靠、高效率、低时延的基于流媒体数据帧的对等网络数据调度方法。
文档编号H04L12/56GK1937553SQ20061007885
公开日2007年3月28日 申请日期2006年5月11日 优先权日2006年5月11日
发明者尹浩, 邱锋 申请人:蓝汛网络科技(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1