路春輝
(廣東工程職業(yè)技術(shù)學院 信息工程學院,廣東 廣州 510520)
基于狀態(tài)表決的安全計算機數(shù)據(jù)庫更新算法探究
路春輝
(廣東工程職業(yè)技術(shù)學院 信息工程學院,廣東 廣州 510520)
基于安全計算機數(shù)據(jù)庫更新機制的現(xiàn)狀,采用對數(shù)據(jù)庫中的數(shù)據(jù)狀態(tài)而不是對數(shù)據(jù)庫中的信息更新的方法,對其算法進行了研究,提出了安全計算機數(shù)據(jù)庫更新的算法及可能出現(xiàn)的問題,提高了安全計算機數(shù)據(jù)庫的更新速率和計算機遠行的安全性、可靠性.
狀態(tài)表決;安全計算機;數(shù)據(jù)庫更新;算法探究
當前,隨著中國經(jīng)濟的發(fā)展和信息技術(shù)水平的提高,各行各業(yè)對計算機系統(tǒng)的依賴越來越大,計算機系統(tǒng)不僅廣泛應(yīng)用于數(shù)據(jù)計算、銀行、學校、餐飲等所有服務(wù)行業(yè),還應(yīng)用于電力、軍事、航天等尖端科技產(chǎn)業(yè),這些行業(yè)對計算機系統(tǒng)的安全可靠性要求非常高,能否安全可靠地運營對人民的生命和財產(chǎn)安全影響頗大.因此,必須要采取非常有效的辦法對安全計算機數(shù)據(jù)庫更新機制進行不斷改進和完善.以前業(yè)界也采取了多種辦法來保證計算機數(shù)據(jù)庫更新的安全可靠,比如傳統(tǒng)使用的是一種數(shù)據(jù)庫更新系統(tǒng)結(jié)構(gòu)叫做三取二[1],這些方法對于處理普通數(shù)據(jù)信息的效率是非常高的,但在更新較為復雜的數(shù)據(jù)庫的信息數(shù)據(jù)時,這種各個系統(tǒng)分別獨立地進行更新的方式,無法較為全面地對多個數(shù)據(jù)庫進行及時地更新和表決,找出一種更快的更新方式就顯得十分必要了.
1.1 三取二結(jié)構(gòu)的內(nèi)涵
三取二結(jié)構(gòu)一般的成分是3個計算機的系統(tǒng),這3個系統(tǒng)在運行過程中相互之間并不存在干擾,然后通過調(diào)試,使它們可以同時運行,所需的時間和速度都保持一致,當3個系統(tǒng)在每一次循環(huán)運行之后產(chǎn)生了相應(yīng)的數(shù)據(jù)信息之后,就可以通過三分之二的表決方式產(chǎn)生最終的數(shù)據(jù)結(jié)果,即3個系統(tǒng)在運行過程中所產(chǎn)生的數(shù)據(jù)信息不一致時,如果1個系統(tǒng)計算數(shù)據(jù)和其他兩個系統(tǒng)的數(shù)據(jù)不一致時就棄之不用,而選用其他兩個系統(tǒng)計算出的數(shù)據(jù),如果3個系統(tǒng)計算出的數(shù)據(jù)信息都不一致的時候就重新運算,直到得出的數(shù)據(jù)有兩個以上一致為止.
1.2 三取二結(jié)構(gòu)的優(yōu)點
一個安全計算機數(shù)據(jù)庫系統(tǒng)在運行過程中可能遇到這樣那樣的問題,這些問題可能很容易解決,也可能被及時地檢查出來但是無法得到有效的解決,還有可能根本無法檢查出來.三取二結(jié)構(gòu)對于系統(tǒng)產(chǎn)生的錯誤具有很強的包容性,即在系統(tǒng)運行過程中所產(chǎn)生的數(shù)據(jù)信息雖然有一些誤差,但是因為三分之二的表決方式,因此并不影響系統(tǒng)最終的準確結(jié)果.三取二結(jié)構(gòu)在應(yīng)用到一般的小范圍的數(shù)據(jù)時,會對數(shù)據(jù)依次做出表決,準確性特別高,因此能夠取得良好的運用效果.
1.3 三取二結(jié)構(gòu)的缺點
在面對繁雜的范圍較大的數(shù)據(jù)庫的時候,三取二結(jié)構(gòu)的弊端就暴露無疑.因為這3個系統(tǒng)在進行數(shù)據(jù)庫更新的時候只是獨立進行,一般通過1個檢驗的方式對數(shù)據(jù)信息進行增加、減少、刪除等更新操作,而在面對巨大的數(shù)據(jù)庫信息的時候,其無法在3個計算機數(shù)據(jù)庫系統(tǒng)中建立有效的聯(lián)結(jié),對于計算機數(shù)據(jù)庫更新的錯誤也無法及時檢測出來.
2.1 基于狀態(tài)表決的安全計算機數(shù)據(jù)庫更新機制的優(yōu)點
當安全計算機對數(shù)據(jù)信息進行依次更新的時候,如果逐字逐句的表決,就會造成對中央處理器的大面積占用,這樣就可能導致安全計算機無法對其他數(shù)據(jù)庫的信息資料進行有效表決,任務(wù)不能按時按量順利進行,而且這些數(shù)據(jù)信息需要進行復雜的傳送過程,又可能會造成數(shù)據(jù)信息產(chǎn)生錯誤傳送[2].因此,在對大規(guī)模的數(shù)據(jù)信息進行表決的時候,最好的方法就是將其改變成一些容量較小的內(nèi)容進行迅速有效的表決,基于狀態(tài)表決的安全計算機數(shù)據(jù)庫更新機制應(yīng)運而生.
2.2 基于狀態(tài)表決的安全計算機數(shù)據(jù)庫更新機制的結(jié)構(gòu)
這種數(shù)據(jù)庫更新依據(jù)的狀態(tài)按結(jié)構(gòu)可分為容量、型號和狀態(tài)這3種成分,在進行數(shù)據(jù)庫更新表決的時候所依據(jù)的就是這3種成分.在進行表決的時候,多個計算機系統(tǒng)中的容量和型號是相同的,但是第3個狀態(tài)成分則存在著很大的差異[3].在對第3個狀態(tài)成分進行表決之后,可能會出現(xiàn)幾種不同的結(jié)果:一種是指這一安全計算機數(shù)據(jù)庫可以使用,第二種是指會顯示這一安全計算機數(shù)據(jù)庫在進行增加、減少或者刪除等更新程序,最后一種就是指這一安全計算機數(shù)據(jù)庫漏洞比較多,不可以使用.
基于狀態(tài)表決的安全計算機數(shù)據(jù)庫更新機制一般包括很多部分,一部分是對設(shè)備對象進行操控保護的部分,這一部分對安全可靠性要求非常嚴苛;一部分是對設(shè)備的自動化進行負責,還有一部分,就是負責安全計算機對外界進行溝通和交流的部分.
2.3 基于狀態(tài)表決的安全計算機數(shù)據(jù)庫更新機制的運行程序
在對這種基于狀態(tài)表決的安全計算機數(shù)據(jù)庫進行更新的程序步驟一般分為三步,第一步就是對數(shù)據(jù)庫進行更新,將原始狀態(tài)轉(zhuǎn)變?yōu)楦潞蟮臓顟B(tài);第二步如果更新順利的話,就可以將更新后的狀態(tài)一直保持下去,如果更新沒有成功的話,就要將此步驟重新反復進行;第三步就是當更新順利進行后,就可以結(jié)束此更新.
這種基于狀態(tài)的表決需要多個系統(tǒng)的數(shù)據(jù)信息改變后的狀態(tài)要和其中每一個計算機系統(tǒng)數(shù)據(jù)庫中的數(shù)據(jù)信息的內(nèi)容和狀態(tài)都要保持高度一致.一般數(shù)據(jù)庫可能在更新的時候會出現(xiàn)問題,有可能會導致傳送的數(shù)據(jù)信息資料發(fā)生遺漏或者錯誤,這時候就需要對此種問題進行有效的解決,解決方式有多種,但最重要的還是要加以預防,防止這種現(xiàn)象的出現(xiàn)[4].一般可以對這些壓縮的狀態(tài)進行一個編碼,將這些狀態(tài)進行分類和加以號碼進行編排,另一種方法就是對每一類狀態(tài)中的數(shù)據(jù)信息都進行嚴格的校對和檢查,或者在整個系統(tǒng)更新后對其進行全面的檢查.
一般流程是先由操作人員向處理器發(fā)送請求,然后當處理器接收到操作人員發(fā)送的數(shù)據(jù)信息的時候,就判斷這一狀態(tài)的號碼是否是符合先前編排的要求,如果號碼正確,就可以開始對數(shù)據(jù)信息進行檢查更新,如果號碼不正確而沒有通過檢查,這時候就只能丟棄這一數(shù)據(jù)信息,要求操作人員重新發(fā)送數(shù)據(jù)信息.按照以上步驟,逐步對數(shù)據(jù)進行檢查更新,當檢查到最后一類狀態(tài)之后,就可以對整個安全計算機數(shù)據(jù)庫進行整體全面的檢查,如果檢查通過,就可以完成整個的更新工作,如果沒有通過,就將每一個狀態(tài)的號碼都重置,按照更新流程重新進行更新.在此過程中,不可忽略的是要在整個更新程序之前設(shè)置一個程序,防止計算機系統(tǒng)因為出現(xiàn)一些故障沒有被及時發(fā)現(xiàn)和處理而導致整個安全計算機數(shù)據(jù)庫更新不間斷地處在運行狀態(tài),這個程序的功能就是當安全計算機數(shù)據(jù)庫更新系統(tǒng)運行特定的一段時間后仍然沒有得到操作人員相關(guān)的指令的時候,就顯示超出一定時間,需要操作人員重新發(fā)送指令的提示;如果操作人員沒有繼續(xù)根據(jù)提示作出指令的話,系統(tǒng)就可以顯示更新結(jié)束,如果操作人員根據(jù)提示作出指令的話,就可以繼續(xù)進行更新.這是對安全計算機數(shù)據(jù)庫更新系統(tǒng)強有力的保護[5].
3.1 設(shè)計對安全計算機數(shù)據(jù)庫更新的算法
第一需要考慮信息在傳輸過程中一定要具有穩(wěn)定性,采用的辦法就是對這一信息資料的提取加強準入驗證,即只有經(jīng)過授權(quán)的用戶才能夠提取信息資料;第二就是要保證傳送的信息資料一定要準確全面,這就要將信息資料全部提取出來,不能有錯誤和遺漏;第三就是要保證信息資料要不斷地更新?lián)Q代,同實際發(fā)生的情況相一致;第四就是要保證信息資料所屬的類別的號碼不能發(fā)生錯誤.
假如有1,2,3號安全計算機數(shù)據(jù)庫更新系統(tǒng),當它們運行后產(chǎn)生的數(shù)據(jù)庫更新結(jié)果一致的時候,一般會有3種不同的組合方式,可能是1號和2號系統(tǒng)結(jié)果一致,或者是2號和3號一致,或者是1號和3號一致;而當更新結(jié)果有兩種狀態(tài)的時候,就有可能有6種不同的組合結(jié)果;而當更新系統(tǒng)有3種不同的結(jié)果的時候,就只有1種組合方式.綜上可知,這3個安全計算機數(shù)據(jù)庫更新系統(tǒng)在運行后產(chǎn)生的結(jié)果的組合數(shù)目是10種,一般只要得出的結(jié)果的安全性高,就將此結(jié)果作為最終的結(jié)果.當然,安全計算機數(shù)據(jù)庫在更新的時候是不能運行其它程序的,必須等待更新完成之后,再繼續(xù)進行其他的程序,這時候,就可以體現(xiàn)出其優(yōu)勢,如果其中的1個系統(tǒng)出現(xiàn)了問題,就可以轉(zhuǎn)成其他的模式讓其他的兩個系統(tǒng)繼續(xù)運行.
3.2 借鑒蛋糕店算法
蛋糕店算法就是借鑒了消費者在蛋糕店里消費的時候會排隊買蛋糕的情況,消費者在進入蛋糕店以前,要先抽簽決定次序,根據(jù)抽到的號碼進行排隊.根據(jù)這個原理,在應(yīng)用到實際的數(shù)據(jù)庫更新算法中,就可將程序中的進程按照一定的次序進入到更新系統(tǒng)中,如果號碼相同,就要采用互相排斥的規(guī)則進行篩選,如果號碼不同,就按照一定的次序進行處理,這樣限制更新系統(tǒng)的訪問權(quán)限,當獲得訪問權(quán)限以后,才可以進入到下一個區(qū)域進行下一程序,這種互相排斥的數(shù)量是可以隨時控制的,從而可以使1個中央處理器在同一時間段處理一定量的數(shù)據(jù),防止因內(nèi)存占用過大而影響各個進程的有效進行.
3.3 對基于狀態(tài)表決的安全計算機數(shù)據(jù)庫進行更新
一般對其更新以后顯示出的結(jié)果同安全計算機數(shù)據(jù)庫中的實際狀態(tài)相一致,即顯示出的結(jié)果表明更新已經(jīng)順利完成,實際上數(shù)據(jù)庫的確順利地被更新;同時,也可能會出現(xiàn)更新以后顯示出的結(jié)果同安全計算機數(shù)據(jù)庫中的實際狀態(tài)不相一致的情況,即顯示出的結(jié)果表明更新已經(jīng)順利完成,但是實際上數(shù)據(jù)庫里的信息資料沒有更新完全或者更新出現(xiàn)了錯誤,或者顯示出的結(jié)果表明更新沒有獲得成功,但實際上更新已經(jīng)順利完成了.后兩種情況是這個系統(tǒng)出現(xiàn)了問題,雖然最后一種情況也是系統(tǒng)出現(xiàn)了問題,但相對來說,系統(tǒng)還算比較安全.
總之可以表現(xiàn)為幾種不同的結(jié)果狀態(tài):一種是正常準確地對安全計算機數(shù)據(jù)庫進行更新;一種是出錯了以后轉(zhuǎn)為其他的狀態(tài);一種就是雖然更新出現(xiàn)了問題,但是仍然不會影響計算機系統(tǒng)的安全性能;一種就是更新出現(xiàn)了問題,而且會導致系統(tǒng)處于危險狀態(tài).通過建立對出現(xiàn)的問題進行樹狀分析,可以得知基于狀態(tài)表決的計算機數(shù)據(jù)庫更新的表決安全可靠性都顯示出一定的規(guī)律,就是其與工作運行時間的關(guān)系呈現(xiàn)負相關(guān)的關(guān)系,即工作運行時間越長,安全可靠性越低;時間越短,安全可靠性越高,而安全性能的這個數(shù)值一直在0.999附近,而從大約5.9×105h之后,這個數(shù)值將保持穩(wěn)定,不再有較大浮動的變化;可靠性能這個數(shù)值一直在零附近,在同樣的時間之后,這個數(shù)值將保持穩(wěn)定,不再有較大浮動的變化.
基于狀態(tài)表決的數(shù)據(jù)庫更新算法的機制可以有效地改善傳統(tǒng)的數(shù)據(jù)庫更新方式中存在的無法適應(yīng)大規(guī)模數(shù)據(jù)信息的問題,具有廣泛的應(yīng)用前景.該機制的算法雖然在理論上已經(jīng)得到了演算和推論結(jié)論,但是實際的應(yīng)用和具體的實驗操作并不多,因此,探索該機制在實際生產(chǎn)生活環(huán)境中的應(yīng)用效果是今后將要努力的目標,不斷提高其精度廣度對提高安全計算機的安全可靠性,保證其順利運行起著舉足輕重的作用.
[1]丁強,陳祥獻,黃海.基于狀態(tài)表決的安全計算機數(shù)據(jù)庫更新算法[J].計算機工程,2013,(3):18-19.
[2]楊毅.安全計算機系統(tǒng)的輸出模塊設(shè)計及其可靠性與安全性研究[D].杭州:浙江大學,2012:27-28.
[3]黃濤,陳祥獻,黃海.基于三取二冗余結(jié)構(gòu)的安全計算機系統(tǒng)[J].計算機工程,2011,(18):254-256.
[4]武治國.芻議計算機數(shù)據(jù)庫的安全防范措施[J].中國科技信息,2012,(23):85-87.
[5]胡春亞.計算機數(shù)據(jù)庫的管理技術(shù)及其應(yīng)用[J].電腦開發(fā)與應(yīng)用,2012,(11):84-86.
(責任編輯 李健飛)
A Study of Database Update Algorithm for Safety Critical Computer Base on Status Vote
LU Chun-hui
(Department of Information Engineering,Guangdong Vocational Engineering Polytechnic,Guangzhou,Guangdong 510520,China)
This paper introduces the present situation of safety critical computer database update mechanism which adopts a database update algorithm for safety critical computer based on status vote.It not only increases the efficiency of the updating speed of safety critical computer database,but also guarantees the safety and reliability of the computer.
status vote;safety critical computer;database update;algorithm study
TP309.2
:A
:1673-1972(2014)03-0039-04
2014-01-08
路春輝(1979-),女,吉林吉林人,講師,主要從事計算機科學與技術(shù)研究.