[發明專利]一種數據通信方法和裝置有效
| 申請號: | 201210516615.0 | 申請日: | 2012-12-05 |
| 公開(公告)號: | CN103036957A | 公開(公告)日: | 2013-04-10 |
| 發明(設計)人: | 趙琪;楊振章 | 申請(專利權)人: | 華為技術有限公司 |
| 主分類號: | H04L29/08 | 分類號: | H04L29/08 |
| 代理公司: | 深圳市深佳知識產權代理事務所(普通合伙) 44285 | 代理人: | 唐華明 |
| 地址: | 518129 廣東*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 數據通信 方法 裝置 | ||
技術領域
本發明屬于網絡技術領域,尤其涉及一種數據通信方法和裝置。
背景技術
隨著當前網絡技術的快速發展,很多傳統的服務已經轉移到網絡環境中實施,例如金融交易、企業管理等。由于網絡環境的脆弱性,常導致服務器需要維護,一旦服務器處于維護狀態,如果有沒采取必要的措施,那么所提供的服務就會被中斷較長的時間。而對于企業級的應用來說,這樣長時間的服務的中斷是不能接受的。
為了克服上述問題,現今的高可用集群使服務器系統能夠不間斷地運行,該服務器系統一般由兩個或兩個以上的節點組成。假如某個節點需要維護,該節點上的服務進程會被實時遷移到備用節點上繼續服務。
對服務進程進行實時遷移,需要在服務器上暫停該待遷移的進程,并將該進程的的執行狀態信息保存到檢查點(checkpoint)文件中,然后停止該進程。之后在備用節點上新建一個進程并從上面得到的檢查文件中讀入原有進程的執行狀態信息,從而繼續提供服務。
服務進程在運行過程中,往往包含一個監聽套接字來接收客戶端的連接,并擁有若干打開的套接字正與已經建立連接的客戶端傳輸數據。因此在將服務進程進行遷移的過程中,也需要對該服務進程的打開套接字進行遷移,因此需要將該服務進程的打開套接字狀態信息保存到檢查點文件中。
在對套接字進行遷移的過程中,網絡協議棧仍然正常工作。從一個服務進程的遷移開始,到該服務進程的遷移結束(即該服務進程在備用節點上被重新建立)的期間內,數據包是無法正常接收的,但客戶端又不會意識到它所發送的數據包未被正常接收,所以客戶端在這段期間內所發送的數據包將丟失。
此外,將遷移過程中,將停止原服務進程,客戶端將收到服務器發送的FIN數據包,并同時關閉停止的服務進程的套接字,客戶端由于感知到進程的遷移導致的連接斷開因此需要重新連接服務器。
發明內容
有鑒于此,本發明的目的在于提供一種基于套接字的數據通信方法和裝置,能夠避免因為進程遷移導致的數據包丟失的現象。
為實現上述目的,本發明的一個實施例提供一種基于套接字的數據通信方法,包括:
在接收到客戶端發送的數據包后,尋找該數據包的宿主套接字;
尋找所述宿主套接字的接收隊列的尾端的數據包,判斷所述尾端的數據包的檢查點標志位是否被置為表示該接收隊列內容已經被檢查點進程保存到檢查點文件中的值;
如果所述尾端數據包的檢查點標志位被置為表示該接收隊列內容已經被檢查點進程保存到檢查點文件中的值,則直接丟棄接收到的數據包。
另一方面,本發明實施例還提供一種數據通信裝置,包括:
數據包接收單元,用于接收客戶端發送的數據包;
套接字查找單元,用于尋找所述接收到的數據包的宿主套接字;
數據包查找單元,用于尋找所述宿主套接字的接收隊列的尾端的數據包;
判斷單元,用于判斷所述尾端的數據包的檢查點標志位是否被置為表示該接收隊列內容已經被檢查點進程保存到檢查點文件中的值;
丟棄單元,用于當所述判斷單元的判斷結果為是,則丟棄接收到的數據包。
根據本發明實施例,在接收到數據包后,首先檢查該數據包的宿主套接字的接收隊列尾端的數據包中的檢查點標志位,是否被置為表示該宿主套接字的接收隊列內容已經被檢查點進程保存到檢查點文件中的值,如果是,則會將接收到的數據包丟棄,進而可以使得客戶端意識到該客戶端所發送的數據未被正常接收,進行后續的重發步驟,不會產生丟包的問題。
附圖說明
為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖是本發明的一些實施例,對于本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。
圖1是本發明實施例提供一種基于套接字的數據通信方法的示意圖;
圖2是本發明提供的基于套接字的數據通信方法的一個具體實施例的示意圖;
圖3和圖4分別是修改前和修改后的TCP數據包的格式示意圖;
圖5是本發明實施例中提供的一種關閉套接字的流程圖;
圖6是本發明實施例提供的一種數據通信裝置的示意圖。
具體實施方式
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于華為技術有限公司,未經華為技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201210516615.0/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:層疊型電池
- 下一篇:基于柔性聚合物壓電材料的多模態復合式能量采集器





