专利名称:水资源监控通信系统及方法
技术领域:
本发明属于水资源管理及监控技术,特别涉及在水资源管理及监控中,可以集成 多种通信方式、多种监控协议以及向多种数据接收方分发数据的一种水资源监控通信系统 及方法。
背景技术:
随着国民经济的迅速发展,及信息技术深入发展,特别是移动通信技术、及基于移 动通信技术的物联网技术的成熟与发展,水资源监控也得到广泛的发展与应用。水资源监 控是将水资源关注点的水量、水质、水位等属性信息经由水资源监控终端探测采集后,通过 移动通信网络传至水资源监控中心。经过几年的建设,水资源监控系统从深度与广度上都得到了发展,图1是现有的 多个水资源管理系统框图;如图1所示,多个水资源管理系统具有独立的、各自的通信方 式及监控协议,其问题主要表现为以下几个方面
1)水资源监控中心系统不统一
多个水资源管理系统一般是分期建设,并可能由不同厂商建设,从而形成多个独立的 相互不兼容的系统。2)水资源监控通信方式众多
在各个独立的相互不兼容的系统中,监控终端的通信方式也多种多样,主要有TCP/IP 、UDP/IP、无线短波、短信等通信方式,监控终端在线模式也不同,有的是网络总是连接状态 的实时在线工作模式、有的是上报数据时刻开通网络连接,其他时间断开网络连接的低功 耗在线工作模式。3)水资源监控协议众多
在各个独立的相互不兼容的系统中,监控终端的通信协议各不相同。4)接入监控终端数量有限
各个独立系统未能从大水资源系统考虑问题,所以设计接入水资源监控终端的数量能 力有限。5)数据不能共享
各个独立系统是水资源监控数据的唯一归属点,不能向多点分发数据,从而不能满足 多个水资源管理系统都需要同一个水资源监控点数据的需求。6)不能满足水资源监控建设新需求
随着水资源监控技术发展,新建设的水资源管理系统需要新的通信方式、新的通信协 议的监控终端,并与原来系统一起运行,使整个水资源管理系统更加混乱。目前水资源管理系统存在上述问题,为水资源统一管理带来巨大困难,是水资源 系统深入发展的严重障碍。所以各地陆续提出整合各个独立的水资源管理系统,建立统一 的水资源监控中心系统平台的需求,要求能兼容各种水资源监控终端,并能方便地扩展系 统以便兼容新的水资源监控终端,从而实现统一的可持续发展的水资源管理系统。
发明内容
有鉴于上述问题,本发明目的在于提供一种水资源监控通信系统及其方法,把各 个独立的水资源管理系统中多种通信方式的、多种通信协议的监控终端的通信及数据汇集 到该水资源监控通信系统中,使得原有的各个水资源监控中心系统可以剥离掉其通信功能 部分,从而为实现统一的水资源管理系统提供基础的独立的监控数据通信系统。为实现上述发明目的,本发明提出一种水资源监控通信系统,该水资源监控通信 系统部署于水资源监控终端及水资源管理系统中间,所述监控通信系统包括
系统初始化及服务启动模块,完成初始化系统运行环境,并启动其他各个模块;
配置管理模块,负责解析及管理各种配置,所述各种配置是指各种监控终端配置、各种 监控通信协议配置、各模块运行参数配置,并负责为水资源监控通信系统的各个模块提供 运行参数;
Web服务模块,提供基本的WEB服务,并基于TOB服务,实现以TOB方式动态管理监控终 端的配置;
监控终端通信模块,定义水资源监控终端网络通信功能接口,并提供TCP/IP、UDP/IP、 无线短波及短信的通信功能实现,接入水资源监控终端,该模块使用线程池技术,并在TCP/ IP通信方式中采用了无阻塞异步网络通信技术,从而使得监控通信系统能够用较少的系统 资源接入大量监控终端;
中心系统通信模块,提供与中心水资源管理系统网络通信功能接口及网络通信数据接 口,实现与中心水资源管理系统的网络连接及数据通信功能,接收中心水资源管理系统的 下发命令,并向中心水资源管理系统返回监控通信系统处理命令情况及命令结果;
协议池模块,提供协议驱动接口,并提供基于此接口的多种常用监控终端协议的驱动 实现,从而构成协议池,基于该协议池,监控通信系统可以接入不同厂商的各种监控协议的 监控终端,并能解析从监控终端接收的数据,和构造发向监控终端的命令数据;当有新的监 控终端协议时,可以基于接口予以实现该协议的驱动,并加入到协议池中,从而使协议池模 块支持新协议;
核心调度模块,接收处理水资源监控终端上报的各种数据及下发给监控终端的各种命 令;本模块采用线程池技术,用多线程并行处理所述监控终端数据;本模块对监控终端数 据进行分发,当收到解析后的监控终端数据后,从配置管理模块得到该监控终端数据分发 方向,并以各个数据分发方向的数据过滤条件,进行数据过滤,通过过滤的数据再传递给对 应的数据分发模块;本模块接收并处理从中心系统通信模块转发来的各种命令,若命令是 针对监控通信系统本身的,则把命令交给本地命令处理子功能部分处理,该子功能部分对 本地命令分析处理,并把处理结果通过中心系统通信模块返回给中心水资源管理系统;若 命令是针对监控终端的,则先进行命令数据解析,得到监控终端的属性,依据终端属性数据 把命令传递给监控终端命令管理子功能部分,然后把至此的命令处理情况通过中心系统通 信模块返回给中心水资源管理系统;本模块对监控终端各维护一个命令队列,队列中存储 待发送的各种监控命令,并把命令按其优先级进行排队,同时监测系统的各种相关事件,发 生的事件将驱动线程池线程处理队列中的命令,并把需要发送给监控终端的命令发送出 去;本模块维护监控终端的网络连接会话,并向其他功能模块或功能部分提供网络会话;
6本模块维护监控终端当日及历史的工作状态,并向外提供监控终端工作状态信息;
数据分发模块,定义向水资源管理系统分发数据的功能接口,并提供基于数据库、TCP/ IP和UDP/IP网络通信方式的数据分发功能实现;负责将核心调度模块分发的监控数据分 发给各个数据需求方。所述配置管理模块的各种监控终端的配置是对各种类型的监控终端特别属性的 配置,这些属性使监控通信系统能够知道具体监控终端的类型;各种监控通信协议配置是 对各种监控终端的通信协议及其驱动实现的配置;各个模块运行参数配置是对监控通信系 统各个功能模块运行参数的配置。所述监控终端通信模块在有新的通信方式需要支持时,可以基于通信功能接口予 以新通信方式的扩展实现,从而使得监控通信系统可以接入各种通信方式的监控终端。所述核心调度模块维护的监控终端历史及当日的工作状态包括当前在线情况、当 前工作模式、历史在线时长、当日在线时长、历史掉线时长、当日掉线时长、历史命令成功次 数、当日命令成功次数、历史命令失败次数、当日命令失败次数、历史主动上报数据次数、当 日主动上报数据次数、当日各次主动上报数据时刻、历史上行数据流量、当日上行数据流 量、历史下行数据流量和当日下行数据流量;所述当前工作模式为查询应答(随时响应命 令的常在线模式)、自报确认(当上报数据时在线的非常在线工作模式)两种工作模式。本发明还提出一种水资源监控通信方法,该方法包括步骤
将水资源监控通信系统部署于水资源监控终端及水资源管理系统中间,接入采用各种 通信方式的水资源监控终端,接收使用各种监控通信协议的水资源监控终端监控数据;接 入中心水资源管理系统,接收中心系统下发的针对各种监控通信协议的水资源监控终端的 命令数据;
所述水资源监控通信系统对数据进行处理,屏蔽各种监控终端的差异,并且对外提供 统一的透明的功能接口和数据接口,以统一的方式完成上报水资源监控数据和下发水资源 监控命令,并向各个数据接收方分发水资源监控数据;
所述各种通信方式是指TCP/IP通信、UDP/IP通信、无线短波通信、短信通信; 所述接收使用各种监控通信协议的数据是指所述水资源监控通信系统定义通用协议 功能接口,基于所述接口接收并处理采用各种通信协议的水资源监控终端上报的监控数据 及下发的监控命令;
所述向多个数据接收方分发数据是指所述水资源监控通信系统将一个监控终端的数 据发向多个目的地,即不同的水资源管理系统;
所述下发水资源监控命令是指所述水资源监控通信系统以统一的数据接口接收中心 水资源管理系统的监控命令,并对命令数据解析、构造处理,生成针对某个监控终端专门通 信协议的数据,最后通过网络下发给监控终端。所述上报水资源监控数据时,所述监控通信系统接入监控终端的网络连接,调用 线程池,由线程接收监控终端数据,然后判断监控终端在线情况,如果未在线,则进行上线 处理过程,处理上线完成后继续向下处理过程,如果在线则直接向下处理过程;向下处理过 程首先更新保存监控终端的运行状态,然后调用线程池,将处理任务交由线程处理,先查询 监控终端的配置属性,以属性得到监控终端DTU数据层协议驱动,进行DTU层数据解析,如 果解析后的数据是RTU数据层数据,再以属性得到监控终RTU数据层协议驱动,进行RTU层
7数据解析,对解析后的数据进行判断,如果数据是水资源监控相关业务数据,查询监控终端 的配置属性,得到该监控终端数据分发方向,把数据传送给各个数据分发方向,在每个方向 上,进行该方向的数据过滤,经过滤后,如果数据需要发布,则将数据传递给对应的数据发 送模块,进行数据传送分发;
所述由线程接收的监控终端数据,经DTU层解析的数据不是RTU数据、经RTU层解析的 数据不是水资源监控相关业务数据以及不需要分发的数据,则舍弃数据;
所述由线程接收的监控终端数据,处理数据后判断是否回复监控终端,如果不需要回 复,则无任何动作执行,结束监控终端数据处理流程;如果需要回复监控终端,则构造应答 命令数据,并把命令数据发向命令处理模块,使命令数据进入下发水资源监控命令处理流 程。所述下发水资源监控命令,水资源监控通信系统从水资源管理系统接收下发的监 控命令,进行数据解码,解析出命令数据,此时命令叫做原生命令;如果命令是针对监控通 信系统的内容命令,进行内部命令处理,并把命令处理结果从接收数据通道返回给中心水 资源管理系统;如果命令是对针监控终端的监控命令,系统对该命令的处理方式由系统的 工作模式决定
当系统运行于监控终端常在线工作模式,如果命令是针对监控终端RTU的命令,则查 询监控终端配置,得到RTU数据层协议驱动,利用驱动进行RTU数据层数据构造,再查询监 控终端配置,得到DTU数据层协议驱动,利用驱动进行DTU数据层数据构造,将已构造命令 转发给监控终端命令管理部分处理;如果命令不是针对监控终端RTU的命令,则命令是针 对监控终端的DTU的命令,查询监控终端配置,得到DTU数据层协议驱动,利用驱动进行DTU 数据层数据构造,将已构造命令转发给监控终端命令管理部分处理;
所述系统当运行于监控终端非常在线工作模式时,将所述解析出的原生命令直接转发 给监控终端命令管理部分处理;
所述监控终端命令管理部分接收到转发来的各种命令时,将命令添加到命令队列中, 并按命令优先级进行排序,命令队列由各种相关事件驱动,触发线程池线程启动处理命令 工作流程;
所述命令队列由事件驱动触发线程池线程启动处理命令工作,首先判断命令是否为下 发给监控终端的上报数据应答命令,如果是,则把命令从命令缓存中清除,并把命令发送出 去,结束一个命令处理工作,如果不是,则判断命令结果是否已经收到,如果命令结果已经 收到,则把命令从命令缓存中清除,结束一个命令处理工作,如果命令结果未收到,判断命 令是否为原生命令,如果为原生命令,则把命令从命令缓存中清除,并把命令回传命令接收 功能部分,进入构造命令过程,如命令不是原生命令,则判断监控终端是否在线,如果在线, 先判断命令是否超时,如果命令超时,则把命令从命令缓存中清除,结束一个命令处理工 作,如果不超时,则判断命令是否有效,如果无效,则把命令从命令缓存中清除,结束一个命 令处理工作,如果有效,则把命令从监控终端网络连接发送出去,结束一个命令处理工作, 如果不在线,则判断命令是否为监控终端不在线即删除命令,如果是,则把命令从命令缓存 中清除,结束一个命令处理工作,如果不是,则判断命令是否超时,如果命令超时,则把命令 从命令缓存中清除,结束一个命令处理工作,如果不超时,直接结束一个命令处理工作。通过比较可发现本发明的技术方案与现有技术区别,从而产生了较为明显的有益效果
1)定义了通用监控终端通信方式接口,并提供常用通信方式实现,并能方便地扩展实 现新的通信方式,从而可以统一接入采用不同通信方式的监控终端;
2)定义了通用监控终端通信协议接口,可提供各种监控通信协议的实现,并能方便地 扩展实现新的监控通信协议,从而可以统一接入采用不同监控通信协议的监控终端;
3)采用线程池技术,实现并发处理功能,从而可以接入大批量监控终端;
4)定义了通用数据分发通信接口,并提供常用数据分发通信方式实现,并能方便地实 现新的数据分发通信方式,从而实现监控数据多方向分发功能,满足了对监控数据共享要 求;
5)系统的各个模块定义了通用接口,提供配置管理模块统一管理各模块运行参数,并 采用了接口编程模式,从而能够很容易地实现功能扩展;
6)把现有的水资源监控管理系统中的通信功能部分剥离出来,形成独立的水资源监控 通信系统,并屏蔽了各种监控终端的差异性,使得现有的各种水资源监控管理系统可以整 合成统一的水资源管理系统;
7)将水资源管理系统与监控通信系统分离开,使得系统可以灵活整合与部署,可以采 用多个监控通信系统,多个监控通信系统也可以分布式部署,从而可以极大地增加系统容 量,使系统能够接入大批量水资源监控终端。
图1是现有的多个独立的水资源管理系统示意图; 图2是组合了监控通信系统的水资源管理系统示意图3是组合了分布式部署的监控通信系统的水资源管理系统示意图; 图4是本发明的水资源监控通信系统结构框图; 图5是处理监控终端上报监控数据的流程图; 图6、图7是处理向监控终端下发监控命令的流程图。
具体实施例方式为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例并配合 附图,对本发明进一步详细说明。水资源监控通信系统集中接入不同厂商各种通信方式、各种通信协议的水资源监 控终端,屏蔽各种监控终端的差异,并且对外提供统一的透明的功能接口和数据接口,以统 一的方式完成上报水资源监控数据和下发水资源监控命令,并能向各个数据接收方分发水 资源监控数据。图2是本发明组合了通信系统的水资源管理系统示意图;如图所示,水资源监控 通信系统部署于水资源监控终端和水资源管理系统中间,监控通信系统可以接入采用各种 通信方式的监控终端,接收各种监控通信协议的数据,并对各种监控数据进行处理,以统一 数据接口结构化数据,最后发送给多个数据接收方。监控通信系统以统一的数据接口接收 中心水资源管理系统的监控命令,并对命令数据解析、构造处理,生成针对特别监控终端专 门通信协议的数据,最后通过网络下发给监控终端。
9
上述各种通信方式指当前在水资源监控中常用的TCP/IP通信、UDP/IP通信、无线 短波通信、短信通信四种。本发明水资源监控通信系统定义通用通信功能接口,并提供这些 通信方式的实现,从而可以接入采用这些通信方式的水资源监控终端。上述各种通信协议指监控终端所采用的上报监控数据及下发监控命令的数据通 信协议。本发明水资源监控通信系统定义通用协议功能接口,基于接口可实现各种水资源 监控通信协议,从而可接收处理采用各种协议的监控终端的数据及命令。上述屏蔽各种监控终端的差异以及提供统一的透明的功能接口和数据接口,指监 控通信系统处于监控终端与水资源管理系统之间,从水资管理系统只能看到监控通信系 统,监控通信系统提供统一的透明的接口,从而屏蔽了各种监控终端的差异性。上述向多个数据接收方分发数据指监控通信系统能够将一个监控终端的数据发 向多个目标水资源管理系统。图3所示多个水资源监控通信系统分布式部署方式,虽然每个水资源监控通信系 统都能完成上述各项功能,但因分布式部署多个水资源监控通信系统,所以增加了系统容 量,可以接入海量监控终端。为实现上述监控通信系统技术解决方案,监控通信系统技术框架设计如图4所 示。监控通信系统主要分为八个功能模块
1)系统初始化及服务启动模块
2)配置管理模块
3)Web服务模块
4)监控终端通信模块
5)中心系统通信模块
6)协议池模块
7)核心调度模块
8)数据分发模块
上述各个功能模块提供专门的功能,各个模块组合起来,共同完成监控通信系统的功能。上述系统初始化及启动模块负责初始化系统运行环境,并启动其他各个模块。上述配置管理模块负责解析及管理各种配置,主要有各种监控终端配置、各种监 控通信协议配置、系统各个模块运行参数配置。其中各种监控终端配置详细配置了各种类 型的监控终端的特别属性,使监控通信系统能知道具体类型的监控终端的属性;其中各种 监控通信协议配置详细配置了各种监控终端的通信协议及其驱动的实现;其中各个模块运 行参数配置详细配置了监控通信系统各个功能模块的运行参数。配置管理模块为监控通信 系统各个模块提供运行参数。 上述WEB服务模块使监控通信系统能够提供基本的WEB服务,基于TOB服务,实现 以TOB方式动态管理监控终端的配置。 上述监控终端通信模块定义了监控终端网络通信功能接口,并提供了 TCP/IP、 UDP/IP、无线短波及短信等通信方式的通信功能实现,从而能够接入各种通信方式的监控 终端,如果有新的通信方式,可以基于通信功能接口予以扩展实现,从而使得监控通信系统 基于此模块可以接入各种通信方式的监控终端。同时该模块使用线程池技术,并在TCP/IP通信方式中采用了无阻塞异步网络通信技术,从而使得监控通信系统能够用较少的计算机 系统资源接入大量监控终端。上述中心系统通信模块提供了与水资源管理系统网络通信功能接口及网络通信 数据接口,实现与中心水资源管理系统的网络连接及数据通信功能,接收中心水资源管理 系统的下发命令,并向中心水资源管理系统返回监控通信系统处理命令情况及命令结果。上述协议池模块提供了协议驱动接口,并提供基于此接口实现的多种常用监控终 端协议驱动,从而构成协议池。如果有新的监控终端协议,可以基于接口予以实现新协议的 驱动,并加入到协议池中。基于协议池,监控通信系统实现了接入不同厂商的各种监控协议 的监控终端,并能解析从监控终端接收的数据,也能构造发向监控终端的命令数据。上述核心调度模块是监控通信系统主要业务处理功能模块,其一功能是本模块的 监控数据处理及调度子功能部分的功能,即接收处理监控终端上报数据。当从监控终端通 信模块接收到监控数据时,其从本模块的监控终端会话管理子功能部分查询对应的监控终 端网络会话,如果不存在监控终端网络会话,则说明数据是监控终端初始上线数据,从配置 管理模块得到各种协议,进行上线数据与协议匹配,匹配出监控终端的协议,并构造监控终 端网络会话,然后把会话交于本模块的监控终端会话管理子功能部分予以管理;如果监控 终端上报数据时网络会话管理子功能部分存在监控终端网络会话,根据会话属性,从协议 池中得到对应的协议驱动,用此驱动进行数据解析,再把解析后的数据结构化,然后把数据 传递给本模块的监控数据分发子功能部分进行数据分发处理。本模块的监控数据处理及调 度子功能部分要接收处理大量监控终端的并发数据,因此本部分采用了线程池技术,用多 线程并行处理监控终端数据,从而提高系统的性能。上述核心调度模块其二功能是本模块的监控数据分发子功能部分功能,即对监控 数据进行分发,当本模块的数据分发子功能部分收到解析并结构化的监控数据后,从配置 管理模块得到该监控终端数据的多个分发方向,并以各个数据分发方向的数据过滤条件, 进行数据过滤,通过过滤的数据即是确实需要分发的数据,然后把数据传递给对应的数据 分发模块。上述核心调度模块其三功能是本模块的中心系统数据处理与调度子功能部分功 能,即接收并处理从水资管理系统通信模块接收到的各种命令。如果命令是针对监控通信 系统的本地命令,则转发给本地命令处理子功能部分,该子功能部分进行命令处理,并把命 令结果通过中心系统通信模块返回给中心系统。如果命令是针对监控终端的命令,则进行 命令数据解析,得到监控终端的属性,依据终端属性把命令传递给本模块的监控终端命令 管理子功能部分,然后把至此的命令处理情况通过中心系统通信模块返回给中心系统。上述核心调度模块其四功能是本模块的监控终端命令管理子功能部分的功能,即 对每个监控终端维护一个命令队列,队列中缓存待发送的各种监控命令,并把命令按其优 先级进行排列,同时本功能部分探测监控终端的各种事件,当有事件发生时,并发现存在待 发命令并且监控终端网络处于可发送命令状态时,将命令队列第一优先级命令出列,如果 该命令是未构造好的命令,则以命令中的监控终端属性从协议池中匹配出对应的协议驱 动,用此协议驱动来构造命令,并把构造好的命令放回命令队列中,等待下一轮命令处理; 当出列命令是构造好的命令时,则从本模块的监控终端会话管理子功能部分得到对应的网 络会话,通过该会话网络连接把命令数据发送出去,至此完成一轮命令处理。当有新的事件
11发生时,会启动新的一轮命令处理过程。因为本功能部分要处理大量的并发的监控终端命 令,所以采用了线程池技术,用多线程并行处理监控终端命令,从而提高系统性能。上述核心调度模块其五功能是本模块的监控终端会话管理子功能部分的功能,即 维护监控终端的网络连接会话,并可向其他功能模块或功能部分提供网络会话。上述核心调度模块其六功能是本模块的监控终端状态管理子功能部分的功能,即 维护监控终端历史及当日的工作状态,这些状态包括在当前线情况(在线、掉线)、当前工 作模式(查询应答常在线,随时响应命令;自报确认非常在线,当上报数据时在线)、历 史在线时长、当日在线时长、历史掉线时长、当日掉线时长、历史命令成功次数、当日命令成 功次数、历史命令失败次数、当日命令失败次数、历史主动上报数据次数、当日主动上报数 据次数、当日各次主动上报数据时刻、历史上行数据流量、当日上行数据流量、历史下行数 据流量、当日下行数据流量。并且该子功能部分可以向外提供监控终端工作状态信息。上述数据分发模块定义了向中心水资源管理系统分发数据的功能接口,并提供了 基于数据库、TCP/IP网络通信、UDP/IP网络通信方式的数据分发功能实现。该模块负责将 核心调度模块解析并结构化的监控数据分发给各个数据需求方,即水资源管理系统或其他 系统。水资源监控通信系统接收处理的数据可归纳为两种,即上行数据与下行数据,上 行数据是监控终端上报的数据,下行数据是水资源管理系统下发给监控终端的命令数据。当发生上行数据时,即监控终端上报监控数据,水资源监控通信系统接收、解析、 转换、构造转发数据,该数据处理流程如图5所示。监控通信系统接入监控终端的网络连 接,调用线程池,由线程接收监控终端数据,然后判断监控终端是否在线,如果未在线,则进 行上线处理,处理上线后继续向下处理过程,如果在线则直接向下处理过程,向下处理过程 首先更新保存监控终端的运行状态,调用线程池,将处理任务交由线程处理,线程查询监控 终端的配置属性,得到监控终端DTU数据层协议驱动,进行DTU层数据解析,对解析后的数 据进行判断,如果数据不是RTU数据,则进入分支1处理(下详述),如果数据是RTU数据, 查询监控终端的配置属性,得到监控终端RTU数据层协议驱动,进行RTU层数据解析,对解 析后的数据进行判断,如果数据不是水资监控相关业务数据,则进入分支2处理(下详述), 如果数据是水资监控相关业务数据,查询监控终端的配置属性,得到该监控终端数据分发 方向,把数据传送各个数据分发方向,在每个方向上,进行该方向的数据过滤,经过滤后,如 果数据不需要分发,则舍弃数据,进入分支3处理(下详述),如果数据需要发布,则将数据 传递给对应的数据发送模块,进行数据传送,进入分支3处理。分支1、分支2和分支3处理 过程相同,进入分支后,先判断是否需要对监控终端上报数据应答回复,如果不需要回复, 则无任何动作执行,结束上行数据处理流程,如果需要对监控终端上报数据应答回复,则构 造应答命令数据,并把命令数据发向命令处理模块,使命令数据进入了下行数据处理流程, 至此上行数据处理流程结束。当发生下行数据时,即水资源管理系统下发监控命令(对监控终端上报数据应答 回复命令),水资源监控通信系统接收、解析、转换、构造转发命令数据,该命令数据处理流 程如图6所示。监控通信系统接收中心系统数据,进行数据解码,解析出命令数据,相应处 理功能模块接收到命令,判断监控通信系统所接入的监控终端是否为常在线工作模式,如 果不是常在线模式,则进入分支1处理(下详述),如果是常在线工作模式,判断命令是否为针对监控终端的RTU的命令,如果不是,进入分支2处理(下详述),如果是RTU命令,则 查询监控终端配置,得到RTU数据层协议驱动,利用驱动进行RTU数据层数据构造,再查询 监控终端配置,得到DTU数据层协议驱动,利用驱动进行DTU数据层数据构造,将已构造命 令转发给命令缓存处理部分;进入分支1后,进行原生命令转发缓存,这里原生命令指未进 行任何处理的中心系统发来的命令,命令缓存处理部分接收缓存此原生命令;进入分支2 后,再判断命令是否为针对监控终端的DTU的命令,如果不是,则说明是针对监控通信系统 的内容命令,进行内部命令处理,并把命令处理结果从接收数据通道返回,数据通道对数据 进行编码,最后把数据发送给中心系统,该分支的处理结束,在分支2中,如果命令是针对 DTU的命令,则查询监控终端的配置,得到DTU数据层协议驱动,利用驱动进行DTU层数据 构造,将已构造命令转发给命令缓存处理部分;至此,命令缓存处理部分可从三个分支方向 接收到命令,另外一个接收缓存命令的方向产生于处理上行数据流程中,当处理上行数据 到判断是否回复监控终端时,如果需要回复,则构造应答命令,并将命令转发给命令缓存处 理部分,如果不需要回复监控终端,则产生监控终端当前在线的事件;命令缓存处理部分将 从以上四个方向接收命令到命令队列中,并按命令优先级进行排序,且产生有新命令的事 件,上述产生的各种事件将触发线程池线程启动处理命令过程;线程处理命令过程中,首先 判断命令是否为对监控终端的应答命令,如果是,则将命令清除出缓存,并把命令从监控终 端网络连接发送出去,结束一个命令处理工作,如果不是对监控终端的应答命令,则判断命 令结果是否已经收到,如果命令结果已经收到,则将命令清除出缓存,结束一个命令处理工 作,如果命令结果未收到,则判断命令是否为原生命令,如果是原生命令,则将命令清除出 缓存,并把命令回传命令接收功能部分,进入构造命令过程,如命令不是原生命令,则判断 监控终端是否在线,如果在线则进入分支3处理(下详述),如果不在线,则判断命令是否 为监控终端不在线即删除命令,如果是,则将命令清除出缓存,结束一个命令处理工作,如 果不是,则判断命令是否超时,如果命令超时,则将命令清除出缓存,结束一个命令处理工 作,如果不超时,也结束一个命令处理工作;在分支3中监控终端在线,先判断命令是否超 时,如果命令超时,则将命令清除出缓存,结束一个命令处理工作,如果不超时,则判断命令 是否有效(即是否达到最大发送命令次数),如果无效,则将命令清除出缓存,结束一个命 令处理工作,如果有效,则把命令从监控终端网络连接发送出去,结束一个命令处理工作, 至此,对一个命令的各情况的处理结束,然后判断命令缓存中是否存在可处理的其他命令, 如果存在,则线程等待定时时长后,进行下一个命令处理循环过程,如果不存在可处理的命 令,则结束线程处理命令的工作,从而结束一次下行数据处理过程。
虽然本发明己以较佳实施例公开如上,但它们并不是用来限定本发明,本发明的 保护范围应当以本申请的权利要求保护范围所界定的内容为准。任何熟习本技术领域者, 在不脱离本发明的精神和范围内,所作的各种变化或等同替换,都应当属于本发明的保护 范围。
权利要求
1.水资源监控通信系统,该水资源监控通信系统部署于水资源监控终端及水资源管理 系统中间,其特征在于,所述监控通信系统包括系统初始化及服务启动模块,完成初始化系统运行环境,并启动其他各个模块;配置管理模块,负责解析及管理各种配置,所述各种配置是指各种监控终端配置、各种 监控通信协议配置、各模块运行参数配置,并负责为水资源监控通信系统的各个模块提供 运行参数;Web服务模块,提供基本的WEB服务,并基于TOB服务,实现以TOB方式动态管理监控终 端的配置;监控终端通信模块,定义水资源监控终端网络通信功能接口,并提供TCP/IP、UDP/IP、 无线短波及短信的通信功能实现,接入水资源监控终端,该模块使用线程池技术,并在TCP/ IP通信方式中采用了无阻塞异步网络通信技术,实现用较少的系统资源接入大量监控终 端;中心系统通信模块,提供与中心水资源管理系统网络通信功能接口及网络通信数据接 口,实现与中心水资源管理系统的网络连接及数据通信功能,接收中心水资源管理系统的 下发命令,并向中心水资源管理系统返回监控通信系统处理命令情况及命令结果;协议池模块,提供协议驱动接口,并提供基于此接口的多种常用监控终端协议的驱动 实现,从而构成协议池,基于该协议池,监控通信系统可以接入不同厂商的各种监控协议的 监控终端,并能解析从监控终端接收的数据,构造发向监控终端的命令数据;当有新的监控 终端协议时,可以基于接口予以实现该协议的驱动,并加入到所述协议池中,从而使所述协 议池模块支持新协议;核心调度模块,接收处理水资源监控终端上报的各种数据及下发给监控终端的各种命 令,本模块采用线程池技术,用多线程并行处理所述监控终端数据;对处理后的监控终端数 据进行分发,当处理完监控终端数据后,从配置管理模块得到该监控终端数据分发方向,并 以各个数据分发方向的数据过滤条件,进行数据过滤,通过过滤的数据再传递给对应的数 据分发模块;本模块接收并处理从中心水资管理系统通信模块接收到的各种命令,若命令 是针对监控通信系统本身的命令,转发命令给本地命令处理子功能部分,该子功能部分进 行命令处理,并把命令结果通过中心系统通信模块返回给中心水资源管理系统;若命令是 针对监控终端的命令,进行命令数据解析,得到监控终端的属性,依据终端属性数据把命令 传递给本模块的监控终端命令管理子功能部分,然后把至此的命令处理情况通过中心系统 通信模块返回给中心水资源管理系统;本模块对监控终端各维护一个命令队列,队列中存 储待发送的各种监控命令,并把命令按其优先级进行排队,同时监测系统的各种事件,由事 件驱动线程池线程处理队列中的命令,并把需要发送的命令发送出去;本模块维护监控终 端的网络连接会话,并向其他功能模块或功能部分提供网络会话;本模块维护监控终端历 史及当日的工作状态,并向外提供监控终端工作状态信息;数据分发模块,定义向水资源管理系统分发数据的功能接口,并提供基于数据库、TCP/ IP和UDP/IP网络通信方式的数据分发功能实现;负责将核心调度模块分发的监控数据分 发给各个数据需求方。
2.根据权利要求1所述的水资源监控通信系统,其特征在于,所述配置管理模块的各 种监控终端的配置是对各种类型的监控终端特别属性的配置,所述特别属性使监控通信系统能够知道具体监控终端的类型及属性;各种监控通信协议配置是对各种监控终端的通信 协议及其驱动实现的配置;各个模块运行参数配置是对监控通信系统各个功能模块运行参 数的配置。
3.根据权利要求1所述的水资源监控通信系统,其特征在于,所述监控终端通信模块 在有新的通信方式需要支持时,可以基于通信功能接口予以新通信方式的扩展实现,从而 使得监控通信系统可以接入各种通信方式的监控终端。
4.根据权利要求1所述的水资源监控通信系统,其特征在于,所述核心调度模块维护 的监控终端历史及当日的工作状态包括当前在线情况、当前工作模式、历史在线时长、当日 在线时长、历史掉线时长、当日掉线时长、历史命令成功次数、当日命令成功次数、历史命令 失败次数、当日命令失败次数、历史主动上报数据次数、当日主动上报数据次数、当日各次 主动上报数据时刻、历史上行数据流量、当日上行数据流量、历史下行数据流量和当日下行 数据流量;所述当前工作模式为查询应答和自报确认两种工作模式,所述查询应答工作模 式是随时响应命令的常在线模式,所述自报确认工作模式是当上报数据时在线的非常在线 工作模式。
5.一种水资源监控通信方法,其特征在于该方法包括步骤将水资源监控通信系统部署于水资源监控终端及水资源管理系统中间,接入采用各种 通信方式的水资源监控终端,接收使用各种监控通信协议的水资源监控终端监控数据;接 入中心水资源管理系统,接收中心系统下发的针对各种监控通信协议的水资源监控终端的 命令数据;所述水资源监控通信系统对监控数据进行处理,屏蔽各种监控终端的差异,并且对外 提供统一的透明的功能接口和数据接口,以统一的方式完成上报水资源监控数据和下发水 资源监控命令,并向各个数据接收方分发水资源监控数据;所述各种通信方式是指TCP/IP通信、UDP/IP通信、无线短波通信、短信通信;所述接收使用各种监控通信协议的监控数据是指所述水资源监控通信系统定义通用 协议功能接口,基于所述接口接收处理采用各种通信协议的水资源监控终端上报的监控数 据及下发的监控命令;所述向多个数据接收方分发数据是指所述水资源监控通信系统将一个监控终端的数 据发向多个目的地,即不同的水资源管理系统;所述下发水资源监控命令是指所述水资源监控通信系统以统一的数据接口接收中心 水资源管理系统的监控命令,并对命令数据解析、构造处理,生成针对某个监控终端专门通 信协议的数据,最后通过网络下发给监控终端。
6.根据权利要求5所述的水资源监控通信方法,其特征在于,所述上报水资源监控 数据时,所述监控通信系统接入监控终端的网络连接,调用线程池,由线程接收监控终端数 据,然后判断监控终端在线情况,如果未在线,则是进行上线处理过程,处理上线完成后继 续向下处理过程,如果在线则直接向下处理过程;向下处理过程首先是更新保存监控终端 的运行状态,然后调用线程池,将处理任务交由线程处理,线程处理先查询监控终端的配置 属性,以属性得到监控终端DTU数据层协议驱动,进行DTU层数据解析,如果解析后的数据 是RTU数据层数据,再以属性得到监控终RTU数据层协议驱动,进行RTU层数据解析,对解 析后的数据进行判断,如果数据是水资源监控相关业务数据,查询监控终端的配置属性,得到该监控终端数据分发方向,把数据传送给各个数据分发方向,在每个方向上,进行该方向 的数据过滤,经过滤后,如果数据需要发布,则将数据传递给对应的数据发送模块,进行数 据传送分发;所述由线程接收的监控终端数据,经DTU层解析的数据不是RTU数据、经RTU层解析的 数据不是水资源监控相关业务数据以及不需要分发的数据,则舍弃数据;所述由线程接收的监控终端数据,处理数据后判断是否回复监控终端,如果不需要回 复,则无任何动作执行,结束监控终端数据处理流程;如果需要回复监控终端,则构造应答 命令数据,并把命令数据发向命令处理模块,则命令数据进入了下发水资源监控命令处理 流程。
7.根据权利要求5所述的水资源监控通信方法,其特征在于,所述下发水资源监控命 令,水资源监控通信系统接收下发的监控命令,进行数据解码,解析出命令数据,此时命令 叫做原生命令;如果命令是针对监控通信系统的内容命令,进行内部命令处理,并把命令 处理结果从接收数据通道返回给中心水资源管理系统;如果命令是对针监控终端的监控命 令,系统对该命令的处理方式由系统的工作模式决定;当系统运行于监控终端常在线工作模式,如果命令是针对监控终端RTU的命令,则查 询监控终端配置,得到RTU数据层协议驱动,利用驱动进行RTU数据层数据构造,再查询监 控终端配置,得到DTU数据层协议驱动,利用驱动进行DTU数据层数据构造,将已构造命令 转发给监控终端命令管理部分处理;如果命令不是针对监控终端RTU的命令,则命令是针 对监控终端的DTU的命令,查询监控终端配置,得到DTU数据层协议驱动,利用驱动进行DTU 数据层数据构造,将已构造命令转发给监控终端命令管理部分处理;所述系统当运行于监控终端非常在线工作模式时,将所述解析出的原生命令转发给监 控终端命令管理部分处理;所述监控终端命令管理部分接收到转发来的各种命令时,将命令添加到命令队列中, 并按命令优先级进行排序,命令队列由事件驱动,触发线程池线程启动处理命令工作。
8.根据权利要求7所述的水资源监控通信方法,其特征在于,所述命令队列由事件驱 动触发线程池线程启动处理命令工作,首先判断命令是否为下发给监控终端的上报数据应 答命令,如果是,则把该命令从缓存中清除,并把命令从监控终端网络连接发送出去,结束 一个命令处理工作,如果不是,则判断命令结果是否已经收到,如果命令结果已经收到,则 将命令清除出缓存,结束一个命令处理工作,如果命令结果未收到,判断命令是否为原生命 令,如果为原生命令,则从缓存中清除命令,并把命令回传命令接收功能部分,进入构造命 令过程,如命令不是原生命令,则判断监控终端是否在线,如果在线,先判断命令是否超时, 如果命令超时,则把命令从命令缓存中清除,结束一个命令处理工作,如果不超时,则判断 命令是否有效,如果无效,则把命令从命令缓存中清除,结束一个命令处理工作,如果有效, 则把命令从监控终端网络连接发送出去,结束一个命令处理工作,如果不在线,则判断命令 是否为监控终端不在线即删除命令,如果是,则把命令从命令缓存中清除,结束一个命令处 理工作,如果不是,则判断命令是否超时,如果命令超时,则把命令从命令缓存中清除,结束 一个命令处理工作,如果不超时,直接结束一个命令处理工作。
全文摘要
本发明涉及水资源监控系统,提供一种水资源监控通信系统,其特征在于其处于各种水资源监控终端与多个水资源管理系统中间,并可分布式部署,其可接入多种通信方式的、多种水资源监控通信协议的水资源监控终端,并能向多个水资源管理系统分发数据,同时能接收水资源管理系统监控命令,并将命令转发到水资源监控终端。本发明系统可有效服务于水资源监控工作。
文档编号H04L29/08GK102130968SQ20111010034
公开日2011年7月20日 申请日期2011年4月20日 优先权日2011年4月20日
发明者刘润玉, 吴玉晓, 王大正, 贾美 申请人:北京奥特美克科技发展有限公司