当前位置:首页 > 物联网 > 《物联网技术》杂志
[导读]摘 要:物联网技术涵盖了多种多样的形式,在工商业燃气无线抄表平台设计中,Redis技术有效分担了数据采集服务器的负荷,延长了电池的使用寿命,是一种高效、快速、简捷的新技术。

0 引 言

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

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

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

1 思想架构

1.1 系统架构设计

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

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

无线燃气表每隔一小时会采样保存一个点,每天通过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()

{

if(jedisPool!=null)

{

jedisPool.destroy();

jedisPool=null ;

}

Jed isPoolCon f ig m Jed isPoolCon f ig = new

JedisPoolConfig();

// 最大空闲连接数,默认 8 个

mJedisPoolConfig.setMaxIdle(8);

// 可用连接实例的最大数目,默认值为 8

// 如果赋值为 -1,则表示不限制

mJedisPoolConfig.setMaxTotal(GloableData.

RedisConnectCount);

// 等待可用连接的最大时间,单位 ms,默

认值为 -1,表示永不超时。如果超过等待时间,则直接抛出

JedisConnectionException

mJedisPoolConfig.setMaxWaitMillis(10000);

// 在 borrow 1 个 jedis 实例时, 是否提前进行

validate 操作 ;如果为 true,则得到的 jedis 实例均是可用的 ;

mJedisPoolConfig.setTestOnBorrow(true);

mJedisPoolConfig.setBlockWhenExhausted

(true);

mJedisPoolConfig.setTestOnReturn(true);

mJedisPoolConfig.setTimeBetweenEvictionRuns

Millis(30000);

jedisPool=newJedisPool(mJedisPoolConfig,

GloableData.RedisAddress, GloableData.RedisPort);

}

将发布的数据发送到 Redis 服务器上的代码如下;

Public static void PublishDataTORedis(String strData)

{

Jedisjedis = null ;

try

{

jedis = jedisPool.getResource();

String strChannel=GloableData.RedisChannelName ;

jedis.publish(strChannel, strData);

nRedisCount++ ;

}

catch(Exception e)

{

logger.info("Redis 发送异常:{}",Common.

getStackTree(e));

jedisPool.returnBrokenResource(jedis);

// 归还异常的 jedis 对象

}

finally

{

// 返还到连接池

close(jedis);

}

}

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

3 结 语

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

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





本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

特朗普集团近日取消了其新推出的T1智能手机“将在美国制造”的宣传标语,此举源于外界对这款手机能否以当前定价在美国本土生产的质疑。

关键字: 特朗普 苹果 AI

美国总统特朗普在公开场合表示,他已要求苹果公司CEO蒂姆·库克停止在印度建厂,矛头直指该公司生产多元化的计划。

关键字: 特朗普 苹果 AI

4月10日消息,据媒体报道,美国总统特朗普宣布,美国对部分贸易伙伴暂停90天执行新关税政策,同时对中国的关税提高到125%,该消息公布后苹果股价飙升了15%。这次反弹使苹果市值增加了4000多亿美元,目前苹果市值接近3万...

关键字: 特朗普 AI 人工智能 特斯拉

3月25日消息,据报道,当地时间3月20日,美国总统特朗普在社交媒体平台“真实社交”上发文写道:“那些被抓到破坏特斯拉的人,将有很大可能被判入狱长达20年,这包括资助(破坏特斯拉汽车)者,我们正在寻找你。”

关键字: 特朗普 AI 人工智能 特斯拉

1月22日消息,刚刚,新任美国总统特朗普放出重磅消息,将全力支持美国AI发展。

关键字: 特朗普 AI 人工智能

特朗普先生有两件事一定会载入史册,一个是筑墙,一个是挖坑。在美墨边境筑墙的口号确保边境安全,降低因非法移民引起的犯罪率过高问题;在中美科技产业之间挖坑的口号也是安全,美国企业不得使用对美国国家安全构成威胁的电信设备,总统...

关键字: 特朗普 孤立主义 科技产业

据路透社1月17日消息显示,知情人士透露,特朗普已通知英特尔、铠侠在内的几家华为供应商,将要撤销其对华为的出货的部分许可证,同时将拒绝其他数十个向华为供货的申请。据透露,共有4家公司的8份许可被撤销。另外,相关公司收到撤...

关键字: 华为 芯片 特朗普

曾在2018年时被美国总统特朗普称作“世界第八奇迹”的富士康集团在美国威斯康星州投资建设的LCD显示屏工厂项目,如今却因为富士康将项目大幅缩水并拒绝签订新的合同而陷入了僵局。这也导致富士康无法从当地政府那里获得约40亿美...

关键字: 特朗普 富士康

今年5月,因自己发布的推文被贴上“无确凿依据”标签而与推特发生激烈争执后,美国总统特朗普签署了一项行政令,下令要求重审《通信规范法》第230条。

关键字: 谷歌 facebook 特朗普

众所周知,寄往白宫的所有邮件在到达白宫之前都会在他地进行分类和筛选。9月19日,根据美国相关执法官员的通报,本周早些时候,执法人员截获了一个寄给特朗普总统的包裹,该包裹内包含蓖麻毒蛋白。

关键字: 美国 白宫 特朗普
关闭