一种网格计算中节点间负载转移的方法

文档序号:6651435阅读:116来源:国知局
专利名称:一种网格计算中节点间负载转移的方法
技术领域
本发明涉及网格计算技术领域,尤其是涉及一种网格计算中节点间负载转移的方法。
背景技术
随着互联网广泛应用于电子商务并向前不断发展,网上主机大量增加,但其利用率却普遍不高。而高性能计算的应用需求又使计算能力不可能在单一计算机上获得,必须通过构建网络虚拟超级计算机来满足其超强的计算能力。网格计算技术因此应运而生,该技术通过网络连接地理上分布的各类计算机、数据库、各类设备和存储设备等,形成对用户相对透明的虚拟的高性能计算环境。该技术应用包括分布式计算、高吞吐量计算、协同工程和数据查询等诸多功能。简单地讲,网格计算技术就是把整个因特网整合成一台巨大的超级计算机,实现计算资源、存储资源、数据资源、信息资源、知识资源、专家资源的全面共享。现在,网格计算模式已经发展为连接和统一各类不同远程资源的一种基础结构。
目前网格架构正在标准化,OASIS(Organization for theAdvancement of Structured Information Standards,结构化信息标准促进组织)提供了一套网格资源框架WSRF(Web Service ResourceFramework,WEB服务资源框架),该框架表示有状态的资源和WEB服务之间的联系。WSRF是一系列的规范,用于支持网格服务,属于网格和WEB服务结构的融合。WSRF推出的目的在于定义出一个通用且开放的架构,利用Web服务对具有状态属性的资源进行存取,并包含描述状态属性的机制,另外也包含如何将机制延伸至Web服务中的方式。
Globus Toolkit 4.0提供了一个WSRF的实现方案,该方案完整地采用了WEB服务,并使用WS-Resource(Web Service Resource,WEB服务资源)来向用户提供有状态的服务。WS-Resource是由Web服务和有状态的资源构成的实体,有状态的资源可以在Web服务消息交换中使用。WS-Resource可以被创建和销毁,而且可以通过消息交换查询或更改其状态。
在网格中,负载均衡是十分重要的功能。负载均衡问题是由于工作负载在网格系统资源中的分散特性所引起的。当作业被提交到网格任务管理器中时,工作负载可以通过推模式、拉模式或组合模式进行分布。推模式是通过循环的方式将任务发送到网格资源上;拉模式是网格资源从任务队列中获取任务;在推模式和拉模式的组合模式中,每一个网格资源可以决定何时能接收更多的工作,并向网格任务服务器发送工作请求,然后,任务服务器就向其发送新的工作。在上述负载均衡模式下,都需要考虑故障恢复的条件,需要检测出哪些网格资源已经无法继续操作了。
典型的基于Globus Toolkit 4.0中WSRF规范的负载均衡方法如图1所示。该系统包括五个客户节点C1、C2、C3、C4和C5,一个网格发现节点G1,三个服务节点N1、N2和N3。客户节点C1、C2、C3、C4、C5分别通过发现信息D1、D2、D3、D4、D5与网格发现节点G1进行通信,服务节点N1、N2、N3分别通过发现信息D6、D7、D8与网格发现节点G1进行通信,服务节点N1通过服务信息S1接受客户节点C1的任务请求,服务节点N2分别通过服务信息S2、S3、S5接受客户节点C1、C2、C5的任务请求,服务节点N3通过服务信息S4接受客户节点C4的任务请求。在服务节点上,客户节点的任务请求用以百分比方式标明的负载表示,服务节点的负载耐受值用门限值表示。图1中,服务节点N1的门限值为70%、负载为65%,服务节点N2的门限值为65%、负载为70%,服务节点N3的门限值为80%、负载为55%。负载情况通过本地负载通知服务维护,一旦服务节点上的负载超过门限值,该服务节点将不再接受新的任务请求,直到现有的负载降低到门限值以下为止。根据OGSA(Open GRID Services Architecture,开放网格服务架构)的描述,上述过程会刷新驻留VOLI(VirtualOrganization Level Index,虚拟组织层次索引)的网格发现节点以及上层资源调度器中的负载信息。
采用上述负载均衡方法,当服务节点接受客户节点的任务请求后,该客户节点只能与该服务节点进行通信来完成所请求的任务,而该服务节点不能将该客户节点的任务请求转移到其它节点上。图1中服务节点N2的负载已经超过门限值,这样就很容易引起服务节点N2上运行的服务不可用的故障。

发明内容
本发明的目的是提供一种网格计算中节点间负载转移的方法,以克服现有技术中服务节点在负载超过门限值后,不能将负载转移到其它节点的缺陷。
本发明包括以下步骤A、源节点确定需要转移的服务;B、源节点确定服务转移的目的节点;C、在目的节点上创建所述服务;D、将源节点中所述服务的状态同步到目的节点。
按照本发明的一个方面,步骤A具体为源节点的本地负载均衡器通过本地负载通知服务监测本地负载,当确定本节点过载时,从处于活动状态的服务中选择需要转移的服务。
按照本发明的另一个方面,步骤B进一步包括首先,源节点的本地负载均衡器向网络发现节点请求可运行所述服务的轻载节点;然后,网络发现节点收集服务节点的信息,选择一个可运行所述服务并且未过载的节点作为服务转移的目的节点并返回给源节点。
按照本发明的再一个方面,步骤D进一步包括首先,源节点的本地负载均衡器向源节点的服务资源发送设置状态信息,源节点的服务资源将附加状态信息设置到所述服务资源的属性中;然后,源节点的负载均衡器用所述服务资源的属性更新目的节点的服务资源的相应属性;接着,源节点通知目的节点进行状态恢复;最后,目的节点根据所述附加状态信息恢复目的节点所述服务的状态。
与现有技术相比,本发明具有以下优点在服务节点过载的情况下,需要把部分现有负载转移到其余节点上去,所以需要使客户的资源状态在源节点和目的节点之间保持同步,该转移方法对客户是透明的,完全在服务器端进行。应用本发明,客户节点不会绑定具体的服务节点,只要有未过载的能运行该客户节点所请求任务的服务节点存在,就能继续完成该客户节点所请求的任务,从而规避了由服务节点过载所引起的故障,使网格计算环境更加健壮。


图1是基于Globus Toolkit 4.0中WSRF规范的负载均衡方法的系统示意图。
图2是本发明中节点间负载转移的方法的系统示意图。
具体实施例方式
本发明的核心思想在于将被转移的服务的相关状态信息从源节点同步到目的节点中,从而使所述服务被转移到新节点后能顺利继续进行。所述相关状态信息在本发明中称为附加状态信息,可以是该服务使用的数据库连接、文件等等,与具体服务相关,本发明不做限制。
本发明包括以下步骤步骤s101,源节点确定需要转移的服务。
某个服务是否需要转移可以根据需要由管理员确定并发起,也可以通过其它方式,如源节点的本地负载均衡器通过本地负载通知服务监测本地负载,当确定源节点过载时,从处于活动状态的服务中选择需要转移的服务。
步骤s102,源节点确定服务转移的目的节点。
服务转移的目的节点可以是由人工确定,但较优的方案是通过网格发现节点确定,如源节点的本地负载均衡器请求与源节点连接的网格发现节点提供可运行所选服务的轻载节点,作为进行负载转移的目的节点,该网格发现节点将满足要求的目的节点信息返回给源节点的本地负载均衡器。
步骤s103,在目的节点上创建所述服务。
首先,源本地负载均衡器向目的本地负载均衡器发出创建资源消息,并注明需要转移的服务;然后,目的本地负载均衡器根据该消息创建相应的WEB服务。
步骤s104,将源节点中所述服务的状态同步到目的节点。
首先,源节点的本地负载均衡器向源节点的服务资源发送设置状态信息,源节点的服务资源将附加状态信息设置到所述服务资源的属性中;然后,源节点的负载均衡器用所述服务资源的属性更新目的节点的服务资源的相应属性;接着,源节点通知目的节点进行状态恢复;目的节点再根据所述附加状态信息恢复目的节点所述服务的状态。
通过以上步骤即完成了网格计算中节点间的负载转移。重复以上过程,可以对所有需要转移的服务全部进行状态同步。
下面结合图2再详细描述本发明的具体实施方式
。参阅图2,该系统包括五个客户节点C1、C2、C3、C4和C5,一个网格发现节点G1,三个服务节点N1、N2和N3。其中N2为进行状态同步的源节点,N3为进行状态同步的目的节点。客户节点C1、C2、C3、C4、C5分别通过发现信息D1、D2、D3、D4、D5与网格发现节点G1进行通信,服务节点N1、N2、N3分别通过发现信息D6、D7、D8与网格发现节点G1进行通信,服务节点N1通过服务信息S1接受客户节点C1的任务请求,源节点N2分别通过服务信息S2、S3、S5接受客户节点C1、C2、C5的任务请求,目的节点N3通过服务信息S4接受客户节点C4的任务请求。源节点N2包含源节点的本地负载均衡器LLBS和源WEB服务资源RA1,目的节点N3包含目的节点的本地负载均衡器LLBD和目的WEB服务资源RA2。LLBS通过发现信息D9与网格发现节点G1进行通信,LLBS通过状态同步信息SS1与LLBD进行通信。图2中服务节点N1的门限值为70%、负载为65%,源节点N2的门限值为65%、负载为70%,目的节点N3的门限值为80%、负载为55%。源节点N2的负载已经超过了门限值,需要将部分负载转移到目的节点N3上,在源节点N2和目的节点N3之间进行负载转移,包括以下步骤步骤s201,LLBS识别源节点N2上当前所有处于活动状态的服务;
步骤s202,LLBS从本地负载通知服务获取每个服务的负载情况;步骤s203,LLBS构造一个根据负载增加量排列的服务清单列表,可配置为负载增加量由高到低或由低到高;步骤s204,LLBS请求网格发现节点G1提供可运行清单列表中服务的轻载节点,做为进行负载转移的目的节点;步骤s205,网格发现节点将满足要求的目的节点N3的信息回复给LLBS;步骤s206,LLBS向源WEB服务资源RA1发出需要和目的节点N3进行状态同步的SET_STATE消息;步骤s207,接收到LLBS发出的SET_STATE消息后,源WEB服务资源RA1以XML(Extensible Markup Language,可扩展标识语言)的方式准备好附加状态信息,并设置到源WEB服务资源RA1的ADD_STATE资源属性中,如果源WEB服务资源RA1没有附加状态,ADD_STATE资源属性将被设置为<empty>;步骤s208,LLBS以WEB服务资源属性规范中定义的方式获取源WEB服务资源RA1的资源属性;步骤s209,LLBS向LLBD发出CREATE_RESOURCE消息,通过URL(UniformResource Locator,统一资源定位器)注明需要转移的服务,该服务由应用决定;步骤s210,LLBD将对应于该服务的目的WEB服务资源RA2上新创建的参考端点返回给LLBS;步骤s211,LLBS接收到LLBD返回的参考端点后,使用该参考端点的信息来更新目的WEB服务资源RA2的资源属性;步骤s212,LLBS向目的WEB服务资源RA2发出RESTORE_STATE消息;步骤s213,接收到来自LLBS的RESTORE_STATE消息后,目的WEB服务资源RA2根据ADD_STATE资源属性的值来恢复其所维护的附加状态,如果目的WEB服务资源RA2中的ADD_STATE资源属性的值为<empty>,则不进行恢复;步骤s214,针对所有需要转移的服务重复进行步骤s206到步骤s213。
经过上述步骤,客户节点的任务请求已经由LLBS转交给目的节点,完成源节点和目的节点之间的负载转移。
如果目的节点N3不能完成源节点N2需要转移的所有服务,则源节点先将目的节点N3能够完成的服务转移到目的节点N3上,然后源节点再向网格发现节点请求一个新的能运行相应服务的轻载节点,继续转移剩余服务。
根据WEB服务资源生命周期规范,上述源WEB服务资源RA1被转移后可以保持存活或者被删除。
本发明提供的方法不仅可用于节点过载时对服务进行转移,还可用于其它需要对服务进行转移的情况,如在应用切换场景时对应用涉及的服务进行转移。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
权利要求
1.一种网格计算中节点间负载转移的方法,其特征在于,包括以下步骤A、源节点确定需要转移的服务;B、源节点确定服务转移的目的节点;C、在目的节点上创建所述服务;D、将源节点中所述服务的状态同步到目的节点。
2.如权利要求1所述的方法,其特征在于,所述步骤B具体包括以下步骤B1、源节点向网络发现节点请求可运行所述服务的节点;B2、网络发现节点选择一个可运行所述服务的节点作为服务转移的目的节点并返回给源节点。
3.如权利要求2所述的方法,其特征在于,所述步骤B2的具体为网络发现节点选择一个可运行所述服务并且未过载的节点作为服务转移的目的节点并返回给源节点。
4.如权利要求1所述的方法,其特征在于,所述步骤D具体包括以下步骤D1、源节点将所述服务的附加状态信息发送给目的节点;D2、源节点通知目的节点进行状态恢复;D3、目的节点根据所述附加状态信息恢复目的节点所述服务的状态。
5.如权利要求4所述的方法,其特征在于,所述步骤D1具体包括以下步骤D11、源节点的负载均衡器向源节点的服务资源发送设置状态信息;D12、源节点的服务资源将附加状态信息设置到所述服务资源的属性中;D13、源节点的负载均衡器用所述服务资源的属性更新目的节点的服务资源的相应属性。
6.如权利要求1所述的方法,其特征在于,所述步骤A具体为源节点的本地负载均衡器通过本地负载通知服务监测本地负载,当确定本节点过载时,从处于活动状态的服务中选择需要转移的服务。
全文摘要
一种网格计算中节点间负载转移的方法,涉及网格计算技术领域,克服现有技术中服务节点在负载超过门限值后,不能进行负载转移的缺陷。本发明包括以下步骤首先源节点确定需要转移的服务和服务转移的目的节点,然后在目的节点上创建所述服务,最后将源节点中所述服务的状态同步到目的节点。
文档编号G06F9/46GK1870526SQ200510131849
公开日2006年11月29日 申请日期2005年12月20日 优先权日2005年12月20日
发明者尼拉特·阿默, 拉维·基兰, 马哈希娃·里迪 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1