在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

什么是流程/規則編排

lhl545545 ? 來源:OSC開源社區 ? 作者:OSC開源社區 ? 2022-09-21 10:04 ? 次閱讀

什么是流程/規則編排?

所謂編排,就是讓已有的節點通過不同的組織方式完成不同的需求 首先,我們需要對既有業務做一定程度的抽象,以一個例子開始:一個簡單的國慶節充值活動: 活動時間 10.1-10.7 充值≥100 元,送 5 元余額 充值≥50 元,送 10 積分,10.5 之后開始

不疊加送, 即充 100 元只送 5 元余額不會疊加再送 10 積分

當充值發生時,我們擁有:充值用戶-uid,充值金額-cost,充值時間-time再有一些制作好的抽象節點,如:

判斷充值≥100 的條件節點 ScoreFlow-100,cost≥100 返回 true,否則返回 false

判斷充值≥50 的條件節點 ScoreFlow-50,cost≥50 返回 true,否則返回 false

發放 5 元余額的結果節點 AmountResult,結果也可以有返回,比如正常發放了返回 true,庫存不足了等原因導致的沒有發放(不是error),可以返回 false

發放 10 元積分的結果節點 PointResult

那么,為什么要編排,如何編排才是最優的?

為什么要編排?

屏蔽代碼影響: 比如編排者只需要知道 AmountResult 是發放余額的節點,然后在適當的位置運行這個節點即可,不需要關心真實的代碼邏輯 提升效率: 結合可視化給非研發人員編排實現業務邏輯,支持動態修改與生效配置,比如充值條件 100 元改成 200,結合可視化工具直接修改,解放研發,提升生產效率

如何編排?

流程圖式編排

acc0697c-3727-11ed-ba43-dac502259ad0.png

腦海里最先出現的編排方式,也是最常見的編排方式

執行樹式編排

When X Then Y

accf851a-3727-11ed-ba43-dac502259ad0.png

以上兩種基本代表了傳統的編排思想,在簡單的例子下,看起來也是非常直觀,但,當變動發生時,尤其是需要靈活調整的場景,他們的表現又如何呢?

變動

①簡單配置修改

充值 100 元改成 80 吧,10 積分變 20 積分吧,時間改成 10.9 號結束吧(微微一笑,畢竟我費了這么大勁,終于體現到價值了!)

②簡單邏輯變動

用戶參與積極性不高啊,去掉不疊加送吧,都送(稍加思索,費幾個腦細胞挪一挪還是可以的,怎么也比改代碼再上線強吧!)

③進階邏輯變動

5元余額不能送太多,設置個庫存100個吧,對了,庫存不足了充100元還是得送10積分的哈(卒… 早知道還不如硬編碼了)

真實線上變動只會更離譜,流程圖式和執行樹式實現的主要缺點在于,牽一發而動全身,改動一個節點需要瞻前顧后,如果考慮不到位,很容易弄錯,現實的活動內容要比例子復雜的多,時間線也是多條,考慮到這,再加上使用學習框架的成本,往往得不償失,到頭來發現還不如硬編碼

那么,有沒有更好的編排邏輯?

ice是如何編排的

ace0adae-3727-11ed-ba43-dac502259ad0.png

如圖,ice使用關系節點作為邏輯傳遞的橋梁,用樹圖方式呈現邏輯

關系節點(邏輯節點)

控制業務流轉,如: AND: 從上到下執行子節點,遇到第一個false中斷并返回false,全部為true則返回true,類似于 Java 的 && ANY: 從上到下執行子節點,遇到第一個True中斷并返回true,全部為false則返回false,類似于 Java 的 || ALL: 從上到下執行所有子節點

葉子節點(業務節點)

真正做事情的節點,如: Flow: 一些條件與規則節點,如ScoreFlow Result: 一些結果性質的節點,如AmountResult,PointResult None: 一些不會干預流程的節點,如下文會介紹到的TimeChangeNone

執行流程

圖中,如果10月4日,充值100元,則執行流程為:

從根節點開始,先執行ANY

充值時間在ANY生效時間內,繼續執行

ANY有兩個子節點,先執行第一個子節點AND

AND有兩個子節點,先執行第一個子節點ScoreFlow-100

ScoreFlow-100判斷并返回true

AND接收到true,繼續向下執行AmountResult

AmountResult發放余額并返回true

AND子節點執行完畢,接收到兩個true,自己也返回true

ANY接收到true,不再繼續執行子節點并返回true

可以看到,之前需要剝離出的時間,已經融合到各個節點上了,把時間配置還給節點,如果沒到執行時間,如發放積分的節點 10月5日之后才生效,那么在 10月5日之前,可以理解為這個節點不存在

變動的解決

對于直接修改節點配置就可以 對于直接把ANY 改成 ALL 即可(疊加送與不疊加送的邏輯在這個節點上,屬于這個節點的邏輯就該由這個節點去解決) 對于由于庫存的不足,相當于沒有給用戶發放,則 AmountResult 返回 false,流程還會繼續向下執行,不用做任何更改 再加一個棘手的問題,當時間線復雜時,測試工作以及測試并發要怎么做?

一個 10月1日開始的活動,一定是在 10月1日之前開發上線完畢,如我在 9月15日要怎么去測試一個10月1日開始的活動?在 ice 中,只需要稍微修改一下:

acf1523a-3727-11ed-ba43-dac502259ad0.png

增加了個子節點TimeChangeNone(用于更改測試環境請求里的充值時間,可以改成任意想要的測試時間)

特性

為什么這么編排呢?為什么這樣就能解決這些變動與問題呢?

其實,就是使用樹形結構解耦,流程圖式和執行樹式實現在改動邏輯的時候,需要瞻前顧后,但是 ice 不需要,ice 的業務邏輯都在本節點上,每一個節點都可以代表單一邏輯,比如我改不疊加送變成疊加送這一邏輯就只限制在那個 ANY 節點邏輯上,只要把它改成我想要的邏輯即可,至于子節點有哪些,不用特別在意,節點之間通過上下文傳遞信息,每個節點執行完的后續流程不需要自己指定

因為自己執行完后的執行流程不再由自己掌控,還可以做到對象級別的復用:

ad0691a4-3727-11ed-ba43-dac502259ad0.png

如圖,參與活動這里用到的 TimeChangeNone,如果現在還有個 H5 頁面需要做呈現,不同的呈現也與時間相關,怎么辦?只需要在呈現活動這里使用同一個節點對象(在ice后臺配置中為同id節點),更改其中一個,另一個也會被更新(因為他們是同一個對象,不存在多個復用節點同步問題),避免了到處修改時間

Code

Talk is cheap. Show me the code…

審核編輯:彭靜
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 編碼
    +關注

    關注

    6

    文章

    959

    瀏覽量

    54969
  • 代碼
    +關注

    關注

    30

    文章

    4836

    瀏覽量

    69119
  • 抽象
    +關注

    關注

    0

    文章

    5

    瀏覽量

    5598

原文標題:編排流程/規則,編排本身也需要很深的邏輯思考!

文章出處:【微信號:OSC開源社區,微信公眾號:OSC開源社區】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    【mBot試用體驗】音樂編排

    最近一個月的考試月,要到大概下周才能解脫。所以論壇工作人員都來催我更帖子了,實在是羞愧。我拿到小車感覺還是很惘然,看了看當初自己申請這個mbot的申請貼才找到方向。當初自己是為了做一個編排舞蹈才申請
    發表于 01-15 01:20

    K8S容器編排的互通測試

    K8S容器編排之NetWorkPolicy官方實例
    發表于 06-06 11:28

    PCB設計流程規則

    PCB設計流程PCB規則設置設計規則的單位跟隨畫布屬性里設置的單位,此處單位是mil。導線線寬最小為10mil;不同網絡元素之間最小間距為8mil;孔外徑為24mil,孔內徑為12mil;線長不做
    發表于 01-11 06:14

    IAR環境如何將數學函式庫編排到sLib保護區

    IAR環境如何將數學函式庫編排到sLib保護區在IAR 環境下,如何將數學函式庫編排到SLIB 保護區?
    發表于 10-20 07:03

    基于規則的RADIUS Server設計與實現

             本文在分析RADIUS 協議原理基礎上,給出了一種基于規則的RADIUS Server 的設計方案和實現策略,規則的引入可以很方便在規則
    發表于 09-14 08:20 ?23次下載

    LCD漢字編排軟件

    LCD漢字編排軟件LCD漢字編排軟件LCD漢字編排軟件LCD漢字編排軟件
    發表于 12-28 14:31 ?7次下載

    PCB設計的規則流程及注意事項介紹

    PCB設計規則、層定義、過孔設置、CAM輸出設置已經作成缺省啟動文件,名稱為Default.stp,網表輸入進來以后,按照設計的實際情況,把電源網絡和地分配給電源層和地層,并設置其它高級規則。在所
    發表于 04-30 12:00 ?5817次閱讀

    基于網絡切片的無線虛擬化帶寬資源編排算法

    為在無線虛擬化環境下進行高效的帶寬資源分配,研究基于增強型移動寬帶(eMBB)與高可靠低時延通寬資源編排問題型網絡,將帶寬資源編排冋題簡化為帶寬資源分配冋題并給出全局對大型網絡,結寬資源編排問題轉化
    發表于 05-25 15:09 ?2次下載

    基于多云網絡架構的應用編排混合部署研究

    基于多云網絡架構的應用編排混合部署研究
    發表于 06-30 15:50 ?4次下載

    AD16_PCB全流程#04——規則設計

    #04——規則設計規則設計#04——規則設計1.間距設置2.線寬設置3.電源線寬設置4.過孔設置5.鋪銅設置6.絲印設置1.間距設置2.線寬設置3.電源線寬設置4.過孔設置5.鋪銅設置6.絲印設置
    發表于 11-06 17:21 ?52次下載
    AD16_PCB全<b class='flag-5'>流程</b>#04——<b class='flag-5'>規則</b>設計

    詳解Xpedition規則驅動設計

    本期Xpedition入門指南進行規則的設置,規則設置貫穿在全流程當中,比如原理圖設計階段就可以進行規則的設計,布局布線階段可詳細設計高速規則
    的頭像 發表于 04-29 13:35 ?1.2w次閱讀

    算力網絡——編排管理關鍵技術

      面對高復雜度的算網環境,以及按需定制、靈活高效的需求特性,在編排管理層需構建一體編排 、融數注智的 “算網大腦”。通過引入一體編排、算力解構、泛在調度等技術,協同調度算網各域資源。同時與AI
    發表于 05-24 16:35 ?1次下載
    算力網絡——<b class='flag-5'>編排</b>管理關鍵技術

    面向UltraScale+的隔離設計流程(IDF)規則/指南

    電子發燒友網站提供《面向UltraScale+的隔離設計流程(IDF)規則/指南.pdf》資料免費下載
    發表于 09-13 11:36 ?0次下載
    面向UltraScale+的隔離設計<b class='flag-5'>流程</b>(IDF)<b class='flag-5'>規則</b>/指南

    Bamboo-pipeline:Python高效流程編排引擎

    Bamboo-pipeline 是藍鯨智云旗下SaaS標準運維的流程編排引擎。其具備以下特點: 多種流程模式 :支持串行、并行,支持子流程,可以根據全局參數自動選擇分支執行,節點失敗處
    的頭像 發表于 10-31 16:39 ?1078次閱讀
    Bamboo-pipeline:Python高效<b class='flag-5'>流程</b><b class='flag-5'>編排</b>引擎

    行云流水線 滿足你對工作流編排的一切幻想~skr

    的核心組成部分,旨在加速軟件交付、提高質量和實現持續改進。流水線的核心是流水線模型,是實現工作流編排,執行的重要基石,一個優秀的流水線模型可以覆蓋用戶更多的實踐場景,按照用戶的所思所想支持編排相應的工作流程,通過模型的分層設計,
    的頭像 發表于 08-05 13:42 ?332次閱讀
    主站蜘蛛池模板: 欧美色图888| 中国videos偷窥 | 欧美激情在线 | 男人的天堂一区二区视频在线观看 | 中国成人免费视频 | 国产在线一区视频 | 国产无套视频在线观看香蕉 | 免费视频一区 | 免费在线一区二区三区 | 国产免费一区二区三区在线 | 91色在线播放 | 国产成人小视频 | 美国三级网 | 丁香狠狠色婷婷久久综合 | 成人黄色免费观看 | 久操视屏| 婷婷丁香久久 | 欧美zo| 欧美成人精品欧美一级乱黄 | 国产在线精品一区免费香蕉 | 久色tv| 男人的天堂在线精品视频 | 唐人社电亚洲一区二区三区 | 四虎影视最新 | 91噜噜噜| 免费精品美女久久久久久久久久 | 天天干天天爱天天操 | 精品成人网 | 天天干国产 | 资源在线www天堂 | 四虎影院免费观看 | 西西人体44renti大胆亚洲 | 六月丁香激情 | 1024毛片 | 激情开心婷婷 | 狠狠操天天 | 天天综合天天干 | 欧美性69| 农村的毛片丨级 | 国产成人精品1024在线 | 国产在线色视频 |