欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種快速負(fù)荷記錄數(shù)據(jù)查詢方法及應(yīng)用的制作方法

文檔序號(hào):6374494閱讀:219來(lái)源:國(guó)知局
專利名稱:一種快速負(fù)荷記錄數(shù)據(jù)查詢方法及應(yīng)用的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種數(shù)據(jù)查詢方法,更具體地說(shuō),涉及一種快速負(fù)荷記錄數(shù)據(jù)查詢方法及應(yīng)用。
背景技術(shù)
一種極大縮短查詢負(fù)荷記錄數(shù)據(jù)時(shí)間的方法,按照《多功能電能表通信協(xié)議DL/T645-2007》要求,共有6類負(fù)荷記錄,分為抄最早記錄塊、抄給定起始時(shí)刻記錄塊和抄最近一個(gè)記錄塊3種抄讀方式。當(dāng)電能表負(fù)荷記錄接近填滿整個(gè)存儲(chǔ)空間時(shí),而符合給定條件的記錄處于存儲(chǔ)器的底部時(shí),查找這類負(fù)荷記錄所需的時(shí)間將會(huì)很長(zhǎng)。假設(shè)記錄數(shù)為3萬(wàn)條,用I2C總線讀8字節(jié)的時(shí)間數(shù)據(jù)及判斷是否符合條件所需的時(shí)間大約為200微秒,讀到最后一條數(shù)據(jù)時(shí)已 經(jīng)超過(guò)6秒的時(shí)間,即使找到符合條件的記錄也來(lái)不及響應(yīng)。由于電能表在運(yùn)行期間可能發(fā)生多次停電及多次修改時(shí)間,導(dǎo)致負(fù)荷記錄數(shù)據(jù)不按時(shí)間線性增長(zhǎng),因此不能用給定條件的時(shí)刻和最早的時(shí)刻計(jì)算出符合條件的負(fù)荷記錄存儲(chǔ)的位置。如中國(guó)發(fā)明專利申請(qǐng)201110164891. O公開(kāi)了一種用于智能電能表的FLASH數(shù)據(jù)存儲(chǔ)方法,包括以下步驟I)、計(jì)算待存儲(chǔ)的電表記錄或負(fù)荷曲線所需的存儲(chǔ)空間N*m, m為最小存儲(chǔ)單元;2)、為待存儲(chǔ)的電表記錄或負(fù)荷曲線分配數(shù)據(jù)空間(N+l)*m;3)、以先進(jìn)先出的原則順序?qū)懭霐?shù)據(jù)(3. I)、存儲(chǔ)指針指向當(dāng)前存儲(chǔ)單元,在初始狀態(tài)下,第一個(gè)存儲(chǔ)單元為當(dāng)前存儲(chǔ)單元;(3. 2)、存儲(chǔ)指針指向下一個(gè)存儲(chǔ)單元,該下一個(gè)存儲(chǔ)單元成為當(dāng)前存儲(chǔ)單元;刪除當(dāng)前存儲(chǔ)單元中的數(shù)據(jù),將待存儲(chǔ)數(shù)據(jù)寫(xiě)入當(dāng)前存儲(chǔ)單元、直到當(dāng)前存儲(chǔ)單元的空間用盡;(3. 3)、判斷當(dāng)前存儲(chǔ)單元是否最后一個(gè)存儲(chǔ)單元,若是,這將存儲(chǔ)指針指向第一個(gè)存儲(chǔ)單元,并刪除該第一個(gè)存儲(chǔ)單元的數(shù)據(jù)、將第一個(gè)存儲(chǔ)單元作為緩存單元;若否,則重復(fù)執(zhí)行步驟(3. 2);4)、讀取數(shù)據(jù)時(shí),通過(guò)讀取指針?lè)聪虿檎乙宰x取數(shù)據(jù)(4. I)、以第N+1個(gè)存儲(chǔ)單元作為當(dāng)前讀取單元;(4. 2)、讀取指針指向當(dāng)前讀取單元;(4. 3)、判斷當(dāng)前讀取單元是否需讀取數(shù)據(jù)存在的單元若是,則獲取當(dāng)前讀取單元的數(shù)據(jù);若否,則將前一個(gè)存儲(chǔ)單元作為當(dāng)前讀取單元,重復(fù)執(zhí)行步驟(4. 2)、步驟(4. 3)。上述發(fā)明專利申請(qǐng)的技術(shù)方案以先進(jìn)先出的原則順序?qū)懭霐?shù)據(jù),以順序的原則讀取數(shù)據(jù),采用這種技術(shù)方案,對(duì)數(shù)據(jù)量較大的數(shù)據(jù)庫(kù)進(jìn)行查找時(shí),需要的時(shí)間較長(zhǎng)。如果在響應(yīng)時(shí)間要求比較高的領(lǐng)域,則這種技術(shù)方案無(wú)法達(dá)到要求。

發(fā)明內(nèi)容
本發(fā)明的目的在于克服現(xiàn)有技術(shù)的不足,提供一種查找給定的起始時(shí)刻的負(fù)荷記錄所需的時(shí)間大大縮短的快速負(fù)荷記錄數(shù)據(jù)查詢方法,并將所述的方法運(yùn)用至抄讀電能表的領(lǐng)域中。本發(fā)明的技術(shù)方案如下一種快速負(fù)荷記錄數(shù)據(jù)查詢方法,步驟如下I)讀取端點(diǎn)時(shí)刻的記錄,與欲查找記錄進(jìn)行比對(duì);2)如果此端點(diǎn)時(shí)刻的記錄為欲查找記錄,則結(jié)束查找,否則讀取另一端點(diǎn)時(shí)刻的記錄,與欲查找記錄進(jìn)行比對(duì);3)如果另一端點(diǎn)時(shí)刻的記錄為欲查找記錄,則結(jié)束查找,否則讀取總數(shù)據(jù)記錄的 中間時(shí)刻的記錄,與欲查找記錄進(jìn)行比對(duì);4)如果中間時(shí)刻的記錄為欲查找記錄,則結(jié)束查找,否則判斷欲查找記錄與兩個(gè)端點(diǎn)記錄區(qū)間的中間時(shí)刻的記錄的大小,如果欲查找記錄小于中間時(shí)刻的記錄,則讀取中間時(shí)刻與最早時(shí)刻區(qū)間的中間時(shí)刻的記錄;如果如果欲查找記錄大于中間時(shí)刻的記錄,則讀取中間時(shí)刻與最晚時(shí)刻區(qū)間的中間時(shí)刻的記錄;5 )如果中間時(shí)刻與最早時(shí)刻區(qū)間的中間時(shí)刻的記錄、或者中間時(shí)刻與最晚時(shí)刻區(qū)間的中間時(shí)刻的記錄為欲查找記錄,則結(jié)束查找,否則根據(jù)步驟4)的方法,對(duì)剩余的時(shí)刻區(qū)間進(jìn)行判斷與查找,直至查找到欲查找記錄,結(jié)束查找。作為優(yōu)選,所述的最早時(shí)刻至最晚時(shí)刻的記錄為遞增。作為優(yōu)選,步驟I)查詢的端點(diǎn)時(shí)刻為最早時(shí)刻。作為優(yōu)選,如果總數(shù)據(jù)記錄為奇數(shù),則步驟4)所述的兩個(gè)端點(diǎn)記錄區(qū)間的中間時(shí)刻為總數(shù)據(jù)記錄+1后取中間時(shí)刻,或兩個(gè)端點(diǎn)記錄區(qū)間的中間時(shí)刻為總數(shù)據(jù)記錄-I后取中間時(shí)刻。作為優(yōu)選,采用通信接口讀取記錄。上述任一項(xiàng)所述的快速負(fù)荷記錄數(shù)據(jù)查詢方法在抄讀電能表上的應(yīng)用。本發(fā)明的有益效果如下本發(fā)明的查找原則采用的是中間比對(duì)法,逐步半數(shù)縮小范圍進(jìn)行讀取,最多找(log2N)+2次,必定會(huì)找到想要查找的數(shù)據(jù)。采用本發(fā)明的方法查找給定的起始時(shí)刻的負(fù)荷記錄所需的時(shí)間大大縮短,完全能滿足幀最大響應(yīng)時(shí)間500毫秒的限制。


圖I是本發(fā)明所述的方法的流程示意圖。
具體實(shí)施例方式以下結(jié)合附圖及實(shí)施例對(duì)本發(fā)明進(jìn)行進(jìn)一步的詳細(xì)說(shuō)明。一種快速負(fù)荷記錄數(shù)據(jù)查詢方法,步驟如下I)讀取端點(diǎn)時(shí)刻的記錄,與欲查找記錄進(jìn)行比對(duì);2)如果此端點(diǎn)時(shí)刻的記錄為欲查找記錄,則結(jié)束查找,否則讀取另一端點(diǎn)時(shí)刻的記錄,與欲查找記錄進(jìn)行比對(duì);3)如果另一端點(diǎn)時(shí)刻的記錄為欲查找記錄,則結(jié)束查找,否則讀取總數(shù)據(jù)記錄的中間時(shí)刻的記錄,與欲查找記錄進(jìn)行比對(duì);4)如果中間時(shí)刻的記錄為欲查找記錄,則結(jié)束查找,否則判斷欲查找記錄與兩個(gè)端點(diǎn)記錄區(qū)間的中間時(shí)刻的記錄的大小,如果欲查找記錄小于中間時(shí)刻的記錄,則讀取中間時(shí)刻與最早時(shí)刻區(qū)間的中間時(shí)刻的記錄;如果如果欲查找記錄大于中間時(shí)刻的記錄,則讀取中間時(shí)刻與最晚時(shí)刻區(qū)間的中間時(shí)刻的記錄;5 )如果中間時(shí)刻與最早時(shí)刻區(qū)間的中間時(shí)刻的記錄、或者中間時(shí)刻與最晚時(shí)刻區(qū)間的中間時(shí)刻的記錄為欲查找記錄,則結(jié)束查找,否則根據(jù)步驟4)的方法,對(duì)剩余的時(shí)刻區(qū) 間進(jìn)行判斷與查找,直至查找到欲查找記錄,結(jié)束查找。所述的最早時(shí)刻至最晚時(shí)刻的記錄為遞增。在電能表的負(fù)荷記錄數(shù)據(jù)中,后一條記錄時(shí)刻總是大于前一條記錄時(shí)刻,因此可以采用本發(fā)明的方法解決順序查找原則帶來(lái)的查找時(shí)間長(zhǎng)的問(wèn)題。步驟I)查詢的端點(diǎn)時(shí)刻為最早時(shí)刻。如果總數(shù)據(jù)記錄為奇數(shù),則步驟4)所述的兩個(gè)端點(diǎn)記錄區(qū)間的中間時(shí)刻為總數(shù)據(jù)記錄+1后取中間時(shí)刻,或兩個(gè)端點(diǎn)記錄區(qū)間的中間時(shí)刻為總數(shù)據(jù)記錄-I后取中間時(shí)刻。本發(fā)明所述的方法采用通信接口讀取記錄,本實(shí)施例中,采用I2C總線讀取記錄。所述的記錄為8字節(jié)的時(shí)間數(shù)據(jù)。如圖I所示,設(shè)總記錄數(shù)為N,先比對(duì)第一條記錄,若不是則比對(duì)第N條記錄,若不是則比對(duì)第N/2條。若不是則分兩種情況(I)給定起始時(shí)刻〈第N/2條則比對(duì)第N/4條記錄時(shí)刻;(2)給定起始時(shí)刻 > 第N/2條記錄時(shí)刻則比對(duì)第N3/4條記錄;若還未查找到,則按同樣的方法繼續(xù)找下去,即(I. I)給定起始時(shí)刻〈第N/4條則比對(duì)第N/8條記錄時(shí)刻;(1.2)給定起始時(shí)刻 > 第N/4條則比對(duì)第N3/8條記錄時(shí)刻;(2.1)給定起始時(shí)刻〈第N3/4條則比對(duì)第N5/8條記錄時(shí)刻;(2. 2)給定起始時(shí)刻 > 第N3/4條則比對(duì)第N7/8條記錄時(shí)刻。以此循環(huán),根據(jù)上述的方法進(jìn)行查找,最多找(log2N)+2次必定會(huì)找到。例如3萬(wàn)條記錄最多找17次就會(huì)找到。本發(fā)明所述的方法特別適用于抄讀電能表,本發(fā)明同時(shí)提供了將本發(fā)明所述的一種快速負(fù)荷記錄數(shù)據(jù)查詢方法應(yīng)用在抄讀電能表上的應(yīng)用。上述實(shí)施例僅是用來(lái)說(shuō)明本發(fā)明,而并非用作對(duì)本發(fā)明的限定。只要是依據(jù)本發(fā)明的技術(shù)實(shí)質(zhì),對(duì)上述實(shí)施例進(jìn)行變化、變型等都將落在本發(fā)明的權(quán)利要求的范圍內(nèi)。
權(quán)利要求
1.一種快速負(fù)荷記錄數(shù)據(jù)查詢方法,其特征在于,步驟如下 1)讀取端點(diǎn)時(shí)刻的記錄,與欲查找記錄進(jìn)行比對(duì); 2)如果此端點(diǎn)時(shí)刻的記錄為欲查找記錄,則結(jié)束查找,否則讀取另一端點(diǎn)時(shí)刻的記錄,與欲查找記錄進(jìn)行比對(duì); 3)如果另一端點(diǎn)時(shí)刻的記錄為欲查找記錄,則結(jié)束查找,否則讀取總數(shù)據(jù)記錄的中間時(shí)刻的記錄,與欲查找記錄進(jìn)行比對(duì); 4)如果中間時(shí)刻的記錄為欲查找記錄,則結(jié)束查找,否則判斷欲查找記錄與兩個(gè)端點(diǎn)記錄區(qū)間的中間時(shí)刻的記錄的大小,如果欲查找記錄小于中間時(shí)刻的記錄,則讀取中間時(shí)刻與最早時(shí)刻區(qū)間的中間時(shí)刻的記錄;如果如果欲查找記錄大于中間時(shí)刻的記錄,則讀取中間時(shí)刻與最晚時(shí)刻區(qū)間的中間時(shí)刻的記錄; 5)如果中間時(shí)刻與最早時(shí)刻區(qū)間的中間時(shí)刻的記錄、或者中間時(shí)刻與最晚時(shí)刻區(qū)間的中間時(shí)刻的記錄為欲查找記錄,則結(jié)束查找,否則根據(jù)步驟4)的方法,對(duì)剩余的時(shí)刻區(qū)間進(jìn)行判斷與查找,直至查找到欲查找記錄,結(jié)束查找。
2.根據(jù)權(quán)利要求I所述的快速負(fù)荷記錄數(shù)據(jù)查詢方法,其特征在于,所述的最早時(shí)刻至最晚時(shí)刻的記錄為遞增。
3.根據(jù)權(quán)利要求I所述的快速負(fù)荷記錄數(shù)據(jù)查詢方法,其特征在于,步驟I)查詢的端點(diǎn)時(shí)刻為最早時(shí)刻。
4.根據(jù)權(quán)利要求I所述的快速負(fù)荷記錄數(shù)據(jù)查詢方法,其特征在于,如果總數(shù)據(jù)記錄為奇數(shù),則步驟4)所述的兩個(gè)端點(diǎn)記錄區(qū)間的中間時(shí)刻為總數(shù)據(jù)記錄+1后取中間時(shí)刻,或兩個(gè)端點(diǎn)記錄區(qū)間的中間時(shí)刻為總數(shù)據(jù)記錄-I后取中間時(shí)刻。
5.根據(jù)權(quán)利要求I所述的快速負(fù)荷記錄數(shù)據(jù)查詢方法,其特征在于,采用通信接口讀取記錄。
6.權(quán)利要求I至5中的任一項(xiàng)所述的快速負(fù)荷記錄數(shù)據(jù)查詢方法在抄讀電能表上的應(yīng)用。
全文摘要
本發(fā)明涉及一種快速負(fù)荷記錄數(shù)據(jù)查詢方法,步驟如下1)讀取端點(diǎn)時(shí)刻的記錄,與欲查找記錄進(jìn)行比對(duì);2)如果此端點(diǎn)時(shí)刻的記錄為欲查找記錄,則結(jié)束查找,否則讀取另一端點(diǎn)時(shí)刻的記錄,與欲查找記錄進(jìn)行比對(duì);3)如果另一端點(diǎn)時(shí)刻的記錄為欲查找記錄,則結(jié)束查找,否則讀取總數(shù)據(jù)記錄的中間時(shí)刻的記錄,與欲查找記錄進(jìn)行比對(duì);4)循環(huán)進(jìn)行中間比對(duì)法,直至查找到欲查找記錄。本發(fā)明的有益效果如下本發(fā)明的查找原則采用的是中間比對(duì)法,逐步半數(shù)縮小范圍進(jìn)行讀取,最多找(log2N)+2次,必定會(huì)找到想要查找的數(shù)據(jù)。采用本發(fā)明的方法查找給定的起始時(shí)刻的負(fù)荷記錄所需的時(shí)間大大縮短,完全能滿足幀最大響應(yīng)時(shí)間500毫秒的限制。
文檔編號(hào)G06F17/30GK102831196SQ20121027653
公開(kāi)日2012年12月19日 申請(qǐng)日期2012年8月3日 優(yōu)先權(quán)日2012年8月3日
發(fā)明者陳寶盛, 李林, 曾戈弋, 許來(lái)順 申請(qǐng)人:漳州科能電器有限公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
固阳县| 开鲁县| 社旗县| 杂多县| 云霄县| 镇坪县| 灵丘县| 井陉县| 峨眉山市| 两当县| 鄱阳县| 南京市| 芜湖县| 邮箱| 台南县| 施秉县| 厦门市| 沅江市| 安西县| 石屏县| 深圳市| 鄂尔多斯市| 惠东县| 永宁县| 杨浦区| 水城县| 义乌市| 临安市| 伊春市| 滨州市| 平潭县| 衡水市| 通化市| 盐山县| 鹤庆县| 威宁| 会泽县| 泰宁县| 大埔区| 扶沟县| 独山县|