CN101534205A - 应用层组播业务实现方法、终端和系统 - Google Patents

应用层组播业务实现方法、终端和系统 Download PDF

Info

Publication number
CN101534205A
CN101534205A CN200810101697A CN200810101697A CN101534205A CN 101534205 A CN101534205 A CN 101534205A CN 200810101697 A CN200810101697 A CN 200810101697A CN 200810101697 A CN200810101697 A CN 200810101697A CN 101534205 A CN101534205 A CN 101534205A
Authority
CN
China
Prior art keywords
node
father
data slice
brotgher
child
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
Application number
CN200810101697A
Other languages
English (en)
Other versions
CN101534205B (zh
Inventor
马少武
房秉毅
潘海鹏
王志军
申志伟
周旭
秦伟
陈九庆
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Cnc Broadband Business Applications National Engineering Laboratory Co ltd
Institute of Acoustics CAS
Original Assignee
Cnc Broadband Business Applications National Engineering Laboratory Co ltd
Institute of Acoustics CAS
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Cnc Broadband Business Applications National Engineering Laboratory Co ltd, Institute of Acoustics CAS filed Critical Cnc Broadband Business Applications National Engineering Laboratory Co ltd
Priority to CN2008101016976A priority Critical patent/CN101534205B/zh
Publication of CN101534205A publication Critical patent/CN101534205A/zh
Application granted granted Critical
Publication of CN101534205B publication Critical patent/CN101534205B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明涉及一种应用层组播业务实现方法、终端和系统。该方法包括:节点加入组播网络;在本地建立父节点信息、兄弟节点表、父兄节点表和子节点表;采集父节点的节点信息以更新本地的父节点信息,获取父节点的子节点表以更新本地的兄弟节点表,获取父节点的兄弟节点表以更新本地的父兄节点表。该终端包括:父节点信息存储模块、兄弟节点表存储模块、父兄节点表存储模块和子节点表存储模块,以及分别与上述模块相连的信息更新模块。该系统包括一个根节点,并采用本发明的多个实现终端作为叶节点。本发明能避免组播网络频频变动的影响,能提高组播网络的可靠性和可扩展性,并能联系兄弟节点进行数据传输,充分利用了出口带宽,提高了数据传输效率。

Description

应用层组播业务实现方法、终端和系统
技术领域
本发明涉及一种应用层组播业务实现方法、终端和系统,尤其涉及一种基于P2P技术在组播网络中分发数据的应用层组播业务实现方法,以及执行该组播方法的终端和系统。
背景技术
在互联网中,数据的分发传输是最常用的功能之一,特别是随着多媒体技术和互联网技术的发展,对实时性要求较高的视频和音频等流媒体数据的分发已经占据了大部分网络带宽。因此,如何提高流媒体数据的分发效率和可靠性成为当前倍受关注的问题。
现有的多媒体数据分发方式主要包括以下几类:1、传统的客户端/服务器模式,该模式由预先部署的单个或多个服务器直接将多媒体数据复制成多份,分别分发给各客户端,但该模式的缺点在于服务器的服务能力限制了接入的客户端数量,由于每个客户端均需要直接从服务器获得多媒体数据流,所以浪费了网络带宽,增加了服务器出口处的带宽压力,降低了客户端的数据传输速率;2、网络层组播模式,该模式是在服务器向多个客户端分发相同的多媒体数据时,只需复制下发一份数据包,而后通过网络路径中的路由器对该数据包进行多次复制后再分发,最终到达多个客户端,但该模式的不足是网络层的组播技术需要路由器的支持,涉及到多网元、多个运营商和多个服务提供商之间的配合,所以协调统一困难,难以大规模推广;3、P2P(点对点,Peer-to-Peer)文件分发模式,例如“Bit Torrent”协议就是一种基于目录服务器的P2P文件共享协议,用户通过“Tracker”服务器获得可用的节点信息,然后连接可用节点进行数据交互,由于每个节点可以同时从多个节点获得数据,所以数据传输的性能和可靠性都得到了一定的保证,但该模式由于每个节点几乎可以从任何节点获得数据,所以浪费了不必要的网络带宽。
现有技术为解决上述数据分发方式之中的问题,提出了基于P2P分布式内容分发的应用层组播技术。该技术结合了P2P文件分发技术和网络层组播技术,将网络中的节点组织成多个组播树,采用普通的主机作为组播树中的节点,不需要对现有网络设备做任何改变,避免了出现类似网络层组播技术的难推广的问题。
目前典型的应用层组播技术有以下几种:
1、“End System Multicast”方案:首先将组播成员,即将客户节点组织成网状相连,每个节点中都维护所有组播成员的列表,减少节点加入和退出时对其他节点的影响,以提高组播树的可靠性;在网上以每个数据源所在的节点为根节点构造一个组播树,这样可针对每个数据源所在节点进行性能优化;但该方案的缺点是系统开销比较大,降低了系统的可扩展性,仅适合小规模组播网络的情况;
2、“ALMI”方案:在组播成员之间维护一个最小组播树,该方案能够减小系统维护开销,但是从每个数据源分发的传输开销无法单独优化,最小组播树的维护开销也会限制组播网络的规模;
3、“NICE”方案:使用分层和分群的思路,将组播成员分为多层,并设置大部分组播成员节点位于分层结构的底层,底层的节点只与少量固定数目的上层成员节点存在联系,每一层中,由其中的一个代表节点从上层节点获得数据并维护该层中其他节点的信息,其他节点可以选择该层中链路状况和服务能力比较好的节点,从该节点获得数据,这样就降低了大部分组播成员所需的处理开销,该模式适合低带宽数据流的应用,当流媒体传输的数据率比较大,节点的出口带宽比较小时,该节点不能被选中为代表节点为其他节点服务。
上述应用层组播技术存在的缺陷是:由于大部分节点是普通的用户主机,节点的性能差异和随机的加入和退出严重影响整个组播树的稳定性,上层应用层链路的拥塞会直接影响下层链路;占系统很大比例的叶节点的出口带宽没有得到有效利用,存在免费搭车的情况,有碍整个系统的公平性,具体到“NICE”模式中,作为代表节点,入度为“1”但出度大于“1”,当该代表节点下载一份数据包时,要传输该份数据包给多个其他节点,对于普通用户的主机来说,有碍公平性,难以推广;以“NICE”模式为例,众多位于底层的节点只能从一个代表节点获得数据流,所以数据分发效率较低;另外,有些节点的出口带宽不稳定或比较小,不足以为其他节点提供完整数据流,这些节点的出口带宽也会浪费。
发明内容
本发明的目的是提供一种应用层组播业务实现方法、终端和系统,以提高组播网络的稳定性和可靠性,减少节点加入或退出对已有节点网络的影响,并且在数据源有限的情况下,能够充分利用网络中各个节点的出口带宽,从而提高网络中的数据分发效率,提供大规模的组播网络,减小局部数据传输过载拥塞对整个网络中数据传输的影响,从而提高节点网络中的数据传输效率、可扩展性和可靠性。
为实现上述目的,本发明提供了一种应用层组播业务实现方法,包括如下步骤:
节点加入组播网络,成为组播网络中一父节点的子节点;
节点在本地建立父节点信息、兄弟节点表、父兄节点表和子节点表;
节点采集父节点的节点信息以更新本地的父节点信息,获取父节点的子节点表以更新本地的兄弟节点表,获取父节点的兄弟节点表以更新本地的父兄节点表。
为实现上述目的,本发明还提供了一种应用层组播业务实现终端,包括:
父节点信息存储模块,用于存储父节点信息,该父节点信息记录该终端的父节点的节点信息;
兄弟节点表存储模块,用于存储兄弟节点表,该兄弟节点表记录该终端的兄弟节点的节点信息;
父兄节点表存储模块,用于存储父兄节点表,该父兄节点表记录该终端父节点的兄弟节点的节点信息;
子节点表存储模块,用于存储子节点表,该子节点表记录该终端的子节点的节点信息;
信息更新模块,分别与父节点信息存储模块、兄弟节点表存储模块、父兄节点表存储模块和子节点表存储模块相连,用于与该终端所连接的父节点、兄弟节点和子节点分别相连,并根据获取到的更新信息对父节点信息、兄弟节点表、父兄节点表和子节点表进行更新。
为实现上述目的,本发明又提供了一种应用层组播业务实现网络,包括至少一个根节点和连接在该根节点下、分别位于多层的数个叶节点,其中:采用本发明的应用层组播业务实现终端作为叶节点;且该根节点至少包括子节点表存储模块、信息更新模块、分割模块和下发模块。
上述应用层组播业务实现系统相当于一个组播网络,其中的各个叶节点可以为多个叶节点的父节点,同时也可以为另一叶节点的子节点,能够兼具父节点和子节点的地位,该应用层组播业务实现系统实际为多层次的节点网络结构。
由以上技术方案可知,本发明采用在节点上维护父节点信息、兄弟节点表、父兄节点表和子节点表的技术手段,增强了组播网络中节点的关联性,克服了组播网络节点发生异常退出或频繁加入新节点对网络中数据分发途径造成影响的技术问题,通过维护上述信息,可以提高组播网络的可靠性,可扩展性,在数据源有限的前提下能够形成较大规模的组播网络,并且各节点不仅存储有父节点信息,还存储有兄弟节点信息,能够实现与兄弟节点的交互,从而为利用兄弟节点的出口带宽传输数据提供了保障,因此也能够有效提高网络中的数据传输速率,充分利用带宽资源。
下面通过具体实施例并结合附图对本发明做进一步的详细描述。
附图说明
图1为本发明应用层组播业务实现方法所基于的组播网络结构示意图;
图2为本发明应用层组播业务实现方法具体实施例一的流程图;
图3为本发明应用层组播业务实现方法具体实施例二的流程图;
图4为本发明应用层组播业务实现方法具体实施例三的流程图;
图5为本发明应用层组播业务实现方法具体实施例四的流程图;
图6为本发明应用层组播业务实现方法具体实施例五的流程图;
图7为本发明应用层组播业务实现方法具体实施例六的流程图;
图8为本发明应用层组播业务实现方法具体实施例七的流程图;
图9为本发明应用层组播业务实现终端具体实施例的结构示意图;
图10为本发明应用层组播业务实现系统具体实施例中根节点的结构示意图。
具体实施方式
本发明是基于组播网络实现的,组播网络由众多节点组成,如图1所示。节点一般可分为两类:根节点和叶节点,图1所示的节点A即为一个根节点,其余节点为叶节点。根节点一般是数据源,是数据内容的发布者,不再连接有上层节点。叶节点是连接在根节点或其他叶节点之下的节点。如图1所示,节点A为一层,节点B和节点C位于同一层中,节点D、E、F和G位于同一层中,且节点H、I、J和K位于最底的一层中,位于同一层且连接在同一父节点上的节点相互为兄弟节点。从另一个角度来看,节点又可分为父节点和子节点两类,父节点和子节点是上、下层节点的关系,一个父节点可以有多个子节点,通常可以设定为20~30个,而一个子节点只能连接在一个父节点之下。以其中的节点E为例,节点E既是节点B的子节点,又是节点J和节点K的父节点。一个父节点和连接在其上的多个子节点定义为一个组播群。本发明的组播网络采用分层分群的方式来实现。
在组播网络中进行数据分发是组播网络的基本业务,尤其是对流媒体数据的分发。在下述实施例中,为描述清楚,从图1组播网络中的节点E角度出发,以该叶节点在流媒体数据包分发过程中执行的流程为例,介绍本发明的应用层组播业务实现方法,该节点E执行的流程可普遍适用于组播网络中的任一叶节点。对于应用层组播业务的实现来说,主要包括组播网络的维护调整过程以及数据包的分发传输过程,下面分别进行介绍。
如图2所示为本发明应用层组播业务实现方法具体实施例一的流程图,该方法是在组播网络中实现数据应用层组播业务时,对组播网络进行维护调整的过程,具体为节点E作为新节点加入组播网络的流程,包括如下步骤:
步骤101、节点E加入组播网络,成为该组播网络中节点B的子节点,节点B成为节点E的父节点;
步骤102、节点E在本地建立父节点信息、兄弟节点表、父兄节点表和子节点表;
步骤103、节点E采集所加入的节点B的节点信息,以此来更新本地的父节点信息,获取其父节点,即节点B的子节点表以更新本地的兄弟节点表,并获取节点B的兄弟节点表以更新本地的父兄节点表,此时,节点B的子节点D即成为节点E的兄弟节点,节点B的兄弟节点C即成为节点E的父兄节点。
本实施例中,节点加入组播网络之后即成为一个父节点的子节点,可以加入到根节点下,也可以加入到一个叶节点下。在组播网络中的每个节点都维护有下述数据结构:父节点信息、兄弟节点表、父兄节点表和子节点表。在组播网络的一个组播群中,父节点就是该群的种子节点为其他子节点提供数据源,并且父节点也是该群的控制节点,维护其他节点的信息,控制群内节点的加入和退出,父节点信息记录父节点的节点信息,包括父节点的标识和位置等信息;兄弟节点表记录组播群内与该子节点同层的其他子节点的节点信息,兄弟节点表的作用类似于P2P文件分发协议中的邻居节点表;父兄节点表记录其父节点的兄弟节点信息,即与父节点同层的其他节点的信息,当父节点异常退出时,子节点可以从父兄节点获得数据,能够降低父节点退出对该组播群的影响;子节点表记录该节点的子节点信息,包括各子节点地址和到这些子节点之间的距离,用于维护组播树的拓扑结构。其中,位于最底层的叶节点的子节点表为空,而根节点的父节点信息、兄弟节点表和父兄节点表为空。
在本实施例的基础上,子节点除更新本地信息之外,还可以在该节点加入父节点之时或之后,应父节点要求或者主动向父节点上报自身的节点信息,以更新该父节点中的子节点表。
在本实施例的技术方案中,对于一个新加入的节点来说,其上未连接子节点,也就不需要更新子节点表。但在该节点加入一个父节点之时或之后,还有可能有其他节点加入到该节点上成为其子节点。则在节点加入组播网络之时或之后,还可执行下述步骤:节点接收到其他节点发送的加入请求,并当回复确认该加入请求以确认能够加入后,节点即从发送加入请求的节点中采集其节点信息,以更新本地的子节点表。
本实施例的技术方案实现了每个节点在加入组播网络时即建立并维护父节点信息、父兄节点表、兄弟节点表和子节点表,能够保证节点之间的联系。任意一个节点不仅记录有父节点信息,同时还记录有父兄节点信息,当父节点异常退出后,子节点可以从父兄节点表中了解与父节点同层的节点信息,则可以降低节点退出时对该组播群的影响。并且节点上还记录有兄弟节点表,则节点不仅能够从父节点获取信息,而且能够从同层的兄弟节点获取信息,则同样能够降低节点退出对网络造成的影响。本实施例有效降低了单节点失效对整个组播网络造成的影响,具有稳定性高的优点。
如图3所示为本发明应用层组播方法具体实施例二的流程图,本实施例以实施例一为基础,具体为步骤101中节点E加入组播网络,成为该组播网络中节点B的子节点具体实现方式:
步骤1011、节点E向组播网络的根节点,即向节点A发送加入测试请求,且此时记该根节点为父节点;
步骤1012、节点E从父节点接收该父节点的子节点表;
步骤1013、节点E从父节点的子节点表中解析获取其记载的节点信息,即获取到父节点的已有子节点,而后节点E对父节点和父节点的所有子节点通过“PING”方式分别进行延时测试,即测试节点之间的网络延时;
步骤1014、节点E根据延时测试结果,首先判断父节点的延时是否最小,若是,则执行步骤1016,否则,执行步骤1015;
步骤1015、此时父节点的延时并非最小,那么节点E考虑剩余节点的延时结果,将延时最小的节点作为新的目标父节点,向新的父节点发送加入测试请求,并执行步骤1012;
步骤1016、节点E向当前的父节点发送加入确认请求;
步骤1017、节点E判断接收自父节点的返回消息是否为加入成功报文,若否,则证明节点不能成功加入该父节点,则该节点丢弃对该父节点的延时测试结果,并执行步骤1015,若是,则节点可成功加入组播网络,成为该父节点的子节点。
本实施例是节点加入组播网络的一般流程,节点通过反复的测试延时,从根节点开始,找到延时最短且允许其加入的父节点。在此过程中,若父节点接收到加入确认请求时,检测到本地所连接的子节点数已经饱和或者因其他原因不能允许该节点加入,那么发送加入失败报文给该节点,若父节点能够允许该节点的加入,则从加入确认请求中采集该节点的节点信息,将其记录在本地的子节点表中,并返回加入成功报文给该节点。而后再执行后续步骤102和步骤103,以便该节点维护自身的父节点信息、兄弟节点表和父兄节点表等。该节点的节点信息可以在加入确认请求中上报,也可以在加入之后进行上报。
本实施例的技术方案实现了节点加入组播网络,并搜寻到允许的、延时最小的父节点,从而能够保证组播网络中各节点之间的组合是最小延时组合,组播网络是最佳的组网方式,具有最优的数据传输速率。
如图4所示为本发明应用层组播业务实现方法具体实施例三的流程图,本实施例可以上述实施例一或二的技术方案为基础,以该新加入的节点E为例,在节点E更新完成本地的兄弟节点表之后,执行从其父节点接收组播分发数据的流程,具体步骤可以为:
步骤A1、节点E接收父节点B传输的数据片;
步骤A2、节点E向其兄弟节点D传输从父节点B直接获取的数据片,并从其兄弟节点D采集兄弟节点D从父节点B获取的其他数据片,其兄弟节点D就是节点E本地兄弟节点表中记载的节点,在实际应用中,一个组播群中的子节点通常有多个,兄弟节点数量根据具体情况而定;
步骤A3、节点E将从父节点B处和兄弟节点D处接收的多个数据片拼接为一个完整的数据段,而后对该数据段进行处理。
在本实施例中,在节点接收父节点下发的数据片之前,父节点可以将待分发的数据包顺序地分割为多个数据段,并将每个数据段都任意分割为多个数据片,较佳的是按照自身子节点的数量分配,而后父节点按照数据段的顺序,依次将各个数据段的数据片分别下发给本地子节点表中记载的不同子节点,使各个子节点获取同一数据段中的不同数据片。
本实施例中,每个组播群构成了一个以父节点为种子节点的P2P网络,每个子节点不仅可以从父节点获得数据片还可以从其兄弟节点获得数据片。较佳的情况下,父节点只提供一个复本,经过子节点之间交换数据片就可以使其所有子节点都能够获得完整的数据段复本。本实施例的技术方案尤其适用于流媒体直播需要实时播放的数据分发业务。若对整个数据包进行随机选片算法分片后下发给子节点,再进行子节点的交互,那么数据片的到达会相对分散,必然造成较大的延时。如果采用顺序选片算法分片后再下发,那么子节点就只能够从父节点获取数据片,这是传统的基于组播树的组播方法,具有不能利用兄弟节点间出口带宽的缺陷。本实施例的技术方案有效的解决了上述两方面的技术问题,可以将数据包划分为若干大小相等的数据段,再将每个数据段划分为若干个数据片。而后顺序分发数据段,分发每个数据段时,是随机分发每个数据段的数据片。这样在下发完一个数据段的所有数据片之后,子节点的兄弟节点之间可以交互数据片,当子节点获取一个完整的数据段之后就可以进行数据处理。通常情况下,一个数据段就是一个可独立播放的流媒体片段,节点能够顺序播放各个数据段,基本上能够实现流媒体数据包的实时性要求,该技术方案尤其适用于对实时性要求不高的流媒体数据的分发。该方案同时也实现了充分利用各个节点的出口带宽,而解决了现有技术中大部分节点作为子节点时只收不发而浪费出口带宽的问题。有效利用了网络节点之间的带宽,自然能够大幅度的提高数据分发的效率,降低延时。所以本实施例的组播网络具有系统容量大,负载均衡等优点。
如图5所示为本发明应用层组播业务实现方法具体实施例四的流程图,本实施例以实施例三的技术方案为基础,在本实施例中,父节点和子节点之间,以及兄弟节点之间的数据片传输方式可以选用推送和请求两种方式。所谓推送方式即主动将数据发送给目标节点。所谓请求方式,是通过向目标节点发送请求的方式来获取数据片。在同一组播网络中,特别是传输流媒体文件的组播网络中,各个节点加入该组播网络的目的通常就是获取某一个或某些流媒体文件。而在该组播网络中传输的这些流媒体文件则以默认的某种格式编码,并以相应的软件播放,加入该组播网络的节点为获取并播放该流媒体文件,可以在加入组播网络之前或之后从相应的服务器上下载所需的软件,存储该默认格式有关的信息,即位图(map)。父节点可按照默认的位图格式对数据包进行分段和分片,每个数据片可对应位图中的一个数据槽,当节点加入组播网络并接收到数据片后,可按照默认的位图格式将数据片填入对应的数据槽进行拼接组合,并且能够更新一个位图信息以标识本地已有哪些数据片,以及还缺少哪些数据片。依据该位图信息,节点可以通过获取兄弟节点位图信息的方式,来获知兄弟节点已获取的数据片,然后随机请求兄弟节点有而本地没有的数据片进行下载。推送方式和请求方式各有优点,可以结合使用,当一个流媒体数据包从根节点向各层子节点分发数据时,较佳的实施方式可以是将步骤A1替换为:
步骤A1′、节点接收父节点采用推送方式向其直接相连的子节点下发的数据片,以保证不同的子节点获取数据段的不同数据片,特别是当该父节点为根节点时尤其适应于这种方式。
步骤A2可替换为:
步骤A21′、当节点接收到其兄弟节点发送的数据片获取请求时,向发送数据片获取请求的兄弟节点发送对应的数据片;
步骤A22′、节点向其兄弟节点发送数据片获取请求,并从其兄弟节点接收该兄弟节点发送的对应的数据片。
步骤A3可替换为:
步骤A31′、节点判断本地已有的多个数据片是否能拼接成一完整的数据段,若是则拼接后播放处理,若否,则执行步骤A32′;
步骤A32′、节点查询本地所需的数据片,并向父节点或该节点的兄弟节点发送数据片获取请求,而后接收对应的数据片,可以反复执行步骤A31′和A32′,直至将数据片拼接成为完整数据段时进行处理。
通常情况下,节点加入组播网络的目的就是获取某一流媒体文件,所以在节点更新本地的信息之后,就可以根据本地的父节点信息和/或子节点表,向父节点和/或兄弟节点发送数据片获取请求,并接收对应的数据片。
在具体实现过程中,父节点在分割数据片时,可以根据默认的位图格式为每个数据片设置标识,不仅作为该数据片的唯一标志,同时标志该数据片在数据段中的顺序,以便于节点进行拼接。
在本实施例中涉及的数据片获取请求的方式可以有多种,在具体应用中可以任选其一或组合使用。例如,数据片获取请求的一种具体实现方式可以为:在数据片获取请求中不设置任何参数,当节点接收到兄弟节点发送的数据片获取请求,并检测到其中不包含任何参数时,可以默认地将自身从父节点直接获取的数据片发送给该兄弟节点,实现与兄弟节点的交互。这种方式能够实现该父节点下的所有子节点通过交互就可以获取该数据段的所有数据片,由于父节点向每个子节点推送的数据片不同,因此几乎每个节点之间都有可用的分片,并且这样方式不会发生数据片交互重复的现象。
数据片获取请求的另一种具体实现方式可以为:节点可以通过在数据片获取请求中设置数据片标识的方式来指定需要获取的数据片。当节点接收到兄弟节点发送的数据片获取请求,并解析出其中的数据片标识时,根据数据片标识在本地查询对应的数据片,并当查询到对应的数据片时发送给该兄弟节点。节点在与兄弟节点交互后,本地存储的数据片不止从父节点获取的一个,还包括从兄弟节点获取的多个数据片。若某个节点异常退出而无法完成与所有兄弟节点的交互时,则可以通过指定数据片的方式从其他节点获取。某节点接收到数据片获取请求时,即检测其中是否包含数据片标识,若未包含,则直接发送从父节点获取的数据片,若包含有数据片标识,则在本地查找是否具有此标识的数据片,有则发送该数据片,若无,则回复响应或者直接丢弃该数据片获取请求而不执行操作。当节点在发送了数据片获取请求,请求传输指定数据片后,若在设定的时间内始终未接收到相应数据片,那么可能其他兄弟节点中都没有该数据片,则节点可以向其父节点发送数据片获取请求,从父节点获取指定的数据片,以能够实现最终的数据段拼接和播放。父节点中存储有所有的数据片,所以任意子节点退出时,可以从父节点再次获取相应的数据片复本,不会影响整个数据段的播放。
数据片获取请求的再一种方式可以为:节点可以通过在数据片获取请求中设置位图信息,并将数据片获取请求随机发送给所有兄弟节点的方式来获取数据片。当兄弟节点接收到数据片获取请求,并检测到其中的位图信息时,就可以查找本地是否存储有该节点没有的数据片,若有,则将该数据片传输给该节点。通过这种方式,可以增加节点获取数据片的途径,提高获取速度,使节点迅速获取到本地所缺少的数据片。
在本实施例的技术方案中,结合了推送方式和请求方式的优点,当然,数据片的交互方式也可以单独采用推送方式或请求方式。推送方式的优点是每个节点都记载有自身所连接节点的信息,能够从根节点开始逐层向子节点分发数据片,推送方式下数据片的分发路径确定,当节点网络稳定,没有节点动态加入和退出现象发生时,推送模式的此优点更为突出,数据分发的可靠性和效率均较高。父节点和子节点的相对关系一般比较稳定,因此采用推送方式下发数据片能保证每个子节点获取不同的数据片。请求方式的优点是灵活性和自适应性较高,子节点可以通过请求方式从其兄弟节点或者父节点上获取数据片。当有节点动态加入和退出时,对组播网络的影响可降至最小,这一优点尤其适应于父节点下子节点频繁动态变更的情况。一方面,当某节点的兄弟节点在增加或减少时,该节点难以通过一次推送把数据片分发给所有兄弟节点,新增节点因存在获取某个流媒体文件的需求而加入到组播网络中后,可以通过向兄弟节点和父节点发送数据片获取请求的方式来自行触发对数据片的获取。另一方面,因为某些节点或节点之间的传输链路状态不佳,可能造成该节点或链路成为整个组播网络的瓶颈,一个数据片的传输延迟将造成整个数据段的播放延误。采用请求方式可以有效的解决这一问题,当某一数据片的一种传输路径不畅时,节点在进行数据段拼接时,就会及时的从其他途径获取所需数据片,从而能够保证数据段播放的实时性。
如图6所示为本发明应用层组播业务实现方法具体实施例五的流程图,本实施例以上述实施例为基础,并具体为组播网络中保证节点有效性的实现方法,在本实施例中,组播网络的节点可执行下述步骤以保证其子节点的有效性:
步骤B1、节点为其子节点设置计时器进行计时,并对应每个子节点分别分配失效计数值“TTL”,例如,设置每个子节点初始的失效计数值“TTL”为“5”;
步骤B2、当节点判断出对子节点的计时到达设定周期值时,扫描本地的子节点表,递减所有子节点的失效计数值;
步骤B3、节点分别判断各子节点的失效计数值是否小于失效门限值,若是,则执行步骤B4,若否,则不执行任何操作,继续计时;
步骤B4、节点从本地子节点表中删除失效计数值小于失效门限值的子节点,并将子节点对应的节点删除消息发送给本地子节点表中记载的其他子节点,例如设定失效门限值为“0”,到达计时周期就减“1”,当失效计数值减至“0”时,证明该子节点已失效,则删除该子节点,并通知其他子节点,以更新其他子节点上存储的兄弟节点表。
在上述步骤B1~B4过程中的任意时刻,当节点接收到某个子节点上报的心跳报文时,即判断该子节点对应的失效计数值是否小于累计门限值,当判断结果为是时,则对应递增该子节点的失效计数值,若失效计数值大于累计门限值则不作递增操作,例如累计门限值可以设定为“5”,通常与初始设置的失效计数值一致,通过设置累计门限值,避免失效计数值累计增加至较大的数,那么当子节点在多个周期未上报心跳报文时,无法发现该子节点已失效。
本实施例的技术方案,通过对子节点的心跳监测,能够保证组播网络中各节点的有效性,在子节点异常退出时,能够及时获知,从而调整数据片的推送,避免向失效子节点推送数据片,而其他子节点无法从交互中获取数据片的情况出现。最终能够提高组播网络数据传输的可靠性和效率。
心跳监测一般是相互的,当节点向其父节点周期性上报心跳报文后,会相应的检测到父节点回复的心跳响应,若在设定时间内未接收到回复的心跳响应时,则可以判断该父节点已经失效,那么该节点可以根据本地存储的父兄节点表,对各父兄节点进行延时测试,并向延时最小的父兄节点发送加入测试请求,而后执行节点加入的流程。采用这种方式,节点能够迅速返回组播网络,加入到父兄节点之下成为其子节点,而后继续进行数据交互。该实施方式使节点在监测到父节点失效时能够通过本地存储的父兄节点表来重新加入到新的父节点中,避免了节点异常退出和失效时对其子节点的影响,提高了数据传输的可靠性。
如图7所示为本发明应用层组播业务实现方法具体实施例六的流程图,本实施例具体为组播网络为实现应用层组播业务而执行的网络维护流程,即有节点正常退出的流程,仍以图1中的节点E为例,当节点E上某一子节点退出时,节点E可执行如下步骤:
步骤C1、节点接收其子节点发送的退出请求;
步骤C2、节点从本地的子节点表中删除对应的子节点,并发送对应的节点删除消息给本地子节点表中记载的其他子节点,以更新各子节点上的兄弟节点表,进一步的,该节点还可以将原发送给该退出子节点的数据片重新推送给其他子节点,以避免该子节点退出对其他子节点的影响。
在本实施例中,该节点作为一个父节点,连接在其上的子节点在接收到父节点发送的节点删除消息后,根据该节点删除消息更新本地的兄弟节点表。
在本实施例的基础上,当子节点更新了本地的兄弟节点表之后,会向连接在本地的子节点继续发送该节点删除消息,该子节点的兄弟节点相当于其下层节点的父兄节点,所以继续下发节点删除消息可以供下层节点更新父兄节点表。
在组播网络中,大部分节点既是父节点,又是子节点,仍以本实施例的节点E为例,当节点E作为子节点时,节点E可能会接收到其父节点发送的节点删除消息,则根据该节点删除消息在本地查找对应的节点信息,在查找到对应节点后删除该节点信息以进行本地的信息更新。该流程的一种具体情况为:
删除的节点是该节点的兄弟节点,例如图1中的节点D,那么节点E会在本地的兄弟节点表中查找到节点删除消息中对应的节点D,就从兄弟节点表中将此节点删除。并且,进一步的将该节点B的节点删除消息发送给本地的子节点,子节点可以根据该节点删除消息更新其父兄节点表。
上述流程的另一种情况为:
删除的节点是该节点的父兄节点,例如图1中的节点C,那么节点E会在本地的父兄节点表中查找到节点删除消息中对应的节点C,就从父兄节点表中将此节点删除。
本实施例的技术方案,通过发送节点删除消息,使所有与退出节点相关的节点都能够获知该节点已被删除,从而更新相关节点上的信息,保证组播网络节点间的连接关系,避免当一节点退出时对组播网络中数据传输路径的影响。本实施例的技术方案能够提高组播网络的可靠性,提高其数据传输速率。
如图8所示为本发明应用层组播业务实现方法具体实施例七的流程图,本实施例具体为组播网络为实现应用层组播业务而执行的网络维护流程,即节点正常退出流程,仍以图1中的节点E为例,当节点E本身退出时,节点E可执行如下步骤:
步骤D1、节点E首先检测本地子节点表中是否记载有子节点,若是,则执行步骤D2,若否,则执行步骤D5;
步骤D2、节点E检测到节点J和节点K是其子节点,则对其子节点,即对节点J和节点K分别进行延时测试;
步骤D3、节点E根据测试结果至少将本地子节点表发送给延时最小的子节点,本实施例中假设节点J的延时最小,则节点E将本地的子节点表、兄弟节点表、父兄节点表和父节点信息发送给节点J,并且节点E获取节点J的节点信息;
步骤D4、节点E将延时最小子节点作为代替自身的一个父节点,接收到节点E发送的信息的节点J可自举为新的父节点,并根据接收自节点E的子节点表、兄弟节点表、父兄节点表和父节点信息来更新本地信息和其他相关节点的信息,例如将其节点信息发送给子节点表中记载的节点K以更新其父节点信息,同时更新节点K的父兄节点表;
步骤D5、节点E向自身的父节点发送退出请求,该父节点接收到了子节点的退出请求后,即开始执行上述实施例六中的流程。
在本实施例中,某节点在退出前,先检测自身是否连接有子节点,若有,则选择一网络延时最小的子节点作为其子节点的父节点而后再退出组播网络。本实施例的技术方案充分利用了子节点表,能够保证组播网络节点间的连接关系,避免当一节点退出时对组播网络中数据传输路径的影响。从而能够提高组播网络的可靠性,提高其数据传输速率。
采用本发明上述实施例的技术方案来实现应用层组播业务,能够采用分层分群的策略提高服务的用户数量和服务质量;采用分段再分片的方法分发数据包,在一定程度上保证了数据内容分发的实时性;在组播群内采用P2P的分发方式提高数据段的分发速度,分散了带宽的压力,降低了节点退出对组播群内其他节点传输数据片的影响;通过保存父节点的兄弟节点信息,减少父节点退出对其子节点的影响。
本发明的应用层组播业务实现方法能够在数据源服务能力有限的情况下,提供一种大规模、高可靠性的应用层组播业务实现方案。
如图9所示为本发明应用层组播业务实现终端具体实施例的结构示意图,该实现终端可以作为组播网络中的任意叶节点来实现本发明的应用层组播业务实现方法。仍以图1中的节点E为例,该实现终端,即节点E的结构具体包括:父节点信息存储模块10,用于存储父节点信息,该父节点信息记录该节点E的父节点B的节点信息;兄弟节点表存储模块20,用于存储兄弟节点表,该兄弟节点表记录该节点E的兄弟节点D的节点信息,当然,兄弟节点的数量往往为多个;父兄节点表存储模块30,用于存储父兄节点表,该父兄节点表记录该节点E父节点B的兄弟节点C的节点信息,父兄节点通常也为多个;子节点表存储模块40,用于存储子节点表,该子节点表记录该节点E的子节点J和K的节点信息;信息更新模块50,分别与父节点信息存储模块10、兄弟节点表存储模块20、父兄节点表存储模块30和子节点表存储模块40相连,用于与节点E所连接的父节点B、兄弟节点D和子节点J、K分别相连,并根据获取到的更新信息对本地各模块中存储的父节点信息、兄弟节点表、父兄节点表和子节点表进行更新。该更新信息的具体内容可以有多种,例如:在节点E加入父节点B时从父节点B采集的父节点信息、父节点的子节点表和父节点的兄弟节点表,或者为父节点B向节点E发送的某节点删除信息,或者还可以为节点E的子节点发送的退出请求等。更新信息即节点之间交互的、用于维护组播网络结构关联性的信息,并不限于上述几种。
在上述实施例的基础上,如图9所示,应用层组播业务实现终端还可以进一步包括:心跳交互模块60,用于与终端所连接的父节点和/或子节点交互心跳报文;心跳监测模块70,用于监测心跳交互模块60中心跳报文的交互情况,将监测结果作为更新信息传输给信息更新模块50。心跳交互模块60和心跳监测模块70具体可以用于执行本发明应用层组播实现方法实施例五的流程,用于保证组播网络中节点的有效性。当发现节点失效时,能够及时补救,从而提高组播网络中流媒体数据传输的可靠性。
在本实施例中,应用层组播业务实现终端可以具体采用如下结构来实现数据传输:数据存储模块80,用于接收并存储父节点传输的数据片;交互模块90,用于根据兄弟节点表模块20中存储的兄弟节点表,与终端的兄弟节点分别交互传输从父节点获取的数据片;处理模块100,用于将数据存储模块80中存储的多个数据片拼接为数据段或数据包进行播放处理。上述结构如图9所示。进一步地,该交互模块90(图中未示其与兄弟节点的连接关系)可具体包括以下单元:获取请求单元91,用于向终端的兄弟节点发送数据片获取请求,并将接收到的对应的数据片存储到数据存储模块80中;请求响应单元92,用于当接收到终端的兄弟节点发送的数据片获取请求时,根据数据片获取请求发送本地直接从父节点获取的数据片、或发送数据片获取请求中标识的数据片、或根据数据片获取请求中的位图信息发送相应的数据片。
当本实施例的应用层组播业务实现终端作为组播网络中的父节点时,再该实现终端已接收到完整的数据包后,则需要将该数据包分发给其子节点。则该实现终端进一步包括:分割模块110,用于将待分发的数据包顺序分割为多个数据段,并将数据段分割为多个数据片;下发模块120,用于按照数据段的顺序,依次将各个数据段的数据片根据子节点表存储模块40中的子节点表分别下发给各子节点。
上述应用层组播业务实现终端实施例的技术方案可以执行本发明应用层组播业务实现方法任意实施例的技术方案,该实现终端中的信息更新模块可以兼具控制功能,对接收自其他节点的信息进行相应的处理,其主要功能是更新节点上的信息,维护组播网络的连接结构。
本发明的应用层组播业务实现终端能够存储并维护更新父节点信息、兄弟节点表、父兄节点表和子节点表,能够增强组播网络中各节点之间的关联性,避免了组播网络节点发生异常退出或频繁加入新节点对网络中数据分发途径造成影响的问题,通过维护上述信息,可以提高组播网络的可靠性,可扩展性,在数据源有限的前提下能够形成较大规模的组播网络,并且各节点不仅存储有父节点信息,还存储有兄弟节点信息,能够实现与兄弟节点的交互,从而为利用兄弟节点的出口带宽传输数据提供了保障,因此也能够有效提高网络中的数据传输速率,充分利用带宽资源。
在本发明应用层组播业务实现系统的具体实施例中,包括至少一个根节点和连接在根节点下、分别位于多层的数个叶节点,其具体结构可参见图1。其中,可采用本发明应用层组播业务实现终端任意实施例来作为叶节点;且该根节点的结构与叶节点的结构类似,如图10所示,可以至少包括子节点表存储模块40、信息更新模块50、数据存储模块80、分割模块110和下发模块120。因为根节点没有兄弟节点和父节点,所以可以不必包括父节点信息存储模块、兄弟节点表存储模块和父兄节点表存储模块。
本发明应用层组播业务实现系统可执行本发明应用层组播业务实现方法任意实施例的技术方案,采用分层分群的方法解决了单数据源构造大规模应用层组播树的问题;在群内采用P2P的分布式分发方式将数据包分段再分片后很快的扩散到其他节点,降低了单点失效对整个系统的影响,充分利用了组播树中叶子节点的出口带宽,提高系统的公平性;本发明具有稳定性高,可扩展性大,系统容量大,负载均衡等优点;适合于准实时性的流媒体分发应用。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (26)

1、一种应用层组播业务实现方法,其特征在于包括:
节点加入组播网络,成为所述组播网络中一父节点的子节点;
所述节点在本地建立父节点信息、兄弟节点表、父兄节点表和子节点表;
所述节点采集所述父节点的节点信息以更新本地的父节点信息,获取所述父节点的子节点表以更新本地的兄弟节点表,获取所述父节点的兄弟节点表以更新本地的父兄节点表。
2、根据权利要求1所述的应用层组播业务实现方法,其特征在于,在所述节点加入所述组播网络之时或之后,还包括:所述节点向所述父节点上报自身节点信息以更新所述父节点的子节点表。
3、根据权利要求1所述的应用层组播业务实现方法,其特征在于,在所述节点加入所述组播网络之时或之后,还包括:当所述节点接收到加入请求并回复确认后,从发送所述加入请求的节点中采集节点信息以更新本地的子节点表。
4、根据权利要求1或2或3所述的应用层组播业务实现方法,其特征在于,所述节点加入所述组播网络,成为所述组播网络中一父节点的子节点具体为:
步骤1011、所述节点向所述组播网络的根节点发送加入测试请求,且记所述根节点为父节点;
步骤1012、所述节点接收所述父节点的子节点表;
步骤1013、所述节点对所述父节点和所述父节点的子节点分别进行延时测试;
步骤1014、所述节点根据延时测试结果判断所述父节点的延时是否最小,若是,则执行步骤1016,否则,执行步骤1015;
步骤1015、所述节点将延时最小的节点作为新的父节点,向所述父节点发送加入测试请求,并执行步骤1012;
步骤1016、所述节点向所述父节点发送加入确认请求;
步骤1017、所述节点判断接收自所述父节点的返回消息是否为加入成功报文,若否,则所述节点丢弃所述父节点的延时测试结果,并执行步骤1015,若是,则所述节点加入组播网络,成为所述父节点的子节点。
5、根据权利要求1所述的应用层组播业务实现方法,其特征在于,在所述节点更新本地的信息之后,还包括:
所述节点接收所述父节点传输的数据片;
所述节点与其兄弟节点分别交互传输从父节点获取的数据片;
所述节点将多个数据片拼接为数据段进行处理。
6、根据权利要求1所述的应用层组播业务实现方法,其特征在于,在所述节点更新本地的信息之后,还包括:所述节点根据本地的父节点信息和/或子节点表,向所述父节点和/或兄弟节点发送数据片获取请求,并接收对应的数据片。
7、根据权利要求5所述的应用层组播业务实现方法,其特征在于,在所述节点接收父节点传输的数据片之前还包括:所述父节点将待分发的数据包顺序分割为多个数据段,并将所述数据段分割为多个数据片,所述父节点按照所述数据段的顺序依次将各个数据段的数据片分别下发给所述节点和所述节点的兄弟节点。
8、根据权利要求7所述的应用层组播业务实现方法,其特征在于,所述节点接收所述父节点传输的数据片具体为:所述节点接收所述父节点采用推送方式下发的数据片。
9、根据权利要求8所述的应用层组播业务实现方法,其特征在于,所述节点与其兄弟节点分别交互传输从父节点获取的数据片具体为:
当所述节点接收到其兄弟节点发送的数据片获取请求时,向发送所述数据片获取请求的兄弟节点发送对应的数据片;
所述节点向其兄弟节点发送数据片获取请求,并从其兄弟节点接收对应的数据片。
10、根据权利要求9所述的应用层组播业务实现方法,其特征在于,当所述节点接收到其兄弟节点发送的数据片获取请求时,向发送所述数据片获取请求的兄弟节点发送对应的数据片具体为:当所述节点接收到其兄弟节点发送的数据片获取请求时,将所述节点从所述父节点直接获取的数据片传输给发送数据片获取请求的兄弟节点。
11、根据权利要求9所述的应用层组播业务实现方法,其特征在于,当所述节点接收到其兄弟节点发送的数据片获取请求时,向发送所述数据片获取请求的兄弟节点发送对应的数据片具体为:当所述节点接收到其兄弟节点发送的数据片获取请求,并从所述数据片获取请求中解析获取到数据片标识时,根据所述数据片标识在本地查询对应的数据片,并当查询到对应的数据片时发送。
12、根据权利要求9所述的应用层组播业务实现方法,其特征在于,当所述节点接收到其兄弟节点发送的数据片获取请求时,向发送所述数据片获取请求的兄弟节点发送对应的数据片具体为:当所述节点接收到其兄弟节点发送的数据片获取请求,并从所述数据片获取请求中解析获取到位图信息时,根据所述位图信息在本地查询对应的数据片,并当查询到对应的数据片时发送。
13、根据权利要求7所述的应用层组播业务实现方法,其特征在于,所述节点将多个数据片拼接为数据段进行处理的步骤具体为:
当所述节点判断出本地的多个数据片不能拼接成一完整的数据段时,向所述父节点和/或所述节点的兄弟节点发送数据片获取请求,而后接收对应的数据片,将所述数据片拼接成为数据段进行处理。
14、根据权利要求13所述的应用层组播业务实现方法,其特征在于,向所述父节点和所述节点的兄弟节点发送数据片获取请求具体为:所述节点向其兄弟节点发送数据片获取请求,当未接收到对应的数据片时,向所述父节点发送数据片获取请求。
15、根据权利要求1所述的应用层组播业务实现方法,其特征在于,在所述节点加入组播网络之后,还包括:当所述节点接收到其子节点发送的退出请求时,所述节点从本地的子节点表中删除对应的子节点,并发送对应的节点删除消息给本地子节点表中记载的其他子节点进行更新。
16、根据权利要求1所述的应用层组播业务实现方法,其特征在于,在所述节点加入组播网络之后,还包括:当所述节点接收到其父节点发送的节点删除消息时,根据所述节点删除消息更新本地的兄弟节点表和/或父兄节点表。
17、根据权利要求16所述的应用层组播业务实现方法,其特征在于,在所述节点根据节点删除消息更新本地兄弟节点表之后,还包括:所述节点发送所述节点删除消息给本地连接的子节点以更新其父兄节点表。
18、根据权利要求1所述的应用层组播业务实现方法,其特征在于,在所述节点加入组播网络之后,还包括:
步骤D1、所述节点检测本地子节点表中是否记载有子节点,若是,则执行步骤D2,若否,则执行步骤D5;
步骤D2、所述节点对其子节点分别进行延时测试;
步骤D3、所述节点根据测试结果至少将本地子节点表发送给延时最小的子节点,并获取所述延时最小的子节点的节点信息;
步骤D4、所述延时最小子节点自举为新的父节点,根据接收自所述节点的信息进行本地更新并至少发送信息对所述节点的其他子节点进行更新;
步骤D5、所述节点向其父节点发送退出请求。
19、根据权利要求1所述的应用层组播业务实现方法,其特征在于,在所述节点加入组播网络后,还包括:
所述节点为其子节点设置计时器,并分别分配失效计数值;
当所述节点判断计时到达设定周期值时,递减所有子节点的失效计数值;
当所述节点接收到心跳报文,并判断出上报该心跳报文的子节点对应的失效计数值小于累计门限值时,递增所述子节点的失效计数值;
当所述节点判断出失效计数值小于失效门限值时,从本地子节点表中删除对应的子节点,并将对应的节点删除消息发送给本地子节点表中记载的其他子节点进行更新。
20、根据权利要求1或16或17或19所述的任一应用层组播业务实现方法,其特征在于,在所述节点加入组播网络后,还包括:所述节点向其父节点发送心跳报文,当在设定时间内未接收到回复的心跳响应时,所述节点根据本地的父兄节点表,对各父兄节点进行延时测试,并向延时最小的父兄节点发送加入测试请求。
21、一种应用层组播业务实现终端,其特征在于,包括:
父节点信息存储模块,用于存储父节点信息,所述父节点信息记录所述终端的父节点的节点信息;
兄弟节点表存储模块,用于存储兄弟节点表,所述兄弟节点表记录所述终端的兄弟节点的节点信息;
父兄节点表存储模块,用于存储父兄节点表,所述父兄节点表记录所述终端父节点的兄弟节点的节点信息;
子节点表存储模块,用于存储子节点表,所述子节点表记录所述终端的子节点的节点信息;
信息更新模块,分别与所述父节点信息存储模块、兄弟节点表存储模块、父兄节点表存储模块和子节点表存储模块相连,用于与所述终端所连接的所述父节点、所述兄弟节点和所述子节点分别相连,并根据获取到的更新信息对所述父节点信息、兄弟节点表、父兄节点表和子节点表进行更新。
22、根据权利要求21所述的应用层组播业务实现终端,其特征在于,还包括:
心跳交互模块,用于与所述终端所连接的父节点和/或子节点交互心跳报文;
心跳监测模块,用于监测心跳交互模块中心跳报文的交互情况,将监测结果作为所述更新信息传输给所述信息更新模块。
23、根据权利要求21所述的应用层组播业务实现终端,其特征在于,还包括:
数据存储模块,用于接收并存储所述父节点传输的数据片;
交互模块,用于根据兄弟节点表模块中存储的兄弟节点表,与所述终端的兄弟节点分别交互传输从所述父节点获取的数据片;
处理模块,用于将所述数据存储模块中存储的多个数据片拼接为数据段或数据包进行处理。
24、根据权利要求23所述的应用层组播业务实现终端,其特征在于,所述交互模块包括:
获取请求单元,用于向所述终端的兄弟节点发送数据片获取请求,并将接收到的对应的数据片存储到所述数据存储模块中;
请求响应单元,用于当接收到所述终端的兄弟节点发送的数据片获取请求时,根据所述数据片获取请求发送本地直接从父节点获取的数据片、或发送所述数据片获取请求中标识的数据片、或根据所述数据片获取请求中的位图信息发送相应的数据片。
25、根据权利要求23所述的应用层组播业务实现终端,其特征在于,还包括:
分割模块,与所述数据存储模块相连,用于将待分发的数据包顺序分割为多个数据段,并将所述数据段分割为多个数据片;
下发模块,用于按照所述数据段的顺序,依次将各个数据段的数据片根据所述子节点表存储模块中的子节点表分别下发给各子节点。
26、一种采用权利要求21~25所述的任一应用层组播业务实现终端的应用层组播业务实现系统,包括至少一个根节点和连接在所述根节点下、分别位于多层的数个叶节点,其特征在于:采用所述应用层组播业务实现终端作为所述叶节点;且所述根节点至少包括所述子节点表存储模块、所述信息更新模块、所述分割模块和所述下发模块。
CN2008101016976A 2008-03-11 2008-03-11 应用层组播网络维护方法、终端和系统 Expired - Fee Related CN101534205B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2008101016976A CN101534205B (zh) 2008-03-11 2008-03-11 应用层组播网络维护方法、终端和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2008101016976A CN101534205B (zh) 2008-03-11 2008-03-11 应用层组播网络维护方法、终端和系统

Publications (2)

Publication Number Publication Date
CN101534205A true CN101534205A (zh) 2009-09-16
CN101534205B CN101534205B (zh) 2011-12-07

Family

ID=41104608

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008101016976A Expired - Fee Related CN101534205B (zh) 2008-03-11 2008-03-11 应用层组播网络维护方法、终端和系统

Country Status (1)

Country Link
CN (1) CN101534205B (zh)

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101795234A (zh) * 2010-03-10 2010-08-04 北京航空航天大学 一种基于应用层组播算法的流媒体传输方案
CN102420696A (zh) * 2011-08-17 2012-04-18 大唐移动通信设备有限公司 一种动态组网方法、指挥中心节点及系统
CN102624565A (zh) * 2012-03-13 2012-08-01 中国联合网络通信集团有限公司 应用层组播系统中单点故障的处理方法
CN102882900A (zh) * 2011-07-11 2013-01-16 阿里巴巴集团控股有限公司 大规模服务器集群应用部署方法和大规模服务器集群
CN103391315A (zh) * 2013-06-27 2013-11-13 杭州东信北邮信息技术有限公司 一种p2p网络文件数据同步方法
CN103401618A (zh) * 2013-08-01 2013-11-20 魏先民 水下传感器网络传输方法及系统
CN102118405B (zh) * 2009-12-31 2014-07-30 比亚迪股份有限公司 一种应用于实时视频数据传输的p2p网络系统
CN105407087A (zh) * 2015-10-28 2016-03-16 杭州数梦工场科技有限公司 消息发送方法和装置
CN105578211A (zh) * 2015-12-16 2016-05-11 深圳市网心科技有限公司 基于无限服务节点的直播加速网络卡顿优化方法及系统
CN106790343A (zh) * 2016-11-03 2017-05-31 深圳市元征软件开发有限公司 一种资源下载方法、及服务器
CN106878097A (zh) * 2015-12-10 2017-06-20 中国电信股份有限公司 一种基于组播的网络接入速率测试方法、装置及系统
CN106911785A (zh) * 2017-03-02 2017-06-30 西安电子科技大学 移动点对点网络mhp2p的架构及相关服务实现方法
CN108347384A (zh) * 2018-01-26 2018-07-31 乐鑫信息科技(上海)有限公司 一种适用于mesh网络内一对多的传输数据包的方法
CN109614397A (zh) * 2018-10-30 2019-04-12 阿里巴巴集团控股有限公司 基于分布式系统获取关系网络的节点序列的方法和装置
CN109992447A (zh) * 2017-12-29 2019-07-09 杭州华为数字技术有限公司 数据复制方法、装置及存储介质
CN110099307A (zh) * 2019-03-19 2019-08-06 视联动力信息技术股份有限公司 一种节点连接方法、视联网及计算机可读存储介质
CN110505280A (zh) * 2019-07-29 2019-11-26 网宿科技股份有限公司 P2p传输的控制方法及p2p节点
CN111211935A (zh) * 2019-12-26 2020-05-29 国家计算机网络与信息安全管理中心 一种高效应用级并发探测实现方法
WO2023025171A1 (zh) * 2021-08-24 2023-03-02 华为技术有限公司 通信方法及装置
CN116881984A (zh) * 2023-09-08 2023-10-13 云筑信息科技(成都)有限公司 一种数据监测方法

Cited By (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102118405B (zh) * 2009-12-31 2014-07-30 比亚迪股份有限公司 一种应用于实时视频数据传输的p2p网络系统
CN101795234A (zh) * 2010-03-10 2010-08-04 北京航空航天大学 一种基于应用层组播算法的流媒体传输方案
CN102882900B (zh) * 2011-07-11 2016-06-22 阿里巴巴集团控股有限公司 大规模服务器集群应用部署方法和大规模服务器集群
CN102882900A (zh) * 2011-07-11 2013-01-16 阿里巴巴集团控股有限公司 大规模服务器集群应用部署方法和大规模服务器集群
CN102420696A (zh) * 2011-08-17 2012-04-18 大唐移动通信设备有限公司 一种动态组网方法、指挥中心节点及系统
CN102624565A (zh) * 2012-03-13 2012-08-01 中国联合网络通信集团有限公司 应用层组播系统中单点故障的处理方法
CN103391315A (zh) * 2013-06-27 2013-11-13 杭州东信北邮信息技术有限公司 一种p2p网络文件数据同步方法
CN103391315B (zh) * 2013-06-27 2016-05-04 杭州东信北邮信息技术有限公司 一种p2p网络文件数据同步方法
CN103401618A (zh) * 2013-08-01 2013-11-20 魏先民 水下传感器网络传输方法及系统
CN105407087B (zh) * 2015-10-28 2019-01-01 杭州数梦工场科技有限公司 消息发送方法和装置
CN105407087A (zh) * 2015-10-28 2016-03-16 杭州数梦工场科技有限公司 消息发送方法和装置
CN106878097B (zh) * 2015-12-10 2019-12-03 中国电信股份有限公司 一种基于组播的网络接入速率测试方法、装置及系统
CN106878097A (zh) * 2015-12-10 2017-06-20 中国电信股份有限公司 一种基于组播的网络接入速率测试方法、装置及系统
CN105578211A (zh) * 2015-12-16 2016-05-11 深圳市网心科技有限公司 基于无限服务节点的直播加速网络卡顿优化方法及系统
CN105578211B (zh) * 2015-12-16 2018-09-07 深圳市网心科技有限公司 基于无限服务节点的直播加速网络卡顿优化方法及系统
CN106790343A (zh) * 2016-11-03 2017-05-31 深圳市元征软件开发有限公司 一种资源下载方法、及服务器
CN106790343B (zh) * 2016-11-03 2020-05-19 深圳市元征软件开发有限公司 一种资源下载方法、及服务器
CN106911785A (zh) * 2017-03-02 2017-06-30 西安电子科技大学 移动点对点网络mhp2p的架构及相关服务实现方法
CN109992447B (zh) * 2017-12-29 2021-06-15 华为技术有限公司 数据复制方法、装置及存储介质
CN109992447A (zh) * 2017-12-29 2019-07-09 杭州华为数字技术有限公司 数据复制方法、装置及存储介质
CN108347384B (zh) * 2018-01-26 2020-12-01 乐鑫信息科技(上海)股份有限公司 一种适用于mesh网络内一对多的传输数据包的方法
CN108347384A (zh) * 2018-01-26 2018-07-31 乐鑫信息科技(上海)有限公司 一种适用于mesh网络内一对多的传输数据包的方法
CN109614397A (zh) * 2018-10-30 2019-04-12 阿里巴巴集团控股有限公司 基于分布式系统获取关系网络的节点序列的方法和装置
CN109614397B (zh) * 2018-10-30 2023-06-20 创新先进技术有限公司 基于分布式系统获取关系网络的节点序列的方法和装置
CN110099307A (zh) * 2019-03-19 2019-08-06 视联动力信息技术股份有限公司 一种节点连接方法、视联网及计算机可读存储介质
CN110099307B (zh) * 2019-03-19 2021-07-09 视联动力信息技术股份有限公司 一种节点连接方法、视联网及计算机可读存储介质
CN110505280A (zh) * 2019-07-29 2019-11-26 网宿科技股份有限公司 P2p传输的控制方法及p2p节点
CN111211935A (zh) * 2019-12-26 2020-05-29 国家计算机网络与信息安全管理中心 一种高效应用级并发探测实现方法
CN111211935B (zh) * 2019-12-26 2021-06-25 国家计算机网络与信息安全管理中心 一种高效应用级并发探测实现方法
WO2023025171A1 (zh) * 2021-08-24 2023-03-02 华为技术有限公司 通信方法及装置
CN116881984A (zh) * 2023-09-08 2023-10-13 云筑信息科技(成都)有限公司 一种数据监测方法
CN116881984B (zh) * 2023-09-08 2024-02-23 云筑信息科技(成都)有限公司 一种数据监测方法

Also Published As

Publication number Publication date
CN101534205B (zh) 2011-12-07

Similar Documents

Publication Publication Date Title
CN101534205B (zh) 应用层组播网络维护方法、终端和系统
CN100461740C (zh) 一种客户端节点网络拓扑构造方法及流媒体分发系统
US9325786B2 (en) Peer-to-peer interactive media-on-demand
Tang et al. GoCast: Gossip-enhanced overlay multicast for fast and dependable group communication
Baehni et al. Data-aware multicast
CA2686978A1 (en) System for broadcasting content to nodes on computer networks
CN101588287B (zh) 对等网络数据调度和下载的方法、装置和系统
CN103096177A (zh) 一种视频点播方法、系统、代理节点及媒体服务器
CN106059936B (zh) 云系统组播文件的方法及装置
US8566681B1 (en) Distributed data distribution
CN102740165A (zh) 对等流媒体直播系统及其中的数据传输方法
CA2577287A1 (en) Systems for distributing data over a computer network and methods for arranging nodes for distribution of data over a computer network
Asaduzzaman et al. CliqueStream: an efficient and fault-resilient live streaming network on a clustered peer-to-peer overlay
CN103051556A (zh) 一种流媒体数据的控制系统及其方法
CN101262360A (zh) 一种实时流媒体多点传输的方法和设备
CN106034106B (zh) 组网方法、组网管理方法以及装置和系统
Hu et al. P2P consistency support for large-scale interactive applications
CN102035894B (zh) 一种基于距离的状态同步方法
Wan et al. An overlay network for replica placement within a P2P VoD network
CA2975031C (en) Systems for distributing data over a computer network and methods for arranging nodes for distribution of data over a computer network
CN101977148B (zh) 内容分发网络节点媒体服务器之间数据交互的方法及系统
Riley et al. Guaranteed broadcasting using SPON: Supervised P2P overlay network
Qiu et al. On the design of incentive-aware p2p streaming
Li et al. Application layer multicast in P2P distributed interactive applications
Ferreira Live Streaming in Overlay Networks

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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20111207

Termination date: 20150311

EXPY Termination of patent right or utility model