• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于嵌入式Linux的用電信息采集終端存儲數(shù)據(jù)的方法

    2016-07-25 07:59:37孫明剛積成電子股份有限公司山東濟(jì)南250100
    中國新技術(shù)新產(chǎn)品 2016年12期
    關(guān)鍵詞:用電信息

    孫明剛(積成電子股份有限公司,山東 濟(jì)南 250100)

    ?

    基于嵌入式Linux的用電信息采集終端存儲數(shù)據(jù)的方法

    孫明剛
    (積成電子股份有限公司,山東濟(jì)南250100)

    摘要:本發(fā)明公開一種基于嵌入式Linux的用電信息采集終端使用內(nèi)存映射文件存儲數(shù)據(jù)的方法,通過內(nèi)存映射函數(shù)mmap(Linux系統(tǒng)調(diào)用)將所需讀寫的數(shù)據(jù)映射到用戶進(jìn)程空間,以讀寫內(nèi)存的形式訪問存儲數(shù)據(jù)具有可將數(shù)據(jù)固化存儲、掉電不丟、讀寫方便、性能優(yōu)越和節(jié)約成本等優(yōu)勢。

    關(guān)鍵詞:嵌入式Linux;用電信息;終端存儲

    一、技術(shù)領(lǐng)域

    本發(fā)明涉及智能電網(wǎng)用電信息采集系統(tǒng)領(lǐng)域,具體涉及基于嵌入式Linux用電信息采集終端存儲數(shù)據(jù)的方法。

    二、背景技術(shù)

    電力用戶用電信息采集系統(tǒng)(power userelectricenergydataacquiresystem)是對電力用戶的用電信息進(jìn)行采集、處理和實(shí)時監(jiān)控的系統(tǒng),實(shí)現(xiàn)用電信息的自動采集、計(jì)量異常監(jiān)測、電能質(zhì)量監(jiān)測、用電分析和管理、相關(guān)信息發(fā)布、分布式能源監(jiān)控、智能用電設(shè)備的信息交互等功能。

    用電信息采集終端(electricenergy dataacquireterminal)是對各信息采集點(diǎn)用電信息采集的設(shè)備,簡稱采集終端??梢詫?shí)現(xiàn)電能表數(shù)據(jù)的采集、數(shù)據(jù)管理、數(shù)據(jù)雙向傳輸以及轉(zhuǎn)發(fā)或執(zhí)行控制命令的設(shè)備。用電信息采集終端按應(yīng)用場所分為專變采集終端、集中抄表終端(包括集中器、采集器)、分布式能源監(jiān)控終端等類型。

    采集終端因功能要求在運(yùn)行過程中會對部分?jǐn)?shù)據(jù)進(jìn)行頻繁讀寫體現(xiàn)在以下幾個方面:采集終端在每輪次抄表結(jié)束后會對采集結(jié)果進(jìn)行統(tǒng)計(jì)、計(jì)算并存儲,采集終端會每分鐘對各采集點(diǎn)進(jìn)行數(shù)據(jù)統(tǒng)計(jì)、計(jì)算并存儲,采集終端會每秒種讀取自身計(jì)量芯片數(shù)據(jù)計(jì)算、累加并存儲,采集終端會實(shí)時讀取脈沖表狀態(tài)并累加、存儲。

    三、關(guān)于存儲、讀寫此類數(shù)據(jù)的方案

    (一)存文件,將所使用的數(shù)據(jù)先緩沖在內(nèi)存中然后讀寫完成后存入文件。數(shù)據(jù)存入文件可避免系統(tǒng)停電帶來的數(shù)據(jù)丟失問題,但讀寫文件操作較為繁瑣、不能以操作字節(jié)的形式訪問數(shù)據(jù)使用不便,且頻繁地讀寫文件性能有限特別體現(xiàn)在大型文件的重復(fù)、隨機(jī)讀寫上。

    (二)增加硬件SRAM(掉電不丟內(nèi)存),可以以操作字節(jié)的形式訪問數(shù)據(jù),但需額外供電,采集終端的板載鋰電池一般設(shè)計(jì)壽命為5年,即使是壽命未到也存在電池自放電、批量質(zhì)量問題造成SRAM供電電池失效導(dǎo)致數(shù)據(jù)丟失,且使硬件意外地增加成本。

    (三)編程到Flash,可以實(shí)現(xiàn)固化存儲不需額外供電,掉電后數(shù)據(jù)不丟失,但Flash編程需專用驅(qū)動且需先擦除再寫入,不能以操作字節(jié)的形式讀寫,還需考慮Flash的損耗均衡以保證其讀寫壽命。

    四、發(fā)明內(nèi)容

    針對上述問題,本發(fā)明提供一種可將數(shù)據(jù)固化存儲、掉電不丟、讀寫方便、性能優(yōu)越的基于嵌入式Linux的用電信息采集終端存儲數(shù)據(jù)的方法。

    為解決上述問題,本發(fā)明采取的技術(shù)方案為:基于嵌入式Linux的用電信息采集終端存儲數(shù)據(jù)的方法,包括如下步驟:

    (一)確定所需存儲的數(shù)據(jù)以及數(shù)據(jù)長度,在進(jìn)程地址空間中定義內(nèi)存映射區(qū)的基地址,并定義用于存儲各數(shù)據(jù)的地址與基地址的相對偏移;比如需存儲1M的數(shù)據(jù)這些數(shù)據(jù)分別為數(shù)據(jù)1、數(shù)據(jù)2、數(shù)據(jù)3.....數(shù)據(jù)256,每個占用4個字節(jié),如果內(nèi)存映射區(qū)基地址為0xffff0000,則存儲這些數(shù)據(jù)的地址分別為數(shù)據(jù)1->0xffff0000,數(shù)據(jù)2->0xffff0004,數(shù)據(jù)3->0xffff0008......,則可如下定義:[0013]數(shù)據(jù)1:(基地址+0);[0014]數(shù)據(jù)2:(基地址+4);[0015]數(shù)據(jù)3:(基地址+8);.....定義這些偏移是為了方便讀寫各數(shù)據(jù)。

    (二)根據(jù)步驟一中所需存儲數(shù)據(jù)的長度檢測待內(nèi)存映射文件的合法性,若文件合法則進(jìn)入步驟三;若不合法則根據(jù)所需存儲數(shù)據(jù)長度創(chuàng)建文件并將文件內(nèi)容填充為零值再進(jìn)入步驟三。

    (三)調(diào)用內(nèi)存映射函數(shù)mmap,建立與步驟二中的待內(nèi)存映射文件的映射,將內(nèi)存映射函數(shù)mmap返回地址賦予步驟一中定義的基地址。

    (四)使用步驟一中定義的內(nèi)存映射區(qū)的基地址以及其他數(shù)據(jù)的相對偏移地址讀寫所需存儲數(shù)據(jù)。

    內(nèi)存映射文件利用虛擬內(nèi)存把文件映射到進(jìn)程的地址空間中去,在此之后進(jìn)程操作文件,就像操作進(jìn)程空間里的地址一樣,比如使用memcpy等內(nèi)存操作的函數(shù)。這種方法能夠很好地應(yīng)用在需要頻繁處理一個文件或者是一個大文件的場合,這種方式處理IO效率比普通IO效率要高。Linux提供了內(nèi)存映射函數(shù)mmap,調(diào)用時指明待映射文件以及文件長度即可返回映射內(nèi)存首地址,它把文件內(nèi)容映射到一段內(nèi)存上。通過對這段內(nèi)存的讀取和修改,實(shí)現(xiàn)對文件的讀取和修改。

    根據(jù)所需存儲數(shù)據(jù)長度確定所需映射內(nèi)存的長度,同時也決定了待內(nèi)存映射文件的大小。所述步驟二中檢測待內(nèi)存映射文件合法性的條件還包括文件的起始字節(jié)及文件的結(jié)束字節(jié)。

    本發(fā)明公開一種基于嵌入式Linux的用電信息采集終端使用內(nèi)存映射文件存儲數(shù)據(jù)的方法,通過內(nèi)存映射函數(shù)mmap (Linux系統(tǒng)調(diào)用)將所需讀寫的數(shù)據(jù)映射到用戶進(jìn)程空間,以讀寫內(nèi)存的形式訪問存儲數(shù)據(jù)具有可將數(shù)據(jù)固化存儲、掉電不丟、讀寫方便、性能優(yōu)越、節(jié)約成本等優(yōu)勢。

    五、本發(fā)明具備的有益效果

    (一)無需增加硬件節(jié)約成本,并增加可靠性;

    (二)數(shù)據(jù)讀寫可以以操作內(nèi)存的形式進(jìn)行;

    (三)實(shí)現(xiàn)固化存儲,系統(tǒng)掉電后無需電池供電以保存數(shù)據(jù);

    (四)無需考慮存儲器件的磨損均衡;

    (五)無需考慮存儲器件的讀寫次數(shù);

    (六)無需專用存儲器件的讀寫驅(qū)動程序、可移植性高。

    內(nèi)存映射文件性能優(yōu)勢:正常的系統(tǒng)IO讀寫需要兩次傳輸一次是在文件和內(nèi)核高速緩沖區(qū)之間,另一次在高速緩沖區(qū)和用戶空間緩沖區(qū)之間。使用內(nèi)存映射函數(shù)mmap就無需第二次傳輸了,對于輸入來講,一旦內(nèi)核將相應(yīng)的文件塊映射進(jìn)內(nèi)存之后用戶進(jìn)程就能夠使用這些數(shù)據(jù)了。對于輸出來講,用戶進(jìn)程僅僅需要修改內(nèi)存中的內(nèi)容,然后可以依靠內(nèi)核管理器來自動更新底層的文件。除了節(jié)省了內(nèi)核空間和用戶空間之間的一次傳輸之后,內(nèi)存映射函數(shù)mmap還能夠通過減少所需使用的內(nèi)存來提升性能。

    圖1

    圖2

    附圖說明:

    圖1為本發(fā)明的流程圖,圖2為本發(fā)明的原理示意圖。

    參考文獻(xiàn)

    [1]張鐘玲.用電信息采集系統(tǒng)功能及技術(shù)應(yīng)用[J].科技創(chuàng)新導(dǎo)報,2013(31):47-48.

    中圖分類號:TM73

    文獻(xiàn)標(biāo)識碼:A

    猜你喜歡
    用電信息
    用電信息采集系統(tǒng)的線損管理淺析
    電力用戶用電信息采集系統(tǒng)及應(yīng)用淺探
    用電信息采集系統(tǒng)維護(hù)的思考
    用電信息采集系統(tǒng)的計(jì)量裝置在線監(jiān)測分析
    基于TD-LTE230系統(tǒng)電力單表用戶用電信息采集到應(yīng)用
    中國新通信(2017年6期)2017-05-02 14:09:00
    用電信息采集在抄核收中的應(yīng)用及效果分析
    研究用電信息采集系統(tǒng)深化的應(yīng)用
    電力用戶用電信息采集系統(tǒng)及應(yīng)用
    電能信息采集技術(shù)在電力系統(tǒng)中的合理應(yīng)用
    低壓電力線載波技術(shù)在用電信息采集系統(tǒng)建設(shè)中的應(yīng)用
    永德县| 鄂托克旗| 牡丹江市| 葵青区| 珠海市| 丰原市| 金塔县| 莲花县| 秦安县| 惠州市| 沙田区| 关岭| 扎赉特旗| 谷城县| 长顺县| 甘肃省| 迁西县| 沂水县| 九龙县| 陇南市| 富顺县| 安塞县| 罗平县| 马边| 察哈| 三原县| 稷山县| 灯塔市| 石棉县| 吕梁市| 定南县| 射阳县| 汾阳市| 蓬安县| 石首市| 如东县| 汪清县| 贺州市| 易门县| 饶河县| 大城县|