本發(fā)明涉及互聯(lián)網(wǎng)技術(shù)領(lǐng)域,尤其涉及一種請(qǐng)求處理方法及裝置。
背景技術(shù):
隨著互聯(lián)網(wǎng)技術(shù)的飛速發(fā)展,越來(lái)越多的用戶在遇到問(wèn)題時(shí)會(huì)在互聯(lián)網(wǎng)上進(jìn)行求助。例如某一用戶需要通過(guò)互聯(lián)網(wǎng)給其他用戶轉(zhuǎn)賬,則可以通過(guò)一個(gè)終端向銀行的服務(wù)器發(fā)送轉(zhuǎn)賬請(qǐng)求;銀行的服務(wù)器接收用戶發(fā)送的轉(zhuǎn)賬請(qǐng)求,并對(duì)該轉(zhuǎn)賬請(qǐng)求進(jìn)行處理,如此實(shí)現(xiàn)給其他用戶轉(zhuǎn)賬。
其中,服務(wù)器通常通過(guò)兩種處理方式對(duì)請(qǐng)求進(jìn)行處理。
第一種處理方式、當(dāng)每當(dāng)服務(wù)器接收到請(qǐng)求時(shí),會(huì)將接收到的請(qǐng)求存儲(chǔ)在本地的存儲(chǔ)空間中,過(guò)一段時(shí)間之后獲取本地的存儲(chǔ)空間中存儲(chǔ)的請(qǐng)求,對(duì)獲取的每個(gè)請(qǐng)求分別進(jìn)行處理,對(duì)于其他每一請(qǐng)求均執(zhí)行上述操作,以實(shí)現(xiàn)對(duì)獲取的每個(gè)請(qǐng)求進(jìn)行處理。
第二種方式、當(dāng)服務(wù)器接收到一個(gè)請(qǐng)求時(shí),就會(huì)立刻對(duì)該請(qǐng)求進(jìn)行處理。在這種方式中,在服務(wù)器對(duì)一個(gè)請(qǐng)求進(jìn)行處理的過(guò)程中無(wú)法成功接收其他請(qǐng)求,當(dāng)對(duì)該一個(gè)請(qǐng)求處理完畢之后才能接收其他請(qǐng)求。
然而,發(fā)明人發(fā)現(xiàn),無(wú)論服務(wù)器通過(guò)哪種處理方式對(duì)該請(qǐng)求進(jìn)行處理,只要處理失敗后就結(jié)束對(duì)該請(qǐng)求的處理,導(dǎo)致處理成功率較低。
技術(shù)實(shí)現(xiàn)要素:
為克服相關(guān)技術(shù)中存在的問(wèn)題,本發(fā)明提供一種請(qǐng)求處理方法及裝置。
根據(jù)本發(fā)明實(shí)施例的第一方面,提供一種請(qǐng)求處理方法,應(yīng)用于服務(wù)方,所述方法包括:
接收請(qǐng)求方發(fā)送的處理請(qǐng)求;
獲取對(duì)所述處理請(qǐng)求進(jìn)行處理的目標(biāo)處理方式;
當(dāng)所述目標(biāo)處理方式為同步處理方式時(shí),對(duì)所述處理請(qǐng)求進(jìn)行處理;如果未處理成功,將所述處理請(qǐng)求存儲(chǔ)在本地的存儲(chǔ)空間中;
定期獲取本地的存儲(chǔ)空間中存儲(chǔ)的處理請(qǐng)求;
對(duì)獲取的所有處理請(qǐng)求分別進(jìn)行處理。
進(jìn)一步地,所述方法還包括:
當(dāng)所述目標(biāo)處理方式為異步處理方式時(shí),執(zhí)行所述將所述處理請(qǐng)求存儲(chǔ)在本地的存儲(chǔ)空間中的步驟。
進(jìn)一步地,所述對(duì)獲取的所有處理請(qǐng)求分別進(jìn)行處理之后,還包括:
將處理成功的處理請(qǐng)求從本地的存儲(chǔ)空間中刪除。
其中,所述獲取對(duì)所述處理請(qǐng)求進(jìn)行處理的目標(biāo)處理方式,包括:
獲取所述服務(wù)方在當(dāng)前時(shí)刻所處的單位時(shí)間段內(nèi)已經(jīng)處理的處理請(qǐng)求的總處理數(shù)量;
判斷所述總處理數(shù)量是否大于或等于預(yù)設(shè)數(shù)量閾值;所述預(yù)設(shè)數(shù)量閾值為所述服務(wù)方在單位時(shí)間段內(nèi)能夠處理的處理請(qǐng)求的最大數(shù)量;
當(dāng)所述總處理數(shù)量小于所述預(yù)設(shè)數(shù)量閾值時(shí),確定對(duì)所述處理請(qǐng)求進(jìn)行處理的處理方式為同步處理方式;
當(dāng)所述處理數(shù)量大于或等于所述預(yù)設(shè)數(shù)量閾值時(shí),確定對(duì)所述處理請(qǐng)求進(jìn)行處理的處理方式為異步處理方式。
其中,所述獲取對(duì)所述處理請(qǐng)求進(jìn)行處理的目標(biāo)處理方式,包括:
判斷所述處理請(qǐng)求中是否攜帶處理方式的標(biāo)識(shí);
當(dāng)所述處理請(qǐng)求中攜帶同步處理方式的標(biāo)識(shí)時(shí),將同步處理方式作為所述目標(biāo)處理方式;
當(dāng)所述處理請(qǐng)求中攜帶異步處理方式的標(biāo)識(shí)時(shí),將異步處理方式作為所述目標(biāo)處理方式。
進(jìn)一步地,所述對(duì)所述處理請(qǐng)求進(jìn)行處理之后,還包括:
如果處理成功,則將處理結(jié)果存儲(chǔ)在本地的存儲(chǔ)空間中;
發(fā)送通知消息給所述請(qǐng)求方;所述通知消息用于通知已對(duì)所述處理請(qǐng)求處理成功;
判斷是否接收到所述請(qǐng)求方發(fā)送的、用于獲取所述處理結(jié)果的獲取請(qǐng)求;
當(dāng)接收到所述獲取請(qǐng)求時(shí),從本地的存儲(chǔ)空間中獲取所述處理結(jié)果并發(fā)送給所述請(qǐng)求方。
據(jù)本發(fā)明實(shí)施例的第二方面,提供一種請(qǐng)求處理裝置,其特征在于,所述裝置包括:
接收模塊,用于接收請(qǐng)求方發(fā)送的處理請(qǐng)求;
第一獲取模塊,用于獲取對(duì)所述處理請(qǐng)求進(jìn)行處理的目標(biāo)處理方式;
第一存儲(chǔ)模塊,用于當(dāng)所述目標(biāo)處理方式為同步處理方式時(shí),對(duì)所述處理請(qǐng)求進(jìn)行處理;如果未處理成功,將所述處理請(qǐng)求存儲(chǔ)在本地的存儲(chǔ)空間中;
第二獲取模塊,用于定期獲取本地的存儲(chǔ)空間中存儲(chǔ)的處理請(qǐng)求;
處理模塊,用于對(duì)獲取的所有處理請(qǐng)求分別進(jìn)行處理。
進(jìn)一步地,所述第一存儲(chǔ)模塊還用于當(dāng)所述目標(biāo)處理方式為異步處理方式時(shí),將所述處理請(qǐng)求存儲(chǔ)在本地的存儲(chǔ)空間中。
進(jìn)一步地,所述裝置還包括:
刪除模塊,用于將處理成功的處理請(qǐng)求從本地的存儲(chǔ)空間中刪除。
其中,所述第一獲取模塊包括:
獲取單元,用于獲取所述服務(wù)方在當(dāng)前時(shí)刻所處的單位時(shí)間段內(nèi)已經(jīng)處理的處理請(qǐng)求的總處理數(shù)量;
第一判斷單元,用于判斷所述總處理數(shù)量是否大于或等于預(yù)設(shè)數(shù)量閾值;所述預(yù)設(shè)數(shù)量閾值為所述服務(wù)方在單位時(shí)間段內(nèi)能夠處理的處理請(qǐng)求的最大數(shù)量;
第一確定單元,用于當(dāng)所述總處理數(shù)量小于所述預(yù)設(shè)數(shù)量閾值時(shí),確定對(duì)所述處理請(qǐng)求進(jìn)行處理的處理方式為同步處理方式;
第二確定單元,用于當(dāng)所述處理數(shù)量大于或等于所述預(yù)設(shè)數(shù)量閾值時(shí),確定對(duì)所述處理請(qǐng)求進(jìn)行處理的處理方式為異步處理方式。
其中,所述第一獲取模塊包括:
第二判斷單元,用于判斷所述處理請(qǐng)求中是否攜帶處理方式的標(biāo)識(shí);
第三確定單元,當(dāng)所述處理請(qǐng)求中攜帶同步處理方式的標(biāo)識(shí)時(shí),將同步處理方式作為所述目標(biāo)處理方式;
第四確定單元,當(dāng)所述處理請(qǐng)求中攜帶異步處理方式的標(biāo)識(shí)時(shí),將異步處理方式作為所述目標(biāo)處理方式。
進(jìn)一步地,所述裝置還包括:
第二存儲(chǔ)模塊,用于如果處理成功,則將處理結(jié)果存儲(chǔ)在本地的存儲(chǔ)空間中;
第一發(fā)送模塊,用于發(fā)送通知消息給所述請(qǐng)求方;所述通知消息用于通知已對(duì)所述處理請(qǐng)求處理成功;
判斷模塊,用于判斷是否接收到所述請(qǐng)求方發(fā)送的、用于獲取所述處理結(jié)果的獲取請(qǐng)求;
第三獲取模塊,用于當(dāng)接收到所述獲取請(qǐng)求時(shí),從本地的存儲(chǔ)空間中獲取所述處理結(jié)果;
第二發(fā)送模塊,用于將所述處理結(jié)果發(fā)送給所述請(qǐng)求方。
本發(fā)明的實(shí)施例提供的技術(shù)方案可以包括以下有益效果:在本發(fā)明中,接收請(qǐng)求方 發(fā)送的處理請(qǐng)求;獲取對(duì)所述處理請(qǐng)求進(jìn)行處理的目標(biāo)處理方式;當(dāng)所述目標(biāo)處理方式為同步處理方式時(shí),對(duì)所述處理請(qǐng)求進(jìn)行處理;如果未處理成功,將所述處理請(qǐng)求存儲(chǔ)在本地的存儲(chǔ)空間中;然后定期獲取本地的存儲(chǔ)空間中存儲(chǔ)的處理請(qǐng)求;對(duì)獲取的所有處理請(qǐng)求分別進(jìn)行處理。這樣,相比于現(xiàn)有技術(shù)中的只要處理失敗就停止處理,即,只要處理失敗之后就不再對(duì)該處理請(qǐng)求進(jìn)行處理,本發(fā)明實(shí)施例可以提高處理成功率。
應(yīng)當(dāng)理解的是,以上的一般描述和后文的細(xì)節(jié)描述僅是示例性和解釋性的,并不能限制本發(fā)明。
附圖說(shuō)明
此處的附圖被并入說(shuō)明書(shū)中并構(gòu)成本說(shuō)明書(shū)的一部分,示出了符合本發(fā)明的實(shí)施例,并與說(shuō)明書(shū)一起用于解釋本發(fā)明的原理。
圖1是根據(jù)一示例性實(shí)施例示出的一種請(qǐng)求處理方法的流程圖。
圖2是根據(jù)一示例性實(shí)施例示出的一種請(qǐng)求處理方法的流程圖。
圖3是根據(jù)一示例性實(shí)施例示出的一種請(qǐng)求處理方法的流程圖。
圖4是根據(jù)一示例性實(shí)施例示出的一種請(qǐng)求處理裝置的框圖。
具體實(shí)施方式
這里將詳細(xì)地對(duì)示例性實(shí)施例進(jìn)行說(shuō)明,其示例表示在附圖中。下面的描述涉及附圖時(shí),除非另有表示,不同附圖中的相同數(shù)字表示相同或相似的要素。以下示例性實(shí)施例中所描述的實(shí)施方式并不代表與本發(fā)明相一致的所有實(shí)施方式。相反,它們僅是與如所附權(quán)利要求書(shū)中所詳述的、本發(fā)明的一些方面相一致的裝置和方法的例子。
圖1是根據(jù)一示例性實(shí)施例示出的一種請(qǐng)求處理方法的流程圖,如圖1所示,該方法用于服務(wù)方中,該方法包括以下步驟。
在步驟S101中,接收請(qǐng)求方發(fā)送的處理請(qǐng)求。
請(qǐng)求方可以為用戶使用的手機(jī)、平板電腦或筆記本電腦等終端。
服務(wù)方可以為某一服務(wù)平臺(tái)的服務(wù)器;例如,某一銀行的服務(wù)器或某一網(wǎng)站的網(wǎng)頁(yè)服務(wù)器等。
處理請(qǐng)求可以為用于獲取網(wǎng)頁(yè)頁(yè)面的獲取請(qǐng)求,用戶向其他賬戶轉(zhuǎn)賬的轉(zhuǎn)賬請(qǐng)求,或用于向其他設(shè)備發(fā)送信息的發(fā)送請(qǐng)求等。
在實(shí)際場(chǎng)景中,服務(wù)方通過(guò)自身的工作線程接收處理請(qǐng)求,服務(wù)方可以包括一個(gè)或多個(gè)工作線程,在發(fā)明實(shí)施例中,以服務(wù)方包括一個(gè)工作線程為例進(jìn)行舉例說(shuō)明,但不 作為對(duì)本發(fā)明保護(hù)范圍的限制。
在步驟S102中,獲取對(duì)該處理請(qǐng)求進(jìn)行處理的目標(biāo)處理方式;
其中,對(duì)處理請(qǐng)求進(jìn)行處理的處理方式包括同步處理方式和異步處理方式。
在本發(fā)明實(shí)施例中,如果目標(biāo)處理方式為同步處理方式,當(dāng)服務(wù)方接收到一個(gè)處理請(qǐng)求時(shí),就會(huì)立刻對(duì)該處理請(qǐng)求進(jìn)行處理,當(dāng)處理成功時(shí),向終端通知對(duì)該處理請(qǐng)求已處理成功。
其中,如果采用同步處理方式,則在對(duì)該處理請(qǐng)求進(jìn)行處理的過(guò)程中,服務(wù)方就無(wú)法成功接收其他處理請(qǐng)求,只有當(dāng)該處理請(qǐng)求處理完成之后,才能成功接收其他獲取請(qǐng)求;即采用同步處理方式時(shí)服務(wù)方一次只能接收一個(gè)處理請(qǐng)求,當(dāng)對(duì)一個(gè)請(qǐng)求處理完畢之后才能成功接收下一處理請(qǐng)求。
其中,如果采用異步處理方式,則當(dāng)每當(dāng)服務(wù)方接收到處理請(qǐng)求時(shí),會(huì)將接收到的處理請(qǐng)求存儲(chǔ)在本地的存儲(chǔ)空間中,過(guò)一段時(shí)間之后獲取本地的存儲(chǔ)空間中存儲(chǔ)的處理請(qǐng)求,對(duì)獲取的每個(gè)處理請(qǐng)求分別進(jìn)行處理,對(duì)于任一處理請(qǐng)求,當(dāng)處理成功時(shí),則將該處理請(qǐng)求從本地的存儲(chǔ)空間中刪除,當(dāng)未處理成功時(shí),無(wú)需將該處理請(qǐng)求從本地的存儲(chǔ)空間中刪除,過(guò)一段時(shí)間后會(huì)再?gòu)谋镜卮鎯?chǔ)空間中繼續(xù)獲取該處理請(qǐng)求并繼續(xù)對(duì)該處理請(qǐng)求進(jìn)行處理,直至處理成功為止。對(duì)于其他每一請(qǐng)求均執(zhí)行上述操作。
其中,當(dāng)采用異步處理方式時(shí),在任一時(shí)刻服務(wù)方都可以成功接收其他處理請(qǐng)求,沒(méi)有諸如采用同步處理方式時(shí)的、服務(wù)方一次只能接收一個(gè)處理請(qǐng)求,即當(dāng)對(duì)一個(gè)請(qǐng)求處理完畢之后才能成功接收下一處理請(qǐng)求的限制,因此,采用異步處理方式時(shí)的成功接收處理請(qǐng)求的能力大于采用同步處理方式時(shí)的接收處理方式的能力。
在步驟S103中,當(dāng)目標(biāo)處理方式為同步處理方式時(shí),對(duì)該處理請(qǐng)求進(jìn)行處理;如果未處理成功,則將該處理請(qǐng)求存儲(chǔ)在本地的存儲(chǔ)空間中;
這樣,之后服務(wù)方還可以從本地的存儲(chǔ)空間中獲取該處理請(qǐng)求,并繼續(xù)對(duì)該處理請(qǐng)求進(jìn)行處理,如果處理成功,則從本地的存儲(chǔ)空間中刪除該處理請(qǐng)求,如果處理失敗,過(guò)一段時(shí)間后還可以再次從本地的存儲(chǔ)空間中獲取該處理請(qǐng)求并再次對(duì)該處理請(qǐng)求進(jìn)行處理,直至對(duì)該處理請(qǐng)求處理成功為止。相比于現(xiàn)有技術(shù)中的只要處理失敗就停止處理,即,只要處理失敗之后就不再對(duì)該處理請(qǐng)求進(jìn)行處理,本發(fā)明實(shí)施例可以提高處理成功率。
其中,例如,如果目標(biāo)處理方式為同步處理方式,當(dāng)服務(wù)方接收到請(qǐng)求方發(fā)送的網(wǎng)頁(yè)頁(yè)面獲取請(qǐng)求時(shí),立刻對(duì)該獲取請(qǐng)求進(jìn)行處理,即,立刻獲取該獲取請(qǐng)求所需獲取的網(wǎng)頁(yè)頁(yè)面,當(dāng)成功獲取到該網(wǎng)頁(yè)頁(yè)面時(shí),發(fā)送獲取的網(wǎng)頁(yè)頁(yè)面給請(qǐng)求方;請(qǐng)求方接收該 網(wǎng)頁(yè)頁(yè)面。
然而,當(dāng)未成功獲取到該網(wǎng)頁(yè)頁(yè)面時(shí),將該獲取請(qǐng)求存儲(chǔ)在本地的存儲(chǔ)空間中,這樣,之后服務(wù)方還可以從該存儲(chǔ)空間中獲取該獲取請(qǐng)求,繼續(xù)對(duì)該獲取請(qǐng)求進(jìn)行處理,直至獲取到該網(wǎng)頁(yè)頁(yè)面為止,其中,處理次數(shù)增加了,因此增加了處理成功率。當(dāng)處理成功時(shí),從本地的存儲(chǔ)空間中刪除該獲取請(qǐng)求。
其中,如果目標(biāo)處理方式為異步處理方式,將該獲取請(qǐng)求存儲(chǔ)在本地的存儲(chǔ)空間中,這樣,之后服務(wù)方可以從該存儲(chǔ)空間中獲取該獲取請(qǐng)求,并對(duì)該獲取請(qǐng)求進(jìn)行處理,直至處理成功為止,處理次數(shù)增加了,因此增加了處理成功的可能性。
其中,本地的存儲(chǔ)空間可以為緩存或持久性存儲(chǔ)介質(zhì)等。
其中,在本發(fā)明另一實(shí)施例中,如果處理成功,將處理結(jié)果存儲(chǔ)在本地的存儲(chǔ)空間中。發(fā)送通知消息給請(qǐng)求方;通知消息用于通知已對(duì)處理請(qǐng)求處理成功。
例如,該處理請(qǐng)求為用于轉(zhuǎn)賬的轉(zhuǎn)賬請(qǐng)求,請(qǐng)求方的目的是轉(zhuǎn)賬,請(qǐng)求方需要知道轉(zhuǎn)賬是否成功,這樣,服務(wù)方只需發(fā)送用于通知請(qǐng)求方已轉(zhuǎn)賬成功的通知消息即可。
然而,在一些場(chǎng)景中,請(qǐng)求方可能會(huì)需要獲取處理成功后的處理結(jié)果,這樣,請(qǐng)求方可以發(fā)送用于獲取該處理請(qǐng)求對(duì)應(yīng)的處理結(jié)果的獲取請(qǐng)求給服務(wù)方;服務(wù)方判斷是否接收到請(qǐng)求方發(fā)送的、用于獲取處理結(jié)果的獲取請(qǐng)求,當(dāng)服務(wù)方接收到該用于獲取處理結(jié)果的獲取請(qǐng)求時(shí),從本地的存儲(chǔ)空間中獲取處理結(jié)果并發(fā)送給請(qǐng)求方。
例如該處理請(qǐng)求為用于獲取網(wǎng)頁(yè)頁(yè)面的獲取請(qǐng)求,請(qǐng)求方最終目的是獲取網(wǎng)頁(yè)頁(yè)面。這樣,服務(wù)方對(duì)該用于獲取網(wǎng)頁(yè)頁(yè)面的獲取請(qǐng)求的處理結(jié)果為網(wǎng)頁(yè)頁(yè)面;請(qǐng)求方在接收到服務(wù)方發(fā)送的用于通知請(qǐng)求方的、已對(duì)用于獲取網(wǎng)頁(yè)頁(yè)面的獲取請(qǐng)求處理成功的通知消息時(shí),請(qǐng)求方可以發(fā)送用于獲取處理結(jié)果的獲取請(qǐng)求給服務(wù)方;服務(wù)方判斷是否接收到請(qǐng)求方發(fā)送的、用于獲取處理結(jié)果的獲取請(qǐng)求,當(dāng)服務(wù)方接收到該用于獲取處理結(jié)果的獲取請(qǐng)求時(shí),從本地的存儲(chǔ)空間中獲取該網(wǎng)頁(yè)頁(yè)面并發(fā)送給請(qǐng)求方。
在本發(fā)明又一實(shí)施例中,對(duì)該處理請(qǐng)求無(wú)論處理成功或處理失敗,都則將處理結(jié)果存儲(chǔ)在本地的存儲(chǔ)空間中;
其中,處理結(jié)果可以為處理狀態(tài),處理狀態(tài)包括處理成功和未處理成功,例如,該處理請(qǐng)求為用于轉(zhuǎn)賬的轉(zhuǎn)賬請(qǐng)求,請(qǐng)求方的目的是轉(zhuǎn)賬,處理狀態(tài)即為轉(zhuǎn)賬成功和轉(zhuǎn)賬未成功;
處理結(jié)果也可以為實(shí)體信息,例如該處理請(qǐng)求為用于獲取網(wǎng)頁(yè)頁(yè)面的獲取請(qǐng)求,請(qǐng)求方最終目的是獲取網(wǎng)頁(yè)頁(yè)面,網(wǎng)頁(yè)頁(yè)面包括文字信息、圖片信息、音頻信息和視頻信息等中的至少一者或多種組合,這樣實(shí)體信息即為文字信息、圖片信息、音頻信息和視 頻信息等。
然后服務(wù)方發(fā)送存儲(chǔ)該存儲(chǔ)結(jié)果的存儲(chǔ)地址給請(qǐng)求方,以使請(qǐng)求方根據(jù)該存儲(chǔ)地址就可以從服務(wù)方的存儲(chǔ)空間中獲取該處理請(qǐng)求對(duì)應(yīng)的處理結(jié)果。
例如,當(dāng)處理請(qǐng)求為用于轉(zhuǎn)賬的轉(zhuǎn)賬請(qǐng)求時(shí),如果處理結(jié)果為轉(zhuǎn)賬成功,則請(qǐng)求方可以確定服務(wù)方對(duì)該轉(zhuǎn)賬請(qǐng)求已經(jīng)處理成功,如果處理結(jié)果為未轉(zhuǎn)賬成功,則請(qǐng)求方可以確定服務(wù)方可能對(duì)該轉(zhuǎn)賬請(qǐng)求處理失敗,之后服務(wù)方還會(huì)繼續(xù)對(duì)該轉(zhuǎn)賬請(qǐng)求進(jìn)行處理,一旦處理成功,服務(wù)方會(huì)將處理結(jié)果更新為轉(zhuǎn)賬成功;請(qǐng)求方可以定期根據(jù)該存儲(chǔ)地址從服務(wù)方的存儲(chǔ)空間中獲取處理結(jié)果,當(dāng)獲取到的處理結(jié)果為轉(zhuǎn)賬成功時(shí),請(qǐng)求方就可以確定服務(wù)方對(duì)該轉(zhuǎn)賬請(qǐng)求已經(jīng)處理成功。
再例如,當(dāng)處理請(qǐng)求為用于獲取網(wǎng)頁(yè)頁(yè)面的獲取賬請(qǐng)求時(shí),如果請(qǐng)求方根據(jù)該存儲(chǔ)地址從服務(wù)方的存儲(chǔ)空間中獲取的處理結(jié)果為實(shí)體信息,則請(qǐng)求方可以確定服務(wù)方對(duì)該獲取請(qǐng)求已經(jīng)處理成功;如果請(qǐng)求方根據(jù)該存儲(chǔ)地址從服務(wù)方的存儲(chǔ)空間中獲取的處理結(jié)果為空,即該存儲(chǔ)地址中未存儲(chǔ)實(shí)體信息,則請(qǐng)求方可以確定服務(wù)方可能對(duì)該獲取請(qǐng)求處理失敗,之后服務(wù)方還會(huì)繼續(xù)對(duì)該獲取請(qǐng)求進(jìn)行處理,一旦處理成功,服務(wù)方會(huì)將處理結(jié)果存儲(chǔ)在該存儲(chǔ)地址中,因此,請(qǐng)求方可以定期根據(jù)該存儲(chǔ)地址從服務(wù)方的存儲(chǔ)空間中獲取處理結(jié)果,當(dāng)獲取到的處理結(jié)果為實(shí)體信息時(shí),請(qǐng)求方就可以確定服務(wù)方對(duì)該獲取請(qǐng)求已經(jīng)處理成功。
在步驟S104中,定期獲取本地的存儲(chǔ)空間中存儲(chǔ)的處理請(qǐng)求。
技術(shù)人員事先可以在服務(wù)方中設(shè)定一個(gè)獲取周期,這樣,服務(wù)方每隔一個(gè)獲取周期就從本地的存儲(chǔ)空間中獲取處理請(qǐng)求,并對(duì)獲取的處理請(qǐng)求分別進(jìn)行處理。
其中,獲取周期可以為10秒鐘、30秒鐘或1分鐘等,本發(fā)明對(duì)比不加以限定。
在步驟S105中,對(duì)獲取的所有處理請(qǐng)求分別進(jìn)行處理。
進(jìn)一步地,對(duì)于獲取的所有處理請(qǐng)求中的任一處理請(qǐng)求,如果對(duì)該處理請(qǐng)求處理成功,則將該處理請(qǐng)求從本地的存儲(chǔ)空間中刪除,如果不刪除,服務(wù)方之后從本地的存儲(chǔ)空間中獲取處理請(qǐng)求時(shí)還會(huì)獲取到該處理請(qǐng)求,這樣就會(huì)重復(fù)對(duì)該處理請(qǐng)求進(jìn)行處理,由于對(duì)該處理請(qǐng)求已經(jīng)處理成功了,因此就無(wú)需再次對(duì)該處理請(qǐng)求進(jìn)行處理,否則會(huì)浪費(fèi)服務(wù)方的系統(tǒng)資源。
如果對(duì)該處理請(qǐng)求未處理成功,則無(wú)需從將該處理請(qǐng)求從本地的存儲(chǔ)空間中刪除,這樣,之后過(guò)一段時(shí)間后還可以再次從本地的存儲(chǔ)空間中獲取該處理請(qǐng)求并再次對(duì)該處理請(qǐng)求進(jìn)行處理,直至對(duì)該處理請(qǐng)求處理成功為止。
在本發(fā)明圖1所示的實(shí)施例中,接收請(qǐng)求方發(fā)送的處理請(qǐng)求;獲取對(duì)所述處理請(qǐng)求 進(jìn)行處理的目標(biāo)處理方式;當(dāng)所述目標(biāo)處理方式為同步處理方式時(shí),對(duì)所述處理請(qǐng)求進(jìn)行處理;如果未處理成功,將所述處理請(qǐng)求存儲(chǔ)在本地的存儲(chǔ)空間中;然后定期獲取本地的存儲(chǔ)空間中存儲(chǔ)的處理請(qǐng)求;對(duì)獲取的所有處理請(qǐng)求分別進(jìn)行處理。這樣,相比于現(xiàn)有技術(shù)中的只要處理失敗就停止處理,即,只要處理失敗之后就不再對(duì)該處理請(qǐng)求進(jìn)行處理,本發(fā)明實(shí)施例可以提高處理成功率。
在本發(fā)明另一實(shí)施例中,參見(jiàn)圖2,步驟S102包括:
在步驟S201中,獲取服務(wù)方在當(dāng)前時(shí)刻所處的單位時(shí)間段內(nèi)已經(jīng)處理的處理請(qǐng)求的總處理數(shù)量。
其中,單位時(shí)間段可以為1秒鐘、2秒鐘或3秒鐘等,本發(fā)明對(duì)比不加以限定。
為了避免服務(wù)方超負(fù)荷工作對(duì)服務(wù)方造成損害,需要將服務(wù)方在單位時(shí)間段內(nèi)的負(fù)荷控制在一定范圍內(nèi),因此技術(shù)人員事先會(huì)在服務(wù)方中設(shè)置預(yù)設(shè)數(shù)量閾值,預(yù)設(shè)數(shù)量閾值為服務(wù)方在單位時(shí)間段內(nèi)所能夠處理的處理請(qǐng)求的最大數(shù)量。
例如,為了避免服務(wù)方超負(fù)荷工作對(duì)服務(wù)方造成損害,技術(shù)人員可以設(shè)置服務(wù)方的預(yù)設(shè)數(shù)量閾值為100,則服務(wù)方在單位時(shí)間段內(nèi)最多能夠處理100個(gè)處理請(qǐng)求。
其中,在一個(gè)單位時(shí)間段內(nèi),服務(wù)方從該單位時(shí)間段內(nèi)的起始時(shí)刻至某一中間時(shí)刻這一段時(shí)間內(nèi)已經(jīng)處理了100個(gè)處理請(qǐng)求,如果在該一個(gè)單位時(shí)間段內(nèi)的位于該某一中間時(shí)刻之后的一個(gè)時(shí)刻再接收一個(gè)處理請(qǐng)求請(qǐng)求時(shí),由于在該一個(gè)單位時(shí)間段內(nèi)已經(jīng)處理的請(qǐng)求的個(gè)數(shù)100等于預(yù)設(shè)數(shù)量閾值100,因此,在該單位時(shí)間段內(nèi)就無(wú)法對(duì)該一個(gè)處理請(qǐng)求進(jìn)行處理,只能在處于該一個(gè)單位時(shí)間段內(nèi)之后的其他單位時(shí)間段內(nèi)才能夠該一個(gè)處理請(qǐng)求進(jìn)行處理,需要將該處理請(qǐng)求存儲(chǔ)在本地的存儲(chǔ)空間中。
然而,在一個(gè)單位時(shí)間段內(nèi),服務(wù)方從該單位時(shí)間段內(nèi)的起始時(shí)刻至某一中間時(shí)刻這一段時(shí)間內(nèi)已經(jīng)處理了65個(gè)處理請(qǐng)求,如果在該一個(gè)單位時(shí)間段內(nèi)的位于該某一中間時(shí)刻之后的一個(gè)時(shí)刻再接收一個(gè)處理請(qǐng)求請(qǐng)求時(shí),由于在該一個(gè)單位時(shí)間段內(nèi)已經(jīng)處理的請(qǐng)求的個(gè)數(shù)65小于預(yù)設(shè)數(shù)量閾值100,因此,在該一個(gè)單位時(shí)間段內(nèi)還可以對(duì)該一個(gè)處理請(qǐng)求進(jìn)行處理,可以立刻對(duì)該一個(gè)處理請(qǐng)求進(jìn)行處理。
在步驟S202中,判斷總處理數(shù)量是否大于或等于預(yù)設(shè)數(shù)量閾值。
其中,可以將總處理數(shù)量與預(yù)設(shè)數(shù)量閾值進(jìn)行比較。
當(dāng)總處理數(shù)量小于預(yù)設(shè)數(shù)量閾值時(shí),在步驟S203中,確定對(duì)該處理請(qǐng)求進(jìn)行處理的處理方式為同步處理方式。
其中,當(dāng)總處理數(shù)量小于預(yù)設(shè)數(shù)量閾值時(shí),則確定服務(wù)方在該單位時(shí)間段內(nèi)的工作 量未超負(fù)荷,因此在該單位時(shí)間段內(nèi)還可以對(duì)該處理請(qǐng)求進(jìn)行處理,即可以立刻對(duì)該處理請(qǐng)求進(jìn)行處理,這樣就可以確定對(duì)該處理請(qǐng)求進(jìn)行處理的處理方式為同步處理方式。
當(dāng)處理數(shù)量大于或等于預(yù)設(shè)數(shù)量閾值時(shí),在步驟S204中,確定對(duì)該處理請(qǐng)求進(jìn)行處理的處理方式為異步處理方式。
其中,當(dāng)處理數(shù)量大于或等于預(yù)設(shè)數(shù)量閾值時(shí),則確定服務(wù)方在該單位時(shí)間段內(nèi)的工作量已超負(fù)荷,因此在該單位時(shí)間段內(nèi)就無(wú)法對(duì)該一個(gè)處理請(qǐng)求進(jìn)行處理,只能在之后的一個(gè)單位時(shí)間段內(nèi)才能夠該一個(gè)處理請(qǐng)求進(jìn)行處理,這樣就可以確定對(duì)處理請(qǐng)求進(jìn)行處理的處理方式為同步處理方式。
在本發(fā)明又一實(shí)施例中,參見(jiàn)圖3,步驟S102包括:
在步驟S301中,判斷該處理請(qǐng)求中是否攜帶處理方式的標(biāo)識(shí);
其中,為了支持用戶可以指定處理方式,當(dāng)用戶通過(guò)請(qǐng)求方發(fā)送處理請(qǐng)求給服務(wù)方之前,用戶還可以在該處理請(qǐng)求中設(shè)置對(duì)該處理請(qǐng)求的處理方式;這樣,當(dāng)用戶在該處理請(qǐng)求中設(shè)置對(duì)該處理請(qǐng)求的處理方式為同步處理方式時(shí),服務(wù)方采用同步處理方式對(duì)該處理請(qǐng)求進(jìn)行處理;當(dāng)用戶在該處理請(qǐng)求中設(shè)置對(duì)該處理請(qǐng)求的處理方式為異步處理方式時(shí),服務(wù)方采用異步處理方式對(duì)該處理請(qǐng)求進(jìn)行處理。
在步驟S302中,當(dāng)該處理請(qǐng)求中攜帶同步處理方式的標(biāo)識(shí)時(shí),將同步處理方式作為目標(biāo)處理方式;
在步驟S303中,當(dāng)該處理請(qǐng)求中攜帶異步處理方式的標(biāo)識(shí)時(shí),將異步處理方式作為目標(biāo)處理方式。
在本發(fā)明實(shí)施例中,可以支持用戶向服務(wù)方指定對(duì)處理請(qǐng)求的處理方式。
例如,當(dāng)處理請(qǐng)求為獲取網(wǎng)頁(yè)頁(yè)面的獲取請(qǐng)求時(shí),一般情況下,用戶需要服務(wù)方立即返回網(wǎng)頁(yè)頁(yè)面,因此,可以在該獲取請(qǐng)求中設(shè)置對(duì)該獲取請(qǐng)求的處理方式為同步處理方式,然后通過(guò)請(qǐng)求方發(fā)送該獲取請(qǐng)求給服務(wù)方,這樣,當(dāng)服務(wù)方接收到該獲取請(qǐng)求時(shí),采用同步處理方式對(duì)該獲取請(qǐng)求進(jìn)行處理,即,立刻獲取該獲取請(qǐng)求所需獲取的網(wǎng)頁(yè)頁(yè)面,當(dāng)獲取成功時(shí)通知請(qǐng)求方已對(duì)該獲取請(qǐng)求處理成功,即已成功獲取該網(wǎng)頁(yè)頁(yè)面。
在另一實(shí)例中,當(dāng)處理請(qǐng)求為跨行轉(zhuǎn)賬的轉(zhuǎn)賬請(qǐng)求時(shí),用戶可以在該轉(zhuǎn)賬請(qǐng)求中設(shè)置對(duì)該轉(zhuǎn)賬請(qǐng)求的處理方式為異步處理方式,然后通過(guò)請(qǐng)求方發(fā)送該獲取請(qǐng)求給服務(wù)方這樣,當(dāng)服務(wù)方接收到該獲取請(qǐng)求時(shí),采用異步處理方式對(duì)該獲取請(qǐng)求進(jìn)行處理,即,將該轉(zhuǎn)賬請(qǐng)求存儲(chǔ)在本地的存儲(chǔ)空間中,然后在當(dāng)前時(shí)刻所處的單位時(shí)間段之后的第二單位時(shí)間段內(nèi)在從本地的存儲(chǔ)空間中獲取該轉(zhuǎn)賬請(qǐng)求,然后對(duì)該轉(zhuǎn)賬請(qǐng)求進(jìn)行處理;第 二單位時(shí)間段為在當(dāng)前時(shí)刻所處的單位時(shí)間段之后的一個(gè)單位時(shí)間段。
如果處理成功,則本地的存儲(chǔ)空間中刪除該轉(zhuǎn)賬請(qǐng)求,如果未處理成功,則在第二單位時(shí)間段之后一個(gè)單位時(shí)間段一個(gè)單位時(shí)間段內(nèi)獲取該轉(zhuǎn)賬請(qǐng)求并對(duì)該轉(zhuǎn)賬請(qǐng)求進(jìn)行處理,直至對(duì)該轉(zhuǎn)賬請(qǐng)求處理成功為止。
圖4是根據(jù)一示例性實(shí)施例示出的一種請(qǐng)求處理裝置的框圖。參照?qǐng)D4,該裝置包括:
接收模塊11,用于接收請(qǐng)求方發(fā)送的處理請(qǐng)求;
第一獲取模塊12,用于獲取對(duì)所述處理請(qǐng)求進(jìn)行處理的目標(biāo)處理方式;
第一存儲(chǔ)模塊13,用于當(dāng)所述目標(biāo)處理方式為同步處理方式時(shí),對(duì)所述處理請(qǐng)求進(jìn)行處理;如果未處理成功,將所述處理請(qǐng)求存儲(chǔ)在本地的存儲(chǔ)空間中;
第二獲取模塊14,用于定期獲取本地的存儲(chǔ)空間中存儲(chǔ)的處理請(qǐng)求;
處理模塊15,用于對(duì)獲取的所有處理請(qǐng)求分別進(jìn)行處理。
在本發(fā)明圖4所示的實(shí)施例中,接收請(qǐng)求方發(fā)送的處理請(qǐng)求;獲取對(duì)所述處理請(qǐng)求進(jìn)行處理的目標(biāo)處理方式;當(dāng)所述目標(biāo)處理方式為同步處理方式時(shí),對(duì)所述處理請(qǐng)求進(jìn)行處理;如果未處理成功,將所述處理請(qǐng)求存儲(chǔ)在本地的存儲(chǔ)空間中;然后定期獲取本地的存儲(chǔ)空間中存儲(chǔ)的處理請(qǐng)求;對(duì)獲取的所有處理請(qǐng)求分別進(jìn)行處理。這樣,相比于現(xiàn)有技術(shù)中的只要處理失敗就停止處理,即,只要處理失敗之后就不再對(duì)該處理請(qǐng)求進(jìn)行處理,本發(fā)明實(shí)施例可以提高處理成功率。
進(jìn)一步地,所述第一存儲(chǔ)模塊13還用于當(dāng)所述目標(biāo)處理方式為異步處理方式時(shí),將所述處理請(qǐng)求存儲(chǔ)在本地的存儲(chǔ)空間中。
進(jìn)一步地,所述裝置還包括:
刪除模塊,用于將處理成功的處理請(qǐng)求從本地的存儲(chǔ)空間中刪除。
其中,所述第一獲取模塊12包括:
獲取單元,用于獲取所述服務(wù)方在當(dāng)前時(shí)刻所處的單位時(shí)間段內(nèi)已經(jīng)處理的處理請(qǐng)求的總處理數(shù)量;
第一判斷單元,用于判斷所述總處理數(shù)量是否大于或等于預(yù)設(shè)數(shù)量閾值;所述預(yù)設(shè)數(shù)量閾值為所述服務(wù)方在單位時(shí)間段內(nèi)能夠處理的處理請(qǐng)求的最大數(shù)量;
第一確定單元,用于當(dāng)所述總處理數(shù)量小于所述預(yù)設(shè)數(shù)量閾值時(shí),確定對(duì)所述處理請(qǐng)求進(jìn)行處理的處理方式為同步處理方式;
第二確定單元,用于當(dāng)所述處理數(shù)量大于或等于所述預(yù)設(shè)數(shù)量閾值時(shí),確定對(duì)所述 處理請(qǐng)求進(jìn)行處理的處理方式為異步處理方式。
其中,所述第一獲取模塊12包括:
第二判斷單元,用于判斷所述處理請(qǐng)求中是否攜帶處理方式的標(biāo)識(shí);
第三確定單元,當(dāng)所述處理請(qǐng)求中攜帶同步處理方式的標(biāo)識(shí)時(shí),將同步處理方式作為所述目標(biāo)處理方式;
第四確定單元,當(dāng)所述處理請(qǐng)求中攜帶異步處理方式的標(biāo)識(shí)時(shí),將異步處理方式作為所述目標(biāo)處理方式。
進(jìn)一步地,所述裝置還包括:
第二存儲(chǔ)模塊,用于如果處理成功,則將處理結(jié)果存儲(chǔ)在本地的存儲(chǔ)空間中;
第一發(fā)送模塊,用于發(fā)送通知消息給所述請(qǐng)求方;所述通知消息用于通知已對(duì)所述處理請(qǐng)求處理成功;
判斷模塊,用于判斷是否接收到所述請(qǐng)求方發(fā)送的、用于獲取所述處理結(jié)果的獲取請(qǐng)求;
第三獲取模塊,用于當(dāng)接收到所述獲取請(qǐng)求時(shí),從本地的存儲(chǔ)空間中獲取所述處理結(jié)果;
第二發(fā)送模塊,用于將所述處理結(jié)果發(fā)送給所述請(qǐng)求方。
關(guān)于上述實(shí)施例中的裝置,其中各個(gè)模塊執(zhí)行操作的具體方式已經(jīng)在有關(guān)該方法的實(shí)施例中進(jìn)行了詳細(xì)描述,此處將不做詳細(xì)闡述說(shuō)明。
本領(lǐng)域技術(shù)人員在考慮說(shuō)明書(shū)及實(shí)踐這里公開(kāi)的發(fā)明后,將容易想到本發(fā)明的其它實(shí)施方案。本申請(qǐng)旨在涵蓋本發(fā)明的任何變型、用途或者適應(yīng)性變化,這些變型、用途或者適應(yīng)性變化遵循本發(fā)明的一般性原理并包括本發(fā)明未公開(kāi)的本技術(shù)領(lǐng)域中的公知常識(shí)或慣用技術(shù)手段。說(shuō)明書(shū)和實(shí)施例僅被視為示例性的,本發(fā)明的真正范圍和精神由下面的權(quán)利要求指出。
應(yīng)當(dāng)理解的是,本發(fā)明并不局限于上面已經(jīng)描述并在附圖中示出的精確結(jié)構(gòu),并且可以在不脫離其范圍進(jìn)行各種修改和改變。本發(fā)明的范圍僅由所附的權(quán)利要求來(lái)限制。