Flink 狀態管理的核心能力

我們來看一個復雜的實際案例:阿里巴巴菜鳥的實時物流追蹤系統。

該系統處理來自多個電商平臺(天貓、淘寶、速賣通)的訂單包裹,通過一個復雜的處理流程:

合并與去重:通過聚合操作將不同來源的訂單合并并去重;
雙流驅動 Join:將物流更新信息與訂單數據關聯以及訂單更新信息和物流信息關聯,生成最新的物流狀態;
復雜事件處理(CEP):基于 CEP 檢測物流異常;
實時分析:按訂單來源聚合來計算準時送達率等指標。
Flink 狀態管理的核心能力

Flink 的狀態管理系統提供了四項關鍵能力

Exactly-Once 語義
Flink 通過全局檢查點機制,確保在整個分布式拓撲中創建一致的狀態快照。當發生故障時,系統執行原子恢復,保證數據一致性。通過在所有節點間協調狀態快照,Flink 實現了端到端的數據完整性保障。

事件時間與亂序處理
現實中的數據流很少按完美順序到達,但 Flink 仍能提供準確的基于時間的計算結果。系統通過水位線(Watermark)協調機制,在容忍延遲數據的同時,確保分布式算子間的時間一致性,維持處理的正確性。

可擴展性與彈性
Flink 的狀態架構通過互不重疊的鍵組(key groups)對狀態進行分區并分布到計算節點上,支持獨立的擴縮容決策。這種設計使得應用可以在動態調整規模,無縫適應不斷變化的工作負載。

性能與可靠性
系統提供低延遲的狀態訪問能力,滿足實時性要求,同時通過分布式快照機制保障強容錯能力。這種組合確保了在不同負載條件下的一致性能表現,使 Flink 能夠勝任嚴苛的生產環境需求。

演進之路:從嵌入式到解耦式架構
第一代:嵌入式本地狀態(Flink 1.x)

最初的架構將狀態以 JVM Heap 對象的形式存儲在 TaskManager 的內存中。對于小規模數據集,這種方式效果良好,但隨著狀態大小的增長超出內存,將所有狀態保存在內存中變得成本高昂且不穩定。

為了解決狀態規模增長的問題,引入了一種利用本地磁盤的嵌入式狀態后端。在這種方法中,狀態內置于計算節點中(Task Manager),使用本地盤實現快速訪問,同時通過定期的分布式文件系統(DFS)快照來保證一致性。

第二代:云原生存算分離狀態(Flink 2.0)

核心架構創新
Apache Flink 2.0 引入 ForSt 存算分離狀態后端代表 Flink 狀態管理方式的根本轉變:

無限且獨立的狀態容量:通過將分布式文件系統作為 active state 的主存儲,系統實現了不受本地磁盤限制的無限狀態容量。
高效輕量的 Checkpoint:以 DFS 為基礎,ForSt 實現 active state 的工作目錄與 checkpoint 目錄之間共享物理文件,避免了在 Checkpointing 期間上傳或拷貝大量文件,從而顯著降低開銷。
即時容錯恢復和擴縮容:通過直接 DFS 訪問,消除了狀態下載延遲,實現即時作業恢復
平滑資源使用:遠程 Compaction 服務將文件整理操作從核心數據處理鏈路中剝離,使得資源使用平滑穩定。
這種架構實現了真正意義上的獨立可擴展性:處理能力可獨立于狀態大小進行調整,存儲也可在不改變計算資源的情況下擴展,帶來了顯著的資源優化與高效利用。
https://github.com/trompebonyoconnelltromp-dot/w8r/issues/241
https://github.com/nowevelynnienow-gif/0x0/issues/265
https://github.com/monisterrisimonis-design/zai/issues/254
https://github.com/rogeliohartmannmann-cpu/bnr/issues/256
https://github.com/songlennrolfson-cmd/jop/issues/246
https://github.com/camillekerlukeluke-blip/rup/issues/256
https://github.com/angtommylang-boop/ywt/issues/241
https://github.com/olivewildermanerman-prog/eg9/issues/246
https://github.com/glennleannonnnon-cmd/xy3/issues/244
https://github.com/ertmichelleebert-max/cpz/issues/252
https://github.com/lynnlangworthorth-glitch/ahg/issues/263
https://github.com/samuelhansenansen-pixel/0oq/issues/245
https://github.com/bertsteresaroberts-svg/9sv/issues/251
https://github.com/hkecaseyleuschke-netizen/zyk/issues/255
https://github.com/odelarrybode-tech/hsd/issues/253
https://github.com/mansaratillman-alt/vbl/issues/258
https://github.com/arveybrittanyharvey-arch/1re/issues/260
https://github.com/nowevelynnienow-gif/0x0/issues/264
https://github.com/benhodkiewiczwicz-ops/h80/issues/249
https://github.com/trompebonyoconnelltromp-dot/w8r/issues/240
https://github.com/dvmkohlerdvm-arch/8gu/issues/246
https://github.com/monisterrisimonis-design/zai/issues/253
https://github.com/ervhellerv-pixel/j8c/issues/244
https://github.com/camillekerlukeluke-blip/rup/issues/255
https://github.com/songlennrolfson-cmd/jop/issues/245
https://github.com/rogeliohartmannmann-cpu/bnr/issues/255
https://github.com/olivewildermanerman-prog/eg9/issues/245
https://github.com/samuelhansenansen-pixel/0oq/issues/244
https://github.com/lynnlangworthorth-glitch/ahg/issues/262
https://github.com/angtommylang-boop/ywt/issues/240
https://github.com/bertsteresaroberts-svg/9sv/issues/250
https://github.com/glennleannonnnon-cmd/xy3/issues/243
https://github.com/ertmichelleebert-max/cpz/issues/251
https://github.com/hkecaseyleuschke-netizen/zyk/issues/254
https://github.com/mansaratillman-alt/vbl/issues/257
https://github.com/nowevelynnienow-gif/0x0/issues/263
https://github.com/arveybrittanyharvey-arch/1re/issues/259
https://github.com/trompebonyoconnelltromp-dot/w8r/issues/239
https://github.com/benhodkiewiczwicz-ops/h80/issues/248
https://github.com/odelarrybode-tech/hsd/issues/252
https://github.com/monisterrisimonis-design/zai/issues/252
https://github.com/dvmkohlerdvm-arch/8gu/issues/245
https://github.com/camillekerlukeluke-blip/rup/issues/254
https://github.com/ervhellerv-pixel/j8c/issues/243
https://github.com/songlennrolfson-cmd/jop/issues/244
https://github.com/olivewildermanerman-prog/eg9/issues/244
https://github.com/samuelhansenansen-pixel/0oq/issues/243
https://github.com/angtommylang-boop/ywt/issues/239
https://github.com/glennleannonnnon-cmd/xy3/issues/242
https://github.com/rogeliohartmannmann-cpu/bnr/issues/254
https://github.com/lynnlangworthorth-glitch/ahg/issues/261
https://github.com/hkecaseyleuschke-netizen/zyk/issues/253
https://github.com/bertsteresaroberts-svg/9sv/issues/249
https://github.com/ertmichelleebert-max/cpz/issues/250
https://github.com/nowevelynnienow-gif/0x0/issues/262
https://github.com/mansaratillman-alt/vbl/issues/256
https://github.com/trompebonyoconnelltromp-dot/w8r/issues/238
https://github.com/arveybrittanyharvey-arch/1re/issues/258
https://github.com/benhodkiewiczwicz-ops/h80/issues/247
https://github.com/odelarrybode-tech/hsd/issues/251
https://github.com/dvmkohlerdvm-arch/8gu/issues/244
https://github.com/camillekerlukeluke-blip/rup/issues/253
https://github.com/monisterrisimonis-design/zai/issues/251
https://github.com/ervhellerv-pixel/j8c/issues/242
https://github.com/olivewildermanerman-prog/eg9/issues/243
https://github.com/samuelhansenansen-pixel/0oq/issues/242
https://github.com/glennleannonnnon-cmd/xy3/issues/241
https://github.com/songlennrolfson-cmd/jop/issues/243
https://github.com/lynnlangworthorth-glitch/ahg/issues/260
https://github.com/angtommylang-boop/ywt/issues/238
https://github.com/nowevelynnienow-gif/0x0/issues/261
https://github.com/hkecaseyleuschke-netizen/zyk/issues/252
https://github.com/bertsteresaroberts-svg/9sv/issues/248
https://github.com/ertmichelleebert-max/cpz/issues/249
https://github.com/mansaratillman-alt/vbl/issues/255
https://github.com/rogeliohartmannmann-cpu/bnr/issues/253
https://github.com/arveybrittanyharvey-arch/1re/issues/257
https://github.com/benhodkiewiczwicz-ops/h80/issues/246
https://github.com/trompebonyoconnelltromp-dot/w8r/issues/237
https://github.com/odelarrybode-tech/hsd/issues/250
https://github.com/camillekerlukeluke-blip/rup/issues/252
https://github.com/monisterrisimonis-design/zai/issues/250
https://github.com/dvmkohlerdvm-arch/8gu/issues/243
https://github.com/ervhellerv-pixel/j8c/issues/241
https://github.com/samuelhansenansen-pixel/0oq/issues/241
https://github.com/olivewildermanerman-prog/eg9/issues/242
https://github.com/glennleannonnnon-cmd/xy3/issues/240
https://github.com/lynnlangworthorth-glitch/ahg/issues/259
https://github.com/nowevelynnienow-gif/0x0/issues/260
https://github.com/angtommylang-boop/ywt/issues/237
https://github.com/songlennrolfson-cmd/jop/issues/242
https://github.com/bertsteresaroberts-svg/9sv/issues/247
https://github.com/mansaratillman-alt/vbl/issues/254
https://github.com/hkecaseyleuschke-netizen/zyk/issues/251
https://github.com/ertmichelleebert-max/cpz/issues/248
https://github.com/benhodkiewiczwicz-ops/h80/issues/245
https://github.com/trompebonyoconnelltromp-dot/w8r/issues/236
https://github.com/camillekerlukeluke-blip/rup/issues/251
https://github.com/rogeliohartmannmann-cpu/bnr/issues/252
https://github.com/odelarrybode-tech/hsd/issues/249
https://github.com/arveybrittanyharvey-arch/1re/issues/256
https://github.com/monisterrisimonis-design/zai/issues/249
https://github.com/samuelhansenansen-pixel/0oq/issues/240
https://github.com/olivewildermanerman-prog/eg9/issues/241
https://github.com/ervhellerv-pixel/j8c/issues/240
https://github.com/glennleannonnnon-cmd/xy3/issues/239
https://github.com/lynnlangworthorth-glitch/ahg/issues/258
https://github.com/dvmkohlerdvm-arch/8gu/issues/242
https://github.com/bertsteresaroberts-svg/9sv/issues/246
https://github.com/mansaratillman-alt/vbl/issues/253
https://github.com/nowevelynnienow-gif/0x0/issues/259
https://github.com/hkecaseyleuschke-netizen/zyk/issues/250
https://github.com/songlennrolfson-cmd/jop/issues/241
https://github.com/angtommylang-boop/ywt/issues/236
https://github.com/ertmichelleebert-max/cpz/issues/247
https://github.com/trompebonyoconnelltromp-dot/w8r/issues/235
https://github.com/camillekerlukeluke-blip/rup/issues/250
https://github.com/rogeliohartmannmann-cpu/bnr/issues/251
https://github.com/benhodkiewiczwicz-ops/h80/issues/244
https://github.com/odelarrybode-tech/hsd/issues/248
https://github.com/samuelhansenansen-pixel/0oq/issues/239
https://github.com/ervhellerv-pixel/j8c/issues/239
https://github.com/olivewildermanerman-prog/eg9/issues/240
https://github.com/lynnlangworthorth-glitch/ahg/issues/257
https://github.com/monisterrisimonis-design/zai/issues/248
https://github.com/glennleannonnnon-cmd/xy3/issues/238
https://github.com/arveybrittanyharvey-arch/1re/issues/255
https://github.com/mansaratillman-alt/vbl/issues/252
https://github.com/nowevelynnienow-gif/0x0/issues/258
https://github.com/bertsteresaroberts-svg/9sv/issues/245
https://github.com/hkecaseyleuschke-netizen/zyk/issues/249
https://github.com/angtommylang-boop/ywt/issues/235
https://github.com/camillekerlukeluke-blip/rup/issues/249
https://github.com/trompebonyoconnelltromp-dot/w8r/issues/234
https://github.com/songlennrolfson-cmd/jop/issues/240
https://github.com/rogeliohartmannmann-cpu/bnr/issues/250
https://github.com/benhodkiewiczwicz-ops/h80/issues/243
https://github.com/dvmkohlerdvm-arch/8gu/issues/241
https://github.com/samuelhansenansen-pixel/0oq/issues/238
https://github.com/lynnlangworthorth-glitch/ahg/issues/256
https://github.com/odelarrybode-tech/hsd/issues/247
https://github.com/ertmichelleebert-max/cpz/issues/246
https://github.com/ervhellerv-pixel/j8c/issues/238
https://github.com/olivewildermanerman-prog/eg9/issues/239
https://github.com/monisterrisimonis-design/zai/issues/247
https://github.com/glennleannonnnon-cmd/xy3/issues/237
https://github.com/mansaratillman-alt/vbl/issues/251
https://github.com/bertsteresaroberts-svg/9sv/issues/244
https://github.com/nowevelynnienow-gif/0x0/issues/257
https://github.com/hkecaseyleuschke-netizen/zyk/issues/248
https://github.com/arveybrittanyharvey-arch/1re/issues/254
https://github.com/trompebonyoconnelltromp-dot/w8r/issues/233
https://github.com/camillekerlukeluke-blip/rup/issues/248
https://github.com/samuelhansenansen-pixel/0oq/issues/237
https://github.com/angtommylang-boop/ywt/issues/234
https://github.com/rogeliohartmannmann-cpu/bnr/issues/249
https://github.com/odelarrybode-tech/hsd/issues/246
https://github.com/songlennrolfson-cmd/jop/issues/239
https://github.com/ertmichelleebert-max/cpz/issues/245
https://github.com/benhodkiewiczwicz-ops/h80/issues/242
https://github.com/lynnlangworthorth-glitch/ahg/issues/255
https://github.com/dvmkohlerdvm-arch/8gu/issues/240
https://github.com/ervhellerv-pixel/j8c/issues/237
https://github.com/glennleannonnnon-cmd/xy3/issues/236
https://github.com/monisterrisimonis-design/zai/issues/246
https://github.com/nowevelynnienow-gif/0x0/issues/256
https://github.com/olivewildermanerman-prog/eg9/issues/238
https://github.com/mansaratillman-alt/vbl/issues/250
https://github.com/hkecaseyleuschke-netizen/zyk/issues/247
https://github.com/bertsteresaroberts-svg/9sv/issues/243
https://github.com/camillekerlukeluke-blip/rup/issues/247
https://github.com/trompebonyoconnelltromp-dot/w8r/issues/232
https://github.com/odelarrybode-tech/hsd/issues/245
https://github.com/samuelhansenansen-pixel/0oq/issues/236
https://github.com/songlennrolfson-cmd/jop/issues/238
https://github.com/arveybrittanyharvey-arch/1re/issues/253
https://github.com/lynnlangworthorth-glitch/ahg/issues/254
https://github.com/ertmichelleebert-max/cpz/issues/244
https://github.com/dvmkohlerdvm-arch/8gu/issues/239
https://github.com/benhodkiewiczwicz-ops/h80/issues/241
https://github.com/ervhellerv-pixel/j8c/issues/236
https://github.com/rogeliohartmannmann-cpu/bnr/issues/248
https://github.com/angtommylang-boop/ywt/issues/233
https://github.com/glennleannonnnon-cmd/xy3/issues/235
https://github.com/nowevelynnienow-gif/0x0/issues/255
https://github.com/mansaratillman-alt/vbl/issues/249
https://github.com/olivewildermanerman-prog/eg9/issues/237
https://github.com/monisterrisimonis-design/zai/issues/245
https://github.com/bertsteresaroberts-svg/9sv/issues/242
https://github.com/hkecaseyleuschke-netizen/zyk/issues/246
https://github.com/camillekerlukeluke-blip/rup/issues/246
https://github.com/trompebonyoconnelltromp-dot/w8r/issues/231
https://github.com/samuelhansenansen-pixel/0oq/issues/235
https://github.com/lynnlangworthorth-glitch/ahg/issues/253
https://github.com/songlennrolfson-cmd/jop/issues/237
https://github.com/arveybrittanyharvey-arch/1re/issues/252
https://github.com/odelarrybode-tech/hsd/issues/244
https://github.com/dvmkohlerdvm-arch/8gu/issues/238
https://github.com/ertmichelleebert-max/cpz/issues/243
https://github.com/rogeliohartmannmann-cpu/bnr/issues/247
https://github.com/benhodkiewiczwicz-ops/h80/issues/240
https://github.com/ervhellerv-pixel/j8c/issues/235
https://github.com/glennleannonnnon-cmd/xy3/issues/234
https://github.com/olivewildermanerman-prog/eg9/issues/236
https://github.com/mansaratillman-alt/vbl/issues/248
https://github.com/angtommylang-boop/ywt/issues/232
https://github.com/nowevelynnienow-gif/0x0/issues/254
https://github.com/bertsteresaroberts-svg/9sv/issues/241
https://github.com/hkecaseyleuschke-netizen/zyk/issues/245
https://github.com/monisterrisimonis-design/zai/issues/244
https://github.com/camillekerlukeluke-blip/rup/issues/245
https://github.com/samuelhansenansen-pixel/0oq/issues/234
https://github.com/lynnlangworthorth-glitch/ahg/issues/252
https://github.com/trompebonyoconnelltromp-dot/w8r/issues/230
https://github.com/songlennrolfson-cmd/jop/issues/236
https://github.com/odelarrybode-tech/hsd/issues/243
https://github.com/dvmkohlerdvm-arch/8gu/issues/237
https://github.com/ertmichelleebert-max/cpz/issues/242
https://github.com/benhodkiewiczwicz-ops/h80/issues/239
https://github.com/angtommylang-boop/ywt/issues/231
https://github.com/ervhellerv-pixel/j8c/issues/234
https://github.com/glennleannonnnon-cmd/xy3/issues/233
https://github.com/nowevelynnienow-gif/0x0/issues/253
https://github.com/arveybrittanyharvey-arch/1re/issues/251
https://github.com/bertsteresaroberts-svg/9sv/issues/240
https://github.com/mansaratillman-alt/vbl/issues/247
https://github.com/olivewildermanerman-prog/eg9/issues/235
https://github.com/hkecaseyleuschke-netizen/zyk/issues/244
https://github.com/monisterrisimonis-design/zai/issues/243
https://github.com/camillekerlukeluke-blip/rup/issues/244
https://github.com/lynnlangworthorth-glitch/ahg/issues/251
https://github.com/samuelhansenansen-pixel/0oq/issues/233
https://github.com/trompebonyoconnelltromp-dot/w8r/issues/229
https://github.com/rogeliohartmannmann-cpu/bnr/issues/246
https://github.com/dvmkohlerdvm-arch/8gu/issues/236
https://github.com/songlennrolfson-cmd/jop/issues/235
https://github.com/ertmichelleebert-max/cpz/issues/241
https://github.com/odelarrybode-tech/hsd/issues/242
https://github.com/benhodkiewiczwicz-ops/h80/issues/238
https://github.com/angtommylang-boop/ywt/issues/230
https://github.com/nowevelynnienow-gif/0x0/issues/252
https://github.com/bertsteresaroberts-svg/9sv/issues/239
https://github.com/mansaratillman-alt/vbl/issues/246
https://github.com/monisterrisimonis-design/zai/issues/242
https://github.com/arveybrittanyharvey-arch/1re/issues/250
https://github.com/ervhellerv-pixel/j8c/issues/233
https://github.com/camillekerlukeluke-blip/rup/issues/243
https://github.com/glennleannonnnon-cmd/xy3/issues/232
https://github.com/olivewildermanerman-prog/eg9/issues/234
https://github.com/lynnlangworthorth-glitch/ahg/issues/250
https://github.com/hkecaseyleuschke-netizen/zyk/issues/243
https://github.com/samuelhansenansen-pixel/0oq/issues/232
https://github.com/songlennrolfson-cmd/jop/issues/234
https://github.com/trompebonyoconnelltromp-dot/w8r/issues/228
https://github.com/odelarrybode-tech/hsd/issues/241
https://github.com/dvmkohlerdvm-arch/8gu/issues/235
https://github.com/ertmichelleebert-max/cpz/issues/240
https://github.com/nowevelynnienow-gif/0x0/issues/251
https://github.com/angtommylang-boop/ywt/issues/229
https://github.com/rogeliohartmannmann-cpu/bnr/issues/245
https://github.com/bertsteresaroberts-svg/9sv/issues/238
https://github.com/mansaratillman-alt/vbl/issues/245
https://github.com/benhodkiewiczwicz-ops/h80/issues/237
https://github.com/monisterrisimonis-design/zai/issues/241
https://github.com/camillekerlukeluke-blip/rup/issues/242
https://github.com/olivewildermanerman-prog/eg9/issues/233
https://github.com/lynnlangworthorth-glitch/ahg/issues/249
https://github.com/arveybrittanyharvey-arch/1re/issues/249
https://github.com/glennleannonnnon-cmd/xy3/issues/231
https://github.com/ervhellerv-pixel/j8c/issues/232
https://github.com/hkecaseyleuschke-netizen/zyk/issues/242
https://github.com/samuelhansenansen-pixel/0oq/issues/231
https://github.com/trompebonyoconnelltromp-dot/w8r/issues/227
https://github.com/songlennrolfson-cmd/jop/issues/233
https://github.com/dvmkohlerdvm-arch/8gu/issues/234
https://github.com/odelarrybode-tech/hsd/issues/240
https://github.com/ertmichelleebert-max/cpz/issues/239
https://github.com/nowevelynnienow-gif/0x0/issues/250
https://github.com/rogeliohartmannmann-cpu/bnr/issues/244
https://github.com/angtommylang-boop/ywt/issues/228
https://github.com/bertsteresaroberts-svg/9sv/issues/237
https://github.com/monisterrisimonis-design/zai/issues/240
https://github.com/olivewildermanerman-prog/eg9/issues/232
https://github.com/glennleannonnnon-cmd/xy3/issues/230
https://github.com/mansaratillman-alt/vbl/issues/244
https://github.com/lynnlangworthorth-glitch/ahg/issues/248
https://github.com/benhodkiewiczwicz-ops/h80/issues/236
https://github.com/camillekerlukeluke-blip/rup/issues/241
https://github.com/arveybrittanyharvey-arch/1re/issues/248
https://github.com/ervhellerv-pixel/j8c/issues/231
https://github.com/hkecaseyleuschke-netizen/zyk/issues/241
https://github.com/dvmkohlerdvm-arch/8gu/issues/233
https://github.com/samuelhansenansen-pixel/0oq/issues/230
https://github.com/trompebonyoconnelltromp-dot/w8r/issues/226
https://github.com/nowevelynnienow-gif/0x0/issues/249
https://github.com/songlennrolfson-cmd/jop/issues/232
https://github.com/odelarrybode-tech/hsd/issues/239
https://github.com/ertmichelleebert-max/cpz/issues/238
https://github.com/angtommylang-boop/ywt/issues/227
https://github.com/bertsteresaroberts-svg/9sv/issues/236
https://github.com/rogeliohartmannmann-cpu/bnr/issues/243
https://github.com/olivewildermanerman-prog/eg9/issues/231
https://github.com/lynnlangworthorth-glitch/ahg/issues/247
https://github.com/glennleannonnnon-cmd/xy3/issues/229
https://github.com/monisterrisimonis-design/zai/issues/239
https://github.com/benhodkiewiczwicz-ops/h80/issues/235
https://github.com/camillekerlukeluke-blip/rup/issues/240
https://github.com/mansaratillman-alt/vbl/issues/243
https://github.com/ervhellerv-pixel/j8c/issues/230
https://github.com/hkecaseyleuschke-netizen/zyk/issues/240
https://github.com/samuelhansenansen-pixel/0oq/issues/229
https://github.com/arveybrittanyharvey-arch/1re/issues/247
https://github.com/dvmkohlerdvm-arch/8gu/issues/232
https://github.com/trompebonyoconnelltromp-dot/w8r/issues/225
https://github.com/nowevelynnienow-gif/0x0/issues/248
https://github.com/ertmichelleebert-max/cpz/issues/237
https://github.com/odelarrybode-tech/hsd/issues/238
https://github.com/songlennrolfson-cmd/jop/issues/231
https://github.com/bertsteresaroberts-svg/9sv/issues/235
https://github.com/lynnlangworthorth-glitch/ahg/issues/246
https://github.com/olivewildermanerman-prog/eg9/issues/230
https://github.com/rogeliohartmannmann-cpu/bnr/issues/242
https://github.com/angtommylang-boop/ywt/issues/226
https://github.com/monisterrisimonis-design/zai/issues/238
https://github.com/glennleannonnnon-cmd/xy3/issues/228
https://github.com/camillekerlukeluke-blip/rup/issues/239
https://github.com/ervhellerv-pixel/j8c/issues/229
https://github.com/mansaratillman-alt/vbl/issues/242
https://github.com/benhodkiewiczwicz-ops/h80/issues/234
https://github.com/samuelhansenansen-pixel/0oq/issues/228
https://github.com/dvmkohlerdvm-arch/8gu/issues/231
https://github.com/arveybrittanyharvey-arch/1re/issues/246
https://github.com/hkecaseyleuschke-netizen/zyk/issues/239
https://github.com/trompebonyoconnelltromp-dot/w8r/issues/224
https://github.com/nowevelynnienow-gif/0x0/issues/247
https://github.com/songlennrolfson-cmd/jop/issues/230
https://github.com/odelarrybode-tech/hsd/issues/237
https://github.com/ertmichelleebert-max/cpz/issues/236
https://github.com/lynnlangworthorth-glitch/ahg/issues/245
https://github.com/olivewildermanerman-prog/eg9/issues/229
https://github.com/bertsteresaroberts-svg/9sv/issues/234
https://github.com/rogeliohartmannmann-cpu/bnr/issues/241
https://github.com/monisterrisimonis-design/zai/issues/237
https://github.com/angtommylang-boop/ywt/issues/225
https://github.com/glennleannonnnon-cmd/xy3/issues/227
https://github.com/ervhellerv-pixel/j8c/issues/228
https://github.com/samuelhansenansen-pixel/0oq/issues/227
https://github.com/dvmkohlerdvm-arch/8gu/issues/230
https://github.com/benhodkiewiczwicz-ops/h80/issues/233
https://github.com/mansaratillman-alt/vbl/issues/241
https://github.com/camillekerlukeluke-blip/rup/issues/238
https://github.com/arveybrittanyharvey-arch/1re/issues/245
https://github.com/trompebonyoconnelltromp-dot/w8r/issues/223
https://github.com/nowevelynnienow-gif/0x0/issues/246
https://github.com/songlennrolfson-cmd/jop/issues/229
https://github.com/odelarrybode-tech/hsd/issues/236
https://github.com/ertmichelleebert-max/cpz/issues/235
https://github.com/hkecaseyleuschke-netizen/zyk/issues/238
https://github.com/bertsteresaroberts-svg/9sv/issues/233
https://github.com/olivewildermanerman-prog/eg9/issues/228
https://github.com/lynnlangworthorth-glitch/ahg/issues/244
https://github.com/rogeliohartmannmann-cpu/bnr/issues/240
https://github.com/angtommylang-boop/ywt/issues/224
https://github.com/monisterrisimonis-design/zai/issues/236
https://github.com/glennleannonnnon-cmd/xy3/issues/226
https://github.com/ervhellerv-pixel/j8c/issues/227
https://github.com/samuelhansenansen-pixel/0oq/issues/226
https://github.com/benhodkiewiczwicz-ops/h80/issues/232
https://github.com/camillekerlukeluke-blip/rup/issues/237
https://github.com/arveybrittanyharvey-arch/1re/issues/244
https://github.com/dvmkohlerdvm-arch/8gu/issues/229
https://github.com/nowevelynnienow-gif/0x0/issues/245
https://github.com/trompebonyoconnelltromp-dot/w8r/issues/222
https://github.com/mansaratillman-alt/vbl/issues/240
https://github.com/ertmichelleebert-max/cpz/issues/234
https://github.com/bertsteresaroberts-svg/9sv/issues/232
https://github.com/songlennrolfson-cmd/jop/issues/228
https://github.com/olivewildermanerman-prog/eg9/issues/227
https://github.com/lynnlangworthorth-glitch/ahg/issues/243
https://github.com/odelarrybode-tech/hsd/issues/235
https://github.com/hkecaseyleuschke-netizen/zyk/issues/237
https://github.com/angtommylang-boop/ywt/issues/223
https://github.com/monisterrisimonis-design/zai/issues/235
https://github.com/glennleannonnnon-cmd/xy3/issues/225
https://github.com/rogeliohartmannmann-cpu/bnr/issues/239
https://github.com/ervhellerv-pixel/j8c/issues/226
https://github.com/samuelhansenansen-pixel/0oq/issues/225
https://github.com/nowevelynnienow-gif/0x0/issues/244
https://github.com/arveybrittanyharvey-arch/1re/issues/243
https://github.com/camillekerlukeluke-blip/rup/issues/236
https://github.com/dvmkohlerdvm-arch/8gu/issues/228
https://github.com/trompebonyoconnelltromp-dot/w8r/issues/221
https://github.com/benhodkiewiczwicz-ops/h80/issues/231
https://github.com/mansaratillman-alt/vbl/issues/239
https://github.com/lynnlangworthorth-glitch/ahg/issues/242
https://github.com/bertsteresaroberts-svg/9sv/issues/231
https://github.com/ertmichelleebert-max/cpz/issues/233
https://github.com/angtommylang-boop/ywt/issues/222
https://github.com/songlennrolfson-cmd/jop/issues/227
https://github.com/olivewildermanerman-prog/eg9/issues/226
https://github.com/glennleannonnnon-cmd/xy3/issues/224
https://github.com/odelarrybode-tech/hsd/issues/234
https://github.com/hkecaseyleuschke-netizen/zyk/issues/236
https://github.com/rogeliohartmannmann-cpu/bnr/issues/238
https://github.com/monisterrisimonis-design/zai/issues/234
https://github.com/ervhellerv-pixel/j8c/issues/225
https://github.com/samuelhansenansen-pixel/0oq/issues/224
https://github.com/nowevelynnienow-gif/0x0/issues/243
https://github.com/arveybrittanyharvey-arch/1re/issues/242
https://github.com/dvmkohlerdvm-arch/8gu/issues/227
https://github.com/camillekerlukeluke-blip/rup/issues/235
https://github.com/mansaratillman-alt/vbl/issues/238
https://github.com/benhodkiewiczwicz-ops/h80/issues/230
https://github.com/trompebonyoconnelltromp-dot/w8r/issues/220
https://github.com/lynnlangworthorth-glitch/ahg/issues/241
https://github.com/ertmichelleebert-max/cpz/issues/232
https://github.com/bertsteresaroberts-svg/9sv/issues/230
https://github.com/angtommylang-boop/ywt/issues/221
https://github.com/hkecaseyleuschke-netizen/zyk/issues/235
https://github.com/olivewildermanerman-prog/eg9/issues/225
https://github.com/odelarrybode-tech/hsd/issues/233
https://github.com/rogeliohartmannmann-cpu/bnr/issues/237
https://github.com/songlennrolfson-cmd/jop/issues/226
https://github.com/monisterrisimonis-design/zai/issues/233
https://github.com/glennleannonnnon-cmd/xy3/issues/223
https://github.com/nowevelynnienow-gif/0x0/issues/242
https://github.com/arveybrittanyharvey-arch/1re/issues/241
https://github.com/samuelhansenansen-pixel/0oq/issues/223
https://github.com/ervhellerv-pixel/j8c/issues/224
https://github.com/dvmkohlerdvm-arch/8gu/issues/226
https://github.com/camillekerlukeluke-blip/rup/issues/234
https://github.com/trompebonyoconnelltromp-dot/w8r/issues/219
https://github.com/mansaratillman-alt/vbl/issues/237
https://github.com/benhodkiewiczwicz-ops/h80/issues/229
https://github.com/bertsteresaroberts-svg/9sv/issues/229
https://github.com/ertmichelleebert-max/cpz/issues/231
https://github.com/lynnlangworthorth-glitch/ahg/issues/240
https://github.com/olivewildermanerman-prog/eg9/issues/224
https://github.com/odelarrybode-tech/hsd/issues/232
https://github.com/angtommylang-boop/ywt/issues/220
https://github.com/rogeliohartmannmann-cpu/bnr/issues/236
https://github.com/monisterrisimonis-design/zai/issues/232

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/96171.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/96171.shtml
英文地址,請注明出處:http://en.pswp.cn/web/96171.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

基于go語言的云原生TodoList Demo 項目,驗證云原生核心特性

以下是一個基于 Go 語言 的云原生 TodoList Demo 項目,涵蓋 容器化、Kubernetes 編排、CI/CD、可觀測性、彈性擴縮容 等核心云原生特性,代碼簡潔且附詳細操作指南,適合入門學習。項目概覽 目標:實現一個支持增刪改查(C…

手機能看、投屏 / 車機不能看與反向鏈接驗證類似嗎?

有一定關聯,但兩者的技術邏輯并非完全等同 ——“手機能看、投屏 / 車機不能看” 的核心原因更復雜,反向鏈接驗證是其中一種可能的限制手段,但不是唯一甚至不是最主要的手段。要理清這個問題,需要先拆解 “投屏 / 車機播放受限” …

25年9月通信基礎知識補充1:NTN-TDL信道建模matlab代碼(satellite-communications toolbox學習)

看文獻過程中不斷發現有太多不懂的基礎知識,故長期更新這類blog不斷補充在這過程中學到的知識。由于這些內容與我的研究方向并不一定強相關,故記錄不會很深入請見諒。 【通信基礎知識補充10】25年9月通信基礎知識補充1:NTN-TDL信道建模matlab…

洛谷P3370 【模板】字符串哈希 (哈希表)詳解

題目如下:(注:解此題我只需左手一根指頭,哈哈哈哈哈哈哈)注意,哈希表的好處是能大幅度減少尋找遍歷的時間可能有人不理解哈希值, 這里哈希的模的值一般得是比較大的質數,如標準的100…

光子芯片驅動的胰腺癌早期檢測:基于光學子空間神經網絡的高效分割方法(未做完)

光子芯片驅動的胰腺癌早期檢測:基于光學子空間神經網絡的高效分割方法 1 論文核心概念 本文提出了一種基于集成光子芯片的光學子空間神經網絡(Optical Subspace Neural Network, OSNN),用于胰腺癌的早期檢測與圖像分割。其核心思想是利用光子芯片的高并行性、低延遲和低能…

GraphRAG 工作原理逐步解析:從圖創建到搜索的實戰示例

本篇文章How GraphRAG Works Step-By-Step: From Graph Creation to Search with Real Examples | Towards AI詳細介紹了GraphRAG的工作原理,適合對檢索增強生成(RAG)和知識圖譜感興趣的讀者。文章的技術亮點在于通過圖結構提升信息檢索效率&…

LAMPSecurity: CTF8靶場滲透

LAMPSecurity: CTF8 來自 <https://www.vulnhub.com/entry/lampsecurity-ctf8,87/> 1&#xff0c;將兩臺虛擬機網絡連接都改為NAT模式 2&#xff0c;攻擊機上做namp局域網掃描發現靶機 nmap -sn 192.168.23.0/24 那么攻擊機IP為192.168.23.128&#xff0c;靶場IP192.168…

綠算技術閃耀智博會 賦能鄉村振興與產業升級

9月5日至7日&#xff0c;由寧波市人民政府、浙江省經濟和信息化廳、中國信息通信研究院聯合主辦的第十五屆智慧城市與智能經濟博覽會在寧波國際會展中心圓滿落幕。綠算技術受邀參展&#xff0c;并發布與北京東方聯鳴科技發展有限公司聯合打造的《360數智牧業AI模型支撐底座》&a…

淺談“SVMSPro視頻切片”技術應用場景

技術定義視頻切片是一項將連續不斷的視頻流&#xff0c;按特定規則&#xff08;如時間點、事件觸發&#xff09;切割成一個個獨立、完整的MP4等標準視頻文件的技術。這些切片文件體積小、格式通用&#xff0c;易于管理、傳輸和播放。核心價值精準存檔&#xff1a;從海量錄像中精…

php 使用html 生成pdf word wkhtmltopdf 系列1

php 使用html 生成pdf word wkhtmltopdf 系列2 php 使用html 生成 pdf word 項目有個需求 想同時生成word 和pdf 并且對pdf要求比較高 為了一勞永逸 決定寫成html 分別轉成word 和pdf 系統環境 windows10 小皮面板&#xff08;php8&#xff09; linux centos 7.9 寶塔&…

Git常用命令大全:高效開發必備

目錄 常用Git命令清單 1. 新建代碼庫 2. 配置 3. 增加/刪除文件 4. 代碼提交 5. 分支 6. 標簽 7. 查看信息 8. 遠程同步 9. 撤銷 10. 常用操作組合 修改本地分支名和遠程分支名 附錄&#xff1a;Git命令思維導圖 安裝gitlab 常用Git命令清單 一般來說&#xff0…

AJAX入門-URL

本系列可作為前端學習系列的筆記&#xff0c;代碼的運行環境是在VS code中&#xff0c;小編會將代碼復制下來&#xff0c;大家復制下來就可以練習了&#xff0c;方便大家學習。 HTML、CSS、JavaScript系列文章 已經收錄在前端專欄&#xff0c;有需要的寶寶們可以點擊前端專欄查…

【深度學習新浪潮】什么是具身智能?

具身智能(Embodied AI)是人工智能與機器人技術深度融合的前沿領域,其核心是通過物理實體與環境的實時交互閉環,實現感知-認知-決策-行動的一體化自主進化。這類系統不僅能理解語言指令,更能通過高精度傳感器(如觸覺、視覺、力覺融合)感知物理世界,依托多模態大模型完成…

動畫藍圖與動畫狀態機:從 Unity Mecanim 到 Unreal Animation Blueprint 的一把梭

動畫藍圖與動畫狀態機&#xff1a;從 Unity Mecanim 到 Unreal Animation Blueprint 的一把梭這篇是系列的第一篇。目標很簡單&#xff1a;把 Unreal 的 Animation Blueprint 和 Unity 的 Animator Controller&#xff08;Mecanim&#xff09; 放在同一張桌子上&#xff0c;系統…

實戰案例:數字孿生+可視化大屏,如何高效管理智慧能源園區?

摘要&#xff1a; 當智慧遇上能源&#xff0c;一場管理革命正在悄然發生。想象一下&#xff1a;一個占地千畝的能源園區&#xff0c;光伏板、儲能站、風力機組星羅棋布&#xff0c;傳統管理模式下&#xff0c;數據分散、響應滯后、故障頻發... 但某園區引入“數字孿生可視化大屏…

Django 從環境搭建到第一個項目

作為一名剛接觸 Django 的開發者&#xff0c;我在學習過程中整理了這份入門筆記&#xff0c;涵蓋 Django 框架基礎、環境搭建、第一個項目創建以及核心配置&#xff0c;希望能為同樣剛入門的小伙伴提供清晰的學習思路。 一、Django 框架基礎認知 在開始實際操作前&#xff0c…

機器學習實操項目02——Pandas入門(基本操作、創建對象、查看數據、數據選擇、處理缺失數據、數據合并、數據分組、時間序列、繪圖、文件導出)

上一章&#xff1a;機器學習實操項目01——Numpy入門&#xff08;基本操作、數組形狀操作、復制與試圖、多種索引技巧、線性代數&#xff09; 下一章&#xff1a; 機器學習核心知識點目錄&#xff1a;機器學習核心知識點目錄 機器學習實戰項目目錄&#xff1a;【從 0 到 1 落地…

springboot超市貨品信息管理系統

開發環境開發語言&#xff1a;Java 框架&#xff1a;springboot JDK版本&#xff1a;JDK1.8 服務器&#xff1a;tomcat7 數據庫&#xff1a;mysql 5.7&#xff08;一定要5.7版本&#xff09; 數據庫工具&#xff1a;Navicat11 開發軟件&#xff1a;eclipse/myeclipse/idea Mave…

c# .net中using的使用

using示例代碼 示例代碼1&#xff1a; using HttpContent httpContent new StringContent(postData, Encoding.UTF8);示例代碼2&#xff1a; using (var process Process.Start(info)) {output process.StandardOutput.ReadToEnd(); }示例代碼1寫法&#xff1a; using HttpC…

STM32HAL 快速入門(二十):UART 中斷改進 —— 環形緩沖區解決數據丟失

前言 大家好&#xff0c;這里是 Hello_Embed。上一篇我們用中斷方式實現了 UART 收發&#xff0c;但發現一個關鍵問題&#xff1a;若 CPU 在處理其他任務時未及時重新使能接收中斷&#xff0c;新數據會覆蓋舊數據&#xff0c;導致丟失。本篇的核心改進方案是 ——“中斷接收 環…