奧推網

選單
科技

這三類“超時”機制:邏輯類、業務類、效能類……

編輯導語: “超時”處理機制很常見。也許很多人疑惑超時機制是什麼,但其實它與我們的生活密不可分。筆者將其分為三類:邏輯類的、業務類的、和效能類的超時機制,並詳細介紹了這三大類。推薦對超時機制感興趣的使用者閱讀。

“希望遲遲不來,急死了等待的人”——《等待戈多》。

《等待戈多》是荒誕戲劇的代表作:以兩個流浪漢苦等“戈多”,而“戈多”不來的情節,喻示人生是一場無盡無望的等待。

同樣在產品體系中,也存在對

系統應答

的等待預期。因此需要

定義超時

,並提供相應的

超時機制

,避免“急死了等待的人”。

“超時”處理機制很常見。

本文筆者將其簡單歸結為三類:

邏輯類

的、

業務類

的,和

效能類

的超時機制。

一、邏輯類超時處理機制

這類超時機制,是為了完成功能閉環而設立的。舉例如下。

1. 超時無應答機制

超時無應答機制比較常見,比如微信請求語音聊天,請求發出15s,對方不應答,則自動取消。

首先,請求發出去,一定要有結束的節點,避免無休止地佔用資源。

其次,設定固定的等待時長,超時無應答,則結束。當然,也可以輔助手動取消按鈕。

2. 若干時間內不打擾

有的場景,希望使用者多次收到提醒,但是又不能過於頻繁,因此可以設定成若干時長內不再打擾的模式。

類似下圖免打擾的提示:XX分鐘內不提醒,為使用者提供更寬泛的選擇通道。

當然超過選定的時間久繼續“打擾”了。

3. 超過一定時間,則採取措施

例如,出於儲存的空間考慮,小米手機儲存的照片超過一定時間沒開啟過,則自動上傳到雲端。那麼這也是保障手機效能的一個策略。

它比“超時無應答”更激進一點,“自作主張”地將事件向前推進一步。

4. 超過一定時間,才釋放新訊息

比如發起好友請求,等待對方接受。發起方可以多次傳送請求。

但是作為接受方,若始終看不到,或不處理,是否重複推送新訊息,一條條通知摞起來呢?

通常的方案是引入超時釋放訊息的機制。即定義一個規則:

一定時間內,發起方可以連續傳送待處理的訊息,但只給接收方釋放第一條。這樣接收方就只顯示一條待處理通知。

若超過一段時間(通常一週)仍沒得到處理,則發起方再次傳送的時候,重新釋放一條新訊息給對方,並將舊訊息做更新(仍顯示一條)。

5. 超過一定時間,則內容消失

某些互動遊戲,需要雙方對稱發出的,如划拳類(石頭剪刀布)、比大小類(擲骰子)。

一方發出之後,要等待對方。二人又可以不斷地發新的,那麼上次發出的要等待多久呢?

微信的處理辦法是將發出的當作歷史訊息。這是一種省事的方案。

但是如果介面不是聊天資訊流,而是有限的空間,比如這樣:

那麼就需要考慮新的訊息頂替舊訊息,以及同一方發出的訊息最長停留時間。

比如可以約定,同一方發出的,停留最長時間5s,超時則自動消失,無需等待對方的。若有新的則直接替換舊的。

二、業務類超時處理機制

業務方面的超時機制,多由業務習慣而定,相較寬鬆靈活。

1. “門檻”類的超時機制

一些社交軟體,限時免費聊天,超時則需要付費,或其他辦法獲取延時。

比如語音聊天(未公開身份時)超過60s則自動結束。

這種就是從運營的需求考慮,人為設定一個“免費品嚐”的條件,從而引入了超時的概念。

2. 交易類的超時處理

比如,賣家操作“發貨”之時起,買家超過規定時限內確認收貨且未申請退款的,則預設買家已收到貨,且貨物質量符合交易雙方的約定,交易成功。

如果在貼近市場的話,還可以規定快遞、EMS及不需要物流的商品十天內,平郵商品三十天內。

類似還有,買家自拍下商品之時起一天內未付款的,交易自動關閉;

自買家付款之時起三百六十五天內賣家未點選“發貨”的,交易自動關閉,退款給買家;

賣家自本退款申請提交之日起五天內,不響應退款申請的,預設達成退款申請,進入到退貨程式等。如電商這類業務性極強的領域,到處都是類似的超時機制。

3. 其他行業的超時規則

業務類超時機制,實際都是對實際業務模型的線上呈現,本質是對行業契約的履約。

三、效能類超時處理機制

效能方面的超時多是客觀被動的,最主要是載入超時。包括是網路狀態不好,和客戶端配置不足導致的。

1. 網路原因的超時

網路原因的超時的原因,主要包括如下:

手機自身問題,比如停機、沒開wifi或者流量、系統卡死等。

手機所處環境網路不好,向伺服器請求超時。比如訊號不好、或者訊號接受不良。

伺服器自身故。

伺服器接收或回覆故障,比如機房網路問題或伺服器處理問題。

產品經理要做的就是如何讓這個事件融洽地落地。

(1)直接報以空白頁或者錯誤頁

(2)提供當前重新整理渠道,儲存前面的操作

比如使用者是在網購,接近下單了,結果網路中斷了一會。這時候直接反饋一個空白頁,使用者只能退回到上一步,前功盡棄。

因此最好是設計一個本地重新整理按鈕,點選即在當前重新整理,避免了使用者重複操作之前的步驟。

基於該思想,可以作如下發揮或拓展:

設計重新整理時的彩蛋,給使用者帶來一些驚喜。比如彈出來一個俏皮的圖案,或一句詼諧的話緩解使用者的不滿的情緒。

增加儲存本地,或儲存草稿的按鈕。在表單資料填寫介面,多使用類似的設計。

增加自動重新重新整理:可以設定超時載入的機制。超過一定的時間 則取消本次載入。比如王者榮耀的連線嘗試7次。

以上實現的本質就是快取。比如對於新聞類的、諮詢類的,這類APP一般都會有快取。這就是微信朋友圈,為什麼在沒有網路的情況下也是可以檢視之前載入過的內容。

有的應用之所以很大,就是因為快取了大量內容,當然也需要定期自動或手動清快取的。

2. 客戶端配置不足導致的超時

比如記憶體、解析度等硬體引數導致的。這不是話題重點。

作為產品經理,只需要注意的是,做好邊緣機型的適配。

#專欄作家#

唧唧歪歪PM,公眾號:唧唧歪歪PM(ID:jjyypm),人人都是產品經理專欄作家,2019年年度作者。《後端產品經理寶典》作者,藥學碩士轉行網際網路產品多年;熟悉跨境電商業務,醫藥領域;擅長大型後臺體系,社交APP。

本文原創釋出於人人都是產品經理,未經作者許可,禁止轉載

題圖來自Unsplash,基於CC0協議。