基于多代理协作的管理任务动态分解方法及系统转让专利

申请号 : CN201010618273.4

文献号 : CN102063329B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 孟洛明詹志强高斐邱雪松陈兴渝亓峰王智立

申请人 : 北京邮电大学

摘要 :

本发明公开了一种基于多代理协作的管理任务动态分解方法及系统,该方法包括步骤:S1.按照管理功能对管理任务进行粗分;S2.判断待分解任务是否可分解,并根据任务复杂度选取任务支树进行初步分解;S3.验证当前任务空间中的子任务数是否超过多代理系统允许的最大工作代理数;S4.重建任务空间,根据当前任务空间的子任务数量生成对应的工作代理群组;S5.验证每个子任务的复杂度是否超出对应的工作代理的能力上限;S6.评估工作代理群组的负载是否平衡。本发明的方法及系统具有最优任务执行效果的分解结果,能够降低MA自身运行所消耗的资源,兼顾分解后执行子任务的MA工作负载的平衡性,MA的执行效率和稳定性高。

权利要求 :

1.一种基于多代理协作的管理任务动态分解方法,其特征在于,该方法包括步骤:S1.以管理任务树形式描述管理任务,并按照管理功能对管理任务进行粗分,形成基于不同管理功能的任务子树集;

S2.判断待分解任务是否可分解,若是,则根据任务复杂度选取任务支树进行初步分解,否则,结束任务分解;

S3.验证当前任务空间中的子任务数是否超过多代理系统允许的最大工作代理数,若不超过,则继续执行步骤S4,否则,将子任务的复杂度从小到大依次排列的子任务数超出最大工作代理数的个数个子任务聚合;

S4.重建任务空间,根据当前任务空间的子任务数量生成对应的工作代理群组,并根据子任务的管理功能赋予工作代理相应的管理角色;

S5.验证每个子任务的复杂度是否超出对应的工作代理的能力上限,若超出,则返回步骤S2,将超出能力上限的子任务迭代分解,否则,继续执行步骤S6;

S6.评估工作代理群组的负载是否平衡,若不平衡,则返回步骤S2,选取负载偏离平衡值最大的子任务进行迭代分解,否则,执行步骤,完成任务分解,输出子任务集合;

在所述管理任务树中,任务目标节点表示其所含子节点中的管理活动全部完成后的目标,所述管理任务树的第一层的目标节点表示管理功能目标,下层的目标节点表示子任务目标;

在步骤S2中,判断待分解任务可分解的标准为:任务树的根节点是目标节点;

在步骤S6中,评估工作代理群组的负载是否平衡的方法进一步包括步骤:S6.1计算当前多代理的负载,计算公式为:

Lr=λ1·L(WA1)+λ2·L(WA2)+…+λn·L(WAn),其中,Lr为所述多代理的负载,λ=λ1,λ2,...,λn为负载影响因子向量,表示工作代理WAi的负载对多代理的影响重要程度,n表示当前多代理系统中工作代理的数量,且有:S6.2计算多代理中各工作代理的负载平衡度,计算公式为:

其中,GT为所述负载平衡度,i为迭代次数,GT越小表示工作代理群组的负载平衡性越好,当GT=0时,工作代理群组的负载绝对平衡;

S6.3计算多代理的负载平均饱和度来表示多代理中工作代理群组的平均负载状况,计算公式为:ηr=[α·L0+β·(Lr-L0)]/L0

ηr为所述负载平均饱和度,L0为多代理的初始负载,α、β由工作代理的最大负载以及初始负载L0的值确定,ηr等于1,表示多代理负载处于饱和状态;ηr小于1,表示多代理处于欠负载状态,不需增加新的工作代理;ηr大于1,表示多代理处于过负载状态,需要增加新的工作代理。

2.如权利要求1所述的基于多代理协作的管理任务动态分解方法,其特征在于,在步骤S2中,初步分解任务支树包括步骤:S2.1检索当前待分解任务中的每个二层节点,计算每个任务支树的任务复杂度Caj;

S2.2选取Caj≥Ca/qi的任务支树依次进行初步分解;

(i)

其中,所述任务复杂度为分支字数所含的管理活动数,qi表示当前任务空间Γ (T)中的子任务数,i表示第i次迭代分解,Ca表示管理任务总复杂度。

3.如权利要求1所述的基于多代理协作的管理任务动态分解方法,其特征在于,在步骤S4中,重建任务空间过程中,检验当前任务空间内的子任务集,使其满足:其中,T为管理任务,Ti,j为任务空间Γ(i)(T)中第i层第j个子任务。

4.如权利要求1所述的基于多代理协作的管理任务动态分解方法,其特征在于,在步骤S5中,所述验证每个子任务的复杂度是否超出对应的工作代理的能力上限是指每个子任务的复杂度是否会造成对应的工作代理的当前负载超出其执行过程中的最大负载。

5.一种基于多代理协作的管理任务动态分解系统,其特征在于,该系统包括:粗分模块,用于以管理任务树形式描述管理任务,并按照管理功能对管理任务进行粗分,形成基于不同管理功能的任务子树集,在所述管理任务树中,任务目标节点表示其所含子节点中的管理活动全部完成后的目标,所述管理任务树的第一层的目标节点表示管理功能目标,下层的目标节点表示子任务目标;

初步分解模块,用于对于任务树的根节点是目标节点的待分解任务,根据任务复杂度选取任务支树进行初步分解;验证模块,用于验证当前任务空间中的子任务数是否超过多代理系统允许的最大工作代理数;

任务空间重建模块,用于重建任务空间,根据当前任务空间的子任务数量生成对应的工作代理群组,并根据子任务的管理功能赋予工作代理相应的管理角色;

子任务独立性验证模块,用于验证每个子任务的复杂度是否超出对应的工作代理的能力上限;

子任务平衡性验证模块,用于根据以下方法评估工作代理群组的负载是否平衡:计算当前多代理的负载,计算公式为:

Lr=λ1·L(WA1)+λ2·L(WA2)+…+λn·L(WAn),其中,Lr为所述多代理的负载,λ=λ1,λ2,...,λn为负载影响因子向量,表示工作代理WAi的负载对多代理的影响重要程度,n表示当前多代理系统中工作代理的数量,且有:计算多代理中各工作代理的负载平衡度,计算公式为:

其中,GT为所述负载平衡度,i为迭代次数,GT越小表示工作代理群组的负载平衡性越好,当GT=0时,工作代理群组的负载绝对平衡;

计算多代理的负载平均饱和度来表示多代理中工作代理群组的平均负载状况,计算公式为:ηr=[α·L0+β·(Lr-L0)]/L0

ηr为所述负载平均饱和度,L0为多代理的初始负载,α、β由工作代理的最大负载以及初始负载L0的值确定,ηr等于1,表示多代理负载处于饱和状态;ηr小于1,表示多代理处于欠负载状态,不需增加新的工作代理;ηr大于1,表示多代理处于过负载状态,需要增加新的工作代理。

说明书 :

基于多代理协作的管理任务动态分解方法及系统

技术领域

[0001] 本发明涉及IT应用技术领域,尤其涉及一种基于多代理协作的管理任务动态分解方法及系统。

背景技术

[0002] 信息技术(Information Technology,IT)应用(如数据库应用、中间件应用和各类特定业务应用等)是IT系统的核心内容。完备且高效的IT应用管理能更好地保障IT系统的稳定运行,是IT管理的重点。随着IT系统规模的日益扩大,IT应用呈现出动态性、分布性、异构性等特点(本发明中称之为IT复杂应用)。其管理任务中包含对众多物理和逻辑单元的管理,是大量管理活动的集合,且随业务需求等因素动态变化。现有的管理方法已经很难适应纷繁复杂、动态多变的IT复杂应用管理需求。目前对于IT复杂应用管理的常用管理方法是基于多代理(Multi-Agent,MA)协作的管理方案,即根据当前管理任务的特点即时生成多代理,协作完成管理任务。多代理协作的管理方法可动态灵活的适应于分布性和动态性强的IT复杂应用的管理。
[0003] 在基于多代理协作的IT复杂应用管理中,在管理功能完整性可保障的前提下,如何能够动态高效的调度多代理来执行IT复杂应用管理任务是IT复杂应用管理效率的一个瓶颈。而针对多代理环境,如何对管理任务进行分解是基于多代理管理任务调度中首先需要解决的问题。管理任务的分解结果将直接影响到管理任务的执行效率、完整性以及稳定性,对IT复杂应用管理具有重要意义。
[0004] 目前现有的管理任务分解技术主要存在以下缺陷:
[0005] 1)没有考虑执行应用管理任务的MA自身运行所消耗的资源,进而可能影响真正被管对象的运行性能。现有方法对于任务分解的最终优化目标是执行效率最优,如果分解所得的子任务粒度过细,则需要大量的MA并行执行,对被管对象的资源消耗量也随之增大。任何管理活动都应尽可能小得对被管对象造成干扰,管理活动所占用的资源应当尽可能维持在一个限制范围内(该限制因应用系统本身的能力而各异)。对于基于多代理协作的管理任务分解问题中,需要限制被管对象中所实例化的MA的能力,即在MA能力上限范围内寻求具有最优任务执行效率的分解结果。
[0006] 2)没有考虑子任务所具有的管理功能的差异。复杂应用管理的管理任务中包含大量管理活动,这些管理活动可能涉及不同的管理功能(如配置、性能等)。具有不同管理功能的管理活动如果划分到一个子任务内,则最终执行这一子任务的代理需要具有同时能够执行多种管理功能的能力,这将使得代理结构复杂化,与任务分解化繁为简的初衷相违背。
[0007] 3)没有考虑到分解后执行子任务的MA工作负载的平衡性。非平衡状态的MA将会造成一定程度的资源浪费,并且有几率影响IT复杂应用的稳定运行。目前的算法或多或少的不能满足上述要求。

发明内容

[0008] (一)要解决的技术问题
[0009] 本发明所要解决的技术问题是:如何寻求具有最优任务执行效果的分解结果,进而降低MA自身运行所消耗的资源,兼顾分解后执行子任务的MA工作负载的平衡性,提高MA的执行效率和稳定性。
[0010] (二)技术方案
[0011] 为解决上述问题,本发明提供了一种基于多代理协作的管理任务动态分解方法,该方法包括步骤:
[0012] S1.以管理任务树形式描述管理任务,并按照管理功能对管理任务进行粗分,形成基于不同管理功能的任务子树集;
[0013] S2.判断待分解任务是否可分解,若是,则根据任务复杂度选取任务支树进行初步分解,否则,结束任务分解;
[0014] S3.验证当前任务空间中的子任务数是否超过多代理系统允许的最大工作代理数,若不超过,则继续执行步骤S4,否则,将子任务的复杂度从小到大依次排列的子任务数超出最大工作代理数的个数个子任务聚合;
[0015] S4.重建任务空间,根据当前任务空间的子任务数量生成对应的工作代理群组,并根据子任务的管理功能赋予工作代理相应的管理角色;
[0016] S5.验证每个子任务的复杂度是否超出对应的工作代理的能力上限,若超出,则返回步骤S2,将超出能力上限的子任务迭代分解,否则,继续执行步骤S6;
[0017] S6.评估工作代理群组的负载是否平衡,若不平衡,则返回步骤S2,选取负载偏离平衡值最大的子任务进行迭代分解,否则,执行步骤,完成任务分解,输出子任务集合。
[0018] 其中,在所述管理任务树中,任务目标节点表示其所含子节点中的管理活动全部完成后的目标,所述管理任务树的第一层的目标节点表示管理功能目标,下层的目标节点表示子任务目标。
[0019] 其中,在步骤S2中,判断待分解任务可分解的标准为:任务树的根节点是目标节点。
[0020] 其中,在步骤S2中,初步分解任务支树包括步骤:
[0021] S2.1检索当前待分解任务中的每个二层节点,计算每个任务支树的任务复杂度Caj;
[0022] S2.2选取Caj≥Ca/qi的任务支树依次进行初步分解;
[0023] 其中,所述任务复杂度为分支字数所含的管理活动数,qi表示当前任务空间Γ(i)(T)中的子任务数,i表示第i次迭代分解,Ca表示管理任务总复杂度。
[0024] 其中,在步骤S4中,重建任务空间过程中,检验当前任务空间内的子任务集,使其满足:
[0025]
[0026] 其中,T为管理任务,Ti,j为任务空间Γ(i)(T)中第i层第j个子任务。
[0027] 其中,在步骤S5中,所述验证每个子任务的复杂度是否超出对应的工作代理的能力上限是指每个子任务的复杂度是否会造成对应的工作代理的当前负载超出其执行过程中的最大负载。
[0028] 其中,在步骤S6中,评估工作代理群组的负载是否平衡的方法进一步包括步骤:
[0029] S6.1计算当前多代理的负载,计算公式为:
[0030] Lr=λ1·L(WA1)+λ2·L(WA2)+…+λn·L(WAn),
[0031] 其中,Lr为所述多代理的负载,λ=λ1,λ2,…,λn为负载影响因子向量,表示工作代理WAi的负载对多代理的影响重要程度,n表示当前多代理系统中工作代理的数量,且有:
[0032]
[0033] S6.2计算多代理中各工作代理的负载平衡度,计算公式为:
[0034]
[0035] 其中,GT为所述负载平衡度,i为迭代次数,GT越小表示工作代理群组的负载平衡性越好,当GT=0时,工作代理群组的负载绝对平衡;
[0036] S6.3计算多代理的负载平均饱和度来表示多代理中工作代理群组的平均负载状况,计算公式为:
[0037] ηr=[α·L0+β·(Lr-L0)]/L0
[0038] ηr为所述负载平均饱和度,L0为多代理的初始负载,α、β由工作代理的最大负载以及初始负载L0的值确定,ηr等于1,表示多代理负载处于饱和状态;ηr小于1,表示多代理处于欠负载状态,不需增加新的工作代理;ηr大于1,表示多代理处于过负载状态,需要增加新的工作代理。
[0039] 本发明还提供了一种基于多代理协作的管理任务动态分解系统,该系统包括:粗分模块,用于以管理任务树形式描述管理任务,并按照管理功能对管理任务进行粗分,形成基于不同管理功能的任务子树集;初步分解模块,用于根据任务复杂度选取任务支树进行初步分解;验证模块,用于验证当前任务空间中的子任务数是否超过多代理系统允许的最大工作代理数;任务空间重建模块,用于重建任务空间,根据当前任务空间的子任务数量生成对应的工作代理群组,并根据子任务的管理功能赋予工作代理相应的管理角色;子任务独立性验证模块,用于验证每个子任务的复杂度是否超出对应的工作代理的能力上限;子任务平衡性验证模块,用于评估工作代理群组的负载是否平衡。
[0040] (三)有益效果
[0041] 本发明的方法及系统,在对被管对象干扰性较低的前提下可获取较高的执行效率,对执行子任务的多代理的复杂度要求较低,分解后子任务平衡性好,稳定性和资源利用率高。设置了多代理能力上限,该能力上限与被管对象所能容忍的多代理的资源消耗量相关。在任务分解的过程中将该能力上限作为一个重要的限定条件,使得分解所得子任务的执行过程对于被管对象的干扰较小。考虑到IT复杂应用的管理任务通常包含不同管理功能的管理活动,如不加区分的进行任务分解,最终所得某一子任务可能需要包含多种管理功能的单个代理来执行,这将使得多代理的结构复杂,同时所耗资源增大,调度效率也降低。本发明首先对管理任务按其内部的管理活动所属的管理功能进行粗分,使得最终所得子任务内的管理活动具有相同的管理功能,只需简单的具有单一功能的代理即可完成执行工作。在任务分解过程中,将子任务的负载平衡性也作为一个优化的目标,在每一步的分解过程中对负载平衡性进行定量的评价,选取负载偏离平衡最大的子任务进一步迭代分解。对于管理活动数量小于100的管理任务,本发明均可以维持最终子任务的平衡性。IT复杂应用的管理任务通常具有大量管理活动,但其间的依赖关系不强,主要表现出数量上的复杂度。本发明完成分解的所需迭代次数随任务复杂度(主要是数量上的复杂度)呈近似线性增大,且总体上以较少的迭代次数即可完成管理任务的分解,同时能够在复杂度较大的情况下兼顾平衡性。

附图说明

[0042] 图1为依照本发明一种实施方式的基于多代理协作的管理任务动态分解方法流程图;
[0043] 图2为依照本发明一种实施方式的基于多代理协作的管理任务动态分解方法中管理任务树示意图;
[0044] 图3(a)-图3(b)为实施例的基于多代理协作的管理任务动态分解方法模型;
[0045] 图4(a)为实施例的基于多代理协作的管理任务动态分解初始状态示意图;
[0046] 图4(b)为实施例的基于多代理协作的管理任务动态分解过程中按功能粗分示意图;
[0047] 图4(c)为实施例的基于多代理协作的管理任务动态分解过程中初步分解示意图;
[0048] 图4(d)为实施例的基于多代理协作的管理任务动态分解过程中按负载偏离度分解示意图。

具体实施方式

[0049] 对于本发明所提出的基于多代理协作的管理任务动态分解方法及系统,结合附图和实施例详细说明。
[0050] 本发明针对IT复杂应用的管理需求和管理任务的特点,提出了一种基于多代理协作的动态任务分解方法。本方法考虑到MA的能力限制,能够动态适应IT复杂应用管理任务由管理端策略、IT基础设施或业务逻辑改变而引起的变化。同时,本方法兼顾分解后子任务的平衡性,即执行子任务的MA的负载平衡性,能够有效的提高MA的执行效率和稳定性。
[0051] 如图1所示,依照本发明一种实施方式的基于多代理协作的管理任务动态分解方法,包括步骤:
[0052] S1.用如图2所示的管理任务树的形式来描述复杂管理任务,并按照管理功能对管理任务进行粗分,形成基于不同管理功能的任务子树集。
[0053] 其中,任务目标节点表示其所含子节点中的管理活动全部完成后的目标,并不表示实际的管理活动。管理任务树的第一层的目标节点用来表示管理功能目标,下层的目标节点表示子任务目标。管理任务的分解过程即是以子任务目标节点为信标,将合适粒度的管理活动集合分离形成子任务。对管理功能进行粗分,将具有不同管理功能的管理活动受限按照管理功能分解,使得最终分解所得的子任务内的管理活动的属于同一类管理功能,可有效的简化执行子任务的代理的复杂度,提高多代理生成和执行的效率。
[0054] 设T表示复杂管理任务,Tij表示任务分解过程中出现的第i层的第j个子任务。任务分解的过程中,每一步都需要在不违反任务分解原则的前提下,求解到负载平衡性最好的单步分解方案。其中,包括完整性的检验、任务独立性检验、以及负载平衡检验。从而得到子任务的执行效率和负载平衡性最好的分解结果。
[0055] S2.判断待分解任务是否可分解,若是,则根据任务复杂度选取任务支树进行初步分解,否则,结束任务分解。
[0056] 任务分解开始前,首先按照管理活动所具有的管理功能进行粗分解,形成基于不同管理功能的任务子树集。随后,判断待分解任务是否可分解,即其任务树的根节点是否是目标节点:若不可分,则结束任务分解,否则,将任务树中复杂因子高于平均复杂因子的任务支树分离。
[0057] 分离支树的步骤包括:
[0058] S2.1首先检索当前待分解任务中的每个二层节点,计算每个任务支树所含的管理活动数,即任务复杂度Caj;
[0059] S2.2选取Caj≥Ca/qi的任务支树依次分离,其中qi表示当前任务空间Γ(i)(T)中的子任务数,i表示第i次迭代分解,Ca表示管理任务总复杂度。
[0060] S3.验证当前任务空间中的子任务数是否超过多代理系统(Multi-Agent System,MAS)允许的(执行任务的)最大工作代理(Worker Agent,WA)数nmax,若不超过,则继续执行步骤S4,否则,将子任务中Caj复杂度从小到大依次排列的qi-nmax个子任务聚合。
[0061] S4.重建任务空间,根据当前任务空间的子任务数量生成对应的工作任务群组,并根据子任务的管理功能赋予工作代理相应的管理角色。
[0062] 经步骤S2分解后的任务空间是一系列任务子树(即子任务)的集合。重建过程(i)中,需确保本级任务分解中的子任务完整,即检验当前任务空间Γ (T)内的子任务集满足:
[0063]
[0064] 其中,T为管理任务,Ti,j为任务空间Γ(i)(T)中第i层第j个子任务。
[0065] 领袖代理(Leader Agent,LA)根据当前任务空间Γ(i)(T)的子任务的数量生成对应的WA群组,并根据子任务的管理功能赋予WA相应的管理角色。
[0066] S5.验证每个子任务的复杂度是否超出对应的工作代理的能力上限,若超出,则返回步骤S2,将超出能力上限的子任务迭代分解,否则,继续执行步骤S6。
[0067] 依次验证分解所得子任务是否都可以在对应WA的能力范围内完成,即依次验证当前任务空间中的各子任务是否会造成对应的WA的当前负载 超出代理所能执行的最大任务数,即代理执行过程中的最大负载(Maximum Task Number,MT)。若不超出则转步骤S6,否则选取超出WA能力的子任务返回步骤S2迭代分解。
[0068] 考虑最终执行分解后子任务的多代理的能力限制,根据被管对象的资源特点设置执行子任务的多代理的能力上限(通常为最大WA数量),当超出该上限时,执行任务的多代理对被管对象运行时性能的干扰将变得明显。本发明在分解过程中,追求尽可能高的子任务执行效率的同时兼顾到执行子任务的多代理不超出其能力上限,可使得被管对象尽可能小的受到管理活动的干扰。
[0069] S6.评估工作代理群组的负载是否平衡,若不平衡,则返回步骤S2,选取负载偏离平衡值最大的子任务进行迭代分解,否则,执行步骤,完成任务分解,输出子任务集合。
[0070] WA群组负载平衡性检验是本分解方法的重要步骤。在一次任务分解完成后分别对(i)任务分解空间Γ (T)的子任务Ti,j进行平衡性的评估,即执行Ti,j的WAj负载。定义负载影响因子向量λ=(λ1,λ2,…,λn)(其中n表示当前多代理系统中工作代理的数量)来表示WAj的负载对MA的影响重要程度,其中:
[0071]
[0072] 则MA的负载可表示为式(1)的形式:
[0073] LT=λ1·L(WA1)+λ2·L(WA2)+…+λn·L(WAn) (1)
[0074] 随后,根据式(1)计算所得的当前MA负载 考察负载平衡性,其中i表示当前第i次迭代分解后的MA负载。首先,定义一个负载平衡系数,表示MA中各WA的负载的平衡度,记为GT,如式(2)所示:
[0075]
[0076] 其中GT越小,则表示WA群组的负载平衡性越好,当GT=0时,则WA群组中的负载绝对平均。
[0077] 随后,定义一个MA负载平均饱和度,表示MA中WA群组的平均负载状况,记为ηT,如式(3)所示:
[0078] ηT=[α·L0+β·(LT-L0)]/L0 (3)
[0079] 其中,L0是MA的初始负载,α,β是由WA的最大负载MT以及初始负载L0的值确定。若ηT等于1,则说明MA的负载处于饱和状态;若ηT小于1,则说明系统处于欠负载状态,目前无需增加新的WA;若ηT大于1,则说明MA处于过负载状态,需要增加新的WA,否则WA的执行效率U将会开始下降。
[0080] 考虑到分解后子任务的平衡性,即执行子任务的多代理的负载平衡性,在分解流程中设计了子任务的平衡性判定方法,并将平衡性作为任务分解的一个目标,使得最终所得的子任务集能够兼顾执行效率和负载平衡性,确保执行子任务的MA的稳定性,也使得MA所占有的有限的被管对象资源能够得到充分和合理的利用。
[0081] 任务分解完成,输出结果是可由MA中单一WA执行的子任务集合。
[0082] 本发明还提供了一种基于多代理协作的管理任务动态分解系统,该系统包括:粗分模块,用于以管理任务树形式描述管理任务,并按照管理功能对管理任务进行粗分,形成基于不同管理功能的任务子树集;初步分解模块,用于根据任务复杂度选取任务支树进行初步分解;验证模块,用于验证当前任务空间中的子任务数是否超过多代理系统允许的最大工作代理数;任务空间重建模块,用于重建任务空间,根据当前任务空间的子任务数量生成对应的工作代理群组,并根据子任务的管理功能赋予工作代理相应的管理角色;子任务独立性验证模块,用于验证每个子任务的复杂度是否超出对应的工作代理的能力上限;子任务平衡性验证模块,用于评估工作代理群组的负载是否平衡。
[0083] 下面以一个实际IT系统中的某一IT应用为具体实施例来进一步本发明的任务分解方法。该应用是典型的web应用,如办公自动化(Office Automation,OA)、论坛等,硬件上主要由web应用服务器、数据库服务器、交换机和路由器组成,软件上主要由Oracle、Apache等组成,如图3中的被管网元层所示。
[0084] 用于执行管理任务的多代理是运行在被管对象上的,这里在逻辑上形成一个多代理层。网管服务器(NMS)端对管理任务进行分解,随后与多代理中的LA通信,按照分解所得的子任务,由LA生成实际执行子任务的WA。
[0085] 图3基为于MA协作的IT应用管理模型。管理任务的基本参数这里做如下假设:
[0086] (1)任务复杂性因子ct中仅考虑由管理活动数量引起的复杂性因子,实例中的管理活动数设为30;
[0087] (2)单一管理活动执行时间为10ms,MA中允许最大WA数nmax=10,单一WA的最大负载MT=5(最多接受5个管理活动的负载量);
[0088] (3)MA的负载影响因子向量λ=(λ1,λ2,…,λn)中,设λ1=λ2=…=λn,为使实例结果较明显,便于比较,假设MA的初始负载较高,设初始负载L0=0.5(即2.5个管理活动的负载量),实际系统中通常初始负载L0都相对较低。同时设η0=0,由公式(3)可得到平衡影响因子α、β取值:α=β=1/2。
[0089] 图4为本实施例中任务分解过程示意图,斜条纹所示的子任务表示当前迭代次数分解所得的子任务,即需要由多代理中单一的执行子任务的工作代理(WA)完成的任务。其具体的详细分解步骤如下:
[0090] S101按照管理功能粗分,这里管理任务包含:性能、配置和故障三种管理功能,如图4(a)所示。
[0091] S102初步分解。计算每个分支子树所含的管理活动数,即任务复杂度Caj。随后,选取Caj≥Ca/qi的支树依次分离。如图4(b)所示,粗分后得q1=7,Ca2=5,可知Ca2≥Ca/q1,故将子任务T1,2进行初步分解。
[0092] S103验证当前子任务数qi是否超过MAS允许的最大WA数nmax,对于第一次迭代q1=7,没有超出nmax。
[0093] S104评价每个子任务的复杂度Caj是否超出WA的能力上限,将超出能力上限的子任务迭代分解。
[0094] S105评价WA群的负载平衡性,选取负载偏离平衡值最大的子任务迭代分解,如图4(d)中选取T1,4进一步分解。
[0095] S106经多次迭代后,任务分解完成。
[0096] 以上过程展示了基于多代理协作的IT应用管理任务分解的全过程。此过程完全可以应用到大型IT系统的复杂IT应用中,对其管理任务进行分解,可获得兼顾执行效率和稳定性的分解结果。
[0097] 以上实施方式仅用于说明本发明,而并非对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。