CN109525578B - 一种cdn分发网络传输方法、装置、系统以及存储介质 - Google Patents
一种cdn分发网络传输方法、装置、系统以及存储介质 Download PDFInfo
- Publication number
- CN109525578B CN109525578B CN201811339529.0A CN201811339529A CN109525578B CN 109525578 B CN109525578 B CN 109525578B CN 201811339529 A CN201811339529 A CN 201811339529A CN 109525578 B CN109525578 B CN 109525578B
- Authority
- CN
- China
- Prior art keywords
- data
- positioning information
- audio
- source station
- delivery network
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/61—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/0001—Systems modifying transmission characteristics according to link quality, e.g. power backoff
- H04L1/0006—Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission format
- H04L1/0007—Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission format by modifying the frame length
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/32—Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
-
- 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/141—Setup of application sessions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Quality & Reliability (AREA)
- Power Engineering (AREA)
- Computer Security & Cryptography (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种CDN分发网络传输方法,涉及通信技术领域。本申请将整个CDN网络分为多个较小的区域,每一个区域对应一个源站,该源站只会影响源站所在区域内部的网络,不会影响其他区域,避免了一个源站出现状况导致全网均不能使用的问题。另外,本申请构建了边缘节点与源站两层网络架构,去除了中间的区域节点,边缘节点仅从源站拉取定位信息即可,不需要从源站拉取音视频数据流,而定位信息的数据量要远小于音视频数据流的数据量,因此,本申请大大减少了CDN内部网络带宽的消耗。此外,本申请还提供了一种具有上述技术优点的CDN分发网络传输装置、系统、计算机可读存储介质以及计算机程序产品。
Description
技术领域
本发明涉及通信技术领域,特别是涉及一种CDN分发网络传输方法、装置、系统、计算机可读存储介质以及计算机程序产品。
背景技术
随着网络技术的发展,用户越来越依赖于从网络中获取所需的视频内容。而在实际应用中,CDN(Content Delivery Network,内容分发网络)为常见的视频网络。参照图1所示,传统的CDN分发架构一般是树形结构,边缘节点回源区域节点,区域节点回源源站,源站再回源第三方服务器。
现有技术中,当一路流播放人数不多时,会造成内部带宽巨大的浪费。同时,由于源站网络不稳定很容易全网受源站影响导致全网都不稳定。并且,由于在边缘节点要切片,全网切片要保持一致,所以只能一个源站去第三方源站拉流,造成全网非常依赖源站的网络状态。当源站网络不好或者源站宕机时,会造成全网无法切片,也就造成整体无法播放。
发明内容
本发明的目的是提供一种CDN分发网络传输方法、装置、系统、计算机可读存储介质以及计算机程序产品,以解决现有直播技术中占用内部带宽较大以及对源站依赖较大的问题。
为解决上述技术问题,本发明提供一种CDN分发网络传输方法,应用于边缘节点,所述CDN分发网络分为多个区域,每一个区域对应一个源站,所述边缘节点直接与所述源站建立通信连接,所述方法包括:
从第三方服务器拉取音视频数据流;
从所述源站拉取定位信息,所述定位信息为所述源站从所述第三方服务器拉取音视频数据流后生成的、用于对音视频数据流进行对齐的数据;
将拉取到的所述定位信息合并到所述音视频数据流中,以实现直播数据的传输。
可选地,所述定位信息中至少包括:对原始数据进行摘要提取后得到的摘要数据、每一帧的数据长度、每一帧的标识数据。
可选地,所述摘要数据为MD5数据,所述每一帧的标识数据为每一帧末尾N个字节的数据,N为正整数。
可选地,所述将拉取到的所述定位信息合并到所述音视频数据流中,以实现直播数据的传输包括:
确定所述定位信息中最后一帧数据的数据长度,在所述音视频数据流中查找与所述数据长度匹配的数据帧的位置;
将查找得到的数据帧的标识数据与所述定位信息中的标识数据进行比对;
当所述标识数据与所述定位数据中的标识数据比对一致时,按照摘要数据对所述数据帧以及所述定位信息进行比对;
当摘要数据比对一致时,则将拉取到的所述定位信息合并到所述音视频数据流中,以实现直播数据流的传输。
可选地,在所述对拉取到的所述定位信息合并到所述音视频数据流中,以实现直播数据流的传输之前还包括:
当拉取的所述音视频数据流的信息多于拉取的所述定位信息的信息时,按照所述定位信息中每一帧的数据长度丢数据;
当拉取的所述音视频数据流的信息少于拉取的所述定位信息的信息时,将对应段的数据丢弃。
本发明还提供了一种CDN分发网络传输装置,应用于CDN分发网络的边缘节点,所述CDN分发网络分为多个区域,每一个区域对应一个源站,所述边缘节点直接与所述源站建立通信连接,所述装置包括:存储器和处理器,所述存储器上存储有可在所述处理器上运行的CDN分发网络传输程序,所述CDN分发网络传输程序被所述处理器执行时实现上述任一种所述的方法。
可选地,所述装置为组成CDN网络的节点。
本发明还提供了一种CDN分发网络传输系统,包括边缘节点以及源站,所述CDN分发网络分为多个区域,每一个区域对应一个源站,所述边缘节点直接与所述源站建立通信连接;
所述边缘节点用于从第三方服务器拉取音视频数据流;从所述源站拉取定位信息,所述定位信息为所述源站从所述第三方服务器拉取音视频数据流后生成的、用于对音视频数据流进行对齐的数据;将拉取到的所述定位信息合并到所述音视频数据流中,以实现直播数据的传输。
本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有CDN分发网络传输程序,所述CDN分发网络传输程序可被一个或者多个处理器执行,以实现上述任一种所述的CDN分发网络传输方法。
本发明还提供了一种计算机程序产品,包括计算机指令,当其在计算机上运行时,使得计算机可以执行上述任一种所述的CDN分发网络传输方法。
本发明所提供的CDN分发网络传输方法,CDN分发网络分为多个区域,每一个区域对应一个源站,边缘节点直接与源站建立通信连接,边缘节点从第三方服务器拉取音视频数据流;并且从源站拉取定位信息,该定位信息是源站从所述第三方服务器拉取音视频数据流后生成的、用于对音视频数据流进行对齐的数据;将拉取到的定位信息合并到音视频数据流中,以实现直播数据的传输。本申请将整个CDN网络分为多个较小的区域,每一个区域对应一个源站,该源站只会影响源站所在区域内部的网络,不会影响其他区域,避免了一个源站出现状况导致全网均不能使用的问题。另外,本申请构建了边缘节点与源站两层网络架构,去除了中间的区域节点,边缘节点仅从源站拉取定位信息即可,不需要从源站拉取音视频数据流,而定位信息的数据量要远小于音视频数据流的数据量,因此,本申请大大减少了CDN内部网络带宽的消耗。
此外,本申请还提供了一种具有上述技术优点的CDN分发网络传输装置、系统、计算机可读存储介质以及计算机程序产品。
附图说明
为了更清楚的说明本发明实施例或现有技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为传统的CDN分发架构示意图;
图2为本申请所提供的CDN分发网络传输方法的一种具体实施方式的架构图;
图3为本申请所提供的CDN分发网络传输方法的一种具体实施方式的流程图;
图4为本发明实施例提供的CDN分发网络传输装置的结构框图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
需要说明的是,在本申请中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本申请要求的保护范围之内。
本发明所提供的CDN分发网络传输方法应用于边缘节点,参照图2本申请所提供的CDN分发网络传输方法的一种具体实施方式的架构图,所述CDN分发网络分为多个区域,每一个区域对应一个源站,所述边缘节点直接与所述源站建立通信连接。与现有CDN分发架构相比,本申请把整个CDN网络分为多个较小的区域,每一个区域都有一个源站,该源站只会影响源站所在区域内部的网络,不会影响其他区域。另外,现有的CDN包括源站-区域节点-边缘节点三层架构,本申请构建了两层架构,由边缘节点直接与源站建立通信连接。
参照图3本申请所提供的CDN分发网络传输方法的一种具体实施方式的流程图,该方法过程具体包括:
步骤S101:从第三方服务器拉取音视频数据流;
现有CDN架构中,边缘节点在拉取音视频数据流时,先回源区域节点,区域节点再回源源站,源站再回源第三方服务器。而本申请中由边缘节点直接从第三方服务器拉取音视频数据流。
步骤S102:从所述源站拉取定位信息,所述定位信息为所述源站从所述第三方服务器拉取音视频数据流后生成的、用于对音视频数据流进行对齐的数据;
源站从第三方服务器拉取音视频数据流之后,生成对音视频数据流进行对齐的定位信息。定位信息(Index_info)为音视频数据的简要数据,是根据源站从第三方服务器拉流数据计算得到的。定位信息的大小远小于原始音视频数据的大小,例如,一帧视频大概1M字节,而定位信息大概为10个字节。可选地,定位信息中至少可以包括:对原始数据进行摘要提取后得到的摘要数据、每一帧的数据长度、每一帧的标识数据。例如:摘要数据可以为MD5数据,所述每一帧的标识数据可以为每一帧末尾N个字节的数据,N为正整数。作为一种具体实施方式,N可以选择为4。当然还可以采用其他信息作为标识,N也可以为其他数值,并不限于列出的这一种。
作为一种具体实施方式,源站从第三方服务器正常拉流,添加定位信息。定位信息中包含了所有音视频数据帧的数量、所有音视频长度、uid(User Identification,用户身份标识)、下一帧时间戳、每一帧的数据长度、下一帧MD5、下一帧末尾四个字节等信息。源站按照时间戳来添加定位信息,当时间戳走到大于预设配置的时长时,就添加定位信息。例如配置的时长为200ms,则每走200ms就添加一个定位信息。
源站生成定位信息之后,边缘节点从源站拉取该定位信息。
步骤S103:将拉取到的所述定位信息合并到所述音视频数据流中,以实现直播数据的传输。
边缘节点将从源站拉取到的定位信息合并到音视频数据流中,合并后的数据可以为后续使用。
本发明所提供的CDN分发网络传输方法,CDN分发网络分为多个区域,每一个区域对应一个源站,边缘节点直接与源站建立通信连接,边缘节点从第三方服务器拉取音视频数据流;并且从源站拉取定位信息,该定位信息是源站从所述第三方服务器拉取音视频数据流后生成的、用于对音视频数据流进行对齐的数据;将拉取到的定位信息合并到音视频数据流中,以实现直播数据的传输。本申请将整个CDN网络分为多个较小的区域,每一个区域对应一个源站,该源站只会影响源站所在区域内部的网络,不会影响其他区域,避免了一个源站出现状况导致全网均不能使用的问题。另外,本申请构建了边缘节点与源站两层网络架构,去除了中间的区域节点,边缘节点仅从源站拉取定位信息即可,不需要从源站拉取音视频数据流,而定位信息的数据量要远小于音视频数据流的数据量,因此,本申请大大减少了CDN内部网络带宽的消耗。而边缘节点去第三方服务器拉流占用的是下行网络,一般下行网络是免费的,因此还可以避免过多带宽费用的产生。
作为一种具体实施方式,上述步骤S103将拉取到的所述定位信息合并到所述音视频数据流中,以实现直播数据的传输的过程可以包括:
确定所述定位信息中最后一帧数据的数据长度,在所述音视频数据流中查找与所述数据长度匹配的数据帧的位置;
将查找得到的数据帧的标识数据与所述定位信息中的标识数据进行比对;
当所述标识数据与所述定位数据中的标识数据比对一致时,按照摘要数据对所述数据帧以及所述定位信息进行比对;
当摘要数据比对一致时,则将拉取到的所述定位信息合并到所述音视频数据流中,以实现直播数据流的传输。
定位信息中有对应一段数据中每一帧的数据长度,同时有音视频数据中每一帧的摘要数据,例如MD5信息。在查找比对时,需要先查找定位信息在这一段数据的位置,也就是源站在这一段数据所添加的定位信息的位置。
在音视频数据中,每一帧的数据长度(size)可以形成数据长度序列。具体查找过程可以为:先查找定位信息中数据长度序列中最后一帧的数据长度,假设定位信息中sizes:1,2,3,4,5,先查找大小为5的数据长度在这一段音视频数据的位置,如果找到了,再找这一帧(称之为A帧)后面紧跟着的帧(称之为A1)的标识数据,例如末尾4字节大小,是否能和定位信息中的末尾4字节大小匹配上,如果能匹配上,就再计算A1的MD5,然后再确认这个A1帧的MD5是否能和定位信息里面的MD5信息匹配上。如果能匹配上,则这定位信息就在A和A1之间插入,定位信息位置确认后,再依次根据定位信息的数据长度,依次从A,A的前一帧(1a),A的前一帧的前一帧(2a)进行比对,例如A的大小是5,那么1a的大小应该是4,a2大小应该就是3,以此类推,都能比对上,直到size为1为止,表示这段定位信息代表的数据匹配上了。
本实施例中,边缘节点不用每一帧计算摘要数据,例如计算得到MD5,可以先按照数据长度进行比对,在比对一致的情况下,再计算下一帧负载中的倒数4个字节的内容,如果同样也比对一致,再计算下一个帧的摘要数据,例如MD5,比对这个MD5和定位信息中的MD5是否对的上,因为有时候可能数据长度完全比对的上,最后一个帧的数据长度和下一个帧的数据长度也完全一样,但是最后一个帧丢了数据,如果不比对MD5的话,可能导致下一个定位信息的数据比对不成功,并且不知道是丢了哪个数据,比对倒数N个字节的内容,可以大大减少MD5的计算量,也就是说前面两个参数比对一致,MD5基本也就比对一致。本实施例能够减少计算量,进一步提高数据传输的性能。
在上述任一实施例的基础上,本申请在所述对拉取到的所述定位信息合并到所述音视频数据流中,以实现直播数据流的传输之前还包括:当拉取的所述音视频数据流的信息多于拉取的所述定位信息的信息时,按照所述定位信息中每一帧的数据长度丢数据;当拉取的所述音视频数据流的信息少于拉取的所述定位信息的信息时,将对应段的数据进行丢弃。
边缘拉取的音视频数据比源站给的定位信息多时,按照定位信息中的数据长度丢数据,数据长度里面保存的是源站拉到的每一帧的数据长度。在两个定位信息之间收到的数据包正常情况下每个数据包大小应该和数据长度是对的上的。对齐数据时,两个定位信息之间的数据为一段对齐。边缘拉到的数据比源站少的话,该段数据直接丢弃,本定位信息和上一个定位信息之间的数据放弃使用。
如果两个定位信息之间有数据不足或者丢数据,则这两个定位信息之间数据直接丢弃,并向下发送一个特殊的amf命令,告诉下面数据丢失了。数据包目前使用定位信息,两个连续的定位信息发送,第二个定位信息中的offset和第一个定位信息中的offset之差大于0,并且在这两个定位信息之间没有收到任何数据,则表示这两个定位信息之间的数据放弃使用了。
下面对本发明实施例提供的CDN分发网络传输装置进行介绍,下文描述的CDN分发网络传输装置与上文描述的CDN分发网络传输方法可相互对应参照。
图4为本发明实施例提供的CDN分发网络传输装置的结构框图,该装置应用于CDN分发网络的边缘节点,所述CDN分发网络分为多个区域,每一个区域对应一个源站,所述边缘节点直接与所述源站建立通信连接。参照图4,CDN分发网络传输装置1可以包括:存储器11、处理器12以及接口13。所述存储器11上存储有可在所述处理器12上运行的CDN分发网络传输程序,所述CDN分发网络传输程序被所述处理器12执行时实现以下步骤:
从第三方服务器拉取音视频数据流;从所述源站拉取定位信息,所述定位信息为所述源站从所述第三方服务器拉取音视频数据流后生成的、用于对音视频数据流进行对齐的数据;将拉取到的所述定位信息合并到所述音视频数据流中,以实现直播数据的传输。
本实施例中,所述CDN分发网络传输程序被所述处理器12执行时可以实现以下步骤:
确定所述定位信息中最后一帧数据的数据长度,在所述音视频数据流中查找与所述数据长度匹配的数据帧的位置;将查找得到的数据帧的标识数据与所述定位信息中的标识数据进行比对;当所述标识数据与所述定位数据中的标识数据比对一致时,按照摘要数据对所述数据帧以及所述定位信息进行比对;当摘要数据比对一致时,则将拉取到的所述定位信息合并到所述音视频数据流中,以实现直播数据流的传输。
本实施例中,所述CDN分发网络传输程序被所述处理器12执行时还可以实现以下步骤:
在所述对拉取到的所述定位信息合并到所述音视频数据流中,以实现直播数据流的传输之前,当拉取的所述音视频数据流的信息多于拉取的所述定位信息的信息时,按照所述定位信息中每一帧的数据长度丢数据;当拉取的所述音视频数据流的信息少于拉取的所述定位信息的信息时,将对应段的数据丢弃。
本申请将整个CDN网络分为多个较小的区域,每一个区域对应一个源站,该源站只会影响源站所在区域内部的网络,不会影响其他区域,避免了一个源站出现状况导致全网均不能使用的问题。另外,本申请构建了边缘节点与源站两层网络架构,去除了中间的区域节点,边缘节点仅从源站拉取定位信息即可,不需要从源站拉取音视频数据流,而定位信息的数据量要远小于音视频数据流的数据量,因此,本申请大大减少了CDN内部网络带宽的消耗。
在本实施例中,CDN分发网络传输装置1可以是PC(Personal Computer,个人电脑),也可以是智能手机、平板电脑、掌上电脑、便携计算机、智能路由器、矿机、网络存储设备终端设备。
该CDN分发网络传输装置1可以是组成CDN网络的节点。
其中,存储器11至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、磁性存储器、磁盘、光盘等。存储器11在一些实施例中可以是CDN分发网络传输装置1的内部存储单元,例如该CDN分发网络传输装置1的硬盘。存储器11在另一些实施例中也可以是CDN分发网络传输装置1的外部存储设备,例如CDN分发网络传输装置1上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器11还可以既包括CDN分发网络传输装置1的内部存储单元也包括外部存储设备。存储器11不仅可以用于存储安装于CDN分发网络传输装置1的应用软件及各类数据,例如CDN分发网络传输程序01的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
处理器12在一些实施例中可以是一中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器或其他数据处理芯片,用于运行存储器11中存储的程序代码或处理数据,例如执行CDN分发网络传输程序01等。
该总线13可以是外设部件互连标准(peripheral component interconnect,简称PCI)总线或扩展工业标准结构(extended industry standard architecture,简称EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图4中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
进一步地,CDN分发网络传输装置1还可以包括网络接口14,网络接口14可选的可以包括有线接口和/或无线接口(如WI-FI接口、蓝牙接口等),通常用于在该装置1与其他电子设备之间建立通信连接。
可选地,该装置1还可以包括用户接口,用户接口可以包括显示器(Display)、输入单元比如键盘(Keyboard),可选的用户接口还可以包括标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在CDN分发网络传输装置1中处理的信息以及用于显示可视化的用户界面。
图4仅示出了具有组件11-13的CDN分发网络传输装置1,本领域技术人员可以理解的是,图4示出的结构并不构成对CDN分发网络传输装置1的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
本申请将整个CDN网络分为多个较小的区域,每一个区域对应一个源站,该源站只会影响源站所在区域内部的网络,不会影响其他区域,避免了一个源站出现状况导致全网均不能使用的问题。另外,本申请构建了边缘节点与源站两层网络架构,去除了中间的区域节点,边缘节点仅从源站拉取定位信息即可,不需要从源站拉取音视频数据流,而定位信息的数据量要远小于音视频数据流的数据量,因此,本申请大大减少了CDN内部网络带宽的消耗。
本申请还公开了一种CDN分发网络传输系统,包括边缘节点以及源站,所述CDN分发网络分为多个区域,每一个区域对应一个源站,所述边缘节点直接与所述源站建立通信连接;
所述边缘节点用于从第三方服务器拉取音视频数据流;从所述源站拉取定位信息,所述定位信息为所述源站从所述第三方服务器拉取音视频数据流后生成的、用于对音视频数据流进行对齐的数据;将拉取到的所述定位信息合并到所述音视频数据流中,以实现直播数据的传输。
本实施例中边缘节点以及源站的具体实施可以参照上述实施例以及现有技术,在此不再赘述。
本申请将整个CDN网络分为多个较小的区域,每一个区域对应一个源站,该源站只会影响源站所在区域内部的网络,不会影响其他区域,避免了一个源站出现状况导致全网均不能使用的问题。另外,本申请构建了边缘节点与源站两层网络架构,去除了中间的区域节点,边缘节点仅从源站拉取定位信息即可,不需要从源站拉取音视频数据流,而定位信息的数据量要远小于音视频数据流的数据量,因此,本申请大大减少了CDN内部网络带宽的消耗。
本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有CDN分发网络传输程序,所述CDN分发网络传输程序可被一个或者多个处理器执行,以实现以下步骤:
从第三方服务器拉取音视频数据流;从所述源站拉取定位信息,所述定位信息为所述源站从所述第三方服务器拉取音视频数据流后生成的、用于对音视频数据流进行对齐的数据;将拉取到的所述定位信息合并到所述音视频数据流中,以实现直播数据的传输。
本实施例中,所述CDN分发网络传输程序可被一个或者多个处理器执行,可以实现以下步骤:
确定所述定位信息中最后一帧数据的数据长度,在所述音视频数据流中查找与所述数据长度匹配的数据帧的位置;将查找得到的数据帧的标识数据与所述定位信息中的标识数据进行比对;当所述标识数据与所述定位数据中的标识数据比对一致时,按照摘要数据对所述数据帧以及所述定位信息进行比对;当摘要数据比对一致时,则将拉取到的所述定位信息合并到所述音视频数据流中,以实现直播数据流的传输。
本实施例中,所述CDN分发网络传输程序可被一个或者多个处理器执行,还可以实现以下步骤:
在所述对拉取到的所述定位信息合并到所述音视频数据流中,以实现直播数据流的传输之前,当拉取的所述音视频数据流的信息多于拉取的所述定位信息的信息时,按照所述定位信息中每一帧的数据长度丢数据;当拉取的所述音视频数据流的信息少于拉取的所述定位信息的信息时,将对应段的数据丢弃。
此外,本申请还提供了一种计算机程序产品,包括计算机指令,当其在计算机上运行时,使得计算机可以执行上述任一种所述的CDN分发网络传输方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。
所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
综上,本申请将整个CDN网络分为多个较小的区域,每一个区域对应一个源站,该源站只会影响源站所在区域内部的网络,不会影响其他区域,避免了一个源站出现状况导致全网均不能使用的问题。另外,本申请构建了边缘节点与源站两层网络架构,去除了中间的区域节点,边缘节点仅从源站拉取定位信息即可,不需要从源站拉取音视频数据流,而定位信息的数据量要远小于音视频数据流的数据量,因此,本申请大大减少了CDN内部网络带宽的消耗。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是,上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。并且本文中的术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (8)
1.一种CDN分发网络传输方法,其特征在于,应用于边缘节点,所述CDN分发网络分为多个区域,每一个区域对应一个源站,所述边缘节点直接与所述源站建立通信连接,所述方法包括:
从第三方服务器拉取音视频数据流;
从所述源站拉取定位信息,所述定位信息为所述源站从所述第三方服务器拉取音视频数据流后生成的、用于对音视频数据流进行对齐的数据;
将拉取到的所述定位信息合并到所述音视频数据流中,以实现直播数据的传输;
所述将拉取到的所述定位信息合并到所述音视频数据流中,以实现直播数据的传输包括:
确定所述定位信息中最后一帧数据的数据长度,在所述音视频数据流中查找与所述数据长度匹配的数据帧的位置;
将查找得到的数据帧的标识数据与所述定位信息中的标识数据进行比对;
当所述标识数据与所述定位数据中的标识数据比对一致时,按照摘要数据对所述数据帧以及所述定位信息进行比对;
当摘要数据比对一致时,则将拉取到的所述定位信息合并到所述音视频数据流中,以实现直播数据流的传输。
2.如权利要求1所述的CDN分发网络传输方法,其特征在于,所述定位信息中至少包括:对原始数据进行摘要提取后得到的摘要数据、每一帧的数据长度、每一帧的标识数据。
3.如权利要求2所述的CDN分发网络传输方法,其特征在于,所述摘要数据为MD5数据,所述每一帧的标识数据为每一帧末尾N个字节的数据,N为正整数。
4.如权利要求3所述的CDN分发网络传输方法,其特征在于,在所述将拉取到的所述定位信息合并到所述音视频数据流中,以实现直播数据流的传输之前还包括:
当拉取的所述音视频数据流的信息多于拉取的所述定位信息的信息时,按照所述定位信息中每一帧的数据长度丢数据;
当拉取的所述音视频数据流的信息少于拉取的所述定位信息的信息时,将对应段的数据丢弃。
5.一种CDN分发网络传输装置,其特征在于,应用于CDN分发网络的边缘节点,所述CDN分发网络分为多个区域,每一个区域对应一个源站,所述边缘节点直接与所述源站建立通信连接,所述装置包括:存储器和处理器,所述存储器上存储有可在所述处理器上运行的CDN分发网络传输程序,所述CDN分发网络传输程序被所述处理器执行时实现如权利要求1-4任一项所述的方法。
6.根据权利要求5所述的CDN分发网络传输装置,其特征在于,所述装置为组成CDN网络的节点。
7.一种CDN分发网络传输系统,其特征在于,包括边缘节点以及源站,所述CDN分发网络分为多个区域,每一个区域对应一个源站,所述边缘节点直接与所述源站建立通信连接;
所述边缘节点用于从第三方服务器拉取音视频数据流;从所述源站拉取定位信息,所述定位信息为所述源站从所述第三方服务器拉取音视频数据流后生成的、用于对音视频数据流进行对齐的数据;将拉取到的所述定位信息合并到所述音视频数据流中,以实现直播数据的传输;
所述将拉取到的所述定位信息合并到所述音视频数据流中,以实现直播数据的传输包括:
确定所述定位信息中最后一帧数据的数据长度,在所述音视频数据流中查找与所述数据长度匹配的数据帧的位置;
将查找得到的数据帧的标识数据与所述定位信息中的标识数据进行比对;
当所述标识数据与所述定位数据中的标识数据比对一致时,按照摘要数据对所述数据帧以及所述定位信息进行比对;
当摘要数据比对一致时,则将拉取到的所述定位信息合并到所述音视频数据流中,以实现直播数据流的传输。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有CDN分发网络传输程序,所述CDN分发网络传输程序可被一个或者多个处理器执行,以实现如权利要求1至4中任一项所述的CDN分发网络传输方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811339529.0A CN109525578B (zh) | 2018-11-12 | 2018-11-12 | 一种cdn分发网络传输方法、装置、系统以及存储介质 |
PCT/CN2019/094681 WO2020098294A1 (zh) | 2018-11-12 | 2019-07-04 | 一种基于cdn的数据传输方法、装置、系统以及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811339529.0A CN109525578B (zh) | 2018-11-12 | 2018-11-12 | 一种cdn分发网络传输方法、装置、系统以及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109525578A CN109525578A (zh) | 2019-03-26 |
CN109525578B true CN109525578B (zh) | 2020-10-13 |
Family
ID=65773924
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811339529.0A Active CN109525578B (zh) | 2018-11-12 | 2018-11-12 | 一种cdn分发网络传输方法、装置、系统以及存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN109525578B (zh) |
WO (1) | WO2020098294A1 (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109525578B (zh) * | 2018-11-12 | 2020-10-13 | 深圳市网心科技有限公司 | 一种cdn分发网络传输方法、装置、系统以及存储介质 |
CN110139119B (zh) * | 2019-05-20 | 2020-08-04 | 湖南康通电子股份有限公司 | 数字广播系统的p2p音频直播分发方法、装置及存储介质 |
CN110188006B (zh) * | 2019-06-03 | 2022-04-29 | 深圳市网心科技有限公司 | 一种数据维护方法、装置及设备 |
CN111510737B (zh) * | 2020-04-26 | 2022-03-22 | 广州虎牙科技有限公司 | 一种视频数据的传输方法、装置、设备和存储介质 |
CN113824751A (zh) * | 2020-06-19 | 2021-12-21 | 网宿科技股份有限公司 | 一种传输数据的方法和数据传输系统 |
CN113839982B (zh) * | 2020-06-24 | 2023-03-21 | 北京金山云网络技术有限公司 | 调度方法、装置、调度服务器、边缘服务器及调度系统 |
CN112202833B (zh) * | 2020-08-26 | 2023-05-23 | 网宿科技股份有限公司 | Cdn系统、请求处理方法以及调度服务器 |
CN113078984B (zh) * | 2021-03-22 | 2022-07-29 | 广州南方卫星导航仪器有限公司 | 一种rtk电台数据帧处理方法、装置、基站电台及存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106961616A (zh) * | 2017-03-06 | 2017-07-18 | 中山大学 | 一种多cdn辅助的多层云的直播分发系统 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11057446B2 (en) * | 2015-05-14 | 2021-07-06 | Bright Data Ltd. | System and method for streaming content from multiple servers |
CN105187848B (zh) * | 2015-08-18 | 2018-06-29 | 浪潮软件集团有限公司 | 一种内容分发网络系统及方法 |
CN105338368B (zh) * | 2015-11-02 | 2019-03-15 | 腾讯科技(北京)有限公司 | 一种视频的直播流转点播数据的方法、装置及系统 |
CN105405325B (zh) * | 2015-12-22 | 2017-04-26 | 深圳市鹰硕技术有限公司 | 一种网络教学方法及系统 |
CN105516739B (zh) * | 2015-12-22 | 2020-05-05 | 腾讯科技(深圳)有限公司 | 一种视频直播方法、转码服务器、网页客户端及系统 |
US10397620B2 (en) * | 2016-06-30 | 2019-08-27 | SnifferCat, Inc. | Systems and methods for dynamic stitching of advertisements in live stream content |
EP3393129A1 (en) * | 2017-04-21 | 2018-10-24 | Alcatel-Lucent España, S.A. | Multimedia content delivery with reduced delay |
CN107948684A (zh) * | 2017-11-20 | 2018-04-20 | 广州虎牙信息科技有限公司 | 直播间视频播放控制方法、装置及服务器 |
CN108600859B (zh) * | 2018-03-30 | 2020-10-20 | 深圳市网心科技有限公司 | 一种数据切片方法及系统 |
CN109525578B (zh) * | 2018-11-12 | 2020-10-13 | 深圳市网心科技有限公司 | 一种cdn分发网络传输方法、装置、系统以及存储介质 |
-
2018
- 2018-11-12 CN CN201811339529.0A patent/CN109525578B/zh active Active
-
2019
- 2019-07-04 WO PCT/CN2019/094681 patent/WO2020098294A1/zh active Application Filing
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106961616A (zh) * | 2017-03-06 | 2017-07-18 | 中山大学 | 一种多cdn辅助的多层云的直播分发系统 |
Also Published As
Publication number | Publication date |
---|---|
CN109525578A (zh) | 2019-03-26 |
WO2020098294A1 (zh) | 2020-05-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109525578B (zh) | 一种cdn分发网络传输方法、装置、系统以及存储介质 | |
CN109618174B (zh) | 一种直播数据传输方法、装置、系统以及存储介质 | |
JP2018148577A (ja) | ダウンローディング及びストリーミングをサポートするパケットの送信装置 | |
US11310066B2 (en) | Method and apparatus for pushing information | |
CN109729386B (zh) | 一种视频文件启播方法、系统及电子设备和存储介质 | |
WO2021103363A1 (zh) | 弹幕呈现方法和系统 | |
CN104580454A (zh) | 一种数据同步方法、装置及系统 | |
CN110620681B (zh) | 网络连接超时时间设置方法、装置、设备及介质 | |
CN109151505B (zh) | 一种视频转码方法、系统、装置及计算机可读存储介质 | |
EP3866481A1 (en) | Audio/video switching method and apparatus, and computer device and readable storage medium | |
WO2021103366A1 (zh) | 基于微信小程序的弹幕处理方法和系统 | |
WO2023005163A1 (zh) | 应用页面的加载方法、存储介质、及其相关设备 | |
CN104579970B (zh) | 一种IPv6报文的策略匹配装置 | |
US11991420B2 (en) | Live commenting processing method and system | |
CN113132267B (zh) | 一种分布式系统、数据聚合方法和计算机可读存储介质 | |
EP3040877A1 (en) | Method and system for processing associated content | |
CN111224831A (zh) | 用于生成话单的方法和系统 | |
CN114222086B (zh) | 音视频码流的调度方法、系统、介质及电子装置 | |
CN109600423B (zh) | 数据同步方法、装置、电子设备及存储介质 | |
CN103138871B (zh) | 移动通讯系统中应用程序的服务器数据处理系统和方法 | |
CN108282418B (zh) | 媒体流量分配方法及装置 | |
CN108460044B (zh) | 数据的处理方法和装置 | |
CN110990360A (zh) | 基于网络存储设备的文件同步方法及相关组件 | |
CN115865895A (zh) | 一种文件上传方法、装置及存储介质 | |
CN113824689B (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 |