一种软件定义云网融合架构及路由实现方法

未命名 07-23 阅读:88 评论:0


1.本发明属于计算机网络和云计算技术领域,涉及一种云网融合架构及一种软件定义范式的云资源自适应动态调用方法。


背景技术:

2.在现有的云计算和计算机网络技术体系和业务体系中,云计算和网络融合度较低。云服务有相应的服务商,产生了如阿里、腾讯、百度等面向不同场景的云服务和业务,并形成了完整的技术体系。网络通信有对应的运营商,如移动、联通、电信等网络运营商,以及科研、教育、工业等领域网络,也结合各自的业务形成了完整的技术体系。云计算和网络天然隔离导致难以实现云网的深度融合,如某it公司开发一项业务,需分别向云服务供应商申请相应的计算和存储服务,若此公司对网络服务质量有需求,仍需向网络运营商申请相应的网络资源。云网的业务体系和技术体系的分裂导致若干问题,如自动化程度低、算力孤岛、网络负载不均衡、云网业务不匹配等问题。
3.云网融合程度低导致it业务自动化程度难以提高。业务对云计算和网络服务质量的需求往往是同时存在的,云计算和网络割裂的业务体系和技术体系导致难以实现以用户需求为导向的云网资源统一自动编排,用户需分别向云服务和网络服务的提供者分别申请相应的资源,且需用户自行提出云服务和网络服务的需求,已成为制约云网资源配置自动化程度的瓶颈。
4.云网分散的体系导致算力孤岛现象。边缘计算设备和智能终端设备的大量部署,虽然解决了网络中海量数据上传至云计算中心导致的带宽紧缺、网络拥塞、时延过长的问题,但也使得算力资源呈现泛在部署的趋势。边缘计算节点难以进行有效的协同处理任务,当某节点的算力资源无法满足计算密集型任务的算力资源需求时,可能会同时存在另外一部分节点处于空闲状态,导致边缘网络的算力资源无法得到充分的利用。
5.业务与网络负载的不协调可能会导致网络负载不均衡的现象。当新加载的业务无法感知现有网络负载情形时,可能会产生部分链路处于严重超负载的情形下,另一部分链路处于空闲状态,导致整体链路利用率低,同时却存在部分业务的服务质量无法获得保障。
6.没有云网一体的资源配置体系,也会导致云网业务不匹配的现象。例如,部分业务在云计算环境中运行,同时存在者大量的数据传输,若网络服务质量无法保障数据的传输效率,可能会验证制约计算资源的有效运用,降低用户体验;同样地,当部分业务已获得网络带宽的保障,但是云计算资源无法保障实时计算时,需要将大量数据储存或者丢弃,无疑也会降低用户体验。


技术实现要素:

7.本发明的目的是:为了解决现有技术中不能满足智慧社会系统为牵引的云网资源统一纳管需求,提出一种软件定义云网融合架构及路由实现方法。
8.本发明的一个技术方案是:一种软件定义云网融合架构,它包括:云资源实时感知
单元、网络质量实时感知单元、云网资源统一纳管单元、软件定义算力路由计算单元。
9.所述云资源实时感知单元用于对算力节点,即算力卸载端的计算/存储资源进行实时感知,并将感知结果向所述云网资源统一纳管单元上传。
10.所述网络质量实时感知单元用于实时感知网络拓扑及链路流量,并与所述云网资源统一纳管单元进行数据传输。
11.所述云网资源统一纳管单元布置于软件定义网络控制器中,实时接受来自所述云资源实时感知单元发送的计算/存储信息以及所述网络质量实时感知单元发送的网络信息,在软件定义控制器内构建包括云平台计算和存储信息以及网络信息的计算/存储/网络全局视图。具体的,所述计算/存储/网络全局视图可以包括:集群内算力节点的ip地址、主机名、以及剩余算力、剩余内存信息,并包括网络拓扑关系和链路流量信息。
12.所述软件定义算力路由计算单元布置于所述软件定义网络控制器中,根据算力请求端发送的算力请求,结合所述云网资源统一纳管单元所提供的计算/存储/网络全局视图,计算从算力请求端到算力卸载端的路由,并以流表的形式将路由配置到所述软件定义交换机中。
13.在上述方案的基础上,进一步的,所述云资源实时感知单元布置于各个云平台的kubernetes集群中,集群中任一节点均为算力节点,均可作为算力卸载端。所述云资源实时感知单元通过算力感知模块对kubernetes集群中任一算力卸载端的计算/存储资源进行实时感知,并将感知结果通过socket向所述云网资源统一纳管单元上传。所述计算/存储信息包括:集群内算力节点的ip地址、主机名、剩余算力以及剩余内存。
14.更进一步的,所述算力感知模块基于cncf开源项目prometheus,要实现对各算力节点计算/存储资源实际使用情况的感知,需要在每个算力节点上部署一个监控进程。所述算力感知模块的部署方式为:在kubernetes集群中的master节点部署prometheus server,并以daemonset方式在该集群的所有node节点上部署一个节点数据感知器node-exporter。prometheus serve通过node-exporter感知当前每个节点的计算/存储资源使用情况。然后编码实现所述云资源实时感知单元对感知数据的自动获取,以为服务的形式作为监控组件存在,该部分代码的核心原理是http请求的发送和响应数据的处理,向prometheus server提供的http api接口发送获取算力节点信息的查询请求,prometheus server接到请求后便将数据以json格式返回给监控组件,监控组件对数据进行解码,提取对应节点的算力/存储信息,并存储到相应的数据结构,作为软件定义算力路由计算单元计算路由的依据
15.在上述方案的基础上,进一步的,所述网络质量实时感知单元由软件定义控制器中的软件模块和软件定义交换机共同组成;所述网络质量实时感知单元通过网络感知模块对网络链路信息进行实时感知;所述网络感知模块通过lldp协议进行网络拓扑发现,通过openflow协议获取端口及收发包信息,计算链路流量,并将包括网络拓扑及链路流量的网络信息通过socket接口向所述云网资源统一纳管单元传输;所述网络链路信息包括网络拓扑关系、链路流量信息。
16.更进一步的,所述网络质量实时感知单元进行网络拓扑发现的方法为:
17.a.所述软件定义网络控制器构造packetout消息向软件定义交换机s1的三个端口分别发送lldp数据包,其中将chassis id和port id分别置为s1的dpid和端口号。
18.b.所述软件定义网络控制器向软件定义交换机s1下发流表,流表规则为:将从所
述软件定义网络控制器端口收到的lldp数据包从对应端口发送出去。
19.c.所述软件定义网络控制器向软件定义交换机s2下发流表,流表规则为:将从非所述软件定义网络控制器收到lldp数据包发送给所述软件定义网络控制器。
20.d.所述软件定义网络控制器通过解析lldp数据包,得到链路的源交换机,源接口,通过收到的packetin消息知道目的交换机和目的接口,由此计算出s1与s2之间的拓扑。
21.网络感知模块基于openflow协议进行对链路流量进行实时感知。软件定义网络控制器周期性地向软件定义交换机周期下发获取统计消息,请求软件定义交换机的端口流量统计信息和请求流表项统计信息;根据软件定义交换机统计信息计算流量信息。
22.本发明的另一个技术方案是:一种软件定义云网融合路由实现方法,它基于如上所述的软件定义云网融合架构,包括以下步骤:
23.a.算力请求端向软件定义网络控制器发起算力请求。
24.b.软件定义算力路由计算单元解析算力标识,提取算力需求。
25.c.云网资源统一纳管单元根据网络中各个链路负载状态和各个算力节点的实时算力状态更新计算/存储/网络全局视图,同时维护网络中网元和算力节点的拓扑关系。
26.d.软件定义算力路由计算单元根据算力请求和流量与算力矩阵计算出合适的算力卸载点以及从需求点到算力卸载点的路由。
27.d1.若云网资源统一纳管单元中的计算/存储/网络全局视图不存在满足算力请求端的算力卸载点或者无法提供所需的网络服务质量保障,则拒绝算力请求端,任务结束。
28.d2.若云网资源统一纳管单元中的计算/存储/网络全局视图满足算力请求端的算力和网络服务质量需求,则软件定义算力路由计算单元将计算的路由结果以流表的形式安装到软件定义交换机中,同时向算力请求端和算力卸载端发送调度消息,算力请求端、网络、算力卸载端根据结果进行算力均衡,任务结束。
29.本发明基于软件定义网络三层架构,主要包括控制面的算网协同调度,数据面的网络融合感知,管理和服务面的算力资源编排等。云网融合架构应该具备统一纳管底层计算资源、存储资源和网络资源的能力,并能够将底层基础设施资源以统一的标准进行度量,抽象为信息要素加载在网络报文中,通过网络进行共享。
30.有益效果:(1)本发明在进行计算任务卸载的过程中,同时实时感知网络负载状态,根据负载状态设计满足服务质量保障的路由,从云网融合的视角为用户的业务提供全局调度,统筹兼顾网络与算力,可以有效保障用户的业务需求。
31.(2)本发明中的云资源实时感知单元能够对异构算力进行度量,为云网融合模式提供算力全局视图。
32.(3)本发明将计算/存储资源纳入路由考虑范畴,将算力较为空闲的计算平台作为路由的目的端,从而有效地将算力与网络进行协同管理,缓解算力负载不均衡的问题。
附图说明
33.图1为本发明中所述架构示意图。
34.图2为本发明实施例2中算力感知模块的架构图;
35.图3为本发明实施例3中网络拓扑发现的过程示意图;
36.图4为本发明中所述方法的流程图;
37.图5为本发明实施例4中所构建的流量与算力矩阵示意图。
具体实施方式
38.实施例1:参见附图1,一种软件定义云网融合架构,它包括:云资源实时感知单元、网络质量实时感知单元、云网资源统一纳管单元、软件定义算力路由计算单元。
39.所述云资源实时感知单元用于对算力节点,即算力卸载端的计算/存储资源进行实时感知,并将感知结果向所述云网资源统一纳管单元上传。
40.所述网络质量实时感知单元用于实时感知网络拓扑及链路流量,并与所述云网资源统一纳管单元进行数据传输。
41.所述云网资源统一纳管单元布置于软件定义网络控制器中,实时接受来自所述云资源实时感知单元发送的计算/存储信息以及所述网络质量实时感知单元发送的网络信息,在软件定义控制器内构建包括云平台计算和存储信息以及网络信息的计算/存储/网络全局视图。本例中,所述计算/存储/网络全局视图包括:集群内算力节点的ip地址、主机名、以及剩余算力、剩余内存信息,并包括网络拓扑关系和链路流量信息。
42.所述软件定义算力路由计算单元布置于所述软件定义网络控制器中,根据算力请求端发送的算力请求,结合所述云网资源统一纳管单元所提供的计算/存储/网络全局视图,计算从算力请求端到算力卸载端的路由,并以流表的形式将路由配置到所述软件定义交换机中。
43.实施例2:参见附图2,在实施例1的基础上,进一步的:
44.所述云资源实时感知单元布置于各个云平台的kubernetes集群中,集群中任一节点均为算力节点,均可作为算力卸载端。所述云资源实时感知单元通过算力感知模块对kubernetes集群中任一算力卸载端的计算/存储资源进行实时感知,并将感知结果通过socket向所述云网资源统一纳管单元上传。所述计算/存储信息包括:集群内算力节点的ip地址、主机名、剩余算力以及剩余内存。
45.所述算力感知模块基于cncf开源项目prometheus,要实现对各算力节点计算/存储资源实际使用情况的感知,需要在每个算力节点上部署一个监控进程。所述算力感知模块的部署方式为:在kubernetes集群中的master节点部署prometheus server,并以daemonset方式在该集群的所有node节点上部署一个节点数据感知器node-exporter。prometheus serve通过node-exporter感知当前每个节点的计算/存储资源使用情况。然后编码实现所述云资源实时感知单元对感知数据的自动获取,以为服务的形式作为监控组件存在,该部分代码的核心原理是http请求的发送和响应数据的处理,向prometheus server提供的http api接口发送获取算力节点信息的查询请求,prometheus server接到请求后便将数据以json格式返回给监控组件,监控组件对数据进行解码,提取对应节点的算力/存储信息,并存储到相应的数据结构,作为软件定义算力路由计算单元计算路由的依据
46.实施例3:参见附图3,在实施例1或2的基础上,进一步的:
47.所述网络质量实时感知单元由软件定义控制器中的软件模块和软件定义交换机共同组成;所述网络质量实时感知单元通过网络感知模块对网络链路信息进行实时感知;所述网络感知模块通过lldp协议进行网络拓扑发现,通过openflow协议获取端口及收发包信息,计算链路流量,并将包括网络拓扑及链路流量的网络信息通过socket接口向所述云
网资源统一纳管单元传输;所述网络链路信息包括网络拓扑关系、链路流量信息。
48.所述网络质量实时感知单元进行网络拓扑发现的方法为:
49.a.所述软件定义网络控制器构造packetout消息向软件定义交换机s1的三个端口分别发送lldp数据包,其中将chassis id和port id分别置为s1的dpid和端口号。
50.b.所述软件定义网络控制器向软件定义交换机s1下发流表,流表规则为:将从所述软件定义网络控制器端口收到的lldp数据包从对应端口发送出去。
51.c.所述软件定义网络控制器向软件定义交换机s2下发流表,流表规则为:将从非所述软件定义网络控制器收到lldp数据包发送给所述软件定义网络控制器。
52.d.所述软件定义网络控制器通过解析lldp数据包,得到链路的源交换机,源接口,通过收到的packetin消息知道目的交换机和目的接口,由此计算出s1与s2之间的拓扑。
53.网络感知模块基于openflow协议进行对链路流量进行实时感知。软件定义网络控制器周期性地向软件定义交换机周期下发获取统计消息,请求软件定义交换机的端口流量统计信息和请求流表项统计信息;根据软件定义交换机统计信息计算流量信息。
54.实施例4:参见附图4,一种软件定义云网融合路由实现方法,它基于如上实施例1或2或3所述的软件定义云网融合架构,包括以下步骤:
55.a.算力请求端向软件定义网络控制器发起算力请求。
56.b.软件定义算力路由计算单元解析算力标识,提取算力需求。
57.c.云网资源统一纳管单元根据网络中各个链路负载状态和各个算力节点的实时算力状态更新计算/存储/网络全局视图,同时维护网络中网元和算力节点的拓扑关系。
58.d.软件定义算力路由计算单元根据算力请求和流量与算力矩阵计算出合适的算力卸载点以及从需求点到算力卸载点的路由。
59.d1.若云网资源统一纳管单元中的计算/存储/网络全局视图不存在满足算力请求端的算力卸载点或者无法提供所需的网络服务质量保障,则拒绝算力请求端,任务结束。
60.d2.若云网资源统一纳管单元中的计算/存储/网络全局视图满足算力请求端的算力和网络服务质量需求,则软件定义算力路由计算单元将计算的路由结果以流表的形式安装到软件定义交换机中,同时向算力请求端和算力卸载端发送调度消息,算力请求端、网络、算力卸载端根据结果进行算力均衡,任务结束。
61.实施例5:在实施例4的基础上,对路由实现方法做进一步的说明:
62.图5为云网资源统一纳管单元所构建的流量与算力矩阵,其中:表为软件定义网络交换机,即路由节点;表示云上的算力节点;表示路由节点至路由节点单位时间t内的流量为,表示路由节点与路由节点单位时间t内的流量为。同理,,,,表示类似含义。表示交换机与算力节点之间存在链路,且该算力节点的在时刻t的算力大小为。
63.表示交换机与算力节点之间不存在链路。同理,任意表示类似含义。
64.假设算力请求端在t1时刻发起的算力请求大小为c,对链路带宽需求为w。云网资源统一纳管单元在t2时刻接收到该算力请求,则单位时间t路由节点至路由节点之间的流量为l
12
,可知此t时刻内路由节点至路由节点之间链路使用带宽可表示为
65.,已知链路总带宽为定值w
12
,则该链路剩余可用带宽可表示为w
s12
=w
12-w
12
,其他交换机链路间带宽同理;t2时刻各算力节点的算力已知。
66.假设算力节点的剩余算力从大到小表示为:c
m1
≥c
m2
≥...≥c
mi
≥...≥c
mn
,若c》cmn
,则不存在满足算力需求端的算力卸载点,拒绝算力请求端,任务结束。
67.若存在n(n》0)个算力节点剩余算力c
mi
≥c,则对分别路由到n个算力节点的路径进行带宽进行统计,假设链路总带宽一定,则使用带宽越大,剩余可用带宽越小,该n条路径的剩余可用带宽从大到小依次表示为:w
sm1
》w
sm2
...》w
smi
》...》w
smn
,若w
sm1
《w,则无法提供所需的网络服务质量保障,拒绝算力请求端,任务结束。若算力节点c
mi
对应的链路可用带宽w
smi
≥w,则选定该节点为算力卸载端,否则,对c
m(i+1)
进行同样判断,直到找到符合条件的算力卸载端接受算力请求端,任务结束。
68.虽然,上文中已经用一般性说明及具体实施例对本发明作了详尽的描述,但在本发明基础上,可以对之作一些修改或改进,这对本领域技术人员而言是显而易见的。因此,在不偏离本发明精神的基础上所做的这些修改或改进,均属于本发明要求保护的范围。

技术特征:
1.一种软件定义云网融合架构,其特征在于,它包括:云资源实时感知单元、网络质量实时感知单元、云网资源统一纳管单元、软件定义算力路由计算单元;所述云资源实时感知单元用于对算力节点,即算力卸载端的计算/存储资源进行实时感知,并将感知结果向所述云网资源统一纳管单元上传;所述网络质量实时感知单元用于实时感知网络拓扑及链路流量,并与所述云网资源统一纳管单元进行数据传输;所述云网资源统一纳管单元布置于软件定义网络控制器中,实时接受来自所述云资源实时感知单元发送的计算/存储信息以及所述网络质量实时感知单元发送的网络信息,在软件定义控制器内构建包括云平台计算和存储信息以及网络信息的计算/存储/网络全局视图;所述软件定义算力路由计算单元布置于所述软件定义网络控制器中,根据算力请求端发送的算力请求,结合所述云网资源统一纳管单元所提供的计算/存储/网络全局视图,计算从算力请求端到算力卸载端的路由,并以流表的形式将路由配置到所述软件定义交换机中。2.如权利要求1所述的一种软件定义云网融合架构,其特征在于,所述云资源实时感知单元布置于各个云平台的kubernetes集群中;所述云资源实时感知单元通过算力感知模块对kubernetes集群中任一算力卸载端的计算/存储资源进行实时感知,并将感知结果通过socket向所述云网资源统一纳管单元上传;所述计算/存储信息包括:集群内算力节点的ip地址、主机名、剩余算力以及剩余内存。3.如权利要求2所述的一种软件定义云网融合架构,其特征在于,所述算力感知模块的部署方式为:在kubernetes集群中的master节点部署prometheus server,并以daemonset方式在该集群的所有node节点上部署一个节点数据感知器node-exporter;prometheus serve通过node-exporter感知当前每个节点的计算/存储资源使用情况。4.如权利要求1所述的一种软件定义云网融合架构,其特征在于,所述网络质量实时感知单元由软件定义控制器中的软件模块和软件定义交换机共同组成;所述网络质量实时感知单元通过网络感知模块对网络链路信息进行实时感知;所述网络感知模块通过lldp协议进行网络拓扑发现,通过openflow协议获取端口及收发包信息,计算链路流量,并将包括网络拓扑及链路流量的网络信息通过socket接口向所述云网资源统一纳管单元传输;所述网络链路信息包括网络拓扑关系、链路流量信息。5.如权利要求4所述的一种软件定义云网融合架构,其特征在于,所述网络质量实时感知单元进行网络拓扑发现的方法为:a.所述软件定义网络控制器构造packetout消息向软件定义交换机s1的三个端口分别发送lldp数据包,其中将chassis id和port id分别置为s1的dpid和端口号;b.所述软件定义网络控制器向软件定义交换机s1下发流表,流表规则为:将从所述软件定义网络控制器端口收到的lldp数据包从对应端口发送出去;c.所述软件定义网络控制器向软件定义交换机s2下发流表,流表规则为:将从非所述软件定义网络控制器收到lldp数据包发送给所述软件定义网络控制器;d.所述软件定义网络控制器通过解析lldp数据包,得到链路的源交换机,源接口,通过收到的packetin消息知道目的交换机和目的接口,由此计算出s1与s2之间的拓扑。
6.如权利要求1所述的一种软件定义云网融合架构,其特征在于,所述计算/存储/网络全局视图包括:集群内算力节点的ip地址、主机名、以及剩余算力、剩余内存信息,并包括网络拓扑关系和链路流量信息。7.一种软件定义云网融合路由实现方法,它基于如权利要求1-6任一项所述的软件定义云网融合架构,其特征在于,包括以下步骤:a.算力请求端向软件定义网络控制器发起算力请求;b.软件定义算力路由计算单元解析算力标识,提取算力需求;c.云网资源统一纳管单元根据网络中各个链路负载状态和各个算力节点的实时算力状态更新计算/存储/网络全局视图,同时维护网络中网元和算力节点的拓扑关系;d.软件定义算力路由计算单元根据算力请求和流量与算力矩阵计算出合适的算力卸载点以及从需求点到算力卸载点的路由;d1.若云网资源统一纳管单元中的计算/存储/网络全局视图不存在满足算力请求端的算力卸载点或者无法提供所需的网络服务质量保障,则拒绝算力请求端,任务结束;d2.若云网资源统一纳管单元中的计算/存储/网络全局视图满足算力请求端的算力和网络服务质量需求,则软件定义算力路由计算单元将计算的路由结果以流表的形式安装到软件定义交换机中,同时向算力请求端和算力卸载端发送调度消息,算力请求端、网络、算力卸载端根据结果进行算力均衡,任务结束。

技术总结
本发明公开了一种软件定义云网融合架构,其技术方案是:云资源实时感知单元对算力卸载端的计算/存储资源进行感知;网络质量实时感知单元感知网络拓扑及链路流量;云网资源统一纳管单元实时获取各个云平台的计算资源和存储资源,形成包括云平台计算和存储信息以及网络链路信息的计算/存储/网络全局视图;软件定义算力路由计算单元根据算力请求端的算力请求,结合计算/存储/网络全局视图,计算从算力请求端到算力卸载端的路由,并以流表的形式将路由配置到软件定义交换机中。本发明在进行计算任务卸载的同时实时感知网络负载状态,根据负载状态设计满足服务质量保障的路由,从云网融合的视角为用户的业务提供全局调度统筹兼顾网络与算力。顾网络与算力。顾网络与算力。


技术研发人员:任双印 龚晓敏 王敬超
受保护的技术使用者:中国人民解放军军事科学院系统工程研究院
技术研发日:2023.03.23
技术公布日:2023/7/21
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐