CN104246731B - 数据处理系统以及用于操作数据操作系统的方法 - Google Patents
数据处理系统以及用于操作数据操作系统的方法 Download PDFInfo
- Publication number
- CN104246731B CN104246731B CN201380021034.2A CN201380021034A CN104246731B CN 104246731 B CN104246731 B CN 104246731B CN 201380021034 A CN201380021034 A CN 201380021034A CN 104246731 B CN104246731 B CN 104246731B
- Authority
- CN
- China
- Prior art keywords
- message
- response
- service bus
- target
- source
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 41
- 230000004044 response Effects 0.000 claims abstract description 111
- 238000001514 detection method Methods 0.000 claims abstract description 9
- 230000005540 biological transmission Effects 0.000 claims description 4
- 238000004590 computer program Methods 0.000 description 15
- 238000010586 diagram Methods 0.000 description 14
- 230000008569 process Effects 0.000 description 13
- 230000006870 function Effects 0.000 description 10
- 238000012545 processing Methods 0.000 description 9
- 101100264195 Caenorhabditis elegans app-1 gene Proteins 0.000 description 7
- 238000003860 storage Methods 0.000 description 7
- 230000009471 action Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 6
- 238000005457 optimization Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 238000012550 audit Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000005291 magnetic effect Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000005192 partition Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000000712 assembly Effects 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/561—Adding application-functional data or data for application control, e.g. adding metadata
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Library & Information Science (AREA)
- Computer And Data Communications (AREA)
- Multi Processors (AREA)
Abstract
一种数据处理系统包括在客户机与服务器之间连接的服务总线,所述服务总线包括被布置为调解所述客户机与所述服务器之间的消息流的一个或多个应用。一种操作所述数据处理系统的方法包括以下步骤:在所述服务总线处接收来自所述客户机的消息,并且在所述服务总线的应用处调解所述消息,所述调解包括向所述消息添加标头,所述标头定义源以及目标能够直接响应所述源的条件,所述源包括所述客户机或所述服务总线的应用,并且所述目标包括所述服务总线的应用或所述服务器。所述方法可以可选地还包括在所述目标处接收调解后的消息,检测满足所述调解后的消息的所述标头中的所述条件,以及将响应直接传输到在所述调解后的消息的所述标头中定义的所述源。
Description
技术领域
本发明涉及操作数据处理系统的方法,并且涉及数据处理系统本身。
背景技术
企业服务总线(ESB)是一种软件架构模型,用于在面向服务的架构中设计和实现互相交互的软件应用之间的交互和通信。作为用于分布式计算的软件架构模型,它是更通用的客户机-服务器软件架构模型的一种变体,并且为应用之间的通信和交互提供面向消息的设计。它的主要用途是集成异构系统和计算系统。
现有ESB实现允许双向操作。一个简单的实例是在启动给定服务调用之前调解请求流上的消息,然后调解响应流以便调解从给定服务返回到客户机应用的响应。具有以下响应流并不罕见:其不执行任何丰富、转换、调解或审计,而是仅将响应推回到客户机应用而不执行任何动作,这在ESB的处理器和网络利用率方面效率低下。
当前解决方案通过在给定有效期内缓存服务响应,有助于降低ESB实现中的网络利用率,但这并不适用于所有情形,并且不会降低处理响应流上的消息以便仅将响应转发回到客户机应用的额外成本。出于本文档的目的,响应流与调解从后端服务到客户机应用的响应中涉及的过程相关。当响应流被视为空流时,暗示处理相当于静态路由,即,没有数据丰富、转换、调解或审计。
因此,所属技术领域需要解决上述问题。
发明内容
根据本发明的第一方面,提供一种操作包括在客户机与服务器之间连接的服务总线的数据处理系统的方法,所述服务总线包括被布置为调解所述客户机与所述服务器之间的消息流的一个或多个应用,所述方法包括以下步骤:在所述服务总线处接收来自所述客户机的消息,并在所述服务总线的应用处调解所述消息,所述调解包括向所述消息添加标头,所述标头定义源以及目标能够直接响应所述源的条件,所述源包括所述客户机或所述服务总线的应用,并且所述目标包括所述服务总线的应用或所述服务器。
根据本发明的第二方面,提供一种包括在客户机与服务器之间连接的服务总线的数据处理系统,所述服务总线包括被布置为调解所述客户机与所述服务器之间的消息流的一个或多个应用,其中所述服务总线被布置为从所述客户机接收消息并调解所述消息,所述调解包括向所述消息添加标头,所述标头定义源以及目标能够直接响应所述源的条件,所述源包括所述客户机或所述服务总线的应用,并且所述目标包括所述服务总线的应用或所述服务器。
根据本发明的第三方面,提供一种计算机可读介质上的用于操作包括在客户机与服务器之间连接的服务总线的数据处理系统的计算机程序产品,所述服务总线包括被布置为调解所述客户机与所述服务器之间的消息流的一个或多个应用,所述产品包括用于执行以下操作的指令:在所述服务总线处接收来自所述客户机的消息,并在所述服务总线的应用处调解所述消息,所述调解包括向所述消息添加标头,所述标头定义源以及目标能够直接响应所述源的条件,所述源包括所述客户机或所述服务总线的应用,并且所述目标包括所述服务总线的应用或所述服务器。
从另一方面看,本发明提供一种用于操作包括在客户机与服务器之间连接的服务总线的数据处理系统的计算机程序产品,所述服务总线包括被布置为调解所述客户机与所述服务器之间的消息流的一个或多个应用,所述计算机程序产品包括:计算机可读存储介质,其可由处理电路读取并存储由所述处理电路执行以执行用于执行本发明的步骤的方法的指令。
从另一方面看,本发明提供一种存储在计算机可读介质上并可加载到 数字计算机的内部存储器中的计算机程序,其包括软件代码部分,当所述程序在计算机上运行时,所述软件代码部分用于执行本发明的步骤。
归因于本发明,可提供增强的数据处理性能和功能,其例如可以在企业服务总线产品中提供,这将在所述服务总线中提供减少的处理和网络负载。优选地,所述企业服务总线针对给定服务响应检测空响应流,向所述服务总线中的组件发送控制分组以指示绕过所述组件,并且基于最初传播到所述服务的数据,将所述响应消息路由到客户机调用系统。有利的是,所述方法还包括在所述目标处接收调解后的消息,检测满足所述调解后的消息的所述标头中的所述条件,以及将响应直接传输到在所述调解后的消息的所述标头中定义的所述源。因此,在一个优选实施例中,所述数据处理系统能够确定何时响应流为空,当服务总线响应流为空时,将响应直接路由到客户机系统,使用可用响应流的信息相应地路由不同的服务响应(例如故障消息/无效响应/有效响应),并且允许通过多个应用部分优化和传播数据以便允许更复杂的分析和路由。
基本上,修改后的数据处理系统具有客户机和端服务器及在它们中间的服务总线。可以布置源和目标(其中在最简单的实施例中,所述源是客户机,并且所述目标是服务器)以便从所述源产生针对所述目标的消息时,所述服务总线可以定义特定情况,其中所述目标可以直接与所述源通信而不是通过所述服务总线的所有组件返回。在最简单的实施例中,这意味着在特定情况下,所述端服务器的通信将直接返回到所述客户机设备,而不是通过所述服务总线通信。所述服务总线将向原始消息添加标头,所述标头定义何时所述目标可以直接与所述源通信。这将减少所述服务总线中在返回线路上的处理量,因为直接与所述源通信的所述目标绕过部分或全部所述服务总线。
优选地,所述方法还包括将消息从所述源传输到所述目标以指示直接响应的安全接收,并且将消息从所述目标传输到消息调解应用以指示直接响应的安全接收。所述方法还可以可选地包括检测未在所述源处安全接收直接响应,并且改为将响应传输到所述服务总线的应用。所述目标可以被 配置为监视所述源安全接收所述直接响应,并且所述目标可以与所述服务总线通信以便确保遵循适当的事务方法。如果由于任何原因,直接消息未到达起始源或者所述目标不认为消息到达所述源,则所述目标可以将所述响应传送到所述服务总线,以便确保原始请求得到处理。
附图说明
现在仅通过实例的方式参考附图描述本发明的优选实施例,这些附图是:
图1和2是根据现有技术并且其中可以实现本发明的一个优选实施例的数据处理系统的示意图;
图3是根据本发明的一个优选实施例的操作服务总线的方法的流程图;
图4是根据本发明的一个优选实施例的操作服务器的方法的流程图;
图5是根据本发明的一个优选实施例的服务总线中的示例响应流的示意图;以及
图6是根据本发明的一个优选实施例的数据处理系统的另一示意图。
具体实施方式
图1示出数据处理系统,其包括客户机10、服务器14以及在客户机10与服务器14之间连接的服务总线12。服务总线12包括被布置为调解客户机10与服务器14之间的消息流的一个或多个应用。使用服务总线12暗示客户机10和服务器14不能直接通信并且需要服务总线12在两个不同组件之间调解。在大型组织中,遗留计算系统与新的服务或应用不兼容并且在它们中间需要服务总线12是很常见的。
图1中所示的三个组件可以是位于不同位置中的三个单独机器,或者它们可以包括可能位于同一物理机上的单独软件环境。客户机10是一种应用,其想要使用服务器14提供的服务的功能。无论由于何种原因,客户机10不能直接与服务器14通信,而是必须向服务总线12发送消息,服务总 线12调解该消息以便最终转发到服务器14。同样,服务器14向服务总线12发送响应,服务总线12然后调解接收的响应并将其发回到客户机10。
服务总线12包括一个或多个单独应用,这些应用管理从客户机10和服务器14接收的消息的请求流和响应流。服务总线12的应用的请求流调解来自客户机10的入站消息。服务总线12将调解后的消息发送到服务器14。服务总线12的应用的响应流调解来自服务器14的回复以便转发到原始请求客户机10。这样,尽管存在明显的不兼容性,但是客户机10与服务器14仍可以通信。
图1的数据处理系统优化例如在ESB实现中的响应流处理。客户机系统10是直接调用ESB实现的系统。服务总线12将在协议标头中为服务器14提供的后端服务提供数据传播,其中包含有关客户机系统(多个)的信息以及有关受支持的响应和响应流优化可行性的信息。基本上,服务总线12的应用调解从客户机10接收的消息,该调解包括向消息添加标头,该标头定义源以及目标能够直接响应源的条件。
图2以最宽泛的术语示出该概念,其中客户机10将消息16传输到服务总线12。服务总线12的应用将调解消息16,该调解包括向消息16添加标头18。标头18定义源(客户机10)以及目标(服务器14)能够直接响应客户机10的条件。因此,除了服务总线12执行的常规调解之外,服务总线12向出站消息添加标头18,标头18定义服务器14可以直接响应客户机10的情况,而不必回复服务总线12。
目标(服务器14)接收调解后的消息16,并且如果它检测满足调解后的消息16的标头18中的条件,则将响应直接传输到在调解后的消息16的标头18中定义的源(客户机10)。通常发送到服务总线12以便调解并且转发到客户机10的响应改为直接发送到客户机10,从而绕过服务总线12。服务器14在所有方面执行其常规操作,除了路由其对来自客户机10的请求的响应,这由标头18决定。
当特定请求的响应流为空时,服务器14能够直接响应客户机10。这暗示服务总线12不针对该特定请求的响应执行任何调解或其它动作,除了 将响应路由到原始客户机10以外。空响应流基本上用于将响应从服务器14传递到客户机10而没有来自服务总线12的任何调解。在使用服务总线12的数据处理系统的常规操作中,这将造成处理和网络资源的低效使用,因为通过服务总线12不必要地路由数据。
在图2中,服务总线12在计算机程序产品的控制下操作,该计算机程序产品由计算机可读介质30(在此为CD-ROM 30)提供。介质30上的产品包括一系列指令,在服务总线12接收消息16之后,这些指令控制消息16的调解。指令定义消息16的接收以及服务总线12如何通过向消息16添加标头18来调解消息16。标头18定义消息16的源以及消息16的最终目标将直接响应消息16的源的情况。
数据处理系统可以实现一种用于检测空响应流的方法。例如,数据处理系统可以检测是否在运行时或部署时存在任何空响应流。该检测将依赖于实现。例如在Enterprise Service Bus(WESB)实现中,可能询问最初处理来自服务调用的响应的节点连接,以便确定与处理将响应发回到服务使用者/客户机应用的节点是否存在任何直接连接,或者通过检查存储调解流数据的xml文件(多个)。然后可以将有关空响应流的信息存储在高速缓存或调解元数据中,并且可以将数据传播到后端服务。服务总线的其它实现可以使用特定于那些用于检测空响应流的实现的方法。IBM和WebSphere是国际商业机器公司在全世界各地的注册商标。
图3是示出服务总线12如何操作的流程图,服务总线12通过允许服务器14在接收消息16之后直接与客户机10通信来实现优化网络负载的特性。在步骤S3.1,进行检查以便查看启用优化,因为网络管理员应该具有启用或禁用该特性的能力。如果是,则在步骤S3.2,进行检查以便查看任何响应流是否为空。如果是,则在步骤S3.3,进行进一步检查以便查看响应流是否有资格进行优化。这可能是查看是否已向服务总线实现添加任何定制代码,这可以意味着服务总线12不能依赖于响应流为空而认为特定响应流有资格进行优化。如果在步骤S3.3的回答为是,则在步骤S3.4,服务总线进行的调解包括在发送到服务器14的消息的标头18中包括客户机10 和响应流的详细信息,这将确定在步骤S3.5发送到服务器14的请求的形式。
图4是示出服务器14的操作的流程图。服务器14需要的数据在接收的消息的标头18中传播,如上所述。在步骤S4.1,服务器14进行检查以便查看它将为原始请求提供的响应是否与标头18中的条件匹配。如果否,则所述过程移到步骤S4.7,并且服务器14以常规方式响应服务总线12。但是,如果是,则在步骤S4.2,将通知从服务器14发送到服务总线12,该通知指示将向原始请求者(客户机10)发出对原始消息的直接响应。
在步骤S4.3,服务器14从消息的标头18提取限定客户机10的数据(例如客户机10的适当网络地址),并且在步骤S4.4,使用该数据将响应直接传输到客户机10。在步骤S4.5,进行检查以便查看客户机10是否确认安全接收响应。如果否,则所述过程移到步骤S4.7,并且服务器14以常规方式响应服务总线12。但是,如果是,则在步骤S4.6,服务器14向服务总线12发送通知以便指示已成功使用直接路由。
检查接收响应(如果中断ESB 12,则为客户机10与服务器14之间的“握手”)的步骤S4.5是可选的,因为可以利用使用最大努力的服务质量,其中可能在某些条件下丢失消息。在图4中,步骤S4.4可以可选地直接连接到步骤S4.6,从而绕过步骤S4.5,具体取决于环境配置,例如是否使用降低的服务质量。
服务器14提供一种用于指示以下ESB实现12的方法:绕过响应流并且向ESB 12发送分组以便指示已完成流。服务器12解析协议标头18中的数据,以便将响应消息路由到适当的客户机系统10。将事务性传递到后端系统14,其现在负责数据/事务/服务质量(QOS)。如果服务器14确定满足标头18中的条件,则服务器14将仅使用该方法。因此,对于某些类型的请求,仅可能响应的子集将使用对请求的原始源的直接响应。
图5详述了服务总线12的示例响应流。流包括经由箭头22连接的节点20。每个节点20可以被视为表示某种逻辑,如果就接收的消息16而言满足必要条件,则服务总线12将调用该逻辑。标记为“调出响应1”的节 点20指当针对来自客户机10的接收的消息16从服务器14提供的服务1接收到响应时,将被调用的节点20。同样,“调出响应2”和“调出响应3”指分别来自其它服务器14的服务2和3。
在图5的实例中,标记为“输入响应”的节点20指被调用以便向原始客户机10返回消息的逻辑,该消息触发到服务器14的通信。在将响应发送到客户机系统10之前,首先在可扩展样式表语言转换(XSLT)节点20中转换来自调出1或调出2的响应。但是,将来自调出3的响应直接发送到客户机系统10。来自调出1的错误响应将导致停止。从该图可以看到,将根据在服务总线12中定义的逻辑,以不同方式处理来自同一服务器14的不同响应。
如果应用本身有资格进行响应流优化,则来自调出3的任何有效响应(导致调出响应3被调用)都将是优化的可行候选者。如果在请求流中调用调出3,则在标头18中将信息传播到后端服务14,该信息指示应该将有效响应直接路由到所指示的客户机系统10。这样,可以监视服务总线12的逻辑以便确定何时适于向服务器14通知特定类型的响应不需要返回到服务总线12,但可以直接转到起始客户机10。
在诸如IBM WebSphere ESB之类的服务总线的某些实现中,可能通过导入26和导出28连接服务总线12的单独应用24,如图6中所示。在这种类型的实现中,最终调用后端服务14的ESB应用24的客户机系统可以是服务总线12中的另一个应用24。尽管数据处理系统中的消息链是客户机-服务总线-服务器,但优化响应路由的源和目标不一定是链的两端(客户机10和服务器14)。源可以是客户机10,并且目标可以是服务总线12的应用24,或者源可以是服务总线12的应用24,并且目标可以是服务器14。
在图6的实例中,应用App 2将保存有关对应用App 1的哪些响应满足优化准则的信息,该信息再次在协议标头中传播到后端服务14。在此方面,取决于App 1和App 2的响应流的设计和功能,后端服务14可以向App 2发送响应,App 2然后向App 1发送响应,App 1然后直接响应客 户机系统(无优化),或者可以向App 2发送响应,App 2然后可以走捷径绕过App 1并且直接响应客户机系统10(部分优化),或者可以走捷径绕过App 2并且向App 1发送响应,App 1然后直接响应客户机系统(不同部分优化),或者可以走捷径绕过App 2和App1两者并且将响应直接发送到客户机系统10(完全优化)。
优化包含的重要原理是绕过部分或全部服务总线12,并且这通过添加到进行中的消息的标头来实现,该标头向链的下游组件指示直接路由将发生的情况以及应将直接路由定向到谁。因为客户机10可能向服务器14发出请求,该请求导致将许多兆字节的数据传输到客户机10,所以此类响应路由的任何优化都将节省大量处理和网络资源。作为优化目标的服务器14或应用24将响应链中的不是实际调用服务器14或应用24的组件的上游组件。
所属技术领域的技术人员知道,本发明的各个方面可以实现为系统、方法、计算机程序产品或计算机程序。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、驻留软件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。此外,本发明的各个方面还可以实现为在一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可读的程序代码。
可以采用一个或多个计算机可读介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是—但不限于—电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质, 该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括例如在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括—但不限于—电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括—但不限于—无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明的各个方面的操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Smalltalk、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。Java以及所有基于Java的商标和徽标是Oracle和/或其子公司的商标或注册商标。
下面将参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。
也可以把这些计算机程序指令存储在计算机可读介质中,这些指令使 得计算机、其它可编程数据处理装置、或其它设备以特定方式工作,从而,存储在计算机可读介质中的指令就产生出包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的指令的制造品(article of manufacture)。
也可以把计算机程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机或其它可编程装置上执行的指令提供实现流程图和/或框图中的一个或多个方框中规定的功能/动作的过程。
附图中的流程图和框图显示了根据本发明的不同实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
为了避免疑义,此处在说明书和权利要求中使用的术语“包括”不应被解释为“仅由...组成”。
Claims (12)
1.一种用于操作包括在客户机与服务器之间连接的服务总线的数据处理系统的方法,所述服务总线包括被布置为调解所述客户机与所述服务器之间的消息流的一个或多个应用,所述方法包括以下步骤:
在所述服务总线处接收来自所述客户机的消息,并在所述服务总线的应用处调解所述消息,所述调解包括向所述消息添加标头,所述标头定义源以及目标能够直接响应所述源的条件,所述源包括所述客户机,并且所述目标包括所述服务器;
其中响应于满足所述调解后的消息的所述标头中的所述条件,所述目标将响应直接传输到在所述调解后的消息的所述标头中定义的所述源。
2.根据权利要求1的方法,还包括在所述目标处接收调解后的消息,检测满足所述调解后的消息的所述标头中的所述条件,以及将响应直接传输到在所述调解后的消息的所述标头中定义的所述源。
3.根据权利要求2的方法,还包括将消息从所述源传输到所述目标以指示直接响应的安全接收。
4.根据权利要求3的方法,还包括将消息从所述目标传输到消息调解应用以指示直接响应的安全接收。
5.根据权利要求2的方法,还包括检测未在所述源处安全接收直接响应,并且改为将响应传输到所述服务总线的应用。
6.根据任一上述权利要求的方法,其中所述服务总线包括多个应用,并且所述源包括所述服务总线中的第一应用,所述目标包括所述服务总线中的第二应用。
7.一种包括在客户机与服务器之间连接的服务总线的数据处理系统,所述服务总线包括被布置为调解所述客户机与所述服务器之间的消息流的一个或多个应用,其中所述服务总线被布置为从所述客户机接收消息并调解所述消息,所述调解包括向所述消息添加标头,所述标头定义源以及目标能够直接响应所述源的条件,所述源包括所述客户机,并且所述目标包括所述服务器;
其中满足所述调解后的消息的所述标头中的所述条件,所述目标将响应直接传输到在所述调解后的消息的所述标头中定义的所述源。
8.根据权利要求7的系统,其中所述目标被布置为接收调解后的消息,检测满足所述调解后的消息的所述标头中的所述条件,以及将响应直接传输到在所述调解后的消息的所述标头中定义的所述源。
9.根据权利要求8的系统,其中所述源被布置为将消息传输到所述目标以指示直接响应的安全接收。
10.根据权利要求9的系统,其中所述目标被进一步布置为将消息传输到消息调解应用以指示直接响应的安全接收。
11.根据权利要求8的系统,其中所述目标被进一步布置为检测未在所述源处安全接收直接响应,并且改为将响应传输到所述服务总线的应用。
12.根据权利要求7至11中的任一权利要求的系统,其中所述服务总线包括多个应用,并且所述源包括所述服务总线中的第一应用,所述目标包括所述服务总线中的第二应用。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB1207277.3A GB2501513A (en) | 2012-04-26 | 2012-04-26 | Message handling in an enterprise service bus |
GB1207277.3 | 2012-04-26 | ||
PCT/IB2013/051825 WO2013160775A1 (en) | 2012-04-26 | 2013-03-07 | Message handling in a data processing system |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104246731A CN104246731A (zh) | 2014-12-24 |
CN104246731B true CN104246731B (zh) | 2017-03-08 |
Family
ID=46261870
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380021034.2A Active CN104246731B (zh) | 2012-04-26 | 2013-03-07 | 数据处理系统以及用于操作数据操作系统的方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US9325808B2 (zh) |
CN (1) | CN104246731B (zh) |
DE (1) | DE112013002191B4 (zh) |
GB (2) | GB2501513A (zh) |
WO (1) | WO2013160775A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115695565B (zh) * | 2021-07-13 | 2024-04-09 | 大唐移动通信设备有限公司 | 一种数据报文处理方法、装置及计算机可读存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1588906A (zh) * | 2004-07-28 | 2005-03-02 | 杜宗霞 | 组合服务总线系统及其实现方法 |
CN101222518A (zh) * | 2006-12-27 | 2008-07-16 | 国际商业机器公司 | 用于处理应用程序协议请求的方法和系统 |
CN101370015A (zh) * | 2007-08-13 | 2009-02-18 | 埃森哲环球服务有限公司 | 服务请求处理方法和系统 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4394726A (en) * | 1981-04-29 | 1983-07-19 | The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration | Distributed multiport memory architecture |
US6912588B1 (en) | 1998-04-02 | 2005-06-28 | Intel Corporation | System and method for managing client requests in client-server networks |
US8959231B2 (en) * | 2002-04-12 | 2015-02-17 | Siemens Aktiengesellschaft | Representation of Boolean expressions for specifying filters using XML |
US20050264581A1 (en) * | 2004-05-21 | 2005-12-01 | Bea Systems, Inc. | Dynamic program modification |
WO2005114452A2 (en) * | 2004-05-21 | 2005-12-01 | Bea Systems, Inc. | Service oriented architecture |
US20080183479A1 (en) | 2007-01-25 | 2008-07-31 | Masaru Iwashita | Business process reconstruction method, and its program and computer |
US8112434B2 (en) | 2007-07-09 | 2012-02-07 | International Business Machines Corporation | Performance of an enterprise service bus by decomposing a query result from the service registry |
US8209272B2 (en) | 2009-02-27 | 2012-06-26 | Red Hat, Inc. | Dynamic computation of optimal placement for services in a distributed computing system |
US9077750B2 (en) | 2009-02-27 | 2015-07-07 | Red Hat, Inc. | Using forums as a message transport in an enterprise service bus |
KR101777347B1 (ko) * | 2009-11-13 | 2017-09-11 | 삼성전자주식회사 | 부분화에 기초한 적응적인 스트리밍 방법 및 장치 |
US9535769B2 (en) * | 2010-02-05 | 2017-01-03 | Oracle International Corporation | Orchestrated data exchange and synchronization between data repositories |
JP5659498B2 (ja) * | 2010-02-18 | 2015-01-28 | 日本電気株式会社 | Soaシステム、サービスバス装置、転送定義生成方法、及びコンピュータプログラム |
US8856800B2 (en) * | 2010-05-21 | 2014-10-07 | Red Hat, Inc. | Service-level enterprise service bus load balancing |
CN102143195B (zh) | 2010-07-29 | 2014-12-03 | 华为技术有限公司 | 提供服务信息的方法、装置及服务系统 |
US9483312B2 (en) | 2010-08-16 | 2016-11-01 | International Business Machines Corporation | Locating service endpoints from a service registry |
-
2012
- 2012-04-26 GB GB1207277.3A patent/GB2501513A/en not_active Withdrawn
-
2013
- 2013-03-07 GB GB1415285.4A patent/GB2513520B/en active Active
- 2013-03-07 CN CN201380021034.2A patent/CN104246731B/zh active Active
- 2013-03-07 DE DE112013002191.9T patent/DE112013002191B4/de active Active
- 2013-03-07 WO PCT/IB2013/051825 patent/WO2013160775A1/en active Application Filing
- 2013-04-25 US US13/870,241 patent/US9325808B2/en not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1588906A (zh) * | 2004-07-28 | 2005-03-02 | 杜宗霞 | 组合服务总线系统及其实现方法 |
CN101222518A (zh) * | 2006-12-27 | 2008-07-16 | 国际商业机器公司 | 用于处理应用程序协议请求的方法和系统 |
CN101370015A (zh) * | 2007-08-13 | 2009-02-18 | 埃森哲环球服务有限公司 | 服务请求处理方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
GB2513520B (en) | 2015-03-11 |
GB2513520A (en) | 2014-10-29 |
GB201415285D0 (en) | 2014-10-15 |
WO2013160775A1 (en) | 2013-10-31 |
DE112013002191T5 (de) | 2015-01-08 |
GB2501513A (en) | 2013-10-30 |
DE112013002191B4 (de) | 2024-02-22 |
US9325808B2 (en) | 2016-04-26 |
CN104246731A (zh) | 2014-12-24 |
US20130290411A1 (en) | 2013-10-31 |
GB201207277D0 (en) | 2012-06-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10404820B2 (en) | Systems and methods for controlling cacheability and privacy of objects | |
CN105939335B (zh) | 发布-订阅数据处理环境中管理通道所有权的方法和系统 | |
US10608884B2 (en) | Method and apparatus for providing device compatibility information | |
KR102277186B1 (ko) | 애플리케이션 서비스 아바타를 통한 애플리케이션 서비스 전달 | |
US8856800B2 (en) | Service-level enterprise service bus load balancing | |
CN104169901B (zh) | 用于优化网络中的内容传送的方法、系统和设备 | |
US10084659B2 (en) | Systems and methods for enhanced discovery | |
US9565092B2 (en) | Enterprise service bus deployment at the level of individual services | |
KR102341809B1 (ko) | 트랜잭셔널 미들웨어 머신 환경에서 도메인 간 메시징을 위해 바이패스-도메인 모델 및 프록시 모델을 지원하고 서비스 정보를 갱신하는 시스템 및 방법 | |
CN109684358A (zh) | 数据查询的方法和装置 | |
US8615580B2 (en) | Message publication feedback in a publish/subscribe messaging environment | |
KR101850351B1 (ko) | P2P 프로토콜을 이용한 IoC 정보 조회 방법 | |
US8793322B2 (en) | Failure-controlled message publication and feedback in a publish/subscribe messaging environment | |
US8799399B2 (en) | Near-real time distributed usage aggregation system | |
CN107135268B (zh) | 基于信息中心网络的分布式任务计算方法 | |
US20130013534A1 (en) | Hardware-assisted approach for local triangle counting in graphs | |
CN106339267B (zh) | 一种对象查询方法及服务端 | |
CN104580073B (zh) | 一种用于在异构系统之间实现消息传递的方法和装置 | |
US20130066980A1 (en) | Mapping raw event data to customized notifications | |
JP2016082578A (ja) | コンテンツセントリックネットワーク内におけるオンライン漸進型コンテンツ配置 | |
CN102496203A (zh) | 一种通过手机获取排队号的系统及方法 | |
US20110320516A1 (en) | Method and apparatus for construction and aggregation of distributed computations | |
CN108847952A (zh) | 请求链路上下文的处理方法、装置及系统 | |
US20110145191A1 (en) | Proxy-Based, Distributed Computer-Aided Dispatch System | |
US20230244499A1 (en) | Collaborative software application frameworks using internal service plugins and external service plugins |
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 |