亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        面向分布式地震儀的應(yīng)用升級(jí)更新軟件設(shè)計(jì)

        2019-09-10 09:57:36李懷良牟雪嬌
        儀表技術(shù)與傳感器 2019年8期
        關(guān)鍵詞:固件消息分布式

        藺 晨,李懷良,牟雪嬌

        (西南科技大學(xué)核廢物與環(huán)境保護(hù)國(guó)防重點(diǎn)學(xué)科實(shí)驗(yàn)室,四川綿陽(yáng) 621010)

        0 引言

        分布式地震數(shù)據(jù)采集系統(tǒng)通常由各類(lèi)資源(如計(jì)算、內(nèi)存及傳輸帶寬等)受限的嵌入式節(jié)點(diǎn)系統(tǒng)構(gòu)成,需要長(zhǎng)期野外作業(yè),存在應(yīng)用維護(hù)(漏洞修復(fù))、需求更新(功能升級(jí))等實(shí)際需求[1]。但是,目前快速的應(yīng)用升級(jí)更新技術(shù)在地震儀器的應(yīng)用升級(jí)方面應(yīng)用遠(yuǎn)少于通用電子產(chǎn)品領(lǐng)域。

        目前,嵌入式節(jié)點(diǎn)系統(tǒng)的程序更新方式主要分為單節(jié)點(diǎn)下載器燒寫(xiě)和基于各類(lèi)網(wǎng)絡(luò)服務(wù)掛載的更新方法兩類(lèi)。前者主要利用外界媒質(zhì)(如紫外線、高壓電、低壓電等)、專(zhuān)用燒寫(xiě)工具和軟件[2],但是在分布式系統(tǒng)規(guī)模較大時(shí)該方法存在耗時(shí)耗力、生產(chǎn)效率低的問(wèn)題,因此人工采用下載器燒錄的方式不能滿足實(shí)際需求[3];后者主要利用宿主機(jī)和目標(biāo)機(jī)(采集站)上的各類(lèi)網(wǎng)絡(luò)服務(wù)實(shí)現(xiàn)各采集站的程序升級(jí)更新[4],如NFS、TFTP、TCP/UDP、SAMBA和SSH等,但是該方法要求操作人員具備嵌入式軟件開(kāi)發(fā)能力,僅適用于設(shè)備研發(fā)和調(diào)試階段。

        上述兩種方式均存在重復(fù)人工操作、耗時(shí)耗力等問(wèn)題,不適用于已投入生產(chǎn)的儀器,且開(kāi)發(fā)人員和用戶角色分離的實(shí)際對(duì)應(yīng)用升級(jí)方式提出更加便捷、高效的要求[1-3]。因此,本文提出一種基于UDP和FTP協(xié)議的分布式地震儀的應(yīng)用升級(jí)方法,整合了基于網(wǎng)絡(luò)方式的應(yīng)用升級(jí)步驟,開(kāi)發(fā)了一套用于固件程序更新和命令消息發(fā)送的軟件,主要分為Windows PC上的C#程序和采集站上的嵌入式Linux C應(yīng)用程序,利用各節(jié)點(diǎn)嵌入式系統(tǒng)來(lái)批量完成各類(lèi)重復(fù)操作,方便快捷、提高效率。該方法的研究與測(cè)試主要在課題組研制的復(fù)雜山地多波寬頻帶分布式地震數(shù)據(jù)采集系統(tǒng)[5]上進(jìn)行。

        1 總體方案設(shè)計(jì)

        1.1 應(yīng)用升級(jí)方法總體方案

        圖1所示為分布式地震數(shù)據(jù)采集系統(tǒng)的結(jié)構(gòu)框圖。該方法所依附的系統(tǒng)架構(gòu)如圖2所示,主要由同一局域網(wǎng)內(nèi)的若干搭載嵌入式Linux系統(tǒng)的采集站、中央服務(wù)器和用戶控制臺(tái)Windows PC機(jī)(運(yùn)行地震數(shù)據(jù)處理軟件)構(gòu)成,實(shí)現(xiàn)地震數(shù)據(jù)采集、數(shù)據(jù)回收、數(shù)據(jù)可視化以及固件在線升級(jí)[6]。而Linux PC機(jī)主要用于開(kāi)發(fā)者進(jìn)行儀器功能程序開(kāi)發(fā),提供待更新的固件程序,可通過(guò)U盤(pán)、SAMBA等網(wǎng)絡(luò)服務(wù)的方式將固件包下載到Windows PC上。

        圖1 分布式地震數(shù)據(jù)采集系統(tǒng)的結(jié)構(gòu)框圖

        圖2 在線更新方法依賴(lài)的系統(tǒng)架構(gòu)圖

        用戶控制臺(tái)負(fù)責(zé)準(zhǔn)備待更新的固件數(shù)據(jù)包,并發(fā)送相應(yīng)的更新消息、控制命令。中央服務(wù)器負(fù)責(zé)對(duì)用戶控制臺(tái)發(fā)送的固件數(shù)據(jù)包、指令消息進(jìn)行轉(zhuǎn)發(fā)。采集站對(duì)中央服務(wù)器傳來(lái)的更新消息或命令消息進(jìn)行解析,執(zhí)行相關(guān)指令。

        1.2 固件包上傳的兩級(jí)目錄機(jī)制

        固件包主要包括可執(zhí)行程序文件、采集站配置參數(shù)文件等,要求更新機(jī)制具有很強(qiáng)的可靠性。對(duì)于采集站固件更新,系統(tǒng)中采用雙目錄將固件執(zhí)行與固件存儲(chǔ)分離,若當(dāng)前升級(jí)失敗,在系統(tǒng)未損壞條件下重啟后還可回到上一穩(wěn)定版本。具體過(guò)程:首先,將固件包上傳更新目錄,再由采集站解析軟件包從更新目錄拷貝到執(zhí)行目錄。其次,需在嵌入式Linux系統(tǒng)內(nèi)核中開(kāi)啟FTP服務(wù)并設(shè)置開(kāi)機(jī)啟動(dòng)相關(guān)進(jìn)程,而Windows PC主要根據(jù)待升級(jí)節(jié)點(diǎn)IP列表建立FTP連接,初始化連接參數(shù)(FTP連接個(gè)數(shù)、被動(dòng)模式、端口等),再獲取待更新固件包的絕對(duì)路徑,將文件上傳到指定目錄。最后,在嵌入式Linux系統(tǒng)新建目錄/var/ftp/update.iso/作為固件包的存儲(chǔ)目錄,在本軟件更新操作執(zhí)行完成后,固件程序?qū)⒈淮嫒氩杉竟δ艹绦虻膱?zhí)行目錄/home/station/。這種兩級(jí)目錄更新機(jī)制,可以有效避免采集站在更新過(guò)程中由于異常(如:突然斷電)造成重啟時(shí)系統(tǒng)崩潰的問(wèn)題。

        1.3 自定義格式消息包發(fā)送

        消息包主要包括程序更新消息和命令控制消息兩類(lèi),格式簡(jiǎn)單,數(shù)據(jù)量小。因此選擇傳輸延遲小、效率高的UDP協(xié)議進(jìn)行傳輸[7],用于告知采集節(jié)點(diǎn)執(zhí)行相應(yīng)的消息命令或進(jìn)行程序升級(jí)操作。本方法自定義的消息包格式說(shuō)明如表1所示。

        表1 自定義消息包格式說(shuō)明

        注:固件更新消息內(nèi)容的前綴為固件名稱(chēng),后綴是以時(shí)間命名的版本號(hào);程序固件以課題組研發(fā)的分布式地震數(shù)據(jù)采集系統(tǒng)中的程序命名。

        2 程序升級(jí)更新軟件實(shí)現(xiàn)

        2.1 Windows PC端的固件及消息發(fā)送軟件

        本文以降低儀器設(shè)備維護(hù)難度、便于用戶使用為目標(biāo),開(kāi)發(fā)了與地震數(shù)據(jù)處理軟件共用同一主機(jī)的固件更新軟件。該軟件流程如圖3所示,主要功能是選擇采集網(wǎng)絡(luò)拓?fù)渲械娜舾刹杉?jié)點(diǎn),建立FTP連接上傳固件包、建立UDP連接發(fā)送消息命令等。

        圖3 Windows PC端C#.NET發(fā)送軟件流程圖

        本發(fā)送軟件主要采用C#在.NET框架下開(kāi)發(fā)而成。首先,Windows PC發(fā)送軟件打包固件包和消息包,通過(guò)TcpClient對(duì)象連接中央服務(wù)器IP,通過(guò)3333端口的Netty服務(wù)以StartWrite方法將固件包和消息包發(fā)送至服務(wù)器,并且最終在服務(wù)器提供的Tomcat容器中獲取分布式采集網(wǎng)絡(luò)的拓?fù)湫畔ⅰF浯?,中央服?wù)器整理數(shù)據(jù)包格式,以自定義協(xié)議格式將數(shù)據(jù)包在Netty服務(wù)下轉(zhuǎn)發(fā)至各個(gè)采集站。此外,服務(wù)器還提供了Jfinal Java Web服務(wù),用于獲取分布式地震數(shù)據(jù)網(wǎng)絡(luò)的活動(dòng)信息。最后,采集節(jié)點(diǎn)在21端口提供FTP服務(wù),用于支持?jǐn)?shù)據(jù)文件傳輸,在8000端口提供UDP服務(wù),支持接收更新消息和命令控制消息。

        2.2 Linux采集節(jié)點(diǎn)端的ANALYSIS消息解析軟件

        Linux采集節(jié)點(diǎn)端的消息解析軟件主要實(shí)現(xiàn)固件包的接收、消息包的解析功能。解析軟件主要是在Linux PC(宿主機(jī))上通過(guò)Eclipse IDE工具,借助arm-linux-交叉編譯工具鏈,采用C/C++語(yǔ)言進(jìn)行交叉編譯開(kāi)發(fā)而成,再將其下載到嵌入式Linux采集站(目標(biāo)機(jī))上運(yùn)行。

        為了使新的固件程序能夠在采集站程序更新后或系統(tǒng)重啟后自動(dòng)加載運(yùn)行,需要修改嵌入式Linux系統(tǒng)的開(kāi)機(jī)啟動(dòng)腳本文件/etc/init.d/rcS,以便重啟自動(dòng)運(yùn)行新版本程序[8]。開(kāi)機(jī)啟動(dòng)項(xiàng)設(shè)置如表2所示。

        對(duì)于固件程序,需在節(jié)點(diǎn)系統(tǒng)Linux內(nèi)核源碼包編譯成內(nèi)核映像uImage時(shí),需要在配置菜單項(xiàng)menuconfig過(guò)程中,配置“FTP protocol support->”相關(guān)服務(wù)使得節(jié)點(diǎn)系統(tǒng)支持FTP協(xié)議,并開(kāi)啟FTP相關(guān)服務(wù),使系統(tǒng)支持遠(yuǎn)程中央服務(wù)器訪問(wèn),接收服務(wù)器上傳至采集站上的固件程序包。

        表2 自開(kāi)機(jī)啟動(dòng)項(xiàng)設(shè)置說(shuō)明

        對(duì)于消息包,主要通過(guò)ANALYSIS解析軟件在8000端口接收服務(wù)器發(fā)送的UDP消息包。ANALYSIS解析軟件根據(jù)程序功能主要分為4部分:建立連接、接收消息、提取消息和執(zhí)行操作。首先,由中央服務(wù)器發(fā)來(lái)連接請(qǐng)求,通過(guò)握手機(jī)制建立連接。其次,采集站通過(guò)recvfrom()函數(shù)實(shí)現(xiàn)消息包的接收。然后,根據(jù)自定義消息格式提取“:”分隔符前的消息頭并判別類(lèi)型,若為命令消息則保存消息內(nèi)容,若為固件更新消息則去除版本信息后保存消息內(nèi)容。最后,執(zhí)行命令或更新操作,若為固件更新消息則將程序拷貝至/home/station/下,并將程序名、版本名和當(dāng)前的系統(tǒng)時(shí)間寫(xiě)入自建的更新日志/var/ftp/update.log中;若為命令消息則調(diào)用system()系統(tǒng),創(chuàng)建子進(jìn)程執(zhí)行命令。圖4所示為節(jié)點(diǎn)系統(tǒng)端指令解析軟件程序流程圖。

        圖4 節(jié)點(diǎn)系統(tǒng)端指令解析軟件程序流程圖

        3 測(cè)試與分析

        3.1 實(shí)驗(yàn)測(cè)試

        在同一局域網(wǎng)下,測(cè)試發(fā)送軟件和采集站端的解析軟件工作情況。設(shè)置2組實(shí)驗(yàn),對(duì)比2種程序升級(jí)方法的更新便捷性:A Linux PC-ARM采集站(宿主機(jī)-目標(biāo)機(jī))更新測(cè)試。B Windows PC-中央服務(wù)器-ARM采集站更新測(cè)試。各站點(diǎn)IP信息說(shuō)明如表3所示。

        表3 各測(cè)試站點(diǎn)IP信息說(shuō)明

        注:更新包以GPS為例。更新消息格式為“UpdateFirmware:GPS_20190101”。

        實(shí)驗(yàn)A:4個(gè)步驟實(shí)現(xiàn)Linux PC-ARM采集站程序升級(jí)更新。默認(rèn)事先已搭建好NFS服務(wù)、SSH服務(wù)等。

        (1)利用puTTY工具SSH遠(yuǎn)程登錄單個(gè)采集站;

        (2)在采集站控制臺(tái)輸入“mount -t nfs -o nolock 192.168.1.102:/nfs_root /mnt”,實(shí)現(xiàn)nfs目錄掛載,便于將Linux PC上的固件程序共享到采集站上/mnt目錄下;

        (3)將GPS可執(zhí)行文件從宿主機(jī)交叉編譯的工程目錄/Debug/下拷貝至NFS共享目錄/nfs_root;

        (4)在SSH遠(yuǎn)程終端上將共享至/mnt目錄下的GPS可執(zhí)行文件拷貝至執(zhí)行目錄/home/station/,修改權(quán)限“chmod 777 /home/station/GPS”后重啟系統(tǒng),更新程序固件成功;

        (5)重復(fù)(1)至(4)步實(shí)現(xiàn)A、B、C 3個(gè)采集站程序升級(jí)更新,共計(jì)12個(gè)步驟。采集站端命令行更新程序操作如圖5所示。

        圖5 采集站A端命令行更新程序操作

        實(shí)驗(yàn)B:三步實(shí)現(xiàn)Windows PC-中央服務(wù)器-ARM采集站的程序升級(jí)更新。默認(rèn)事先已搭建好SAMBA服務(wù)、FTP服務(wù)等,且默認(rèn)已配置好表2所示的各種開(kāi)機(jī)啟動(dòng)項(xiàng)。更新軟件拓?fù)浍@取界面及消息發(fā)送界面如圖6所示。

        (1)Windows PC機(jī)通過(guò)Samba服務(wù)將GPS可執(zhí)行文件從Linux PC下載至本地;

        (2)通過(guò)服務(wù)器的Tomcat容器獲取在線采集站A、B、C的拓?fù)浣Y(jié)構(gòu),檢查在線站點(diǎn);

        (3)選中所有待更新的采集站,一次性上傳GPS更新包,發(fā)送更新消息“UpdateFirmware:GPS_20190101”,輸出反饋消息。

        (4)測(cè)試命令行控制功能,結(jié)果如圖7所示。測(cè)試將采集站A的home目錄所有文件備份到新建/backup備份目錄中。

        圖6 更新軟件拓?fù)浍@取界面及消息發(fā)送界面

        圖7 更新軟件命令行控制接口功能界面

        3.2 對(duì)比分析

        為了直觀分析兩類(lèi)更新方式的特點(diǎn),作表4所示的兩類(lèi)應(yīng)用升級(jí)方式各項(xiàng)參數(shù)對(duì)比情況表。隨著分布式系統(tǒng)的規(guī)模增大,基于網(wǎng)絡(luò)掛載的應(yīng)用升級(jí)方式,拖慢工作進(jìn)度,降低地震勘探儀器的作業(yè)效率。而本文實(shí)現(xiàn)的在線更新軟件進(jìn)行程序升級(jí)僅需3步操作,用戶點(diǎn)擊待上傳的固件文件,發(fā)送軟件按固定格式打包,并發(fā)送固件更新消息,隨后等待采集站端的反饋即可。

        表4 兩類(lèi)應(yīng)用升級(jí)方式各類(lèi)參數(shù)對(duì)比情況

        4 結(jié)束語(yǔ)

        本文介紹了一種分布式地震儀的應(yīng)用升級(jí)方法及其軟件實(shí)現(xiàn)過(guò)程,并對(duì)發(fā)送軟件和解析軟件進(jìn)行測(cè)試,分析了基于網(wǎng)絡(luò)掛載的程序更新方式與本方法對(duì)應(yīng)的軟件批量更新程序的方式各自的適用情況。由此得到結(jié)論,傳統(tǒng)方式由于交叉編譯的程序開(kāi)發(fā)方式,步驟繁多,對(duì)操作人員有很高的要求,僅適用于儀器開(kāi)發(fā)和調(diào)試階段。在儀器投入生產(chǎn)使用后,本軟件操作簡(jiǎn)單,能夠有效地實(shí)現(xiàn)程序批量升級(jí),顯著減少重復(fù)燒寫(xiě)、下載等操作,提高生產(chǎn)效率。此外,發(fā)送軟件在用戶控制臺(tái)的Windows系統(tǒng)下采用C#開(kāi)發(fā)與地震數(shù)據(jù)處理軟件共用一臺(tái)主機(jī),能夠方便用戶批量更新儀器程序、配置文件等,無(wú)需開(kāi)發(fā)者去現(xiàn)場(chǎng)維護(hù),從而提高程序版本升級(jí)的效率,降低用戶使用過(guò)程中儀器的維護(hù)難度。

        猜你喜歡
        固件消息分布式
        一張圖看5G消息
        分布式光伏熱錢(qián)洶涌
        能源(2017年10期)2017-12-20 05:54:07
        分布式光伏:爆發(fā)還是徘徊
        能源(2017年5期)2017-07-06 09:25:54
        基于固件的遠(yuǎn)程身份認(rèn)證
        基于DDS的分布式三維協(xié)同仿真研究
        提取ROM固件中的APP
        消息
        消息
        消息
        一種通過(guò)USB接口的可靠固件升級(jí)技術(shù)
        亚洲男人的天堂精品一区二区| 精品久久久久久久无码人妻热| 激情航班h版在线观看| 亚洲熟妇20| 亚洲免费无毛av一区二区三区| 国产av丝袜熟女丰满一区二区| 麻豆蜜桃av蜜臀av色欲av| 永久免费不卡在线观看黄网站| 人妻少妇人人丰满视频网站| 亚洲精品不卡av在线免费 | 又紧又大又爽精品一区二区| 永久免费av无码网站性色av| 宅宅午夜无码一区二区三区| 色婷婷亚洲一区二区三区在线| 99在线精品免费视频| 国产精自产拍久久久久久蜜| 国内视频一区| 久久国产亚洲精品一区二区三区| 97人伦色伦成人免费视频| 四虎永久在线精品免费一区二区 | 蜜桃网站免费在线观看视频| 国产激情综合在线观看| 亚洲日韩乱码中文无码蜜桃臀 | 美腿丝袜av在线播放| 一本久道竹内纱里奈中文字幕| 啦啦啦www播放日本观看| 精品国产免费Av无码久久久| 精品国产一区二区av麻豆不卡| 久久精品中文字幕| 猫咪免费人成网站在线观看| 欧美巨大xxxx做受中文字幕| 日本一二三四区在线观看| 色窝窝亚洲av网在线观看| 丰满人妻一区二区三区视频53| 福利网址在线观看| 亚洲无码中文字幕日韩无码| 一区二区在线观看日本视频| 亚洲精品国产美女久久久| 性导航app精品视频| 偷拍熟女露出喷水在线91| 成人试看120秒体验区|