專利名稱:一種用于采集終端的地址表管理方法
技術(shù)領(lǐng)域:
本發(fā)明屬于智能電能表領(lǐng)域,尤其涉及一種用于采集終端的地址表管理方法。
背景技術(shù):
目前,國家電網(wǎng)普遍采用智能電表來實現(xiàn)能源管理與配置,采集終端對電表的數(shù)量與分類管理變得復(fù)雜化,采用一種有效地址管理方法,達(dá)到節(jié)省程序資源和簡化檔案管理等效果。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明實施例的目的在于提供一種快速,高效、便于管理表檔案的用于采集終端的地址表管理方法。本發(fā)明實施例是這樣實現(xiàn)的一種用于采集終端的地址表管理方法,包括下述步驟
步驟SI :根據(jù)DL/T645的表地址建立表地址到索引號的映射,并將無序的表地址進(jìn)行處理形成有序化的地址索引表;
步驟S2 :根據(jù)所述地址索引表建立環(huán)形的鏈表群,并通過所述鏈表群將不同的表類別進(jìn)行類聚;
步驟S3 :在查找表檔案時,對DL/T645地址進(jìn)行索引計算,并利用計算得出的索引號直接映射到對應(yīng)的表檔案。更進(jìn)一步地,步驟SI具體為根據(jù)DL/T645的表地址利用哈希方法建立表地址到索引號的映射,并將無序的表地址進(jìn)行有序化形成以哈希值為索引值的地址索引表。更進(jìn)一步地,在所述建立表地址到索引號的映射時采用線性重定向方法進(jìn)行二次或者多次映射。更進(jìn)一步地,所述步驟S2具體為將所述地址索引值作為鏈表群的檔案信息的指針,結(jié)合表檔案的電表屬性分類并創(chuàng)建鏈表集合形成屬性類聚化分區(qū)的環(huán)形鏈表群。更進(jìn)一步地,所述鏈表群包括表檔案信息索引、前驅(qū)節(jié)點(diǎn)索引指針和后逐節(jié)點(diǎn)索引指針。更進(jìn)一步地,所述步驟S3具體為在查找表檔案時,根據(jù)DL/T645的表地址利用哈希方法進(jìn)行索引計算,利用計算得出的哈希值查找地址表并定位到對應(yīng)的表檔案。更進(jìn)一步地,在步驟S3之后還包括在進(jìn)行刪除地址的表檔案操作時,刪除所述地址表相應(yīng)的索引號。更進(jìn)一步地,在步驟S3之后還包括在進(jìn)行添加地址的表檔案操作時,按地址表映射的方法得到可用的索引號。本發(fā)明實施例提供的用于采集終端的地址表管理方法根據(jù)DL/T645的表地址直接建立地址到索引號的映射,將無序的表地址進(jìn)行有序化,形成以哈希值為索引值的地址索引表;根據(jù)地址表索引將表地址檔案索引建立環(huán)形的鏈表群,通過鏈表群將不同的表類別進(jìn)行類聚,使得分類管理變得簡單,在查找過程中大大節(jié)約程序資源。
圖I是本發(fā)明實施例提供的一種用于采集終端的地址表管理方法實現(xiàn)流程圖。
具體實施例方式為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實施例,對本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。 本發(fā)明實施例提供的用于采集終端的地址表管理方法根據(jù)DL/T645的表地址,利用哈希方法直接建立地址到索引號的映射,將無序的表地址進(jìn)行有序化,形成以哈希值為索引值的地址索引表。根據(jù)地址表索引,將表地址檔案索引建立環(huán)形的鏈表群,通過鏈表群將不同的表類別進(jìn)行類聚,使得分類管理變得簡單,在查找過程中大大節(jié)約程序資源。在本發(fā)明實施例中,該地址表管理方法可以應(yīng)用于采集終端的表檔案的管理、快速查找和數(shù)據(jù)的存儲關(guān)聯(lián)映射,路由模塊的集中式路由表的查找與創(chuàng)建以及集中器表檔案的查找與創(chuàng)建。具體地,圖I示出了該用于采集終端的地址表管理方法的實現(xiàn)流程;為了便于說明,僅示出了與本發(fā)明實施例相關(guān)的部分,詳述如下
用于采集終端的地址表管理方法包括下述步驟
步驟SI :根據(jù)DL/T645的表地址建立表地址到索引號的映射,并將無序的表地址進(jìn)行處理形成有序化的地址索引表;
步驟S2 :根據(jù)地址索引表建立環(huán)形的鏈表群,并通過鏈表群將不同的表類別進(jìn)行類
聚;
步驟S3 :在查找表檔案時,對DL/T645地址進(jìn)行索引計算,并利用計算得出的索引號直接映射到對應(yīng)的表檔案。在本發(fā)明實施例中,步驟SI具體為根據(jù)DL/T645的表地址利用哈希方法建立表地址到索引號的映射,并將無序的表地址進(jìn)行有序化形成以哈希值為索引值的地址索引表。步驟S2具體為將地址索引值作為鏈表群的檔案信息的指針,結(jié)合表檔案的電表屬性分類并創(chuàng)建鏈表集合形成屬性類聚化分區(qū)的環(huán)形鏈表群。其中,DL/T645地址是6個字節(jié)BCD碼的地址,根據(jù)表計的容量的范圍,取最低2個字節(jié)的BCD碼作為哈希特征值的數(shù)據(jù)源,創(chuàng)建地址索弓丨表,完成索引號到表地址的映射,在映射過程中或者表地址的低2字節(jié)B⑶碼相同,采用線性重定向方法,進(jìn)行二次或者多次映射解決哈希地址沖突的問題;再根據(jù)創(chuàng)建的索引表,對電表地址及表檔案信息進(jìn)行有序化。代替占用資源較多的指向變量的地址指針,利用生成的電表地址索引作為鏈表群的指針,結(jié)合表檔案的電表屬性,分類創(chuàng)建成鏈表集合,最終形成屬性類聚化分區(qū)的環(huán)形鏈表群。在本發(fā)明實施例中,步驟S3具體為在查找表檔案時,根據(jù)DL/T645的表地址利用哈希方法進(jìn)行索引計算,利用計算得出的哈希值查找地址表并定位到對應(yīng)的表檔案。作為本發(fā)明的一個實施例,在步驟S3之后還包括刪除和添加步驟,在進(jìn)行刪除地址的表檔案操作時,刪除所述地址表相應(yīng)的索引號。在進(jìn)行添加地址的表檔案操作時,按地址表映射的方法得到可用的索引號。具體地,在刪除某地址的表檔案時,不能清除表檔案信息,只需刪除地址表相應(yīng)的索引號;直到添加到此索引號新的表檔案覆蓋為止;在添加中按地址表映射的方法得到可用的索引號;地址表可更改,且占用程序資源較小。在本發(fā)明實施例中,地址映射中引用哈希算法,采用線性定址防沖突建立與DL/T645地址關(guān)聯(lián)的地址表;根據(jù)表檔案的屬性,劃分多個管理區(qū),集中加入到鏈表群中;使用環(huán)形雙向鏈表,前向和后驅(qū)指針使用與表地址關(guān)聯(lián)的索引值。鏈表群包括表檔案信息索弓I、前驅(qū)節(jié)點(diǎn)索引指針和后逐節(jié)點(diǎn)索引指針。在本發(fā)明實施例中,在表檔案管理的過程中,只需要操作索引表就可以方便地管理表檔案,間接地操作表檔案;根據(jù)DL/T645電表的地址,結(jié)合表檔案容量,生成哈希的特征值,通過地址映射算法直接定位到要查找的表的檔案或數(shù)據(jù)信息;方法復(fù)雜度小,復(fù)雜度為0(e) (O^e <地址表最大容量);且操作快速、高效、方便管理表檔案。在本發(fā)明實施例中,DL/T645地址表管理方法是以哈希查找算法與雙向鏈表為基礎(chǔ),結(jié)合智能電網(wǎng)中對電表地址的檔案的管理特點(diǎn)設(shè)計的一種快速高效的管理方法。DL/T645的表地址有較好的離散性,極好地避免索引沖突的發(fā)生,可以構(gòu)造比較好的直接定址的哈希函數(shù);然后用索引號作為指針建立起表計索引的雙向環(huán)形鏈表,使用這個環(huán)形的鏈表管理表檔案,利用地址表來關(guān)聯(lián)表檔案,從而實現(xiàn)高效方便的表檔案管理和地址與表檔案信息的關(guān)聯(lián)查找,具體實現(xiàn)過程如下先從表地址中提取表地址中的低兩字節(jié)作為哈希的特征值,采用線性求哈希的方法得到建立地址表的索引號,對于有沖突產(chǎn)生的哈希計算,先將特征值修改為以O(shè)xbOOO為起始值的新的特征值使用開放定址方式再次進(jìn)行哈希,直到找到可以使用的地址表索引號,最終建立地址索引表;表地址鏈表群分三部分(I)表檔案信息索引,(2)前驅(qū)節(jié)點(diǎn)索引指針,(3)后逐節(jié)點(diǎn)索引指針;先根據(jù)表檔案屬性劃分成不同的區(qū)域,依次將不同區(qū)域的表檔案加入鏈表群,并將每個區(qū)域的頭節(jié)點(diǎn)作為這個區(qū)域的頭指針,形成鏈表群區(qū)。在遍歷或維護(hù)某種類別的表時,先定位到該類別的頭指針或下一區(qū)域尾指針,很大程度上縮減了查找的范圍,從而可以快速的查找到預(yù)期的表檔案信息。依據(jù)建立的地址索引表,在查找表檔案時,首先對DL/T645地址進(jìn)行索引計算,利用索引號直接映射到對應(yīng)的表檔案,實現(xiàn)快速的檔案查找。按照相同的方法,可以方便地對表檔案進(jìn)行添加和刪除等操作。本發(fā)明實施例提供的用于采集終端的地址表管理方法根據(jù)DL/T645的表地址直接建立地址到索引號的映射,將無序的表地址進(jìn)行有序化,形成以哈希值為索引值的地址索引表;根據(jù)地址表索引將表地址檔案索引建立環(huán)形的鏈表群,通過鏈表群將不同的表類別進(jìn)行類聚,使得分類管理變得簡單,同時也壓縮了地址長度,節(jié)約程序資源。以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精 神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種用于采集終端的地址表管理方法,其特征在于,包括下述步驟 步驟SI :根據(jù)DL/T645的表地址建立表地址到索引號的映射,并將無序的表地址進(jìn)行處理形成有序化的地址索引表; 步驟S2 :根據(jù)所述地址索引表建立環(huán)形的鏈表群,并通過所述鏈表群將不同的表類別進(jìn)行類聚; 步驟S3 :在查找表檔案吋,對DL/T645地址進(jìn)行索引計算,并利用計算得出的索引號直接映射到對應(yīng)的表檔案。
2.如權(quán)利要求I所述的地址表管理方法,其特征在于,所述步驟SI具體為根據(jù)DL/T645的表地址利用哈希方法建立表地址到索引號的映射,并將無序的表地址進(jìn)行有序化形成以哈希值為索引值的地址索引表。
3.如權(quán)利要求2所述的地址表管理方法,其特征在于,在所述建立表地址到索引號的映射時采用線性重定向方法進(jìn)行二次或者多次映射。
4.如權(quán)利要求I所述的地址表管理方法,其特征在于,所述步驟S2具體為將所述地址索引值作為鏈表群的檔案信息的指針,結(jié)合表檔案的電表屬性分類并創(chuàng)建鏈表集合形成屬性類聚化分區(qū)的環(huán)形鏈表群。
5.如權(quán)利要求I或4所述的地址表管理方法,其特征在于,所述鏈表群包括表檔案信息索引、前驅(qū)節(jié)點(diǎn)索引指針和后逐節(jié)點(diǎn)索引指針。
6.如權(quán)利要求2所述的地址表管理方法,其特征在于,所述步驟S3具體為在查找表檔案時,根據(jù)DL/T645的表地址利用哈希方法進(jìn)行索引計算,利用計算得出的哈希值查找地址表并定位到對應(yīng)的表檔案。
7.如權(quán)利要求I所述的地址表管理方法,其特征在于,在步驟S3之后還包括 在進(jìn)行刪除地址的表檔案操作時,刪除所述地址表相應(yīng)的索引號。
8.如權(quán)利要求7所述的地址表管理方法,其特征在于,在步驟S3之后還包括在進(jìn)行添加地址的表檔案操作吋,按地址表映射的方法得到可用的索引號。
全文摘要
本發(fā)明適用于智能電能表領(lǐng)域,提供了一種用于采集終端的地址表管理方法;該方法包括下述步驟根據(jù)DL/T645的表地址建立表地址到索引號的映射,并將無序的表地址進(jìn)行處理形成有序化的地址索引表;根據(jù)所述地址索引表建立環(huán)形的鏈表群,并通過所述鏈表群將不同的表類別進(jìn)行類聚;在查找表檔案時,對DL/T645地址進(jìn)行索引計算,并利用計算得出的索引號直接映射到對應(yīng)的表檔案。采用上述方法使得分類管理變得簡單,實現(xiàn)快速查找,節(jié)約程序資源,特別是對于具有類別多和數(shù)量多的鏈表群,優(yōu)勢尤為明顯。
文檔編號G06F17/30GK102663099SQ20121010896
公開日2012年9月12日 申請日期2012年4月13日 優(yōu)先權(quán)日2012年4月13日
發(fā)明者張宗繼, 文新根 申請人:深圳市航天泰瑞捷電子有限公司