远程调用对象的方法和系统技术方案

技术编号:9033892 阅读:110 留言:0更新日期:2013-08-15 00:45
本发明专利技术公开了一种远程调用对象的方法,包括:创建与各客户端对应的代理对象;利用该代理对象接收相应的客户端发出的调用命令,并将其转换成与客户端协议相适应的命令信息;将所述命令信息处理成统一数据类型调用命令;按照所述统一数据类型调用命令中的业务对象的名称定位所述业务对象,由该业务对象得到业务对象方法标签;利用该标签对业务对象方法进行调用。本发明专利技术同时还公开了一种远程调用对象的系统。本发明专利技术预先创建与各客户端相对应的代理对象,并通过将各客户端发送的命令信息按照客户端的协议转换后,进行归一化,由此可以支持来自多个客户端的命令信息,实现业务逻辑的复用,从而实现业务逻辑与接口的剥离,屏蔽了业务接口的专业性,可适配多个客户端,节约了工作人员的工作量,降低成本。

【技术实现步骤摘要】

本专利技术涉及远程调用
,更具体地说,涉及一种在分布式系统中远程调用对象的方法和系统
技术介绍
从分布式系统架构成为软件架构的主流以来,系统间的远程调用平台就大量得涌现出来,比较成熟的分布式调用技术有:C0RBA、RM1、EJB、WebService或Xml-RPC等。远程调用的过程一般为:接收客户端的调用命令,根据该调用命令中的业务对象名称定位所述业务对象,并由该业务对象得到业务对象方法标签,通过该业务对象方法标签对该业务对象方法进行调用。一个企业级的系统是例如银行系统包括多个客户端(刷卡机11、内部转账12和网络计算机13)、以及与各个客户端相对应的业务接口(刷卡接口 21、内部转账接口 22和网上交易接口 23),以及,银行系统和设置在银行系统中的多个调用系统(调用系统31、调用系统32和调用系统33),各调用系统与各业务接口——对应。上述系统存在以下问题:在该系统中,每种调用系统对应一种客户端,也就是说,当存在多种客户端的时候,需要有多种调用系统与其相适配,每出现一种客户端,就需要增加与该客户端相对应的调用系统,无法实现业务逻辑和接口的剥离,无法复用业务逻辑,即使针对相同的业务逻辑,仍然需要针对不同的接口进行开发。例如:都是提款,通过刷卡机和网络计算机由于远程调用协议不一致,就必须开发两套调用系统适应不同的业务接口才可以提款,比较繁琐,增加了设计人员的工作量,增加系统的成本。
技术实现思路
有鉴于此,本专利技术的目的在于提供一种分布式系统中的远程调用对象的方法和系统,以解决现有技术存在的通用性不高的问题。本专利技术一种远程调用对象的方法,包括:创建与各客户端对应的代理对象;利用该代理对象接收相应的客户端发出的调用命令,并将其转换成与客户端协议相适应的命令信息;将所述该命令信息处理成统一数据类型的调用命令;按照所述统一数据类型的调用命令中的业务对象的名称定位所述业务对象,由该业务对象得到业务对象方法标签;利用该标签对业务对象方法进行调用,并由代理对象将调用结果反馈给所述客户端。优选的,代理对象将调用结果转换成所述客户端能够识别的结果信息后,反馈给所述客户端。优选的,按照以下步骤创建代理对象:读取对应客户端的业务接口文件,分析业务对象名称和业务对象方法标签;解析相应的业务对象方法标签和所述接口参数,生成对应的方法体;根据所述接口参数和所述方法体生成代理对象。优选的,将命令信息处理成统一数据类型的调用命令的实现方式为:根据各代理对象所遵从的协议,按照各代理对象协议的参数映射,将各种数据类型的调用命令转换成统一数据类型的调用命令。本专利技术还公开了一种远程调用对象的系统,包括多个客户端和用于存储业务对象的业务对象容器,还包括调用装置,该调用装置包括多个代理对象单元和执行单元;各代理对象单元与客户端一一对应,用于接收所述客户端的调用命令,针对该调用命令发送与该客户端技术协议相适配的命令信息,接收反馈过来的调用结果信息,并该调用结果信息转换成对应客户端能够识别的信息后,反馈给客户端;执行单元,用于获取所述命令信息,将该命令信息转换为统一数据类型调用命令,根据所述该统一数据类型调用命令中的业务对象的名称在所述业务对象容器中定位所述业务对象,由该业务对象得到业务对象方法标签,按照所述业务对象方法标签对业务对象方法进行调用,并反馈调用结果至所述代理对象单元。优选的,所述系统还包括:代理对象生成单元,用于获取对应的客户端业务接口文件,并依据该业务接口文件生成与客户端技术协议相适配的代理对象单元。优选的,所述系统还包括:业务对象管理单元, 用于管理所述业务对象容器中的各个业务对象。优选的,所述执行单元由以下单元组成:获取单元,用于获取代理对象单元发送过来的命令信息;归一化单元,将所述命令信息转换成统一数据类型的调用命令;定位单元,根据所述统一数据类型的调用命令中的目标业务对象的名称定位该目标业务对象在业务对象容器中的位置;调用单元,由所述业务对象得知业务对象方法标签,按照该业务对象方法标签找到该业务对象方法,进行调用;所述反馈单元,将调用结果反馈给代理对象单元。优选的,所述代理对象生成单元设置在所述调用装置中。通过上述技术方案可知,与现有技术相比,本专利技术预先创建与各客户端相对应的代理对象,并通过将各客户端发送的命令信息按照客户端的协议转换后,进行归一化,由此可以支持来自多个客户端的命令信息,实现业务逻辑的复用,从而实现业务逻辑与接口的剥离,屏蔽了业务接口的专业性,无需为每个客户端设计各自的调用系统,便可适配多个客户端,节约了工作人员的工作量,降低成本。附图说明图1为现有技术的结构示意图;图2为本专利技术分布式系统中远程调用对象的方法的流程图;图3为本专利技术分布式系统中远程调用对象的方法的代理对象生成流程图4为本专利技术一种远程调用对象的系统的实施例一结构示意图;图5为本专利技术一种远程调用对象的系统的执行单元的结构示意图;图6为本专利技术一种远程调用对象的系统实施例远程调用对象的流程图;图7为本专利技术一种远程调用对象的系统的实施例二的结构示意图;图8为本专利技术一种远程调用对象的系统的实施例三的结构示意图;图9为本专利技术一种远程调用对象的系统的实施例四的结构示意图。具体实施例方式本专利技术的基本思想是:预先创建与各客户端相对应的代理对象;利用所述代理对象接收相应的客户端发出的针对目标业务对象的调用命令,并将其转换成与客户端协议相适应的命令信息;将所述命令信息处理成统一数据类型调用命令;按照所述统一数据类型调用命令中的目标业务对象的名称定位所述目标业务对象,得到所述目标业务对象,由该目标业务对象得到业务对象方法标签,利用该标签对业务对象方法进行调用,并反馈调用结果。为了使本领域技术人员更好理解本专利技术技术方案,下面对本文所述的业务对象进行简单介绍描述:首先对本文中出现的几个名词术语进行解释:业务对象:业务方法的集合体;例如:账号管理对象;业务对象名称: 对业务对象定乂的Iv全局唯一的字符串标签; 业务对象方法:一定业务逻辑的集合;例如:取款;业务对象方法标签:能够唯一定位业务方法的定义;业务逻辑:完成一个完整业务的操作步骤;例如:取款:检查账号-是否有钱-取αΚ ~扣政。例如:“取款”是一个业务对象方法,其封装了多种取款的业务逻辑,所述业务逻辑指的是完成一个完整业务的操作步骤,例如:客户端发送取款100元的请求信息时,该业务对象包含以下业务逻辑,如:—查询该用户账户上的余额;-如果该账户的余额少于100元,则将“余额不足”的信息反馈给客户端;—如果该账户的余额多于100元,则调动送币机构将100元的纸币反馈给客户端,并将该账户的余额减去100元。在系统中,所述业务对象一般存储在对象容器中,所述对象容器就是存储多个业务对象的功能单元,每个业务对象都存在一个静态属性-业务对象名称,在所述对象容器中,一个业务对象唯一对应一个业务对象名称。下面结合附图和实施例对本专利技术进行详细描述。以传输综合资源网管系统(TransNMS)为例,TransNMS是三层分布式网管系统。由于这是一个复杂的中大型系统,必须支持以下的应用场景:1、支持其他系统访问接口,例如EMOS (电子管理支撑系统)系统接口 ;2、面向不同类型的用户,支持不同类型用户呈现方式,例如WebC本文档来自技高网...

【技术保护点】
一种远程调用对象的方法,其特征在于,包括:创建与各客户端对应的代理对象;利用该代理对象接收相应的客户端发出的调用命令,并将其转换成与客户端协议相适应的命令信息;将所述该命令信息处理成统一数据类型的调用命令;按照所述统一数据类型的调用命令中的业务对象的名称定位所述业务对象,由该业务对象得到业务对象方法标签;利用该标签对业务对象方法进行调用,并由代理对象将调用结果反馈给所述客户端。

【技术特征摘要】

【专利技术属性】
技术研发人员:张旭
申请(专利权)人:北京亿阳信通科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1