什麼是規則引擎:
規則引擎是一種採用人類能理解的術語(簡稱類自然語言)來描述業務邏輯(如各類公式、演算法、策略、流程等)並且解析執行的軟體程式。對於一般的資料處理邏輯以及判斷邏輯,規則引擎可以直接採用業務人員自己定義的術語,來對其進行描述。使得這些業務邏輯可以脫離程式外進行單獨配置和管理,已滿足其後期隨時變更。國外代表品牌是ilog,開源drools,以及國內商業產品代表是旗正規則引擎。
旗正規則引擎的特點:
使用規則引擎的目的就是為了讓軟體系統中一些資料處理的邏輯,未來可以隨時調整。比如旗正規則引擎除了可以隨時調整具體的邏輯外,還能支援對資料結構以及資料**的調整,這是一般的規則引擎做不到的。
因此旗正規則引擎擴大了規則引擎的使用範圍,能夠解決軟體系統當前普遍存在的後期維護的問題,使得在系統上線後可以隨時進行調整,以便適應企業最新的需要。
旗正規則引擎是如何做到的?
軟體系統的後期維護所需要的變更,無外乎資料結構和資料處理邏輯的變更問題。
如果按照一般的開發方式,資料結構的定義時,會有大量的實體類來定義資料結構。比如介面對應的實體類、邏輯處理的實體類以及資料庫對應的實體類。當資料結構發生調整時,對應需要修改所有的實體類。
採用基於規則包配置時,不再採用實體類的方式來定義資料。而是採用key-value的方式來定義所有的型別。這樣當資料結構發生調整時,只需更新key-value具體的值即可進行變更。
邏輯處理,採用規則包的動態介面定義。規則包的傳入引數傳出引數,以及可以直接用key-value傳遞需要處理的資料結構。
資料庫對應的資料結構,採用動態的類來進行定義,用list來定義列資訊,用list來定義資料庫表的資料。當變更資料結構時,只需修改定義即可,而無需修改實體類。
通過這種方式,使得可以直接在規則引擎配置資料庫的源資訊,以及變更後的資料結構資訊,而不用變更程式**。
另外規則引擎還可以直接通過配置方式引入新的不同的資料來源,比如其他的資料庫、excel資料、web服務、xml資料、mongodb等。使得也能對資料來源的變化隨時進行調整。
旗正規則引擎具體怎麼用?
旗正規則引擎可以作為基礎軟體產品整合到各種業務管理系統中,用於管理各類將來可能會調整的各種業務邏輯。使用者可以將各種和資料處理相關的邏輯通過規則配置器進行定義後,通過旗正規則引擎來處理執行。比如企業的人力資源管理系統,可以用規則引擎來配置具體的薪資計算的規則;比如企業的生產管理系統,可以用規則引擎來管理生產排程的優化處理;比如企業的渠道管理,可以用規則引擎來管理具體的返點政策;比如企業的**系統,可以用規則引擎來管理具體的**策略等。
旗正規則引擎可以在業務管理系統改造公升級時,作為其中乙個模組整合進去。也可以在專案後期,作為乙個獨立的資料處理工具來執行。
當在業務管理系統開發階段時,要在架構設計上,將規則引擎作為資料庫基礎上乙個基礎元件,或者是esb服務中的一部分。同時需要界定清楚,哪些業務的處理邏輯需要交由規則引擎進行控制。正常情況下,對於資料的增刪改查等功能,無需採用規則引擎來處理。而對於需要有特定業務控制的邏輯處理模組,交由規則引擎來處理。規則引擎作為乙個計算節點,如何觸發以及相關的資料**,還需要通過常規的系統進行維護。通過規則引擎與常規編碼進行配合,將複雜的、易變的、模糊的各種資料處理邏輯脫離出來,使得常規編碼只是處理一些資料的增刪改查等簡單操作。
當專案已經上線處於維護階段時,規則引擎作為獨立的資料處理工具可以用於處理已經儲存到資料庫中的各種資料,類似於替代資料庫的儲存過程的功能。使用者可以用規則引擎工具,直接連線資料庫,配置各種資料處理的邏輯,最後將其發布成定時執行的任務,來完成各類資料的處理和輸出。採用規則引擎取代資料庫儲存過程,可以有效的降低資料庫的負載,提高系統的整體效能。同時也使得資料處理的邏輯更加容易維護。
規則引擎適用於哪些專案?
以旗正規則引擎為例,旗正規則引擎是國內最早出現的一款商業規則引擎,適用於各行各業的資訊化管理系統中。以下列舉各行業適用的管理系統。
1、 金融風控
金融在近兩年來迅速發展,備受矚目,p2p、消費金融等野蠻生長,而直接要面對的乙個問題就是如何控制風險,避免欺詐行為,特別是在欺詐方面更是成為p2p面臨最大的難題,據行業資料報告顯示,欺詐行為已佔p2p壞賬中50%。規則引擎在其中主要作為決策工具,風險規則多變,欺詐行為多變,需要系統及時調整策略來進行控制,所以規則引擎在其中的作用可謂非常之大。
2、 企業渠道管理系統
製造企業普遍採用渠道政策來發展**商銷售其產品。渠道政策隨著企業的發展,會定期進行調整,正常情況下,每個季度都會調整一次渠道政策。調整的目的可能是增加了新的產品線,或者**某類產品,或者激勵某類客戶或者區域。每個季度,需要根據新的渠道政策,以及**商的級別和銷售業績,來計算需要給**商的返點、積分或者折扣。渠道管理系統用於維護計算返點、積分所需的各類資訊,包括**商資訊、產品資訊、系列資訊、區域資訊、渠道級別資訊、銷售資料以及其他相關的原始資料,同時維護具體的返點、積分政策以及計算結果。渠道管理每個季度重新配置一遍新的返點、積分等策略,並運算後,將結果輸出到財務核算系統或者匯出到其他地方。
3、 企業產品**系統
商業企業針對不同的客戶以及不同的產品,提供不同的**體系。**體系除了和產品自身的成本相關外,還需要涉及到合同、**、折扣、審批等。比如與客戶簽訂乙個一年期的銷售合同,可能是按照固定**給客戶,也可能是按照其採購量給予折扣,或者是不同時間段的**和折扣都完全不同。**體系而且是乙個不斷會調整的系統,客戶可能會新增合同。因此每個月結算時,需要根據當月的銷售額以及客戶具體的合同,來計算客戶需要支付的費用。產品**系統需要維護產品資訊、合同資訊、折扣資訊以及其他產品**相關的基礎資料,通過規則引擎配置具體的**邏輯。提供服務給外部程式來詢價,以及每月結算時計算相應的結果。
4、 企業績效管理系統
企業的薪酬體系是配合企業的績效考核一起來進行的,對於員工數量多的企業客戶來說,獎懲制度也會隨著工種的不同會有很多的變化。企業績效管理系統針對企業每個員工特定的薪資計算政策,根據每月員工完成的績效,來計算對應的獎懲金額。企業績效管理系統主要用於管理員工資訊、工資資訊、獎懲資訊、績效資訊等,通過規則引擎配置具體的獎懲規則,每月定時結算。
5、 企業生產排程優化系統
製造企業根據訂單安排生產,正常情況下根據3個月的訂單情況,安排生產計畫。但是在實際的過程中,經常會有調整訂單和插單情況,或者出現一些原材料不足等意外發生。根據最新的情況,調整生產計畫同時又要滿足其他所有的訂單的生產不發生問題,或者預先知道那些訂單會發生延期交付等問題。生產排程優化,除了可以保障按時交付訂單外,還可以考慮以下的成本節約:庫存最小化、單位產能最大化、配套間隔時間最短等等。生產排程的優化,可以在原始生成排程的基礎上,根據以上原則進行優化,最後形成更優的生產計畫。生產排程優化系統需要維護生產線資訊、產品資訊、系列資訊、訂單資訊等與排程相關的資料,同時通過規則引擎配置具體的優化邏輯。每次調整訂單時,都可以重新執行並得到最優的結果。
6、 電信運營商計費系統
電信運營商計費系統中的計費規則,基本上都在採用規則引擎進行計算。後期可以不斷的追加新的規則等。目前電信運營商都在進行國產化的改造階段,因此目前有非常好的商業機會。
7、 保險理算系統
保險的理賠規則的配置實現
8、 醫療的資料處理
醫療資料的採集、傳輸、儲存、分析、處理等一系列動作,都可以採用規則引擎進行處理。
規則引擎的價值
當企業的資訊系統整合了規則引擎產品後,能帶來以下顯著的效果:
1、 資訊系統中負責的業務邏輯處理,可完全交由規則引擎進行配置。降低了專案的風險,保障了專案進度。
2、 增強業務部門對資訊系統的控制能力,提高了業務部門的參與度。
3、 減輕業務部門和技術部門的溝通工作量,減輕了技術部門的工作壓力
4、 降低資料庫的負載,提高了系統的整體效能
5、 降低系統的維護成本,增強了專案的可適應性
關於旗正規則引擎中的MD5加密問題
一般情況下,為了防止個人隱私的洩露,我們都會對使用者登入密碼進行加密,使資料庫相應字段儲存的是加密後的字串,而非原始密碼。在旗正規則引擎中,通過外部呼叫,可以實現md5的加密,具體步驟如下 1.在物件庫中選擇外部呼叫,選擇 com.flagleader.util.md5 在子選項中選擇 com.fl...
關於旗正規則引擎中的MD5加密問題
一般情況下,為了防止個人隱私的洩露,我們都會對使用者登入密碼進行加密,使資料庫相應字段儲存的是加密後的字串,而非原始密碼。在旗正規則引擎中,通過外部呼叫,可以實現md5的加密,具體步驟如下 1.在物件庫中選擇外部呼叫,選擇 com.flagleader.util.md5 在子選項中選擇 com.fl...
產品 產品設計 美工線的設計
美工線從作用上來看,有裝飾類 產品設計結構類 兩個塑件為了避免參差不平 模具工藝類。1 美觀加美工線 如要噴雙色漆,兩種顏色分界線用美工線分界,也為噴漆時遮罩治具方便。2 模具加美工線 模具製作及成型公差,上下蓋配合容易有斷差,往往設計美工線使配合斷差變的不明顯。因此產品側孔模具需要跑滑塊,滑塊位置...