WO2008113297A1 - Procédé de traitement de requête d'appel dans un système distribué, système distribué et serveur - Google Patents

Procédé de traitement de requête d'appel dans un système distribué, système distribué et serveur Download PDF

Info

Publication number
WO2008113297A1
WO2008113297A1 PCT/CN2008/070535 CN2008070535W WO2008113297A1 WO 2008113297 A1 WO2008113297 A1 WO 2008113297A1 CN 2008070535 W CN2008070535 W CN 2008070535W WO 2008113297 A1 WO2008113297 A1 WO 2008113297A1
Authority
WO
WIPO (PCT)
Prior art keywords
request
interface
transfer
call
transfer request
Prior art date
Application number
PCT/CN2008/070535
Other languages
English (en)
French (fr)
Inventor
Jian Zhou
Bo Peng
Original Assignee
Huawei Technologies Co., Ltd.
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co., Ltd. filed Critical Huawei Technologies Co., Ltd.
Priority to EP08715271A priority Critical patent/EP2128758A4/en
Publication of WO2008113297A1 publication Critical patent/WO2008113297A1/zh
Priority to US12/347,774 priority patent/US8151283B2/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4488Object-oriented
    • G06F9/449Object-oriented method invocation or resolution

Definitions

  • the present invention relates to the field of distributed processing technologies, and in particular, to a call request processing method in a distributed system and a corresponding distributed system and distributed server.
  • Method 1 mainly includes the following steps:
  • the requesting direction intermediate object initiates a request to obtain an object reference
  • the intermediate object selects an actual execution object and returns it to the requester.
  • the requesting party initiates a request to the actual execution object according to a certain agreement
  • the actual execution object returns the result to the requesting party.
  • the second method mainly includes the following steps:
  • the request direction intermediate object initiates a call request
  • the intermediate object continues to call the specific actual execution object
  • the actual execution object returns the result to the intermediate object
  • the intermediate object returns the result to the requester.
  • the interaction between the requester, the intermediate object, and the actual execution object is performed through a distributed service platform.
  • the requester's one service requirement needs to be mapped to two requests: the request to get the object reference and the real processing request, which leads to performance degradation and implementation complexity.
  • the intermediate object since the intermediate object initiates a call to the actual execution object, the request and the return sound are issued. The result should be passed through the intermediate object, which reduces the efficiency of the request.
  • the intermediate object needs to implement all the interfaces of the actual execution object, which is difficult to develop.
  • Embodiments of the present invention provide a call request processing method and a distributed system and server in a distributed system, which can improve efficiency and simplify operations.
  • the embodiment of the present invention provides a call request processing method in a distributed system capable of improving efficiency and simplifying operations, including: receiving a requesting request of a requesting party for a first object, where the calling request includes the caller of the clearing party And transmitting a transfer request to the first object in accordance with the judgment of the first object interface capability, so that the first object transfers the caller's call to the second object according to the transfer request; Facilitating that the second object performs the calling, and returns an execution result to the requesting party; where the transfer request includes the calling information of the requesting party.
  • the embodiment of the present invention further provides a corresponding distributed system, including a distributed server, a first object implementation module, and a second object implementation module.
  • the distributed server is configured to receive a request by the requesting party to the first object implementation module. Sending a transfer request to the first object implementation module according to the judgment of the interface capability of the first object implementation module, where the transfer request includes the caller information of the requester; the first object implementation module is configured to Transmitting the call of the requester to the second object implementation module according to the transfer request; and the second object implementation module is configured to execute the call, and return an execution result to the requester.
  • a distributed server comprising: a requesting proxy unit, configured to receive a requesting request by the requesting party for the first object, where the calling request includes the calling information of the relying party; and the object adapting unit is configured to determine The first object does not implement the interface invoked by the requester, and generates an interface unimplemented event; the forwarding unit is configured to acquire an interface unimplemented event from the object adaptation unit, and convert the call request to the Transfer request of the first object, and send the transfer request to the first object, where the transfer request includes call information of the requester.
  • An object implementation module comprising: a receiving unit, configured to receive a transfer request, where the transfer request includes call information of the requester; and a forwarding unit, configured to transfer the call of the requester to the transfer request according to the transfer request.
  • the embodiment of the present invention adopts a method according to the interface capability of the calling object, and converts the calling request of the sending object into the intermediate object (ie, the first object) into a transfer request, so that the intermediate object only needs to be executed.
  • the row calls the requested transfer operation, and the result is returned directly to the requester by the actual execution object (ie the second object).
  • the requesting party only needs to initiate a call to obtain the execution result directly from the actual execution object, thereby improving the efficiency of the request; at the same time, the intermediate object only needs to implement the transfer interface, and does not need to implement the real interface of the actual execution object to be called. Simplifies the operation or implementation process.
  • FIG. 1 is a schematic flow chart of a call request processing method in a distributed system according to an embodiment of the present invention
  • FIG. 2 is a schematic flow chart of a call request processing method in another distributed system according to an embodiment of the present invention.
  • FIG. 3 is a schematic diagram of a logical structure of a distributed system according to an embodiment of the present invention.
  • FIG. 4 is a schematic diagram of a logical structure of a distributed server according to an embodiment of the present invention.
  • FIG. 5 is a schematic flowchart of another application of a call request processing method according to another embodiment of the present invention. detailed description
  • An embodiment of the present invention provides a call request processing method in a distributed system, which is determined according to the interface capability of the calling object, and converts the call request of the sending object into an intermediate object into a transfer request, and the intermediate object only needs to execute the call request.
  • the transfer operation returns the result directly to the requester by the actual execution object.
  • Another embodiment of the present invention also provides a distributed system and a distributed server corresponding to the aforementioned call request processing method.
  • a schematic flowchart of a call request processing method in a distributed system includes: Al, receiving a requesting request from a requesting party to a first object, where the request includes a calling information of the requesting party;
  • the service platform for providing information exchange between objects may be various interface-based distributed system servers, including a Common Object Request Broker Architecture (CORBA) server.
  • CORBA Common Object Request Broker Architecture
  • SOAP Simple Object Access Protocol
  • RMI Remote Method Invocation
  • the distributed server may determine the status of the first object as an intermediate object by whether the requested first object can implement the called interface, or whether there is a transfer interface, thereby converting the requesting party's call request to the first called A specific request for an object - a transfer request.
  • the transfer request can be implemented by a distributed server's call to the transfer interface of the intermediate object, which can be general-purpose, or a specific transfer interface can be set for a specific intermediate object.
  • the first object transfers the call of the requester to the second object according to the received transfer request.
  • the first object may be a proxy of a plurality of actual objects, or may be a mapping of a large-granularity request to a small-granularity object.
  • the executor which itself has the ability to determine the actual executor of the call request, ie the second object.
  • the first object only needs to implement the transfer interface with the second object, and is used to transfer the caller's call to the corresponding actual execution object, and does not have to implement all the real interfaces of the second object.
  • the second object executes the call, and returns an execution result to the requesting party.
  • the caller of the call is still the first requester instead of the first object that called the transfer, so the second object will return the execution result directly to the execution after execution.
  • the requester does not need to go through the forwarding of the first object.
  • a call request processing method in a distributed system comprising:
  • the service platform for providing information exchange between objects may be various interface-based distributed system servers, including a CORBA server, a SOAP: Simple Object Access Protocol server, an RMI server, and the like.
  • the object referred to includes the requester, the first object, and the second object.
  • the server when the calling object cannot implement the called interface, the corresponding system exception event can usually be generated.
  • the server generates the "interface unimplemented exception" capability to trigger the pair. Call the conversion of the request;
  • the first object can implement the interface requested to be called, it belongs to an ordinary object.
  • the calling process can adopt the existing general processing manner and is not discussed in the embodiment of the present invention.
  • the server can submit it to the corresponding component for processing.
  • it may also be determined whether the first object provides a transfer interface, and if so, the conversion of the call request to the transfer request is performed. Otherwise, the first object is not an intermediate object that can implement the call transfer. It can be executed according to the existing processing of the system exception event, such as returning error information to the requester.
  • the first object transfers the call of the requester to the second object according to the received transfer request
  • the second object executes the call, and returns an execution result to the requester.
  • a distributed system as shown in FIG. 3, includes a distributed server 10, a first object implementation module 20, and a second object implementation module 30;
  • the distributed server 10 is configured to receive a request for the first object implementation module 20 by the requesting party, and send a transfer request to the first object implementation module 20 according to the judgment of the interface capability of the first object implementation module 20, where the transfer request is Including the call information of the requestor;
  • the first object implementation module 20 is configured to transfer the call of the requester to the second object implementation module 30 according to the transfer request sent by the distributed server 10;
  • the second object implementation module 30 is configured to execute the call and return an execution result to the requestor.
  • the distributed server 10 in this embodiment may adopt the following structure, including: a requesting proxy unit 11, an object adaptation unit 12, and a forwarding unit 13;
  • the requesting proxy unit 11 is configured to receive a requesting request by the requesting party to the first object implementing module 20; the object adapting unit 12 is configured to determine, after the requesting proxy unit 11 receives the calling request for the first object implementing module 20 An object implementation module 20 does not implement the interface invoked by the requestor, and generates an interface unimplemented event;
  • the forwarding unit 13 is configured to acquire an interface unimplemented event submitted by the object adaptation unit 12, convert the call request into a transfer request to the first object implementation module 20, and send the transfer request to the first object. Module 20.
  • the distributed server of the present embodiment can pass through an existing distributed server Based on the simple addition of the forward unit to achieve.
  • a distributed server 40 includes a requesting proxy unit 41, an object adapting unit 42 and a forwarding unit 43; wherein:
  • the requesting proxy unit 41 is configured to receive a requesting request by the requesting party for the first object, where the calling request includes the calling information of the requesting party;
  • the object adaptation unit 42 is configured to: after the requesting proxy unit 41 receives the call request for the first object, determine that the first object does not implement the interface invoked by the requester, and generate an interface unimplemented event; the forwarding unit 43 And acquiring an interface unimplemented event submitted by the object adaptation unit 42, converting the call request into a transfer request to the first object, and sending the transfer request to the first object, where The transfer request includes the call information of the requester.
  • the forwarding unit 43 in this embodiment may adopt the following structures, including: a time capture subunit 431, a request conversion subunit 432, and a transfer interface subunit 433; wherein:
  • the request conversion sub-unit 432 is configured to determine, after the event capture sub-unit 431 acquires an interface unimplemented event, whether the first object provides a transfer interface, and if yes, convert the call request to a transfer request for the first object ;
  • the transfer interface sub-unit 433 is configured to send the transfer request converted by the request conversion sub-unit 432 to the first object.
  • An object implementation module includes a receiving unit and a forwarding unit; wherein:
  • the receiving unit is configured to receive a transfer request, where the transfer request includes the call information of the requester;
  • the forwarding unit is configured to transfer the call of the requestor to the second object implementation module in accordance with the transfer request.
  • the distributed server of this embodiment can be used in the aforementioned distributed system.
  • the requester is a SOAP client that proposes a SOAP request through a SOAP protocol adapter (hereinafter referred to as a SOAP adapter).
  • the implementation side of the request is a CORBA-based distributed system, and the SOAP adapter performs a protocol conversion of a SOAP request to a CORBA request.
  • DETAILED DESCRIPTION OF THE INVENTION A specific request processing flow is provided.
  • the SOAP protocol is a service-based protocol
  • CORBA is an object-based protocol
  • the service is a coarse-grained execution entity
  • An object is a fine-grained execution entity. Therefore, when SOAP requests are executed to actual CORBA objects, mapping between different granularities is usually required.
  • the CORBA service in this embodiment that is, the first object, provides the ability to map coarse-grained SOAP requests to fine-grained CORBA objects, and the SOAP client initiates a request to it; the CORBA object, ie the second object, is called by the implementation request. Interface that provides actual execution capabilities.
  • the request processing flow is shown in Figure 5, including:
  • the SOAP client initiates a call request to the CORBA service through the SOAP adapter;
  • the SOAP adapter submits a call request to the CORBA service through the CORBA server; 3.
  • the object adaptation unit finds that the CORBA service does not implement the requested interface in the process of finding the interface, and submits the "interface unimplemented exception" to the forwarding unit. ;
  • the forwarding unit finds that the CORBA service has the transfer capability, and then invokes the transfer interface of the service, and submits the transfer request including the client call request information to the CORBA service;
  • the CORBAJ client submits the client call transfer to the CORBA object that can actually handle the request according to the transfer request and the client call request information contained therein;
  • the CORBA object executes the request and returns the result to the SOAP adapter
  • the SOAP adapter returns the result to the SOAP client.
  • the embodiment of the present invention adopts a method according to the interface capability of the calling object, and converts the calling request of the sending object into an intermediate object into a transfer request, so that the intermediate object only needs to perform the transfer operation of the calling request.
  • the result is returned directly to the requester by the actual execution object.
  • the requester only needs to initiate a call to directly obtain the execution result from the actual execution object, thereby improving the efficiency of the request; at the same time, the intermediate object only needs to implement the transfer interface, and does not need to implement the real interface of the actual execution object being called. It simplifies the development of intermediate objects.

Description

分布式系统中的调用请求处理方法及分布式系统和服务器
本申请要求于 2007 年 3 月 22 日提交中国专利局、 申请号为 200710088282.5、 发明名称为"分布式系统中的调用请求处理方法及分布式系 统和服务器"的中国专利申请的优先权,其全部内容通过引用结合在本申请中。 技术领域
本发明涉及分布式处理技术领域,具体涉及分布式系统中的调用请求处理 方法及相应的分布式系统和分布式艮务器。
背景技术
随着计算机技术与网絡技术的不断发展,分布式系统架构正得到越来越广 泛的应用。 在分布式调用过程中, 某些情况下, 调用的请求方不能直接获得真 实的实现对象, 需要采用易于获取的中间对象(代理)对请求方的调用请求进 行处理。 例如,有时需要将请求方的粗粒度请求映射到提供执行的细粒度对象 (即将请求方的请求分发到真正提供执行的目标对象), 或者以一个易于获取 的固定对象来屏蔽若干实际执行对象等。 目前一般釆用如下两种处理方法: 方法一、 主要包括如下步骤:
1、 请求方向中间对象发起获取对象引用的请求;
2、 中间对象选择一个实际执行对象并将 ]用返回给请求方;
3、 请求方按照某种约定发起向实际执行对象的请求;
4、 实际执行对象返回结果给请求方。
方法二、 主要包括如下步骤:
1、 请求方向中间对象发起调用请求;
2、 中间对象继续调用具体的实际执行对象;
3、 实际执行对象返回结果给中间对象;
4、 中间对象返回结果给请求方。
在实现本发明的过程中,发明人经过研究发现: 上述两种方法中各个对象
(包括请求方、 中间对象以及实际执行对象)之间的交互通过分布式服务平台 进行。 在方法一中, 请求方的一次服务需求需要映射为两个请求: 获取对象引 用的请求和真正的处理请求, 这会导致性能的降低和实现复杂度的提高。在方 法二中, 由于以中间对象发起对实际执行对象的调用, 因此发出请求和返回响 应结果都需要经过中间对象, 降低了请求的效率; 并且, 中间对象需要实现所 有实际执行对象的接口, 开发难度较高。
发明内容
本发明实施例提供了一种分布式系统中的调用请求处理方法及分布式系 统和服务器, 能够提高效率, 简化操作。
本发明实施例提供一种能够提高效率、简化操作的分布式系统中的调用请 求处理方法, 包括: 接收请求方对第一对象的调用请求, 所述调用请求中包括 所述清求方的调用信息;并按照对所述第一对象接口能力的判断发送转移请求 给所述第一对象,以便于所述第一对象按照所述转移请求将所述请求方的调用 转移到第二对象; 以及便于所述第二对象执行所述调用, 将执行结果返回给所 述请求方; 其中, 所述转移请求中包括所述请求方的调用信息。
本发明实施例还提供相应的分布式系统, 包括分布式服务器、 第一对象实 现模块和第二对象实现模块; 所述分布式服务器, 用于接收请求方对所述第一 对象实现模块的调用请求;按照对所述第一对象实现模块的接口能力的判断发 送转移请求给所述第一对象实现模块,所述转移请求中包括所述请求方的调用 信息; 第一对象实现模块, 用于按照所述转移请求将所述请求方的调用转移到 所述第二对象实现模块; 第二对象实现模块, 用于执行所述调用, 将执行结果 返回给所述请求方。
以及, 一种分布式服务器, 包括: 请求代理单元, 用于接收请求方对第一 对象的调用请求,所述调用请求中包括所述倚求方的调用信息;对象适配单元, 用于判断所述第一对象未实现所述请求方调用的接口, 产生接口未实现事件; 前转单元, 用于从所述对象适配单元获取接口未实现事件, 将所述调用请求转 换为对所述第一对象的转移请求, 并将所述转移请求发送给所述第一对象, 其 中, 所述转移请求中包括所述请求方的调用信息。
一种对象实现模块, 包括接收单元, 用于接收转移请求, 所述转移请求中 包括所述请求方的调用信息; 转发单元, 用于按照所述转移请求将所述请求方 的调用转移到所述第二对象实现模块。
本发明实施例采用根据调用对象的接口能力进行判断,将发送对象为中间 对象(即第一对象)的调用请求转换为转移请求的方法, 使得中间对象只需执 行调用请求的转移操作, 由实际执行对象(即第二对象)将结果直接返回给请 求方。 这样, 请求方只需要发起一次调用即可从实际执行对象直接获得执行结 果, 提高了请求的效率; 同时, 中间对象只需要实现转移接口, 并不需要实现 被调用的实际执行对象的真正接口, 简化了操作或者实现过程。
附图说明
图 1是一个本发明实施例分布式系统中的调用请求处理方法的流程示意 图;
图 2是另一个本发明实施例分布式系统中的调用请求处理方法的流程示意 图;
图 3是一个本发明实施例分布式系统逻辑结构示意图;
图 4是一个本发明实施例分布式服务器逻辑结构示意图;
图 5是另一个本发明实施例调用请求处理方法具体应用的流程示意图。 具体实施方式
本发明一个实施例提供了一种分布式系统中的调用请求处理方法,根据调 用对象的接口能力进行判断,将发送对象为中间对象的调用请求转换为转移请 求, 中间对象只需执行调用请求的转移操作, 由实际执行对象将结果直接返回 给请求方。本发明另一个实施例还提供与前述调用请求处理方法相应的分布式 系统和分布式服务器。
参考图 1, 为一种分布式系统中的调用请求处理方法的流程示意图, 包括: Al、 接收请求方对第一对象的调用请求, 该请求中包括请求方的调用信 息;
本发明实施例中, 提供对象间交互, 即在对象间进行信息交换的服务平台 可以是各种基于接口的分布式系统服务器, 包括公共对象请求代理体系结构 ( CORBA: Common Object Request Broker Architecture )服务器、 简单对象访 问协议( SOAP: Simple Object Access Protocol )服务器、远程方法调用( RMI: Remote Method Invocation )服务器等, 其中, 所称对象包括请求方、第一对象、 第二对象在内。
A2、 按照对被请求的第一对象接口能力的判断, 发送转移请求给第一对 象, 发送的转移请求中包括请求方的调用信息; 分布式服务器可以通过被请求的第一对象是否能够实现被调用的接口,或 者是否具有转移接口来判定第一对象作为中间对象的地位,从而将请求方的调 用请求转换为对被调用的第一对象的一个特定的请求——转移请求。转移请求 可通过分布式服务器对中间对象的转移接口的调用来实现,该接口可以是通用 的, 也可以对特定的中间对象设置特定的转移接口。
A3、 第一对象按照收到的转移请求将所述请求方的调用转移到第二对象; 这里, 第一对象可能是若干个实际对象的代理, 也可能是大粒度请求到小 粒度对象的映射执行者, 它自身具有确定调用请求的实际执行者, 即第二对象 的能力。在本发明实施例中, 第一对象只需实现与第二对象之间的转移接口即 可, 用来将请求方的调用转移到对应的实际执行对象, 不必实现第二对象的所 有真正接口。
A4、 所述第二对象执行所述调用, 将执行结果返回给所述请求方。
由于第一对象只是将调用请求转移到第二对象,调用的请求者仍为最初的 请求方而不是进行调用转移的第一对象, 因此, 第二对象在完成执行后会将执 行结果直接返回给请求方, 无需经过第一对象的转发。
下面基于现有分布式系统产生标准系统异常的能力,在实施例一的基础上 提供一种优选的实施方法。
一种分布式系统中的调用请求处理方法, 流程如图 2所示, 包括:
Bl、 接收情求方对第一对象的调用请求;
本发明实施例中, 提供对象间交互, 即在对象间进行信息交换的服务平台 可以是各种基于接口的分布式系统服务器,包括 CORBA服务器、 SOAP: Simple Object Access Protocol 服务器、 RMI服务器等, 其中, 所称对象包括请求方、 第一对象、 第二对象在内。
B2、 判断被请求的第一对象未实现请求方调用的接口, 产生接口未实现 事件;
对于一般的分布式服务器, 例如 C0RBA服务器, 在调用对象无法实现被 调用的接口时, 通常能够产生相应的系统异常事件, 本实施例即利用服务器产 生"接口未实现异常"的能力, 来触发对调用请求的转换;
当然, 若判断第一对象能够实现请求调用的接口, 则属于一次普通的对象 调用过程, 可采用现有的一般处理方式, 不在本发明实施例讨论之列。
Β3、 获取所述接口未实现事件, 将所述调用请求转换为对所述第一对象 的转移请求;
在产生接口未实现事件后,服务器可提交到增设的相应部件进行处理。 为 确保调用转移的准确性, 在获取所述接口未实现事件后, 还可判断所述第一对 象是否提供转移接口, 若是, 则执行所述调用请求到转移请求的转换。 否则说 明第一对象不是能够实现调用转移的中间对象,可按照现有对该系统异常事件 的处理方式来执行, 例如向请求方返回错误信息等。
Β4、 将所述转移请求发送给所述第一对象;
Β5、 第一对象按照收到的转移请求将所述请求方的调用转移到第二对象;
Β6、 所述第二对象执行所述调用, 将执行结果返回给所述请求方。
一种分布式系统, 如图 3所示, 包括分布式服务器 10、 第一对象实现模块 20和第二对象实现模块 30;
分布式服务器 10, 用于接收请求方对第一对象实现模块 20的调用请求; 按 照对第一对象实现模块 20的接口能力的判断发送转移请求给第一对象实现模 块 20 , 所述转移请求中包括所述请求方的调用信息;
第一对象实现模块 20,用于按照分布式服务器 10发送的转移请求将所述请 求方的调用转移到第二对象实现模块 30;
第二对象实现模块 30,用于执行所述调用,将执行结果返回给所述请求方。 本实施例中分布式服务器 10可采用如下结构, 包括: 请求代理单元 11、 对 象适配单元 12、 及前转单元 13 ; 其中:
请求代理单元 11 , 用于接收请求方对第一对象实现模块 20的调用请求; 对象适配单元 12,用于在请求代理单元 11收到对第一对象实现模块 20的调 用请求后, 判断第一对象实现模块 20未实现所述请求方调用的接口, 产生接口 未实现事件;
前转单元 13 , 用于获取对象适配单元 12提交的接口未实现事件, 将所述调 用请求转换为对第一对象实现模块 20的转移请求,并将所述转移请求发送给第 一对象实现模块 20。
在釆用上述结构时,本实施例的分布式服务器可通过在现有分布式服务器 的基础上简单的增设前转单元来实现。
一种分布式服务器 40 , 如图 4所示, 包括请求代理单元 41、 对象适配单元 42和前转单元 43 ; 其中:
请求代理单元 41, 用于接收请求方对第一对象的调用请求, 所述调用请求 中包括所述请求方的调用信息;
对象适配单元 42 , 用于在请求代理单元 41收到对第一对象的调用请求后, 判断所述第一对象未实现所述请求方调用的接口, 产生接口未实现事件; 前转单元 43, 用于获取对象适配单元 42提交的接口未实现事件, 将所述调 用请求转换为对所述第一对象的转移请求,并将所述转移请求发送给所述第一 对象, 其中, 所述转移请求中包括所述请求方的调用信息。
本实施例中的前转单元 43可采用如下结构, 包括: 时间捕获子单元 431、 请求转换子单元 432、 转移接口子单元 433 ; 其中:
事件捕获子单元 431, 用于获取所述接口未实现事件;
请求转换子单元 432, 用于在事件捕获子单元 431获取接口未实现事件后, 判断所述第一对象是否提供转移接口 ,若是则将所述调用请求转换为对所述第 一对象的转移请求;
转移接口子单元 433 ,用于将请求转换子单元 432转换后的转移请求发送给 所述第一对象。
一种对象实现模块, 包括接收单元和转发单元; 其中:
接收单元用于接收转移请求, 所述转移请求中包括所述请求方的调用信 息;
转发单元用于按照所述转移请求将所述请求方的调用转移到第二对象实 现模块。
本实施例分布式服务器可用于前述的分布式系统中。
以请求方为通过 SOAP协议适配器 (以下简称 SOAP适配器)提出 SOAP请 求的 SOAP客户, 请求的实现方为基于 CORBA的分布式系统, SOAP适配器进 行 SOAP请求到 CORBA请求的协议转换的情况为例,本发明具体实施方式提供 了一个具体的请求处理流程。 在本实施方式中, SOAP协议是一种基于服务的 协议, 而 CORBA是一种基于对象的协议, 服务是一种粗粒度的执行实体, 而 对象是一种细粒度的执行实体。 因此, 在将 SOAP请求执行到实际的 CORBA 对象时, 通常需要进行不同粒度间的映射。 本实施方式中的 CORBA服务, 即 第一对象, 提供将粗粒度 SOAP请求映射到细粒度的 CORBA对象上的能力, SOAP客户向它发起请求; CORBA对象, 即第二对象, 实现请求所调用的接口, 提供实际的执行能力。 请求处理流程如图 5所示, 包括:
1、 SOAP客户通过 SOAP适配器向 CORBA艮务发起调用请求;
2、 SOAP适配器通过 CORBA艮务器提交对 CORBA服务的调用请求; 3、 对象适配单元在查找接口过程中发现此 CORBA服务没有实现请求的接 口, 将"接口未实现异常"提交到前转单元;
4、 前转单元发现 CORBA 务具有转移能力, 则调用服务的转移接口, 将 包含客户调用请求信息的转移请求提交到 CORBA服务;
5、 CORBAJ^务根据转移请求以及其中包含的客户调用请求信息, 将客户 调用转移提交到真正能够处理该请求的目的 CORBA对象;
6、 CORBA对象执行请求并返回结果给 SOAP适配器;
7、 SOAP适配器将结果返回给 SOAP客户。
通过上述实施例可以看出 ,本发明实施例采用根据调用对象的接口能力进 行判断, 将发送对象为中间对象的调用请求转换为转移请求的方法,使得中间 对象只需执行调用请求的转移操作, 由实际执行对象将结果直接返回给请求 方。这样,请求方只需要发起一次调用即可从实际执行对象直接获得执行结果, 提高了请求的效率; 同时, 中间对象只需要实现转移接口, 并不需要实现被调 用的实际执行对象的真正接口 , 简化了中间对象的开发难度。
以上对本发明实施例所提供的分布式系统中的调用请求处理方法以及相 应的分布式系统和分布式服务器进行了详细介绍,本文中应用了具体个例对本 发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发 明的方法; 同时, 对于本领域的一般技术人员, 依据本发明的思想, 在具体实 施方式及应用范围上均会有改变之处, 综上所述, 本说明书内容不应理解为对 本发明的限制。

Claims

权 利 要 求
1、 一种分布式系统中的调用请求处理方法, 其特征在于, 包括: 接收请求方对第一对象的调用请求,所述调用请求中包括所述请求方的调 用信息; 并
按照对所述第一对象接口能力的判断发送转移请求给所述第一对象,以便 于所述第一对象按照所述转移请求将所述请求方的调用转移到第二对象,以及 便于所述第二对象执行所述调用, 将执行结果返回给所述请求方; 其中, 所述 转移请求中包括所述请求方的调用信息。
2、 根据权利要求 1所述的调用请求处理方法, 其特征在于, 所述按照对第 一对象接口能力的判断发送转移请求给第一对象的步骤包括:
判断所述第一对象未实现所述请求方调用的接口, 产生接口未实现事件; 获取所述接口未实现事件,将所述调用请求转换为对所述第一对象的转移 请求;
将所述转移请求发送给所述第一对象。
3、 根据权利要求 2所述的调用请求处理方法, 其特征在于, 所述按照对第 一对象接口能力的判断发送转移请求给第一对象的步骤还包括:
在获取所述接口未实现事件后, 判断所述第一对象是否提供转移接口, 若 是, 则执行所述调用请求到转移请求的转换。
4、 一种分布式系统, 其特征在于, 包括: 分布式服务器、 第一对象实现 模块和第二对象实现模块;
所述分布式服务器, 用于接收请求方对所述第一对象实现模块的调用请 求;按照对所述第一对象实现模块的接口能力的判断发送转移请求给所述第一 对象实现模块, 所述转移请求中包括所述请求方的调用信息;
第一对象实现模块,用于按照所述转移请求将所述请求方的调用转移到所 述第二对象实现模块;
第二对象实现模块, 用于执行所述调用, 将执行结果返回给所述请求方。
5、 根据权利要求 4所述的分布式系统, 其特征在于, 所述分布式服务器包 括:
请求代理单元, 用于接收请求方对所述第一对象实现模块的调用请求; 对象适配单元,用于判断所述第一对象实现模块未实现所述请求方调用的 接口, 生成接口未实现事件;
前转单元, 用于从所述对象适配单元获取所述接口未实现事件, 将所述调 用请求转换为对所述第一对象实现模块的转移请求,并将所述转移请求发送给 所述第一对象实现模块。
6、 根据权利要求 5所述的分布式系统, 其特征在于, 所述前转单元包括: 事件捕获子单元, 用于获取所述接口未实现事件;
请求转换子单元, 用于从所述事件捕获子单元获取所述接口未实现事件 后, 判断所述第一对象实现模块是否提供转移接口, 若是则将所述调用请求转 换为对所述第一对象实现模块的转移请求;
转移接口子单元,用于将从所述请求转换子单元获取的转移请求发送给所 述第一对象实现模块。
7、 一种分布式服务器, 其特征在于, 包括:
请求代理单元, 用于接收请求方对第一对象的调用请求, 所述调用请求中 包括所述请求方的调用信息;
对象适配单元, 用于判断所述第一对象未实现所述请求方调用的接口, 产 生接口未实现事件;
前转单元, 用于从所述对象适配单元获取接口未实现事件, 将所述调用请 求转换为对所述第一对象的转移请求, 并将所述转移请求发送给所述第一对 象, 其中, 所述转移请求中包括所述请求方的调用信息。
8、根据权利要求 7所述的分布式服务器,其特征在于,所述前转单元包括: 事件捕获子单元, 用于获取所述接口未实现事件;
请求转换子单元, 用于从所述事件捕获子单元获取所述接口未实现事件 后, 判断所述第一对象是否提供转移接口, 若是则将所述调用请求转换为对所 述第一对象的转移请求;
转移接口子单元,用于将从所述请求转换子单元获取的转移请求发送给所 述第一对象。
9、 一种对象实现模块, 其特征在于, 包括:
接收单元, 用于接收转移请求, 所述转移请求中包括所述请求方的调用信 息;
转发单元,用于按照所述转移请求将所述请求方的调用转移到第二对象实 现模块。
PCT/CN2008/070535 2007-03-22 2008-03-19 Procédé de traitement de requête d'appel dans un système distribué, système distribué et serveur WO2008113297A1 (fr)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP08715271A EP2128758A4 (en) 2007-03-22 2008-03-19 CALL PROCESSING PROCESSING IN A DISTRIBUTED SYSTEM, DISTRIBUTED SYSTEM AND SERVER
US12/347,774 US8151283B2 (en) 2007-03-22 2008-12-31 Method and system for processing invoking request in distributed system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN200710088282.5 2007-03-22
CN200710088282A CN100578458C (zh) 2007-03-22 2007-03-22 分布式系统中的调用请求处理方法及分布式系统和服务器

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US12/347,774 Continuation US8151283B2 (en) 2007-03-22 2008-12-31 Method and system for processing invoking request in distributed system

Publications (1)

Publication Number Publication Date
WO2008113297A1 true WO2008113297A1 (fr) 2008-09-25

Family

ID=39765402

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2008/070535 WO2008113297A1 (fr) 2007-03-22 2008-03-19 Procédé de traitement de requête d'appel dans un système distribué, système distribué et serveur

Country Status (4)

Country Link
US (1) US8151283B2 (zh)
EP (1) EP2128758A4 (zh)
CN (1) CN100578458C (zh)
WO (1) WO2008113297A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101888396B (zh) 2009-05-12 2013-08-28 华为技术有限公司 调用设备能力的方法、微技设备和服务器
CN102055602B (zh) * 2009-10-28 2013-07-10 中国移动通信集团湖南有限公司 一种执行结果获取方法和装置及系统
US9378073B2 (en) 2012-08-14 2016-06-28 International Business Machines Corporation Remote procedure call for a distributed system
CN105867928B (zh) * 2016-03-30 2019-06-04 北京奇虎科技有限公司 一种在指定分布式系统中接入指定计算模型的方法和装置
US10853441B1 (en) * 2020-02-17 2020-12-01 Bby Solutions, Inc. Dynamic edge cache for query-based service

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1994011810A1 (en) * 1992-11-13 1994-05-26 Microsoft Corporation A method and system for marshalling interface pointers for remote procedure calls
US20050268309A1 (en) * 2001-06-28 2005-12-01 Microsoft Corporation Transparent and sub-classable proxies
CN1832476A (zh) * 2005-03-08 2006-09-13 微软公司 动态服务代理

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7136913B2 (en) * 2000-05-31 2006-11-14 Lab 7 Networks, Inc. Object oriented communication among platform independent systems across a firewall over the internet using HTTP-SOAP
US7574714B2 (en) * 2002-08-23 2009-08-11 At&T Intellectual Property I, L.P. System and method for providing interoperability between different programming protocols
US7624397B1 (en) * 2002-10-22 2009-11-24 Adobe Systems Incorporated Universal component system for application servers
US20040226022A1 (en) * 2003-05-09 2004-11-11 Prabhu Sameer D. Method and apparatus for providing a client-side local proxy object for a distributed object-oriented system
US20050022208A1 (en) * 2003-07-24 2005-01-27 Bolar Daniel Roy Corba gateway
US7444346B2 (en) * 2005-05-27 2008-10-28 At&T Intellectual Property I.L.P. System and method for simple object access protocol access to interface definition language based services

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1994011810A1 (en) * 1992-11-13 1994-05-26 Microsoft Corporation A method and system for marshalling interface pointers for remote procedure calls
US20050268309A1 (en) * 2001-06-28 2005-12-01 Microsoft Corporation Transparent and sub-classable proxies
CN1832476A (zh) * 2005-03-08 2006-09-13 微软公司 动态服务代理

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP2128758A4 *

Also Published As

Publication number Publication date
CN100578458C (zh) 2010-01-06
CN101271403A (zh) 2008-09-24
US20090113461A1 (en) 2009-04-30
US8151283B2 (en) 2012-04-03
EP2128758A4 (en) 2010-01-13
EP2128758A1 (en) 2009-12-02

Similar Documents

Publication Publication Date Title
US7761588B2 (en) System and article of manufacture for enabling communication between nodes
KR101855541B1 (ko) 컴퓨트 클러스터에서의 디버거 런칭 및 첨부 기법
US20030145230A1 (en) System for exchanging data utilizing remote direct memory access
WO2008113297A1 (fr) Procédé de traitement de requête d'appel dans un système distribué, système distribué et serveur
US20100220740A1 (en) Method, system, and program for forwarding messages between nodes
US20090113460A1 (en) Systems and methods for providing a generic interface in a communications environment
WO2020063086A1 (zh) 基于物联网的数据传输方法及通信装置
JP5091121B2 (ja) 埋め込み型システムのための高速データ処理・通信方法及び装置
CN114221995B (zh) 服务调用方法、装置及电子设备
JP5537667B2 (ja) ハンドオフの維持のためのシステムおよび方法
WO2011015094A1 (zh) 对等网络管理系统及其实现管理的方法
Mansley Engineering a user-level TCP for the CLAN network
Heirich et al. ServerNet-II: A Reliable Interconnect for Scalable High-Performance Cluster Computing
WO2008083567A1 (fr) Procédé de transmission de demandes d'objets dans un système distribué et dispositif et système distribué correspondants
US20080056263A1 (en) Efficient transport layer processing of incoming packets
WO2010127626A1 (zh) 网络间关联呼叫接续方法、业务代理系统
US7616653B1 (en) Network interface card aggregation framework
KR0173205B1 (ko) 이더넷을 통한 아이피씨 메시지 송수신 방법
US9367367B2 (en) Application router
JP2008052358A (ja) 非同期リクエスト伝達システム
KR100463823B1 (ko) 리거시 시스템 및 콘텐츠 프로바이더(cp) 연동용soap 기반 통신 게이트웨이 시스템 및 이를 이용한프로토콜 변환 방법
JP3920791B2 (ja) 呼接続中継システム、呼接続中継装置およびそのプログラム、呼接続要求情報変換装置およびそのプログラム
KR100362173B1 (ko) 개방형 멀티서비스 교환기 시스템에서의 비동기통신모드지원 방법
JP2002007228A (ja) リバースプロキシーシステム
JP6960302B2 (ja) 通信装置、通信方法、及びプログラム

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 08715271

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2008715271

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE