APP下载

基于Web App的梯级水电站调度信息移动查询系统设计与实现

2017-04-14张玉柱樊启萌

软件 2017年2期
关键词:梯级水电站调度

张玉柱,樊启萌,杨 旭

基于Web App的梯级水电站调度信息移动查询系统设计与实现

张玉柱,樊启萌,杨 旭

(长江电力股份有限公司,湖北 宜昌 443002)

以设计和实现梯级水电站调度信息移动查询系统为目标,分析企业梯级水电站调度系统需求,整合不同应用系统的调度信息,以Web App应用方式进行设计,通过需求分析、系统设计、系统实现等建设过程,实现了实时数据、预报计划、时段数据、整点数据等调度信息查询功能,并以移动方式展现给用户。应用于中国长江电力股份有限公司长江上游梯级水电站调度的实例表明,系统具有灵活性、可扩展性,功能与性能满足企业应用要求,通过移动设备和个人电脑可以快速、便捷的访问系统;整合后的调度信息避免了系统应用环境差异和专业知识壁垒,满足了企业不同用户的需求。该系统对梯级水电站调度管理以及信息化建设具有参考价值。

Web App;梯级水电站;调度信息;移动查询

0 引言

随着长江上游梯级水电站逐步投建,企业梯级水电站和水库群的联合调度面临着越来越复杂的要求,对调度信息全面快速掌握的需求也逐渐提出。调度系统和调度信息网站提供水情信息查询与分析、实时监视、水库调度、预报录入等功能,由于系统环境限制,很难满足调度信息快速方便掌握的要求。因此,采用先进的计算机技术实现梯级水电站调度信息的移动查询十分必要。

近年来,移动互联网和移动应用的迅速发展及应用,移动应用作为企业应用的前沿正不断的进行创新与发展。现调度系统基于传统的C/S模式建立,调度网站信息受限于电脑显示设备,应用环境缺乏便利和灵活,调度信息未能充分整合和多角度分析,难以很好的满足梯级水电站调度的管理需求。本文以梯级水电站为对象,引入Web App应用模式建立梯级水电站调度信息移动查询系统,对移动应用建设和梯级调度信息进行管理研究。

1 需求分析

梯级水电站调度信息移动查询系统的研发,主要对企业已建调度系统和调度信息网站的运行情况、用户对象、用户所需功能、用户界面、安全以及移动平台运行环境等方面进行调研和分析。以企业实际情况为出发点,以满足企业用户需求为目的,通过需求分析明确了在保证安全和性能的前提下,实现梯级水电站水情、电量、气象实况与预报,以及梯级河流、水库水情等查询功能,并能够根据用户需求的变化实现灵活的配置和拓展,满足各种移动设备的正常使用[1]。

2 系统设计

2.1框架设计

(1)浏览器服务器(B/S)模式

系统采用浏览器服务器(B/S)模式[2](见图1),通过移动设备浏览器向Web App[3]应用服务发出请求,Web App应用服务对浏览器的请求进行处理,通过业务处理和数据交互将所需信息返回至移动设备浏览器。

系统程序运用JSP动态网页开发技术,采用基于请求的(request-based)的模型-视图-控制器(Model-View-Controller)模式技术框架(Spring + Spring MVC)和数据持久层框架(Mybatis)进行开发。前端程序采用HTML5、CSS、JavaScript开发语言和JQuery、Amaze UI、Echarts、Moment、Numeral等前端框架和类库进行开发。

(2)面向层次的技术架构设计

系统按照基础设施层、技术服务层、业务服务层、应用服务层、用户视图层五个层面进行设计,各个层面继续细分为多层次[4],分层的技术架构具有很强的扩展性、可维护性和安全性。用户视图层负责用户界面应用,使用MVC模式建立,其中弱化模型层,启用视图层和控制器层。应用与业务服务层在应用平台范围内进行业务组合编排,向用户视图层提供业务服务。系统技术架构层次结构见图2。

图1 系统B/S模式

(3)数据库设计

系统业务数据主要来源梯级水库调度自动化系统(以下简称调度系统)和梯级调度网站(以下简称调度网站)生产数据库,系统不允许对生产数据库有任何调整和性能影响。中间数据及后台管理数据库使用E-R(实体-联系)模型方法进行设计,根据需求对用户与授权、应用信息定义、中间数据、日志等功能进行实体、属性和联系对象设计(见图3)。

2.2功能设计

根据调度信息分类,系统按照用户需求划分为实时数据、预报计划、时段数据、整点数据、河道水情、水库水情、历史数据、科普知识、交互查询9个功能模块[5](见图4)。

(1)实时数据。集中并分类展示梯级电站年度总出力、总发电量、总开机台数,在建电站上游水位、坝址流量信息,梯级电站机组运行状态、上下游水位、重点站水位、出入库流量、出力等信息。

(2)预报计划。集中并分类展示梯级电站全年发电量测算、次日发电计划、电站入库流量预报,流域区域短期天气预报,长江上游各个区间降雨预报和实际降雨信息。

(3)时段数据。集中并分类展示梯级电站电量和水情统计信息。电量信息包括日、月、年累计电量、同期电量、计划电量等信息;水情信息包括日、月、年水位、流量、水量等信息;

图2 系统技术架构层次结构

图3 E-R模型概要设计

(4)整点数据。集中并分类展示梯级区域整点出力信息,梯级电站整点上下游水位、出入库流量、出力信息,长江上游各流域区域6小时时段的降雨统计信息;

(5)河道水情。集中并分类展示长江上游主要河道及干流主要水文观测站的水位流量信息,河道包括金沙江、雅砻江、岷江、沱江、长江干流等;

(6)水库水情。集中并分类展示相关水库统计信息与详细信息。水库信息包括出入库流量、库水位、已用库容、可用库容信息。

(7)历史数据。集中并分类展示梯级电站近三年各月水量、电量统计信息。水量信息包括梯级电站各月平均入库流量、较往年及多年均值增加百分比信息;电量信息包括梯级电站近三年各月及统计比较电量信息。

图4 系统功能模块结构

(8)科普知识。分类展示梯级电站简介信息,中国大坝信息,世界大坝信息,重点水文站平均流量频率信息,水资源及相关科学知识介绍,梯级电站设计洪水成果信息和度汛方案。

(9)交互查询。按照人机交互方式展示长江上游关键站点水位,梯级电站出入库流量、出力、电量、出入库水量信息。

2.3性能设计

系统性能决定系统质量,从安全性、依从性、易用性、准确性、高效性、可扩充性、可维护性7个方面对系统性能进行设计。

(1)安全性。通过用户授权和身份认证进行安全认证,控制访问者是否具有系统访问权限。通过会话、请求和Cookie认证方式进行用户访问认证,确保系统不能进行非法访问。

(2)依从性。依照国家水利行业标准、企业水资源软件系统开发规范、调度系统设计要求进行建设,系统程序依照编程语言开发规范进行设计编码,在开发过程、数据资料、系统设计、编码、界面、文档等方面进行规范遵循。

(3)易用性。按照业务功能进行合理划分,系统UI依照扁平化设计思维设计,使信息展示和用户操作简洁明了,达到登录即用的要求。

(4)准确性。通过数据高效连接保证数据及时有效传输。通过时间校验判断数据时效性,通过中间数据处理过程保证统计数据的计算准确。通过数据标准化展示保证数据显示含义准确。

(5)高效性。通过优化查询计算程序、使用定时执行中间数据预处理、使用应用数据缓存、优化调整应用服务器等提升系统响应能力和性能。

(6)可扩充性。业务划分方面选择合适的业务粒度达到业务内聚,业务的调整、扩充和增加在最小业务影响范围内进行,从而使业务扩充灵活。软件架构方面进行分层设计,将不同软件部分分离设计实现,不同技术功能和框架在各自的层次中进行实现,并有效连接互不影响。

(7)可维护性。系统程序按照分层或模块化实现,强化文档和程序注解,增加日志记录功能,同时对各种可能结果进行容错处理提高系统稳定性。

2.4体验设计

系统使用扁平化设计思想进行导航设计。通过九宫格、页头导航按钮、二级列表导航页面实现业务页面的层级导航(见图5),通过直达导航实现业务页面的快速转换(见图6)。两种导航方式结合使用,用户可以灵活快速地进行定位和访问。

图5 层级导航

图6 快速导航

页面调度信息展示设计主要以表格和图片形式。页面内容多或信息重要程度不同时,通过页面交互隐藏内容。数据表格在移动端列数一般控制不超过7列,当表格需要显示多列时采用响应式表格插件Tablesaw进行显示。页面多用图表、颜色、数值结合方式展示业务逻辑信息,使用人机交互模拟界面提高互动性。对浏览器内核进行判断,对于不支持HTML5或前端UI框架时的系统显示友好提示页面(见图7)。

图7 页面设计

3 系统实现

3.1开发模式

系统需求分为一定粒度子项,开发团队围绕一部分需求紧密协作、完成设计、开发、集成和验证工作,生成一个可运行满足部分需求的系统,并以此获取用户的反馈。依此过程系统逐步增长,最终形成完备的系统。建设过程中用户、开发团队逐渐对业务应用形成更加清晰深入的认识,开发决策逐步推进,在适当的时间做出。基本决策在早期做出,更多的决策在每个开发迭代中做出。确定合适迭代周期,在每个迭代中产生有价值的应用增量,以完备、稳定的方式进行应用交付。当需求、计划、架构在迭代周期中发生变化,开发团队及时响应需求变化,推进系统演进[6]。

3.2关键技术

(1)用户统一与验证

企业已建成大量生产应用系统,不同系统拥有独立的用户信息和验证机制,用户验证功能存在重复建设、信息冗余、运维困难等问题。通过分析,办公自动化(OA)系统拥有企业所有人员信息,将此作为移动查询系统用户统一来源可以避免上述等问题,而且可以快速在企业内部建立用户群,其他应用系统也可以共同使用。同时,实现OA用户在线验证公共服务为移动查询系统提供用户登录验证功能,在此基础上辅以单应用系统用户验证功能可作为用户验证的一种补充。

用户信息统一和多验证方式带来多应用系统权限管理需求。通过基于角色的访问控制方法(RBAC)[7]建立多应用系统权限管理机制[8],在模型设计中增加“应用系统”维度进行应用区分,权限管理系统增加系统应用管理人员界面和数据分组功能提供给用户进行权限管理使用。用户验证概要设计见图8。

图8 用户验证概要设计

(2)数据预处理

梯级水电站调度信息来源于企业已建调度系统和调度信息网站的数据库与数据文件,其中存储的核心数据记录数已达数亿级别,调度信息的检索与计算需要花费几秒甚至数分钟的时间。为了提高查询效率缩短计算时间,采用数据预处理技术使移动查询系统信息响应达到用户接受程度。

预处理核心内容是ETL(Extract,Transform,Load)[9]过程,主要解决数据的分布性、异构性和计算效率问题。其中对实时数据、计算数据以及外部数据进行预处理,通过数据清理、集成、变换提高系统查询效率。通过Oracle数据库Procedure对象开发实现数据的同步与计算功能。依据业务模块对数据分类,按照业务需求时间进行部分数据同步,有计算要求的进行数据计算并将结果存储于中间数据表。数据库Procedure对象通过Schedule Job调用执行,中间数据以刷新方式进行更新。

调度数据拥有时间属性,分为时点属性和时段属性。时点数据对应实时以及小时、天、旬、月、年的起止时间,对于拥有时点属性的业务数据,数据预处理应在对数据库性能产生较小影响下设置小时间间隔。如小时时点数据间隔可设置为0.5小时,业务数据会产生0.5小时延后。时段数据对应小时、单位小时(4、8、6、12小时)、天、旬、月、年时间范围,时段数据会在时段结束之后进行计算生成。数据预处理应在数据生成之后进行,时间间隔可与时段保持一致。如小时时段数据间隔可设置为1小时,执行时间在整点10分钟之后,数据预处理时间为08:10、09:10……依次类推。数据的定时预处理带来数据延时情况,根据业务要求和用户接受程度设置合理预处理间隔时间。

(3)数据缓存

大数据量并发查询会消耗大量网络与系统资源,会对企业调度生产工作造成不良影响。通过分析,系统执行查询时许多查询目标和条件相同,基于这个特点引入数据缓存[10]技术提高查询效率和减少数据库服务器压力。通过在持久层集成Ehcache缓存框架,实现查询结果业务对象的数据缓存功能。在ehcache.xml文件设置运行属性,在Mapper.xml映射文件增加节点()启用对象缓存,实现全局数据对象缓存设置。在业务和数据时间特性要求严格时,精细设置各个数据对象的缓存属性,实现不同的缓存策略、缓存时间等要求。

3.3测试实施

为保证系统质量,对系统进行了多项测试[11],包括单元测试、集成测试和确认测试等。测试的环境分为为内网WIFI环境和虚拟办公网VPN环境。

系统实施工作主要包括用户整理,安装配置和上线试运行。系统正式运行之后,系统的变更发布按照发布规章要求进行;用户需要通过申请才能进行应用访问授权,及时响应用户反馈信息并做出调整。

4 系统应用

长江干流上游主要包括企业四座已投运梯级水电站,结合上游其他多座水电站已形成长江流域干流梯级水库群。梯级水电站群在发电防洪功能之外,还承担改善通航、保障供水、生态保护等重要任务,属于典型的多目标、非线性、随机动态系统。移动查询系统的应用将直接影响企业管理者、调度及生产相关人员对调度信息的动态把握和决策。通过移动查询系统应用实践表明该系统为企业梯级水电站联合调度提供了及时、可靠的依据,从而保证企业梯级水电站安全、正常、效益最大化的运行。

使用移动设备、个人电脑登录系统的用户可以通过“实时数据”模块获取梯级水电站实时运行信息,准确把握水电站运行状态;通过“预报计划”模块获取梯级水电站发电量测算、发电计划、水情预报、天气预报信息,为合理准确调度提供依据;通过“时段数据”模块获取梯级水电站电量水情的阶段统计信息,从整体上掌控调度结果;通过“整点数据”模块获取梯级水电站整点运行状态,对梯级水库和水电站进行整时状态掌控;通过“河道水情”模块获取长江上游主要河道及干流水文信息,从河道角度对长江上游水文进行实时掌握;通过“水库水情”模块获取长江上游主要河道及干流水库运行状态信息,对长江上游梯级水库群进行整体实时掌握;通过“历史数据”、“科普知识”、“交互查询”模块对梯级水电站调度信息进行辅助补充。

5 建设体会

随着移动查询系统在企业内部推广应用,已经拥有一批使用用户,特别是管理、调度及相关业务人员居多,实现了系统建设最初目标。在系统建设过程中,有如下几点体会。

(1)从用户角度进行系统建设。用户是否关注或使用系统,主要决定于系统是否具有解决问题和方便使用两个方面特性。

(2)使用先进合理的技术和架构。使用先进合理的开发技术、框架、以及系统架构快速实现用户的需求变化和业务发展要求,在数据、业务两个方面灵活扩展。

(3)系统持续、及时完善。快速响应用户需求变化,通过业务递增更新和技术演进满足用户不断变化的需要。

6 结语

移动查询系统已成功应用于中国长江电力股份有限公司,为企业管理者、调度及生产相关人员提供了方便、明确、整合的调息信息查询工具,从而使工作效率大步提高,为公司调度决策和日常调度工作提供了有力支持。

由于云计算时代的到来,移动应用给企业带来更多的创新与变革。围绕着移动查询系统先后实现了基于Android和iOS操作系统的混合应用APP以及基于微信企业号的应用对接,使用户可以按照原生APP和微信应用方式进行系统访问。随着用户的使用,离线访问、性能提升、通知推送等功能需求已经逐渐浮现,渐进式的Web App应用[12]已成为未来系统发展的技术方向。同时,用户对调度信息的查询需求逐步提升为梯级电站联合优化调度的决策与分析[13],应用需求的提升预示着基于Web App的梯级水电站调度信息移动查询系统有着强劲的发展趋势和动力。随着技术发展和应用深入,移动查询系统能够为企业梯级水电站联合调度发挥更重要的作用。

[1] 周竞亮, 李旸照, 韩九菊. 大型水电企业移动信息门户建设及应用[J]. 人民长江, 2015, 46(9): 101-105.

[2] 王志勃, 史梦安, 刁志刚. B/S模式下监控系统设计与实现[J]. 软件, 2014, 35(8): 46-49.

[3] 杜帅, 鄂海红, 许可. 混合移动应用开发模式的新策略[J].软件, 2015, 36(6): 12-17.

[4] 黄洋, 宋俊德, 宋美娜, 张笑燕. 基于本体与SSH架构的异构数据集成框架的研究[J]. 软件, 2014, 35(11): 36-41.

[5] 顾丽, 张舟, 王伟, 等. 基于GIS的长江流域站网平台设计与实现[J]. 人民长江, 2015, 46(16): 93-96.

[6] 何勉. 从开发模式看敏捷.Information Queue[EB/OL]. http://www.infoq.com/cn/articles/hm-agile-development-vie w. 2011-07-29

[7] 刘金泉, 吴立雪. 基于RBAC的通知发布系统的设计与实现[J]. 软件, 2015, 36(12): 119-123.

[8] 刘丽钦. 通用、动态权限管理模型的设计与实现[J]. 软件, 2016, 37(3): 94-98.

[9] 王德胜, 李弘, 田佳烨. 数据抽取及交换工具的设计与实现[J]. 软件, 2015, 36(8): 36-40.

[10] 周京晖. 数据缓存按需同步的设计与应用[J]. 软件, 2013, 34(5): 6-11.

[11] 李永征. 浅析计算机软件可靠性的测试方法[J]. 软件, 2014, 35(2): 90-92.

[12] Mark Pedersen. 您的公司能从渐进式网页应用中受益吗. Information Queue[EB/OL]. http://www.infoq.com/cn/articles/progressive-web-app-benefits.

[13] 乔梁, 付正鑫, 许懿, 等. 梯级水电站联合优化调度系统的开发与应用[J]. 水利水电技术, 2014, 45(10): 97-100.

Design and Realization of Mobile Query Web App Based on Cascade Hydropower Station Dispatching Information

ZHANG Yu-zhu, FAN Qi-meng, NG Xu
(China Yangtze Power Co., Ltd., Yichang 443002, China)

This paper analyzes the demand which integrates the information from different systems based on the design and realization of the dispatching information mobile query system for cascade hydropower station, designs the Web App mode through demand analysis, programing, implementation, and comply the data query function including real-time, forecasting, statistics, Punctuation information on the mobile device showed to the user. The example shows the flexibility, scalability, function and performance of the Web App about the cascade hydropower stations on the upper reaches of the Yangtze River in China Yangtze Power Co., Ltd. It can meet the demands of enterprise applications. The system can be accessed quickly and conveniently through mobile devices and personal computers. Through integration, it avoids the system application environment differences and professional knowledge barriers to meet the needs of different business users. The system has reference value for dispatching management and information construction of cascade hydropower stations.

Web App; Cascade hydropower station; Dispatching information; Mobile query

TP391

: A

10.3969/j.issn.1003-6970.2017.02.020

张玉柱,男,(1979-),工程师,主要研究方向:软件技术在水资源利用方面的应用研究;樊启萌,女,(1986-),工程师,主要研究方向:软件技术在水资源利用方面的应用研究;杨旭,男,(1983-),高级工程师,主要研究方向:水资源利用技术的研究。

本文著录格式:张玉柱,樊启萌,杨旭. 基于Web App的梯级水电站调度信息移动查询系统设计与实现[J]. 软件,2017,38(2):91-97

猜你喜欢

梯级水电站调度
里底水电站工程
白鹤滩水电站有多“牛”?
《调度集中系统(CTC)/列车调度指挥系统(TDCS)维护手册》正式出版
一种基于负载均衡的Kubernetes调度改进算法
虚拟机实时迁移调度算法
梯级水电站多目标联合经济运行初探
小型水电站技术改造探讨
溪洛渡水电站
跨流域梯级电站群远程集控管理模式的探索与实践
跨流域梯级电站群集中调控的探索与思考