CN117014636B - 音视频网络的数据流调度方法、存储介质和电子装置 - Google Patents
音视频网络的数据流调度方法、存储介质和电子装置 Download PDFInfo
- Publication number
- CN117014636B CN117014636B CN202311281740.2A CN202311281740A CN117014636B CN 117014636 B CN117014636 B CN 117014636B CN 202311281740 A CN202311281740 A CN 202311281740A CN 117014636 B CN117014636 B CN 117014636B
- Authority
- CN
- China
- Prior art keywords
- node
- path
- edge
- data
- tree
- 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
- 238000000034 method Methods 0.000 title claims abstract description 52
- 230000005540 biological transmission Effects 0.000 claims description 23
- 238000004590 computer program Methods 0.000 claims description 16
- 238000001514 detection method Methods 0.000 claims description 14
- 238000013507 mapping Methods 0.000 claims description 11
- 239000000523 sample Substances 0.000 claims description 4
- 238000005516 engineering process Methods 0.000 abstract description 6
- 230000000694 effects Effects 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 14
- 238000007726 management method Methods 0.000 description 13
- 238000013439 planning Methods 0.000 description 13
- 230000008569 process Effects 0.000 description 7
- 230000008447 perception Effects 0.000 description 6
- 238000003491 array Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000002093 peripheral effect Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 238000012423 maintenance Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000004806 packaging method and process Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000012384 transportation and delivery Methods 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
Classifications
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/48—Routing tree calculation
-
- 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/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/21—Server components or server architectures
- H04N21/222—Secondary servers, e.g. proxy server, cable television Head-end
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Databases & Information Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例提供了一种音视频网络的数据流调度方法、存储介质和电子装置,通过根据音视频网络的网络拓扑数据构建各边缘节点间的树状路径;将树状路径按源节点解耦至对应的边缘节点;各边缘节点根据树状路径对数据流进行调度。解决了相关技术中网状分发成本较高和控制侧管理和调度压力大的问题,达到了降低音视频网络数据流调度成本、减轻控制侧管理和调度压力的效果。
Description
技术领域
本发明实施例涉及通信领域,具体而言,涉及一种音视频网络的数据流调度方法、存储介质和电子装置。
背景技术
近年来,随着实时时钟(Real Time Clock,RTC)行业的发展,实时音视频传输网络(Real Time Network,RTN)和内容分发网络(Content Delivery Network,CDN)这两种技术的边界越来越模糊。RTN作为当下音视频网络的新形态,需要具备融合多种网络和多种场景的能力,继续朝着更大规模、更低时延、更低成本的方向演进。但是,针对CDN场景以及大规模低时延直播场景,RTN技术目前存在着如下的痛点:
一是,网状分发成本较高。常规的RTN***适用于网状路径或者点对点路径分发场景,但是在CDN这种大规模低时延直播场景下,如果每条路径都是从数据源节点到目标节点,网状分发的压力和级联成本都会极大增加,几乎无法满足业务需求。
二是,控制侧管理和调度压力大。常规的RTN***在控制侧进行全局管理和调度,而CDN场景的节点通常包含数量众多的流媒体实例,与RTN节点中的流媒体实例相比不是一个数量级,如果将转发实例统一到控制侧管理和调度,将会极大地增加控制侧管理和调度的压力。
所以,如何将CDN能力以及大规模低时延直播能力融入到RTN***中,降低网状分发成本和控制侧管理调度压力成了当下亟待解决的难题。
发明内容
本发明实施例提供了一种音视频网络的数据流调度方法、存储介质和电子装置,以至少解决相关技术中网状分发成本较高和控制侧管理和调度压力大的问题。
根据本发明的一个实施例,提供了一种音视频网络的数据流调度方法,包括:根据音视频网络的网络拓扑数据构建各边缘节点间的树状路径;将所述树状路径按源节点解耦至对应的所述边缘节点;各所述边缘节点根据所述树状路径对数据流进行调度。
根据本发明的又一个实施例,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
根据本发明的又一个实施例,还提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。
通过本发明,提供了一种音视频网络的数据流调度方法,通过根据音视频网络的网络拓扑数据构建各边缘节点间的树状路径;将树状路径按源节点解耦至对应的边缘节点;各边缘节点根据树状路径对数据流进行调度。解决了相关技术中网状分发成本较高和控制侧管理和调度压力大的问题,达到了降低音视频网络数据流调度成本、减轻控制侧管理和调度压力的效果。
附图说明
图1是本发明实施例的一种音视频网络的数据流调度方法的计算机终端的硬件结构框图;
图2是根据本发明实施例的音视频网络的数据流调度方法运行网络架构示意图;
图3是根据本发明实施例的音视频网络的数据流调度的流程图;
图4是根据本发明实施例的音视频网络的数据流调度装置的结构框图;
图5是根据本发明场景实施例的网络拓扑和数据示意图;
图6是根据本发明场景实施例的动态规划节点级树状路径示例图;
图7是根据本发明场景实施例的路径协议示意图;
图8是根据本发明场景实施例的负载均衡树状分发原理示意图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明的实施例。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
本申请实施例中所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在计算机终端上为例,图1是本发明实施例的一种音视频网络的数据流调度方法的计算机终端的硬件结构框图。如图1所示,计算机终端可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器104,其中,上述计算机终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述计算机终端的结构造成限定。例如,计算机终端还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的音视频网络的数据流调度方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输设备106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端的通信供应商提供的无线网络。在一个实例中,传输设备106包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输设备106可以为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
图2是根据本发明实施例的音视频网络的数据流调度方法运行网络架构示意图,本申请实施例可以运行于图2所示的网络架构上,如图2所示,该网络架构包括:控制中心和边缘节点,其中,控制中心位于RTN***中心云的逻辑节点,包含网络感知、路径规划等网元模块。网络感知:负责边缘节点、网络拓扑、网络探测等数据的管理与同步。路径规划:负责根据实时网络拓扑和探测数据动态规划树状路径,并按源节点解耦同步到边缘节点。边缘节点位于RTN***边缘云的逻辑节点,包含网络探测、边缘代理、实例调度、流媒体实例等网元模块。其中,网络探测:负责根据网络感知下发的探测请求,向相邻节点进行网络探测。边缘代理:一是负责接收网络感知同步的身份标识(Identity Document,ID)和互联网协议(Internet Protocol,IP)映射数据,提供查询机制;二是负责接收路径规划同步的树状路径,并维护边缘路径,提供查询机制。实例调度:一是通过保活接口检测流媒体实例的状态;二是提供负载均衡选路功能;三是检测到流媒体实例异常后能够进行自动切换。流媒体实例:负责对业务数据流进行传输,通过向边缘代理获取传输路径和映射关系,封装路径头,解析路径头,按照最优路径进行树状分发。
在本实施例中提供了一种运行于上述计算机终端或网络架构的音视频网络的数据流调度方法,图3是根据本发明实施例的音视频网络的数据流调度的流程图,如图3所示,该流程包括如下步骤:
步骤S302,根据音视频网络的网络拓扑数据构建各边缘节点间的树状路径;
在一个示例性实施例中,根据音视频网络的网络拓扑数据构建各边缘节点间的树状路径,包括:获取音视频网络的网络拓扑数据,根据各边缘节点的网络探测数据对网络拓扑数据进行量化;根据量化后的网络拓扑数据构建各边缘节点间的树状路径。
在一个示例性实施例中,网络探测数据至少包括以下之一:各边缘节点的网络丢包率;各边缘节点的时延数据;各边缘节点的带宽数据。
在实际实施过程中,控制中心的网络感知功能模块可以按照实时网络拓扑情况,向各边缘节点的网络探测模块发起数据探测请求,驱动各边缘节点与相邻节点进行网络探测,采集各节点间的网络丢包率、时延、带宽等数据,并立即将这些数据同步到路径规划。网络探测周期可设定为秒级探测,以便实时感知网络变化。
步骤S304,将树状路径按源节点解耦至对应的边缘节点;
在一个示例性实施例中,将树状路径按源节点解耦至对应的边缘节点,包括:以嵌套数组的形式,将树状路径按源节点解耦至与树状路径的根节点相同的边缘节点。
在实际实施过程中,路径规划在动态规划好以各节点为源头达到其他节点的树状路径之后,会实时按照源节点解耦树状路径,将树状路径同步下沉到与树状路径根节点相同的边缘节点的边缘代理模块,完成树状路径数据从中心到边缘的解耦。按源节点解耦阶段的树状路径可通过嵌套数组的形式来表达:***数组的元素表示一条路径信息,整体表示源节点到其他节点的所有路径信息;内层数组的元素表示一个节点信息,整体按照元素先后顺序表示一条路径信息。
在一个示例性实施例中,在将树状路径按源节点解耦至对应的边缘节点之后,方法还包括:各边缘节点对树状路径进行存储和维护。
在一个示例性实施例中,各边缘节点对树状路径进行存储和维护,包括:各边缘节点通过目标节点映射表,对树状路径进行存储和维护。
在实际实施过程中,考虑到CDN和大规模低时延直播场景需要将数据分发到多个不同的目标节点,也考虑到原有RTN场景需要将数据传输到一个目标节点,既需要查询多个目标节点的树状路径,也需要兼容查询单一目标节点的单一路径,可以将单一路径进行存储和维护;并且,由于树状路径的源节点都是本节点,可以通过目标节点来区分不同的路径。所以,边缘代理维护树状路径阶段的树状路径可通过目标节点映射表的形式来表达。
步骤S306,各边缘节点根据树状路径对数据流进行调度。
在一个示例性实施例中,各边缘节点根据树状路径对数据流进行调度,包括:边缘节点中的源节点根据目标节点的传输请求,获取对应的树状路径,根据树状路径对数据流进行调度。
在一个示例性实施例中,源节点根据目标节点的传输请求,获取对应的树状路径,包括:在传输请求来自不同的边缘节点的情况下,源节点的流媒体实例根据源节点的身份标识ID与目标节点的ID获取对应的树状路径。
在一个示例性实施例中,源节点的流媒体实例根据源节点的身份标识ID与目标节点的ID获取对应的树状路径,包括:在目标节点的数量等于1的情况下,源节点获取一条路径信息;在目标节点的数量大于1的情况下,源节点获取多条路径信息,源节点将多条路径信息组合为树状路径,以分支嵌套数组的形式发送至路径信息中的各边缘节点。
在实际实施过程中,在源节点和目标节点是不同节点的情况下,又根据是否为CDN或大规模低时延直播场景,区分是单一目标节点还是多个目标节点获取同一源节点的数据流,规则如下:单一目标节点:边缘代理直接返回单条路径信息。多个目标节点:边缘代理将多条路径信息组合为树状路径后返回,获取树状路径阶段的树状路径可通过分支嵌套数组的形式来表达:***数组的元素表示一条分支,整体表示树状路径的所有分支;内层数组的元素表示一个节点,整体表示第一个元素代表的节点将分发数据到后面元素的节点,即分支。
在一个示例性实施例中,边缘节点中的源节点根据目标节点的传输请求,获取对应的树状路径之后,方法还包括:源节点将树状路径封装在媒体包协议栈的路径头中。
在一个示例性实施例中,根据树状路径对数据流进行调度,包括:源节点解析路径头,以获取包含下一跳节点的IP地址的路径信息;源节点根据下一跳节点的数量,对待传输的数据包进行复制,并传输至下一跳节点;下一跳节点判断自身是否为目标节点,在是目标节点的情况下,结束对数据流的调度;在不是目标节点的情况下,按照解析路径头获取的所路径信息对数据流进行调度。
在实际实施过程中,对数据流进行调度时,对流媒体实例进行业务数据分发可结合实际的业务情况和流媒体实例情况,可以采用负载均衡的方式进行业务分发,以使得每个流媒体实例的业务承载均衡,保证业务传输效率。在实际实施过程中,业务分发的具体方式并不做限制,可根据实际情况进行调整,比如,预留出空白的流媒体实例,以应对突发的业务量需求等。
通过上述步骤,提供了一种音视频网络的数据流调度方法,通过根据音视频网络的网络拓扑数据构建各边缘节点间的树状路径;将树状路径按源节点解耦至对应的边缘节点;各边缘节点根据树状路径对数据流进行调度。解决了相关技术中网状分发成本较高和控制侧管理和调度压力大的问题,达到了降低音视频网络数据流调度成本、减轻控制侧管理和调度压力的效果。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
在本实施例中还提供了一种音视频网络的数据流调度装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图4是根据本发明实施例的音视频网络的数据流调度装置的结构框图,如图4所示,该调度装置40包括:路径构建模块410,用于根据音视频网络的网络拓扑数据构建各边缘节点间的树状路径;路径解耦模块420,用于将树状路径按源节点解耦至对应的边缘节点;数据调度模块430,用于根据树状路径对数据流进行调度。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
本发明的实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
在一个示例性实施例中,上述计算机可读存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
本发明的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
在一个示例性实施例中,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
本实施例中的具体示例可以参考上述实施例及示例性实施方式中所描述的示例,本实施例在此不再赘述。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
为了使得本领域的技术人员更好地理解本发明的技术方案,下面结合具体的场景实施例进行阐述。
场景实施例一
在本场景实施例中,结合图2所示的网络架构,对本发明提供的音视频网络的数据流调度方法的具体步骤进行展开说明。
步骤1 、数据管理与同步
在RTN***初始化、节点变更、网络拓扑变更等情况时,均需要做以下操作:首先在控制中心的网络感知模块配置节点和网络拓扑信息,然后将配置的数据同步到控制中心的路径规划模块和边缘节点的边缘代理模块。
1.1 、配置节点及网络拓扑
按照RTN节点的实际部署情况,在控制中心的网络感知的节点页面,配置各RTN节点的IP地址、统一资源***(Uniform Resource Locator,URL)等信息。上述信息配置好后,网络感知自动为各节点生成节点ID。按照RTN的实际网络连接情况,在网络感知的网络拓扑页面,配置各RTN节点的连接边信息,生成网络拓扑图。上述信息配置好后,网络感知自动生成网络拓扑表。
图5是根据本发明场景实施例的网络拓扑和数据示意图,如图5所示,为按照RTN***实际部署情况,网络感知配置的网络拓扑图和生成的数据。
1.2、 同步网络拓扑和节点映射信息
网络感知实时将网络拓扑数据同步到路径规划模块,实时将节点的IP和ID的映射数据同步到各边缘节点的边缘代理模块。
1.3、 同步网络探测数据
网络感知按照实时网络拓扑情况,向各边缘节点的网络探测模块发起数据探测请求,驱动各边缘节点与相邻节点进行网络探测,采集各节点间的网络丢包率、时延、带宽等数据,并立即将这些数据同步到路径规划。网络探测周期可设定为秒级探测,以便实时感知网络变化。
步骤2、 动态规划节点级树状路径
路径规划首先根据网络感知同步的网络拓扑数据构造网络拓扑图;然后根据网络探测数据量化网络拓扑;最后计算以各节点为源头达到其他节点的树状路径。路径规划每次收到网络感知同步更新的探测数据时,都会实时进行新一轮的计算和规划,动态生成节点级树状路径。
图6是根据本发明场景实施例的动态规划节点级树状路径示例图,如图6所示,为根据步骤1中的网络拓扑,实时规划生成的树状路径。
步骤3 、按源节点解耦路径
路径规划在动态规划好以各节点为源头达到其他节点的树状路径之后,会实时按照源节点解耦树状路径,将树状路径同步下沉到与树状路径根节点相同的边缘节点的边缘代理模块,完成树状路径数据从中心到边缘的解耦。按源节点解耦阶段的树状路径可通过嵌套数组的形式来表达:***数组的元素表示一条路径信息,整体表示源节点到其他节点的所有路径信息;内层数组的元素表示一个节点信息,整体按照元素先后顺序表示一条路径信息。
例如,根据步骤2中规划的树状路径,路径规划以嵌套数组的形式来表达,则按照源节点为1同步下沉到边缘节点1的边缘代理的路径信息为:
[ [1,2],[1,3],[1,4],[1,2,5],[1,2,6],[1,4,7],[1,4,8],[1,4,8,9] ]
按照源节点为2同步下沉到边缘节点2的边缘代理的路径信息为:
[ [2,1],[2,1,3],[2,1,4],[2,5],[2,6],[2,1,4,7],[2,5,9,8],[2,5,9] ]
步骤4、 维护边缘路径
边缘代理对树状路径数据进行存储和维护。考虑到CDN和大规模低时延直播场景需要将数据分发到多个不同的目标节点,也考虑到原有RTN场景需要将数据传输到一个目标节点,也就是说,既需要查询多个目标节点的树状路径,也需要兼容查询单一目标节点的单一路径,可以将单一路径进行存储和维护;并且,由于树状路径的源节点都是本节点,可以通过目标节点来区分不同的路径。所以,边缘代理维护树状路径阶段的树状路径可通过目标节点映射表的形式来表达:每条路径均使用map存储,key表示目标节点,value表示从源节点到该目标节点的完整路径,路径表达形式与步骤3的内层数组相同。
例如,根据步骤3中同步下沉的树状路径信息,边缘节点1的边缘代理按照目标节点映射表的形式来表达,则存储和维护的路径信息为:
<2,[1,2]>、<3,[1,3]>、<4,[1,4]>、<5,[1,2,5]>、<6,[1,2,6]>、<7,[1,4,7]>、<8,[1,4,8]>、<9,[1,4,8,9]>
步骤5 、获取树状路径
当有业务数据需要通过RTN***传输时,即源节点的流媒体实例接收到目标节点的流媒体实例的传输请求时,会先根据目标节点和实例来判断如何获取路径,规则如下:
1)同一个实例:不需要获取节点级路径,流媒体实例自身完成。
2)同一节点的不同实例:不需要获取节点级路径,节点内的流媒体实例间级联完成。
3)不同节点:需要获取节点级路径,源流媒体实例携带源节点ID和目标节点ID到本节点边缘代理获取路径。
进一步,在不同节点的情况下,又根据是否为CDN或大规模低时延直播场景,区分是单一目标节点还是多个目标节点获取同一源节点的数据流,规则如下:
单一目标节点:边缘代理直接返回单条路径信息,路径表达形式与步骤3的内层数组相同。
多个目标节点:边缘代理将多条路径信息组合为树状路径后返回,获取树状路径阶段的树状路径可通过分支嵌套数组的形式来表达:***数组的元素表示一条分支,整体表示树状路径的所有分支;内层数组的元素表示一个节点,整体表示第一个元素代表的节点将分发数据到后面元素的节点,即分支。
例如,根据步骤4中的边缘节点1中的边缘代理维护的路径信息,源节点为1,当RTN***需要将业务数据传输到目标节点5时,此时源节点的流媒体实例向本节点的边缘代理查询,获取到的路径信息为:[1,2,5]。当RTN***需要将业务数据传输到目标节点2、3、4、5、6、7、8、9时,此时源节点的流媒体实例向本节点的边缘代理查询,获取到的路径信息为:[[1,2,3,4],[2,5,6],[4,7,8],[8,9] ]。该分支嵌套数组表示当数据流到了节点1时,节点1需要将数据复制2份分发到节点2、3、4;当数据流到了节点2时,节点2需要将数据复制2份分发到节点5、6;以此类推。
步骤6 、封装树状路径信息
源节点的流媒体实例获取到树状路径后,需要将树状路径信息封装在媒体包协议栈的路径头里,定义路径头的格式和字段,图7是根据本发明场景实施例的路径协议示意图,如图7所示,其中,源和目的端口:源端口为本节点的发送端口,目的端口为目标节点的接收端口,中间节点的目的端口为固定值。长度:为路径头的长度。业务类型:用于标识是单个目标节点还是多个目标节点,从而采取不同的解析路径信息的方法。节点ID长度:00表示1字节,01表示2字节。路径信息:根据步骤5的路径表达形式来填写该字段,其中在树状路径情况下通过“0”标识来区分不同的分支。例如,步骤5中的树状路径在路径协议中可以表示为:123402560478089。
步骤7、 负载均衡树状分发
在本发明场景实施例中,对流媒体实例进行业务数据分发时,结合实际的业务情况和流媒体实例情况,可以采用负载均衡的方式进行业务分发,以使得每个流媒体实例的业务承载均衡,保证业务传输效率。在实际实施过程中,业务分发的具体方式并不做限制,可根据实际情况进行调整,比如,预留出空白的流媒体实例,以应对突发的业务量需求等。
图8是根据本发明场景实施例的负载均衡树状分发原理示意图,如图8所示,在本发明场景实施例中,对业务数据采用负载均衡方式进行树状分发,包括以下步骤:
7.1、 源节点的流媒体实例,根据步骤6约定的路径协议,解析路径头,获取到下一跳节点的ID列表和端口信息。
7.2、源节点的流媒体实例,携带各节点ID,向本节点的边缘代理进行查询,将下一跳的各节点ID映射为各节点IP地址。
7.3、源节点的流媒体实例,首先,在本节点将数据包进行复制,复制数量为下一跳需要传输的节点个数;然后,根据下一跳所有的节点IP地址和端口,分别将复制的数据包传输到下一跳所有的边缘节点,完成该树状路径分支的分发。
7.4、中间节点的实例调度模块,接收到业务数据流,通过负载均衡机制,在节点内选择可用的流媒体实例并进行数据传输。
7.5、中间节点的流媒体实例,接收到业务数据流,解析媒体包路径头,获取到路径信息,检索到“0”标识位,进而找到“0”标识位之后的第一个路径节点。判断该路径节点是否为本中间节点,如是,则需要进行分支分发,继续执行上述步骤7-1到步骤7-4;如不是,则继续遍历路径信息直到最后一个“0”标识位及其下一个路径节点,如果遍历结束还未找到本中间节点,则判断该中间节点为目标节点,结束分发。
例如,根据步骤6中获取到的路径信息,源节点1解析路径头获取到下一跳为节点2、3、4,在源节点将数据包复制为3份,分别传输到节点2、3、4;节点2解析路径头获取到下一跳为节点5、6,在本节点将数据包复制为2份,分别传输到节点5、6;节点3解析路径头发现本节点无下一跳,则结束分发;节点4解析路径头获取到下一跳为节点7、8,在本节点将数据包复制为2份,分别传输到节点7、8;以此类推。
综上,本发明实施例提供了一种音视频网络的数据流调度方法,解决了将CDN能力以及大规模低时延直播能力融入到RTN***的系列问题。其中,通过动态树状规划和分发,首先,控制侧动态规划树状路径;接着,将树状路径表达成嵌套数组的形式下发至各边缘节点;接着,将树状路径表达成目标节点映射表的形式进行存储;然后,将树状路径表达成分支嵌套数组的形式,封装进自定义的树状路径协议头;最后,当流媒体实例解析出路径头获取到树状路径分支,在本实例上进行数据复制,将数据流分发到下一跳不同节点。该方法利用对树状路径信息的管理和对边缘节点的复用,避免了全链路节点网状分发压力大和成本高的问题,能够支持CDN、大规模低时延直播、单发多收等场景。通过中心节点级调度和边缘实例级调度分发,首先,控制侧采集节点级数据并规划节点级树状路径;接着,按源节点解耦路径,下沉节点级路径至各边缘节点;接着,流媒体实例通过在本节点查询获取到路径;然后,流媒体实例通过在本节点查询将路径中下一跳节点ID映射为节点IP地址,传输到下一跳节点;最后,下一跳节点在节点内部负载均衡选择流媒体实例进行分发。该方法利用分层管理原理减少了***的复杂性,减少了控制侧和传输侧的信令交互,减轻了控制侧的实例级调度压力,也减轻了传输侧的边缘节点向控制侧获取路径的压力。
本发明实施例提供的音视频网络的数据流调度方法,适用于实时音视频相关产业,如CDN直播、云电脑、视频会议、视频物联、互动直播、扩展现实(Extended Reality,XR)等,也适用于需要对数据进行加速传输的业务,包括音视频、文本、图片等媒体和非媒体数据的加速传输。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (12)
1.一种音视频网络的数据流调度方法,其特征在于,包括:
根据音视频网络的网络拓扑数据构建各边缘节点间的树状路径,其中,所述树状路径为以每个所述边缘节点为源节点达到其他所述边缘节点的树状路径;
以嵌套数组的形式,将所述树状路径按源节点解耦至与所述树状路径的根节点相同的所述边缘节点;
各所述边缘节点根据所述树状路径对数据流进行调度。
2.根据权利要求1所述的方法,其特征在于,所述根据音视频网络的网络拓扑数据构建各边缘节点间的树状路径,包括:
获取所述音视频网络的所述网络拓扑数据,根据各所述边缘节点的网络探测数据对所述网络拓扑数据进行量化;
根据量化后的所述网络拓扑数据构建各所述边缘节点间的所述树状路径。
3.根据权利要求2所述的方法,其特征在于,其中,所述网络探测数据至少包括以下之一:
各所述边缘节点的网络丢包率;
各所述边缘节点的时延数据;
各所述边缘节点的带宽数据。
4.根据权利要求1所述的方法,其特征在于,在以嵌套数组的形式,将所述树状路径按源节点解耦至与所述树状路径的根节点相同的所述边缘节点之后,所述方法还包括:
各所述边缘节点对所述树状路径进行存储和维护。
5.根据权利要求4所述的方法,其特征在于,各所述边缘节点对所述树状路径进行存储和维护,包括:
各所述边缘节点通过目标节点映射表,对所述树状路径进行存储和维护。
6.根据权利要求1所述的方法,其特征在于,各所述边缘节点根据所述树状路径对数据流进行调度,包括:
所述边缘节点中的源节点根据目标节点的传输请求,获取对应的所述树状路径,根据所述树状路径对数据流进行调度。
7.根据权利要求6所述的方法,其特征在于,所述源节点根据目标节点的传输请求,获取对应的所述树状路径,包括:
在所述传输请求来自不同的所述边缘节点的情况下,所述源节点的流媒体实例根据所述源节点的身份标识ID与所述目标节点的ID获取对应的所述树状路径。
8.根据权利要求7所述的方法,其特征在于,所述源节点的流媒体实例根据所述源节点的身份标识ID与所述目标节点的ID获取对应的所述树状路径,包括:
在所述目标节点的数量等于1的情况下,所述源节点获取一条路径信息;
在所述目标节点的数量大于1的情况下,所述源节点获取多条所述路径信息,所述源节点将多条所述路径信息组合为树状路径,以分支嵌套数组的形式发送至所述路径信息中的各所述边缘节点。
9.根据权利要求6所述的方法,其特征在于,所述边缘节点中的源节点根据目标节点的传输请求,获取对应的所述树状路径之后,所述方法还包括:
所述源节点将所述树状路径封装在媒体包协议栈的路径头中。
10.根据权利要求9所述的方法,其特征在于,根据所述树状路径对数据流进行调度,包括:
所述源节点解析所述路径头,以获取包含下一跳节点的IP地址的路径信息;
所述源节点根据所述下一跳节点的数量,对待传输的数据包进行复制,并传输至所述下一跳节点;
所述下一跳节点判断自身是否为目标节点,在是目标节点的情况下,结束对数据流的调度;在不是目标节点的情况下,按照解析所述路径头获取的所述路径信息对所述数据流进行调度。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被处理器执行时实现所述权利要求1至10任一项中所述的方法。
12.一种电子装置,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现所述权利要求1至10任一项中所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311281740.2A CN117014636B (zh) | 2023-10-07 | 2023-10-07 | 音视频网络的数据流调度方法、存储介质和电子装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311281740.2A CN117014636B (zh) | 2023-10-07 | 2023-10-07 | 音视频网络的数据流调度方法、存储介质和电子装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117014636A CN117014636A (zh) | 2023-11-07 |
CN117014636B true CN117014636B (zh) | 2024-03-19 |
Family
ID=88565762
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311281740.2A Active CN117014636B (zh) | 2023-10-07 | 2023-10-07 | 音视频网络的数据流调度方法、存储介质和电子装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117014636B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114501161A (zh) * | 2022-04-11 | 2022-05-13 | 中兴通讯股份有限公司 | 音视频***、接入方法、路由转发方法及可读存储介质 |
CN116233256A (zh) * | 2023-01-29 | 2023-06-06 | 浪潮通信技术有限公司 | 调度路径配置方法、装置、设备及存储介质 |
CN116232977A (zh) * | 2023-01-12 | 2023-06-06 | 中国联合网络通信集团有限公司 | 一种基于链路和设备状态的网络负载均衡方法及装置 |
CN116668364A (zh) * | 2022-09-29 | 2023-08-29 | 中兴通讯股份有限公司 | 实时音视频网络的路由规划方法及装置 |
CN116800663A (zh) * | 2023-06-19 | 2023-09-22 | 贵州白山云科技股份有限公司 | 数据传输方法、数据传输装置、电子设备及存储介质 |
-
2023
- 2023-10-07 CN CN202311281740.2A patent/CN117014636B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114501161A (zh) * | 2022-04-11 | 2022-05-13 | 中兴通讯股份有限公司 | 音视频***、接入方法、路由转发方法及可读存储介质 |
CN116668364A (zh) * | 2022-09-29 | 2023-08-29 | 中兴通讯股份有限公司 | 实时音视频网络的路由规划方法及装置 |
CN116232977A (zh) * | 2023-01-12 | 2023-06-06 | 中国联合网络通信集团有限公司 | 一种基于链路和设备状态的网络负载均衡方法及装置 |
CN116233256A (zh) * | 2023-01-29 | 2023-06-06 | 浪潮通信技术有限公司 | 调度路径配置方法、装置、设备及存储介质 |
CN116800663A (zh) * | 2023-06-19 | 2023-09-22 | 贵州白山云科技股份有限公司 | 数据传输方法、数据传输装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN117014636A (zh) | 2023-11-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109600246B (zh) | 网络切片管理方法及其装置 | |
CN112751826B (zh) | 算力应用流量转发方法及装置 | |
CN103825975A (zh) | Cdn节点分配服务器及*** | |
Lin et al. | DTE-SDN: A dynamic traffic engineering engine for delay-sensitive transfer | |
CN114501469A (zh) | 一种配置网络切片的方法、装置和*** | |
CN112822115B (zh) | 一种基于插件式引擎的服务框架构建方法和*** | |
US20220345872A1 (en) | Method and system for controlling id identifier network mobility based on programmable switch | |
CN114222086B (zh) | 音视频码流的调度方法、***、介质及电子装置 | |
CN110740355A (zh) | 设备监测方法、装置、电子设备及存储介质 | |
CN109194914B (zh) | 一种设备信息的处理方法和装置 | |
CN113708869B (zh) | 配置端口状态的方法、装置及*** | |
CN117014636B (zh) | 音视频网络的数据流调度方法、存储介质和电子装置 | |
CN117118886A (zh) | 报文转发方法、头端设备、控制器、设备及存储介质 | |
CN112073212A (zh) | 参数配置方法、装置、终端设备和存储介质 | |
CN111737029A (zh) | 一种服务端、数据推送方法、数据推送*** | |
CN109040199A (zh) | 一种分发资源数据的方法、***及存储介质 | |
CN103973650B (zh) | 内容分发网络及在内容分发网络中进行内容管理的方法 | |
CN102986196B (zh) | 分布于通信结构上的节点利用具有多准则选择的拓扑服务器访问网络 | |
CN110474781B (zh) | 一种组播数据转发的方法及装置 | |
CN116938907B (zh) | 一种实时音视频传输网络的数据传输方法及*** | |
CN116132195B (zh) | 一种算力网络安全传输保障***及其方法 | |
CN110868317B (zh) | 设备监测方法、装置、电子设备及存储介质 | |
WO2024098816A1 (zh) | 一种数据传输处理方法、装置、存储介质及电子装置 | |
CN114900455B (zh) | 一种报文传输方法、***、设备及存储介质 | |
WO2024098815A1 (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 |