天天看點

jvs-rules 規則引擎-變量管理(函數式)的配置說明

作者:躬身踐行

JVS規則引擎變量管理

變量在規則引擎中的作用

  1. 資料存儲和共享:變量配置允許在規則引擎中存儲和通路資料。通過定義變量,可以将資料存儲在規則引擎中,使其可供規則和決策過程使用。這樣可以消除重複資料存儲的需求,提高資料的共享和重用性。
  2. 決策邏輯的簡化:通過使用變量,可以将規則引擎中的決策邏輯抽象為更具可讀性和可維護性的形式。變量可以用于存儲和操作不同類型的資料,如數字、字元串、日期等。通過使用變量,可以使規則的編寫和維護更加簡單,減少重複的代碼,并提高規則的可讀性和可維護性。
  3. 動态性和靈活性:變量配置允許在規則引擎中動态設定和更新變量的值。這樣,當系統中的資料或環境發生變化時,可以實時更新變量的值,進而影響決策過程的結果。通過改變變量的值,可以靈活地調整規則的行為,而不需要修改底層的規則邏輯。
  4. 與外部系統的內建:變量配置使規則引擎能夠與外部系統進行內建。變量可以用于存儲和傳遞與外部系統互動所需的資料,如資料庫查詢結果、API調用傳回值等。通過與外部系統的內建,規則引擎可以擷取外部資料并将其用于決策過程,進而提高決策的準确性和實時性。
  5. 可管理性和可維護性:通過變量配置,規則引擎中的資料和邏輯被分離開來,提高了系統的可管理性和可維護性。變量配置使得對資料和邏輯的修改更加簡單和集中化。通過集中管理變量,可以減少代碼的備援性,降低錯誤的風險,并簡化對規則引擎的修改和擴充。

函數式程式設計實作變量加工

函數式程式設計是一種程式設計方法,它以類似 Excel 表格的方式進行資料處理和計算。它的特點是使用公式和函數來描述資料之間的關系和計算邏輯。

在函數式程式設計中,資料被組織成表格的形式,每列代表一個資料字段或變量,每行代表一個資料記錄。可以通過公式和函數将不同的資料字段進行計算和操作,生成新的計算結果。

以下是類 Excel 的函數式程式設計的特點和優勢:

  1. 公式和函數:類 Excel 的函數式程式設計使用公式和函數來表示資料之間的關系和計算邏輯。可以在變量的配置過程中,引用其他入參或者變量的值,并進行各種計算、邏輯操作和資料轉換。
  2. 資料引用和依賴:函數式程式設計中,公式和函數可以引用其他資料的值,形成資料的引用和依賴關系。當被引用的單元格的值發生變化時,依賴于它的公式和函數會自動更新計算結果。
  3. 資料處理和轉換:通過公式和函數,可以進行各種資料處理和轉換操作,例如數值計算、邏輯判斷、文本處理、日期操作等。這使得資料的加工和轉換變得簡單和靈活。
  4. 可視化展示:函數式程式設計通常提供可視化的界面來展示資料和公式的計算結果。開發者可以直覺地檢視和分析資料,觀察公式和函數的計算過程。
jvs-rules 規則引擎-變量管理(函數式)的配置說明

規則變量的作用範圍

在規則引擎中,全局變量和局部變量是兩種不同的變量類型,它們在作用範圍和生命周期上有所差別。

jvs-rules 規則引擎-變量管理(函數式)的配置說明
  1. 全局變量:全局變量是在規則引擎中定義的具有全局作用域的變量。它們可以在規則引擎的任何規則、決策或操作中被通路和使用。全局變量通常用于存儲在整個規則引擎中共享和重複使用的資料。例如,全局變量可以用于存儲系統配置參數、全局計數器、共享的業務規則等。全局變量的生命周期通常與規則引擎的生命周期相同,它們在規則引擎啟動時建立,直到規則引擎關閉時銷毀。
  2. 局部變量:局部變量是在規則引擎中定義的具有局部作用域的變量。它們僅在定義它們的規則、決策或操作内部可見和使用。局部變量通常用于存儲在特定規則或決策中臨時需要使用的資料。例如,局部變量可以用于存儲臨時計算結果、中間狀态的值或特定規則的輸入參數。局部變量的生命周期通常在規則或決策執行期間有效,它們在規則或決策執行完畢後被銷毀。

全局變量和局部變量的選擇取決于變量的作用範圍和需求。全局變量适用于在整個規則引擎中共享和重複使用的資料,具有更廣泛的可見性和持久性。局部變量适用于在特定規則或決策中臨時使用的資料,具有更短暫的生命周期和較小的作用範圍。正确地使用全局變量和局部變量可以提高規則引擎的性能、可讀性和維護性,同時滿足不同場景下的資料存儲和通路需求。

變量清單展示

如圖所示,變量清單将系統中所有的變量界面化展示,可以通過編輯與設計對變量修改。

jvs-rules 規則引擎-變量管理(函數式)的配置說明

變量編輯

變量編輯包括變量名稱,變量的說明

jvs-rules 規則引擎-變量管理(函數式)的配置說明

變量設計器上圖所示,采用函數式程式設計,通過函數将左側的資料進行加工映射,生成業務場景中所需要的資料。其中函數清單中包括7大類型的函數,基本上包括日常常用的一些函數方法;函數編輯區是通過僞代碼的形式實作的具體變量場景需求,使用的方式是類似與excel的操作方式,點選左側函數,系統會自動将函數引入到編輯區,在右選對應接口,對應輸出的字段,成為編輯區内函數的入參。

函數引用

函數支援常用的各類函數,滑鼠懸空時,将顯示函數的具體說明,點選函數時,系統自動将對應函數引入到變量編輯區内容

jvs-rules 規則引擎-變量管理(函數式)的配置說明

變量的建立

點選資料源,選擇對應的資料接口,或者不同的資料來源,不同場景下,左側可以選擇的資料來源有差異,根據場景的上下文系統自動進行判斷。

jvs-rules 規則引擎-變量管理(函數式)的配置說明

變量的配置

a、選擇資料來源,如圖所示,資料來源往往是我們經常看到的資料公司,每個資料公司采用相同的加密認證方式,提供多個不同的資料接口。

jvs-rules 規則引擎-變量管理(函數式)的配置說明

b、選擇對應的接口名稱

c、選擇對應的接口出參,這裡的輸出資料多數以json形式存在,界面上做了解析,使用的時候可以直接選擇對應子節點的出參作為輸入變量。

d、系統展示篩選出來待使用的原始資料,這些資料可以直接作為函數的入參

e、可以引用已經配置過的變量

jvs-rules 規則引擎-變量管理(函數式)的配置說明

變量的測試

點選測試,系統展示測試界面

jvs-rules 規則引擎-變量管理(函數式)的配置說明

測試界面如圖:

輸入測試資料後,直接可以展示測試結果。

jvs-rules 規則引擎-變量管理(函數式)的配置說明

線上demo:http://jvs-rules.bctools.cn/

基礎架構開源位址:https://gitee.com/software-minister/jvs

繼續閱讀