基于扩展多叉树的城市供水管网信息系统设计

2014-02-09 07:46:42刘栋梁
计算机工程与设计 2014年4期
关键词:供水管流量节点

喻 龙,刘栋梁,张 征

(华中科技大学自动化学院,湖北武汉430074)

0 引 言

本文建立在较为先进的电子流量计和软件开发工具的基础上,旨在为供水管网的数字化提供一整套的解决方案,提高供水管网的管理水平[1,2]。该系统在进行业务管理的同时,通过对管网进行建模,还可以反映管网中流量计的运行状态,并通过分析流量和压力数据来进行漏损定位和控制。

1 系统需求分析

随着计算机技术的发展和Internet的发展,管理信息系统迅猛发展,广泛并且成功地运用于企业管理、系统开发、经济分析与规划、决策与支持等各种方面[3-6]。

硬件上,传感器技术也愈来愈趋于成熟,用于供水的自来水流量计不仅在精度上有很大提高,更重要的是流量计在嵌入式电路的基础上有了更多新功能,比如数据的处理及存储、数据的无线传输等等[7-9]。同时,软件上的革新也给信息管理提供了更多可以选择的方案,对于数据处理、数据挖掘有了更深的突破。这些技术的发展也促进了供水系统向着更高的自动化、智能化方向进步[10,11]。

企业安装的数字化流量计需要有一个稳定的平台来对数字流量计进行管理,这就要求该系统必须提供至少3个方面的功能:

(1)能够自动获取数字流量计数据,并对数据进行分析;

(2)能够监测数据的异常并自动报警,同时分析管道的漏损并对其进行监测;

(3)提供对供水管网管理及用户业务管理的平台。在该平台上,供水公司职员能够对供水管网进行日常管理,并且能够对涉及的各种业务进行管理,比如对用水客户管理、打印统计报表等。

同时在系统构建时应该注意以下问题:

(1)能够兼顾管道升级过程。供水管网数字流量计的全部更替往往需要一个较长的周期,该过程要求能够对传统流量计进行部分管理,同时,在系统开发时为将来系统升级留下足够空间;

(2)保证数据的实时性和完备性。异常监测和检测功能需求,对数据的实时性和完备性提出了要求;

(3)保证系统的数据安全性。安全性上,必须保证数据不被随意更改;并保证非公开数据不被随意泄露;因此必须设置一套权限管理模式,使得只有取得相应级别权限的人才能进行相关数据的浏览和编辑。

2 系统设计

本系统拟从以下功能模块进行开发:区域管理、数据获取模块、监测及异常处理模块、流量计管理模块、流量统计分析模块、用户管理模块。系统总体框架如图1所示。

图1 系统总体框架

2.1 数据获取模块

数据是系统的基础,为了实现供水管网的数字化,获取流量计数据是首位。一般供水管网需要数字化必须选用具有自动发送数据功能的电子流量计,但为了兼容某些尚未改造的传统流量计以及电子流量计数据意外缺失状况,需要设置手动输入方式和自动接收数据两种方式。数据应该包括流量数据和设备状态数据(主电源和通信电源电量、信号强度等)。

(1)支持多协议的自动数据接收

目前实际应用中的数字流量计一般都是通过GPRS网络转到因特网与服务器进行连接发送数据,不同厂家的流量计涉及不同的通信协议,我们设计了两种最常见的模式,如图2所示。

图2 支持多协议自动数据接收

第一种模式利用Socket套接字直接与流量计建立TCP连接。服务器在某一设定端口监听,收到一个连接请求,就开一个新线程进行通信,并设置断线重连机制。

第二种模式通过邮件形式进行数据接收。流量计将数据以邮件文件形式发送到邮件服务器上,我们的数据接收程序通过POP3协议不断从邮件服务器上收取数据,然后解析存入数据库。

上述模块拟采用Windows服务(Windows Service)进行实现。其优点是将该服务设置为自启动方式,一是可以避免程序因误操作被关闭,二是能够保证在机器重新启动后,服务自动开启运行,实现数据的实时性和完备性。

(2)手动数据录入

手动数据的录入就是允许工作人员通过手动方式输入某个流量计某时刻的累计流量与瞬时流量,这样可以将传统非自动发送数据的流量计纳入管理平台,提高其在改造过程中的兼容性。手动输入过程不可避免地存在人工输入错误,于是需要在数据存储之前增加判断功能。

2.2 监测及异常处理模块

异常监测在实现形式上也可以采用Windows Service在后台进行定时不间断计算检测,并将相应的异常信息提交给异常处理模块进行处理。

(1)简单异常监测

简单异常主要包括以下方面:①瞬时流量超过报警阈值;②各流量计处的管道压力不在正常值之内;③设备主电源和通讯电源的剩余电量低于报警阈值,通讯信号强度小于信号强度报警阈值;④数据接收超时。

(2)分级漏损监测

这里的漏损监测主要是指暗漏,并非指爆管引起的瞬时流量达到报警阈值。漏损监测主要是通过流量计的上下级关系,计算出上下级流量计之间的差值来判断该上下级管道之间是否有漏损。

传统的漏损监测主要根据压力、管径等参数进行建模来确定的,方法较为复杂,本系统首次尝试利用现有的管网拓扑结构和流量、压力来进行漏损的分级检测[12]。

目前供水管网的拓扑结构一般有树状结构和环状结构,如图3所示,我们用带有编号的圆黑点表示该支路上的流量计,箭头表示水流方向。树状结构一般存在于主干道上,对于这种简单的拓扑结构很容易建立流量计之间的上下级关系,从而构建多叉树。而对于拓扑复杂的环状网络可以进行将环拆分为树的方法构建扩展多叉树[13]。

图3 供水管网常见拓扑结构

在图3的环状网络中,我们可以看到某些节点处父节点有多个,并非真正意义上的多叉树,而是一种多父节点、多子节点的扩展多叉树。针对多个父节点的情况,我们按以下方式处理:将其中一个节点作为主父节点,剩下的作为其α型兄弟节点,用αBrother来表示,如图3中虚线区域处为有两父节点的分支,则可以将1号节点作为主节点,6号节点作为1号节点的αBrother;进而用以下含有4个域的新的数据结构表示这种扩展多叉树节点:

其中,数据域为流量计相关信息的一个实体,Next_αBrother_Ptr表示指向下一个αBrother的指针,同样FirstChild_Ptr、NextBrother_Ptr分别表示指向第一个子节点的指针和指向下一个兄弟节点的指针。这种数据结构扩展性较好,不必考虑父节点或者子节点的个数。

那么上面的环状网络对应的树表示如图4所示,有了这种扩展多叉树,我们先通过一个流量计的Next_αBrother_Ptr指针一步步找到该节点所有的αBrother,然后根据FirstChild_Ptr指针找到第一个子节点,并根据该子节点的NextBrother_Ptr指针一步步找到所有的子节点。例如图4中的1号流量计根据Next_αBrother_Ptr指针一步步得到所有的αBrother:6号流量计,根据FirstChild_Ptr指针找到第一个子节点4号流量计,然后根据4号流量计的NextBrother_Ptr指针得到所有的1号流量计子节点:4号和5号流量计,与图3中的拓扑结构一致。

图4 图3中的环状管道的多叉树数据结构

某时间段,以Flow表示本身累计流量,αBrother_Flow表示αBrother类型的累计流量,Children_Flow表示子流量计累积流量,最后按下式进行计算

上式用来判断计算上下级流量计之间的漏损,若漏损达到一定的阈值(式中的threshold),则进行异常处理;然后分析该漏损分支中涉及到的各流量计的流量和压力与平时平均值的变化度,来判断最有可能发生漏损的线路,将分析结果交付给异常处理模块进行相关操作。这样,就实现了流量计按照树状结构的上下级关系进行分级检测漏损,缩小了漏损区域的判断。

(3)实时监控信息显示

实时信息主要包括当前流量信息、压力信息、设备状态信息、异常信息等,这些重要的实时信息必须在监控界面上不断刷新。

因为系统是B/S模式,HTTP协议是请求——应答模式,用户不请求页面不更新,而监控信息恰恰是服务器主动传给浏览器的信息;传统监控页面都是基于组态软件的。

在该系统中,我们首次尝试使用Web推送技术来实现监控页面的不刷新而数据动态实时更新,实现方式更加简单,而且满足不限地点不限时间直接利用浏览器对管网实时监控。

为了实现监控画面的实时性,我们对于流量及状态信息在给定定时器频率下进行实时推送更新,异常信息则通过异常处理模块推送给实时显示页面。

(4)异常处理

异常处理是在异常发生时,向数据库写入异常,并实时将异常信息推送到监控页面,然后根据异常流量计的相关报警电话号码,发送短信给相关负责人予以通知异常。然后线下处理异常,处理成功后返回系统平台对异常状态做“已解除”更新。

报警短信通知主要采用“短信Modem+二次开发包”的方式,即购买短信Modem硬件设备和二次开发DLL动态链接库,在我们的系统中直接调用短信开发包中的API接口。

2.3 流量计管理模块

(1)添加流量计

添加流量计时,要添加流量计的以下信息:①基本信息:编号、备注信息、类型等;②地理信息:经度、纬度、所属区域;③报警相关信息:流量报警阈值、报警号码、报警模式、电源电量报警阈值、通讯手机号码、数据超时阈值;④级别:上一级流量计、级别。

(2)流量计管理

流量计管理主要是针对添加流量计时的各种参数进行修改,以及流量计的删除。流量计存在上下级之间的关系,所以删除流量计就会面临两个选择:①删除该流量计及下级所有的流量计;②删除该流量计,并对下级流量计进行父节点调整。因此,需要设计两种流量计的删除方式以便操作者选择。

(3)地图显示

为了方便管理者更加清晰地看到流量计在供水管道中的分布情况,必须提供一个类似地图的可视化界面来显示布局;为此,可以利用Google地图API进行开发或者购买相关GIS模块进行二次开发。

Google地图API是开源形式,可以通过在Google地图上制作出自己管道的实际铺设线路,并根据所安装的流量计的经纬度来标注流量计在地图上的位置。该方式虽然经济实惠,但开发起来并不方便,而且精准度也不高。

采用购买GIS模块进行二次开发的方式,可以得到更好的浏览效果,并且在图形交互方面更加方便。

2.4 流量统计分析模块

(1)单个流量计流量统计

在数据库中按照时间间隔进行查询,实现单台流量计按小时、按天、按月流量统计,包括最小瞬时流量、最大瞬时流量、平均流量、时间段内的区间流量。

(2)按区域流量统计

在按区域流量统计功能里,根据供水管网布局图,通过观察某个区域边沿所有流量计,规定这些流量计哪些为流入哪些为流出来计算该区域的净流入量。区域流量统计数据主要是提供给领导层在决策时作参考,比如水量分配调度、加压站配置点选址等。

(3)按营业所流量统计

按营业所流量统计,就是统计营业所管辖范围内,对所有客户流量计的进行统计,并且应该包括该营业所的大用水客户排名等相关信息。

(4)大用水客户流量统计

该模块中,提供一个界面显示排名前N位的用水客户及其用户量,该排名设置按月排名和按年排名;让管理者清楚地知道自己的大用户客户,为更好提供服务作参考。

(5)漏损统计

漏损统计分为以下几个方面进行统计分析:①某时间段内,所有上下级流量计漏损量统计,并按漏失严重程度排名;②某时间段内,按某些区域统计漏失情况,包括总量及漏失率;③某时间段内,各营业所管辖范围内的漏失量及漏失率。

(6)报表生成

报表生成主要是对各种统计数据进行Excel表格生成,提供纸质文档;例如大用户客户月排名表、各个用户的用水量及水费单的生成。

2.5 用户及权限管理模块

用户管理——角色管理——权限管理是本系统数据安全的重要组成部分,它是以RBAC(role based access control)模型为基础的,用来为系统提供权限验证支持[14,15]。传统的RBAC模型主要是通过权限跟角色绑定,用户通过承担某种角色来获得相应的权限。但是该模型在处理涉及结构复杂、人员众多的系统的时候,由于该模型的细粒度过小,导致衍生的角色数量越来越多,权限和角色呈指数关系。并且,该模型不能附加其它的验证信息。

本系统涉及到众多角色和权限,并且拥有较多的流量计,固在此采用分层角色和带地理验证信息的扩展RBAC模型来实现“分区分权”的管理思想。

(1)分层角色扩展

采用如图5的分层角色就能避免为所有的角色分别赋予权限,以图5中的客户经理为例,只需要获取其下级角色(流量统计查看员和客户信息管理员)拥有的权限,它们并起来就客户经理拥有的权限;并且客户经理下的流量统计查看员也可以被业务经理使用,这就使权限分配更加有条理,并且降低了冗余。

图5 分层角色

(2)区域树

区域管理是整个系统中至关重要的一个环节。首先,必须建立区域与区域之间的上下级关系,形成区域树;前面流量计地理信息中有所属区域,为每个用户设置一个管辖区域,根据这两个区域的匹配来完成地理信息的验证。用户访问某个流量计数据的时候要判断该流量计是否在该用户的管辖范围内,从而实现了分区管理。例如管辖范围为洪山区的用户,能访问的流量计必须是洪山区或其下属区域。

(3)扩展后RBAC模型

整个扩展后的RBAC模型示意图如图6所示。

从图6中可以看到用户要访问业务对象,必须通过分层角色得到其拥有的权限进行验证和管辖区域进行匹配。

1)添加一个用户的具体流程为:①添加若干角色,并建立上下级关系;②为上下级中最底层角色绑定权限,即将该角色能够访问的页面函数写入数据库;③管理员添加一个用户账号,为该用户账号附加一个角色,并添加其管辖区域,至此,该账号具备了在该区域管理某些业务的权限。

2)用户登录系统后的具体验证过程:①获取用户的角色,若角色为最底层角色,则进入(c),否则进入②;②根据角色获取该角色下的所有最底层角色;③根据用户拥有的所有最底层角色,获取所有的权限;④访问某个流量计的某种权限的数据,先判断是否拥有该权限,再判断该流量计是否在该用户的管辖范围内,二者同时满足则允许访问,否则拒绝访问。

3 数据库设计

数据库主要的数据表包括以下实体:用户(操作员)、角色、权限、流量计、流量、客户。其中,权限实体主要作用是提供访问的URL,从而控制对页面或者方法的访问;角色与权限为多对多的关系,为一个角色分配多个权限,并决定该角色能够访问哪些页面,能够进行哪些操作;同时,同一个权限也可以赋予不同的角色。用户与角色也是多对多的关系。一个用户对应多个角色,即一个操作员可以拥有多重身份。同理,一个角色也可以分配给多个用户。同时,用户与区域的关系也是多对多关系,即一个用户可以管理多个区域,一个区域也可以分配给多个用户进行管理。此外,用户还有一个特殊的用户类型字段,该字段内包括普通用户和管理员两项内容,而管理员拥有最高权限。数据库ER图设计如图7所示。

图7 数据库ER图设计

在流量计管理方面,有相应的漏损报警相关信息和地理位置信息,此外,还设有“FirstChild”和αBrother的字段,专门用来存储该流量计的第一个子流量计的标识符和αBrother流量的标识符,建立2.2节中的扩展多叉树结构。流量计与流量为一对多的关系,用流量实体来描述流量计在不同时刻的流量信息。此外,还有状态信息表没有列出,其用来描述不同时刻流量计的状态。

从图7可以清晰地看到设计的主要指导思想和几个重要模块的脉络,为进一步软件实现指明了方向。

4 结束语

本文针对传统城市供水管网管理落后的问题,提出了新的高效率、低成本的科学管理方案。通过对客户需求的深入分析,首先提出系统整体设计思路,再根据具体的功能要求,分别设计了区域管理模块、数据获取模块、监测及异常处理模块、流量计管理模块、流量统计分析模块、用户管理模块,并在不同的模块中给出了具体的设计方案。其中,文章主要的创新点在于:①提出了基于Windows Service的支持多协议的数据获取方式;②在监测与报警模块中,对环状网络进行了拆分,并提出了一种适合表示树状管道和环状管道的扩展的多叉树数据结构,最终在该基础上实现了分级漏损监测;在监控页面上,利用Web推送技术来实现B/S模式下方便的实时监控页面实。③在保障数据安全的权限管理模块中,对传统的RBAC模型加入地理信息进行扩展,实现了“分区分权”的管理思想。

在后期的开发工作中,要充分考虑供水管网的升级改造,在软件中留下足够的扩展接口。

[1]LING Wencui,ZHANG Tao,QIANG Zhimin,et al.Research and application of district metering area for urban water distribution network[J].China Water &Wastewater,2011,27(13):46-50(in Chinese).[凌文翠,张涛,强志民,等.城市供水管网独立计量区域的研究与应用进展[J].中国给水排水,2011,27(13):46-50.]

[2]FEI Jiangang,DONG Shen,LV Mou,et al.Development and application of water supply network simulation analysis platform[J].Journal of Qingdao Technological University,2012,33(3):48-53(in Chinese).[费建刚,董深,吕谋,等.城市供水管网仿真模拟分析平台的开发与应用[J].青岛理工大学学报,2012,33(3):48-53.]

[3]ZHANG Ying.Water supply facilities GIS application and research[J].Technology Innovation and Application,2013(10):105-107(in Chinese).[张颖.给水设施地理信息系统的应用与研究[J].科技创新与应用,2013(10):105-107.]

[4]LIU Hui,DUAN Yongchang,QI Chonghao.Urban water supply network management of digital information[J].Science and Technology Innovation Herald,2011,8(27):124-126(in Chi-nese).[刘辉,段永昌,齐翀昊.城市供水管网信息化数字化管理探讨[J].科技创新导报,2011,8(27):124-126.]

[5]DENG Haisheng,DONG Zuojun,WU Qiang,et al.The design and implementation of water supply information system based on IOT[J].Electronic Design Engineering,2011,19(19):9-11(in Chinese).[邓海生,董佐军,吴强,等.基于物联网技术的供水信息系统设计与实现[J].电子设计工程,2011,19(19):9-11.]

[6]HONG Weixiong.The GIS application in the water supply pipeline management[J].Technology and Enterprise,2012,21(6):118-200(in Chinese).[洪伟雄.GIS地理信息系统在供水管线管理中的应用[J].科技与企业,2012,21(6):118-200.]

[7]Gunti Nagajyothi,Sun Weiqing,Niamat Mohammed1.I-RBAC:Isolation enabled role-based access control[C]//9th Annual International Conference on Privacy,Security and Trust,2011:79-86.

[8]LIU Xiaohui,JIANG Lei.Design and implementing a management information system of important projects based on MVC pattern[J].Computer Applications and Software,2010,27(5):194-196(in Chinese).[刘晓慧,江雷.基于MVC模式设计与实现重点项目管理信息系统[J].计算机应用与软件,2010,27(5):194-196.]

[9]LIU Qiang,WANG Lei,HE Lin.Research on a series of problems in RBAC model[J].Computer Science,2012,39(11):13-18(in Chinese).[刘强,王磊,何琳.RBAC模型研究历程中的系列问题分析[J].计算机科学,2012,39(11):13-18.]

[10]YU Ying,LUO Luqin,LV Dayong.Wireless monitoring and scheduling system of urban water supply network[J].Advanced Materials Research,2011,295-297:2442-2445.

[11]Chen Yuli,Wang Zhihong,Tu Yu,et al.Application analysis on the information management system for water supply network in Guangzhou[C]//International Conference on Electric Technology and Civil Engineering,2011:5758-5763.

[12]LI Fei,TAO Tao.Assessment and control of water leakage from water supply system[J].China Water &Wastewater,2012,28(18):35-39(in Chinese).[李飞,陶涛.供水管网漏损评估与控制方法[J].中国给水排水,2012,28(18):35-39.]

[13]YUAN Ling,DENG Xiaoyan.A multi-tree based search technology and its application[J].Computing Technology and Automation,2011,30(3):139-141(in Chinese).[袁玲,邓小燕.一种基于多叉树的检索方法及其应用[J].计算技术与自动化,2011,30(3):139-141.]

[14]XIA Qishou,YIN Xiaoling,HUANG Haisheng,et al.Periodic time role-based access control[J].Application Research of Computers,2009,26(12):4730-4734(in Chinese).[夏启寿,殷晓玲,黄海生,等.周期时间特性的角色访问控制[J].计算机应用研究,2009,26(12):4730-4734.]

[15]WU Bo,WANG Jing.Design and implementation of privilege management framework based on core RBAC model[J].Computer Systems &Applications,2011,20(4):50-54(in Chinese).[吴波,王晶.基于基本RBAC模型的权限管理框架的设计与实现[J].计算机系统应用,2011,20(4):50-54.]

猜你喜欢
供水管流量节点
CM节点控制在船舶上的应用
冰墩墩背后的流量密码
玩具世界(2022年2期)2022-06-15 07:35:36
二次供水管道漏损预警方法的分析和选择
供水技术(2022年1期)2022-04-19 14:11:44
市政工程供水管网运行管理
张晓明:流量决定胜负!三大流量高地裂变无限可能!
房地产导刊(2021年8期)2021-10-13 07:35:16
Analysis of the characteristics of electronic equipment usage distance for common users
桂林市供水管网在线水力模型的建立与应用初探
供水技术(2021年2期)2021-07-16 07:30:10
基于AutoCAD的门窗节点图快速构建
寻找书业新流量
出版人(2020年4期)2020-11-14 08:34:26
用EPANET确定供水管网的最不利配水点