APP下载

Redis技术在物联网工商业燃气无线抄表平台的设计与应用

2018-11-21林伯凝

物联网技术 2018年11期
关键词:燃气表后台燃气

沈 瑾,林伯凝,沈 浩

(1.无锡华润微电子有限公司,江苏 无锡 214001;2.无锡富而凯奥克电气有限公司,江苏 无锡 214000;3.内蒙古北方重工业集团有限公司,内蒙古 包头 014033)

0 引 言

燃气在城市建设中的应用越来越广泛, 用户种类和数量迅猛增长,用气结构呈现多元化。要实现对燃气的合理利用,燃气的计量收费管理工作非常重要[1]。燃气表用户大致分为工业用户与居民用户两种,由于两种燃气表的使用环境不同,因而抄表方式也存在很大的差异,但大体可分为两种,即人工抄表和自动抄表。人工抄表耗时大,成本高,存在入户不及时、错抄、漏抄的可能,因此自动抄表大势所趋[2]。随着无线通信行业技术的发展,越来越多的无线技术被应用到电力、水力和燃气的无线抄表系统中。

目前在民用燃气抄表系统中的无线采集方案多由无线燃气表、集中器、手持机及后台抄表系统组成。无线燃气表采用LoRa或ZigBee无线扩频技术,将各住户家中的燃气数据定时上送到集中器,在集中器上安装GPRS通信模块,定时远传给后台抄表系统中。当抄表遇到故障时可根据后台抄表系统的提示定位到具体用户,再派专业的技术人员到现场通过手持机重抄或检查故障。这种抄表方式有效解决了燃气公司目前使用单纯基表带来的数据收集不及时、入户难、无法了解移表、拆表和窃盗气现象及难于保障安全监测等问题,相比传统的RS 485集中自动抄表方式解决了布线困难的问题,非常适合部分年代久远小区的改造。

但工业用户不宜采取以上方式。对于民用无线抄表,小区住户集中,集中器的安装较方便,一般一个采集器可通过LoRa无线连接至少200台燃气表,便于集中采集管理并减少通过GPRS上送数据的流量。可对于各工业用燃气用户来说,不具备地理上的集中优势,用户分散排布,无法集中安装燃气表。对于这种散落分布的工业燃气用户,可在燃气基表上加装GPRS通信模块,使每个分散的工业用户作为独立个体直接上传数据到后台系统中,避免因地理位置分散,给抄表人员带来的极大不便,同时也节省了大量人力、物力和财力。

1 思想架构

1.1 系统架构设计

在工业燃气皮膜表基表上直接加装GPRS通信模块后,从燃气表上读取的数据可实时或定时上传到后台抄表平台系统中。抄表平台采用B/S架构,任意联网的浏览器只要具有一定的权限都可进行访问操作。底层燃气表通过GPRS方式通信,采用TCP/IP互联网传输协议,应用层协议为《工业预付费远程表通讯协议》。后台软件系统分为数据采集服务前置端,客户操作服务端两大类。系统架构如图1所示。

图1 系统架构图

无线燃气表每隔一小时会采样保存一个点,每天通过GPRS定时上线一次,上线后将24个点的数据同时发送到数据采集服务器,服务器将数据直接写入后台数据库。但这种频繁的I/O操作较耗时,抓取每个设备数据到数据成功写入数据库大约需要3 s的时间。随着在某个时间点上线设备数量增多,数据的延迟时间将增加,导致每个燃气表的维持在线时间加长,增加了燃气表的功耗,减少了电池的使用时间。频繁更换电池不仅增加了使用成本,也为用户带来了不必要的麻烦,此时考虑将数据采集服务器部分的数据库交互部分与采集部分独立开来,以分担数据采集服务器的负担,Redis技术因此被引入。

1.2 Redis简介及特性

Redis(Remote Dictionary Server)基于远程字典服务,是非关系型数据库(Not Only SQL,NoSQL)产品之一,它支持网络、key-value模型等存储系统,可用作数据库、高速缓存和消息队列代理[3]。Redis的出现,很大程度补偿了memcached key/value存储的不足,在部分场合可对关系数据库起到很好的补充作用。其支持的存储value类型包括string(字符串),list(链表), set(无序集合), zset(sorted set有序集合)和hash,也可将Redis看成一个数据结构服务器。这些数据类型都支持push/pop,add/remove及交集、并集和差集运算,Redis支持各种不同方式的排序。数据缓存在内存中,可周期性地把更新的数据写入磁盘或把修改操作写入追加的记录文件,并实现master-slave(主从)同步。它提供了Java,C/C++,C#,PHP,JavaScript,Perl,Object-C,Python,Ruby,Erlang等客户端,使用方便。

Redis是基于C/C++开发的一款K-V数据库,特点是运行快,使用类Telnet协议[4]。Redis具有如下特性:

(1)性能高。Redis读的速度是 110 000 次/s,写的速度是 81 000 次 /s;

(2)丰富的数据类型。Redis支持二进制案例的Strings,Lists,Hashes,Sets 及 Ordered Sets数据类型操作;

(3)Redis的所有操作都是原子性的,同时 Redis 还支持对几个操作全并后的原子性执行;

(4)丰富的特性。Redis还支持 publish/subscribe(发布订阅模式),通知,key 过期等。

1.3 Redis的使用

安装好Redis数据服务器,确定好通道名称,采用发布/订阅方式,即数据采集服务器通过Redis的发布方式将采集的数据发布到Redis数据服务器中,任务完成即返回。客户Web访问服务器通过订阅方式将接收到的发布数据批量写入数据库中,实现整体数据采集,有效分担数据采集服务器的工作,实现了分布式架构。在当前的物联网大环境下,Redis技术突显了分布式架构的技术优势。

2 实现方法

本次设计的数据采集服务器软件平台用Java语言编程实现,TCP/IP部分采用开源的Mina框架实现了多线程的整合调度,再配合Redis技术,采用JSON格式发布/订阅的消息,规范统一。

连接Redis服务器代码如下:

Public static void ConnectRedis()

{

}

从上述代码中可以看出Redis的使用非常简便,大大缩短了开发周期并有效分担了数据采集服务器的工作负荷。采用Redis技术后,每个燃气表的采集时间缩短到500 ms以内,燃气表确认服务器收到数据后立刻下线,有效节省了电池电量,收到了良好的效果。

3 结 语

无线燃气抄表技术已被广泛用于各燃气公司,数据上送到平台后,可扩展的业务,如统计查询、对比分析、线上线下预付费等,均可利用互联网方式进行,使用户有更好的体验和更灵活的操作方式。

本文提到的Redis技术已经成功应用到无锡燃气公司对部分工商业燃气用户的改造项目中,采用华润物联网软件平台实现了对燃气用户数据的读取和统计,具有广阔的应用前景。

猜你喜欢

燃气表后台燃气
拧紧燃气“安全阀”
近期实施的燃气国家标准
采用虚拟计数器的电子式膜式燃气表
膜式燃气表计量信息采集技术
物联网智能燃气表电量自补给装置
后台暗恋
前台、后台精彩花絮停不了
以“后台”的名义节省电池用量
燃气远传抄表系统分析
电力调度中后台监控系统的应用