新四季網

一種支持多平臺網絡通訊處理系統及方法

2023-04-22 16:04:21 1

專利名稱:一種支持多平臺網絡通訊處理系統及方法
技術領域:
本發明屬於網絡通信領域,具體涉及一種支持多平臺網絡通訊處理系統及方法。
背景技術:
TCP和UDP是TCP/IP協議中的兩個傳輸層協議,它們使用IP路由功能把數據包發送到目的地,從而為應用程式及應用層協議(包括HTTP、SMTP、SNMP、FTP和Telnet)提供網絡服務。TCP提供的是面向連接的、可靠的數據流傳輸,而UDP提供的是非面向連接的、不可靠的數據流傳輸。面向連接的協議在任何數據傳輸前就建立好了點到點的連接。當數據傳輸的性能必須讓位於數據傳輸的完整性、可控制性和可靠性時,TCP協議是最好的選擇。 當強調傳輸性能而不是傳輸的完整性時,如音頻和多媒體應用,UDP是最好的選擇。在數據傳輸時間很短,以至於此前的連接過程成為整個流量主體的情況下,UDP也是一個好的選擇,如DNS交換。把SNMP建立在UDP上的部分原因是設計者認為當發生網絡阻塞時,UDP 較低的開銷使其有更好的機會去傳送管理數據。TCP豐富的功能有時會導致不可預料的性能低下。在現有技術中,TCP和UDP兩者都不可互相替代。而當前的一些網絡通訊處理技術未能全面地覆蓋同時進行TCP和UDP通訊的需求,TCP或UDP只能選擇其一,而且現有技術中,未能將客戶端服務端融為一體,未能實現跨平臺windows、linux, winmoble等作業系統的移植等,不能很好滿足業務的需要。

發明內容
針對現有技術的缺點,本發明的目的是提供一種能夠將TCP、UDP融為一體,並具有良好移植性的支持多平臺網絡通訊處理系統及方法。為實現上述目的,本發明的一種支持多平臺網絡通訊處理系統,包括與上層應用系統連接的網絡庫模塊,所述網路庫模塊中設置有
通道創建模塊,用於請求網絡庫模塊創建新通道並執行創建新通道; 通道關閉模塊,用於請求網絡庫模塊關閉通道並執行關閉通道; 設置用戶數據和回調函數模塊,用於設置和保存用戶數據和回調函數指針並執行調用回調函數;
網絡事件處理模塊,設置有相互連接的線程池和印oil模塊,用於處理印ollin事件; 通道創建模塊、通道關閉模塊、設置用戶數據和回調函數模塊分別與網絡事件處理模塊連接,設置用戶數據和回調函數模塊還與上層應用系統連接。作為一種優選方案,還包括保存有通道隊列的通道隊列模塊,其與通道創建模塊、 通道關閉模塊連接。作為進一步的優選方案,所述通道創建模塊創建新通道的具體步驟包括 al.請求網絡庫模塊創建通道,所述通道為TCP通道或UDP通道;
a2.輸入新通道參數,所述參數包括IP位址、埠號和協議類型;
a3.創建新通道,根據步驟a2中的參數初始化通道參數,完成埠或EPOLL的加入;a4.將創建的新通道保持到通道隊列模塊中。作為進一步的優選方案,所述通道關閉模塊關閉通道的具體步驟包括 bl.請求網絡庫模塊關閉通道,所述通道為TCP通道或者UDP通道;
b2.輸入需要關閉的通道指針;
b3.關閉通道,並釋放通道內存資源;
b4.將關閉的通道從通道隊列模塊中移除。作為另一種優選方案,網絡事件處理模塊設置有
監聽連接模塊,與設置用戶數據和回調函數模塊、通道創建模塊連接,用於接收新連接並通知通道創建模塊創建新通道;
發送數據模塊,與上層應用系統連接,用於將上層應用系統的數據發送至目的方; 通道超時檢查模塊,與通道隊列模塊連接,用於檢查通道隊列模塊中通道的活動狀態, 超過預定時間唯有通訊記錄的通道標記為超時;
接收數據模塊,與設置用戶數據和回調函數模塊連接,用於接收數據並通告設置用戶數據和回調函數模塊回調通知上層系統;
通道中斷模塊,與設置用戶數據和回調函數模塊連接,用於檢查通道中斷並通過設置用戶數據和回調函數模塊回調通知上層應用系統;
重新連接模塊,與通道中斷模塊、設置用戶數據和回調函數模塊連接,用於通道中斷後自動重新連接,並將重連結果通過設置用戶數據和回調函數模塊回調通知上層應用系統。本發明的第二個目的是實現一種支持多平臺網絡通訊處理方法,包括如下步驟
A.啟動一個線程檢測印oil,當印oil中響應通道的印olIin事件,將該印olIin事件的響應從epoll中去掉,進入步驟B ;
B.步驟A中的印ollin事件加入到線程池中執行,並返回步驟A;
C.當線程池中有印ollin事件加入,則判斷通道是否接收到數據,若有則進入步驟D, 若沒有則進入步驟J ;
D.判斷接收到數據的通道是否為UDP的服務端通道,若是則進入步驟E,否則進入步驟H;
E.判斷接收到數據的通道是否為新通道,若是則進入步驟F,否則進入步驟H;
F.判斷當前系統是否達到最大通道數,若是則進入步驟I,否則進入步驟G;
G.創建新通道,進入步驟H;
H.通過回調函數回調通知上層應用系統接收到數據,並進入步驟I;
I.發起下一次數據接收,並返回步驟C;
J.判斷通道是否中斷,若是則進入步驟H,否則繼續加入印oil,等待下次事件響應,結
束;
K.對該中斷的通道設置通道中斷標誌並結束。作為一種優選方案,在步驟J中判斷通道中斷後,在執行步驟K之前還進行如下步驟
Cl.判斷該中斷通道是否完成埠退出,若是則結束,否則進入步驟C2 ; c2.判斷該中斷通道是否存在,若不存在則結束,若存在則進入步驟c3 ; c3.判斷該中斷通道是否為主動關閉,若是則結束,否則進入步驟K。
作為進一步的優選方案,所述步驟G中創建新通道的具體步驟為 al.請求網絡庫創建通道,所述通道為TCP通道或UDP通道;
a2.輸入新通道參數,所述參數包括IP位址、埠號和協議類型;
a3.創建新通道,根據步驟a2中的參數初始化通道參數,完成埠或EPOLL的加入;
a4.將創建的新通道保持到通道隊列中。作為進一步的優選方案,所述通道關閉的具體步驟為
bl.請求網絡庫關閉通道,所述通道為TCP通道或者UDP通道;
b2.輸入需要關閉的通道指針;
b3.關閉通道,並釋放通道內存資源;
b4.將關閉的通道從通道隊列中移除。作為進一步的優選方案,當所述中斷通道不是主動關閉時,則進入步驟K之前還進行自動重新連接步驟,若重連成功則通過回調函數回調通知上層應用系統重連成功並結束,否則通過回調函數回調通知上層應用系統重連失敗並進入步驟K。本發明的有益效果是
本發明通過提供一致的epoll外部接口,給上層應用系統提供一個快速、穩定、跨平臺的通訊系統和方法,其能達到如下效果
1.能大大提高數據傳輸的速度和效率,能達到網卡傳輸能力的90%,使得軟體系統有良好的性能。2.具有良好的移植性,能夠在windows、liniDuwinmobie等作業系統間無縫移植, 方便軟體系統的跨平臺應用,節省開放時間、成本,提高軟體系統的商用價值。3.將TCP、UDP融合為一體,方便實際應用,可以建立TCP通訊的同時,增加UDP通訊通道,而不需重新初始化相關信息,應用層甚至無需關心是TCP或UDP通訊。4.使用內存池線程池技術,提高系統資源使用率,使得軟體獲得良好的運行性能, 節約開銷。


圖1 是本發明一種支持多平臺網絡通訊處理系統的結構示意圖2 是本發明一種支持多平臺網絡通訊處理系統中網絡事件處理模塊的結構示意
圖3 是本發明一種支持多平臺網絡通訊處理方法的流程圖; 圖4 是本發明一種支持多平臺網絡通訊處理方法的流程圖。
具體實施例方式下面結合實施例及附圖,對本發明作進一步地詳細說明,但本發明的實施方式不限於此。本發明如圖1所示,本發明的一種支持多平臺網絡通訊處理系統,包括與上層應用系統連接的網絡庫模塊,所述網路庫模塊中設置有通道創建模塊、通道關閉模塊、設置用戶數據和回調函數模塊、網絡事件處理模塊、通道隊列模塊,通道創建模塊、通道關閉模塊、設置用戶數據和回調函數模塊分別與網絡事件處理模塊連接,設置用戶數據和回調函數模塊還與上層應用系統連接,通道隊列模塊與通道創建模塊、通道關閉模塊連接。通道創建模塊,用於請求網絡庫模塊創建新通道並執行創建新通道;創建新通道的具體步驟包括
al.請求網絡庫模塊創建通道,所述通道為TCP通道或UDP通道;
a2.輸入新通道參數,所述參數包括IP位址、埠號和協議類型;
a3.創建新通道,根據步驟a2中的參數初始化通道參數,完成埠或EPOLL的加入;
a4.將創建的新通道保持到通道隊列模塊中。通道關閉模塊,用於請求網絡庫模塊關閉通道並執行關閉通道;關閉通道的具體步驟包括
bl.請求網絡庫模塊關閉通道,所述通道為TCP通道或者UDP通道;
b2.輸入需要關閉的通道指針;
b3.關閉通道,並釋放通道內存資源;
b4.將關閉的通道從通道隊列模塊中移除。設置用戶數據和回調函數模塊,用於設置和保存用戶數據和回調函數指針並執行調用回調函數。如圖2所示,網絡事件處理模塊,用於處理印ollin事件;其設置有線程池、印oil 模塊、監聽連接模塊、發送數據模塊、通道超時檢查模塊、接收數據模塊、通道中斷模塊、重新連接模塊,線程池與印oil模塊相互連接。監聽連接模塊,與設置用戶數據和回調函數模塊、通道創建模塊連接,用於接收新連接並通知通道創建模塊創建新通道;
發送數據模塊,與上層應用系統連接,用於將上層應用系統的數據發送至目的方; 通道超時檢查模塊,與通道隊列模塊連接,用於檢查通道隊列模塊中通道的活動狀態, 超過預定時間唯有通訊記錄的通道標記為超時;
接收數據模塊,與設置用戶數據和回調函數模塊連接,用於接收數據並通告設置用戶數據和回調函數模塊回調通知上層系統;
通道中斷模塊,與設置用戶數據和回調函數模塊連接,用於檢查通道中斷並通過設置用戶數據和回調函數模塊回調通知上層應用系統;
重新連接模塊,與通道中斷模塊、設置用戶數據和回調函數模塊連接,用於通道中斷後自動重新連接,並將重連結果通過設置用戶數據和回調函數模塊回調通知上層應用系統。 利用該重新連接模塊僅當該中斷通道為TCP通訊中的客戶端通道時。如圖3和圖4所示,本發明的第二個目的是實現一種支持多平臺網絡通訊處理方法,包括如下步驟
A.啟動一個線程檢測印oil,當印oil中響應通道的印olIin事件,將該印olIin事件的響應從epoll中去掉,進入步驟B ;
B.步驟A中的印ollin事件加入到線程池中執行,並返回步驟A;
C.當線程池中有印ollin事件加入,則判斷通道是否接收到數據,若有則進入步驟D, 若沒有則進入步驟J ;
D.判斷接收到數據的通道是否為UDP的服務端通道,若是則進入步驟E,否則進入步驟H;E.判斷接收到數據的通道是否為新通道,若是則進入步驟F,否則進入步驟H;
F.判斷當前系統是否達到最大通道數,若是則進入步驟I,否則進入步驟G;
G.創建新通道,創建新通道的具體步驟為
al.請求網絡庫創建通道,所述通道為TCP通道或UDP通道;
a2.輸入新通道參數,所述參數包括IP位址、埠號和協議類型;
a3.創建新通道,根據步驟a2中的參數初始化通道參數,完成埠或EPOLL的加入;
a4.將創建的新通道保持到通道隊列中,並進入步驟H ;
H.通過回調函數回調通知上層應用系統接收到數據,並進入步驟I;
I.發起下一次數據接收,並返回步驟C;
J.判斷通道是否中斷,若是則進入步驟cl,否則繼續加入印oil,等待下次事件響應, 結束;
cl.判斷該中斷通道是否完成埠退出,若是則結束,否則進入步驟c2 ; c2.判斷該中斷通道是否存在,若不存在則結束,若存在則進入步驟c3 ; c3.判斷該中斷通道是否為主動關閉,若是則結束,否則進入步驟K。K.對該中斷的通道設置通道中斷標誌並結束。步驟c3中通道關閉的具體步驟為
bl.請求網絡庫關閉通道,所述通道為TCP通道或者UDP通道;
b2.輸入需要關閉的通道指針;
b3.關閉通道,並釋放通道內存資源;
b4.將關閉的通道從通道隊列中移除。此外,當所述中斷通道不是主動關閉時,則進入步驟K之前還進行自動重新連接步驟,若重連成功則通過回調函數回調通知上層應用系統重連成功並結束,否則通過回調函數回調通知上層應用系統重連失敗並進入步驟K。
權利要求
1.一種支持多平臺網絡通訊處理系統,其特徵在於,包括與上層應用系統連接的網絡庫模塊,所述網路庫模塊中設置有 通道創建模塊,用於請求網絡庫模塊創建新通道並執行創建新通道; 通道關閉模塊,用於請求網絡庫模塊關閉通道並執行關閉通道; 設置用戶數據和回調函數模塊,用於設置和保存用戶數據和回調函數指針並執行調用回調函數;網絡事件處理模塊,設置有相互連接的線程池和印oil模塊,用於處理印ollin事件; 通道創建模塊、通道關閉模塊、設置用戶數據和回調函數模塊分別與網絡事件處理模塊連接,設置用戶數據和回調函數模塊還與上層應用系統連接。
2.根據權利要求1所述的支持多平臺網絡通訊處理系統,其特徵在於,還包括保存有通道隊列的通道隊列模塊,其與通道創建模塊、通道關閉模塊連接。
3.根據權利要求2所述的支持多平臺網絡通訊處理系統,其特徵在於,所述通道創建模塊創建新通道的具體步驟包括al.請求網絡庫模塊創建通道,所述通道為TCP通道或UDP通道;a2.輸入新通道參數,所述參數包括IP位址、埠號和協議類型;a3.創建新通道,根據步驟a2中的參數初始化通道參數,完成埠或EPOLL的加入;a4.將創建的新通道保持到通道隊列模塊中。
4.根據權利要求2所述的支持多平臺網絡通訊處理系統,其特徵在於,所述通道關閉模塊關閉通道的具體步驟包括bl.請求網絡庫模塊關閉通道,所述通道為TCP通道或者UDP通道;b2.輸入需要關閉的通道指針;b3.關閉通道,並釋放通道內存資源;b4.將關閉的通道從通道隊列模塊中移除。
5.根據權利要求1所述的支持多平臺網絡通訊處理系統,其特徵在於,網絡事件處理模塊還設置有監聽連接模塊,與設置用戶數據和回調函數模塊、通道創建模塊連接,用於接收新連接並通知通道創建模塊創建新通道;發送數據模塊,與上層應用系統連接,用於將上層應用系統的數據發送至目的方; 通道超時檢查模塊,與通道隊列模塊連接,用於檢查通道隊列模塊中通道的活動狀態, 超過預定時間唯有通訊記錄的通道標記為超時;接收數據模塊,與設置用戶數據和回調函數模塊連接,用於接收數據並通告設置用戶數據和回調函數模塊回調通知上層系統;通道中斷模塊,與設置用戶數據和回調函數模塊連接,用於檢查通道中斷並通過設置用戶數據和回調函數模塊回調通知上層應用系統;重新連接模塊,與通道中斷模塊、設置用戶數據和回調函數模塊連接,用於通道中斷後自動重新連接,並將重連結果通過設置用戶數據和回調函數模塊回調通知上層應用系統。
6.一種支持多平臺網絡通訊處理方法,其特徵在於,包括如下步驟A.啟動一個線程檢測印oil,當印oil中響應通道的印olIin事件,將該印olIin事件的響應從epoll中去掉,進入步驟B ;B.步驟A中的印ollin事件加入到線程池中執行,並返回步驟A;C.當線程池中有印ollin事件加入,則判斷通道是否接收到數據,若有則進入步驟D, 若沒有則進入步驟J ;D.判斷接收到數據的通道是否為UDP的服務端通道,若是則進入步驟E,否則進入步驟H;E.判斷接收到數據的通道是否為新通道,若是則進入步驟F,否則進入步驟H;F.判斷當前系統是否達到最大通道數,若是則進入步驟I,否則進入步驟G;G.創建新通道,進入步驟H;H.通過回調函數回調通知上層應用系統接收到數據,並進入步驟I;I.發起下一次數據接收,並返回步驟C;J.判斷通道是否中斷,若是則進入步驟H,否則繼續加入印oil,等待下次事件響應,結束;K.對該中斷的通道設置通道中斷標誌並結束。
7.根據權利要求6所述的支持多平臺網絡通訊處理方法,其特徵在於, 在步驟J中判斷通道中斷後,在執行步驟K之前還進行如下步驟cl.判斷該中斷通道是否完成埠退出,若是則結束,否則進入步驟c2 ; c2.判斷該中斷通道是否存在,若不存在則結束,若存在則進入步驟c3 ; c3.判斷該中斷通道是否為主動關閉,若是則結束,否則進入步驟K。
8.根據權利要求7所述的支持多平臺網絡通訊處理方法,其特徵在於,所述步驟G中創建新通道的具體步驟為al.請求網絡庫創建通道,所述通道為TCP通道或UDP通道;a2.輸入新通道參數,所述參數包括IP位址、埠號和協議類型;a3.創建新通道,根據步驟a2中的參數初始化通道參數,完成埠或EPOLL的加入;a4.將創建的新通道保持到通道隊列中。
9.根據權利要求7所述的支持多平臺網絡通訊處理方法,其特徵在於,所述通道關閉的具體步驟為bl.請求網絡庫關閉通道,所述通道為TCP通道或者UDP通道;b2.輸入需要關閉的通道指針;b3.關閉通道,並釋放通道內存資源;b4.將關閉的通道從通道隊列中移除。
10.根據權利要求7所述的支持多平臺網絡通訊處理方法,其特徵在於,當所述中斷通道不是主動關閉時,則進入步驟K之前還進行自動重新連接步驟,若重連成功則通過回調函數回調通知上層應用系統重連成功並結束,否則通過回調函數回調通知上層應用系統重連失敗並進入步驟K。
全文摘要
本發明屬於網絡通信領域,具體涉及一種支持多平臺網絡通訊處理系統及方法。系統包括與上層應用系統連接的網絡庫模塊,網路庫模塊中設置有通道創建模塊,用於請求網絡庫模塊創建新通道並執行創建新通道;通道關閉模塊,用於請求網絡庫模塊關閉通道並執行關閉通道;設置用戶數據和回調函數模塊,用於設置和保存用戶數據和回調函數指針並執行調用回調函數;網絡事件處理模塊,設置有相互連接的線程池和epoll模塊,用於處理epollin事件;通道創建模塊、通道關閉模塊、設置用戶數據和回調函數模塊分別與網絡事件處理模塊連接,設置用戶數據和回調函數模塊還與上層應用系統連接。本發明能夠將TCP、UDP融為一體,並具有良好移植性。
文檔編號H04L29/06GK102316116SQ20111029226
公開日2012年1月11日 申請日期2011年9月29日 優先權日2011年9月29日
發明者陳聰 申請人:廣東高新興通信股份有限公司

同类文章

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

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有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-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀