一種循環文件更新的事物保護方法
2023-05-22 09:22:26 1
專利名稱:一種循環文件更新的事物保護方法
技術領域:
本發明涉及數據更新領域,確切地說是指一種循環文件更新的事物保護方法。
背景技術:
智慧卡中的存儲著許多用戶數據,用戶在使用行動電話通訊時,行動電話會對智慧卡中的存儲的數據進行數據的讀寫,其數據存儲是以文件的形式存在的,而其文件類型有三種透明文件,線性固定文件,循環文件。智慧卡中對於透明文件和線性固定文件的更新只存在著一次寫操作,而對於循環文件的更新操作,存在兩個步驟的寫操作,第一步根據記錄指針更新最舊一條記錄,第二步更新記錄指針,使記錄指針指向被更新的記錄。智慧卡只針對單個寫操作有斷電保護,而循環文件的記錄更新存在著兩次寫操作,如果在第一個步驟後發生了斷電,那麼就存在記錄被更新,記錄指針沒有被更新的記錄的情況。循環文件由文件頭和主體部分組成,其文件頭包含當前記錄指針,記錄長度,記錄個數等信息,文件體為每條記錄的具體內容。循環文件是以時間順序存儲的記錄文件,當所有的記錄已經被佔用時,新的存儲數據將會覆蓋最舊的記錄。循環結構的文件由固定記錄數的定長記錄組成。在這種文件結構中,第一條記錄和最後一條記錄之間有一個指針連結。當記錄指針在最後一條記錄,那麼下一條記錄是第一條記錄。同樣,當記錄指針在記錄1那麼他的上一條記錄就是記錄η。最新更新的記錄號為1,最舊的記錄號為η,循環文件的結構如圖1所示。對於循環文件的更新記錄操作,如果最新的記錄號為1,最舊的一條記錄號為η, 文件頭中的記錄指針為1,表示記錄號為1的記錄為第一條記錄。在循環文件進行更新記錄操作時,分為兩個步驟1、更新文件主體的記錄號為η的最舊記錄;2、更新文件頭中的記錄指針為η,表示記錄η為第一條記錄。正常的循環文件的更新流程循環文件的記錄指針指向記錄1,那麼記錄1為循環文件的第一條記錄,記錄η為循環文件的上一條記錄,為最舊的一條記錄。具體步驟1、循環文件記錄把更新記錄更新到記錄號為η的記錄,如圖2所示。2、將更新記錄的內容寫入記錄η,再把記錄指針指向記錄η,如圖3所示。如果智慧卡在執行循環文件的更新記錄操作的第一步驟後發生了斷電,那麼就出現了文件主體的記錄η被更新,文件頭中的記錄指針沒有修改的情況,那麼就不符合循環記錄的更新操作。
發明內容
針對上述缺陷,本發明解決的技術問題在於提供一種循環文件更新的事物保護方法,利用添加的備份記錄η+1,解決了循環文件在記錄更新操作時的事物保護的問題。
為了解決以上的技術問題,本發明提供的循環文件更新的事物保護方法,循環文件包括文件頭和主體部分,所述主體部分包括若干記錄,分別為記錄1到記錄Π,包括以下步驟(1)在循環文件增加一條與循環文件長度相同的記錄作為最舊記錄的備份,該記錄為記錄n+1 ;(2)循環文件更新時,將更新記錄的內容更新到記錄n+1中;(3)將循環文件頭中的記錄指針,使得記錄指針指向記錄n+1。優選地,所述方法應用於智慧卡的循環文件更新中。與現有技術相比,本發明提供的循環文件更新的事物保護方法,備份記錄的添加, 有效的避免了循環文件在記錄更新中的對文件的主體以及文件頭的兩步操作過程中智慧卡發生了斷電,導致循環文件的在更新記錄操作中發生了斷電而導致的異常;由於添加了備份記錄,循環文件的更新記錄操作步驟只有與循環文件頭的記錄指針更新成功有關,簡化了循環文件的更新記錄操作的事物保護的流程,解決了循環文件在記錄更新操作時的事物保護的問題。
圖1為循環文件的結構框圖;圖2為現有技術中循環文件更新的第一步驟圖;圖3為現有技術中循環文件更新的第二步驟圖;圖4為本發明中循環文件更新的第二步驟圖;圖5為本發明中循環文件更新的第三步驟圖。
具體實施例方式為了本領域的技術人員能夠更好地理解本發明所提供的技術方案,下面結合具體實施例進行闡述。本發明提供的循環文件更新的事物保護方法,循環文件包括文件頭和主體部分, 所述主體部分包括若干記錄,分別為記錄1到記錄n,包括以下步驟(1)在循環文件增加一條與循環文件長度相同的記錄作為最舊記錄的備份,該記錄為記錄n+1 ;(2)循環文件更新時,將更新記錄的內容更新到記錄n+1中,如圖4所示;(3)將循環文件頭中的記錄指針,使得記錄指針指向記錄n+1,如圖5所示。上述方法可以應用於智慧卡的循環文件更新中。本發明提供的循環文件記錄的事物保護的實現方法,在步驟(1)中,循環文件創建一條與循環文件記錄長度相同的記錄作為最舊記錄的備份,如果循環文件為η條記錄, 那麼文件創建時創建n+1條記錄,與循環文件大小一樣,該條記錄相對於智慧卡用戶是不可見的,只用於智慧卡的內部操作。按照上訴操作,更新記錄的操作正常結束,對於循環文件來說,步驟(2)把更新記錄被更新到備份記錄n+1中,步驟(3)把循環文件的文件頭的記錄指針修改為n+1,對於用戶來說有效的記錄號為n+l,n,n-l...,2。記錄號為1的為備份記錄,其它的η條記錄為循環文件的有效記錄。循環文件記錄更新成功。如果智慧卡在循環文件更新記錄步驟2時發生了斷電,步驟3沒有執行,對於循環文件來說,更新記錄的內容已經被更新到記錄n+1,但是循環文件的文件頭的記錄指針還是沒有被改變,雖然第n+1條記錄已經被更新,循環文件的有效記錄號為l,2...n,記錄n+1為備份記錄,記錄號為1,2. . . η的η條記錄為循環文件的有效記錄,循環文件的文件主體的記錄和文件頭的指針都沒有被修改,只是修改了備份記錄的內容,所以在步驟1操作智慧卡發生了斷電,對循環文件的內容是沒有改變的,該情況下循環文件的事物保護就已經實現。在循環文件進行更新記錄操作時,循環文件的最舊的記錄沒有被更新,實際更新的記錄為實現循環文件事物保護而添加的備份記錄。對於智慧卡來說,在進行循環文件的更新記錄時,不管在執行步驟2,或者步驟3後發生了斷電,由於添加了一條記錄作為循環文件的備份記錄,循環文件的文件頭中的記錄指針的上一條都為備份記錄,循環文件在進行記錄更新時都是更新到備份記錄中,如果循環文件的文件頭的記錄指針沒有更新,循環文件的有效的η條記錄沒有被修改,故該文件的內容沒有改變。如果循環文件的文件頭的記錄指針被更新了,那麼備份記錄就成為了循環文件第一條記錄,該備份記錄的上一條記錄就成為了備份記錄,該循環文件的主體與文件頭都已經被更新。循環文件中添加的一條備份記錄,該備份記錄的記錄號不是固定的,但是備份記錄的位置是固定的,循環文件的文件頭的記錄指針所指的記錄的前一條記錄。如果循環文件的文件頭的記錄指針為n+1時,記錄號為1的記錄為備份記錄,在讀循環文件的上一條記錄時,讀出的記錄內容為記錄號為2的記錄內容,需要跳過記錄號為1的記錄,因為該條記錄為備份記錄。與現有技術相比,本發明提供的循環文件更新的事物保護方法,備份記錄的添加, 有效的避免了循環文件在記錄更新中的對文件的主體以及文件頭的兩步操作過程中智慧卡發生了斷電,導致循環文件的在更新記錄操作中發生了斷電而導致的異常;由於添加了備份記錄,循環文件的更新記錄操作步驟只有與循環文件頭的記錄指針更新成功有關,簡化了循環文件的更新記錄操作的事物保護的流程,解決了循環文件在記錄更新操作時的事物保護的問題。對所公開的實施例的上述說明,使本領域專業技術人員能夠實現或使用本發明。 對這些實施例的多種修改對本領域的專業技術人員來說將是顯而易見的,本文中所定義的一般原理可以在不脫離本發明的精神或範圍的情況下,在其它實施例中實現。因此,本發明將不會被限制於本文所示的這些實施例,而是要符合與本文所公開的原理和新穎特點相一致的最寬的範圍。
權利要求
1.一種循環文件更新的事物保護方法,循環文件包括文件頭和主體部分,所述主體部分包括若干記錄,分別為記錄1到記錄n,其特徵在於,包括以下步驟(1)在循環文件增加一條與循環文件長度相同的記錄作為最舊記錄的備份,該記錄為記錄n+1 ;(2)循環文件更新時,將更新記錄的內容更新到記錄n+1中;(3)將循環文件頭中的記錄指針,使得記錄指針指向記錄n+1。
2.根據權利要求1所述的循環文件更新的事物保護方法,其特徵在於,所述方法應用於智慧卡的循環文件更新中。
全文摘要
本發明公開一種循環文件更新的事物保護方法,循環文件包括文件頭和主體部分,所述主體部分包括若干記錄,分別為記錄1到記錄n,包括以下步驟(1)在循環文件增加一條與循環文件長度相同的記錄作為最舊記錄的備份,該記錄為記錄n+1;(2)循環文件更新時,將更新記錄的內容更新到記錄n+1中;(3)將循環文件頭中的記錄指針,使得記錄指針指向記錄n+1。與現有技術相比,本發明提供的循環文件更新的事物保護方法,利用添加的備份記錄n+1,解決了循環文件在記錄更新操作時的事物保護的問題。
文檔編號G06F17/30GK102306195SQ201110282540
公開日2012年1月4日 申請日期2011年9月21日 優先權日2011年9月21日
發明者楊夢飛 申請人:東信和平智慧卡股份有限公司