具体实施方式
在对本申请各实施例提供的方案进行介绍说明之前,先对本申请中涉及的一些专有名词进行简要的解释说明。
网络切片技术:是指主要借助于软件定义网络(software defined network,SDN)技术与网络功能虚拟化(network function virtualiztion,NFV)技术,将一个物理网络虚拟划分为多个逻辑独立的虚拟网络,从而为各类不同应用服务提供最合适的资源配置与网络拓扑。具体来说,就是基于一物理网络对能力进行灵活组装和编排,通过端到端的网络切片,满足海量应用对网络差异化的需求;
网络切片:又可称为网络切片实例,是保证承载应用服务能达到服务水平协议(service level agreement, SLA)要求的网络功能(network funciton, NF)单元及资源的组合。在上述介绍的网络切片技术中,每个虚拟网络可称为一个网络切片;
确定性服务能力:可提前规划并一定能符合预期的服务能力;
CDN:是部署在多个数据中心的一组代理服务器组成的分布式网络,其可以将网站的内容发布至最接近用户的网络“边缘”,使用户可以就近取得所需的内容,从而为终端用户提供快速、高可用的访问体验。
边缘计算:是在靠近用户或数据源头的网络边缘侧,采用融合网络、计算、存储、应用核心能力为一体的开发平台,就近为用户提供边缘化智能服务。由于靠近用户,边缘计算服务器可以直接提供服务从而保证较低的延迟。CDN可以认为是边缘计算应用服务的一种规模最大、算力最强的形态。
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
在本申请的说明书、权利要求书及上述附图中描述的一些流程中,包含了按照特定顺序出现的多个操作,这些操作可以不按照其在本文中出现的顺序来执行或并行执行。操作的序号如101、102等,仅仅是用于区分各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。而本申请中术语“或/和”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如:A或/和B,表示可以单独存在A,同时存在A和B,单独存在B这三种情况;本申请中字符“/”,一般表示前后关联对象是一种“或”关系。此外,下述的各实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
随着移动互联网应用服务、网络技术以及边缘计算技术的不断发展,基于网络(如CDN)的边缘计算应用服务也逐渐得到拓展,变得越来越丰富。可预计的,未来网络支撑的应用主体将是万亿级的产业互联。为了满足众多应用的差异化需求,网络通信协议(可简称网络协议)面临着确定性服务能力的重要考验,比如应用的带宽确定性,端到端的延时确定性,这些都要求将当前尽力而为的网络服务模型优化,以满足当前和未来网络确定性的应用服务所需。
现有的网络切片技术,为各应用提供确定性服务能力提供了技术支持。然而,现有网络切片技术方案中,缺乏对传输层层面上的应用带宽确定性服务能力的研究与分析。而传输层层面上的应用带宽确定性服务能力,对于优化CDN的“边缘”功能来说又是至关重要的,其若能够实现将会使CDN在传输层上达到很好的隔离应用带宽抢占问题,从而可为应用在传输层层面上提供确定性的带宽服务能力,甚至有可能为以后CDN或边缘计算的带宽售卖模式带来变革。为此,本申请各实施例提供一种基于应用理解(即理解应用域名)的传输层网络切片技术方案,以抢占传输层网络切片的重要领地,实现传输层上的应用带宽确定性,从而很好隔离应用带宽抢占问题。具体地:
参见图1a和图1b所示,图1a和图1b示出了本申请一实施例提供的网络系统的结构示意图,该网络系统可以是基于CDN网络系统架构构建的,当然也可以是基于其它网络系统架构构建的,本申请实施例对此并不作限定。如图1a所示,该网络系统包括:中心节点10和边缘节点20;其中,
中心节点10,用于根据请求方提供的网络需求信息,确定分配给边缘节点的网络切片信息;
边缘节点20,用于从所述中心节点获取所述网络切片信息;获取历史时段与所述请求方相关的网络连接统计信息;根据所述网络切片信息及所述网络连接统计信息,为针对所述请求方的网络连接确定适配的网络切片。
具体实施时,参见图1b所示,假设本实施例提供的网络系统是CDN网络系统。上述中心节点10可以是CDN系统中用于负责网络负载均衡的一组服务设备(即图1b中示出的智能DNS负载均衡系统,该智能DNS负载均衡系统可提供域名解析服务)。边缘节点20可以是CDN系统中近用户终端的CDN节点。具体地,边缘节点20可以为单个或多个代理服务器。即在一些实施例中,边缘节点20可以包括一个设备21,或者也可以包括多个设备21,设备21具体可以指的是代理服务器。设备21与中心节点10之间可通过至少一个中间设备实现通信连接。该中间设备可包括wifi-AP、基站、路由器、交换机等。设备21与中心节点10的通信方式可包括但不限于如下中的至少一种:WiFi,无线局域网(Wireless Local Area Network,简称WLAN)、ZigBee、Lora、3G、4G或5G网络等。当然,设备21中也可以不通过中间设备直接与中心节点10通信连接,本实施例对此不作具体限定。
这里需要补充的是:请求方可理解为想要使用本实施例提供的网络系统向用户提供服务的服务提供方。例如,服务提供方向用户提供相应的应用(APP),用户可通过安装有该应用的客户端设备触发访问请求,该访问请求可发送至网络系统中的边缘节点,该边缘节点基于该访问请求与客户端设备建立网络连接,然后客户端设备便可通过该网络连接从边缘节点获取所需的网络数据。边缘节点上缓存的网络数据,是服务提供方提供的。即服务提供方的服务器将网络数据发送至边缘节点,以便于边缘节点能迅速的为用户提供所需的网络数据。由此可知,本实施例中请求方即提供上述应用(APP)的服务提供方,也就是说应用与请求方存在对应关系。服务提供方和请求方,是站在不同身份的角度来说明的,对于用户来说,通过本实施例的网络系统提供网络数据的是服务提供方;而对于提供网络系统的提供方来说,请求使用该网络系统并想要获取到相应的网络切片的就是请求方。
在实际应用中,本实施例提供的所述网络系统可以为运行在该系统下的多种应用(即多个请求方提供的不同应用)提供带宽的确定性服务,比如视频类的应用、网购类的应用、游戏类的应用等。具体地,当一应用平台的服务提供方(即请求方)为了提高用户访问应用体验,以增加应用平台的用户黏性、提高核心竞争力,而具有带宽的确定性服务需求时,该应用平台的服务提供方可以根据其应用平台的历史访问数据来评估出其应用平台需求的网络需求信息,并将该网络需求信息通过客户端上传至本实施例的所述网络系统,如图1b所示,应用a平台的服务提供方A(即本实施例中提及的请求方)可以通过客户端将其所需求的网络需求信息上传至所述网络系统。本实施例所述网络系统中的中心节点10获取到服务提供方(即请求方)所提供的网络需求信息后,根据该网络需求信息来确定出分配给边缘节点的网络切片信息,以便后续边缘节点获取与之相应的所分配到的网络切片信息,进而根据网络切片信息执行诸如传输层网络切片逻辑,为与服务提供方(即本实施例中提及的请求方)相应的网络请求的网络连接确定适配的网络切片。具体有关边缘节点如何执行诸如传输层网络切片逻辑,从而实现为与请求方相应的网络请求的网络连接确定适配的网络切片,可参见下述相关内容,这里就不作具体赘述。
本实施例提供的技术方案,在根据请求方的网络需求信息确定了边缘节点的网络切片后,还会获取历史时段该请求方相关的网络连接统计信息,以便根据网络连接统计信息,再对边缘节点的网络切片进行细分,以细分到单连接(或称为单请求)粒度对应的切片,即各实施例中提及的为针对请求方的网络连接所确定的网络切片。其中,该为针对请求方的网络连接所确定的网络切片可简单理解为:该请求方相关的单个网络连接被分配的带宽。可见,本申请实施例提供的技术方案,能够为请求方提供传输层层面上(即针对单个网络连接)的带宽确定性服务能力,从而可较好的实现不同请求方的网络隔离、同设备上单网络连接间带宽的隔离等,且能为请求方提供稳定性的带宽服务。
继续参见图1a和1b,本实施例提供的网络系统在接收到请求方上传的网络需求信息后,可以将请求方的网络需求信息存储在网络系统内的应用管理中心30(以下简称管理中心30),以便中心节点10定期地从管理中心30获取请求方提供的网络需求信息,以定期更新分配给边缘节点的网络切片信息。即进一步地,本实施例提供的所述网络系统还可包括:
管理中心30,用于存储所述请求方提供的网络需求信息;其中,所述网络需求信息由所述请求方通过客户端上传至所述管理中心;相应地,
所述中心节点10,用于定期地从所述管理中心获取所述请求方提供的网络需求信息,以定期更新分配给所述边缘节点的网络切片信息。
具体实施时,请求方(也即服务提供方)在上传网络需求信息时,可以按如下提交格式上传:<网络提供区域,网络提供服务商(Internet Service Provider,ISP),所需总带宽,单请求保底带宽>。管理中心30在接收到请求方所提交的网络需求信息后,也可以按上述提交格式进行存储。即也就是说,上述网络需求信息可以包括:网络提供区域、网络提供服务商、所需总带宽以及单请求保底带宽等等,当然并不限于此;比如,还可包括服务提供方标识、与服务提供方相应的应用标识(如应用域名)等。这里需说明的是:上述单请求保底带宽指的是针对与服务方应用相关的单网络请求的网络连接分配到的带宽所允许达到的最小值。
举例来说,参见下表1所示,不同的请求方可以提交各自的网络需求信息至本实施例提供的网络系统,网络系统可以将其接收到的不同请求方所提交的网络需求信息按表1示出的格式存储至管理中心30。其中,网络需求信息的提交可以是采用API服务方式实现,以实时同步。在表1中,示出了多个请求方对应的网络需求信息的例子,如请求方A、B、C、D、……等等。如表1示出的请求方A(即服务提供方A)的网络需求信息,具体可表示为:请求方A经评估其应用需要区域1的ISP1提供10T的带宽网络资源,且其要求的单请求保底带宽为1M,即请求方A要求针对与其应用相关的单网络请求的网络连接分配到的带宽不低于1M。
表1
基于上文描述的网络需求信息所包含的具体内容,在一种可实现的技术方案中,中心节点10在根据请求方提供的网络需求信息,确定分配给边缘节点的网络切片信息时,具体可用于:
根据所述请求方需求的网络提供区域及网络提供服务商,确定出网络中适配的多个边缘节点;
根据所述多个边缘节点的网络资源信息和所述请求方需求的总带宽,再从所述多个边缘节点中选出部分或全部边缘节点作为可分配节点,并分别为选出的各边缘节点分配相应的网络切片信息。
具体实施时,上述边缘节点的网络资源信息可以包括但不限于:节点属性信息、节点包含的设备数量以及设备属性信息;其中,所述节点属性信息可包括如下中的至少一种:带宽总容量、剩余带宽、节点质量、节点稳定性等。设备属性信息所包括的具体信息内容可参见对节点属性信息的描述,包括但不限于如下中的至少一种:设备的带宽总容量、设备剩余带宽、设备网络质量、设备稳定性等。需说明的是:在边缘节点仅包括一个设备的情况下,边缘节点的属性信息即指的是设备的属性信息;在边缘节点包括多个设备的情况下,边缘节点的属性信息中的带宽总容量和剩余带宽总容量即可分别指的是该边缘节点下的所有设备的总带宽容量之和以及所述设备的剩余带宽之和,而边缘节点下的属性信息中的节点质量和节点稳定性则可以分别通过综合分析该边缘节点下的所有设备的设备质量以及所述设备的设备稳定性得到,当然也可以采用其他方法确定,本实施例对此并不作限定。
中心节点10在确定出网络中适配的多个边缘节点后,可以先根据多个边缘节点的属性信息规划出多个边缘节点之间的网络切片策略;之后,若边缘节点包括多个设备,可以再进一步地根据多个设备的属性信息规划出多个设备之间的网络切片(也即规划节点内部网络切片),以此按照上述规划出的网络切片确定出分配给边缘节点的网络切片信息。具体地:
例如,中心节点10在确定出网络中适配的多个边缘节点后,可以根据多个边缘节点的节点属性信息,分别确定出多个边缘节点各自对应的权重;若边缘节点包括多个设备,则还可以再进一步地根据设备的属性信息,分别确定出该边缘节点下的多个设备各自对应的权重。然后,可以首先按照多个边缘节点各自对应的权重和请求方需求的总带宽,分别确定出分配给多个边缘节点的节点网络切片;接着,再根据分配给多个边缘节点的节点网络切片以及多个边缘节点下的多个设备各自对应的权重,确定出分配给各个边缘节点下的多个设备分别对应的单设备网络切片,从而最终确定出分配给各个边缘节点的网络切片信息。即本实施例中的所述网络切片信息包括:边缘节点中各设备对应的单设备网络切片。
综上可见,若一边缘节点包括多个设备,分配给边缘节点的网络切片信息中即可包含多个设备分别对应的单设备网络切片。具体实施时,单设备网络切片可包含有设备标识、网络切片大小等内容,此处不作限定。后续中,该边缘节点下的多个设备中的任一设备在为针对所述请求方的网络连接确定适配的网络切片时,可以通过基于其自身对应的网络切片大小执行诸如传输层网络切片逻辑进行确定。具体地,即可以根据自身对应的网络切片大小和其所获取到的与所述请求方相关的网络连接统计信息,来计算得到单请求计算带宽。单请求计算带宽的具体实现可参见下述相关内容,此处不作具体赘述。
上述给出的具体示例,是根据多个边缘节各自对应的权重以及各个边缘节点下的多个设备各自对应的权重,来最终确定出分配给边缘节点的网络切片信息的。当然,也可以采用其他方式来确定分配给边缘节点的网络切片信息,比如均切分法,本实施例对比并不作限定。
这里需要说明的是:本实施例对节点网络切片及设备网络切片的具体实施策略,不作具体限定。
下面将以上述表1中示出的请求方A所提供的网络需求信息为例,来进一步地详细说明中心节点是如何确定分配给边缘节点的网络切片信息的。
假设,请求方A经评估其应用需要区域1的ISP1提供10T的带宽网络资源,本实施例提供的网络系统所基于的CDN平台商在区域1部署有10个与请求方A需求适配的的边缘节点20(如表2中示出的gcn1至gcn10)。各边缘节点20的网络资源信息,具体可参见表2所示。表2中仅示出了各边缘节点20的节点属性信息中的带宽总容量、剩余带宽、节点质量。结合各边缘节点20的节点属性信息,采用节点网络切片策略为各边缘节点分配一定大小的网络切片,分配结果即为表2中示出的分配结果。其中,节点网络切片策略可以是一个计算模型,将各边缘节点的节点属性信息作为该计算模型的输入,执行该计算模型便可得出各边缘节点对应的分配的节点网络切片。例如,该计算模型可以是机器学习模型(如经训练样本训练得出的神经网络模型)或是专家系统等等,本实施例对此不作具体限定。
表2
接下来,中心节点10基于确定出的分配给各边缘节点的网络切片大小后,将会进一步地结合各边缘节点的网络切片大小分别执行各边缘节点内部的网络切片。具体地,以表2中示出的gcn1(即边缘节点1)为例,假设gcn1包括10台规格相同的设备,并另搭载有负载均衡设备。中心节点10在根据分配给gcn1的网络切片大小(即1T)和gcn1下的各设备的设备属性信息,计算分配给gcn1下的各设备的网络切片大小时,可以继续采用均切分法或其他切分策略(同样的,本实施例对此不在限定)来分别确定分配给gcn1下的各设备的网络切片大小。例如,采用均切片法,取以及/>的情况下,gcn1下的每台设备所可得到的网络切片大小为:1.5T/10=1.5*105M。当然,也可以采用其他方法或策略来确定分配给gcn1的各个设备的网络切片大小,比如上述所述的依据gcn1的各个设备对应的权重,此处并不作限定。
中心节点10在完成上述各边缘节点间、各边缘节点内部的网络切片,确定出分配给各边缘节点的网络切片信息后,便可实施网络切片信息的下发。具体实施时,中心节点10可以直接通过API服务将分配给各边缘节点的网络切片信息发送至相应的边缘节点;或者也可以让边缘节点主动拉取自身对应的网络切片信息,即中心节点10也可以在接收到边缘节点针对网络切片信息的获取请求后,再将与之相应的网络切片信息反馈给该边缘节点。在本实施例提供的方案中,采用将让边缘节点主动拉取自身对应的网络切片信息方式来下发各边缘节点的网络切片信息。具体地:
参见图1a所示,中心节点10的内部部署有分发器120,通过如http getAPI服务,可以实现让边缘节点主动拉取自身的网络切片信息。不过,考虑到边缘节点可能包括多个设备,此情况下,若边缘节点的每个设备均向中心节点10发送针对网络切片信息的获取请求,分发器120可能会出现下发模式过载问题。为了避免下发过载,本实施例采用在节点维度汇聚收敛方式下发各边缘节点的网络切片信息,具体地:若边缘节点包括多个设备,则由边缘节点选取一个代表设备从中心节点10获取其对应的网络切片信息,网络切片信息中是包含有其下的多个设备分别对应的单设备网络切片的;对于边缘节点的非代表设备的其它设备则从代表设备中获取自身对应的单设备网络切片。
即在一具体实施方案中,本实施例网络系统中边缘节点20包括多个设备。所述多个设备中的一个设备为代表设备210(如图1b所示);其中,
所述代表设备210,用于从所述中心节点获取所述网络切片信息;其中,所述网络切片信息包括所述多个设备分别对应的单设备网络切片;
所述多个设备中除所述代表设备外的设备(如非代表设备220),用于从所述代表设备210获取自身对应的单设备网络切片。
进一步的,在所述边缘节点20的多个设备中的任一设备接收到其自身对应的单设备网络切片后,便可基于该单设备网络切片通过执行诸如传输层网络切片逻辑,为针对请求方的网络连接确定适配的网络切片。即本实施例中所述边缘节点20的多个设备中的任一设备在为针对请求方的网络连接确定适配的网络切片时,具体用于:
根据自身对应的单设备网络切片及历史时段内的所述网络连接统计信息,计算单请求计算带宽;根据所述单请求计算带宽及所述请求方需求的单请求保底带宽,为针对请求方的网络连接确定适配的网络切片。
参见图1a和1b所示,所述中心节点10可包括网络切片装置110及分发器120。其中,
网络切片装置110,用于根据所述请求方提供的网络需求信息,确定网络中适配的至少一个边缘节点;根据所述至少一个边缘节点的网络资源信息及所述网络需求信息,规划网络分片以得到各边缘节点的网络切片信息。
分发器120,用于确定各边缘节点的代表设备,将所述各边缘节点的网络切片信息分别发送到各自对应的代表设备。
上述各边缘节点的代表设备的设备标识可存储在分发器处,分发器可通过本地存储的设备标识来确定代表设备。另外,上述网络切片装置110如何确定适配的边缘节点,并规划处边缘节点的网络切片信息的过程,可参见上文中的相应描述,此次不作赘述。当然,本申请实施例不限于本文中的方案。
具体实施时,单设备网络切片中可包含有设备标识、网络切片大小等内容,此处不作限定。边缘节点的多个设备中的任一设备在获取到自身对应的单设备网络切片后,可结合其所获取到历史时段与所述请求方相应的网络连接统计信息,通过执行诸如传输层网络切片逻辑,来为网络请求(即针对请求方的网络请求)的网络连接确定适配的网络切片。这里需说明的是,参见图1b所示,边缘节点20除了可包含有代表设备210和至少一个非代表设备220外,还可包含有负载均衡设备22,该负载均衡设备22可用于应用域名解析、实时基于应用域名维度进行请求数据的统计等,此处不作限定。具体地:
在实际应用中,传输层主要功能是基于网络协议(如传输控制协议(TransmissionControl Protocol,TCP))为数据的传输建立、维护与拆除网络连接,以实现透明、可靠的端到端的数据传输,其一般是无法理解应用域名的。若想要设备实现传输层网络切片功能,需要将应用域名信息传递并存储于传输层基于TCP协议所建立的网络连接上。具体实现时,可以通过域名解析服务设备将应用域名解析,将解析出来的域名通过一函数(如setsockopt函数)调用下传至传输层基于TCP协议所建立的网络连接上。例如,参见图1b所示,若一用户B通过客户端向一边缘节点20(即图1b中示出的CDN节点1)的代表设备210发送可与应用a相关的网络请求;代表设备210接收到用户所上传的应用a的域名“www.##a##.com”后,可以将该域名“www.##a##.com”发送至CDN节点2下的负载均衡设备22,经由该负载均衡设备22对域名“www.##a##.com”进行解析,并将解析后的域名通过setsockopt函数调用反馈至代表设备210的传输层基于TCP协议所连接的网络连接上,然后便可基于域名来区分不同应用(即请求方)的网络连接,也就可以统计出不同请求方的网络连接统计信息。上述功能可由统计装置来实现,参见图1a所示,本实施例中所述网络系统中还包括统计装置213,该统计装置213可设置在中心节点10、或边缘节点20、或边缘节点上的负载均衡设备22上等等。具体的,
所述统计装置213,用于为设备与客户端间建立的网络连接设置与其关联的域名,以便基于域名区分不同请求方相关的网络连接,其中,域名与请求方存在对应关系;将所述请求方对应域名的网络连接进行统计,以得到所述网络连接统计信息。
其中,所述网络连接统计信息包括但不限于:域名、网络连接总数量(或请求总数量)、活跃网络连接数量(或活跃请求数量)、网络连接最小带宽(或单请求所占最小带宽)等等。
进一步地,在一具体可实现技术方案中,参见图1b所示,所述边缘节点20包括至少一个设备,所述至少一个设备中的任一设备包括:
计算装置211,用于根据所述网络连接统计信息及所述设备对应的单设备网络切片,计算单请求计算带宽;根据所述单请求计算带宽及所述请求方需求的单请求保底带宽,为针对所述请求方的网络连接确定适配的网络切片;
执行器212,用于按照所述计算装置确定出的所述网络切片,为针对所述请求方的网络连接分配带宽。
具体实施时,参见图1a所示,多个设备中的任一设备对应传输层上均可部署有计算装置211及执行器212。计算装置211可从统计装置213处获取与所述请求方相关的所述网络连接统计信息。所述网络连接统计信息包括但不限于:域名、网络连接总数量(或请求总数量)、活跃网络连接数量(或活跃请求数量)、网络连接最小带宽(或单请求所占最小带宽)等等。例如,表3中示出的域名维度-网络连接统计信息。可简单的理解是:网络连接统计信息中的域名是为了标识请求方(或上文提及的服务提供方)的。
表3
基于上述网络连接统计信息所包含的具体内容,所述多个设备中的任一设备在执行根据自身对应的单设备网络切片及历史时段内的所述网络连接统计信息,计算单请求计算带宽”时,具体可用于:
S121、计算所述网络连接总数量和所述活跃网络连接数量间的第一差值与所述网络连接最小带宽的乘积,得到乘积值;
S122、利用单设备网络切片大小和所述乘积值间的第二差值除以所述活跃网络连接数量,得到商值;将所述商值作为所述单请求计算带宽。
举例来说,参见图1b并承接与上述表1和表2相关的示例,假设gcn1下的每台设备所分配到的网络切片大小为1.5*105M,gcn1下的代表设备210接收到与请求方A相应的网络请求,代表设备210所获取到的历史时段与请求方A相关的网络连接统计信息为表3的第一行中示出的数据信息。则,代表设备210通过执行上述步骤S121和S122所计算得到单请求计算带宽具体为:
单请求计算带宽
这里,为了保证单请求的最小带宽服务能力(即确保为针对请求方的网络连接所分配到的网络切片大小不低于请求方需求的单请求保底带宽),在计算得到单请求计算带宽后,会进一步地将单请求计算带宽与请求方需求的单请求保底带宽进行比较,以最终确定出针对请求方的网络连接需分配的网络切片。具体实施时,可以取单请求计算带宽与请求方需求的单请求保底带宽中的最大值,作为为针对请求方的网络连接确定的网络切片。也就是说,为针对请求方的网络连接所确定的网络切片大小=max(请求方需求的单请求保底带宽,单请求计算带宽),这样即可使得本系统具有保底的服务能力。即本实施例中,
所述多个设备中的任一设备(即设备上的计算装置)执行根据所述单请求计算带宽及所述请求方需求的单请求保底带宽,确定为针对请求方的网络连接确定适配的网络切片时,具体可用于:
S131、所述单请求计算带宽大于或等于所述请求方需求的单请求保底带宽时,将所述单请求计算带宽作为为针对请求方的网络连接所确定的网络切片;
S132、所述单请求计算带宽小于所述请求方需求的单请求保底带宽时,将所述请求方需求的单请求保底带宽作为为针对请求方的网络连接所确定的网络切片。
例如,继续承接上述示例,由表1可知,请求方A需求的单请求保底带宽为1M,计算得到的与请求方A相关的单请求计算带宽约为9.6M(>1M),为此,gcn1下的代表设备210为针对请求方A的网络连接所分配的网络切片大小为9.6M。而若在计算得到的单请求计算带宽小于请求方A需求的单请求保底带宽(即1M)的情况下,则gcn1下的代表设备210为针对请求方A的网络连接所分配的网络切片大小为1M。
采用上述方式为单个网络连接(或称为单网络请求对应的网络连接)确定网络切片的优势在于:在网络请求并发数低时,单个网络连接(即单个网络请求对应的网络连接)可以分配到较大的网络切片,传输质量好;而当网络请求并发数高时,保底的服务能力可以保证最低的传输需要。由此可见,请求方提供的网络需求信息中包含有请求方需求的单请求保底带宽是必须的,若请求方不设定其需求的单请求保底带宽,在网络请求并发数较大的情况下,可能导致单网络请求的网络连接因分配到过小的网络切片而服务异常。
继续参见图1a,中心节点10中除了部署有网络切片策略中心110及分发器120外,还可部署有日志中心130;上文所涉及到的与“中心节点10根据请求方提供的网络需求信息确定分配给边缘节点的网络切片信息”的相关内容均是由网络切片策略中心110执行完成。日志中心130可用于记录各边缘节点的网络资源信息,中心节点10在根据请求方需求的网络区域及网络提供服务商确定出网络中适配的多个边缘节点后,可以从日志中心130获取该多个边缘节点各自的网络资源信息,以此来进一步地根据该多个边缘节点的网络资源信息和所述请求方需求的总带宽,分别为所述多个边缘节点分配相应的网络切片信息。此外,日志中心130还可用于记录各个设备的历史时段与请求方相关的网络连接统计信息、各设备的告警信息,等等,此处不作限定。
在一具体的可实现的方案中,本实施例包括日志中心130,该日志中心130与统计装置213通信连接,可获取网络中设备的统计装置统计的不同请求方对应域名的网络连接统计信息。相应的,所述网络切片装置110用于根据所述日志中心中的日志数据,调整网络切片策略。这里需要补充的是:本实施例对网络切片策略不作具体限定,另外,网络切片装置如何根据日志中心调整网络切片策略的方案,本实施例也不作具体限定。
进一步,边缘中心20的执行器212在为针对所述请求方的网络连接分配完带宽后,还可向所述统计装置发送网络连接带宽分配执行结果;其中,所述执行结果包括:域名、网络连接被分配带宽大小。
进一步地,考虑到在单请求计算带宽小于请求方需求的单请求保底带宽时,若将请求方需求的单请求保底带宽作为为针对请求方相应的网络连接所确定的网络切片,将可能会致使相应设备原分配到的网络切片大小无法满足当前需求,为此需要中心节点对其进行扩容操作。针对此问题,上述多个设备中的任一设备,还可用于:
在确定所述单请求计算带宽小于所述请求方需求的单请求保底带宽时,向所述中心节点发送第一告警信息,以便所述中心节点根据第一告警信息调整所述网络切片信息。
具体实施时,上述告警信息中可含有设备标识,该设备所属边缘节点标识等,此处不作限定。中心节点在接收到该告警信息后,可对该设备对应的网络切片大小进行调整。或者,中心节点在接收到该告警信息后,可以通知请求方是否需要带宽扩容。若请求方需扩容可提交新的网络需求信息,然后再采用上文中所提供的方案重新为该请求方规划各边缘节点的网络切片信息以及重新为针对该请求方的网络连接确定适配的网络切片。
进一步地,上述多个设备中的任一设备在为针对请求方的网络连接确定出适配的网络切片后,为了方便后续带宽能力的计算和比较,以确定是否达到本申请方案所想要达到的目的,其可以进一步地将为针对请求方的网络连接确定出的网络切片进行存储。其中,本申请方案所想要达到的目的是:确保传输层在针对与请求方相应的网络请求建立用于传输请求方所提供的网络数据的网络连接时,所使用的带宽大小不超过为针对请求方的网络连接确定出的网络切片大小。上述确保建立用于传输请求方所提供的网络数据的网络连接时,所使用的带宽大小等于为针对请求方的网络连接确定出的网络切片大小是本申请方案最终要达到的理想目的。为此,所述多个设备中的任一设备在为针对请求方的网络连接确定出适配的网络切片之后,还可用于:
存储所述为针对请求方的网络连接所确定的网络切片,以便后续利用应答速率判定为针对请求方的网络连接所确定的网络切片是否合适。
具体实施时,可以将所述为针对请求方的网络连接所确定的网络切片存储于的TCP的sock结构中。后续在获取到与请求方相应的网络请求相关的应答速率后,若确定应答速率等于所述为针对请求方的网络连接所确定的网络切片大小,则说明系统达到合适的状态;反之,若应答速率不等于所述为针对请求方的网络连接所确定的网络切片大小,则说明系统有待优化,技术人员可以对系统继续进行改进。
上述中,与请求方相应的网络请求相关的数据应答速率可通过实时统计得到,且设备的内核级别不同,所采用的统计方案也将不同。具体地,对于具有8U的内核设备来说,由于其内核中现已经内嵌了一个实时的TCP请求粒度的带宽测量模块,故应答速率可通过该带宽测量模块得到。具体实施时,带宽测量模块可以采用如下测量公式计算得到应答速率:
recv_rate = pkts_delivered/(last_ack_time - first_ack_time)
其中,last_ack_time表示当前数据被应答的时间,first_ack_time表示测量周期开始时,第一个数据被应答的时间,pkts_delivered表示采样周期内总共应答的数据量。
而对于具有7U的内核设备来说,由于其内容中缺乏recv_rate的计算功能,所以需要技术人员自己设计实现类似8U的recv_rate计算逻辑。
综合上文内容可见,本申请技术方案实质上提供了一种基于应用理解的分层网络切片技术,以此实现单网络请求粒度的网络切片。具体地,本申请方案是在经历边缘节点、单机(即边缘节点下的设备)、单请求(或单网络连接)三层网络切片后,再结合传输层的应答速率实时测量机制(如8U的内核所内嵌的TCP请求粒度的带宽测量模块),以此来精准的实现单请求粒度的网络切片。利用本申请技术可以为请求方提供传输层应用带宽的确定性服务能力,可很好的实现应用网络隔离、同设备请求间带宽消耗隔离;在不稳定的网络中,可为应用提供稳定性的带宽服务能力。
上述实施例是从硬件设备的角度对本申请实施例提供的方案进行了说明。实质上,本实施例提供的所述方案可抽离具体的硬件设备,可以是形成在硬件设备上层的系统架构。即参见图1a所示,本申请实施例提供一种网络切分系统的架构图。该网络切分系统包括:策略中心100及执行中心200。其中,
策略中心100,用于根据请求方提供的网络需求信息,确定分配给边缘节点的网络切片信息;
执行中心200,用于获取边缘节点的所述网络切片信息;获取历史时段与所述请求方相关的网络连接统计信息;根据所述网络切片信息及所述网络连接统计信息,在所述边缘节点的设备上为针对所述请求方的网络连接确定适配的网络切片。
进一步的,所述策略中心100包括:网络切片装置110及分发器120。其中,
网络切片装置110,用于根据所述请求方提供的网络需求信息,确定网络中适配的至少一个边缘节点;根据所述至少一个边缘节点的网络资源信息及所述网络需求信息,规划网络分片以得到各边缘节点的网络切片信息;
分发器120,用于确定各边缘节点的代表设备,将所述各边缘节点的网络切片信息分别发送到各自对应的代表设备。
再进一步的,上述网络切片装置110在规划网络切片时,具体用于:
根据所述至少一个边缘节点的网络资源信息及所述网络需求信息,确定各边缘节点对应的节点网络切片;
根据各边缘节点对应的节点网络切片以及各边缘节点包含的多个设备的设备属性信息,确定各边缘节点包含的各设备对应的单设备网络切片。
简单理解上述过程即:先进行边缘节点间的网络切片,再进行边缘节点内部(即设备间)的网络切片。最终得到的各边缘节点的网络切片信息应包含:边缘节点包含的多个设备分别对应的单设备网络切片。
进一步的,所述的网络切分系统还包括统计装置213。所述统计装置213,用于为设备与客户端间建立的网络连接设置与其关联的域名,以便基于域名区分不同请求方相关的网络连接,其中,域名与请求方存在对应关系;将所述请求方对应域名的网络连接进行统计,以得到所述网络连接统计信息;其中,所述网络连接统计信息包括域名、网络连接总数量、活跃网络连接数量、网络连接最小带宽。图1a所示的例子中,所述执行中心200包括所述统计装置213。实质上,该统计装置213也可不包含在执行中心200内,而独立存在,本实施例对此不作限定。
所述执行中心200包括:计算装置211及执行器212。其中,计算装置211用于根据所述网络连接统计信息及所述设备对应的单设备网络切片,计算单请求计算带宽;根据所述单请求计算带宽及所述请求方需求的单请求保底带宽,为针对所述请求方的网络连接确定适配的网络切片。执行器212用于按照所述计算装置确定出的所述网络切片,为针对所述请求方的网络连接分配带宽。
进一步的,所述执行器212,还用于向所述统计装置发送网络连接带宽分配执行结果;其中,所述执行结果包括:域名、网络连接被分配带宽大小。
进一步的,本实施例提供的网络切片系统中还可包含有日志中心130。同样的,日志中心130包含在策略中心100内,也可不在而独立存在,本实施例对此不在限定。具体的,所述日志中心130用于获取网络中设备的统计装置统计的不同请求方对应域名的网络连接统计信息;所述网络切片装置110还用于根据所述日志中心中的日志数据,调整网络切片策略。
上述网络切片系统中,上述网络切片装置110、分发器120、日志中心130、计算装置211、统计装置213等均可设置中心节点上,执行器212设置在边缘节点上。当然也可以是:上述网络切片装置110、分发器120、日志中心130可设置在中心节点上;计算装置211、统计装置213及执行器212设置在边缘节点上,或者还有其他部署方式,本实施例对此不作限定。
另外,本申请各装置、各中心、分发器、执行器等更具体的功能及实现逻辑(步骤等),可参见上述实施例中的相应内容,此处不作赘述。
以上各实施例是从硬件结构和理论架构的角度对方案进行了说明。下面分别以网络系统内的中心节点以及边缘节点(或具体地为边缘节点下的多个设备中的任一设备)为执行主体,对相应的网络切片方法进行介绍说明。具体地:
图2示出本申请实施例提供的一种网络切片方法。该方法的执行主体为上述实施例提供的网络系统中的中心节点,即结合上文基于图1a可知,该中心节点的具体组成结构包括:网络切片策略中心110、分发器120、日志中心130、计算装置211以及统计装置213。如图2所示,该方法包括如下步骤:
101、根据请求方提供的网络需求信息,确定分配给边缘节点的网络切片信息;
102、获取历史时段与所述请求方相关的网络连接统计信息;
103、根据所述网络切片信息及所述网络连接统计信息,为针对所述请求方的网络连接确定适配的网络切片。
在一可实现的技术方案中,上述步骤101“根据请求方提供的网络需求信息,确定分配给边缘节点的网络切片信息”可具体包括:
根据所述请求方提供的网络需求信息,确定网络中适配的至少一个边缘节点;
根据所述至少一个边缘节点的网络资源信息及所述网络需求信息,确定所述至少一个边缘节点中各边缘节点分别对应的节点网络切片;
根据各边缘节点分别对应的节点网络切片以及各边缘节点包括的至少一个设备的设备属性信息,确定各边缘节点包括的各设备分别对应的单设备网络切片。
进一步地,本实施例提供的所述方法,还可包括:
104、为所述边缘节点与客户端间建立的网络连接设置与其关联的域名,以便基于域名区分不同请求方相关的网络连接,其中,域名与请求方存在对应关系;
105、将所述请求方对应域名的网络连接进行统计,以得到所述网络连接统计信息。
进一步的,上述步骤103“根据所述网络切片信息及所述网络连接统计信息,为针对所述请求方的网络连接确定适配的网络切片”,可具体包括:
1031、根据所述网络切片信息及所述网络连接统计信息,计算单请求计算带宽;
1032、根据所述单请求计算带宽及所述请求方需求的单请求保底带宽,为针对所述请求方的网络连接确定适配的网络切片。
这里需要说明的是:有关本实施例各步骤的更详尽的内容,可参见上文中的相应描述,此处不作赘述。另外,本实施例除包含上述各步骤外,还可包括上文中提及的其他步骤内容。
图3示出本申请实施例提供的一种网络切片方法。该方法的执行主体为一边缘节点下的任一设备,参见图1a所示,该设备可以是代表设备。如图3所示,该方法包括如下步骤:
201、获取中心节点分配的网络切片信息;
202、获取历史时段与所述请求方相关的网络连接统计信息;
203、在需建立用于传输所述请求方所提供网络数据的网络连接时,根据所述网络切片信息及所述网络连接统计信息,为所述网络连接确定适配的网络切片。
上述步骤203“根据所述网络切片信息及所述网络连接统计信息,为所述网络连接确定适配的网络切片”,可具体包括:
从所述网络切片信息中,获取自身对应的单设备网络切片;
根据所述单设备网络切片及所述网络连接统计信息,为所述网络连接确定适配的网络切片。
其中,上述各步骤的具体实现可参见上文中的相应内容,此次不作赘述。
进一步地,在为所述网络连接确定适配的网络切片之后,本实施例提供的所述方法还包括:
存储所述为所述网络连接确定的网络切片,以便后续基于应答速率确定为所述网络连接分配的所述网络切片是否合适。
这里需要说明的是:有关本实施例各步骤的更详尽的内容,可参见上文中的相应描述,此处不作赘述。另外,本实施例除包含上述各步骤外,还可包括上文中提及的其他步骤内容。
本申请另一实施例还提供一种网络切片方法。该方法的执行主体为一边缘节点下的一设备,该设备为边缘节点中除代表设备外的其他设备。具体的,该方法包括如下步骤:
201’、从代表设备处获取自身对应的单设备网络切片;
202’、获取历史时段与所述请求方相关的网络连接统计信息;
203’、在需建立用于传输所述请求方所提供网络数据的网络连接时,根据所述单设备网络切片及所述网络连接统计信息,为所述网络连接确定适配的网络切片。
其中,所述代表设备从中心节点获取网络切片信息,该网络切片信息中包含有与所述代表设备同属一个边缘节点的多个设备分别对应的单设备网络切片。
图4示出了本申请一实施例提供的网络切片装置的结构示意图。如图4所示,该网络切片装置包括:第一确定模块31、第一获取模块32以及第二确定模块33。其中,
第一确定模块31,用于根据请求方提供的网络需求信息,确定分配给边缘节点的网络切片信息;
第一获取模块32,用于获取历史时段与所述请求方相关的网络连接统计信息;
第二确定模块33,用于根据所述网络切片信息及所述网络连接统计信息,为针对所述请求方的网络连接确定适配的网络切片。
进一步地,本实施例提供的所述装置,还包括:设置模块及统计模块。其中,设置模块用于为所述边缘节点与客户端间建立的网络连接设置与其关联的域名,以便基于域名区分不同请求方相关的网络连接,其中,域名与请求方存在对应关系。所述统计模块用于将所述请求方对应域名的网络连接进行统计,以得到所述网络连接统计信息。
进一步的,所述第二确定模块33在根据所述网络切片信息及所述网络连接统计信息,为针对所述请求方的网络连接确定适配的网络切片时,具体用于
根据所述网络切片信息及所述网络连接统计信息,计算单请求计算带宽;
根据所述单请求计算带宽及所述请求方需求的单请求保底带宽,为针对所述请求方的网络连接确定适配的网络切片。
这里需要说明的是:本实施例提供的装置可实现上述相应方法实施例中描述的技术方案,上述各模块或单元具体实现的原理可参见上述方法实施例中的相应内容,此处不再赘述。
图5示出了本申请另一实施例提供的网络切片装置的结构示意图。如图5所示,该网络切片装置包括:第二获取模块41以及执行模块42。其中,
第二获取模块41,用于获取中心节点分配的网络切片信息,以及历史时段与所述请求方相关的网络连接统计信息;
执行模块42,用于在需建立用于传输所述请求方所提供网络数据的网络连接时,根据所述网络切片信息及所述网络连接统计信息,为所述网络连接确定适配的网络切片。
进一步地,上述执行模块43,还用于:存储将所述为所述网络连接确定的网络切片,以便后续基于应答速率确定为所述网络连接分配的网络切片是否合适。
这里需要说明的是:本实施例提供的装置可实现上述相应方法实施例中描述的技术方案,上述各模块或单元具体实现的原理可参见上述方法实施例中的相应内容,此处不再赘述。
图6示出了本申请一实施例提供一个电子设备的结构示意图。如图6所示,所述电子设备包括:存储器51以及处理器52。存储器51可被配置为存储其它各种数据以支持在传感器上的操作。这些数据的示例包括用于在传感器上操作的任何应用程序或方法的指令。存储器51可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
所述存储器51,用于存储一条或多条计算机指令;
所述处理器52,与所述存储器51耦合,用于执行所述存储器51中存储的一条或多条计算机指令,以实现上述图2中示出的网络切片方法。
进一步,如图6所示,电子设备还包括:通信组件53、电源组件55及显示器56等其它组件。图6中仅示意性给出部分组件,并不意味着电子设备只包括图6所示组件。
本申请一实施例还提供另一种电子设备,该电子设备的结构同上述图6类似。具体的,所述电子设备包括:存储器和处理器。所述存储器,用于存储一条或多条计算机指令;所述处理器,与所述存储器耦合,用于执行所述存储器中存储的一条或多条计算机指令,以实现上述图3中示出的网络切片方法。
进一步,如图6所示,电子设备还包括:通信组件、电源组件等其它组件。图6中仅示意性给出部分组件,并不意味着该电子设备只包括图6所示组件。
相应地,本申请实施例还提供一种存储有计算机程序的计算机可读存储介质,所述计算机程序被计算机执行时能够实现上述各实施例提供的网络切片方法步骤或功能。
另外,本申请实施例还提供一种计算机程序产品。该计算机程序产品包括计算机程序或指令,当所述计算机程序或指令被处理器执行时,致使所述处理器能够实现上述各实施例提供的网络切片方法步骤或功能。
综上各实施例所提供的技术方案可总结出一个发明思路:
先按照请求方的网络需求信息做边缘节点维度的网络切片,再做单设备维度的网络切片,再做更细粒度的单网络连接对应的网络切片(或称为流粒度或单请求粒度的网络切片)。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。