賬號體系(1):賬號合并/打通的區(qū)分及處理

10 評論 23186 瀏覽 197 收藏 17 分鐘

賬號體系是平臺的底層系統(tǒng),在此基礎(chǔ)上,用戶行為、業(yè)務(wù)發(fā)展等因素會引發(fā)賬號間交互的需求。

賬戶間的交互有“合并”“打通”“換綁”等方式,其中“合并”與“打通”這倆概念極易混淆,本文將對這兩種賬戶交互進行概念區(qū)分及處理方式的講解。

一、合并與打通的區(qū)分

這部分橘子將會以下圖為大綱進行講解:

1.賬號合并

(1)概念

賬號合并是指一個系統(tǒng)內(nèi),一個用戶的多個賬號合并成一個賬號。

賬號系統(tǒng)是為用戶所做,賬號即代表用戶身份。在一個系統(tǒng)內(nèi)部,用戶本人為賬號的持有者,所以對多個賬號的合并只能由賬號持有者本人發(fā)起。

因此賬號合并需要從用戶的維度思考,合并結(jié)果為一個用戶在系統(tǒng)內(nèi)的多個用戶身份,合并為一個用戶身份。

(2)業(yè)務(wù)場景

合并前的多個賬號,可以是相同類型的,也可以是不同類型的。

在此,先對“類型”進行簡單定義:注冊方式相同的賬號,視為相同類型的賬號。

一個系統(tǒng)內(nèi),相同類型的賬號合并:

e.g:游戲中,同一用戶用兩個手機號注冊了大小號。希望將其合并為一個賬號。

這些賬號是在同一個游戲內(nèi),通過相同的方式“手機號注冊”,用不同的手機號注冊的賬號,所以為相同類型的賬號合并。

一個系統(tǒng)內(nèi),不同類型的賬號合并:

e.g:一個平臺內(nèi)有手機號、微信、微博等多個注冊入口,導(dǎo)致一個用戶有多個賬號,希望將這些賬號合并。

手機號、微信、微博等賬號是通過不同的注冊方式生成的,所以為不同類型的賬號合并。

(3)目的

賬號合并的重點在“并”,所以賬號合并希望達到的效果:

賬號“合n為1”:多個賬號聚合后生成一個主體賬號,一個用戶只有“一個”主體賬號代表其用戶身份。

數(shù)據(jù)取并集:合并后主體賬號的數(shù)據(jù),為所有賬號數(shù)據(jù)資料的累加并集。

在上面相同類型的賬號合并的案例中:

一個游戲用戶希望將小號合并入大號,每個賬號都有10枚金幣。

則最終的合并結(jié)果:大號為主體賬號,數(shù)據(jù)為兩個賬號的累加,金幣為10*2=20枚,小號注銷無法再次使用。

不同類型賬號合并案例中:

一個用戶的手機號、微信、微博賬號要進行合并,系統(tǒng)定義的主體賬號為手機號,每個賬號都有10個收藏店鋪。

則最終的合并結(jié)果:微信賬號、微博賬號作為子賬號綁定在手機號上,微信賬號、微博賬號的數(shù)據(jù)并入手機賬號中,收藏店鋪為10*3=30個。

通過任何賬號登錄,調(diào)用的都是所關(guān)聯(lián)的主體賬號的信息。

2. 賬號打通

(1)概念

賬號打通是指同一個用戶的數(shù)據(jù),在多個系統(tǒng)間進行流轉(zhuǎn)。

“打通”是多個系統(tǒng)賬戶體系的交互,用戶雖然是賬號的持有者,但是涉及到多個系統(tǒng)間的交互,用戶是沒有“發(fā)起”權(quán)的,僅有“授權(quán)”權(quán),授權(quán)是否同意打通。

多系統(tǒng)內(nèi)賬號的打通,為的是實現(xiàn)系統(tǒng)間數(shù)據(jù)的流轉(zhuǎn),因此賬號打通更準確的說其實是系統(tǒng)間的數(shù)據(jù)打通,數(shù)據(jù)的傳輸紐帶為“同一用戶”。因此在本文后續(xù)都以“數(shù)據(jù)打通”來替代“賬號打通”。

數(shù)據(jù)打通的發(fā)起方,為使用打通后數(shù)據(jù)的業(yè)務(wù)系統(tǒng)。多個系統(tǒng)間的數(shù)據(jù)需要做交互,由需要該數(shù)據(jù)的業(yè)務(wù)系統(tǒng)來推動。

因此數(shù)據(jù)打通需要從系統(tǒng)、數(shù)據(jù)的維度思考,通過賬號的打通,來實現(xiàn)系統(tǒng)業(yè)務(wù)的打通,最終實現(xiàn)系統(tǒng)間數(shù)據(jù)的流轉(zhuǎn)。

(2)業(yè)務(wù)場景

多個系統(tǒng)間,系統(tǒng)間數(shù)據(jù)的打通分為單向與雙向。

不同系統(tǒng)內(nèi),單向的數(shù)據(jù)打通:

e.g,通過微信等第三方授權(quán)方式注冊登錄知乎后,app用戶的初始化用戶名為微信的用戶名。

此為知乎與微信兩個系統(tǒng)間的數(shù)據(jù)打通。知乎只需要微信提供用戶數(shù)據(jù),所以為單向的數(shù)據(jù)打通。多用于授權(quán)模式的產(chǎn)品。

不同系統(tǒng)內(nèi),雙向的數(shù)據(jù)打通:

e.g.餓了嗎與百度外賣整合后,同一個用戶用同一個手機在兩個平臺注冊登錄,在餓了嗎修改送貨地址,百度外賣的送貨地址會自動進行同步;反之同理。

此為餓了嗎與百度外賣兩個系統(tǒng)間的數(shù)據(jù)打通。送貨地址信息在兩個系統(tǒng)內(nèi)相互流轉(zhuǎn),所以為雙向的數(shù)據(jù)打通。多用于合作模式的產(chǎn)品。

(3)目的

數(shù)據(jù)打通的重點在“通”,打通后在系統(tǒng)間流轉(zhuǎn)的就是數(shù)據(jù),所以數(shù)據(jù)打通希望達到的效果:

數(shù)據(jù)流通:一個用戶在多個系統(tǒng)內(nèi),局部數(shù)據(jù)流通(單向或雙向),數(shù)據(jù)總量不變。

在上面單向數(shù)據(jù)打通的案例中:知乎需要微信用戶體系內(nèi)用戶的昵稱,因此需要微信提供查詢接口,知乎進行調(diào)用,查詢當前注冊的用戶在微信的昵稱,實現(xiàn)單向數(shù)據(jù)流通。

在上面雙向數(shù)據(jù)打通的案例中:餓了嗎與百度外賣中,同一用戶的送貨地址需要進行同步,百度外賣整合入餓了嗎,因此百度外賣需要相同用戶在餓了嗎的數(shù)據(jù),并且可以寫入新的數(shù)據(jù)。因此由餓了嗎提供查詢、寫入接口,實現(xiàn)雙向數(shù)據(jù)流通。

3. 賬號合并與打通的區(qū)別總結(jié)

賬號合并

由用戶發(fā)起,所以合并的主體為:“一個”使用賬號的用戶本人。需要從用戶維度去思考。

合并后數(shù)據(jù)要求:所有賬號的數(shù)據(jù)累加植入合并后的賬號。

數(shù)據(jù)打通

由業(yè)務(wù)方發(fā)起,所以打通的主體為:使用打通后流轉(zhuǎn)數(shù)據(jù)的業(yè)務(wù)系統(tǒng)。需要從系統(tǒng)維度去思考。

打通后數(shù)據(jù)要求:同一個用戶的局部數(shù)據(jù)在多個系統(tǒng)間通過業(yè)務(wù)流轉(zhuǎn)同步,數(shù)據(jù)總量不變。

通過以上的拆解 ,相信大家能夠更準確的區(qū)分賬號的合并與打通。接下來,就是真正動手實操了,如何處理賬號的合并與打通呢?

二、合并與打通的方式

合并與打通的處理,都分為兩個部分,一為賬號業(yè)務(wù)層面的處理,二為舊數(shù)據(jù)的處理。本文僅詳述業(yè)務(wù)層面的處理,舊數(shù)據(jù)的處理將在下篇文章進行展開詳述。

1.賬號合并

回顧賬號合并主體:“一個”使用賬號的用戶本人。

賬號合并目的:一個用戶只有“一個”主體賬號代表其用戶身份。

下面會按照不同的場景,對賬號合并的處理方式進行討論。

(1)一個系統(tǒng)內(nèi),相同類型的賬號合并

多個賬號的類型相同,登錄方式相同,相當于多個完全獨立的用戶個體,要將其合n為1,說明這幾個用戶其實為一個人,那么只需要保留一個賬號代表該用戶個體,并且擁有所有賬號的數(shù)據(jù)即可。

所以,需要用戶在發(fā)起合并賬號請求時,指定合并后保留的賬號,以此為主體賬號,將其余賬號的數(shù)據(jù)資料全部累加計入主體賬號,然后注銷其余賬號。

e.g.將三個賬號abc合并,每個賬號都有10枚金幣,且主體賬號為a。則將bc的金幣累加進入a賬號,累計后金幣數(shù)為30,bc賬號注銷,無法再次登陸。

(2)一個系統(tǒng)內(nèi),不同類型的賬號合并

賬號的類型不同,登錄方式也不同,沒有一個統(tǒng)一的判斷基準,所以無法判斷這些賬號間的關(guān)系為同一用戶所有,還是不同用戶所有。

所以需要先設(shè)置一個統(tǒng)一的判斷基準:從哪種方式登錄的賬號,為用戶身份的唯一標志——主體賬號。

以下為常用的賬號合并操作思路:

  1. 指定可確認用戶身份的登錄方式;
  2. 新增主體賬號ID,為賬號系統(tǒng)內(nèi)每個人用戶身份的唯一ID。僅有通過以第一步指定的的登錄方式注冊時,才會生成主體賬號id;
  3. 以其余登錄方式產(chǎn)生的賬號,為主體賬號的子賬號。同一主體賬號ID可對應(yīng)多個子賬號(ps:若非強綁定關(guān)系,在用戶用子賬號登錄后,不強制用主賬號流程注冊,無法生成主體賬號ID,就將其置為空,等后期用戶發(fā)起合并的時候進行填充)。
  4. 用戶在發(fā)起賬號合并后,提供其需要綁定的主體賬號ID,將子賬號綁在指定主體賬號下,并將子賬號的用戶數(shù)據(jù)并入主賬號,便完成了賬號的合并。

通過以上方法,合并后通過用戶身份下任意方式登錄,都調(diào)用的是相同的主賬號下的用戶數(shù)據(jù)。

這種方式需要修改賬號體系的架構(gòu),將平行的賬號關(guān)系修改為主/子賬號的母子關(guān)系,所以在前期實現(xiàn)賬號合并的時候改動大,成本較大。

但是在后期解綁/換綁子賬號的時候,對用戶數(shù)據(jù)無影響,因為用戶數(shù)據(jù)是儲存在主賬號ID下的。

2.數(shù)據(jù)打通

回顧數(shù)據(jù)打通主體:使用打通后流轉(zhuǎn)數(shù)據(jù)的業(yè)務(wù)系統(tǒng)。

數(shù)據(jù)打通目的:同一個用戶的局部數(shù)據(jù)在多個系統(tǒng)間通過業(yè)務(wù)流轉(zhuǎn)同步。

系統(tǒng)間的數(shù)據(jù)流轉(zhuǎn)要依賴接口,所以,需要通過設(shè)計接口來實現(xiàn)數(shù)據(jù)打通。

系統(tǒng)間需要進行數(shù)據(jù)流轉(zhuǎn)的為“同一用戶”,則首先兩個系統(tǒng)需要對用戶的身份有相同的判斷方式,接口通過該用戶唯一標示,來進行兩個系統(tǒng)間同一用戶數(shù)據(jù)的流轉(zhuǎn)。

下面會按照不同的場景,對數(shù)據(jù)打通的處理方式進行討論。

在此,我將使用打通后流轉(zhuǎn)數(shù)據(jù)的業(yè)務(wù)系統(tǒng)主體稱為甲方,提供數(shù)據(jù)的系統(tǒng)稱為乙方。

(1)不同系統(tǒng)內(nèi),單向的數(shù)據(jù)打通

單向數(shù)據(jù)打通,即甲方需要乙方的用戶數(shù)據(jù),乙方不受甲方業(yè)務(wù)影響。所以需要乙方提供數(shù)據(jù)查詢接口,甲方進行調(diào)用。

市場中常見的微信、微博、qq等用戶數(shù)據(jù)已經(jīng)有了成熟的對外接口,僅需進行申請便可進行調(diào)用。若乙方無成熟接口,就需要進行定制化的接口開發(fā)了。以下為接口的設(shè)計思路:

1)確定甲乙系統(tǒng)內(nèi)用戶身份的唯一標示

方法:列出雙方賬號系統(tǒng)用戶賬號的所有可用信息,從中挑取相同的、與業(yè)務(wù)強相關(guān)的、用戶不會輕易改變的、最能代表用戶身份的字段,作為打通后識別用戶的唯一標示;例如手機號。唯一標示為接口的必填查詢?nèi)雲(yún)ⅰ?/p>

2)甲方提供所需的用戶數(shù)據(jù)需求,詳細到字段,例如用戶名稱、用戶頭像;以及是否有批量查詢用戶數(shù)據(jù)需求。

3)乙方根據(jù)甲方需求提供查詢接口:

  • 接口入?yún)ⅲ呵捌诮y(tǒng)一的用戶唯一標示,來指定查詢的用戶;查詢的用戶數(shù)據(jù);
  • 接口出參:甲方查詢用戶的指定數(shù)據(jù)。

4)甲方對接后進行調(diào)用

(2)不同系統(tǒng)內(nèi),雙向的數(shù)據(jù)打通

雙方數(shù)據(jù)打通,即甲方需要乙方的用戶數(shù)據(jù),同時也會向乙方插入用戶數(shù)據(jù)。乙方提供數(shù)據(jù)查詢接口、數(shù)據(jù)寫入接口,甲方進行調(diào)用。以下為接口設(shè)計思路:

1)確定系統(tǒng)間的唯一標示,作為打通后識別用戶的唯一標示

方法同單向打通

2)判斷唯一標示是否符合乙方賬號系統(tǒng)的注冊條件,據(jù)此保證打通后甲方向乙方寫入新用戶數(shù)據(jù)時,可以成功進行注冊

方法:判斷唯一標示為乙方賬號的什么信息:

  • 為乙方賬號注冊時的唯一身份標示:不需任何處理
  • 為乙方賬號關(guān)聯(lián)的字段:判斷甲方系統(tǒng)是否有乙方賬號注冊時的唯一身份標示字段,若有,注冊時使用該字段;若無,擴充乙方系統(tǒng)注冊方式,或甲方系統(tǒng)要求用戶補充該用戶信息。

3)甲方提供所需的用戶信息,以及要寫入乙方的數(shù)據(jù)

所需的乙方數(shù)據(jù)的提供方式,同單向數(shù)據(jù)打通

寫入乙方的數(shù)據(jù),按照功能模塊劃分,再詳細到字段,例如綁定新用戶(唯一標示、用戶名稱、密碼)、填加數(shù)據(jù)(收貨地址)、刪除數(shù)據(jù)(收貨地址)。

4)乙方根據(jù)甲方提供需求,設(shè)計相應(yīng)的查詢接口與寫入接口

查詢接口同單向數(shù)據(jù)打通。

  • 寫入接口入?yún)ⅲ呵捌诮y(tǒng)一的用戶唯一標示,來指定寫入的用戶;具體寫入數(shù)據(jù);
  • 寫入數(shù)據(jù)出參:操作結(jié)果(成功/失敗,及失敗理由)

5)甲方對接后進行調(diào)用

以上便為賬號“合并”與“打通”的概念區(qū)分及處理方式的講解,下一篇文章將會繼續(xù)這個話題,討論合并 /打通后,舊數(shù)據(jù)的處理方式后。

備注:文章若有思考不完善之處,歡迎各位幫忙指正,共同進步。

 

作者:橘子;公眾號:橘子周思錄;我是3年產(chǎn)品橘子,每周分享自己對日常工作的總結(jié)思考,希望與您一同成長。

本文由 @橘子 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)作者許可,禁止轉(zhuǎn)載。

題圖來自Unsplash,基于CC0協(xié)議。

更多精彩內(nèi)容,請關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號或下載App
評論
評論請登錄
  1. 想請教一下~如果是一個系統(tǒng)內(nèi),不同賬號之間的數(shù)據(jù)相互流通,這種可以怎么理解呢;

    來自廣東 回復(fù)
  2. 已在文章中獲取答案,感謝

    來自廣東 回復(fù)
  3. 賬號合并和賬號注銷,理解有點困惑,希望收到大佬的解答
    1、不同類型的賬號合并,比如對手機和微信注冊的賬號進行合并,選擇手機。那微信注冊的賬號是會被注銷掉嗎?那后續(xù)如果還用這個微信注冊/登錄呢?是不是會再次注冊一個新的賬號?
    2、不同類型的賬號合并,比如對手機和微信注冊的賬號進行合并,后續(xù)手機和微信都能登錄,調(diào)用時合并后的用戶數(shù)據(jù)呢?

    來自廣東 回復(fù)
  4. 請教下,關(guān)于賬號合并問題,如果兩個賬號合并為一個賬號,每個賬號的基礎(chǔ)信息都不同(昵稱性別等),如果合并的話怎么處理?要進行取舍嗎?

    來自湖北 回復(fù)
    1. 最新的文章中有答案~

      來自北京 回復(fù)
  5. 想請教兩個問題
    1.當需要綁定的賬號已經(jīng)綁定了其他賬號,這時候是應(yīng)該和之前賬號解綁嗎?還是將兩主賬號的數(shù)據(jù)進行合并更合理呢。

    來自北京 回復(fù)
    1. 是否要解綁:結(jié)合具體業(yè)務(wù)場景、是否有唯一性來判斷;
      是否將兩個主賬戶數(shù)據(jù)合并:問題本身有歧義,主賬戶是對用戶身份的表示,有且只能有一個。當前的賬號跟之前已經(jīng)綁定的賬號都是屬于子賬號。

      來自北京 回復(fù)
  6. 下一篇是什么時候???

    來自廣東 回復(fù)
  7. 謝謝,原本比較亂的想法現(xiàn)在清洗了

    來自廣東 回復(fù)
  8. 感謝

    來自浙江 回復(fù)