基于动态协议的网络视频监控系统的设计与实现.doc_第1页
基于动态协议的网络视频监控系统的设计与实现.doc_第2页
基于动态协议的网络视频监控系统的设计与实现.doc_第3页
基于动态协议的网络视频监控系统的设计与实现.doc_第4页
基于动态协议的网络视频监控系统的设计与实现.doc_第5页
已阅读5页,还剩131页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于动态协议的网络视频监控系统的设计与实现- 0 - 长沙学院毕业设计 摘 要随着社会发展和科技进步,安防系统在社会生活和工业生产中发挥着越来越重要的作用,网络视频监控以其强大、丰富、便捷的特点成为当前安防系统的发展主流,在安防体系中占有举足轻重的地位。网络视频监控是完全基于IP技术,但由于我国目前的公网IP地址资源十分匮乏,对于网络视频监控系统中网络摄像头配置IP,最好的办法就是在廉价的动态IP上寻求解决途径。本课题的目的在于节约安防行业系统中的静态IP使用资源,设计并实现了基于动态协议的网络视频监控系统。在设计方面,首先对网络视频监控系统进行调研后,提出了本次系统设计的功能需求并探讨了基于动态网络视频监控系统的开发过程,着重分析了网络视频系统中前端摄像头驱动、视频流采集、Web平台以及TCP socket功能实现的衔接并给出了详细的设计方案,最后对本次系统开发工作进行了全面总结和展望。关键词:网络视频监控系统,动态IP,视频流采集,TCP socketABSTRACTWith the development of the society and the progress of science and technology, security system has played an increasingly important role in the social life and industrial production. Network video monitoring system with its powerful, rich, and convenient features becomes the main trend of the development of security system and plays an important role in the security system. Network video monitoring system is completely based on IP technology, but the static IP resource is very limited in our country at present. As to the configuration of IP cameras in the network video monitoring system, the best way is to seek solutions on the cheap dynamic IP.The purpose of this design is to save resources for static IP used in the security industry system, and design and implement a video monitoring system based on dynamic protocol of network. In terms of design, first of all, after investigation and research on network video monitoring system, this paper puts forward the functional requirements of system design and discusses the development process on the basis of dynamic network video monitoring system. The paper places great emphasis on the the front camera driver, video collection, web platform and the TCP socket function of cohesion. It gives a detailed designing plan and finally carries out a comprehensive summary and outlook for the system development .Keywords:Network Video Monitoring System, The Dynamic IP, Video Collection, TCP Sockets - 136 -前言随着宽带网络的普及,视频监控逐渐从本地监控向远程监控发展,网络视频监控系统应运而生。在网络视频监控系统中,由于监控业务平台和前端网络摄像机的通讯,需要前端网络摄像机一端处具有静态公网IP,这样才能让远程监控中心可以通过IP地址直接找到监控网络摄像机,然而我国目前静态IP资源非常短缺。本设计旨在实现基于动态协议的网络视频监控系统,系统需搭建监控业务平台、手机Wap客户端以及创建各个模块的接口。前端摄像头因条件限制则采用普通USB摄像头加驱动程序组建成的网络摄像头。在前端网络摄像头与业务平台对话之间,需拟定一条特殊协议,使前端网络摄像头能在动态IP环境支持下随时将自己数据发送给监控业务平台,使平台在节约IP资源的同时方便对前端摄像头的管理。整个系统搭建条件建立在本人实习工作期间所获取的专业技术与知识,经过学习加以吸收继而在原有的基础上创造设计并实现。本文档由两部分构成:设计说明书和过程管理资料。设计说明书部分中只包含本应用的设计说明书;过程管理资料包含毕业设计课题任务书、本科毕业设计开题报告、本科毕业设计中期报告、毕业设计指导教师评阅表、毕业设计评阅教师评阅表、毕业设计答辩评审表。 需求规格说明书1 引言1.1 编写的目的本文档的目的主要是说明基于动态协议的网络视频监控系统的详细设计与实现。本文详细介绍了系统中各个模块的设计与实现细节以及关键技术的应用。其中,对每一个模块都配有相应的文字说明以及相关设计流程图给出。为使用户、相关分析人员对该系统的初始规定有更直观、全面的理解,文档中说明了本产品的各项功能需求、性能需求和数据要求并明确标识各功能的实现过程,阐述了实用背景、范围以及客户解决问题或达到目标所需的条件或权能,并提供了一个度量和遵循的基准。本文档读者:开发人员、测试人员、项目经理。1.2 背景a. 待开发的系统的名称:基于动态协议的网络视频监控系统的设计与实现;b. 本项目的任务提出者:刘欣、开发者:杨刚、用户:适用于广大群众;c. 本系统是“基于动态协议的网络视频监控系统”,是本人在广州网视通信息科技有限公司实习期间在学习与工作的基础上提升认知、经导师点拨提出设计的项目。本项目设计旨在节约网络视频监控系统中静态IP的使用,使监控前端摄像头与监控业务平台通过指定的动态协议进行对话。1.3 定义CGI:公共网关接口CGI(Common GatewayInterface) 是WWW技术中最重要的技术之一,有着不可替代的重要地位。CGI是外部应用程序(CGI程序)与Web服务器之间的接口标准,是在CGI程序和Web服务器之间传递信息的规程。CGI规范允许Web服务器执行外部程序,并将它们的输出发送给Web浏览器,CGI将Web的一组简单的静态超媒体文档变成一个完整的新的交互式媒体7。 Socket:socket的英文原义是“孔”或“插座”。作为4BDS UNIX的进程通信机制,取后一种意思。通常也称作套接字,用于描述IP地址和端口,是一个通信链的句柄。在Internet上的主机一般运行了多个服务软件,同时提供几种服务。每种服务都打开一个Socket,并绑定到一个端口上,不同的端口对应于不同的服务。Socket正如其英文原意那样,象一个多孔插座。一台主机犹如布满各种插座的房间,每个插座有一个编号,有的插座提供220伏交流电, 有的提供110伏交流电,有的则提供有线电视节目。 客户软件将插头插到不同编号的插座,就可以得到不同的服务7。J2ME:Java ME 以往称作J2ME(Java Platform,Micro Edition),是为机顶盒、移动电话和PDA之类嵌入式消费电子设备提供的Java语言平台,包括虚拟机和一系列标准化的Java API。它和Java SE、Java EE一起构成Java技术的三大版本,并且同样是通过JCP(Java Community Process)制订的。MySql:小型关系型数据库管理系统,具有体积小、速度快、总体拥有成本低、开放源码等特点,支持多种操作系统,为多种编程语言提供API,操作简单。HTTP:(hypertext transport protocol,超文本传送协议)一种详细规定了浏览器和万维网服务器之间互相通信的规则,通过因特网传送万维网文档的数据传送协议。JSP:JSP(Java Server Pages)是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP技术有点类似ASP技术,它是在传统的网页HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件(*.jsp)。 用JSP开发的Web应用是跨平台的,既能在Linux下运行,也能在其他操作系统上运行。1.4 参考资料1 潘国辉.智能网络视频监控M.北京:清华大学出版社,2010:11-28.2 郑亮亮,吴小强.IP高清监控系统的工程设计实践J.安防经理第31期:3-9.3 罗宏亮.IP视频监控系统的稳定性设计D.安防经理第32期:2-11.4 杨延双,张建,王全民.TCPIP协议分析与应用C.机械工业出版社.2010.5 王挺等.C+程序设计M.北京:清华大学出版社.2005.6 百度百科./.2 任务概述2.1 目标本项目旨在设计基于动态协议的网络视频监控系统,包含前端网络摄像头的模拟、Web业务平台、手机WAP客户端以及各个模块之间对话的铺设。在网络视频监控系统中,由于监控业务平台和前端网络摄像机的通讯,需要网络摄像机具有静态的公网IP,这样才能让监控业务平台可以通过IP地址寻找到网络摄像机。实现本系统功能关键设计在于监控业务平台与网络摄像机对话之间添加一条协议:网络摄像机在上线获取监控平台信息时,将自身信息及动态IP信息发送给监控业务平台,使监控业务平台能有效对摄像头进行管理。整个系统拓扑结构图如图2.1所示。图2.1系统拓扑结构图2.2用户的特点最终用户:适用于广大群众操作人员:适用于广大群众2.3 假定和约束1) 国家相关草案规定,“公共安全视频图像信息系统管理不得泄露国家秘密和商业秘密,不得侵犯个人隐私及其他合法权益”,本系统的设计与安全监控的摄像头存在本质区别:l 拍摄用途:据用户需求进行某个人区域监控l 安装位置:视用户需求安装在某合法领域l 拍摄区域:视用户需求监控在某合法领域l 画面大小:为适应手机观看,画面大小与帧数做必要精简 l 画面清晰度:USB摄像头模拟成网络摄像头,清晰度较低 2) 开发环境约束:如表2.1所示。表2.1开发环境约束表需求名称详细要求数据库服务器一台服务器作为数据库服务器,要求:CPU P4 1G以上,内12G以上,硬盘80G以上;操作系统Windows 8;数据库系统为mysql应用服务器一台服务器作为应用服务器,要求:CPU P4 1G以上,内存1G以上,硬盘80G以上;操作系统Windows 8;应用服务器系统为Web前端摄像头通过对USB摄像头的模拟,让其实现网络摄像头的功能客户端1、 IE浏览器,要求在Internet Explorer 6.0或更高版本浏览器中运行。2、 手机Wap客户端3 需求规定3.1 对功能的规定系统在模块上划分为为三大部分:Web业务平台、前端网络摄像头、手机Wap客户端。整个系统的时序图如图3.1所示。图3.1系统时序图3.1.1 Web业务平台系统功能规定系统提供强大的平台管理业务支撑能力,主要包括权限管理,用户管理,设备管理,系统管理等功能,如图3.2所示。图3.2 Web业务平台系统用例图l 权限管理角色管理:设置和更新不同权限的系统管理角色信息模块管理:设置和更新系统模块和非系统模块系统用户管理:可对系统管理员进行设置,包括启用和禁用相关信息l 用户管理用户信息列表:查询,增加,更新用户相关信息用户设备信息:查询,增加,更新系统设备相关信息,如摄像机IP,端口,设备类型,名称等l 设备管理设备信息管理:管理和查询系统内所有设备信息设备参数管理:对设备协议,地址,波特率等相关参数进行配置l 系统管理日志管理:查看平台管理系统用户登录信息用户登录信息管理:查看前台系统用户登录信息手机登录信息管理:查看用户手机登录相关信息3.1.2前台门户功能规定基于运营商角色的Web配置管理功能。包含个人资料,所有设备,设备管理,用户管理等。用例图如图3.3所示。图3.3 用户用例图l 个人资料管理查看个人资料绑定邮箱和手机,密码丢失后方便找回自行修改用户部分信息以及密码l 查看所有设备查看系统所有设备,支持搜索查看和分组查看l 设备管理添加设备:方便快捷的将新安装的设备加入系统系统3.1.3 手机Wap客户端功能规定l 实时监控:用户登录后可对自己名下的摄像头所监控区域进行随时随地的实时监控3.1.4 前端摄像头功能规定l 捕获视频源l 采集监控视频以及画面3.2 对性能的规定3.2.1精度时间精度:时间的保存精确到秒。3.2.2时间特性要求平均响应时间:在网速大于100KB每秒的条件下,在5秒之内能打开并显示页面。常用功能响应时间:使用频率高的功能需要优化好,比如主页的显示,在10秒内能获取到数据库返回的数据并显示在页面上。3.2.3灵活性默认支持的用户数需要达到上万级别的规模。当用户数超过万级别,仅仅通过增加成本低廉的硬件,进行简单地配置,可以支持更多的用户,而不需要对程序进行大的改动。增加新的功能是容易扩展的,很少需要动底层代码,只需要加上层的文件。3.3 输入输出要求本系统中存在不同的功能模块,对模块之间的输入输出项作特定的规范和要求,可以使得定义的输入输出项更加合理有效,方便不同模块间数据的传递。系统中用户具体的输入输出要求如表3.1所示。表3.1 输入输出要求表功能编号功能名称输入系统响应输出TK-USER-01用户注册信息的长度验证用户名、密码、注册邮箱验证注册邮箱、用户名、密码长度是否符合要求输出长度验证结果信息TK-USER-02用户注册信息的格式验证注册邮箱验证注册邮箱是否符合特定的邮箱格式输出格式验证结果信息TK-USER-03用户注册信息的一致性验证密码、确认密码验证密码和确认密码输入是否一致输出一致性验证结果信息TK-USER-04用户注册信息的异步验证注册邮箱、用户名查询用户表是否存在用户输入的数据,并将查询结果返回到页面中输出验证结果信息TK-USER-05空值验证邮箱,密码判断邮箱输入框、密码输入框是否为空输出验证信息系统中用户具体的输入输出要求如表3.2所示。表3.2输入输出要求表功能编号功能名称输入系统响应输出TK-CAMERA-01添加摄像头信息的长度验证摄像头名、密码、IP验证摄像头名、密码、IP长度是否符合要求输出长度验证结果信息TK-USER-02摄像头信息的格式验证IP验证IP信息是否符合特定的IP格式输出格式验证结果信息3.4 数据管理能力要求视频存储估算:视存储格式、视频码流而定3.5 故障处理要求根据系统的需求说明书,项目负责人、软件分析设计人员以及编程人员对系统进行检查,维护和整修。3.6 其他专门要求采用良好的人/机交互界面设计以及目前主流的浏览器技术,以提高系统对用户操作和控制的支持。系统提供方便学习的人机界面,提供直观、快捷的窗口操作。4 运行环境规定4.1 设备智能终端设备4.2 支持软件支持软件见表4.1。表4.1 支持软件一栏表名称技术参数性能备注操作系统Windows 8Web服务器MyEclipse8.5/Tomcat6.0非并发后期可考虑tomcat集群或增加前置代理机制数据库服务器MySQL5.5并发200个数据连接,连接池机制。应用服务器Tomcat6.0/MySQL5.5非并发10,并发100个数据连接,连接池机制。后期可考虑tomcat集群或增加前置代理机制4.3 接口1. 外部接口:1 网页用户界面:在用户界面部分,根据需求分析的结果,用户需要一个用户友善界面。在界面设计上,应做到简单明了,易于操作,并且要注意到界面的布局。外观上也要做到合理化,考虑到用户多对WINDOW 风格较熟悉,应尽量向这一方向靠拢。在设计语言上,已决定使用HTML语言进行编程,在界面上可使用所提供的可视化组件向WINDOWS 风格靠近。总的来说,系统的用户界面应作到可靠性、简单性、易学习和使用。2 软件接口:服务器程序使用C+ 语言进行编程,完成对功能的实现以及接口的访问。在网络软件接口方面,使用一种socket的传输协议,对数据进行网络传输及接收。2. 硬件接口:1 在输入方面,对于摄像头,SD卡的输入,可用C+程序的标准输入/输出,对输入进行读写在输出方面,用C+程序的标准输入/输出,对其进行处理。网络输出方面,我们通过cgi接口协议,以及socket进行实现。基于动态协议的网络视频监控系统软件设计说明书V1.3编 制 审 核 批 准 长沙学院二零一三年四月十日软件设计说明书1 引言1.1 编写目的本文档是基于动态协议的网络视频监控系统的软件设计说明书。通过此文档有助于开发人员与设计人员对功能与模块的整体把握,便于用户对网络视频监控系统的深入了解。文档中阐述了系统模块开发的背景、术语、软件结构和功能等一系列相关内容,旨在帮助读者了解这一系统模块的软件结构和包含的功能,方便后续整理和测试工作的开展,为项目的最终验收打下一个很好的基础。本文档的预期读者:项目开发人员、测试人员。1.2 背景a.待开发软件系统的名称:基于动态协议的网络视频监控系统的设计与实现;b.列出本项目的任务提出者:刘欣、开发者:杨刚、用户:适用于广大群众。1.3 定义CGI:公共网关接口CGI(Common GatewayInterface) 是WWW技术中最重要的技术之一,有着不可替代的重要地位。CGI是外部应用程序(CGI程序)与Web服务器之间的接口标准,是在CGI程序和Web服务器之间传递信息的规程。CGI规范允许Web服务器执行外部程序,并将它们的输出发送给Web浏览器,CGI将Web的一组简单的静态超媒体文档变成一个完整的新的交互式媒体7。 Socket:socket的英文原义是“孔”或“插座”。作为4BDS UNIX的进程通信机制,取后一种意思。通常也称作套接字,用于描述IP地址和端口,是一个通信链的句柄。在Internet上的主机一般运行了多个服务软件,同时提供几种服务。每种服务都打开一个Socket,并绑定到一个端口上,不同的端口对应于不同的服务。Socket正如其英文原意那样,象一个多孔插座。一台主机犹如布满各种插座的房间,每个插座有一个编号,有的插座提供220伏交流电, 有的提供110伏交流电,有的则提供有线电视节目。 客户软件将插头插到不同编号的插座,就可以得到不同的服务7。J2ME:Java ME 以往称作J2ME(Java Platform,Micro Edition),是为机顶盒、移动电话和PDA之类嵌入式消费电子设备提供的Java语言平台,包括虚拟机和一系列标准化的Java API。它和Java SE、Java EE一起构成Java技术的三大版本,并且同样是通过JCP(Java Community Process)制订的。WTK:WTK 的全称是Sun J2ME Wireless Toolkit Sun的无线开发工具包。这一工具包的设计目的是为了帮助开发人员简化j2me的开发过程。使用其中的工具可以开发与 Java Technology for the Wireless Industry (JTWI, JSR 185) 规范兼容的设备上运行的j2me 应用程序。1.4 参考资料1 潘国辉.智能网络视频监控M.北京:清华大学出版社,2010:11-28.2 郑亮亮,吴小强.IP高清监控系统的工程设计实践J.安防经理第31期:3-9.3 罗宏亮.IP视频监控系统的稳定性设计D.安防经理第32期:2-11.4 杨延双,张建,王全民.TCPIP协议分析与应用C.机械工业出版社.2010.5 王挺等.C+程序设计M.北京:清华大学出版社.2005.6 百度百科./.2 总体设计2.1 需求规定参看需求规格说明书。2.2 运行环境a.操作系统 windows XP/Vista/Win7/Win8b.中间件 Myeclipse、Microsoft Visual C+、Tomcat 6.0c.数据库 MySql 5.52.3 基本设计概念和处理流程本系统的设计共分为三大模块,分别为Web业务平台、前端摄像头、手机Wap客户端。其中Web业务平台是基于MVC模式,采用SSH框架、运用JQuery技术构建而成。前端摄像头则采用USB电脑摄像头通过驱动程序使其模拟成网络摄像头,具有收集画面以及视频的功能。手机Wap客户端则能够在一定条件下对网络摄像头监控画面进行查看。整个系统中,每个模块的功能都是紧密相连的,系统的事件处理流程如图2.1所示:图2.1 系统事件处理流程图2.4 系统结构系统结构如图2.2所示。图2.2 系统结构图2.5 功能需求与程序的关系本条用一张矩阵图说明各项功能需求的实现同各模块的分配关系。如表2.1所示。表2.1功能需求与程序模块的关系视频模块用户管理模块摄像头管理模块系统模块实时视频用户管理摄像头管理系统设置3 接口设计3.1 用户接口Web登录界面。3.2 外部接口网页用户界面:在用户界面部分,根据需求分析的结果,用户需要一个用户友善界面。在界面设计上,应做到简单明了,易于操作,并且要注意到界面的布局。外观上也要做到合理化,考虑到用户多对WINDOW 风格较熟悉,应尽量向这一方向靠拢。在设计语言上,已决定使用HTML语言进行编程,在界面上可使用所提供的可视化组件向WINDOWS 风格靠近。总的来说,系统的用户界面应作到可靠性、简单性、易学习和使用。在输入方面,对于摄像头,SD卡的输入,可用C+程序的标准输入/输出,对输入进行读写。3.3 内部接口服务器程序使用C+ 语言进行编程,完成对功能的实现以及接口的访问。在网络软件接口方面,使用TCP socket的服务功能,对数据进行网络传输及接收。4 运行设计4.1 运行模块组合前端网络摄像头利用USB摄像头通过程序驱动而成。5 系统数据结构设计参看数据库设计说明书。6 系统出错处理设计6.1 出错信息由于Web业务平台中很多地方都涉及到数据的验证,所以特别将有可能出现的错误以一览表的形式展现出来,如表6.1所示。表6.1 出错信息一览表出错情况输出信息提示含义处理方法不能注册该帐号已经被注册每个帐号只能注册一次直接登录请输入其他帐号帐号为主键输入正确帐号用户名长度应在1-18位之间用户名为空或过长输入1-18位的帐号密码长度应在6-18位之间密码长度过短或过长输入6-18位的密码请确认密码尚未确认密码确认密码密码不一致确认密码框和密码框输入不一致重新输入确认密码帐号不能为空尚未输入帐号输入帐号登录失败密码不能为空尚未输入密码输入密码帐号或密码不对帐号和密码不匹配重新输入邮箱格式不对邮箱输入有误输入正确的邮箱摄像头信息添加失败摄像头ID添加失误摄像头ID为12位数字输入12位的数字IP输入错误IP格式错误确认IP格式6.2 补救措施1) 后备技术周期性地把磁盘信息记录到光盘上去,当原始系统数据万一丢失时,就启用该副本,作为对于磁盘媒体的一种后备技术。2) 降效技术 信息发布系统的降效技术可以采用手工操作和数据的人工记录。7 Web业务平台设计说明7.1 模块描述此模块为平台提供了强大的业务支撑能力,主要试用系统管理者进行对Web业务平台的管理,包括权限管理,用户管理,设备管理,系统管理等功能。其页面设计图7.1所示。图7.1 模块页面设计图 7.2 功能l 权限管理角色管理:设置和更新不同权限的系统管理角色信息模块管理:设置和更新系统模块和非系统模块系统用户管理:可对系统管理员进行设置,包括启用和禁用相关信息l 用户管理用户信息列表:查询,增加,更新用户相关信息用户设备信息:查询,增加,更新系统设备相关信息,如摄像机IP,端口,设备类型,名称等l 设备管理设备信息管理:管理和查询系统内所有设备信息设备参数管理:对设备协议,地址,波特率等相关参数进行配置l 系统管理日志管理:查看平台管理系统用户登录信息用户登录信息管理:查看前台系统用户登录信息手机登录信息管理:查看用户手机登录相关信息7.3 输入项异步验证输入项的名称、标识、数据类型、格式、范围、输入方式如表7.1所示。表7.1 异步验证输入项名称标识数据类型格式范围输入方式用户iduser_idvarchar字符串长度在020之间手动输入用户名user_namevarchar字符串长度在120之间手动输入平台登录端验证输入项的名称、标识、数据类型、格式、范围、输入方式如表7.2所示。表7.2平台登录验证输入项名称标识数据类型格式范围输入方式用户iduser_idvarchar字符串长度在020之间手动输入用户名user_namevarchar字符串长度在120之间手动输入密码passwordvarchar字符串长度在618之间手动输入7.4 输出项注册模块功能的输出内容皆为提示信息。7.5流程逻辑Web业务平台系统流程示意图如图7.2所示。表7.2 Web业务平台系统流程示意图8 前台门户设计说明8.1 模块描述基于运营商角色的WEB配置管理功能。此模块适用于用户,包含个人资料,所有设备,设备管理。8.2 功能l 个人资料管理可绑定邮箱和手机,密码丢失后方便找回可自行修改用户部分信息以及密码用户资料管理l 所有设备可查看系统所有设备,支持搜索查看和分组查看l 设备管理添加设备:方便快捷的将新安装的设备加入系统系统8.3 输入项异步验证输入项的名称、标识、数据类型、格式、范围、输入方式如表8.1所示。表8.1 异步验证输入项名称标识数据类型格式范围输入方式用户iduser_idvarchar字符串长度在020之间手动输入用户名user_namevarchar字符串长度在120之间手动输入平台登录端验证输入项的名称、标识、数据类型、格式、范围、输入方式如表8.2所示。表8.2 平台登录验证输入项名称标识数据类型格式范围输入方式用户iduser_idvarchar字符串长度在020之间手动输入用户名user_namevarchar字符串长度在120之间手动输入密码passwordvarchar字符串长度在618之间手动输入8.4 输出项注册模块功能的输出内容皆为提示信息。9 网络摄像头设计说明9.1 模块描述此模块为USB摄像头通过程序驱动成为网络摄像头,功能上使其能采集监控画面并进行上传到平台。9.2 功能l 实时监控对所监控区域进行随时随地的实时监控9.3 接口以下为驱动程序之间的接口:文件名:IocpModeSvr.h类名:CIocpModeSvr类说明:本类是一个完成端口模型的网络服务器引擎运行平台:WinNT3.5以上版本、Windows2000输入接口说明:本类接收一个回调函数地址,该函数具有如下原型 void _stdcall ProcessRecvData(unsigned long sIP, SOCKET sClient, char * pData, unsigned long DataLength); 此回调函数用来接收从客户端发来的数据或者某客户端断开连接的通知(有始有终) unsigned long sIP : 表示数据通知的客户端IP地址 SOCKET sClient :服务器用于和客户端通迅的套接字, 如果不是断开连接消息, 则您可使用此参数调用SendMsg向客户端发送数据 char * pData : 本次操作的数据 unsigned long DataLength :本次操作数据的数据长度 提示:如果pData=NULL 并且DataLength 则表示那是客户端断开连接的消息.输出接口说明: 引擎初始化函数,第一参为回调地址(必须正确填写),第二参为服务端口号 初始化成功返回真,否则返回假 bool Init(ProcessRecvData* pProcessRecvData,unsigned long iSvrPort=SVRPORT); 引擎反初始化函数,请在程序退出时调用,或者在程序需要重新启动服务时调用 void UnInit(); 以下在关于发送消息函数组的接口说明 1、向目标IP客户端发送数据, 第一参为目标客户端IP,第二参为数据区地址,第三参为数据区长度成功提交返回真,否则返回假,那可能是因为客户端已经断开或者根本就没有连接。 bool SendMsg(LPCTSTR TargetIp,char * pData,unsigned long Length); 2、向目标套接字发送数据 第一参为客户端套接字第二参为数据区地址第三参为数据区长度成功提交返回真,否则返回假那可能是因为客户端已经断开连接提示:此函数为不需要检索的发送数据函数,具有高效率的特性。 你可以在你的数据通知回调中以第二参的sClient直接填写于 第一参中发送数据,如果你在接收到数据时需要回传消息,请 使用此函数成功提交返回真,否则返回假 bool SendMsg(SOCKET sClient,char * pData,unsigned long Length); 3、向所有连线客户端发送数据 发送数据到所有已经正确连线的客户端第一参为数据区地址第二参为数据区长度成功提交返回真,否则返回假大部分情况下都会返回真 _ bool SendMsgToAll(char * pData,unsigned long Length); 4、向除了某个IP外的其它所有在线客户端发送数据 第一参为除外的IP第二参为数据区地址,第三参为数据区长度,成功提交返回真,否则返回假大部分情况下都会返回真 bool SendMsgToOther(LPCTSTR SourceIp,char* pData,unsigned long Length); 5、向除了某个Socket久的其它所有在线客户端发送数据 第一参为除外的Socket第二参为数据区地址第三参为数据区长度成功提交返回真,否则返回假大部分情况下都会返回真 bool SendMsgToOther(SOCKET ExceptSocket,char * pData,unsigned long Length); 附助函数组11、const char * GetLocalIpAdd() 返回本地Ip地址,返回值为点分十进制的字符串2、unsigned short GetSvrPort() 返回服务使用的侦听端口号附助函数助21、bool DisConnectClient(LPCTSTR ClientIp); 切断参数中指定的IP的客户端的连接,成功返回真,否则返回假。2、bool DisConnectClient(SOCKET sClient); 切断参数中指定的客户机的连接,参数中指定了要切断了套接口。3、void DisConnectAll(); 切断所有客户机的连接。10 手机Web客户端设计说明10.1 模块描述此模块主要为用户用手机观看监控画面而设计,可通过智能手机浏览器直接输入摄像头IP即可观看监控画面。10.2 功能l 画面监控对前端摄像头监控的画面进行监控。基于动态协议的网络视频监控系统数据库设计说明书V1.3编 制 审 核 批 准 长沙学院二零一三年四月十六日数据库设计说明书1.引言1.1 编写目的本说明书说明“基于动态协议的网络视频监控系统”的数据库设计与结构情况,用于开发人员进行项目设计,同时也为后续的工作提供了良好的使用说明,也可以作为未来版本升级时的重要参考资料说明。预期读者:数据库管理者1.2 背景 a. 待开发数据库的名称:NETWORK_VIDEO.dbb. 使用此数据库的软件系统的名称:基于动态协议的网络视频监控系统c. 列出本项目的任务提出者:刘欣、开发者:杨刚、用户:数据库管理员。1.3 定义MySql:小型关系型数据库管理系统,具有体积小、速度快、总体拥有成本低、开放源码等特点,支持多种操作系统,为多种编程语言提供API,操作简单。实体表:用户实际使用的客观表格1.4 参考资料本项目的需求规格说明书;本项目相关的其他参考资料。2 数据库环境说明数据库名称:NETWORK_VIDEO.db 数据库系统:MySQL 数据库宿主环境:windows 8 编程工具:MyEclipse8.53 数据库的命名规则本数据库采用26个区分大小写的英文字母和09这十个自然数以及下划线_组成,共63个字符。不能出现其他字符,注释除外。其遵循以下命名规则:(1) 所有的命名都不得超过30个字符的系统限制,变量名在不包含标识符的情况下不超过29个字符。(2) 保证所有命名中不包含保留词、数据库应用系统或者常用访问冲突的词语。(3) 所有的命名需遵循首字母小写,若该命名为多词组合,应第二个词语及以后的词语首字母大写,其余字母小写。(4) 连接表命名以连接表名之间加下划线命名。4 逻辑结构设计4.1 概念模型结构设计概念模型结构设计如图4.1所示。图4.1 概念模型结构图5 物理结构设计5.1 表结构设计1) 用户信息如表5.1所示。表5.1 用户信息表序号字段名类型长度主键是否为空描述1use_idvarchar10是否用户ID2user_namevarchar10否否用户名3passwordvarchar10否否密码4sexvarchar2否否性别5e_mailvarchar80否是邮箱地址6phonevarchar20否是电话2) 摄像头信息如表5.2所示。表5.2 摄像头信息表序号字段名类型长度主键是否为空描述1camera_idvarchar10是否摄像头ID2camera_namevarchar10否否摄像头名称3camera_ipvarchar10否否摄像头IP4typevarchar10否否摄像头类型5addressvarchar80否否摄像头安装地址3) 安装工单如表5.3所示。表5.3 安装工单表序号字段名类型长度主键是否允许为空描述1order_iditerger10是否工单ID2user_idvarchar10否否用户ID3camera_idvarchar10否否摄像头ID4datevarchar80否否启用日期5.2 物理结构设计物理结构图设计如图5.1所示。图5.1 物理结构设计图6 安全性设计为提高平台的安全性,不同的角色具有不同的权限,如图表6.1所示。表6.1 角色与权限角色可以访问的表操作权限普通用户User查询、更新Camera查询、更新、添加Order查询、更新、添加平台管理用户User查询、更新、添加、删除Camera查询、更新、添加、删除Order查询、更新、添加、删除另外用户只能用帐号登录到平台中,通过这一平台访问数据库,而没有其他途径操作数据库。具体设计如表6.2、表6.3和表6.4所示。表6.2 用户表表名User主键user_id其他排序字段无索引字段e_mail序号字段名称数据类型(精度范围)允许为空Y/N唯一Y/N区别度默认值约束条件/说明1user_idvarchar(10)NY高无PK用户id2user_namevarchar(10)NN低无用户名字3passwordvarchar(10)NN低无用户密码4sexvarchar(2)NN低男、女用户性别5e_mailvarchar(80)NN低无用户邮箱6phonevarchar(20)NN低无用户电话sql脚本create table User( user_id int not null auto_increment, user_name varchar(10) not null, password varchar(10) not null, sex varchar(2) not null, e_mail varchar(80) not null, primary key (

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论