注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當前位置: 首頁出版圖書科學技術計算機/網(wǎng)絡軟件工程及軟件方法學搜索架構之道:App中的搜索系統(tǒng)設計與優(yōu)化實踐

搜索架構之道:App中的搜索系統(tǒng)設計與優(yōu)化實踐

搜索架構之道:App中的搜索系統(tǒng)設計與優(yōu)化實踐

定 價:¥99.00

作 者: 劉俊啟
出版社: 機械工業(yè)出版社
叢編項:
標 簽: 暫缺

購買這本書可以去


ISBN: 9787111764595 出版時間: 2024-11-01 包裝: 平裝-膠訂
開本: 16開 頁數(shù): 字數(shù):  

內(nèi)容簡介

  這是一本以搜索業(yè)務為主線,深度解讀超級App構建與優(yōu)化的策略、流程、方法、技巧和作者近20年心得精華的著作。本書覆蓋了App從誕生到成為超級App的過程中技術架構層面所面臨的所有核心挑戰(zhàn)及其解決思路。本書作者是我國App研發(fā)領域的先行者(2005年正式進入App開發(fā)領域)。曾在百度負責多個App的技術架構構建,全程參與了百度App從誕生到發(fā)展至擁有上億規(guī)模用戶的全過程。本書是作者將近20年App研發(fā)經(jīng)驗和10余年百度搜索App開發(fā)經(jīng)驗的精華,是一本真正的干貨集?;A篇(第1~3章),從作者進入百度講起,帶領讀者一步步走進搜索App的世界。這一篇通過簡潔的語言和生動的案例,以“潤物細無聲”的方式讀者幫建立起對搜索App的基礎認知,包括百度App發(fā)展歷程、典型App中搜索功能構建、搜索結果頁和落地頁技術實現(xiàn)、搜索服務端架構、搜索服務優(yōu)化等特色內(nèi)容,為讀者學習后續(xù)內(nèi)容打下堅實的基礎。高級篇(第4~12章), 圍繞搜索全流程業(yè)務展開,包括搜索客戶端中并行化響應輸入的實現(xiàn),以及可擴展網(wǎng)頁(即功能插件化)、場景容器化、可定制安全策略、可持續(xù)優(yōu)化指標、可統(tǒng)一管理網(wǎng)絡通信、移動端AI預測、可變體發(fā)布及支持質效提的搜索客戶端架構的設計與實現(xiàn)思路。通過本篇,讀者可更深入理解搜索App的業(yè)務流程,掌握技術架構的工作原理,并學會如何將這些思想應用于相關的產(chǎn)品中。個人成長篇(第13章),從團隊協(xié)作、產(chǎn)品交付及技術架構優(yōu)化這三個方面介紹個人的架構優(yōu)化之路。這部分是作者10余年的工作經(jīng)驗和思考。

作者簡介

  劉俊啟百度前資深研發(fā)工程師、百度前App架構師、百度前OC&Swift編碼委員會主席、騰訊研發(fā)工程師,國內(nèi)App研發(fā)先行者。2005年入職盛大·數(shù)位紅,參與了Game-V(中國第一個無線游戲娛樂運營平臺)的研發(fā)(NOKIA S60平臺)。之后作為初創(chuàng)團隊成員,負責多款S60平臺的App研發(fā)。2009年開始轉戰(zhàn)iOS平臺,負責推進公司產(chǎn)品技術棧向iOS平臺遷移。2010年入職百度,先后負責構建百度搜索App、百度語音SDK、百度語音助手App、百度瀏覽器App、百度App Watch版等多個重量級產(chǎn)品的技術架構。多次負責掌上百度(百度App)技術架構的實現(xiàn)及升級工作,涉及App基礎技術架構、瀏覽內(nèi)核、搜索框架、內(nèi)容擴展、網(wǎng)絡、安全、仿真測試、移動AI、App級復用等方向。在文本搜索、語音搜索、視覺搜索、技術架構、研發(fā)提效等相關領域擁有30余個專利。在百度工作期間,獲得3次百度驕傲獎,以及多次事業(yè)部及團隊級別獎項。

圖書目錄

目  錄 Contents 
前言
基礎篇
第1章 搜索客戶端的發(fā)展與價值2
1.1 從我在百度的工作經(jīng)歷看搜索客戶端架構演進2
1.1.1 從零構建搜索客戶端App2
1.1.2 Ding:優(yōu)化移動端搜索的高頻搜索需求4
1.1.3 搜索 瀏覽雙框架:優(yōu)化移動端搜索過程的體驗4
1.1.4 搜索結果NA化:優(yōu)化移動端搜索結果瀏覽體驗5
1.1.5 搜索異步化:優(yōu)化搜索核心指標7
1.1.6 多容器管理:突破單瀏覽內(nèi)核的限制8
1.1.7 變體發(fā)布:多App復用搜索能力9
1.1.8 小結10
1.2  移動操作系統(tǒng)級的搜索能力支持12
1.2.1 iOS系統(tǒng)搜索能力12
1.2.2 Android系統(tǒng)搜索能力13
1.2.3 小結14
1.3  App中的搜索功能建設15
1.3.1 京東App中的搜索功能15
1.3.2 微信App中的搜索功能16
1.3.3 快手App中的搜索功能17
1.3.4 有道詞典App中的搜索功能17
1.3.5 招商銀行App中的搜索功能18
1.3.6 夸克瀏覽器App中的搜索功能19
1.3.7 小結20
第2章 搜索客戶端基礎技術21
2.1 搜索全流程的3個核心場景21
2.2 需求輸入場景及技術實現(xiàn)23
2.2.1 多線程技術24
2.2.2 網(wǎng)絡請求24
2.2.3 搜索建議的數(shù)據(jù)處理25
2.3 結果頁場景及技術實現(xiàn)28
2.3.1 數(shù)據(jù)持久化存取29
2.3.2 URL攜帶搜索關鍵字30
2.3.3 結果頁的分類及加載31
2.4 落地頁場景及技術實現(xiàn)32
2.4.1 落地頁功能擴展32
2.4.2 落地頁與結果頁的切換管理33
2.5 移動客戶端研發(fā)注意事項34
2.5.1 移動客戶端與PC應用研發(fā)的區(qū)別34
2.5.2 移動客戶端與云端服務研發(fā)的區(qū)別35
2.6 設計一份可落地的技術方案36
2.6.1 技術方案的輔助決策點評估37
2.6.2 技術方案優(yōu)先處理原則38
第3章 搜索客戶端基礎服務40
3.1 搜索客戶端協(xié)同的服務分類40
3.1.1 客戶端運行時對接的服務40
3.1.2 搜索業(yè)務對接的服務42
3.2 從客戶端的角度看搜索服務端架構43
3.2.1 內(nèi)容的產(chǎn)生44
3.2.2 內(nèi)容的去重46
3.2.3 內(nèi)容的存儲48
3.2.4 內(nèi)容的檢索53
3.2.5 搜索結果的產(chǎn)品化封裝56
3.2.6 搜索過程客戶端與服務端協(xié)作流程57
3.3 自有搜索客戶端對搜索服務優(yōu)化的支持58
高級篇
第4章 搜索客戶端中并行化響應輸入的實現(xiàn)62
4.1 并行化響應用戶輸入的意義62
4.1.1 搜索是強依賴輸入的業(yè)務62
4.1.2 App可并行化響應用戶輸入的價值64
4.2 輸入過程并行化任務的分類65
4.3 文本輸入搜索過程的并行化任務與支持65
4.3.1 接收用戶的文本輸入65
4.3.2 處理用戶的文本輸入66
4.3.3 響應用戶的文本輸入68
4.3.4 文本輸入過程并行化模型69
4.4 語音輸入搜索過程的并行化任務與支持70
4.4.1 接收用戶的語音輸入70
4.4.2 處理用戶的語音輸入72
4.4.3 響應用戶的語音輸入73
4.4.4 語音輸入過程并行化模型73
4.5 圖像輸入搜索過程的并行化任務與支持75
4.5.1 接收用戶的圖像輸入75
4.5.2 處理用戶的圖像輸入76
4.5.3 響應用戶的圖像輸入78
4.5.4 圖像輸入的業(yè)務流程支持80
4.5.5 圖像輸入的服務依賴保障80
4.5.6 圖像輸入過程并行化模型81
4.6 網(wǎng)頁瀏覽過程的多進程模型85
4.6.1 Networking進程86
4.6.2 WebContent進程86
4.6.3 UI進程簡介87
4.7 并行化實現(xiàn)的3個條件87
第5章 設計可擴展網(wǎng)頁能力的搜索客戶端架構89
5.1 搜索客戶端實現(xiàn)網(wǎng)頁能力擴展的意義89
5.1.1 基本概念及互通模型90
5.1.2 搜索客戶端支持網(wǎng)頁擴展及互通的價值91
5.2 使用基礎API支持網(wǎng)頁瀏覽91
5.2.1 請求加載新頁面91
5.2.2 同步網(wǎng)頁加載狀態(tài)93
5.2.3 管理網(wǎng)頁加載狀態(tài)97
5.2.4 切換頁面瀏覽歷史98
5.2.5 響應頁面瀏覽滑動事件99
5.2.6 定制手勢響應快捷指令100
5.2.7 關聯(lián)規(guī)則過濾網(wǎng)頁內(nèi)容100
5.3 定義數(shù)據(jù)通路標準擴展網(wǎng)頁能力101
5.3.1 關聯(lián)Custom URL scheme實現(xiàn)URL調用101
5.3.2 通過JS實現(xiàn)NA功能與網(wǎng)頁對話104
5.3.3 接管網(wǎng)絡請求實現(xiàn)數(shù)據(jù)互通105
5.3.4 同步Cookie變化實現(xiàn)狀態(tài)統(tǒng)一106
5.4 NA與網(wǎng)頁互通的能力總覽108
5.4.1 網(wǎng)頁加載過程互通108
5.4.2 網(wǎng)頁瀏覽交互互通109
5.4.3 網(wǎng)頁數(shù)據(jù)通信互通110
5.5 管理多種瀏覽內(nèi)核共存110
5.5.1 針對多種瀏覽內(nèi)核的約束111
5.5.2 以系統(tǒng)瀏覽內(nèi)核為基點進行擴展113
5.6 以插件的形式擴展網(wǎng)頁功能114
5.6.1 網(wǎng)頁場景插件化模型115
5.6.2 功能插件管理、調用及事件響應117
5.6.3 網(wǎng)頁場景使用插件管理框架120
第6章 設計場景容器化的搜索客戶端架構122
6.1 構建多容器管理機制的意義122
6.1.1 單瀏覽內(nèi)核管理框架面臨的挑戰(zhàn)122
6.1.2 構建多容器管理機制的必要性123
6.2 多容器管理框架的核心能力及收益124
6.2.1 多容器管理框架核心能力對齊124
6.2.2 多容器管理框架核心能力模型126
6.2.3 多容器管理框架的收益預估126
6.3 框架升級潛在風險及解決128
6.3.1 并行研發(fā)的影響128
6.3.2 Web生態(tài)標準的兼容130
6.3.3 頁面加載速度指標劣化134
6.4 容器生命周期管理能力建設134
6.4.1 抽象容器的基本生命周期事件134
6.4.2 統(tǒng)一容器生成入口和數(shù)據(jù)結構135
6.4.3 資源消耗和收益的平衡135
6.4.4 小結138
6.5 容器的展現(xiàn)及事件管理能力建設139
6.5.1 容器的視圖展現(xiàn)管理139
6.5.2 容器的視圖生命周期事件管理140
6.5.3 容器及框架的手勢事件管理142
6.5.4 小結143
6.6 容器的瀏覽歷史管理能力建設143
6.6.1 容器瀏覽歷史的操作144
6.6.2 容器瀏覽歷史條目的存儲146
6.6.3 小結147
6.7 多容器管理框架的應用148
6.7.1 容器接入多容器管理框架148
6.7.2 打開新頁面時的框架處理邏輯149
6.7.3 頁面歷史切換及優(yōu)先級處理邏輯150
6.7.4 容器的銷毀與恢復邏輯151
6.8 網(wǎng)頁加載性能指標優(yōu)化152
6.8.1 通過預創(chuàng)建容器優(yōu)化容器創(chuàng)建的耗時152
6.8.2 通過預加載優(yōu)化靜態(tài)資源加載耗時153
6.8.3 通過實現(xiàn)預渲染優(yōu)化頁面整體耗時154
6.8.4 小結155
第7章 設計可定制安全策略的搜索客戶端架構156
7.1 搜索客戶端可定制安全策略的意義156
7.1.1 移動生態(tài)和法律法規(guī)中的安全相關標準157
7.1.2 客戶端是產(chǎn)品提供服務的第一層158
7.1.3 客戶端具備實時發(fā)現(xiàn)及干預安全問題的條件159
7.2 網(wǎng)絡通信安全保障160
7.2.1 域名解析安全問題及解決方法160
7.2.2 數(shù)據(jù)傳輸安全問題及解決方法160
7.2.3 網(wǎng)絡安全的技術架構支持162
7.3 網(wǎng)頁瀏覽安全防護162
7.3.1 網(wǎng)頁內(nèi)容安全問題及解決方法163
7.3.2 網(wǎng)頁互通安全問題及解決方法165
7.3.3 網(wǎng)頁瀏覽安全的技術架構支持166
7.4 自有服務安全共建166
7.4.1 識別自有客戶端并實現(xiàn)差異化服務166
7.4.2 關鍵請求不可重放167
7.4.3 安全策略要盡早推進168
7.5 用戶信息安全保護168
7.5.1 歷史數(shù)據(jù)的讀取與技術實現(xiàn)建議169
7.5.2 實時數(shù)據(jù)的讀取與技術實現(xiàn)建議170
7.5.3 用戶信息安全的技術實現(xiàn)原則171
7.6  技術復用安全管理171
7.6.1 第三方技術引進安全評估172
7.6.2 自研技術輸出安全定制174
第8章 設計可持續(xù)優(yōu)化指標的搜索客戶端架構176
8.1 客戶端指標可持續(xù)優(yōu)化的意義176
8.2 客戶端常見指標簡介177
8.2.1 安裝包體積指標及優(yōu)化177
8.2.2 啟動速度指標及優(yōu)化177
8.2.3 加載速度指標及優(yōu)化178
8.2.4 白屏率指標及優(yōu)化178
8.2.5 卡頓率指標及優(yōu)化179
8.2.6 崩潰率指標及優(yōu)化179
8.2.7 磁盤空間指標及優(yōu)化179
8.2.8 通用業(yè)務指標及優(yōu)化180
8.3 客戶端指標優(yōu)化基礎能力構建180
8.3.1 分組樣本設定能力的構建180
8.3.2 數(shù)據(jù)收集能力的構建184
8.4 客戶端指標優(yōu)化方法及應用187
8.4.1 制定標準188
8.4.2 指標建設189
8.4.3 數(shù)據(jù)收集192
8.4.4 數(shù)據(jù)分析193
8.4.5 指標優(yōu)化196
8.4.6 指標評估199
8.4.7 指標監(jiān)控200
第9章 設計可統(tǒng)一管理網(wǎng)絡通信的搜索客戶端架構201
9.1 網(wǎng)絡通信可統(tǒng)一管理的意義201
9.2 網(wǎng)絡通信優(yōu)化的實際應用價值203
9.2.1 語音搜索的網(wǎng)絡通信管理203
9.2.2 網(wǎng)頁場景功能的網(wǎng)絡通信管理209
9.3 瀏覽內(nèi)核的網(wǎng)絡通路實現(xiàn)與功能擴展管理211
9.3.1 瀏覽內(nèi)核的網(wǎng)絡請求攔截212
9.3.2 網(wǎng)絡通路的工作流程213
9.3.3 網(wǎng)絡通路中的功能擴展管理214
9.4 統(tǒng)一管理網(wǎng)絡通信及分層設計221
9.4.1 系統(tǒng)層的職責與邊界221
9.4.2 橋接層的職責與邊界222
9.4.3 支持層的職責與邊界222
9.4.4 調度層的職責與邊界225
9.4.5 接口層的職責與邊界227
9.5 業(yè)務實現(xiàn)層的網(wǎng)絡能力隔離227
9.5.1 依賴瀏覽內(nèi)核構建的業(yè)務實現(xiàn)分層228
9.5.2 不依賴瀏覽內(nèi)核構建的業(yè)務實現(xiàn)分層228
第10章 設計可支持移動端AI預測的搜索客戶端架構230
10.1 客戶端可支持移動端AI預測的意義230
10.1.1 基本概念及關系231
10.1.2 編程方式的演進:從傳統(tǒng)編程到人工智能233
10.1.3 客戶端使用移動端AI預測與服務端AI預測的對比234
10.2 客戶端支持移動端AI預測的挑戰(zhàn)235
10.3  模型管理框架實現(xiàn)237
10.3.1 模型管理服務端支持237
10.3.2 模型管理框架客戶端實現(xiàn)239
10.3.3 模型管理框架的應用示例243
10.4 特征管理框架實現(xiàn)244
10.4.1 特征分類及框架依賴245
10.4.2 特征復用及框架支持245
10.4.3 特征緩存及框架支持247
10.4.4 特征收集及框架支持248
10.4.5  特征管理框架應用示例249
10.5  移動端AI預測技術支持框架的應用250
10.5.1 構建新業(yè)務時的支持250
10.5.2 優(yōu)化已有業(yè)務的支持251
第11章 設計可變體發(fā)布的搜索客戶端架構253
11.1 App支持可變體發(fā)布的意義253
11.1.1 初識矩陣App254
11.1.2 App支持變體發(fā)布的價值255
11.2  App支持變體發(fā)布的前置依賴256
11.2.1 基礎概念及關系256
11.2.2 模塊級復用與App級復用258
11.2.3 矩陣App復用主線App的方式260
11.3 變體發(fā)布的核心技術問題及解決264
11.3.1 控制反轉服務264
11.3.2 組件的裁剪支持266
11.3.3 組件的修改支持266
11.4 搜索業(yè)務可變體發(fā)布的技術框架支持268
11.4.1 典型搜索業(yè)務特征和技術架構268
11.4.2 服務動態(tài)化269
11.4.3 場景容器化272
11.4.4 功能插件化273
11.4.5 端云一體化輸出275
11.4.6 小結276
11.5 模塊拆分與變體發(fā)布支持277
11.5.1 模塊的分級及約束277
11.5.2 模塊拆分的決策依據(jù)279
11.5.3 組件標準化輸出280
11.6 主線App支持變體發(fā)布要遵循的原則281
11.6.1 接口穩(wěn)定原則282
11.6.2 最小接口公開原則282
11.6.3 有序依賴原則283
11.6.4 無無用依賴原則283
11.6.5 無隱式依賴原則284
11.6.6 無傳遞依賴原則285
11.6.7 無循環(huán)依賴原則287
11.6.8 命名唯一原則289
11.6.9 配置項歸屬唯一原則290
11.6.10 資源歸屬唯一原則290
第12章 設計可支持質效提升的搜索客戶端架構291
12.1 架構與研發(fā)質效的關系291
12.1.1 我對研發(fā)質效的理解292
12.1.2 我對架構目標的理解292
12.1.3 我看到的架構對質效的影響292
12.2 提升研發(fā)過程的效率294
12.2.1 子系統(tǒng)獨立迭代294
12.2.2 業(yè)務可脫機調試297
12.2.3 任務自動化執(zhí)行支持299
12.2.4 流程自動化工具建設302
12.3 降低異常產(chǎn)生的概率304
12.3.1 降低內(nèi)部因素產(chǎn)生的異常304
12.3.2 降低外部因素產(chǎn)生的異常306
12.4 降低異常產(chǎn)生的影響309
12.4.1 發(fā)現(xiàn)異常的能力的構建309
12.4.2 解決異常的能力的構建311
12.4.3 降低異常概率/影響的設計思路312
個人成長篇
第13章 設計自己的架構優(yōu)化之路314
13.1 快速融入團隊的7個因素314
13.2 實現(xiàn)有效交付的7個節(jié)點317
13.3 持續(xù)優(yōu)化技術架構的7個思維方式321

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號