《水文管理系统技术方案_2016---.pdf》由会员分享,可在线阅读,更多相关《水文管理系统技术方案_2016---.pdf(37页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、 水文管理系统技术方案 南京绛门通讯科技股份有限公司 2016 年 12 月 水文管理系统技术方案 2 目录 一.前言.5 1.1.建设背景.5 1.2.设计原则.5 1.3.需求分析.6 1.3.1.系统说明.6 1.3.2.运行环境与开发模式的选择.7 1.3.3.可行性分析.9 1.3.4.四大特点.10 二.解决方案.11 2.1.总体方案设计.11 2.1.1.总体功能架构.11 2.1.2.系统组网图.11 2.1.3.物理组网图.13 2.1.4.系统总体构架.13 2.2.应用层功能需求详细设计.14 2.2.1.登陆.14 水文管理系统技术方案 3 2.2.2.采集设备管理.
2、15 2.2.3.监控管理.21 2.2.4.告警管理.23 2.2.5.统计分析.25 2.2.6.系统管理.25 2.3.基础层功能设计.26 2.3.1.身份认证.26 2.3.2.账户管理.27 2.3.3.权限管理.27 2.3.4.提醒机制.27 2.3.5.日志管理.28 三.关键性技术.28 3.1.系统技术架构方面的技术路线.28 3.2.Mysql 集群部署.29 3.3.Nginx 负载均衡.32 3.4.百度地图接口.32 四.性能配置.33 4.1.业务指标.33 水文管理系统技术方案 4 4.2.性能指标.33 五.软硬件配置清单.34 5.1.软件方案.34 5.
3、2.硬件方案.36 六.项目资金预估.37 七.项目实际计划.37 水文管理系统技术方案 5 一.前言 1.1.建设背景 水文信息化是水利信息化的基础,水文在历年的抗洪减灾工作中,做出了巨大贡献,真正起到了耳目和参谋的作用,对气象、降雨监测、水库及河道实时水文监控能在防汛抗旱、水质管理、洪水预报 等领域都起到重要作用。随着国民经济和社会的不断发展,水文工作越来越得到各级政府高度重视,本系统就是通过计量传感器设备实现在线采集、统计分析出各种监测数据列表、报表以及对比曲线图,实现水文信息化,提高工作效率。1.2.设计原则 1、基础性和整体性 整个系统的各种软件应符合国际、国家及行业相关标准。2、技
4、术的先进、实用性 目前技术发展迅速,本系统需要考虑未来的扩展性,在采用的技术方面应体现先进、实用,才能确保本项目建设结束后相当一段时间内技术不落后。由于此项目是工程建设项目,不是科研项目,所以使用先进技术并不能使用未经验证的、不成熟的技术和概念,而是以先进的、成功的理念为核心的成熟技术的组合。3、系统的开放性、可扩展性和安全性 开放的结构意味着通信协议的开放和数据与数据结构的开放和共享。通信协议开放,系统接口透明,便于与其它系统组网,实现系统的集成与资源共享;数据与数据结构的开放,使用户可以很方便地从系统中抽取所需要的各种数据和信息,实现信息交换与共享。水文管理系统技术方案 6 4、规范性 系
5、统设计符合有关国家和行业通用标准、协议和规范,符合国家与部颁标准及行业规范的要求;保证系统运行稳定可靠、数据安全;系统接口规范统一。5、经济性 能够实现最优的系统性能价格比,充分利用有限的资金,创造巨大的社会效益和经济效益。1.3.需求分析 1.3.1.系统说明 水文管理系统系统是一个高灵活性、界面化配置数据的应用系统,使用简便、快速统计数据,生成不同类型的图表是它最大的特点之一。本系统主要功能模块分:采集设备管理、在线监控管理、告警管理、统计分析、系统管理 几大主要模块。采集设备采集:通过计量传感器设备 实现实时采集,对设备可设置区域和水域等归属,可实时在线刷新设备数据。在线监控:根据实时回
6、传的数据情况可在线监控当前计量传感器设备的实时情况和 查看当前不同区域水文情况 告警管理:根据传感器设备所采集的数据通过系统计算之后可对当前水域的情况进行分析,并可计算出当前区域是否符合高清条件,可对 水位、水流、汛情、水质等进行告警 等 统计分析:对水文数据从不同角度、区域、时间段产生多角度组合产生报表,并可对报表数据在线生成不同类型图表,并可打印。水文管理系统技术方案 7 系统管理:系统管理员对整体系统允许情况进行监测和管理,管理员管理用户和用户权限,系统操作日志和系统异常日志等。1.3.2.运行环境与开发模式的选择 本系统采用基于 Web 开发的 JSP 技术。JSP 是一项功能强大的用
7、于构建动态 Web 应用程序的技术。它可完全利用 Java 架构的强大、安全和高效的平台特性。数据库开发系统采用 MySQL5.5 数据库。它是一个快速、多线程、多用户的 SQL 数据库服务器。具有强大的数据存储功能并兼有支持客户机/服务器的运行环境、多线程体系结构,支持存储过程、支持触发器和逻辑内存管理和成本低等优点。1.JSP 技术 JSP 技术是用成熟、强大、易扩充的 Java 语言作为脚本语言。它主要具有以下优势:高效性与安全性。JSP 在执行前先被编译成字节码,字节码由 Java 虚拟机解释执行,比源码解释效率高。可维护性。由于 JSP 技术是一种开放的、跨平台的结构,因此 Web
8、服务器、平台及其他组件能很容易升级或切换,且不会影响 JSP 基本的应用程序。多样化和功能强大的开发工具支持。Java 已经有了许多优秀的开发工具,而且许多可以免费得到,且其中许多已经可以顺利的运行于多种平台之下。2.MySQL5.5 开源数据库 MySQL5.5 是 Oracle 公司推出的数据库管理系统的版本。MySQL5.5 数据库引擎提供完整的 XML 支持。MySQL5.5 关系数据库引擎支持当今苛刻的数据处理所需的功能。数据库引擎充分保护数据完整性,同时将管理众多并发修改数据库的用户的开销减到最小。水文管理系统技术方案 8 MySQL5.5 分布式查询使得以引用来自不同数据源的数据
9、,同时分布式事务支持充分保护分布式数据更新的完整性。3.开发模式 本系统最终的水文数据会公开呈现给不同部门的相关用户或者政府领导,因此它需要实现对系统用户的不同管理。本系统采用 B/S 体系结构来进行系统的设计。B/S 三层体系结构如图 1 所示。图 1 B/S 三层体系结构图 4.开发运行环境 开发运行必备条件如下:CUP:保证系统、数据库和服务器运行流畅,推荐 2.0GHz 以上。软件平台:MyEclipse10。服务器端操作系统:独立于操作系统的跨平台系统,采用 Win7 及以上版本,考虑其稳定性。数据库:MySQL。Web 服务器:Tomcat7.0 服务器。客户端运行环境:能运行 I
10、E9.0 以上或 GoogleFirefox 浏览器的操作系统。水文管理系统技术方案 9 1.3.3.可行性分析 1.技术可行性 根据本系统的功能需求,采用 JSP 技术与开源的 MySQL 数据库引擎进行开发。JSP 将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于 Web的应用程序的开发变得迅速和容易。MySQL 作为一种快速的、多线程、多用户和健壮的数据库服务器,根据第三方测试结果,在千万级的数据环境中依然保持较高的执行速度。因此在技术层面上是完全可行的。而且 SQL 是一个非过程化的语言,可用于所有用户的数据库活动模型,包括系统管理员、数据库管理员、应用程序员、决策支
11、持系统人员及许多其他类型的终端用户。基本的 SQL 命令只需要很少时间就能学会,最高级的命令在几天内便可掌握。MySQL 功能强大,而且很多信息管理系统都是用 MySQL 作后台,对本系统的开发是可行的。本系统数据需考虑数据的高并发和后续数据的扩展性,数据库采用 MySQL 集群和缓存集群,以保障整体水文管理系统平稳运行。2.经济可行性 水文在历年的抗洪减灾工作中,做出了巨大贡献,水文工作得到各级政府高度重视,行业管理也在逐步加强,由于各级政府的重视和有关政策的逐步完善,水文投入有较大幅度增加。但是依靠传统的依靠人工采集水文信息的方式时效性越来越差,成本也不断上升。本系统通过传感器采集数据,在
12、线实时数据采集,大大减少人工成本并且可对采集的数据及时处理分析,提升了水文信息的及时性,有很高的市场可行性。水文管理系统技术方案 10 1.3.4.四大特点 界面可视化配置 在线实时采集数据,并可对当前水文情况在线监控,可根据需要自定义切换监控水域或者告警类别。集成地图接口,可直接在地图上查看不同水域的水文情况。及时的告警提示 将汛情或者水文 告警信息预置进系统,当采集的数据达到预置数据时 则以告警形式通知系统管理员(短信、邮件),并在系统界面以告警标识进行提醒,很好的预防旱讯灾情等。集成报表引擎 用户可以选择需要的数据,以饼状图、条形图、线状图等方式生成分析结果,输出的分析报告更加直观、生动
13、。灵活性、扩展性 平台具备迭代开发的设计,后期可方便的增减和修改所提供的组件、公式,可支持个性化定制服务。水文管理系统技术方案 11 二.解决方案 2.1.总体方案设计 2.1.1.总体功能架构 总体功能架构 2.1.2.系统组网图 业务系统部分硬件部署如下:水文管理系统技术方案 12 应用服务器应用服务器应用服务器应用服务器防火墙防火墙负载均衡服务器负载均衡服务器数据库服务器数据库&缓存集群业务系统组网图 采集端 采集端通过水文采集传感器 将水文信息采集之后通过专网接口传输。应用服务器 考虑性能,采用双服务器,用于 HTTP 协议的实现和数据库连接管理。数据库服务器 采用 Mysql 集群形
14、式,保障系统运行的高可用和数据扩展性 负载均衡服务器 当数据量和并发量非常大时 考虑服务器和系统的运行 设计单独的负载均衡服务器 水文管理系统技术方案 13 2.1.3.物理组网图 物理设备组网图 2.1.4.系统总体构架 本系统主要由 6 个模块组成:登录模块、数据采集管理模块、在线监控管理模块、告警管理模块、统计分析、系统管理 模块组成。每个模块下都有此模块对应的功能页面。水文管理系统登陆采集设备管理监控管理统计分析系统管理告警管理水域设置设备设置设备状况查询设备监控水域情况监控告警设置水文告警查询权限管理日志管理设备投放管理设备巡检记录 系统总体构架 水文管理系统技术方案 14 2.2.
15、应用层功能需求详细设计 2.2.1.登陆 功能概述 后台系统 内置超级管理员 admin,初次登陆只能用 admin,登陆之后可在系统管理再新增其他后台管理员。界面 系统登陆界面 A、输入管理员用户名和相应密码 B、点【登陆】进入系统 C、如果登陆密码忘记 可点击“忘记密码”通过手机短信等方式找回密码 水文管理系统技术方案 15 2.2.2.采集设备管理 (一)水域设置 功能概述 此处设置各个省市区域的水域,设置水域之后,水域作为设备的一个归属项 界面 A、设置水域编号和水域名称,编号和名称均是唯一值不可重复,同一河流可设置成多个水域。例:无锡境内太湖、宜兴境内太湖 等 B、给每个水域设置 归
16、属省市 和经纬度范围,经纬度范围可为空。(二)设备设置 水文管理系统技术方案 16 功能概述 此处设置和维护设备传感器相关信息、启用时间、状态、使用到期日等信息。界面 A、此处界面展示所有水文采集传感器设备信息,可通过界面查询条件 搜索到相应的设备 B、可批量 EXCEL 导入。设备编号和设备名称均是唯一标识 不可重复 点 页面跳转打开设备新增页面:A、第一次新建的设备,设备编号和设备名称 为必填,且唯一不可重复。水文管理系统技术方案 17 B、设备状态 未选择状态下,设备状态为“未启用”,点击设备启用 此按钮置灰,设备状态变更为“使用中”,点击报废处理后,设备状态变为“已报废”C、“已报废”
17、的设备,只能删除,不可再做其他修改和操作。点 操作栏位后的 编辑 进入设备编辑页面:A、编辑页面 只能变更设备状态,其他信息不可变更 B、点击之后点【保存】(三)设置投放管理 功能概述 水文管理系统技术方案 18 此功能页面是对 水文采集传感器进行投放管理,投放的水域,归属省省市等,一个设备只能投放一次,对“已报废”状态的设备不能进行投放。此处只能对“未启用”和“暂停使用”状态的设备进行投放。如果想对 已投放的设备进行重新投放,需要在设备设置界面 先暂停使用 界面 A、根据左侧的水域 进行投放,一个水域可以投放多个设备,一个设备只能投一次 B、已经投放的设备可以根据查询条件进行查询 C、对于批
18、量投放的设备,可以通过 EXCEL 批量转入。点击按钮,页面跳转进入 设备投放新增页面:水文管理系统技术方案 19 A、新增页面 默认自动带出选择的 省市和水域,可改。投放页面所有栏位不可为空。B、投放之后 点确定投放,确定投放之后,相应设备在【设备设置】界面的状态自动变成“使用中”C、对“已报废”的设备,自动在流域设备中消失。(四)设备巡检记录 功能概述 对于已经投放的设备 需定时做巡检工作(无需巡检的设备,此功能可不使用),记录设备巡检情况 并且做到期巡检提醒。系统设置设备巡检周期,到期未有巡检记录的,可视为过期未巡检,系统予以提醒。界面 水文管理系统技术方案 20 A、同一个设备可能有多
19、条巡检记录;同一个设备 可能在不同水域的巡检记录理 B、批量的巡检记录,可用 EXCEL 导入 点 按钮,新增巡检记录,进入新增巡检记录页面:水文管理系统技术方案 21 A、对于已经选择的 巡检区域和水域 点选择按钮 只能选择当前 投放在此水域的设备 B、同一设备 一天只能有一笔 巡检记录 C、点 主界面的 编辑 按钮也可进入明细页面 对巡检记录进行修改,只可修改巡检日记和巡检日期,其余信息不可改。(五)设备状况查询 功能概述 查询所有设备当前的状态(正常使用、暂停待维修、未启用、到期未巡检、过期未报废 等),设备状态也可根据水文检测单位的要求做调整和增加。界面 A、此处查询所有系统有的采集传
20、感器设备 B、状态查询条件 下拉可选:全部、正常使用、暂停待维修、未启用、到期未巡检、过期未报废 2.2.3.监控管理(一)、设备监控 水文管理系统技术方案 22 功能概述 在线实时查看所有投放设备的情况,投放地和当前地是否一致等,异常情况出现红色告警。在线实时收取数据 界面 A、点【刷新所有设备】则是检测所有设备 当前的连接状态,运行正常则显示绿灯,异常状态显示红灯(设备连接不上、数据采集不到、投放位置和当前设备位置不相符 均为异常)B、点【开始采集数据】则对所有设备当前的水文数据进行采集(水位、水温、水流等)(二)水域情况监控 功能概述 水文管理系统技术方案 23 在线实时查看所有投放设备
21、的水域,根据采集回来的数据,实时刷新,当前水域情况,监控水文信息是否正常。界面 A、点击左侧水域菜单,右侧相应出现此水域的几个投放监测点。根据实时采集数据刷新,查看当前此监测点水文情况是否正常 B、只显示异常点、只显示正常点 在地图上显示对应的点 2.2.4.告警管理(一)告警设置 功能概述 设置水文的告警,采集到的水文数据符合告警设置 则显示告警。可根据不同水域设置不同的告警;根据不同水域不同时间段设置告警:例:某水域水温高于多少度 或者低于多少度 属于异常,需告警处理;某水域白天水温和晚上水温 告警的阀值线可设置不一样。水文管理系统技术方案 24 水文告警 可根据终端采集传感器 可采集到的
22、水文信息来定制的,可有:水位、水温、水流 注:告警类别种类根据采集终端可采集水文信息种类可变更或增加。界面 :因目前具体水文可采集的信息未确定,待确定后补充界面 (二)水文告警查询 功能概述 根据告警信息设置,比对通过采集器采集的水文信息记录不同时间不同流域监测点的告警信息。告警信息可通过条件查询,并将查询结果转出。以列表的形式呈现:告警时间、告警流域、采集终端编号、采集终端名称、告警类别、告警名称 界面 A、告警时间根据设备采集上传回来的时间,可精确到 秒 B、告警信息根据条件查询,查询出的结果 可导出转成 EXCEL 水文管理系统技术方案 25 2.2.5.统计分析 功能概述 根据水域 和
23、时间段统计查看水文信息数据。不管是异常数据还是正常数据均展示 界面 A、根据采集的数据 从不同角度统计水文信息 B、可同时查看多个水域的水文数据,界面比对查看 2.2.6.系统管理(一)权限管理 功能概述 设置用户和用户权限,对用户权限设置可分系统功能模块和水域划分。系统用户只能 水文管理系统技术方案 26 看属于自己权限范围内的功能界面,和查看自己权限范围内的水域。界面 可根据需求进行定制开发,可直接对用户进行权限管控,也可通过角色区分权限,用户选择对应角色 则即拥有此角色权限 (二)日志管理 功能概述 记录所有平台系统的操作日志和系统日志,各个用户登陆情况和操作情况均记录详细;当数据库或者
24、系统出现异常时 则记录为系统异常日志。界面:根据客户日期需求可定制化栏位列名 2.3.基础层功能设计 基础层功能设计主要包括提供 身份认证、日志管理、权限管理等共用性功能。2.3.1.身份认证 身份认证是判断一个用户是否为合法用户的处理过程。最常用的简单身份认证方式是系统通过核对用户输入的用户名和密码,看其是否与系统中存储的该用户的用户名和密码一致,来判断用户身份是否正确。通过它可以识别用户的登陆角色,以及防止同一个用户对同一份 水文管理系统技术方案 27 报表进行多次提交。本系统在登陆时采用上述的用户名和密码的认证方式。多次登陆失败或者忘记密码时 需要通过手机验证,并且验证手机号与用户是否在
25、后端系统是否对应合法,非法手机号不允许校验,校验成功获取验证码 再进行重置密码或者登陆。2.3.2.账户管理 账户管理是系统不可或缺的一部分。平台内置超级管理员,超级管理员可新增维护其他平台管理员,系统管理员可以管理用户的账号、正常还是暂停。2.3.3.权限管理 权限管理是根据系统设置的安全规则或者安全策略,用户可以访问而且只能访问自己被授权的资源。权限管理几乎出现在任何有用户和密码的系统里面。该系统中权限管理分为功能权限和区域权限。功能权限:分配管理员用户可登陆系统只可查看操作自己有权限的功能模块。区域权限:对采集终端进行区域水域划分,设置区域权限之后 各个管理员只需要对自己管辖区域的数据进
26、行查看和维护。2.3.4.提醒机制 在系统的开发过程中,经常要使用到新消息的提醒功能,比如数据库数据有更新或者某个用户的特殊操作,这时就要对用户进行及时的处理提醒。该功能最简单的实现就是通过页面实时刷新,访问数据库然后告知用户有新的消息。本系统使用 Ajax 定时向服务器轮询实现Web页面新消息实时提醒。可通过企业内部的邮箱和短信平台进行邮件提醒和短信提醒。水文管理系统技术方案 28 2.3.5.日志管理 日志管理功能在企业应用系统中起着非常重要的作用。系统的日志文件可以让管理员了解系统状态,在系统出现问题时管理员可以查阅日志文件来确认当前系统状态、观察用户者踪迹,寻找特定事件相关的数据操作。
27、三.关键性技术 3.1.系统技术架构方面的技术路线 本系统设计 综合考虑系统的稳定和响应速度以及实时性等多方位功能和性能要求,采用 Spring 开源框架、MVC 框架技术、My Batis 进行数据连接整个 并采用 SSM 对框架进行整合,具体建设如下:(1)体系架构 系统技术路线的选择,采用开放的、基于工业标准和行业发展趋势的原则,在体系架构上采用 B/S 模式。它可以提供灵活的信息交流和信息发布服务,具有更强的信息系统集成性和更好的系统安全性。(2)设计模式 A、Spring 是一个开源框架,Spring 是于 2003 年兴起的一个轻量级的 Java 开发框架,由 Rod Johnso
28、n 在其著作 Expert One-On-One J2EE Development and Design 中阐述的部分理念和原型衍生而来。它是为了解决企业应用开发的复杂性而创建的。Spring 使用基本的 JavaBean 来完成以前只可能由 EJB 完成的事情。然而,Spring 的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何 Java 应用都可以从 Spring 中受益。简单来说,Spring 是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。B、SpringMVC:Spring MVC 属于 SpringFrameWork 的后续产品,已经融合在
29、Spring Web Flow 里 水文管理系统技术方案 29 面。Spring MVC 分离了 控制器、模型对象、分派器以及处理程序对象的角色,这种分离让它们更容易进行定制。采用 MVC 设计模式,用户输入输出界面均为 JSP 页面,即展示层(View),用户的请求将会被发送到控制层(Controller)的一个 Servlet 集中处理,根据请求调用模型层(Model)的 JavaBean 对请求进行实际处理,并把结果返回给控制层,控制层根据请求的执行结果将响应派发到相应的 JSP 页面。如图 所示。MVC 设计模式(3)数据库连接 MyBatis 本是 apache 的一个开源项目 iB
30、atis,2010 年这个项目由 apache software foundation 迁移到了 google code,并且改名为 MyBatis。MyBatis 是一个基于 Java 的 持久层 框架。iBATIS 提供的 持久层 框架包括 SQL Maps 和 Data Access Objects(DAO)MyBatis 消除了几乎所有的 JDBC 代码和参数的手工设置以及结果集的检索。MyBatis 使用简单的 XML 或注解用于配置和原始映射,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java 对象)映射成数据库中的记录。实现了从 J
31、ava 程序内调用标准的 SQL 命令对数据库进行查询、插入、删除和更新等操作,并确保数据事务的正常进行。3.2.Mysql 集群部署 使用 MySql Cluster+Redis 的架构实现信息的读写和存储 A)、MySQL Cluster 是 MySQL 官方集群部署方案,它的历史较久。支持 水文管理系统技术方案 30 通过自动分片支持读写扩展,通过实时备份冗余数据,是可用性最高的方案,声称可做到 99.999%的可用性。架构原理图如下:MySQL cluster 主要由三种类型的服务组成:NDB Management Server:管理服务器主要用于管理 cluster 中的其他类型节点
32、(Data Node 和 SQL Node),通过它可以配置 Node 信息,启动和停止 Node。SQL Node:在 MySQL Cluster 中,一个 SQL Node 就是一个使用 NDB引擎的 mysql server 进程,用于供外部应用提供集群数据的访问入口。Data Node:用于存储集群数据;系统会尽量将数据放在内存中。B)、MySQL Redis 分布式缓存 水文管理系统技术方案 31 Redis 是一个开源,先进的 key-value 存储,并用于构建高性能,可扩展的Web 应用程序的完美解决方案。Redis 从它的许多竞争继承来的三个主要特点:Redis 数据库完全在
33、内存中,使用磁盘仅用于持久性。相比许多键值数据存储,Redis 拥有一套较为丰富的数据类型。Redis 可以将数据复制到任意数量的从服务器。Redis 优势包括:Redis 的速度非常快,每秒能执行约 11 万集合,每秒约81000+条记录。Redis 支持最大多数开发人员已经知道像列表,集合,有序集合,散列数据类型,这使得它非常容易解决各种各样的问题,因为我们知道哪些问题是可以处理通过它的数据类型更好。所有 Redis 操作是原子的,这保证了如果两个客户端同时访问的 Redis 服务器将获得更新后的值。Redis 是一个多实用的工具,可以在多个用例如缓存,消息,队列使用(Redis 原生支持
34、发布/订阅),任何短暂的数据,应用程序,如 Web应用程序会话,网页命中计数等。Redis 不是比较成熟的 Memcache 或者 Mysql 的替代品,是对于大型互联网类应用在架构上很好的补充。现在有越来越多的应用也在纷纷基于 Redis 做架构的改造。C)、redis 和 mysql 数据一致性保证。应用读取数据时,先从 redis 读取,如果 redis 中没有,则从 mysql 中读取。当mysql 中读取到时,则将该数据保存到 redis 中,便于下次使用,在保存 redis中数据时,设置数据的过期时间。当数据写入 mysql 数据库时,同时也将数据写入 redis。保持 redis
35、 数据与 mysql 同步 水文管理系统技术方案 32 3.3.Nginx 负载均衡 Nginx 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 服务器,具有稳定性、丰富的功能集、示例配置文件和低系统资源的消耗的特点。适用 Nginx返现代理服务器实现负载均衡。Nginx 具有以下特点:1、高并发连接,官方测试能够支撑 5 万并发连接,在实际生产环境中跑到 23 万并发连接数。2、内存消耗少,在 3 万并发连接下,开启的 10 个 Nginx 进程才消耗 150M 内存(15M*10=150M)。3、配置文件非常简单,风格跟程序一样通俗易懂。4、成本低廉
36、,Nginx 为开源软件,可以免费使用。5、支持 Rewrite 重写规则,能够根据域名、URL 的不同,将 HTTP 请求分到不同的后端服务器群组。6、内置的健康检查功能,如果 Nginx Proxy 后端的某台 Web 服务器宕机了,不会影响前端访问。7、节省带宽,支持 GZIP 压缩,可以添加浏览器本地缓存的 Header 头。8、稳定性高,用于反向代理,宕机的概率微乎其微。3.4.百度地图接口 本系统需多方位与百度地图接口,通过地图直观查看当前江河湖海的分布情况,并通过接口集成,将当前水文采集传感器位置展出来,水文正常的传感器则显示正常信息,水文异常的传感器位置 则显示告警提示信息 水
37、文管理系统技术方案 33 四.性能配置 4.1.业务指标(1)数据采集:同一时间,水文采集传感器上传单台服务器并发 1000tps,服务器正常处理业务。传感器数据上传异常时,系统告警应答时间小于 30 秒。支持 10 万传感器数据,处理能力 100 条/秒。历史信息存储 12 个月(时间可配)。(2)数据分析:对以采集的数据进行统计分析时,数据在 5000 条,分析时间不大于 10 秒。分析数据达到 10 万条时,服务器正常处理业务。4.2.性能指标 基于如上业务量,公用性能指标如下:(1)在非业务高峰期间,典型业务处理平均响应时间要求如下:系统登录时间不大于 5 秒。系统界面的一般性查询响应
38、时间应小于3秒,大量数据查询响应时间应小于6秒。如存在特殊耗时操作,需详细说明。(2)在非业务高峰期间,除上述典型业务外,应用系统平均响应时间要求如下:应用系统内在线事务处理的响应时间不大于 5 秒。跨系统在线事务处理的响应时间不大于 8 秒。应用系统内查询的响应时间不大于 6 秒。水文管理系统技术方案 34 应用系统内统计的响应时间不大于 15 秒。(3)在业务高峰期间,应用系统平均响应时间要求不超过非业务高峰期间平均响应时间的 1.5 倍。(4)应用系统并发数设计应该支持 30%的冗余,保证系统在业务高峰期间稳定运行。(5)所有数据在线保存 3 年时间,且备份数据永久保存。五.软硬件配置清
39、单 5.1.软件方案 本期涉及到的具体功能模块开发:产品名称 功能界面 功能明细 水文管理系统 水域设置 设置各个省市区域的水域,设置水域之后,水域作为设备的一个归属项 设备设置 设置和维护设备传感器相关信息、启用时间、状态、使用到期日等信息 设备投放管理 水文采集传感器进行投放管理,投放的水域,归属省省市等,一个设备只能投放一次,对“已报废”状态的设备不能进行投放。此处只能对“未启用”和“暂停使用”状态的设备进行投放。如果想对 已投放的设备进行重新投放,需要在设备设置界面 先暂停使用 水文管理系统技术方案 35 设备巡检记录 对于已经投放的设备 需定时做巡检工作(无需巡检的设备,此功能可不使
40、用),记录设备巡检情况 并且做到期巡检提醒。系统设置设备巡检周期,到期未有巡检记录的,可视为过期未巡检,系统予以提醒 设备状况查询 查询所有设备当前的状态(正常使用、暂停待维修、未启用、到期未巡检、过期未报废 等),设备状态也可根据水文检测单位的要求做调整和增加 设备监控 在线实时查看所有投放设备的情况,投放地和当前地是否一致等,异常情况出现红色告警。在线实时收取数据 水域情况监控 在线实时查看所有投放设备的水域,根据采集回来的数据,实时刷新,当前水域情况,监控水文信息是否正常 告警设置 设置水文的告警,采集到的水文数据符合告警设置 则显示告警。可根据不同水域设置不同的告警;根据不同水域不同时
41、间段设置告警:例:某水域水温高于多少度 或者低于多少度 属于异常,需告警处理;某水域白天水温和晚上水温 告警的阀值线可设置不一样。水文告警 可根据终端采集传感器 可采集到的水文信息来定制的,可有:水位、水温、水流 注:告警类别种类根据采集终端可采集水文信息种类可变更或增加 水文告警查询 根据告警信息设置,比对通过采集器采集的水文信息记录 水文管理系统技术方案 36 不同时间不同流域监测点的告警信息。告警信息可通过条件查询,并将查询结果转出。以列表的形式呈现:告警时间、告警流域、采集终端编号、采集终端名称、告警类别、告警名称 统计分析 根据水域 和时间段统计查看水文信息数据。不管是异常数据还是正
42、常数据均展示 权限管理 设置用户和用户权限,对用户权限设置可分系统功能模块和水域划分。系统用户只能看属于自己权限范围内的功能界面,和查看自己权限范围内的水域 日志管理 记录所有平台系统的操作日志和系统日志,各个用户登陆情况和操作情况均记录详细;当数据库或者系统出现异常时 则记录为系统异常日志 5.2.硬件方案 考虑系统运行性能稳定和并发数的多并发实现,初步建议服务器如下,具体配置要求根据项目实际用户量和成本预算再进行沟通确定:序号 设备名称 运行软件 设备数量 1 应用服务器 私车公用系统 2 2 数据库服务器 MySql Cluster+Redis 集群 3 3 负载均衡 1 水文管理系统技术方案 37 六.项目资金预估 暂无 七.项目实际计划 待补充