當(dāng)前位置:首頁(yè) > 物聯(lián)網(wǎng) > 《物聯(lián)網(wǎng)技術(shù)》雜志
[導(dǎo)讀]摘 要:物聯(lián)網(wǎng)技術(shù)涵蓋了多種多樣的形式,在工商業(yè)燃?xì)鉄o(wú)線抄表平臺(tái)設(shè)計(jì)中,Redis技術(shù)有效分擔(dān)了數(shù)據(jù)采集服務(wù)器的負(fù)荷,延長(zhǎng)了電池的使用壽命,是一種高效、快速、簡(jiǎn)捷的新技術(shù)。

0 引 言

燃?xì)庠诔鞘薪ㄔO(shè)中的應(yīng)用越來(lái)越廣泛,用戶種類和數(shù)量迅猛增長(zhǎng),用氣結(jié)構(gòu)呈現(xiàn)多元化。要實(shí)現(xiàn)對(duì)燃?xì)獾暮侠砝茫?燃?xì)獾挠?jì)量收費(fèi)管理工作非常重要 [1]。燃?xì)獗碛脩舸笾路譃楣I(yè)用戶與居民用戶兩種,由于兩種燃?xì)獗淼氖褂铆h(huán)境不同, 因而抄表方式也存在很大的差異,但大體可分為兩種,即人工抄表和自動(dòng)抄表。人工抄表耗時(shí)大,成本高,存在入戶不及時(shí)、錯(cuò)抄、漏抄的可能,因此自動(dòng)抄表大勢(shì)所趨 [2]。隨著無(wú)線通信行業(yè)技術(shù)的發(fā)展,越來(lái)越多的無(wú)線技術(shù)被應(yīng)用到電力、水力和燃?xì)獾?a href="/tags/無(wú)線抄表" target="_blank">無(wú)線抄表系統(tǒng)中。

目前在民用燃?xì)獬硐到y(tǒng)中的無(wú)線采集方案多由無(wú)線燃?xì)獗?、集中器、手持機(jī)及后臺(tái)抄表系統(tǒng)組成。無(wú)線燃?xì)獗聿捎肔oRa 或 ZigBee 無(wú)線擴(kuò)頻技術(shù),將各住戶家中的燃?xì)鈹?shù)據(jù)定時(shí)上送到集中器,在集中器上安裝 GPRS 通信模塊,定時(shí)遠(yuǎn)傳給后臺(tái)抄表系統(tǒng)中。當(dāng)抄表遇到故障時(shí)可根據(jù)后臺(tái)抄表系統(tǒng)的提示定位到具體用戶,再派專業(yè)的技術(shù)人員到現(xiàn)場(chǎng)通過(guò)手持機(jī)重抄或檢查故障。這種抄表方式有效解決了燃?xì)夤灸壳笆褂脝渭兓韼?lái)的數(shù)據(jù)收集不及時(shí)、入戶難、無(wú)法了解移表、拆表和竊盜氣現(xiàn)象及難于保障安全監(jiān)測(cè)等問(wèn)題,相比傳統(tǒng)的RS 485 集中自動(dòng)抄表方式解決了布線困難的問(wèn)題,非常適合部分年代久遠(yuǎn)小區(qū)的改造。

但工業(yè)用戶不宜采取以上方式。對(duì)于民用無(wú)線抄表,小區(qū)住戶集中,集中器的安裝較方便,一般一個(gè)采集器可通過(guò)LoRa 無(wú)線連接至少 200 臺(tái)燃?xì)獗恚阌诩胁杉芾聿p少通過(guò)GPRS 上送數(shù)據(jù)的流量??蓪?duì)于各工業(yè)用燃?xì)庥脩魜?lái)說(shuō), 不具備地理上的集中優(yōu)勢(shì),用戶分散排布,無(wú)法集中安裝燃?xì)獗?。?duì)于這種散落分布的工業(yè)燃?xì)庥脩?,可在燃?xì)饣砩霞友bGPRS 通信模塊,使每個(gè)分散的工業(yè)用戶作為獨(dú)立個(gè)體直接上傳數(shù)據(jù)到后臺(tái)系統(tǒng)中,避免因地理位置分散,給抄表人員帶來(lái)的極大不便,同時(shí)也節(jié)省了大量人力、物力和財(cái)力。

1 思想架構(gòu)

1.1 系統(tǒng)架構(gòu)設(shè)計(jì)

在工業(yè)燃?xì)馄つけ砘砩现苯蛹友b GPRS通信模塊后, 從燃?xì)獗砩献x取的數(shù)據(jù)可實(shí)時(shí)或定時(shí)上傳到后臺(tái)抄表平臺(tái)系統(tǒng)中。抄表平臺(tái)采用 B/S架構(gòu),任意聯(lián)網(wǎng)的瀏覽器只要具有一定的權(quán)限都可進(jìn)行訪問(wèn)操作。底層燃?xì)獗硗ㄟ^(guò)GPRS方式通信, 采用 TCP/IP互聯(lián)網(wǎng)傳輸協(xié)議,應(yīng)用層協(xié)議為《工業(yè)預(yù)付費(fèi)遠(yuǎn)程表通訊協(xié)議》。后臺(tái)軟件系統(tǒng)分為數(shù)據(jù)采集服務(wù)前置端,客戶操作服務(wù)端兩大類。系統(tǒng)架構(gòu)如圖 1所示。

Redis技術(shù)在物聯(lián)網(wǎng)工商業(yè)燃?xì)鉄o(wú)線抄表平臺(tái)的設(shè)計(jì)與應(yīng)用

無(wú)線燃?xì)獗砻扛粢恍r(shí)會(huì)采樣保存一個(gè)點(diǎn),每天通過(guò)GPRS 定時(shí)上線一次,上線后將 24 個(gè)點(diǎn)的數(shù)據(jù)同時(shí)發(fā)送到數(shù)據(jù)采集服務(wù)器,服務(wù)器將數(shù)據(jù)直接寫入后臺(tái)數(shù)據(jù)庫(kù)。但這種頻繁的I/O 操作較耗時(shí),抓取每個(gè)設(shè)備數(shù)據(jù)到數(shù)據(jù)成功寫入數(shù)據(jù)庫(kù)大約需要 3 s 的時(shí)間。隨著在某個(gè)時(shí)間點(diǎn)上線設(shè)備數(shù)量增多,數(shù)據(jù)的延遲時(shí)間將增加,導(dǎo)致每個(gè)燃?xì)獗淼木S持在線時(shí)間加長(zhǎng),增加了燃?xì)獗淼墓?,減少了電池的使用時(shí)間。頻繁更換電池不僅增加了使用成本,也為用戶帶來(lái)了不必要的麻煩,此時(shí)考慮將數(shù)據(jù)采集服務(wù)器部分的數(shù)據(jù)庫(kù)交互部分與采集部分獨(dú)立開來(lái),以分擔(dān)數(shù)據(jù)采集服務(wù)器的負(fù)擔(dān),Redis 技術(shù)因此被引入。

1.2 Redis簡(jiǎn)介及特性

Redis(Remote Dictionary Server)基于遠(yuǎn)程字典服務(wù), 是非關(guān)系型數(shù)據(jù)庫(kù)(Not Only SQL,NoSQL)產(chǎn)品之一,它支持網(wǎng)絡(luò)、key-value 模型等存儲(chǔ)系統(tǒng), 可用作數(shù)據(jù)庫(kù)、高速緩存和消息隊(duì)列代理 [3]。Redis 的出現(xiàn),很大程度補(bǔ)償了memcached key/value 存儲(chǔ)的不足,在部分場(chǎng)合可對(duì)關(guān)系數(shù)據(jù)庫(kù)起到很好的補(bǔ)充作用。其支持的存儲(chǔ) value 類型包括 string(字符串),list(鏈表),set(無(wú)序集合),zset(sorted set 有序集合)和 hash,也可將 Redis 看成一個(gè)數(shù)據(jù)結(jié)構(gòu)服務(wù)器。這些數(shù)據(jù)類型都支持 push/pop,add/remove 及交集、并集和差集運(yùn)算,Redis 支持各種不同方式的排序。數(shù)據(jù)緩存在內(nèi)存中, 可周期性地把更新的數(shù)據(jù)寫入磁盤或把修改操作寫入追加的記錄文件,并實(shí)現(xiàn) master-slave(主從)同步。它提供了 Java, C/C++,C#,PHP,JavaScript,Perl,Object-C,Python, Ruby,Erlang 等客戶端,使用方便。

Redis 是基于 C/C++ 開發(fā)的一款 K-V 數(shù)據(jù)庫(kù),特點(diǎn)是運(yùn)行快,使用類 Telnet 協(xié)議 [4]。

Redis 具有如下特性 :

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

(2)豐富的數(shù)據(jù)類型。Redis 支持二進(jìn)制案例的 Strings,Lists,Hashes,Sets 及 Ordered Sets 數(shù)據(jù)類型操作 ;

(3)Redis 的所有操作都是原子性的,同時(shí) Redis 還支持對(duì)幾個(gè)操作全并后的原子性執(zhí)行 ;

(4)豐富的特性。Redis 還支持 publish/subscribe(發(fā)布訂閱模式),通知,key 過(guò)期等。

1.3 Redis的使用

安裝好 Redis 數(shù)據(jù)服務(wù)器,確定好通道名稱,采用發(fā)布 / 訂閱方式,即數(shù)據(jù)采集服務(wù)器通過(guò) Redis 的發(fā)布方式將采集的數(shù)據(jù)發(fā)布到 Redis 數(shù)據(jù)服務(wù)器中,任務(wù)完成即返回??蛻鬢eb 訪問(wèn)服務(wù)器通過(guò)訂閱方式將接收到的發(fā)布數(shù)據(jù)批量寫入數(shù)據(jù)庫(kù)中,實(shí)現(xiàn)整體數(shù)據(jù)采集,有效分擔(dān)數(shù)據(jù)采集服務(wù)器的工作,實(shí)現(xiàn)了分布式架構(gòu)。在當(dāng)前的物聯(lián)網(wǎng)大環(huán)境下,Redis 技術(shù)突顯了分布式架構(gòu)的技術(shù)優(yōu)勢(shì)。

2 實(shí)現(xiàn)方法

本次設(shè)計(jì)的數(shù)據(jù)采集服務(wù)器軟件平臺(tái)用 Java 語(yǔ)言編程實(shí)現(xiàn),TCP/IP 部分采用開源的 Mina 框架實(shí)現(xiàn)了多線程的整合調(diào)度,再配合 Redis 技術(shù),采用 JSON 格式發(fā)布 / 訂閱的消息,規(guī)范統(tǒng)一。

連接 Redis 服務(wù)器代碼如下:

Public static void ConnectRedis()

{

if(jedisPool!=null)

{

jedisPool.destroy();

jedisPool=null ;

}

Jed isPoolCon f ig m Jed isPoolCon f ig = new

JedisPoolConfig();

// 最大空閑連接數(shù),默認(rèn) 8 個(gè)

mJedisPoolConfig.setMaxIdle(8);

// 可用連接實(shí)例的最大數(shù)目,默認(rèn)值為 8

// 如果賦值為 -1,則表示不限制

mJedisPoolConfig.setMaxTotal(GloableData.

RedisConnectCount);

// 等待可用連接的最大時(shí)間,單位 ms,默

認(rèn)值為 -1,表示永不超時(shí)。如果超過(guò)等待時(shí)間,則直接拋出

JedisConnectionException

mJedisPoolConfig.setMaxWaitMillis(10000);

// 在 borrow 1 個(gè) jedis 實(shí)例時(shí), 是否提前進(jìn)行

validate 操作 ;如果為 true,則得到的 jedis 實(shí)例均是可用的 ;

mJedisPoolConfig.setTestOnBorrow(true);

mJedisPoolConfig.setBlockWhenExhausted

(true);

mJedisPoolConfig.setTestOnReturn(true);

mJedisPoolConfig.setTimeBetweenEvictionRuns

Millis(30000);

jedisPool=newJedisPool(mJedisPoolConfig,

GloableData.RedisAddress, GloableData.RedisPort);

}

將發(fā)布的數(shù)據(jù)發(fā)送到 Redis 服務(wù)器上的代碼如下;

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 發(fā)送異常:{}",Common.

getStackTree(e));

jedisPool.returnBrokenResource(jedis);

// 歸還異常的 jedis 對(duì)象

}

finally

{

// 返還到連接池

close(jedis);

}

}

從上述代碼中可以看出 Redis 的使用非常簡(jiǎn)便,大大縮短了開發(fā)周期并有效分擔(dān)了數(shù)據(jù)采集服務(wù)器的工作負(fù)荷。采用 Redis 技術(shù)后,每個(gè)燃?xì)獗淼牟杉瘯r(shí)間縮短到 500 ms以內(nèi),燃?xì)獗泶_認(rèn)服務(wù)器收到數(shù)據(jù)后立刻下線,有效節(jié)省了電池電量,收到了良好的效果。

3 結(jié) 語(yǔ)

無(wú)線燃?xì)獬砑夹g(shù)已被廣泛用于各燃?xì)夤?,?shù)據(jù)上送到平臺(tái)后,可擴(kuò)展的業(yè)務(wù),如統(tǒng)計(jì)查詢、對(duì)比分析、線上線下預(yù)付費(fèi)等,均可利用互聯(lián)網(wǎng)方式進(jìn)行,使用戶有更好的體驗(yàn)和更靈活的操作方式。

本文提到的 Redis 技術(shù)已經(jīng)成功應(yīng)用到無(wú)錫燃?xì)夤緦?duì)部分工商業(yè)燃?xì)庥脩舻母脑祉?xiàng)目中,采用華潤(rùn)物聯(lián)網(wǎng)軟件平臺(tái)實(shí)現(xiàn)了對(duì)燃?xì)庥脩魯?shù)據(jù)的讀取和統(tǒng)計(jì),具有廣闊的應(yīng)用前景。





本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉