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

?

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

2016-07-25 07:59孫明剛積成電子股份有限公司山東濟(jì)南250100
關(guān)鍵詞:用電信息

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

?

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

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

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

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

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

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

二、背景技術(shù)

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

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

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

三、關(guān)于存儲(chǔ)、讀寫此類數(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)固化存儲(chǔ)不需額外供電,掉電后數(shù)據(jù)不丟失,但Flash編程需專用驅(qū)動(dòng)且需先擦除再寫入,不能以操作字節(jié)的形式讀寫,還需考慮Flash的損耗均衡以保證其讀寫壽命。

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

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

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

(一)確定所需存儲(chǔ)的數(shù)據(jù)以及數(shù)據(jù)長(zhǎng)度,在進(jìn)程地址空間中定義內(nèi)存映射區(qū)的基地址,并定義用于存儲(chǔ)各數(shù)據(jù)的地址與基地址的相對(duì)偏移;比如需存儲(chǔ)1M的數(shù)據(jù)這些數(shù)據(jù)分別為數(shù)據(jù)1、數(shù)據(jù)2、數(shù)據(jù)3.....數(shù)據(jù)256,每個(gè)占用4個(gè)字節(jié),如果內(nèi)存映射區(qū)基地址為0xffff0000,則存儲(chǔ)這些數(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ù)步驟一中所需存儲(chǔ)數(shù)據(jù)的長(zhǎng)度檢測(cè)待內(nèi)存映射文件的合法性,若文件合法則進(jìn)入步驟三;若不合法則根據(jù)所需存儲(chǔ)數(shù)據(jù)長(zhǎng)度創(chuàng)建文件并將文件內(nèi)容填充為零值再進(jìn)入步驟三。

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

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

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

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

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

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

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

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

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

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

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

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

內(nèi)存映射文件性能優(yōu)勢(shì):正常的系統(tǒng)IO讀寫需要兩次傳輸一次是在文件和內(nèi)核高速緩沖區(qū)之間,另一次在高速緩沖區(qū)和用戶空間緩沖區(qū)之間。使用內(nèi)存映射函數(shù)mmap就無需第二次傳輸了,對(duì)于輸入來講,一旦內(nèi)核將相應(yīng)的文件塊映射進(jìn)內(nèi)存之后用戶進(jìn)程就能夠使用這些數(shù)據(jù)了。對(duì)于輸出來講,用戶進(jìn)程僅僅需要修改內(nèi)存中的內(nèi)容,然后可以依靠?jī)?nèi)核管理器來自動(dòng)更新底層的文件。除了節(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)報(bào),2013(31):47-48.

中圖分類號(hào):TM73

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

猜你喜歡
用電信息
用電信息采集系統(tǒng)維護(hù)的思考
基于TD-LTE230系統(tǒng)電力單表用戶用電信息采集到應(yīng)用
用電信息采集在抄核收中的應(yīng)用及效果分析
電力用戶用電信息采集系統(tǒng)及應(yīng)用
電能信息采集技術(shù)在電力系統(tǒng)中的合理應(yīng)用
低壓電力線載波技術(shù)在用電信息采集系統(tǒng)建設(shè)中的應(yīng)用
探討用電信息采集一體化建設(shè)