一個(gè)實(shí)用的規(guī)則配置模型
導(dǎo)讀:在系統(tǒng)設(shè)計(jì)中,經(jīng)常會(huì)遇到需要進(jìn)行通用規(guī)則配置的場(chǎng)景,需要基于一些基礎(chǔ)參數(shù)進(jìn)行配置,如類型業(yè)務(wù),城市,金額,風(fēng)險(xiǎn)級(jí)別等,多個(gè)參數(shù)組合配置不同的規(guī)則或策略,常見場(chǎng)景如業(yè)務(wù)預(yù)警、系統(tǒng)分單、資金排隊(duì)、模型配置、卡券分發(fā)等。此時(shí)就需要進(jìn)行通用配置,并且可以隨時(shí)調(diào)整配置的設(shè)計(jì)方式。本文介紹一套比較實(shí)用的規(guī)則配置模型。
通俗地說,規(guī)則配置無非是確定要配什么,怎么找到應(yīng)用對(duì)象,找到后要執(zhí)行什么動(dòng)作,怎么應(yīng)用這幾個(gè)動(dòng)作。整體思路如下:
第一步:要配置什么事件或功能
搞清楚配置的標(biāo)的,就是成功的一半。在做規(guī)則配置前,需要先把要配置的標(biāo)的抽象出來,做成通用配置。如業(yè)務(wù)預(yù)警,需要先把預(yù)警的事件定義出來。系統(tǒng)分單,需要先把功能菜單定義出來。
那么如何抽象標(biāo)準(zhǔn)化事件呢,需要從系統(tǒng)中抽取,如定義事件的開始節(jié)點(diǎn)、結(jié)束節(jié)點(diǎn),或者通過編碼開發(fā),這里不做展開。
配置的第一步,先選擇需要配置的事件或功能。根據(jù)配置需要,事件可做成單選或多選。
第二步:什么樣的單據(jù)需要進(jìn)來—維度配置
配置的目的是落到具體的產(chǎn)品或者單據(jù)上面,而系統(tǒng)中的產(chǎn)品或單據(jù)往往具有多個(gè)屬性,并且要求根據(jù)多個(gè)屬性綜合配置。
維度(屬性)定義:這里需要先將這多個(gè)維度抽象出來,這里需要定義屬性名稱、屬性編號(hào)、屬性值。前提條件是配置標(biāo)的(單據(jù)、產(chǎn)品)具有這些屬性,而且在規(guī)則應(yīng)用的時(shí)點(diǎn)屬性值是明確的。
維度配置:維度可多選,屬性值可多選
多維度交叉,實(shí)際上就是一張多聯(lián)表格,可視化頁面如下圖所示。
(圖片來源google analytics)
第三步:這些標(biāo)的需要執(zhí)行哪些動(dòng)作—?jiǎng)幼髋渲?/strong>
前兩步已經(jīng)將特定類型的標(biāo)的選擇出來了,接下來是對(duì)其設(shè)置動(dòng)作,要它們跑哪個(gè)規(guī)則。常見的動(dòng)作類型包括:應(yīng)用時(shí)效、設(shè)置金額、控制流程調(diào)整、觸發(fā)預(yù)警、觸發(fā)消息推送、風(fēng)險(xiǎn)標(biāo)記等。
動(dòng)作庫:這些動(dòng)作可以通過動(dòng)作庫統(tǒng)一維護(hù),動(dòng)作類型+動(dòng)作值設(shè)置,動(dòng)作需要預(yù)先編碼實(shí)現(xiàn)。
動(dòng)作配置:動(dòng)作可以單個(gè)或多個(gè)組合觸發(fā)。動(dòng)作的表現(xiàn)需要與系統(tǒng)已有的功能聯(lián)動(dòng),如預(yù)警動(dòng)作對(duì)應(yīng)預(yù)警機(jī)制,包括預(yù)警列表、預(yù)警監(jiān)控、預(yù)警解除等。
第四步:哪些規(guī)則優(yōu)先—規(guī)則設(shè)置
一般需要配置規(guī)則啟用狀態(tài)和規(guī)則優(yōu)先級(jí)。
規(guī)則優(yōu)先級(jí):在規(guī)則配置中,往往會(huì)有顆粒度差異,既存在多個(gè)維度交叉的精細(xì)化配置,也存在單維度的通用型配置,如單獨(dú)配置某城市某業(yè)務(wù)類型的規(guī)則,與配置全國(guó)通用型規(guī)則,就是不同的顆粒度。同時(shí)配置的情況下,一個(gè)單據(jù)事件匹配規(guī)則時(shí),就會(huì)匹配到多條規(guī)則。但應(yīng)用上訴求往往是跑一條規(guī)則。這里就需要進(jìn)行優(yōu)先級(jí)設(shè)置。這里有幾種設(shè)置方法。一是設(shè)置規(guī)則匹配邏輯,如復(fù)雜規(guī)則(指維度多的)優(yōu)先;二是直接設(shè)置多個(gè)子規(guī)則的優(yōu)先級(jí),如拖拽排序,從左到右命中一條后停止匹配。后者實(shí)現(xiàn)起來更簡(jiǎn)單快捷。
除了規(guī)則優(yōu)先級(jí)設(shè)置外,還有規(guī)則狀態(tài)設(shè)置,即規(guī)則的啟用禁用。
第五步:規(guī)則監(jiān)控及調(diào)優(yōu)
事件監(jiān)控:
規(guī)則建立并啟用后,那么在對(duì)應(yīng)的事件或者單據(jù)到對(duì)應(yīng)的節(jié)點(diǎn)時(shí),就會(huì)主動(dòng)匹配應(yīng)用哪條規(guī)則,跑出什么樣的結(jié)果。如當(dāng)某業(yè)務(wù)流程做完上一節(jié)點(diǎn)時(shí),此時(shí)需規(guī)定下一節(jié)點(diǎn)在多長(zhǎng)時(shí)限內(nèi)完成。此時(shí)可以建立規(guī)則監(jiān)測(cè)表,觀察每個(gè)事件或單據(jù)匹配到的規(guī)則及運(yùn)行情況,如下圖所示為預(yù)警事件監(jiān)控表。按每個(gè)事件為維度橫向分列對(duì)應(yīng)事件記錄。
數(shù)據(jù)面板:
居于規(guī)則運(yùn)行的結(jié)果,通過可視化面板的方式展示,可從宏觀周期尺度上觀察規(guī)則運(yùn)行的結(jié)果,并對(duì)具體業(yè)務(wù)進(jìn)行效果調(diào)優(yōu)。如居于數(shù)據(jù)面板長(zhǎng)周期觀察,發(fā)現(xiàn)某城市的某業(yè)務(wù)經(jīng)常無法在規(guī)定的時(shí)限內(nèi)完成,此時(shí)就可以人工介入了解實(shí)際情況,分析問題原因,看是否需要調(diào)整規(guī)則參數(shù)。
總結(jié):
至此,整個(gè)規(guī)則配置及應(yīng)用鏈路就介紹完啦。其實(shí)整個(gè)配置并不復(fù)雜,核心思路是找到定義好配置標(biāo)的,找到它并給它配置對(duì)應(yīng)的運(yùn)行規(guī)則。實(shí)際應(yīng)用中,不同場(chǎng)景需要用到的配置維度及顆粒度不同,根據(jù)實(shí)際需要取舍即可。功能是為了實(shí)現(xiàn)業(yè)務(wù)目的而做,先厘清業(yè)務(wù)場(chǎng)景再進(jìn)行場(chǎng)景設(shè)計(jì)。個(gè)人經(jīng)驗(yàn)總結(jié),希望能幫到大家。
本文由 @摘星 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)許可,禁止轉(zhuǎn)載。
題圖來自Unsplash,基于 CC0 協(xié)議
在線考試系統(tǒng)
可以加微信不,了解下具體設(shè)計(jì)
確實(shí)是的,在系統(tǒng)設(shè)計(jì)中,經(jīng)常會(huì)遇到需要進(jìn)行通用規(guī)則配置的場(chǎng)景,感謝老師的分享??!步驟很詳細(xì)~