999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于嵌入式系統(tǒng)的心跳檢測技術(shù)研究

2016-06-02 03:09:49中國船舶重工集團公司第七一研究所朱玲羚
電子世界 2016年9期
關(guān)鍵詞:網(wǎng)絡(luò)通信嵌入式

中國船舶重工集團公司第七一○研究所 朱玲羚

?

基于嵌入式系統(tǒng)的心跳檢測技術(shù)研究

中國船舶重工集團公司第七一○研究所 朱玲羚

【摘要】介紹了一種基于嵌入式的心跳檢測系統(tǒng),主要由兩部分組成,基于ARM的Linux操作環(huán)境和Windows開發(fā)環(huán)境。該系統(tǒng)遵循TCP/UDP協(xié)議,通過在Linux和Windows環(huán)境下分別搭建服務(wù)器和客戶端,實現(xiàn)對系統(tǒng)的資源管理。該系統(tǒng)具有高可用性及較強的推廣應(yīng)用價值。

【關(guān)鍵詞】心跳檢測;嵌入式;網(wǎng)絡(luò)通信

0 引言

隨著電子信息工程及網(wǎng)絡(luò)技術(shù)的發(fā)展,遠程控制與檢測技術(shù)也隨之被運用于不同領(lǐng)域。在無法確保網(wǎng)絡(luò)的可靠性前提下,需要通過軟件的方法進行網(wǎng)絡(luò)通信狀態(tài)的檢測和判斷,心跳包機制就是在這種背景下產(chǎn)生的。心跳包機制實際就是一個自定義協(xié)議的、特定的、循環(huán)發(fā)送的數(shù)據(jù)包,主要用于判斷網(wǎng)絡(luò)節(jié)點是否還在鏈接[1]。目前這種方法已經(jīng)廣泛應(yīng)用于網(wǎng)絡(luò)通信服務(wù)、網(wǎng)絡(luò)平臺的故障檢測等相關(guān)領(lǐng)域。

在工程應(yīng)用中,心跳檢測系統(tǒng)能對集群系統(tǒng)進行管理和檢測,通過高可用性設(shè)計減少系統(tǒng)的出錯概率,并在系統(tǒng)出現(xiàn)故障時及時響應(yīng),結(jié)合具體情況設(shè)計應(yīng)急處理方案實現(xiàn)系統(tǒng)恢復(fù)或替代。以保障關(guān)鍵數(shù)據(jù)和業(yè)務(wù)系統(tǒng)的運行穩(wěn)定性和可持續(xù)訪問性。

1 工作原理

心跳檢測機制是檢測系統(tǒng)中各個節(jié)點是否正常運行的有效機制,通過心跳機制可以檢測在任一時間內(nèi)是否有節(jié)點發(fā)生故障,并確定哪些節(jié)點發(fā)生故障。當前比較流行的心跳網(wǎng)絡(luò)有兩種方式,第一種為串行心跳線方式,它采用串行心跳線,直接進行心跳包的點對點傳輸。另一種心跳網(wǎng)絡(luò)為以太網(wǎng)方式,此種方式的心跳包在以太網(wǎng)的基礎(chǔ)上進行傳輸[2]。本設(shè)計心跳包的傳輸量并不是很大,且以太網(wǎng)方式價格比較低廉,易于在實際環(huán)境中進行推廣,故采用以太網(wǎng)方式來實現(xiàn)。

具體實現(xiàn)方法為:系統(tǒng)通過心跳網(wǎng)絡(luò)進行周期性的信息發(fā)送,即節(jié)點周期性服務(wù)器發(fā)送心跳包,表明當前系統(tǒng)狀態(tài),心跳包中可包括節(jié)點名稱、節(jié)點IP、附加信息及節(jié)點傳感器采集到的數(shù)據(jù),例如溫度、濕度等。若服務(wù)器沒有在規(guī)定的時間段內(nèi)收到某個節(jié)點的心跳包,則可判斷此節(jié)點出現(xiàn)系統(tǒng)故障。客戶端可在不同地點訪問系統(tǒng)信息。

本文利用ARM的豐富資源搭建Linux系統(tǒng)。在心跳檢測實現(xiàn)過程中,主要使用基于TCP/IP協(xié)議棧Socket編程,多進程與進程間通信,多線程與線程間通信等技術(shù)。

2 系統(tǒng)設(shè)計

2.1 系統(tǒng)框圖與機制

本系統(tǒng)是基于TCP網(wǎng)絡(luò)通信模式,在這種模式下,一般有兩種架構(gòu)可供選擇:C/S和B/S架構(gòu)。由于本文選用C/S架構(gòu)的Socket服務(wù)器端,設(shè)計了單服務(wù)器-多客戶端模型。如圖1所示。

在本系統(tǒng)框圖中,服務(wù)器的主要功能如下:

1)檢測連接本服務(wù)器的節(jié)點,接收獲得的數(shù)據(jù)報文,包括該節(jié)點的類型,是Linux操作系統(tǒng)還是Windows操作系統(tǒng)或其他。

2)分析節(jié)點發(fā)來的數(shù)據(jù),包括對該報文的類型識別,解密處理和校驗處理,并顯示該節(jié)點的配置信息及附加數(shù)據(jù)。

圖1 系統(tǒng)框圖

客戶端的主要功能如下:

1)登陸訪問服務(wù)器,可在不同地點的嵌入式設(shè)備上登陸訪問,檢測服務(wù)器工作狀態(tài)。

2)獲取服務(wù)器上的節(jié)點數(shù)據(jù),了解節(jié)點設(shè)備的運行情況。

節(jié)點的主要功能如下:

1)獲取本節(jié)點的配置數(shù)據(jù)和附加數(shù)據(jù),包括本節(jié)點的主機名和IP地址、心跳包數(shù)據(jù)、傳感器數(shù)據(jù)等。

2)通過Socket向服務(wù)器IP發(fā)送本節(jié)點的數(shù)據(jù)包信息,證節(jié)點的數(shù)據(jù)傳輸安全可靠,與服務(wù)器采用相同的加解密算法和校驗算法。

2.2 服務(wù)器設(shè)計

由以上設(shè)計模式,本服務(wù)器是基于Win32環(huán)境下的MFC進行開發(fā),使用Windows提供的Socket結(jié)構(gòu)建立網(wǎng)絡(luò)通信。Socket套接字來源于Unix系統(tǒng),可以認為是一種特殊的I/O接口,還可以當作一種文件描述符,常用于進程間通信。通過Socket套接字不僅能實現(xiàn)本地計算機上進程之間的通信,使用網(wǎng)絡(luò)之后,還能夠和遠端不同計算機上的進程進行通信。

1)設(shè)計流程

首先,服務(wù)器使用Socket前需要設(shè)置Socket的配置參數(shù),這些配置參數(shù)主要包括Socket的版本和本地地址信息。成功配置好Socket參數(shù)后,服務(wù)器端即開始等待監(jiān)聽。

2)數(shù)據(jù)處理

服務(wù)器每次接收完一次數(shù)據(jù)后,需要對該數(shù)據(jù)進行分析。為了數(shù)據(jù)傳輸?shù)陌踩院屯暾裕驹O(shè)計使用嵌套數(shù)據(jù)包的方法規(guī)定數(shù)據(jù)的結(jié)構(gòu)。如圖2、圖3所示。

圖2 數(shù)據(jù)包結(jié)構(gòu)

2.3 客戶端設(shè)計

設(shè)計客戶端的目的,在于能在不同的地點訪問當前整個系統(tǒng)的信息,如各連接節(jié)點的狀態(tài),節(jié)點的報文數(shù)據(jù),服務(wù)器的運行狀態(tài)等等,這些都能通過登錄客戶端來實現(xiàn)。客戶端也可以在多種嵌入式系統(tǒng)上登陸,且可以實現(xiàn)多個IP地址同時登陸。

圖3 客戶端顯示窗口

在圖3中,登錄客戶端后,可以顯示當前連接節(jié)點的數(shù)目和狀態(tài),還包括該節(jié)點所附帶的信息。狀態(tài)包括該節(jié)點所屬IP和連接狀態(tài),點開該圖標后,表示該節(jié)點不僅有心跳報文,而且還攜帶一些附加信息。

圖4 節(jié)點信息

在節(jié)點信息中,可以包含該節(jié)點的傳感器數(shù)據(jù),如溫度、濕度等等。

2.4 節(jié)點設(shè)計

由于本設(shè)計基于嵌入式系統(tǒng),節(jié)點可以是Windows操作系統(tǒng)、Linux操作系統(tǒng)或者其他環(huán)境。雖然節(jié)點類型多樣化,但是服務(wù)器與節(jié)點之間所規(guī)定的數(shù)據(jù)個數(shù)與協(xié)議相同,只有按照完全相同的通信協(xié)議和數(shù)據(jù)格式,節(jié)點才可以成功連接至服務(wù)器,服務(wù)器才可能成功獲取節(jié)點的數(shù)據(jù)報文。

對于Windows操作系統(tǒng)節(jié)點端,與服務(wù)器一樣,通過使用Socket套接字來操作網(wǎng)口,在發(fā)送數(shù)據(jù)時按照服務(wù)器所規(guī)定的數(shù)據(jù)格式發(fā)送即可;對于Linux操作系統(tǒng)節(jié)點端,只是所操作的Socket庫有所不同,通信協(xié)議不變,只需按照服務(wù)器所規(guī)定的數(shù)據(jù)格式發(fā)送就能將本節(jié)點的數(shù)據(jù)發(fā)送至服務(wù)器;對于未來可能開發(fā)的安卓節(jié)點,iOS節(jié)點,都是基于此思想來設(shè)計的。在此,就不將各節(jié)點分別展開,只介紹其核心思想和數(shù)據(jù)包的組成結(jié)構(gòu)。

1)設(shè)計流程

首先,服務(wù)器需要使用Socket前需要設(shè)置Socket的配置參數(shù),這些配置參數(shù)主要包括Socket的版本和服務(wù)器地址信息。配置好Socket參數(shù)后,需要配置本地地址信息,地址信息包括地址家族,端口號和IP地址,這里配置的IP地址是服務(wù)器的IP地址,在發(fā)送數(shù)據(jù)前,要先與服務(wù)器連接成功,然后再發(fā)送數(shù)據(jù)。

2)數(shù)據(jù)組成

在節(jié)點中,為區(qū)別不同的節(jié)點,在節(jié)點向服務(wù)器發(fā)送數(shù)據(jù)時需要將此節(jié)點類型發(fā)送至服務(wù)器,即在數(shù)據(jù)中至少有一位定義節(jié)點類型。本設(shè)計中,該位是在節(jié)點配置信息的標識符后面的段數(shù)據(jù),在組成數(shù)據(jù)最開始時,首先要進行該段數(shù)據(jù)的類型定義,確定是加密數(shù)據(jù)段還是透明數(shù)據(jù)段。如果是透明數(shù)據(jù),則直接將數(shù)據(jù)段與包頭一起發(fā)送;如果是加密數(shù)據(jù),則需要將加密包頭與加密后的數(shù)據(jù)一起發(fā)送。

為了讓服務(wù)器知道該節(jié)點的類型和基本信息,節(jié)點的配置數(shù)據(jù)包括該節(jié)點的類型,Windows操作系統(tǒng)或Linux操作系統(tǒng)、節(jié)點主機名、節(jié)點IP地址、成功連接時間,附加數(shù)據(jù)包括該節(jié)點采集的傳感器數(shù)據(jù)等。

3 系統(tǒng)調(diào)試、測試

3.1 調(diào)試

為保證在Windows操作系統(tǒng)和Linux操作系統(tǒng)下運行的節(jié)點,在數(shù)據(jù)收發(fā)過程不會出現(xiàn)亂碼,兩端都默認不使用Unicode字符集。故在VS2010的server端中,設(shè)置如下圖5配置。

圖5 字符集設(shè)置

在處理透明和加密報文時,為判斷該報文包頭是否已正確識別,在MFC中,可以直接利用AfxMessageBox(加密報文)來打印出所要測試的點。如圖6所示。

3.2 測試

在服務(wù)器和節(jié)點都能正常工作后,接下來測試系統(tǒng)的穩(wěn)定性。首先運行服務(wù)器,啟動該服務(wù)器,開始監(jiān)聽該服務(wù)器的網(wǎng)絡(luò)端口。

登陸客戶端,可成功獲取多個節(jié)點的信息,包括節(jié)點個數(shù)、節(jié)點IP地址、連接狀態(tài)以及傳感器數(shù)據(jù)等。

圖6 調(diào)試點打印

4 結(jié)束語

本文在以ARM為核心處理器的實驗平臺上,搭建功能完善、資源豐富的嵌入式Linux操作系統(tǒng),在Linux環(huán)境下,編寫源程序和makefile,搭建客戶端。在Windows操作系統(tǒng)下,使用MFC編寫服務(wù)器與客戶端應(yīng)用程序,為保證通信高效率和安全性,使用了Socket網(wǎng)絡(luò)編程技術(shù),AES數(shù)據(jù)加密算法。滿足客戶端可在嵌入式設(shè)備上運行的條件,實現(xiàn)了通過網(wǎng)絡(luò)發(fā)送加密的心跳報文信息并在服務(wù)器上對進程的運行狀態(tài)進行遠程監(jiān)控。該心跳檢測機制增加了集群系統(tǒng)的智能化程度,可擴展到工業(yè)控制、環(huán)境檢測、軍事應(yīng)用等領(lǐng)域。

參考文獻

[1]胡志坤,何多昌,桂衛(wèi)華等.基于改進心跳包機制的整流遠程監(jiān)控系統(tǒng)[J].計算機應(yīng)用,2008,28(2)﹕363-366.

[2]王海龍.基于實時以太網(wǎng)的心跳協(xié)議[D].大連﹕大連理工大學(xué),2009.

猜你喜歡
網(wǎng)絡(luò)通信嵌入式
海上軍用網(wǎng)絡(luò)通信的安全控制技術(shù)
基于網(wǎng)絡(luò)通信的智能照明系統(tǒng)設(shè)計
電子制作(2019年15期)2019-08-27 01:11:48
TS系列紅外傳感器在嵌入式控制系統(tǒng)中的應(yīng)用
電子制作(2019年7期)2019-04-25 13:17:14
嵌入式系統(tǒng)通信技術(shù)的應(yīng)用
電子制作(2018年18期)2018-11-14 01:48:16
計算機網(wǎng)絡(luò)通信常見問題與技術(shù)發(fā)展研究
電子制作(2018年10期)2018-08-04 03:24:46
網(wǎng)絡(luò)通信中信息隱藏技術(shù)的應(yīng)用
搭建基于Qt的嵌入式開發(fā)平臺
基于網(wǎng)絡(luò)通信的校園智能音箱設(shè)計
電子制作(2018年1期)2018-04-04 01:48:30
談計算機網(wǎng)絡(luò)通信常見問題及技術(shù)發(fā)展
電子制作(2017年17期)2017-12-18 06:41:06
嵌入式軟PLC在電鍍生產(chǎn)流程控制系統(tǒng)中的應(yīng)用
主站蜘蛛池模板: 亚洲成A人V欧美综合天堂| 欧美另类图片视频无弹跳第一页| 亚洲性网站| 国产精品亚洲精品爽爽| 亚洲午夜综合网| 亚洲AV无码乱码在线观看裸奔| 久久影院一区二区h| 美女一区二区在线观看| 国产在线一区视频| 夜夜拍夜夜爽| 国产99视频精品免费视频7| 一级毛片免费不卡在线| 40岁成熟女人牲交片免费| 无码一区二区三区视频在线播放| 欧美不卡二区| 欧美国产日本高清不卡| 国产美女免费| 亚洲综合专区| 成人看片欧美一区二区| 日韩区欧美区| 99视频在线观看免费| 国产不卡国语在线| 免费人成又黄又爽的视频网站| 国产在线观看成人91| 热re99久久精品国99热| 91免费片| 国产精品99久久久久久董美香| 成人韩免费网站| 怡红院美国分院一区二区| 亚洲一欧洲中文字幕在线| 欧洲日本亚洲中文字幕| 国产一区二区三区在线精品专区| 精品91自产拍在线| 免费A级毛片无码免费视频| 国产美女91视频| 二级特黄绝大片免费视频大片| 国产午夜不卡| 在线观看国产精美视频| 国产v精品成人免费视频71pao | 久久综合丝袜日本网| 99尹人香蕉国产免费天天拍| 日韩第九页| 亚洲精品国偷自产在线91正片| 奇米精品一区二区三区在线观看| 91成人在线免费视频| 为你提供最新久久精品久久综合| 亚洲视频在线网| 伊人国产无码高清视频| 中文无码毛片又爽又刺激| 全部免费毛片免费播放 | 久久77777| 国产喷水视频| 国产69囗曝护士吞精在线视频| 沈阳少妇高潮在线| 毛片大全免费观看| 欧美日韩国产在线观看一区二区三区 | 久久久久久久久亚洲精品| 国产色网站| 久久久91人妻无码精品蜜桃HD| 国产视频久久久久| 无码网站免费观看| 在线色国产| 成人在线天堂| 久久www视频| 91久久青青草原精品国产| 亚洲不卡网| 99精品视频播放| 国产视频大全| 欧美日在线观看| 国产v精品成人免费视频71pao | 亚洲AⅤ波多系列中文字幕| 色综合色国产热无码一| 国产精品美女网站| 欧美日韩精品一区二区视频| 无码精油按摩潮喷在线播放| 国产小视频a在线观看| 性色生活片在线观看| 欧美性猛交一区二区三区| 中文无码毛片又爽又刺激| 狠狠久久综合伊人不卡| 成人精品午夜福利在线播放 | 国产黄网永久免费|