一种资源负载均衡方法以及企业资源计划设备的制作方法

文档序号:6600096阅读:198来源:国知局
专利名称:一种资源负载均衡方法以及企业资源计划设备的制作方法
技术领域
本发明涉及计算机领域,尤其涉及一种资源负载均衡方法以及企业资源计划设备。
背景技术
企业资源计划(Enterprise Resource Planning, ERP)系统是一种建立在计算 机信息技术之上,以系统化的管理思想为指导,为企业及各级员工提供各类决策运行手段 的企业管理平台。目前ERP在大规模分布式计算机系统模型下,实现对逻辑数据资源的负 载均衡的方案有基于神经网络的全局动态物理负载均衡算法,动态局部物理分布的次优算 法,全局动态负载均衡算法,这些方案都是针对分布式资源的复制与扩散问题,另外还有一 种综合考虑文件复制、文件迁移和进程迁移的负载均衡算法,但复杂度较高,无法适用于动 态的实时环境。在实际的ERP系统网络环境中,主机的端系统状况(包括中央处理器、存储 器、输入输出等性能)和网络链接性能以及业务数据的变化都会对系统承载能力产生显著 影响,目前仍没有一种有效方案可以实现系统资源耗费最小化。

发明内容
鉴于现有技术存在的技术问题,本发明实施例提出一种资源负载均衡方法以及企 业资源计划设备,可对整个网络进行实时拓扑控制,寻找后备网络节点,从而对节点上的分 布式资源进行负载调优,以使网络总体耗费达到近似最小化。为了解决上述技术问题,本发明实施例提出一种资源负载均衡方法,包括在模拟退火的当前温度下获取本地节点的当前度约束生成树,以及所述新生成树 中各节点度约束值以及各节点之间的延时关系;对所述本地节点的当前度约束生成树进行邻域变换操作,所述邻域变换操作随机 抽取所述当前度约束生成树的两个节点进行置换,生成新度约束生成树,并调整所述新生 成树中各节点度约束值以及各节点之间的延时关系;根据所述当前度约束生成树和所述新度约束生成树中各节点度约束值以及各节 点之间的延时关系,获取所述新度约束生成树的目标函数值与所述当前度约束生成树的目 标函数值之间的差值;当所述差值符合预设的度约束生成树接受条件时,将所述新度约束生成树作为当 前度约束生成树;降低当前温度,并判断当前温度是否达到模拟退火的终止温度,当所述当前温度 未达到模拟退火的终止温度时,执行所述对当前度约束生成树进行邻域变换操作步骤,当 所述当前温度达到模拟退火的终止温度时,将所述当前度约束生成树作为所述本地节点的 近似最优度约束生成树;将所述本地节点中符合预设迁移条件的资源迁移到所述近似最优度约束生成树 中本地节点的邻居节点处。
相应地,本发明实施例还提出一种企业资源计划设备,包括度约束生成树获取模块,用于在模拟退火的当前温度下获取本地节点的当前度约 束生成树,以及所述新生成树中各节点度约束值以及各节点之间的延时关系;邻域变换模块,用于对所述度约束生成树获取模块获取的当前度约束生成树进行 邻域变换操作,所述邻域变换操作随机抽取所述当前度约束生成树的两个节点进行置换, 生成新度约束生成树,并调整所述新度约束生成树中各节点度约束值以及各节点之间的延 时关系;目标函数差值获取模块,根据所述当前度约束生成树和所述邻域变换模块生成的 新度约束生成树中各节点度约束值以及各节点之间的延时关系,获取所述新度约束生成树 的目标函数值与所述当前度约束生成树的目标函数值之间的差值;替换模块,用于当所述目标函数差值获取模块获取的差值符合预设的度约束生成 树接受条件时,将所述新度约束生成树作为当前度约束生成树;判断模块,降低当前温度,并判断当前温度是否达到模拟退火的终止温度,当所述 当前温度未达到模拟退火的终止温度时,指示所述邻域变换模块执行所述对所述当前度约 束生成树进行邻域变换操作步骤,当所述当前温度达到模拟退火的终止温度时,将所述当 前度约束生成树作为所述本地节点的近似最优度约束生成树;资源迁移模块,用于将所述本地节点中符合预设迁移条件的资源迁移到所述判断 模块确定的近似最优度约束生成树中本地节点的邻居节点处。实施本发明实施例,通过对本地节点的当前度约束生成树进行邻域变换操作,生 成新度约束生成树,获取所述当前度约束生成树的目标函数值与所述新度约束生成树的目 标函数值之间的差值,当所述差值符合预设的度约束生成树接受条件时,将所述当前度约 束生成树替换为所述新度约束生成树,通过降低当前温度,并判断当前温度是否达到模拟 退火的终止温度,迭代执行上述过程,最终生成近似最优度约束生成树,从而可对整个网络 进行实时拓扑控制,寻找后备网络节点;在近似最优度约束生成树的拓扑结构中实施分布 式资源负载调优,从而基于模拟退火过程实现使网络总体耗费达到近似最小化。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本 发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可 以根据这些附图获得其他的附图。图1是本发明实施例中资源负载均衡方法的流程图;图2是本地节点的覆盖域的图形化描述示意图;图3是初始化生成的度约束生成树的示意图;图4是对图3的度约束生成树进行邻域变换操作后生成的新度约束生成树的示意 图;图5是本发明实施例中企业资源计划设备的原理图;图6是本发明实施例的资源负载均衡方法中节点利用率随启发因子取值变化的 仿真实验示意图7是本发明实施例的资源负载均衡方法中瓶颈节点利用率随启发因子取值变 化的仿真实验示意图;图8是本发明实施例的资源负载均衡方法中平均资源使用率随节点数变化的仿 真示意图。
具体实施例方式本发明实施例提出一种资源负载均衡方法以及企业资源计划设备,可对整个网络 进行实时拓扑控制,寻找后备网络节点,从而对节点上的分布式资源进行负载调优,以使网 络总体耗费达到近似最小化。图1是本发明实施例中资源负载均衡方法的流程图,本发明实施例中资源负载均 衡方法包括步骤101,初始化度约束生成树;此处,具体实施时,步骤101包括以下子步骤步骤1011,遍历本地节点的覆盖域中的节点;此处,定义本地节点v的覆盖域的节点集为V(v) = {u/w(u, v) ( t_},据此将v 的本地覆盖域表示为 G (v) = (V (v),E (v)),且G(v) ^ G ,V(v) c V ,E(v) g 五,其中 G = (V, E)来表示ERP系统网络。其中,V是顶点集合,表示系统中的网络节点,五gFxr是边集合, 表示网络节点之间的链路,t_节点单跳路由的延时阈值,所有单跳延时小于t_的节点均 可纳入局部拓扑控制范围,定义边e(u,v)的权值为w(u,v) GR+,表示生成树 上相邻节点u和v之间的通信延时。以本地节点v的覆盖域的节点集为V(v) = {v, a, b, c,d},其图形化描述如图2所示,图2中圆形范围内的节点都是本地节点v的覆盖域的节 点,圆形的半径为tmax。遍历本地节点的覆盖域中的节点时,逐一选取本地节点v的覆盖域 的节点,例如首先选取本地节点a,再选取节点b等等。步骤1012,每当遍历到所述本地节点的覆盖域中的一个节点时,随机选取度约束 生成树中的一个节点;此处,初始时首先在度约束生成树中加入本地节点V,使约束生成树中初始时可以 存在供随机选择的节点。步骤1013,当随机选取的度约束生成树的节点的剩余度满足预设的度约束数值 时,将所述随机选取的度约束生成树的节点作为所述本地节点覆盖域中遍历到的节点的邻 居节点,并将所述本地节点覆盖域中遍历到的节点加入所述度约束生成树中。此处,VveF,定义本地节点v的度最大值为d_(v) G N,表示节点的系统性能最 大值,是包括中央处理器、存储器、网络带宽等指标在内的抽象表示,文假定每一条网络链 接耗费等量的系统资源,其度值均为1。Vveh定义本地节点v的使用度为dused(v) G N, 表示节点上已经被使用的资源量,包括现有的网络链接数与节点上各种应用所占用的资源 量之和。定义本地节点v的剩余度为drest(V) = 1,表示节点上剩余的资源量,即该 节点仍可接纳的网络链接数。显然,drest(v) = dfflax(v)-dused(v)0例如,预设的度约束数值为drest(v) ≥ 1,初始时在本地节点v的覆盖域遍历选中 的节点为a,在度约束生成树中随机选取的节点本地节点v(由于初始时度约束生成树中只 存在本地节点V,因此度约束生成树中随机选取的节点只能为本地节点v),假设其当前剩余的资源量drest(v) = 3,则将节点a作为本地节点v的邻居节点加入度约束生成树中,本 地节点v的当前剩余的资源量减1。又例如,之后在本地节点v的覆盖域遍历选中的节点 为b,在度约束生成树中随机选取的节点本地节点v(此时度约束生成树中存在本地节点v 和节点a,假设随机选取的节点再一次为本地节点V),其当前剩余的资源量d_t(V) = 2,则 将节点b作为本地节点v的邻居节点加入度约束生成树中,本地节点v的当前剩余的资源 量减1,如此类推,重复此过程直到本地节点v的覆盖域的节点集V(v)中的所有节点均加 入度约束生成树,或者由于度约束条件不能满足而结束。值得关注的是,由于每次迭代都是 从度约束生成树中随机选择节点来判断度约束,那么可能出现无法满足条件的情况。此时 首先将该随机节点从原集合中排除以生成新集合,其次在该新集合中重新选择元素并作判 断。初始化生成的度约束生成树的一个实例可以参看图3。需要说明的是,步骤101并非本实施例的必要步骤,当度约束生成树已经初始化 后,本实施例可以从步骤102开始执行。步骤102,在模拟退火的当前温度下获取本地节点的当前度约束生成树,以及所述 新生成树中各节点度约束值以及各节点之间的延时关系;此处,假设当前度约束生成树即为步骤101中初始化生成的度约束生成树,该度 约束生成树,其本地节点v的覆盖域中各节点的度约束值情况以及节点间的网络延时情况 分别如表1和表2所示 表 1 表2步骤103,对所述本地节点的当前度约束生成树进行邻域变换操作,所述邻域变换 操作随机抽取所述当前度约束生成树的两个节点进行置换,生成新度约束生成树,并调整 所述新生成树中各节点度约束值以及各节点之间的延时关系;此处,现假设对步骤102中本地节点v的当前度约束生成树进行邻域变换操作时, 在当前度约束生成树随机抽取的两个节点为本地节点v和节点b,此时将本地节点v和节 点b的位置互换,生成新度约束生成树,该新度约束生成树的图形化描述可以参看图4,该 新度约束生成树中节点间的网络延时情况仍然如表1所示,而各节点的度约束情况如表4 所示 表 4步骤104,根据所述当前度约束生成树和所述新度约束生成树中各节点度约束值 以及各节点之间的延时关系,获取所述新度约束生成树的目标函数值与所述当前度约束生 成树的目标函数值之间的差值;此处,具体实施时,步骤104包括以下子步骤步骤1041,根据预设的目标函数分别生成所述当前度约束生成树的目标函数值与 所述新度约束生成树的目标函数值;此处,目标函数具体为 其中,T(v)表示节点覆盖域中的度约束生成树,H(v)表示度约束生成树的节点集 合,当S(T(v))取最小值时,认为本地节点v的本地覆盖域的拓扑结构达到最优。Xij为节 点链接状况的列向量X,其表达式为
其中i、j为相邻的节点;YiJ的表达式为 其中cUd为节点的使用度,d_为节点的度最大值,w(i, j)为节点i和节点j的 网络延时,t_为节点单跳路由的延时阈值,a和0为启发因子。yij的表达式是一种综合考虑节点资源耗费与网络通信延时的带有启发式权值参数的表达式,其中,乘号左半部分 因子表示系统资源使用率,右半部分因子表示事件响应延时率,a和0为启发因子,其值 为0到1之间的正实数。通过调节启发因子的取值,可综合考虑资源约束与速率约束在算 法中所占的权重,并进行有效折衷。 现在假设a和0的值均为0. 5,t_为10,对于如图2所示的当前度约束生成树 (此处记为T(v)),其目标函数值的计算过程为 2.51步骤1042,获取所述新度约束生成树的目标函数值与所述当前度约束生成树的目 标函数值之间的差值。此处,依照上述例子,所述新度约束生成树与所述当前度约束生成树的目标函数 值的目标函数值之间的差值AS = S(T(v)' )-S(T(v)) = 2.51-2.58 =-0.07。步骤105,当所述差值符合预设的度约束生成树接受条件时,将所述新度约束生成 树作为当前度约束生成树;此处,预设的度约束生成树接受条件具体实施时可以是当差值AS为负实数时, 即所述新度约束生成树的目标函数值小于所述当前度约束生成树的目标函数值时,接受所 述新度约束生成树,并将所述新度约束生成树作为当前度约束生成树,例如将上述例子中 新度约束生成树T(v)'作为当前度约束生成树。反之,则以一定的概率接受所述新度约束生成树,此处采用Metropolis准则来决定一个新度约束生成树是被接受还是被舍弃,从而 保证能够在合理的时间范围内得出问题的近似最优度约束生成树,对于一个新度约束生成 树,其被接受的概率为 其中,tk为当前温度。具体实施时,可以当炅— Xv)’)大于某个随机数(如0 到1之间的随机数)时,才接受新度约束生成树,并将所述新度约束生成树作为当前度约束 生成树。步骤106,降低当前温度,并判断当前温度是否达到模拟退火的终止温度,当所述 当前温度未达到模拟退火的终止温度时,执行所述对当前度约束生成树进行邻域变换操作 步骤,当所述当前温度达到模拟退火的终止温度时,将所述当前度约束生成树作为所述本 地节点的近似最优度约束生成树;此处,预设的度约束生成树接受条件具体实施时涉及冷却进度表,冷却进度表中 控制参数的选择是否合适对模拟退火算法的性能优劣有着重要影响。这些参数主要包括模 拟退火的初始温度、、模拟退火的终止温度t6、温度衰减函数、Mapkob链长度Lk以及新度约 束生成树重复拒绝次数Rk。初始温度、的设置是影响算法全局搜索性能的重要因素之一 初始温度高,则搜索到全局最优度约束生成树的可能性大,但要花费大量的计算时间,加重 节点的计算负担;反之,则可节约计算时间,但全局搜索性能可能受到影响,从而使最终度 约束生成树的质量恶化。因此在实际应用中,一般需要依据折衷原则通过反复试验的方法 获得合适的、。终止温度t6对应于固体退火过程中的临界点温度,其值既可通过预设阈值 来规定,也可通过预设降温次数来控制。Mapkob链长度Lk对应每个温度下的迭代次数,通 常与问题规模成正比。只有在同一温度下较充分地退火,才能更好地保证算法的全局搜索 性能。新度约束生成树重复拒绝次数Rk与、同为搜索最优度约束生成树终止条件,表示若 在某一温度下连续Rk个新约束生成树都没有被接受,则搜索终止。温度衰减函数反映了当 前温度的降温方式,考虑到诸如计算复杂度之类的可行性问题,在实际应用中常采用如下 定义形式 此处为避免淬火效应带来的最终劣质解,\的取值应能够使降温过程缓慢进行。此处,按照温度衰减函数对当前温度tk进行衰减,并判断当前温度是否达到模拟 退火的终止温度t6,当所述当前温度tk未达到模拟退火的终止温度t6时,返回执行步骤 103,当所述当前温度tk达到模拟退火的终止温度te时,结束搜索最优度约束生成树,将当 前度约束生成树作为本地节点的近似最优度约束生成树,通过以上模拟退火过程,本地节 点的覆盖域结构可迭代收敛于度约束最小生成树,进而使整个系统网络的拓扑逼近全局最 优度约束生成树。步骤107,将所述本地节点中符合预设迁移条件的资源迁移到所述近似最优度约 束生成树中本地节点的邻居节点处。此处,具体实施时,采用基于事件与消息的驱动方式执行负载均衡操作,当本地资 源使用情况需要均衡或者其他特定事件发生时,本地节点向其邻居发送请求消息,触发负载均衡操作,将符合条件的资源迁移到邻居节点。步骤107包括以下子步骤步骤1071,获取所述本地节点的邻居节点队列中位于队列头的邻居节点;此处,具体实施时,采用维护邻居队列的方法选择协同节点。设本地节点v中的邻 居队列为Q(v),其元素为当前度约束生成树T(v)中资源使用率在规定阈值以下的节点随 机序列,另外,本地节点v中需要迁移出的资源表示为dusral(V)‘。步骤1072,将所述本地节点中符合预设迁移条件的资源迁移到所述邻居节点中;此处,具体实施时,假设本地节点v本地节点v中的邻居队列为Q(v)中位于队列 头的邻居节点为节点a,则在符合预设迁移条件的资源迁移时,d_d(V) ’减1,而dusral(a)加 1,执行上述操作后,本地节点v中需要迁移出的资源即迁移到节点a中。步骤1073,判断所述邻居节点重载的比例值是否已达到预设的比例值;此处,邻居节点重载的比例值定义为R = cUd(V)/dmax(V),即为节点资源的使用 率。步骤1074,当所述邻居节点重载的比例值已达到预设的比例值时,将所述邻居节 点从所述邻居节点队列中移除;此处,具体实施时,假设预设的比例值为A,则当R > A时,将所述邻居节点从所述 邻居节点队列中移除,例如,将上述例子中的节点a从邻居队列为Q(v)中移除。步骤1075,当所述邻居节点重载的比例值未达到预设的比例值时,将所述邻居节 点移动到所述邻居节点队列的队列尾。此处,具体实施时,依照上述例子,当R < A时,将所述邻居节点移动到所述邻居节 点队列中尾部,例如,将上述例子中的节点a移动到邻居队列为Q(v)的尾部。图5是本发明实施例中企业资源计划设备的原理图,本发明实施例中企业资源计 划设备包括初始化模块21,用于初始化度约束生成树;此处,初始化模块21具体实施时包括遍历单元211,用于遍历本地节点的覆盖域中的节点;此处,定义本地节点v的覆盖域的节点集为V(v) = {u/w(u, v) ( t_},据此将v 的本地覆盖域表示为 G (v) = (V (v),E (v)),RG(v) c G ,V(v) c V ,E(v) g 五,其中 G = (V,E) 来表示ERP系统网络。其中,V是顶点集合,表示系统中的网络节点,EC KxF是边集合,表 示网络节点之间的链路,t_节点单跳路由的延时阈值,所有单跳延时小于t_的节点均可 纳入局部拓扑控制范围,五,定义边e(u,v)的权值为w(u,v) GR+,表示生成树上 相邻节点u和v之间的通信延时。以本地节点v的覆盖域的节点集为V(v) = {v, a, b,c, d},其图形化描述如图2所示,图2中圆形范围内的节点都是本地节点v的覆盖域的节点, 圆形的半径为t_。遍历本地节点的覆盖域中的节点时,逐一选取本地节点v的覆盖域的节 点,例如首先选取本地节点a,再选取节点b等等。节点选取单元212,用于每当所述遍历单元211遍历到所述本地节点的覆盖域中 的一个节点时,随机选取度约束生成树中的一个节点;此处,初始时首先在度约束生成树中加入本地节点V,使约束生成树中初始时可以 存在供随机选择的节点。节点添加单元213,用于当所述节点选取单元212随机选取的度约束生成树的节点的剩余度满足预设的度约束数值时,将所述随机选取的度约束生成树的节点作为所述遍 历单元211遍历到的节点的邻居节点,并将所述遍历单元211遍历到的节点加入所述度约 束生成树。此处,VveF ,定义本地节点v的度最大值为dmax(V) G N,表示节点的系统性能最 大值,是包括中央处理器、存储器、网络带宽等指标在内的抽象表示,文假定每一条网络链 接耗费等量的系统资源,其度值均为1。VveF,定义本地节点v的使用度为cUd(v) G N, 表示节点上已经被使用的资源量,包括现有的网络链接数与节点上各种应用所占用的资源 量之和。VveF,定义本地节点v的剩余度为d_t(V) = 1,表示节点上剩余的资源量,即该 节点仍可接纳的网络链接数。显然,drest(v) = dfflax(v)-dused(v)0例如,预设的度约束数值为drest(v) ^ 1,初始时在本地节点v的覆盖域遍历选中 的节点为a,在度约束生成树中随机选取的节点本地节点v(由于初始时度约束生成树中只 存在本地节点V,因此度约束生成树中随机选取的节点只能为本地节点v),假设其当前剩 余的资源量drest(v) = 3,则将节点a作为本地节点v的邻居节点加入度约束生成树中,本 地节点v的当前剩余的资源量减1。又例如,之后在本地节点v的覆盖域遍历选中的节点 为b,在度约束生成树中随机选取的节点本地节点v(此时度约束生成树中存在本地节点v 和节点a,假设随机选取的节点再一次为本地节点V),其当前剩余的资源量d_t(V) = 2,则 将节点b作为本地节点v的邻居节点加入度约束生成树中,本地节点v的当前剩余的资源 量减1,如此类推,重复此过程直到本地节点v的覆盖域的节点集V(v)中的所有节点均加 入度约束生成树,或者由于度约束条件不能满足而结束。值得关注的是,由于每次迭代都是 从度约束生成树中随机选择节点来判断度约束,那么可能出现无法满足条件的情况。此时 首先将该随机节点从原集合中排除以生成新集合,其次在该新集合中重新选择元素并作判 断。初始化生成的度约束生成树的一个实例可以参看图3。度约束生成树获取模块22,用于在模拟退火的当前温度下获取本地节点的当前度 约束生成树,以及所述新生成树中各节点度约束值以及各节点之间的延时关系;此处,假设当前度约束生成树即为初始化模块21中初始化生成的度约束生成树, 该度约束生成树,其本地节点v的覆盖域中各节点的度约束情况以及节点间的网络延时情 况分别如表1和表2所示。邻域变换模块23,用于对本地节点的当前度约束生成树进行邻域变换操作,所述 邻域变换操作随机抽取所述当前度约束生成树的两个节点进行置换,生成新度约束生成 树,并调整所述新生成树中各节点度约束值以及各节点之间的延时关系;此处,现假设对本地节点的当前度约束生成树进行邻域变换操作时,在当前度约 束生成树随机抽取的两个节点为本地节点V和节点b,此时将本地节点v和节点b的位置互 换,生成新度约束生成树,该新度约束生成树的图形化描述可以参看图4,该新度约束生成 树中各节点的度约束情况如表4所示。目标函数差值获取模块24,根据所述当前度约束生成树和所述邻域变换模块23 生成的新度约束生成树中各节点度约束值以及各节点之间的延时关系,获取所述新度约束 生成树的目标函数值与所述当前度约束生成树的目标函数值之间的差值;此处,目标函数差值获取模块24具体实施时包括目标函数值生成单元241,用于根据预设的目标函数分别生成所述当前度约束生成树的目标函数值与所述新度约束生成树的目标函数值;此处,目标函数具体为 其中,T(v)表示节点覆盖域中的度约束生成树,H(v)表示度约束生成树的节点集 合,当S(T(v))取最小值时,认为本地节点v的本地覆盖域的拓扑结构达到最优。Xij为节 点链接状况的列向量X,其表达式为
其中i、j为相邻的节点;yij的表达式为 其中d_d为节点的使用度,d_为节点的度最大值,w(i, j)为节点i和节点j的 网络延时,t_为节点单跳路由的延时阈值,a和0为启发因子。yij的表达式是一种综合 考虑节点资源耗费与网络通信延时的带有启发式权值参数的表达式,其中,乘号左半部分 因子表示系统资源使用率,右半部分因子表示事件响应延时率,a和0为启发因子,其值 为0到1之间的正实数。通过调节启发因子的取值,可综合考虑资源约束与速率约束在算 法中所占的权重,并进行有效折衷。现在假设a和0的值均为0. 5,t_为10,对于如图2所示的当前度约束生成树 (此处记为T(v)),其目标函数值的计算过程为 ≈2.58对于如图3所示的新度约束生成树(此处记为T(v)'),其目标函数值的计算过 程为 ≈ 2.51目标函数差值生成单元242,用于获取所述目标函数值生成模块生成的当前度约 束生成树的目标函数值与新度约束生成树的目标函数值之间的差值。此处,依照上述例子,所述新度约束生成树与所述当前度约束生成树的目标函数 值的目标函数值之间的差值AS = S(T(v)' )-S(T(v)) = 2.51-2.58 =-0.07。替换模块25,用于当所述目标函数差值获取模块24获取的差值符合预设的度约 束生成树接受条件时,将所述新度约束生成树作为当前度约束生成树;此处,预设的度约束生成树接受条件具体实施时可以是当差值AS为负实数时, 即所述新度约束生成树的目标函数值小于所述当前度约束生成树的目标函数值时,接受所 述新度约束生成树,并将所述新度约束生成树作为当前度约束生成树,例如将上述例子中 新度约束生成树T(v)'作为当前度约束生成树。反之,则以一定的概率接受所述新度约束 生成树,此处采用Metropolis准则来决定一个新度约束生成树是被接受还是被舍弃,从而 保证能够在合理的时间范围内得出问题的近似最优度约束生成树,对于一个新度约束生成 树,其被接受的概率为 其中,tk为当前温度。具体实施时,可以当尺(八V) —:r(v)’)大于某个随机数(如0 到1之间的随机数)时,才接受新度约束生成树,并将所述新度约束生成树作为当前度约束 生成树。判断模块26,降低当前温度,并判断当前温度是否达到模拟退火的终止温度,当所 述当前温度未达到模拟退火的终止温度时,指示所述邻域变换模块23执行所述对当前度 约束生成树进行邻域变换操作步骤,当所述当前温度达到模拟退火的终止温度时,将所述 当前度约束生成树作为所述本地节点的近似最优度约束生成树;此处,预设的度约束生成树接受条件具体实施时涉及冷却进度表,冷却进度表中 控制参数的选择是否合适对模拟退火算法的性能优劣有着重要影响。这些参数主要包括模 拟退火的初始温度小模拟退火的终止温度t6、温度衰减函数、Mapkob链长度Lk以及新度约 束生成树重复拒绝次数Rk。初始温度、的设置是影响算法全局搜索性能的重要因素之一 初始温度高,则搜索到全局最优度约束生成树的可能性大,但要花费大量的计算时间,加重 节点的计算负担;反之,则可节约计算时间,但全局搜索性能可能受到影响,从而使最终度 约束生成树的质量恶化。因此在实际应用中,一般需要依据折衷原则通过反复试验的方法 获得合适的、。终止温度t6对应于固体退火过程中的临界点温度,其值既可通过预设阈值 来规定,也可通过预设降温次数来控制。Mapkob链长度Lk对应每个温度下的迭代次数,通 常与问题规模成正比。只有在同一温度下较充分地退火,才能更好地保证算法的全局搜索 性能。新度约束生成树重复拒绝次数Rk与、同为搜索最优度约束生成树终止条件,表示若在某一温度下连续Rk个新约束生成树都没有被接受,则搜索终止。温度衰减函数反映了当 前温度的降温方式,考虑到诸如计算复杂度之类的可行性问题,在实际应用中常采用如下 定义形式tk =入‘tk_!, k > 0,入 G
此处为避免淬火效应带来的最终劣质解,\的取值应能够使降温过程缓慢进行。此处,按照温度衰减函数对当前温度tk进行衰减,并判断当前温度是否达到模拟 退火的终止温度%,当所述当前温度tk未达到模拟退火的终止温度、时,返回邻域变换模 块23,当所述当前温度tk达到模拟退火的终止温度、时,结束搜索最优度约束生成树,将 当前度约束生成树作为本地节点的近似最优度约束生成树,通过以上模拟退火过程,本地 节点的覆盖域结构可迭代收敛于度约束最小生成树,进而使整个系统网络的拓扑逼近全局 最优度约束生成树。资源迁移模块27,用于将所述本地节点中符合预设迁移条件的资源迁移到所述判 断模块27确定的近似最优度约束生成树中本地节点的邻居节点处。此处,此处,具体实施时,采用基于事件与消息的驱动方式执行负载均衡操作,当 本地资源使用情况需要均衡或者其他特定事件发生时,本地节点向其邻居发送请求消息, 触发负载均衡操作,将符合条件的资源迁移到邻居节点。资源迁移模块27具体实施包括获取单元271,用于获取所述本地节点的邻居节点队列中位于队列头的邻居节占.此处,具体实施时,采用维护邻居队列的方法选择协同节点。设本地节点v中的邻 居队列为Q(v),其元素为当前度约束生成树T(v)中资源使用率在规定阈值以下的节点随 机序列,另外,本地节点v中需要迁移出的资源表示为dusral(V)‘。迁移单元272,用于将所述本地节点中符合预设迁移条件的资源迁移到所述获取 单元271获取的邻居节点中;此处,具体实施时,假设本地节点v本地节点v中的邻居队列为Q(v)中位于队列 头的邻居节点为节点a,则在符合预设迁移条件的资源迁移时,d_d(V) ’减1,而dusral(a)加 1,执行上述操作后,本地节点v中需要迁移出的资源即迁移到节点a中。判断单元273,用于所述迁移单元272迁移资源后,判断所述邻居节点重载的比例 值是否已达到预设的比例值;此处,邻居节点重载的比例值定义为R = dused(V)/dmax(V),即为节点资源的使用率。移除单元274,用于当所述判断单元273判断邻居节点重载的比例值已达到预设 的比例值时,将所述邻居节点从所述邻居节点队列中移除;此处,具体实施时,假设预设的比例值为A,则当R > A时,将所述邻居节点从所述 邻居节点队列中移除,例如,将上述例子中的节点a从邻居队列为Q(v)中移除。移动单元275,用于当所述判断单元273判断邻居节点重载的比例值未达到预设 的比例值时,将所述邻居节点移动到所述邻居节点队列的队列尾。此处,具体实施时,依照上述例子,当R < A时,将所述邻居节点移动到所述邻居节 点队列中尾部,例如,将上述例子中的节点a移动到邻居队列为Q(v)的尾部。图6是本发明实施例的资源负载均衡方法中节点利用率随启发因子取值变化的
16仿真实验示意图,图7是本发明实施例的资源负载均衡方法中瓶颈节点利用率随启发因子 取值变化的仿真实验示意图,在图6和图7中,分别从启发因子a和0的取值对算法性能 的影响,以及负载均衡效力两个方面进行考察。实验所涉及的主要参数设置如下节点单跳 路由的延时阈值tmax为10ms,衰减系数X为0. 9,初始温度、和终止温度te分别为100和 10,Mapkob链长度Lk与节点数相等,新解重复拒绝次数Rk为3。底层网络采用随机拓扑结 构,网络节点的度最大值在10到20之间随机分布,初始使用度在2到4之间随机分布,节 点间的单播通信延时在5ms到50ms之间变化。每一次实验分为三步进行第一,网络运行拓扑控制步骤产生初始拓扑;第二,使 每一个节点在其使用度随机增加0到3之间的任一整数后,判断自身的资源使用情况,若 资源使用率已达到或超过80%,则将一半的使用度(可向上取整)迁移到Q(v)中的节点; 第三,迁移动作完成后,再次形成新的拓扑结构。将二、三两步重复3次,作为一次完整的实 验。本文中,邻居队列Q(v)中的元素为T(v)中资源使用率在80%以下的节点随机序列。图6和图7表示在100个网络节点的规模下,a和0的取值对节点参与率和瓶颈 节点率的影响。前者表示系统中加入度约束最小生成树的节点数占节点总数的百分比,后 者表示整个网络中资源使用率超过60%的节点数占节点总数的百分比。如图中曲线所示, 若将a和0之一固定为0,变化另外一个启发因子,系统均在横坐标的中值范围内获得较 优性能;而若将a固定为0.6,则不但满足在0的中值范围内取值较优的规律,同时整条 曲线的指标也要好于前两者。以上结果说明,只有将延时约束和资源约束综合起来考虑,才 能使系统获得更高的性能。图8是本发明实施例的资源负载均衡方法中平均资源使用率随节点数变化的仿 真示意图。图8是则在图6和图7所示的两个实验的基础上,将(a,固定为(0.6,0. 7), 将节点规模从10个逐步增加到100个,观察网络平均资源使用率的变化规律。若用n表示
网络节点总数,用r(i)表示每个节点i的资源使用率,则平均资源使用率定义如下 [。162]如图8所示,随着节点数的增加,两条曲线各自保持相对平稳的变迁状态。但是, 在负载均衡前,能力较弱的节点将以更大的概率达到其瓶颈,故而整个网络的平均资源使 用率显著大于实行均衡操作后的结果。综上所述,实施本发明实施例,通过对本地节点的当前度约束生成树进行邻域变 换操作,生成新度约束生成树,获取所述当前度约束生成树的目标函数值与所述新度约束 生成树的目标函数值之间的差值,当所述差值符合预设的度约束生成树接受条件时,将所 述当前度约束生成树替换为所述新度约束生成树,通过降低当前温度,并判断当前温度是 否达到模拟退火的终止温度,迭代执行上述过程,最终生成近似最优度约束生成树,从而可 对整个网络进行实时拓扑控制,寻找后备网络节点;在近似最优度约束生成树的拓扑结构 中实施分布式资源负载调优,从而基于模拟退火过程实现使网络总体耗费达到近似最小 化。以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范 围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
权利要求
一种资源负载均衡方法,其特征在于,包括在模拟退火的当前温度下获取本地节点的当前度约束生成树,以及所述新生成树中各节点度约束值以及各节点之间的延时关系;对所述本地节点的当前度约束生成树进行邻域变换操作,所述邻域变换操作随机抽取所述当前度约束生成树的两个节点进行置换,生成新度约束生成树,并调整所述新生成树中各节点度约束值以及各节点之间的延时关系;根据所述当前度约束生成树和所述新度约束生成树中各节点度约束值以及各节点之间的延时关系,获取所述新度约束生成树的目标函数值与所述当前度约束生成树的目标函数值之间的差值;当所述差值符合预设的度约束生成树接受条件时,将所述新度约束生成树作为当前度约束生成树;降低当前温度,并判断当前温度是否达到模拟退火的终止温度,当所述当前温度未达到模拟退火的终止温度时,执行所述对当前度约束生成树进行邻域变换操作步骤,当所述当前温度达到模拟退火的终止温度时,将所述当前度约束生成树作为所述本地节点的近似最优度约束生成树;将所述本地节点中符合预设迁移条件的资源迁移到所述近似最优度约束生成树中本地节点的邻居节点处。
2.如权利要求1所述的资源负载均衡方法,其特征在于,所述对本地节点的当前度约 束生成树进行邻域变换操作步骤之前包括初始化度约束生成树。
3.如权利要求2所述的资源负载均衡方法,其特征在于,所述初始化度约束生成树步 骤具体为遍历本地节点的覆盖域中的节点;每当遍历到所述本地节点的覆盖域中的一个节点时,随机选取度约束生成树中的一个 节占. 当随机选取的度约束生成树的节点的剩余度满足预设的度约束数值时,将所述随机选 取的度约束生成树的节点作为所述本地节点覆盖域中遍历到的节点的邻居节点,并将所述 本地节点覆盖域中遍历到的节点加入所述度约束生成树中。
4.如权利要求3所述的资源负载均衡方法,其特征在于,所述获取所述当前度约束生 成树的目标函数值与所述新度约束生成树的目标函数值之间的差值步骤具体为根据预设的目标函数分别生成所述当前度约束生成树的目标函数值与所述新度约束 生成树的目标函数值,所述目标函数具体为S (Τ (ν)) =Σ ieH(v) Σ Je H(V)Xij · Yij ;其中,T(ν)表示节点覆盖域中的度约束生成树,H(ν)表示度约束生成树的节点集合, Xij为节点链接状况的列向量X,其表达式为il, (i,j)GT(v) =[0j Jse其中i、j为相邻的节点;Yij的表达式为 其中Clused为节点的使用度,dmax为节点的度最大值,w(i,j)为节点i和节点j的网络延时,tmax为节点单跳路由的延时阈值,α和β为 启发因子;获取所述当前度约束生成树的目标函数值与所述新度约束生成树的目标函数值之间 的差值。
5.如权利要求4所述的资源负载均衡方法,其特征在于,所述将所述本地节点中符合 预设迁移条件的资源迁移到所述近似最优度约束生成树中本地节点的邻居节点处步骤具 体为获取所述本地节点的邻居节点队列中位于队列头的邻居节点; 将所述本地节点中符合预设迁移条件的资源迁移到所述邻居节点中; 判断所述邻居节点重载的比例值是否已达到预设的比例值;当所述邻居节点重载的比例值已达到预设的比例值时,将所述邻居节点从所述邻居节 点队列中移除;当所述邻居节点重载的比例值未达到预设的比例值时,将所述邻居节点移动到所述邻 居节点队列的队列尾。
6.一种企业资源计划设备,其特征在于,包括度约束生成树获取模块,用于在模拟退火的当前温度下获取本地节点的当前度约束生 成树,以及所述新生成树中各节点度约束值以及各节点之间的延时关系;邻域变换模块,用于对所述度约束生成树获取模块获取的当前度约束生成树进行邻域 变换操作,所述邻域变换操作随机抽取所述当前度约束生成树的两个节点进行置换,生成 新度约束生成树,并调整所述新度约束生成树中各节点度约束值以及各节点之间的延时关 系;目标函数差值获取模块,根据所述当前度约束生成树和所述邻域变换模块生成的新度 约束生成树中各节点度约束值以及各节点之间的延时关系,获取所述新度约束生成树的目 标函数值与所述当前度约束生成树的目标函数值之间的差值;替换模块,用于当所述目标函数差值获取模块获取的差值符合预设的度约束生成树接 受条件时,将所述新度约束生成树作为当前度约束生成树;判断模块,降低当前温度,并判断当前温度是否达到模拟退火的终止温度,当所述当前 温度未达到模拟退火的终止温度时,指示所述邻域变换模块执行所述对所述当前度约束生 成树进行邻域变换操作步骤,当所述当前温度达到模拟退火的终止温度时,将所述当前度 约束生成树作为所述本地节点的近似最优度约束生成树;资源迁移模块,用于将所述本地节点中符合预设迁移条件的资源迁移到所述判断模块 确定的近似最优度约束生成树中本地节点的邻居节点处。
7.如权利要求6所述的企业资源计划设备,其特征在于,包括 初始化模块,用于初始化度约束生成树。
8.如权利要求7所述的企业资源计划设备,其特征在于,所述初始化模块包括 遍历单元,用于遍历本地节点的覆盖域中的节点;节点选取单元,用于每当所述遍历单元遍历到所述本地节点的覆盖域中的一个节点时,随机选取度约束生成树中的一个节点;节点添加单元,用于当所述节点选取单元随机选取的度约束生成树的节点的剩余度满 足预设的度约束数值时,将所述随机选取的度约束生成树的节点作为所述遍历单元遍历到 的节点的邻居节点,并将所述遍历单元遍历到的节点加入所述度约束生成树。
9.如权利要求8所述的企业资源计划设备,其特征在于,所述目标函数差值获取模块 包括目标函数值生成单元,用于根据预设的目标函数分别生成所述当前度约束生成树的目 标函数值与所述新度约束生成树的目标函数值,所述目标函数具体为 其中,T(ν)表示节点覆盖域中的度约束生成树,H(ν)表示度约束生成树的节点集合, Xij为节点链接状况的列向量X,其表达式为 其中i、j为相邻的节点;Yij的表达式为 其中Ciused为节点的使用度,dmax为节点的度最大值,W(i,j)为节点i和节点j的网络延时,tmax为节点单跳路由的延时阈值,α和β为 启发因子;目标函数差值生成单元,用于获取所述目标函数值生成模块生成的当前度约束生成树 的目标函数值与新度约束生成树的目标函数值之间的差值。
10.如权利要求9所述的企业资源计划设备,其特征在于,所述资源迁移模块包括 获取单元,用于获取所述本地节点的邻居节点队列中位于队列头的邻居节点;迁移单元,用于将所述本地节点中符合预设迁移条件的资源迁移到所述获取单元获取 的邻居节点中;判断单元,用于所述迁移单元迁移资源后,判断所述邻居节点重载的比例值是否已达 到预设的比例值;移除单元,用于当所述判断单元判断邻居节点重载的比例值已达到预设的比例值时, 将所述邻居节点从所述邻居节点队列中移除;移动单元,用于当所述判断单元判断邻居节点重载的比例值未达到预设的比例值时, 将所述邻居节点移动到所述邻居节点队列的队列尾。
全文摘要
本发明实施例提出一种资源负载均衡方法,包括对本地节点的当前度约束生成树进行邻域变换操作,获取所述新度约束生成树的目标函数值与所述当前度约束生成树的目标函数值之间的差值;当所述差值符合预设的度约束生成树接受条件时,将所述新度约束生成树作为当前度约束生成树;降低当前温度,并判断当前温度是否达到模拟退火的终止温度,当所述当前温度是否达到模拟退火的终止温度时,将所述当前度约束生成树作为所述本地节点的近似最优度约束生成树;将所述本地节点中符合预设迁移条件的资源迁移到所述近似最优度约束生成树中本地节点的邻居节点处。本发明实施例还提出一种企业资源计划设备。实施本发明实施例,可使网络总体耗费达到近似最小化。
文档编号G06Q10/00GK101854293SQ20101013802
公开日2010年10月6日 申请日期2010年3月29日 优先权日2010年3月29日
发明者任波, 金杉, 麦丰 申请人:中科华核电技术研究院有限公司;中国广东核电集团有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1