999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

智能化規則引擎技術研究

2018-09-14 07:51:52趙志偉
軟件 2018年8期
關鍵詞:引擎規則用戶

趙志偉

?

智能化規則引擎技術研究

趙志偉

(星環眾志科技(北京)有限公司,北京 100044)

在今天這個急劇變化的市場上,高效的業務決策可以帶來重要的競爭優勢。對業務進行有效的規則管理就是決策者通過制定規則采用適合于本企業的決策模式,以達到企業管理的一種管理方法。本文闡述了智能化規則引擎產生的需求背景,詳細介紹了規則引擎的定義、實現原理。描述了業務規則定義,決策矩陣和決策樹的配置原則。以及規則引擎在與外部業務系統進行交互的情況下,如何進行有效的測試和系統調用。

規則引擎;業務規則;控制器;決策矩陣;決策樹;邏輯校驗

0 引言

在很多行業的企業級項目應用中,比如銀行、保險領域的業務規則往往非常復雜,并且規則處于不斷更新變化中。而現有很多系統的做法基本上都是將業務規則綁定在程序代碼中,整個系統呈現出的業務規則與實現程序的緊耦合狀態非常明顯。

企業為適應市場的多變性,導致業務邏輯也必然是多變的。理想情況下,業務邏輯的改變應該能夠實時的反映在企業信息系統中。但是傳統的方法往往會使這種反映出現滯后,進而可能使企業錯過市場機遇。

在企業IT系統建設過程中如果能夠建立一套規則引擎[1],將業務規則從技術實現中提取出來,實現技術和業務分離。業務分析人員定義業務規則、開發人員處理技術實現,各自做自己所擅長的事情,將是一種非常好的解決方案。

本文主要研究基于動態業務環境中,業務人員驅動整個企業過程的最佳實踐-智能化規則引擎的原理與實現思路[2-3]。

1 規則引擎實現原理

1.1 規則引擎定義

規則引擎是一種嵌入在應用程序中的組件,其主要思想是將應用程序中隨著時間、空間動態易變的業務決策部分從應用程序代碼中分離出來,使用預定義的語義模塊編寫業務決策。由用戶或開發者在需要時進行配置、管理,接受業務系統的數據輸入,解釋業務規則,并根據規則做出業務決策的引擎。

業務系統根據自身需求提供業務編號和相應的業務接口信息,將請求信息發送到規則管理系統。規則管理系統接收到業務系統的請求后,將該請求轉發到規則引擎。規則引擎根據業務編號再將該請求信息分配到相應的業務處理模塊進行準入判斷:如果業務信息觸發了該筆業務的準入或者拒絕的條件,則系統不對接口信息判斷直接給出決策結果;如果該請求沒有觸發準入或者拒絕條件,則進行業務信息的規則處理,最終給出決策結果,并將結果響應回業務系統。

圖1 規則管理系統業務處理流程流程

1.2 配置業務規則

業務規則是指對業務定義和約束的描述[4-5],用于維持業務結構或控制和影響業務的行為。業務規則描述了業務過程中重要的且值得記錄的對象、關系和活動。其中包括業務操作中的流程、規范與策略等。

業務規則技術的基本思想是:將系統處理的業務邏輯從程序代碼中抽取出來,將其轉變為簡單的業務規則,以結構化的業務規則數據來表示業務行為,采用類自然語言來描述,并集中存儲在規則庫中。

業務規則技術的理論基礎是:設置一個或多個最細粒度的事實條件到一個規則上,當滿足這些條件集合時會觸發一個或多個操作。以規則形式捕捉策略語句能提供極大的靈活性和良好的適應性,是企業保持競爭優勢的決定性因素。在市場驅動的情況下,系統架構和模型必須對客戶、競爭對手、合作伙伴和整個市場情況的各種變更及時響應,同時將這些變更產生的需求作為業務規則體現到系統中去。

規則引擎可由用戶根據業務要求進行單個業務規則的創建、編輯和刪除操作,在創建規則時可以使用系統中已有的決策變量,也可以使用由用戶定義的衍生變量。每個規則應有對應的原因碼,原因碼可由用戶自行設置。用戶可以設置規則的觸發條件(滿足規則/不滿足規則時觸發),在觸發規則后系統可按照規則設置的優先級返回觸發規則的原因碼。業務規則是可以分組管理的,在每個分組中可以設置規則之間的優先級,同時對于不同的規則分組,也可以設置優先級。

以某學校評選學生獎學金為例,根據專業課平均分和英語四級成績分別評選:

(1)專業課平均分高于85分,且通過英語四級考試,可評一等獎學金。

(2)專業課平均分高于85分,沒有通過英語四級考試,可評二等獎學金。

(3)專業課平均分在75分和85分之間,且通過英語四級考試,可評二等獎學金。

(4)專業課平均分在75分和85分之間,沒有通過英語四級考試,可評三等獎學金。

根據上述獎學金評選規則可將規則梳理成下表形式,每條規則中的條件可以設置優先級判斷,也可以設置成相同的優先級并行計算判斷,如表1所示。

根據上面表格內容可在在規則引擎中繪制4條業務規則組件,如圖2所示。

1.3 配置決策矩陣

決策矩陣是一種呈表格狀的圖形工具,適用于描述判斷條件較多,各條件又相互組合、有多種決策方案的情況。精確而簡潔的描述復雜邏輯的方式,將多個條件與這些條件滿足后要執行的動作相對應。不同于傳統程序語言中的控制語句,決策矩陣能將多個獨立的條件和多個動作直接的聯系清晰的表示出來。

表1 業務規則

Tab.1 Business rules

圖2 規則列表

決策矩陣能羅列出所有的可能情況,并清晰的指出相應的處理方式,用戶不需要考慮其中的邏輯關系就能看出其中什么樣的動作對應什么樣的情況,相較于程序語言中層層嵌套的邏輯語句具有更加直觀的效果。而所有可能情況的平面羅列,也能避免在程序語言編寫中因為邏輯上的層層嵌套而產生遺漏,尤其在if-then-else結構中else部分是可選的情況下。

根據上一章節中的業務規則列表可編寫如表2所示,決策矩陣。

表2 決策矩陣

Tab.2 Decision matrix

1.4 配置決策樹

決策樹[6]是一種業務規則設定方式,以樹型圖的方式使業務用戶將一組彼此相關的業務規則設定在一起。通過決策樹,業務用戶可以設定觸發條件和執行結果:樹干部分是各個條件的具體分叉值,樹葉即節點部分則是各個條件的執行結果。從樹根到樹葉,每一條分支都是一條完整的規則。根據業務系統需求,規則引擎支持多種類型的決策結果(包括數值、策略表、政策規則集、衍生數據腳本、評分模型等)。

規則引擎配置決策樹過程中,所有的條件和結果都可以由業務用戶獨立維護。業務用戶只需要從相關的業務規則列表中選擇需要的細分,即可通過拖拽的方式將業務規則直接應用于決策樹中。系統添加決策樹分支簡單易行,可以支持分支的拖拽復制功能。也即可以將決策樹中某個節點之后的內容整體復制后,通過粘貼的方式就可以創建新的分支。每個非葉子節點的條件均可以提供展開和折疊的功能,使其所屬的所有節點可以根據要求靈活的調整,以便于用戶維護復雜的決策樹。在對決策樹進行調整的時候,可以通過顯示調整前和調整后的決策樹,讓業務用戶直觀地觀察到策略樹的變化。

將學校獎學金決策矩陣在規則引擎中配置成決策樹的形式,展現如圖3所示。

1.5 邏輯校驗

規則引擎在決策組件繪制完成保存時可自動進行校驗,能夠對所有的業務規則、決策矩陣、決策樹組件進行邏輯判斷。檢測組件是否存在異常邏輯,或是否存在差異、重疊、沖突、互斥、冗余、閉環等問題,以保證流程圖配置的正確性。

系統發現邏輯錯誤后,可給出警告信息并生成錯誤報告,便于用戶迅速發現問題所在。

檢測系統是否存在異常,所有的檢驗需提供三種類型的結果輸出:

圖3 決策樹

正常:無需修復,不會影響系統部署和運行。

警告:可以保留,不會影響系統部署和運行。

錯誤:必須修復,否則系統無法部署和運行。

2 系統測試

2.1 單元測試

系統可以針對業務規則、決策矩陣和決策樹進行不同粒度的測試。

系統支持交互式測試,即系統可根據所選組件自動生成專門的信息錄入頁面,測試所需數據由測試人員手工輸入,同時支持文件導入方式進行多條業務數據測試。

系統還支持從其他數據源(數據庫、數據文件、數據集合)導入測試數據,進行線下批量測試。

系統同時支持模擬測試,點擊測試按鈕能夠方便快速給出預算結果,但預算結果并不作為真正意義上的決策結果進行存儲,只提供結果預覽功能,供用戶檢查業務邏輯和結果預期。

系統測試結果可以直觀的形式顯示給用戶,可以隨時查詢歷史測試結果,并可以將測試結果保存到文件中,供后續分析使用。

2.2 試點測試

試點測試指在測試環境或生產環境中隨機選取一部分業務請求,使用新的策略模型,對其效果與原策略模型進行比較。如果新策略模型效果超過舊策略模型,則將新策略模型運用到更大的業務群中,從而使效益不斷得到優化和改善。

規則引擎對于試點測試的支持需求如下:

(1)對于不同的法人、機構、業務部門、用戶級別都可以進行獨立的測試。

(2)新策略模型被引入后,可通過策略報表功能對新舊策略模型的各項指標進行對比,以衡量其有效性。

(3)對執行新舊策略模型的執行周期具備控制功能:業務用戶可對策略模型定義一個周期,在定義的周期內同一個業務不可以既執行舊策略模型又執行新策略模型。

(4)系統可自行設置新舊策略模型的抽樣比例,并對抽樣比例進行有效性控制。

(5)在策略組件的不同層面上(業務規則、決策矩陣、決策樹)均可進行試點測試。對于策略流程的所有節點,包括所有的葉子節點和上層的父節點,也應支持試點測試。

3 外部系統調用

3.1 實時調用

實時調用是指業務系統與規則引擎間的數據交互采用實時方式:業務系統將請求數據發送給規則引擎,規則引擎接收請求信息進行規則計算,然后將計算結果及時反饋給業務系統。對于實時決策,規則引擎所使用的數據由業務系統提供,因此規則引擎應具備與業務系統的實時交互功能。

規則引擎對于業務系統的決策請求,應支持分布式的接口調用方式,并具有平臺無關性。實時接口可直接來源于業務流程系統,也可從數據倉庫、數據集市中獲取數據,但是否獲取數據要根據相應的決策要求來確定。

在實時接口中規則引擎可進行決策變量的匯總、計算、邏輯判斷等,并將處理結果以決策輸出的方式展現給用戶,最終響應到業務系統。

規則引擎不僅要對業務系統提供決策服務,同時也需要調用其他應用系統獲取服務[7]。此時,規則引擎作為業務請求的發起端,也需要具備接收其他應用系統實時反饋響應信息并及時處理的能力。

3.2 批量調用

批量調用也稱非實時交互,是指當天日終批量處理時,規則引擎,通過數據平臺完成相關數據信息的采集進行離線計算。

對于批量決策,規則引擎所調用的數據可來源于各業務系統或ODS系統、數據倉庫、數據集市等。因此規則引擎應支持與相關系統的批量接口定義,滿足業務系統的策略實施。

規則引擎對于批量接口支持數據庫連接、數據文件處理、遠程接口調用。批量策略既可以按照周期的方式自動運行,也可以由業務用戶手工執行。批量調用策略模型后,決策結果信息需響應給業務系統并保存到本地數據庫。

在業務用戶進行策略配置時會有調用外部系統數據(人行征信信息、法院失信信息、工商經營異常信息、行政處罰信息、公司關聯方信息、芝麻信用、金融機構黑名單等)進行對比、校驗,然后根據外部系統的返回結果確定下一策略分支流向的需求。規則引擎同樣支持外部系統的請求響應,提供權限允許范圍內的各種服務。

規則引擎作為客戶端或服務端應支持多種協議的配置,比如soap協議、socket協議、webservice,還可以調用外部系統執行相關代碼如SAS、SQL、bat、shell、produce等,并接收響應結果進行計算。

4 結論

規則引擎是使用在大規模復雜業務場景下必備的業務框架技術[8-10],使用這門技術搭建起來的系統能夠很好的梳理清楚業務邏輯,并且能夠方便快速的修改業務邏輯,甚至可以做到需求的實時生效。業務系統中引入規則引擎具有如下優勢:

(1)分離商業決策者的商業決策邏輯和應用開發者的技術決策。

(2)實現業務規則的集中管理,從而快速響應業務系統的需求變更,加強業務處理的透明度。

(3)能有效的提高實現復雜邏輯代碼的可維護性。

(4)應付特殊狀況,將客戶一開始沒有提到的業務邏輯考慮在內。

(5)符合組織對敏捷或迭代開發過程的使用,提高軟件系統的柔性和適應性。

(6)業務規則能作為知識被保留下來,不會隨著關鍵人員的流失而流失。

(7)簡化業務系統架構,優化業務應用,減少業務系統中對IT人員的依賴程度。

(8)降低系統的維護成本,方便系統的整合,減少編寫硬代碼業務規則的成本和風險。

[1] 陶曉俊, 朱敏. 基于規則引擎的企業服務開發模式[M]. 計算機技術與發展, 2008, 18(2): 115-118.

[2] 朱思遠, 張雷. 一種分布式規則引擎的實現方法[J]. 軟件, 2015, 36(12): 158-161.

[3] 王旭峰, 王智立. 基于SOA 的業務動態定制的網絡管理系統設計與實現[J]. 軟件, 2015, 36(1): 100-103.

[4] Managing the Business Rules Engine - How to Build a Business Rules Engine - 22 [J]. How to Build A Business Rules Engine, 2004: 1-7.

[5] Wiley Ian Graham.Business Rules Management and Service Oriented Architecture[J]. Whitepaper, 2005

[6] 趙力衡. 基于決策樹的手寫數字識別的應用研究[J]. 軟件, 201, 39(3): 90-94.

[7] 郭晉舟, 詹舒波. 呼叫中心業務管理系統的研究與設計[J].軟件, 2016, 37(2): 54-57.

[8] (美)伽瑪著, 李英軍, 等譯. 設計模式[M]. 機械工業出版社, 2000.

[9] 程杰. 大話設計模式[M]. 清華大學出版社, 2007.

[10] (美)迪達著, 李宏東, 等譯. 模式分類(原書第2版)[M]. 機械工業出版社, 2003-09.

The Research on Intelligent Rule Engine Technology

ZHAO Zhi-wei

(Transwarp Zhongzhi Technology (Beijing) Inc. Beijing 100044)

In today's rapidly changing market, efficient business decisions can bring important competitive advantages. The effective rule management of the business is a management method for the decision makers to adopt the decision-making pattern suitable for the enterprise through the formulation of rules and to achieve the management of the enterprise. This paper elaborates the background of the requirements generated by the rule engine, and introduces the definition and implementation principle of the rule engine in detail. The configuration principles of business rule definition, decision matrix and decision tree are described. And how the rules engine can effectively test and invoke when interacting with an external business system.

Rule engine; Business rules; Controller; Decision matrix; Decision tree; Logic check

TP319

J

10.3969/j.issn.1003-6970.2018.08.014

趙志偉(1982-),男,高級工程師,主要研究方向:內部評級系統、大數據、人工智能、云計算。

本文著錄格式:趙志偉. 智能化規則引擎技術研究[J]. 軟件,2018,39(8):65-69

猜你喜歡
引擎規則用戶
撐竿跳規則的制定
數獨的規則和演變
讓規則不規則
Coco薇(2017年11期)2018-01-03 20:59:57
藍谷: “涉藍”新引擎
商周刊(2017年22期)2017-11-09 05:08:31
TPP反腐敗規則對我國的啟示
關注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
關注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
關注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
無形的引擎
河南電力(2015年5期)2015-06-08 06:01:46
基于Cocos2d引擎的PuzzleGame開發
主站蜘蛛池模板: 波多野结衣国产精品| 欧美日韩国产在线播放| 无码一区二区波多野结衣播放搜索| 亚洲欧美一区二区三区麻豆| 精品久久久久久成人AV| 在线观看国产精美视频| 2020最新国产精品视频| 亚洲精品你懂的| 欧美日韩高清在线| 亚洲综合婷婷激情| 亚洲欧美在线综合图区| 亚洲精品成人片在线观看 | 午夜综合网| 日本免费一区视频| 午夜三级在线| 久久亚洲综合伊人| 亚洲黄色片免费看| 成人午夜精品一级毛片| 婷婷中文在线| 中日韩欧亚无码视频| 色偷偷男人的天堂亚洲av| 亚洲第一精品福利| 波多野结衣一级毛片| 91欧美在线| 成人精品亚洲| 久久夜色精品| 又大又硬又爽免费视频| 国产精品视频系列专区| 另类欧美日韩| 国产亚洲欧美日韩在线观看一区二区| 国产尤物在线播放| 成人永久免费A∨一级在线播放| 国产精品视频免费网站| 综合色区亚洲熟妇在线| 欧美三级不卡在线观看视频| 亚洲日韩第九十九页| 亚洲人妖在线| 日韩一区二区三免费高清| 精品国产自在在线在线观看| 日本不卡在线播放| 亚洲一区二区成人| 伊人网址在线| 成人午夜天| 极品私人尤物在线精品首页| 欧美一级夜夜爽www| 欧美中出一区二区| 国产精品女熟高潮视频| AⅤ色综合久久天堂AV色综合| a色毛片免费视频| 一级毛片免费不卡在线| 国产精品爆乳99久久| 欧美www在线观看| 久久久久人妻一区精品| 亚洲成人免费在线| 国产高清无码麻豆精品| 欧美激情综合| A级毛片无码久久精品免费| 欧美国产在线看| 91免费片| 亚洲久悠悠色悠在线播放| 丁香六月激情综合| 国产午夜人做人免费视频中文| 一区二区三区四区在线| 精品無碼一區在線觀看 | 黄色网址免费在线| 8090午夜无码专区| 中文字幕在线欧美| 怡红院美国分院一区二区| 中文字幕啪啪| 国产熟女一级毛片| 国产免费网址| 成人在线综合| 精品少妇人妻无码久久| 国产一区二区三区精品久久呦| 欧美成人亚洲综合精品欧美激情| 日本一区中文字幕最新在线| 国产凹凸视频在线观看| 国产成人久视频免费| 青青草国产免费国产| 国产成人精品视频一区视频二区| 久草视频福利在线观看| 全部免费毛片免费播放|