一种网络访问策略的合并方法及装置转让专利

申请号 : CN201610568991.2

文献号 : CN106230736B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 于玉龙

申请人 : 东软集团股份有限公司

摘要 :

本发明公开一种网络访问策略的合并方法及装置,该方法包括:获取待合并策略的集合,将任一维度确定为当前维度,将除当前维度之外的维度确定为待合并维度。查找待合并维度对应元素具有相等关系的待合并策略,将当前维度对应元素进行合并。将当前维度确定为已合并维度,将一待合并维度重新确定为当前维度;在确定还存在待合并维度后,查找待合并维度对应元素具有相等关系的待合并策略,在其中查找已合并维度对应元素具有相等关系或包含关系的,完成合并。当确定不存在待合并维度,查找已合并维度对应元素具有相等关系或包含关系的待合并策略,完成合并。本发明对自学习到的“点到点”策略进行合理性合并,减少策略数量,提高策略匹配的系统性能。

权利要求 :

1.一种网络访问策略的合并方法,其特征在于,所述方法包括:

S1:获取待合并策略的集合,所述集合中包括具有相同维度的待合并策略,所述待合并策略包括与各个维度分别对应的元素;

S2:将所述集合中的待合并策略具有的任一维度确定为当前维度,并将除所述当前维度之外的维度确定为待合并维度;

S3:从所述集合中,查找待合并维度对应的元素具有相等关系的待合并策略,并将所述待合并策略中当前维度对应的元素进行合并;

S4:将所述当前维度确定为已合并维度,并将任一待合并维度重新确定为当前维度;在确定所述集合中不存在待合并维度后,执行S6,否则,执行S5;

S5:从所述集合中,查找待合并维度对应的元素具有相等关系的待合并策略,并在所述待合并策略中,查找已合并维度对应的元素具有相等关系或包含关系的待合并策略,将所述待合并策略中当前维度对应的元素进行合并;继续执行S4;

S6:从所述集合中,查找已合并维度对应的元素具有相等关系或包含关系的待合并策略,并将所述待合并策略中当前维度对应的元素进行合并。

2.根据权利要求1所述的网络访问策略的合并方法,其特征在于,在S6执行之前,且在S4中确定出任一已合并维度之后,所述方法还包括:以所述已合并维度为排序依据,对所述集合中的待合并策略进行排序。

3.根据权利要求2所述的网络访问策略的合并方法,其特征在于,所述以所述已合并维度为排序依据,对所述集合中的待合并策略进行排序,包括:根据所述集合中各个待合并策略的已合并维度分别对应的元素的总长度,对各个待合并策略进行排序;

对于所述总长度相同的待合并策略,按照字典排序方式,对所述待合并策略进行排序。

4.根据权利要求1所述的网络访问策略的合并方法,其特征在于,所述方法还包括:当查找到已合并维度对应的元素具有包含关系的待合并策略时,将所述待合并策略中当前维度对应的元素进行预合并,得到预合并策略;

分别获取所述预合并策略和所述待合并策略中各个维度对应的元素的总长度的最大和最小长度值;

在所述待合并策略对应的最大长度值不小于所述预合并策略对应的最大长度值,且所述待合并策略对应的最大和最小长度值之差不小于所述预合并策略对应的最大和最小长度值之差时,继续执行所述将所述待合并策略中当前维度对应的元素进行合并的步骤。

5.根据权利要求1所述的网络访问策略的合并方法,其特征在于,所述在所述待合并策略中,查找已合并维度对应的元素具有相等关系或包含关系的待合并策略,将所述待合并策略中当前维度对应的元素进行合并,包括:当在所述待合并策略中,查找到已合并维度对应的元素具有相等关系的待合并策略时,将所述待合并策略中已合并维度和待合并维度对应的元素保持不变,当前维度对应的元素进行组合后,得到一条待合并策略;

当在所述待合并策略中,查找到已合并维度对应的元素具有包含关系的待合并策略时,将被包含的元素对应的待合并策略作为第一待合并策略,以及将包含的元素对应的待合并策略作为第二待合并策略;并将所述第一待合并策略中已合并维度对应的元素从所述第二待合并策略中已合并维度对应的元素中去除;以及将所述第二待合并策略中当前维度对应的元素合并到所述第一待合并策略中当前维度对应的元素中。

6.一种网络访问策略的合并装置,其特征在于,所述装置包括:

第一获取模块,用于获取待合并策略的集合,所述集合中包括具有相同维度的待合并策略,所述待合并策略包括与各个维度分别对应的元素;

第一确定模块,用于将所述集合中的待合并策略具有的任一维度确定为当前维度,并将除所述当前维度之外的维度确定为待合并维度;

第一合并模块,用于从所述集合中,查找待合并维度对应的元素具有相等关系的待合并策略,并将所述待合并策略中当前维度对应的元素进行合并;

第二确定模块,用于将所述当前维度确定为已合并维度,并将任一待合并维度重新确定为当前维度;在确定所述集合中不存在待合并维度后,触发第三合并模块,否则,触发第二合并模块;

所述第二合并模块,用于从所述集合中,查找待合并维度对应的元素具有相等关系的待合并策略,并在所述待合并策略中,查找已合并维度对应的元素具有相等关系或包含关系的待合并策略,将所述待合并策略中当前维度对应的元素进行合并;触发所述第二确定模块;

所述第三合并模块,用于从所述集合中,查找已合并维度对应的元素具有相等关系或包含关系的待合并策略,并将所述待合并策略中当前维度对应的元素进行合并。

7.根据权利要求6所述的网络访问策略的合并装置,其特征在于,所述装置还包括:排序模块,用于以所述第二确定模块中确定的任一已合并维度为排序依据,对所述集合中的待合并策略进行排序;

相应的,所述第三合并模块,用于从所述排序模块得到的所述集合中,查找已合并维度对应的元素具有相等关系或包含关系的待合并策略,并将所述待合并策略中当前维度对应的元素进行合并。

8.根据权利要求7所述的网络访问策略的合并装置,其特征在于,所述排序模块,包括:第一排序子模块,用于根据所述集合中各个待合并策略的已合并维度分别对应的元素的总长度,对各个待合并策略进行排序;

第二排序子模块,用于对于所述总长度相同的待合并策略,按照字典排序方式,对所述待合并策略进行排序。

9.根据权利要求6所述的网络访问策略的合并装置,其特征在于,所述装置还包括:预合并模块,用于当查找到已合并维度对应的元素具有包含关系的待合并策略时,将所述待合并策略中当前维度对应的元素进行预合并,得到预合并策略;

第二获取模块,用于分别获取所述预合并策略和所述待合并策略中各个维度对应的元素的总长度的最大和最小长度值;

第四合并模块,用于在所述待合并策略对应的最大长度值不小于所述预合并策略对应的最大长度值,且所述待合并策略对应的最大和最小长度值之差不小于所述预合并策略对应的最大和最小长度值之差时,将所述待合并策略中当前维度对应的元素进行合并。

10.根据权利要求6所述的网络访问策略的合并装置,其特征在于,所述第二合并模块,包括:组合子模块,用于当在所述待合并策略中,查找到已合并维度对应的元素具有相等关系的待合并策略时,将所述待合并策略中已合并维度和待合并维度对应的元素保持不变,当前维度对应的元素进行组合后,得到一条待合并策略;

合并子模块,用于当在所述待合并策略中,查找到已合并维度对应的元素具有包含关系的待合并策略时,将被包含的元素对应的待合并策略作为第一待合并策略,以及将包含的元素对应的待合并策略作为第二待合并策略;并将所述第一待合并策略中已合并维度对应的元素从所述第二待合并策略中已合并维度对应的元素中去除;以及将所述第二待合并策略中当前维度对应的元素合并到所述第一待合并策略中当前维度对应的元素中。

说明书 :

一种网络访问策略的合并方法及装置

技术领域

[0001] 本发明涉及数据处理领域,具体涉及一种网络访问策略的合并方法及装置。

背景技术

[0002] 网络访问策略是包含源、目标网络地址以及相应的转发动作(允许或拒绝)等的转发规则,是一种简单有效的网络流量管控手段,广泛应用于网关、路由器以及防火墙等网络数据转发设备中。
[0003] 网络访问策略作为设备参数,通常由管理员在设备上线运行之前预先手动进行配置。然而,处于非边际网络的数据转发设备,如网络运商的路由器、某公司的出口网关或防火墙设备等,通常需要支撑较为复杂的网络拓扑和服务访问,其所需要配置的网络访问策略也较多且复杂,这就要求管理员对设备所处的网络拓扑和用户需求有非常清晰的了解,才能完成网络访问策略的配置工作。
[0004] 目前,在网络设备中引入了网络访问策略自学习功能,即根据在设定的时间内用户访问网络的情况,设备自动化的将所记录到的网络数据流量形成网络访问策略并写入设备中。这样方式无需管理员对设备所处的网络拓扑和用户需求进行了解,也避免了手动配置网络访问策略的诸多问题。
[0005] 但是,网络访问策略自学习的信息来源是基于各个流经设备的网络数据包,设备自学习到的各条策略都是以单一网络地址形式出现的“点到点”策略,即每条网络访问策略是与每个流经设备的网络数据包对应的。
[0006] 由于非边际网络表现出的复杂情况,非边际网络的数据转发设备会自学习到大量的“点到点”策略,直接将这些“点到点”策略写入设备会导致策略使用过程中匹配策略时系统性能降低,同时维护过多的策略也存在困难。

发明内容

[0007] 本发明提供了一种网络访问策略的合并方法及装置,能够对设备自学习到的“点到点”策略进行合理性的合并,减少策略数量,提高策略匹配时的系统性能。
[0008] 本发明提供了一种网络访问策略的合并方法,所述方法包括:
[0009] S1:获取待合并策略的集合,所述集合中包括具有相同维度的待合并策略,所述待合并策略包括与各个维度分别对应的元素;
[0010] S2:将所述集合中的待合并策略具有的任一维度确定为当前维度,并将除所述当前维度之外的维度确定为待合并维度;
[0011] S3:从所述集合中,查找待合并维度对应的元素具有相等关系的待合并策略,并将所述待合并策略中当前维度对应的元素进行合并;
[0012] S4:将所述当前维度确定为已合并维度,并将任一待合并维度重新确定为当前维度;在确定所述集合中不存在待合并维度后,执行S6,否则,执行S5;
[0013] S5:从所述集合中,查找待合并维度对应的元素具有相等关系的待合并策略,并在所述待合并策略中,查找已合并维度对应的元素具有相等关系或包含关系的待合并策略,将所述待合并策略中当前维度对应的元素进行合并;继续执行S4;
[0014] S6:从所述集合中,查找已合并维度对应的元素具有相等关系或包含关系的待合并策略,并将所述待合并策略中当前维度对应的元素进行合并。
[0015] 优选地,在确定任一已合并维度之后,所述方法还包括:
[0016] 以所述已合并维度为排序依据,对所述集合中的待合并策略进行排序。
[0017] 优选地,所述以所述已合并维度为排序依据,对所述集合中的待合并策略进行排序,包括:
[0018] 根据所述集合中各个待合并策略的已合并维度分别对应的元素的总长度,对各个待合并策略进行排序;
[0019] 对于所述总长度相同的待合并策略,按照字典排序方式,对所述待合并策略进行排序。
[0020] 优选地,所述方法还包括:
[0021] 当查找到已合并维度对应的元素具有包含关系的待合并策略时,将所述待合并策略中当前维度对应的元素进行预合并,得到预合并策略;
[0022] 分别获取所述预合并策略和所述待合并策略中各个维度对应的元素的总长度的最大和最小长度值;
[0023] 在所述待合并策略对应的最大长度值不小于所述预合并策略对应的最大长度值,且所述待合并策略对应的最大和最小长度值之差不小于所述预合并策略对应的最大和最小长度值之差时,继续执行所述将所述待合并策略中当前维度对应的元素进行合并的步骤。
[0024] 优选地,所述在所述待合并策略中,查找已合并维度对应的元素具有相等关系或包含关系的待合并策略,将所述待合并策略中当前维度对应的元素进行合并,包括:
[0025] 当在所述待合并策略中,查找到已合并维度对应的元素具有相等关系的待合并策略时,将所述待合并策略中已合并维度和待合并维度对应的元素保持不变,当前维度对应的元素进行组合后,得到一条待合并策略;
[0026] 当在所述待合并策略中,查找到已合并维度对应的元素具有包含关系的待合并策略时,将被包含的元素对应的待合并策略作为第一待合并策略,以及将包含的元素对应的待合并策略作为第二待合并策略;并将所述第一待合并策略中已合并维度对应的元素从所述第二待合并策略中已合并维度对应的元素中去除;以及将所述第二待合并策略中当前维度对应的元素合并到所述第一待合并策略中当前维度对应的元素中。
[0027] 本发明还提供了一种网络访问策略的合并装置,所述装置包括:
[0028] 第一获取模块,用于获取待合并策略的集合,所述集合中包括具有相同维度的待合并策略,所述待合并策略包括与各个维度分别对应的元素;
[0029] 第一确定模块,用于将所述集合中的待合并策略具有的任一维度确定为当前维度,并将除所述当前维度之外的维度确定为待合并维度;
[0030] 第一合并模块,用于从所述集合中,查找待合并维度对应的元素具有相等关系的待合并策略,并将所述待合并策略中当前维度对应的元素进行合并;
[0031] 第二确定模块,用于将所述当前维度确定为已合并维度,并将任一待合并维度重新确定为当前维度;在确定所述集合中不存在待合并维度后,触发第三合并模块,否则,触发第二合并模块;
[0032] 所述第二合并模块,用于从所述集合中,查找待合并维度对应的元素具有相等关系的待合并策略,并在所述待合并策略中,查找已合并维度对应的元素具有相等关系或包含关系的待合并策略,将所述待合并策略中当前维度对应的元素进行合并;触发所述第二确定模块;
[0033] 所述第三合并模块,用于从所述集合中,查找已合并维度对应的元素具有相等关系或包含关系的待合并策略,并将所述待合并策略中当前维度对应的元素进行合并。
[0034] 优选地,所述装置还包括:
[0035] 排序模块,用于以所述已合并维度为排序依据,对所述集合中的待合并策略进行排序。
[0036] 优选地,所述排序模块,包括:
[0037] 第一排序子模块,用于根据所述集合中各个待合并策略的已合并维度分别对应的元素的总长度,对各个待合并策略进行排序;
[0038] 第二排序子模块,用于对于所述总长度相同的待合并策略,按照字典排序方式,对所述待合并策略进行排序。
[0039] 优选地,所述装置还包括:
[0040] 预合并模块,用于当查找到已合并维度对应的元素具有包含关系的待合并策略时,将所述待合并策略中当前维度对应的元素进行预合并,得到预合并策略;
[0041] 第二获取模块,用于分别获取所述预合并策略和所述待合并策略中各个维度对应的元素的总长度的最大和最小长度值;
[0042] 第四合并模块,用于在所述待合并策略对应的最大长度值不小于所述预合并策略对应的最大长度值,且所述待合并策略对应的最大和最小长度值之差不小于所述预合并策略对应的最大和最小长度值之差时,将所述待合并策略中当前维度对应的元素进行合并。
[0043] 优选地,所述第二合并模块,包括:
[0044] 组合子模块,用于当在所述待合并策略中,查找到已合并维度对应的元素具有相等关系的待合并策略时,将所述待合并策略中已合并维度和待合并维度对应的元素保持不变,当前维度对应的元素进行组合后,得到一条待合并策略;
[0045] 合并子模块,用于当在所述待合并策略中,查找到已合并维度对应的元素具有包含关系的待合并策略时,将被包含的元素对应的待合并策略作为第一待合并策略,以及将包含的元素对应的待合并策略作为第二待合并策略;并将所述第一待合并策略中已合并维度对应的元素从所述第二待合并策略中已合并维度对应的元素中去除;以及将所述第二待合并策略中当前维度对应的元素合并到所述第一待合并策略中当前维度对应的元素中。
[0046] 本发明提供了一种网络访问策略的合并方法,首先,获取待合并策略的集合,所述集合中包括具有相同维度的待合并策略,所述待合并策略包括与各个维度分别对应的元素。其次,将所述集合中的待合并策略具有的任一维度确定为当前维度,并将除所述当前维度之外的维度确定为待合并维度。从所述集合中,查找待合并维度对应的元素具有相等关系的待合并策略,并将所述待合并策略中当前维度对应的元素进行合并。然后,将所述当前维度确定为已合并维度,并将任一待合并维度重新确定为当前维度;并在确定所述集合中还存在其他待合并维度后,从所述集合中,查找待合并维度对应的元素具有相等关系的待合并策略,并在所述待合并策略中,查找已合并维度对应的元素具有相等关系或包含关系的待合并策略,将所述待合并策略中当前维度对应的元素进行合并。依此类推,直到确定所述集合中不存在待合并维度后,从所述集合中,查找已合并维度对应的元素具有相等关系或包含关系的待合并策略,并将所述待合并策略中当前维度对应的元素进行合并,完成所述集合中各个待合并维度的合并。本发明能够对设备自学习到的“点到点”策略进行合理性的合并,减少策略数量,提高策略匹配时的系统性能。

附图说明

[0047] 为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0048] 图1为本发明实施例提供的一种网络访问策略的合并方法流程图;
[0049] 图2为本发明实施例提供的一种网络访问策略的合并装置结构示意图。

具体实施方式

[0050] 下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0051] 在通常情况下用户访问网络是具有很强的群组特点,即某类用户会较为固定的访问特定的网络资源。因此,本发明实施例能够在设备自学习得到的巨量的“点到点”策略基础上,进行策略合并,生成“群组到群组”策略,极大的减少策略数量,提高策略匹配时的系统性能。
[0052] 以下进行实施例具体内容的介绍。
[0053] 本发明实施例提供了一种网络访问策略的合并方法,参考图1,为本发明实施例提供的一种网络访问策略的合并方法流程图,所述方法具体包括:
[0054] S101:获取待合并策略的集合,所述集合中包括具有相同维度的待合并策略,所述待合并策略包括与各个维度分别对应的元素。
[0055] 本发明实施例中的待合并策略的集合用于存储设备通过自学习得到的网络访问策略(以下也称为“待合并策略”),本发明实施例提供的网络访问策略的合并方法用于对所述集合中的待合并策略进行合并,以减少所述集合中的网络访问策略的数量。
[0056] 本发明实施例中,所述集合中的待合并策略均具有相同维度,如表1,待合并策略1和待合并策略2均属于所述集合,分别具有源IP地址、目的IP地址和端口号三个相同的维度。其中,待合并策略1中的源IP地址对应元素A,目的IP地址对应元素X,端口号对应元素1;待合并策略2中的源IP地址对应元素B,目的IP地址对应元素X,端口号对应元素1。也就是说,所述集合中的各个待合并策略包括与各个维度分别对应的元素。
[0057]
[0058] 表1
[0059] S102:将所述集合中的待合并策略具有的任一维度确定为当前维度,并将除所述当前维度之外的维度确定为待合并维度。
[0060] 本发明实施例提供的网络访问策略的合并方法中,分别从各个维度对各个待合并策略进行合并,最终完成对所述集合中所有网络访问策略的合并。
[0061] 实际操作中,选择任意一个维度作为当前维度(如表1中的源IP地址),首先针对当前维度,对各个待合并策略进行合并。而对于其他维度(如表1中的目的IP地址、端口号),本发明实施例将其均确定为待合并维度。
[0062] S103:从所述集合中,查找待合并维度对应的元素具有相等关系的待合并策略,并将所述待合并策略中当前维度对应的元素进行合并。
[0063] 本发明实施例中,针对当前维度对各个待合并策略进行合并时,首先,从所述集合中查找待合并维度对应的元素具有相等关系的待合并策略,如表1中的待合并策略1和待合并策略2,作为待合并维度的目的IP地址对应的元素均为X,端口号对应的元素均为1,则说明待合并策略1和待合并策略2属于待合并维度对应的元素具有相等关系的待合并策略。
[0064] 实际应用中,在查找到待合并维度对应的元素具有相等关系的待合并策略后,将查找到的待合并策略中当前维度对应的元素进行合并。如将表1中的待合并策略1和待合并策略2中作为当前维度的源IP地址分别对应的A和B进行合并,得到的合并后的策略中源IP地址对应的元素为AB。
[0065] S104:将所述当前维度确定为已合并维度,并将任一待合并维度重新确定为当前维度;在确定所述集合中不存在待合并维度后,执行S106,否则,执行S105。
[0066] 本发明实施例中,将已经完成合并的当前维度确定为已合并维度,如表中的源IP地址被确定为已合并维度,并重新将另一个待合并维度确定为当前维度,后续对该重新确定的当前维度进行合并处理。
[0067] 实际操作中,在重新确定当前维度之后,判断确定为该当前维度的待合并维度是否为最后一个待合并维度,如果是,则执行S106;如果不是最后一个待合并维度,则执行S105。
[0068] 如表1中,重新将目的IP地址确定为当前维度,由于还存在“端口号”这一待合并维度,所以目的IP地址作为当前维度,并不是最后一个待合并维度,所以可以继续执行S105。本发明实施例对当前维度“目的IP地址”对应的元素进行合并后,也将其确定为已合并维度。以此类推,直到重新确定最后一个待合并维度“端口号”为当前维度后,可以执行S106。
[0069] S105:从所述集合中,查找待合并维度对应的元素具有相等关系的待合并策略,并在所述待合并策略中,查找已合并维度对应的元素具有相等关系或包含关系的待合并策略,将所述待合并策略中当前维度对应的元素进行合并;继续执行S104。
[0070] 其中,所述包含关系是指一个待合并策略(较短策略)中的已合并维度的元素集合是另一个待合并策略(较长策略)的已合并维度的元素集合的子集。所述相等关系是指待合并策略中的已合并维度的元素相同。
[0071] 实际应用中,由于所述集合包括的待合并策略数量较多,所以,查找已合并维度对应的元素具有相等关系或包含关系的待合并策略是一项主要占用时间的计算任务。通常,可以利用逐项比对的方式,按顺序比对各个待合并策略是否符合已合并维度对应的元素具有相等关系或包含关系的条件。
[0072] 本发明实施例为了提高查找已合并维度对应的元素具有相等关系或包含关系的待合并策略的效率,可以预先以一个已合并维度为排序依据,对所述集合中的各个待合并策略进行排序。具体的,一种实现方式中,首先根据所述集合中各个待合并策略的已合并维度分别对应的元素的总长度,对各个待合并策略进行排序。其中,针对已合并维度对应的元素总长度相同的待合并策略,可以利用字典排序方式(如26个英文字母的排序方式),比对已合并维度对应的元素,完成对所述待合并策略的排序,最终得到按照总长度从长到短的顺序排序的待合并策略。例如,两条待合并策略的已合并维度对应的元素分别为aab和abc,按照字典排序方式,aab中第二个a应该在abc中的b之前,所以,aab对应的待合并策略排序在abc对应的待合并策略之前。
[0073] 由于排序后的待合并策略中,能够满足已合并维度对应的元素具有相等关系的待合并策略一般相邻位置较近,另外,也能够满足已合并维度对应的元素具有包含关系的待合并策略中,较长策略往往会出现在较短策略的某一侧,这样,在策略匹配时搜索的范围会锁定在某一侧,使得搜索的策略数量会变少。所以,在查找满足上述条件的待合并策略所需要的比对次数较少,一定程度上提高了查找效率。
[0074] 一种优选地实现方式中,在确定第一个已合并维度之后,以该第一个确定的已合并维度为排序依据,对所述集合中的各个待合并策略进行排序。由于后续在对当前维度进行合并之前,均需要查找该已合并维度对应的元素具有相等关系或包含关系的待合并策略,所以,该方式能够最大化的减少查找符合条件的待合并策略时的匹配次数。
[0075] S106:从所述集合中,查找已合并维度对应的元素具有相等关系或包含关系的待合并策略,并将所述待合并策略中当前维度对应的元素进行合并。
[0076] 本发明实施例中,在被确定为当前维度的是最后一个待合并维度时,由于此时已经不存在其他待合并维度,所以此时只需要对已合并维度对应的元素进行比较即可。如果待合并策略的已合并维度对应的元素具有相等关系或包含关系,则将所述待合并策略中当前维度对应的元素进行合并,最终完成对所述集合中各个待合并策略的合并。
[0077] 实际应用中,在查找已合并维度对应的元素具有相等关系或包含关系的待合并策略,并将所述待合并策略中当前维度对应的元素进行合并的步骤中,针对相等关系和包含关系的处理方式分别为:
[0078] 一、相等关系:当在所述待合并策略中,查找到已合并维度对应的元素具有相等关系的待合并策略时,将所述待合并策略中已合并维度和待合并维度对应的元素保持不变,当前维度对应的元素进行组合后,得到一条待合并策略。也就是说,对于相等关系的待合并策略,合并后最终得到的是一条策略。
[0079] 如表1中,当源IP地址作为当前维度时,待合并策略1与待合并策略2中的已合并维度目的IP地址对应的元素均为X,已合并维度端口号对应的元素均为1,也就是说,待合并策略1与待合并策略2的已合并维度对应的元素具有相等关系,则直接将当前维度对应的元素进行组合即可,合并后得到的策略中源IP地址对应的元素为AB,已合并维度和待合并维度对应的元素保持不变,即目的IP地址对应的元素X和端口号对应的元素1是不变的。
[0080] 二、包含关系:当在所述待合并策略中,查找到已合并维度对应的元素具有包含关系的待合并策略时,将被包含的元素对应的待合并策略作为第一待合并策略,以及将包含的元素对应的待合并策略作为第二待合并策略;并将所述第一待合并策略中已合并维度对应的元素从所述第二待合并策略中已合并维度对应的元素中去除;以及将所述第二待合并策略中当前维度对应的元素合并到所述第一待合并策略中当前维度对应的元素中。
[0081] 例如,第一待合并策略AB→X以及第二待合并策略B→YZ,当前维度对应的元素为X、YZ,已合并维度对应的元素AB、B具有包含关系,依据上述包含关系中规定的合并方式,经过合并后最终得到的策略为A→X,B→XYZ。
[0082] 为了防止对待合并策略的当前维度对应的元素进行合并后,得到的合并结果相比之前未合并的策略劣化,本发明实施例预先设置了待合并策略合并的限制条件,也就是说,当满足限制条件时则不进行合并操作。具体的实现方法包括:首先,将所述待合并策略中当前维度对应的元素进行预合并,得到预合并策略;然后,分别获取所述预合并策略和所述待合并策略中各个维度对应的元素的总长度的最大和最小长度值;最后,在所述待合并策略对应的最大长度值不小于所述预合并策略对应的最大长度值,且所述待合并策略对应的最大和最小长度值之差不小于所述预合并策略对应的最大和最小长度值之差时,执行所述将所述待合并策略中当前维度对应的元素进行合并。也就是说,本发明实施例设置的待合并策略进行合并的限制条件为:待合并策略对应的最大长度值小于预合并策略对应的最大长度值,或者,待合并策略对应的最大和最小长度值之差小于预合并策略对应的最大和最小长度值之差,则不会对待合并策略进行合并。例如,上述第一待合并策略AB→X以及第二待合并策略B→YZ,经过合并后得到的策略为A→X和B→XYZ。由于待合并策略对应的最大长度值为4小于预合并策略对应的最大长度值5,并且待合并策略对应的最大和最小长度值之差为0,小于预合并策略对应的最大和最小长度值之差2。所以,第一待合并策略AB→X和第二待合并策略B→YZ满足限制条件,不应该对其进行合并,否则会使得策略劣化。
[0083] 另外,由于本发明实施例提供的网络访问策略的合并方法中各个计算步骤之间相对独立,例如待合并策略的各个维度的处理过程相对独立,所以,为了提高网络访问策略的合并效率,本发明可以对相对独立的某些步骤做裁剪,即不处理某些步骤,以提高整体合并效率。
[0084] 一种优选实施方式中,可以对某一个或多个维度不进行合并,或者对某些维度进行合并时不考虑“已合并维度对应的元素具有包含关系”的情况,从而能够提高集合中待合并策略的整体合并效率。
[0085] 本发明实施例提供的网络访问策略的合并方法,能够将设备自学习到的大量的“点到点”策略进行合并,极大的减少了网络访问策略的数量,使得策略匹配时匹配次数减少,提高了策略匹配的效率。
[0086] 本发明实施例还提供了一种网络访问策略的合并装置,参考图2,为本发明实施例提供的一种网络访问策略的合并装置结构示意图。所述装置包括:
[0087] 第一获取模块201,用于获取待合并策略的集合,所述集合中包括具有相同维度的待合并策略,所述待合并策略包括与各个维度分别对应的元素。
[0088] 第一确定模块202,用于将所述集合中的待合并策略具有的任一维度确定为当前维度,并将除所述当前维度之外的维度确定为待合并维度。
[0089] 第一合并模块203,用于从所述集合中,查找待合并维度对应的元素具有相等关系的待合并策略,并将所述待合并策略中当前维度对应的元素进行合并。
[0090] 第二确定模块204,用于将所述当前维度确定为已合并维度,并将任一待合并维度重新确定为当前维度;在确定所述集合中不存在待合并维度后,触发第三合并模块,否则,触发第二合并模块。
[0091] 所述第二合并模块205,用于从所述集合中,查找待合并维度对应的元素具有相等关系的待合并策略,并在所述待合并策略中,查找已合并维度对应的元素具有相等关系或包含关系的待合并策略,将所述待合并策略中当前维度对应的元素进行合并;触发所述第二确定模块。
[0092] 所述第三合并模块206,用于从所述集合中,查找已合并维度对应的元素具有相等关系或包含关系的待合并策略,并将所述待合并策略中当前维度对应的元素进行合并。
[0093] 为了提高查找已合并维度对应的元素具有相等关系或包含关系的待合并策略的效率,可以预先以一个已合并维度为排序依据,对所述集合中的各个待合并策略进行排序。具体的,所述装置还可以包括:
[0094] 排序模块,用于以所述已合并维度为排序依据,对所述集合中的待合并策略进行排序。
[0095] 实际应用中,所述排序模块具体可以包括:
[0096] 第一排序子模块,用于根据所述集合中各个待合并策略的已合并维度分别对应的元素的总长度,对各个待合并策略进行排序;
[0097] 第二排序子模块,用于对于所述总长度相同的待合并策略,按照字典排序方式,对所述待合并策略进行排序。
[0098] 为了防止对待合并策略的当前维度对应的元素进行合并后,得到的合并结果相比之前未合并的策略劣化,本发明实施例预先设置了待合并策略合并的限制条件。具体的,所述装置还可以包括:
[0099] 预合并模块,用于将所述待合并策略中当前维度对应的元素进行预合并,得到预合并策略;
[0100] 第二获取模块,用于分别获取所述预合并策略和所述待合并策略中各个维度对应的元素的总长度的最大和最小长度值;
[0101] 第四合并模块,用于在所述待合并策略对应的最大长度值不小于所述预合并策略对应的最大长度值,且所述待合并策略对应的最大和最小长度值之差不小于所述预合并策略对应的最大和最小长度值之差时,将所述待合并策略中当前维度对应的元素进行合并。
[0102] 实际应用中,所述第二合并模块具体可以包括:
[0103] 组合子模块,用于当在所述待合并策略中,查找到已合并维度对应的元素具有相等关系的待合并策略时,将所述待合并策略中已合并维度和待合并维度对应的元素保持不变,当前维度对应的元素进行组合后,得到一条待合并策略;
[0104] 合并子模块,用于当在所述待合并策略中,查找到已合并维度对应的元素具有包含关系的待合并策略时,将被包含的元素对应的待合并策略作为第一待合并策略,以及将包含的元素对应的待合并策略作为第二待合并策略;并将所述第一待合并策略中已合并维度对应的元素从所述第二待合并策略中已合并维度对应的元素中去除;以及将所述第二待合并策略中当前维度对应的元素合并到所述第一待合并策略中当前维度对应的元素中。
[0105] 综上,本发明实施例提供的网络访问策略的合并装置,能够对设备自学习到的“点到点”策略进行合理性的合并,减少策略数量,提高策略匹配时的系统性能。
[0106] 对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
[0107] 需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0108] 以上对本发明实施例所提供的一种网络访问策略的合并方法及装置进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。