一种重叠网络及其构建方法

文档序号:7660521阅读:178来源:国知局

专利名称::一种重叠网络及其构建方法
技术领域
:本发明涉及网络通信领域,特别涉及一种适用于多源对等网络流媒体直播系统的重叠网络及其构建方法,以及该重叠网络中对等节点的发现方法和该重叠网络中的用户节点。
背景技术
:随着互联网的广泛普及和多媒体技术的不断成熟,如何在Internet上向大规模并发用户群提供高质量的流媒体直播服务已经成为促进互联网发展的关键应用。最近几年,研究者提出了基于对等网络技术(P2P,Peer-to-Peer)的流媒体直播系统。其基本思想是,把与IP组播相关的数据路由、复制、转发等功能转移到成员主机(用户节点)的应用层(而不是路由器)实现,在用户节点之间构建一个实现组播功能的重叠网络。作为当前最热门的互联网技术,基于对等网络的流媒体直播系统已经被广泛应用于各种领域,例如视频会议(ESM应用软件)、网络电视(PPLive应用软件、PPstream应用软件)等。根据其源节点提供数据的方式,基于对等网络的流媒体直播系统可分为两种单源流媒体直播系统和多源流媒体直播系统。参见图l,单源流媒体直播系统是指所有转播用户节点和流媒体服务器构成一棵组播树来进行数据传输。流媒体服务器以及接收/提供相同频道内容的用户节点称为对等节点。每个对等节点既是数据的接收者,也是数据的提供者。流媒体服务器是一个特殊的节点,只作为数据的提供者,称为源节点。单源流媒体直播系统构成的树结构中的每个对等节点有且只有一个数据源提供者,即流媒体服务器。图1中,粗实线表示数据的流动方向。参见图2,多源流媒体直播系统是指所有转播用户节点和流媒体服务器构成一个网状(Mesh)结构来进行数据传输。网状结构上的每个对等节点可以同时具有多个数据源提供者,接收者分别向不同数据源请求不同的数据块。多源系统通过多个数据源联合提供数据给单个接收者,不仅可以有效提高每个用户节点的接收质量,而且能够缓解对等网络中由于用户节点频繁加入/退出导致的动态性问题。多源流媒体直播系统的典型代表是香港科技大学张欣研等人提出的DONet(DataDrivenOverlayNetwork,数据驱动的重叠网络)。在D0Net中,对等节点信息的维护和管理如下在DONet中每个节点都具有一个全局唯一的标识符(例如IP地址),同时维护一个缓存mCache,用以存储系统中其它对等节点的信息。每个节点会和raCache中维护的其它某些对等节点建立协作关系,这些建立协作关系的对等节点称为伙伴节点。在动态系统中,为了创建和维护mCache,每个节点需要周期性地发送宣告自己存活的消息,消息格式为(se《—"w/w,/c,www_;ar加er,"me—to一//ve),其中se《—wtww是消息的序歹lj号,W是节点的标识,聰w—戸r"^是节点的伙伴数,"'柳—to—/z've是该消息剩余的生存时间。当节点收到一个新的成员信息时,它会在mCache中找到对应/j的成员信息记录,如果w《—m^7大于记录中的化《—则更新此条记录。如果没有找到对应W的记录,则在mCache中添加一条记录存储该成员信息。在mCache中,每条成员信息记录包含5项yeg_ww/w,,wm/w—/wr"/er,h'/we——//ve,/"W—w/7i/a^—。D0Net中节点信息维护的一个关键问题是如何创建和更新mCache。尽管D0Net与传统基于gossip的方案相比是一个轻量级可扩展的协议,即每个节点只维护系统中部分对等节点的信息,但是可以看到随着加入系统时间的增加,每个节点维护的mCache中对等节点的个数会随之增加,从而导致内存开销增加。此外,D0Net中每个节点周期性地发送宣告自己存活的membership消息扩散带来的控制开销也较大,并且SCAM协议的实现复杂度也较高。在D0Net中,当有新用户节点加入时,它首先与源节点建立连接(Contact),源节点从本地维护的mCache中随机选择一个节点作为代理节点(d印uty),把新用户节点的加入请求转发给该代理节点,新用户节点从代理节点处获得伙伴节点信息,并与这些伙伴节点交换数据有效性信息,进行数据传输。由于采用随机选择代理节点和伙伴节点而没有考虑节点的传输性能,可能使得新用户节点初始时选择的伙伴节点的传输性能较差,从而导致总的接收带宽不能满足流媒体的传输要求。为了提高节点的接收质量,D0Net中每个节点会周期性地从其mCache中随机选择一组节点作为新的伙伴节点重新建立伙伴关系,以探测具有更好传输性能的节点。该优化选择机制虽然能够一定程度上改善接收质量,但是会周期性地引入控制开销,而且受到SCAM协议本身特点的限制,由于节点信息是按概率转发和维护的,寻找具有更好传输性能节点的过程比较缓慢。
发明内容为了使重叠网络在启动初期具有较好的传输性能,便于扩展且加快发现对等节点速度,本发明实施例提供了一种重叠网络及其构建方法、对等节点的发现方法以及用户节点。所述技术方案如下一种重叠网络的构建方法,所述方法包括以下步骤为每个直播频道创建一个转播节点列表,在所述转播节点列表中维护所述直播频道对应的部分对等节点信息;为每个直播频道创建一个分布式哈希表环,在所述分布式哈希表环上通过每个对等节点的分布式指针表维护所述直播频道对应的所有对等节点信息。一种重叠网络中对等节点的发现方法,所述方法包括以下步骤希望接收某个频道数据的新用户节点向转播节点列表査找该频道对应的对等节点信息;所述新用户节点接收到根据度量参数选择的所述频道对应的转播节点列表中的优选对等节点信息,对所述优选节点进行性能探测后,把所述优选对等节点作为备选父节点;所述新用户节点根据多参数父节点选择策略,从所述备选父节点中选择满足系统性能要求的最少数量的优选对等节点作为父节点,并向所述父节点分别发起对不同数据块的传输请求。一种重叠网络,所述重叠网络包括目录服务器、流媒体服务器和用户节点;所述目录服务器用于为每个直播频道创建一个转播节点列表,所述转播节点列表中维护所述直播频道对应的部分对等节点信息;所述流媒体服务器和用户节点构成分布式哈希表环,每个直播频道对应一个分布式哈希表环,在所述分布式哈希表环上通过每个对等节点的分布式指针表维护所述直播频道对应的所有对等节点信息。一种重叠网络中的用户节点,所述用户节点包括对等节点査找模块、备选父节点存储模块和父节点选择模块;所述对等节点查找模块用于向目录服务器查找希望接收的频道数据对应的转播节点列表中的优选对等节点信息,并将所述优选对等节点信息发送到所述备选父节点存储模块;所述备选父节点存储模块用于在接收到所述优选对等节点信息,对所述优选节点进行性能探测后,存储所述优选对等节点信息;所述父节点选择模块用于根据多参数父节点选择策略,从所述备选父节点存储模块中选择满足系统性能要求的最少数量的优选对等节点作为父节点,并向所述父节点分别发起对不同数据块的传输请求。本发明实施例采用混合的对等节点维护机制,通过分布式哈希表环按一定规则分布式地维护全部对等节点信息,当用户节点数目增加时,内存开销不会急剧增加,提高了系统的扩展性。由于分布式哈希表环是结构化分布式的维护,相对于DONet的非结构化的维护方式,维护开销是受控的,使维护开销保持在较低的等级。通过在目录服务器上集中式地维护部分优选节点的信息,加快了新用户节点发现其它对等节点信息的速度,縮短了系统的启动延时,并且用户节点在启动初期就能获得较好的接收质量。由于用户节点只在加入系统时才从目录服务器获取对等节点信息,因此能够有效避免目录服务器成为系统的单点瓶颈。图1是现有技术提供的单源对等网络流媒体直播系统示意图2是现有技术提供的多源对等网络流媒体直播系统示意图3是本发明实施例1提供的重叠网络构建方法的流程图4是本发明实施例1提供的对等节点信息混合维护模式的结构示意图5是本发明实施例1提供的节点数为6的DHT环的示意图6是本发明实施例1提供的新用户节点加入DHT环的时序示意图7是本发明实施例1提供的新用户节点(N=20)加入DHT环后的结构示意图8是本发明实施例2提供的对等节点的发现方法的流程图9是本发明实施例2提供的多参数父节点选择策略方法的流程图10是本发明实施例3提供的重叠网络的结构示意图11是本发明实施例4提供的重叠网络中的用户节点结构示意图。具体实施例方式为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。实施例1本发明实施例提供了一种用于多源对等网络流媒体直播系统的重叠网络的构建方法,包括为每个直播频道创建一个转播节点列表,在转播节点列表中维护直播频道对应的部分对等节点信息;为每个直播频道创建一个分布式哈希表环,在分布式哈希表环上通过每个对等节点的分布式指针表维护直播频道对应的所有对等节点信息。在该重叠网络构建方法中,对等节点信息的维护和发现机制可以采用基于一个结合了目录服务器和DHT(DistributedHashTable,分布式哈希表)环的网络架构。在该架构下,对等节点信息采用混合的维护模式,它包括在目录服务器上集中式地维护部分优选对等节点的信息,以及为每个直播频道创建一个DHT环,用户节点根据所希望接收的频道分别加入不同的DHT环,在DHT环上通过每个对等节点的分布式指针表,分布式地维护所有对等节点信息。参见图3,上述方法具体步骤如下步骤101:设置目录服务器,在目录服务器上,为其上所发布的每个频道,创建并维护一个正在转播该频道数据的部分优选对等节点信息的列表,称为转播节点列表。当一个流媒体服务器希望向Internet用户节点提供流媒体服务时,它需要把所发布频道的相关信息向目录服务器注册,也就是把频道信息(频道名称、内容介绍、创建时间、编码速率)和本节点信息(IP地址、端口号、上行链路带宽、子节点数、存活时间)发送给目录服务器。当目录服务器接受该流媒体服务器的注册以后,会把发布频道的相关信息在Web上显示出来,以提供给用户节点査看和点击。参见图4,本发明实施例提供的多源对等网络流媒体直播系统的重叠网络的构建方法中用于对等节点信息混合维护模式的结构示意图。图4中目录服务器的IP地址是众所周知的固定地址(例如202.38.72.133)。目录服务器为在本机上注册的每个频道创建一个转播节点列表,用以存储正在转播该频道的优选的部分对等节点信息。参见表1,该表内容中,上半部分包括流媒体服务器及该频道对应的用户节点的节点信息,下半部分包括流媒体服务器向目录服务器注册的频道信息。表l<table>tableseeoriginaldocumentpage10</column></row><table>在转播节点列表的创建过程中,首先获知的是提供每个频道的流媒体服务的流媒体服务器,然后新加入的用户节点需要向目录服务器请求,当目录服务器获知的对等节点数目超过转播节点列表所能维护的最大节点数目时,就不再接收新的用户节点。步骤102:为每个直播频道创建一个分布式哈希表环,在分布式哈希表环上维护直播频道对应的所有对等节点信息,分布式哈希表环上的每个对等节点通过分布式指针表实现对等节点信息的维护。由所有接收相同频道的对等节点(包括流媒体服务器)自组织成一个环状结构,称为DHT环,环上的每个对等节点通过分布式指针表的形式实现对部分对等节点信息的维护,DHT环上所有节点联合起来就维护了所有节点的信息。参见图4中的DHT环1,是由所有接收频道1的对等节点(包括频道1的服务器)自组织而成,环上的每个对等节点都维护一个指针表,正是通过指针表的形式实现对对等节点信息的分布式维护。其中,指针表的存储规则如下节点标识符为N,则指针表中第1项维护的是圆环上节点标识符大于或等于N+^的第一个对等节点(以2"*为模)的信息,以此类推,指针表中第i项维护的是圆环上节点标识符大于或等于N+2"的第一个对等节点的信息。参见表2,指针表中每个对等节点维护如下参数该节点对应的节点标识符、IP地址、端口号、上行链路带宽、存活时间、子节点数目。表2<table>tableseeoriginaldocumentpage11</column></row><table>参见图5,提供了一个n=6的DHT环的示例,环中分布了6个节点,并给出了节点标识符N-20的对等节点的指针表,例如N=41的对等节点是环上紧接在N=20+2。)mod26=21之后的第一个节点,所以Nz20的对等节点所维护的指针表的第l项是N:41的对等节点的信息;同理,因为N=63的对等节点是环上节点标识符大于或等于N-(20+2s)mod2e-52的第一个节点,所以N=20的对等节点所维护的指针表的第6项是N=63的对等节点的信息。其中,N=41,N=63的对等节点都称为N-20的对等节点的后继节点,N=41的对等节点又称为第l后继节点。参见图6,提供了具体的新用户节点(202.38.75.11)加入DHT环的时序图,假设DHT环11上已有5个对等节点。'(1)新用户节点(202.38.75.11)登录到目录服务器(202.38.72.133)进行査找,并请求相关fe息;(2)目录服务器把该频道对应的转播节点列表中的对等节点信息<202.38.64.62、202.38.64.10、210.45.121.107、211.86.149.94、148.233.229.235>返回给新用户节点;(3)新用户节点使用哈希函数哈希自己的IP地址(202.38.75.11)得到本节点的节点标识符N:20,然后随机选择一个节点^=43,1=202.38.64.10)作为搜索起始节点,向其发起搜索请求,搜索节点标识符为关键字(key=21,22,24,28,36,52)的后继节点信息;(4)N43在收到请求后,首先判断搜索关键字key=21,22,24,28,36,52位于本节点标识符N43与第1后继节点标识符N46所标识的区间之外,于是查找指针表,发现key=21,22,24,28,36位于N63和N41标识的区间之内(过DHT环的NO点),于是把对key=21,22,24,28,36的搜索请求转交给N63,而key=52位于N46和N63标识的区间之内,于是把对key=52的搜索请求转交给N46;(5)N63收到对key=21,22,24,28,36的搜索请求,查找指针表,发现key=21,22,24,28,36位于N5和N41标识的区间之内,于是把搜索请求转交给N5,N5发现key=21,22,24,28,36位于N5和它的第1后继节点N41标识的区间内,于是把N41作为key=21,22,24,28,36的后继节点信息返回给新用户节点;同样,N46发现key二52位于N46和它的第l后继节点N63标识的区间内,于是把N63作为key=52的后继节点信息返回给新用户节点;(6)新用户节点在收到返回的后继节点信息以后,初始化本地指针表key-21,22,24,28,36—N41,key=52—N63;'(7)新用户节点向N41和N63分别发送应答消息,请求这些后继节点经将自己的信息加入它们所维护的反向指针表;(8)N41和N63在收到应答消息以后,把N20的信息加入到自己维护的反向指针表中;(9)N41和N63向N20发出反向确认;(10)N20在第一次收到后继节点发来的反向确认消息以后,查找指针表中第1后继节点的信息N41,向其发出查找消息;(11)N41在收到査找消息以后,判断N20是自己的新前驱节点,于是査找自己反向指针表中的所有节点〈N5,N41,N43,N46,N63〉,向这些节点发出更新请求,把N20的信息告诉这些节点;(12)N5收到更新消息后,査看指针表,发现需要把key:6,7,9,13对应的后继节点信息更新为N20;同样N41发现需要把key=9对应的后继节点信息更新为N20;N43发现需要把key=ll对应的后继节点信息更新为N20;N46发现需要把key=14对应的后继节点信息更新为N20;N63发现需要把key=15对应的后继节点信息更新为N20;(13)N5,N41,N43,N46,N63发现N20是指针表中新出现的节点,于是通知N20把自己加入N20维护的反向指针表;(14)N41、N43、N46分别发现N41从自己的指针表中消失,于是通知N41把N41、N43、N46从N41维护的反向指针表中删除。参见图7,提供了新用户节点(N=20)加入DHT环后的结构示意图。上述两个步骤实现了对等节点信息的混合维护模式,除了由目录服务器集中式地维护部分优选对等节点的信息之外,还通过一个环状结构(DHT环)来对所有对等节点的信息进行分布式维护。其中每个频道对应一个DHT环,每个环都与目录服务器保持连接。步骤103:探测分布式哈希表环上维护的对等节点信息,根据度量参数更新转播节点列表。由于在目录服务器上,为每个频道都维护一个转播节点列表,每当新用户节点加入时都首先获得转播节点列表中维护的对等节点信息。如果始终保持这些对等节点的信息不变,将可能使这些节点成为潜在的性能瓶颈。采用选择策略根据度量参数来更新每个频道的转播节点列表。其具体步骤如下-(1)目录服务器每隔一个定时周期,就从转播节点列表中随机选择一个对等节点作为目标节点,向其发出更新请求;(2)目标节点收到请求后,把本节点维护的所有对等节点信息,即本节点的本地指针表、反向指针表、备选父节点列表中维护的所有对等节点信息返回给目录服务器;(3)对于目录服务器来说,若新获知的对等节点数目到达要求(例如10个),则停止探测,并按照选择策略,即选择度量参数对所有获知的节点进行排序,把性能较差的对等节点的信息从转播节点列表中删除,对转播节点列表进行更新;若未达到要求,则重复上述步骤(1)(2)直到新获知的对等节点数目满足要求或者重复次数达到设定要求为止。其中,使用以下参数或这些参数的组合作为选择策略的度量参数(1)转播用户节点的存活时间,即该用户节点接收这个频道的时间长度,建议保留存活时间较长的转播用户节点;(2)转播用户节点的上行链路带宽,即该用户节点能够为其他用户节点提供数据传输的带宽,建议保留上行链路带宽较大的转播用户节点;(3)转播用户节点的上行链路带宽与子节点数目的比值,即扇出带宽,扇出带宽越大,说明转播用户节点能提供给其每个子节点的输出带宽越大,传输性能越好,因此建议保留扇出带宽较大的转播用户节点。实施例2本发明实施例提供了一种重叠网络中对等节点的发现方法,包括-希望接收某个频道数据的新用户节点向转播节点列表査找该频道对应的对等节点信息;新用户节点接收到根据度量参数选择的频道对应的转播节点列表中的优选对等节点信息,对优选节点进行性能探测后,把优选对等节点作为备选父节点;新用户节点根据多参数父节点选择策略,从备选父节点中选择满足系统性能要求的最少数量的优选对等节点作为父节点,并向父节点分别发起对不同数据块的传输请求。参见图8,本实施例提供的一种重叠网络中对等节点的发现方法的具体实施步骤-步骤201:新用户节点希望接收某个频道的数据时,登录到目录服务器查找该频道对应的对等节点信息,以获取合适转播节点。步骤202:新用户节点在接收到目录服务器根据度量参数选择的频道对应的转播节点列表中的优选对等节点信息后,对获知的M个对等节点分别进行性能探测。其中,在实际情况中,为了防止多个节点突然离开的现象,一般转播节点列表维护的节点数目较多,例如40个或者更多,而返回给新用户节点的节点数目一般较少,例如10个。其中,性能参数包括对等节点存活时间,节点间的端到端延时,对等节点的上行链路带宽,子节点数目等。步骤203:新用户节点在探测到上述性能参数后,把这些信息存入自己的备选父节点列表中。新用户节点可获知当前网络上活跃的其它对等节点的信息。其中,由于对等网络中的节点可能会频繁地加入和退出,各节点的性能也可能动态变化,因此用户节点需要对本地维护的备选父节点列表进行周期更新,在本发明实施例中,可以采用一种关联查询策略,使用户节点可以从DHT环上搜索到更多的活跃对等节点的信息。具体步骤如下(1)用户节点从备选父节点列表中随机选择一个节点作为目标节点,向其发出査询请求;(2)目标节点收到请求后,把自己指针表中维护的所有对等节点信息返回给用户节点;(3)对于用户节点来说,若新获知的对等节点数目到达要求,则停止探测;若未达到要求,则重复步骤(l)(2)直到新获知的对等节点数目满足要求或者迭代搜索次数达到限制值为止。(4)当用户节点获知的对等节点数目小于备选父节点列表所能维护的最大节点数目,则将新获知的对等节点加入到备选父节点列表;当用户节点获知的对等节点数目超过备选父节点列表所能维护的最大节点数目,需要按照实施例1提供的选择策略对应的度量参数(如对等节点的上行链路带宽与子节点数目的比值,即扇出带宽)对这些节点的性能进行评估,根据评估结果,将性能较差的节点从备选父节点列表中删除。用户节点只在加入系统时才从目录服务器获取对等节点信息,其它时候可以通过本步骤中对备选父节点列表的更新方法,在DHT环上探测对等节点信息,因此能够有效避免目录服务器成为系统的单点瓶颈。由于采用了关联查询方式,査询方式简单,能够保持较低的査询开销。步骤204:新用户节点从本地维护的备选父节点列表中,按照多参数父节点选择策略,选择满足系统性能要求的最少数量的优选对等节点作为父节点数,即选择出MIN个对等节点存入一个本地维护的父节点列表,作为自己的数据源提供者。步骤205:新用户节点把这MIN个对等节点作为父节点,分别发起对不同数据块的传输请求。用户节点在与MIN个对等节点分别建立数据传输连接以后,还可以发起对父节点进行的优化选择。同时对MIN个连接进行性能监控,当发生异常情况时,例如,监测到MIN个连接的总的接收速率不满足流媒体的性能要求,用户节点会通过多参数父节点选择策略,从备选父节点列表中选择对等节点,逐一增加父节点数目,直到传输速率满足要求,或者重新选择新的父节点以代替原有的父节点。其基本步骤如下(1)用户节点在与多个父节点建立连接后,会对每个连接的数据传输速率进行监控;(2)若在监控周期内检测到总的接收速率没有到达该频道要求的传输速率时,并且父节点数目小于系统允许的最大父节点数MAX,则根据多参数父节点选择策略从备选父节点列表中选择一个新的对等节点加入父节点列表,同时建立一条新的数据传输连接;(3)若父节点数目已经达到MAX,则用户节点从备选父节点列表中选择一个新的对等节点并建立连接,若在下一个监控周期内,新连接的传输速率高于旧连接中最小的传输速率,则把新对等节点代替最小传输速率对应的父节点,然后更新相应的父节点列表。当监测到某个父节点的数据传输速率显著下降(可能由节点崩溃或者网络拥塞等多种原因造成),并且在一段时间内没有恢复,则会从备选父节点列表中重新选择一个新的对等节点来代替该节点,将该节点从自己的备选节点列表中删除。上述多参数父节点选择策略如下,选取第一度量参数,将备选父节点根据第一度量参数的性能顺序排列;比较按序排列的相邻两个备选父节点的第一度量参数,如果相邻两个备选父节点的第一度量参数的差值大于预先设定的第一度量参数门限值,则选择第一度量参数较大的备选父节点作为父节点,否则,从选择策略中选取第二度量参数,比较相邻两个备选父节点的第二度量参数;如果相邻两个备选父节点的第二度量参数的差值大于预先设定的第二度量参数门限值,则选择第二度量参数较大的备选父节点作为父节点,否则,选择第一度量参数较大的备选父节点作为父节点。参见图9,下面以一个具体实施例对上述多参数父节点选择策略进行阐述。每个备选父节点P(i)由一个3元组标识〈IP(i),Bc(i),T(i)〉。其中,i是任一正整数,用以标号区别备选父节点,IP(i)是备选父节点的IP地址,Bc(i)是备选父节点的扇出带宽,作为第一度量参数,T(i)是备选父节点的存活时间,作为第二度量参数,N为备选节点数目,ABc、△T均为预先设定的门限值。步骤301:计算所有备选父节点的扇出带宽Bc(i),并以Bc(i)为度量参数,把备选父节点按序排列P(j),其中j的取值范围为l至N。在本具体实施例中,以备选父节点根据度量参数扇出带宽值按降序排列为例。步骤302:设置参数j,使其初始数值为l。步骤303:比较两个备选父节点P(j)和P(j+1)的扇出带宽Bc(j)和Bc(j+1),判断Bc(j)-Bc(j+1)是否大于ABc,若是,则说明备选父节点P(j)的扇出带宽Bc(j)更满足选择策略要求,执行步骤307;否则,Bc(j)-Bc(j+l)不大于ABc,说明扇出带宽Bc(j)和扇出带宽BcG+l)差别不满足预先设定的扇出带宽门限值,即P(j)和P(j+l)的扇出带宽差别不大,则需要进一步根据存活时间作为度量参数进行选择,即执行步骤304。步骤304:比较两个备选父节点P(j)和P(j+1)的存活时间T(j)和T(j+1),判断IT(JKT(j+l)1是否大于AT,若是,说明T(j)和T(j+l)的之间的差别满足预先设定的门限值。但需要进一步从P(j)和P(j+l)中选择出存活时间较长的备选父节点,即则执行步骤305,否则,说明P(j)和P(j+1)的存活时间差别不大,则选择扇出带宽较大的P(j)作为父节点,即执行步骤307。步骤305:判断T(j)是否大于T(j+1),若是,说明P(j)的存活时间大于P(j+l)的存活时间,则执行步骤307,否则,说明P(j)的存活时间不大于P(j+l)的存活时间,则执行步骤306。步骤306:选择P(j+1)作为父节点并交换P(j+1)和P(j)的位置。步骤307:选择P(j)作为父节点。步骤308:判断j是否小于N-l,若是,则令j叫+l,即执行步骤309;当j-N-l时,结束选择策略。步骤309,设置参数j的数值加l,返回继续进行迭代。上述实施例中多参数父节点选择策略是以扇出带宽和存活时间作为选择的度量参数,也可以采用其它性能参数,例如转播用户的上行链路带宽等。实施例3参见图IO,本实施例提供了一种重叠网络,包括目录服务器401、流媒体服务器402和用户节点403,其中目录服务器401,用于为每个直播频道创建一个转播节点列表,在转播节点列表中维护直播频道对应的部分对等节点信息。流媒体服务器402,用于与用户节点403构成分布式哈希表环,其中每个直播频道对应一个分布式哈希表环,在分布式哈希表环上维护该直播频道对应的所有对等节点信息,分布式哈希表环上的每个对等节点通过分布式指针表实现对等节点信息的维护。用户节点403,用于与流媒体服务器402构成分布式哈希表环,其中每个直播频道对应一个分布式哈希表环,在分布式哈希表环上维护该直播频道对应的所有对等节点信息,分布式哈希表环上的每个对等节点通过分布式指针表实现对等节点信息的维护,并用于在重叠网络中请求和提供数据。在实际应用中,上述目录服务器401和流媒体服务器402所实现的功能,可以使用一台服务器实现。实施例4参见图ll,本发明实施例提供了一种重叠网络中的用户节点,包括对等节点査找模块501,用于向目录服务器401查找希望接收的频道数据对应的转播节点列表中的优选对等节点信息,并将优选对等节点信息发送到备选父节点存储模块502。备选父节点存储模块502,用于在接收到优选对等节点信息,对优选对等节点进行性能探测后,存储优选对等节点信息。父节点选择模块503,用于根据多参数父节点选择策略,从备选父节点存储模块502中选择满足系统性能要求的最少数量的优选对等节点作为父节点,并向父节点分别发起对不同数据块的传输请求。进一步,用户节点还可以包括备选父节点更新模块,用于从备选父节点存储模块502中随机选择一个或多个节点作为目标节点,向目标节点发出査询请求;接收到目标节点返回的所维护的所有对等节点信息后,如果用户节点新获知的对等节点数目到达设定要求,则停止探测,如果用户节点获知的对等节点数目小于所能维护的备选父节点的最大节点数,则将新获知的对等节点加入到备选父节点中;否则将度量参数性能较差的节点从备选父节点中删除。进一步,用户节点还可以包括父节点优化模块,用于对用户节点与父节点的连接进行性能监控,当发生异常情况时,根据多参数父节点选择策略从备选父节点中选择对等节点,逐一增加父节点数目,直到性能满足要求,或者重新选择新的父节点以代替原有的父节点。以上实施例提供的技术方案中部分步骤可以通过软件实现,软件存储在可读取的存储介质上,如计算机的软盘,硬盘或光盘等。本发明实施例提供的技术方案采用混合的对等节点维护机制,通过DHT环按一定规则分布式地维护全部对等节点信息,当用户节点数目增加时,内存开销不会急剧增加,提高了系统的扩展性。由于DHT环是结构化分布式的维护,相对于DONet的非结构化的维护方式,维护开销是受控的,使维护开销保持在较低的等级。通过在目录服务器上集中式地维护部分优选节点的信息,加快了新用户节点发现其它对等节点信息的速度,縮短了系统的启动延时,并且用户节点在启动初期就能获得较好的接收质量。由于用户节点只在加入系统时才从目录服务器获取对等节点信息,其它时候可以通过在D'HT环上探测对等节点信息,因此能够有效避免目录服务器成为系统的单点瓶颈。由于采用了关联査询方式,查询方式简单,能够保持较低的査询开销。通过对父节点的优化选择,每个用户节点总是试图最大化自己总的接收带宽,即能够最大化各用户节点的接收质量,从而提高了带宽利用率。而且,任意节点的离开对存在的节点影响不大,提高了系统的健壮性。由于父节点的优化选择机制的周期相对于现有技术中的优化周期较长,因而节省了控制开销。并且在父节点的优化选择的过程中,在监测到父节点的数据传输性能下降时才从备选父节点列表中选择新的父节点代替该数据传输性能下降的父节点,所以相对于现有技术,不再产生周期控制,进一步节省了控制开销。.另外,本发明实施例提供的技术方案能够支持每个接收端自适应地重新选择父节点或者增加新的父节点,因而能够有效适应重叠网络环境的动态性,增强各用户接收质量的平滑性。以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。权利要求1.一种重叠网络的构建方法,其特征在于,所述方法包括以下步骤为每个直播频道创建一个转播节点列表,在所述转播节点列表中维护所述直播频道对应的部分对等节点信息;为每个直播频道创建一个分布式哈希表环,在所述分布式哈希表环上通过每个对等节点的分布式指针表维护所述直播频道对应的所有对等节点信息。2.如权利要求1所述的重叠网络的构建方法,其特征在于,所述为每个直播频道创建一个转播节点列表的步骤具体包括接收流媒体服务器注册的所发布频道的相关信息;为在本机上注册的每个频道创建一个转播节点列表,用以存储正在转播该频道的对等节点信息。3.如权利要求1所述的重叠网络的构建方法,其特征在于,所述方法还包括探测所述分布式哈希表环上维护的对等节点信息,根据度量参数更新所述转播节点列表的步骤。4.如权利要求3所述的重叠网络的构建方法,其特征在于,所述探测所述分布式哈希表环上维护的对等节点信息的步骤具体包括每隔一个定时周期从转播节点列表中随机选择一个对等节点作为目标节点,向所述目标节点发出更新请求;接收所述目标节点返回的本节点所维护的所有对等节点信息,如果新获知的对等节点数目到达设定要求,则停止探测。5.如权利要求3或4所述的重叠网络的构建方法,其特征在于,所述根据度量参数更新所述转播节点列表的步骤具体包括选择转播用户节点的存活时间、转播用户节点的上行链路带宽、扇出带宽之一或其组合作为度量参数;根据选择的度量参数对所有获知的节点进行排序,把性能较差的对等节点的信息从转播节点列表中删除。6.—种重叠网络中对等节点的发现方法,其特征在于,所述方法包括以下步骤希望接收某个频道数据的新用户节点向转播节点列表査找该频道对应的对等节点信息;所述新用户节点接收到根据度量参数选择的所述频道对应的转播节点列表中的优选对等节点信息,对所述优选节点进行性能探测后,把所述优选对等节点作为备选父节点;所述新用户节点根据多参数父节点选择策略,从所述备选父节点中选择满足系统性能要求的最少数量的优选对等节点作为父节点,并向所述父节点分别发起对不同数据块的传输请求。7.如权利要求6所述的重叠网络中对等节点的发现方法,其特征在于,所述方法还包括以下步骤用户节点从所述备选父节点中随机选择一个或多个节点作为目标节点,向所述目标节点发出査询请求;所述用户节点接收到所述目标节点返回的所维护的所有对等节点信息后,如果所述用户节点新获知的对等节点数目到达设定要求,则停止探测,如果所述用户节点获知的对等节点数目小于所能维护的备选父节点的最大节点数,则将所述新获知的对等节点加入到备选父节点中;否则将度量参数性能较差的备选父节点删除。8.如权利要求6所述的重叠网络中对等节点的发现方法,其特征在于,所述方法还包括以下步骤对用户节点与所述父节点的连接进行性能监控,当发生异常情况时,则根据多参数父节点选择策略从所述备选父节点中选择对等节点,逐一增加父节点数目,直到所述性能满足要求,或者重新选择新的父节点以代替原有的父节点。9.如权利要求8所述的重叠网络中对等节点的发现方法,其特征在于,所述多参数父节点选择策略具体包括从度量参数中选取第一度量参数,将备选父节点根据所述第一度量参数的性能进行顺序排列;比较所述按序排列的相邻两个备选父节点的第一度量参数,如果所述相邻两个备选父节点的第一度量参数的性能差值大于预先设定的第一度量参数门限值,则选择第一度量参数性能较优的备选父节点作为父节点,否则,从度量参数中选取第二度量参数,比较所述相邻两个备选父节点的第二度量参数性能;如果所述相邻两个备选父节点的第二度量参数的性能差值大于预先设定的第二度量参数门限值,则选择第二度量参数性能较优的备选父节点作为父节点,否则,选择第一度量参数性能较优的备选父节点作为父节点。10.如权利要求7-9中任意一项所述的重叠网络中对等节点的发现方法,其特征在于,所述度量参数包括以下条件之一或组合转播用户节点的存活时间;转播用户节点的上行链路带宽;扇出带宽。11.一种重叠网络,其特征在于,所述重叠网络包括目录服务器、流媒体服务器和用户节点;所述目录服务器用于为每个直播频道创建一个转播节点列表,所述转播节点列表中维护所述直播频道对应的部分对等节点信息;所述流媒体服务器和用户节点构成分布式哈希表环,每个直播频道对应一个分布式哈希表环,在所述分布式哈希表环上通过每个对等节点的分布式指针表维护所述直播频道对应的所有对等节点信息。12.—种重叠网络中的用户节点,其特征在于,所述用户节点包括对等节点査找模块、备选父节点存储模块和父节点选择模块;'所述对等节点査找模块用于向目录服务器査找希望接收的频道数据对应的转播节点列表中的优选对等节点信息,并将所述优选对等节点信息发送到所述备选父节点存储模块;所述备选父节点存储模块用于在接收到所述优选对等节点信息,对所述优选节点进行性能探测后,存储所述优选对等节点信息;所述父节点选择模块用于根据多参数父节点选择策略,从所述备选父节点存储模块中选择满足系统性能要求的最少数量的优选对等节点作为父节点,并向所述父节点分别发起对不同数据块的传输请求。13.如权利要求12所述的重叠网络中的用户节点,所述用户节点还包括备选父节点更新模块,用于从所述备选父节点存储模块中随机选择一个或多个节点作为目标节点,向所述目标节点发出査询请求;接收到所述目标节点返回的所维护的所有对等节点信息后,如果所述用户节点新获知的对等节点数目到达设定要求,则停止探测,如果所述用户节点获知的对等节点数目小于所能维护的备选父节点的最大节点数,则将所述新获知的对等节点加入到备选父节点中;否则将度量参数性能较差的备选父节点删除。14.如权利要求12所述的重叠网络中的用户节点,所述用户节点还包括父节点优化模块,用于对用户节点与所述父节点的连接进行性能监控,当发生异常情况时,根据多参数父节点选择策略从所述备选父节点中选择对等节点,逐一增加父节点数目,直到所述性能满足要求,或者重新选择新的父节点以代替原有的父节点。全文摘要本发明公开了一种重叠网络及其构建方法、对等节点的发现方法以及用户节点,属于网络通信领域。所述构建方法包括为每个直播频道创建一个转播节点列表,为每个直播频道创建一个分布式哈希表环。所述发现方法包括向转播节点列表查找频道对应的对等节点信息;对优选节点进行性能探测,把优选对等节点作为备选父节点;选择满足系统性能要求的最少数量的优选对等节点作为父节点,向父节点分别发起对不同数据块的传输请求。所述重叠网络包括目录服务器、流媒体服务器和用户节点。所述用户节点包括对等节点查找模块、备选父节点存储模块和父节点选择模块。本发明通过所述的技术方案,在启动初期具有较好的传输性能,便于扩展且能够加快发现对等节点速度。文档编号H04L12/56GK101378325SQ20071014584公开日2009年3月4日申请日期2007年8月31日优先权日2007年8月31日发明者刘梦娟,刘芳林,洪佩琳,胡新宇申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1