亚洲有码Av一区二区三区_国产高清啪啪免费视频_69色视频国产_国产成人人人爆出白浆_国产精品自在线拍国_一本久久伊人热热精品无码_午夜性刺激在线看免费带字幕_助力高品质欧美狂喷水_亚洲精品日韩无码_精品无码一区二区三区蜜臀_麻豆高清国产AV_熟妇人素无码中文字幕_亚洲a级片在线观看_国产欧美日韩三区_99国产成人高清在线观看

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營(yíng)的一線實(shí)戰(zhàn)洞察。

從Chrome OS到安卓車(chē)機(jī):A/B雙槽位OTA更新機(jī)制實(shí)戰(zhàn)解析

從Chrome OS到安卓車(chē)機(jī):A/B雙槽位OTA更新機(jī)制實(shí)戰(zhàn)解析 做車(chē)載安卓開(kāi)發(fā)的朋友應(yīng)該都清楚給車(chē)機(jī)做 OTA 更新和給手機(jī)做 OTA 完全不是一個(gè)難度等級(jí)。手機(jī)更新掛了用戶頂多吐槽兩句進(jìn) recovery 再刷一次就能救回來(lái)車(chē)機(jī)要是更新到一半斷電、斷網(wǎng)或者引導(dǎo)程序被寫(xiě)壞用戶面對(duì)的是一塊黑屏的中控導(dǎo)航、倒車(chē)影像、空調(diào)控制全部失效。這種現(xiàn)場(chǎng)處理成本比手機(jī)高一個(gè)量級(jí)因?yàn)檐?chē)主不會(huì)自己拆機(jī)刷機(jī)也沒(méi)人愿意為了一個(gè)系統(tǒng)版本跑兩趟維修點(diǎn)。我前兩年接手一個(gè)基于安卓系統(tǒng)的車(chē)機(jī)項(xiàng)目在更新流程上反復(fù)栽跟頭最后把 Chrome OS 的更新機(jī)制完整過(guò)了一遍才算把思路徹底理順。Chrome OS 的更新流程和安卓系統(tǒng)在底層是同源的核心思想是“雙槽位 原子切換”永遠(yuǎn)不修改正在運(yùn)行的系統(tǒng)而是把新版本完整寫(xiě)到另一個(gè)槽位分區(qū)塊校驗(yàn)通過(guò)后再切換過(guò)去啟動(dòng)失敗還能自動(dòng)回退。這篇文章把這條流程從版本檢查到重啟回滾逐段拆開(kāi)講重點(diǎn)落在怎么把它落地到安卓系統(tǒng)的車(chē)載設(shè)備、手機(jī)這類(lèi)場(chǎng)景里。適合看這篇內(nèi)容的有三類(lèi)人正在設(shè)計(jì)車(chē)機(jī)或智能座艙 OTA 方案的系統(tǒng)工程師想讓安卓設(shè)備更新更可靠的 ROM 開(kāi)發(fā)者以及單純想弄明白“系統(tǒng)更新在后臺(tái)到底做了什么”的進(jìn)階用戶。我不畫(huà)那些漂亮的架構(gòu)圖只講實(shí)際跑通這條鏈路需要知道的事以及我踩過(guò)的坑。1. 車(chē)載更新為什么容易翻車(chē)三個(gè)繞不開(kāi)的現(xiàn)實(shí)約束1.1 電力不可控更新做到一半用戶可能直接熄火車(chē)機(jī)沒(méi)有“充電寶”這種后備方案。手機(jī)的更新策略可以簡(jiǎn)單粗暴地要求“電量大于 50%接上充電器再更新”車(chē)機(jī)不行它依靠整車(chē)電源。用戶可能在地庫(kù)里待著無(wú)聊點(diǎn)了一下“檢查更新”下載完剛進(jìn)入寫(xiě)入階段就關(guān)掉電源下車(chē)走了。整車(chē)斷電意味著 SoC 瞬間失去供電正在寫(xiě) eMMC 的進(jìn)程直接被拍死。更麻煩的是車(chē)機(jī)系統(tǒng)里往往還掛著儀表聯(lián)動(dòng)、電源管理、網(wǎng)絡(luò)喚醒等一堆域控制器邏輯。你很難用一個(gè)簡(jiǎn)單的“電量閾值”判斷能不能寫(xiě)分區(qū)因?yàn)槟悴恢老乱幻胗脩魰?huì)不會(huì)啟動(dòng)發(fā)動(dòng)機(jī)。我的做法是加一個(gè)“電源擋位 電壓兜底”雙條件整車(chē)電源處于 ON 擋且電瓶電壓高于某個(gè)閾值比如 12V才允許進(jìn)入寫(xiě)入階段下載階段則不受此限制。這樣至少把“熄火瞬間寫(xiě)入”的概率降到最低。1.2 網(wǎng)絡(luò)不可靠地庫(kù)、隧道、高速移動(dòng)下的下載體驗(yàn)車(chē)機(jī)的網(wǎng)絡(luò)環(huán)境比手機(jī)差得多。手機(jī)在地庫(kù)里沒(méi)信號(hào)可以等回家連 Wi-Fi車(chē)機(jī)經(jīng)常就是在地庫(kù)或者戶外停車(chē)場(chǎng)停著的時(shí)候才有人想起更新。再加上很多車(chē)機(jī)的蜂窩模塊硬件帶寬本身就有限一個(gè)幾 GB 的鏡像包下載幾個(gè)小時(shí)是常態(tài)下載過(guò)程中進(jìn)出隧道、跨基站、信號(hào)從滿格變成無(wú)服務(wù)都是家常便飯。所以車(chē)機(jī) OTA 的第一條鐵律就是下載必須支持?jǐn)帱c(diǎn)續(xù)傳而且進(jìn)度要持久化。Chrome OS 的更新引擎在這一點(diǎn)上做得很扎實(shí)它把已下載數(shù)據(jù)的偏移量記錄在持久分區(qū)里重啟后還能接著下。很多車(chē)機(jī)項(xiàng)目第一次做 OTA 時(shí)沒(méi)有意識(shí)到這一點(diǎn)把下載緩存放在容易被清掉的內(nèi)存文件系統(tǒng)里結(jié)果斷一次電80% 的進(jìn)度直接清零用戶心態(tài)直接爆炸。1.3 救援手段缺失車(chē)機(jī)沒(méi)有“刷機(jī)自由”手機(jī)用戶遇到系統(tǒng)壞了還能自己進(jìn) recovery 雙清、線刷、卡刷社區(qū)教程一抓一大把。車(chē)機(jī)呢大部分車(chē)主不知道什么是 recovery中控面板上也不存在“音量鍵 電源鍵”這種組合鍵想進(jìn)刷機(jī)模式得靠診斷儀或者特殊指令。就算工程師能遠(yuǎn)程進(jìn)入診斷模式車(chē)機(jī)本身黑屏的情況下用戶連車(chē)都開(kāi)不順體驗(yàn)極其糟糕。這些約束疊加起來(lái)指向同一個(gè)結(jié)論車(chē)機(jī)的更新方案必須默認(rèn)“更新過(guò)程中隨時(shí)可能被打斷”而且打斷之后系統(tǒng)還要能自己恢復(fù)。這正是 Chrome OS 更新機(jī)制的設(shè)計(jì)前提也是我把它作為參考藍(lán)本的原因。2. Chrome OS 更新機(jī)制的核心骨架雙槽位、狀態(tài)機(jī)與更新引擎2.1 雙槽位設(shè)計(jì)不是“覆蓋”而是“寫(xiě)完再切”Chrome OS 的存儲(chǔ)里同時(shí)保留兩份系統(tǒng)KERNEL-A/ROOT-A 和 KERNEL-B/ROOT-B這就是所謂的 A/B 雙槽位。系統(tǒng)當(dāng)前從 A 槽啟動(dòng)時(shí)B 槽是空閑的一次更新做的事情就是往 B 槽寫(xiě)一份完整的新系統(tǒng)而不是去改動(dòng) A 槽的任何字節(jié)。寫(xiě)完并校驗(yàn)通過(guò)之后才把“下次啟動(dòng)優(yōu)先用 B 槽”這個(gè)標(biāo)記寫(xiě)進(jìn)引導(dǎo)程序能讀到的位置。這個(gè)設(shè)計(jì)可以類(lèi)比成搬家你不是住在正在裝修的房子里而是在隔壁先裝好一套樣板間驗(yàn)收滿意之后再搬過(guò)去舊房子留著作為退路。對(duì)車(chē)機(jī)這種“不允許現(xiàn)場(chǎng)救磚”的場(chǎng)景來(lái)說(shuō)這個(gè)“退路”是剛需而不是錦上添花。2.2 更新引擎與狀態(tài)機(jī)整個(gè)流程的大腦Chrome OS 里的更新動(dòng)作由一個(gè)常駐后臺(tái)的守護(hù)進(jìn)程負(fù)責(zé)源碼里通常叫 update_engine。它負(fù)責(zé)跟更新服務(wù)器通信、下載鏡像、寫(xiě)分區(qū)、觸發(fā)重啟所有操作都有一個(gè)清晰的狀態(tài)機(jī)空閑、檢查更新、發(fā)現(xiàn)新版本、下載中、校驗(yàn)中、收尾、等待重啟。每個(gè)狀態(tài)都會(huì)落日志排查問(wèn)題的時(shí)候第一步永遠(yuǎn)是看它停在哪個(gè)狀態(tài)。這一點(diǎn)對(duì)移植到安卓非常重要。安卓系統(tǒng)從支持 A/B 無(wú)縫更新開(kāi)始也把同一個(gè)更新引擎接進(jìn)了自己的框架車(chē)機(jī) ROM 里能看到這個(gè)進(jìn)程再正常不過(guò)。它的狀態(tài)機(jī)和 Chrome OS 基本同源你只要理解了這套狀態(tài)機(jī)車(chē)機(jī) OTA 的調(diào)試工作就成功了一半。2.3 分區(qū)布局內(nèi)核、根文件系統(tǒng)、用戶數(shù)據(jù)各自有不同的待遇Chrome OS 的分區(qū)不是所有內(nèi)容都做雙份。內(nèi)核和根文件系統(tǒng)走 A/B 雙槽位因?yàn)樗鼈儧Q定了系統(tǒng)能不能起來(lái)用戶數(shù)據(jù)分區(qū)是單份的兩個(gè)槽位共用因?yàn)樗绨姹颈A?。這個(gè)分工很有講究系統(tǒng)代碼可以隨時(shí)替換用戶數(shù)據(jù)不能隨便丟。落到安卓車(chē)機(jī)上對(duì)應(yīng)關(guān)系大概是這樣內(nèi)核對(duì)應(yīng) boot 分區(qū)根文件系統(tǒng)對(duì)應(yīng) system/vendor 這些系統(tǒng)分區(qū)用戶數(shù)據(jù)對(duì)應(yīng) data 分區(qū)。你可以把 Chrome OS 的分區(qū)哲學(xué)理解為“把不可變的東西做成雙份把可變的東西保持單份”這個(gè)原則在移植時(shí)依然成立。3. 一次完整更新的五步流從版本協(xié)商到失敗回滾3.1 第一步設(shè)備“報(bào)家底”服務(wù)器決定給不給包更新開(kāi)始前設(shè)備要向更新服務(wù)器匯報(bào)自己的身份和現(xiàn)狀硬件標(biāo)識(shí)哪一款車(chē)機(jī)、哪個(gè)型號(hào)的設(shè)備、當(dāng)前系統(tǒng)版本號(hào)、所屬更新通道穩(wěn)定版還是測(cè)試版、固件版本等。服務(wù)器根據(jù)這些信息判斷這個(gè)設(shè)備當(dāng)前版本離最新版本差多遠(yuǎn)該推全量包還是增量包以及要不要限制灰度范圍。這一步經(jīng)常被車(chē)機(jī)團(tuán)隊(duì)忽略。很多項(xiàng)目直接把更新服務(wù)器做成“有包就發(fā)”完全沒(méi)有版本協(xié)商的概念。結(jié)果就是一臺(tái)長(zhǎng)期斷網(wǎng)的設(shè)備三個(gè)月后終于連上網(wǎng)服務(wù)器給它推了一個(gè)基于三個(gè)月前版本的增量包而它的當(dāng)前版本比增量包的基準(zhǔn)還老寫(xiě)入時(shí)校驗(yàn)直接失敗。所以版本協(xié)商不是可選項(xiàng)是整個(gè)流程的地基。3.2 第二步全量包還是增量包網(wǎng)絡(luò)決定策略更新包分兩種。全量包包含目標(biāo)版本的完整鏡像體積大好處是不依賴(lài)設(shè)備當(dāng)前版本寫(xiě)起來(lái)最穩(wěn)妥增量包只包含新舊版本之間的差異體積可能只有全量包的十分之一但要求設(shè)備當(dāng)前版本正好在基準(zhǔn)范圍內(nèi)。兩者的取舍在車(chē)機(jī)場(chǎng)景里尤其明顯。我給車(chē)機(jī)項(xiàng)目定的策略很簡(jiǎn)單默認(rèn)優(yōu)先增量包前提是設(shè)備當(dāng)前版本距離目標(biāo)版本不超過(guò)兩個(gè)版本超過(guò)兩代或找不到對(duì)應(yīng)基準(zhǔn)直接轉(zhuǎn)全量包。寧可下載慢一點(diǎn)也不讓用戶在“基準(zhǔn)版本不匹配”的報(bào)錯(cuò)里打轉(zhuǎn)。對(duì)比項(xiàng)全量包增量包體積大完整鏡像小版本間差異適用條件任意舊版本指定舊版本范圍生成復(fù)雜度低高需要基準(zhǔn)版本失敗風(fēng)險(xiǎn)低中基準(zhǔn)不匹配則失敗車(chē)機(jī)弱網(wǎng)場(chǎng)景后備方案首選3.3 第三步下載、斷點(diǎn)續(xù)傳與逐塊校驗(yàn)下載不是簡(jiǎn)單地把一個(gè)文件拉到本地。更新引擎會(huì)把鏡像包切成很多塊每一塊都有自己的哈希值下載過(guò)程中邊下邊驗(yàn)驗(yàn)不過(guò)的塊直接重下。整個(gè)鏡像包下載完成后還會(huì)對(duì)包簽名和整體哈希再做一次校驗(yàn)任何一步不通過(guò)更新都不會(huì)進(jìn)入寫(xiě)分區(qū)階段。斷點(diǎn)續(xù)傳的實(shí)現(xiàn)方式是把下載進(jìn)度記錄到持久分區(qū)的偏好文件里分塊信息和偏移量都留在那里。斷電重啟后引擎讀到原來(lái)的進(jìn)度從斷點(diǎn)繼續(xù)下而不是從頭再來(lái)。我在測(cè)試?yán)锬M過(guò)十幾次“下載中拔電源”只要暫存目錄和進(jìn)度文件放在持久分區(qū)恢復(fù)率是百分之百反過(guò)來(lái)說(shuō)只要這兩個(gè)東西放錯(cuò)地方一次斷電就前功盡棄。3.4 第四步寫(xiě)入非活動(dòng)槽位寫(xiě)完才算數(shù)下載校驗(yàn)通過(guò)后才是真正的“安裝”階段。更新引擎把鏡像內(nèi)容按塊寫(xiě)入非活動(dòng)槽位比如當(dāng)前從 A 槽啟動(dòng)就寫(xiě) B 槽的內(nèi)核和根文件系統(tǒng)分區(qū)。每一塊寫(xiě)完之后立刻做哈希比對(duì)不一致就中止并把這個(gè)槽位標(biāo)記為不可用。全部寫(xiě)完后還會(huì)對(duì)目標(biāo)鏡像做一次整體校驗(yàn)。這一步給車(chē)機(jī)方案提了個(gè)醒寫(xiě)入階段是最怕斷電的區(qū)間。雖然 A/B 雙槽位能保證“寫(xiě)一半斷電后 A 槽還能正常啟動(dòng)”但 B 槽會(huì)殘留一個(gè)半成品下次更新必須先清掉重寫(xiě)。所以我在車(chē)機(jī)上加了“寫(xiě)入階段禁止整車(chē)下電”的提示同時(shí)在策略上允許“下載可以斷寫(xiě)入必須一口氣完成”。3.5 第五步重啟切換、嘗試計(jì)數(shù)與自動(dòng)回退寫(xiě)完并校驗(yàn)通過(guò)后更新引擎把“優(yōu)先啟動(dòng) B 槽”的標(biāo)記寫(xiě)進(jìn)引導(dǎo)程序的數(shù)據(jù)區(qū)域然后請(qǐng)求系統(tǒng)重啟。引導(dǎo)程序啟動(dòng) B 槽時(shí)會(huì)維護(hù)一個(gè)嘗試計(jì)數(shù)每啟動(dòng)失敗一次計(jì)數(shù)減一減到零就自動(dòng)切回 A 槽只有 B 槽真正起來(lái)、關(guān)鍵服務(wù)跑通之后才把計(jì)數(shù)清零確定性地鎖定 B 槽。這個(gè)嘗試計(jì)數(shù)機(jī)制是整套回滾能否生效的關(guān)鍵。很多移植版在這個(gè)環(huán)節(jié)想當(dāng)然認(rèn)為“重啟后能進(jìn)桌面就算成功”于是提前把計(jì)數(shù)清掉。結(jié)果系統(tǒng)在進(jìn)桌面前其實(shí)已經(jīng)悄悄崩潰過(guò)兩次計(jì)數(shù)被人為清零后下次一崩就連回退的資格都沒(méi)有了。4. 把 Chrome OS 思路移植到安卓車(chē)機(jī)/手機(jī)四個(gè)必須處理的落差4.1 分區(qū)模型不同一個(gè) kernel/rootfs一個(gè) boot/system/vendorChrome OS 的雙槽位是“內(nèi)核 根文件系統(tǒng)”兩個(gè)大分區(qū)。安卓車(chē)機(jī)/手機(jī)要復(fù)雜得多至少包含 boot、system、vendor有些還有 init_boot、odm、product而且這些分區(qū)在較新的安卓里還可能不是物理分區(qū)而是被塞進(jìn)一個(gè)叫 super 的大分區(qū)里的邏輯分區(qū)。移植 A/B 時(shí)你不能簡(jiǎn)單地把“寫(xiě)一個(gè) rootfs 鏡像”翻譯成“寫(xiě)一個(gè) system 鏡像”而是要把構(gòu)成一套完整系統(tǒng)的所有目標(biāo)分區(qū)都納入寫(xiě)入計(jì)劃。好消息是不用自己從零實(shí)現(xiàn)。安卓本身已經(jīng)有 A/B 分區(qū)的標(biāo)準(zhǔn)布局boot_a/boot_b、system_a/system_b、vendor_a/vendor_b引導(dǎo)程序通過(guò) misc 分區(qū)里的 bootloader message 記錄當(dāng)前槽位和嘗試次數(shù)。你要做的主要是核對(duì)設(shè)備里的分區(qū)表確保這些“雙份”分區(qū)真實(shí)存在而不是名字有了、實(shí)際空間共用。分區(qū)角色Chrome OS安卓 A/B 對(duì)應(yīng)內(nèi)核KERNEL-A/KERNEL-Bboot_a/boot_b根文件系統(tǒng)ROOT-A/ROOT-Bsystem_a/system_b、vendor_a/vendor_b用戶數(shù)據(jù)單份 statefuldata 分區(qū)單份共享槽位標(biāo)記引導(dǎo)程序數(shù)據(jù)區(qū)misc 分區(qū)的 bootloader message4.2 驗(yàn)證鏈不同從簽名鏡像到完整 verified bootChrome OS 的更新安全性靠的是完整信任鏈引導(dǎo)程序驗(yàn)證內(nèi)核簽名內(nèi)核驗(yàn)證根文件系統(tǒng)的 dm-verity 哈希樹(shù)每一級(jí)都驗(yàn)過(guò)了才放行。安卓也有對(duì)應(yīng)的驗(yàn)證框架但在車(chē)機(jī)上很多方案只停留在“下載的鏡像校驗(yàn)一下哈?!边@個(gè)層面引導(dǎo)鏈完全沒(méi)接。我的建議是既然做了雙槽位就順手把驗(yàn)證鏈也補(bǔ)齊。系統(tǒng)簽名、dm-verity 表這些在車(chē)機(jī)上越來(lái)越重要。否則你辛苦保證的更新安全可能被一個(gè)沒(méi)上鎖的引導(dǎo)程序全部繞過(guò)去雙槽位再穩(wěn)也架不住入口是敞開(kāi)的。4.3 供電與網(wǎng)絡(luò)策略不能照抄要按使用場(chǎng)景重設(shè)Chrome OS 是筆記本和迷你主機(jī)場(chǎng)景它的電源約束是“插電 有電池”手機(jī)是“電池 偶爾連著充電器”車(chē)機(jī)是“整車(chē)電源 可能隨時(shí)被拔鑰匙”。三者的更新策略必須分別設(shè)置不能一套邏輯通吃。我列過(guò)一張對(duì)照表車(chē)機(jī)的幾個(gè)關(guān)鍵門(mén)檻和手機(jī)完全不同檢查更新頻率車(chē)機(jī)不需要像手機(jī)那樣一天查好幾次設(shè)置成 6 小時(shí)一次即可電量門(mén)檻手機(jī)看電池百分比車(chē)機(jī)看電源擋位和電瓶電壓網(wǎng)絡(luò)策略車(chē)機(jī)如果裝了蜂窩模塊必須區(qū)分計(jì)費(fèi)網(wǎng)絡(luò)和免費(fèi) Wi-Fi避免一個(gè)鏡像包把用戶的流量套餐刷穿。4.4 存儲(chǔ)空間預(yù)算雙槽位意味著鏡像空間翻倍A/B 最直白的代價(jià)是存儲(chǔ)開(kāi)銷(xiāo)系統(tǒng)所有關(guān)鍵分區(qū)要做兩份額外還要留出下載暫存空間。以一套中等規(guī)模的車(chē)機(jī)安卓系統(tǒng)為例boot 分區(qū)就算 64MBsystem 分區(qū) 4GBvendor 分區(qū) 1.5GB雙份就是約 11GB再加一個(gè)全量包暫存 5GB一共 16GB 起步。很多低成本車(chē)機(jī)的存儲(chǔ)只有 16GB 或 32GB預(yù)算一算就穿幫。應(yīng)對(duì)方案有幾條路優(yōu)先用增量包體積能壓到全量的三分之一甚至更小開(kāi)啟流式下載邊下邊寫(xiě)省掉完整暫存這一份存儲(chǔ)實(shí)在不夠的再考慮虛擬 A/B用快照方式減少完整副本。但虛擬 A/B 對(duì)系統(tǒng)分區(qū)布局和啟動(dòng)校驗(yàn)的要求更高屬于進(jìn)階方案團(tuán)隊(duì)沒(méi)有足夠測(cè)試資源時(shí)不要輕易上。5. 實(shí)測(cè)中最容易翻車(chē)的三個(gè)場(chǎng)景與完整排查思路5.1 斷電斷網(wǎng)后更新“丟失”一看暫存路徑二看進(jìn)度存儲(chǔ)位置現(xiàn)象下載到 80%斷了一次電重啟后更新引擎狀態(tài)回到空閑進(jìn)度清零。先別急著懷疑更新引擎有問(wèn)題多半是暫存目錄或進(jìn)度記錄放在了不該放的地方。排查鏈路如下第一步進(jìn)系統(tǒng)后查看下載緩存目錄掛在哪個(gè)文件系統(tǒng)上執(zhí)行 df 確認(rèn)它是持久分區(qū)還是內(nèi)存文件系統(tǒng)。如果掛在內(nèi)存文件系統(tǒng)重啟必丟先把路徑改到持久分區(qū)。第二步查看進(jìn)度文件的存儲(chǔ)目錄確認(rèn)它在持久分區(qū)并且斷電后沒(méi)有被清理腳本刪掉。第三步看更新引擎日志里有沒(méi)有明顯的續(xù)傳記錄字樣。有說(shuō)明續(xù)傳機(jī)制在工作沒(méi)有說(shuō)明前兩步有一處沒(méi)做到位。5.2 新槽位起不來(lái)但回滾失效問(wèn)題多半在嘗試計(jì)數(shù)處理現(xiàn)象B 槽寫(xiě)入成功重啟后黑屏再重啟還是黑屏本該回滾到 A 槽卻完全沒(méi)有動(dòng)靜。這類(lèi)問(wèn)題十有八九出在嘗試計(jì)數(shù)的處理順序上。排查鏈路先抓引導(dǎo)程序日志確認(rèn)每次啟動(dòng)實(shí)際選中的是哪個(gè)槽位、計(jì)數(shù)還剩幾次。如果引導(dǎo)程序每次都在試 B說(shuō)明“優(yōu)先啟動(dòng) B”的標(biāo)記沒(méi)被正確清掉但計(jì)數(shù)又沒(méi)在減少多見(jiàn)于計(jì)數(shù)被放在了易失存儲(chǔ)里。再查系統(tǒng)側(cè)負(fù)責(zé)“標(biāo)記成功啟動(dòng)”的代碼確認(rèn)它是在完全啟動(dòng)完成之后才執(zhí)行的。很多時(shí)候移植團(tuán)隊(duì)為圖省事把這個(gè)標(biāo)記提前到內(nèi)核起來(lái)就執(zhí)行結(jié)果系統(tǒng)明明沒(méi)起來(lái)標(biāo)記已經(jīng)糊上去了。5.3 寫(xiě)入中報(bào)空間不足預(yù)算時(shí)少算了一個(gè)臨時(shí)文件現(xiàn)象寫(xiě)入到 60% 時(shí)更新中止日志報(bào)空間不足。明明之前算過(guò)“A 槽用多少、B 槽用多少、預(yù)留多少”怎么會(huì)不夠原因往往出在沒(méi)算這幾項(xiàng)下載暫存文件本身可能還在占用空間如果沒(méi)開(kāi)流式下載日志文件在調(diào)試模式下會(huì)飛速膨脹還有系統(tǒng)分區(qū)的元數(shù)據(jù)、哈希樹(shù)、以及文件系統(tǒng)預(yù)留塊。我的建議是預(yù)算公式別太樂(lè)觀系統(tǒng)鏡像雙份 下載暫存 10% 到 15% 的余量余量按實(shí)際日志增長(zhǎng)和分區(qū)元數(shù)據(jù)估。上線前寫(xiě)一個(gè)自動(dòng)化腳本把每個(gè)分區(qū)的剩余空間打印出來(lái)和人肉預(yù)估對(duì)一遍。6. 落地車(chē)機(jī)項(xiàng)目時(shí)我自己用的參數(shù)配置與驗(yàn)收清單6.1 更新策略參數(shù)按“車(chē)機(jī)不是手機(jī)”來(lái)設(shè)以下是我在實(shí)際車(chē)機(jī)項(xiàng)目里驗(yàn)證過(guò)的參考參數(shù)可以直接抄作業(yè)但務(wù)必按你們自己的硬件調(diào)整更新檢查周期6 小時(shí)一次另外在整車(chē)下電前如果檢測(cè)到未完成的下載允許延長(zhǎng)工作 5 分鐘做一次斷點(diǎn)存檔。電量/電源門(mén)檻整車(chē)電源處于 ON 擋且電瓶電壓高于 12V 才允許寫(xiě)入下載不受此限。網(wǎng)絡(luò)策略免費(fèi) Wi-Fi 自動(dòng)下載蜂窩網(wǎng)絡(luò)只在彈窗確認(rèn)后下載且單次流量上限 500MB超出自動(dòng)暫停。包策略?xún)?yōu)先增量包版本差距超過(guò)兩代轉(zhuǎn)全量包。重試策略下載失敗重試 3 次間隔 5/15/30 分鐘指數(shù)退避?;叶炔呗?% → 5% → 20% → 50% → 100%每檔停留至少一天。6.2 上線前的驗(yàn)收清單把斷電測(cè)試做成自動(dòng)化我在項(xiàng)目里把下面這些場(chǎng)景寫(xiě)成了自動(dòng)化腳本每次打包后必須全綠才能發(fā)版下載過(guò)程中任意時(shí)刻斷電重啟后能從斷點(diǎn)續(xù)傳。寫(xiě)入過(guò)程中斷電重啟后舊槽位能正常啟動(dòng)下次更新能清掉半成品重新來(lái)。B 槽寫(xiě)入成功后人為破壞其內(nèi)核重啟應(yīng)觸發(fā)嘗試計(jì)數(shù)遞減并回退 A 槽。新槽位啟動(dòng)成功后嘗試計(jì)數(shù)被正確清零不會(huì)在若干次重啟后誤回退。電量低于閾值時(shí)系統(tǒng)拒絕進(jìn)入寫(xiě)入階段但允許完成下載??臻g不足時(shí)給出明確提示而不是悄悄失敗。雙槽位來(lái)回升級(jí)降級(jí)循環(huán)十次用戶數(shù)據(jù)不丟。這些用例看著瑣碎但它們才是車(chē)機(jī) OTA 真正值錢(qián)的部分。功能開(kāi)發(fā)可以靠代碼評(píng)審可靠性只能靠反復(fù)打斷電測(cè)出來(lái)。6.3 灰度發(fā)布與失敗決策別一口氣推給所有用戶最后一個(gè)建議永遠(yuǎn)不要一次性把更新推給全部設(shè)備。雙槽位機(jī)制再穩(wěn)也架不住硬件批次差異、外設(shè)兼容性、用戶使用習(xí)慣這些變量?;叶劝l(fā)布的時(shí)候要盯的不是“下載了多少”而是“成功啟動(dòng)新槽位的比例”和“回滾率”這兩個(gè)指標(biāo)。回滾率超過(guò)閾值立刻停發(fā)利用舊槽位還保存著的上一版本引導(dǎo)所有設(shè)備回退。我在項(xiàng)目里設(shè)過(guò)一個(gè)簡(jiǎn)單規(guī)則整體更新成功率低于 95%或者回滾率高于 3%立即凍結(jié)灰度并拉通排查。這個(gè)數(shù)字不是拍腦袋定的是先用幾十臺(tái)內(nèi)部測(cè)試車(chē)跑了兩周統(tǒng)計(jì)出正常波動(dòng)范圍之后再設(shè)的。最后再分享一點(diǎn)個(gè)人體會(huì)。做完這個(gè)車(chē)機(jī) OTA 項(xiàng)目我最大的感悟是更新流程的好壞不在平時(shí)跑得多順而在斷電、斷網(wǎng)、存儲(chǔ)寫(xiě)壞這些最?lèi)毫拥臈l件下能不能兜底。雙槽位、原子切換、嘗試計(jì)數(shù)這套東西聽(tīng)起來(lái)很簡(jiǎn)單但每一環(huán)都要靠反復(fù)的斷電和壞塊測(cè)試才能真正讓人放心。如果你們項(xiàng)目也在做安卓車(chē)機(jī)或手機(jī)的更新方案我建議第一步不是選服務(wù)器也不是寫(xiě)代碼而是先把這套流程在測(cè)試臺(tái)架上完整跑通再來(lái)談灰度。另外一個(gè)小技巧把更新引擎的日志級(jí)別調(diào)到最詳細(xì)并且保留最近三份日志。很多線上問(wèn)題靠日志就能直接定位別等到出事那天才發(fā)現(xiàn)日志已經(jīng)被沖掉了。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
国产毛片精品一区二区色欲黄A片| 五月天人妻综合| 国产欧美精选激情视频| 亚洲欧美天堂| 密臀成人视频久久久| 色哟哟-国产专区| 亚洲综合五月天婷婷丁香| 隔壁邻居波多野结衣中文字幕| 干美女人妻| 亚洲中文字幕日产无码久久| 亚洲色图激情小说| 免费看欧美美女黄色大片| 亚洲欧美电影| 欧美激情精品| 久久婷婷成人综合色怡春院| 亚州综合色| 极品出轨视频网站| 亚洲成人帖图| 啊啊啊啊啊好舒服视频| 97bbn| 中文字幕丝袜美腿| 嗯嗯啊在线视频| 欧亚性爱视频免费看| 日韩无码精品综合久久| 99热在线观看| 干超碰碰熟女| 激情黄色片在线观看| 草B在线| 欧美天堂亚洲电影院一区在线播放| 亚洲最大黄网| 亚洲限制级在线| 99热这里只有精品8| 日本道久久综合色色| 少妇干B| 亚洲精品亚洲人成在线麻豆| 成人丁香五月| 色情综合| 九九毛片这里只有精品| 亚州色图欧美| 任你干在线视频| 亚洲天堂资源| 久久精品国产97欧美精品亚洲| 天欧美在线| 欧美综合色| 欧美性色网| 男人的天堂久久久| 国产精品黑人一区二区三区| 亚洲国产一区二区入口| 久久久国产亚洲精品系列| 嫩草一区二区在线观看| 丁香六月激情综合| 任我爽视频在线观看| 久久久久久99999国产精品| 深喉吞精| 视频在线观看免费一区二区三区| 黄色一级视| 精品少妇一区二区三区在线视频| www99热| 97亚洲性爱| 欧美婷婷久久| 欧美96交| 最新中文字幕精品在线| 殴美牲| 97公开久久| 密臀成人视频久久久| 亚洲国产综合图区中文字幕| xxxx网站亚洲精品| 熟女精品一区二区三区| 亚洲有码第一页| 欧美日韩妖精91com| 99亚洲国产精品色一区二区三区| ?亚洲伊人伊成久久人综合网| 超碰AV在线| 你草精品在线视频| 男人天堂网址| 女人双腿搬开让男人桶| 冬京热男人的天堂| AV女资源| 亚洲欧美自拍偷拍| 久久久久久久久久久97| 久久久精品一区二区| 亚洲骚逼少妇| 亚洲最新中文字幕免费| 日本免费不卡二区| 亚洲欧美天| 黄色视频60分钟| 人妻嗯啊啊在线播放| 欧美精品 - 91爱爱| 91人人| 自拍偷拍亚洲熟女妇人精品| 久久精品视频久久久| 亚洲偷91色| 亚洲AV成人精品网站在AV| 国产精品熟女丝袜一区二区| 欧美在线中M| 久久精品国产Aⅴ| 亚洲色欲天天人妻无码系列专区| 美女毛片999| 尤物av网站免费在线播放| 激情五月综合网| 久久熟妇五十路一区| 猛猛干| 大香蕉免费乱伦视频| 无码人妻精品一区二区三区九九 | 国产精品无码av嫩草| 色墦五月丁香| 亚洲丨在线| 国产精品香蕉热久久新品| 亚洲情色在线| 亚洲自拍天堂| 亚洲欧美91√| 国产AV无码AV| 就去色综合| 婷婷视频网| 久久激情四射婷婷丁香五月天| 亚洲 自拍偷拍 欧美| 亚洲aw毛茸茸在线| 99久国产精品午夜性色福利| www.高清无码诱惑一区.com| 亚洲av国产av综合av卡| 蘋果手機免費看成人Av| 91人妻精华帖| 制服丝袜第二页| av天堂5| 精品一区二区2| 欧美人妻一区| 5252色欧美在线男人的天堂| 日日夜夜干| 91爱剪切久久| 啊啊啊啊啊在线观看网址 | 8050午夜少妇无码| 免费国产视频| 区一在线观看| 2020中文在线一区二区三区| 久久精品99| 伊人久久大香大香线蕉中文| 中文字幕乱妇免费视频| 精品久久在线区一区| 久久久久少妇| 欧美天堂亚洲电影院一区在线播放| 免费αⅴ在线观看| 亚洲丝袜少妇在线| 久久这里精品国产99丫e6| 国产欧美精选激情视频| 中文字幕国产| 九九九九九九免费视频| 男人兔费天堂| 最新国内自拍av免费| 试看60秒| 国产偷仑| 午夜天堂啪啪| 久久五月天婷婷丁香中文字幕| 亚洲电影91| 黄网在线播放| 日韩99精品视频综合区| 精品少妇一区二区| 2025亚洲男人天堂| 久久久久久中文版| 99超级碰免费视频| 伦理片秋霞免费影院| 91亚洲影视| 天堂国产AV| 日本片日本片祼观看网站在线看中文版网页在线看 | 久久久久久久久久久久久久久久9| 黑人操一区二区| 精品黄色电影| 成人情色综合网| 宅男午夜在线视频| 色五月激情网| 国产精品无码久久久久2025| 欧美欧美啪啪视频| 久久精品国产97欧美精品亚洲 | av亚欧| 97久久久久久久久久| 麻豆国产av网| 色综合天天| 国产女人操逼视频| 东京热视频网| 五月丁香激情四射| 网友自拍第一页| 日夜尻逼网| 亚洲大色堂| 亚洲不卡AV在线| 97任你吞精| 久久久久久亚洲Av无码| 干少妇视频| 精品国产乱码久久久久久免费| 久久鲁夜| 欧洲乱码一区二区| 日本天天吊| 色色色网站| 欧美一区二区亚洲天堂| 日本岛国黄色网址| 五月丁香啪啪| 涩涩五月天| 欧亚在线视频| 国产成人精品日本视频| 激情久久久| 色婷婷激一区二区三区 | 六月丁操逼| 蜜色网色哟哟| 日韩精品人妻系列无码天堂| 啊啊啊啊啊在线观看网址 | 久草精品国产蜜臀| 欧美曰韩国产精品| 激情图片亚洲色图| 97国产色图 | 久久久九九网站| 国产三级电影免费观看| 欧美日本一区二区a人| 少妇无码av专区线| 园内精品自拍视频在线播放| 探花在线免费观看视频国产一区| 亚洲男人天堂2016| 国产精品久久久久久久久久久久久久久| 九九九综合精品| 蜜桃臀 后入 一区 二区 三区 在线| 天天天天干| 国产按摩一区二区三区| 亚洲男人的天堂一区二区| 超碰 av 女人天堂| 亚洲中文字幕久久无码精品| 91岛国动作片| 91在线视频国产网站| 无码直播久久久| 很黄很色的视频在线观看| 无码免费精品高清| 亚洲五月丁香花狠狠干一区二区三区| 欧美亚洲第1页| 国产乱弄免费在线视频。| 91影视亚洲| 欧美人妻一区二区| 精品99999| 中文字幕中文字幕一区二区| 成人国产精品三级A片| 欧美国产日韩清纯唯美| 欧美丝袜激情| 久久久久夜夜夜夜| 久操com| 中文字幕在线日亚州9| 中文字幕第页| 精久久久| 色欲三区| 亚洲宅男天堂| 欧美传媒一区| 久久AV无码AV| 思思性爱| 日韩一级二级在线| 91亚洲网站| 蜜乳成人AV| 亚洲国产激情国产av| 99999无码| 日日日日做夜夜夜夜做无码97| 91欧美经典| 久久亚州精品成人Av无| 欧美不卡在线美女| 婷婷精品国产欧美精品亚洲人人爽| 欧美色图 色综合图| 欧美久久人人网| 97香焦色区| 成人天天爽| 精品国产乱码久久| 99热这里是精品| 国产成人精品午夜福利| 被男人吃奶很爽的毛片| 91大胆欧美| 大香蕉伊然在亚洲91| 试看日韩黄片| 国产视频三区四区| 一区二区乱码福利| 青青草视频爽一爽| 欧美日韩国产成人高清| 97网址www| 精品高清牛人盗摄一区二区三区中文字幕A片免费在线观看 | 阿姨一区二区免费视频-高清正片西瓜视频下载app-T450AV | 亚洲成人精品久久久| 我要色综合网| 91原创在线观看| 亚洲精品国产拍免费91在线| 青娱乐国产盛宴视频| 美骚妇av高清在线| 日韩无码视频黄色| 屌妞视频久久久久久久| 日本色色色网站免费看不卡| 嗯嗯啊啊用力视频免费| 翔田千里AⅤHD无码| 亚洲 欧美 天天| 操一对老熟妇爽上天视频| 日韩午夜啪啪视频| 加勒比综合88| 啊啊啊啊啊啊好湿好爽视频| 黄片视频观看| 国产男女无套97| 综合久久久久久久久91| 懂色AV中文| 特级特黄一级毛片免费| 日韩一级二级三级免费看完整版国语版| 日韩无码视频黄色| 超碰538| 国产91啪| 中文字幕日韩情色| 91高跟美女在线播放| 亚洲情色婷婷五月天| 九九RE视频在线精品| 啊啊啊操死我了| 熟女视频久久| 久久久久久久久久9| 亚洲AV无码| 人人搞人人插人人操| 精品大久久| 黄视频免费| 欧美青青视频| 亚洲精品视频在线| 男女一进一出视频久久| 欧亚日韩三区| 久操热线| 伊人操你| 蜜桃精品视频一区二区三区| 这里有精品| 久操精品| 欧美色97| 操人妻逼91| 亚洲黄色网址视频| 一区二区三区看视频| 精品久久在线区一区| 老子午夜伦不卡影院| 99热日| 影音先锋国产精品| 国产三级在线现体验区| 国产一区二区在线看| 日韩欧美麻豆大片| 国产中文精品一区二区在线观看| 后入合集| 91真人天天在线| A久久| 岛国网址国产 | 欧美日产国产在线成人第一区| 啊啊啊好疼| 91丨国产丨白浆| 国产麻豆福利av在线播放| 操熟女91| 久久97视频| 免费久久9999| 亚洲精品91| 96免费视频在线| 大香网伊人久久综合| 男女做爰猛烈动高潮A片免费应用| 日韩 欧美 国产 麻豆| 久久久一级| 人人射人人操人人摸| 国产高清午夜成人在线观看| 欧美丝袜亚洲| 激情四射五月天| 中日无幕一二三四区| 国产一区二区啪啪视频| 国产高清无码一区三区二区| 亚洲另类天堂| 精品女同一区二区三区| 亚洲好色人妻| 亚州大图综合色图 | 欧美aa一级片| a片久久久久久久久久久久 | 蜜臀无码视频在线观看| 色五月av| 久久久久久人体| 超碰这里有精品| 性色av一区二区| 强上我不卡卡| 色婷婷成人综合| 欧洲无码一区二区| 天天狠| 狠狠色色| 99精品在线| 亚洲欧洲综合视频在线| 十八禁啪啦拍视频无遮挡| 操逼国产免费| 欧亚在线视频| 五月丁香啪啪啪| 成人在线视频网| 免费黄色A片| 久久av成人无码免费| 综合五月婷婷亚洲一区| 亚州AV无码国产精品| 国产精品久久久无码AV网站| 国产一区二区在线电影| 色五月大香蕉| 美女诱惑1区2区| 欧美在线官网| 污污污8888| 97资源免费视频| 一区二区视频你懂的| 97这里只精品| 超碰久久.com| 天天看天天日天天操| 午夜精品久久久| 日B操| 性爱Av免费| 黄色免费网页无码| 黑丝少妇在线观看| 啪啪91| 丝袜av一区二区三区| 久久久久久久久久久久九| 99re热| 9精品久久久久| 在线中文字幕视频| 国产一区二区三区视频在线看| 日韩激情小说一区二区| 日本色婷婷| 116美女午夜| 青青操在线亚洲视频观看欧美在线 | 国产乱人妻精品入口| 九一性生活免费视频| 深夜激情| 免费av在线播放二区| 看日韩操逼| 亚洲天堂东京热| 亚洲综合贴图91| 超碰99re| 国产第25页在线观看| 天天综合精品| 97就爱干| 欧州一区二区三区四区| 欧美黄色大香蕉一区二区| 蜜桃精品一区二区三区ww| 国产精品亚洲日韩骚欢乐谷最新地址发布页huanieguty性屋娱乐妖精视频 | 亚洲av无码国产精品字幕| AV网站高清无码在线观看| 伊人99热| 香蕉大久久久| 精品日韩中文在线| 中文字幕一区二区三区蜜臀| 超碰97资源网亚洲| 国产成人欧美一区二区三区的国产| www.久久久久| 麻豆区久久久久亚| 欧美人人曰人人操人人射射| 日韩情色视频| 大香蕉草草| 亚洲天堂AV在线播放| 成人资源中文字幕在线观看天天| 久艹99| 国产精品盗摄 偷窥盗摄| 日韩成人精品中文字幕| 夜夜国自区| 波多野结衣被操50分钟免费视频| 国产极品999| 久久久啊啊啊| 欧美性爱另类综合| 久久人妻少妇| 亚洲国产精品无码AV在线| 日日夜夜骚| 伊人久久大香大香线蕉中文| 老熟女熟妇| 欧美翘臀视频网站一区二区三区| 婷婷色导航| 欧美激情黑人| 插欧洲美女欧美精品| 亚洲人妖网| 精品国产无码中文| 天天看高清麻豆| 26uuu国产亚洲综合| 九九玖玖精品| 日本人妻丰满熟妇久久久久久| 女优免费一区二区永久| 97在线视频网站| 香蕉综合网| 亚洲中文字幕av| 91啪啪视频| 日韩欧视频| 99热免费| 91被操| 免费网站观看www在线观| 男女做爰猛烈动高潮A片免费应用 少妇厨房愉情理伦片bd在线观看 不卡中文字幕aⅴ在线 | 98超碰日本| 国产精品视频麻豆入口| 日韩人人精品| 五月天激情四射| 97免费视频在线| 人妻久热在线| 岛国激情视频在线观看| 欧美性视频二区三区| 久久香蕉综合一本到3atv| 国产后入清纯| 欧美九9 9 9| 精品人妻中文字幕高清| 欧美曰韩国产精品| 欧美专区日本专区| 久久黄人人爽视频| 一区二区首页| Blackedraw视频一区二区| 天天综合网视频91| 91原创在线观看| .精品人妻一区二区三| 欧美97视频| 熟女被操视频网址| 久久永久无码人妻视频| 国产精品亚洲日韩骚欢乐谷最新地址发布页huanieguty性屋娱乐妖精视频 | 8050无码八戒| 久久性爱视频免费看| 免费成人在线熟妇网| 操逼网站视频漫画国产| 国产美女高潮| 九99久久| 不卡九肏| 操久久久久久| 国产一区二区精品久久99| 大香蕉99re| 夜夜操天天肏| 午夜高清成人在线视频| 蜜乳成人AV| 丝袜美腿丝袜| 亚州色图片在线色| 炮色五月| 丁香六月啪啪| 国产AV激情无码久久无码| 日本色日夜干| 97超碰色中文字幕| 综合天天网| 色婷婷五月天| 欧美一区二区观看在线| 国产一区二区免费福利片| 精品超碰色| 婷婷情色五月天| 国产刺激视频| 成人免费不卡在线视频| 天天操夜夜操狠很操| 唯美清纯 妖精视频| 久久m| 97久精品| 九九久久九九久久| 簧片免费看视频| 国产免a费看黄片在线| 久久夜夜| 日韩三级伊人| 60秒不遮不挡| 欧美欧美少妇| 伊人网在线点播| 啊啊啊不要嗯嗯在线观看| 少妇同性| 欧美久久婷| 欧美性猛交美女自慰91| 六月婷婷五月丁香| 午夜大香蕉| 影音先锋国产精品| 日韩黄色成人性爱| 欧美极度丰满熟妇hd| 粉嫩粉嫩一区性色AV片| 亚洲AV乱码专区国产噜噜亚洲 | 神马久久中文字幕| 操香逼| 三上制服丝AV| 青青草视频在线观看一区二区| 欧插网站| 九九九综合精品| 亚洲人精品久久久喷水| 日本青青草在线| 毛片视频白嫩| 精品视频专区| 加勒比人妻综合| 亚洲综合伊人| 青青草原香蕉日本Ap| 亚洲综合色图欧美| 久久9精品| 97超碰中文在线| 91操熟女| 91丨豆花丨熟女| 久草国产在线视频| 91干熟女| 欧美日韩情色一区二区| 欧美色997| 青青欧美| 国产97av| 日本潮催一卡操| 中文字幕一区二区免费在线| 国产高清MV操逼视频| 留下AⅤ黄色片| 亚洲综合小说另类图欧美视频激情小说色五月天 | 午夜福利av电影在线| 国产女人和拘做爰视频 | 日本黄色裸日本黄色裸体| 欧美一级专区免费大片| 国产午夜精品一区二区三区牛牛| 久午视频| www亚洲免费| 日韩欧美亚洲一区二区三区影院| 狠狠操狠狠插| 伊人久久大香线综合无码| 亚洲欧美日韩电影网站一区 | 婷婷大香蕉| 乱理日韩中文| 久久精品国产97欧美精品亚洲| 亚洲九九九| 国产女乱淫真高清免费视频| 久久精彩免费视频| 屌妞视频久久久久久久久久久久| 亚洲少妇激情一区二区三区| 又大又大又大又粗爽高潮观看| 中文精品一区二去| 男人兔费天堂| 亚洲精品黑丝| 免费观看网黄| 99性爱视频| 夜夜 中文视频rt| 亚洲97在线观看| 亚洲少妇综合在线播放| 国产欧美日韩女同性恋ww喷水精品 | 亚洲欧美色图片| 人妻 中文 日韩| 亚洲天堂色图| 老熟乱一区二区三区四区| 精品亚洲成人免费在线| 色一情一乱一乱一区91Av| 欧洲一区二区三区免费| 九九九九久久久久| 亚洲精品aa久久伊人| 九九热超碰97亚洲最新香蕉 | 日本123区操B视频| 国产人妻一区二区三区欧美毛片| 91五十路| 成人欧美一区二区三区黑人一| 成人片视频| 超碰97护士| 91GD.COM| 亚洲色欧| 日韩不卡a级视频专区| 啊啊啊啊二区好大| 久久久久久网址| 无码又爽又硬又激情免费视频| 亚洲十八禁止| 精品人妻一区| 欧美天堂超碰97| 欧美成年人性爱视频免费观看| 日本在线一二 | 中字幕人妻一区二区三区| 青青国产精品在线| 欧美+日产+中文| 超碰在线人妻| 综合少妇网| 中文字幕在线日亚州9| 91插B网站| 九九探花视频在线观看| 智利AV在线网| 国产视频不卡在线观看| 日韩丨制服丨中文|在线| 国产精品久久久久亚洲av| 操一区| 女人被男人桶爽视频网站| 欧美老妇女内射网址| 日韩精品一区二区高清| 四虎视频在线观看| 欧美日产国产在线成人第一区| 日日AV加勒比| 26uuu性| 四虎精品一区| 综合久久婷婷| 亚洲超碰97| 日本丝袜美腿人妻九九| 日本黄色大片一级视频免费麻豆| 夜精品久无码| 国产一级做a爰大片免费久久| 久9久9久9久9久9久9| 久久性视频| 大香蕉综合网| 九九亚洲精品| 人人操人人摸人| 久久久久成人网| 18一区二区三区| 免费1级a做爰片观看| 亚洲熟女偷拍在线观看| 国产成人综合网| 男女无套 免费网站| 国模不卡一本二本三电影| caoni国产亚洲av| 97国产|免费| 天天干天天操天天拍| 久久久久久久伊人精品| 日韩精品人妻中文字幕不卡乱码| 夜夜爽爽爽| 久久久久久人妻一区精品色欧美| 色婷婷一区二区三区久久午夜| 在线不卡视频| 另类小说综合网| 超碰色美女| 精品人妻1237| 亚洲四虎熟女精品| 亚洲精品国语在线播放| 欧美黑人168页欧美黑人167| 啊啊啊啊嗯嗯嗯用力好爽| 三级激情网站| 欧美激情高清性猛交| 精品国产72| 91碰碰碰| 亚洲最新av无码成人精品区| 成人国产二区三区在线,男女精品。| 九九热五区| 在线播放成人网站| 国产精品熟女九色九色蜜臀| 天天综合网~91| 91爱欧美| 大香蕉欧美伊| 五月激情小说| 日韩av一级黄片| www熟女乱伦com| 亚洲激情在线| 色爽——AV| 爱欲AV| 91oumei| 欧美顶级黄片AAAAA在线免费看| 沈阳熟女高潮对白视频| 91制服丝袜| 久草久日| 精品九九九九九九九九九| 日本免费不卡二区| www.99热| 免费一级视频特黄色大片| 91丨国产丨白浆| 啪啪91| 一区二区三区精品视频| 东北丰满熟女国产一区| 国产成人91一区二区三区| 九久9精品| 正宗无毛一线天嫩逼| AV中文字幕剧情1区2区3| 一区 欧美 日韩 麻豆| 日韩一级二级| 天天摸,夜夜摸| 极品尤物在线观看| 国产激情在线| 亚洲免费人妻在| 中文字幕交换人妻| av无码av无码专区| 久久成人午夜精品影院| 777AV电影| 国产成年精品高清在线观看91| 欧美视频一| 中国AAAAAA黄色片| 欧美成熟性爱精品| 日本αv| 97色伦97色伦国产欧美| 波多野结衣之双飞调教在线播放| 国产精品高潮久久久无码| 91n欧美| 国内伊人久久久久久网站视频| 国产区在线| 亚洲有码视频二区| 97爱爱| 成人午夜高潮av猛片| 国产午夜精品理论片一二三区区| yw尤物av无码点击进入麻豆| 日韩在线欧美精品一区二区| 国产精品4p在线观看| 2020中文在线一区二区三区| 久操凹凸视频| 乱伦系列一区二区| 色婷婷激情| 国产精品九9| 精品人妻一区二区乱码一区二区| 久久亚洲色图中文字幕| 夜夜国自区| 亚州色综合| 亚洲影院365| 国产成人手机视频激情| www色日本| 亚洲第一页色| 四季AV一区二区凹凸精品小说| 天天操人人操骚逼网站| 超碰在线日韩一区| aV中亚| 亚洲一级性爱视频免费看| 人妻乱仑一区二区三区| 蜜臀久久99精品久久久老,,| 久久精品天美| 玖玖爱综合网| 啊啊啊好想要| 极品尤物女神在线观看| 色情综合网| 岛国人妻少妇av在线观看| 伊人午夜福利视频| 激情小说亚洲| 日韩精品人妻一| 天天插天天射| 在线视频 亚洲精品| 精品中文字幕第一页| 亚洲av强奸乱伦| 97色碰| 欧美高清色| 国产综合永久精品日韩鬼片| 韩日精品四区| 久久婷婷苹果| 91黑人无码激情在线| 亚洲精品国产精品乱码不卡| 国产隔壁老王影院在线| 91天堂色男人的天堂| 欧美日韩超碰在线| 亚洲情色1区| 日日干夜夜欢| 欧美综合色综合| 天天上日日上日韩精品| 婷婷综合视频| 五月激情小说| 日韩综合97P| 国产欧美在线观看免费观看| 91操人| 日本新免费二区三区| 日本人妻中文字幕精品| 正在播放:深夜激情大战,自带黑丝袜全力输出骚穴 | 97精品一区二区三区免费| 亲子敌伦对白在线播放| AV无码久久久精品| 狠狠爱AV| 脫衣舞一区二区三区| 福利风月五月天影院| 欧美天天性| 亚洲图片欧美91N| 日本不卡二区| 欧美色997| 亚洲自拍天堂| 久久久无码精品人妻二区 | 五月色网| 91免费看一区二区三区| 欧美A√综合网| 中文字幕黄色片| 97国产人人| 性色av一区二区| 在线国产一区二区av| 亚洲一区二区av| 伊人991| 久久人妻视频网| 国产一区二区三区白丝| 综合欧美色图| 情侣操 逼视频99| 蜜桃久久综合视频| 熟女六十路| 你懂的在线观看区国产| 欧美97免费| 久久人爽| 97视频620| 女人的久久久| 操操啪| 久久久久久久亚洲Av无码| 91狠狠| 国产精品一区二区三区四区五区| 亚洲和欧美裸体美女双飞视频| 91xingse| 狠狠干综合| 国产中文字幕曰本毛片| 亚欧免费| 日日噜噜夜夜狠狠视频无| 丰满人妻aA一区二区三区| 肥佬影院91| 日韩十八禁| 神马麻豆福利院| 久久久久白虎| 骚女天天综合网| 亚洲丝袜诱惑| 青娱乐国产剧情av一区| 精品国产一区探花在线观看| 午夜精品久久99蜜桃的功能章节| 久久这里只有精品9| 亚洲性高潮| 黄页av| 91亚洲欧美| 97精品一区二区视频| 夜夜操美女| 精品中文字幕一区二区l - 百度| 秋霞久久亚洲精品成人| 懂色AV蜜臀无码精品APP| 久9热| 国产精品久久久久999| 97超碰逼| 乱码熟妇人妻久久久| 99久久婷婷| 九九视品黄色| 日韩精品电影| 台湾佬大香蕉| 无码137片内射在线影院| 激情无码日韩| 超碰97起碰| 伊人网在线点播| 蜜汁欧美| 美女操逼A A| 天天躁日日躁AAAXX| 久草色悠悠在线视频| 大香蕉92| 欧美日韩另类在线播放| 狠狠综合网| 亚洲高清男人天堂| 国产成年女黄特黄| 五月天开心网| 久久精品一区二区三区蜜桃臀| 国产精品白丝| 久热无码| 久久久久久人| 国产一级137片内射麻豆| 天天干一干| 青女偷拍网| a级理论午夜日本| 亚洲男人天堂2016| 欧美日韩午夜精品一区二区三区| 超91综合网| 唯美清纯 妖精视频| 亚洲五月婷婷| 国产精品另类| 五月天开心网| 亚洲激情视频| 东北夫妻性偷拍| 91激情| 欧美人妻熟女在线| 强奸国产精品视频| 加勒比伊人综合| AV无码久久久精品| 大香蕉手机在线| 日韩午夜啪啪视频| av中亚| 日日天天久久啊啊aaa| 成人影院永久免费观看网址| 9精品在线| 亚洲天堂人妻熟妇视频| 亚洲成人在线乱码色午夜| 天天爽天天操| 国产成人无码a| 中文字幕乱偷人妻久久艾草网| 思思热在线cao| 91欧美少妇| 欧美老熟另类| 免费A V在线播放| 狠狠爱夜夜| 四虎AV影视国产精品亚洲精品| 日韩欧美一级特黄大片| 欧美日本不卡在线| 欧美日韩人妻婷婷一区| 久久婷婷精品| 国产人伦a片信息免费片| 日本一二三免费久久| 色婷婷在线视频精品导航| 国产色精品午夜大片| 九九热九九| 97精品全部| 久久久久9999妇女| 91丨九色丨大屁股| 日本视频一区二区三区| 久久人妻| 黄色工厂这里只有精品| 内射中国少妇高清视频免费视频| 97五月天| 欧美中出1| 鸡巴插逼视频| 精品无码久久久久久国产浪潮| 欧美天天弄| 亚洲精品少妇| 亚州黄站| 欧美青青草视频| 日韩精品9区| 91成人国产综合久久精品蜜月| 国产精品一区二区在钱播放| 欧美99| 天天综合网站| 人妻AV在线| www.激情| 伊人天堂在线| 97天天爽| 97视频在线观看播放与子乱对白在线……| 干婷婷综合网| 日日操天天操| 97天天爽| 国产91精品久久久久久久网曝门| 中文字幕55555| 亚洲永久永久永久永久一级一级一级精品| 久久亚州高清| 大屁股熟女一区二区三区| 亚洲AV色图一区| 激情一区二区| 欧美呦呦性爱| 免费的黄片wwwwww| 一二三区在线| 超碰97最新人妻| 大香蕉懂9| 色吧5亚洲| 3P乱轮视频| 五月天伊人| 免费网色网站| 一级免费精品| 亚洲一区在线观看欧洲 | 亚洲欧美日韩夜夜| 亚洲色图超碰在线| 国产第二页| 99无码狠狠久久| 秋霞一级视频在线观看免费| 加勒比无码一区二区三区| 成人熟女区| 亚洲天天操| 91大神电影天堂| 91丝袜激情在线| 欧美色另类| 中国国国产一级特黄毛片| 99精品网站| 亚洲 暴爽 AV人人爽日日碰| 亚洲AV永久无码一区仙野| 久久久久久性爱视频| 91热热色| 久久九九国产精品| 久久亚洲天天做| 亚欧免费观看视频| 欧美夜夜狠| 男人的天堂com| 伊人久久艹| 国产9l 大屁股| 99精品久久| 亚洲资源一区| 亚洲综合激情五月久久| 欧美色另类| 国产男女无套视频免费观看| 另类图片五月天| 亚洲超碰AV| 婷婷久久大香蕉| 91AV天美在线视频| 国产第25页在线观看| 亚洲综人网| 五月激情综合网| 欧美天天综合网| 久久超碰亚洲人| 欧美经典一区二区三区 | 精品久久久久久中文字幕视频免费| 99热最新| 99久久亚洲精品无码毛片潘甜甜| 亚洲国产精品久久久久婷婷青年| 欧美天天综合网| juliaann丝袜大战黑鬼| 免费人成?大片在线播放| 91美女精品| 中文字幕丝袜人妻| 三级网色| 91亚州| 超碰久久精品| 超碰人人乐97| 人人操,操人人| 久久一区二区三区四区五区| 久久久久久久六六 | 黄色大片一区二区密桃丝袜| 国产美女销魂在线观看不卡| 欧美亚洲丝袜人妻制服中文99| 日本免费一区二| 亚洲成人久久美女| 69视频入口| 东京太热男人的天堂久久久| 日韩精品第3页| 正在播放:深夜激情大战,自带黑丝袜全力输出骚穴 | 少妇综合网| 亚洲女优有码无码高清| 国产中文福利| 99热只有| 另类图片五月天| 国产av美女被艹的乱叫| 宅男影院久久久,99| 亚洲人妻久久| 亚洲高清91| 97国产精品在线观看| 免费99精品国产自在在线| 歐美性天天| 极品粉嫩少妇视频| 色婷婷婷五月天激情四射| 欧美亚综合色图| 欧美性爱一区| 一区,二区,三区视频| 老熟妇一区二区三区啪啪| 粉嫩久久久久| 性感美女啊啊啊在线| 色香伊人| 后入日本1234| www欧美91| 国产91福利小视频在线观看 | 内射老妇BBWX0C0CK| 1人人看人人摸人人操| 日日夜夜精品| 人人操人人uiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii | 67914亚洲精品| 澳门成人网站久国产日韩| 亚洲日本男人天堂网| 1二区9| 超碰在线日韩一区| 天天插网| 国产精品制服丝袜清纯唯美| 日本片日本片祼观看网站在线看中文版网页在线看 | 国产乱伦搜索结果91P| 多毛小伙内射老太婆| 91九九| 日韩欧美偷拍美女视频| 91蜜桃传媒精品久久久一区二区| 精品国产乱码久久久久久蜜臀| 日韩字幕一区| 色色色999| 伊人伊人LD| 青青草福利视频| 亚洲精品国产精品乱码不99| 九九在线视频| 91天美传媒在线观看| 91亚洲综合在线| 伊人激情五月天一区二区| 久久精品人体| 伊人9| 久久AV无码网址| 亚洲大色堂| 四虎午夜影院| 亚洲高潮少妇| 97操碰| 成人免费不卡在线视频| 熟女一区二区三区| 丝袜人妻av一区二区| 色欧美天天| 91丨人妻丨国产丨丝袜| 婷婷久久综合| 美女天天干| 五月丁香影院| 搡老女人老熟女91老熟女综合网| 国产小视频91| 亚洲999综合| 免费人成?大片在线播放| 一摸二插三插| 欧美成人一区二区三区在线播放| 九九九九免费视频| 黄色AAAAAAAAAAA大片| 天天天操天天天爱| 女人被添高潮免费视频| 91久久国产精品| 天天做天天爱天天高潮| 国产精品乱码久久久久| 高清不卡国产| 国产99精品一区二区三区免费| 国产超碰在线一区| 人妻系列无码专区中文有码| 色综九九九一区| 欧美极品少妇交| 18啪啪手机免费性爱| 亚洲色图自拍| 亚洲欧美精品一区天堂久久| 视频国产欧美在线播放| 夜夜国产一区| 婷婷亚洲色| 无遮挡一级毛片视频免费的| 91精品少妇搡搡搡| 久久久噜噜噜久久久| 91天堂色男人的天堂| 日韩免费a级毛片无码a∨| 欧美日韩亚洲国产中文永久天天看| 亚洲激情网| 成人免费福利网站国产| 国产熟女精品一区二区| 老鸭窝日丰县女人| 中文乱码99| 五月丁香综合网| 丰满高潮18xxxx| 强奸乱伦 亚洲一区| 男人天堂资源| 人妻素股| 欧美大战久久久伊人| 少妇69中文| 偷拍欧美激情| 99无码精品| 久久黄黄| 国产超碰在线|