深入淺出 Hyperscan:高性能正則表達式算法原理與設計
王翔,昌昊,洪揚,張磊
- 出版商: 人民郵電
- 出版日期: 2021-09-01
- 定價: $479
- 售價: 8.5 折 $407
- 語言: 簡體中文
- 頁數: 258
- 裝訂: 平裝
- ISBN: 7115552096
- ISBN-13: 9787115552099
-
相關分類:
Algorithms-data-structures
立即出貨
買這商品的人也買了...
-
$403基於Unity與SteamVR構建虛擬世界 -
OAuth 2 實戰 (OAuth 2 in Action)$534$507 -
$403Linux 開源網絡全棧詳解:從 DPDK 到 OpenFlow -
$654虛擬現實 VR 和增強現實 AR 從內容應用到設計 -
$534WebRTC Native 開發實戰 -
WebRTC 音視頻開發:React + Flutter + Go 實戰$594$564 -
Reinforcement Learning|強化學習深度解析 (繁體中文版) (Reinforcement Learning: An Introduction, 2/e)$1,200$948 -
WebRTC 技術詳解:從0到1構建多人視頻會議系統$594$564 -
數位金融與金融科技, 3/e$500$450 -
$568數據結構與算法之美 (全彩印刷) -
超大流量系統解決方案 : 大型網站架構師的經驗分享$690$538 -
WebRTC 音視頻實時互動技術:原理、實戰與源碼分析$534$507 -
$449科學之路:人、機器與未來 -
$521金融機構審計實務指南 -
金融科技實務與應用:360度顧客視圖 + 場景金融$420$332 -
$659數據結構編程實驗:大學程序設計課程與競賽訓練教材(第3版) -
百萬在線:大型遊戲服務端開發$594$564 -
$327深入理解 RISC-V 程序開發 -
PHP 面試一戰到底$534$507 -
嵌入式深度學習:算法和硬件實現技術$594$564 -
實戰資料流架構:用 Apache Flink 建立永續高性能服務$880$695 -
$284Unity 虛擬現實開發實戰(慕課版) -
手把手教你 RISC-V CPU (下) : 工程與實踐$534$507 -
手把手教你 RISC-V CPU (上) : 處理器設計$659$626 -
AR Unity 擴增實境實務開發$330$281
簡體館年度書展|現貨2書79折3書75折 詳見活動內容 »
-
VIP 95折
深入淺出 SSD 測試 : 固態存儲測試流程 方法與工具$594$564 -
VIP 95折
MCP 開發從入門到實戰$515$489 -
85折
$806Linux x64 匯編語言編程 -
VIP 95折
MCP 極簡開發 : 輕鬆打造高效智能體$479$455 -
VIP 95折
RISC-V 架構 DSP 處理器設計$534$507 -
VIP 95折
硬件系統模糊測試:技術揭秘與案例剖析$419$398 -
85折
$454RAG 實踐權威指南:構建精準、高效大模型之道 -
VIP 95折
CUDA 並行編程與性能優化$714$678 -
VIP 95折
生成式視覺模型原理與實踐$288$274 -
87折
$459AI大模型:賦能通信產業 -
VIP 95折
科學預測——預見科學之美$408$388 -
VIP 95折
Processing創意編程入門:從編程原理到項目案例$299$284 -
VIP 95折
大模型驅動的具身智能 架構,設計與實現$534$507 -
VIP 95折
納米級CMOS VLSI電路(可制造性設計)$474$450 -
VIP 95折
Manus應用與AI Agent設計指南:從入門到精通$359$341 -
87折
$360高薪Offer 簡歷、面試、談薪完全攻略 -
VIP 95折
軟件系統優化$534$507 -
87折
$360芯片的較量 (日美半導體風雲) -
VIP 95折
Manus AI 智能體從入門到精通$294$279 -
87折
$981深度學習:基礎與概念 -
VIP 95折
GitHub Copilot 編程指南$594$564 -
79折
$425Cursor 與 Copilot 開發實戰 : 讓煩瑣編程智能化 -
85折
$551C#核心編程200例(視頻課程+全套源程序) -
VIP 95折
Verilog HDL計算機網絡典型電路算法設計與實現$354$336 -
VIP 95折
SAAS + AI 架構實戰:業務解析、架構設計、AI 應用$708$673
簡體館年度書展|現貨2書79折3書75折 詳見活動內容 »
-
85折
$806Linux x64 匯編語言編程 -
VIP 95折
MCP 極簡開發 : 輕鬆打造高效智能體$479$455 -
VIP 95折
RISC-V 架構 DSP 處理器設計$534$507 -
VIP 95折
硬件系統模糊測試:技術揭秘與案例剖析$419$398 -
85折
$454RAG 實踐權威指南:構建精準、高效大模型之道 -
VIP 95折
生成式視覺模型原理與實踐$288$274 -
87折
$459AI大模型:賦能通信產業 -
VIP 95折
科學預測——預見科學之美$408$388 -
VIP 95折
Processing創意編程入門:從編程原理到項目案例$299$284 -
87折
$360高薪Offer 簡歷、面試、談薪完全攻略 -
VIP 95折
軟件系統優化$534$507 -
87折
$360芯片的較量 (日美半導體風雲) -
VIP 95折
GitHub Copilot 編程指南$594$564 -
85折
$551C#核心編程200例(視頻課程+全套源程序) -
VIP 95折
SAAS + AI 架構實戰:業務解析、架構設計、AI 應用$708$673 -
VIP 95折
深入淺出 Docker, 2/e$419$398 -
85折
$658Unity 特效制作:Shader Graph 案例精講 -
79折
$275零基礎玩轉國產大模型DeepSeek -
VIP 95折
人工智能大模型:機器學習基礎$774$735 -
VIP 95折
RAG 極簡入門:原理與實踐$419$398 -
VIP 95折
大模型實戰 : 從零實現 RAG 與 Agent 系統$419$398 -
VIP 95折
算法趣學(第2版)$348$331 -
VIP 95折
大模型理論與實踐——打造行業智能助手$354$336 -
VIP 95折
大模型應用開發 RAG 實戰課$599$569 -
85折
$509生成式人工智能 (基於 PyTorch 實現)
相關主題
商品描述
《深入淺出 Hyperscan:高性能正則表達式算法原理與設計》系統、循序漸進地介紹Hyperscan技術。全書共8章,主要介紹正則表達式、匹配算法和正則表達式匹配所依賴的自動機原理、正則表達式匹配庫等,並重點介紹Hyperscan的功能特性、設計原理和性能調優技巧,以及匹配引擎的核心算法和SIMD加速技術的運用,還展示了Hyperscan多樣化的應用場景。
《深入淺出 Hyperscan:高性能正則表達式算法原理與設計》既適合作為Hyperscan開發者的學慣用書,也適合作為高等院校電腦相關專業的師生用書和相關培訓學校的教材。
作者簡介
王翔,英特爾數據中心網絡平臺部資深工程師,Hyperscan 項目主要技術負責人。
昌昊,英特爾資深軟件工程師,負責Hyperscan算法開發和性能調優等相關工作。
洪楊,英特爾資深軟件工程師,負責 Hyperscan研發。
張磊,英特爾網絡平臺部門軟件應用工程師,主要負責DPDK、Hyperscan、QAT等網絡加速方案的技術支持。
目錄大綱
目錄
第 1章 正則表達式簡介 1
1.1 正則表達式的語法 1
1.2 正則表達式的流派與標準 7
1.2.1 PCRE簡介 7
1.2.2 POSIX標準 8
1.3 本章參考 10
第 2章 正則表達式匹配算法 11
2.1 純字符串匹配 11
2.1.1 單字符串匹配KMP算法 11
2.1.2 單字符串匹配BM算法 16
2.1.3 多字符串匹配AC算法 21
2.1.4 AC算法與單字符串匹配 24
2.1.5 SHIFT-OR算法 25
2.2 非確定性有限狀態自動機 28
2.2.1 定義 28
2.2.2 運算優先級 29
2.2.3 Thompson構造法 31
2.2.4 ε-NFA的簡化 34
2.2.5 Glushkov構造法 36
2.3 確定性有限狀態自動機 40
2.3.1 定義 40
2.3.2 從NFA到DFA 40
2.3.3 DFA的狀態規模 46
2.3.4 DFA的狀態最小化 52
2.4 本章參考 55
第3章 正則表達式匹配庫 56
3.1 PCRE 56
3.1.1 語法支持 56
3.1.2 設計概述 57
3.1.3 基本API和示例代碼 58
3.2 RE2 60
3.2.1 語法支持 60
3.2.2 設計概述 60
3.2.3 基本API和示例代碼 60
3.3 Hyperscan 61
3.3.1 語法支持 61
3.3.2 匹配模式 62
3.3.3 設計概述 63
3.3.4 基本API和示例代碼 64
3.4 正則表達式匹配庫的比較 65
3.4.1 概述 65
3.4.2 語法支持 65
3.4.3 設計原理 66
3.4.4 性能 68
3.5 本章參考 70
第4章 Hyperscan特性 71
4.1 Hyperscan的語義 71
4.2 編譯期和運行期 71
4.2.1 編譯期 72
4.2.2 運行期 74
4.3 Hyperscan高級特性 77
4.3.1 流狀態壓縮 77
4.3.2 近似匹配 78
4.3.3 邏輯組合 79
4.3.4 Chimera 80
4.4 Hyperscan工具 82
4.4.1 hsbench 82
4.4.2 hscheck 84
4.4.3 hscollider 85
4.4.4 hsdump 88
第5章 Hyperscan設計原理 92
5.1 設計原則 92
5.1.1 實用性優先 92
5.1.2 極端情況可用 93
5.1.3 流模式支持 93
5.1.4 大規模可擴展 93
5.1.5 小規模高性能 94
5.1.6 性能優先 94
5.1.7 平衡開銷 94
5.1.8 漸進主義 95
5.1.9 可測試性設計和自動可測試性設計 96
5.2 運行原理 96
5.2.1 匹配組件 97
5.2.2 匹配原則 100
5.2.3 運行期實現 103
5.2.4 運行期優化 108
5.3 圖分解 112
5.3.1 支配路徑分析 114
5.3.2 支配區域分析 115
5.3.3 網絡流分析 116
5.3.4 圖分解流程 117
5.4 圖優化 122
5.4.1 節點冗餘 123
5.4.2 邊冗餘 129
5.5 本章參考 132
第6章 Hyperscan引擎 133
6.1 SIMD加速 133
6.1.1 搜索單字符的加速 133
6.1.2 搜索雙字符序列的加速 134
6.1.3 搜索小規模單字符集的加速 136
6.1.4 搜索大規模單字符集的加速 140
6.1.5 環視機制 143
6.2 純字符串匹配 148
6.2.1 純字符串匹配在Hyperscan中的作用 148
6.2.2 單字符串匹配器“Noodle” 148
6.2.3 大規模多字符串匹配器“FDR” 150
6.2.4 小規模多字符串匹配器“Teddy” 156
6.3 正則引擎 160
6.3.1 NFA引擎 160
6.3.2 DFA引擎 168
6.3.3 重複引擎 186
6.3.4 Tamarama 197
第7章 Hyperscan性能優化 199
7.1 Hyperscan性能測試 199
7.1.1 性能測試目的 199
7.1.2 基於性能的硬件和GRUB配置 199
7.1.3 hsbench測試 201
7.2 Hyperscan性能調優技巧 205
7.2.1 正則表達式構造 206
7.2.2 軟件庫的使用 207
7.2.3 塊模式 207
7.2.4 數據庫分配 209
7.2.5 scratch內存分配 209
7.2.6 錨定規則 211
7.2.7 隨處匹配的規則 212
7.2.8 流模式下的重複語義 213
7.2.9 青睞字符串 214
7.2.10 DOTALL標誌 215
7.2.11 單次匹配標誌 216
7.2.12 Start of Match標誌 217
7.2.13 近似匹配 218
第8章 Hyperscan實際案例學習 221
8.1 Snort 221
8.1.1 介紹 221
8.1.2 Hyperscan集成 222
8.1.3 基於內存的性能測試 225
8.2 Suricata 229
8.2.1 介紹 229
8.2.2 Hyperscan集成 229
8.2.3 基於內存的性能測試 234
8.3 垃圾郵件檢測 238
8.4 深度報文檢測 242
8.4.1 nDPI 242
8.4.2 UDPI 245
8.5 數據庫 247
8.5.1 整合概述 248
8.5.2 實驗結果與分析 250
8.6 Web應用防火牆 254


