基于B/S架构警用摩托车管理系统软件设计
发布时间:2021-01-12 06:51
为了优化单位对警用摩托车的管理,便于合理调配车辆和下发任务,车辆管理系统对于公安机关管理警员出勤事务显得尤为重要。运用计算机较大的信息存储空间和高性能的处理能力,系统可以对摩托车的坐标位置、使用情况、故障情况等车辆基本信息做出详细的分类和记录,使用户可以直观的在该系统中随时监控车辆信息的变动,并能够及时处理车辆工作中遇到的紧急情况。如何能够处理数据高并发的问题,同时降低通信时内存开销和提高响应效率,要进一步支持可视化展示,优化调度路线设计,为此,本文设计了一种基于B/S架构警用摩托车实时监控管理平台。系统总体是一个三层结构模型,包括车载设备、服务器和浏览器。服务器与车载设备通信部分采用Netty框架处理阻塞通信的问题,解决了一个请求占用了一个线程的效率低的问题。采用责任链的设计模式,即Netty的pipeline模式,便于单线程模式下对子任务的处理。探究其断线重连的心跳机制,并应用于事务判断处理的设计中。实时视频监控模块设计采用基于RTMP传输协议的流媒服务器,将车载设备摄像头采集的YUV格式视频封装解码为H.264格式,推流到前端flowplayer视频播放器实现直播功能。详细设计数...
【文章来源】:中国石油大学(北京)北京市 211工程院校 教育部直属院校
【文章页数】:64 页
【学位级别】:硕士
【部分图文】:
Netty框架的组成
中国石油大学(北京)硕士专业学位论文-7-的序列化框架等[11]。目前来看,Netty能够受到广大开发者喜爱,主要优势表现在三个方面:并发高、传输快和封装好。(一)并发高Netty框架,对比于BIO(BlockingI/O,阻塞IO),其并发性优势体现在一个线程可以处理多个请求,如图2.2所示,可以很清晰了解BIO和NIO的区别。图2.2BIO和NIO通信方式对比图Fig.2.2ThecomparisonofthecommunicationmodeofBIOandNIO从上图可以发现,NIO的一条线程能处理的连接比BIO要多,主要是因为非堵塞IO通信方式中引入的Selector。当一个连接创建完成,首先是需要收完连接上发来的所有数据,其次是服务端处理完请求,response给对方。NIO和BIO的区别主要是在第一步。在BIO机制,接收数据这个连接是阻塞的,于是就导致了处理一个请求占用一个线程,而线程数量却不是无限制的,这就是为什么BIO在高并发出现问题的关键。而在NIO处理机制里,当Socket连接好,Thread并不是直接分配一条线程去处理Socket,而是利用Selector自动遍历所有的Socket,当有一个Socket完成,他会分配Thread,然后经过Thread处理完再response给客户端。(二)传输快
第2章相关技术基础-8-Netty的这方面特性也是因为了NIO的一个特殊所在——零拷贝[12]。Java的内存中堆内存是占用内存空间最大的一块,通常我们的数据如果从IO传到堆内存,要在Socket缓冲区多拷贝一次,如果较多数据时,就有冗余。Netty针对占用内存的情况,采用了NIO零拷贝的特性,它会另外开辟一块内存,用来接收数据,之后通过ByteBuf可以直接进行数据操作,达到加快速度的目的。如图2.3所示,直观展示了传统拷贝方式和零拷贝的区别。图2.3两种拷贝方式对比图Fig.2.3Thecomparisonoftwowaysofcopy(三)封装好封装性体现在所使用的代码量上来看,Netty有很多自带处理方法,简单介绍一些重要方法概念。1、NioEventLoopGroupNioEventLoopGroup作为处理I/O部分内容,Netty对EventLoopGroup接口设计了不大相同的实现方法,也是为了应对特殊的传输协议。2、NioServerSocketChannel这里用NioServerSocketChannel类初始化channel,来连接数据请求。3、ChannelPipeline通常会为新SocketChannel通过添加一些handler,来设置ChannelPipeline。ChannelInitalizer是一个特殊的handler。4、ByteBufByteBuf作为储存空间,其优点就是简单易用,它既有get/set方法,来读写字节,还有自己的读写索引,方便开发者对整段缓存完成操作[13]。
【参考文献】:
期刊论文
[1]基于CSS网格布局的新一代网页布局方法研究[J]. 叶文全. 西安文理学院学报(自然科学版). 2018(04)
[2]HTML5+CSS3在电子商务网站建设中的优势[J]. 李君君. 信息与电脑(理论版). 2018(03)
[3]Hadoop与关系型数据库在电信行业中的应用研究[J]. 赵广智. 广东通信技术. 2017(09)
[4]基于HTML表格属性标记的网页信息隐藏技术[J]. 吴大胜. 网络安全技术与应用. 2017(09)
[5]基于Netty的HTTP协议栈的扩展设计与实现[J]. 滕阳阳,胡栋. 无线通信技术. 2017(03)
[6]基于HTML+CSS+JQuery的网站开发简述[J]. 韦立梅,张淑荣. 电脑与电信. 2017(09)
[7]Android系统中RTMP流媒体直播的设计与实现[J]. 王艳. 电视技术. 2017(01)
[8]分布式微电网数据监控中心设计与实现[J]. 曲豫宾,李芳. 通化师范学院学报. 2016(12)
[9]基于Netty+WebSocket的社区增值服务平台的推送设计[J]. 陈纯纯. 物联网技术. 2016(12)
[10]CDN流量采集系统数据中心服务器的设计与实现[J]. 陈潇潇,蔡迎归,李妩可. 科技资讯. 2016(16)
硕士论文
[1]日志数据分析系统的设计与实现[D]. 许长福.北京交通大学 2017
[2]基于JavaScript的城市发展项目管理系统的设计与实现[D]. 张博.吉林大学 2016
[3]网络异常行为自动识别技术研究[D]. 张存正.北方工业大学 2016
[4]车载定位系统的设计与实现[D]. 夏超.北京理工大学 2016
[5]S车联网公司发展战略研究[D]. 牟军.重庆师范大学 2016
[6]基于网络异常行为的智能终端恶意软件检测技术研究[D]. 曹明静.华北电力大学 2015
[7]基于Google Maps的车辆跟踪与导航系统研究与实现[D]. 刘明.西安工业大学 2014
[8]基于Windows系列操作系统的车联网车载应用软件设计与实现[D]. 李金雨.北京邮电大学 2014
本文编号:2972374
【文章来源】:中国石油大学(北京)北京市 211工程院校 教育部直属院校
【文章页数】:64 页
【学位级别】:硕士
【部分图文】:
Netty框架的组成
中国石油大学(北京)硕士专业学位论文-7-的序列化框架等[11]。目前来看,Netty能够受到广大开发者喜爱,主要优势表现在三个方面:并发高、传输快和封装好。(一)并发高Netty框架,对比于BIO(BlockingI/O,阻塞IO),其并发性优势体现在一个线程可以处理多个请求,如图2.2所示,可以很清晰了解BIO和NIO的区别。图2.2BIO和NIO通信方式对比图Fig.2.2ThecomparisonofthecommunicationmodeofBIOandNIO从上图可以发现,NIO的一条线程能处理的连接比BIO要多,主要是因为非堵塞IO通信方式中引入的Selector。当一个连接创建完成,首先是需要收完连接上发来的所有数据,其次是服务端处理完请求,response给对方。NIO和BIO的区别主要是在第一步。在BIO机制,接收数据这个连接是阻塞的,于是就导致了处理一个请求占用一个线程,而线程数量却不是无限制的,这就是为什么BIO在高并发出现问题的关键。而在NIO处理机制里,当Socket连接好,Thread并不是直接分配一条线程去处理Socket,而是利用Selector自动遍历所有的Socket,当有一个Socket完成,他会分配Thread,然后经过Thread处理完再response给客户端。(二)传输快
第2章相关技术基础-8-Netty的这方面特性也是因为了NIO的一个特殊所在——零拷贝[12]。Java的内存中堆内存是占用内存空间最大的一块,通常我们的数据如果从IO传到堆内存,要在Socket缓冲区多拷贝一次,如果较多数据时,就有冗余。Netty针对占用内存的情况,采用了NIO零拷贝的特性,它会另外开辟一块内存,用来接收数据,之后通过ByteBuf可以直接进行数据操作,达到加快速度的目的。如图2.3所示,直观展示了传统拷贝方式和零拷贝的区别。图2.3两种拷贝方式对比图Fig.2.3Thecomparisonoftwowaysofcopy(三)封装好封装性体现在所使用的代码量上来看,Netty有很多自带处理方法,简单介绍一些重要方法概念。1、NioEventLoopGroupNioEventLoopGroup作为处理I/O部分内容,Netty对EventLoopGroup接口设计了不大相同的实现方法,也是为了应对特殊的传输协议。2、NioServerSocketChannel这里用NioServerSocketChannel类初始化channel,来连接数据请求。3、ChannelPipeline通常会为新SocketChannel通过添加一些handler,来设置ChannelPipeline。ChannelInitalizer是一个特殊的handler。4、ByteBufByteBuf作为储存空间,其优点就是简单易用,它既有get/set方法,来读写字节,还有自己的读写索引,方便开发者对整段缓存完成操作[13]。
【参考文献】:
期刊论文
[1]基于CSS网格布局的新一代网页布局方法研究[J]. 叶文全. 西安文理学院学报(自然科学版). 2018(04)
[2]HTML5+CSS3在电子商务网站建设中的优势[J]. 李君君. 信息与电脑(理论版). 2018(03)
[3]Hadoop与关系型数据库在电信行业中的应用研究[J]. 赵广智. 广东通信技术. 2017(09)
[4]基于HTML表格属性标记的网页信息隐藏技术[J]. 吴大胜. 网络安全技术与应用. 2017(09)
[5]基于Netty的HTTP协议栈的扩展设计与实现[J]. 滕阳阳,胡栋. 无线通信技术. 2017(03)
[6]基于HTML+CSS+JQuery的网站开发简述[J]. 韦立梅,张淑荣. 电脑与电信. 2017(09)
[7]Android系统中RTMP流媒体直播的设计与实现[J]. 王艳. 电视技术. 2017(01)
[8]分布式微电网数据监控中心设计与实现[J]. 曲豫宾,李芳. 通化师范学院学报. 2016(12)
[9]基于Netty+WebSocket的社区增值服务平台的推送设计[J]. 陈纯纯. 物联网技术. 2016(12)
[10]CDN流量采集系统数据中心服务器的设计与实现[J]. 陈潇潇,蔡迎归,李妩可. 科技资讯. 2016(16)
硕士论文
[1]日志数据分析系统的设计与实现[D]. 许长福.北京交通大学 2017
[2]基于JavaScript的城市发展项目管理系统的设计与实现[D]. 张博.吉林大学 2016
[3]网络异常行为自动识别技术研究[D]. 张存正.北方工业大学 2016
[4]车载定位系统的设计与实现[D]. 夏超.北京理工大学 2016
[5]S车联网公司发展战略研究[D]. 牟军.重庆师范大学 2016
[6]基于网络异常行为的智能终端恶意软件检测技术研究[D]. 曹明静.华北电力大学 2015
[7]基于Google Maps的车辆跟踪与导航系统研究与实现[D]. 刘明.西安工业大学 2014
[8]基于Windows系列操作系统的车联网车载应用软件设计与实现[D]. 李金雨.北京邮电大学 2014
本文编号:2972374
本文链接:https://www.wllwen.com/kejilunwen/ruanjiangongchenglunwen/2972374.html