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

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

Info

Publication number
CN107070866A
CN107070866A CN201611265811.XA CN201611265811A CN107070866A CN 107070866 A CN107070866 A CN 107070866A CN 201611265811 A CN201611265811 A CN 201611265811A CN 107070866 A CN107070866 A CN 107070866A
Authority
CN
China
Prior art keywords
client
transmission
flow data
target flow
target
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
CN201611265811.XA
Other languages
English (en)
Other versions
CN107070866B (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.)
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 CN201611265811.XA priority Critical patent/CN107070866B/zh
Publication of CN107070866A publication Critical patent/CN107070866A/zh
Priority to PCT/CN2017/119881 priority patent/WO2018121739A1/zh
Application granted granted Critical
Publication of CN107070866B publication Critical patent/CN107070866B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/1066Session management
    • H04L65/1069Session establishment or de-establishment
    • 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/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • 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/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/611Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for multicast or broadcast

Landscapes

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

Abstract

本发明公开了一种流数据的传输方法和装置。所述方法包括:接收当前客户端传输的目标流数据;识别所述目标流数据指向广播传输方式或单播传输方式;若所述目标流数据指向单播传输方式,则将所述目标流数据推送至目的客户端;若所述目标流数据指向广播传输方式,则将所述目标流数据推送至所述目的客户端以及与所述目的客户端属于同一网络拓扑结构的非目的客户端,从而实现对目标流数据的广播。本发明实施例使用同一传输路径传输流数据和信令,省去了传统方法中针对流数据和信令的多条传输路径的建立,节省了路径建立。

Description

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

Claims (10)

1.一种流数据的传输方法,包括:
接收当前客户端传输的目标流数据;
识别所述目标流数据指向广播传输方式或单播传输方式;
若所述目标流数据指向单播传输方式,则将所述目标流数据推送至目的客户端;
若所述目标流数据指向广播传输方式,则将所述目标流数据推送至所述目的客户端以及与所述目的客户端属于同一网络拓扑结构的非目的客户端。
2.根据权利要求1所述的方法,其中,所述识别所述目标流数据指向广播传输方式或单播传输方式包括:
判断目标流数据的数据协议头中包括广播传输方式的标识还是单播传输方式的标识;
或,判断所述目标流数据是否发送至多个目的客户端,若是,则指向广播传输方式,若否,则指向单播传输方式。
3.根据权利要求1所述的方法,其中,在所述将所述目标流数据推送至所述目的客户端以及与所述目的客户端属于同一网络拓扑结构的非目的客户端之前,所述方法还包括:
判定当前客户端具备广播权限。
4.根据权利要求3所述的方法,其中,所述判定当前客户端具备广播权限包括:
查找具备广播权限的特征客户端集合;
确定所述当前客户端存在所述特征客户端集合中。
5.根据权利要求3所述的方法,其中,所述判定当前客户端具备广播权限包括:
从所述目标流数据的数据协议头提取所述当前客户端的身份标识字段;
识别所述身份标识字段是否归属于目标数值区间。
6.根据权利要求1所述的方法,其中,所述方法还包括:
获取当前客户端至所述目的客户端的传输路径。
7.根据权利要求6所述的方法,其中,所述将所述目标流数据推送至目的客户端包括:
按照所述传输路径将所述目标流数据推送至所述目的客户端。
8.根据权利要求6所述的方法,其中,所述获取当前客户端至所述目的客户端的传输路径包括:
提取在当前客户端接收所述目的客户端传输的第一流数据的过程中,记录的传输路径;
或,提取针对当前客户端至目的客户端预先设置的传输路径;
或,向调度节点请求分配所属当前客户端至目的客户端的传输路径。
9.根据权利要求7所述的方法,其中,所述传输路径经过的各目标传输节点记录有其上行传输节点,所述按照所述传输路径将所述目标流数据推送至所述目的客户端包括:
查找本地记录的上行目标传输节点,并将所述目标流数据传输至所查找的上行目标传输节点;
由所述上行目标传输节点将所述目标流数据传输至本地记录的另一上行目标传输节点,直至将所述目标流数据传输至所述当前客户端。
10.一种流数据的传输装置,包括:
目标流数据接收模块,用于接收当前客户端传输的目标流数据;
传播方式识别模块,用于识别所述目标流数据指向广播传输方式或单播传输方式;
第一流数据推送模块,用于若所述目标流数据指向单播传输方式,则将所述目标流数据推送至目的客户端;
第二流数据推送模块,用于若所述目标流数据指向广播传输方式,则将所述目标流数据推送至所述目的客户端以及与所述目的客户端属于同一网络拓扑结构的非目的客户端。
CN201611265811.XA 2016-12-30 2016-12-30 一种流数据的传输方法和装置 Active CN107070866B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201611265811.XA CN107070866B (zh) 2016-12-30 2016-12-30 一种流数据的传输方法和装置
PCT/CN2017/119881 WO2018121739A1 (zh) 2016-12-30 2017-12-29 流数据的传输方法和装置

Applications Claiming Priority (1)

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

Publications (2)

Publication Number Publication Date
CN107070866A true CN107070866A (zh) 2017-08-18
CN107070866B CN107070866B (zh) 2021-01-01

Family

ID=59623374

Family Applications (1)

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

Country Status (1)

Country Link
CN (1) CN107070866B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018121739A1 (zh) * 2016-12-30 2018-07-05 北京奇虎科技有限公司 流数据的传输方法和装置
CN109842854A (zh) * 2017-11-29 2019-06-04 华为技术有限公司 一种报文组播、报文广播方法及设备
CN111245852A (zh) * 2020-01-16 2020-06-05 腾讯云计算(北京)有限责任公司 流数据传输方法、装置、系统、接入设备及存储介质
CN111277602A (zh) * 2020-01-23 2020-06-12 奇安信科技集团股份有限公司 网络数据包的识别处理方法、装置、电子设备及存储介质
CN112312226A (zh) * 2020-10-28 2021-02-02 北京达佳互联信息技术有限公司 连麦方法、系统、装置、电子设备及存储介质
CN115460427A (zh) * 2022-08-26 2022-12-09 上海哔哩哔哩科技有限公司 直播调度方法、装置、计算设备和存储介质
WO2023019446A1 (zh) * 2021-08-17 2023-02-23 Oppo广东移动通信有限公司 通信方法及通信装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070274675A1 (en) * 2003-12-01 2007-11-29 Lg Electronics Inc. Method and Apparatus for Transcoding Digital Audio/Video Streams
CN101453349A (zh) * 2007-12-03 2009-06-10 华为技术有限公司 一种处理实时流媒体协议的方法及系统
CN101588537A (zh) * 2009-06-17 2009-11-25 上海华为技术有限公司 WiMAX网络中实现广播/组播的方法、装置和系统
CN101917492A (zh) * 2010-08-06 2010-12-15 北京乾唐视联网络科技有限公司 一种新型网的通信方法及系统
CN102098551A (zh) * 2009-12-09 2011-06-15 华为技术有限公司 流媒体业务处理方法和系统
CN103166769A (zh) * 2011-12-14 2013-06-19 中兴通讯股份有限公司 一种组播业务控制方法和系统

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070274675A1 (en) * 2003-12-01 2007-11-29 Lg Electronics Inc. Method and Apparatus for Transcoding Digital Audio/Video Streams
CN101453349A (zh) * 2007-12-03 2009-06-10 华为技术有限公司 一种处理实时流媒体协议的方法及系统
CN101588537A (zh) * 2009-06-17 2009-11-25 上海华为技术有限公司 WiMAX网络中实现广播/组播的方法、装置和系统
CN102098551A (zh) * 2009-12-09 2011-06-15 华为技术有限公司 流媒体业务处理方法和系统
CN101917492A (zh) * 2010-08-06 2010-12-15 北京乾唐视联网络科技有限公司 一种新型网的通信方法及系统
CN103166769A (zh) * 2011-12-14 2013-06-19 中兴通讯股份有限公司 一种组播业务控制方法和系统

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018121739A1 (zh) * 2016-12-30 2018-07-05 北京奇虎科技有限公司 流数据的传输方法和装置
CN109842854A (zh) * 2017-11-29 2019-06-04 华为技术有限公司 一种报文组播、报文广播方法及设备
WO2019104857A1 (zh) * 2017-11-29 2019-06-06 华为技术有限公司 一种报文组播、报文广播方法及设备
CN109842854B (zh) * 2017-11-29 2021-01-05 华为技术有限公司 一种报文组播、报文广播方法及设备
CN111245852A (zh) * 2020-01-16 2020-06-05 腾讯云计算(北京)有限责任公司 流数据传输方法、装置、系统、接入设备及存储介质
CN111245852B (zh) * 2020-01-16 2022-11-29 腾讯云计算(北京)有限责任公司 流数据传输方法、装置、系统、接入设备及存储介质
CN111277602A (zh) * 2020-01-23 2020-06-12 奇安信科技集团股份有限公司 网络数据包的识别处理方法、装置、电子设备及存储介质
CN112312226A (zh) * 2020-10-28 2021-02-02 北京达佳互联信息技术有限公司 连麦方法、系统、装置、电子设备及存储介质
US11665386B2 (en) 2020-10-28 2023-05-30 Beijing Dajia Internet Information Technology Co., Ltd. Method for co-hosting, and electronic device
WO2023019446A1 (zh) * 2021-08-17 2023-02-23 Oppo广东移动通信有限公司 通信方法及通信装置
CN115460427A (zh) * 2022-08-26 2022-12-09 上海哔哩哔哩科技有限公司 直播调度方法、装置、计算设备和存储介质
CN115460427B (zh) * 2022-08-26 2024-03-12 上海哔哩哔哩科技有限公司 直播调度方法、装置、计算设备和存储介质

Also Published As

Publication number Publication date
CN107070866B (zh) 2021-01-01

Similar Documents

Publication Publication Date Title
CN107070866A (zh) 一种流数据的传输方法和装置
US11722848B2 (en) User location and identity awareness
CN108702524B (zh) 利用多匹配检测和基于位置的消歧的媒体频道识别
CN106657109A (zh) 一种流数据的传输方法和装置
KR101993913B1 (ko) 미디어 콘텐츠에 대한 주파수 캡핑
CN102130822B (zh) 一种定向播放广告的方法、装置及系统
US10237629B2 (en) Channel classification methods and devices
CN109819285A (zh) 一种直播方法、装置、电子设备及存储介质
CN104349184A (zh) 多媒体流的识别方法及相应装置
US10547905B2 (en) Systems, methods, and devices for monitoring content viewership using short-range wireless communication
CN105791910A (zh) 一种多媒体资源推送系统及方法
CN112351288A (zh) 直播信息处理方法、装置、服务器、终端以及存储介质
MX2014012110A (es) Metodo para aceleracion de resolucion de decision de publicidad basada en activacion de oportunidad anticipada.
CN106168956A (zh) 用于智能终端的数据统计分析方法及系统
CN106303591A (zh) 一种视频推荐方法及装置
CN113301378B (zh) 广播信令发送方法、装置、系统、电子设备及存储介质
CN101039407B (zh) 一种实现节目接收端定制播出的方法及系统
CN105612720A (zh) 社交消息与有关的多媒体流的关联
CN104581226A (zh) 一种针对当前直播流进行节目推荐的方法和装置
JP2015501016A (ja) インターラクティブサービスの提供方法
WO2018121739A1 (zh) 流数据的传输方法和装置
CN106791985A (zh) 一种流数据的传输方法和装置
CN102137301B (zh) 访问引用业务的方法及设备
CN101309392A (zh) 交互式节目下载方法
CN108259969A (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
GR01 Patent grant
GR01 Patent grant