远程机房电源控制系统设计
- 格式:pdf
- 大小:281.98 KB
- 文档页数:6
《无人值守机房监控系统的设计及实现》篇一一、引言随着信息化技术的迅猛发展,机房管理与监控需求逐渐增强。
传统的人工值守机房模式已无法满足现代企业对于高效、安全、稳定机房管理的需求。
因此,无人值守机房监控系统的设计与实现显得尤为重要。
本文将详细阐述无人值守机房监控系统的设计思路、技术实现及实际应用效果。
二、系统设计目标无人值守机房监控系统的设计目标主要包括:实现机房环境参数的实时监控、设备状态监控与预警、异常事件处理及自动化维护,以确保机房运行的高效性和安全性。
系统设计应满足稳定性、实时性、易用性等要求,为管理人员提供便捷的管理方式。
三、系统架构设计1. 硬件架构设计无人值守机房监控系统的硬件架构主要包括传感器、执行器、数据采集器等设备。
传感器用于采集机房环境参数(如温度、湿度、烟雾等),执行器用于执行系统发出的控制指令,数据采集器负责将采集到的数据传输至数据中心。
2. 软件架构设计软件架构包括数据采集层、数据处理层、业务逻辑层和用户界面层。
数据采集层负责从硬件设备中获取数据,数据处理层对数据进行处理和存储,业务逻辑层实现各种业务功能,用户界面层提供友好的操作界面。
四、关键技术实现1. 数据采集与传输系统通过传感器和数据采集器实时采集机房环境参数和设备状态数据,并通过网络将数据传输至数据中心。
采用TCP/IP协议实现数据的可靠传输。
2. 数据处理与存储数据中心对接收到的数据进行处理和存储,包括数据清洗、格式转换、存储等操作。
采用数据库技术实现数据的持久化存储,方便后续的数据查询和分析。
3. 业务功能实现业务功能包括实时监控、预警提示、远程控制等。
通过编程实现各种业务逻辑,实现对机房环境的实时监控和设备的远程控制。
五、系统实现与应用1. 系统实现根据系统设计和关键技术实现,完成无人值守机房监控系统的开发。
包括硬件设备的选型与配置、软件系统的编程与调试等。
2. 系统应用系统投入使用后,可以实现机房环境的实时监控和设备的远程控制,提高机房管理的效率和安全性。
远程电源控制器摘要:本文主要研究了远程电源控制器。
远程电源控制器是一种多功能设备,可以通过网络或其他通信协议对设备进行控制和管理。
它可以实现电源的远程开启和关闭,遥测功能和电源状态监控等功能。
本文从远程电源控制器的工作原理,设计要求和安全性等方面进行了详细的分析和探讨。
通过实验验证了该设备的稳定性和可靠性,证明了远程电源控制器在实际应用中的重要性和价值。
关键词:远程电源控制器;多功能设备;网络控制;遥测功能;电源状态监控正文:1.引言在现代信息化社会中,网络技术的发展和应用已经成为各行业发展的重要动力。
各种设备和系统的远程控制和管理也越来越受到人们的关注和重视。
远程电源控制器就是一种在网络环境下实现设备控制和管理的多功能设备。
本文主要对远程电源控制器的工作原理、设计要求和安全性进行了详细研究和探讨。
2.远程电源控制器的工作原理远程电源控制器是一种集电源控制、电源状态监控、遥测功能于一体的设备。
它的主要工作原理是通过网络或其他通信协议连接到被控制设备,实现远程的电源控制和状态监控。
在电源控制方面,远程电源控制器可以实现对被控设备的开启和关闭,以及定时控制功能。
通过该设备,用户可以在任何时间、任何地点对其电源进行控制。
在电源状态监控方面,远程电源控制器可以实现对设备的电源状态进行远程监控和遥测,确保设备的稳定运行。
同时,该设备还可以实现远程报警功能和事件通知,帮助用户及时了解设备状态并作出相应的处理。
3.远程电源控制器的设计要求在设计远程电源控制器时,需要满足以下要求:(1)稳定性要求:远程电源控制器需要具备高可靠性和稳定性,以保证在长时间运行过程中不会发生故障。
(2)安全性要求:远程电源控制器需要具有优良的安全性能,防止设备被未经授权的人士恶意攻击和非法入侵,同时还要具备电源过载保护功能。
(3)易用性要求:远程电源控制器需要具有用户友好的操作界面和操作方式,简化用户的操作难度,提高用户的使用效率。
机房UPS设计方案机房是存放和运行服务器及其他计算机设备的场所,而UPS(不间断电源系统)则是为了保障机房设备的稳定运行而设计的重要设备。
UPS可以提供稳定的电力供应,这样即使发生电网故障或停电,机房设备也可以继续工作,避免数据丢失和业务中断。
下面是一个针对机房UPS设计的方案。
首先,对机房的负荷需求进行评估是设计UPS系统的重要步骤。
负荷需求评估包括估计机房的总用电量以及关键设备的功率需求。
这样可以帮助确定UPS系统的容量,以保证UPS能够提供足够的电力供应。
根据负荷需求评估的结果,选择适当容量的UPS系统。
一般来说,UPS的容量应该略大于机房的总用电量以及关键设备的功率需求,以应对突发的负荷增加和电力波动,同时还需要考虑未来的扩展需求。
选择UPS系统的类型也是设计中重要的一步。
常见的UPS系统类型有在线式和离线式。
在线式UPS系统可以提供更好的电力质量和电流稳定性,但其成本和能量损耗也较高。
而离线式UPS系统则相对较便宜,但其响应时间较长,可能会导致一些瞬态电压问题。
因此,根据机房的需求和预算情况,选择适当的UPS系统类型。
UPS系统的备份时间也需要考虑。
备份时间是指UPS系统在停电后能够持续供应电力的时间。
备份时间的选择应该考虑到机房的用电情况和可承受的中断时间。
一般来说,备份时间应该能够覆盖短暂的电力中断,并且给维修人员足够的时间来解决长时间的停电问题。
UPS系统的维护也是设计中需要考虑的因素。
UPS系统的维护包括定期检查、电池更换和故障排除等。
为了保证UPS系统的正常运行,应该建立UPS系统的维护计划,并且配备专业的维护人员进行定期检修。
此外,在设计UPS系统时还需要考虑到机房的安全性。
UPS系统应该具备过压保护、过载保护和短路保护等功能,以防止设备损坏和安全事故。
此外,还应该考虑到UPS系统的防雷措施,以保护设备免受雷击的影响。
另外,UPS系统的管理和监控也是设计中需要考虑的因素。
UPS系统应该具备远程监控和管理的功能,以便维修人员可以实时监控UPS系统的运行状态,并且在发生故障时迅速采取措施。
APP综合监控系统解决设计方案机房远程APP综合监控系统主要是对机房设备(如供配电系统、UPS电源、防雷器、空调、消防系统、保安门禁系统等)的运行状态、温湿度、烟雾、振动、红外、水浸、供电的电压、电流、频率、配电系统的开关状态、测漏系统、环境状态等进行实时监控并记录历史数据机房监控(机房动环系统)APP软件是怎样的,机房监控,机房动环系统一、系统概述机房远程APP综合监控系统主要是对机房设备(如供配电系统、UPS电源、防雷器、空调、消防系统、保安门禁系统等)的运行状态、温湿度、烟雾、振动、红外、水浸、供电的电压、电流、频率、配电系统的开关状态、测漏系统、环境状态等进行实时监控并记录历史数据,同时将机房设备的工作状态的进行实时的视频监控,实现对机房远程监控与管理功能,通过手机APP可对上述全部监控对象进行可靠、准确的监控与控制.使机房无线远程监控达到无人或少人值守,为机房高效的管理和安全运营提供有力的保证。
机房远程APP综合监控系统支持市面全系列安卓手机,手机终端可以通过4G/3G/GPRS/WIFI 远程进行监控与控制,是目前无人值守管理人员最不可以缺少的系统组成部分之一,从而有效提高工作效率,保证机房系统运作的安全性与稳定性。
二、系统设计原则系统设计坚持“技术先进、使用方便、经济合理、超前考虑”的原则,系统具有先进性、实用性、规范性、可靠性、开放性,同时为了保证整个系统稳定可靠,具备良好的整体升级、扩展能力和方便维护,符合机房间远程APP综合管理控制的需要,系统设备选型在符合系统功能要求的前提下,综合的考虑了性能指标、规格统一性及性能价格比.可靠性保证系统的高可靠性.即不会出现因为某一个设备发生故障而造成整个监控系统无法使用的现象。
系统的接入不会影响现有通信设备和网络的正常工作。
系统将正确反映监控内容的实际情况。
系统的运行和平均故障修复时间完全符合设计要求.实时性保证系统能实时的反映通信设备运行情况,一到那出现异常情况是能够及时报警。
《无人值守机房监控系统的设计及实现》篇一一、引言随着信息技术的飞速发展,机房作为企业、机构等单位的重要基础设施,其安全性和稳定性显得尤为重要。
传统的机房管理模式需要大量的人力进行日常监控和维护,不仅成本高昂,而且效率低下。
因此,无人值守机房监控系统的设计与实现成为了当前研究的热点。
本文将详细介绍无人值守机房监控系统的设计思路、实现方法及实际应用效果。
二、系统设计1. 设计目标无人值守机房监控系统的设计目标主要包括:实现机房的远程监控、自动报警、故障诊断以及节能降耗等功能,以提高机房的稳定性和安全性,降低运维成本。
2. 系统架构系统采用分层设计的思想,主要包括感知层、传输层、数据处理层和应用层。
感知层负责采集机房内的各种环境参数和设备状态;传输层将感知层采集的数据传输到数据处理层;数据处理层对接收到的数据进行处理和分析,实现自动报警和故障诊断等功能;应用层则是用户与系统交互的界面,提供远程监控、控制等功能。
3. 关键技术(1)传感器技术:采用高精度的传感器,实时采集机房内的温度、湿度、烟雾、电源等环境参数及设备状态。
(2)数据传输技术:采用无线传输和有线传输相结合的方式,确保数据传输的实时性和可靠性。
(3)数据处理与分析技术:通过数据挖掘和机器学习等技术,对采集的数据进行处理和分析,实现自动报警和故障诊断等功能。
(4)远程监控技术:通过互联网或专用网络实现远程监控,方便用户随时了解机房的运行状态。
三、系统实现1. 硬件实现硬件部分主要包括传感器、数据采集器、网络设备等。
传感器负责采集机房内的各种环境参数和设备状态;数据采集器负责将传感器采集的数据进行整合和初步处理;网络设备负责将数据传输到数据处理中心。
2. 软件实现软件部分主要包括数据处理中心、用户界面等。
数据处理中心负责对接收到的数据进行处理和分析,实现自动报警和故障诊断等功能;用户界面则是用户与系统交互的界面,提供远程监控、控制等功能。
软件采用模块化设计,方便后期维护和升级。
《无人值守机房监控系统的设计及实现》篇一一、引言随着信息技术的飞速发展,机房作为企业、机构和学校等单位的重要基础设施,其安全性和稳定性显得尤为重要。
然而,传统的机房管理模式需要大量的人力进行值守和监控,不仅成本高昂,而且效率低下。
因此,无人值守机房监控系统的设计及实现成为了当前研究的热点。
本文旨在探讨无人值守机房监控系统的设计思路、实现方法以及应用前景。
二、系统设计1. 硬件设计无人值守机房监控系统的硬件设计主要包括传感器、执行器、网络设备等。
传感器用于实时监测机房内的温度、湿度、烟雾、电源等环境参数,以及设备运行状态等信息。
执行器则负责根据系统指令进行相应的操作,如开启或关闭电源等。
网络设备则负责将监测到的数据传输到服务器端进行处理。
2. 软件设计软件设计是无人值守机房监控系统的核心部分,主要包括数据采集、数据处理、数据分析、控制策略等模块。
数据采集模块负责从传感器和执行器中获取实时数据;数据处理模块负责对数据进行清洗、转换和存储;数据分析模块则负责对数据进行统计分析,以发现潜在的问题;控制策略模块则根据分析结果,对执行器发出相应的指令,以实现机房的自动管理。
三、实现方法1. 数据采集与传输数据采集采用传感器技术,通过与传感器进行通信,实时获取机房内的环境参数和设备状态信息。
数据传输则采用网络技术,将采集到的数据传输到服务器端进行处理。
在数据传输过程中,需要保证数据的准确性和实时性。
2. 数据处理与分析数据处理包括数据清洗、转换和存储等步骤。
数据清洗主要是去除异常数据和噪声数据,以保证数据的准确性;数据转换则是将不同来源的数据进行格式化和标准化处理;数据存储则是将处理后的数据存储到数据库中,以便后续分析使用。
数据分析则主要采用统计学方法和机器学习方法,对数据进行统计分析,以发现潜在的问题和风险。
3. 控制策略与执行控制策略主要是根据数据分析结果,对执行器发出相应的指令。
执行器则根据指令进行相应的操作,如开启或关闭电源等。
智慧机房管理系统设计方案智慧机房管理系统是为了提高机房运维效率,降低机房运维成本而设计的一种系统。
本文将从系统概述、系统功能、系统架构、技术选型以及安全性方面进行设计方案的详细描述。
一、系统概述智慧机房管理系统是基于物联网和大数据技术的智能化机房管理系统。
通过监测设备的运行状态、温湿度、电能消耗等信息,实现对机房的实时监控和管理。
同时,通过数据分析和预测,优化机房运维工作,降低电能消耗和故障率,提高机房的可靠性和安全性。
二、系统功能1. 实时监控:对机房设备的运行状态进行实时监控,包括温度、湿度、电能消耗等指标。
2. 警报管理:当设备出现异常或故障时,系统能够自动发出警报,并及时通知相关人员进行处理。
3. 能耗管理:对机房的电能消耗进行实时监测和统计,并提供能耗分析报告,帮助降低机房的能耗。
4. 维护管理:对机房设备的维护计划进行管理,包括维护时间、维护内容等信息,并自动生成维护工单。
5. 预测分析:通过对历史数据的分析和建模,预测设备故障发生的可能性,以便提前进行维护和更换设备。
6. 远程操作:提供远程操作功能,方便对机房设备进行远程监控和操作。
7. 数据存储和查询:对机房设备的监测数据进行存储和查询,保留历史数据,方便后续分析和回溯。
三、系统架构智慧机房管理系统采用分布式架构,包括前端展示层、后端数据处理层和数据库层。
前端展示层负责展示监测数据、警报信息、维护计划等内容。
后端数据处理层负责接收和处理传感器的数据,产生警报信息、维护计划等,并与数据库进行交互。
数据库层负责存储机房设备的监测数据、警报信息、维护计划等数据。
四、技术选型1. 前端技术:采用React框架进行前端开发,通过HTML、CSS和JavaScript实现系统的界面展示和交互。
2. 后端技术:采用Java语言开发后端服务,使用Spring Boot框架搭建项目,并使用Spring Cloud进行微服务治理。
3. 数据库技术:采用关系型数据库MySQL存储机房设备的监测数据、警报信息、维护计划等数据。
机房电源方案一、背景介绍机房作为数据中心的核心部分,其正常运行离不开稳定可靠的电源供应。
因此,设计一个合理有效的机房电源方案对于保障数据中心的运行至关重要。
本文将针对机房电源方案进行详细阐述。
二、电源选型1. 电源容量选择在选择机房电源时,应根据机房设备的总功率需求来确定电源容量。
由于机房设备众多,功率需求不同,因此可以将机房划分为若干个区域,并根据每个区域的功率需求来选择相应容量的电源。
2. 双路供电方式为了提高机房电源的可靠性,采用双路供电方式是一种常见的做法。
通过将机房分为A路和B路两个电源系统,并分别连接两个不同的电源供应线路,可以在一路供电中断时切换到另一路供电,保证机房设备的连续供电。
三、电源布局1. 电源室选择为了方便管理和维护,机房电源通常会独立设置一个专门的电源室。
电源室应具备良好的通风条件和温度控制设备,以确保电源设备的正常运行。
2. 电源线路布置机房电源线路的布置应遵循简洁、有序、规范的原则。
不同功率的设备应分别设置相应容量的线路,避免线路过载。
此外,还应设置合理的标识,便于维护管理人员进行操作和检修。
四、电源备份1. UPS系统UPS(不间断电源)系统是机房电源备份的重要组成部分。
通过将主电源和UPS系统连接,一旦主电源中断,UPS系统能够立即接管电源供应,保证机房设备的持续运行,避免数据丢失和硬件损坏。
2. 发电机组除了UPS系统外,发电机组也是一种常见的机房电源备份方案。
发电机组能够在主电源和UPS系统都失效时提供可靠的备用电源,为机房设备提供持续供电。
五、电源监控与管理为了及时掌握机房电源的运行状态,进行有效的监控和管理,可以使用电源监控系统。
该系统可以实时监测各电源设备的运行参数,如电压、电流、功率等,并将数据上报至监控平台,以便管理人员进行远程监控和数据分析。
六、安全问题考虑在设计机房电源方案时,必须充分考虑安全问题。
首先,电源设备应符合相关的安全标准,并有专业人员进行安装和维护。
远程机房电源控制系统设计陈铭,徐小宇,凌明(东南大学国家专用集成电路系统工程技术研究中心,南京210096)摘要:论述了在无人职守机房运用中,如何实现在远程控制机房内各计算机的电源开关。
设计方案采用软硬件相结合,以ARM7TDMI内核的SEP3203嵌入式处理器为硬件核心,通过GPIO口控制外部继电器开关,实现弱电控制交流强电输出的开关切换。
软件上以VC++编写守护进程,ASP制作网管界面,配合COM组件、ACCESS数据库和TCP/IP协议,实现远程电源控制方案。
关键词:SEP3203嵌入式处理器; COM组件; 远程电源控制; 无人职守机房;0. 引言信息技术蓬勃发展的今天,大量数据和设备集中存放、管理是大势所趋,如何合理运用有限的财力、物力和人力资源,对大规模、大面积机房甚至是异地机房进行有效的管理和操作的难题便随之出现。
“IT远程机房管理系统”由此应运而生,该系统真正的为解决该难题,实现无人职守机房提供了圆满的解决方案,创造了机房管理新理念。
目前,国内外关于机房远程控制系统的解决方案,主要是通过纯软件技术实现的,诸如IBM、赛门铁客、HP、东软等公司都有相关的软件产品,然而,结合实际的机房管理需求,软件技术却有着无法逾越的技术限制,例如远程电源的开/关控制仅靠软件技术就无法实现。
在机房,由于各种原因,譬如内存耗尽导致当机,而需要重启计算机的概率是比较频繁的,虽然有些监控软件可以实现关闭本机电源的功能,但一旦断电,软件就运行不起来了,自然就没办法再通过指令来启动电源。
本文将围绕机房运用,描述如何实现“远程电源控制系统“的软硬件相结合的设计方案。
1. 系统构成1.1电源控制结点(PowerController)每台电源控制结点提供8路交流电源插座,每路220V电压,最大30A电流。
电源控制结点在网络上受WEB服务器控制,每路电源的开关状态可控且可查询。
电源控制结点的主要软硬件清单如下:SEP3203嵌入式处理器(ARM7TDMI内核)10M/100M自适应以太网控制器MACAsixOS嵌入式多任务实时操作系统嵌入式的电源控制软件(下位机守护进程)1.2 Web服务器Web服务器集控网内所有的电源控制结点,各电源控制结点的所有电源的开关状态都保存在Web服务器上的数据库中。
Web服务器响应远程访问者的请求,对指定的电源控制结点的开关状态进行查询和设置。
Web服务器的软件构成如下:ACCESS数据库ASP网管软件COM通讯组件C++服务器守护进程2. 拓补结构图1实现远程电源控制的机房网络拓补图实现远程电源控制完全不改变原有机房的网络拓补结构,如图1所示,只是在内网中增加了一台WEB服务器,该服务器需要双网卡,一端接在内网中,另一端接入Internet; 并且把所有要控制的电脑的电源连到电源控制结点(PowerController)上,即由电源控制结点来为机房内所有电脑设备供电。
同时,所有的PowerController也接在机房的网络中,以便接受WEB服务器的控制。
一台PowerController节点可以同时提供8路(220V, 最大30A)电源输出,因此一个机房如果有N台电脑,则只需要(N+7)/8台PowerController节点就可以实现全方位的电源控制。
用户在任何一个Internet接入的电脑上可透过IE浏览器登录到远程机房服务器上的网管系统,通过ASP页面向服务器发出控制和查询指令,服务器再将指令传送给网内的特定的电源控制结点,通过电源控制结点实现控制机房内任何一台服务器/工作站/路由器的电源开关切换、以及电源状态的交互查询。
3. 电源控制结点(PowerController)的设计3.1硬件部分设计硬件上,主要通过Garfield SEP3203处理器来实现,SEP3203应用处理器是由东南大学国家专用集成电路系统工程技术研究中心设计的16/32 位RISC 微控制器,内嵌由英国ARM 公司提供的ARM7TDMI 处理器内核,主要面向低成本手持设备和其它通用嵌入式系统设备,全芯片可稳定运行在75MHz[1]。
电源控制结点的8路电源开关通过SEP3203处理器的GPIO外围端口来控制,8条GPIO(LD0~LD7)用来控制继电器的通断,8条GPIO (LD8~LD15)用来控制LED指示灯,1条PWM0控制蜂鸣器。
输出模块设计见图2(8路电源输出中的一路):图2 输出模块设计图(弱电控制强电开关)继电器选用30A额定电流。
100欧姆大功率电阻,MKP0.1uF电容构成RC滤波网络。
在RC滤波网络中,有一个器件SVR是个压敏电阻,起保护作用。
当RELAY1置低时,继电器的3和5输入端产生压降,继电器开关从2端点打向1端点,从而将输入火线Fire选通至Fire0,这样插座上就得到了220V的交流供电;当RELAY1置高时,继电器将输入火线选通至端口2,插座不再供电。
3.2 嵌入式控制软件的设计在嵌入式软件的开发过程中有主机和目标机的角色之分:主机是执行交叉编译、链接、定址过程的计算机;目标机指运行嵌入式软件的硬件平台。
首先,我们在主机环境中,使用ARM公司提供的ADS开发工具进行应用程序开发与调试,然后把应用程序转换成可以在目标机上运行的二进制代码,这一过程包含三个步骤:交叉编译、链接、定址,由交叉编译器实现[2]。
最后把二进制代码通过烧录工具写入目标机的ROM中。
电源控制结点上的软件开发过程就是嵌入式软件的开发过程,电源控制结点在网络中与WEB服务器通讯采用“客户端-服务器”模型,电源控制结点作为客户机,双方通过UDP 协议进行通讯。
因此在电源控制结点上需要运行一个TCP/IP协议栈,并且每个电源控制结点需要配置一个唯一的IP地址,以实现点对点的通讯[4]。
电源控制结点的程序流程如下面图3所示:图3 电源控制结点的程序流程图IP地址的配置不是通过DHCP来自动获取,而是在工程作业时通过烧录工具写入到电源控制结点内嵌的ROM中,在电源控制结点上电启动时,将从ROM中读取该IP地址来初始化本地TCP/IP协议栈。
在系统初始化时,电源结点上的守护进程将发送指令(网内UDP广播)到Web服务器,查询服务器的IP地址,服务器收到请求后,会把本机IP地址连同该电源控制结点上一次断电时的各开关状态发送回去。
当电源控制结点收到服务器的IP地址,并用上一次断电时的开关状态来初始化后,就完成了初始化的工作,并进入工作模式。
在工作模式下,电源结点上的守护进程接收Web服务器上的守护进程的查询和设置指令,并作出相应的处理动作,处理完后,再把处理结果发送给服务器上的守护进程。
并且每隔一定间隔(可设为30秒),电源结点上的守护进程必须发出HeartBeat信号,把当前的状态信息报告给服务器,以示正常[4]。
如果同时需要打开多个电源开关,程序将依次去打开,并自动间隔1秒钟,以防止瞬间电流过大,这就是防突波设计;另外,在执行电源Reset时,在断电与上电之间也保留3秒钟的时间间隔,以保护外部连接的计算机或者其它连接的设备。
4. 服务器端软件的设计服务器端软件由ASP网管页面、COM通讯组件、服务器守护进程这三个部分组成,三者通过TCP/IP本地环回链路以及ACCESS数据库进行数据交互,其交互关系如下图4所示:图4 WEB服务器端内部软件构成及通讯机制4.1 ASP网管页面网管页面是远程电源控制的主界面,机房管理员在远端通过受权的用户名和密码,登录到该控制页面,点击相应的按钮就可以监控远程机房中的服务器或者工作站。
网页可采用当前主流的ASP语言编写,配合ACCESS数据库及SQL检索方式,实现高效的机房IP网络集中管理。
4.2 服务器守护进程(ServerDaemon)该模块将安装在数据管理服务器上,负责与网内的多台前端管理单元进行指令和状态的交互。
服务器守护进程和前台控制单元间采用带校验的UDP包进行数据通讯。
主要的数据流程如下:当电源控制结点的开关状态发生主动或者被动地改变时,就会发出当前状态给服务器守护进程,服务器守护进程收到数据后就把最新状态更新到本地的Access数据库中,这样当远端用户登录网管页面时,就能读取到数据库中的最新数据。
当用户在IE浏览器中通过网管系统发出指令时,ASP页面会通过COM组件将指令传递给服务器守护进程,服务器守护进程将对指令译码,并把译码后的指令通过UDP包发送到网内特定的电源控制结点上去执行,最后将返回执行结果状态,并反馈回用户页面。
4.3 COM组件设计由于ASP页面无法与C语言编写的服务器守护进程进行通讯,因为必须有一个中间的通讯桥梁,而COM组件正是充当这个角色的。
COM全称components Object Model,即组件对象模型, COM可以实现程序模块之间通信的标准方法。
COM组件很好用,但是要编写实现一个COM组件很复杂,幸运的是,现在有很多RAD快速开发工具可以帮我们来完成COM组件的复杂的封装工作,例如Mircosoft VC++、Borland C++ Builder等开发工具,我们仅仅只需是编写模块通信需要的功能代码[3],在我们需要编写的COM组件中,只要实现一个函数,其原型如下:BOOL SetPower(int BlockID,int PortIndex,int Action)该函数的作用是接收网页传入的三个参数:目标电源控制结点的ID(BlockID)、电源口索引号(PortIndex)、电源开/关操作命令(Action),然后把这三个参数传给服务器守护进程,等待服务器守护进程执行完相应的电源操作后,把执行结果返回给网页。
要注意的一点是,COM 组件与服务器守护进程虽然安装在同一台服务器上,但是它们之间没办法通过系统消息队列或者管道进行通讯。
解决方法是通过UDP协议在本地建立一条环回链路进行通讯。
设计完COM组件,我们就可以在网页中使用它了,COM 组件是建立强大而实用的 Web 应用程序的关键,要使用COM 组件封装的C函数,就必须创建组件对象的实例,使用 ASP 的 Server.CreateObject 方法或在 HTML 中使用 <OBJECT> 标记可创建对象实例,使用脚本语言变量赋值语句可为对象实例指定名称,创建对象实例时,必须提供其注册名(PROGID) [5]。
ASP页面中COM组件的调用方法如下:set COM=Server.CreateObject("cmDaemon.PowerCOM") //创建COM组件对象if not isNull(COM) then //判断组件是否创建成功COM.SetPower (BlockID , PortIndex , Action) //执行COM组件中封装的函数end ifset COM=nothing //释放COM组件5. 结语至此,远程机房电源控制系统设计方案就介绍完了,其中可以继续完善的一点是电源控制节点的IP地址的获取方式,更进一步可以设计通过DHCP服务器自动获取。