CN115996189A - 一种网络调度方法、系统及设备 - Google Patents
一种网络调度方法、系统及设备 Download PDFInfo
- Publication number
- CN115996189A CN115996189A CN202111644958.0A CN202111644958A CN115996189A CN 115996189 A CN115996189 A CN 115996189A CN 202111644958 A CN202111644958 A CN 202111644958A CN 115996189 A CN115996189 A CN 115996189A
- Authority
- CN
- China
- Prior art keywords
- network
- node
- cluster
- parameters
- nodes
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 54
- 238000004891 communication Methods 0.000 claims abstract description 47
- 238000005457 optimization Methods 0.000 claims abstract description 36
- 230000015654 memory Effects 0.000 claims description 26
- 238000012545 processing Methods 0.000 claims description 23
- 238000004590 computer program Methods 0.000 claims description 7
- 238000005192 partition Methods 0.000 claims description 6
- 238000000638 solvent extraction Methods 0.000 claims description 4
- 230000006870 function Effects 0.000 description 30
- 238000004364 calculation method Methods 0.000 description 17
- 238000013461 design Methods 0.000 description 17
- 238000010586 diagram Methods 0.000 description 14
- 230000005540 biological transmission Effects 0.000 description 12
- 230000001934 delay Effects 0.000 description 4
- 230000002452 interceptive effect Effects 0.000 description 3
- 239000007787 solid Substances 0.000 description 3
- 238000011144 upstream manufacturing Methods 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- 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
-
- 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/12—Shortest path evaluation
-
- 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/30—Routing of multiclass traffic
-
- 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/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W74/00—Wireless channel access
- H04W74/04—Scheduled access
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提供了一种网络调度方法,所述方法包括:获取业务的业务需求参数,根据所述业务需求参数确定在网络上的优化目标,再获取网络中多个网络运行参数,所述网络运行参数包括所述网络中两个节点之间的通信参数,然后根据所述优化目标和所述多个网络运行参数,从所述网络划分出至少一个簇,每一簇包括所述网络中的至少一个节点。通过根据网络运行参数自动对网络进行划分,避免了人为地依靠经验进行网络架构的优化,提升了网络架构优化的效率。
Description
技术领域
本申请涉及通信领域,特别涉及一种网络调度方法、系统及设备。
背景技术
云厂商在提供云视频服务时通常使用树型网络结构。即网络中包括一定数量的中心节点和边缘节点,其中,边缘节点的数量较中心节点的数量多一些。用户通过网络连接边缘节点,实现云视频服务的接入。由于边缘节点数量较多,且所有的边缘节点都需要频繁向中心节点进行拉流,以获取视频数据并向用户提供。因此,树型网络结构下中心节点的负荷压力大,容易导致中心节点所在的服务器崩溃的情况。此外,网络结构的调整需要人为地依靠经验进行。
因此,如何对云视频服务下的网络结构进行优化成为了亟待解决的问题。
发明内容
本申请提供了一种网络调度方法,该方法可以实时地优化网络结构。
本申请的第一方面提供了一种网络调度方法,该方法包括:获取业务的业务需求参数;根据该业务需求参数确定在网络上的优化目标;获取网络的架构以及网络中多个网络运行参数,该网络运行参数包括该网络中两个节点之间的通信参数和节点的网络运行参数;根据该优化目标和该多个网络运行参数,从该网络划分出至少一个簇,每一簇包括该网络中的至少一个节点。
通过获取网络运行参数,基于优化目标对网络架构进行实时的优化,自动地将网络划分为至少一个簇,其中,每个簇中包括多个节点。因此,避免了人为地依旧经验对网络架构进行优化,有效地提升了网络架构优化的效率。
在一些可能的设计中,该方法还包括:在该簇内确定两个节点之间的路由路径。在将网络划分为至少一个簇后,对同一簇内节点之间的路由路径进行优化,进一步地优化网络架构。
在一些可能的设计中,该方法还包括:在第一簇的第一节点和第二簇的第二节点之间确定路由路径。在将网络划分为至少一个簇后,对簇与簇之间的节点之间的路由路径进行优化,进一步地优化网络架构。
在一些可能的设计中,该业务需求参数包括下述的一种或多种:时延、流畅度、清晰度。
在一些可能的设计中,该方法还包括:提供第一配置接口,该配置接口用于获取用户输入的该业务需求参数。通过提供配置接口,获取用户输入的业务需求参数,从而准确地针对用户的需求进行簇的划分,保证网络优化的针对性。
在一些可能的设计中,该通信参数包括下述的一种或多种:时延、丢包率、抖动。
在一些可能的设计中,该方法还包括:获取该网络的多个历史网络运行参数,该优化目标、该多个网络运行参数和该历史网络运行参数用于在该网络中划分出该至少一个簇。通过获取网络的历史网络运行参数并用于划分该至少一个簇,提供了解决类似问题的大量数据,可以进一步提升优化的准确度。
在一些可能的设计中,该方法还包括:提供第二配置接口,该第二配置接口用于获取用户输入的约束条件,该优化目标、该约束条件和该多个网络运行参数用于在该网络中划分出该至少一个簇。通过提供另一配置接口,获取用户输入的约束条件,从而更好地针对用户的需求和约束进行簇的划分,保证网络优化的合理性。
本申请的第二方面提供了一种网络调度节点,该系统包括通信模块和处理模块:
该通信单元,用于获取业务的业务需求参数;
该处理单元,用于根据该业务需求参数确定在网络上的优化目标;
该通信模块,还用于获取该网络中多个网络运行参数,该网络运行参数包括该网络中两个节点之间的通信参数;根据该优化目标和该多个网络运行参数,从该网络划分出至少一个簇,每一簇包括该网络中的至少一个节点。
在一些可能的设计中,该处理模块,还用于在该簇内确定两个节点之间的路由路径。
在一些可能的设计中,该处理模块,还用于在第一簇的第一节点和第二簇的第二节点之间确定路由路径。
在一些可能的设计中,该业务需求参数包括下述的一种或多种:时延、流畅度、清晰度。
在一些可能的设计中,该通信模块,还用于提供第一配置接口,该配置接口用于获取用户输入的该业务需求参数。
在一些可能的设计中,该通信参数包括下述的一种或多种:时延、丢包率、抖动。
在一些可能的设计中,该通信模块,还用于获取该网络的多个历史网络运行参数,该优化目标、该多个网络运行参数和该历史网络运行参数用于在该网络中划分出该至少一个簇。
在一些可能的设计中,该通信模块,还用于提供第二配置接口,该第二配置接口用于获取用户输入的约束条件,该优化目标、该约束条件和该多个网络运行参数用于在该网络中划分出该至少一个簇。
本申请的第三方面提供了一种网络调度系统,该系统包括网络调度节点和网络节点,该网络调度节点用于执行如第一方面提供的方法。
本申请的第四方面提供了一种网络调度节点,包括处理器和存储器,该处理器用于执行该存储器中的指令,以使得该网络调度节点执行如第一方面或第一方面的任意可能的设计提供的方法。
本申请的第五方面提供了一种包含指令的计算机程序产品,当该指令被计算机设备集群运行时,使得该计算机设备集群执行如第一方面或第一方面的任意可能的设计提供的方法。
本申请的第六方面提供了一种计算机可读存储介质,包括计算机程序指令,用于执行如第一方面或第一方面的任意可能的设计提供的方法。
附图说明
为了更清楚地说明本申请实施例的技术方法,下面将对实施例中所需使用的附图作以简单地介绍。
图1是本申请涉及的一种传统的树型网络结构的示意图;
图2是本申请涉及的一种网络调度的架构图;
图3是本申请涉及的一种网络调度方法的流程图;
图4是本申请涉及的一种交互界面的示意图;
图5(a)是本申请涉及的一种簇划分的示意图;
图5(b)是本申请涉及的一种网络的架构图;
图5(c)是本申请涉及的又一种网络的架构图;
图6(a)是本申请涉及的一种边缘簇的架构图;
图6(b)是本申请涉及的另一种边缘簇的架构图;
图7是本申请涉及的一种网络调度节点的示意图;
图8是本申请涉及的一种网络调度节点的示意图;
图9是本申请涉及的一种网络调度节点集群的示意图;
图10是本申请涉及的又一种网络调度节点集群的示意图;
图11是本申请涉及的又一种网络调度节点集群的示意图。
具体实施方式
本申请实施例中的术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。
为了便于理解本申请实施例,首先,对本申请涉及的部分术语进行解释说明。
内容分发网络(content distribution network,CDN):由互联网内相互连接的数据处理设备组成的系统,它们之间互相配合把内容(尤其是大量的媒体内容)透传到最终用户。CDN是一种新型网络内容服务体系,其基于网际互连协议是(internet protocol,IP)网络而构建,基于内容访问与应用的效率要求、质量要求和内容秩序而提供内容的分发和服务。
树型结构(tree structure):一种网络结构,它是由n(n>=1)个有限节点组成一个具有层次关系的集合。在树形结构的网络中通常包括一定数量的源节点、中心节点和边缘节点,其中,各类节点的数量依次增多。源节点负责数据(例如媒体数据流)的录制和转码等;中心节点通常带宽大,网络稳定,负责数据的跨区域的调度转发;而边缘节点靠近用户侧,负责用户的就近接入。
数据回源(data retrieval):用户请求的数据没有在网络本地命中(内容未预先注入、内容还没有被本地缓存或内容已过期)时,网络需要先访问源节点获取内容后,再向用户提供服务。
拉流(pull stream):用户侧设备或者边缘节点从其他服务器拉取数据的过程。
图1示出了传统的树型网络结构,该树型网络结构至少包括两个中心节点C1和C2,以及四个边缘节点E1、E2、E3和E4。用户H为主播,用户H通过E1接入该网络。主播H开播后,视频数据上行流由距离主播H最近的边缘节点E1接入,随即该边缘节点E1会将该流向其对应的中心节点C1进行推送。
当有观众请求收看该主播时,会首先向距离观众最近的边缘节点进行请求,如果该边缘节点已存在该主播的流,则直接进行拉流和收看。若该节点没有流,则需要向该边缘节点对应的中心节点进行拉流请求。
用户1和用户2均是通过距离该两名用户最近的边缘节点E2接入该网络,在用户1和用户2均是首次接入的情况下,边缘节点E2中不存在主播H的直播数据流。因此需要向与边缘节点E2对应的中心节点C1进行拉流,以获取主播H的直播数据流。
用户3通过距离其最近的边缘节点E3接入该网络,用户4则是通过距离其最近的边缘节点E4接入该网络。在用户3和用户4也均是首次接入的情况下,边缘节点E3和E4中不存在主播H的直播数据流。因此,需要分别向与所述两个边缘节点所对应的中心节点C2进行拉流。
在中心节点C2中也不存在主播H的直播数据流的情况下,中心节点C2需要向C1进行拉流,以获取主播H的直播数据流。其中,C2将持续获取C1中主播H的直播数据流,直至用户3和4均停止获取主播H的直播数据流的请求。
需要说明的是,在上述C2持续获取C1中主播H的直播数据流的情况下,再有用户接入中心节点C2对应的边缘节点E3或E4,且请求获取主播H的直播数据流时,边缘节点E3或E4无需进行拉流的操作,即可获取主播H的直播数据流。
可以看到,在上述传统的树型网络结构下,如果用户接入的边缘节点没有提前缓存用户请求的数据流,那么边缘节点在接收到用户的请求后就需要向中心节点进行拉流。在这一情况下,随着接入用户的不断增加,边缘节点下行的带宽也要不断增加。相应的,带宽成本将急剧增大。此外,树型网络结构相对固定,数据流的获取只能是向上一级的节点进行请求,也即无法根据网络运行参数(如带宽、时延等)对网络结构进行优化。
因此,针对以上问题,本申请提出一种网络调度方法100,该方法通过采集网络的网络运行参数,基于业务类型对网络拓扑结构以及路由路径进行优化和调整。
图2提供了一种网络调度的架构图。所述架构图中至少包括网络调度节点200、两个中心节点C1和C2、四个边缘节点E1、E2、E3和E4以及若干用户。
中心节点或边缘节点通常是一个或多个网络调度节点(如服务器或服务器集群),用于执行数据读写请求的转发、数据的收发以及数据的编/解码等功能中的一项或多项。
不同的是,边缘节点还用于与用户层的设备进行数据传输。中心节点与边缘节点之间通常是一对多的对应关系,也即多个边缘节点均是与同一个中心节点进行通信。因此,中心节点的带宽,尤其是下行带宽相比于边缘节点更大。同时由于需要对多个边缘站点发出的数据获取请求进行响应,中心节点的计算能力或存储能力相比于边缘节点更强。例如,中心节点包括的CPU数量更多或者存储空间更大。
可选的,中心节点或边缘节点还可以是虚拟机或者容器。
用户层中包括多个用户对应的终端设备。终端设备是指具有数据传输、数据处理以及显示功能中的一项或多项能力的设备。例如,手机、电视、平板电脑、手提电脑或智能音箱等。
网络调度节点200用于采集多个网络运行参数,并根据所述网络运行参数对网络拓扑结构和路由路径进行调整和调度。其中,网络运行参数包括两部分,一部分是各节点的网络运行参数。例如,带宽(上行带宽和下行带宽)、中央处理(central processing unit,CPU)利用率、内存占用率等参数。另一部分是节点之间的通信参数。例如,节点之间的时延、节点之间的丢包率、节点之间的抖动等。
可选的,节点可以利用自带的检测装置获取网络运行参数。进一步地,通过数据传输的方式,将所述获取的网络运行参数发送至网络调度节点200。
可选的,网络调度节点200中用于采集多个网络运行参数的模块可以任意的分布在各个节点之中。例如,可以在每一节点中加入参数采集模块,用于采集网络运行参数。又例如,可以在部分节点中加入参数采集模块,用于采集网络运行参数。
可选的,网络调度节点200中用于根据所述网络运行参数对网络拓扑结构和路由路径进行调整和调度的模块可以基于云服务进行部署。例如,在获取到多个节点的网络运行参数后,远端的服务器或者服务器集群可以根据网络运行参数对网络拓扑结构和路由路径进行调整和调度。其中,服务器集群中各服务器可以不部署在同一机房内。
图3示出了一种网络调度方法100的流程图。
S101:网络调度节点200获取运行于网络上的的业务类型。
不同类型的业务的特征是不同的。例如,以在线教育类的视频业务为例,文化基础课通常要求低时延和高流畅度,而美术课在以上特征的基础上,对于画质的要求也比较高。角色扮演类线上娱乐游戏(如剧本推理游戏)对于画质要求不高,但是对于音频的流畅性有较高的要求。
综上所述,网络调度节点200用于接受用户发送的业务类型指示信息,所述业务类型指示信息用于指示运行于网络之上的业务类型。进一步地,网络调度节点200根据业务类型可以确定各类型业务的业务需求参数。业务需求参数包括低时延、高流畅度、高清晰度和高稳定性等。其中,高流畅度要求低丢包率和低抖动,高清晰度则是要求大带宽和低带宽占用情况。
可选的,上述业务类型指示信息中也可以包含各类型业务的业务需求参数。
可选的,用户的业务类型也可以由网络调度节点200根据该用户的历史记录来获得。
需要说明的是,一个网络可以用于运行一个或多个用户的业务。也即,部分网络可以单独的提供给某一用户作为专用网络,以保证业务运行的高稳定性等要求。同时,部分网络可以在带宽、网络、时延均能满足需求的情况下,也可以同时提供给多个用户共同使用。而无论是一个用户还是多个用户占用一个网络,对应的业务类型都可能是一种或者多种。
图4提供一种设置业务类型和业务需求参数的交互界面。该交互界面包括一级业务类型选择控件301、二级业务类型选择控件302和业务需求参数设置控件303。其中,一级业务类型包括直播视频业务、在线教育视频业务和会议视频业务等。而二级业务类型对应一级业务类型的分类。例如,直播视频业务对应的二级业务包括游戏直播和歌曲直播等;会议视频业务对应的二级业务包括政要会议和技术会议;在线教育视频业务对应的二级业务包括大班课、小班课和美术课等。
可选的,用户可以通过点击一级业务类型选择控件301展开其二级业务菜单,进而通过点击二级业务类型选择控件302选择其业务类型。需要说明的是,用户可以根据实际情况选择一个或多个业务类型。
进一步地,在选定了任一二级业务类型后,用户可以通过业务需求参数设置控件303对该类型业务的业务需求参数进行设置。其中,业务需求参数包括下述的一种或多种:时延、流畅度和清晰度等参数。
可选的,供用户选择的参数类型有高、中、低三个档次。以时延为例,三个档次的时延参数对应三种时延的范围。
可选的,用户设置业务需求参数的方式也可以是输入指定的数值或数值范围。
S103:网络调度节点200获取网络运行业务的业务特征参数。
根据在S101中获取的网络业务类型,可以确定各类型业务的业务特征参数。其中,业务特征参数包括业务地理分布、节点类型、节点分布以及节点运行时长分布。
业务地理分布是指业务覆盖的区域以及覆盖区域下的分布情况。例如,以视频直播业务为例,目前的直播业务可以覆盖全球大部分国家,而主播则主要集中在几个热门城市。又例如,对于视频会议类业务,主会场所在的地点相对固定,线上参会的其他人员的地点具有不确定性。在簇规划(cluster planning)以及路由计算(route calculation)时,可以将业务地理分布作为约束条件加入优化计算中,以提升业务核心功能的稳定性。例如,对于主播数量多的城市应为其规划较大的上行带宽,而视频会议的主会场则需要提供备份节点或者路由路径。
节点类型是指用于提供业务的节点的类型。节点的类型包括服务器、虚拟机和容器等。进一步地,节点类型还包括不同规格的服务器、虚拟机和容器等。具体地,以服务器为例,不同规格的服务器包含的处理器资源、存储资源和网络资源不完全相同。根据业务的特征不同,业务所需要的节点类型也不同。
节点分布是指边缘节点的分布,因为边缘节点具有用户接入的功能,因此边缘节点的分布情况也代表着用户的分布情况。相应地,与边缘节点对应的中心节点的分布情况也将受到影响。例如,在直播业务中,可以根据历史上观众的地域分布确定节点分布。进一步地,可以根据节点分布情况进行簇规划。
节点运行时长分布是指用户接入边缘节点并发送数据读写等请求的时长分布情况。具体地,当用户接入边缘节点后,边缘节点可以接收到用户的数据读写等请求,并根据请求进行拉流或者回源等操作。而不同的用户的接入时间是不完全相同的,因此可能出现部分边缘节点出于空闲状态的情况。将运行时长相近的节点规划在同一簇中可以提升节点中计算资源的利用率。
S105:网络调度节点200获取多个网络运行参数。
网络调度节点200可以通过部署在节点中的采集模块获取多个网络运行参数。网络运行参数包括两部分,一部分是各节点的网络运行参数。例如,带宽(上行带宽和下行带宽)、带宽利用率、CPU利用率、内存占用率等参数。另一部分是节点之间的参数。例如,节点之间的时延、节点之间的丢包率、节点之间的抖动等。
时延是指一个报文或分组从一个节点传送到另一个节点所需要的时间。它包括了发送时延、传播时延、处理时延和排队时延。也即,时延=发送时延+传播时延+处理时延+排队时延。一般,发送时延与传播时延是我们主要考虑的。对于报文长度较大的情况,发送时延是主要影响因素;报文长度较小的情况,传播时延是主要影响因素。
对于超低时延直播(low latency live,LLL)业务来说,通常要求时延小于800毫秒(millisecond,ms)。对于实时音视频通信(real time communication,RTC)业务来说,对于时延的要求更高,要求时延小于300ms。例如,具有实时语音通话功能的直播业务就属于RTC业务。
带宽是指单位时间能通过链路的数据量,以比特每秒(bit per second,bps)为单位,即每秒可传输之位数。
需要说明的是,网络运行参数的采集周期可以根据需要确定。
进一步地,在采集了上述的网络运行参数和业务特征参数后,可以将这两类参数存储至网络调度节点200中。
S107:网络调度节点200根据业务需求参数、网络运行参数进行簇规划。
首先,簇分为两种,一种是中心簇,另一种是边缘簇。其中,中心簇包括多个中心节点,而边缘簇包括至少一个中心节点和至少一个边缘节点。簇内的各个节点均可直接进行通信。也即,边缘簇内的任意两个边缘节点之间可以不通过中心节点进行通信。
其次,簇规划是指根据业务需求参数中的至少一项,以及多个网络运行参数,对网络内簇的数量以及每个簇包含的节点数量进行规划。
需要说明的是,中心簇和边缘簇存在交集,也即中心簇中的中心节点也是部分边缘簇的一部分。
图5(a)提供了一个包含两个中心节点和四个边缘节点的网络。其中,中心簇包括中心节点C1和C2。边缘簇1包括中心节点C1、边缘节点E1和E2,边缘簇2包括中心节点C2、边缘节点E3和E4。
其中,同一个簇内的节点之间都可以直接进行通信。但进行通信的前提是需要对簇内的每一个节点与另一节点之间的通信通道进行检测。例如,当边缘节点E1和E2之间的时延、丢包率和抖动等参数满足通信需求时,才可以允许E1和E2这两个节点进行通信。
可选的,同一簇内的节点之间通过有线线缆的方式进行连接。
根据业务类型确定的低时延、高流畅度和高清晰度等业务需求参数,可以确定每一簇内节点的数量以及分布情况。
图5(b)提供了一种包含多个节点的网络。以前述文化基础课为例,这类课程因为有老师和学生实时交互的需求,所以通常要求较低的时延(小于300ms)。假设老师接入的边缘节点为E1,其他学生接入的边缘节点为E2、E3和E4。并且假设各个节点之间的上/下行时延相同,如图所示,边缘簇1中的E1和E2到中心节点C1的时延均为50ms,E1和E2之间的时延为30ms。边缘簇2中E3和E4到中心节点C2的时延均为50ms,E3和E4之间的时延为30ms。中心簇中的两个中心节点C1和C2之间的时延为80ms。在图5(b)示出的网络中,在不考虑用户接入边缘节点产生的时延时,各个边缘节点之间经由中心节点的通信时延均小于要求的300ms。也即,老师和学生们可以顺利地进行交互。
当边缘节点E2与中心节点C1之间的通信时延出现较大的波动时,如图5(c)所示,中心节点C1与边缘节点E2之间的时延由50ms波动至500ms,边缘节点E1与边缘节点E2之间的时延也由30ms波动至350ms。那么在这一情况下E2经由C1获取或直接获取E1的数据流的时延将大于要求的300ms。然而边缘节点E2与中心节点C2之间的时延仅为50ms,也即边缘节点E2依次经由中心节点C2和C1获取边缘节点E1的数据流的时延为180ms,小于要求的300ms。因此,可以将边缘节点E2从边缘簇1中剔除,将节点E2加入边缘簇2中,以保证从边缘节点E2接入的用户的正常使用。
可选的,也可以根据历史数据中的簇规划情况,基于深度学习等神经网络算法进行簇规划。其中,历史数据包括历史网络运行参数、时延历史数据、站点故障历史数据和时延分布数据等。
以上介绍了一种以低时延为约束的簇规划,进一步地,可以根据流畅度、清晰度和稳定性等需求中的一种或多种形成约束。
可选的,可以根据需要在边缘簇中提供多个中心节点。例如在大型会议等对稳定性要求较高的业务场景下,可以在边缘簇中布置一个备份的中心节点,以保障在一个中心节点出现故障时,备份的中心节点可以用于提供服务。
进行簇规划的周期可以根据需要决定,例如,可以每隔一小时进行一次,或者当网络调度节点200检测到部分参数异常(如时延大幅度波动)时进行一次。
S109:网络调度节点200根据簇规划进行调度。
在进行了簇规划之后,在确定簇的数量或各个簇中节点数量有变化时,网络调度节点200通过将簇规划下发至各个节点中,根据该簇规划对网络中的节点进行划分。
S111:网络调度节点200根据业务需求参数、业务特征参数以及网络运行参数进行路由计算。
在S107中确定了网络包含的簇的数量和每一簇中包含的节点数量后,可以对每一簇内所有节点之间的路由路径进行计算。具体地,根据同一簇内的各个节点的带宽、各个节点之间的时延以及各个节点之间的丢包率和抖动等参数,基于最优化方法可以获得最优路由路径或者多个路由路径的优先级排序。
图6(a)示出了一个包含中心节点C2和边缘节点E2、E3和E4的边缘簇。接下来以低时延为优化目标,介绍一种最优路由的计算过程。
如图6(a)所示,边缘节点E2和E4之间的时延为80ms,而边缘节点E2和E3之间的时延为20ms,边缘节点E3和E4之间的时延为30ms,也即,在考虑时延这一因素的情况下,边缘节点E2通过E2-E3-E4这一路由路径进行数据传输的时延为50ms,小于E2通过E2-E4这一路由路径进行数据传输的时延。
类似的,还可以对边缘节点E3与中心节点C2之间的最优路由路径进行计算。进一步地,通过比较边缘节点E3和中心节点C2之间的三条路由路径(E3-C2、E3-E2-C2、E3-E4-C2),可以确定时延最短的路径是E3-E2-C2,而E3-E4-C2次之,最后是E3-C2。也即,可以对各个节点之间的路由路径进行排序。根据排序情况,可以为这两个节点之间最优路由路径出现故障时提供备份。例如,当边缘节点E2故障时,边缘节点E3无法经由E2向中心节点C2获取数据,可以选择经由边缘节点E3向中心节点C2获取数据。
因此,基于上述方法可以确定该边缘簇内各个节点之间的最优路由路径或路由路径优先级的排序。图6(b)所示出了该边缘簇中各个节点之间的最小时延路由路径。
进一步地,还可以根据多个业务需求参数进行路由计算。具体地,可以基于低时延、低高流畅度、高清晰度和低回源成本等参数中的两个或以上构建目标函数,基于最优化方法获得最优路由路径。其中,回源成本是指从边缘节点向中心节点进行拉流的带宽数据消耗带宽而产生的成本。
可选的,在根据多个参数构建目标函数时,可以通过为不同参数分配不同大小的权值来构建。其中,各个参数对应的权值的大小可以根据需要(如业务类型)确定。
可选的,在进行上述的优化时,还可以根据业务特征参数构建约束函数。具体地,可以根据业务地理分布针对不同的簇制定不同的目标函数。例如,直播视频业务中主播对于上行带宽的要求比较高,那么主播接入的边缘节点所在的边缘簇进行路由计算时,可以主要根据上行带宽和/或带宽占用率等参数构建目标函数。
同样,可以根据节点分布针对不同的簇制定不同的目标函数。例如,观看直播的用户接入的边缘簇的目标函数则可以基于下行带宽和延迟等参数构建目标函数。
可选的,还可以根据运行时长分布构建约束函数。例如,直播视频业务中部分用户的接入时长相对固定且较其他用户更长,那么这类接入时间更长的用户所对应的边缘节点的运行时长也就更长,因此在为这类用户确定接入的边缘节点时可以选择空闲时长满足用户需求的。
可选的,还可以根据业务需求参数构建约束函数。例如,可以约束各个节点之间的总时延不超过一个固定的数值(例如400ms)。也即,在保障时延的基础上,以回源成本最低和/或带宽占用率最低等构建目标函数。在这一可能的实现方式中,部分节点之间的路由路径的延时可能不是最低的,但是是在满足约束函数的情况下目标函数最大化的。
可选的,在S107中确定了网络包含的簇的数量和每一簇中包含的节点数量后,可以对不同簇内的节点之间的路由路径进行计算。例如,在包含至少三个中心节点的网络中,可以对其中的两个中心节点之间的路由路径进行计算,具体的计算方式可以参考前述的同一簇内的路由路径的计算方式。
以上提供了一些边缘簇之间的路由计算策略,相应地,对于包含三个及以上中心节点的中心簇亦可类似的进行路由计算,以实现路由路径的优化。
例如,在会议视频业务中,当网络中包含多个中心节点,且其中一个中心节点所在的边缘簇中包含的节点对应主会场或者主要发言人时。也即,绝大部分的数据传输都需要经过这一中心节点,因此可以构建一个约束函数,以保证经过路由计算获得的中心簇中各个中心节点之间的最优路径均经过这一中心节点。
需要说明的是,路由计算的执行频率可以不同于S107中的簇规划的频率。通常来说,路由计算的频率相较于簇规划可以更频繁。例如,可以每1-10分钟进行一次。
此外,S107和S109的执行没有固定的先后顺序。也即,S107可以现于S109执行,也可以后于S109执行。
以上示出了如何针对特定的业务类型或业务需求进行簇规划和路由计算,因此对于专用于特定业务的网络可以按照获得的最优路径进行数据传输。然而对于用于提供多种业务的网络,则首先需要重复以上的步骤,对每一业务类型对应的最优路由进行计算。其次,在执行业务时根据获取的业务类型选取对于该业务类型的最优路由,以实现利用一个网络为多个类型的业务提供服务。
S113:网络调度节点200根据计算的路由路径进行调度。
在计算得到了最优路由或者多条路由路径后,网络调度节点200通过将路由优化策略或路由路径下发至各个节点中,为各个节点之间的数据传输提供路由依据。
需要说明的是,上述步骤的执行顺序与业务接入不存在固定的先后顺序。具体地,对于支持的业务类型固定的网络而言,上述的部分步骤可以在业务接入之前执行。而对于支持的业务类型较多且不固定的网络而言,上述的部分步骤可以在业务接入时触发从而被执行。
本申请提供的网络调度方法100通过采集多个网络运行参数,实现了基于业务类型对网络拓扑结构以及路由路径进行实时优化调度,有效地避免了因节点故障或节点参数波动而带来的用户体验下降问题。进一步地,通过设置不同的目标函数,还可以有针对性地满足业务需要。例如,保障低时延、低回源成本等。此外,通过将计算得到的路由优化策略下发至各个节点中,又避免了人为的根据经验对路由路径进行调整,在保障节点间路由路径合理性的同时,还减少了运维的时间和成本。
本申请还提供一种网络调度节点200,如图7所示,包括通信模块202、存储模块204和处理模块206。
通信模块202,用于在S101中通过配置接口获取用户输入的业务类型,还用于在S103中获取业务特征参数。在S105中,网络的中多个网络运行参数也是由通信模块202获取的。通信模块202,还用于在S109中将簇规划方案下发至节点。同时,S113中将最优路由路径下发至节点的操作也是由通信模块202执行的。
可选的,通信模块202还用于在S111中通过另一配置接口获取用户输入的约束条件。
存储模块204,用于存储在S101中获取的业务类型,也用于存储在S103中获取的业务特征参数。在S105中获取的多个网络运行参数以及历史网络运行参数也将被存储至存储模块204。存储模块204,还用于存储S107中获取的簇规划方案和S111中获取的路由路径。
处理模块206,用于在S107中执行根据业务需求参数、网络运行参数进行簇规划的操作,还用于在S111中根据业务需求参数、业务特征参数以及网络运行参数进行路由计算的操作。具体地,在S111中,在至少一个簇内确定两个节点之间的路由路径,以及在第一簇的第一节点和第二簇的第二节点之间确定路由路径的操作均是由处理模块206执行的。
可选的,根据优化目标、多个网络运行参数和历史网络运行参数进行簇规划的操作也是由处理模块206执行的。
本申请还提供一种网络调度节点400。如图8所示,网络调度节点包括:总线402、处理器404、存储器406和通信接口408。处理器404、存储器406和通信接口408之间通过总线402通信。网络调度节点400可以是服务器或终端设备。应理解,本申请不限定网络调度节点400中的处理器、存储器的个数。
总线402可以是外设部件互连标准(peripheral component interconnect,PCI)总线或扩展工业标准结构(extended industry standard architecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图8中仅用一条线表示,但并不表示仅有一根总线或一种类型的总线。总线404可包括在网络调度节点400各个部件(例如,存储器406、处理器404、通信接口408)之间传送信息的通路。
处理器404可以包括中央处理器(central processing unit,CPU)、图形处理器(graphics processing unit,GPU)、微处理器(micro processor,MP)或者数字信号处理器(digital signal processor,DSP)等处理器中的任意一种或多种。
存储器406可以包括易失性存储器(volatile memory),例如随机存取存储器(random access memory,RAM)。处理器404还可以包括非易失性存储器(non-volatilememory),例如只读存储器(read-only memory,ROM),快闪存储器,机械硬盘(hard diskdrive,HDD)或固态硬盘(solid state drive,SSD)。存储器406中存储有可执行的程序代码,处理器404执行该可执行的程序代码以实现前述网络调度方法100。具体的,存储器406上存有网络调度系统用于执行网络调度方法100的指令。
通信接口403使用例如但不限于网络接口卡、收发器一类的收发模块,来实现网络调度节点400与其他设备或通信网络之间的通信。
本申请实施例还提供了一种网络调度节点集群。如图9所示,所述网络调度节点集群包括至少一个网络调度节点400。该网络调度节点集群中包括的网络调度节点可以全部是终端设备,也可以全部是云服务器,还可以部分是云服务器部分是终端设备。
在上述的三种关于网络调度节点集群的部署方式下,网络调度节点集群中的一个或多个网络调度节点400中的存储器406中可以存有相同的网络调度节点200用于执行网络调度方法100的指令。
在一些可能的实现方式中,该网络调度节点集群中的一个或多个网络调度节点400也可以用于执行网络调度方法100的部分指令。换言之,一个或多个网络调度节点400的组合可以共同执行网络调度节点200用于执行网络调度方法100的指令。
需要说明的是,网络调度节点集群中的不同的网络调度节点400中的存储器406可以存储不同的指令,用于执行网络调度方法100的部分功能。
图10示出了一种可能的实现方式。如图10所示,两个网络调度节点400A和400B通过通信接口408实现连接。网络调度节点400A中的存储器上存有用于执行通信模块202和处理模块206的功能的指令。网络调度节点400B中的存储器上存有用于执行存储单元204的功能的指令。换言之,网络调度节点400A和40B的存储器406共同存储了网络调度节点200用于执行网络调度方法100的指令。
图10所示的网络调度节点之间的连接方式可以是考虑到本申请提供的网络调度方法100需要大量存储网络运行参数。因此,考虑将存储功能交由网络调度节点400B执行。
应理解,图10中示出的网络调度节点400A的功能也可以由多个网络调度节点400完成。同样,网络调度节点400B的功能也可以由多个网络调度节点400完成。
在一些可能的实现方式中,网络调度节点中的一个或多个网络调度节点可以通过网络连接。其中,所述网络可以是广域网或局域网等等。图11示出了一种可能的实现方式。如图11所示,两个网络调度节点400C和400D之间通过网络进行连接。具体地,通过各个网络调度节点中的通信接口与所述网络进行连接。在这一类可能的实现方式中,网络调度节点400C中的存储器406中存有执行通信模块202的指令。同时,网络调度节点400D中的存储器406中存有执行存储模块204和处理模块206的指令。
图11所示的网络调度节点之间的连接方式可以是考虑到本申请提供的网络调度方法100需要大量存储网络运行参数和进行簇规划和路由路径计算,因此考虑将处理模块206和存储模块204实现的功能交由网络调度节点400D执行。
应理解,图11中示出的网络调度节点400C的功能也可以由多个网络调度节点400完成。同样,网络调度节点400D的功能也可以由多个网络调度节点400完成。
本申请还提供一种网络调度系统500,所述网络调度系统500包括所述网络调度节点200和网络节点。其中,所述网络调度节点200的功能如前所述,故不再赘述。而网络节点则是对应前述网络中的边缘节点和中心节点。
需要说明的是,网络调度节点200的功能可以由一个计算设备或多个计算设备组成的集群来实现。
可选的,所述网络调度系统500可以包括网络中部分的边缘节点和/或中心节点。
本申请实施例还提供了一种计算机可读存储介质。所述计算机可读存储介质可以是网络调度节点能够存储的任何可用介质或者是包含一个或多个可用介质的数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘)等。该计算机可读存储介质包括指令,所述指令指示网络调度节点执行上述应用于网络调度节点200用于执行网络调度方法100。
本申请实施例还提供了一种包含指令的计算机程序产品。所述计算机程序产品可以是包含指令的,能够运行在网络调度节点上或被储存在任何可用介质中的软件或程序产品。当所述计算机程序产品在至少一个计算机设备上运行时,使得至少一个计算机设备执行上述网络调度方法100。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的保护范围。
Claims (20)
1.一种网络调度方法,其特征在于,所述方法包括:
获取业务的业务需求参数;
根据所述业务需求参数确定在网络上的优化目标;
获取网络中多个网络运行参数,所述网络运行参数包括所述网络中两个节点之间的通信参数;
根据所述优化目标和所述多个网络运行参数,从所述网络划分出至少一个簇,每一簇包括所述网络中的至少一个节点。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述簇内确定两个节点之间的路由路径。
3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
在第一簇的第一节点和第二簇的第二节点之间确定路由路径。
4.根据权利要求1至3中任一所述的方法,其特征在于,所述业务需求参数包括下述的一种或多种:
时延、流畅度、清晰度。
5.根据权利要求1至4中任一所述的方法,其特征在于,所述获取运行于所述网络上业务的业务需求参数,包括:
提供第一配置接口,所述配置接口用于获取用户输入的所述业务需求参数。
6.根据权利要求1至5中任一所述的方法,其特征在于,所述通信参数包括下述的一种或多种:
时延、丢包率、抖动。
7.根据权利要求1至6中任一所述的方法,其特征在于,所述根据所述优化目标和所述多个网络运行参数,从所述网络划分出至少一个簇节点之间之前,所述方法包括:
获取所述节点之间网络的多个历史网络运行参数,所述优化目标、所述多个网络运行参数和所述历史网络运行参数用于在所述网络中划分出所述至少一个簇。
8.根据权利要求1至6中任一所述的方法,其特征在于,所述根据所述优化目标和所述多个网络运行参数,从所述网络划分出至少一个簇节点之间之前,所述方法包括:
提供第二配置接口,所述第二配置接口用于获取用户输入的约束条件,所述优化目标、所述约束条件和所述多个网络运行参数用于在所述网络中划分出所述至少一个簇。
9.一种网络调度节点,其特征在于,所述节点包括:
通信模块,用于获取业务的业务需求参数;
处理模块,用于根据所述业务需求参数确定在网络上的优化目标;
所述通信模块,还用于获取所述网络中多个网络运行参数,所述网络运行参数包括所述网络中两个节点之间的通信参数;根据所述优化目标和所述多个网络运行参数,从所述网络划分出至少一个簇,每一簇包括所述网络中的至少一个节点。
10.根据权利要求9所述的节点,其特征在于,所述处理模块,还用于在所述簇内确定两个节点之间的路由路径。
11.根据权利要求9或10所述的节点,其特征在于,所述处理模块,还用于在第一簇的第一节点和第二簇的第二节点之间确定路由路径。
12.根据权利要求9至11中任一所述的节点,其特征在于,所述业务需求参数包括下述的一种或多种:
时延、流畅度、清晰度。
13.根据权利要求9至12中任一所述的节点,其特征在于,所述通信模块,还用于提供第一配置接口,所述配置接口用于获取用户输入的所述业务需求参数。
14.根据权利要求9至13中任一所述的节点,其特征在于,所述通信参数包括下述的一种或多种:
时延、丢包率、抖动。
15.根据权利要求9至14中任一所述的节点,其特征在于,所述通信模块,还用于获取所述网络的多个历史网络运行参数,所述优化目标、所述多个网络运行参数和所述历史网络运行参数用于在所述网络中划分出所述至少一个簇。
16.根据权利要求9至15中任一所述的节点,其特征在于,所述通信模块,还用于提供第二配置接口,所述第二配置接口用于获取用户输入的约束条件,所述优化目标、所述约束条件和所述多个网络运行参数用于在所述网络中划分出所述至少一个簇。
17.一种网络调度系统,其特征在于,所述系统包括网络调度节点和网络节点,所述网络调度节点用于执行权利要求1至8中任一所述的方法。
18.一种网络调度节点,其特征在于,包括处理器和存储器;
所述处理器用于执行所述存储器中的指令,以使得所述网络调度节点执行如权利要求1至8中任一所述的方法。
19.一种包含指令的计算机程序产品,其特征在于,当所述指令被计算机设备集群运行时,使得所述计算机设备集群执行如权利要求的1至8中任一所述的方法。
20.一种计算机可读存储介质,其特征在于,包括计算机程序指令,所述计算机程序用于执行如权利要求1至8中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2022/118630 WO2023065893A1 (zh) | 2021-10-20 | 2022-09-14 | 一种网络调度方法、系统及设备 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2021112192040 | 2021-10-20 | ||
CN202111219204 | 2021-10-20 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115996189A true CN115996189A (zh) | 2023-04-21 |
Family
ID=85993055
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111644958.0A Pending CN115996189A (zh) | 2021-10-20 | 2021-12-30 | 一种网络调度方法、系统及设备 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN115996189A (zh) |
WO (1) | WO2023065893A1 (zh) |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7975035B2 (en) * | 2003-12-01 | 2011-07-05 | International Business Machines Corporation | Method and apparatus to support application and network awareness of collaborative applications using multi-attribute clustering |
US9083757B2 (en) * | 2012-11-21 | 2015-07-14 | Telefonaktiebolaget L M Ericsson LLP | Multi-objective server placement determination |
CN106850460B (zh) * | 2017-02-10 | 2020-05-19 | 北京邮电大学 | 一种业务流聚合方法及装置 |
CN109831792B (zh) * | 2019-03-11 | 2021-09-24 | 中国科学院上海微系统与信息技术研究所 | 一种基于多目标优化的无线传感器网络拓扑控制方法 |
CN113032938B (zh) * | 2021-03-26 | 2022-07-08 | 北京邮电大学 | 时间敏感流的路由调度方法、装置、电子设备及介质 |
-
2021
- 2021-12-30 CN CN202111644958.0A patent/CN115996189A/zh active Pending
-
2022
- 2022-09-14 WO PCT/CN2022/118630 patent/WO2023065893A1/zh active Application Filing
Also Published As
Publication number | Publication date |
---|---|
WO2023065893A1 (zh) | 2023-04-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107465708B (zh) | 一种cdn带宽调度系统及方法 | |
JP4740342B2 (ja) | 多重化及び帯域幅制御機能を有する高信頼度イベント・ブロードキャスタ | |
EP2135430B1 (en) | Hierarchically clustered p2p streaming system | |
CN112822050B (zh) | 用于部署网络切片的方法和装置 | |
CN104115165A (zh) | 使用机器学习来用于映射媒体组件的方法 | |
CN106961616B (zh) | 一种多cdn辅助的多层云的直播分发系统 | |
CN101406060A (zh) | 应用对等(p2p)内容分发网络延时下载视频服务 | |
CN110336885A (zh) | 边缘节点分配方法、装置、调度服务器及存储介质 | |
CN106060009A (zh) | 对等网络流媒体点播节点请求转移与缓存替换方法 | |
EP2996285A1 (en) | Scheduling method, apparatus and system | |
US20200162378A1 (en) | Method And System For Accelerating Interactive-Streaming-Based Applications Via Cloud Overlay Networks | |
CN109348264B (zh) | 视频资源共享方法、装置、存储介质及电子设备 | |
Gotoh et al. | A broadcasting scheme for selective contents considering available bandwidth | |
CN114501073A (zh) | 直播回源方法及装置 | |
CN109743751A (zh) | 无线接入网的资源分配方法及装置 | |
CN102158767B (zh) | 一种基于可扩展编码的对等网络流媒体直播系统 | |
EP3902279A1 (en) | Audio and video stream distribution method in audio and video stream distribution system, and dynamic parent node | |
CN110191362B (zh) | 数据传输方法及装置、存储介质及电子设备 | |
CN115996189A (zh) | 一种网络调度方法、系统及设备 | |
Pang et al. | First mile in crowdsourced live streaming: A content harvest network approach | |
US10142184B2 (en) | Centralized architecture for establishing federations of content distributors | |
CN115002731B (zh) | 服务提供方法、系统、装置、设备和存储介质 | |
CN115720237A (zh) | 边缘网络自适应比特率视频的缓存和资源调度方法 | |
Xiao et al. | User preference aware resource management for wireless communication networks | |
CN101369915B (zh) | 可运营p2p网络资源管理系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |