新四季網

一種應對海量並發訪問的方法及裝置與流程

2023-08-03 23:54:06 1


本發明涉及網際網路技術領域,特別涉及一種應對海量並發訪問的方法及裝置。



背景技術:

無論是人們日常的工作、學習和娛樂,基於網絡的應用都被廣泛的使用。上述的基於網絡的應用都是運行在伺服器端的,而伺服器的性能雖然遠強於一般的民用計算機,但是當伺服器面對海量並發訪問時,伺服器也會面臨很大的壓力,甚至伺服器會有發生宕機的危險。分布式拒絕服務(DDoS:Distributed Denial of Service)是一種網絡攻擊方式,就是基於海量並發訪問而給伺服器帶來巨大的運行壓力,最終引發伺服器的宕機。如何妥善的解決上述問題,就成為了業界亟待解決的課題。



技術實現要素:

本發明提供一種應對海量並發訪問的方法及裝置,用以提高伺服器面對海量並發訪問的抗壓能力,達到更加合理高效的利用伺服器的系統資源的效果。

根據本發明實施例的第一方面,提供一種應對海量並發訪問的方法,應用於伺服器端,包括:

設置響應訪問的等待處理機制;

設置網絡數據包的等待隊列的溢出處理機制;

設置關聯到同一個用戶文件句柄上的TCP套接字的處理機制。

在一個實施例中,所述設置響應訪問的等待處理機制,包括:

設置應對響應等待時長為預設百分比的原響應等待時長;

當響應等待時長超過所述應對響應等待時長時,啟用響應等待的快速回收機制和重新使用機制。

在一個實施例中,所述設置網絡數據包的等待隊列的溢出處理機制,包括:

實時判斷接收到網絡數據包的速率是否大於處理網絡數據包的速率;

當接收到網絡數據包的速率大於處理網絡數據包的速率時,存儲網絡數據包;

當存儲的網絡數據包的數量達到預設的存儲上限,拒絕接收新的網絡數據包。

在一個實施例中,所述設置關聯到同一個用戶文件句柄上的TCP套接字的處理機制,包括:

實時監控未被關聯到任意一個用戶文件句柄上的TCP套接字的數量;

當所述TCP套接字的數量大於預設的TCP套接字閾值時,立即將孤兒連接復位並發送警告信息。

在一個實施例中,還包括:

設置TCP/IP會話的滑動窗口設置為可變窗口。

設置系統緩存中的有效信息的檢查機制。

根據本發明實施例的第二方面,應用於伺服器端,提供一種應對海量並發訪問的裝置,包括:

第一設置模塊,用於設置響應訪問的等待處理機制;

第二設置模塊,用於設置網絡數據包的等待隊列的溢出處理機制;

第三設置模塊,用於設置關聯到同一個用戶文件句柄上的TCP套接字的處理機制。

在一個實施例中,所述第一設置模塊,包括:

設置子模塊,用於設置應對響應等待時長為預設百分比的原響應等待時長;

啟用子模塊,用於當響應等待時長超過所述應對響應等待時長時,啟用響應等待的快速回收機制和重新使用機制。

在一個實施例中,所述第二設置模塊,包括:

判斷子模塊,用於實時判斷接收到網絡數據包的速率是否大於處理網絡數據包的速率;

存儲子模塊,用於當接收到網絡數據包的速率大於處理網絡數據包的速率時,存儲網絡數據包;

拒絕子模塊,用於當存儲的網絡數據包的數量達到預設的存儲上限,拒絕接收新的網絡數據包。

在一個實施例中,所述第三設置模塊,包括:

監控子模塊,用於實時監控未被關聯到任意一個用戶文件句柄上的TCP套接字的數量;

復位子模塊,用於當所述TCP套接字的數量大於預設的TCP套接字閾值時,立即將孤兒連接復位並發送警告信息。

在一個實施例中,還包括:

第四設置模塊,用於設置TCP/IP會話的滑動窗口設置為可變窗口。

第五設置模塊,用於設置系統緩存中的有效信息的檢查機制。

本發明的其它特徵和優點將在隨後的說明書中闡述,並且,部分地從說明書中變得顯而易見,或者通過實施本發明而了解。本發明的目的和其他優點可通過在所寫的說明書、權利要求書、以及附圖中所特別指出的結構來實現和獲得。

下面通過附圖和實施例,對本發明的技術方案做進一步的詳細描述。

附圖說明

附圖用來提供對本發明的進一步理解,並且構成說明書的一部分,與本發明的實施例一起用於解釋本發明,並不構成對本發明的限制。在附圖中:

圖1為本發明一示例性實施例示出的一種應對海量並發訪問的方法的流程圖;

圖2為本發明一示例性實施例示出的一種應對海量並發訪問的方法的步驟S11的流程圖;

圖3為本發明一示例性實施例示出的一種應對海量並發訪問的方法的步驟S12的流程圖;

圖4為本發明一示例性實施例示出的一種應對海量並發訪問的方法的步驟S13的流程圖;

圖5為本發明另一示例性實施例示出的一種應對海量並發訪問的方法的流程圖;

圖6為本發明一示例性實施例示出的一種應對海量並發訪問的裝置的框圖;

圖7為本發明一示例性實施例示出的一種應對海量並發訪問的裝置的第一設置模塊61的框圖;

圖8為本發明一示例性實施例示出的一種應對海量並發訪問的裝置的第二設置模塊62的框圖;

圖9為本發明一示例性實施例示出的一種應對海量並發訪問的裝置的第三設置模塊63的框圖;

圖10為本發明另一示例性實施例示出的一種應對海量並發訪問的裝置的框圖。

具體實施方式

以下結合附圖對本發明的優選實施例進行說明,應當理解,此處所描述的優選實施例僅用於說明和解釋本發明,並不用於限定本發明。

圖1是根據一示例性實施例示出的一種應對海量並發訪問的方法流程圖,如圖1所示,該應對海量並發訪問的方法,包括以下步驟S11-S13:

在步驟S11中,設置響應訪問的等待處理機制;

在步驟S12中,設置網絡數據包的等待隊列的溢出處理機制;

在步驟S13中,設置關聯到同一個用戶文件句柄上的TCP套接字的處理機制。

在一個實施例中,伺服器面對海量並發訪問時,需要進行相應的設置才可承受海量並發數據所帶來的訪問壓力,若伺服器使用常規的設置去面對海量並發數據時,伺服器可能會出現卡頓,甚至是宕機的風險。為了解決上述問題,需要將應對響應等待時長設置為原響應等待時長的預設比例,且該比例大於0.1小於0.8。當響應等待時長超過該應對響應等待時長時,啟用響應等待的快速回收機制和重新使用機制。還需要實時判斷接收到網絡數據包的速率是否大於處理網絡數據包的速率,當接收到網絡數據包的速率大於處理網絡數據包的速率時,存儲接收到當還未開始處理的網絡數據包,當存儲的網絡數據包的數量達到預設的存儲上限,拒絕接收新的網絡數據包。再有,實時監控未被關聯到任意一個用戶文件句柄上的TCP套接字的數量,當所述TCP套接字的數量大於預設的TCP套接字閾值時,立即將孤兒連接復位並發送警告信息。

除上述內容之外,還包括設置套接字的狀態和該套接字的狀態的持續時間。具體而言,選擇套接字的狀態為FIN-WAIT-2,可以降低伺服器系統內存的佔用率,進而降低內存溢出的風險。還有,設置客戶端發出的網絡數據包的頭部的緩衝區的處理機制,該網絡數據包的頭部的緩衝區的大小根據系統分頁大小來確定。再有在每隔預設的緩存檢查周期,檢查一次緩存的有效信息。設定伺服器運行程序的進程數量為該伺服器的cpu數量的整數倍,其中該cpu的數量包括cpu的線程數的數量。降低超時等待時間,例如將超時等待時間變為默認值的三分之一。

本發明可提高伺服器面對海量並發訪問的抗壓能力,達到更加合理高效的利用伺服器的系統資源的效果。

在一個實施例中,如圖2所示,步驟S11包括如下步驟S21-S22:

在步驟S21中,設置應對響應等待時長為預設百分比的原響應等待時長;

在步驟S22中,當響應等待時長超過所述應對響應等待時長時,啟用響應等待的快速回收機制和重新使用機制。

在一個實施例中,伺服器在等待對方響應時,伺服器系統的部分網絡資源和部分硬體資源是處於被佔用的狀態,伺服器同時等待的響應越多,所佔用網絡資源和硬體資源就越多。在應對海量並發響應時,保持原響應等待時長會導致伺服器出現無法及時處理新的響應的情況,從而降低了用戶的使用體驗。較佳的實施例,設置應對響應等待時長為原響應等待時長的四分之一,當伺服器的系統對某一個客戶端的響應等待時長超過所述應對響應等待時長時,就啟動響應等待的快速回收機制和重新使用機制,達到釋放伺服器的被佔用的系統資源,以便響應新的客戶端的請求。

在一個實施例中,如圖3所示,步驟S12包括如下步驟S31-S33:

在步驟S31中,實時判斷接收到網絡數據包的速率是否大於處理網絡數據包的速率;

在步驟S32中,當接收到網絡數據包的速率大於處理網絡數據包的速率時,存儲網絡數據包;

在步驟S33中,當存儲的網絡數據包的數量達到預設的存儲上限,拒絕接收新的網絡數據包。

在一個實施例中,為了防止伺服器的系統資源佔用率長時間維持在過高情況而導致宕機的發生,所以需要避免伺服器的系統同時處理過多的網絡數據包。伺服器的系統實時判斷接收到的網絡數據包的速率,並與伺服器處理網絡數據包的速率進行比較。若伺服器接收到網絡數據包的速率大於處理網絡數據包的速率,存儲接收到但還未開始處理的網絡數據包,以備當前正在處理的數據包處理完成後,立即處理已存儲的網絡數據包。另一方面,存儲過多的網絡數據包會給伺服器的系統資源帶來巨大的壓力,所以需要設置網絡數據包的存儲上限,當伺服器存儲的網絡數據包的數量達到該預設的存儲上限時,拒絕存儲新接收到的網絡數據包。

在一個實施例中,如圖4所示,步驟S13包括如下步驟S41-S42:

在步驟S41中,實時監控未被關聯到任意一個用戶文件句柄上的TCP套接字的數量;

在步驟S42中,當所述TCP套接字的數量大於預設的TCP套接字閾值時,立即將孤兒連接復位並發送警告信息。

在一個實施例中,伺服器實時監控該未被關聯到任意一個用戶文件句柄上的TCP套接字的數量,當該TCP套接字的數量大於預設的TCP套接字閾值時,立即將孤兒連接復位並發送警告信息,可以防禦DDoS攻擊。還有,當伺服器的內存增加之後,應該相應的增加該預設的TCP套接字閾值的數值。

在一個實施例中,如圖5所示,還包括如下步驟S51-S52:

在步驟S51中,設置TCP/IP會話的滑動窗口設置為可變窗口。

在步驟S52中,設置系統緩存中的有效信息的檢查機制。

在一個實施例中,設置TCP/IP會話的滑動窗口設置為可變窗口,具體的編程指令為net.ipv4.tcp_window_scaling=1,其中,當該net.ipv4.tcp_window_scaling取值為1的時候,該滑動窗口設置為可變窗口。將滑動窗口設置為可變窗口後,可提高數據傳輸能力。

設置系統緩存中的有效信息的檢查機制。在預設保留時間之內,該文件沒被請求,則刪除該文件的緩存。進一步的,每間隔預設的檢查周期,檢查一次系統中各個緩存的有效性。

在一個實施例中,圖6是根據一示例性實施例示出的一種應對海量並發訪問的裝置框圖。如圖6示,該裝置包括第一設置模塊61、第二設置模塊62和第三設置模塊63。

該第一設置模塊61,用於設置響應訪問的等待處理機制;

該第二設置模塊62,用於設置網絡數據包的等待隊列的溢出處理機制;

該第三設置模塊63,用於設置關聯到同一個用戶文件句柄上的TCP套接字的處理機制。

如圖7所示,該第一設置模塊包括設置子模塊71和啟用子模塊72。

該設置子模塊71,用於設置應對響應等待時長為預設百分比的原響應等待時長;

該啟用子模塊72,用於當響應等待時長超過所述應對響應等待時長時,啟用響應等待的快速回收機制和重新使用機制。

如圖8所示,該第二設置模塊包括判斷子模塊81、存儲子模塊82和拒絕子模塊83。

該判斷子模塊81,用於實時判斷接收到網絡數據包的速率是否大於處理網絡數據包的速率;

該存儲子模塊82,用於當接收到網絡數據包的速率大於處理網絡數據包的速率時,存儲網絡數據包;

該拒絕子模塊83,用於當存儲的網絡數據包的數量達到預設的存儲上限,拒絕接收新的網絡數據包。

如圖9所示,該第三設置模塊63包括監控子模塊91和復位子模塊92。

該監控子模塊91,用於實時監控未被關聯到任意一個用戶文件句柄上的TCP套接字的數量;

該復位子模塊92,用於當所述TCP套接字的數量大於預設的TCP套接字閾值時,立即將孤兒連接復位並發送警告信息。

如圖10所示,還包括第四設置模塊101和第五設置模塊102。

該第四設置模塊101,用於設置TCP/IP會話的滑動窗口設置為可變窗口。

該第五設置模塊102,用於設置系統緩存中的有效信息的檢查機制。

本領域內的技術人員應明白,本發明的實施例可提供為方法、系統、或電腦程式產品。因此,本發明可採用完全硬體實施例、完全軟體實施例、或結合軟體和硬體方面的實施例的形式。而且,本發明可採用在一個或多個其中包含有計算機可用程序代碼的計算機可用存儲介質(包括但不限於磁碟存儲器和光學存儲器等)上實施的電腦程式產品的形式。

本發明是參照根據本發明實施例的方法、設備(系統)、和電腦程式產品的流程圖和/或方框圖來描述的。應理解可由電腦程式指令實現流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結合。可提供這些電腦程式指令到通用計算機、專用計算機、嵌入式處理機或其他可編程數據處理設備的處理器以產生一個機器,使得通過計算機或其他可編程數據處理設備的處理器執行的指令產生用於實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。

這些電腦程式指令也可存儲在能引導計算機或其他可編程數據處理設備以特定方式工作的計算機可讀存儲器中,使得存儲在該計算機可讀存儲器中的指令產生包括指令裝置的製造品,該指令裝置實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。

這些電腦程式指令也可裝載到計算機或其他可編程數據處理設備上,使得在計算機或其他可編程設備上執行一系列操作步驟以產生計算機實現的處理,從而在計算機或其他可編程設備上執行的指令提供用於實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。

顯然,本領域的技術人員可以對本發明進行各種改動和變型而不脫離本發明的精神和範圍。這樣,倘若本發明的這些修改和變型屬於本發明權利要求及其等同技術的範圍之內,則本發明也意圖包含這些改動和變型在內。

同类文章

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

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