免费预览已结束,剩余37页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘 要随着高层建筑数量的快速增加,电梯的使用量也随之急剧增加。在电梯的使用中最被人们重视的就是安全问题。电梯监控自从电梯产生之初就有,并且随着电梯行业的发展不断的更新换代,监控效率越来越高。由蓝光公司开发的远程无线电梯监控系统是采用移动通信技术,Internet技术,数据库技术相结合的,能够实现同时监控全球各地多部电梯的运行情况的先进的监控系统。该系统开发成功将大幅度的提高电梯监控效率降低监控成本。本课题完成的工作是远程电梯监控系统中电梯监控中心服务器端数据解析接口的开发。以VC+为开发平台建立Windows服务程序,利用socket技术接收电梯状态数据包,解析电梯状态并将电梯状态数据保存在电梯监控中心数据库中,DBMS采用SQL server 2000。所开发的程序在windows XP系统中测试通过。本文对课题开发的意义和背景作出简单的介绍,对涉及到的相关技术作了必要的说明,给出了远程电梯监控系统的整体设计方案。对VC+6.0实现Windows服务程序过程进行了详细说明,对利用Socket接收数据实现进行了介绍,完成了对自定义电梯状态报文解析工作,实现了将解析完成的数据保存到数据库服务器的功能。关键词:电梯监控系统;数据解析接口;Window服务程序 I AbstractWith the number of the tall building becoming larger and larger, the number of the elevator is increasing faster. Security issues are greatest attached when persons using an elevator. Elevator monitor system has be Invented with the time the elevator has be invented,and with the develop development of elevator industry, the Efficiency of the elevator monitor system becomes higher and higher. This remote wireless elevator monitor system is developed by Blue Light Company using Mobile communication technology, Internet technology and database technology, which can monitor numbers of elevator at the same time. If this elevator monitor system can be designed successful, the cost for monitoring elevator will become much low.The subject is to design an analysis procedure which worked for the remote wireless elevator monitor system at monitoring center servers. Using Visual C+ 6.0 to creating Windows service program, using Windows socket technology to receive data packets, designing a class named Analysis to analysis the date packets and saving the results to database server, which use SQL server 2000 as DBMS. The procedures is designed completed and test successfully when it operated on Windows XP.This paper simply introduction the background and Significance of the subject. Note the technology related with the subject. This system design of remote wireless elevator monitor system has been told by this paper. This paper also show the way of developing Windows service program, receiving data packets with Windows Socket technology and the way of analysis the date bag which is custom defined. The way of how to preserve data into the database server is introduced in this paper either.Key words : Elevator Monitor System; Analytical Data Procedures; Window Service Program II 目 录摘 要IAbstractII第1章 引言11.1课题背景和意义11.2课题的研究现状和发展趋势11.2.1无线通信技术的发展11.2.2 监控系统的发展41.3 课题的主要任务和目标61.4课题的开发环境7第2章课题相关技术82.1 HTTP协议82.2 Windows Socket92.3 Windows服务程序112.3.1服务生存期112.3.2创建服务程序的步骤12第3章需求分析与总体设计143.1 电梯监控系统的总体设计方案143.1.1电梯监控系统的组网结构143.1.2 电梯监控系统的接口描述153.2数据解析接口的设计153.2.1数据解析接口的工作流程163.2.1数据接收模块的设计173.2.2数据解析模块的设计183.2.3数据存储模块实现概述19第4章 详细设计与实现214.1服务程序的创建214.1.1 Main函数224.1.2服务ServiceMain函数234.1.3服务Control Handler函数244.1.4添加安装和删除服务函数254.2 数据接收模块264.2.1对监控中心主动发起通信请求的实现264.2.2对监控中心响应通信请求的实现274.3数据解析模块284.3.1Analysis类定义284.3.2 transtype()方法的实现304.3.3 transfloor()方法的实现314.3.4 transwork()方法的实现314.3.5 transdoor()方法的实现324.3.6 transupdown()方法的实现324.3.7 transload()方法的实现334.3.8 transspeed()方法的实现334.4数据存储模块34第5章 结论36参 考 文 献37致 谢38 IV沈阳工业大学本科生毕业设计(论文)第1章 引言1.1课题背景和意义在高层建筑中,电梯是人们上下楼的主要工具。为了解决城市不断膨胀的人口和有限的城区地面使用面积的矛盾,高层建筑已成为城市发展的一种必然选择。仅就上海为例,据统计:截至2002年,上海20层(约60m高)以上的高层建筑约有1600多幢,其中30层(约100m高)以上的超高层建筑有265幢。除此之外,上海经批准在建的高层建筑还有1000多幢。随之而来的电梯数目不断增多,由于电梯事故造成的人员伤亡越来越多,经济损失越来越严重,电梯安全严重影响到人们生活质量,已经得到人们的充分重视1。 传统的电梯监控手段以摄像头为主,这种方法成本较高,消耗人力大,而且设备本身安全性不理想,易损坏,已经不能满足人们的需要。在这种环境下,各种新兴的电梯监控系统应韵而生,其中主要以带有无线传输设备的无线监控系统为主。这类监控系统的工作方式基本类似,电梯里采用数字端发射方式,摄像机的模拟图像通过MPEG4嵌入式视频服务器转换成数字信号,通过数字无线网桥传输到顶楼的接收主机,接收主机可以一对二接收电梯数据。再把每栋楼的视频信号通过无线网络传输到小区监控中心1。本系统软件采用B/S(浏览器/服务器)结构,无需下载客户端。用于监测客户电梯各种状态、诊断电梯故障等提供便捷的方式。本系统具有安全可靠、使用方便、便于管理等特点。并且突破了地域的局限性,一套系统可以监控多处电梯系统。因此该系统成本低效率高。集中化管理的另外一个好处就是可以为蓝光公司可以随时了解自己销售出的产品的工作情况,使蓝光公司能够随时根据具体情况调整自己的产品型号质量1。1.2课题的研究现状和发展趋势1.2.1无线通信技术的发展无线通信具有跨越时空进行信息沟通的灵活性,以及连接全球的无缝隙覆盖特性,这使它成为最具吸引力的通信方式。而无线通信的快速发展,也将把人类实现个人通信的梦想一步步变为现实。 当前,无线通信市场空前繁荣,无线业务日趋丰富,无线技术日新月异。纵观全球无线通信业,有几大趋势呈现在我们面前,近二十年来,随着无线通信技术的不断发展和社会需求的日益增长,包括移动电话、无线寻呼、卫星通信等在内的无线通信得到了越来越广泛的普及和应用2。(1) 卫星通信市场正逐步走向成熟。在卫星通信领域,从最初的专用系统到卫星移动个人通信,卫星通信由于其一系列独特作用,已成为未来个人化通信不可缺少的独特的重要组成部分。经过二十多年的不断发展,到去年,我国已拥有国际卫星通信站15座。利用国际通信卫星开通国际双向电话一万两千多条。全国已建成连接省会城市及部分开放城市的卫星地球站37座,已批准设置的卫星通信网络124个,国内卫星通信网已具备了3万条双向电路的业务传输能力(由“中星6 号”和“中卫1号”两颗静止轨道通信卫星36个转发器承担信道传输任务),各类双向地球站5321 个。在轨应用的静止卫星12颗,向国际电联申报卫星网络117个,轨道位置43个。目前,全国通过卫星播出的电视节目35套,通过遍布全国的卫星电视接收站使约88%的人口能够看上电视节目。近年来,邮电、金融、交通、气象、新闻等几十个部门不断加快VSAT通信的发展速度,已建立卫星专用网80多个,建成各类VSAT地球站一万多个,为国民经济各部门提供了有效的数据传输服务保障。面向未来,卫星通信将成为促进我国国民经济发展的重要通信手段。经济全球化推进了无线通信网络的全球化。随着经济全球化进程的不断加快,信息需求的全球化趋势日趋明显。而信息需求的全球化客观上要求无线通信网络能覆盖更大的范围,无线网络之间能互联互通、彼此漫游。面对信息需求全球化这一大趋势,封闭的无线网络将不可避免地逐渐走向衰落,而拥有更为开放技术标准的、全球化的无线网络将获得持久的生命力。 随着社会经济的不断进步,跨国界的信息交流日益频繁,跨越无线网络制式的鸿沟,构建一个可在全球范围内实现漫游的无线通信网络已是大势所趋。如今,倍受人们关注并即将投入应用的第三代移动通信系统(IMT-2000),可望将地面移动网、固定网和卫星网联结成为一个综合的、多媒体通信网络,从而实现真正意义上的网络全球化。可以说,从模拟到数字、从话音到数据、从窄带到宽带,网络的全球化将使人类个人通信的理想最终可能成为现实。颇为引人注目的是,在无线通信技术从二代向三代演变的过程中,无线通信运营业正处于从“一个国家一个无线通信网”的体制向“无国界的多个全球无线通信网”的多边体制方向转变。不同区域的无线网络的不断拓展和相互漫游,将使无线网络全球化的进程不断加快,无线通信市场最终将会形成几个大的区域网络乃至全球化网络。在这种形势下,顺应无线网络全球化的趋势,寻找走向世界、争夺国际市场的途径,便成为每个具有强大实力的无线通信运营公司的紧迫战略目标。卫星数据业务日趋活跃,在未来几年内将获得较大发展。在传统的卫星话音通信应用之外,最近,数据通信也快速深入到卫星通信领域,这主要表现为卫星通信与因特网应用呈现非常活跃的相互结合趋势。利用卫星实现因特网通信,可以提高网络的下载速度,实现更大的覆盖范围。利用现有卫星系统提供高速因特网数据接入业务成为卫星通信业务新增长点。现在有两种加速因特网传输的卫星解决方案,一种是利用宽带卫星的双向传输,可给用户提供 16kbps2.048Mbps的传输速率;一种是利用卫星的高速下载和地面反馈的外交互方式,它基于当前因特网信息流量非对称性而提出。太空因特网建设正在进行,有望进入大众生活。太空因特网的概念引起了人们的广泛兴趣,它是利用天上的卫星构成一个天上的因特网络,如目前Teledesic、SkyBridge等卫星因特网系统都在加紧建设,预计在不久的将来可望投入使用。(2) 第三代移动通信标准今年全面完成,它将把无线通信带入宽带化起步时代。应该说,今年将是第三代移动通信史上关键的一年,因为今年国际电联第三代移动通信标准将全面完成;从明年开始,世界各国将陆续开始第三代移动通信的商用化。第三代移动通信系统将为人们提供全球覆盖的宽带多媒体无线通信服务。第三代移动通信系统将为人们提供包括话音、数据和多媒体等服务在内的无线通信服务,是一个起步型宽带化的无线通信系统。第三代无线系统(IMT-2000)将工作在2GHz频段,其最大速率可达到2Mbps。第三代移动通信标准今年将全面完成,明年全球将逐渐进入商业化阶段1999年10月,国际电联已确定了第三代移动通信系统的无线接口部分的五种标准和六种方案,我国提出的TD-SCDMA 技术也已成为国际标准之一。今年,核心网络部分的标准制订工作的完成,将使整个第三代系统标准化工作全面完成。各国已制订了第三代移动通信系统的商用时间表,日本预计明年开始实现商用,我国预计将在2003年左右实施第三代移动通信系统的商用。1.2.2 监控系统的发展(1) 一对一监控系统 最早期的产品,多以摄像机与监视器(电视)一对一监视系统为主,连接方式是靠视频电缆一对一直接相连,有多少个摄像机就有多少个监视器,没有任何技术含量,是闭路监控发展的最初级阶段。(2) 控制电路系统 人们在实践中慢慢地发现,一对一监控这一模式对监视器是一种极大的浪费,随之逐渐出现了视频切换器,来弥补这一不足。对监视范围要求的进一步扩大,和对变倍镜头及云台的引入,必然导致控制器的出现。此时的切换控制电路系统因受技术的限制,只是简单的硬件电路组合,视频切换和控制是独立的,控制多是采用多路开关,配合多芯电缆一对一直接连接的线控方式。传输距离近,布线复杂,操作繁琐,难以实现多中心控制,系统容量小,扩展困难,不能实现区域联网。 (3) 处理器监控系统 二十世纪七、八十年代,随着新技术革命的兴起,微处理器进一步普及和发展起来,闭路监控系统真正拥有了一颗自己的“芯”,将切换和控制合二为一,是一个不小的进步。但随着时代的变迁,这一微处理监控系统越来越跟不上时代的步伐。因采用非标系统,受单片机(8位,16位芯片)的限制,系统功能容量及运行速度有限,体积大,容易死机,无对话式屏幕菜单,缺乏良好的人机界面,操作步骤多,可编译性差,联动控制方式一旦确定难以修改,系统分控采用通讯方式,无法与标准计算机联网,兼容性差,系统升级困难。(4) 外挂多媒体的监控系统九十年代,伴随着计算机多媒体技术的萌芽发展,人们慢慢地从简单的计算机编译和控制方式,向计算机多媒体化过渡,利用计算机显示器的高解析度,将一路视频传输进来,通过视频捕捉卡采集到计算机显示。但是,控制及切换主机仍为传统单片机主机,只是通过串口与计算机相连,完全简单控制工作,这一模式我们称之为外挂多媒体的监控系统。尽管它有较为良好的人机界面,但仍不能称其为真正的多媒体系统,其根本原因在于系统设计的出发点不是基于计算机,而是基于传统的微处理器监控模式,为了适应突飞猛进的计算机多媒体技术的发展和客户的需求,只是被动地在原有基础上加以改进拼装,在大部分时间里,计算机只是在充当一个外部监视器,并没有发挥其真正的作用。并且,传统微处理器监控系统所固有的弊病并没有克服,通讯协议的多样化及专用化很难统一,导致已有计算机资源远无法满足多种设备的需求。目前,较为先进的监控设备,都带有RS-232串口通讯,但试想将切换器、云台控制器、报警控制器等堆加在一起,计算机又有多少串口可以提供服务呢?而在联动连接方式上依然只是线缆的组合,无法真正意义地实现计算机智能化管理。 (5) 过渡型数字视频监控系统 九十年代末,随着数字视频技术的飞速发展,数字化的概念逐渐被人们所接受。一些从事视频板制作的厂商看到这一领域有利可图,将本身用于民用的一些视频技术转化过来,推出了自己的视频系统应用于监控领域。由于这些厂商以前没有监控领域的背景和实际经验,设计出来的产品也许在视频处理上有一定的特长,但往往不符合安全要求和行业规范。我们要考察的是一个系统的综合监控能力,一个成熟完善的监控系统,不仅仅要完成视频处理,还要有处理大量控制、报警、联动等数据的指令,完成用户各种复杂的功能要求。这类系统以韩国系列为代表,虽然有一个漂亮的界面,标榜为数字化系统,但在功能需求上不符合公安部安防标准,存在安全隐患,并且只能用于16路以下功能简单的小系统,无法进行系统扩展,这是这类产品的致命伤。术业有专攻,要想真正达到实际监控设计要求,还有一段很长的路要走,况且这些公司一旦发觉此领域无利可图肯定会转行,很难有持续发展性,同时售后服务很难保证。 (6) 数字媒体监控管理系统 何为真正意义上的数字多媒体监控系统呢?就是完全基于计算机,以其为核心,结合安防监控的实际要求及多年来不断完善的安防理论和经验,运用最新的数字视频技术、现场总线技术、网络通讯技术建立一套软硬件相互结合、崭新、完整的安防体系,优化内部结构,减少不必要的环节,提高整体性能和反应速度,适应新技术不断发展的需要,并向用户提供全面的增值服务,提供针对不同行业不同需求的数字媒体监控管理全面解决方案,将监控从安全防范提高到管理的高度,以视频为主线结合相关实际业务渗透到各行各业中去,促进生产力的不断发展,并为其发展提供全面服务,这是未来监控系统发展的方向。黄金眼致力于“监控为管理服务”这一宗旨,集多年视频监控经验,将黄金眼数字多媒体监控管理系统定位于面向二十一世纪的管理平台,并已经在各行各业得到了广泛的应用。 1.3 课题的主要任务和目标电梯故障远程监控报警系统包括三个主要接口,即USSD接口、数据解析接口和网站显示接口。USSD接口是在USSD网关工作,工作依托SMPP协议,接收电梯终端发送的电梯状态原始数据,再经过编码与监控中心服务器通信;网站显示接口的主要任务是为管理员提供一个方便有效的管理界面,使管理员能够通过见空中心服务器随时了解权限内电梯的运行维护状态。本课题研究的主要内容为数据解析接口的设计与实现,数据解析接口是在电梯监控中心服务器工作,数据解析接口以Windows服务程序的形式工作,其主要任务包括。(1) 从USSD接口接收数据报文在VC+中开发基于Winsock的通信模块,接收USSD网关服务器发送的电梯状态报文。(2) USSD报文的解析应用面向对象的方法开发数据解析类,将接收到的USSD报文解析为能被人直接理解的电梯状态数据。(3) 数据保存数据解析结束后将解析好的数据保存在电梯监控中心的数据库服务器中,供管理员随时查看。1.4课题的开发环境 本课题选用VC+6.0作为开发平台,开发的程序类型为Window服务程序,作为电梯监控系统的数据解析接口。以Winsock技术实现数据接收功能,以SQL server 2000作为监控中心数据库服务器的DBMS。 第章课题相关技术数据解析接口的主要任务是完成数据接收,数据解析和数据保存功能。在开发过程中将其实现为Window服务程序,以确保数据解析接口能在无人职守情况下自动工作。在数据接收模块中传输协议基于HTTP协议,利用Socket技术完成数据接收。本章对课题所应用的相关技术进行介绍。2.1 HTTP协议HTTP(超文本传输协议)协议是用来在Internet上传送超文本的传送协议。它是运行在TCP/IP协议族之上的应用层协议,它可以使浏览器更加高效,使网络传输减少。任何服务器除了包括HTML文件以外,还有一个HTTP驻留程序,用于响应用用户请求。浏览器是HTTP客户,向服务器发送请求,当浏览器中输入了一个开始文件或点击了一个超级链接时,浏览器就向服务器发送了HTTP请求,此请求被送往由IP地址指定的URL。驻留程序接收到请求,在进行必要的操作后回送所要求的文件3。HTTP协议是基于请求/响应范式的(相当于客户机/服务器)。一个客户机与服务器建立连接后,发送一个请求给服务器,请求方式的格式为:统一资源标识符(URL)、协议版本号,后边是MIME信息包括请求修饰符、客户机信息和可能的内容。服务器接到请求后,给予相应的响应信息,其格式为一个状态行,包括信息的协议版本号、一个成功或错误的代码,后边是MIME信息包括服务器信息、实体信息和可能的内容3。许多HTTP通讯是由一个用户代理初始化的并且包括一个申请在源服务器上资源的请求。最简单的情况可能是在用户代理和服务器之间通过一个单独的连接来完成。在Internet上,HTTP通讯通常发生在TCP/IP连接之上。缺省端口是TCP80,但其它的端口也是可用的。但这并不预示着HTTP协议在Internet或其它网络的其它协议之上才能完成。HTTP只预示着一个可靠的传输3。在WWW中,“客户”与“服务器”是一个相对的概念,只存在于一个特定的连接期间,即在某个连接中的客户在另一个连接中可能作为服务器。基于HTTP协议的客户/服务器模式的信息交换过程,它分四个过程:建立连接、发送请求信息、发送响应信息、关闭连接3。其实简单说就是任何服务器除了包括HTML文件以外,还有一个HTTP驻留程序,用于响应用户请求。浏览器是HTTP客户,向服务器发送请求,当浏览器中输入了一个开始文件或点击了一个超级链接时,浏览器就向服务器发送了HTTP请求,此请求被送往由IP地址指定的URL。驻留程序接收到请求,在进行必要的操作后回送所要求的文件。在这一过程中,在网络上发送和接收的数据已经被分成一个或多个数据包(packet),每个数据包包括:要传送的数据;控制信息,即告诉网络怎样处理数据包。TCP/IP决定了每个数据包的格式。在传输过程中信息被分成用于传输和再重新组合起来的许多小块。2.2 Windows Socket Windows Socket规范以U.C. Berkeley大学BSD UNIX中流行的Socket接口为范例定义了一套Micosoft Windows下网络编程接口。它不仅包含了人们所熟悉的Berkeley Socket风格的库函数;也包含了一组针对Windows的扩展库函数,以使程序员能充分地利用Windows消息驱动机制进行编程9。Windows Sockets规范本意在于提供给应用程序开发者一套简单的API,并让各家网络软件供应商共同遵守。此外,在一个特定版本Windows的基础上,Windows Sockets也定义了一个二进制接口(ABI),以此来保证应用Windows Sockets API的应用程序能够在任何网络软件供应商的符合Windows Sockets协议的实现上工作。因此这份规范定义了应用程序开发者能够使用,并且网络软件供应商能够实现的一套库函数调用和相关语义9。遵守这套Windows Sockets规范的网络软件,我们称之为Windows Sockets兼容的,而Windows Sockets兼容实现的提供者,我们称之为Windows Sockets提供者。一个网络软件供应商必须百分之百地实现Windows Sockets规范才能做到现Windows Sockets兼容。任何能够与Windows Sockets兼容实现协同工作的应用程序就被认为是具有Windows Sockets接口。我们称这种应用程序为Windows Sockets应用程序。Windows Sockets规范定义并记录了如何使用API与Internet协议族(IPS,通常我们指的是TCP/IP)连接,尤其要指出的是所有的Windows Sockets实现都支持流套接口和数据报套接口。应用程序调用Windows Sockets的API实现相互之间的通讯。Windows Sockets又利用下层的网络通讯协议功能和操作系统调用实现实际的通讯工作。它们之间的关系如图2-1。图2-1 网络协议和操作系统关系图Windows Sockets规范是建立在Bekeley接口模型上的。这个模型现在已是TCP/IP网络的标准。它提供了习惯于UNIX套接口编程的程序员极为熟悉的环境,并且简化了移植现有的基于套接口的应用程序源代码的工作。Windows Sockets API也是和4.3BSD的要求一致的。Microsoft针对Windows 的接口进行了扩展。这一套Windows Socket API能够在所有3.0以上版本的Windows和所有Windows Socket实现上使用,所以它不仅为Windwos Socket实现和Windows Sockets应用程序提供了16位操作环境,而且也提供了32位操作环境。Windows Sockets也支持多线程的Windows进程。一个进程包含了一个或多个同时执行的线程。在Windows 3.1非多线程版本中,一个任务对应了一个仅具有单个线程的进程。而我们在本书中所提到的线程均是指在多线程Windows环境中的真正意义的线程。在非多线程环境中(例如Windows 3.0)这个术语是指Windows Sockets进程。 Windows Sockets规范中的针对Windows的扩展部分为应用程序开发者提供了开发具有Windows应用软件的功能。它有利于使程序员写出更加稳定并且更加高效的程序,也有助于在非占先Windows版本中使多个应用程序在多任务情况下更好地运作。除了WSAStartup()和WSACleanup()两个函数除外,其他的Windows扩展函数的使用不是强制性的。2.3 Windows服务程序Microsoft Windows 服务,也就是以前的 NT 服务。能够创建在它们自己的 Windows 会话中可长时间运行的可执行应用程序。这些服务可以在计算机启动时自动启动,可以暂停和重新启动而且不显示任何用户界面。这使服务非常适合在服务器上使用,或任何时候,为了不影响在同一台计算机上工作的其他用户,需要长时间运行功能时使用。还可以在不同于登录用户的特定用户帐户或默认计算机帐户的安全上下文中运行服务。VC为Windows服务程序的开发提供了基本框架函数,这里主要是四个函数 OpenSCManager,CreateService, OpenService,和ControlService。OpenSCManager 用于打开服务控制管理器;CreateService 用于创建服务;OpenService用于打开已有的服务,返回该服务的句柄;ControlService则用于控制已打开的服务状态。另外还提供了DeleteService函数, 用于删除指定服务。另外VC还提供了服务主线程函数和控制函数,RegisterServiceCtrlHandler 和status.dwControlsAccepted。2.3.1服务生存期服务在其生存期内要经历几个内部状态。首先,将服务安装在将要运行它的系统上。此进程执行服务项目的安装程序,并将服务加载到该计算机的服务控制管理器中。服务控制管理器是由 Windows 提供的管理服务的中央实用工具。服务加载后,必须启动。启动服务使服务开始运行。可以从服务控制管理器、从“服务器资源管理器”或通过调用 ServiceController.star 方法从代码启动服务。Start 方法将处理传递给应用程序的 OnStart方法并处理您在那里定义的任何代码。运行的服务可以以这种状态无限期地存在下去,直到它被停止或暂停或者计算机关闭。服务可以以三种基本状态之一存在:运行、暂停或停止。服务也可以报告挂起命令的状态:ContinuePending、PausePending、StartPending 或 StopPending。这些状态指示命令已经发出(如暂停正在运行的服务的命令),但尚未执行。可以查询 ServiceController.Status 属性来确定服务的状态,或者使用 ServiceController.WaitForStatus 方法在这些状态中的任何状态发生时执行某个操作。可以从服务控制管理器、从“服务器资源管理器”或通过从代码调用方法来暂停、停止或继续服务。每种操作都可以调用服务中的一种相关过程(OnStop、OnPause 或 OnContinue),在其中可以定义当服务状态更改时所执行的其他处理。2.3.2创建服务程序的步骤在“属性”窗口中,设置服务的 ServiceName 属性。 ServiceName 属性的值必须始终与安装程序类中记录的名称匹配。如果更改此属性,还必须更新安装程序类中的 ServiceName 属性。表2-1是几个重要属性的设置。(1) 当 CanStop 或 CanPauseandContinue 设置为 false 时,服务控制管理器将禁用停止、暂停或继续服务的相应菜单选项。(2) 访问代码编辑器,并为 OnStart 和 OnStop 过程填写所需的处理。(3) 重写其他所有要为其定义功能的方法。 (4) 添加服务应用程序所必需的安装程序。 (5) 通过从“生成”菜单中选择“生成解决方案”来生成项目。表2-1 服务程序部分属性表 属性 设置属性设置CanStopTrue 表示服务将接受停止运行的请求;false 表示禁止服务停止。CanShutDownTrue 表示服务希望在运行它的计算机关闭时收到通知,以便能够调用 OnShutDown 过程。CanPauseAndContinueTrue 表示服务将接受暂停或继续运行的请求;false 表示禁止服务暂停和继续。 CanHandlePowerEventTrue 表示该服务可以处理有关计算机电源状态更改的通知;false 表示禁止服务得到有关这些更改的通知。AutoLogTrue 表示在服务执行操作时将信息项写入应用程序的事件日志;false 表示禁用此功能。有关更多信息,请参见记录关于服务的信息 注意默认情况下,AutoLog 设置为 true。第3章需求分析与总体设计3.1 电梯监控系统的总体设计方案电梯无线远程监视系统是移动GSM无线网络与INTERNET网络完美结合;可采集各类型电梯的运行速据,如轿箱位置,运行速度等,无线远传实施电梯互联网远程监视。电梯终端模块首先采集电梯原始数据并通过移动GSM无线网络发送到USSD服务器,USSD服务器将收到的报文重新编码后再转发给电梯监控中心服务器。监控中心的数据解析接口再将报文解析为可被人直接识别的电梯状态数据保存在数据库服务器供管理人员查看。管理员可以通过一太连接到Internet上的计算机登陆在监控中心应用服务器进行各种监控工作。该电梯远程监控系统应具备的功能包括:利用移动通讯网的数据业务,实现电梯实时、定时数据传送的低成本电梯监视;任何上网电脑都可以通过登录指定网址授权成为监视中心,监视中心无需安装任何软件;多级权限管理,厂家监视,小区监视任意设定;监视中心、维修人员与电梯控制系统之间实现电梯故障短信报警;监视中心具有维护记录查询功能;监视中心具有电梯运行状态评价功能;监视中心软件的数据库管理功能可提供数十万台电梯的档案管理、运行记录、故障记录及维护记录的查询打印功能。3.1.1电梯监控系统的组网结构电梯USSD项目是由WEB服务器、应用(通讯)服务器和数据库服务器组成。WEB服务器显示各电梯终端数据,应用服务器与USSD网关连接,处理电梯终端数据。数据库服务器存放电梯终端相关数据。电梯终端发送数据,经过移动核心网络、USSD网关,传送到应用服务器。应用服务器经过数据解析,并返回数据到电梯终端。同时把相关电梯数据存放到数据库服务器,供WEB服务器调用,显示给管理人员查看。图3-1电梯监控系统组网结构图3.1.2 电梯监控系统的接口描述 (1) USSD接口。USSD接口配置在USSD网关服务器中,其主要职责是收到电梯终端发送的电梯状态数据后将数据进行编码,然后转发给电梯监控中心服务器。(2) 数据解析接口。数据解析接口配置在电梯监控中心的应用服务器中,主要职责是接收来自USSD网关服务器的数据包,解析数据包中的电梯状态报文并将其保存在数据库服务器。(3) 网站显示接口。网站显示接口配置在电梯监控系统中的应用服务器,主要职责是使管理员能够通过互联网登陆电梯管理平台,进行电梯终端管理和控制。主要负责直接监控电梯状态数据,数据通信基于HTTP协议。3.2数据解析接口的设计 数据解析接口是整个电梯监控系统的核心接口,它负责接收USSD数据包,并完成数据解析和电梯状态信息的存储,是衔接系统各组成部分协同工作的中心环节。基于该接口的开发要求,在设计过程中将其分解为数据接收、报文解析、数据存储三个主要模块,其中数据接收模块负责处理与USSD网关的数据通信任务,报文解析模块负责解码USSD数据包、数据存储模块负责完成对数据库服务器的访问。3.2.1数据解析接口的工作流程数据解析接口在电梯监控中心服务器工作,USSD网关服务器把数据进行编码,发送到监控中心服务器。监控中心收到数据后,由数据解析程序进行解码,并把相关数据存放到数据库中。图3-2为数据解析接口程序的工作流程。开始接收USSD数据包是否为规定报文数据解析模块完成数据解析数据存储模块完成数据保存结束是否图3-2 数据解析接口工作流程3.2.1数据接收模块的设计数据接收模块的功能是与USSD网关服务器通信,接收来自USSD网关的电梯状态报文。接收工作通过监控中心服务器与USSD网关服务器建立Socket连接实现。通信分为USSD服务器发起发送请求和电梯监控中心服务器主动申请数据两种,因此需要针对不同情况分别设计。(1) 电梯监控中心作为服务器端接收数据的工作方式电梯终端发起PSSRR数据包连接请求,监控中心收到后回复USSRR数据包响应。这样,电梯终端就和监控中心的链路就建立了。电梯终端发送USSRC数据内容,监控中心回应USSRR数据包响应。最后,由电梯终端发送RELC数据包断开连接。完整的通信过程可由时序图3-3表示。电梯终端监控中心发起请求PSSRR回应请求USSRR发送数据USSRC回应数据USSRR.断开连接RELC图3-3 电梯终端请求通信图(2) 电梯监控中心作为客户端主动申请数据的工作方式监控中心发起OPENR数据包连接请求,USSD网关收到后回复OPENC数据包响应。监控中心再发起USSRR数据包请求,电梯终端收到后回复USSRA数据包响应。这样,监控中心和电梯终端的链路就建立了。监控中心发送USSRR数据内容,电梯终端回应USSRC数据包响应。最后,由监控中心发起RELR数据包断开请求,电梯终端回应RELC数据包断开连接。该通信过程可由时序图3-4表示。电梯终端监控中心发起请求OPENR回应请求OPENC发送请求USSRR回应请求USSRA发送数据USSRR回应数据USSRC.发送断开RELR断开连接RELC图3-4 监控中心请求通信图 3.2.2数据解析模块的设计数据解析模块的工作是将USSD网关发送的数据报内容解析为可被人识别的电梯状态数据,其中表示电梯状态的报文内容为自定义格式,表3-1描述了报文格式及含义。表3-1 USSD报文含义表字节偏移量报文涵义注释0报文类型43为C报文,46为F报文1当前楼层数字量即为当前楼层续表3-12当前工作方式0为驻停,1为检修,2为自动,3为消防3开关门状态0为开门,1为关门4上下行状态0上行,1下行,2停留5载重状态0超载,1满载,2未满载6当前速度0满速,1换速,2急停例如在报文内容为 43060201010100时,所表示的含义是报文类型为C,电梯当前在6楼,电梯当前工作方式为自动,电梯关门,下行,满载,满速行驶中。3.2.3数据存储模块实现概述数据存储模块的功能是将数据解析模块解析出的电梯状态数据保存在数据库服务器中的电梯状态表STATE1中。表3-2为电梯状态表STATE1的字段结构,该表存放了解析后的电梯状态数据。表3-2 电梯状态表 字段名称字段类型简要说明ID自动编号电梯状态IDtype文本报文类型nowfloor文本当前楼层workway文本当前工作方式door文本开关门状态operation文本运行方向load文本载重情况speed文本当前速度情况date日期/时间取存储时间ID字段类型为自动编号,在对此表作添加操作时不能具体指定此字段的值,数据库系统会自动生成一个唯一的值;也不能对此字段做修改操作。Type、nowfloor,workway,door,operation,load,speed字段为文本型,分别表示报文类型,当前楼层,当前工作方式,开关门状态,运行方向,载重情况,当前速度情况。date字段为日期/时间型,其值表示数据库服务器收到数据的当前时间。第4章 详细设计与实现4.1服务程序的创建Windows NT系列的操作系统与Windows 9x有一个非常重要的区别,即Windows NT提供了很多功能强大的服务 (Service)。这些服务可以随着系统的启动而自启动,也可以让用户通过控制面板启动,还可以被Win32应用程序起停,甚至在没有用户登录系统的情况下,这些Service也能执行。服务程序的功能和开发方式与普通的Windows应用程序有较大区别,本节对服务程序的实现给出详细说明。必须将服务应用程序项目创建的已编译可执行文件安装在服务器上,此项目才能以有意义的方式运行。不能立即运行服务或进入并单步执行其代码。相反,必须安装和启动服务,然后将一个调试器附加到服务的进程中。与一些类型的项目不同,对于服务应用程序,必须为其创建安装组件。安装组件在服务器上安装和注册服务,并用 Windows 服务控制管理器为服务创建一个项。 服务应用程序的 Main 方法必须为项目包含的服务发出 Run 命令。Run 方法将服务加载到适当服务器上的服务控制管理器中。如果使用 Windows 服务项目模板,系统将自动写此方法。加载服务与启动服务不同。 Windows 服务应用程序在不同于登录用户的交互区域的窗口区域中运行。窗口区域是包含剪贴板、一组全局原子和一组桌面对象的安全对象。由于 Windows 服务的区域不是交互区域,因此 Windows 服务应用程序中引发的对话框将是不可见的,并且可能导致程序停止响应。同样,错误信息应记录在 Windows 事件日志中,而不是在用户界面中引发。 Windows 服务应用程序在各自的安全上下文中运行,并且在用户登录到安装有该程序的 Windows 计算机之前启动。应仔细计划在哪些用户帐户内运行服务;在系统帐户下运行的服务比在用户帐户下运行的服务具有更多的权限和特权。 服务控制管理器 service control manager(SCM),SCM在系统启动的时候就会启动,其主要的作用有以下几个方面。(1) 维持了一张已安装的服务的数据表;(2) 根据策略在系统启动时启动服务或者在需要的时候启动服务;(3) 枚举已经安装的服务;(4) 维持了正在运行的服务的状态信息;(5) 向正在运行的服务发送控制信息;(6) 对服务数据库的锁定管理SCM所维持的数据库可以在注册表的下列子键中找到:HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServices。SCM通过三类程序的方法来实现对服务的管理:Service program、Service configuration program 和 Service control program Service Program是被注册成服务的程序主体,它必须符合服务控制器(SCM)的接口规范,这样才能被SCM控制(包括启动,停止等等),一个服务程序内可以包含一个服务或多个服务的执行代码,但是它们都拥有固定的三个部分:服务main函数,服务ServiceMain函数和服务Control Handler函数。 4.1.1 Main函数main()是Service的主线程当servie control manager开始一个Service进程时,它总是等待这个Service去调用StartServiceCtrlDispatcher()函数。main( )作为这个进程的主线程应该在程序开始后尽快调用StartServiceCtrlDispatcher()。StartServiceCtrlDispatcher()在被调用后并不立即返回,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026重庆市畜牧科学院草业研究所食品加工研究所招聘1人模拟试卷附参考答案详解【综合卷】
- 护理查房中的疼痛管理策略
- Unit 2 Home Sweet Home (Period 3)Section A (Grammar Focus-3c)同步练25025-2026学年人教版八年级上册英语
- 2026安徽东南医学科技发展有限责任公司招聘编辑人员2人备考题库【能力提升】附答案详解
- 2025-2026学年上海宝山区八年级下学期期末数学试卷及答案
- 护理创新与科技
- 旅游景区笔试题及答案
- 湖北麻城思源学校2026年数学八上期末考试试题含解析
- 宿迁职业技术学院《施工与管理》2026-2027学年第一学期期末试卷含解析
- 河南省南阳市邓州市张村乡中学2027届数学八年级第一学期期末达标检测模拟试题含解析
- 施工现场迎检布置实施方案
- GB/T 1969-2026多孔陶瓷渗透率试验方法
- 2025年湖南省张家界市事业单位人员招聘笔试试题及答案详解
- 2026贵州省专业技术人员继续教育公需科目考试题库
- 2026年重庆市中考历史真题(原卷版+解析版)
- 2026年黑龙江、吉林、辽宁、内蒙古高考物理试卷(含答案及解析)
- 2026年秋季新教材统编版九年级上册道德与法治全册知识点背诵提纲精简版
- 中国不稳定型心绞痛临床诊疗指南(2025版)
- 2026上海市检察系统辅助文员招聘考试参考试题及答案解析
- 2026-2030中国激光打印机行业发展现状与市场前景趋势洞察报告
- 透析患者急性左心衰护理
评论
0/150
提交评论