国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Netty的智能抄表系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

2024-09-18 00:00:00范利良高平姚鑫戚東輝
物聯(lián)網(wǎng)技術(shù) 2024年9期
關(guān)鍵詞:拉閘集中器電表

摘 要:基于Netty的智能抄表系統(tǒng)是一種具有高效、安全和可靠特性的物聯(lián)網(wǎng)應(yīng)用。針對傳統(tǒng)抄表系統(tǒng)存在的問題,如數(shù)據(jù)傳輸不穩(wěn)定、信息安全性差等,利用Netty網(wǎng)絡(luò)框架實(shí)現(xiàn)一套智能抄表系統(tǒng),該系統(tǒng)具有數(shù)據(jù)采集、實(shí)時傳輸、數(shù)據(jù)處理等功能。通過對實(shí)驗(yàn)結(jié)果的評估和分析,證明了該系統(tǒng)具有高效、安全和可靠特性,可以有效提高工作效率,在智能抄表系統(tǒng)領(lǐng)域具有廣泛的應(yīng)用價值。

關(guān)鍵詞:智能抄表系統(tǒng);Netty;Q/GDW 1376.1協(xié)議;協(xié)議解析;物聯(lián)網(wǎng);電表

中圖分類號:TP29 文獻(xiàn)標(biāo)識碼:A 文章編號:2095-1302(2024)09-0-03

DOI:10.16667/j.issn.2095-1302.2024.09.035

0 引 言

隨著物聯(lián)網(wǎng)技術(shù)的發(fā)展,智能抄表系統(tǒng)已成為現(xiàn)代城市建設(shè)必不可少的一部分。傳統(tǒng)的抄表系統(tǒng)在數(shù)據(jù)采集、存儲、傳輸?shù)确矫娲嬖诙喾N問題,如數(shù)據(jù)易丟失、傳輸不穩(wěn)定、信息安全性差等,嚴(yán)重制約了物聯(lián)網(wǎng)應(yīng)用的發(fā)展。因此,利用先進(jìn)的網(wǎng)絡(luò)技術(shù)和通信協(xié)議,改進(jìn)抄表系統(tǒng)的數(shù)據(jù)處理方式和傳輸方式,提高其安全性、可靠性和可擴(kuò)展性,勢在

必行[1-3]。

Netty是一款基于Java NIO(Non-blocking IO)實(shí)現(xiàn)的高性能、異步事件驅(qū)動的網(wǎng)絡(luò)應(yīng)用框架,具有良好的可擴(kuò)展性和穩(wěn)定性,能夠有效地實(shí)現(xiàn)網(wǎng)絡(luò)通信[4-5]。本文以Netty框架為基礎(chǔ),針對傳統(tǒng)抄表系統(tǒng)的問題,設(shè)計(jì)并實(shí)現(xiàn)了一套智能抄表系統(tǒng),具有高效、安全和可靠特性。該系統(tǒng)通過網(wǎng)絡(luò)通信技術(shù),實(shí)現(xiàn)抄表數(shù)據(jù)的遠(yuǎn)程傳輸和實(shí)時監(jiān)測,并采用分布式結(jié)構(gòu)、數(shù)據(jù)庫技術(shù)和多線程技術(shù)等來提高系統(tǒng)的穩(wěn)定性、可靠性。

1 Netty框架介紹

Netty框架的主要特點(diǎn)是:高性能、異步、事件驅(qū)動、易擴(kuò)展、可重用。它能夠輕松地實(shí)現(xiàn)各種TCP、UDP、HTTP協(xié)議,同時具有良好的拓展性和可重用性[6-7]。下面介紹其基本原理和實(shí)現(xiàn)技術(shù)。

1.1 非阻塞I/O模型

Netty框架采用基于NIO的非阻塞I/O模型,使用Java的原生Selector機(jī)制實(shí)現(xiàn)了事件驅(qū)動方式的I/O操作。這種模型可以實(shí)現(xiàn)高效的資源利用,降低服務(wù)器負(fù)載,提升系統(tǒng)的吞吐量。

1.2 多線程并發(fā)處理

Netty框架可以通過線程池的方式輕松地實(shí)現(xiàn)多線程并發(fā)處理。通常情況下,一個Netty應(yīng)用程序會被分為若干Handler鏈路和若干EventLoop線程,每個EventLoop線程處理若干個Handler請求,從而實(shí)現(xiàn)了多個請求的同時

處理。

1.3 Channel技術(shù)

Netty框架采用Channel技術(shù)來處理底層的Transport,可以通過ChannelHandler對網(wǎng)絡(luò)事件和數(shù)據(jù)進(jìn)行處理,并且支持多個Channel注冊到一個EventLoop上,以實(shí)現(xiàn)同一個EventLoop可以處理多個Channel的請求。

1.4 Codec技術(shù)

Netty框架的Codec技術(shù)主要包括Encoder和Decoder兩個部分。Encoder是將業(yè)務(wù)消息轉(zhuǎn)換為二進(jìn)制數(shù)據(jù),以便進(jìn)行網(wǎng)絡(luò)傳輸;Decoder則將網(wǎng)絡(luò)接收到的二進(jìn)制數(shù)據(jù)反序列化為應(yīng)用程序能夠處理的業(yè)務(wù)消息。

除了上述優(yōu)勢,Netty框架還有以下特點(diǎn):并發(fā)能力高、安全性高、容錯能力強(qiáng)、自身網(wǎng)絡(luò)協(xié)議能力強(qiáng),支持千萬級連接和管理、多種數(shù)據(jù)傳輸方式。Netty框架能夠較好地滿足智能抄表系統(tǒng)的通信需求[8-9]。

2 系統(tǒng)總體設(shè)計(jì)與實(shí)現(xiàn)

本文研究的智能抄表系統(tǒng)的整體架構(gòu)如圖1所示,硬件部分包括電表、集中器,軟件部分包括數(shù)據(jù)采集模塊、數(shù)據(jù)傳輸模塊、數(shù)據(jù)處理模塊、應(yīng)用界面4個模塊。通過集中器實(shí)現(xiàn)對電表電能信息的采集與管理,并由軟件部分實(shí)現(xiàn)數(shù)據(jù)的解析、處理和可視化。

2.1 數(shù)據(jù)采集模塊

數(shù)據(jù)采集模塊主要負(fù)責(zé)物聯(lián)網(wǎng)設(shè)備中數(shù)據(jù)的讀取和組織,并將其轉(zhuǎn)化為能夠在網(wǎng)絡(luò)中傳輸?shù)亩M(jìn)制數(shù)據(jù)。該模塊采用Netty框架的非阻塞I/O模型和Channel技術(shù),自定義ChannelHandler實(shí)現(xiàn)數(shù)據(jù)采集任務(wù),將JSON格式的數(shù)據(jù)轉(zhuǎn)化為字節(jié)數(shù)組,并使用MD5算法進(jìn)行加密。由于該算法具有很好的數(shù)據(jù)密度,因此可以有效保證數(shù)據(jù)的安全性。

2.2 數(shù)據(jù)傳輸模塊

數(shù)據(jù)傳輸模塊主要負(fù)責(zé)對采集的數(shù)據(jù)進(jìn)行傳輸和處理,并保證在網(wǎng)絡(luò)通信環(huán)境不穩(wěn)定的情況下,數(shù)據(jù)能夠可靠地到達(dá)服務(wù)器。該模塊使用Netty框架的多線程并發(fā)處理技術(shù),在TCP協(xié)議的基礎(chǔ)上實(shí)現(xiàn)了數(shù)據(jù)的傳輸和重傳機(jī)制,保證了數(shù)據(jù)的穩(wěn)定性和實(shí)時性。同時,在傳輸?shù)倪^程中,還采用自定義ChannelPipeline來聚合不同階段的通道處理器,避免了系統(tǒng)資源的浪費(fèi)。

2.3 數(shù)據(jù)處理模塊

數(shù)據(jù)處理模塊主要負(fù)責(zé)對服務(wù)器接收到的數(shù)據(jù)進(jìn)行解碼、解密和解析操作,并將其轉(zhuǎn)換為可存儲的格式。該模塊使用Netty框架的Codec技術(shù)和異步線程池,實(shí)現(xiàn)了數(shù)據(jù)的快速處理和存儲,保證了數(shù)據(jù)的安全性和可靠性。同時,該模塊還實(shí)現(xiàn)了數(shù)據(jù)的多重校驗(yàn)機(jī)制,包括CRC、MD5、RSA等多種算法,以確保數(shù)據(jù)的完整性和正確性。

2.4 應(yīng)用界面

應(yīng)用界面是智能抄表系統(tǒng)重要的管理和控制入口,用戶能夠通過應(yīng)用界面遠(yuǎn)程管理和監(jiān)控物聯(lián)網(wǎng)設(shè)備。該界面采用了最新的Web技術(shù)和響應(yīng)式設(shè)計(jì),具有美觀、直觀的特點(diǎn)。同時,該界面還實(shí)現(xiàn)了數(shù)據(jù)可視化和遠(yuǎn)程控制,用戶能夠?qū)崟r查看抄表數(shù)據(jù)和對設(shè)備進(jìn)行遠(yuǎn)程操作。

3 協(xié)議解析及編碼

3.1 上行協(xié)議解析

智能抄表系統(tǒng)的上行協(xié)議是指系統(tǒng)從集中器上傳到服務(wù)器的數(shù)據(jù)格式和規(guī)范。本文基于Netty實(shí)現(xiàn)了DL/T 645—2007和Q/GDW 1376.1—2013協(xié)議的解析,從而實(shí)現(xiàn)準(zhǔn)確的數(shù)據(jù)傳輸[10]。其中,Q/GDW 1376.1協(xié)議是國內(nèi)電力行業(yè)用于數(shù)據(jù)傳輸?shù)囊环N通信協(xié)議,其主要由幀頭、幀尾、數(shù)據(jù)域等組成,具體格式如下:

|幀頭|地址|功能碼|數(shù)據(jù)|數(shù)據(jù)長度|CRC|幀尾|

其中:幀頭和幀尾為固定數(shù)據(jù);地址用于識別集中器;功能碼表示數(shù)據(jù)類型;數(shù)據(jù)長度表示數(shù)據(jù)域的長度;CRC用于校驗(yàn)數(shù)據(jù)的完整性。

Netty提供了多種解碼器和編碼器,能夠?qū)崿F(xiàn)對數(shù)據(jù)進(jìn)行正確的解析和編碼。在Q/GDW 1376.1協(xié)議的解析中,可以使用Netty提供的ByteToMessageDecoder,它主要用于對字節(jié)流進(jìn)行解碼,同時還可以方便地進(jìn)行半包和粘包處理。協(xié)議解析的總體流程如圖2所示。

通過將Q/GDW 1376.1協(xié)議報(bào)文進(jìn)行預(yù)解析,分解出幀頭、數(shù)據(jù)字段和幀尾,并核對校驗(yàn)碼的正確性;然后,根據(jù)數(shù)據(jù)字段中的功能碼進(jìn)行路由轉(zhuǎn)發(fā),以分流到不同的數(shù)據(jù)控制器類進(jìn)行處理。數(shù)據(jù)控制器根據(jù)不同的幀序列號將信息發(fā)給RabbitMQ,相應(yīng)的功能實(shí)現(xiàn)類在監(jiān)聽到消息后開始解析,最終實(shí)現(xiàn)消息解析保存。

Q/GDW 1376.1—2013協(xié)議格式如圖3所示。針對該協(xié)議格式,本文采用Netty框架進(jìn)行數(shù)據(jù)解析和處理。具體實(shí)現(xiàn)過程如下:首先,將收到的數(shù)據(jù)放入緩存區(qū)中,使用自定義的字符解碼器將字節(jié)流解析為字符串。其次,根據(jù)字符串中的協(xié)議格式進(jìn)行解析,得到幀頭、地址、功能碼、數(shù)據(jù)長度、數(shù)據(jù)、CRC和幀尾等數(shù)據(jù)。接著,對數(shù)據(jù)進(jìn)行解密和反序列化,將其轉(zhuǎn)化為計(jì)量數(shù)據(jù)。然后,將計(jì)量數(shù)據(jù)存儲到數(shù)據(jù)庫,并記錄到日志中。最后,返回應(yīng)答結(jié)果,表示數(shù)據(jù)處理

完成。

3.2 下行命令編碼

智能抄表系統(tǒng)的下行命令是指服務(wù)器向計(jì)量設(shè)備發(fā)送的控制指令,其主要包括讀取數(shù)據(jù)、修改參數(shù)、校時等功能。本文采用Netty框架將下行命令轉(zhuǎn)換為二進(jìn)制數(shù)據(jù),并通過TCP連接發(fā)送給集中器。下行命令拉閘通信流程如圖4

所示。

首先,構(gòu)造下行命令對象,設(shè)置地址、功能碼、數(shù)據(jù)長度、數(shù)據(jù)等屬性。其次,將下行命令對象轉(zhuǎn)換為字節(jié)流,使用自定義的字符編碼器將其轉(zhuǎn)換為二進(jìn)制數(shù)據(jù)。最后,發(fā)送二進(jìn)制數(shù)據(jù)給集中器,等待響應(yīng)。

Web端下發(fā)拉閘命令,緩存讀寫接口單元負(fù)責(zé)將命令放入指令緩存單元。拉閘線程掃描到拉閘命令緩存后,集中器通信代理對象執(zhí)行指令拉取,通過封裝拉閘報(bào)文后下發(fā)拉閘命令給集中器,并清除拉閘緩存。集中器收到命令后,給電表下發(fā)拉閘指令并上報(bào)拉閘結(jié)果。結(jié)果報(bào)文經(jīng)過路由服務(wù)解析,提取數(shù)據(jù)后發(fā)消息給消息服務(wù)的業(yè)務(wù)操作結(jié)果隊(duì)列。業(yè)務(wù)服務(wù)消息監(jiān)聽線程監(jiān)聽到拉閘隊(duì)列消息,根據(jù)路由鍵轉(zhuǎn)發(fā)到拉閘消息處理類,最后對數(shù)據(jù)報(bào)文進(jìn)行解析,得到拉閘成功與否的結(jié)果并保存至數(shù)據(jù)庫。

4 結(jié)果與分析

本系統(tǒng)以某園區(qū)宿舍樓宇為例,共安裝25個集中器,500個電表。通過系統(tǒng)的數(shù)據(jù)采集、實(shí)時傳輸和數(shù)據(jù)處理功能,準(zhǔn)確地獲取到每個電表的用電數(shù)據(jù),包括累計(jì)電量、充值次數(shù)、剩余金額、電價、透支金額等。現(xiàn)場測試數(shù)據(jù)見表1所列。

實(shí)驗(yàn)結(jié)果顯示,基于Netty的智能抄表系統(tǒng)具有較快的數(shù)據(jù)傳輸速度和相對較低的響應(yīng)時間,能夠滿足大規(guī)模電表數(shù)據(jù)采集和傳輸?shù)男枨蟆?/p>

在系統(tǒng)運(yùn)行過程中,通過對比實(shí)際用電情況和抄表系統(tǒng)采集到的數(shù)據(jù),證明系統(tǒng)能夠準(zhǔn)確地獲取電表讀數(shù),并實(shí)時傳輸?shù)椒?wù)器,避免了傳統(tǒng)抄表系統(tǒng)中數(shù)據(jù)傳輸不穩(wěn)定的

問題。

此外,通過使用MD5算法對數(shù)據(jù)加密,并使用權(quán)限控制機(jī)制限制對系統(tǒng)的訪問,確保了系統(tǒng)數(shù)據(jù)的安全性。實(shí)驗(yàn)結(jié)果表明,系統(tǒng)能夠有效地保護(hù)電表數(shù)據(jù)不被未經(jīng)授權(quán)的訪問者獲取。

5 結(jié) 語

本文介紹了一種基于Netty的智能抄表系統(tǒng)的實(shí)現(xiàn)方法,針對數(shù)據(jù)采集、數(shù)據(jù)傳輸、數(shù)據(jù)處理、應(yīng)用界面4個方面進(jìn)行了詳細(xì)的分析。通過對Q/GDW 1376.1協(xié)議的關(guān)鍵技術(shù)進(jìn)行探討,為基于Netty的智能抄表系統(tǒng)的實(shí)現(xiàn)提供了有力保障。最后,通過實(shí)驗(yàn)驗(yàn)證,本文的智能抄表系統(tǒng)具有穩(wěn)定、可靠、安全的特點(diǎn)。未來,基于Netty的智能抄表系統(tǒng)將在城市能源管理、精細(xì)化管理等領(lǐng)域得到廣泛應(yīng)用。

參考文獻(xiàn)

[1]錢亮,張嬴,左勇. 基于云平臺的數(shù)據(jù)保護(hù)功能智能電能表設(shè)計(jì)

[J].物聯(lián)網(wǎng)技術(shù),2023,13(9):131-134.

[2]俞海猛,隋仕偉,劉夢爽,等.基于電力載波通信技術(shù)的智能小區(qū)抄表系統(tǒng)[J].計(jì)算機(jī)測量與控制,2022,30(11):251-256.

[3]張芹,夏水斌,許健.基于智能電表的電能信息采集系統(tǒng)的設(shè)計(jì)與研究[J].自動化儀表,2022,43(2):82-87.

[4]楊揚(yáng),田茂,高士木,等.基于Netty的城市智慧路燈管理系統(tǒng)

[J].物聯(lián)網(wǎng)技術(shù),2018,8(4):84-86.

[5]凌敏,王驥.基于Netty和MongoDB的車聯(lián)網(wǎng)Web系統(tǒng)[J].測繪與空間地理信息,2021,44(10):55-58.

[6]王寧,張娜,于澤川,等.基于Netty的高性能消息中間件設(shè)計(jì)與實(shí)現(xiàn)[J].智能計(jì)算機(jī)與應(yīng)用,2021,11(6):168-172.

[7]陳純純.基于Netty+WebSocket的社區(qū)增值服務(wù)平臺的推送設(shè)計(jì)[J].物聯(lián)網(wǎng)技術(shù),2016,6(12):89-91.

[8]劉波,周浩宇,張歷卓.一種基于嵌入式系統(tǒng)的多維協(xié)同與對比教學(xué)模式探討[J].物聯(lián)網(wǎng)技術(shù),2022,12(10):133-136.

[9]范華峰.一種基于Netty框架的網(wǎng)絡(luò)應(yīng)用服務(wù)器設(shè)計(jì)方法[J].福建電腦,2015,31(10):33-34.

[10]國家電網(wǎng)公司. 電力用戶用電信息采集系統(tǒng)通信協(xié)議:Q/GDW 1376.1—2013 [S].北京:中國電力出版社,2013.

收稿日期:2023-09-27 修回日期:2023-10-26

作者簡介:范利良(1989—),男,碩士,工程師,研究方向?yàn)楣I(yè)網(wǎng)絡(luò)與自動化控制。

高 平(1980—),男,碩士,高級工程師,研究方向?yàn)榈蛪弘娖髦悄芘潆娂夹g(shù)。

猜你喜歡
拉閘集中器電表
巧判電表測量對象
豆粕:拉閘限電引爆現(xiàn)貨行情,連盤遠(yuǎn)月主力合約很淡靜
電表“對”與“錯”歸類巧掌握
談低壓集中器及表計(jì)在線故障快速排查方法
電子制作(2017年8期)2017-06-05 09:36:15
看電表
集中器常見死機(jī)原因分析及解決方法探究
電子制作(2017年4期)2017-04-21 12:06:14
一種電能表磁保持繼電器拉閘方式的軟件消弧設(shè)計(jì)
再給你沖一次
伴侶(2015年9期)2015-09-09 21:22:13
三合一集中器作為臺區(qū)線損考核表計(jì)的探討
鏈表方式集中器抄表的設(shè)計(jì)
電測與儀表(2014年1期)2014-04-04 12:00:22
呼伦贝尔市| 万源市| 塔河县| 班戈县| 宜川县| 无棣县| 抚远县| 遵义县| 嵊泗县| 九龙城区| 大埔县| 奉贤区| 钟山县| 祁阳县| 九龙县| 房产| 台安县| 定远县| 台北市| 溆浦县| 巴里| 石河子市| 马公市| 昂仁县| 莒南县| 三都| 江门市| 望奎县| 济源市| 博湖县| 南乐县| 盘山县| 永州市| 都江堰市| 茌平县| 孝昌县| 广汉市| 河源市| 宿松县| 德江县| 通化县|