一種用于字符容錯(cuò)的系統(tǒng)及方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及字符容錯(cuò)領(lǐng)域,特別涉及一種用于字符容錯(cuò)的系統(tǒng)及方法。
【背景技術(shù)】
[0002]計(jì)算機(jī)容錯(cuò)技術(shù)是指:容忍故障,考慮故障一旦發(fā)生時(shí)能夠自動(dòng)檢測(cè)出來(lái)并使系統(tǒng)能夠自動(dòng)恢復(fù)正常運(yùn)行。當(dāng)出現(xiàn)某些指定的硬件故障或軟件錯(cuò)誤時(shí),系統(tǒng)仍能執(zhí)行規(guī)定的一組程序,或者說(shuō)程序不會(huì)因系統(tǒng)中的故障而中止或被修改,并且執(zhí)行結(jié)果也不包含系統(tǒng)中故障所引起的差錯(cuò)。在計(jì)算機(jī)軟件程序中,人工輸入?yún)?shù)或配置參數(shù)時(shí),會(huì)不可避免的遇到出現(xiàn)拼寫錯(cuò)誤、筆誤、等等問(wèn)題。程序執(zhí)行過(guò)程中,也常常出現(xiàn)各種意外的數(shù)據(jù)溢出、數(shù)據(jù)改變等問(wèn)題。任何一個(gè)非常小的錯(cuò)誤,對(duì)計(jì)算機(jī)軟件程序的運(yùn)行,都有可能造成致命的錯(cuò)誤,產(chǎn)生嚴(yán)重的后果。
【發(fā)明內(nèi)容】
[0003]針對(duì)上述技術(shù)問(wèn)題,本發(fā)明提供了一種能有效避免人工輸入?yún)?shù)或配置參數(shù)時(shí),拼寫錯(cuò)誤、筆誤、數(shù)據(jù)溢出或數(shù)據(jù)改變等細(xì)小錯(cuò)誤,對(duì)程序或系統(tǒng)運(yùn)行造成致命的錯(cuò)誤以及嚴(yán)重的后果情況的發(fā)生,使得程序或系統(tǒng)運(yùn)行更加安全穩(wěn)定的用于字符容錯(cuò)的系統(tǒng)及方法。
[0004]為解決上述技術(shù)問(wèn)題,本發(fā)明所采取的技術(shù)方案是:提供一種用于字符容錯(cuò)的系統(tǒng),包括存儲(chǔ)模塊、錄入模塊、比對(duì)模塊以及輸出模塊;
[0005]所述存儲(chǔ)模塊用于存儲(chǔ)正確的字符串集合;
[0006]所述錄入模塊用于錄入概率出錯(cuò)字符串,并將所述概率出錯(cuò)字符串寫入所述比對(duì)豐旲塊;
[0007]所述比對(duì)模塊用于從所述字符串集合內(nèi)獲取正確字符串,并將所述概率出錯(cuò)字符串與所述字符串集合中的所有正確字符串進(jìn)行循環(huán)判斷,當(dāng)所述字符串集合中有與所述概率出錯(cuò)字符串相同的正確字符串時(shí),將所述正確字符串發(fā)送至所述輸出模塊;
[0008]當(dāng)所述概率出錯(cuò)字符串與所述字符串集合中的所有正確字符串均不相同時(shí),將所述字符串集合中包含所述概率出錯(cuò)字符串最多字符的正確字符串,作為最優(yōu)字符串發(fā)送至所述輸出模塊;
[0009]所述輸出模塊用于對(duì)接收到的正確字符串進(jìn)行輸出。
[0010]本發(fā)明由于采用以上技術(shù)方案,其達(dá)到的技術(shù)效果為:本發(fā)明提供的用于字符容錯(cuò)的系統(tǒng)及方法通過(guò)比對(duì)模塊將新錄入的概率出錯(cuò)字符串與存儲(chǔ)模塊中預(yù)存儲(chǔ)的字符串集合中所有的正確字符串進(jìn)行循環(huán)判斷,確定最終的最優(yōu)正確字符串,并在字符串集合中不存在與概率出錯(cuò)字符串相同的正確字符串時(shí),引入與正確字符串對(duì)應(yīng)的數(shù)組,由數(shù)組對(duì)對(duì)應(yīng)正確字符串中包含概率出錯(cuò)字符串中字符的數(shù)量進(jìn)行統(tǒng)計(jì),每多包含一個(gè)字符,對(duì)應(yīng)的數(shù)組增加一,在概率出錯(cuò)字符串循環(huán)判斷完成后,選擇與最長(zhǎng)數(shù)組對(duì)應(yīng)的正確字符串為最優(yōu)正確字符串,由輸出模塊進(jìn)行輸出,上述系統(tǒng)和方法有效避免了人工輸入?yún)?shù)或配置參數(shù)時(shí),拼寫錯(cuò)誤、筆誤、數(shù)據(jù)溢出或數(shù)據(jù)改變等細(xì)小錯(cuò)誤,對(duì)程序或系統(tǒng)運(yùn)行造成致命的錯(cuò)誤以及嚴(yán)重的后果情況的發(fā)生,使得程序或系統(tǒng)運(yùn)行更加安全穩(wěn)定,具有很高的實(shí)用性。[0011 ]較優(yōu)地,在上述技術(shù)方案中,所述最優(yōu)字符串選擇時(shí),引入與正確字符串對(duì)應(yīng)的數(shù)組,由數(shù)組對(duì)對(duì)應(yīng)正確字符串中包含概率出錯(cuò)字符串中字符的數(shù)量進(jìn)行統(tǒng)計(jì),每多包含一個(gè)字符,對(duì)應(yīng)的數(shù)組長(zhǎng)度增加一,在概率出錯(cuò)字符串循環(huán)判斷完成后,選擇與最長(zhǎng)數(shù)組對(duì)應(yīng)的正確字符串為最優(yōu)正確字符串。
[0012]采用上述進(jìn)一步方案的有益效果是:最優(yōu)字符串的確定過(guò)程,使得字符串集合中的每個(gè)字符串都進(jìn)行了比對(duì)判斷,使得判斷的結(jié)構(gòu)更有針對(duì)性,并且數(shù)組的引用,由數(shù)組與每個(gè)正確字符串進(jìn)行對(duì)應(yīng),多包含一個(gè)字符數(shù)組的長(zhǎng)度加1,判斷完成后,選擇最長(zhǎng)數(shù)組對(duì)應(yīng)的正確字符串,最為最優(yōu)字符串,數(shù)組的引用方便了對(duì)最優(yōu)字符串的選擇和判斷。
[0013]較優(yōu)地,在上述技術(shù)方案中,當(dāng)有多個(gè)數(shù)組長(zhǎng)度相同時(shí),對(duì)所述概率出錯(cuò)字符串的長(zhǎng)度以及所述正確字符串的長(zhǎng)度進(jìn)行判斷,選擇與所述概率出錯(cuò)字符串長(zhǎng)度相近的所述正確字符串進(jìn)行輸出。
[0014]采用上述進(jìn)一步方案的有益效果是:當(dāng)有多個(gè)長(zhǎng)度相同的數(shù)組時(shí),將輸入的概率出錯(cuò)字符串與字符串集合中的正確字符串的長(zhǎng)度進(jìn)行比對(duì),確定與錄入的概率出錯(cuò)字符串長(zhǎng)度相近的正確字符串,避免了存在多個(gè)長(zhǎng)度相同數(shù)組時(shí),最優(yōu)正確字符串無(wú)法確定情況的發(fā)生。
[0015]較優(yōu)地,在上述技術(shù)方案中,添加的數(shù)組的初始長(zhǎng)度為0。
[0016]采用上述進(jìn)一步方案的有益效果是:將新添加的數(shù)組長(zhǎng)度的初始值設(shè)定為0,方便了對(duì)正確字符串中包含概率出錯(cuò)字符串中字符個(gè)數(shù)的統(tǒng)計(jì),以及最優(yōu)正確字符串的判斷。
[0017]較優(yōu)地,在上述技術(shù)方案中,所述字符串集合中包含的所述正確字符串為多個(gè)。
[0018]采用上述進(jìn)一步方案的有益效果是:字符串集合內(nèi)包含多個(gè)正確字符串,方便了比對(duì)模塊的比對(duì),以及錄入最優(yōu)字符串的確定。
[0019]較優(yōu)地,在上述技術(shù)方案中,所述正確字符串為有限規(guī)則的字符串。
[0020]采用上述進(jìn)一步方案的有益效果是:有限規(guī)則的正確字符串在一定程度上降低了最優(yōu)正確字符串確定的難度,提高了最優(yōu)正確字符串確定的效率。
[0021]較優(yōu)地,在上述技術(shù)方案中,所述概率出錯(cuò)字符串中出錯(cuò)的字符串與所述正確字符串間的差別大于等于1字符。
[0022]采用上述進(jìn)一步方案的有益效果是:概率出錯(cuò)字符串與正確字符串間的差別大于等于1字符,降低了最優(yōu)正確字符串確定的難度,并且在比對(duì)判斷時(shí),也更加的準(zhǔn)確。
[0023]還還提供了一種用于字符容錯(cuò)的方法,包括以下步驟:
[0024]步驟S10:向存儲(chǔ)模塊內(nèi)存儲(chǔ)正確的字符串集合;
[0025]步驟S20:錄入模塊錄入述概率出錯(cuò)字符串,并將所述概率出錯(cuò)字符串寫入比對(duì)模塊;
[0026]步驟S30:所述比對(duì)模塊從所述字符串集合內(nèi)獲取正確字符串,并將所述概率出錯(cuò)字符串與所述字符串集合中的所有正確字符串進(jìn)行循環(huán)判斷,當(dāng)所述字符串集合中有與所述概率出錯(cuò)字符串相同的正確字符串時(shí),將所述正確字符串發(fā)送至所述輸出模塊;
[0027]步驟S40:當(dāng)所述概率出錯(cuò)字符串與所述字符串集合中的所有正確字符串均不相同時(shí),將所述字符串集合中包含所述概率出錯(cuò)字符串最多字符的正確字符串,作為最優(yōu)字符串發(fā)送至所述輸出模塊;
[0028]步驟S50:所述輸出模塊對(duì)接收到的正確字符串進(jìn)行輸出。
[0029]較優(yōu)地,在上述技術(shù)方案中,步驟S40在對(duì)所述最優(yōu)字符串進(jìn)行選擇時(shí),引入與正確字符串對(duì)應(yīng)的數(shù)組,由數(shù)組對(duì)對(duì)應(yīng)正確字符串中包含概率出錯(cuò)字符串中字符的數(shù)量進(jìn)行統(tǒng)計(jì),每多包含一個(gè)字符,對(duì)應(yīng)的數(shù)組長(zhǎng)度增加一,在概率出錯(cuò)字符串循環(huán)判斷完成后,選擇與最長(zhǎng)數(shù)組對(duì)應(yīng)的正確字符串為最優(yōu)正確字符串。
[0030]采用上述進(jìn)一步方案的有益效果是:最優(yōu)字符串的確定過(guò)程,使得字符串集合中的每個(gè)字符串都進(jìn)行了比對(duì)判斷,使得判斷的結(jié)構(gòu)更有針對(duì)性,并且數(shù)組的引用,由數(shù)組與每個(gè)正確字符串進(jìn)行對(duì)應(yīng),多包含一個(gè)字符數(shù)組的長(zhǎng)度加1,判斷完成后,選擇最長(zhǎng)數(shù)組對(duì)應(yīng)的正確字符串,最為最優(yōu)字符串,數(shù)組的引用方便了對(duì)最優(yōu)字符串的選擇和判斷。
[0031 ]較優(yōu)地,在上述技術(shù)方案中,步驟S40還包括S45:當(dāng)存在多個(gè)長(zhǎng)度相同的數(shù)組時(shí),對(duì)所述概率出錯(cuò)字符串以及所述正確字符串的長(zhǎng)度進(jìn)行判斷,選擇長(zhǎng)度與所述概率出錯(cuò)字符串相近的所述正確字符串發(fā)送至所述輸出模塊。
[0032]采用上述進(jìn)一步方案的有益效果是:當(dāng)有多個(gè)長(zhǎng)度相同的數(shù)組時(shí),將輸入的概率出錯(cuò)字符串與字符串集合中的正確字符串的長(zhǎng)度進(jìn)行比對(duì),確定與錄入的概率