主頁 > 資料庫 > 車道線檢測網路之LaneNet

車道線檢測網路之LaneNet

2020-09-13 10:32:47 資料庫

在這里插入圖片描述

文章目錄

    • 摘要
    • 一、引言
    • 二、車道線檢測網路
      • 2.1 LaneNet
        • (1) 二進制分割
        • (2) 實體分割
        • (3) clustering
        • (4) 網路結構
      • 2.2 H-NET
        • (1) 曲線擬合
        • (2) 損失函式
        • (3) 網路結構
    • 三、實驗結果
        • 3.1 資料集
        • 3.2 Setup
        • 3.3 實驗
    • 四、結論


想獲取原論文的同學,可關注我的微信公眾號:AI Jun,回復:全套,獲取全套深度學習論文
在這里插入圖片描述
關注微信公眾號可掃描下圖二維碼
在這里插入圖片描述


摘要

傳統的車道檢測方法依賴于高度專業化的、手工制作的特征和啟發式方法的組合,通常緊隨其后的是后處理技術,這些技術計算昂貴,并且容易由于道路場景的變化而變得可伸縮,

更新的方法利用深度學習模型,這些模型被訓練用于像素級車道分割,即使在影像中由于其較大的接受范圍而沒有標記時也是如此,盡管它們具有優勢,但這些方法僅限于檢測預定義的固定數量的車道,例如自我車道,并且不能應對車道改變,

相對于以前的作業,該車道檢測網路主要有兩大貢獻

  1. 將車道檢測問題歸結為一個實體分割問題,其中每條車道都形成了自己的實體,可以端到端地進行訓練,
  2. 為了在擬合車道之前將分段車道實體引數化,應用以影像為條件的學習透視變換,而不是固定的“鳥瞰”變換,通過這樣做,可以確保車道擬合對于道路平面的變化是魯棒的,而不像現有的依賴于固定的、預定義的變換的方法,

綜上所述,這是一種快速車道檢測演算法,運行速度為50fps,可以處理可變數量的車道和應對車道變化,在tuSimple資料集上驗證了該方法,并取得了有競爭力的結果,

一、引言

全自動駕駛汽車是當今計算機視覺和機器人研究的主要焦點,無論是在學術層面還是在工業層面上都是如此,每種情況的目標都是通過使用各種傳感器和控制模塊來全面了解汽車周圍的環境,基于攝像頭的車道檢測是邁向這種環境感知的重要一步,因為它允許汽車在道路車道內正確定位自己,它對于任何后續的車道偏離或軌跡規劃決策也是至關重要的,因此,實時執行基于攝像頭的準確車道檢測是實作完全自動駕駛的關鍵因素,

傳統的車道檢測方法依賴于高度專門化、手工制作的特征和試探法的組合來識別車道段,這種手工制作的線索的流行選擇包括基于顏色的特征結構張量條形濾波器脊線特征等,這些特征可能與霍夫變換、和粒子或卡爾曼濾波器相結合,在識別車道段之后,采用后處理技術來過濾錯誤檢測并將分段分組在一起以形成最終車道,

有關車道檢測系統的詳細概述,請讀者參閱《 Recent progress in road andlane detection: a survey》,通常,由于道路場景的變化,這些傳統的方法容易出現魯棒性問題,而這些變化不能很容易地被這樣的基于模型的系統建模,

更新的方法已經用深度網路取代了手工制作的特征檢測器,以學習密集預測,即像素級車道分段,Gopalan等人使用像素層次特征描述符來建模背景關系資訊,并使用提升演算法來選擇用于檢測車道標記的相關背景關系特征,類似地,Kim和Lee將卷積神經網路(CNN)與RANSAC演算法相結合,從邊緣影像開始檢測車道,注意,在他們的方法中,CNN主要用于影像增強,并且僅當道路場景復雜時才使用,例如,它包括路邊樹、柵欄或十字路口,

Huval等人展示現有的CNN模型如何用于高速公路駕駛應用,其中包括執行車道檢測和分類的端到端CNN,He等人介紹了雙視圖CNN(DVCNN),它同時使用正視和俯視影像來分別排除錯誤檢測和去除非棒狀結構,Li等人建議使用專注于尋找幾何車道屬性(例如位置和方向)的多任務深度卷積網路,以及檢測車道的遞回神經網路(RNN),最近,Lee等人展示多任務網路如何在惡劣天氣和低光照條件下聯合處理車道和道路標記檢測和識別,除了前述網路更好地分割車道標記的能力外,它們的大接收范圍還允許它們即使在影像中沒有標記的情況下也能估計車道,然而,在最后階段,仍然需要將生成的二元車道分段解纏到不同的車道實體中,

為了解決這個問題,一些方法已經應用了后處理技術,這些技術再次依賴于啟發式演算法,通常是由幾何屬性指導的,如上所述,這些啟發式方法計算昂貴,并且容易由于道路場景變化而產生魯棒性問題,另一項作業將車道檢測問題描述為多類別分割問題,其中每條車道形成其自己的類別,通過這樣做,網路的輸出包含每個車道的解纏的二進制地圖,并且可以以端到端的方式進行訓練,盡管有其優點,該方法僅限于檢測預定義的固定數量的通道,即自我通道,此外,由于每條車道都有指定的等級,因此無法應對變道,

本文設計了一個類似《Fast Scene Understanding for Autonomous Driving》的分枝多任務車道實體分割網路,該網路由車道分割分支和車道嵌入分支組成,可端到端訓練,車道分割分支具有兩個輸出類別,即背景或車道,而車道嵌入分支進一步將分割的車道像素解開為不同的車道實體,通過將車道檢測問題分解為上述兩個任務,我們可以充分利用車道分割分支的能力,而不必將不同的類別分配給不同的車道,取而代之的是,使用聚類損失函式訓練的車道嵌入分支將車道ID分配給車道分割分支中的每個像素,同時忽略背景像素,通過這樣做,我們緩解了車道改變的問題,并且我們可以處理可變數量的車道,

在估計了車道實體(即,哪些像素屬于哪個車道)之后,作為最后一步,我們希望將它們中的每一個都轉換為引數描述,為此,曲線擬合演算法在文獻中得到了廣泛的應用,流行的模型有三次多項式、樣潭訓回旋線,為了在保持計算效率的同時提高擬合質量,通常使用透視變換將影像轉換為“鳥瞰圖”[39]并在那里執行曲線擬合,注意,鳥瞰圖中擬合的線可以通過逆變換矩陣重新投影到原始影像中,通常,變換矩陣在單個影像上計算,并且保持固定,但是,如果地平面改變形式(例如,通過傾斜上坡),則此固定變換不再有效,因此,接近地平線的車道點可能會投影到無窮遠,從而對直線擬合產生負面影響,

為了彌補這種情況,我們還在擬合曲線之前對影像進行透視變換,但與現有的依賴于固定變換矩陣進行透視變換的方法不同,我們訓練神經網路來輸出變換系數,特別地,神經網路將影像作為輸入,并利用針對車道擬合問題量身定做的損失函式進行優化,所提出的方法的固有優點是車道擬合對道路平面變化是穩健的,并且被特別優化以更好地擬合車道,我們整個管道的概況可以在下圖1中看到,

在這里插入圖片描述
本文的貢獻可以歸結為以下兩點:

  1. 一種分支的多任務體系結構,將車道檢測問題轉化為實體分割任務,處理車道變化,并允許推斷任意數量的車道,具體地,車道分割分支輸出密集的每像素車道分段,而車道嵌入分支進一步將分段的車道像素解纏成不同的車道實體,
  2. 給定輸入影像的網路估計透視變換的引數,該透視變換允許車道擬合對道路平面變化(例如,上坡/下坡坡度)具有魯棒性,

二、車道線檢測網路

本文端到端地訓練神經網路進行車道檢測,以解決前面提到的車道切換問題以及車道數量的限制,這是通過將車道檢測視為實體分割問題來實作的,我們將其稱為LaneNet,如下圖2,結合了二進制車道分割的優點和專為單次實體分割而設計的聚類損失函式,在LaneNet的輸出中,為每個車道像素分配其相應車道的ID,
在這里插入圖片描述

2.1 LaneNet

實體分割任務由兩部分組成,分割部分和集群部分,下面幾節將對此進行更詳細的說明,為了提高性能,在速度和準確性方面[27],這兩個部分在多任務網路中聯合訓練(見圖2),

(1) 二進制分割

對LaneNet的分段分支(參見圖2,底部分支)進行訓練,以輸出二進制分段圖,指示哪些像素屬于車道,哪些不屬于車道,為了構建地面真實分割圖,我們將所有地面真實車道點1連接在一起,形成每條車道的連通線,請注意,即使通過遮擋汽車之類的物件,或者在沒有明顯可見車道段(例如虛線或褪色車道)的情況下,我們也會繪制這些地面真實車道,這樣,網路將學會預測車道位置,即使它們被遮擋或在不利的情況下也是如此,用標準的交叉熵損失函式對分割網路進行訓練,由于這兩個類別(車道/背景)高度不平衡,因此我們應用有界反向類別權重,如[29]中所述,

(2) 實體分割

為了解開由語意分支標識的車道像素,我們訓練LaneNet的第二個分支用于車道實體嵌入(參見圖2),大多數流行的檢測和分割方法(例如,[14]、[38])對于車道實體分割并不理想,因為邊界框檢測更適合于緊湊的物件,而車道不適合,因此,我們使用了De Braband ere等人提出的基于距離度量學習的一次性方法[5],它可以很容易地與標準前饋網路集成,并且是專門為實時應用設計的,

通過使用它們的聚類損失函式,訓練實體嵌入分支來為每個車道像素輸出嵌入,使得屬于同一車道的像素嵌入之間的距離較小,而屬于不同車道的像素嵌入之間的距離是最大的,通過這樣做,同一通道的像素嵌入將群集在一起,形成每個通道的唯一群集,這是通過引入兩個項來實作的:方差項 L v a r L_{var} Lvar?距離項 L d i s t L_{dist} Ldist?,其中方差項 L v a r L_{var} Lvar?向每個嵌入施加朝向車道的平均嵌入的拉力,距離項 L d i s t L_{dist} Ldist?將群集中心彼此推開,這兩個術語都是鉸鏈的:僅當嵌入距離其群集中心的距離大于δ時,拉力才有效,而中心之間的推力僅當它們彼此之間的距離大于δ時才有效,C表示簇(通道)的數量, N c N_c Nc?表示簇c中的元素數, x i x_i xi?是一個像素嵌入, μ c μ_c μc?表示簇c的平均嵌入,|| . ||表示L2距離, [ x ] + = m a x ( 0 , x ) [x]_+=max(0,x) [x]+?=max(0x)鉸鏈,總損失L等于 L v a r + L d i s t L_{var}+L_{dist} Lvar?+Ldist?

在這里插入圖片描述
一旦網路已經收斂,車道像素的嵌入將被聚集在一起,使得每個簇彼此之間的鋪設距離大于 δ d δ_d δd?,并且每個簇的半徑小于 δ v δ_v δv?

(3) clustering

群集是通過迭代程序完成的,通過在上述損失中設定 δ d > 6 δ v δ_d>6δ_v δd?>6δv?,可以采用半徑為 2 δ v 2δ_v 2δv?的隨機通道嵌入和其周圍的閾值來選擇屬于同一通道的所有嵌入,重復此操作,直到將所有車道嵌入指定給車道為止,為了避免選擇離群點作為閾值,我們首先使用均值漂移來靠近聚類中心,然后進行閾值處理,

(4) 網路結構

LaneNet的架構基于編解碼器網路ENet[29],該網路因此被修改為雙分支網路,由于ENet的編碼器比解碼器包含更多的引數,完全在兩個任務之間共享完整的編碼器將導致不令人滿意的結果[27],因此,雖然原來的ENet編碼器由三個階段(階段1、2、3)組成,但LaneNet只在兩個分支之間共享前兩個階段(1和2),留下ENet編碼器的階段3和完整的ENet解碼器作為每個單獨分支的主干,分割分支的最后一層輸出單通道影像(二進制分割),而嵌入分支的最后一層輸出N通道影像,其中N是嵌入維度,圖2示意性地描述了這一點,每個分支的損耗項都是相等加權的,并通過網路反向傳播,

2.2 H-NET

由于LaneNet輸出每個車道的像素集合,因此我們仍然必須通過這些像素擬合曲線才能獲得車道引數化,通常,車道像素首先使用固定的變換矩陣投影到“鳥瞰”表示中,然而,由于變換引數對于所有影像都是固定的,這在遇到非平坦地平面時(例如在斜坡中)會引起問題,為了緩解這個問題,我們訓練了一個網路,稱為H-Net,它根據輸入圖像估計“理想”透視變換的引數,這種轉變不一定是典型的“鳥瞰”,相反,它是一種變換,在這種變換中,車道可以用低階多項式進行最佳擬合,

正如上一節所解釋的,LaneNet的輸出是每個通道的像素集合,在原始影像空間中通過這些像素擬合多項式是不理想的,因為人們必須求助于高階多項式才能處理彎曲的車道,

該問題的一種常用解決方案是將影像投影到“鳥瞰”表示中,在該表示中,車道彼此平行,因此,曲線車道可以用2到3次多項式來擬合,

然而,在這些情況下,變換矩陣H被計算一次,并且對于所有影像保持固定,通常,這會導致地平面以下的誤差,即投影到無窮遠處的消失點向上或向下移動(見圖4,第二行),
在這里插入圖片描述
為了解決這個問題,我們訓練了一個具有自定義損失函式的神經網路H-Net:對網路進行端到端的優化,以預測透視變換H的引數,其中變換后的車道點可以用二階或三階多項式進行最佳擬合,預測是以輸入影像為條件的,允許網路在地平面變化時自適應投影引數,因此車道擬合仍將是正確的(參見圖4的最后一行),在我們的例子中,H有6個自由度:
在這里插入圖片描述
放置零是為了強制約束,即在變換下水平線保持水平,

(1) 曲線擬合

在這里插入圖片描述

曲線擬合之前,通過車道像素P擬合曲線,后者使用H網輸出的變換矩陣進行變換,給定通道像素pi=[Xi,yi,1]T∈P,變換像素P0i=[X0i,Y0i,1]T∈P0等于Hpi,接下來,使用最小二乘演算法通過變換后的像素P0擬合n次多項式f(Y0),為了獲得在給定y位置yi的車道的x位置,x?i,點pi=[?,yi,1]ti被變換為P0i=hpi=[?,y0 i,1]t,并且計算為:x0?i=f(Y0 I),請注意,x值并不重要,用‘-’表示,通過將這個點p0?i=[x0?i,y0 i,1]t重新投影到原始像空間中,我們得到:p?i=H?1p0?i,p?i=[x?i,yi,1]T,這樣,我們可以評估不同y位置的車道,該程序在圖3中示出:

在這里插入圖片描述

(2) 損失函式

損失函式為了訓練H-網輸出對車道像素擬合多項式最優的變換矩陣,我們構造了以下損失函式,給定N個地面真實車道點pi=[xi,yi,1]T∈P,我們首先使用H-NET的輸出轉換這些點:
在這里插入圖片描述在這里插入圖片描述
由于車道擬合是使用最小二乘演算法的閉合解進行的,因此損失是可微的,我們使用自動微分來計算梯度,

(3) 網路結構

網路體系結構H-NET的網路體系結構故意保持較小,由3x3卷積、 batchnorm 和 Relu 的連續塊構成,使用最大池化層來降低維度,并在最后添加2個全連接層,完整的網路結構請參見表I:
在這里插入圖片描述

三、實驗結果

3.1 資料集

目前,tuSimple車道資料集是用于測驗車道檢測任務中的深度學習方法的唯一大規模資料集,它包括3626個訓練集圖片和2782個測驗集圖片,樣本均在良好和中等天氣條件下,

它們被記錄在2車道/3車道/4車道或更多的高速公路上,在不同的白天,對于每個影像,它們還提供了未加注釋的前19個幀,注釋以JSON格式出現,指示車道在多個離散化的y位置處的xposition,在每個影像上,當前(EGO)車道和左/右車道都有注釋,這在測驗集上也是預期的,在換道時,可以增加第5條車道,以避免混淆,

精度按每幅影像的平均正確點數計算:
在這里插入圖片描述

C i m C_{im} Cim?值表示正確點的個數,用 S i m S_{im} Sim?表示地真值點的個數,當地面實測點與預測點之間的差值小于某一閾值時,該點是正確的,與準確性一起,它們還提供假陽性和假陰性分數:
在這里插入圖片描述在這里插入圖片描述

3.2 Setup

在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

3.3 實驗

插值法

在表III中,我們計算了基于H-Net的無變換、固定變換和條件變換的車道擬合精度,我們還測量了二階或三階多項式擬合之間的差異,當在沒有變換的情況下直接在原始影像空間中擬合曲線時,這會導致較差的結果;這是因為曲線車道很難使用低階多項式來擬合,
在這里插入圖片描述
通過使用固定變換,我們已經獲得了更好的結果,三階多項式比二階多項式性能更好,然而,并非所有車道點都可以在固定變換下適配(另見圖4),當地平面的坡度改變時,接近消失點的點不能被正確擬合,因此在MSE測量中被忽略,但仍被計為遺漏的點,

利用H網生成的變換矩陣對車道擬合進行優化,其結果優于固定變換的車道擬合結果,我們不僅獲得了更好的均方根分數,而且使用這種方法可以擬合所有的點,無論地平面的坡度是否改變,

通過使用LaneNet結合三階多項式擬合和H-Net的變換矩陣,我們在tuSimple挑戰中獲得了第四名,與第一名相比只有0.5%的差異,結果可以在表II中看到,請注意,我們只在tuSimple資料集的訓練影像上進行了訓練,對于其他條目,這一點并不清楚,它們的速度性能也是不清楚的,
在這里插入圖片描述

四、結論

本文提出了一種50fps的端到端車道檢測方法,受最近的實體分割技術的啟發,與其他相關的深度學習方法相比,我們的方法可以檢測到可變數量的車道,并且可以應對車道變換動作,

為了使用低階多項式對分割的車道進行引數化,我們訓練了一個網路來生成透視變換的引數,該引數以影像為條件,其中車道擬合是最優的,該網路是使用用于車道擬合的自定義損失函式來訓練的,與流行的“鳥瞰”方法不同,我們的方法通過相應地調整變換引數,對地平面的坡度變化具有魯棒性,


關注微信公眾號,更多精彩內容等著你哦!

在這里插入圖片描述

轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/23657.html

標籤:其他

上一篇:Windows下fasttext文本分類

下一篇:漫畫:量子計算為什么這么牛?

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • GPU虛擬機創建時間深度優化

    **?桔妹導讀:**GPU虛擬機實體創建速度慢是公有云面臨的普遍問題,由于通常情況下創建虛擬機屬于低頻操作而未引起業界的重視,實際生產中還是存在對GPU實體創建時間有苛刻要求的業務場景。本文將介紹滴滴云在解決該問題時的思路、方法、并展示最終的優化成果。 從公有云服務商那里購買過虛擬主機的資深用戶,一 ......

    uj5u.com 2020-09-10 06:09:13 more
  • 可編程網卡芯片在滴滴云網路的應用實踐

    **?桔妹導讀:**隨著云規模不斷擴大以及業務層面對延遲、帶寬的要求越來越高,采用DPDK 加速網路報文處理的方式在橫向縱向擴展都出現了局限性。可編程芯片成為業界熱點。本文主要講述了可編程網卡芯片在滴滴云網路中的應用實踐,遇到的問題、帶來的收益以及開源社區貢獻。 #1. 資料中心面臨的問題 隨著滴滴 ......

    uj5u.com 2020-09-10 06:10:21 more
  • 滴滴資料通道服務演進之路

    **?桔妹導讀:**滴滴資料通道引擎承載著全公司的資料同步,為下游實時和離線場景提供了必不可少的源資料。隨著任務量的不斷增加,資料通道的整體架構也隨之發生改變。本文介紹了滴滴資料通道的發展歷程,遇到的問題以及今后的規劃。 #1. 背景 資料,對于任何一家互聯網公司來說都是非常重要的資產,公司的大資料 ......

    uj5u.com 2020-09-10 06:11:05 more
  • 滴滴AI Labs斬獲國際機器翻譯大賽中譯英方向世界第三

    **桔妹導讀:**深耕人工智能領域,致力于探索AI讓出行更美好的滴滴AI Labs再次斬獲國際大獎,這次獲獎的專案是什么呢?一起來看看詳細報道吧! 近日,由國際計算語言學協會ACL(The Association for Computational Linguistics)舉辦的世界最具影響力的機器 ......

    uj5u.com 2020-09-10 06:11:29 more
  • MPP (Massively Parallel Processing)大規模并行處理

    1、什么是mpp? MPP (Massively Parallel Processing),即大規模并行處理,在資料庫非共享集群中,每個節點都有獨立的磁盤存盤系統和記憶體系統,業務資料根據資料庫模型和應用特點劃分到各個節點上,每臺資料節點通過專用網路或者商業通用網路互相連接,彼此協同計算,作為整體提供 ......

    uj5u.com 2020-09-10 06:11:41 more
  • 滴滴資料倉庫指標體系建設實踐

    **桔妹導讀:**指標體系是什么?如何使用OSM模型和AARRR模型搭建指標體系?如何統一流程、規范化、工具化管理指標體系?本文會對建設的方法論結合滴滴資料指標體系建設實踐進行解答分析。 #1. 什么是指標體系 ##1.1 指標體系定義 指標體系是將零散單點的具有相互聯系的指標,系統化的組織起來,通 ......

    uj5u.com 2020-09-10 06:12:52 more
  • 單表千萬行資料庫 LIKE 搜索優化手記

    我們經常在資料庫中使用 LIKE 運算子來完成對資料的模糊搜索,LIKE 運算子用于在 WHERE 子句中搜索列中的指定模式。 如果需要查找客戶表中所有姓氏是“張”的資料,可以使用下面的 SQL 陳述句: SELECT * FROM Customer WHERE Name LIKE '張%' 如果需要 ......

    uj5u.com 2020-09-10 06:13:25 more
  • 滴滴Ceph分布式存盤系統優化之鎖優化

    **桔妹導讀:**Ceph是國際知名的開源分布式存盤系統,在工業界和學術界都有著重要的影響。Ceph的架構和演算法設計發表在國際系統領域頂級會議OSDI、SOSP、SC等上。Ceph社區得到Red Hat、SUSE、Intel等大公司的大力支持。Ceph是國際云計算領域應用最廣泛的開源分布式存盤系統, ......

    uj5u.com 2020-09-10 06:14:51 more
  • es~通過ElasticsearchTemplate進行聚合~嵌套聚合

    之前寫過《es~通過ElasticsearchTemplate進行聚合操作》的文章,這一次主要寫一個嵌套的聚合,例如先對sex集合,再對desc聚合,最后再對age求和,共三層嵌套。 Aggregations的部分特性類似于SQL語言中的group by,avg,sum等函式,Aggregation ......

    uj5u.com 2020-09-10 06:14:59 more
  • 爬蟲日志監控 -- Elastc Stack(ELK)部署

    傻瓜式部署,只需替換IP與用戶 導讀: 現ELK四大組件分別為:Elasticsearch(核心)、logstash(處理)、filebeat(采集)、kibana(可視化) 下載均在https://www.elastic.co/cn/downloads/下tar包,各組件版本最好一致,配合fdm會 ......

    uj5u.com 2020-09-10 06:15:05 more
最新发布
  • day02-2-商鋪查詢快取

    功能02-商鋪查詢快取 3.商鋪詳情快取查詢 3.1什么是快取? 快取就是資料交換的緩沖區(稱作Cache),是存盤資料的臨時地方,一般讀寫性能較高。 快取的作用: 降低后端負載 提高讀寫效率,降低回應時間 快取的成本: 資料一致性成本 代碼維護成本 運維成本 3.2需求說明 如下,當我們點擊商店詳 ......

    uj5u.com 2023-04-20 08:33:24 more
  • MySQL中binlog備份腳本分享

    關于MySQL的二進制日志(binlog),我們都知道二進制日志(binlog)非常重要,尤其當你需要point to point災難恢復的時侯,所以我們要對其進行備份。關于二進制日志(binlog)的備份,可以基于flush logs方式先切換binlog,然后拷貝&壓縮到到遠程服務器或本地服務器 ......

    uj5u.com 2023-04-20 08:28:06 more
  • day02-短信登錄

    功能實作02 2.功能01-短信登錄 2.1基于Session實作登錄 2.1.1思路分析 2.1.2代碼實作 2.1.2.1發送短信驗證碼 發送短信驗證碼: 發送驗證碼的介面為:http://127.0.0.1:8080/api/user/code?phone=xxxxx<手機號> 請求方式:PO ......

    uj5u.com 2023-04-20 08:27:27 more
  • 快取與資料庫雙寫一致性幾種策略分析

    本文將對幾種快取與資料庫保證資料一致性的使用方式進行分析。為保證高并發性能,以下分析場景不考慮執行的原子性及加鎖等強一致性要求的場景,僅追求最終一致性。 ......

    uj5u.com 2023-04-20 08:26:48 more
  • sql陳述句優化

    問題查找及措施 問題查找 需要找到具體的代碼,對其進行一對一優化,而非一直把關注點放在服務器和sql平臺 降低簡化每個事務中處理的問題,盡量不要讓一個事務拖太長的時間 例如檔案上傳時,應將檔案上傳這一步放在事務外面 微軟建議 4.啟動sql定時執行計劃 怎么啟動sqlserver代理服務-百度經驗 ......

    uj5u.com 2023-04-20 08:26:35 more
  • 云時代,MySQL到ClickHouse資料同步產品對比推薦

    ClickHouse 在執行分析查詢時的速度優勢很好的彌補了MySQL的不足,但是對于很多開發者和DBA來說,如何將MySQL穩定、高效、簡單的同步到 ClickHouse 卻很困難。本文對比了 NineData、MaterializeMySQL(ClickHouse自帶)、Bifrost 三款產品... ......

    uj5u.com 2023-04-20 08:26:29 more
  • sql陳述句優化

    問題查找及措施 問題查找 需要找到具體的代碼,對其進行一對一優化,而非一直把關注點放在服務器和sql平臺 降低簡化每個事務中處理的問題,盡量不要讓一個事務拖太長的時間 例如檔案上傳時,應將檔案上傳這一步放在事務外面 微軟建議 4.啟動sql定時執行計劃 怎么啟動sqlserver代理服務-百度經驗 ......

    uj5u.com 2023-04-20 08:25:13 more
  • Redis 報”OutOfDirectMemoryError“(堆外記憶體溢位)

    Redis 報錯“OutOfDirectMemoryError(堆外記憶體溢位) ”問題如下: 一、報錯資訊: 使用 Redis 的業務介面 ,產生 OutOfDirectMemoryError(堆外記憶體溢位),如圖: 格式化后的報錯資訊: { "timestamp": "2023-04-17 22: ......

    uj5u.com 2023-04-20 08:24:54 more
  • day02-2-商鋪查詢快取

    功能02-商鋪查詢快取 3.商鋪詳情快取查詢 3.1什么是快取? 快取就是資料交換的緩沖區(稱作Cache),是存盤資料的臨時地方,一般讀寫性能較高。 快取的作用: 降低后端負載 提高讀寫效率,降低回應時間 快取的成本: 資料一致性成本 代碼維護成本 運維成本 3.2需求說明 如下,當我們點擊商店詳 ......

    uj5u.com 2023-04-20 08:24:03 more
  • day02-短信登錄

    功能實作02 2.功能01-短信登錄 2.1基于Session實作登錄 2.1.1思路分析 2.1.2代碼實作 2.1.2.1發送短信驗證碼 發送短信驗證碼: 發送驗證碼的介面為:http://127.0.0.1:8080/api/user/code?phone=xxxxx<手機號> 請求方式:PO ......

    uj5u.com 2023-04-20 08:23:11 more