实现用于集成系统的统一模型的系统和方法技术方案

技术编号:2829720 阅读:338 留言:0更新日期:2012-04-11 18:40
介绍一种实现用于集成系统的统一模型的系统和方法。用户提供输入到集成化语言引擎以便将算子组件和弧组件放置到数据流程图上。算子组件包括用于表达数据流的数据端口,并且还包括用于表达控制流的元端口。弧组件将算子组件连接起来供数据和控制信息在各算子组件间流动。数据流程图是表达应用的有向非循环图,其在设计过程期间不包括人工边界。一旦集成化语言引擎生成数据流程图,则该集成化语言引擎将该数据流程图编译成生成的应用代码。

【技术实现步骤摘要】

本专利技术涉及一种。更为 特别地,本专利技术涉及一种系统和方法,其用于使用统一模型以在数据流 程图中表达应用而不设人工边界,其反过来允许更大的应用优化。
技术介绍
集成世界中的应用通常按诸如批量、事务和连续之类的类别进行区分。批量处理集成应用(IA)主要使用在新的集成解决方案替代旧定制 的完全不同的应用并且需要移动现有数据的情况下。事务IA主要以商 业过程管理(BPM)的形式出现,其中各种应用在事务保证下通过互换 请求和彼此应答来实现商业过程。而连续IA是判决支持领域中的新兴 应用。综合事件处理(CEP)、事件驱动架构(EDA)、实时数据挖掘和 知识提取、商业活动监视(BAM)都是连续应用的例子,其连续地处理据更好的理解。在企业集成世界中的主流技术是ETL (提取、变换、装载)、EAI (企业应用集成)和EII (企业信息集成)。这些技术中的每种技术相比 其他技术都具有优点和缺点,并且因此这些技术的任何一种都没有获得 压倒性的胜利。虽然这些技术具有不同的能力,但是它们仍然共享许多 概念和组件,并且在许多时候可以使用 一种技术来替代另 一种。SQL (选择查询语言)模型是在关系数据库所基于的EII系统背后 的模型。用SQL表达的这种模型被变换成数据流有向树图。该图的顶点 是集合算子,并且数据集合在各算子间流动,只要它们是可用的。在ETL 系统背后的模型也是类似于SQL模型的数据流模型,虽然该模型可以表 达任何有向非循环图而不仅仅是树图。在EAI系统背后的模型是工作流模型。该模型可以用BPEL来表达并且表示有向非循环图,在该图中顶 点是一旦进入数据就执行的活动。所发现的挑战是,现有技术具有人工区分,其产生相当多的冗余。 另外,现有技术不提供针对连续应用的解决方案。所发现的另一个挑战 是,现有模型中的每种模型相比其他模型具有缺点,并且因此对于解决 方案架构而言,选择设计应用将使用的系统和模型可能并不总是清楚 的。另外,因为现有模型的缺点,许多解决方案不能使用现有模型来实 现。作为结果,解决方案架构可能需要定制解决方案,其开发和维护起 来都很昂贵。此外,定制解决方案通常质量较低,因为打包软件经历更 苛刻的测试。因此,需要一种系统和方法,其使用包含现有系统模型的优点的统 一模型来表达应用。
技术实现思路
已经发现,通过使用 一种用于在数据流计算系统中使用数据流程图 来模拟数据流的系统、方法和计算机程序产品解决了上述挑战。该数据 流程图包括多个算子,每个算子包括至少一个输入端口或至少一个输出 端口。该数据流程图还包括多个弧,每个弧将算子的输出端口之一连接 到不同算子的输入端口。在该数据流程图中,多个数据项沿着各算子之 间的弧以流进行流动。第一算子将多个数据项归类成粒子并对该粒子归 类执行计算,其得到已计算的多个数据项。该第一算子在多个弧之一上 将已计算的多个数据项传送给第二算子。另外,该第一算子基于元状态 转移在它的元端口之一上产生控制数据项,所述元状态转移响应于对在 粒子归类执行的计算。最终,该第一算子将控制数据项传送给另一算子, 其反过来基于控制数据项来控制已计算的多个数据项的流动。在一个实施例中,该系统、方法和计算机程序产品使用控制数据项 来通过使用门算子控制已计算的多个数据项的流动。在这个实施例中, 门算子阻止已计算的多个数据项到达不同的算子,直到控制数据项指示 门算子将已计算的多个数据项提供给不同的算子。在一个实施例中,该系统、方法和计算机程序产品将控制数据项传 送给第二算子,其给第二算子指示一时间,以在该时间处处理已计算的多个数据项。在另一实施例中,该系统、方法和计算机程序产品预定连 接到元端口的弧只接收多个控制数据项的子集。在一个实施例中,该系统、方法和计算机程序产品将对应于在多个 弧上流动的多个数据项的分层数据模型中层级的重复部分的粒子归类。在一个实施例中,该系统、方法和计算机程序产品将多个控制数据 项耦合到外部资源运算,以1更指示所述外部资源运算的开始或完成。在 另一实施例中,该系统、方法和计算机程序产品包括使用多个算子对多 个数据项的并行执行。在又一实施例中,该系统、方法和计算机程序产 品从包括流水线执行和数据并行执行的组中选择该并行执行。在一个实施例中,该系统、方法和计算机程序产品包括一个或多个 声明状态的算子,其累积在包括在粒子中的多个数据项上的状态。在一个实施例中,该系统、方法和计算机程序产品将数据流程图编 译成可顺序执行的代码。在另一实施例中,该系统、方法和计算机程序 产品在第 一 算子处包括对应于与对包括在粒子中的多个数据项执行的 计算相关的当前处理状态的元状态。在又一实施例中,该系统、方法和 计算机程序产品表达在多个行为之间的控制依赖性。在一个实施例中,该系统、方法和计算机程序产品将第一算子和第二算子指定为独立的处理构造。在一个实施例中,该系统、方法和计算机程序产品在数据流程图中 包括方框,所述数据流程图包括第一算子和第二算子。在另一实施例中, 该系统、方法和计算机程序产品包括方框元状态,该方框元状态对应于 与第一算子和第二算子相关联的元状态。在又一实施例中,该系统、方 法和计算机程序产品在方框上包括方框元端口 ,其基于方框元状态的转 移来产生方框控制数据。在一个实施例中,该系统、方法和计算机程序产品使用数据流程图 来对应于批量数据处理应用。在另一实施例中,该系统、方法和计算机 程序产品使用数据流程图来对应流数据处理应用。在又一实施例中,该系统、方法和计算机程序产品使用数据流程图来对应事件处理应用。在 又一实施例中,该系统、方法和计算机程序产品在数据流程图中包括图 形符号。在另一实施例中,该系统、方法和计算机程序产品在数据流程 图中包括非图形语言实现。上述内容是概述并且因此必要地包含对细节的简化、概括和省略; 因此本领域的普通技术人员将意识到该概述只是说明性的并且不是旨 在作为任何限制。在以下阐述的非限制的详细描述中,由权利要求所唯 一定义的其它方面、专利技术性的特征、以及本专利技术的优点将变得明显。附图说明通过参考附图可以更好地理解本专利技术,并且向本领域的普通技术人 员明白展示本专利技术的众多目的、特征以及优点。图1是示出用户基于统一集成模型创建数据流程图的示图; 图2是示出在使用统一集成模型来生成应用代码时所采取的步骤的 流程图3是示出算子组件的输入端口、输出端口和元端口的示图; 图4A是用于算子组件的弧级元状态的状态图; 图4B是用于算子组件的粒子级元状态的状态图; 图5是示出统一集成模型的各种组件的示子的示图7是在统一集成模型内"熔合"粒子和"分裂"粒子的示图; 图8是示出在统一集成模型内将粒子视作波的示图; 图9是示出算子组件使用元端口来顺序地处理粒子的示图; 图IO是示出数据模型的示图11是示出需要不同模型来表达应用的现有技术的示图; 图12是示出使用统一集成模型所表达的应用的示图; 图13是能够实现本专利技术的计算设备的框图。具体实施例方式以下内容旨在提供对本专利技术的例子的详细描述,并且不应该被用来 限制本专利技术自身。相反,任何数量的变型可落入所附的权利要求所定义 的本专利技术的范围内。图l是示出用户基于统一集成^^莫型创建数据流程图的示图。用户100提供输入110给集成化语言引擎130,本文档来自技高网
...

【技术保护点】
一种用计算机实现的方法,用于使用数据流计算系统来模拟数据流,所述方法包括:    包括多个算子的数据流程图,其中所述算子中的每个算子包括至少一个输入端口或至少一个输出端口;    多个弧,其中所述弧中的每个弧将所述多个算子中的一个的输出端口之一连接到所述多个算子中的另一个的输入端口之一;    多个数据项,其沿着所述多个算子之间的所述多个弧以流进行流动;    在第一算子处将所述多个数据项归类成粒子;    在包括在所述多个算子中的第一算子处,对包括在所述粒子中的所述多个数据项执行计算,得到已计算的多个数据项;    在所述多个弧之一上将所述已计算的多个数据项从所述第一算子传送到包括在所述多个算子中的第二算子;    基于元状态转移在所述第一算子上包括的元端口处产生控制数据项,所述元状态转移响应于由所述第一算子对所述粒子归类执行的计算;以及    将所述控制数据项从所述第一算子传送到所述多个算子之一,其中所述控制数据项控制所述已计算的多个数据项的流动。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:A巴尔奥尔MJ贝克勒
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:US[美国]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1