CN102307216B - 多媒体电话p2p流媒体广播方法及*** - Google Patents

多媒体电话p2p流媒体广播方法及*** Download PDF

Info

Publication number
CN102307216B
CN102307216B CN 201110063405 CN201110063405A CN102307216B CN 102307216 B CN102307216 B CN 102307216B CN 201110063405 CN201110063405 CN 201110063405 CN 201110063405 A CN201110063405 A CN 201110063405A CN 102307216 B CN102307216 B CN 102307216B
Authority
CN
China
Prior art keywords
node
tree
partner
telephone terminal
streaming media
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.)
Expired - Fee Related
Application number
CN 201110063405
Other languages
English (en)
Other versions
CN102307216A (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.)
Chen Kai
Original Assignee
GUANGZHOU FANWANG VIDEO TECHNOLOGY Co Ltd
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 GUANGZHOU FANWANG VIDEO TECHNOLOGY Co Ltd filed Critical GUANGZHOU FANWANG VIDEO TECHNOLOGY Co Ltd
Priority to CN 201110063405 priority Critical patent/CN102307216B/zh
Publication of CN102307216A publication Critical patent/CN102307216A/zh
Application granted granted Critical
Publication of CN102307216B publication Critical patent/CN102307216B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明涉及一种多媒体电话P2P流媒体广播方法,建立从一个媒体源到若干多媒体电话终端的应用层多播树作为主要广播路径,所述媒体源为所述多播树的根节点,所述多播树中的部分或全部树节点为超级树节点,所述超级树节点同与其内网相同的一个或多个节点组成伙伴关系,所述伙伴关系中的各节点采用P2P方式通信。请求服务的终端优先加入与其内网相同的超级树节点的伙伴关系,或优先以与其内网相同的树节点为超级树节点构建新的伙伴关系基于该方法的***从软硬件方面为实现上述方法提供了支持。采用本发明的方法或***,可以提高网络路由效率、减轻骨干网络压力,是一种经济性好、综合广播性能好的可行的P2P多媒体广播方案,易于推广应用。

Description

多媒体电话P2P流媒体广播方法及***
技术领域
本发明涉及一种基于多播树的广播技术实现的流媒体P2P广播方法及***,特别涉及一种基于固定多媒体可视电话终端实现P2P流媒体广播的方法及***,其核心为如何建立与维护一个以媒体源为根节点的应用层P2P流媒体多播树。
背景技术
大屏幕多业务功能的嵌入式多媒体可视电话走进千家万户,为了推进增值业务,特别是基于可视电话的广告/娱乐媒体业务,如电视广播、视频点播、多媒体广告推播等,都涉及到覆盖网上的流媒体广播技术,需要有相应的软硬件的支持。
可视电话作为流媒体广播的播放终端,数量众多,如果以C/S模式直接进行推送播放,服务器与网络的性能在技术上很难达到满意的效果;采用内容分发网络(CDN,Content Delivery Network)技术,服务器成本太高;采用IP组播技术更受到网络环境的限制;而采用P2P(Peer to Peer)技术是一种更为可行的方案。
但是传统的P2P方式下数据节点和传输是随机的,也就是说这种传输方式可能占据任意一个网络节点或者出口的带宽。P2P过于强调“对等”,每个节点之间的交换完全是无序的。例如,一个北京的用户,既可能和广州的用户进行文件片段的交换,也可能和远在美国的某用户进行交换。显然,无序的交换导致了无谓的跨地区甚至是跨国的“流量旅行”,这耗费了宝贵的国内和国际带宽资源,代价巨大。
发明内容
为了解决上述问题,本发明提供了一种多媒体电话P2P流媒体广播方法及***,为面向多媒体可视电话终端的流媒体增值业务的实现提供了现实可行的技术方案,在有限投资的基础上即可达到应用要求,并获得较好的综合的P2P广播性能。
本发明所采用的主要技术方案是:
一种多媒体电话P2P流媒体广播方法,其核心是建立从一个媒体源到若干多媒体电话终端的应用层多播树作为主要广播路径,所述媒体源为所述多播树的根节点,所述多播树中的部分或全部树节点为超级树节点,所述超级树节点同与其内网相同的一个或多个节点组成伙伴关系,所述伙伴关系中的各节点采用P2P方式通信,请求流媒体服务的多媒体电话终端优先加入与其内网相同的超级树节点的伙伴关系,或优先以与其内网相同的树节点为超级树节点构建新的伙伴关系,当不存在能够与其组成伙伴关系的树节点时,再加入所述多播树成为多播树中的树节点。
所述多播树中的每个树节点周期性地向其父节点和子节点发送心跳包,每个伙伴周期性地向其他伙伴发送心跳包,用以说明本节点或伙伴工作正常,所述心跳包携带的信息包括电话号码、机身ID、节目ID、节目授权串、数据片位图和带宽。
除建立多播树的方法外,所述多媒体电话P2P流媒体广播方法中还包括对所述多播树进行优化调整的节点调整方法,包括入树节点调整方法和/或树中节点调整方法,所述入树节点调整方法为:
当入树请求被转发给所述流媒体推送服务器的一个直接的子节点时,如果所述多媒体电话终端的带宽性能优于该子节点,则所述多媒体电话终端替代该子节点,接管其节点任务,该子节点重新请求入树或成为所述多媒体电话终端的子节点;
当入树请求被转发给某个被父节点选中的子节点时,如果所述多媒体电话终端的带宽性能优于该子节点,则所述多媒体电话终端替代该子节点,接管其节点任务,该子节点重新请求入树或成为所述多媒体电话终端的子节点;
所述树中节点调整方法为:
当所述多播树中的各个树节点或超级树节点的伙伴检测或判断到带宽的较大变化时,通过心跳包将其带宽性能数据通知给其父节点或作为伙伴的超级树节点,接收心跳包的树节点获得其各子节点或伙伴的带宽性能数据,按公式Bn=αBn-1+βB统计各子节点或伙伴的带宽时段值,当其某个子节点的带宽时段值超过该树节点一定值,或者其某个伙伴的带宽时段值超过该树节点一定值,则协商对换该节点与其子节点,或者该树节点与其伙伴在所述多播树中的位置。
上述公式中,Bn为收到第n个心跳的带宽时段值,B为从第n个心跳包中取到的子节点或伙伴的带宽值,α、β分别为权重系数。
所述多媒体电话终端采用二级缓存机制存储所述多媒体电话终端接收的来自其他树节点或伙伴的数据包,一级缓存中存储的数据包无序,用于多媒体电话终端同其他树节点或伙伴进行数据交换,所述一级缓存采用LRU替换策略,替换固定时间内访问次数最少的数据包,所述二级缓存中存储的数据包有序,主要用于本地的媒体播放,所述二级缓存依据流媒体的时序采用先进先出的数据进出方式。
本发明还提供了一种基于上述多媒体电话P2P流媒体广播方法的多媒体电话P2P流媒体广播***,为实现多媒体广播等增值业务提供相应的硬件支持及配套软件,所述***包括:多个多媒体电话终端,用于接收多媒体节目,建立从一个媒体源到若干多媒体电话终端的应用层多播树作为主要广播路径,所述媒体源为所述多播树的根节点,所述多播树中的部分或全部树节点为超级树节点,所述超级树节点与与其内网相同的一个或多个节点组成伙伴关系,所述伙伴关系中的各节点采用P2P方式通信,所述各多媒体电话终端为多播树中的一个树节点或伙伴关系中的一个非超级树节点的伙伴;流媒体推送服务器,用作媒体源,提供原始的流媒体数据,维护和管理广播路径;媒体节目排播服务器,用于根据电话用户的属性分类,综合各媒体客户的播放时段、受众要求,生成各多媒体电话终端的媒体排播表,并在通信业务交换服务器的协助下,分发到各所述多媒体电话终端执行;以及通信业务交换服务器,主要辅助流媒体推送服务器和媒体节目排播服务器对多媒体电话终端进行认证与定位。
其中,所述多媒体电话终端设有与上述多媒体电话P2P流媒体广播方法相配套的流媒体P2P广播组件,属于终端软件,包括四大模块:(1)节点管理模块,用于控制所述多媒体电话终端向广播路径中与其连接的其他节点发送心跳信息,并接收其他节点的心跳信息,动态地维护***中关系节点的视图,了解各关系节点的带宽能力,需要时进行优化调整协商;(2)伙伴管理模块,用于向其所在伙伴关系中的伙伴发送心跳信息,接收其他伙伴的心跳信息,动态地维护***中伙伴关系的视图,建立伙伴关系内的协作关系,并适时地维护与伙伴之间的本地数据缓冲状况,进行信息交互,为数据缓冲/管理模块提供链路支持,了解各伙伴的带宽能力,需要时进行优化调整协商;(3)数据缓冲/管理模块,用于根据音视频接口模块以及与树节点/伙伴的交互信息,动态地与树节点/伙伴进行数据交换,并维护本地数据缓冲状况;(4)音视频接口模块,用于从所述数据缓冲/管理模块中获得媒体数据,并且通过集成的媒体播放器播放。
本发明的有益效果:
本发明以电话号码来标识多媒体可视电话终端,解决了终端认证问题,为实现面向大量多媒体可视电话终端提供多媒体广播业务提供了基础技术支撑;通过采用创新的广播协议,终端加入广播路径时,优先加入与其内网相同的超级树节点的伙伴关系,或优先以与其内网相同的树节点为超级树节点构建新的伙伴关系,当不存在能够与其组成伙伴关系的树节点时,再加入所述多播树成为多播树中的树节点。由于伙伴之间是动态的对等关系,通过入树过程中的智能定位,可充分利用伙伴终端间的P2P通信连接的技术优势,提高整体的广播效率;设计了多播树的性能调优方法和过程,使性能越好的终端越靠近流媒体数据源,以提供更优质的数据传输功能,提高了网络路由效率和广播路径的整体性能,减轻骨干网络压力;在可视电话终端上采用二级缓存技术,对数据缓冲进行高效管理,提高了数据分发性能。
附图说明
图1为本发明的多媒体电话P2P流媒体广播***的结构示意图;
图2为本发明的多媒体电话终端的流媒体二级缓存结构示意图;
图3为本发明的多媒体电话终端及其与***接口的软件结构关系图;
图4为本发明的流媒体推送服务器的软件架构示意图;
图5为本发明的多媒体电话终端的软件架构示意图。
具体实施方式
本发明提供了一种多媒体电话P2P流媒体广播方法,是一种基于固定多媒体可视电话终端,实现P2P流媒体广播的协议过程,其核心是如何生产与维护一个以媒体源为根节点的应用层P2P流媒体多播树。
生成所述多播树的协议核心是:建立从一个媒体源到若干多媒体电话终端的应用层多播树作为主要的广播路径(参见图1),所述媒体源为所述多播树的根节点,所述多播树中的部分或全部树节点为超级树节点,所述超级树节点同与其内网相同的一个或多个节点组成伙伴关系,所述伙伴关系中的各节点采用P2P方式通信,请求流媒体服务的多媒体电话终端优先加入与其内网相同的超级树节点的伙伴关系,或优先以与其内网相同的树节点为超级树节点构建新的伙伴关系,当不存在能够与其组成伙伴关系的树节点时,再加入所述多播树成为多播树中的树节点。由于伙伴关系是由超级树节点同与其内网相同的一个或多个节点组成的,且伙伴间为动态的对等关系(依赖于通信业务交换服务器建立),即不存在固定的父子关系,通过优先同与其内网相同的超级树节点构建新的伙伴关系,能够使邻近终端优先地相互提供流媒体服务,充分提高了广播路径的路由效率。
多播树的建立过程由各个请求节点加入多播树的过程组成,所述请求流媒体服务的多媒体电话终端作为请求节点,加入多播树的过程为:
(1)所述多媒体电话终端将其电话号码作为其终端标识,向流媒体推送服务器发送服务请求包,请求包中可以包含电话号码、机身ID、节目ID、认证信息、网终类型和上下行带宽之类的内容;
(2)所述流媒体推送服务器向通信业务交换服务器转发所述服务请求包,所述通信业务交换服务器对所述多媒体电话终端进行登陆认证与伙伴查询(外网IP相同、内网IP与掩码确定的内网段相同的终端可以构建伙伴关系),所述多媒体终端如果未通过登录认证,则终止通讯,通过则进行伙伴查询,并返回给所述流媒体推送服务器一个含有认证结果和伙伴信息字段的伙伴信息包,其信息内容可以包括电话号码、机身ID、节目ID、认证结果、伙伴信息(内外网IP、电话号码、机身ID)列表,伙伴信息包里包括伙伴的电话号码信息,也可以为只有查询到伙伴信息后,返回的伙伴信息包中才包括伙伴的电话号码信息;
(3)所述流媒体推送服务器向通过认证的所述多媒体电话终端返回含有节目授权串和伙伴信息的服务请求许可包,其中可以包含电话号码、机身ID、节目ID、节目授权串、伙伴信息(内外网IP、电话号码、机身ID)列表;
(4)所述多媒体电话终端收到服务请求许可包,从中取出伙伴信息列表,如果没有伙伴信息,则向所述根节点请求入树,并成为所述多播树的一个树节点,如果有伙伴信息,则向伙伴发送含有节目授权串的节目询问包,其中可以包含电话号码、机身ID、节目ID和节目授权串,询问其是否已加入多播树以及是否有足够的资源为所述多媒体电话终端提供流媒体服务,如果是,则标识所述多媒体电话终端为已加入多播树;否则向所述根节点请求入树,并成为多播树的一个树节点。该步骤实现了请求节点优先加入与其内网相同的超级树节点的伙伴关系,或优先以与其内网相同的树节点为超级树节点构建新的伙伴关系。
所述多媒体电话终端向所述根节点请求入树并成为所述多播树的一个树节点的过程为:所述多媒体电话终端向所述流媒体推送服务器发送入树请求包,所述流媒体推送服务器收到入树请求包,如果有足够的资源,则直接向所述多媒体电话终端提供流媒体服务,由此使所述多媒体电话终端成为其一个直接的子节点,否则,所述流媒体推送服务器将入树请求包转发给它的一个直接的子节点;如果该子节点有伙伴,优先将所述入树请求转发给它的一个有足够资源的伙伴,否则由该子节点判断自己是否有足够的资源为所述多媒体电话终端提供流媒体服务,是则由该直接的子节点为所述多媒体电话终端提供流媒体服务;当所述直接的子节点与其伙伴的资源情况均不允许提供流媒体服务时,所述多媒体电话终端的请求重定向到所述流媒体推送服务器的其他直接的子节点进行新一轮的上述过程或者由该直接的子节点转发给其直接的子节点进行在下一级子节点层次上的上述过程。
在上述入树过程中,判断一个节点或伙伴是否有足够的资源为请求节点提供服务的依据为:该节点是否有所需要的最近的数据片和足够的上行宽带,如果有,则判断为有足够的资源。
以上,即完成了请求节点的完整入树过程,通过此入树过程逐渐构建了多播树,所述多播树中的每个树节点周期性地向其父节点和子节点发送心跳包,每个伙伴周期性地向其他伙伴发送心跳包,用以说明本节点或伙伴工作正常,所述心跳包携带的信息优选包含电话号码、机身ID、节目ID、节目授权串、数据片位图和带宽。多播树中每个树节点维护着自己的父节点和直接的子节点的信息,包括父节点的IP/端口/上行带宽、子节点的IP/端口/下行带宽。
所述多媒体电话终端发出流媒体服务请求可由用户点播、定时排播、远程现时播放命令等触发,具有包括:(1)用户在所述多媒体电话终端上操作,点播视频;(2)用户从排播服务器分发到所述多媒体电话终端的现时流媒体服务申请命令中选择;(3)用户从排播服务器分发到所述多媒体电话终端的媒体节目排播表中定制,根据定制计划按时申请流媒体播放服务。
由于多播树中各树节点或伙伴的性能不同,因此多播树中各段传输路径的性能可能存在较大差异,为了使广播路径的整体性能更优,本发明还提供了针对所述多播树进行优化调整的节点调整方法,包括入树节点调整方法和/或树中节点调整方法。
所述入树节点调整方法为:
当入树请求被转发给所述流媒体推送服务器的一个直接的子节点时,如果所述多媒体电话终端的带宽性能优于该子节点,则所述多媒体电话终端替代该子节点,接管其节点任务,该子节点重新请求入树或成为所述多媒体电话终端的子节点。
当入树请求被转发给某个被父节点选中的子节点时,如果所述多媒体电话终端的带宽性能优于该子节点,则所述多媒体电话终端替代该子节点,接管其节点任务,该子节点重新请求入树或成为所述多媒体电话终端的子节点。
所述子节点重新请求入树和成为所述多媒体电话终端的子节点为两种不同的调整方式,一般情况下采用原子节点成为所述多媒体电话终端的子节点的调整方式,当不能采取这种方式时采用重新入树的方式。
所述树中节点调整方法为:
当所述多播树中的各个树节点或超级树节点的伙伴检测或判断到带宽的较大变化时,通过心跳包将其带宽性能数据通知给其父节点或作为伙伴的超级树节点伙伴,接收心跳包的树节点获得其各子节点或伙伴的带宽性能数据,按公式Bn=αBn-1+βB统计各子节点或伙伴的带宽时段值,当其某个子节点的带宽时段值超过该树节点一定值,或者其某个伙伴的带宽时段值超过该树节点一定值,则协商对换该树节点与其子节点,或者该树节点与其伙伴在所述多播树中的位置,较优地,当带宽时段值超过该节点的20%时,交换位置。
上述公式中,Bn为收到第n个心跳的带宽时段值,B为从第n个心跳包中取到的子节点或伙伴的带宽值,α、β分别为权重系数,所述权重系数根据网络情况通过优化计算或根据经验数据获得,以尽可能地保证数据传输流畅。通常,可以优选为α+β=1,更优地,取α=0.9,β=0.1。
通常,多媒体电话终端是多任务的,当A任务与流媒体广播任务并发时,如果当前流媒体广播任务优先级高于A任务(例如:正在以流媒体广播的方式播报台风紧急通知,任务优先级很高),流媒体广播任务优先拥有带宽与CPU资源;如果当前流媒体广播任务优先级低于A任务(例如:在流媒体广播时,用户拨打可视通话),且可预见带宽与CPU资源不足,此时终端将正常离开多播树。此外,终端还可能非正常离开多播树。无论节点是哪种方式退出,都会影响到P2P网络连接。因此,我们需要在节点退出后进行节点失效恢复。在本***中,每个节点除了保存父节点和伙伴的信息,同时还保存自己的备用父节点的信息,所述终端在加入多播树后,向根节点申请备用的父节点,并保留根节点反馈的备用的父节点的IP地址及端口号,当父节点离开时可以便捷地用备用父节点代替父节点。
所述多媒体电话终端可以采用正常离树或非正常离树的方式离开多播树。优选的一种正常离树方式为:树节点正常离开多播树时,向上向服务器发送退出消息,通知其父节点收回资源,向下,还向所有的直接子节点和/或伙伴发送退出消息,并通知其直接的子节点或伙伴重新恢复连接。
所述非正常离树的方式优选为:每个树节点周期性向其父节点以及可能有的直接子节点和伙伴发送心跳包,说明自己工作正常,如果某个父节点在一定周期(如3个心跳周期)内没有收到其直接子节点正常的消息,则认为其直接子节点己经非正常离开多播树,该父节点将回收服务该子节点的资源,如果某个子节点或伙伴在一定周期(如3个心跳周期)内没有收到其父节点或与其建立伙伴关系的超级树节点正常的消息,则认为其父节点或与其建立伙伴关系的超级树节点己经非正常离开多播树,该子节点或伙伴重新恢复连接。
所述子节点可以采用下列任一一种方式重新恢复连接:(1)所述子节点重新申请入树;(2)所述子节点取出其备用的父节点的IP地址及端口号,请求与其建立连接成为其子节点,所述备用的父节点接到该请求后,判断是否有足够的资源可提供服务,如果是,则接管原父节点的工作,为该子节点提供服务,该子节点再次申请备用的父节点,如果否,该子节点重新申请入树;所述终端在加入多播树后,向根节点申请备用的父节点,并保留根节点反馈的备用的父节点的IP地址及端口号;
所述伙伴可以采用下列任一一种方式重新恢复连接:(1)所述伙伴重新申请入树;(2)原伙伴关系中的各伙伴之间通过协商选择其中资源状况最好的伙伴替代原超级树节点,当原伙伴关系中的伙伴只有一个时,该伙伴直接替代原超级树节点。
由于随时可能有节点入树和离树,而且多播树本身也进行动态调整,多播树中的树节点或超级树节点的伙伴常常是变化的,伙伴之间数据的传输方向并不固定,伙伴之间根据各自的缓存的数据情况进行数据交换,所以伙伴之间需要相互知道所缓存数据的内容。媒体数据流可被分割成相同大小的片断,片断是否在缓存区内存在可以用一个缓存映射BM(buffer map)来表示。伙伴间通过不断交换BM来了解相互间的缓存情况。在具体实现中,每个片断包含1秒的数据,用一个滑动窗口(Sliding window)来代表BM,大小为120个片断,正好对应BM中120个比特,每个比特代表一个数据片断,比特的值为1表示有这个片断,0表示没有这个片段。
数据的调度方法对数据传输速率影响较大,本发明还公开了一种新的数据调度算法在各个树节点或超级树节点的伙伴间调度数据,所述数据调度算法采用下列规则中的一种或多种的组合:
(1)同一超级树节点的伙伴关系中的各伙伴之间通过定时(如2秒)发送和接收通告包[电话号码、机身ID、节目ID、节目授权串、数据片位图、上行剩余带宽]定期取得并保存伙伴的上下行带宽及流媒体数据片信息,伙伴间相互交流传输流媒体数据片,当发现有更新数据片的带宽最优的伙伴时,选择该伙伴并针对其进行流媒体数据片的拉操作,此步骤逐渐建立与扩大超级节点,伙伴间相互通报与传播流媒体数据。
(2)规定每个数据包的有效时间(Deadline,如30秒),即每个数据包在源节点产生之后,必须在有效时间内到达其他节点,否则视为无效。在向伙伴或父节点获取某个数据包之前,节点依照当前的时间、所述数据包的时间戳以及必要的网络延迟来决定所述数据包是否还有获取的必要,如果所述数据包从产生到到达该节点的预计时间超过所述有效时间,则放弃获取所述数据包。
(3)稀少数据优先策略:在***中,如果某个数据片段的提供者越少,就越难满足播放时间Deadline的要求,因此,***在每个数据调度周期,适当优先考虑获取提供者数目较少的数据片段,如利用权重系数做到“适当”。
(4)数据片段的提供者为多个时,可以在保证数据包的有效时间的前提下,***选择带宽或者网络状况最好的提供者。
(5)缓冲播放窗口滑动策略:***预先定义一定大小的播放窗口,在每个数据调度周期来临时,节点根据当前的数据流速度移动播放窗口,当播放窗口内还存在没有收到的数据包时,将优先请求这些数据。
本发明的上述各种广播方法中涉及的所述多媒体电话终端都可以优选采用两级缓存机制存储所述多媒体电话终端接收的来自其他树节点或伙伴的数据包,如图2所示,根据调度策略采取非顺序接收数据包,保存在一级缓存里。一级缓存采用LRU(最近最少使用)替换策略,替换固定时问内访问次数最少的媒体块包。一级缓存负责整个***中数据包的传输和调度,用于多媒体电话终端同其他树节点或伙伴进行数据交换,有序的数据包保存到二级缓存里,主要负责提供给本地播放。所述数据可以先进入一级缓存,再通过按流媒体时序先进先出的数据进出方式进入二级缓存。在每个周期,树节点/伙伴会将Bmap(本地数据缓冲状况)写入一张表内,表中记录了每个片段在该节点本地保存的情况,节点之间就是通过这张表的传递以互相感知对方数据存储的情况。调度的目的是根据树节点/伙伴的BMap信息,尽快的从树节点/伙伴上获取媒体数据。数据缓冲及其管理是实现本发明的关键模块之一,提高了数据分发的性能。
本发明还提供了基于上述各种P2P流媒体广播方法的多媒体电话P2P流媒体广播***,其硬件部分包括多个多媒体电话终端和流媒体推送服务器。
所述多媒体电话终端用于接收多媒体节目,建立从一个媒体源到若干多媒体电话终端的应用层多播树作为主要广播路径,所述媒体源为所述多播树的根节点,所述多播树中的部分或全部树节点为超级树节点,所述超级树节点与与其内网相同的一个或多个节点组成伙伴关系,所述伙伴关系中的各节点采用P2P方式通信,所述各多媒体电话终端为多播树中的一个树节点或伙伴关系中的一个非超级树节点的伙伴。所述多媒体电话终端优选采用如下硬件配置:CPU:DM642,闪存:2GB,Linux操作***,视频编码标准:ITU-H.264,音频编码标准:ITU-G.722/G.723.1,流媒体标准:Microsoft Streaming Media/MediaPlayer/Mpeg4,电话接口标准:FXS/FXO,网络接口:10M/100M以太网,DHCP、固定IP,视频输出:RCA或VGA。
所述流媒体推送服务器,用作媒体源,提供原始的流媒体数据,维护和管理广播路径,优选采用的硬件配置为:CPU主频2GHz以上,内存4GB,Linux操作***,网络接口100M/1000M,硬盘200GB。
为了实现多媒体广播,所述***还包括媒体节目排播服务器和通信业务交换服务器,作为辅助硬件。所述媒体节目排播服务器,用于根据电话用户的属性分类,综合各媒体客户的播放时段、受众要求,生成各多媒体电话终端的媒体排播表,并在通信业务交换服务器的协助下,分发到各所述多媒体电话终端执行。
所述通信业务交换服务器是整个多媒体可视电话业务的纽带,主要用于辅助流媒体推送服务器和媒体节目排播服务器对多媒体电话终端进行认证与定位。此外,还可以从前台业务支撑***查取用户信息,对终端进行登录认证;接收终端的定时心跳包,维持服务器与终端间的内外网通路,记忆所辖终端的通信及业务状态信息,为各业务服务器和广大终端提供通信及业务即时信息查询;按电话号码标识与定位终端,分析与解释电话号码,动态地映射到IP地址,为通信方提供终端的内外网IP/端口/掩码信息,实现通信中介交换功能;传送业务事件信息到业务统计/计费服务器等。
除上述硬件外,还设计有相应的软件以提供支持,优选在流媒体推送服务器及多媒体电话终端上安装Linux操作***,在Linux操作***上,用C语言开发的实现本发明上述协议过程的流媒体P2P广播组件,主要包含三部分:(1)节点管理:负责维护***中部分其它节点的视图;(2)伙伴管理:负责建立、维护和其它节点的伙伴关系;(3)数据调度:负责动态的和其它节点交换媒体数据。组件结构关系如图3所示。
流媒体推送服务器端软件主要完成两大功能,其一是负责发送原始的流媒体数据,其二是要维护和管理树节点/伙伴信息。为简化设计,基于开源BNBT技术开发流媒体推播服务器,服务器端***采用一款开源服务器软件BNBT(RS BNBT Tracker V1.2)作为基础,并增加了媒体数据缓冲/管理模块(此模块也同样应用于客户端软件中)。实现本发明的流媒体推送服务器的软件架构如图4所示。
所述多媒体电话终端上实现本发明协议过程的流媒体P2P广播组件是***实现的重点,终端软件包括四大模块:(1)节点管理模块:向所述多媒体电话终端向广播路径中与其连接的其他节点发送心跳信息,并接收其它节点的心跳信息,动态地维护***中关系节点的视图,了解各关系节点的带宽能力,需要时进行优化调整协商;(2)伙伴管理模块:用于向其所在伙伴关系中的伙伴发送心跳信息,接收其它伙伴的心跳信息,动态地维护***中伙伴关系的视图,建立伙伴关系内的协作关系,并适时地维护与伙伴节点之间BMap(本地数据缓冲状况),进行信息交互,为数据缓冲/管理模块提供链路支持。了解各伙伴的带宽能力,需要时进行优化调整协商;(3)数据缓冲/管理模块:用于根据音视频接口模块以及与树节点/伙伴的交互信息,动态地与树节点/伙伴进行数据交换,并且维护着BMap(本地数据缓冲状况);(4)音视频接口模块:从缓冲/管理模块中获得媒体数据,并且通过集成的媒体播放器播放。实现本发明的终端软件架构如图5所示。
超级树节点与伙伴及伙伴之间数据的传输方向并不固定,伙伴之间根据各自的缓存的数据情况进行数据交换,所以节点和伙伴需要相互知道所缓存数据的内容。媒体数据流可被分割成相同大小的片断,片断是否在缓存区内存在可以用一个缓存映射BM(buffer map)来表示。伙伴间通过不断交换BM来了解相互间的缓存情况。在具体实现中,每个片断包含1秒的数据,用一个滑动窗口(Sliding window)来代表BM,大小为120个片断,正好对应BM中120个比特,每个比特代表一个数据片断,比特的值为1表示有这个片断,0表示没有这个片段。
文中所述终端均为多媒体电话终端,所有终端都可以称为节点;超级树节点属于树节点,其特殊性是同与其内网相同的一个或多个节点可以组成伙伴关系,伙伴关系中的各节点采用P2P方式通信,互称伙伴,其中不直接参与多播树数据流的伙伴(即不属于多播树树节点的伙伴)可称为非超级树节点的伙伴;树节点之间的关系为非对等关系,用父节点和子节点加以区分;多媒体数据在树节点之间的流动方向只能从父节点到子节点,通常,一个子节点只有一个父节点,而一个父节点可以有一个子节点,也可以有多个子节点。

Claims (10)

1.一种多媒体电话P2P流媒体广播方法,其特征在于建立从一个媒体源到若干多媒体电话终端的应用层多播树作为主要广播路径,所述媒体源为所述多播树的根节点,所述多播树中的部分或全部树节点为超级树节点,所述超级树节点同与其内网相同的一个或多个节点组成伙伴关系,所述伙伴关系中的各节点采用P2P方式通信,请求流媒体服务的多媒体电话终端优先加入与其内网相同的超级树节点的伙伴关系,或优先以与其内网相同的树节点为超级树节点构建新的伙伴关系,当不存在能够与其组成伙伴关系的树节点时,再加入所述多播树成为多播树中的树节点,所述请求流媒体服务的多媒体电话终端加入多播树的步骤为:
(1)所述多媒体电话终端将其电话号码作为其标识,向流媒体推送服务器发送服务请求包;
(2)所述流媒体推送服务器向通信业务交换服务器转发所述服务请求包,所述通信业务交换服务器对所述多媒体电话终端进行登陆认证与伙伴查询,返回给所述流媒体推送服务器一个含有认证结果的认证信息包,如果查询到所述多媒体电话终端有伙伴,所述认证信息包里应包括伙伴的电话号码信息;
(3)所述流媒体推送服务器向通过认证的所述多媒体电话终端返回含有节目授权串和伙伴信息的服务请求许可包;
(4)所述多媒体电话终端收到服务请求许可包,从中取出伙伴信息列表,如果没有伙伴信息,则向所述根节点请求入树,并成为所述多播树的一个树节点,如果有伙伴信息,则向伙伴发送含有节目授权串的节目询问包,询问其是否已加入多播树以及是否有足够的资源为所述多媒体电话终端提供流媒体服务,是则标识所述多媒体电话终端为已加入多播树;否则向所述根节点请求入树并成为多播树的一个树节点。
2.根据权利要求1所述的多媒体电话P2P流媒体广播方法,其特征在于所述多媒体电话终端向所述根节点请求入树并成为所述多播树的一个树节点的过程为:所述多媒体电话终端向所述流媒体推送服务器发送入树请求包,所述流媒体推送服务器收到入树请求包,如果有足够的资源,则直接向所述多媒体电话终端提供流媒体服务,由此使所述多媒体电话终端成为其一个直接的子节点,否则,所述流媒体推送服务器将入树请求包转发给它的一个直接的子节点;如果该子节点有伙伴,优先将所述入树请求转发给它的一个有足够资源的伙伴,否则由该子节点判断自己是否有足够的资源为所述多媒体电话终端提供流媒体服务,是则由该直接的子节点为所述多媒体电话终端提供流媒体服务;当所述直接的子节点和其伙伴的资源情况均不允许提供流媒体服务时,所述多媒体电话终端的请求重定向到所述流媒体推送服务器的其他直接的子节点进行新一轮的上述过程或者由该直接的子节点转发给其直接的子节点进行在下一级子节点层次上的上述过程,以此类推。
3.根据权利要求2所述的多媒体电话P2P流媒体广播方法,其特征在于判断一个节点或伙伴是否有足够的资源的依据为:该节点是否有所需的最近数据片和足够的上行宽带,如果有,则判断为有足够的资源。
4.根据权利要求3所述的多媒体电话P2P流媒体广播方法,其特征在于所述多播树中的每个树节点周期性地向其父节点和子节点发送心跳包,每个伙伴周期性地向其他伙伴发送心跳包,用以说明本节点或伙伴工作正常,所述心跳包携带的信息包括电话号码、机身ID、节目ID、节目授权串、数据片位图和带宽。
5.根据权利要求4所述的多媒体电话P2P流媒体广播方法,其特征在于还包括对所述多播树进行优化调整的节点调整方法,包括入树节点调整方法和/或树中节点调整方法,
所述入树节点调整方法为:
当入树请求被转发给所述流媒体推送服务器的一个直接的子节点时,如果所述多媒体电话终端的带宽性能优于该子节点,则所述多媒体电话终端替代该子节点,接管其节点任务,该子节点重新请求入树或成为所述多媒体电话终端的子节点;
当入树请求被转发给某个被父节点选中的子节点时,如果所述多媒体电话终端的带宽性能优于该子节点,则所述多媒体电话终端替代该子节点,接管其节点任务,该子节点重新请求入树或成为所述多媒体电话终端的子节点;
所述树中节点调整方法为:
当所述多播树中的各个树节点或超级树节点的伙伴检测或判断到带宽的较大变化时,通过心跳包将其带宽性能数据通知给其父节点或作为伙伴的超级树节点,接收心跳包的树节点获得其各子节点或伙伴的带宽性能数据,按公式                                                
Figure 2011100634056100001DEST_PATH_IMAGE001
统计各子节点或伙伴的带宽时段值,当其某个子节点的带宽时段值超过该树节点一定值,或者其某个伙伴的带宽时段值超过该树节点一定值,则协商对换该树节点与其子节点或者该树节点与其伙伴在所述多播树中的位置,
上述公式中,
Figure 879376DEST_PATH_IMAGE002
为收到第n个心跳的带宽时段值,
Figure 2011100634056100001DEST_PATH_IMAGE003
为从第n个心跳包中取到的子节点或伙伴的带宽值,
Figure 558967DEST_PATH_IMAGE004
Figure 2011100634056100001DEST_PATH_IMAGE005
分别为权重系数。
6.根据权利要求5所述的多媒体电话P2P流媒体广播方法,其特征在于采用数据调度算法在各个树节点或超级树节点的伙伴间调度数据,所述数据调度算法采用下列规则中的一种或多种的组合:
(1)同一超级树节点的伙伴关系中的各伙伴之间通过定时发送和接收通告包获知其他伙伴的通信及数据片状态,发现并选择有更新数据片的带宽最优的伙伴,针对其进行流媒体数据片的拉操作;
(2)规定每个数据包的有效时间,在向伙伴或父节点获取某个数据包之前,节点依照当前的时间、所述数据包的时间戳以及必要的网络延迟来决定所述数据包是否还有获取的必要,如果所述数据包从产生到到达的预计时间超过所述有效时间,则放弃获取所述数据包;
(3)在每个数据调度周期,适当优先考虑获取提供者数目较少的数据片段;
(4)数据片段的提供者为多个时,在保证数据包的有效时间的前提下,选择带宽或者网络状况最好的提供者;
(5)预先定义一定大小的播放窗口,在每个数据调度周期来临时,节点根据当前的数据流速度移动播放窗口,当播放窗口内还存在没有收到的数据包时,优先请求相应的数据。
7.根据权利要求1-6中任一权利要求所述的多媒体电话P2P流媒体广播方法,其特征在于所述多媒体电话终端采用二级缓存机制存储所述多媒体电话终端接收的来自其他树节点或伙伴的数据包,一级缓存中存储的数据包无序,用于多媒体电话终端同其他树节点或伙伴进行数据交换,所述一级缓存采用LRU替换策略,替换固定时间内访问次数最少的数据包,所述二级缓存中存储的数据包有序,主要用于本地的媒体播放,所述二级缓存依据流媒体的时序采用先进先出的数据进出方式。
8.根据权利要求7所述的多媒体电话P2P流媒体广播方法,其特征在于所述多媒体电话终端采用下列正常离树或非正常离树的方式离开多播树,
所述正常离树方式为:树节点正常离开多播树时,通知其父节点收回资源,并且重定向其子节点的数据传输,通知其直接的子节点或伙伴重新恢复连接;
所述非正常离树的方式为:每个树节点周期性向其父节点以及可能有的直接子节点和伙伴发送心跳包,说明自己工作正常,如果某个父节点在一定周期内没有收到其直接子节点正常的消息,则认为其直接子节点己经非正常离开多播树,该父节点将回收服务该子节点的资源,如果某个子节点或伙伴在一定周期内没有收到其父节点或与其建立伙伴关系的超级树节点正常的消息,则认为其父节点或与其建立伙伴关系的超级树节点己经非正常离开多播树,该子节点或伙伴重新恢复连接;
所述子节点采用下列任意一种方式重新恢复连接:(1)所述子节点重新申请入树;(2)所述子节点取出其备用的父节点的IP地址及端口号,请求与其建立连接成为其子节点,所述备用的父节点接到该请求后,判断是否有足够的资源可提供服务,如果是,则接管原父节点的工作,为该子节点提供服务,该子节点再次申请备用的父节点,如果否,该子节点重新申请入树;所述终端在加入多播树后,向根节点申请备用的父节点,并保留根节点反馈的备用的父节点的IP地址及端口号;
所述伙伴采用下列任意一种方式重新恢复连接:(1)所述伙伴重新申请入树;(2)原伙伴关系中的各伙伴之间通过协商选择其中资源状况最好的伙伴替代原超级树节点,当原伙伴关系中的伙伴只有一个时,该伙伴直接替代原超级树节点。
9.一种采用权利要求1-8中任意一个权利要求所述多媒体电话P2P流媒体广播方法的多媒体电话P2P流媒体广播***,其特征在于包括:
多个多媒体电话终端,用于接收多媒体节目,建立从一个媒体源到若干多媒体电话终端的应用层多播树作为主要广播路径,所述媒体源为所述多播树的根节点,所述多播树中的部分或全部树节点为超级树节点,所述超级树节点与与其内网相同的一个或多个节点组成伙伴关系,所述伙伴关系中的各节点采用P2P方式通信,所述各多媒体电话终端为多播树中的一个树节点或伙伴关系中的一个非超级树节点的伙伴;
流媒体推送服务器,用作媒体源,提供原始的流媒体数据,维护和管理广播路径;
媒体节目排播服务器,用于根据电话用户的属性分类,综合各媒体客户的播放时段、受众要求,生成各多媒体电话终端的媒体排播表,并在通信业务交换服务器的协助下,分发到各所述多媒体电话终端执行;以及
通信业务交换服务器,主要辅助流媒体推送服务器和媒体节目排播服务器对多媒体电话终端进行认证与定位。
10.根据权利要求9所述的多媒体电话P2P流媒体广播***,其特征在于所述多媒体电话终端设有流媒体P2P广播组件,所述流媒体P2P广播组件设有四大模块:
(1)节点管理模块,用于控制所述多媒体电话终端向广播路径中与其连接的其他节点发送心跳信息,并接收其他节点的心跳信息,动态地维护***中关系节点的视图,了解各关系节点的带宽能力,需要时进行优化调整协商;
(2)伙伴管理模块,用于向其所在伙伴关系中的伙伴发送心跳信息,接收其他伙伴的心跳信息,动态地维护***中伙伴关系的视图,建立伙伴关系内的协作关系,并适时地维护与伙伴之间的本地数据缓冲状况,进行信息交互,为数据缓冲/管理模块提供链路支持,了解各伙伴的带宽能力,需要时进行优化调整协商;
(3)数据缓冲/管理模块,用于根据音视频接口模块以及与树节点/伙伴的交互信息,动态地与树节点/伙伴进行数据交换,并维护本地数据缓冲状况;
(4)音视频接口模块,用于从所述数据缓冲/管理模块中获得媒体数据,并且通过集成的媒体播放器播放。
CN 201110063405 2011-03-15 2011-03-15 多媒体电话p2p流媒体广播方法及*** Expired - Fee Related CN102307216B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 201110063405 CN102307216B (zh) 2011-03-15 2011-03-15 多媒体电话p2p流媒体广播方法及***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 201110063405 CN102307216B (zh) 2011-03-15 2011-03-15 多媒体电话p2p流媒体广播方法及***

Publications (2)

Publication Number Publication Date
CN102307216A CN102307216A (zh) 2012-01-04
CN102307216B true CN102307216B (zh) 2013-10-09

Family

ID=45381020

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 201110063405 Expired - Fee Related CN102307216B (zh) 2011-03-15 2011-03-15 多媒体电话p2p流媒体广播方法及***

Country Status (1)

Country Link
CN (1) CN102307216B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102739797A (zh) * 2012-07-02 2012-10-17 卢林发 一种新传媒云***
CN102739796A (zh) * 2012-07-02 2012-10-17 卢林发 一种基于传媒云平台的终端广告加载方法
CN104144100B (zh) * 2013-05-10 2017-06-16 中国电信股份有限公司 海量群组通信的实现方法和***
CN103957258B (zh) * 2014-04-30 2018-06-15 中国工商银行股份有限公司 一种跨区数据通信方法及***
CN105391712B (zh) * 2015-11-05 2019-04-12 深圳市网心科技有限公司 一种基于tcp协议的数据快速传输方法和装置
CN112738149B (zh) * 2019-10-29 2023-04-25 贵州白山云科技股份有限公司 数据传输***和方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101365000A (zh) * 2008-09-24 2009-02-11 清华大学 一种流媒体数据传送方法及网络节点
CN101938506A (zh) * 2009-06-30 2011-01-05 李云洲 一种基于p2psip的虚拟覆盖树、订阅树和媒体播送树的方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8024723B2 (en) * 2007-05-18 2011-09-20 Samsung Electronics Co., Ltd. System and method for peer-to-peer datacasting in a broadcasting network
JP4518169B2 (ja) * 2008-03-24 2010-08-04 ブラザー工業株式会社 ツリー型放送システム、モード切替指示方法、放送装置、及び放送処理プログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101365000A (zh) * 2008-09-24 2009-02-11 清华大学 一种流媒体数据传送方法及网络节点
CN101938506A (zh) * 2009-06-30 2011-01-05 李云洲 一种基于p2psip的虚拟覆盖树、订阅树和媒体播送树的方法

Also Published As

Publication number Publication date
CN102307216A (zh) 2012-01-04

Similar Documents

Publication Publication Date Title
CN102307216B (zh) 多媒体电话p2p流媒体广播方法及***
CN102195788B (zh) 应用层组播***及流媒体数据处理方法
US20080195738A1 (en) Connection Managing Unit, Method And System For Establishing Connection For Multi-Party Communication Service
CN110475090B (zh) 一种会议控制的方法和***
US20060005224A1 (en) Technique for cooperative distribution of video content
CN110545395B (zh) 一种视联网会议切换方法及装置
CN109963109A (zh) 一种视频会议的处理方法和***
CN110446001A (zh) 基于视联网的视频会议处理方法、装置、电子设备及介质
CN109756789A (zh) 一种音视频数据包的丢包处理方法和***
CN109660816A (zh) 信息处理方法和装置
CN109379254A (zh) 一种基于视频会议的网络连接的检测方法和***
CN109547731A (zh) 一种视频会议的展示方法和***
CN110351506A (zh) 一种视频录制方法、装置、电子设备及可读存储介质
CN111193767B (zh) 请求数据发送方法、装置和集群化服务器***
CN110138728A (zh) 一种视频数据的共享方法和装置
CN110138730B (zh) 一种协议转换设备的订阅方法、装置及存储介质
CN110650171A (zh) 一种视联网业务调度***及方法
CN109547727B (zh) 数据缓存方法和装置
CN109525663A (zh) 一种视频数据的展示方法和***
CN109819198A (zh) 一种基于视联网的会议审批方法和装置
CN109491783A (zh) 一种内存利用率的获取方法和***
CN110557608B (zh) 资源监控方法、装置和计算机可读存储介质
CN110519549A (zh) 一种会议终端列表获取方法和***
CN110198384A (zh) 一种基于视联网的通讯方法和中转服务器
CN109474661A (zh) 一种网络请求事件的处理方法和***

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
ASS Succession or assignment of patent right

Owner name: GUANGZHOU DIANRAN VIDEO TECHNOLOGY CO., LTD.

Free format text: FORMER OWNER: CHEN JIANGUO

Effective date: 20150721

Free format text: FORMER OWNER: GUANGZHOU FANWANG VIDEO TECHNOLOGY CO., LTD.

Effective date: 20150721

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20150721

Address after: Dashadi Whampoa District of Guangzhou City, Guangdong province 510700 Road No. 403 room A818

Patentee after: Guangzhou Kindle Video Technology Co.,Ltd.

Address before: 1601 room 510110, Jiangwan commercial center, 298 Yanjiang Road, Yuexiu District, Guangdong, Guangzhou

Patentee before: Chen Jianguo

Patentee before: Gaungzhou Pan-net Video Technology Co.,Ltd.

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20161214

Address after: 510110 Guangdong Road, Guangzhou, Yuexiu District, No. 298, Jiangwan commercial center, room 3911

Patentee after: Chen Jianguo

Address before: Dashadi Whampoa District of Guangzhou City, Guangdong province 510700 Road No. 403 room A818

Patentee before: Guangzhou Kindle Video Technology Co.,Ltd.

TR01 Transfer of patent right

Effective date of registration: 20210508

Address after: 510000 401, Peony Pavilion, pearl garden, 193 Dongxiao Road, Haizhu District, Guangzhou City, Guangdong Province

Patentee after: Chen Kai

Address before: Room 3911, Jiangwan business center, 298 Yanjiang Middle Road, Yuexiu District, Guangzhou, Guangdong 510110

Patentee before: Chen Jianguo

TR01 Transfer of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20131009

CF01 Termination of patent right due to non-payment of annual fee