CN100334834C - 一种代理服务器系统及其实现代理通讯的方法 - Google Patents

一种代理服务器系统及其实现代理通讯的方法 Download PDF

Info

Publication number
CN100334834C
CN100334834C CNB2004100709029A CN200410070902A CN100334834C CN 100334834 C CN100334834 C CN 100334834C CN B2004100709029 A CNB2004100709029 A CN B2004100709029A CN 200410070902 A CN200410070902 A CN 200410070902A CN 100334834 C CN100334834 C CN 100334834C
Authority
CN
China
Prior art keywords
command
client
monitor
centralized manager
interface unit
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.)
Expired - Fee Related
Application number
CNB2004100709029A
Other languages
English (en)
Other versions
CN1722663A (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 CNB2004100709029A priority Critical patent/CN100334834C/zh
Publication of CN1722663A publication Critical patent/CN1722663A/zh
Application granted granted Critical
Publication of CN100334834C publication Critical patent/CN100334834C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Computer And Data Communications (AREA)

Abstract

本发明公开了一种代理服务器系统,该代理服务器系统连接客户端和集中管理器,包括:客户端接口单元、命令数据接口单元、命令处理单元、缓冲区管理单元和应用编程接口API单元,用于代理客户端向集中管理器发送命令,注册监听器,并存储管理客户端基本信息和集中管理器返回的设备状态信息,实时地将设备状态信息返回给客户端。本发明还公开了一种利用代理服务器系统进行代理通讯的方法,该方法包括:代理服务器先解析客户端的命令,再根据解析的内容判断命令类型,并根据命令的类型分别进行处理。利用本发明所述的系统和方法,可以使集中管理器的工作职责得到明确,减轻集中管理器的工作负荷。

Description

一种代理服务器系统及其实现代理通讯的方法
技术领域
本发明涉及技术计算机网络中的服务器技术,尤其涉及一种代理服务器系统及其实现代理通讯的方法。
背景技术
随着计算机网络的发展,计算机网络中各种设备不断增多,需要对这些设备进行集中地管理。现有技术中,出现了一种集中管理器,直接与客户端和网络设备,如交换机、路由器、防火墙、网络数据库服务器(IDS)等连接,可以根据客户端的需求,对网络中的众多网络设备进行集中管理,并向客户端返回管理结果或设备状态数据。
但是,随着网络中被管理设备的增多,集中管理器获取的信息内容大幅增加,以及客户端对信息的实时性要求不断加强,使得集中管理器的工作负荷大大增加。另外,由于集中管理器既要对网络设备进行管理,又要接收和处理来自客户端的请求,其工作职责没有明确,因此又进一步增加了其工作负荷;同时,由于客户端直接与集中管理器连接,在大量客户端同时直接访问集中管理器的情况下,集中管理器对众多网络设备的管理职责又必然受到影响,从而降低对设备进行服务的质量。
现有技术中,客户端可以向集中管理器发送请求,要求集中管理器建立监听器,用来监听网络设备的状态信息,集中管理器再将监听到的设备状态数据返回给客户端。但是,客户端每发送一个请求,都要为该请求专门建立一个连接,当客户端采用轮循的方式获取数据时,其实时性不高,并且无法对客户端的请求进行统一地管理。同时,由于每条连接只能用于建立一个监听器,建立多个监听器时需要建立多条连接,所以又增加了客户端和集中管理器的工作负荷。
发明内容
有鉴于此,本发明的主要目的是提供一种代理服务器系统,能分担集中管理器的部分处理任务,使集中管理器的工作职责得到明确,并减轻集中管理器的工作负荷。
本发明的另一目的是提供一种利用代理服务器系统进行代理通讯的方法,使得客户端和集中管理器之间通过代理服务器系统进行通讯,从而减轻集中管理器的工作负荷,并提高工作效率。
一种代理服务器系统,该代理服务器系统连接客户端和集中管理器,该系统包括:
设置于客户端的客户端接口单元,用于客户端与代理服务器之间的通讯;
代理服务器,该代理服务器进一步包括:
命令数据接口单元,用于接收客户端命令并向客户端反馈信息;
命令处理单元,用于解析命令数据接口单元收到的客户端命令,并依据解析出的命令内容输出控制指令或命令;
缓冲区管理单元,用于根据命令处理单元输出的指令在内存缓冲区中创建并存储客户端信息及监听器信息,输出监听器信息,并向命令数据接口单元转发来自集中管理器的设备状态信息;
应用编程接口API单元,与命令处理单元和缓冲区管理单元相连,用于代理服务器与集中管理器之间的通讯,并在集中管理器上注册或注销监听器。
作为本发明的一个优选方案,所述客户端接口单元包括:
命令发送端,用于向代理服务器的命令数据接口单元发送命令,并接收命令数据接口单元返回的命令操作结果;
数据接收端,用于与代理服务器的命令数据接口单元建立连接,并利用该连接接收命令数据接口单元返回的设备状态信息。
作为本发明的又一个优选方案,所述命令数据接口单元进一步包括:
异步数据通道接口模块,用于响应客户端的连接请求,并建立连接,向客户端返回来自缓冲区管理单元中实时存储的设备状态信息;
命令通道接口模块,用于转发命令和命令操作结果。
作为本发明的进一步优选方案,所述命令处理单元进一步包括协议解析模块和命令处理模块,其中:
协议解析模块,用于接收并解析来自命令通道接口模块的命令,并将解析出的命令内容发送给命令处理模块;
命令处理模块,用于依据解析出的命令内容向缓冲区管理单元输出控制指令或向API接口单元输出命令。
作为本发明的再一个优选方案,所述缓冲区管理单元进一步包括内存管理模块、数据格式转化模块和监听器管理模块,其中:
内存管理模块,用于根据命令处理模块的控制指令创建并存储客户端信息和监听器信息,并存储来自集中管理器的设备状态信息;
数据格式转化模块,用于将来自集中管理器的设备状态信息进行格式转换后发送到命令数据接口单元;
监听器管理模块,调用API接口单元向集中管理器发送监听器相关信息,并接收来自集中管理器的设备状态信息。
所述API单元中包括JAVA管理扩展规范JMX标准接口单元,用于与使用JMX通信协议的集中管理器进行通讯。
本发明还公开了一种利用代理服务器系统进行代理通讯的方法,所述代理服务器系统包括代理服务器和设置在客户端的客户端接口单元,该方法包括:
A、客户端向代理服务器发送命令请求;
B、代理服务器解析收到的命令请求,得到命令的内容;
C、代理服务器为客户端创建内存管理结构,为客户端分配ID号,并在内存管理结构中存储客户端ID号和客户端的基本信息;
D、代理服务器根据解析出的命令内容完成客户端与集中管理器之间通讯的代理操作。
作为本发明的一个优选方案,所述步骤D包括:
代理服务器根据解析出的命令内容判断命令类型:
如果所述命令为注册命令,则将客户端ID返回给客户端,结束流程;
如果所述命令为基本操作命令,则向集中管理器转发该基本操作命令,并接收集中管理器返回的命令操作结果,将客户端ID和命令操作结果返回给客户端,结束流程;
如果所述命令为注销监听器命令,则释放缓冲区管理单元中存储的代理监听器,并调用API接口单元在集中管理器中注销监听器,结束流程;
如果所述命令为注册监听器命令,则执行以下步骤:
步骤D31、更新存储的客户端基本信息,创建并存储代理监听器,并在集中管理器中注册监听器;
步骤D32、客户端与代理服务器系统之间建立连接;
步骤D33、代理服务器将监听器返回的设备状态信息通过所述建立的连接返回给客户端,结束流程。
作为本发明的又一个优选方案,步骤D32之前,进一步包括:
判断该客户端和代理服务器之间是否有已建立好的连接,如果有,则执行步骤D33;否则,执行步骤D32。
作为本发明的再一个优选方案,步骤D33中,代理服务器收到集中管理器返回的设备状态信息后,先将该设备状态信息进行格式转换,再将转换格式后的设备状态信息返回给客户端。
由于本发明在客户端和集中管理器中间设置了代理服务器系统,由代理服务器系统接收和处理客户端的请求,使得大型网络中设备管理的体系结构有了一个更加清晰的层次划分,集中管理器的工作职责得到明确,大大减轻了集中管理器的工作负荷,并在很多种场合下,可以区分部署客户端,使同一类型的客户端采用一个代理服务器系统,从而提高管理效率。
由于代理服务器系统采用双通道接收处理客户端的请求,其中一条通道用于处理命令请求,另外一条通道用于建立数据连接,并进行数据传输。因此,可以实现在数据传输的同时对命令请求进行处理,并利用异步方式处理数据,提高了工作效率,并使得系统的吞吐率和可靠性得到了极大提高。
由于代理服务器系统可为客户端在同一条连接上建立多个监听器,使得集中管理器的实时设备状态数据能够通过同一条连接实时高效地返回客户端,既减轻了客户端和集中管理器的工作负荷,又达到很高的实时性,并可对客户端请求进行统一的管理。
此外,由于代理服务器系统对应存储每个客户端的ID及其监听器ID,因此保证了多个客户端并发操作,并且确保正确的监听器将信息反馈到正确的客户端。
最后,由于本发明在客户端设置的接口为通用接口,因此不会影响客户端应用程序的扩展。
附图说明
图1为代理服务器系统的结构组成示意图;
图2为内存管理模块存储的客户端信息的结构示意图;
图3为客户端注册或执行基本操作命令的流程示意图;
图4为客户端注册监听器的流程示意图;
图5为客户端异步接收数据的流程示意图;
图6为客户端注销监听器的流程示意图;
图7为本发明所述代理服务器系统的一种实际部署方式图。
具体实施方式
下面结合附图和具体实施例进一步说明本发明的实施方法。
在本发明中,凡是客户端对集中管理器的访问行为均经过本发明所述的代理服务器实现。此处的集中管理器尤其是指符合JAVA管理扩展规范(JMX,Java Management Extension)协议的集中管理器设备。所述的代理服务器可以单独运行;也可以嵌入到其他服务器,如web服务器中运行。
图1为代理服务器系统的结构组成示意图,如图1所示,该系统主要包括两个部分:客户端接口单元100和代理服务器11。
其中,客户端接口单元100包括数据接收端101和命令发送端102,用于与代理服务器11进行通讯。其中数据接收端101通过异步数据通道向命令数据接口单元110发送异步通道连接请求,并接收命令数据接口单元110返回的设备状态数据;命令发送端102通过命令通道向命令数据接口单元110发送命令请求并接收命令的操作结果。所述的命令请求包括多种类型,例如:注册命令、注册监听器命令、对集中管理器的基本操作命令和注销监听器命令。所述命令请求先被封装成包含特殊字节码格式的HTTP请求,再发送到命令数据接口单元110。
代理服务器11包括:命令数据接口单元110、命令处理单元120、缓冲区管理单元130和应用编程接口(API)单元140。
命令数据接口单元110进一步包括:异步数据通道接口模块111和命令通道接口模块112,用来接收客户端信息并向客户端反馈信息。其中,异步数据通道接口模块111与数据接收端101连接,用于接收客户端接口单元100的连接请求,建立TCP连接,并将集中管理器12返回的设备状态数据返回给客户端接口单元100。该异步数据通道接口模块111只有在命令通道接口模块112首次接收注册监听器命令,并注册监听器之后,才会启动工作。命令通道接口模块112与命令发送端102连接,用于接收命令请求,将其中的命令字节码转发给命令处理单元120,同时接收命令处理单元120返回的命令处理结果,将该命令处理结果返回给客户端10。
所述的注册监听器命令和注销监听器命令会触发代理服务器进行监听器的初始化工作,随后客户端和代理服务器将该命令具体的执行过程自动交付给异步数据通道接口模块111,异步数据通道接口模块111建立与客户端接口模块100的长连接,并维护和复用该长连接,以实现异步数据的传输。该长连接基于TCP,并且可以以HTTP格式的应用层协议为交互载体。在将监听器相关命令的执行过程交付给异步数据通道接口模块111之后,命令通道接口模块112可继续执行其他接收到的命令请求,但不影响异步数据通道接口模块111的数据传输工作。
命令处理单元120是整个代理服务器的调度与触发中心,其进一步包括:协议解析模块121和命令处理模块122。其中,协议解析模块121与命令通道接口模块112连接,用于将来自命令通道接口模块112的命令字节码按照事先设置的格式解析分析,输出命令处理模块122可以识别的命令代码,并拒绝非法的或不能识别的命令字节码;命令处理模块122与协议解析模块121连接,用于接收协议解析模块121输出的命令代码,并判断命令的类型,再分别传递给其自身的子功能模块进行处理转发。
所述子功能模块包括:
a、注册处理模块,用于接收注册命令并控制缓冲区管理单元130为客户端开辟缓冲区,创建用于存储客户端信息的内存管理结构;
b、注册监听器处理模块,用于接收注册监听器命令,控制缓冲区管理单元130注册监听器,并在内存管理结构中存入监听器相关的信息;
c、基本操作处理模块,用于接收集中管理器的基本操作命令,并将该操作命令通过API接口单元140发送给集中管理器12,集中管理器12进行相应的操作后,并返回操作结果;
d、注销监听器模块,用于接收注销监听器命令,并控制缓冲区管理单元130注销监听器,并在内存管理结构中删除监听器相关的信息,释放内存空间。
缓冲区管理单元130是代理服务器的核心部分,其进一步包括:内存管理模块131、数据格式转换模块132和监听器管理模块133。
内存管理模块131与命令处理模块122相连,用于管理客户端的各种状态,并为每一个客户端分配存储空间,创建相应的内存管理结构,记录每个客户端的基本信息,以及每个客户端所注册的监听器信息,并根据客户端的访问情况和集中管理器12返回的设备状态数据维护所创建的内存管理结构。
参见图2,在内存管理模块131中,所有内存管理结构的索引信息都被安排在一张哈希表(HashMap-Consoles)20中,其中,每一客户端对应唯一的流水号(ID),每一个ID号又对应一个与客户端对应的控制台(Console)缓冲区21。在该对应的控制台缓冲区21中包含关于此客户端的一般性信息描述,如创建时间、最近访问时间、存活时间,远端信息等。另外,该控制台缓冲区21中还包含两个指针,分别指向两块单独分配的缓冲区,其中一个是代理监听器表(listenerTable)22,另一个是通知队列(notificationList)23。所述代理监听器表22的结构为哈希表,用于记录对应客户注册的多个基本监听器信息,其中的元素包括代理监听器(ListenerProxy)的ID号和代理监听器指针,每个代理监听器指针指向一个代理监听器实例24。在每个代理监听器实例24中,除了包括一些描述其自身的基本信息,例如代理监听器的ID号、集中管理器对象名称、过滤器和集中管理器信息反馈点等,包括一个客户端回调指针,该回调指针指向代理监听器22所属的控制台缓冲区21,用于访问通知队列23。通知队列23是一个链表,用于存储监听器获取的实时信息内容,包括至少一个通知代理对象实例(NotificationProxy)25,通知代理对象实例25用于记录其对应监听器所获取的实时信息,该通知代理对象实例25包括两部分,一部分是它对应的代理监听器的ID号,另一部分为该监听器所监听到的具体信息内容。
当一个客户端首次访问代理服务器时,内存管理模块131便更新缓冲区结构,为该客户端在上述的哈希表20中分配存储空间和信息结构框架。此后,内存管理模块131不断维护哈希表20中关于该客户端的信息结构。
数据格式转换模块132与异步数据通道接口模块111和监听器管理模块133连接,用于转换来自集中管理器的数据格式,即将来自集中管理器的数据包加上包含其所属客户端ID和代理监听器ID的标号,将该来自集中管理器的数据包转换为通知代理对象实例25,并将该通知代理对象实例25存储到上述哈希表20中对应代理监听器的通知队列23中。再将通知代理对象实例25发送到异步数据通道接口模块111中,异步数据通道接口模块111根据该代理对象实例25中的客户端ID向相应的客户端返回设备实时信息。
监听器管理模块133与内存管理模块131、数据格式转换模块132相连,并与异步数据通道接口模块111协同工作,负责调用API接口单元140向集中管理器注册或注销监听器,以及返回的设备状态数据的存储工作。
API接口单元140进一步包括一具体的协议标准接口模块,用于代理服务器11与集中管理器12之间的基本通讯,并向集中管理器注册或注销监听器。由于当前的集中管理器大部分采用JMX协议进行通讯,因此本实施例中采用的协议标准接口模块为针对JMX协议的JMX标准接口模块141,如果集中管理器采用其他协议进行通讯,则API接口单元140中也可包括针对其他协议的标准接口模块。由于API接口为标准接口,因此可以在该接口上开发其他应用程序,具有很好的可拓展性。
以上是本发明所述代理服务器的一个最优实施例,另外,本发明还公开了一种基于上述的代理服务器的代理通讯方法,该方法主要包括四个流程,1、客户端注册或执行基本操作命令的流程;2、客户端注册监听器的流程;3、客户端异步接收数据的流程;4、客户端注销监听器的流程。
参见图3,客户端注册或执行基本操作命令的流程为以下步骤301至步骤315:
步骤301~302:代理服务器上电后,命令数据接口单元110首先初始化其自身数据结构,开启命令通道接口模块112的命令接收端口,准备接收客户端命令;缓冲区管理单元130随后初始化自身缓冲区结构。
本步骤中,如果代理服务器11内置于WEB服务器中,则由WEB服务器完成命令的接收,再将命令交付给代理服务器。
步骤303:客户端10使用标准的HTTP协议封装注册命令请求或基本操作命令请求,并向代理服务器发送该命令请求。
所述命令请求以二进制字节码的方式置于HTTP的内容载体中,且命令请求中的命令代码采用操作符加操作码的基本格式;
步骤304~305:代理服务器11收到命令请求后,由命令通道接口模块112将命令请求中的命令字节码发送给协议解析模块121,协议解析模块121解析出命令字节码中的命令代码,并将该命令代码编码成命令对象,交付给命令处理模块122。命令处理模块122识别命令对象的类型,根据命令对象的类型调用相应的子功能模块进行处理。
此处,如果命令对象是注册命令,则调用注册处理模块接收注册命令并对其进行处理;如果命令对象是基本操作命令,则调用基本操作处理模块并对其进行处理。
步骤306、命令处理模块122控制缓冲区管理单元130中的内存管理模块131开辟内存缓冲区,创建如上述哈希表20所述的内存管理结构;
步骤307~310:缓冲区管理单元启动超时机制,即如果在规定的时间内没有继续收到客户端的命令请求,则删除步骤306所创建的内存管理结构;并为当前请求的客户端分配唯一的ID号,并将客户端ID号以及客户端的基本信息存入到上述创建的哈希表20中,将该客户端ID号返回给命令处理单元120。
步骤311、命令处理单元120判断客户端的命令是否为基本操作命令,如果是,则执行步骤312~313,否则,执行步骤314;
步骤312~313、调用API接口单元140中相应的标准命令接口,即JMX标准接口模块141与集中管理器通讯,该JMX标准接口模块将基本操作命令发送到集中管理器,命令集中管理器对网络设备进行操作,并将集中管理器返回的操作结果组装成命令操作结果对象,返回给命令处理单元120。
步骤314、命令处理单元120将客户端ID和返回的命令操作结果对象组装成规定格式的字节码,或者将客户端ID组装成规定格式的字节码,并将该字节码发送给命令数据接口单元110。
步骤315、命令数据接口单元110将上述字节码返回给客户端10。
由于客户端需要在集中管理器中注册监听器,以便在将来的某个时间接收集中管理器发来的实时信息,所以客户端除了发送注册命令和基本操作命令外,还会发送与监听器相关的命令给代理服务器11,例如发送注册监听器命令或注销监听器命令给代理服务器11。代理服务器11收到注册监听器命令后,首先进行监听器的初始化工作,并在集中管理器12上注册监听器,随后代理服务器11与客户端10建立长TCP连接,将监听到的设备状态数据返回给客户端;代理服务器11收到注销监听器命令后,在集中管理器12上注销监听器。
参见图4,客户端注册监听器的流程包括:
步骤401:客户端10使用标准的HTTP协议封装包括客户端ID的注册监听器命令请求,并向代理服务器11发送该命令请求。
步骤402~403:代理服务器11收到命令请求后,由命令数据接口单元110中的命令通道接口模块112将命令请求中的命令字节码发送给协议解析模块121,协议解析模块121解析出命令字节码中的命令代码,并将该命令代码编码成命令对象,交付给命令处理模块122。命令处理模块122识别命令对象的类型,根据命令对象的类型调用相应的子功能模块进行处理。
此处,命令对象是注册监听器命令,因此调用注册监听器处理模块接收注册命令并对其进行处理。
步骤404、命令处理模块122控制缓冲区管理单元130更新上述内存管理结构中存储的该客户端对应的基本信息;
步骤405~407、缓冲区管理单元130创建一个代理监听器,并将其存在与当前客户端对应的内存管理结构中,随后调用API接口单元140,由API接口单元140在集中管理器12中注册实际的监听器;注册完毕后,向命令处理单元120返回注册结果。
步骤408、命令处理单元120将返回的注册结果组装成规定格式的字节码,发送给命令数据接口单元110。
步骤409、命令数据接口单元110将上述组装成规定格式字节码的注册结果返回给客户端10。
步骤410、客户端10接收操作结果,判断客户端和命令数据接口单元间是否已有建立好的TCP连接,如果有,则利用该建立好的TCP连接接收集中管理器返回的设备状态信息,否则,主动向代理服务器11发送连接请求,建立TCP连接,准备接收集中管理器返回的设备状态信息。
步骤411、命令处理单元120启动异步数据管理功能,即在代理服务器11向客户端返回数据信息的同时,处理当前客户端以及其他客户端发送的命令请求。
本发明中一个客户端10可以重复执行步骤401至步骤411,以注册多个监听器,但是这些监听器所返回的设备状态数据都通过上述建立的一条TCP连接返回给客户端10。
当客户端10在集中管理器12中成功注册了监听器之后,由监听器实时检测被管理的设备,并向代理服务器11实时返回监听到的设备状态数据,代理服务器11再通过所建立的TCP连接向客户端10实时返回监听到的设备状态数据。
参见图5,客户端异步接收数据的流程包括以下步骤501至步骤506:
步骤501:代理服务器11的API接口单元140接收监听到的设备状态数据,并向缓冲区管理单元130返回该设备状态数据。
步骤502~503:缓冲区管理单元130转换设备状态数据的格式,即将状态数据加上包含其所属客户端ID和代理监听器ID的标号,转换为通知代理对象实例25,该通知代理对象实例25中包括设备状态数据和设备状态数据所属代理监听器的ID号,并将该通知代理对象实例25存入到所述的内存管理结构中相应的通知队列23。
步骤504~505:命令数据接口单元110中的异步数据通道接口模块111在自身的线程内实时问询缓冲区管理单元130获取设备状态数据的情况,如果通知队列23中有通知代理对象实例25,则缓冲区管理单元130将其从通知队列23中取出,并向命令数据接口单元110返回通知代理对象实例和该通知代理对象所述客户端ID。
步骤506、异步数据通道接口模块111转换通知代理对象的格式,根据客户端ID找到与该客户端对应的数据连接,并将代理对象中包括的设备状态数据和代理监听器ID通过该数据连接发送给客户端。
当客户端10不再需要监听器时,可以向代理服务器11发送注销监听器命令,以注销监听器。参见图6,客户端注销监听器的流程包括以下步骤:
步骤601、客户端10向代理服务器11发送包括代理监听器ID的注销监听器命令。
步骤602~603、代理服务器11收到命令请求后,由命令数据接口单元110中的命令通道接口模块112将命令请求中的命令字节码发送给协议解析模块121,协议解析模块121解析出命令字节码中的命令代码,并将该命令代码编码成命令对象,交付给命令处理模块122。命令处理模块122识别出命令对象的类型为注销监听器命令,调用注销监听器模块进行处理。
步骤604、命令处理模块122控制缓冲区管理单元130释放与注销命令中代理监听器ID对应的内存空间。
步骤605、缓冲区管理单元130调用API接口单元140,由API接口单元140在集中管理器12中注销指定的监听器,并接收注销结果。
步骤606、缓冲区管理单元130向命令处理单元120返回注销结果。
步骤607、命令处理单元120将返回的注销结果组装成规定格式的字节码,发送给命令数据接口单元110。
步骤608、命令数据接口单元110将上述组装成规定格式字节码的注销结果返回给客户端10。
在实际应用中,代理服务器的部署方式灵活多样,图7展示了其中的一种实际部署方式,参见图7,代理服务器11可以单独设置也可与WEB服务器71设置在一起;客户端10可以直接访问代理服务器11,安装浏览器的客户端72也可通过浏览器访问代理服务器11。代理服务器11与指定的集中管理器12相连,集中管理器12控制它可以管理的各种设备,例如路由器73、交换机74、防火墙75、数据库76等。通过灵活应用部署代理服务器,可以精细划分客户群体,将同类型的客户端部署在同一个代理服务器下,进而更大程度地控制网络设备操作的安全和性能。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉该技术的人在本发明所揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。

Claims (10)

1、一种代理服务器系统,其特征在于,该代理服务器系统连接客户端和集中管理器,该系统包括:
设置于客户端的客户端接口单元,用于客户端与代理服务器之间的通讯;
代理服务器,该代理服务器进一步包括:
命令数据接口单元,用于接收客户端命令并向客户端反馈信息;
命令处理单元,用于解析命令数据接口单元收到的客户端命令,并依据解析出的命令内容输出控制指令或命令;
缓冲区管理单元,用于根据命令处理单元输出的指令在内存缓冲区中创建并存储客户端信息及监听器信息,输出监听器信息,并向命令数据接口单元转发来自集中管理器的设备状态信息;
应用编程接口API单元,与命令处理单元和缓冲区管理单元相连,用于代理服务器与集中管理器之间的通讯,并在集中管理器上注册或注销监听器。
2、如权利要求1所述的代理服务器系统,其特征在于,所述客户端接口单元包括:
命令发送端,用于向代理服务器的命令数据接口单元发送命令,并接收命令数据接口单元返回的命令操作结果;
数据接收端,用于与代理服务器的命令数据接口单元建立连接,并利用该连接接收命令数据接口单元返回的设备状态信息。
3、如权利要求1所述的代理服务器系统,其特征在于,所述命令数据接口单元进一步包括:
异步数据通道接口模块,用于响应客户端的连接请求,并建立连接,向客户端返回来自缓冲区管理单元中实时存储的设备状态信息;
命令通道接口模块,用于转发命令和命令操作结果。
4、如权利要求1所述的代理服务器系统,其特征在于,所述命令处理单元进一步包括协议解析模块和命令处理模块,其中:
协议解析模块,用于接收并解析来自命令通道接口模块的命令,并将解析出的命令内容发送给命令处理模块;
命令处理模块,用于依据解析出的命令内容向缓冲区管理单元输出控制指令或向API接口单元输出命令。
5、如权利要求1所述的代理服务器系统,其特征在于,所述缓冲区管理单元进一步包括内存管理模块、数据格式转化模块和监听器管理模块,其中:
内存管理模块,用于根据命令处理模块的控制指令创建并存储客户端信息和监听器信息,并存储来自集中管理器的设备状态信息;
数据格式转化模块,用于将来自集中管理器的设备状态信息进行格式转换后发送到命令数据接口单元;
监听器管理模块,调用API接口单元向集中管理器发送监听器相关信息,并接收来自集中管理器的设备状态信息。
6、如权利要求1至5任一项所述的代理服务器系统,其特征在于,所述API单元中包括JAVA管理扩展规范JMX标准接口单元,用于与使用JMX通信协议的集中管理器进行通讯。
7、一种利用代理服务器系统进行代理通讯的方法,所述代理服务器系统包括代理服务器和设置在客户端的客户端接口单元,其特征在于,该方法包括:
A、客户端向代理服务器发送命令请求;
B、代理服务器解析收到的命令请求,得到命令的内容;
C、代理服务器为客户端创建内存管理结构,为客户端分配ID号,并在内存管理结构中存储客户端ID号和客户端的基本信息;
D、代理服务器根据解析出的命令内容完成客户端与集中管理器之间通讯的代理操作。
8、如权利要求7所述的方法,其特征在于,所述步骤D包括:
代理服务器根据解析出的命令内容判断命令类型:
如果所述命令为注册命令,则将客户端ID返回给客户端,结束流程;
如果所述命令为基本操作命令,则向集中管理器转发该基本操作命令,并接收集中管理器返回的命令操作结果,将客户端ID和命令操作结果返回给客户端,结束流程;
如果所述命令为注销监听器命令,则释放缓冲区管理单元中存储的代理监听器,并调用API接口单元在集中管理器中注销监听器,结束流程;
如果所述命令为注册监听器命令,则执行以下步骤:
步骤D31、更新存储的客户端基本信息,创建并存储代理监听器,并在集中管理器中注册监听器;
步骤D32、客户端与代理服务器系统之间建立连接;
步骤D33、代理服务器将监听器返回的设备状态信息通过所述建立的连接返回给客户端,结束流程。
9、如权利要求8所述的方法,其特征在于,步骤D32之前,进一步包括:
判断该客户端和代理服务器之间是否有已建立好的连接,如果有,则执行步骤D33;否则,执行步骤D32。
10、如权利要求8或9所述的方法,其特征在于,步骤D33中,代理服务器收到集中管理器返回的设备状态信息后,先将该设备状态信息进行格式转换,再将转换格式后的设备状态信息返回给客户端。
CNB2004100709029A 2004-07-13 2004-07-13 一种代理服务器系统及其实现代理通讯的方法 Expired - Fee Related CN100334834C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2004100709029A CN100334834C (zh) 2004-07-13 2004-07-13 一种代理服务器系统及其实现代理通讯的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2004100709029A CN100334834C (zh) 2004-07-13 2004-07-13 一种代理服务器系统及其实现代理通讯的方法

Publications (2)

Publication Number Publication Date
CN1722663A CN1722663A (zh) 2006-01-18
CN100334834C true CN100334834C (zh) 2007-08-29

Family

ID=35912642

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2004100709029A Expired - Fee Related CN100334834C (zh) 2004-07-13 2004-07-13 一种代理服务器系统及其实现代理通讯的方法

Country Status (1)

Country Link
CN (1) CN100334834C (zh)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101193112B (zh) * 2006-12-01 2010-10-27 华为技术有限公司 一种注册方法和代理服务器
CN101309291B (zh) * 2008-05-30 2011-04-20 中兴通讯股份有限公司 终端数据维护的工具和方法
CN102891873B (zh) * 2011-07-21 2017-02-15 腾讯科技(深圳)有限公司 一种存储日志数据的方法及日志数据存储系统
CN103327040A (zh) * 2012-03-21 2013-09-25 鸿富锦精密工业(深圳)有限公司 代理服务更新系统及方法
CN103905498B (zh) * 2012-12-27 2018-05-18 鼎捷软件股份有限公司 服务信息管理方法及服务信息管理系统
CN103701642A (zh) * 2013-12-23 2014-04-02 国云科技股份有限公司 一种集中管理网络设备的方法
CN104917814B (zh) * 2015-04-21 2018-05-01 浙江大学 一种基于java的网络传输协议转换中间件
CN106325117B (zh) * 2015-06-30 2020-04-10 中兴通讯股份有限公司 一种自动化控制仪表的方法、装置和系统
CN105306442B (zh) * 2015-09-17 2018-12-25 物联智慧科技(深圳)有限公司 代理服务器及其指令传输方法
CN106878467B (zh) * 2017-04-07 2023-06-16 同方威视技术股份有限公司 远程控制设备的方法及远程控制系统
CN108270876B (zh) * 2018-03-30 2021-03-09 卡斯柯信号有限公司 一种信号系统中代理服务器的实现方法
CN111177718A (zh) * 2019-07-17 2020-05-19 腾讯科技(深圳)有限公司 命令的执行方法及装置
CN111459632B (zh) * 2020-03-30 2022-09-23 南京邮电大学 一种供终端应用程序调用的串口代理及实现方法
CN113835756B (zh) * 2021-09-28 2024-09-10 深圳大普微电子科技有限公司 主机命令解析方法和装置、固态硬盘控制器、固态硬盘
CN114978743B (zh) * 2022-06-08 2023-07-18 杭州指令集智能科技有限公司 一种跨网络段的服务通信系统
CN115865886B (zh) * 2022-11-28 2023-07-18 灵犀科技有限公司 一种基于http的跨网络数据交互方法和装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11167535A (ja) * 1997-10-28 1999-06-22 Hitachi Ltd プログラム配布方法
EP0943992A2 (en) * 1998-03-20 1999-09-22 International Business Machines Corporation A system and method for operating scientific instruments over wide area networks

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11167535A (ja) * 1997-10-28 1999-06-22 Hitachi Ltd プログラム配布方法
EP0943992A2 (en) * 1998-03-20 1999-09-22 International Business Machines Corporation A system and method for operating scientific instruments over wide area networks

Also Published As

Publication number Publication date
CN1722663A (zh) 2006-01-18

Similar Documents

Publication Publication Date Title
CN100334834C (zh) 一种代理服务器系统及其实现代理通讯的方法
CN109391500B (zh) 一种配置管理方法、装置及设备
CN1649324B (zh) 操作带有代理的开放api网络的方法和装置
US20110292936A1 (en) Method and System for Transmitting Multichannel Data Packets
US8856635B2 (en) Loader and provider configuration for remotely provided services
CN102377685B (zh) 一种订阅消息的发送系统以及订阅消息的发送方法
CN102469064B (zh) 通信实现方法及通信设备
US8488448B2 (en) System and method for message sequencing in a broadband gateway
KR20030007816A (ko) 응용프로그램 및 서비스 서버 관리를 위한 프로토콜독립형 제어 모듈을 이용한 매체 세션 틀
WO2006110983A1 (en) System and method for accessing multiple data sources by mobile applications
CN102065136B (zh) 一种p2p网络安全数据传输方法及其系统
CN105260842B (zh) 异构erp系统之间的通信方法和系统
CN113572864B (zh) 一种数据处理方法、网元设备以及可读存储介质
US20020099858A1 (en) Network communications protocol
CN113572835A (zh) 一种数据处理方法、网元设备以及可读存储介质
CA2397114A1 (en) Communications network
CN116405547A (zh) 消息推送方法、装置及处理器、电子设备、存储介质
WO2022126837A1 (zh) 视频监控服务智能调度系统
CN101621530B (zh) 基于光路共享的负载均衡网络资源调度方法及其装置
WO2007006860A1 (en) Method and device arrangement for managing a user application/device management server/client device environment
KR100773778B1 (ko) 멀티캐스트 방식의 분산 서버 제어 방법 및 그 시스템
CN1147094C (zh) 通过路由器实现桥接报文的接收和发送方法
CN112165529A (zh) 一种低成本跨网络数据交换的方法、装置、设备和介质
MXPA05003667A (es) Metodo y aparato para sistema de integracion de servicio.
CN112910941B (zh) 跨系统动态重组的方法和系统

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

Termination date: 20200713

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