欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

弱網(wǎng)絡(luò)環(huán)境下提高安卓移動(dòng)終端通信成功率的方法及系統(tǒng)與流程

文檔序號(hào):12490689閱讀:294來源:國知局

本發(fā)明涉及安卓系統(tǒng)開發(fā)領(lǐng)域,具體涉及一種弱網(wǎng)絡(luò)環(huán)境下提高安卓移動(dòng)終端通信成功率的方法及系統(tǒng)。



背景技術(shù):

在安卓移動(dòng)終端在使用過程中有可能會(huì)遇到弱網(wǎng)絡(luò)的情況,一旦網(wǎng)絡(luò)信號(hào)不好的時(shí)候,客戶端會(huì)經(jīng)常出現(xiàn)網(wǎng)絡(luò)中斷或者無法進(jìn)行通信的問題,導(dǎo)致移動(dòng)終端的通信成功率比較低。



技術(shù)實(shí)現(xiàn)要素:

本發(fā)明的目的是為了克服上述背景技術(shù)的不足,提供一種弱網(wǎng)絡(luò)環(huán)境下提高安卓移動(dòng)終端通信成功率的方法及系統(tǒng),該方法能夠有效提高弱網(wǎng)絡(luò)環(huán)境下的通信成功率,根據(jù)實(shí)際情況的測(cè)試,弱網(wǎng)絡(luò)環(huán)境下安卓移動(dòng)終端的通信成功率能夠提高至少20%。

本發(fā)明提供一種弱網(wǎng)絡(luò)環(huán)境下提高安卓移動(dòng)終端通信成功率的方法,包括以下步驟:

配置網(wǎng)絡(luò)信號(hào)強(qiáng)度的閾值,檢測(cè)當(dāng)前的網(wǎng)絡(luò)信號(hào)強(qiáng)度,當(dāng)前的網(wǎng)絡(luò)信號(hào)強(qiáng)度≤所述網(wǎng)絡(luò)信號(hào)強(qiáng)度的閾值時(shí),判定為弱網(wǎng)絡(luò)環(huán)境;

設(shè)定網(wǎng)絡(luò)的超時(shí)等待時(shí)間,所述超時(shí)等待時(shí)間大于原正常網(wǎng)絡(luò)所需的超時(shí)時(shí)長;客戶端將原正常網(wǎng)絡(luò)下需要發(fā)出的一個(gè)通信數(shù)據(jù)包進(jìn)行拆分,得到m個(gè)拆分包,m為整數(shù)且≥2;將m個(gè)拆分包依次發(fā)送給服務(wù)器,相鄰兩個(gè)拆分包的發(fā)送時(shí)間間隔大于原正常網(wǎng)絡(luò)下相鄰兩個(gè)通信數(shù)據(jù)包的發(fā)送時(shí)間間隔;服務(wù)器接收拆分包,當(dāng)收到的拆分包累計(jì)個(gè)數(shù)達(dá)到m時(shí),將m個(gè)拆分包重組成所述通信數(shù)據(jù)包,并在所述超時(shí)等待時(shí)間內(nèi)回復(fù)客戶端。

在上述技術(shù)方案的基礎(chǔ)上,所述檢測(cè)當(dāng)前的網(wǎng)絡(luò)信號(hào)強(qiáng)度的具體過程如下:

向安卓系統(tǒng)申請(qǐng)讀取網(wǎng)絡(luò)信號(hào)強(qiáng)度的權(quán)限,得到讀取網(wǎng)絡(luò)信號(hào)強(qiáng)度的權(quán)限后,獲取安卓系統(tǒng)中的電話管理器,用電話管理器注冊(cè)監(jiān)聽器,通過監(jiān)聽器監(jiān)聽網(wǎng)絡(luò)信號(hào)強(qiáng)度的變化并讀取當(dāng)前網(wǎng)絡(luò)信號(hào)強(qiáng)度。

在上述技術(shù)方案的基礎(chǔ)上,所述超時(shí)等待時(shí)間為原正常網(wǎng)絡(luò)所需的超時(shí)時(shí)長的2~4倍。

在上述技術(shù)方案的基礎(chǔ)上,所述客戶端先在每個(gè)拆分包的頭部添加標(biāo)志位,再將添加有標(biāo)志位的拆分包依次發(fā)送給服務(wù)器,服務(wù)器解析拆分包的頭部數(shù)據(jù),辨認(rèn)出標(biāo)志位后,再對(duì)拆分包進(jìn)行接收。

在上述技術(shù)方案的基礎(chǔ)上,所述客戶端在原正常網(wǎng)絡(luò)下單位時(shí)間內(nèi)發(fā)出通信數(shù)據(jù)包的次數(shù)為C,所述C為整數(shù)且≥1,則客戶端在弱網(wǎng)絡(luò)環(huán)境下單位時(shí)間內(nèi)發(fā)送拆分包的次數(shù)為C的1/n,所述n為整數(shù)且≥2;且(m-1)<(n-1)*C/n。

本發(fā)明還提供一種弱網(wǎng)絡(luò)環(huán)境下提高安卓移動(dòng)終端通信成功率的系統(tǒng),該系統(tǒng)包括客戶端和服務(wù)器,所述客戶端包括檢測(cè)分析模塊、時(shí)間設(shè)定模塊、拆分發(fā)送模塊;其中,

所述檢測(cè)分析模塊用于:配置網(wǎng)絡(luò)信號(hào)強(qiáng)度的閾值,檢測(cè)當(dāng)前的網(wǎng)絡(luò)信號(hào)強(qiáng)度,當(dāng)前的網(wǎng)絡(luò)信號(hào)強(qiáng)度≤所述網(wǎng)絡(luò)信號(hào)強(qiáng)度的閾值時(shí),判定為弱網(wǎng)絡(luò)環(huán)境,然后指示時(shí)間設(shè)定模塊進(jìn)行工作;

所述時(shí)間設(shè)定模塊用于:設(shè)定網(wǎng)絡(luò)的超時(shí)等待時(shí)間,然后指示拆分發(fā)送模塊進(jìn)行工作;所述超時(shí)等待時(shí)間大于原正常網(wǎng)絡(luò)所需的超時(shí)時(shí)長;

所述拆分發(fā)送模塊用于:將原正常網(wǎng)絡(luò)下需要發(fā)出的一個(gè)通信數(shù)據(jù)包進(jìn)行拆分,得到m個(gè)拆分包,m為整數(shù)且≥2;將m個(gè)拆分包依次發(fā)送給服務(wù)器,相鄰兩個(gè)拆分包的發(fā)送時(shí)間間隔大于原正常網(wǎng)絡(luò)下相鄰兩個(gè)通信數(shù)據(jù)包的發(fā)送時(shí)間間隔;

所述服務(wù)器用于:接收拆分包,當(dāng)收到的拆分包累計(jì)個(gè)數(shù)達(dá)到m時(shí),將m個(gè)拆分包重組成所述通信數(shù)據(jù)包,并在所述超時(shí)等待時(shí)間內(nèi)回復(fù)客戶端。

在上述技術(shù)方案的基礎(chǔ)上,所述檢測(cè)分析模塊檢測(cè)當(dāng)前的網(wǎng)絡(luò)信號(hào)強(qiáng)度的具體過程如下:

向安卓系統(tǒng)申請(qǐng)讀取網(wǎng)絡(luò)信號(hào)強(qiáng)度的權(quán)限,得到讀取網(wǎng)絡(luò)信號(hào)強(qiáng)度的權(quán)限后,獲取安卓系統(tǒng)中的電話管理器,用電話管理器注冊(cè)監(jiān)聽器,通過監(jiān)聽器監(jiān)聽網(wǎng)絡(luò)信號(hào)強(qiáng)度的變化并讀取當(dāng)前網(wǎng)絡(luò)信號(hào)強(qiáng)度。

在上述技術(shù)方案的基礎(chǔ)上,所述超時(shí)等待時(shí)間為原正常網(wǎng)絡(luò)所需的超時(shí)時(shí)長的2~4倍。

在上述技術(shù)方案的基礎(chǔ)上,所述拆分發(fā)送模塊還用于:先在每個(gè)拆分包的頭部添加標(biāo)志位,再將添加有標(biāo)志位的拆分包依次發(fā)送給服務(wù)器;所述服務(wù)器還用于:解析拆分包的頭部數(shù)據(jù),辨認(rèn)出標(biāo)志位后,再對(duì)拆分包進(jìn)行接收。

在上述技術(shù)方案的基礎(chǔ)上,所述客戶端在原正常網(wǎng)絡(luò)下單位時(shí)間內(nèi)發(fā)出通信數(shù)據(jù)包的次數(shù)為C,所述C為整數(shù)且≥1,則客戶端在弱網(wǎng)絡(luò)環(huán)境下單位時(shí)間內(nèi)發(fā)送拆分包的次數(shù)為C的1/n,所述n為整數(shù)且≥2;且(m-1)<(n-1)*C/n。

與現(xiàn)有技術(shù)相比,本發(fā)明的優(yōu)點(diǎn)如下:

本發(fā)明在增加網(wǎng)絡(luò)超時(shí)等待時(shí)間的條件下,對(duì)需要發(fā)送的數(shù)據(jù)包進(jìn)行拆分,得到多個(gè)拆分包,同時(shí)減小單位時(shí)間內(nèi)發(fā)送拆分包的個(gè)數(shù),整體減小通信次數(shù),能夠有效提高弱網(wǎng)絡(luò)環(huán)境下的通信成功率,根據(jù)實(shí)際情況的測(cè)試,弱網(wǎng)絡(luò)環(huán)境下安卓移動(dòng)終端的通信成功率能夠提高至少20%。

附圖說明

圖1是本發(fā)明實(shí)施例中弱網(wǎng)絡(luò)環(huán)境下提高安卓移動(dòng)終端通信成功率的方法的流程圖。

具體實(shí)施方式

下面結(jié)合附圖及具體實(shí)施例對(duì)本發(fā)明作進(jìn)一步的詳細(xì)描述。

參見圖1所示,本發(fā)明實(shí)施例提供一種弱網(wǎng)絡(luò)環(huán)境下提高安卓移動(dòng)終端通信成功率的方法,包括以下步驟:

S1、配置網(wǎng)絡(luò)信號(hào)強(qiáng)度的閾值,檢測(cè)當(dāng)前的網(wǎng)絡(luò)信號(hào)強(qiáng)度,當(dāng)前的網(wǎng)絡(luò)信號(hào)強(qiáng)度≤網(wǎng)絡(luò)信號(hào)強(qiáng)度的閾值時(shí),判定為弱網(wǎng)絡(luò)環(huán)境;

步驟S1中,檢測(cè)當(dāng)前的信號(hào)強(qiáng)度的具體過程如下:

101、Android系統(tǒng)中有獲取網(wǎng)絡(luò)信號(hào)強(qiáng)度的監(jiān)聽器,但是使用該監(jiān)聽器的時(shí)候需要先向Android系統(tǒng)申請(qǐng)讀取網(wǎng)絡(luò)信號(hào)強(qiáng)度的權(quán)限,只有申請(qǐng)了權(quán)限才能夠從Android系統(tǒng)中獲取信號(hào)強(qiáng)度。申請(qǐng)權(quán)限的方式如下,在Android的AndroidManifest.xml文件中添加權(quán)限申請(qǐng)代碼,AndroidManifest.xml:在Android開發(fā)中,AndroidManifest.xml這個(gè)文件是Android系統(tǒng)的描述文件,其中記錄了Android程序需要的權(quán)限信息和該程序的界面信息等。

具體代碼如下:

<uses-permissionandroid:name="android.permission.CHANGE_NE TWORK_STATE"/>,將該代碼寫入AndroidManifest.xml文件中就能夠向系統(tǒng)申請(qǐng)到讀取網(wǎng)絡(luò)信號(hào)強(qiáng)度的權(quán)限。

102、得到讀取網(wǎng)絡(luò)信號(hào)強(qiáng)度的權(quán)限后,獲取安卓系統(tǒng)中的電話管理器TelephonyManager;具體采用以下函數(shù):

getSystemService(Context.TELEPHONY_SERVICE);

該函數(shù)的功能主要是向Android系統(tǒng)申請(qǐng)到電話管理器TelephonyManager;

103、用電話管理器TelephonyManager注冊(cè)監(jiān)聽器,通過監(jiān)聽器監(jiān)聽網(wǎng)絡(luò)信號(hào)強(qiáng)度的變化并讀取當(dāng)前網(wǎng)絡(luò)信號(hào)強(qiáng)度。

TelephonyManager中有一個(gè)注冊(cè)監(jiān)聽器的接口,一旦注冊(cè)監(jiān)聽器后,Android系統(tǒng)會(huì)將網(wǎng)絡(luò)信號(hào)強(qiáng)度的變化通知給該接口。具體注冊(cè)方式是調(diào)用TelephonyManager中的一個(gè)listen函數(shù),通過這個(gè)函數(shù)的調(diào)用,能夠收到系統(tǒng)發(fā)送過來的網(wǎng)絡(luò)信號(hào)強(qiáng)度的變化。

104、獲取信號(hào)強(qiáng)度,當(dāng)網(wǎng)絡(luò)信號(hào)強(qiáng)度發(fā)生變化的時(shí)候,Android系統(tǒng)會(huì)通知信號(hào)發(fā)生變化,并且將當(dāng)前的網(wǎng)絡(luò)信號(hào)強(qiáng)度封裝到SignalStrength這個(gè)類中,SignalStrength類中有一個(gè)方法能夠獲取到當(dāng)前的網(wǎng)絡(luò)信號(hào)強(qiáng)度,具體方法是調(diào)用getGsmSignalStrength(),采用這個(gè)方法能夠返回當(dāng)前設(shè)備的信號(hào)強(qiáng)度大小值。

一般配置網(wǎng)絡(luò)信號(hào)強(qiáng)度的閾值大小為50dBm,如果網(wǎng)絡(luò)信號(hào)強(qiáng)度小于等于50dBm,通常就認(rèn)定為當(dāng)前網(wǎng)絡(luò)為弱網(wǎng)絡(luò),轉(zhuǎn)到步驟S2。

S2、設(shè)定網(wǎng)絡(luò)的超時(shí)等待時(shí)間,超時(shí)等待時(shí)間大于原正常網(wǎng)絡(luò)所需的超時(shí)時(shí)長;設(shè)定完成后,轉(zhuǎn)到步驟S3;

弱網(wǎng)絡(luò)情況下通信通常會(huì)耗時(shí)非常長,因?yàn)榫W(wǎng)絡(luò)質(zhì)量差,數(shù)據(jù)傳輸速度會(huì)非常慢,通常情況下網(wǎng)絡(luò)超時(shí)時(shí)間是被設(shè)定為timeout,本實(shí)施例中舉例timeout等于200ms,具體數(shù)值可以根據(jù)使用情況來定;如果發(fā)現(xiàn)當(dāng)前網(wǎng)絡(luò)是處于弱網(wǎng)絡(luò)環(huán)境下的時(shí)候,就將超時(shí)時(shí)長進(jìn)行增加到2到4倍的timeout,本實(shí)施例中2倍的timeout時(shí)長是400ms。

在弱網(wǎng)絡(luò)環(huán)境下適當(dāng)增加超時(shí)時(shí)間是能夠非常有效的提高網(wǎng)絡(luò)訪問成功率的方法。由于可以等待的時(shí)間變的更長了,弱網(wǎng)絡(luò)環(huán)境下由于訪問速度本身很慢,以前由于超時(shí)時(shí)間設(shè)置的比較短,很可能會(huì)因?yàn)榫W(wǎng)絡(luò)慢被誤判為連接失敗,設(shè)置了更長的超時(shí)時(shí)間就能夠有效的減少這種誤判的概率,提高弱網(wǎng)絡(luò)環(huán)境下的通信成功率。

S3、客戶端將原正常網(wǎng)絡(luò)下需要發(fā)出的一個(gè)通信數(shù)據(jù)包進(jìn)行拆分,得到m個(gè)拆分包,m為整數(shù)且≥2;將m個(gè)拆分包作為新的通信數(shù)據(jù)包,依次發(fā)送給服務(wù)器,相鄰兩個(gè)拆分包的發(fā)送時(shí)間間隔大于原正常網(wǎng)絡(luò)下相鄰兩個(gè)通信數(shù)據(jù)包的發(fā)送時(shí)間間隔;

當(dāng)檢測(cè)到當(dāng)前網(wǎng)絡(luò)是弱網(wǎng)絡(luò)環(huán)境的時(shí)候,和服務(wù)器的通信就需要進(jìn)行優(yōu)化,不能和好網(wǎng)絡(luò)環(huán)境下的通信方式完全一樣。弱網(wǎng)絡(luò)環(huán)境下的時(shí)候,和服務(wù)器的通信數(shù)據(jù)包要盡可能的小,因?yàn)榘拇笮≡叫。鋫鬏敵晒Φ母怕示蜁?huì)越高,所以此時(shí)就需要將原來的通信數(shù)據(jù)包進(jìn)行拆分處理。也就是說,在原正常網(wǎng)絡(luò)環(huán)境下可能一次就能夠完成的通信過程,得拆分成多次進(jìn)行通信來完成。

通常情況下客戶端和服務(wù)器進(jìn)行交互的數(shù)據(jù)最終都是轉(zhuǎn)換成二進(jìn)制的數(shù)據(jù),傳輸數(shù)據(jù)轉(zhuǎn)換成二進(jìn)制后是知道該二進(jìn)制數(shù)據(jù)的長度信息的,將該長度信息標(biāo)記為length。對(duì)于數(shù)據(jù)長度length拆分成多個(gè)包,具體拆分包的格式根據(jù)閾值num來確定,通常閾值的取值范圍在100~1024之間,拆包個(gè)數(shù)可以使用length除以num來得到。

如果有余數(shù)的情況下拆分包的個(gè)數(shù)為num/length+1個(gè)包,其中最后一個(gè)包大小就是余數(shù)的大小,為了敘述方便將最后一個(gè)余數(shù)包的大小標(biāo)記為lastSize,如果沒有余數(shù)的情況下,拆包的個(gè)數(shù)為num/length個(gè)包,每個(gè)包大小都是length的大小。

對(duì)于拆分包的傳輸,需要告訴服務(wù)器這個(gè)包是拆分包,所以在每一個(gè)拆分包的頭部添加一個(gè)2位數(shù)的標(biāo)志位ff,對(duì)其進(jìn)行標(biāo)示處理。服務(wù)器收到包后,首先解析包最頭部的2位,此處解析其實(shí)就是讀取包頭的內(nèi)容,具體讀取方式是調(diào)用一個(gè)readeHead函數(shù)來讀取包頭信息,如果發(fā)現(xiàn)是ff,說明該包是拆分包,就按照拆分包的處理邏輯來處理。每次讀取整個(gè)拆分包的內(nèi)容,如果有余數(shù)的情況下整個(gè)拆分包的大小為lastSize大小,也是全部讀取這一塊區(qū)域大小即可。

S4、服務(wù)器接收拆分包,當(dāng)收到的拆分包累計(jì)個(gè)數(shù)達(dá)到m時(shí),將m個(gè)拆分包重組成通信數(shù)據(jù)包,并在超時(shí)等待時(shí)間內(nèi)回復(fù)客戶端。

客戶端先在每個(gè)拆分包的頭部添加標(biāo)志位,再將添加有標(biāo)志位的拆分包依次發(fā)送給服務(wù)器,服務(wù)器解析拆分包的頭部數(shù)據(jù),辨認(rèn)出標(biāo)志位后,再對(duì)拆分包進(jìn)行接收。

客戶端在原正常網(wǎng)絡(luò)下單位時(shí)間內(nèi)發(fā)出通信數(shù)據(jù)包的次數(shù)為C,C為整數(shù)且≥1,則客戶端在弱網(wǎng)絡(luò)環(huán)境下單位時(shí)間內(nèi)發(fā)送拆分包的次數(shù)為C的1/n,n為整數(shù)且≥2;且(m-1)<(n-1)*C/n。

具體的分離是和業(yè)務(wù)邏輯相關(guān)聯(lián)的,當(dāng)時(shí)弱網(wǎng)絡(luò)環(huán)境下的時(shí)候盡可能減少不必要的通信次數(shù),例如,正常網(wǎng)絡(luò)環(huán)境下每t1分鐘進(jìn)行一次通信上報(bào),即發(fā)送通信數(shù)據(jù)包,如果是弱網(wǎng)絡(luò)環(huán)境下就n*t1分鐘通信一次,通常情況下n的取值是2~4左右,具體取值根據(jù)使用情況而定,例如本方案中可以取n等于2,這種處理方法使得的通信次數(shù)減少至n分之一,本實(shí)施例中t1默認(rèn)是1分鐘,具體根據(jù)實(shí)際使用情況來定。

通過上面的公式可以得到,由于通信時(shí)間的增倍,整個(gè)通信過程的次數(shù)就會(huì)變?yōu)樵瓉淼?/n。例如原來的正常網(wǎng)絡(luò)下的通信次數(shù)為C,弱網(wǎng)絡(luò)環(huán)境下的通信次數(shù)就變成C/n。

本發(fā)明實(shí)施例提供一種弱網(wǎng)絡(luò)環(huán)境下提高安卓移動(dòng)終端通信成功率的系統(tǒng),該系統(tǒng)包括客戶端和服務(wù)器,客戶端包括檢測(cè)分析模塊、時(shí)間設(shè)定模塊、拆分發(fā)送模塊;其中,

檢測(cè)分析模塊用于:配置網(wǎng)絡(luò)信號(hào)強(qiáng)度的閾值,檢測(cè)當(dāng)前的網(wǎng)絡(luò)信號(hào)強(qiáng)度,當(dāng)前的網(wǎng)絡(luò)信號(hào)強(qiáng)度≤網(wǎng)絡(luò)信號(hào)強(qiáng)度的閾值時(shí),判定為弱網(wǎng)絡(luò)環(huán)境,然后指示時(shí)間設(shè)定模塊進(jìn)行工作;

檢測(cè)分析模塊檢測(cè)實(shí)際的信號(hào)強(qiáng)度的具體過程如下:

向安卓系統(tǒng)申請(qǐng)讀取信號(hào)強(qiáng)度的權(quán)限,得到讀取信號(hào)強(qiáng)度的權(quán)限后,獲取安卓系統(tǒng)中的電話管理器,用電話管理器注冊(cè)監(jiān)聽器,通過監(jiān)聽器監(jiān)聽網(wǎng)絡(luò)信號(hào)強(qiáng)度的變化并讀取當(dāng)前網(wǎng)絡(luò)信號(hào)強(qiáng)度。

時(shí)間設(shè)定模塊用于:設(shè)定網(wǎng)絡(luò)的超時(shí)等待時(shí)間,然后指示拆分發(fā)送模塊進(jìn)行工作;超時(shí)等待時(shí)間大于原正常網(wǎng)絡(luò)所需的超時(shí)時(shí)長;超時(shí)等待時(shí)間可以為原正常網(wǎng)絡(luò)所需的超時(shí)時(shí)長的2~4倍。

拆分發(fā)送模塊用于:將原正常網(wǎng)絡(luò)下需要發(fā)出的一個(gè)通信數(shù)據(jù)包進(jìn)行拆分,得到m個(gè)拆分包,m為整數(shù)且≥2;將m個(gè)拆分包作為新的通信數(shù)據(jù)包,依次發(fā)送給服務(wù)器,相鄰兩個(gè)拆分包的發(fā)送時(shí)間間隔大于原正常網(wǎng)絡(luò)下相鄰兩個(gè)通信數(shù)據(jù)包的發(fā)送時(shí)間間隔;

客戶端在原正常網(wǎng)絡(luò)下單位時(shí)間內(nèi)發(fā)出通信數(shù)據(jù)包的次數(shù)為C,C為整數(shù)且≥1,則客戶端在弱網(wǎng)絡(luò)環(huán)境下單位時(shí)間內(nèi)發(fā)送拆分包的次數(shù)為C的1/n,n為整數(shù)且≥2;且(m-1)<(n-1)*C/n。

服務(wù)器用于:接收拆分包,當(dāng)收到的拆分包累計(jì)個(gè)數(shù)達(dá)到m時(shí),將m個(gè)拆分包重組成通信數(shù)據(jù)包,并在超時(shí)等待時(shí)間內(nèi)回復(fù)客戶端。

拆分發(fā)送模塊還用于:先在每個(gè)拆分包的頭部添加標(biāo)志位,再將添加有標(biāo)志位的拆分包依次發(fā)送給服務(wù)器;服務(wù)器還用于:解析拆分包的頭部數(shù)據(jù),辨認(rèn)出標(biāo)志位后,再對(duì)拆分包進(jìn)行接收。

本發(fā)明中,將原來的通信數(shù)據(jù)包拆分為多個(gè)拆分包,相當(dāng)于增加了通信次數(shù),但是,增加通信次數(shù)會(huì)影響通信成功率,從整體來看,單位時(shí)間內(nèi)的通信次數(shù)應(yīng)該是減少的。為了方便理解,將上述增加通信次數(shù)和減少通信次數(shù)的部分整理如下:

增加通信次數(shù)的數(shù)量:

正常網(wǎng)絡(luò)環(huán)境下的一個(gè)包,進(jìn)行拆分后變成num/length個(gè)包,總共增加了num/length-1個(gè)包的數(shù)量。

減少通信次數(shù)的數(shù)量:

正常網(wǎng)絡(luò)環(huán)境下的通信次數(shù)為count,弱網(wǎng)絡(luò)環(huán)境下的通信次數(shù)為count/n,整個(gè)過程減少的數(shù)量為(n-1)*count/n

為了評(píng)估整體的通信次數(shù),假設(shè)前提環(huán)境是增加通信和減少通信的頻率是一樣的情況下。那么整體的通信次數(shù)差值計(jì)算如下:

deltCount=(num/length-1)-(n-1)*count/n

只需要保證deltCount是小于0的,那么整個(gè)通信過程的數(shù)量就是減少的即可。

上述數(shù)據(jù)包拆分過程是對(duì)數(shù)據(jù)包進(jìn)行了拆分處理,通常情況下一個(gè)通信數(shù)據(jù)包拆分也就會(huì)增加幾次通信次數(shù),這種情況下上述通過拆分包導(dǎo)致增加的通信次數(shù)標(biāo)記為IncCount。通常情況下IncCount是遠(yuǎn)遠(yuǎn)小于count/2的次數(shù)的,這樣通常情況下整體的通信次數(shù)是降低的,這樣對(duì)于提高弱網(wǎng)絡(luò)環(huán)境下的通信成功率有非常大的幫助。

減少通信次數(shù)的方法是在編碼階段對(duì)弱網(wǎng)絡(luò)環(huán)境情況下的通信盡可能少的調(diào)用通信接口,即使是調(diào)用也只能盡可能傳輸少的數(shù)據(jù),以免造成弱網(wǎng)絡(luò)環(huán)境下傳輸失敗的問題。減少通信次數(shù)的方式是根據(jù)具體的業(yè)務(wù)邏輯掛鉤的,其核心思想是在代碼設(shè)計(jì)階段將弱網(wǎng)絡(luò)和強(qiáng)網(wǎng)絡(luò)的訪問接口進(jìn)行分離。弱網(wǎng)絡(luò)訪問接口的數(shù)量和每次訪問的數(shù)據(jù)量大小要設(shè)計(jì)的盡可能的小,這樣就能夠保證在弱網(wǎng)絡(luò)環(huán)境下依舊保持正常通信的可能。

本領(lǐng)域的技術(shù)人員可以對(duì)本發(fā)明實(shí)施例進(jìn)行各種修改和變型,倘若這些修改和變型在本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則這些修改和變型也在本發(fā)明的保護(hù)范圍之內(nèi)。

說明書中未詳細(xì)描述的內(nèi)容為本領(lǐng)域技術(shù)人員公知的現(xiàn)有技術(shù)。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
张家口市| 怀仁县| 富宁县| 尤溪县| 吉木萨尔县| 南乐县| 江阴市| 四会市| 凉城县| 象山县| 保山市| 黔江区| 桃园市| 洛宁县| 腾冲县| 合肥市| 白玉县| 阿荣旗| 宜宾市| 澎湖县| 北碚区| 砀山县| 郁南县| 南江县| 临猗县| 武清区| 香格里拉县| 邻水| 若羌县| 那曲县| 襄垣县| 义马市| 建湖县| 花莲县| 霍林郭勒市| 株洲县| 集贤县| 九台市| 安平县| 彭山县| 澳门|