業(yè)務(wù)的穩(wěn)定性。
[0125]4.本發(fā)明實施例中,將第一 socket對應(yīng)的第一五元組值與第二 socket對應(yīng)的第二五元組值進行對比;如果所述第一五元組值與所述第二五元組值相同,則恢復(fù)所述第一socket與所述第二 socket的連接。這是因為,只有五元組值相同才能保證是復(fù)位連接,而不是建立的新的連接,通過該過程,是的復(fù)位socket連接前后,五元組屬性值不變化,讓業(yè)務(wù)模塊以及其他相關(guān)模塊感知不到socket連接的變化。
[0126]需要說明的是,在本文中,諸如第一和第二之類的關(guān)系術(shù)語僅僅用來將一個實體或者操作與另一個實體或操作區(qū)分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關(guān)系或者順序。而且,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個〃 〃 〃 〃 〃 〃”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設(shè)備中還存在另外的相同因素。
[0127]以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進等,均應(yīng)包含在本發(fā)明保護的范圍之內(nèi)。
【主權(quán)項】
1.一種復(fù)位socket連接的方法,其特征在于,將客戶端的第一 socket和服務(wù)端的第二socket進行連接,進行所述客戶端和所述服務(wù)端間的數(shù)據(jù)傳輸,還包括: 確定所述客戶端和所述服務(wù)端間的數(shù)據(jù)傳輸異常; 設(shè)置所述第一 socket的狀態(tài)為暫停狀態(tài),并關(guān)閉所述第一 socket的連接; 確認(rèn)所述第一 socket的五元組記錄的第一五元組值; 將所述第一五元組值綁定連接請求; 將所述綁定了所述第一五元組值的連接請求發(fā)送給所述第二 socket。2.根據(jù)權(quán)利要求1所述的方法,其特征在于,進一步包括:設(shè)置定時器,并為所述定時器設(shè)置超時時間; 在所述關(guān)閉所述第一 socket的連接之后,在所述確認(rèn)所述第一 socket的五元組記錄的第一五元組值之前,進一步包括: 設(shè)置所述第二 socket狀態(tài)為暫停狀態(tài),關(guān)閉所述第二 socket的連接; 啟動所述定時器; 所述將所述綁定了所述第一五元組值的連接請求發(fā)送給所述第二 socket,包括:在所述定時器設(shè)置的超時時間范圍內(nèi),將所述綁定了所述第一五元組值的連接請求發(fā)送給所述第二 socket。3.根據(jù)權(quán)利要求2所述的方法,其特征在于,在所述將所述綁定了所述第一五元組值的連接請求發(fā)送給所述第二 socket之后,進一步包括: 當(dāng)所述第一 socket和所述第二 socket成功連接時,停止所述定時器; 當(dāng)超出所述定時器設(shè)置的超時時間,所述第一 socket和所述第二 socket仍未成功連接時,向所述客戶端的業(yè)務(wù)模塊發(fā)送通知。4.根據(jù)權(quán)利要求1所述的方法,其特征在于,進一步包括:在所述第一socket設(shè)置第一緩存隊列; 在所述確定所述客戶端和所述服務(wù)端間的數(shù)據(jù)傳輸異常之后,進一步包括:將所述客戶端向所述服務(wù)端發(fā)送的數(shù)據(jù)請求存儲在所述第一緩存隊列; 在所述將所述綁定了所述第一五元組值的連接請求發(fā)送給所述第二 socket之后,進一步包括:當(dāng)所述第一 socket和所述第二 socket連接恢復(fù)后,將所述存儲在所述第一緩存隊列中的數(shù)據(jù)請求發(fā)送給所述服務(wù)端; 和/或, 進一步包括:在所述第二 socket設(shè)置第二緩存隊列; 在所述確定所述客戶端和所述服務(wù)端間的數(shù)據(jù)傳輸異常之后,進一步包括:將所述服務(wù)端向所述客戶端發(fā)送的數(shù)據(jù)存儲在所述第二緩存隊列; 在所述將所述綁定了所述第一五元組值的連接請求發(fā)送給所述第二 socket之后,進一步包括:當(dāng)所述第一 socket和所述第二 socket連接恢復(fù)后,將所述存儲在所述第二緩存隊列中的數(shù)據(jù)發(fā)送給所述客戶端; 和/或, 進一步包括:確定所述第二 socket記錄的第二五元組值; 在所述將所述綁定了所述第一五元組值的連接請求發(fā)送給所述第二 socket之后,進一步包括: 并將所述第一五元組值與所述第二 socket記錄的第二五元組值進行對比; 如果所述第一五元組值與所述第二五元組值相同,則恢復(fù)所述第一 socket與所述第二 socket的連接。5.根據(jù)權(quán)利要求1至4任一所述的方法,其特征在于,所述五元組值,包括:源IP地址、目的IP地址、源端口號、目的端口號和協(xié)議; 所述將所述第一五元組值綁定連接請求,包括:將所述源IP地址和所述源端口號綁定連接請求; 所述將所述綁定了所述第一五元組值的連接請求發(fā)送給所述第二 socket,包括:將所述綁定了源IP地址和源端口號連接請求,發(fā)送給所述目的IP地址、所述目的端口號和所述協(xié)議對應(yīng)的所述第二 socket。6.一種復(fù)位socket連接的裝置,其特征在于,包括: 第一確定單元,用于確定所述客戶端和所述服務(wù)端間的數(shù)據(jù)傳輸異常; 第一設(shè)置單元,在所述第一確定單元確定數(shù)據(jù)傳輸異常后,用于設(shè)置所述第一 socket的狀態(tài)為暫停狀態(tài),并關(guān)閉所述第一 socket的連接; 第二確定單元,用于確認(rèn)處于暫停狀態(tài)的所述第一 socket的五元組記錄的第一五元組值; 發(fā)送請求單元,用于將所述第二確定單元確認(rèn)的第一五元組值綁定連接請求,并將所述綁定了所述第一五元組值的連接請求發(fā)送給所述第二 socket。7.根據(jù)權(quán)利要求6所述的裝置,其特征在于,進一步包括:第二設(shè)置單元和定時器單元,其中, 所述第二設(shè)置單元,用于在所述第一 socket的狀態(tài)為暫停狀態(tài)時,設(shè)置所述第二socket狀態(tài)為暫停狀態(tài),關(guān)閉所述第二 socket的連接; 所述定時器單元,用于設(shè)置定時器,為所述定時器設(shè)置超時時間,并在所述第二 socket狀態(tài)為暫停狀態(tài)時,啟動所述定時器; 所述發(fā)送請求單元,用于在所述定時器單元為所述定時器設(shè)置的超時時間范圍內(nèi),將所述綁定了所述第一五元組值的連接請求發(fā)送給所述第二 socket。8.根據(jù)權(quán)利要求7所述的裝置,其特征在于,進一步包括:發(fā)送通知單元,其中, 所述定時器單元,進一步用于當(dāng)所述第一 socket和所述第二 socket成功連接時,停止所述定時器; 所述發(fā)送通知單元,用于當(dāng)超出所述定時器設(shè)置的超時時間,所述第一 socket和所述第二 socket仍未成功連接時,向所述客戶端的業(yè)務(wù)模塊發(fā)送通知。9.根據(jù)權(quán)利要求6所述的裝置,其特征在于,進一步包括:第一緩存單元,其中, 所述第一緩存單元,用于在所述第一 socket設(shè)置第一緩存隊列,在所述第一設(shè)置單元設(shè)置所述第一 socket處于暫停狀態(tài)時,將所述客戶端向所述服務(wù)端發(fā)送的數(shù)據(jù)請求存儲在所述第一緩存隊列;當(dāng)所述第一 socket和所述第二 socket連接恢復(fù)后,將所述存儲在所述第一緩存隊列中的數(shù)據(jù)請求發(fā)送給所述服務(wù)端; 和/或, 進一步包括:第二緩存單元,其中, 所述第二緩存單元,用于在所述第二 socket設(shè)置第二緩存隊列,在所述第一設(shè)置單元設(shè)置所述第一 socket處于暫停狀態(tài)時,將所述服務(wù)端向所述客戶端發(fā)送的數(shù)據(jù)存儲在所述第二緩存隊列;當(dāng)所述第一 socket和所述第二 socket連接恢復(fù)后,將所述存儲在所述第二緩存隊列中的數(shù)據(jù)發(fā)送給所述客戶端; 和/或, 進一步包括: 對比單元,用于確定所述第二 socket記錄的第二五元組值,并將所述第一五元組值與所述第二 socket記錄的第二五元組值進行對比; 如果所述第一五元組值與所述第二五元組值相同,則恢復(fù)所述第一 socket與所述第二 socket的連接。10.根據(jù)權(quán)利要求6至9任一所述的裝置,其特征在于,所述五元組值,包括:源IP地址、目的IP地址、源端口號、目的端口號和協(xié)議; 所述發(fā)送請求單元,用于將所述源IP地址和所述源端口號綁定連接請求,并將所述綁定了源IP地址和源端口號連接請求,發(fā)送給所述目的IP地址、所述目的端口號和所述協(xié)議對應(yīng)的所述第二 socket。
【專利摘要】本發(fā)明提供一種復(fù)位socket連接的方法和裝置,該方法包括:將客戶端的第一socket和服務(wù)端的第二socket進行連接,進行所述客戶端和所述服務(wù)端間的數(shù)據(jù)傳輸;確定所述客戶端和所述服務(wù)端間的數(shù)據(jù)傳輸異常;設(shè)置所述第一socket的狀態(tài)為暫停狀態(tài),并關(guān)閉所述第一socket的連接;確認(rèn)所述第一socket的五元組記錄的第一五元組值;將所述第一五元組值綁定連接請求;將所述綁定了所述第一五元組值的連接請求發(fā)送給所述第二socket,使復(fù)位socket連接具有自動性。
【IPC分類】H04L29/08, H04L29/06
【公開號】CN105049438
【申請?zhí)枴緾N201510474393
【發(fā)明人】李美欣
【申請人】浪潮電子信息產(chǎn)業(yè)股份有限公司
【公開日】2015年11月11日
【申請日】2015年8月5日