網(wǎng)絡(luò)延遲導(dǎo)致數(shù)據(jù)補償提交的解決方案
2022-11-27 17:26 作者:bili_52639594022 | 我要投稿
解決方案一:
????? (1)為了保證數(shù)據(jù)包的可靠傳遞,發(fā)送方必須把已發(fā)送的數(shù)據(jù)包保留在緩沖區(qū);
????? (2)并為每個已發(fā)送的數(shù)據(jù)包啟動一個超時定時器;
????? (3)如在定時器超時之前收到了對方發(fā)來的應(yīng)答信息(可能是對本包的應(yīng)答,也可以是對本包后續(xù)包的應(yīng)答),則釋放該數(shù)據(jù)包占用的緩沖區(qū);
????? (4)否則,重傳該數(shù)據(jù)包,直到收到應(yīng)答或重傳次數(shù)超過規(guī)定的最大次數(shù)為止。
????? (5)接收方收到數(shù)據(jù)包后,先進行CRC校驗,如果正確則把數(shù)據(jù)交給上層協(xié)議,然后給發(fā)送方發(fā)送一個累計應(yīng)答包,表明該數(shù)據(jù)已收到,如果接收方正好也有數(shù)據(jù)要發(fā)給發(fā)送方,應(yīng)答包也可方在數(shù)據(jù)包中捎帶過去。
處理方法二:
????? ????操作加鎖 (token令牌驗證機制)
????? ????唯一業(yè)務(wù)ID????? (先生成訂單數(shù)據(jù) 通過獲取訂單編號 實現(xiàn)交易數(shù)據(jù)的處理? 在提交數(shù)據(jù)的時候借助于redis的事務(wù)操作機制)
????? ????獲取業(yè)務(wù)處理結(jié)果 (更具處理結(jié)果修改訂單狀態(tài))
?????
?
?
?
?
?
?
標(biāo)簽:
網(wǎng)絡(luò)延遲導(dǎo)致數(shù)據(jù)補償提交的解決方案的評論 (共 條)
