CN101282292B - 一种加速dcom系统的方法 - Google Patents

一种加速dcom系统的方法 Download PDF

Info

Publication number
CN101282292B
CN101282292B CN2008100671509A CN200810067150A CN101282292B CN 101282292 B CN101282292 B CN 101282292B CN 2008100671509 A CN2008100671509 A CN 2008100671509A CN 200810067150 A CN200810067150 A CN 200810067150A CN 101282292 B CN101282292 B CN 101282292B
Authority
CN
China
Prior art keywords
dcom
interface
dispid
answer
information
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
Application number
CN2008100671509A
Other languages
English (en)
Other versions
CN101282292A (zh
Inventor
范小平
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sangfor Technologies Co Ltd
Original Assignee
Shenzhen Shenxinfu Electronic Technology 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 Shenzhen Shenxinfu Electronic Technology Co Ltd filed Critical Shenzhen Shenxinfu Electronic Technology Co Ltd
Priority to CN2008100671509A priority Critical patent/CN101282292B/zh
Publication of CN101282292A publication Critical patent/CN101282292A/zh
Application granted granted Critical
Publication of CN101282292B publication Critical patent/CN101282292B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明涉及一种加速DCOM系统的方法。该方法根据DCOM内在规律,旨在减少DCOM调用时广域网交互次数,从而提高DCOM调用效率。包括步骤:分析所有经过代理的DCOM调用请求;针对组件的支持接口的查询操作,若已经在客户端代理网关保存有相应信息,则从客户端代理网关直接回复;针对组件支持接口方法的DISPID的查询操作,若已经在客户端代理网关保存有相应信息,则从客户端代理网关直接回复;分析所有经过代理的DCOM调用回复,对于由客户端代理网关已经代理回复的调用,则丢弃该回复。

Description

一种加速DCOM系统的方法
技术领域
本发明涉及一种广域网间加速技术,特别涉及一种通过学习网络中DCOM调用规律,缓存少量数据以减少网间DCOM调用交互次数的加速DCOM系统的方法。
背景技术
DCOM(分布式组件对象模型)是由微软推出的一种能在网络间通信、基于RPC的分布式组件对象模型。目前,DCOM技术应用已经比较广泛。DCOM在带来众多便利的同时,由于DCOM自身和第三方库的原因,DCOM应用也不可避免地引入了一定的冗余与低效。
基于DCOM技术,原本仅需一次的RPC调用,将引发几次相关调用。这样对于高时延的网络上为了完成某一功能而发起的DCOM调用时延将成倍增加。
发明内容
本发明的目的在于克服上述公知技术中的不足之处,提供一种根据DCOM内在规律,旨在减少DCOM调用时广域网交互次数,从而提高DCOM调用效率的加速DCOM系统的方法。
经研究发现,对于重复的RPC调用其返回值不会发生变化的情况有以下两种:
一、DCOM组件对象应该实现IRemUnknown接口,这是所有DCOM组件对象的共同特征。当调用RemQueryInterface方法时,有两种情况:1)该组件对象实现了所查询的接口,将返回所查询接口指针;2)该组件对象没有实现所查询的接口,返回不支持该接口的错误代码。对于一个已经设计完成的组件对象来说,它所支持的接口已经固定下来,不会发生变化。在此可以保存某一DCOM组件对象不支持所有接口的信息。
二、当DCOM组件支持自动化时,即DCOM组件实现了IDispatch接口。当调用GetIDsOfNames方法时,对于同一组件对象的同一接口所实现的某一方法来说,它返回的DISPID是不变的。在此可以保存某一组件对象某一接口所实现的所有方法的DISPID信息。
本发明的目的可以通过以下措施来达到:
这种加速DCOM系统的方法,其特殊之处在于,包括如下步骤:
(1)分析所有经过代理的DCOM调用请求(步骤100);
(2)检测是否为接口查询操作或DISPID查询操作(步骤101);
(3)若步骤101的检测结果为否,则转入结束(步骤105);
(4)若步骤101的检测结果为是,则进入下一步骤;
(5)检测是否已经保存相应信息(步骤102);
(6)若步骤102的检测结果为是,则直接回复请求(步骤103);
(7)丢弃对应请求的回复信息(步骤104);
(8)结束(步骤105);
(9)若步骤102的检测结果为否,则从回复中获取并保存组件不支持的接口信息与接口方法及DISPID信息(步骤106);
(10)转发回复(步骤107);
(11)结束(步骤105)。
本发明的目的还可以通过以下措施来达到:
所述步骤100包括下述两种情形:
(1)客户端代理网关获取并保存所有组件不支持的接口信息;
(2)客户端代理网关获取并保存组件支持接口的所有方法与其DISPID信息。
本发明具有如下优点:
经过调查发现,在同一DCOM应用系统中,重复的RPC调用出现频繁。这里重复调用指的是对同一远程过程的调用,也包括调用参数一致。在这些重复出现的RPC调用过程中,含有一定量的返回值不会变化的调用。记忆并保存这些重复调用且返回值不变调用的相关信息,此阶段称为学习阶段。经过一段时间的学习之后,当再次出现重复的RPC调用时,则可以直接代理回复RPC调用,不必发起一次跨广域网的RPC调用,即可节省一次广域网往返时延。
附图说明
图1是公知技术的客户端代理网关记忆重复RPC调用的示意图。
图2是本发明客户端代理网关减少一次跨广域网的RPC调用示意图。
图3是本发明为减少DCOM交互次数流程图。
具体实施方式
本发明下面将结合附图作进一步详述:
图1示出了公知技术的客户端代理网关记忆重复RPC调用的过程。
在同一DCOM应用系统中,重复的RPC调用出现频繁。这里重复调用指的是对同一远程过程的调用,也包括调用参数一致。在这些重复出现的RPC调用过程中,含有一定量的返回值不会变化的调用。记忆并保存这些重复调用且返回值不变调用的相关信息,此阶段称为学习阶段。。
图2示出了本发明客户端代理网关减少一次跨广域网的RPC调用的过程。
经过上述一段时间的学习之后,当再次出现重复的RPC调用时,则可以直接代理回复RPC调用,不必发起一次跨广域网的RPC调用,即可节省一次广域网往返时延。经研究发现,对于重复的RPC调用其返回值不会发生变化的情况有以下两种:
一、DCOM组件对象应该实现IRemUnknown接口,这是所有DCOM组件对象的共同特征。当调用RemQueryInterface方法时,有两种情况:
1)该组件对象实现了所查询的接口,将返回所查询接口指针;
2)该组件对象没有实现所查询的接口,返回不支持该接口的错误代码。对于一个已经设计完成的组件对象来说,它所支持的接口已经固定下来,不会发生变化。在此可以保存某一DCOM组件对象不支持所有接口的信息。
二、当DCOM组件支持自动化时,即DCOM组件实现了IDispatch接口。当调用GetIDsOfNames方法时,对于同一组件对象的同一接口所实现的某一方法来说,它返回的DISPID是不变的。在此可以保存某一组件对象某一接口所实现的所有方法的DISPID信息。
具体实施步骤如下:
第一步,分析所有经过代理的DCOM调用请求,1)客户端代理网关获取并保存所有组件不支持的接口信息;2)客户端代理网关获取并保存组件支持接口所有方法与及其DISPID信息;
第二步,分析所有经过代理的DCOM调用请求,1)针对组件的支持接口的查询操作,若已经在客户端代理网关保存有相应信息,则从客户端代理网关直接回复;2)针对组件支持接口方法的DISPID的查询操作,若已经在客户端代理网关保存有相应信息,则从客户端代理网关直接回复;
第三步,分析所有经过代理的DCOM调用回复,对于由客户端代理网关已经代理回复的调用,则丢弃该回复。
图3示出了本发明为减少DCOM交互次数、加速DCOM系统的流程图。
该减少DCOM交互次数、加速DCOM系统的方法,包括如下步骤:
(1)分析所有经过代理的DCOM调用请求(步骤100);
(2)检测是否为接口查询操作或DISPID查询操作(步骤101);
(3)若步骤101的检测结果为否,则转入结束(步骤105);
(4)若步骤101的检测结果为是,则进入下一步骤;
(5)检测是否已经保存相应信息(步骤102);
(6)若步骤102的检测结果为是,则直接回复请求(步骤103);
(7)丢弃对应请求的回复信息(步骤104);
(8)结束(步骤105);
(9)若步骤102的检测结果为否,则从回复中获取并保存组件不支持的接口信息与接口方法及DISPID信息(步骤106);
(10)转发回复(步骤107);
(11)结束(步骤105)。
以上所述仅为本发明的较佳实施例,凡依本发明权利要求范围所做的均等变化与修饰,皆应属本发明权利要求的涵盖范围。

Claims (1)

1.一种加速分布式组件对象模型DCOM系统的方法,其特征在于,客户端代理网关获取并保存所有组件不支持的接口信息以及组件支持接口的所有方法的DISPID信息,该方法包括如下步骤:
(1)分析所有经过代理的DCOM调用请求;
(2)检测是否为接口查询操作或DISPID查询操作;
(3)若步骤(2)的检测结果为否,则转入步骤(10);
(4)若步骤(2)的检测结果为是,则进入下一步骤;
(5)检测是否已经保存所有组件不支持的接口信息或组件支持接口的所有方法的DISPID信息;
(6)若步骤(5)的检测结果为是,则直接向客户端发送针对所述DCOM调用请求的回复信息;
(7)分析所有经过代理的DCOM调用回复,对于由客户端代理网关已经代理回复的调用,则丢弃该DCOM调用回复,并转入步骤(10);
(8)若步骤(5)的检测结果为否,则从来自服务端的DCOM调用回复中获取并保存组件不支持的接口信息以及接口方法的DISPID信息;
(9)转发所述DCOM调用回复;
(10)结束。
CN2008100671509A 2008-05-13 2008-05-13 一种加速dcom系统的方法 Active CN101282292B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2008100671509A CN101282292B (zh) 2008-05-13 2008-05-13 一种加速dcom系统的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2008100671509A CN101282292B (zh) 2008-05-13 2008-05-13 一种加速dcom系统的方法

Publications (2)

Publication Number Publication Date
CN101282292A CN101282292A (zh) 2008-10-08
CN101282292B true CN101282292B (zh) 2010-11-17

Family

ID=40014575

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008100671509A Active CN101282292B (zh) 2008-05-13 2008-05-13 一种加速dcom系统的方法

Country Status (1)

Country Link
CN (1) CN101282292B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1364517B1 (de) * 2001-02-28 2004-09-15 Hasenau, Laszlo P., Dipl.-Ing. Verfahren zur bereitstellung von sonderzeichen beinhaltenden internet-adressen
CN1809020A (zh) * 2005-01-20 2006-07-26 中兴通讯股份有限公司 一种快速响应的集中式接纳控制系统及控制方法
CN1816001A (zh) * 2005-02-02 2006-08-09 横河电机株式会社 IPv6/IPv4转换器

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1364517B1 (de) * 2001-02-28 2004-09-15 Hasenau, Laszlo P., Dipl.-Ing. Verfahren zur bereitstellung von sonderzeichen beinhaltenden internet-adressen
CN1809020A (zh) * 2005-01-20 2006-07-26 中兴通讯股份有限公司 一种快速响应的集中式接纳控制系统及控制方法
CN1816001A (zh) * 2005-02-02 2006-08-09 横河电机株式会社 IPv6/IPv4转换器

Also Published As

Publication number Publication date
CN101282292A (zh) 2008-10-08

Similar Documents

Publication Publication Date Title
CN101287013B (zh) 一种更新Web页面的方法和Web代理设备
CN104683386B (zh) 可定制响应的桩服务实现方法及装置
CN101436148B (zh) 集成客户端及进行桌面应用与网络应用交互的方法
CN111092877B (zh) 一种数据处理方法、装置、电子设备及存储介质
CN101075910B (zh) 一种快速注册的方法及装置
US20040103078A1 (en) Web server hit multiplier and redirector
US7657591B2 (en) Dispatching client requests to appropriate server-side methods
EP1076288A3 (en) Method and system for multi-client access to a dialog system
US7363355B2 (en) Transparent disconnected services discovery and use
CN102546850B (zh) 支持IPv6的IPv4内容提供方法、装置及服务器
US20170277622A1 (en) Web Page Automated Testing Method and Apparatus
CN109831466B (zh) 微服务业务处理方法及nginx服务器
CN107332924B (zh) 基于动态url替换的反向代理方法及装置
CN104683457A (zh) 并发控制的方法及装置
BRPI0616473A2 (pt) mÉtodo e sistema para invocar midlets a partir de um navegador de rede em um dispositivo local, mÉtodo para invocar uma sessço de vÍdeo de uma pÁgina de rede usando uma midlet, dispositivo local, e, nà em um sistema em comunicaÇço com um dispositivo local
US20120210306A1 (en) System and Method for Application Testing
US20070143485A1 (en) Solution for adding context to a text exchange modality during interactions with a composite services application
CN106130980A (zh) 一种漏洞扫描方法及装置
CN112579754A (zh) 智能机器人的会话交互方法、装置、计算机设备
CN101699823B (zh) 一种在curl库中实现资源缓存的方法
CN101282292B (zh) 一种加速dcom系统的方法
CN108228365A (zh) 一种函数请求发送方法、函数请求调用方法及装置
CN105656762A (zh) 用于移动办公软件的消息推送方法与系统
JP6199844B2 (ja) 被疑箇所推定装置及び被疑箇所推定方法
CN111338928A (zh) 基于chrome浏览器测试的方法及装置

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
CP03 Change of name, title or address

Address after: Nanshan District Xueyuan Road in Shenzhen city of Guangdong province 518000 No. 1001 Nanshan Chi Park building A1 layer

Patentee after: SINFOR Polytron Technologies Inc

Address before: 518052 room 410, science and technology innovation center, 1 Qilin Road, Shenzhen, Guangdong, Nanshan District

Patentee before: Shenxinfu Electronics Science and Technology Co., Ltd., Shenzhen

CP03 Change of name, title or address