專利名稱:一種對連接進(jìn)行雙向檢測的方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及無線移動通訊領(lǐng)域,尤其涉及一種對連接進(jìn)行雙向檢測的方法及系 統(tǒng)。
背景技術(shù):
全球互操作性微波接入(WorldwideInteroperability for Microwave Access,簡稱 WiMAX)系統(tǒng)是基于IEEE 802.16d/e標(biāo)準(zhǔn)的寬帶無線接入城域網(wǎng)技術(shù),具有數(shù)據(jù)速率 高、容量大,支持不同服務(wù)質(zhì)量(Qualityof Service,簡稱QOS)的業(yè)務(wù)數(shù)據(jù)服務(wù)的特 點。隨著WiMAX技術(shù)和產(chǎn)品的成熟以及商用局的增多,WiMAX系統(tǒng)的大話務(wù)量測試 非常重要,而業(yè)務(wù)數(shù)據(jù)性能的測試尤其是WiMAX系統(tǒng)話務(wù)測試的重要組成。目前WiMAX系統(tǒng)話務(wù)測試工具一般基于TCP/IP (Transmission Control Protocol/Internet Protocol)協(xié)議創(chuàng)建客戶端到服務(wù)端的TCP連接,這種連接的靈敏度較 高,能夠?qū)崟r反饋當(dāng)前連接狀態(tài)。然而由于無線移動通訊的不穩(wěn)定性因素,尤其是需要 進(jìn)行多用戶、大吞吐量測試時通訊時延會相應(yīng)增大,這種過于靈敏的通訊機(jī)制經(jīng)常導(dǎo)致 連接的頻繁中斷,嚴(yán)重影響測試效果。如何提高測試性能并及時測得連接是否正常是需 要解決的技術(shù)問題。
發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問題是提供一種對連接進(jìn)行雙向檢測的方法及系統(tǒng),提高 測試性能。為了解決上述技術(shù)問題,本發(fā)明提供了一種面向連接的鏈路雙向檢測方法,包 括服務(wù)端和客戶端對兩者之間的連接分別進(jìn)行心跳檢測;在客戶端發(fā)起的心跳檢測流 程中,所述客戶端和所述服務(wù)端對發(fā)出的心跳檢測流程消息按發(fā)送順序進(jìn)行標(biāo)識,所述 客戶端根據(jù)接收到的心跳檢測響應(yīng)中的標(biāo)識判斷此心跳檢測響應(yīng)是否是針對此客戶端最 后一次發(fā)送的心跳檢測請求的響應(yīng)。進(jìn)一步地,上述方法還可以具有以下特點
對于客戶端發(fā)起的心跳檢測流程,所述客戶端維護(hù)請求序列號并在發(fā)出的心跳檢測 請求中標(biāo)識此請求序列號,所述服務(wù)端維護(hù)響應(yīng)序列號并在發(fā)出的心跳檢測響應(yīng)中標(biāo)識 此響應(yīng)序列號;初始化時請求序列號小于或等于響應(yīng)序列號;所述服務(wù)端收到心跳檢測 請求后,判斷此請求中請求序列號小于或等于其維護(hù)響應(yīng)序列號時,將響應(yīng)序列號增加 預(yù)設(shè)間隔值,在向所述客戶端返回的心跳檢測響應(yīng)中標(biāo)識此更新后的響應(yīng)序列號;所述 客戶端在預(yù)設(shè)的心跳檢測定時時間內(nèi)收到心跳檢測響應(yīng)后,判斷此響應(yīng)中響應(yīng)序列號大 于其維護(hù)的請求序列號時,將請求序列號更新為此響應(yīng)序列號的值,并在下一心跳檢測 周期發(fā)送的心跳檢測請求中標(biāo)識此更新后的請求序列號。進(jìn)一步地,上述方法還可以具有以下特點
所述客戶端在預(yù)設(shè)的心跳檢測定時時間內(nèi)收到心跳檢測響應(yīng)后,判斷此響應(yīng)中響應(yīng)序列號小于或等于其維護(hù)的請求序列號時,維持請求序列號的值,并在下一心跳檢測周 期發(fā)送的心跳檢測請求中標(biāo)識此請求序列號。進(jìn)一步地,上述方法還可以具有以下特點
所述服務(wù)端或所述客戶端在執(zhí)行心跳檢測過程中,向?qū)Χ嗽O(shè)備發(fā)出心跳檢測請求 后,在本端預(yù)設(shè)的心跳檢測定時時間內(nèi)未收到對端的心跳檢測響應(yīng)時,降低本端心跳檢 測請求發(fā)送周期的時長。進(jìn)一步地,上述方法還可以具有以下特點
對于服務(wù)端發(fā)起的心跳檢測流程,所述服務(wù)端向客戶端發(fā)出心跳檢測請求并在此請 求中標(biāo)識順序序列號,客戶端收到所述心跳檢測請求后,在返回的心跳檢測響應(yīng)中標(biāo)識 與所述心跳檢測請求中序列號相同的序列號值,所述服務(wù)端在預(yù)設(shè)的心跳檢測定時時間 內(nèi)收到心跳檢測響應(yīng)后,將所述序列號增加預(yù)設(shè)間隔值,并在下一心跳檢測周期發(fā)送的 心跳檢測請求中標(biāo)識此更新后的序列號。為了解決上述技術(shù)問題,本發(fā)明還提供了一種對連接進(jìn)行雙向檢測的系統(tǒng),包 括對對端進(jìn)行心跳檢測的服務(wù)端和客戶端;所述服務(wù)端,用于在在客戶端發(fā)起的心跳檢 測流程中,對發(fā)出的心跳檢測響應(yīng)消息按發(fā)送順序進(jìn)行標(biāo)識;所述客戶端,用于在客戶 端發(fā)起的心跳檢測流程中,對發(fā)出的心跳檢測請求消息按發(fā)送順序進(jìn)行標(biāo)識,并根據(jù)接 收到的心跳檢測響應(yīng)中的標(biāo)識判斷此心跳檢測響應(yīng)是否是針對此客戶端最后一次發(fā)送的 心跳檢測請求的響應(yīng)。進(jìn)一步地,上述系統(tǒng)還可以具有以下特點
所述服務(wù)端,還用于對于客戶端發(fā)起的心跳檢測流程,維護(hù)響應(yīng)序列號并在發(fā)出的 心跳檢測響應(yīng)中標(biāo)識此響應(yīng)序列號;在收到心跳檢測請求后,判斷此請求中請求序列號 小于或等于其維護(hù)響應(yīng)序列號時,將響應(yīng)序列號增加預(yù)設(shè)間隔值,在向所述客戶端返回 的心跳檢測響應(yīng)中標(biāo)識此更新后的響應(yīng)序列號;所述客戶端,還用于對于客戶端發(fā)起的 心跳檢測流程,維護(hù)請求序列號并在發(fā)出的心跳檢測請求中標(biāo)識此請求序列號;在初始 化時設(shè)置的請求序列號大于所述服務(wù)端初始化時設(shè)置的響應(yīng)序列號;在預(yù)設(shè)的心跳檢 測定時時間內(nèi)收到心跳檢測響應(yīng)后,判斷此響應(yīng)中響應(yīng)序列號大于其維護(hù)的請求序列號 時,將請求序列號更新為此響應(yīng)序列號的值,并在下一心跳檢測周期發(fā)送的心跳檢測請 求中標(biāo)識此更新后的請求序列號。進(jìn)一步地,上述系統(tǒng)還可以具有以下特點
所述客戶端,還用于在預(yù)設(shè)的心跳檢測定時時間內(nèi)收到心跳檢測響應(yīng)后,判斷此響 應(yīng)中響應(yīng)序列號小于或等于其維護(hù)的請求序列號時,維持請求序列號的值,并在下一心 跳檢測周期發(fā)送的心跳檢測請求中標(biāo)識此請求序列號。進(jìn)一步地,上述系統(tǒng)還可以具有以下特點
所述服務(wù)端或所述客戶端,還用于在執(zhí)行心跳檢測過程中,向?qū)Χ嗽O(shè)備發(fā)出心跳檢 測請求后,在本端預(yù)設(shè)的心跳檢測定時時間內(nèi)未收到對端的心跳檢測響應(yīng)時,降低本端 心跳檢測請求發(fā)送周期的時長。進(jìn)一步地,上述系統(tǒng)還可以具有以下特點
所述服務(wù)端,還用于在服務(wù)端發(fā)起的心跳檢測流程中,向客戶端發(fā)出心跳檢測請求 并在此請求中標(biāo)識順序序列號;在預(yù)設(shè)的心跳檢測定時時間內(nèi)收到心跳檢測響應(yīng)后,將所述序列號增加預(yù)設(shè)間隔值,并在下一心跳檢測周期發(fā)送的心跳檢測請求中標(biāo)識此更新 后的序列號;
所述客戶端,還用于在在服務(wù)端發(fā)起的心跳檢測流程中,收到心跳檢測請求后,在 返回的心跳檢測響應(yīng)中標(biāo)識與所述心跳檢測請求中序列號相同的序列號值。本發(fā)明可提高對連接的測試性能,并且及時測得連接是否正常。
圖1是面向連接的鏈路雙向檢測方法示意圖。
具體實施例方式對連接進(jìn)行雙向檢測的系統(tǒng)包括對對端進(jìn)行心跳檢測的服務(wù)端和客戶端。服務(wù)端用于在在客戶端發(fā)起的心跳檢測流程中,對發(fā)出的心跳檢測響應(yīng)消息按 發(fā)送順序進(jìn)行標(biāo)識。客戶端用于在客戶端發(fā)起的心跳檢測流程中,對發(fā)出的心跳檢測請求消息按發(fā) 送順序進(jìn)行標(biāo)識;并根據(jù)接收到的心跳檢測響應(yīng)中的標(biāo)識判斷此心跳檢測響應(yīng)是否是針 對此客戶端最后一次發(fā)送的心跳檢測請求的響應(yīng)。具體的,在客戶端發(fā)起的心跳檢測流程中,系統(tǒng)通過以下方式保證測試的準(zhǔn)確 性
服務(wù)端用于對于客戶端發(fā)起的心跳檢測流程,維護(hù)響應(yīng)序列號并在發(fā)出的心跳檢測 響應(yīng)中標(biāo)識此響應(yīng)序列號;收到心跳檢測請求后,判斷此請求中請求序列號小于或等于 其維護(hù)響應(yīng)序列號時,將響應(yīng)序列號增加預(yù)設(shè)間隔值,在向客戶端返回的心跳檢測響應(yīng) 中標(biāo)識此更新后的響應(yīng)序列號??蛻舳擞糜趯τ诳蛻舳税l(fā)起的心跳檢測流程,維護(hù)請求序列號并在發(fā)出的心跳 檢測請求中標(biāo)識此請求序列號;在初始化時設(shè)置的請求序列號大于服務(wù)端初始化時設(shè)置 的響應(yīng)序列號;在預(yù)設(shè)的心跳檢測定時時間內(nèi)收到心跳檢測響應(yīng)后,判斷此響應(yīng)中響應(yīng) 序列號大于其維護(hù)的請求序列號時,將請求序列號更新為此響應(yīng)序列號的值,并在下一 心跳檢測周期發(fā)送的心跳檢測請求中標(biāo)識此更新后的請求序列號??蛻舳诉€用于在預(yù)設(shè)的心跳檢測定時時間內(nèi)收到心跳檢測響應(yīng)后,判斷此響應(yīng) 中響應(yīng)序列號小于或等于其維護(hù)的請求序列號時,維持請求序列號的值,并在下一心跳 檢測周期發(fā)送的心跳檢測請求中標(biāo)識此請求序列號。本系統(tǒng)可動態(tài)調(diào)整心跳檢測中請求發(fā)送的頻率的次數(shù),使網(wǎng)絡(luò)狀態(tài)異常時,較 快的發(fā)起下一次心跳檢測,及時獲知網(wǎng)絡(luò)恢復(fù)正常的狀態(tài)。服務(wù)端用于在執(zhí)行心跳檢測過程中,向?qū)Χ嗽O(shè)備發(fā)出心跳檢測請求后,在本端 預(yù)設(shè)的心跳檢測定時時間內(nèi)未收到對端的心跳檢測響應(yīng)時,降低本端心跳檢測請求發(fā)送 周期的時長??蛻舳擞糜谠趫?zhí)行心跳檢測過程中,向?qū)Χ嗽O(shè)備發(fā)出心跳檢測請求后,在本端 預(yù)設(shè)的心跳檢測定時時間內(nèi)未收到對端的心跳檢測響應(yīng)時,降低本端心跳檢測請求發(fā)送 周期的時長。本系統(tǒng)針對客戶端發(fā)起的心跳檢測以及服務(wù)端發(fā)起的心跳檢測采用不同程度的有效性判斷程序,對于客戶端發(fā)起的心跳檢測,采用上述應(yīng)用請求序列號和響應(yīng)序列號 的較為嚴(yán)格的檢測方式,準(zhǔn)確性較高,對于服務(wù)端發(fā)起的心跳檢測,采用較為簡單的檢 測試,計算速率較快。在服務(wù)端發(fā)起的心跳檢測流程中,采用以下方式實現(xiàn)
服務(wù)端用于在服務(wù)端發(fā)起的心跳檢測流程中,向客戶端發(fā)出心跳檢測請求并在此請 求中標(biāo)識順序序列號;在預(yù)設(shè)的心跳檢測定時時間內(nèi)收到心跳檢測響應(yīng)后,將序列號增 加預(yù)設(shè)間隔值,并在下一心跳檢測周期發(fā)送的心跳檢測請求中標(biāo)識此更新后的序列號。客戶端用于在在服務(wù)端發(fā)起的心跳檢測流程中,收到心跳檢測請求后,在返回 的心跳檢測響應(yīng)中標(biāo)識與心跳檢測請求中序列號相同的序列號值。本系統(tǒng)中,服務(wù)端或客戶端在重發(fā)心跳檢測請求次數(shù)達(dá)到預(yù)設(shè)最大重傳次數(shù)且 均未在預(yù)設(shè)的心跳檢測定時時間內(nèi)收到心跳檢測響應(yīng)時,判斷連接異常,注銷連接對應(yīng) 的用戶。本系統(tǒng)的服務(wù)端包括負(fù)責(zé)建立和維護(hù)連接的連接模塊和用于進(jìn)行上述心跳檢測 的心跳檢測模塊,連接模塊包括鑒權(quán)認(rèn)證子模塊和用戶維護(hù)子模塊。鑒權(quán)認(rèn)證子模塊用 于對用戶進(jìn)行認(rèn)證,并在認(rèn)證通過后通知用戶維護(hù)子模塊,用戶維護(hù)子模塊將認(rèn)證通過 的用戶更新至數(shù)據(jù)區(qū)。心跳檢測模塊在重發(fā)心跳檢測請求次數(shù)達(dá)到預(yù)設(shè)最大重傳次數(shù)且 均未在預(yù)設(shè)的心跳檢測定時時間內(nèi)收到心跳檢測響應(yīng)時,判斷連接異常,并向用戶維護(hù) 子模塊上報用戶注銷消息,用戶維護(hù)子模塊則刪除用戶。本系統(tǒng)的服務(wù)端包括負(fù)責(zé)建立和維護(hù)連接的連接模塊和用于進(jìn)行上述心跳檢測 的心跳檢測模塊。連接模塊用于向服務(wù)端發(fā)起用戶認(rèn)證并在認(rèn)證成功后為用戶創(chuàng)建用戶 數(shù)據(jù)區(qū)。心跳檢測模塊在重發(fā)心跳檢測請求次數(shù)達(dá)到預(yù)設(shè)最大重傳次數(shù)且均未在預(yù)設(shè)的 心跳檢測定時時間內(nèi)收到心跳檢測響應(yīng)時,判斷連接異常,并向此連接模塊上報連接中 斷消息,此連接模塊刪除用戶。如圖1所示,面向連接的鏈路雙向檢測方法包括服務(wù)端和客戶端對兩者之間 的連接分別進(jìn)行心跳檢測;在客戶端發(fā)起的心跳檢測流程中,客戶端和服務(wù)端對發(fā)出的 心跳檢測流程消息按發(fā)送順序進(jìn)行標(biāo)識,客戶端根據(jù)接收到的心跳檢測響應(yīng)中的標(biāo)識判 斷此心跳檢測響應(yīng)是否是針對此客戶端最后一次發(fā)送的心跳檢測請求的響應(yīng)。在客戶端發(fā)起的心跳檢測流程中,通過以下方式保證測試的準(zhǔn)確性
對于客戶端發(fā)起的心跳檢測流程,客戶端維護(hù)請求序列號并在發(fā)出的心跳檢測請求 中標(biāo)識此請求序列號,服務(wù)端維護(hù)響應(yīng)序列號并在發(fā)出的心跳檢測響應(yīng)中標(biāo)識此響應(yīng)序 列號;初始化時請求序列號小于或等于響應(yīng)序列號。服務(wù)端收到心跳檢測請求后,判斷此請求中請求序列號小于或等于其維護(hù)響應(yīng) 序列號時,將響應(yīng)序列號增加預(yù)設(shè)間隔值,在向客戶端返回的心跳檢測響應(yīng)中標(biāo)識此更 新后的響應(yīng)序列號??蛻舳嗽陬A(yù)設(shè)的心跳檢測定時時間內(nèi)收到心跳檢測響應(yīng)后,判斷此響應(yīng)中響應(yīng) 序列號大于其維護(hù)的請求序列號時,將請求序列號更新為此響應(yīng)序列號的值,并在下一 心跳檢測周期發(fā)送的心跳檢測請求中標(biāo)識此更新后的請求序列號??蛻舳嗽陬A(yù)設(shè)的心跳檢測定時時間內(nèi)收到心跳檢測響應(yīng)后,判斷此響應(yīng)中響應(yīng) 序列號小于或等于其維護(hù)的請求序列號時,維持請求序列號的值,并在下一心跳檢測周期發(fā)送的心跳檢測請求中標(biāo)識此請求序列號。本系統(tǒng)針對客戶端發(fā)起的心跳檢測以及服務(wù)端發(fā)起的心跳檢測采用不同程度的 有效性判斷程序,對于客戶端發(fā)起的心跳檢測,采用上述應(yīng)用請求序列號和響應(yīng)序列號 的較為嚴(yán)格的檢測方式,準(zhǔn)確性較高,對于服務(wù)端發(fā)起的心跳檢測,采用較為簡單的檢 測試,計算速率較快。在服務(wù)端發(fā)起的心跳檢測流程中,采用以下方式實現(xiàn)
對于服務(wù)端發(fā)起的心跳檢測流程,服務(wù)端向客戶端發(fā)出心跳檢測請求并在此請求中 標(biāo)識順序序列號,客戶端收到心跳檢測請求后,在返回的心跳檢測響應(yīng)中標(biāo)識與心跳檢 測請求中序列號相同的序列號值,服務(wù)端在預(yù)設(shè)的心跳檢測定時時間內(nèi)收到心跳檢測響 應(yīng)后,將序列號增加預(yù)設(shè)間隔值,并在下一心跳檢測周期發(fā)送的心跳檢測請求中標(biāo)識此 更新后的序列號。本系統(tǒng)可動態(tài)調(diào)整心跳檢測中請求發(fā)送的頻率的次數(shù),使網(wǎng)絡(luò)狀態(tài)異常時,較 快的發(fā)起下一次心跳檢測,及時獲知網(wǎng)絡(luò)恢復(fù)正常的狀態(tài)。服務(wù)端或客戶端在執(zhí)行心跳檢測過程中,向?qū)Χ嗽O(shè)備發(fā)出心跳檢測請求后,在 本端預(yù)設(shè)的心跳檢測定時時間內(nèi)未收到對端的心跳檢測響應(yīng)時,降低本端心跳檢測請求 發(fā)送周期的時長。服務(wù)端或客戶端在重發(fā)心跳檢測請求次數(shù)達(dá)到預(yù)設(shè)最大重傳次數(shù)且均未在預(yù)設(shè) 的心跳檢測定時時間內(nèi)收到心跳檢測響應(yīng)時,判斷連接異常,注銷連接對應(yīng)的用戶。
具體實施例服務(wù)端與客戶端進(jìn)行連接初始化的過程包括
步驟201,步驟客戶端的連接模塊采集終端用戶信息,這包括終端MAC地址、用戶 名、用戶編號等上層應(yīng)用需要的數(shù)據(jù)。服務(wù)端鑒權(quán)認(rèn)證子模塊開始監(jiān)聽指定端口的用戶 消息。服務(wù)端用戶管理子模塊開始監(jiān)聽目標(biāo)消息。步驟202,客戶端連接子模塊使用一個匿名ID并攜帶采集的用戶信息向服務(wù)端 發(fā)起注冊請求。此后啟動一個定時器來等待服務(wù)端的響應(yīng),定時器超時無響應(yīng)則重新發(fā) 送。步驟203,服務(wù)端鑒權(quán)認(rèn)證子模塊接收到用戶注冊消息后進(jìn)行數(shù)據(jù)解密并對用戶 合法性進(jìn)行校驗。校驗失敗則返回繼續(xù)監(jiān)聽,校驗通過后將解析出來的用戶ID進(jìn)行核 查,對于匿名ID和不存在的ID均作為新用戶處理,為其分配一個ID。對于ID存在的 用戶作為用戶信息更新處理。步驟204,服務(wù)端鑒權(quán)認(rèn)證子模塊將用戶注冊/用戶更新消息發(fā)送給服務(wù)端用戶 管理子模塊,用戶管理子模塊根據(jù)消息中的用戶信息來更新用戶隊列。為該用戶啟動心 跳檢測模塊,該模塊負(fù)責(zé)維護(hù)客戶端和服務(wù)端的持續(xù)連接。步驟205,服務(wù)端鑒權(quán)認(rèn)證子模塊向客戶端返回一個應(yīng)答消息,消息中攜帶該用 戶的ID。步驟206,客戶端的連接模塊接收到應(yīng)答消息后解析消息中的用戶ID進(jìn)行保 存,此ID將一直作為該用戶的唯一標(biāo)識,后續(xù)即使網(wǎng)絡(luò)擁塞引起用戶暫時離線,重連時
(此情況視為用戶持續(xù)連接)仍然使用該ID,這樣保證服務(wù)端對用戶的持續(xù)管理。
步驟207,客戶端啟動心跳檢測模塊,該模塊與步驟204服務(wù)端啟動的心跳檢測 模塊相呼應(yīng)完成用戶的持續(xù)連接。步驟204和步驟207啟動的心跳檢測模塊均為雙向認(rèn) 證。服務(wù)端發(fā)起心跳檢測的檢測流程包括
步驟301,服務(wù)端針對一客戶端初始化心跳檢測相關(guān)參數(shù),包括序列號STl (此值可 以默認(rèn)初始值為1)、心跳檢測周期、心跳檢測定時時長,預(yù)設(shè)最大重傳次數(shù)。步驟302,服務(wù)端向客戶端發(fā)送含發(fā)送序列號STl的心跳檢測請求,同時啟動心 跳檢測定時器。客戶端接收到該心跳檢測請求后向服務(wù)端發(fā)送心跳檢測響應(yīng)并在此響應(yīng) 中標(biāo)識此心跳檢測請求中的序列號STl。步驟303,服務(wù)端判斷是否在定時器超時前收到客戶端的心跳檢測響應(yīng),如果收 到執(zhí)行步驟304,如果未收到,執(zhí)行步驟305。步驟304,服務(wù)端在定時器超時前收到客戶端的心跳檢測響應(yīng),表明兩者之間連 接正常。服務(wù)端將心跳檢測周期和預(yù)設(shè)最大重傳次數(shù)重新設(shè)置為初始值。將序列號STl 增加預(yù)設(shè)間隔值(例如1)后下一個發(fā)送周期繼續(xù)發(fā)送心跳檢測請求。步驟305,服務(wù)端在定時器超時前未收到客戶端的心跳檢測響應(yīng),降低本端心跳 檢測請求發(fā)送周期的時長(例如將此周期的時長減半)同時將重傳次數(shù)加1,等待下一心 跳檢測請求發(fā)送周期重傳心跳檢測請求。這樣服務(wù)端將很快發(fā)起下一次心跳請求。服務(wù) 端在每次重傳心跳檢測請求后檢查重傳次數(shù)是否已達(dá)到預(yù)設(shè)最大重傳次數(shù),未達(dá)到時, 繼續(xù)重傳,達(dá)到時,服務(wù)端判斷連接中斷,釋放此連接對應(yīng)的用戶資源。客戶端發(fā)起心跳檢測的檢測流程包括
步驟401,客戶端初始化針對服務(wù)端的心跳檢測相關(guān)參數(shù),包括請求序列號CTl (此 值可以默認(rèn)初始值為0或1)、心跳檢測周期、心跳檢測定時時長,預(yù)設(shè)最大重傳次數(shù)。 服務(wù)端初始化響應(yīng)序列號ST2 (此值可以默認(rèn)初始值為1)。步驟402,客戶端發(fā)送標(biāo)識有請求序列號CTl的心跳請求給服務(wù)端,同時啟動心 跳檢測定時器。步驟403,服務(wù)端收到心跳檢測請求后,判斷此請求中請求序列號小于或等于其 維護(hù)響應(yīng)序列號時,判斷此請求為有效請求,將響應(yīng)序列號增加預(yù)設(shè)間隔值(例如1), 在向客戶端返回的心跳檢測響應(yīng)中標(biāo)識此更新后的響應(yīng)序列號??蛻舳酥貍髌陂g需要主動進(jìn)行用戶信息刷新,這樣服務(wù)端在客戶端網(wǎng)絡(luò)擁塞后 可以及時更新用戶信息。移動無線通訊中下行(服務(wù)器到終端)通訊帶寬較高,通訊能 力較大,服務(wù)端也較上行更容易將應(yīng)答消息發(fā)送給客戶端。因此步驟403中服務(wù)端采用 上述方式可以增強(qiáng)校驗的準(zhǔn)確率。步驟404,客戶端判斷是否在定時器超時前收到服務(wù)端的心跳檢測響應(yīng),如果收 到執(zhí)行步驟405,如果未收到,執(zhí)行步驟406。步驟405,客戶端在定時器超時前收到服務(wù)端的心跳檢測響應(yīng),判斷此響應(yīng)中響 應(yīng)序列號大于其維護(hù)的請求序列號時,將請求序列號更新為此響應(yīng)序列號的值,并在下 一心跳檢測周期發(fā)送的心跳檢測請求中標(biāo)識此更新后的請求序列號,并將心跳檢測周期 和預(yù)設(shè)最大重傳次數(shù)重新設(shè)置為初始值??蛻舳伺袛啻隧憫?yīng)中響應(yīng)序列號小于或等于其 維護(hù)的請求序列號時,維持請求序列號,并在下一心跳檢測周期發(fā)送的心跳檢測請求中標(biāo)識此請求序列號。步驟406,客戶端在定時器超時前未收到服務(wù)端的心跳檢測響應(yīng),降低本端心跳 檢測請求發(fā)送周期的時長(例如將此周期的時長減半)同時將重傳次數(shù)加1,等待下一 心跳檢測請求發(fā)送周期重傳心跳檢測請求??蛻舳嗽诿看沃貍餍奶鴻z測請求后檢查重傳 次數(shù)是否已達(dá)到預(yù)設(shè)最大重傳次數(shù),未達(dá)到時,繼續(xù)重傳,達(dá)到時,客戶端判斷連接中 斷,釋放此連接對應(yīng)的用戶資源。需要說明的是,在不沖突的情況下,本申請中的實施例及實施例中的特征可以 相互任意組合。當(dāng)然,本發(fā)明還可有其他多種實施例,在不背離本發(fā)明精神及其實質(zhì)的情況 下,熟悉本領(lǐng)域的技術(shù)人員可根據(jù)本發(fā)明作出各種相應(yīng)的改變和變形,但這些相應(yīng)的改 變和變形都應(yīng)屬于本發(fā)明所附的權(quán)利要求的保護(hù)范圍。本領(lǐng)域普通技術(shù)人員可以理解上述方法中的全部或部分步驟可通過程序來指令 相關(guān)硬件完成,所述程序可以存儲于計算機(jī)可讀存儲介質(zhì)中,如只讀存儲器、磁盤或光 盤等??蛇x地,上述實施例的全部或部分步驟也可以使用一個或多個集成電路來實現(xiàn)。 相應(yīng)地,上述實施例中的各模塊/單元可以采用硬件的形式實現(xiàn),也可以采用軟件功能 模塊的形式實現(xiàn)。本發(fā)明不限制于任何特定形式的硬件和軟件的結(jié)合。
權(quán)利要求
1.一種面向連接的鏈路雙向檢測方法,其特征在于,服務(wù)端和客戶端對兩者之間的連接分別進(jìn)行心跳檢測;在客戶端發(fā)起的心跳檢測流 程中,所述客戶端和所述服務(wù)端對發(fā)出的心跳檢測流程消息按發(fā)送順序進(jìn)行標(biāo)識,所述 客戶端根據(jù)接收到的心跳檢測響應(yīng)中的標(biāo)識判斷此心跳檢測響應(yīng)是否是針對此客戶端最 后一次發(fā)送的心跳檢測請求的響應(yīng)。
2.如權(quán)利要求1所述的方法,其特征在于,對于客戶端發(fā)起的心跳檢測流程,所述客戶端維護(hù)請求序列號并在發(fā)出的心跳檢測 請求中標(biāo)識此請求序列號,所述服務(wù)端維護(hù)響應(yīng)序列號并在發(fā)出的心跳檢測響應(yīng)中標(biāo)識 此響應(yīng)序列號;初始化時請求序列號小于或等于響應(yīng)序列號;所述服務(wù)端收到心跳檢測請求后,判斷此請求中請求序列號小于或等于其維護(hù)響應(yīng) 序列號時,將響應(yīng)序列號增加預(yù)設(shè)間隔值,在向所述客戶端返回的心跳檢測響應(yīng)中標(biāo)識 此更新后的響應(yīng)序列號;所述客戶端在預(yù)設(shè)的心跳檢測定時時間內(nèi)收到心跳檢測響應(yīng)后,判斷此響應(yīng)中響應(yīng) 序列號大于其維護(hù)的請求序列號時,將請求序列號更新為此響應(yīng)序列號的值,并在下一 心跳檢測周期發(fā)送的心跳檢測請求中標(biāo)識此更新后的請求序列號。
3.如權(quán)利要求2所述的方法,其特征在于,所述客戶端在預(yù)設(shè)的心跳檢測定時時間內(nèi)收到心跳檢測響應(yīng)后,判斷此響應(yīng)中響應(yīng) 序列號小于或等于其維護(hù)的請求序列號時,維持請求序列號的值,并在下一心跳檢測周 期發(fā)送的心跳檢測請求中標(biāo)識此請求序列號。
4.如權(quán)利要求1所述的方法,其特征在于,所述服務(wù)端或所述客戶端在執(zhí)行心跳檢測過程中,向?qū)Χ嗽O(shè)備發(fā)出心跳檢測請求 后,在本端預(yù)設(shè)的心跳檢測定時時間內(nèi)未收到對端的心跳檢測響應(yīng)時,降低本端心跳檢 測請求發(fā)送周期的時長。
5.如權(quán)利要求1所述的方法,其特征在于,對于服務(wù)端發(fā)起的心跳檢測流程,所述服務(wù)端向客戶端發(fā)出心跳檢測請求并在此請 求中標(biāo)識順序序列號,客戶端收到所述心跳檢測請求后,在返回的心跳檢測響應(yīng)中標(biāo)識 與所述心跳檢測請求中序列號相同的序列號值,所述服務(wù)端在預(yù)設(shè)的心跳檢測定時時間 內(nèi)收到心跳檢測響應(yīng)后,將所述序列號增加預(yù)設(shè)間隔值,并在下一心跳檢測周期發(fā)送的 心跳檢測請求中標(biāo)識此更新后的序列號。
6.一種對連接進(jìn)行雙向檢測的系統(tǒng),包括對對端進(jìn)行心跳檢測的服務(wù)端和客戶端, 其特征在于,所述服務(wù)端,用于在在客戶端發(fā)起的心跳檢測流程中,對發(fā)出的心跳檢測響應(yīng)消息 按發(fā)送順序進(jìn)行標(biāo)識;所述客戶端,用于在客戶端發(fā)起的心跳檢測流程中,對發(fā)出的心跳檢測請求消息按 發(fā)送順序進(jìn)行標(biāo)識,并根據(jù)接收到的心跳檢測響應(yīng)中的標(biāo)識判斷此心跳檢測響應(yīng)是否是 針對此客戶端最后一次發(fā)送的心跳檢測請求的響應(yīng)。
7.如權(quán)利要求6所述的系統(tǒng),其特征在于,所述服務(wù)端,還用于對于客戶端發(fā)起的心跳檢測流程,維護(hù)響應(yīng)序列號并在發(fā)出的 心跳檢測響應(yīng)中標(biāo)識此響應(yīng)序列號;在收到心跳檢測請求后,判斷此請求中請求序列號小于或等于其維護(hù)響應(yīng)序列號時,將響應(yīng)序列號增加預(yù)設(shè)間隔值,在向所述客戶端返回 的心跳檢測響應(yīng)中標(biāo)識此更新后的響應(yīng)序列號;所述客戶端,還用于對于客戶端發(fā)起的心跳檢測流程,維護(hù)請求序列號并在發(fā)出的 心跳檢測請求中標(biāo)識此請求序列號;在初始化時設(shè)置的請求序列號大于所述服務(wù)端初始 化時設(shè)置的響應(yīng)序列號;在預(yù)設(shè)的心跳檢測定時時間內(nèi)收到心跳檢測響應(yīng)后,判斷此響 應(yīng)中響應(yīng)序列號大于其維護(hù)的請求序列號時,將請求序列號更新為此響應(yīng)序列號的值, 并在下一心跳檢測周期發(fā)送的心跳檢測請求中標(biāo)識此更新后的請求序列號。
8.如權(quán)利要求7所述的系統(tǒng),其特征在于,所述客戶端,還用于在預(yù)設(shè)的心跳檢測定時時間內(nèi)收到心跳檢測響應(yīng)后,判斷此響 應(yīng)中響應(yīng)序列號小于或等于其維護(hù)的請求序列號時,維持請求序列號的值,并在下一心 跳檢測周期發(fā)送的心跳檢測請求中標(biāo)識此請求序列號。
9.如權(quán)利要求6所述的系統(tǒng),其特征在于,所述服務(wù)端或所述客戶端,還用于在執(zhí)行心跳檢測過程中,向?qū)Χ嗽O(shè)備發(fā)出心跳檢 測請求后,在本端預(yù)設(shè)的心跳檢測定時時間內(nèi)未收到對端的心跳檢測響應(yīng)時,降低本端 心跳檢測請求發(fā)送周期的時長。
10.如權(quán)利要求6所述的系統(tǒng),其特征在于,所述服務(wù)端,還用于在服務(wù)端發(fā)起的心跳檢測流程中,向客戶端發(fā)出心跳檢測請求 并在此請求中標(biāo)識順序序列號;在預(yù)設(shè)的心跳檢測定時時間內(nèi)收到心跳檢測響應(yīng)后,將 所述序列號增加預(yù)設(shè)間隔值,并在下一心跳檢測周期發(fā)送的心跳檢測請求中標(biāo)識此更新 后的序列號;所述客戶端,還用于在在服務(wù)端發(fā)起的心跳檢測流程中,收到心跳檢測請求后,在 返回的心跳檢測響應(yīng)中標(biāo)識與所述心跳檢測請求中序列號相同的序列號值。
全文摘要
本發(fā)明公開了一種對連接進(jìn)行雙向檢測的方法及系統(tǒng),此方法包括服務(wù)端和客戶端對兩者之間的連接分別進(jìn)行心跳檢測;在客戶端發(fā)起的心跳檢測流程中,所述客戶端和所述服務(wù)端對發(fā)出的心跳檢測流程消息按發(fā)送順序進(jìn)行標(biāo)識,所述客戶端根據(jù)接收到的心跳檢測響應(yīng)中的標(biāo)識判斷此心跳檢測響應(yīng)是否是針對此客戶端最后一次發(fā)送的心跳檢測請求的響應(yīng)。本發(fā)明可提高對連接的測試性能,并且及時測得連接是否正常。
文檔編號H04W24/04GK102014416SQ20101057230
公開日2011年4月13日 申請日期2010年12月3日 優(yōu)先權(quán)日2010年12月3日
發(fā)明者崔國軍 申請人:中興通訊股份有限公司