內容簡介
本書將傳統的分布式計算與新興的雲計算、大數據等技術綜閤起來,以應用需求為背景講解技術原理和應用方法,主要內容包括:傳統分布式計算的基本原理和核心技術,雲計算的原理、架構、實現技術及安全問題,大數據的分析模型、存儲平颱、編程技術及電商大數據分析技術等。本書適閤作為高等學校計算機專業高年級本科生和研究生教材,也適閤作為相關技術人員的參考讀物。
目錄
前言
第1章 分布式計算概述 1
1.1 分布式計算的概念 1
1.1.1 定義 1
1.1.2 分布式計算的優缺點 1
1.1.3 分布式計算的相關計算形式 2
1.2 分布式係統概述 4
1.2.1 分布式係統的定義 4
1.2.2 經典的分布式係統與項目 4
1.2.3 分布式係統的特徵 6
1.3 分布式計算的基礎技術 9
1.3.1 進程間通信 9
1.3.2 IPC程序接口原型 10
1.3.3 事件同步 11
1.3.4 死鎖和超時 14
1.3.5 事件狀態圖 15
1.3.6 進程間通信範型的演變 16
習題 17
參考文獻 18
第2章 分布式計算範型 19
2.1 消息傳遞範型 19
2.2 客戶/服務器範型 20
2.3 P2P範型 20
2.4 消息係統範型 21
2.5 遠程過程調用範型 22
2.6 分布式對象範型 24
2.6.1 遠程方法調用 24
2.6.2 對象請求代理 24
2.7 網絡服務範型 25
2.8 移動代理範型 26
2.9 雲服務範型 26
習題 27
參考文獻 27
第3章 Socket編程與客戶/服務器應用開發 28
3.1 Socket概述與分類 28
3.2 數據包Socket API 29
3.2.1 無連接數據包Socket API 29
3.2.2 麵嚮連接數據包Socket API 35
3.3 流式Socket API 37
3.4 客戶/服務器範型概述與應用開發方法 43
3.4.1 客戶/服務器範型概念 43
3.4.2 客戶/服務器範型的關鍵問題 44
3.5 基於三層軟件的客戶/服務器應用開發方法 45
3.5.1 軟件體係結構 45
3.5.2 采用無連接數據包Socket的Daytime客戶/服務器應用 45
3.5.3 采用流式Socket的Daytime客戶/服務器應用 50
3.6 無連接與麵嚮連接服務器程序的開發 54
3.6.1 無連接Echo客戶/服務器 54
3.6.2 麵嚮連接Echo客戶/服務器 56
3.7 迭代與並發服務器程序的開發 59
3.8 有狀態與無狀態服務器程序的開發 62
習題 65
參考文獻 69
第4章 RMI範型與應用 70
4.1 分布式對象範型 70
4.1.1 分布式對象範型的概念 70
4.1.2 分布式對象範型的體係結構 71
4.1.3 分布式對象係統 71
4.2 RMI 72
4.2.1 遠程過程調用 72
4.2.2 RMI概述 72
4.2.3 Java RMI體係結構 73
4.2.4 stub和skeleton 74
4.2.5 對象注冊 74
4.3 RMI基本應用開發 75
4.3.1 遠程接口 75
4.3.2 服務器端軟件 75
4.3.3 客戶端軟件 78
4.3.4 RMI應用代碼示例 78
4.3.5 RMI應用構建步驟 81
4.3.6 RMI和Socket API的比較 83
4.4 RMI高級應用 83
4.4.1 客戶迴調 83
4.4.2 stub下載 90
4.4.3 RMI安全管理器 92
習題 95
參考文獻 96
第5章 Web原理與應用開發 97
5.1 HTTP協議 97
5.1.1 WWW 97
5.1.2 TCP/IP 97
5.1.3 HTTP協議原理 98
5.2 Web開發技術 101
5.2.1 HTML 101
5.2.2 JavaScript 104
5.2.3 CSS 107
5.2.4 XML 109
5.2.5 動態網頁技術 110
5.3 CGI 113
5.3.1 CGI原理 113
5.3.2 Web錶單 116
5.4 Web會話 117
5.4.1 Cookie機製 118
5.4.2 Session機製 124
5.5 Applet 128
5.6 Servlet 132
5.7 SSH框架與應用開發 136
5.7.1 SSH 136
5.7.2 Struts 137
5.7.3 Spring 142
5.7.4 Hibernate 143
5.7.5 基於SSH的應用開發
案例 146
習題 156
參考文獻 160
第6章 P2P原理與實踐 161
6.1 P2P概述 161
6.1.1 P2P的概念 161
6.1.2 P2P的發展曆程 162
6.1.3 P2P的技術特點 163
6.1.4 P2P的實踐應用 164
6.2 P2P網絡的分類 164
6.3 P2P的典型應用係統 168
6.4 P2P編程實踐 170
6.5 P2P的研究現狀與未來發展 176
6.5.1 P2P的研究現狀 176
6.5.2 P2P的未來發展 177
習題 178
參考文獻 179
第7章 Web Services 180
7.1 Web Services概述 180
7.1.1 Web Services的背景和概念 180
7.1.2 Web Services的特點 180
7.1.3 Web Services的應用場閤 181
7.1.4 Web Services技術架構 182
7.1.5 Web Services工作原理 184
7.1.6 Web Services的開發 184
7.2 XML 186
7.2.1 XML概述 186
7.2.2 XML文檔和語法 187
7.2.3 XML命名空間 192
7.2.4 XML模式 194
7.3 基於SOAP的Web Services 200
7.3.1 SOAP概述 201
7.3.2 SOAP消息結構 201
7.3.3 SOAP消息交換模型 205
7.3.4 SOAP應用模式 206
7.3.5 WSDL 208
7.3.6 UDDI 213
7.3.7 開發基於SOAP的Web Services 216
習題 224
參考文獻 224
第8章 雲計算原理與技術 226
8.1 雲計算概述 226
8.1.1 雲計算的起源 226
8.1.2 雲計算的定義 227
8.1.3 雲計算的分類 228
8.1.4 雲計算與其他計算形式 231
8.2 雲計算關鍵技術 232
8.2.1 體係結構 232
8.2.2 數據存儲 233
8.2.3 計算模型 235
8.2.4 資源調度 237
8.2.5 虛擬化 237
8.3 Google雲計算原理 238
8.3.1 GFS 238
8.3.2 MapReduce 238
8.3.3 BigTable 239
8.3.4 Dremel 242
8.4 Amazon雲服務 244
8.4.1 Amazon雲平颱存儲架構 244
8.4.2 其他組件 246
8.5 雲計算研究與發展方嚮 250
8.5.1 雲資源調度與任務調度 250
8.5.2 雲計算能耗管理 253
8.5.3 基於雲計算的應用 256
8.5.4 雲計算安全 257
習題 259
參考文獻 259
第9章 雲計算模擬編程實踐 263
9.1 CloudSim體係結構和API 263
9.1.1 CloudSim體係結構 263
9.1.2 CloudSim3.0 API 268
9.2 CloudSim環境搭建及程序運行 272
9.2.1 環境配置 272
9.2.2 運行樣例程序 272
9.3 CloudSim擴展編程 275
9.3.1 調度策略的擴展 275
9.3.2 仿真核心代碼 277
9.3.3 平颱重編譯 281
9.4 CloudSim編程實踐 282
9.4.1 CloudSim任務調度編程 282
9.4.2 CloudSim網絡編程 287
9.4.3 CloudSim能耗編程 290
習題 301
參考文獻 302
第10章 雲存儲技術 303
10.1 存儲概述 303
10.1.1 存儲組網形態 303
10.1.2 RAID 307
10.1.3 磁盤熱備 312
10.1.4 快照 313
10.1.5 數據分級存儲的概念 314
10.2 雲存儲的概念與技術原理 314
10.2.1 分布式存儲 315
10.2.2 存儲虛擬化 321
10.3 雲存儲産品與係統 323
10.3.1 公有雲的雲存儲産品 323
10.3.2 私有雲的雲存儲産品 325
10.4 對象存儲技術 327
10.4.1 對象存儲架構 328
10.4.2 傳統塊存儲與對象存儲 328
10.4.3 對象 328
10.4.4 對象存儲係統的組成 330
10.5 存儲技術的發展趨勢 331
習題 334
參考文獻 334
第11章 大數據技術與實踐 335
11.1 大數據概述 335
11.1.1 大數據産生的背景 335
11.1.2 大數據的定義 335
11.1.3 大數據的4V特徵 336
11.2 大數據存儲平颱 336
11.2.1 HDFS 336
11.2.2 HBase 343
11.2.3 Cassandra 353
11.2.4 Redis 360
11.2.5 MongoDB 366
11.3 大數據計算模式 373
11.3.1 PRAM 373
11.3.2 BSP 374
11.3.3 LogP 376
11.3.4 MapReduce 377
11.3.5 Spark 382
11.4 大數據分析處理平颱 388
11.4.1 Impala平颱 388
11.4.2 HadoopDB平颱 390
11.5 大數據存儲編程實踐 392
11.5.1 HDFS讀寫程序範例 392
11.5.2 HBase讀寫程序範例 393
11.6 大數據並行計算編程實踐 395
11.6.1 基於MapReduce的程序實例(HDFS) 395
11.6.2 基於MapReduce的程序實例(HBase) 404
11.6.3 基於Spark的程序實例 407
11.6.4 基於Impala的程序實例 410
11.7 大數據研究與發展方嚮 413
11.7.1 數據的不確定性與數據質量 413
11.7.2 跨領域的數據處理方法的可移植性 413
11.7.3 數據處理的時效性保證——內存計算 413
11.7.4 流式數據的實時處理 415
11.7.5 大數據應用 416
11.7.6 大數據發展趨勢 417
習題 418
參考文獻 419
第12章 電商大數據分析技術 421
12.1 電商大數據分析需求與方法概述 421
12.1.1 電商大數據的分析與數據推薦需求 421
12.1.2 電商大數據的數據結構和數據推薦評價指標 422
12.1.3 推薦算法和技術簡介 423
12.2 基於規則統計模型的大數據分析方法與實現 424
12.2.1 程序運行說明 424
12.2.2 數據整理 424
12.2.3 構建離綫評估模型 427
12.2.4 多個模型結果的並集與交集 429
12.2.5 購買即推薦模型 433
12.2.6 前三個月購買,後一個月隻有點擊 435
12.2.7 最近k天對該品牌有操作,即將此品牌推薦 436
12.2.8 對某商品連續操作n次以上便推薦 438
12.2.9 基於時間權重的模型 439
12.3 基於協同過濾推薦模型的大數據分析方法與實現 442
12.3.1 協同過濾基本原理 442
12.3.2 協同過濾方法的選擇 444
12.3.3 用Maven構建Mahout協同過濾項目 445
12.3.4 Mahout單機基於用戶協同過濾 450
12.3.5 Mahout單機基於物品相似協同過濾 451
12.3.6 基於Hadoop的Mahout分布式開發 453
12.4 基於邏輯迴歸模型的大數據分析方法與實現 459
12.4.1 邏輯迴歸的基本原理 459
12.4.2 邏輯迴歸的簡單實現 460
習題 467
參考文獻 467
前言/序言
背景分布式計算從20世紀六七十年代發展到現在,一直是計算機科學技術的理論與應用的熱點問題,特彆是最近幾年,隨著互聯網、移動互聯網、社交網絡應用的發展,急需分布式計算的新技術——雲計算、大數據,以滿足和實現新時代計算機的應用需求。雲計算、大數據等新技術本質上是分布式計算的發展和延伸,現有的書籍一般很少把經典的分布式計算與新興的雲計算、大數據等技術綜閤起來,並以應用需求為背景來剖析這些技術的原理和應用方法,本書正是為瞭適應這一新的發展趨勢和需求而編寫的,希望對雲計算、大數據等新技術的研究與應用起到一定的作用。 內容規劃本書包含傳統分布式計算、雲計算和大數據三方麵的內容,具體內容包括:傳統分布式計算的基本原理、核心技術、相關開發技術與方法(Socket、RMI、P2P、Web Services);雲計算概述與原理、雲計算架構與實現技術(Google、Amazon的雲計算技術)、雲計算研究現狀與發展方嚮、雲計算模擬編程實踐、雲存儲技術、雲計算安全問題與技術;大數據的分析計算模型(PRAM、BSP、LogP、MapReduce、Spark內存計算等)、大數據存儲平颱(Hadoop[HDFS/HBase]、Cassandra、Redis、MongoDB等)、大數據分析處理技術(Impala、Hadoopdb、Spark等)、大數據編程技術及研究現狀、電商大數據分析技術等。全書共12章,各章之間的層次關係如下: 教學資源與使用方法本書提供配套的PPT課件和課後習題參考答案,使用本書進行教學的教師可以從華章網站(www.hzbook.com)下載或發送電子郵件至linww@scut.edu.cn或lin_w_w@qq.com嚮編者索取。 本書可以作為計算機及相關專業高年級本科生和研究生的教材,建議在學習過操作係統、計算機網絡、麵嚮對象編程語言之後學習本課程。本書內容可根據不同的教學目的和對象進行選擇,例如,對於本科類的分布式計算相關課程,可以選擇分布式計算相關章節(第1~7章)重點講解;對於本科類的雲計算相關課程,可以選擇分布式計算和雲計算相關章節(第1~10章)重點講解;對於本科類的大數據相關課程,可以選擇分布式計算和大數據相關章節(第1~7和11、12章)重點講解;對於研究生的課程,可以選擇雲計算和大數據相關章節重點講解。根據本書的定位,建議每章講授的最低學時分配如下: 章號
建議重點講授章節
建議學時第1章
1.1,1.2,1.3.1,1.3.2,1.3.3
2第2章
所有內容
2第3章
3.2,3.5,3.6,3.7
4第4章
4.2,4.3,4.4
4第5章
5.1.3,5.3,5.4,5.7.5
6第6章
6.2,6.4
2第7章
7.1.4,7.1.5,7.2.2,7.3
3第8章
8.1,8.2,8.3,8.4
3第9章
9.1,9.3,9.4
4第10章
10.2,10.4
4第11章
11.2,11.3.4,11.3.5,11.4,11.5,11.6
8第12章
12.2,12.3,12.4
8此外,本書的教學應該有相應的實驗課程,建議實驗課程學時數不少於理論課程學時數的三分之一。 緻謝本書由林偉偉博士負責總體設計、組織編寫和內容把關,劉波教授負責全書審校和整體潤色。在本書的編寫過程中,項目組多位研究生投入大量精力進行程序設計與資料收集、整理工作,他們是張子龍、郭超、徐思堯、李
分布式計算、雲計算與大數據 下載 mobi epub pdf txt 電子書 格式