本發(fā)明涉及計(jì)算機(jī)技術(shù)領(lǐng)域,特別是涉及一種脫機(jī)交易記錄保存方法、裝置、計(jì)算機(jī)設(shè)備和存儲(chǔ)介質(zhì)。
背景技術(shù):
在脫機(jī)交易設(shè)備中,脫機(jī)交易完成后,會(huì)在本地存儲(chǔ)脫機(jī)交易記錄。當(dāng)脫機(jī)交易記錄達(dá)到一定數(shù)量時(shí),脫機(jī)交易設(shè)備將脫機(jī)交易記錄上傳給后臺(tái)。如果在脫機(jī)交易記錄上傳之前,脫機(jī)交易設(shè)備發(fā)生了故障,很可能出現(xiàn)脫機(jī)交易記錄不完整的問(wèn)題。因此,如何有效保存脫機(jī)交易記錄,提高脫機(jī)交易記錄完整性是目前需要解決的一個(gè)技術(shù)問(wèn)題。
技術(shù)實(shí)現(xiàn)要素:
基于此,有必要針對(duì)上述技術(shù)問(wèn)題,提供一種既能有效保存脫機(jī)交易記錄又能提高脫機(jī)交易記錄完整性的脫機(jī)交易記錄保存方法、裝置、計(jì)算機(jī)設(shè)備和存儲(chǔ)介質(zhì)。
一種脫機(jī)交易記錄保存方法,所述方法包括:
獲取第一存儲(chǔ)裝置的第一文件,所述第一文件包括脫機(jī)交易記錄;
獲取第二存儲(chǔ)裝置的第二文件,所述第二文件包括脫機(jī)交易記錄;
對(duì)所述第一文件和所述第二文件分別進(jìn)行完整性校驗(yàn);
若所述第一文件校驗(yàn)成功且所述第二文件校驗(yàn)失敗,則利用所述第一文件中的脫機(jī)交易記錄替換所述第二文件中的脫機(jī)交易記錄,在所述第二存儲(chǔ)裝置中保存替換后的第二文件;若所述第一文件校驗(yàn)失敗且所述第二文件校驗(yàn)成功,則利用所述第二文件中的脫機(jī)交易記錄替換所述第一文件中的脫機(jī)交易記錄,在所述第一存儲(chǔ)裝置中保存替換后的第一文件。
在其中一個(gè)實(shí)施例中,所述對(duì)所述第一文件和所述第二文件分別進(jìn)行完整性校驗(yàn)的步驟之后,所述方法還包括:
若所述第一文件和所述第二文件均校驗(yàn)成功,則獲取所述第一文件長(zhǎng)度和所述第二文件長(zhǎng)度;
對(duì)所述第一文件長(zhǎng)度和所述第二文件長(zhǎng)度進(jìn)行一致性校驗(yàn)。
在其中一個(gè)實(shí)施例中,所述第一文件還包括第一校驗(yàn)碼,所述完整性校驗(yàn)包括對(duì)所述第一文件長(zhǎng)度進(jìn)行校驗(yàn),所述對(duì)所述第一文件長(zhǎng)度進(jìn)行校驗(yàn)的步驟,包括:
獲取所述第一文件長(zhǎng)度;
獲取單條脫機(jī)交易記錄字節(jié)數(shù),所述單條脫機(jī)交易記錄字節(jié)數(shù)包括所述第一文件中的單條脫機(jī)交易記錄占用的字節(jié);
獲取校驗(yàn)碼字節(jié)數(shù),所述校驗(yàn)碼字節(jié)數(shù)包括所述第一校驗(yàn)碼占用的字節(jié);
通過(guò)所述單條脫機(jī)交易記錄字節(jié)數(shù)、所述校驗(yàn)碼字節(jié)數(shù)和所述第一文件長(zhǎng)度,計(jì)算所述第一文件中的脫機(jī)交易記錄條數(shù);
判斷所述第一文件中的脫機(jī)交易記錄條數(shù)是否為正整數(shù);
若不是,則所述第一文件校驗(yàn)失敗。
在其中一個(gè)實(shí)施例中,所述第一文件還包括第一校驗(yàn)碼,所述完整性校驗(yàn)還包括對(duì)校驗(yàn)碼進(jìn)行校驗(yàn),所述對(duì)校驗(yàn)碼進(jìn)行校驗(yàn)包括對(duì)所述第一校驗(yàn)碼進(jìn)行校驗(yàn)的步驟,包括:
獲取預(yù)設(shè)的密鑰;
通過(guò)所述密鑰和所述第一文件中的脫機(jī)交易記錄計(jì)算所述第一文件對(duì)應(yīng)的第一完整性校驗(yàn)碼;
判斷所述第一文件的第一校驗(yàn)碼是否與所述第一文件對(duì)應(yīng)的第一完整性校驗(yàn)碼相等;
若不相等,則所述第一文件校驗(yàn)失敗。
在其中一個(gè)實(shí)施例中,所述第一存儲(chǔ)裝置為內(nèi)存儲(chǔ)裝置,所述第二存儲(chǔ)裝置為外存儲(chǔ)裝置,對(duì)所述第一文件長(zhǎng)度和所述第二文件長(zhǎng)度進(jìn)行一致性校驗(yàn)的步驟,包括:
若所述第一文件長(zhǎng)度大于所述第二文件長(zhǎng)度,則利用所述第一文件中的脫機(jī)交易記錄替換所述第二文件中的脫機(jī)交易記錄;
若所述第一文件長(zhǎng)度等于所述第二文件長(zhǎng)度且內(nèi)容不一致,則利用所述第一文件中的脫機(jī)交易記錄替換所述第二文件中的脫機(jī)交易記錄;
若所述第一文件長(zhǎng)度小于所述第二文件長(zhǎng)度,則利用所述第二文件中的脫機(jī)交易記錄替換所述第一文件中的脫機(jī)交易記錄。
一種脫機(jī)交易記錄保存裝置,所述裝置包括:
獲取模塊,用于獲取第一存儲(chǔ)裝置的第一文件,所述第一文件包括脫機(jī)交易記錄;獲取第二存儲(chǔ)裝置的第二文件,所述第二文件包括脫機(jī)交易記錄;
校驗(yàn)?zāi)K,用于對(duì)所述第一文件和所述第二文件分別進(jìn)行完整性校驗(yàn);
替換模塊,用于若所述第一文件校驗(yàn)成功且所述第二文件校驗(yàn)失敗,則利用所述第一文件中的脫機(jī)交易記錄替換所述第二文件中的脫機(jī)交易記錄;若所述第一文件校驗(yàn)失敗且所述第二文件校驗(yàn)成功,則利用所述第二文件中的脫機(jī)交易記錄替換所述第一文件中的脫機(jī)交易記錄;保存模塊,用于在所述第二存儲(chǔ)裝置中保存替換后的第二文件,在所述第一存儲(chǔ)裝置中保存替換后的第一文件。
在其中一個(gè)實(shí)施例中,所述獲取模塊還用于若所述第一文件和所述第二文件均校驗(yàn)成功,則獲取所述第一文件長(zhǎng)度和所述第二文件長(zhǎng)度,所述校驗(yàn)?zāi)K還用于對(duì)所述第一文件長(zhǎng)度和所述第二文件長(zhǎng)度進(jìn)行一致性校驗(yàn)。
在其中一個(gè)實(shí)施例中,所述第一文件還包括第一校驗(yàn)碼,所述校驗(yàn)?zāi)K還用于對(duì)所述第一文件長(zhǎng)度進(jìn)行校驗(yàn),包括:獲取所述第一文件長(zhǎng)度;獲取單條脫機(jī)交易記錄字節(jié)數(shù),所述單條脫機(jī)交易記錄字節(jié)數(shù)包括所述第一文件中的單條脫機(jī)交易記錄占用的字節(jié);獲取校驗(yàn)碼字節(jié)數(shù),所述校驗(yàn)碼字節(jié)數(shù)包括所述第一校驗(yàn)碼占用的字節(jié);通過(guò)所述單條脫機(jī)交易記錄字節(jié)數(shù)、所述校驗(yàn)碼字節(jié)數(shù)和所述第一文件長(zhǎng)度,計(jì)算所述第一文件中的脫機(jī)交易記錄條數(shù);判斷所述第一文件中的脫機(jī)交易記錄條數(shù)是否為正整數(shù);若不是,則所述第一文件校驗(yàn)失敗。
一種計(jì)算機(jī)設(shè)備,包括存儲(chǔ)器、處理器以及存儲(chǔ)在存儲(chǔ)器上并可在處理器上運(yùn)行的計(jì)算機(jī)程序,所述處理器執(zhí)行所述計(jì)算機(jī)程序時(shí)實(shí)現(xiàn)上述實(shí)施例中提供的方法步驟。
一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其上存儲(chǔ)有計(jì)算機(jī)程序,所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)上述實(shí)施例中提供的方法步驟。
上述脫機(jī)交易記錄保存方法、裝置、計(jì)算機(jī)設(shè)備和存儲(chǔ)介質(zhì),脫機(jī)交易設(shè)備通過(guò)第一存儲(chǔ)裝置和第二存儲(chǔ)裝置分別存儲(chǔ)脫機(jī)交易記錄,降低了第一存儲(chǔ)裝置和第二存儲(chǔ)裝置同時(shí)故障的可能性。通過(guò)對(duì)第一文件和第二文件進(jìn)行完整性校驗(yàn),可以發(fā)現(xiàn)脫機(jī)交易記錄是否完整。通過(guò)將校驗(yàn)成功的文件中的脫機(jī)交易記錄替換校驗(yàn)失敗的文件中的脫機(jī)交易記錄,使第一文件中的脫機(jī)交易記錄和第二文件中的脫機(jī)交易記錄完整、一致,進(jìn)一步提高脫機(jī)交易記錄的完整性。
附圖說(shuō)明
圖1為一個(gè)實(shí)施例中脫機(jī)交易記錄保存方法的流程圖;
圖2為一個(gè)實(shí)施例中脫機(jī)交易記錄保存裝置的結(jié)構(gòu)示意圖;
圖3為一個(gè)實(shí)施例中計(jì)算機(jī)設(shè)備的結(jié)構(gòu)示意圖。
具體實(shí)施方式
為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對(duì)本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說(shuō)明。應(yīng)當(dāng)理解,此處描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
在一個(gè)實(shí)施例中,如圖1所示,提供了一種脫機(jī)交易記錄保存方法,以該方法應(yīng)用于脫機(jī)交易設(shè)備為例進(jìn)行說(shuō)明,具體包括:
步驟102,獲取第一存儲(chǔ)裝置的第一文件,第一文件包括脫機(jī)交易記錄。
步驟104,獲取第二存儲(chǔ)裝置的第二文件,第二文件包括脫機(jī)交易記錄。
脫機(jī)交易設(shè)備是指在脫機(jī)狀態(tài)下進(jìn)行脫機(jī)交易的金融脫機(jī)交易設(shè)備,可以是公交車車載收費(fèi)終端、地鐵收費(fèi)終端或食堂收費(fèi)終端等。部分聯(lián)機(jī)交易設(shè)備在脫機(jī)狀態(tài)下也可以作為脫機(jī)交易設(shè)備使用,例如,pos機(jī)(pointofsalesterminal,銷售點(diǎn)終端管理系統(tǒng))。
傳統(tǒng)的脫機(jī)交易設(shè)備只包括一個(gè)存儲(chǔ)裝置。一旦存儲(chǔ)裝置發(fā)生故障,脫機(jī)交易記錄將會(huì)丟失。本實(shí)施例中的脫機(jī)交易設(shè)備可以包括兩個(gè)或兩個(gè)以上存儲(chǔ)裝置,存儲(chǔ)裝置包括內(nèi)存儲(chǔ)裝置和外存儲(chǔ)裝置。內(nèi)存儲(chǔ)裝置可以包括至少一個(gè)存儲(chǔ)裝置,內(nèi)存儲(chǔ)裝置可以是flash存儲(chǔ)裝置,也可以是sram(staticrandomaccessmemory,靜態(tài)隨機(jī)存取存儲(chǔ)器)存儲(chǔ)裝置。外存儲(chǔ)裝置可以包括至少一個(gè)存儲(chǔ)裝置,外存儲(chǔ)裝置可以是sd卡(securedigitalcard)存儲(chǔ)裝置,也可以是esam卡(embeddedsecureaccessmodule,嵌入式安全模塊)。內(nèi)存儲(chǔ)裝置中的一個(gè)存儲(chǔ)裝置可以叫做第一存儲(chǔ)裝置,外存儲(chǔ)裝置中的一個(gè)存儲(chǔ)裝置可以叫做第二存儲(chǔ)裝置。內(nèi)存儲(chǔ)裝置中的一個(gè)存儲(chǔ)裝置也可以叫做第二存儲(chǔ)裝置,外存儲(chǔ)裝置中的一個(gè)存儲(chǔ)裝置相應(yīng)的叫做第一存儲(chǔ)裝置。存儲(chǔ)裝置中存儲(chǔ)了多個(gè)文件,包括脫機(jī)交易記錄文件。脫機(jī)交易記錄文件中存儲(chǔ)了脫機(jī)交易記錄。脫機(jī)交易記錄文件包括第一文件和第二文件,脫機(jī)交易設(shè)備在第一存儲(chǔ)裝置中存儲(chǔ)了第一文件,第二存儲(chǔ)裝置中存儲(chǔ)了第二文件。
當(dāng)脫機(jī)交易設(shè)備發(fā)生交易時(shí),產(chǎn)生脫機(jī)交易記錄。脫機(jī)交易記錄包括脫機(jī)交易信息,例如,脫機(jī)交易時(shí)間、脫機(jī)交易金額以及脫機(jī)交易方式等。脫機(jī)交易設(shè)備將脫機(jī)交易記錄寫入存儲(chǔ)裝置的脫機(jī)交易記錄文件中,具體地,將脫機(jī)交易記錄分別寫入第一存儲(chǔ)裝置中的第一文件以及第二存儲(chǔ)裝置中的第二文件。
步驟106,對(duì)第一文件和第二文件分別進(jìn)行完整性校驗(yàn)。
當(dāng)脫機(jī)交易設(shè)備向脫機(jī)交易記錄文件寫入脫機(jī)交易記錄時(shí),如果脫機(jī)交易記錄寫入失敗,將導(dǎo)致脫機(jī)交易記錄文件中的脫機(jī)交易記錄不完整。為了確保脫機(jī)交易記錄完整,脫機(jī)交易設(shè)備需要對(duì)脫機(jī)交易記錄文件進(jìn)行完整性校驗(yàn),包括對(duì)第一文件和對(duì)第二文件分別進(jìn)行完整性校驗(yàn)。
具體地,脫機(jī)交易設(shè)備對(duì)脫機(jī)交易記錄文件進(jìn)行完整性校驗(yàn),包括對(duì)脫機(jī)交易記錄文件長(zhǎng)度進(jìn)行校驗(yàn)以及對(duì)脫機(jī)交易記錄文件中的校驗(yàn)碼進(jìn)行校驗(yàn)。其中,脫機(jī)交易設(shè)備通過(guò)對(duì)脫機(jī)交易記錄文件長(zhǎng)度進(jìn)行校驗(yàn),可以檢測(cè)出部分脫機(jī)交易記錄不完整的脫機(jī)交易記錄文件。例如,當(dāng)脫機(jī)交易設(shè)備寫入脫機(jī)交易記錄時(shí),脫機(jī)交易設(shè)備發(fā)生斷電,脫機(jī)交易設(shè)備無(wú)法繼續(xù)寫入該條脫機(jī)交易記錄,則該條脫機(jī)交易記錄文件不完整。
脫機(jī)交易設(shè)備對(duì)脫機(jī)交易記錄文件長(zhǎng)度進(jìn)行校驗(yàn)時(shí),首先,脫機(jī)交易設(shè)備獲取脫機(jī)交易記錄文件長(zhǎng)度、單條脫機(jī)交易記錄字節(jié)數(shù)和校驗(yàn)碼字節(jié)數(shù)。其次,脫機(jī)交易設(shè)備通過(guò)脫機(jī)交易記錄文件長(zhǎng)度、單條脫機(jī)交易記錄字節(jié)數(shù)和校驗(yàn)碼字節(jié)數(shù)計(jì)算脫機(jī)交易記錄條數(shù)。然后,判斷脫機(jī)交易記錄條數(shù)是否為正整數(shù),如果脫機(jī)交易記錄條數(shù)不是正整數(shù),說(shuō)明脫機(jī)交易記錄不完整,則該脫機(jī)交易記錄文件校驗(yàn)失敗。通過(guò)脫機(jī)交易記錄文件長(zhǎng)度計(jì)算脫機(jī)交易記錄條數(shù),可以根據(jù)脫機(jī)交易記錄條數(shù)判斷脫機(jī)交易記錄是否殘缺,初步確定脫機(jī)交易記錄的完整性。
進(jìn)一步地,如果脫機(jī)交易設(shè)備寫入脫機(jī)交易記錄時(shí),突然發(fā)生斷電,且斷電時(shí)刻寫入的那條脫機(jī)交易記錄字節(jié)數(shù)等于校驗(yàn)碼字節(jié)數(shù),校驗(yàn)碼沒(méi)有生成,則通過(guò)對(duì)脫機(jī)交易記錄文件長(zhǎng)度進(jìn)行校驗(yàn)時(shí),脫機(jī)交易設(shè)備將該條不完整的脫機(jī)交易記錄誤認(rèn)為校驗(yàn)碼,無(wú)法檢查出脫機(jī)交易記錄是否完整。因此,脫機(jī)交易設(shè)備對(duì)脫機(jī)交易記錄文件長(zhǎng)度進(jìn)行校驗(yàn)之后,還可以進(jìn)一步對(duì)脫機(jī)交易記錄文件中的校驗(yàn)碼進(jìn)行校驗(yàn)。脫機(jī)交易文件中除了脫機(jī)交易記錄之外,還包括校驗(yàn)碼。校驗(yàn)碼是利用脫機(jī)交易記錄文件中的脫機(jī)交易記錄和預(yù)存的密鑰生成的。第一文件中包括脫機(jī)交易記錄和第一校驗(yàn)碼。第二文件中包括脫機(jī)交易記錄和第二校驗(yàn)碼。脫機(jī)交易設(shè)備對(duì)脫機(jī)交易記錄文件長(zhǎng)度進(jìn)行校驗(yàn)之后,對(duì)脫機(jī)交易記錄文件中的校驗(yàn)碼進(jìn)行校驗(yàn)。
具體地,脫機(jī)交易設(shè)備獲取預(yù)設(shè)的密鑰,通過(guò)密鑰和第一文件中的脫機(jī)交易記錄計(jì)算第一文件的第一完整性校驗(yàn)碼,判斷第一校驗(yàn)碼是否與第一完整性校驗(yàn)碼相等。如果相等,表示第一校驗(yàn)碼包含的脫機(jī)交易記錄信息和第一完整性校驗(yàn)碼第一完整性校驗(yàn)碼包含的脫機(jī)交易記錄信息一致,第一文件的完整性校驗(yàn)成功;若不相等,表示第一校驗(yàn)碼的第一完整性校驗(yàn)碼不是正確的校驗(yàn)碼,而是不完整的脫機(jī)交易記錄,第一文件中的脫機(jī)交易記錄不完整,則第一文件的完整性校驗(yàn)失敗。
可以理解地,脫機(jī)交易設(shè)備對(duì)第二文件進(jìn)行校驗(yàn)碼校驗(yàn)也可以采用上述方式,不再贅述。校驗(yàn)碼包括脫機(jī)交易記錄屬性,脫機(jī)交易設(shè)備通過(guò)對(duì)校驗(yàn)碼進(jìn)行校驗(yàn)進(jìn)一步確定脫機(jī)交易記錄文件中的脫機(jī)交易記錄的完整性。
步驟108,若第一文件校驗(yàn)成功且第二文件校驗(yàn)失敗,則利用第一文件的脫機(jī)交易記錄替換第二文件的脫機(jī)交易記錄,在第二存儲(chǔ)裝置中保存替換后的第二文件;若第一文件校驗(yàn)失敗且第二文件校驗(yàn)成功,則利用第二文件中的脫機(jī)交易記錄替換第一文件中的脫機(jī)交易記錄,在第一存儲(chǔ)裝置中保存替換后的第一文件。
脫機(jī)交易設(shè)備對(duì)第一文件和第二文件分別進(jìn)行完整性校驗(yàn)之后,獲取第一文件和第二文件的完整性校驗(yàn)結(jié)果。完整性校驗(yàn)結(jié)果是指脫機(jī)交易記錄文件校驗(yàn)成功或校驗(yàn)失敗的結(jié)果。如果第一文件校驗(yàn)成功且第二文件校驗(yàn)失敗,說(shuō)明第一文件中的脫機(jī)交易記錄保存完整且第二文件中的脫機(jī)交易記錄保存不完整,脫機(jī)交易設(shè)備利用第一文件中的脫機(jī)交易記錄替換第二文件中的脫機(jī)交易記錄,在第二存儲(chǔ)裝置中保存替換后的第二文件。反之,如果第二文件校驗(yàn)成功且第一文件校驗(yàn)失敗,說(shuō)明第二文件中的脫機(jī)交易記錄保存完整且第一文件中的脫機(jī)交易記錄保存不完整,則利用第二文件替換第一文件,在第一存儲(chǔ)裝置中保存替換后的第一文件。脫機(jī)交易設(shè)備通過(guò)將校驗(yàn)成功的文件替換校驗(yàn)失敗的文件,脫機(jī)交易記錄不完整的文件替換成了脫機(jī)交易記錄完整的文件,第一文件中的脫機(jī)交易記錄和第二文件中的脫機(jī)交易記錄均完整,且達(dá)到了一致。
在一個(gè)實(shí)施例中,脫機(jī)交易設(shè)備根據(jù)脫機(jī)交易記錄文件的完整性校驗(yàn)結(jié)果替換脫機(jī)交易記錄文件的內(nèi)容,可以替換脫機(jī)交易記錄文件中的脫機(jī)交易記錄,也可以替換脫機(jī)交易記錄文件中的脫機(jī)交易記錄和校驗(yàn)碼,還可以直接將脫機(jī)交易記錄文件替換。例如,如果第一文件校驗(yàn)成功且第二文件校驗(yàn)失敗,脫機(jī)交易設(shè)備可以利用第一文件中的脫機(jī)交易記錄替換第二文件中的脫機(jī)交易記錄,也可以利用第一文件中的脫機(jī)交易記錄和第一校驗(yàn)碼分別替換第二文件中的脫機(jī)交易記錄和第二校驗(yàn)碼,還可以將第一文件直接替換第二文件。脫機(jī)交易設(shè)備直接替換脫機(jī)交易記錄文件的方法較為簡(jiǎn)單。
本實(shí)施例中,脫機(jī)交易設(shè)備的存儲(chǔ)裝置包括第一存儲(chǔ)裝置和第二存儲(chǔ)裝置,存儲(chǔ)裝置中包括脫機(jī)交易記錄文件,脫機(jī)交易記錄文件包括第一文件和第二文件,其中,第一文件存儲(chǔ)在第一存儲(chǔ)裝置中,第二文件存儲(chǔ)在第二存儲(chǔ)裝置中。脫機(jī)交易設(shè)備對(duì)第一文件和第二文件分別進(jìn)行完整性校驗(yàn),若第一文件校驗(yàn)成功且第二文件校驗(yàn)失敗,則利用第一文件的脫機(jī)交易記錄替換第二文件的脫機(jī)交易記錄,在第二存儲(chǔ)裝置中保存替換后的第二文件,反之亦可。脫機(jī)交易設(shè)備通過(guò)第一存儲(chǔ)裝置和第二存儲(chǔ)裝置分別存儲(chǔ)脫機(jī)交易記錄,降低了存儲(chǔ)裝置故障的可能性。通過(guò)對(duì)第一文件和第二文件進(jìn)行完整性校驗(yàn),可以發(fā)現(xiàn)脫機(jī)交易記錄是否完整。通過(guò)將校驗(yàn)成功的文件中的脫機(jī)交易記錄替換校驗(yàn)失敗的文件中的脫機(jī)交易記錄,使第一文件中的脫機(jī)交易記錄和第二文件中的脫機(jī)交易記錄完整、一致,進(jìn)一步提高脫機(jī)交易記錄的完整性。
在一個(gè)實(shí)施例中,對(duì)第一文件和第二文件分別進(jìn)行完整性校驗(yàn)的步驟之后,還包括:若第一文件和第二文件均校驗(yàn)成功,則獲取第一文件長(zhǎng)度和第二文件長(zhǎng)度;對(duì)第一文件長(zhǎng)度和第二文件長(zhǎng)度進(jìn)行一致性校驗(yàn)。
脫機(jī)交易設(shè)備向存儲(chǔ)裝置寫入脫機(jī)交易記錄之前,如果其中一個(gè)脫機(jī)交易記錄文件中已經(jīng)存有脫機(jī)交易記錄,而另一個(gè)脫機(jī)交易記錄文件中沒(méi)有脫機(jī)交易記錄,那么,向兩個(gè)脫機(jī)交易記錄文件分別寫入脫機(jī)交易記錄的情況下,第一文件和第二文件均能通過(guò)完整性校驗(yàn),但是兩個(gè)脫機(jī)交易記錄文件中保存的脫機(jī)交易記錄不一致。因此,脫機(jī)交易設(shè)備需要進(jìn)一步對(duì)第一文件和第二文件進(jìn)行比較,包括對(duì)第一文件長(zhǎng)度和第二文件長(zhǎng)度進(jìn)行比較、對(duì)第一文件的內(nèi)容和第二文件的內(nèi)容進(jìn)行比較。
具體地,如果第一文件和第二文件均校驗(yàn)成功,脫機(jī)交易設(shè)備對(duì)第一文件長(zhǎng)度和第二文件長(zhǎng)度進(jìn)行比較。如果第一文件長(zhǎng)度大于第二文件長(zhǎng)度,說(shuō)明第一文件中的脫機(jī)交易記錄多于第二文件中的脫機(jī)交易記錄,為了完整保存脫機(jī)交易記錄,脫機(jī)交易設(shè)備利用脫機(jī)交易記錄較多的文件替換脫機(jī)交易記錄較少的文件,即第一文件中的脫機(jī)交易記錄替換第二文件中的脫機(jī)交易記錄,在第二存儲(chǔ)裝置中保存替換后的第二文件。反之,如果第一文件長(zhǎng)度小于第二文件長(zhǎng)度,說(shuō)明第一文件中的脫機(jī)交易記錄少于第二文件中的脫機(jī)交易記錄,則利用第二文件中的脫機(jī)交易記錄替換第一文件中的脫機(jī)交易記錄,在第一存儲(chǔ)裝置中保存替換后的第一文件。由此,將脫機(jī)交易記錄較少的脫機(jī)交易記錄文件替換成了脫機(jī)交易記錄較多的脫機(jī)交易記錄文件,第一文件中的脫機(jī)交易記錄和第二文件中的脫機(jī)交易記錄達(dá)到了一致,提高第一文件中的脫機(jī)交易記錄和第二文件中的脫機(jī)交易記錄的準(zhǔn)確性。
如果第一文件長(zhǎng)度等于第二文件長(zhǎng)度,脫機(jī)交易設(shè)備對(duì)第一文件的內(nèi)容和第二文件的內(nèi)容進(jìn)行比較。如果第二存儲(chǔ)裝置為外存儲(chǔ)裝置,在對(duì)脫機(jī)交易記錄進(jìn)行校驗(yàn)之前,脫機(jī)交易設(shè)備的外存儲(chǔ)裝置被工作人員取出,由于工作人員疏忽,原來(lái)的脫機(jī)交易設(shè)備的外存儲(chǔ)裝置被替換成了其他脫機(jī)交易設(shè)備中的外存儲(chǔ)裝置。如果替換后的外存儲(chǔ)裝置中的脫機(jī)交易記錄保存完整,也可以通過(guò)完整性校驗(yàn)、且替換后的外存儲(chǔ)裝置中的第二文件長(zhǎng)度和內(nèi)存儲(chǔ)裝置中的第一文件長(zhǎng)度一致,但是原來(lái)的外存儲(chǔ)裝置中的脫機(jī)交易記錄與替換后的外存儲(chǔ)裝置中的脫機(jī)交易記錄不同。在這種情況下,脫機(jī)交易設(shè)備需要對(duì)第一文件中的內(nèi)容和第二文件中的內(nèi)容進(jìn)行比較。
具體地,如果第一文件長(zhǎng)度等于第二文件長(zhǎng)度,說(shuō)明第一文件中的脫機(jī)交易記錄和第二文件中的脫機(jī)交易記錄一樣多,脫機(jī)交易設(shè)備對(duì)第一文件的內(nèi)容和第二文件的內(nèi)容是進(jìn)行比較:如果第一文件中的內(nèi)容和第二文件中的內(nèi)容一致,說(shuō)明第一文件中的脫機(jī)交易記錄和第二文件中的脫機(jī)交易記錄一致,則在第一存儲(chǔ)裝置中保存第一文件,在第二存儲(chǔ)裝置中保存第二文件。如果第一文件的內(nèi)容和第二文件的內(nèi)容不一致,即第一文件中的脫機(jī)交易記錄或第二文件中的脫機(jī)交易記錄出錯(cuò)。脫機(jī)交易設(shè)備利用第一文件中的脫機(jī)交易記錄替換第二文件中的脫機(jī)交易記錄。優(yōu)選地,第一存儲(chǔ)裝置可以是內(nèi)存儲(chǔ)裝置,第二存儲(chǔ)裝置可以是外存儲(chǔ)裝置,由于內(nèi)存儲(chǔ)裝置存儲(chǔ)的脫機(jī)交易記錄比外存儲(chǔ)裝置的脫機(jī)交易記錄準(zhǔn)確,將內(nèi)存儲(chǔ)裝置的脫機(jī)交易記錄替換外存儲(chǔ)裝置的脫機(jī)交易記錄,即將第一文件中的脫機(jī)交易記錄替換第二文件的脫機(jī)交易記錄,在第二存儲(chǔ)裝置中保存替換后的第二文件。通過(guò)對(duì)第一文件的內(nèi)容和第二文件的內(nèi)容進(jìn)行比較,將內(nèi)存儲(chǔ)裝置中的脫機(jī)交易記錄替換成了外存儲(chǔ)裝置中的脫機(jī)交易記錄,進(jìn)一步提高脫機(jī)交易記錄的準(zhǔn)確性,第一存儲(chǔ)裝置中保存的第一文件和第二存儲(chǔ)裝置中保存的第二文件達(dá)到了一致。
本實(shí)施例中,在第一文件和第二文件均校驗(yàn)成功的情況下,脫機(jī)交易設(shè)備對(duì)第一文件和第二文件進(jìn)行進(jìn)一步比較,包括對(duì)第一文件長(zhǎng)度和第二文件長(zhǎng)度進(jìn)行比較、對(duì)第一文件的內(nèi)容和第二文件的內(nèi)容進(jìn)行比較。通過(guò)對(duì)第一文件長(zhǎng)度和第二文件長(zhǎng)度進(jìn)行比較,將脫機(jī)交易記錄較多的文件替換脫機(jī)交易記錄較少的文件,提高脫機(jī)交易記錄的準(zhǔn)確性。通過(guò)對(duì)第一文件的內(nèi)容和第二文件的內(nèi)容進(jìn)行比較,進(jìn)一步提高脫機(jī)交易記錄文件的準(zhǔn)確性。
在一個(gè)實(shí)施例中,第一文件還包括第一校驗(yàn)碼,完整性校驗(yàn)包括對(duì)第一文件長(zhǎng)度進(jìn)行校驗(yàn),對(duì)第一文件長(zhǎng)度進(jìn)行校驗(yàn)的步驟,包括:獲取第一文件長(zhǎng)度;獲取單條脫機(jī)交易記錄字節(jié)數(shù),單條脫機(jī)交易記錄字節(jié)數(shù)包括第一文件中的單條脫機(jī)交易記錄占用的字節(jié);獲取校驗(yàn)碼字節(jié)數(shù),校驗(yàn)碼字節(jié)數(shù)包括第一校驗(yàn)碼占用的字節(jié);通過(guò)單條脫機(jī)交易記錄字節(jié)數(shù)、校驗(yàn)碼字節(jié)數(shù)和第一文件長(zhǎng)度,計(jì)算第一文件中的脫機(jī)交易記錄條數(shù);判斷第一文件中的脫機(jī)交易記錄條數(shù)是否為正整數(shù);若不是,則第一文件校驗(yàn)失敗。
第一文件包括脫機(jī)交易記錄和第一驗(yàn)證碼,第二文件包括脫機(jī)交易記錄和第二校驗(yàn)碼。脫機(jī)交易設(shè)備將脫機(jī)交易記錄寫入第一存儲(chǔ)裝置時(shí),利用密鑰和第一文件中的脫機(jī)交易記錄生成第一校驗(yàn)碼;脫機(jī)交易設(shè)備將脫機(jī)交易記錄寫入第二存儲(chǔ)裝置時(shí),利用密鑰和第二文件中的脫機(jī)交易記錄生成第二校驗(yàn)碼。脫機(jī)交易設(shè)備將單條脫機(jī)交易記錄占用字節(jié)記錄為單條脫機(jī)交易記錄字節(jié)數(shù);脫機(jī)交易設(shè)備將校驗(yàn)碼占用字節(jié)記錄為校驗(yàn)碼字節(jié)數(shù)。當(dāng)脫機(jī)交易設(shè)備將脫機(jī)交易記錄寫入脫機(jī)交易記錄文件時(shí),脫機(jī)交易記錄占用單條脫機(jī)交易記錄字節(jié)數(shù),脫機(jī)交易記錄文件長(zhǎng)度增加相應(yīng)的字節(jié)。因此,隨著脫機(jī)交易記錄增加,脫機(jī)交易記錄文件長(zhǎng)度以單條脫機(jī)交易記錄字節(jié)數(shù)增加。通過(guò)脫機(jī)交易記錄文件長(zhǎng)度可以計(jì)算得到脫機(jī)交易記錄條數(shù)。當(dāng)脫機(jī)交易設(shè)備向脫機(jī)交易記錄文件寫入脫機(jī)交易記錄時(shí),如果脫機(jī)交易設(shè)備斷電,則脫機(jī)交易設(shè)備無(wú)法繼續(xù)將該條脫機(jī)交易記錄完整的寫入脫機(jī)交易記錄文件,該條脫機(jī)交易記錄沒(méi)有占用完整的單條脫機(jī)交易記錄字節(jié)數(shù),導(dǎo)致脫機(jī)交易記錄文件中的該條脫機(jī)交易記錄不完整。為了確保脫機(jī)交易記錄文件中的單條脫機(jī)交易記錄完整,脫機(jī)交易設(shè)備需要對(duì)脫機(jī)交易記錄文件長(zhǎng)度進(jìn)行校驗(yàn)。脫機(jī)交易設(shè)備對(duì)脫機(jī)交易記錄文件長(zhǎng)度進(jìn)行校驗(yàn)包括對(duì)第一文件長(zhǎng)度進(jìn)行校驗(yàn)和對(duì)第二文件長(zhǎng)度進(jìn)行校驗(yàn)。
具體地,脫機(jī)交易設(shè)備對(duì)第一文件長(zhǎng)度進(jìn)行校驗(yàn),首先,脫機(jī)交易設(shè)備獲取第一文件長(zhǎng)度、單條脫機(jī)交易記錄字節(jié)數(shù)和校驗(yàn)碼字節(jié)數(shù)。其次,脫機(jī)交易設(shè)備通過(guò)脫機(jī)交易記錄文件長(zhǎng)度、單條脫機(jī)交易記錄字節(jié)數(shù)和校驗(yàn)碼字節(jié)數(shù)計(jì)算脫機(jī)交易記錄條數(shù)。具體地,脫機(jī)交易設(shè)備利用脫機(jī)交易記錄文件長(zhǎng)度和校驗(yàn)碼字節(jié)數(shù)計(jì)算脫機(jī)交易記錄文件長(zhǎng)度減去校驗(yàn)碼字節(jié)數(shù)的結(jié)果,利用該結(jié)果除以單條脫機(jī)交易記錄字節(jié)數(shù),即得到脫機(jī)交易記錄條數(shù)。然后,判斷脫機(jī)交易記錄條數(shù)是否為正整數(shù),如果脫機(jī)交易記錄條數(shù)不是正整數(shù),說(shuō)明脫機(jī)交易記錄文件中存在單條脫機(jī)交易記錄不完整,則該脫機(jī)交易記錄文件校驗(yàn)失敗。通過(guò)脫機(jī)交易記錄文件長(zhǎng)度計(jì)算脫機(jī)交易記錄條數(shù),可以檢測(cè)出脫機(jī)交易記錄文件中是否包括不完整的脫機(jī)交易記錄,初步判斷第一文件中的脫機(jī)交易記錄存儲(chǔ)的完整性。
可以理解地,脫機(jī)交易設(shè)備可以按照上述方式對(duì)第二文件長(zhǎng)度進(jìn)行校驗(yàn),通過(guò)脫機(jī)交易記錄文件長(zhǎng)度計(jì)算脫機(jī)交易記錄條數(shù),可以檢測(cè)出脫機(jī)交易記錄文件中是否包括不完整的脫機(jī)交易記錄,初步判斷第二文件中的脫機(jī)交易記錄存儲(chǔ)的完整性。
本實(shí)施例中,脫機(jī)交易設(shè)備利用脫機(jī)交易記錄文件長(zhǎng)度、單條脫機(jī)交易記錄字節(jié)數(shù)以及校驗(yàn)碼字節(jié)數(shù)準(zhǔn)確計(jì)算出脫機(jī)交易記錄條數(shù),通過(guò)判斷脫機(jī)交易記錄條數(shù)是否為正整數(shù),初步確定脫機(jī)交易記錄文件中的脫機(jī)交易記錄是否完整。
在一個(gè)實(shí)施例中,第一文件還包括第一校驗(yàn)碼,完整性校驗(yàn)包括對(duì)校驗(yàn)碼進(jìn)行校驗(yàn),對(duì)校驗(yàn)碼進(jìn)行校驗(yàn)包括對(duì)第一校驗(yàn)碼進(jìn)行校驗(yàn)的步驟,包括:獲取預(yù)設(shè)的密鑰;通過(guò)密鑰和第一文件中的脫機(jī)交易記錄計(jì)算第一文件對(duì)應(yīng)的第一完整性校驗(yàn)碼;判斷第一文件的第一校驗(yàn)碼是否與第一文件對(duì)應(yīng)的第一完整性校驗(yàn)碼相等;若不相等,則第一文件校驗(yàn)失敗。
脫機(jī)交易設(shè)備通過(guò)對(duì)脫機(jī)交易記錄文件長(zhǎng)度進(jìn)行校驗(yàn),確定了脫機(jī)交易記錄文件中脫機(jī)交易記錄條數(shù)為正整數(shù),初步判斷了的完整性。但是當(dāng)脫機(jī)交易設(shè)備在寫入脫機(jī)交易記錄時(shí)發(fā)生斷電,且斷電前未寫完的脫機(jī)交易記錄字節(jié)數(shù)剛好等于校驗(yàn)碼字節(jié)數(shù)時(shí),脫機(jī)交易記錄文件仍然能夠通過(guò)對(duì)脫機(jī)交易記錄文件長(zhǎng)度進(jìn)行的校驗(yàn)。因此,脫機(jī)交易設(shè)備通過(guò)對(duì)脫機(jī)交易記錄文件長(zhǎng)度進(jìn)行校驗(yàn)之后,需要進(jìn)一步對(duì)脫機(jī)交易記錄文件進(jìn)行校驗(yàn)。脫機(jī)交易記錄文件中的校驗(yàn)碼是通過(guò)脫機(jī)交易記錄和密鑰計(jì)算得到的,校驗(yàn)碼中包括與脫機(jī)交易記錄相關(guān)的信息,與脫機(jī)交易記錄的內(nèi)容完全不同。因此,脫機(jī)交易設(shè)備可以通過(guò)對(duì)脫機(jī)交易記錄文件的校驗(yàn)碼進(jìn)行校驗(yàn),進(jìn)一步檢測(cè)脫機(jī)交易記錄是否完整,更準(zhǔn)確的判斷脫機(jī)交易記錄的完整性。
脫機(jī)交易設(shè)備從后臺(tái)獲取預(yù)設(shè)的密鑰。當(dāng)脫機(jī)交易設(shè)備向脫機(jī)交易記錄文件寫入脫機(jī)交易記錄、或者對(duì)脫機(jī)交易記錄文件中的校驗(yàn)碼進(jìn)行校驗(yàn)時(shí),利用脫機(jī)交易記錄文件中的脫機(jī)交易記錄和密鑰計(jì)算校驗(yàn)碼。例如,脫機(jī)交易設(shè)備可以將脫機(jī)交易記錄和密鑰按照hmac-sha256算法計(jì)算得到校驗(yàn)碼。脫機(jī)交易設(shè)備每次向第一文件寫入一條脫機(jī)交易記錄時(shí),脫機(jī)交易設(shè)備利用當(dāng)前第一文件中所有的脫機(jī)交易記錄和密鑰計(jì)算第一校驗(yàn)碼。當(dāng)前計(jì)算得到的第一校驗(yàn)碼覆蓋上一次計(jì)算得到的第一校驗(yàn)碼??梢岳斫獾?,第二文件中的第二校驗(yàn)碼也可以以類似方式計(jì)算得到。
脫機(jī)交易設(shè)備對(duì)第一文件中的第一校驗(yàn)碼進(jìn)行校驗(yàn)時(shí),首先獲取密鑰和第一文件中的全部脫機(jī)交易記錄。其次,通過(guò)密鑰和全部脫機(jī)交易記錄計(jì)算第一文件的第一完整性校驗(yàn)碼。判斷第一校驗(yàn)碼是否與第一完整性校驗(yàn)碼相等。如果第一校驗(yàn)碼與第一完整性校驗(yàn)碼相等,表示第一校驗(yàn)碼包含的脫機(jī)交易記錄信息和第一完整性校驗(yàn)碼包含的脫機(jī)交易記錄信息一致,第一文件校驗(yàn)成功。如果第一校驗(yàn)碼和第一完整性校驗(yàn)碼不相等,表示第一校驗(yàn)碼包含的脫機(jī)交易記錄信息和第一完整性校驗(yàn)碼包含的脫機(jī)交易記錄信息不一致,則第一文件中的脫機(jī)交易記錄不完整,第一文件校驗(yàn)失敗。同樣地,脫機(jī)交易設(shè)備可以利用上述方式對(duì)第二文件的第一完整性校驗(yàn)碼進(jìn)行校驗(yàn)碼校驗(yàn),不再贅述。脫機(jī)交易設(shè)備通過(guò)對(duì)脫機(jī)交易記錄文件中的校驗(yàn)碼進(jìn)行校驗(yàn),進(jìn)一步確定了脫機(jī)交易記錄的完整性。
本實(shí)施例中,脫機(jī)交易設(shè)備利用密鑰和第一文件中的脫機(jī)交易記錄計(jì)算得到第一完整性校驗(yàn)碼,通過(guò)對(duì)比第一校驗(yàn)碼和第一完整性校驗(yàn)碼,進(jìn)一步確定第一文件中的脫機(jī)交易記錄的完整性。利用密鑰和第二文件中的脫機(jī)交易記錄計(jì)算得到第二完整性校驗(yàn)碼,通過(guò)比對(duì)第二校驗(yàn)碼和第二完整性校驗(yàn)碼,進(jìn)一步確定第二文件中的脫機(jī)交易記錄的完整性。
在一個(gè)實(shí)施例中,第一存儲(chǔ)裝置為內(nèi)存儲(chǔ)裝置,第二存儲(chǔ)裝置為外存儲(chǔ)裝置,對(duì)第一文件長(zhǎng)度和第二文件長(zhǎng)度進(jìn)行一致性校驗(yàn)的步驟包括:若第一文件長(zhǎng)度大于第二文件長(zhǎng)度,則利用第一文件中的脫機(jī)交易記錄替換第二文件中的脫機(jī)交易記錄;若第一文件長(zhǎng)度等于第二文件長(zhǎng)度且內(nèi)容不一致,則利用第一文件中的脫機(jī)交易記錄替換第二文件中的脫機(jī)交易記錄;若第一文件長(zhǎng)度小于第二文件長(zhǎng)度,則利用第二文件中的脫機(jī)交易記錄替換第一文件中的脫機(jī)交易記錄。
脫機(jī)交易設(shè)備向存儲(chǔ)裝置寫入脫機(jī)交易記錄之前,如果其中一個(gè)脫機(jī)交易記錄文件中已經(jīng)存有脫機(jī)交易記錄,而另一個(gè)脫機(jī)交易記錄文件中沒(méi)有脫機(jī)交易記錄,那么,脫機(jī)交易設(shè)備向兩個(gè)脫機(jī)交易記錄文件分別寫入脫機(jī)交易記錄的情況下,第一文件和第二文件均能通過(guò)完整性校驗(yàn),但是兩個(gè)脫機(jī)交易記錄文件中保存的脫機(jī)交易記錄不一致。因此,脫機(jī)交易設(shè)備需要進(jìn)一步對(duì)第一文件和第二文件進(jìn)行比較,包括對(duì)第一文件長(zhǎng)度和第二文件長(zhǎng)度進(jìn)行比較、對(duì)第一文件的內(nèi)容和第二文件的內(nèi)容進(jìn)行比較。
具體地,第一文件和第二文件均校驗(yàn)成功,脫機(jī)交易設(shè)備對(duì)第一文件長(zhǎng)度和第二文件長(zhǎng)度進(jìn)行比較。如果第一文件長(zhǎng)度大于第二文件長(zhǎng)度,說(shuō)明第一文件中的脫機(jī)交易記錄多于第二文件中的脫機(jī)交易記錄,為了完整保存脫機(jī)交易記錄,脫機(jī)交易設(shè)備利用脫機(jī)交易記錄較多的文件替換脫機(jī)交易記錄較少的文件,即第一文件中的脫機(jī)交易記錄替換第二文件中的脫機(jī)交易記錄,在第二存儲(chǔ)裝置中保存替換后的第二文件。反之,如果第一文件長(zhǎng)度小于第二文件長(zhǎng)度,說(shuō)明第一文件中的脫機(jī)交易記錄少于第二文件中的脫機(jī)交易記錄,則利用第二文件中的脫機(jī)交易記錄替換第一文件中的脫機(jī)交易記錄,在第一存儲(chǔ)裝置中保存替換后的第一文件。由此,將脫機(jī)交易記錄較少的脫機(jī)交易記錄文件替換成了脫機(jī)交易記錄較多的脫機(jī)交易記錄文件,第一文件中的脫機(jī)交易記錄和第二文件中的脫機(jī)交易記錄達(dá)到了一致,提高第一文件中的脫機(jī)交易記錄和第二文件中的脫機(jī)交易記錄的準(zhǔn)確性。
如果第一文件長(zhǎng)度等于第二文件長(zhǎng)度,脫機(jī)交易設(shè)備對(duì)第一文件的內(nèi)容和第二文件的內(nèi)容進(jìn)行比較。如果第二存儲(chǔ)裝置為外存儲(chǔ)裝置,在對(duì)脫機(jī)交易記錄進(jìn)行校驗(yàn)之前,脫機(jī)交易設(shè)備的外存儲(chǔ)裝置被工作人員取出,由于工作人員疏忽,原來(lái)的脫機(jī)交易設(shè)備的外存儲(chǔ)裝置被替換成了其他脫機(jī)交易設(shè)備中的外存儲(chǔ)裝置。如果替換后的外存儲(chǔ)裝置中的脫機(jī)交易記錄保存完整,則替換后的外存儲(chǔ)裝置中的第二文件也可以通過(guò)完整性校驗(yàn)、且第二文件長(zhǎng)度和內(nèi)存儲(chǔ)裝置中的第一文件長(zhǎng)度一致,但是替換后的外存儲(chǔ)裝置中的脫機(jī)交易記錄和原來(lái)的外存儲(chǔ)裝置中的脫機(jī)交易記錄并不相同。在這種情況下,脫機(jī)交易設(shè)備需要對(duì)第一文件中的內(nèi)容和第二文件中的內(nèi)容進(jìn)行比較。
具體地,如果第一文件長(zhǎng)度等于第二文件長(zhǎng)度,說(shuō)明第一文件中的脫機(jī)交易記錄和第二文件中的脫機(jī)交易記錄一樣多,脫機(jī)交易設(shè)備對(duì)第一文件的內(nèi)容和第二文件的內(nèi)容進(jìn)行比較:如果第一文件中的內(nèi)容和第二文件中的內(nèi)容一致,說(shuō)明第一文件中的脫機(jī)交易記錄和第二文件中的脫機(jī)交易記錄一致,則在第一存儲(chǔ)裝置中保存第一文件,在第二存儲(chǔ)裝置中保存第二文件。如果第一文件的內(nèi)容和第二文件的內(nèi)容不一致,即第一文件中的脫機(jī)交易記錄或第二文件中的脫機(jī)交易記錄出錯(cuò)。脫機(jī)交易設(shè)備利用第一文件中的脫機(jī)交易記錄替換第二文件中的脫機(jī)交易記錄,在第二存儲(chǔ)裝置中保存替換后的第二文件。優(yōu)選地,第一存儲(chǔ)裝置可以是內(nèi)存儲(chǔ)裝置,第二存儲(chǔ)裝置可以是外存儲(chǔ)裝置,由于內(nèi)存儲(chǔ)裝置存儲(chǔ)的脫機(jī)交易記錄比外存儲(chǔ)裝置準(zhǔn)確,將內(nèi)存儲(chǔ)裝置的脫機(jī)交易記錄替換外存儲(chǔ)裝置的脫機(jī)交易記錄。也就是說(shuō),將第一文件中的脫機(jī)交易記錄替換第二文件的脫機(jī)交易記錄,在第二存儲(chǔ)裝置中保存替換后的第二文件。通過(guò)對(duì)第一文件的內(nèi)容和第二文件的內(nèi)容進(jìn)行比較,將外存儲(chǔ)裝置中的脫機(jī)交易記錄替換成了內(nèi)存儲(chǔ)裝置中的脫機(jī)交易記錄,進(jìn)一步提高脫機(jī)交易記錄的準(zhǔn)確性,第一存儲(chǔ)裝置中保存的第一文件和第二存儲(chǔ)裝置中保存的第二文件達(dá)到了一致。
在其中一個(gè)實(shí)施例中,對(duì)第一文件的內(nèi)容和第二文件的內(nèi)容進(jìn)行比較的步驟,可以通過(guò)比對(duì)第一文件中的脫機(jī)交易記錄和第二文件中的脫機(jī)交易記錄判斷第一文件的內(nèi)容和第二文件的內(nèi)容是否一致。如果第一文件中的脫機(jī)交易記錄和第二文件中的脫機(jī)交易記錄一致,則第一文件的內(nèi)容和第二文件的內(nèi)容一致。也可以通過(guò)比對(duì)第一文件中的脫機(jī)交易記錄和第二文件中的脫機(jī)交易記錄、比對(duì)第一文件中的第一校驗(yàn)碼和第二文件中的第二校驗(yàn)碼,判斷第一文件的內(nèi)容和第二文件的內(nèi)容是否一致,如果第一文件中的脫機(jī)交易記錄和第二文件中的脫機(jī)交易記錄一致且第一校驗(yàn)碼和第二校驗(yàn)碼一致,則第一文件的內(nèi)容和第二文件的內(nèi)容一致。比對(duì)脫機(jī)交易記錄和校驗(yàn)碼兩項(xiàng)內(nèi)容的結(jié)果更準(zhǔn)確。
在一個(gè)實(shí)施例中,脫機(jī)交易設(shè)備替換脫機(jī)交易記錄文件中的內(nèi)容,可以替換脫機(jī)交易記錄文件中的脫機(jī)交易記錄,也可以替換脫機(jī)交易記錄文件中的脫機(jī)交易記錄和校驗(yàn)碼,還可以直接將脫機(jī)交易記錄文件替換。例如,如果第一文件校驗(yàn)成功且第二文件校驗(yàn)失敗,脫機(jī)交易設(shè)備可以利用第一文件中的脫機(jī)交易記錄替換第二文件中的脫機(jī)交易記錄,也可以利用第一文件中的脫機(jī)交易記錄和第一校驗(yàn)碼分別替換第二文件中的脫機(jī)交易記錄和第二校驗(yàn)碼,還可以將第一文件直接替換第二文件。脫機(jī)交易設(shè)備直接替換脫機(jī)交易記錄文件較為簡(jiǎn)單。
本實(shí)施例中,在第一文件和第二文件均校驗(yàn)成功的情況下,脫機(jī)交易設(shè)備對(duì)第一文件和第二文件進(jìn)行進(jìn)一步比較,包括對(duì)第一文件長(zhǎng)度和第二文件長(zhǎng)度進(jìn)行比較、對(duì)第一文件的內(nèi)容和第二文件的內(nèi)容進(jìn)行比較。通過(guò)對(duì)第一文件長(zhǎng)度和第二文件長(zhǎng)度進(jìn)行比較,將脫機(jī)交易記錄較多的文件替換脫機(jī)交易記錄較少的文件,提高脫機(jī)交易記錄的準(zhǔn)確性。通過(guò)對(duì)第一文件的內(nèi)容和第二文件的內(nèi)容進(jìn)行比較,進(jìn)一步提高脫機(jī)交易記錄文件的準(zhǔn)確性。
在一個(gè)實(shí)施例中,當(dāng)通過(guò)脫機(jī)交易設(shè)備首次發(fā)生脫機(jī)交易時(shí),脫機(jī)交易設(shè)備檢測(cè)第一存儲(chǔ)裝置是否包括第一文件,如果第一存儲(chǔ)裝置中沒(méi)有第一文件,在第一存儲(chǔ)裝置中創(chuàng)建第一文件。如果第一文件創(chuàng)建失敗,說(shuō)明第一存儲(chǔ)裝置故障,脫機(jī)交易設(shè)備標(biāo)記第一存儲(chǔ)裝置故障。同樣地,脫機(jī)交易設(shè)備檢測(cè)第二存儲(chǔ)裝置是否包括第二文件,如果第二存儲(chǔ)裝置中沒(méi)有第二文件,在第二存儲(chǔ)裝置中創(chuàng)建第二文件。如果第二文件創(chuàng)建失敗,說(shuō)明第二存儲(chǔ)裝置故障,脫機(jī)交易設(shè)備標(biāo)記第二存儲(chǔ)裝置故障。如果脫機(jī)交易設(shè)備發(fā)生創(chuàng)建文件失敗,生成報(bào)警提示。
在一個(gè)實(shí)施例中,脫機(jī)交易記錄文件創(chuàng)建成功之后,當(dāng)發(fā)生脫機(jī)交易時(shí),脫機(jī)交易設(shè)備生成新的脫機(jī)交易記錄,脫機(jī)交易設(shè)備將脫機(jī)交易記錄分別寫入脫機(jī)交易記錄文件。首先,脫機(jī)交易設(shè)備打開(kāi)脫機(jī)交易記錄文件,檢測(cè)脫機(jī)交易記錄文件中是否包括脫機(jī)交易記錄。如果脫機(jī)交易記錄文件中沒(méi)有脫機(jī)交易記錄,則將新的脫機(jī)交易記錄寫在脫機(jī)交易記錄文件的開(kāi)端。脫機(jī)交易設(shè)備利用密鑰和脫機(jī)交易記錄文件中的脫機(jī)交易記錄計(jì)算校驗(yàn)碼,將校驗(yàn)碼寫在脫機(jī)交易記錄之后。如果脫機(jī)交易記錄文件中已包括脫機(jī)交易記錄,脫機(jī)交易設(shè)備檢測(cè)脫機(jī)交易記錄文件中的校驗(yàn)碼,將新的脫機(jī)交易記錄插入最后一條脫機(jī)交易記錄和校驗(yàn)碼之間,利用密鑰和當(dāng)前全部脫機(jī)交易記錄計(jì)算新的校驗(yàn)碼,替換原來(lái)的校驗(yàn)碼。由此,脫機(jī)交易設(shè)備將脫機(jī)交易記錄寫入脫機(jī)交易記錄文件。
如果第一存儲(chǔ)裝置發(fā)生寫入失敗且第二存儲(chǔ)裝置發(fā)生寫入失敗,說(shuō)明第一存儲(chǔ)裝置中的脫機(jī)交易記錄和第二存儲(chǔ)裝置中的脫機(jī)交易記錄均不完整,發(fā)出報(bào)警提示。如果第一存儲(chǔ)裝置發(fā)生寫入失敗,第二存儲(chǔ)裝置未發(fā)生寫入失敗,但是第二文件完整性校驗(yàn)失敗,說(shuō)明第一存儲(chǔ)裝置中的脫機(jī)交易記錄和第二存儲(chǔ)裝置中的脫機(jī)交易記錄均不完整,發(fā)出報(bào)警提示。同樣地,如果第二存儲(chǔ)裝置發(fā)生寫入失敗,第一存儲(chǔ)裝置未發(fā)生寫入失敗,但是第一文件完整性校驗(yàn)失敗,說(shuō)明第一存儲(chǔ)裝置中的脫機(jī)交易記錄和第二存儲(chǔ)裝置中的脫機(jī)交易記錄均不完整,發(fā)出報(bào)警提示。如果第一存儲(chǔ)裝置發(fā)生寫入失敗,第二存儲(chǔ)裝置未發(fā)生寫入失敗,且第二文件校驗(yàn)成功,說(shuō)明第一存儲(chǔ)裝置中的脫機(jī)交易記錄不完整,但第二存儲(chǔ)裝置中的脫機(jī)交易記錄完整,脫機(jī)交易設(shè)備將第二文件中脫機(jī)交易記錄替換第一文件中的脫機(jī)交易記錄,上傳后臺(tái),發(fā)出報(bào)警提示。同樣地,如果第二存儲(chǔ)裝置發(fā)生寫入失敗,第一存儲(chǔ)裝置未發(fā)生寫入失敗,且第一文件校驗(yàn)成功,說(shuō)明第二存儲(chǔ)裝置中的脫機(jī)交易記錄不完整,但第一存儲(chǔ)裝置中的脫機(jī)交易記錄完整,脫機(jī)交易設(shè)備將第一文件中脫機(jī)交易記錄替換第二文件中的脫機(jī)交易記錄,上傳后臺(tái),發(fā)出報(bào)警提示。通過(guò)對(duì)存儲(chǔ)裝置寫入故障和脫機(jī)交易記錄文件完整性校驗(yàn)結(jié)果進(jìn)行分析,及時(shí)地將有效脫機(jī)交易記錄文件上傳后臺(tái),避免發(fā)生交易記錄丟失,確保了脫機(jī)交易記錄完整性。
在其中一個(gè)實(shí)施例中,當(dāng)發(fā)生脫機(jī)交易時(shí),脫機(jī)交易設(shè)備可以直接將脫機(jī)交易記錄寫入第一文件和第二文件,在寫入的過(guò)程中不對(duì)第一文件和第二文件進(jìn)行校驗(yàn),當(dāng)脫機(jī)交易設(shè)備開(kāi)機(jī)或上傳脫機(jī)交易記錄時(shí),對(duì)第一文件和第二文件進(jìn)行校驗(yàn)。脫機(jī)交易設(shè)備也可以在寫脫機(jī)交易記錄的動(dòng)作之前,先對(duì)第一文件和第二文件進(jìn)行校驗(yàn),確定第一裝置和第二裝置正常、第一文件和第二文件一致之后,向第一文件和第二文件分別寫入新的脫機(jī)交易記錄。每次寫入脫機(jī)交易記錄前對(duì)第一文件和第二文件進(jìn)行校驗(yàn),可以多次對(duì)脫機(jī)交易記錄進(jìn)行校驗(yàn),有效提高脫機(jī)交易記錄的準(zhǔn)確性,出現(xiàn)故障之后脫機(jī)交易設(shè)備及時(shí)發(fā)出報(bào)警提示,避免脫機(jī)交易記錄丟失。
本實(shí)施例中,脫機(jī)交易設(shè)備通過(guò)分析存儲(chǔ)裝置故障和脫機(jī)交易記錄文件校驗(yàn)結(jié)果,將有效的脫機(jī)交易記錄文件上傳后臺(tái),發(fā)出報(bào)警提示,避免發(fā)生交易記錄丟失,確保了脫機(jī)交易記錄完整性。
在一個(gè)實(shí)施例中,如圖2所示,提供了一種脫機(jī)交易記錄保存裝置,包括:獲取模塊202、校驗(yàn)?zāi)K204、替換模塊206、保存模塊208,其中:
獲取模塊202,用于獲取第一存儲(chǔ)裝置的第一文件,第一文件包括脫機(jī)交易記錄;獲取第二存儲(chǔ)裝置的第二文件,第二文件包括脫機(jī)交易記錄。
校驗(yàn)?zāi)K204,用于對(duì)第一文件和第二文件分別進(jìn)行完整性校驗(yàn)。
替換模塊206,用于若第一文件校驗(yàn)成功且第二文件校驗(yàn)失敗,則利用第一文件中的脫機(jī)交易記錄替換第二文件中的脫機(jī)交易記錄;若第一文件校驗(yàn)失敗且第二文件校驗(yàn)成功,則利用第二文件中的脫機(jī)交易記錄替換第一文件中的脫機(jī)交易記錄。
保存模塊208,用于在第二存儲(chǔ)裝置中保存替換后的第二文件;在第一存儲(chǔ)裝置中保存替換后的第一文件。
在一個(gè)實(shí)施例中,獲取模塊202還用于若第一文件和第二文件均校驗(yàn)成功,則獲取第一文件長(zhǎng)度和第二文件長(zhǎng)度,校驗(yàn)?zāi)K204還用于對(duì)第一文件長(zhǎng)度和第二文件長(zhǎng)度進(jìn)行一致性校驗(yàn)。
在一個(gè)實(shí)施例中,第一文件還包括第一校驗(yàn)碼,校驗(yàn)?zāi)K204還用于對(duì)第一文件長(zhǎng)度進(jìn)行校驗(yàn),包括:獲取第一文件長(zhǎng)度;獲取單條脫機(jī)交易記錄字節(jié)數(shù),單條脫機(jī)交易記錄字節(jié)數(shù)包括第一文件中的單條脫機(jī)交易記錄占用的字節(jié);獲取校驗(yàn)碼字節(jié)數(shù),校驗(yàn)碼字節(jié)數(shù)包括第一校驗(yàn)碼占用的字節(jié);通過(guò)單條脫機(jī)交易記錄字節(jié)數(shù)、校驗(yàn)碼字節(jié)數(shù)和第一文件長(zhǎng)度,計(jì)算第一文件中的脫機(jī)交易記錄條數(shù);判斷第一文件中的脫機(jī)交易記錄條數(shù)是否為正整數(shù);若不是,則第一文件校驗(yàn)失敗。
在一個(gè)實(shí)施例中,第一文件還包括第一校驗(yàn)碼,校驗(yàn)?zāi)K204還用于對(duì)校驗(yàn)碼進(jìn)行校驗(yàn),對(duì)校驗(yàn)碼進(jìn)行校驗(yàn)包括對(duì)第一校驗(yàn)碼進(jìn)行校驗(yàn),包括:獲取預(yù)設(shè)的密鑰;通過(guò)密鑰和第一文件中的脫機(jī)交易記錄計(jì)算第一文件對(duì)應(yīng)的第一完整性校驗(yàn)碼;判斷第一文件的第一校驗(yàn)碼是否與第一文件對(duì)應(yīng)的第一完整性校驗(yàn)碼相等;若不相等,則第一文件校驗(yàn)失敗。
在一個(gè)實(shí)施例中,校驗(yàn)?zāi)K204還用于對(duì)第一文件長(zhǎng)度和第二文件長(zhǎng)度進(jìn)行一致性校驗(yàn),包括:若第一文件長(zhǎng)度大于第二文件長(zhǎng)度,則利用第一文件中的脫機(jī)交易記錄替換第二文件中的脫機(jī)交易記錄;若第一文件長(zhǎng)度等于第二文件長(zhǎng)度且內(nèi)容不一致,則利用第一文件中的脫機(jī)交易記錄替換第二文件中的脫機(jī)交易記錄;若第一文件長(zhǎng)度小于第二文件長(zhǎng)度,則利用第二文件中的脫機(jī)交易記錄替換第一文件中的脫機(jī)交易記錄。
在一個(gè)實(shí)施例中,提供了一種計(jì)算機(jī)設(shè)備,如圖3所示,該計(jì)算機(jī)設(shè)備包括存儲(chǔ)器、處理器以及存儲(chǔ)在存儲(chǔ)器上并可在處理器上運(yùn)行的計(jì)算機(jī)程序以及數(shù)據(jù)庫(kù)等,處理器用于提供計(jì)算和控制能力。存儲(chǔ)器為計(jì)算機(jī)程序的運(yùn)行提供環(huán)境。數(shù)據(jù)庫(kù)用于存儲(chǔ)脫機(jī)交易記錄以及校驗(yàn)碼等。處理器執(zhí)行計(jì)算機(jī)程序時(shí)實(shí)現(xiàn)以下步驟:
獲取第一存儲(chǔ)裝置的第一文件,第一文件包括脫機(jī)交易記錄;
獲取第二存儲(chǔ)裝置的第二文件,第二文件包括脫機(jī)交易記錄;
對(duì)第一文件和第二文件分別進(jìn)行完整性校驗(yàn);
若第一文件校驗(yàn)成功且第二文件校驗(yàn)失敗,則利用第一文件中的脫機(jī)交易記錄替換第二文件中的脫機(jī)交易記錄,在第二存儲(chǔ)裝置中保存替換后的第二文件;若第一文件校驗(yàn)失敗且第二文件校驗(yàn)成功,則利用第二文件中的脫機(jī)交易記錄替換第一文件中的脫機(jī)交易記錄,在第一存儲(chǔ)裝置中保存替換后的第一文件。
該計(jì)算機(jī)設(shè)備可以用獨(dú)立的計(jì)算機(jī)設(shè)備或者是多個(gè)計(jì)算機(jī)設(shè)備組成的計(jì)算機(jī)設(shè)備集群來(lái)實(shí)現(xiàn)。本領(lǐng)域技術(shù)人員可以理解,圖3中示出的結(jié)構(gòu),僅僅是與本申請(qǐng)方案相關(guān)的部分結(jié)構(gòu)的框圖,并不構(gòu)成對(duì)本申請(qǐng)方案所應(yīng)用于其上的計(jì)算機(jī)設(shè)備的限定,具體的計(jì)算機(jī)設(shè)備可以包括比圖中所示更多或更少的部件,或者組合某些部件,或者具有不同的部件布置。
在一個(gè)實(shí)施例中,處理器執(zhí)行計(jì)算機(jī)程序時(shí)還實(shí)現(xiàn)以下步驟:
若第一文件和第二文件均校驗(yàn)成功,則獲取第一文件長(zhǎng)度和第二文件長(zhǎng)度;
對(duì)第一文件長(zhǎng)度和第二文件長(zhǎng)度進(jìn)行一致性校驗(yàn)。
在一個(gè)實(shí)施例中,處理器執(zhí)行計(jì)算機(jī)程序時(shí)還實(shí)現(xiàn)以下步驟:
獲取第一文件長(zhǎng)度;
獲取單條脫機(jī)交易記錄字節(jié)數(shù),單條脫機(jī)交易記錄字節(jié)數(shù)包括第一文件中的單條脫機(jī)交易記錄占用的字節(jié);
獲取校驗(yàn)碼字節(jié)數(shù),校驗(yàn)碼字節(jié)數(shù)包括第一校驗(yàn)碼占用的字節(jié);
通過(guò)單條脫機(jī)交易記錄字節(jié)數(shù)、校驗(yàn)碼字節(jié)數(shù)和第一文件長(zhǎng)度,計(jì)算第一文件中的脫機(jī)交易記錄條數(shù);
判斷第一文件中的脫機(jī)交易記錄條數(shù)是否為正整數(shù);
若不是,則第一文件校驗(yàn)失敗。
在一個(gè)實(shí)施例中,處理器執(zhí)行計(jì)算機(jī)程序時(shí)還實(shí)現(xiàn)以下步驟:
獲取預(yù)設(shè)的密鑰;
通過(guò)密鑰和第一文件中的脫機(jī)交易記錄計(jì)算第一文件對(duì)應(yīng)的第一完整性校驗(yàn)碼;
判斷第一文件的第一校驗(yàn)碼是否與第一文件對(duì)應(yīng)的第一完整性校驗(yàn)碼相等;
若不相等,則第一文件校驗(yàn)失敗。
在一個(gè)實(shí)施例中,處理器執(zhí)行計(jì)算機(jī)程序時(shí)還實(shí)現(xiàn)以下步驟:
若第一文件長(zhǎng)度大于第二文件長(zhǎng)度,則利用第一文件中的脫機(jī)交易記錄替換第二文件中的脫機(jī)交易記錄;
若第一文件長(zhǎng)度等于第二文件長(zhǎng)度且內(nèi)容不一致,則利用第一文件中的脫機(jī)交易記錄替換第二文件中的脫機(jī)交易記錄;
若第一文件長(zhǎng)度小于第二文件長(zhǎng)度,則利用第二文件中的脫機(jī)交易記錄替換第一文件中的脫機(jī)交易記錄。
在一個(gè)實(shí)施例中,提供了一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其上存儲(chǔ)有計(jì)算機(jī)程序,計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)以下步驟:
獲取第一存儲(chǔ)裝置的第一文件,第一文件包括脫機(jī)交易記錄;
獲取第二存儲(chǔ)裝置的第二文件,第二文件包括脫機(jī)交易記錄;
對(duì)第一文件和第二文件分別進(jìn)行完整性校驗(yàn);
若第一文件校驗(yàn)成功且第二文件校驗(yàn)失敗,則利用第一文件中的脫機(jī)交易記錄替換第二文件中的脫機(jī)交易記錄,在第二存儲(chǔ)裝置中保存替換后的第二文件;若第一文件校驗(yàn)失敗且第二文件校驗(yàn)成功,則利用第二文件中的脫機(jī)交易記錄替換第一文件中的脫機(jī)交易記錄,在第一存儲(chǔ)裝置中保存替換后的第一文件。
在一個(gè)實(shí)施例中,計(jì)算機(jī)程序被處理器執(zhí)行時(shí)還實(shí)現(xiàn)以下步驟:
若第一文件和第二文件均校驗(yàn)成功,則獲取第一文件長(zhǎng)度和第二文件長(zhǎng)度;
對(duì)第一文件長(zhǎng)度和第二文件長(zhǎng)度進(jìn)行一致性校驗(yàn)。
在一個(gè)實(shí)施例中,計(jì)算機(jī)程序被處理器執(zhí)行時(shí)還實(shí)現(xiàn)以下步驟:
獲取第一文件長(zhǎng)度;
獲取單條脫機(jī)交易記錄字節(jié)數(shù),單條脫機(jī)交易記錄字節(jié)數(shù)包括第一文件中的單條脫機(jī)交易記錄占用的字節(jié);
獲取校驗(yàn)碼字節(jié)數(shù),校驗(yàn)碼字節(jié)數(shù)包括第一校驗(yàn)碼占用的字節(jié);
通過(guò)單條脫機(jī)交易記錄字節(jié)數(shù)、校驗(yàn)碼字節(jié)數(shù)和第一文件長(zhǎng)度,計(jì)算第一文件中的脫機(jī)交易記錄條數(shù);
判斷第一文件中的脫機(jī)交易記錄條數(shù)是否為正整數(shù);
若不是,則第一文件校驗(yàn)失敗。
在一個(gè)實(shí)施例中,計(jì)算機(jī)程序被處理器執(zhí)行時(shí)還實(shí)現(xiàn)以下步驟:
獲取預(yù)設(shè)的密鑰;
通過(guò)密鑰和第一文件中的脫機(jī)交易記錄計(jì)算第一文件對(duì)應(yīng)的第一完整性校驗(yàn)碼;
判斷第一文件的第一校驗(yàn)碼是否與第一文件對(duì)應(yīng)的第一完整性校驗(yàn)碼相等;
若不相等,則第一文件校驗(yàn)失敗。
在一個(gè)實(shí)施例中,計(jì)算機(jī)程序被處理器執(zhí)行時(shí)還實(shí)現(xiàn)以下步驟:
若第一文件長(zhǎng)度大于第二文件長(zhǎng)度,則利用第一文件中的脫機(jī)交易記錄替換第二文件中的脫機(jī)交易記錄;
若第一文件長(zhǎng)度等于第二文件長(zhǎng)度且內(nèi)容不一致,則利用第一文件中的脫機(jī)交易記錄替換第二文件中的脫機(jī)交易記錄;
若第一文件長(zhǎng)度小于第二文件長(zhǎng)度,則利用第二文件中的脫機(jī)交易記錄替換第一文件中的脫機(jī)交易記錄。
以上所述實(shí)施例的各技術(shù)特征可以進(jìn)行任意的組合,為使描述簡(jiǎn)潔,未對(duì)上述實(shí)施例中的各個(gè)技術(shù)特征所有可能的組合都進(jìn)行描述,然而,只要這些技術(shù)特征的組合不存在矛盾,都應(yīng)當(dāng)認(rèn)為是本說(shuō)明書記載的范圍。
以上所述實(shí)施例僅表達(dá)了本發(fā)明的幾種實(shí)施方式,其描述較為具體和詳細(xì),但并不能因此而理解為對(duì)發(fā)明專利范圍的限制。應(yīng)當(dāng)指出的是,對(duì)于本領(lǐng)域的普通技術(shù)人員來(lái)說(shuō),在不脫離本發(fā)明構(gòu)思的前提下,還可以做出若干變形和改進(jìn),這些都屬于本發(fā)明的保護(hù)范圍。因此,本發(fā)明專利的保護(hù)范圍應(yīng)以所附權(quán)利要求為準(zhǔn)。