物联网系统技术方案.docx
- 文档编号:24379853
- 上传时间:2023-05-26
- 格式:DOCX
- 页数:20
- 大小:90.64KB
物联网系统技术方案.docx
《物联网系统技术方案.docx》由会员分享,可在线阅读,更多相关《物联网系统技术方案.docx(20页珍藏版)》请在冰豆网上搜索。
物联网系统技术方案
物联网系统技术方案
南京绛门通讯科技股份有限公司
2016年12月
一.前言
一.1.建设背景
物联网是指通过各种信息传感设备,实时采集任何需要监控、连接、互动的物体或过程等各种需要的信息,与互联网结合形成的一个巨大网络。
其目的是实现物与物、物与人,所有的物品与网络的连接,方便识别、管理和控制。
其在2011年的产业规模超过2600亿元人民币。
构成物联网产业五个层级的支撑层、感知层、传输层、平台层,以及应用层分别占物联网产业规模的2.7%、22.0%、33.1%、37.5%和4.7%。
而物联网感知层、传输层参与厂商众多,成为产业中竞争最为激烈的领域。
一.2.设计原则
1、基础性和整体性
整个系统的各种软件应符合国际、国家及行业相关标准。
2、技术的先进、实用性
目前技术发展迅速,本系统需要考虑未来的扩展性,在采用的技术方面应体现先进、实用,才能确保本项目建设结束后相当一段时间内技术不落后。
由于此项目是工程建设项目,不是科研项目,所以使用先进技术并不能使用未经验证的、不成熟的技术和概念,而是以先进的、成功的理念为核心的成熟技术的组合。
3、系统的开放性、可扩展性和安全性
开放的结构意味着通信协议的开放和数据与数据结构的开放和共享。
通信协议开放,系统接口透明,便于与其它系统组网,实现系统的集成与资源共享;数据与数据结构的开放,使用户可以很方便地从系统中抽取所需要的各种数据和信息,实现信息交换与共享。
4、规范性
系统设计符合有关国家和行业通用标准、协议和规范,符合国家与部颁标准及行业规范的要求;保证系统运行稳定可靠、数据安全;系统接口规范统一。
5、经济性
能够实现最优的系统性能价格比,充分利用有限的资金,创造巨大的社会效益和经济效益。
随着物联网的行业发展,市场规模也在飞速增长,物联网平台的经济性巨大,感知层、传输层参与厂商众多,成为产业中竞争最为激烈的领域。
一.3.系统分析
一.3.1.系统说明
描述整体系统功能概述和应用
简述关键功能点,并对关键功能点有个总体概述
一.3.2.运行环境与开发模式的选择
本系统采用基于Web开发的JSP技术。
JSP是一项功能强大的用于构建动态Web应用程序的技术。
它可完全利用Java架构的强大、安全和高效的平台特性。
数据库开发系统采用MySQL5.5数据库。
它是一个快速、多线程、多用户的SQL数据库服务器。
具有强大的数据存储功能并兼有支持客户机/服务器的运行环境、多线程体系结构,支持存储过程、支持触发器和逻辑内存管理和成本低等优点。
1.JSP技术
JSP技术是用成熟、强大、易扩充的Java语言作为脚本语言。
它主要具有以下优势:
●高效性与安全性。
JSP在执行前先被编译成字节码,字节码由Java虚拟机解释执行,比源码解释效率高。
●可维护性。
由于JSP技术是一种开放的、跨平台的结构,因此Web服务器、平台及其他组件能很容易升级或切换,且不会影响JSP基本的应用程序。
●多样化和功能强大的开发工具支持。
Java已经有了许多优秀的开发工具,而且许多可以免费得到,且其中许多已经可以顺利的运行于多种平台之下。
2.MySQL5.5开源数据库
MySQL5.5是Oracle公司推出的数据库管理系统的版本。
MySQL5.5数据库引擎提供完整的XML支持。
MySQL5.5关系数据库引擎支持当今苛刻的数据处理所需的功能。
数据库引擎充分保护数据完整性,同时将管理众多并发修改数据库的用户的开销减到最小。
MySQL5.5分布式查询使得以引用来自不同数据源的数据,同时分布式事务支持充分保护分布式数据更新的完整性。
3.开发模式
本系统最终的水文数据会公开呈现给不同部门的相关用户或者政府领导,因此它需要实现对系统用户的不同管理。
本系统采用B/S体系结构来进行系统的设计。
B/S三层体系结构如图1所示。
图1B/S三层体系结构图
4.开发运行环境
开发运行必备条件如下:
●CUP:
保证系统、数据库和服务器运行流畅,推荐2.0GHz以上。
●软件平台:
MyEclipse10。
●服务器端操作系统:
独立于操作系统的跨平台系统,采用Win7及以上版本,考虑其稳定性。
●数据库:
MySQL。
●Web服务器:
Tomcat7.0服务器。
●客户端运行环境:
能运行IE9.0以上或Google\Firefox浏览器的操作系统。
一.3.3.可行性分析
1.技术可行性
根据本系统的功能需求,采用JSP技术与开源的MySQL数据库引擎进行开发。
JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。
MySQL作为一种快速的、多线程、多用户和健壮的数据库服务器,根据第三方测试结果,在千万级的数据环境中依然保持较高的执行速度。
因此在技术层面上是完全可行的。
而且SQL是一个非过程化的语言,可用于所有用户的数据库活动模型,包括系统管理员、数据库管理员、应用程序员、决策支持系统人员及许多其他类型的终端用户。
基本的SQL命令只需要很少时间就能学会,最高级的命令在几天内便可掌握。
MySQL功能强大,而且很多信息管理系统都是用MySQL作后台,对本系统的开发是可行的。
本系统数据需考虑数据的高并发和后续数据的扩展性,数据库采用MySQL集群和缓存集群,以保障整体水文管理系统平稳运行。
2.经济可行性
2009年8月,温家宝“感知中国”的讲话把我国物联网领域的研究和应用开发推向了高潮,自温总理提出“感知中国”以来,物联网被正式列为国家五大新兴战略性产业之一,写入“政府工作报告”,物联网在中国受到了全社会极大的关注。
作为新的经济增长点,物联网的经济效益正在逐年高速增长,2011年市场规模达到了2600多亿元,预计到2020年市场规模将超过5万亿。
一.3.4.四大特点
●界面可视化配置
通过感知层各种传感器将对应的数据实时传回系统平台,通过应用层对数据进行实时在线分析展示。
对于传感器设备进行在线设置查看,对于设备告警类别自定义配置,及时掌握感知层设备情况和目标数据情况。
●及时的告警提示
告警分为:
设备告警和数据预警。
对于感知层设备工作状况要实时掌握,传感器设备情况实时查看故障告警,及时处理因传感器设备故障问题造成的数据阻塞;另外对于传感器传输传输回来的数据进行统计分析和计算,实时查看数据走向,对即将呈现的数据状况进行预警提示。
●集成报表引擎
用户可以选择需要的数据,以饼状图、条形图、线状图等方式生成分析结果,输出的分析报告更加直观、生动。
●灵活性、扩展性
平台具备迭代开发的设计,后期可方便的增减和修改所提供的组件、公式,可支持个性化定制服务。
二.解决方案
二.1.总体方案设计
二.1.1.系统框架结构
系统整体框架结构
感知层:
感知层位于物联网三层结构中的最底层,其功能为“感知”,即通过传感网络获取环境信息,是物联网的核心,是信息采集的关键部分。
感知层设备包括二维码标签和识读器、RFID标签和读写器、摄像头、GPS、传感器、M2M终端、传感器网关等,主要功能是识别物体、采集信息。
感知层的信息采集运用到多种关键技术:
●嵌入式系统技术:
是综合了计算机软硬件、传感器技术、集成电路技术、电子应用技术为一体的复杂技术,可以将感知层收到的信息进行分类处理,将处理之后信息再通过网络上传。
●低速和中高速段距离传输技术:
介于感知和网络层之间的技术运用,将通过感知设备收集的数据进行集中处理分类,再传输的应用技术
●自组织网络技术:
在物联网的关键技术中,射频识别(RFID)是一种。
物联网系统感知层设备大多是分散的,且基本没有什么固定的网络基础设施。
无线自组织网络技术中可以将每个终端本身兼有路由器和主机2种功能,自组织网络是一种自治、多跳网络,整个网络能够在不理能利用或者不便利用网络基础设施(如基站、AP)的情况下,提供终端之间的相互通信。
在该网络中,网络的拓扑、信道的环境、业务的模式是随节点的移动而动态改变的。
自组织网络的多跳网络拓扑
●协同信息处理技术:
对于传感器感知到的多种类型的信息进行收集并进行分类处理,介于网络层和感知层之间的技术,将处理之后的信息通过网络层进行传输。
网络层:
网络层位于物联网三层结构中的第二层,其功能为“传送”,即通过通信网络进行信息传输。
网络层包含接入网和传输网,分别实现接入功能和传输功能。
传输网由公网与专网组成,典型传输网络包括电信网(固网、移动通信网)、广电网、互联网、电力通信网、专用网(数字集群)。
接入网包括光纤接入、无线接入、以太网接入、卫星接入等各类接入方式,实现底层的传感器网络、RFID网络最后一公里的接入。
目前网络层用到的互联技术有:
3G/4G通信网络、IPv6、Wi-Fi和WiMAX、蓝牙、ZigBee等等。
应用层:
应用层位于物联网三层结构中的最顶层,其功能为“处理”,即通过云计算平台进行信息处理。
应用层与最低端的感知层一起,是物联网的显著特征和核心所在,应用层可以对感知层采集数据进行计算、处理和知识挖掘,从而实现对物理世界的实时控制、精确管理和科学决策。
从结构上划分,物联网应用层包括以下三个部分:
A.物联网中间件:
物联网中间件是一种独立的系统软件或服务程序,中间件将各种可以公用的能力进行统一封装,提供给物联网应用使用。
B.物联网应用:
物联网应用就是用户直接使用的各种应用,如智能操控、安防、电力抄表、远程医疗、智能农业等等。
C.云计算平台:
云计算可以助力物联网海量数据的存储和分析。
通常介于网络层和应用层之间,对于感知层上传上来的海量数据,利用云平台进行存储分析,为应用层提供数据基础。
二.1.2.总体系统架构
总体功能架构
基础支撑层:
主要包括网络链路的联通性和重要节点设备,主要包括路由器、交换机、防火墙等组成,同时结合相关配套专业软件保证整个网络层的安全和数据流的畅通。
数据层:
数据持久层和数据库本身,负责将数据进行转化和存储业务数据。
系统文件的存储。
基础层:
包括身份服务、认证服务、日志服务、统计服务、监控服务、配置服务、消息服务、存储服务、支撑服务和中间件服务的集成。
应用功能层:
系统应用层的功能模块。
包括用户管理、权限管理、数据监控等等
表现层:
使用Web浏览器、安卓APP或iOSAPP,通过计算机网络访问系统。
根据用户权限不同,以及用户自己的个性化设置,展现不同的页面内容。
标准规范体系:
本系统制定并遵循统一的内容建设标准与规范体系,否则会给整个项目带来不可预测的风险,也不利于信息处理、整个平台的管理维护与信息共享应用。
安全保障体系:
纵向贯穿整个层面,从环境层到用户表现层都要进行不同方面的安全配置设置,保障系统安全运行。
二.1.3.系统组网图
业务系统部分硬件部署如下:
业务系统组网图
∙采集端
采集端通过采集传感器将所需信息采集之后通过专网接口传输。
∙应用服务器
考虑性能,采用双服务器,用于HTTP协议的实现和数据库连接管理。
∙数据库服务器
采用Mysql集群形式,保障系统运行的高可用和数据扩展性
∙负载均衡服务器
当数据量和并发量非常大时考虑服务器和系统的运行设计单独的负载均衡服务器
二.1.4.物理组网图
物理设备组网图
二.1.5.系统总体功能构架
本系统主要由6个模块组成:
登录模块、数据采集管理模块、在线监控管理模块、告警管理模块、统计分析、系统管理模块组成。
每个模块下都有此模块对应的功能页面。
系统总体构架
二.2.应用层功能需求详细设计
二.2.1.登陆
●功能概述
后台系统内置超级管理员admin,初次登陆只能用admin,登陆之后可在系统管理再新增其他后台管理员。
●界面
<界面>
界面按钮简单描述
A、输入管理员用户名和相应密码
B、点【登陆】进入系统
C、如果登陆密码忘记可点击“忘记密码”通过手机短信等方式找回密码
二.2.2.采集设备管理
●功能概述
。
。
。
。
。
。
。
。
●界面
<界面>
界面按钮简单描述
A、…..
B、……。
(一)设备设置
●功能概述
……。
●界面
<界面>
界面按钮简单描述
A、。
。
。
。
。
。
B、。
。
。
。
。
。
。
。
。
C、。
。
。
。
。
。
D、。
。
。
。
。
。
。
。
。
(二)XXXX管理
●功能概述
。
。
。
。
。
。
●界面
<界面>:
简单的界面描述
A、。
。
。
。
。
B、。
。
。
。
。
C、。
。
。
。
。
(三)设备巡检记录
●功能概述
。
。
。
。
。
。
。
●界面
<界面>:
界面简单描述
A、。
。
。
。
。
B、。
。
。
。
。
C、。
。
。
。
。
(四)设备状况查询
●功能概述
。
。
。
。
。
。
●界面
<界面>:
界面简单描述
A、。
。
。
。
。
B、。
。
。
。
。
C、。
。
。
。
。
二.2.3.监控管理
●功能概述
。
。
。
。
。
。
。
。
●界面
<界面>:
界面简单描述
A、。
。
。
。
。
B、。
。
。
。
。
C、。
。
。
。
。
(二)XXXX情况监控
●功能概述
。
。
。
。
。
。
。
●界面
<界面>:
界面简单描述
A、。
。
。
。
。
B、。
。
。
。
。
C、。
。
。
。
。
二.2.4.告警管理
●功能概述
。
。
。
。
。
。
。
●界面
<界面>:
界面简单描述
A、。
。
。
。
。
B、。
。
。
。
。
C、。
。
。
。
。
二.2.5.统计分析
●功能概述
。
。
。
。
。
。
。
●界面
<界面>:
界面简单描述
A、。
。
。
。
。
B、。
。
。
。
。
C、。
。
。
。
。
二.2.6.系统管理
(一)用户管理
●功能概述
。
。
。
。
。
●界面
。
。
。
。
。
(二)日志管理
●功能概述
记录所有平台系统的操作日志和系统日志,各个用户登陆情况和操作情况均记录详细;当数据库或者系统出现异常时则记录为系统异常日志。
●界面
<待补充>:
根据客户日期需求可定制化栏位列名
二.3.基础层功能设计
基础层功能设计主要包括提供身份认证、日志管理、权限管理等共用性功能。
二.3.1.身份认证
身份认证是判断一个用户是否为合法用户的处理过程。
最常用的简单身份认证方式是系统通过核对用户输入的用户名和密码,看其是否与系统中存储的该用户的用户名和密码一致,来判断用户身份是否正确。
通过它可以识别用户的登陆角色,以及防止同一个用户对同一份报表进行多次提交。
本系统在登陆时采用上述的用户名和密码的认证方式。
多次登陆失败或者忘记密码时需要通过手机验证,并且验证手机号与用户是否在后端系统是否对应合法,非法手机号不允许校验,校验成功获取验证码再进行重置密码或者登陆。
二.3.2.账户管理
账户管理是系统不可或缺的一部分。
平台内置超级管理员,超级管理员可新增维护其他平台管理员,系统管理员可以管理用户的账号、正常还是暂停。
二.3.3.权限管理
权限管理是根据系统设置的安全规则或者安全策略,用户可以访问而且只能访问自己被授权的资源。
权限管理几乎出现在任何有用户和密码的系统里面。
系统中权限管理分为功能权限和数据权限。
●功能权限:
分配管理员用户可登陆系统只可查看操作自己有权限的功能模块。
●数据权限:
除了功能权限外,对系统的数据进行登记划分,比如区域或者按照设备分类,只有拥有对应数据权限的人才能看到相应的区域数据或者设备数据。
二.3.4.提醒机制
在系统的开发过程中,经常要使用到新消息的提醒功能,比如数据库数据有更新或者某个用户的特殊操作,这时就要对用户进行及时的处理提醒。
该功能最简单的实现就是通过页面实时刷新,访问数据库然后告知用户有新的消息。
本系统使用Ajax定时向服务器轮询实现Web页面新消息实时提醒。
可通过企业内部的邮箱和短信平台进行邮件提醒和短信提醒。
二.3.5.日志管理
日志管理功能在企业应用系统中起着非常重要的作用。
系统的日志文件可以让管理员了解系统状态,在系统出现问题时管理员可以查阅日志文件来确认当前系统状态、观察用户者踪迹,寻找特定事件相关的数据操作。
三.关键性技术
三.1.系统技术架构方面的技术路线
本系统设计综合考虑系统的稳定和响应速度以及实时性等多方位功能和性能要求,采用Spring开源框架、MVC框架技术、MyBatis进行数据连接整个并采用SSM对框架进行整合,具体建设如下:
(1)体系架构
系统技术路线的选择,采用开放的、基于工业标准和行业发展趋势的原则,在体系架构上采用B/S模式。
它可以提供灵活的信息交流和信息发布服务,具有更强的信息系统集成性和更好的系统安全性。
(2)设计模式
A、Spring是一个开源框架,Spring是于2003年兴起的一个轻量级的Java开发框架,由RodJohnson在其著作ExpertOne-On-OneJ2EEDevelopmentandDesign中阐述的部分理念和原型衍生而来。
它是为了解决企业应用开发的复杂性而创建的。
Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。
然而,Spring的用途不仅限于服务器端的开发。
从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。
简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。
B、SpringMVC:
SpringMVC属于SpringFrameWork的后续产品,已经融合在SpringWebFlow里面。
SpringMVC分离了控制器、模型对象、分派器以及处理程序对象的角色,这种分离让它们更容易进行定制。
采用MVC设计模式,用户输入输出界面均为JSP页面,即展示层(View),用户的请求将会被发送到控制层(Controller)的一个Servlet集中处理,根据请求调用模型层(Model)的JavaBean对请求进行实际处理,并把结果返回给控制层,控制层根据请求的执行结果将响应派发到相应的JSP页面。
如图所示。
MVC设计模式
(3)数据库连接
MyBatis本是apache的一个开源项目iBatis,2010年这个项目由apachesoftwarefoundation迁移到了googlecode,并且改名为MyBatis。
MyBatis是一个基于Java的持久层框架。
iBATIS提供的持久层框架包括SQLMaps和DataAccessObjects(DAO)MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。
MyBatis使用简单的XML或注解用于配置和原始映射,将接口和Java的POJOs(PlainOldJavaObjects,普通的Java对象)映射成数据库中的记录。
实现了从Java程序内调用标准的SQL命令对数据库进行查询、插入、删除和更新等操作,并确保数据事务的正常进行。
三.2.Mysql集群部署
使用MySqlCluster+Redis的架构实现信息的读写和存储
A)、MySQLCluster是MySQL官方集群部署方案,它的历史较久。
支持通过自动分片支持读写扩展,通过实时备份冗余数据,是可用性最高的方案,声称可做到99.999%的可用性。
架构原理图如下:
MySQLcluster主要由三种类型的服务组成:
NDBManagementServer:
管理服务器主要用于管理cluster中的其他类型节点(DataNode和SQLNode),通过它可以配置Node信息,启动和停止Node。
SQLNode:
在MySQLCluster中,一个SQLNode就是一个使用NDB引擎的mysqlserver进程,用于供外部应用提供集群数据的访问入口。
DataNode:
用于存储集群数据;系统会尽量将数据放在内存中。
B)、MySQLRedis分布式缓存
Redis是一个开源,先进的key-value存储,并用于构建高性能,可扩展的Web应用程序的完美解决方案。
Redis从它的许多竞争继承来的三个主要特点:
Redis数据库完全在内存中,使用磁盘仅用于持久性。
相比许多键值数据存储,Redis拥有一套较为丰富的数据类型。
Redis可以将数据复制到任意数量的从服务器。
Redis优势包括:
Redis的速度非常快,每秒能执行约11万集合,每秒约81000+条记录。
Redis支持最大多数开发人员已经知道像列表,集合,有序集合,散列数据类型,这使得它非常容易解决各种各样的问题,因为我们知道哪些问题是可以处理通过它的数据类型更好。
所有Redis操作是原子的,这保证了如果两个客户端同时访问的Redis服务器将获得更新后的值。
Redis是一个多实用的工具,可以在多个用例如缓存,消息,队列使用(Redis原生支持发布/订阅),任何短暂的数据,应用程序,如Web应用程序会话,网页命中计数等。
Redis不是比较成熟的Memcache或者Mysql的替代品,是对于大型互联网类应用在架构上很好的补充。
现在有越来越多的应用也在纷纷基于Redis做架构的改造。
C)、redis和mysql数据一致性保证。
应用读取数据时,先从redis读取,如果redis中没有,则从mysql中读取。
当mysql中读取到时,则将该数据保存到redis中,便于下次使用,在保存redis中数据时,设置数据的过期时间。
当数据写入mysql数据库时,同时也将数据写入redis。
保持redis数据与mysql同步
三.3.Nginx负载均衡
Nginx是一个高性能的HTTP和 反向代理 服务器,也是一个IMAP/POP3/SMTP 服务器,具有稳定性、丰富的功能集、示例配置文件和低系统资源的消耗的特点。
适用Nginx返现代理服务器实现负载均衡。
Nginx具有以下特点:
1、高并发连接,官方测试能够支撑5万并发连接,在实际生产环境中跑到2~3万并发连接数。
2、内存消耗少,在3万并发连接下,开启的10个Nginx进程才消耗150M内存(15M*10=150M)。
3、配置文件非常简单,风格跟程序一样通俗易懂。
4、成本低廉,Nginx为开源软件,可以免费使用。
5、支持Rewrite重写规则,能够根据域名、URL的不同,将HTTP请求分到不同的后端服务器群组。
6、内置的健康检查功能,如果NginxProxy后端的某台Web服务器宕机了,不会影响前端访问。
7、节省带宽,支持GZIP压缩,可以添加浏览器本地缓存的Header头。
8、稳定性高,用于反向代理,宕机的概率微乎其微。
三.4.地图接口/工作流引擎集成/报表工具
描述系统中功能核心部分集成的工具或报表引擎,并描述集成后的系统优势
四.性能配置
四.1.业务指标
(1)数据采集:
Ø同一时间,传感器上传单台服务器并发1000tps,服务器正常处理业务。
Ø传感器数据上传异常时,系统告警应答时间小于30秒。
Ø支持10万传感器数据,处理能力100条/秒。
Ø历史信息存储12个月(时间可配)。
(2)数据分析:
Ø对以采集的数据进行统计分析时,数据在5000条,分析时间不大于10秒。
Ø分析数据达到10万条时,服务器正常处理业务。
四.2.性能指标
基于如上业务量,公用性能指标如下:
(1)在非业务高峰期间,典型业务处理平均响应时间要求如下:
Ø系统登录时间不大于5秒。
Ø系统界面的一般性查询响应时间应小于3秒,大量数据查询响应时间应小于6秒。
如存在特殊耗时操作,需详细说明。
(2)在非业务高峰期间,除上述典型业务外,应用系统平均响应时间要
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 联网 系统 技术 方案
![提示](https://static.bdocx.com/images/bang_tan.gif)