当前位置:首页 > 物联网 > 《物联网技术》杂志
[导读]摘 要:物联网技术涵盖了多种多样的形式,在工商业燃气无线抄表平台设计中,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 技术已经成功应用到无锡燃气公司对部分工商业燃气用户的改造项目中,采用华润物联网软件平台实现了对燃气用户数据的读取和统计,具有广阔的应用前景。





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

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭