迁移事件调度管理的制作方法

文档序号:6512242阅读:194来源:国知局
迁移事件调度管理的制作方法
【专利摘要】根据本发明的方面,提供了在考虑服务器群的负载平衡约束和数据传输约束的同时,相对于时间间隔,针对服务器群中的服务器资源调度迁移(migration)事件的系统和方法。系统和方法可以包括生成用于在考虑服务器群的负载平衡约束和数据传输约束的同时在该时间间隔之内的、服务器群中的每个服务器资源到至少一个其他服务器资源的迁移的一个或多个潜在的迁移调度方案,并且基于针对服务器群中的每个服务器资源到至少一个其他服务器资源的迁移生成的一个或多个潜在的迁移调度方案,生成用于该时间间隔之内的每个迁移事件的迁移事件调度。
【专利说明】迁移事件调度管理

【技术领域】
[0001] 本说明书涉及用于迁移事件调度管理的各种基于计算机的技术。

【背景技术】
[0002] 在典型的服务器网络环境中,每个服务器可以提供多个资源供承租用户使用。因 为很多服务器可能使用不同但是可能共享的资源,并且向承租用户提供不同级别的访问, 所以平衡服务器负载和传输与承租人相关的数据可能是复杂的过程。例如,一组承租人可 以拥有到一组服务器的访问,其中承租人/服务器的任意分配可能导致服务器的负载不平 衡,这可能对网络/服务器性能不利。在典型的服务器网络环境中,此问题的常规解决方案 可以是穷尽式地枚举承租人和服务器的所有组合来找出全局解决方案。然而,这种枚举可 能导致非常复杂或相对不能解决的问题,其可能是无效的。因而,存在最优化与服务器网络 环境中的承租人布置有关的过程的需要。


【发明内容】

[0003] 根据本公开的方面,可以提供用于迁移事件调度管理的计算机系统,包括存储在 非瞬时性计算机可读介质上并通过至少一个处理器可执行的指令。计算机系统可以包括承 租人置换(r印lacement)管理器,承租人转换管理器被配置为使得至少一个处理器在考虑 服务器群的负载平衡约束和数据传输约束的通知相对于时间间隔,调度针对服务器群中的 多个服务器资源的每个的迁移事件。承租人置换管理器可以包括:被配置为确定服务器群 的负载平衡约束的负载平衡处理器,及被配置为确定服务器群的数据传输约束的数据传输 处理器。承租人置换管理器可以包括迁移事件协调器,迁移事件协调器被配置为在考虑服 务器群的负载平衡约束和数据传输约束的同时在该时间间隔之内,生成一个或多个潜在的 迁移调度方案用于每个服务器资源到服务器群中的至少一个其他服务器资源的迁移。承租 人置换管理器可以包括迁移事件调度优化器,迁移事件调度优化器被配置为基于针对服务 器群中每个服务器资源到至少一个其他服务器资源的迁移生成的一个或多个潜在的迁移 调度方案,生成用于该时间间隔之内的每个迁移事件的迁移事件调度。
[0004] 在一些实施例中,多个服务器资源可以包括一组服务器,并且服务器群可以包括 通过网络连接至一组承租人的该组服务器。对于请求访问服务器群的多个服务器资源(包 括访问计算资源和访问存储资源)的一个或多个承租人,服务器群的每个服务器资源可以 是可访问的。服务器群的负载平衡约束可以被定义为服务器群中的服务器资源的负载需求 的方差,其中负载需求的方差可以被表示为:r -川2_其中Li是服务器资源Si的 负载,并且μ是服务器资源的平均负载。服务器群的数据传输约束可以被定义为基于从一 个服务器资源迁移到另一服务器资源的一个或多个承租人的、服务器群中的服务器资源的 存储需求的和,其中存储需求的和可以被表示为:25 = Σ/: A 其中是承租人tj需 要的磁盘空间,并且当tj被迁移时fj等于1,否则fj等于零。负载平衡约束和数据传输约 束可以被规范化,并且在适应度函数中利用加权参数求和,其中适应度函数可以被表示为: Fitness = cr£ + (+1 - α) I),其中 α 是加权参数。
[0005] 在一些实施例中,迁移事件协调器可以被配置为接收每个负载平衡约束和每个数 据传输约束作为输入用于通过迁移事件协调器来模型化为染色体,并且迁移事件协调器可 以被配置为基于被模型化为染色体的每个负载平衡约束和每个数据传输约束来生成一个 或多个潜在的迁移调度方案。
[0006] 在一些实施例中,迁移事件协调器可以包括遗传算法处理器,遗传算法处理器包 括染色体比较器,染色体比较器被配置为比较多个迁移调度染色体,其中每个迁移调度染 色体包括用于在考虑服务器群的负载平衡约束和数据传输约束的同时在该时间间隔之内 的服务器群中每个服务器资源到至少一个其他服务器资源的迁移的一个或多个潜在的迁 移调度方案,并且染色体比较器被配置为关于负载平衡约束和数据传输约束比较多个迁移 调度染色体的每个,从而输出多个迁移调度染色体的选择的子集。遗传算法处理器可以包 括染色体组合器,染色体组合器被配置为组合多个迁移调度染色体的所选择的子集的迁移 调度染色体,以获得下一代迁移调度染色体,用于输出到染色体比较器,并用于使用其关于 负载平衡约束和数据传输约束进行下一代迁移调度染色体的后续比较,作为染色体比较器 和染色体组合器之间的多个迁移调度染色体的进化循环的一部分。迁移事件调度优化器可 以被配置为监视进化循环,并且从中选择所选择的迁移事件调度染色体,用于基于其实施 迁移事件调度。
[0007] 在一些实施例中,染色体组合器可以被配置为组合迁移调度染色体,包括选择迁 移调度染色体对,并且交叉每对迁移调度染色体的部分以获得下一代的子染色体。可以使 用并行过程来执行进化循环的至少部分,其中将每代迁移调度染色体划分为子组用于其并 行处理。迁移事件调度优化器可以被配置为在预定代数的进化循环之后,或者在确定所选 择的迁移调度染色体在预定程度上满足负载平衡约束和数据传输约束之后,选择所选择的 迁移调度染色体。
[0008] 根据本公开的方面,可以提供计算机程序产品用于迁移事件调度管理。计算机程 序产品可以有形地实现在非瞬时性计算机可读的存储介质上,并且可以包括指令,其中指 令当通过至少一个处理器执行时,被配置为在考虑服务器群的负载平衡约束和数据传输约 束的同时,相对于时间间隔,针对服务器群中的多个服务器资源的每个调度迁移事件。指令 当通过至少一个处理器执行时,可以被配置为确定服务器群的负载平衡约束,确定服务器 群的数据传输约束,并且生成用于在考虑服务器群的负载平衡约束和数据传输约束的同时 在该时间间隔之内的服务器群中的每个服务器资源到至少一个其他服务器资源的迁移的 一个或多个潜在的迁移调度方案。指令当通过至少一个处理器执行时,被配置为基于针对 服务器群中的每个服务器资源到至少一个其他服务器资源的迁移生成的一个或多个潜在 的迁移调度方案,生成用于在时间间隔之内的每个迁移事件的迁移事件调度。
[0009] 在一些实施例中,服务器群的负载平衡约束可以被定义为服务器群中的服务器资 源的负载需求的方差,其中负载需求的方差可以被表示为:X = EfiiGi - rf'其中Li是 服务器资源Si的负载,并且μ是服务器资源的平均负载。服务器群的数据传输约束可以被 定义为基于从一个服务器资源迁移到另一服务器资源的一个或多个承租人的、服务器群中 的服务器资源的存储需求的和,其中存储需求的和可以被表示为:P = I/乃其中 Dj是承租人h需要的磁盘空间,并且当h被迁移时A等于1,否则A等于零。负载平衡约 束和数据传输约束可以被规范化,并且利用加权参数在适应度函数中被求和,其中适应度 函数可以被表示为:Fitness= d + (+1 - ,其中α是加权参数。
[0010] 在一些实施例中,当通过处理器执行时,指令可以被配置为比较多个迁移调度染 色体,其中每个迁移调度染色体包括用于在考虑服务器群的负载平衡约束和数据传输约束 的同时在该时间间隔之内的服务器群中每个服务器资源到至少一个其他服务器资源的迁 移的一个或多个潜在的迁移调度方案。当通过处理器执行时,指令可以被配置为关于负载 平衡约束和数据传输约束来比较多个迁移调度染色体的每个,从而输出多个迁移调度染色 体的所选择的子集。当通过处理器执行时,指令可以被配置为组合多个迁移调度染色体的 所选择的子集的迁移调度染色体,以获得下一代迁移调度染色体,用于输出,并用于使用其 关于负载平衡约束和数据传输约束进行下一代迁移调度染色体的后续比较,作为多个迁移 调度染色体的进化循环的一部分。当通过处理器执行时,指令可以被配置为监视进化循环, 并且从中选择所选择的迁移事件调度染色体,用于基于其实施迁移事件调度。
[0011] 在一些实施例中,当通过处理器执行时,指令可以被配置为组合迁移调度染色体, 包括选择迁移调度染色体对,并且交叉每对迁移调度染色体以获得下一代的子染色体,使 用并行过程执行至少部分进化循环,其中将每代迁移调度染色体划分为子组用于其并行处 理,并且在预定代数的进化循环之后,或者在确定所选择的迁移调度染色体在预定程度上 满足负载平衡约束和数据传输约束之后,选择所选择的迁移调度染色体。
[0012] 根据本公开的方面,可以提供计算机实现的方法用于迁移事件调度管理。该方法 可以包括在考虑服务器群的负载平衡约束和数据传输约束的同时,相对于时间间隔,针对 服务器群中的多个服务器资源的每个调度迁移事件。该方法可以包括:确定服务器群的负 载平衡约束;确定服务器群的数据传输约束;以及生成用于考虑服务器群的负载平衡约束 和数据传输约束的同时在该时间间隔之内的、服务器群中每个服务器资源到至少一个其他 服务器资源的迁移的一个或多个潜在的迁移调度方案。该方法可以包括基于针对服务器群 中的每个服务器资源到至少一个其他服务器资源的迁移生成的一个或多个潜在的迁移调 度方案,生成用于该时间间隔之内的每个迁移事件的迁移事件调度。
[0013] 在一些实施例中,该方法可以包括比较多个迁移调度染色体,其中每个迁移调度 染色体包括用于在考虑服务器群的负载平衡约束和数据传输约束的同时在该时间间隔之 内的、服务器群中每个服务器资源到至少一个其他服务器资源的迁移的一个或多个潜在的 迁移调度方案。该方法可以包括关于负载平衡约束和数据传输约束,比较多个迁移调度染 色体的每个,从而输出多个迁移调度染色体的所选择的子集。该方法可以包括组合多个迁 移调度染色体的所选择的子集的迁移调度染色体,以获得下一代迁移调度染色体,用于输 出到染色体比较器,并用于使用其关于负载平衡约束和数据传输约束进行下一代迁移调度 染色体的后续比较,作为多个迁移调度染色体的进化循环的一部分。该方法可以包括监视 进化循环,并且从中选择所选择的迁移调度染色体,用于基于其实施迁移事件调度。
[0014] 在一些实施例中,该方法可以包括组合迁移调度染色体,包括选择迁移调度染色 体对,并且交叉每对迁移调度染色体的部分以获得下一代的子染色体。该方法可以包括使 用并行过程来执行进化循环的至少部分,其中将每代迁移调度染色体划分为子组用于其并 行处理。该方法可以包括在预定代数的进化循环之后,或者在确定所选择的迁移调度染色 体在预定程度上满足负载平衡约束和数据传输约束之后,选择所选择的迁移调度染色体。
[0015] 在一些实施例中,服务器群的负载平衡约束可以被定义为服务器群中的服务器资 源的负载需求的方差,其中负载需求的方差可以被表示为:I = - μ]'其中Li是 服务器资源Si的负载,并且μ是服务器资源的平均负载。服务器群的数据传输约束可以被 定义为基于从一个服务器资源迁移到另一服务器资源的一个或多个承租人的、服务器群中 的服务器资源的存储需求的和,其中存储需求的和可以被表示为:? =Σ/ Ax g其中Dj 是承租人h需要的磁盘空间,并且当h被迁移时A等于1,否则A等于零。负载平衡约束 和数据传输约束可以被规范化,并且利用加权参数在适应度函数中求和,其中适应度函数 可以被表不为:Fitness=fr[ + (.1 - 〃) ?其中α是加权参数。
[0016] 在附图和下面的描述中阐明一个或多个实施例的详情。其他特征从描述和附图以 及从权利要求中将变得清楚。

【专利附图】

【附图说明】
[0017] 图1Α-1Β是示出根据本公开的方面的用于迁移事件调度管理的各种示例系统的 框图。
[0018] 图2是示出根据本公开的方面的、用于管理迁移调度的示例方法的过程流。
[0019] 图3Α-3Β是示出根据本公开的方面的、用于管理迁移调度的示例系统实施的图。
[0020] 图4-7是示出根据本公开的方面的、用于管理迁移调度的各种示例方法的过程 流。
[0021] 图8示出根据本公开的方面的示例染色体。
[0022] 图9示出根据本公开的方面的染色体的示例解码。
[0023] 图10Α-10Β示出根据本公开的方面的染色体的示例交叉和变异。

【具体实施方式】
[0024] 图1Α-1Β是示出根据本公开的方面的、用于迁移事件调度管理的各种示例系统的 框图。
[0025] 具体地,图IA是示出根据本公开的方面的、用于迁移事件调度管理的示例系统 100的框图,其通过实现承租置换管理器120、迁移事件协调器126和迁移事件调度优化器 128来管理、协调和最优化迁移事件调度。在一些实施例中,迁移事件调度可以包括服务器 群(服务器包租区)中的承租人布置/移动,用于负载平衡和最小的数据移动/迁移。
[0026] 在图IA的例子中,系统100包括用于实现迁移事件调度管理系统的计算机系统, 其可以与计算设备104关联,从而将计算设备104转换为如这里描述的、被设计来确定和实 现一个或多个迁移调度过程的专用机器。在这个意义上,可以理解计算设备104可以包括 任何标准元件和/或组件,包括至少一个处理器110、存储器(例如,非瞬时性计算机可读存 储介质)112、数据库140、电源、外围设备和可能没有在图IA中具体示出的各种其他计算元 件和/或组件。此外,系统100可以与可以用来提供用户界面(UI)152 (在一些例子中诸如 图形用户界面(⑶I))的显示设备150 (例如,监视器或其他显示器)关联。在实施例中,例 如,可以使用UI152来从用户接收偏好,用于管理或利用系统100。因而,应该理解可以添加 或包括对实现系统100可能有用的系统100的各种其他元件和/或组件,这对本领域一位 普通技术人员来说是显而易见的。
[0027] 在图IA的例子中,迁移事件调度管理系统100可以包括计算设备104,以及记录/ 存储在非瞬时性计算机可读介质112上并可通过至少一个处理器110执行的指令。从而, 在实施例中,迁移事件调度管理系统100可以包括用于向用户提供输出的显示设备150,并 且显示设备150可以包括用于从用户接收输入的Π 152。
[0028] 迁移事件调度管理系统100可以包括承租人置换管理器120,其被配置为使得至 少一个处理器110在考虑服务器群160的负载平衡约束和数据传输约束的同时,相对于时 间间隔,针对服务器群160中的多个服务器资源160A、160B、……、160N的每一个调度迁移 事件。
[0029] 在一些实施例中,负载平衡约束可以包括负载平衡目标,并且数据传输约束可以 包括数据传输目标,包括最小数据传输目标。在其他实施例中,负载平衡约束可以包括用于 服务器群160中的每个服务器资源160A、160B、……、160N的最小和/或最大负载约束,并 且数据传输约束可以包括用于服务器群160中的每个服务器资源160A、160B、……、160N 的最小和/或最大数据约束。
[0030] 在一些实施例中,多个服务器资源160A、160B、......、160N可以包括一组服务器, 并且服务器群160可以包括通过网络连接至一组承租人170A、170B、……、170N的该组服 务器。对于请求访问服务器群160的多个服务器资源160A、160B、……、160N (包括访问计 算资源和访问存储资源)的一组承租人的一个或多个承租人170A、170B、……、170N,服务 器群160中的每个服务器资源160A、160B、......、160N可以是可访问的。
[0031] 在一些实施例中,服务器群160 (或服务器包租区(farm))包括通过计算机网络连 接的多个服务器资源160A、160B、……、160N (或多个服务器)。对于请求访问服务器群160 中的服务器资源160A、160B、……、160N (诸如按需要的计算和存储)的众多承租人170A、 170B、……、170N,每个服务器资源可以是可访问的。有时,服务器资源的负载可能是平衡 的。然而,由于来自承租人170A、170B、......、170N的一个或多个的一些新的要求或请求,这 样的负载平衡可能被打断。例如,承租人170A、170B、……、170N可能请求访问比分配的服 务器资源160A、160B、……、160N的可用空间更多的存储。从而,在各种实施例中,可能将此 承租人170A、170B、……、170N移动/迁移到可能具有可用存储/磁盘空间的服务器资源 160AU60B、……、160N的另一个,或者将其他承租人从当前服务器资源移动/迁移到一个 或多个其他服务器资源160A、160B、……、160N。在移动/迁移承租人170A、170B、……、 170N的事件中,还可能移动/迁移此承租人170A、170B、……、170N的数据。当承租人170A、 170B、……、170N具有大量的数据存储需求时,此类型的数据迁移可能较慢。
[0032] 因而,本公开的方面针对的是用于服务器群160 (或服务器包租区)的最优承租人 置换系统和方法,其可以被配置为同时最小化数据传输和平衡服务器负载。例如,参照图 1A,对于一组承租人,服务器群中的十个服务器可以是可访问的,并且任意的承租人置换可 能导致潜在在服务器负载不平衡。然而,根据本公开的方面,可以利用最优化系统和方法来 实现负载平衡,其用如在此更详细地描述的方式来提供更有效的服务器群/包租区。
[0033] 在一些例子中,此问题的一个解决方案可以是穷尽式地枚举承租人和服务器的所 有组合找出全局最佳。然而,这种类型的枚举可以是NP完全问题(S卩,非确定性多项式时间 完全问题),其在多项式时间(poly-nominal-time)内不能解决。从而,本公开的方面提供 了此问题的另一解决方案,例如,使用近似系统和方法,可以基于适于或被配置为针对服务 器群/包租区管理承租人的遗传算法。在各种实施例中,此GA系统和方法可以被配置为将 承租人置换到服务器,使得可以最优化数据迁移和负载平衡两者。在此更详细地描述用于 此系统及其方法的进一步的范围和功能。
[0034] 在图IA的例子中,承租人置换管理器120可以包括被配置为确定服务器群160的 负载平衡约束的负载平衡处理器122。在一些实施例中,服务器群160的负载平衡约束可以 被定义为服务器群160中的服务器资源160A、160B、......、160N的负载需求的方差,在本文 中将对其进一步描述。
[0035] 在图IA的例子中,承租人置换管理器120可以包括被配置为确定服务器群160的 数据传输约束的数据传输处理器124。在一些实施例中,服务器群160的数据传输约束可 以被定义为基于从服务器群160中的一个服务器资源迁移到另一服务器资源的一个或多 个承租人170A、170B、……、170N的、服务器群160中的服务器资源160AU60B、……、160N 的存储需求的和,在在本文中将对其进一步描述。
[0036] 在各种实施例中,承租人置换管理器120可以使用存储在数据库140中的、与负 载平衡约束和数据传输约束有关的、可能已知或被认为是影响、控制和/或另外影响迁移 事件的各种类型的数据。例如,与服务器群160中的服务器资源160A、160B、……、160N 有关的数据可以存储在数据库140中,并且服务器资源数据可以描述服务器资源160A、 160B、……、160N的每个的当前的、历史的和/或最大负载和数据存储容量。服务器资源 数据可以描述与服务器资源160AU60B、……、160N的每个有关的负载平衡约束和/或数 据传输约束。在另一例子中,与承租人170AU70B、……、170N有关的数据可以存储在数据 库140中,并且承租人数据可以描述关于每个承租人170A、170B、……、170N的过去的、当 下的和/或任何相关数据,诸如,例如负载和存储要求。
[0037] 在各种实施例中,负载平衡约束可以包括负载平衡目标(包括最小和/或最大负 载平衡目标),并且数据传输约束可以包括数据传输目标(包括最小和/或最大数据传输 目标)。在其他实施例中,负载平衡约束可以包括用于服务器群160中的每个服务器资源 160A、160B、……、160N的负载约束,并且数据传输约束可以包括用于服务器群160中的每 个服务器资源160A、160B、……、160N的数据约束。
[0038] 在各种实施例中,应该理解任何例子数据意在仅作为非限制性的例子,并且可以 在承租人置换管理器120的操作中使用任何附加和/或替代类型的数据。例如,数据可以 存储在例如一个或多个数据库140中和/或别处。
[0039] 在图IA的例子中,承租人置换管理器120可以包括迁移事件协调器126,其被配 置为用于在考虑服务器群160的负载平衡约束(在一些例子中,包括负载平衡目标)和服 务器群160的数据传输约束(在一些例子中,包括数据传输目标)的时间间隔之内的、服务 器群160中的每个服务器资源160A、160B、......、160N到至少一个其他服务器资源160A、 160B、……、160N的迁移的一个或多个潜在的迁移调度方案。在一些实施例中,迁移事件协 调器126可以被配置为接收每个负载平衡约束和每个数据传输约束作为输入,用于通过迁 移事件协调器126模型化为染色体。在一些实施例中,迁移事件协调器126可以被进一步 配置为基于被模型化为染色体的每个负载平衡约束和每个数据传输约束来生成一个或多 个潜在的迁移调度方案。
[0040] 在图IA的例子中,承租人置换管理器120可以包括迁移事件调度优化器128,其被 配置为基于针对服务器群160中的每个服务器资源160A、160B、……、160N到至少一个其 他服务器资源160AU60B、……、160N的迁移生成的一个或多个潜在的迁移调度方案,生成 用于该时间间隔之内的每个迁移事件的迁移事件调度。
[0041] 在一些实施例中,承租人置换管理器120可以使用迁移事件调度优化器128和/ 或迁移事件协调器126来生成迁移事件调度以包括特定的迁移调度方案和/或用在调度一 个或多个服务器资源160A、160B、……、160N的实际使用的解决方案。
[0042] 在图IA的例子中,应该理解使用表示或多或少(more-or-less)的分离的功能的 各种功能块或模块来示出迁移事件调度管理系统100。然而,为了清楚和方便提供这种图 解,因而,应该理解各种功能可以在所述块或模块之内重叠或合并,和/或可以通过没有在 图IA的例子中具体示出的一个或多个块或模块来实现。因而,应该理解,也可以包括可能 被认为对图IA的系统100有用的常规功能,即使为了清楚和方便没有明确地示出这样的常 规元件。
[0043] 在各种实施例中,网络(或计算机网络)可以实现为单个网络或多个网络的组合。 例如,网络可以包括适用于与诸如因特网的一个或多个其他通信网络通信的无线电信网络 (例如,蜂窝电话网络)。在其他例子中,网络160可以包括因特网、一个或多个内联网、地 面网络、无线网络和/或一个或多个其他类型的通信网络。因而,在各种例子中,计算设备 104、服务器群160中的一个或多个服务器资源160A、160B、......、160N以及一个或多个承 租人170A、170B、……、170N可以与特定的链路(例如,诸如到IP (因特网协议)地址的URL (统一资源定位符)的链路)相关联,用于经由网络与彼此通信。
[0044] 图IB是示出根据本公开的方面的、通过实现遗传算法来管理迁移调度的、用于迁 移事件调度管理的另一示例系统150的框图。在一些例子中,迁移事件调度可以包括服务 器群(或服务器包租区)中的承租人布置,用于负载平衡和最小的数据移动。
[0045] 在实施例中,系统150包括可以与图IA的系统100的计算设备104关联的、用于实 现迁移事件调度管理系统的计算机系统。因而,为了简化下面的讨论,图IB的系统150的 相似的组件可以包括图IA的系统100的相同范围和功能,从而将图IB的计算设备104转 换为如在此描述的、被设计为确定和实现迁移调度过程的专用机器。
[0046] 在实施例中,图IA的系统100的迁移事件协调器126可以被配置为遗传算法处理 器131。因此,在图IB的例子中,系统150的承租人置换管理器120可以包括遗传算法处理 器131。在一些例子中,遗传算法处理器131可以被配置为实现被称为遗传算法(GA)的随 机化算法方法,其通常指的是通过连续代反复以朝向问题/解决方案空间中最好的解决方 案收敛的达尔文自然选择的计算机模拟。系统150可以使用这样的遗传算法(GA)来将要 求、参数和/或约束考虑到迁移调度最优化过程中。此外,在一些实施例中,如在此描述,迁 移事件调度管理系统150可以被认为是能够推荐和/或选择"最可用(best-available) " 的迁移调度方案。
[0047] 在系统150中,例如,可以通过创建表示生成迁移调度方案这个问题的可能解决 方案的一个或多个"染色体"来实现遗传算法方法。在此描述这种迁移调度染色体的特定 的例子。然而,一般而言,应该理解这样的迁移调度染色体可以包括基于用于每个服务器资 源160A、160B、……、160N的迁移事件的、用于每个服务器资源160A、160B、……、160N的 一个或多个潜在的迁移调度方案。
[0048] 此外,应该理解,这样潜在的迁移调度方案可以用来关于负载容量和数据存储容 量比较每个迁移调度染色体,从而输出迁移调度染色体的所选择的子集。因此,可能存在单 个这样的迁移调度染色体,其可以表示对于给定的迁移调度目标集合的单个最好的迁移调 度方案,从而最大化和/或最优化负载平衡和数据传输。然而,潜在的迁移调度方案(即,迁 移调度染色体)的最优化可以是相对于承租人的需要以及包括约束、参数和/或要求的各种 其他因素的。在有些情况下,由于在此使用的遗传算法的特性,承租人置换管理器120可以 被配置为找到接近于最优解决方案的"最好的"解决方案,即使实际的最优解决方案不是如 此可识别的。
[0049] 在一些实施例中,迁移事件调度优化器128可以被配置用于调整约束以提供承租 人置换管理器120的可能目标之间的指定,并且应该理解,包括约束、参数和/或要求的各 种因素可以被认为是必要的或可选的。例如,在应该最优化负载平衡和数据传输的场景中, 遗传算法的充分利用可以是选项但可以不是要求。
[0050] 承租人置换管理器120可以被配置为经由遗传算法处理器131利用遗传算法来以 这样的方式创建、比较和组合多个迁移调度染色体从而创建迁移调度染色体的新一代或种 群供评估,使得可以选择其子集用于繁殖(reproduction)和后续的评估。用这种方式,迁 移调度染色体的每一代和/或种群可以趋向于朝着潜在的迁移调度方案的最优解决方案 收敛。在一些例子中,迁移事件调度优化器128可以被配置为选择特定的迁移调度解决方 案(例如,潜在的迁移调度方案之一或迁移调度染色体之一)用在确定或选择最好的潜在迁 移调度方案中。
[0051] 在图IB的例子中,遗传算法处理器131可以包括被配置用于生成一个或多个迁移 调度染色体的染色体生成器132。在有些情况下,这种迁移调度染色体生成可以随机发生, 或者可以包括一些初始的约束、指导或限制。染色体生成器132可以被配置为生成初始的 迁移调度染色体种群或集合,其可以通过染色体比较器134评估,染色体比较器134可以被 配置用于比较每个迁移调度染色体,每个迁移调度染色体包括基于用于服务器群160中的 每个服务器资源160A、160B、......、160N的迁移事件的一个或多个时间间隔之内的、用于每 个服务器资源160AU60B、……、160N的一个或多个潜在的迁移调度方案。染色体比较器 134可以被配置为在考虑负载平衡约束和数据传输约束的同时相对于一个或多个时间间隔 来比较多个迁移调度染色体的每个,从而输出多个迁移调度染色体的选择的子集,其可以 表示最好的可用的潜在迁移调度方案。在此更详细地描述这些和各种其他相关的方面。
[0052] 染色体组合器136可以被配置为接收多个迁移调度染色体的所选择的子集,并且 可以被配置为组合(例如,交叉和变异)多个迁移调度染色体的所选择的子集的迁移调度染 色体,以获得下一代(种群)的迁移调度染色体用于输出到染色体比较器134,染色体比较器 134然后可以针对负载平衡约束和数据传输约束使用其执行下一代迁移调度染色体的另一 次、后续的比较,作为染色体比较器134和染色体组合器136之间的多个迁移调度染色体的 连续代的进化循环的一部分。使用每个连续世代,新的迁移调度染色体的种群可以表示或 包括一个或多个可能改进的或接近最优的调度。在一些实施例中,可以反复地创建新的代 和/或种群,直到满足最优解决方案为止,或者直到满足因素、偏好和/或要求达某种预定 义的满意级别或阈值为止,或者直到计算了预定代数为止,或者直到计算新的代/种群的 时间超时为止(在该点可以选择当前代的最好解决方案)。
[0053] 迁移事件调度优化器128可以被配置为监视进化循环,并从中选择所选择的迁移 调度染色体用于基于其实施迁移调度方案。如在此提及,所选择的迁移调度染色体和/或 解决方案可以表示最好的(最优或近最优的)解决方案,或者可以表示最可用的解决方案。 从而,迁移事件调度优化器128可以被分派任务以确定是否、何时以及如何打断或否则结 束进化循环,并且提取最好的、最可用的、最优的或近最优的解决方案。然后,迁移事件调度 优化器128可以输出所选择的迁移调度染色体和/或执行实际的迁移事件调度。
[0054] 在图IB的例子中,染色体组合器136可以被进一步配置为组合迁移调度染色体, 包括选择迁移调度染色体对,并且交叉每对迁移调度染色体的部分以获得下一代的子染色 体。在实施例中,至少部分进化循环可以使用并行过程来执行,其中将每一代迁移调度染色 体划分成子组用于其并行处理。在这种情况下,迁移事件调度优化器128可以被进一步配 置为在预定代数的进化循环之后,或者在确定所选择的迁移调度染色体在预定程序上满足 约束之后,选择所选择的迁移调度染色体。
[0055] 在图IB的例子中,应该理解使用表示或多或少的分离的功能的各种功能块或模 块来示出迁移事件调度管理系统150。然而,为了清楚和方便提供这种图解,因而,应该理解 各种功能可以在所述块或模块之内重叠或合并,和/或可以通过没有在图IB的例子中具体 示出的一个或多个块或模块来实现。因而,应该理解,也可以包括可能被认为对图IB的系 统150有用的常规功能,即使为了清楚和方便没有明确地示出这样的常规元件。
[0056] 图2是示出根据本公开的方面的用于管理迁移调度的示例方法200的过程流。
[0057] 在图2的例子中,操作202-208被示出为按顺序的次序发生的分离的操作。然而, 应该理解,在其他实施例中,操作202-208的两个或多个可以以部分或完全重叠或并行的 方式发生,或者以嵌套的或循环的方式发生,或者可以以不同于所示的次序发生。此外,可 能没有在图2的例子中具体地示出的附加的操作也可以包括在一些示例实施例中,而在其 他实施例中,可以省略操作202-208的一个或多个。此外,在一些实施例中,方法200可以 包括用于在图IA的系统100和图IB的系统150中管理迁移调度的计算机实现的方法的过 程流。此外,如在此所述,操作202-208可以提供可以由计算机系统104扮演以提供如参照 图IA和IB所述的特征和功能的简化的操作过程流。
[0058] 在本公开的一方面中,可以提供图2的方法200用于在考虑服务器群的负载平衡 约束和数据传输约束的同时,相对于时间间隔针对服务器群中的多个服务器资源的每个调 度迁移事件。
[0059] 在图2的例子中,在202,方法200可以包括确定服务器群的负载平衡约束。
[0060] 在204,方法200可以包括确定服务器群的数据传输约束。
[0061] 在206,方法200可以包括生成在考虑服务器群的负载平衡约束和数据传输约束 的同时,在该时间间隔之内的服务器群中每个服务器资源到至少一个其他服务器资源的迁 移的一个或多个潜在的迁移调度方案。在一些例子中,约束可以包括目标,包括最小和/或 最大目标。在其他例子中,负载平衡约束可以包括用于服务器群中的每个服务器的负载平 衡和/或负载目标,并且数据传输约束可以包括用于服务器群中的每个服务器的数据约束 和/或数据目标。
[0062] 在208,方法200可以包括基于针对服务器群中的每个服务器资源到至少一个其 他服务器资源的迁移生成的一个或多个潜在的迁移调度方案,生成用于该时间间隔之内的 每个迁移事件的迁移事件调度。
[0063] 图3A-3B是示出根据本公开的方面的用于管理迁移调度的示例系统实施例的图。
[0064] 具体地,图3A是示出根据本公开的方面的、用于针对负载平衡和数据传输的管 理、协调和最优化迁移调度的示例实施例300的图。
[0065] 例如,在一些实施例中,服务器群/包租区310可以包括可以通过计算机网络连接 的多个服务器#1-10。对于请求或要求访问服务器#1-10的资源(诸如按需求的计算和存 储)的很多承租人320,每个服务器#1-10可以是可访问的。在一些例子中,服务器#1-10 的负载可以是平衡的。然而,由于承租人320的一些新的访问请求和/或要求,可能打断这 样的负载平衡。在一些例子中,承租人320的承租人321可能请求访问多于特定服务器(例 如,服务器#1)的可用空间的附加的存储。因此,此承租人321可以被移动/迁移到可能 具有足够的存储空间的至少一个其他的服务器(例如,服务器#2-10),或将承租人320的其 他承租人从此服务器(例如,服务器#1)移动/迁移到一个或多个其他服务器(例如,服务器 #2-10)。
[0066] 在一些例子中,当承租人被移动/迁移到另一服务器时,此承租人的数据也应该 被移动/迁移。当承租人拥有大量的数据存储需求时,这样的数据移动/迁移可能是较慢 的。因此,在此描述的系统可以被配置为同时减少/最小化数据传输和平衡服务器负载的、 用于服务器群/包租区310的最优的承租人置换方法。例如,参照图3A,当一组承租人320 访问十个服务器310时,任意的承租人置换可能导致负载不平衡,例如如图330中所示。然 而,根据本公开的方面,可以利用本文描述的最优化系统和各种方法来实现负载平衡,以使 得服务器群/包租区更加有效,如图340中的示例所示的。
[0067] 在一些实施例中,服务器群/包租区可以包括一组服务器s = (Sl,S2,…,st)和 一组承租人T=U1, t2,…,tk),其中可以将多个承租人布置到一个服务器。每个服务器上 的负载和数据大小可以被表示为R (s) =(Load,Disk)。在一些例子中,确定每个服务器上的 负载和数据大小没有超过最大设置,以及具有很好地平衡的负载以及尽可能低的数据传输 被认为很重要。
[0068] 服务器包租区中的负载平衡L可以被定义为所有服务器的负载的方差,其中需求 的方差可以被表示为:
[0069] L= Σ?Κ-#】2,其中Li是服务器士的负载,并且μ是群/包租区中的服务器 的平均负载。
[0070] 数据传输D可以被定义为从一个服务器移动或迁移到另一服务器的承租人的数 据大小的和,其中存储需求的和可以被表示为:
[0071] 0= Efl/) X 其中Dj是承租人tj要求的磁盘空间,并且当tj被迁移时fj等于 1,否则A等于0。
[0072] 负载平衡和数据传输可以被规范化,并且被总计为适应度函数,其可以被表示 为:
[0073] Fitness= ? L+O-a) 0 ,其中 α 是加权参数。
[0074] 因此,用于服务器群/包租区的承租人管理问题可以被简化为适应度函数的最小 化。
[0075] 具体地,图3Β是示出根据本公开的方面的用于针对负载平衡和数据传输的管理、 协调和最优化迁移调度的示例实施例350的图。
[0076] 在图3Β的例子中,服务器群/包租区360可以包括四个服务器#1-4,十二个承租 人#1-12被分配给四个服务器#1-4。在此例子中,每个承租人可以请求或要求访问特定量 的服务器资源(例如,负载和磁盘),并且每个服务器#1-4具有资源的最大限制。此外,参照 此例子,这里的表1和表2提供/描述通过/在每个服务器和承租人中请求/要求的可用 资源。
[0077] 表1 :每个服务器中的承租人布置。
[0078]

【权利要求】
1. 一种包括存储在非瞬时性计算机可读介质上并且可通过至少一个处理器执行的指 令的计算机系统,该系统包括: 承租人置换管理器,被配置为使得至少一个处理器在考虑服务器群的负载平衡约束和 数据传输约束的同时,相对于时间间隔针对服务器群中的多个服务器资源的每个调度迁移 事件,承租人置换管理器包括: 负载平衡处理器,被配置为确定服务器群的负载平衡约束; 数据传输处理器,被配置为确定服务器群的数据传输约束; 迁移事件协调器,被配置为生成用于在考虑服务器群的负载平衡约束和数据传输约束 的同时在该时间间隔之内的、服务器群中的每个服务器资源到至少一个其他服务器资源的 迁移的一个或多个潜在的迁移调度方案;以及 迁移事件调度优化器,被配置为基于针对服务器群中的每个服务器资源到至少一个其 他服务器资源的迁移生成的一个或多个潜在的迁移调度方案,生成用于该时间间隔之内的 每个迁移事件的迁移事件调度。
2. 如权利要求1所述的系统,其中: 多个服务器资源包括一组服务器,并且 服务器群包括通过网络连接至一组承租人的该组服务器。
3. 如权利要求1所述的系统,其中: 对于请求访问服务器群的多个服务器资源的一个或多个承租人,服务器群的每个服务 器资源是可访问的,其中访问多个服务器资源包括访问计算资源和访问存储资源。
4. 如权利要求1所述的系统,其中: 服务器群的负载平衡约束被定义为服务器群中的服务器资源的负载需求的方差,负载 需求的方差被表不为: £ =Σ?κ其中Li是服务器资源Si的负载,并且μ是服务器资源的平均负 载。
5. 如权利要求4所述的系统,其中: 服务器群的数据传输约束被定义为基于从一个服务器资源迁移到另一服务器资源 的一个或多个承租人的、服务器群中的服务器资源的存储需求的和,存储需求的和被表示 为: ? =I:/AX4其中Dj是承租人tj需要的磁盘空间,并且当tj被迁移时fj等于L否则A等于零。
6. 如权利要求5所述的系统,其中: 负载平衡约束和数据传输约束被规范化,并且利用加权参数在适应度函数中求和,适 应度函数被表示为:
其中α是加权参数。
7. 如权利要求1所述的系统,其中: 迁移事件协调器被配置为接收每个负载平衡约束和每个数据传输约束作为输入,用于 通过迁移事件协调器模型化为染色体,并且 迁移事件协调器被进一步配置为基于被模型化为染色体的每个负载平衡约束和每个 数据传输约束,生成一个或多个潜在的迁移调度方案。
8. 如权利要求1所述的系统,其中迁移事件协调器包括遗传算法处理器,遗传算法处 理器包括: 染色体比较器,被配置为比较多个迁移调度染色体,其中每个迁移调度染色体包括用 于在考虑服务器群的负载平衡约束和数据传输约束的同时在该时间间隔之内的、服务器群 中的每个服务器资源到至少一个其他服务器资源的迁移的一个或多个潜在的迁移调度方 案,并且染色体比较器被配置为相对于负载平衡约束和数据传输约束比较多个迁移调度染 色体的每个,从而输出多个迁移调度染色体的所选择的子集;及 染色体组合器,被配置为组合多个迁移调度染色体的所选择的子集的迁移调度染色 体,以获得下一代迁移调度染色体,用于输出到染色体比较器,并用于使用其相对于负载平 衡约束和数据传输约束进行下一代迁移调度染色体的后续比较,作为染色体比较器和染色 体组合器之间的多个迁移调度染色体的进化循环的一部分, 其中迁移事件调度优化器被进一步配置为监视进化循环,并且从中选择所选择的迁移 调度染色体,用于基于其实施迁移事件调度。
9. 如权利要求8所述的系统,其中染色体组合器被进一步配置为组合迁移调度染色 体,包括选择迁移调度染色体对,并且交叉每对迁移调度染色体的部分以获得下一代的子 染色体。
10. 如权利要求8所述的系统,其中使用并行过程来执行进化循环的至少部分,其中将 每一代迁移调度染色体划分为子组用于其并行处理。
11. 如权利要求8所述的系统,其中迁移事件调度优化器被进一步配置为在预定代数 的进化循环之后,或者在确定所选择的迁移调度染色体在预定程度上满足负载平衡约束和 数据传输约束之后,选择所选择的迁移调度染色体。
12. -种计算机程序产品,该计算机程序产品被有形地实现在非瞬时性计算机可读存 储介质上并且包括指令,其中当通过至少一个处理器执行时,指令被配置为: 在考虑服务器群的负载平衡约束和数据传输约束的同时,相对于时间间隔,针对服务 器群中的多个服务器资源的每个调度迁移事件,其中当通过至少一个处理器执行时,指令 被配置为: 确定服务器群的负载平衡约束; 确定服务器群的数据传输约束; 生成用于考虑服务器群的负载平衡约束和数据传输约束的同时在该时间间隔之内的、 服务器群中的每个服务器资源到至少一个其他服务器资源的迁移的一个或多个潜在的迁 移调度方案;以及 基于针对服务器群中的每个服务器资源到至少一个其他服务器资源的迁移生成的一 个或多个潜在的迁移调度方案,生成用于该时间间隔之内的每个迁移事件的迁移事件调 度。
13. 如权利要求12所述的计算机程序产品,其中: 服务器群的负载平衡约束被定义为服务器群中的服务器资源的负载需求的方差,负载 需求的方差被表不为: -Rl2 ^其中Li是服务器资源Si的负载,并且μ是服务器资源的平均 负载,以及 服务器群的数据传输约束被定义为基于从一个服务器资源迁移到另一服务器资源 的一个或多个承租人的、服务器群中的服务器资源的存储需求的和,存储需求的和被表示 为: D=Σ/乃XD:其中h是承租人h需要的磁盘空间,并且当h被迁移时A等于L否则A等于零。
14. 如权利要求13所述的计算机程序产品,其中: 负载平衡约束和数据传输约束被规范化,并且利用加权参数在适应度函数中求和,适 应度函数被表示为: J7Ifiiess=<?Χ+ (+1 ---)T,其中α是加权参数。
15. 如权利要求12所述的计算机程序产品,进一步包括指令,当通过处理器执行时,指 令被配置为: 比较多个迁移调度染色体,每个迁移调度染色体包括用于在考虑服务器群的负载平衡 约束和数据传输约束的同时在该时间间隔之内的、服务器群中的每个服务器资源到至少一 个其他服务器资源的迁移的一个或多个潜在的迁移调度方案; 关于负载平衡约束和数据传输约束,比较多个迁移调度染色体的每个,从而输出多个 迁移调度染色体的所选择的子集; 组合多个迁移调度染色体的所选择的子集的迁移调度染色体,以获得下一代迁移调度 染色体,用于输出,并用于使用其相对于负载平衡约束和数据传输约束进行下一代迁移调 度染色体的后续比较,作为多个迁移调度染色体的进化循环的一部分;以及 监视进化循环,并且从中选择所选择的迁移调度染色体,用于基于其实施迁移事件调 度。
16. 如权利要求15所述的计算机程序产品,进一步包括指令,当通过处理器执行时,指 令被配置为: 组合迁移调度染色体,包括选择迁移调度染色体对,并且交叉每对迁移调度染色体的 部分以获得下一代的子染色体; 使用并行过程来执行进化循环的至少部分,其中将每一代迁移调度染色体划分为子组 用于其并行处理;以及 在预定代数的进化循环之后,或者在确定所选择的迁移调度染色体在预定程度上满足 负载平衡约束和数据传输约束之后,选择所选择的迁移调度染色体。
17. -种计算机实现的方法,包括: 在考虑服务器群的负载平衡约束和数据传输约束的同时,相对于时间间隔,针对服务 器群中的多个服务器资源的每个调度迁移事件,通过如下进行: 确定服务器群的负载平衡约束; 确定服务器群的数据传输约束; 生成用于考虑服务器群的负载平衡约束和数据传输约束的同时在该时间间隔之内的、 服务器群中每个服务器资源到至少一个其他服务器资源的迁移的一个或多个潜在的迁移 调度方案;以及 基于针对服务器群中的每个服务器资源到至少一个其他服务器资源的迁移生成的一 个或多个潜在的迁移调度方案,生成用于该时间间隔之内的每个迁移事件的迁移事件调 度。
18. 如权利要求17所述的方法,进一步包括: 比较多个迁移调度染色体,每个迁移调度染色体包括用于在考虑服务器群的负载平衡 约束和数据传输约束的同时在该时间间隔之内的、服务器群中每个服务器资源到至少一个 其他服务器资源的迁移的一个或多个潜在的迁移调度方案; 关于负载平衡约束和数据传输约束,比较多个迁移调度染色体的每个,从而输出多个 迁移调度染色体的所选择的子集; 组合多个迁移调度染色体的所选择的子集的迁移调度染色体,以获得下一代迁移调度 染色体,用于输出到染色体比较器,并用于使用其相对于负载平衡约束和数据传输约束进 行下一代迁移调度染色体的后续比较,作为多个迁移调度染色体的进化循环的一部分;以 及 监视进化循环,并且从中选择所选择的迁移调度染色体,用于基于其实施迁移事件调 度。
19. 如权利要求18所述的方法,进一步包括: 组合迁移调度染色体,包括选择迁移调度染色体对,并且交叉每对迁移调度染色体的 部分以获得下一代的子染色体; 使用并行过程来执行进化循环的至少部分,其中将每代迁移调度染色体划分为子组用 于其并行处理;以及 在预定代数的进化循环之后,或者在确定所选择的迁移调度染色体在预定程度上满足 负载平衡约束和数据传输约束之后,选择所选择的迁移调度染色体。
20. 如权利要求17所述的方法,其中: 服务器群的负载平衡约束被定义为服务器群中的服务器资源的负载需求的方差,负载 需求的方差被表不为: r= -Rl2,其中Li是服务器资源Si的负载,并且μ是服务器资源的平均负 载, 服务器群的数据传输约束被定义为基于从一个服务器资源迁移到另一服务器资源 的一个或多个承租人的、服务器群中的服务器资源的存储需求的和,存储需求的和被表示 为: ? =AΧ 4其中Dj是承租人tj需要的磁盘空间,并且当tj被迁移时fj等于1, 否则A等于零,并且 负载平衡约束和数据传输约束被规范化,并且利用加权参数在适应度函数中求和,适 应度函数被表示为: Fi'fness=ir£ +(I- I),其中α 是加权参数。
【文档编号】G06F9/50GK104461728SQ201310429058
【公开日】2015年3月25日 申请日期:2013年9月18日 优先权日:2013年9月18日
【发明者】黎文宪, 程羽, 王梦蛟 申请人:Sap欧洲公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1