本發(fā)明涉及計算機技術(shù)領(lǐng)域,特別涉及一種命令行校驗方法及裝置。
背景技術(shù):
在操作系統(tǒng)中,用戶通??梢韵虿僮飨到y(tǒng)輸入相應(yīng)的命令行來方便快捷的實現(xiàn)相應(yīng)的業(yè)務(wù),比如,修改注冊表或主機名稱等。在操作系統(tǒng)響應(yīng)接收的命令行以執(zhí)行相應(yīng)的業(yè)務(wù)之前,通常需要對接收的命令行進行校驗,以確定命令行是否正確。
目前,對命令行進行校驗時,通常需要預(yù)先設(shè)置多個預(yù)處理模塊,每一個預(yù)處理模塊對應(yīng)一個命令行標(biāo)識,在接收到用戶輸入的命令行之后,首先對命令行進行解析以確定命令行標(biāo)識,然后根據(jù)確定的命令行標(biāo)識確定對應(yīng)的預(yù)處理模塊,進而利用確定的預(yù)處理模塊來判斷命令行是否正確。比如,確定的預(yù)處理模塊可以判斷接收的命令行中是否攜帶存在互斥關(guān)系的兩個業(yè)務(wù)參數(shù),如果命令行攜帶了至少存在互斥關(guān)系的兩個業(yè)務(wù)參數(shù),則可確定命令行錯誤。
由于操作系統(tǒng)通??梢愿鶕?jù)大量不同類型的命令行分別執(zhí)行相應(yīng)的業(yè)務(wù),通過上述方式校驗命令行時,則需要設(shè)置大量的預(yù)處理模塊,工作效率極低。
技術(shù)實現(xiàn)要素:
本發(fā)明實施例提供了一種命令行校驗方法及裝置,可提高工作效率。
第一方面,本發(fā)明提供了一種命令行校驗方法,包括:
S0:預(yù)先設(shè)置命令行校驗集合,其中,所述命令行校驗集合包括多個命令行分別對應(yīng)的描述文件;
S1:獲取待校驗命令行;
S2:解析所述待校驗命令行,以獲取所述待校驗命令行的命令行標(biāo)識和至少一個業(yè)務(wù)參數(shù);
S3:根據(jù)獲取的所述命令行標(biāo)識查詢所述命令行校驗集合,以確定所述命令行校驗集合中是否存在對應(yīng)所述待校驗命令行的參考描述文件;
S4:當(dāng)所述命令行校驗集合中存在對應(yīng)所述待校驗命令行的參考描述文件時,根據(jù)所述參考描述文件,以及所述至少一個業(yè)務(wù)參數(shù),確定所述待校驗命令行是否正確。
優(yōu)選地,還包括:
當(dāng)所述命令行校驗集合中不存在對應(yīng)所述待校驗命令行的參考描述文件時,確定所述帶校驗命令行錯誤。
優(yōu)選地,
所述預(yù)先設(shè)置命令行校驗集合,包括:
設(shè)置命令行格式模板;
提供所述命令行格式模板,使得用戶根據(jù)提供的所述命令行格式模板輸入多個命令行分別對應(yīng)的校驗參數(shù),以形成命令行校驗文件;
解析所述命令行校驗文件,以形成命令行校驗集合。
優(yōu)選地,
所述描述文件包括:至少一個定義參數(shù),以及至少一個強制參數(shù)、參數(shù)依賴關(guān)系、參數(shù)互斥關(guān)系及每一個定義參數(shù)對應(yīng)的參數(shù)值取值范圍中的一項或多項;
當(dāng)確定所述命令行正確時,所述至少一個定義參數(shù)包括所述至少一個業(yè)務(wù)參數(shù)、所述至少一個業(yè)務(wù)參數(shù)包括所述至少一個強制參數(shù)、所述至少一個業(yè)務(wù)參數(shù)符合所述參數(shù)依賴關(guān)系、所述至少一個業(yè)務(wù)參數(shù)符合所述參數(shù)互斥關(guān)系,且每一個所述業(yè)務(wù)參數(shù)分別攜帶的參數(shù)值符合對應(yīng)的參數(shù)值取值范圍。
優(yōu)選地,
當(dāng)存在至少一個目標(biāo)業(yè)務(wù)參數(shù)未攜帶參數(shù)值,且所述至少一個目標(biāo)業(yè)務(wù)參數(shù)分別對應(yīng)的參數(shù)值取值范圍均包括相應(yīng)的默認(rèn)參數(shù)值時,在確定所述命令行正確之后,還包括:
將每一個所述默認(rèn)參數(shù)值對應(yīng)添加至所述待校驗命令行中的所述至少一個目標(biāo)業(yè)務(wù)參數(shù)下,以形成目標(biāo)命令行,并提供。
第二方面,本發(fā)明實施例提供了一種命令行校驗裝置,包括:
預(yù)處理模塊,用于預(yù)先設(shè)置命令行校驗集合,其中,所述命令行校驗集合包括多個命令行分別對應(yīng)的描述文件;
獲取模塊,用于獲取待校驗命令行;
解析模塊,用于解析所述待校驗命令行,以獲取所述待校驗命令行的命令行標(biāo)識和至少一個業(yè)務(wù)參數(shù);
第一確定模塊,用于根據(jù)獲取的所述命令行標(biāo)識查詢所述命令行校驗集合,以確定所述命令行校驗集合中是否存在對應(yīng)所述待校驗命令行的參考描述文件;
第二確定模塊,用于當(dāng)所述命令行校驗集合中存在對應(yīng)所述待校驗命令行的參考描述文件時,根據(jù)所述參考描述文件,以及所述至少一個業(yè)務(wù)參數(shù),確定所述待校驗命令行是否正確。
優(yōu)選地,還包括:
第三確定模塊,用于當(dāng)所述命令行校驗集合中不存在對應(yīng)所述待校驗命令行的參考描述文件時,確定所述帶校驗命令行錯誤。
優(yōu)選地,
所述預(yù)處理模塊,包括:設(shè)置單元、處理單元和解析單元;其中,
所述設(shè)置單元,用于設(shè)置命令行格式模板;
所述處理單元,用于提供所述命令行格式模板,使得用戶根據(jù)提供的所述命令行格式模板輸入多個命令行分別對應(yīng)的校驗參數(shù),以形成命令行校驗文件;
所述解析單元,用于解析所述命令行校驗文件,以形成命令行校驗集合。
優(yōu)選地,
所述描述文件包括:至少一個定義參數(shù),以及至少一個強制參數(shù)、參數(shù)依賴關(guān)系、參數(shù)互斥關(guān)系及每一個定義參數(shù)對應(yīng)的參數(shù)值取值范圍中的一項或多項;
當(dāng)確定所述命令行正確時,所述至少一個定義參數(shù)包括所述至少一個業(yè)務(wù)參數(shù)、所述至少一個業(yè)務(wù)參數(shù)包括所述至少一個強制參數(shù)、所述至少一個業(yè)務(wù)參數(shù)符合所述參數(shù)依賴關(guān)系、所述至少一個業(yè)務(wù)參數(shù)符合所述參數(shù)互斥關(guān)系,且每一個所述業(yè)務(wù)參數(shù)分別攜帶的參數(shù)值符合對應(yīng)的參數(shù)值取值范圍。
優(yōu)選地,
還包括:修正處理模塊;其中,
所述修正處理模塊,用于當(dāng)存在至少一個目標(biāo)業(yè)務(wù)參數(shù)未攜帶參數(shù)值,且所述至少一個目標(biāo)業(yè)務(wù)參數(shù)分別對應(yīng)的參數(shù)值取值范圍均包括相應(yīng)的默認(rèn)參數(shù)值時,將每一個所述默認(rèn)參數(shù)值對應(yīng)添加至所述待校驗命令行中的所述至少一個目標(biāo)業(yè)務(wù)參數(shù)下,以形成目標(biāo)命令行,并提供。
本發(fā)明實施例提供了一種命令行校驗方法及裝置,在該方法中,僅需要預(yù)先設(shè)置包括多個描述文件的命令行校驗集合,在需要針對待校驗命令行進行校驗時,則可對獲取的待校驗命令行進行解析,以獲取待校驗命令行的命令行標(biāo)識和至少一個業(yè)務(wù)參數(shù),進而根據(jù)獲取的命令行標(biāo)識查詢命令行校驗集合以確定是否存在對應(yīng)該待校驗命令行的參考描述文件,如果是,則說明待校驗命令行可能是一個正確的命令行,根據(jù)獲取的至少一個業(yè)務(wù)參數(shù)與對應(yīng)的參考描述文件即可確定該帶校驗命令行是否正確(比如,參考描述文件包括至少一個定義參數(shù)和至少一個強制參數(shù)時,如果參考描述文件的至少一個定義參數(shù)包括獲取的至少一個業(yè)務(wù)參數(shù),且至少一個業(yè)務(wù)參數(shù)包括參考描述文件下的至少一個強制參數(shù),則可確定待校驗命令行正確)。綜上可見,本發(fā)明實施例提供的技術(shù)方案中,并不需要預(yù)先構(gòu)建多個預(yù)處理模塊以利用多個預(yù)處理模塊針對不同的待校驗命令行進行分別校驗,可提高工作效率。
附圖說明
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1是本發(fā)明一實施例提供的一種命令行校驗方法的流程圖;
圖2是本發(fā)明一實施例提供的另一種命令行校驗方法的流程圖;
圖3是本發(fā)明一實施例提供的一種命令行校驗裝置的結(jié)構(gòu)示意圖;
圖4是本發(fā)明一實施例提供的另一種命令行校驗裝置的結(jié)構(gòu)示意圖;
圖5是本發(fā)明一實施例提供的又一種命令行校驗裝置的結(jié)構(gòu)示意圖;
圖6是本發(fā)明一實施例提供的再一種命令行校驗裝置的結(jié)構(gòu)示意圖。
具體實施方式
為使本發(fā)明實施例的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例是本發(fā)明一部分實施例,而不是全部的實施例,基于本發(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動的前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
如圖1所示,本發(fā)明實施例提供了一種命令行校驗方法,包括:
S0:預(yù)先設(shè)置命令行校驗集合,其中,所述命令行校驗集合包括多個命令行分別對應(yīng)的描述文件;
S1:獲取待校驗命令行;
S2:解析所述待校驗命令行,以獲取所述待校驗命令行的命令行標(biāo)識和至少一個業(yè)務(wù)參數(shù);
S3:根據(jù)獲取的所述命令行標(biāo)識查詢所述命令行校驗集合,以確定所述命令行校驗集合中是否存在對應(yīng)所述待校驗命令行的參考描述文件;
S4:當(dāng)所述命令行校驗集合中存在對應(yīng)所述待校驗命令行的參考描述文件時,根據(jù)所述參考描述文件,以及所述至少一個業(yè)務(wù)參數(shù),確定所述待校驗命令行是否正確。
本發(fā)明上述實施例中,僅需要預(yù)先設(shè)置包括多個描述文件的命令行校驗集合,在需要針對待校驗命令行進行校驗時,則可對獲取的待校驗命令行進行解析,以獲取待校驗命令行的命令行標(biāo)識和至少一個業(yè)務(wù)參數(shù),進而根據(jù)獲取的命令行標(biāo)識查詢命令行校驗集合以確定是否存在對應(yīng)該待校驗命令行的參考描述文件,如果是,則說明待校驗命令行可能是一個正確的命令行,根據(jù)獲取的至少一個業(yè)務(wù)參數(shù)與對應(yīng)的參考描述文件即可確定該帶校驗命令行是否正確(比如,參考描述文件包括至少一個定義參數(shù)和至少一個強制參數(shù)時,如果參考描述文件的至少一個定義參數(shù)包括獲取的至少一個業(yè)務(wù)參數(shù),且至少一個業(yè)務(wù)參數(shù)包括參考描述文件下的至少一個強制參數(shù),則可確定待校驗命令行正確)。綜上可見,本發(fā)明實施例提供的技術(shù)方案中,并不需要預(yù)先構(gòu)建多個預(yù)處理模塊以利用多個預(yù)處理模塊針對不同的待校驗命令行進行分別校驗,可提高工作效率。
進一步的,當(dāng)命令行校驗集合中不存在對應(yīng)待校驗命令行的參考描述文件時,則說明相應(yīng)的操作系統(tǒng)不支持執(zhí)行該待校驗命令行對應(yīng)的業(yè)務(wù)操作,因此,本發(fā)明一個實施例中,當(dāng)所述命令行校驗集合中不存在對應(yīng)所述待校驗命令行的參考描述文件時,確定所述帶校驗命令行錯誤。
進一步的,為了進一步提高工作效率,本發(fā)明一個實施例中,所述預(yù)先設(shè)置命令行校驗集合,包括:
設(shè)置命令行格式模板;
提供所述命令行格式模板,使得用戶根據(jù)提供的所述命令行格式模板輸入多個命令行分別對應(yīng)的校驗參數(shù),以形成命令行校驗文件;
解析所述命令行校驗文件,以形成命令行校驗集合。
本發(fā)明上述實施例中,通過設(shè)置命令行格式模板,使得用戶可根據(jù)提供的命令行格式模板輸入多個命令行分別對應(yīng)的校驗參數(shù)(比如至少一組依賴參數(shù)和至少一組互斥參數(shù))以形成命令行校驗文件,對命令行校驗文件進行解析即可得到多個命令行分別對應(yīng)的描述文件,多個描述文件形成了命令行校驗集合。在形成命令行校驗集合的過程中,用戶僅需要根據(jù)提供的命令行格式模板輸入各個命令行分別對應(yīng)的校驗參數(shù)即可,并不需要對各個參數(shù)之間的依賴關(guān)系或互斥關(guān)系等作具體描述,可提高工作效率。
具體地,本發(fā)明一個優(yōu)選實施例中,所述描述文件包括:至少一個定義參數(shù),以及至少一個強制參數(shù)、參數(shù)依賴關(guān)系、參數(shù)互斥關(guān)系及每一個定義參數(shù)對應(yīng)的參數(shù)值取值范圍中的一項或多項;
當(dāng)確定所述命令行正確時,所述至少一個定義參數(shù)包括所述至少一個業(yè)務(wù)參數(shù)、所述至少一個業(yè)務(wù)參數(shù)包括所述至少一個強制參數(shù)、所述至少一個業(yè)務(wù)參數(shù)符合所述參數(shù)依賴關(guān)系、所述至少一個業(yè)務(wù)參數(shù)符合所述參數(shù)互斥關(guān)系,且每一個所述業(yè)務(wù)參數(shù)分別攜帶的參數(shù)值符合對應(yīng)的參數(shù)值取值范圍。
進一步的,為了提高操作系統(tǒng)的安全性,工作人員在開發(fā)命令行時,部分命令行下的定義參數(shù)需要攜帶默認(rèn)的參數(shù)值,默認(rèn)的參數(shù)值不會向用戶公開,防止入侵者在獲取到默認(rèn)的參數(shù)值后對操作系統(tǒng)造成危害,比如惡意修改注冊表等,因此,操作系統(tǒng)在響應(yīng)接收的命令行之前,針對需要攜帶默認(rèn)參數(shù)值的命令行,還需要將默認(rèn)參數(shù)值添加到命令行中對應(yīng)的業(yè)務(wù)參數(shù)下。具體地,本發(fā)明一個實施例中,當(dāng)存在至少一個目標(biāo)業(yè)務(wù)參數(shù)未攜帶參數(shù)值,且所述至少一個目標(biāo)業(yè)務(wù)參數(shù)分別對應(yīng)的參數(shù)值取值范圍均包括相應(yīng)的默認(rèn)參數(shù)值時,在確定所述命令行正確之后,還包括:
將每一個所述默認(rèn)參數(shù)值對應(yīng)添加至所述待校驗命令行中的所述至少一個目標(biāo)業(yè)務(wù)參數(shù)下,以形成目標(biāo)命令行,并提供。
為了更加清楚的說明本發(fā)明的技術(shù)方案及優(yōu)點,本發(fā)明實施例提供另一種命令行校驗方法,以對應(yīng)帶校驗命令行的參考描述文件包括:至少一個定義參數(shù)、至少一個強制參數(shù)、參數(shù)依賴關(guān)系、參數(shù)互斥關(guān)系及每一個定義參數(shù)對應(yīng)的參數(shù)值取值范圍為例,如圖2所示,可以包括如下各個步驟:
步驟201,設(shè)置命令行格式模板。
步驟202,提供命令行格式模板。
這里,工作人員可根據(jù)提供的命令行格式模板輸入命令行l(wèi)sinfo_A、lsinfo_B、lsinfo_C分別對應(yīng)的校驗參數(shù),以形成命令行校驗文件。
應(yīng)當(dāng)理解的是,校驗參數(shù)包括各個命令行分別對應(yīng)的至少一個定義參數(shù),以及至少一個強制參數(shù)、每一個定義參數(shù)對應(yīng)的參數(shù)值取值范圍、互斥參數(shù)以及依賴參數(shù)等。
步驟203,解析所述命令行校驗文件,以形成命令行校驗集合。
本發(fā)明實施例中,通過對命令行校驗文件進行解析,可得到各個命令行分別對應(yīng)的描述文件,多個描述文件則可組成命令行校驗集合,這里以將命令行l(wèi)sinfo_A、lsinfo_B、lsinfo_C分別對應(yīng)的描述文件記錄為lsinfo_A、lsinfo_B、lsinfo_C,并利用記錄的lsinfo_A、lsinfo_B、lsinfo_C組成命令行集合CMD_List為例。
應(yīng)當(dāng)理解的是,在解析命令行校驗文件以得到的各個命令行分別對應(yīng)的描述文件的過程中,具體可以實現(xiàn)根據(jù)工作人員輸入的互斥參數(shù)形成相應(yīng)的參數(shù)互斥關(guān)系、以及根據(jù)工作人員輸入的依賴參數(shù)形成相應(yīng)的參數(shù)依賴關(guān)系,并記錄在對應(yīng)的描述文件中。具體地,在描述文件中記錄的參數(shù)依賴關(guān)系可以是:A|B形式,表征參數(shù)B依賴于參數(shù)A;在描述文件中記錄的參數(shù)互斥關(guān)系可以記錄為A/B,表征參數(shù)A與參數(shù)B互斥;當(dāng)然,在可能實現(xiàn)的情況下,參數(shù)依賴關(guān)系和參數(shù)互斥關(guān)系也可以是其他記錄形式。
步驟204,獲取待校驗命令行。
步驟205,解析獲取的待校驗命令行,以獲取待校驗命令行的命令行標(biāo)識和至少一個業(yè)務(wù)參數(shù)。
本發(fā)明實施例中,以獲取的待校驗命令行是lsinfo_A system-0disk為例,假設(shè)命令行輸入規(guī)則為命令行的第一個數(shù)據(jù)為命令行標(biāo)識,其他數(shù)據(jù)為業(yè)務(wù)參數(shù)或業(yè)務(wù)參數(shù)攜帶的參數(shù)值,每一個數(shù)據(jù)之間通過“空格符”分隔,且利用“A-B”形式表征業(yè)務(wù)參數(shù)A攜帶的參數(shù)值為B。那么,對該待校驗命令行進行解析則可獲取到該待校驗命令行的命令行標(biāo)識為lsinfo_A,該待校驗命令行攜帶的業(yè)務(wù)參數(shù)包括system和disk。
應(yīng)當(dāng)理解的是,這里還可以同時獲取到各個業(yè)務(wù)參數(shù)攜帶的參數(shù)值,比如,這里可以獲取待業(yè)務(wù)參數(shù)system攜帶的參數(shù)值為“0”。
步驟206,根據(jù)獲取的命令行標(biāo)識查詢命令行校驗集合,以確定命令行校驗集合中是否存在對應(yīng)該待校驗命令行的參考描述文件,如果是,則執(zhí)行步驟207;否則,執(zhí)行步驟215。
舉例來說,可根據(jù)待校驗命令行的命令行標(biāo)識lsinfo_A,查詢命令行校驗集合CMD_List,以判斷命令行校驗集合CMD_List中是否存在記錄為lsinfo_A的描述文件,如果存在,則記錄為lsinfo_A的描述文件是對應(yīng)待校驗命令行的參考描述文件;如果不存在,則可執(zhí)行步驟215,以確定待校驗命令行錯誤。
本發(fā)明實施例中,下述各個步驟以參考描述文件lsinfo_A包括:至少一個定義參數(shù)、至少一個強制參數(shù)、參數(shù)依賴關(guān)系、參數(shù)互斥關(guān)系及每一個參數(shù)對應(yīng)的參數(shù)值取值范圍為例。當(dāng)然,參考描述文件包括但不限于至少一個定義參數(shù)、至少一個強制參數(shù)、參數(shù)依賴關(guān)系、參數(shù)互斥關(guān)系及每一個定義參數(shù)對應(yīng)的參數(shù)值取值范圍,比如,還可以包括參數(shù)值類型等其他約束條件。
步驟207,判斷l(xiāng)sinfo_A的至少一個定義參數(shù)是否包括業(yè)務(wù)參數(shù)system和業(yè)務(wù)參數(shù)disk,如果是,則執(zhí)行步驟208;否則,執(zhí)行步驟215。
即判斷待校驗命令行的每一個業(yè)務(wù)參數(shù)是否均包含在對應(yīng)的參考描述文件記錄的至少一個定義參數(shù)中。
步驟208,判斷l(xiāng)sinfo_A的至少一個強制參數(shù)是否包括除業(yè)務(wù)參數(shù)system和業(yè)務(wù)參數(shù)disk以外的其它強制參數(shù),如果是,則執(zhí)行215;否則,執(zhí)行步驟209。
即判斷待參考描述文件記錄的每一個強制參數(shù)是否均包含在待校驗命令行的至少一個業(yè)務(wù)參數(shù)中。
步驟209,判斷業(yè)務(wù)參數(shù)system和業(yè)務(wù)參數(shù)disk是否符合lsinfo_A記錄的參數(shù)依賴關(guān)系,如果是,則執(zhí)行步驟210;否則,執(zhí)行步驟215。
舉例來說,lsinfo_A的參數(shù)依賴關(guān)系記錄為“disk|system”,即system依賴于disk,則說明待校驗命令行的至少一個業(yè)務(wù)參數(shù)符合參考描述文件的參數(shù)依賴關(guān)系;如果參數(shù)依賴關(guān)系記錄為參數(shù)system依賴于參數(shù)date,而待校驗命令行的至少一個業(yè)務(wù)參數(shù)中并不包括date,則說明待校驗命令行錯誤。
步驟210,判斷業(yè)務(wù)參數(shù)system和業(yè)務(wù)參數(shù)disk是否符合lsinfo_A記錄的參數(shù)互斥關(guān)系;如果是,則執(zhí)行步驟211,否則,執(zhí)行步驟215。
舉例來說,如果lsinfo_A的參數(shù)互斥關(guān)系記錄為“system/disk”,即system與disk互斥,則說明待校驗命令行錯誤,如果參數(shù)互斥關(guān)系記錄為參數(shù)system與參數(shù)date互斥,而待校驗命令行的至少一個業(yè)務(wù)參數(shù)中并不包括date,則說明待校驗命令行的至少一個業(yè)務(wù)參數(shù)符合參考描述文件的參數(shù)互斥關(guān)系。
步驟211,根據(jù)lsinfo_A記錄的每一個定義參數(shù)對應(yīng)的參數(shù)值取值范圍,判斷業(yè)務(wù)參數(shù)system和業(yè)務(wù)參數(shù)disk攜帶的參數(shù)值是否在對應(yīng)的參數(shù)值取值范圍之內(nèi),如果是,則執(zhí)行步驟212;否則,執(zhí)行步驟215。
比如,當(dāng)lsinfo_A記錄定義參數(shù)system的參數(shù)值取值范圍為NULL,即定義參數(shù)system不能攜帶參數(shù)值,而待校驗命令行的業(yè)務(wù)參數(shù)system攜帶了參數(shù)值0,則說明待校驗命令行錯誤。
又如,當(dāng)lsinfo_A記錄定義參數(shù)system攜帶的參數(shù)值中參數(shù)值的字符串長度為大于1且小于5,而業(yè)務(wù)參數(shù)system攜帶的參數(shù)值“0”的字符串長度為1,則說明待校驗命令行錯誤。
步驟212,確定待校驗命令行正確。
步驟213,根據(jù)lsinfo_A記錄的每一個定義參數(shù)對應(yīng)的參數(shù)值取值范圍,判斷業(yè)務(wù)參數(shù)disk是否存在對應(yīng)的默認(rèn)參數(shù)值;如果是,則執(zhí)行步驟213,否則,結(jié)束當(dāng)前業(yè)務(wù)流程。
步驟214,將默認(rèn)參數(shù)值對應(yīng)添加至待校驗命令行中參數(shù)disk下,以形成形成目標(biāo)命令行。
舉例來說,以參數(shù)disk對應(yīng)的默認(rèn)參數(shù)值是“1”為例,將參數(shù)值“1”天添加至參數(shù)disk下,則可形成目標(biāo)命令行l(wèi)sinfo_A system-0disk-1。
步驟215,確定待校驗命令行錯誤。
如圖3所示,本發(fā)明實施例提供了一種命令行校驗裝置,包括:
預(yù)處理模塊301,用于預(yù)先設(shè)置命令行校驗集合,其中,所述命令行校驗集合包括多個命令行分別對應(yīng)的描述文件;
獲取模塊302,用于獲取待校驗命令行;
解析模塊303,用于解析所述待校驗命令行,以獲取所述待校驗命令行的命令行標(biāo)識和至少一個業(yè)務(wù)參數(shù);
第一確定模塊304,用于根據(jù)獲取的所述命令行標(biāo)識查詢所述命令行校驗集合,以確定所述命令行校驗集合中是否存在對應(yīng)所述待校驗命令行的參考描述文件;
第二確定模塊305,用于當(dāng)所述命令行校驗集合中存在對應(yīng)所述待校驗命令行的參考描述文件時,根據(jù)所述參考描述文件,以及所述至少一個業(yè)務(wù)參數(shù),確定所述待校驗命令行是否正確。
如圖4所示,本發(fā)明一個優(yōu)選實施例中,還包括:第三確定模塊401,用于當(dāng)所述命令行校驗集合中不存在對應(yīng)所述待校驗命令行的參考描述文件時,確定所述帶校驗命令行錯誤。
進一步的,為了進一步提高工作效率,如圖5所示,本發(fā)明一個優(yōu)選實施例中,所述預(yù)處理模塊301,包括:設(shè)置單元3011、處理單元3012和解析單元3013;其中,
所述設(shè)置單元3011,用于設(shè)置命令行格式模板;
所述處理單元3012,用于提供所述命令行格式模板,使得用戶根據(jù)提供的所述命令行格式模板輸入多個命令行分別對應(yīng)的校驗參數(shù),以形成命令行校驗文件;
所述解析單元3013,用于解析所述命令行校驗文件,以形成命令行校驗集合。
本發(fā)明一個優(yōu)選實施例中,所述描述文件包括:至少一個定義參數(shù),以及至少一個強制參數(shù)、參數(shù)依賴關(guān)系、參數(shù)互斥關(guān)系及每一個定義參數(shù)對應(yīng)的參數(shù)值取值范圍中的一項或多項;
當(dāng)確定所述命令行正確時,所述至少一個定義參數(shù)包括所述至少一個業(yè)務(wù)參數(shù)、所述至少一個業(yè)務(wù)參數(shù)包括所述至少一個強制參數(shù)、所述至少一個業(yè)務(wù)參數(shù)符合所述參數(shù)依賴關(guān)系、所述至少一個業(yè)務(wù)參數(shù)符合所述參數(shù)互斥關(guān)系,且每一個所述業(yè)務(wù)參數(shù)分別攜帶的參數(shù)值符合對應(yīng)的參數(shù)值取值范圍。
相應(yīng)的,如圖6所示,本發(fā)明一個優(yōu)選實施例中,還包括:修正處理模塊601;其中,
所述修正處理模塊601,用于當(dāng)存在至少一個目標(biāo)業(yè)務(wù)參數(shù)未攜帶參數(shù)值,且所述至少一個目標(biāo)業(yè)務(wù)參數(shù)分別對應(yīng)的參數(shù)值取值范圍均包括相應(yīng)的默認(rèn)參數(shù)值時,將每一個所述默認(rèn)參數(shù)值對應(yīng)添加至所述待校驗命令行中的所述至少一個目標(biāo)業(yè)務(wù)參數(shù)下,以形成目標(biāo)命令行,并提供。
上述裝置內(nèi)的各單元之間的信息交互、執(zhí)行過程等內(nèi)容,由于與本發(fā)明方法實施例基于同一構(gòu)思,具體內(nèi)容可參見本發(fā)明方法實施例中的敘述,此處不再贅述。
綜上所述,本發(fā)明各個實施例至少具有如下有益效果:
1、本發(fā)明一實施例中,僅需要預(yù)先設(shè)置包括多個描述文件的命令行校驗集合,在需要針對待校驗命令行進行校驗時,則可對獲取的待校驗命令行進行解析,以獲取待校驗命令行的命令行標(biāo)識和至少一個業(yè)務(wù)參數(shù),進而根據(jù)獲取的命令行標(biāo)識查詢命令行校驗集合以確定是否存在對應(yīng)該待校驗命令行的參考描述文件,如果是,則說明待校驗命令行可能是一個正確的命令行,根據(jù)獲取的至少一個業(yè)務(wù)參數(shù)與對應(yīng)的參考描述文件即可確定該帶校驗命令行是否正確(比如,參考描述文件包括至少一個定義參數(shù)和至少一個強制參數(shù)時,如果參考描述文件的至少一個定義參數(shù)包括獲取的至少一個業(yè)務(wù)參數(shù),且至少一個業(yè)務(wù)參數(shù)包括參考描述文件下的至少一個強制參數(shù),則可確定待校驗命令行正確)。綜上可見,本發(fā)明實施例提供的技術(shù)方案中,并不需要預(yù)先構(gòu)建多個預(yù)處理模塊以利用多個預(yù)處理模塊針對不同的待校驗命令行進行分別校驗,可提高工作效率。
2、本發(fā)明一實施例中,通過設(shè)置命令行格式模板,使得用戶可根據(jù)提供的命令行格式模板輸入多個命令行分別對應(yīng)的校驗參數(shù)(比如至少一組依賴參數(shù)和至少一組互斥參數(shù))以形成命令行校驗文件,對命令行校驗文件進行解析即可得到多個命令行分別對應(yīng)的描述文件,多個描述文件形成了命令行校驗集合。在形成命令行校驗集合的過程中,用戶僅需要根據(jù)提供的命令行格式模板輸入各個命令行分別對應(yīng)的校驗參數(shù)即可,并不需要對各個參數(shù)之間的依賴關(guān)系或互斥關(guān)系等作具體描述,進一步提高工作效率。
需要說明的是,在本文中,諸如第一和第二之類的關(guān)系術(shù)語僅僅用來將一個實體或者操作與另一個實體或操作區(qū)分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關(guān)系或者順序。而且,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個〃·····”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設(shè)備中還存在另外的相同因素。
最后需要說明的是:以上所述僅為本發(fā)明的較佳實施例,僅用于說明本發(fā)明的技術(shù)方案,并非用于限定本發(fā)明的保護范圍。凡在本發(fā)明的精神和原則之內(nèi)所做的任何修改、等同替換、改進等,均包含在本發(fā)明的保護范圍內(nèi)。