曹建華,朱若靈,李烜焱
(中國電信集團(tuán)客服運營支撐中心,上海 200041)
星級服務(wù)是中國電信在原有VIP服務(wù)體系的基礎(chǔ)上,升級和優(yōu)化后推出的全新服務(wù)體系。中國電信向"消費穩(wěn)定、網(wǎng)齡長且信用記錄良好"的優(yōu)質(zhì)客戶授予相應(yīng)星級,同時提供積分倍增、10000號優(yōu)先接入等一系列差異化服務(wù)。
為服務(wù)好星級客戶,中國電信建設(shè)了集約的星級客戶權(quán)益行權(quán)平臺(簡稱集約星級服務(wù)),通過APP、微信公眾號等互聯(lián)網(wǎng)渠道提供向星級客戶提供服務(wù)。集約星級服務(wù)需要解決兩個關(guān)鍵問題:
(1)用戶服務(wù)界面的快速迭代與APP版本更新頻率之間的矛盾。
(2)用戶服務(wù)界面的快速響應(yīng)與復(fù)雜的業(yè)務(wù)邏輯處理耗時之間的矛盾。
本文重點介紹這兩個問題的技術(shù)解決方案和達(dá)到的效果。
手機APP開發(fā)有兩類主流的技術(shù),分別是Native App(原生App)和Web App。由于集約星級服務(wù)用戶頁面會頻繁更新,同時又要使用手機底層設(shè)備功能。因此APP中的集約星級服務(wù)使用了HTML5+原生的混合框架,H5頁面?zhèn)戎赜跇I(yè)務(wù)功能實現(xiàn),原生則提供手機底層的基礎(chǔ)能力。該技術(shù)綜合了H5和原生的優(yōu)點:
(1)集約星級服務(wù)頁面具有良好的跨平臺性,能很好的兼容APP和微信公眾號。
(2)集約星級服務(wù)頁面不依賴于APP版本的限制,可以實時進(jìn)行迭代和發(fā)布。
(3)APP通過原生技術(shù)對底層基礎(chǔ)能力進(jìn)行封裝如拍照、分享等,并提供給上層H5頁面使用,實現(xiàn)更復(fù)雜的業(yè)務(wù)邏輯。
H5頁面與原生APP之間的交互機制如下:
下面以星級服務(wù)頁面實現(xiàn)拍照并獲取圖片為例說明兩者交互機制:
(1)HTML頁面調(diào)用APP拍照功能
function openCamera( ){
window.abilityToOpen.runOnAndroidOpenCamera();
}
(2)APP把圖片的絕對路徑傳給Html頁面
webView.loadUrl("javascript:getImagePath('" + imgFile+ "')");
其中H5頁面中g(shù)etImagePath定義如下:
function getImagePath(path){
document.getElementById("imagePath").value=path;
}
作為服務(wù)于中國電信高端客戶的門戶,集約星級服務(wù)頁面打開要快。由于頁面業(yè)務(wù)邏輯復(fù)雜,與后臺存在多項數(shù)據(jù)交互,因此應(yīng)用了雙重緩存+異步刷新技術(shù)提升頁面加載速率,并保持?jǐn)?shù)據(jù)的準(zhǔn)實時性。
(1)頁面資源緩存并異步刷新:頁面被用戶首次加載時,圖片壓縮并轉(zhuǎn)為base64編碼連同獲取的后臺數(shù)據(jù)存入localStorage中。后續(xù)再次被訪問時先從localStorage中讀取,同時啟動異步線程調(diào)取后臺接口數(shù)據(jù)與緩存數(shù)據(jù)進(jìn)行比對,將變化部分局部刷新并再緩存。
(2)后臺數(shù)據(jù)緩存并異步刷新:后臺數(shù)據(jù)來源于集團(tuán)企信接口,一次接口請求約耗時1秒。由于客戶星級等數(shù)據(jù)更新頻率不高,因此后臺獲取到這些數(shù)據(jù)后既返回給前端頁面也同時緩存一份至Redis(高性能內(nèi)存數(shù)據(jù)庫)中,后續(xù)再次被請求時直接從Redis緩存讀取,接口耗時縮短至100ms以內(nèi)。同時為保持緩存中數(shù)據(jù)的準(zhǔn)實時性,兩次請求間隔時間超過設(shè)定的閾值,會啟動異步線程調(diào)取集團(tuán)企信數(shù)據(jù)刷新緩存。具體流程如下:
通過應(yīng)用雙重緩存+異步刷新,頁面打開時間縮短至1s以內(nèi),又保持了數(shù)據(jù)的準(zhǔn)實時性,用戶感知明顯提升。
集約星級服務(wù)采用H5+原生混合框架綜合了兩者的優(yōu)勢,既可以快速迭代發(fā)布還可以充分使用手機底層設(shè)備功能。采用雙重緩存+異步刷新技術(shù),用戶感知提升明顯。這兩項關(guān)鍵技術(shù)具有很好的通用性和可復(fù)制性。