首页> 中国专利> 一种对等网络视频共享系统中分类检索的网络组织方法

一种对等网络视频共享系统中分类检索的网络组织方法

摘要

本发明公开了一种对等网络视频共享系统中分类检索的网络组织方法,各节点执行以下步骤:①初始化超节点列表,邻居列表;②判定自己所属的超节点类型,向超节点索引服务器请求同类的超节点列表;③判断超节点列表中各节点与本节点的索引是否重合度比较小;④将超节点列表中的索引重合度小的节点加入邻居节点列表;⑤判断当次与上次发送信息的时间间隔是否达到交流周期;⑥超节点与“邻居”节点交换更新信息和拓扑维护信息;⑦判断是否接到退出请求。本发明方法由超节点判断本节点所属的类型,并将本类中索引重合度小的节点加为邻居节点。该方法具有检索速度快,网络拓扑结构稳定,基于用户兴趣自适应调整的特点。

著录项

  • 公开/公告号CN101217565A

    专利类型发明专利

  • 公开/公告日2008-07-09

    原文格式PDF

  • 申请/专利权人 华中科技大学;

    申请/专利号CN200810046630.7

  • 申请日2008-01-04

  • 分类号H04L29/08(20060101);H04L12/18(20060101);H04L12/56(20060101);G06F17/30(20060101);

  • 代理机构42201 华中科技大学专利中心;

  • 代理人曹葆青

  • 地址 430074 湖北省武汉市洪山区珞喻路1037号

  • 入库时间 2023-12-17 20:23:48

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2016-02-24

    未缴年费专利权终止 IPC(主分类):H04L29/08 授权公告日:20111214 终止日期:20150104 申请日:20080104

    专利权的终止

  • 2011-12-14

    授权

    授权

  • 2008-09-03

    实质审查的生效

    实质审查的生效

  • 2008-07-09

    公开

    公开

说明书

技术领域

本发明属于计算机应用领域,涉及对等网络与流媒体技术相结合的交叉领域,具体为一种对等网络视频共享系统中分类检索的网络组织方法。

背景技术

在互联网流媒体领域,针对传统Client-Server模式服务能力有限的问题,对等网络技术因其可扩展性强、对服务器依赖性小和系统成本低等特点而迅速发展,它为流媒体服务的普及提供了一种良好的技术基础。基于对等网络的流媒体应用使得节点之间能够互相分享已有的数据而不用全部集中到视频服务器端获取数据,从而大大减轻了视频服务器和网络的负担。

现有的基于对等网络的流媒体系统的设计,都是将观看相同节目的节点组织起来构建对等网络,如P2VOD和P2Cast。但是对于一些新的网络视频应用,如Youtube之类的flv媒体格式的视频分享,用户的观看时间短,同一频道的节点动态性大,现有的P2P流媒体就不能适应这种应用。通过基于分类索引的机制构建拓扑网络,将经常看某类节目的节点归为一类,并通过超节点来加快检索速度,可以获得很好的用户体验。

发明内容

本发明的目的在于提供一种对等网络视频共享系统中分类检索的网络组织方法,该方法具有检索速度快,网络拓扑结构稳定,基于用户特点自动调整的特点。

本发明提供的对等网络视频共享系统中分类检索的网络组织方法,系统中任一超节点A进行如下步骤:

(1)超节点A初始化;

(2)超节点A根据自己索引的文件信息判定自己所属的超节点类型,将超节点类型发送给超节点索引服务器,请求同类的超节点列表;

(3)超节点A判断超节点列表中各节点与节点A的索引重合度,并根据索引重合度的大小决定是否将超节点列表中的节点加入邻居节点列表;如果重合度小于阈值K,转步骤(4),  否则转步骤(5);

(4)超节点A与和它当前索引重合度小的各节点建立“邻居”关系;

(5)超节点A判断当前时间与其上一次发送信息的时间的间隔是否达到交流周期,如果是,进入步骤(6);否则,进入步骤(7);

(6)超节点A先向其“邻居”节点发送更新信息和拓扑维护信息;再通过信息标识符判断接收到的信息的类型,如果是加入信息,进入步骤(A1);如果是退出信息,进入步骤(B1);如果是更新信息,进入步骤(C1);如果是查询信息,进入步骤(D1);否则回到步骤(5);

(A1)超节点A将收到的加入信息中关于节点的信息加入其超节点列表中,完成后回到步骤(5);    

(B1)超节点A将收到的退出信息中的关于节点的信息从自己的“邻居”节点列表中删除,完成后回到步骤(5);

(C1)超节点A将收到的更新信息中关于节点的信息在其“邻居”节点列表中更新;

(C2)超节点A根据索引包重新计算与邻居节点的索引重合度;

(C3)从邻居节点中选出索引重合度最高的节点,如果该索引重合度大于阈值M,转步骤(C4),否则转步骤(5);

(C4)断开与该邻居节点的连接,从邻居列表中删除该节点,  将新节点加入邻居列表,完成后回到步骤(5);

(D1)超节点A读取查询包中的视频ID信息;

(D2)根据视频ID信息在本地索引列表中查询视频,如果找到该视频,转步骤(D3),否则进入步骤(D4);

(D3)将查询到的视频信息发送给请求节点,完成后进入步骤(D4);

(D4)将查询包的TTL减1,判断TTL是否减为0,如果是,回到步骤(5),否则,进入步骤(D5);

(D5)从邻居列表中随机选择一部分超节点,向这些节点发送查询请求包,完成后回到步骤(5);

(7)判断是否接到请求退出超节点网络的数据报包,如果是,则向超节点A的邻居节点发送退出网络的包,然后结束,否则回到步骤(5)。

针对视频分享应用中大规模节目数量和节点的瞬时性,高动态性的特点,本发明使用超节点结构将P2P网络分层,将搜索的规模缩小,并将搜索范围固定在一些稳定性较高,服务能力较强的超节点上。同时通过将超节点按索引的视频节目类型进行分类,每类节点只索引该类的节目,进一步缩减了搜索范围,提高了查询的速度和准确度。另外,在构建超节点网络时,通过选择与本节点索引重合度低的节点作为邻居节点,扩大了超节点网络的索引覆盖范围,提高了单跳内搜索到节目的概率。具体而言,本发明有如下特点:

(1)稳定性好

视频分享应用的特点是节目的观看时间很短,节点的加入退出比较频繁,网络动态性高。本方法通过索引每个节点本地存储的节目的方式构建拓扑网络,而不是根据用户的观看行为临时构建网络,解决了视频分享应用高动态性的问题。同时在调度策略上沿用基于P2P网络的视频点播调度算法,仍然具有实时播放的特点。通过选取稳定性高的超节点作为索引节点,可以使系统的稳定性大大提高。

(2)可扩展性好

本发明中只有索引节点服务器是中央模式,超节点都是分布式的。在P2P网络中由普通节点动态提升而得到的。所以该网络拓扑能很好的适应网络规模的变化。对于网络环境的动态变化,可以通过动态设置超节点可以承载的普通节点数来解决。

(3)查询速度快

超节点将其管理的普通节点上的视频文件索引到超节点上,如要查询某一类型的视频文件,只需要查询索引该类型节目的超节点上的索引项就可以了,大大缩减了网络搜索的规模。又因为视频分享中用户的观看行为有很大的倾向性,通过将超节点按这种倾向分类,可以将搜索的范围进一步集中。当超节点构建网络时,总是选择索引重合度小的节点做自己的邻居节点,这样超节点在其邻居范围内可搜索到的视频文件规模就会最大化,在搜索时能以更少的跳数找到需要的视频文件。

附图说明

图1为本发明方法处理流程示意图;

图2为本发明步骤(4)的超节点建立邻居关系的流程图;

图3为本发明邻居节点索引更新过程的流程图;

图4为本发明步骤(6)的超节点处理查询请求的流程图;

图5为实例的网络组织图。    

具体实施方式

本发明采用分层的网络拓扑组织方法,最顶层为超节点索引(Tracker)服务器及门户网站服务器,Tracker服务器负责收集和管理P2P网络上每个超节点的信息,节点从Tracker服务器查询网络上其他节点信息,并根据这些信息构建P2P网络,门户网站是用户进入小视频分享系统的接入点,用户通过浏览网站上的视频节目信息,选择点播视频节目或共享本地视频文件;中间层为超节点簇,它们是从普通Peer中筛选出的服务能力强,在线时间长的节点,负责某一类视频节目的索引服务;最下层为普通的Peer节点,可以通过门户网站浏览视频或共享自己的视频文件。

本发明根据对等网络中视频分享应用的要求建立了一种基于分类的超节点检索网络,下面结合附图和实例对本发明作详细的说明。

本发明中所指的超节点是在构建P2P网络时由普通节点动态提升而来的。每个超节点均管理一部分普通节点,并索引其所管理的普通节点上的视频文件,作为普通节点的代理为其提供查询服务。查询过程仅在超节点网络中进行,不会扩散到普通节点上。

超节点索引服务器是该网络中唯一的中央节点,所有的节点加入网络前都先在超节点索引服务器上注册,以获取加入网络所需的必要信息。

如图(1)所示,视频分享应用中的超节点(以某一个超节点A为例)均按以下步骤进行来组建超节点检索网络。

(1)超节点A启动:初始化超节点列表,邻居列表,和索引信息列表。

超节点列表是从超节点索引服务器上获取的初始超节点列表,记录了当前在线的同类超节点的地址信息,超节点类别。邻居列表是在对等网络中与该超节点有网络连接,并定期交互索引信息的节点列表。

邻居列表中记录了邻居节点标识、邻居节点上的视频列表,与邻居节点的索引重合度和上次更新时间。邻居列表中用两个参数NEIGHBOR_MIN,NEIGHBOR_MAX分别标识期望的邻居节点个数的最小值和最大值。当邻居节点数小于NEIGHBOR_MIN时,表示该超节点还可以接收新的邻居节点。当邻居节点数大于NEIGHBOR_MAX,表示需要丢弃一部分现有的邻居节点。

索引信息列表记录了视频文件的标识符,文件所在的节点,文件路径,更新时间等信息。

(2)超节点A根据自己索引的文件信息判定自己所属的超节点类型。将超节点类型发送给超节点索引服务器,请求同类的超节点列表。

超节点类别的判定过程为,遍历索引信息列表,统计每个类别索引的文件个数,将索引文件数最大的文件类别作为超节点的类别。

步骤(2)可以采用下述具体过程予以实现:

(2.1)超节点搜集其管理的普通节点上的视频信息,并建立视频索引列表;

(2.2)超节点遍历索引列表,统计每个类别中的节目数目,对索引列表按节目数递减的顺序排列;

(2.3)计算索引节目数最多的前j个节目类型,j的取值要求j个节目中的索引数总和与超节点全部索引数目的比率不小于给定的阈值p,0<p<1,则选出的j个节目类型作为超节点A所属的节目类型。    

(3)超节点A计算超节点列表中各节点与自己的索引重合度M,并根据索引重合度的大小决定是否将超节点列表中的节点加入邻居节点列表。如果重合度小于阈值K,转步骤(4),否则转步骤(5)。

邻居节点重合度M的计算方法为:先获得邻居节点的索引列表项Inei,再与本节点的索引列表Iloc求交集Iin,则M=|Iin|/|Iloc|。

(4)超节点A与和它当前索引重合度小的各节点建立“邻居”关系,流程如图(2),其过程如下:

(4.1)超节点A判断其“邻居”节点数目是否达到上限值,上限值=NEIGHBOR_MAX,NEIGHBOR_MAX根据不同的网络状况设置不同的值,一般为20。如果是,就进入步骤(5);否则,进入步骤(4.2);

(4.2)超节点A与和它重合度小的各节点建立TCP网络连接;

(4.3)超节点A向与其网络连接的节点发起请求,请求的内容包括一串标识字符(REQUEST)和超节点A缓存数据的起始位置和终止位置;

(4.4)被请求节点收到超节点A的请求后,判断其“邻居”节点数目是否达到上限值,如果是,发送一串标识字符(REJECT)表示拒绝请求,然后进入步骤(5);否则,进入步骤(4.5);

(4.5)被请求节点判断其“邻居”列表中是否已经存在超节点A的节点信息,如果是,就发送一串标识字符(REJECT)表示拒绝请求,然后进入步骤(5);否则,进入步骤(4.6);

(4.6)被请求节点将超节点A的节点信息加入其“邻居”节点列表中,然后通知超节点A,通知的内容包括一串字符(OK)和被请求节点缓存数据的起始位置和终止位置;

(4.7)超节点A收到被请求节点回应的信息后将被请求节点的节点信息加入其“邻居”节点列表中;转入步骤(5)。

(5)超节点A判断当前时间与其上一次发送信息的时间的间隔是否达到交流周期,设节点A第一次发送信息的时间为其进入系统的时间,交流周期由系统的硬件配置和网络带宽决定,通常取值为30秒。如果是,进入步骤(6);否则,进入步骤(7);

(6)超节点A与其“邻居”节点交流信息,过程如下;

(6.1)超节点A向其“邻居”节点发送更新信息;节点的更新信息包括信息标识符(UPDATE)、该节点标识符、该节点的类别、该节点的IP地址和端口、该节点的索引项数目,该节点的各索引项和被转发的次数n;

(6.2)超节点A通过信息标识符判断接收到的信息的类型,如果是加入信息,进入步骤(A1);如果是退出信息,进入步骤(B1);如果是更新信息,进入步骤(C1)进行邻居节点更新过程,如图(3);如果是查询信息,进入步骤(D1)进行检索处理,流程如图(4);否则回到步骤(5);

(A1)超节点A将收到的加入信息中关于节点的信息加入其超节点列表中,完成后回到步骤(5);加入信息的内容为:包标识(JOIN)、节点标识、节点上存储的视频的分类、节点的IP地址和端口。

(B1)超节点A将收到的退出信息中的关于节点的信息从超节点A的“邻居”节点列表中删除,完成后回到步骤(5);退出信息的内容为:包标识(DROP),超级节点的标识。

(C1)超节点A将收到的更新信息中关于节点的信息在其“邻居”节点列表中更新;更新信息的内容为:包标识(UPDATE)、超级节点的标识、网络地址信息、分类号、索引的视频个数、索引的各个视频项;

(C2)超节点A根据索引包重新计算与邻居节点的索引重合度;

(C3)从邻居节点中选出索引重合度最高的节点,如果该索引重合度大于阈值M,转步骤(C4),否则转步骤(5);

(C4)断开与该邻居节点的连接,从邻居列表中删除该节点,将新节点加入邻居列表,完成后回到步骤(5)。

(D1)超节点A读取查询包中的视频ID信息,然后进入步骤(D2);

(D2)根据视频ID信息在本地索引列表中查询视频,如果找到该视频,转步骤(D3),否则进入步骤(D4);

(D3)将查询到的视频信息发送给请求节点,完成后进入步骤(D4);

(D4)将查询包的TTL减1,判断TTL是否减为0,如果是,回到步骤(5);否则,进入步骤(D5);

(D5)从邻居列表中随机选择一部分超节点,向这些节点发送查询请求包,完成后回到步骤(5)。

(7)判断是否接到请求退出超节点网络的操作,如果是,则向超节点A的邻居节点发送退出网络的包,然后结束。  否则回到步骤(5)。至此,视频分享系统就完成了基于分类的超节点网络构建。

实例:

本发明所阐述的分类检索的对等网络组织方法可以通过具体实例来说明。实验环境包括1个索引服务器以及10台普通PC机,每台PC的缓存容量为30MB。PC机的硬件配置如下:

 机器名    CPU  内存    硬盘  网络带宽 索引服务器 PIV 2.0GHz  2GB    40GB    100Mb PC 1-10 PIV 1.7GHz  256MB    40GB    10Mb

PC 1-10分别称为节点1、节点2……节点10。某时刻,根据节点1……节点9的超节点分类的对等网络如图5所示。根据系统的硬件配置设定系统中节点的“邻居”节点的上限值为4,下限值为2,各信息的生存周期是3,各信息的交流周期是30秒。

节点10加入时,先向索引服务器(tracker server)发送自己将要加入的超节点类别A,索引服务器查询A类已注册的超节点列表,返回给它节点1,节点3和节点4的地址。节点10得到索引服务器返回的超节点地址后分别和节点1,节点3,节点4的邻居建立邻居关系。因为节点1,3,4的邻居节点数目都没有超过上限4,因此可以加入新的邻居节点。

节点10接着计算与各个邻居的索引重合度,与节点1的索引重合度为0,与节点3的索引重合度为2,与节点4的索引重合度为1。则在下一次的索引交互周期中,节点3因为索引重合度过高被淘汰,新加入的邻居节点1与节点10重新计算索引重合度。

到达信息交流周期时,节点1从其“邻居”节点中随机选择了节点2发送索引更新信息,该信息被节点2转发到节点10,节点10收到信息后首先将关于节点1的信息加入其超节点列表中,然后它判断该信息中的在系统中被转发的次数1是否小于信息的生存周期3,继续将该信息进行转发。节点1与节点10的索引重合度为1,节点10的邻居列表中重合度最大为3,且节点10的邻居列表数超过了邻居下限值2,则节点10向节点3发送断开邻居连接的信息,向节点2发送加入邻居关系的信息,加节点2加入节点10的邻居列表。此时节点10的邻居列表为节点1,2,4,最大的索引重合度为1。

同上述方式,节点8断开同节点6的邻居关系,加入节点5到其邻居列表。节点通过定期交流信息维护了“邻居”这层关系,在“邻居”关系的基础上它们能够索引到更多不重复的索引项,使搜索的速度加快。

经多次测试,采用本发明所论述的基于分类的超节点对等网络组织方法,查询视频的速度快,查询的准确度高,非常适合视频分享应用中的大规模搜索。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号