论文部分内容阅读
随着信息技术的迅猛发展,“智慧水务”、“智慧能源”等概念进入了人们的生活,科学合理地利用信息技术管理用水、用电资源是实现资源高效利用的有效途径,其中远程抄表管理系统就是一种典型应用。但目前国内供水、供电行业存在分散管理的情况,导致用水、用电资源信息不能共享,并给住户带来了缴费多卡、多头跑的苦恼。同时,单体式架构作为一种常用的软件开发架构,经常被用于抄表管理软件的开发,但其在系统可靠性、可用性、扩展性、可维护性等方面无法提供足够高的保障。
针对上述情况,论文基于微服务架构设计并实现了一套水电集抄管理系统,以期改善单体式架构抄表管理软件存在的缺陷,提升系统可用性、可靠性、扩展性、可维护性等各方面表现,形成“抄、存、算、管、控”一体化的用水、用电信息统一管理平台,实现对水、电资源的有效管理。论文的主要研究内容和成果如下:
(1)遵循微服务的思想,将水电集抄管理系统的功能需求拆分成多个相对独立的服务分别实现,达到了功能和结构上的解耦。基于微服务架构设计并实现了B/S结构的系统Web管理平台,满足水、电数据统一管理的多种管理需求。针对Web管理平台的服务间治理问题,基于SpringCloud框架进行二次开发实现了服务注册与发现中心、API网关、跨服务方法调用等服务。同时开发了分布式事务管理服务,保证系统数据在分布式环境下的一致性与正确性,借助ELK技术栈设计并实现了平台运行错误实时监测服务,为系统后续的维护人员提供了及时发现问题的有效途径。
(2)使用Netty框架开发了数据采集服务,实现了对集中器发来的TCP智能水、电表数据报文的高效接收解析入库以及向集中器发送设备操作指令等功能。在数据采集服务与Web管理平台间加入Kafka消息队列形成内部松耦合,提升系统扩展性与指令下发速度、吞吐量。
(3)在数据存储方面,综合考量微服务架构的“一服务一库”模式、跨服务查询速度以及业务功能的紧密程度,对关系型数据库以及数据表结构进行了设计,增强了服务的独立性,进而提高系统的可用性与可靠性。针对部分数据表采用水平分表的形式来缓解单表查询压力,同时使用Redis缓存数据库提升系统性能表现。
(4)使用ApacheJMeter、ApacheBench测试工具以及多种测试方法对论文所搭建的水电集抄管理系统进行了测试,并结合测试结果与微服务架构对系统进行了分析。
针对上述情况,论文基于微服务架构设计并实现了一套水电集抄管理系统,以期改善单体式架构抄表管理软件存在的缺陷,提升系统可用性、可靠性、扩展性、可维护性等各方面表现,形成“抄、存、算、管、控”一体化的用水、用电信息统一管理平台,实现对水、电资源的有效管理。论文的主要研究内容和成果如下:
(1)遵循微服务的思想,将水电集抄管理系统的功能需求拆分成多个相对独立的服务分别实现,达到了功能和结构上的解耦。基于微服务架构设计并实现了B/S结构的系统Web管理平台,满足水、电数据统一管理的多种管理需求。针对Web管理平台的服务间治理问题,基于SpringCloud框架进行二次开发实现了服务注册与发现中心、API网关、跨服务方法调用等服务。同时开发了分布式事务管理服务,保证系统数据在分布式环境下的一致性与正确性,借助ELK技术栈设计并实现了平台运行错误实时监测服务,为系统后续的维护人员提供了及时发现问题的有效途径。
(2)使用Netty框架开发了数据采集服务,实现了对集中器发来的TCP智能水、电表数据报文的高效接收解析入库以及向集中器发送设备操作指令等功能。在数据采集服务与Web管理平台间加入Kafka消息队列形成内部松耦合,提升系统扩展性与指令下发速度、吞吐量。
(3)在数据存储方面,综合考量微服务架构的“一服务一库”模式、跨服务查询速度以及业务功能的紧密程度,对关系型数据库以及数据表结构进行了设计,增强了服务的独立性,进而提高系统的可用性与可靠性。针对部分数据表采用水平分表的形式来缓解单表查询压力,同时使用Redis缓存数据库提升系统性能表现。
(4)使用ApacheJMeter、ApacheBench测试工具以及多种测试方法对论文所搭建的水电集抄管理系统进行了测试,并结合测试结果与微服务架构对系统进行了分析。