本發(fā)明涉及到信息數(shù)據(jù)領(lǐng)域,特別是涉及到字段校驗(yàn)的方法及裝置。
背景技術(shù):
計(jì)算機(jī)的應(yīng)用極為廣泛,但無論何種應(yīng)用領(lǐng)域,計(jì)算機(jī)處理的信息必須為數(shù)據(jù)化的,包括數(shù)值、文字、圖形、圖像、視頻、聲音等各種信息。然而在計(jì)算機(jī)系統(tǒng)中,數(shù)據(jù)在存取和傳遞過程中可能會產(chǎn)生錯誤,為減少和避免錯誤,一方面要精心設(shè)計(jì)各種電路,提高計(jì)算機(jī)硬件的可靠性,另一方面在數(shù)據(jù)編碼、數(shù)據(jù)校驗(yàn)上尋找改進(jìn)方法。在數(shù)據(jù)庫中,表的“列”多稱為“字段”,每個字段包含某一專題的信息。比如“通訊錄”數(shù)據(jù)庫中,“姓名”、“聯(lián)系電話”為表中所有行共有的屬性,所以把這些列稱為“姓名”字段和“聯(lián)系電話”字段。字段表示與對象或類關(guān)聯(lián)的變量。字段校驗(yàn)是為保護(hù)數(shù)據(jù)的完整性,用一種指定的算法對原始數(shù)據(jù)計(jì)算出的一個校驗(yàn)值。如果校驗(yàn)值一樣,表示數(shù)據(jù)完整。
現(xiàn)有字段校驗(yàn)方法為將原始數(shù)據(jù)和待比較的數(shù)據(jù)直接進(jìn)行比較,看是否完全一樣。此方法雖然安全準(zhǔn)確,但效率低,只適用于簡單的數(shù)據(jù)量極小的通訊?,F(xiàn)有的字段校驗(yàn)方法中也有其它的改進(jìn)方法,但均需匹配不同的代碼編譯本,修改字段后的校驗(yàn)過程繁瑣,不同字段實(shí)體類的校驗(yàn)需要編譯不同的代碼產(chǎn)品,要經(jīng)過產(chǎn)品出版、產(chǎn)品測試、產(chǎn)品發(fā)布以及產(chǎn)品上線等諸多繁瑣工序,修改字段的過程非常繁瑣、不便捷,且耗時長。
因此,現(xiàn)有技術(shù)還有待改進(jìn)。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的主要目的為提供字段校驗(yàn)的方法,旨在解決現(xiàn)有字段校驗(yàn)方法修改字段的過程繁瑣的問題。
本發(fā)明提出一種字段校驗(yàn)的方法,包括:
接收待校驗(yàn)的字段;
將待校驗(yàn)的字段轉(zhuǎn)換成包括節(jié)點(diǎn)名、屬性名以及屬性值的節(jié)點(diǎn)結(jié)構(gòu);
讀取預(yù)設(shè)的包含字段節(jié)點(diǎn)結(jié)構(gòu)的字段結(jié)構(gòu)配置文件,形成相應(yīng)屬性列表;
判斷待校驗(yàn)的字段是否存在于所述屬性列表中;
若存在,校驗(yàn)所述待校驗(yàn)的字段。
優(yōu)選地,所述接收到待校驗(yàn)的字段步驟之前,還包括:接收預(yù)編輯的字段結(jié)構(gòu)配置文件并存儲。
優(yōu)選地,所述判斷待校驗(yàn)的字段是否存在于所述屬性列表中的步驟,包括:獲取待校驗(yàn)的字段所對應(yīng)的節(jié)點(diǎn)名和屬性名,并在所述屬性列表內(nèi)判斷是否存在與所述節(jié)點(diǎn)名和屬性名所對應(yīng)的字段類名和字段實(shí)體。
優(yōu)選地,所述若存在,執(zhí)行校驗(yàn)所述字段步驟,包括:獲取待校驗(yàn)的字段所對應(yīng)的屬性值,并在所述屬性列表內(nèi)查找與所述屬性值所對應(yīng)的字段值進(jìn)行校驗(yàn)。
優(yōu)選地,所述節(jié)點(diǎn)結(jié)構(gòu)為xml節(jié)點(diǎn)結(jié)構(gòu)。
本發(fā)明還提出一種字段校驗(yàn)裝置,包括:
第一接收模塊,用于接收待校驗(yàn)的字段;
轉(zhuǎn)換模塊,用于將待校驗(yàn)的字段轉(zhuǎn)換成包括節(jié)點(diǎn)名、屬性名以及屬性值的節(jié)點(diǎn)結(jié)構(gòu);
讀取模塊,用于讀取預(yù)設(shè)的包含字段節(jié)點(diǎn)結(jié)構(gòu)的字段結(jié)構(gòu)配置文件,形成相應(yīng)屬性列表;
判斷模塊,用于判斷待校驗(yàn)的字段是否存在于所述屬性列表中;
校驗(yàn)?zāi)K,用于若待校驗(yàn)的字段存在于所述屬性列表中,則校驗(yàn)所述待校驗(yàn)的字段。
優(yōu)選地,所述字段校驗(yàn)裝置,還包括:第二接收模塊,用于接收預(yù)編輯的字段結(jié)構(gòu)配置文件并存儲。
優(yōu)選地,所述字段校驗(yàn)裝置,所述判斷模塊包括:第一獲取單元,用于獲取待校驗(yàn)的字段所對應(yīng)的節(jié)點(diǎn)名和屬性名,并在所述屬性列表內(nèi)判斷是否存在所述節(jié)點(diǎn)名和屬性名所對應(yīng)的字段類名和字段實(shí)體。
優(yōu)選地,所述字段校驗(yàn)裝置,所述校驗(yàn)?zāi)K包括:第二獲取單元,用于獲取待校驗(yàn)的字段所對應(yīng)的屬性值,并在所述屬性列表內(nèi)查找所述屬性值所對應(yīng)的字段值進(jìn)行校驗(yàn)。
優(yōu)選地,所述字段校驗(yàn)裝置中,所述節(jié)點(diǎn)結(jié)構(gòu)為xml節(jié)點(diǎn)結(jié)構(gòu)。
本發(fā)明有益技術(shù)效果:本發(fā)明的字段校驗(yàn)方法實(shí)現(xiàn)了對實(shí)體參數(shù)進(jìn)行動態(tài)的數(shù)值校驗(yàn),快速匹配合適的字段。相比于現(xiàn)有利用代碼校驗(yàn)字段的方法,本發(fā)明的字段校驗(yàn)方法在校驗(yàn)不同字段時,無需重新編譯代碼,省卻原有的產(chǎn)品出版、產(chǎn)品測試、產(chǎn)品發(fā)布以及產(chǎn)品上線等諸多繁瑣工序,更靈活、便捷,縮短了產(chǎn)品開發(fā)的時間。
附圖說明
圖1本發(fā)明一實(shí)施例中字段校驗(yàn)流程示意圖;
圖2本發(fā)明一實(shí)施例中字段校驗(yàn)裝置模塊結(jié)構(gòu)示意圖。
本發(fā)明目的的實(shí)現(xiàn)、功能特點(diǎn)及優(yōu)點(diǎn)將結(jié)合實(shí)施例,參照附圖做進(jìn)一步說明。
具體實(shí)施方式
應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
參照圖1,本發(fā)明實(shí)施例提出一種字段校驗(yàn)的方法,包括:
s1:接收待校驗(yàn)的字段;
s2:將待校驗(yàn)的字段轉(zhuǎn)換成包括節(jié)點(diǎn)名、屬性名以及屬性值的節(jié)點(diǎn)結(jié)構(gòu);
s3:讀取預(yù)設(shè)的包含字段節(jié)點(diǎn)結(jié)構(gòu)的字段結(jié)構(gòu)配置文件,形成相應(yīng)屬性列表;
s4:判斷待校驗(yàn)的字段是否存在于所述屬性列表中;
s5:若存在,校驗(yàn)所述待校驗(yàn)的字段。
本發(fā)明實(shí)施例通過字段結(jié)構(gòu)配置文件實(shí)現(xiàn)對實(shí)體類字段數(shù)值校驗(yàn),本發(fā)明實(shí)施例中字段校驗(yàn)方法實(shí)現(xiàn)了對實(shí)體參數(shù)進(jìn)行動態(tài)的數(shù)值校驗(yàn),快速匹配合適的字段。相比于現(xiàn)有利用代碼校驗(yàn)字段的方法,本發(fā)明實(shí)施例中的字段校驗(yàn)方法在校驗(yàn)不同字段時,無需重新編譯代碼,省卻原有編譯代碼的產(chǎn)品出版、產(chǎn)品測試、產(chǎn)品發(fā)布以及產(chǎn)品上線等諸多繁瑣工序,更靈活、便捷,縮短了產(chǎn)品開發(fā)的時間。
進(jìn)一步地,上述接收到待校驗(yàn)的字段步驟之前,還包括步驟s10:接收預(yù)編輯的字段結(jié)構(gòu)配置文件并存儲。
本發(fā)明實(shí)施例中通過與字段結(jié)構(gòu)配置文件相匹配的字段檢驗(yàn)器讀取預(yù)設(shè)于服務(wù)器中的字段結(jié)構(gòu)配置文件,形成相應(yīng)的屬性列表。屬性列表中包含字段名、字段值組成的字段實(shí)體。字段檢驗(yàn)器中包括定義對象的實(shí)體類以及類臨時創(chuàng)建的對象,即屬性實(shí)體對象。字段檢驗(yàn)器中包含的數(shù)據(jù)以及對數(shù)據(jù)操作的方法,使得字段檢驗(yàn)器讀取預(yù)設(shè)于服務(wù)器中的字段結(jié)構(gòu)配置文件時,形成對應(yīng)屬性列表。不同的字段結(jié)構(gòu)配置文件對應(yīng)一個不同的字段檢驗(yàn)器。當(dāng)待校驗(yàn)的字段實(shí)體類發(fā)生變化時,只需更改字段檢驗(yàn)器和字段結(jié)構(gòu)配置文件中對應(yīng)的參數(shù),即可實(shí)現(xiàn)對不同字段的校驗(yàn),滿足對字段的快速校驗(yàn)與匹配。上述字段校驗(yàn)器為一段編譯代碼,并通過字段數(shù)據(jù)定義文件定義字段校驗(yàn)器校驗(yàn)的類型、校驗(yàn)的數(shù)據(jù)范圍。
進(jìn)一步地,上述判斷待校驗(yàn)的字段是否存在于所述屬性列表中的步驟,包括s40:獲取待校驗(yàn)的字段所對應(yīng)的節(jié)點(diǎn)名和屬性名,并在上述屬性列表內(nèi)判斷是否存在與所述節(jié)點(diǎn)名和屬性名所對應(yīng)的字段類名和字段實(shí)體。
通過獲取待校驗(yàn)的字段所對應(yīng)的節(jié)點(diǎn)名和屬性名,分別與所述字段結(jié)構(gòu)配置文件內(nèi)的字段類名和字段實(shí)體相比較,進(jìn)而判斷待校驗(yàn)的字段是否存在于上述字段結(jié)構(gòu)配置文件定義的范圍內(nèi),進(jìn)而決定是否對待校驗(yàn)的字段進(jìn)行校驗(yàn)。
進(jìn)一步地,上述節(jié)點(diǎn)結(jié)構(gòu)為xml節(jié)點(diǎn)結(jié)構(gòu)。
本發(fā)明實(shí)施例中將待校驗(yàn)的實(shí)體類字段轉(zhuǎn)換成對應(yīng)的xml節(jié)點(diǎn)結(jié)構(gòu)。一個實(shí)體類字段對應(yīng)一個xml節(jié)點(diǎn),實(shí)體類字段名對應(yīng)xml節(jié)點(diǎn)名,實(shí)體類字段對應(yīng)xml屬性名,實(shí)體類字段值對應(yīng)xml屬性值。字段結(jié)構(gòu)配置文件定義需要校驗(yàn)的實(shí)體類名和字段名,每個字段結(jié)構(gòu)配置文件對應(yīng)一個字段檢驗(yàn)器。字段檢驗(yàn)器讀取對應(yīng)的字段結(jié)構(gòu)配置文件,形成包含字段名、字段值組成字段實(shí)體屬性列表,存儲于字段結(jié)構(gòu)配置文件中。屬性列表中的實(shí)體類字段名對應(yīng)xml節(jié)點(diǎn)名,實(shí)體類字段對應(yīng)xml屬性名,實(shí)體類字段值對應(yīng)xml屬性值。通過字段數(shù)據(jù)定義文件定義至少一個字段值范圍或枚舉值,字段檢驗(yàn)器內(nèi)包括校驗(yàn)字段類型,校驗(yàn)字段的數(shù)值范圍,并通過在字段結(jié)構(gòu)配置文件中添加待校驗(yàn)的實(shí)體類字段的結(jié)構(gòu)路徑,實(shí)現(xiàn)字段檢驗(yàn)器和字段結(jié)構(gòu)配置文件的匹配呼應(yīng)。
進(jìn)一步地,上述若存在,執(zhí)行校驗(yàn)所述字段步驟,包括s7:獲取待校驗(yàn)的字段所對應(yīng)的屬性值,并在所述屬性列表內(nèi)查找與所述屬性值所對應(yīng)的字段值進(jìn)行校驗(yàn)。
本發(fā)明實(shí)施例中根據(jù)字段檢驗(yàn)器讀取配置文件產(chǎn)生的屬性列表執(zhí)行相應(yīng)的屬性值校驗(yàn)。先根據(jù)屬性名獲取對應(yīng)的字段檢驗(yàn)器,根據(jù)檢驗(yàn)器類型執(zhí)行當(dāng)前屬性值的校驗(yàn),返回校驗(yàn)結(jié)果,當(dāng)接收校驗(yàn)值一樣,表示字段完整。
參照圖2,本發(fā)明實(shí)施例中還提出一種字段校驗(yàn)裝置,包括:第一接收模塊1、轉(zhuǎn)換模塊2、讀取模塊3、判斷模塊4以及校驗(yàn)?zāi)K5;
上述第一接收模塊1,用于接收待校驗(yàn)的字段;
上述轉(zhuǎn)換模塊2,用于將待校驗(yàn)的字段轉(zhuǎn)換成包括節(jié)點(diǎn)名、屬性名以及屬性值的節(jié)點(diǎn)結(jié)構(gòu);
上述讀取模塊3,用于讀取預(yù)設(shè)的包含字段節(jié)點(diǎn)結(jié)構(gòu)的字段結(jié)構(gòu)配置文件,形成相應(yīng)屬性列表;
上述判斷模塊4,用于判斷待校驗(yàn)的字段是否存在于所述屬性列表中;
上述校驗(yàn)?zāi)K5,用于若待校驗(yàn)的字段存在于所述屬性列表中,則校驗(yàn)所述待校驗(yàn)的字段。
本發(fā)明實(shí)施例中的字段校驗(yàn)裝置讀取模塊3中的字段檢驗(yàn)器讀取預(yù)設(shè)于字段校驗(yàn)裝置中的字段結(jié)構(gòu)配置文件,形成相應(yīng)的屬性列表。屬性列表中包含字段名、字段值組成的字段實(shí)體。字段檢驗(yàn)器中包括定義對象的實(shí)體類以及類臨時創(chuàng)建的對象,即屬性實(shí)體對象。字段檢驗(yàn)器中包含的數(shù)據(jù)以及對數(shù)據(jù)操作的方法,使得字段檢驗(yàn)器讀取預(yù)設(shè)于服務(wù)器中的字段結(jié)構(gòu)配置文件時,形成對應(yīng)屬性列表。不同的字段結(jié)構(gòu)配置文件對應(yīng)一個不同的字段檢驗(yàn)器。當(dāng)待校驗(yàn)的字段實(shí)體類發(fā)生變化時,只需更改字段校驗(yàn)裝置中的字段檢驗(yàn)器和字段結(jié)構(gòu)配置文件中對應(yīng)的參數(shù),即可實(shí)現(xiàn)對不同字段的校驗(yàn),滿足對字段的快速校驗(yàn)與匹配。判斷模塊4判斷待校驗(yàn)的字段是否存在于所述字段結(jié)構(gòu)配置文件定義的范圍內(nèi),若存在,通過校驗(yàn)?zāi)K5執(zhí)行字段校驗(yàn)。
進(jìn)一步地,上述字段校驗(yàn)裝置還包括:第二接收模塊6,用于接收預(yù)編輯的字段結(jié)構(gòu)配置文件并存儲。
進(jìn)一步地,上述字段校驗(yàn)裝置,上述轉(zhuǎn)換模塊2中的節(jié)點(diǎn)結(jié)構(gòu)為xml節(jié)點(diǎn)結(jié)構(gòu)。
本發(fā)明實(shí)施例中將待校驗(yàn)的實(shí)體類字段轉(zhuǎn)換成對應(yīng)的xml節(jié)點(diǎn)結(jié)構(gòu)。一個實(shí)體類字段對應(yīng)一個xml節(jié)點(diǎn),實(shí)體類字段名對應(yīng)xml節(jié)點(diǎn)名,實(shí)體類字段對應(yīng)xml屬性名,實(shí)體類字段值對應(yīng)xml屬性值。本發(fā)明實(shí)施例中的字段校驗(yàn)裝置,首先通過第二接收模塊6接收預(yù)編譯的字段檢驗(yàn)器和預(yù)編輯的字段結(jié)構(gòu)配置文件儲存在字段校驗(yàn)裝置中,字段結(jié)構(gòu)配置文件定義需要校驗(yàn)的實(shí)體類名和字段名,每個字段結(jié)構(gòu)配置文件對應(yīng)一個字段檢驗(yàn)器。字段檢驗(yàn)器讀取對應(yīng)的字段結(jié)構(gòu)配置文件,形成包含的字段名、字段值組成字段實(shí)體屬性列表,存儲于字段結(jié)構(gòu)配置文件中。屬性列表中的實(shí)體類字段名對應(yīng)xml節(jié)點(diǎn)名,實(shí)體類字段對應(yīng)xml屬性名,實(shí)體類字段值對應(yīng)xml屬性值。通過字段數(shù)據(jù)定義文件定義至少一個字段值范圍或枚舉值,字段檢驗(yàn)器內(nèi)包括校驗(yàn)字段類型,校驗(yàn)字段的數(shù)值范圍,并通過在字段結(jié)構(gòu)配置文件中添加待校驗(yàn)的實(shí)體類字段的結(jié)構(gòu)路徑,實(shí)現(xiàn)字段檢驗(yàn)器和字段結(jié)構(gòu)配置文件的匹配呼應(yīng)。然后通過字段校驗(yàn)裝置的轉(zhuǎn)換模塊2將待校驗(yàn)的字段轉(zhuǎn)換成包括節(jié)點(diǎn)名、屬性名以及屬性值的節(jié)點(diǎn)結(jié)構(gòu),所述節(jié)點(diǎn)名、屬性名以及屬性值分別對應(yīng)字段類名、字段實(shí)體以及字段值。以便待校驗(yàn)字段信息與字段校驗(yàn)器中的屬性列表的信息相對應(yīng)。
進(jìn)一步地,上述字段校驗(yàn)裝置,所述判斷模塊4包括:第一獲取單元40,用于獲取待校驗(yàn)的字段所對應(yīng)的節(jié)點(diǎn)名和屬性名,并在所述屬性列表內(nèi)判斷是否存在所述節(jié)點(diǎn)名和屬性名所對應(yīng)的字段類名和字段實(shí)體。
進(jìn)一步地,上述字段校驗(yàn)裝置,所述校驗(yàn)?zāi)K5包括:第二獲取單元50,用于獲取待校驗(yàn)的字段所對應(yīng)的屬性值,并在所述屬性列表內(nèi)查找所述屬性值所對應(yīng)的字段值進(jìn)行校驗(yàn)。
通過第一獲取單元40獲取待校驗(yàn)的字段所對應(yīng)的節(jié)點(diǎn)名和屬性名,分別與所述字段結(jié)構(gòu)配置文件內(nèi)的字段類名和字段實(shí)體相比較,以便判斷待校驗(yàn)的字段是否存在于上述字段結(jié)構(gòu)配置文件定義的范圍內(nèi),進(jìn)而決定是否對待校驗(yàn)的字段進(jìn)行校驗(yàn)。若待校驗(yàn)字段的節(jié)點(diǎn)存在于上述字段結(jié)構(gòu)配置文件定義的范圍內(nèi),則通過第二獲取單元50獲取待校驗(yàn)的字段所對應(yīng)的屬性值,并根據(jù)字段檢驗(yàn)器讀取配置文件產(chǎn)生的屬性列表執(zhí)行相應(yīng)的屬性值校驗(yàn),并返回校驗(yàn)結(jié)果;否則,終止校驗(yàn)。
本發(fā)明實(shí)施例中字段校驗(yàn)裝置根據(jù)字段檢驗(yàn)器讀取配置文件產(chǎn)生的屬性列表執(zhí)行相應(yīng)的屬性值校驗(yàn)。先根據(jù)屬性名獲取對應(yīng)的字段檢驗(yàn)器,根據(jù)檢驗(yàn)器類型執(zhí)行當(dāng)前屬性值的校驗(yàn),返回校驗(yàn)結(jié)果。本發(fā)明實(shí)施例中字段校驗(yàn)裝置實(shí)現(xiàn)了對實(shí)體參數(shù)進(jìn)行動態(tài)的數(shù)值校驗(yàn),快速匹配合適的字段,在校驗(yàn)不同字段時,只需更改字段校驗(yàn)裝置中相關(guān)模塊中的對應(yīng)參數(shù),即可實(shí)現(xiàn)對不同字段的校驗(yàn),滿足對字段的快速校驗(yàn)與匹配,使字段校驗(yàn)過程更靈活、便捷,縮短了產(chǎn)品開發(fā)的時間。同時,本發(fā)明實(shí)施例中字段校驗(yàn)裝置有很好的功能擴(kuò)展性,避免在新加功能時增加對應(yīng)的參數(shù)校驗(yàn)的代碼編譯,提升了字段校驗(yàn)裝置的兼容性。
以上所述僅為本發(fā)明的優(yōu)選實(shí)施例,并非因此限制本發(fā)明的專利范圍,凡是利用本發(fā)明說明書及附圖內(nèi)容所作的等效結(jié)構(gòu)或等效流程變換,或直接或間接運(yùn)用在其他相關(guān)的技術(shù)領(lǐng)域,均同理包括在本發(fā)明的專利保護(hù)范圍內(nèi)。