本發(fā)明涉及電力領(lǐng)域,并且更具體地,涉及一種電能表大容量數(shù)據(jù)存儲(chǔ)方法及裝置。
背景技術(shù):
電能表是用來測(cè)量電能的儀表,又稱電度表,在目前的設(shè)計(jì)方案中,智能電能表中的計(jì)量芯基礎(chǔ)電能數(shù)據(jù)存儲(chǔ)需滿足正、反向有功電能1min存儲(chǔ)間隔,以及第一、二、三、四象限無功電能15min存儲(chǔ)間隔,存儲(chǔ)深度不小于一年,為保證數(shù)據(jù)的安全性,數(shù)據(jù)常采用三處保存的方式,數(shù)據(jù)量很大(可超過20MByte),因此,對(duì)于電能表數(shù)據(jù)的存儲(chǔ)不僅要求存儲(chǔ)器容量大,而且還需要其具有較長(zhǎng)的讀寫壽命。
現(xiàn)有的可用于電能表數(shù)據(jù)存儲(chǔ)的存儲(chǔ)器有電可擦可編程只讀存儲(chǔ)器EEPROM(Electrically Erasable Programmable Read-Only Memory,EEPROM)和Flash閃存(Flash Memory,F(xiàn)lash閃存),EEPROM讀寫壽命長(zhǎng),可超過100萬次,但其存儲(chǔ)容量有限;Flash存儲(chǔ)容量大,但其在寫入數(shù)據(jù)前,如果存儲(chǔ)不為空,需進(jìn)行擦除操作,不僅擦除時(shí)間長(zhǎng),效率低,而且擦除次數(shù)一般不超過10萬次,使用壽命較短,上述兩種存儲(chǔ)器的缺陷往往會(huì)導(dǎo)致電能表大容量數(shù)據(jù)的存儲(chǔ)受到限制。
因此,如何提高電能表大容量數(shù)據(jù)的存儲(chǔ)效率,擴(kuò)展存儲(chǔ)器的使用壽命,進(jìn)而提高電能表數(shù)據(jù)存儲(chǔ)的安全性,成為一個(gè)待解決的問題。
技術(shù)實(shí)現(xiàn)要素:
為了解決上述問題,本發(fā)明提供了一種電能表大容量數(shù)據(jù)存儲(chǔ)方法,所述方法包括:
獲取第一待存信息,所述第一待存信息包括第一時(shí)標(biāo)和第一數(shù)據(jù),其中所述時(shí)標(biāo)包括獲取電量的起始時(shí)間點(diǎn)和結(jié)束時(shí)間點(diǎn);
將所述第一待存信息存儲(chǔ)至第一存儲(chǔ)器;
判斷所述第一時(shí)標(biāo)的值是否小于第一預(yù)設(shè)時(shí)間,其中所述時(shí)標(biāo)的值包括從獲取電量的結(jié)束時(shí)間點(diǎn)與起始時(shí)間點(diǎn)的差值;以及
若所述第一時(shí)標(biāo)的值不小于所述第一預(yù)設(shè)時(shí)間,將所述第一存儲(chǔ)器中的待存信息存儲(chǔ)至第二存儲(chǔ)器,并擦除所述第一存儲(chǔ)器中的數(shù)據(jù)。
優(yōu)選地,其中所述方法還包括:
若所述第一時(shí)標(biāo)的值小于所述第一預(yù)設(shè)時(shí)間,獲取第二待存信息,所述第二待存信息包括第二時(shí)標(biāo)和第二數(shù)據(jù);
將所述第二待存信息存儲(chǔ)至所述第一存儲(chǔ)器;
判斷所述第二時(shí)標(biāo)的值是否小于所述第一預(yù)設(shè)時(shí)間;以及
若所述第二時(shí)標(biāo)的值不小于所述第一預(yù)設(shè)時(shí)間,將所述第一存儲(chǔ)器中的待存信息存儲(chǔ)至所述第二存儲(chǔ)器,并擦除所述第一存儲(chǔ)器中的數(shù)據(jù)。
優(yōu)選地,其中在將待存信息存儲(chǔ)至所述第二存儲(chǔ)器之前,進(jìn)一步包括:獲取所述第二存儲(chǔ)器中的最大時(shí)標(biāo),并確認(rèn)所述第二時(shí)標(biāo)大于所述第二存儲(chǔ)器中的最大時(shí)標(biāo)。
優(yōu)選地,其中在獲取所述第二存儲(chǔ)器中的最大時(shí)標(biāo)之后還包括:
判斷所述最大時(shí)標(biāo)的值是否小于第二預(yù)設(shè)時(shí)間;以及
若所述最大時(shí)標(biāo)的值不小于所述第二預(yù)設(shè)時(shí)間,擦除所述第二存儲(chǔ)器中最小時(shí)標(biāo)對(duì)應(yīng)的存儲(chǔ)信息。
優(yōu)選地,所述方法還包括:若所述最大時(shí)標(biāo)的值小于所述第二預(yù)設(shè)時(shí)間,執(zhí)行所述判斷所述第二時(shí)標(biāo)是否大于所述最大時(shí)標(biāo)。
優(yōu)選地,若所述第二時(shí)標(biāo)的值小于所述第一預(yù)設(shè)時(shí)間,繼續(xù)執(zhí)行獲取待存信息進(jìn)行存儲(chǔ)的步驟。
本發(fā)明還提供了一種電能表大容量數(shù)據(jù)存儲(chǔ)裝置,所述裝置包括:
第一獲取模塊,用于獲取第一待存信息,所述第一待存信息包括第一時(shí)標(biāo)和第一數(shù)據(jù),其中所述時(shí)標(biāo)包括獲取電量的起始時(shí)間點(diǎn)和結(jié)束時(shí)間點(diǎn);
第一存儲(chǔ)模塊,用于將所述第一待存信息存儲(chǔ)至第一存儲(chǔ)器;
第一判斷模塊,用于判斷所述第一時(shí)標(biāo)的值是否小于第一預(yù)設(shè)時(shí)間,其中所述時(shí)標(biāo)的值包括從獲取電量的結(jié)束時(shí)間點(diǎn)與起始時(shí)間點(diǎn)的差值;以及
第二存儲(chǔ)模塊,用于若所述第一時(shí)標(biāo)的值不小于所述第一預(yù)設(shè)時(shí)間時(shí),將所述第一存儲(chǔ)器中的待存信息存儲(chǔ)至第二存儲(chǔ)器,并擦除所述第一存儲(chǔ)器中的數(shù)據(jù)。
優(yōu)選地,所述電能表大容量數(shù)據(jù)存儲(chǔ)裝置還包括:
所述第一獲取模塊還用于,若所述第一時(shí)標(biāo)的值小于所述第一預(yù)設(shè)時(shí)間,獲取第二待存信息,所述第二待存信息包括第二時(shí)標(biāo)和第二數(shù)據(jù);
所述第一存儲(chǔ)模塊還用于將所述第二待存信息存儲(chǔ)至所述第一存儲(chǔ)器;
所述第一判斷模塊還用于判斷所述第二時(shí)標(biāo)的值是否小于所述第一預(yù)設(shè)時(shí)間;以及
所述第二存儲(chǔ)模塊還用于若所述第二時(shí)標(biāo)的值不小于所述第一預(yù)設(shè)時(shí)間,將所述第一存儲(chǔ)器中的待存信息存儲(chǔ)至所述第二存儲(chǔ)器,并擦除所述第一存儲(chǔ)器中的數(shù)據(jù)。
優(yōu)選地,所述電能表大容量數(shù)據(jù)存儲(chǔ)裝置還包括:
第二獲取模塊,用于若所述第二時(shí)標(biāo)的值不小于所述第一預(yù)設(shè)時(shí)間,在待存信息存儲(chǔ)至所述第二存儲(chǔ)器之前,獲取所述第二存儲(chǔ)器中的最大時(shí)標(biāo)。
優(yōu)選地,所述電能表大容量數(shù)據(jù)存儲(chǔ)裝置還包括:
第二判斷模塊,用于在所述獲取所述第二存儲(chǔ)器中的最大時(shí)標(biāo)之后判斷所述最大時(shí)標(biāo)的值是否小于第二預(yù)設(shè)時(shí)間;以及
擦除模塊,用于若所述最大時(shí)標(biāo)的值是不小于所述第二預(yù)設(shè)時(shí)間,擦除所述第二存儲(chǔ)器中最小時(shí)標(biāo)對(duì)應(yīng)的存儲(chǔ)信息。
優(yōu)選地,所述電能表大容量數(shù)據(jù)存儲(chǔ)裝置還包括:
第三判斷模塊,用于判斷若所述最大時(shí)標(biāo)的值小于所述第二預(yù)設(shè)時(shí)間,判斷所述第二時(shí)標(biāo)是否大于所述最大時(shí)標(biāo)。
優(yōu)選地,所述電能表大容量數(shù)據(jù)存儲(chǔ)裝置還包括:
控制模塊,用于若所述最大時(shí)標(biāo)的值是小于所述第二預(yù)設(shè)時(shí)間,執(zhí)行所述判斷所述第二時(shí)標(biāo)是否大于所述最大時(shí)標(biāo)。
優(yōu)選地,所述控制模塊還用于若所述第二時(shí)標(biāo)的值小于所述第一預(yù)設(shè)時(shí)間,繼續(xù)執(zhí)行獲取待存信息進(jìn)行存儲(chǔ)的步驟。
優(yōu)選地,一種用于存儲(chǔ)大容量數(shù)據(jù)的電能表,包括:
第一存儲(chǔ)器,用于存儲(chǔ)第一待存信息,其中所述第一待存信息包括第一時(shí)標(biāo)和第一數(shù)據(jù),其中所述時(shí)標(biāo)包括獲取電量的起始時(shí)間點(diǎn)和結(jié)束時(shí)間點(diǎn);
控制器,判斷所述第一時(shí)標(biāo)的值是否小于第一預(yù)設(shè)時(shí)間,若所述第一時(shí)標(biāo)的值不小于第一預(yù)設(shè)時(shí)間,待第一存儲(chǔ)器中的待存信息存儲(chǔ)至第二存儲(chǔ)器之后,控制器擦除所述第一存儲(chǔ)器中的待存信息,其中所述時(shí)標(biāo)的值包括從獲取電量的結(jié)束時(shí)間點(diǎn)與起始時(shí)間點(diǎn)的差值;以及
第二存儲(chǔ)器,用于存儲(chǔ)來自所述第一存儲(chǔ)器的待存信息。
本發(fā)明的有益效果在于:
本發(fā)明提供的一種電能表大容量數(shù)據(jù)存儲(chǔ)方法,適用于采用兩個(gè)存儲(chǔ)器(第一存儲(chǔ)器和第二存儲(chǔ)器)的電能表,通過將第一存儲(chǔ)器中存儲(chǔ)時(shí)間滿足第一預(yù)設(shè)時(shí)間的存儲(chǔ)信息自動(dòng)轉(zhuǎn)存至第二存儲(chǔ)器,轉(zhuǎn)存至第二存儲(chǔ)器中的存儲(chǔ)信息在存儲(chǔ)時(shí)間滿足第二預(yù)設(shè)時(shí)間時(shí),會(huì)自動(dòng)擦除最早一天的存儲(chǔ)信息,以給即將存入的存儲(chǔ)信息預(yù)留空間,如此,第一存儲(chǔ)器中只保留最近一天的存儲(chǔ)信息,第二存儲(chǔ)器中保留一年的存儲(chǔ)信息,實(shí)現(xiàn)了存儲(chǔ)信息在第一存儲(chǔ)器中暫存,滿足條件時(shí)再將其轉(zhuǎn)存至第二存儲(chǔ)器進(jìn)行長(zhǎng)時(shí)間存儲(chǔ)的功能,也就是說在降低了對(duì)第一存儲(chǔ)器的存儲(chǔ)容量要求的同時(shí),減少了第二存儲(chǔ)器的讀寫次數(shù),不僅提高了電能表數(shù)據(jù)的存儲(chǔ)效率,而且擴(kuò)展了存儲(chǔ)器的使用壽命,進(jìn)而提高了電能表大容量數(shù)據(jù)存儲(chǔ)的安全性與可靠性。
該發(fā)明有效的避免了電能表設(shè)計(jì)現(xiàn)有技術(shù)中EEPROM存儲(chǔ)容量小、Flash閃存擦寫次數(shù)低以及擦寫時(shí)間長(zhǎng)的缺點(diǎn),在保存大容量數(shù)據(jù)的同時(shí),提高了數(shù)據(jù)安全性。
附圖說明
通過參考下面的附圖,可以更為完整地理解本發(fā)明的示例性實(shí)施方式:
圖1為根據(jù)本發(fā)明實(shí)施方式的存儲(chǔ)方法100的流程圖;
圖2為根據(jù)本發(fā)明實(shí)施方式的進(jìn)一步存儲(chǔ)方法200的流程圖;
圖3為根據(jù)本發(fā)明實(shí)施方式的更進(jìn)一步存儲(chǔ)方法300的流程圖;
圖4為根據(jù)本發(fā)明實(shí)施方式的存儲(chǔ)裝置400的結(jié)構(gòu)示意圖;以及
圖5為根據(jù)本發(fā)明實(shí)施方式的存儲(chǔ)方法500的流程圖。
具體實(shí)施方式
現(xiàn)在參考附圖介紹本發(fā)明的示例性實(shí)施方式,然而,本發(fā)明可以用許多不同的形式來實(shí)施,并且不局限于此處描述的實(shí)施例,提供這些實(shí)施例是為了詳盡地且完全地公開本發(fā)明,并且向所屬技術(shù)領(lǐng)域的技術(shù)人員充分傳達(dá)本發(fā)明的范圍。對(duì)于表示在附圖中的示例性實(shí)施方式中的術(shù)語并不是對(duì)本發(fā)明的限定。在附圖中,相同的單元/元件使用相同的附圖標(biāo)記。在本發(fā)明的描述中,需要說明的是,術(shù)語“第一”、“第二”、“第三”僅用于描述目的,而不能理解為指示或暗示相對(duì)重要性。
除非另有說明,此處使用的術(shù)語(包括科技術(shù)語)對(duì)所屬技術(shù)領(lǐng)域的技術(shù)人員具有通常的理解含義。另外,可以理解的是,以通常使用的詞典限定的術(shù)語,應(yīng)當(dāng)被理解為與其相關(guān)領(lǐng)域的語境具有一致的含義,而不應(yīng)該被理解為理想化的或過于正式的意義。
圖1為根據(jù)本發(fā)明實(shí)施方式的存儲(chǔ)方法100的流程圖。如圖1所示,存儲(chǔ)方法100用于對(duì)電能表大容量數(shù)據(jù)進(jìn)行存儲(chǔ)。其中下面所述時(shí)標(biāo)包括獲取電量的起始時(shí)間點(diǎn)和結(jié)束時(shí)間點(diǎn),所述時(shí)標(biāo)的值包括從獲取電量的結(jié)束時(shí)間點(diǎn)與起始時(shí)間點(diǎn)的差值。所述方法100從步驟S101處開始,在步驟S101獲取第一待存信息,所述第一待存信息包括第一時(shí)標(biāo)和第一數(shù)據(jù)。比如,獲取的時(shí)間間隔為一分鐘,獲取的第一待存信息為包括第一時(shí)標(biāo)為12:00-12:01,第一數(shù)據(jù)電量為1度。
優(yōu)選地,在步驟S102將所述第一待存信息存儲(chǔ)至第一存儲(chǔ)器。此處第一存儲(chǔ)器優(yōu)先采用EEPROM存儲(chǔ)器。
優(yōu)選地,在步驟S103判斷所述第一時(shí)標(biāo)的值是否小于第一預(yù)設(shè)時(shí)間。該第一預(yù)設(shè)時(shí)間是第一存儲(chǔ)器的預(yù)先設(shè)定的最大存儲(chǔ)時(shí)間,比如第一預(yù)設(shè)時(shí)間設(shè)置為1天,則通過判斷第一時(shí)標(biāo)的值是否滿足1天來確定是否將第一存儲(chǔ)器中的待存信息轉(zhuǎn)存至第二存儲(chǔ)器,如果滿足,即第一時(shí)標(biāo)的值不小于所述第一預(yù)設(shè)時(shí)間則進(jìn)入步驟S104,否則進(jìn)入步驟S105。優(yōu)選地,在步驟S104若所述第一時(shí)標(biāo)的值不小于所述第一預(yù)設(shè)時(shí)間,將所述第一存儲(chǔ)器中的待存信息存儲(chǔ)至第二存儲(chǔ)器,并擦除所述第一存儲(chǔ)器中的數(shù)據(jù)。例如,設(shè)置第一預(yù)設(shè)時(shí)間為1天,獲取的第一待存信息包括:第一時(shí)標(biāo)是第一天12:00到第二天12:00,第一數(shù)據(jù)為這一天的總電量,對(duì)應(yīng)的第一時(shí)標(biāo)的值為一天,此時(shí)第一時(shí)標(biāo)的值不小于第一預(yù)設(shè)時(shí)間,就自動(dòng)將暫存在第一存儲(chǔ)器中的待存信息轉(zhuǎn)存至第二存儲(chǔ)器。
圖2為根據(jù)本發(fā)明實(shí)施方式的進(jìn)一步存儲(chǔ)方法200的流程圖。如圖2所示,在步驟S105若所述第一時(shí)標(biāo)的值小于所述第一預(yù)設(shè)時(shí)間,獲取第二待存信息,所述第二待存信息包括第二時(shí)標(biāo)和第二數(shù)據(jù),即如果第一時(shí)標(biāo)所對(duì)應(yīng)的時(shí)間沒有達(dá)到第一預(yù)設(shè)時(shí)間,那么繼續(xù)獲取第二待存信息,此處所述第一時(shí)標(biāo)小于所述第二時(shí)標(biāo),即每次獲取待存信息后,其時(shí)鐘時(shí)間是累加的。
優(yōu)選地,在步驟S106將所述第二待存信息存儲(chǔ)至所述第一存儲(chǔ)器,即獲取到的第二待存信息也要在第一存儲(chǔ)器中進(jìn)行暫存。
優(yōu)選地,在步驟S107判斷所述第二時(shí)標(biāo)的值是否小于所述第一預(yù)設(shè)時(shí)間,進(jìn)一步對(duì)第二時(shí)標(biāo)所對(duì)應(yīng)的時(shí)間進(jìn)行判斷,如果判斷結(jié)果為否則進(jìn)入步驟S108,否則進(jìn)入步驟S121。
優(yōu)選地,在步驟S108若所述第二時(shí)標(biāo)的值不小于所述第一預(yù)設(shè)時(shí)間,獲取所述第二存儲(chǔ)器中的最大時(shí)標(biāo),如果第二時(shí)標(biāo)對(duì)應(yīng)的時(shí)間達(dá)到了第一預(yù)設(shè)時(shí)間(比如1天),即第一存儲(chǔ)器中的存儲(chǔ)信息量已經(jīng)滿1天了,則獲取第二存儲(chǔ)器中的最大時(shí)標(biāo),該最大時(shí)標(biāo)對(duì)應(yīng)于最近一天存入的數(shù)據(jù)信息。
優(yōu)選地,在步驟S109判斷所述第二時(shí)標(biāo)是否大于所述最大時(shí)標(biāo),通過判斷第二時(shí)標(biāo)對(duì)應(yīng)的時(shí)間是否大于獲取到的最大時(shí)標(biāo)對(duì)應(yīng)的時(shí)間來確定是否將信息轉(zhuǎn)存,如果判斷結(jié)果為是,則進(jìn)入步驟S110,否則不轉(zhuǎn)存。
優(yōu)選地,在步驟S110若所述第二時(shí)標(biāo)大于所述最大時(shí)標(biāo),說明第二存儲(chǔ)器滿足數(shù)據(jù)轉(zhuǎn)存的時(shí)間條件,則將所述第一存儲(chǔ)器中的待存信息存儲(chǔ)至所述第二存儲(chǔ)器,并擦除所述第一存儲(chǔ)器中的數(shù)據(jù)。如果第二時(shí)標(biāo)小于所述最大時(shí)標(biāo),則直接結(jié)束。比如,第二時(shí)標(biāo)為8月2日的9:00,第二存儲(chǔ)器的最大時(shí)標(biāo)為8月1日的9:00,則滿足存儲(chǔ)條件,將第一存儲(chǔ)器的待存信息轉(zhuǎn)存至第二存儲(chǔ)器,并擦除第一存儲(chǔ)器中的數(shù)據(jù)。
優(yōu)選地,在步驟S121若所述第二時(shí)標(biāo)的值小于所述第一預(yù)設(shè)時(shí)間,即第一存儲(chǔ)器中的存儲(chǔ)信息量還未滿1天的信息量,則繼續(xù)執(zhí)行獲取待存信息進(jìn)行存儲(chǔ)的步驟。
圖3為根據(jù)本發(fā)明實(shí)施方式的更進(jìn)一步存儲(chǔ)方法300的流程圖。如圖3所示,作為一種優(yōu)選地選擇方案,在步驟S108之后還應(yīng)包括在步驟S1081判斷所述最大時(shí)標(biāo)的值是否小于第二預(yù)設(shè)時(shí)間,如果判斷結(jié)果為是,則進(jìn)入步驟S1083(即步驟S109),否則進(jìn)入步驟S1082。優(yōu)選地,在步驟S1082若所述最大時(shí)標(biāo)的值是不小于所述第二預(yù)設(shè)時(shí)間時(shí),擦除所述第二存儲(chǔ)器中最小時(shí)標(biāo)對(duì)應(yīng)的存儲(chǔ)信息,以給即將存入第二存儲(chǔ)器的存儲(chǔ)信息預(yù)留空間。在步驟S1083若所述最大時(shí)標(biāo)的值是小于所述第二預(yù)設(shè)時(shí)間,即第二存儲(chǔ)器中的存儲(chǔ)信息量還未達(dá)到預(yù)定最大量,則執(zhí)行所述判斷所述第二時(shí)標(biāo)是否大于所述最大時(shí)標(biāo)的步驟,繼續(xù)轉(zhuǎn)存。
圖4為根據(jù)本發(fā)明實(shí)施方式的存儲(chǔ)裝置400的結(jié)構(gòu)示意圖。如圖4所示,本實(shí)施例提供的電能表大容量數(shù)據(jù)存儲(chǔ)裝置400包括:第一獲取模塊41、第一存儲(chǔ)模塊42、第一判斷模塊43、第二存儲(chǔ)模塊44、第二獲取模塊45、第二判斷模塊46、第三判斷模塊47、擦除模塊48和控制模塊49。第一獲取模塊41用于獲取第一待存信息,所述第一待存信息包括第一時(shí)標(biāo)和第一數(shù)據(jù);第一存儲(chǔ)模塊42用于將所述第一待存信息存儲(chǔ)至第一存儲(chǔ)器;第一判斷模塊43用于判斷所述第一時(shí)標(biāo)的值是否小于第一預(yù)設(shè)時(shí)間;第二存儲(chǔ)模塊44用于若所述第一時(shí)標(biāo)的值不小于所述第一預(yù)設(shè)時(shí)間,將所述第一存儲(chǔ)器中的所有待存信息存儲(chǔ)至第二存儲(chǔ)器,并擦除所述第一存儲(chǔ)器中的數(shù)據(jù)。
優(yōu)選地,所述第一獲取模塊41還用于若所述第一時(shí)標(biāo)的值小于所述第一預(yù)設(shè)時(shí)間,獲取第二待存信息,所述第二待存信息包括第二時(shí)標(biāo)和第二數(shù)據(jù);所述第一存儲(chǔ)模塊42還用于將所述第二待存信息存儲(chǔ)至所述第一存儲(chǔ)器;所述第一判斷模塊43還用于判斷所述第二時(shí)標(biāo)的值是否小于所述第一預(yù)設(shè)時(shí)間;所述第二存儲(chǔ)模塊44還用于若所述第二時(shí)標(biāo)的值不小于所述第一預(yù)設(shè)時(shí)間,將所述第一存儲(chǔ)器中的待存信息存儲(chǔ)至所述第二存儲(chǔ)器,并擦除所述第一存儲(chǔ)器中的數(shù)據(jù)。
所述電能表大容量數(shù)據(jù)存儲(chǔ)裝置400還包括:第二獲取模塊45用于若所述第二時(shí)標(biāo)的值不小于所述第一預(yù)設(shè)時(shí)間,在待存信息存儲(chǔ)至所述第二存儲(chǔ)器之前,獲取所述第二存儲(chǔ)器中的最大時(shí)標(biāo);第二判斷模塊46用于在所述獲取所述第二存儲(chǔ)器中的最大時(shí)標(biāo)之后判斷所述最大時(shí)標(biāo)的值是否小于第二預(yù)設(shè)時(shí)間;以及擦除模塊48用于若所述最大時(shí)標(biāo)的值是不小于所述第二預(yù)設(shè)時(shí)間,擦除所述第二存儲(chǔ)器中最小時(shí)標(biāo)對(duì)應(yīng)的存儲(chǔ)信息。
所述電能表大容量數(shù)據(jù)存儲(chǔ)裝置400還包括:第三判斷模塊47用于若所述最大時(shí)標(biāo)的值小于所述第二預(yù)設(shè)時(shí)間,判斷所述第二時(shí)標(biāo)是否大于所述最大時(shí)標(biāo)。
優(yōu)選地,還包括:控制模塊49用于若所述最大時(shí)標(biāo)的值是小于所述第二預(yù)設(shè)時(shí)間,執(zhí)行所述判斷所述第二時(shí)標(biāo)的值是否大于所述最大時(shí)標(biāo)的值的步驟。
優(yōu)選地,所述控制模塊49還用于若所述第二時(shí)標(biāo)的值小于所述第一預(yù)設(shè)時(shí)間,繼續(xù)執(zhí)行獲取待存信息進(jìn)行存儲(chǔ)的步驟。
上述電能表大容量數(shù)據(jù)存儲(chǔ)裝置400,適用于采用兩個(gè)存儲(chǔ)器(第一存儲(chǔ)器和第二存儲(chǔ)器)的電能表,通過將第一存儲(chǔ)器中存儲(chǔ)時(shí)間滿足第一預(yù)設(shè)時(shí)間(比如一天)的存儲(chǔ)信息自動(dòng)轉(zhuǎn)存至第二存儲(chǔ)器,轉(zhuǎn)存至第二存儲(chǔ)器中的存儲(chǔ)信息在存儲(chǔ)時(shí)間滿足第二預(yù)設(shè)時(shí)間(比如365天,即一年)時(shí),會(huì)自動(dòng)擦除最早一天的存儲(chǔ)信息,以給即將存入的存儲(chǔ)信息預(yù)留空間,如此,第一存儲(chǔ)器中只保留最近一天的存儲(chǔ)信息,第二存儲(chǔ)器中保留一年的存儲(chǔ)信息,實(shí)現(xiàn)了存儲(chǔ)信息在第一存儲(chǔ)器中暫存,滿足條件時(shí)再將其轉(zhuǎn)存至第二存儲(chǔ)器進(jìn)行長(zhǎng)時(shí)間存儲(chǔ)的功能,也就是說在降低了對(duì)第一存儲(chǔ)器的存儲(chǔ)容量要求的同時(shí),減少了第二存儲(chǔ)器的讀寫次數(shù)(第二存儲(chǔ)器一天只進(jìn)行一次讀寫),不僅提高了電能表數(shù)據(jù)的存儲(chǔ)效率,而且擴(kuò)展了存儲(chǔ)器的使用壽命,進(jìn)而提高了電能表大容量數(shù)據(jù)存儲(chǔ)的安全性與可靠性。
本實(shí)施例提供了一種電能表數(shù)據(jù)存儲(chǔ)在實(shí)際應(yīng)用中的實(shí)現(xiàn)方法,第一存儲(chǔ)器EEPROM和第二存儲(chǔ)器Flash。其中EEPROM中可以實(shí)時(shí)存儲(chǔ)最近兩天每1分鐘中的電能數(shù)據(jù),其他時(shí)間的電能數(shù)據(jù)都定時(shí)保存在Flash中。
對(duì)于EEPROM存儲(chǔ)器的說明如下:作為一種具體的實(shí)現(xiàn)方式,EEPROM中開辟兩個(gè)存儲(chǔ)區(qū),即第一存儲(chǔ)區(qū)和第二存儲(chǔ)區(qū),可用于存儲(chǔ)兩天的存儲(chǔ)信息,采用兩個(gè)存儲(chǔ)區(qū)交替擦寫的方式存儲(chǔ)數(shù)據(jù)。在電能表正常工作時(shí),兩個(gè)存儲(chǔ)空間只有一處存放數(shù)據(jù),另一處為空。比如,存儲(chǔ)信息(即待存信息)在第一存儲(chǔ)區(qū),當(dāng)EEPROM中第一存儲(chǔ)區(qū)儲(chǔ)存的信息量滿1天(即第一預(yù)設(shè)時(shí)間設(shè)置為1天)時(shí),將該存儲(chǔ)信息寫入Flash中,同時(shí)擦除第一存儲(chǔ)區(qū)中的存儲(chǔ)信息,電能表在下一分鐘獲取到的待存信息(即下一天第一個(gè)分鐘點(diǎn)的待存儲(chǔ)信息)會(huì)存放至第二存儲(chǔ)區(qū),如此,實(shí)現(xiàn)兩個(gè)存儲(chǔ)區(qū)以輪換的方式進(jìn)行信息存儲(chǔ)。其中,F(xiàn)lash中按存儲(chǔ)信息的時(shí)標(biāo)順序循環(huán)存儲(chǔ),當(dāng)存儲(chǔ)數(shù)據(jù)量滿1年(即第二預(yù)設(shè)時(shí)間為1年)時(shí),將覆蓋最早一天的數(shù)據(jù),以此類推。
圖5為根據(jù)本發(fā)明實(shí)施方式的存儲(chǔ)方法500的流程圖。如圖5所示,包括如下步驟:
S401:電表每分鐘觸發(fā)數(shù)據(jù)存儲(chǔ)動(dòng)作,將當(dāng)前電表時(shí)鐘和需存儲(chǔ)的數(shù)據(jù)組織好后放入臨時(shí)緩存;
S402:讀取兩處存儲(chǔ)區(qū)的數(shù)據(jù),判斷其時(shí)標(biāo)是否都有效,若是進(jìn)入步驟S403、S404,否則進(jìn)入步驟S411;
S403:然后比較臨時(shí)緩存數(shù)據(jù)時(shí)標(biāo)是否大于兩處存儲(chǔ)區(qū)中(比如第一存儲(chǔ)區(qū))較大時(shí)標(biāo)的日期,判斷是進(jìn)入步驟S405,否則進(jìn)入步驟S408;
S404:將兩處存儲(chǔ)區(qū)中時(shí)標(biāo)較小的有效數(shù)據(jù)作為待轉(zhuǎn)存數(shù)據(jù),然后進(jìn)入步驟S406;
S405:將該臨時(shí)緩存數(shù)據(jù)作為待轉(zhuǎn)存數(shù)據(jù);
S406:比較待轉(zhuǎn)存數(shù)據(jù)的時(shí)標(biāo)是否大于Flash中最近一天數(shù)據(jù)的時(shí)標(biāo),若是進(jìn)入步驟S407,否則結(jié)束;
S407:將EEPROM中有效的數(shù)據(jù)轉(zhuǎn)存至Flash,然后進(jìn)入步驟S410;
S408:如果臨時(shí)緩存數(shù)據(jù)時(shí)標(biāo)不大于兩處存儲(chǔ)區(qū)中較大時(shí)標(biāo)的日期,則判斷臨時(shí)緩存數(shù)據(jù)時(shí)標(biāo)是否等于兩處存儲(chǔ)區(qū)中較大時(shí)標(biāo)的日期,判斷是進(jìn)入步驟S409,否則結(jié)束;
S409:判斷臨時(shí)緩存時(shí)標(biāo)中的時(shí)分在對(duì)應(yīng)EEPROM中已存數(shù)據(jù)的時(shí)分偏移地址往后(包括這個(gè)點(diǎn))的數(shù)據(jù)是否全部無效,若是進(jìn)入步驟S410,否則結(jié)束;
S410:將臨時(shí)緩存數(shù)據(jù)寫入EEPROM;
S411:判斷兩處存儲(chǔ)區(qū)中的數(shù)據(jù)是否有一處有效,若是進(jìn)入步驟S403,否則進(jìn)入步驟S412;
S412:將臨時(shí)緩存中的數(shù)據(jù)存入EEPROM的其中一處存儲(chǔ)區(qū);
本實(shí)施例提供的電能表數(shù)據(jù)存儲(chǔ)在實(shí)際應(yīng)用中的實(shí)現(xiàn)方法,通過第一存儲(chǔ)器采用EEPROM進(jìn)行實(shí)時(shí)存儲(chǔ)、第二存儲(chǔ)器采用Flash閃存進(jìn)行定時(shí)存儲(chǔ),有效的避免了現(xiàn)有技術(shù)中EEPROM存儲(chǔ)容量小、Flash閃存擦寫次數(shù)低以及擦寫時(shí)間長(zhǎng)的缺點(diǎn),在保存大容量數(shù)據(jù)的同時(shí),提高了數(shù)據(jù)安全性。
已經(jīng)通過參考少量實(shí)施方式描述了本發(fā)明。然而,本領(lǐng)域技術(shù)人員所公知的,正如附帶的專利權(quán)利要求所限定的,除了本發(fā)明以上公開的其他的實(shí)施例等同地落在本發(fā)明的范圍內(nèi)。
通常地,在權(quán)利要求中使用的所有術(shù)語都根據(jù)他們?cè)诩夹g(shù)領(lǐng)域的通常含義被解釋,除非在其中被另外明確地定義。所有的參考“一個(gè)/所述/該[裝置、組件等]”都被開放地解釋為所述裝置、組件等中的至少一個(gè)實(shí)例,除非另外明確地說明。這里公開的任何方法的步驟都沒必要以公開的準(zhǔn)確的順序運(yùn)行,除非明確地說明。