专利名称:基于bpel数据交换的过程处理方法及处理系统的制作方法
技术领域:
本发明涉及数据集成领域,特别是涉及一种基于BPEL的数据交换过程 的流程、断点续传、动态监控的处理方法及处理系统。
背景技术:
企业为实现数据资源的共享与整合往往需要把分布在不同地域、网络域 之中的不同来源、格式的数据在逻辑上或物理上集成,这种需求推动了数据 集成技术与产品的发展。目前,在数据集成领域主要采用数据的逻辑集成和 数据的物理集成两类集成方式,数据的逻辑集成是指的是通过构建逻辑视图 的方式将分布、异构数据源虚拟地整合在一起,例如数据联邦方式数据集 成,对应产品有IBMWii, Sybase DI等;数据的物理集成是指通过构建数据 交换过程,把分布、异构数据源中的数据随需地迁移到指定目标的方式实现 数据整合、共享,例如数据中心、数据仓库方式数据集成,对应产品有 Oracle DataExchange, OWB , Talend等。
数据交换过程主要是指为实现企业中各个分散的,不同类型的信息系统 之中数据的物理集成而构建的包含抽取、传输、加载等步骤的数据交互、处 理流程。为了能够实现分布、异构数据源之间数据的互连互通,向企业信息 系统提供及时、准确、 一致的数据,数据交换过程需要解决以下关键问题 数据的跨域传输,数据的路由,增量数据捕获,不同数据格式之间的转换, 数据清洗和数据加载等。
现有数据交换过程处理技术可以按执行和监控方式划分为基于消息的过 程处理和基于ETTL引擎的过程处理两种。
1、基于消息的过程处理。
这种方式以特定消息中间件或ESB为流程控制核心,基于配置方式定义 数据交换过程,以消息路由的方式传输流程状态信息、流程控制信息和业务 数据。借助消息中间件提供的消息传输和处理功能完成数据流程控制与监 控。凄丈据抽取、转换、加载依赖ETL ( Extraction, Transformation Loading )引
擎完成。
但是,采用这种方式的数据交换系统需要ETL引擎和消息传输组件紧密基于消息交换业务数据的方式需要转换多次数据 格式。比如,需要先将抽取出来的数据转换为XML格式数据附带于消息之上 发送。因此在单次交换数据量较大的情况下,会使系统性能快速下降。
2、基于ETTL引擎的过程处理
ETTL (Extraction, Transformation, Transportation, and Loading)亏1擎是在 ETL引擎之上扩展了数据传输功能的数据流程控制引擎。这种方式以ETTL 引擎为流程控制核心,利用特定结构模型定义数据交换过程,ETTL引擎基于 模型定义控制数据交换过程的执行。业务数据经在源端和目的端数据源之间 构建的数据管道处理,传输。ETTL引擎直接负责数据流程的监控。
由于这种方式需要ETTL引擎基于预定义数据交换模型解析执行或生成 代码编译执行,系统功能扩展(比如扩展对特定类型数据源的支持)不但需要 提供对应的功能组件,还需要扩展ETTL引擎实现,同样面临功能扩展困难 的情况。此外,数据交换过程模型定义和部署都需要基于专业的开发部署工 具完成,不但需要使用者具备数据集成领域专业知识而且过程相对复杂。
可见,现有数据交换过程处理方式已经可以解决大多数数据交换问题, 但在面临跨多域,跨物理隔离或网闸隔离,数据节点较多且网络环境较差的 复杂数据环境下数据交换过程构建时,具有系统不易扩展,部署方式不够灵 活性和流程定义不够便捷等不足。
发明内容
本发明所要解决的技术问题是提供基于BPEL数据交换的过程处理方法 和处理系统,该方法和系统具有易扩展,部署灵活等特性。
本发明还提供一种基于BPEL数据交换的断点续传处理方法和处理系 统,该方法和系统具有易扩展,部署灵活等特性。
本发明还提供一种基于BPEL数据交换的动态监控处理方法和处理系 统,该方法和系统具有易扩展,部署灵活等特性。 本发明一种基于BPEL数据交换的过程处理方法,包括;
步骤ll、创建任务实例,构建BPEL实例所需参数;
步骤12、创建BPEL实例;
步骤13、按预定BPEL模型执行数据交换流程;
8步骤14、执行BPEL实例,判断是否执行结束,如否,返回步骤13;如 是,结束BPEL实例和任务实例。
优选的,构建BPEL实例所需参数具体为 步骤lll、构建交换流程中所需启动参数数据;
步骤112 、定义BPEL相关集,创建BPEL流程及启动所需SOAP消息。 优选的,执行BPEL实例具体为
步骤141、解析BPEL实例中的结构参数,生成组件本地定义结构参数
组;
步骤142、按参数组执行BPEL实例,判断是否正确执行,如是,返回执 行日志;如否,返回异常信息。
优选的,所述本地定义结构参数组为多叉树形结构,多叉树形结构的根 节点为DE Params,非根节点为参数组Group,各参数组Group包含基本属 性、扩展属性Property列表和子节点Group 。
本发明一种基于BPEL数据交换的过程处理系统,包括任务引擎模块、 BPEL ; 1擎模块、及组件服务模块,所述任务引擎模块包括任务实例创建子模 块,所述BPEL引擎模块包括BPEL实例创建子模块和执行结束判断子模块, 所述组件服务模块包括组件执行子模块;
所述任务实例创建子模块,用于创建任务实例,构建BPEL实例所需参
数;
所述BPEL实例创建子模块,用于创建BPEL实例,按预定BPEL模型执 行数据交换流程;
所述组件执行子模块,用于执行BPEL实例;
所述执行结束判断子模块,用于判断是否执行结束,如否,启动所述 BPEL实例创建子模块;如是,结束BPEL实例和任务实例。
优选的,所述任务实例创建子模块包括启动参数构建单元和SOAP参数 启动单元;
所述启动参数构建单元,用于构建交换流程中所需启动参数数据; 所述SOAP参数启动单元,用于定义BPEL相关集,创建BPEL流程及启 动所需SOAP消息。
9优选的,所述组件执行子模块包括结构参数组生成单元和执行正确判断单元结构参数组生成单元,用于解析BPEL实例中的结构参数,生成组件本 地定义结构参数组;执行正确判断单元,用于按参数组执行BPEL实例,判断是否正确执 行,如是,返回执行日志;如否,返回异常信息。本发明一种基于BPEL数据交换的断点续传处理方法,包括步骤81、创建任务实例,构建BPEL实例所需参数;步骤82 、创建BPEL实例;步骤83、按预定BPEL模型执行数据交换过程;步骤84、解析BPEL实例中的结构参数,生成组件本地定义结构参数组; 步骤85、判断参数组是否包含断点,如是,解析断点信息,启动组件恢 复执行;如否,执行BPEL实例。优选的,构建BPEL实例所需参数具体为 步骤811、构建交换流程中所需启动参数数据;步骤812、定义BPEL相关集,创建BPEL流程及启动所需SOAP消息。 优选的,执行BPEL实例具体为步骤842、按参数组执行BPEL实例,判断是否正确执行,如是,返回执 行日志;如否,返回异常信息。本发明一种基于BPEL数据交换的断点续传处理系统,包括任务引擎模 块、BPEL引擎模块、及组件服务模块,所述任务引擎模块包括任务实例创建 子模块,所述BPEL引擎模块包括BPEL实例创建子模块和BPEL模型子模 块,所述组件服务模块包括结构参数组生成子模块和断点判断子模块;所述任务实例创建子模块,用于创建任务实例,构建BPEL实例所需参数;所述BPEL实例创建子才莫块,用于创建BPEL实例; 所述BPEL模型子模块,用于按预定BPEL模型执行数据交换流程; 所述结构参数组生成子才莫块,用于解析BPEL实例中的结构参凄t,生成 组件本地定义结构参数组;10所述断点判断子模块,用于判断参数组是否包含断点,如是,解析断点信息,启动组件恢复执行;如否,执行BPEL实例。优选的,所述任务实例创建子模块包括启动参数构建单元和SOAP参数 启动单元;所述启动参数构建单元,用于构建交换流程中所需启动参数数据; 所述SOAP参数启动单元,用于定义BPEL相关集,创建BPEL流程及启动所需SOAP消息。优选的,所述BPEL引擎模块还包括执行正确判断子模块,用于按参数组执行BPEL实例,判断是否正确执行,如是,返回执行日志;如否,返回异常信息。本发明一种基于BPEL数据交换的动态监控处理方法,包括 步骤141、获取当前任务引擎的状态数据,保存到监控返回数据对象中, 实施监控;步骤142、获取当前任务实例的状态数据,保存到监控返回数据对象中, 实施监控;步骤143、获取组件服务当前执行的状态数据,保存到监控返回数据对象 中,实施监控。优选的,获取当前任务引擎的状态数据具体为步骤S1411、从JMX Server查找当前应用的任务引擎;步骤S1412、获取任务引擎状态数据返回监控返回数据对象。优选的,获取当前任务实例的状态数据具体为步骤S1421、从JMX Server查找对应当前监控流程的任务实例;步骤S1422、获取任务实例状态数据返回监控返回数据对象。优选的,获取组件服务当前执行的状态数据具体为步骤S1431 、基于实例ID从JMX Server查找当前正在运行的服务组件实例;步骤S1432、获取组件服务当前状态数据返回监控返回数据对象。 本发明一种基于BPEL数据交换的动态监控处理系统,包括系统监控 模块、任务引擎模块、及组件服务模块,所述系统监控模块包括监控返回数据对象保存子模块和管理控制台子模块,所述任务引擎模块包括任务? 1擎状 态数据获取子模块和任务实例状态数据获取子模块,所述服务组件模块包括组件服务状态数据获取子模块;所述任务引擎状态数据获取子模块,用于获取当前任务引擎的状态数据,发送到所述监控返回数据对象保存子模块;所述任务实例状态数据获取子模块,用于获取当前任务实例的状态数 据,发送到所述监控返回数据对象保存子模块;所述组件服务状态数据获取子模块,用于获取组件服务当前执行的状态 数据,发送到所述监控返回数据对象保存子^^莫块;所述监控返回数据对象保存子模块,用于保存接收到的数据到监控返回 数据对象;所述管理控制台子模块,用于对监控返回数据对象实施监控。优选的,所述系统监控模块还包括任务引擎查找子模块,用于从JMXServer查找当前应用的任务引擎,发送到所述任务引擎状态数据获取子模块。优选的,所述系统监控模块还包括任务实例查找子模块,用于从JMX Server查找对应当前监控流程的任务实例,发送到所述任务实例状态数据获 取子模块。优选的,所述系统监控模块还包括服务组件实例查找子模块,用于基于 实例ID从JMX Server查找当前正在运行的服务组件实例,发送到组件服务 状态数据获取子模块。与现有^^支术相比,本发明具有以下优点本发明在保留了现有数据交换处理方式的优势特性基础之上提高了系统 功能的可扩展性,提供了一种便捷地定义、修改数据交换过程的方式。部署 策略更加灵活,组件服务可以独立部署,降低了对运行整个数据处理流程的 专用服务器的依赖程度。
为了更清楚地说明本发明实施例中的技术方案,下面将对现有技术 和实施例中所需要使用的附图作筒单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付 出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图la为本发明基于BPEL的数据交换过程处理系统示意图; 图lb为本发明多叉树结构示意图;图2为本发明基于BPEL数据交换的过程处理方法流程图; 图3为本发明基于BPEL数据交换的过程处理系统示意图; 图4为本发明基于BPEL数据交换的断点续传处理方法流程图; 图5为本发明基于BPEL数据交换的断点续传处理系统示意图; 图6为本发明基于BPEL数据交换的动态监控处理方法流程图; 图7为本发明基于BPEL数据交换的动态监控处理系统示意图; 图8为本发明数据交换处理流程示意图; 图9为本发明数据交换处理流程另一示意图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图 和具体实施方式
对本发明作进一步详细的说明。本发明核心i殳计思想是基于BPEL(Business Process Execution Language)定 义数据交换过程,数据过程处理和监控方式以BPEL引擎为核心,采用解释 执行预定义为XML格式的数据交换BPEL流程模型,协同调用数据交换组件 服务方式运行,采用这种方式不但使得系统流程控制管理功能强大,而且在 面临跨多域,跨物理隔离或网闸隔离,数据节点较多且网络环境较差的复杂 数据环境下数据交换过程构建时,系统易扩展,部署方式灵活和流程定义便 捷。BPEL是一种XML Web Services协调控制(Orchestration)语言,由IBM, BEA和Microsoft在2002年联合定制。 一个典型BPEL处理流程是由商业分 析人员(并非软件开发人员)根据具体过程处理需要利用图形化编辑工具创建 出来的XML文档。BPEL定义文件会由BPEL引擎解释执行,BPEL引擎可以 通过Web Services接口发布BPEL流程或根据流程定义触发处理过程。BPEL允许使用Web服务组件开发复杂的业务流程,支持完备的流程控 制结构,如循环和条件、变量,分配数据值,定义错误处理程序等等。BPEL标准将流程的互操作性和可移植性提高到一个前所未有的程度。互操作 性使运行在不同业务流程引擎上的业务流程能够彼此交互,以及与多个供应 商和开源平台发布的服务交互,将BPEL提供的流程开发部署模式和流程执 行控制功能应用到数据交换系统中会使数据流程开发、修改和部署更加灵活。为了使系统具有良好的架构和可扩展性,并能够与BPEL流程完整集 成,本发明提出了一种基于组件的服务构建模型,将系统中功能相对独立的 数据处理模块封装为+>耦合的功能组件插件,定义基于WSDL (Web Service Description Language )接口规范的数据交互接口 ,并以组件服务的形式提供 BPEL调用。参见图la,为本发明基于BPEL的数据交换过程处理系统,包括任务引 擎模块11、 BPEL引擎模块12、功能组件服务模块13和系统监控模块14。任务引擎模块11是数据交换任务的执行模块。数据交换任务指包含一个 数据交换流程模型定义,关联一个完整数据交换业务处理逻辑的最小执行单 元。数据交换模型由一个BPEL模型和与其匹配的一组流程启动参数组成。 任务实例对应任务的单次执行过程,任务每次运行都会先创建运行态任务实 例,运行结束则任务实例废弃并置为非运行态。任何时间点对应任务的运行 态任务实例个数只可能为O或1。BPEL引擎模块13是解释执行数据交换流程模型中BPEL模型的模块, 负责数据交换流程控制,组件服务编排(Choreography) 。 BPEL模型的一次 解释执行过程对应一个BPEL实例, 一个BPEL模型可以被多个数据交换任务 关联,可以对应多个BPEL实例,但一个BPEL实例只能对应一个任务实例。功能组件服务模块13封装了数据交换流程中数据处理功能(比如数据 抽取、数据加载、数据传输、数据转换等)的组件服务。功能组件服务由功能 组件插件和组件服务两部分组成。功能组件插件包含一个完整的数据处理功 能(比如数据抽取),组件服务基于WSDL描述定义的组件服务调用公共 接口-ComponentService与数据交换BPEL模型集成。单个功能组件对应数据 交换流程BPEL模型中的一个步骤。 一次功能组件调用执行过程对应一个步 骤运行实例,步骤运行实例是任务实例的一部分。功能组件插件服务模块13的插件可以分为预定义插件和自定义插件。预定义插件包含数据交换流程中常用的功能插件。自定义插件指用户基于指定插件设计模式和接口定义自实现的自定义功能插件。这种结构的设计使得在定义特殊场景下数据交换流程时,用户能够更快速、更便捷地扩展系统功能,降低了复杂度和开发工作量。
基于WSDL ( Web Service Description Language )组件服务4妄口定义。所有组件服务都基于公共服务接口-ComponentService与数据交换BPEL模型集成。组件服务接口定义,ComponentService包含两个4妻口定义execute,组件启动运行接口,输入启动参数与BPEL相关集,返回执行日
志o
执行请求纟各式定义。
compensate,异常补偿处理接口,处理在流程某步骤发生异常后,需要回退处理前续已经执行成功了的步骤的应用场景。例如流程中包含顺序执行的步骤A、 B、 C、 D,当执行到C节点出现异常需要回退处理,则需,次调用C、 B、 A步骤的compensate接口还原已经完成的活动,依照特定的逻辑进行补偿。
补偿请求格式定义。
请求参数定义,instld,维持任务实例和BPEL实例之间一对一关联关系的相关集(Correlation Sets )信息。(相关集是BPEL用来关联和标定一个BPEL实例的一组特定的数据。)params,传递组件启动执行所需数据的参数。参数凄t寸居结构定义为DEParams。
服务组件启动、监控数据传输结构-DEParams定义
参见图lb,为了满足任务引擎与各种服务组件之间传递不同格式,不同类型启动、监控数据交互的需要,流程监控数据传输结构定义为基于XML格式多叉树形结构。参数树的根接节点定义为DEParams,非根节点为参数组Group,每个Group包含基本属性(name:分组名称)、扩展属性Property列表和其子节点Group。 Property为键:值对〈Key,Value〉4各式。
系统监控模块14监控系统任务引擎、任务、组件服务实时运行状态的功能模块。系统监控模块14以JMX (Java Management Extensions)是为应用程序
15植入管理功能的框架。JMX是一套标准的代理和服务,用户可以在任何Java应用程序中使用这些代理和服务实现管理。Mbeans (Managed beans)是监控对象的实体定义,所有被监控对象必须遵循JMX预定义设计和接口定义模式。监控服务器(JMX Mbeans Server)为核心,所有被监控模块(任务引擎、任务、组件服务)定义为Mbeans,监控代理维护任务引擎、任务、组件服务Mbeans之间的对应关系,为监控调用者提供Mbeans注册、注销和监控功能。
借助上述基于BPEL的数据交换过程处理系统,本发明还公开一种基于BPEL的数据交换过程处理方法。数据交换流程的核心处理过程主要包括以下三部分。
1、数据交换执行过程。
该过程是数据交换流程的运行过程,包含实例管理,流程控制和执行返回日志信息处理方式与执行子过程。涉及任务引擎模块11、 BPEL引擎模块12和组件服务模块13。
参见图2,示出本发明基于BPEL数据交换的过程处理方法,包括以下步骤。
步骤S201、任务引擎模块ll创建任务实例,构建交换流程中各个步骤所需启动参数数据;
步骤S202、任务引擎模块11定义BPEL相关集,创建BPEL流程启动SOAP消息;
步骤S203、任务引擎模块11向BPEL引擎中指定BPEL流程服务地址发送SOAPi青求;
步骤S204、 BPEL模块12创建BPEL实例并启动;
步骤S205、 BPEL模块12按预定以BPEL模型执行数据交换流程,调用组件服务;
步骤S206、组件服务模块13解析DEParams结构参数,生成组件本地定义结构参数组;
步骤S207、组件服务模块13启动组件执行,完成后返回BPEL执行结
果;步骤S208、 BPEL引擎模块12判断是否正确执行,如是,转到步骤 S209;如否转到步骤S210;
步骤S209、 BPEL引擎模块12调用任务引擎服务,返回执行日志,转到 步骤S211;
步骤S210、 BPEL引擎模块12调用任务引擎服务,返回异常信息;
步骤S211、任务引擎模块11处理并持久化组件执行返回信息;
步骤S212、 BPEL引擎模块12判断执行是否结束,如是转到步骤S213,
如否,返回步骤S205;
步骤S213、 BPEL引擎模块12调用任务引擎服务,返回流程执行过程日
志信息,结束BPEL实例;
步骤S214、任务引擎模块ll处理并持久化流程执行返回信息,结束任务实例。
本发明还提供一种基于BPEL数据交换处理系统。参见图3,该系统包括 任务引擎模块11、 BPEL引擎模块12、及组件服务模块13,任务引擎模块11 包括任务实例创建子模块111, BPEL引擎模块12包括BPEL实例创建子模 块121和执行结束判断子模块122,组件服务模块13包括组件执行子模块 131。
任务实例创建子模块111创建任务实例,构建BPEL实例所需参数; BPEL实例创建子模块121创建BPEL实例,按预定BPEL模型执行数据交换 流程;组件执行子模块131执行BPEL实例;执行结束判断子模块122判断是 否执行结束,如否,启动所述BPEL实例创建子模块;如是,结束BPEL实例 和任务实例。
其中,任务实例创建子才莫块lll包括启动参数构建单元和SOAP参数启动 单元,启动参数构建单元构建交换流程中所需启动参数数据;SOAP参数启 动单元定义BPEL相关集,创建BPEL流程及启动SOAP消息。
其中,组件执行子模块131包括结构参数组生成单元和执行正确判断单 元结构参数组生成单元解析BPEL实例中的结构参数,生成组件本地定义 结构参数组;执行正确判断单元按参数组执行BPEL实例,判断是否正确执 行,如是,返回执行日志;如否,返回异常信息。
172、断点续传处理过程。
该过程指数据交换过程处理任务执行过程中发生错误终止或手动暂停之 后,从上次执行断点处恢复任务执行的过程。涉及模块有任务引擎模块11、
BPEL引擎模块12、和组件服务模块13。
参见图4,示出本发明基于BPEL数据交换的断点续传处理方法,具体步 骤为以下步骤。
步骤S401、任务引擎模块ll创建任务实例,构建交换流程中各个步骤所 需启动参数数据;
步骤S402、任务引擎模块11定义BPEL相关集,创建BPEL流程及启动 SOAP消息;
步骤S403、任务引擎模块11向BPEL引擎中指定BPEL流程服务地址发 送SOAP请求;
步骤S404、 BPEL模块12创建BPEL实例并启动;
步骤S405、 BPEL模块12按预定以BPEL模型执行数据交换流程,调用 组件服务;
步骤S406、组件服务模块13解析DEParams结构参数,生成组件本地定 义结构参数组;
步骤S407、组件服务模块13判断是否包含断点,如是转到步骤S409;如 否,转到步骤S408;
步骤S408、组件服务才莫块13启动组件正常执行,完成后返回BPEL4丸行 结果;
步骤S409、组件服务模块13解析BPEL断点信息,启动组件回复执行, 完成后返回BPEL l丸行结果;
步骤S410、 BPEL引擎模块12判断是否正确执行,如是,转到步骤 S411;如否转到步骤S412;
步骤S411、 BPEL引擎模块12调用任务引擎服务,返回执行日志,转到 步骤S411;
步骤S412、 BPEL引擎模块12调用任务引擎服务,返回异常信息; 步骤S413、任务引擎模块11处理并持久化组件执行返回信息;步骤S414、 BPEL引擎模块12判断执行是否结束,如是转到步骤S415, 如否,返回步骤S405;
步骤S415、 BPEL引擎模块12调用任务引擎服务,返回流程执行过程日 志信息,结束BPEL实例;
步骤S416、任务引擎模块ll处理并持久化流程执行返回信息,结束任务 实例。
本发明还提供一种基于BPEL数据交换的断点续传处理系统。参见图5, 包括任务引擎模块ll、 BPEL引擎模块12、及组件服务模块13,任务引擎模 块11包括任务实例创建子模块111, BPEL引擎模块12包括BPEL实例创建 子模块121、 BPEL模型子模块123、和执行正确判断子模块124,组件服务模 块13包括结构参数组生成子模块132和断点判断子模块133
任务实例创建子模块111创建任务实例,构建BPEL实例所需参数; BPEL实例创建子模块121创建BPEL实例;BPEL模型子模块123按预定 BPEL模型执行数据交换流程;结构参数组生成子模块132解析BPEL实例中 的结构参数,生成组件本地定义结构参数组;断点判断子模块133判断参数组 是否包含断点,如是,解析断点信息,启动组件恢复执行;如否,执行BPEL 实例。执行正确判断子模块124按参数组执行BPEL实例,判断是否正确执 行,如是,返回执行日志;如否,返回异常信息。
其中,任务实例创建子模块lll包括启动参数构建单元和SOAP消息启动 单元;启动参数构建单元构建交换流程中所需启动参数数据;SOAP消息启 动单元定义BPEL相关集,创建BPEL流程及启动所需SOAP消息。 '3、流程动态监控过程
该过程指动态监控数据交换过程处理实时状态信息的过程,目的是使用 户能够从管理控制台图形化界面监控数据交换过程执行和数据处理的实时状 态信息。涉及核心系统模块有系统监控模块14、任务引擎模块ll和组件服 务模块13。
参见图6,示出本发明基于BPEL数据交换的动态监控处理方法,具体步 骤为以下步骤。
步骤S601、系统监控模块14从JMX Server查找当前应用的任务引擎;步骤S602、任务引擎模块11获取任务引擎状态数据返回; 步骤S603、系统监控模块14保存数据到监控返回数据对象; 步骤S604、系统监控才莫块14 /人JMX Server查找对应当前监控流程的任 务实例;
步骤S605、任务引擎模块11获取任务实例状态数据返回; 步骤S606、系统监控模块14保存数据到监控返回数据对象; 步骤S607、任务引擎模块ll基于实例ID从JMX Server查找当前正在运 行的服务组件实例;
步骤S608、服务组件模块13获取组件服务当前状态数据返回; 步骤S609、任务引擎模块11保存数据到监控返回数据对象; 步骤S610、任务引擎模块11将监控数据对象返回管理控制台显示。 本发明还提供一种基于BPEL数据交换的流程动态监控系统。参见图7, 包括系统监控模块14、任务引擎模块ll、及组件服务模块13,系统监控模 块14包括监控返回数据对象保存子模块141、管理控制台子模块142、任务引 擎查找子模块143、和任务实例查找子模块144,任务引擎模块ll包括任务引 擎状态数据获取子模块111和任务实例状态数据获取子模块112,服务组件模 块13包括组件服务状态数据获取子模块131。
任务引擎查找子模块143从JMX Server查找当前应用的任务引擎,发送 到任务引擎状态数据获取子模块111,任务引擎状态数据获取子模块111获取 当前任务引擎的状态数据,发送到监控返回数据对象保存子模块141;
任务实例查找子模块144从JMX Server查找对应当前监控流程的任务实 例,发送到任务实例状态数据获取子模块112,任务实例状态数据获取子模块 112获取当前任务实例的状态数据,发送到监控返回数据对象保存子模块 141;
月l务组件实例查找子模块145基于实例ID从JMX Server查找当前正在 运行的服务组件实例,发生到组件服务状态数据获取子模块131,组件服务 状态数据获取子模块131获取组件服务当前执行的状态数据,发送到监控返 回数据对象保存子模块141。
监控返回数据对象保存子模块141保存接收到的数据到监控返回数据对
20象,管理控制台子模块142对监控返回数据对象实施监控。 下面列举一实施例。
某数据交换处理流程需要完成从数据源A到数据源B的数据交换。数据 交换过程中包含三个顺序执行的步骤,分别是数据抽取、数据传输和数据加 载(如图8所示)。数据抽取步骤负责把需要交换的数据从数据源A抽取出 来,并转换成XML格式的数据;数据传输步骤将抽取出来的XML格式数据 发送到指定目的端;数据加载步骤检测到传输过来的XML数据后将数据加载 到目的端数据源B中。
定义数据交换流程可分为以下三个步骤
1、 创建功能组件插件该数据交换过程处理需要用到两种类型的插件, 分别是,ETL功能组件(负责完成数据抽取和数据加载步骤);传输功能组件
(负责数据传输步骤)。
2、 定义BPEL模型基于选定功能组件插件和ComponentService接口定 义创建数据交换BPEL模型(模型的图形化结构描述)。
3、 创建数据交换任务创建对应业务逻辑的数据交换任务,关联BPEL 模型定义,构建各个步骤执行所需的启动参数。
凄t据交换核心处理过程可分为以下三个步骤(BPEL才莫型、功能组件与流 程步骤之间的关联关系如图9所示)
BPEL引擎调用ETL功能组件服务,传入对应数据抽取步骤的启动参 数,启动ETL组件。数据抽取过程执行完成后将执行结果返回任务实例处 理,随后BPEL引擎调用传输功能组件服务,传入对应数据传输步骤的启动 参数,启动Transport组件。数据传输过程执行完成后将执行结果返回任务实 例处理,随后BPEL引擎调用ETL功能组件服务,传入对应数据加载步骤的 启动参数,启动ETL组件。
本发明在保留了现有数据交换处理方式的优势特性基础之上提高了系统 功能的可扩展性,提供了一种便捷地定义、修改数据交换过程的方式。部署 策略更加灵活,组件服务可以独立部署,降低了对运行整个数据处理流程的 专用服务器的依赖程度。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润 饰,也可以上述具体实施方式
的进行组合,这些改进、润饰及组合形成的技 术方案也应视为本发明的保护范围。
权利要求
1、一种基于BPEL数据交换的过程处理方法,其特征在于,包括;步骤11、创建任务实例,构建BPEL实例所需参数;步骤12、创建BPEL实例;步骤13、按预定BPEL模型执行数据交换流程;步骤14、执行BPEL实例,判断是否执行结束,如否,返回步骤13;如是,结束BPEL实例和任务实例。
2、 如权利要求l所述的方法,其特征在于,构建BPEL实例所需参数具 体为步骤lll、构建交换流程中所需启动参数数据;步骤112、定义BPEL相关集,创建BPEL流程及启动所需SOAP消息。
3 、,执行BPEL实例具体为步骤141、解析BPEL实例中的结构参数,生成组件本地定义结构参数组;步骤142、按参数组执行BPEL实例,判断是否正确执行,如是,返回执 行日志;如否,返回异常信息。
4、 如权利要求3所述的方法,其特征在于,所述本地定义结构参数组为 多叉树形结构,多叉树形结构的根节点为DE Params,非根节点为参数组 Group,各参数组Group包含基本属性、扩展属性Property列表和子节点 Group 。
5、 一种基于BPEL数据交换的过程处理系统,其特征在于,包括任务引 擎模块、BPEL引擎模块、及组件服务模块,所述任务引擎模块包括任务实例 创建子模块,所述BPEL引擎模块包括BPEL实例创建子模块和执行结束判断 子模块,所述组件服务模块包括组件执行子模块;所述任务实例创建子模块,用于创建任务实例,构建BPEL实例所需参数;所述BPEL实例创建子模块,用于创建BPEL实例,按预定BPEL模型执 行数据交换流程;所述组件执行子模块,用于执行BPEL实例;所述执行结束判断子模块,用于判断是否执行结束,如否,启动所述BPEL实例创建子模块;如是,结束BPEL实例和任务实例。
6、 如权利要求5所述的系统,其特征在于,所述任务实例创建子模块包 括启动参数构建单元和SOAP参lt启动单元;所述启动参数构建单元,用于构建交换流程中所需启动参数数据; 所述SOAP参数启动单元,用于定义BPEL相关集,创建BPEL流程及启 动所需SOAP消息。
7、 如权利要求5所述的系统,其特征在于,所述组件执行子模块包括结 构参数组生成单元和执行正确判断单元结构参数组生成单元,用于解析BPEL实例中的结构参数,生成组件本 地定义结构参数组;执行正确判断单元,用于按参数组执行BPEL实例,判断是否正确执 行,如是,返回执行日志;如否,返回异常信息。
8、 一种基于BPEL数据交换的断点续传处理方法,其特征在于,包括 步骤81、创建任务实例,构建BPEL实例所需参数;步骤82 、创建BPEL实例;步骤83、按预定BPEL模型执行数据交换过程;步骤84、解析BPEL实例中的结构参数,生成组件本地定义结构参数组; 步骤85、判断参数组是否包含断点,如是,解析断点信息,启动组件恢 复执行;如否,执行BPEL实例。
9、 如权利要求8所述的方法,其特征在于,构建BPEL实例所需参数具 体为步骤811、构建交换流程中所需启动参数数据;步骤812、定义BPEL相关集,创建BPEL流程及启动所需SOAP消息。
10、 如权利要求8所述的方法,其特征在于,执行BPEL实例具体为 步骤842、按参数组执行BPEL实例,判断是否正确执行,如是,返回执行曰志;如否,返回异常信息。
11、 一种基于BPEL数据交换的断点续传处理系统,其特征在于,包括 任务引擎模块、BPEL引擎模块、及组件服务模块,所述任务引擎模块包括任务实例创建子模块,所述BPEL引擎模块包括BPEL实例创建子模块和BPEL 模型子模块,所述组件服务模块包括结构参数组生成子模块和断点判断子模块;所述任务实例创建子模块,用于创建任务实例,构建BPEL实例所需参数;所述BPEL实例创建子4莫块,用于创建BPEL实例;所述BPEL模型子模块,用于按预定BPEL模型执行数据交换流程;所述结构参数组生成子模块,用于解析BPEL实例中的结构参数,生成组件本i也定义结构参lt组;所述断点判断子模块,用于判断参数组是否包含断点,如是,解析断点信息,启动组件恢复执行;如否,执行BPEL实例。
12、 如权利要求11所述的系统,其特征在于,所述任务实例创建子模块 包括启动参数构建单元和SOAP参数启动单元;所述启动参数构建单元,用于构建交换流程中所需启动参数数据; 所述SOAP参数启动单元,用于定义BPEL相关集,创建BPEL流程及启 动所需SOAP消息。
13、 如权利要求11所述的系统,其特征在于,所述BPEL引擎模块还包 括执行正确判断子模块,用于按参数组执行BPEL实例,判断是否正确执 行,如是,返回执行日志;如否,返回异常信息。
14、 一种基于BPEL数据交换的动态监控处理方法,其特征在于,包括步骤141、获取当前任务引擎的状态数据,保存到监控返回数据对象中, 实施监控;步骤142、获取当前任务实例的状态数据,保存到监控返回数据对象中, 实施监控;步骤143、获取组件服务当前执行的状态数据,保存到监控返回数据对象 中,实施监控。
15、 如权利要求14所述的方法,其特征在于,获取当前任务引擎的状态 数据具体为步骤S1411、从JMX Server查找当前应用的任务引擎; 步骤S1412、获取任务引擎状态数据返回监控返回数据对象。
16、 如权利要求14所述的方法,其特征在于,获取当前任务实例的状态 数据具体为步骤S1421 、从JMX Server查找对应当前监控流程的任务实例; 步骤S1422、获取任务实例状态数据返回监控返回数据对象。
17、 如权利要求14所述的方法,其特征在于,获取组件服务当前执行的 状态数据具体为步骤S1431、基于实例ID从JMX Server查找当前正在运行的服务组件实例;步骤S1432、获取组件服务当前状态数据返回监控返回数据对象。
18、 一种基于BPEL数据交换的动态监控处理系统,其特征在于,包 括系统监控模块、任务引擎模块、及组件服务模块,所述系统监控模块包 括监控返回数据对象保存子模块和管理控制台子模块,所述任务引擎模块包 括任务引擎状态数据获取子模块和任务实例状态数据获取子模块,所述服务 组件模块包括组件服务状态数据获取子模块;所述任务引擎状态数据获取子模块,用于获取当前任务引擎的状态数 据,发送到所述监控返回数据对象保存子模块;所述任务实例状态数据获取子模块,用于获取当前任务实例的状态数 据,发送到所述监控返回数据对象保存子模块;所述组件服务状态数据获取子模块,用于获取组件服务当前执行的状态 数据,发送到所述监控返回数据对象保存子模块; '所述监控返回数据对象保存子模块,用于保存接收到的数据到监控返回 数据对象;所述管理控制台子模块,用于对监控返回数据对象实施监控。
19、 如权利要求18所述的系统,其特征在于,所述系统监控模块还包括 任务引擎查找子模块,用于从JMX Server查找当前应用的任务引擎,发送到 所述任务引擎状态数据获取子模块。
20、 如权利要求18所述的系统,其特征在于,所述系统监控模块还包括任务实例查找子模块,用于从JMX Server查找对应当前监控流程的任务实例,发送到所述任务实例状态数据获取子模块。
21、如权利要求18所述的系统,其特征在于,所述系统监控模块还包括服务组件实例查找子模块,用于基于实例ID从JMX Server查找当前正在运行的服务组件实例,发送到组件服务状态数据获取子模块。
全文摘要
本发明涉及一种基于BPEL的数据交换的过程处理方法,包括;步骤11.创建务任实例,构建BPEL实例所需参数;步骤12.创建BPEL实例;步骤13.按预定BPEL模型执行数据交换过程;步骤14.执行BPEL实例,判断是否执行结束,如否,返回步骤13;如是,结束BPEL实例和任务实例。本发明还涉及一种基于BPEL数据交换的过程处理系统,一种基于BPEL数据交换的断点续传处理方法及处理系统,一种基于BPEL数据交换的动态监控处理方法及系统。本发明具有良好的功能可扩展性;部署策略更加灵活,组件服务可以独立部署,降低了对运行整个数据处理流程的专用服务器的依赖程度。
文档编号G06F9/44GK101630247SQ200910013199
公开日2010年1月20日 申请日期2009年8月11日 优先权日2009年8月11日
发明者周进刚, 霞 张, 勇 纪, 力 许 申请人:东软集团股份有限公司