动态组合数据流处理应用程序制造技术

技术编号:7170243 阅读:440 留言:0更新日期:2012-04-11 18:40
提供了用于动态修改应用程序内组件之间的互联的技术。所述技术包括:针对要在一个或多个处理器上执行的软件应用程序内的每一个输出端口接收数据生产者档案,针对应用程序每一个组件中的每一个输入端口接收数据订阅档案,根据每一份数据生产者档案和每一份数据订阅档案的比较,在应用程序内组件的输出端口和输入端口之间建立连接,在一个或多个处理器上执行应用程序以处理数据流,在执行应用程序期间接收新的数据生产者档案或新的数据订阅档案之一或两者都接收,并根据接收的包括新数据档案的数据档案的修正比较在输出端口和输入端口之间建立至少一个新连接。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术的实施例主要涉及信息技术,并且更具体地涉及数据流处理。
技术介绍
流处理计算范式包括以流的形式同化来自软件或硬件传感器集合的数据读数 (也就是说,无限的元组集合承载了由外部数据源生成的信息),分析数据,然后可能也是以流格式生成可指导行动的结果。流处理应用程序可以包括多个组件,每一个组件均可生成可以由应用程序中的另一个组件调用的数据流。例如,在交通管理系统中,可以设想携带手机的每一位驾驶员都会变成向拥堵控制系统中输送关于其位置和速度信息的数据源。在这样的情况下,分布式交通管理平台的数据收集部分可以将其关注点集中在订阅所有可用的数据源(例如特定区域内所有携带手机的驾驶员)以提高其可能做出的拥堵预测的准确度。因此,对于提供数据源的自动路由存在需求。在上述情况下,这可能会包括将捕获驾驶员速度和位置的瞬时读数以及交通事故的位置和道路养护方案路由至数据使用者(在该示例中是交通和拥堵管理系统平台)。通常,流处理应用程序可以包括几十到几百个解析操作点,配置在架设了很多其他可能互联的流应用程序的系统上,分布在大量的处理节点中。在现有的方法中,实现可以互联应用程序或者允许集成多个应用程序的流程图通常是通过硬编码应用程序内和应用程序间连接或者是通过依靠发布-订阅或企业服务总线型的机制以特定方式完成的,具有很多关于可扩展性问题方面的缺点。由生成者产生的数据相对于应用程序的执行可以是间歇性的。例如,在基础设施监控领域内发展起来的大规模分布式应用程序(例如交通管理系统、能量分布系统、大零售商供应链管理系统、分布式欺诈和异常检测系统、监视系统等)往往是长期运行的应用程序,被设计为除了周密计划好的维护停机期间以外可能都要保持连续运行。而且,这些应用程序经常被设计为在它们内部互相协作,例如,通过使交通传感器驱动自动交通控制以用于减少拥堵。在很多情况下,为现有应用程序输送数据的原始数据源可能会以变化的时间间隔 (也就是从几秒到几天)连续地变为可用和不可用,原因就在于这些来源中的一部分是暂时性的。在此情况下,平台中的数据收集部分可以将其关注点集中在订阅所有可用的原始数据源。因此,需要对于向数据使用者提供数据源的自动路由。现有的方法包括发布/订阅系统。但是,发布/订阅系统是以由生产者生成的各个数据项的间隔来描述数据特性,而不是以生产者的间隔。这样的方法并不实用,原因在于与以数据源的间隔进行注释相比的注释各个数据项相关联的低效率。
技术实现思路
本专利技术的原理和实施例提供了用于动态组合数据流处理应用程序的技术。根据本专利技术的一种应用,一种用于在基于组件的数据流处理应用程序中动态修改多个组件之间互联的示范性方法(可以用计算机实现)可以包括以下步骤针对要在一个或多个处理器上执行的软件应用程序内的多个输出端口中的每一个输出端口接收数据生产者档案,其中应用程序包括多个组件,每一个组件都包括生成数据流的输出端口和调用数据流的输入端口,并且其中每一份数据生产者档案都描述了由对应输出端口生成的数据特征,针对应用程序多个组件的一个或多个输入端口中的每一个输入端口接收数据订阅档案,其中每一份数据订阅档案都描述了由输入端口调用的数据特征,根据接收的数据生产者档案和接收的数据订阅档案的比较,在应用程序内多个组件的输出端口和输入端口之间建立一个或多个连接,在一个或多个处理器上执行数据流处理应用程序以处理一个或多个数据流,在执行应用程序期间接收新的数据生产者档案或新的数据订阅档案之一或两者都接收,并根据接收的包括一个或多个新数据档案的数据档案的修正比较,在输出端口和输入端口之间建立至少一个新连接。本专利技术的一个或多个实施例或者其要素能够以一种计算机产品的形式实现,包括实体的计算机可读取存储介质以及用于执行上述方法步骤的计算机可用程序代码。而且, 本专利技术的一个或多个实施例或者其要素能够以一种设备的形式实现,包括存储器以及连接至存储器并且可操作用于完成示范性方法步骤的至少一个处理器。再进一步地,在另一种应用中,本专利技术的一个或多个实施例或者其要素能够以一种用于实现本文中所述的一个或多个方法步骤的装置的形式实现;该装置可以包括(i) 一种或多种硬件模块,(ii) 一种或多种软件模块和/或组件,或者(iii)硬件和软件模块/组件的组合;(i)-(iii)中的任意一种均可实现本文中所阐述的具体技术,并且软件模块/组件被存储在实体的计算机可读取存储介质(或多个这样的介质)中。根据以下对本专利技术说明性实施例的详细介绍,本专利技术上述以及其他的目标、特征和优点将会变得显而易见,应结合附图阅读所述实施例。附图说明图1是示出了根据本专利技术的实施例的在基于组件的应用程序中动态修改多个组件之间的一种或多种互联的示意图;图2是示出了根据本专利技术的实施例的用于基于XPATH的组合机制的示范性语法的示意图;图3是示出了用于实施本专利技术的一个或多个实施例的多组件设备的示范性组织的示意图;图4是示出了根据本专利技术的实施例的与由应用程序生成的流相关联的可扩展标记语言(XML-)编码档案在通过档案管理器组件保存时的示范性列表;图5是示出了根据本专利技术的实施例的在建立新的生产者和/或使用者的流连接时新应用程序的配置如何在流程图中触发修改的流程图;图6是示出了根据本专利技术的实施例的在切断新的生产者和/或使用者的流连接时新应用程序的终止如何在流程图中触发修改的流程图;图7是示出了根据本专利技术的实施例的在建立和/或切断新的生产者和/或使用者的流连接时描述流的相关性质的流档案的修改如何在流程图中触发修改的流程图;图8是示出了根据本专利技术的实施例的在建立和/或切断新的生产者和/或使用者的流连接时与组件输入端口相关联的订阅表达式的修改如何在流程图中触发修改的流程图;图9是示出了根据本专利技术的实施例的在建立和/或切断新的生产者和/或使用者的流连接时与组件输入端口相关联的订阅函数的修改如何在流程图中触发修改的流程图;图10是示出了根据本专利技术的实施例的在建立和/或切断新的生产者和/或使用者的流连接时与组件输入端口相关联的订阅评价标准的修改如何在流程图中触发修改的流程图;图11是示出了根据本专利技术的实施例的用于在基于组件的数据流处理应用程序中动态修改多个组件之间互联的技术流程图;图12是一种示范性计算机系统的系统示意图,本专利技术的至少一个实施例能够在该示范性计算机系统上实施。具体实施例方式本专利技术的原理包括基于档案的动态应用程序组合。高性能、分布式计算的流处理中间软件能够支持同时运行多种应用程序,其中每一种应用程序都可能包括有用作数据源 (生产者)和用作数据宿(使用者)的若干组件。本专利技术一个或多个实施例提供的技术用于描述由这样的应用程序以生产者的间隔生成的数据特征,用于描述每一个使用者所需的数据特征,以及用于从适当的使用者向使用者动态匹配和路由数据。本文中详细介绍的技术包括通过确定应用程序中不同组件之间的数据流结构并为数据交换建立必备的物理路由和连接。另外,所述技术包括用于动态操作(例如查询、插入、删除和/或改变)生产者的等级特征(或性质)、基于生产者性质的使用者订阅以及将匹配每一个使用者的生产者按优先顺序排列的评价功能的方法。在大规模分布式应用程序中,本专利技术的一个或多个实施例包括以对应用程序有意义的方式定位数据源,允许逻辑订阅规范,其中并不是本文档来自技高网
...

【技术保护点】
1.一种用于在基于组件的数据流处理应用程序中动态修改多个组件之间互联的系统,包括:处理器;耦合至处理器的存储器;储存在存储器上的档案管理器模块,针对要在一个或多个处理器上执行的软件应用程序内的多个输出端口中的每一个输出端口接收数据生产者档案,其中应用程序包括多个组件,每一个组件都包括生成数据流的输出端口和使用数据流的输入端口,并且其中每一份数据生产者档案都描述了由对应输出端口生成的数据的特征;储存在存储器上的订阅表达式管理器模块,针对应用程序的多个组件的一个或多个输入端口中的每一个输入端口接收数据订阅档案,其中每一份数据订阅档案都描述了由对应输入端口使用的数据的特征;储存在存储器上的数据流模块,根据每一份数据生产者档案和每一份数据订阅档案的比较,在应用程序内的多个组件的输出端口和输入端口之间建立一个或多个连接。

【技术特征摘要】
【国外来华专利技术】...

【专利技术属性】
技术研发人员:L·阿米尼H·安德拉德B·葛迪克N·哈利姆S·帕萨萨拉斯
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:US

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

1