欄位校驗的方法及裝置與流程
2023-06-06 02:59:41

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