发明名称 一种流媒体直播系统中控制流的树形网络组织方法
摘要 本发明公开了一种流媒体直播系统中控制流的树形网络组织方法,其步骤包括:①启动守护进程;②监听规定的网络端口,等待接收来自于其他节点的请求包;③判断请求包的类型,根据包的类型,处理节点的加入,离开,重定向请求;④根据接收到的心跳包,更新本节点的子节点信息。本发明将控制流和数据流分开的双层拓扑结构,由控制树进行网络邻近节点的优化,网状逻辑覆盖网进行数据交换,适应P2P在线流媒体需求。控制树组织引入了基于GUID的节点聚类方法。根据各节点在网络中的位置产生GUID,并在逻辑层将邻近的节点组织在一起。本发明通过把物理位置临近的节点用树型组织在一起,极大的节省了网络流量,降低了网络负载,提高了P2P流媒体服务的服务质量。
申请公布号 CN100433689C 申请公布日期 2008.11.12
申请号 CN200610124519.6 申请日期 2006.09.13
申请人 华中科技大学 发明人 金海;廖小飞;涂旭平;刘科;杨思睿;张超;袁泉
分类号 H04L12/44(2006.01);H04L12/56(2006.01);H04L12/18(2006.01) 主分类号 H04L12/44(2006.01)
代理机构 华中科技大学专利中心 代理人 曹葆青
主权项 1、一种流媒体直播系统中控制流的树形网络组织方法,系统任一节点P均按以下步骤进行处理:启动守护进程,并行执行守护进程和主进程,其中,守护进程包括步骤(11)-(16),主进程包括步骤(21)-(29);(11)节点P接受用户请求;(12)节点P判断所接收到的请求是否是加入请求,如果是,进入步骤(13);否则,进入步骤(14);(13)节点P主动加入;(14)节点P主动离开;(15)判断节点P是否离开P2P网络,如果是,结束守护进程;否则,回到步骤(11)继续接受用户请求;(16)节点P开始监听规定的网络端口,等待接收来自其他节点发送的请求包;(21)节点P开始监听规定的网络端口,等待接收来自其他节点发送的请求包,请求包的类型分为三种:加入请求包,离开请求包和心跳包;(22)节点P判断是否收到来自其他节点的请求包,如果是,进入步骤(23);否则,转到步骤(27);(23)节点P判断所接收到的请求包是否是加入请求包,如果是,进入步骤(24);否则,进入步骤(25);(24)节点P根据收到的加入请求包,按照下述过程对加入请求进行处理:(C1)判断加入节点是否为外网节点,如是,转步骤(C2),否则转步骤(C15);(C2)利用步骤(d1)-(d2)计算加入节点的层次,设MAX LEVEL等于GUID中的字段数减1,L为被加入节点的层次,如与本节点层次相同且L=MAX_LEVEL,转步骤(C3),否则转步骤(C10);(d1)根节点的层次定义为0,其它节点的层次范围为1和MAX_LEVEL之间;(d2)如果加入节点与被加入节点GUID的前L个字段都相同,则定义其层次为被加入节点层次加1,否则定义其层次与被加入节点层次相同;(C3)检查自己的孩子节点列表中是否存在一个与加入者GUID邻近且层数与自己相同的外网孩子,如存在,转步骤(C9),否则转步骤(C4);(C4)检查自己是否还有空余孩子位置,如是,转步骤(C5),否则转步骤(C6);(C5)设置加入节点的层次为自己的层次L,把新加入者加入孩子节点列表中并发送Agree消息到新加入者,被加入流程结束,转步骤(27);(C6)判断加入节点是否是外网节点,如是,转步骤(C7),否则转步骤(C8);(C7)选择一个外网地址与被加入者GUID最近的孩子节点,发送重定向消息到选定的孩子并接收新加入者为自己的孩子,被加入流程结束,转步骤(27);(C8)拒绝加入者,被加入流程结束,转步骤(27);(C9)重定向新加入者到这个孩子节点,被加入流程结束,转步骤(27);(C10)查找孩子中层次比自己大1的节点,如存在转步骤(C11),否则转步骤(C14);(C11)若查到的孩子节点为外网节点,转步骤(C12),否则转步骤(C13);(C12)将加入者重定向到这个孩子,被加入流程结束,转步骤(27);(C13)选择一个外网地址与被加入者GUID最近的孩子节点,发送重定向消息到选定的孩子并接收新加入者为自己的孩子,被加入流程结束,转步骤(27);(C14)将新加入者的层次设为当前层次加1,把新加入者加入孩子节点列表中并发送Agree消息到新加入者,被加入流程结束,转步骤(27);(C15)是否存在一个与加入者GUID相同网关的内网孩子,如是,转步骤(C16),否则转步骤(C4);(C16)重定向新加入者到这个孩子节点;被加入流程结束,转步骤(27);(25)节点P判断所接收到的请求包是否是离开请求包,如果是,进入步骤(26);否则,进入步骤(27);(26)节点P根据收到的离开请求包,对离开请求进行处理,删除请求者,然后转步骤(27);(27)节点P执行定期的心跳处理;(28)判断节点P是否离开P2P网络,如果是,结束守护进程,同时停止监听规定的网络端口和收包工作,然后进入步骤(29);否则,回到步骤(22)继续监听;(29)结束。
地址 430074湖北省武汉市洪山区珞喻路1037号