動態擴展業務對象的方法和系統

動態擴展業務對象的方法和系統

《動態擴展業務對象的方法和系統》是金蝶軟體(中國)有限公司於2011年12月9日申請的發明專利,該專利申請號為201110409745X,公布號為CN103164413A,公布日為2013年6月19日,發明人是肖光雁。

一種動態擴展業務對象的方法,包括以下步驟:獲取輸入的擴展屬性的描述信息;根據所述描述信息創建包含多個擴展屬性的擴展對象;獲取用戶輸入的包含多個標準屬性的標準業務對象和所述標準業務對象的擴展屬性組成的擴展對象;將所述輸入的擴展對象與標準業務對象相關聯。上述方法,可根據實際需要設定擴展屬性的數量和長度,並分配相應的資料庫存儲空間,能有效減少資料庫存儲冗餘;另外,可將一個擴展對象與多個標準業務對象相關聯,即多個標準業務對象可公用的一個擴展對象的擴展屬性,從而可進一步減少資料庫存儲冗餘。此外還提供一種動態擴展業務對象的系統。

2021年6月24日,《動態擴展業務對象的方法和系統》獲得第二十二屆中國專利優秀獎。

(概述圖為《動態擴展業務對象的方法和系統》摘要附圖)

基本介紹

  • 中文名:動態擴展業務對象的方法和系統
  • 類別:發明專利
  • 申請人金蝶軟體(中國)有限公司
  • 發明人:肖光雁
  • 申請號:201110409745X
  • 申請日:2011年12月9日
  • 公布號:CN103164413A
  • 公布日:2013年6月19日
  • 地址:廣東省深圳市南山區深南大道市高新技術工業村
  • 代理機構:廣州華進聯合專利商標代理有限公司
  • 代理人:何平
  • Int. Cl.:G06F17/30
專利背景,發明內容,專利目的,技術方案,改善效果,附圖說明,技術領域,權利要求,實施方式,專利榮譽,

專利背景

在信息系統的建設中,資料庫的表結構基本上是根據業務調研、需求分析的結果以及資料庫表中的範式關係要求而設計的。資料庫中的一張表通常對應一個業務對象。在資料庫設計之初,整個庫的表結構通常邏輯清晰、管理方便並且符合3NF範式關係要求,設計之初資料庫中的辨剃店射一張表對應的業務對象稱為標準業務對象,簡稱為標準對象。信息系統運行一段時間後,業務有可能不斷變化和增加,信息系統需要對標準對象擴展新的屬性,以滿足業務運行的需求。
截至2011年12月,傳統的業務對象的擴展方式有預留欄位方式和固定擴展加動態編譯方式。其中,預留欄位方式是在資料庫表中預留一定數量的列,在程式中提供專門的欄位啟用功能。當用戶需要對標準對象擴展新的屬性時,通過欄位啟動功能設定該標準對象的資料庫表的預留欄位為擴展屬性。預留欄位方式糠腿龍對於後續的分析需要提供專門的工具進行動態分析。
固定擴展加動態編譯方式是在產品發版時固定每個標準對象只能擴展N個屬性。當需要對標準對象進行擴展時,首先將軟體產品運行成開發狀態,在開發狀態下添加標準對象的擴展屬性;然後編譯軟體產品,擴展後的標準對象被靜態編譯成新的對象;最後發布軟體產品為運行狀態。固定擴展加動態編譯方式一般在增加擴展屬性之前,即已經固定提供待擴展的N個屬性的分析。
然而,上述兩種業務對象的擴展方式,都是通過預先設定數據方式,因此產生的資料庫存儲冗餘較多,占用資料庫資源。

發明內容

專利目的

《動態擴展業務對象的方法和系統》的目的是提供一種能減少資料庫存儲冗餘的動態擴展業務對象的方法。

技術方案

一種動態擴展業務對象的方法,包括以下步驟:獲取輸入的擴展屬性的描述信息;根據所述描述信息創建包含多個擴展屬性的擴展對象;獲取用戶輸入的包含多個標準屬性的標準業務對象和所述標準業務對象的擴展屬性組成的擴展對象;將所述輸入的擴展對象與標準業務對象相關聯。
優選的,所述擴展屬性的描述信息包括擴展屬性的名稱、數據類型、數據長度。
優選的,所述將所述擴展對象與所述標準業務對象相關聯的步驟為:獲取所述標準業務對象的配置檔案;將所述擴展對象中的擴展屬性的描述信息加入所述配置檔案中;在所述標準業務對象的數據表中設定所述擴展對象的關鍵字的欄位。
優選的,所述方法還包括:獲取輸入的標準業務對象的標準屬性數據和與標準業務對象對應的擴展對象的擴展屬性數據;在所述擴展對象的數據表中查找所述擴展屬性數據是否存在;若存在,則在所述擴展對象的數據表中獲取標識為關鍵字的欄位,將所述擴展屬性數據對應的關鍵字以及所述標準屬性數據插入所述標準業務對象的數據表中的相應欄位中;若不存在,則將所述擴展屬性數據插入擴展對象的數據表中,並將所述擴展屬性數據對應的關鍵字以及所述標準屬性數據插入所述標準業務對象的數據表的相應欄位中。
優選的,所述方法還包括:獲取輸入的與標準業務對象相關的查詢條件;根據所述查詢條件以及所述標準業務對象及其對應的擴展對象動態拼接查詢語束漿微句進行查詢。
此外,還有必道嘗要提供一種能減少資料庫存儲冗餘的動態擴展業務對象的系統。
一種動洪愉悼態擴展業務對象的系統,包括:數據獲取模組,用於獲取輸入的擴展屬性的描述信息;擴展對象創建模組,用於根據所述描述信息創建包含多個擴展屬性的擴展對象;所述數據獲取模組還用於獲取用戶輸入的包含多個標準屬性的標準業務對象和所述標準業務對象的擴展屬性組成的擴展對象;關聯關係設定模組,用於將所述擴展對象與所述標準業務對象相關聯。
優選的,所述擴展屬性的描述信息包括擴展屬性的名稱、數據類型、數據長度。
優選的,所述關聯關係設定模組包括:描述信息添加模組,用於獲取所述標準業務對象的配置檔案,將所述擴展對象的描述信息加入所述配置檔案中;關鍵字設定模組,用於在所述標準業務對象的數據表中設定所述擴展對象的關鍵字的欄位。
優選的,所述數據獲取模組還用於獲取輸入的標準業務對象的迎試頁標準屬性數據和與標準業務對象對應的擴展對象的擴展屬性數據;所述系統還包括數據插入模組,所述數據插入模組用於:在所述擴展對象的數據表中查找所述擴展屬性數據是否存在,若存在,則在所述擴展對象的數據表中獲取標識為關鍵字的欄位,將所述擴展屬性數據對應的關鍵字以及所述標準屬性數據插入所述標準業務對象的數據表中的相應欄位中;若不存在,則將所述擴展屬性數狼頌婆歡據插入擴展對象的數據表中,並將所述擴展屬性數據對應的關鍵字以及所述標準屬性數據插入所述標準業務對象的數據表的相應欄位中。
優選的,所述數據獲取模組還用於獲取輸入的與標準業務對象相關的查詢條件;所述系統還包括查詢模組,用於根據所述查詢條件以及所述標準業務對象及其對應的擴展對象動態拼接查詢語句進行查詢。

改善效果

《動態擴展業務對象的方法和系統》根據用戶輸入的標準業務對象需要新增的擴展屬性的描述信息創建擴展對象,並將該擴展對象與該標準業務對象相關聯來實現對標準業務對象的擴展,這種方式可根據實際需要設定擴展屬性的數量和長度,並分配相應的資料庫存儲空間,能有效減少資料庫存儲冗餘;另外,可將一個擴展對象與多個標準業務對象相關聯,即多個標準業務對象可公用的一個擴展對象的擴展屬性,從而可進一步減少資料庫存儲冗餘。

附圖說明

圖1為一個實施例中的動態擴展業務對象的方法的流程示意圖;
圖2為一個實施例中的將輸入的擴展對象與標準業務對象相關聯的流程示意圖;
圖3為一個實施例中的在標準業務對象的數據表及其對應的擴展對象的數據表中插入數據的流程示意圖;
圖4為一個實施例中的動態擴展業務對象的系統的結構示意圖;
圖5為一個實施例中的關聯繫統設定模組的結構示意圖。

技術領域

《動態擴展業務對象的方法和系統》涉及計算機技術領域,特別涉及一種動態擴展業務對象的方法和系統。

權利要求

1.一種動態擴展業務對象的方法,包括以下步驟:獲取輸入的擴展屬性的描述信息;根據所述描述信息創建包含多個擴展屬性的擴展對象;獲取用戶輸入的包含多個標準屬性的標準業務對象和所述標準業務對象的擴展屬性組成的擴展對象;將所述輸入的擴展對象與標準業務對象相關聯;所述將所述擴展對象與所述標準業務對象相關聯的步驟為:獲取所述標準業務對象的配置檔案,將所述擴展對象中的擴展屬性的描述信息加入所述配置檔案中,在所述標準業務對象的數據表中設定所述擴展對象的關鍵字的欄位。
2.根據權利要求1所述的動態擴展業務對象的方法,其特徵在於,所述擴展屬性的描述信息包括擴展屬性的名稱、數據類型、數據長度。
3.根據權利要求1所述的動態擴展業務對象的方法,其特徵在於,所述方法還包括:獲取輸入的標準業務對象的標準屬性數據和與標準業務對象對應的擴展對象的擴展屬性數據;在所述擴展對象的數據表中查找所述擴展屬性數據是否存在;若存在,則在所述擴展對象的數據表中獲取標識為關鍵字的欄位,將所述擴展屬性數據對應的關鍵字以及所述標準屬性數據插入所述標準業務對象的數據表中的相應欄位中;若不存在,則將所述擴展屬性數據插入擴展對象的數據表中,並將所述擴展屬性數據對應的關鍵字以及所述標準屬性數據插入所述標準業務對象的數據表的相應欄位中。
4.根據權利要求1至3中任意一項所述的動態擴展業務對象的方法,其特徵在於,所述方法還包括:獲取輸入的與標準業務對象相關的查詢條件;根據所述查詢條件以及所述標準業務對象及其對應的擴展對象動態拼接查詢語句進行查詢。
5.一種動態擴展業務對象的系統,其特徵在於,包括:數據獲取模組,用於獲取輸入的擴展屬性的描述信息;擴展對象創建模組,用於根據所述描述信息創建包含多個擴展屬性的擴展對象;所述數據獲取模組還用於獲取用戶輸入的包含多個標準屬性的標準業務對象和所述標準業務對象的擴展屬性組成的擴展對象;關聯關係設定模組,用於將所述擴展對象與所述標準業務對象相關聯;所述關聯關係設定模組包括:描述信息添加模組,用於獲取所述標準業務對象的配置檔案,將所述擴展對象的描述信息加入所述配置檔案中;關鍵字設定模組,用於在所述標準業務對象的數據表中設定所述擴展對象的關鍵字的欄位。
6.根據權利要求5所述的動態擴展業務對象的系統,其特徵在於,所述擴展屬性的描述信息包括擴展屬性的名稱、數據類型、數據長度。
7.根據權利要求5所述的動態擴展業務對象的系統,其特徵在於,所述數據獲取模組還用於獲取輸入的標準業務對象的標準屬性數據和與標準業務對象對應的擴展對象的擴展屬性數據;所述系統還包括數據插入模組,所述數據插入模組用於:在所述擴展對象的數據表中查找所述擴展屬性數據是否存在,若存在,則在所述擴展對象的數據表中獲取標識為關鍵字的欄位,將所述擴展屬性數據對應的關鍵字以及所述標準屬性數據插入所述標準業務對象的數據表中的相應欄位中;若不存在,則將所述擴展屬性數據插入擴展對象的數據表中,並將所述擴展屬性數據對應的關鍵字以及所述標準屬性數據插入所述標準業務對象的數據表的相應欄位中。
8.根據權利要求5至7中任意一項所述的動態擴展業務對象的系統,其特徵在於,所述數據獲取模組還用於獲取輸入的與標準業務對象相關的查詢條件;所述系統還包括查詢模組,用於根據所述查詢條件以及所述標準業務對象及其對應的擴展對象動態拼接查詢語句進行查詢。

實施方式

如圖1所示,在一個實施例中,一種動態擴展業務對象的方法,包括以下步驟:
步驟S101,獲取輸入的擴展屬性的描述信息。
優選的,擴展屬性的描述信息包括擴展屬性的名稱、數據類型、數據長度等。在一個實施例中,擴展屬性的描述信息還可包括擴展屬性的有效值和/或擴展屬性是否為關鍵字的信息。
在一個實施例,可在用戶界面提供輸入編輯框供用戶輸入擴展屬性的描述信息。當用戶提交擴展屬性的描述信息時,即可獲取該描述信息。
步驟S102,根據上述描述信息創建包含多個擴展屬性的擴展對象。
具體的,不同的標準業務對象有可能其需要添加的擴展屬性相同,尤其是在ERP系統中更是如此。因此可將標準業務對象之間需要添加的共同的多個擴展屬性組合成一個擴展對象,標準業務對象只要公用該擴展對象即可。
優選的,可創建擴展對象的配置檔案,並將輸入的多個的擴展屬性的描述信息存儲到配置檔案中。優選的,擴展對象的配置檔案可以為XML檔案。在一個實施例中,擴展對象的配置檔案也可以為資料庫中的數據表,如下表所示,表1為擴展對象的描述表:
動態擴展業務對象的方法和系統
表1
在一個實施例中,若擴展屬性的描述信息中包含擴展屬性是否為關鍵字的信息,且指定了某一擴展屬性為關鍵字,則該擴展屬性即為該擴展對象的關鍵字。若擴展屬性的描述信息沒有指定任何擴展屬性為關鍵字,則可設定擴展對象的關鍵字為自動生成型關鍵字。優選的,可設定擴展對象的關鍵字為自增型序列號。若關鍵字為自增型序列號,則每在擴展對象的數據表中插入一條記錄,該記錄對應的關鍵字為上一條記錄的關鍵+1。在一個實施例中,可設定擴展對象的關鍵字為根據時間生成的序列號,根據時間生成的序列號可以避免不同表的關鍵字重碼的問題。進一步的,將設定的擴展對象的關鍵字的信息存儲至擴展對象的配置檔案中。
進一步的,在資料庫中創建擴展對象的數據表,數據表中的欄位對應擴展對象的擴展屬性(包括關鍵字)。優選的,數據表的表名對應擴展對象的名稱。在一個實施例中,擴展對象的名稱可由用戶在輸入該擴展對象的擴展屬性的描述信息時輸入,也可以由系統自動生成,例如擴展對象1、擴展對象2等。
步驟S103,獲取用戶輸入的包含多個標準屬性的標準業務對象和該標準業務對象的擴展屬性組成的擴展對象。
在一個實施例中,可在用戶界面提供將標準業務對象與擴展對象相對應的選擇輸入框,供用戶選擇需要添加擴展屬性的標準業務對象、以及該標準業務對象需要添加的擴展屬性所組成的擴展對象。優選的,一個標準業務對象可對應多個擴展對象;一個擴展對象也可以對應多個標準業務對象,此時該多個標準業務對象公用該擴展對象的擴展屬性。
步驟S104,將上述輸入的擴展對象與標準業務對象相關聯。
具體的,在後台建立並存儲輸入的擴展對象與標準業務對象之間的對應關係。
上述動態擴展業務對象的方法,根據用戶輸入的標準業務對象需要新增的擴展屬性的描述信息創建擴展對象,並將該擴展對象與該標準業務對象相關聯來實現對標準業務對象的擴展,這種方式可根據實際需要設定擴展屬性的數量和長度,並分配相應的資料庫存儲空間,能有效減少資料庫存儲冗餘;另外,可將一個擴展對象與多個標準業務對象相關聯,即多個標準業務對象可公用的一個擴展對象的擴展屬性,從而可進一步減少資料庫存儲冗餘。
如圖2所示,在一個實施例中,步驟S104包括:
步驟S114,獲取標準業務對象的配置檔案。
具體的,標準業務對象的配置檔案中存儲了標準業務對象的相關信息,包括標準業務對象的名稱以及標準業務對象的標準屬性的名稱、類型、長度等。優選的,配置檔案可以為XML檔案或者資料庫中的數據表。
步驟S124,將擴展對象中的擴展屬性的描述信息加入標準業務對象的配置檔案中。
具體的,將擴展對象中的擴展屬性的描述信息加入標準業務對象的配置檔案中,即在後台建立了標準業務對象與擴展對象以及擴展對象的擴展屬性的對應關係。該實施例中,通過查詢標準業務對象的配置檔案即可獲得該標準業務對象包含的標準屬性和擴展屬性,並進一步的可根據標準屬性和擴展屬性來生成報表,不需要用戶在關於標準業務對象的報表中手動添加擴展屬性的數據,方便了用戶的操作。
步驟S134,在標準業務對象的數據表中設定擴展對象的關鍵字的欄位。
具體的,可在標準業務對象的數據表中增加一個欄位用於存儲擴展對象的關鍵字。在另一個實施例中,也可使用標準業務對象的數據表的預留欄位用於存儲擴展對象的關鍵欄位。
由於擴展對象的數據表中的一條記錄中的關鍵字與該記錄一一對應,所以該實施例中在標準業務對象的數據表中增加一個欄位或者使用一個預留欄位來存儲擴展對象的關鍵字,則不需要在數據表中事先預留足夠多的欄位用於設定擴展屬性,減少了資料庫存儲冗餘。
如圖3所示,在一個實施例中,上述方法還包括在標準業務對象的數據表及其對應的擴展對象的數據表中插入數據的步驟,包括:
步驟S105,獲取輸入的標準業務對象的標準屬性數據和與標準業務對象對應的擴展對象的擴展屬性數據。
當標準業務對象增加了擴展屬性後,可在輸入標準業務對象的標準屬性數據的用戶界面中添加該標準業務對象的擴展對象的擴展屬性數據的輸入編輯框。
步驟S106,在擴展對象的數據表中查找上述輸入的擴展屬性數據是否存在,若存在,則執行步驟S107,若不存在,則執行步驟S108。
具體的,結合下面的數據表來說明步驟S106、S107和S108的執行過程。下表中,表2為標準業務對象“物料”的數據表,其中,“物料”數據表中包含的欄位有:關鍵字“物料ID”和標準屬性“名稱”、“數量/噸”以及擴展對象關鍵字“擴展屬性ID”;表3為標準業務對象“物料”的擴展對象“擴展屬性組合”的數據表,其中“擴展屬性組合”包含的欄位有:關鍵字“擴展屬性ID”和擴展屬性“批號”、“等級”,關鍵字“擴展屬性ID”為自增型。
動態擴展業務對象的方法和系統
表2
動態擴展業務對象的方法和系統
表3
設用戶輸入的記錄為(A02,鋼筋,100,B-001,一級),其對應標準業務對象的關鍵字、標準屬性“名稱”和“數量/噸”以及擴展屬性“批號”和“等級”。則在表3中查找是否存在“批號”為“B-001”且“等級”為“一級”的記錄,若存在,則執行步驟S107,若不存在,則執行步驟S108。
步驟S107,在擴展對象的數據表中獲取標識為關鍵字的欄位,將擴展屬性數據對應的關鍵字以及標準屬性數據插入標準業務對象的數據表中的相應欄位中。
如上所示,表3中已經存在“批號”為“B-001”且“等級”為“一級”的記錄,則將該記錄的關鍵字“0001”與標準屬性數據“A02”、“鋼筋”、“100”按照標準業務對象“物料”的數據表的欄位順序組成記錄(A02,鋼筋,100,0003)插入到“物料”數據表中。
步驟S108,將上述擴展屬性數據插入擴展對象的數據表中,並將該擴展屬性數據對應的關鍵字以及標準屬性數據插入標準業務對象的數據表的相應欄位中。
具體的,若表3中不存在“批號”為“B-001”且“等級”為“一級”的記錄,則將擴展屬性數據“B-001”、“一級”插入到擴展對象“擴展屬性組合”的數據表中。如上所述,此數據表的關鍵字為自增型,因此數據表中會自動生成相應的關鍵字,新增記錄的關鍵字為上一條記錄的關鍵字+1,即“0003”。進一步的,將該關鍵字“0003”與標準屬性數據“A02”、“鋼筋”、“100”按照標準業務對象“物料”的數據表的欄位順序組成記錄(A03,鋼筋,100,0003)插入到“物料”數據表中。
上述方法,在標準業務數據表中只設定了擴展對象的關鍵字欄位,對於公用一個擴展對象的多個標準業務對象,當該多個標準業務對象的擴展屬性數據相同時,該多個標準業務對象的數據表可公用擴展對象數據表中的一條記錄,從而減少了資料庫存儲冗餘。
在一個實施例中,上述方法還包括步驟:獲取輸入的與標準業務對象相關的查詢條件;根據該查詢條件和該標準業務對象及其對應的擴展對象動態拼接查詢語句進行查詢。
具體的,與標準業務對象相關的查詢條件包括以標準業務對象名稱為查詢條件,及以標準業務對象的標準屬性和/或標準業務對象對應的擴展對象的擴展屬性為查詢條件。
在一個實施例中,可在標準業務對象的配置檔案中查找到其對應的擴展對象,以該標準業務對象的數據表中的擴展對象的關鍵字等於該擴展對象的數據表中的關鍵字為條件,拼接該標準業務對象和該擴展對象的數據表,並結合輸入的查詢條件進行查詢,進一步顯示查詢結果。
該實施例中,對標準業務對象的擴展屬性的查詢可以通過查詢標準業務對象的配置檔案並動態拼接查詢語句進行查詢並顯示相應的查詢結果,對擴展屬性的查詢和顯示不需要在程式中預先設定好,實現了對標準業務對象動態添加擴展屬性。
如圖4所示,在一個實施例中,一種動態擴展業務對象的系統,包括數據獲取模組501、擴展對象創建模組502、關聯關係設定模組503,其中:
數據獲取模組501用於獲取輸入的擴展屬性的描述信息。
優選的,擴展屬性的描述信息包括擴展屬性的名稱、數據類型、數據長度等。在一個實施例中,擴展屬性的描述信息還可包括擴展屬性的有效值和/或擴展屬性是否為關鍵字的信息。
在一個實施例,數據獲取模組501可用於在用戶界面提供輸入編輯框供用戶輸入擴展屬性的描述信息。當用戶提交擴展屬性的描述信息時,數據獲取模組501即可獲取該描述信息。
擴展對象創建模組502用於根據上述描述信息創建包含多個擴展屬性的擴展對象。
具體的,不同的標準業務對象有可能其需要添加的擴展屬性相同,尤其是在ERP系統中更是如此。因此可將標準業務對象之間需要添加的共同的多個擴展屬性組合成一個擴展對象,標準業務對象只要公用該擴展對象即可。
優選的,擴展對象創建模組502可用於創建擴展對象的配置檔案,並將輸入的多個的擴展屬性的描述信息存儲到配置檔案中。優選的,擴展對象的配置檔案可以為XML檔案。在一個實施例中,擴展對象的配置檔案也可以為資料庫中的數據表,如表1所示。
在一個實施例中,若擴展屬性的描述信息中包含擴展屬性是否為關鍵字的信息,且指定了某一擴展屬性為關鍵字,則該擴展屬性即為該擴展對象的關鍵字。若擴展屬性的描述信息沒有指定任何擴展屬性為關鍵字,則擴展對象創建模組502可設定擴展對象的關鍵字為自動生成型關鍵字。優選的,擴展對象創建模組502可設定擴展對象的關鍵字為自增型序列號。若關鍵字為自增型序列號,則每在擴展對象的數據表中插入一條記錄,該記錄對應的關鍵字為上一條記錄的關鍵+1。在一個實施例中,擴展對象創建模組502可設定擴展對象的關鍵字為根據時間生成的序列號,根據時間生成的序列號可以避免不同表的關鍵字重碼的問題。進一步的,擴展對象創建模組502將設定的擴展對象的關鍵字的信息存儲至擴展對象的配置檔案中。
進一步的,擴展對象創建模組502用於在資料庫中創建擴展對象的數據表,數據表中的欄位對應擴展對象的擴展屬性(包括關鍵字)。優選的,數據表的表名對應擴展對象的名稱。在一個實施例中,擴展對象的名稱可由用戶在輸入該擴展對象的擴展屬性的描述信息時輸入,也可以由擴展對象創建模組502自動生成,例如擴展對象1、擴展對象2等。
數據獲取模組501還用於獲取用戶輸入的包含多個標準屬性的標準業務對象和該標準業務對象的擴展屬性組成的擴展對象。
在一個實施例中,數據獲取模組501可用於在用戶界面提供將標準業務對象與擴展對象相對應的選擇輸入框,供用戶選擇需要添加擴展屬性的標準業務對象、以及該標準業務對象需要添加的擴展屬性所組成的擴展對象。優選的,一個標準業務對象可對應多個擴展對象;一個擴展對象也可以對應多個標準業務對象,此時該多個標準業務對象公用該擴展對象的擴展屬性。
關聯關係設定模組503用於將上述輸入的擴展對象與標準業務對象相關聯。
具體的,關聯關係設定模組503用於在後台建立並存儲輸入的擴展對象與標準業務對象之間的對應關係。
上述動態擴展業務對象的系統,根據用戶輸入的標準業務對象需要新增的擴展屬性的描述信息創建擴展對象,並將該擴展對象與該標準業務對象相關聯來實現對標準業務對象的擴展,這種方式可根據實際需要設定擴展屬性的數量和長度,並分配相應的資料庫存儲空間,能有效減少資料庫存儲冗餘;另外,可將一個擴展對象與多個標準業務對象相關聯,即多個標準業務對象可公用的一個擴展對象的擴展屬性,從而可進一步減少資料庫存儲冗餘。
如圖5所示,在一個實施例中,關聯關係設定模組503包括描述信息添加模組513、關鍵字設定模組523,其中:
描述信息添加模組513用於獲取標準業務對象的配置檔案。
具體的,標準業務對象的配置檔案中存儲了標準業務對象的相關信息,包括標準業務對象的名稱以及標準業務對象的標準屬性的名稱、類型、長度等。優選的,配置檔案可以為XML檔案或者資料庫中的數據表。
描述信息添加模組513還用於將擴展對象中的擴展屬性的描述信息加入標準業務對象的配置檔案中。
具體的,描述信息添加模組513將擴展對象中的擴展屬性的描述信息加入標準業務對象的配置檔案中,即在後台建立了標準業務對象與擴展對象以及擴展對象的擴展屬性的對應關係。該實施例中,通過查詢標準業務對象的配置檔案即可獲得該標準業務對象包含的標準屬性和擴展屬性,並進一步的可根據標準屬性和擴展屬性來生成報表,不需要用戶在關於標準業務對象的報表中手動添加擴展屬性的數據,方便了用戶的操作。
關鍵字設定模組523用於在標準業務對象的數據表中設定擴展對象的關鍵字的欄位。
具體的,關鍵字設定模組523可在標準業務對象的數據表中增加一個欄位用於存儲擴展對象的關鍵字。在另一個實施例中,關鍵字設定模組523也可使用標準業務對象的數據表的預留欄位用於存儲擴展對象的關鍵欄位。
由於擴展對象的數據表中的一條記錄中的關鍵字與該記錄一一對應,所以該實施例中在標準業務對象的數據表中增加一個欄位或者使用一個預留欄位來存儲擴展對象的關鍵字,則不需要在數據表中事先預留足夠多的欄位用於設定擴展屬性,減少了資料庫存儲冗餘。
在一個實施例中,上述系統的數據獲取模組501還用於獲取輸入的標準業務對象的標準屬性數據和與標準業務對象對應的擴展對象的擴展屬性數據。
當標準業務對象增加了擴展屬性後,數據獲取模組501可在輸入標準業務對象的標準屬性的數據的用戶界面中添加該標準業務對象的擴展對象的擴展屬性數據的輸入編輯框。
該實施例中,上述系統還包括數據插入模組(圖中未示出),數據插入模組用於:在擴展對象的數據表中查找上述擴展屬性數據是否存在,若存在,則在所述擴展對象的數據表中獲取標識為關鍵字的欄位,將所述擴展屬性數據對應的關鍵字以及所述標準屬性數據插入所述標準業務對象的數據表中的相應欄位中;若不存在,則將所述擴展屬性數據插入擴展對象的數據表中,並將所述擴展屬性數據對應的關鍵字以及所述標準屬性數據插入所述標準業務對象的數據表的相應欄位中。
具體的,結合上文的數據表表2和表3來說明數據插入模組的工作過程,其中。表2為標準業務對象“物料”的數據表,其中,“物料”數據表中包含的欄位有:關鍵字“物料ID”和標準屬性“名稱”、“數量/噸”以及擴展對象關鍵字“擴展屬性ID”;表3為標準業務對象“物料”的擴展對象“擴展屬性組合”的數據表,其中“擴展屬性組合”包含的欄位有:關鍵字“擴展屬性ID”和擴展屬性“批號”、“等級”,關鍵字“擴展屬性ID”為自增型。
設用戶輸入的記錄為(A02,鋼筋,100,B-001,一級),其對應標準業務對象的關鍵字、標準屬性“名稱”和“數量/噸”以及擴展屬性“批號”和“等級”。則數據插入模組在表3中查找是否存在“批號”為“B-001”且“等級”為“一級”的記錄。
如上所示,表3中已經存在“批號”為“B-001”且“等級”為“一級”的記錄,則數據插入模組將該記錄的關鍵字“0001”與標準屬性數據“A02”、“鋼筋”、“100”按照標準業務對象“物料”的數據表的欄位順序組成記錄(A02,鋼筋,100,0003)插入到“物料”數據表中。
具體的,若表3中不存在“批號”為“B-001”且“等級”為“一級”的記錄,則數據插入模組將擴展屬性數據“B-001”、“一級”插入到擴展對象“擴展屬性組合”的數據表中。如上所述,此數據表的關鍵字為自增型,因此數據表中會自動生成相應的關鍵字,新增記錄的關鍵字為上一條記錄的關鍵字+1,即“0003”。進一步的,數據插入模組將該關鍵字“0003”與標準屬性數據“A02”、“鋼筋”、“100”按照標準業務對象“物料”的數據表的欄位順序組成記錄(A03,鋼筋,100,0003)插入到“物料”數據表中。
上述動態擴展業務對象的系統,在標準業務數據表中只設定了擴展對象的關鍵字欄位,對於公用一個擴展對象的多個標準業務對象,當該多個標準業務對象的擴展屬性數據相同時,該多個標準業務對象的數據表可公用擴展對象數據表中的一條記錄,從而減少了資料庫存儲冗餘。
在一個實施例中,上述系統的數據獲取模組501還用於獲取輸入的與標準業務對象相關的查詢條件。
具體的,與標準業務對象相關的查詢條件包括以標準業務對象名稱為查詢條件,及以標準業務對象的標準屬性和/或標準業務對象對應的擴展對象的擴展屬性為查詢條件。
該實施例中,上述系統還包括查詢模組(圖中未示出),用於根據所述查詢條件以及所述標準業務對象及其對應的擴展對象動態拼接查詢語句進行查詢。
具體的,查詢模組可在標準業務對象的配置檔案中查找到其對應的擴展對象,以該標準業務對象的數據表中的擴展對象的關鍵字等於該擴展對象的數據表中的關鍵字為條件,拼接該標準業務對象和該擴展對象的數據表,並結合輸入的查詢條件進行查詢,進一步顯示查詢結果。
該實施例中,對標準業務對象的擴展屬性的查詢可以通過查詢標準業務對象的配置檔案並動態拼接查詢語句進行查詢並顯示相應的查詢結果,對擴展屬性的查詢和顯示不需要在程式中預先設定好,實現了對標準業務對象動態添加擴展屬性。

專利榮譽

2021年6月24日,《動態擴展業務對象的方法和系統》獲得第二十二屆中國專利優秀獎。
優選的,所述擴展屬性的描述信息包括擴展屬性的名稱、數據類型、數據長度。
優選的,所述將所述擴展對象與所述標準業務對象相關聯的步驟為:獲取所述標準業務對象的配置檔案;將所述擴展對象中的擴展屬性的描述信息加入所述配置檔案中;在所述標準業務對象的數據表中設定所述擴展對象的關鍵字的欄位。
優選的,所述方法還包括:獲取輸入的標準業務對象的標準屬性數據和與標準業務對象對應的擴展對象的擴展屬性數據;在所述擴展對象的數據表中查找所述擴展屬性數據是否存在;若存在,則在所述擴展對象的數據表中獲取標識為關鍵字的欄位,將所述擴展屬性數據對應的關鍵字以及所述標準屬性數據插入所述標準業務對象的數據表中的相應欄位中;若不存在,則將所述擴展屬性數據插入擴展對象的數據表中,並將所述擴展屬性數據對應的關鍵字以及所述標準屬性數據插入所述標準業務對象的數據表的相應欄位中。
優選的,所述方法還包括:獲取輸入的與標準業務對象相關的查詢條件;根據所述查詢條件以及所述標準業務對象及其對應的擴展對象動態拼接查詢語句進行查詢。
此外,還有必要提供一種能減少資料庫存儲冗餘的動態擴展業務對象的系統。
一種動態擴展業務對象的系統,包括:數據獲取模組,用於獲取輸入的擴展屬性的描述信息;擴展對象創建模組,用於根據所述描述信息創建包含多個擴展屬性的擴展對象;所述數據獲取模組還用於獲取用戶輸入的包含多個標準屬性的標準業務對象和所述標準業務對象的擴展屬性組成的擴展對象;關聯關係設定模組,用於將所述擴展對象與所述標準業務對象相關聯。
優選的,所述擴展屬性的描述信息包括擴展屬性的名稱、數據類型、數據長度。
優選的,所述關聯關係設定模組包括:描述信息添加模組,用於獲取所述標準業務對象的配置檔案,將所述擴展對象的描述信息加入所述配置檔案中;關鍵字設定模組,用於在所述標準業務對象的數據表中設定所述擴展對象的關鍵字的欄位。
優選的,所述數據獲取模組還用於獲取輸入的標準業務對象的標準屬性數據和與標準業務對象對應的擴展對象的擴展屬性數據;所述系統還包括數據插入模組,所述數據插入模組用於:在所述擴展對象的數據表中查找所述擴展屬性數據是否存在,若存在,則在所述擴展對象的數據表中獲取標識為關鍵字的欄位,將所述擴展屬性數據對應的關鍵字以及所述標準屬性數據插入所述標準業務對象的數據表中的相應欄位中;若不存在,則將所述擴展屬性數據插入擴展對象的數據表中,並將所述擴展屬性數據對應的關鍵字以及所述標準屬性數據插入所述標準業務對象的數據表的相應欄位中。
優選的,所述數據獲取模組還用於獲取輸入的與標準業務對象相關的查詢條件;所述系統還包括查詢模組,用於根據所述查詢條件以及所述標準業務對象及其對應的擴展對象動態拼接查詢語句進行查詢。

改善效果

《動態擴展業務對象的方法和系統》根據用戶輸入的標準業務對象需要新增的擴展屬性的描述信息創建擴展對象,並將該擴展對象與該標準業務對象相關聯來實現對標準業務對象的擴展,這種方式可根據實際需要設定擴展屬性的數量和長度,並分配相應的資料庫存儲空間,能有效減少資料庫存儲冗餘;另外,可將一個擴展對象與多個標準業務對象相關聯,即多個標準業務對象可公用的一個擴展對象的擴展屬性,從而可進一步減少資料庫存儲冗餘。

附圖說明

圖1為一個實施例中的動態擴展業務對象的方法的流程示意圖;
圖2為一個實施例中的將輸入的擴展對象與標準業務對象相關聯的流程示意圖;
圖3為一個實施例中的在標準業務對象的數據表及其對應的擴展對象的數據表中插入數據的流程示意圖;
圖4為一個實施例中的動態擴展業務對象的系統的結構示意圖;
圖5為一個實施例中的關聯繫統設定模組的結構示意圖。

技術領域

《動態擴展業務對象的方法和系統》涉及計算機技術領域,特別涉及一種動態擴展業務對象的方法和系統。

權利要求

1.一種動態擴展業務對象的方法,包括以下步驟:獲取輸入的擴展屬性的描述信息;根據所述描述信息創建包含多個擴展屬性的擴展對象;獲取用戶輸入的包含多個標準屬性的標準業務對象和所述標準業務對象的擴展屬性組成的擴展對象;將所述輸入的擴展對象與標準業務對象相關聯;所述將所述擴展對象與所述標準業務對象相關聯的步驟為:獲取所述標準業務對象的配置檔案,將所述擴展對象中的擴展屬性的描述信息加入所述配置檔案中,在所述標準業務對象的數據表中設定所述擴展對象的關鍵字的欄位。
2.根據權利要求1所述的動態擴展業務對象的方法,其特徵在於,所述擴展屬性的描述信息包括擴展屬性的名稱、數據類型、數據長度。
3.根據權利要求1所述的動態擴展業務對象的方法,其特徵在於,所述方法還包括:獲取輸入的標準業務對象的標準屬性數據和與標準業務對象對應的擴展對象的擴展屬性數據;在所述擴展對象的數據表中查找所述擴展屬性數據是否存在;若存在,則在所述擴展對象的數據表中獲取標識為關鍵字的欄位,將所述擴展屬性數據對應的關鍵字以及所述標準屬性數據插入所述標準業務對象的數據表中的相應欄位中;若不存在,則將所述擴展屬性數據插入擴展對象的數據表中,並將所述擴展屬性數據對應的關鍵字以及所述標準屬性數據插入所述標準業務對象的數據表的相應欄位中。
4.根據權利要求1至3中任意一項所述的動態擴展業務對象的方法,其特徵在於,所述方法還包括:獲取輸入的與標準業務對象相關的查詢條件;根據所述查詢條件以及所述標準業務對象及其對應的擴展對象動態拼接查詢語句進行查詢。
5.一種動態擴展業務對象的系統,其特徵在於,包括:數據獲取模組,用於獲取輸入的擴展屬性的描述信息;擴展對象創建模組,用於根據所述描述信息創建包含多個擴展屬性的擴展對象;所述數據獲取模組還用於獲取用戶輸入的包含多個標準屬性的標準業務對象和所述標準業務對象的擴展屬性組成的擴展對象;關聯關係設定模組,用於將所述擴展對象與所述標準業務對象相關聯;所述關聯關係設定模組包括:描述信息添加模組,用於獲取所述標準業務對象的配置檔案,將所述擴展對象的描述信息加入所述配置檔案中;關鍵字設定模組,用於在所述標準業務對象的數據表中設定所述擴展對象的關鍵字的欄位。
6.根據權利要求5所述的動態擴展業務對象的系統,其特徵在於,所述擴展屬性的描述信息包括擴展屬性的名稱、數據類型、數據長度。
7.根據權利要求5所述的動態擴展業務對象的系統,其特徵在於,所述數據獲取模組還用於獲取輸入的標準業務對象的標準屬性數據和與標準業務對象對應的擴展對象的擴展屬性數據;所述系統還包括數據插入模組,所述數據插入模組用於:在所述擴展對象的數據表中查找所述擴展屬性數據是否存在,若存在,則在所述擴展對象的數據表中獲取標識為關鍵字的欄位,將所述擴展屬性數據對應的關鍵字以及所述標準屬性數據插入所述標準業務對象的數據表中的相應欄位中;若不存在,則將所述擴展屬性數據插入擴展對象的數據表中,並將所述擴展屬性數據對應的關鍵字以及所述標準屬性數據插入所述標準業務對象的數據表的相應欄位中。
8.根據權利要求5至7中任意一項所述的動態擴展業務對象的系統,其特徵在於,所述數據獲取模組還用於獲取輸入的與標準業務對象相關的查詢條件;所述系統還包括查詢模組,用於根據所述查詢條件以及所述標準業務對象及其對應的擴展對象動態拼接查詢語句進行查詢。

實施方式

如圖1所示,在一個實施例中,一種動態擴展業務對象的方法,包括以下步驟:
步驟S101,獲取輸入的擴展屬性的描述信息。
優選的,擴展屬性的描述信息包括擴展屬性的名稱、數據類型、數據長度等。在一個實施例中,擴展屬性的描述信息還可包括擴展屬性的有效值和/或擴展屬性是否為關鍵字的信息。
在一個實施例,可在用戶界面提供輸入編輯框供用戶輸入擴展屬性的描述信息。當用戶提交擴展屬性的描述信息時,即可獲取該描述信息。
步驟S102,根據上述描述信息創建包含多個擴展屬性的擴展對象。
具體的,不同的標準業務對象有可能其需要添加的擴展屬性相同,尤其是在ERP系統中更是如此。因此可將標準業務對象之間需要添加的共同的多個擴展屬性組合成一個擴展對象,標準業務對象只要公用該擴展對象即可。
優選的,可創建擴展對象的配置檔案,並將輸入的多個的擴展屬性的描述信息存儲到配置檔案中。優選的,擴展對象的配置檔案可以為XML檔案。在一個實施例中,擴展對象的配置檔案也可以為資料庫中的數據表,如下表所示,表1為擴展對象的描述表:
動態擴展業務對象的方法和系統
表1
在一個實施例中,若擴展屬性的描述信息中包含擴展屬性是否為關鍵字的信息,且指定了某一擴展屬性為關鍵字,則該擴展屬性即為該擴展對象的關鍵字。若擴展屬性的描述信息沒有指定任何擴展屬性為關鍵字,則可設定擴展對象的關鍵字為自動生成型關鍵字。優選的,可設定擴展對象的關鍵字為自增型序列號。若關鍵字為自增型序列號,則每在擴展對象的數據表中插入一條記錄,該記錄對應的關鍵字為上一條記錄的關鍵+1。在一個實施例中,可設定擴展對象的關鍵字為根據時間生成的序列號,根據時間生成的序列號可以避免不同表的關鍵字重碼的問題。進一步的,將設定的擴展對象的關鍵字的信息存儲至擴展對象的配置檔案中。
進一步的,在資料庫中創建擴展對象的數據表,數據表中的欄位對應擴展對象的擴展屬性(包括關鍵字)。優選的,數據表的表名對應擴展對象的名稱。在一個實施例中,擴展對象的名稱可由用戶在輸入該擴展對象的擴展屬性的描述信息時輸入,也可以由系統自動生成,例如擴展對象1、擴展對象2等。
步驟S103,獲取用戶輸入的包含多個標準屬性的標準業務對象和該標準業務對象的擴展屬性組成的擴展對象。
在一個實施例中,可在用戶界面提供將標準業務對象與擴展對象相對應的選擇輸入框,供用戶選擇需要添加擴展屬性的標準業務對象、以及該標準業務對象需要添加的擴展屬性所組成的擴展對象。優選的,一個標準業務對象可對應多個擴展對象;一個擴展對象也可以對應多個標準業務對象,此時該多個標準業務對象公用該擴展對象的擴展屬性。
步驟S104,將上述輸入的擴展對象與標準業務對象相關聯。
具體的,在後台建立並存儲輸入的擴展對象與標準業務對象之間的對應關係。
上述動態擴展業務對象的方法,根據用戶輸入的標準業務對象需要新增的擴展屬性的描述信息創建擴展對象,並將該擴展對象與該標準業務對象相關聯來實現對標準業務對象的擴展,這種方式可根據實際需要設定擴展屬性的數量和長度,並分配相應的資料庫存儲空間,能有效減少資料庫存儲冗餘;另外,可將一個擴展對象與多個標準業務對象相關聯,即多個標準業務對象可公用的一個擴展對象的擴展屬性,從而可進一步減少資料庫存儲冗餘。
如圖2所示,在一個實施例中,步驟S104包括:
步驟S114,獲取標準業務對象的配置檔案。
具體的,標準業務對象的配置檔案中存儲了標準業務對象的相關信息,包括標準業務對象的名稱以及標準業務對象的標準屬性的名稱、類型、長度等。優選的,配置檔案可以為XML檔案或者資料庫中的數據表。
步驟S124,將擴展對象中的擴展屬性的描述信息加入標準業務對象的配置檔案中。
具體的,將擴展對象中的擴展屬性的描述信息加入標準業務對象的配置檔案中,即在後台建立了標準業務對象與擴展對象以及擴展對象的擴展屬性的對應關係。該實施例中,通過查詢標準業務對象的配置檔案即可獲得該標準業務對象包含的標準屬性和擴展屬性,並進一步的可根據標準屬性和擴展屬性來生成報表,不需要用戶在關於標準業務對象的報表中手動添加擴展屬性的數據,方便了用戶的操作。
步驟S134,在標準業務對象的數據表中設定擴展對象的關鍵字的欄位。
具體的,可在標準業務對象的數據表中增加一個欄位用於存儲擴展對象的關鍵字。在另一個實施例中,也可使用標準業務對象的數據表的預留欄位用於存儲擴展對象的關鍵欄位。
由於擴展對象的數據表中的一條記錄中的關鍵字與該記錄一一對應,所以該實施例中在標準業務對象的數據表中增加一個欄位或者使用一個預留欄位來存儲擴展對象的關鍵字,則不需要在數據表中事先預留足夠多的欄位用於設定擴展屬性,減少了資料庫存儲冗餘。
如圖3所示,在一個實施例中,上述方法還包括在標準業務對象的數據表及其對應的擴展對象的數據表中插入數據的步驟,包括:
步驟S105,獲取輸入的標準業務對象的標準屬性數據和與標準業務對象對應的擴展對象的擴展屬性數據。
當標準業務對象增加了擴展屬性後,可在輸入標準業務對象的標準屬性數據的用戶界面中添加該標準業務對象的擴展對象的擴展屬性數據的輸入編輯框。
步驟S106,在擴展對象的數據表中查找上述輸入的擴展屬性數據是否存在,若存在,則執行步驟S107,若不存在,則執行步驟S108。
具體的,結合下面的數據表來說明步驟S106、S107和S108的執行過程。下表中,表2為標準業務對象“物料”的數據表,其中,“物料”數據表中包含的欄位有:關鍵字“物料ID”和標準屬性“名稱”、“數量/噸”以及擴展對象關鍵字“擴展屬性ID”;表3為標準業務對象“物料”的擴展對象“擴展屬性組合”的數據表,其中“擴展屬性組合”包含的欄位有:關鍵字“擴展屬性ID”和擴展屬性“批號”、“等級”,關鍵字“擴展屬性ID”為自增型。
動態擴展業務對象的方法和系統
表2
動態擴展業務對象的方法和系統
表3
設用戶輸入的記錄為(A02,鋼筋,100,B-001,一級),其對應標準業務對象的關鍵字、標準屬性“名稱”和“數量/噸”以及擴展屬性“批號”和“等級”。則在表3中查找是否存在“批號”為“B-001”且“等級”為“一級”的記錄,若存在,則執行步驟S107,若不存在,則執行步驟S108。
步驟S107,在擴展對象的數據表中獲取標識為關鍵字的欄位,將擴展屬性數據對應的關鍵字以及標準屬性數據插入標準業務對象的數據表中的相應欄位中。
如上所示,表3中已經存在“批號”為“B-001”且“等級”為“一級”的記錄,則將該記錄的關鍵字“0001”與標準屬性數據“A02”、“鋼筋”、“100”按照標準業務對象“物料”的數據表的欄位順序組成記錄(A02,鋼筋,100,0003)插入到“物料”數據表中。
步驟S108,將上述擴展屬性數據插入擴展對象的數據表中,並將該擴展屬性數據對應的關鍵字以及標準屬性數據插入標準業務對象的數據表的相應欄位中。
具體的,若表3中不存在“批號”為“B-001”且“等級”為“一級”的記錄,則將擴展屬性數據“B-001”、“一級”插入到擴展對象“擴展屬性組合”的數據表中。如上所述,此數據表的關鍵字為自增型,因此數據表中會自動生成相應的關鍵字,新增記錄的關鍵字為上一條記錄的關鍵字+1,即“0003”。進一步的,將該關鍵字“0003”與標準屬性數據“A02”、“鋼筋”、“100”按照標準業務對象“物料”的數據表的欄位順序組成記錄(A03,鋼筋,100,0003)插入到“物料”數據表中。
上述方法,在標準業務數據表中只設定了擴展對象的關鍵字欄位,對於公用一個擴展對象的多個標準業務對象,當該多個標準業務對象的擴展屬性數據相同時,該多個標準業務對象的數據表可公用擴展對象數據表中的一條記錄,從而減少了資料庫存儲冗餘。
在一個實施例中,上述方法還包括步驟:獲取輸入的與標準業務對象相關的查詢條件;根據該查詢條件和該標準業務對象及其對應的擴展對象動態拼接查詢語句進行查詢。
具體的,與標準業務對象相關的查詢條件包括以標準業務對象名稱為查詢條件,及以標準業務對象的標準屬性和/或標準業務對象對應的擴展對象的擴展屬性為查詢條件。
在一個實施例中,可在標準業務對象的配置檔案中查找到其對應的擴展對象,以該標準業務對象的數據表中的擴展對象的關鍵字等於該擴展對象的數據表中的關鍵字為條件,拼接該標準業務對象和該擴展對象的數據表,並結合輸入的查詢條件進行查詢,進一步顯示查詢結果。
該實施例中,對標準業務對象的擴展屬性的查詢可以通過查詢標準業務對象的配置檔案並動態拼接查詢語句進行查詢並顯示相應的查詢結果,對擴展屬性的查詢和顯示不需要在程式中預先設定好,實現了對標準業務對象動態添加擴展屬性。
如圖4所示,在一個實施例中,一種動態擴展業務對象的系統,包括數據獲取模組501、擴展對象創建模組502、關聯關係設定模組503,其中:
數據獲取模組501用於獲取輸入的擴展屬性的描述信息。
優選的,擴展屬性的描述信息包括擴展屬性的名稱、數據類型、數據長度等。在一個實施例中,擴展屬性的描述信息還可包括擴展屬性的有效值和/或擴展屬性是否為關鍵字的信息。
在一個實施例,數據獲取模組501可用於在用戶界面提供輸入編輯框供用戶輸入擴展屬性的描述信息。當用戶提交擴展屬性的描述信息時,數據獲取模組501即可獲取該描述信息。
擴展對象創建模組502用於根據上述描述信息創建包含多個擴展屬性的擴展對象。
具體的,不同的標準業務對象有可能其需要添加的擴展屬性相同,尤其是在ERP系統中更是如此。因此可將標準業務對象之間需要添加的共同的多個擴展屬性組合成一個擴展對象,標準業務對象只要公用該擴展對象即可。
優選的,擴展對象創建模組502可用於創建擴展對象的配置檔案,並將輸入的多個的擴展屬性的描述信息存儲到配置檔案中。優選的,擴展對象的配置檔案可以為XML檔案。在一個實施例中,擴展對象的配置檔案也可以為資料庫中的數據表,如表1所示。
在一個實施例中,若擴展屬性的描述信息中包含擴展屬性是否為關鍵字的信息,且指定了某一擴展屬性為關鍵字,則該擴展屬性即為該擴展對象的關鍵字。若擴展屬性的描述信息沒有指定任何擴展屬性為關鍵字,則擴展對象創建模組502可設定擴展對象的關鍵字為自動生成型關鍵字。優選的,擴展對象創建模組502可設定擴展對象的關鍵字為自增型序列號。若關鍵字為自增型序列號,則每在擴展對象的數據表中插入一條記錄,該記錄對應的關鍵字為上一條記錄的關鍵+1。在一個實施例中,擴展對象創建模組502可設定擴展對象的關鍵字為根據時間生成的序列號,根據時間生成的序列號可以避免不同表的關鍵字重碼的問題。進一步的,擴展對象創建模組502將設定的擴展對象的關鍵字的信息存儲至擴展對象的配置檔案中。
進一步的,擴展對象創建模組502用於在資料庫中創建擴展對象的數據表,數據表中的欄位對應擴展對象的擴展屬性(包括關鍵字)。優選的,數據表的表名對應擴展對象的名稱。在一個實施例中,擴展對象的名稱可由用戶在輸入該擴展對象的擴展屬性的描述信息時輸入,也可以由擴展對象創建模組502自動生成,例如擴展對象1、擴展對象2等。
數據獲取模組501還用於獲取用戶輸入的包含多個標準屬性的標準業務對象和該標準業務對象的擴展屬性組成的擴展對象。
在一個實施例中,數據獲取模組501可用於在用戶界面提供將標準業務對象與擴展對象相對應的選擇輸入框,供用戶選擇需要添加擴展屬性的標準業務對象、以及該標準業務對象需要添加的擴展屬性所組成的擴展對象。優選的,一個標準業務對象可對應多個擴展對象;一個擴展對象也可以對應多個標準業務對象,此時該多個標準業務對象公用該擴展對象的擴展屬性。
關聯關係設定模組503用於將上述輸入的擴展對象與標準業務對象相關聯。
具體的,關聯關係設定模組503用於在後台建立並存儲輸入的擴展對象與標準業務對象之間的對應關係。
上述動態擴展業務對象的系統,根據用戶輸入的標準業務對象需要新增的擴展屬性的描述信息創建擴展對象,並將該擴展對象與該標準業務對象相關聯來實現對標準業務對象的擴展,這種方式可根據實際需要設定擴展屬性的數量和長度,並分配相應的資料庫存儲空間,能有效減少資料庫存儲冗餘;另外,可將一個擴展對象與多個標準業務對象相關聯,即多個標準業務對象可公用的一個擴展對象的擴展屬性,從而可進一步減少資料庫存儲冗餘。
如圖5所示,在一個實施例中,關聯關係設定模組503包括描述信息添加模組513、關鍵字設定模組523,其中:
描述信息添加模組513用於獲取標準業務對象的配置檔案。
具體的,標準業務對象的配置檔案中存儲了標準業務對象的相關信息,包括標準業務對象的名稱以及標準業務對象的標準屬性的名稱、類型、長度等。優選的,配置檔案可以為XML檔案或者資料庫中的數據表。
描述信息添加模組513還用於將擴展對象中的擴展屬性的描述信息加入標準業務對象的配置檔案中。
具體的,描述信息添加模組513將擴展對象中的擴展屬性的描述信息加入標準業務對象的配置檔案中,即在後台建立了標準業務對象與擴展對象以及擴展對象的擴展屬性的對應關係。該實施例中,通過查詢標準業務對象的配置檔案即可獲得該標準業務對象包含的標準屬性和擴展屬性,並進一步的可根據標準屬性和擴展屬性來生成報表,不需要用戶在關於標準業務對象的報表中手動添加擴展屬性的數據,方便了用戶的操作。
關鍵字設定模組523用於在標準業務對象的數據表中設定擴展對象的關鍵字的欄位。
具體的,關鍵字設定模組523可在標準業務對象的數據表中增加一個欄位用於存儲擴展對象的關鍵字。在另一個實施例中,關鍵字設定模組523也可使用標準業務對象的數據表的預留欄位用於存儲擴展對象的關鍵欄位。
由於擴展對象的數據表中的一條記錄中的關鍵字與該記錄一一對應,所以該實施例中在標準業務對象的數據表中增加一個欄位或者使用一個預留欄位來存儲擴展對象的關鍵字,則不需要在數據表中事先預留足夠多的欄位用於設定擴展屬性,減少了資料庫存儲冗餘。
在一個實施例中,上述系統的數據獲取模組501還用於獲取輸入的標準業務對象的標準屬性數據和與標準業務對象對應的擴展對象的擴展屬性數據。
當標準業務對象增加了擴展屬性後,數據獲取模組501可在輸入標準業務對象的標準屬性的數據的用戶界面中添加該標準業務對象的擴展對象的擴展屬性數據的輸入編輯框。
該實施例中,上述系統還包括數據插入模組(圖中未示出),數據插入模組用於:在擴展對象的數據表中查找上述擴展屬性數據是否存在,若存在,則在所述擴展對象的數據表中獲取標識為關鍵字的欄位,將所述擴展屬性數據對應的關鍵字以及所述標準屬性數據插入所述標準業務對象的數據表中的相應欄位中;若不存在,則將所述擴展屬性數據插入擴展對象的數據表中,並將所述擴展屬性數據對應的關鍵字以及所述標準屬性數據插入所述標準業務對象的數據表的相應欄位中。
具體的,結合上文的數據表表2和表3來說明數據插入模組的工作過程,其中。表2為標準業務對象“物料”的數據表,其中,“物料”數據表中包含的欄位有:關鍵字“物料ID”和標準屬性“名稱”、“數量/噸”以及擴展對象關鍵字“擴展屬性ID”;表3為標準業務對象“物料”的擴展對象“擴展屬性組合”的數據表,其中“擴展屬性組合”包含的欄位有:關鍵字“擴展屬性ID”和擴展屬性“批號”、“等級”,關鍵字“擴展屬性ID”為自增型。
設用戶輸入的記錄為(A02,鋼筋,100,B-001,一級),其對應標準業務對象的關鍵字、標準屬性“名稱”和“數量/噸”以及擴展屬性“批號”和“等級”。則數據插入模組在表3中查找是否存在“批號”為“B-001”且“等級”為“一級”的記錄。
如上所示,表3中已經存在“批號”為“B-001”且“等級”為“一級”的記錄,則數據插入模組將該記錄的關鍵字“0001”與標準屬性數據“A02”、“鋼筋”、“100”按照標準業務對象“物料”的數據表的欄位順序組成記錄(A02,鋼筋,100,0003)插入到“物料”數據表中。
具體的,若表3中不存在“批號”為“B-001”且“等級”為“一級”的記錄,則數據插入模組將擴展屬性數據“B-001”、“一級”插入到擴展對象“擴展屬性組合”的數據表中。如上所述,此數據表的關鍵字為自增型,因此數據表中會自動生成相應的關鍵字,新增記錄的關鍵字為上一條記錄的關鍵字+1,即“0003”。進一步的,數據插入模組將該關鍵字“0003”與標準屬性數據“A02”、“鋼筋”、“100”按照標準業務對象“物料”的數據表的欄位順序組成記錄(A03,鋼筋,100,0003)插入到“物料”數據表中。
上述動態擴展業務對象的系統,在標準業務數據表中只設定了擴展對象的關鍵字欄位,對於公用一個擴展對象的多個標準業務對象,當該多個標準業務對象的擴展屬性數據相同時,該多個標準業務對象的數據表可公用擴展對象數據表中的一條記錄,從而減少了資料庫存儲冗餘。
在一個實施例中,上述系統的數據獲取模組501還用於獲取輸入的與標準業務對象相關的查詢條件。
具體的,與標準業務對象相關的查詢條件包括以標準業務對象名稱為查詢條件,及以標準業務對象的標準屬性和/或標準業務對象對應的擴展對象的擴展屬性為查詢條件。
該實施例中,上述系統還包括查詢模組(圖中未示出),用於根據所述查詢條件以及所述標準業務對象及其對應的擴展對象動態拼接查詢語句進行查詢。
具體的,查詢模組可在標準業務對象的配置檔案中查找到其對應的擴展對象,以該標準業務對象的數據表中的擴展對象的關鍵字等於該擴展對象的數據表中的關鍵字為條件,拼接該標準業務對象和該擴展對象的數據表,並結合輸入的查詢條件進行查詢,進一步顯示查詢結果。
該實施例中,對標準業務對象的擴展屬性的查詢可以通過查詢標準業務對象的配置檔案並動態拼接查詢語句進行查詢並顯示相應的查詢結果,對擴展屬性的查詢和顯示不需要在程式中預先設定好,實現了對標準業務對象動態添加擴展屬性。

專利榮譽

2021年6月24日,《動態擴展業務對象的方法和系統》獲得第二十二屆中國專利優秀獎。

相關詞條

熱門詞條

聯絡我們