一種數(shù)據(jù)請(qǐng)求處理方法和系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及互聯(lián)網(wǎng)技術(shù)領(lǐng)域,具體涉及一種數(shù)據(jù)請(qǐng)求處理方法和系統(tǒng)。
【背景技術(shù)】
[0002] 在互聯(lián)網(wǎng)中,一般是基于互聯(lián)網(wǎng)協(xié)議向服務(wù)器發(fā)送數(shù)據(jù)請(qǐng)求,以請(qǐng)求從服務(wù)器獲 取數(shù)據(jù)信息。然而,當(dāng)前國(guó)內(nèi)的網(wǎng)絡(luò)環(huán)境非常復(fù)雜,并不是每一次數(shù)據(jù)請(qǐng)求都能成功獲取到 相應(yīng)的數(shù)據(jù)信息,例如,網(wǎng)絡(luò)中斷、網(wǎng)絡(luò)超時(shí)都有可能造成數(shù)據(jù)請(qǐng)求的失敗。
[0003]目前,為了提高數(shù)據(jù)請(qǐng)求的成功率通常采用的方式是:在向服務(wù)器發(fā)送數(shù)據(jù)請(qǐng)求 之后,若在響應(yīng)時(shí)間超出設(shè)置的超時(shí)時(shí)間之后仍未接收到服務(wù)器返回的數(shù)據(jù)信息,則重新 發(fā)起請(qǐng)求。
[0004] 然而,采用目前的方法將消耗用戶大量的時(shí)間去等待重試過(guò)程,數(shù)據(jù)信息獲取速 度慢、耗時(shí)久、成功率低。
【發(fā)明內(nèi)容】
[0005] 本發(fā)明實(shí)施例提供一種數(shù)據(jù)請(qǐng)求處理方法和系統(tǒng),以解決目前數(shù)據(jù)信息獲取速度 慢、耗時(shí)久、成功率低的問(wèn)題。
[0006] 為了解決上述問(wèn)題,本發(fā)明公開(kāi)了一種數(shù)據(jù)請(qǐng)求處理方法,包括:
[0007] 發(fā)送第一次數(shù)據(jù)請(qǐng)求;
[0008] 若在第一預(yù)置時(shí)間內(nèi)未接收到根據(jù)所述第一次數(shù)據(jù)請(qǐng)求返回的數(shù)據(jù)信息,則發(fā)送 第二次數(shù)據(jù)請(qǐng)求,并在所述第一次數(shù)據(jù)請(qǐng)求超時(shí)前,繼續(xù)保持所述第一次數(shù)據(jù)請(qǐng)求;其中, 所述第一預(yù)置時(shí)間小于所述第一次數(shù)據(jù)請(qǐng)求的超時(shí)閾值,所述第二次數(shù)據(jù)請(qǐng)求為所述第一 次數(shù)據(jù)請(qǐng)求的重試請(qǐng)求;
[0009] 接收根據(jù)所述第一次數(shù)據(jù)請(qǐng)求或所述第二次數(shù)據(jù)請(qǐng)求返回的數(shù)據(jù)信息。
[0010] 可選地,所述方法還包括:
[0011] 分別確定所述第一次數(shù)據(jù)請(qǐng)求對(duì)應(yīng)的第一時(shí)間序列、所述第二次數(shù)據(jù)請(qǐng)求對(duì)應(yīng)的 第二時(shí)間序列;
[0012] 確定所述第一時(shí)間序列中各個(gè)時(shí)間點(diǎn)對(duì)應(yīng)的數(shù)據(jù)請(qǐng)求失敗率,以及所述第二時(shí)間 序列中各個(gè)時(shí)間點(diǎn)對(duì)應(yīng)的數(shù)據(jù)請(qǐng)求失敗率;
[0013] 根據(jù)所述第一時(shí)間序列中各個(gè)時(shí)間點(diǎn)對(duì)應(yīng)的數(shù)據(jù)請(qǐng)求失敗率和所述第二時(shí)間序 列中各個(gè)時(shí)間點(diǎn)對(duì)應(yīng)的數(shù)據(jù)請(qǐng)求失敗率確定第一集合;其中,所述第一集合中包括:所述 第一預(yù)置時(shí)間、所述第二次數(shù)據(jù)請(qǐng)求的第二超時(shí)閾值、以及與所述第一預(yù)置時(shí)間對(duì)應(yīng)的所 述第一次數(shù)據(jù)請(qǐng)求的第一超時(shí)閾值。
[0014] 可選地,所述第一集合滿足如下設(shè)定條件:
[0015] 所述第一預(yù)置時(shí)間和所述第一超時(shí)閾值隸屬于所述第一時(shí)間序列中的時(shí)間點(diǎn); 且,所述第一預(yù)置時(shí)間小于所述第一超時(shí)閾值;
[0016] 所述第一預(yù)置時(shí)間與所述第二超時(shí)閾值之和小于設(shè)置的標(biāo)準(zhǔn)等待時(shí)間;其中,所 述第二超時(shí)閾值隸屬于所述第二時(shí)間序列;
[0017] 所述第一超時(shí)閾值對(duì)應(yīng)的第一數(shù)據(jù)請(qǐng)求失敗率與所述第二超時(shí)閾值對(duì)應(yīng)的第二 數(shù)據(jù)請(qǐng)求失敗率之積小于設(shè)置的標(biāo)準(zhǔn)失敗率;
[0018] 根據(jù)所述第一預(yù)置時(shí)間對(duì)應(yīng)的失敗率確定的額外數(shù)據(jù)請(qǐng)求比例小于設(shè)置的標(biāo)準(zhǔn) 額外數(shù)據(jù)請(qǐng)求比例。
[0019] 可選地,所述方法還包括:預(yù)先設(shè)置所述標(biāo)準(zhǔn)等待時(shí)間、標(biāo)準(zhǔn)失敗率和標(biāo)準(zhǔn)額外數(shù) 據(jù)請(qǐng)求比例。
[0020] 可選地,所述第一時(shí)間序列和所述第二時(shí)間序列中各個(gè)時(shí)間點(diǎn)的步長(zhǎng)均為Is。
[0021] 本發(fā)明還公開(kāi)了一種數(shù)據(jù)請(qǐng)求處理系統(tǒng),包括:
[0022] 第一發(fā)送模塊,用于發(fā)送第一次數(shù)據(jù)請(qǐng)求;
[0023] 第二發(fā)送模塊,用于當(dāng)在第一預(yù)置時(shí)間內(nèi)未接收到根據(jù)所述第一次數(shù)據(jù)請(qǐng)求返回 的數(shù)據(jù)信息時(shí),發(fā)送第二次數(shù)據(jù)請(qǐng)求,并在所述第一次數(shù)據(jù)請(qǐng)求超時(shí)前,繼續(xù)保持所述第一 次數(shù)據(jù)請(qǐng)求;其中,所述第一預(yù)置時(shí)間小于所述第一次數(shù)據(jù)請(qǐng)求的超時(shí)閾值,所述第二次數(shù) 據(jù)請(qǐng)求為所述第一次數(shù)據(jù)請(qǐng)求的重試請(qǐng)求;
[0024] 接收模塊,用于接收根據(jù)所述第一次數(shù)據(jù)請(qǐng)求或所述第二次數(shù)據(jù)請(qǐng)求返回的數(shù)據(jù) 信息。
[0025] 可選地,所述系統(tǒng)還包括:
[0026] 第一確定模塊,用于分別確定所述第一次數(shù)據(jù)請(qǐng)求對(duì)應(yīng)的第一時(shí)間序列、所述第 二次數(shù)據(jù)請(qǐng)求對(duì)應(yīng)的第二時(shí)間序列;
[0027] 第二確定模塊,用于確定所述第一時(shí)間序列中各個(gè)時(shí)間點(diǎn)對(duì)應(yīng)的數(shù)據(jù)請(qǐng)求失敗 率,以及所述第二時(shí)間序列中各個(gè)時(shí)間點(diǎn)對(duì)應(yīng)的數(shù)據(jù)請(qǐng)求失敗率;
[0028] 第三確定模塊,用于根據(jù)所述第一時(shí)間序列中各個(gè)時(shí)間點(diǎn)對(duì)應(yīng)的數(shù)據(jù)請(qǐng)求失敗率 和所述第二時(shí)間序列中各個(gè)時(shí)間點(diǎn)對(duì)應(yīng)的數(shù)據(jù)請(qǐng)求失敗率確定第一集合;其中,所述第一 集合中包括:所述第一預(yù)置時(shí)間、所述第二次數(shù)據(jù)請(qǐng)求的第二超時(shí)閾值、以及與所述第一預(yù) 置時(shí)間對(duì)應(yīng)的所述第一次數(shù)據(jù)請(qǐng)求的第一超時(shí)閾值。
[0029] 可選地,所述第一集合滿足如下設(shè)定條件:
[0030] 所述第一預(yù)置時(shí)間和所述第一超時(shí)閾值隸屬于所述第一時(shí)間序列中的時(shí)間點(diǎn); 且,所述第一預(yù)置時(shí)間小于所述第一超時(shí)閾值;
[0031] 所述第一預(yù)置時(shí)間與所述第二超時(shí)閾值之和小于設(shè)置的標(biāo)準(zhǔn)等待時(shí)間;其中,所 述第二超時(shí)閾值隸屬于所述第二時(shí)間序列;
[0032] 所述第一超時(shí)閾值對(duì)應(yīng)的第一數(shù)據(jù)請(qǐng)求失敗率與所述第二超時(shí)閾值對(duì)應(yīng)的第二 數(shù)據(jù)請(qǐng)求失敗率之積小于設(shè)置的標(biāo)準(zhǔn)失敗率;
[0033] 根據(jù)所述第一預(yù)置時(shí)間對(duì)應(yīng)的失敗率確定的額外數(shù)據(jù)請(qǐng)求比例小于設(shè)置的標(biāo)準(zhǔn) 額外數(shù)據(jù)請(qǐng)求比例。
[0034] 可選地,所述系統(tǒng)還包括:
[0035] 設(shè)置模塊,用于預(yù)先設(shè)置所述標(biāo)準(zhǔn)等待時(shí)間、標(biāo)準(zhǔn)失敗率和標(biāo)準(zhǔn)額外數(shù)據(jù)請(qǐng)求比 例。
[0036] 可選地,所述第一時(shí)間序列和所述第二時(shí)間序列中各個(gè)時(shí)間點(diǎn)的步長(zhǎng)均為Is。
[0037] 與現(xiàn)有技術(shù)相比,本發(fā)明實(shí)施例包括以下優(yōu)點(diǎn):
[0038] 本發(fā)明實(shí)施例公開(kāi)了一種數(shù)據(jù)請(qǐng)求處理方案,可以先發(fā)送第一次數(shù)據(jù)請(qǐng)求;若在 第一預(yù)置時(shí)間內(nèi)未接收到根據(jù)所述第一次數(shù)據(jù)請(qǐng)求返回的數(shù)據(jù)信息,則發(fā)送第二次數(shù)據(jù)請(qǐng) 求,并在所述第一次數(shù)據(jù)請(qǐng)求超時(shí)前,繼續(xù)保持所述第一次數(shù)據(jù)請(qǐng)求;其中,所述第一預(yù)置 時(shí)間小于所述第一次數(shù)據(jù)請(qǐng)求的超時(shí)閾值,所述第二次數(shù)據(jù)請(qǐng)求為所述第一次數(shù)據(jù)請(qǐng)求的 重試請(qǐng)求;最后,接收根據(jù)所述第一次數(shù)據(jù)請(qǐng)求或所述第二次數(shù)據(jù)請(qǐng)求返回的數(shù)據(jù)信息???見(jiàn),在本發(fā)明實(shí)施例中,在所述第一次數(shù)據(jù)請(qǐng)求超時(shí)前即可發(fā)送第二次數(shù)據(jù)請(qǐng)求,降低了用 戶總的等待時(shí)間,提高了數(shù)據(jù)信息的獲取速度。而且,在所述第一預(yù)置時(shí)間至所述第一次數(shù) 據(jù)請(qǐng)求超時(shí)前這一時(shí)間范圍內(nèi),所述第一次數(shù)據(jù)請(qǐng)求和所述第二次數(shù)據(jù)請(qǐng)求過(guò)程可以同時(shí) 被保持,大大提高了數(shù)據(jù)請(qǐng)求的成功率,進(jìn)一步縮短了數(shù)據(jù)信息的等待時(shí)間,提高了效率。
【附圖說(shuō)明】
[0039] 圖1是本發(fā)明實(shí)施例一中一種數(shù)據(jù)請(qǐng)求處理方法的步驟流程圖;
[0040] 圖2是本發(fā)明實(shí)施例二中一種數(shù)據(jù)請(qǐng)求處理方法的步驟流程圖;
[0041] 圖3是本發(fā)明實(shí)施例三中一種數(shù)據(jù)請(qǐng)求的處理流程的步驟圖;
[0042] 圖4是本發(fā)明實(shí)施例四中一種數(shù)據(jù)請(qǐng)求處理系統(tǒng)的結(jié)構(gòu)框圖;
[0043] 圖5是本發(fā)明實(shí)施例五中一種數(shù)據(jù)請(qǐng)求處理系統(tǒng)的結(jié)構(gòu)框圖。
【具體實(shí)施方式】
[0044] 為使本發(fā)明的上述目的、特征和優(yōu)點(diǎn)能夠更加明顯易懂,下面結(jié)合附圖和具體實(shí) 施方式對(duì)本發(fā)明作進(jìn)一步詳細(xì)的說(shuō)明。
[0045] 實(shí)施例一
[0046] 參照?qǐng)D1,示出了本發(fā)明實(shí)施例一中一種數(shù)據(jù)請(qǐng)求處理方法的步驟流程圖。在本實(shí) 施例中,所述數(shù)據(jù)請(qǐng)求處理方法可以包括:
[0047] 步驟102,發(fā)送第一次數(shù)據(jù)請(qǐng)求。
[0048] 在互聯(lián)網(wǎng)應(yīng)用中,一般是通過(guò)向服務(wù)器發(fā)送數(shù)據(jù)請(qǐng)求,從服務(wù)器獲取所請(qǐng) 求的數(shù)據(jù)信息,例如,在互聯(lián)網(wǎng)中通常使用的網(wǎng)絡(luò)協(xié)議包括但不僅限于:TCP/IP協(xié)議 (TransmissionControlProtocol/InternetProtocol,傳輸控制協(xié)議 / 因特網(wǎng)互聯(lián)協(xié) 議)、IPX/SPX協(xié)議(InternetworkPacketExchange/SequencesPacketExchange,分組 交換/順序分組交換)、NetBEUI協(xié)議(NetBiosEnhancedUserInterface,增強(qiáng)用戶接口 協(xié)議)和Http協(xié)議(HyperTextTransferProtocol,超文本傳輸協(xié)議)等。客戶端可以通 過(guò)網(wǎng)絡(luò)協(xié)議向服務(wù)器發(fā)送數(shù)據(jù)請(qǐng)求以請(qǐng)求獲取數(shù)據(jù)。然而,由于網(wǎng)絡(luò)的環(huán)境非常復(fù)雜,如經(jīng) 常會(huì)因網(wǎng)絡(luò)中斷,網(wǎng)絡(luò)超時(shí)等因素導(dǎo)致數(shù)據(jù)請(qǐng)求失敗,無(wú)法獲得所請(qǐng)求的數(shù)據(jù)信息。
[0049] 在本實(shí)施例中,若在第一預(yù)置時(shí)間內(nèi)未接收到根據(jù)所述第一次數(shù)據(jù)請(qǐng)求返回的數(shù) 據(jù)信息,則可以執(zhí)行下述步驟104 :
[0050] 步驟104,發(fā)送第二次數(shù)據(jù)請(qǐng)求。
[0051] 在本實(shí)施例中,第一預(yù)置時(shí)間可以是小于第一次數(shù)據(jù)請(qǐng)求的超時(shí)閾值的任意一個(gè) 適當(dāng)?shù)臅r(shí)間。其中,第一次數(shù)據(jù)請(qǐng)求的超時(shí)閾值可以是預(yù)先設(shè)置好的時(shí)間,也可以是根據(jù)經(jīng) 驗(yàn)(歷史數(shù)據(jù))確定的經(jīng)驗(yàn)值,也可以是根據(jù)通過(guò)適當(dāng)模型建模確定的,本實(shí)施例對(duì)此不作 限制。
[0052] 需要說(shuō)明的是,在本實(shí)施例中,第二次數(shù)據(jù)請(qǐng)求可以與所述第一次數(shù)據(jù)請(qǐng)求所請(qǐng) 求的數(shù)據(jù)相同,即,所述第二次數(shù)據(jù)請(qǐng)求和所述第一次數(shù)據(jù)請(qǐng)求可以是相同的一條數(shù)據(jù)請(qǐng) 求,是所述第一次數(shù)據(jù)請(qǐng)求的重試請(qǐng)求。其中,從所述第一預(yù)置時(shí)間起,所述第一次數(shù)據(jù)請(qǐng) 求和所述第二次數(shù)據(jù)請(qǐng)求可以并行執(zhí)行,即,在第一預(yù)置時(shí)間內(nèi)未接收到根據(jù)所述第一次 數(shù)據(jù)請(qǐng)求返回的數(shù)據(jù)信息時(shí),可以發(fā)送第二次數(shù)