本发明属于人工智能及云计算,具体涉及一种基于虚拟化平台的网络优先级实现方法。
背景技术:
1、云计算服务器上部署着大量虚拟机和容器,这些虚拟机或者容器可能会运行一个或者多个服务,这些服务的业务流量最后在物理网卡聚集发送。目前商用虚拟化产品是以虚拟机或者容器为单元手动设置优先级,也即,首先对一个单元的流量进行优先级标记,然后针对该标记进行流量分类并设定对应的优先级。该模式最大的问题是不能根据流量内容进行优先级设定,只能以虚拟机或者容器为单元,而且当虚拟机或者容器数量很多时,手动设置优先级非常不便利。
2、目前流量分类技术也有很多种,大致有如下三类:基于端口的流量分类方法,基于有效载荷的分类和基于统计特征的流量分类。目前动态端口号广泛使用及协议的增多导致基于端口的分类准确率降低。基于有效载荷的分类主要是对载荷中某些特征字进行匹配,这种方式有特征选取局限性而且无法应用到加密流量。基于统计特征的分类需要人工指定特征,而且需要统计整个流的信息特征,明显不适合网络流量的实时分类。
技术实现思路
1、本发明实施例的目的是提供一种基于虚拟化平台的网络优先级实现方法,以解决手动设置优先级不便利、网络流量无法实时分类的技术问题。
2、为了解决上述技术问题,本发明是这样实现的:
3、第一方面,本发明实施例提供了一种基于虚拟化平台的网络优先级实现方法,其特征在于,包括:
4、通过ovs网桥获取单元的目标业务流量并发送所述目标业务流量至流量分类模块;
5、所述流量分类模块对所述目标业务流量进行分类,并按照分类结果通过ovs桥的多个端口将分类后的所述目标业务流量传输至所述ovs桥;
6、所述ovs桥将分类后的所述目标业务流量传输到物理网卡;
7、所述物理网卡对分类后的所述目标业务流量进行优先级设定;
8、其中,所述单元包括虚拟机和容器中的至少一个。
9、可选地,所述ovs桥将分类后的所述目标业务流量传输到物理网卡包括:
10、所述ovs桥根据所述多个端口分别接收到的第一业务流量修改每个所述第一业务流量对应的报文tos值;
11、所述ovs桥将修改报文tos值后的每个所述第一业务流量传输到所述物理网卡;
12、所述第一业务流量为所述目标业务流量分类后的业务流量。
13、可选地,所述ovs桥根据所述多个端口分别接收到的第一业务流量修改每个所述第一业务流量对应的报文tos值包括:
14、所述ovs桥根据所述多个端口分别接收到的第一业务流量修改每个所述第一业务流量对应的报文tos值的优先权子字段;
15、所述优先权子字段的值用于标记所述第一业务流量的类别;
16、所述物理网卡对分类后的所述目标业务流量进行优先级设定包括:
17、所述物理网卡根据所述第一业务流量的类别进行优先级设定。
18、可选地,在所述ovs桥根据所述多个端口分别接收到的第一业务流量修改每个所述第一业务流量对应的报文tos值之后,在所述ovs桥将修改报文tos值后的每个所述第一业务流量传输到所述物理网卡之前,所述方法还包括:
19、设置多个过滤器,所述多个过滤器对应不同的报文tos值。
20、可选地,所述物理网卡对分类后的所述目标业务流量进行优先级设定包括:
21、所述物理网卡通过tc指令对分类后的所述目标业务流量进行优先级设定。
22、可选地,在所述通过ovs网桥获取单元的目标业务流量后,所述方法还包括:
23、以帧为单位提取所述目标业务流量并将所述目标业务流量转换为灰度图像;
24、所述发送所述目标业务流量至流量分类模块包括:
25、所述ovs网桥发送所述灰度图像至流量分类模块;
26、所述流量分类模块对所述目标业务流量进行分类包括:
27、所述流量分类模块对所述灰度图像进行分类。
28、可选地,在所述流量分类模块对所述灰度图像进行分类之前,所述方法还包括:
29、获取目标数据集并将所述目标数据集转换为目标灰度图像;
30、将所述目标灰度图像划分为训练集、测试集和验证集以训练目标卷积神经网络;
31、根据训练后的目标卷积神经网络得到神经网络模型;
32、所述流量分类模块对所述灰度图像进行分类包括:
33、所述流量分类模块基于所述神经网络模型对所述灰度图像进行分类。
34、可选地,所述以帧为单位提取所述目标业务流量并将所述目标业务流量转换为灰度图像包括:
35、以帧为单位提取所述目标业务流量;
36、根据目标映射关系将所述目标业务流量转换为灰度图像;
37、所述目标映射关系为帧数据中的一个字节与一个像素之间的映射关系。
38、可选地,所述目标业务流量包括多个流量数据大小不同的第二业务流量;所述以帧为单位提取所述目标业务流量包括:
39、以帧为单位分别提取多个所述流量数据大小不同的第二业务流量;
40、根据目标映射关系将多个所述第二业务流量转换为多个灰度图像;
41、其中,所述多个灰度图像的长和宽的尺寸相同。
42、可选地,在以帧为单位分别提取多个所述流量数据大小不同的第二业务流量之后,在根据目标映射关系将多个所述第二业务流量转换为多个灰度图像之前,所述方法还包括:
43、获取每个所述第二业务流量的流量字节数,根据所述流量字节数确定每个所述第二业务流量对应的灰度图像的尺寸;
44、在所述灰度图像包含的字节数大于所述流量字节数的情况下,在所述灰度图像中填充预设像素。
45、第二方面,本发明实施例提供了一种基于虚拟化平台的网络优先级实现装置,其特征在于,包括:
46、ovs网桥,用于获取单元的目标业务流量并发送所述目标业务流量至流量分类模块;
47、流量分类模块,用于对所述目标业务流量进行分类,并按照分类结果通过ovs桥的多个端口将分类后的所述目标业务流量传输至所述ovs桥;
48、ovs桥,用于将分类后的所述目标业务流量传输到物理网卡;
49、物理网卡,用于对分类后的所述目标业务流量进行优先级设定;
50、其中,所述单元包括虚拟机和容器中的至少一个。
51、可选地,所述ovs桥具体用于:
52、根据所述多个端口分别接收到的第一业务流量修改每个所述第一业务流量对应的报文tos值;
53、将修改报文tos值后的每个所述第一业务流量传输到所述物理网卡;
54、所述第一业务流量为所述目标业务流量分类后的业务流量。
55、可选地,所述ovs桥还用于:
56、根据所述多个端口分别接收到的第一业务流量修改每个所述第一业务流量对应的报文tos值的优先权子字段;
57、所述优先权子字段的值用于标记所述第一业务流量的类别;
58、所述物理网卡具体用于:
59、根据所述第一业务流量的类别进行优先级设定。
60、可选地,所述基于虚拟化平台的网络优先级实现装置还包括:
61、设置模块,用于设置多个过滤器,所述多个过滤器对应不同的报文tos值。
62、可选地,所述物理网卡具体用于:
63、所述物理网卡通过tc指令对分类后的所述目标业务流量进行优先级设定。
64、可选地,所述基于虚拟化平台的网络优先级实现装置还包括:
65、转换模块,用于以帧为单位提取所述目标业务流量并将所述目标业务流量转换为灰度图像;
66、所述ovs网桥具体用于:
67、发送所述灰度图像至流量分类模块;
68、所述流量分类模块具体用于:
69、所述流量分类模块对所述灰度图像进行分类。
70、可选地,所述基于虚拟化平台的网络优先级实现装置还包括:
71、第一获取模块,用于获取目标数据集并将所述目标数据集转换为目标灰度图像;
72、划分模块,用于将所述目标灰度图像划分为训练集、测试集和验证集以训练目标卷积神经网络;
73、计算模块,用于根据训练后的目标卷积神经网络得到神经网络模型;
74、所述流量分类模块具体用于:
75、基于所述神经网络模型对所述灰度图像进行分类。
76、可选地,转换模块具体用于
77、以帧为单位提取所述目标业务流量;
78、根据目标映射关系将所述目标业务流量转换为灰度图像;
79、所述目标映射关系为帧数据中的一个字节与一个像素之间的映射关系。
80、可选地,所述目标业务流量包括多个流量数据大小不同的第二业务流量;所述转换模块具体用于:
81、以帧为单位分别提取多个所述流量数据大小不同的第二业务流量;
82、根据目标映射关系将多个所述第二业务流量转换为多个灰度图像;
83、其中,所述多个灰度图像的长和宽的尺寸相同。
84、可选地,所述基于虚拟化平台的网络优先级实现装置还包括:
85、第二获取模块,用于获取每个所述第二业务流量的流量字节数,根据所述流量字节数确定每个所述第二业务流量对应的灰度图像的尺寸;
86、填充模块,用于在所述灰度图像包含的字节数大于所述流量字节数的情况下,在所述灰度图像中填充预设像素。
87、在本发明实施例中,通过ovs网桥获取单元的目标业务流量并发送所述目标业务流量至流量分类模块,所述流量分类模块对所述目标业务流量进行分类,并按照分类结果通过ovs桥的多个端口将分类后的所述目标业务流量传输至所述ovs桥,所述ovs桥将分类后的所述目标业务流量传输到物理网卡,所述物理网卡对分类后的所述目标业务流量进行优先级设定,其中,所述单元包括虚拟机和容器中的至少一个。本发明实施例将发往物理网卡的流量进行分类,然后针对分类结果,送入不同的优先级队列。可以进行流量实时分类,并针对整个服务器流量进行优先级设定,无须对虚拟机或者容器进行设置,方便管理。