欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    平安城市视频监控的综合调度平台系统设计.docx

    • 资源ID:18066962       资源大小:765.45KB        全文页数:27页
    • 资源格式: DOCX        下载积分:3金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    平安城市视频监控的综合调度平台系统设计.docx

    1、平安城市视频监控的综合调度平台系统设计摘要随着城市经济的高速发展,城市治安管理面临的压力也越来越大,传统的以人力防范和事后处理为主的公安管理模式已经开始制约城市治安管理水平的进一步提高。城市公安管理部门迫切需要采取更多的技术防犯手段来提高管理的范围和效率,弥补人力管理资源缺乏和效率低下的缺点。随着城市宽带网覆盖范围的扩大和使用费用的降低,城市公安管理部门提出了逐步整合完善公安部门原有的各种监控系统,构建一个城市统一的一体化综合监控管理平台的需求。本系统是一套用于“平安城市”视频监控的综合调度平台,目标是将“平安城市”中所有的视频矩阵无论是大型矩阵,还是社区和单位的小型矩阵全部统合到一个平台上使

    2、用和管理,使得用户能够使用一个键盘将城市中任何一台摄像机的图像显示在任何一块监控屏幕上。本系统率先将先进的物联网技术应用于“平安城市”视频监控领域。通过将城市中所有现存的摄像机进行统一使用和管理,使得每一个角落都能被实时监控到,在预防、发现、控制和打击违法犯罪、提供破案线索、固定违法犯罪证据等方面发挥着人防、物防所不可替代的重要作用,真正实现“平安城市”。关键词:“平安城市”;物联网;视频监控系统 AbstractWith the rapid development of the urban economy, public security administration faces growi

    3、ng pressure. Traditional management mode of public security, which emphasis on prevention and post-processing, has begun restricting to further improve the management level of public security. Public security administration is urgently needed to improve the scope and efficiency of management. They w

    4、ant to take more guard against technical means and makes up for the disadvantages of manpower resources and inefficiency. With the expansion of urban broadband network coverage and lower costs, urban public security administration proposes to build a city unified integrated management platform needs

    5、.This paper implements a video monitor platform for the SAFE CITYT program. The platform collects the entire video matrix-regardless of large matrix, also is community and units of small matrix. Through this platform, users can manage all kinds of public security videos by using one keyboard. As far

    6、 as I know, it is the first time to applyInternet of Things technologies in the area of public security video monitor system. By unified all the existing cameras in use and management, every corner can be monitored in real time. It makes the platform playing an important role in preventing, detectin

    7、g, controlling and combating crime, providing a clue, fixing plays defense, such as criminal evidence, which makes important contributions to the SAFE CITY program. Keywords:SAFE CITY program;Internet of Things;video monitor system目 录1 系统概述及软件开发背景技术1.1系统概述本系统是一套用于“平安城市”视频监控的综合调度平台,目标是将“平安城市”中所有的视频矩阵

    8、无论是大型矩阵,还是社区和单位的小型矩阵全部统合到一个平台上使用和管理,使得用户能够使用一个键盘将城市中任何一台摄像机的图像显示在任何一块监控屏幕上。本产品率先将先进的物联网技术应用于“平安城市”视频监控领域,在国内尚属首创。本系统可以将城市中所有现存的摄像机进行统一使用和管理,使得每一个角落都能被实时监控到,在预防、发现、控制和打击违法犯罪、提供破案线索、固定违法犯罪证据等方面发挥着人防、物防所不可替代的重要作用,真正实现“平安城市”。图1.1 整体系统结构图图1.2 Pad键盘软件系统结构图整个系统分为传输服务层、服务层和应用层三个层次。传输服务层用于与服务器之间传递异步消息。服务层使用底

    9、层的异步传输服务和本地数据库操作API,将业务逻辑封装成了KeyPress传输服务、认证授权服务、数据服务和Log服务,为应用层提供服务API。应用层主要包含各项UI,用于捕获用户输入和显示系统内部状态。1.2软件开发背景技术1.2.1 可配置的矩阵接入技术传统的矩阵接入方案,需要向程序代码中添加接入矩阵的对应的命令解析代码,这种方案具有以下两个弊端:可扩展性差。不同品牌的矩阵通常具有不同的通信协议,与配套的控制键盘相对应。由于历史原因,监控网络中存在着大量不同厂家的矩阵和键盘,为了实现这些监控网络中视频的调度,传统方案中必须包含处理所有通信协议的程序代码。当新的矩阵或者键盘接入网络时,就需要

    10、在原有代码中增加所需的处理代码,修改原有程序,扩展性差。低鲁棒性。由于每一次新品牌的矩阵或者键盘接入网络后,都需要重新修改程序处理代码,在一个大规模的监控网络中,这种修改为程序的安全运行带来了极大的风险,在某些情况下,很可能造成核心程序运行错误,系统无法正常工作。可配置的矩阵接入技术,将软件系统的扩展接口留在了矩阵端。当新矩阵接入监控系统的时候,通过添加新矩阵对应的配置文件,极大的方便了系统的扩展。统的时候,通过添加新矩阵对应的配置文件,极大的方便了系统的扩展。1.2.2 自主研发的多协议命令路由技术在大型的监控系统中,由于存在不同的矩阵,并且不同矩阵之间的通信协议不同,系统中的摄像头通过矩阵

    11、进行联网时,控制键盘发出的命令必须要正确的路由到目标摄像头。大型监控网络中,要求每个键盘要控制任何目标摄像头,这带来两个问题1. 控制键盘发出的命令必须能够被目标摄像头所在的矩阵正确识别2. 控制键盘发出的命令必须能够正确路由到目标摄像头所在矩阵多协议命令路由技术,通过将各种控制键盘的命令转换为系统设定的统一的控制命令集,并且根据控制命令中目标摄像头所在矩阵,将控制命令传送至目标矩阵。多协议命令路由技术的使用,极大提升了系统的兼容性,有效地保护了历史投资。2 系统需求分析2.1功能性需求系统的主要功能是实现视频监视人员使用键盘将任意摄像机的视频流显示在任意显示器上,并且能够控制摄像机的转动。2

    12、.1.1切换视频操作人员可以按照2.1小节描述的规则和优先级顺序,通过一个键盘,切换显示在任何显示器上的视频源。用户在键盘上的一般性操作是:1. 在键盘上输入任意机顶盒编号;2. 在键盘上输入任意摄像机编号;3. 在键盘上确认。用户的输入不仅限于这种模式,键盘上的前后切换键也可以被用于切换视频。系统响应用户操作,按照约定的“视频切换的优先级规则”进行视频切换;系统通过处理和转发键盘命令到合适的矩阵来完成真正的切换操作。系统将操作的执行结果(包括矩阵的执行结果)返回给键盘。2.1.2 控制摄像机操作人员可以通过键盘上的摇杆控制当前接入的摄像机,包括云台转动、摄像机变焦、光圈、聚焦调整。当前接入的

    13、摄像机编号为键盘最后输入的摄像机编号,或者为当前接入的机顶盒对应的摄像机编号。当两者都不存在时,系统对键盘返回错误码。操作人员移动摇杆时,键盘将发出一系列命令。系统将对这一系列命令进行处理和响应。系统通过处理和转发键盘命令到合适的矩阵完成真正的控制操作。2.1.3 后台管理后台管理功能包括1)系统管理员用户登陆和密码修改、2)设备管理,包括设备配置信息和状态的查看,以及增删改设备配置信息。设备包括摄像机、摄像机矩阵、键盘、机顶盒。各设备的详细配置字段请参看“数据库设计”章节。系统管理员可配置系统中键盘与矩阵之间的应用层协议,以支持多种键盘。系统管理员通过服务器提供的Web页面完成配置工作。2.

    14、1.4日志系统每一次键盘操作都应该被详细记录下来,包括时间戳、原始命令、处理后的命令、键盘信息、矩阵信息、摄像机信息、机顶盒信息。每一次登陆和对配置项的增删改操作都需要被记录下来,包括时间戳、用户信息、配置项目名称、配置项目的原值和新值。系统管理员可以通过服务器提供的Web界面查看日志。2.2非功能性需求2.2.1可靠性作为系统的关键节点,系统监控服务器需要7*24小时在线。2.2.2实时性键盘操作应该实时得到反馈结果,因此要求系统能够快速转发键盘命令,尽量减少延迟。2.2.3鲁棒性操作人员的误操作应该被系统识别并且避免导致错误后果。3 系统设计3.1 软件的整体发明内容我们通过该软件在And

    15、roid Pad上实现视频监控软键盘,同时完成更多人性化和安全功能: 1. 实现视频监控软键盘; 2. 更多的人性化功能; 3. 更多更好的权限控制功能; 4. 功能个性化定制。3.2软件的功能模块及意外应对机制3.2.1服务器服务器端控制程序的主要功能是搭建键盘与矩阵之间的信息交互平台,同时要求可以兼容接入不同类型的键盘和矩阵。系统采用Proxy模型为主体架构,即每个键盘和矩阵都通过一个代理(KeyboardProxy和MatrixProxy)实体接入一个统一的信息交换结构(SwitchFabric)。代理实体在软件上抹平了不同种键盘及矩阵的差异;信息交换结构则描述了网络的结构,实现了键盘与

    16、矩阵间的信息交换。图3 图3.1 服务器端系统模型从上图中可以看出,系统模型由三部分构成:第一部分:按键解码过程,负责将收到的字节流识别为一个一个KeyPress,即一个一个的按键动作,然后将这些按键动作组合翻译成一种标准描述。服务器程序从键盘收到的信息是断续的字节流,按键解码过程的第一步是将这些字节流分割成一个一个有意义的按键动作,即KeyPress。KeyPress指键盘的一次按键动作,例如“按键1被按一次”,对应类KeyPress。需要区分的是,键盘上的每一个键称之为Key Code,对应类KeyCode;KeyCode代表键本身,是固定不变的;KeyPress是一次动作,它在键盘的按键

    17、被按下后产生,是动态产生的。识别出单独一个KeyPress在很多时候并不能表示出用户的完整意图,例如,用户需要连续按“screen”,一系列数字键,最后按一个“return”键之后,才能表示“选中某个屏幕(或机顶盒)”。因此,我们需要定义一个结构来表示用户的每个完整的意图。这个结构就是Command。Command是服务器程序内部表示用户的一个完整意图的结构。它与任何特定类型的键盘或特定类型的矩阵都无关,是一套通用的键盘与矩阵间的标准协议。任何一种特定的键盘或矩阵都可以将自己的特定协议映射到这个协议上来;它也可以转化为任何一种特定键盘和矩阵的之间的协议。按键解码过程第二步就是将一个或者多个Ke

    18、yPress翻译成标准结构来表示完整的用户意图,即Command。这一部分实际上处理的是“键盘输入什么”,做法是:无论键盘输入什么,都将被翻译成一种标准格式,即Command。这样,任何键盘都可以被接入系统中,而不影响其它部分。第二部分:内部处理过程。用户意图在被识别成Command之后,接下来是如何“投递”用户意图的过程。图3.2 优先级规则判定流程实际上是用户意图的“投递”流程这一部分处理的是“如何将键盘的命令送到合适的矩阵和机顶盒”,实际上处理的是系统内各组件的连接方式。当然,更加复杂的逻辑也可以在这里实现。需要注意的是,由于这一过程处于纯粹的Command环境中,与键盘和矩阵的硬件细节

    19、完全隔离开,仅仅需要考虑设备之间的逻辑连接关系即可。第三部分:信号重新编码过程。确定用户意图(即Command)的投递方向之后,需要将Command翻译成目标设备(即特定类型的矩阵)可接受的信号模式,序列化成字节流发送到目标设备。这一部分处理的是“矩阵能接受的命令格式”,做法是:将标准格式翻译成Matrix要求的特定格式。这样,任何可控装置都可以被接入系统中,而不影响其他部分。最后,矩阵返回的ACK信号的处理模型同KeyPress模型是一样的,只是信号传递的方向不同。综合以上所述,服务器端的控制程序整体实现如下:图5 图3.3 服务器端控制程序的实现图3.4 服务器模型:数据处理流程连接器确定

    20、了Pad如何连接到主控服务器。目前通过两种方式:蓝牙和Wifi。蓝牙方式实际上是连接到附加电路板的蓝牙上,附加电路板后面有一个透明通道可以让Pad和服务器直接通信,此时Pad就像直接连接到了服务器上一样。Wifi方式则是直接通过TCP/IP连接到服务器上。连接器的主要工作就是将一个字节流发送到服务器的对等连接器上。这些字节流(byte)将被直接交给连接器后端的Message系统,由MessageCodec进行编解码,获得具体的Message。在连接断开时,连接器将试图自动重新建立连接。3.2.2Message消息传递系统系统的消息传递系统由如下三部分构成:1. Message基类;2. Mes

    21、sageCodec,Message编解码器;3. Message系统的使用者(即系统中其它模块)自定义的Message子类。Message消息系统的设计目标是:1. 允许用户自定义任意形式的Message子类,能够无缝接入Messag基本系统;2. 允许用户自定义Message子类的编解码过程,该过程能够无缝接入Messag基本系统;3. 用户仅仅需要定义以上两项,即可直接实现自定Message子类的编解码即从byte组装出Message子类对象,将Message子类对象转换成byte。Message是整个Message系统的基类,所有需要Codec编解码的类都必须继承自它:1. Messag

    22、e基类中定义了Message的基本结构,同时实现了该基础结构的编解码方法;2. Message基类中最重要的方法是setPayload和getPayload方法,子类必须实现这两个函数,以实现子类本身的解码和编码过程实际上,Message基类在完成自身基础结构的编解码之后,将调用子类的setPayload和getPayload方法来编解码其自身的payload域。编解码器用于1)将Message编码成字节流,2)从连接器接收到的字节流中解码出Message。字节流的格式采用:前导字符 长度 序列号 回复序列号 类型 负载 校验码 结尾字符其中,长度定义为去除前导和结尾字符之外的byte数。Me

    23、ssage包含一个虚的getType和getPayload方法,分别获得类型和负载的字节数组,子类需要实现这两个函数。getPayload方法用于对Message子类对象的payload进行编码。如果异步API没有设置Message的序列号,Codec会自动设置。解码时,Codec使用PacketSlicer从字节流中切出合法的包,然后识别其中的序列号和类型。Codec需要依据类型从MessageCodec类的Message子类注册信息中获得一个Message实例(采用克隆模式),然后调用其setPayload方法来解析其负载内容,并获得真正的Message子类。MessageCodec使用R

    24、egister和Clone模式构建,这样可以使得其可以直接从输入的byte中解码出Message的子类对象,而不仅仅是Message这个基类。其实现方法是:1. 外部组件需要向MessageCodec注册其所实现的Message子类类型(即其type字段),同时注册一个子类对象;这些注册信息全局可用;所有的Message子类的注册代码位于cybertrue-commons-base工程的KeyboardCodec4Message函数中。2. MessageCodec解码时,将根据输入的byte中解出来的type信息从子类注册表中查找对应的Message子类对象;一旦查到,则克隆该对象,作为解码

    25、出的返回对象;如果查不到注册信息,则直接返回新建的Message对象;3. 在注册信息中查到Message子类对象之后,MessageCodec的解码过程将把Message的payload字节数组交由该子类对象的setPayload方法来进行进一步的解码操作。这样,MessageCodec能够完全解码输入的byte:获得准确的Message子类对象,同时解码出Message子类中所有的成员变量。Message子类对象的编码和解码过程可以使用一个叫做Transmitter的工具类轻松实现,该类封装了对基础数据类型的编码(transimit)和解码(parse)操作。这样,Message子类的编解

    26、码操作实际上变成了在setPayload和getPaylaod函数中简单使用Transmitter工具针对每个成员变量的编解码过程。需要注意的是,编解码操作必须一一对应,以保证编解码的正确性。对等体属于基础结构,服务器端的对等体与Pad端的是一样的。实现方式是:1. 连接器发现连接断开时,触发连接断开事件,这个事件将调用”destroyed”函数;2. 重连机制捕获这一事件,启动一个Timer,不断尝试重新连到服务器(蓝牙模式下是附加电路板)上;3. 一旦重新建立了连接,连接器将触发连接建立事件;4. 重连机制捕获这一事件,停止重连Timer。3.2.3异步传输API异步传输API用于在Pad

    27、与服务器之间异步地传输Message即双方在发送Message之后可以直接返回,等待回复Message或者超时。通过异步API发送Message时,它会确定该Message是否需要回复当Message需要回复时,它需要指定一个MessageReceiveHandler来等待回复Message;那么当Message指定了自身的MessageReceiveHandler时,我们认为该Message是需要回复的。如果Message需要回复,那么异步API会记录下该Message,并且等待收到“回复序列号”与该Message相同的Message。一旦收到,那么它会将两个Message通过先前指定的Me

    28、ssageReceiveHandler向外部组件汇报。如果长时间收不到,则发出超时消息给该MessageReceiveHandler。异步API需要维护Message的序列号。一般而言,异步API会自动按顺序增加自己所发送的Message的序列号。如果上层需要针对某个收到的Message作出回复,则在调用异步API发送回复Message时,需要指定该回复Message是对哪个已经收到的Message的回复,异步API据此维护回复Message的“回复序列号”,即将回复Message的回复序列号设定为收到的Message的序列号。当异步传输API接收到Message时,为了寻找合适的接收者,它将

    29、:1. 依据“回复序列号”查找注册的Message,据此查到ResponseReceiver,传递Message;2. 依据Message的类型,查找注册的MessageReceiver列表,传递Message;3. 依据Message的类型,查找注册的MessageSniffer列表,传递Message。无法确定Message的接收者时,丢弃该Message。Pad键盘端如果在大量数据突发时发送速率过快,可能:1. 对蓝牙造成压力,导致数据丢失;2. 对服务器造成压力,导致响应变慢。因此,我们需要在Pad键盘端建立流控机制,抹平突发的数据流。Zc-connector-base包中的FlowC

    30、ontrolledXmitter和CreditBasedFlowController建立了一种基于漏桶的流控机制:1. 每隔一定时间FlowController产生一个Credit;2. FlowController维护一个Credit队列,存储产生的Credit;3. Xmitter需要发送数据时,需要先向FlowController申请一个Credit,即获得允许;4. 如果FlowController的允许Xmitter发送(即Credit队列不为空),那么Xmitter将立即将数据发送出去,并且消耗这一个Credit(即FlowController丢弃一个Credit);5. 如果Fl

    31、owController不允许Xmitter发送(即Credit队列为空),那么Xmitter将数据缓存起来,等待FlowController通知其发送数据;6. FlowController的Credit队列中每次添加第一个Credit时(即队列本来为空,时间间隔到了时产生了一个新的Credit),会触发“允许发送”事件,这个事件将通知Xmitter启动数据发送流程。所有的服务层都提供:1. 保存自身的状态,并且提供对状态的查询;2. 服务动作;3. 通知。Pad需要向服务器证实自己的合法性,并且依据自己的身份获得相应的数据信息。认证的目标应该是服务器端的连接端子,即服务器要附加一个账号信息到服务器端的一个连接上,通过该连接发起的其它请求都具有该账号所具有的权限。登陆/认证/授权机制在连接建立后开始启动。当Pad无法确定自己的身份时,它会弹出一个事件,要求用户输入账号和密码。登陆成功后,Pad下次启动时自动会使用原有的账号信息。可以在Pad的设置栏中清除记录的账号信息。认证授权服务提供:1. 对Pad键盘的认证,即login函数;包括一个autoLogin函数,用于自动登录;2.认证完成/认证超时事件通知;3. 对当前登陆状态的查询服务,即认证授权服务的状态查询,状态包括服务器端临时分配的Keyboard信息。如果登录失败,则进不去主界面。实际上,Pad登录的主要目的是向服务


    注意事项

    本文(平安城市视频监控的综合调度平台系统设计.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开