[發明專利]一種TCP長連接通信系統及方法在審
| 申請號: | 201310662760.4 | 申請日: | 2013-12-09 |
| 公開(公告)號: | CN103618741A | 公開(公告)日: | 2014-03-05 |
| 發明(設計)人: | 劉志堅 | 申請(專利權)人: | 惠州華陽通用電子有限公司 |
| 主分類號: | H04L29/06 | 分類號: | H04L29/06 |
| 代理公司: | 廣州三環專利代理有限公司 44202 | 代理人: | 章蘭芳 |
| 地址: | 516005 廣東省惠州市東江*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 tcp 連接 通信 系統 方法 | ||
技術領域
本發明涉及網絡通信技術領域,具體涉及一種抽象的、事件驅動的、異步的、位于各種傳輸協議(如TCP/IP和UDP/IP)之上的TCP長連接通信系統及方法。
背景技術
基于TCP/IP進行網絡通信的系統應用中,在進行真正的讀寫操作之前,服務端(Server)與客戶端(Client)之間必須建立一個連接,當讀寫操作完成后,雙方不再需要這個連接時它們可以釋放這個連接,連接的建立需要三次握手,而釋放則需要四次握手,在每一次的TCP網絡通信過程中,每個連接的建立和釋放都是需要資源消耗和時間消耗的,如圖1、2所示:
1、建立TCP連接的三次握手:
第一次握手:建立連接時,客戶端發送SYN包(SYN=J)到服務器,并進入SYN_SEND狀態,等待服務器確認;
第二次握手:服務器收到SYN包,必須確認客戶的SYN(ack=J+1),同時自己也發送一個SYN包(SYN=K),即SYN+ACK包,此時服務器進入SYN_RECV狀態;
第三次握手:客戶端收到服務器的SYN+ACK包,向服務器發送確認包ACK(ack=K+1),此包發送完畢,客戶端和服務器進入確定(ESTABLISHED)狀態,完成三次握手。
完成三次握手,客戶端與服務器開始傳送數據。
2、釋放TCP連接的四次握手:
數據傳輸結束后,通信的雙方都可釋放連接,客戶應用進程先向其TCP發出連接釋放報文段,并停止再發送數據,主動關閉TCP連接。
第一次握手:客戶端發送FIN包,用來關閉客戶端到服務器的數據傳送;
第二次握手:服務器接收FIN包,發回ACK包,確認序號為收到的序號M加1,一個FIN包占用一個序號;
第三次握手:服務器關閉客戶端的連接,發送FIN包給客戶端;
第四次握手:客戶端發回ACK報文確認,并將確認序號設置為收到序號加1。
上述傳統的TCP短連接網絡通信模式中,如:Web,都是由客戶端(Client)主動向服務端(Server)發送連接請求,服務端接收請求并回應客戶端,雙方建立連接,完成一次讀寫操作,雙方任何一個都可以發起關閉(close)操作,如圖2所示,一般都是客戶端先發起關閉操作。TCP短連接通信模式一般只會在客戶端與服務端之間傳遞一次讀寫操作后即關閉連接,如需再次進行讀寫操作,則要再次建立連接并釋放連接,而每個連接的建立和釋放都需要資源消耗和時間消耗的,因此,TCP短連接通信模式實時性不高。
而物聯網時代特別是基于GIS的車輛位置監控等應用場景中,客戶端(Client)端與服務端(Server)的數據交換實時性要求非常高,同時還要求服務端(Server)能主動向客戶端(Client)發送請求或指令數據。
在TCP長連接通信模式中,客戶端向服務端發起連接請求,服務端接收客戶端連接請求,雙方建立連接??蛻舳伺c服務端完成一次讀寫之后,它們之間的連接并不會主動關閉,后續的讀寫操作會繼續使用這個連接。因此,TCP長連接通信模式可實現數據傳輸的高實時性。
綜上所述,單純的TCP短連接通信模式已經不能滿足要求了,尋找支持高并發、高實時性、可動態擴展的基于TCP長連接通信模式的技術方案已經成為
Socket通信領域新的發展方向。
發明內容
本發明的目的是通過Java網絡接口對象(Network?Interface?Object,NIO)提供一個抽象的、事件驅動的、異步的位于各種傳輸協議(如TCP/IP和UDP/IP)之上的TCP網絡通信方案,具體為支持高并發、高實時性、可動態擴展的TCP長連接通信系統及方法。
本發明是通過以下技術方案來實現的:
本發明一方面提供一種TCP長連接通信系統,包括:
TCP通信模塊,接收終端設備發送的數據請求,根據請求信息調用業務邏輯處理模塊中相應的業務邏輯處理接口,并接收消息、數據管理模塊返回的運算結果,向終端設備發送TCP通信數據、指令或控制語法;
消息、數據管理模塊,用于調用業務邏輯處理接口進行消息、數據的管理及運算;
信息數據存儲模塊,使用關系型數據庫或非關系型數據庫,管理設備信息及通信系統業務數據;
分布式內存緩存模塊,為開源分布式內存緩存系統Memcached;
負載分流模塊,用于動態計算分布式集群內各服務器當前建立TCP連接的有效連接數及資源消耗,接收到新的TCP連接請求時,動態的將當前請求分派到當前負載最小的服務器上。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于惠州華陽通用電子有限公司,未經惠州華陽通用電子有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310662760.4/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種改進的藍牙A2DP高保真音頻傳輸協議
- 下一篇:一種智能交通網絡





