• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      Linux系統(tǒng)下遠(yuǎn)方電能量數(shù)據(jù)終端配置文件備份及還原①

      2021-06-28 06:27:48蔣世挺陳思有
      關(guān)鍵詞:備份文件配置文件腳本

      蔣世挺,陳思有,胡 建

      (浙江華云信息科技有限公司,杭州 310012)

      隨著科技的發(fā)展,電力系統(tǒng)中智能設(shè)備的應(yīng)用也變得越來越多,特別是在電力自動(dòng)化控制和數(shù)據(jù)采集通信方面.遠(yuǎn)方電能量數(shù)據(jù)終端[1,2]是電力市場(chǎng)技術(shù)支持系統(tǒng)電量計(jì)量模塊中的廠站端部分.具有對(duì)電能量(電能累計(jì)量)采集、數(shù)據(jù)處理、分時(shí)存貯、長(zhǎng)時(shí)間保存、遠(yuǎn)方傳輸?shù)裙δ艿脑O(shè)備.它與電能量計(jì)費(fèi)主站構(gòu)成電能量計(jì)費(fèi)系統(tǒng)運(yùn)用于各級(jí)調(diào)度結(jié)算中心對(duì)遠(yuǎn)方電量信息的采集和處理.作為系統(tǒng)中數(shù)據(jù)采集和上送的關(guān)鍵一環(huán),其硬件平臺(tái)性能也得到了很大的提升,普遍采用基于嵌入式的Linux 操作系統(tǒng)[3,4],其在變電站和電廠的運(yùn)行數(shù)量也變得越來越多.在運(yùn)行維護(hù)的過程中,因?yàn)槊總€(gè)變電站和電廠的運(yùn)行環(huán)境不同,導(dǎo)致每個(gè)設(shè)備運(yùn)行的參數(shù)配置文件[2]也是各種各樣,而一旦裝置發(fā)生故障,后臺(tái)維護(hù)工具無法連接上運(yùn)行設(shè)備,就需要更換主板或重新升級(jí)初始化程序,這時(shí)候就需要重新配置系統(tǒng)運(yùn)行參數(shù)文件,一般情況下,要么是工程人員從頭開始重新配置,要么就是聯(lián)系以前配置的人員或向公司詢問是否有這個(gè)廠站的配置文件備份.無論是哪種方法,都會(huì)浪費(fèi)許多時(shí)間,也不能保證其他人手上的備份文件就一定是最新的參數(shù)配置文件,從而導(dǎo)致二次調(diào)試的工作量發(fā)生,提高了運(yùn)維成本.

      本文介紹了在遠(yuǎn)方電能量數(shù)據(jù)終端中利用Linux系統(tǒng)下的腳本程序和外接存儲(chǔ)器,如何簡(jiǎn)單快捷的實(shí)現(xiàn)終端配置文件自動(dòng)備份與還原的方法,此技術(shù)方案的實(shí)施可以節(jié)省現(xiàn)場(chǎng)工程運(yùn)維工作量,提升整個(gè)工程應(yīng)用的管理水平.

      1 總體思路

      遠(yuǎn)方電能量數(shù)據(jù)終端采用Linux 操作系統(tǒng),同時(shí)硬件上設(shè)計(jì)外接存儲(chǔ)器接口,裝置運(yùn)行時(shí)插上外接存儲(chǔ)器,無論裝置是初始化參數(shù)配置還是運(yùn)行時(shí)修改參數(shù)配置,系統(tǒng)都會(huì)把有變動(dòng)的配置文件自動(dòng)備份到外接存儲(chǔ)器上,如果終端在運(yùn)行過程中發(fā)生故障,后續(xù)的故障恢復(fù)更換終端時(shí),只要把故障終端的外部存儲(chǔ)器拔下,替換到新的終端上,新終端就可以自動(dòng)運(yùn)行,不需要重新配置運(yùn)行參數(shù).

      上述過程的實(shí)現(xiàn),除了遠(yuǎn)方電能量數(shù)據(jù)終端采用Linux 操作系統(tǒng)和外接存儲(chǔ)器外,配置文件的備份和還原還需要編寫相應(yīng)的功能軟件來處理,為了功能軟件簡(jiǎn)單便捷,這個(gè)配置文件的備份和還原過程可以采用腳本程序[5]來完成.因?yàn)槟_本程序無需編譯,就可以在Linux 系統(tǒng)下運(yùn)行,所以腳本程序后期的編輯修改和部署都非常容易.工程運(yùn)維人員可以在研發(fā)人員的指導(dǎo)下,用文本編譯器就能完成腳本程序的修改和功能擴(kuò)充.

      功能軟件總體上可以考慮用腳本語言編寫兩個(gè)腳本文件,分別命名為“腳本一”和“腳本二”,“腳本一”解決系統(tǒng)啟動(dòng)后,是否根據(jù)策略把外接存儲(chǔ)器里的備份文件同步到配置文件目錄的問題,“腳本二”解決系統(tǒng)運(yùn)行過程中配置參數(shù)改變后,是否把最新配置文件重新備份到外部存儲(chǔ)器的問題.然后在系統(tǒng)啟動(dòng)項(xiàng)里添加執(zhí)行兩個(gè)腳本的命令,這樣等系統(tǒng)啟動(dòng)后就自動(dòng)實(shí)現(xiàn)了遠(yuǎn)方電能量數(shù)據(jù)終端與外接存儲(chǔ)器之間配置文件的自動(dòng)更新以及重備份,保證了系統(tǒng)運(yùn)行和后期運(yùn)維過程中運(yùn)行參數(shù)的持續(xù)一致性.

      2 具體實(shí)現(xiàn)

      從總體思路可以看出,遠(yuǎn)方電能量數(shù)據(jù)終端上要實(shí)現(xiàn)配置文件的自動(dòng)備份和還原功能,主要有3 部分工作,一是終端硬件平臺(tái)的選擇,需要能方便的支持外部存儲(chǔ)器的擴(kuò)展設(shè)計(jì).二是為終端定制合適的Linux操作系統(tǒng).三是設(shè)計(jì)編寫腳本程序.

      2.1 硬件平臺(tái)的選擇

      近年來,隨著國(guó)家電網(wǎng)“三型兩網(wǎng)”戰(zhàn)略的提出,電力系統(tǒng)中很多數(shù)據(jù)感知層和傳輸層的智能終端性能都有了很好的提升,ARM 芯片因?yàn)楦咝阅堋⒌凸牡膬?yōu)點(diǎn),已經(jīng)被廣泛應(yīng)用于電力系統(tǒng)的各類終端平臺(tái)上.

      ARM-Cortex-A9[5]處理器能與其他Cortex 系列處理器技術(shù)兼容,因此能夠很好延用包括操作系統(tǒng)/實(shí)時(shí)操作系統(tǒng)(OS/RTOS)、中間件及應(yīng)用在內(nèi)的豐富生態(tài)系統(tǒng),從而減少采用全新處理器所需的成本.通過首次利用關(guān)鍵微體系架構(gòu)方面的改進(jìn),Cortex-A9 處理器提供了具有高擴(kuò)展性和高功耗效率的解決方案.本文實(shí)例遠(yuǎn)方電能量數(shù)據(jù)終端就是采用基于Cortex-A9 簡(jiǎn)單雙核的飛思卡爾處理器作為硬件平臺(tái)的核心.

      SD[5]卡是一種基于半導(dǎo)體快閃記憶器的新一代記憶設(shè)備,由于它體積小、數(shù)據(jù)傳輸速度快、可熱插拔等優(yōu)良的特性,被廣泛地應(yīng)用于便攜式設(shè)備.因?yàn)榛贏RM-Cortex-A9 芯片硬件平臺(tái)能很好的支持SD 卡擴(kuò)展,所以遠(yuǎn)方電能量數(shù)據(jù)終端的外接存儲(chǔ)器就采用SD卡來實(shí)現(xiàn).

      遠(yuǎn)方電能量數(shù)據(jù)終端的硬件除了上述的核心板和外接存儲(chǔ)器外,當(dāng)然還有包括電源、存儲(chǔ)、顯示、通信等其它模塊,因?yàn)楸疚闹饕墙榻B智能終端配置文件的自動(dòng)備份和還原方法,所以遠(yuǎn)方電能量數(shù)據(jù)終端其它硬件組成不作詳述.

      2.2 操作系統(tǒng)定制與SD 卡掛載

      適用于嵌入式終端平臺(tái)的Linux 操作系統(tǒng)可以根據(jù)終端硬件平臺(tái)的特性進(jìn)行適當(dāng)?shù)牟眉粜薷?使之能在嵌入式計(jì)算機(jī)系統(tǒng)下穩(wěn)定運(yùn)行.其特點(diǎn)是版權(quán)免費(fèi),而且性能優(yōu)異,軟件移植容易,有許多公開的代碼可以參考和移植,實(shí)時(shí)性能穩(wěn)定、安全性好.

      如圖1所示,Linux 操作系統(tǒng)要能在硬件平臺(tái)上順利啟動(dòng)運(yùn)行,主要做到以下兩點(diǎn)工作,一是需要制作UBoot 引導(dǎo)程序,二是需要定制Kernel (內(nèi)核)、文件系統(tǒng).做到這兩點(diǎn)后,操作系統(tǒng)才能夠正常啟動(dòng),應(yīng)用程序和服務(wù)才能在操作系統(tǒng)上順利運(yùn)行.

      圖1 Linux 操作系統(tǒng)架構(gòu)圖

      一般采用飛思卡爾芯片的核心板[6],核心板廠家會(huì)提供u-boot zImage rootfs 三個(gè)已經(jīng)制作好的文件,只要按要求把幾個(gè)文件燒寫到核心板上,Linux 操作系統(tǒng)就能夠順利啟動(dòng).如果需要自己動(dòng)手來制作這幾個(gè)文件,也可以到飛思卡爾的官網(wǎng)上下載符合自己開發(fā)板的相關(guān)源碼,然后在PC 機(jī)上的Linux 開發(fā)環(huán)境下利用ARM 的交叉編譯器編譯生成,當(dāng)然實(shí)際開發(fā)中還會(huì)有一些根據(jù)自己板卡特點(diǎn)修改源碼配置的工作,都可以參考飛思卡爾官方手冊(cè).

      本文實(shí)例遠(yuǎn)方電能量數(shù)據(jù)終端,其采用的Linux操作系統(tǒng)的內(nèi)核版本為Kernel3.14.18,系統(tǒng)主分區(qū)文件系統(tǒng)類型為EXT4,外接存儲(chǔ)器SD 卡因?yàn)榭刹灏翁匦?為了和PC 機(jī)交互方便,分區(qū)文件系統(tǒng)類型采用FAT32.在嵌入式Linux 系統(tǒng)內(nèi)核中因?yàn)橐呀?jīng)選擇了對(duì)SD 卡支持的相關(guān)驅(qū)動(dòng),所以系統(tǒng)啟動(dòng)后就能自動(dòng)識(shí)別到SD 卡.

      要讓應(yīng)用程序可以對(duì)SD 卡進(jìn)行讀寫操作,接下來還需要掛載SD 卡.通過調(diào)試終端用ls 命令帶上參數(shù)(/dev)查看文件系統(tǒng)設(shè)備目錄,就能看到SD 卡的設(shè)備文件名為mmcblk2p1,如何無法確認(rèn)這個(gè)文件名就是SD 卡,也可以用分區(qū)表查看命令fdisk 帶上參數(shù)(-l)查看分區(qū)表信息,我們得到結(jié)果如圖2所示.也再次印證了SD 卡的文件名為mmcblk2p1.然后在文件系統(tǒng)里用mkdir 命令創(chuàng)建一個(gè)備份文件目錄/mnt/dst,再在系統(tǒng)啟動(dòng)腳本/etc/rc.local 里添加mount 命令帶參數(shù)(-t vfat /dev/mmcblk2p1 /mnt/dst)把SD 卡掛載到備份文件目錄,這樣每次系統(tǒng)啟動(dòng)就會(huì)自動(dòng)掛載SD 卡到備份文件目錄了,應(yīng)用程序也就可以對(duì)SD 卡進(jìn)行讀寫操作.

      圖2 SD 卡分區(qū)信息

      2.3 腳本程序設(shè)計(jì)實(shí)現(xiàn)

      因?yàn)檫h(yuǎn)方電能量數(shù)據(jù)終端采用了Linux 操作系統(tǒng),終端中配置文件自動(dòng)備份和還原的軟件功能,可以選用Shell 命令腳本程序來實(shí)現(xiàn)[7,8].Shell是一門編程語言,即Shell 腳本,Shell是解釋執(zhí)行的腳本語言,可直接調(diào)用Linux 命令.選用Shell 來實(shí)現(xiàn)腳本程序,是因?yàn)橛幸韵聨讉€(gè)優(yōu)點(diǎn):

      (1) Shell 的語法和結(jié)構(gòu)比較簡(jiǎn)單,易于掌握;

      (2) 學(xué)習(xí)和使用也比較方便,上手比較容易;

      (3) 常用命令也比較好記,不清楚的情況下,可以通過在Linux 系統(tǒng)下man 命令迅速找到相關(guān)的說明;

      (4) Shell是解釋型語言,運(yùn)行之前不需要編譯.

      在Shell 腳本程序的設(shè)計(jì)過程中,判斷文件之間是否相同,會(huì)用到MD5 碼,MD5 碼是一種被廣泛使用的密碼散列函數(shù)產(chǎn)生出來的一個(gè)128 位的散列值,用于確保信息傳輸完整一致.Linux 系統(tǒng)里有特有的命令md5sum 來計(jì)算每個(gè)文件的MD5 碼,文件內(nèi)容不同所產(chǎn)生的MD5 碼就不同.

      明確了腳本程序的開發(fā)語言和所要用到的關(guān)鍵技術(shù)后,接下來就可以設(shè)計(jì)兩個(gè)腳本程序的實(shí)現(xiàn)流程,如圖3所示,“腳本一”啟動(dòng)后會(huì)先檢測(cè)SD 卡內(nèi)是否有備份配置文件,如果沒有,就直接結(jié)束程序.如果有備份配置文件,就判斷這個(gè)備份配置文件與應(yīng)用程序配置文件的MD5 碼是否相同,如果不相同,則將SD 內(nèi)的備份配置文件拷貝到應(yīng)用程序配置文件目錄進(jìn)行更新替換,如果相同,就不作處理.

      圖3 兩個(gè)腳本程序的實(shí)現(xiàn)流程

      同樣,“腳本二”啟動(dòng)后也會(huì)先檢測(cè)SD 內(nèi)是否有備份配置文件,如果沒有,就會(huì)拷貝終端的配置文件到SD 卡備份,然后檢測(cè)終端的應(yīng)用程序是否退出來判斷結(jié)束自身運(yùn)行還是再循環(huán).另外,如果檢測(cè)到SD 卡里有備份文件,就判斷這個(gè)備份配置文件與應(yīng)用程序配置文件的MD5 碼是否相同,如果不相同,就將應(yīng)用程序的配置文件拷貝到外接存儲(chǔ)設(shè)備內(nèi)進(jìn)行備份更新,如果相同,就檢測(cè)終端的應(yīng)用程序是否退出來判斷結(jié)束自身運(yùn)行還是再循環(huán).

      明確了腳本程序的流程,最后就是腳本程度的具體實(shí)現(xiàn),“腳本一”主要功能是把外接存儲(chǔ)器里的備份文件同步到配置文件目錄,其代碼如下:

      “腳本二”主要功能是把最新配置文件重新備份到外部存儲(chǔ)器,其代碼如下:

      3 結(jié)論與展望

      在Linux 操作系統(tǒng)下,借助外部存儲(chǔ)器來實(shí)現(xiàn)遠(yuǎn)方電能量數(shù)據(jù)終端配置文件的自動(dòng)備份和還原,是一種提高設(shè)備運(yùn)維效率的可行辦法,特別是采用Shell 命令腳本程序,無需編譯器編譯就可以在Linux 操作系統(tǒng)下運(yùn)行,為后期腳本程序的部署和推廣都打下了很好的基礎(chǔ).目前應(yīng)用了此項(xiàng)技術(shù)的遠(yuǎn)方電能量數(shù)據(jù)終端已經(jīng)在浙江和華東地區(qū)的廠站內(nèi)試點(diǎn)運(yùn)行,在工程實(shí)施和調(diào)試階段都取得了良好的效果,隨著電力系統(tǒng)中使用Linux 操作系統(tǒng)的智能終端越來越多,應(yīng)用場(chǎng)景越來越廣,此項(xiàng)終端配置文件的自動(dòng)備份和還原技術(shù)應(yīng)該會(huì)有很好的推廣價(jià)值.

      猜你喜歡
      備份文件配置文件腳本
      酒駕
      提示用戶配置文件錯(cuò)誤 這樣解決
      文件智能備份好助手
      安奇奇與小cool 龍(第二回)
      繼電保護(hù)裝置意外掉電的保護(hù)措施研究
      搭建簡(jiǎn)單的Kubernetes集群
      互不干涉混用Chromium Edge
      iPhone備份文件加密模式及安全性研究
      忘記ESXi主機(jī)root密碼怎么辦
      數(shù)據(jù)庫系統(tǒng)shell腳本應(yīng)用
      涟源市| 静宁县| 青田县| 顺昌县| 中阳县| 邯郸市| 岑溪市| 南康市| 嘉峪关市| 阜新市| 峨山| 五原县| 清流县| 临城县| 惠州市| 富宁县| 昌江| 赤水市| 平远县| 台南县| 同江市| 红河县| 灵璧县| 永济市| 资源县| 高雄县| 浦江县| 拉孜县| 吉安县| 遂宁市| 密山市| 巴青县| 浙江省| 星子县| 铜川市| 衡阳市| 克东县| 大港区| 桐城市| 巨野县| 朔州市|