專利名稱::一種業(yè)務對象數(shù)據(jù)的驗證方法及其裝置的制作方法
技術領域:
:本發(fā)明涉及信息處理領域,尤其涉及一種信息系統(tǒng)中業(yè)務對象數(shù)據(jù)的驗證方法及其裝置。
背景技術:
:在信息系統(tǒng)(尤其是企業(yè)信息系統(tǒng))的實施和使用過程中,隨著業(yè)務的不斷發(fā)展,信息系統(tǒng)中對同一業(yè)務對象的原有描述信息(即屬性信息)漸漸不能滿足業(yè)務多樣性的需求,用戶往往需要豐富原有業(yè)務對象的屬性信息。為了避免對業(yè)務對象新增屬性信息帶來的大量程序代碼修改,業(yè)界提出了擴展屬性定義方法,該方法目前被信息系統(tǒng)普遍采用,用于滿足業(yè)務對象的客戶化需求。傳統(tǒng)的擴展屬性定義方法的主要技術原理為在保證信息系統(tǒng)現(xiàn)有實現(xiàn)不變的前提下,用戶向信息系統(tǒng)請求擴展業(yè)務對象的屬性信息,該屬性信息包括基本信息(屬性名稱、屬性類型)和輔助信息(默認值、表單展示方式等)。其中,基本信息作為描述業(yè)務對象的屬性必不可少的信息,將決定擴展屬性是否能夠在數(shù)據(jù)庫中生成相應的數(shù)據(jù)表的列信息。用戶提交擴展屬性信息的請求后,信息系統(tǒng)根據(jù)用戶提交的屬性信息,自動生成相應的數(shù)據(jù)庫字段及業(yè)務對象表單。這樣,在無需修改系統(tǒng)代碼的情況下,用戶可以使用擴展屬性信息來描述業(yè)務對象,并在系統(tǒng)自動生成的業(yè)務對象表單里輸入業(yè)務對象數(shù)據(jù),這些數(shù)據(jù)將被系統(tǒng)存儲到新生成物理數(shù)據(jù)庫表里。在上述擴展屬性定義方法中,對用戶輸入的業(yè)務對象數(shù)據(jù)的有效性進行驗證是一個很重要的過程,目前所采用的驗證方法主要是根據(jù)擴展屬性信息中包括的屬性類型對用戶輸入的業(yè)務對象數(shù)據(jù)的有效性進行驗證,即根據(jù)用戶輸入的業(yè)務對象數(shù)據(jù)是否能正確轉(zhuǎn)換為屬性信息定義時對應的屬性類型(即數(shù)據(jù)庫數(shù)據(jù)類型)而確定用戶輸入的業(yè)務對象數(shù)據(jù)是否有效。然而,用戶輸入的業(yè)務對象數(shù)據(jù)的類型及格式往往是多樣的,因此,簡單地根據(jù)屬性類型對用戶輸入的業(yè)務對象數(shù)據(jù)進行有效性驗證的準確度比較低,很難滿足信息系統(tǒng)對業(yè)務對象數(shù)據(jù)有效性的要求。
發(fā)明內(nèi)容本發(fā)明提供一種業(yè)務對象數(shù)據(jù)的驗證方法及其裝置,用以解決現(xiàn)有技術對業(yè)務對象數(shù)據(jù)進行有效性驗證的準確度低的問題。本發(fā)明實施例通過如下技術方案實現(xiàn)本發(fā)明實施例提供了一種業(yè)務對象數(shù)據(jù)的驗證方法,包括根據(jù)用戶請求擴展的業(yè)務對象的屬性名稱以及屬性類型,從預先設定的有效性規(guī)則中查找與所述屬性名稱以及屬性類型對應的有效性規(guī)則;根據(jù)查找到的有效性規(guī)則驗證用戶輸入的業(yè)務對象數(shù)據(jù),當驗證通過時,保存所述業(yè)務對象數(shù)據(jù)。本發(fā)明實施例還提供了一種業(yè)務對象數(shù)據(jù)的驗證裝置,包括規(guī)則查找單元,用于根據(jù)用戶請求擴展的業(yè)務對象的屬性名稱以及屬性類型,從預先設定的有效性規(guī)則中查找與所述屬性名稱以及屬性類型對應的有效性規(guī)則;驗證單元,用于根據(jù)所述規(guī)則查找單元查找到的有效性規(guī)則驗證用戶輸入的業(yè)務對象數(shù)據(jù);存儲單元,用于當所述驗證單元驗證通過時,保存所述業(yè)務對象數(shù)據(jù)。通過上述技術方案,本發(fā)明在對用戶輸入的業(yè)務對象數(shù)據(jù)進行驗證之前,首先根據(jù)用戶請求擴展的業(yè)務對象的屬性名稱以及屬性類型,從預先設定的有效性規(guī)則中查找用于此次驗證的有效性規(guī)則,并根據(jù)查找到的有效性規(guī)則驗證用戶輸入的業(yè)務對象數(shù)據(jù),當驗證通過時,確定用戶輸入的業(yè)務對象數(shù)據(jù)有效,并保存該業(yè)務對象數(shù)據(jù)。與現(xiàn)有技術只驗證業(yè)務對象數(shù)據(jù)的屬性類型相比,能夠更加準確地對用戶輸入的業(yè)務對象數(shù)據(jù)的有效性進行驗證,提高了驗證業(yè)務對象數(shù)據(jù)的準確度以及保存的業(yè)務對象數(shù)據(jù)的可用性。并且,本發(fā)明在驗證業(yè)務對象數(shù)據(jù)之前預先設定了用于驗證業(yè)務對象的有效性規(guī)則,在驗證過程只需要根據(jù)預先定義的相應的有效性規(guī)則進行驗證,從而提高了驗證業(yè)務對象數(shù)據(jù)的效率。圖1為本發(fā)明實施例中設定有效性規(guī)則的流程圖2為本發(fā)明實施例中對業(yè)務對象數(shù)據(jù)進行有效性驗證的流程圖3為本發(fā)明實施例中業(yè)務對象數(shù)據(jù)的驗證裝置第一示意圖4為本發(fā)明實施例中業(yè)務對象數(shù)據(jù)的驗證裝置第二示意圖5為本發(fā)明實施例中業(yè)務對象數(shù)據(jù)的驗證裝置第三示意圖。具體實施例方式為了提高對業(yè)務對象數(shù)據(jù)進行有效性驗證的準確度,以滿足信息系統(tǒng)對業(yè)務對象數(shù)據(jù)有效性的要求,本發(fā)明實施例提出了一種業(yè)務對象數(shù)據(jù)的驗證方法及其裝置,下面結(jié)合說明書附圖對本發(fā)明實施例的主要實現(xiàn)原理、具體實施過程及其對應能夠達到的有益效果進行詳細的闡述。本發(fā)明實施例中,在根據(jù)用戶請求對用戶輸入的業(yè)務對象數(shù)據(jù)進行驗證之前,需要根據(jù)不同業(yè)務對象的屬性(包括屬性名稱以及屬性類型)設定與不同屬性分別對應的有效性規(guī)則。其中,屬性名稱對應擴展屬性在關系數(shù)據(jù)庫表中生成的數(shù)據(jù)列名稱,屬性類型對應關系型數(shù)據(jù)庫中的數(shù)據(jù)類型,如字符串型(文本型)、數(shù)字型、日期型等?!獋€實施例中,設定有效性規(guī)則的具體過程如圖1所示,包括如下步驟步驟101、根據(jù)業(yè)務對象的屬性類型,設定與該屬性類型對應的有效性規(guī)則模板。步驟102、根據(jù)為業(yè)務對象的屬性類型設定的有效性規(guī)則模板以及該業(yè)務對象的屬性名稱,確定有效性規(guī)則。上述步驟101中,針對不同屬性類型的特性,設定不同的有效性規(guī)則模板。例如,當屬性類型為數(shù)字類型時,根據(jù)此類型的特性,即一個具體的數(shù)值,可以在有效性規(guī)則模板中對該數(shù)據(jù)所在的閾值區(qū)間進行限定,具體地可以限定該數(shù)值所在閾值區(qū)間的最大值和最小值;進一步地,針對屬性類型為數(shù)字類型的特性,可以在有效性規(guī)則模板中對數(shù)值的精確度進行限定,具體地可以限定該數(shù)值的精度以及小數(shù)位數(shù)等。當屬性類型為其它類型時,如字符串類型、文本類型或日期類型等,可依據(jù)與上述根據(jù)數(shù)字類型設定有效性規(guī)則模板基本相同的原理設定有效性規(guī)則模板,此處不一一列舉?!獋€具體的實施例中,針對不同的屬性類型設定的有效性規(guī)則模板可如下表<table>tableseeoriginaldocumentpage5</column></row><table>需要指出的是,上表中所示的有效性規(guī)則模板中包括的字段名稱僅為本發(fā)明實施例實現(xiàn)時的一種方式。具體應用中,可根據(jù)不同的業(yè)務對象靈活設置該有效性規(guī)則模板,例如,當屬性類型為文本類型時,設定的有效性規(guī)則模板中可以包括"文本長度"、"文本長度是否固定"、"包括固定字符串"中的任意一個或組合,也可進一步在上述字段基礎上添加新的字段,如"排除字符串";或者,當屬性類型為文本類型時,設定的有效性規(guī)則模板可以為"正則表達式"。通過上述過程設定好與不同屬性類型對應的有效性規(guī)則模板后,在步驟102中,可根據(jù)具體的業(yè)務對象的屬性名稱以及相應的有效性規(guī)則模板,確定有效性規(guī)則。例如,針對屬性類型為數(shù)字類型而設定的有效性規(guī)則模板中包括的字段為"最小值"和"最大值",當屬性名稱為"年齡"時,可以確定對應的有效性規(guī)則為"最小值=0、最大值=150"。對于通過上述方式確定的有效性規(guī)則,可以作為業(yè)務對象的屬性信息的附加屬性信息,具體地,可以對傳統(tǒng)擴展屬性定義方法中擴展屬性信息中的基本信息進行擴展,采用如下三元組形式描述(定義)擴展屬性信息的基本信息擴展屬性的基本信息=(屬性名稱,屬性類型,有效性規(guī)則)。當擴展屬性的基本信息提交到系統(tǒng)中后,系統(tǒng)將保存這些信息,并根據(jù)屬性名稱以及屬性類型生成關系數(shù)據(jù)庫表數(shù)據(jù)列。通過上述過程設定好有效性規(guī)則后,對業(yè)務對象數(shù)據(jù)進行有效性驗證的過程如圖2所示,包括如下步驟步驟201、根據(jù)用戶請求擴展的業(yè)務對象的屬性名稱以及屬性類型,從預先設定的有效性規(guī)則中查找與該屬性名稱以及屬性類型對應的有效性規(guī)則。步驟202、根據(jù)查找到的有效性規(guī)則驗證用戶輸入的業(yè)務對象數(shù)據(jù),當驗證通過時,執(zhí)行步驟203,否則執(zhí)行步驟204。該步驟中,可以在利用查找到的有效性規(guī)則驗證用戶輸入的業(yè)務對象數(shù)據(jù)之前,首先對用戶輸入的業(yè)務對象數(shù)據(jù)的屬性類型進行驗證,判斷用戶輸入的業(yè)務對象數(shù)據(jù)是否與其請求的業(yè)務對象的屬性類型一致,若判斷不一致即驗證未通過,則直接轉(zhuǎn)入步驟204或者結(jié)束流程。步驟205、確定用戶輸入的業(yè)務對象數(shù)據(jù)有效,保存該業(yè)務對象數(shù)據(jù)。步驟204、要求用戶重新輸入業(yè)務對象數(shù)據(jù),返回步驟202。該步驟204中,可以設定要求用戶重新輸入的次數(shù)閾值,若判斷用戶重新輸入業(yè)務對象數(shù)據(jù)的次數(shù)已經(jīng)達到該設定的次數(shù)閾值,則結(jié)束該流程。進一步地,可以向用戶反饋驗證未通過的原因,作為用戶重新輸入業(yè)務對象數(shù)據(jù)的參考依據(jù)。也可以只向用戶反饋驗證未通過的原因,然后結(jié)束流程,用戶若想重新輸入,則需要重新請求相應的業(yè)務。上述步驟202中,根據(jù)查找到的有效性規(guī)則驗證用戶輸入的業(yè)務對象數(shù)據(jù)的過程具體為確定有效性規(guī)則中包括的有效性條件,并判斷用戶輸入的業(yè)務對象數(shù)據(jù)是否滿足這些有效性條件,當滿足時,確定用戶輸入的業(yè)務對象數(shù)據(jù)驗證通過,否則確定用戶輸入的業(yè)務對象數(shù)據(jù)驗證未通過。例如,用戶請求的業(yè)務對象的擴展屬性信息的基本信息為(年齡,數(shù)字類型),對應的有效性規(guī)則為(最小值=0、最大值=150),若用戶輸入的業(yè)務對象數(shù)據(jù)為90,則符合有效性規(guī)則中包括的有效性條件,即符合大于0小于150,確定用戶輸入的90為有效的業(yè)務對象數(shù)據(jù);若用戶輸入的業(yè)務對象數(shù)據(jù)為_20,則不符合有效性規(guī)則中包括的有效性條件,即不符合大于0小于150,確定用戶輸入的-20為無效的業(yè)務對象數(shù)據(jù)。將上述實施例提供的對業(yè)務對象數(shù)據(jù)的驗證方法應用到具體的信息系統(tǒng)中時,其實現(xiàn)過程為用戶通過信息系統(tǒng)提供的用戶界面向信息系統(tǒng)提交加載包括擴展屬性信息的業(yè)務對象表單的請求;系統(tǒng)根據(jù)用戶的請求訪問數(shù)據(jù)庫,并將用戶請求的擴展屬性信息的基本信息(屬性名稱、屬性類型、有效性規(guī)則)加載到內(nèi)存中,根據(jù)屬性類型自動生成擴展屬性錄入控件,以及根據(jù)有效性規(guī)則生成數(shù)據(jù)驗證控件;用戶根據(jù)信息系統(tǒng)提供的擴展屬性錄入控件輸入業(yè)務對象數(shù)據(jù)并提交后,系統(tǒng)利用生成的數(shù)據(jù)驗證控件自動調(diào)用系統(tǒng)的數(shù)據(jù)有效性驗證組件進行數(shù)據(jù)有效性驗證,如果數(shù)據(jù)有效性驗證通過,系統(tǒng)訪問數(shù)據(jù)訪問組件,將用戶提交的業(yè)務對象數(shù)據(jù)保存在數(shù)據(jù)庫中;否則,系統(tǒng)將給出相應的提示,要求用戶重新輸入或中斷用戶請求。本發(fā)明實施例還提供了一種業(yè)務對象數(shù)據(jù)的驗證裝置,如圖3所示,該裝置包括規(guī)則查找單元301、驗證單元302以及存儲單元303。其中,規(guī)則查找單元301,用于根據(jù)用戶請求擴展的業(yè)務對象的屬性名稱以及屬性類型,從預先設定的有效性規(guī)則中查找與該屬性名稱以及屬性類型對應的有效性規(guī)則。驗證單元302,用于根據(jù)規(guī)則查找單元301查找到的有效性規(guī)則驗證用戶輸入的業(yè)務對象數(shù)據(jù)。存儲單元303,用于當驗證單元302驗證通過時,保存用戶輸入的業(yè)務對象數(shù)據(jù)。較佳地,上述驗證單元302進一步用于,確定規(guī)則查找單元301查找到的有效性規(guī)則中包括的有效性條件,當用戶輸入的業(yè)務對象數(shù)據(jù)滿足該有效性條件時,確定用戶輸入的業(yè)務對象數(shù)據(jù)驗證通過。如圖4所示,一個實施例中,圖3所示的驗證裝置還包括信息反饋單元304,該單元用于當驗證單元302驗證未通過時,向用戶反饋驗證未通過的原因,或/和,要求用戶重新輸入業(yè)務對象數(shù)據(jù)。如圖5所示,一個實施例中,圖3所示的驗證裝置還包括規(guī)則預設單元305,用于根據(jù)業(yè)務對象的屬性名稱以及屬性類型預先設定與該屬性名稱以及屬性類型對應的有效性規(guī)則。較佳地,上述規(guī)則預設單元305進一步用于,根據(jù)業(yè)務對象的屬性類型,設定與屬性類型對應的有效性規(guī)則模板,并根據(jù)設定的有效性規(guī)則模板以及業(yè)務對象的屬性名稱,確定所述有效性規(guī)則。通過上述技術方案,本發(fā)明在對用戶輸入的業(yè)務對象數(shù)據(jù)進行驗證之前,首先根據(jù)用戶請求擴展的業(yè)務對象的屬性名稱以及屬性類型,從預先設定的有效性規(guī)則中查找用于此次驗證的有效性規(guī)則,并根據(jù)查找到的有效性規(guī)則驗證用戶輸入的業(yè)務對象數(shù)據(jù),當驗證通過時,確定用戶輸入的業(yè)務對象數(shù)據(jù)有效,并保存該業(yè)務對象數(shù)據(jù)。與現(xiàn)有技術只驗證業(yè)務對象數(shù)據(jù)的屬性類型相比,能夠更加準確地對用戶輸入的業(yè)務對象數(shù)據(jù)的有效性進行驗證,提高了驗證業(yè)務對象數(shù)據(jù)的準確度以及保存的業(yè)務對象數(shù)據(jù)的可用性。另外,本發(fā)明在驗證業(yè)務對象數(shù)據(jù)之前預先設定了用于驗證業(yè)務對象的有效性規(guī)則,在驗證過程只需要根據(jù)預先定義的相應的有效性規(guī)則進行驗證,從而提高了驗證業(yè)務對象數(shù)據(jù)的效率。另外,本發(fā)明實施例中,當驗證用戶輸入的業(yè)務對象數(shù)據(jù)未通過時,向用戶反饋驗證未通過的原因,使用戶可以根據(jù)系統(tǒng)反饋的原因重新輸入業(yè)務對象數(shù)據(jù),提高了輸入業(yè)務對象數(shù)據(jù)的正確率。顯然,本領域的技術人員可以對本發(fā)明進行各種改動和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術的范圍之內(nèi),則本發(fā)明也意圖包含這些改動和變型在內(nèi)。權(quán)利要求一種業(yè)務對象數(shù)據(jù)的驗證方法,其特征在于,包括根據(jù)用戶請求擴展的業(yè)務對象的屬性名稱以及屬性類型,從預先設定的有效性規(guī)則中查找與所述屬性名稱以及屬性類型對應的有效性規(guī)則;根據(jù)查找到的有效性規(guī)則驗證用戶輸入的業(yè)務對象數(shù)據(jù),當驗證通過時,保存所述業(yè)務對象數(shù)據(jù)。2.如權(quán)利要求1所述的方法,其特征在于,根據(jù)查找到的有效性規(guī)則驗證用戶輸入的業(yè)務對象數(shù)據(jù)以及驗證通過,包括確定所述有效性規(guī)則中包括的有效性條件;當用戶輸入的業(yè)務對象數(shù)據(jù)滿足所述有效性條件時,確定所述業(yè)務對象數(shù)據(jù)驗證通過。3.如權(quán)利要求1所述的方法,其特征在于,當驗證未通過時,還包括向所述用戶反饋驗證未通過的原因;或/和,要求所述用戶重新輸入業(yè)務對象數(shù)據(jù)。4.如權(quán)利要求1至3任一項所述的方法,其特征在于,還包括根據(jù)業(yè)務對象的屬性名稱以及屬性類型預先設定與所述屬性名稱以及屬性類型對應的有效性規(guī)則。5.如權(quán)利要求4所述的方法,其特征在于,根據(jù)業(yè)務對象的屬性名稱以及屬性類型預先設定與所述屬性名稱以及屬性類型對應的有效性規(guī)則,包括根據(jù)業(yè)務對象的屬性類型,設定與所述屬性類型對應的有效性規(guī)則模板;根據(jù)所述有效性規(guī)則模板以及所述業(yè)務對象的屬性名稱,確定所述有效性規(guī)則。6.—種業(yè)務對象數(shù)據(jù)的驗證裝置,其特征在于,包括規(guī)則查找單元,用于根據(jù)用戶請求擴展的業(yè)務對象的屬性名稱以及屬性類型,從預先設定的有效性規(guī)則中查找與所述屬性名稱以及屬性類型對應的有效性規(guī)則;驗證單元,用于根據(jù)所述規(guī)則查找單元查找到的有效性規(guī)則驗證用戶輸入的業(yè)務對象數(shù)據(jù);存儲單元,用于當所述驗證單元驗證通過時,保存所述業(yè)務對象數(shù)據(jù)。7.如權(quán)利要求6所述的裝置,其特征在于,所述驗證單元進一步用于,確定所述規(guī)則查找單元查找到的有效性規(guī)則中包括的有效性條件,當用戶輸入的業(yè)務對象數(shù)據(jù)滿足所述有效性條件時,確定所述業(yè)務對象數(shù)據(jù)驗證通過。8.如權(quán)利要求6所述的裝置,其特征在于,還包括信息反饋單元,用于當所述驗證單元驗證未通過時,向所述用戶反饋驗證未通過的原因;或/和,要求所述用戶重新輸入業(yè)務對象數(shù)據(jù)。9.如權(quán)利要求6至8任一項所述的裝置,其特征在于,還包括規(guī)則預設單元,用于根據(jù)業(yè)務對象的屬性名稱以及屬性類型預先設定與所述屬性名稱以及屬性類型對應的有效性規(guī)則。10.如權(quán)利要求9所述的裝置,其特征在于,所述規(guī)則預設單元進一步用于,根據(jù)業(yè)務對象的屬性類型,設定與所述屬性類型對應的有效性規(guī)則模板,并根據(jù)所述有效性規(guī)則模板以及所述業(yè)務對象的屬性名稱,確定所述有效性規(guī)則。全文摘要本發(fā)明公開了一種業(yè)務對象數(shù)據(jù)的驗證方法及其裝置,用以解決現(xiàn)有技術對業(yè)務對象數(shù)據(jù)進行有效性驗證的準確度低的問題。主要技術方案包括根據(jù)用戶請求擴展的業(yè)務對象的屬性名稱以及屬性類型,從預先設定的有效性規(guī)則中查找與所述屬性名稱以及屬性類型對應的有效性規(guī)則;根據(jù)查找到的有效性規(guī)則驗證用戶輸入的業(yè)務對象數(shù)據(jù),當驗證通過時,保存所述業(yè)務對象數(shù)據(jù)。通過該技術方案,提高了用戶輸入的業(yè)務對象數(shù)據(jù)的有效性和可用性,并且提高了業(yè)務對象數(shù)據(jù)有效性驗證的效率。文檔編號G06F17/30GK101727466SQ20081022562公開日2010年6月9日申請日期2008年10月31日優(yōu)先權(quán)日2008年10月31日發(fā)明者楊濤,陳春和申請人:北大方正集團有限公司;北京北大方正電子有限公司