午夜毛片免费看,老师老少妇黄色网站,久久本道综合久久伊人,伊人黄片子

一種對(duì)連接進(jìn)行雙向檢測(cè)的方法及系統(tǒng)的制作方法

文檔序號(hào):7767537閱讀:301來(lái)源:國(guó)知局
專利名稱:一種對(duì)連接進(jìn)行雙向檢測(cè)的方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及無(wú)線移動(dòng)通訊領(lǐng)域,尤其涉及一種對(duì)連接進(jìn)行雙向檢測(cè)的方法及系 統(tǒng)。
背景技術(shù)
全球互操作性微波接入(WorldwideInteroperability for Microwave Access,簡(jiǎn)稱 WiMAX)系統(tǒng)是基于IEEE 802.16d/e標(biāo)準(zhǔn)的寬帶無(wú)線接入城域網(wǎng)技術(shù),具有數(shù)據(jù)速率 高、容量大,支持不同服務(wù)質(zhì)量(Qualityof Service,簡(jiǎn)稱QOS)的業(yè)務(wù)數(shù)據(jù)服務(wù)的特 點(diǎn)。隨著WiMAX技術(shù)和產(chǎn)品的成熟以及商用局的增多,WiMAX系統(tǒng)的大話務(wù)量測(cè)試 非常重要,而業(yè)務(wù)數(shù)據(jù)性能的測(cè)試尤其是WiMAX系統(tǒng)話務(wù)測(cè)試的重要組成。目前WiMAX系統(tǒng)話務(wù)測(cè)試工具一般基于TCP/IP (Transmission Control Protocol/Internet Protocol)協(xié)議創(chuàng)建客戶端到服務(wù)端的TCP連接,這種連接的靈敏度較 高,能夠?qū)崟r(shí)反饋當(dāng)前連接狀態(tài)。然而由于無(wú)線移動(dòng)通訊的不穩(wěn)定性因素,尤其是需要 進(jìn)行多用戶、大吞吐量測(cè)試時(shí)通訊時(shí)延會(huì)相應(yīng)增大,這種過(guò)于靈敏的通訊機(jī)制經(jīng)常導(dǎo)致 連接的頻繁中斷,嚴(yán)重影響測(cè)試效果。如何提高測(cè)試性能并及時(shí)測(cè)得連接是否正常是需 要解決的技術(shù)問(wèn)題。

發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問(wèn)題是提供一種對(duì)連接進(jìn)行雙向檢測(cè)的方法及系統(tǒng),提高 測(cè)試性能。為了解決上述技術(shù)問(wèn)題,本發(fā)明提供了一種面向連接的鏈路雙向檢測(cè)方法,包 括服務(wù)端和客戶端對(duì)兩者之間的連接分別進(jìn)行心跳檢測(cè);在客戶端發(fā)起的心跳檢測(cè)流 程中,所述客戶端和所述服務(wù)端對(duì)發(fā)出的心跳檢測(cè)流程消息按發(fā)送順序進(jìn)行標(biāo)識(shí),所述 客戶端根據(jù)接收到的心跳檢測(cè)響應(yīng)中的標(biāo)識(shí)判斷此心跳檢測(cè)響應(yīng)是否是針對(duì)此客戶端最 后一次發(fā)送的心跳檢測(cè)請(qǐng)求的響應(yīng)。進(jìn)一步地,上述方法還可以具有以下特點(diǎn)
對(duì)于客戶端發(fā)起的心跳檢測(cè)流程,所述客戶端維護(hù)請(qǐng)求序列號(hào)并在發(fā)出的心跳檢測(cè) 請(qǐng)求中標(biāo)識(shí)此請(qǐng)求序列號(hào),所述服務(wù)端維護(hù)響應(yīng)序列號(hào)并在發(fā)出的心跳檢測(cè)響應(yīng)中標(biāo)識(shí) 此響應(yīng)序列號(hào);初始化時(shí)請(qǐng)求序列號(hào)小于或等于響應(yīng)序列號(hào);所述服務(wù)端收到心跳檢測(cè) 請(qǐng)求后,判斷此請(qǐng)求中請(qǐng)求序列號(hào)小于或等于其維護(hù)響應(yīng)序列號(hào)時(shí),將響應(yīng)序列號(hào)增加 預(yù)設(shè)間隔值,在向所述客戶端返回的心跳檢測(cè)響應(yīng)中標(biāo)識(shí)此更新后的響應(yīng)序列號(hào);所述 客戶端在預(yù)設(shè)的心跳檢測(cè)定時(shí)時(shí)間內(nèi)收到心跳檢測(cè)響應(yīng)后,判斷此響應(yīng)中響應(yīng)序列號(hào)大 于其維護(hù)的請(qǐng)求序列號(hào)時(shí),將請(qǐng)求序列號(hào)更新為此響應(yīng)序列號(hào)的值,并在下一心跳檢測(cè) 周期發(fā)送的心跳檢測(cè)請(qǐng)求中標(biāo)識(shí)此更新后的請(qǐng)求序列號(hào)。進(jìn)一步地,上述方法還可以具有以下特點(diǎn)
所述客戶端在預(yù)設(shè)的心跳檢測(cè)定時(shí)時(shí)間內(nèi)收到心跳檢測(cè)響應(yīng)后,判斷此響應(yīng)中響應(yīng)序列號(hào)小于或等于其維護(hù)的請(qǐng)求序列號(hào)時(shí),維持請(qǐng)求序列號(hào)的值,并在下一心跳檢測(cè)周 期發(fā)送的心跳檢測(cè)請(qǐng)求中標(biāo)識(shí)此請(qǐng)求序列號(hào)。進(jìn)一步地,上述方法還可以具有以下特點(diǎn)
所述服務(wù)端或所述客戶端在執(zhí)行心跳檢測(cè)過(guò)程中,向?qū)Χ嗽O(shè)備發(fā)出心跳檢測(cè)請(qǐng)求 后,在本端預(yù)設(shè)的心跳檢測(cè)定時(shí)時(shí)間內(nèi)未收到對(duì)端的心跳檢測(cè)響應(yīng)時(shí),降低本端心跳檢 測(cè)請(qǐng)求發(fā)送周期的時(shí)長(zhǎng)。進(jìn)一步地,上述方法還可以具有以下特點(diǎn)
對(duì)于服務(wù)端發(fā)起的心跳檢測(cè)流程,所述服務(wù)端向客戶端發(fā)出心跳檢測(cè)請(qǐng)求并在此請(qǐng) 求中標(biāo)識(shí)順序序列號(hào),客戶端收到所述心跳檢測(cè)請(qǐng)求后,在返回的心跳檢測(cè)響應(yīng)中標(biāo)識(shí) 與所述心跳檢測(cè)請(qǐng)求中序列號(hào)相同的序列號(hào)值,所述服務(wù)端在預(yù)設(shè)的心跳檢測(cè)定時(shí)時(shí)間 內(nèi)收到心跳檢測(cè)響應(yīng)后,將所述序列號(hào)增加預(yù)設(shè)間隔值,并在下一心跳檢測(cè)周期發(fā)送的 心跳檢測(cè)請(qǐng)求中標(biāo)識(shí)此更新后的序列號(hào)。為了解決上述技術(shù)問(wèn)題,本發(fā)明還提供了一種對(duì)連接進(jìn)行雙向檢測(cè)的系統(tǒng),包 括對(duì)對(duì)端進(jìn)行心跳檢測(cè)的服務(wù)端和客戶端;所述服務(wù)端,用于在在客戶端發(fā)起的心跳檢 測(cè)流程中,對(duì)發(fā)出的心跳檢測(cè)響應(yīng)消息按發(fā)送順序進(jìn)行標(biāo)識(shí);所述客戶端,用于在客戶 端發(fā)起的心跳檢測(cè)流程中,對(duì)發(fā)出的心跳檢測(cè)請(qǐng)求消息按發(fā)送順序進(jìn)行標(biāo)識(shí),并根據(jù)接 收到的心跳檢測(cè)響應(yīng)中的標(biāo)識(shí)判斷此心跳檢測(cè)響應(yīng)是否是針對(duì)此客戶端最后一次發(fā)送的 心跳檢測(cè)請(qǐng)求的響應(yīng)。進(jìn)一步地,上述系統(tǒng)還可以具有以下特點(diǎn)
所述服務(wù)端,還用于對(duì)于客戶端發(fā)起的心跳檢測(cè)流程,維護(hù)響應(yīng)序列號(hào)并在發(fā)出的 心跳檢測(cè)響應(yīng)中標(biāo)識(shí)此響應(yīng)序列號(hào);在收到心跳檢測(cè)請(qǐng)求后,判斷此請(qǐng)求中請(qǐng)求序列號(hào) 小于或等于其維護(hù)響應(yīng)序列號(hào)時(shí),將響應(yīng)序列號(hào)增加預(yù)設(shè)間隔值,在向所述客戶端返回 的心跳檢測(cè)響應(yīng)中標(biāo)識(shí)此更新后的響應(yīng)序列號(hào);所述客戶端,還用于對(duì)于客戶端發(fā)起的 心跳檢測(cè)流程,維護(hù)請(qǐng)求序列號(hào)并在發(fā)出的心跳檢測(cè)請(qǐng)求中標(biāo)識(shí)此請(qǐng)求序列號(hào);在初始 化時(shí)設(shè)置的請(qǐng)求序列號(hào)大于所述服務(wù)端初始化時(shí)設(shè)置的響應(yīng)序列號(hào);在預(yù)設(shè)的心跳檢 測(cè)定時(shí)時(shí)間內(nèi)收到心跳檢測(cè)響應(yīng)后,判斷此響應(yīng)中響應(yīng)序列號(hào)大于其維護(hù)的請(qǐng)求序列號(hào) 時(shí),將請(qǐng)求序列號(hào)更新為此響應(yīng)序列號(hào)的值,并在下一心跳檢測(cè)周期發(fā)送的心跳檢測(cè)請(qǐng) 求中標(biāo)識(shí)此更新后的請(qǐng)求序列號(hào)。進(jìn)一步地,上述系統(tǒng)還可以具有以下特點(diǎn)
所述客戶端,還用于在預(yù)設(shè)的心跳檢測(cè)定時(shí)時(shí)間內(nèi)收到心跳檢測(cè)響應(yīng)后,判斷此響 應(yīng)中響應(yīng)序列號(hào)小于或等于其維護(hù)的請(qǐng)求序列號(hào)時(shí),維持請(qǐng)求序列號(hào)的值,并在下一心 跳檢測(cè)周期發(fā)送的心跳檢測(cè)請(qǐng)求中標(biāo)識(shí)此請(qǐng)求序列號(hào)。進(jìn)一步地,上述系統(tǒng)還可以具有以下特點(diǎn)
所述服務(wù)端或所述客戶端,還用于在執(zhí)行心跳檢測(cè)過(guò)程中,向?qū)Χ嗽O(shè)備發(fā)出心跳檢 測(cè)請(qǐng)求后,在本端預(yù)設(shè)的心跳檢測(cè)定時(shí)時(shí)間內(nèi)未收到對(duì)端的心跳檢測(cè)響應(yīng)時(shí),降低本端 心跳檢測(cè)請(qǐng)求發(fā)送周期的時(shí)長(zhǎng)。進(jìn)一步地,上述系統(tǒng)還可以具有以下特點(diǎn)
所述服務(wù)端,還用于在服務(wù)端發(fā)起的心跳檢測(cè)流程中,向客戶端發(fā)出心跳檢測(cè)請(qǐng)求 并在此請(qǐng)求中標(biāo)識(shí)順序序列號(hào);在預(yù)設(shè)的心跳檢測(cè)定時(shí)時(shí)間內(nèi)收到心跳檢測(cè)響應(yīng)后,將所述序列號(hào)增加預(yù)設(shè)間隔值,并在下一心跳檢測(cè)周期發(fā)送的心跳檢測(cè)請(qǐng)求中標(biāo)識(shí)此更新 后的序列號(hào);
所述客戶端,還用于在在服務(wù)端發(fā)起的心跳檢測(cè)流程中,收到心跳檢測(cè)請(qǐng)求后,在 返回的心跳檢測(cè)響應(yīng)中標(biāo)識(shí)與所述心跳檢測(cè)請(qǐng)求中序列號(hào)相同的序列號(hào)值。本發(fā)明可提高對(duì)連接的測(cè)試性能,并且及時(shí)測(cè)得連接是否正常。


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