99精品久久精品一区二区-亚洲熟妇无码?v在线播放-日本国产精品无码字幕在线观看-久久久亚洲永夜AV-亚洲一级无码一区二区一-免费国产成高清人在线视频-中文字幕乱码免费观看-国产毛片精品妇女久久久

ARTICLE DETAIL

資訊詳情

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

Termux 熱節(jié)流自救:用 SQLite 搭建 10 層 Agent Mesh 實(shí)戰(zhàn)

Termux 熱節(jié)流自救:用 SQLite 搭建 10 層 Agent Mesh 實(shí)戰(zhàn) 之前在 Termux 里跑并發(fā)任務(wù)時(shí)經(jīng)常遇到一個(gè)奇怪現(xiàn)象任務(wù)一多手機(jī)背面就開始發(fā)燙緊接著 CPU 頻率像被一只手按住所有進(jìn)程一起變慢。這個(gè)現(xiàn)象就是 thermal throttling熱節(jié)流。它不會直接報(bào)錯(cuò)但會讓你的多進(jìn)程系統(tǒng)從“流暢”變成“寸步難行”。本文將圍繞這個(gè)問題記錄一套在 Termux 中通過 SQLite 搭建 10 層 agent mesh 的完整方案包含可運(yùn)行的 Python 代碼、數(shù)據(jù)庫表設(shè)計(jì)、溫度監(jiān)控方法和進(jìn)程調(diào)度策略。無論你是想在舊手機(jī)上搭建一個(gè)實(shí)驗(yàn)性的多 Agent 任務(wù)系統(tǒng)還是準(zhǔn)備把 Termux 當(dāng)作低功耗開發(fā)環(huán)境這篇文章都值得收藏。1. 背景為什么要在手機(jī)上跑 10 層 Agent Mesh1.1 這個(gè)實(shí)驗(yàn)解決什么問題日常開發(fā)中當(dāng)我們提到“多 Agent 協(xié)作”第一反應(yīng)往往是 K8s、Docker Compose、Redis 消息隊(duì)列這些重型基礎(chǔ)設(shè)施。但如果你手里的設(shè)備只是一臺安卓手機(jī)沒有 root 權(quán)限也沒有完整的 Linux 內(nèi)核管理能力這些方案基本都跑不起來。Termux 提供了一個(gè)輕量級的 Linux 環(huán)境但它對進(jìn)程管理、系統(tǒng)服務(wù)、網(wǎng)絡(luò)端口綁定都有一定的限制。本文要探討的是如何不依賴復(fù)雜基礎(chǔ)設(shè)施僅用 Termux SQLite Python 就搭建出一個(gè) 10 層任務(wù)處理網(wǎng)格并且保證長時(shí)間運(yùn)行不觸發(fā)熱節(jié)流。一個(gè)典型的 agent mesh 場景是這樣的系統(tǒng)里有多個(gè) worker 節(jié)點(diǎn)每個(gè)節(jié)點(diǎn)處理特定類型的任務(wù)。任務(wù)從第一層進(jìn)入經(jīng)過抽取、清洗、轉(zhuǎn)換、計(jì)算、聚合等多個(gè)階段最終輸出結(jié)果。每一層都可能有多個(gè) agent 并發(fā)處理任務(wù)層與層之間通過共享的存儲介質(zhì)傳遞數(shù)據(jù)。在傳統(tǒng)架構(gòu)中這個(gè)存儲介質(zhì)可能是 Redis、RabbitMQ 或 Kafka但在 Termux 這種輕量環(huán)境里SQLite 反而成了最合適的選擇。1.2 SQLite 為什么適合做 Agent 總線很多人對 SQLite 的印象還停留在“單機(jī)小數(shù)據(jù)庫”覺得它撐不起并發(fā)場景。實(shí)際上SQLite 在 WALWrite-Ahead Logging模式下多進(jìn)程并發(fā)讀、單進(jìn)程寫的能力足以支撐中小規(guī)模的 Agent 任務(wù)調(diào)度。關(guān)鍵在于你怎么設(shè)計(jì)表結(jié)構(gòu)和事務(wù)粒度。SQLite 相比消息隊(duì)列有幾個(gè)不可替代的優(yōu)勢零配置Termux 里直接安裝就能用。數(shù)據(jù)庫即文件備份、遷移、查看都非常方便。支持事務(wù)、索引、唯一約束可以避免任務(wù)被重復(fù)消費(fèi)。一個(gè)文件就能保存全部任務(wù)狀態(tài)排查問題時(shí)用 db browser 打開就能看。缺點(diǎn)當(dāng)然也有寫入并發(fā)能力有限單條記錄大小不宜過大。但對于 agent mesh 這種以任務(wù)狀態(tài)流轉(zhuǎn)為主、消息體通常只有幾 KB 的場景SQLite 的瓶頸完全夠用。1.3 熱節(jié)流是最大的敵人在手機(jī)上跑任務(wù)最怕的不是 CPU 不夠快而是“發(fā)揮不出來”。手機(jī) SoC 有嚴(yán)格的溫度控制策略當(dāng)芯片溫度超過閾值時(shí)系統(tǒng)會主動(dòng)降低 CPU 頻率、限制核心調(diào)度甚至關(guān)閉高性能核心。這個(gè)機(jī)制在 x86 設(shè)備上通常叫 PROCHOTProcessor Hot信號在 ARM 設(shè)備上則是通過 thermal_zone 溫度節(jié)點(diǎn)與 governor 策略共同實(shí)現(xiàn)。熱節(jié)流帶來的問題非常隱蔽你的進(jìn)程并沒有崩潰但運(yùn)行速度可能會降到原來的十分之一。如果 agent 之間有超時(shí)機(jī)制還會引發(fā)連鎖的任務(wù)堆積和重復(fù)處理。所以在 Termux 中搭建多 Agent 系統(tǒng)第一優(yōu)先級不是“跑滿 CPU”而是“控制溫度”。2. 環(huán)境準(zhǔn)備Termux 里的最小開發(fā)棧2.1 安裝 Termux 并更新軟件源Termux 的安裝渠道比較特殊Google Play 上的版本已經(jīng)停止維護(hù)推薦從 F-Droid 或 GitHub Releases 下載最新 APK。安裝完成后首先執(zhí)行pkg update pkg upgrade -y這一步會更新軟件源和已安裝包。需要注意如果你的 Termux 是剛安裝的pkg命令可能需要先初始化存儲目錄執(zhí)行termux-setup-storage授權(quán)存儲權(quán)限。2.2 安裝 SQLite、Python 與監(jiān)控工具本文的實(shí)戰(zhàn)部分以 Python 為例需要安裝以下包pkg install python sqlite clang -y pkg install termux-api -y這里說明一下每個(gè)包的用途python用來編寫 Agent 工作循環(huán)。sqlite提供 SQLite 命令行工具方便調(diào)試和查詢。clangPython 的某些依賴需要編譯提前安裝可以避免報(bào)錯(cuò)。termux-api用來讀取電池溫度、充電狀態(tài)等系統(tǒng)信息是熱節(jié)流保護(hù)模塊的基礎(chǔ)。如果你希望 Agent 輸出更規(guī)范的日志還可以安裝pandas、pydantic這類包但本文為了保持依賴最小化只用 Python 標(biāo)準(zhǔn)庫。pip install --upgrade pip國內(nèi)網(wǎng)絡(luò)環(huán)境下pip 源如果不穩(wěn)定可以臨時(shí)使用清華鏡像pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple版本方面需要提醒一下Termux 的軟件源是滾動(dòng)更新的不同時(shí)間安裝的 Python 和 SQLite 版本可能不同。本文的代碼只使用 SQLite 的基礎(chǔ)語法和 Python 標(biāo)準(zhǔn)庫只要你的 SQLite 版本在 3.8 以上支持 WAL 模式基本不存在兼容性問題。2.3 規(guī)劃項(xiàng)目目錄建議按下面的結(jié)構(gòu)組織項(xiàng)目agent-mesh/ ├── db/ │ └── mesh.db ├── logs/ │ └── agent.log ├── scripts/ │ ├── init_db.py │ ├── agent_worker.py │ ├── thermal_guard.py │ └── dispatch.py └── README.md在 Termux 中執(zhí)行mkdir -p agent-mesh/db agent-mesh/logs agent-mesh/scripts cd agent-mesh這樣目錄結(jié)構(gòu)就準(zhǔn)備好了。3. 理解熱節(jié)流手機(jī) SoC 的自我保護(hù)和監(jiān)控方法3.1 Thermal Throttling 的硬件邏輯熱節(jié)流不是一個(gè)單純的操作系統(tǒng)概念它本質(zhì)上是硬件層面的保護(hù)機(jī)制。手機(jī) SoC 內(nèi)集成了多個(gè)溫度傳感器分布在 CPU 集群、GPU、充電管理芯片等位置。當(dāng)某個(gè)傳感器的溫度超過設(shè)定閾值時(shí)SoC 的電源管理單元會通過 DVFS動(dòng)態(tài)電壓頻率調(diào)整降低核心電壓和頻率。所以你在top里看到的 CPU 占用率 100%實(shí)際運(yùn)行速度可能已經(jīng)低到不可用。更麻煩的是熱節(jié)流的觸發(fā)條件不止 CPU 負(fù)載還包括環(huán)境溫度、屏幕亮度、充電狀態(tài)。如果你的手機(jī)一邊充電一邊跑任務(wù)溫度會迅速上升。3.2 在 Termux 中監(jiān)控溫度與頻率在 Termux 中最直接的監(jiān)控方式是讀取系統(tǒng)溫度節(jié)點(diǎn)。Android 系統(tǒng)通常會把溫度傳感器信息暴露在/sys/class/thermal/目錄下。執(zhí)行for zone in /sys/class/thermal/thermal_zone*/; do echo -n $zone: cat $zone/temp done溫度值的單位通常是毫攝氏度也就是 65000 表示 65 攝氏度。為了方便我們可以用 Python 封裝一個(gè)溫度采集函數(shù) 文件路徑: agent-mesh/scripts/thermal_guard.py 作用: 采集電池溫度和 CPU 溫度作為熱節(jié)流保護(hù)模塊的基礎(chǔ)。 import os import subprocess import time def read_cpu_temp(): 讀取第一個(gè)可用的 thermal_zone 溫度單位轉(zhuǎn)換為攝氏度。 for zone_idx in range(10): base f/sys/class/thermal/thermal_zone{zone_idx} temp_path os.path.join(base, temp) if os.path.exists(temp_path): try: with open(temp_path, r) as f: raw f.read().strip() return int(raw) / 1000.0 except (ValueError, IOError): continue return None def read_battery_temp(): 通過 termux-battery-status 讀取電池溫度。 try: result subprocess.run( [termux-battery-status], capture_outputTrue, textTrue, timeout5, ) output result.stdout # 簡化解析這里只取 temperature 字段 import json data json.loads(output) return data.get(temperature) except Exception: return None if __name__ __main__: if os.environ.get(TERMUX_VERSION): print(fCPU 溫度: {read_cpu_temp()}°C) print(f電池溫度: {read_battery_temp()}°C) else: print(fCPU 溫度: {read_cpu_temp()}°C)注意/sys/class/thermal/中的傳感器節(jié)點(diǎn)在不同手機(jī)上有差異有的設(shè)備是thermal_zone0對應(yīng) CPU有的設(shè)備是thermal_zone1對應(yīng)電池。這個(gè)腳本會遍歷前 10 個(gè) zone取第一個(gè)有效值實(shí)際使用時(shí)建議你先手動(dòng)執(zhí)行上面的 shell 命令確定哪個(gè)節(jié)點(diǎn)對應(yīng) CPU。3.3 目標(biāo)把溫度壓在閾值以下經(jīng)驗(yàn)數(shù)據(jù)表明手機(jī) CPU 在 80°C 以下時(shí)通??梢员3州^高的運(yùn)行頻率超過 85°C 后熱節(jié)流會明顯加強(qiáng)。為了保證 agent mesh 的吞吐穩(wěn)定我們設(shè)定的目標(biāo)溫度建議不高于 75°C。具體的控制策略后文會詳細(xì)展開。4. 10-Tier Agent Mesh 架構(gòu)設(shè)計(jì)4.1 什么是 Agent MeshAgent mesh 指的是一種多節(jié)點(diǎn)協(xié)作模式每個(gè)節(jié)點(diǎn)是一個(gè)輕量級 Agent負(fù)責(zé)從隊(duì)列中取出任務(wù)執(zhí)行特定操作然后把結(jié)果寫入下一個(gè)隊(duì)列。這些 Agent 之間不直接通信而是通過共享數(shù)據(jù)庫協(xié)調(diào)。這樣做的好處是解耦每個(gè) Agent 只知道自己的輸入和輸出不需要了解其他 Agent 的內(nèi)部狀態(tài)。“10-tier”并不是說必須有 10 臺設(shè)備而是把任務(wù)處理流程縱向切分為 10 層每一層代表一種不同的處理階段。本文的例子中各層職責(zé)如下層級職責(zé)示例操作tier_1原始任務(wù)接收寫入原始數(shù)據(jù)tier_2數(shù)據(jù)清洗去空格、去重tier_3字段標(biāo)準(zhǔn)化格式化時(shí)間、枚舉值tier_4關(guān)鍵字提取簡單文本掃描tier_5規(guī)則過濾按規(guī)則丟棄任務(wù)tier_6計(jì)算處理數(shù)值計(jì)算或聚合tier_7結(jié)果分組按目錄字段歸組tier_8匯總統(tǒng)計(jì)生成統(tǒng)計(jì)摘要tier_9格式轉(zhuǎn)換轉(zhuǎn) JSON、CSV 等tier_10輸出歸檔寫入結(jié)果表每一層可以運(yùn)行一個(gè)或多個(gè) Agent層數(shù)越多每個(gè) Agent 的職責(zé)越單一代碼越容易維護(hù)。4.2 數(shù)據(jù)模型10 層隊(duì)列表怎么設(shè)計(jì)在 SQLite 中設(shè)計(jì) 10 層任務(wù)表時(shí)有兩種思路一種是物理建 10 張表另一種是只建一張任務(wù)表通過tier字段區(qū)分。本文推薦第二種因?yàn)槿蝿?wù)在各層之間流轉(zhuǎn)時(shí)本質(zhì)上只是修改tier字段的值不需要跨表復(fù)制性能更好代碼也更簡潔。核心表結(jié)構(gòu)如下-- 文件路徑: agent-mesh/db/schema.sql PRAGMA journal_mode WAL; CREATE TABLE IF NOT EXISTS tasks ( id INTEGER PRIMARY KEY AUTOINCREMENT, tier INTEGER NOT NULL DEFAULT 1, status TEXT NOT NULL DEFAULT pending, payload TEXT, current_agent TEXT, created_at TEXT NOT NULL DEFAULT (datetime(now)), updated_at TEXT NOT NULL DEFAULT (datetime(now)), attempts INTEGER NOT NULL DEFAULT 0 ); CREATE INDEX IF NOT EXISTS idx_tier_status ON tasks(tier, status); CREATE TABLE IF NOT EXISTS agent_heartbeats ( agent_id TEXT PRIMARY KEY, last_seen TEXT NOT NULL DEFAULT (datetime(now)), current_tier INTEGER, pid INTEGER );tasks表中tier當(dāng)前任務(wù)所在層級1 到 10。status狀態(tài)pending表示等待處理processing表示正在被某個(gè) Agent 處理done表示完成failed表示失敗。payload任務(wù)數(shù)據(jù)建議存儲 JSON 字符串。attempts嘗試次數(shù)用于防止任務(wù)無限重試。updated_at記錄任務(wù)最近一次狀態(tài)變更時(shí)間是任務(wù)超時(shí)回收的重要依據(jù)。agent_heartbeats表用于記錄每個(gè) Agent 的心跳監(jiān)控 Agent 是否存活。生產(chǎn)環(huán)境中你可以進(jìn)一步細(xì)化表結(jié)構(gòu)比如增加task_type字段支持不同類型的任務(wù)流但本文的簡化設(shè)計(jì)足夠跑通整個(gè)流程。4.3 為什么選擇“數(shù)據(jù)庫輪詢”而不是消息隊(duì)列在電腦上搭 agent mesh你大概率會用 Celery、RQ 或 RabbitMQ。但在 Termux 環(huán)境里這些方案都有各自的痛點(diǎn)Celery 的 Broker 依賴 Redis 或 RabbitMQTermux 里編譯安裝較麻煩。RQ 相對輕量但同樣需要 Redis。直接使用消息隊(duì)列還需要額外的端口監(jiān)聽、持久化保障對手機(jī)來說負(fù)載偏高。數(shù)據(jù)庫輪詢的優(yōu)點(diǎn)是實(shí)現(xiàn)簡單、無額外依賴、進(jìn)程重啟后任務(wù)狀態(tài)不丟。缺點(diǎn)是需要自己控制輪詢間隔避免空轉(zhuǎn)消耗 CPU。本文的 Agent 會采用“IDLE 退避”策略沒有任務(wù)時(shí)逐步拉長輪詢間隔從 1 秒逐步增加到 10 秒。5. 完整實(shí)戰(zhàn)用 SQLite Python 搭建 Agent Mesh5.1 初始化數(shù)據(jù)庫與 10 層任務(wù)表編寫初始化腳本確保數(shù)據(jù)庫和表結(jié)構(gòu)正確創(chuàng)建 文件路徑: agent-mesh/scripts/init_db.py 作用: 初始化數(shù)據(jù)庫表結(jié)構(gòu)并寫入幾條演示任務(wù)。 import sqlite3 import os import json import time DB_DIR os.path.join(os.path.dirname(__file__), .., db) DB_PATH os.path.join(DB_DIR, mesh.db) SCHEMA PRAGMA journal_mode WAL; CREATE TABLE IF NOT EXISTS tasks ( id INTEGER PRIMARY KEY AUTOINCREMENT, tier INTEGER NOT NULL DEFAULT 1, status TEXT NOT NULL DEFAULT pending, payload TEXT, current_agent TEXT, created_at TEXT NOT NULL DEFAULT (datetime(now)), updated_at TEXT NOT NULL DEFAULT (datetime(now)), attempts INTEGER NOT NULL DEFAULT 0 ); CREATE INDEX IF NOT EXISTS idx_tier_status ON tasks(tier, status); CREATE TABLE IF NOT EXISTS agent_heartbeats ( agent_id TEXT PRIMARY KEY, last_seen TEXT NOT NULL DEFAULT (datetime(now)), current_tier INTEGER, pid INTEGER ); def init_db(): os.makedirs(DB_DIR, exist_okTrue) conn sqlite3.connect(DB_PATH) conn.executescript(SCHEMA) conn.commit() conn.close() print(f[init_db] 數(shù)據(jù)庫初始化完成: {DB_PATH}) def seed_tasks(count20): 寫入 count 條演示任務(wù)全部從 tier_1 開始。 conn sqlite3.connect(DB_PATH) tasks [ ( 1, pending, json.dumps({content: f任務(wù) {i}, value: i}), ) for i in range(count) ] conn.executemany( INSERT INTO tasks (tier, status, payload) VALUES (?, ?, ?), tasks, ) conn.commit() conn.close() print(f[init_db] 已寫入 {count} 條演示任務(wù)) if __name__ __main__: init_db() seed_tasks(20)執(zhí)行python scripts/init_db.py如果你本機(jī)沒有安裝sqlite3命令行工具也可以用 Python 的sqlite3模塊直接查看數(shù)據(jù)python -c import sqlite3; print(sqlite3.connect(db/mesh.db).execute(select count(*) from tasks).fetchone())預(yù)期輸出為(20,)表示有 20 條任務(wù)進(jìn)入隊(duì)列。5.2 Agent 工作循環(huán)每個(gè) Agent 都是一個(gè)獨(dú)立的 Python 進(jìn)程它周期性地執(zhí)行以下操作從指定 tier 取出一條 pending 任務(wù)并把狀態(tài)改為 processing。處理任務(wù)更新 payload。把任務(wù)寫入下一層tier 1狀態(tài)改為 pending。如果已經(jīng)是第 10 層則把狀態(tài)改為 done。更新心跳。為了避免多個(gè) Agent 同時(shí)取到同一條任務(wù)這里使用 SQLite 的事務(wù)和條件更新來完成“原子領(lǐng)取”。代碼如下 文件路徑: agent-mesh/scripts/agent_worker.py 作用: 單個(gè) Agent 工作循環(huán)從指定 tier 領(lǐng)取任務(wù)并處理后進(jìn)入下一層。 用法: python agent_worker.py --tier 1 --agent agent-a import argparse import json import os import sqlite3 import time DB_DIR os.path.join(os.path.dirname(__file__), .., db) DB_PATH os.path.join(DB_DIR, mesh.db) def db_connect(): conn sqlite3.connect(DB_PATH, timeout10) conn.row_factory sqlite3.Row return conn def claim_task(conn, tier, agent_id): 原子地領(lǐng)取一條 pending 任務(wù)返回任務(wù)行或 None。 cursor conn.execute( UPDATE tasks SET status processing, current_agent ?, updated_at datetime(now), attempts attempts 1 WHERE id ( SELECT id FROM tasks WHERE tier ? AND status pending ORDER BY created_at ASC LIMIT 1 ) RETURNING id, tier, status, payload, attempts , (agent_id, tier), ) row cursor.fetchone() conn.commit() return row def process_payload(payload, tier): 核心處理函數(shù)這里用簡單的時(shí)間戳和字段追加來模擬真實(shí)計(jì)算。 data json.loads(payload) # 模擬計(jì)算耗時(shí)避免 CPU 空轉(zhuǎn) time.sleep(0.2) data[processed_tier] tier data[processed_at] time.strftime(%Y-%m-%d %H:%M:%S) data[value] (data.get(value, 0) or 0) * 2 return json.dumps(data, ensure_asciiFalse) def write_next_tier(conn, row, next_tier, agent_id): 把任務(wù)寫入下一層或者標(biāo)記為完成。 if next_tier 10: conn.execute( UPDATE tasks SET status done, current_agent ?, updated_at datetime(now) WHERE id ? , (agent_id, row[id]), ) else: conn.execute( UPDATE tasks SET tier ?, status pending, current_agent NULL, payload ?, updated_at datetime(now) WHERE id ? , (next_tier, row[payload], row[id]), ) conn.commit() def heartbeat(conn, agent_id, tier): 更新 Agent 心跳讓運(yùn)維方知道進(jìn)程還活著。 pid os.getpid() conn.execute( INSERT INTO agent_heartbeats (agent_id, last_seen, current_tier, pid) VALUES (?, datetime(now), ?, ?) ON CONFLICT(agent_id) DO UPDATE SET last_seen datetime(now), current_tier excluded.current_tier, pid excluded.pid , (agent_id, tier, pid), ) conn.commit() def run_agent(tier, agent_id): 主循環(huán)持續(xù)領(lǐng)取任務(wù)并處理。 idle_sleep 1.0 while True: conn db_connect() try: row claim_task(conn, tier, agent_id) if row is None: # 沒有任務(wù)時(shí)退避降低 CPU 空轉(zhuǎn) idle_sleep min(idle_sleep 1.0, 10.0) time.sleep(idle_sleep) continue idle_sleep max(idle_sleep - 1.0, 1.0) row[payload] process_payload(row[payload], tier) write_next_tier(conn, row, tier 1, agent_id) heartbeat(conn, agent_id, tier) print(f[{agent_id}] 任務(wù) {row[id]} - tier {tier 1}) finally: conn.close() if __name__ __main__: parser argparse.ArgumentParser(descriptionRun an agent worker) parser.add_argument(--tier, typeint, requiredTrue, helpAgent 監(jiān)聽的任務(wù)層級1-10) parser.add_argument(--agent, typestr, requiredTrue, helpAgent 唯一標(biāo)識) args parser.parse_args() run_agent(args.tier, args.agent)代碼中有幾個(gè)關(guān)鍵點(diǎn)需要展開解釋。claim_task函數(shù)使用了UPDATE ... WHERE id (SELECT ... LIMIT 1)的原子更新模式。在 SQLite 中這個(gè)子查詢加更新的組合在同一事務(wù)里是原子性的可以有效避免兩個(gè) Agent 同時(shí)領(lǐng)取同一條任務(wù)。如果你的 SQLite 版本較老不支持RETURNING子句SQLite 3.35 以上才支持可以先用SELECT查出任務(wù) id再通過帶條件的UPDATE把狀態(tài)從pending改為processing然后檢查影響行數(shù)是否為 1# 兼容舊版本 SQLite 的領(lǐng)取方式 cursor conn.execute( SELECT id, payload FROM tasks WHERE tier ? AND status pending ORDER BY created_at ASC LIMIT 1 , (tier,), ) row cursor.fetchone() if row: cur2 conn.execute( UPDATE tasks SET status processing, current_agent ?, updated_at datetime(now) WHERE id ? AND status pending , (agent_id, row[id]), ) if cur2.rowcount 1: conn.commit() # 返回任務(wù)行process_payload函數(shù)是 Agent 的真正業(yè)務(wù)邏輯所在。本文用一個(gè) 0.2 秒的 sleep 和數(shù)值乘 2 來模擬真實(shí)計(jì)算你在實(shí)際項(xiàng)目中可以替換成文本解析、網(wǎng)絡(luò)請求、圖像壓縮等操作。write_next_tier函數(shù)把當(dāng)前層處理完的任務(wù)送入下一層。當(dāng)層級增加到第 11 層時(shí)說明整個(gè)流水線已經(jīng)執(zhí)行完畢任務(wù)狀態(tài)被置為done。heartbeat函數(shù)每隔一段時(shí)間把 Agent 的信息寫入心跳表。主循環(huán)中的idle_sleep實(shí)現(xiàn)了退避策略任務(wù)持續(xù)到達(dá)時(shí)保持 1 秒輪詢一次沒有任務(wù)時(shí)逐步拉長到 10 秒。這個(gè)設(shè)計(jì)對控溫非常重要。5.3 啟動(dòng)多節(jié)點(diǎn)并驗(yàn)證分層流轉(zhuǎn)啟動(dòng) 10 個(gè) Agent分別監(jiān)聽 1 到 10 層cd agent-mesh for i in $(seq 1 10); do python scripts/agent_worker.py --tier $i --agent agent-$i logs/agent-$i.log 21 done執(zhí)行后用ps查看進(jìn)程ps aux | grep agent_worker每個(gè) tier 都有一個(gè)對應(yīng)的 Agent 進(jìn)程。然后查看任務(wù)流轉(zhuǎn)情況sqlite3 db/mesh.db select tier, status, count(*) from tasks group by tier, status;預(yù)期輸出大致如下1|pending|0 2|pending|4 3|pending|6 ... 10|pending|2由于各層處理速度不同任務(wù)會逐漸從 tier_1 流向 tier_10。最終所有任務(wù)都應(yīng)該變成10|done|20也就是說20 條任務(wù)全部走完了 10 層流水線。5.4 熱節(jié)流保護(hù)模塊在 5.2 節(jié)的 Agent 循環(huán)里我們其實(shí)還沒有加入真正的溫度控制邏輯。為了長時(shí)間運(yùn)行不觸發(fā)熱節(jié)流需要引入一個(gè)保護(hù)模塊在每次循環(huán)開始前檢查溫度如果超過閾值就主動(dòng)“躺平”一段時(shí)間讓 SoC 降溫。下面是在agent_worker.py中加入溫度控制的改造思路# 在 agent_worker.py 中 import thermal_guard from thermal_guard import read_cpu_temp, read_battery_temp def get_current_temperature(): 返回當(dāng)前系統(tǒng)溫度優(yōu)先使用電池溫度因?yàn)樽钯N近真實(shí)手感。 battery_temp read_battery_temp() if battery_temp is not None: return battery_temp return read_cpu_temp() or 0.0 TEMPERATURE_LIMIT 72.0 SLEEP_BACKOFF 30.0 def wait_if_hot(agent_id): 如果溫度過高Agent 進(jìn)入冷卻休眠。 temp get_current_temperature() if temp TEMPERATURE_LIMIT: print(f[{agent_id}] 溫度過高: {temp:.1f}°C, 冷卻休眠 {SLEEP_BACKOFF}s) time.sleep(SLEEP_BACKOFF) return True return False然后在主循環(huán)開頭調(diào)用def run_agent_with_thermal_guard(tier, agent_id): idle_sleep 1.0 while True: conn db_connect() try: # 熱節(jié)流保護(hù)溫度過高時(shí)暫停處理 if wait_if_hot(agent_id): continue row claim_task(conn, tier, agent_id) ... finally: conn.close()這個(gè)模塊的工作邏輯是溫度超過 72°C 時(shí)所有 Agent 會進(jìn)入 30 秒的冷卻休眠不領(lǐng)取新任務(wù)讓系統(tǒng)負(fù)載降下來。這個(gè)策略雖然簡單但在手機(jī)這種被動(dòng)散熱設(shè)備上非常有效。更精細(xì)的做法是動(dòng)態(tài)調(diào)整休眠時(shí)長比如溫度越高休眠越長def wait_if_hot_dynamic(agent_id): temp get_current_temperature() if temp TEMPERATURE_LIMIT: extra int((temp - TEMPERATURE_LIMIT) * 2) sleep_time 15 extra print(f[{agent_id}] 溫度 {temp:.1f}°C, 冷卻休眠 {sleep_time}s) time.sleep(sleep_time) return True return False這里(temp - TEMPERATURE_LIMIT) * 2的意思是溫度每超過閾值 1°C休眠時(shí)間增加 2 秒。假設(shè)溫度 76°C休眠時(shí)間就是 15 8 23 秒溫度 80°C休眠時(shí)間就是 31 秒。這種梯度休眠策略能讓溫度回落更平緩?fù)瑫r(shí)不至于完全停止所有 Agent。需要注意的是wait_if_hot只是軟件層面的自我保護(hù)。如果你的手機(jī)本身散熱能力很差或者你正在邊充電邊跑任務(wù)軟件的降載效果會很有限。更穩(wěn)妥的做法是結(jié)合硬件策略比如關(guān)閉充電、降低屏幕亮度這些內(nèi)容在最佳實(shí)踐部分會繼續(xù)展開。運(yùn)行熱保護(hù)版 Agentcd agent-mesh python scripts/agent_worker.py --tier 1 --agent agent-hot-1觀察日志當(dāng)溫度接近閾值時(shí)你會看到類似輸出[agent-hot-1] 溫度 73.2°C, 冷卻休眠 20s5.5 驗(yàn)證熱節(jié)流是否被有效避免啟動(dòng)帶熱保護(hù)的 Agent 集群后持續(xù)運(yùn)行一段時(shí)間然后用下面的命令記錄溫度曲線while true; do temp$(cat /sys/class/thermal/thermal_zone0/temp) echo $(date %H:%M:%S) $((temp / 1000))°C echo $(date %H:%M:%S) $((temp / 1000))°C logs/temperature.log sleep 5 done運(yùn)行 10 分鐘后打開logs/temperature.log如果溫度始終在 72°C 附近波動(dòng)而不是持續(xù)攀升說明熱保護(hù)模塊生效了。如果溫度仍然一路走高到 85°C 以上說明你的業(yè)務(wù)邏輯計(jì)算量太大或者 Agent 數(shù)量過多需要減少并發(fā) Agent 數(shù)量或者降低每層 Agent 的輪詢頻率。6. 常見問題與排查思路在 Termux 中搭建和運(yùn)行 SQLite agent mesh最常遇到的問題有下面這些。問題現(xiàn)象常見原因解決思路數(shù)據(jù)庫顯示database is locked多個(gè)進(jìn)程同時(shí)嘗試寫入事務(wù)沖突設(shè)置timeout10并確保每個(gè)連接及時(shí)關(guān)閉改用 WAL 模式Agent 領(lǐng)取任務(wù)后任務(wù)丟失進(jìn)程被系統(tǒng)殺掉事務(wù)未提交確保領(lǐng)取任務(wù)和更新狀態(tài)在同一個(gè)事務(wù)內(nèi)使用attemps字段做超時(shí)回收溫度迅速飆升到 85°C 以上Agent 數(shù)量太多或輪詢間隔太短減少并發(fā) Agent調(diào)大idle_sleep在溫度過高時(shí)休眠任務(wù)卡在processing不繼續(xù)流轉(zhuǎn)Agent 進(jìn)程崩潰或手機(jī)息屏后進(jìn)程被凍結(jié)添加超時(shí)回收機(jī)制定期把updated_at超過 5 分鐘的處理中任務(wù)重置為pendingtermux-api命令返回空未安裝 Termux:API 應(yīng)用或未授權(quán)需要在 F-Droid 額外安裝 Termux:API APK并在系統(tǒng)設(shè)置中授權(quán)Python 進(jìn)程在后臺運(yùn)行幾分鐘后被殺死Android 后臺進(jìn)程管理策略使用termux-wake-lock保持 CPU 喚醒狀態(tài)針對“任務(wù)卡在 processing”的問題這里給出一個(gè)回收腳本的思路 文件路徑: agent-mesh/scripts/recover_stale.py 作用: 定時(shí)重置超時(shí)未完成的任務(wù)防止任務(wù)永遠(yuǎn)卡在 processing 狀態(tài)。 import sqlite3 import os import time DB_PATH os.path.join(os.path.dirname(__file__), .., db, mesh.db) STALE_MINUTES 5 while True: conn sqlite3.connect(DB_PATH, timeout10) try: cursor conn.execute( UPDATE tasks SET status pending, current_agent NULL, updated_at datetime(now) WHERE status processing AND updated_at datetime(now, ?) , (f-{STALE_MINUTES} minutes,), ) conn.commit() if cursor.rowcount 0: print(f[recover] 重置了 {cursor.rowcount} 條超時(shí)任務(wù)) finally: conn.close() time.sleep(60)這個(gè)腳本每 60 秒執(zhí)行一次把updated_at超過 5 分鐘還處于processing狀態(tài)的任務(wù)重新放回待處理隊(duì)列。配合attempts字段你還可以限制每個(gè)任務(wù)的最大重試次數(shù)超過次數(shù)直接標(biāo)記為failed。針對“進(jìn)程被系統(tǒng)殺掉”的問題Termux 提供了喚醒鎖# 在 Termux 中保持 CPU 喚醒狀態(tài) termux-wake-lock # 取消喚醒鎖 termux-wake-unlock運(yùn)行 agent 之前先執(zhí)行termux-wake-lock可以降低息屏后進(jìn)程被凍結(jié)的概率。另外在部分安卓系統(tǒng)上你還需要在系統(tǒng)設(shè)置中把 Termux 的“后臺運(yùn)行”權(quán)限設(shè)為允許否則即使有 wake lock系統(tǒng)仍然可能干預(yù)進(jìn)程。還有一點(diǎn)需要特別注意Termux 是一個(gè)用戶態(tài)環(huán)境/sys/class/thermal/中的溫度節(jié)點(diǎn)在部分設(shè)備上可能沒有讀取權(quán)限。如果你遇到Permission denied不要嘗試 root 或繞過權(quán)限換個(gè)思路改用termux-battery-status的電池溫度作為熱保護(hù)依據(jù)也能達(dá)到差不多的效果。7. 性能優(yōu)化與最佳實(shí)踐7.1 SQLite 寫入性能優(yōu)化SQLite 在默認(rèn)的 delete 模式刷新方式下每次事務(wù)提交都要等待數(shù)據(jù)寫入磁盤性能較差。啟用 WAL 模式后讀操作和寫操作可以并發(fā)執(zhí)行寫入性能提升明顯。初始化腳本已經(jīng)設(shè)置了PRAGMA journal_mode WAL但如果你的庫已經(jīng)創(chuàng)建可以單獨(dú)執(zhí)行sqlite3 db/mesh.db PRAGMA journal_modeWAL;此外建議把synchronous設(shè)置為NORMALsqlite3 db/mesh.db PRAGMA synchronousNORMAL;在 WAL 模式下NORMAL依然可以保證數(shù)據(jù)庫不會損壞只是極端掉電場景下可能丟失最近的事務(wù)。對 agent mesh 這種允許任務(wù)重放的場景來說這個(gè)權(quán)衡是值得的。7.2 Agent 數(shù)量與輪詢間隔的平衡在手機(jī)上跑 10 層 mesh不一定每層都要啟動(dòng)一個(gè)獨(dú)立進(jìn)程。如果你的手機(jī)只有 4 個(gè)性能核心同時(shí)跑 10 個(gè) Python 進(jìn)程會造成頻繁的線程切換溫度很容易失控。比較合理的做法是先啟動(dòng) 6 到 8 個(gè) Agent讓每個(gè) Agent 監(jiān)聽一個(gè) tier跑通流程后再根據(jù)溫度數(shù)據(jù)逐步增加。輪詢間隔的設(shè)置也很關(guān)鍵。對于tier_1這種入口層如果任務(wù)到達(dá)頻率很高可以保持 1 秒輪詢。對于tier_5、tier_6這種中間層如果任務(wù)量不大把輪詢間隔調(diào)到 3 到 5 秒完全夠用。這樣可以顯著降低 CPU 空轉(zhuǎn)率。7.3 手機(jī)硬件層面的控溫建議軟件層面的降載只能解決一部分問題下面幾條硬件層面的建議對實(shí)際控溫非常有效不要邊充電邊跑任務(wù)。充電過程本身會產(chǎn)生大量熱量疊加 CPU 負(fù)載后溫度很容易失控。取下手機(jī)殼或者把手機(jī)放在金屬支架上有利于被動(dòng)散熱。關(guān)閉后臺不相關(guān)的 App特別是短視頻、社交類應(yīng)用它們會周期性喚醒 CPU。如果條件允許使用小風(fēng)扇對著手機(jī)背面吹效果立竿見影。在系統(tǒng)設(shè)置中開啟飛行模式關(guān)閉蜂窩網(wǎng)絡(luò)和 Wi-Fi 熱點(diǎn)避免網(wǎng)絡(luò)模塊持續(xù)工作發(fā)熱。7.4 日志與可觀測性多 Agent 系統(tǒng)排錯(cuò)時(shí)最怕“黑盒”。建議在項(xiàng)目中加入統(tǒng)一的日志格式至少包含以下信息時(shí)間戳。Agent ID。任務(wù) ID。當(dāng)前層級。耗時(shí)。溫度。在agent_worker.py中可以把print替換為 logging 模塊import logging logging.basicConfig( levellogging.INFO, format%(asctime)s [%(levelname)s] %(message)s, handlers[ logging.FileHandler(logs/agent.log), logging.StreamHandler(), ], ) logger logging.getLogger(agent)這樣每個(gè) Agent 的日志都會寫入logs/agent.log。排查問題時(shí)用grep過濾關(guān)鍵字grep 任務(wù) 5 logs/agent.log可以快速定位某個(gè)任務(wù)經(jīng)過了哪些 Agent。7.5 數(shù)據(jù)備份與遷移SQLite 單文件備份非常簡單。如果 Agent 處理的是重要數(shù)據(jù)建議用定時(shí)任務(wù)把db/mesh.db復(fù)制到外部存儲或使用termux-api上傳到自己的服務(wù)器。cp db/mesh.db db/mesh-$(date %Y%m%d-%H%M%S).db如果要在另一臺手機(jī)上恢復(fù)只需把備份文件復(fù)制到對應(yīng)的db/目錄即可。注意備份時(shí)最好先執(zhí)行一次PRAGMA wal_checkpoint;把 WAL 文件中的內(nèi)容合并到主庫文件中。7.6 長跑前的壓測思路正式讓 10 層 mesh 在后臺長時(shí)間運(yùn)行之前建議先做一個(gè)小規(guī)模壓測。具體做法是用init_db.py的seed_tasks函數(shù)寫入 100 條任務(wù)然后在logs/temperature.log中觀察任務(wù)完成時(shí)間和溫度變化。如果 100 條任務(wù)在 10 分鐘內(nèi)完成且溫度控制在 75°C 以下再擴(kuò)展到 500 條、1000 條任務(wù)。要批量寫入更多演示數(shù)據(jù)可以修改seed_tasks(count500)python -c from scripts.init_db import seed_tasks; seed_tasks(500)壓測過程中要重點(diǎn)關(guān)注兩個(gè)指標(biāo)任務(wù)平均流轉(zhuǎn)時(shí)間和系統(tǒng)溫度峰值。如果任務(wù)流轉(zhuǎn)時(shí)間隨著運(yùn)行時(shí)間推移越來越長說明系統(tǒng)已經(jīng)進(jìn)入熱節(jié)流狀態(tài)需要減少 Agent 數(shù)量或調(diào)大休眠閾值。8. 總結(jié)與下一步方向這篇文章完整記錄了一套在 Termux 中搭建 10 層 SQLite agent mesh 的方案。核心思路是用 SQLite 作為多 Agent 之間共享的任務(wù)狀態(tài)存儲用帶退避策略的數(shù)據(jù)庫輪詢替代傳統(tǒng)消息隊(duì)列用溫度感知模塊在熱節(jié)流觸發(fā)前主動(dòng)降載。需要明確的是這個(gè)方案并不是要取代完整的分布式任務(wù)隊(duì)列它更適合的實(shí)驗(yàn)場景是手頭只有一臺舊手機(jī)想驗(yàn)證多層 Agent 協(xié)作的流程設(shè)計(jì)或者想把手上的安卓設(shè)備變成一臺低功耗開發(fā)機(jī)。在 10 層流水線全部跑通之后你可以繼續(xù)嘗試的方向包括在 Agent 中接入實(shí)際的 HTTP API讓不同層的 Agent 調(diào)用不同的遠(yuǎn)程服務(wù)把 payload 中的任務(wù)類型擴(kuò)展為多個(gè)讓同一層的不同 Agent 處理不同任務(wù)使用asyncio重寫 Agent 主循環(huán)在保持單進(jìn)程的前提下處理更多任務(wù)。如果你在實(shí)操中遇到溫度控制效果不明顯的情況先不要急著加更復(fù)雜的算法回到最基礎(chǔ)的三件事減少 Agent 數(shù)量、拉長輪詢間隔、讓手機(jī)物理散熱更好。這個(gè)項(xiàng)目本身就是一場實(shí)驗(yàn)不斷調(diào)整參數(shù)、觀察溫度曲線、記錄任務(wù)流轉(zhuǎn)時(shí)間你會慢慢找到適合自己手機(jī)的最佳配置。如果這篇文章對你有幫助可以把 init 腳本和 agent 工作循環(huán)代碼保存下來直接在 Termux 里跑一遍然后打開溫度日志看看你的手機(jī)能承受多大的并發(fā)量。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
99热无码首页| 色综合天天| 9l视频自拍九色9l视频自拍九色9l社区| 97搞在线| 超碰日日操| 天天爽天天干天天| 五月婷婷之综合激情| 色婷婷激情| 色色色五月| 91a片爽| 夜精品无码A片一区二区蜜桃| 91精品久久久久久久久| 丁香五月激情啪啪| 五月天精品视频| 国产成人av在线播放| av操一操| 99激情| 婷婷激情综合| 97碰免费视频在线| 99热最新| 精品二区| g00d人体西西| 婷婷五月丁香久久| 五月天狠狠干| 丁香婷婷九月| 7EzOBIhNq85TO| 色五月婷婷成人| 99久热视频在线| 九九爱精品网站| 国产av基地| 九九热再线九九视频免费在线观看| 亚洲综合无码| 色婷婷九月综合| 26uuu欧美宗合| 五月婷婷啪啪| 婷香五月| 影音先锋男人女人| 二区成人视频| 久久久18| 久噜久噜| 丁香六月啪啪| 午夜]香婷婷深深爱| 琪琪布丁香社区激情五月天| 婷婷不卡基地| 六月丁香视频网站| 开心色五月天久久久久久久| 天天草天天爽| 1024欧美看片| 六月激情婷婷色| 亚洲AAAA网| 桃色激情婷婷伊人网| 97碰免费精采视频| ay2区| 国产乱码久久| 五月婷婷偷拍| 亚洲精品久久久久久久久久吃药| 丁香激情综合| 五月天婷婷综合网| 狠狠狠狠狠狠狠狠| 色婷婷激情| 99er6热在线观看精品6| 99爱在线视频观看| 中文字幕在线免费看线人| 九九激情网| 中文AV网站| 丁香五月天在线观看视频| 国产亚洲99| 婷婷丁香五月天狠狠| 婷色五月天| 风流少妇A片一区二区蜜桃| 日本网站久久| 五月激情丁香五月| 天天射美女| 色九月丁香婷婷蜜桃在线观看| 五月丁香激情婷婷| 亚洲综合五月天| 91 九色大美女| 色八月婷婷| 日日日日操| 亚洲V国产V欧美V久久久久久| 亚洲九九99精品视频在线播放| 98永久精品| 国产在线6| 丁香六月婷婷综合激情欧美| 久久香视频| 五月天无码| 五月婷激情影院| 乱乱av| 天天舔天天插天天爱| 亚洲激情网站| 大陆极品少妇内射AAAAAA| 青青久久91| 色丁香综合影院| 日韩淑女人妻luan伦激情精品一区二 | 夜夜骑操AV| 日韩av在线免费观看| 91人久| 婷婷六月丁香在线| 色五月婷婷在线| 99色6爱9热| 激情婷婷丁香五月天| 五月色婷婷综合| 婷婷五月综合基地| 婷婷色五月天在线| 婷婷成人av| 亚洲色图81p| 深情五月天| 日韩久久系列| 天天天久久人人人合| 久草热在线视频| 日韩AV在线电影| 99久久er| 日韩有码一区| 99精品视频在线观看| 日韩黄在免| 午夜丁香六月婷| 大地9中文在线观看免费高清| 欧美五月婷婷| 激情九九六月激情免费视频| 性无码专区无码| 婷婷欧美色| www色五月| 色情激情五月婷婷| 五月天伊人| 午夜丁香 婷婷| 六月丁香影院| 啪色综合| a网站免费观看| 99热这里是精品| 超碰资源在线| 丁香五月婷婷六月婷婷| 五月天婷婷在线视频| 九九99免费视频| 九九综合色综合| 久 久9 9 热 视 频| 色五月综合网| 国精产品一区二区三区| 丁香五月婷婷在线| 五月天激情日色在线| 97干97色| 激情综合网,婷婷| 久久九九国产精品怡红院| 丁香深五月婷婷| 婷婷五月激情五月激情| 激情国产综合| 五月天婷婷基地| 99re视频在线播放| 性一交一乱一交A片久久四色| 色婷婷五月色| 偷偷与邻居做爰完整视频| www久久五月com| 国产真实乱了老女人视频| 精品久久99| 激情久久久久久久久久久| 色婷婷五月天| 五月社区婷婷激情| 99色在线观看视频者| 亚洲小说欧美激情| 91婷婷在线观看| 婷婷色五月91啪啪| 激情五月com| 天堂综合久| 黄色短视频在线观看| 日韩综合网络男女香蕉a片| 久久久jd| 色爱五月天| 久久婷婷综合五月| 婷婷亚洲综合| 综合色图区| 特级西西4444www无码| 亚洲国产精品综合色区| 天天日天天久久青青| 伊人超碰| 啪啪操网| 久久99久久99精品免观看粉嫩| 国产精品人妻在线网址| 狠狠香蕉| 婷婷开心激情五月激情网| 99re视频在线精品| 色婷五月天| SS丁香五月婷婷| 五月久久网| 激情九月婷婷| 欧美VA在线| 日韩限制级大尺度黑料泄密大尺度视频一区二区在线观看 | 开心五月婷婷| 亚洲人妻一区二区 | 91日本在线观看| 思思热99在线视频| 婷婷啪啪| 九九99久久精品| 这里只有精品无码| 婷婷六月中文字幕| 久久久27操| 六月丁丁香| 婷婷色色播五月天| 激情九月婷婷| 色99无码| 六月婷婷综合网2| 99视频久久| 日韩综合大黄| 99在线观看亚洲| 日本少妇AA一级特黄大片| 久久WW| 日本狠狠色| 色五月天综合网| 最新日本A片| 九九中文字幕九| 极品少妇XXXX精品少妇偷拍| 婷婷丁香色五月亚洲| 欧美黑人巨大性生话| 激情五月色综合| 色综合色综合网| 人妻六月天| 五月婷婷激情综合| 激情五月婷婷| 国精产品一区二区三区| 久久婷婷五月丁香网| 九月婷婷综合| 五月丁香综合啪啪| dingxiangtingtingliuyue| 久久综合九色综合97婷婷| 日本色五月婷婷| 99秘 在线| 天天舔天天插天天爱| 67194中文在线| 99精品免费| 五月狠狠| 99国产小视频免费观看| 香蕉97碰碰碰超视精品| 伊人激情AV一区二区三区| 婷婷激情欧美| 五月夜丁香| 日韩成人网址| 大香蕉九九| 婷婷五月开心六月AV| 五月天婷婷在线AN| 思思热视频| 九九亚洲小视频| 亚洲国产精品成人免费一区久久久在线观看AAAA | 丁香五月综合色婷婷| 伊人激情综合| 亚洲丁香花五月丁香花| 26uuu欧美日本| www.99热在线| 夜夜爽天天爽| 另类激情综合| 天天色天天噜| 婷婷激情网五月天| 丁香婷婷综合激情五月色| 91天天操天天干天天射| 免费啪啪啪网站| 五月丁香五月婷婷| 五月激情影视| 婷婷丁香色五月| 99色播| 激情小说五月天中文字幕| 久青操| 色月丁| 国产AV成人精品| 日韩黄色影院| 日本韩国视频在线观看社区免费的9| 久久XX| 婷婷五月天激情综合| 激情五月综合网最新 | 色综合综合综合| 202丰满熟女妇大| 91五月天| 色色色色欧美| 日日操夜夜操中国无码| 亚洲区在线| 亚洲偷| 91九色最新视频| 久久在线视频免费观看| 色色五月天激情| 婷婷五月丁香伊人| 久久婷婷综合五月趴| 丁香五月骚喷水视频| 九九碰九九爱97超碰| 婷婷丁香黄色| 五月天伊人综合| 高潮毛片又色又爽免费| 激情综合青草| 人人操人av| 五月丁香在线看| 最新久久网址| 最新色色五月天| 五月丁香啪啪| 热久综合| 丁香色五月 97干| 人妻性爱| 婷婷九月在线| 色135综合网| 色婷婷亚洲综合av| 久久五月天合网| 婷婷五日b| 99热无码首页| 99热精品在线| 玖玖婷婷视频| 五月丁香色狠狠干大屄| 欧美日本一区二区三区| 噜噜噜色噜噜| 九月激情网| 激情又色又爽又黄的A片| 97干在线| 亚洲国产成人AV在线| 538在线精品| 99精品久久久久久久久| 久久一级片| 伊人影音无码一区二区三区| 五月丁香六月婷婷亚洲综合| 99精品无码网站| 无码人妻一区| 九九热视频这里只有精品| 婷婷色综合| 疯狂做受XXXX高潮A片| 99成人| 婷婷丁香色五月天| 黄网在线免费观看| 色五月天在线| 99人碰碰碰| 人妻久久久久久| 熟女强人妻一区二区三区四区无| 婷婷色资源| 国产精品汇聚精彩第二页 - 高清完整版在线 - 青蛙AV | 久久九⑨| 五月婷婷与六月丁香图片激情| 激情五月深爱五月| 亚州色色色| 99久久综合| 另类在线免费视频| W色综合| 超碰国产AV| 狠狠色丁香婷婷五月| 玖玖精品婷婷| 91艹人| 这里只有国产精品在线| 人人摸人人摸| 大香蕉啪啪啪| 五月婷性爱| 99久在线精品| 六月丁香成人| 996er热| 五月天丁香| 综合日本婷婷| 婷婷丁香五月天哟啪| 国産精品| 天天爽天天摸人妻综合网| 久久久免费精彩视频| 亚洲欧美另类在线23p| 五月婷婷五月丁香| 无码少妇高潮喷水A片免费| 色色色九九九五月婷婷| 玖玖午夜视频| 狠狠草综合网| 丁香五月av| 超碰九热| 色婷婷丁香六月| 婷婷激情五月天7| 婷婷香五月天| 99久久精品免费精品国产_国产精品久久久久久_国产在线|日韩_久久国产精品电影 | 99热超碰人| 久操人妻| 久99热在线观看| 亚洲中文字幕在线观看| 99精品高潮| 激情黄色五月天| 成人 视频免费观看网站| 色五月首页| www,色综合| 美女主播野战视步页| 色 色 色综合com| 性做久久久久久久免费看| 狠狠爱婷婷五月天| 人色五月天婷婷| 色五月丁香五月| 日本欧美成人片AAAA| 久久A极片| 亚洲色综合| www.狠狠艹| 99精品国产在热久久| 综合色视频| 亚洲爱爱无码婷婷色五月| 婷婷五月六月丁香| 九月色婷婷综合亚洲| 激情综合国产| 色五月婷婷亚洲最大| 亚洲黄色影视| 天天日天天舔天天摸| 激情小说五月欧美亚洲丁香| 国产日韩欧美性爱| 高清不卡一区| 91精品综合久久婷婷九色| 欧美电影在线播放| www.激情在线| 精品人妻伦一二三区久| 中文字幕黄色电影网址| 人人操A| 婷婷五月天小说| 婷婷99狠狠躁天天| 97色婷婷成人综合在线观看| 色综合伊人网| 色噜噜狠狠色综| 色综合大香蕉| 久久婷婷内射| 东京热伊人| 久久总和99| 色五月丁香婷婷| 色激情网| 五月丁香六月婷婷在线| 免费视频WWW在线观看网站| 97热久久| 亚洲人妻电影| 久久色五月天| 99热播放| 五月色网| 色色色色热| 日本三级中国三级99人妇网站| 五月丁花六月丁香综合| 天堂在线观看视频| 看国产探花操逼三级片| 九九九九操逼| 开心五月色婷婷综合开心网| 亚洲精品久久久无码| 超碰chaompinm| 五月丁香亭亭操逼| www久久久| 天天干天天拍| 五月天播播综合| 99久久6| 国产免费性爱| 女人天堂 AV| 九九中文色色| 日日干夜夜干| 欧美日韩99| 五月激情综合网| 天堂五月婷婷| 色999亚洲人成色| 免费国产视频| 丁香五月六月综合激情| 五月色情婷婷| 9久精品| 五月丁了香蕉综合| 色色色色色日韩午夜激情 | www.sd-xiangsu.cpm| 大地9中文在线观看免费高清 | 婷婷五月天美女21p| 中文字幕,综合,91| 国产成人亚洲综合A∨婷婷| 日 日干 日日做| 影音先锋一区二区三区| 万月丁香狠狠爱| 久久这里只有精品热在99| 五月婷人妻| 97成人丁香婷婷| 精品久热69| 丁香婷婷久| 国产69久久久欧美黑人A片| 色丁香五月| 亚洲VA在线| 一区二区三区四区五区| 色在线99| 91丨九色丨白浆秘| 操人91| 伊人天堂婷婷| 99国产欧美视频| 色综色网| 九九热99精品| 亚洲熟女乱色综合亚洲网站| 91av传媒高清在线视频网| 丁香婷婷色色| 婷婷丁香熟妇综合网| 激情婷婷六月| 99A片| 五月天婷婷乱论小说| 五月色婷婷亚洲| 色色啊| 97激情五月天| 激情婷婷综合五月少妇| 这里只有精品,日韩视频| 婷婷娌伦网| 婷婷九月在线| 91精品久久久久久综合五月天| 91狼友视频在线观看| 丁香六月婷婷色XXXXX| 日日色综合| 欧美丁香五月夫妻天| 五月婷婷中文网| 丁香五月六月婷婷综合激情| 插插干干干色| 五月婷精品| 99免费在线视频| 婷婷五月天成人网| 操操操B| 操碰99在线视频观看| 婷婷午夜| 亚洲天堂青草| 久久综合爱| 五月婷婷在线视频免费观看| 玖热精品综合视频| 五月婷色丁香| 激情网五月天| 久久婷婷亚洲| 婷婷色一二三区波多野结衣| 久9综合| 百度4399有码精品V在线观看| 超碰在线免费观看日韩| 野战J办公桌椅H| 亚洲成人综合网在线免费观看| 九月丁香久久网| 亚洲一级AV在线免费播放| 91N 一起草| 午夜激情婷婷| 色偷偷狠狠| 9久热在线视频精品| 九九热最新| 久久女婷| 99热这里有精品首页10| 五月婷婷中文字幕| 丁香五月婷婷欧美成人色图| 色婷婷丁香香香蕉视频| 九九在线视频| 青青久在线视频免费观看| 99ri在线| 久热AⅤ| 爱爱色五月天| 人人人操| 日日操夜夜操中国无码| 六月丁香中文字幕| 欧美激情综合色丁香婷婷五月天| 99热亚洲| 安息电影在线观看完整版| 九九视频网| 婷婷她六月天| 婷婷丁香五月91| 久久人人添人人爽添人人片αV| 五月天激情小说| 色性日本| 久热这里只有精品视频免费观看| 啪啪色区| 狠狠插.com| 久/久精品99看9| 99热思思| 色五月婷婷中文字幕| 成人丁香| 婷婷丁香色情| 色婷婷久久| 五月丁香777| 五月婷婷丁香| 欧美色综合天天久久综合精品| 九九AV在线| 大香蕉九操| 久久综合99| 99精品热| 欧美69久成人做爰视频| 激情五月婷| 九九热免费视频| 狠狠色综合网| 996热| 国产AV一区二区三区最新精品| 另类视频一区| 五月丁香网站| 国产av第一专区| 国产色99| 成人在线网址| 操逼福利视频| 开心深爱激情网| 在线观看av网站| 丁香花五月天激情| 成人片黄网站色大片免费毛片| 九九色热| 狠狠色 综合色区| 大香人妻| 激情宗合哪里能看| 丁香五月天在线| 超碰色综合| 99热综合网| 国产偷人爽久久久久久老妇APP| 人人播| 五月丁香婷婷伊人| 国产av基地| 99视频精品视频| 天天操夜夜爱| 亚洲精品成人| 99久久欧美| 永久免费视频| 婷婷五月婷婷五月天| 狠狠色噜噜狠狠狠狠狠色综合久久| 鲁鲁色五月| 一起肏在线视频| 男人天堂伊人五月丁香| 五月婷婷m| 狠狠操狠狠操| 国产亚洲精品久久久久久牛牛| 色五月婷婷网| 亚洲色图日韩网址| 精品婷婷五月视| 久久激情视频99| 亚州日本欧州韩美高青高潮一| 翔田千里无码| 五月天丁香网| 色护士综合| 狠狠色婷婷7| 五月色色激情网| 人人播| 视频在线免费观看欧洲乱码| 天天色天天射天天日| 丁香五月婷婷深爱综合激情| 欧美综合丁香网| 外国碰视频网站97| 日本色超碰| 九月婷婷综合| 这里只有精品视频在线| 超碰人人操在线| 99热xx| 桃色五月婷婷| 色婷婷AV在线| 九九99偷拍视频| 婷婷丁香久久五月综合| 午夜丁香五月天综合| 丁香 久久| 日韩AV中文在线观看| 亚洲在线成人| 五月丁香六月婷婷综合伊人| 激情爱爱网站| 婷婷伊人綜合中文| 五月婷婷久久网| 99热这里是精品| 91色在线 | 日韩| 欧美激情综合色综合色| 五月丁香啪综合| 亚洲激情六月| 99er视频在线| 国产真实乱对白精彩| 9久久精品视频| 狠狠搞亚洲| 香蕉AV777XXX色综合一区| 吾爱AV导航| 婷婷天天综合| 日本欧美成人片AAAA| 婷婷丁香五月天大香蕉| 99色天堂| 大香蕉九操| 亚洲色激情| 日日天天干| 97偷拍对白视频| 79成人网| 99免费超碰在线| 丁香六月av| 日日干日日| 五月丁香婷婷爱激情综合网| 色爱亚洲| 丁香五月婷婷少妇| 五月丁香色| 丁香久久激情俄| 五月丁香龟婷婷| 丁香婷婷AV| caopeng97日韩| 亚洲人妻av伦理| 无码一区二区日韩| 粉嫩AV久久一区二区三区| 91人妻人人操人人爽| 天天热夜夜操| 国产九月婷婷| 99热思思| 天天综合网91| 99热地址| 丁香五月天天日| 久久er99热精品一区二区| 啪啪激情网| 操91| 国产伊人五月天| 天天干,夜夜爽| 日本丁香五月婷婷| 成人五月丁香花| 思思久久青草热| 亚洲电影中文字幕| 丁香六月婷婷久久综合| 丁香五月久久社区| 97精品自拍视频| 9人人操人人看| 九九热最新地址| 在线VA视频| 日韩一级一片内射视频4K| 天天天久久久| 久久性爱网| 色五月六月| 99热在线精品播放| www久久久| 99视频精品全部免费观看| 综合网色| 99热这里只有精品最新| 苗黎美女四级成人版一级二级毛片| 日日干五月天婷婷| 色综合综合综合| 99热这里只有精品5| 色婷婷在线视频观看| 五月天玖玖狠狠色色| 白人荫道BBWBBB大荫道| 激情丰满熟妇五月| 五月丁香亭亭电影久久| 五月丁香激情婷婷综合| 丁香激情综合| 久操无码| 日日夜夜噜噜爽爽| 日韩另类在线观看| 欧美交换配乱吟粗大25P| 五月天开心激情网色欲无码| 涩五月婷婷| 色色COm| 亚洲在线资源| 精品久久久久成人码免费动漫| 五月丁香婷婷国产精品综合| 欧美成人AAA片一区国产精品| 婷婷丁香成人在线视频| 国产午夜成人免费看片无遮挡| 开心五月综合激情综合五月| 久久六月婷婷| 97资源碰碰| 亚洲综合婷婷| 中文无码婷婷| 亚洲99一级无嗎特制在线| www.com五月天| 这里只有精品视频在线观看免费| 日本人妻伦在线中文字幕| 一二三区视频韩国| 91色噜噜狠狠狠狠色综合| 97人人干人人操| 就99这里只有精品| 另类视在线| 婷婷综合仓库中文| 天天日天天舔| 五月天久久综合婷婷| 五月丁香激情综合| www.色色com| 激情丁香五月| 九色自拍| 青青草五月天| 天天色天天舔天天爱天天爽| 亚洲自拍天堂| 涩丁香| 色九区| 热99在线精品| 五月天天爽| 综合色天天| ay2区| av久热| 国产99久9在线| 大香伊人久色| 色五月综合| 日日噜噜夜夜狠狠久久丁香六月| 日韩抽插操逼| 激情五月综合| 激情婷婷久久| 六月丁香婷婷综合影院| 色五月在线观看| 五月天激情综合网| 婷婷综合色五月天| 99热综合在线观看| 五月天色播网| 午夜婷婷| 成年人夜夜喷水| 日韩精品99久久| 665566 无码| 9久热精品在线视频| 综合网啪| 亚洲激情五月天| 五月婷婷综合精品| 五月天婷婷青青草| 色综合性视频| 丁香六月视频| 日日干综合| 乱女乱妇熟女熟妇综合网站| 人人爽欧美婷婷久久久五月丁香| 成人做爰A片免费看视频| 九月婷婷色色| 九九热99免费视频| 五月激情网站| 精品久久9| 激情亚洲婷婷| 久久婷婷色色| 久久婷婷激情| 丁香六月啪| 九色视频91| 成人片在线播放| 超碰超碰在线| 狠狠草狠狠草| 丁香婷婷六月| 婷婷伊人綜合中文字幕| 國語久久婷| 人妻久久婷婷| 婷婷丁香久久| 99激情视频| 中文字幕欧美日韩VA免费视频| 婷婷五月综合色拍| 日本片日本片祼观看网站在线看中文版网页在线看| 九九色播五月丁香| 九九九九毛片| 色婷婷五月天| 欧美三级巜人妻互换| 婷婷深爱五月| 97五月天| 淫五月停停| 欧美日本不卡黄色片| 亚洲精品V天堂中文字幕| 亚洲色婷婷| 99精品在线| 狠狠干五月| 色玖玖网| 91成人视频| 2014天天爽| 婷婷玉月丁香五月在线视频| 美女五月天婷婷| 亚洲综合丁香婷婷六月天| 欧美丁香婷婷天天操| www狠狠| 草美女在线观看视频在线播放 | 色色热99| 99精品网站| 丁香六月无码播放| 成人网在线视频| 99国产精品久久久久久久久久久 | 婷婷五月综激情| 日本人妻A片成人免费看片| 97人人做| 亚洲婷婷五月草久| 亚洲日日操| 日韩人妻无码专区| 国产69久久久欧美黑人A片| 激情婷婷五月天| 色九九九综合| 欧美婷婷日本| 六月五月久久丁香| 五月丁香六月色| 五月天综合色| av在线免费播放观看| 日本三级日本黄色| 国产熟女一区二区三区五月婷| 任你日视频| 97色色色色色色色色色色色色色| 五月丁综合在线观看| 亚洲99手机免费看视频 | 婷婷五月激情小说| 天天操综合网| 色九月丁香婷婷蜜桃在线观看| 中文字幕av久久爽| 任你爽视频| 丁香五月婷婷骚视屏| 噜噜色com| 九九热只有精品| 婷婷六久久| 激情婷婷五月天。| 妻久久人久久| www.色婷婷.com| 99五月婷| 丁香五月天欧美| 丁香六月久久| 欧美日韩精品一区二区三区钱| 国内久久久精品99| 天天摸夜夜爽天天做| 亚洲色模骚货| 天天操天天插| 教师性爱毛片| 激情综合青草| 97亚洲婷婷| 亚洲欧洲另类图片| 99爱视频精品在线观看| 丁香婷婷啪啪啪| 五月天色综合| 青青操日本摸摸看看| 亚洲一级色电影| 五月婷婷欧美激情| 国产精品18久久久| 欧美精品999| 这里只有精品免费视频| 久热伊人| 五月婷婷日本| 色色色色色爱| 日本乱子人伦在线视频| 久久aaaaa| 天天 青草 丝袜制服 在线| 99热精品在这里| 亚洲午夜成人av电影网| 18久久| 色噜综| 狠狠狠狠狠干| 99 热国产在| 久久与婷婷| 久久综合网桃花| 思思久久99热只有频精品66| 婷婷激情性爱| 碰碰操91| 丁香五月成人社区| 狠狠爱婷婷五月天| SS丁香五月婷婷| 欧美大片免费播放器| 一二区成人电影| 五月婷婷之综合激情| 激情六月天| 九九成人精品免费视频| 五月天精品视频| 丁香,开心成人,久久| 亚洲区视频| 亚洲婷婷五月天| 91性人人| 婷婷欧美| 久久综合色情网站| 五月天狠狠| 热婷婷av| 久久五月综合| 丁香五月激情啪啪啪| WWW丁香五月| 综合色播| 天天色情站| 五月天社区| 狠狠操天天操| 狠狠操天天干| 这里只有精品99视频| 久久99操| 欧美日韩91| 99在线精品观看99| 九九热色视频| 99操99| 97婷婷丁香五月天激情图片| 婷婷伊人综合中文字幕| 国产精品黑丝| 夜夜操夜夜操| 婷婷色在线播放| 91视频精品99| 久久激情视频99| 欧美性爱五月天| 婷婷五月丁香色情| 日韩精品VIP| 激情六月色| 在线观看av网站| 99在线播放视频| AV堂狠狠干| 99热综合| 亚洲久久婷婷| 99干在线| 亚洲视频五区| www久久五月com| 91丁香综合| 丁香五月天在线| 日韩精品一品二区三区的使用体验 | 久久视屏这里只有久久| 91一起操| 开心五月丁香综合久久| 亚洲精品亚洲人成人网| 五月6香色婷婷视频| 狠狠爱婷婷爱| 精品色情一区二区三区四区| 99久热| 九九热这里只有精品首页| 97色在线视频| 人人爱天天摸摸天天爱| AA片在线观看视频在线播放| 嫩草AV久久伊人妇女超级A| 五月丁香六月婷综合成人综合| av激情在线| 99热这里都是精品| 婷婷香五月| 激情视频91| 婷婷色婷婷| 婷婷五月色網站| 97碰碰视频在线观看免费| 91成人看片| 精品一区二区三区四区五区六区介绍 | 久久怡红院| 人妻久久久久| 果冻传媒A片一二三区| 快色t v在线入口| 大香蕉久久伊人网| 精品婷婷| 开心五月深爱激情| 色V狠狠的干| 超碰免费人| 97精品在线| 狠狠搞综合色| 午夜丁香综合婷婷| 丁香激情网| 五月天.com| 狠狠看狠狠| se.久久视频在线观看| 婷婷爱五月| 停停色综合伊人| 色综合香蕉视频| 色色五月婷婷| 成功精品影院| 五月婷婷熟女| 婷婷丁香激情综合色情| 激情五月天影院| 色色色免费视频| 五月丁香激情综合啪| 日韩中文字幕| 99激情网| 婷婷五月天在线综合| 成人网站av免费网站推荐| 91干| 九九这里都是精品| 欧美色骚婷婷五月天| 丁香五月天大香蕉啪啪| 天天综合网在线| 天天色色婷婷| 五月综合久久| 九九超日本| 日韩一区二区A片免费观看| 天天舔天天摸视频| 第2色五月婷| 午夜成人综合| 久久密臀婷婷| 风流少妇A片一区二区蜜桃 | 九九成人电影婷婷| 五月天亭亭俺也| 五月丁香婷婷视频| 色丁香五月婷婷在线| 综激情网| 久久久久五月丁香| 爱超碰性| 五月天精品| 九九激情网| 婷婷丁香六月| 久久久久久性爱视频| 99久热| 亚洲色人妻| 久操大屁股女人av| 久久九网| 欧美成人AAA片一区国产精品| 开心激情综合| 五月婷婷丁香综合网| 久久激情网| 99热综合色图| 日韩精品无码AV| 伊人大香蕉毛片| 一级片操逼视频| 成人综合网站| 亚洲综合九九| 26uuu精品国产| 亚洲视频五区| 秋霞A V毛片| 99在线资源| 激情久久久久久久久| 精品九九视频| 色的色综合| 五月六月丁香婷婷在线观看| 久久综合播放| 婷婷五月综合色中文字幕| 亚洲激情久久| 婷婷伊人綜合中文字幕| 久久最新色| WWW.17C亚洲精品| 五月丁香六月婷婷网| 四色 爱 婷婷 精品 亚洲 五月天| 丁香五月网| 高清国产AV| 99人妻碰碰碰久久久久视| 国产av一区二区三区| 99欧美| 日本天天色| 五月丁香激情综合网| 亚洲视频操| 五月丁香亭亭操逼| 四色永久成人网站| 噜噜视频| 99色热| 成人αV视频免费观看| 99精品视频免费观看| 中文AV网| 蜜臀99精品| 亚洲综合99| 久久婷婷色色| 人人摸人人摸| 久久丁香五月天| 香蕉久久国产AV一区二区| 夜夜爽天天干| 伊人激情AV一区二区三区| 五月婷婷性爱| 五月丁香激情综合网| 欧美久久婷婷| 亚洲热视频| 无码人妻少妇色欲AV一区二区| 99色视频在线| 中文成人在线| 亚洲最大成人综合网720P| 欧美日韩aaa| 日本欧美成人片AAAA| 色情综合网| 九月丁香很很色| 日本专区久久| 五月停亭六月,六月停亭的英语| 久久Xx| 五月丁香六月色婷婷综合五月天| 女婷久久| 激情综合网,婷婷| 99热精品在线播放| 成人五月天丁香| 亚洲色色色| 久久99精品久| 五月丁香精品| 五月天欧美 另类小说| 激情综合五月色在线| 开心婷婷五| 色色丁香激情五月| 五月天激情网站| www.色99| 青青久久91| 99九九精品| 国产精品久久久60086| 五月天激情国产综合AV| 日日射天天射| 少妇人妻人伦A片| 五月婷婷丁香六月| 婷婷五月激情综合网| 激情五月天.色网| 色色色干| www国产亚洲色婷婷com| 色色色色色色色色色色色色色色,网站| 丁香五月婷婷激情尤物| 激情操逼婷婷| 人人看人人草人人摸| 色伊人91在线视频| 79色色| 色婷婷国产精品综合在线观看| 五月久久婷婷成人网| 狠狠狠狠青草| 午夜激情婷婷| 99re思思精品视频在线观看| 五月大香蕉| 激情五月婷婷综合色播小说| 90色免费视频| 色欲婷婷五月天丁香| 色爱99| 这里只有精彩视频| 亚洲综合色丁香婷婷六月| 日韩一级一片内射视频4K| 久久久精久人妻| 777久久久| 婷婷99狠狠| 天天摸日日舔狠狠添婷婷婷 | 五月天六月婷婷电影| 久久涩视频| 色五月婷婷五月天| 天天射夜夜爽| 毛片九九九九九九九九18| 五月丁香做爱视频| www99在线观看视频| 天天射综合网站| 色综合久久88色综合天天人守婷| 欧美大片免费播放器| 日日夜夜噜噜爽爽| 五月丁香久久呀| www.夜夜| 久久六月综合| 久热久色| YW无码| 婷婷久久综合久| 久久成人天| 五月婷婷欧美| 伊人网色婷婷五月天| 夜夜撸天天操| 开心婷婷中文字慕| 五月天操逼激情| 五月婷婷色影院| 亚洲天堂AAA| 国产精品色婷婷久久久精品| 99在线视频精品| 丁香五月天殴美激情| 丁香婷婷六月| 26uuu精品国产| 婷婷六月五月天综合| 中文字幕激情综合| www色五月| 99er精品视频| 99re99热| 婷婷五月天小说网| 色五月婷激情| 亚洲思思热久| 色婷婷四虎| 97色干| 亚洲午夜一区二区| 五月天婷婷伊人| 久久婷婷色色| 亚洲亚洲人成综合网络| 99热大| 婷婷俺去也| 色婷婷亚洲精品天天综| 亚洲av综合网| 国产毛片操B| 五月丁香| 婷婷五月丁香六月综合网| 大香蕉五月| 久久五月婷婷综合网| 色综合天天综合成人网| www.激情| 超碰色人妾| 亚洲亚洲人成综合网络| 婷婷五月情| 亚洲狠狠狠色婷婷综合激情久久久| av五月丁香婷婷网| 97色色视频| 超碰人人艹| 五月婷婷亚洲| 99热这里只有精品23| 久久98热re| 99视频综合网| 白人荫道BBWBBB大荫道| 激情丁香五月婷婷| 天天操天天日天天爽| …亚洲黄色在线播放日韩、av中文a…| 超喷97免费在线视频| 五月天社区婷婷丁香社区| 综合五月天亚洲婷婷| 国内在线99视频| 在线看的免费网站| 久热无码| 婷婷99狠狠| 色爱终和网| 综合狠狠干| 入口五月婷婷六月香| 色色97丁香婷婷五月天| 激情综合网五月激情| 九九热经典视频在线观看| 色色婷| 国产激情在线| 丁香五月天日韩无码| 玖玖热视频| 五月停停色色丁香| 色情成人五月天| 99亚洲无码| 婷婷五月中文字幕国产| 日本 欧美在线| 五月丁香久久丝袜啪啪| 国产欧美日韩综合精品一区二区| 狠狠色成人影片| 久久 视频这里只有精总| 六月丁香久久| www.射伊蕉婷婷| 蜜桃婷婷狠狠久久综合| 成人精品视频99在线观看免费| 色婷婷亚洲婷婷| 色播综合| 狠狠狠狠狠狠色| 玖玖色资源| 激情AV中文| 九九热内射| 五月丁香六月激情网站| 精品乱码久久久久| 久久多色| 五月丁香大相交| 欧美在线视频免费播放| 四虎婷婷五月天| 丁香五月色综合色播五月| 玖玖在线| 九九www| 色99超碰| 婷婷激情六月中文| 99热99精品在线观看| 九九热免费视频| 九九RE视频在线精品| 99在线视频免费| 狠狠干在线| 丁香美女五月天婷婷| 五月丁香激情深爱婷婷| 26uuu美女三级视频| 国产精品视频| 婷婷丁香综合|