CN1835450A - 网格作业管理器 - Google Patents
网格作业管理器 Download PDFInfo
- Publication number
- CN1835450A CN1835450A CN 200510055208 CN200510055208A CN1835450A CN 1835450 A CN1835450 A CN 1835450A CN 200510055208 CN200510055208 CN 200510055208 CN 200510055208 A CN200510055208 A CN 200510055208A CN 1835450 A CN1835450 A CN 1835450A
- Authority
- CN
- China
- Prior art keywords
- job
- service
- manager
- instances
- job instances
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种网格作业管理器,它主要包括请求消息处理部分和活动实现调用部分。请求消息处理部分接收网格服务运行平台内服务容器预处理后的作业请求消息,并对其进行解析、编译、调度和执行;活动实现调用部分具有统一的调用接口,负责调用不同的服务模块,保证在请求消息处理部分调度、执行网格作业时提供不同的服务,以及对新的服务实现体的扩充和支持。本发明还公开了一种利用上述网格作业管理器实现对网格作业的管理方法。
Description
技术领域
本发明涉及网格技术,具体地说,涉及一种监控管理网格作业的网格作业管理器。
背景技术
网格技术是近几年新兴起的技术,它是把整个互联网整合成一台巨大的超级计算机,实现计算资源、存储资源、数据资源、信息资源、知识资源、专家资源的全面共享。人们可以构造地区性的网格、企业内部网格、局域网网格、甚至家庭网格和个人网格,所以,网格的根本特征是整合资源、实现资源共享、消除资源孤岛。
传统的网格作业只关注单一任务的提交和执行过程,其描述语言如RSL、ClassAD主要描述任务执行过程中相关资源的配置情况,如执行程序的名称、相关的调用参数、对任务执行的环境要求等。在相应的网格服务运行平台如Globus Toolkit和Conder中提供了对RSL和ClassAD语言的支持。
上述这种传统的网格服务运行平台如Globus Toolkit的缺点是:没有提供对工作流机制的支持,不能在其上构造复杂的流程类应用。
随着网格技术和Web服务技术的融合发展,在OGSA(开放网格服务体系结构)网格体系结构中提供服务已经成为一个核心的概念。
在OGSA网格体系结构中,所有的事务都已经表示成一个服务,即一个遵循一系列规范的动态、暂时的服务,这些规范用于实现服务的生命周期管理、发现、通知等目标。OGSI(开放网格服务基础架构)定义的网格服务在本质上是一种Web服务,为了支持动态的、有状态的交互,网格服务在Web服务的基础上定义了一系列的接口集合。这些接口集合是所有的网格服务实现的基础,便于高级服务的构造,使得高级服务能够跨多个抽象层以一种统一的方式进行处理。
上述基于Web服务的网格体系结构已经初步形成,并在一系列的系统中得到了实现,如Globus ToolkitV3.0、北航WebSASE4G网格服务运行平台。图1为WebSASE4G网格服务运行平台的系统结构示意图,它是一个基于Web服务技术实现网格服务的运行平台。它由面向网格服务的体系结构层SOA、资源层、网格应用层和面向服务的工具层构成。
随着网格作业越来越复杂化,作业的形式逐渐从支持单个应用的作业,向批作业、流程性作业的方向发展。在以服务为基本构成元素的网格中,网格作业是对多个服务的复合,同时作业的形式也表现为一个服务。而在目前主流的网格平台中如Globus Toolkit,尚没有提供对于流程性作业的支持。
发明内容
鉴于上述情况,本发明的目的是提供一种应用于北航WebSASE4G网格服务运行平台中的新型网格作业管理器,该网格作业管理器负责网格作业定义的解释执行,提供运行时的监控管理功能,并且,支持复杂的流程性网格作业。
为实现上述目的,本发明采用以下技术方案:一种网格作业管理器,它包括请求消息处理部分和活动实现调用部分;
请求消息处理部分接收网格服务运行平台内服务容器预处理后的网格作业请求消息,并对其进行解析、编译、调度和执行;
活动实现调用部分具有统一的调用接口,负责调用不同的外界服务模块,保证在请求消息处理部分调度、执行网格作业时提供不同的外部服务,以及对新的服务实现体的扩充和支持。
所述请求消息处理部分包括作业管理器入口、会话管理器、实例管理器、定义解析器和编译器;
作业管理器入口与网格服务运行平台内的服务容器相连,接收服务容器预处理后的网格作业请求消息,并将接收的请求消息传递给与之相连的会话管理器;另外,作业管理器入口还接收来自会话管理器的响应消息,并把响应消息转交给网格服务运行平台内的服务容器;
会话管理器的主要功能是保持作业实例与其他有状态的服务实例之间的会话;在作业实例处理的上下文到达时,会话管理器负责把上下文交给正确的作业实例进行处理;在处理结束时,会话管理器负责在响应结果中标识上正确的实例标识,并把结果转交给作业管理器入口;
实例管理器主要完成创建作业实例、挂起作业实例、恢复作业实例和终止作业实例,对作业实例进行调度管理,按照调度策略对请求消息进行排队,对作业实例进行生命期状态的管理,对外提供管理操作接口;
定义解析器主要功能是解析作业定义文件,把作业定义从文件中读入,它由实例管理器发起调用,最终生成作业的静态模型;
编译器的主要功能是根据作业的静态模型,生成作业实例,依次生成作业实例中各个属性,它由实例管理器发起调用,最终生成可以自主执行的作业实例和活动实例集合;作业实例是由实例管理器创建的包含实例数据和运行控制于一体的运行时对象,它自主地完成实例的解释执行功能;活动实例是服务实例的一部分,在实例管理器创建作业实例时一并创建,由作业实例统一管理。
所述活动实现调用部分主要包括活动调用管理器;
该活动调用管理器完成对外界服务的调用管理功能,包括对外界服务的绑定以及请求消息的装配和预处理。
一种网格作业管理方法,它利用由作业管理器入口、会话管理器、实例管理器、定义解析器、编译器和活动调用管理器构成的网格作业管理器对网格作业进行解释执行、监控和管理,具体方法如下:
(1)作业管理器入口接收外界发起的网格作业请求;
(2)作业管理器入口阻塞本次调用,把请求消息转交给会话管理器;
(3)会话管理器分离出会话标识信息,根据会话标识信息确定正确的作业实例;
(4)会话管理器在作业实例池中查找上述作业实例,判断是否能够找到正确的作业实例,如果能找到正确的作业实例,则跳转到步骤(8’);
(5)若会话管理器没有找到正确的作业实例,进一步判断该作业实例是否是正确的请求,如果不是,会话管理器进行出错处理;如果是正确的请求,继续执行以下步骤;
(6)会话管理器把请求消息经过处理后转发给实例管理器;
(7)实例管理器根据请求消息中携带的请求作业的类型、作业定义的地址等信息,调用定义解析器,创建静态模型对象;
(8)实例管理器根据创建的静态模型对象调用编译器生成运行时作业实例,并把请求消息转交给新创建的作业实例进行处理;
(8’)会话管理器把请求消息转交给正确的作业实例进行处理;
(9)作业实例开始自主执行,在执行的过程中,如果有调用外界服务类型的活动实例需要执行,则把相应的参数传递给正确的活动实例;
(10)该活动实例经过适当的数据处理,把请求参数交给活动调用管理器;
(11)活动调用管理器接收来自活动实例的请求参数,根据服务实现的绑定策略绑定到合适的服务实现,把请求参数经过装配和预处理之后发给外界服务模块;
(12)外界服务把响应消息返回给活动调用管理器;活动调用管理器把返回的响应消息经过解析和适当的处理后,交给对应的活动实例;活动实例进行适当的数据处理,并通知服务实例更新实例执行的上下文信息;作业实例在执行过程中,对服务的请求做出响应,把响应消息传到会话管理器;
(13)会话管理器接收来自作业实例的响应消息,标记上适当的会话标识信息,并对响应消息进行适当的处理,交给作业管理器入口;
(14)作业管理器入口终止阻塞过程,把响应消息交给服务容器;
(15)服务容器对响应消息经过适当的后处理(如日志、加密等),返回给作业请求者;至此,整个请求的处理过程结束。
附图说明
图1为北航WebSASE4G网格服务运行平台体系结构示意图
图2为本发明网格作业管理器的结构示意图
图3为本发明网格作业管理器工作流程图
图4为本发明作业管理器入口工作流程图
图5为本发明会话管理器工作流程图
图6为本发明实例管理器创建作业实例工作流程图
图7为本发明实例管理器挂起作业实例工作流程图
图8为本发明实例管理器恢复作业实例工作流程图
图9为本发明实例管理器终止作业实例工作流程图
图10为本发明编译器编译处理工作流程图
图11为本发明作业实例处理流程图
图12为本发明活动调用管理器工作流程图
图13为本发明活动调用管理器调用外界服务的调用处理流程图
图14为本发明累加作业流程图
具体实施方式
图2为本发明网格作业管理器的结构示意图。如图所示,本发明网格作业管理器分为请求消息处理部分1和活动实现调用部分2两部分。外界发起的网格服务作业请求首先被网格服务运行平台的服务容器接收,经服务容器的解析、加密、日志等预处理,包装成统一的消息上下文格式后传递给请求消息处理部分1;请求消息处理部分1接收到预处理的网格作业请求信息后,对外界请求作业消息进行进一步地解析、编译、调度和执行。在请求消息处理部分1执行网格作业的过程中,活动实现调用部分2根据需要调用不同的外界服务模块,完成网格作业。活动实现调用部分2具有统一的调用接口,用于调用不同的外界服务模块。由于在作业的执行过程中需要其他成员服务的执行来完成其业务功能,活动实现调用部分主要完成屏蔽不同服务调用细节,在服务调用中通过提供不同的调用模块来对不同活动的实现体进行调用,这些不同的调用模块具有统一的调用接口,保证了在运行时提供对新的服务实现体的扩充和支持。
请求消息处理部分1包括作业管理器入口、会话管理器、实例管理器、定义解析器和编译器。
作业管理器入口与网格服务运行平台的服务容器相连,接收服务容器预处理后的请求作业消息。会话管理器的主要功能是实现会话管理,使得请求消息能够定位到正确的作业实例,并在响应消息和外出请求消息中标识上会话信息,使交互另一方的作业管理器能够识别出正确的作业实例。实例管理器的主要功能是完成作业实例的调度管理,按照调度策略对请求消息进行排队,对作业实例进行生命期状态的管理,对外提供管理操作接口。定义解析器完成对作业定义的解析功能,它由实例管理器发起调用,生成静态的模型对象;编译器完成作业实例的生成,它由实例管理器发起调用,最终生成可以自主执行的作业实例。作业实例是由实例管理器创建的包含实例数据和运行控制于一体的运行时对象,它自主地完成实例的解释执行功能;所有的作业实例组成实例池。活动实例是作业实例的一部分,在实例管理器创建作业实例时一并创建,由作业实例统一管理,所有活动实例构成活动实例集合。
活动实现调用部分2主要包括活动调用管理器。
活动调用管理器完成对外界服务模块的调用管理功能,包括对外界服务的绑定以及请求消息的装配和预处理。
此外,配置解析器完成作业管理器的配置功能,它在系统初始化的时候由实例管理器调用;SOAP消息处理器完成SOAP消息的解析和装配功能,它在运行时由会话管理器和活动调用管理器调用;日志管理器完成系统的日志功能,它在系统初始化的时候启动运行,在系统运行时由实例管理器、作业实例和活动实例调用。
上述网格作业管理器对于外界请求处理的作业进行解释执行、监控管理的过程如图3所示,过程如下:
(1)作业管理器入口接收外界的网格作业请求
外界网格作业请求通常是以SOAP报文形式传递给网格服务运行平台的服务容器;经服务容器的预处理后转发给作业管理器入口;作业管理器入口主要完成接收经服务容器预处理后的外界网格作业请求。
(2)作业管理器入口阻塞本次调用,把请求消息转交给会话管理器;
(3)会话管理器分离出会话标识信息,根据会话标识信息确定正确的作业实例;
(4)会话管理器在作业实例池中查找上述作业实例,判断是否能够找到正确的作业实例,如果能找到正确的作业实例,则跳转到步骤(8’);
(5)若会话管理器没有找到正确的作业实例,进一步判断该作业实例是否是正确的请求,如果不是,会话管理器进行出错处理;如果是正确的请求,继续执行以下步骤;
(6)会话管理器把请求消息经过处理后转发给实例管理器;
(7)实例管理器根据请求消息中携带的请求作业的类型、作业定义的地址等信息,调用定义解析器,创建静态模型对象;
(8)实例管理器根据创建的静态模型对象调用编译器生成运行时作业实例,并把请求消息转交给新创建的作业实例进行处理;
(8’)会话管理器把请求消息转交给正确的作业实例进行处理;
(9)作业实例开始自主执行,在执行的过程中,如果有调用外界服务类型的活动实例需要执行,则把相应的参数传递给正确的活动实例;
(10)该活动实例经过适当的数据处理,把请求参数交给活动调用管理器;
(11)活动调用管理器接收来自活动实例的请求参数,根据服务实现的绑定策略绑定到合适的服务实现,把请求参数经过装配和预处理之后发给外界服务模块;
(12)外界服务把响应消息返回给活动调用管理器;活动调用管理器把返回的响应消息经过解析和适当的处理后,交给对应的活动实例;活动实例进行适当的数据处理,并通知服务实例更新实例执行的上下文信息;作业实例在执行过程中,对服务的请求做出响应,把响应消息传到会话管理器;
(13)会话管理器接收来自作业实例的响应消息,标记上适当的会话标识信息,并对响应消息进行适当的处理,交给作业管理器入口;
(14)作业管理器入口终止阻塞过程,把响应消息交给服务容器;
(15)服务容器对响应消息经过适当的后处理(如日志、加密等),返回给作业请求者;至此,整个请求的处理过程结束。
下面详细说明作业管理器中主要部件的详细功能和实现流程。
1、作业管理器入口
作业管理器入口作为本发明网格作业管理器的入口,主要功能是在网格服务运行平台内的服务容器和网格作业管理器之间传递处理参数,即接收来自服务容器预处理后的网格作业请求消息,并把请求消息经封装以后传递给会话管理器;以及,接收来自会话管理器的响应消息,并把响应消息转交给服务容器。
作业管理器入口的处理主流程如图4所示,包括以下步骤:
1)从网格服务运行平台服务容器处接收请求消息,并把请求消息封装为作业管理器内部使用的作业处理上下文;
2)把作业处理上下文交给会话管理器进行处理;
3)阻塞处理过程,会话管理器和其他的部件对作业上下文进行进一步处理,直到本次请求响应产生;
4)把响应结果封装成符合格式要求的响应消息;
5)把响应消息返回给服务容器。
2、会话管理器
会话管理器的主要功能是保持作业实例与其他有状态的作业实例之间的会话。在作业处理的上下文到达时,会话管理器负责把上下文交给正确的作业实例进行处理;在处理结束时,会话管理器负责在响应结果中标识上正确的实例标识,并把结果转交给作业管理器入口。
会话管理器的处理主流程如图5所示,包括以下步骤:
1)会话管理器从作业管理器入口处获得作业处理上下文;
2)从作业处理上下文中分离出会话标识信息;
3)会话管理器根据获得的会话标识信息从作业实例集合中查找正确的作业实例,如果找到正确的作业实例,则跳转到步骤6);
4)如果没有找到,根据作业处理上下文中携带的信息定位作业定义的位置,调用解析器解析作业定义,创建静态模型;
5)调用编译器,创建新的作业实例;
6)会话管理器把作业处理上下文交给正确的作业实例进行处理;
7)阻塞处理过程,直到产生处理结果产生;
8)在产生的结果中标识会话标识信息;
9)把处理后的结果返回给作业管理器入口。
3、实例管理器
实例管理器的主要功能是创建作业实例、挂起作业实例、恢复作业实例和终止作业实例,对作业实例进行管理。
实例管理器创建作业实例的处理主流程如图6所示,包括以下步骤:
1)首先获得作业的定义文件位置;
2)然后调用解析器生成作业的静态模型对象;
3)再调用编译器生成作业实例;
4)创建作业处理上下文信息;
5)返回作业实例的标识ID,注册新生成的作业实例。
实例管理器挂起作业实例的处理主流程如图7所示,包括以下步骤:
1)把作业实例的状态改变为挂起状态,并通知作业实例挂起执行;
2)作业实例依次通知其中的活动和正在运行的远端服务,通知它们挂起执行,在这里需要调用远端服务或者服务容器的挂起执行接口;
3)返回操作结果。
实例管理器恢复作业实例的处理主流程如图8所示,包括以下步骤:
1)把作业实例的状态改变为运行状态,并通知作业实例开始执行;
2)作业实例依次通知处于挂起状态的活动和远端的挂起服务,通知它们恢复执行,在这里需要调用远端服务或者服务容器提供的恢复执行服务接口;
3)返回操作结果。
实例管理器终止作业实例的处理主流程如图9所示,包括以下步骤:
1)把作业实例的状态改变为终止状态,并通知作业实例终止运行;
2)作业实例依次通知处于运行或者挂起状态的活动和远端的正在运行或者挂起的服务,通知它们终止运行,在这里需要调用远端服务或者服务容器的终止运行服务接口;
3)返回操作结果。
4、定义解析器
定义解析器的主要的功能是解析作业定义文件,把作业定义从文件中读出,最终生成作业的静态模型。
定义解析器的解析过程就是利用XML相关技术(DOM、SAX、XSL等)对XML文档(作业定义文件)进行解析,其处理流程为常用方法不再叙述。
5、编译器
编译器的主要功能是根据作业的静态模型,生成作业实例,并依次生成作业实例中各个属性。
编译器的处理主流程如图10所示,其处理过程如下:
1)接受解析器生成的静态模型;
2)新建作业实例,并逐项编译作业实例的静态模型属性,依次编译的属性有参与者信息、作业相关数据信息、错误处理器信息、事件处理器信息、补偿处理器信息和各种活动的信息。
其中,作业实例是包含数据和控制逻辑于一体的对象,它保存了作业执行的状态等上下文信息,也封装了作业的执行逻辑,并对外提供操作作业实例的接口。
作业实例的处理主流程如图11所示,说明如下:
1)作业实例的初始化,作业实例把作业的状态设置为就绪状态,并通知生命期事件的侦听者进行初始化工作;
2)作业实例开始自主运行,并把自身状态设置为运行状态,通知生命期事件的侦听者进行其他准备工作,例如向日志数据库中记录当前的状态改变;
3)作业实例判断作业是否已经执行完成,如果执行完成,则跳转到步骤6);
4)从事件队列中取出一个等待处理的事件,进行处理;
在作业管理器中定义的事件类型共有八种,这些不同的事件继承自统一的基类,具有不同的事件侦听者和不同的事件处理语义;处理事件的主要步骤就是通知响应的事件侦听者处理事件;
5)跳转到步骤3);
6)作业实例执行完毕,向实例管理器申请销毁实例。
6、活动调用管理器
活动调用管理器的主要功能是接收调用外界服务模块的请求,对这些请求进行排队,完成对于外界服务的调用并把结果返回。
活动调用管理器处理的主流程如图12所示,具体包括以下步骤:
1)活动调用管理器接收活动实例调用外界服务的请求参数;
2)把请求放入队列中进行排队处理;
3)判断作业执行是否完毕,如果执行完毕,则跳转到步骤6);
4)取出一个请求进行处理,主要是按照请求参数里面的内容,初始化调用对象,完成对外界服务的调用,并返回最终的调用结果;
5)跳转到步骤3)执行;
6)结束。
上述步骤4)进一步包括以下步骤,如图13所示,
1)获得调用外界服务类型活动的静态访问点属性,查看该属性值是否为空,如果为空,则跳转到步骤4);否则,继续执行以下步骤;
2)查询信息中心,根据该活动的超级服务标识和服务选择条件调用信息中心提供的查询接口,获得可用服务的列表;
3)判断可用服务的列表是否为空,如果为空,返回出错信息,并通知作业实例进行后续处理;否则,继续执行以下步骤;
4)按照指定的选择策略(例如随机选择)选择服务进行调用;
5)判断轮询方法属性是否为空,如果为空,说明是普通Web服务,则跳转到步骤7)
6)如果不为空,说明是WSRF标准的服务,在服务的执行过程中每隔一定时间间隔更新时间戳,并获得服务的执行状态;
7)判断服务的调用是否出错,如果出错,返回错误结果,通知作业实例,并进行重新的调度过程,跳转到步骤2);
8)如果执行的过程中没有出错,获得服务的返回结果,整个调度执行过程结束。
下面结合一个具体的作业,说明作业管理器对外部请求处理的作业进行解释执行、监控管理的过程。
该作业是:根据两个给定数:m和n(m<n),计算
作业定义的流程图如图14所示,说明如下:
(1)接收对于累加作业的请求,也就是累加的初始值m和n;
(2)始化循环控制变量初值;
(3)判断循环条件,如果循环变量值超出预定值,则跳转到步骤(7),否则执行步骤(4);
(4)为调用Add服务的变量赋值;
(5)调用Add服务,完成加和功能,并保存结果;
(6)更新循环变量,并更新最终结果,然后返回执行步骤(3);
(7)返回最终的累加结果;
(8)结束。
根据上述累加作业的流程,使用可视化建模工具或者手工书写作业定义,它是由作业定义语言GJDL(网格作业描述语言)描述的;最终由作业定义生成作业的部署文件。
在作业得到运行之前,需要在至少两台机器(CPU主频1000MHZ以上,内存512MB以上)上安装网格服务容器和作业管理器,并在其中的一台机器上部署实现开发完成的Web服务Add,它的功能是完成两个数的加和;在另外一台机器上部署累加作业Totalup(把作业部署文件部署在作业管理器指定的位置)。
所有这些准备工作完成以后,就可以通过客户端访问作业,并获得最终的累加结果。
本专利所提出的网格作业管理器提供了对于流程性网格作业的支持,它通过服务容器完成作业请求消息的预处理、通过会话管理器完成作业之间的会话功能、通过实例管理器完成作业实例的管理、通过作业实例和调用管理器完成作业的解释执行,与同类的产品和软件系统进行比较具有以下的技术特点:
1)在网格作业中引进工作流机制,可以构造网格中复杂的业务流程,进而支持流程性作业。
2)完全面向服务构造。作业是由组合多个服务构成的,同时作业本身也发布为一个服务供外界访问。
3)分层的消息处理结构:从消息的处理过程看,作业管理器可以分为三个处理层次:请求消息的预处理层、请求消息的处理层和活动实现的调用层。这样的处理结构使得处理过程变得清晰,简化了处理过程的复杂性。
4)灵活的会话机制:作业的执行过程可能需要涉及到多个作业实例之间的交互,为了保证实例之间的请求和异步响应消息能够正确地递交,需要提供作业实例级别的会话管理功能。提供了三种不同的会话机制:基于会话ID的机制、基于回调地址的会话机制和基于相关集的会话机制,并把这三种会话机制结合起来,基本上可以满足作业之间以及作业和成员服务之间的交互场景,并在一定程度上满足会话灵活性的要求。
5)基于事件的消息传递机制:作业实例和活动实例之间通过各种不同的事件机制来进行联系,例如接受外界请求的活动、调用外界服务实现的活动在执行结束的时候分别触发相应的事件,作业实例作为事件的接受者在接受到这些事件以后分别做出相应的处理继续作业的执行。基于事件的消息传递机制使得作业管理器的内部模块分割更为清晰,符合面向对象的设计要求。
6)多种成员服务绑定方式:在作业的执行过程中,成员服务的定位、发现与绑定是涉及作业执行动态性和可靠性的一个重要的方面。在作业管理器的实现中,我们提供了多种成员服务绑定方式的支持(本地方式、静态方式、信息服务方式、动态方式),增加了作业执行过程的动态性和可靠性。
Claims (10)
1、一种网格作业管理器,其特征在于:它包括请求消息处理部分和活动实现调用部分;
请求消息处理部分接收网格服务运行平台内服务容器预处理后的网格作业请求消息,并对其进行解析、编译、调度和执行;
活动实现调用部分具有统一的调用接口,负责调用不同的外界服务模块,保证在请求消息处理部分调度、执行网格作业时提供不同的外部服务,以及对新的服务实现体的扩充和支持。
2、根据权利要求1所述的一种网格作业管理器,其特征在于:所述请求消息处理部分包括作业管理器入口、会话管理器、实例管理器、定义解析器和编译器;
作业管理器入口与网格服务运行平台内的服务容器相连,接收服务容器预处理后的网格作业请求消息,并将接收的请求消息传递给与之相连的会话管理器;另外,作业管理器入口还接收来自会话管理器的响应消息,并把响应消息转交给网格服务运行平台内的服务容器;
会话管理器的主要功能是保持作业实例与其他有状态的服务实例之间的会话;在作业实例处理的上下文到达时,会话管理器负责把上下文交给正确的作业实例进行处理;在处理结束时,会话管理器负责在响应结果中标识上正确的实例标识,并把结果转交给作业管理器入口;
实例管理器主要完成创建作业实例、挂起作业实例、恢复作业实例和终止作业实例,对作业实例进行调度管理,按照调度策略对请求消息进行排队,对作业实例进行生命期状态的管理,对外提供管理操作接口;
定义解析器主要功能是解析作业定义文件,把作业定义从文件中读入,它由实例管理器发起调用,最终生成作业的静态模型;
编译器的主要功能是根据作业的静态模型,生成作业实例,依次生成作业实例中各个属性,它由实例管理器发起调用,最终生成可以自主执行的作业实例和活动实例集合;作业实例是由实例管理器创建的包含实例数据和运行控制于一体的运行时对象,它自主地完成实例的解释执行功能;活动实例是服务实例的一部分,在实例管理器创建作业实例时一并创建,由作业实例统一管理。
3、根据权利要求1或2所述的一种网格作业管理器,其特征在于:所述活动实现调用部分主要包括活动调用管理器;
该活动调用管理器完成对外界服务的调用管理功能,包括对外界服务的绑定以及请求消息的装配和预处理。
4、根据权利要求3所述的一种网格作业管理器,其特征在于:该网格作业管理器还包括配置解析器、SOAP消息处理器和日志管理器;
配置解析器完成作业管理器的配置功能,它在系统初始化的时候由实例管理器调用;SOAP消息处理器完成SOAP消息的解析和装配功能,它在运行时由会话管理器和活动调用管理器调用;日志管理器完成系统的日志功能,它在系统初始化的时候启动运行,在系统运行时由实例管理器、作业实例和活动实例调用。
5、一种网格作业管理方法,它利用由作业管理器入口、会话管理器、实例管理器、定义解析器、编译器和活动调用管理器构成的网格作业管理器对网格作业进行解释执行、监控和管理,具体方法如下:
(1)作业管理器入口接收外界发起的网格作业请求;
(2)作业管理器入口阻塞本次调用,把请求消息转交给会话管理器;
(3)会话管理器分离出会话标识信息,根据会话标识信息确定正确的作业实例;
(4)会话管理器在作业实例池中查找上述作业实例,判断是否能够找到正确的作业实例,如果能找到正确的作业实例,则跳转到步骤(8’);
(5)若会话管理器没有找到正确的作业实例,进一步判断该作业实例是否是正确的请求,如果不是,会话管理器进行出错处理;如果是正确的请求,继续执行以下步骤;
(6)会话管理器把请求消息经过处理后转发给实例管理器;
(7)实例管理器根据请求消息中携带的请求作业的类型、作业定义的地址等信息,调用定义解析器,创建静态模型对象;
(8)实例管理器根据创建的静态模型对象调用编译器生成运行时作业实例,并把请求消息转交给新创建的作业实例进行处理;
(8’)会话管理器把请求消息转交给正确的作业实例进行处理;
(9)作业实例开始自主执行,在执行的过程中,如果有调用外界服务类型的活动实例需要执行,则把相应的参数传递给正确的活动实例;
(10)该活动实例经过适当的数据处理,把请求参数交给活动调用管理器;
(11)活动调用管理器接收来自活动实例的请求参数,根据服务实现的绑定策略绑定到合适的服务实现,把请求参数经过装配和预处理之后发给外界服务模块;
(12)外界服务把响应消息返回给活动调用管理器;活动调用管理器把返回的响应消息经过解析和适当的处理后,交给对应的活动实例;活动实例进行适当的数据处理,并通知服务实例更新实例执行的上下文信息;作业实例在执行过程中,对服务的请求做出响应,把响应消息传到会话管理器;
(13)会话管理器接收来自作业实例的响应消息,标记上适当的会话标识信息,并对响应消息进行适当的处理,交给作业管理器入口;
(14)作业管理器入口终止阻塞过程,把响应消息交给服务容器;
(15)服务容器对响应消息经过适当的后处理(如日志、加密等),返回给作业请求者;至此,整个请求的处理过程结束。
6、根据权利要求5所述的一种网格作业管理方法,其特征在于:所述作业管理器入口的处理主流程包括以下步骤:
1)从网格服务运行平台服务容器处接收请求消息,并把请求消息封装为作业管理器内部使用的作业处理上下文;
2)把作业处理上下文交给会话管理器进行处理;
3)阻塞处理过程,会话管理器和其他的部件对作业上下文进行进一步处理,直到本次请求响应产生;
4)把响应结果封装成符合格式要求的响应消息;
5)把响应消息返回给服务容器。
7、根据权利要求5所述的一种网格作业管理方法,其特征在于:所述会话管理器的处理主流程包括以下步骤:
1)会话管理器从作业管理器入口处获得作业处理上下文;
2)从作业处理上下文中分离出会话标识信息;
3)会话管理器根据获得的会话标识信息从作业实例集合中查找正确的作业实例,如果找到正确的作业实例,则跳转到步骤6);
4)如果没有找到,根据作业处理上下文中携带的信息定位作业定义的位置,调用解析器解析作业定义,创建静态模型;
5)调用编译器,创建新的作业实例;
6)会话管理器把作业处理上下文交给正确的作业实例进行处理;
7)阻塞处理过程,直到产生处理结果;
8)在产生的结果中标识会话标识信息;
9)把处理后的结果返回给作业管理器入口。
8、根据权利要求5所述的一种网格作业管理方法,其特征在于:所述实例管理器主要完成创建作业实例、挂起作业实例、恢复作业实例和终止作业实例,对作业实例进行管理;
实例管理器创建作业实例包括以下步骤:
1)、获得作业的定义文件位置;
2)、调用解析器生成作业的静态模型对象;
3)、再调用编译器生成作业实例;
4)、创建作业处理上下文信息;
5)、返回作业实例的标识ID,注册新生成的作业实例;
实例管理器挂起作业实例包括以下步骤:
1)、作业实例的状态改变为挂起状态,并通知作业实例挂起执行;
2)、作业实例依次通知其中的活动和正在运行的远端服务,通知它们挂起执行,在这里需要调用远端服务或者服务容器的挂起执行接口;
3)、返回操作结果;
实例管理器恢复作业实例包括以下步骤:
1)、把作业实例的状态改变为运行状态,并通知作业实例开始执行;
2)、作业实例依次通知处于挂起状态的活动和远端的挂起服务,通知它们恢复执行,在这里需要调用远端服务或者服务容器提供的恢复执行服务接口;
3)、返回操作结果;
实例管理器终止作业实例的包括以下步骤:
1)把作业的状态改变为终止状态,并通知作业实例终止运行;
2)作业实例依次通知处于运行或者挂起状态的活动和远端的正在运行或者挂起的服务,通知它们终止运行,在这里需要调用远端服务或者服务容器的终止运行服务接口;
3)返回操作结果。
9、据权利要求5述的一种网格作业管理方法,其特征在于:所述编译器的处理主流程包括以下步骤:
1)接受解析器生成的静态模型;
2)新建作业实例,并逐项编译作业实例的静态模型属性,依次编译的属性有参与者信息、作业相关数据信息、错误处理器信息、事件处理器信息、补偿处理器信息和各种活动的信息。
10、根据权利要求5所述的一种网格作业管理方法,其特征在于:所述活动调用管理器的主流程包括以下步骤:
1)活动调用管理器接收活动实例调用外界服务的请求参数;
2)把请求放入队列中进行排队处理;
3)判断作业执行是否完毕,如果执行完毕,则跳转到步骤6);
4)取出一个请求进行处理,主要是按照请求参数里面的内容,初始化调用对象,完成对外界服务的调用,并返回最终的调用结果;
5)跳转到步骤3)执行;
6)结束;
上述步骤4)进一步包括以下步骤,如图13所示,
1)获得调用外界服务类型活动的静态访问点属性,查看该属性值是否为空,如果为空,则跳转到步骤4);否则,继续执行以下步骤;
2)查询信息中心,根据该活动的超级服务标识和服务选择条件调用信息中心提供的查询接口,获得可用服务的列表;
3)判断可用服务的列表是否为空,如果为空,返回出错信息,并通知作业实例进行后续处理;否则,继续执行以下步骤;
4)按照指定的选择策略(例如随机选择)选择服务进行调用;
5)判断轮询方法属性是否为空,如果为空,说明是普通Web服务,则跳转到步骤7)
6)如果不为空,说明是WSRF标准的服务,在服务的执行过程中每隔一定时间间隔更新时间戳,并获得服务的执行状态;
7)判断服务的调用是否出错,如果出错,返回错误结果,通知作业实例,并进行重新的调度过程,跳转到步骤2);
8)如果执行的过程中没有出错,获得服务的返回结果,整个调度执行过程结束。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2005100552084A CN100547967C (zh) | 2005-03-15 | 2005-03-15 | 网格作业管理器与网格作业管理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2005100552084A CN100547967C (zh) | 2005-03-15 | 2005-03-15 | 网格作业管理器与网格作业管理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1835450A true CN1835450A (zh) | 2006-09-20 |
CN100547967C CN100547967C (zh) | 2009-10-07 |
Family
ID=37003064
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2005100552084A Expired - Fee Related CN100547967C (zh) | 2005-03-15 | 2005-03-15 | 网格作业管理器与网格作业管理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100547967C (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008043261A1 (fr) * | 2006-09-29 | 2008-04-17 | Huawei Technologies Co., Ltd. | Système de messagerie convergent |
CN102063308A (zh) * | 2011-01-12 | 2011-05-18 | 中国石油集团川庆钻探工程有限公司 | 一种用于地震勘探资料处理流程控制的方法 |
CN101388887B (zh) * | 2008-10-15 | 2012-09-19 | 中兴通讯股份有限公司 | 一种网络服务的处理方法和系统 |
CN101640667B (zh) * | 2008-07-30 | 2012-11-21 | 国际商业机器公司 | 流程执行方法、流程执行系统及其配置设备和方法 |
CN104350719A (zh) * | 2012-01-06 | 2015-02-11 | 阿尔泰科兰辛有限责任公司 | 联合数据服务装置和方法 |
-
2005
- 2005-03-15 CN CNB2005100552084A patent/CN100547967C/zh not_active Expired - Fee Related
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008043261A1 (fr) * | 2006-09-29 | 2008-04-17 | Huawei Technologies Co., Ltd. | Système de messagerie convergent |
CN101640667B (zh) * | 2008-07-30 | 2012-11-21 | 国际商业机器公司 | 流程执行方法、流程执行系统及其配置设备和方法 |
CN101388887B (zh) * | 2008-10-15 | 2012-09-19 | 中兴通讯股份有限公司 | 一种网络服务的处理方法和系统 |
CN102063308A (zh) * | 2011-01-12 | 2011-05-18 | 中国石油集团川庆钻探工程有限公司 | 一种用于地震勘探资料处理流程控制的方法 |
CN102063308B (zh) * | 2011-01-12 | 2013-06-19 | 中国石油集团川庆钻探工程有限公司 | 一种用于地震勘探资料处理流程控制的方法 |
CN104350719A (zh) * | 2012-01-06 | 2015-02-11 | 阿尔泰科兰辛有限责任公司 | 联合数据服务装置和方法 |
CN104350719B (zh) * | 2012-01-06 | 2018-07-27 | 阿尔泰科兰辛有限责任公司 | 联合数据服务装置和方法 |
Also Published As
Publication number | Publication date |
---|---|
CN100547967C (zh) | 2009-10-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1171145C (zh) | 用于自动软件配置的请求调度程序 | |
CN1783123A (zh) | 基于资源需求和业务影响的过程执行管理 | |
CN1280716C (zh) | 计算机处理方法、分布式计算方法和网络计算方法 | |
CN1252592C (zh) | 通信服务供应方法和设备 | |
CN100351811C (zh) | 一种软件产品健壮性的测试方法及装置 | |
CN1836213A (zh) | 服务器间的透明会话迁移 | |
CN1942860A (zh) | 在分布式网络体系结构中建模和动态部署服务的系统和方法 | |
CN1207847A (zh) | 用于通信系统的系统平台 | |
CN1313920C (zh) | 一种基于统一构件封装件结构的构件组装方法 | |
CN100341281C (zh) | 一种在网络系统中实现任务管理的方法 | |
CN1766835A (zh) | 用于在设计和运行时间无缝制作和编辑工作流的框架 | |
CN1647042A (zh) | 定制软件抽象的方法 | |
CN1967485A (zh) | 一种实现j2ee应用的方法及系统 | |
CN1811702A (zh) | 开发门户应用和自动部署门户应用的系统和方法 | |
CN1975720A (zh) | 一种基于Web的数据挖掘系统及其控制方法 | |
CN1516419A (zh) | 在主机计算机网络上处理客户机请求的系统和方法 | |
CN1554046A (zh) | 用于具有事务特性特征的事务处理的系统和方法 | |
CN1589442A (zh) | 用于与多重调度池进行消息接发的应用服务器的系统 | |
WO2007078668A1 (en) | Object model on workflow | |
CN1916842A (zh) | 构件化软件系统中实现反射机制的构件封装方法 | |
CN1835450A (zh) | 网格作业管理器 | |
CN1825343A (zh) | 创作和执行基于流程且基于约束的工作流的统一模型 | |
CN1820514A (zh) | 管理电信网络的系统体系结构、方法和计算机程序产品 | |
CN1805345A (zh) | Web服务工作流处理器 | |
CN1975676A (zh) | 多节点计算机系统和用于监视其性能的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20091007 Termination date: 20130315 |