一种对自助柜机和自助系统的监控管理方法转让专利

申请号 : CN201010624586.0

文献号 : CN102130944B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 蒋立华李晖薛志兵

申请人 : 中国民航信息网络股份有限公司

摘要 :

本发明提供一种对自助柜机和自助系统的远程统一监控管理方法,采用协议代理技术,反向穿越防火墙;同时采用分级方法,分减了各监控结点的压力;扩展了IATA标准接口,增加设备监控能力;远程监控管理,根据严重程度,对监控到的风险、问题以不同的颜色、声音、提示消息,同时辅以邮件、短信等多种方式进行警示,并提供了远程解决问题的方法,使风险、问题得以及时处理解决;柜机和业务数据的统计分析,为不同用户提供了多角度的业务分析依据;统一部署和控制,在中心就能实现对柜机软硬件的控制。

权利要求 :

1.一种对自助柜机和自助系统的监控管理方法,其特征在于,所述方法采用协议代理技术,反向穿越防火墙;

采用分级方法,分减了各监控结点的压力;

扩展IATA标准接口,增加设备监控能力;

远程监控管理,根据严重程度,对监控到的风险、问题以不同的颜色、声音、提示消息,并以邮件、短信进行警示;

进行柜机和业务数据的统计分析,为不同用户提供多角度的业务分析依据;统一部署和控制,在中心就实现对柜机软硬件的控制;

所述监控管理方法还包括:

对IATA标准中应用监控和管理模块进行改造,把和自助系统的corba连接模块前移到柜机上,使corba连接发生在柜机本地,避免端口和机场本地防火墙的冲突;

扩展前移模块,使之通过套接字协议能和柜机管理服务器、CUSS平台通讯,根据机场的防火墙灵活布置,远程监控柜机的软硬件运行状态;

所述前移模块执行柜机管理服务器特定命令,所述命令覆盖了IATA的SMI标准,有效扩展了柜机管理服务器的管理能力,达到管理柜机软硬件的功能;

为了监控硬件设备的状态,CUSS平台在捕获到设备事件的时候,抄送一份给协议代理模块。

2.根据权利要求1所述的监控管理方法,包括如下步骤:步骤一:实现CUSS平台扩展,把设备事件通过socket端口发送到协议代理模块;实现协议代理模块,把IATA标准corba接口转换为自定义的socket接口的功能;实现柜机管理服务器,能够对柜机的应用和设备进行管理,并具有分级管理的能力;

步骤二:协议代理模块监控到CUSS平台和柜机管理服务器启动,通过socket向柜机管理服务器发起登陆请求;

步骤三:柜机管理服务器接收请求,向协议代理模块发送登陆CUSS平台的一系列命令;

步骤四:协议代理模块向CUSS平台和柜机管理服务器分别登陆成功后,CUSS平台扩展模块就能够通过socket向协议代理模块发送连接请求,由协议代理模块进行转换并发送给柜机管理服务器,整个通讯连接成功;

步骤五:CUSS平台扩展模块通过socket向协议代理模块发送设备事件; 步骤六:CUSS平台通过IATA标准SMI接口,通过corba向协议代理模块发送应用事件;

步骤七:协议代理模块把来自corba端口的应用事件转换为socket事件;

步骤八:协议代理模块发送socket事件给柜机管理服务器的Socket服务器端;

步骤九:socket服务器端处理事件,把事件内容保存到数据库;

步骤十:下级柜机管理服务器定时发送相关信息给上级柜机管理服务器;

步骤十一:上下级柜机管理服务器都能够通过各自的WEB服务器,在浏览器上把柜机的应用和设备事件展示给用户。

3.根据权利要求2所述的监控管理方法,其中,在所述步骤一,CUSS平台扩展模块能够通过在CUSS平台的设备控制接口模块,把设备状态变化发送出来,另外实现一个socket客户端,通过该客户端把设备事件发送给协议代理模块,在这种情况下,CUSS平台和协议代理模块之间是socket客户端和服务器的关系。

4.根据权利要求2所述的监控管理方法,其中,所述协议代理模块:a)作为一个socket客户端,向服务端发送socket事件;

b)作为一个corba客户端,以IATA标准SMI接口的方式访问CUSS平台,对于CUSS平台而言,所述协议代理模块将会是一个运行在本地的系统服务供应商管理系统;

c)运行本地批处理命令;

d)进行windows桌面控制;

e)监控socket和corba服务端运行;

f)作为一个socket服务器端,接收本机CUSS平台发送来的socket事件。

5.根据权利要求2所述的监控管理方法,其中,所述柜机管理服务器包括两个部分:socket服务器和Web服务器。

6.根据权利要求2所述的监控管理方法,其中,所述socket服务器:a)处理协议代理模块的登陆请求,并为协议代理模块保持长连接;

b)处理协议代理模块发送来的事件信息,根据数据库中柜机的配置,把这些事件分类,并保存在数据库中,同时,把应用事件和应用状态码进行对应,把设备事件和设备状态码进行对应,根据应用状态码和设备状态码,计算出柜 机的状态码,保存在内存中;

c)向协议代理模块发送命令,要求协议代理模块执行登陆CUSS平台,执行批处理命令。

7.根据权利要求2所述的监控管理方法,其中,所述WEB服务器:a)进行系统监控,包括子WEB服务器、柜机、应用和设备的监控;

b)进行用户管理;

c)进行系统管理,包括航空公司、子柜机管理服务器、柜机组、IP授权管理;

d)进行统计查询,包括应用统计,柜机统计,设备统计;

e)进行日志查询,包括操作日志,系统日志,应用日志,设备日志,升级日志查询。

8.根据权利要求2所述的监控管理方法,其中,所述步骤二:在协议代理模块实现两个定时访问socket和corba端口的模块,通过这两个模块监控socket服务器端和CUSS平台的运行状况,任意一方启动,协议代理模块都会发起登陆socket服务器操作,对于socket服务器的登录,遵循自定义的登录机制,发送登陆请求。

9.根据权利要求2所述的监控管理方法,其中,所述步骤三:柜机管理服务器的socket服务处理登陆请求,如果协议代理模块是合法的,就向协议代理模块发送登陆CUSS平台的请求;

对于CUSS平台登陆,协议代理模块遵循IATA标准。

10.根据权利要求2所述的监控管理方法,其中,所述步骤五:CUSS平台发给协议代理模块的事件使用socket事件,该事件能够直接通过协议代理模块发送给柜机管理服务器。

11.根据权利要求2所述的监控管理方法,其中,所述步骤六:CUSS平台发给协议代理模块的是IATA标准的corba事件,所述事件不能直接通过协议代理模块的socket接口发送给柜机管理服务器。

12.根据权利要求2所述的监控管理方法,其中,所述步骤七:所述把来自corba端口的应用事件转换为socket事件,只需要把应用名称、 应用状态从应用事件中提取出来即可,无需转换应用事件对象中的所有数据。

13.根据权利要求2所述的监控管理方法,其中,所述步骤九:所述socket服务器端使用长连的机制和协议代理模块连接,有效的穿透防火墙的限制。

14.根据权利要求2所述的监控管理方法,其中,所述步骤十:所述相关信息是本柜机管理服务器管理的所有柜机的运行状态,包括:本柜机管理服务器和协议代理模块是否连接、柜机应用运行状态、柜机设备运行状态。

15.根据权利要求2至14任一所述的监控管理方法,其中,所述各步骤中使用的socket通讯,都遵循同一种通讯协议,传输的内容包括:消息头,消息类型,消息标识,消息触发方法名称,触发方法参数类型,触发方法参数内容,触发方法返回值,批处理消息反馈信息序号,批处理消息反馈信息内容,CUSS平台状态信息,消息结束标识。

说明书 :

一种对自助柜机和自助系统的监控管理方法

技术领域

[0001] 本发明涉及一种对自助柜机和自助系统的监控管理方法,用于远程统一监控管理自助柜机和自助系统,本发明的方法采用分级方法,分减了各监控结点的压力。

背景技术

[0002] 随着自助值机系统的广泛推广,对自助系统的管理越来越重要,由于自助柜机的特殊性,一般都处于无人监控的状态,要求尽可能的可靠;加上为了尽可能利用柜机的硬件资源的需求的驱动,越来越多的航空公司自助服务软件会运行在同一台柜机上,这就要求各个软件对硬件资源有效共享,不能冲突。基于这些需要IATA(国际航协)提出了CUSS平台(Common Use Self Service自助柜机服务),作为应用和硬件之间的中间件,以用于解决自助柜机硬件共享以及软硬件管理方面的问题。但是该标准对柜机的远程监控和管理只是作了简单的描述,仅涉及到自助应用状态的管理,没有设备管理措施,也没有对柜机文件的管理。另外,IATA的自助平台管理接口是基于corba(Common Object Request Broker Architecture公共对象请求代理体系结构)技术,并且运行于20001网络端口上,在很多机场由于网络防火墙限制,IATA的接口无法正常运行。
[0003] 对此,发明人提出了一种对自助柜机和自助系统监控和管理的方法,作为国际标准的扩展,用来监控和管理自助柜机和自助系统,以方便用户对分布于机场的自助柜机和自助系统进行集中管理,并且能够穿透机场网络限制。
[0004] 目前,国际上同类型的产品有IER,IBM,NCR等厂商提供的自助管理系统。现有的这些系统主要有以下缺点:有的受限于机场网络防火墙,实际环境中无法使用;有的是基于胖客户端,监控用户数量和监控地点受到限制;有的虽然基于WEB,但是监控能力很弱,甚至不具有控制能力;监控效果不直观;有的虽然具有一定的监控能力,但是没有部署和分发能力,或者较为繁琐;这些系统也有一个共同的问题,没有对系统进行分级管理,导致远程柜机通讯成本高,速度慢,可扩展性低。

发明内容

[0005] 为了解决上述问题,本发明人提出一种对自助柜机和自助系统的监控和管理方法:
[0006] 对自助柜机和自助系统的远程统一监控管理方法,采用协议代理技术,反向穿越防火墙;同时采用分级方法,分减了各监控结点的压力;扩展了IATA标准接口,增加设备监控能力;远程监控管理,根据严重程度,对监控到的风险、问题以不同的颜色、声音、提示消息,同时辅以邮件、短信等多种方式进行警示,并提供了远程解决问题的方法,使风险、问题得以及时处理解决;柜机和业务数据的统计分析,为不同用户提供了多角度的业务分析依据;统一部署和控制,在中心就能实现对柜机软硬件的控制。
[0007] 本发明的对自助柜机和自助系统的监控和管理方法的工作原理是:对IATA标准中应用监控和管理模块进行改造,把和自助系统的corba连接模块前移到柜机上,使corba连接发生在柜机本地,这样就避免了端口和机场本地防火墙的冲突;另外扩展前移模块,使之通过套接字协议(socket)能和柜机管理系统(Kiosk Management System简称KMS)、CUSS平台通讯,这样就能根据机场的防火墙灵活布置;通过这种方式可以实现在远程监控柜机的软硬件运行状态。同时,前移模块具有了执行KMS特定命令的能力,这些命令覆盖了IATA的SMI(System Management Interface简称SMI)标准,而且还能执行其他命令,如批处理等,这样就有效的扩展了KMS的管理能力,达到管理柜机软硬件的功能。另外,为了监控硬件设备的状态,需要CUSS平台扩展这部分能力,即在捕获到设备事件的时候,抄送一份给Agent即可。
[0008] 本发明的对自助柜机和自助系统的监控和管理方法包括如下步骤:
[0009] 步骤一:实现CUSS平台扩展,把设备事件通过socket端口发送到Agent;实现办议代理模块(Agent),把IATA标准corba接口转换为自定义的socket接口的功能;实现柜机管理服务器(KMS),能够对柜机的应用和设备进行管理,并具有分级管理的能力。
[0010] 步骤二:Agent监控到CUSS平台和KMS启动,通过socket向KMS发起登陆请求。
[0011] 步骤三:KMS接收请求,向Agent发送登陆CUSS平台的一系列命令。
[0012] 步骤四:Agent向CUSS平台和KMS分别登陆成功后,CUSS平台扩展模块就可以通过socket向Agent发送连接请求,由Agent进行转换并发送给KMS,整个通讯连接成功。
[0013] 步骤五:CUSS平台扩展模块通过socket向Agent发送设备事件。
[0014] 步骤六:CUSS平台通过IATA标准SMI接口,通过corba向Agent发送应用事件。
[0015] 步骤七:Agent把来自corba端口的应用事件转换为socket事件。
[0016] 步骤八:Agent发送socket事件给KMS的Socket服务器端。
[0017] 步骤九:Socket服务器端处理事件,把事件内容保存到数据库。
[0018] 步骤十:下级KMS服务器定时发送相关信息给上级KMS服务器。
[0019] 步骤十一:上下级KMS都可以通过各自的WEB服务器,在浏览器上把柜机的应用和设备事件展示给用户。
[0020] 根据本发明的对自助柜机和自助系统的监控和管理方法,其中,步骤一中CUSS平台扩展模块可以通过在CUSS平台的设备控制接口(DCI)模块中,把设备状态变化发送出来,另外实现一个socket客户端,通过该客户端把设备事件发送给Agent。在这种情况下,CUSS平台和Agent之间是socket客户端和服务器的关系。
[0021] 协议代理模块Agent具备以下能力:
[0022] a)作为一个socket客户端,向服务端发送socket事件
[0023] b)作为一个corba客户端,以IATA标准SMI接口的方式访问CUSS平台,对于CUSS平台而言,Agent将会是一个运行在本地的系统服务供应商管理系统(IATA System provider managcr简称SPM)。
[0024] c)具有运行本地批处理命令的能力
[0025] d)具有windows桌面控制能力
[0026] e)socket和corba服务端运行状态监控能力
[0027] f)作为一个Socket服务器端,接收本机CUSS平台发送来的socket事件。
[0028] 柜机管理服务器KMS,包括两个部分,一个Socket服务器端,一个Web服务器。
[0029] socket服务器具备以下功能:
[0030] a)处理Agent的登陆请求,并为Agent保持长连接
[0031] b)处理Agent发送来的事件信息,根据数据库中柜机的配置,把这些事件分类,并保存在数据库中。同时,把应用事件和应用状态码进行对应,把设备事件和设备状态码进行对应,根据应用状态码和设备状态码,计算出柜机的状态码。这些状态码,保存在内存中。
[0032] c)向Agent发送命令,要求Agent执行登陆CUSS平台,执行批处理命令等功能。
[0033] web server主要有以下功能:
[0034] a)系统监控,包括子web server(KMS)、柜机、应用和设备的监控。
[0035] b)用户管理。
[0036] c)系统管理,包括航空公司、子KMS、柜机组、IP授权等管理。
[0037] d)统计查询,包括应用统计,柜机统计,设备统计。
[0038] e)日志查询,包括操作日志,系统日志,应用日志,设备日志,升级日志等查询。
[0039] 参看图5KMS功能模块图。
[0040] 根据本发明的对自助柜机和自助系统的监控和管理方法,其中,步骤二中在Agent实现两个定时访问socket和corba端口的模块,通过这两个模块监控Socket服务器端和CUSS平台的运行状况,任意一方启动,Agent都会发起登陆socket服务器操作,对于socket server的登录,遵循自定义的登录机制(如以IP+密码认证),发送login请求。
[0041] 根据本发明的对自助柜机和自助系统的监控和管理方法,其中,步骤三KMS的socket服务处理login请求,如果Agent是合法的(可以通过IP+密码来验证),就向Agent发送登陆CUSS平台的请求。对于CUSS平台登陆,Agent必须遵循IATA标准,通过level,components,generateEvent,queryEvent,registerEvent,waitEvent一系列方法(这些方法都是IATA标准规定的函数级方法)。由于CUSS平台登陆是通过一系列IATA标准接口实现的,所以Socket服务器端和Agent之间会有多次通讯。登陆成功后,Agent就可以收集CUSS平台的应用事件。加上步骤一CUSS平台发送给Agent的设备事件,Agent就完成了整个柜机应用和设备事件的收集工作,Agent可以把这些事件转发给socket服务器。
[0042] 根据本发明的对自助柜机和自助系统的监控和管理方法,其中,步骤五CUSS平台发给Agent的事件使用socket事件,该事件可以直接通过Agent发送给KMS。
[0043] 根据本发明的对自助柜机和自助系统的监控和管理方法,其中,步骤六CUSS平台发给Agent的是IATA标准的corba事件,具体的可以参考IATA文档。该事件不能直接通过Agent的socket接口发送给KMS。
[0044] 根据本发明的对自助柜机和自助系统的监控和管理方法,其中,步骤七所要求的Agent把步骤六发来的corba事件转换为socket事件,这里只需要把应用名称,应用状态从corba事件中提取出来即可,不需要转换corba事件对象中的所有数据。
[0045] 根据本发明的对自助柜机和自助系统的监控和管理方法,其中,步骤九中Socket服务器端必须使用长连的机制和Agent连接,只有这样才能有效的穿透防火墙的限制。
[0046] 根据本发明的对自助柜机和自助系统的监控和管理方法,其中,步骤十中发送相关信息主要是本KMS管理的所有柜机的运行状态,包括:本KMS和Agent是否连接,柜机应用运行状态,柜机设备运行状态。
[0047] 根据本发明的对自助柜机和自助系统的监控和管理方法,其中,以上所述各步骤中使用的socket通讯,都遵循同一种通讯协议,传输的内容包括但不限于:消息头,消息类型,消息标识,消息触发方法名称,触发方法参数类型,触发方法参数内容,触发方法返回值,批处理消息反馈信息序号,批处理消息反馈信息内容,CUSS平台状态信息,消息结束标识等。

附图说明

[0048] 参照如下附图将更加易于理解本发明:
[0049] 图1应该为本发明对自助柜机和自助系统的监控和管理方法的总体流程图;
[0050] 图2所示为监控管理方法技术结构方框图;
[0051] 图3所示为KMS系统和柜机示意图;
[0052] 图4所示为KMS分级管理示意图;
[0053] 图5所示为KMS功能模块方框图图;
[0054] 图6所示为KMS和Agent通讯示意方框图。

具体实施方式

[0055] 本发明方法涉及的硬件组成有安装在机场的柜机管理服务器(Airport KMS,简称子KMS);安装在机场的FTP服务器(Airport FTP,简称AFTP),如果有分层管理,还会包括安装在中心的柜机管理服务器(Root KMS,简称父KMS);安装在中心的FTP服务器(Root FTP,简称RFTP),以上硬件需要在机场新增。安装在机场的自助柜机(Kiosk)是需要被监控的设备,可以被安装在机场的值机柜台前。整体部署结构如图3,4所示。
[0056] 自助柜机、机场柜机管理服务器、机场FTP服务器在同一机场网络内,相互之间可以访问。机场柜机管理服务器和中心柜机管理服务器通过机场间网络进行通讯,可以相互访问。
[0057] 自助柜机上的自助平台(CUSS)通过柜机上的Agent,把柜机上的设备和应用状态发送给机场柜机管理服务器。机场柜机管理服务器经过汇总,把所辖柜机的信息发送给中心柜机管理服务器。
[0058] 我们以下具体环境为例说明如何使用本发明方法对柜机进行监控和管理。
[0059] 环境说明:
[0060] 机场有多台柜机,其中一台柜机(名称为KIOSK27)的硬件环境为:有一台自动出票和登机ATB(Automatic Ticketing and Boarding)打印机;一台磁卡阅读器;柜机分为上下柜体,分别有一个感应器来识别柜门是否打开;一个登机牌感应器,用来确定登机牌是否充足。柜机的软件环境为windows操作系统,基于IATA CUSS1.0标准的平台,一个值机应用。在平台中,对ATB打印机定义名称SMKBPrinter;对上门感应器定义名称为UpDoorSensor;对下门感应器定义名称为DownDoorSensor;对磁卡阅读器定义名称为CardReader;对登机牌感应器定义名称为MediaSensor;对值机应用名称定义为ANGELCUSSCA。
[0061] 机场有现成的FTP服务器。
[0062] 参见图1,具体说明如何实现对上述机场环境中的柜机进行监控和管理。
[0063] 步骤一、实现CUSS平台扩展,把设备事件通过socket端口发送到Agent;实现协议代理模块(Agent),把IATA标准corba接口转换为自定义的socket接口的功能;实现柜机管理服务器(KMS),能够对柜机的应用和设备进行管理,并具有分级管理的能力。
[0064] CUSS平台扩展模块可以通过在CUSS平台的设备控制接口(DCI)模块中,把设备状态变化发送出来,另外实现一个socket客户端,通过该客户端把设备事件发送给Agent。在这种情况下,CUSS平台和Agent之间是socket客户端和服务器的关系。由于socket连接发生在本机,socket端口只要不与当前正在运行的程序冲突,可以任意设定一个,比如
40000。
[0065] 参见图2,协议代理模块Agent具备以下能力:
[0066] a)作为一个socket客户端,向服务端发送socket事件
[0067] b)作为一个corba客户端,以IATA标准SMI接口的方式访问CUSS平台,对于CUSS平台而言,Agent将会是一个运行在本地的系统服务供应商管理系统(IATA System provider manager简称SPM)。
[0068] c)具有运行本地批处理命令的能力
[0069] d)具有windows桌面控制能力,该技术仅能在支持多桌面技术的windows操作系统上实现。
[0070] e)socket和corba服务端运行状态监控能力,利用两个定时访问socket和corba端口的模块即可实现。
[0071] f)作为一个Socket服务器端,接收本机CUSS平台发送来的socket事件。
[0072] 柜机管理服务器KMS,包括两个部分,一个Socket服务器端,一个Web服务器。
[0073] socket服务器具备以下功能:
[0074] a)处理Agent的登陆请求,并为Agent保持长连接
[0075] b)处理Agent发送来的事件信息,根据数据库中柜机的配置,把这些事件分类,并保存在数据库中。同时,把应用事件和应用状态码进行对应,把设备事件和设备状态码进行对应,根据应用状态码和设备状态码,计算出柜机的状态码。这些状态码,保存在内存中。
[0076] c)向Agent发送命令,要求Agent执行登陆CUSS平台,执行批处理命令等功能。
[0077] web server主要有以下功能:
[0078] a)系统监控,包括子web server(KMS)、柜机、应用和设备的监控。
[0079] b)用户管理。
[0080] c)系统管理,包括航空公司、子KMS、柜机组、IP授权等管理。
[0081] d)统计查询,包括应用统计,柜机统计,设备统计。
[0082] e)日志查询,包括操作日志,系统日志,应用日志,设备日志,升级日志等查询。
[0083] KMS还需要一个本地数据库进行支撑,主要内容包括:
[0084] a)柜机相关内容:柜机数据库标识,名称,IP,柜机应用名称,柜机上设备的名称,通讯端口,socket登陆密码,柜机当前连接状态。
[0085] b)上下级KMS相关内容:上下级KMS的名称,IP,通讯端口 ,socket登陆密码。
[0086] c)设备事件:柜机数据库标识,柜机名称,设备名称,设备状态,时间。
[0087] d)应用事件:柜机数据库标识,柜机名称,应用名称,应用状态,时间。
[0088] 参看图5,KMS功能模块图。
[0089] 在这个步骤中,使用到的技术包括socket通讯,程序中运行批处理命令,建设web服务器都是比较成熟的技术。windows桌面控制技术必须在支持多桌面的windows操作系统上实现,比如winXP等。
[0090] 步骤二:启动Agent,KMS,CUSS平台,Agent监控到CUSS平台和KMS启动,通过socket向KMS发起登陆请求。在启动这些模块之前,需要对各个部分进行配置,保证通讯能力。
[0091] 对机场柜机管理服务器(如名称为KMS1)作配置,利用柜机管理模块,把上述柜机的:名称、IP、柜机上的应用名称、柜机上的设备名称、登陆密码,都配置到数据库中。如部署环境所示,对ATB打印机定义名称SMKBPrinter;对上门感应器定义名称为UpDoorSensor;对下门感应器定义名称为DownDoorSensor;对磁卡阅读器定义名称为CardReader;对登机牌感应器定义名称为MediaSensor;对值机应用名称定义为ANGELCUSSCA。
[0092] 该机场柜机管理服务器的通讯端口根据机场实际环境而定,比如为777。如果有上下级柜机管理服务器,还需要对上下级柜机管理服务器进行配置:上下级柜机管理服务器名称、IP、登陆密码。
[0093] 对Agent进行配置,设定机场柜机管理服务器的IP、端口、本柜机名称(KIOSK27)、登陆密码。
[0094] 启动Agent,可以作为伺服程序,一直运行在柜机上。Agent通过端口监控模块可以监控到Socket服务器端和CUSS平台的运行状况,任意一方启动,Agent都会发起登陆socket服务器操作,对于socket server的登录,遵循自定义的登录机制(如以IP+密码认证),发送login请求。
[0095] CUSS平台启动后,Agent的corba端口监控模块自动侦测corba端口被启动,Agent把平台启动信息放在向Socket服务器端登陆事件发送给机场柜机管理服务器的Socket服务器端模块。如果此时KMS的Socket服务器端没有启动,Agent的socket端口监控程序持续监控,直到KMS的Socket服务器端启动,再发起登陆服务器事件。
[0096] 步骤三、KMS接收请求,向Agent发送登陆CUSS平台的一系列命令。如果Agent是合法的(可以通过IP+密码来验证),就向Agent发送登陆CUSS平台的请求。对于CUSS平台登陆,Agent必须遵循IATA标准,通过level,components,generateEvent,queryEvent,registerEvent,waitEvent一系列方法(这些方法都是IATA标准规定的函数级方法)。由于CUSS平台登陆是通过一系列IATA标准接口实现的,所以Socket服务器端和Agent之间会有多次通讯,每一次Agent调用CUSS平台接口成功,Agent都应该把该corba返回事件,转换为socket事件,返回给KMS。为了保证通讯的效率,KMS和Agent之间的命令调用采用异步模式较好。
[0097] 登陆成功后,Agent把本地目录等信息一起返回给socket服务器,同时开始收集CUSS平台的应用和设备事件。
[0098] 整个流程请参考图6,图中所有的英文,除了getDirectory是自定义的获取目录的方法,该方法返回CUSS平台工作目录下的文件结构。其他都是IATA规定的函数方法,整个登陆过程遵循IATA规范,在此不再详述。
[0099] 步骤四、Agent向CUSS平台和KMS分别登陆成功后,CUSS平台扩展模块就可以通过socket向Agent发送连接请求,其中的Socket事件,Agent可以直接转发给KMS;应用事件来自corba接口,由Agent进行转换并发送给KMS,至此整个通讯连接成功。由于socket请求的发起方是Agent,并且通讯为长连接,所以防火墙不会对通讯造成影响。
[0100] 如部署环境所述,当柜机上某一个设备故障,如打印机SMKBPrinter掉电,CUSS平台会得到打印机的状态变化信息,这时CUSS平台应该通过本地socket事件通知Agent,事件中将会有打印机名称SMKBPrinter,以及答应及状态POWER_OFF;同时,由于该设备状态还会影响到应用的状态,导致应用ANGELCUSSCA处于不可用UNAVAILABLE状态(此状态为IATA标准状态),CUSS平台会通过IATA标准中规定的回调函数registerEvent把该应用状态返回给Agent,corba事件对象中会有应用名称ANGELCUSSCA和应用状态AVAILABLE_UNAVAILABLE,表示该应用从可用变成不可用。
[0101] 步骤五、CUSS平台扩展模块通过socket向Agent发送设备事件。该步骤实现的时候要有缓冲机制,由于CUSS平台和Agent之间的通讯要快于Agent和KMS之间的通讯,因此要确保设备事件不会丢失。
[0102] 步骤六、CUSS平台通过IATA标准SMI接口,通过corba端口registerEvent方法向Agent发送应用事件。
[0103] 步骤七、Agent把来自corba端口registerEvent方法的应用事件转换为socket事件。这里只需要把应用名称,应用状态从corba事件中提取出来即可,不需要转换corba事件对象中的所有数据。
[0104] 步骤八、Agent发送socket事件给KMS的Socket服务器端,这里既包括设备事件也包括转换后的应用事件。该步骤是采用的socket通讯技术是成熟技术,不再详述。需要注意的是,这里同样需要注意双方的缓冲机制。
[0105] 步骤九、Socket服务器端处理事件,把事件内容保存到数据库。Socket服务器端根据事件中的柜机名称、IP、应用名称、设备名称识别出需要处理的事件类型,利用事件中的应用或者设备状态,更新数据库中应用或者设备的状态。
[0106] 步骤十、下级KMS服务器定时发送相关信息给上级KMS服务器。
[0107] 上下级之间通讯参考Agent和Socket服务器端通讯机制,只需在下级管理服务器上实现Agent的socket通讯客户端模块即可。
[0108] 发送相关信息主要是本KMS管理的所有柜机的运行状态,包括:本KMS和Agent是否连接,柜机应用运行状态,柜机设备运行状态。
[0109] 步骤十一、上下级KMS都可以通过各自的的WEB服务器,在浏览器上把柜机的应用和设备事件展示给用户。WEB服务器需要从数据库中装载柜机、柜机上应用、柜机上设备的相关信息,把这些信息转换为用户容易理解的信息展现出来。
[0110] 展现的方式有很多种,如通过声光电等方式告知用户柜机状态。用户可以通过监控界面看到该柜机的整体情况、应用情况、设备情况。如使用绿色柜机图标表示通讯成功,但是图标上下部分都有红色,表示应用和设备错误;进入柜机详细监控界面,可以使用红色图标表示应用ANGELCUSSCA故障,状态详细信息为UNAVAILABLE;可以使用一个红色闪电图标表示设备断电,状态详细信息为POWER_OFF。
[0111] 利用WEB服务器展示本地数据库中的信息有很多种实现方法,也比较成熟,实现的时候根据用户的数量自行选择实现技术。
[0112] 为了保证实现效率和可扩展性,以上各步骤中使用的socket通讯,都遵循同一种通讯协议,传输的内容包括但不限于:消息头,消息类型,消息标识,消息触发方法名称,触发方法参数类型,触发方法参数内容,触发方法返回值,批处理消息反馈信息序号,批处理消息反馈信息内容,CUSS平台状态信息,消息结束标识等。
[0113] 另外,为了实现统一升级和管理。通过Socket服务器端,可以向特定的柜机发送各种命令,如重启柜机,重启平台,升级特定文件,升级特定目录等工作。只需要实现编写好这些批处理文件,让Socket服务器端发送给Agent即可。主要逻辑可以包括:停止柜机、启动Agent桌面控制模块、从ftp下载文件、验证ftp文件的有效性、拷贝或者覆盖文件到指定的升级目录。
[0114] Agent的命令执行模块会执行这些批处理,并返回批处理的执行结果,用户通过查看执行结果可以监控升级和管理的具体情况。
[0115] 批处理命令编写和Agent截获批处理命令执行结果的方法都很成熟,唯一需要注意的是有的时候批处理命令执行果可能会很长,所以需要对这些执行结果进行压缩,或者分批次返回Socket服务器端。
[0116] 至此我们就使用监控管理方法实现了对柜机的监控和管理。 可以有效的穿越机场防火墙限制,实现分级对柜机统一监控、部署、启停等工作。