ACL模板配置方法、装置、存储介质及电子设备与流程

未命名 10-09 阅读:111 评论:0

acl模板配置方法、装置、存储介质及电子设备
技术领域
1.本发明涉及网络通信技术领域,具体地涉及一种acl模板配置方法、一种acl模板配置装置、一种机器可读存储介质及一种电子设备。


背景技术:

2.报文在进入交换芯片后,会根据交换芯片提前配置好的信息对报文进行切割以此来生成对应的关键字。其中,提前配置好的信息即称为模板,模板中包含多条匹配项如内层虚拟局域网(virtual local area network,vlan)的优先级(priority,pri)、外层vlan的虚拟局域网标识符(virtual local area network identifier,vid)等等。在上一步通过模板切割生成的关键字会继续和交换芯片提前配置好的规则进行比较,符合规则后再进行相应的操作,其中,提前配置好的规则称为acl(access control list,访问控制列表)如内层vlan的pri大于5、外层vlan的vid大于10等等。
3.在以往的交换机中通常采用静态acl模板进行规则匹配,这类静态acl模板需要满足某一类型芯片的全部业务需求,因此对该acl模板的覆盖范围要求就比较高,不仅不好提前配置而且常常会导致acl模板的空间资源被消耗殆尽,另外该静态acl模板中部分匹配项并不是有效数据即很少被使用到,使得资源利用率较低。
4.因此,现有的acl模板配置存在模板资源利用率低的问题。


技术实现要素:

5.本发明实施例的目的是提供一种acl模板配置方法、一种acl模板配置装置、一种机器可读存储介质及一种电子设备,该acl模板配置方法通过引入热度机制,对匹配项绑定热度值,在创建acl模板时可以根据当前匹配项的热度情况高效选择出匹配项添加补充至模板中,可以增强模板的可用性和可复用性,能大大提高模板利用率。
6.为了实现上述目的,本技术第一方面提供一种acl模板配置方法,包括:获取用户下发的业务信息,所述业务信息包括目标匹配项;基于所述目标匹配项,匹配系统中已有的acl模板;在未成功匹配系统中已有的acl模板的情况下,基于当前系统中各个匹配项的匹配项热度值和所述目标匹配项创建acl模板,得到目标acl模板;其中,所述各个匹配项的匹配项热度值为各个匹配项的使用率;所述各个匹配项的匹配项热度值通过以下公式计算得到:匹配项热度值=匹配项初始热度值+引用值-衰减值*衰减因子;其中,所述匹配项初始热度值为预设值;所述引用值是由该匹配项被使用情况确定;所述衰减值由该匹配项未被使用情况确定;所述衰减因子是由单位时间内业务量确定。
7.在本技术实施例中,所述系统中已有的acl模板包括预设acl模板、自建acl模板和用户自定义acl模板;所述基于所述目标匹配项,匹配系统中已有的acl模板,包括:
基于所述目标匹配项,匹配所述预设acl模板;在未成功匹配预设acl模板的情况下,基于所述目标匹配项,匹配所述用户自定义acl模板;在未成功匹配用户自定义acl模板的情况下,基于所述目标匹配项,匹配所述自建acl模板;所述在未成功匹配系统中已有的acl模板的情况下,基于当前系统中各个匹配项的匹配项热度值和所述目标匹配项创建acl模板,得到目标acl模板,包括:在未成功匹配自建acl模板的情况下,基于当前系统中各个匹配项的匹配项热度值和所述目标匹配项,采用系统自建方式创建acl模板,得到目标acl模板。
8.在本技术实施例中,所述基于所述目标匹配项,匹配所述预设acl模板,包括:判断所述业务信息中是否包含用户创建命令;在确定所述业务信息包含用户创建命令的情况下,基于所述目标匹配项,匹配所述用户自定义acl模板;在未成功匹配用户自定义acl模板的情况下,基于当前系统中各个匹配项的匹配项热度值和所述目标匹配项,采用用户自定义方式创建acl模板,得到目标acl模板;在确定所述业务信息不包含用户创建命令的情况下,基于所述目标匹配项,匹配所述预设acl模板。
9.在本技术实施例中,在得到目标acl模板之后,所述方法还包括:a1:基于预置的匹配项位图,判断所述目标acl模板是否有效,并在确定所述目标acl模板有效的情况下执行a2;在确定所述目标acl模板无效的情况下执行a3;其中,所述预置的匹配项位图中每一个位图有一个匹配项位图值和一个对应的acl模板;a2:基于所述目标acl模板,下发对应的配置至芯片;a3:重新构建目标acl模板,并返回执行a1。
10.在本技术实施例中,所述基于预置的匹配项位图,判断所述目标acl模板是否有效,包括:b1:判断预置的匹配项位图中是否存在所述目标acl模板,并在确定预置的匹配项位图中不存在所述目标acl模板的情况下,执行b2;在确定预置的匹配项位图中存在所述目标acl模板的情况下,执行b5;b2:基于所述目标acl模板,下发对应的配置至芯片,以验证有效性;b3:获取有效性验证结果,并基于所述有效性验证结果更新匹配项位图,得到新的匹配项位图;b4:判断芯片配置是否成功,在确定芯片配置不成功的情况下,重新创建得到新的目标acl模板,并返回执行b1;在确定芯片配置成功的情况下,结束业务;b5:基于所述预置的匹配项位图,判断所述目标acl模板是否有效。
11.在本技术实施例中,在所述基于当前系统中各个匹配项的匹配项热度值和所述目标匹配项,采用系统自建方式创建acl模板之前,所述方法还包括:判断当前自建acl模板的数量是否超过预置的阈值;在确定当前自建acl模板的数量超过预置的阈值的情况下,基于模板热度值更新自建acl模板。
12.本技术第二方面提供一种acl模板配置装置,包括:获取模块,用于获取用户下发的业务信息,所述业务信息包括目标匹配项;匹配模块,用于基于所述目标匹配项,匹配系统中已有的acl模板;创建模块,用于在未成功匹配系统中已有的acl模板的情况下,基于当前系统中各个匹配项的匹配项热度值和所述目标匹配项创建acl模板,得到目标acl模板;其中,所述各个匹配项的匹配项热度值为各个匹配项的使用率;所述各个匹配项的匹配项热度值通过以下公式计算得到:匹配项热度值=匹配项初始热度值+引用值-衰减值*衰减因子;其中,所述匹配项初始热度值为预设值;所述引用值是由该匹配项被使用情况确定;所述衰减值由该匹配项未被使用情况确定;所述衰减因子是由单位时间内业务量确定。
13.本技术第三方面提供一种电子设备,该电子设备包括:至少一个处理器;存储器,与所述至少一个处理器连接;其中,所述存储器存储有能被所述至少一个处理器执行的指令,所述至少一个处理器通过执行所述存储器存储的指令实现上述的acl模板配置方法。
14.本技术第四方面提供一种机器可读存储介质,该机器可读存储介质上存储有指令,该指令在被处理器执行时使得所述处理器被配置成执行上述的acl模板配置方法。
15.通过上述技术方案,通过获取用户下发的业务信息,所述业务信息包括目标匹配项;基于所述目标匹配项,匹配系统中已有的acl模板;在未成功匹配系统中已有的acl模板的情况下,基于当前系统中各个匹配项的匹配项热度值和所述目标匹配项创建acl模板,得到目标acl模板。通过引入热度机制,对匹配项绑定热度值,在创建acl模板时可以根据当前匹配项的热度情况高效选择出匹配项添加补充至模板中,由于匹配项热度值表示了各个匹配项的使用率,使用率越高,其匹配项热度值越大,使得基于当前匹配项的热度情况选择出匹配项可以是使用率较高的,从而可以增强模板的可用性和可复用性。并且能更加适宜当前的业务需求,该方式在业务需求量大时能大大提高模板命中率。
16.本发明实施例的其它特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
17.附图是用来提供对本发明实施例的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本发明实施例,但并不构成对本发明实施例的限制。在附图中:图1示意性示出了根据本技术实施例的一种acl模板配置方法的流程示意图;图2示意性示出了根据本技术实施例的核心组件关系图;图3示意性示出了根据本技术实施例的初始化流程图;图4示意性示出了根据本技术实施例的业务下发匹配流程图;图5示意性示出了根据本技术实施例的目标acl模板有效性判断的流程图;图6示意性示出了根据本技术实施例的判断匹配项位图中存在目标acl模板的流程图;图7示意性示出了根据本技术实施例的系统运行图;图8示意性示出了根据本技术实施例的一种acl模板配置装置的结构框图;
图9示意性示出了根据本技术实施例的计算机设备的内部结构图。
18.附图标记说明410-获取模块;420-匹配模块;430-创建模块;a01-处理器;a02-网络接口;a03-内存储器;a04-显示屏;a05-输入装置;a06-非易失性存储介质;b01-操作系统;b02-计算机程序。
具体实施方式
19.以下结合附图对本发明实施例的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明实施例,并不用于限制本发明实施例。
20.请参看图2,图2示意性示出了根据本技术实施例的核心组件关系图。交换机作为常见的网络通信设备,其核心组件一般包括:交换芯片、底层交换配置系统、上层交换控制系统,三者在命令处理关系顺序如图2所示,其中上层交换控制系统是为用户提供操作的直接途径,用户执行的控制命令首先会在上层交换控制系统中做相应的处理,在判断命令有效且底层有相关资源可用后才会下发指令到底层交换配置系统,底层交换配置系统通过解析上层传入的参数进行相关寄存器的配置操作,且部分操作会下发到交换芯片,最终完成整个命令的配置下发流程。上层交换控制系统中通常使用软表来解决大量访问寄存器问题,同时它也是作为用户视角来进行所有操作命令的封装。底层交换配置系统则是相对站在芯片和寄存器视角来维护相关的资源。对于acl (access control list,访问控制列表)模板而言,在底层交换配置系统中使用的是芯片提供的最小acl模板,例如内层vlan的规范格式指示(canonical format indicator,cfi)、pri、vid为一个最小模板。这样上层交换控制系统再根据底层的最小acl模板进行一定的组合封装,生成标准acl、扩展acl、二层acl、混合acl等常用acl模板供用户使用。本实施例从资源利用率、自适应能力、底层访问控制、资源回收等多个方面考虑提供一种acl模板配置方法,来提高acl模板的可用性、减少芯片的处理开销。
21.实施例一请参看图1和图7,图1示意性示出了根据本技术实施例的一种acl模板配置方法的流程示意图,图7示意性示出了根据本技术实施例的系统运行图。本实施例提供一种acl模板配置方法,包括以下步骤:步骤210:获取用户下发的业务信息,所述业务信息包括目标匹配项;在本实施例中,用户下发业务,通过业务信息可以确定目标匹配项。
22.步骤220:基于所述目标匹配项,匹配系统中已有的acl模板;在本实施例中,acl模板中包含有很多的匹配项,通过将目标匹配项与acl模板中的匹配项进行匹配,以得到匹配的acl模板。其中,系统中已有的acl模板包括多种acl模板,比如:包括但不限于预设acl模板、自建acl模板和用户自定义acl模板。预设acl模板是指预先配置好的acl模板,自建acl模板是指系统自建的自建acl模板,用户自定义acl模板是指用户根据需要自己创建的acl模板。
23.步骤220-1:在系统初始化时配置得到预设acl模板。请参看图3,图3示意性示出了根据本技术实施例的初始化流程图。在系统初始化时,上层交换控制系统需要确认并制定出预设acl模板,这里的预设acl模板就是对常用的acl类型分级配置,可以是在底层交换配
置系统中提供的最小acl模板为1级(这个是芯片设计所决定而不能更改的),上层交换控制系统配置的单宽度模板为2级,上层交换控制系统配置的双宽度模板为3级,系统所要完成配置的为2、3级。这里的常用acl类型包含标准acl、扩展acl、二层acl、混合acl,在配置这些常用acl时首先会将其配置为2级,若2级配置失败不会直接配置为3级而是会先看能否拆分为多个2级模板,若确定不能拆分才会配置为3级。比如混合acl中包含源ip和目的ip以及端口(port)、交换机端口聚合(lag)、vlan等,一个2级配置是装不下这么多匹配项的,所以会进行拆分组合,如源、目的ip分别和几种类型的端口组合,从而配置为多个2级模板。在整个使用单、双宽度模型时都要尽可能的将匹配项填满。始终坚持“优先使用单宽度,单双宽度均满配”的原则来使资源利用率达到最高。通过以上的配置最终在系统中生成预设acl模板。
24.步骤220-2:基于所述目标匹配项,匹配系统中的预设acl模板、自建acl模板和用户自定义acl模板。
25.通过采用多级模板的思想,在上层交换控制系统中根据底层交换配置系统提供的最小acl模板,配置了多类型的预配置acl模板(从单宽度到双宽度,从标准acl到混合acl等)涵盖了市面上常见的匹配规则,这类静态acl模板不仅能满足用户最常用的业务匹配而且其在匹配原则上优先使用单宽度模板从而可以提高资源利用率。
26.步骤230:在未成功匹配系统中已有的acl模板的情况下,基于当前系统中各个匹配项的匹配项热度值和所述目标匹配项创建acl模板,得到目标acl模板;其中,所述各个匹配项的匹配项热度值为各个匹配项的使用率。在成功匹配系统中已有的acl模板的情况下,得到目标acl模板。
27.在本实施例中,通过匹配系统中已有的acl模板,若匹配成功,将匹配得到的acl模板作为目标acl模板,若匹配不成功,则需要创建acl模板。上述创建acl模板可以是采用系统自建方式创建也可以是采用自定义的方式创建。上述各个匹配项的匹配项热度值表示了各个匹配项的使用率,使用率越高,其匹配项热度值越大。上述匹配项热度值可以是对acl模板中的每一个匹配项都绑定一个热度值(match_heat),该值可以是通过热度算法得到,这样一来系统中就可以对所有的匹配项使用率进行排序。
28.其中,所述各个匹配项的匹配项热度值通过以下公式计算得到:匹配项热度值=匹配项初始热度值+引用值-衰减值*衰减因子;其中,所述匹配项初始热度值(match_heat_start)为预设值;所述引用值是由该匹配项被使用情况确定;所述衰减值由该匹配项未被使用情况确定;所述衰减因子是由单位时间内业务量确定。其中匹配项初始热度值是初始化时决定的;引用值包括用户自定义acl模板中使用到该匹配项时和所有类型模板中该匹配项被业务所使用时其值均会加1;衰减值为每次业务下发该匹配项未被使用时其值为1否则为0;衰减因子是由单位时间内业务量决定的,该值范围为0-1其中业务量越大值越大,从而来保证业务量大时其更新速率也会加快,业务量小时也不会急速衰减。
29.需要说明的是,上述匹配项热度值的算法可以继续优化,其组成因素和衰减因子可以继续调整来使系统运行效果最优。
30.上述在创建acl模板时,系统可以针对acl模板以及当前匹配项的热度情况进行相应的添加补充匹配项。当用户采用自定义方式创建acl模板时,系统可以针对该模板以及当
前匹配项的热度情况进行相应的添加补充匹配项,即从当前所有匹配项热度值序列中选择热度值较高的匹配项作为补充匹配项,并和目标匹配项一起组合得到目标acl模板,从而使得该目标acl模板在可用性和可复用性上得以提升。当用户下发业务但未使用自定义acl模板时,系统也可以根据当前匹配项热度情况进行模板自建即为自建方式创建acl模板,创建的过程与采用自定义方式创建acl模板的方式相同,同样的,该方式创建的目标acl模板也有极高的可用性和可复用性。这种方式在用户大量下发业务时优势就得以体现特别是业务类似的情况下,它就不需要用户再反复的去创建自定义acl模板,系统通过匹配项热度就能创建出最合适的acl模板,从而大大提高了系统的自适应能力,同时这种创建方式也相应的提高了acl模板的利用率。以交换机使用场景为园区为例,交换机型号为tritiumfs5328,包转发速率为48000mpps,交换容量为256tbps,采用现有的acl模板配置,其acl模板的利用率为30%-40%,而采用本方案进行acl模板配置,其acl模板的利用率为60%-70%,大大提高了acl模板的利用率。
31.实施例二请参看图4,图4示意性示出了根据本技术实施例的业务下发匹配流程图。在一些实施例中,在所述系统中已有的acl模板包括预设acl模板、自建acl模板和用户自定义acl模板的情况下,步骤220中基于所述目标匹配项,匹配系统中已有的acl模板;包括以下步骤:首先:基于所述目标匹配项,匹配所述预设acl模板;然后:在未成功匹配预设acl模板的情况下,基于所述目标匹配项,匹配所述用户自定义acl模板;最后:在未成功匹配用户自定义acl模板的情况下,基于所述目标匹配项,匹配所述自建acl模板;相应地,步骤230包括:在未成功匹配自建acl模板的情况下,基于当前系统中各个匹配项的匹配项热度值和所述目标匹配项,采用系统自建方式创建acl模板,得到目标acl模板。
32.在本实施例中,上述在匹配的时候的优先级就是:预设acl模板、用户自定义acl模板、自建acl模板。若匹配到预设acl模板,则使用匹配到的预设acl模板作为目标acl模板,反之,则继续匹配用户自定义acl模板,若匹配到用户自定义acl模板,则采用匹配到的用户自定义acl模板作为目标acl模板;反之,则继续匹配自建acl模板,若匹配到自建acl模板,则采用匹配到的自建acl模板作为目标acl模板,反之,则通过系统自建得到目标acl模板。
33.上述采用系统自建方式创建acl模板就是系统可以针对自建acl模板以及当前匹配项的热度情况进行相应的添加补充匹配项,即从当前所有匹配项热度值序列中选择热度值较高的匹配项作为补充匹配项,并和目标匹配项一起组合得到目标acl模板。
34.上述实现过程中,通过获取用户下发的业务信息,所述业务信息包括目标匹配项;基于所述目标匹配项,匹配系统中已有的acl模板;在成功匹配系统中已有的acl模板的情况下,得到目标acl模板;在未成功匹配系统中已有的acl模板的情况下,基于当前系统中各个匹配项的匹配项热度值和所述目标匹配项创建acl模板,得到目标acl模板。通过引入热度机制,对匹配项绑定热度值,在创建acl模板时可以根据当前匹配项的热度情况高效选择出匹配项添加补充至模板中,由于匹配项热度值表示了各个匹配项的使用率,使用率越高,
其匹配项热度值越大,使得基于当前匹配项的热度情况选择出匹配项可以是使用率较高的,从而可以增强模板的可用性和可复用性。并且能更加适宜当前的业务需求,该方式在业务需求量大时能大大提高模板命中率,提高了acl模板的可用性。
35.上述匹配acl模板的过程都是默认优先匹配已有的acl模板,在一些实施例中,若用户在下发业务时,同时下发了采用用户自定义acl模板的命令,则优先去匹配用户自定义acl模板的命令,若没有匹配到,则采用用户自定义方式创建acl模板。所述基于所述目标匹配项,匹配所述预设acl模板,包括以下步骤:首先,判断所述业务信息中是否包含用户创建命令;然后,在确定所述业务信息包含用户创建命令的情况下,基于所述目标匹配项,匹配所述用户自定义acl模板。
36.然后,在未成功匹配用户自定义acl模板的情况下,基于当前系统中各个匹配项的匹配项热度值和所述目标匹配项,采用用户自定义方式创建acl模板,得到目标acl模板;最后,在确定所述业务信息不包含用户创建命令的情况下,基于所述目标匹配项,匹配所述预设acl模板。
37.在本实施例中,用户在下发业务时,同时可以下发用户配置的命令,即业务信息包含用户创建命令,比如用户创建命令是自己要创建一个acl模板,那自定义acl模板这条路,即先匹配所述用户自定义acl模板,若匹配到了,则采用匹配的用户自定义acl模板作为目标acl模板,反之,则采用用户自定义方式创建acl模板。如果下发业务中不包含用户创建命令,即不是要创建acl模板,比如要匹配mac或什么字段,那就会先去看下预设的acl模板满不满足,不满足的话再去匹配用户自定义acl模板、自建acl模板,如果自建acl模板都不满足的话那只有再自建一个acl模板了。
38.通过判断所述业务信息中是否包含用户创建命令,并在包含用户创建命令的情况下,采用用户自定义acl模板来得到目标acl模板,从而满足不同的用户需求。
39.实施例三在一些实施例中,在得到目标acl模板之后,还需要考虑目标acl模板的有效性,请参看图5,图5示意性示出了根据本技术实施例的目标acl模板有效性判断的流程图。所述方法还包括以下步骤:步骤a1:基于预置的匹配项位图,判断所述目标acl模板是否有效,并在确定所述目标acl模板有效的情况下执行步骤a2;在确定所述目标acl模板无效的情况下执行步骤a3;其中,所述预置的匹配项位图中每一个位图有一个匹配项位图值和一个对应的acl模板;步骤a2:基于所述目标acl模板,下发对应的配置至芯片;步骤a3:重新构建目标acl模板,并返回执行a1。
40.其中,具体地,请参看图6,图6示意性示出了根据本技术实施例的判断匹配项位图中存在目标acl模板的流程图。所述基于预置的匹配项位图,判断所述目标acl模板是否有效,包括以下步骤:步骤b1:判断预置的匹配项位图中是否存在所述目标acl模板,并在确定预置的匹配项位图中不存在所述目标acl模板的情况下,执行步骤b2;在确定预置的匹配项位图中存在所述目标acl模板的情况下,执行步骤b5;
步骤b2:基于所述目标acl模板,下发对应的配置至芯片,以验证有效性;步骤b3:获取有效性验证结果,并基于所述有效性验证结果更新匹配项位图,得到新的匹配项位图;步骤b4:判断芯片配置是否成功,在确定芯片配置不成功的情况下,重新创建得到新的目标acl模板,并返回执行b1;在确定芯片配置成功的情况下,结束业务;步骤b5:基于所述预置的匹配项位图,判断所述目标acl模板是否有效。
41.在本实施例中,所述匹配项位图记录了各个已有acl模板配置成功与否(成功和失败都会记录),即每一个位图有一个匹配项位图值和一个对应的acl模板,匹配项位图值为固定数值,比如30-成功,29-失败。这些匹配项用位图表示出来就是一个具体的数值比如30,这个值是唯一的,即可以说每个acl模板都有一个唯一确定的匹配项位图。然后在构建了目标acl模板之后就有了一个对应的匹配项位图值比如说是31,这个时候现有的匹配项位图值里没有这个数据那就只有通过下发芯片来验证,如果成功了,那也就结束了,如果失败了它还是会继续重新构建目标acl模板直到成功为止,整个过程都会记录匹配项位图的值和对应的结果。在后续的用户自定义acl模板以及自建acl模板时,就会先将目标acl模板与所有的失败匹配项位图依次比较,若存在该模板类型的失败匹配项位图则表示需要重新构建目标acl模板。当在失败匹配项位图中未找到相同模板后再与所有成功匹配项位图进行比较,若存在与目标acl模板相同模板的成功匹配项位图,则可以直接下发配置。当该模板在失败匹配项位图和成功匹配项位图中都不存在时才会下发芯片进行可行性验证,同时也会将该结果记录到匹配项位图中。
42.需要说明的是,预置的匹配项位图是随着acl模板的构建随时变化的。系统初始化生成预设acl模板时由于没有其余辅助,且匹配项位图也才初始化所以只能通过下发芯片进行验证其模板的有效性,在该过程中就会记录相应的模板匹配项位图,这样在初始化完成后也就有了一定量的匹配项位图。上述实现过程中,通过以匹配项位图的记录方式,将每个模板下发配置成功与否的情况分成两部分即:成功匹配项位图,失败匹配项位图。这样用户在自定义acl模板和系统自建acl模板时会与这些匹配项位图进行比较来确定可行性,只有当匹配项位图未记录到该模板时才会下发芯片,而不是直接将模板下发芯片来确认其可行性,这样的处理方法就大大减少了对底层芯片的访问,也就减轻系统的处理开销。
43.通过以位图的方式记录所占用的空间很小,同时随着acl模板的创建,匹配项位图的记录也随之增多(同样的模板只记录一次),这样越往后其覆盖面愈加广泛,采用匹配项位图的方法,对用户自定义acl模板和自建acl模板在确认模板有效时,能大大减少对芯片的访问,从而减轻系统的处理开销。
44.需要说明的是,针对交换机底层提供的最小模板,每一个最小模板里面包含了一个或多个匹配项,同一个匹配项有可能会出现在多个最小模板中,这是芯片设计时所决定的,上层交换机控制系统并不能决定直接使用哪一个最小模板,所以目前只能通过测试的方式来确定,后期可以基于匹配项位图,设计位图匹配的方法进行模板间的对应以此来减少测试次数。
45.实施例四在本实施例中,由于系统中会有用户自定义acl模板和系统根据热度自建的自建
acl模板,所以如果不能动态的清理也会导致空间资源的浪费,对于自建acl模板而言它是系统根据当前业务情况进行创建的,为了控制系统中自建acl模板的数量,还设计了热度淘汰机制。具体为:在步骤230-4之前,所述方法还包括以下步骤:首先,判断当前自建acl模板的数量是否超过预置的阈值;然后,在确定当前自建acl模板的数量超过预置的阈值的情况下,基于模板热度值更新自建acl模板。
46.在本实施例中,上述预置的阈值可以是根据实际情况设置,比如:系统默认自建acl模板最多支持10个(实际更多),为了维持系统空间,当自建acl模板超过50%(即5个)时就会启动热度淘汰机制,依次将自建acl模板热度最低的进行删除,保持自建acl模板的数量在50%左右。上述热度淘汰机制类似于最近最不常用算法(least frequently used,lfu),上述在判断当前自建acl模板的数量是否超过预置的阈值时,可以依赖于模板热度值来判断,模板热度值和匹配项热度值类似,该自建acl模板配置成功后相应的模板初始热度值(template_heat_start)就为1,其热度计算方法为:模板热度值=模板初始热度值(template_heat_start)+引用值-衰减值*衰减因子。其中初始热度值是均为1;引用值为该自建acl模板被业务所使用时其值加1;衰减值为每次业务下发该模板未被使用时其值为1否则为0;衰减因子是由单位时间内业务量决定的,该值范围为0-1其中业务量越大值越大,从而来保证业务量大时其更新速率也会加快,业务量小时也不会急速衰减。
47.需要说明的是,模板热度值只针对自建acl模板,对于预设acl模板和用户自定义acl模板而言这是由系统初始化和用户决定的所以后续也就不再进行修改。
48.上述实现过程中,通过采用了淘汰机制的方法,同前面的匹配项热度值一样每一个自建acl模板也有对应的热度值,该值也会通过热度算法进行计算,它反应的是该acl模板近期的使用频率,同时淘汰机制的加入也会促进自适应能力,两者的相辅相成可使系统达到最佳理想状态。通过使用淘汰机制来删除自建acl模板,不仅能有效的回收内存提升系统资源利用率还能通过与创建有效的循环来提升系统的自适应能力。
49.下面举例说明整个系统正常运行时的工作机制:首先,当系统初始化后就有了预设acl模板,当系统开始进行业务处理时,系统根据下发的业务区分是用自定义acl模板还是acl使用,

如果是用户自定义acl模板:由于是用户自定义所以其选择的所有匹配项必须要满足,但是该模板并不一定刚好占满一个单/双宽度模板即还可以向其中添加部分匹配项,所以在添加匹配项时就会使用到匹配项热度,根据当前所有匹配项的热度排序,依次添加热度最高的匹配项到该用户自定义acl模板中直到该模板达到满配状态(添加的匹配项是用户选择中不存在的即不重复添加),配置完成后与匹配项位图比较确认其是否有效。若无效则删除添加的匹配项再次根据匹配项热度进行添加,后续再进行有效性验证。

如果是acl使用:系统会根据下发acl中的匹配项去依次匹配预设acl模板、用户自定义acl模板、自建acl模板,如果现有的acl模板均匹配不了则就需要相应的自建acl模板。系统会先提取出下发acl中的匹配项去创建一个自建acl模板,同

中该模板并不一定刚好占满一个单/双宽度模板即还可以向其中添加部分匹配项,所以在添加匹配项时就会使用到匹配项热度,根据当前所有匹配项的热度排序,依次添加热度最高的匹配项到该自建acl模板中直到该模板达到满配状态(添加的匹配项下发acl中不存在的即不重复添加),配置完成后与匹配项位图比较确认其是否有效。若无效则删除添加
的匹配项再次根据匹配项热度进行添加,后续再进行有效性验证。同时,在创建自建acl模板前会检测当前自建acl模板的数量是否超过最大数量的50%,若未超过则继续创建,若超过则按照上述热度淘汰机制将最近最不常用的自建acl模板删除后再创建。
50.需要说明的是,对于交换机系统中需要根据业务动态进行配置的模块均可采用基于热度创建与淘汰机制的方案,以此来提升系统自适应能力。
51.图1为一个实施例中acl模板配置方法的流程示意图。应该理解的是,虽然图1的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
52.实施例五本实施例还提供一种acl模板配置装置,请参看图8,图8示意性示出了根据本技术实施例的一种acl模板配置装置的结构框图。该acl模板配置装置包括获取模块410、匹配模块420和创建模块430,其中:获取模块410,用于获取用户下发的业务信息,所述业务信息包括目标匹配项;匹配模块420,用于基于所述目标匹配项,匹配系统中已有的acl模板;创建模块430,用于在未成功匹配系统中已有的acl模板的情况下,基于当前系统中各个匹配项的匹配项热度值和所述目标匹配项创建acl模板,得到目标acl模板;其中,所述各个匹配项的匹配项热度值为各个匹配项的使用率;所述各个匹配项的匹配项热度值通过以下公式计算得到:匹配项热度值=匹配项初始热度值+引用值-衰减值*衰减因子;其中,所述匹配项初始热度值为预设值;所述引用值是由该匹配项被使用情况确定;所述衰减值由该匹配项未被使用情况确定;所述衰减因子是由单位时间内业务量确定。
53.所述acl模板配置装置包括处理器和存储器,上述获取模块410、匹配模块420和创建模块430等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
54.处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来提高模板资源利用率。
55.存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram),存储器包括至少一个存储芯片。
56.实施例六本发明实施例提供了一种机器可读存储介质,其上存储有程序,该程序被处理器执行时实现所述acl模板配置方法。
57.实施例七本发明实施例提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行所述acl模板配置方法。
58.在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构
图可以如图9所示。该计算机设备包括通过系统总线连接的处理器a01、网络接口a02、显示屏a04、输入装置a05和存储器(图中未示出)。其中,该计算机设备的处理器a01用于提供计算和控制能力。该计算机设备的存储器包括内存储器a03和非易失性存储介质a06。该非易失性存储介质a06存储有操作系统b01和计算机程序b02。该内存储器a03为非易失性存储介质a06中的操作系统b01和计算机程序b02的运行提供环境。该计算机设备的网络接口a02用于与外部的终端通过网络连接通信。该计算机程序被处理器a01执行时以实现一种acl模板配置方法。该计算机设备的显示屏a04可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置a05可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
59.本领域技术人员可以理解,图9中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
60.在一个实施例中,本技术提供的acl模板配置装置可以实现为一种计算机程序的形式,计算机程序可在如图9所示的计算机设备上运行。计算机设备的存储器中可存储组成该acl模板配置装置的各个程序模块,比如,图8所示的获取模块410、匹配模块420和创建模块430。各个程序模块构成的计算机程序使得处理器执行本说明书中描述的本技术各个实施例的acl模板配置方法中的步骤。
61.图9所示的计算机设备可以通过如图8所示的acl模板配置装置中的跳转代码段获取模块410执行步骤210。计算机设备可通过匹配模块420执行步骤220。计算机设备可通过创建模块430执行步骤230。
62.本技术实施例提供了一种电子设备,该电子设备包括:至少一个处理器;存储器,与所述至少一个处理器连接;其中,所述存储器存储有能被所述至少一个处理器执行的指令,所述至少一个处理器通过执行所述存储器存储的指令实现上述的acl模板配置方法。处理器执行指令时实现以下步骤:获取用户下发的业务信息,所述业务信息包括目标匹配项;基于所述目标匹配项,匹配系统中已有的acl模板;在未成功匹配系统中已有的acl模板的情况下,基于当前系统中各个匹配项的匹配项热度值和所述目标匹配项创建acl模板,得到目标acl模板;其中,所述各个匹配项的匹配项热度值为各个匹配项的使用率;所述各个匹配项的匹配项热度值通过以下公式计算得到:匹配项热度值=匹配项初始热度值+引用值-衰减值*衰减因子;其中,所述匹配项初始热度值为预设值;所述引用值是由该匹配项被使用情况确定;所述衰减值由该匹配项未被使用情况确定;所述衰减因子是由单位时间内业务量确定。
63.在一个实施例中,所述系统中已有的acl模板包括预设acl模板、自建acl模板和用户自定义acl模板;所述基于所述目标匹配项,匹配系统中已有的acl模板,包括:基于所述目标匹配项,匹配所述预设acl模板;在未成功匹配预设acl模板的情况下,基于所述目标匹配项,匹配所述用户自定义acl模板;
在未成功匹配用户自定义acl模板的情况下,基于所述目标匹配项,匹配所述自建acl模板;所述在未成功匹配系统中已有的acl模板的情况下,基于当前系统中各个匹配项的匹配项热度值和所述目标匹配项创建acl模板,得到目标acl模板,包括:在未成功匹配自建acl模板的情况下,基于当前系统中各个匹配项的匹配项热度值和所述目标匹配项,采用系统自建方式创建acl模板,得到目标acl模板。
64.在一个实施例中,所述基于所述目标匹配项,匹配所述预设acl模板,包括:判断所述业务信息中是否包含用户创建命令;在确定所述业务信息包含用户创建命令的情况下,基于所述目标匹配项,匹配所述用户自定义acl模板;在未成功匹配用户自定义acl模板的情况下,基于当前系统中各个匹配项的匹配项热度值和所述目标匹配项,采用用户自定义方式创建acl模板,得到目标acl模板;在确定所述业务信息不包含用户创建命令的情况下,基于所述目标匹配项,匹配所述预设acl模板。
65.在一个实施例中,在得到目标acl模板之后,所述方法还包括:a1:基于预置的匹配项位图,判断所述目标acl模板是否有效,并在确定所述目标acl模板有效的情况下执行a2;在确定所述目标acl模板无效的情况下执行a3;其中,所述预置的匹配项位图中每一个位图有一个匹配项位图值和一个对应的acl模板;a2:基于所述目标acl模板,下发对应的配置至芯片;a3:重新构建目标acl模板,并返回执行a1。
66.在一个实施例中,所述基于预置的匹配项位图,判断所述目标acl模板是否有效,包括:b1:判断预置的匹配项位图中是否存在所述目标acl模板,并在确定预置的匹配项位图中不存在所述目标acl模板的情况下,执行b2;在确定预置的匹配项位图中存在所述目标acl模板的情况下,执行b5;b2:基于所述目标acl模板,下发对应的配置至芯片,以验证有效性;b3:获取有效性验证结果,并基于所述有效性验证结果更新匹配项位图,得到新的匹配项位图;b4:判断芯片配置是否成功,在确定芯片配置不成功的情况下,重新创建得到新的目标acl模板,并返回执行b1;在确定芯片配置成功的情况下,结束业务;b5:基于所述预置的匹配项位图,判断所述目标acl模板是否有效。
67.在一个实施例中,所述基于当前系统中各个匹配项的匹配项热度值和所述目标匹配项,采用系统自建方式创建acl模板之前,所述方法还包括:判断当前自建acl模板的数量是否超过预置的阈值;在确定当前自建acl模板的数量超过预置的阈值的情况下,基于模板热度值更新自建acl模板。
68.本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机
可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
69.本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
70.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
71.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
72.在一个典型的配置中,计算设备包括一个或多个处理器 (cpu)、输入/输出接口、网络接口和内存。
73.存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram)。存储器是计算机可读介质的示例。
74.计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存 (pram)、静态随机存取存储器 (sram)、动态随机存取存储器 (dram)、其他类型的随机存取存储器 (ram)、只读存储器 (rom)、电可擦除可编程只读存储器 (eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器 (cd-rom)、数字多功能光盘 (dvd) 或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体 (transitory media),如调制的数据信号和载波。
75.还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
76.以上仅为本技术的实施例而已,并不用于限制本技术。对于本领域技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本技术的权利要求范围之内。

技术特征:
1.一种acl模板配置方法,其特征在于,包括:获取用户下发的业务信息,所述业务信息包括目标匹配项;基于所述目标匹配项,匹配系统中已有的acl模板;在未成功匹配系统中已有的acl模板的情况下,基于当前系统中各个匹配项的匹配项热度值和所述目标匹配项创建acl模板,得到目标acl模板;其中,所述各个匹配项的匹配项热度值为各个匹配项的使用率;所述各个匹配项的匹配项热度值通过以下公式计算得到:匹配项热度值=匹配项初始热度值+引用值-衰减值*衰减因子;其中,所述匹配项初始热度值为预设值;所述引用值是由该匹配项被使用情况确定;所述衰减值由该匹配项未被使用情况确定;所述衰减因子是由单位时间内业务量确定。2.根据权利要求1所述的acl模板配置方法,其特征在于,所述系统中已有的acl模板包括预设acl模板、自建acl模板和用户自定义acl模板;所述基于所述目标匹配项,匹配系统中已有的acl模板,包括:基于所述目标匹配项,匹配所述预设acl模板;在未成功匹配预设acl模板的情况下,基于所述目标匹配项,匹配所述用户自定义acl模板;在未成功匹配用户自定义acl模板的情况下,基于所述目标匹配项,匹配所述自建acl模板;所述在未成功匹配系统中已有的acl模板的情况下,基于当前系统中各个匹配项的匹配项热度值和所述目标匹配项创建acl模板,得到目标acl模板,包括:在未成功匹配自建acl模板的情况下,基于当前系统中各个匹配项的匹配项热度值和所述目标匹配项,采用系统自建方式创建acl模板,得到目标acl模板。3.根据权利要求2所述的acl模板配置方法,其特征在于,所述基于所述目标匹配项,匹配所述预设acl模板,包括:判断所述业务信息中是否包含用户创建命令;在确定所述业务信息包含用户创建命令的情况下,基于所述目标匹配项,匹配所述用户自定义acl模板;在未成功匹配用户自定义acl模板的情况下,基于当前系统中各个匹配项的匹配项热度值和所述目标匹配项,采用用户自定义方式创建acl模板,得到目标acl模板;在确定所述业务信息不包含用户创建命令的情况下,基于所述目标匹配项,匹配所述预设acl模板。4.根据权利要求1所述的acl模板配置方法,其特征在于,在得到目标acl模板之后,所述方法还包括:a1:基于预置的匹配项位图,判断所述目标acl模板是否有效,并在确定所述目标acl模板有效的情况下执行a2;在确定所述目标acl模板无效的情况下执行a3;其中,所述预置的匹配项位图中每一个位图有一个匹配项位图值和一个对应的acl模板;a2:基于所述目标acl模板,下发对应的配置至芯片;a3:重新构建目标acl模板,并返回执行a1。5.根据权利要求4所述的acl模板配置方法,其特征在于,所述基于预置的匹配项位图,
判断所述目标acl模板是否有效,包括:b1:判断预置的匹配项位图中是否存在所述目标acl模板,并在确定预置的匹配项位图中不存在所述目标acl模板的情况下,执行b2;在确定预置的匹配项位图中存在所述目标acl模板的情况下,执行b5;b2:基于所述目标acl模板,下发对应的配置至芯片,以验证有效性;b3:获取有效性验证结果,并基于所述有效性验证结果更新匹配项位图,得到新的匹配项位图;b4:判断芯片配置是否成功,在确定芯片配置不成功的情况下,重新创建得到新的目标acl模板,并返回执行b1;在确定芯片配置成功的情况下,结束业务;b5:基于所述预置的匹配项位图,判断所述目标acl模板是否有效。6.根据权利要求2所述的acl模板配置方法,其特征在于,在所述基于当前系统中各个匹配项的匹配项热度值和所述目标匹配项,采用系统自建方式创建acl模板之前,所述方法还包括:判断当前自建acl模板的数量是否超过预置的阈值;在确定当前自建acl模板的数量超过预置的阈值的情况下,基于模板热度值更新自建acl模板。7.一种acl模板配置装置,其特征在于,包括:获取模块,用于获取用户下发的业务信息,所述业务信息包括目标匹配项;匹配模块,用于基于所述目标匹配项,匹配系统中已有的acl模板;创建模块,用于在未成功匹配系统中已有的acl模板的情况下,基于当前系统中各个匹配项的匹配项热度值和所述目标匹配项创建acl模板,得到目标acl模板;其中,所述各个匹配项的匹配项热度值为各个匹配项的使用率;所述各个匹配项的匹配项热度值通过以下公式计算得到:匹配项热度值=匹配项初始热度值+引用值-衰减值*衰减因子;其中,所述匹配项初始热度值为预设值;所述引用值是由该匹配项被使用情况确定;所述衰减值由该匹配项未被使用情况确定;所述衰减因子是由单位时间内业务量确定。8.一种电子设备,其特征在于,该电子设备包括:至少一个处理器;存储器,与所述至少一个处理器连接;其中,所述存储器存储有能被所述至少一个处理器执行的指令,所述至少一个处理器通过执行所述存储器存储的指令实现权利要求1至6任一项所述的acl模板配置方法。9.一种机器可读存储介质,该机器可读存储介质上存储有指令,其特征在于,该指令在被处理器执行时使得所述处理器被配置成执行根据权利要求1至6中任一项所述的acl模板配置方法。

技术总结
本发明提供一种ACL模板配置方法、装置、存储介质及电子设备,属于网络通信技术领域。所述ACL模板配置方法包括:获取用户下发的业务信息,所述业务信息包括目标匹配项;基于所述目标匹配项,匹配系统中已有的ACL模板;在未成功匹配系统中已有的ACL模板的情况下,基于当前系统中各个匹配项的匹配项热度值和所述目标匹配项创建ACL模板,得到目标ACL模板。由于匹配项热度值表示了各个匹配项的使用率,使用率越高,其匹配项热度值越大,使得基于当前匹配项的热度情况选择出匹配项可以是使用率较高的,从而可以增强模板的可用性和可复用性。并且能更加适宜当前的业务需求,该方式在业务需求量大时能大大提高模板命中率。需求量大时能大大提高模板命中率。需求量大时能大大提高模板命中率。


技术研发人员:梁金伟 杨强 李晓轩
受保护的技术使用者:常州楠菲微电子有限公司
技术研发日:2023.09.01
技术公布日:2023/10/7
版权声明

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

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

分享:

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

相关推荐