新四季網

用於自動維護信息系統的一致性的方法和系統的製作方法

2023-07-05 08:46:31 2

專利名稱:用於自動維護信息系統的一致性的方法和系統的製作方法
技術領域:
本發明的至少一個實施例涉及信息系統,更具體地,涉及自動配置信息 系統。
背景技術:
隨著企業資源計劃(ERP)方法學已經變得更受歡迎,已經出現了幫助 商業經理們在諸如庫存控制(inventory control )、訂單跟蹤(order tracking )、 客戶服務、財務和人力資源等的商業活動中實施ERP的軟體應用。
ERP系統的商業配置要求對ERP系統及其能力的全面了解。具體來說, 為了確定需要實施什麼樣的功能以及什麼樣的系統行為必須被配置,要求 ERP系統的不同功能及其配置間的依賴性。例如,如果客戶選擇實施"銷售訂 單管理,,功能,則如果"銷售訂單管理"功能依賴於"基本銷售訂單"功能和"定 價,,功能,客戶必須也實施"基本銷售訂單"和"定價"功能。未能實施這些功能 意味著客戶不能運行"銷售訂單管理"功能。
在常規的ERP系統中,範圍確定過程(即,根據客戶的商業要求確定要 求ERP系統什麼樣的商業功能的任務)由有經驗的、非常有資格的諮詢人員 通過分析商業要求、確定商業解決方案並通過配置ERP系統實施所述解決方 案來手動地處理。商業系統越複雜,則以純手動方式實施商業解決方案越困 難。

發明內容
本發明包括一種用於自動配置企業資源計劃(ERP)系統的方法。所述
方法包括在企業資源計劃(ERP)系統處維護多個商業元素。所述方法還包 括自動地確定多個商業元素的狀態是否相互一致。
從下面的附圖以及詳細描述中,本發明的其他方面將會清晰。


在附圖的圖中,通過舉例而非限制的方式示出了本發明的 一 個或更多個
實施例,在附圖中,相同的參考指示類似的元素,並且在附圖中 圖1示出了在其中可以實施本發明的實施例的網絡環境; 圖2示出了自動商業配置子系統(Automatic Business Configuration
Subsystem, ABCS )的結構的例子;
圖3a根據一個實施例示出了規則語法集合的例子;
圖3b根據 一個實施例示出了圖形用戶接口( Graphic User Interface , GUI)
的例子,用戶可以通過該圖形用戶接口把規則輸入到ERP系統中; 圖4是根據一個實施例示出了存儲器中規則庫模塊的實例的框圖; 圖5根據一個實施例示出了減小用於支持多個用戶/開發者的規則庫模塊
的多個實例所消耗的存儲器大小的機制;
圖6根據一個實施例示出了演繹框架(deduction framework )的結構的例子; 圖7根據一個實施例示出了一致性維護框架(Consistency Maintenance
Framework, CMF )的結構的例子;
圖8是根據 一 個實施例示出了範圍確定過程的例子的流程圖9a是根據另外的實施例示出了範圍確定過程的流程圖9b是根據另一個實施例示出了範圍確定過程的流程圖9c是根據另 一個實施例示出了範圍確定過程的流程圖10是^f艮據一個實施例示出了解決方案產生器的過程的流程圖;和
圖ll是示出了處理系統的例子的框圖。
具體實施例方式
描述了一種用於自動配置企業資源計劃(ERP)系統的方法和系統。在 本說明書中對"實施例"、"一個實施例"等等的引用表示所描述的具體特徵、 結構或特性被包括在本發明的至少一個實施例中。在本說明書中出現這些短 語不 一 定都指同 一 實施例。
1.企業資源計劃系統
圖1示出了在其中可以實施本發明的實施例的網絡環境。如圖所示,企
業資源計劃(ERP)系統U通過互連13可通信地耦接到多個客戶機12。互 連13本質上可以是任何類型的計算機網絡,例如區域網(LAN)、廣域網 (WAN )、城域網(MAN )或國際網際網路,並且可以實施國際網際網路協議(IP )。 每一個客戶機12均運行客戶機側ERP應用14。這樣的應用可以是例如基於 網絡的應用,所述基於網絡的應用允許用戶登錄到ERP系統11,並對商業配 置項目進行工作。用戶可以通過經由客戶機側ERP應用14提供的接口提交 命令並接收結果或者指令來與ERP系統11通信。在一個實施例中,這樣的 接口是圖形用戶接口 (GUI)。
ERP系統11提供一組商業元素101。每一個商業元素101均可以是商業 套裝(package) 102、商業主題103或商業選項104。商業套裝102可以包括 一組商業主題103。商業主題103可以包括一組商業選項104。例如,ERP系 統可以提供"銷售訂單管理,,商業套裝。"銷售訂單管理,,商業套裝可以包括諸 如"銷售訂單報價"、"定價,,和"產品配置,,等的商業主題。商業主題"定價,,可以 包括諸如"標準定價"、"季節性貨物,,等的商業選項。
作為商業要求的結果,商業元素的功能可能依賴於另一個商業元素的功 能。如果是那樣的話,在這兩個商業元素之間存在依賴性關係。在已知的現 有技術ERP系統中,用戶需要基於商業要求和這些商業元素間的依賴性關係 手動地確定需要選擇和實施什麼樣的商業元素。本發明包括可以基於商業要 求和這些商業元素間的依賴性關係自動地確定需要選擇和實施什麼樣的商業 元素的ERP系統。
在一個實施例中,ERP系統11可以包括自動商業配置子系統(ABCS) 105。 ABCS 105將依賴性關係建模為規則。規則規定了特定的商業元素是要 求還是排斥其他的商業元素。這裡,商業元素的狀態包括兩個方面。第一個 方面是商業元素的選擇狀態。選擇狀態的值可以是"被選擇"或"被淘汰"。第 二個方面是商業元素的可改變性狀態。可改變性狀態的值可以是"可改變的" 或"不可改變的"。如果商業元素的選擇狀態是"被選擇",則在配置過程期間 需要實施和該商業元素相關的功能。如果商業元素的選擇狀態是"被淘汰", 則不需要和該商業元素相關的功能。如果商業元素的可改變性狀態是"可改變 的",則用戶或過程可以改變該商業元素的選擇狀態。否則,不能改變該商業
元素的選擇狀態。
最初, 一些特定的商業元素被預設地或者被用戶的手動選擇(例如通過 接口 )選擇。
一些商業元素的這些初始狀態被稱為初始事實。基於初始事實
和規則,ABCS105自動地確定需要選擇和實施什麼樣的其他商業元素,使得 作為結果的系統針對商業要求在功能上是完整的。確定被發送回客戶機側 ERP應用14,它以根據GUI中的確定的模式顯示每一個對應的商業元素。例 如,如果商業元素的狀態被確定是"被選擇",則該商業元素被客戶機側ERP 應用14按照告知用戶該商業元素當前被選擇的模式顯示。用戶可以通過選擇 或者淘汰商業元素來操縱客戶機側ERP應用14的GUI,因此觸發ABCS105 來確定用戶選擇的商業元素的狀態改變的後果。例如,後果可能是另一個商 業元素的狀態的改變。後果被發送回客戶機側ERP應用14,用於更新GUI。 注意,如圖1中所示的一些或全部部件可以被實施在軟體、硬體或這兩者的 組合中。
2.自動商業配置子系統
圖2根據一個實施例示出了自動商業配置子系統(ABCS)的結構的例 子。如圖所示,ABCS 105包括規則語義模塊201。規則語義模塊201對規則 提供語法和語義檢查。在一個實施例中,用戶可以通過客戶機側ERP應用14 把規則輸入到ERP系統11中。規則語義模塊201解析規則,把規則變換為 統一的格式,並把規則存儲在持久性206中。當被規則庫模塊202調用時(下 面介紹),規則語義模塊201從持久性206檢索這些規則並把它們變換為核內 規則對象(in-core rule object)。這裡,術語"核內,,表示在處理系統的主存儲 器中。規則語義模塊201還針對存儲在持久性206中的規則做冗餘和衝突檢 查。冗餘檢查防止持久性中的冗餘規則。沖突檢查檢測牴觸的規則和遞歸的 規則。
ABCS 105還包括規則庫模塊202。在規則被規則語義模塊201封裝為核 內對象以後,規則庫模塊202組織這些對象以使它們可以被其他部件很容易 地訪問或者搜索。
演繹框架203是處理範圍確定過程中所有不同關係的模塊。這些關係可 以包括約束、預選、先決條件等,但是不限於此。演繹框架203也可以處理 改變確定和可改變性確定。改變確定指確定特定商業元素的狀態是否應該被 改變,例如從"被選擇"到"被淘汰"。可改變性確定指確定特定商業元素的狀
態當前是否可以被改變,例如從"被選擇,,到"被淘汰"。
演繹框架203響應於接收到被斷言的事實,觸發改變確定和/或可改變性 確定功能。被斷言的事實指被用戶通過客戶機側ERP應用14對商業元素的 選擇或淘汰導致的商業元素的狀態改變。注意,事實也可以被過程斷言。演 繹框架203把被斷言的事實與可用規則的條件匹配以便確定後果。後果可以 是例如另一個商業元素的狀態必須因所述被斷言的事實而被改變。例如,假 設規則被規定為"如果X被選擇並且Y被選擇,則M被選擇"。還假設X的 當前狀態是"被選擇",並且因為例如用戶手動地從客戶機側ERP應用14的 GUI選擇了 Y, Y的狀態剛被改變到"被選擇"。因此,由於上面規則的條件 變為真,M的當前狀態應該是"被選擇"。
因為上面的推理是從規則的條件到規則的後果,所以它被稱為前向連結 (forward chaining )。基於被確定的後果,演繹框架203更新每一個被影響的 商業元素的狀態。
演繹框架203還提供了說明確定的功能。說明確定確定並提供特定商業 元素的當前狀態的原因,當前狀態例如是"被選擇"或"被淘汰"。例如,如果 規則被定義為"如果A被選擇,則B被淘汰,,,則如果商業元素B的當前狀態 是"被淘汰,,,則可能的原因之一可能是商業元素A的當前狀態是"被選擇"。 如例子中所示,推理是從規則的後果到條件,因此,它被稱為後向連結 (backward chaining )。
如圖所示,ABCS 105還包括商業配置邏輯模塊204。商業配置邏輯模塊 204控制範圍確定過程的進展。
工作空間模塊205提供維護核內數據結構的功能,所述核內數據結構在 範圍確定過程期間存儲至少一些ERP系統11的商業元素的狀態。工作空間 模塊205還提供會話和存儲器管理。會話管理使得ERP系統11能夠處理由 多個用戶開始的多個範圍確定過程。存儲器管理提供了存儲器塊的分配/取消 分配的功能,把數據從工作空間實例存儲在持久性206中,並把數據從持久 性206讀到工作空間實例中。例如,在商業元素的狀態被演繹框架203改變 以後,工作空間模塊205可以更新存儲在持久性206中的商業元素的狀態。
ABCS 105可以包括重建模塊207。在用戶的範圍確定過程的某個點,重 建模塊207提供使得用戶能夠將當前範圍確定過程作為圖像數據保存在持久 性206或不同的資料庫中的功能。以後,應用戶的請求,重建模塊207可以
從保存在持久性206中的圖像數據把範圍確定過程重建到存儲器中,以使用 戶可以從範圍確定過程被保存的點繼續該範圍確定過程。
一致性維護框架(CMF )模塊208檢測某些商業元素的狀態的不一致性, 並提供解決這些不一致性的解決方案。不一致性可能由不同的原因導致。例 如,在商業元素的狀態被定下來以後,規則改變了。改變的後果是該商業元 素的狀態必須被改變。因此,規則改變導致了沖突(即不一致性)。另一個例 子,當兩個開發者正在對同一範圍確定項目的不同方面進行工作時,他們的 工作空間需要被合併為最終的工作空間。假設他們的工作都基於同 一規則集 合。但是,在合併期間,同一商業元素可能具有兩個不同的狀態。因此,合 並導致了衝突。
在一個實施例中,CMF模塊208接收規則集合和一組商業元素的狀態。 CMF模塊208自動地檢測所有的衝突並提出解決這些衝突的解決方案。注意, 圖2中所示的一些或全部部件可以被實施在軟體、硬體或這兩者的組合中。
2.1規則語義模塊
規則語義模塊201給各種類型的規則提供語法和語義檢查。規則語義模 塊201解析這些規則,把它們變換為統一的格式,並把它們存儲在持久性206 中。當被規則庫模塊202調用時,規則語義模塊201從持久性206檢索這些 規則並把它們變換為核內對象。
規則和商業元素相關聯,並且規則能夠改變相關聯的商業元素的狀態。 規則語義模塊201根據預先定義的規則語法解析規則。使用語法產生式 (grammarproduction)給出規則語法。圖3a根據一個實施例示出了規則語法 集合的例子。每一個語法產生式均定義了非終止符號和該非終止符號到非終 止或終止符號序列的可能擴展。在語法產生式中,非終止符號用斜體類型示 出,終止符號用黑體示出。如圖所示,歹J 301列出了要定義的名字,並且列 302列出了對應的定義。例如,約束規則被定義為 如果務伴4這式則後果語々
如果#伴4這4則要遞舉的語々否則要淘乂的語々
如果務伴《這M:則要^淨的語々否則如果務伴4迷^:則要淘;義的語々 在一個實施例中,規則語法由用戶通過接口規定。這些規定的語法可以
被存儲在資料庫(例如持久性206)中。當系統被初始化時,這些規定的語
法被從資料庫讀取,並被作為核內語法對象給出。規則語義模塊201使用這 些核內語法對象來解析規則。
在一個實施例中,用戶可以通過客戶機側ERP應用14把規則輸入到ERP 系統11中。規則語義模塊201解析這些規則,將這些規則變換為統一格式, 並把這些規則存儲在持久性206中。圖3b示出了圖形用戶接口 ( GUI)的例 子,通過該圖形用戶接口,用戶可以把MJ'j輸入到例如系統11的ERP系統 中。如圖所示,該GUI具有簡介部分303和細節部分304。簡介部分303的 標題305指示和當前GUI有關的商業元素。簡介部分303提供用於為商業元 素添加新規則的按鈕306和用於去除已經為商業元素創建的規則的按鈕307。 下拉列表308允許用戶選擇規則的後果,並且GUI部件309示出了規則的條 件。用戶可以檢查在下拉列表308前方示出的檢查框310,並在去除按鈕307 上點擊以去除該規則。用戶也可以在下拉列表308上點擊以便突出顯示要將 其在細節部分304中顯示的MJ'J。
細節部分304顯示在簡介部分303中選擇的規則。細節部分304在多個 規則部分313中顯色所選擇規則,每一個部分313代表唯一條件。此外,細 節部分304提供了用於添加新的規則部分313的按鈕311和用於去除被選擇 的現有規則部分313的按鈕312。在每一個規則部分313內,存在允許用戶 選擇另 一個商業元素的GUI部件314和為被選擇的另 一個商業元素選擇狀態 的下拉列表315。在規則部分313中還存在檢查框316。用戶可以檢查檢查框 316供去除。注意,如圖3b中所示的GUI只是為了說明的目的而描述。也可 以採用其他的配置或者布局。
2.2規則庫模塊
如上面所介紹的那樣,規則庫模塊202 (在圖2中示出)在存儲器中將 規則組織為對象供快速訪問。圖4是根據一個實施例示出了存儲器中規則庫 模塊的實例的框圖。如圖所示,每一個商業元素401均與規則集合(RuleSet) 對象402相關聯。如果元素401是規則的條件,則該規則是元素的吸收規則 (sinkrule)。如果元素401是規則的後果,則該規則是元素的起源規則。因 此,規則集合對象402可以包括吸收規則對象403和起源規則對象404,吸 收規則對象403包含元素的吸收規則集合,起源規則對象404包含元素的起 源規則集合。其他部件能夠通過利用元素的ID調用取得吸收規則接口 405和 /或取得起源規則接口 406取得元素的吸收規則和/或起源規則。
圖5根據一個實施例示出了減小由用於支持多個用戶/開發者的規則庫模
塊的多個實例消耗的存儲器大小的機制。如圖所示,每一個會話504均具有 規則庫對象502。每一個規則庫對象502均具有會話規則庫對象503和參考 中央規則庫對象501的參考505。中央規則庫對象501被多於一個會話504 共享。在一個實施例中,每一個參考505均是指向共享的中央規則庫對象501 的指針。會話規則庫503獨立於中央規則庫501,並且只可用於特定的工作 存儲器實例503。
因為中央規則庫對象501被在存儲器中共享,多於一個的用戶能夠同時 在其上面進行操作。當任何用戶想要讀或寫中央規則庫對象501時,用戶應 該檢查中央規則庫對象501是否被任何其他用戶鎖定。如果中央規則庫對象 501被另一個用戶鎖定,則用戶應該等待直到中央規則庫對象501被解除鎖 定。
2.3演繹框架
演繹框架203是處理範圍確定過程中所有不同關係的模塊。圖6根據一 個實施例示出了演繹框架結構的例子。如圖所示,演繹框架203包括預設值 處理器601、關係處理器602、狀態確定模塊603和說明確定模塊604。
預設值處理器601管理商業元素的預設值。預設值定義了商業元素的初 始值(即"被選擇,,或"被淘汰,,)。經常為高層次商業元素(例如商業套裝)設 置預設值。 一般來說,所有商業元素的預設值是"被淘汰"。作為選擇,用戶 能夠定義規則以便把預設值設置為"被選擇"。
在實施例中,只有當不存在其他設置商業元素的狀態的值來源時預設值 才有效。例如,假設商業主題"定價,,被選擇,但是還沒有選擇"定價,,的商業 選項。在這種情況下,系統評估"定價,,商業選項的預設規則,並選擇一個或 更多個商業選項。值來源被定義為導致商業元素的狀態改變的來源。在一個 實施例中,值來源可以是約束、手動選擇、預選、預設值和先決條件。在很 多情況下,商業元素的狀態改變可能由多於一個的值來源導致。在解決沖突 時這些值來源的優先權從高到低可以是約束、手動選擇、預選、預設值和先 決條件。預設值可以被約束、預選和手動選擇覆蓋。
關係處理器602處理商業元素間的各種關係。這些關係可以是先決條件 關係、預選關係、約束,等等。先決條件是根據層次結構,商業元素之間自 底向上的關係。先決條件表示,如果選擇了子商業元素,則其直接的雙親商
業元素^^皮自動地選擇,並且如果雙親商業元素^:淘汰,則其所有的子商業元 素被淘汰。
如果系統由於先決條件自動地選擇了商業元素,則這個商業元素繼承其 子結點的值來源。先決條件總是有效的,並且不能被其他的值來源否決。
約束代表在各種商業元素間存在的依賴性關係。存在"要被選擇,,和"要被 淘汰"約束。約束由規則實施。通過使用"如果"或者"否則如果"語句,對於一 個商業元素只存在一個約束規則。
狀態確定模塊603基於由各種不同的值來源設置的值和與這些來源相關 聯的優先權,確定商業元素的實際狀態。在一個實施例中,在解決衝突時從 高到低的優先權可以是約束、手動選擇、預選、預設值和先決條件。由較高 優先權值來源設置的值推翻由較低優先權值來源設置的值。例如,如果約束 規則把商業元素的值設置為"被淘汰",而手動輸入把商業元素的值設置為"被 選擇",則該商業元素的實際狀態是"被淘汰"。結果,如果約束設置商業元素 的狀態,則商業元素的狀態將是不可改變的,直到去除該約束為止。在一個 實施例中,如果存在將商業選項設置成"被淘汰"的約束,則相關商業選項將 是不可見的,直到該約束被去除為止。
說明確定模塊604確定商業元素的當前狀態的發起者。發起者是作為相 關聯的商業元素的狀態的初始原因的商業元素。通過修改發起者的狀態,可 以從相關聯的商業元素去除約束。因此,說明確定模塊604不僅為開發者提 供了為什麼相關聯的商業元素具有當前狀態的說明,而且提供了將相關聯的 商業元素的狀態解除鎖定的解決方案。例如,如果存在兩個商業元素X和Y, 並且規則是"如果X被選擇,則Y被選擇"。最初,X和Y都沒有被選擇,但 是可改變。假設X被選擇,則結果將是Y被選擇,並且Y是不可變的。在這 個例子中,用戶可能想要淘汰Y,但是由於Y的可改變性是"否,,,這個操作 是不可能的。但是,用戶可以選擇將Y的所有發起者列出。在這個案例中發 起者是X。用戶可以淘汰X以使Y的狀態可以是可改變的。對於一個商業元 素有可能具有多個發起者。說明確定模塊604能夠找出導致商業元素的當前 狀態的所有的發起者和路徑。
2.4 —致性維護框架(CMF )
如上面所介紹的那樣, 一致性維護框架(CMF)模塊208檢測某些商業 元素的狀態的不一致性,並提供解決這些不一致性的解決方案。圖7根據一
個實施例示出了一致性維護框架(CMF)結構的例子。如圖所示,CMF 208 包括預處理模塊701和解決方案產生器702。
預處理模塊701接收規則集合和商業元素集合。預處理模塊701基於這 些規則和商業元素創建可以被解決方案產生器702處理的數據元素。在這些 商業元素中,某些商業元素的狀態被確知。換句話說,已經驗證或者確認過 這些商業元素的狀態是正確的。這些狀態被稱為被確知的狀態,並且可以被 用作檢測不 一致性的基礎。
在一個實施例中,預處理模塊701為每一個商業元素創建被稱為結點的 數據元素。結點是具有被定義真值或假值的事實。例如,如果商業元素A的 狀態是"被選擇",則結點A=l ("l"代表真)被創建,假設"被選擇"狀態為真。 預處理模塊701處理ERP系統的所有商業元素,並創建包括所有被創建的結 點的集合。這樣的集合被稱為普遍結點集合(universal node set)。例如,假 設存在四個商業元素A、 B、 C和D。還假設A的狀態是"被選擇",B的狀態 是"被選擇",C的狀態是"被淘汰",並且D的狀態是"被淘汰"。這樣,普遍 結點集合將是{八=1, B=l, C = 0, D = 0}。
預處理模塊701基於規則集合創建不相容集(nogood)集合。不相容集 是不能同時存在(或共存)的結點的集合。例如,如果規則被規定為"如果A 被選擇,貝'B被選擇"。基於該規則,創建不相容集{八=1, B = 0},表示A 被選擇,B被淘汰的情形不應該發生。如果不相容集是普遍結點集合的子集, 則它表示普遍結點集合不是一致的。結果,ERP系統的商業元素的狀態也是 不一致的。
在一個實施例中,預處理模塊701被實施為基於假設的真值維護系統 (Assumption-based Truth Maintenance System, ATMS )。 4旦是,本4頁^或普通才支 術人員將理解在實施預處理模塊701時也可以使用其他的真值維護系統 (Truth Maintenance System, TMS )。
解決方案產生器702從預處理模塊701接收這些數據元素,確定商業元 素的狀態彼此是否一致,並且如果有則找到解決任何不一致性的解決方案。 在一個實施例中,解決方案產生器702的目的是找到要求改變最少數量的商 業元素的狀態的解決方案。因此,解決方案產生器702需要找到其狀態與其 他商業元素的狀態一起違犯了最多數量的規則的商業元素。例如,假設商業 元素A的狀態是"被選擇"並且B的狀態是"被淘汰",A和B的狀態違犯了規 則"如果A被選擇,則B被選擇"。於是解決方案產生器702改變商業元素的 狀態以使所有商業元素的狀態正變得不那麼不一致。解決方案產生器702重 復上面的步驟,直到所有商業元素的狀態不違犯規則中的任何一個為止。
在一個實施例中,解決方案產生器702為開發者提供用戶友好的說明來 幫助開發者更快地解決不 一致性。
3.處理流程
圖8是根據一個實施例示出了範圍確定過程的例子的流程圖。注意,圖 8的過程可以由可以包括軟體、硬體,或者兩者的組合的處理邏輯執行。在 塊801,創建並初始化新的範圍確定過程。範圍確定過程可以由用戶通過客 戶機側ERP應用14的GUI創建。例如,GUI可以提供允許用戶新建範圍確 定過程的按鈕或者菜單選項。
在塊802, ERP系統11的ABCS 105從客戶機側ERP應用14接收請求。 ABCS 105確定該請求是什麼。如果該請求是範圍確定請求,則流程去往塊 803。如果該請求是針對商業元素的當前狀態的說明,則流程去往塊804。
在塊803, ABCS105處理範圍確定請求。範圍確定請求可以由斷言事實 的用戶觸發。當用戶通過客戶機側ERP應用14的GUI選好選擇或者淘汰例 如商業選項的商業元素時,事實可以被斷言。在範圍確定請求被處理以後, 流程回到塊802等待新的請求。
在塊804, ABCS 105接收關於商業元素的當前狀態的說明請求。說明請 求可以由用戶觸發,用戶通過客戶機側ERP應用14的GUI選擇商業元素, 並點擊用於被選擇的商業元素的當前狀態的說明的按鈕或者菜單選項。ABCS 105確定商業元素的當前狀態的發起者,並把信息發送到客戶機側ERP應用 14。在說明請求被處理以後,流程回到塊802等待新的請求。
圖9a是根據另外的實施例示出了範圍確定過程的流程圖。例如,圖9a 的過程可以被作為圖8的塊801的一部分執行。在塊901, ABCS 105為特定 用戶創建工作空間對象(工作空間模塊205的實例),並把控制交給工作空間 對象。工作空間對象組織由所述特定用戶開始和控制的當前範圍確定過程的 會話和存儲器空間。它還提供了接口,客戶機側ERP應用14能夠通過該接 口與範圍確定過程通信和/或控制範圍確定過程。
在塊卯2,工作空間對象創建商業配置邏輯對象(商業配置邏輯模塊204 的實例),並把控制轉移給它。如上面所討論的,商業配置邏輯模塊204實施
控制範圍確定過程的邏輯。在商業配置邏輯對象從工作空間對象接收控制以
後,它創建規則庫對象(規則庫模塊202的實例)並將其初始化。在一個實 施例中,規則庫模塊202提供創建中央規則庫對象和會話規則庫對象的功能, 中央規則庫對象組織被跨多個用戶會話共享的所有規則,並且會話規則庫對 象特定於具體用戶會話。中央規則庫對象只被創建和初始化一次。在中央規 則庫對象的初始化期間,中央規則庫對象創建規則語義模塊201的實例,它 從持久性206讀取規則並將其封裝為核內規則對象。在開始時,會話規則庫 對象不包含任何特定於用戶會話的規則。但是,隨著範圍確定過程的進展,
在塊903,商業配置邏輯對象從持久性206中讀取初始事實。在一個實 施例中,初始事實是ERP系統11的商業元素中的 一些的預設值。在接收初 始事實以後,商業配置邏輯對象調用演繹框架模塊203的實例來確定其他商 業元素的狀態。
在塊904,演繹框架模塊203的實例基於初始事實確定其他商業元素的 狀態。這些狀態被發送回客戶機側ERP應用14。如果商業元素的狀態是"被 選擇",則客戶機側ERP應用14將按被選擇的顯示商業元素。如果商業元素 的狀態是"被淘汰",則客戶機側ERP應用14按被淘汰的顯示它。如果商業 元素的可改變性是"否"(表示商業元素的狀態此刻不能被改變),則客戶機側 ERP應用14或者將其掩藏,或者以用戶不能選擇或淘汰它的方式將其顯示。
圖9b是根據另一個實施例示出了範圍確定過程的流程圖。例如,圖9b 的過程可以被作為圖8的塊803的一部分執行。在塊911, ABCS105接收範 圍確定請求。在一個實施例中,ABCS 105通過與客戶機側ERP應用14綁定 的工作空間對象接收範圍確定請求。用戶可以通過由客戶機側ERP應用提供 的GUI選擇或者淘汰特定商業元素,並觸發範圍確定請求。範圍確定請求可 以包括被確知的事實。作為替換,被確知的事實可以被與範圍確定請求分開 地發送到ABCS 105。
在塊912,在初始化期間創建的商業配置邏輯對象從工作空間對象接收 被確知的事實,並調用演繹框架模塊203的實例。
在塊913,演繹框架模塊203的實例確定被確知的事實的後果。後果可 以是例如商業元素的狀態的改變。然後,這些後果被發送回客戶機側ERP應 用14。
圖9c是根據另一個實施例示出了範圍確定過程的流程圖。例如,圖9b 的過程可以被作為圖8的塊804的一部分執行。在塊921, ABCS105接收關 於商業元素的說明請求。在塊922,在初始化期間創建的商業配置邏輯對象 接收說明請求和商業元素的標識。商業配置邏輯對象調用演繹框架模塊203 的實例。在塊923,演繹框架;f莫塊203的實例確定商業元素的當前狀態的發 起者,組成說明,並把說明發送回客戶機側ERP應用14。
圖IO是根據一個實施例示出了解決方案產生器的過程的流程圖。例如, 該過程可以由圖7中所示的處理邏輯執行。如上面所討論的,解決方案產生 器702的目的是找到要求改變最少數量的商業元素的狀態的解決方案。因此, 解決方案產生器702需要找到其狀態與其他商業元素的狀態一起違犯了最多 數量的規則的商業元素。於是解決方案產生器702改變商業元素的狀態以使 所有商業元素的狀態正變得不那麼不一致。解決方案產生器702重複上面的 步驟,直到所有商業元素的狀態不違犯規則中的任何一個為止。
假設預處理模塊701已經基於商業元素集合的狀態創建了普遍結點集 合,並基於所有的規則創建了不相容集集合。例如,假設ERP系統具有三個 商業元素A、 B和C,並且ERP系統具有三個限制這三個元素的規則"如果 A被選擇,則B被選擇","如果B被選擇,則C被選擇,,,和"如果A被淘汰, 則B被淘汰"。還假設A、 B和C的預設狀態分別是"被選擇"、"被淘汰"和"被 淘汰"。因此,普遍結點集合是(A-1,B-0,C^)。不相容集集合是(A-l,B-0〉、 {B=1,C=0}、 {A=0,B=1^{A=1,C=0}。隨著在下面進一步示出圖IO的過程, 繼續這個例子。
在塊1001,解決方案產生器702接收通用結點結合和不相容集集合。 在塊1002,解決方案產生器702解決結點集合內所有的矛盾。如果結點
不被允許,則可能出現矛盾。例如,如果"商業元素A必須被選擇,,是被確知
的事實,則結點八=0必須被改變為結點A=l。
在塊1003,解決方案產生器702創建集合NG,包括所有的是普遍結點
集合的子集的不相容集。繼續上面的例子,因為不相容集(A4,B-0)、 {A=l,
。=0}是普遍結點集合{八=1,8=0, 0(n的子集,所以NG是HA-l,B-0), {A=l,
00} }。
在塊1004,解決方案產生器702確定NG集合是否為空,表示沒有不相 容集是普遍結點集合的子集。如果NG集合為空,則在塊1005,普遍結點集
合中的每一個結點的K值和H值被統計。K值是結點在NG集合中出現的次 數。H值是結點的相反結點在整個不相容集集合中出現的次數。關於同一商 業元素,結點和其相反結點具有相反的值。例如,結點A=l的相反結點是 A=0。在上面的例子中,A、 B和C的K值得分別是2、 1和1。 A、 B和C 的H值得分別是0、 2和0。
但是,如果NG集合為空,則在塊1006,返回當前普遍結點集合作為解 決方案。
在塊1007,解決方案產生器702根據K值把結點按降序排序。如果兩個 結點其K值相等,則解決方案產生器702根據其N值把它們按升序排序。在 上面的例子中,排序的結果是A、 C、 B。
在塊1008,解決方案產生器702把普遍結點集合中的頂結點用其相反結 點代替。在塊1008以後,過程回到塊1002。在上面的例子中,A-O代替了 普遍結點集合(A4,B-0, 0=0}中的A=l。因此,普遍結點集合變成(A-O,B-O, C=0}。在第二輪過程期間,NG集合為空。於是,返回普遍結點集合{八=0, B=0, 。=0}作為解決方案。
圖11是示出可用於本發明的一個實施例的處理系統的例子的框圖。該硬 件結構可以應用於圖1的客戶機12和/或ERP系統11。和本發明沒有密切關 系的某些標準和公知的部件未被示出。處理系統包括一個或更多個耦接到總 線系統1103的處理器1101。
圖3中的總線系統1103是一種抽象,它代表任何一個或更多個由適當的 橋接器、適配器和/或控制器連接的單獨物理總線和/或點到點連接。因此,總 線系統1103可以包括例如系統總線、外圍部件互連(Peripheral Component Interconnect, PCI)總線、超傳輸(HyperTransport)或工業標準結構(industry standard architecture, ISA)總線、小型計算才幾系統接口 ( small computer system interface, SCSI)總線、通用串行總線(USB),或者電氣和電子工程師學會
(Institute of Electrical and Electronics Engineers, IEEE )標準1394總線(有 時候被稱為"firewire,火線")。處理器1101是處理系統的中央處理單元
(CPU),因此控制處理系統的總體操作。在某些實施例中,處理器1101通 過執行存儲在存儲器1102中的軟體實現這個任務。處理器1101可以是或者 可以包括一個或更多個可編程通用或專用微處理器、數位訊號處理器(DSP )、 可編程控制器、專用集成電路(ASIC )、現場可編程門陣列(field-programmablegate array, FPGA)、可編程邏輯器件(programmable logic device, PLD)等 等,或者這些器件的組合。
處理系統還包括耦接到總線系統1103的存儲器1102。存儲器1102代表 任何形式的隨機存取存儲器(RAM)、只讀存儲器(ROM)、快閃記憶體,或者它們 的組合。存儲器1102至少存儲處理系統的作業系統1104。
海量存儲設備1106、存儲適配器1107和網絡適配器1108也通過總線系 統1103連接到處理器1101。海量存儲設備1106可以是或者可以包括任何用 於以非易失方式存儲大量數據的常規介質,例如一個或更多個磁碟。存儲適 配器U07允許處理系統訪問存儲子系統,並且可以是例如光纖通道適配器或 SCSI適配器。網絡適配器1108給處理系統提供了通過網絡與遠程設備通信 的能力,並且可以是例如乙太網適配器或者光纖通道適配器。
存儲器1102和海量存儲設備1106存儲軟體指令和/或數據,所述指令和 /或數據可以包括用來實施這裡介紹的技術的指令和/或數據。
因此,已經描述了用於自動配置企業資源計劃(ERP)系統的一種方法 和系統。
上面描述的內容的一部分可以利用例如專用邏輯電路的邏輯電路實施或 者利用執行程序代碼指令的微處理器或其他形式的處理核心實施。因此,由 上面的討論教導的過程可以利用例如機器可執行指令的程序代碼執行,機器 可執行指令導致執行這些指令的機器執行某些功能。在這個上下文中,"機器,,
可以是把中間形式(或"抽象,,)指令轉換為特定於處理器的指令(例如像"虛 擬機,,(例如Java虛擬機)、解釋器、公共語言運行時(Common Language Runtime )、高級語言虛擬機等的抽象執行環境)的機器,和/或置於半導體芯 片上、設計成執行指令的電子電路(例如用電晶體實施的"邏輯電路"),例如 通用處理器和/或專用處理器。由上面的討論教導的過程也可以由被設計成執 行這些過程(或其一部分)而不執行程序代碼的電子電路(代替機器或與機 器聯合)執行。
相信由上面的討論教導的過程也可以被在源級程序代碼中用各種面向對 象或非面向對象的計算機程式語言(例如Java、 C#、 VB、 Python、 C、 C++、 J#、 APL、 Cobol、 ABAP、 Fortran、 Pascal、 Perl等)描述,所述計算機編 程語言被各種軟體開發框架(例如微軟公司的.NET、 Mono、 Java、曱骨文公 司的Fusion等)支持。源級程序代碼可以被轉換為抽象執行環境(例如Java 虛擬機、公共語言運行時、高級語言虛擬機、解釋器等)可理解的中間形式
的程序代碼(例如Java字節代碼、微軟中間語言(Intermediate Language)等), 或者針對特定處理器的更為特定的程序代碼形式。
製造物可被用來存儲程序代碼。存儲程序代碼的製造物可以被具體實施 為一個或更多個存儲器(例如一個或更多個快閃記憶體、隨機存取存儲器(靜態、 動態或者其他的))、光碟、CD-ROM、 DVDROM、 EPROM、 EEPROM、磁 性或光學卡,或者其他類型的適於存儲電子指令的機器可讀介質,但是不限 於此。程序代碼也可以當作具體實施在傳輸介質中(例如通過通信鏈路(例 如網絡連接))的數據信號被從遠程的計算機(例如伺服器)下載到做出請求 的計算機(例如客戶機)。
如這裡所使用的,"邏輯"可以包括例如軟體、硬體和/或硬體和軟體的組合。
儘管已經參考具體的示範性實施例描述了本發明,但是將會發現本發明 不限於所描述的實施例,而是可以利用所附權利要求的精神和範圍內的修改 和更改來實踐。因此,要從說明性而非限制性的意義上看待說明書和附圖。
權利要求
1.一種機器實施的方法,包含在企業資源計劃(ERP)系統處維護多個商業元素,為該多個商業元素中的每一個均分配了狀態;和基於所述多個商業元素間的語義關係自動地確定該多個商業元素的狀態是否相互一致。
2. 如權利要求1所述的方法,其中,所述ERP系統維護多個規則,其 中,該多個規則中的每一個均規定了所述多個商業元素中至少兩個之間的關 系,包括語義規則。
3. 如權利要求2所述的方法,其中,確定所述多個商業元素的狀態是否 相互一致包含確定該多個商業元素的狀態是否違犯了所述多個規則中的至 少一個。
4. 如權利要求2所述的方法,還包含如果所述多個商業元素的狀態不 一致,則自動地產生解決不一致性的解決方案。
5. 如權利要求4所述的方法,其中,自動地產生解決不一致性的解決方案包含從所述多個商業元素中標識一個商業元素,該商業元素的狀態違犯了所 述多個規則中預先確定數量的規則;和 改變該商業元素的狀態。
6. 如權利要求5所述的方法,其中,如果商業元素的狀態與至少一個其 他商業元素的狀態一起與規則矛盾,則該商業元素的狀態被視為違犯了規貝'J。
7. 如權利要求1所述的方法,所述狀態是"被選擇,,狀態或者"被淘汰"狀態。
8. —種機器可讀介質,具有當被執行時導致機器執行一種方法的指令, 所述方法包含在企業資源計劃(ERP)系統處維護多個商業元素,為該多個商業元素 中的每一個均分配了狀態;和基於所述多個商業元素間的語義關係自動地確定該多個商業元素的狀態 是否相互一致。
9. 如權利要求8所述的機器可讀介質,其中,所述方法還包含維護多個規則,其中,該多個規則中的每一個均規定了所述多個商業元素中至少兩個 之間的關係,包括語義關係。
10. 如權利要求9所述的機器可讀介質,其中,確定所述多個商業元素 的狀態是否相互一致包含確定該多個商業元素的狀態是否違犯了所述多個 規則中的至少一個。
11. 如權利要求9所述的機器可讀介質,其中,所述方法還包含如果 所述多個商業元素的狀態不一致,則自動地產生解決不一致性的解決方案。
12. 如權利要求11所述的機器可讀介質,其中,自動地產生解決不一致 性的解決方案包含從所述多個商業元素中標識一個商業元素,該商業元素的狀態違犯了多 個規則中預先確定數量的規則;和 改變該商業元素的狀態。
13. 如權利要求12所述的機器可讀介質,其中,如果商業元素的狀態與 至少一個其他商業元素的狀態一起與規則矛盾,則該商業元素的狀態被視為 違犯了規則。
14. 如權利要求8所述的機器可讀介質,其中,所述狀態是"被選擇"狀 態或者"被淘汰"狀態。
15. —種處理系統,包含 處理器;海量存儲設備,所述海量存儲設備維護企業資源計劃(ERP)系統的多 個商業元素,為該多個商業元素中的每一個均分配了狀態;被耦接到所述處理器的存儲器,所述存儲器存儲當被處理器執行時導致 處理系統執行處理過程的指令,所述處理過程包含自動地確定所述多個商業元素的狀態是否相互一致;和如果該多個商業元素的狀態不一致,則自動地產生解決不一致性的解決方案。
16. 如權利要求15所述的處理系統,其中,所述海量存儲設備還維護多 個規則,其中,該多個規則中的每一個均失見定了所述多個商業元素中至少兩 個之間的關係。
17. 如權利要求16所述的處理系統,其中,確定所述多個商業元素的狀 態是否相互一致包含確定該多個商業元素的狀態是否違犯了所述多個規則中的至少一個。
18. 如權利要求16所述的處理系統,其中,自動地產生解決不一致性的 解決方案包含從所述多個商業元素中標識一個商業元素,該商業元素的狀態違犯了多 個規則中預先確定數量的規則;和 改變該商業元素的狀態。
19. 如權利要求18所述的處理系統,其中,如果商業元素的狀態與至少 一個其他商業元素的狀態一起與規則矛盾,則該商業元素的狀態被視為違犯 了規則。
20. 如權利要求15所述的處理系統,其中,所述狀態是"被選擇"狀態或 者"被淘汰"狀態。
全文摘要
本發明涉及用於自動維護信息系統的一致性的方法和系統。企業資源計劃(ERP)系統維護多個商業元素。每一個商業元素均代表依賴於客戶的商業要求可能需要或者不需要的商業功能。範圍確定過程是根據客戶的商業要求和一些商業元素中存在的關係確定要求什麼樣的商業元素的過程。ERP系統提供自動商業配置子系統。自動商業配置子系統維護規則集合。每一個規則均代表在ERP系統處維護的兩個商業元素之間的關係。自動商業配置子系統基於規則集合自動地確定要求和需要實施哪些商業元素。自動商業配置子系統也可以考慮到規則自動地確定商業元素的狀態是否相互一致。
文檔編號G06Q10/00GK101201919SQ200710199630
公開日2008年6月18日 申請日期2007年12月11日 優先權日2006年12月11日
發明者成立剛, 李培松, 木 輿, 鵬 高 申請人:Sap股份公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀