百度信譽認證中臺架構(gòu)解析
點擊上方“服務(wù)端思維”,選擇“設(shè)為星標(biāo)”
回復(fù)”669“獲取獨家整理的精選資料集
回復(fù)”加群“加入全國服務(wù)端高端社群「后端圈」
導(dǎo)讀:百度信譽認證是以人工智能、企業(yè)大數(shù)據(jù)等技術(shù)能力為基礎(chǔ),搭建的面向企業(yè)、機構(gòu)以及個人等主體的核驗系統(tǒng)化服務(wù)平臺,旨在為不同行業(yè)和業(yè)務(wù)領(lǐng)域提供身份識別、反欺詐、信息核驗等系列產(chǎn)品能力及一體化解決方案。百度信譽認證,涵蓋風(fēng)控與增信兩大核心服務(wù),主要為信息分發(fā)平臺、互動文娛平臺、行業(yè)垂類、知識垂類、商業(yè)產(chǎn)品等提供合規(guī)的客戶與可信的內(nèi)容。其業(yè)務(wù)目標(biāo)在于:圍繞生產(chǎn)者及其提供的內(nèi)容和服務(wù),構(gòu)建百度信譽認證生態(tài),讓用戶放心的在百度獲取信息和服務(wù)。
全文5460字,預(yù)計閱讀時間 12分鐘。
一、背景
百度信譽認證的業(yè)務(wù)目標(biāo)在于:圍繞生產(chǎn)者及其提供的內(nèi)容和服務(wù),構(gòu)建百度信譽認證生態(tài),讓用戶放心的在百度獲取信息和服務(wù)。其中:風(fēng)控能力,通過提供準(zhǔn)入門檻,降低業(yè)務(wù)風(fēng)險,解決的是“它是誰,出了問題該找誰”的業(yè)務(wù)痛點;增信能力,則通過增信背書,提升信任度,比如:通過個人用戶身份職業(yè)認證、機構(gòu)用戶官方認證來認證生產(chǎn)者的身份職業(yè)社會位置,通過興趣愛好者認證來認證生產(chǎn)者提供內(nèi)容的領(lǐng)域?qū)I(yè)性。

圖(1)
二、業(yè)務(wù)架構(gòu)全景
百度信譽認證是以人工智能、企業(yè)大數(shù)據(jù)等技術(shù)能力為基礎(chǔ),搭建的面向企業(yè)、機構(gòu)以及個人等主體的核驗系統(tǒng)化服務(wù)平臺,旨在為不同行業(yè)和業(yè)務(wù)領(lǐng)域提供身份識別、反欺詐、信息核驗等系列產(chǎn)品能力及一體化解決方案。通過對生產(chǎn)者客觀身份,所在領(lǐng)域,生產(chǎn)能力,影響力等維度判斷,輸出認證結(jié)果,為業(yè)務(wù)提供準(zhǔn)入篩選等風(fēng)控作用。除此之外,通過認證信息的對外披露,為內(nèi)容和服務(wù)的提供者提升可信度,輔助用戶的選擇和決策。它的總體架構(gòu)如下圖(2)所示:

圖(2)
(1)接入層:通過統(tǒng)一認證標(biāo)識,實現(xiàn)屏蔽業(yè)務(wù)方的多帳戶體系對系統(tǒng)的影響;提供統(tǒng)一的系統(tǒng)鑒權(quán)能力,最大粒度減少業(yè)務(wù)方在接入層的實現(xiàn)成本;
(2)認證方案:為滿足業(yè)務(wù)方的不同認證訴求,我們提供了多種類的認證方案供業(yè)務(wù)方選擇,如資質(zhì)類、行業(yè)類、網(wǎng)站類等;如果已有的認證方案不能滿足業(yè)務(wù)方訴求,則可以通過更小粒度的認證能力進行重新組合,組合成新的認證方案來服務(wù)于業(yè)務(wù)方;
(3)能力地圖:認證中臺歷經(jīng)多年,沉淀了很多認證能力,這些能力既可以獨立為企業(yè)或個人提供認證服務(wù),也可以通過流程引擎的配置來組成為某種復(fù)雜的認證方案來提供服務(wù)。隨著網(wǎng)絡(luò)科技和信息的不斷變化,認證中臺的能力地圖也一直在不斷豐富;
(4)共享技術(shù):在能力地圖不斷豐富的同時,認證中臺在技術(shù)上也在持續(xù)沉淀出各種技術(shù)組件,這些技術(shù)組件的復(fù)用可以使認證中臺在接入業(yè)務(wù)時的開發(fā)效率大大提升;
(5)最下層是百度的大數(shù)據(jù)和各種基礎(chǔ)架構(gòu)(如BOS、BDRP等)是認證中臺搭建的基石。
百度信譽認證產(chǎn)品詳解如下圖(3)所示:
風(fēng)控能力,細分為資質(zhì)認證、實名認證、實地認證等,認證方式豐富多樣,可以滿足業(yè)務(wù)方業(yè)務(wù)準(zhǔn)入需求;
增信能力,則涵蓋身份職業(yè)認證、官方認證、興趣領(lǐng)域認證、V認證等,認證通過后將進行認證結(jié)果展示。

圖(3)
三、認證中臺技術(shù)架構(gòu)
為了滿足業(yè)務(wù)上持續(xù)、快速的發(fā)展需求,提升各業(yè)務(wù)方的接入效率,研發(fā)團隊將認證平臺的技術(shù)架構(gòu)全面中臺化,在2019年完成了認證中臺一期的搭建,沉淀了越來越豐富的認證能力和認證方案。總體技術(shù)架構(gòu)如圖(4)所示:

圖(4)
(1)能力管理:目標(biāo)是基于現(xiàn)有業(yè)務(wù)、以及未來可能的業(yè)務(wù)進行服務(wù)抽象和業(yè)務(wù)剝離,包含能力標(biāo)準(zhǔn)制定、能力的注冊和發(fā)現(xiàn)、能力的管控和度量等。目前已沉淀認證能力包括:對公認證、資質(zhì)認證、身份職業(yè)認證等。
(2)方案管理:能力是基礎(chǔ),認證方案才是我們最終提供給前臺業(yè)務(wù)的載體。方案建設(shè)的思路是對認證的業(yè)務(wù)進行場景化方案的沉淀,在這一層實現(xiàn)能力的編排、方案的自動化自建等。目前已提供機構(gòu)類的資質(zhì)認證方案、電子營業(yè)執(zhí)照認證方案等、個人類實名認證方案等;
(3)共享數(shù)據(jù):實現(xiàn)認證數(shù)據(jù)和結(jié)果的互認互通,減少業(yè)務(wù)方和中臺方的重復(fù)開發(fā),實現(xiàn)一次認證,多處復(fù)用;
(4)可視化的中控平臺:當(dāng)前是由移動開發(fā)者中心來承接。作為中臺能力的門戶,承載方案介紹、能力視圖等功能,也是業(yè)務(wù)接入入口,業(yè)務(wù)方需在此申請具體的服務(wù)接口、配置QPS等;
(5)中臺能夠?qū)Ψ?wù)進行分流、限流甚至是降級,避免不同級別的業(yè)務(wù)間互相造成影響;流量監(jiān)控可以實時的知道各種的流量情況,比如消息流量,接口調(diào)用流量等;服務(wù)的調(diào)用,很可能因為網(wǎng)絡(luò)或宕機之類的原因造成數(shù)據(jù)不一致,通過業(yè)務(wù)一致性平臺,可以提供運營工具來配置想要監(jiān)控或定位哪個業(yè)務(wù)的哪些數(shù)據(jù)的一致性,這些手段的目標(biāo)都是要確保中臺的穩(wěn)定性達到標(biāo)準(zhǔn)或更高。
四、核心認證能力介紹
4.1 統(tǒng)一認證
2020年,跟隨公司戰(zhàn)略腳步,MEG所有內(nèi)容生產(chǎn)者要實現(xiàn)帳號打通,內(nèi)容進入統(tǒng)一數(shù)據(jù)流分發(fā), B端統(tǒng)一百家號品牌。包括號體系統(tǒng)一(百家號)、昵稱統(tǒng)一、認證統(tǒng)一、主頁統(tǒng)一及數(shù)據(jù)流統(tǒng)一。
百度信譽為所有B端內(nèi)容生產(chǎn)者提供統(tǒng)一認證服務(wù),一期為各業(yè)務(wù)提供通用認證服務(wù),包括實名認證、身份職業(yè)認證、官方認證、興趣領(lǐng)域認證、加V認證。
在此背景下,認證中臺研發(fā)團隊考慮,可以為所有的B端業(yè)務(wù)方提供一套統(tǒng)一的認證解決方案,目標(biāo)是盡量減少各業(yè)務(wù)方的接入成本、各研發(fā)團隊間的聯(lián)調(diào)成本,實現(xiàn)快速上線。最終,統(tǒng)一認證架構(gòu)如下圖(5)所示:

圖(5)
(1)數(shù)據(jù)獲取與轉(zhuǎn)換:每一種認證服務(wù)(比如身份職業(yè)認證、興趣領(lǐng)域認證等)的數(shù)據(jù)源均來源于各業(yè)務(wù)方,我們提供多種數(shù)據(jù)接入方式(同步拉取、離線拉取、DTS等),盡量不讓業(yè)務(wù)方有多余的開發(fā)工作。我們會把每一個業(yè)務(wù)方的數(shù)據(jù)進行預(yù)處理(處理規(guī)則配置化)。
(2)核心計算邏輯處理:它的工作是要把元數(shù)據(jù)(比如 1、2、3)按照配置好的規(guī)則換算成每一個計算維度(如B、C、D)的值,再根據(jù)每一種認證服務(wù)的準(zhǔn)入和釋出規(guī)則(比如 B>C>D)來進行結(jié)果聚合,來計算出當(dāng)前是否符合準(zhǔn)入或釋出。
(3)統(tǒng)一巡查:對于那些已經(jīng)完成認證服務(wù)的業(yè)務(wù)方的用戶來說,它的認證結(jié)果不是一成不變的,如果它已經(jīng)符合釋出規(guī)則,則要將它及時進行釋出。統(tǒng)一巡查的工作就是要實現(xiàn)巡查的快速、準(zhǔn)確,設(shè)置熔斷機制和下線機制,產(chǎn)出釋出報表和郵件。
(4)數(shù)據(jù)變更處理:認證結(jié)果是通過bigpipe進行異步下發(fā),業(yè)務(wù)方只需訂閱對應(yīng)的bp消息來完成結(jié)果接收。
當(dāng)前,統(tǒng)一認證服務(wù)已覆蓋百度B端的開號準(zhǔn)入、獲取權(quán)益等業(yè)務(wù)場景,提供多元化認證服務(wù),并在百家號、好看、知道、汽車等業(yè)務(wù)落地。
4.2 資質(zhì)認證中心
認證中臺能力的孵化沉淀,第一個也是最重要的一個就是面向資質(zhì)的資質(zhì)認證中心。資質(zhì)認證是認證中臺中最重要,使用最多,樣式最多變,業(yè)務(wù)邏輯最復(fù)雜的認證能力;大約3/4相關(guān)的認證能力,都是與資質(zhì)認證有關(guān)。僅一個醫(yī)療項目,涉及到的行業(yè)資質(zhì)就超過50項。
資質(zhì)類認證過程為:1. 認證中臺為業(yè)務(wù)方提供各種類型的資質(zhì)的提交功能;2. 業(yè)務(wù)方提交內(nèi)容后由認證中臺完成機審/人審;3. 認證結(jié)果同步至業(yè)務(wù)方。認證過程比較簡單,但復(fù)雜之處在于:隨著產(chǎn)品線接入的越來越多,業(yè)務(wù)的差異化越發(fā)明顯,各業(yè)務(wù)的提交模式,交互方式都有所不同;并且這些變化因子之間又存在著復(fù)雜的交互關(guān)系。作為中臺我們不希望為簡單功能做過多定制化開發(fā),既浪費時間和人力,也不符合中臺發(fā)展方向。
那么問題就是:如何滿足這些業(yè)務(wù)需求?如何破解人力的不足?如何解決研發(fā)人員業(yè)務(wù)理解成本的負擔(dān)?以及如何讓用戶通過更高效,體驗更好的方式進行認證。
就像軟件工程經(jīng)典著作《人月神話》中所說的,在解決軟件工程的的根本問題上,沒有銀彈。一套最合適的架構(gòu)設(shè)計和對架構(gòu)的實現(xiàn),才是破解問題的關(guān)鍵。
既然定制需求越來越多,那么是否可以抽象出最小粒度模板?是否可以通過快速、靈活組裝這些模板以實現(xiàn)一個提交模塊?就像玩七巧板玩具一樣。即:產(chǎn)品方案 = 不同認證能力的組合+復(fù)用。
設(shè)計思路如下圖(6)所示:

圖(6)
(1)數(shù)據(jù)抽象與流程抽象:我們把認證數(shù)據(jù)抽象為最小粒度,比如:營業(yè)執(zhí)照是一個完整的認證項,這個認證項包括三個字段:編號、照片、有效期;每一個字段對應(yīng)某一種數(shù)據(jù)類型,比如編號是文本類型;同時可以為每一個字段在該類型上設(shè)置屬性,比如文本類型的編號有最小和最長的長度限制。
(2)數(shù)據(jù)復(fù)用與自動渲染:當(dāng)某一用戶在某一個業(yè)務(wù)里已經(jīng)提交過某個認證項的數(shù)據(jù)時,當(dāng)另外一個業(yè)務(wù)有相同認證項時,無需重復(fù)定義認證項、重復(fù)提交,既節(jié)省開發(fā)時間,也提升用戶體驗。自動渲染是指在(1)中我們將認證項定義好字段、類型、屬性后,前端會根據(jù)約定自動生成一個對應(yīng)的提交模板,無需再定制化進行前端的開發(fā);
(3)平臺化與自助管理:所有的認證項的定義、組合、設(shè)置,完全可以由產(chǎn)品經(jīng)理同學(xué)在平臺上自主完成,自主設(shè)置上下線,全程無需研發(fā)同學(xué)參與。
在此思路的指導(dǎo)下,我們實現(xiàn)了通用資質(zhì)認證平臺。平臺分為三個部分,如下圖(7)所示:

圖(7)
(1)認證項的配置管理模塊:實現(xiàn)認證數(shù)據(jù)統(tǒng)一管理,配置化完成,資質(zhì)提交頁模板自動生成
(2)產(chǎn)品認證邏輯引擎模塊:通過服務(wù)分發(fā),將不同的認證邏輯分發(fā)到不同的服務(wù)處理。在服務(wù)處理過程中,針對通用邏輯,直接走通用的認證流程,對于通用認證不能處理的邏輯,通過實現(xiàn)統(tǒng)一的服務(wù)接口,實現(xiàn)少量的代碼,即可將個性邏輯融入到整個系統(tǒng)中。在認證服務(wù)執(zhí)行的前后,還設(shè)置了不同的監(jiān)聽接口,對于一些復(fù)雜的認證邏輯,通過實現(xiàn)監(jiān)聽接口實現(xiàn)。比如,對于對公賬戶驗證這樣的認證,用戶提交對公信息可以通過通用的數(shù)據(jù)提交檢索邏輯完成,但是信息提交完成后還需要跟百付寶交互,讓百付寶打款,打款的邏輯就可以在后置監(jiān)聽中實現(xiàn)??傊?,通過接口,實現(xiàn)整體框架的統(tǒng)一性;
(3)通用服務(wù)模塊:抽取了共用邏輯,實現(xiàn)數(shù)據(jù)接口模板化,減少重復(fù)開發(fā)
認證內(nèi)容的自動化生成,本質(zhì)上是一個面向抽象過程的系統(tǒng)的設(shè)計;由以往的面向需求開發(fā),變成面向角色開發(fā)。系統(tǒng)的Usercase從面向用戶擴展為:產(chǎn)品設(shè)計師,UI交互設(shè)計師,數(shù)據(jù)模版設(shè)計者,審核模版設(shè)計者,觸發(fā)器規(guī)則設(shè)計者,巡查項規(guī)則設(shè)計者,最后才面向用戶。這些角色在資質(zhì)中心通過組合的腳手架,可以快速建立起一個資質(zhì)認證產(chǎn)品。
4.3 流程引擎
有了這些腳手架搭建出來的各種解決方案。并不能直接換成可運行的系統(tǒng)。對于研發(fā)人員來說,需要在知識儲備中,保存大量有關(guān)業(yè)務(wù)流程的內(nèi)容,在很多項目中,流程問題往往占據(jù)軟件問題的多數(shù)。如何把中臺開發(fā)者從業(yè)務(wù)理解的知識海洋中解脫出來。于是我們設(shè)計了這樣一套工作流引擎,來實現(xiàn)認證能力的編排。引擎的核心構(gòu)成是決策節(jié)點和路由器,流程配置中心以及插件容器。
對于流程設(shè)計者的建模方式為:1.梳理->2.設(shè)計建?!?.模擬。引擎運行在ODP擴展上,面向phper開發(fā)者更加友好,基于zk做配置服務(wù),可以在運行時做流程升級和下發(fā);節(jié)點預(yù)留同步+異步觸發(fā)器,實現(xiàn)多實例協(xié)同執(zhí)行。
流程引擎的設(shè)計思路如下圖(8)所示:

圖(8)
(1)每一個服務(wù)都是一個獨立組件,可單獨開發(fā)和部署。
(2)支持普通節(jié)點、決策節(jié)點、聚合節(jié)點等多種節(jié)點類型,以滿足業(yè)務(wù)的各種需求;
(2)通過引擎的自動流轉(zhuǎn)來實現(xiàn)一個完整的認證解決方案,減少過多業(yè)務(wù)邏輯代碼的耦合。
4.4 智能化認證
從2017年開始,隨著內(nèi)容生態(tài)的客戶規(guī)模爆發(fā)式增長,我們意識到現(xiàn)行的認證方案必將成為制約業(yè)務(wù)發(fā)展的瓶頸;我們開始嘗試通過AI的手段來創(chuàng)新認證方案;當(dāng)時用paddlepaddle上跑分類模型,做OCR識別文字內(nèi)容。當(dāng)時正值熊掌號品牌快速建設(shè)期,我們將拋出來的分別識別模型,應(yīng)用在熊掌號的機審之上,一定程度上提高了審核的效率,降低了審核的工作量。
對于用戶來說,申請方式仍然沒有發(fā)生質(zhì)的變化,以上是提交資質(zhì),等待人工審核結(jié)果。同時,資質(zhì)類別支持的太少,泛化能力有限。
研發(fā)團隊進一步分析,認證的本質(zhì)是什么?簡單來說認證就是對經(jīng)營資質(zhì),經(jīng)營人員,經(jīng)營場所的信息進行收集,鑒別真?zhèn)?。在之前,我們?yōu)榇碎_發(fā)了大量mis系統(tǒng)。這些認證過程,在本質(zhì)上是有明確的規(guī)則可循,可以作為AI的應(yīng)用方向。為了實現(xiàn)多樣復(fù)雜的認證信息的采集,我們需要認證端具備手機APP一樣的原生能力,并且需要具備較好的遷移能力。在我廠小程序還在內(nèi)測階段我們便開發(fā)出第一版基于小程序的智能認證解決方案。
由于印刷、光線、遮擋等實際原因;最開始我們自己的識別模型廠內(nèi)IDL資質(zhì)模版識別,以及對比廠外的識別模型,在生產(chǎn)環(huán)境下最常見的資質(zhì)整體召回率都不足80%,無法達到落地推廣能力要求。在分析無法召回的badcase時,發(fā)現(xiàn)人可以準(zhǔn)確的推斷出來 不清晰的字是什么,是因為知識儲備+推理;雖然我們無法讓機器具備人所具備的知識體系,但是我們可以利用企業(yè)信用大數(shù)據(jù),通過在數(shù)據(jù)上的能力,去補齊在識別度上的短板。

圖(9)
由此,我們進一步推出了資質(zhì)智能認證服務(wù),如圖(10)所示:

圖(10)
資質(zhì)智能認證是認證中臺提供一種基于企業(yè)信用大數(shù)據(jù),圖像識別技術(shù)等提供的常見資質(zhì)的的認證解決方案;從資質(zhì)識別,分類,官方數(shù)據(jù)驗證。在交互上,可提供面向后臺的機審服務(wù)API,面向用戶/客戶的智能認證小程序。
把全量企業(yè)信息在ES中建立索引,將識別的內(nèi)容進行相似度檢索,對相似數(shù)據(jù)再做二次認證,官方比對。整體資質(zhì)準(zhǔn)確率:98%;證照類的認證效率大幅提升,現(xiàn)已經(jīng)在多個產(chǎn)品線里廣泛使用。
五、發(fā)展與思考
未來,在業(yè)務(wù)上,我們將持續(xù)深耕內(nèi)容認證,探索服務(wù)認證,讓用戶在百度獲取的內(nèi)容和服務(wù)更加準(zhǔn)確可信。在技術(shù)上,認證中臺研發(fā)團隊會通過細分認證節(jié)點等方式來提升認證的效率,進一步加大智能機審的能力,減少人工認證成本;在標(biāo)簽覆蓋上會由被動等待用戶申請,變?yōu)橹鲃油诰驖摿τ脩?,從而推進這些用戶進一步成為優(yōu)質(zhì)內(nèi)容生產(chǎn)者,進而為百度貢獻更多更好的優(yōu)質(zhì)內(nèi)容,服務(wù)于網(wǎng)民。
— 本文結(jié)束 —

● 漫談設(shè)計模式在 Spring 框架中的良好實踐
關(guān)注我,回復(fù) 「加群」 加入各種主題討論群。
對「服務(wù)端思維」有期待,請在文末點個在看
喜歡這篇文章,歡迎轉(zhuǎn)發(fā)、分享朋友圈


