两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

數(shù)據(jù)請(qǐng)求控制方法及裝置與流程

文檔序號(hào):12278254閱讀:197來(lái)源:國(guó)知局
數(shù)據(jù)請(qǐng)求控制方法及裝置與流程

本發(fā)明涉及互聯(lián)網(wǎng)技術(shù)領(lǐng)域,具體涉及一種數(shù)據(jù)請(qǐng)求控制方法及裝置。



背景技術(shù):

在現(xiàn)有各網(wǎng)站或應(yīng)用的一些場(chǎng)景中,當(dāng)用戶(hù)觸發(fā)業(yè)務(wù)處理請(qǐng)求之后,客戶(hù)端需要從服務(wù)器分多次獲取數(shù)據(jù)。例如,在支付場(chǎng)景中,用戶(hù)觸發(fā)支付請(qǐng)求,客戶(hù)端將支付請(qǐng)求提交給服務(wù)器,假設(shè)服務(wù)器需要調(diào)用第三方支付平臺(tái),即服務(wù)器從第三方支付平臺(tái)得到數(shù)據(jù)后再返回給客戶(hù)端。那么這種情況下,對(duì)于客戶(hù)端而言就會(huì)出現(xiàn)等待的現(xiàn)象,如果此時(shí)客戶(hù)端不斷的頻繁向服務(wù)器發(fā)送支付請(qǐng)求,會(huì)增加服務(wù)器的處理壓力;如果請(qǐng)求頻率過(guò)慢,由于目前一般采取的是基于輪詢(xún)的請(qǐng)求策略,又會(huì)導(dǎo)致用戶(hù)等待時(shí)間過(guò)長(zhǎng),影響用戶(hù)體驗(yàn)。



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

鑒于上述問(wèn)題,提出了本發(fā)明以便提供一種克服上述問(wèn)題或者至少部分地解決上述問(wèn)題的數(shù)據(jù)請(qǐng)求控制方法及裝置。

依據(jù)本發(fā)明的一個(gè)方面,提供一種數(shù)據(jù)請(qǐng)求控制方法,包括:客戶(hù)端接收用戶(hù)提交的業(yè)務(wù)處理請(qǐng)求,其中,基于所述業(yè)務(wù)處理請(qǐng)求須向服務(wù)器分多次請(qǐng)求獲取業(yè)務(wù)數(shù)據(jù);客戶(hù)端將所述業(yè)務(wù)處理請(qǐng)求轉(zhuǎn)換為業(yè)務(wù)數(shù)據(jù)脈沖請(qǐng)求,其中,設(shè)置業(yè)務(wù)數(shù)據(jù)脈沖請(qǐng)求的請(qǐng)求時(shí)間閾值、請(qǐng)求時(shí)間間隔;在所述請(qǐng)求時(shí)間閾值之內(nèi),根據(jù)請(qǐng)求時(shí)間間隔分多次向服務(wù)器發(fā)送業(yè)務(wù)數(shù)據(jù)脈沖請(qǐng)求。

優(yōu)選的,在所述根據(jù)請(qǐng)求時(shí)間間隔分多次向服務(wù)器發(fā)送業(yè)務(wù)數(shù)據(jù)脈沖請(qǐng)求之后,還包括:如果任一次客戶(hù)端向服務(wù)器發(fā)送業(yè)務(wù)數(shù)據(jù)脈沖請(qǐng)求之后收到服務(wù)器返回的完整正確業(yè)務(wù)數(shù)據(jù),則實(shí)時(shí)結(jié)束數(shù)據(jù)請(qǐng)求流程;或者,如果任一次客戶(hù)端向服務(wù)器發(fā)送業(yè)務(wù)數(shù)據(jù)脈沖請(qǐng)求之后收到服務(wù)器返回的錯(cuò)誤提示,則實(shí)時(shí)結(jié)束數(shù)據(jù)請(qǐng)求流程。

優(yōu)選的,在所述根據(jù)請(qǐng)求時(shí)間間隔分多次向服務(wù)器發(fā)送業(yè)務(wù)數(shù)據(jù)脈沖請(qǐng)求之后,還包括:實(shí)時(shí)監(jiān)控從首次發(fā)送業(yè)務(wù)數(shù)據(jù)脈沖請(qǐng)求到當(dāng)前時(shí)刻的請(qǐng)求時(shí)間,并判斷所述請(qǐng)求時(shí)間是否超過(guò)所述請(qǐng)求時(shí)間閾值,如果是,實(shí)時(shí)結(jié)束數(shù)據(jù)請(qǐng)求流程。

優(yōu)選的,根據(jù)業(yè)務(wù)類(lèi)型,設(shè)置業(yè)務(wù)數(shù)據(jù)脈沖請(qǐng)求的請(qǐng)求時(shí)間閾值、請(qǐng)求時(shí)間間隔,所述方法還包括:根據(jù)業(yè)務(wù)類(lèi)型,設(shè)置業(yè)務(wù)數(shù)據(jù)脈沖請(qǐng)求的調(diào)用接口,并定義脈沖請(qǐng)求封裝格式;所述向服務(wù)器發(fā)送業(yè)務(wù)數(shù)據(jù)脈沖請(qǐng)求包括:通過(guò)所述調(diào)用接口,將滿(mǎn)足所述脈沖請(qǐng)求封裝格式的業(yè)務(wù)數(shù)據(jù)脈沖請(qǐng)求發(fā)送給服務(wù)器。

優(yōu)選的,還包括:設(shè)置所述請(qǐng)求時(shí)間間隔為:固定時(shí)間值,或,隨機(jī)時(shí)間值,或固定時(shí)間值與隨機(jī)時(shí)間值的組合;在所述請(qǐng)求時(shí)間間隔包括隨機(jī)時(shí)間值情況下,設(shè)置業(yè)務(wù)數(shù)據(jù)脈沖請(qǐng)求的請(qǐng)求次數(shù)閾值,僅允許向服務(wù)器發(fā)送所述請(qǐng)求次數(shù)閾值之內(nèi)次數(shù)的業(yè)務(wù)數(shù)據(jù)脈沖請(qǐng)求。

依據(jù)本發(fā)明的一個(gè)方面,提供一種數(shù)據(jù)請(qǐng)求控制裝置,包括:請(qǐng)求接收單元,用于接收用戶(hù)提交的業(yè)務(wù)處理請(qǐng)求,其中,基于所述業(yè)務(wù)處理請(qǐng)求須向服務(wù)器分多次請(qǐng)求獲取業(yè)務(wù)數(shù)據(jù);脈沖請(qǐng)求轉(zhuǎn)換單元,用于將所述業(yè)務(wù)處理請(qǐng)求轉(zhuǎn)換為業(yè)務(wù)數(shù)據(jù)脈沖請(qǐng)求,其中,設(shè)置業(yè)務(wù)數(shù)據(jù)脈沖請(qǐng)求的請(qǐng)求時(shí)間閾值、請(qǐng)求時(shí)間間隔;脈沖請(qǐng)求處理單元,用于在所述請(qǐng)求時(shí)間閾值之內(nèi),根據(jù)請(qǐng)求時(shí)間間隔分多次向服務(wù)器發(fā)送業(yè)務(wù)數(shù)據(jù)脈沖請(qǐng)求。

優(yōu)選的,還包括:實(shí)時(shí)終止單元,用于當(dāng)任一次向服務(wù)器發(fā)送業(yè)務(wù)數(shù)據(jù)脈沖請(qǐng)求之后收到服務(wù)器返回的完整正確業(yè)務(wù)數(shù)據(jù)時(shí),實(shí)時(shí)結(jié)束數(shù)據(jù)請(qǐng)求流程;或者,當(dāng)任一次向服務(wù)器發(fā)送業(yè)務(wù)數(shù)據(jù)脈沖請(qǐng)求之后收到服務(wù)器返回的錯(cuò)誤提示,實(shí)時(shí)結(jié)束數(shù)據(jù)請(qǐng)求流程。

優(yōu)選的,還包括:超時(shí)監(jiān)控單元和實(shí)時(shí)終止單元;所述超時(shí)監(jiān)控單元,用于實(shí)時(shí)監(jiān)控從首次發(fā)送業(yè)務(wù)數(shù)據(jù)脈沖請(qǐng)求到當(dāng)前時(shí)刻的請(qǐng)求時(shí)間,并判斷所述請(qǐng)求時(shí)間是否超過(guò)所述請(qǐng)求時(shí)間閾值,如果是,指示實(shí)時(shí)終止單元實(shí)時(shí)結(jié)束數(shù)據(jù)請(qǐng)求流程。

優(yōu)選的,所述脈沖請(qǐng)求轉(zhuǎn)換單元,具體用于根據(jù)業(yè)務(wù)類(lèi)型,設(shè)置業(yè)務(wù)數(shù)據(jù)脈沖請(qǐng)求的請(qǐng)求時(shí)間閾值、請(qǐng)求時(shí)間間隔,所述脈沖請(qǐng)求轉(zhuǎn)換單元還用于:根據(jù)業(yè)務(wù)類(lèi)型,設(shè)置業(yè)務(wù)數(shù)據(jù)脈沖請(qǐng)求的調(diào)用接口,并定義脈沖請(qǐng)求封裝格式;所述脈沖請(qǐng)求處理單元具體用于:通過(guò)所述調(diào)用接口,將滿(mǎn)足所述脈沖請(qǐng)求封裝格式的業(yè)務(wù)數(shù)據(jù)脈沖請(qǐng)求發(fā)送給服務(wù)器。

優(yōu)選的,還包括:請(qǐng)求時(shí)間間隔設(shè)置單元,用于設(shè)置所述請(qǐng)求時(shí)間間隔為:固定時(shí)間值,或,隨機(jī)時(shí)間值,或固定時(shí)間值與隨機(jī)時(shí)間值的組合;請(qǐng)求次數(shù)控制單元,用于在所述請(qǐng)求時(shí)間間隔包括隨機(jī)時(shí)間值情況下,設(shè)置業(yè)務(wù)數(shù)據(jù)脈沖請(qǐng)求的請(qǐng)求次數(shù)閾值,僅允許所述脈沖請(qǐng)求處理單元向服務(wù)器發(fā)送所述請(qǐng)求次數(shù)閾值之內(nèi)次數(shù)的業(yè)務(wù)數(shù)據(jù)脈沖請(qǐng)求。

可見(jiàn),本發(fā)明提供的數(shù)據(jù)請(qǐng)求控制方案的場(chǎng)景是,客戶(hù)端需要與服務(wù)器進(jìn)行數(shù)據(jù)交互,但不能通過(guò)一次數(shù)據(jù)請(qǐng)求完成,服務(wù)器需要通過(guò)一段時(shí)間的處理才能完成,為了保證客戶(hù)端能夠獲取到最終的結(jié)果并反饋信息給用戶(hù),需要客戶(hù)端不斷的請(qǐng)求服務(wù)器上的數(shù)據(jù)。本發(fā)明實(shí)施例中,通過(guò)業(yè)務(wù)數(shù)據(jù)脈沖請(qǐng)求,合理控制向服務(wù)器發(fā)起數(shù)據(jù)請(qǐng)求的超時(shí)時(shí)間和頻率,由于降低了單位時(shí)間內(nèi)請(qǐng)求服務(wù)器的頻率,因此可以降低服務(wù)器壓力,同時(shí)因?yàn)榭梢钥刂瞥瑫r(shí)時(shí)間,避免了用戶(hù)過(guò)長(zhǎng)時(shí)間的等待,提升了用戶(hù)的體驗(yàn)。

上述說(shuō)明僅是本發(fā)明技術(shù)方案的概述,為了能夠更清楚了解本發(fā)明的技術(shù)手段,而可依照說(shuō)明書(shū)的內(nèi)容予以實(shí)施,并且為了讓本發(fā)明的上述和其它目的、特征和優(yōu)點(diǎn)能夠更明顯易懂,以下特舉本發(fā)明的具體實(shí)施方式。

附圖說(shuō)明

通過(guò)閱讀下文優(yōu)選實(shí)施方式的詳細(xì)描述,各種其他的優(yōu)點(diǎn)和益處對(duì)于本領(lǐng)域普通技術(shù)人員將變得清楚明了。附圖僅用于示出優(yōu)選實(shí)施方式的目的,而并不認(rèn)為是對(duì)本發(fā)明的限制。而且在整個(gè)附圖中,用相同的參考符號(hào)表示相同的部件。在附圖中:

圖1示出了根據(jù)本發(fā)明的數(shù)據(jù)請(qǐng)求控制方法流程圖;

圖2示出了根據(jù)本發(fā)明的數(shù)據(jù)請(qǐng)求控制裝置結(jié)構(gòu)示意圖。

具體實(shí)施方式

下面將參照附圖更詳細(xì)地描述本公開(kāi)的示例性實(shí)施例。雖然附圖中顯示了本公開(kāi)的示例性實(shí)施例,然而應(yīng)當(dāng)理解,可以以各種形式實(shí)現(xiàn)本公開(kāi)而不應(yīng)被這里闡述的實(shí)施例所限制。相反,提供這些實(shí)施例是為了能夠更透徹地理解本公開(kāi),并且能夠?qū)⒈竟_(kāi)的范圍完整的傳達(dá)給本領(lǐng)域的技術(shù)人員。

如前所述的,某些應(yīng)用場(chǎng)景(例如支付)中,客戶(hù)端需要從服務(wù)器分多次獲取數(shù)據(jù)。由于目前一般基于輪詢(xún)的請(qǐng)求機(jī)制,因此頻繁的向服務(wù)器請(qǐng)求數(shù)據(jù),可以保證優(yōu)先得到響應(yīng),然而,過(guò)于頻繁的向服務(wù)器發(fā)出請(qǐng)求,會(huì)給服務(wù)器造成壓力,反之,如果請(qǐng)求頻率過(guò)低,則會(huì)造成用戶(hù)等待時(shí)間過(guò)長(zhǎng),影響用戶(hù)體驗(yàn)。為此,本發(fā)明實(shí)施例提供一種數(shù)據(jù)請(qǐng)求控制方法,通過(guò)控制向服務(wù)器請(qǐng)求數(shù)據(jù)的頻率,一方面減輕服務(wù)器的處理壓力,另一方面避免用戶(hù)等待時(shí)間過(guò)長(zhǎng)。

參見(jiàn)圖1,為本發(fā)明實(shí)施例提供的一種數(shù)據(jù)請(qǐng)求控制方法流程圖。

S101:客戶(hù)端接收用戶(hù)提交的業(yè)務(wù)處理請(qǐng)求,其中,基于業(yè)務(wù)處理請(qǐng)求須向服務(wù)器分多次請(qǐng)求獲取業(yè)務(wù)數(shù)據(jù)。

用戶(hù)在客戶(hù)端(也即終端,例如PC機(jī)、PAD、手機(jī))進(jìn)行業(yè)務(wù)處理操作,向客戶(hù)端提交業(yè)務(wù)處理請(qǐng)求。具體的,用戶(hù)可以通過(guò)客戶(hù)端在網(wǎng)站(例如,直播網(wǎng)站、購(gòu)物網(wǎng)站、視頻網(wǎng)站,等)或應(yīng)用程序(即時(shí)通訊APP、購(gòu)物APP、直播APP,等)上進(jìn)行業(yè)務(wù)處理操作,向客戶(hù)端提交業(yè)務(wù)處理請(qǐng)求。例如,如果在網(wǎng)站上進(jìn)行業(yè)務(wù)處理操作,則是網(wǎng)站前端接管該業(yè)務(wù)處理請(qǐng)求,網(wǎng)站前端(也簡(jiǎn)稱(chēng)前端),通常是指網(wǎng)站的前臺(tái)部分,包括網(wǎng)站的表現(xiàn)層和結(jié)構(gòu)層。

其中,對(duì)于業(yè)務(wù)處理請(qǐng)求的具體形式或類(lèi)型不作限定,包括各種類(lèi)型業(yè)務(wù)的處理請(qǐng)求,但是不論何種業(yè)務(wù)處理請(qǐng)求,其共同特點(diǎn)是,該業(yè)務(wù)處理請(qǐng)求需要客戶(hù)端向服務(wù)器分多次請(qǐng)求業(yè)務(wù)數(shù)據(jù)(因此需要多次向服務(wù)器發(fā)起數(shù)據(jù)請(qǐng)求過(guò)程),也即,并非一次請(qǐng)求就可完成業(yè)務(wù)數(shù)據(jù)的接收,需要不斷的多次從服務(wù)器獲取數(shù)據(jù)。

S102:將業(yè)務(wù)處理請(qǐng)求轉(zhuǎn)換為業(yè)務(wù)數(shù)據(jù)脈沖請(qǐng)求,其中,設(shè)置業(yè)務(wù)數(shù)據(jù)脈沖請(qǐng)求的請(qǐng)求時(shí)間閾值、請(qǐng)求時(shí)間間隔。

現(xiàn)有處理方式中,在客戶(hù)端一般僅采取輪詢(xún)方式向服務(wù)器多次請(qǐng)求數(shù)據(jù)。如果請(qǐng)求頻率過(guò)快,易給服務(wù)器造成壓力,如果請(qǐng)求頻率過(guò)低,則影響用戶(hù)體驗(yàn)?,F(xiàn)有處理方式中,沒(méi)有對(duì)請(qǐng)求的頻率進(jìn)行合理控制,而且,如果服務(wù)器沒(méi)有及時(shí)響應(yīng),也沒(méi)有及時(shí)提醒用戶(hù),會(huì)使用戶(hù)長(zhǎng)時(shí)間等待。

對(duì)此,本發(fā)明實(shí)施例提出在向服務(wù)器請(qǐng)求業(yè)務(wù)數(shù)據(jù)之前,制定出合理的請(qǐng)求頻率控制邏輯,在該控制邏輯中,通過(guò)設(shè)置請(qǐng)求的請(qǐng)求時(shí)間閾值(即控制超時(shí)時(shí)間)和請(qǐng)求時(shí)間間隔,一方面保證在請(qǐng)求時(shí)間閾值內(nèi)完成請(qǐng)求過(guò)程,避免用戶(hù)過(guò)長(zhǎng)時(shí)間等待,另一方面,通過(guò)合理設(shè)置請(qǐng)求時(shí)間間隔(固定時(shí)間間隔或隨機(jī)時(shí)間間隔),控制向服務(wù)器發(fā)出請(qǐng)求的頻率,減輕給服務(wù)器造成過(guò)大壓力。

其中,業(yè)務(wù)數(shù)據(jù)脈沖請(qǐng)求是指為了獲取業(yè)務(wù)數(shù)據(jù)而基于脈沖原理的請(qǐng)求。脈沖,狹義上理解,是指電子技術(shù)中經(jīng)常運(yùn)用的一種象脈搏似的短暫起伏的電沖擊(電壓或電流),主要特性有波形、幅度、寬度和重復(fù)頻率。計(jì)算機(jī)領(lǐng)域中,脈沖信號(hào)也稱(chēng)為數(shù)字信號(hào),可以理解為在一個(gè)周期內(nèi),定期或不定期出現(xiàn)的信號(hào)。在本發(fā)明實(shí)施例中,業(yè)務(wù)數(shù)據(jù)脈沖請(qǐng)求,可以理解是在請(qǐng)求時(shí)間閾值這個(gè)周期內(nèi),以各個(gè)請(qǐng)求時(shí)間間隔時(shí)刻啟動(dòng)的數(shù)據(jù)請(qǐng)求,也即,通過(guò)設(shè)定的請(qǐng)求時(shí)間閾值,限定了整個(gè)脈沖請(qǐng)求的周期,通過(guò)設(shè)定的請(qǐng)求時(shí)間間隔,控制了每次發(fā)起數(shù)據(jù)請(qǐng)求的時(shí)刻(控制了發(fā)起數(shù)據(jù)請(qǐng)求的頻率)。

將業(yè)務(wù)處理請(qǐng)求轉(zhuǎn)換為業(yè)務(wù)數(shù)據(jù)脈沖請(qǐng)求的具體轉(zhuǎn)換方式,可以通過(guò)計(jì)算機(jī)編程語(yǔ)言定義脈沖對(duì)象實(shí)現(xiàn)。如前舉例的,對(duì)于用戶(hù)在網(wǎng)站進(jìn)行業(yè)務(wù)處理操作的場(chǎng)景下,網(wǎng)站前端接管業(yè)務(wù)處理請(qǐng)求,網(wǎng)站前端技術(shù)一般分為前端設(shè)計(jì)和前端開(kāi)發(fā),前端設(shè)計(jì)一般可以理解為網(wǎng)站的視覺(jué)設(shè)計(jì),前端開(kāi)發(fā)則是網(wǎng)站的前臺(tái)代碼實(shí)現(xiàn),包括基本的HTML和CSS以及JavaScript/ajax。因此,可以在JavaScript編程語(yǔ)言中,定義脈沖對(duì)象,并對(duì)脈沖對(duì)象的屬性信息進(jìn)行定義。脈沖對(duì)應(yīng)的屬性信息,除了上述的請(qǐng)求時(shí)間閾值和請(qǐng)求時(shí)間間隔之外,還可以設(shè)置向服務(wù)器發(fā)送數(shù)據(jù)請(qǐng)求的調(diào)用接口,并定義脈沖請(qǐng)求封裝格式。在后續(xù)向服務(wù)器發(fā)送業(yè)務(wù)數(shù)據(jù)脈沖請(qǐng)求(步驟S103)時(shí),通過(guò)該調(diào)用接口,將滿(mǎn)足脈沖請(qǐng)求封裝格式的業(yè)務(wù)數(shù)據(jù)脈沖請(qǐng)求發(fā)送給服務(wù)器。

可結(jié)合業(yè)務(wù)類(lèi)型,對(duì)脈沖對(duì)象的屬性信息進(jìn)行定義。例如,設(shè)置業(yè)務(wù)數(shù)據(jù)脈沖請(qǐng)求的請(qǐng)求時(shí)間閾值和請(qǐng)求時(shí)間間隔時(shí),例如,對(duì)于大文件上傳業(yè)務(wù),為了保證文件順利上傳,可設(shè)置請(qǐng)求時(shí)間閾值和請(qǐng)求時(shí)間間隔相對(duì)長(zhǎng),而對(duì)于支付業(yè)務(wù),為了避免用戶(hù)過(guò)長(zhǎng)時(shí)間等待,可設(shè)置請(qǐng)求時(shí)間閾值和請(qǐng)求時(shí)間間隔相對(duì)短,具體數(shù)值可通過(guò)多次實(shí)驗(yàn)或經(jīng)驗(yàn)值確定,對(duì)此不做限定。

S103:在請(qǐng)求時(shí)間閾值之內(nèi),客戶(hù)端根據(jù)請(qǐng)求時(shí)間間隔分多次向服務(wù)器發(fā)送業(yè)務(wù)數(shù)據(jù)脈沖請(qǐng)求。

通過(guò)設(shè)定的請(qǐng)求時(shí)間閾值,將整個(gè)請(qǐng)求過(guò)程控制在請(qǐng)求時(shí)間閾值之內(nèi),避免服務(wù)器長(zhǎng)時(shí)間不響應(yīng)而造成用戶(hù)長(zhǎng)時(shí)間等待,同時(shí),通過(guò)按照請(qǐng)求時(shí)間間隔控制向服務(wù)器發(fā)送數(shù)據(jù)請(qǐng)求的頻率,避免過(guò)于頻繁地向服務(wù)器發(fā)起請(qǐng)求,由此避免給服務(wù)器造成過(guò)大壓力。

其中,為了更加合理的控制向服務(wù)器發(fā)起數(shù)據(jù)請(qǐng)求的頻率,優(yōu)選的方式中,設(shè)置請(qǐng)求時(shí)間間隔為固定時(shí)間值與隨機(jī)時(shí)間值的合的方式。例如,一種優(yōu)選方式中,定義一個(gè)一維數(shù)組,該數(shù)組中存放每次脈沖執(zhí)行(即發(fā)起數(shù)據(jù)請(qǐng)求)的延時(shí)時(shí)間(單位為秒),按照在數(shù)組中的位置,將各個(gè)時(shí)間分成前5個(gè)和后5個(gè),其中,前5個(gè)時(shí)間為固定值,后5個(gè)時(shí)間為隨機(jī)值,其原理是,使前5次脈沖執(zhí)行能盡量的快,如果在前5次執(zhí)行中得到了服務(wù)器正確響應(yīng),便會(huì)停止脈沖執(zhí)行過(guò)程;如果前5次執(zhí)行過(guò)程沒(méi)有得到服務(wù)器響應(yīng),那么就根據(jù)后5個(gè)隨機(jī)延時(shí)時(shí)間進(jìn)行脈沖執(zhí)行。這樣處理的好處是,如果前5次快速處理都沒(méi)有得到響應(yīng),那么后5次就在請(qǐng)求時(shí)間閾值范圍內(nèi)隨機(jī)一個(gè)新的時(shí)間進(jìn)行不規(guī)則處理,這樣避免定期頻繁請(qǐng)求造成服務(wù)器壓力過(guò)大。除了設(shè)置請(qǐng)求時(shí)間間隔為固定時(shí)間值與隨機(jī)時(shí)間值的合的方式之外,也可以采取其他方式,例如,設(shè)置請(qǐng)求時(shí)間間隔僅為固定時(shí)間值或僅為隨機(jī)時(shí)間值。

在請(qǐng)求時(shí)間間隔包括隨機(jī)時(shí)間值情況下,由于隨機(jī)時(shí)間值的存在,不能保證在請(qǐng)求時(shí)間閾值之內(nèi)進(jìn)行合理次數(shù)的數(shù)據(jù)請(qǐng)求,比如,假設(shè)隨機(jī)時(shí)間值都過(guò)短,還會(huì)一定程度上頻繁地向服務(wù)器發(fā)起數(shù)據(jù)請(qǐng)求,因此,在這種情況下,可優(yōu)選地,為業(yè)務(wù)數(shù)據(jù)脈沖請(qǐng)求設(shè)置請(qǐng)求次數(shù)閾值,即,僅允許向服務(wù)器進(jìn)行該請(qǐng)求次數(shù)閾值之內(nèi)次數(shù)的數(shù)據(jù)請(qǐng)求,由此進(jìn)一步避免過(guò)于頻繁地向服務(wù)器發(fā)起數(shù)據(jù)請(qǐng)求。

在以請(qǐng)求時(shí)間間隔定期或不定期向服務(wù)器發(fā)送數(shù)據(jù)請(qǐng)求之后,需要根據(jù)服務(wù)器的響應(yīng)情況及時(shí)終止請(qǐng)求過(guò)程。例如,如果任一次數(shù)據(jù)請(qǐng)求之后收到服務(wù)器返回的完整正確業(yè)務(wù)數(shù)據(jù),則表明數(shù)據(jù)請(qǐng)求過(guò)程的任務(wù)已完成,應(yīng)該及時(shí)終止,因此此時(shí)需要實(shí)時(shí)結(jié)束數(shù)據(jù)請(qǐng)求流程。再比如,如果任一次數(shù)據(jù)請(qǐng)求之后收到服務(wù)器返回的錯(cuò)誤提示(比如,HTTP網(wǎng)絡(luò)錯(cuò)誤404、502,等等),則說(shuō)明網(wǎng)絡(luò)狀態(tài)出現(xiàn)了問(wèn)題,此時(shí)即使繼續(xù)發(fā)起業(yè)務(wù)數(shù)據(jù)請(qǐng)求也不會(huì)得到結(jié)果,因此此時(shí)也應(yīng)該實(shí)時(shí)結(jié)束數(shù)據(jù)請(qǐng)求流程。此外,還需要將整個(gè)請(qǐng)求過(guò)程控制在請(qǐng)求時(shí)間閾值之內(nèi),具體方式可以是:實(shí)時(shí)監(jiān)控從首次請(qǐng)求到當(dāng)前時(shí)刻的請(qǐng)求時(shí)間,并判斷請(qǐng)求時(shí)間是否超過(guò)請(qǐng)求時(shí)間閾值,如果是,則實(shí)時(shí)結(jié)束數(shù)據(jù)請(qǐng)求流程。

本發(fā)明實(shí)施例適用各種客戶(hù)端與服務(wù)器數(shù)據(jù)交互的場(chǎng)景,只要不是一次請(qǐng)求就可完成而是需要不斷請(qǐng)求數(shù)據(jù)的場(chǎng)景即可。例如,除了前述描述的支付場(chǎng)景之外,還適用客戶(hù)端上傳大型文件給服務(wù)器的場(chǎng)景:用戶(hù)在網(wǎng)站頁(yè)面中,需要上傳大型文件給服務(wù)器(比如:上傳視頻),此時(shí)前端利用Flash將大型文件進(jìn)行切片,并按照切片后的順序傳遞給服務(wù)器;為了提升用戶(hù)體驗(yàn),前端需要在網(wǎng)站頁(yè)面中給用戶(hù)提示文件上傳的進(jìn)度;此時(shí)前端可以控制不斷地向服務(wù)器請(qǐng)求數(shù)據(jù)的頻率,從而合理地獲取服務(wù)器中接收文件的進(jìn)度。

本發(fā)明提供的數(shù)據(jù)請(qǐng)求控制方法的場(chǎng)景是,客戶(hù)端需要與服務(wù)器進(jìn)行數(shù)據(jù)交互,但不能通過(guò)一次數(shù)據(jù)請(qǐng)求完成,服務(wù)器需要通過(guò)一段時(shí)間的處理才能完成,為了保證客戶(hù)端能夠獲取到最終的結(jié)果并反饋信息給用戶(hù),需要客戶(hù)端不斷的請(qǐng)求服務(wù)器上的數(shù)據(jù)(狀態(tài)信息)。本發(fā)明實(shí)施例中,通過(guò)業(yè)務(wù)數(shù)據(jù)脈沖請(qǐng)求,合理控制向服務(wù)器發(fā)起數(shù)據(jù)請(qǐng)求的超時(shí)時(shí)間和頻率,由于降低了單位時(shí)間內(nèi)請(qǐng)求服務(wù)器的頻率,因此可以降低服務(wù)器壓力,同時(shí)因?yàn)榭梢钥刂瞥瑫r(shí)時(shí)間,避免了用戶(hù)過(guò)長(zhǎng)時(shí)間的等待,提升了用戶(hù)的體驗(yàn)。

下面通過(guò)網(wǎng)站前端處理支付請(qǐng)求為應(yīng)用背景,對(duì)本發(fā)明一個(gè)具體實(shí)施例進(jìn)行介紹。

在該實(shí)施例中,前述的“業(yè)務(wù)數(shù)據(jù)脈沖請(qǐng)求”通過(guò)在編程語(yǔ)言中定義的一個(gè)脈沖對(duì)象實(shí)現(xiàn),并且,通過(guò)定義該脈沖對(duì)象的屬性信息,實(shí)現(xiàn)脈沖邏輯。具體應(yīng)用中,通過(guò)執(zhí)行脈沖邏輯,實(shí)現(xiàn)控制數(shù)據(jù)請(qǐng)求的目的。

概括而言,該實(shí)施例包括以下三個(gè)步驟:

步驟1:網(wǎng)站前端接收用戶(hù)提交的業(yè)務(wù)處理請(qǐng)求,該請(qǐng)求需要前端從服務(wù)器不斷的獲取數(shù)據(jù),最后給用戶(hù)反饋結(jié)果。

步驟2:網(wǎng)站前端在向服務(wù)器請(qǐng)求數(shù)據(jù)之前,首先將用戶(hù)提交的業(yè)務(wù)請(qǐng)求轉(zhuǎn)換為脈沖邏輯:

(1)定義脈沖請(qǐng)求的超時(shí)時(shí)間(即:請(qǐng)求時(shí)間閾值);

(2)定義脈沖請(qǐng)求的次數(shù),并規(guī)定每次請(qǐng)求的時(shí)間間隔;

(3)定義脈沖請(qǐng)求的執(zhí)行方法,此方法代表了網(wǎng)站前端每次請(qǐng)求服務(wù)器所調(diào)用的接口、傳遞給服務(wù)器的參數(shù)、對(duì)服務(wù)器每次響應(yīng)結(jié)果的處理、對(duì)網(wǎng)絡(luò)請(qǐng)求錯(cuò)誤信息的處理、對(duì)脈沖請(qǐng)求邏輯超時(shí)的處理

步驟3:網(wǎng)站前端根據(jù)step2生成的脈沖邏輯,主動(dòng)調(diào)用脈沖邏輯的啟動(dòng),此時(shí)脈沖邏輯開(kāi)始執(zhí)行;在step 2脈沖請(qǐng)求的執(zhí)行方法中,完成對(duì)脈沖邏輯的停止工作,詳情如下:

(1)對(duì)服務(wù)器每次響應(yīng)結(jié)果的處理:如果在某一次網(wǎng)站前端脈沖請(qǐng)求服務(wù)器的結(jié)果,服務(wù)器返回了正確的結(jié)果,那么脈沖結(jié)束。這個(gè)結(jié)果的正確性由實(shí)際的業(yè)務(wù)場(chǎng)景決定。

(2)對(duì)網(wǎng)絡(luò)請(qǐng)求錯(cuò)誤信息的處理:如果在某一次網(wǎng)站前端脈沖請(qǐng)求服務(wù)器的結(jié)果,是HTTP網(wǎng)絡(luò)錯(cuò)誤,那么脈沖結(jié)束。

(3)對(duì)脈沖請(qǐng)求邏輯超時(shí)的處理:如果脈沖邏輯執(zhí)行的時(shí)間大于脈沖的超時(shí)時(shí)間,那么脈沖邏輯結(jié)束。

下面以網(wǎng)站前端采取javascript為編程語(yǔ)言,對(duì)本實(shí)施例具體實(shí)現(xiàn)進(jìn)行士例性介紹。整個(gè)過(guò)程包括:觸發(fā)、前端預(yù)處理、前端執(zhí)行、獲取結(jié)果。

1、觸發(fā)

“觸發(fā)”代表整個(gè)脈沖邏輯的起點(diǎn)(比如用戶(hù)觸發(fā)提交一份訂單的支付流程),此時(shí)會(huì)生成一個(gè)脈沖對(duì)象(pulse)。

可以選擇是否在脈沖對(duì)象中注冊(cè)一個(gè)函數(shù)用于監(jiān)控超時(shí)結(jié)果的函數(shù);

須在脈沖對(duì)象中注冊(cè)一個(gè)邏輯函數(shù)用于每次脈沖的輪詢(xún)執(zhí)行,如果沒(méi)有邏輯函數(shù),脈沖邏輯將不會(huì)被執(zhí)行,因?yàn)檫@是無(wú)意義的操作;

須在脈沖對(duì)象中注冊(cè)超時(shí)時(shí)間,避免整個(gè)脈沖邏輯沒(méi)有結(jié)束的條件。

2、前端預(yù)處理

在pulse被創(chuàng)建時(shí),pulse會(huì)新增兩個(gè)內(nèi)部屬性:脈沖時(shí)間序列和脈沖次數(shù)(pulse.count),格式如下:

例如,脈沖時(shí)間序列可以是一個(gè)一維數(shù)組,存放著每次脈沖執(zhí)行的延時(shí)時(shí)間,單位為秒。按照位置分成:前5個(gè),后5個(gè)。其中前5個(gè)是固定值,后5個(gè)時(shí)間是1到5的隨機(jī)值,這樣做的原理是:讓前5次執(zhí)行能夠盡量的快,如果在前5次的執(zhí)行中邏輯函數(shù)得到了正確的結(jié)果,便會(huì)停止脈沖;如果前5次執(zhí)行邏輯函數(shù)都沒(méi)有能得到正確的結(jié)果,那么就根據(jù)后5個(gè)隨機(jī)延時(shí)時(shí)間進(jìn)行脈沖。這樣做的原因是如果前5次快速處理外部邏輯函數(shù)都沒(méi)有得到正常的結(jié)果,那么后5次就在范圍時(shí)間內(nèi)隨機(jī)一個(gè)新的時(shí)間進(jìn)行不規(guī)則處理,比如:邏輯函數(shù)需要向服務(wù)器發(fā)起請(qǐng)求來(lái)獲取一個(gè)正確的結(jié)果,如果周期時(shí)間內(nèi)太過(guò)頻繁,會(huì)導(dǎo)致服務(wù)器在單位時(shí)間內(nèi)請(qǐng)求并發(fā)過(guò)大。

脈沖次數(shù)是對(duì)脈沖輪詢(xún)過(guò)程的一個(gè)統(tǒng)計(jì),也就是每執(zhí)行一次脈沖,pulse.count就會(huì)加1,比如:第一次執(zhí)行,pulse.count會(huì)加1,由此可以獲取到當(dāng)前脈沖執(zhí)行的延時(shí)時(shí)間。

3、前端執(zhí)行

主動(dòng)調(diào)用Pulse實(shí)例的start函數(shù),便會(huì)啟動(dòng)脈沖。

3.1、主動(dòng)調(diào)用pulse.start(),表示開(kāi)始執(zhí)行脈沖,pulse會(huì)生成一個(gè)新的屬性“開(kāi)始時(shí)間”(startTime);

3.2、pulse.count加1,pulse.count值變更后,pulse內(nèi)部會(huì)判斷:

a)如果pulse從開(kāi)始執(zhí)行到當(dāng)前執(zhí)行的執(zhí)行時(shí)間大于pulse的超時(shí)時(shí)間(即pulse.timeout),那么直接進(jìn)入“4.2、獲取結(jié)果”,脈沖結(jié)束;

b)如果脈沖次數(shù)大于脈沖時(shí)間序列長(zhǎng)度(即:pulse.count>pulse.times.length),那么直接進(jìn)入“4.2、獲取結(jié)果”,脈沖結(jié)束;

c)如果以上兩個(gè)都不滿(mǎn)足,那么進(jìn)入下面的3.3步驟。

3.3、根據(jù)pulse.count從pulse.times中獲取當(dāng)前延時(shí)時(shí)間x,然后延時(shí)x秒后調(diào)用輪詢(xún)函數(shù)(onCall);

3.4、此時(shí),pulse會(huì)調(diào)用初始化注冊(cè)的輪詢(xún)函數(shù)(onCall),onCall的內(nèi)部可以執(zhí)行外部預(yù)先定義好的邏輯函數(shù)。如果邏輯函數(shù)是同步代碼,直接在onCall函數(shù)代碼塊的最后一行加入next()即可,表示執(zhí)行下一次脈沖;如果邏輯函數(shù)是異步代碼,需要邏輯函數(shù)特殊處理next()的調(diào)用時(shí)機(jī)。

4、獲取結(jié)果:

4.1、判斷脈沖是否超時(shí)(判斷邏輯在3.2–a)中執(zhí)行),如果是進(jìn)入4.2;

4.2、脈沖超時(shí),pulse會(huì)調(diào)用預(yù)先配置的回調(diào)函數(shù)(onTimeout),如果onTimeout函數(shù)不存在,不做任何處理。

與上述方法實(shí)施例相對(duì)應(yīng),本發(fā)明還提供一種數(shù)據(jù)請(qǐng)求控制裝置。參見(jiàn)圖2,示出了本發(fā)明數(shù)據(jù)請(qǐng)求控制裝置結(jié)構(gòu)示意圖。

該裝置包括:

請(qǐng)求接收單元201,用于接收用戶(hù)提交的業(yè)務(wù)處理請(qǐng)求,其中,基于所述業(yè)務(wù)處理請(qǐng)求須向服務(wù)器分多次請(qǐng)求獲取業(yè)務(wù)數(shù)據(jù);

脈沖請(qǐng)求轉(zhuǎn)換單元202,用于將所述業(yè)務(wù)處理請(qǐng)求轉(zhuǎn)換為業(yè)務(wù)數(shù)據(jù)脈沖請(qǐng)求,其中,設(shè)置業(yè)務(wù)數(shù)據(jù)脈沖請(qǐng)求的請(qǐng)求時(shí)間閾值、請(qǐng)求時(shí)間間隔;

脈沖請(qǐng)求處理單元203,用于在所述請(qǐng)求時(shí)間閾值之內(nèi),根據(jù)請(qǐng)求時(shí)間間隔分多次向服務(wù)器發(fā)送業(yè)務(wù)數(shù)據(jù)脈沖請(qǐng)求。

優(yōu)選的,還包括:

實(shí)時(shí)終止單元204,用于當(dāng)任一次向服務(wù)器發(fā)送業(yè)務(wù)數(shù)據(jù)脈沖請(qǐng)求之后收到服務(wù)器返回的完整正確業(yè)務(wù)數(shù)據(jù)時(shí),實(shí)時(shí)結(jié)束數(shù)據(jù)請(qǐng)求流程;或者,當(dāng)任一次向服務(wù)器發(fā)送業(yè)務(wù)數(shù)據(jù)脈沖請(qǐng)求之后收到服務(wù)器返回的錯(cuò)誤提示,實(shí)時(shí)結(jié)束數(shù)據(jù)請(qǐng)求流程。

優(yōu)選的,還包括:

超時(shí)監(jiān)控單元205和實(shí)時(shí)終止單元204;

所述超時(shí)監(jiān)控單元205,用于實(shí)時(shí)監(jiān)控從首次發(fā)送業(yè)務(wù)數(shù)據(jù)脈沖請(qǐng)求到當(dāng)前時(shí)刻的請(qǐng)求時(shí)間,并判斷所述請(qǐng)求時(shí)間是否超過(guò)所述請(qǐng)求時(shí)間閾值,如果是,指示實(shí)時(shí)終止單元204實(shí)時(shí)結(jié)束數(shù)據(jù)請(qǐng)求流程。

優(yōu)選的,

所述脈沖請(qǐng)求轉(zhuǎn)換單元202,具體用于根據(jù)業(yè)務(wù)類(lèi)型,設(shè)置業(yè)務(wù)數(shù)據(jù)脈沖請(qǐng)求的請(qǐng)求時(shí)間閾值、請(qǐng)求時(shí)間間隔;

所述脈沖請(qǐng)求轉(zhuǎn)換單元202還用于:根據(jù)業(yè)務(wù)類(lèi)型,設(shè)置業(yè)務(wù)數(shù)據(jù)脈沖請(qǐng)求的調(diào)用接口,并定義脈沖請(qǐng)求封裝格式;

所述脈沖請(qǐng)求處理單元203具體用于:通過(guò)所述調(diào)用接口,將滿(mǎn)足所述脈沖請(qǐng)求封裝格式的業(yè)務(wù)數(shù)據(jù)脈沖請(qǐng)求發(fā)送給服務(wù)器。

優(yōu)選的,還包括:

請(qǐng)求時(shí)間間隔設(shè)置單元206,用于設(shè)置所述請(qǐng)求時(shí)間間隔為:固定時(shí)間值,或,隨機(jī)時(shí)間值,或固定時(shí)間值與隨機(jī)時(shí)間值的組合;

請(qǐng)求次數(shù)控制單元207,用于在所述請(qǐng)求時(shí)間間隔包括隨機(jī)時(shí)間值情況下,設(shè)置業(yè)務(wù)數(shù)據(jù)脈沖請(qǐng)求的請(qǐng)求次數(shù)閾值,僅允許所述脈沖請(qǐng)求處理單元203向服務(wù)器發(fā)送所述請(qǐng)求次數(shù)閾值之內(nèi)次數(shù)的業(yè)務(wù)數(shù)據(jù)脈沖請(qǐng)求。

在此提供的算法和顯示不與任何特定計(jì)算機(jī)、虛擬系統(tǒng)或者其它設(shè)備固有相關(guān)。各種通用系統(tǒng)也可以與基于在此的示教一起使用。根據(jù)上面的描述,構(gòu)造這類(lèi)系統(tǒng)所要求的結(jié)構(gòu)是顯而易見(jiàn)的。此外,本發(fā)明也不針對(duì)任何特定編程語(yǔ)言。應(yīng)當(dāng)明白,可以利用各種編程語(yǔ)言實(shí)現(xiàn)在此描述的本發(fā)明的內(nèi)容,并且上面對(duì)特定語(yǔ)言所做的描述是為了披露本發(fā)明的最佳實(shí)施方式。

在此處所提供的說(shuō)明書(shū)中,說(shuō)明了大量具體細(xì)節(jié)。然而,能夠理解,本發(fā)明的實(shí)施例可以在沒(méi)有這些具體細(xì)節(jié)的情況下實(shí)踐。在一些實(shí)例中,并未詳細(xì)示出公知的方法、結(jié)構(gòu)和技術(shù),以便不模糊對(duì)本說(shuō)明書(shū)的理解。

類(lèi)似地,應(yīng)當(dāng)理解,為了精簡(jiǎn)本公開(kāi)并幫助理解各個(gè)發(fā)明方面中的一個(gè)或多個(gè),在上面對(duì)本發(fā)明的示例性實(shí)施例的描述中,本發(fā)明的各個(gè)特征有時(shí)被一起分組到單個(gè)實(shí)施例、圖、或者對(duì)其的描述中。然而,并不應(yīng)將該公開(kāi)的方法解釋成反映如下意圖:即所要求保護(hù)的本發(fā)明要求比在每個(gè)權(quán)利要求中所明確記載的特征更多的特征。更確切地說(shuō),如下面的權(quán)利要求書(shū)所反映的那樣,發(fā)明方面在于少于前面公開(kāi)的單個(gè)實(shí)施例的所有特征。因此,遵循具體實(shí)施方式的權(quán)利要求書(shū)由此明確地并入該具體實(shí)施方式,其中每個(gè)權(quán)利要求本身都作為本發(fā)明的單獨(dú)實(shí)施例。

本領(lǐng)域那些技術(shù)人員可以理解,可以對(duì)實(shí)施例中的設(shè)備中的模塊進(jìn)行自適應(yīng)性地改變并且把它們?cè)O(shè)置在與該實(shí)施例不同的一個(gè)或多個(gè)設(shè)備中??梢园褜?shí)施例中的模塊或單元或組件組合成一個(gè)模塊或單元或組件,以及此外可以把它們分成多個(gè)子模塊或子單元或子組件。除了這樣的特征和/或過(guò)程或者單元中的至少一些是相互排斥之外,可以采用任何組合對(duì)本說(shuō)明書(shū)(包括伴隨的權(quán)利要求、摘要和附圖)中公開(kāi)的所有特征以及如此公開(kāi)的任何方法或者設(shè)備的所有過(guò)程或單元進(jìn)行組合。除非另外明確陳述,本說(shuō)明書(shū)(包括伴隨的權(quán)利要求、摘要和附圖)中公開(kāi)的每個(gè)特征可以由提供相同、等同或相似目的的替代特征來(lái)代替。

此外,本領(lǐng)域的技術(shù)人員能夠理解,盡管在此所述的一些實(shí)施例包括其它實(shí)施例中所包括的某些特征而不是其它特征,但是不同實(shí)施例的特征的組合意味著處于本發(fā)明的范圍之內(nèi)并且形成不同的實(shí)施例。例如,在下面的權(quán)利要求書(shū)中,所要求保護(hù)的實(shí)施例的任意之一都可以以任意的組合方式來(lái)使用。

本發(fā)明的各個(gè)部件實(shí)施例可以以硬件實(shí)現(xiàn),或者以在一個(gè)或者多個(gè)處理器上運(yùn)行的軟件模塊實(shí)現(xiàn),或者以它們的組合實(shí)現(xiàn)。本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)理解,可以在實(shí)踐中使用微處理器或者數(shù)字信號(hào)處理器(DSP)來(lái)實(shí)現(xiàn)根據(jù)本發(fā)明實(shí)施例的用戶(hù)變身控制的系統(tǒng)中的一些或者全部部件的一些或者全部功能。本發(fā)明還可以實(shí)現(xiàn)為用于執(zhí)行這里所描述的方法的一部分或者全部的設(shè)備或者裝置程序(例如,計(jì)算機(jī)程序和計(jì)算機(jī)程序產(chǎn)品)。這樣的實(shí)現(xiàn)本發(fā)明的程序可以存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)上,或者可以具有一個(gè)或者多個(gè)信號(hào)的形式。這樣的信號(hào)可以從因特網(wǎng)網(wǎng)站上下載得到,或者在載體信號(hào)上提供,或者以任何其他形式提供。

應(yīng)該注意的是上述實(shí)施例對(duì)本發(fā)明進(jìn)行說(shuō)明而不是對(duì)本發(fā)明進(jìn)行限制,并且本領(lǐng)域技術(shù)人員在不脫離所附權(quán)利要求的范圍的情況下可設(shè)計(jì)出替換實(shí)施例。在權(quán)利要求中,不應(yīng)將位于括號(hào)之間的任何參考符號(hào)構(gòu)造成對(duì)權(quán)利要求的限制。單詞“包含”不排除存在未列在權(quán)利要求中的元件或步驟。位于元件之前的單詞“一”或“一個(gè)”不排除存在多個(gè)這樣的元件。本發(fā)明可以借助于包括有若干不同元件的硬件以及借助于適當(dāng)編程的計(jì)算機(jī)來(lái)實(shí)現(xiàn)。在列舉了若干裝置的單元權(quán)利要求中,這些裝置中的若干個(gè)可以是通過(guò)同一個(gè)硬件項(xiàng)來(lái)具體體現(xiàn)。單詞第一、第二、以及第三等的使用不表示任何順序??蓪⑦@些單詞解釋為名稱(chēng)。

當(dāng)前第1頁(yè)1 2 3 
網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
黔西县| 金山区| 聊城市| 沁阳市| 萍乡市| 新蔡县| 曲阜市| 关岭| 嘉荫县| 平和县| 洛扎县| 麻江县| 甘孜| 恩平市| 汽车| 珠海市| 红桥区| 景德镇市| 互助| 邢台市| 巍山| 都匀市| 辽源市| 隆子县| 迁安市| 怀安县| 博兴县| 平阴县| 兖州市| 禹州市| 尖扎县| 云和县| 洛阳市| 武威市| 巴塘县| 南部县| 略阳县| 东乡县| 湖南省| 本溪市| 福鼎市|