CN1466051A - 实现不同系统之间数据交互的方法 - Google Patents

实现不同系统之间数据交互的方法 Download PDF

Info

Publication number
CN1466051A
CN1466051A CNA021235805A CN02123580A CN1466051A CN 1466051 A CN1466051 A CN 1466051A CN A021235805 A CNA021235805 A CN A021235805A CN 02123580 A CN02123580 A CN 02123580A CN 1466051 A CN1466051 A CN 1466051A
Authority
CN
China
Prior art keywords
interface
command line
client process
interface proxy
result data
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
Application number
CNA021235805A
Other languages
English (en)
Other versions
CN1251079C (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.)
Lenovo Beijing Ltd
Original Assignee
Lenovo Beijing 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 Lenovo Beijing Ltd filed Critical Lenovo Beijing Ltd
Priority to CN 02123580 priority Critical patent/CN1251079C/zh
Publication of CN1466051A publication Critical patent/CN1466051A/zh
Application granted granted Critical
Publication of CN1251079C publication Critical patent/CN1251079C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Computer And Data Communications (AREA)

Abstract

一种实现不同系统之间数据交互的方法,将需要服务的客户进程与提供服务的服务进程通过接口代理进行交互,该接口代理接收命令行参数并独立运行;命令行参数包括:指定存放参数输入的文件信息、指定存放返回结果数据的文件信息;或为用于传递参数和结果数据的输入输出重定向操作符;本发明实现了多个独立分布子系统间的通讯,简化了各子系统开发人员之间的交流,协调和统一工作,简化了远程方法的调用过程;由于接口代理对客户进程屏蔽了通讯和交互的实现,子系统的变动不会影响到客户进程,增加了各系统的独立性,增强了整个系统的灵活性,提高了整个系统的整体开发效率和质量。

Description

实现不同系统之间数据交互的方法
技术领域
本发明涉及一种实现不同系统之间数据交互的方法,特别是指一种方便客户进程调用服务进程的方法和数据,简化程序员在实现多进程之间进行通讯中的工作量,提高松散连接的分布式软件系统的开发效率和质量的接口代理方法。
背景技术
现有软件系统之间实现进程间通讯的方法主要有以下几种:
1、通用对象请求代理体系结构(Common Object Request BrokerArchitecture,简称CORBA)/远程方法调用(Remote Method Invocation,简称RMI)/远程过程调用(Remote Procedure Calls,简称RPC);
2、自行建立通讯连接(管道或网络通讯协议(Transmission ControlProtocol/Internet Protocol,简称TCP/IP)),使用自行定义的应用协议;
3、共享存储信息;
4、进行消息传递;
在CORBA/RMI/RPC等高抽象层次的进程间通讯方式出现之前,软件系统之间实现进程间通讯的手段主要是前述2、3、4几种。使用这几种方式需要对进程之间的交互协议和通讯协议有深刻、详细的理解。在此基础上程序员必须编写大量的代码来实现这些协议。如果在两个独立的复杂系统之间建立这样的通讯就意味着需要建立非常多的约定;这样,在两个系统的相关部分之间就会出现冲突和妥协,系统的独立性、自主性和自我完整性也因此会受到影响。对于大型系统中多个异构的子系统(采用不同语言实现,运行于不同的平台的多个系统)而言,意味着各子系统程序员之间需要更多的交流,这些无疑会造成一些不利于系统稳定的因素。
具有高度抽象的进程之间通讯的CORBA/RMI/RPC对程序员屏蔽了通讯协议和交互协议代码,并且提供多种语言和平台的实现方法,简化了程序员的工作,提高了开发的效率。但是,同时,这类方法也导致在编程过程中需要引入其它实现代码;例如:对于CORBA而言,就必须用接口定义语言(Interface Definition Language,简称IDL)编写模版,同时在程序中还要加入大量相关的管理和初始化的工作;此外,程序员学习和理解CORBA的机制则是不可避免的,各系统程序员之间的交流、协调和统一工作依然不能有效地减少。因此,对于一些应用领域,这些高抽象层次的进程之间的通讯方法还是显得过于繁琐。
发明内容
本发明的目的在于提供一种实现不同系统之间数据交互的方法,方便客户进程调用服务进程的方法和数据,简化程序员在实现多进程之间进行通讯中的工作量,提高松散连接的分布式软件系统的开发效率和质量。
本发明的目的是这样实现的:
一种实现不同系统之间数据交互的方法,将需要服务的客户进程与提供服务的服务进程通过接口代理进行交互,该接口代理接收命令行参数并独立运行。
所述的命令行参数至少包括:指定存放参数输入的文件信息、指定存放返回结果数据的文件信息。
所述的命令行参数可利用输入输出重定向操作符来传递参数和结果数据。
所述的接口代理至少设有:命令行参数处理模块、接口参数和结果数据处理模块和接口代理通讯交互模块;
该命令行参数处理模块用于接收和处理客户进程与其进行交互时的命令行参数信息;
接口参数和结果数据处理模块用于处理接口参数和结果数据;
接口代理通讯交互模块用于与服务进程的通讯交互模块进行交互。
客户进程通过接口代理与服务进程进行交互的具体方法为:
步骤1:客户进程远程启动或本地启动该接口代理,加入命令行参数,同时将接口参数写入指定的文件中;
步骤2:接口代理读入命令行参数,同时按指定方式获取接口参数;
步骤3:接口代理与服务进程通讯获取结果数据;
步骤4:接口代理将结果数据按指定方式返回给客户进程并终止;
步骤5:客户进程得知接口代理运行结束,根据返回值判断状态;
步骤6:客户进程根据该状态按事先指定的方式读取结果数据;
步骤7:客户进程进入下一步工作。
本发明实现了大型系统多个独立分布子系统间的通讯,可以简化各子系统开发人员之间的交流,协调和统一工作,简化了远程方法的调用过程。由于接口代理对客户进程屏蔽了通讯和交互的实现,子系统的变动不会影响到客户进程,因此增加了各系统的独立性,增强了整个系统的灵活性,对于具有异构子系统的系统,这一优点尤为突出,提高了整个系统的整体开发效率和质量。
附图说明
图1为本发明一实施例的结构原理示意图;
图2为本发明一实施例的运行系统的结构示意图。
具体实施方式
以下结合附图和具体的实施例对本发明做进一步的详细说明:
参见图1,本发明将需要服务的进程做为客户进程1,提供服务的进程做为服务进程3。服务进程3根据客户进程1所需要的各个接口提供相应的接口代理2。
接口代理2可独立执行,它接收命令行参数。该命令行参数指定存放参数输入的文件,同时指定存放返回结果数据的文件。此外,命令行参数还可利用输入输出重定向操作符来传递参数和结果数据,从而避免磁盘访问。
接口代理2除了一致的命令行参数处理、接口参数输入处理和接口结果输出处理外,其它部分由于对于客户进程是完全透明的,因此,可依据服务进程方系统的特点和需要,随意定制通讯协议和交互方法,达到紧密结合,高效安全,自成系统的目的。例如,服务进程方系统采用JAVA语言编写,则接口代理也可以用JAVA编写,并可以采用RMI实现通讯和交互,这些对于客户进程则是完全屏蔽的。
客户进程1使用接口代理2非常方便。客户进程1可在程序中远程启动或本地启动该接口代理2,并加入命令行参数,同时将接口参数按约定写入指定的文件中。接口代理2进程读入命令行参数,同时按指定方式获取接口参数,然后与服务进程3通讯获取结果数据,将结果数据按指定方式返回给客户进程1并终止。客户进程1得知接口代理2运行结束,根据返回值判断状态,成功或失败。根据该状态按事先自己指定的方式读取结果数据,然后进入下一步工作,从而完成整个接口调用。
参见图2,例如:在一大型信息管理系统中,各子系统向集中管理系统提供管理信息和手段,可视为服务提供者,即服务进程。而集中管理系统利用各子系统的服务实现其集中管理的功能。由于实现上的原因,例如,由于硬件需求,硬件监控管理子系统用C语言实现,而集中管理系统由于多平台目标的需要,用JAVA语言实现。为了加快进度和效率,减少集中管理系统的复杂度,可以采用本发明的接口代理。
以硬件监控管理子系统为例,由集中管理系统开发小组提交接口需求和数据规范,硬件监控管理子系统与服务进程的交互可以仅开发各接口需求对应的接口代理。
例如:在硬件信息获取接口中:
接口代理与硬件监控管理子系统采用简单网络管理协议(SimpleNetwork Management Protocol简称SNMP通讯协议),硬件监控管理子系统为SNMP代理(Agent)。接口代理采用C语言实现,运行平台为WINDOWS。
使用过程如下:
集中管理系统在程序中本地调用该接口代理(该接口代理为一可执行的程序GetHardwareInfo.exe),其调用命令行为:
GetHardwareInfo.exe-in=all-out=2345.xml;
其中:-in=all和-out=2345.xml均为命令行参数;
接口代理(GetHardwareInfo.exe)启动后,读取命令行参数-in=all和-out=2345.xml,得悉需要获取所有硬件信息;
接口代理(GetHardwareInfo.exe)通过SNMP协议获取硬件监控管理子系统中管理信息库(Management Information Base,简称:MIB)中的硬件信息;
接口代理(GetHardwareInfo.exe)将结果数据存入文件2345.xml并返回退出状态;
集中管理系统检查接口代理(GetHardwareInfo.exe)的退出状态;
如果该退出状态为正常,则读取文件2345.xml,获取相应的硬件信息;
接口调用结束。
最后所应说明的是:以上实施例仅用以说明本发明而并非限制本发明所描述的技术方案;因此,尽管本说明书参照上述的各个实施例对本发明已进行了详细的说明,但是,本领域的普通技术人员应当理解,仍然可以对本发明进行修改或者等同地替换;而一切不脱离本发明的精神和范围的技术方案及其改进,其均应涵盖在本发明的权利要求范围当中。

Claims (5)

1、一种实现不同系统之间数据交互的方法,其特征在于:将需要服务的客户进程与提供服务的服务进程通过接口代理进行交互,该接口代理接收命令行参数并独立运行。
2、根据权利要求1所述的实现不同系统之间数据交互的方法,其特征在于:所述的命令行参数至少包括:指定存放参数输入的文件信息、指定存放返回结果数据的文件信息。
3、根据权利要求1所述的实现不同系统之间数据交互的方法,其特征在于:所述的命令行参数利用输入输出重定向操作符传递参数和结果数据。
4、根据权利要求1所述的实现不同系统之间数据交互的方法,其特征在于:所述的接口代理至少设有:命令行参数处理模块、接口参数和结果数据处理模块和接口代理通讯交互模块;
该命令行参数处理模块用于接收和处理客户进程与其进行交互时的命令行参数信息;
接口参数和结果数据处理模块用于处理接口参数和结果数据;
接口代理通讯交互模块用于与服务进程的通讯交互模块进行交互。
5、根据权利要求1所述的实现不同系统之间数据交互的方法,其特征在于:客户进程通过接口代理与服务进程进行交互的具体方法为:
步骤1:客户进程远程启动或本地启动该接口代理,加入命令行参数,同时将接口参数写入指定的文件中;
步骤2:接口代理读入命令行参数,同时按指定方式获取接口参数;
步骤3:接口代理与服务进程通讯获取结果数据,
步骤4:接口代理将结果数据按指定方式返回给客户进程并终止;
步骤5:客户进程得知接口代理运行结束,根据返回值判断状态;
步骤6:客户进程根据该状态按事先指定的方式读取结果数据;
步骤7:客户进程进入下一步工作。
CN 02123580 2002-07-03 2002-07-03 实现不同系统之间数据交互的方法 Expired - Fee Related CN1251079C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 02123580 CN1251079C (zh) 2002-07-03 2002-07-03 实现不同系统之间数据交互的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 02123580 CN1251079C (zh) 2002-07-03 2002-07-03 实现不同系统之间数据交互的方法

Publications (2)

Publication Number Publication Date
CN1466051A true CN1466051A (zh) 2004-01-07
CN1251079C CN1251079C (zh) 2006-04-12

Family

ID=34142384

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 02123580 Expired - Fee Related CN1251079C (zh) 2002-07-03 2002-07-03 实现不同系统之间数据交互的方法

Country Status (1)

Country Link
CN (1) CN1251079C (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100451964C (zh) * 2004-12-07 2009-01-14 佳能株式会社 管理软件模块的管理方法和信息处理器
CN101739300A (zh) * 2008-11-18 2010-06-16 中兴通讯股份有限公司 一种多媒体终端进程间通讯的方法和系统
CN101360060B (zh) * 2008-09-18 2011-05-11 中兴通讯股份有限公司 实现系统间数据交互的处理单元、数据发送/接收方法
CN101655806B (zh) * 2009-09-25 2012-05-23 马丰文 一种软件系统内部组件数据交互方法及数据交互系统
CN101706901B (zh) * 2009-12-01 2012-07-25 中国建设银行股份有限公司 实现屏蔽不同工作流产品的装置及方法
CN103365715A (zh) * 2013-06-17 2013-10-23 广东电网公司电力调度控制中心 一种快速调用bpa暂态计算程序的方法和系统
CN107301137A (zh) * 2017-07-04 2017-10-27 福建中金在线信息科技有限公司 Rset接口实现方法和装置及电子设备和计算机可读存储介质
CN109426571A (zh) * 2017-08-28 2019-03-05 阿里巴巴集团控股有限公司 函数调用和数据访问的方法、系统、存储介质、处理器和装置

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100451964C (zh) * 2004-12-07 2009-01-14 佳能株式会社 管理软件模块的管理方法和信息处理器
CN101360060B (zh) * 2008-09-18 2011-05-11 中兴通讯股份有限公司 实现系统间数据交互的处理单元、数据发送/接收方法
CN101739300A (zh) * 2008-11-18 2010-06-16 中兴通讯股份有限公司 一种多媒体终端进程间通讯的方法和系统
CN101655806B (zh) * 2009-09-25 2012-05-23 马丰文 一种软件系统内部组件数据交互方法及数据交互系统
CN101706901B (zh) * 2009-12-01 2012-07-25 中国建设银行股份有限公司 实现屏蔽不同工作流产品的装置及方法
CN103365715A (zh) * 2013-06-17 2013-10-23 广东电网公司电力调度控制中心 一种快速调用bpa暂态计算程序的方法和系统
CN107301137A (zh) * 2017-07-04 2017-10-27 福建中金在线信息科技有限公司 Rset接口实现方法和装置及电子设备和计算机可读存储介质
CN109426571A (zh) * 2017-08-28 2019-03-05 阿里巴巴集团控股有限公司 函数调用和数据访问的方法、系统、存储介质、处理器和装置

Also Published As

Publication number Publication date
CN1251079C (zh) 2006-04-12

Similar Documents

Publication Publication Date Title
KR100253930B1 (ko) 고성능 사용자 레벨 네트워크 프로토콜 서버 시스템에 대한 동적 실행 유닛 관리
US7428728B2 (en) Interface definition language compiler
CN1205565C (zh) 客户机/服务器网络中服务器对象之间的工作负荷管理
CN1298151C (zh) 用于获取网格中的状态信息的方法和设备
US6529936B1 (en) Object-oriented web server architecture suitable for various types of devices
US7607128B2 (en) Method and system for enabling a server application to be executed in the same virtual machine as a client application using direct object oriented programming method calls
US6978447B1 (en) Method and system for efficiently interpreting a computer program
US20030055826A1 (en) System and method for connecting to and controlling to disparate databases
CN1159631A (zh) 客户/服务器计算机系统中处理不同协议方法调用的方法和装置
CN1645321A (zh) 通过网络管理和传送虚拟磁盘至网络工作站的装置与方法
Knabe An overview of mobile agent programming
US6516354B2 (en) Method and apparatus for efficient representation of variable length identifiers in a distributed object system
CN1577277A (zh) 管理程序应用
CN1251079C (zh) 实现不同系统之间数据交互的方法
CN1096638C (zh) 用于客户/服务器计算的方法
CN1929399A (zh) 嵌入式Web网管系统及其交互方法
CN1208481A (zh) 分布式处理
CN1929463A (zh) 对象请求代理、用于提供资源高效传送的方法和装置
KR20050084059A (ko) 비 멤버 장치로 컴퓨터 그리드에 액세스하는 방법 및시스템과 컴퓨터 프로그램 제품
CN1317849C (zh) 一种网络管理系统和方法
CN1592887A (zh) 一种移动通信设备应用程序处理系统
CN1271541C (zh) 一种机群管理系统及其信息处理方法
CN1928812A (zh) 家庭网络中间件开发平台及其代码转换方法
CN1794143A (zh) 一种基于原语机制的外设网络调用方法
CN1199399C (zh) 基于Java的终端仿真方法

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: 20060412

Termination date: 20200703

CF01 Termination of patent right due to non-payment of annual fee