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

10 評(píng)論 24158 瀏覽 199 收藏 17 分鐘

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

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

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

這部分橘子將會(huì)以下圖為大綱進(jìn)行講解:

1.賬號(hào)合并

(1)概念

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

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

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

(2)業(yè)務(wù)場(chǎng)景

合并前的多個(gè)賬號(hào),可以是相同類型的,也可以是不同類型的。

在此,先對(duì)“類型”進(jìn)行簡(jiǎn)單定義:注冊(cè)方式相同的賬號(hào),視為相同類型的賬號(hào)。

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

e.g:游戲中,同一用戶用兩個(gè)手機(jī)號(hào)注冊(cè)了大小號(hào)。希望將其合并為一個(gè)賬號(hào)。

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

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

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

手機(jī)號(hào)、微信、微博等賬號(hào)是通過(guò)不同的注冊(cè)方式生成的,所以為不同類型的賬號(hào)合并。

(3)目的

賬號(hào)合并的重點(diǎn)在“并”,所以賬號(hào)合并希望達(dá)到的效果:

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

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

在上面相同類型的賬號(hào)合并的案例中:

一個(gè)游戲用戶希望將小號(hào)合并入大號(hào),每個(gè)賬號(hào)都有10枚金幣。

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

不同類型賬號(hào)合并案例中:

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

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

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

2. 賬號(hào)打通

(1)概念

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

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

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

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

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

(2)業(yè)務(wù)場(chǎng)景

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

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

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

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

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

e.g.餓了嗎與百度外賣(mài)整合后,同一個(gè)用戶用同一個(gè)手機(jī)在兩個(gè)平臺(tái)注冊(cè)登錄,在餓了嗎修改送貨地址,百度外賣(mài)的送貨地址會(huì)自動(dòng)進(jìn)行同步;反之同理。

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

(3)目的

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

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

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

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

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

賬號(hào)合并

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

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

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

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

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

通過(guò)以上的拆解 ,相信大家能夠更準(zhǔn)確的區(qū)分賬號(hào)的合并與打通。接下來(lái),就是真正動(dòng)手實(shí)操了,如何處理賬號(hào)的合并與打通呢?

二、合并與打通的方式

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

1.賬號(hào)合并

回顧賬號(hào)合并主體:“一個(gè)”使用賬號(hào)的用戶本人。

賬號(hào)合并目的:一個(gè)用戶只有“一個(gè)”主體賬號(hào)代表其用戶身份。

下面會(huì)按照不同的場(chǎng)景,對(duì)賬號(hào)合并的處理方式進(jìn)行討論。

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

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

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

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

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

賬號(hào)的類型不同,登錄方式也不同,沒(méi)有一個(gè)統(tǒng)一的判斷基準(zhǔn),所以無(wú)法判斷這些賬號(hào)間的關(guān)系為同一用戶所有,還是不同用戶所有。

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

以下為常用的賬號(hào)合并操作思路:

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

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

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

但是在后期解綁/換綁子賬號(hào)的時(shí)候,對(duì)用戶數(shù)據(jù)無(wú)影響,因?yàn)橛脩魯?shù)據(jù)是儲(chǔ)存在主賬號(hào)ID下的。

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

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

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

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

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

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

在此,我將使用打通后流轉(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ù)查詢接口,甲方進(jìn)行調(diào)用。

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

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

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

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

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

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

4)甲方對(duì)接后進(jìn)行調(diào)用

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

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

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

方法同單向打通

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

方法:判斷唯一標(biāo)示為乙方賬號(hào)的什么信息:

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

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

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

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

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

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

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

5)甲方對(duì)接后進(jìn)行調(diào)用

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

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

 

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

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

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

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

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

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

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

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

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

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

      來(lái)自北京 回復(fù)
  6. 下一篇是什么時(shí)候啊?

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

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

    來(lái)自浙江 回復(fù)