新四季網

應用層到TCP層異步Socket數據傳輸方法及系統的製作方法

2023-08-11 13:03:36

專利名稱:應用層到TCP層異步Socket數據傳輸方法及系統的製作方法
技術領域:
本申請涉及半導體網絡通信技術,特別涉及一種應用層到TCP層異步Socket數據傳輸方法及系統。
背景技術:
TCP/IP協議保障了數據傳輸的到達和準確率,但未對應用層數據提交的完整性進行保障。在進行TCP數據流式傳輸的過程中,數據通常具備應用層協議,同步Socket中,在應用層發送數據時,會阻塞調用,直到所有的數據都提交到TCP層,但在異步Socket中,TCP層只接收能接收的數據容量,對於超出其接收範圍的,TCP層將不再接收,調用會立即返回。在TCP層進行數據遠程發送後,會空閒出空間,此時能夠再次接收外來數據,但需要應用方再次調用進行數據提交,方能提交數據到TCP層。可見TCP/IP協議在應用層發送數據時,無法保障在異步Socket傳輸中,完整的提交應用層協議數據到TCP層。例如,在GPRS (GeneralPacket Radio Service,通用分組無線服務技術)的網絡傳輸中,5KB/S的數據帶寬即可造成網絡的阻塞,進而造成到達TCP層的應用層協議數據的不完整。

發明內容
本申請要解決的技術問題是,保障TCP/IP協議在應用層發送數據時,在異步Socket傳輸中,完整的提交應用層協議數據到TCP層。為解決上述技術問題,本申請提供了一種應用層到TCP層異步Socket數據傳輸方法,包括以下步驟:一.設置一緩存器,用於緩存發送數據;設置一數據發送驅動模塊,用於每隔一定的時間檢查所述緩存器是否存有數據,如果存有數據,則依先進先出順序推送不超過設定量的數據到TCP層;二.接收應用層的發送調用,如果接收到應用層的發送調用則進行步驟三;三.判斷應用層的待發送數據的大小是否超過所述緩存器的總存儲空間,如果超過則進行步驟二,否則進行步驟四;四.判斷所述緩存器中是否緩存有數據,如果有則進行步驟五,否則進行步驟九;五.從所述緩存器中依先進先出順序推送不超過設定量的數據到TCP層;六.判斷所述緩存器中是否還緩存有數據,如果有則進行步驟七,否則進行步驟九;七.判斷應用層的待發送數據的大小是否超過所述緩存器的剩餘存儲空間,如果超過則進行步驟二,否則進行步驟八;八.保存待發送數據到所述緩存器,然後進行步驟二 ;九.推送不超過設定量的待發送數據到TCP層,如果待發送數據全部推送完畢,則進行步驟二,否則將剩餘的待發送數據保存到所述緩存器,然後進行步驟二。
為解決上述技術問題,本申請還提供了一種應用層到TCP層異步Socket數據傳輸系統,包括緩存器、數據發送驅動模塊、應用層調用接口模塊、數據控制模塊;所述緩存器,用於緩存發送數據;所述數據發送驅動模塊,用於每隔一定的時間檢查所述緩存器是否存有數據,如果存有數據,則依先進先出順序推送不超過設定量的數據到TCP層;所述應用層調用接口模塊,用於接收應用層的發送調用。所述數據控制模塊,用於在所述應用層調用接口模塊接收到應用層的發送調用後,控制將應用層的待發送數據直接推送到TCP層,或者保存到所述緩存器。所述數據控制模塊的具體工作過程如下:一.如果所述應用層調用接口模塊接收到應用層的發送調用,則進行步驟二 ;二.判斷應用層的待發送數據的大小是否超過所述緩存器的總存儲空間,如果未超過則進行步驟三;三.判斷所述緩存器中是否緩存有數據,如果有則進行步驟四,否則進行步驟八;四.從所述緩存器中依先進先出順序推送不超過設定量的數據到TCP層;五.判斷所述緩存器中是否還緩存有數據,如果有則進行步驟六,否則進行步驟八;六.判斷應用層的待發送數據的大小是否超過所述緩存器的剩餘存儲空間,如果未超過則進行步驟七;七.保存待發送數據到所述緩存器;八.推送不超過設定量的待發送數據到TCP層,如果待發送數據未能全部推送完畢,則將剩餘的待發送數據保存到所述緩存器。本申請的應用層到TCP層異步Socket數據傳輸方法及系統,應用層的待發送數據可能直接被提交到TCP層,也可能被緩存到緩存器中,甚至可能部分被提交進TCP層,部分緩存在緩存器。被緩存在緩存器中的數據,無需應用層的幹預,將會隨著TCP層的數據空間的空閒,主動被推送進TCP層。本申請的應用層到TCP層異步Socket數據傳輸方法及系統,能控制TCP/IP協議應用層的待發送數據完整進入或完全不進入TCP層,並為數據主動推送到TCP層提供驅動能力,從而在異步Socket的數據發送中,保障了應用層數據發送的完整性。


為了更清楚地說明本申請的技術方案,下面對本申請所需要使用的附圖作簡單的介紹,顯而易見地,下面描述中的附圖僅僅是本申請的一些實施例,對於本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。圖1是本申請的應用層到TCP層異步Socket數據傳輸方法一實施例示意圖;圖2是本申請的應用層到TCP層異步Socket數據傳輸系統一實施例示意圖。
具體實施例方式下面將結合本申請實施例中的附圖,對本申請實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本申請一部分實施例,而不是全部的實施例。應當理解,此處所描述的優選實施例僅用於說明和解釋本申請,並不用於限定本申請。並且在不衝突的情況下,本申請中的實施例及實施例中的特徵可以相互組合。基於本申請中的實施例,本領域普通技術人員所獲得的所有其他實施例,都屬於本申請保護的範圍。實施例一應用層到TCP層異步Socket數據傳輸方法,如圖1所示,包括以下步驟:一.設置一緩存器,用於緩存發送數據;設置一數據發送驅動模塊,用於每隔一定的時間檢查所述緩存器是否存有數據,如果存有數據,則依先進先出順序推送不超過設定量的數據到TCP層;二.接收應用層的發送調用,如果接收到應用層的發送調用則進行步驟三;三.判斷應用層的待發送數據的大小是否超過所述緩存器的總存儲空間(如100KB),如果超過則進行步驟二,否則進行步驟四;四.判斷所述緩存器中是否緩存有數據,如果有則進行步驟五,否則進行步驟九;五.從所述緩存器中依先進先出順序推送不超過設定量的數據到TCP層;六.判斷所述緩存器中是否還緩存有數據,如果有則進行步驟七,否則進行步驟九;七.判斷應用層的待發送數據的大小是否超過所述緩存器的剩餘存儲空間,如果超過則進行步驟二,否則進行步驟八;八.保存待發送數據到所述緩存器,然後進行步驟二 ;九.推送不超過設定量的待發送數據到TCP層,如果待發送數據全部推送完畢,則進行步驟二,否則將剩餘的待發送數據保存到所述緩存器,然後進行步驟二。該應用層到TCP層異步Socket數據傳輸方法,數據推送到TCP層有兩個流程:應用層調用觸發以及數據發送驅動觸發。應用層調用觸發,在接收到應用層的發送調用後,首先對應用層的待發送數據的大小進行判斷,如果數據量過大,超出了應用層緩存器的總存儲空間,將不對該待發送數據進行發送,因為一旦發送一個字節後,剩餘的字節無法保存進入緩存器中,那麼後續的數據將無法保存進緩存,從而無法對待發送數據的完整性提供保障。如果應用層的待發送數據的大小超過了緩存器的剩餘存儲空間,因上述同樣的原因,同樣將不對該待發送數據進行發送。當從所述緩存器中推送設定量數據到TCP層後,如果緩存器中還存在數據,那麼待發送數據將直接保存進緩存;如果緩存器中不存在數據,則直接把待發送數據推送到TCP層,如果不能全部推送,剩餘的數據將保存到緩存器中,等待下次再觸發(應用層調用觸發或數據發送驅動觸發)時再行發送。數據發送驅動觸發,每隔一定的時間檢查所述緩存器是否存有數據,如果存有數據,則依先進先出順序推送不超過設定量的數據到TCP層。實施例二應用層到TCP層異步Socket數據傳輸系統,如圖2所示,包括緩存器、數據發送驅動模塊、應用層調用接口模塊、數據控制模塊;所述緩存器,用於緩存發送數據;所述數據發送驅動模塊,用於每隔一定的時間檢查所述緩存器是否存有數據,如果存有數據,則依先進先出順序推送不超過設定量的數據到TCP層;
所述應用層調用接口模塊,用於接收應用層的發送調用,所述應用層調用接口模塊提供基於不同數據結構的多個應用層發送調用接口。所述數據控制模塊,用於在所述應用層調用接口模塊接收到應用層的發送調用後,控制將應用層的待發送數據直接推送到TCP層,或者保存到所述緩存器,具體工作過程如下:一.如果所述應用層調用接口模塊接收到應用層的發送調用,則進行步驟二 ;二.判斷應用層的待發送數據的大小是否超過所述緩存器的總存儲空間(如100KB),如果未超過則進行步驟三;三.判斷所述緩存器中是否緩存有數據,如果有則進行步驟四,否則進行步驟八;四.從所述緩存器中依先進先出順序推送不超過設定量的數據到TCP層;五.判斷所述緩存器中是否還緩存有數據,如果有則進行步驟六,否則進行步驟八;六.判斷應用層的待發送數據的大小是否超過所述緩存器的剩餘存儲空間,如果未超過則進行步驟七;七.保存待發送數據到所述緩存器;八.推送不超過設定量的待發送數據到TCP層,如果待發送數據未能全部推送完畢,則將剩餘的待發送數據保存到所述緩存器。該應用層到TCP層異步Socket數據傳輸系統,所述數據控制模塊對由所述應用層調用接口模塊傳遞進來的應用層的待發送數據,進行數據流程的控制。如果一次性發送數據量過大或者當前的緩存器剩餘存儲空間不足以放置待發送數據,數據將不被發送,否則如果緩存器中緩存有數據,則將先推送緩存器中的數據到TCP層,然後再發送當前應用層調用接口模塊傳遞進來的應用層的待發送數據接口提交的數據。所述緩存器用於緩存應用層的待發送數據,如果應用層的數據發送速度不過高,通常該緩存器中不會有數據,但是如果發送的數據發送速度過高,那麼在該緩存器中存放未能推送到TCP層的數據。所述數據發送驅動模塊主要用於對緩存器中的數據進行主動推送,從而在無需應用層幹預的情況下,達到對數據發送的主動驅動。本申請的應用層到TCP層異步Socket數據傳輸方法及系統,應用層的待發送數據可能直接被提交到TCP層,也可能被緩存到緩存器中,甚至可能部分被提交進TCP層,部分緩存在緩存器。被緩存在緩存器中的數據,無需應用層的幹預,將會隨著TCP層的數據空間的空閒,主動被推送進TCP層。本申請的應用層到TCP層異步Socket數據傳輸方法及系統,能控制TCP/IP協議應用層的待發送數據完整進入或完全不進入TCP層,並為數據主動推送到TCP層提供驅動能力,從而在異步Socket的數據發送中,保障了應用層數據發送的完整性。以上所述僅為本申請的較佳實施例而已,並不用以限制本申請,凡在本申請的精神和原則之內,所做的任何修改、等同替換、改進等,均應包含在本申請保護的範圍之內。
權利要求
1.一種應用層到TCP層異步Socket數據傳輸方法,其特徵在於,包括以下步驟: 一.設置一緩存器,用於緩存發送數據;設置一數據發送驅動模塊,用於每隔一定的時間檢查所述緩存器是否存有數據,如果存有數據,則依先進先出順序推送不超過設定量的數據到TCP層; 二.接收應用層的發送調用,如果接收到應用層的發送調用則進行步驟三; 三.判斷應用層的待發送數據的大小是否超過所述緩存器的總存儲空間,如果超過則進行步驟二,否則進行步驟四; 四.判斷所述緩存器中是否緩存有數據,如果有則進行步驟五,否則進行步驟九; 五.從所述緩存器中依先進先出順序推送不超過設定量的數據到TCP層; 六.判斷所述緩存器中是否還緩存有數據,如果有則進行步驟七,否則進行步驟九; 七.判斷應用層的待發送數據的大小是否超過所述緩存器的剩餘存儲空間,如果超過則進行步驟二,否則進行步驟八; 八.保存待發送數據到所述緩存器,然後進行步驟二; 九.推送不超過設定量的待發送數據到TCP層,如果待發送數據全部推送完畢,則進行步驟二,否則將剩餘的待發送數據保存到所述緩存器,然後進行步驟二。
2.根據權利要求1所述的應用層到TCP層異步Socket數據傳輸方法,其特徵在於,所述緩存器的總存儲空間為100KB。
3.一種應用層到TCP層異步Socket數據傳輸系統,其特徵在於,包括緩存器、數據發送驅動模塊、應用層調用接口模塊、數據控制模塊; 所述緩存器,用於緩存發送數據; 所述數據發送驅動模塊,用於每隔一定的時間檢查所述緩存器是否存有數據,如果存有數據,則依先進先出順序推送不超過設定量的數據到TCP層; 所述應用層調用接口模塊,用於接收應用層的發送調用。
所述數據控制模塊,用於在所述應用層調用接口模塊接收到應用層的發送調用後,控制將應用層的待發送數據直接推送到TCP層,或者保存到所述緩存器。
4.根據權利要求3所述的應用層到TCP層異步Socket數據傳輸系統,其特徵在於, 所述數據控制模塊的具體工作過程如下: 一.如果所述應用層調用接口模塊接收到應用層的發送調用,則進行步驟二 ; 二.判斷應用層的待發送數據的大小是否超過所述緩存器的總存儲空間,如果未超過則進行步驟三; 三.判斷所述緩存器中是否緩存有數據,如果有則進行步驟四,否則進行步驟八; 四.從所述緩存器中依先進先出順序推送不超過設定量的數據到TCP層; 五.判斷所述緩存器中是否還緩存有數據,如果有則進行步驟六,否則進行步驟八; 六.判斷應用層的待發送數據的大小是否超過所述緩存器的剩餘存儲空間,如果未超過則進行步驟七; 七.保存待發送數據到所述緩存器; 八.推送不超過設定量的待發送數據到TCP層,如果待發送數據未能全部推送完畢,則將剩餘的待發送數據保存到所述緩存器。
5.根據權利要求3所述的應用層到TCP層異步Socket數據傳輸系統,其特徵在於,所述應用層調用接口模塊提供基於不同數據結構的多個應用層發送調用接口。
6.根據權利要求3所述的應用層到TCP層異步Socket數據傳輸系統,其特徵在於,所述緩存器的總存儲空間為100KB。 ·
全文摘要
本申請公開了一種應用層到TCP層異步Socket數據傳輸方法,數據推送到TCP層有兩個流程應用層調用觸發以及數據發送驅動觸發;應用層調用觸發,在接收到應用層的發送調用後,如果緩存器中不存在數據,則直接把待發送數據推送到TCP層,如果緩存器中存在數據並且應用層的待發送數據的大小小於緩存器的剩餘存儲空間,則將待發送數據將保存進緩存;等待下次應用層調用觸發或數據發送驅動觸發時再行發送;數據發送驅動觸發,每隔一定的時間檢查緩存器是否存有數據,如果存有數據,則推送數據到TCP層。本申請還公開了一種應用層到TCP層異步Socket數據傳輸系統。本申請,能保障TCP/IP協議在應用層發送數據時,在異步Socket傳輸中,完整的提交應用層協議數據到TCP層。
文檔編號H04L29/06GK103179087SQ20111043186
公開日2013年6月26日 申請日期2011年12月21日 優先權日2011年12月21日
發明者徐新, 吳建俊 申請人:上海飛田通信技術有限公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀