一种分布式网络环境中的服务请求代理系统技术方案

技术编号:7810684 阅读:267 留言:0更新日期:2012-09-27 19:03
一种分布式网络环境中的服务请求代理系统,属于计算机之间过程调用技术领域。包括服务器、客户端、对象请求代理标准模块、过程调用中间件和服务请求代理器五部分。优点在于,客户端与服务器之间的接口使用统一的标准,规范化了接口设计,减少了设计人员的工作量;编程人员无需关心开发出的程序究竟部署在网络上的什么地方,给系统的调试和测试工作带来了巨大的便利;当网络环境发生变化时,无论是重新部署应用程序还是调整服务器网络参数,仅需要通过修改相应的参数表内的参数即可完成维护,降低了系统维护难度。

【技术实现步骤摘要】

本专利技术属于计算机之间过程调用
,特别涉及ー种分布式网络环境中的服务请求代理系统,在分布式系统中实现远程过程调用。
技术介绍
在对冶金过程控制系统的开发过程中,发现分布式系统使用非常广泛,但是由于分布式系统结构自身的特点,每台计算机上的子系统高度自治,通过通信网络有机的联系在一起,服从全局管理系统的资源调度,完成共同的任务目标,从而形成一个庞大的分布式系统。在这个复杂的分布式系统中,无论是全局管理系统还是各子系统,又分别由几个甚至几十个进程共同组成,为了使这些分散的进程协调工作,解决分布式进程间通讯问题是至 关重要的。但是在以往的开发中,开发者通常会使用自定义标准来定义相互的协议,这不仅增加了过程控制系统的设计难度,而且在后期过程控制系统集成和维护过程中因为缺乏统ー的集成标准,不便于过程控制系统的集成和信息的共享。但如果使用二次开发的办法解决集成和扩展的问题,又会给过程控制系统的运行和后期的维护带来大量的工作。所以开发ー种能够屏蔽了底层操作系统的复杂性,使程序开发人员即使在异构的硬件环境下仍面对ー个简单而统ー的开发环境,減少程序设计的复杂性,将注意力集中在自己的业务上,不必再为程序在不同系统软件上的移植而重复工作,从而大大减少了技术上的负担十分必要。
技术实现思路
本专利技术的目的在于提供ー种在分布式控制系统中实现服务请求代理的系统,解决了开发者因为缺乏统ー的集成标准而使用自定义的标准来定义设备间的协议,不便于后期系统集成和维护以及信息共享的问题。该分布式网络环境中的服务请求代理系统參考对象请求代理(Object Request Broker缩写ORB)技术和面向服务(Service-OrientedArchitecture縮写S0A)的原则,采用中间件技术,专利技术了该分布式网络环境中的服务请求代理系统。本专利技术包括服务器、客户端、对象请求代理标准模块、过程调用中间件和服务请求代理器五部分。对象请求代理标准模块在服务器上,用于实现对服务在服务器上的部署和客户端的访问的设定,过程调用中间件则与服务请求代理器进行通讯,将对服务请求的数据传递给服务代理器。在本地过程调用LPC过程中,该分布式网络环境中的服务请求代理标准模块为进程提供面向服务的过程调用中间件,负责进程(或线程)间事件和数据的传递;在远程过程调用RPC (远程过程调用)过程中,该分布式网络环境中的服务请求代理系统首先根据配置參数表创建和维护分布式过程调用服务网络,由过程调用中间件将事件和数据传递给服务请求代理器,然后由服务请求代理器之间相互通讯,来实现与网络上计算机节点间的进程进行远程过程调用。所述的对象请求代理标准模块安装在服务器上,用于对网络节点中的服务器上的服务和客户端需要访问的服务进行定义、分布和规划。对象请求代理标准模块由两个參数表构成,分别是通讯对象表和通讯服务部署表。对于客户端和服务器之间的服务部署,都是通过该对象请求代理标准模块实现服务的部署。该分布式网络环境中的服务请求代理系统在运行吋,首先运行该对象请求代理标准模块,获取服务器上服务的分布情况,和需要访问服务器服务的客户端的信息。服务请求代理器根据该參数查找服务所在的对应的服务器。 图I为过程调用中间件和服务请求代理器的关系图。如图,过程调用中间件根据本身的数据接ロ,与所述的服务请求代理器提供的通信进程进行通讯,用于实现来自不同进程间的数据的传递和交換,并实现过程间的同步与互斥。进ー步的,过程调用中间件包括过程三个调用接ロ,这三个调用接ロ在客户端和服务器上都需要运行和使用。等待接ロ 负责为服务提供在中断模式下工作的事件和数据接收,特点是基于事件、低CPU消耗和高响应速度;请求接ロ 负责为服务调用者提供事件和数据的发送和调用结果的接收,特点是在异步过程调用中只提供发送功能,在同步过程调用中提供发送、同步和调用结果接收功能。异步过程调用和同步过程称调用使用统ー的接ロ形式;应答接ロ 在同步过程调用中,服务完成业务处理后,该接ロ负责将调用结果发送给服务的调用者。所述的服务请求代理器在客户端和服务器上都需要运行,在服务器端,服务请求代理器与进程通讯中间件进行连接通讯,实现本机上数据的接收和发送。在服务器和客户端之间,客户端(计算机A或者B)的服务请求代理器与服务器(计算机B或者A)的服务请求代理器进行通讯,实现服务器与客户端间的数据发送与连接。进ー步的,服务请求代理器提供四种通信功能的进程(线程)监听线程、接入线程、接收线程、代理线程。监听线程运行在服务器端,负责为本地进程(或线程)提供监听功能,响应远程节点的接入操作,远程节点接入后,监听线程为远程节点上的进程(或线程)创建专用的接收线程和代理线程。接入线程运行在客户端机器上,负责为本地进程(或线程)提供接入远程节点的功能,接入成功后,接入线程为远程节点上的进程(或线程)创建专用的接收线程和代理线程。接收线程运行在服务器机器上,负责接收远程节点的过程调用,并通过过程调用中间件的请求接ロ将调用传递给本地进程,在同步过程调用中接收线程还负责将调用结果发送给远程节点。代理线程运行在客户端机器上,负责为远程节点上的进程(或线程)创建过程调用中间件的本地代理,并通过过程调用中间件的等待接ロ接收本地进程(或线程)对远程进程(或线程)的调用,并负责将调用发送给远程节点上的接收线程。进ー步,做为分布式网络环境中的服务请求代理系统,在实现不同的计算机间服务请求代理的时候,包括如下步骤步骤I、客户端调用过程调用中间件当客户端需要访问一台计算机上的某个服务时,客户端首先需要调用过程调用中间件,用于传递客户端需要给调用服务參数的传递。步骤2、过程调用中间件将消息传递给代理线程过程调用中间件在接收到客户端的请求后,就将该消息解析并传递给服务请求代理器提供的在客户端运行的代理线程。步骤3、代理线程将数据封装后发送给服务器上的接收线程客户端上的代理线程在收到客户端通讯中间进的请求后,将数据打包封装,并发送给服务器上服务请求代理器提供的接收线程。步骤4、接收线程解包数据后将自己扮演为模拟客户端再次调用通讯中间件接收线程收到客户端请求后,需要再次对数据进行传递,调用通讯过程中间件,将请求信息发送给服务器端服务进程或线程。步骤5、服务器收到调用数据后执行约定的业务处理过程服务端的服务进程或者线程,根据收到的请求内容,执行对应的业务处理过程。步骤6、服务器调用过程调用中间件将处理结果返回服务器在完成业务处理流程后,再次通过过程调用中间件将结果发送给服务器上的接收线程。步骤7、接收线程将处理结果封装后发送给代理线程接收线程在收到服务器上通讯中间件的服务执行结果数据后将数据进行封装,发送给客户端机器上的代理线程。步骤8、代理线程通过过程调用中间件将结果返回给客户端客户端代理线程在收到数据后,再次调用过程中间件将结果返回给客户端的客户进程或线程。做为分布式网络环境中的服务请求代理系统,还具有如下特点处于同一个网络内的不同位置的客户端和服务器,借助于服务请求代理器和过程调用中间件,客户端可以像调用本地服务ー样调用在服务器上的服务,服务请求代理器就像一条“通讯总线”ー样,为连接在同一个网络上的客户端和服务器提供ー个透明的通讯环境,服务请求代理器负责建立客户端与服务器之间的连本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.ー种分布式网络环境中的服务请求代理系统,其特征在于,包括服务器、客户端、对象请求代理标准模块、过程调用中间件和服务请求代理器五部分;对象请求代理标准模块在服务器上,用于实现对服务在服务器上的部署和客户端的访问的设定,过程调用中间件则与服务请求代理器进行通讯,将对服务请求的数据传递给服务代理器。在本地过程调用LPC过程中,该分布式网络环境中的服务请求代理系统为进程提供面向服务的过程调用中间件,负责进程或线程间事件和数据的传递;在远程过程调用RPC过程中,该分布式网络环境中的服务请求代理标准模块首先根据配置參数表创建和维护分布式过程调用服务网络,由过程调用中间件将事件和数据传递给服务请求代理器,然后由服务请求代理器之间相互通讯,来实现与网络上计算机节点间的进程进行远程过程调用; 过程调用中间件根据本身的数据接ロ与服务请求代理器提供的通信进程进行通讯,用于实现来自不同进程间的数据的传递和交換,并实现过程间的同步与互斥; 服务请求代理器在客户端和服务器上都需要运行,在服务器端,服务请求代理器与进程通讯中间件进行连接通讯,实现本机上数据的接收和发送。在服务器和客户端之间,客户端计算机A或者B的服务请求代理器与服务器计算机B或者A的服务请求代理器进行通讯,实现服务器与客户端间的数据发送与连接。2.根据权利要求I所述的系统,其特征在于,所述的对象请求代理标准模块安装在服务器上,用于对网络节点中的服务器上的服务和客户端需要访问的服务进行定义、分布和规划;对象请求代理标准模块由两个參数表构成,分别是通讯对象表和通讯服务部署表; 对于客户端和服务器之间的服务部署,都是通过该对象请求代理标准模块实现服务的部署。该分布式网络环境中的服务请求代理系统在运行时,首先运行该对象请求代理标准模块,获取服务器上服务的分布情况,和需要访问服务器服务的客户端的信息;服务请求代理器根据该參数查找服务所在的对应的服务器。3.根据权利要求I所述的系统,其特征在于,所述的过程调用中间件包括过程三个调用接ロ,这三个调用接ロ在客户端和服务器上都需要运行和使用; 等待接ロ 负责为服务提供在中断模式下工作的事件和数据接收,基于事件、低CPU消耗和高响应速度; 请求接ロ 负责为服务调用者提供事件和数据的发送和调用结果的接收,在异步过程调用中只提供发送功能,在同步过程调用中提供发送、同步和调用结果接收功能;异步过程调用和同步过程称调用使用统ー的接ロ形式; 应答接ロ 在同步过程调用中,服务完成业务处理后,该接ロ负责将调用结果发送给服务的...

【专利技术属性】
技术研发人员:李亮举彭会军李彦斌周月杰
申请(专利权)人:北京首钢自动化信息技术有限公司
类型:发明
国别省市:

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

1