系統級編程及分布式應用實現技術

李傳煌,金蓉,姜國新,時磊,馬博,諸葛斌

  • 出版商: 清華大學
  • 出版日期: 2026-06-01
  • 定價: $359
  • 售價: $358
  • 語言: 簡體中文
  • ISBN: 7302718288
  • ISBN-13: 9787302718284
  • 相關分類: LinuxMessage Queue
  • 下單後立即進貨 (約4週~6週)

  • 系統級編程及分布式應用實現技術-preview-1
  • 系統級編程及分布式應用實現技術-preview-2
  • 系統級編程及分布式應用實現技術-preview-3
  • 系統級編程及分布式應用實現技術-preview-4
  • 系統級編程及分布式應用實現技術-preview-5
  • 系統級編程及分布式應用實現技術-preview-6
  • 系統級編程及分布式應用實現技術-preview-7
系統級編程及分布式應用實現技術-preview-1

相關主題

商品描述

"本書全面、系統地介紹系統級編程原理及在分布式網絡通信中的應用和實現,是編程技術的提高篇。全書共9章,主要包括兩部分內容。第一部分循序漸進、由淺入深地幫助讀者掌握系統級編程及網絡通信基礎知識,通過介紹軟件系統的構造過程,回答大型軟件系統是如何編譯和如何自動構造的,同時詳細介紹了系統級軟件在實現過程中所涉及的進程、線程、資源共享及網絡通信等基礎知識,通過系統的介紹和實例演示,幫助讀者從零開始建立起系統級編程的認知和實踐能力。在分布式系統實現過程中,基於第一部分所介紹的基礎技術及套接字通信產生了一批更高層的分布式系統技術架構,如遠程過程調用技術(RPC)、基於SOAP的服務計算、RESTful、微服務架構等。本書第二部分重點介紹上述已有的主流分布式系統框架,針對大型分布式系統的實現,開發者可借助上述常用分布式系統架構和技術,更加快速、高效地構建分布式應用。 本書內容詳盡明晰,難易適度,既可作為在校專科生、本科生及研究生的編程類課程教材,也可作為從事系統級軟件開發從業人員或有意考取系統開發相關證書的應試人員的參考書。 "

作者簡介

李傳煌,教授,博導,浙江省科技創新領軍人才。現任浙江工商大學科技部部長、網絡與通信工程研究所所長。曾任信電學院副院長、網絡信息中心副主任。研究方向為新一代網絡、算力網絡與邊緣計算。主持國家級項目3項,參與多項國家級重點項目,聯合制定RFC6956等國際標準,發表論文50余篇,授權專利37項。

目錄大綱

 

目錄

 

 

 

程序源碼

 

 

 

第一部分系統級編程及網絡通信基礎

 

第1章系統級軟件構建基礎

 

1.1軟件構建系統過程中常用的編譯工具

 

1.1.1GCC編譯器的基本工作過程

 

1.1.2GCC編譯器的使用

 

1.1.3軟件構建系統過程中的補充說明

 

1.2基於make的構建工具

 

1.2.1Makefile的入門示例

 

1.2.2Makefile詳解

 

1.2.3make的工作原理

 

1.3基於CMake的構建工具

 

1.3.1CMake的安裝

 

1.3.2CMake的原理

 

1.3.3CPack的打包

 

1.4CMake構建軟件綜合實例

 

1.4.1項目結構

 

1.4.2實例實現

 

1.4.3運行結果

 

1.5本章小結

 

1.6習題1

 

第2章系統級軟件多任務編程技術

 

2.1概述

 

2.1.1並行與並發

 

2.1.2進程與線程

 

2.1.3多任務協同

 

2.2多進程編程實踐——以Linux平臺為例

 

2.2.1進程控制

 

2.2.2消息隊列

 

2.3多線程編程實踐——以Linux平臺為例

 

2.3.1線程控制

 

2.3.2線程協同

 

2.3.3線程池

 

2.4本章小結

 

2.5習題2

 

第3章系統級軟件開發中的死鎖問題

 

3.1死鎖概述

 

3.2死鎖的解決策略

 

3.3編程技巧與實踐

 

3.4本章小結

 

3.5習題3

 

第4章軟件系統網絡通信的實現

 

4.1網絡通信基礎

 

4.1.1OSI參考模型

 

4.1.2TCP/IP協議

 

4.1.3UDP協議

 

4.1.4TCP協議

 

4.1.5ICMP協議

 

4.2套接字編程

 

4.2.1Client/Server通信模型

 

4.2.2Socket及其工作步驟

 

4.2.3Socket編程涉及的相關概念

 

4.2.4Berkeley Socket常用函數

 

4.2.5Socket系統調用的具體使用方法

 

4.2.6其他Socket系統調用

 

4.3套接字編程實例

 

4.3.1項目功能介紹

 

4.3.2Socket在代碼中的作用

 

4.4本章小結

 

4.5習題4

 

第5章系統級軟件編程實例——智慧旅遊服務系統

 

5.1系統架構設計

 

5.2網絡通信協議設計

 

5.2.1TMEP協議數據結構設計

 

5.2.2TMEP協議數據解析設計

 

5.2.3TMEP協議客戶端請求設計

 

5.2.4TMEP協議服務器端響應設計

 

5.3基於make構建智慧旅遊服務系統

 

5.3.1客戶端的Makefile文件

 

5.3.2服務器端的Makefile文件

 

5.4用戶管理模塊的實現

 

5.4.1采用循環實現的無連接服務

 

5.4.2采用循環實現的面向連接服務

 

5.4.3采用多線程並發實現的面向連接服務

 

5.4.4采用線程池並發實現的面向連接服務

 

5.4.5采用多進程並發實現的面向連接服務

 

5.4.6采用單線程並發實現的面向連接服務

 

5.5旅遊信息查詢模塊的實現

 

5.5.1查詢功能數據表設計

 

5.5.2查詢功能代碼的實現

 

5.5.3將程序打包為RPM和DEB

 

5.6定時更新氣象信息

 

5.6.1相關數據結構設計

 

5.6.2客戶端和服務器端通信

 

5.6.3客戶端代碼說明

 

5.6.4服務器端代碼說明

 

5.7用戶互動和社交服務

 

5.7.1服務器端的實現

 

5.7.2客戶端的實現

 

5.8本章小結

 

5.9習題5

 

第二部分常用分布式應用實現技術

 

第6章分布式系統概述

 

6.1概述

 

6.1.1分布式系統簡介

 

6.1.2分布式系統的特點

 

6.1.3分布式架構與中心化架構的對比

 

6.2分布式系統模型

 

6.2.1分布式系統模型簡介

 

6.2.2物理模型

 

6.2.3體系結構模型

 

6.2.4基礎模型

 

6.3常用的分布式網絡架構

 

6.3.1RPC通信簡介

 

6.3.2SOA及SOAP簡介

 

6.3.3RESTful簡介

 

6.4本章小結

 

6.5習題6

 

第7章RPC技術原理及應用

 

7.1RPC概述

 

7.1.1RPC簡介

 

7.1.2RPC與傳統網絡通信的對比

 

7.2RPC的工作原理

 

7.2.1RPC的交互過程

 

7.2.2RPC的完整架構

 

7.2.3RPC的調用流程

 

7.3分布式RPC框架Dubbo

 

7.3.1Dubbo架構及原理

 

7.3.2Dubbo開發示例

 

7.4基於RPC架構的旅遊信息服務的實現

 

7.4.1server端的實現

 

7.4.2client端的實現

 

7.4.3實例展示

 

7.5本章小結

 

7.6習題7

 

第8章RESTful架構及應用

 

8.1REST和RESTful

 

8.1.1REST及其特性

 

8.1.2RESTful架構及其特點

 

8.1.3RESTful架構與傳統網絡通信的對比

 

8.2RESTful的工作原理

 

8.2.1客戶端服務器

 

8.2.2無狀態

 

8.2.3緩存

 

8.2.4統一接口

 

8.2.5分層系統

 

8.2.6按需代碼

 

8.3基於RESTful架構的景點服務的實現

 

8.3.1定義景點實體(Attraction)

 

8.3.2創建景點服務(AttractionService)

 

8.3.3實現RESTful控制器

 

8.3.4實例演示

 

8.4本章小結

 

8.5習題8

 

第9章微服務架構及應用

 

9.1從單體應用到微服務

 

9.1.1服務架構的演變歷程

 

9.1.2微服務生態系統

 

9.1.3主流的微服務平臺

 

9.2模塊拆分及微服務架構

 

9.2.1模塊拆分的原則

 

9.2.2微服務的關鍵技術及組件

 

9.3服務治理

 

9.3.1基本概念與問題引入

 

9.3.2服務註冊

 

9.3.3服務發現

 

9.4服務之間的調用

 

9.4.1服務提供者與消費者

 

9.4.2調用模式

 

9.5基於SpringBoot的智能旅遊服務的實現

 

9.5.1系統功能介紹

 

9.5.2系統搭建

 

9.5.3旅遊服務預訂模塊的設計及實現

 

9.5.4AI服務模塊的設計及實現——智能旅遊客服

 

9.6本章小結

 

9.7習題9

 

附錄A開發環境準備

 

A.1硬件選擇

 

A.2操作系統

 

A.3基本編輯器VIM

 

A.4VS Code的安裝及使用

 

附錄BMySQL數據庫的安裝和使用

 

B.1MariaDB的安裝

 

B.2創建數據庫和數據表

 

附錄CC語言操作MySQL數據庫

 

C.1查詢MySQL客戶端版本

 

C.2連接MySQL數據庫

 

C.3查詢表記錄

 

C.4插入表記錄

 

C.5修改表記錄

 

C.6刪除表記錄

 

C.7MySQL開發的整體流程

 

C.8庫及頭文件

 

C.9MySQL常用數據結構

 

C.10MySQL常用數據庫操作函數

 

C.11代碼模塊化

 

參考文獻