專利名稱:一種通信方法和網(wǎng)絡適配器的制作方法
技術領域:
本發(fā)明涉及網(wǎng)絡通信技術,更具體地說,涉及一種通信方法和網(wǎng)絡適配器。
背景技術:
現(xiàn)有應用系統(tǒng)在通過socket向外部網(wǎng)元發(fā)送消息時,一般都會定義一個接口層,
并通過專門的通信模塊來與外部網(wǎng)元進行交互。當應用系統(tǒng)需要同時向多個外部網(wǎng)元發(fā)送
消息時,同樣由該通信模塊承擔發(fā)送任務。每次收到來自應用層的發(fā)送請求,通信模塊都會
跟目的網(wǎng)元建立連接,但在發(fā)送消息之前不會預先判斷該網(wǎng)元是否可以到達。 對于一個實時性要求較高的應用系統(tǒng)來說,上文所述的消息發(fā)送方式在某個外部
網(wǎng)元出現(xiàn)異常時,往往會出現(xiàn)問題,例如 1、針對面向異常網(wǎng)元的每一消息發(fā)送請求,通信模塊都會嘗試與該網(wǎng)元建立連 接。 一般來說,嘗試建立連接的過程非常耗時,并且大量占用通信模塊的資源,從而導致面 向其他外部網(wǎng)元的消息發(fā)送請求無法及時得到處理,在通信模塊中造成阻塞;
2、由于嘗試建立連接的過程非常耗時,導致在向應用層應答時經(jīng)常出現(xiàn)較長的延 遲甚至超時,因此造成應用層阻塞; 3、在外部網(wǎng)元出現(xiàn)異常的情況下仍然頻繁向該網(wǎng)元發(fā)起連接請求,必然導致該網(wǎng) 元過負荷,給外部網(wǎng)元的恢復帶來不良影響; 4、當外部網(wǎng)元恢復正常時,只能在向該網(wǎng)元發(fā)送消息時才能檢測到,無法預先確 定該網(wǎng)元的狀態(tài)。 因此,需要一種通信解決方案,能夠有效克服現(xiàn)有消息傳送方法中存在的上述缺 陷。
發(fā)明內容
本發(fā)明要解決的技術問題在于,針對現(xiàn)有消息傳送方式易因異常網(wǎng)元而導致通信
模塊和應用層阻塞等缺陷,提供一種通信方法和網(wǎng)絡適配器。 本發(fā)明解決其技術問題所采用的技術方案是 構造一種通信方法,包括 發(fā)送預處理步驟,包括 從待發(fā)送數(shù)據(jù)包中提取目的網(wǎng)絡地址; 判斷該目的網(wǎng)絡地址是否包含在黑名單中,若是,則發(fā)出發(fā)送失敗提示,并更新黑 名單中該目的網(wǎng)絡地址的優(yōu)先級。 在本發(fā)明提供的通信方法中,所述發(fā)送預處理步驟還包括,若判定所述目的網(wǎng)絡 地址未包含在所述黑名單中,則依據(jù)該目的網(wǎng)絡地址發(fā)送所述數(shù)據(jù)包。 在本發(fā)明提供的通信方法中,在依據(jù)該目的網(wǎng)絡地址發(fā)送該數(shù)據(jù)包時,所述發(fā)送 預處理步驟還包括,在連續(xù)發(fā)送失敗的次數(shù)達到預先設置的閾值時,將所述目的網(wǎng)絡地址 添加到所述黑名單中。
在本發(fā)明提供的通信方法中,還包括恢復步驟,包括依照優(yōu)先級由高到低的順序
依次對黑名單中的每一網(wǎng)絡地址執(zhí)行連接操作,該連接操作包括 Sl、依據(jù)生成時間計算作為操作目標的網(wǎng)絡地址在黑名單中的停留時間; S2、判斷該停留時間是否超過預先設置的停留閾值,若是,則將該網(wǎng)絡地址從黑名
單中刪除,若否,則在判定該網(wǎng)絡地址可到達時將該網(wǎng)絡地址從黑名單中刪除。
在本發(fā)明提供的通信方法中,所述黑名單通過共享內存存儲。
本發(fā)明還提供了一種網(wǎng)絡適配器,包括
發(fā)送預處理模塊,用于執(zhí)行如下操作
從待發(fā)送數(shù)據(jù)包中提取目的網(wǎng)絡地址; 判斷該目的網(wǎng)絡地址是否包含在黑名單中,若是,則發(fā)出發(fā)送失敗提示,并更新黑 名單中該目的網(wǎng)絡地址的優(yōu)先級。 在本發(fā)明提供的網(wǎng)絡適配器中,還包括收發(fā)模塊,所述發(fā)送預處理模塊還用于在 判定所述目的網(wǎng)絡地址未包含在所述黑名單中時,通過所述收發(fā)模塊依據(jù)該目的網(wǎng)絡地址 發(fā)送所述數(shù)據(jù)包。 在本發(fā)明提供的網(wǎng)絡適配器中,在依據(jù)該目的網(wǎng)絡地址發(fā)送該數(shù)據(jù)包時,所述發(fā) 送預處理模塊還用于,在連續(xù)發(fā)送失敗的次數(shù)達到預先設置的閾值時,將所述目的網(wǎng)絡地 址添加到所述黑名單中。 在本發(fā)明提供的網(wǎng)絡適配器中,還包括恢復模塊,用于依照優(yōu)先級由高到低的順
序依次對黑名單中的每一網(wǎng)絡地址執(zhí)行連接操作,該連接操作包括 Sl、依據(jù)生成時間計算作為操作目標的網(wǎng)絡地址在黑名單中的停留時間; S2、判斷該停留時間是否超過預先設置的停留閾值,若是,則將該網(wǎng)絡地址從黑名
單中刪除,若否,則在判定該網(wǎng)絡地址可到達時將該網(wǎng)絡地址從黑名單中刪除。
在本發(fā)明提供的網(wǎng)絡適配器中,所述黑名單通過共享內存存儲。 實施本發(fā)明的技術方案,具有以下有益效果本發(fā)明提供的通信方法和網(wǎng)絡適配 器將無法到達的網(wǎng)元列入黑名單。在這種情況下,本發(fā)明提供的技術方案對面向黑名單中 網(wǎng)元的消息發(fā)送請求采用特別方式進行處理,即直接返回失敗提示,從而實現(xiàn)對異常網(wǎng)元 的隔離,避免因這些發(fā)送請求而嘗試與異常網(wǎng)元建立連接,降低對通信模塊資源的占用,同 時及時向應用層返回失敗指示,降低應用層阻塞。由于面向異常網(wǎng)元的消息發(fā)送請求提前 被攔截,因此不會向異常網(wǎng)元發(fā)送消息,從而降低對異常網(wǎng)元造成的負擔,加快異常網(wǎng)元的 恢復。此外,本發(fā)明提供的技術方案易于實現(xiàn),成本低廉。
下面將結合附圖及實施例對本發(fā)明作進一步說明,附圖中 圖1是依據(jù)本發(fā)明一較佳實施例的通信方法發(fā)送預處理步驟的流程圖; 圖2是依據(jù)本發(fā)明一較佳實施例的連接操作的流程圖; 圖3是依據(jù)本發(fā)明一較佳實施例的網(wǎng)絡適配器的邏輯結構示意圖。
具體實施例方式
為了使本發(fā)明的目的、技術方案及優(yōu)點更加清楚明白,以下結合附圖及實施例,對
4本發(fā)明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并 不用于限定本發(fā)明。 本發(fā)明提供了一種通信方法和網(wǎng)絡適配器,將無法到達的網(wǎng)元列入黑名單。在這 種情況下,本發(fā)明提供的技術方案對面向黑名單中網(wǎng)元的消息發(fā)送請求采用特別方式進行 處理,即直接返回失敗提示,從而實現(xiàn)對異常網(wǎng)元的隔離,避免因這些發(fā)送請求而嘗試與異 常網(wǎng)元建立連接,降低對通信模塊資源的占用,同時及時向應用層返回失敗指示,降低應用 層阻塞。由于面向異常網(wǎng)元的消息發(fā)送請求提前被攔截,因此不會向異常網(wǎng)元發(fā)送消息,從 而降低對異常網(wǎng)元造成的負擔,加快異常網(wǎng)元的恢復。此外,本發(fā)明提供的技術方案易于實 現(xiàn),成本低廉。下面就結合附圖和具體實施例來對本發(fā)明提供的技術方案進行詳細描述。
本發(fā)明提供了一種通信方法,其包括發(fā)送預處理步驟和恢復步驟。下面分別結合 圖1和圖2對這兩個步驟進行詳細描述。 圖1是依據(jù)本發(fā)明一較佳實施例的通信方法發(fā)送預處理步驟100的流程圖。如圖 1所示,預處理步驟100開始于步驟102。 隨后,在下一步驟104,從待發(fā)送數(shù)據(jù)包中提取目的網(wǎng)絡地址。 隨后,在下一步驟106,判斷提取的目的網(wǎng)絡地址是否包含在黑名單中,若是,則轉 到步驟108,否則轉到步驟110。 如上文所述,若在步驟106判定提取的目的網(wǎng)絡地址包含在黑名單中,則轉到步 驟108,發(fā)出發(fā)送失敗提示,攔截該數(shù)據(jù)包,然后轉到步驟112。 在具體實現(xiàn)過程中,在步驟108中將向發(fā)出該數(shù)據(jù)包的應用層應用發(fā)出失敗提 示,以作為對該應用層應用請求發(fā)送該數(shù)據(jù)包的應答,從而降低應用層阻塞。此外,通過攔 截該數(shù)據(jù)包,便可阻止向異常網(wǎng)元發(fā)出該數(shù)據(jù)包,從而實現(xiàn)對異常網(wǎng)元的隔離,避免因發(fā)送 該數(shù)據(jù)包的請求而嘗試與異常網(wǎng)元建立連接,降低對通信模塊資源的占用。由于面向異常 網(wǎng)元的消息發(fā)送請求提前被攔截,因此不會向異常網(wǎng)元發(fā)送消息,從而避免對異常網(wǎng)元造 成負擔,加快異常網(wǎng)元的恢復。 在具體實現(xiàn)過程中,黑名單通過共享內存方式存儲,從而實現(xiàn)在進程間共享該黑 名單。 隨后,在下一步驟112,更新黑名單中該目的網(wǎng)絡地址的優(yōu)先級,然后轉到步驟 114。有關優(yōu)先級的技術內容將在下文進行詳細描述。 如上文所述,若在步驟106判定提取的目的網(wǎng)絡地址未包含在黑名單中,則轉到
步驟IIO,依據(jù)提取的目的網(wǎng)絡地址發(fā)送上述數(shù)據(jù)包,然后轉到步驟114。 若目的網(wǎng)絡地址未包含在黑名單中,則說明該網(wǎng)絡地址此前一直處于可到達狀
態(tài)。然而,若該網(wǎng)絡地址對應的外部網(wǎng)元剛剛出現(xiàn)異常,導致該網(wǎng)絡地址剛剛由可到達狀態(tài)
轉為不可到達狀態(tài),則可能導致消息發(fā)送失敗。在這種情況下,在連續(xù)發(fā)送失敗的次數(shù)達到
預先設置的閾值時,預處理步驟IOO便會將該目的網(wǎng)絡地址添加到黑名單中。 最后,發(fā)送預處理步驟100結束于步驟114。 本發(fā)明提供的通信方法還包括一恢復步驟,包括依照優(yōu)先級由高到低的順序依次 對黑名單中的每一網(wǎng)絡地址執(zhí)行連接操作。其中,優(yōu)先級反映了該網(wǎng)絡地址的重要性,例如 該網(wǎng)絡地址的頻繁訪問程度,優(yōu)先級越高,對該網(wǎng)絡地址的訪問越頻繁。如上文所述,在發(fā) 送預處理步驟100的步驟112中,將更新黑名單中該目的網(wǎng)絡地址的優(yōu)先級,包括增加 優(yōu)先級的值,以反映該網(wǎng)絡地址訪問量的增加,從而從側面增加該網(wǎng)絡地址的重要性。在恢復 步驟中,對黑名單中訪問程度越頻繁的網(wǎng)絡地址,越早進行連接操作,以盡早發(fā)現(xiàn)該網(wǎng)絡地 址從不可到達狀態(tài)恢復到可到達狀態(tài),以便將該網(wǎng)絡地址從黑名單中移出,解除對該網(wǎng)絡 地址的隔離。下面結合圖2對該連接操作進行詳細描述。 圖2是依據(jù)本發(fā)明一較佳實施例的連接操作200的流程圖。如圖2所示,連接操 作200開始于步驟202。 隨后,在下一步驟204,依據(jù)生成時間計算作為操作目標的網(wǎng)絡地址在黑名單中的 停留時間。 在具體實現(xiàn)過程中,所述生成時間即為該網(wǎng)絡地址進入黑名單的時間,所述停留 時間即為從生成時間開始該網(wǎng)絡地址在黑名單中的停留時間。 隨后,在下一步驟206,判斷該停留時間是否超過預先設置的停留閾值,若是,則轉 到步驟208,否則轉到步驟210。 如上文所述,若在步驟206判定停留時間超過預先設置的停留閾值,則將轉到步 驟208,將該網(wǎng)絡地址從黑名單中刪除,然后轉到步驟212。 在具體實現(xiàn)過程中,停留時間越長,外部網(wǎng)元從異常狀態(tài)恢復的可能性越大,因 此,可在停留時間超過預先設置的停留閾值時,認定該網(wǎng)絡地址可到達,從而將其從黑名單 中移出。 如上文所述,若在步驟206判定停留時間未超過預先設置的停留閾值,則將轉到 步驟210,判斷該網(wǎng)絡地址是否可到達,若是,則轉到步驟208,否則轉到步驟212。
在具體實現(xiàn)過程中,黑名單中除了記錄不可到達的網(wǎng)絡地址外,還記錄了每一網(wǎng) 絡地址的偵聽端口。在判斷某一網(wǎng)絡地址是否可到達時,可根據(jù)該網(wǎng)絡地址和該偵聽端口 進行socket連接,若連接成功,則說明該網(wǎng)絡地址可到達,否則說明該網(wǎng)絡地址不可到達。
最后,連接操作200結束于步驟212。 在具體實現(xiàn)過程中,在上述恢復步驟中,上述連接操作可依照預先設置的時間間 隔來進行定期執(zhí)行。 在具體實現(xiàn)過程中,上文所述的優(yōu)先級和連接操作的時間間隔可手動進行設置。 本發(fā)明還提供了一種網(wǎng)絡適配器,下面就結合圖3對其進行詳細描述。 圖3是依據(jù)本發(fā)明一較佳實施例的網(wǎng)絡適配器300的邏輯結構示意圖。如圖3所
示,網(wǎng)絡適配器300包括發(fā)送預處理模塊302、收發(fā)模塊304和恢復模塊306。 發(fā)送預處理模塊302用于執(zhí)行如下操作 從待發(fā)送數(shù)據(jù)包中提取目的網(wǎng)絡地址; 判斷該目的網(wǎng)絡地址是否包含在黑名單中,若是,則發(fā)出發(fā)送失敗提示,并更新黑 名單中該目的網(wǎng)絡地址的優(yōu)先級。 在具體實現(xiàn)過程中,本發(fā)明提供的網(wǎng)絡適配器300還包括收發(fā)模塊304,發(fā)送預處 理模塊302還用于在判定目的網(wǎng)絡地址未包含在所述黑名單中時,通過收發(fā)模塊304依據(jù) 該目的網(wǎng)絡地址發(fā)送所述數(shù)據(jù)包。有關收發(fā)模塊304的相關技術內容已經(jīng)在現(xiàn)有技術中做 了清楚的描述,因此此處不再贅述。 在依據(jù)該目的網(wǎng)絡地址通過收發(fā)模塊304發(fā)送該數(shù)據(jù)包時,發(fā)送預處理模塊302 還用于在連續(xù)發(fā)送失敗的次數(shù)達到預先設置的閾值時,將目的網(wǎng)絡地址添加到黑名單中。
在具體實現(xiàn)過程中,發(fā)送預處理模塊302所執(zhí)行的操作與上文描述的發(fā)送預處理 步驟相同。 恢復模塊306用于依照優(yōu)先級由高到低的順序依次對黑名單中的每一網(wǎng)絡地址 執(zhí)行連接操作,該連接操作包括 Sl、依據(jù)生成時間計算作為操作目標的網(wǎng)絡地址在黑名單中的停留時間; S2、判斷該停留時間是否超過預先設置的停留閾值,若是,則將該網(wǎng)絡地址從黑名
單中刪除,若否,則在判定該網(wǎng)絡地址可到達時將該網(wǎng)絡地址從黑名單中刪除。 在具體實現(xiàn)過程中,恢復模塊306所執(zhí)行的操作與上文描述的恢復步驟相同。 在具體實現(xiàn)過程中,本發(fā)明提供的技術方案可采用插件化方式提供,為應用層提
供了簡潔的調用接口,應用系統(tǒng)的通訊模塊可以在完全不影響原有邏輯的情況集成本組件功能。 以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精 神和原則之內所作的任何修改、等同替換和改進等,均應包含在本發(fā)明的保護范圍之內。
權利要求
一種通信方法,其特征在于,包括發(fā)送預處理步驟,包括從待發(fā)送數(shù)據(jù)包中提取目的網(wǎng)絡地址;判斷該目的網(wǎng)絡地址是否包含在黑名單中,若是,則發(fā)出發(fā)送失敗提示,并更新黑名單中該目的網(wǎng)絡地址的優(yōu)先級。
2. 根據(jù)權利要求1所述的通信方法,其特征在于,所述發(fā)送預處理步驟還包括,若判定 所述目的網(wǎng)絡地址未包含在所述黑名單中,則依據(jù)該目的網(wǎng)絡地址發(fā)送所述數(shù)據(jù)包。
3. 根據(jù)權利要求2所述的通信方法,其特征在于,在依據(jù)該目的網(wǎng)絡地址發(fā)送該數(shù)據(jù) 包時,所述發(fā)送預處理步驟還包括,在連續(xù)發(fā)送失敗的次數(shù)達到預先設置的閾值時,將所述 目的網(wǎng)絡地址添加到所述黑名單中。
4. 根據(jù)權利要求3所述的通信方法,其特征在于,還包括恢復步驟,包括依照優(yōu)先級由 高到低的順序依次對黑名單中的每一網(wǎng)絡地址執(zhí)行連接操作,該連接操作包括51、 依據(jù)生成時間計算作為操作目標的網(wǎng)絡地址在黑名單中的停留時間;52、 判斷該停留時間是否超過預先設置的停留閾值,若是,則將該網(wǎng)絡地址從黑名單中刪除,若否,則在判定該網(wǎng)絡地址可到達時將該網(wǎng)絡地址從黑名單中刪除。
5. 根據(jù)權利要求4所述的通信方法,其特征在于,所述黑名單通過共享內存存儲。
6. —種網(wǎng)絡適配器,其特征在于,包括 發(fā)送預處理模塊,用于執(zhí)行如下操作 從待發(fā)送數(shù)據(jù)包中提取目的網(wǎng)絡地址;判斷該目的網(wǎng)絡地址是否包含在黑名單中,若是,則發(fā)出發(fā)送失敗提示,并更新黑名單 中該目的網(wǎng)絡地址的優(yōu)先級。
7. 根據(jù)權利要求6所述的網(wǎng)絡適配器,其特征在于,還包括收發(fā)模塊,所述發(fā)送預處理模塊還用于在判定所述目的網(wǎng)絡地址未包含在所述黑名單中時,通過所述收發(fā)模塊依據(jù)該 目的網(wǎng)絡地址發(fā)送所述數(shù)據(jù)包。
8. 根據(jù)權利要求7所述的網(wǎng)絡適配器,其特征在于,在依據(jù)該目的網(wǎng)絡地址發(fā)送該數(shù)據(jù)包時,所述發(fā)送預處理模塊還用于,在連續(xù)發(fā)送失敗的次數(shù)達到預先設置的閾值時,將所 述目的網(wǎng)絡地址添加到所述黑名單中。
9. 根據(jù)權利要求8所述的網(wǎng)絡適配器,其特征在于,還包括恢復模塊,用于依照優(yōu)先級由高到低的順序依次對黑名單中的每一網(wǎng)絡地址執(zhí)行連接操作,該連接操作包括51、 依據(jù)生成時間計算作為操作目標的網(wǎng)絡地址在黑名單中的停留時間;52、 判斷該停留時間是否超過預先設置的停留閾值,若是,則將該網(wǎng)絡地址從黑名單中刪除,若否,則在判定該網(wǎng)絡地址可到達時將該網(wǎng)絡地址從黑名單中刪除。
10. 根據(jù)權利要求9所述的網(wǎng)絡適配器,其特征在于,所述黑名單通過共享內存存儲。
全文摘要
本發(fā)明涉及網(wǎng)絡通信技術,針對現(xiàn)有消息傳送方式易因異常網(wǎng)元而導致通信模塊和應用層阻塞等缺陷,提供一種通信方法和網(wǎng)絡適配器。通信方法包括發(fā)送預處理步驟,包括從待發(fā)送數(shù)據(jù)包中提取目的網(wǎng)絡地址;判斷該目的網(wǎng)絡地址是否包含在黑名單中,若是,則發(fā)出發(fā)送失敗提示,并更新黑名單中該目的網(wǎng)絡地址的優(yōu)先級。本發(fā)明還提供了一種網(wǎng)絡適配器。本發(fā)明提供的技術方案將無法到達的網(wǎng)元列入黑名單。本發(fā)明提供的技術方案對面向黑名單中網(wǎng)元的消息發(fā)送請求直接返回失敗提示,從而實現(xiàn)對異常網(wǎng)元的隔離,避免因這些發(fā)送請求而嘗試與異常網(wǎng)元建立連接,降低對通信模塊資源的占用,同時及時向應用層返回失敗指示,降低應用層阻塞。
文檔編號H04L12/24GK101771686SQ200910239529
公開日2010年7月7日 申請日期2009年12月31日 優(yōu)先權日2009年12月31日
發(fā)明者劉志堯, 呂秋明, 廖炳才, 李升林, 林偉軍, 樊小彬, 肖偉, 鄧福喜 申請人:卓望數(shù)碼技術(深圳)有限公司