马俊平 袁慧 孟浩华 金波
摘 要:随着信息时代的来临,众多企业间的数据通信需求越来越大,但以往的信息资源管理系统无论在软硬件方面还是在指令集方面往往自成体系,仅留下有限带宽的端口与外界相连,形成了众多类似于信息孤岛的独立系统,若要将这些系统有机的结合起来,成为一个地域分散但管理集中的高效资源管理系统是非常困难的。而WBEM(Web Based Enterprise Management)和CIM(Common Information Model)的出现则很好的解决了这一问题,目前已经成为了企业信息统一资源管理的标准。在WBEM和CIM框架的基础上构建了网络资源管理系统模型,并详细分析了该模型下的各个具体功能需求,最终对以往的资源管理系统进行了优化,设计出一款新型高效的基于WBEM的网络资源管理系统,较好的满足了企业级的信息管理需求,具有一定的经济价值和社会价值。
关键词:WBEM;分布式;网络资源;公共信息模型
中图分类号: TN948.61 文献标志码:A
文章编号:1672-1098(2017)05-0070-07
Abstract:With the advent of the information age, the demand for data communication among many enterprises increased greatly. Previous information resources management system both in hardware and software aspects or in the instruction set often self-contained, leaving only a limited bandwidth port connected with the outside world. Finally, many independent system which similar to the information island were established. It is very difficult to combine these systems organically and build a regional decentralized but highly efficient resource management system for centralized management. The emergence of WBEM(Web Based Enterprise Management)and CIM(Common Information Model)is a very good solution to this problem ,which has become a unified enterprise information resource management standards. Based on the framework of WBEM and CIM, this paper constructs a network resource management system model, and analyzes the specific functional requirements of the model in detail. On the basis of these studies, this paper designs a network resource management system based on WBEM, which has a certain economic value and social value by meet the needs of enterprise information management.
Key words:WBEM;Distributed;Network resource;Public information model
目前我国企业,尤其是大中型企业,已经基本实现了从数据采集到数据存储、管理乃至调用的数字化改造。大量的数据、图表、视频资料均在各个企业内部得到了有效的利用,极大的提高了企业的运作效率和竞争力,从而推动了我国生产力的发展。但随着信息储量的逐渐增大,以及随着企业间商业交流程度的逐渐加深,原先属于各个企业内部的信息却很难同其他企业实现共享,更谈不上统一调配和管理,其原因主要在于两点,首先是原先各个企业在搭建信息系统时所采用的设备间存在差异,导致了兼容性问题;其次是之前各个企业所使用的信息管理系统各成体系,执行的标准和规范也各不相同,因此导致彼此间的数据共享也存在较大的障碍[1]。为了解决这一逐渐凸显的问题,则必须要建立企业间资源管理系统间的统一接口标准和相关的规范,这一工作由DMTF(Distributed Management Task Force)完成了,该公司提出的WBEM目前已经成为了被各个企业广泛接受的资源统一管理的标准。而基于此理念推出的CIM则是一种建模工具,大大简化了管理系统的实现过程[2]。
本文首先对WBEM应用模式进行了探讨,并介绍了公共信息模型(CIM)的基本架构,并基于此框架设计了一个网络资源管理系统,以三层架构(管理层、网关层和资源层)改进了和优化了传统的存储管理系统存在的问题,之后给出系统实现并展开实验工作并分析了实验结果。
WBEM和CIM是DMTF研发并推广的核心技术,其目标就是提出统一的资源管理规范与接口标准。WBEM具有良好的扩展性,与下层的网络通信模块可以实现无缝衔接并支持多种网络协议,比如与简单网络管理协议(SNMP),公共管理协议(CMIP)等[3],因此WBDM从研发诞生的那一刻起就是面向分布式网络资源的,如文献[4]中提出的电力企業信息系统运行模型就是以此技术为基础研发设计的。另一方面,公共信息管理模型(CIM)主要为系统开发者提供了便捷的框架是服务,包括了一系列的建模方法和相关的组件。这些组件具有良好的通用性,通过MOF文件来实现,无论设计的系统最终运行在何种硬件设备上都可保证运行良好,如文献[5]提出将该技术应用在智能电网设备管理方面,设计了CIM与CIM/E(电网通用模型规范)之间的映射体系,有效提高了智能电网的管理水平;文献[6]则提出基于CIM构建三维可视化系统的方法,提高了配电网的控制便捷性。
CIM框架是面向对象的,而实例类对象则存储在管理容器CIMOM中。服务提供者(Provider)完成实例库CIMOM与其所服务和调用的资源之间的数据及指令的传输的任务。每一个CIM实例类在创建完毕后都需要Provider为其提供服务,否则将无法从CIMOM库中调用相关的实例,这将对系统的构建产生很大的负面影响,由此可见Provider的重要性。这些部件所构成的CIM框架结构如图1所示。
如上图所示,位于最上层的是应用管理层,负责与用户的交互,数据的审核,界面的实现等功能;第二层为WBEM客户端接口,向上对用户进程负责,将下层反馈的数据根据不同的端口提交至用户;向下负责将不同应用进程的数据分别送至下层的某一CIM对象实例进行解析;第三层即为对象管理层,负责调用CIMOM等类库,而其调用指令必须通过下层的Provider接口来实现,同时Provider还需要负责与不同的网络管理协议向通信,最终完成与其他管理系统之间的统一于协调[7-8]。
如图2所示,考虑到本系统主要实现统一监管的任务,因此在功能上并没有涉及过于复杂的具体应用,而是以监测资源性能、分摊系统负荷等功能为主,划分了三个功能模块,分别为查看资源状态、订阅告警、均衡WEB服务请求。在整个的资源管理过程中,以某个用户端发来的web请求为管理对象,整个服务资源由均衡服务器、WEB服务器以及数据库服务器构成,来访用户可以选择以上三种功能中的一种,对服务器端发出请求,而系统通过对web请求进行响应,在调用资源解决该请求后将其反馈回来访用户,从而完成一次的服务过程。
2.1 查看资源运行状态功能
如前文所述,本系统最重要的功能就是实现了对网络资源系统的实时监控,可随时调用功能对系统中管理的资源的保存、执行、运行等情况进行查看,也包括查看请求某个服务的总人数,完成服务次数,在某一时间段内的访问失败次数以及在某段时间内系统对所有服务请求的平均响应时延等信息;对某一具体设备的运转情况也可执行查看功能,例如可查到任意一台服务器当前的运转状态,如CPU的占有率、内存的使用情况、运行的进程总数、同时在线最大人数、某时间点访问该服务器的总人数等;而对于数据库服务器,则主要可查看当前最大连接数、某条数据被调用次数等情况。
2.2 订阅及告警功能
该功能主要通过事先预定的阈值来触发告警,阈值设定的对象可根据用户实际需求来确定。如可设定某数据库的最大连接数,当实际连接数超过该设定的最大值时,系统则自动向进程管理层发送告警信息,通过该层将告警反馈给操作用户,同时给出提示,说明该告警的具体对象;也可对系统的平均响应时延参数进行预订,当超过该时延时,说明系统负荷过重,同样给出告警信息;最后,还可对某具体的设备参数设定阈值,如某服务器的内存和CPU的使用率等,可以看出,告警对象的灵活选择可充分实现该系统对受管资源的全面监控。
2.3 均衡WEB服务请求
当受管资源的某个参数由于达到设定的阈值而发出告警后,说明当前系统中某个设备承担的负荷已经超过安全值,而导致负荷过高的直接原因就是web请求数量过多,因此作为控制者与协调者的管理员必须考虑将原先的web请求分摊到更多的web服务器上。通常在系统内一些设置专门的备用服务器,即均衡服务器,用以承担不同的急需任务,减缓系统压力。对于web服务器群而言,若系统内的web申请数量已经超过了所有web服务器能够承受的最大请求数之和,则管理员可调配均衡服务器参与web请求处理,反之,若web请求数量下降,则可收回这些均衡服务器并调配给更需要资源的其他服务中,从而最大程度的利用了服务器资源。
3.1 系统架构模型设计
下图给出了本系统所采用的三层模型结构,即管理层(Manager Layer)、网关层(Gateway Layer)和资源层(Resource Layer)。
3.2 管理層设计
1)界面设计
由于采用了web界面形式来进行管理员同系统之间的交互任务,因此采用了当前主流的JSP技术进行界面的开发,界面以简洁、亲和、功能逻辑安排合理等原则为依据,采用Tomcat5.0作为WEB服务器。操作界面如图4所示。
2)CIMOM设计
网络资源管理系统由于需要对分布于异地的不同受管资源进行统一的监控和管理,因此在管理层需要以统一的CIM标准来建立模型,由于统一了参数类型和编码方式,因此程序的可阅读性大大增加了,管理者也可以更加方便的对系统中的不同资源进行管理,这也是CIMOM的核心内容[9]。建模工具目前有多种可选,本设计选用WBEM Service来实现,该工具是纯Java实现的,可以很好地实现跨平台的功能。
1) CIM建模
CIM建模需要编写MOF文件来实现。MOF拥有自成一系的代码书写规则。现以对web服务器建模为例,介绍其部分代码:
[Provider("java: ManaWebServ-Provider")]
Class ManaWebServ
{[Key] string Name;//WEB服务器的名称
[Key] string IPAddress;
[Key] string PortID;
real32 CPUPer;
real32 memoryPer;//WEB服务器的相关参数,如IP地址,端口号、CPU使用率和内存使用率等。
Boolean getWebSerMet(
[IN] string IPAddress,[IN] string portID,
[OUT] real32 CPUPer,[OUT] real32 memoryPer,
[OUT] uint64 RequestNum,[OUT] uint64 RejectNum,
[OUT] real32 AverDelayTime);//得到WEB服务器平均响应时延
uint64 normal Detail(
[IN] string UserIP,[IN] string Userport,
[IN] string IPAddress,[IN] string portID,
[IN] string maxNum,[IN] string invalue,
[IN] string attend,[OUT] uint64 revalue);
//实现订阅告警功能需要用到的相关参数及类型};
在利用MOF完成建模工作后,即可使用WBEM Service随附的mofcomp工具将其编译并存储进WBEM Service中,至此WEB服务器就以建设完毕,除此之外,系统中还有一些资源也可以采用同样的流程完成建模工作,如Database服务器,均衡服务器等,其过程不再赘述。
为了实现资源管理系统的网络式架构,在完成服务器建模后,还需将其同系统资源相关联,即使得WEB服务器可以同某个网络服务相挂钩,以下为使用Provider实现该功能的部分代码:
[Association, Provider("java:Con-Provider-WebServiceServer ")]
class DecInfoSearch
{
[key]Manager WebService Depart owns;
[key]Manager WebServer Depart is owned by;
};
图5给出了系统查询某设备信息的结果:
图6给出了查询某网络资源系统设备拓扑结构的结果:
2) Provider的实现
如前文所述,Provider在管理层和网关层之间起到了重要的承接与协调作用,为web请求分配合适的资源,或者向某用户进程反馈服务结果,而这一过程是通过简单对象访问协议SOAP来实现的[10]。首先,管理层根据web请求的需要,遵循SOAP发出消息至网关层,由于资源层无法直接解析该消息,因此需要在这里进行格式转换,并采用Java管理扩展,即JMX技术与下层建立通信。资源层在收到上次传达的指令后,根据解析的结果执行对应的计算和操作,并在完成后将结果封装,送交回上层,网关层收到反馈后,执行逆操作,把信息转换成上层可识别的格式并上交,最终管理层收到了来自下层的服务反馈,可以与管理者实现交互。在WBEM标准中有四种Provider的类接口:
InstanceProvider: 可获得动态更新的在CIMOM中可用的实例表;
PropertyProvider: 可获得受管资源的相关信息。
MethodProvider: 为CIM类中的方法提供相应的操作,这些方法通常是由MOF定义的。
AssociationProvider:为不同的部件之间建立关联。
系统模型中的Provider完全实现了以上四种Provider接口。管理员还可以根据实际需要,通过invokeMethod方法来创建自定义的方法,创建完毕之后在Provider中定义,随后就可在客户端实现调用。
3.3 网关层和资源层的设计
网关层和资源层位于系统框架结构的下两层,其中网关层利用Apache组织开发的Muse来实现,Muse可以方便的构建连接管理层和资源层的标准通信接口,这也是网络资源管理系统之所以能实现统一监控、统一管理的关键所在;另一方面,网关层也要实现通过SOAP对消息进行解析和转化这一重要功能,使得管理层和资源层能够实现数据的沟通。资源层则利用成熟的JMX技术与大量的异构资源进行连接和通信。
在系统原型测试中管理的WEB请求服务是项目信息搜索服务,客户可根据某一项目的名称或项目号对其详细内容进行查找,包括该项目在多个不同单位内的相关信息均可陈列出来,在该网路资源管理系统中,整个结构由一台均衡服务器,一台数据库服务器,两台WEB服务器,一台后备WEB服务器组成,其结构如图7所示。
在该系统中,可以随时查看信息搜索服务的状态,以及所有设备在某一时间点的运行状态。Web访问利用Jmeter模拟大量用户同时登陆查找的情况,在登陆人数不断波动,以及web请求数量不断改变的情况下,观察各个设备的运行状态;另一方面,设定web服务器的订阅访问量为500,当超过此数量时系统发出告警,并启用均衡服务器充当web服务器,从而减少服务器承担的访问压力,而当访问数量不断下降并低于设定的最大值500后,均衡服务器重新收回。因此订阅告警功能以及均衡服务功能都能实现。并且实现的管理与硬件无关性,在进行管理时可以把所有的资源都进行CIM建模,达到统一管理的目的,图8为该系统执行搜索信息服务时的各个参数的波动曲线。由图中可以看出,本系统可较好的实现对各种设备性能的动态监控功能。
5 總结
本文在WBEM和CIM框架技术的基础上设计并实现了一款网络资源管理系统,有效的提高了对被管资源的监控水平,并将原先互不归属,很难统一管理的大量处于异地的异构设备有机结合起来,忽略其设备的差异性,实现了资源的高效利用。本设计为企业级的数据存储、查询和使用提供了一种新的方案,并通过测试验证了其已具备实用价值。
参考文献:
[1] 周益忠.县级供电企业信息网络综合监控的研究[D].杭州:浙江大学,2011.
[2] 毕峰,邱雪松,孟洛明.一种基于WBEM的综合网管体系结构[J].北京邮电大学学报,2002,25(4):31-35.
[3] 张笑非,赵金仿.基于WBEM的IP网络管理系统的设计与实现[J].科学技术与工程.2008,8(23):62-64.
[4] 袁国全,张明明,李叶飞,等.电力企业信息系统运行方式模型研究 [J].计算机工程, 2016,3(3):35-38.
[5] 曹阳,黄海峰,梁成辉,等.CIM/E模式版本管理和映射方法[J].电力系统自动化,2015,39(8):149-154.
[6] 杨顺成,黄淮,戴宇辰,等.基于CIM的配电网三维可视化关键技术研究与实现[J].电力科学与工程,2017,33(5):6-10.
[7] 于洋,梁满贵,王哲.软件定义数据中心网络研究[J].北京邮电大学学报,2017,40(1):57-60.
[8] 李龙来,吴杰,吕智慧,等.基于Web服务的分布式文件系统管理与优化方案[J].计算机工程与设计,2012,1(33):158-162.
[9] 周美佳.基于开放网络协议的监控技术[J].上海船舶运输科学研究所学报,2014,9(14):76-81.
[10] 孙振正.面向下一代数据中心的软件定义存储技术研究[J].电信科学,2014,1(2):21-25.
(责任编辑:李 丽)