免费国产精品自在自线-91精品国产色综合久久久浪潮-99热久久免费频精品-国产精品国模在线观看-久久亚洲国产精品成人?V秋霞-久久国产一级A片免费播放-亚洲国产欧洲综合97久久-久久国产白嫩美女呻吟高潮

ARTICLE DETAIL

資訊詳情

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

排隊(duì)機(jī)叫號源代碼解析:狀態(tài)機(jī)模型與數(shù)據(jù)庫并發(fā)控制

排隊(duì)機(jī)叫號源代碼解析:狀態(tài)機(jī)模型與數(shù)據(jù)庫并發(fā)控制 簡介面向C#初學(xué)者以及正在設(shè)計(jì)排隊(duì)機(jī)、叫號系統(tǒng)的開發(fā)者這套源代碼提供了一套經(jīng)過多年客戶實(shí)際使用驗(yàn)證的完整方案覆蓋叫號邏輯、數(shù)據(jù)庫訪問、界面展示與報(bào)表打印等環(huán)節(jié)可幫助理解真實(shí)項(xiàng)目中的模塊劃分與數(shù)據(jù)流轉(zhuǎn)方式。壓縮包共249個文件以172個cs源碼文件為主體輔以44個resx界面資源、9個ico圖標(biāo)、6個user自定義控件、5個settings配置以及2個rdlc報(bào)表定義整體僅1.29MB結(jié)構(gòu)緊湊便于直接閱讀與二次開發(fā)。已有1617人瀏覽學(xué)習(xí)。代碼中包含DbHelperSQL等數(shù)據(jù)庫輔助類、frmCaller與frmScreen等核心窗體以及MyCommon公共方法模塊覆蓋從數(shù)據(jù)庫操作到多窗體協(xié)作的典型實(shí)現(xiàn)適合初學(xué)者拆解學(xué)習(xí)也可為實(shí)際項(xiàng)目提供可復(fù)用的設(shè)計(jì)思路與代碼骨架節(jié)省從零搭建系統(tǒng)的時(shí)間。1. 排隊(duì)機(jī)叫號源代碼本質(zhì)是一臺隊(duì)列狀態(tài)機(jī)「排隊(duì)機(jī)叫號源代碼」這幾個字聽起來像是一個「能叫號的程序」但真正拿到這種項(xiàng)目的人會發(fā)現(xiàn)叫號只是最表面的動作。取號、分配、叫號、過號、重呼、結(jié)單每一步都是一個狀態(tài)在數(shù)據(jù)庫里的流轉(zhuǎn)而最常見的翻車現(xiàn)場——兩個窗口搶同一個號、客戶沒到窗口號就過了、日報(bào)表數(shù)字對不上——全都出在狀態(tài)沒有守住而不是出在界面按鈕上。這套源代碼的價(jià)值在于把整條隊(duì)列的狀態(tài)管理從頭到尾做完了數(shù)據(jù)庫表怎么建、并發(fā)時(shí)怎么鎖號、過號之后怎么拉回來邏輯是一脈貫通的。它適合兩類人一類是接手維護(hù)網(wǎng)點(diǎn)排隊(duì)機(jī)系統(tǒng)的從業(yè)者想快速看懂老工程另一類是在做數(shù)據(jù)庫課程設(shè)計(jì)、需要真實(shí)業(yè)務(wù)場景源碼來改造的學(xué)生。2. 取號到結(jié)單的完整流轉(zhuǎn)四個角色與一套狀態(tài)碼任何一套排隊(duì)機(jī)源碼不管是銀行大堂、政務(wù)大廳還是醫(yī)院藥房用的拆開看都是四個角色在操作同一張?zhí)柎a流水表取號端負(fù)責(zé)產(chǎn)生號碼窗口端負(fù)責(zé)消費(fèi)號碼顯示端負(fù)責(zé)把當(dāng)前狀態(tài)廣播出去管理端負(fù)責(zé)配置和統(tǒng)計(jì)。這套代碼里四個角色沒有各自建表而是共享一張流水表靠狀態(tài)碼區(qū)分「這個號碼現(xiàn)在走到哪一步」。2.1 四個角色的職責(zé)劃分取號端一般是觸摸屏或者窗口人員代取動作只有一個調(diào)用取號邏輯生成一個當(dāng)天唯一的業(yè)務(wù)號碼插入流水表并置為待叫狀態(tài)。窗口端是叫號人員手里的操作界面包含叫下一個、過號、重呼、開始辦理、結(jié)單這五個動作是最復(fù)雜的一端。顯示端不寫數(shù)據(jù)庫只做一件事情把「當(dāng)前正在叫的號碼」和「排隊(duì)人數(shù)」拉出來推送到 LED、電視屏或語音盒子。管理端負(fù)責(zé)維護(hù)業(yè)務(wù)類型表、窗口表以及查看當(dāng)日流水和統(tǒng)計(jì)報(bào)表。把這四個角色的調(diào)用關(guān)系畫出來這套源碼至少能看懂八成。剩下兩成是細(xì)節(jié)過號以后號碼怎么重新進(jìn)入隊(duì)列、兩個窗口同時(shí)按叫號時(shí)數(shù)據(jù)庫怎么保證不重號這兩處是判斷一套排隊(duì)機(jī)代碼水平的分水嶺。2.2 號碼生命周期狀態(tài)位是隊(duì)列的命脈排隊(duì)機(jī)的核心表里一定會有一個狀態(tài)字段這套源碼用的是整數(shù)狀態(tài)位設(shè)計(jì)很干凈只有六個值狀態(tài)值含義觸發(fā)動作1待叫已取號還在排隊(duì)取號成功時(shí)寫入2已叫正在窗口辦理或正在等待客戶窗口叫號時(shí)寫入3過號叫了沒來窗口點(diǎn)過號時(shí)寫入4保留位部分版本用作「辦理中」視項(xiàng)目而定5完成業(yè)務(wù)辦結(jié)窗口結(jié)單時(shí)寫入6取消/作廢取號后離開管理端或自動清理時(shí)寫入為什么用整數(shù)而不是用字符串因?yàn)榻刑栠壿嬂镆l繁按狀態(tài)過濾整數(shù)可以直接進(jìn)索引還能用StatusId IN (1, 2)這類寫法一次撈出「還在隊(duì)列里」的所有號碼。我以前見過一個版本用中文狀態(tài)字段報(bào)表統(tǒng)計(jì)時(shí)WHERE Status已叫 AND Status!過號這種條件寫得到處都是后來改狀態(tài)值差點(diǎn)把線上數(shù)據(jù)改崩。這套狀態(tài)機(jī)里唯一需要嚴(yán)格并發(fā)控制的是「1→2」這一步待叫的號碼可能被多個窗口同時(shí)競爭。其余的狀態(tài)遷移比如過號、重呼、結(jié)單都是操作者針對自己窗口已經(jīng)持有的號碼做更新天然不會沖突。2.3 一條完整的指令序列把一次完整業(yè)務(wù)串起來看流水表的變化是這樣的步驟操作者動作數(shù)據(jù)變更1客戶取號機(jī)出票插入流水StatusId1記錄業(yè)務(wù)類型和取號時(shí)間2窗口人員點(diǎn)「叫下一個」原子鎖號StatusId 1→2寫入 WinId、CallTimeCallCount13a窗口人員客戶到窗點(diǎn)「開始辦理」StatusId 2→5寫 FinishTime3b窗口人員客戶未到點(diǎn)「過號」StatusId 2→3保留原 WinId3c窗口人員客戶回來點(diǎn)「重呼」StatusId 3→2CallCount1重寫 CallTime4客戶取號后離開管理端或日終清理時(shí)置 StatusId6這套序列是排查問題的總線索。比如報(bào)表里完成數(shù)偏少就去查是不是有大量記錄卡在狀態(tài) 2 或狀態(tài) 3比如兩個窗口叫出同一個號就去查步驟 2 的鎖號邏輯是不是原子的比如重呼后號碼跑到別的窗口去了就去查重呼時(shí)是不是錯誤地把 WinId 清空了。提示重呼時(shí)不應(yīng)該清空 WinId??蛻袈牭浇刑柡笠呀?jīng)在走向原窗口重呼只是把號碼拉回「已叫」?fàn)顟B(tài)窗口還是原來那個窗口。如果重呼時(shí)把 WinId 置空這個號碼就會被其他窗口當(dāng)作待叫號搶走窗口之間必然起沖突。3. 數(shù)據(jù)庫是這套源碼的心臟三張核心表與關(guān)鍵 SQL數(shù)據(jù)庫開發(fā)類項(xiàng)目最怕看到一坨沒有主鍵、沒有索引、全靠程序里SELECT *硬撐的表。這套排隊(duì)機(jī)源碼的表結(jié)構(gòu)走的是經(jīng)典的中型業(yè)務(wù)系統(tǒng)路線三張核心表職責(zé)分明索引和約束都建在點(diǎn)子上。3.1 業(yè)務(wù)類型表控制號碼前綴與當(dāng)日序號業(yè)務(wù)類型表的作用是給每種業(yè)務(wù)一個獨(dú)立隊(duì)列。銀行網(wǎng)點(diǎn)里個人業(yè)務(wù)、對公業(yè)務(wù)、理財(cái)業(yè)務(wù)是三條隊(duì)政務(wù)大廳里社保、稅務(wù)、不動產(chǎn)是三條隊(duì)每一條隊(duì)有獨(dú)立的號碼前綴和當(dāng)日序號。CREATE TABLE dbo.t_BizType ( BizTypeId INT IDENTITY(1,1) PRIMARY KEY, -- 業(yè)務(wù)類型ID BizName NVARCHAR(20) NOT NULL, -- 業(yè)務(wù)名顯示在取號機(jī)上 Prefix NVARCHAR(4) NOT NULL, -- 號碼前綴如 A/B/C CurrentSeq INT NOT NULL, -- 當(dāng)日已發(fā)到的序號 StartNo INT NOT NULL DEFAULT 1, -- 當(dāng)日起始序號 Status TINYINT NOT NULL DEFAULT 1 -- 1啟用 0停用 );這里最關(guān)鍵的是CurrentSeq字段。取號邏輯就是把它加一然后拼上前綴生成號碼比如前綴是 A、當(dāng)前序號是 5號碼就是 A0005。這個字段有一個隱含問題跨天之后要?dú)w零。常見做法是每天凌晨跑一個定時(shí)任務(wù)執(zhí)行UPDATE dbo.t_BizType SET CurrentSeq StartNo - 1或者在程序啟動時(shí)檢測系統(tǒng)日期變化后統(tǒng)一重置。粗放一點(diǎn)的項(xiàng)目直接在日終結(jié)算時(shí)重置也能跑但遇到跨天不關(guān)機(jī)的取號機(jī)就有概率發(fā)重號這個坑后面細(xì)說。3.2 窗口表綁定業(yè)務(wù)類型窗口表負(fù)責(zé)定義「哪個窗口辦哪種業(yè)務(wù)」字段不多。CREATE TABLE dbo.t_Window ( WinId INT IDENTITY(1,1) PRIMARY KEY, WinName NVARCHAR(20) NOT NULL, -- 顯示名如 1號窗口 BizTypeId INT NOT NULL, -- 綁定的業(yè)務(wù)類型 DevStatus TINYINT NOT NULL DEFAULT 1, -- 1正常 0暫停 2午休 LastCallNo NVARCHAR(16) NULL -- 最近一次叫的號便于恢復(fù)現(xiàn)場 );窗口跟業(yè)務(wù)類型是「多對一」還是「一對一」實(shí)際項(xiàng)目里經(jīng)常是一個窗口在下午切換業(yè)務(wù)比如上午辦個人業(yè)務(wù)、下午辦對公業(yè)務(wù)。所以窗口端界面上要有「切換業(yè)務(wù)類型」的功能切換時(shí)業(yè)務(wù)類型表不變只改窗口當(dāng)前綁定的 BizTypeId。看到源碼里直接在t_Window上做這個綁定而不是做成中間映射表說明作者是按實(shí)際營業(yè)場景設(shè)計(jì)的不是按教科書設(shè)計(jì)的。3.3 號碼流水表隊(duì)列本身流水表是這套系統(tǒng)里數(shù)據(jù)量最大的表一天幾千到幾萬條一個月后就是幾十萬條。沒有索引的流水表撐不過三個月查詢會明顯變慢。CREATE TABLE dbo.t_TicketFlow ( FlowId BIGINT IDENTITY(1,1) PRIMARY KEY, TicketNo NVARCHAR(16) NOT NULL, -- 業(yè)務(wù)號碼如 A0005 BizTypeId INT NOT NULL, -- 指向業(yè)務(wù)類型表 StatusId TINYINT NOT NULL, -- 1待叫 2已叫 3過號 5完成 6取消 WinId INT NULL, -- 處理該號的窗口叫號后寫入 CreateTime DATETIME NOT NULL, -- 取號時(shí)間 CallTime DATETIME NULL, -- 叫號時(shí)間 FinishTime DATETIME NULL, -- 結(jié)單時(shí)間 CallCount TINYINT NOT NULL DEFAULT 0, -- 叫號/重呼次數(shù) Source NVARCHAR(10) NOT NULL DEFAULT TOUCH ); CREATE INDEX IX_Flow_Queue ON dbo.t_TicketFlow(StatusId, BizTypeId, CreateTime) INCLUDE(TicketNo, WinId);IX_Flow_Queue這個索引是給取號邏輯專門建的按狀態(tài)、業(yè)務(wù)類型、時(shí)間排序取最老的待叫號。因?yàn)椴樵冎灰刈xTicketNo和WinId用 INCLUDE 直接把這些列塞進(jìn)索引葉子節(jié)點(diǎn)避免每次回表讀整行。日終統(tǒng)計(jì)時(shí)流水表按CreateTime過濾這個索引也能頂一部分查詢。需要注意INCLUDE 語法是 SQL Server 的寫法。如果把這套表結(jié)構(gòu)遷移到 MySQL 8要改成普通聯(lián)合索引(StatusId, BizTypeId, CreateTime, TicketNo, WinId)遷移到 PostgreSQL 則可以直接建INCLUDE兩者的索引機(jī)制類似。關(guān)鍵的統(tǒng)計(jì) SQL 有兩句。一句是看每個窗口的待辦積壓SELECT w.WinName, SUM(CASE WHEN f.StatusId 1 THEN 1 ELSE 0 END) AS WaitingCount FROM dbo.t_Window w LEFT JOIN dbo.t_TicketFlow f ON f.BizTypeId w.BizTypeId AND f.WinId IS NULL AND CONVERT(DATE, f.CreateTime) CONVERT(DATE, GETDATE()) WHERE w.DevStatus 1 GROUP BY w.WinName;另一句是看全天的平均等待時(shí)長這是營業(yè)廳管理最看重的指標(biāo)SELECT AVG(DATEDIFF(SECOND, CreateTime, CallTime)) AS AvgWaitSec, COUNT(*) AS CalledCount FROM dbo.t_TicketFlow WHERE CONVERT(DATE, CreateTime) CONVERT(DATE, GETDATE()) AND CallTime IS NOT NULL;注意CONVERT(DATE, CreateTime)這類寫法在流水表數(shù)據(jù)量大時(shí)會放棄索引掃描全表。幾十萬條以內(nèi)沒感覺上了百萬條就要改成CreateTime 2025-06-01 AND CreateTime 2025-06-02的區(qū)間寫法。調(diào)試時(shí)如果發(fā)現(xiàn)報(bào)表越跑越慢先看執(zhí)行計(jì)劃是不是走了索引。4. 多窗口并發(fā)與調(diào)度策略怎么保證兩個窗口不叫到同一個號排隊(duì)機(jī)的并發(fā)問題集中在兩個窗口同時(shí)按「叫下一個」的瞬間。兩個窗口讀取到同一個待叫號碼、同時(shí)更新成功屏幕上兩個窗口都在喊同一個號客戶一臉懵。這個問題不是玄學(xué)是典型的讀寫競態(tài)解決思路只有一個把「查詢待叫號碼」和「把號碼標(biāo)記為己叫」合并成一個原子操作。4.1 重號是怎么發(fā)生的最容易出問題的寫法是「先查再更」窗口端先執(zhí)行SELECT TOP 1 ... WHERE StatusId 1拿到一個號碼顯示在界面上用戶點(diǎn)確認(rèn)后再執(zhí)行UPDATE ... SET StatusId 2。問題出在兩步之間有空窗窗口 A 查到了 A0005界面彈出確認(rèn)框窗口 B 在確認(rèn)框彈出的這一瞬間也執(zhí)行查詢同樣拿到 A0005兩邊都點(diǎn)確認(rèn)兩個 Update 都成功重號就發(fā)生了。我見過某個版本試圖用「程序里加鎖變量」來解決在單機(jī)進(jìn)程里定義一個靜態(tài)變量窗口端先搶到這個變量才能查號。這在單機(jī)演示時(shí)沒問題但排隊(duì)機(jī)是局域網(wǎng)多終端架構(gòu)取號機(jī)、多個窗口工控機(jī)連同一個數(shù)據(jù)庫進(jìn)程內(nèi)的鎖根本鎖不住其他機(jī)器的請求。所以這套源碼把鎖挪到了數(shù)據(jù)庫層用存儲過程解決方向是對的。4.2 用 UPDLOCK READPAST 實(shí)現(xiàn)原子取號這套源碼里的取號存儲過程是核心結(jié)構(gòu)大致如下CREATE PROCEDURE dbo.usp_CallNext WinId INT, -- 發(fā)起叫號的窗口ID BizTypeId INT -- 該窗口當(dāng)前受理的業(yè)務(wù)類型 AS BEGIN SET NOCOUNT ON; DECLARE TicketNo NVARCHAR(16); DECLARE FlowId BIGINT; BEGIN TRAN; -- 帶 UPDLOCK 鎖定掃描到的行帶 READPAST 跳過已被其他事務(wù)鎖住的行 SELECT TOP 1 FlowId FlowId, TicketNo TicketNo FROM dbo.t_TicketFlow WITH (UPDLOCK, READPAST) WHERE BizTypeId BizTypeId AND StatusId 1 AND WinId IS NULL ORDER BY CreateTime ASC, FlowId ASC; IF FlowId IS NULL BEGIN ROLLBACK; RETURN -1; -- 隊(duì)列為空 END; UPDATE dbo.t_TicketFlow SET StatusId 2, WinId WinId, CallTime GETDATE(), CallCount CallCount 1 WHERE FlowId FlowId; COMMIT; SELECT TicketNo AS TicketNo; END;這段邏輯的關(guān)鍵在WITH (UPDLOCK, READPAST)兩個提示的組合。UPDLOCK讓查詢在讀到行的時(shí)候就對該行加更新鎖后續(xù)其他事務(wù)再來讀同一行會被阻塞READPAST則保證當(dāng)前事務(wù)跳過已經(jīng)被別人鎖住的行不會傻等。兩者配合的效果是窗口 A 先執(zhí)行鎖住 A0005 并改成已叫窗口 B 同時(shí)執(zhí)行讀的時(shí)候直接跳過 A0005拿到下一條 A0006。這就是「既不重號、又不互相阻塞」的數(shù)據(jù)庫層實(shí)現(xiàn)。如果是 MySQL 8 環(huán)境等價(jià)寫法是SELECT ... FOR UPDATE SKIP LOCKEDPostgreSQL 也支持SKIP LOCKED。SQL Server 這套 Hint 語法在老項(xiàng)目里最常見所以排障時(shí)遇到同類源碼先找有沒有這兩個關(guān)鍵詞。4.3 窗口端調(diào)用與廣播解耦存儲過程只負(fù)責(zé)「把號碼從隊(duì)列里取出來并更新狀態(tài)」窗口端拿到號碼之后還要推送給 LED 屏幕和語音盒子。這里有一個重要的邊界數(shù)據(jù)庫狀態(tài)更新是主事務(wù)推送屏幕是附屬動作附屬動作失敗不能回滾主事務(wù)。// 窗口端“叫下一個”按鈕的完整處理 private void btnCallNext_Click(object sender, EventArgs e) { string ticketNo; // 第一步調(diào)存儲過程原子取號 using (var conn new SqlConnection(CONN_STR)) using (var cmd new SqlCommand(dbo.usp_CallNext, conn)) { cmd.CommandType CommandType.StoredProcedure; cmd.Parameters.AddWithValue(WinId, winId); cmd.Parameters.AddWithValue(BizTypeId, bizTypeId); conn.Open(); // 隊(duì)列為空時(shí)存儲過程返回 -1這里表現(xiàn)為取不到值 ticketNo (string)cmd.ExecuteScalar(); } if (string.IsNullOrEmpty(ticketNo)) { MessageBox.Show(當(dāng)前隊(duì)列為空請先取號, 提示, MessageBoxButtons.OK, MessageBoxIcon.Information); return; } // 第二步廣播。推送失敗不撤銷叫號只記錄日志 try { DisplayProxy.ShowNow(ticketNo, winName); VoiceProxy.Speak($請{ticketNo}號到{winName}窗口辦理); } catch (Exception ex) { Log.Error(廣播失敗但號碼已生效請人工喊號, ex); } }winId和bizTypeId是窗口端登錄后從配置表讀取的參數(shù)。廣播失敗時(shí)的處理是很多項(xiàng)目忽略的如果推送成功后 LED 屏幕斷電客戶看不到號碼窗口人員只能人工喊號此時(shí)如果代碼把數(shù)據(jù)庫狀態(tài)回滾成待叫那其他窗口就可能把這個號再叫一次徹底亂套。所以廣播失敗的正確做法是記日志、提示窗口人員、但不回滾。調(diào)度策略上這套代碼用的是「窗口主動搶占」模式窗口空閑時(shí)點(diǎn)按鈕去隊(duì)列里搶最老的號。另一種模式是「系統(tǒng)自動派號」取號時(shí)直接分配指定窗口客戶憑票去對應(yīng)窗口適合流水線式作業(yè)但銀行政務(wù)類場景用戶體驗(yàn)差客戶不知道被分到哪個窗口實(shí)際項(xiàng)目里很少用。提示如果某天線上出現(xiàn)了重號第一件事是查數(shù)據(jù)庫日志里這兩個 Update 的執(zhí)行順序和事務(wù)隔離級別而不是先改窗口端代碼。絕大多數(shù)重號問題根源在數(shù)據(jù)庫層界面端代碼改一百遍也沒用。5. 排隊(duì)機(jī)避坑指南五個真實(shí)翻車現(xiàn)場與修復(fù)方法這套源碼整體邏輯是完整的但實(shí)際部署中坑點(diǎn)不少。下面五條都是我見過或經(jīng)歷過的典型問題按「現(xiàn)象 → 原因 → 解決」整理出來照著排查能省半天時(shí)間。5.1 兩個窗口同時(shí)叫出同一個號現(xiàn)象早高峰兩個窗口幾乎同時(shí)點(diǎn)叫號LED 屏和語音同時(shí)播同一個號碼客戶不知道去哪個窗口窗口人員互相推諉。原因這不是數(shù)據(jù)庫并發(fā)問題而是流程設(shè)計(jì)問題。舊版本窗口端做了「預(yù)取號」程序先把待叫號查出來顯示在界面上等窗口人員確認(rèn)后再更新狀態(tài)。預(yù)取號和確認(rèn)之間的空窗期另一個窗口也能查到同一個號。窗口人員手速越快重號概率越高。解決嚴(yán)格走usp_CallNext存儲過程把查號和鎖號合并為一次數(shù)據(jù)庫操作。如果業(yè)務(wù)上必須保留確認(rèn)彈窗就把彈窗放在「調(diào)存儲過程之后」而不是之前先落庫拿到號碼彈窗只是展示結(jié)果不是確認(rèn)項(xiàng)。這一條改動就能根治重號。5.2 客戶還沒走到窗口號碼就變成過號了現(xiàn)象老年客戶從取號機(jī)拿完號走到窗口路上用了兩分鐘到窗口時(shí)系統(tǒng)已經(jīng)顯示「已過號」窗口人員重新叫號時(shí)客戶一臉委屈現(xiàn)場吵起來。原因過號等待時(shí)間寫死在代碼里默認(rèn)值只有 30 秒。代碼里用的是Thread.Sleep(30000)這類硬編碼部署時(shí)沒人去改。大廳越大、窗口越遠(yuǎn)、客戶群體年齡越大這個值就越不合理。解決把過號等待間隔做成配置表參數(shù)過號判定邏輯統(tǒng)一讀配置。配置表就兩列一列鍵一列值INSERT INTO dbo.t_Config ([Key], [Value]) VALUES (WaitTimeoutSec, 180);窗口端判定邏輯改成SELECT Value FROM dbo.t_Config WHERE [Key] WaitTimeoutSec取不到值時(shí)默認(rèn) 120 秒。另外窗口端要保留「撤銷過號」按鈕客戶到了就點(diǎn)一下把狀態(tài)從 3 拉回 2同時(shí)記錄一條操作日志避免被投訴時(shí)說不清楚。5.3 LED 屏幕顯示亂碼現(xiàn)象號碼數(shù)字正常漢字和字母變成「口」或菱形某些批次屏幕正常、某些批次亂碼。原因LED 控制器和程序約定的編碼不一致。常見組合是控制卡默認(rèn) GB2312程序按 UTF-8 拼報(bào)文或者反過來。同類源碼復(fù)制到不同網(wǎng)點(diǎn)顯示屏廠家不一樣編碼約定就不一樣看起來像系統(tǒng)「時(shí)好時(shí)壞」其實(shí)是換屏的時(shí)候沒同步改編碼。解決把編碼參數(shù)做成每個網(wǎng)點(diǎn)的配置項(xiàng)不要在代碼里寫死。調(diào)試時(shí)直接用串口工具抓報(bào)文看 Hex 字節(jié)流對照 GB2312 或 UTF-8 的碼表一看就知道哪一端錯了。這個坑最好在部署階段就統(tǒng)一確認(rèn)等上線后再改要同時(shí)改程序和屏參來回折騰。5.4 日報(bào)表統(tǒng)計(jì)數(shù)量比實(shí)際少了 20%現(xiàn)象晚上打印日報(bào)表系統(tǒng)統(tǒng)計(jì)當(dāng)天辦理 80 筆營業(yè)廳手寫臺賬記了 90 筆差了 10 筆。查流水表發(fā)現(xiàn)有一部分記錄狀態(tài)停在了「已叫」。原因窗口人員點(diǎn)「結(jié)單」按鈕時(shí)界面上的客戶記錄消失了但數(shù)據(jù)庫狀態(tài)沒有更新。舊代碼里「開始辦理」只改了前端界面狀態(tài)對應(yīng)數(shù)據(jù)庫根本沒有任何更新操作真正把狀態(tài)改成完成的那段代碼只存在于另一個沒人調(diào)用的模塊里。報(bào)表按 StatusId5 統(tǒng)計(jì)自然偏少。解決強(qiáng)制約定結(jié)單必須走統(tǒng)一的更新語句把StatusId從 2 改成 5 并寫入FinishTime。排查時(shí)用一個分組查詢看狀態(tài)分布哪里異常一眼可見SELECT StatusId, COUNT(*) AS Cnt FROM dbo.t_TicketFlow WHERE CONVERT(DATE, CreateTime) CONVERT(DATE, GETDATE()) GROUP BY StatusId;正常一天跑下來狀態(tài) 5完成應(yīng)該占絕大多數(shù)狀態(tài) 1 和狀態(tài) 2 是營業(yè)結(jié)束時(shí)還殘留在隊(duì)列里的少量號碼狀態(tài) 3 是過號。如果狀態(tài) 2 占比異常高說明「結(jié)單不落庫」的問題還在。5.5 取號機(jī)間歇性卡死重啟后恢復(fù)現(xiàn)象客戶按取號后紙質(zhì)票打印不出來或者觸摸屏轉(zhuǎn)圈十幾秒重啟軟件恢復(fù)過半天又犯。原因打印控件同步調(diào)用打印機(jī)打印機(jī)走網(wǎng)絡(luò)共享時(shí)響應(yīng)慢超時(shí)期間取號事務(wù)一致沒提交數(shù)據(jù)庫連接被占滿后面所有取號請求都在等連接表現(xiàn)為整個取號端卡死。這是典型的「外部設(shè)備拖垮主流程」。解決取號寫庫和打印徹底解耦。按鈕點(diǎn)擊后先執(zhí)行取號存儲過程拿到號碼立刻提示「取號成功」打印丟到后臺線程隊(duì)列慢慢處理失敗只記日志不彈窗。同時(shí)給所有SqlConnection設(shè)置短連接超時(shí)比如Connect Timeout 3避免單臺設(shè)備異常拖垮整個系統(tǒng)。6. 部署后怎么驗(yàn)證造數(shù)、并發(fā)測試與參數(shù)配置化拿到這套源碼不要急著改業(yè)務(wù)流程先做三輪驗(yàn)證。第一輪是造數(shù)據(jù)驗(yàn)證統(tǒng)計(jì)邏輯。寫一段腳本往流水表灌一天的量比如 3000 條記錄時(shí)間從早上 9 點(diǎn)均勻分布到下午 5 點(diǎn)狀態(tài)隨機(jī)落在 1、2、3、5然后跑前面那兩句統(tǒng)計(jì) SQL確認(rèn)報(bào)表口徑和你預(yù)期一致。這個步驟能提前發(fā)現(xiàn)狀態(tài)位含義和報(bào)表邏輯的錯位。第二輪是并發(fā)驗(yàn)證。打開五個數(shù)據(jù)庫查詢窗口模擬五個窗口同時(shí)執(zhí)行usp_CallNext連續(xù)跑幾十次觀察返回的號碼有沒有重復(fù)有沒有返回空值。正常情況每次返回的號碼都應(yīng)該嚴(yán)格遞增且不重復(fù)。如果出現(xiàn)重復(fù)回到第 4 章的鎖機(jī)制排查如果出現(xiàn)大量空值說明鎖粒度太粗事務(wù)互相阻塞嚴(yán)重要檢查是不是漏了READPAST。第三輪是把行為參數(shù)全部配置化。WaitTimeoutSec過號等待秒數(shù)、MaxCallCount號碼最大重呼次數(shù)、DailyResetTime每日序號歸零時(shí)間這些值全部挪到t_Config表里改參數(shù)不用重新編譯程序。我之前接手一個項(xiàng)目對方說系統(tǒng)「時(shí)好時(shí)壞很玄學(xué)」排查到最后發(fā)現(xiàn)是某臺窗口電腦的系統(tǒng)時(shí)間快了八分鐘叫號記錄和過號判斷全部錯位。從那以后我拿到任何排隊(duì)機(jī)源碼第一件事就是檢查所有終端的時(shí)間同步再做并發(fā)壓測最后才動業(yè)務(wù)邏輯。希望你拿到的這套代碼能少踩幾個類似的坑祝順利。本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
国产精女同一区二区三区久| 久久综合热17c| 国産精品| 五月丁香婷婷开心| 少妇丁香婷婷| 五月丁香啪啪啪综合网| 久久密臀婷婷| 中文字幕在线免费看线人| 国产色色色色| 超色欲天天| 五月丁香婷婷综合| 看全色黄大色大片| 俺也去综合| 综合色网站| 色婷婷电影网| 99综合免费视频| 天天插天天草人人玩| 色五月激情综合网站| 五月天婷婷色| 综激情网| av在线免费网站| 深爱激情九九五月天 | 婷婷丁香五月综合网| 色综合久久88色综合天天99| 色五月天视频| 五月婷婷天天色| 丁香五月婷婷综合激情啪啪啪啪啪啪啪 | 日韩成人电影av| 久久久97| 婷婷五月花| 亚洲操操操| 激情综合色五月六月婷婷| 久久五月天色婷婷| A级毛片高清免费不卡播放谢谢谢谢| 色噜噜综合网| 亚洲中文字幕av| 天天草天天摸| 天天日夜夜拍| 丁香五月天激情小说| 女人天堂久久| 伊人网啪啪| 《亚洲操B久久免费在线观看,亚洲操B久久在线播放》在线播放 - 高清资源 - 97 | 伊人狼人干| 99综合网| 99精品在线| 久久久99久久| 天天摸天天日天天舔| 五月丁香六月综合情在线观看 | 欧美色性色好| 丁香五月天啪啪| 激情五月网站| 丁香婷五月| 婷婷色婷婷亚洲成人| 97五月婷婷| 国产AV一区二区三区最新精品 | 亚洲激情综合| 久久3p| 这里只有免费精品| 开心深爱激情网| 久青青久| 亚洲综合婷婷| 99热精地址| 中文aV网| 色五月在线观看| 97碰| 亚洲 综合中文| 99激情网| 五月天天天综合| 色五月天影视| 99er6热在线观看精品6| 26uuu成人网| 五月婷婷激情网| 99久99久| 大香蕉丁香| 毛片蕉地一二| 色婷婷操逼| 伊人色综合影院视频| 婷婷中文字幕欧美| 啪啪日热| 久久精品系列| 日日噜狠狠| 影视av久久久噜噜噜噜噜三级| 丁香五月综合激情性爱| 五月丁香六月激情综合网| www.日韩国产| 亚洲激情高潮| 激情五月婷婷综合| 亚洲成人综合在线| 日韩野外 无套| 激情五月天福利| 91婷婷五月丁香碰| 久操婷婷| 九九精品re免费视频| 热九九九九| 久久视频婷婷视频| 色情免费视频播放| 婷婷久久99| 99久久久| 婷婷久久婷婷| 超碰av在线| 91综合在线视频| 色婷婷亚洲综合天堂| 亚洲宗合激情| 成人电影AV在线观看| 国产精品电影| 久久人妻久久| 国产精品一区在线观看你懂的| 2025超碰| 97干在线| 亚洲精品国产精品乱码视99| 色婷婷久久| www99精品日韩| 国产精品色婷婷久久久精品| 婷婷5月天av| 五月六月伦理| 亚洲精品无码一区二区| 五月丁香色婷婷久久| 天天日天天狠狠操| 久操福利| 91av色色乱视频| 久久久8| 翔田千里aV中文字幕| 色色哒五月婷婷六月丁香| 91久久久久久久| 久久九九Com| 深夜男女福利刺激影院一区完整| 婷婷五月天激情网站| 婷婷色丁香五月| 91九九九九| 九九热婷婷| 丁香六月婷婷综合麻豆| 99热这里只有精品3| 综合久久丁丁香婷| 五月伊人综合| 国产激情视频在线观看| 91精品国产综合久久蜜芽解析速度| 久久精品9| 亚洲色无码| 亚洲AV成人在线| 97成人超碰免| 五月丁香操亭亭网| 亚洲日本三级片| AV中文在线| 97 A I色色| 五月天啪啪啪| 97婷婷狠狠久久综合9色| 欧韩性爱| 久久曰曰| 久久多色| 亚洲综合久| 97操女视频| 天天拍夜夜撸| 另类小说五月天| 九九九九中文字幕| 五月六月婷婷| 99热久久这里只有精品| 日日干日日色| 99∨VTV| 综合www色| 五月婷六月丁| 日韩啪啪视品| 人草人人| 久热精品在看| 久草热在线视频| 色婷婷伊人激情在线观看| 色久婷婷五月| 日本人妻A片成人免费看片| AV操逼网| 99热官网精品在线| 色五月婷婷91| 色五月婷婷综合| 五月天久久网站| 99亚洲无码| 午夜精品久久久久久久爽| 国产伦理精品高清在线观看网站一区二区| 五月丁香六月婷婷姐| 亚洲欧美综合7777色亭亭| 精品视频99看在线视频| 第四色在线观看| www.久久久久| 五月天成人免费视频| 97人人操在线| 五月天婷久精视频| 国产性爱大片久久| 九九热在线精品视频| 国产97在线日韩亚洲女人被黑人巨大| 99er6| 99色色网| 天天做天天爱天天爽夜夜揉| 婷婷97| 99色看这里只有精品| www.色婷婷| 丁香五月婷婷色| 亚洲综合激情五月| 久久婷丁香五月| 婷婷成人综合| 婷婷大美在线| 9|在线观看视频| 色婷婷基地| Caoporn公开| 五月丁香激情六月| 国产午夜精品一区二区| 九色PORNY9l原创自拍| 日韩免费99| 99热这里只有精| 日欧一片内射VA在线影院| 一区二区三区四区五区| 久热精品9999| 丁香五月婷婷基地| 狠狠操天天操综合| 久久婷婷五月天| WWW、日本色丁香、co m| 色婷婷很很丝袜| 五月情四婷婷| 日韩婷久| 婷婷色网| 色日本网| 99色色热热| 97色婷婷| 五月婷婷丁香色吧网| 五他月天啪啪啪| www.色婷婷.com| 成人短视频在线| 久草婷婷| 五月六月婷婷| 综合激情五月四射婷婷| 丁香婷婷五月天成人| m色激情网| 色噜噜丁香| 黄页大全十八禁| 日韩情色在线观看| 成人片黄网站色大片免费毛片| 伊人五月丁香| 九九熱最新視頻| 久草婷婷网 | 4399在线日本A片| 日本在线va| 色婷婷AV在线| 日日操夜夜擼| 天天色天天| 99碰网站| 91九色超碰| 六月婷婷久久| 精品夜夜澡人妻无码AV| 久久六月天| 激情五月天网页| 色婷婷丁香五月| 色婷婷五月中文字幕在线dvd| 色播婷婷五月天| 五月天伊人| 五月丁香 久久久| 免费97碰碰| 熟妇人妻中文字幕无码老熟妇| 99在线观看精品视频| 婷婷久久久久| 色婷大香蕉| 亚洲综合激情五月久久| 蜜臀九九九九| 五月婷婷xxx| 秋霞少妇毛片| 亚洲三A| 超碰97免费在线| 五月天综合区| 99热这里只有精品26| 丁香五月婷婷激情四射深爱激情| 五月丁香婷婷欧美| 99热大香蕉| 五月丁香婷庭在线| 亚洲中文丁香| 大香蕉伊人久久| 欧美熟妇一区二区三区| 婷婷五月天伊人| 婷婷五月天综合色| 我要色综合五月婷婷| 婷婷午夜激情| 国产精品操| 婷婷五月丁香基| 久久久久9999| 激情丁香五月| 色99视频| 天天做好综合色| 丁香五月成人| 开心五月激情网| 五月天六月婷婷| 亚洲天堂AAA| 欧美图片丁香五月天| 二色av| 武则天精品久久| WWW.婷婷| 五月丁香激情综合网| 免费操超碰| 欧美久热| 五月综合无码| 婷婷综合五月| 国产激情在线| 国产精品香蕉| 深爱五月亚洲| 淫水导航| 久久免片| 在线视频99| 色色国产| 超碰免费99| 国产激情在线| 99热婷婷| 婷婷中文字幕| 日本在线观看99| 激情小说五月天| 婷婷五月天激情小说| 超碰免费成人| 五月丁香人妻| 国产资源在线视频| 9l视频自拍九色9l视频自拍九色9l社区| 大香蕉婷婷婷| 激情图片久久| 五月天社区| 91操人| 狠狠干综合| 欧洲色色| 综合色播| 激情com| 五月婷婷片| 亚洲在线播放| 人妻AV在线| 久青青久| 婷婷娌伦网| 丁香 久久| 丁香五月手机在线| 婷婷五月天日本国产| 婷婷色女| 天天爽天天做| 五月丁香色婷婷久久| 久久久香| 亚洲经典三级| 久久sp免费视频| 激情五月天的婷婷| 七七九九色色| 五月婷婷丁香俺日污视频| 日日爽夜夜爽| 国产在线中文字幕| 被强行糟蹋的女人A片| 桃色五月婷婷| 五月丁香亭亭操逼| 97婷婷丁香五月天激情图片| 久久美女五月天| 久久网日本| 日本99热| 五月丁香婷婷婷激情爱爱| 久久久久久久久久久久63| 亚洲视频操| 精品无码av丁香五月激情| 6080av| 天天操婷婷| 九九色图| 国产亚洲精品AAAAAAA片| 久久婷青青草原| 婷婷五月天精品| 精热在线综合网| 99热香港| 久热超碰91| 丁香五月天激情综合| 九九色婷婷Av| 狠狠五月激情在线| 激情五月天开心| 激情丁香五月| 婷婷丁香亚洲色综合91| 99热这里有精品2| 亚洲综合五月天婷婷丁香| 八戒青柠影视剧在线观看| 五月婷免费视频| 俺去也五月| 人妻第九页| 色色激情五月| 深爱激情六月| 亚洲综合五月天| 大香蕉在线99热| www.97碰碰com| www.伊人天堂偷偷婷婷| 亚洲婷婷欧美婷婷| 久久R激情| WWW.99热| 色色99| 任你躁XXXXX麻豆精品| 日韩成人影片在线观看| 激情婷婷人妻| 99在线精品视频| 九九热婷婷| 国产精品色色色色| 97资源欧美日韩大香蕉超碰一区| 中文字幕高清av| 五月天婷婷六月| 成人av中文字幕| 伊人超碰在线| 开心五月综合激情综合五月| 久久精品99| www久久艹| 五月综亚洲| 色五月激情综合网| 色爽九九| 天天噜| 少妇伦子伦精品无吗| 久久色天堂| 99国产性感视频| 一本道在线电影| 99er6免费视频热播| 樱花99视频| 91日本在线观看| 97香蕉人人在线观看| 伊人香大香蕉视频| 婷婷丁香五月久久| 国自产拍偷拍精品啪啪一区二区| Se.婷婷五月天| 97干在线| 1024日韩| 婷婷五月天成人网| 五月天婷a在线| 国产午夜一区二区三区| 全亚洲最大的婷婷五月天网站COM| 激情99| 九九中文字幕九| 色J香五月天| cao视频,现在观看| 第五色色色婷婷| 日韩啪啪自拍| 五月婷婷六月丁香在线| 午夜日韩久久久网站| 色色色色色色色色综合网| 99热99日天天干| 九九精品在线网| 久久久久久99日本| 日韩抽插操逼| 色色三级视频| 伊人五月成人| 亚洲精品网址| 91综合国免费久入| 精品婷婷五| 丁香色五月 97干| 五月天激情站| 玖玖爱伊人网| 亚洲热综合| 亚洲第一成人AV| 五月婷婷丁香色播网| 99在线视频网址在线观看| 婷丁五月| 2018夜夜草| 思思久久99热只有频精品66| 成人精品免费在线观看| 激情亭亭五月| 婷婷激情小说| 99色在线视频观看| 婷婷六月丁香五月图区| 五月天狠狠网| 97婷婷色| 色五月婷婷777| 91wwmm导航| 亚洲有码在线视频| 涩五月婷婷| www..com色爱| 狠狠色丁香久久综合婷婷亚洲成人福利| 综合网激情| 日本三级韩三级99久久| 黑人巨粗进入警花疼哭A片| 色丁香综合影院| 丁香九月激情在线视频| 久久99久久99精品免观看粉嫩| 日韩啪啪视频| 综合色图婷婷| 操操天堂| 丁香五月婷婷亚洲另类| 婷婷色五月开心五月| 亚洲1区| 深爱五月中文字幕| 操逼视频网址| 深爱激情丁香| 五月天精品视频| 九九热av| 亚洲av电影网站| 色噜噜狠狠狠综合曰曰曰| 丁香五婷婷| 国产美女无遮挡裸体毛片A片| 色婷五月天激情| 日本99热| 青青草原亚洲久| 日韩在线视频中文字幕| 热99只有精品| 亚洲免费看片| 九九久久污| 欧日美女Va| 婷婷亚洲综合| 91色情播放| 五月丁香亚洲校园欧美| 伦乱人妻| 天天操夜夜操| 久久伊人婷婷| 日本色视| 五月丁香成人| 人操91在线| 色五月五月婷婷| 久久五月综合| 天天撸夜夜爽| 婷婷综合欧美| 久久久久99精品成人网站| 亚洲久久激情| 人人操人人爰人人一天天碰夜夜拍夜夜爽-中国A级毛片天天看天天谢… | 99综合网| 婷婷五月深深爱| 久久草人妻| 久久婷婷夜| 夜夜嗨一区二区三区直播内容 | 亚洲国产精品二二三三区| 九九热最新| 丁香婷五月| 丁香五月天堂网| 99久久.www| 婷婷五月色播天| 天天噜噜| 九久9精品| 99九九视频| 99re思思热这里| 婷婷激情肏屄网| 激情综合色婷婷啪啪六月天| 丁香五月激情啪啪啪啪| 婷婷丁香日韩五月| 国产在线aaa片一区二区99| 久久草大香蕉| 综合视频久久| 91丨九色丨白浆秘| AAA久久久AAA久久久AAA| 99综合97| 激情综合网激情五月俺也去| 爽tv | 日本三级日本三级99| 日本三级中国三级99| 狠狠综合网| 丰满熟女人妻一区二区三| 五月婷婷精品视频| 综合在线丁香五月| 精品无码人妻一区| 男人的天堂999| 色婷婷综合久久久久| 色色色五月婷| 黄色精品五月婷婷| AV在线中文| 51精品国内探花| 激情五月丁香五月色| 少妇性BBB搡BBB爽爽爽视頻| 丰满少妇猛烈A片免费看观看 | 婷婷欧美激情综合| 视频免费精品免费精品免费精品免费精品免费精品免费精品免费99 | 九九热只有这里精品| 婷婷激情四射| 日本妈妈乱| 婷婷丁香花五月天| 91色婷婷综合久久中文字幕二区| 天天激情5月天亚洲| 天天狠天天狠| 久久婷婷六月综合| 人人操Av| 天天综合网亚洲综合网| 五月五婷婷| 久久成人综合五月天| 婷婷五月天成人导航| 这里只有精品视频视频在线观看| 六月丁香视频网站| 色视五月天婷婷| 亚洲另类婷婷五月综合| 人妻丰满精品一区二区A片| 国产精品久久久久久久久久免费| 五月婷婷综合激情小说| 久久日本wwww色| 亚洲国产网站| 无码啪啪| 五月天婷婷丁香蜜桃91| 六月丁香色婷婷| 天天天天干| 婷婷欧美| 天天操天天插| 亚洲av电影网站| 色婷婷亚洲在线观看| 99啪啪网| 五月综合视频在线| 99热亚洲精品66| 九九这里只有精品| 91一起操| 嫩草AV久久伊人妇女超级A| 国产亚洲精品久久久久久郑州| 在线视频区| 色99免费视频中文| 五月天婷婷三级黄| 丁香婷婷婷五月| 99热在线观看精品| 白人荫道BBWBBB大荫道| 日本欧特黄色刺激一区影视久精品无码| xxxx久| 五月婷婷丁香五月亚洲色| 日本欧美国产| 久久伊人婷婷| 日韩有码一区| 99热这里只有精品268| 这里只有九九精品| 六月婷婷激情图片| 综合另类激情| 99九九视频| 丁香六月久久| 夜夜爽天操| 九九婷婷综合| 欧美日本国产| 久久久妻人人人| 五月天色裸体视频| 九九RE视频在线精品| 激情五月婷婷色色| 香蕉久久国产AV一区二区 | 狠狠色婷婷7777久| 黄色视频网站在线播放| 亚洲无码成人| 另类激情网| 久99| 欧美三级级99久久| 最新五月天婷婷影| 综合婷婷久久| 欧美日本99| 久久综合激情五月天| 激情五月天色爱| 大香蕉久操| yw.av| 精品无码色| 五月婷婷啪啪啪| 亚洲精级| 五月天婷婷在线啪啪视频| 色99色| 欧美顶级少妇做爰HD| 久9热在线视频| 天天日夜夜拍| 99操九九网| 久久九九中文字幕| 99热国产这里只有精品| 午夜69成人做爰视频| 逼特逼在线免费播放| 大香蕉九九| 涩婷婷五月天在线精品视频| 亚洲mm免费| 电影爱拉战争免费观看| 99热首页| 丁香五月性| 综合网啪| 色五月婷婷AV| 六月激情久久| 男人的天堂99| 人人视频色| 国产露脸150部国语对白| 亚洲视99| 激情五月天社区| 六月激情丁香一道本7777| 国产精品久久久60086| 99在线观看| 97影院一级片| 丁香六月激情| 色色色婷婷五月天| 久九色| 伊人五月天| 超碰京东热av男人的天堂| 婷婷丁香激情五月天色色| 国产精品久久久久久久久久免费| 天天色综合色色色色色。| 久草五月| 99热最新地址在线| 六月色婷婷| 色必久悠悠影院| 五月天色区| 久久国产AV| 精品久久艹| .comwww在线观看免费操| 五月丁香婷婷五月色| 97色天堂| 久婷五月| 大香网伊人久久综合| 中文字幕九九九九| 九九在线精品| 亚洲色激婷| 大战熟女丰满人妻AV| 色婷婷丁香五月高清在线| 99热思思| 婷婷五月综合在线视频| 久久精品熟女亚洲AV麻豆| 99免费视频在线观看爱| 亚洲视频在线网| 天天操夜夜夜拍拍拍| 江苏少妇性BBB搡BBB爽爽爽| 第四色首页| 色五月天丁香婷婷色| www久久艹| 五月婷色| 精品一二三区久久AAA片| 天天狠狠色| 综久久久| 人人操91| 天干天天干天天天天天| 丁香五月大香蕉在线99| 婷婷五月天视频亚洲| 色情五月婷| 五月丁香亭亭| 五月天成人伊人| 欧美A A A A A| 五月激情小说| 久久五月视频| 国自产拍偷拍精品啪啪一区二区| 26uuu亚洲欧美| av第一二区| 精品久久艹| 丁香五月在线观看综合| 一级黄色操B| 97碰碰视频在线观看免费| 天天久久66xxx| 亚洲狠狠色丁香婷婷综合久久| 天天操比比| 九色91国产| 欧美黑人巨大性生话| 色亚洲欧洲| 色五月综合激情| 91 影音先锋| 色婷婷a| 丁香五月影院| 操逼亚洲天堂| 色色色色色色网站| 五月婷在线色视频| 99久久婷婷五月综合| 欧美性生交XXXXX无码小说| 婷婷丁香色五月| 九九AV| 男女激情久久| 精品婷婷| 爱婷婷都市激情| 月月AV| 色玖玖玖| 丁香婷婷久久| 米奇影视资源婷婷狠狠色激情欧美五月丁香 | 久久九九蜜| 欧美色图天堂网| 97婷婷五月| 久久综合九九| 婷婷狠狠干| 一本久久亚洲五月婷婷| 久久免费试看120秒| 少妇2做爰HD韩国电影| 亚洲午夜电影| 激情五月www| 包操45分钟网站| 91九色国产熟女| 精品人妻在线免费观看| 人人草人人爱| 日本五月视频| 综合久久丁香婷婷,五月婷婷六月丁香,开心激情综合网,六月丁香在线观看,婷婷丁 | 婷婷五月天VI| 婷婷丁香十月| 人妻视频在线| 色婷婷五月中文字幕在线dvd| 777久久综合视频| 欧美日本国产欧美日本韩国99| 五月婷婷玖玖综合玖玖爱| 激情网五月天| 色欲av伊人久久大香线蕉影院| 丁香六月在线| 综合激情五月四射婷婷| 久久婷婷久久| 国产黄色av| 狠狠干最新地址| 综合婷婷| www激情| 99爱视频在线播放| 久久综合天天综合| 国产又黄又爽又激情不遮挡视频在线观看| 五月丁香五月丁香五月丁香五月丁香91| 亚洲妇女熟BBW| 99re在线观看| 欧美精品18| 91丨九色丨大屁股| 9久久久久| 丁香五月婷婷大香蕉| 婷婷五月天精品| 五月综合色播播丁香婷婷| 天天综合天天玩夜夜玩天天玩夜夜玩| 日韩狠狠色婷婷| 六月婷婷网| 色色精品色| 99综合视频在线| 色欲五月婷婷| 9999热在线免费观看| 激情五月天第四色| 9精品一区| 久久亭亭电影| 婷婷综合偷拍| 激情五月婷黄版| 99久久.www| 99久久五月丁香野外| 99热99| 香蕉视频性爱BB做爱| 久久婷婷网址| 日韩精品无码AV| 人人看人人97| 97色热| 色综合色| 蜜臀av无码久久久久久久久| 深爱五月中文字幕| 99视频这里只有久久精品 | 1024手机在线观看看片_日韩精品| 9月色婷婷| 天天色丁香| 91人碰| 婷婷五月日本| 成人短视频免费观看| 久久XX日本综合| 色网站9| 日韩av网站在线观看| 亚洲正能量欧美| 97偷拍在线视频| 久久9热| 在线观看av网站| 91综合视频在线| 国产亚洲99久久精品熟女| 人人操人| 久久婷婷夜| 精品激情| 26uuuu精品一区二区| 成人色色视频| 91九色视频在线观看| 久久最新色| 9久精品视频| 欧美激情综合| 久草热久草在线视频| 久综合九综合99| 五月天停停日日| 4399高清无码视频| 婷婷激情肏屄网| 婷婷狠狠五月综合| 另类小说五月天综合网| 五月天播播中文字幕 | 三级毛片7979| 婷婷五月天激情网址| 久久 这里只有精品1| 五月婷六月| 综合色久| 99在线免费观看| 久久99激情五月天| 久久婷婷五月丁香网| 婷婷五月天伊人在线| 成人色色视频| 91se在线视频| 涩五月婷婷| 91聚色综合网| 午夜天堂啪啪| 亚洲 六月 综合| 天天摸天天肏| 乱乱av| 欧美三级黄色片久久| 婷婷五月天另类视频| 天天天天天久久久久久| 婷婷四色五月| 久久久久久久久月丁| 综合久久五月天| 影音先锋 91工厂| 91凹凸在线| 久久人妻少妇嫩草AV| 亚洲免费观看高清完整版AV线| 第四色五月激情网| 激情综合五月婷婷| 亚洲亚洲人成综合网络| 国产色网站| 色宗合久久五月婷婷| 欧美丁香婷婷五月天| 能看的av| 五月丁香久久综合色| 成人午夜无码视频| 99热九九热| 五月婷婷深深爱| 尤物一区二区| 一级片sese片.COM| 99只有这里有精品在线视频| 国产XXXX搡XXXXX搡麻豆| 第五婷婷伊人丁香色| 欧美性色五月天| 99热自拍| 99久久久久久久| 亚洲乱码成人| 六月丁丁香| 91艹人| 久久九九大香蕉电院| 综合五月婷婷| 色播色丁香五月| 丁香五月天婷婷久久| 中文字幕激情综合| 啪啪五月婷婷| 婷婷综合网伊人| 久碰视频| 五月丁香综合影院| 激情文学五月丁香六月婷婷| 99 频99热国里只有精品| 天天色99| 亚洲婷婷综合视频| 激情二色月| 涩婷婷五月天在线精品视频| 久热伊人91| 综合久久五月| 国产高潮A片羞羞视频涩涩| 狼人久草| 亚洲视频99| 人人操97| 婷婷月综合| 丁香激情五月少妇| 五月丁香六月婷婷亚洲综合| 狠狠狠狠狠干| 狠狠综合久久综合| 婷婷六月色播| 91伦| 丁香六月激情综合啪啪| 99原创自拍视频在线观看| 新99色色色色色色| 婷婷成人五月天| 精a品a视a频| 思思热视频| 婷婷精品综合| 五月天激情综合网| 婷婷久久影院| 大香蕉99热| 五月天久久www| AV在线大香蕉| 色六月婷婷| 草综合14| 玖玖99精品视频| A久久| 五月丁香亚州综合网| 五月婷婷无码专区| 中国无码av| 亚美欧色影院| 五月婷A V在线| site:feetmall.com| 91精品久| 丁香五月在线观看| 国产成人精品一区二三区熟女在线| 深爱网深爱综合网| 午夜精品人妻无码一区二区三区 | 天天爽天天操| 久久九九玖玖| 五月丁香啪啪网| 欧美色色色色色色| 欧美日本va| 亚洲一级AV在线免费播放| 99热成人| 99热在线观看| av大香蕉| www.六月丁香看AV| 五月婷婷色色网址| AA久久| 五月婷婷无码| 色婷婷婷婷| 五丁香激情综合| 91色性感五月婷婷丁香| 操操操AV| 激情5月婷婷| 人人草人| 性欧美日本| 久久a热| 99久久综合网| www.1024久久| 久久色婷婷| 99丁香五月婷| 天天综合网~91| 五月丁香六月婷| WWW,激情五月天,COM| 久9视频| 激情综合色| 五月婷婷伊| 六月丁香综合| 欧美性爱五月天| 国产熟妇的荡欲午夜视频| 99久久大片| 午夜色婷婷| 五月天综合在线网| www激情com| 新97人人上人人| 大色鬼综合| 在线观看亚洲AV| 五月欧美色播| WWW、日本色丁香、co m| 97人人干人人操| 天天日天天操天天干| 人人操人人爰人人一天天碰夜夜拍夜夜爽-中国A级毛片天天看天天谢… | 热的无码综合视频| 激情av网| 国产欧美熟妇另类久久久| 五月丁香六月婷婷开心网| 91在线日| 免费碰碰视频久| 婷婷丁香六月影视| 五月婷婷黄色毛片| 婷婷久久综合久| 婷婷在线激情| 综合久久丁香婷婷,五月婷婷六月丁香,开心激情综合网,六月丁香在线观看,婷婷丁 | 婷婷色中文字幕| 天天综合久久| 婷婷伊人网| 人人看人人草人人摸| 99色.com| 天天做天天爽| 日日撸天天干| 久久99看免费| 美国少妇性做爰| 五月丁香啪啪啪啪| 五月天婷婷丁香社区| 怕怕視頻| 色综合香蕉视频| 亚洲人人操| 精品九九视频| 99热日本| 久久99久久久久久久噜噜| 五月婷婷激情网| www,99热| 丁香五月亚洲AV| 第五婷婷伊人丁香| 日韩精品视频中文字幕| 99性色| 六月丁香综合| 五月天综合区| 久久欧洲久久| 99热在线观看99| 五月丁香综合精品欧美| 日本狠狠色| 亚洲婷婷丁香| 五月激情婷婷丁香| 色综合久久天天综合网| 五月丁香六月综合情在线观看| 碰碰碰91| 日韩av在线播放综合网| 成人网站在线观看视频| 丁香五月骚喷水视频| 久久婷婷亚洲| 色九九九九| 久久久久久9热不雅视频| 久久久婷| 九九婷婷网五月天| www.99热视频| 欧美日韩成人在线网| 婷婷丁香视频在线观看免费| 精品激情| 久99视频在线观看| 骚五月婷婷| 五月婷婷六月综合| 五月婷婷久久久久| 操操熟女| 婷婷五月另类网站| 99丁香五月| 午夜不卡久久精品无码免费| 成人午夜天| 高清一区二区三区日本久| 婷婷五月色情天| 日韩十国产极品久久| 激情五月天色婷婷| 婷婷开心激情综合五月天| 色综合久久无码| 婷婷五月丁香激情图片| 少妇AB又爽又紧无码网站| 欧美S码亚洲码精品M码| 五月丁香啪啪啪| 天天操综合网| 色99色| 久久艹 五月天| 亚洲午夜成人av电影网| 丁香婷婷五月份| 五月婷婷色在线| 欧美婷婷色| 伊久大香蕉| 成人精品视频99在线观看免费| 久久九色| 日日干天天爽| 成人做爰高潮A片免费视频| 亚洲激情网| 九九在线热九九在线热99热| 国产精产国品一二三在观看| 激情丁香五月| 202丰满熟女妇大| 国产精品美女久久久久AV超清 | 五月丁香亚洲婷婷| 五月婷亚洲精品| 婷婷五月天伊人| 亚洲欧美成人在线| 天天做天天爽| 97人妻碰碰中文无码久热丝袜| 国产无套精品一区二区| 色婷婷激情| 91av传媒高清在线视频网| 夜夜操狠狠操| 狠狠精品干练久久久无码中文字幕 | 婷婷五月天黄色| 六月丁香婷婷色狠狠久久| WWW.五月天9999| 婷婷综合激情五月综合| 五月天婷婷丁香六月| 久热免费| 九九色精品| 成人做爰高潮A片免费视频| 九九九九热99超碰| 玖玖婷婷色| 九九黄色网| AV天堂婷婷五月天| 另类小说色婷婷| 成人精品在线观看| 九久久九精品视频| 99丁香五月婷婷在线| 粉嫩av懂色av蜜臀av熟妇| \\五月天婷婷激情| 婷婷丁香五月欧美人| 丁香五月天的网址。| 在线成人视频免费| 人人摸人人操人人爽| 色狠狠色噜噜AV天堂五区| 色优久久| 99久久婷婷国产综合亚洲| 日本在线视频播放91| 久久这里只有精品07| 天天天天天久久久久久| 99九无网码| 大香蕉AV在线| 在线中文AV| 极品少妇XXXX精品少妇偷拍| 欧美性猛交99久久久久99按摩| 91热久| 五月丁香婷婷色| 六月丁香婷婷在线波多| 婷婷五月激情视频在线| 九九精品热| 五月久久丁香| 色五月天堂| WWW.夜夜| 五月丁香六月| 高清无码入口| 亚洲国产成人AV在线| 超级碰碰碰97免费| 在线综合婷婷| 五月综合丁香婷婷| 中文字幕乱码亚洲精品一区| 婷婷丁香五月社区亚洲| 天天肏视频| 婷婷五月丁香六月伊人网| 丁香五月播播| 亚洲日韩一页精品发布| 欧美在线ee日韩| av九九| 狠狠xx| 国产亚洲精品AAAA片APP| 久久免费少妇高潮99精品| 色婷婷久久综合| 精品九九九久| 操操日韩| 性爱电影科技贸易有限公司| 国产精品色婷婷久久久精品| 狠狠色婷婷| 亚洲五月天婷婷| 国产高潮A片羞羞视频涩涩| 国产AV不卡福利| 色999;丁香五月| 丁香五月婷婷在线| 欧美网站视频4399| 思思99热这里只有精品6| 国产亚洲99久久精品| 午夜福利8055| 五月天色五月天| 一起草av| 96精品国产综合久久久久久| 色噜噜狠狠色综合成人99| 色丁香婷婷| 六月丁香啪啪| 久久九九精彩| 婷婷操逼网| 人人爽天天爽| 婷婷伊人久久| 无码99| 免费观看全黄做爰的视频| 激情色色| 久热69| 婷婷伊人五月丁香天堂网| 天天爽天天干天天| 亭亭玉月丁香| 丁香五月五月婷婷欧美大香蕉| www.久久99| 色欲丁香| 婷婷综合另类| 婷婷六月视频| 婷婷五月在线影院| 日日射天天射| 五月丁香综合激情网| 色婷婷久久久| 久久免片| 1024在线观看免费视频| 青青福利网| 九八Av| 综合狠狠干| 免费视频无码| 丁香六月婷婷久久高清| 人妻久久久久久久 | 丁香五月五月婷婷| 五月婷婷99热| 欧美婷婷五月丁香| 婷婷五月激情五月丁香五月| 可以免费看的AV网站| 国产99久9在线+|+传媒| 丁香综合网| 超碰69天堂| 深爱五月日韩| 青青草原亚洲久| 99精品爱| 婷婷亚洲综合| 色欲久久综合| 九九视频在线| 久久九九视频网站| 久99视频| 5月婷婷6月丁香aV| 欧美大肥婆大肥BBBBB| 六月综和久久| 成人做爰高潮A片免费视频| 五月婷伊人| 久久五月婷6 9| 丁香五月综合福利视频导航| 国产精品a无线| 淫荡工a| 操b视频在线观看一区二区| 性爱视频久久| 99精品视频偷拍| 色色色色色色色色网站| 6月丁香婷婷| 99无码视频| 五月婷婷干| 五月婷久久综合| 精品99在线观看| 色欲色天天香综合| 99热久| 天天激情夜夜干| 182无码| 天天色综合综合| 亚洲成人无码免费| 91九色精品熟女内射| 色婷婷中文字母五月丁香| 久久精品国产一区二区三区四区| 五月天六月丁香| 色欲色欲久久宗合网| 小视频久久久aaa| 五月天婷婷綜合院| 久久婷婷五月天| 伊人深爱综合| 加勒比日本一区二区三区| 久九色| 婷婷 激情 五月| 成 人片 黄 色 大 片| 26UUU在线观看| 激情五月色综合网| 99热在线观看免费精品| 奸逼视频| 性爱激情小说AV五月丁香花| 91婷婷丁香| 婷婷五月天激情网址| 五月婷婷丁香| 91人人网| 精品影院| 五月婷婷真爱激情网| 97久久人人| 99热66| 99er精品视频| 亚洲超级碰| 任你草|