CN106657109A - 一种流数据的传输方法和装置 - Google Patents

一种流数据的传输方法和装置 Download PDF

Info

Publication number
CN106657109A
CN106657109A CN201611261609.XA CN201611261609A CN106657109A CN 106657109 A CN106657109 A CN 106657109A CN 201611261609 A CN201611261609 A CN 201611261609A CN 106657109 A CN106657109 A CN 106657109A
Authority
CN
China
Prior art keywords
transmission
client
node
flow data
transmission 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.)
Pending
Application number
CN201611261609.XA
Other languages
English (en)
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.)
Beijing Qihoo Technology Co Ltd
Original Assignee
Beijing Qihoo 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 Beijing Qihoo Technology Co Ltd filed Critical Beijing Qihoo Technology Co Ltd
Priority to CN201611261609.XA priority Critical patent/CN106657109A/zh
Publication of CN106657109A publication Critical patent/CN106657109A/zh
Priority to PCT/CN2017/117749 priority patent/WO2018121405A1/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/65Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/764Media network packet handling at the destination 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/55Push-based network services

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种流数据的传输方法和装置。所述方法包括:按照传输路径将第一流数据从第一客户端传送至第二客户端,所述传输路径经过多个目标传输节点,至少一个目标传输节点具有关联传输节点;接收第二客户端向所述目标传输节点传输的第二流数据;将所述第二流数据从各目标传输节点,经所述关联传输节点推送至所述第一客户端以及至少一个第三客户端,因此本发明实施例省去了第二流数据的新传输路径的建立,节省了路径建立时间,保证了流数据传输的实时性。本发明当流数据传输网络中同时存在多路流数据时,多路流数据的合成操作在用户客户端完成,从而省去了合成***的使用,解决了多***传输导致的延迟问题,进一步节省了***开销。

Description

一种流数据的传输方法和装置
技术领域
本发明涉及信息处理技术领域,具体涉及一种流数据的传输方法,以及一种流数据的传输装置。
背景技术
随着互联网的发展,网络直播作为流媒体的重要组成形式被越来越多的用户参与。在直播平台***中,普通用户可以向主播发送连麦请求,待主播批准连麦请求后,连麦端和主播端推送的直播流数据共同显示在用户客户端。
目前包括多种连麦方式,例如,当主播批准普通用户的连麦请求后,对主播端和连麦端新建一数据通道,主播端通过新建的数据通道接收连麦端发布的直播流数据后,对本地采集的直播流数据和连麦端发布的直播流数据进行合成,之后将合成的视频流数据传输至流媒体服务器;或者,连麦端登陆到主播端所在的视频会议频道中,合成服务器对视频会议中的多路直播流数据进行合成,之后将合成的直播流数据传输至流媒体服务器以对其进行分发处理。
虽然上述方法实现了多路连麦,但是仍存在以下问题:需要对主播端和连麦端新建数据通道,然而数据通道的建立需要耗费较长时间,会导致流数据的传输延迟问题的产生;在使用视频会议***时,合成服务器对多路流数据的合成操作需要耗费较长时间,同样会导致流数据的传输延迟问题的产生,另外流数据在合成***和分发***间的传输,进一步加深了流数据的传输延迟问题。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的流数据的传输方法和相应的流数据的传输装置。
依据本发明的一个方面,提供了一种流数据的传输方法,包括:
按照传输路径将第一流数据从第一客户端传送至第二客户端,所述传输路径经过多个目标传输节点,至少一个目标传输节点具有关联传输节点;
接收第二客户端向所述目标传输节点传输的第二流数据;
将所述第二流数据从各目标传输节点,经所述关联传输节点推送至所述第一客户端以及至少一个第三客户端。
可选地,所述接收第二客户端向所述目标传输节点传输的第二流数据包括:
接收所述第二客户端向直接连接的目标传输节点传输的第二流数据;
按照所述传输路径的反向顺序,将所述第二流数据顺次推送到其他目标传输节点。
可选地,所述将所述第二流数据从各目标传输节点,经所述关联传输节点推送至所述第一客户端以及至少一个第三客户端包括:
将所述第二流数据推送至与所述目标传输节点直接连接的一级关联传输节点或第一客户端或第三客户端;
迭代执行推送步骤,将所述第二流数据从接收到所述第二流数据的N级关联传输节点推送至直接连接的N+1级关联传输节点或第一客户端或第三客户端,直至推送至接入传输节点集群的第一客户端和所有第三客户端。
可选地,所述目标传输节点本地记录有在所述传输路径中的下行目标传输节点,在所述将所述第二流数据推送至与所述目标传输节点直接连接的一级关联传输节点或第一客户端或第三客户端之前,所述方法还包括:
查找所述目标传输节点在所述传输路径中的下行目标传输节点;
从与所述目标传输节点直接连接的一级关联传输节点中,去除所查找的下行目标传输节点。
可选地,所述下行目标传输节点与所述第一流数据的流标识对应存储,所述第二流数据携带所述第一流数据的流标识;
所述查找所述目标传输节点在所述传输路径中的下行目标传输节点包括:
根据所述第一流数据的流标识,提取对应存储的下行目标传输节点。
可选地,在所述将所述第二流数据从各目标传输节点,经所述关联传输节点推送至所述第一客户端以及至少一个第三客户端之前,所述方法还包括:
判定所述第二流数据指向广播传输方式。
可选地,所述判定所述第二流数据指向广播传输方式包括:
确定所述第二流数据的数据协议头中包括广播传输方式的标识;
或,确定所述第二流数据发送至多个目的客户端。
可选地,所述方法还包括:
若所述第二流数据不指向广播传输方式,则将所述第二流数据从各目标传输节点推送至所述第一客户端。
可选地,所述方法还包括:
判定所述第二客户端具备广播权限。
可选地,所述判定所述第二客户端具备广播权限包括:
查找具备广播权限的特征客户端集合;
确定所述第二客户端存在所述特征客户端集合中。
可选地,所述判定所述第二客户端具备广播权限包括:
从所述第二流数据的数据协议头提取所述第二客户端的身份标识字段;
识别所述身份标识字段归属于目标数值区间。
根据本发明的另一方面,提供了一种流数据的传输方法,包括:
接收从第一客户端按照传输路径传输的第一流数据,所述传输路径经过多个目标传输节点,各目标传输节点具有至少一个关联传输节点;
向所述目标传输节点传输第二流数据,以由各目标传输节点经所述关联传输节点将所述第二流数据推送至所述第一客户端以及至少一个第三客户端。
可选地,在所述向所述目标传输节点传输第二流数据之前,所述方法还包括:
向所述第一客户端发送特征客户端的申请请求,并接收所述第一客户端反馈的批准通知。
可选地,所述向所述第一客户端发送特征客户端的申请请求,并接收所述第一客户端反馈的批准通知包括:
按照所述传输路径向第一客户端发送成为特征客户端的申请请求;
接收所述第一客户端按照所述传输路径反馈的批准通知。
根据本发明的另一方面,提供了一种流数据的传输装置,包括:
第一流数据传输模块,用于按照传输路径将第一流数据从第一客户端传送至第二客户端,所述传输路径经过多个目标传输节点,至少一个目标传输节点具有关联传输节点;
第二流数据接收模块,用于接收第二客户端向所述目标传输节点传输的第二流数据;
第二流数据推送模块,用于将所述第二流数据从各目标传输节点,经所述关联传输节点推送至所述第一客户端以及至少一个第三客户端。
可选地,所述第二流数据接收模块包括:
第二流数据获取子模块,用于接收所述第二客户端向直接连接的目标传输节点传输的第二流数据;
第二流数据反向传输子模块,用于按照所述传输路径的反向顺序,将所述第二流数据顺次推送到其他目标传输节点。
可选地,所述第二流数据推送模块包括:
第二流数据直接推送子模块,用于将所述第二流数据推送至与所述目标传输节点直接连接的一级关联传输节点或第一客户端或第三客户端;
第二流数据迭代推送子模块,用于迭代执行推送步骤,将所述第二流数据从接收到所述第二流数据的N级关联传输节点推送至直接连接的N+1级关联传输节点或第一客户端或第三客户端,直至推送至接入传输节点集群的第一客户端和所有第三客户端。
可选地,所述装置还包括:
下行目标传输节点查找模块,用于在所述将所述第二流数据推送至与所述目标传输节点直接连接的一级关联传输节点或第一客户端或第三客户端之前,查找所述目标传输节点在所述传输路径中的下行目标传输节点,所述目标传输节点本地记录有在所述传输路径中的下行目标传输节点;
下行目标传输节点去除模块,用于从与所述目标传输节点直接连接的一级关联传输节点中,去除所查找的下行目标传输节点。
可选地,所述下行目标传输节点查找模块,具体用于根据所述第一流数据的流标识,提取对应存储的下行目标传输节点,所述下行目标传输节点与所述第一流数据的流标识对应存储,所述第二流数据携带所述第一流数据的流标识。
可选地,所述装置还包括:
广播传输方式判定模块,用于在所述将所述第二流数据从各目标传输节点,经所述关联传输节点推送至所述第一客户端以及至少一个第三客户端之前,判定所述第二流数据指向广播传输方式。
可选地,所述广播传输方式判定模块包括:
标识确定子模块,用于确定所述第二流数据的数据协议头中包括广播传输方式的标识;
或,目的客户端数目确定子模块,用于确定所述第二流数据发送至多个目的客户端。
可选地,所述装置还包括:
第二流数据单播模块,用于若所述第二流数据不指向广播传输方式,则将所述第二流数据从各目标传输节点推送至所述第一客户端。
可选地,所述装置还包括:
广播权限判定模块,用于判定所述第二客户端具备广播权限。
可选地,所述广播权限判定模块包括:
集合查找子模块,用于查找具备广播权限的特征客户端集合;
第二客户端确定子模块,用于确定所述第二客户端存在所述特征客户端集合中。
可选地,所述广播权限判定模块包括:
身份标识字段提取子模块,用于从所述第二流数据的数据协议头提取所述第二客户端的身份标识字段;
身份标识字段识别子模块,用于识别所述身份标识字段归属于目标数值区间。
根据本发明的另一方面,提供了一种流数据的传输装置,包括:
第一流数据接收模块,用于接收从第一客户端按照传输路径传输的第一流数据,所述传输路径经过多个目标传输节点,至少一个目标传输节点具有关联传输节点;
第二流数据传输模块,用于向所述目标传输节点传输第二流数据,以由各目标传输节点经所述关联传输节点将所述第二流数据推送至所述第一客户端以及至少一个第三客户端。
可选地,所述装置还包括:
批准通知接收模块,用于在所述向所述目标传输节点传输第二流数据之前,向所述第一客户端发送特征客户端的申请请求,并接收所述第一客户端反馈的批准通知。
可选地,所述批准通知接收模块包括:
申请请求发送子模块,用于按照所述传输路径向第一客户端发送成为特征客户端的申请请求;
批准通知获取子模块,用于接收所述第一客户端按照所述传输路径反馈的批准通知。
依据本发明实施例,第二客户端接收到第一客户端按照传输路径传输的第一流数据后,如果第二客户端预向其他客户端传输第二流数据,则只需将第二流数据传输至第一流数据的传输路径经过的目标传输节点,进一步将第二流数据传输至目标传输节点的关联传输节点,即可将第二流数据传输至第一客户端和至少一个第三客户端,因此本发明实施例省去了第二流数据的新传输路径的建立,节省了路径建立时间,保证了流数据传输的实时性。
相比于背景技术中使用视频会议***进行多路连麦,本发明当流数据传输网络中同时存在多路流数据时,多路流数据的合成操作在用户客户端完成,从而省去了合成***的使用,解决了多***传输导致的延迟问题,进一步节省了***开销。
本发明实施例使用同一传输路径传输流数据和信令,省去了传统方法中针对流数据和信令的多条传输路径的建立,节省了路径建立。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了根据本发明实施例一的一种流数据的传输方法的步骤流程示意图;
图2示出了根据本发明实施例二的一种流数据的传输方法的步骤流程示意图;
图3示出了根据本发明实施例二的直播间的网络拓扑结构的示意图;
图4示出了根据本发明实施例三的一种流数据的传输方法的步骤流程示意图;
图5示出了根据本发明实施例四的一种流数据的传输装置的结构框图;
图6示出了根据本发明实施例五的一种流数据的传输装置的结构框图;
图7示出了根据本发明实施例六的一种流数据的传输装置的结构框图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
参照图1,示出了根据本发明实施例一的一种流数据的传输方法的步骤流程示意图,具体可以包括如下步骤:
步骤101、按照传输路径将第一流数据从第一客户端传送至第二客户端,传输路径经过多个目标传输节点,至少一个目标传输节点具有关联传输节点。
本发明实施例所述的方法应用于存在以流式传输方式传输的视频流数据的场景。
本发明实施例中,连入网络拓扑结构的客户端为多个,客户端与客户端之间通过传输路径连接,传输路径流经一个或多个传输节点,基于多条传输路径使得某一客户端与其他多个客户端连接。可以使用内容分发网络(Content Delivery Network,CDN)对客户端间传输的流数据进行传输。
第一客户端按照预先建立的传输路径向第二客户端传输第一流数据。第一客户端与第二客户端的传输路径经过的传输节点称为目标传输节点,目标传输节点的数目为多个,至少一个目标传输节点具有关联传输节点。其中关联传输节点可以是与目标传输节点直接连接的传输节点,也可以是通过直接连接的传输节点与目标传输节点间接连接的传输节点。
本发明实施例所述方法可以应用于多种应用场景,例如应用于视频直播场景、视频会议场景等。当本发明实施例所述的方法应用于视频直播场景时,第一客户端可以为直播间内的主播端,第二客户端可以为直播间内的嘉宾端;第一流数据为主播端传输的直播流数据。
当用户进入某一直播间成为普通用户后,调度节点会为该普通用户端分配其与主播端、嘉宾端和其他普通用户端的传输路径,即调度节点会对直播间的网络拓扑结构进行调整,将新加入的普通用户端添加至网络拓扑结构中。实际中调度节点可以根据普通用户端所在区域的地理位置信息、传输节点的负载情况等信息,为普通用户端分配传输路径。
普通用户端可以根据预先建立的传输路径向主播端发送连麦请求,如果主播批准了连麦请求,则普通用户变成了嘉宾,其所在的客户端变成了嘉宾端,嘉宾端有权上传音视频数据,上传的直播流数据与主播端上传的直播流数据一起显示在主播端和其他用户客户端。例如以画中画的形式一起显示。
主播端发布直播流数据时,可以根据调度节点针对主播端与嘉宾端配置的传输路径将直播流数据传输至嘉宾端。
步骤102、接收第二客户端向目标传输节点传输的第二流数据。
将第二客户端发布的流数据称为第二流数据。第二客户端发布第二流数据时,会将第二流数据传输至网络拓扑结构中,具体地第二客户端将第二流数据传输至与其直接连接的目标传输节点上,这时目标传输节点会接收到第二客户端传输的第二流数据。之后根据第一客户端与第二客户端的传输路径的反向路径,将第二流数据推送至该传输路径经过的各个目标传输节点上。
在视频直播场景中,当普通用户成为嘉宾后,嘉宾有权限发布直播流数据。当嘉宾端发布直播流数据时,基于嘉宾端与主播端的传输路径,嘉宾端将发布的直播流数据传输至该传输路径中与嘉宾端直接连接的目标传输节点上,之后根据该传输路径中各个目标传输节点的反向连接顺序,对直播流数据进行推送,最终将其推送至主播端。
步骤103、将第二流数据从各目标传输节点,经关联传输节点推送至第一客户端以及至少一个第三客户端。
各目标传输节点在接收到第二流数据后,如果目标传输节点具有关联传输节点,则将第二流数据从目标传输节点推送至关联传输节点,最终将第二流数据推送至第一客户端和第三客户端,完成对第二流数据的广播传输。
第一客户端和第二客户端同时推送流数据时,其他用户客户端会接收到两路流数据,这时其他用户客户端会对两路流数据进行合成,并对合成后的流数据进行展示。
在视频直播场景中,第一客户端可以为直播间内的主播端,第三客户端可以为直播间内的其他嘉宾端或普通用户端。在将嘉宾端发布的直播流数据传输至目标传输节点后,如果目标传输节点存在关联传输节点,则将嘉宾端发布的直播流数据通过目标传输节点传输至关联传输节点,最终将直播流数据传输至与关联传输节点连接的主播端和其他用户端上。实际中嘉宾可以通过客户端界面选择直播流数据的传输方式,以实现对直播流数据的单播或广播。
普通用户连麦成功后成为嘉宾,可以按照进入直播间成为普通用户时网络拓扑结构中传输路径以及传输节点间的连接关系,对嘉宾端发布的直播流数据进行广播,无需建立新的传输路径,节省了路径建立时间,保证了流数据传输的实时性。由于使用一套***支持主播端的直播流转发以及嘉宾端的直播流的转发,因此减少了***开销。
本发明实施例中,优选地,在所述将第二流数据从各目标传输节点,经关联传输节点推送至第一客户端以及至少一个第三客户端之前,所述方法还可以包括:判断第二流数据指向广播传输方式。
本发明实施例中,由于客户端可以根据预先建立的网络拓扑结构单播流数据至第一客户端,或是广播流数据至第一客户端和第三客户端,因此目标传输节点在接收到第二客户端发布的第二流数据后,需要对第二流数据的传输方式进行判断,如果判断第二流数据指向广播传输方式,则对其进行广播传输;如果判定第二流数据不指向广播传输方式,即确定第二流数据为单播,则将第二流数据从各目标传输节点推送至第一客户端。
具体地,可以通过确定第二流数据的数据协议头中包括广播传输方式的标识的方法,判定第二流数据指向广播传输方。传播方式的标识可以为多种形式,例如数字、字母、文字、图形等。
可以预先在用户客户端设定指示不同传输方式的不同标识,例如针对广播传输方式设置标识“a”,针对单播传输方式设置标识“b”,并且限定在客户端上传流数据时,在流数据的数据协议头中添加数据传输方式对应的标识;或者可以预先为不同客户端设置端标识,如设置第一客户端的端标识为“0”,除第一客户端外的其他客户端的端标识均为“1”,端标识“1”指示广播传输方式,并且限定在客户端上传流数据时,在流数据的数据协议头中添加接收流数据的目的客户端的端标识。
以视频直播场景为例,可以预先设定嘉宾端的端标识为正整数,设定指示广播传输方式的目标标识为“0xFFFF”,将嘉宾端及其对应的端标识以及指示广播传输方式的目标标识存储在各个传输节点上。如果传输节点识别到流数据的数据协议头中包括指示广播传输方式的目标标识“0xFFFF”,则确定第二流数据的传播方式为广播,识别到流数据的数据协议头中包括嘉宾标识后确定该客户端具有广播流数据的权限。
还可以通过确定第二流数据发送至多个目的客户端的方法,判定第二流数据指向广播传输方式。
预对第二流数据进行广播传输时,第二客户端对第二流数据进行相应处理,使发布的第二流数据携带多个目的客户端的端标识、多个目的客户端的数目或指示目的客户端数目为多个的标识等信息。相应地,目标传输节点识别到上述信息后,确定第二流数据为广播传输方式。
本发明实施例中,优选地,本发明实施例所述方法还包括判定第二客户端具有广播权限。
目标传输节点在接收到第二客户端发布的第二流数据后,可以判断第二客户端是否具有广播权限,只有当第二客户端具有广播权限时,才对第二流数据进行广播。
以视频直播场景为例,由于嘉宾端具有发布直播流数据的权限,普通用户端不具有该权限,因此目标传输节点在接收到某一用户客户端上传的直播流数据后,可以判断上传直播流数据的用户客户端是否具有广播权限,即判断是否被主播授予了连麦权限,如果判定该客户端具有广播权限,则进行下一步骤,对直播流数据进行推送。
可以通过多种方式判定第二客户端具有广播权限,例如,可以查找具备广播权限的特征客户端集合,并确定第二客户端存在该特征客户端集合中。
特征客户端集合为具有广播权限的客户端的集合,特征客户端集合存储在各传输节点中。如果确定第二客户端在传输节点本地存储的特征客户端集合内,则判定第二客户端具有广播权限。
以视频直播场景为例,特征客户端可以为具有广播权限的嘉宾端,相应地特征客户端集合可以为嘉宾端集合,具体地可以是多个嘉宾端的端标识的集合。
当主播批准普通用户的连麦请求后,普通用户成为嘉宾,主播端会对本地的嘉宾端信息集合进行更新,并将更新后的嘉宾端信息集合传送至与其直接连接的目标传输节点,进一步将其从该目标传输节点传送至针对直播间配置的传输节点集群中的各个传输节点上,各个传输节点对本地存储的嘉宾端信息集合的版本进行更新。实际中可以通过多种方式更新嘉宾端信息集合,例如主播端可以定时对嘉宾端信息集合进行更新,主播端可以在批准某一普通用户的连麦请求后对嘉宾端信息集合进行更新等。
由于各传输节点记录有直播间内的嘉宾端信息集合,因此在目标传输节点接收到嘉宾端发布的直播流数据后,通常是与嘉宾端直接连接的目标传输节点接收到嘉宾端发布的直播流数据后,可以查找本地存储的嘉宾端信息集合中是否包含发布直播流数据的嘉宾端,如果包含,则判定该嘉宾端具有广播权限;否则,判定该嘉宾端不具有广播权限。
本发明实施例可以针对不同客户端设置不同的身份标识字段,第二客户端发送第二流数据时将针对第二客户端设置的身份标识字段添加至数据协议头中。这时判定第二客户端具有广播权限的方法还可以包括:从接收的第二流数据的数据协议头中提取第二客户端的身份标识字段,识别流数据携带的身份标识字段归属于目标数值区间,目标数据区间是针对具有广播权限的客户端设置的。如果身份标识字段不归属于目标数值区间,则判定第二客户端不具备广播权限。
依据本发明实施例,第二客户端接收到第一客户端按照传输路径传输的第一流数据后,如果第二客户端预向其他客户端传输第二流数据,则只需将第二流数据传输至第一流数据的传输路径经过的目标传输节点,进一步将第二流数据传输至目标传输节点的关联传输节点,即可将第二流数据传输至第一客户端和至少一个第三客户端,因此本发明实施例省去了第二流数据的新传输路径的建立,节省了路径建立时间,保证了流数据传输的实时性。
相比于背景技术中使用视频会议***进行多路连麦,本发明当流数据传输网络中同时存在多路流数据时,多路流数据的合成操作在用户客户端完成,从而省去了合成***的使用,解决了多***传输导致的延迟问题,进一步节省了***开销。
参照图2,示出了根据本发明实施例二的一种流数据的传输方法的步骤流程示意图,具体可以包括如下步骤:
步骤201,按照传输路径将第一流数据从第一客户端传送至第二客户端,传输路径经过多个目标传输节点,至少一个目标传输节点具有关联传输节点。
步骤202,接收第二客户端向直接连接的目标传输节点传输的第二流数据。
第二客户端传送第二流数据时,向与其直接连接的目标传输节点传传输。在视频直播场景中,嘉宾端发布直播流数据时,会将直播流数据传输至与嘉宾端直接连接的目标传输节点。
步骤203,按照传输路径的反向顺序,将第二流数据顺次推送到其他目标传输节点。
第一客户端和第二客户端的传输路径的路径方向为第一客户端到第二客户端,在此路径方向下,传输路径经过的多个目标传输节点具有排列顺序。第二客户端传输第二流数据时,可以按照第一客户端和第二客户端的传输路径的反向顺序,将第二流数据从第二客户端传输至第一客户端,相应地将第二流数据顺次推送至传输路径经过的其他目标传输节点。
例如,在视频直播场景中,主播端与嘉宾端的传输路径依次经过传输节点1、传输节点2和传输节点3,嘉宾端将发布的音视频流数据推送至与其直接连接的传输节点3,之后按照传输路径的反向顺序,将音视频流数据推送至传输节点2,进一步推送至传输节点1,最终推送至主播端。
步骤204,将第二流数据推送至与目标传输节点直接连接的一级关联传输节点或第一客户端或第三客户端。
在网络拓扑结构,部分传输节点存在关联传输节点,关联传输节点可以是直接连接的或间接连接的传输节点。可以根据节点连接顺序,将关联传输节点分为多个等级,如一级关联传输节点、二级关联传输节点、三级关联传输节点等,其中一级关联传输节点为与某一传输节点直接连接的传输节点,二级关联传输节点为与一级关联传输节点直接连接的传输节点,其他级别的关联传输节点以此类推。第一客户端与第二客户端的传输路径经过的目标传输节点可以包括多种连接,如目标传输节点可以与其他目标传输节点、一级关联传输节点、第一客户端或第三客户端直接连接。
基于关联传输节点的等级设置以及目标传输节点的连接关系,目标传输节点接收到第二客户端传输的第二流数据后,在将第二流数据推送至其他目标传输节点的同时,将第二流数据推送至与其直接连接的一级关联传输节点或第一客户端或第三客户端。
建立传输路径时,可以在传输路径经过的目标传输节点本地记录其在该传输路径中的下行目标传输节点。在网络拓扑结构中,对于某一传输路径中相邻的两个传输节点,按照第一客户端至其他客户端的传输方向,限定位于传输方向末端的传输节点是位于传输方向起始端的传输节点的下行传输节点。例如,第一客户端到第二客户端的传输路径为节点1—节点2—节点3,第一客户端与节点1直接连接,第二客户端与节点3直接连接,则限定节点2为节点1的下行传输节点,节点1为节点2的上行传输节点。
这时在目标传输节点接收到第二客户端发布的第二流数据之后,在将第二流数据推送至与目标传输节点直接连接的一级关联传输节点或第一客户端或第三客户端之前,本发明实施例所述方法还可以包括:查找目标传输节点在传输路径中的下行目标传输节点,从与目标传输节点直接连接的一级关联传输节点中,去除所查找的下行目标传输节点。完成上述去除步骤后,目标传输节点将第二流数据推送至除查找到的下行目标传输节点外的与其直接连接的其他目标传输节点。
可以在构建网络拓扑结构时,在各传输节点本地记录该传输节点的所有一级关联传输节点,即上行目标传输节点和所有下行目标传输节点,具体可以记录所有一级关联传输节点的节点标识。完成对目标传输节点在该传输路径中的下行目标传输节点的查找后,可以从目标传输节点本地提取与该目标传输节点直接连接的一级关联传输节点。
当第一客户端与不同用户客户端的多条传输路径存在交叉或交汇时,交叉或交汇处的传输节点本地记录有针对多条传输路径的多个下行目标传输节点。为查找出针对某一传输路径的下行目标传输节点,本发明实施例可以在使用某一传输路径传输第一流数据过程中,在第一流数据传输至某一目标传输节点时,将该目标传输节点在该传输路径中的下行目标传输节点与第一流数据的流标识对应存储在该目标传输节点本地。当第一流数据传输至第二客户端后,第二客户端发布第二流数据,第二流数据携带有第一流数据的流标识,当第二流数据传送至目标传输节点后,目标传输节点可以根据第一流数据的流标识,提取对应存储的下行目标传输节点。具体地,目标传输节点可以根据第二流数据携带的第一流数据的流标识,以及本地存储的第一流标识与下行目标传输节点的对应关系,提取与第一流标识对应的下行目标传输节点。
当第一流数据传输至某一目标传输节点时,可以通过多种方式确定该目标传输节点在该传输路径下的下行传输节点,例如,第一流数据携带该传输路径经过的所有目标传输节点的节点标识,多个目标传输节点的节点标识按照第一客户端到第二客户端的流经方向有序排列,当第一流数据传输至某一目标传输节点后,可以获取当前目标传输节点的节点标识,根据第一流数据携带的节点标识序列,确定待传输的下一目标传输节点为下行目标传输节点。
还可以通过以下方法查找目标传输节点在该传输路径中的下行目标传输节点,方法具体包括:限定当第三客户端传输的第二流数据传输至某一目标传输节点时,让第二流数据携带该目标传输节点的下行目标传输节点的节点标识,当第二流数据传输至下一目标传输节点时,对第二流数据携带的节点标识做更改,更改成所述下一目标传输节点的下行目标传输节点的节点标识,按照上述方法传输第二流数据,当第二流数据传输至当前目标传输节点时,可以通过提取第二流数据携带的节点标识的方式,确定当前目标传输节点在该传输路径中的下行目标传输节点。
步骤205,迭代执行推送步骤,将第二流数据从接收到第二流数据的N级关联传输节点推送至直接连接的N+1级关联传输节点或第一客户端或第三客户端,直至推送至接入传输节点集群的第一客户端和所有第三客户端。
由于目标传输节点的关联传输节点可以包括直接连接和间接连接的多个传输节点,多个传输节点可能存在多级别关联,因此在将第二客户端发布的第二流数据推送至一级关联传输节点后,循环执行步骤204所述方法,将第二流数据推送至二级关联传输节点、···、N级关联传输节点、N+1级关联传输节点,直至推送至接入传输节点集群的第一客户端和所有第三客户端,从而完成对第二客户端发布的第二流数据的广播。因此本发明实施例利用目标传输节点和关联传输节点,将流数据广播至多个客户端。
在视频直播场景中,主播端和其他用户客户端接收到嘉宾发布的直播流数据后,对嘉宾发布的和主播发布的两路直播流数据进行合成,将合成后的直播流数据显示在客户端。
为使本领域技术人员更加清楚地理解本发明实施例,下面通过具体示例对本发明所述方法进行详细说明。
示例1
参照图3,示出了根据本发明实施例二的直播间的网络拓扑结构的示意图。在图3所示的直播间的网络拓扑结构中,1为主播端,2为普通用户端,3为普通用户端,4为嘉宾端,a、b、c、d、e和f为传输节点。
用户进入直播间内成为普通用户端3,调度节点为普通用户端3分配传输节点和建立传输路径,使普通用户端3与主播端1、普通用户端2和嘉宾端4连接。主播端1与普通用户端3的传输路径为a-c-e,主播端按照传输路径a-c-e向普通用户端3传输流数据或指令;普通用户端3按照上述传输路径的反向路径e-c-a向主播端1传输流数据或请求。
普通用户端3可以向主播端1发送连麦请求,当主播批注该连麦请求后,普通用户端3成为具有广播权限的嘉宾端3。具有广播权限的嘉宾端3发布直播流数据时,直播流数据首先被推送至传输节点e,之后被推送至传输节点c和传输节点a,最终被推送至主播端1。在将传输节点c处的直播流数据推送至传输节点a的同时,将直播流数据推送至传输节点f,进一步推送至嘉宾端4。在将传输节点a处的直播流数据推送至主播端1的同时,将直播流数据逐步推送至传输节点b和传输节点d,最终推送至普通用户端2。基于上述多个推送步骤,实现对嘉宾端3发布的直播流数据的广播。
依据本发明实施例,第二客户端接收到第一客户端按照传输路径传输的第一流数据后,如果第二客户端预向其他客户端传输第二流数据,则只需将第二流数据传输至第一流数据的传输路径经过的目标传输节点,进一步将第二流数据传输至目标传输节点的关联传输节点,即可将第二流数据传输至第一客户端和至少一个第三客户端,因此本发明实施例省去了第二流数据的新传输路径的建立,节省了路径建立时间,保证了流数据传输的实时性。
相比于背景技术中使用视频会议***进行多路连麦,本发明当流数据传输网络中同时存在多路流数据时,多路流数据的合成操作在用户客户端完成,从而省去了合成***的使用,解决了多***传输导致的延迟问题,进一步节省了***开销。
参照图4,示出了根据本发明实施例三的一种流数据的传输方法的步骤流程示意图,具体可以包括如下步骤:
步骤301、接收从第一客户端按照传输路径传输的第一流数据,传输路径经过多个目标传输节点,至少一个目标传输节点具有关联传输节点。
本发明实施例所述的方法应用于存在以流式传输方式传输的视频流数据的场景。
***中包括多个客户端,客户端与客户端之间通过传输路径连接,传输路径流经一个或多个传输节点,基于多条传输路径使得某一客户端与其他多个客户端连接。
多条传输路径存在交汇和交叉的情况,存在两条或多条传输路径共用同一传输节点的情况,因此针对某一传输路径上的传输节点可能具有位于其他传输路径上的、与该传输节点连接的关联传输节点。关联传输节点可以是与某一传输节点直接连接的传输节点,也可以是与某一传输节点直接连接和间接连接的多个传输节点。
本发明实施例中,第一客户端与第二客户端的传输路径经过多个传输节点,上述传输节点称为目标传输节点。至少一个目标传输节点具有关联传输节点。
第一客户端按照传输路径向第二客户端传输第一流数据,相应地第二客户端接收第一客户端传输的第一流数据。
步骤302、向目标传输节点传输第二流数据,以由各目标传输节点经关联传输节点将第二流数据推送至所述第一客户端以及至少一个第三客户端。
第二客户端广播流数据时,会将其发布的第二流数据传输至第一客户端与第二客户端的传输路径经过的目标传输节点,最终将第二流数据推送至第一客户端。如果目标传输节点具有关联传输节点,则目标传输节点在将接收的第二流数据推送至下一个目标传输节点的同时,将第二流数据推送至该目标传输节点的关联传输节点,最终将第二流数据推送至与关联传输节点连接的第三客户端,从而完成对第二流数据的广播传输。
在向目标传输节点传输第二流数据之前,本发明实施例所述方法还可以包括:向第一客户端发送特征客户端的申请请求,并接收第一客户端反馈的批准通知。
特征客户端为具有广播流数据权限的客户端。如果第二客户端预广播流数据,则需要向第一客户端发送特征客户端的申请请求,第一客户端的用户批注该申请请求后,第一客户端会向第二客户端反馈批准通知,第二客户端在接收到反馈的批准通知后,才具有广播流数据的权限。如果第一客户端的用户未批注申请请求,则第二客户端无权广播流数据。
第二客户端发送的申请请求中可以携带供预览信息,如第二客户端用户的音频、视频等,第一客户端用户可以查看预览信息,并根据预览信息对申请请求进行审批,判断是否要接受第二客户端发送的特征客户端的申请请求。预览操作提高了用户体验,提高了审批结果的准确性。
申请请求和批准通知可以与流数据共用同一传输路径,从而可以减少传输路径的建立。基于上述方法,向第一客户端发送特征客户端的申请请求,并接收第一客户端反馈的批准通知的步骤可以包括:按照第一客户端与第二客户端的传输路径向第一客户端发送成为特征客户端的申请请求;接收第一客户端按照该传输路径反馈的批准通知。
依据本发明实施例,第二客户端接收到第一客户端按照传输路径传输的第一流数据后,如果第二客户端预向其他客户端传输第二流数据,则只需将第二流数据传输至第一流数据的传输路径经过的目标传输节点,进一步将第二流数据传输至目标传输节点的关联传输节点,即可将第二流数据传输至第一客户端和至少一个第三客户端,因此本发明实施例省去了第二流数据的新传输路径的建立,节省了路径建立时间,保证了流数据传输的实时性。
相比于背景技术中使用视频会议***进行多路连麦,本发明当流数据传输网络中同时存在多路流数据时,多路流数据的合成操作在用户客户端完成,从而省去了合成***的使用,解决了多***传输导致的延迟问题,进一步节省了***开销。
本发明实施例使用同一传输路径传输流数据和信令,省去了传统方法中针对流数据和信令的多条传输路径的建立,节省了路径建立。
图5示出了根据本发明实施例四的一种流数据的传输装置的结构框图。图5中的流数据的传输装置包括:
第一流数据传输模块401,用于按照传输路径将第一流数据从第一客户端传送至第二客户端,所述传输路径经过多个目标传输节点,至少一个目标传输节点具有关联传输节点。
第二流数据接收模块402,用于接收第二客户端向所述目标传输节点传输的第二流数据。
第二流数据推送模块403,用于将所述第二流数据从各目标传输节点,经所述关联传输节点推送至所述第一客户端以及至少一个第三客户端。
依据本发明实施例,第二客户端接收到第一客户端按照传输路径传输的第一流数据后,如果第二客户端预向其他客户端传输第二流数据,则只需将第二流数据传输至第一流数据的传输路径经过的目标传输节点,进一步将第二流数据传输至目标传输节点的关联传输节点,即可将第二流数据传输至第一客户端和至少一个第三客户端,因此本发明实施例省去了第二流数据的新传输路径的建立,节省了路径建立时间,保证了流数据传输的实时性。
相比于背景技术中使用视频会议***进行多路连麦,本发明当流数据传输网络中同时存在多路流数据时,多路流数据的合成操作在用户客户端完成,从而省去了合成***的使用,解决了多***传输导致的延迟问题,进一步节省了***开销。
图6示出了根据本发明实施例五的一种流数据的传输装置的结构框图。图6中的流数据的传输装置包括:
第一流数据传输模块501,用于按照传输路径将第一流数据从第一客户端传送至第二客户端,所述传输路径经过多个目标传输节点,至少一个目标传输节点具有关联传输节点。
第二流数据接收模块502,用于接收第二客户端向所述目标传输节点传输的第二流数据。
第二流数据推送模块503,用于将所述第二流数据从各目标传输节点,经所述关联传输节点推送至所述第一客户端以及至少一个第三客户端。
所述第二流数据接收模块502包括:
第二流数据获取子模块5021,用于接收所述第二客户端向直接连接的目标传输节点传输的第二流数据;
第二流数据反向传输子模块5022,用于按照所述传输路径的反向顺序,将所述第二流数据顺次推送到其他目标传输节点。
所述第二流数据推送模块503包括:
第二流数据直接推送子模块5031,用于将所述第二流数据推送至与所述目标传输节点直接连接的一级关联传输节点或第一客户端或第三客户端;
第二流数据迭代推送子模块5032,用于迭代执行推送步骤,将所述第二流数据从接收到所述第二流数据的N级关联传输节点推送至直接连接的N+1级关联传输节点或第一客户端或第三客户端,直至推送至接入传输节点集群的第一客户端和所有第三客户端。
本发明实施例中,优选地,所述装置还包括:
下行目标传输节点查找模块,用于在所述将所述第二流数据推送至与所述目标传输节点直接连接的一级关联传输节点或第一客户端或第三客户端之前,查找所述目标传输节点在所述传输路径中的下行目标传输节点,所述目标传输节点本地记录有在所述传输路径中的下行目标传输节点;
下行目标传输节点去除模块,用于从与所述目标传输节点直接连接的一级关联传输节点中,去除所查找的下行目标传输节点。
本发明实施例中,优选地,所述下行目标传输节点查找模块,具体用于根据所述第一流数据的流标识,提取对应存储的下行目标传输节点,所述下行目标传输节点与所述第一流数据的流标识对应存储,所述第二流数据携带所述第一流数据的流标识。
本发明实施例中,优选地,所述装置还包括:
广播传输方式判定模块,用于在所述将所述第二流数据从各目标传输节点,经所述关联传输节点推送至所述第一客户端以及至少一个第三客户端之前,判定所述第二流数据指向广播传输方式。
本发明实施例中,优选地,所述广播传输方式判定模块包括:
标识确定子模块,用于确定所述第二流数据的数据协议头中包括广播传输方式的标识;
或,目的客户端数目确定子模块,用于确定所述第二流数据发送至多个目的客户端。
本发明实施例中,优选地,所述装置还包括:
第二流数据单播模块,用于若所述第二流数据不指向广播传输方式,则将所述第二流数据从各目标传输节点推送至所述第一客户端。
本发明实施例中,优选地,所述装置还包括:
广播权限判定模块,用于判定所述第二客户端具备广播权限。
本发明实施例中,优选地,所述广播权限判定模块包括:
集合查找子模块,用于查找具备广播权限的特征客户端集合;
第二客户端确定子模块,用于确定所述第二客户端存在所述特征客户端集合中。
本发明实施例中,优选地,所述广播权限判定模块包括:
身份标识字段提取子模块,用于从所述第二流数据的数据协议头提取所述第二客户端的身份标识字段;
身份标识字段识别子模块,用于识别所述身份标识字段归属于目标数值区间。
依据本发明实施例,第二客户端接收到第一客户端按照传输路径传输的第一流数据后,如果第二客户端预向其他客户端传输第二流数据,则只需将第二流数据传输至第一流数据的传输路径经过的目标传输节点,进一步将第二流数据传输至目标传输节点的关联传输节点,即可将第二流数据传输至第一客户端和至少一个第三客户端,因此本发明实施例省去了第二流数据的新传输路径的建立,节省了路径建立时间,保证了流数据传输的实时性。
相比于背景技术中使用视频会议***进行多路连麦,本发明当流数据传输网络中同时存在多路流数据时,多路流数据的合成操作在用户客户端完成,从而省去了合成***的使用,解决了多***传输导致的延迟问题,进一步节省了***开销。
图7示出了根据本发明实施例六的一种流数据的传输装置的结构框图。图7中的流数据的传输装置包括:
第一流数据接收模块601,用于接收从第一客户端按照传输路径传输的第一流数据,所述传输路径经过多个目标传输节点,至少一个目标传输节点具有关联传输节点。
第二流数据传输模块602,用于向所述目标传输节点传输第二流数据,以由各目标传输节点经所述关联传输节点将所述第二流数据推送至所述第一客户端以及至少一个第三客户端。
本发明实施例中,优选地,所述装置还包括:
批准通知接收模块,用于在所述向所述目标传输节点传输第二流数据之前,向所述第一客户端发送特征客户端的申请请求,并接收所述第一客户端反馈的批准通知。
本发明实施例中,优选地,所述批准通知接收模块包括:
申请请求发送子模块,用于按照所述传输路径向第一客户端发送成为特征客户端的申请请求;
批准通知获取子模块,用于接收所述第一客户端按照所述传输路径反馈的批准通知。
依据本发明实施例,第二客户端接收到第一客户端按照传输路径传输的第一流数据后,如果第二客户端预向其他客户端传输第二流数据,则只需将第二流数据传输至第一流数据的传输路径经过的目标传输节点,进一步将第二流数据传输至目标传输节点的关联传输节点,即可将第二流数据传输至第一客户端和至少一个第三客户端,因此本发明实施例省去了第二流数据的新传输路径的建立,节省了路径建立时间,保证了流数据传输的实时性。
相比于背景技术中使用视频会议***进行多路连麦,本发明当流数据传输网络中同时存在多路流数据时,多路流数据的合成操作在用户客户端完成,从而省去了合成***的使用,解决了多***传输导致的延迟问题,进一步节省了***开销。
本发明实施例使用同一传输路径传输流数据和信令,省去了传统方法中针对流数据和信令的多条传输路径的建立,节省了路径建立。
在此提供的算法和显示不与任何特定计算机、虚拟***或者其它设备固有相关。各种通用***也可以与基于在此的示教一起使用。根据上面的描述,构造这类***所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的流数据的传输设备中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
本发明公开了A1、一种流数据的传输方法,包括:
按照传输路径将第一流数据从第一客户端传送至第二客户端,所述传输路径经过多个目标传输节点,至少一个目标传输节点具有关联传输节点;
接收第二客户端向所述目标传输节点传输的第二流数据;
将所述第二流数据从各目标传输节点,经所述关联传输节点推送至所述第一客户端以及至少一个第三客户端。
A2、根据A1所述的方法,其中,所述接收第二客户端向所述目标传输节点传输的第二流数据包括:
接收所述第二客户端向直接连接的目标传输节点传输的第二流数据;
按照所述传输路径的反向顺序,将所述第二流数据顺次推送到其他目标传输节点。
A3、根据A1所述的方法,其中,所述将所述第二流数据从各目标传输节点,经所述关联传输节点推送至所述第一客户端以及至少一个第三客户端包括:
将所述第二流数据推送至与所述目标传输节点直接连接的一级关联传输节点或第一客户端或第三客户端;
迭代执行推送步骤,将所述第二流数据从接收到所述第二流数据的N级关联传输节点推送至直接连接的N+1级关联传输节点或第一客户端或第三客户端,直至推送至接入传输节点集群的第一客户端和所有第三客户端。
A4、根据A3所述的方法,其中,所述目标传输节点本地记录有在所述传输路径中的下行目标传输节点,在所述将所述第二流数据推送至与所述目标传输节点直接连接的一级关联传输节点或第一客户端或第三客户端之前,所述方法还包括:
查找所述目标传输节点在所述传输路径中的下行目标传输节点;
从与所述目标传输节点直接连接的一级关联传输节点中,去除所查找的下行目标传输节点。
A5、根据A4所述的方法,其中,所述下行目标传输节点与所述第一流数据的流标识对应存储,所述第二流数据携带所述第一流数据的流标识;
所述查找所述目标传输节点在所述传输路径中的下行目标传输节点包括:
根据所述第一流数据的流标识,提取对应存储的下行目标传输节点。
A6、根据A1所述的方法,其中,在所述将所述第二流数据从各目标传输节点,经所述关联传输节点推送至所述第一客户端以及至少一个第三客户端之前,所述方法还包括:
判定所述第二流数据指向广播传输方式。
A7、根据A6所述的方法,其中,所述判定所述第二流数据指向广播传输方式包括:
确定所述第二流数据的数据协议头中包括广播传输方式的标识;
或,确定所述第二流数据发送至多个目的客户端。
A8、根据A6所述的方法,其中,所述方法还包括:
若所述第二流数据不指向广播传输方式,则将所述第二流数据从各目标传输节点推送至所述第一客户端。
A9、根据A1或A6所述的方法,其中,所述方法还包括:
判定所述第二客户端具备广播权限。
A10、根据A9所述的方法,其中,所述判定所述第二客户端具备广播权限包括:
查找具备广播权限的特征客户端集合;
确定所述第二客户端存在所述特征客户端集合中。
A11、根据A9所述的方法,其中,所述判定所述第二客户端具备广播权限包括:
从所述第二流数据的数据协议头提取所述第二客户端的身份标识字段;
识别所述身份标识字段归属于目标数值区间。
本发明还公开了B12、一种流数据的传输方法,包括:
接收从第一客户端按照传输路径传输的第一流数据,所述传输路径经过多个目标传输节点,各目标传输节点具有至少一个关联传输节点;
向所述目标传输节点传输第二流数据,以由各目标传输节点经所述关联传输节点将所述第二流数据推送至所述第一客户端以及至少一个第三客户端。
B13、根据B12所述的方法,其中,在所述向所述目标传输节点传输第二流数据之前,所述方法还包括:
向所述第一客户端发送特征客户端的申请请求,并接收所述第一客户端反馈的批准通知。
B14、根据B13所述的方法,其中,所述向所述第一客户端发送特征客户端的申请请求,并接收所述第一客户端反馈的批准通知包括:
按照所述传输路径向第一客户端发送成为特征客户端的申请请求;
接收所述第一客户端按照所述传输路径反馈的批准通知。
本发明还公开了C15、一种流数据的传输装置,包括:
第一流数据传输模块,用于按照传输路径将第一流数据从第一客户端传送至第二客户端,所述传输路径经过多个目标传输节点,至少一个目标传输节点具有关联传输节点;
第二流数据接收模块,用于接收第二客户端向所述目标传输节点传输的第二流数据;
第二流数据推送模块,用于将所述第二流数据从各目标传输节点,经所述关联传输节点推送至所述第一客户端以及至少一个第三客户端。
C16、根据C15所述的装置,其中,所述第二流数据接收模块包括:
第二流数据获取子模块,用于接收所述第二客户端向直接连接的目标传输节点传输的第二流数据;
第二流数据反向传输子模块,用于按照所述传输路径的反向顺序,将所述第二流数据顺次推送到其他目标传输节点。
C17、根据C15所述的装置,其中,所述第二流数据推送模块包括:
第二流数据直接推送子模块,用于将所述第二流数据推送至与所述目标传输节点直接连接的一级关联传输节点或第一客户端或第三客户端;
第二流数据迭代推送子模块,用于迭代执行推送步骤,将所述第二流数据从接收到所述第二流数据的N级关联传输节点推送至直接连接的N+1级关联传输节点或第一客户端或第三客户端,直至推送至接入传输节点集群的第一客户端和所有第三客户端。
C18、根据C17所述的装置,其中,所述装置还包括:
下行目标传输节点查找模块,用于在所述将所述第二流数据推送至与所述目标传输节点直接连接的一级关联传输节点或第一客户端或第三客户端之前,查找所述目标传输节点在所述传输路径中的下行目标传输节点,所述目标传输节点本地记录有在所述传输路径中的下行目标传输节点;
下行目标传输节点去除模块,用于从与所述目标传输节点直接连接的一级关联传输节点中,去除所查找的下行目标传输节点。
C19、根据C18所述的装置,其中:
所述下行目标传输节点查找模块,具体用于根据所述第一流数据的流标识,提取对应存储的下行目标传输节点,所述下行目标传输节点与所述第一流数据的流标识对应存储,所述第二流数据携带所述第一流数据的流标识。
C20、根据C15所述的装置,其中,所述装置还包括:
广播传输方式判定模块,用于在所述将所述第二流数据从各目标传输节点,经所述关联传输节点推送至所述第一客户端以及至少一个第三客户端之前,判定所述第二流数据指向广播传输方式。
C21、根据C20所述的装置,其中,所述广播传输方式判定模块包括:
标识确定子模块,用于确定所述第二流数据的数据协议头中包括广播传输方式的标识;
或,目的客户端数目确定子模块,用于确定所述第二流数据发送至多个目的客户端。
C22、根据C20所述的装置,其中,所述装置还包括:
第二流数据单播模块,用于若所述第二流数据不指向广播传输方式,则将所述第二流数据从各目标传输节点推送至所述第一客户端。
C23、根据C15或C20所述的装置,其中,所述装置还包括:
广播权限判定模块,用于判定所述第二客户端具备广播权限。
C24、根据C23所述的装置,其中,所述广播权限判定模块包括:
集合查找子模块,用于查找具备广播权限的特征客户端集合;
第二客户端确定子模块,用于确定所述第二客户端存在所述特征客户端集合中。
C25、根据C23所述的装置,其中,所述广播权限判定模块包括:
身份标识字段提取子模块,用于从所述第二流数据的数据协议头提取所述第二客户端的身份标识字段;
身份标识字段识别子模块,用于识别所述身份标识字段归属于目标数值区间。
本发明还公开了D26、一种流数据的传输装置,包括:
第一流数据接收模块,用于接收从第一客户端按照传输路径传输的第一流数据,所述传输路径经过多个目标传输节点,至少一个目标传输节点具有关联传输节点;
第二流数据传输模块,用于向所述目标传输节点传输第二流数据,以由各目标传输节点经所述关联传输节点将所述第二流数据推送至所述第一客户端以及至少一个第三客户端。
D27、根据D26所述的装置,其中,所述装置还包括:
批准通知接收模块,用于在所述向所述目标传输节点传输第二流数据之前,向所述第一客户端发送特征客户端的申请请求,并接收所述第一客户端反馈的批准通知。
D28、根据D27所述的装置,其中,所述批准通知接收模块包括:
申请请求发送子模块,用于按照所述传输路径向第一客户端发送成为特征客户端的申请请求;
批准通知获取子模块,用于接收所述第一客户端按照所述传输路径反馈的批准通知。

Claims (10)

1.一种流数据的传输方法,包括:
按照传输路径将第一流数据从第一客户端传送至第二客户端,所述传输路径经过多个目标传输节点,至少一个目标传输节点具有关联传输节点;
接收第二客户端向所述目标传输节点传输的第二流数据;
将所述第二流数据从各目标传输节点,经所述关联传输节点推送至所述第一客户端以及至少一个第三客户端。
2.根据权利要求1所述的方法,其中,所述接收第二客户端向所述目标传输节点传输的第二流数据包括:
接收所述第二客户端向直接连接的目标传输节点传输的第二流数据;
按照所述传输路径的反向顺序,将所述第二流数据顺次推送到其他目标传输节点。
3.根据权利要求1所述的方法,其中,所述将所述第二流数据从各目标传输节点,经所述关联传输节点推送至所述第一客户端以及至少一个第三客户端包括:
将所述第二流数据推送至与所述目标传输节点直接连接的一级关联传输节点或第一客户端或第三客户端;
迭代执行推送步骤,将所述第二流数据从接收到所述第二流数据的N级关联传输节点推送至直接连接的N+1级关联传输节点或第一客户端或第三客户端,直至推送至接入传输节点集群的第一客户端和所有第三客户端。
4.根据权利要求3所述的方法,其中,所述目标传输节点本地记录有在所述传输路径中的下行目标传输节点,在所述将所述第二流数据推送至与所述目标传输节点直接连接的一级关联传输节点或第一客户端或第三客户端之前,所述方法还包括:
查找所述目标传输节点在所述传输路径中的下行目标传输节点;
从与所述目标传输节点直接连接的一级关联传输节点中,去除所查找的下行目标传输节点。
5.根据权利要求4所述的方法,其中,所述下行目标传输节点与所述第一流数据的流标识对应存储,所述第二流数据携带所述第一流数据的流标识;
所述查找所述目标传输节点在所述传输路径中的下行目标传输节点包括:
根据所述第一流数据的流标识,提取对应存储的下行目标传输节点。
6.根据权利要求1所述的方法,其中,在所述将所述第二流数据从各目标传输节点,经所述关联传输节点推送至所述第一客户端以及至少一个第三客户端之前,所述方法还包括:
判定所述第二流数据指向广播传输方式。
7.根据权利要求6所述的方法,其中,所述判定所述第二流数据指向广播传输方式包括:
确定所述第二流数据的数据协议头中包括广播传输方式的标识;
或,确定所述第二流数据发送至多个目的客户端。
8.一种流数据的传输方法,包括:
接收从第一客户端按照传输路径传输的第一流数据,所述传输路径经过多个目标传输节点,各目标传输节点具有至少一个关联传输节点;
向所述目标传输节点传输第二流数据,以由各目标传输节点经所述关联传输节点将所述第二流数据推送至所述第一客户端以及至少一个第三客户端。
9.一种流数据的传输装置,包括:
第一流数据传输模块,用于按照传输路径将第一流数据从第一客户端传送至第二客户端,所述传输路径经过多个目标传输节点,至少一个目标传输节点具有关联传输节点;
第二流数据接收模块,用于接收第二客户端向所述目标传输节点传输的第二流数据;
第二流数据推送模块,用于将所述第二流数据从各目标传输节点,经所述关联传输节点推送至所述第一客户端以及至少一个第三客户端。
10.一种流数据的传输装置,包括:
第一流数据接收模块,用于接收从第一客户端按照传输路径传输的第一流数据,所述传输路径经过多个目标传输节点,至少一个目标传输节点具有关联传输节点;
第二流数据传输模块,用于向所述目标传输节点传输第二流数据,以由各目标传输节点经所述关联传输节点将所述第二流数据推送至所述第一客户端以及至少一个第三客户端。
CN201611261609.XA 2016-12-30 2016-12-30 一种流数据的传输方法和装置 Pending CN106657109A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201611261609.XA CN106657109A (zh) 2016-12-30 2016-12-30 一种流数据的传输方法和装置
PCT/CN2017/117749 WO2018121405A1 (zh) 2016-12-30 2017-12-21 一种流数据的传输方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611261609.XA CN106657109A (zh) 2016-12-30 2016-12-30 一种流数据的传输方法和装置

Publications (1)

Publication Number Publication Date
CN106657109A true CN106657109A (zh) 2017-05-10

Family

ID=58838995

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611261609.XA Pending CN106657109A (zh) 2016-12-30 2016-12-30 一种流数据的传输方法和装置

Country Status (2)

Country Link
CN (1) CN106657109A (zh)
WO (1) WO2018121405A1 (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107864122A (zh) * 2017-10-18 2018-03-30 武汉斗鱼网络科技有限公司 一种连麦主播直播流的显示方法及装置
WO2018121405A1 (zh) * 2016-12-30 2018-07-05 北京奇虎科技有限公司 一种流数据的传输方法和装置
CN108900919A (zh) * 2018-06-29 2018-11-27 乐蜜有限公司 一种直播中的连麦方法、装置、服务器及终端
CN108989836A (zh) * 2017-05-31 2018-12-11 腾讯科技(深圳)有限公司 一种多媒体数据流的处理方法及装置
CN109286775A (zh) * 2018-10-29 2019-01-29 视联动力信息技术股份有限公司 一种多人会议控制方法及***
CN110519610A (zh) * 2019-08-14 2019-11-29 咪咕文化科技有限公司 直播资源处理方法及***、服务器和客户端设备
CN112866726A (zh) * 2020-12-17 2021-05-28 杭州当虹科技股份有限公司 一种基于移动平台的线上展会多机位直播装置和方法
CN113766251A (zh) * 2020-06-22 2021-12-07 北京沃东天骏信息技术有限公司 直播连麦的处理方法、***、服务器及存储介质

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111901692B (zh) * 2020-08-06 2022-09-06 杭州当虹科技股份有限公司 一种基于多音视频流合成vr的***
CN112866725A (zh) * 2021-01-14 2021-05-28 视联动力信息技术股份有限公司 一种直播控制方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101945049A (zh) * 2010-09-20 2011-01-12 中兴通讯股份有限公司 多协议标签交换***、节点设备及双向隧道的建立方法
CN102055672A (zh) * 2010-12-27 2011-05-11 北京星网锐捷网络技术有限公司 一种数据流传输路径的控制方法、装置和路由设备
CN102365857A (zh) * 2009-03-30 2012-02-29 阿尔卡特朗讯公司 用于有效传输电话会议的多媒体流的方法和装置
CN104917620A (zh) * 2014-03-10 2015-09-16 华为技术有限公司 一种对等网络会议接入方法、客户端及***
CN105828214A (zh) * 2016-03-31 2016-08-03 徐文波 视频直播中互动的实现方法和装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7808521B2 (en) * 2006-01-09 2010-10-05 Apple Inc. Multimedia conference recording and manipulation interface
CN106657109A (zh) * 2016-12-30 2017-05-10 北京奇虎科技有限公司 一种流数据的传输方法和装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102365857A (zh) * 2009-03-30 2012-02-29 阿尔卡特朗讯公司 用于有效传输电话会议的多媒体流的方法和装置
CN101945049A (zh) * 2010-09-20 2011-01-12 中兴通讯股份有限公司 多协议标签交换***、节点设备及双向隧道的建立方法
CN102055672A (zh) * 2010-12-27 2011-05-11 北京星网锐捷网络技术有限公司 一种数据流传输路径的控制方法、装置和路由设备
CN104917620A (zh) * 2014-03-10 2015-09-16 华为技术有限公司 一种对等网络会议接入方法、客户端及***
CN105828214A (zh) * 2016-03-31 2016-08-03 徐文波 视频直播中互动的实现方法和装置

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018121405A1 (zh) * 2016-12-30 2018-07-05 北京奇虎科技有限公司 一种流数据的传输方法和装置
CN108989836A (zh) * 2017-05-31 2018-12-11 腾讯科技(深圳)有限公司 一种多媒体数据流的处理方法及装置
CN108989836B (zh) * 2017-05-31 2021-11-09 腾讯科技(深圳)有限公司 一种多媒体数据流的处理方法、装置及存储介质
CN107864122A (zh) * 2017-10-18 2018-03-30 武汉斗鱼网络科技有限公司 一种连麦主播直播流的显示方法及装置
CN108900919A (zh) * 2018-06-29 2018-11-27 乐蜜有限公司 一种直播中的连麦方法、装置、服务器及终端
CN109286775A (zh) * 2018-10-29 2019-01-29 视联动力信息技术股份有限公司 一种多人会议控制方法及***
CN110519610A (zh) * 2019-08-14 2019-11-29 咪咕文化科技有限公司 直播资源处理方法及***、服务器和客户端设备
CN113766251A (zh) * 2020-06-22 2021-12-07 北京沃东天骏信息技术有限公司 直播连麦的处理方法、***、服务器及存储介质
CN112866726A (zh) * 2020-12-17 2021-05-28 杭州当虹科技股份有限公司 一种基于移动平台的线上展会多机位直播装置和方法

Also Published As

Publication number Publication date
WO2018121405A1 (zh) 2018-07-05

Similar Documents

Publication Publication Date Title
CN106657109A (zh) 一种流数据的传输方法和装置
CN107070866B (zh) 一种流数据的传输方法和装置
CN104221395B (zh) 信息处理设备、信息处理方法以及存储介质
CN105981399A (zh) 接收装置、接收方法、传输装置以及传输方法
US20050238062A1 (en) Communication of TV-anytime crids
CN107645485B (zh) 一种网络直播的分发方法、***和装置
CN104936033B (zh) 基于数字电视条件接收的单向终端弹幕方法
JP2011501594A (ja) オーディオおよび/またはビデオ・サービスの選択方法。
US20150350699A1 (en) Trunk management method and apparatus for video surveillance systems
CN108200443A (zh) 一种直播流的分发方法和装置
CN109508404A (zh) 维修教学视频管理方法、装置、终端设备及存储介质
CN104349184A (zh) 多媒体流的识别方法及相应装置
US7841012B2 (en) Method and system for processing multicast services
CN106233703A (zh) 接收设备、接收方法、传输设备以及传输方法
CN102811338B (zh) 一种视频会议***中多级回传视频信号的控制方法及装置
CN106534220A (zh) 一种流数据的双向传输方法和装置
CN103067690B (zh) 基于智能监控平台的均衡传输音视频数据的方法及装置
CN106713955A (zh) 直播流播放的控制方法及装置
CN101262413B (zh) 实现媒体缓存的方法、***和装置
CN106303739B (zh) 交互式网络电视播放节目的方法和***
CN103686447B (zh) 视频传输方法和***
CN106791985A (zh) 一种流数据的传输方法和装置
CN106856576A (zh) 基于rtmp协议的直播流转发***及其直播流转发方法
WO2011065684A2 (en) System and method for producing an electronic program guide for user-created content
CN103686336B (zh) 一种视频的播放控制方法和装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20170510