远程组件的调用方法和系统、以及服务器、客户端的制作方法

文档序号:7916738阅读:206来源:国知局
专利名称:远程组件的调用方法和系统、以及服务器、客户端的制作方法
技术领域
本发明涉及通信领域,具体而言,涉及远程组件(Component, 简称为COM)的调用方法和系统、以及服务器、客户端。
背景技术
COM组件^支术是一种目前#1广泛应用于4t件开发领域的新4支 术,其采用统一的-见范和标准,将软件系统中功能相对独立的部分 划分出来,形成多个模块,使得每个模块保持一定的功能独立性, 并且,多个才莫块之间可以通过4妄口共同完成工作。其中,每个才莫块 者卩称为一个纽/f牛,这些纽/f牛可以单独开发、单独编i,、单独调试以 及测试,将这些组件组合在一起就可以得到一个完整的应用系统。
在目前的呼叫中心系统中,COM组件l支术得到了广泛应用。 呼叫中心的软件体系结构复杂,功能点繁多,传统的单一模块方式 的软件结构开发周期长、难度大、版本维护和升级困难,使用COM 组件技术来开发呼叫中心类的软件产品,可以实现软件产品的模块 化、结构化,可以将庞大的软件产品分成多个功能才莫块,降低产品 的复杂度和开发难度。并且,当系统的软/硬件环境发生变化或者用 户需求有所更改时,并不需要对所有的组件进4i^修改,而是只需对 受影响的组件进4刊奮改,并将》务改后的组件重新组合即可得到新的 系统。目前应用于呼叫中心类的COM组件的实现方式有以下缺陷
(1 ) COM组件和调用COM组件服务的客户程序在同一台计 算机上,如果COM组件发生故障,则COM组件的调用者也必然 会受到影响,导致系统的稳定性和可靠性降低;
(2) COM组件对外提供服务的接口必须预先规定好,否则, 一旦接口发生变化,将会导致COM组件和调用COM组件服务的 客户程序都必须重新编i奪,导致系统的灵活性降低;
(3 )随着目前呼叫中心系统的规模越来越大,所使用到的COM 组件也越来越多,并且呼叫中心系统的每一台计算才几都需要安装部 署COM组件,这就为系统建i殳带来了巨大的工作量;并且,随着 后期COM组件版本升级,要保证呼叫中心系统内的每一台计算机 的COM组件片反本相同,会增加系统运^f亍的压力。

发明内容
考虑到上述问题至少之一而提出本发明,为此,本发明旨在提 供远程组件的调用方法和系统、以及月良务器、客户端,以解决现有 系统的稳定性、可靠性、灵活性较低的问题。
根据本发明的一个方面,提供了 一种远程组件的调用方法。
根据本发明实施例的远程组件的调用方法包括在服务器中设 置存才艮应用才莫块和远考呈组件,其中,存才艮应用才莫块用于加载远程组 件、生成远程组件对象、并纟是供远程组件的接口服务;4妄收来自客 户端的远程组件调用i青求,运4亍远程组件对象,并通过存才艮应用才莫 块将远程组件对象的调用结果提供给客户端。优选地,上述方法进一步包括在存才艮应用才莫块的配置文件中 配置所有需要力。载运行的远程组件以及唯一标识远程组件的标识
々A"付。
优选地,接收来自客户端的远程组件调用请求,运行远程组件 对象,并通过存根应用模块将远程组件对象的调用结果提供给客户 端的操作具体为接收来自客户端通过代理应用模块发送的远程组 件调用请求;基于远程组件调用请求,存冲艮应用才莫块运行远程组件 对象进行运算处理;将运算处理的调用结果返回《会存才艮应用才莫块; 存根应用模块接收调用结果,并将调用结果经由代理应用模块返回 纟会客户端。
根据本发明的一个方面,还提供了另 一种远程组件的调用方法。
根据本发明实施例的远程组件的调用方法包括在客户端设置 代理应用模块,其中,代理应用才莫块用于与服务器进行远程组件服 务的通信;通过代理应用才莫块收集客户端第三方程序的远程组件调 用请求,向服务器发送远程组件调用请求,并接收来自服务器返回 的调用结果。
优选地,上述方法进一步包括在代理应用才莫块的配置文件中 配置存根应用模块的协议网络地址以及客户端通讯使用的端口号。
根据本发明的另 一方面,提供了 一种用于进行远程组件调用的 服务器。
根应用模块,用于加载远程组件、生成远程组件对象、并提供远程 组件的接口服务。优选地,存根应用模块进一步包括接收子模块,用于接收来 自客户端的远程组件调用请求;运行子才莫块,用于运行远程组件对
象;发送子模块,用于将远程组件对象的调用结果提供给客户端。
优选地,存^^艮应用才莫块进一步包括配置子才莫块,用于在存才艮 应用才莫块的配置文件中配置所有需要加载运4于的远程组件以及唯一 标识远程组件的标识符。
根据本发明的另 一方面,还提供了 一种用于进行远程组件调用 的客户端。
理应用模块,用于与服务器进行远程组件服务的通信。
优选地,代理应用模块进一步包括收集子模块,用于收集客 户端第三方程序的远程组件调用请求;发送子模块,用于向服务器 发送远程组件调用请求;接收子模块,用于接收来自服务器返回的 调用结果。
优选地,代理应用才莫块进一步包括配置子冲莫块,用于在代理 应用才莫块的配置文件中配置存才艮应用才莫块的协i义网络地址以及客户 端通ifl/使用的端口号。
根据本发明的另 一方面,还提供了 一种远程组件的调用系统。
才艮据本发明实施例的远程组件的调用系统包括用于进行远程组 件的调用的服务器和用于进行远程组件的调用的客户端,其中用 于进行远程组件的调用的服务器包括存根应用模块,用于加载远 程组件、生成远程组件对象、并提供远程组件的接口服务;用于进 行远程组件的调用的客户端包括代理应用模块,用于与服务器进 4亍远程组件力良务的通信。
8本发明的以上实施例在消息系统中使用存根程序建立COM组 件的服务端,使用代理程序建立COM组件的代理对象,由分布在 客户端的代理程序接收COM组件的调用请求,由服务器端的存根 程序运行实际的COM组件对象提供服务。代理程序和存根程序互 相通讯,实现远程COM组件的调用。解决了现有系统的稳定性、 可靠性、灵活性较低的问题。
附图i兑明
此处所说明的附图用来提供对本发明的进一步理解,构成本申 请的一部分,本发明的示意性实施例及其说明用于解释本发明,并 不构成对本发明的不当限定。在附图中


图1是才艮据本发明实施例的一种远程组件的调用方法的流程
图2是根据本发明实施例的另 一种远程组件的调用方法的流程
图3是根据本发明实施例的存根代理程序的网络结构的示意
图4是根据本发明实施例的远程组件调用流程的示意图5是根据本发明实施例的存根应用模块的方框图6是根据本发明实施例的代理应用才莫块的方框图7是才艮据本发明实施例的远程组件的调用系统的方冲匡图。
具体实施例方式
本发明4吏用存才艮4戈理程序来l是供一种可以远程调用COM组件 的方法,将现有才支术分散在每一台计算才几上的COM组件统一部署 在一台服务器上,所有的COM组件在月良务端^皮集中管理和统一控 制。下面爿夺参考附图并结合实施例,来详细i兌明本发明。
方法实施例
实施例一
根据本发明的实施例,提供了一种远程组件的调用方法,运行 于服务器端。图1是根据本发明实施例的一种远程组件的调用方法 的流^E图,如图1所示,该方法包:fe:
步骤S102,在月良务器中设置存才艮应用才莫块和远程组件,其中, 存根应用才莫块用于加载远程组件、生成远程组件对象、并提供远程 组件的接口服务;优选地,在存4艮应用才莫块的配置文件中配置所有 需要加载运行的远程组件以及唯一标识远程组件的标识符;
步骤S104,接收来自客户端的远程组件调用请求,运行远程组 件对象,并通过存根应用模块将远程组件对象的调用结果提供给客 户端。
其中,上述的存根应用模块可以通过存根程序来实现。 另外,步-骤S104具体为
(42 )接收来自客户端通过代理应用才莫块发送的远程组件调用
请求;(44)基于远程组件调用请求,存才艮应用才莫块运行远程组件对 象进4于运算处理;
(46)将运算处理的调用结果返回给存才艮应用模块;
(48 )存根应用才莫块再将调用结果经由代理应用模块返回给客户端。
以上实施例通过在服务器端设置存才艮应用才莫块和所有COM组 件,将现有技术分散在每一台计算机上的COM组件统一部署在一 台月良务器上,所有的COM组件在月良务端^皮集中管理和统一控制。
实施例二
根据本发明的实施例,还提供了另一种远程组件的调用方法, 运行于客户端。图2是根据本发明实施例的另一种远程组件的调用 方法的流程图,如图2所示,该方法包括
步骤S202,在客户端设置代理应用模块,其中,代理应用模块 用于与服务器进行远程组件服务的通信;优选地,在代理应用才莫块 的配置文件中配置存根应用模块的协议网络地址以及客户端通讯使 用的端口号;
步骤S204,通过代理应用模块收集客户端第三方程序的远程组 件调用请求,向服务器发送远程组件调用请求,并接收来自服务器 返回的调用结果。
其中,代理应用才莫块可以通过代理程序来实现。
以上实施例通过在客户端设置代理应用模块,使客户端程序通 过^a理应用冲莫块调用COM组件力良务时,不需要关心COM组件是运行在本地计算机上还是运行在远程计算机上,COM组件的实际位 置对于调用程序来i兌是完全透明的。调用程序调用远禾呈COM组件 提供的服务就和调用本地的COM组件一样。
实施例三
图,结合图3,可以更好地理解本发明上述实施例中给出的远程组 4牛调用方法。如图3所示,包4舌以下处理
(31 )在呼叫中心的局域网络远程服务端的一台服务器上部署 所有呼叫中心软件体系中使用的COM组件,即COM组件1至COM 组件N,包括各种DLL和ACTIVEX OCX控件等,安装存才艮程序, 在存才艮禾呈序的配置文件中添加所有需要加载运行的COM组件及其 CLSID (Class ID),其中,CLSID是用于。舉一标识COM组4牛的标 识符;
然后,运行存根程序,由存根程序负责加载实际的COM组件、 生成COM组件对象、并对外l是供COM组件的各种4妄口"良务,在 存才艮程序的运行界面可以观察到COM组件的加载情况;将COM组 件部署在远程月良务端,相比于将COM组件与调用程序部署在同一 台计算机上的方法,通过本发明,即使COM组件提供的服务出现 了严重错-误,客户端程序的进程也不会受到影响;另外,将COM 组件集中部署在一台服务器上,便于统一管理和配置,既避免了在 每台计算机上安装部署COM组件所带来的巨大工作量,也为COM 组件的版本控制带来的便利,尤其是当后期越来越多的COM组件 被引入呼叫中心的软件体系时,这种便利将体现得越来越明显;
(32)在呼叫中心局域网络内的每一台客户端(即,客户端1 至客户端N)上安装代理程序,在代理程序的配置文件中配置存根
12程序的IP地址以及通讯使用的端口号等信息,在局域网的其他客户
端计算4几上运^f亍代理程序,客户端上所有需要调用COM组件月良务 的程序都与代理程序通讯,在代理程序的运行界面可以观察到与服 务器端的存根程序的通讯情况;在客户端上安装需要调用COM组 件服务的客户端程序,在客户端程序的配置文件中配置调用等待超 时时长等信息,然后运4于才喿作客户端程序,可以正常的调用COM 组件服务;由代理程序将COM组件调用的请求发送给在服务端运 行的存根程序;
(33) 在存4艮程序接收到COM组件调用请求之后,运行已经 生成的COM组件对象,由COM组件对象进^f亍相应的计算处理, 并将结果返回给存根程序;
(34) 存根程序将COM组件的运算结果返回给客户端的代理 程序,代理程序再将最终结果返回给原调用者,完成一次完整的 COM组件远程调用。
在本发明的上述实施例中,当需要新增或者更改COM组件时, 只需要更新力l务器端的COM组件即可,而无需再对客户端估文任何 更改操作,客户端程序也不用重新编译,减少了软件开发的工作量 和现场工程实施的压力。
基于图3所示的网络架构,图4给出了根据本发明实施例的远 程COM组件调用流程的示意图,如图4所示,以一个通过存才艮代 理程序实现远程COM调用的过程,包括以下步骤
步骤S402,客户端程序(即,上述客户端第三方程序)向本地 的代J里禾呈序发起调用COM^K牛的i青求;
步骤S404,本地代理程序将COM组件的调用请求发送给服务 器端的存一艮程序;步骤S406,在服务器端的存根程序收到COM组件的调用请求 之后,运行实际加载的COM组件对象,由COM组件对象进行运 算处理;
步骤S408,服务器端的COM组件对象将运算处理的结果返回 给存々艮程序;
步骤S410,存根程序将运算处理结果返回给发起请求的客户端 的代理程序;
步骤S412,客户端的代理程序收到存才艮程序返回的结果后,再 将该结果最终返回给发起COM组件调用请求的客户端程序。
通过以上步骤,就完整地实现了 一次使用存根代理程序进行远 程COM组件调用的过程。由于COM组件的实际位置对客户端程 序来il是透明的,所以如图4的虚线部分所示,客户端程序调用 COM组件力l务就和调用本地的COM組件一才羊方1"更快捷。
装置实施例
实施例一
根据本发明的实施例,提供了 一种用于进行远程组件调用的服


才艮应用才莫块,用于加载远程组件、生成远程组件对象、并提供远程 组件的接口服务。
图5是根据本发明实施例的存根应用模块的方框图,如图5所 示,该存根应用模块包括接收子模块52 ,用于接收来自客户端的远程组件调用请求;
运行子模块54,连接至接收子模块52,用于运行远程组件对象;
发送子模块56,连接至运行子模块54,用于将远程组件对象的 调用结果4是供》会客户端。
优选地,存根应用模块进一步包括配置子模块(图中未示出), 用于在存根应用模块的配置文件中配置所有需要加载运行的远程组 件以及唯一标识远程组件的标识符。
实施例二
根据本发明的实施例,还提供了 一种用于进行远程组件调用的 客户端。
根据本发明实施例的用于进行远程组件调用的客户端包括代 理应用模块,用于与服务器进行远程组件服务的通信。
图6是根据本发明实施例的代理应用模块的方框图,如图6所 示,该代理应用才莫块包4舌
收集子才莫块60,用于收集客户端第三方程序的远程组件调用请
求;
发送子模块62,连接至收集子模块60,用于向服务器发送远程 组〃f牛调用i青求;
接收子模块64,连接至发送子模块62,用于接收来自服务器返 回的调用结果。
15优选地,上述代理应用模块进一步包括配置子模块(图中未 示出),用于在代理应用模块的配置文件中配置存根应用模块的协议 网络地址以及客户端通ifU吏用的端口号。
系纟克实施例
才艮据本发明的实施例,还4是供了一种远程组件的调用系统。图 7是根据本发明实施例的远程组件的调用系统的方框图,如图7所 示,该系统包括用于进行远程组件的调用的服务器72和用于进行远 程组件的调用的客户端74,其中
用于进行远程组件的调用的"良务器72,包括存才艮应用4莫块76, 用于加载远程組件、生成远程组件对象、并提供远程组件的接口服
务;
用于进行远程组件的调用的客户端74,连接至用于进行远程组 件的调用的服务器72,包括代理应用模块78,用于与服务器进行 远程组件服务的通信。
在本发明的以上实施例中,使用存才艮代理程序远程调用COM 组件,将现有技术分散在每一台计算机上的COM组件统一部署在 一台服务器上,所有的COM组件在服务端^L集中管理和统一控制。 客户端程序在调用COM组件"l务时,不需要关心COM组件是运 行在本地计算机上还是运行在远程计算机上,COM组件的实际位置 对于调用程序来i兌是完全透明的。调用寿呈序调用远禾呈COM组件損: 供的"良务就和调用本地的COM组件一才羊。4是高了系统的稳定性、 可靠性、灵活性。
显然,本领域的技术人员应该明白,上述的本发明的各模块或 各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算 装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储
在存储装置中由计算装置来执行,或者将它们分别制作成各个集成 电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模 块来实现。这样,本发明不限制于任何特定的^/f牛和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明, 对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在 本发明的精神和原则之内,所作的任何修改、等同替换、改进等, 均应包含在本发明的保护范围之内。
权利要求
1.一种远程组件的调用方法,其特征在于,包括在服务器中设置存根应用模块和远程组件,其中,所述存根应用模块用于加载所述远程组件、生成远程组件对象、并提供所述远程组件的接口服务;接收来自客户端的远程组件调用请求,运行所述远程组件对象,并通过所述存根应用模块将所述远程组件对象的调用结果提供给所述客户端。
2. 根据权利要求1所述的调用方法,其特征在于,进一步包括在所述存才艮应用沖莫块的配置文件中配置所有需要加载运 行的远程组件以及唯一标识所述远程组件的标识符。
3. 根据权利要求1所述的调用方法,其特征在于,所述接收来自 客户端的远程组件调用请求,运行所述远程组件对象,并通过 所述存根应用模块将所述远程组件对象的调用结果提供给所 述客户端的操作具体为4妄收来自所述客户端通过代理应用才莫块发送的远程组件 调用请求;基于所述远程组件调用请求,所述存根应用模块运行所述 远程组件对象进4于运算处理;将所述运算处理的调用结果返回给所述存根应用模块;所述存#>应用才莫块接收所述调用结果,并将所述调用结果 经由所述代理应用模块返回给所述客户端。
4. 一种远程组件的调用方法,其特;f正在于,包4舌在客户端设置代理应用;f莫块,其中,所述代理应用才莫块用 于与服务器进行远程组件服务的通信;通过所述代理应用冲莫块收集客户端第三方程序的远程组 件调用请求,向所述服务器发送所述远程组件调用请求,并接 收来自所述月l务器返回的调用结果。
5. 根据权利要求4所述的调用方法,其特征在于,进一步包括在所述代理应用模块的配置文件中配置存根应用模块的 网络地址以及所述客户端通ifU吏用的端口号。
6. —种用于进行远程组件调用的服务器,其特征在于,包括存才艮应用才莫块,用于加载远禾呈组件、生成远禾呈组件对象、 并提供所述远程组件的接口服务。
7. 根据权利要求6所述的服务器,其特征在于,所述存根应用模 块进一步包括接收子模块,用于接收来自客户端的远程组件调用请求;运4亍子才莫块,用于运4亍所述远程组件对象;发送子模块,用于将所述远程组件对象的调用结果提供给 所述客户端。
8. 根据权利要求6所述的服务器,其特征在于,所述存根应用模 块进一步包4舌配置子冲莫块,用于在所述存才艮应用才莫块的配置文件中配置 所有需要加载运行的远程组件以及唯一标识所述远程组件的标识符。
9. 一种用于进4亍远程组件调用的客户端,其特征在于,包括代理应用才莫块,用于与服务器进4亍远程组件月良务的通信。
10. 根据权利要求9所述的客户端,其特征在于,所述代理应用模 块进一步包括收集子模块,用于收集客户端第三方程序的远程组件调用请求;发送子模块,用于向所述服务器发送所述远程组件调用请求;接收子模块,用于接收来自所述服务器返回的调用结果。
11. 根据权利要求9所述的客户端,其特征在于,进一步包括配置子才莫块,用于在所述^理应用才莫块的配置文件中配置 存根应用模块的协议网络地址以及所述客户端通讯使用的端口号。
12. —种远程组件的调用系统,其特征在于,包括用于进行远程组 件的调用的服务器和用于进行远程组件的调用的客户端,其 中所述服务器包括存根应用模块,用于加载远程组件、生 成远程组件对象、并提供所述远程组件的接口服务;所述客户端包括代理应用冲莫块,用于与服务器进行远程 组件力良务的通信。
全文摘要
本发明公开了远程组件的调用方法和系统、以及服务器、客户端,其中,一种远程组件的调用方法包括在服务器中设置存根应用模块和远程组件,存根应用模块用于加载远程组件、生成远程组件对象、并提供远程组件的接口服务;接收来自客户端的远程组件调用请求,运行远程组件对象,并通过存根应用模块将远程组件对象的调用结果提供给客户端。本发明提高了系统的稳定性、可靠性、灵活性。
文档编号H04L12/24GK101631033SQ20081013059
公开日2010年1月20日 申请日期2008年7月14日 优先权日2008年7月14日
发明者李文龙 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1