一种策略生成方法、装置、电子设备和存储介质与流程

文档序号:31659662发布日期:2022-09-27 22:52阅读:57来源:国知局
一种策略生成方法、装置、电子设备和存储介质与流程

1.本发明涉及一种策略生成方法,尤其涉及一种策略生成方法、装置、电子设备和计算机存储介质。


背景技术:

2.随着网络架构从传统的互联网架构向虚拟化、混合云和容器化的升级变迁,对于网络安全的要求也愈来愈高,因此,采用微隔离技术实现对东西向流量隔离的需求,能够有效阻断恶意流量在数据中心网络内部的横向移动,提高数据中心安全性。这里,微隔离技术可以看作是细粒度更小的网络隔离技术,能够按角色、业务功能等多维度标签对需要隔离的虚拟机进行快速分组,灵活的配置虚拟机、业务应用之间的隔离策略,通过服务器间的访问控制,阻断勒索病毒在内部网络中的蔓延。
3.但是在网络环境中部署微隔离最大的问题是需要了解网络中虚拟机的数据流,以及虚拟机和服务之间的业务逻辑。目前,一般是厂商提供虚拟机的标签、分组功能等,由用户在手动配置虚拟机的标签和分组,并根据标签配置抽象化的策略,这种方法对用户要求较高,且策略配置工作量大,容易出错。因此,如何对虚拟机进行快速分组,并配置对应的访问策略是亟待解决的技术问题。


技术实现要素:

4.本发明提供了一种策略生成方法、装置、电子设备和计算机存储介质。
5.本发明实施例提供了一种策略生成方法,所述方法包括:
6.获取第一虚拟机集合的历史流量数据;所述第一虚拟机集合至少包括两个虚拟机;
7.根据所述历史流量数据,对所述第一虚拟机集合进行聚类处理,确定所述第一虚拟机集合的分组结果;
8.根据所述分组结果,生成各个分组中每一组的虚拟机的访问策略;所述访问策略用于确定所述每一组的虚拟机的访问行为。
9.上述方案中,所述根据所述历史流量数据,对所述第一虚拟机集合进行聚类处理,确定所述第一虚拟机集合的分组结果,包括:
10.根据聚类模型和所述历史流量数据,对所述第一虚拟机集合进行聚类处理,得到聚类结果;
11.对所述聚类结果的效果进行评估,得到评估值;
12.在所述评估值小于预设的第一阈值时,调整所述聚类模型的参数,重复执行对所述第一虚拟机集合进行聚类处理、以及对所述聚类结果的效果进行评估的步骤,直至所述评估值大于或等于所述预设的第一阈值;
13.将最近一次得到的聚类结果确定为所述第一虚拟机集合的分组结果。
14.上述方案中,所述生成各个分组中每一组的访问策略之后,还包括:
15.更新所述第一虚拟机集合的历史流量数据;
16.对更新后的历史流量数据进行聚类处理,更新所述第一虚拟机集合的分组结果;
17.根据更新后的分组结果,生成更新后的各个分组中每一组的虚拟机的访问策略。
18.上述方案中,所述生成各个分组中每一组的虚拟机的访问策略之后,还包括:
19.获取新增虚拟机集合的历史流量数据;所述新增虚拟机集合至少包括两个虚拟机;所述新增虚拟机集合的历史流量数据包括:所述新增虚拟机集合中各个虚拟机之间的历史流量数据、以及所述新增虚拟机集合中每个虚拟机与所述第一虚拟机集合之间的历史流量数据;
20.确定所述新增虚拟机集合中各个虚拟机之间的历史流量数据与所述新增虚拟机集合的历史流量数据的比例;
21.在所述比例大于预设的第二阈值的情况下,生成所述第二虚拟机集合的各个分组中每一组的虚拟机的访问策略;所述第二虚拟机集合包括:所述第一虚拟机集合和所述新增虚拟机集合;
22.在所述比例小于或等于预设的第二阈值的情况下,更新所述各个分组中每一组的虚拟机的访问策略。
23.上述方案中,所述生成所述第二虚拟机集合的各个分组中每一组的虚拟机的访问策略,包括:
24.对所述第二虚拟机集合的历史流量数据进行聚类处理,确定所述第二虚拟机集合的分组结果;
25.根据所述第二虚拟机集合的分组结果,生成所述第二虚拟机集合的各个分组中每一组的虚拟机的访问策略。
26.上述方案中,所述更新所述各个分组中每一组的虚拟机的访问策略,包括:
27.对所述新增虚拟机集合中每个虚拟机与所述第一虚拟机集合之间的历史流量数据进行分类处理,确定所述新增虚拟机集合的分组结果;
28.根据所述新增虚拟机集合的分组结果,更新所述各个分组中每一组的虚拟机的访问策略。
29.上述方案中,所述访问策略包括:所述每一组中的任一虚拟机允许访问组内的其它虚拟机,且不允许访问其它分组中的虚拟机。
30.本发明实施例还提供了一种策略生成装置,所述装置至少包括:
31.获取模块,用于获取第一虚拟机集合的历史流量数据;所述第一虚拟机集合至少包括两个虚拟机;
32.确定模块,用于根据所述历史流量数据,对所述第一虚拟机集合进行聚类处理,确定所述第一虚拟机集合的分组结果;
33.生成模块,用于根据所述分组结果,生成各个分组中每一组的虚拟机的访问策略;所述访问策略用于确定所述每一组的虚拟机的访问行为。
34.在一种实现方式中,所述确定模块,用于根据所述历史流量数据,对所述第一虚拟机集合进行聚类处理,确定所述第一虚拟机集合的分组结果,包括:
35.根据聚类模型和所述历史流量数据,对所述第一虚拟机集合进行聚类处理,得到聚类结果;
36.对所述聚类结果的效果进行评估,得到评估值;
37.在所述评估值小于预设的第一阈值时,调整所述聚类模型的参数,重复执行对所述第一虚拟机集合进行聚类处理、以及对所述聚类结果的效果进行评估的步骤,直至所述评估值大于或等于所述预设的第一阈值;
38.将最近一次得到的聚类结果确定为所述第一虚拟机集合的分组结果。
39.在一种实现方式中,在生成各个分组中每一组的访问策略之后,还包括:
40.更新所述第一虚拟机集合的历史流量数据;
41.对更新后的历史流量数据进行聚类处理,更新所述第一虚拟机集合的分组结果;
42.根据更新后的分组结果,生成更新后的各个分组中每一组的虚拟机的访问策略。
43.在一种实现方式中,在生成各个分组中每一组的虚拟机的访问策略之后,还包括:
44.获取新增虚拟机集合的历史流量数据;所述新增虚拟机集合至少包括两个虚拟机;所述新增虚拟机集合的历史流量数据包括:所述新增虚拟机集合中各个虚拟机之间的历史流量数据、以及所述新增虚拟机集合中每个虚拟机与所述第一虚拟机集合之间的历史流量数据;
45.确定所述新增虚拟机集合中各个虚拟机之间的历史流量数据与所述新增虚拟机集合的历史流量数据的比例;
46.在所述比例大于预设的第二阈值的情况下,生成所述第二虚拟机集合的各个分组中每一组的虚拟机的访问策略;所述第二虚拟机集合包括:所述第一虚拟机集合和所述新增虚拟机集合;
47.在所述比例小于或等于预设的第二阈值的情况下,更新所述各个分组中每一组的虚拟机的访问策略。
48.在一种实现方式中,所述生成所述第二虚拟机集合的各个分组中每一组的虚拟机的访问策略,包括:
49.对所述第二虚拟机集合的历史流量数据进行聚类处理,确定所述第二虚拟机集合的分组结果;
50.根据所述第二虚拟机集合的分组结果,生成所述第二虚拟机集合的各个分组中每一组的虚拟机的访问策略。
51.在一种实现方式中,所述更新所述各个分组中每一组的虚拟机的访问策略,包括:
52.对所述新增虚拟机集合中每个虚拟机与所述第一虚拟机集合之间的历史流量数据进行分类处理,确定所述新增虚拟机集合的分组结果;
53.根据所述新增虚拟机集合的分组结果,更新所述各个分组中每一组的虚拟机的访问策略。
54.在一种实现方式中,所述访问策略包括:所述每一组中的任一虚拟机允许访问组内的其它虚拟机,且不允许访问其它分组中的虚拟机。
55.本发明实施例还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述任意一种策略生成方法。
56.本发明实施例还提供了一种计算机存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述任意一种策略生成方法。
57.基于本发明实施例提供的一种策略生成方法、装置、电子设备及计算机存储介质,获取第一虚拟机集合的历史流量数据;所述第一虚拟机集合至少包括两个虚拟机;根据所述历史流量数据,对所述第一虚拟机集合进行聚类处理,确定所述第一虚拟机集合的分组结果;根据所述分组结果,生成各个分组中每一组的虚拟机的访问策略;所述访问策略用于确定所述每一组的虚拟机的访问行为。
58.可以看出,本发明实施例中,获取第一虚拟机集合的历史流量数据,这里,第一虚拟机集合至少包括两个虚拟机,根据第一虚拟机集合的历史流量数据,对第一虚拟机集合中的虚拟机进行聚类处理,即可以对第一虚拟机集合中的虚拟机进行分组,从而确定第一虚拟机集合的分组结果,根据分组结果,可以生成各个分组中每一组的虚拟机的访问策略,即各个分组中的虚拟机可以根据对应分组的访问策略确定访问行为。可以看出,本发明实施例中,基于虚拟机的历史流量数据,对虚拟机进行快速分组,并且根据分组结果生成相应的访问策略,能够有效提高网络环境中部署虚拟机的效率,也能够降低网络安全访问控制的复杂度。
59.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,而非限制本技术。
附图说明
60.图1为本发明实施例提供的一种策略生成方法的流程示意图;
61.图2为本发明实施例提供的第一虚拟机集合的网络分段结果的示意图;
62.图3为本发明实施例提供的一个分组中虚拟机的访问策略的访问关系拓扑图;
63.图4为本发明实施例提供的另一种策略生成方法的流程示意图;
64.图5本发明实施例提供的对新增虚拟机集合进行分类处理的流程示意图;
65.图6本发明实施例提供的为本发明实施例提供的一种策略生成方法的一个具体实现的流程示意图;
66.图7发明实施例提供的为本发明实施例提供的另一种策略生成方法的一个具体实现的流程示意图;
67.图8发明实施例提供的为本发明实施例提供的又一种策略生成方法的一个具体实现的流程示意图;
68.图9为本发明实施例提供的一种策略生成装置的示意图;
69.图10为本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
70.针对在网络环境中部署虚拟机时,虚拟机的访问策略配置工作量大,容易出错的问题,提出本发明实施例的技术方案。以下结合附图及实施例,对本发明实施例进行进一步详细说明。应当理解,此处所提供的实施例仅仅用以解释本发明,并不用于限定本发明。另外,以下所提供的实施例是用于实施本发明的部分实施例,而非提供实施本发明的全部实施例,在不冲突的情况下,本发明实施例记载的技术方案可以任意组合的方式实施。
71.需要说明的是,在本发明实施例中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的方法或者装置不仅包括所明确记载的要
素,而且还包括没有明确列出的其他要素,或者是还包括为实施方法或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个......”限定的要素,并不排除在包括该要素的方法或者装置中还存在另外的相关要素(例如方法中的步骤或者装置中的单元,例如的单元可以是部分电路、部分处理器、部分程序或软件等等)。
72.本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括a、b、c中的至少一种,可以表示包括从a、b和c构成的集合中选择的任意一个或多个元素。
73.例如,本发明实施例提供的一种策略生成方法包含了一系列的步骤,但是本发明实施例提供的一种策略生成方法不限于所记载的步骤,同样地,本发明实施例提供的一种策略生成装置包括了一系列模块,但是本发明实施例提供的一种策略生成装置不限于包括所明确记载的模块,还可以包括为获取相关信息、或基于信息进行处理时所需要设置的模块。
74.本发明实施例可以基于终端和/或服务器实现,这里,终端可以是瘦客户机、厚客户机、手持或膝上设备、基于微处理器的系统、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机系统,等等。服务器可以是小型计算机系统﹑大型计算机系统和包括上述任何系统的分布式云计算技术环境,等等。
75.服务器等电子设备可以包括执行计算机指令的程序模块。通常,程序模块可以包括例程、程序、目标程序、组件、逻辑、数据结构等等,它们执行特定的任务。计算机系统/服务器可以在分布式云计算环境中实施,分布式云计算环境中,任务是由通过通信网络链接的远程处理设备执行的。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。
76.图1为本发明实施例提供的一种策略生成方法的流程示意图,如图1所示,该流程可以包括:
77.步骤101:获取第一虚拟机集合的历史流量数据;第一虚拟机集合至少包括两个虚拟机。
78.本发明实施例中,虚拟机是指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统,且在实体计算机中能够完成的工作在虚拟机中都能够实现。第一虚拟机集合是指在网络环境中运行的所有虚拟机。
79.本发明实施例中,可以基于网际互连协议的数据流信息输出标准(internet protocol flow information export,ipfix)采集第一虚拟机集合中虚拟机间的历史流量数据,这里,历史流量数据可以是东西向流量数据,需要说明的是,东西向流量数据是网络环境中的一种网络流量模式,包括网络环境内虚拟机之间的流量数据,因此,可以根据虚拟机的历史流量数据可以确定虚拟机之间的访问关系。
80.示例性地,第一虚拟机集合中一个虚拟机的一条历史流量数据可以表示为:
81.[192.168.0.2,172.16.0.16,3389,60075,6,0,103374,6934316,2018-01-01t01:11:35z,2018-01-01t01:58:50z,d2bec097-bd19-11ea-b9a8-deaab7670f1c,d2bee7a9-bd19-11ea-b41f-deaab7670f1c],这里,对该历史流量数据的字段进行说明,如表1所示,表1为历史流量数据的字段含义。
[0082][0083][0084]
表1
[0085]
本发明实施例中,在获取到第一虚拟机集合的历史流量数据后,可以对历史流量数据进行预处理,预处理包括:加载历史流量数据、进行数据去重、去除缺省数据、过滤历史流量数据中的有效字段信息、对具有相同源网际互连协议地址和目的网际互连协议地址的历史流量数据进行聚合,将其总的包数和总字节数进行累加。需要说明的是,有效字段信息包括:源网际互连协议地址、目的网际互连协议地址、数据流向、总的包数、总字节数,从而可以确定源虚拟机和目的虚拟机之间的数据流向,以及数据流量的大小,总的包数或总字节数越大,可以确定源虚拟机和目的虚拟机之间的访问频率越高。
[0086]
本发明实施例中,在对历史流量数据进行预处理后,还可以对历史流量数据进行特征提取,即对无重复的网际互连协议地址进行排序,假设网际互连协议地址的数量为n,则分别以网际互连协议地址的排序列表作为行和列,生成一个n维的矩阵,矩阵中的值表示该行和列对应的网际互连协议地址之间的总的包数或总字节数。由于单位向量之间计算欧氏距离和余弦相似度是等价的,因此,将这个n维矩阵行向量转化为单位向量,即对特征矩阵归一化可以达到更好的聚类效果。
[0087]
步骤102:根据历史流量数据,对第一虚拟机集合进行聚类处理,确定第一虚拟机集合的分组结果。
[0088]
在一些实施方式中,根据聚类模型和历史流量数据,对第一虚拟机集合进行聚类处理,得到聚类结果;
[0089]
对聚类结果的效果进行评估,得到评估值;
[0090]
在所述评估值小于预设的第一阈值时,调整所述聚类模型的参数,重复执行对所述第一虚拟机集合进行聚类处理、以及对所述聚类结果的效果进行评估的步骤,直至所述评估值大于或等于所述预设的第一阈值;
[0091]
将最近一次得到的聚类结果确定为所述第一虚拟机集合的分组结果。
[0092]
本发明实施例中,可以将历史流量数据的n维矩阵作为样本集,根据聚类模型对第一虚拟机集合进行聚类处理,这里,聚类模型可以包括随机森林算法模型、马尔科夫聚类算法模型(markov cluster algorithm,mcl)等聚类算法模型,对此本发明实施例不作限定。
[0093]
本发明实施例中,在对第一虚拟机集合进行聚类处理后,得到聚类结果,可以根据聚类评估指标对聚类结果的效果进行评估,得到评估值,评估值越高说明对第一虚拟机集合聚类的效果越好。这里,聚类评估指标可以包括轮廓系数、calinski-harabasz index系数、兰德系数,对此本发明实施例不作限定。
[0094]
本发明实施例中,预设的第一阈值可以是根据经验预先设定的,根据预设的第一阈值判断第一虚拟机集合聚类的效果是否达标,若评估值大于或等于预设的第一阈值,则确定第一虚拟机集合聚类的效果达标,将聚类结果确定为第一虚拟机集合的分组结果,并将聚类模型进行保存;若评估值小于预设的第一阈值,则第一虚拟机集合聚类的效果不达标,需要调整聚类模型的参数,并再次对第一虚拟机集合进行聚类处理,直至得到的聚类结果的评估值大于或等于预设的第一阈值,并将聚类模型进行保存。
[0095]
步骤103:根据分组结果,生成各个分组中每一组的虚拟机的访问策略;访问策略用于确定每一组的虚拟机的访问行为。
[0096]
在一些实施方式中,访问策略包括:每一组中的任一虚拟机允许访问组内的其它虚拟机,且不允许访问其它分组中的虚拟机。
[0097]
本发明实施例中,根据分组结果,对第一虚拟机集合的虚拟机进行网络分段,同一分组内的虚拟机划分到一个网络分段。
[0098]
示例性地,第一虚拟机集合的分组如表2所示,表2为第一虚拟机集合中虚拟机的访问关系及分组结果,需要说明的是,ip表示虚拟机的网际互连协议地址,ip与虚拟机为唯一对应的关系。
[0099]
源虚拟机目的虚拟机分组结果虚拟机1虚拟机4第一组虚拟机2虚拟机7第二组虚拟机6虚拟机2第二组虚拟机5虚拟机8第三组虚拟机8虚拟机3第三组
[0100]
表2
[0101]
根据表2中第一虚拟机集合中虚拟机的访问关系及分组结果,可以确定第一虚拟机集合的网络分段结果,参见图2,根据分组结果,可以对网络环境中的第一虚拟机集合的虚拟机分为三个网络分段,包括第一网络分段201、第二网络分段202、以及第三网络分段203,其中,第一网络分段201包括虚拟机1和虚拟机4;第二网络分段202包括虚拟机2、虚拟机6、以及虚拟机7;第三网络分段203包括虚拟机3、虚拟机5、以及虚拟机8。
[0102]
本发明实施例中,根据分组结果和组内虚拟机的历史流量访问关系,可以生成各
个分组中每一组的虚拟机的访问策略,即每一组中的任一虚拟机允许访问组内的其它虚拟机,且不允许访问其它分组中的虚拟机,即组内允许访问,组间拒绝访问。需要说明的是,还可以根据历史流量数据的其它标识信息,生成更细粒度的访问策略。
[0103]
本发明实施例中,可以根据通用策略引擎(open policy agent,opa)将生成的访问策略转译成格式化的rego规则,这里,rego规则为opa中用于描述访问策略的声明式语言。转译后的访问策略可以在web界面上借助于访问关系拓扑图进行展示,并模拟出策略下发生效后的访问关系拓扑图,经过用户确认后可以在执行该访问策略。
[0104]
示例性地,图3为一个分组中虚拟机的访问策略的访问关系拓扑图,该分组中包括12个虚拟机,分别是:第一虚拟机301、第二虚拟机302、第三虚拟机303、第四虚拟机304、第五虚拟机305、第六虚拟机306、第七虚拟机307、第八虚拟机308、第九虚拟机309、第十虚拟机310、第十一虚拟机311、第十二虚拟机312,12个虚拟机之间的访问关系如图3所示。
[0105]
在实际应用中,步骤101至步骤103以基于电子设备的处理器实现,上述处理器可以为特定用途集成电路(application specific integrated circuit,asic)、数字信号处理器(digital signal processor,dsp)、数字信号处理装置(digital signal processing device,dspd)、可编程逻辑装置(programmable logic device,pld)、现场可编程门阵列(field programmable gate array,fpga)、中央处理器(central processing unit,cpu)、控制器、微控制器、微处理器中的至少一种。
[0106]
可以看出,本发明实施例中,通过获取第一虚拟机集合的历史流量数据,其中,第一虚拟机集合至少包括两个虚拟机;根据第一虚拟机集合的历史流量数据和聚类模型,对第一虚拟机集合进行聚类处理,得到第一虚拟机集合中虚拟机的分组结果;根据分组结果,可以生成各个分组中每一组的虚拟机的访问策略,其中,访问策略用于确定每一组的虚拟机的访问行为。可以看出,本发明实施例中,基于第一虚拟机集合的历史流量数据,对第一虚拟机集合进行快速分组,即可以根据第一虚拟机集合中虚拟机的访问关系确定第一虚拟机集合的分组结果,将访问频率高的虚拟机分到同一组中,能够有效提高网络环境中部署虚拟机的效率,根据分组结果生成访问策略,使得组内的虚拟机允许访问,组间的虚拟机拒绝访问,能够降低网络安全访问控制的复杂度。
[0107]
图4为本发明实施例提供的另一种策略生成方法的流程示意图,如图4所示,该流程可以包括:
[0108]
步骤401:更新第一虚拟机集合的历史流量数据。
[0109]
在一些实施例中,当第一虚拟机集合中的虚拟机运行一段时间后,可能会增加一些新的历史流量数据,则访问策略可能也需要随之变化,因此,可以设定访问策略的更新周期,示例性地,可以每天零点自动对访问策略进行更新。
[0110]
在一些实施例中,当对访问策略进行更新时,可以获取最近一段时间内的第一虚拟机集合的历史流量数据,即对第一虚拟机集合的历史流量数据进行更新。这里,可以是获取半个小时内的历史流量数据,也可以是获取一个小时内的历史流量数据,对此本发明实施例不作限定。
[0111]
步骤402:对更新后的历史流量数据进行聚类处理,更新第一虚拟机集合的分组结果。
[0112]
在一些实施例中,根据保存的聚类模型和更新后第一虚拟机集合的历史流量数
据,对第一虚拟机集合重新进行聚类处理,得到聚类结果,并对聚类结果的效果进行评估,得到评估值,当评估值大于或等于预设的第一阈值时,说明得到的聚类结果的效果较好,不需要更新第一虚拟机集合的分组结果;当评估值小于预设的第一阈值时,调整聚类模型的参数,对第一虚拟机集合重新进行聚类处理,直至得到的聚类效果的评估值大于或等于所述预设的第一阈值,从而根据当前的聚类结果,更新第一虚拟机集合的分组结果,并保存当前的聚类模型。
[0113]
步骤403:根据更新后的分组结果,生成更新后的各个分组中每一组的虚拟机的访问策略。
[0114]
在一些实施例中,根据更新后的分组结果,生成更新后的各个分组中每一组的虚拟机的访问策略,还可以将更新后的策略在web界面上进行展示,并提醒用户进行确认,在接收到确认信息时,更新各个分组中每一组的虚拟机的访问策略。
[0115]
可以看出,根据第一虚拟机集合中的虚拟机运行情况,可以更新第一虚拟机集合的历史流量数据,并对虚拟机的访问策略进行更新,即动态更新访问策略,能够提高访问策略的精准度。
[0116]
在一些实施方式中,所述生成各个分组中每一组的虚拟机的访问策略之后,还包括:
[0117]
获取新增虚拟机集合的历史流量数据;新增虚拟机集合至少包括两个虚拟机;新增虚拟机集合的历史流量数据包括:新增虚拟机集合中各个虚拟机之间的历史流量数据、以及新增虚拟机集合中每个虚拟机与第一虚拟机集合之间的历史流量数据;
[0118]
确定新增虚拟机集合中各个虚拟机之间的历史流量数据与新增虚拟机集合的历史流量数据的比例;
[0119]
在比例大于预设的第二阈值的情况下,生成第二虚拟机集合的各个分组中每一组的虚拟机的访问策略;第二虚拟机集合包括:所述第一虚拟机集合和新增虚拟机集合;
[0120]
在比例小于或等于预设的第二阈值的情况下,更新各个分组中每一组的虚拟机的访问策略。
[0121]
在一些实施例中,网络环境中还有可能新增加一些虚拟机,则需要确定新增虚拟机集合中虚拟机的访问策略。获取新增虚拟机集合的历史流量数据,根据新增虚拟机集合的历史流量数据,确定新增虚拟机集合中虚拟机的访问策略。
[0122]
在一些实施例中,根据新增虚拟机集合中各个虚拟机之间的历史流量数据,与新增虚拟机集合的历史流量数据的比例,在该比例大于预设的第二阈值的情况下,说明新增虚拟机集合中各个虚拟机之间的访问流量较大,新增虚拟机集合中每个虚拟机与第一虚拟机集合之间的访问流量较小,则原有的分组结果极对应的访问策略与新增虚拟机集合不匹配,需要对第二虚拟机集合进行聚类处理,并生成对应的访问策略。需要说明的是,预设的第二预设阈值可以是根据已有的经验预先设定的。
[0123]
在一些实施例中,在该比例小于预设的第二阈值的情况下,说明新增虚拟机集合中每个虚拟机与第一虚拟机集合之间的访问流量较大,新增虚拟机集合中各个虚拟机之间的访问流量较小,则可以直接根据第一虚拟机集合的分组结果及对应的访问策略,对新增虚拟机集合中的虚拟机进行分类处理,并继承对应的访问侧。
[0124]
可以看出,在网络环境中新增加一些虚拟机时,可以根据新增虚拟机集合的历史
流量数据,对新增虚拟机集合进行相应的聚类处理或分类处理,从而快速地对新增虚拟机集合中的虚拟机进行快速分组,并生成对应的访问策略,能够提高网络环境中部署虚拟机的效率。
[0125]
在一些实施方式中,生成第二虚拟机集合的各个分组中每一组的虚拟机的访问策略,包括:
[0126]
对第二虚拟机集合的历史流量数据进行聚类处理,确定第二虚拟机集合的分组结果;
[0127]
根据第二虚拟机集合的分组结果,生成第二虚拟机集合的各个分组中每一组的虚拟机的访问策略。
[0128]
在一些实施例中,在新增虚拟机集合中每个虚拟机与第一虚拟机集合之间的访问流量较大的情况下,根据第二虚拟机集合的历史流量数据对第二虚拟机集合进行聚类处理,得到聚类结果;对聚类结果的效果进行评估,得到评估值,当评估值大于或等于预设的第一阈值时,将最近一次得到的聚类结果确定为第二虚拟机集合的分组结果,根据所述分组结果,生成第二虚拟机集合的各个分组中每一组的虚拟机的访问策略。
[0129]
在一些实施方式中,更新所述各个分组中每一组的虚拟机的访问策略,包括:
[0130]
对新增虚拟机集合中每个虚拟机与第一虚拟机集合之间的历史流量数据进行分类处理,确定新增虚拟机集合的分组结果;
[0131]
根据新增虚拟机集合的分组结果,更新各个分组中每一组的虚拟机的访问策略。
[0132]
在一些实施例中,在新增虚拟机集合中每个虚拟机与第一虚拟机集合之间的访问流量较大的情况下,根据新增虚拟机的历史流量数据,对新增虚拟机集合进行分类处理,可以通过步骤501至步骤504获得,参见图5,
[0133]
步骤501:获取新增虚拟机集合的历史流量数据。
[0134]
在一些实施例中,可以基于ipfix采集第一虚拟机集合中虚拟机间的历史流量数据。
[0135]
步骤502:对新增虚拟机集合的历史流量数据进行预处理。
[0136]
在一些实施例中,通过对历史流量数据进行数据去重、去除缺省数据、过滤历史流量数据中的有效字段信息、对具有相同源网际互连协议地址和目的网际互连协议地址的历史流量数据进行聚合等处理,得到预处理后的历史流量数据。
[0137]
步骤503:根据分类模型对新增虚拟机集合进行分类,得到分类结果。
[0138]
在一些实施例中,根据分类模型对新增虚拟机集合进行分类处理后,得到分类结果,可以根据分类评估指标对分类结果的效果进行评估,得到评估值,评估值越高说明对新增虚拟机集合分类的效果越好。
[0139]
步骤504:将分类结果确定为新增虚拟机集合的分组结果。
[0140]
图6为本发明实施例提供的一种策略生成方法的一个具体实现的流程示意图,如图6所示,该流程可以包括:
[0141]
步骤601:根据ipfix采集第一虚拟集合的历史流量数据。
[0142]
步骤602:对历史流量数据进行预处理。
[0143]
步骤603:对预处理后的历史流量数据进行特征提取,生成n维特征向量。
[0144]
步骤604:根据聚类模型和n维特征向量,对第一虚拟机集合进行聚类处理,得到聚
类结果。
[0145]
步骤605:对聚类结果的效果进行评估,得到评估值。
[0146]
步骤606:判断评估值是否大于或等于预设的第一阈值,若是,则执行步骤607;若否,则执行步骤610。
[0147]
步骤607:保存当前聚类模型,将最近一次得到的聚类结果确定为第一虚拟机集合的分组结果。
[0148]
步骤608:根据分组结果,生成对应的访问策略。
[0149]
步骤609:基于opa对访问策略转译为rego规则,展示或下发访问策略,结束流程。
[0150]
在一些实施例中,服务器将转译后的访问策略进行展示,或发送至每一组中的虚拟机,虚拟机接收到访问策略后,可以确定对应的访问行为。
[0151]
步骤610:对聚类模型的参数进行调整,执行步骤604。
[0152]
图7为本发明实施例提供的另一种策略生成方法的一个具体实现的流程示意图,如图7所示,该流程可以包括:
[0153]
步骤701:在触发更新访问策略的操作后,获取第一虚拟机集合最近一段时间的历史流量数据。
[0154]
步骤702:根据保存的聚类模型,对第一虚拟机集合进行聚类处理,得到聚类结果。
[0155]
步骤703:对聚类结果的聚类效果进行评估,得到评估值。
[0156]
步骤704:判断评估值是否大于或等于预设的第一阈值,若是,则结束流程;若否,则执行步骤705。
[0157]
步骤705:对聚类模型的参数进行调整,对第一虚拟机集合重新进行聚类处理,直至得到的聚类效果的评估值大于或等于所述预设的第一阈值。
[0158]
步骤706:保存当前聚类模型,更新第一虚拟机集合的分组结果。
[0159]
步骤707:根据更新后的分组结果,生成更新后的各个分组中每一组的虚拟机的访问策略。
[0160]
步骤708:基于opa对访问策略转译为rego规则,并展示访问策略。
[0161]
步骤709:判断是否接收到确认更新访问策略的指令,若是,则执行步骤710;若否,则执行步骤711。
[0162]
步骤710:下发访问策略,结束流程。
[0163]
在一些实施例中,服务器在接收到确认更新访问策略的指令时,将转译后的访问策略发送至每一组中的虚拟机。
[0164]
步骤711:拒绝更新访问策略,结束流程。
[0165]
在一些实施例中,服务器在没有接收到确认更新访问策略的指令时,则服务器拒绝更新访问策略,即服务器不向每一组中的虚拟机发送更新后的访问策略,使虚拟机仍按照原有的访问策略确定对应的访问行为。
[0166]
图8为本发明实施例提供的又一种策略生成方法的一个具体实现的流程示意图,如图7所示,该流程可以包括:
[0167]
步骤801:获取新增虚拟机集合的历史流量数据。
[0168]
在一些实施例中,新增虚拟机集合至少包括两个虚拟机;新增虚拟机集合的历史流量数据包括:新增虚拟机集合中各个虚拟机之间的历史流量数据、以及新增虚拟机集合
中每个虚拟机与第一虚拟机集合之间的历史流量数据。
[0169]
步骤802:确定新增虚拟机集合中各个虚拟机之间的历史流量数据与新增虚拟机集合的历史流量数据的比例。
[0170]
步骤803:判断比例是否大于预设的第二阈值,若是,则执行步骤804;若否,则执行步骤809
[0171]
步骤804:获取第二虚拟机集合的历史流量数据。
[0172]
在一些实施例中,第二虚拟机集合包括:第一虚拟机集合和新增虚拟机集合。
[0173]
步骤805:对第二虚拟机集合进行聚类处理,确定第二虚拟机集合的分组结果。
[0174]
步骤806:根据分组结果生成对应的访问策略。
[0175]
步骤807:基于opa对访问策略转译为rego规则。
[0176]
步骤808:展示或下发访问策略,结束流程。
[0177]
在一些实施例中,服务器将转译后的访问策略进行展示,或发送至每一组中的虚拟机,虚拟机接收到访问策略后,可以确定对应的访问行为。
[0178]
步骤809:获取新增虚拟机集合中每个虚拟机与第一虚拟机集合之间的历史流量数据。
[0179]
步骤810:根据分类模型对新增虚拟机集合进行分类,得到分类结果。
[0180]
步骤811:将分类结果确定为新增虚拟机集合的分组结果,执行步骤806。
[0181]
在本技术的各种实施例中,上述各步骤/过程的序号的大小并不意味着执行顺序的先后,各步骤/过程的执行顺序应以其功能和内在逻辑确定,而不应对本技术实施例的实施过程构成任何限定。
[0182]
基于前述实施例相同的技术构思,参见图9,本发明实施例提供的一种策略生成装置,所述装置至少包括:
[0183]
获取模块901,用于获取第一虚拟机集合的历史流量数据;所述第一虚拟机集合至少包括两个虚拟机;
[0184]
确定模块902,用于根据所述历史流量数据,对所述第一虚拟机集合进行聚类处理,确定所述第一虚拟机集合的分组结果;
[0185]
生成模块903,用于根据所述分组结果,生成各个分组中每一组的虚拟机的访问策略;所述访问策略用于确定所述每一组的虚拟机的访问行为。
[0186]
在一种实现方式中,所述确定模块902,用于根据所述历史流量数据,对所述第一虚拟机集合进行聚类处理,确定所述第一虚拟机集合的分组结果,包括:
[0187]
根据聚类模型和所述历史流量数据,对所述第一虚拟机集合进行聚类处理,得到聚类结果;
[0188]
对所述聚类结果的效果进行评估,得到评估值;
[0189]
在所述评估值小于预设的第一阈值时,调整所述聚类模型的参数,重复执行对所述第一虚拟机集合进行聚类处理、以及对所述聚类结果的效果进行评估的步骤,直至所述评估值大于或等于所述预设的第一阈值;
[0190]
将最近一次得到的聚类结果确定为所述第一虚拟机集合的分组结果。
[0191]
在一种实现方式中,在生成各个分组中每一组的访问策略之后,还包括:
[0192]
更新所述第一虚拟机集合的历史流量数据;
[0193]
对更新后的历史流量数据进行聚类处理,更新所述第一虚拟机集合的分组结果;
[0194]
根据更新后的分组结果,生成更新后的各个分组中每一组的虚拟机的访问策略。
[0195]
在一种实现方式中,在生成各个分组中每一组的虚拟机的访问策略之后,还包括:
[0196]
获取新增虚拟机集合的历史流量数据;所述新增虚拟机集合至少包括两个虚拟机;所述新增虚拟机集合的历史流量数据包括:所述新增虚拟机集合中各个虚拟机之间的历史流量数据、以及所述新增虚拟机集合中每个虚拟机与所述第一虚拟机集合之间的历史流量数据;
[0197]
确定所述新增虚拟机集合中各个虚拟机之间的历史流量数据与所述新增虚拟机集合的历史流量数据的比例;
[0198]
在所述比例大于预设的第二阈值的情况下,生成所述第二虚拟机集合的各个分组中每一组的虚拟机的访问策略;所述第二虚拟机集合包括:所述第一虚拟机集合和所述新增虚拟机集合;
[0199]
在所述比例小于或等于预设的第二阈值的情况下,更新所述各个分组中每一组的虚拟机的访问策略。
[0200]
在一种实现方式中,所述生成所述第二虚拟机集合的各个分组中每一组的虚拟机的访问策略,包括:
[0201]
对所述第二虚拟机集合的历史流量数据进行聚类处理,确定所述第二虚拟机集合的分组结果;
[0202]
根据所述第二虚拟机集合的分组结果,生成所述第二虚拟机集合的各个分组中每一组的虚拟机的访问策略。
[0203]
在一种实现方式中,所述更新所述各个分组中每一组的虚拟机的访问策略,包括:
[0204]
对所述新增虚拟机集合中每个虚拟机与所述第一虚拟机集合之间的历史流量数据进行分类处理,确定所述新增虚拟机集合的分组结果;
[0205]
根据所述新增虚拟机集合的分组结果,更新所述各个分组中每一组的虚拟机的访问策略。
[0206]
在一种实现方式中,所述访问策略包括:所述每一组中的任一虚拟机允许访问组内的其它虚拟机,且不允许访问其它分组中的虚拟机。
[0207]
需要说明的是,以上装置实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本技术装置实施例中未披露的技术细节,请参照本技术方法实施例的描述而理解。
[0208]
需要说明的是,本发明实施例中,如果以软件功能模块的形式实现上述的方法,并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是终端、服务器等)执行本技术各个实施例所述方法的全部或部分。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read only memory,rom)、磁碟或者光盘等各种可以存储程序代码的介质。这样,本技术实施例不限制于任何特定的硬件和软件结合。
[0209]
对应地,本发明实施例再提供一种计算机程序产品,所述计算机程序产品包括计算机可执行指令,该计算机可执行指令用于实现本发明实施例提供的任意一种策略生成方
法。
[0210]
相应的,本发明实施例再提供一种计算机存储介质,所述计算机存储介质上存储有计算机可执行指令,该计算机可执行指令用于实现上述实施例提供的任意一种策略生成方法。
[0211]
在一些实施例中,本发明实施例提供的装置具有的功能或包含的模块可以用于执行上文方法实施例描述的方法,其具体实现可以参照上文方法实施例的描述,为了简洁,这里不再赘述。
[0212]
基于前述实施例相同的技术构思,参见图10本发明实施例提供的一种电子设备,电子设备1000,可以包括:存储器1010和处理器1020,电子设备1000可在处理器1020上运行的计算机程序,所述处理器1020执行所述程序时实现任一项所述的策略生成方法;其中,
[0213]
存储器1010,用于存储计算机程序和数据;
[0214]
处理器1020,用于执行存储器1010中存储的计算机程序,以实现前述实施例中的任意一种策略生成方法。
[0215]
上文对各个实施例的描述倾向于强调各个实施例间的不同处,其相同或相似处可以互相参考,为了简洁,本文不再赘述。
[0216]
本技术所提供的各方法实施例中所揭露的方法,在不冲突的情况下可以任意组合,得到新的方法实施例。
[0217]
本技术所提供的各产品实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的产品实施例。
[0218]
本技术所提供的各方法或设备实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的方法实施例或设备实施例。
[0219]
在本技术所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,示例性地,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
[0220]
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元,即可以位于一个地方,也可以分布到多个网格单元上;可以根据实际的可以选择其中的部分或全部单元来实现本实施例方案的目的。
[0221]
另外,在本技术各实施例中的各功能单元可以全部集成在一个处理模块中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
[0222]
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤。
[0223]
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1