本發(fā)明涉及網(wǎng)絡(luò)管理領(lǐng)域,尤其涉及一種長(zhǎng)連接服務(wù)器保活報(bào)文控制方法及系統(tǒng)。
背景技術(shù):
隨著智能家居的發(fā)展,越來(lái)越多的設(shè)備需要接入到服務(wù)器,為了能和服務(wù)器保持實(shí)時(shí)通信,大多數(shù)設(shè)備都采用長(zhǎng)連接的方式與服務(wù)器保持連接。設(shè)備與服務(wù)器之間一般會(huì)定時(shí)發(fā)送保活報(bào)文即KeepAlive報(bào)文來(lái)檢測(cè)雙方是否在線(xiàn)。監(jiān)控KeepAlive報(bào)文的目的是為了能使得設(shè)備與服務(wù)器保持實(shí)時(shí)連接,一旦設(shè)備發(fā)生斷線(xiàn),則立馬重新連接。
當(dāng)接入到服務(wù)器設(shè)備的數(shù)量越來(lái)越大,服務(wù)器發(fā)送的KeepAlive報(bào)文的數(shù)量也會(huì)線(xiàn)性增長(zhǎng),設(shè)備在大多數(shù)情況下都是屬于空閑狀態(tài),只有KeepAlive報(bào)文需要定期發(fā)送,這樣,KeepAlive報(bào)文占據(jù)了網(wǎng)絡(luò)資源的大部分的帶寬。
技術(shù)實(shí)現(xiàn)要素:
為解決上述技術(shù)問(wèn)題,本發(fā)明提供一種長(zhǎng)連接服務(wù)器?;顖?bào)文控制方法及系統(tǒng),能夠根據(jù)客戶(hù)端的網(wǎng)絡(luò)質(zhì)量調(diào)整?;顖?bào)文的時(shí)間間隔,從而降低整體的KeepAlive報(bào)文的數(shù)量,同時(shí)也降低了網(wǎng)絡(luò)帶寬消耗。
本發(fā)明提供的技術(shù)方案如下:
本發(fā)明公開(kāi)了一種長(zhǎng)連接服務(wù)器?;顖?bào)文控制方法,包括步驟:S100、接收客戶(hù)端發(fā)送的報(bào)文,并根據(jù)所述報(bào)文監(jiān)測(cè)客戶(hù)端的網(wǎng)絡(luò)質(zhì)量數(shù)據(jù);S200、根據(jù)客戶(hù)端的網(wǎng)絡(luò)質(zhì)量數(shù)據(jù)計(jì)算該客戶(hù)端對(duì)應(yīng)的?;顖?bào)文的時(shí)間間隔;S300、按照所述客戶(hù)端對(duì)應(yīng)的?;顖?bào)文的時(shí)間間隔向該客戶(hù)端發(fā)送?;顖?bào)文。
本發(fā)明通過(guò)監(jiān)測(cè)客戶(hù)端的網(wǎng)絡(luò)質(zhì)量數(shù)據(jù)來(lái)計(jì)算相應(yīng)的?;顖?bào)文的時(shí)間間隔,通過(guò)調(diào)節(jié)保活報(bào)文的時(shí)間間隔來(lái)減少?;顖?bào)文對(duì)網(wǎng)絡(luò)帶寬的占用,從而節(jié)約網(wǎng)絡(luò)帶寬。
進(jìn)一步優(yōu)選的,所述步驟S100“根據(jù)所述報(bào)文監(jiān)測(cè)客戶(hù)端的網(wǎng)絡(luò)質(zhì)量數(shù)據(jù)”進(jìn)一步包括步驟:S110、記錄客戶(hù)端發(fā)送報(bào)文失敗的次數(shù);S120、記錄客戶(hù)端報(bào)文的響應(yīng)速度;S130、根據(jù)客戶(hù)端發(fā)送報(bào)文失敗的次數(shù)和客戶(hù)端報(bào)文的響應(yīng)速度確定客戶(hù)端的網(wǎng)絡(luò)質(zhì)量數(shù)據(jù)。
本發(fā)明根據(jù)客戶(hù)端發(fā)送報(bào)文失敗次數(shù)以及客戶(hù)端報(bào)文的響應(yīng)速度來(lái)確定不同的客戶(hù)端的網(wǎng)絡(luò)質(zhì)量數(shù)據(jù),為不同網(wǎng)絡(luò)質(zhì)量等級(jí)的客戶(hù)端分配不同?;顖?bào)文的時(shí)間間隔提供計(jì)算依據(jù),從而實(shí)現(xiàn)向網(wǎng)絡(luò)質(zhì)量較好的客戶(hù)端發(fā)送保活報(bào)文的時(shí)間間隔比較長(zhǎng),向網(wǎng)絡(luò)質(zhì)量較差的客戶(hù)端發(fā)送?;顖?bào)文的時(shí)間間隔比較短,減少?;顖?bào)文發(fā)送,實(shí)現(xiàn)合理利用網(wǎng)絡(luò)帶寬。
進(jìn)一步優(yōu)選的,所述步驟S200根據(jù)客戶(hù)端的網(wǎng)絡(luò)質(zhì)量數(shù)據(jù)計(jì)算該客戶(hù)端對(duì)應(yīng)的?;顖?bào)文的時(shí)間間隔進(jìn)一步包括步驟:S210、對(duì)網(wǎng)絡(luò)質(zhì)量數(shù)據(jù)進(jìn)行量化,將網(wǎng)絡(luò)質(zhì)量數(shù)據(jù)分為N個(gè)網(wǎng)絡(luò)質(zhì)量等級(jí);S220、根據(jù)監(jiān)測(cè)的客戶(hù)端的網(wǎng)絡(luò)質(zhì)量數(shù)據(jù)判斷該客戶(hù)端的網(wǎng)絡(luò)質(zhì)量等級(jí);S230、按照以下公式計(jì)算該客戶(hù)端對(duì)應(yīng)的?;顖?bào)文的時(shí)間間隔T,T=Tmin+(Tmax-Tmin)*i/N;其中,Tmin為網(wǎng)絡(luò)質(zhì)量等級(jí)為最低等級(jí)時(shí)的保活報(bào)文的時(shí)間間隔,Tmax為網(wǎng)絡(luò)質(zhì)量等級(jí)為最高等級(jí)時(shí)的?;顖?bào)文的時(shí)間間隔,i為當(dāng)前客戶(hù)端的網(wǎng)絡(luò)質(zhì)量等級(jí),N為網(wǎng)絡(luò)質(zhì)量等級(jí)數(shù)量。
進(jìn)一步優(yōu)選的,還包括步驟:S400、當(dāng)監(jiān)測(cè)到客戶(hù)端發(fā)送錯(cuò)誤報(bào)文的數(shù)量在第一預(yù)設(shè)時(shí)長(zhǎng)內(nèi)增加預(yù)設(shè)個(gè)數(shù),則將該客戶(hù)端對(duì)應(yīng)的網(wǎng)絡(luò)質(zhì)量等級(jí)下降至下一級(jí);若當(dāng)前客戶(hù)端對(duì)應(yīng)的網(wǎng)絡(luò)質(zhì)量等級(jí)為最低等級(jí),則不作處理。
本發(fā)明根據(jù)監(jiān)測(cè)實(shí)際客戶(hù)端網(wǎng)絡(luò)環(huán)境的變化動(dòng)態(tài)地調(diào)整客戶(hù)端的網(wǎng)絡(luò)質(zhì)量等級(jí),根據(jù)網(wǎng)絡(luò)等級(jí)的變化調(diào)整相應(yīng)的?;顖?bào)文的時(shí)間間隔,更加靈活適用于多變的網(wǎng)絡(luò)環(huán)境。
進(jìn)一步優(yōu)選的,還包括步驟:S500、當(dāng)?shù)诙A(yù)設(shè)時(shí)長(zhǎng)內(nèi)監(jiān)測(cè)到服務(wù)器與客戶(hù)端完成一次報(bào)文交互的時(shí)間超過(guò)預(yù)設(shè)消耗時(shí)間,則將該客戶(hù)端對(duì)應(yīng)的網(wǎng)絡(luò)質(zhì)量等級(jí)下降至下一級(jí);若當(dāng)前客戶(hù)端對(duì)應(yīng)的網(wǎng)絡(luò)質(zhì)量等級(jí)為最低等級(jí),則不作處理。
本發(fā)明根據(jù)監(jiān)測(cè)實(shí)際客戶(hù)端網(wǎng)絡(luò)環(huán)境的變化動(dòng)態(tài)地調(diào)整客戶(hù)端的網(wǎng)絡(luò)質(zhì)量等級(jí),根據(jù)網(wǎng)絡(luò)等級(jí)的變化調(diào)整相應(yīng)的?;顖?bào)文的時(shí)間間隔,更加靈活適用于多變的網(wǎng)絡(luò)環(huán)境。
本發(fā)明還公開(kāi)了一種長(zhǎng)連接服務(wù)器?;顖?bào)文控制系統(tǒng),包括:報(bào)文接收模塊,用于接收客戶(hù)端發(fā)送的報(bào)文;網(wǎng)絡(luò)質(zhì)量數(shù)據(jù)監(jiān)測(cè)模塊,用于根據(jù)客戶(hù)端發(fā)送的報(bào)文監(jiān)測(cè)客戶(hù)端的網(wǎng)絡(luò)質(zhì)量數(shù)據(jù);?;顖?bào)文管理模塊,用于根據(jù)客戶(hù)端的網(wǎng)絡(luò)質(zhì)量數(shù)據(jù)計(jì)算該客戶(hù)端對(duì)應(yīng)的?;顖?bào)文的時(shí)間間隔;報(bào)文發(fā)送模塊,用于按照所述客戶(hù)端對(duì)應(yīng)的?;顖?bào)文的時(shí)間間隔向該客戶(hù)端發(fā)送保活報(bào)文。
進(jìn)一步優(yōu)選的,所述網(wǎng)絡(luò)質(zhì)量數(shù)據(jù)監(jiān)測(cè)模塊進(jìn)一步包括:第一記錄子模塊,用于記錄客戶(hù)端發(fā)送報(bào)文失敗的次數(shù);第二記錄子模塊,用于記錄客戶(hù)端報(bào)文的響應(yīng)速度;網(wǎng)絡(luò)質(zhì)量確定子模塊,用于根據(jù)客戶(hù)端發(fā)送報(bào)文失敗的次數(shù)和客戶(hù)端報(bào)文的響應(yīng)速度確定客戶(hù)端的網(wǎng)絡(luò)質(zhì)量數(shù)據(jù)。
進(jìn)一步優(yōu)選的,所述保活報(bào)文管理模塊進(jìn)一步包括:網(wǎng)絡(luò)質(zhì)量等級(jí)劃分子模塊,用于對(duì)網(wǎng)絡(luò)質(zhì)量數(shù)據(jù)進(jìn)行量化,將網(wǎng)絡(luò)質(zhì)量數(shù)據(jù)分為N個(gè)網(wǎng)絡(luò)質(zhì)量等級(jí);網(wǎng)絡(luò)質(zhì)量等級(jí)判斷子模塊,用于根據(jù)監(jiān)測(cè)的客戶(hù)端的網(wǎng)絡(luò)質(zhì)量數(shù)據(jù)判斷該客戶(hù)端對(duì)應(yīng)的網(wǎng)絡(luò)質(zhì)量等級(jí);時(shí)間間隔計(jì)算子模塊,用于按照以下公式計(jì)算該客戶(hù)端對(duì)應(yīng)的保活報(bào)文的時(shí)間間隔T,T=Tmin+(Tmax-Tmin)*i/N;其中,Tmin為網(wǎng)絡(luò)質(zhì)量等級(jí)為最低等級(jí)時(shí)的保活報(bào)文的時(shí)間間隔,Tmax為網(wǎng)絡(luò)質(zhì)量等級(jí)為最高等級(jí)時(shí)的?;顖?bào)文的時(shí)間間隔,i為當(dāng)前客戶(hù)端的網(wǎng)絡(luò)質(zhì)量等級(jí),N為網(wǎng)絡(luò)質(zhì)量等級(jí)數(shù)量。
進(jìn)一步優(yōu)選的,還包括:報(bào)文監(jiān)測(cè)模塊,用于監(jiān)測(cè)客戶(hù)端發(fā)送錯(cuò)誤報(bào)文的數(shù)量在第一預(yù)設(shè)時(shí)長(zhǎng)內(nèi)增加的個(gè)數(shù)是否達(dá)到預(yù)設(shè)個(gè)數(shù);網(wǎng)絡(luò)質(zhì)量等級(jí)控制模塊,用于當(dāng)客戶(hù)端發(fā)送錯(cuò)誤報(bào)文的數(shù)量在預(yù)設(shè)時(shí)長(zhǎng)內(nèi)增加預(yù)設(shè)個(gè)數(shù),則將該客戶(hù)端對(duì)應(yīng)的網(wǎng)絡(luò)質(zhì)量等級(jí)下降至下一級(jí);若當(dāng)前客戶(hù)端對(duì)應(yīng)的網(wǎng)絡(luò)質(zhì)量等級(jí)為最低等級(jí),則不作處理。
進(jìn)一步優(yōu)選的,所述報(bào)文監(jiān)測(cè)模塊還用于監(jiān)測(cè)服務(wù)器與客戶(hù)端完成一次報(bào)文交互的時(shí)間是否超過(guò)預(yù)設(shè)消耗時(shí)間;所述網(wǎng)絡(luò)質(zhì)量等級(jí)控制模塊還用于當(dāng)?shù)诙A(yù)設(shè)時(shí)長(zhǎng)內(nèi)監(jiān)測(cè)服務(wù)器與客戶(hù)端完成一次報(bào)文交互的時(shí)間超過(guò)預(yù)設(shè)消耗時(shí)間,則將該客戶(hù)端對(duì)應(yīng)的網(wǎng)絡(luò)質(zhì)量等級(jí)下降至下一級(jí);若當(dāng)前客戶(hù)端對(duì)應(yīng)的網(wǎng)絡(luò)質(zhì)量等級(jí)為最低等級(jí),則不作處理。
與現(xiàn)有技術(shù)相比,本發(fā)明通過(guò)監(jiān)測(cè)客戶(hù)端的網(wǎng)絡(luò)質(zhì)量數(shù)據(jù)來(lái)計(jì)算相應(yīng)的保活報(bào)文的時(shí)間間隔,為不同網(wǎng)絡(luò)質(zhì)量等級(jí)的客戶(hù)端分配不同?;顖?bào)文的時(shí)間間隔提供計(jì)算依據(jù),從而實(shí)現(xiàn)向網(wǎng)絡(luò)質(zhì)量較好的客戶(hù)端發(fā)送保活報(bào)文的時(shí)間間隔比較長(zhǎng),向網(wǎng)絡(luò)質(zhì)量較差的客戶(hù)端發(fā)送?;顖?bào)文的時(shí)間間隔比較短,通過(guò)調(diào)節(jié)?;顖?bào)文的時(shí)間間隔來(lái)減少?;顖?bào)文對(duì)網(wǎng)絡(luò)帶寬的占用,從而節(jié)約網(wǎng)絡(luò)帶寬。
附圖說(shuō)明
下面將以明確易懂的方式,結(jié)合附圖說(shuō)明優(yōu)選實(shí)施方式,對(duì)本發(fā)明予以進(jìn)一步說(shuō)明。
圖1為本發(fā)明長(zhǎng)連接服務(wù)器?;顖?bào)文控制方法的主要步驟示意圖;
圖2為本發(fā)明長(zhǎng)連接服務(wù)器?;顖?bào)文控制方法的完整步驟示意圖;
圖3為本發(fā)明長(zhǎng)連接服務(wù)器?;顖?bào)文控制系統(tǒng)的主要組成示意圖;
圖4為本發(fā)明長(zhǎng)連接服務(wù)器?;顖?bào)文控制系統(tǒng)的完整組成示意圖。
附圖標(biāo)號(hào)說(shuō)明:
100、報(bào)文接收模塊,200、網(wǎng)絡(luò)質(zhì)量數(shù)據(jù)監(jiān)測(cè)模塊,210、第一記錄子模塊,220、第二記錄子模塊,230、網(wǎng)絡(luò)質(zhì)量確定子模塊,300、保活報(bào)文管理模塊,310、網(wǎng)絡(luò)質(zhì)量等級(jí)劃分子模塊,320、網(wǎng)絡(luò)質(zhì)量等級(jí)判斷子模塊,330、時(shí)間間隔計(jì)算子模塊,400、報(bào)文發(fā)送模塊,500、報(bào)文監(jiān)測(cè)模塊,600、網(wǎng)絡(luò)質(zhì)量等級(jí)控制模塊。
具體實(shí)施方式
為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)照附圖說(shuō)明本發(fā)明的具體實(shí)施方式。顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖,并獲得其他的實(shí)施方式。
為使圖面簡(jiǎn)潔,各圖中只示意性地表示出了與本發(fā)明相關(guān)的部分,它們并不代表其作為產(chǎn)品的實(shí)際結(jié)構(gòu)。另外,以使圖面簡(jiǎn)潔便于理解,在有些圖中具有相同結(jié)構(gòu)或功能的部件,僅示意性地繪示了其中的一個(gè),或僅標(biāo)出了其中的一個(gè)。在本文中,“一個(gè)”不僅表示“僅此一個(gè)”,也可以表示“多于一個(gè)”的情形。
圖1為本發(fā)明一種長(zhǎng)連接服務(wù)器?;顖?bào)文控制方法的主要步驟示意圖,如圖1所示,一種長(zhǎng)連接服務(wù)器?;顖?bào)文控制方法,包括步驟:S100、接收客戶(hù)端發(fā)送的報(bào)文,并根據(jù)所述報(bào)文監(jiān)測(cè)客戶(hù)端的網(wǎng)絡(luò)質(zhì)量數(shù)據(jù);S200、根據(jù)客戶(hù)端的網(wǎng)絡(luò)質(zhì)量數(shù)據(jù)計(jì)算該客戶(hù)端對(duì)應(yīng)的?;顖?bào)文的時(shí)間間隔;S300、按照所述客戶(hù)端對(duì)應(yīng)的?;顖?bào)文的時(shí)間間隔向該客戶(hù)端發(fā)送保活報(bào)文。
具體的,本發(fā)明監(jiān)控每個(gè)客戶(hù)端的網(wǎng)絡(luò)質(zhì)量,對(duì)于網(wǎng)絡(luò)質(zhì)量較好的客戶(hù)端,不需要過(guò)于頻繁地發(fā)送?;顖?bào)文即KeepAlive報(bào)文,對(duì)于網(wǎng)絡(luò)質(zhì)量較差的客戶(hù)端,由于其發(fā)生斷線(xiàn)的概率較高,因此發(fā)送KeepAlive報(bào)文的頻率也相應(yīng)高些。本發(fā)明通過(guò)監(jiān)測(cè)客戶(hù)端的網(wǎng)絡(luò)質(zhì)量數(shù)據(jù)來(lái)計(jì)算相應(yīng)的?;顖?bào)文的時(shí)間間隔,通過(guò)調(diào)節(jié)保活報(bào)文的時(shí)間間隔來(lái)減少?;顖?bào)文對(duì)網(wǎng)絡(luò)帶寬的占用,從而節(jié)約網(wǎng)絡(luò)帶寬。
圖2為本發(fā)明長(zhǎng)連接服務(wù)器保活報(bào)文控制方法的完整步驟示意圖。優(yōu)選的,如圖2所示,所述步驟S100“根據(jù)所述報(bào)文監(jiān)測(cè)客戶(hù)端的網(wǎng)絡(luò)質(zhì)量數(shù)據(jù)”進(jìn)一步包括步驟:S110、記錄客戶(hù)端發(fā)送報(bào)文失敗的次數(shù);S120、記錄客戶(hù)端報(bào)文的響應(yīng)速度;S130、根據(jù)客戶(hù)端發(fā)送報(bào)文失敗的次數(shù)和客戶(hù)端報(bào)文的響應(yīng)速度確定客戶(hù)端的網(wǎng)絡(luò)質(zhì)量數(shù)據(jù)。
具體的,本發(fā)明監(jiān)控每個(gè)客戶(hù)端的設(shè)備對(duì)保活報(bào)文的響應(yīng)速度,一般而言,響應(yīng)速度越快,網(wǎng)絡(luò)質(zhì)量越好,而響應(yīng)速度慢,或者不響應(yīng),需要重傳的設(shè)備,網(wǎng)絡(luò)質(zhì)量較差。本發(fā)明根據(jù)客戶(hù)端發(fā)送報(bào)文失敗次數(shù)以及客戶(hù)端報(bào)文的響應(yīng)速度來(lái)確定不同的客戶(hù)端的網(wǎng)絡(luò)質(zhì)量數(shù)據(jù),為不同網(wǎng)絡(luò)質(zhì)量等級(jí)的客戶(hù)端分配不同?;顖?bào)文的時(shí)間間隔提供計(jì)算依據(jù),從而實(shí)現(xiàn)向網(wǎng)絡(luò)質(zhì)量較好的客戶(hù)端發(fā)送?;顖?bào)文的時(shí)間間隔比較長(zhǎng),向網(wǎng)絡(luò)質(zhì)量較差的客戶(hù)端發(fā)送?;顖?bào)文的時(shí)間間隔比較短,減少?;顖?bào)文發(fā)送,實(shí)現(xiàn)合理利用網(wǎng)絡(luò)帶寬。
如圖2所示,優(yōu)選的,所述步驟S200根據(jù)客戶(hù)端的網(wǎng)絡(luò)質(zhì)量數(shù)據(jù)計(jì)算該客戶(hù)端對(duì)應(yīng)的保活報(bào)文的時(shí)間間隔進(jìn)一步包括步驟:S210、對(duì)網(wǎng)絡(luò)質(zhì)量數(shù)據(jù)進(jìn)行量化,將網(wǎng)絡(luò)質(zhì)量數(shù)據(jù)分為N個(gè)網(wǎng)絡(luò)質(zhì)量等級(jí);S220、根據(jù)監(jiān)測(cè)的客戶(hù)端的網(wǎng)絡(luò)質(zhì)量數(shù)據(jù)判斷該客戶(hù)端的網(wǎng)絡(luò)質(zhì)量等級(jí);S230、按照以下公式計(jì)算該客戶(hù)端對(duì)應(yīng)的?;顖?bào)文的時(shí)間間隔T,T=Tmin+(Tmax-Tmin)*i/N;其中,Tmin為網(wǎng)絡(luò)質(zhì)量等級(jí)為最低等級(jí)時(shí)的?;顖?bào)文的時(shí)間間隔,Tmax為網(wǎng)絡(luò)質(zhì)量等級(jí)為最高等級(jí)時(shí)的?;顖?bào)文的時(shí)間間隔,i為當(dāng)前客戶(hù)端的網(wǎng)絡(luò)質(zhì)量等級(jí),N為網(wǎng)絡(luò)質(zhì)量等級(jí)數(shù)量。
具體的,下面詳細(xì)講述KeepAlive報(bào)文發(fā)送的時(shí)間間隔的計(jì)算方法。
設(shè)網(wǎng)絡(luò)最佳情況下,KeepAlive報(bào)文的時(shí)間間隔也應(yīng)該最長(zhǎng),設(shè)為T(mén)max,網(wǎng)絡(luò)環(huán)境最差的情況下,KeepAlive報(bào)文的時(shí)間間隔最短,設(shè)為T(mén)min。為了得到確切的網(wǎng)絡(luò)質(zhì)量數(shù)據(jù),必須對(duì)網(wǎng)絡(luò)質(zhì)量進(jìn)行量化,將網(wǎng)絡(luò)質(zhì)量分為10個(gè)等級(jí),最好的是L10,最差的是L1,L10的KeepAlive報(bào)文時(shí)間間隔為T(mén)max,L1的KeepAlive報(bào)文時(shí)間間隔則為T(mén)min,中間第i等級(jí)為L(zhǎng)i,則KeepAlive時(shí)間間隔為T(mén)min+(Tmax-Tmin)*i/10。
優(yōu)選的,還包括步驟:S400、當(dāng)監(jiān)測(cè)到客戶(hù)端發(fā)送錯(cuò)誤報(bào)文的數(shù)量在第一預(yù)設(shè)時(shí)長(zhǎng)內(nèi)增加預(yù)設(shè)個(gè)數(shù),則將該客戶(hù)端對(duì)應(yīng)的網(wǎng)絡(luò)質(zhì)量等級(jí)下降至下一級(jí);若當(dāng)前客戶(hù)端對(duì)應(yīng)的網(wǎng)絡(luò)質(zhì)量等級(jí)為最低等級(jí),則不作處理。
具體的,本實(shí)施例中根據(jù)實(shí)際客戶(hù)端的網(wǎng)絡(luò)環(huán)境來(lái)調(diào)整客戶(hù)端的網(wǎng)絡(luò)質(zhì)量等級(jí),比如,如果第一預(yù)設(shè)時(shí)長(zhǎng)內(nèi)(本實(shí)施例中以1小時(shí)為例)錯(cuò)誤報(bào)文增加預(yù)設(shè)個(gè)數(shù)(本實(shí)施例中以1個(gè)為例),則等級(jí)下降一級(jí),L1級(jí)為最低等級(jí),達(dá)到最低等級(jí)后就不再下降。本發(fā)明根據(jù)監(jiān)測(cè)實(shí)際客戶(hù)端網(wǎng)絡(luò)環(huán)境的變化動(dòng)態(tài)地調(diào)整客戶(hù)端的網(wǎng)絡(luò)質(zhì)量等級(jí),根據(jù)網(wǎng)絡(luò)等級(jí)的變化調(diào)整相應(yīng)的?;顖?bào)文的時(shí)間間隔,更加靈活適用于多變的網(wǎng)絡(luò)環(huán)境。
優(yōu)選的,還包括步驟:S500、當(dāng)?shù)诙A(yù)設(shè)時(shí)長(zhǎng)內(nèi)監(jiān)測(cè)到服務(wù)器與客戶(hù)端完成一次報(bào)文交互的時(shí)間超過(guò)預(yù)設(shè)消耗時(shí)間,則將該客戶(hù)端對(duì)應(yīng)的網(wǎng)絡(luò)質(zhì)量等級(jí)下降至下一級(jí);若當(dāng)前客戶(hù)端對(duì)應(yīng)的網(wǎng)絡(luò)質(zhì)量等級(jí)為最低等級(jí),則不作處理。
具體的,設(shè)正常的報(bào)文交互一次的預(yù)設(shè)消耗時(shí)間為T(mén)keepalive,如果第二預(yù)設(shè)時(shí)長(zhǎng)(以1個(gè)小時(shí)為例)內(nèi)有一次交互時(shí)間大于Tkeepalive則等級(jí)也下降一級(jí)。本發(fā)明根據(jù)監(jiān)測(cè)實(shí)際客戶(hù)端網(wǎng)絡(luò)環(huán)境的變化動(dòng)態(tài)地調(diào)整客戶(hù)端的網(wǎng)絡(luò)質(zhì)量等級(jí),根據(jù)網(wǎng)絡(luò)等級(jí)的變化調(diào)整相應(yīng)的?;顖?bào)文的時(shí)間間隔,更加靈活適用于多變的網(wǎng)絡(luò)環(huán)境。
圖3為本發(fā)明長(zhǎng)連接服務(wù)器?;顖?bào)文控制系統(tǒng)的主要組成示意圖。如圖3所示,一種長(zhǎng)連接服務(wù)器?;顖?bào)文控制系統(tǒng),包括:報(bào)文接收模塊100,用于接收客戶(hù)端發(fā)送的報(bào)文;網(wǎng)絡(luò)質(zhì)量數(shù)據(jù)監(jiān)測(cè)模塊200,用于根據(jù)客戶(hù)端發(fā)送的報(bào)文監(jiān)測(cè)客戶(hù)端的網(wǎng)絡(luò)質(zhì)量數(shù)據(jù);?;顖?bào)文管理模塊300,用于根據(jù)客戶(hù)端的網(wǎng)絡(luò)質(zhì)量數(shù)據(jù)計(jì)算該客戶(hù)端對(duì)應(yīng)的?;顖?bào)文的時(shí)間間隔;報(bào)文發(fā)送模塊400,用于按照所述客戶(hù)端對(duì)應(yīng)的?;顖?bào)文的時(shí)間間隔向該客戶(hù)端發(fā)送保活報(bào)文。
具體的,本發(fā)明監(jiān)控每個(gè)客戶(hù)端的網(wǎng)絡(luò)質(zhì)量,對(duì)于網(wǎng)絡(luò)質(zhì)量較好的客戶(hù)端,不需要過(guò)于頻繁地發(fā)送?;顖?bào)文即KeepAlive報(bào)文,對(duì)于網(wǎng)絡(luò)質(zhì)量較差的客戶(hù)端,由于其發(fā)生斷線(xiàn)的概率較高,因此發(fā)送KeepAlive報(bào)文的頻率也相應(yīng)高些。本發(fā)明通過(guò)監(jiān)測(cè)客戶(hù)端的網(wǎng)絡(luò)質(zhì)量數(shù)據(jù)來(lái)計(jì)算相應(yīng)的?;顖?bào)文的時(shí)間間隔,通過(guò)調(diào)節(jié)?;顖?bào)文的時(shí)間間隔來(lái)減少保活報(bào)文對(duì)網(wǎng)絡(luò)帶寬的占用,從而節(jié)約網(wǎng)絡(luò)帶寬。
圖4為本發(fā)明長(zhǎng)連接服務(wù)器保活報(bào)文控制系統(tǒng)的完整組成示意圖。如圖4所示,優(yōu)選的,所述網(wǎng)絡(luò)質(zhì)量數(shù)據(jù)監(jiān)測(cè)模塊200進(jìn)一步包括:第一記錄子模塊210,用于記錄客戶(hù)端發(fā)送報(bào)文失敗的次數(shù);第二記錄子模塊220,用于記錄客戶(hù)端報(bào)文的響應(yīng)速度;網(wǎng)絡(luò)質(zhì)量確定子模塊230,用于根據(jù)客戶(hù)端發(fā)送報(bào)文失敗的次數(shù)和客戶(hù)端報(bào)文的響應(yīng)速度確定客戶(hù)端的網(wǎng)絡(luò)質(zhì)量數(shù)據(jù)。
具體的,本實(shí)施例中客戶(hù)端發(fā)送報(bào)文失敗次數(shù)越高,說(shuō)明該客戶(hù)端的網(wǎng)絡(luò)質(zhì)量越差,客戶(hù)端報(bào)文的響應(yīng)速度的計(jì)算方法是根據(jù)發(fā)送出去的報(bào)文時(shí)間與響應(yīng)的報(bào)文時(shí)間差,時(shí)間差越長(zhǎng)說(shuō)明網(wǎng)絡(luò)質(zhì)量越差,時(shí)間越短,說(shuō)明網(wǎng)絡(luò)質(zhì)量越好。
優(yōu)選的,所述保活報(bào)文管理模塊300進(jìn)一步包括:網(wǎng)絡(luò)質(zhì)量等級(jí)劃分子模塊310,用于對(duì)網(wǎng)絡(luò)質(zhì)量數(shù)據(jù)進(jìn)行量化,將網(wǎng)絡(luò)質(zhì)量數(shù)據(jù)分為N個(gè)網(wǎng)絡(luò)質(zhì)量等級(jí);網(wǎng)絡(luò)質(zhì)量等級(jí)判斷子模塊320,用于根據(jù)監(jiān)測(cè)的客戶(hù)端的網(wǎng)絡(luò)質(zhì)量數(shù)據(jù)判斷該客戶(hù)端對(duì)應(yīng)的網(wǎng)絡(luò)質(zhì)量等級(jí);時(shí)間間隔計(jì)算子模塊330,用于按照以下公式計(jì)算該客戶(hù)端對(duì)應(yīng)的?;顖?bào)文的時(shí)間間隔T,T=Tmin+(Tmax-Tmin)*i/N;其中,Tmin為網(wǎng)絡(luò)質(zhì)量等級(jí)為最低等級(jí)時(shí)的?;顖?bào)文的時(shí)間間隔,Tmax為網(wǎng)絡(luò)質(zhì)量等級(jí)為最高等級(jí)時(shí)的?;顖?bào)文的時(shí)間間隔,i為當(dāng)前客戶(hù)端的網(wǎng)絡(luò)質(zhì)量等級(jí),N為網(wǎng)絡(luò)質(zhì)量等級(jí)數(shù)量。
具體的,下面詳細(xì)講述KeepAlive報(bào)文發(fā)送的時(shí)間間隔的計(jì)算方法。
設(shè)網(wǎng)絡(luò)最佳情況下,KeepAlive報(bào)文的時(shí)間間隔也應(yīng)該最長(zhǎng),設(shè)為T(mén)max,網(wǎng)絡(luò)環(huán)境最差的情況下,KeepAlive報(bào)文的時(shí)間間隔最短,設(shè)為T(mén)min。為了得到確切的網(wǎng)絡(luò)質(zhì)量數(shù)據(jù),必須對(duì)網(wǎng)絡(luò)質(zhì)量進(jìn)行量化,將網(wǎng)絡(luò)質(zhì)量分為10個(gè)等級(jí),最好的是L10,最差的是L1,L10的KeepAlive報(bào)文時(shí)間間隔為T(mén)max,L1的KeepAlive報(bào)文時(shí)間間隔則為T(mén)min,中間第i等級(jí)為L(zhǎng)i,則KeepAlive時(shí)間間隔為T(mén)min+(Tmax-Tmin)*i/10。
優(yōu)選的,還包括:報(bào)文監(jiān)測(cè)模塊500,用于監(jiān)測(cè)客戶(hù)端發(fā)送錯(cuò)誤報(bào)文的數(shù)量在預(yù)設(shè)時(shí)長(zhǎng)內(nèi)增加的個(gè)數(shù)是否達(dá)到預(yù)設(shè)個(gè)數(shù);網(wǎng)絡(luò)質(zhì)量等級(jí)控制模塊600,用于當(dāng)客戶(hù)端發(fā)送錯(cuò)誤報(bào)文的數(shù)量在預(yù)設(shè)時(shí)長(zhǎng)內(nèi)增加預(yù)設(shè)個(gè)數(shù),則將該客戶(hù)端對(duì)應(yīng)的網(wǎng)絡(luò)質(zhì)量等級(jí)下降至下一級(jí);若當(dāng)前客戶(hù)端對(duì)應(yīng)的網(wǎng)絡(luò)質(zhì)量等級(jí)為最低等級(jí),則不作處理。
具體的,本實(shí)施例中根據(jù)實(shí)際客戶(hù)端的網(wǎng)絡(luò)環(huán)境來(lái)調(diào)整客戶(hù)端的網(wǎng)絡(luò)質(zhì)量等級(jí),比如,如果第一預(yù)設(shè)時(shí)長(zhǎng)內(nèi)(本實(shí)施例中以1小時(shí)為例)錯(cuò)誤報(bào)文增加預(yù)設(shè)個(gè)數(shù)(本實(shí)施例中以1個(gè)為例),則等級(jí)下降一級(jí),L1級(jí)為最低等級(jí),達(dá)到最低等級(jí)后就不再下降。本發(fā)明根據(jù)監(jiān)測(cè)實(shí)際客戶(hù)端網(wǎng)絡(luò)環(huán)境的變化動(dòng)態(tài)地調(diào)整客戶(hù)端的網(wǎng)絡(luò)質(zhì)量等級(jí),根據(jù)網(wǎng)絡(luò)等級(jí)的變化調(diào)整相應(yīng)的?;顖?bào)文的時(shí)間間隔,更加靈活適用于多變的網(wǎng)絡(luò)環(huán)境。
優(yōu)選的,所述報(bào)文監(jiān)測(cè)模塊500還用于監(jiān)測(cè)服務(wù)器與客戶(hù)端完成一次報(bào)文交互的時(shí)間是否超過(guò)預(yù)設(shè)消耗時(shí)間;所述網(wǎng)絡(luò)質(zhì)量等級(jí)控制模塊600還用于當(dāng)監(jiān)測(cè)服務(wù)器與客戶(hù)端完成一次報(bào)文交互的時(shí)間超過(guò)預(yù)設(shè)消耗時(shí)間,則將該客戶(hù)端對(duì)應(yīng)的網(wǎng)絡(luò)質(zhì)量等級(jí)下降至下一級(jí);若當(dāng)前客戶(hù)端對(duì)應(yīng)的網(wǎng)絡(luò)質(zhì)量等級(jí)為最低等級(jí),則不作處理。
具體的,設(shè)正常的報(bào)文交互一次的預(yù)設(shè)消耗時(shí)間為T(mén)keepalive,如果第二預(yù)設(shè)時(shí)長(zhǎng)(以1個(gè)小時(shí)為例)內(nèi)有一次交互時(shí)間大于Tkeepalive則等級(jí)也下降一級(jí)。本發(fā)明根據(jù)監(jiān)測(cè)實(shí)際客戶(hù)端網(wǎng)絡(luò)環(huán)境的變化動(dòng)態(tài)地調(diào)整客戶(hù)端的網(wǎng)絡(luò)質(zhì)量等級(jí),根據(jù)網(wǎng)絡(luò)等級(jí)的變化調(diào)整相應(yīng)的?;顖?bào)文的時(shí)間間隔,更加靈活適用于多變的網(wǎng)絡(luò)環(huán)境。
需要說(shuō)明的是,本系統(tǒng)中各模塊之間的信息交互、執(zhí)行過(guò)程等內(nèi)容與上述方法實(shí)施例基于同一構(gòu)思,具體內(nèi)容可參見(jiàn)本發(fā)明方法實(shí)施例中的敘述,此處不再贅述。
應(yīng)當(dāng)說(shuō)明的是,上述實(shí)施例均可根據(jù)需要自由組合。以上所述僅是本發(fā)明的優(yōu)選實(shí)施方式,應(yīng)當(dāng)指出,對(duì)于本技術(shù)領(lǐng)域的普通技術(shù)人員來(lái)說(shuō),在不脫離本發(fā)明原理的前提下,還可以做出若干改進(jìn)和潤(rùn)飾,這些改進(jìn)和潤(rùn)飾也應(yīng)視為本發(fā)明的保護(hù)范圍。