用于大页分配的方法和装置与流程

文档序号:11154896阅读:285来源:国知局
用于大页分配的方法和装置与制造工艺

本公开涉及计算机领域,具体地,涉及一种用于大页分配的方法和装置。



背景技术:

大页(HugePages)是指大的内存页。在网络设备中,系统启动时需要预先分配大页。通过分配大页,能够减少高速缓存条目的数量,提高缓存的命中率,提高内存地址转换的效率,从而提高内存的操作效率。

传统的大页分配方法是在开机脚本里首先判断网络设备的机型(例如,Neteye系列防火墙设备包括4G、8G、16G、32G机型),根据设备机型来确定大页的分配。所以一旦确定网络设备的机型,分配的大页数目也是确定的。

但是,根据机型分配的大页数有可能不足或过多。大页不足可能导致网络设备无法启动,大页分配过多,则会造成资源的浪费。



技术实现要素:

本公开的目的是提供一种简单易行的用于大页分配的方法和装置。

为了实现上述目的,本公开提供一种用于大页分配的方法,应用于网络设备。所述方法包括:在所述网络设备启动时,获取所述网络设备被授权使用的最大并发连接数;根据所述最大并发连接数,确定所述网络设备的系统所需的大页数目;为所述系统分配所确定的大页数目。

可选地,所述方法还包括:获取所述网络设备中的大页的大小;获取所述网络设备中的每个会话的大小;

所述根据所述最大并发连接数,确定所述网络设备的系统所需的大页数目的步骤包括:根据所述最大并发连接数、所述网络设备中的大页的大小、以及所述网络设备中的每个会话的大小,来确定所述网络设备的系统所需的大页数目。

可选地,所述方法还包括:获取所述网络设备中的大页的大小;获取所述网络设备中的每个会话的大小;确定所述网络设备中的预留内存的大小;

所述根据所述最大并发连接数,确定所述网络设备的系统所需的大页数目的步骤包括:根据所述最大并发连接数、所述网络设备中的大页的大小、所述网络设备中的每个会话的大小、以及所述预留内存的大小,来确定所述网络设备的系统所需的大页数目。

可选地,所述方法还包括:根据所述最大并发连接数,确定空洞因子;

所述根据所述最大并发连接数、所述网络设备中的大页的大小、所述网络设备中的每个会话的大小、以及所述预留内存的大小,来确定所述网络设备的系统所需的大页数目的步骤包括:根据所述最大并发连接数、所述网络设备中的大页的大小、所述网络设备中的每个会话的大小、所述预留内存的大小、以及所述空洞因子,来确定所述网络设备的系统所需的大页数目。

可选地,所述根据所述最大并发连接数、所述网络设备中的大页的大小、所述网络设备中的每个会话的大小、所述预留内存的大小、以及所述空洞因子,来确定所述网络设备的系统所需的大页数目的步骤通过以下方式执行:

其中,Hnum为所述网络设备的系统所需的大页数目;n为所述最大并发连接数;Sess为所述网络设备中的每个会话的大小;x为所述网络设备中的预留内存的大小;α为所述空洞因子;Hsize为所述网络设备中的大页的大小。

本公开还提供一种用于大页分配的装置,应用于网络设备。所述装置包括:最大并发连接数获取模块,用于在所述网络设备启动时,获取所述网络设备被授权使用的最大并发连接数;大页数目确定模块,用于根据所述最大并发连接数,确定所述网络设备的系统所需的大页数目;分配模块,用于为所述系统分配所确定的大页数目。

通过上述技术方案,根据网络设备被授权使用的最大并发连接数,来分配大页数目。由于该最大并发连接数比机型更能体现实际的系统内存使用情况,因此,根据最大并发连接数来分配大页数目,能够避免由于大页分配不足造成的网络设备不能启动的问题,并且,在一定程度上避免了大页分配过多造成的资源浪费。

本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。

附图说明

附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:

图1是一示例性实施例提供的用于大页分配的方法的流程图;

图2是另一示例性实施例提供的用于大页分配的方法的流程图;

图3是又一示例性实施例提供的用于大页分配的方法的流程图;

图4是又一示例性实施例提供的用于大页分配的方法的流程图;

图5是一示例性实施例提供的用于大页分配的装置的框图。

具体实施方式

以下结合附图对本公开的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本公开,并不用于限制本公开。

网络设备的不同机型体现了不同等级的配置。用户通常考虑网络设备的配置参数来选择网络设备的机型。例如,用户根据防火墙的吞吐量(每秒处理数据包的个数)、最大并发连接数、新建连接数、vpn性能等配置参数来选择防火墙设备。

传统的大页分配方法是根据设备的机型来确定大页的分配。也就是,每一个网络设备的机型都对应有一个具体的大页分配数目。在网络设备开机时,检测机型后,就能够确定分配给系统的大页数目。这是考虑到,拥有较高配置的机型的网络设备能够支持更大的并发连接数,因此需要预留更多的大页内存作为会话表的存储空间。因此,传统的分配方法中,对于每个机型的网络设备,都预设了固定的、与该机型的配置大体上相适应的大页数目。

然而,有时候用户只是出于对最大并发连接数以外的其他参数(例如,vpn性能)的需求,而购买了较高配置的机型。这种情况下,在实际应用中,可能会使得大页分配过多,造成资源浪费。这是因为,并发连接需要占用大页内存,而有一些配置参数(例如,vpn、新建连接、ips等)不需要占用大页内存。大页分配得多,为其他资源分配的内存就会少。如果用户不需要太多的并发连接数,就可以不分配与高配置机型相适应的那么多大页,这样就有更多的资源用于其他配置参数。

考虑到以上问题,发明人想到,可以根据网络设备被授权使用的最大并发连接数,为系统分配大页数目。也就是,根据用户对其使用的最大并发连接数的付费,来分配大页。这样,能够更接近于用户在使用网络设备时的并发连接数的实际情况,来更合理地分配大页。

图1是一示例性实施例提供的用于大页分配的方法的流程图。所述方法应用于网络设备。所述网络设备例如可以包括防火墙设备、路由器设备等。如图1所示,所述方法可以包括以下步骤。

在步骤S11中,在网络设备启动时,获取网络设备被授权使用的最大并发连接数。

根据内存的不同,网络设备具有不同的机型,例如,neteye防火墙设备包括4G、8G、16G和32G机型。网络设备的机型体现了根据其硬件条件能够达到的最大内存,也体现了根据其硬件条件能够提供的最大并发连接数。用户在购置网络设备后,还需根据自身的需求来购买最大并发连接数。网络设备的生产厂商根据用户付费的情况来授权该网络设备的最大并发连接数。通常,网络设备被授权使用的最大并发连接数体现在生产厂商在系统的license中的设置,也就是,一网络设备的license中设置的最大并发连接数即为该网络设备被授权使用的最大并发连接数。

上述的最大并发连接数,可以是网络设备的生产厂商根据用户当前的付费情况在网络设备的license中设置的最大并发连接数。可以理解的是,在一网络设备中,license中的最大并发连接数小于或等于该网络设备根据其硬件条件能够提供的最大并发连接数。

通常,用户会根据自身的需求为网络设备的最大并发连接数付费。由于网络设备license中的最大并发连接数与用户的付费情况紧密联系,因此,也与实际应用中的并发连接数比较接近。

以下所述最大并发连接数指的是网络设备被授权使用的最大并发连接数。

在步骤S12中,根据所述最大并发连接数,确定网络设备的系统所需的大页数目。

其中,与相关技术中,设备的机型与大页数目相对应相似地,该实施例中,所述网络设备被授权使用的最大并发连接数可以与大页数目相对应。例如可以简单地实施为:先设置与各个最大并发连接数对应的大页数目,当获取到网络设备被授权使用的最大并发连接数时,直接将其对应的大页数目,确定为系统所需的大页数目。

在步骤S13中,为系统分配所确定的大页数目。

通过上述技术方案,根据网络设备被授权使用的最大并发连接数,来分配大页数目。由于该最大并发连接数比机型更能体现实际的系统内存使用情况,因此,根据最大并发连接数来分配大页数目,能够避免由于大页分配不足造成的网络设备不能启动的问题,并且,在一定程度上避免了大页分配过多造成的资源浪费。

为了更加准确地进行大页的分配,还可以进一步考虑大页的大小以及每个会话的大小,来确定系统所需的大页数目。图2是另一示例性实施例提供的用于大页分配的方法的流程图。在图1的基础上,如图2所示,与步骤S11同时地,且在步骤S121之前,所述方法还可以包括以下步骤。

在步骤S111中,获取网络设备中的大页的大小。

在步骤S112中,获取网络设备中的每个会话的大小。

在该实施例中,根据最大并发连接数,确定网络设备的系统所需的大页数目的步骤(步骤S12)可以包括步骤S121。

在步骤S121中,根据最大并发连接数、网络设备中的大页的大小、以及网络设备中的每个会话的大小,来确定网络设备的系统所需的大页数目。

该实施例中,例如可以通过以下方式来确定系统所需的大页数目:

其中,Hnum为网络设备的系统所需的大页数目;n为最大并发连接数;Sess为网络设备中的每个会话的大小;Hsize为网络设备中的大页的大小。

其中,网络设备中的大页的大小Hsize可以是预定的。例如,Neteye系列网络设备目前使用的大页的大小Hsize=2M。网络设备中的每个会话的大小Sess可以设置为根据机型的不同而不同。例如,在Neteye系列网络设备的4G和8G机型中,每个会话的大小为Sess=560B;在16G和32G机型中,每个会话的大小为Sess=704B。

举例来说,当license中设置的最大并发连接数为n=5,000,000,每个会话的大小为Sess=560B,且大页的大小为Hsize=2M时,网络设备的系统所需的大页数目为

该实施例中,在最大并发连接数的基础上,还考虑了大页的大小以及每个会话的大小,来确定系统所需的大页数目,使得分配的大页数目更加符合实际需求,在保证网络设备正常运行的同时,减小了资源浪费。

在图2所示的实施例中,步骤S111、步骤S112和步骤S11是同时执行的。可以理解的是,在其他实施例中,只要是在步骤S121之前,这三个步骤之间可以按照任意顺序来执行。

在本公开的又一实施例中,还可以进一步考虑预留内存的大小,来确定系统所需的大页数目。图3是又一示例性实施例提供的用于大页分配的方法的流程图。在图1的基础上,如图3所示,与步骤S11同时地,且在步骤S122之前,所述方法还可以包括以下步骤。

在步骤S111中,获取网络设备中的大页的大小。

在步骤S112中,获取网络设备中的每个会话的大小。

在步骤S113中,确定网络设备中的预留内存的大小。

在该实施例中,根据最大并发连接数,确定网络设备的系统所需的大页数目的步骤(步骤S12)可以包括步骤S122。

在步骤S122中,根据最大并发连接数、网络设备中的大页的大小、网络设备中的每个会话的大小、以及预留内存的大小,来确定网络设备的系统所需的大页数目。

该实施例中,例如可以通过以下方式来确定系统所需的大页数目:

其中,x为网络设备中的预留内存的大小。该预留内存包括为网络设备中的其他资源预留使用的内存,可以根据设备机型的不同,预设不同的预留内存。例如,在Neteye系列防火墙设备的4G和8G机型中,预留内存的大小为x=300M;在16G和32G机型中,预留内存的大小为x=500M。

该实施例中,在最大并发连接数的基础上,还考虑了大页的大小、每个会话的大小、以及预留内存的大小来确定系统所需的大页数目,使得分配的大页数目更加符合实际需求,在保证网络设备正常运行的同时,减小了资源浪费。

在图3所示的实施例中,步骤S111、步骤S112、步骤S113和步骤S11是同时执行的。可以理解的是,在其他实施例中,只要是在步骤S122之前,这四个步骤之间可以按照任意顺序来执行。

在本公开的又一实施例中,还可以进一步考虑由于内存空洞的原因造成的实际需求大于计算所得的情况,来确定系统所需的大页数目。图4是又一示例性实施例提供的用于大页分配的方法的流程图。在图3的基础上,如图4所示,在步骤S11之后,且在步骤S1221之前,所述方法还可以包括步骤S110。

在步骤S110中,根据最大并发连接数,确定空洞因子。

其中,空洞因子表示由于内存空洞的原因造成的,实际需求内存与计算所得内存之间的差距的系数,可以由经验或试验的方式得到。该空洞因子可以与最大并发数相关。例如,当最大并发数小于预定的阈值时,可以取第一空洞因子,当最大并发数大于所述预定的阈值时,可以取第二空洞因子,其中,第一空洞因子小于第二空洞因子。

该实施例中,根据最大并发连接数、网络设备中的大页的大小、网络设备中的每个会话的大小、以及预留内存的大小,来确定网络设备的系统所需的大页数目的步骤(步骤S122)可以包括步骤S1221。

在步骤S1221中,根据最大并发连接数、网络设备中的大页的大小、网络设备中的每个会话的大小、预留内存的大小、以及空洞因子,来确定网络设备的系统所需的大页数目。

在图4所示的实施例中,步骤S111、步骤S112、步骤S113和步骤S110是同时执行的。可以理解的是,在其他实施例中,只要是在步骤S1221之前,这四个步骤之间可以按照任意顺序来执行。

在本公开的一实施例中,步骤S1221可以通过以下方式来确定系统所需的大页数目:

其中,α为空洞因子,且0<α<1。例如,当license中设置的最大并发数小于5,000,000时,α可以取0.28;当license中设置的最大并发数大于5,000,000时,α可以取0.3。

该实施例中,在最大并发连接数、大页的大小、每个会话的大小、预留内存的大小的基础上,还考虑了空洞因子,来确定系统所需的大页数目,使得分配的大页数目更加符合实际需求,在保证网络设备正常运行的同时,减小了资源浪费。

本公开还提供一种用于大页分配的装置,应用于网络设备。图5是一示例性实施例提供的用于大页分配的装置的框图。如图5所示,所述用于大页分配的装置10可以包括最大并发连接数获取模块11、大页数目确定模块12和分配模块13。

最大并发连接数获取模块11用于在所述网络设备启动时,获取所述网络设备被授权使用的最大并发连接数。

大页数目确定模块12用于根据所述最大并发连接数,确定所述网络设备的系统所需的大页数目。

分配模块13用于为所述系统分配所确定的大页数目。

可选地,所述装置10还可以包括大页大小获取模块、会话大小获取模块。

大页大小获取模块,用于获取所述网络设备中的大页的大小。

会话大小获取模块,用于获取所述网络设备中的每个会话的大小。

该实施例中,所述大页数目确定模块12可以包括第一大页数目确定子模块。

第一大页数目确定子模块用于根据所述最大并发连接数、所述网络设备中的大页的大小、以及所述网络设备中的每个会话的大小,来确定所述网络设备的系统所需的大页数目。

可选地,所述装置10还可以包括大页大小获取模块、会话大小获取模块、预留内存确定模块。

大页大小获取模块用于获取所述网络设备中的大页的大小。

会话大小获取模块用于获取所述网络设备中的每个会话的大小。

预留内存确定模块用于确定所述网络设备中的预留内存的大小。

该实施例中,大页数目确定模块12可以包括第二大页数目确定子模块。

第二大页数目确定子模块可以用于根据所述最大并发连接数、所述网络设备中的大页的大小、所述网络设备中的每个会话的大小、以及所述预留内存的大小,来确定所述网络设备的系统所需的大页数目。

可选地,所述装置10还可以包括空洞因子确定模块。

空洞因子确定模块可以用于根据所述最大并发连接数,确定空洞因子。

该实施例中,所述第二大页数目确定子模块可以包括第三大页数目确定子模块。

第三大页数目确定子模块用于根据所述最大并发连接数、所述网络设备中的大页的大小、所述网络设备中的每个会话的大小、所述预留内存的大小、以及所述空洞因子,来确定所述网络设备的系统所需的大页数目。

可选地,所述第三大页数目确定子模块可以通过以下方式来确定所述网络设备的系统所需的大页数目:

其中,Hnum为所述网络设备的系统所需的大页数目;n为所述最大并发连接数;Sess为所述网络设备中的每个会话的大小;x为所述网络设备中的预留内存的大小;α为所述空洞因子;Hsize为所述网络设备中的大页的大小。

关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。

通过上述技术方案,根据网络设备被授权使用的最大并发连接数,来分配大页数目。由于该最大并发连接数比机型更能体现实际的系统内存使用情况,因此,根据最大并发连接数来分配大页数目,能够避免由于大页分配不足造成的网络设备不能启动的问题,并且,在一定程度上避免了大页分配过多造成的资源浪费。

以上结合附图详细描述了本公开的优选实施方式,但是,本公开并不限于上述实施方式中的具体细节,在本公开的技术构思范围内,可以对本公开的技术方案进行多种简单变型,这些简单变型均属于本公开的保护范围。

另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合。为了避免不必要的重复,本公开对各种可能的组合方式不再另行说明。

此外,本公开的各种不同的实施方式之间也可以进行任意组合,只要其不违背本公开的思想,其同样应当视为本公开所公开的内容。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1