CN105450615A - 多媒体的直播方法、***、服务器、第一终端以及第二终端 - Google Patents
多媒体的直播方法、***、服务器、第一终端以及第二终端 Download PDFInfo
- Publication number
- CN105450615A CN105450615A CN201410443110.5A CN201410443110A CN105450615A CN 105450615 A CN105450615 A CN 105450615A CN 201410443110 A CN201410443110 A CN 201410443110A CN 105450615 A CN105450615 A CN 105450615A
- Authority
- CN
- China
- Prior art keywords
- terminal
- server
- pairing user
- user group
- medium data
- 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
Landscapes
- Mobile Radio Communication Systems (AREA)
Abstract
本发明提供一种多媒体的直播方法、***、服务器、第一终端以及第二终端。所述多媒体的直播方法,包括:判断服务器的运行负荷是否达到预定阈值,生成判断结果;当所述判断结果为是时,所述服务器向至少一第一配对用户组发送从直播模式切换到p2p传输模式的命令,使得所述第一配对用户组中作为备用父节点的第一终端将从服务器接收的多媒体数据转发给所述第一配对用户组中的作为子节点的第二终端;所述服务器接收所述第二终端发送的切换成功的消息后,所述服务器停止给所述第二终端直接发送多媒体数据。本发明能够有效利用终端用户的上行能力,提高了资源的利用率。
Description
技术领域
本发明涉及多媒体领域,特别是指一种多媒体的直播方法、***、服务器、第一终端以及第二终端。
背景技术
随着互联网业务的兴起,很多基于流媒体形态的互联网产品应用越来越多。比赛直播、在线课程、会议等业务形态需求将视频直播这个产品形态衬托的更加有存在价值和必要。
目前,互联网上的直播***多数还是中心式的直播方案,即客户端连接到服务器上,从服务器上下载媒体数据进行直播。但是该方案存在几个弊端,其中一个是当客户端很多时,服务器将承担十分庞大的网络上行压力;再一个就是,每一个客户端只从服务器上下载媒体数据,丝毫没有用到客户端的上行能力,当客户端接入量很大时,终端的上行能力没有得到利用,这本身也是一种资源的浪费。
很多厂商为了解决服务器网络压力大的问题,借助了内容分发网络(CDN)技术。其中CDN是一个策略性部署的整体***,CDN通过在现有的Internet中增加一层新的网络架构,将网站的内容发布到最接近用户的网络“边缘”,使用户可以就近取得所需的内容,从技术上全面解决由于网络带宽小、用户访问量大、网点分布不均而产生的用户访问网站响应速度慢的问题,提高用户访问网站的响应速度。
针对上部分提及现有技术方案,它们存在的问题如下:
现有中心式的直播方案的缺陷:
1)当客户端很多时,服务器将承担十分庞大的网络上行压力;
2)每一个客户端只从服务器上下载媒体数据,丝毫没有用到客户端的上行能力,当客户端接入量很大时,终端的上行能力没有得到利用,浪费资源。
现有的中心式的直播方案+CDN技术的缺陷:
1)CDN技术在部署和成本上都有一定的要求;
2)每一个客户端只从服务器上下载媒体数据,丝毫没有用到客户端的上行能力,当客户端接入量很大时,终端的上行能力没有得到利用,浪费资源。
发明内容
本发明要解决的技术问题是,提供一种多媒体的直播方法、***、服务器、第一终端以及第二终端,能够有效利用终端用户的上行能力,提高了资源的利用率。
为解决上述技术问题,本发明的实施例提供一种多媒体的直播方法,包括:
判断服务器的运行负荷是否达到预定阈值,生成判断结果;
当所述判断结果为是时,所述服务器向至少一第一配对用户组发送从直播模式切换到p2p传输模式的命令,使得所述第一配对用户组中作为备用父节点的第一终端将从服务器接收的多媒体数据转发给所述第一配对用户组中的作为子节点的第二终端;
所述服务器接收所述第二终端发送的切换成功的消息后,所述服务器停止给所述第二终端直接发送多媒体数据。
所述的方法,还包括:
所述服务器将所述第一配对用户组的状态从p2p预传输状态更新为p2p传输状态。
所述判断所述服务器的运行负荷是否达到预定阈值的步骤之前,所述方法还包括:所述服务器为所述第二终端建立配对用户组;
其中,所述服务器为所述第二终端建立配对用户组的步骤包括:
所述服务器为所述第二终端生成推荐列表,所述推荐列表包括至少一第三终端;
所述服务器给所述第二终端发送推荐列表,使得所述第二终端依次尝试与所述第三终端进行P2P通讯,所述第二终端根据P2P通讯的结果从所述第三终端中选择一终端,作为所述第一终端;
所述服务器将所述第二终端作为子节点、所述第一终端作为备用父节点,为所述第二终端建立第一配对用户组。
所述服务器为所述第二终端生成推荐列表的步骤具体为:所述服务器根据下述一个或者多个因素的组合,生成推荐列表,所述推荐列表包括至少一第三终端:
所述第三终端的中继状态;
所述第三终端是否与所述第二终端为同IP出口;
所述第三终端是否与所述第二终端为同运营商同地域;
所述第三终端是否与所述第二终端为同运营商不同地域;
所述第三终端是否与所述第二终端为不同运营商同地域;
所述第三终端与所述服务器的级联层数。
所述的方法,还包括:
当第三终端下线时,并且所述第三终端为第二配对用户组中的子节点时,所述服务器删除所述第二配对用户组的记录;
当第四终端下线,所述第四终端为第三配对用户组中的备用父节点,并且所述第三配对用户组的状态为p2p预传输状态时,所述服务器通知所述第三配对用户组中的作为子节点的终端更换父节点,并在所述服务器中删除所述第三配对用户组的记录;
当第五终端下线,所述第五终端为第四配对用户组中的备用父节点,并且所述第三配对用户组的状态为p2p传输状态时,所述服务器恢复所述第四配对用户组中的作为子节点的终端最初加入直播会议时的通道,由所述服务器通过所述通道直接给所述第四配对用户组中的作为子节点的终端推送多媒体数据,并在所述服务器中删除所述第四配对用户组的记录。
另一方面,提供一种多媒体的直播方法,其特征在于,包括:
第一终端接收服务器发送的从直播模式切换到p2p传输模式的命令;
所述第一终端根据所述命令,查找所述第一终端作为备用父节点所配对的作为子节点的第二终端;
所述第一终端将从所述服务器接收的多媒体数据转发给所述第二终端。
另一方面,提供一种多媒体的直播方法,包括:
第二终端接收服务器发送的从直播模式切换到p2p传输模式的命令;
所述第二终端从第一终端接收来自所述服务器的多媒体数据,所述第一终端为所述第二终端作为子节点所配对的备用父节点。
所述的方法,包括:
所述第二终端给所述服务器发送切换成功的消息,使得所述服务器停止给所述第二终端直接发送多媒体数据。
所述第二终端接收服务器发送的从直播模式切换到p2p传输模式的命令的步骤之前,所述方法还包括:
所述第二终端从服务器接收推荐列表,所述推荐列表包括至少一第三终端;
所述第二终端尝试依次与所述第三终端进行P2P通讯;
所述第二终端根据所述P2P通讯的结果从所述第三终端中选择一终端,作为所述第一终端;
所述第二终端将所述第一终端发送给所述服务器,使得所述服务器将所述第二终端作为子节点、所述第一终端作为备用父节点,建立一配对用户组。
另一方面,提供一种服务器,包括:
判断单元,判断服务器的运行负荷是否达到预定阈值,生成判断结果;
发送单元,当所述判断结果为是时,向至少一第一配对用户组发送从直播模式切换到p2p传输模式的命令,使得所述第一配对用户组中作为备用父节点的第一终端将从服务器接收的多媒体数据转发给所述第一配对用户组中的作为子节点的第二终端;
接收单元,接收所述第二终端发送的切换成功的消息后,所述服务器停止给所述第二终端直接发送多媒体数据。
所述的服务器,还包括:
更新单元,将所述第一配对用户组的状态从p2p预传输状态更新为p2p传输状态。
另一方面,提供一种第一终端,包括:
接收单元,接收服务器发送的从直播模式切换到p2p传输模式的命令;
查找单元,根据所述命令,查找所述第一终端作为备用父节点所配对的作为子节点的第二终端;
转发单元,将从所述服务器接收的多媒体数据转发给所述第二终端。
另一方面,提供一种第二终端,包括:
第一接收单元,接收服务器发送的从直播模式切换到p2p传输模式的命令;
第二接收单元,从第一终端接收来自所述服务器的多媒体数据,所述第一终端为所述第二终端作为子节点所配对的备用父节点。
所述的第二终端,还包括:
发送单元,给所述服务器发送切换成功的消息,使得所述服务器停止给所述第二终端直接发送多媒体数据。
另一方面,提供一种多媒体的直播***,包括:服务器、第一终端和第二终端;
所述服务器,判断服务器的运行负荷是否达到预定阈值,生成判断结果;当所述判断结果为是时,向至少一第一配对用户组发送从直播模式切换到p2p传输模式的命令,使得所述第一配对用户组中作为备用父节点的第一终端将从服务器接收的多媒体数据转发给所述第一配对用户组中的作为子节点的第二终端;接收所述第二终端发送的切换成功的消息后,所述服务器停止给所述第二终端直接发送多媒体数据。
本发明的上述技术方案的有益效果如下:
本发明当服务器端的上行能力不足以支撑所有终端用户时,终端用户将利用终端用户自身的上行能力来缓解服务端的带宽压力,同时降低了用户自身上行能力资源的浪费,提高了资源的利用率。
附图说明
图1为本发明所述的一种多媒体的直播方法的服务器侧的流程示意图;
图2为本发明所述的一种多媒体的直播方法的父节点侧的流程示意图;
图3为本发明所述的一种多媒体的直播方法的子节点侧的流程示意图;
图4为本发明所述的一种服务器的连接示意图;
图5为本发明所述的一种第一终端的连接示意图;
图6为本发明所述的一种第二终端的连接示意图;
图7为本发明所述的一种多媒体的直播***的连接示意图;
图8为现有技术中服务器直连模式的连接示意图;
图9为本发明应用场景中P2P森林二层模式的连接示意图;
图10为本发明应用场景中P2P森林三层模式的连接示意图。
具体实施方式
为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。
如图1所示,本发明所述的一种多媒体的直播方法,包括:
步骤11,判断服务器的运行负荷是否达到预定阈值,生成判断结果;运行负荷可以为带宽或者性能,性能可以为CPU或内存的利用率等。
步骤12,当所述判断结果为是时,所述服务器向至少一第一配对用户组发送从直播模式切换到p2p传输模式的命令,使得所述第一配对用户组中作为备用父节点的第一终端将从服务器接收的多媒体数据转发给所述第一配对用户组中的作为子节点的第二终端;
步骤13,所述服务器接收所述第二终端发送的切换成功的消息后,所述服务器停止给所述第二终端直接发送多媒体数据。
所述的方法,还包括:
步骤14,所述服务器将所述第一配对用户组的状态从p2p预传输状态更新为p2p传输状态。p2p预传输状态为:第一终端和第二终端只是做了配对,但没有进行真正的p2p数据传输,p2p传输状态为:第一终端和第二终端做了配对,并且第一终端通过第二终端进行p2p数据传输。
步骤11之前,所述方法还包括:
步骤10,所述服务器为所述第二终端建立配对用户组;
其中,所述步骤10包括:
步骤101,所述服务器为所述第二终端生成推荐列表,所述推荐列表包括至少一第三终端;所述服务器为所述第二终端生成推荐列表的步骤具体为:所述服务器根据下述一个或者多个因素的组合,生成推荐列表,所述推荐列表包括至少一第三终端;
因素包括:
所述第三终端的中继状态;用户的中继状态分3种,0表示直连服务器,1表示中继于一个用户但不为其他用户中继,2表示既中继于一个用户也为其他用户中继;
所述第三终端是否与所述第二终端为同IP出口;
所述第三终端是否与所述第二终端为同运营商同地域;
所述第三终端是否与所述第二终端为同运营商不同地域;
所述第三终端是否与所述第二终端为不同运营商同地域;
所述第三终端与所述服务器的级联层数。例如,第三终端是否与服务器直联,或者,通过几个终端而级联到服务器。
例如,推荐原则为:
A:推荐节点当前的状态为未中继状态(对应中继状态为0),保证每个观众至多只做一个用户的父媒体节点,并且非直连用户不做其他观众的父媒体节点。
B:同IP出口的用户优先推荐、其次为同运营商同地域、同运营商不同地域、不同运营商同地域、与服务器直连。
A的推荐优先级高于B的推荐优先级。
其中,对于推荐原则B而言,如果需要进行运营商、地域的判断时,由服务器端根据获取的用户IP和自身维护的IP与归属地和运营商对应关系的对照表1得到用户IP对应的区域和运营商;然后,根据该区域和运营商与用户列表中其他用户对应的区域和运营商进行对比,来判断是否是同运营商同地域、同运营商不同地域或不同运营商同地域,以实现p2p节点的推荐。
步骤102,所述服务器给所述第二终端发送推荐列表,使得所述第二终端依次尝试与所述第三终端进行P2P通讯,所述第二终端根据P2P通讯的结果从所述第三终端中选择一终端,作为所述第一终端;
步骤103,所述服务器将所述第二终端作为子节点、所述第一终端作为备用父节点,为所述第二终端建立第一配对用户组。
所述的方法,其特征在于,还包括:
步骤15,当第三终端下线时,并且所述第三终端为第二配对用户组中的子节点时,所述服务器删除所述第二配对用户组的记录;
步骤16,当第四终端下线,所述第四终端为第三配对用户组中的备用父节点,并且所述第三配对用户组的状态为p2p预传输状态时,所述服务器通知所述第三配对用户组中的作为子节点的终端更换父节点,并在所述服务器中删除所述第三配对用户组的记录;
步骤17,当第五终端下线,所述第五终端为第四配对用户组中的备用父节点,并且所述第三配对用户组的状态为p2p传输状态时,所述服务器恢复所述第四配对用户组中的作为子节点的终端最初加入直播会议时的通道,由所述服务器通过所述通道直接给所述第四配对用户组中的作为子节点的终端推送多媒体数据,并在所述服务器中删除所述第四配对用户组的记录。
例如,当终端A下线时,服务器将终端C解除配对列表,这时终端C可以再次作为其他用户的父节点。当终端C下线时,分两种情况,其一是终端A和终端C只是做了配对,但没有进行真正的p2p数据传输(配对状态为p2p预传输状态),这时服务器告知终端A更换父节点,并将AC移除配对列表,让终端A重新配对。其二是,如果终端A当时正在通过终端C进行直播观看,则服务器发现终端C下线了,在配对列表中找到终端A是终端C的子节点,然后服务器恢复终端A最初加入直播会议时的通道,由服务器直接推送数据,并重复第一步中移除配对名单的操作。
如图2所示,为本发明所述的一种多媒体的直播方法,包括:
步骤21,第一终端接收服务器发送的从直播模式切换到p2p传输模式的命令;
步骤22,所述第一终端根据所述命令,查找所述第一终端作为备用父节点所配对的作为子节点的第二终端;
步骤23,所述第一终端将从所述服务器接收的多媒体数据转发给所述第二终端。
以下描述子节点侧的处理流程。
如图3所示,为本发明所述的一种多媒体的直播方法,包括:
步骤31,第二终端接收服务器发送的从直播模式切换到p2p传输模式的命令;
步骤32,所述第二终端从第一终端接收来自所述服务器的多媒体数据,所述第一终端为所述第二终端作为子节点所配对的备用父节点。
所述的方法,还包括:
步骤33,所述第二终端给所述服务器发送切换成功的消息,使得所述服务器停止给所述第二终端直接发送多媒体数据。
步骤31之前,所述方法还包括:
步骤30,所述第二终端从服务器接收推荐列表,从所述推荐列表中选择一终端,作为所述第一终端,使得所述服务器将所述第二终端作为子节点、所述第一终端作为备用父节点,建立一配对用户组。
步骤30包括:
步骤301,所述第二终端从服务器接收推荐列表,所述推荐列表包括至少一第三终端;
步骤302,所述第二终端尝试依次与所述第三终端进行P2P通讯;
步骤303,所述第二终端根据所述P2P通讯的结果从所述第三终端中选择一终端,作为所述第一终端;
步骤304,所述第二终端将所述第一终端发送给所述服务器,使得所述服务器将所述第二终端作为子节点、所述第一终端作为备用父节点,建立一配对用户组。
如图4所示,为本发明所述的一种服务器,包括:
判断单元41,判断服务器的运行负荷是否达到预定阈值,生成判断结果;
发送单元42,当所述判断结果为是时,向至少一第一配对用户组发送从直播模式切换到p2p传输模式的命令,使得所述第一配对用户组中作为备用父节点的第一终端将从服务器接收的多媒体数据转发给所述第一配对用户组中的作为子节点的第二终端;
接收单元43,接收所述第二终端发送的切换成功的消息后,所述服务器停止给所述第二终端直接发送多媒体数据。
所述的服务器,还包括:
更新单元44,将所述第一配对用户组的状态从p2p预传输状态更新为p2p传输状态。
如图5所示,为本发明所述的一种第一终端,包括:
接收单元51,接收服务器发送的从直播模式切换到p2p传输模式的命令;
查找单元52,根据所述命令,查找所述第一终端作为备用父节点所配对的作为子节点的第二终端;
转发单元53,将从所述服务器接收的多媒体数据转发给所述第二终端。
如图6所示,为本发明所述的一种第二终端,包括:
第一接收单元61,接收服务器发送的从直播模式切换到p2p传输模式的命令;
第二接收单元62,从第一终端接收来自所述服务器的多媒体数据,所述第一终端为所述第二终端作为子节点所配对的备用父节点。
所述的第二终端,还包括:
发送单元63,给所述服务器发送切换成功的消息,使得所述服务器停止给所述第二终端直接发送多媒体数据。
如图7所示,为本发明所述的一种多媒体的直播***,包括:服务器71、第一终端72和第二终端73;
所述服务器71,判断服务器的运行负荷是否达到预定阈值,生成判断结果;当所述判断结果为是时,向至少一第一配对用户组发送从直播模式切换到p2p传输模式的命令,使得所述第一配对用户组中作为备用父节点的第一终端72将从服务器接收的多媒体数据转发给所述第一配对用户组中的作为子节点的第二终端73;接收所述第二终端73发送的切换成功的消息后,所述服务器停止给所述第二终端直接发送多媒体数据。
本领域技术人员可以理解,子节点也可以作为另一子节点的父节点,父节点也可以作为另一父节点的子节点。
以下描述本发明的应用场景。
本应用场景提供一种实现基于P2P森林的万人多媒体直播的方法。本方案主要设计思路是:服务器端的上行带宽会随着直播收看的终端用户数量不断增加而不断的吃紧,而每一个终端用户在传统的直播模型中仅仅利用了终端用户的下行能力,而完全浪费了终端用户的上行能力,所以当服务器端的上行能力不足以支撑所有终端用户时,终端用户将利用终端用户自身的上行能力来缓解服务端的带宽压力。终端用户在服务器端带宽吃紧时,将分享自己的上行能力,也就是说,终端用户可能会代替服务器端成为另外某一个终端的中继点,代替服务器进行数据的中继。而这种终端和终端之间的配对,是按照配对的原则进行的,下面将对方案做具体的说明。
首先,服务器端维护IP与归属地和运营商对应关系的对照表1,具体参照下表所示:
IPStart | IPEnd | Region | LogicalPoolBegin | LogicalPoolEnd | IspCode |
0 | 16777215 | CN. | 16301 | 16500 | ___ |
16777216 | 16777471 | AU. | 16301 | 16500 | ___ |
16777472 | 16778239 | CN.fj. | 16301 | 16500 | CTC |
16778240 | 16779263 | AU. | 16301 | 16500 | ___ |
16779264 | 16781311 | CN.gd. | 16301 | 16500 | CTC |
16781312 | 16785407 | JP. | 16301 | 16500 | ___ |
16785408 | 16793599 | CN.gd. | 16301 | 16500 | CTC |
16793600 | 16809983 | JP. | 16301 | 16500 | ___ |
16809984 | 16842751 | TH. | 16301 | 16500 | ___ |
其中,IPStart是IP起始地址,IPEnd是IP终止地址;Region是IP地址对应的区域,即归属地;IspCode是运营商代码。
通过这个表,首先将IP地址对应到相应的IP段内,然后通过IP段找到这个IP地址所对应的区域和运营商。比如,IP地址计算后得到的值为16779881,属于16779264到16781311的IP区间,则可以判断这个IP属于广东,对应的运营商为CTC(中国电信)。
此外,服务器端还维护一份状态列表2,具体为所有观众的用户列表(包括用户的ID、用户的IP、用户的中继状态),用户的中继状态分3种,0表示直连服务器,1表示中继于一个用户但不为其他用户中继,2表示既中继于一个用户也为其他用户中继;以及用户的配对状态,包括:用户的父节点、用户的ID和用户的IP、用户的子节点ID和子节点IP。
ID | IP | Status | 父节点ID | 子节点ID |
100001 | 16777101 | 0 | Null | Null |
100002 | 16777031 | 0 | Null | Null |
100003 | 16778109 | 0 | Null | Null |
100004 | 16779029 | 0 | Null | Null |
100005 | 16781311 | 1 | 100002 | Null |
100006 | 16785207 | 2 | 100003 | 100007 |
100007 | 16793409 | 1 | 100006 | Null |
本方案的具体实现流程如下所述:
1、当客户端用户接入到直播***后,服务器端先获取用户的ID和IP,根据自身维护的状态列表,为用户推荐p2p节点。
推荐原则为:
A:推荐节点当前的状态为未中继状态(对应中继状态为0),保证每个观众至多只做一个用户的父媒体节点,并且非直连用户不做其他观众的父媒体节点。
B:同IP出口的用户优先推荐、其次为同运营商同地域、同运营商不同地域、不同运营商同地域、与服务器直连。
A的推荐优先级高于B的推荐优先级。
其中,对于推荐原则B而言,如果需要进行运营商、地域的判断时,由服务器端根据获取的用户IP和自身维护的IP与归属地和运营商对应关系的对照表1得到用户IP对应的区域和运营商;然后,根据该区域和运营商与用户列表中其他用户对应的区域和运营商进行对比,来判断是否是同运营商同地域、同运营商不同地域或不同运营商同地域,以实现p2p节点的推荐。
2、在客户端请求的同时,客户端一边与服务器建立数据传输通道,一边接受服务器端下发的推荐列表。
3、客户端在与服务器端进行直播视频传输时,依次尝试与服务器推送的推荐列表进行UDP打洞尝试P2P通讯,并将最优打洞成功的IP和用户ID记录下来,上报给服务器。
假如A用户被推荐的列表为B、C、D,则A会并行的与B、C、D分别进行打洞尝试,如果与C打洞成功,则上报给服务器一个备选节点,信息为:自己是A,备用父节点为C。
4、服务器接到某一个客户端的上报后,会将A和C配对成功,存储于用户列表中,并标记C为A的父节点。
当A节点下线时,服务器将C解除配对列表,这时C可以再次作为其他用户的父节点。当C下线时,分两种情况,其一是A和C只是做了配对,但没有进行真正的p2p数据传输(配对状态为p2p预传输状态),这时服务器告知A更换父节点,并将AC移除配对列表,让A重新配对。其二是,如果A当时正在通过C进行直播观看,则服务器发现C下线了,在配对列表中找到A是C的子节点,然后服务器恢复A最初加入直播会议时的通道,由服务器直接推送数据,并重复第一步中移除配对名单的操作。
其中,服务器下发的推荐列表可能存在重复,即C既可能在A的推荐列表里,也可能在B的推荐列表里,让A先与C配对,则C不再受理B后发来的p2p请求,在B看来就是与C配对失败。
5、服务器的最初模式是所有的客户端都是直接挂在服务器下的,所有的数据由服务器直接发送,而且每个用户会并行的寻求自己的可用父节点。
当服务器的运行负荷(带宽或者性能)达到预警阈值时,例如服务器的CPU或内存达到60%利用率时,需要启动终端p2p森林模式时,服务器向用户列表中靠前(用户列表中的用户根据配对优先级顺序排序由上到下进行排序)的配对用户发送数据,告知客户端用户启用p2p传输模式。例如C是A的父节点,这时,A收到服务器的通知,C也会收到服务器的通知,于是C开始将收到的数据转发给A,A接收到数据后反馈服务器切换成功,服务器不再向A直接发送数据,A和C的配对状态从p2p预传输状态进入p2p传输状态。
其中,当客户端数量不断激增时,p2p森林从三层可以升为四层,即A用户从之前不能作为其他节点的父节点开始支持新加入节点的P2P请求,在此方案的基础上,可以实现万人多媒体直播。
图8到图10分别为服务器直连模式、P2P森林二层和三层模式的示意图。
本发明具有以下有益效果:
本发明中,在最初时是所有的客户端都是直接挂在服务器下的,所有的数据由服务器直接发送,而且每个用户会并行的寻求自己的可用父节点。当服务器的带宽或者性能达到预警阈值时,启动终端p2p森林模式,由客户端中继代替服务器直连,也就是说当服务器端的上行能力不足以支撑所有终端用户时,终端用户将利用终端用户自身的上行能力来缓解服务端的带宽压力,同时降低了用户自身上行能力资源的浪费,进而实现万人多媒体直播。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (15)
1.一种多媒体的直播方法,其特征在于,包括:
判断服务器的运行负荷是否达到预定阈值,生成判断结果;
当所述判断结果为是时,所述服务器向至少一第一配对用户组发送从直播模式切换到p2p传输模式的命令,使得所述第一配对用户组中作为备用父节点的第一终端将从服务器接收的多媒体数据转发给所述第一配对用户组中的作为子节点的第二终端;
所述服务器接收到所述第二终端发送的切换成功的消息后,所述服务器停止向所述第二终端直接发送多媒体数据。
2.根据权利要求1所述的方法,其特征在于,所述服务器接收到所述第二终端发送的切换成功的消息后,所述服务器停止向所述第二终端直接发送多媒体数据的步骤之后,还包括:
所述服务器将所述第一配对用户组的状态从p2p预传输状态更新为p2p传输状态。
3.根据权利要求1所述的方法,其特征在于,所述判断所述服务器的运行负荷是否达到预定阈值的步骤之前,所述方法还包括:所述服务器为所述第二终端建立配对用户组;
其中,所述服务器为所述第二终端建立配对用户组的步骤包括:
所述服务器为所述第二终端生成推荐列表,所述推荐列表包括至少一第三终端;
所述服务器给所述第二终端发送推荐列表,使得所述第二终端依次尝试与所述第三终端进行P2P通讯,所述第二终端根据P2P通讯的结果从所述第三终端中选择一终端,作为所述第一终端;
所述服务器将所述第二终端作为子节点、所述第一终端作为备用父节点,为所述第二终端建立第一配对用户组。
4.根据权利要求3所述的方法,其特征在于,所述服务器为所述第二终端生成推荐列表的步骤具体为:所述服务器根据下述一个或者多个因素的组合,生成推荐列表,所述推荐列表包括至少一第三终端:
所述第三终端的中继状态;
所述第三终端是否与所述第二终端为同IP出口;
所述第三终端是否与所述第二终端为同运营商同地域;
所述第三终端是否与所述第二终端为同运营商不同地域;
所述第三终端是否与所述第二终端为不同运营商同地域;
所述第三终端与所述服务器的级联层数。
5.根据权利要求1所述的方法,其特征在于,还包括:
当第三终端下线时,并且所述第三终端为第二配对用户组中的子节点时,所述服务器删除所述第二配对用户组的记录;
当第四终端下线,所述第四终端为第三配对用户组中的备用父节点,并且所述第三配对用户组的状态为p2p预传输状态时,所述服务器通知所述第三配对用户组中的作为子节点的终端更换父节点,并在所述服务器中删除所述第三配对用户组的记录;
当第五终端下线,所述第五终端为第四配对用户组中的备用父节点,并且所述第三配对用户组的状态为p2p传输状态时,所述服务器恢复所述第四配对用户组中的作为子节点的终端最初加入直播会议时的通道,由所述服务器通过所述通道直接给所述第四配对用户组中的作为子节点的终端推送多媒体数据,并在所述服务器中删除所述第四配对用户组的记录。
6.一种多媒体的直播方法,其特征在于,包括:
第一终端接收服务器发送的从直播模式切换到p2p传输模式的命令;
所述第一终端根据所述命令,查找所述第一终端作为备用父节点所配对的作为子节点的第二终端;
所述第一终端将从所述服务器接收的多媒体数据转发给所述第二终端。
7.一种多媒体的直播方法,其特征在于,包括:
第二终端接收服务器发送的从直播模式切换到p2p传输模式的命令;
所述第二终端从第一终端接收来自所述服务器的多媒体数据,所述第一终端为所述第二终端作为子节点所配对的备用父节点。
8.根据权利要求7所述的方法,其特征在于,还包括:
所述第二终端给所述服务器发送切换成功的消息,使得所述服务器停止给所述第二终端直接发送多媒体数据。
9.根据权利要求7所述的方法,其特征在于,所述第二终端接收服务器发送的从直播模式切换到p2p传输模式的命令的步骤之前,所述方法还包括:
所述第二终端从服务器接收推荐列表,所述推荐列表包括至少一第三终端;
所述第二终端尝试依次与所述第三终端进行P2P通讯;
所述第二终端根据所述P2P通讯的结果从所述第三终端中选择一终端,作为所述第一终端;
所述第二终端将所述第一终端发送给所述服务器,使得所述服务器将所述第二终端作为子节点、所述第一终端作为备用父节点,建立一配对用户组。
10.一种服务器,其特征在于,包括:
判断单元,判断服务器的运行负荷是否达到预定阈值,生成判断结果;
发送单元,当所述判断结果为是时,向至少一第一配对用户组发送从直播模式切换到p2p传输模式的命令,使得所述第一配对用户组中作为备用父节点的第一终端将从服务器接收的多媒体数据转发给所述第一配对用户组中的作为子节点的第二终端;
接收单元,接收所述第二终端发送的切换成功的消息后,所述服务器停止给所述第二终端直接发送多媒体数据。
11.根据权利要求10所述的服务器,其特征在于,还包括:
更新单元,将所述第一配对用户组的状态从p2p预传输状态更新为p2p传输状态。
12.一种第一终端,其特征在于,包括:
接收单元,接收服务器发送的从直播模式切换到p2p传输模式的命令;
查找单元,根据所述命令,查找所述第一终端作为备用父节点所配对的作为子节点的第二终端;
转发单元,将从所述服务器接收的多媒体数据转发给所述第二终端。
13.一种第二终端,其特征在于,包括:
第一接收单元,接收服务器发送的从直播模式切换到p2p传输模式的命令;
第二接收单元,从第一终端接收来自所述服务器的多媒体数据,所述第一终端为所述第二终端作为子节点所配对的备用父节点。
14.根据权利要求13所述的第二终端,其特征在于,还包括:
发送单元,给所述服务器发送切换成功的消息,使得所述服务器停止给所述第二终端直接发送多媒体数据。
15.一种多媒体的直播***,其特征在于,包括:服务器、第一终端和第二终端;
所述服务器,判断服务器的运行负荷是否达到预定阈值,生成判断结果;当所述判断结果为是时,向至少一第一配对用户组发送从直播模式切换到p2p传输模式的命令,使得所述第一配对用户组中作为备用父节点的第一终端将从服务器接收的多媒体数据转发给所述第一配对用户组中的作为子节点的第二终端;接收所述第二终端发送的切换成功的消息后,所述服务器停止给所述第二终端直接发送多媒体数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410443110.5A CN105450615B (zh) | 2014-09-02 | 2014-09-02 | 多媒体的直播方法、***、服务器、第一终端以及第二终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410443110.5A CN105450615B (zh) | 2014-09-02 | 2014-09-02 | 多媒体的直播方法、***、服务器、第一终端以及第二终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105450615A true CN105450615A (zh) | 2016-03-30 |
CN105450615B CN105450615B (zh) | 2019-06-14 |
Family
ID=55560395
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410443110.5A Active CN105450615B (zh) | 2014-09-02 | 2014-09-02 | 多媒体的直播方法、***、服务器、第一终端以及第二终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105450615B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106453289A (zh) * | 2016-09-29 | 2017-02-22 | 广州市千钧网络科技有限公司 | 一种视频直播的数据传输方法及传输装置 |
CN106937136A (zh) * | 2017-03-29 | 2017-07-07 | 武汉斗鱼网络科技有限公司 | 基于网络直播间统计信息的数据延迟方法及*** |
CN107332894A (zh) * | 2017-06-23 | 2017-11-07 | 广州市百果园信息技术有限公司 | 直播方法、装置及***、服务器、存储介质 |
CN107820136A (zh) * | 2017-11-17 | 2018-03-20 | 哈尔滨工大服务机器人有限公司 | 一种基于p2p的视频传输方法及*** |
CN107231350B (zh) * | 2017-05-24 | 2020-05-19 | 北京潘达互娱科技有限公司 | 一种消息处理方法与装置 |
CN112055037A (zh) * | 2019-06-06 | 2020-12-08 | 深圳市尚云互联技术有限公司 | Nat穿透连接方法及*** |
CN112423012A (zh) * | 2020-11-18 | 2021-02-26 | 青岛华升联信智慧科技有限公司 | 一种多级负载的直播方法 |
CN114245164A (zh) * | 2021-12-17 | 2022-03-25 | 杭州视洞科技有限公司 | 一种ipc直播动态分流省流方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101237429A (zh) * | 2008-02-25 | 2008-08-06 | 蓝汛网络科技(北京)有限公司 | 基于内容分发网络的流媒体直播***、方法及装置 |
US20100049864A1 (en) * | 2008-08-25 | 2010-02-25 | National Taiwan University | Multimedia broadcast system and method |
CN103024076A (zh) * | 2012-12-31 | 2013-04-03 | 乐视网信息技术(北京)股份有限公司 | 一种应用于对等网络的直播调度***及方法 |
-
2014
- 2014-09-02 CN CN201410443110.5A patent/CN105450615B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101237429A (zh) * | 2008-02-25 | 2008-08-06 | 蓝汛网络科技(北京)有限公司 | 基于内容分发网络的流媒体直播***、方法及装置 |
US20100049864A1 (en) * | 2008-08-25 | 2010-02-25 | National Taiwan University | Multimedia broadcast system and method |
CN103024076A (zh) * | 2012-12-31 | 2013-04-03 | 乐视网信息技术(北京)股份有限公司 | 一种应用于对等网络的直播调度***及方法 |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106453289A (zh) * | 2016-09-29 | 2017-02-22 | 广州市千钧网络科技有限公司 | 一种视频直播的数据传输方法及传输装置 |
CN106453289B (zh) * | 2016-09-29 | 2020-05-22 | 广州市千钧网络科技有限公司 | 一种视频直播的数据传输方法及传输装置 |
CN106937136A (zh) * | 2017-03-29 | 2017-07-07 | 武汉斗鱼网络科技有限公司 | 基于网络直播间统计信息的数据延迟方法及*** |
CN106937136B (zh) * | 2017-03-29 | 2020-05-12 | 武汉斗鱼网络科技有限公司 | 基于网络直播间统计信息的数据延迟方法及*** |
CN107231350B (zh) * | 2017-05-24 | 2020-05-19 | 北京潘达互娱科技有限公司 | 一种消息处理方法与装置 |
CN107332894A (zh) * | 2017-06-23 | 2017-11-07 | 广州市百果园信息技术有限公司 | 直播方法、装置及***、服务器、存储介质 |
CN107332894B (zh) * | 2017-06-23 | 2020-08-11 | 广州市百果园信息技术有限公司 | 直播方法、装置及***、服务器、存储介质 |
CN107820136A (zh) * | 2017-11-17 | 2018-03-20 | 哈尔滨工大服务机器人有限公司 | 一种基于p2p的视频传输方法及*** |
CN112055037A (zh) * | 2019-06-06 | 2020-12-08 | 深圳市尚云互联技术有限公司 | Nat穿透连接方法及*** |
CN112423012A (zh) * | 2020-11-18 | 2021-02-26 | 青岛华升联信智慧科技有限公司 | 一种多级负载的直播方法 |
CN112423012B (zh) * | 2020-11-18 | 2023-05-09 | 青岛华升联信智慧科技有限公司 | 一种多级负载的直播方法 |
CN114245164A (zh) * | 2021-12-17 | 2022-03-25 | 杭州视洞科技有限公司 | 一种ipc直播动态分流省流方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105450615B (zh) | 2019-06-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105450615A (zh) | 多媒体的直播方法、***、服务器、第一终端以及第二终端 | |
CN102546775B (zh) | 一种cdn中的节点及其自组网方法 | |
CN103166959B (zh) | 一种多径实时传输控制***及方法 | |
EP3595325B1 (en) | Method for realizing multicast and relevant network device | |
CN103067286B (zh) | 一种组播数据传输方法和设备 | |
CN102231762B (zh) | 一种可以无限水平扩展的p2p服务器*** | |
CN109964467A (zh) | 用于辅助数据流传输的基于节点类型的控制 | |
CN111355798A (zh) | 一种数据分发方法及*** | |
CN104519036A (zh) | 一种发送业务请求消息的方法及装置 | |
CN105357146A (zh) | 出口网关内缓存队列饱和攻击防御方法、装置及*** | |
CN104602351A (zh) | 一种实现宽带集群业务的方法、装置及*** | |
CN113452431B (zh) | 一种利用边缘计算技术优化卫星网络数据业务的方法 | |
CN105577561A (zh) | 实现虚拟化网元间负载均衡的方法及***和虚拟化网元 | |
CN105282803A (zh) | 通讯接口和基于通讯接口的信息传递方法及*** | |
CN103312593B (zh) | 一种消息分发***及方法 | |
CN113438129B (zh) | 数据采集方法及装置 | |
CN104679528A (zh) | 应用程序远程更新的方法和装置 | |
CN103763206A (zh) | 一种网络调度方法及网关 | |
CN102111608A (zh) | 一种视频监控***的通信方法及其设备 | |
CN101656947B (zh) | 跨异构网络业务共享建立方法、设备及*** | |
CN100499567C (zh) | 视频组播业务中频道切换的实现方法 | |
CN112422300B (zh) | 基于区块链的云网专线管理方法、upf及区块链平台 | |
CN104796340A (zh) | 一种组播数据传输方法和设备 | |
CN101695049A (zh) | 一种监控***中的业务处理方法及装置 | |
CN104993970A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |