一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于遗传算法的流量阈值的确定方法及装置与流程

2022-07-13 15:38:44 来源:中国专利 TAG:


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.图1示意性示出了根据本公开实施例的基于遗传算法的流量阈 值的确定方法、装置、设备、存储介质和程序产品的应用场景图;
40.图2示意性示出了根据本公开实施例的实现确定流量阈值方法 的流程图;
41.图3示意性示出了根据本公开实施例的一种基于遗传算法的流 量阈值的确定方法的流程图;
42.图4示意性示出了根据本公开实施例的目标流量阈值的确定方 法的流程图;
43.图5示意性示出了根据本公开实施例的适应度的确定方法的流 程图;
44.图6示意性示出了根据本公开实施例的种群个体进行交叉操作 的流程图;
45.图7示意性示出了根据本公开实施例的种群个体进行变异操作 的流程图;
46.图8a示意性示出了根据本公开实施例的基于遗传算法的流量阈 值的确定装置的结构框图;
47.图8b示意性示出了根据本公开实施例的第二确定模块的结构框 图;
48.图8c示意性示出了根据本公开实施例的第一确定子模块的结构 框图;
49.图8d示意性示出了根据本公开实施例的交叉子模块的结构框图;
50.图8e示意性示出了根据本公开实施例的变异子模块的结构框图; 以及
51.图9示意性示出了根据本公开实施例的适于实现基于遗传算法 的流量阈值的确定方法的电子设备的方框图。
具体实施方式
52.以下,将参照附图来描述本公开的实施例。但是应该理解,这些 描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述 中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全 面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情 况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术 的描述,以避免不必要地混淆本公开的概念。
53.在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本 公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操 作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、 步骤、操作或部件。
54.在此使用的所有术语(包括技术和科学术语)具有本领域技术人 员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解 释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于 刻板的方式来解释。
55.在使用类似于“a、b和c等中至少一个”这样的表述的情况下, 一般来说应该按照本领域技术人员通常理解该表述的含义来予以解 释(例如,“具有a、b和c中至少一个的系统”应包括但不限于单独 具有a、单独具有b、单独具有c、具有a和b、具有a和c、具有 b和c、和/或具有a、b、c的系统等)。
56.首先对本公开实施例出现的术语进行解释:
57.流控机制:是指通过限制单位时间内进入网关的请求数量,来保 证系统的平稳运行的机制。
58.流量阈值:单位时间内进入网关的请求数量最大值。
59.遗传算法:genetic algorithm,ga,该算法是根据大自然中生物 体进化规律而提
出的,是模拟达尔文生物进化论的自然选择和遗传性 机理的生物进化过程的计算模型,通过模拟自然进化过程搜索最优解 的方法,该算法通过数学的方式,利用计算机仿真运算,将问题的求 解过程转换成类似生物进化中的染色体基因的交叉、变异等过程。
60.个体:经过编码后的流量大小,每一流量值对应一个编码,即为 一个个体。
61.种群:所有个体的集合。
62.选择操作:以一定概率从种群中选择若干个体。一般,选择过程 是一种基于适应度的优胜劣汰的过程,即根据适应度从种群中选择个 体。
63.复制操作:两个编码串某一相同位置被切断,前后两串分别交叉 组合形成两个新的编码串。
64.变异操作:在复制的过程中,以一定概率,随机改变某位编码。
65.随着互联网络的飞速发展,给网络系统的正常运行带来了一系列 的问题,其中最突出的是由网络流量过大引发的网络拥塞,系统崩溃 等问题。目前对于一些不定期组织的运营推广活动、或者特殊的舆情 爆发场景。更是能带来超预期的流量增长,容易引起系统过载,造成 系统的不稳定。一般业界对于网络流量激增问题都会使用流控机制。 当资源成为瓶颈时,服务框架需要对消费者进行限流。流量控制有很 多策略,比如常见的:固定窗口算法、滑动窗口算法、令牌桶算法、 漏桶算法等都属于以静态方法即阈值固定的方式进行限流。使用阈值 固定的方式进行限流,存在一些具体的缺陷:
66.首先,在每次业务发生变更时,都要进行压力测试以计算评估出 最新的阈值。即增加测试工作量,浪费人力成本,又因为环境的不确 定性导致计算的阈值不够准确。其次,目前很多项目都依赖很多具体 的服务,无法动态地调整每个服务的的流量阈值,导致服务器资源的 浪费。
67.基于上述技术问题,本公开的实施例提供了一种基于遗传算法的 流量阈值的确定方法,包括:对多个目标流量值进行二进制编码生成 所述多个目标流量值的编码,其中所述多个目标流量值是根据目标服 务支持的流量阈值范围确定的;确定初始化种群个体数和遗传算法参 数,其中,每一种群个体唯一对应一个编码,所述遗传算法参数包括 预设遗传代数、交叉率和变异率;以及对所述多个目标流量值的编码 进行选择、交叉、变异操作确定目标流量阈值。
68.图1示意性示出了根据本公开实施例的基于遗传算法的流量阈 值的确定方法、装置、设备、存储介质和程序产品的应用场景图。
69.如图1所示,根据该实施例的应用场景100可以包括流量控制场 景。网络104用以在终端设备101、102、103和服务器105之间提供 通信链路的介质。网络104可以包括各种连接类型,例如有线、无线 通信链路或者光纤电缆等等。
70.用户可以使用终端设备101、102、103通过网络104与服务器 105交互,以接收或发送消息等。终端设备101、102、103上可以安 装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索 类应用、即时通信工具、邮箱客户端、社交平台软件等(仅为示例)。
71.终端设备101、102、103可以是具有显示屏并且支持网页浏览的 各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算 机和台式计算机等等。
72.服务器105可以是提供各种服务的服务器,例如对用户利用终端 设备101、102、103所产生的网络流量进行控制的后台管理服务器(仅 为示例)。后台管理服务器可以根据
当前接收到的用户请求等数据进 行分析等处理,例如可以是根据当前时刻之前的预设时间内的网络流 量和服务器性能数据确定流量阈值,根据该流量阈值对用户流量进行 控制。
73.需要说明的是,本公开实施例所提供的基于遗传算法的流量阈值 的确定方法一般可以由服务器105执行。相应地,本公开实施例所提 供的基于遗传算法的流量阈值的确定装置一般可以设置于服务器105 中。本公开实施例所提供的基于遗传算法的流量阈值的确定方法也可 以由不同于服务器105且能够与终端设备101、102、103和/或服务 器105通信的服务器或服务器集群执行。相应地,本公开实施例所提 供的基于遗传算法的流量阈值的确定装置也可以设置于不同于服务 器105且能够与终端设备101、102、103和/或服务器105通信的服 务器或服务器集群中。
74.应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意 性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
75.图2示意性示出了根据本公开实施例的实现确定流量阈值方法 的流程图。如图2所示,用户请求即为网络流量,当出现多个用户同 时发起用户请求时,为了防止系统过载,维持系统稳定运行,服务框 架需要对消费者进行限流,即网关根据流量阈值对网络流量进行控制, 阈值计算模块采集到服务器的性能数据,根据获取到的服务器性能数 据,通过遗传算法的多次迭代计算得到目标阈值,网关根据目标阈值 对网络流量进行控制。
76.以下将基于图1描述的场景,通过图3~图7对公开实施例的报 文信息的安全交互方法进行详细描述。
77.图3示意性示出了根据本公开实施例的一种基于遗传算法的流 量阈值的确定方法的流程图。
78.如图3所示,该实施例的基于遗传算法的流量阈值的确定方法包 括操作s210~操作s230。可以由服务器或计算设备执行。流控阈值的 确定问题,可以转化为以流量大小为自变量,以用户满意度和服务器 性能等为因变量的函数求极值问题。而遗传算法是借鉴生物选择和进 化机制发展起来的一种高度并行、随机和自适应搜索算法。适用于处 理解决复杂和非线性问题。
79.在操作s210,对多个目标流量值进行二进制编码生成所述多个 目标流量值的编码,其中所述多个目标流量值是根据目标服务支持的 流量阈值范围确定的。
80.一个示例中,由于遗传算法的进化过程是建立在编码机制基础上 的,通常使用二进制串进行编码。在本公开实施例中,是对流量阈值 在一定的流量阈值范围进行计算求得最优解,因此首先对多个目标流 量值进行二进制编码,每一流量值对应一个编码,多个目标流量值即 根据目标服务支持的流量阈值范围确定的。
81.例如:某目标服务支持的流量阈值范围为[x,y],编码使用32位 时。根据计算公式:
[0082]
其中,g为目标流量值,x和y分别是流量阈值的下限和上限。
[0083]
假设该目标服务支持的流量阈值范围在区间10-10000,对目标流 量值986进行编码。过程为:
[0084]
1.对10-10000之间,平均等分为2的32次方份。每份值约为: 0.00000232597813。
[0085]
2.计算986从10开始计算占用多少份:
[0086][0087]
3.对419608417进行二进制编码,则目标流量值986对应的编码 为00011001000000101011011101100001。
[0088]
任意一个目标流量值都可经过上述计算过程生成一个32位的编 码,每一个编码即为种群中的个体。
[0089]
在操作s220,确定初始化种群个体数和遗传算法参数。
[0090]
根据本公开实施例,每一种群个体唯一对应一个编码,所述遗传 算法参数包括预设遗传代数、交叉率和变异率。
[0091]
一个示例中,确定初始化种群个体数和遗传算法参数,遗传算法 参数为在计算搜索中使用到的参数,例如遗产代数,即计算迭代次数; 交叉率,即种群个体交配的概率;变异率,即染色体基因突变的概率。 本实施例中,种群个体数为随机确定的,例如可以在流量阈值范围内 随机选择10个目标流量值,即10个32位编码,作为初始种群的个 体。
[0092]
在操作s230,对所述多个目标流量值的编码进行选择、交叉和 变异操作,以确定目标流量阈值。
[0093]
一个示例中,对多个目标流量值对应的编码按照操作s220设置 的参数进行选择、交叉和变异操作,计算种群内所有个体的适应度, 按照适应度排名淘汰个体,迭代预设遗传代数后,选择适应度最高的 个体为本次计算的最优解,作为目标流量阈值,对编码选择交叉变异 的具体过程参见图4所示的操作s231~操作s237,在此不再赘述。
[0094]
通过本公开提供的基于遗传算法的流量阈值的确定方法,通过将 目标流量值进行编码,建立初始化种群,利用遗传算法对种群内个体 进行选择、交叉、变异和再选择操作,根据适应度函数计算种群内个 体的适应度,进而确定目标流量阈值,相较于现有技术人工确定流量 阈值的方法,本公开的方法计算结果更准确,减少人工介入,效率更 高。
[0095]
接下来将通过图4~图7详细介绍遗传算法选择、交叉和变异操 作的过程。图4示意性示出了根据本公开实施例的目标流量阈值的确 定方法的流程图。如图4所示,操作s230包括操作s231~操作s237。
[0096]
在操作s231,根据适应度函数确定种群内所有个体的第一适应 度。
[0097]
一个示例中,通过适应度函数评价种群中个体是否满足要求,适 应度越高的个体表征满足要求的程度越高,适应度低的个体则被淘汰, 模拟自然优胜劣汰的过程。适应度函数也称为对象函数,是问题求解 品质的测量函数。用来评价最终结果满足要求的程度。适应度的确定 过程可参见图5所示的操作s2311和操作s2312。
[0098]
图5示意性示出了根据本公开实施例的适应度的确定方法的流 程图,如图5所示,操作s231包括操作s2311~操作s2312.
[0099]
在操作s2311,获取种群内所有个体的历史服务器性能数据。在 操作s2312,根据所述历史服务器性能指标和所述适应度函数确定种 群内所有个体的第一适应度。
[0100]
根据本公开实施例,所述适应度函数包括服务器性能指标和预设 指标权重。
[0101]
一个示例中,流控机制中需要关注的数据包括服务响应时间和服 务器性能数据,该数据直接影响用户的满意度,必须在用户的可容忍 范围内。服务器性能数据包括服务器
的cpu使用率、内存占用、磁 盘io速度,这些因素会直接影响服务的响应速度,严重时会导致系 统崩溃,影响系统稳定性。因此在本实施例中适应度函数为可以是由 服务器性能指标和指标权重组成的计算式,例如:
[0102]
根据专家经验生成各项指标权重表如下表1:
[0103]
表1 指标权重表
[0104][0105][0106]
当cpu使用率为80%、内存已使用/总内存(20g/32g)、磁盘i/o 为40%、网络速度/带宽(80m/100m)。则计算适应度为:
[0107]
适应度=80*80% 75*(20/32) 85*40% 50*(80/100)=184.88。
[0108]
获取种群内个体的历史服务器性能数据,可以是当前时间前1小 时的数据,根据上述计算方法计算出每个个体的第一适应度。
[0109]
在操作s232,根据所述第一适应度和预设选择规则对种群内所 有个体进行第一选择操作。
[0110]
根据本公开实施例,根据所述第一适应度剔除一半的种群个体。
[0111]
一个示例中,第一选择操作是模拟大自然优胜劣汰的过程,适应 度高的个体生存,适应度低的个体被淘汰,根据操作s231计算出的 第一适应度进行第一选择操作,按照第一适应度进行排名,淘汰剔除 一般的种群个体。对保存下来的个体进行交叉变异操作。
[0112]
在操作s233,根据所述交叉率对经过第一选择操作的个体进行 交叉操作。
[0113]
一个示例中,操作s233的过程可参见图6所示的操作s2331~操 作s2333,在此不再赘述。
[0114]
图6示意性示出了根据本公开实施例的种群个体进行交叉操作 的流程图。如图6所示,操作s233包括操作s2331~操作s2333。
[0115]
在操作s2331,根据所述交叉率确定偶数个进行交叉操作的个体。 在操作s2332,将所述偶数个进行交叉操作的个体进行随机配对;在 操作s2333,将完成配对的两个体的前半段编码进行交换生成两个新 的个体。
[0116]
一个示例中,根据交叉率确定进行交叉操作的个体,例如一种有 10个个体,交叉率为60%,则随机确定6个个体进行交叉操作。例 如两个个体的编码如下:
[0117]
1010101010101010|0001110100011101
[0118]
1101001011010010|1111110011111100。
[0119]
将完成配对的两个体的前半段编码进行互换生成两个新的编码(个体)如下:
[0120]
1010101010101010|1111110011111100
[0121]
1101001011010010|0001110100011101
[0122]
在操作s234,根据所述变异率对交叉后的个体进行变异操作。
[0123]
一个示例中,操作s234的过程可参见图6所示的操作s2341~操 作s2342,在此不再赘述。
[0124]
图7示意性示出了根据本公开实施例的种群个体进行变异操作 的流程图。如图7所示,操作s234包括操作s2341~操作s2342。
[0125]
在操作s2341,根据所述变异率和交叉操作产生的新个体确定进 行变异操作的个体。在操作s2342,对所述进行变异操作的个体的任 意一位编码进行取反操作。
[0126]
一个示例中,对交叉后产生的新的个体,按照变异率进行变异操 作,变异操作具体包括,按照变异率在交叉后产生的新的个体选择进 行变异操作的个体,随机选择该个体的某一位编码进行取反操作,例 如原编码为:
[0127]
10101010101010101111110|0|11111100。
[0128]
变异后的编码为:
[0129]
10101010101010101111110|1|11111100。
[0130]
在操作s235,根据所述适应度函数确定当前种群内所有个体的 第二适应度。在操作s236,根据所述第二适应度和所述预设选择规 则对当前种群内所有个体进行第二选择操作。
[0131]
一个示例中,根据上述适应度的计算方法计算种群内所有个体的 第二适应度,具体的,首先对经过交叉变异操作产生的新的个体的编 码转换成对应的目标流量值,在数据库中查询该目标流量值对应的历 史服务器性能数据,进而计算出新个体的第二适应度;根据第二适应 度再次排序,同样剔除一半的个体。
[0132]
在操作s237,重复上述交叉操作、变异操作和选择操作直至迭 代次数大于预设遗传代数,确定适应度最高的编码对应的流量值为目 标流量阈值。
[0133]
一个示例中,在执行操作s235之后,遗传代数加一,需要判断 当前遗传代数是否大于预设遗传代数,若当前遗传代数小于预设遗传 代数,则继续执行操作s231至操作s236,重复对种群个体的选择、 交叉和变异操作;若当前遗传代数大于预设遗传代数,则根据个体的 适应度,选择适应度最高的个体,计算该个体对应的目标流量值作为 最终的目标流量阈值。
[0134]
基于上述基于遗传算法的流量阈值的确定方法,本公开还提供了 一种基于遗传算法的流量阈值的确定装置。以下将结合图8a~图8e 对该装置进行详细描述。
[0135]
图8a示意性示出了根据本公开实施例的基于遗传算法的流量阈 值的确定装置的结构框图。图8b示意性示出了根据本公开实施例的 第二确定模块的结构框图。图8c示意性示出了根据本公开实施例的 第一确定子模块的结构框图。图8d示意性示出了根据本公开实施例 的交叉子模块的结构框图。图8e示意性示出了根据本公开实施例的 变异子模块的结构框图。
[0136]
如图8a所示,该实施例的基于遗传算法的流量阈值的确定装置 800包括编码模块810、第一确定模块820和第二确定模块830。
[0137]
编码模块810用于对多个目标流量值进行二进制编码生成所述 多个目标流量值的编码,其中,所述多个目标流量值是根据目标服务 支持的流量阈值范围确定的。在一实施例中,编码模块810可以用于 执行前文描述的操作s210,在此不再赘述。
[0138]
第一确定模块820用于确定初始化种群个体数和遗传算法参数, 其中,每一种群个体唯一对应一个编码,所述遗传算法参数包括预设 遗传代数、交叉率和变异率。在一实施例中,第一确定模块820可以 用于执行前文描述的操作s220,在此不再赘述。
[0139]
第二确定模块830用于对所述多个目标流量值的编码进行选择、 交叉和变异操作,以确定目标流量阈值。在一实施例中,第二确定模 块830可以用于执行前文描述的操作s230,在此不再赘述。
[0140]
如图8b所示,第二确定模块830包括第一确定子模块831、第 一选择子模块832、交叉子模块833、变异子模块834、第二确定子 模块835、第二选择子模块836和第三确定子模块837。
[0141]
第一确定子模块831用于根据适应度函数确定种群内所有个体 的第一适应度。在一实施例中,第一确定子模块831可以用于执行前 文描述的操作s231,在此不再赘述。
[0142]
第一选择子模块832用于根据所述第一适应度和预设选择规则 对种群内所有个体进行第一选择操作。在一实施例中,第一选择子模 块832可以用于执行前文描述的操作s232,在此不再赘述。
[0143]
交叉子模块833用于根据所述交叉率对经过第一选择操作的个 体进行交叉操作。在一实施例中,交叉子模块833可以用于执行前文 描述的操作s233,在此不再赘述。
[0144]
变异子模块834用于根据所述变异率对交叉后的个体进行变异 操作。在一实施例中,变异子模块834可以用于执行前文描述的操作 s234,在此不再赘述。
[0145]
第二确定子模块835用于根据所述适应度函数确定当前种群内 所有个体的第二适应度。在一实施例中,第二确定子模块835可以用 于执行前文描述的操作s235,在此不再赘述。
[0146]
第二选择子模块836用于根据所述第二适应度和所述预设选择 规则对当前种群内所有个体进行第二选择操作。在一实施例中,第二 选择子模块836可以用于执行前文描述的操作s236,在此不再赘述。
[0147]
第三确定子模块837用于重复上述交叉操作、变异操作和选择操 作直至迭代次数大于预设遗传代数,确定适应度最高的编码对应的流 量值为目标流量阈值。在一实施例中,第三确定子模块837可以用于 执行前文描述的操作s237,在此不再赘述。
[0148]
如图8c所示,根据本公开的实施例,第一确定子模块831包括 获取单元8311和第一确定单元8312。
[0149]
获取单元8311用于获取种群内所有个体的历史服务器性能数据。 在一实施例中,获取8311可以用于执行前文描述的操作s2311,在 此不再赘述。
[0150]
第一确定单元8312用于根据所述历史服务器性能指标和所述适 应度函数确定种群内所有个体的第一适应度。在一实施例中,第一确 定单元8312可以用于执行前文描述的操作s2312,在此不再赘述。
[0151]
如图8d所示,交叉子模块833包括第二确定单元8331、配对单 元8332和交叉单元8333。
[0152]
第二确定单元8331用于根据所述交叉率确定偶数个进行交叉操 作的个体。在一实施例中,第二确定单元8331可以用于执行前文描 述的操作s2331,在此不再赘述。
[0153]
配对单元8332用于将所述偶数个进行交叉操作的个体进行随机 配对。在一实施
例中,配对单元8332可以用于执行前文描述的操作 s2332,在此不再赘述。
[0154]
交叉单元8333用于将完成配对的两个体的前半段编码进行交换 生成两个新的个体。在一实施例中,交叉单元8333可以用于执行前 文描述的操作s2333,在此不再赘述。
[0155]
如图8e所示,变异子模块834包括第三确定单元8341和变异单 元8342。
[0156]
第三确定单元8341用于根据所述变异率和交叉操作产生的新个 体确定进行变异操作的个体。在一实施例中,第三确定单元8341可 以用于执行前文描述的操作s2341,在此不再赘述。
[0157]
变异单元8342用于对所述进行变异操作的个体的任意一位编码 进行取反操作。在一实施例中,变异单元8342可以用于执行前文描 述的操作s2342,在此不再赘述。
[0158]
根据本公开的实施例,编码模块810、第一确定模块820和第二 确定模块830中的任意多个模块可以合并在一个模块中实现,或者其 中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个 或多个模块的至少部分功能可以与其他模块的至少部分功能相结合, 并在一个模块中实现。根据本公开的实施例,编码模块810、第一确 定模块820和第二确定模块830中的至少一个可以至少被部分地实现 为硬件电路,例如现场可编程门阵列(fpga)、可编程逻辑阵列(pla)、 片上系统、基板上的系统、封装上的系统、专用集成电路(asic), 或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或 固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以 其中任意几种的适当组合来实现。或者,编码模块810、第一确定模 块820和第二确定模块830中的至少一个可以至少被部分地实现为计 算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
[0159]
图9示意性示出了根据本公开实施例的适于实现基于遗传算法 的流量阈值的确定方法的电子设备的方框图。
[0160]
如图9所示,根据本公开实施例的电子设备900包括处理器901, 其可以根据存储在只读存储器(rom)902中的程序或者从存储部分 908加载到随机访问存储器(ram)903中的程序而执行各种适当的 动作和处理。处理器901例如可以包括通用微处理器(例如cpu)、 指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成 电路(asic))等等。处理器901还可以包括用于缓存用途的板载存 储器。处理器901可以包括用于执行根据本公开实施例的方法流程的 不同动作的单一处理单元或者是多个处理单元。
[0161]
在ram 903中,存储有电子设备900操作所需的各种程序和数 据。处理器901、rom 902以及ram 903通过总线904彼此相连。 处理器901通过执行rom 902和/或ram 903中的程序来执行根据 本公开实施例的方法流程的各种操作。需要注意,所述程序也可以存 储在除rom 902和ram 903以外的一个或多个存储器中。处理器 901也可以通过执行存储在所述一个或多个存储器中的程序来执行根 据本公开实施例的方法流程的各种操作。
[0162]
根据本公开的实施例,电子设备900还可以包括输入/输出(i/o) 接口905,输入/输出(i/o)接口905也连接至总线904。电子设备 900还可以包括连接至i/o接口905的以下部件中的一项或多项:包 括键盘、鼠标等的输入部分906;包括诸如阴极射线管(crt)、液晶 显示器(lcd)等以及扬声器等的输出部分907;包括硬盘等的存储 部分908;以及包括诸如lan卡、调制解调器等的网络接口卡的通 信部分909。通信部分909经由诸如因特网的网络执行通信处理。驱 动器910也根据需要连接至i/o接口905。可拆卸介质911,诸如磁 盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器910 上,以便于从其上读出的计算
机程序根据需要被安装入存储部分908。
[0163]
本公开还提供了一种计算机可读存储介质,该计算机可读存储介 质可以是上述实施例中描述的设备/装置/系统中所包含的;也可以是 单独存在,而未装配入该设备/装置/系统中。上述计算机可读存储介 质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实 现根据本公开实施例的方法。
[0164]
根据本公开的实施例,计算机可读存储介质可以是非易失性的计 算机可读存储介质,例如可以包括但不限于:便携式计算机磁盘、硬 盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程 只读存储器(eprom或闪存)、便携式紧凑磁盘只读存储器 (cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组 合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的 有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其 结合使用。例如,根据本公开的实施例,计算机可读存储介质可以包 括上文描述的rom 902和/或ram 903和/或rom 902和ram 903 以外的一个或多个存储器。
[0165]
本公开的实施例还包括一种计算机程序产品,其包括计算机程序, 该计算机程序包含用于执行流程图所示的方法的程序代码。当计算机 程序产品在计算机系统中运行时,该程序代码用于使计算机系统实现 本公开实施例所提供的基于遗传算法的流量阈值的确定方法。
[0166]
在该计算机程序被处理器901执行时执行本公开实施例的系统/ 装置中限定的上述功能。根据本公开的实施例,上文描述的系统、装 置、模块、单元等可以通过计算机程序模块来实现。
[0167]
在一种实施例中,该计算机程序可以依托于光存储器件、磁存储 器件等有形存储介质。在另一种实施例中,该计算机程序也可以在网 络介质上以信号的形式进行传输、分发,并通过通信部分909被下载 和安装,和/或从可拆卸介质911被安装。该计算机程序包含的程序 代码可以用任何适当的网络介质传输,包括但不限于:无线、有线等 等,或者上述的任意合适的组合。
[0168]
在这样的实施例中,该计算机程序可以通过通信部分909从网络 上被下载和安装,和/或从可拆卸介质911被安装。在该计算机程序 被处理器901执行时,执行本公开实施例的系统中限定的上述功能。 根据本公开的实施例,上文描述的系统、设备、装置、模块、单元等 可以通过计算机程序模块来实现。
[0169]
根据本公开的实施例,可以以一种或多种程序设计语言的任意组 合来编写用于执行本公开实施例提供的计算机程序的程序代码,具体 地,可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语 言来实施这些计算程序。程序设计语言包括但不限于诸如java,c , python,“c”语言或类似的程序设计语言。程序代码可以完全地在用 户计算设备上执行、部分地在用户设备上执行、部分在远程计算设备 上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算 设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网 (lan)或广域网(wan),连接到用户计算设备,或者,可以连接 到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
[0170]
附图中的流程图和框图,图示了按照本公开各种实施例的系统、 方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点 上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码 的一部分,上述模块、程序段、或代码的一部分包含一个或
多个用于 实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的 实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发 生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们 有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的 是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合, 可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者 可以用专用硬件与计算机指令的组合来实现。
[0171]
本领域技术人员可以理解,本公开的各个实施例和/或权利要求 中记载的特征可以进行多种组合或/或结合,即使这样的组合或结合 没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情 况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多 种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。
[0172]
以上对本公开的实施例进行了描述。但是,这些实施例仅仅是为 了说明的目的,而并非为了限制本公开的范围。尽管在以上分别描述 了各实施例,但是这并不意味着各个实施例中的措施不能有利地结合 使用。本公开的范围由所附权利要求及其等同物限定。不脱离本公开 的范围,本领域技术人员可以做出多种替代和修改,这些替代和修改 都应落在本公开的范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献