開放原子大賽石油軟件賽道參賽經驗分享

億級以上網格油藏模型三維可視化

一、賽項背景

油藏數值模擬是油氣田開發中至關重要的一環。油藏數值模擬將儲層與井的數學模型離散求解,預測地下流體、能量等的動態變化,廣泛應用于油田產量評估、開發方案優化等。隨著計算機技術特別是并行技術的發展,油藏數值模擬的網格規模可達億級到十億級。如此大規模的油藏模型對三維可視化是一個挑戰。

本次競賽的目標是期望實現億級以上網格油藏模型流暢的三維顯示和數據交互。通過應用先進的計算機圖形技術,利用局部更新、按需加載、并行處理等技巧改進算法,實現億級以上網格油藏模型流暢的三維顯示和數據交互,助力HiSim軟件的升級。

二、賽項信息

賽項名稱:億級以上網格油藏模型三維可視化

賽項主題:油藏開發,油藏數值模擬

賽項時間:2024.09-2025.01

賽項目的:本次競賽旨在通過“億級以上網格油藏模型三維可視化”競賽,旨在邀請計算機圖形學、油藏數值模擬及可視化領域的精英人才,共同探索并攻克這一技術難題。

三、競賽題目

參與本賽題所需的數據及說明已上傳到AtomGit代碼托管平臺,代碼庫地址: 億級以上網格油藏模型三維可視化 · AtomGit_開放原子開源基金會代碼托管平臺

本賽項要求參賽隊伍實現億級以上網格油藏模型流暢的三維顯示和數據交互。油藏模型的三維可視化指將油藏網格與井的動、靜態屬性以計算機三維圖形的方式呈現出來。由于CPU/GPU算力的限制、內存/顯存容量的限制,億級以上網格油藏的三維可視化會出現不流暢甚至無法顯示的問題。項目組針對上述問題,提出賽題“億級以上網格油藏模型三維可視化”,具體要求如下:

3.1 核心功能實現

億級網格處理:參賽作品必須能夠處理億級以上的油藏網格模型,實現其三維可視化。

動靜態屬性展示:除了網格,還需將井的動、靜態屬性以三維圖形的方式清晰、準確地呈現出來。

數據交互能力:用戶需能夠與三維模型進行交互,選擇特定網格。

3.2 性能優化要求

流暢性:在CPU/GPU算力及內存/顯存容量有限的情況下,確保三維顯示和數據交互的流暢性。

局部更新技術:應用局部更新技術,僅對需要變更的部分進行更新,以減少不必要的計算和資源消耗。

按需加載策略:實現按需加載機制,根據用戶需求和視圖范圍動態加載和卸載數據。

并行處理應用:利用并行處理技術,如GPU加速、多線程等,提高數據處理和渲染速度。

3.3 用戶體驗與外觀

直觀易用:用戶界面應簡潔、直觀,易于操作和理解。

美觀度:三維可視化效果應美觀,符合專業軟件的外觀標準。

可移植性與兼容性:作品應能夠在Windows或Linux平臺上穩定運行。

3.4 賽題意義

將為巔峰賽題“超大規模多組分滲流全隱式模擬中的稀疏線性方程組求解”未來成果落地提供可視化功能支持,助力HiSim軟件增強其處理大規模數據的可視化能力,提高油氣藏模擬的精度和效率。

億級以上網格的油氣藏模型能夠捕捉更多地質細節,提供更精確的地質構造和流體流動模擬,能夠直觀展示油氣藏模型的內部結構、流體分布及動態變化過程,有助于研究人員和決策者更好地理解地質情況,做出科學決策。

四、參賽歷程

4.1 研讀賽題需求

本數據是HiSim模擬器的模擬結果數據,包含兩類:

  • 網格數據:連續存放的二進制數組;
  • 井筒數據:文本文件。

利用以上兩種數據體,可以完整地繪制儲層和井筒的3D圖。

網格幾何數據是“Brick”格式,該格式包含“點集+拓撲”,可以描述結構或非結構的六面體單元,且單元頂點不需要是對齊的。Brick格式包含兩個數組:

①?點集坐標,是頂點的(x, y, z)坐標,是double數組,長度等于“頂點數×3”,重合的點記為一個點;

② 網格頂點在點集中的編號,即每個網格由哪8個頂點組成,是整型數組,數組長度等于“有效基質網格數×8”,編號從1開始,8個頂點的順序如,頂點先排底面、再排頂面,面內逆時針排序。

4.2 補充油藏相關知識點

油藏工程 中國石油大學

油藏工程-姚軍-中國石油大學(華東)_嗶哩嗶哩_bilibili

油藏數值模擬的核心原理是基于描述流體在多孔介質中流動的數學方程組,并通過計算機對這些方程進行數值求解,來預測地下油藏的動態行為。這個數學模型來源于基本的物理守恒定律和經驗關系式。

油藏數值模擬的基本流程可以概括為以下幾個主要步驟:

1. 構建地質模型 (Geological Modeling)

2. 網格劃分 (Gridding)

3. 屬性賦值 (Property Assignment)

4. 井數據整合 (Well Data Integration)

5. 模型初始化 (Model Initialization)

6. 動態數值模擬(時間步進計算)(Dynamic Simulation)

7. 結果后處理與分析

Petrel 地質建模專講

Petrel 地質建模專講(2023年最新錄制的獨家1080p優質內部一體化培訓視頻第二模塊)!共大于10個視頻!(并包含數據、課堂筆記、手冊、實用技巧等資料)_嗶哩嗶哩_bilibili

基于華為鯤鵬HPC并行計算:油藏數值模擬網格粗化探索與實踐【玩轉華為云】-云社區-華為云

科吉思石油技術的個人空間-科吉思石油技術個人主頁-嗶哩嗶哩視頻

硬實力|億級角點網格油藏模型三維顯示技術取得重大突破-Colchis-科吉思石油技術咨詢有限公司

十億級網格CCS模擬的"GPU超能力"!【附: 5月份休斯頓技術峰會報名】

前沿技術 |金蛇狂舞!2025斯倫貝謝數值模擬新技術應用與文獻盤點

前沿技術 |INTERSECT 2024重裝升級,引領油藏模擬新時代

對模擬計算得到的隨時間變化的壓力場、飽和度場、各井的生產/注入數據、油藏整體產出數據等進行可視化和分析。進行產量預測、歷史擬合(調整模型參數以匹配歷史生產數據)、方案優化、剩余油分布分析等。

油藏數值模擬流程總結:先利用靜態原理(重力、毛管力)和靜態輸入數據(地質模型、物性、P_c(S) 曲線等)建立油藏的初始靜態平衡狀態(初始化壓力和飽和度場)。然后,在動態模擬階段,利用動態原理(達西定律、質量守恒)和動態輸入數據(K_r(S) 曲線、粘度、井條件等),計算流體在網格之間的流動,并根據流動結果,不斷更新每個網格的壓力和飽和度場,逐步推進模擬進程。飽和度場在整個過程中貫穿始終,既是初始狀態的描述,也是連接各種巖石-流體關系(特別是通過相對滲透率和毛管壓力),驅動動態流動的核心變量。

4.3 收集HiSim相關研發資料

?自主研發,填補空白,打造全系列一體化工業軟件HiSim

HiSim?打造了一體化油藏數值模擬應用平臺,集成數模模型建立、流體相態模擬、數值模擬運行、結果可視化分析、人機交互歷史擬合、交互式井網部署及開發方案預測與方案優化等功能,為油氣田開發提供了數值建模、數值模擬、動態分析及方案優化的一體化解決方案。

2024首屆HiSim?軟件設計大賽賽前培訓圓滿落幕

https://pubs.cstam.org.cn/data/article/em/preview/pdf/1000-4750(2008)10-0012-07.pdf

https://ir.pku.edu.cn/handle/20.500.11897/483950

并行計算基礎知識

4.4 設計可視化方案

油藏數值模擬算例數據概覽

概述 ?JD_Refined_BO3.dat ?5KB

靜態網格參數 ?JD_Refined_BO3_geom.bin ?17713770KB

動態網格參數 ?JD_Refined_BO3_stu.bin ?100381214KB

井筒數據 ?JD_Refined_BO3_wstu.out ?23434KB

首先將油藏網格二進制格式Brick,通過c++轉換成中間格式ply,然后使用開源軟件Blender+python批量合成ply到glb格式。 最后再使用web技術實現模型的可視化,井筒數據的映射。

億級網格處理

處理億級以上的油藏網格模型,實現其三維可視化。

動靜態屬性展示

井的動、靜態屬性以三維圖形的方式呈現,填充物理參數,如孔隙度與滲透率,描述儲層巖石的性質。

數據交互能力

用戶需能夠與三維模型進行交互,選擇特定網格。

網格模型尺寸范圍(單位m):

XCOORD0 = 630752.507

YCOORD0 = 4338916.207

XCOORD=[33,7934],YCOORD=[-3941,1554],DEPTH=[1750,2845]

提取brick中的點集合,表征幾何點云可視化,形成總體映像

靜態網格數據讀取,從上往下切片輸出ply格式文件,在點集合中找到xy,xz, yz, -x-y, -x-z, -y-z6個平面最大點構成的格子數據,點集輸出到txt文件,在拓撲數據處理階段加載到內存,構成三維點數據,供拓撲點數據和拓撲數據的重新組合切片輸出。切片工具使用c++ mfc框架編寫。模型可視化基于網絡瀏覽器實現。

PLY是一種用于存儲三維模型的文件格式,全名為多邊形檔案(Polygon File Format),又稱斯坦福三角形格式(Stanford Triangle Format)。以下是關于PLY格式的詳細介紹:

基本特性

  • ?存儲內容?:PLY格式主要用以儲存立體掃描結果的三維數值,通過多邊形片面的集合來描述三維物體。
  • ?屬性支持?:它可以存儲的信息包括頂點坐標、顏色、透明度、表面法向量、材質坐標、數據可信度等,并能對多邊形的正反兩面設定不同的屬性。
  • ?編碼方式?:在檔案內容的儲存上,PLY有兩種版本,分別是純文字(ASCII)版本與二元碼(binary)版本,其差異在于儲存時是否以ASCII編碼表示元素信息。

文件結構

  • ?檔頭(header)?:每個PLY文件都包含檔頭,用以設定網格模型的“元素”與“屬性”。檔頭中定義了文件中包含的元素類型(如頂點、面等)以及這些元素的屬性(如坐標、顏色等)。
  • ?數值資料?:在檔頭下方接著的是一連串的元素“數值資料”,這些資料按照檔頭中定義的順序和類型進行存儲。

元素與屬性定義

  • ?元素?:PLY文件中的元素可以是頂點(vertex)、面(face)等。
  • ?屬性?:屬性用于描述元素的特征,如頂點的坐標(x, y, z)、顏色(R, G, B)等。在PLY文件中,屬性通過“property”關鍵字進行定義。

應用場景

PLY格式因其高效的存儲方式和豐富的屬性支持,在多個領域有著廣泛的應用:

  • ?3D掃描?:用于存儲和處理3D掃描設備獲取的三維數據。
  • ?3D打印?:作為3D打印軟件的輸入格式之一,用于描述待打印物體的三維模型。
  • ?游戲開發?:在游戲開發中,PLY格式常用于存儲游戲場景和角色的三維模型。
  • ?動畫制作?:在動畫制作中,PLY格式可用于存儲動畫角色的三維模型和動作數據。

4.5 總體流程設計

開發語言:c++、javascript

模型格式:ply、stl、glb/gltf、b3dm

應用框架:B/S架構、vue、threejs、chrome?v131瀏覽器

glTF(GL Transmission Format)和GLB(GL Transmission Format Binary File)是兩種用于存儲和傳輸三維場景和模型的文件格式,它們都由Khronos Group定義和維護。以下是關于這兩種格式的詳細介紹:

glTF格式

  • ?特點?:

    • ?可擴展性?:glTF文件格式具有可擴展性,可以根據需要添加新的數據類型和屬性信息,便于擴展和更新。
    • ?壓縮性?:支持壓縮算法,可以有效地減小文件大小,便于傳輸和存儲。
    • ?廣泛的行業支持?:許多知名的3D引擎和應用程序都支持glTF格式。
    • ?快速高效?:glTF文件通常比其他3D模型格式小且讀取速度快。
    • ?豐富的場景數據?:除了存儲模型和材料外,還能夠存儲動畫數據、骨骼、蒙皮、場景層次結構以及燈光(通過擴展)。
  • ?優點?:

    • 作為開放標準,不受特定公司控制,可自由使用。
    • 文件結構清晰,易于解析和渲染。
  • ?缺點?:

    • 由于是基于JSON的,文件大小可能比某些二進制格式大。
    • 在某些特定應用程序或游戲中,可能需要進行額外的轉換或調整。
    • 3D模型數據的存儲格式較為簡單,修改模型可能比較困難。

GLB格式

  • ?特點?:

    • ?單一文件格式?:將所有的模型數據(包括結構、幾何、紋理等)打包到一個單一的文件中,更易于傳輸和加載。
    • ?二進制格式?:可以直接被GPU讀取和處理,無需預處理,提高渲染效率。
    • ?glTF兼容?:完全兼容glTF規范,支持所有glTF特性。
  • ?優點?:

    • 文件大小通常比glTF小33%,更適合網絡傳輸。
    • 包含渲染3D模型所需的所有數據,非常適合在Web和移動應用程序中使用。
    • 廣泛支持,被許多3D應用程序和游戲引擎所接受。
  • ?缺點?:

    • 由于是二進制格式,編輯和修改比較困難,需要專業工具。
    • 可擴展性受限,一旦文件生成后,修改和添加新元素可能較為困難。
    • 文件結構可能相對復雜,包含擴展內容塊。

使用場景

  • ?glTF?:主要用于游戲開發、虛擬現實和增強現實、建筑可視化以及工業設計等領域。其開放性和高效性使其成為這些領域中的理想選擇。
  • ?GLB?:作為glTF的二進制版本,GLB的使用場景與glTF相似。由于其文件大小更小且加載速度更快,特別適合在網頁中高效加載和渲染3D模型。

3D Tiles是一種高效的三維城市和地理空間數據存儲格式,以下是對其的詳細介紹:

基本概念

3D Tiles,即三維瓦片,是由Cesium公司提出的一種針對大規模三維場景的優化格式。它主要用于存儲和傳輸高效的3D模型數據,如建筑物、地形數據、點云數據以及3D城市模型等。通過瓦片化處理,3D Tiles能夠顯著提高大規模3D模型的加載和渲染效率。

核心特點

  1. ?層級化數據組織?:

    • 3D Tiles使用層級的方式組織數據,每個瓦片通常包含一定區域內的3D模型或數據。瓦片的大小與場景的復雜度、數據的尺度以及顯示設備的性能密切相關。
  2. ?按需加載?:

    • 3D Tiles支持動態加載和卸載瓦片,根據視角和距離來調整細節層次(LOD),從而避免一次性加載大量數據帶來的性能瓶頸。
  3. ?支持多種幾何類型?:

    • 3D Tiles支持多種幾何類型,包括點云、多邊形、模型等,并且可以包含豐富的屬性信息和層次細節(LOD)結構。
  4. ?高效渲染?:

    • 通過使用層級細節技術(LOD)和批處理技術,3D Tiles能夠優化渲染性能,確保在不同設備和網絡條件下的最佳顯示效果。

結構與應用

  1. ?結構?:

    • 3D Tiles的文件通常包括三個主要部分:根文件(root tileset file)、瓦片文件(Tile files)和二進制數據(Binary data)。根文件是一個JSON文件,描述整個場景的瓦片集合及其層次結構;瓦片文件包含每個瓦片的具體數據;二進制數據則存儲了3D模型的幾何數據、紋理數據、屬性等。
  2. ?應用場景?:

    • ?3D城市建模?:3D Tiles非常適合用于表示和管理大規模的城市模型,能夠處理復雜的建筑物和基礎設施數據。
    • ?地理信息系統(GIS)?:對于各種類型的地理空間數據,3D Tiles能夠提供快速加載和高效顯示。
    • ?虛擬現實和增強現實?:借助3D Tiles的優化特性,VR/AR應用能夠流暢地呈現大規模的3D環境。

技術細節

  1. ?瓦片集與瓦片?:

    • 瓦片集(tileset)是一組按層次結構組織的瓦片(Tile)。瓦片集本身包含根瓦片,每個瓦片都可以有子瓦片。瓦片集和瓦片都以JSON描述。
  2. ?邊界體積?:

    • 每個瓦片包含一個邊界體積(bounding volume),用于封裝瓦片的內容和所有子內容。邊界體積可以是定向的bounding box、bounding sphere或者以最小和最大經度、緯度、高程定義的地理區域。
  3. ?幾何誤差與細化策略?:

    • 幾何誤差(geometric error)用于衡量瓦片中的內容相對于最高細節級別的簡化程度。在運行時,幾何誤差用于計算屏幕空間誤差(SSE),從而決定層次細節(LOD)的細化。細化策略包括添加操作(ADD)和替換操作(REPLACE)。

使用方式

在實際項目中,使用3D Tiles的常見步驟如下:

  1. 使用專門的工具(如TilesBuilder)來加載和處理3D Tiles數據。
  2. 根據實際需求設置LOD的切換邏輯,以確保性能和顯示效果的平衡。
  3. 將3D Tiles集成到應用程序中,利用其高效渲染和交互特性來呈現大規模的三維場景。

4.6?項目總結

自賽題發布以來,大賽吸引了來自全國范圍內 的32支隊伍、共計71名選手報名參賽。其中, 21所高校與1家企業積極參與,展現了石油軟 件技術的廣泛影響力。在初賽階段,經過激烈 地角逐與比拼,8個團隊憑借出色的三維顯示 和數據交互與技術創新成功晉級決賽。

第二屆開放原子大賽石油軟件賽項決賽在北京舉辦,推動了開源創新成果在傳統油氣領域的深度應用

石油行業的一場技術盛宴 —— 第二屆開放原子大賽石油軟件賽項決賽,在中國石油勘探開發研究院盛大舉辦!

開源賦能油氣技術革新,第二屆開放原子大賽石油軟件專區賽決戰在即_OpenAtom Operation-開放原子開發者工作坊
開源助推油氣行業數字化轉型,第二屆開放原子大賽石油軟件專區賽決賽成功舉辦-開放原子大賽

決賽路演階段向院士專家匯報,與石油大學,清華大學,空氣動力研究所同臺競技,C/S,B/S兩路架構開闊眼界,絕對讓你收獲滿滿。

https://www.cardc.cn/nnw/engineering-introduction.aspx

樹優超云 | UniXDE 智能仿真優化云平臺 - 樹優超云

VTK - The Visualization Toolkit

ParaView - Open-source, multi-platform data analysis and visualization application

WebGPU,下一代 Web 圖形技術 - 邵嘉煒_嗶哩嗶哩_bilibili

W3ORG-chinese-web-gpu.pdf

這篇GPU學習筆記,詳細整理了其工作原理、編程模型和架構設計

五、可視化結果

參見官網:

億級以上網格油藏模型三維可視化-開放原子大賽

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

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

相關文章

學習方法討論——正論科舉精神的內核

世界不存在絕對的善,可以很善,但很難找到絕對的善,總帶些副作用;世界上也不存在絕對的惡,可以很惡,但很難找到絕對的惡,可以嘗試舉例; 再者,物極必反,當對一個…

網絡不再神秘:如何有效利用服務器網絡流量探針進行監控?

目錄 一、流量探針到底是個啥? 二、別只是“部署了”,關鍵在“用得好” 1. 做到“最小粒度”數據采集 2. 結合時間窗口,構建行為基線 3. 利用標簽化管理,提升可讀性 4. 把探針輸出對接安全告警系統 三、那如何部署才合理&a…

uniapp(微信小程序)>關于父子組件的樣式傳遞問題(自定義組件樣式穿透)

在父組件中給子組件添加類名,子組件的樣式由父組件決定 由于"微信小程序"存在【樣式隔離機制】&#xff0c;且默認設置為isolated(啟用樣式隔離)&#xff0c;因此這里給出以下兩種解決方案&#xff1a; // 小程序編譯機制 1. 當 <style scoped> 存在時&#…

基于FastAPI框架的日志模塊設計

以下是一個基于FastAPI框架設計的日志模塊&#xff0c;結合SQLite數據庫實現增刪改查功能的完整實現方案&#xff1a; 1. 項目結構 your_project/ ├── app/ │ ├── logs/ # 日志模塊目錄 │ │ ├── models.py # 數據庫模型定義 │ │ …

面試題:C++虛函數可以是內聯函數嗎?

目錄 1.引言 2.示例 3.總結 1.引言 為什么C的虛函數和內聯函數這兩個看似矛盾的特性能否共存&#xff1f;這個問題實際上觸及了C編譯期優化與運行時多態性之間的微妙平衡。我發現這個問題不僅是面試中的常見陷阱&#xff0c;更是理解C深層機制很好的一個點。 虛函數可以被聲…

用python清除PDF文件中的水印(Adobe Acrobat 無法刪除)

學校老師發的資料&#xff0c;有時候會帶水印&#xff0c;有點強迫癥的都想給它去掉。用Adobe Acrobat試了下&#xff0c;檢測不到水印&#xff0c;無法刪除&#xff01;分析發現原來這類PDF文件是用word編輯的&#xff0c;其中的水印是加在了頁眉中&#xff01; 自己動手想辦法…

Oracle中自定義異常內置異常嵌套異常的捕獲處理

一、異常類型分類 類型說明示例內置預定義異常Oracle已命名異常&#xff08;如NO_DATA_FOUND&#xff09;查詢無數據時觸發內置非預定義異常未命名的Oracle錯誤&#xff08;需用PRAGMA EXCEPTION_INIT關聯&#xff09;ORA-02290&#xff08;違反檢查約束&#xff09;自定義異常…

《Flutter社交應用暗黑奧秘:模式適配與色彩的藝術》

暗黑模式已從一種新奇的功能演變為用戶體驗中不可或缺的一環。對于Flutter開發者而言&#xff0c;如何在社交應用中完美實現暗黑模式適配與色彩對比度優化&#xff0c;是一場充滿挑戰與驚喜的技術探索之旅。 暗黑模式&#xff0c;絕非僅僅是將界面顏色反轉這么簡單。從用戶體驗…

【kubernetes】通過Sealos 命令行工具一鍵部署k8s集群

一、前言 1、sealos安裝k8s集群官網&#xff1a;K8s > Quick-start > Deploy-kubernetes | Sealos Docs 2、本文安裝的k8s版本為v1.28.9 3、以下是一些基本的安裝要求&#xff1a; 每個集群節點應該有不同的主機名。主機名不要帶下劃線。所有節點的時間需要同步。需要…

視覺-語言-動作模型:概念、進展、應用與挑戰(上)

25年5月來自 Cornell 大學、香港科大和希臘 U Peloponnese 的論文“Vision-Language-Action Models: Concepts, Progress, Applications and Challenges”。 視覺-語言-動作 (VLA) 模型標志著人工智能的變革性進步&#xff0c;旨在將感知、自然語言理解和具體動作統一在一個計…

Java筆記4

第一章 static關鍵字 2.1 概述 以前我們定義過如下類&#xff1a; public class Student {// 成員變量public String name;public char sex; // 男 女public int age;// 無參數構造方法public Student() {}// 有參數構造方法public Student(String a) {} }我們已經知道面向…

記一次redis未授權被種挖礦

#挖礦程序 /etc/httpgd /etc/nnt.sh #大小問 #定時任務名為root /var/spool/cron/root 內容&#xff1a;*/50 * * * * sh /etc/nnt.sh >/dev/null 2>&1 定時任務只有所有者可以寫&#xff0c;且chmod修改權限失敗。 #先查看定時任務的拓展屬性&#xff0c;不可變(i…

Excel分組計算求和的兩種實現方案

文章目錄 背景樣例數據方案一、函數求和實現步驟缺點 方案二、數據透視表實現步驟優點 背景 在Excel文檔中&#xff0c;經常會進行數據的求和計算&#xff0c;可使用不同的方式實現&#xff0c;記錄下來&#xff0c;方便備查。 樣例數據 已有商品銷量信息&#xff0c;包含銷…

如何應對網站被爬蟲和采集?綜合防護策略與實用方案

在互聯網時代&#xff0c;網站內容被惡意爬蟲或采集工具竊取已成為常見問題。這不僅侵犯原創權益&#xff0c;還可能影響網站性能和SEO排名。以下是結合技術、策略與法律的綜合解決方案&#xff0c;幫助網站構建有效防護體系。 一、技術防護&#xff1a;阻斷爬蟲的“技術防線”…

網卡網孔速率的協商是如何進行的?

網卡與交換機等網絡設備之間的速率協商主要通過**自動協商&#xff08;Auto-Negotiation&#xff09;**機制實現&#xff0c;其核心是物理層&#xff08;PHY&#xff09;芯片之間的信息交互。以下是協商過程的詳細解析&#xff1a; 一、自動協商的核心流程 1. 發送配置幀&am…

FastExcel 本地開發和Linux上上傳Resource文件的差異性

不能直接通過路徑來獲取 這個是一個下載導出文件的操作 GetMapping(value "/export/all") public void exportAll(HttpServletResponse response, LaylineListReq req) throws IOException {// 從類路徑下獲取 Excel 文件資源ClassPathResource classPathResource…

【RAG】Milvus、Pinecone、PgVector向量數據庫索引參數優化

Milvus 、PgVector 索引參數優化 IVF類索引關鍵參數&#xff08;基于聚類算法&#xff09; nlist (倒排列表數量): 決定將向量空間劃分為多少個聚類中心值越大搜索越精確但耗時越長推薦值: 通常設置為數據量的4√n到n/1000之間例如: 1百萬數據量可設nlist1000到4000 nprobe (搜…

5月12日信息差

一、國際政治與安全:俄烏沖突與中美博弈 1. 烏克蘭戰場信息分化 俄方戰報: 俄羅斯國防部宣稱在頓巴斯地區摧毀烏軍12輛坦克及3套美制“海馬斯”火箭系統,稱烏軍反攻受阻。 信息特點:強調裝備摧毀數量,淡化前線實際控制變化。 烏方通報: 烏克蘭總參謀部表示已奪回巴赫穆特…

Python如何使用進行風險管理和投資組合優化

文章目錄 前言python3.13 環境配置風險管理投資組合優化 前言 在 Python 中&#xff0c;可以使用多個庫來進行風險管理和投資組合優化&#xff0c;以下是一些常見的方法和庫。 python3.13 環境配置 python3.13安裝教程&#xff1a;https://blog.csdn.net/2501_91538706/artic…

C++ 狀態模式詳解

狀態模式&#xff08;State Pattern&#xff09;是一種行為設計模式&#xff0c;它允許一個對象在內部狀態改變時改變其行為&#xff0c;使對象看起來像是改變了其類。 核心概念 設計原則 狀態模式遵循以下設計原則&#xff1a; 單一職責原則&#xff1a;將狀態相關行為分離…