CN1901495A - 对等网络点播系统中的环状节点组织方法 - Google Patents
对等网络点播系统中的环状节点组织方法 Download PDFInfo
- Publication number
- CN1901495A CN1901495A CNA200610019501XA CN200610019501A CN1901495A CN 1901495 A CN1901495 A CN 1901495A CN A200610019501X A CNA200610019501X A CN A200610019501XA CN 200610019501 A CN200610019501 A CN 200610019501A CN 1901495 A CN1901495 A CN 1901495A
- Authority
- CN
- China
- Prior art keywords
- node
- ring
- neighbor
- message
- neighbor node
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Computer And Data Communications (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了对等网络流媒体点播系统中的环状节点组织方法,其执行步骤为:①新加入节点P从索引服务器获取初始成员节点表;②节点P利用初始成员节点建立其邻居节点,并根据邻居节点到自身的距离d,将其分布到对应的第层环,从而构建出初始的逻辑环,形成远跳和近跳的邻居节点;③节点P通过向环上的邻居节点发送位置消息来通告自己的存在,同时接收来自邻居节点的转发消息以发现新的成员节点,保证内环有k个邻居和外环有1个邻居,维护稳定的环结构,用户拖动时利用环可以快速找到目标位置附近的邻居节点;④节点P停止当前频道,主动向环上的所有邻居节点通告自己的离开。本方法具有维护简、容错性强、均衡性好的特征,实现拖动后邻居节点的快速查找。
Description
技术领域
本发明属于分布式处理技术和流媒体技术的交叉领域,具体涉及一种对等网络点播系统中的环状节点组织方法,适用于在广域网范围内提供高质量、低成本、大规模的流媒体点播服务。
背景技术
流媒体技术的应用一直是互联网上传播多媒体信息的主要方式,随着宽带网的日益普及,作为互联网杀手级应用之一的视频点播服务受到来自学术界和企业界的普遍关注。传统流媒体点播系统将大量的媒体数据存放在一组集中管理的视频服务器上,由视频服务器负责响应所有客户端的点播请求。在这种客户端/服务器模式下,视频服务器承担全部工作,因而对服务器的带宽和处理能力要求相当之高,单个流的成本也非常昂贵,而且当点播用户进一步增加时,视频服务器最终将达到其能力极限,成为整个系统的瓶颈,并最终导致流媒体服务质量的下降。因此,增强系统可扩展性、提高服务质量、降低服务成本成为在广域网范围部署大规模流媒体点播服务的核心问题。
针对该问题目前有如下一些解决策略,如通过在网络边缘部署代理服务器提高系统整体承载能力或利用专有的内容分发网络提供高质量可扩展的点播服务等。从技术上而言,上述策略只是将原来由单点服务器承担的压力分散到广域分布的多个服务器上,它们从一定程度上缓解了单服务器带宽不足的压力,但并不能消除点播系统的瓶颈;从成本上而言,单个流的成本并没有降低。总而言之,上述策略实现代价仍然过高,视频服务器数量和网络带宽的有限增加也难以满足用户无限增加的点播需求。因此找到一项适合提供高质量、低成本、大规模的流媒体点播服务的技术迫在眉睫。
近年来,基于对等网络的流媒体技术由于其潜在的高扩展性和相当低廉的部署成本受到普遍关注,也为解决大规模的流媒体点播服务部署过程中所遇到的问题提供了一些新的方法和思路。由于视频流服务对带宽资源的要求高、服务时间长,使得利用上述策略在提供大规模低成本的视频点播服务方面仍然面临严峻挑战,特别是当某个节目趋向流行时,系统会在短时间内收到大量异步服务请求,而传统的在服务器端为每个请求单独分配一条流的多客户端/单服务器模式将无法同时服务如此大规模的并发请求。基于对等网络的流媒体技术利用普通节点(即peer节点)的带宽、磁盘等资源为其他节点提供服务,能够减少对服务器资源的占用。而针对流媒体点播系统而言,在Peer节点上分配一段定长或不定长的数据空间缓存其所接收到的数据,并为其他请求该数据段的Peer节点提供服务,不但可以满足流媒体点播中异步模式的服务请求,而且可以缓解服务器的压力。
据调查,目前基于对等网络的流媒体技术方面的研究更多地集中在直播系统中,而利用对等网络技术成功地实现大规模的点播服务的系统则非常少,这主要是因为基于对等网络的点播系统在技术上面临更大的挑战。首先,在对等网络点播系统中每个节点都有自己的观看位置,只能和位置相邻的节点相互交换数据,而不像基于对等网络的直播系统,每个节点都在观看相同的内容,只要有空闲的上行带宽就可以给其他节点提供数据。然而相对于直播而言,在对等网络点播系统中找到合适的可提供数据的邻居节点更为困难,需要对系统中的节点进行有效的组织,并实现有效的查找,才能让更多的节点快速找到合适的Peer节点给自己提供数据,从而减小对服务器带宽资源的消耗。另外,基于对等网络的点播系统除了需要支持节点任意加入和离开的操作外,还需要支持VCR操作(VCR的全文,即用户的随意拖动操作),这要求系统的拓扑结构具有更强的动态性,节点的组织策略必须能够自动适应这种动态变化。
综上,对等网络点播系统的一个关键问题就是节点组织方法,即如何构建有效的拓扑结构,使得任何节点能够快速的找到提供数据的邻居节点并适应用户任意拖动导致的拓扑变化。针对该问题,目前有如下几种常见的拓扑结构:1)树状拓扑结构,该结构将观看同一个节目的Peer节点组织成一个分布式的树状结构,每个节点记录自己的父节点和子节点。该方法总的控制开销较小,但树的分布式维护算法复杂,而且Peer节点之间的控制开销表现出明显的不均衡现象,树的上层节点需要处理更多的查询请求。另外,在树形拓扑结构中每个Peer节点仅向单个节点请求数据,如果某个节点的上行带宽达不到当前流的播放码率,那么它的上行带宽就不能提供给任何子节点,因此这种结构只能是单对单的数据传输,不能充分利用终端Peer节点的带宽资源;2)分布式哈希表(DHT),该方法通过哈希函数将数据块分布式存放在多个节点上,播放的时候利用分布式哈希表定位所需要的数据块。这种结构虽然实现了多对单的节点数据传输,但当多个节点离开时,数据的可靠性将受到严重威胁;3)网状结构,该结构来自于对等网络的直播系统,它通过让相邻Peer节点之间相互交换信息来实现节点信息的扩散,具有良好的可靠性,数据和控制消息都从多点获取,并不依赖于单个的节点。但由于节点之间的逻辑关系是随机的,所以当有邻居节点离开或者拖动到新的位置时,难以迅速找到新的邻近节点。一种可行的方法就是利用一个集中的索引服务器记录所有节点的位置信息,但当节点规模扩大到一定程度的时候,索引服务器容易成为系统的性能瓶颈。
发明内容
本发明的目的在于提供一种对等网络点播系统中的环状节点组织方法,该方法通过维护一组半径指数级增长的逻辑环结构来管理自己的邻居节点,使得每个节点既有近跳的邻居节点交换媒体数据,又有远跳节点协助拖动后新邻居节点的快速查找,从而实现对等网络点播系统中VCR操作的快速定位。
本发明提供一种对等网络点播系统中的环状节点组织方法,其步骤包括:
(1)新加入的客户端节点P向索引服务器发送加入请求,索引服务器将之前索引的各个环上的节点作为初始成员节点列表返回给客户端节点P,同时将节点P加入到自己的内层环上,并淘汰出内层环上加入时间最久的一个节点;其中,索引服务器维护一组以零点为圆心的同心环,其环半径符合公式ri=α2i,其中i为环号,L为最大的环号,i∈{0,1,2,……,L};i=0的环称为内层环,所有i≥1的环称为外层环,i=L的环称为最外层环;ri为第i层环的环半径;2个相邻环之间的区域称为一个环带;a为每个客户端节点最大可缓存的连续媒体数据的时间长度;
(2)客户端节点P根据从索引服务器获取的初始成员节点列表,建立自己的邻居节点,并根据各个邻居节点到自身的距离d,将其分布到对应的逻辑环上,构建出自身的逻辑环结构,形成自己的远跳邻居节点和近跳邻居节点;节点P的邻居节点是指和节点P建有TCP连接的节点;
(3)客户端节点P按照步骤(3.1)-(3.8)维护逻辑环结构:
(3.1)客户端节点P定期获取当前产生的事件;
(3.2)客户端节点P根据事件类型转到相应的处理步骤:如果是网络消息包的发送事件,则转到步骤(3.3);如果是网络消息包的到达事件,则转到步骤(3.4);如果是用户拖动的事件,则转到步骤(3.5);如果是网络中断或关闭事件,则转到步骤(3.6);如果是逻辑环检查事件,转到步骤(3.7);
(3.3)客户端节点P向邻居节点发送自己的位置信息,其中包括消息的类型(Type)、发送节点的地址(Peer_Address)、消息可以经过的跳数(TTL)、该邻居当前的播放位置(tCur)和缓冲区的状态(BM),然后转步骤(3.8);
(3.4)客户端节点P接收来自其邻居节点的消息,其类型包括ANNOUNCE、FORWARD和DROP三种,然后根据消息类型和消息的TTL值决定是否转发或转发的对象,最后转步骤(3.8);
(3.5)客户端节点P通过查找目标位置周围的节点,重新构建拖动后的逻辑环结构和新位置周围的邻居,然后转步骤(3.8);
(3.6)客户端节点P发现某个邻居节点失效或离开,将该节点从逻辑环中删除并将该节点失效的消息通知给自己的其它邻居节点,然后转步骤(3.8);
(3.7)客户端节点P根据环上邻居节点的分布规则检查逻辑环上的邻居节点分布是否符合要求,各个环带上分布的邻居节点数目服从如下分布规则:规则一:对于节点O的最内层环(i=0)最多可分布k个邻居节点数。k的取值取决于对等网络点播系统可支持的最大节点数目N,k≈logN;规则二:对于节点O的外层环(1≤i≤L)最多可分布1个邻居节点,左环带和右环带各保持1/2个远跳邻居。其中左环带上的邻居节点和节点O的距离为负值,表示该邻居节点在当前节点的播放位置之后;右环带上的邻居节点和节点O的距离为正值,表示该邻居节点在当前节点的播放位置之前。
(3.8)是否退出当前频道,如果退出,则转到步骤(4);否则回到步骤(3.1);
(4)客户端节点P停止当前频道的播放,主动向逻辑环上的所有邻居节点发送一个带上自身全局标识的DROP消息,通告自己即将离开,退出当前频道的对等网络。
上述步骤(2)的处理过程为:
(2.1)初始化自身的成员节点表和邻居节点表,并将从索引服务器获得的初始成员节点加入到自己的成员节点表,设置成员节点表中的每个成员节点的状态为待连接;
(2.2)检查成员列表中是否存在状态为待连接的成员节点W,如果不存在,则转步骤(3);如果存在,则转步骤(2.3);
(2.3)尝试与成员节点W建立连接;
(2.4)判断连接建立是否成功,如果连接建立失败,则转步骤(2.5);如果连接建立成功,则转步骤(2.6);
(2.5)将成员节点W的状态更新为无法连接;然后转到步骤(2.2);
(2.6)将节点W加入到自己的邻居节点表,并计算节点W在逻辑环上的位置,设邻居节点W的播放位置为tw,那么该邻居到节点P的距离d=tw-tp,那么环号
如果iφL,则将i改为最大环号为L;
(2.7)将成员节点W的状态更新为已连接;然后转到步骤(2.2)。
上述步骤(3.3)中,客户端节点P按照下述步骤向邻居节点发送自己的位置信息:
(A1)创建一个消息结构体msg;
(A2)获取当前缓冲区的状态,初始化消息结构体中的BM字段;
(A3)用自己的GUID设置消息结构体的GUID,Type设置为ANNOUNCE,Peer_Adress设置为自己的IP地址和端口,TTL设置为MAX_TTL;
(A4)向所有邻居节点发送该消息体msg。
上述步骤(3.4)中,客户端节点P按照下述步骤接收来自其邻居节点的位置信息:
(B1)取得消息中的GUID值,根据该GUID判断该节点在成员节点表中是否已经存在,如果已经存在,则更新成员节点表中该节点的信息,包括Peer_Address,当前的播放位置tCur和更新时间tLastUpdateTime;
(B2)将该消息的TTL值减1;
(B3)取得消息的类型,如果是ANNOUNCE消息,则转步骤(B4);如果是FORWARD消息,则转步骤(B5);如果是DROP消息,则转步骤(B6);
(B4)将消息类型改为FORWARD,然后转发给内环上的所有邻居节点,转步骤(B7);
(B5)从内环上随机的选出一个邻居节点,将消息转发给它,转步骤(B7);
(B6)从成员节点表和邻居节点表中去掉该节点P,并向所有的邻居转发该消息,转步骤(B7);
(B7)判断TTL值,如果TTL等于0,则丢弃该消息;
(B8)转到步骤(3.8)。
上述步骤(3.5)中,客户端节点P按照下述步骤重新构建拖动后的逻辑环结构:
(C1)计算目标位置tp和节点当前位置to的距离d,d=tp-to;
(C2)判断目标位置是否在当前的内环上,即比较d和α的大小,如果dπα,则说明目标位置tp在内环上,则直接转步骤(C18),否则转步骤(C3);
(C3)初始化一个位置tp的查询消息Q,同时创建一个经过节点表;
(C4)将本节点的基本信息加入到经过节点表;
(C5)通过遍历当前邻居节点表找出与目标位置tp最近的邻居节点作为下一跳节点P’;
(C6)将消息Q转发给下一跳的邻居节点P’;
(C7)下一跳的邻居节点接收到消息Q;
(C8)从消息Q中取出查询的目标位置tp,计算当前节点与该目标位置之间的距离d;
(C9)比较d和α的大小,如果dπα,则说明目标位置tp在内环上,则直接转步骤(C10);否则转步骤(C4);
(C10)从内环节点中选出离目标位置P最近的m个节点,构建一个回应消息R,并将这m个节点加入到该消息的查询结果表中,该表记录了此次查询得到的所有节点信息;
(C11)从经过节点表中取出上一跳邻居节点F;
(C12)比较自身的GUID和节点F的GUID是否相等,如果相等,转步骤(C16),如果不相等,转步骤(C13);
(C13)将自身的节点信息加入到查询结果表中;
(C14)将回应消息转发给邻居节点F;
(C15)上一跳节点收到回应消息R;并转到步骤(C11)对该消息进行相应的处理;
(C16)回应消息R按原路径返回到最初的查询节点P;
(C17)将查询结果表中的所有节点加入到最初的查询节点P的成员节点表;
(C18)节点P将自身的当前播放位置tCur设置为tp;
(C19)转到步骤(3.8)。
上述步骤(3.6)中,客户端节点P按照下述步骤进行:
(D1)如果该邻居节点所在的环号i大于等于1,则转到步骤(D2);
如果该邻居节点所在环号等于0,则转到步骤(D3);
(D2)直接将该邻居节点从邻居节点表和成员节点表中删除,转步骤(D4);
(D3)构建一个DROP类型的消息,消息中带上自己的GUID值,然后向自己内环上的所有节点发送该消息,通告该邻居节点的离开;
(D4)转到步骤(3.8);
上述步骤(3.7)中,客户端节点P的处理过程为:
(E1)设当前检查的环为第i层环并且i=0;
(E2)如果环号i=0并且当前环上的邻居数m小于或等于k,或者环号1≤i≤L并且当前环上的邻居数m小于1,则该环上的邻居数目不够,转到步骤(E3);转到步骤(E4);
(E3)从成员节点表中选出位于该环带的成员节点,并主动与其建立邻居关系;连接建立成功,将该节点加入到邻居节点表,并设置其对应的环号;如果连接失败,则将该节点从成员节点表中删除;
(E4)判断是否检查完毕,令i=i+1,如果i大于L,则检查完毕转到(3.8);否则转到步骤(E1)继续检查。
本发明克服了目前对等网络点播系统中现有节点组织方法所存在的负载不均、可靠性差、定位时间长、维护复杂等问题,实现了对等网络流媒体点播系统中节点的分布式索引、拖动后节点的快速定位以及邻居节点的动态发现。具体而言,本发明具有以下特点。
(1)控制开销的负载均衡性
系统的控制开销主要由节点加入、离开、查找、发现等过程中收发的控制消息数目来体现。本发明所述的环状节点组织方法中,每个节点都维护各自的逻辑环结构,根据自己的时间位置点选择自己的近跳和远跳的邻居节点,并和自己的邻居节点交换控制消息,因此每个节点控制消息所带来的开销被分摊到互不相同的邻居节点上,从而使得系统总的控制开销相对均衡地分布在各个Peer节点上。相比树状结构中任何加入、查找操作都从控制树的根节点开始搜索的方法而言,环状拓扑具有更好的负载均衡性。
(2)VCR操作具有本地化特征
由于每个Peer节点维护一个自己的环结构,每次用户执行VCR拖动操作后,Peer节点首先从自己本地的环结构开始寻找相邻节点,如果找到,此次查询操作将完全在本地完成,即减小了对网络的压力,又缩短了查找的时间。因此,基于逻辑环结构的VCR查找具有明显的本地化特征。
(3)拖动后可实现快速查找
本发明中每个节点以自身为圆心,以α2β(其中α为Peer缓存数据的最大时间长度,β为环的层数,最大为5)的指数步长为半径,将邻居节点分布在不同的环带上,保持不同距离的远跳节点,使得拖动后查找新的相邻节点的操作最多在5跳时间内即可完成,平均查找跳数为2~3,实现了拖动后的快速查找。
(4)良好的容错性
对等网络点播系统由于其动态性强,拓扑结构不仅随着节点的加入和离开而变化,还会因为用户的拖动而变化,因此容错性尤为重要。本发明中的环状节点组织方法属于一种弱一致性的拓扑类型,即使在多个节点同时加入、离开或拖动的情况下,节点也不会被孤立,仍然可以根据目前的邻居节点信息获取更多的新节点,并重新构建出稳定的环结构,即使所有的邻居都同时失效或离开,该节点仍然可以通过向索引服务器查询得到新的邻居,而绝不会被孤立,因此该方法具有良好的容错性。
(5)节点分散索引,消除集中索引的性能瓶颈
在本发明采用的环状节点组织方法中,拖动后新节点的查询首先在本地执行,并将查询消息转发给当前最近的节点,然后在该节点执行类似的处理,直到转发给一个位于目标位置最内环的节点为止,最后从经过的节点收集一定数目的邻居节点重构新位置上的逻辑环结构。与传统的完全依赖集中式索引服务器进行节点索引的方法相比,本发明中每个节点都利用环结构索引了当前系统中的部分节点,使得任何节点都可以利用这些环结构实现节点的快速查找,其查找过程是分布式的,消除了集中式索引方式中索引服务器容易成为系统性能瓶颈的弊端。
(6)拓扑维护算法简单易于实现
另外,本发明中逻辑环只需要维护弱一致性,各个节点通过收发相应的位置信息即可维护其逻辑环,保证系统的可靠性。相比树状或者分布式哈希表结构而言,其环状结构的维护算法更为简单,也易于实现。
附图说明
图1为本发明方法的主流程框图;
图2为索引服务器的逻辑环结构示意图;
图3为逻辑环创建的过程图;
图4为步骤2.3)中客户端的逻辑环结构示意图;
图5为逻辑环的维护操作主流程;
图6为步骤2中的消息格式示意图;
图7为拖动后重新定位的流程图;
图8为拖动后查找新位置的示意图;
图9为逻辑环的检查流程;
图10为实例的过程示意图,其中a)为客户端节点P初始加入过程示意图;b)为客户端节点P加入10分钟后构建出的逻辑环结构示意图;c)为客户端节点P拖动后查找新的邻居节点的过程示意图;d)为客户端节点P拖动完成后的逻辑环结构示意图。
具体实施方式
本发明的基本思路是让每个节点维护一个以自身为中心的、半径长度指数级增长的逻辑环,根据节点当前播放位置之间的距离将其放置在对应的逻辑环上,并按一定的分布原则在每个环带维护一定数目的邻居节点,保证每个环带中都有自己的邻居节点,从而使得每个节点既有近跳的邻居节点交换媒体数据,又有远跳的邻居节点协助拖动后新邻居节点的查找,实现快速定位。利用该方法,Peer节点不仅可以发现和找到位置相邻的邻近节点,而且在用户拖动后能够快速找到目标位置附近的邻居节点。
下面结合附图和实例对本发明作进一步详细说明。如图1所示,本发明方法包括以下步骤:
(1)新加入的客户端节点P向索引服务器发送加入请求,索引服务器将之前索引的各个环上的节点作为初始成员节点列表返回给客户端节点P,同时将节点P加入到自己的内层环上,并淘汰出内层环上加入时间最久的一个节点;
索引服务器是一个播放位置始终为0、不存放任何媒体数据的特殊节点,它的IP地址对所有的客户端节点而言是众所周知的。如图2所示,索引服务器维护一组以零点为圆心的同心环,其环半径符合公式ri=α2i(其中i表示环的环号,L表示最大的环号,i∈{0,1,2,……,L};本发明将i=0的环称为内层环,所有i≥1的环称为外层环,i=L的环称为最外层环;ri为第i层环的环半径;2个相邻环之间的区域称为一个环带;a为每个客户端节点最大可缓存的连续媒体数据的时间长度,其取值和客户端节点最大可共享内存空间大小有关,一般取5分钟≤a≤20分钟。对于任意节点H而言,和它建有TCP连接的节点M称为它的邻居节点,索引服务器在内环最多维护n个最新加入的邻居节点,每个外环带最多维护m个邻居节点,其中n和m的取值与索引服务器的维护开销有关,其值越大,索引服务器的处理开销越大。收到新节点的加入请求后,索引服务器从自己的各个环上的邻居节点构成一个初始成员节点列表发送给新加入的客户端节点P,并将该客户端节点P加入到自己的内层环上,如果此时内层环总的邻居节点数目超过n,则从内层环上淘汰加入时间最久的一个节点。
初始成员节点列表包括如下信息:初始成员节点个数K和K个成员节点的信息,每个成员节点的信息包括节点的IP地址、监听端口、全局惟一的标识GUID和当前播放位置tCur。
(2)客户端节点P根据从索引服务器获取的初始成员节点列表,建立自己的邻居节点,并根据各个邻居节点到自身的距离d,将其分布到对应的逻辑环上,从而构建出自身的逻辑环结构,形成自己的远跳邻居节点和近跳邻居节点。其具体的实施过程如图3所示,主要由如下7个具体步骤来完成:
(2.1)初始化自身的成员节点表和邻居节点表,并将从索引服务器获得的初始成员节点加入到自己的成员节点表,设置成员节点表中的每个成员节点的状态为待连接;
成员节点表记录该客户端节点P最近所了解到的x个节点信息(本发明中每个节点信息用一个Host结构来表示,并且x≤M,M为客户端节点最大保存的成员节点信息的数目)。Host结构主要包括如下重要信息:节点的全局标识(GUID)、地址信息(Peer_Adress)、当前播放位置(tCur)、上次更新的时间(tLastUpdateTime)以及连接失败的次数(nFailedNum)。邻居节点表记录该客户端节点P的所有邻居节点,每个邻居节点和节点P保持一个TCP连接,并通过TCP连接来转发自己的节点信息(包括GUID、地址、当前播放位置)。每个邻居节点主要包括如下重要信息:邻居节点的标识(GUID)、该邻居的距离d、该邻居所处的环带号i。逻辑环的结构通过邻居节点表中位于各个不同环带的邻居节点来体现。
(2.2)检查成员列表中是否存在状态为待连接的成员节点W,如果不存在,则转步骤(3);如果存在,则转步骤(2.3);
(2.3)尝试与成员节点W建立连接;
(2.4)判断连接建立是否成功,如果连接建立失败,则转步骤(2.5);如果连接建立成功,则转步骤(2.6);
(2.5)将成员节点W的状态更新为无法连接;然后转到步骤(2.2);
(2.6)将节点W加入到自己的邻居节点表,并计算节点W在逻辑环上的位置。设邻居节点W的播放位置为tw,那么该邻居到节点P的距离d=tw-tp,那么环号
如果iφL,则将i设置为最大环号为L。
(2.7)将成员节点W的状态更新为已连接;然后转到步骤(2.2);
(3)客户端节点P根据逻辑环的邻居节点分布规则,维护一个稳定的逻辑环结构。一方面,当环上某个邻居节点离开或者失效时,客户端节点P会及时地发现并将其从邻居列表中踢除;另一方面通过环上的邻居节点传播自己的播放位置信息和发现新的节点信息,当某个环上的邻居节点数目不够时,从成员表中选出新节点来建立邻居关系,以弥补某个环带上邻居节点的缺失;另外,当用户拖动到新位置的时候,客户端节点P会发送一个目标位置的查询消息,找到目标位置周围的节点信息,从而重新构建目标位置上的邻居节点和对应的逻辑环结构。如图5所示,其具体的实施过程由如下8个子步骤来完成:
(3.1)客户端节点P定期获取当前产生的事件;
事件主要由逻辑环检查定时器、网络处理单元以及用户VCR操作触发,包括网络消息包的到达事件,网络连接的中断或关闭事件、网络消息包的发送事件、用户拖动事件和逻辑环检查事件。
(3.2)客户端节点P根据事件类型转到相应的处理步骤;
如果是网络消息包的发送事件,则转到步骤(3.3);如果是网络消息包的到达事件,则转到步骤(3.4);如果是用户拖动的事件,则转到步骤(3.5);如果是网络中断或关闭事件,则转到步骤(3.6);如果是逻辑环检查事件,转到步骤(3.7);
(3.3)客户端节点P向邻居节点发送自己的位置信息,然后转步骤(3.8);
对于每个客户端节点而言,每个邻居节点都与自己保持一个TCP连接,在每个发送周期t内(t的大小和系统的整体控制开销有关,t越小,导致的控制开销越大),通过该连接将自己的位置信息发送给各个环带上的邻居节点,其消息格式如图6所示,包括消息的类型(Type)、发送节点的地址(Peer_Address)、消息可以经过的跳数(TTL)、该邻居当前的播放位置(tCur)和缓冲区的状态(BM)。其中消息类包括ANNOUNCE消息和FORWARD两种类型,ANNOUNCE消息是客户端节点P给自己邻居节点发送的位置通告消息,FORWARD消息是内环邻居节点在收到TTL不为零的消息后转发给自己的邻居节点的消息;缓冲区状态BM为一个结构体,包含了该客户端节点P的缓冲区的起点位置(nMin)、长度(nLen)以及每个位置上的数据是否存在的标识数组Avail。如果Avail[i]为TRUE,则说明它的第Min+i个时间点上的数据已存在,否则表示不存在。其消息发送步骤如下:
(A1)创建一个消息结构体msg;
(A2)获取当前缓冲区的状态,初始化消息结构体中的BM字段;
(A3)用自己的GUID设置消息结构体的GUID,Type设置为ANNOUNCE,Peer_Adress设置为自己的IP地址,端口,TTL设置为MAX_TTL(MAX_TTL为最大的TTL值,其值为一个经验值,和节点的规模有关,值越大,消息在对等网络中传得越远,但控制开销也会变大;值越小,消息传播的范围越小,控制开销也会相应变小);
(A4)向所有邻居节点发送该消息体msg;
(3.4)客户端节点P接收来自其邻居节点G的消息,消息类型包括ANNOUNCE、FORWARD和DROP三种类型,然后根据消息类型和消息的TTL值决定是否转发或转发的对象,最后转步骤(3.8),其具体的处理步骤如下:
(B1)取得消息中的GUID值,根据GUID判断该节点G在成员节点表中是否已经存在,如果已经存在,则更新成员节点表中该节点G的信息,包括Peer_Address,当前的播放位置tCur和更新时间tLastUpdateTime;
(B2)将该消息的TTL值减1;
(B3)取得消息的类型,如果是ANNOUNCE消息,则转步骤(B4);如果是FORWARD消息,则转步骤(B5);如果是DROP消息,则转步骤(B6);
(B4)将消息类型改为FORWARD,然后转发给内环上的所有邻居节点,转步骤(B7);
(B5)从内环上随机的选出一个邻居节点F,将消息转发给F节点,然后转步骤(B7);
(B6)从成员节点表和邻居节点表中去掉该节点G的记录项,并向所有的邻居转发该消息,转步骤(B7);
(B7)判断TTL值,如果TTL等于0,则丢弃该消息;
(B8)转到步骤(3.8);
(3.5)客户端节点P查找目标位置周围的节点,并根据返回的节点重新构建拖动后逻辑环结构。
当用户拖动到新的位置后,该节点和所有邻居节点的相对距离都发生了变化,为了保持逻辑环结构的一致性,需要对逻辑环进行重构,即找到新位置上的近跳和远跳邻居节点,其中尤为重要的是快速找到新位置附近的临近节点给自己提供当前急需的媒体数据。其具体的操作流程如图7所示:
(C1)计算目标位置tp和节点当前位置tCuro的距离d,d=tp-tCur;
(C2)判断目标位置是否在当前的内环上,即比较d和α的大小,如果dπα,则说明目标位置tp在内环上,则直接转步骤(C18);否则转步骤(C3);
(C3)初始化一个位置tp的查询消息Q,同时创建一个经过节点表(该表的每一项为消息Q所路经的一个节点的基本信息,包括该节点的GUID、地址信息Peer_Address和当前的时间位置tCur);
(C4)将本节点的基本信息加入到经过节点表;
(C5)通过遍历当前邻居节点表找出与目标位置tp最近的邻居节点作为下一跳节点P’;
(C6)将消息Q转发给下一跳的邻居节点P’;
(C7)下一跳的邻居节点接收到消息Q;
(C8)从消息Q中取出查询的目标位置tp,计算当前节点与该目标位置之间的距离d;
(C9)比较d和α的大小,如果dπα,则说明目标位置tp在内环上,则直接转步骤(C10);否则转步骤(C4);
(C10)从内环节点中选出离目标位置P最近的m个节点,构建一个回应消息R,并将这m个节点加入到该消息的查询结果表中,该表记录了此次查询得到的所有节点信息;
(C11)从经过节点表中取出上一跳邻居节点F;
(C12)比较自身的GUID和节点F的GUID是否相等,如果相等,转步骤(C16),如果不相等,转步骤(C13);
(C13)将自身的节点信息加入到查询结果表中;
(C14)将回应消息转发给邻居节点F;
(C15)上一跳节点收到回应消息R;并转到步骤(C11)对该消息进行相应的处理;
(C16)回应消息R按原路径返回到最初的查询节点P;
(C17)将查询结果表中的所有节点加入到最初的查询节点P的成员节点表;
(C18)节点P将自身的当前播放位置tCur改为tp;
(C19)转到步骤(3.8);
(3.6)客户端节点P发现某个邻居节点失效或离开,将该节点从逻辑环中删除并将该节点失效的消息通知给自己的其它邻居节点,其具体步骤如下:
(D1)如果该邻居节点所在的环号i大于等于1,即该邻居节点为一个外环节点,则转到步骤(D2);如果该邻居节点所在环号等于0,即该节点为一个内环节点,则转到步骤(D3);
(D2)直接将该邻居节点从邻居节点表和成员节点表中删除,转步骤(D4);
(D3)构建一个DROP类型的消息,消息中带上自己的GUID值,然后向自己内环上的所有节点发送该消息,以通告该邻居节点的离开,使得某个节点的意外离开可以快速被周围临近节点所发现,转步骤(D4);
(D4)转到步骤(3.8);
(3.7)客户端节点P根据环上邻居节点的分布规则检查逻辑环上的邻居节点分布是否符合要求。各个环带上分布的邻居节点数目服从如下分布规则:规则一:最内层环(i=0)最多可分布k个邻居节点数。k的取值取决于对等网络点播系统可支持的最大节点数目N,k≈logN;规则二:外层环(1≤i≤L)最多可分布1个邻居节点,左环带和右环带各保持1/2个远跳邻居。其中左环带上的邻居节点和节点O的距离为负值,表示该邻居节点在当前节点的播放位置之后;右环带上的邻居节点和节点O的距离为正值,表示该邻居节点在当前节点的播放位置之前。其具体步骤为:
(E1)设当前检查的环为第i层环并且i=0;
(E2)如果环号i=0并且当前环上的邻居数m小于或等于k,或者环号1≤i≤L并且当前环上的邻居数m小于1,则该环上的邻居数目不够,转到步骤(E3);转到步骤(E4);
(E3)从成员节点表中选出位于该环带的成员节点,并主动与其建立邻居关系;连接建立成功,将该节点加入到邻居节点表,并设置其对应的环号;如果连接失败,则将该节点从成员节点表中删除;
(E4)判断是否检查完毕,令i=i+1,如果i大于L,则检查完毕转到(3.8);否则转到步骤(E1)继续检查;
(3.8)是否退出当前频道,如果退出,则转到步骤(4);否则回到步骤(3.1);
(4)客户端节点P停止当前频道的播放,主动向逻辑环上的所有邻居节点发送一个带上自身全局标识(GUID)的DROP消息,通告自己即将离开,从而退出当前频道的对等网络。
实例
根据上述的实施步骤,图10给出一个实例来说明本发明方法的具体效果,实例中各系统参数的配置如表1所示。
表1系统参数设置
参数符号 | 参数意义 | 参数取值 |
N | 系统中的Peer节点数 | 100 |
a | 客户端最多可缓存的连续数据的时间长度 | 5分钟 |
L | 最大环号 | 5 |
n | 内环最大的成员节点数目 | 50 |
m | 外环最大的成员节点数目 | 10 |
M | 成员节点表的最大项数 | 200 |
k | 内环最大的邻居节点数目 | 9 |
L | 外环最大的邻居节点数目 | 4 |
t | 消息包的发送周期 | 30秒 |
MAX_TTL | 消息包的最大跳数 | 5 |
在图10-a中,A、B、C、D为四个已经加入到系统中的客户端节点,其当前播放位置分别为00:02:23、00:03:40、00:09:26、00:16:07,环的半径公式ri=α2i,其中a的取值为5分钟,此时A、B节点位于索引服务器的内层环(环号i=0),C、D分别位于第1、2层环。当新的客户端节点P加入系统时,向索引服务器发送加入请求,索引服务器会将A、B、C、D作为初始成员节点列表全部返回给P,客户端节点P(刚加入时当前播放位置和索引服务其一样为0)收到后和A、B、C、D建立TCP连接,并根据邻居节点的位置,将A、B节点放在内层环,C、D分别放在第1、2层环。如果A、B、C、D、P均在播放,那么A、B、C、D到P相对距离将不会发生变化,A、B、C、D在节点P的逻辑环上的位置也不会发生变化。如图10-b所示,10分钟后,节点P的逻辑环结构仍将是A、B节点位于节点P的内层环,C、D分别位于节点P的第1、2层环。在这期间,邻居节点A、B由于和节点P位置非常临近,它们的缓冲区将保存有节点P目前需要的媒体数据,所以邻居节点A、B会给节点P提供所需的数据,另外,邻居节点C、D为节点P的远跳节点,随时为节点P提供远处位置的查询。如图10-c,节点P播放到10分钟后,用户执行VCR操作,向前拖动到25分钟,此时节点P会发送一个查询消息,重构新的逻辑环。根据逻辑环的重构步骤,节点P首先将查询消息发送到距离目标位置25分钟最近的邻居节点D,邻居节点D收到查询消息后发现目标位置25分钟处就在自己的内环中,于是将自己内环上的节点E(00:23:40)和节点F(00:27:40)加入到查询结果列表中返回给节点P,同时邻居节点D也是一个查询消息经过的节点,也会被加入到查询结果列表中。这样,节点P此时就得到D、E、F三个查询结果和原来的A、B、C、D四个邻居,共有A、B、C、D、E、F六个节点信息,然后修改自己的当前位置到25分钟,重新计算A、B、C、D、E、F到自己的距离d,最后根据新的距离,将它们放在对应的环带上,从而得到如图10-d所示的逻辑环结构,其中D、E、F成为节点P当前的内环邻居节点,C位于节点P的第1层环,A、B位于节点P的第2层环,即D、E、F成为节点P的近跳节点和节点P交换数据,A、B、C成为远跳节点为节点P提供位置查询。
Claims (7)
1、一种对等网络点播系统中的环状节点组织方法,其步骤包括:
(1)新加入的客户端节点P向索引服务器发送加入请求,索引服务器将之前索引的各个环上的节点作为初始成员节点列表返回给客户端节点P,同时将节点P加入到自己的内层环上,并淘汰出内层环上加入时间最久的一个节点;其中,索引服务器维护一组以零点为圆心的同心环,其环半径符合公式ri=α2i,其中i为环号,L为最大的环号,i∈{0,1,2,……,L};i=0的环称为内层环,所有i≥1的环称为外层环,i=L的环称为最外层环;ri为第i层环的环半径;2个相邻环之间的区域称为一个环带;a为每个客户端节点最大可缓存的连续媒体数据的时间长度;
(2)客户端节点P根据从索引服务器获取的初始成员节点列表,建立自己的邻居节点,并根据各个邻居节点到自身的距离d,将其分布到对应的逻辑环上,构建出自身的逻辑环结构,形成自己的远跳邻居节点和近跳邻居节点;节点P的邻居节点是指和节点P建有TCP连接的节点;
(3)客户端节点P按照步骤(3.1)-(3.8)维护逻辑环结构:
(3.1)客户端节点P定期获取当前产生的事件;
(3.2)客户端节点P根据事件类型转到相应的处理步骤:如果是网络消息包的发送事件,则转到步骤(3.3);如果是网络消息包的到达事件,则转到步骤(3.4);如果是用户拖动的事件,则转到步骤(3.5);如果是网络中断或关闭事件,则转到步骤(3.6);如果是逻辑环检查事件,转到步骤(3.7);
(3.3)客户端节点P向邻居节点发送自己的位置信息,其中包括消息的类型(Type)、发送节点的地址(Peer_Address)、消息可以经过的跳数(TTL)、该邻居当前的播放位置(tCur)和缓冲区的状态(BM),然后转步骤(3.8);
(3.4)客户端节点P接收来自其邻居节点的消息,其类型包括ANNOUNCE、FORWARD和DROP三种,然后根据消息类型和消息的TTL值决定是否转发或转发的对象,最后转步骤(3.8);
(3.5)客户端节点P通过查找目标位置周围的节点,重新构建拖动后的逻辑环结构和新位置周围的邻居,然后转步骤(3.8);
(3.6)客户端节点P发现某个邻居节点失效或离开,将该节点从逻辑环中删除并将该节点失效的消息通知给自己的其它邻居节点,然后转步骤(3.8);
(3.7)客户端节点P根据环上邻居节点的分布规则检查逻辑环上的邻居节点分布是否符合要求,各个环带上分布的邻居节点数目服从如下分布规则:规则一:对于节点O的最内层环(i=0)最多可分布k个邻居节点数。k的取值取决于对等网络点播系统可支持的最大节点数目N,k≈logN;规则二:对于节点O的外层环(1≤i≤L)最多可分布l个邻居节点,左环带和右环带各保持1/2个远跳邻居。其中左环带上的邻居节点和节点O的距离为负值,表示该邻居节点在当前节点的播放位置之后;右环带上的邻居节点和节点O的距离为正值,表示该邻居节点在当前节点的播放位置之前。
(3.8)是否退出当前频道,如果退出,则转到步骤(4);否则回到步骤(3.1);
(4)客户端节点P停止当前频道的播放,主动向逻辑环上的所有邻居节点发送一个带上自身全局标识的DROP消息,通告自己即将离开,退出当前频道的对等网络。
2、根据权利要求1所述的方法,其特征在于:步骤(2)的处理过程为:
(2.1)初始化自身的成员节点表和邻居节点表,并将从索引服务器获得的初始成员节点加入到自己的成员节点表,设置成员节点表中的每个成员节点的状态为待连接;
(2.2)检查成员列表中是否存在状态为待连接的成员节点W,如果不存在,则转步骤(3);如果存在,则转步骤(2.3);
(2.3)尝试与成员节点W建立连接;
(2.4)判断连接建立是否成功,如果连接建立失败,则转步骤(2.5);如果连接建立成功,则转步骤(2.6);
(2.5)将成员节点W的状态更新为无法连接;然后转到步骤(2.2);
(2.7)将成员节点W的状态更新为已连接;然后转到步骤(2.2)。
3、根据权利要求1或2所述的方法,其特征在于:步骤(3.3)中,客户端节点P按照下述步骤向邻居节点发送自己的位置信息:
(A1)创建一个消息结构体msg;
(A2)获取当前缓冲区的状态,初始化消息结构体中的BM字段;
(A3)用自己的GUID设置消息结构体的GUID,Type设置为ANNOUNCE,Peer_Adress设置为自己的IP地址和端口,TTL设置为MAX_TTL;
(A4)向所有邻居节点发送该消息体msg。
4、根据权利要求3所述的方法,其特征在于:步骤(3.4)中,客户端节点P按照下述步骤接收来自其邻居节点的位置信息:
(B1)取得消息中的GUID值,根据该GUID判断该节点在成员节点表中是否已经存在,如果已经存在,则更新成员节点表中该节点的信息,包括Peer_Address,当前的播放位置tCur和更新时间tLastUpdateTime;
(B2)将该消息的TTL值减1;
(B3)取得消息的类型,如果是ANNOUNCE消息,则转步骤(B4);如果是FORWARD消息,则转步骤(B5);如果是DROP消息,则转步骤(B6);
(B4)将消息类型改为FORWARD,然后转发给内环上的所有邻居节点,转步骤(B7);
(B5)从内环上随机的选出一个邻居节点,将消息转发给它,转步骤(B7);
(B6)从成员节点表和邻居节点表中去掉该节点P,并向所有的邻居转发该消息,转步骤(B7);
(B7)判断TTL值,如果TTL等于0,则丢弃该消息;
(B8)转到步骤(3.8)。
5、根据权利要求4所述的方法,其特征在于:步骤(3.5)中,客户端节点P按照下述步骤重新构建拖动后的逻辑环结构:
(C1)计算目标位置tp和节点当前位置to的距离d,d=tp-to;
(C2)判断目标位置是否在当前的内环上,即比较d和α的大小,如果dπα,则说明目标位置tp在内环上,则直接转步骤(C18),否则转步骤(C3);
(C3)初始化一个位置tp的查询消息Q,同时创建一个经过节点表;
(C4)将本节点的基本信息加入到经过节点表;
(C5)通过遍历当前邻居节点表找出与目标位置tp最近的邻居节点作为下一跳节点P’;
(C6)将消息Q转发给下一跳的邻居节点P’;
(C7)下一跳的邻居节点接收到消息Q;
(C8)从消息Q中取出查询的目标位置tp,计算当前节点与该目标位置之间的距离d;
(C9)比较d和α的大小,如果dπα,则说明目标位置tp在内环上,则直接转步骤(C10);否则转步骤(C4);
(C10)从内环节点中选出离目标位置P最近的m个节点,构建一个回应消息R,并将这m个节点加入到该消息的查询结果表中,该表记录了此次查询得到的所有节点信息;
(C11)从经过节点表中取出上一跳邻居节点F;
(C12)比较自身的GUID和节点F的GUID是否相等,如果相等,转步骤(C16),如果不相等,转步骤(C13);
(C13)将自身的节点信息加入到查询结果表中;
(C14)将回应消息转发给邻居节点F;
(C15)上一跳节点收到回应消息R;并转到步骤(C11)对该消息进行相应的处理;
(C16)回应消息R按原路径返回到最初的查询节点P;
(C17)将查询结果表中的所有节点加入到最初的查询节点P的成员节点表;
(C18)节点P将自身的当前播放位置tCur设置为tp;
(C19)转到步骤(3.8)。
6、根据权利要求5所述的方法,其特征在于:步骤(3.6)中,客户端节点P按照下述步骤进行:
(D1)如果该邻居节点所在的环号i大于等于1,则转到步骤(D2);如果该邻居节点所在环号等于0,则转到步骤(D3);
(D2)直接将该邻居节点从邻居节点表和成员节点表中删除,转步骤(D4);
(D3)构建一个DROP类型的消息,消息中带上自己的GUID值,然后向自己内环上的所有节点发送该消息,通告该邻居节点的离开;
(D4)转到步骤(3.8);
7、根据权利要求6所述的方法,其特征在于:步骤(3.7)中,客户端节点P的处理过程为:
(E1)设当前检查的环为第i层环并且i=0;
(E2)如果环号i=0并且当前环上的邻居数m小于或等于k,或者环号1≤i≤L并且当前环上的邻居数m小于l,则该环上的邻居数目不够,转到步骤(E3);转到步骤(E4);
(E3)从成员节点表中选出位于该环带的成员节点,并主动与其建立邻居关系;连接建立成功,将该节点加入到邻居节点表,并设置其对应的环号;如果连接失败,则将该节点从成员节点表中删除;
(E4)判断是否检查完毕,令i=i+1,如果i大于L,则检查完毕转到(3.8);否则转到步骤(E1)继续检查。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB200610019501XA CN100477622C (zh) | 2006-06-28 | 2006-06-28 | 对等网络点播系统中的环状节点组织方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB200610019501XA CN100477622C (zh) | 2006-06-28 | 2006-06-28 | 对等网络点播系统中的环状节点组织方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1901495A true CN1901495A (zh) | 2007-01-24 |
CN100477622C CN100477622C (zh) | 2009-04-08 |
Family
ID=37657242
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB200610019501XA Expired - Fee Related CN100477622C (zh) | 2006-06-28 | 2006-06-28 | 对等网络点播系统中的环状节点组织方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100477622C (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101344882B (zh) * | 2007-07-10 | 2010-06-02 | 中国移动通信集团公司 | 数据查询方法、插入方法及删除方法 |
CN102202228A (zh) * | 2011-05-24 | 2011-09-28 | 北京邮电大学 | 视频资源存储、查找的方法及装置 |
CN101242430B (zh) * | 2008-02-22 | 2012-03-28 | 华中科技大学 | 对等网络点播系统中的定点数据预取方法 |
CN101651708B (zh) * | 2009-07-07 | 2012-11-14 | 北京大学 | P2p流媒体网络的拓扑构建方法 |
CN104135733A (zh) * | 2014-08-05 | 2014-11-05 | 威胜电气有限公司 | 基于配电网微功率无线设备的自组网方法及系统 |
CN108616600A (zh) * | 2018-05-11 | 2018-10-02 | 深圳市网心科技有限公司 | 资源调度方法、客户服务器、节点设备、网络系统和介质 |
CN114285602A (zh) * | 2021-11-26 | 2022-04-05 | 成都安恒信息技术有限公司 | 一种分布式业务安全检测方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1992004787A1 (en) * | 1990-08-31 | 1992-03-19 | Bell Communications Research, Inc. | Self-healing meshed network using logical ring structures |
US5291490A (en) * | 1992-02-18 | 1994-03-01 | At&T Bell Laboratories | Node for a communication network |
CN1258921C (zh) * | 2002-07-30 | 2006-06-07 | 中兴通讯股份有限公司 | 分布式视频点播系统及其实现数据存储和访问的方法 |
CN1581813A (zh) * | 2003-08-01 | 2005-02-16 | 光桥科技(中国)有限公司 | 在以太网上应用逻辑环网进行数据传输的方法 |
CN100459700C (zh) * | 2004-11-16 | 2009-02-04 | 南京大学 | 基于协作缓存实现视频点播系统的方法 |
CN100384252C (zh) * | 2005-06-15 | 2008-04-23 | 北京交通大学 | 一种覆盖网络组播下视频点播实现方法 |
-
2006
- 2006-06-28 CN CNB200610019501XA patent/CN100477622C/zh not_active Expired - Fee Related
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101344882B (zh) * | 2007-07-10 | 2010-06-02 | 中国移动通信集团公司 | 数据查询方法、插入方法及删除方法 |
CN101242430B (zh) * | 2008-02-22 | 2012-03-28 | 华中科技大学 | 对等网络点播系统中的定点数据预取方法 |
CN101651708B (zh) * | 2009-07-07 | 2012-11-14 | 北京大学 | P2p流媒体网络的拓扑构建方法 |
CN102202228A (zh) * | 2011-05-24 | 2011-09-28 | 北京邮电大学 | 视频资源存储、查找的方法及装置 |
CN102202228B (zh) * | 2011-05-24 | 2012-11-14 | 北京邮电大学 | 视频资源存储、查找的方法及装置 |
CN104135733A (zh) * | 2014-08-05 | 2014-11-05 | 威胜电气有限公司 | 基于配电网微功率无线设备的自组网方法及系统 |
CN104135733B (zh) * | 2014-08-05 | 2017-04-26 | 威胜电气有限公司 | 基于配电网微功率无线设备的自组网方法及系统 |
CN108616600A (zh) * | 2018-05-11 | 2018-10-02 | 深圳市网心科技有限公司 | 资源调度方法、客户服务器、节点设备、网络系统和介质 |
CN114285602A (zh) * | 2021-11-26 | 2022-04-05 | 成都安恒信息技术有限公司 | 一种分布式业务安全检测方法 |
CN114285602B (zh) * | 2021-11-26 | 2024-02-02 | 成都安恒信息技术有限公司 | 一种分布式业务安全检测方法 |
Also Published As
Publication number | Publication date |
---|---|
CN100477622C (zh) | 2009-04-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1901495A (zh) | 对等网络点播系统中的环状节点组织方法 | |
CN101068186A (zh) | 一种客户端节点网络拓扑构造方法及流媒体分发系统 | |
CN1925444A (zh) | 在p2p网络中建立点对点连接的方法及在p2p网络中的节点 | |
CN1345149A (zh) | 用于流式数据的方法和装置 | |
CN101959054B (zh) | 集中式对等点播系统和伙伴节点选择方法 | |
CN101567796B (zh) | 一种内容分片的多媒体网络及其业务方法 | |
CN101060427A (zh) | 实现远程软件升级的系统及方法 | |
CN1638353A (zh) | 网络拓扑构成方法及节点 | |
CN101035264A (zh) | 一种内容分发网络系统及其内容和服务调度方法 | |
CN1819545A (zh) | 网络中的组播方法 | |
CN101047549A (zh) | 数据同步系统及其方法 | |
EP2288085A1 (en) | P2p based method, device and system for playing media | |
CN1665221A (zh) | 多点发送控制装置及方法 | |
WO2009086784A1 (zh) | 文件内容分发方法、装置及系统 | |
CN101047610A (zh) | 数据存储、读取、传输方法和管理服务器及网络节点 | |
CN101039329A (zh) | 基于媒体交付的网络电视系统的媒体交付系统 | |
CN1909509A (zh) | 在媒体分发网络中实现视频直播的系统、方法和客户端 | |
CN101039262A (zh) | 一种半覆盖自组织的动态组播路由方法 | |
CN1713574A (zh) | 互联网网页信息推送系统 | |
CN102055808A (zh) | 一种降低p2p直播系统中播放延迟的方法与系统 | |
CN101076032A (zh) | 一种信息推送系统和方法 | |
CN1315312C (zh) | 一种大规模多媒体接入网关的方法 | |
WO2013004191A1 (zh) | 一种消息推送方法及即时通信服务器 | |
CN1874489A (zh) | 一种对等网络视频点播系统中多频道重叠网络组织方法 | |
US20110282883A1 (en) | Indexing server and method therefor |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20090408 Termination date: 20110628 |