天天看點

适配多場景的資質中心設計與實作

作者:閃念基因

一、前言

微盟作為 SaaS 服務商,為各行各業的商戶提供數字化解決方案。基于國家法律法規及一些行業、平台的規範要求,商戶在開展商業活動時需要取得相關資質的認證。不同行業、不同平台之間的認證要求并不相同,是以我們需要一套通用、可擴充、接入友善的資質中心方案,來應對這一業務問題。

二、背景

随着微盟 WOS 新商業作業系統上線對于資質的訴求發生了變化,原來單個應用下資料互相隔離,已經不再适用,我們需要在業務上足夠靈活互相打通,既支援不同應用,租戶,店鋪,節點,個人,甚至商品多元度的資質需求,也需要在不同次元的資質安全和稽核流程靈活多變,我們需要一個服務來收攏這些通用能力并提供給上層服務使用。

三、常用的資質業務模型

模型介紹:在正常的 SaaS 系統中稽核子產品一般則重于資質的資訊留存與相關安全的處理及稽核狀态的流轉。資質資訊以商戶次元進行隔離,資質所需的内容通過字段進行預先定義。資質相關的業務開展圍繞“資質資訊詳情表”來進行開展,相關的安全與稽核強依賴具體的字段名,存在一定的寫死。

優點:業務場景清晰,資料統計友善,模型和功能一目了然,開發難度低,了解簡單,适合獨立的業務場景。

缺點:不夠靈活,不支援複雜業務場景,每多一個認證能力或者認證資料就需要新增表或者增加字段,複用性低,業務支援成本高,且擴充困難。

四、微盟資質中心系統設計介紹

1.需要解決的問題

随着業務發展,資質的使用場景越來越豐富,原來面向單一場景(店鋪資質)的能力已不滿足基本訴求。

為了更好的适配多場景下資質的使用,減少增加使用場景所帶來的開發成本,需要針對原先固定的資質模型進行改造,同時需要提供一定擴充性,實作功能的可插拔。

2.模型改造

适配多場景的資質中心設計與實作

以上為新模型的核心庫表設計,在原有的基礎上抽象出了場景模闆配置,同時針對模闆字段預設了多種類型政策,如:敏感字段加密、圖檔字段添加水印、風控接入等等。

當有更多的資質使用場景接入時,可按需進行模闆定義,并根據實際業務需求進行模闆字段的預設。資質中心的整體實作不與業務場景做強耦合,大大降低定制所帶來的擴充局限性。

3.架構設計

4.設計實作

資質中心設計之初模型上就考慮支援業務上高擴充,能力上高可用,功能上可插拔,和 SaaS下多靈活的使用場景,總結就是高内聚、低耦合、明接口、通用性。

4.1 擴充性

業務擴充性方面采用橫縱結合的形式,主體為橫表,店鋪資質的通用主體資訊都在主表中,資質詳細資訊這種多變的資訊放到縱表,後續擴充也是店鋪詳情下增加一列資料資料。

适配多場景的資質中心設計與實作

4.2 功能可插拔

功能可插拔,通過在主表定義業務字段來實作不同功能的插拔,比如業務方的資質認證場景中主流程是要走多次稽核,甚至部分稽核流程不在資質中心,可以通過這些插拔字段動态接入,無需代碼開發,接入成本小。

适配多場景的資質中心設計與實作

4.3 支援多場景

微盟 SaaS 背景下不同應用的資質場景是不一樣的,認證内容,認證标準,業務場景,這些不同業務方是不一樣的,甚至同一個接入方也會改變,是以我們首先在支援資料次元上盡可能包含所有場景,同時把資質能力抽成獨立子產品通過定義的場景模版去表達使用哪些能力。

适配多場景的資質中心設計與實作

4.4 功能高可用

将能力抽成單個小子產品通過政策模式去定義和引用,既讓能力可以獨立擴張和重定義,也可以動态的去增加,對主流程無影響,能力間獨立維護也確定不會快速腐化。

适配多場景的資質中心設計與實作

Factory 初始化相關能力資源,通過實作方法 executorAdopter 來定義資質流程中使用哪些能力,隻需在場景模版中定義需要實作的能力,相關資質執行送出或查詢過程中自動執行相關代碼邏輯,做到高可用,可擴充。

4.5 資質次元泛化設計

SaaS 場景下,資質對接的業務方業務場景跨度大,場景也是多變,在資料次元上,有的需要支援到商品級,有門店下還有的在店鋪下,不同次元的訴求促使我們在資質次元上泛化。

适配多場景的資質中心設計與實作

五、遠期規劃

1.資質模闆配置界面化

目前資質的核心能力實作已完整,但面向營運的配置管理缺少界面化的互動應用,現階段還是通過制定的 SOP 進行線下人工配置的方式來完成的。為了未來可以更友好的面向營運開放配置能力,同時為了減少線下人工對接所帶來的風險與溝通成本,計劃後續補充模闆配置的營運管理背景。

2.增加稽核規則

現下的稽核規則單一:自動稽核不通過則攔截資質的送出,人工稽核不通過則攔截認證的狀态翻轉。

人工稽核:營運人員根據送出的資質進行資訊人工稽核,根據結果進行狀态翻轉。

自動稽核:三要素稽核、人臉識别。

遠期稽核規則的展望:

人工稽核複雜化:人工的稽核存在多級稽核,如初審、複審等,或者存在多人聯合稽核等,且不同的資質場景對稽核的訴求還各不一樣。

自動稽核差異化:不同的模闆需要的自動稽核内容存在差異。

為了可以動态适配此類訴求,針對稽核抽象出規則配置,代碼隻需對規則進行政策實作,當資質模闆進行配置時同步将稽核規則進行差異化配置,無需做定制改造即可支援不同的場景不同的處理政策。

遠期的業務架構圖:

六、結語

資質中心的設計和實作過程伴随着驚喜和艱難,在設計之初的模型建構和後續落地過程中出現部分情況邊界定義不清晰,對于應用次元的資質使用欠缺走了些彎路。後續将更多的考慮相關通用能力的搭建,以及基于管理平台提供更便捷的場景模版定義,提高資質接入和維護的效率。

作者:鄧翰

來源:微信公衆号:微盟技術中心

出處:https://mp.weixin.qq.com/s/ZWhYgFpJzssN_sOu9ZOvvw

繼續閱讀