CN111245852A - 流数据传输方法、装置、系统、接入设备及存储介质 - Google Patents
流数据传输方法、装置、系统、接入设备及存储介质 Download PDFInfo
- Publication number
- CN111245852A CN111245852A CN202010047756.7A CN202010047756A CN111245852A CN 111245852 A CN111245852 A CN 111245852A CN 202010047756 A CN202010047756 A CN 202010047756A CN 111245852 A CN111245852 A CN 111245852A
- Authority
- CN
- China
- Prior art keywords
- identification information
- stream
- target
- stream data
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/146—Markers for unambiguous identification of a particular session, e.g. session cookie or URL-encoding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/21—Server components or server architectures
- H04N21/218—Source of audio or video content, e.g. local disk arrays
- H04N21/2187—Live feed
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/835—Generation of protective data, e.g. certificates
- H04N21/8352—Generation of protective data, e.g. certificates involving content or source identification data, e.g. Unique Material Identifier [UMID]
Abstract
本申请公开了一种流数据传输方法、装置、系统、接入设备及存储介质,属于网络技术领域。所述方法包括:本申请实施例通过接收到推流设备发送的流数据后,将该流数据所属流的标识信息添加到流数据中得到目标流数据,后续传输时传输该目标流数据,进而,根据该目标流数据中的标识信息与流数据获取请求携带的标识信息匹配,即可获知该目标流数据是否为该流数据获取请求所请求的流数据,从而可以正确判断流数据是否传输错误,提高了流数据传输的准确性。流数据传输不会出现错误,可以排除流数据泄露的风险,提高了流数据传输的安全性。
Description
技术领域
本申请涉及网络技术领域,特别涉及一种流数据传输方法、装置、系统、接入设备及存储介质。
背景技术
随着网络技术的发展,人们越发喜欢通过网络发送资源或与其他人共享资源。例如,在直播场景中,主播会录制音视频,在该主播的直播房间内的观众可以接收并观看或收听音视频。又例如,用户可以点播自己想要观看或收听的资源,从而资源分享方则可以向该用户发送该资源。
在上述资源发送的过程中涉及到流数据的传输,目前,流数据传输方法通常是在目标设备向推流设备发送流数据获取请求时,流数据获取请求中携带有流的标识信息,推流设备在发送该流的流数据时通常是分批源源不断的发送给接入设备,该接入设备可以在接收到流数据获取请求时,通过匹配流数据获取请求携带的标识信息与流的标识信息,来确定向目标设备发送该流的流数据。但该匹配过程仅在向该目标设备发送该流的第一批流数据前进行,后续在不断发送流数据时,不再进行该匹配步骤,且流数据并未携带流的标识信息,该接入设备的下一跳接入设备以及后续的多跳接入设备均无法获知该流数据的标识信息,且不会进行匹配步骤以验证发送的流数据是否为流数据获取请求所请求的流的流数据。
但由于一个接入设备一般会同时服务多路流,在业务代码异常或存在逻辑缺陷,又或者系统接口(API)使用不当等情况下,又接入设备仅能够通过流数据的路由信息进行传输,而不会进行匹配过程,且无法获知该流数据与流的关系,因而,可能会将流A的流数据发送至请求流B的目标设备,出现串流现象,流数据出现传输错误,且流数据可能存在泄漏的风险,安全性差。
发明内容
本申请实施例提供了一种流数据传输方法、装置、系统、接入设备及存储介质,提高了流数据传输过程中的准确性和安全性。所述技术方案如下:
一方面,提供了一种流数据传输方法,应用于传输网络中的第一跳接入设备,所述第一跳接入设备用于与推流设备连接,所述方法包括:
接收推流设备响应于目标设备的流数据获取请求发送的流数据和所述流数据所属流的第一标识信息;
将所述第一标识信息添加至所述流数据中,得到目标流数据,所述目标流数据包括所述第一标识信息;
响应于所述第一标识信息与所述流数据获取请求携带的第二标识信息匹配,向所述目标设备发送所述目标流数据。
在一种可能实现方式中,所述方法还包括:
响应于所述第一标识信息与流数据获取请求携带的第二标识信息不匹配,丢弃所述流数据获取请求。
一方面,提供了一种流数据传输方法,应用于传输网络中的第二跳接入设备至最后一跳接入设备中任一跳接入设备,所述方法包括:
接收前一跳接入设备响应于目标设备的流数据获取请求发送的目标流数据,所述目标流数据包括所述目标流数据所属流的第一标识信息;
对所述第一标识信息与所述流数据获取请求携带的第二标识信息进行匹配;
响应于所述第一标识信息与接收到的流数据获取请求携带的第二标识信息匹配,向所述目标设备发送所述目标流数据。
一方面,提供了一种流数据传输系统,其特征在于,所述流数据传输系统包括多跳接入设备,第一跳接入设备用于与推流设备连接,最后一跳用于与目标设备连接;
所述第一跳接入设备用于接收推流设备响应于目标设备的流数据获取请求发送的流数据和所述流数据所属流的第一标识信息;将所述第一标识信息添加至所述流数据中,得到目标流数据,所述目标流数据包括所述第一标识信息;响应于所述第一标识信息与所述流数据获取请求携带的第二标识信息匹配,向所述目标设备发送所述目标流数据;
第二跳接入设备用于接收前一跳接入设备响应于目标设备的流数据获取请求发送的目标流数据,所述目标流数据包括所述目标流数据所属流的第一标识信息;对所述第一标识信息与所述流数据获取请求携带的第二标识信息进行匹配;响应于所述第一标识信息与接收到的流数据获取请求携带的第二标识信息匹配,向所述目标设备发送所述目标流数据。
一方面,提供了一种流数据传输装置,所述装置包括:
接收模块,用于接收推流设备响应于目标设备的流数据获取请求发送的流数据和所述流数据所属流的第一标识信息;
添加模块,用于将所述第一标识信息添加至所述流数据中,得到目标流数据,所述目标流数据包括所述第一标识信息;
发送模块,用于响应于所述第一标识信息与所述流数据获取请求携带的第二标识信息匹配,向所述目标设备发送所述目标流数据。
一方面,提供了一种流数据传输装置,所述装置包括:
接收模块,用于接收前一跳接入设备响应于目标设备的流数据获取请求发送的目标流数据,所述目标流数据包括所述目标流数据所属流的第一标识信息;
匹配模块,用于对所述第一标识信息与所述流数据获取请求携带的第二标识信息进行匹配;
发送模块,用于响应于所述第一标识信息与接收到的流数据获取请求携带的第二标识信息匹配,向所述目标设备发送所述目标流数据。
一方面,提供了一种接入设备,所述接入设备包括一个或多个处理器和一个或多个存储器,所述一个或多个存储器中存储有至少一条程序代码,所述程序代码由所述一个或多个处理器加载并执行以实现上述任一项流数据传输方法所执行的操作。
一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条程序代码,所述程序代码由处理器加载并执行以实现上述任一项流数据传输方法所执行的操作。
本申请实施例中,第一跳接入设备接收到推流设备发送的流数据后,将该流数据所属流的标识信息添加到流数据中得到目标流数据,后续传输时传输该目标流数据,进而,根据该目标流数据中的标识信息与流数据获取请求携带的标识信息匹配,即可获知该目标流数据是否为该流数据获取请求所请求的流数据,从而可以正确判断流数据是否传输错误,提高了流数据传输的准确性。流数据传输不会出现错误,可以排除流数据泄露的风险,提高了流数据传输的安全性。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种流数据传输方法的实施环境;
图2是本申请实施例提供的一种流数据传输方法的流程图;
图3是本申请实施例提供的一种流数据传输方法的流程图;
图4是本申请实施例提供的一种流数据传输方法的流程图;
图5是本申请实施例提供的一种流数据传输方法的流程图;
图6是本申请实施例提供的一种流数据传输装置的结构示意图;
图7是本申请实施例提供的一种流数据传输装置的结构示意图;
图8是本申请实施例提供的一种终端的结构示意图;
图9是本申请实施例提供的一种服务器的结构示意图;
图10是本申请实施例提供的一种流数据传输系统的示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
下面先对本申请涉及的名词进行介绍。
第一跳接入设备:传输网络中的接入设备,与推流设备连接,推流设备可以将流数据发送给第一跳接入设备由第一跳接入设备向下一跳接入设备进行传输,从而将流数据发送给请求流数据的目标设备。
第二跳接入设备:传输网络中与第一跳接入设备连接的接入设备,为第一跳接入设备的下一跳接入设备。该第二跳接入设备可以为流数据传输过程中的中间接入设备,也可以为边缘接入设备。如果该传输网络中仅包括两跳接入设备,则该第二跳接入设备还是边缘接入设备,也即是最后一跳接入设备,如果该传输网络中包括多于两跳的接入设备,则该第二跳接入设备为中间接入设备。
最后一跳接入设备:与用户设备(目标设备)连接的接入设备,负责将前一跳接入设备发送的流数据传输给用户设备。
目标设备:发送流数据获取请求以请求流数据的设备,与传输网络中的边缘接入设备连接,该边缘接入设备可以作为流数据传输过程中最后一跳接入设备,其实质也可以是第一个接收到流数据获取请求的接入设备。
图1是本申请实施例提供的一种流数据传输方法的实施环境,该实施环境可以包括推流设备101、用户设备102以及至少一个接入设备103。参见图1,图1中示出了推流设备101、多个用户设备102和多个接入设备103。其中,该多个接入设备103可以通过网络进行连接,推流设备101和用户设备102均可以通过网络与接入设备103连接。
推流设备101可以向该多个接入设备103推流,用户设备102也可以从该多个接入设备103处拉流。其中,推流是指将录制或制作的资源发送到服务器上,拉流是指从服务器拉取资源进行资源播放。在本申请实施例中,用户设备102可以向接入设备103发送流数据获取请求,以请求推流设备101中的流数据,推流设备101可以向多个接入设备103发送流数据,由多个接入设备103对该流数据进行传输,将流数据发送至用户设备102。
具体地,该多个接入设备103中可以包括传输网络中多跳接入设备,推流设备101可以向第一跳接入设备发送流数据,该第一跳接入设备可以对流数据进行处理,将处理后的流数据发送至第二跳接入设备,以此类推,最后一跳接入设备可以将流数据发送至用户设备102。
需要说明的是,该推流设备101和用户设备102可以为终端,接入设备103可以为终端,也可以为服务器,图中仅以服务器作为示例,本申请实施例对此不作限定。
下面通过图2、图3和图4所示实施例对流数据传输方法的具体流程进行说明。其中,图2所示实施例中,从传输网络中的第一跳接入设备为出发,对该第一跳接入设备在该流数据传输方法中所执行的方法步骤进行了说明。图3所示实施例中,从传输网络中的第二跳接入设备至最后一跳接入设备中任一跳接入设备出发,对第二跳接入设备在流数据传输方法中所执行的方法步骤进行了说明。图4所示实施例以一个具体示例的方式,以流数据传输过程包括三个接入设备为例进行说明,该三个接入设备可以包括第一跳接入设备、第二跳接入设备和最后一跳接入设备。
图2是本申请实施例提供的一种流数据传输方法的流程图,该方法应用于传输网络中的第一跳接入设备,该第一跳接入设备用于与推流设备连接,参见图2,该方法可以包括:
201、第一跳接入设备接收推流设备响应于目标设备的流数据获取请求发送的流数据。
在本申请实施例中,目标设备可以向接入设备发送流数据获取请求,以请求任一流的流数据,接收到该流数据获取请求的接入设备则可以建立一条该流数据获取请求对应的通信链路,接入设备可以将推流设备发送的流数据沿着该通信链路,发送给目标设备,从而实现推流和拉流的过程。
例如,在直播场景中,用户在目标设备上操作,点进某个直播房间,则可以向接入设备发送请求,以请求该直播房间中主播的直播媒体流。又例如,在点播场景中,用户想要观看某个视频资源,则可以在目标设备上操作,从而目标设备向接入设备发送请求,以请求点播的视频资源。
目标设备可以向接入设备发送流数据获取请求,接入设备接收到该流数据获取请求后,还可以向其他接入设备发送该流数据获取请求,直至该推流设备。其中,该流数据获取请求中携带有流的第二标识信息。该推流设备可以响应于该流数据获取请求,向第一跳接入设备发送流数据。
202、第一跳接入设备获取该流数据所属流的第一标识信息。
第一跳接入设备接收到流数据后,可以对流数据进行处理,以对该流数据进行标识,处理时需要该流数据所属流的第一标识信息。该第一标识信息可以包括多种来源,下面提供两种获取第一标识信息的可能实现方式:
实现方式一、第一跳接入设备接收该推流设备发送的该流数据所属流的第一标识信息。
在该实现方式一中,该流数据所属流的第一标识信息可以由推流设备在向第一跳接入设备发送流数据时发送,从而第一跳接入设备接收该推流设备发送的第一标识信息。
实现方式二、第一跳接入设备根据该流数据,为该流数据所属流生成第一标识信息。
在该实现方式二中,该第一标识信息可以由第一跳接入设备为该流数据生成,该第一标识信息可以与该流数据所属流原本的标识信息对应,均可以唯一标识该流。
需要说明的是,由于流的发送方式通常是持续发送,该流数据可以为该流的传输过程中的部分数据。上述流数据获取请求携带的第二标识信息也是用于唯一标识流的信息,如果为同一流的标识信息,该第一标识信息可以与第二标识信息相同,或者,第一标识信息与第二标识信息对应。该第一标识信息和第二标识信息用于唯一标识流,也可以称第一标识信息和第二标识信息为流的唯一标识符,例如,该唯一标识符可以为流名称,也可以为其他信息,本申请实施例对此不作限定。
203、第一跳接入设备将该第一标识信息添加至该流数据中,得到目标流数据,该目标流数据包括该第一标识信息。
第一跳接入设备获取到该第一标识信息以及流数据后,可以将第一标识信息写入该流数据,得到新的流数据,也即是,目标流数据,这样目标流数据中包括该第一标识信息,后续再发送该目标流数据,对该目标流数据进行解析,即可读取到该第一标识信息,从而获知该目标流数据所属的流,进而可以判断发送的目标流数据是否为流数据获取请求所请求的流的流数据。
在一种可能实现方式中,该步骤203中,第一跳接入设备可以通过多种方式将该第一标识信息添加至该流数据中,下面提供三种可能方式,第一跳接入设备可以采用该三种方式中任一种方式,本申请实施例对此不作限定。
方式一、第一跳接入设备在该流数据的关键帧前插入标识符,将该第一标识信息写入该标识符中。
在该方式一中,在流数据中的关键帧前插入了标识符,并向目标设备发送添加了标识符的目标流数据,该第一标识信息存储于该标识符中,这样后续在解析该目标流数据时,可以读取该关键帧前的位置,读取到该标识符,获知该目标流数据所属流的标识信息,进而,可以确定该目标流数据是否为流数据获取请求所请求的流数据,从而可以对流数据进行校验,从而正确判断流数据是否传输错误,提高了流数据传输的准确性。流数据传输不会出现错误,可以排除流数据泄露的风险,提高了流数据传输的安全性。
相应地,下述步骤204中,第一跳接入设备可以按照该目标流数据中该标识符和帧数据的排列顺序,向该目标设备发送该目标流数据。第一跳接入设备按照一定顺序发送该目标流数据,这样发送后的目标流数据中标识符合帧数据的顺序一直保持不变,可以快速根据该顺序解析目标流数据,进而读取到该标识符,提取标识信息进行匹配。
例如,该标识符可以为一种元数据标签(MetaData Tag),该MetaData Tag的标签类型(TagType)可以为18,该数据标签的命名可以由相关技术人员根据需求进行自定义设置,本申请实施例对此不作限定。第一跳接入设备可以在关键帧前插入该MetaData Tag,并在MetaData Tag中加入第一标识信息。
方式二、第一跳接入设备将该第一标识信息写入该流数据的封装格式数据的可扩展字段中。
在该方式二中,第一标识信息还可以存储于该流数据的封装格式数据中,该封装格式数据可以包括一种可扩展字段,该可扩展字段则可以用于存储该第一标识信息。例如,该封装格式数据的封装格式可以为网络抽象层单元(network abstraction layer unit,NALU)格式。该可扩展字段可以为附加增强信息(Supplemental enhancementinformation,SEI)。当然,封装格式和可扩展字段还可以为其他格式或字段,本申请实施例对此不作限定。后续通过解析该SEI字段即可获取得到该第一标识信息。
方式三、第一跳接入设备将该第一标识信息写入该流数据的流标识字段中。
在该方式三中,流数据中包括流标识字段,第一跳接入设备还可以将第一标识信息写入该字段,以进行携带。例如,在使用实时消息传输协议(Real Time MessagingProtocol,RTMP)或者FLV的流媒体传输协议中,其中,FLV为FlashVideo,一种流媒体传输协议,还可以将第一标识信息(例如,流的唯一标志符)写入RTMP和FLV协议的流名称(StreamI,StreamID)字段,也可以对第一标识信息进行存储,以进行匹配。
204、第一跳接入设备响应于该第一标识信息与该流数据获取请求携带的第二标识信息匹配,向该目标设备发送该目标流数据。
其中,第一跳接入设备向该目标设备发送该目标流数据的过程可以为包括多种情况,第一跳接入设备直接向目标设备发送该目标流数据,也可以为第一跳接入设备向该流数据获取请求对应的下一跳接入设备(第二跳接入设备)发送该目标流设备,进而,经过接入设备转发至目标设备。也即是该流数据的传输网络中可以包括一跳接入设备或多跳接入设备。
如果仅包括一跳接入设备,则该第一跳接入设备可以将目标流数据发送给该目标设备,也可以再对该目标流数据进行进一步处理后发送给目标设备,例如,将上述第一标识信息从目标流数据中删除。第一跳接入设备还可以不执行上述步骤203,直接将流数据发送给目标设备。如果包括多跳接入设备,第一跳接入设备可以对流数据进行处理后,将处理得到的目标流数据发送给第二跳接入设备,经过多跳接入设备,由最后一跳接入设备将目标流数据发送给目标设备,也可以由最后一跳接入设备对目标流数据进行进一步处理后发送给目标设备。本申请实施例对具体为上述哪种情况不作限定。
在一种可能实现方式中,在包括多跳接入设备传输该目标流数据时,任一跳接入设备还可以在接收到目标流数据后,可以对该目标流数据进行校验,来确定该目标流数据与流数据获取请求是否匹配。具体地,该第一标识信息用于在被任一接收到该流数据获取请求的接入设备获取到时,与该流数据获取请求所携带的第二标识信息进行匹配,以确定该目标流数据与该流数据获取请求是否匹配。通过校验过程,可以有效判断流数据传输是否正确,从而可以及时发现传输过程中出现的问题,从而保证流数据传输的准确性。
在一种可能实现方式中,该第一标识信息在被该传输网络中的最后一跳接入设备接收到时从该目标流数据中删除。该最后一跳接入设备接收到目标流数据后,会将流数据发送给目标设备,在发送之前,可以将第一标识信息删除,还原流数据后再发送,这样发送给目标设备的流数据还是推流设备发送的流数据,避免流数据被修改,保证流数据的传输安全性和准确性。
上述步骤204为匹配时所执行的步骤,在一种可能实现方式中,第一标识信息和第二标识信息还可能不匹配,第一跳接入设备响应于该标识信息与流数据获取请求携带的标识信息不匹配,可以丢弃该流数据获取请求,也即是,第一跳接入设备不再传输本次请求的流的流数据,如果目标设备还想要获取,则需要重新发送流数据获取请求以请求流的流数据。在一个具体的可能实施例中,第一跳接入设备可以从路由表中去除该流数据获取请求对应的路由信息,进而断开流链路。
在判断目标流数据中的第一标识信息与请求携带的第二标识信息不匹配时,说明该目标流数据并非该流数据获取请求所请求的数据,因而,可能存在串流现象,从而可以断开链路,重新请求,从而可以避免串流出现流数据传输错误的情况,也可以避免流数据泄露,提高了流数据传输的安全性。
本申请实施例通过接收到推流设备发送的流数据后,将该流数据所属流的标识信息添加到流数据中得到目标流数据,后续传输时传输该目标流数据,进而,根据该目标流数据中的标识信息与流数据获取请求携带的标识信息匹配,即可获知该目标流数据是否为该流数据获取请求所请求的流数据,从而可以正确判断流数据是否传输错误,提高了流数据传输的准确性。流数据传输不会出现错误,可以排除流数据泄露的风险,提高了流数据传输的安全性。
图3是本申请实施例提供的一种流数据传输方法的流程图,,该方法应用于传输网络中的第二跳接入设备至最后一跳接入设备中任一跳接入设备,参见图3,该方法可以包括以下步骤:
301、任一跳接入设备接收前一跳接入设备响应于目标设备的流数据获取请求发送的目标流数据,该目标流数据包括该目标流数据所属流的第一标识信息。
该任一跳接入设备可以为该传输网络中除了第一跳接入设备之外的任一接入设备。该任一跳接入设备可以包括两种情况,在一种情况中,任一跳接入设备可以为第一跳接入设备和最后一跳接入设备之外的接入设备。也即是,该任一跳接入设备为中间接入设备。另一种情况中,第二跳接入设备是第一个接收到目标设备的流数据获取请求的接入设备,也即是传输网络中的最后一跳接入设备。
其中,该任一跳接入设备接收到的该目标流数据可以为上述图2所示实施例中第一跳接入设备得到并发送的数据。如果该任一跳接入设备为通信链路中第一跳接入设备的下一跳接入设备,也即是,如果该任一跳接入设备为第二跳接入设备,则该目标流数据由上述步骤303中第一跳接入设备向该第二跳接入设备发送得到。而如果该任一跳接入设备和第一跳接入设备之间还包括其他接入设备,则任一跳接入设备接收到的目标流数据则为其他接入设备发送至该任一跳接入设备的数据。
对于该目标流数据的获取过程具体可以参见上述图2所示实施例,本申请实施例在此不多做赘述。
302、任一跳接入设备对该第一标识信息与该流数据获取请求携带的第二标识信息进行匹配。
任一跳接入设备接收到目标流数据后,可以从该目标流数据中提取第一标识信息,并对该第一标识信息与流数据获取请求携带的第二标识信息进行匹配,来判断目标流数据是否为该流数据获取请求所请求的数据。
可以理解地,如果匹配,则该目标流数据为该流数据获取请求所请求的数据,则流数据传输正确。如果不匹配,则该目标流数据不是流数据获取请求所请求的数据,可能存在串流现象。通过每一跳接入设备接收到目标流数据,从中提取第一标识信息与第二标识信息进行匹配,可以在每一跳接入设备中识别当前传输的流数据是否正确,从而能够避免出现串流现象。
具体地,该第一标识信息的存储位置可能包括不同的情况,第二跳接入设备则可以根据按照该第一标识信息的存储位置,提取该第一标识信息以进行匹配。
303、任一跳接入设备响应于该第一标识信息与接收到的流数据获取请求携带的第二标识信息匹配,向该目标设备发送该目标流数据。
该步骤303与上述步骤204同理,本申请实施例对此不作限定。
同理地,在一种可能实现方式中,如果该任一跳接入设备为传输网络中的最后一跳接入设备,也即是第一个接收到该流数据获取请求的接入设备,也即是,任一跳接入设备响应于应用于传输网络中的最后一跳接入设备,删除该目标流数据中的该第一标识信息,得到流数据,向该目标设备发送该流数据。还原流数据后再发送,这样发送给目标设备的流数据还是推流设备发送的流数据,避免流数据被修改,保证流数据的传输安全性和准确性。
同理地,该目标流数据由该传输网络中的第一跳接入设备将第一标识信息添加至推流设备发送的流数据中得到。具体可以参见上述图2所示实施例中的步骤203,在此不多做赘述。
同理地,上述仅示出了匹配时所执行的步骤,在一种可能实现方式中,第一标识信息和第二标识信息还可能不匹配,任一跳接入设备可以响应于该第一标识信息与该流数据获取请求携带的第二标识信息不匹配,丢弃该流数据获取请求。也即是,任一跳接入设备不再传输本次请求的流的流数据,如果目标设备还想要获取,则需要重新发送流数据获取请求以请求流的流数据。也即是,断开流链路,重新请求,从而避免串流发生。在一个具体的可能实施例中,任一跳接入设备可以从路由表中去除该流数据获取请求对应的路由信息,进而断开流链路。
在云直播中,音视频流经过的第一接入点在音视频流数据的关键帧前插入流唯一标志符内容,而中间节点获取数据中的流唯一标志符,与自己要拉取的目标流唯一标志符进行对比,来防止拉到错误的流,从而避免串流故障的发生。同时为避免修改音视频数据,在最后一个接入点从音视频数据中删除第一接入点添加的数据,从而避免修改音视频数据。
本申请实施例通过接收到前一跳接入设备发送的目标流数据后,将该目标流数据中提取所属流的标识信息,根据该目标流数据中的标识信息与流数据获取请求携带的标识信息匹配,即可获知该目标流数据是否为该流数据获取请求所请求的流数据,从而可以正确判断流数据是否传输错误,提高了流数据传输的准确性。流数据传输不会出现错误,可以排除流数据泄露的风险,提高了流数据传输的安全性。
图4是本申请实施例提供的一种流数据传输方法的流程图,参见图4,以流数据传输过程包括三个接入设备为例进行说明,该三个接入设备可以包括第一跳接入设备、第二跳接入设备和最后一跳接入设备。其中,该第一跳接入设备与推送设备连接,用于接收推送设备发送的流数据。第二跳接入设备为中间接入设备,与第一跳接入设备和最后一跳接入设备连接,第一跳接入设备可以将处理后的目标流数据发送至第二跳接入设备,该第二跳接入设备与最后一跳接入设备连接,第二跳接入设备可以将目标流数据再传输至最后一跳接入设备。该最后一跳接入设备即为边缘接入设备,与请求流数据的目标设备连接,该最后一跳接入设备可以将目标设备所需的流数据发送给目标设备。
在此仅以经过三跳接入设备为例进行说明,如果还包括更多接入设备,则其他接入设备可以执行与第二跳接入设备同理的步骤,在此不一一列举。具体地,该方法可以包括以下步骤:
401、第一跳接入设备接收推流设备响应于目标设备的流数据获取请求发送的流数据。
402、第一跳接入设备获取该流数据所属流的第一标识信息。
403、第一跳接入设备将该第一标识信息添加至该流数据中,得到目标流数据,该目标流数据包括该第一标识信息。
404、第一跳接入设备响应于该第一标识信息与该流数据获取请求携带的第二标识信息匹配,向第二跳接入设备发送该目标流数据。
上述步骤401至步骤404与上述图2所示实施例中的步骤201至步骤204同理,在此不多做赘述。
405、第二跳接入设备接收该目标流数据。
其中,该目标流数据为第一跳接入设备响应于目标设备的流数据获取请求发送的目标流数据,该目标流数据包括该目标流数据所属流的第一标识信息。
406、第二跳接入设备对该第一标识信息与该流数据获取请求携带的第二标识信息进行匹配。
407、第二跳接入设备响应于该第一标识信息与接收到的流数据获取请求携带的第二标识信息匹配,向最后一跳接入设备发送该目标流数据。
该步骤405至步骤407与上述图3所示实施例中步骤301至步骤303同理,本申请实施例在此不多做赘述。
408、最后一跳接入设备接收该目标流数据。
409、最后一跳接入设备对该第一标识信息与该流数据获取请求携带的第二标识信息进行匹配。
该步骤408和步骤409与上述步骤405和步骤406同理,与上述图3所示实施例中的步骤301和步骤302也同理,在此不多做赘述。
410、最后一跳接入设备响应于该第一标识信息与接收到的流数据获取请求携带的第二标识信息匹配,删除该目标流数据中的该第一标识信息,得到流数据。
411、最后一跳接入设备向该目标设备发送该流数据。
该步骤410和步骤411可以参见上述图2和图3所示实施例中实现方式,在此不多做赘述。
下面提供一个具体示例,如图5所示,推流设备可以为推流客户端501,目标设备可以为播放端502,在此将数据流的标识信息称为流唯一标志符,例如,第二标识信息也可以为流唯一标志符X,流数据发送时,添加到流数据中的第一标识信息可以为流唯一标志符Y,接入设备为接入点503,流数据为音视频数据。则该方法可以包括步骤1-7:
步骤1,推流客户端501将直播流唯一标志符为Y的音视频数据推到第一跳节点服务器(接入点503),此时视频数据不包含自定义的OnTencentMeata数据。
步骤2,播放端502请求流唯一标志符为X的流,在此称之为流X。
步骤3,最后一跳节点服务器(接入点503)收到请求后向上一中间节点(接入点503)请求流唯一标志符为X的流。
步骤4,中间节点向第一跳接入点请求流唯一标志符为X的流。
步骤5,第一跳节点(与推流客户端连接的接入点503)接收到推流客户端501推的流标志符为Y的流的流数据后,可以在流唯一标志符为Y的每个关键帧前面插入一个ScriptTag,TagType为18,TagData为字符串OnTencentMeta和流唯一标志符Y,同时将这些ScriptTag和帧数据按顺序发送给中间节点(前后均与其他接入点503连接的接入点503)。需要说明的是,第一跳节点对流数据进行处理后,经过匹配,即可将其发送给请求该流的播放端502。
步骤6,每个中间节点获取每一个OnTencentMeta中的流唯一标志符Y与步骤3中接收到的请求中的流唯一标志符X进行对比,如果X和Y相同,则将后面的一个画面组(Groupof Pictures,GOP)数据下发给下一跳节点。如果X和Y不同,则说明可能发生了串流现象,则该中间节点无需再将流数据下发,播放端需要重新请求流唯一标志符为X的流的流数据。需要说明的是,如果需要经过多个中间节点,该多个中间节点对该流数据所做的操作相同,均是获取OnTencentMeta中的流唯一标志符Y与请求中的流唯一标志符X做对比,以确定是否下发给下一跳节点。
步骤7,在最后一跳节点中,除了执行与步骤6一样操作外,在将数据发送给客户端前,将OnTencentMeta的Tag丢弃,只将原始的音视频数据下发给播放客户端,避免改变原始流数据。
在该具体示例中,视频点播和直播通常会经过多个节点,譬如推流接入点或者源站(第一跳接入设备)、中间节点(第二跳接入设备)、内容分发网络(Content DeliveryNetwork,CDN)边缘节点(最后一跳接入设备)等,在下游节点向上游节点以RTMP或者FLV协议请求拉取流数据时,上游节点可能由于缓存错误、连接句柄错位、视频切片命名错误等多种原因,错误的将流A的视频数据发给了需要流B的节点(或者客户端),造成串流。本发明方法在视频流经过的第一跳接入点上,在每个视频的关键帧(I帧)前面插入一个TagType为18的自定义MetaData Tag,该Tag从名字上区分于流中原有的OnMetaData Tag,譬如命名为OnTencentMeta Tag,在该Tag中加入视频流的唯一标志符。这样在该视频数据流上就打上了该流的唯一标志符,流经过的每一个节点将信令中的流唯一标志符、视频中OnTencentMeta Tag中的流唯一标志符不断进行比较,这样就能检查流是否发生串流。在流到达客户端前的最后一个节点上,将OnTencentMeta Tag丢弃,以防止下发给客户端,
经过上述步骤,在中间节点和最后一跳节点中的每一跳节点上,在不改变OnTencentMeta内容的情况下,一旦发生串流情况,则可以通过对比流前后的OnTencentMeta中的流唯一标志符可以检查出来并避免错误的音视频数据下发。这样可以避免串流使得客户数据泄漏,把属于客户B的音视频数据发给了客户A造成内容泄漏。譬如本应该播放新闻的流,由于串流,可能播放用户直播,影响非常大。且由于串流难以检测,当发生串流时,从前后视频数据本身是无法有效检测出串流的,可能连观众都无法判断是发生串流还是主播有意而为之。一旦一个节点发生串流,后续节点都无法检测。上述方法可以有效避免这种情况。且由于串流容易产生,云直播、点播等业务的流,经过的节点跳数多,代码复杂,频繁修改,一些异常场景测试无法完全覆盖。因而,上述方法的实用性很高。
本申请实施例中,第一跳接入设备接收到推流设备发送的流数据后,将该流数据所属流的标识信息添加到流数据中得到目标流数据,后续传输中任一跳接入设备接收到该目标流数据,可以根据该目标流数据中的标识信息与流数据获取请求携带的标识信息匹配,即可获知该目标流数据是否为该流数据获取请求所请求的流数据,从而可以正确判断流数据是否传输错误,提高了流数据传输的准确性。流数据传输不会出现错误,可以排除流数据泄露的风险,提高了流数据传输的安全性。
上述所有可选技术方案,可以采用任意结合形成本申请的可选实施例,在此不再一一赘述。
图6是本申请实施例提供的一种流数据传输装置的结构示意图,参见图6,该装置应用于传输网络中的第一跳接入设备,该第一跳接入设备用于与推流设备连接,该装置包括:
接收模块601,用于接收推流设备响应于目标设备的流数据获取请求发送的流数据;
获取模块602,用于获取该流数据所属流的第一标识信息;
添加模块603,用于将该第一标识信息添加至该流数据中,得到目标流数据,该目标流数据包括该第一标识信息;
发送模块604,用于响应于该第一标识信息与该流数据获取请求携带的第二标识信息匹配,向该目标设备发送该目标流数据。
在一种可能实现方式中,该添加模块603,用于执行下述任一项:
在该流数据的关键帧前插入标识符,将该第一标识信息写入该标识符中;
将该第一标识信息写入该流数据的封装格式数据的可扩展字段中;
将该第一标识信息写入该流数据的流标识字段中。
在一种可能实现方式中,该第一标识信息存储于该标识符中,该发送模块604用于按照该目标流数据中该标识符和帧数据的排列顺序,向该目标设备发送该目标流数据。
在一种可能实现方式中,该获取模块602用于执行下述任一项:
接收该推流设备发送的该流数据所属流的第一标识信息;
根据该流数据,为该流数据所属流生成第一标识信息。
在一种可能实现方式中,该第一标识信息用于在被任一接收到该流数据获取请求的接入设备获取到时,与该流数据获取请求所携带的第二标识信息进行匹配,以确定该目标流数据与该流数据获取请求是否匹配。
在一种可能实现方式中,该第一标识信息在被该传输网络中的最后一跳接入设备接收到时从该目标流数据中删除。
在一种可能实现方式中,该装置还包括:
丢弃模块,用于响应于该第一标识信息与流数据获取请求携带的第二标识信息不匹配,丢弃该流数据获取请求。
本申请实施例提供的装置,通过接收到推流设备发送的流数据后,将该流数据所属流的标识信息添加到流数据中得到目标流数据,后续传输时传输该目标流数据,进而,根据该目标流数据中的标识信息与流数据获取请求携带的标识信息匹配,即可获知该目标流数据是否为该流数据获取请求所请求的流数据,从而可以正确判断流数据是否传输错误,提高了流数据传输的准确性。流数据传输不会出现错误,可以排除流数据泄露的风险,提高了流数据传输的安全性。
需要说明的是:上述实施例提供的流数据传输装置在传输流数据时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的流数据传输装置与流数据传输方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图7是本申请实施例提供的一种流数据传输装置的结构示意图,参见图7,该装置应用于传输网络中的第二跳接入设备至最后一跳中任一跳接入设备,该装置包括:
接收模块701,用于接收前一跳接入设备响应于目标设备的流数据获取请求发送的目标流数据,该目标流数据包括该目标流数据所属流的第一标识信息;
匹配模块702,用于对该第一标识信息与该流数据获取请求携带的第二标识信息进行匹配;
发送模块703,用于响应于该第一标识信息与接收到的流数据获取请求携带的第二标识信息匹配,向该目标设备发送该目标流数据。
在一种可能实现方式中,该发送模块703用于响应于应用于传输网络中的最后一跳接入设备,删除该目标流数据中的该第一标识信息,得到流数据,向该目标设备发送该流数据。
在一种可能实现方式中,该目标流数据由该传输网络中的第一跳接入设备将第一标识信息添加至推流设备发送的流数据中得到。
在一种可能实现方式中,该装置还包括:
丢弃模块,用于响应于该第一标识信息与该流数据获取请求携带的第二标识信息不匹配,丢弃该流数据获取请求。
本申请实施例提供的装置,通过接收到前一跳接入设备发送的目标流数据后,将该目标流数据中提取所属流的标识信息,根据该目标流数据中的标识信息与流数据获取请求携带的标识信息匹配,即可获知该目标流数据是否为该流数据获取请求所请求的流数据,从而可以正确判断流数据是否传输错误,提高了流数据传输的准确性。流数据传输不会出现错误,可以排除流数据泄露的风险,提高了流数据传输的安全性。
需要说明的是:上述实施例提供的流数据传输装置在传输流数据时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的流数据传输装置与流数据传输方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
上述接入设备可以为下述图8所示的终端,也可以为下述图9所示的服务器,本申请实施例对此不作限定。
图8是本申请实施例提供的一种终端的结构示意图。该终端800可以是:智能手机、平板电脑、MP3(Moving Picture Experts Group Audio Layer III,动态影像专家压缩标准音频层面3)播放器、MP4(Moving Picture Experts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、笔记本电脑或台式电脑。终端800还可能被称为目标设备、便携式终端、膝上型终端、台式终端等其他名称。
通常,终端800包括有:一个或多个处理器801和一个或多个存储器802。
处理器801可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器801可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器801也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器801可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器801还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器802可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器802还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器802中的非暂态的计算机可读存储介质用于存储至少一个程序代码,该至少一个程序代码用于被处理器801所执行以实现本申请中方法实施例提供的流数据传输方法。
在一些实施例中,终端800还可选包括有:外围设备接口803和至少一个外围设备。处理器801、存储器802和外围设备接口803之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口803相连。具体地,外围设备包括:射频电路804、显示屏805、摄像头组件806、音频电路807、定位组件808和电源809中的至少一种。
外围设备接口803可被用于将I/O(Input/Output,输入/输出)相关的至少一个外围设备连接到处理器801和存储器802。在一些实施例中,处理器801、存储器802和外围设备接口803被集成在同一芯片或电路板上;在一些其他实施例中,处理器801、存储器802和外围设备接口803中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路804用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路804通过电磁信号与通信网络以及其他通信设备进行通信。射频电路804将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路804包括:天线系统、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路804可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:城域网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路804还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本申请对此不加以限定。
显示屏805用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏805是触摸显示屏时,显示屏805还具有采集在显示屏805的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器801进行处理。此时,显示屏805还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏805可以为一个,设置终端800的前面板;在另一些实施例中,显示屏805可以为至少两个,分别设置在终端800的不同表面或呈折叠设计;在再一些实施例中,显示屏805可以是柔性显示屏,设置在终端800的弯曲表面上或折叠面上。甚至,显示屏805还可以设置成非矩形的不规则图形,也即异形屏。显示屏805可以采用LCD(LiquidCrystal Display,液晶显示屏)、OLED(Organic Light-Emitting Diode,有机发光二极管)等材质制备。
摄像头组件806用于采集图像或视频。可选地,摄像头组件806包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件806还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
音频电路807可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器801进行处理,或者输入至射频电路804以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端800的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器801或射频电路804的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路807还可以包括耳机插孔。
定位组件808用于定位终端800的当前地理位置,以实现导航或LBS(LocationBased Service,基于位置的服务)。定位组件808可以是基于美国的GPS(GlobalPositioning System,全球定位系统)、中国的北斗系统、俄罗斯的格雷纳斯系统或欧盟的伽利略系统的定位组件。
电源809用于为终端800中的各个组件进行供电。电源809可以是交流电、直流电、一次性电池或可充电电池。当电源809包括可充电电池时,该可充电电池可以支持有线充电或无线充电。该可充电电池还可以用于支持快充技术。
在一些实施例中,终端800还包括有一个或多个传感器810。该一个或多个传感器810包括但不限于:加速度传感器811、陀螺仪传感器812、压力传感器813、指纹传感器814、光学传感器815以及接近传感器816。
加速度传感器811可以检测以终端800建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器811可以用于检测重力加速度在三个坐标轴上的分量。处理器801可以根据加速度传感器811采集的重力加速度信号,控制显示屏805以横向视图或纵向视图进行用户界面的显示。加速度传感器811还可以用于游戏或者用户的运动数据的采集。
陀螺仪传感器812可以检测终端800的机体方向及转动角度,陀螺仪传感器812可以与加速度传感器811协同采集用户对终端800的3D动作。处理器801根据陀螺仪传感器812采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变UI)、拍摄时的图像稳定、游戏控制以及惯性导航。
压力传感器813可以设置在终端800的侧边框和/或显示屏805的下层。当压力传感器813设置在终端800的侧边框时,可以检测用户对终端800的握持信号,由处理器801根据压力传感器813采集的握持信号进行左右手识别或快捷操作。当压力传感器813设置在显示屏805的下层时,由处理器801根据用户对显示屏805的压力操作,实现对UI界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
指纹传感器814用于采集用户的指纹,由处理器801根据指纹传感器814采集到的指纹识别用户的身份,或者,由指纹传感器814根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器801授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器814可以被设置终端800的正面、背面或侧面。当终端800上设置有物理按键或厂商Logo时,指纹传感器814可以与物理按键或厂商Logo集成在一起。
光学传感器815用于采集环境光强度。在一个实施例中,处理器801可以根据光学传感器815采集的环境光强度,控制显示屏805的显示亮度。具体地,当环境光强度较高时,调高显示屏805的显示亮度;当环境光强度较低时,调低显示屏805的显示亮度。在另一个实施例中,处理器801还可以根据光学传感器815采集的环境光强度,动态调整摄像头组件806的拍摄参数。
接近传感器816,也称距离传感器,通常设置在终端800的前面板。接近传感器816用于采集用户与终端800的正面之间的距离。在一个实施例中,当接近传感器816检测到用户与终端800的正面之间的距离逐渐变小时,由处理器801控制显示屏805从亮屏状态切换为息屏状态;当接近传感器816检测到用户与终端800的正面之间的距离逐渐变大时,由处理器801控制显示屏805从息屏状态切换为亮屏状态。
本领域技术人员可以理解,图8中示出的结构并不构成对终端800的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
图9是本申请实施例提供的一种服务器的结构示意图,该服务器900可因配置或性能不同而产生比较大的差异,可以包括一个或多个处理器(Central Processing Units,CPU)901和一个或多个的存储器902,其中,该一个或多个存储器902中存储有至少一条程序代码,该至少一条程序代码由该一个或多个处理器901加载并执行以实现上述各个方法实施例提供的流数据传输方法。当然,该服务器900还可以具有有线或无线网络接口、键盘以及输入输出接口等部件,以便进行输入输出,该服务器900还可以包括其他用于实现设备功能的部件,在此不做赘述。
图10是本申请实施例提供的一种流数据传输系统的示意图,该流数据传输系统包括多跳接入设备,其中,该多跳接入设备中可以包括第一跳接入设备1001、第二跳接入设备1002、……、最后一跳接入设备1003,其中,该第一跳接入设备1001用于与推流设备连接;该第一跳接入设备1001用于执行上述图2所示实施例提供的流数据传输方法以及图4所示实施例中第一跳接入设备所执行的方法步骤;该第二跳接入设备1002至最后一跳接入设备1003中任一跳用于执行上述图3所示实施例提供的流数据传输方法以及图4所示实施例中第二跳接入设备或最后一跳接入设备所执行的方法步骤。该流数据传输系统中仅示出了多跳接入设备的情况,在具体传输流数据时,可以通过其中的一跳接入设备或多跳接入设备实现,图中所示的接入设备的数量并不对流数据传输时所需的接入设备数量造成限定。
在示例性实施例中,还提供了一种计算机可读存储介质,例如包括程序代码的存储器,上述程序代码可由处理器执行以完成上述实施例中的流数据传输方法。例如,该计算机可读存储介质可以是只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、只读光盘(Compact Disc Read-Only Memory,CD-ROM)、磁带、软盘和光数据存储设备等。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,该程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
上述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (15)
1.一种流数据传输方法,其特征在于,应用于传输网络中的第一跳接入设备,所述第一跳接入设备用于与推流设备连接,所述方法包括:
接收推流设备响应于目标设备的流数据获取请求发送的流数据;
获取所述流数据所属流的第一标识信息;
将所述第一标识信息添加至所述流数据中,得到目标流数据,所述目标流数据包括所述第一标识信息;
响应于所述第一标识信息与所述流数据获取请求携带的第二标识信息匹配,向所述目标设备发送所述目标流数据。
2.根据权利要求1所述的方法,其特征在于,所述将所述第一标识信息添加至所述流数据中,包括下述任一项:
在所述流数据的关键帧前插入标识符,将所述第一标识信息写入所述标识符中;
将所述第一标识信息写入所述流数据的封装格式数据的可扩展字段中;
将所述第一标识信息写入所述流数据的流标识字段中。
3.根据权利要求2所述的方法,其特征在于,所述第一标识信息存储于所述标识符中,所述向所述目标设备发送所述目标流数据,包括:
按照所述目标流数据中所述标识符和帧数据的排列顺序,向所述目标设备发送所述目标流数据。
4.根据权利要求1所述的方法,其特征在于,所述获取所述流数据所属流的第一标识信息,包括下述任一项:
接收所述推流设备发送的所述流数据所属流的第一标识信息;
根据所述流数据,为所述流数据所属流生成第一标识信息。
5.根据权利要求1所述的方法,其特征在于,所述第一标识信息用于在被任一接收到所述流数据获取请求的接入设备获取到时,与所述流数据获取请求所携带的第二标识信息进行匹配,以确定所述目标流数据与所述流数据获取请求是否匹配。
6.根据权利要求1所述的方法,其特征在于,所述第一标识信息在被所述传输网络中的最后一跳接入设备接收到时从所述目标流数据中删除。
7.一种流数据传输方法,其特征在于,应用于传输网络中的第二跳接入设备至最后一跳接入设备中任一跳接入设备,所述方法包括:
接收前一跳接入设备响应于目标设备的流数据获取请求发送的目标流数据,所述目标流数据包括所述目标流数据所属流的第一标识信息;
对所述第一标识信息与所述流数据获取请求携带的第二标识信息进行匹配;
响应于所述第一标识信息与接收到的流数据获取请求携带的第二标识信息匹配,向所述目标设备发送所述目标流数据。
8.根据权利要求7所述的方法,其特征在于,所述向所述目标设备发送所述目标流数据,包括:
响应于应用于传输网络中的最后一跳接入设备,删除所述目标流数据中的所述第一标识信息,得到流数据,向所述目标设备发送所述流数据。
9.根据权利要求7所述的方法,其特征在于,所述目标流数据由所述传输网络中的第一跳接入设备将第一标识信息添加至推流设备发送的流数据中得到。
10.根据权利要求7所述的方法,其特征在于,所述方法还包括:
响应于所述第一标识信息与所述流数据获取请求携带的第二标识信息不匹配,丢弃所述流数据获取请求。
11.一种流数据传输系统,其特征在于,所述流数据传输系统包括多跳接入设备,第一跳接入设备用于与推流设备连接,最后一跳用于与目标设备连接;
所述第一跳接入设备用于接收推流设备响应于目标设备的流数据获取请求发送的流数据;获取所述流数据所属流的第一标识信息;将所述第一标识信息添加至所述流数据中,得到目标流数据,所述目标流数据包括所述第一标识信息;响应于所述第一标识信息与所述流数据获取请求携带的第二标识信息匹配,向所述目标设备发送所述目标流数据;
第二跳接入设备至最后一跳接入设备中任一跳接入设备用于接收前一跳接入设备响应于目标设备的流数据获取请求发送的目标流数据,所述目标流数据包括所述目标流数据所属流的第一标识信息;对所述第一标识信息与所述流数据获取请求携带的第二标识信息进行匹配;响应于所述第一标识信息与接收到的流数据获取请求携带的第二标识信息匹配,向所述目标设备发送所述目标流数据。
12.一种流数据传输装置,其特征在于,所述装置包括:
接收模块,用于接收推流设备响应于目标设备的流数据获取请求发送的流数据;
获取模块,用于获取所述流数据所属流的第一标识信息;
添加模块,用于将所述第一标识信息添加至所述流数据中,得到目标流数据,所述目标流数据包括所述第一标识信息;
发送模块,用于响应于所述第一标识信息与所述流数据获取请求携带的第二标识信息匹配,向所述目标设备发送所述目标流数据。
13.一种流数据传输装置,其特征在于,所述装置包括:
接收模块,用于接收前一跳接入设备响应于目标设备的流数据获取请求发送的目标流数据,所述目标流数据包括所述目标流数据所属流的第一标识信息;
匹配模块,用于对所述第一标识信息与所述流数据获取请求携带的第二标识信息进行匹配;
发送模块,用于响应于所述第一标识信息与接收到的流数据获取请求携带的第二标识信息匹配,向所述目标设备发送所述目标流数据。
14.一种接入设备,其特征在于,所述接入设备包括一个或多个处理器和一个或多个存储器,所述一个或多个存储器中存储有至少一条程序代码,所述程序代码由所述一个或多个处理器加载并执行以实现如权利要求1至权利要求6任一项所述的流数据传输方法所执行的操作;或所述程序代码由所述一个或多个处理器加载并执行以实现如权利要求7至权利要求10任一项所述的流数据传输方法所执行的操作。
15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有至少一条程序代码,所述程序代码由处理器加载并执行以实现如权利要求1至权利要求6任一项所述的流数据传输方法所执行的操作;或所述程序代码由所述一个或多个处理器加载并执行以实现如权利要求7至权利要求10任一项所述的流数据传输方法所执行的操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010047756.7A CN111245852B (zh) | 2020-01-16 | 2020-01-16 | 流数据传输方法、装置、系统、接入设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010047756.7A CN111245852B (zh) | 2020-01-16 | 2020-01-16 | 流数据传输方法、装置、系统、接入设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111245852A true CN111245852A (zh) | 2020-06-05 |
CN111245852B CN111245852B (zh) | 2022-11-29 |
Family
ID=70865828
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010047756.7A Active CN111245852B (zh) | 2020-01-16 | 2020-01-16 | 流数据传输方法、装置、系统、接入设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111245852B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113701832A (zh) * | 2021-08-28 | 2021-11-26 | 上海光华仪表有限公司 | 高压由壬电磁流量计控制方法及其系统 |
CN114339419A (zh) * | 2021-12-29 | 2022-04-12 | 青岛海信移动通信技术股份有限公司 | 一种视频流拉流处理的方法、装置及存储介质 |
CN115119049A (zh) * | 2022-06-22 | 2022-09-27 | 深圳市瑞云科技有限公司 | 一种支持云游戏一起玩的动态编码方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104065656A (zh) * | 2014-06-24 | 2014-09-24 | 浙江宇视科技有限公司 | 一种媒体流数据识别方法 |
CN107070866A (zh) * | 2016-12-30 | 2017-08-18 | 北京奇虎科技有限公司 | 一种流数据的传输方法和装置 |
CN107707926A (zh) * | 2017-03-09 | 2018-02-16 | 贵州白山云科技有限公司 | 一种直播流传输方法、装置和系统 |
CN109842593A (zh) * | 2017-11-28 | 2019-06-04 | 中国石油天然气股份有限公司 | 信息获取方法、装置及计算机可读存储介质 |
-
2020
- 2020-01-16 CN CN202010047756.7A patent/CN111245852B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104065656A (zh) * | 2014-06-24 | 2014-09-24 | 浙江宇视科技有限公司 | 一种媒体流数据识别方法 |
CN107070866A (zh) * | 2016-12-30 | 2017-08-18 | 北京奇虎科技有限公司 | 一种流数据的传输方法和装置 |
CN107707926A (zh) * | 2017-03-09 | 2018-02-16 | 贵州白山云科技有限公司 | 一种直播流传输方法、装置和系统 |
CN109842593A (zh) * | 2017-11-28 | 2019-06-04 | 中国石油天然气股份有限公司 | 信息获取方法、装置及计算机可读存储介质 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113701832A (zh) * | 2021-08-28 | 2021-11-26 | 上海光华仪表有限公司 | 高压由壬电磁流量计控制方法及其系统 |
CN114339419A (zh) * | 2021-12-29 | 2022-04-12 | 青岛海信移动通信技术股份有限公司 | 一种视频流拉流处理的方法、装置及存储介质 |
CN114339419B (zh) * | 2021-12-29 | 2024-04-02 | 青岛海信移动通信技术有限公司 | 一种视频流拉流处理的方法、装置及存储介质 |
CN115119049A (zh) * | 2022-06-22 | 2022-09-27 | 深圳市瑞云科技有限公司 | 一种支持云游戏一起玩的动态编码方法 |
CN115119049B (zh) * | 2022-06-22 | 2023-10-17 | 深圳市瑞云科技有限公司 | 一种支持云游戏一起玩的动态编码方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111245852B (zh) | 2022-11-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108900859B (zh) | 直播方法及系统 | |
CN108093268B (zh) | 进行直播的方法和装置 | |
CN109348247B (zh) | 确定音视频播放时间戳的方法、装置及存储介质 | |
CN109874043B (zh) | 视频流发送方法、播放方法及装置 | |
CN110278464B (zh) | 显示榜单的方法和装置 | |
CN109413453B (zh) | 视频播放方法、装置、终端及存储介质 | |
CN111245852B (zh) | 流数据传输方法、装置、系统、接入设备及存储介质 | |
CN108616776B (zh) | 直播分析数据获取方法及装置 | |
CN111596885B (zh) | 音频数据处理方法、服务器及存储介质 | |
CN108600778B (zh) | 媒体流发送方法、装置、系统及服务器、终端、存储介质 | |
CN112583806B (zh) | 资源共享方法、装置、终端、服务器及存储介质 | |
CN111464830A (zh) | 图像显示的方法、装置、系统、设备及存储介质 | |
CN110996167A (zh) | 在视频中添加字幕的方法及装置 | |
CN111669640B (zh) | 虚拟物品转移特效的显示方法、装置、终端及存储介质 | |
CN110958464A (zh) | 直播数据处理方法、装置、服务器、终端及存储介质 | |
CN110149491B (zh) | 视频编码方法、视频解码方法、终端及存储介质 | |
CN111083513B (zh) | 直播画面处理方法、装置、终端及计算机可读存储介质 | |
CN108833970B (zh) | 直播录制的方法、装置、计算机设备及存储介质 | |
CN111459466A (zh) | 代码生成方法、装置、设备及存储介质 | |
CN111045945A (zh) | 模拟直播的方法、装置、终端、存储介质及程序产品 | |
CN111953852B (zh) | 通话记录生成方法、装置、终端及存储介质 | |
CN110912830A (zh) | 传输数据的方法和装置 | |
CN111399796B (zh) | 语音消息聚合方法、装置、电子设备及存储介质 | |
CN113516991A (zh) | 基于群组会话的音频播放、设备管理方法及装置 | |
CN112492331B (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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40024846 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |