DMI管理应用开发

来源 :互联网世界 | 被引量 : 0次 | 上传用户:linlin1688
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  概述
  
  桌面管理接口(Desktop Management Interface)2.0是由DMTF(Desktop Management Task Force,Inc.)制定并于1998年7月正式发布的。作为企业级网络管理规范的一个基础,DMI受到了包括Intel、Microsoft、HP、IBM、Compaq、Dell、Sun、CA等诸多公司的技术支持。比较著名的基于DMI的网络管理软件有:Intel的LANDesk Management Suite和ISC;HP公司的TopTools;IBM/Tivoli Systems,Inc.的TME 10 Netfinity Manager/LANClient Control Manager、Tivoli IT Director 2.1及Universal Management Agent;Dell公司的Dell OpenManage、Dell Inspector;Compaq的Insight Manager、CA公司的Unicenter 1.5、Unicenter TNG及Unicenter TNG Framework 2.1等。另外,SCO UnixWare 7.0、Red Hat Linux 6.0也提供了对DMI 2.0的技术支持。Microsoft公司在最近推出的Windows 2000系统中已将Smart Technology Enablers公司开发的DMI SP服务层软件作为第三方软件随盘发送。用户只需在目录\VALUEADD\3RDPARTY
  MGMT\INTELDMI\DMISP下,运行DMISP.EXE就可以方便地安装DMI服务层。此外,为了确保DMI与微软的网络管理解决方案WMI兼容,Microsoft公司还提供了一个WMI Provider,DMPSETUP.EXE。借助DMPSETUP,基于WMI的管理应用程序可以方便地访问和管理DMI支持设备。
  前面,笔者曾对DMI的结构和组成作过详细的介绍。为了更好地管理DMI支持设备,本文重点讨论DMI管理应用的开发技术。
  
  开发环境与工具
  
  开发DMI管理应用需要一个DMI软件开发工具包。这里,我们使用的开发工具是Intel公司的DMI 2.0 Service Provider Software Development Kit Version 1.2(简称DMI 2.0 SP SDK)。可通过访问Intel或Smart Technology Enablers公司的网站获取该软件。
  DMI 2.0 SP SDK对软、硬件的要求不高。任何一台运行Windows 95或Windows NT 3.51以上的IBM兼容机(Intel486 DX2 66MHz处理器,16MB内存,1GB硬盘)都可以安装、运行该软件。当然,Windows NT 4.0和Windows 2000也支持该软件的安装。编程语言可以采用Microsoft Visual C++ Version 4.2或更高版本。
  一般地,用户开发的管理应用将作为控制台软件运行在管理控制台(管理节点)。被管机器(被管理节点)可以是一台服务器,也可以是一台普通的台式机或便携式电脑。为了便于功能测试,建议被管节点安装一种DMI代理软件。注意,不同硬件厂商、不同型号的计算机可能会有不同的DMI代理。如果被管机器是一台IBM兼容机,可考虑安装Intel的LANDesk Client Manager
  3.3。该软件可以从Intel网站上下载。
  DMI管理应用开发既可以在网络环境下也可以在单机上完成。在网络环境下,DMI 2.0 SP SDK和VC++ 5.0开发工具安装在管理节点上,Intel LANDesk Client Manager安装在被管理节点上。单机上,DMI 2.0 SP SDK、Intel LANDesk Client Manager及VC ++ 5.0开发工具安装在同一台机器上。该机器既是控制台又是被管理对象。
  为了便于DMI管理应用的开发,Intel还提供几个DMI开发工具:
  (1)Intel DMI Explorer
  在开发管理应用和组件测试工具时,利用DMI Explore开发人员可以浏览、修改DMI使能组件(支持DMI功能的组件)的属性。
  (2)DMI Component Test System
  DMI Component Test System(DCTS2)是一个运行于Windows操作系统下的应用程序。利用它,开发人员可以发出一系列的DMI命令,测试DMI组件的功能及组件测试程序的运行状况。
  (3)DMI 2.0 MIF Conformance Checker
  DMI 2.0 MIF Conformance Checker允许开发人员对特定组件MIF文件语法、句法的正确性进行检查。利用.REQ文件,开发人员可以为组件定义私有属性。
  (4)Intel Service Provider Setup Utility
  Intel Service Provider Setup Utility是一个壳安装程序。利用它,开发人员可以将DMI SP集成到他们的管理应用软件中。
  
  管理接口与管理应用开发
  
  1.管理接口
  DMI 2.0定义了一组管理接口(管理API)便于管理应用程序的开发。DMI管理接口由4大类共23个函数调用组成。
  (1)初始化函数(Initialization Functions)
  初始化函数负责打开/关闭与远程(或本地)被管理节点间的连接,获取/设置被管理节点的配置信息,获取被管节点操作系统、DMI SP支持的DMI版本号等方面的信息。初始化函数由DmiRegister、DmiUnregister、DmiGetVersion、DmiGetConfig、DmiSetConfig共5个函数调用组成。
  (2)列清单函数(Listing Functions)
  列清单函数允许管理应用程序随机/顺序访问一个组件、组或属性。这类函数以DmiList起头,共有6个。
  (3)操作函数(Operation Functions)
  操作函数主要用于获取/设置属性值,增加/删除表属性的一行。它们包括:DmiGetAttribute、DmiSetAttribute、DmiGetMultiple、DmiSetMultiple、DmiAddRow、DmiDeleteRow。
  (4)数据库管理函数(Database Administration Functions)
  这类函数共有6个,主要用于修改和操作MIF数据库。例如添加/删除一个组件、组及组件的语言描述等。
  
  2.管理应用程序开发
  一个DMI管理应用程序可以是一个具有图形用户界面的管理工具,也可以是一个没有用户界面的将SNMP、CMIP请求转换成DMI请求的网管协议代理。在DMI 2.0规范中,将一个可管理的产品(manageable product)称为一个组件(component)。组件是一个软件或硬件实体,例如:字处理程序、操作系统、硬盘、主板、打印机及调制解调器等。每一组件都有若干可管理属性(attribute),例如:CPU的型号、电压、温度及风扇转速;内存的种类、型号、内存大小;操作系统的名称、版本号等。DMI为属性的访问提供了2种机制:
  (1)属性查询
  定期查询组件的某些可管理属性(例如服务器响应时间、带宽利用率等)是许多管理应用的基本功能。如图1,当需要查询特定组件的某个属性值时,管理应用程序调用管理接口函数向被管节点的DMI SP发出一个DMI请求(Request)。被管节点DMI SP收到属性查询请求后,首先访问本地MIF库或调用组件测试工具获取该属性的值,然后响应管理应用程序的DMI请求。
  
  属性查询管理应用程序编写的基本步骤如下:
  ①指定被访问的远程/本地节点。
  ②使用管理接口函数的注册命令(DmiRegister)打开与指定节点的连接,同时获得一个管理句柄。
  ③调用管理接口的操作函数发送DMI请求,查询/设置属性值。
  ④检查DMI请求的状态代码(status code),并做响应的处理。
  ⑤指定被访问的远程/本地节点。
  ⑥使用管理接口函数的注销命令(DmiUnregister)断开与指定节点的连接。
  图1 DMI的结构和功能


  
  (2)事件报警
  事件(Event)和报警(Indication)是DMI 2.0规范的两个术语。在多数情况下,它们的含义是相同的,因此,DMI 2.0规范经常交替使用它们。严格地讲,事件和报警有如下两方面的差别:
  ①事件是组件状态发生变化时引起的反应。例如CPU超载、内存溢出会导致事件产生。报警是事件的产生者(event generator)发给DMI SP的通告信息(notification message),用于通知DMI SP有一个事件已经产生。
  ②事件由DMI组件产生,并传给本地DMI SP。报警是本地DMI SP发送给所有已注册的管理应用程序的通告信息。
  事件和报警是一种“主动”的信息报告(unsolicited report)。如图1,组件测试工具可以向DMI SP发送报警信息,同样,DMI SP也可以向管理应用程序发送报警信息。
  利用DMI 2.0提供的事件报警机制,管理应用程序同样可以实时监测被管节点某个组件的运行状态。因此,事件报警可视为一种主动的Get请求。同管理应用程序发送的DMI请求相比,DMI的事件报警机制具有实时监测能力强、较少占用控制台处理器时间和节省带宽等优点。在监测被管节点各组件工作状态、系统安全性缺陷(security breach)以及跟踪可能影响系统配置的操作行为等方面非常有用。
  类似于属性查询,管理应用程序在接收一个事件报警前必须指定该事件,此即事件预定(Subscription)。DMI允许一个事件产生者向多个管理节点、管理应用程序发送事件。但是,管理节点及管理应用程序在接收某类事件前,首先需要向被管理节点的DMI SP预定(Subscription)该事件,表明其有兴趣接收和处理该类事件。
  通常,管理节点(事件消费者)与被管理节点(事件产生者)之间是通过某种网络连接起来的。为了节省带宽,一般不希望把所有的事件都通过网络传送到远程管理节点。为此,DMI 2.0定义了一种过滤(Filtering)机制,在被管理节点将不希望发送的事件滤除。
  当某个事件被预定后,被管节点DMI SP将检查所有产生的事件并与DMI SP预定组、DMI SP过滤器组定义的事件相比较,最后,将符合条件的事件发往预定了该事件的节点。在管理节点上,管理应用程序通过提取事件报警数据结构中的相关数据,可以了解被管节点某个组件的状态极其变化情况。
  由此可见,如果一个管理应用程序没有预定事件,被管理节点即使产生了事件也不会向其发送报警信息。反之,如果管理应用程序只预定事件,没有设定过滤事件,则被管节点产生的所有报警事件都会通过网络发送到远程管理控制台。因此,通常的做法是先预定事件报警,后定义过滤事件。
  以下是预定事件报警需要完成的几个主要步骤:
  ①指定被管节点的IP地址、与该节点连接时采用的RPC(远程过程调用)及传输类型,调用管理接口函数的注册命令向远程被管节点的DMI SP注册并建立一个连接。
  ②填写DmiIndicationFuncs_t{EventHandler,ComponentAddHandler,…}数据结构并调用函数DmiSetIndicationCallbacks(),告诉DMI SP当特定事件产生时应该调用的函数。
  ③调用函数DmiIndicationListen(),启动对事件的监听。
  ④调用管理接口函数DmiAddRow()给DMI SP预定组及DMI SP过滤器组添加一行,说明希望预定和接收的事件。
  ⑤调用管理接口函数的注销命令,断开与远程节点的连接。
  事件预定后,如果被管节点有相应的事件产生,DMI SP将填写事件报警数据结构DmiMultiRowData_t,并将报警信息发往预定了该事件的管理节点。在管理节点上,DMI SP收到报警信息后,会自动调用数据结构DmiIndicationFuncs_t中指定的函数。因此,管理应用程序开发人员只需编写事件处理函数(例如EventHandler、ComponentAddHandler等),从DmiMultiRowData_t中提取数据并作响应地处理就行了。
  类似地,如果希望取消对特定事件的监听,只需调用DmiDeleteRow(),从DMI SP预定组及DMI SP过滤器组中删除对应的行即可。如果希望停止事件接收,只需调用DmiStopIndicationListening()即可。
  
  总结
  
  DMI 2.0为管理应用的开发提供了一套完整的、易于使用的编程接口。利用它,管理应用开发人员可以编写各类管理应用。对本地及远程的系统实施资产管理、实时监测、软件升级及病毒防治等任务。由于DMI能为不同的软、硬件平台提供一致的编程接口,目前已得到各大领先厂商的支持。许多优秀的桌面管理软件,例如LANDesk、TopTools都是基于DMI规范开发的。限于篇幅,这里只简要地介绍了DMI开发工具及开发过程中应注意的问题。更为详细的资料请访问下列网站:
  http://www.enablers.com
  http://developer.intel.com/ial/wfm
其他文献
建立Internet优势:来自拉里·埃利森的四条经验    如果你是一位Internet革命中的迟到者,是否已经来不及赶上去了?还不晚,如果你的转变像Oracle一样敏捷、有目标和不留情面。  在1995和1996年,Cisco、Dell、Schwab和Cemex等众多数字先驱已经将新战略悄悄部署到位,并开始通过Internet技术获取利润;与此同时,Oracle在这方面还名不见经传,这种情况至少
期刊
波分复用及现有传输网的局限性  4.智能光网络    智能光网络提供了一种有效解决网络可扩展性和服务快速展开问题的解决方案。这一概念首先由Sycamore公司在1998年12月提出。包含产品,技术和功能上的革新。  智能光网络将SDH/SONET的保护功能、IP的效率、DWDM所产生的容量、网络管理软件的革新有机地结合到光传输系统当中,使在光层中直接提供业务成为可能。  智能光网络可提供丰富的带宽
期刊
接入作为网络到用户的“最后一公里”,直接关系到最终用户所获得服务的速度和质量,因此长期以来备受通信厂商、服务供应商及用户的关注,新技术、新产品层出不穷。通过建设下一代接入网络,实现更高的智能,创建更加前沿的边缘网络,运营商就可以为用户提供增值服务,同时为自己营造新的赢利机遇。选择什么样的技术与产品,才能最大限度地提高投资回报率以及用户满意度,确保自身的市场竞争优势,成为当前运营商所面临的关键问题。
期刊
网络采购是政府采购的必然趋势    网络采购既是电子商务的重要形式,也是发展的必然趋势。相对传统采购来看,网络采购具有明显的优势:价格透明、效率高、竞争性强、节约成本等。目前政府采购越来越受到国际和国内各级政府的关注,也在我国得到重视和大力推广。笔者认为,结合网络经济和政府采购的趋势来看,网络采购是政府采购的必然趋势,是当前政府采购值得大力推广的主要方式。首先从技术上看,网络采购非常适合政府采购,
期刊
MPLS(Multiple Protocol Label Switching)是IETF在Cisco的标记交换(Tag Switching)的基础上提出的一种宽带网络新技术,它将第三层路由与第二层交换结合起来,提高改善IP网络的转发性能,以适应Internet迅速发展带来的新情况、新要求。  MPLS是一种标签转发技术,它给数据报加上标签,并在MPLS域内根据标签来转发数据报。标签是一个短的、定长
期刊
20世纪90年代末,我国电信网络得到了飞速的发展,先后建立起7个宽带Internet骨干网。随着骨干网的强劲发展,作为公用通信网重要组成部分的用户接入网(AN),也日益成为人们关注的焦点。目前,各种技术层出不穷,但是我国Internet用户大多数仍是用Modem接入Internet网。ISDN在2000年初中国电信的强力推荐下,在北京、上海、广东等地区得到了快速的发展。而其他的接入技术,如56K
期刊
如果只是几个.COM在亏损,我们可以说公司管理出了问题;如果只是一类.COM在流血,我们可以说商业模式出了问题;如果所有.COM公司都在亏损、如果整个.COM产业都在流血,我们该作何解释?是中国的INTERNET理论出了问题?还是中国的INTERNET本身出了问题?    从去年下半年起,中国互联网理论界出现了这样一种现象:年初还在大谈特谈注意力经济、眼球经济的某些所谓理论家、科学家、首席评论家已
期刊
真正的教育是从阅读开始,阅读能力的形成有助于全面学习能力的提升。过去大家都把阅读认为是学语文所需要的,实际上远远不是,所有的学科都是由阅读作为背景的,学习越往上越需要大量的阅读。我们现在已经进入网络信息化的时代,而网络往往是碎片化的。上网不是你控制网,而是网控制你,如果没有好的阅读引领,我们思想也会变得碎片化,我们的认识也会变得越来越肤浅。  中国教育学会副会长 朱永新
期刊
杭州天地实验小学是一所由政府投资的高配公立小学,除去土地价格,投入1.2个亿,学校三栋建筑均出自设计大师之手,从外观到功能设计都令人赞叹不已。学校图书馆是栋玻璃屋子,四面通透,自然采光极好,一楼低年级阅读馆的图书质量和数量是我见过的图书馆之最。目前一、二年级学生总数不足100人,算一下人均拥有的图书数量,各种羡慕妒忌恨啊!  武汉格鲁伯实验学校是一所私立学校,它的图书馆每天中午向不愿午睡的孩子开放
期刊
今天,全球信息产业的发展给人们带来了前所未有的变化:一方面,人们越来越依赖于Internet;另一方面,随着互联网、电子商务的发展,多媒体、办公自动化的应用,信息量也成指数级增长,一时间我们延续了几千年的收集、管理、分布和使用信息的方式顿时灰飞烟灭。大到如花旗银行这样的企业,10年内数据量增长了75TB;小到如新兴的Mail.com这样的全新企业,短短45天数据就累积了27TB。面对爆炸性增长的信
期刊