CN101495978A - 减少总线连接的消费者和产生者之间的消息流 - Google Patents
减少总线连接的消费者和产生者之间的消息流 Download PDFInfo
- Publication number
- CN101495978A CN101495978A CNA2007800278320A CN200780027832A CN101495978A CN 101495978 A CN101495978 A CN 101495978A CN A2007800278320 A CNA2007800278320 A CN A2007800278320A CN 200780027832 A CN200780027832 A CN 200780027832A CN 101495978 A CN101495978 A CN 101495978A
- Authority
- CN
- China
- Prior art keywords
- logical operator
- processing node
- physical processing
- message flow
- assigned
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/4013—Management of data rate on the bus
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Quality & Reliability (AREA)
- Debugging And Monitoring (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Multi Processors (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
公开了用于减少消息总线上的消息流的系统、方法和计算机可读介质。该方法包括:确定多个逻辑操作符中的至少一个逻辑操作符是否需要在物理节点群组中的给定物理处理节点上进行处理。响应于确定逻辑操作符需要在给定物理处理节点上进行处理,将逻辑操作符固定到给定物理处理节点。将多个逻辑操作符中的每个逻辑操作符指派给消息总线上的物理处理节点群组中的初始物理处理节点。
Description
技术领域
本发明总体上涉及分布式处理系统的领域,并且更具体地,涉及降低分布式处理系统中的处理节点之间的消息流。
背景技术
公司在日益使其商业过程自动化,并且更重要的是,公司使所涉及的更多较低层任务自动化。当前,诸如Sarbanes-Oxley、HIPPA和Patriotic Act的内部和外部法规要求公司维护文档处理、行为、过程和商业报告的准确簿记。作为响应,机构依靠诸如商业行为监控(“BAM”)的解决方案来使其商业过程自动化并控制其商业过程。
除了与新的联邦法规兼容的需求之外,对商业过程的自动监控还导致产生率的提高。由于事件在若干企业层面之间流动,因此可以使用事件来提供对这些层面的各组件的集成化视图。事件类似于在整个系统中流动的血液细胞,其携带信息并且维系整个过程。
下文讨论示出了由完全利用事件的复杂监控系统所引起的一些挑战。第一个挑战是相对于事件源和监控器的可扩展性。例如,考虑由于复杂监控应用的需求而产生的对事件管理的影响。事件在各个架构性层面之间流动,并且其随后被存储和检索,以用于与监控相关的分析处理的任务。作为商业过程任务自动化的结果,所产生的以及需要分析的事件的数目有所增加。同时,对这些事件日益复杂的查询需求也逐步增多。这些过程针对相同的事件管理资源进行竞争。流过系统的事件的数目增加的另一影响是网络和计算资源的拥塞。
注意,通过仅仅允许简单的查询来降低事件管理存储的负载是不可选用的,因为这导致了监控系统的特征和潜力的下降。另一挑战是事件存储和查询竞争。增加自动化商业任务的数目和细节的结果是更大量的事件。至少应当存储对必需关键绩效指标(“KPI”)的计算有所贡献的事件,以用于进一步分析。该信息对于理解度量所指示的问题的起源是必需的。在将要存储的事件的量有所增加的同时,对事件的查询的数目和复杂性也有所增加。由于事件管理数据库必须支持更新和查询二者,所以该数据库变成了整个系统的瓶颈。
另一挑战是网络和计算资源。例如,很多当前的复杂监控系统经历了由商业过程所生成的事件的数目和速率的增加而导致的网络和中间件拥塞。这些复杂的监控系统还在应用层面执行无用的计算。仍然要处理和过滤度量计算不需要的事件,这可能导致另一潜在的瓶颈。很多当前的监控系统也执行冗余计算。过滤步骤可以包括在不同监控上下文之间、甚至是在不同监控者之间冗余的计算。
因此,需要克服现有技术的上述问题。
发明内容
总体上,根据本发明,公开了用于减少消息总线上消息流的系统、方法和计算机可读介质。该方法包括:确定多个逻辑操作符中的至少一个逻辑操作符是否需要在物理节点群组中的给定物理处理节点上进行处理。响应于确定逻辑操作符需要在给定物理处理节点上进行处理,将该逻辑操作符固定(pin)到该给定物理处理节点。将多个逻辑操作符中的每个逻辑操作符指派给消息总线上的物理处理节点群组中的初始物理处理节点。
在另一实施方式中,公开了一种用于减少消息总线上的消息流的系统。该系统包括通信性地耦合至消息总线的多个物理处理节点。至少一个信息处理系统通信性地耦合至多个物理处理节点。该信息处理系统包括逻辑操作符固定器(pinner),用于确定驻留在至少一个物理处理节点上的多个逻辑操作符中的至少一个逻辑操作符是否需要在物理处理节点之一上进行处理。响应于确定逻辑操作符需要在给定物理处理节点上进行处理,逻辑操作符固定器将该逻辑操作符固定到该给定的物理处理节点。该信息处理系统还包括逻辑操作符指派器,用于将多个逻辑操作符中的每个逻辑操作符指派给消息总线上的多个物理处理节点中的初始物理处理节点。
在另一实施方式中,公开了一种用于减少消息总线上消息流的计算机可读介质。该计算机可读介质包括指令,其用于确定多个逻辑操作符中的至少一个逻辑操作符是否需要在物理节点群组中的给定物理处理节点上进行处理。响应于确定逻辑操作符需要在给定物理处理节点上进行处理,将该逻辑操作符固定到该给定物理处理节点。将多个逻辑操作符中的每个逻辑操作符指派给消息总线上的物理处理节点群组中的初始物理处理节点。
本发明的一个优点在于:减少了分布式流处理系统的组件之间的消息流,并且平衡了处理负载。本发明的另一优点在于:通过标识订阅应用不必需的事件,缓解了由事件的存储和查询而引起的数据拥塞。在一个实施方式中,使用了基于应用的监控计算模型的、模型驱动的“数据辨别”方法,以过滤出对于订阅应用而言无用的事件。这减少了发送给网络的消息的数目,减少了不同组件处的计算,并且减少了冗余的过滤条件。
附图说明
附图用来进一步示出各种实施方式,以及阐释根据本发明的各种原理和优点,其中贯穿分离的视图,同样的标号表示相同或者功能上类似的元件,这些附图与下文的详细描述一起并入说明书并构成说明书的一部分,其中:
图1是示出了根据本发明实施方式的总线连接的分布式处理系统中的事件流的系统流程图;
图2是示出了根据本发明实施方式的分布式处理系统的图示;
图3是根据本发明实施方式的信息处理系统的详细视图;
图4是示出了根据本发明实施方式的示例性消息总线的图示;
图5是示出了根据本发明实施方式的、将逻辑操作符固定在物理处理节点的有向无环图(directed acyclic graph);
图6示出了图5的有向无环图,其中已经根据本发明的实施方式对逻辑操作符做出注释以显示消息流速率;
图7示出了图5的有向无环图,其中已经根据本发明的实施方式将逻辑操作符指派给初始物理处理节点;
图8示出了根据本发明实施方式的、对于图7中的父逻辑操作符到被指派给子逻辑操作符的物理处理节点的重新指派;
图9示出了根据本发明实施方式的、对于图7中的逻辑操作符到物理处理节点的重新指派;
图10是示出了根据本发明实施方式的逻辑操作符初始指派给物理处理节点的示例性过程的操作流程图;
图11是示出了根据本发明实施方式的、将逻辑操作符重新指派给物理处理节点的示例性过程的操作流程图;以及
图12是示出了根据本发明实施方式的、将父逻辑操作符重新指派给被指派给子逻辑操作符的物理处理节点的示例性过程的操作流程图。
具体实施方式
本领域的技术人员将会了解,本发明可以通过硬件或软件或者硬件和软件的组合来产生。然而,一个实施方式中,本发明是通过软件来实现的。根据结合优选实施方式而公开的发明原理的系统或者方法可以在单一计算机系统中产生,该单一计算机系统具有用于执行所描述或者所要求的单独功能或者步骤的独立元件或者装置,或者具有结合了所公开或者所要求的任何功能或者步骤的执行的一个或多个元件或者装置,或者所述系统或者方法可以布置在通过本领域普通技术人员已知的任何适当装置互连的分布式计算机系统中。
根据结合优选实施方式公开的发明原理,本发明和发明原理不限于任何特定类型的计算机系统,而是如本领域普通技术人员所知的,其可以与被配置为执行所描述功能和所描述方法步骤的任何通用计算机一起使用。如上所述的这种计算机的操作可以按照包含在介质上的、用于在计算机的操作和控制中使用的计算机程序来进行,正如本领域的普通技术人员已知的那样。计算机介质可以用来保持或者包含计算机程序产品,计算机介质可以是计算机的固定设备(诸如嵌入式存储器),或者可以位于可移动介质上(诸如盘),正如本领域普通技术人员已知的那样。
本发明不限于任何特定的计算机程序或者逻辑或者语言或者指令,而是可以利用任何此类适当的程序、逻辑或者语言或者指令来付诸实践,正如本领域普通技术人员已知的那样。在不限制所公开发明的原理的前提下,除其他之外,任何这种计算机系统至少尤其可以包括允许计算机从计算机可读介质读取数据、指令、消息或者消息分组以及其他计算机可读信息的计算机可读介质。计算机可读介质可以包括非易失性存储器,诸如ROM、闪存存储器、软盘、磁盘驱动存储器、CD-ROM以及其他永久性存储器。而且,计算机可读介质例如可以包括易失性存储器,诸如RAM、缓冲器、高速缓存存储器以及网络电路。
此外,计算机可读介质可以包括瞬态(transitory state)介质(诸如,网络链路和/或网络接口)中的计算机可读信息,包括允许计算机读取这种计算机可读信息的有线网络或者无线网络。根据一个实施方式,本发明通过提供更为有效的存储器复制操作机制克服了现有技术的问题。本发明允许处理器在存储器复制操作期间继续执行后续指令,由此避免了不必要的处理器停止时间。
事件总线连接的系统的示例性系统流
图1示出了事件发布者102、104、106和消费者108的总线连接的系统100中的事件流和元数据。在一个实施方式中,事件发布者102、104、106生成各种事件,并且将这些事件发送给公共事件基础架构(例如,事件/消息总线110),在此将其称为“消息总线110”。在一个实施方式中,事件是包括与状态变化相关的信息的消息。例如,从传感器或者定时器进行的读取。事件可以包括依赖于时间的信息,并且可以是结构化或者非结构化文本。
在一个实施方式中,多个事件存储在事件数据库112中,以用于将来的数据挖掘。还可以在事件发生时将事件递送给事件监控器,诸如消费者应用108。例如,发布者通过消息总线110将事件传输给事件监控器108。备选地,在监控器(消费者108)处生成处理需求,并且可以将其一直下推送(选择性地)到发布者104。该过程可以称为推送/异步模型。备选地,事件监控器可以通过查询事件数据库112来检索事件。该过程可以称为拉动/同步模型。异步递送的事件通常在监控器(例如,消费者应用108)中进一步处理,以便计算更高层面的关键绩效指标(“KPI”)。在一个实施方式中,事件总线110负责相关和事件存储/检索,同时监控器负责KPI计算和到监控面板的递送。在一个实施方式中,监控面板将来自监控任务的结果提供给诸如分析师的用户。
如果经历复杂的相关或者高事件存储/检索率,则消息总线110可以变成瓶颈。类似地,在事件递送和复杂KPI计算规则的情况下,诸如消费者应用108的监控器可能变得过载。由于多个事件对于任何面板指示都没有贡献并且可以被过滤掉,这些事件给消息总线110和监控器108增加了不必要的负载。因此,本发明的一个优点在于:将很多事件过滤和存储操作“向上游”推送到事件发布者102、104、106以减少消息流,这反过来最小化了消息总线110处的瓶颈。
在一个实施方式中,较靠近事件发布者102、104、106的过滤和存储操作的放置可以通过使用商业分析订阅提取器(“BASE”)模块114和关于事件的条件的放置与分析模块(“PLACE”)116来实现。在一个实施方式中,BASE模块114分析来自监控器108的事件订阅,并且从这些订阅中提取已准备好部署的独立订阅的标准集合。在一个实施方式中,订阅是针对已处理事件的请求。处理可以是基本的,诸如过滤条件,或者更为复杂,诸如联接(join)。在一个实施方式中,准备好部署的订阅是按照正确的格式来形成或者准备以独立进行正确处理的订阅。在一个实施方式中,PLACE模块116将这些订阅作为输入,并且根据依赖关系和负载考虑来确定应当将每个订阅“向上游”推送多远。在一个实施方式中,BASE模块114使用监控器108所使用的监控模块的规范。BASE模块114和PLACE模块116将在下文更详细地讨论。
示例性分布式流处理系统
根据本发明的实施方式,如图2所示,示出了示例性分布式处理系统200。图2示出了通过物理处理节点202、204、206、208、210的子集进入系统200的各实时流212、214、216、218。在一个实施方式中,分布式处理系统200是物理处理节点的系统,其中物理处理节点通过消息总线(诸如图1所示的消息总线110)在相互之间传递消息。处理节点102、104、106、108、110可以是共址的,例如位于单个集群之内,或者可以在地理上分布在广大区域上。
图2还示出了作为逻辑操作符或者处理元件(“PE”)(例如PE A200)的网络而部署在处理节点202、204、206、208、210上的应用。每个数据流212、214、216、218是包括流数据对象(SDO)的序列,其中SDO是数据流的基础信息单元。每个处理元件对从其输入数据流接收到的SDO执行某些计算,例如选择、过滤、聚合、相关、分类或者变换。在一个实施方式中,每个物理处理节点202、204、206、208、210可以是事件产生者,或者事件消费者,或者同时为二者。
示例性信息处理系统
图3是示出了一个信息处理系统的详细视图的框图。在一个实施方式中,信息处理系统可以是图2的物理处理节点202、204、206、208、210中的任何节点。在另一实施方式中,信息处理系统是独立的、不同的信息处理系统,其通信性地耦合至图2的处理节点202、204、206、208、210。
信息处理系统是基于适于实现本发明示例性实施方式的、经过适当配置的处理系统。类似地,本发明的实施方式可以将任何经过适当配置的处理系统(例如,个人计算机、工作站等)用作信息处理系统124。信息处理系统包括计算机302。计算机302具有处理器304,其通过系统总线314连接至主存储器306、海量存储接口308、终端接口310以及网络适配器硬件312。海量存储接口308用来将诸如数据存储设备316的海量存储设备连接到信息处理系统。一种特定类型的数据存储设备是计算机可读介质,诸如CD驱动器,其可以用来将数据存储到CD 318或其等同体上以及从中读取数据。另一种类型的数据存储设备是被配置用于支持例如NTFS类型文件系统操作的数据存储设备。
主存储器306包括逻辑操作符固定器320。在一个实施方式中,逻辑操作符固定器320确定逻辑操作符(例如,SELECT(选择)、JOIN(联接)等)需要特定物理处理节点的处理。例如,发布事件需要在原始事件发布者处进行,而在一个实施方式中,KPI结果需要由监控组件(例如,消费者应用108)返回。在一个实施方式中,逻辑操作符可以具有所处理事件的成本、选择性、输入和输出条件、约束条件和与之关联的其他事项。如果逻辑操作符需要由特定物理处理节点处理,则逻辑操作符固定器320将该操作符固定到其所需的节点。换言之,如果逻辑操作符被固定,则该操作符不会被指派给其他物理处理节点。
主存储器306还包括逻辑操作符注释器322。在一个实施方式中,逻辑操作符注释器322确定逻辑操作符的消息流速率。例如,针对每个逻辑操作符确定输入消息流速率和输出消息流速率。在一个实施方式中,逻辑操作符注释器322继而以其输入/输出消息流速率对每个逻辑操作符进行注释。主存储器306还包括逻辑操作符指派器324。在一个实施方式中,逻辑操作符指派器324将每个逻辑操作符指派给物理处理节点。例如,在一个实施方式中,逻辑操作符指派器324将每个逻辑操作符指派给初始物理处理节点。
在对物理处理节点初始指派逻辑操作符之后,成本估计器326可以估计与该初始指派相关联的总消息流成本。例如,总消息流成本基于的是与向物理处理节点传输消息的每个逻辑操作符所关联的消息流速率。在一个实施方式中,逻辑操作符指派器324还可以执行将逻辑操作符向物理处理节点的后续指派。例如,消息流速率分析器328分析每个逻辑操作符的输入和输出消息流速率。消息流速率分析器328继而确定消息流输入速率的总和是否大于或者等于消息流输出速率的总和。如果为真,则逻辑操作符指派器324将逻辑操作符指派给这样一个物理处理节点,该物理处理节点位于用于给定消息流序列的事件/消息总线上的、被指派了该逻辑操作符的当前物理处理节点的位置之前的位置处。
如果逻辑操作符的输入速率的总和大于或者等于输出速率的总和,则逻辑操作符可能在执行过滤。通过重新指派该逻辑操作符使其在时间上较早地执行其过滤,有助于避免消息总线上的瓶颈。例如,如果过滤是在消息总线110上的较远处执行,则多余的消息被传递给了不需要该消息的物理处理节点。如果输入速率的总和并未大于或者等于输出速率的总和,则逻辑操作符可能在生成消息。因此,逻辑操作符指派器将该逻辑操作符重新指派给这样一个物理处理节点,该物理处理节点位于用于给定消息流序列的事件/消息总线上的、当前被指派了该逻辑操作符的物理处理节点的位置之后的位置处。这允许在更靠近消息的消费者处生成消息,并且避免事件/消息总线上的瓶颈。
一旦逻辑操作符被重新指派,则由指派成本估计器326确定针对该后续指派的总消息流成本。逻辑操作符指派器324对与初始指派相关联的消息流成本和后续指派的消息流成本进行比较。如果后续消息流成本低于初始消息流成本,则逻辑操作符指派器选择该指派。在另一实施方式中,可以执行指派过程的多次迭代,来确定提供可能的最低消息流成本的指派配置。
在另一实施方式中,逻辑操作符指派器324在将物理处理节点指派给逻辑操作符时考虑处理节点的可用资源。例如,当逻辑操作符指派器324已经决定应当将一个逻辑操作符重新指派给在前的物理处理节点时,在一个实施方式中,逻辑操作符指派器324确定:如果该逻辑操作符的处理需求大于物理处理节点的可用资源,则不将该节点指派给该逻辑操作符。在另一实施方式中,在逻辑操作符指派器324将逻辑操作符重新指派给物理处理节点时,其确定是否将任何父逻辑操作符指派给在当前指派给其子逻辑操作符的物理处理节点之前的物理处理节点。如果为真,逻辑操作符指派器324将父逻辑操作符重新指派给该子逻辑操作符的物理处理节点。这允许父逻辑操作符和子逻辑操作符之间的消息流传输在相同的处理节点上发生,与流传输从一个处理节点通过消息总线到另一处理节点相比,此方式节省了资源。
在又一实施方式中,BASE模块114也可以包括在主存储器306中。PLACE模块也可以包括在主存储器306中,并且包含上文讨论的驻留在主存储器306中的一个或多个元件。
尽管被示为同时驻留在主存储器306中,但是显然,不要求主存储器306的各个组件始终或者同时全部驻留在主存储器306中。在一个实施方式中,信息处理系统300利用传统的虚拟寻址机制来允许程序运转为就像它们访问大的、单个存储实体(在此称为计算机系统存储器)那样,而不是像它们访问多个较小的存储实体(诸如主存储器306和数据存储设备316)那样。注意,这里使用的术语“计算机系统存储器”一般指信息处理系统300的整个虚拟存储器。
尽管针对计算机302仅示出了一个CPU 304,但是可以同样有效地使用具有多个CPU的计算机系统。本发明的实施方式还包含接口,每个接口包括独立的、完全编程的微处理器,该微处理器用来从CPU304卸载处理。终端接口310用来将一个或多个终端330直接连接到计算机302,以便为计算机302提供用户接口。这些终端330(可以是非智能的或者完全可编程的工作站)用来允许系统管理员和用户与信息处理系统300进行通信。终端330还可以包括连接到计算机302、并由终端I/F 310中所包括的终端接口硬件所控制的用户接口和外围设备,其中终端接口硬件包括视频适配器和用于键盘、指示设备等的接口。
主存储器306中所包括的操作系统(未示出)是适当的多任务操作系统,诸如Linux、UNIX、Windows XP和Windows Server 2003操作系统。本发明的实施方式能够使用任何其他适当的操作系统。本发明的一些实施方式使用这样的架构,诸如面向对象的框架机制,该架构允许操作系统(未示出)的组件的指令在位于信息处理系统300内的任何处理器上执行。网络适配器硬件312用来对诸如无线网络、WLAN、LAN之类的网络(未示出)提供接口。本发明的实施方式能够适于利用包括当前的虚拟和/或数字技术的任何数据通信连接进行工作,或者通过未来的网络互连机制进行工作。
尽管本发明的示例性实施方式是在全功能计算机系统的上下文中描述的,但是本领域的技术人员将会意识到,实施方式能够作为程序产品通过CD/DVD(例如,CD 318)或者其他形式的可读介质来分发,或通过任何类型的电子传输机制来分发。
示例性消息总线
图4示出了示例性的事件/消息总线410,其在一个实施方式中是公共事件接口。在一个实施方式中,物理处理节点402、404、406、408、414通信性地耦合至消息总线410。在一个实施方式中,物理处理节点可以包括事件/消息的产生者和/或事件/消息的消费者(诸如,监控应用)。在一个实施方式中,每个物理处理节点402、404、406、408、414与一组语义和计算约束条件(诸如,成本和选择性)相关联。在一个实施方式中,这些约束条件指明了可以将逻辑操作符置于哪个物理处理节点之上。在一个实施方式中,消息总线410订阅由事件发布者产生的主题。针对这些主题而发布的消息通过消息总线410处理和/或存储,继而被路由至订阅这些事件的逻辑操作符。另一方面,逻辑操作符接收并处理事件。逻辑操作符按照监控模型(诸如,商业观察监控器模型)来进一步处理接收到的消息。另一方面,应用是结果通常所返回的端点。
在一个实施方式中,应用所使用的监控计算模型可以由逻辑操作符414的DAG 412来表示。DAG 412包括表示逻辑操作符的节点。在一个实施方式中,每个逻辑操作符414具有相关联的成本、选择性等。例如,成本可以是每个时间单位所处理的消息数目。在一个实施方式中,叶节点是处理传入事件的逻辑操作符,并且没有父节点的节点是完成关键绩效指标(“KPI”)计算的逻辑操作符。在一个实施方式中,BASE模块114提取可以被向下推送给事件总线110或者发布者的操作符的子图。
在一个实施方式中,可以将BASE模块114描述为架构性框架“之外”的组件,因为其分析所有的监控模型。这些订阅存储在XML文件中,并被赋予PLACE,以便分布到所有组件。在部署中,BASE模块114可以在订阅每次改变时运行,或者以较低频率运行。BASE模块114运行的越频繁,则产生每个过滤条件的越高的选择性。应当注意,无论何时监控组件的范围“扩展”(也即,接受更多事件),必需运行最小的BASE模块114。这有助于避免对所需事件的不正确的过滤。
PLACE模块116是BASE模块114得到的订阅与分布式处理系统200中的具有处理能力的组件之间的协调者。PLACE模块116从BASE模块114生成的XML文件中读取DAG订阅,并且通过类似于负载均衡协议的协议来与其他组件交互。如果可以将订阅形式的可计算图一直推送到发布者,则其变为发布者过滤条件,由此降低了该发布者生成的事件数目。如果将订阅推送到消息总线410中,可以向相关引擎添加过滤条件,由此降低递送给监控上下文的事件数目。
为了将负载考虑在内,在一个实施方式中,PLACE模块116构建表示处理组件、该处理组件的能力以及可用性的拓扑结构。PLACE模块116周期性地监控其主机的负载,并且使用标准负载均衡协议来与其相邻PLACE组件交换该信息。在一个实施方式中,PLACE模块116将逻辑操作符(从DAG订阅)指派给物理节点,该物理节点是具有处理能力的事件消费者或者发布者。下面讨论指派过程。
逻辑操作符到物理处理节点的指派
图5-图9示出了DAG,该DAG示出了逻辑操作符到物理处理节点的指派。图5示出DAG 500,其包括对应于逻辑操作符的多个节点。图5(以及图6-图9)还包括示例性消息总线510,其包括一组物理处理节点502、504、506、508、512、514、516。示出消息总线510作为参考,以示出事件总线510上物理处理节点的放置。例如,在给定的消息流序列中,物理处理节点C0 502在物理处理节点C 1504之前执行处理。
如上所述,每个逻辑操作符包括当将操作符指派给处理节点时逻辑操作符指派器324所使用的相关联的每个消息处理的成本、选择性、输入和输出条件、约束条件等。在一个实施方式中,物理处理节点502、504、506、508、512、514、516还具有接受和处理订阅的已知能力(例如,分配用以处理订阅的存储器和CPU资源)。如果任何逻辑操作符需要在特定物理处理节点上进行处理,则将这些逻辑操作符固定到该节点。例如,在一个实施方式中,逻辑操作符518、520、522、524、526、528、530、532分别需要在物理处理节点C0 502、C1 504、e1 508、e2 512、e3 514、e6 516上进行处理。因此,将这些逻辑操作符518、520、522和发布逻辑操作符524、526、528、530、532固定到这些物理处理节点。换言之,不会将所固定的逻辑操作符518、520、522、524、526、528、530、532重新指派给其他物理处理节点。固定的逻辑操作符由逻辑操作符内的黑圈表示。
在一个实施方式中,如图6所示,利用预期的流速率对将一个逻辑操作符连接到另一逻辑操作符的每条边进行注释。例如,从逻辑操作符524到逻辑操作符522的预期消息流速率是每个时间单位15个消息。在一个实施方式中,预期消息流速率是根据从分布和/或初始速率假设而计算的统计、观察、简单假设(例如,高/低的等级或者高/中/低的等级)等来确定的。如图7所示,继而将逻辑操作符指派给初始物理处理节点。例如,将已固定子图734、736指派给根的主控组件。在一个实施方式中,已固定子图是具有根、已固定节点和未固定的所有子节点的子图。在一个实施方式中,为初始指派确定初始成本,其作为每个时间单位的消息。例如,图7中所示的初始指派的分区1734的成本是(15+40+2+21+1)(2)=158个消息/时间单位,而初始指派的分区2736的成本是(8+8+10+1)(2)=54个消息/时间单位。因此,初始指派的总成本是212个消息/时间单位。将每个子图734、736的消息流成本乘以2,因为消息通过消息总线510从一个物理节点流到另一物理处理节点。
应当注意,就物理处理节点的资源而言,逻辑操作符到物理处理节点的初始指派可能得到不可行的解决方案。然而,如下所述,将对初始指派进行进一步细化,以确定该指派得到更为优化的指派配置。
图8示出了图7中所示的物理处理节点的初始指派的细化。从DAG 500的底部开始并且向上移动,为每个操作符指派从“早”变化到“晚”的放置选择的有序集合。在一个实施方式中,这是通过对逻辑操作符的输入消息流速率的总和与输出消息流速率的总和进行比较来完成的。例如,如果输入消息流速率的总和大于或者等于输出消息流速率的总和,则将逻辑操作符尽可能“早”的放置在物理处理节点上。例如,初始指派给物理处理节点C1 504的节点n8 838具有的输入消息流速率为40,具有的输出消息流速率为20。因此将节点n8 838重新指派给这样一个物理处理节点,该物理处理节点位于用于给定消息流序列的消息总线510上的、在当前指派给节点n8 838的物理处理节点的位置之前的位置处。
如果逻辑操作符正在输出的消息数目小于输入的消息数目,该逻辑操作符可能在执行过滤。通过向上游移动过滤操作、从而使其较早而不是较晚的执行,不会将多余的消息传递到不需要它们的应用上。这最小化了消息总线510上的瓶颈。在一个实施方式中,在将逻辑操作符指派给物理处理节点时,考虑物理处理节点的可用资源。换言之,如果可用资源小于与逻辑操作符相关联的成本,则不会将该特定处理节点指派给逻辑操作符。
如果输入消息流速率的总和小于输出消息流速率的总和,如果物理处理节点具有可用资源,则尽可能“晚”地放置该逻辑操符。例如,初始指派给物理处理节点C0 502的节点(逻辑操作符)n10 840具有的输入消息流速率是11,具有的输出消息流速率是47。因此,将节点n10 840重新指派给物理处理节点C2 506,物理处理节点C2 506位于用于给定消息流序列的消息总线510上的、在指派给节点n10 840的当前物理处理节点C1 504的位置之后的位置处。在一个实施方式中,如果处理节点输出的消息多于接收到的消息数目,该处理节点可能是消息的产生者。通过将这些逻辑操作符移动到物理处理节点、从而尽可能晚地执行消息的产生,消息总线10没有由于消息而饱和,从而没有导致瓶颈。
在一个实施方式中,对周期进行求解。换言之,对于每个父逻辑操作符,确定该父逻辑操作符是否被指派给了比其任何子逻辑操作符“更早”的物理处理节点。如果为真,则将父逻辑操作符重新指派给那个子逻辑操作符的物理处理节点。例如,图8示出了被指派给物理处理节点C0 502的父逻辑操作符n11 842。然而,其子逻辑操作符n12844被指派给处理节点C1 500,它是比C0 502“晚”的处理节点。应当注意,在此示例中,节点ID是任意的。这使得从父节点n11 842传输到其子节点n12 844以及反向传输的消息必须通过消息总线510。因此,如图9所示,将父节点重新指派给物理处理节点C0 502,该物理处理节点当前被指派给子节点n12 844。因此,父节点n11 842与子节点n12 844之间的消息无需穿过消息总线510,从而节省了系统资源并使瓶颈最小化。
在一个实施方式中,还确定与重新指派的物理处理节点配置相关联的成本。例如,指派给物理处理节点C0 502的逻辑操作符的成本是(8+8)(2)+47=79,指派给物理处理节点C1 504的逻辑操作符的成本是(15+10+2+21+1)(2)=98,并且指派给物理处理节点C2 506的逻辑操作符的成本是(10+1)=11,得到重新指派的总消息流成本是79+98+11=188。继而可以将与重新指派配置相关联的成本同与初始配置相关联的成本(是212)进行比较。可以看到,与重新指派配置相关联的成本小于与初始配置相关联的成本,由此选择它用于实现。可以执行后续指派,以确定是否存在更为优化的(例如,成本更低的)物理处理节点指派配置。
将物理处理节点初始指派给逻辑操作符的示例性过程
图10示出了将物理处理节点初始指派给逻辑操作符的示例性过程。图10的操作流程图开始于步骤1002,并且直接进到步骤1004。在步骤1004,逻辑操作符指派器324确定是否有任何逻辑操作符需要由特定物理处理节点的处理。如果该确定的结果是否定的,则控制进到步骤1008。如果该确定的结果是肯定的,则在步骤1006,逻辑操作符指派器324将这些逻辑操作符固定在它们所需的物理处理节点。在步骤1008,逻辑操作符指派器324确定每个逻辑操作符的输入和输出消息流速率。在步骤1010,继而将每个逻辑操作符指派给初始物理处理节点。在步骤1012,逻辑操作符指派器继而确定物理处理节点到逻辑操作符的初始指派的总消息流成本。继而控制流继续到图11的进入点A。
将物理处理节点重新指派给逻辑操作符的示例性过程
图11示出了将物理处理节点重新指派给逻辑操作符以确定最优指派配置的示例性过程。操作流程图在进入点A进入,并且直接进到步骤1102。在步骤1102,逻辑操作符指派器324对每个逻辑操作符的输入和输出消息流速率进行分析。在步骤1104,逻辑操作符指派器324针对每个逻辑操作符来确定输入消息流速率的总和是否大于或者等于输出消息流速率的总和。如果该确定的结果是否定的,则在步骤1106,逻辑操作符指派器324将该逻辑操作符指派给位于用于给定消息流序列的消息总线324上的、在当前指派给该逻辑操作符的物理处理节点之后的位置处的物理处理节点。控制继而进到步骤1110。
如果该确定的结果是肯定的,则在步骤1108,逻辑操作符指派器324将该逻辑操作符指派给位于(用于给定消息流序列的)消息总线上的、在当前指派给该逻辑操作符的物理处理节点的位置之前的位置处的物理处理节点。在步骤1110,逻辑操作符指派器324确定与物理处理节点到逻辑操作符的重新指派相关联的总消息流成本。
在步骤1112,逻辑操作符指派器324继而确定后续总消息流成本是否低于初始消息流成本。如果该确定的结果是肯定的,则在步骤1114,逻辑操作符指派器324选择后续指派。控制流继而在步骤1116退出。如果该确定的结果是否定的,则在步骤1118,逻辑操作符指派器324选择初始指派。控制流继而在步骤1120退出。在一个实施方式中,当逻辑操作符在重新指派逻辑操作符时,其将候选物理处理节点的可用资源考虑在内。例如,如果物理处理节点的可用资源不大于或者等于该逻辑操作符的成本,则不将逻辑操作符指派给该物理处理节点。
将父逻辑操作符重新指派给子逻辑操作符的物理处理节点的示例性
过程
图12示出了将父逻辑操作符指派给其子逻辑操作符之一的物理处理节点的示例性过程。操作流开始于步骤1202,并且直接进到步骤1204。在步骤1204,逻辑操作符指派器324确定是否将父逻辑操作符指派给位于消息总线上的、在当前指派给子逻辑操作符的物理处理节点的位置之前的位置处的物理处理节点。如果该确定的结果是否定的,控制流继而在步骤1206退出。如果该确定的结果是肯定的,在步骤1208,逻辑操作符指派器324将父逻辑操作符重新指派给当前被指派给该子逻辑操作符的物理处理节点。控制流继而在步骤1210退出。
非限制性示例
本发明可以通过硬件、软件或者硬件和软件的组合来实现。根据本发明优选实施方式的系统可以在一个计算机中以集中式方式来实现,或者可以以不同元件遍布多个互连计算机系统的分布式方式来实现。任意类型的计算机系统或者适于执行在此描述方法的其他装置都是适合的。硬件和软件的典型组合可以是具有计算机程序的通用计算机系统,其中当加载和执行计算机程序时,该计算机程序控制该计算机系统,使其执行在此描述的方法。
一般地,在此将执行以实现本发明实施方式的例程称为“程序”,不论其是作为操作系统的部分或是特定的应用、组件、程序、模块、对象或者指令序列而实现的。计算机程序通常包括多条指令,这些指令将由本机转换为机器可读格式,因此是可执行的指令。而且,程序包括程序本地驻留的、或者是在存储器中或存储设备上发现的变量和数据结构。另外,在此描述的各种程序可以根据其在本发明的特定实施方式中针对其而实现的应用来标识。然而,应当意识到,之后的任何具体的程序术语仅仅是用于方便,因此不应将本发明限于仅在这些术语所标识和/或暗示的任何具体应用中使用。
尽管已经公开了本发明的特定实施方式,但本领域的普通技术人员将会理解,可以在不脱离本发明范围的情况下对特定实施方式进行改变。因此,本发明的范围不限于特定的实施方式,所附权利要求书意在涵盖任何以及所有本发明范围之内的这种应用、修改和实施方式。
权利要求书(按照条约第19条的修改)
1.一种方法,其与信息处理系统一起使用,用于减少消息总线上的消息流,所述方法包括:
确定多个逻辑操作符中的至少一个逻辑操作符是否需要在物理节点群组中的给定物理处理节点上进行处理;
响应于确定所述逻辑操作符需要在所述给定物理处理节点上进行处理,将所述逻辑操作符固定到所述给定物理处理节点;
将所述多个逻辑操作符中的每个逻辑操作符指派给消息总线上的所述物理处理节点群组中的初始物理处理节点;
其中所述指派步骤包括以下步骤:
针对所述多个逻辑操作符中的至少一个逻辑操作符,确定与所述逻辑操作符相关联的输入消息流速率集的总和是否是大于以及等于与所述逻辑操作符相关联的输出消息流速率集的总和中的至少一个;
响应于所述输入消息流速率集的总和大于或者等于所述输出消息流速率集的总和,将所述逻辑操作符指派给在前物理处理节点,所述在前物理处理节点位于用于给定消息流序列的所述消息总线上的、在所述逻辑操作符当前所关联的物理处理节点之前的位置处;以及
响应于所述输入消息流速率集的总和小于所述输出消息流速率集的总和,将所述逻辑操作符指派给后续处理节点,所述后续处理节点位于用于所述给定消息流序列的所述消息总线上的、在所述逻辑操作符当前所关联的物理处理节点之后的位置处。
2.根据权利要求1所述的方法,其中所述消息流速率是根据以下至少之一来确定的:
统计;
观察;以及
假设。
3.根据权利要求1所述的方法,进一步包括:
确定与将所述多个逻辑操作符中的每个逻辑操作符指派给相应的初始物理处理节点相关联的总消息流成本。
4.根据权利要求3所述的方法,其中所述消息流成本包括:与向所述初始物理处理节点传输消息的每个逻辑操作符相关联的消息流速率的总和。
5.根据权利要求1所述的方法,其中响应于所述输入消息流速率集的总和大于或者等于所述输出消息流速率集的总和,所述指派进一步包括:
确定所述物理处理节点是否包括满足所述逻辑操作符的资源需求的可用资源;以及
响应于所述物理处理节点包括可用资源,将所述逻辑操作符指派给物理处理节点,所述物理处理节点位于所述消息总线上的、在所述逻辑操作符当前所关联的所述物理处理节点的位置处。
6.根据权利要求1所述的方法,进一步包括:
确定所述多个逻辑操作符中的至少一个逻辑操作符是否是至少一个其他逻辑操作符的父逻辑操作符;
响应于所述逻辑操作符是父逻辑操作符,确定所述逻辑操作符是否被指派给了在前物理处理节点,所述在前物理处理节点位于用于所述给定消息流序列的所述消息总线上的、在所述逻辑操作符的子逻辑操作符被指派给的物理处理节点之前的位置处;以及
响应于所述逻辑操作符在所述在前物理处理节点上,将所述逻辑操作符重新指派给所述子逻辑操作符被指派给的物理处理节点。
7.根据权利要求1所述的方法,进一步包括:
确定与将所述多个逻辑操作符指派给每个物理处理节点相关联的总消息流成本。
8.根据权利要求1所述的方法,其中所述消息流成本包括与向物理处理节点传输消息的每个逻辑操作符相关联的消息流速率的总和。
9.根据权利要求1所述的方法,进一步包括:
确定与将每个所述逻辑操作符指派给所述在前物理处理节点和所述后续物理处理节点之一相关联的后续消息流成本是否低于与将所述逻辑操作符的每一个指派给初始物理处理节点相关联的初始消息流成本;以及
响应于所述后续消息流成本低于所述初始消息流成本,选择与所述后续消息流成本相关联的逻辑操作符的指派。
10.一种系统,所述系统包括适于执行根据前述任一项方法权利要求的方法的所有步骤的装置。
11.一种计算机程序,所述计算机程序包括指令,所述指令用于当在计算机系统上执行所述计算机程序时,执行根据前述任一项方法权利要求的方法的所有步骤。
Claims (20)
1.一种方法,其与信息处理系统一起使用,用于减少消息总线上的消息流,所述方法包括:
确定多个逻辑操作符中的至少一个逻辑操作符是否需要在物理节点群组中的给定物理处理节点上进行处理;
响应于确定所述逻辑操作符需要在所述给定物理处理节点上进行处理,将所述逻辑操作符固定到所述给定物理处理节点;以及
将所述多个逻辑操作符中的每个逻辑操作符指派给消息总线上的所述物理处理节点群组中的初始物理处理节点。
2.根据权利要求1所述的方法,进一步包括:
确定与所述多个逻辑操作符中的每个逻辑操作符相关联的消息流速率。
3.根据权利要求3所述的方法,其中所述消息流速率是根据以下至少之一来确定的:
统计;
观察;以及
假设。
4.根据权利要求1所述的方法,进一步包括:
确定与将所述多个逻辑操作符中的每个逻辑操作符指派给相应的初始物理处理节点相关联的总消息流成本。
5.根据权利要求4所述的方法,其中所述消息流成本包括:与向所述初始物理处理节点传输消息的每个逻辑操作符相关联的消息流速率的总和。
6.根据权利要求1所述的方法,进一步包括:
针对所述多个逻辑操作符中的至少一个逻辑操作符,确定与所述逻辑操作符相关联的输入消息流速率集的总和是否是大于以及等于与所述逻辑操作符相关联的输出消息流速率集的总和中的至少一个;
响应于所述输入消息流速率集的总和大于或者等于所述输出消息流速率集的总和,将所述逻辑操作符指派给在前物理处理节点,所述在前物理处理节点位于用于给定消息流序列的所述消息总线上的、在所述逻辑操作符当前所关联的物理处理节点之前的位置处;以及
响应于所述输入消息流速率集的总和小于所述输出消息流速率集的总和,将所述逻辑操作符指派给后续处理节点,所述后续处理节点位于用于所述给定消息流序列的所述消息总线上的、在所述逻辑操作符当前所关联的物理处理节点之后的位置处。
7.根据权利要求6所述的方法,其中响应于所述输入消息流速率集的总和大于或者等于所述输出消息流速率集的总和,所述指派进一步包括:
确定所述物理处理节点是否包括满足所述逻辑操作符的资源需求的可用资源;以及
响应于所述物理处理节点包括可用资源,将所述逻辑操作符指派给物理处理节点,所述物理处理节点位于所述消息总线上的、在所述逻辑操作符当前所关联的所述物理处理节点的位置处。
8.根据权利要求6所述的方法,进一步包括:
确定所述多个逻辑操作符中的至少一个逻辑操作符是否是至少一个其他逻辑操作符的父逻辑操作符;
响应于所述逻辑操作符是父逻辑操作符,确定所述逻辑操作符是否被指派给了在前物理处理节点,所述在前物理处理节点位于用于所述给定消息流序列的所述消息总线上的、在所述逻辑操作符的子逻辑操作符被指派给的物理处理节点之前的位置处;以及
响应于所述逻辑操作符在所述在前物理处理节点上,将所述逻辑操作符重新指派给所述子逻辑操作符被指派给的物理处理节点。
9.根据权利要求6所述的方法,进一步包括:
确定与将所述多个逻辑操作符指派给每个物理处理节点相关联的总消息流成本。
10.根据权利要求6所述的方法,其中所述消息流成本包括与向物理处理节点传输消息的每个逻辑操作符相关联的消息流速率的总和。
11.根据权利要求6所述的方法,进一步包括:
确定与将每个所述逻辑操作符指派给所述在前物理处理节点和所述后续物理处理节点之一相关联的后续消息流成本是否低于与将所述逻辑操作符的每一个指派给初始物理处理节点相关联的初始消息流成本;以及
响应于所述后续消息流成本低于所述初始消息流成本,选择与所述后续消息流成本相关联的逻辑操作符的指派。
12.一种用于减少消息总线上的消息流的系统,所述系统包括:
多个物理处理节点,其通信性地耦合至消息总线;
信息处理系统,其通信性地耦合至所述多个物理处理节点,所述信息处理系统包括:
逻辑操作符固定器,用于:
确定驻留在至少一个物理处理节点上的多个逻辑操作符中的至少一个逻辑操作符是否需要在所述多个物理处理节点之一上进行处理;以及
响应于确定所述逻辑操作符需要在给定物理处理节点上进行处理,将所述逻辑操作符固定到所述给定物理处理节点;以及
逻辑操作符指派器,用于:
将所述多个逻辑操作符中的每个逻辑操作符指派给消息总线上的所述多个物理处理节点中的初始物理处理节点。
13.根据权利要求12所述的系统,进一步包括:
消息流速率分析器,用于确定与所述多个逻辑操作符中的每个逻辑操作符相关联的消息流速率。
14.根据权利要求12所述的系统,进一步包括:
指派成本估计器,用于确定与将所述多个逻辑操作符中的每个逻辑操作符指派给相应的初始物理处理节点相关联的总消息流成本,该消息流成本包括:与向所述初始物理处理节点传输消息的每个逻辑操作符相关联的消息流速率的总和。
15.根据权利要求12所述的系统,其中所述逻辑操作符指派器进一步:
针对所述多个逻辑操作符中的至少一个逻辑操作符,确定与所述逻辑操作符相关联的输入消息流速率集的总和是否是大于以及等于与所述逻辑操作符相关联的输出消息流速率集的总和中的至少一个,其中:
响应于所述输入消息流速率集的总和大于或者等于所述输出消息流速率集的总和,将所述逻辑操作符指派给在前物理处理节点,所述在前物理处理节点位于用于给定消息流序列的所述消息总线上的、在所述逻辑操作符当前所关联的物理处理节点之前的位置处;以及
响应于所述输入消息流速率集的总和小于所述输出消息流速率集的总和,将所述逻辑操作符指派给后续处理节点,所述后续处理节点位于用于所述给定消息流序列的所述消息总线上的、在所述逻辑操作符当前所关联的物理处理节点之后的位置处。
16.根据权利要求1所述的系统,其中所述逻辑操作符指派器进一步:
确定与将每个所述逻辑操作符指派给所述在前物理处理节点和所述后续物理处理节点之一相关联的后续消息流成本是否低于与将所述逻辑操作符的每一个指派给初始物理处理节点相关联的初始消息流成本;以及
响应于所述后续消息流成本低于所述初始消息流成本,选择与所述后续消息流成本相关联的逻辑操作符的指派。
17.一种用于减少消息总线上的消息流的计算机可读介质,所述计算机可读介质包括指令,用于:
确定多个逻辑操作符中的至少一个逻辑操作符是否需要在物理节点群组中的给定物理处理节点上进行处理;
响应于确定所述逻辑操作符需要在所述给定物理处理节点上进行处理,将所述逻辑操作符固定到所述给定物理处理节点;以及
将所述多个逻辑操作符中的每个逻辑操作符指派给消息总线上的所述物理处理节点群组中的初始物理处理节点。
18.根据权利要求17所述的计算机可读介质,进一步包括指令,用于:
针对所述多个逻辑操作符中的至少一个逻辑操作符,确定与所述逻辑操作符相关联的输入消息流速率集的总和是否是大于以及等于与所述逻辑操作符相关联的输出消息流速率集的总和中的至少一个;
响应于所述输入消息流速率集的总和大于或者等于所述输出消息流速率集的总和,将所述逻辑操作符指派给在前物理处理节点,所述在前物理处理节点位于用于给定消息流序列的所述消息总线上的、在所述逻辑操作符当前所关联的物理处理节点之前的位置处;以及
响应于所述输入消息流速率集的总和小于所述输出消息流速率集的总和,将所述逻辑操作符指派给后续处理节点,所述后续处理节点位于用于所述给定消息流序列的所述消息总线上的、在所述逻辑操作符当前所关联的物理处理节点之后的位置处。
19.根据权利要求17所述的计算机可读介质,进一步包括指令,用于:
确定所述多个逻辑操作符中的至少一个逻辑操作符是否是至少一个其他逻辑操作符的父逻辑操作符;
响应于所述逻辑操作符是父逻辑操作符,确定所述逻辑操作符是否被指派给了在前物理处理节点,所述在前物理处理节点位于用于所述给定消息流序列的所述消息总线上的、在所述逻辑操作符的子逻辑操作符被指派给的物理处理节点之前的位置处;以及
响应于所述逻辑操作符在所述在前物理处理节点上,将所述逻辑操作符重新指派给所述子逻辑操作符被指派给的物理处理节点。
20.根据权利要求17所述的计算机可读介质,进一步包括指令,用于:
确定与将每个所述逻辑操作符指派给所述在前物理处理节点和所述后续物理处理节点之一相关联的后续消息流成本是否低于与将所述逻辑操作符的每一个指派给初始物理处理节点相关联的初始消息流成本;以及
响应于所述后续消息流成本低于所述初始消息流成本,选择与所述后续消息流成本相关联的逻辑操作符的指派。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/495,312 US7529849B2 (en) | 2006-07-27 | 2006-07-27 | Reduction of message flow between bus-connected consumers and producers |
US11/495,312 | 2006-07-27 | ||
PCT/EP2007/057027 WO2008012198A1 (en) | 2006-07-27 | 2007-07-10 | Reduction of message flow between bus-connected consumers and producers |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101495978A true CN101495978A (zh) | 2009-07-29 |
CN101495978B CN101495978B (zh) | 2011-12-14 |
Family
ID=38519753
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200780027832.0A Expired - Fee Related CN101495978B (zh) | 2006-07-27 | 2007-07-10 | 减少总线连接的消费者和产生者之间的消息流 |
Country Status (5)
Country | Link |
---|---|
US (3) | US7529849B2 (zh) |
EP (1) | EP2052325B1 (zh) |
JP (1) | JP5108011B2 (zh) |
CN (1) | CN101495978B (zh) |
WO (1) | WO2008012198A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103095564A (zh) * | 2011-11-01 | 2013-05-08 | 北京新媒传信科技有限公司 | 数据业务平台上数据交互方法和系统 |
WO2014086143A1 (zh) * | 2012-12-04 | 2014-06-12 | 中国科学院沈阳自动化研究所 | 面向复杂生产过程管理系统的消息总线实现方法 |
CN110612511A (zh) * | 2017-03-09 | 2019-12-24 | Netapp股份有限公司 | 使用流选择性地向分配区域中存储数据 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5104489B2 (ja) | 2008-04-03 | 2012-12-19 | 日本電気株式会社 | 分散イベント検出システム、分散イベント検出方法、及び分散イベント検出用プログラム |
US9591063B2 (en) * | 2013-03-09 | 2017-03-07 | Sas Institute Inc. | Parallel community detection |
US10860186B2 (en) * | 2014-09-26 | 2020-12-08 | Oracle International Corporation | User interface component wiring for a web portal |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5257374A (en) | 1987-11-18 | 1993-10-26 | International Business Machines Corporation | Bus flow control mechanism |
JP2589932B2 (ja) | 1992-06-15 | 1997-03-12 | インターナショナル・ビジネス・マシーンズ・コーポレイション | 装置の割り当てのグローバルな最適化方法とシステム |
JPH06149756A (ja) * | 1992-11-16 | 1994-05-31 | Hitachi Ltd | 分散型情報処理方法およびその装置 |
DE69432746T2 (de) * | 1994-06-10 | 2004-03-25 | Hewlett-Packard Co. (N.D.Ges.D.Staates Delaware), Palo Alto | Ereignisverarbeitungssystem und Verfahren zur Herstellen eines solchen Systems |
JPH0830558A (ja) * | 1994-07-20 | 1996-02-02 | Fujitsu Ltd | 計算機システムにおける負荷分散方法及びそれを利用した計算機システム |
US7233998B2 (en) * | 2001-03-22 | 2007-06-19 | Sony Computer Entertainment Inc. | Computer architecture and software cells for broadband networks |
US7093104B2 (en) * | 2001-03-22 | 2006-08-15 | Sony Computer Entertainment Inc. | Processing modules for computer architecture for broadband networks |
CN100364293C (zh) * | 2002-09-28 | 2008-01-23 | 华为技术有限公司 | 消息传输部分2层用户适配对ip网络拥塞的处理方法 |
US20050193113A1 (en) | 2003-04-14 | 2005-09-01 | Fujitsu Limited | Server allocation control method |
JP2004348680A (ja) * | 2003-05-26 | 2004-12-09 | Fujitsu Ltd | 複合イベント通知システムおよび複合イベント通知プログラム |
JP2005004676A (ja) * | 2003-06-16 | 2005-01-06 | Fujitsu Ltd | 適応型分散処理システム |
US7088371B2 (en) * | 2003-06-27 | 2006-08-08 | Intel Corporation | Memory command handler for use in an image signal processor having a data driven architecture |
US7523157B2 (en) * | 2003-09-25 | 2009-04-21 | International Business Machines Corporation | Managing a plurality of processors as devices |
US7549145B2 (en) * | 2003-09-25 | 2009-06-16 | International Business Machines Corporation | Processor dedicated code handling in a multi-processor environment |
US7389508B2 (en) * | 2003-09-25 | 2008-06-17 | International Business Machines Corporation | System and method for grouping processors and assigning shared memory space to a group in heterogeneous computer environment |
US7516456B2 (en) * | 2003-09-25 | 2009-04-07 | International Business Machines Corporation | Asymmetric heterogeneous multi-threaded operating system |
US7478390B2 (en) * | 2003-09-25 | 2009-01-13 | International Business Machines Corporation | Task queue management of virtual devices using a plurality of processors |
US7415703B2 (en) * | 2003-09-25 | 2008-08-19 | International Business Machines Corporation | Loading software on a plurality of processors |
US7444632B2 (en) * | 2003-09-25 | 2008-10-28 | International Business Machines Corporation | Balancing computational load across a plurality of processors |
US7093080B2 (en) * | 2003-10-09 | 2006-08-15 | International Business Machines Corporation | Method and apparatus for coherent memory structure of heterogeneous processor systems |
EP1533699B1 (en) | 2003-11-21 | 2012-08-08 | Sap Ag | A method of assigning objects to processing units |
US7240182B2 (en) * | 2004-09-16 | 2007-07-03 | International Business Machines Corporation | System and method for providing a persistent function server |
US7506325B2 (en) * | 2004-10-07 | 2009-03-17 | International Business Machines Corporation | Partitioning processor resources based on memory usage |
US7398482B2 (en) * | 2005-07-28 | 2008-07-08 | International Business Machines Corporation | Modular design method and apparatus |
-
2006
- 2006-07-27 US US11/495,312 patent/US7529849B2/en not_active Expired - Fee Related
-
2007
- 2007-07-10 EP EP07787302.4A patent/EP2052325B1/en active Active
- 2007-07-10 JP JP2009521197A patent/JP5108011B2/ja not_active Expired - Fee Related
- 2007-07-10 CN CN200780027832.0A patent/CN101495978B/zh not_active Expired - Fee Related
- 2007-07-10 WO PCT/EP2007/057027 patent/WO2008012198A1/en active Application Filing
-
2009
- 2009-05-04 US US12/434,840 patent/US8364818B2/en not_active Expired - Fee Related
-
2012
- 2012-07-27 US US13/560,299 patent/US8392577B2/en not_active Expired - Fee Related
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103095564A (zh) * | 2011-11-01 | 2013-05-08 | 北京新媒传信科技有限公司 | 数据业务平台上数据交互方法和系统 |
WO2014086143A1 (zh) * | 2012-12-04 | 2014-06-12 | 中国科学院沈阳自动化研究所 | 面向复杂生产过程管理系统的消息总线实现方法 |
CN110612511A (zh) * | 2017-03-09 | 2019-12-24 | Netapp股份有限公司 | 使用流选择性地向分配区域中存储数据 |
CN110612511B (zh) * | 2017-03-09 | 2023-10-03 | Netapp股份有限公司 | 使用流选择性地向分配区域中存储数据 |
Also Published As
Publication number | Publication date |
---|---|
WO2008012198A1 (en) | 2008-01-31 |
CN101495978B (zh) | 2011-12-14 |
US8364818B2 (en) | 2013-01-29 |
US20120297085A1 (en) | 2012-11-22 |
EP2052325B1 (en) | 2013-05-22 |
JP2009545043A (ja) | 2009-12-17 |
US8392577B2 (en) | 2013-03-05 |
US20080028098A1 (en) | 2008-01-31 |
EP2052325A1 (en) | 2009-04-29 |
US7529849B2 (en) | 2009-05-05 |
JP5108011B2 (ja) | 2012-12-26 |
US20090216899A1 (en) | 2009-08-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111831420B (zh) | 用于任务调度的方法、相关装置及计算机程序产品 | |
CN109710703A (zh) | 一种血缘关系网络的生成方法及装置 | |
CN109074377A (zh) | 用于实时处理数据流的受管理功能执行 | |
CN101495978B (zh) | 减少总线连接的消费者和产生者之间的消息流 | |
CN111126621B (zh) | 在线模型训练方法及装置 | |
CN103927314B (zh) | 一种数据批量处理的方法和装置 | |
KR20150092586A (ko) | 데이터 플로 기반 대규모 데이터 스트림 처리 방법 및 장치 | |
CN109582289B (zh) | 规则引擎中规则流的处理方法、系统、存储介质和处理器 | |
CN103106585A (zh) | 产品信息的实时去重方法和装置 | |
CN105162875B (zh) | 大数据群体任务分配方法及装置 | |
CN110781180B (zh) | 一种数据筛选方法和数据筛选装置 | |
CN110737425B (zh) | 一种计费平台系统的应用程序的建立方法及装置 | |
CN106096926B (zh) | 事件处理方法、装置、电子装置和存储介质 | |
CN114997414B (zh) | 数据处理方法、装置、电子设备和存储介质 | |
CN116820714A (zh) | 一种算力设备的调度方法、装置、设备和存储介质 | |
CN109934468A (zh) | 一种兼职工作匹配方法及系统、存储介质 | |
CN111444309A (zh) | 用于对图进行学习的系统 | |
CN112308602A (zh) | 用于生成模型的方法和装置 | |
CN110740153B (zh) | 一种监测数据获取方法、系统及装置 | |
CN116450753A (zh) | 一种海关业务数据结构化管理方法、装置、计算机设备组及存储介质 | |
CN110471968A (zh) | Etl任务的发布方法、装置、设备及存储介质 | |
US10417228B2 (en) | Apparatus and method for analytical optimization through computational pushdown | |
CN110727729A (zh) | 一种实现智能运算的方法及装置 | |
CN111639741B (zh) | 一种用于多目标QoS优化的服务自动组合代理系统 | |
CN112799797A (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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20111214 |
|
CF01 | Termination of patent right due to non-payment of annual fee |