本申請涉及計算機(jī)技術(shù)領(lǐng)域,尤其涉及一種數(shù)據(jù)處理方法、裝置和系統(tǒng)。
背景技術(shù):
隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展,越來越多的用戶借助于互聯(lián)網(wǎng)對數(shù)據(jù)進(jìn)行存儲、管理以及更新。例如:在電子商務(wù)中,假設(shè)對于在售產(chǎn)品的數(shù)量,其總量為100件,當(dāng)該在售產(chǎn)品售出1件時,需對總量扣減1,在扣減100次之后,總量為零,將不再允許對該在售產(chǎn)品的數(shù)量進(jìn)行扣減,即該在售產(chǎn)品售完。其中,在售產(chǎn)品的數(shù)量叫做“額度數(shù)據(jù)”。
現(xiàn)有技術(shù)中,對于額度數(shù)據(jù)的處理,具體地,將某一業(yè)務(wù)對應(yīng)的額度數(shù)據(jù)保存在數(shù)據(jù)庫的一行數(shù)據(jù)庫記錄中;對于針對該業(yè)務(wù)的業(yè)務(wù)請求(即額度數(shù)據(jù)處理請求,簡稱:額度請求),通過對該行數(shù)據(jù)庫記錄執(zhí)行讀操作來判斷額度數(shù)據(jù)存量,進(jìn)而根據(jù)額度數(shù)據(jù)存量對該行數(shù)據(jù)庫記錄中的額度數(shù)據(jù)執(zhí)行寫操作來進(jìn)行減額度處理。
在實際應(yīng)用中,經(jīng)常會出現(xiàn)高并發(fā)的額度請求,例如:限額搶購、秒殺購物、搶紅包等。采用上述額度數(shù)據(jù)的處理方法,能夠利用數(shù)據(jù)庫行操作的原子性來保證高并發(fā)額度請求下的竟態(tài)互斥。但是,由于針對每一個額度請求,都需要對同一行數(shù)據(jù)庫記錄至少進(jìn)行一次讀寫操作,對數(shù)據(jù)庫性的讀寫性能要求較高,難以滿足高并發(fā)的額度數(shù)據(jù)處理請求的需求。
技術(shù)實現(xiàn)要素:
有鑒于此,本申請實施例提供一種數(shù)據(jù)處理的方法、裝置和系統(tǒng),用于解決現(xiàn)有技術(shù)難以滿足高并發(fā)的額度數(shù)據(jù)處理請求的需求的問題。
本申請實施例提供一種數(shù)據(jù)處理的方法,所述方法應(yīng)用在非葉子節(jié)點服務(wù)器中,包括:
通過對子節(jié)點服務(wù)器在預(yù)設(shè)時長內(nèi)的額度請求進(jìn)行請求聚合確定聚合額度請求量;
將所述聚合額度請求量發(fā)送給父節(jié)點服務(wù)器。
本申請實施例還提供一種數(shù)據(jù)處理的方法,所述方法應(yīng)用在根節(jié)點服務(wù)器中,包括:
接收非葉子節(jié)點服務(wù)器發(fā)送的聚合額度請求量,其中,所述聚合額度請求量為所述非葉子節(jié)點服務(wù)器對葉子節(jié)點服務(wù)器在預(yù)設(shè)時長內(nèi)的額度請求進(jìn)行請求聚合得到的;
根據(jù)所述聚合額度請求量對數(shù)據(jù)庫中存儲的額度數(shù)據(jù)進(jìn)行分配,并向所述非葉子節(jié)點服務(wù)器返回額度id值。
本申請實施例還提供一種數(shù)據(jù)處理的方法,所述方法應(yīng)用在葉子節(jié)點服務(wù)器中,包括:
接收非葉子節(jié)點服務(wù)器發(fā)送的額度id值,其中,所述額度id值是所述非葉子節(jié)點服務(wù)器從根節(jié)點服務(wù)器處接收得到的;
根據(jù)所述額度id值,針對預(yù)設(shè)時長內(nèi)的額度請求進(jìn)行數(shù)據(jù)處理。
本申請實施例還提供一種數(shù)據(jù)處理裝置,所述裝置應(yīng)用在非葉子節(jié)點服務(wù)器中,所述裝置包括:聚合單元和發(fā)送單元,其中:
聚合單元,用于通過對子節(jié)點服務(wù)器在預(yù)設(shè)時長內(nèi)的額度請求進(jìn)行請求聚合確定聚合額度請求量;
發(fā)送單元,用于將所述聚合額度請求量發(fā)送給父節(jié)點服務(wù)器。
本申請實施例還提供一種數(shù)據(jù)處理裝置,所述裝置應(yīng)用在根節(jié)點服務(wù)器中,所述裝置包括:接收單元和分配單元,其中:
接收單元,用于接收非葉子節(jié)點服務(wù)器發(fā)送的聚合額度請求量,其中,所述聚合額度請求量為所述非葉子節(jié)點服務(wù)器對葉子節(jié)點服務(wù)器在預(yù)設(shè)時長內(nèi)的額度請求進(jìn)行請求聚合得到的;
分配單元,用于根據(jù)所述聚合額度請求量對數(shù)據(jù)庫中存儲的額度數(shù)據(jù)進(jìn)行分配,并向所述非葉子節(jié)點服務(wù)器返回額度id值。
本申請實施例還提供一種數(shù)據(jù)處理裝置,所述裝置應(yīng)用在葉子節(jié)點服務(wù)器中,所述裝置包括:接收單元和數(shù)據(jù)處理單元,其中:
接收單元,用于接收非葉子節(jié)點服務(wù)器發(fā)送的額度id值,其中,所述額度id值是所述非葉子節(jié)點服務(wù)器從根節(jié)點服務(wù)器處接收得到的;
數(shù)據(jù)處理單元,用于根據(jù)所述額度id值,針對預(yù)設(shè)時長內(nèi)的額度請求進(jìn)行數(shù)據(jù)處理。
本申請實施例還提供一種數(shù)據(jù)處理系統(tǒng),所述系統(tǒng)包括:應(yīng)用在根節(jié)點服務(wù)器中的數(shù)據(jù)處理裝置、應(yīng)用在非葉子節(jié)點服務(wù)器中的數(shù)據(jù)處理裝置和應(yīng)用在葉子節(jié)點服務(wù)器中的數(shù)據(jù)處理裝置。
本申請實施例采用的上述至少一個技術(shù)方案能夠達(dá)到以下有益效果:
非葉子節(jié)點服務(wù)器通過對其子節(jié)點服務(wù)器在預(yù)設(shè)時長內(nèi)的額度請求進(jìn)行請求聚合,確定聚合額度請求量,并將所述聚合額度請求量發(fā)送給其父節(jié)點服務(wù)器,在高并發(fā)的額度請求下,通過對預(yù)設(shè)時長內(nèi)的額度請求進(jìn)行聚合,能夠減少數(shù)據(jù)庫的訪問次數(shù),有效提高數(shù)據(jù)處理的效率,從而滿足高并發(fā)的額度數(shù)據(jù)處理請求的需求。
附圖說明
此處所說明的附圖用來提供對本申請的進(jìn)一步理解,構(gòu)成本申請的一部分,本申請的示意性實施例及其說明用于解釋本申請,并不構(gòu)成對本申請的不當(dāng)限定。在附圖中:
圖1為本申請實施例提供的一種數(shù)據(jù)處理的方法的流程示意圖;
圖2為本申請實施例提供的一種服務(wù)器結(jié)構(gòu)示意圖;
圖3為本申請實施例提供的一種服務(wù)器結(jié)構(gòu)示意圖;
圖4為本申請實施例提供的一種數(shù)據(jù)處理的方法的流程示意圖;
圖5為本申請實施例提供的一種數(shù)據(jù)處理的方法的流程示意圖;
圖6為本申請實施例提供的一種電子設(shè)備的示意結(jié)構(gòu)圖;
圖7為本申請實施例提供的一種數(shù)據(jù)處理裝置的結(jié)構(gòu)示意圖;
圖8為本申請實施例提供的一種數(shù)據(jù)處理裝置的結(jié)構(gòu)示意圖;
圖9為本申請實施例提供的一種電子設(shè)備的結(jié)構(gòu)示意圖;
圖10為本申請實施例提供的一種數(shù)據(jù)處理裝置的結(jié)構(gòu)示意圖;
圖11為本申請實施例提供的一種數(shù)據(jù)處理裝置的結(jié)構(gòu)示意圖;
圖12為本申請實施例提供的一種電子設(shè)備的結(jié)構(gòu)示意圖;
圖13為本申請實施例提供的一種數(shù)據(jù)處理裝置的結(jié)構(gòu)示意圖;
圖14為本申請實施例提供的一種數(shù)據(jù)處理裝置的結(jié)構(gòu)示意圖;
圖15為本申請實施例提供的一種數(shù)據(jù)處理系統(tǒng)的結(jié)構(gòu)示意圖。
具體實施方式
為了實現(xiàn)本申請的目的,本申請實施例提供一種數(shù)據(jù)處理的方法、裝置和系統(tǒng),所述方法包括:非葉子節(jié)點服務(wù)器通過對其子節(jié)點服務(wù)器在預(yù)設(shè)時長內(nèi)的額度請求進(jìn)行請求聚合,確定聚合額度請求量,并將所述聚合額度請求量發(fā)送給其父節(jié)點服務(wù)器,在高并發(fā)的額度請求下,通過對預(yù)設(shè)時長內(nèi)的額度請求進(jìn)行聚合,能夠減少數(shù)據(jù)庫的訪問次數(shù),有效提高數(shù)據(jù)處理的效率,從而滿足高并發(fā)的額度數(shù)據(jù)處理請求的需求。
下面結(jié)合本申請具體實施例及相應(yīng)的附圖對本申請技術(shù)方案進(jìn)行清楚、完整地描述。顯然,所描述的實施例僅是本申請一部分實施例,而不是全部的實施例?;诒旧暾堉械膶嵤├绢I(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本申請保護(hù)的范圍。
以下結(jié)合附圖,詳細(xì)說明本申請各實施例提供的技術(shù)方案。
實施例1
圖1為本申請實施例提供的一種數(shù)據(jù)處理的方法的流程示意圖。所述方法應(yīng)用在非葉子節(jié)點服務(wù)器中,所述方法可以如下所示。
步驟101:通過對子節(jié)點服務(wù)器在預(yù)設(shè)時長內(nèi)的額度請求進(jìn)行請求聚合確定聚合額度請求量。
在步驟101中,所述非葉子節(jié)點服務(wù)器對其子節(jié)點服務(wù)器在所述預(yù)設(shè)時長內(nèi)的額度請求進(jìn)行請求聚合,確定其子節(jié)點服務(wù)器在所述預(yù)設(shè)時長內(nèi)的聚合額度請求量。
其中,所述子節(jié)點服務(wù)器是葉子節(jié)點服務(wù)器或下層非葉子節(jié)點服務(wù)器。
所述葉子節(jié)點服務(wù)器負(fù)責(zé)處理具體的業(yè)務(wù)請求以及對數(shù)據(jù)庫執(zhí)行減額度處理,例如,在商品限時搶購業(yè)務(wù)中,所述葉子節(jié)點服務(wù)器接收用戶發(fā)送的業(yè)務(wù)請求,即搶購請求,并對保存有該限時搶購商品的額度數(shù)據(jù)的數(shù)據(jù)庫執(zhí)行減額度處理。
圖2為本申請實施例提供的一種服務(wù)器結(jié)構(gòu)示意圖。
由圖2可知,非葉子節(jié)點服務(wù)器b的子節(jié)點為葉子節(jié)點服務(wù)器d和葉子節(jié)點服務(wù)器e。
在預(yù)設(shè)時長1min內(nèi),葉子節(jié)點服務(wù)器d接收到3個額度請求,葉子節(jié)點服務(wù)器e接收到2個額度請求。非葉子節(jié)點服務(wù)器b對葉子節(jié)點服務(wù)器d和葉子節(jié)點服務(wù)器e在預(yù)設(shè)時長1min內(nèi)接收到的額度請求進(jìn)行請求聚合,確定聚合額度請求量為5。
圖3為本申請實施例提供的一種服務(wù)器結(jié)構(gòu)示意圖。
由圖3可知,非葉子節(jié)點服務(wù)器b的子節(jié)點為下層非葉子節(jié)點服務(wù)器d和下層非葉子節(jié)點服務(wù)器e。
在預(yù)設(shè)時長1min內(nèi),下層非葉子節(jié)點服務(wù)器d接收到3個額度請求,下層非葉子節(jié)點服務(wù)器e接收到0個額度請求。非葉子節(jié)點服務(wù)器b對下層非葉子節(jié)點服務(wù)器d和下層非葉子節(jié)點服務(wù)器e在預(yù)設(shè)時長1min內(nèi)接收到的額度請求進(jìn)行請求聚合,確定聚合額度請求量為3。
步驟102:將所述聚合額度請求量發(fā)送給其父節(jié)點服務(wù)器。
在步驟102中,所述非葉子節(jié)點服務(wù)器將所述聚合額度請求量發(fā)送給其父節(jié)點服務(wù)器。
其中,所述父節(jié)點服務(wù)器是根節(jié)點服務(wù)器或上層葉子節(jié)點服務(wù)器。
當(dāng)所述非葉子節(jié)點服務(wù)器的父節(jié)點是所述根節(jié)點服務(wù)器時,所述非葉子節(jié)點服務(wù)器將所述聚合額度請求量直接發(fā)送給所述根節(jié)點服務(wù)器。
仍以圖2為例,非葉子節(jié)點服務(wù)器b的父節(jié)點為根節(jié)點服務(wù)器a,非葉子節(jié)點服務(wù)器c的父節(jié)點也為根節(jié)點服務(wù)器a。
非葉子節(jié)點服務(wù)器b的子節(jié)點為葉子節(jié)點服務(wù)器d和葉子節(jié)點服務(wù)器e,非葉子節(jié)點服務(wù)器c的子節(jié)點為葉子節(jié)點服務(wù)器f和葉子節(jié)點服務(wù)器g。
在預(yù)設(shè)時長1min內(nèi),葉子節(jié)點服務(wù)器d接收到3個額度請求,葉子節(jié)點服務(wù)器e接收到0個額度請求;在預(yù)設(shè)時長1min內(nèi),葉子節(jié)點服務(wù)器f接收到0個額度請求,葉子節(jié)點服務(wù)器g接收到0個額度請求。
非葉子節(jié)點服務(wù)器b對葉子節(jié)點服務(wù)器d和葉子節(jié)點服務(wù)器e在預(yù)設(shè)時長1min內(nèi)接收到的額度請求進(jìn)行請求聚合,確定聚合額度請求量為3;非葉子節(jié)點服務(wù)器c對葉子節(jié)點服務(wù)器f和葉子節(jié)點服務(wù)器g在預(yù)設(shè)時長1min內(nèi)接收到的額度請求進(jìn)行請求聚合,確定聚合額度請求量為0。
非葉子節(jié)點服務(wù)器b將所述聚合額度請求量3直接發(fā)送給根節(jié)點服務(wù)器a。
當(dāng)所述非葉子節(jié)點服務(wù)器的父節(jié)點是上層非葉子節(jié)點服務(wù)器時,通過所述上層非葉子節(jié)點服務(wù)器將所述聚合額度請求量發(fā)送給所述根節(jié)點服務(wù)器。
仍以上述圖3為例,該服務(wù)器結(jié)構(gòu)包括兩層非葉子節(jié)點服務(wù)器:上層非葉子節(jié)點服務(wù)器b、c和下層非葉子節(jié)點服務(wù)器d、e、f、g。
上層非葉子節(jié)點服務(wù)器b、c的父節(jié)點是根節(jié)點a。
下層非葉子節(jié)點服務(wù)器d、e的父節(jié)點是上層非葉子節(jié)點服務(wù)器b,下層非葉子節(jié)點服務(wù)器f、g父節(jié)點是上層非葉子節(jié)點服務(wù)器c。
非葉子節(jié)點服務(wù)器d對應(yīng)2個葉子節(jié)點服務(wù)器h、i,非葉子節(jié)點服務(wù)器e對應(yīng)2個葉子節(jié)點服務(wù)器j、k,非葉子節(jié)點服務(wù)器f對應(yīng)2個葉子節(jié)點服務(wù)器l、m,非葉子節(jié)點服務(wù)器對應(yīng)2個葉子節(jié)點服務(wù)器n、p。
在預(yù)設(shè)時長1min內(nèi),葉子節(jié)點服務(wù)器h接收到3個額度請求,葉子節(jié)點服務(wù)器i接收到2個額度請求;在預(yù)設(shè)時長1min內(nèi),葉子節(jié)點服務(wù)器j接收到1個額度請求,葉子節(jié)點服務(wù)器k接收到2個額度請求;在預(yù)設(shè)時長1min內(nèi),葉子節(jié)點服務(wù)器l接收到0個額度請求,葉子節(jié)點服務(wù)器m接收到2個額度請求;在預(yù)設(shè)時長1min內(nèi),葉子節(jié)點服務(wù)器n接收到3個額度請求,葉子節(jié)點服務(wù)器p接收到0個額度請求。
下層非葉子節(jié)點服務(wù)器d對葉子節(jié)點服務(wù)器h和葉子節(jié)點服務(wù)器i在預(yù)設(shè)時長1min內(nèi)接收到的額度請求進(jìn)行請求聚合,確定聚合額度請求量為5;下層非葉子節(jié)點服務(wù)器e對葉子節(jié)點服務(wù)器j和葉子節(jié)點服務(wù)器k在預(yù)設(shè)時長1min內(nèi)接收到的額度請求進(jìn)行請求聚合,確定聚合額度請求量為3;下層非葉子節(jié)點服務(wù)器f對葉子節(jié)點服務(wù)器l和葉子節(jié)點服務(wù)器m在預(yù)設(shè)時長1min內(nèi)接收到的額度請求進(jìn)行請求聚合,確定聚合額度請求量為2;下層非葉子節(jié)點服務(wù)器g對葉子節(jié)點服務(wù)器n和葉子節(jié)點服務(wù)器p在預(yù)設(shè)時長1min內(nèi)接收到的額度請求進(jìn)行請求聚合,確定聚合額度請求量為3。
上層非葉子節(jié)點服務(wù)器b對下層非葉子節(jié)點服務(wù)器d確定的聚合額度請求量5和下層非葉子節(jié)點服務(wù)器e確定的聚合額度請求量3再次進(jìn)行請求聚合,確定聚合額度請求量為8;上層非葉子節(jié)點服務(wù)器c對下層非葉子節(jié)點服務(wù)器f確定的聚合額度請求量2和下層非葉子節(jié)點服務(wù)器g確定的聚合額度請求量3再次進(jìn)行請求聚合,確定聚合額度請求量為5。
上層非葉子節(jié)點服務(wù)器b將所述聚合額度請求量8發(fā)送給根節(jié)點服務(wù)器a,上層非葉子節(jié)點服務(wù)器c同樣將所述聚合額度請求量5發(fā)送給根節(jié)點服務(wù)器a。
本申請實施例中,一個節(jié)點服務(wù)器的子節(jié)點服務(wù)器個數(shù)最大值為d,即:所述根節(jié)點服務(wù)器最多包含d個所述上層非葉子節(jié)點服務(wù)器,一個所述上層非葉子節(jié)點服務(wù)器最多包含d個所述下層非葉子節(jié)點分服務(wù)器,一個所述下層非葉子節(jié)點服務(wù)器最多包含d個所述葉子節(jié)點服務(wù)器。
所述根節(jié)點服務(wù)器、所述上層非葉子節(jié)點服務(wù)器、所述下層非葉子節(jié)點分服務(wù)器以及所述葉子節(jié)點服務(wù)器構(gòu)成樹形結(jié)構(gòu)。
樹形結(jié)構(gòu)的樹高度h與節(jié)點服務(wù)器數(shù)量n是對數(shù)關(guān)系,額度請求的響應(yīng)時間為h*預(yù)設(shè)時長,使得所述響應(yīng)時長僅成對數(shù)級增長。
由于一個節(jié)點服務(wù)器的子節(jié)點服務(wù)器個數(shù)最大值為d,在預(yù)設(shè)時長內(nèi)每一個節(jié)點服務(wù)器至多接收到d個子節(jié)點服務(wù)器發(fā)送的額度請求,因此,根節(jié)點服務(wù)器以及各層非葉子節(jié)點服務(wù)器的額度請求不會隨著葉子節(jié)點服務(wù)器接收到的額度請求量(即業(yè)務(wù)請求量)增長。
需要說明的是,所述d的大小可以根據(jù)實際情況確定,這里不做具體限定。
本申請實施例中,將所述聚合額度請求量發(fā)送給所述父節(jié)點服務(wù)器之后,所述方法還包括:
接收所述父節(jié)點服務(wù)器返回的額度id值;
根據(jù)所述子節(jié)點服務(wù)器在預(yù)設(shè)時長內(nèi)的額度請求,將所述額度id值分配給所述子節(jié)點服務(wù)器。
本申請實施例中,將額度數(shù)據(jù)及相關(guān)業(yè)務(wù)數(shù)據(jù)保存在n個數(shù)據(jù)庫,并確定每個數(shù)據(jù)庫中的額度id值范圍。當(dāng)額度數(shù)據(jù)的額度總量為x時,每個數(shù)據(jù)庫中的額度量(最大更新操作量)為r=x/n。
通過控制數(shù)據(jù)庫的數(shù)量,能夠控制每個數(shù)據(jù)庫中的最大更新操作量r的大小,以保證每個數(shù)據(jù)庫的處理能力能夠滿足該最大更新操作量r。
根節(jié)點服務(wù)器負(fù)責(zé)維護(hù)額度數(shù)據(jù)的額度總量、剩余額度以及額度id值。
應(yīng)理解,額度id值可以是一個或多個。當(dāng)額度id值為多個時,該額度id值還可以是額度id范圍或額度id列表等。
但是,該額度id值為額度id范圍時,即能夠更好地保存所述額度id值,又能夠控制額度分配過程中的網(wǎng)絡(luò)傳輸量。
例如:對于100個隨機(jī)紅包數(shù)據(jù),id范圍為000001~000100。將所述100個紅包數(shù)據(jù)保存在2個數(shù)據(jù)庫中。其中,數(shù)據(jù)庫一中存儲50個額度數(shù)據(jù),額度id范圍為000001~000050;數(shù)據(jù)庫二中存儲50個額度數(shù)據(jù),額度id范圍為000051~000100。
根節(jié)點服務(wù)器負(fù)責(zé)維護(hù)所述紅包數(shù)據(jù)的額度總量、剩余額度以及額度id范圍,例如,額度總量為100,總剩余額度為80,其中,數(shù)據(jù)庫一中的剩余額度為30,額度id范圍為000031~000050;數(shù)據(jù)庫二中的剩余額度為50,額度id范圍為000051~000100。
當(dāng)所述根節(jié)點服務(wù)器接收到所述聚合額度請求量之后,所述根節(jié)點服務(wù)器通過判斷剩余額度以及所述聚合額度請求量向所述非葉子節(jié)點服務(wù)器返回額度id值。
所述非葉子節(jié)點服務(wù)器接收到所述根節(jié)點服務(wù)器返回的所述額度id值之后,根據(jù)所述葉子節(jié)點服務(wù)器在預(yù)設(shè)時長內(nèi)的額度請求,將所述額度id值分配給所述葉子節(jié)點服務(wù)器,使得所述葉子節(jié)點服務(wù)器對所述額度id值對應(yīng)的數(shù)據(jù)庫執(zhí)行減額度處理。
仍以上述圖2為例,當(dāng)根節(jié)點服務(wù)器a接收到非葉子節(jié)點服務(wù)器b發(fā)送的所述聚合額度請求量3之后,通過判斷確定總剩余額度為5,其中,數(shù)據(jù)庫一中的剩余額度為3,額度id范圍為000048~000050;數(shù)據(jù)庫二中的剩余額度為2,額度id范圍為000099~000100。根節(jié)點服務(wù)器a從5個剩余額度對應(yīng)的5個額度id值中選擇3個額度id值,例如,額度id范圍000048~000050內(nèi)的3個額度id值,并向非葉子節(jié)點服務(wù)器b返回所述3個額度id值。
非葉子節(jié)點服務(wù)器b接收到所述3個額度id值之后,由于在預(yù)設(shè)時長1min內(nèi),葉子節(jié)點服務(wù)器d接收到3個額度請求,葉子節(jié)點服務(wù)器e接收到0個額度請求,因此,非葉子節(jié)點服務(wù)器將所述3個額度id值分配給葉子節(jié)點服務(wù)器d,進(jìn)而使得葉子節(jié)點服務(wù)器d響應(yīng)所述3個額度請求,對所述額度id值對應(yīng)的數(shù)據(jù)庫執(zhí)行減額度處理,即更新數(shù)據(jù)庫中的額度id值000048、000049、000050對應(yīng)的三行數(shù)據(jù)庫記錄。
本申請實施例記載的技術(shù)方案,非葉子節(jié)點服務(wù)器通過對其子節(jié)點服務(wù)器在預(yù)設(shè)時長內(nèi)的額度請求進(jìn)行請求聚合,確定聚合額度請求量,并將所述聚合額度請求量發(fā)送給其父節(jié)點服務(wù)器,在高并發(fā)的額度請求下,通過對預(yù)設(shè)時長內(nèi)的額度請求進(jìn)行聚合,能夠減少數(shù)據(jù)庫的訪問次數(shù),有效提高數(shù)據(jù)處理的效率,滿足高并發(fā)的額度數(shù)據(jù)處理請求的需求。
實施例2
圖4為本申請實施例提供的一種數(shù)據(jù)處理的方法的流程示意圖。所述方法應(yīng)用在根節(jié)點服務(wù)器中,所述方法可以如下所示。
步驟401:接收非葉子節(jié)點服務(wù)器發(fā)送的聚合額度請求量。
其中,所述聚合額度請求量為所述非葉子節(jié)點服務(wù)器對葉子節(jié)點服務(wù)器在預(yù)設(shè)時長內(nèi)的額度請求進(jìn)行請求聚合得到的。
在步驟401中,所述非葉子節(jié)點服務(wù)器通過對所述葉子節(jié)點服務(wù)器在預(yù)設(shè)時長內(nèi)的額度請求進(jìn)行請求聚合得到所述聚合額度請求量,并將所述聚合額度請求量發(fā)送給所述根節(jié)點,使得所述根節(jié)點接收所述聚合額度請求量。
步驟402:根據(jù)所述聚合額度請求量對數(shù)據(jù)庫中存儲的額度數(shù)據(jù)進(jìn)行分配,并向所述非葉子節(jié)點服務(wù)器返回額度id值。
在步驟402中,所述根節(jié)點服務(wù)器根據(jù)所述聚合額度請求量對數(shù)據(jù)庫中存儲的額度數(shù)據(jù)進(jìn)行分配,并根據(jù)分配結(jié)果向所述非葉子節(jié)點服務(wù)器返回額度id值。
根據(jù)上述實施例1中記載的內(nèi)容可知,所述根節(jié)點服務(wù)器負(fù)責(zé)維護(hù)業(yè)務(wù)對應(yīng)的額度總量、剩余額度以及額度id范圍。當(dāng)所述根節(jié)點服務(wù)器接收到所述聚合額度請求量之后,所述根節(jié)點服務(wù)器通過判斷剩余額度以及所述聚合額度請求量向所述非葉子節(jié)點服務(wù)器返回額度id值。
本申請實施例中,根據(jù)所述聚合額度請求量對數(shù)據(jù)庫中存儲的額度數(shù)據(jù)進(jìn)行分配,并向所述非葉子節(jié)點服務(wù)器返回額度id值包括:
判斷剩余額度是否小于所述聚合額度請求量;
根據(jù)判斷結(jié)果,進(jìn)行額度分配。
下面詳細(xì)描述如何根據(jù)所述判斷結(jié)果進(jìn)行數(shù)據(jù)處理:
第一種情況:所述判斷結(jié)果為所述剩余額度不小于所述聚合額度請求量。
當(dāng)所述剩余額度不小于所述聚合額度請求量時,將所述剩余額度中與所述聚合額度請求量相等數(shù)量的額度id值發(fā)送給所述非葉子節(jié)點服務(wù)器。
仍以上述圖2為例,當(dāng)根節(jié)點服務(wù)器a接收到非葉子節(jié)點服務(wù)器b發(fā)送的所述聚合額度請求量3之后,通過判斷確定總剩余額度為5,其中,數(shù)據(jù)庫一中的剩余額度為3,額度id范圍為000048~000050;數(shù)據(jù)庫二中的剩余額度為2,額度id范圍為000099~000100。因此,根節(jié)點服務(wù)器a從5個剩余額度對應(yīng)的5個額度id值中選擇3個額度id值,例如,額度id范圍000048~000050內(nèi)的3個額度id值,并向非葉子節(jié)點服務(wù)器b返回所述3個額度id值。
第二種情況:所述判斷結(jié)果為所述剩余額度小于所述聚合額度請求量。
當(dāng)所述剩余額度小于所述聚合額度請求量時,將所述額度存量中的額度id全部發(fā)送給所述非葉子節(jié)點服務(wù)器。
仍以上述圖2為例,當(dāng)根節(jié)點服務(wù)器a接收到非葉子節(jié)點服務(wù)器b發(fā)送的所述聚合額度請求量3之后,通過判斷確定總剩余額度為2,其中,數(shù)據(jù)庫二中的剩余額度為2,額度id范圍為000099~000100。因此,根節(jié)點服務(wù)器a向非葉子節(jié)點服務(wù)器b返回所述額度id范圍000099~000100內(nèi)的2個額度id值000099、000100。
本申請實施例記載的技術(shù)方案,根節(jié)點服務(wù)器接收非葉子節(jié)點服務(wù)器發(fā)送的對葉子節(jié)點服務(wù)器在預(yù)設(shè)時長內(nèi)的額度請求進(jìn)行請求聚合得到的聚合額度請求量,進(jìn)而根據(jù)所述聚合額度請求量對數(shù)據(jù)庫中存儲的額度數(shù)據(jù)進(jìn)行分配,并向所述非葉子節(jié)點服務(wù)器返回額度id值,在高并發(fā)的額度請求下,能夠減少數(shù)據(jù)庫的訪問次數(shù),有效提高數(shù)據(jù)處理的效率,從而滿足高并發(fā)的額度數(shù)據(jù)處理請求的需求。
實施例3
圖5為本申請實施例提供的一種數(shù)據(jù)處理的方法的流程示意圖。所述方法應(yīng)用在葉子節(jié)點服務(wù)器中,所述方法可以如下所示。
步驟501:接收非葉子節(jié)點服務(wù)器發(fā)送的額度id值。
其中,所述額度id值是所述非葉子節(jié)點服務(wù)器從根節(jié)點服務(wù)器處接收得到的。
在步驟501中,所述根節(jié)點服務(wù)器進(jìn)行額度分配之后,向所述非葉子節(jié)點服務(wù)器發(fā)送額度id值,進(jìn)而使得所述非葉子節(jié)點服務(wù)器將所述額度id值發(fā)送給所述葉子節(jié)點服務(wù)器,所述葉子節(jié)點服務(wù)器接收所述額度id值。
步驟502:根據(jù)所述額度id值,針對預(yù)設(shè)時長內(nèi)的額度請求進(jìn)行數(shù)據(jù)處理。
在步驟502中,所述葉子節(jié)點服務(wù)器根據(jù)所述額度id值,針對預(yù)設(shè)時長內(nèi)的額度請求進(jìn)行扣減額度的數(shù)據(jù)處理。
本申請實施例中,根據(jù)所述額度id值,針對預(yù)設(shè)時長內(nèi)的額度請求進(jìn)行數(shù)據(jù)處理,包括:
判斷所述額度id值的數(shù)量是否小于所述額度請求的數(shù)量;
根據(jù)判斷結(jié)果進(jìn)行數(shù)據(jù)處理。
下面詳細(xì)描述如何根據(jù)所述判斷結(jié)果進(jìn)行數(shù)據(jù)處理:
第一種情況:所述判斷結(jié)果為所述額度id值的數(shù)量不小于所述額度請求的數(shù)量。
當(dāng)所述額度id值的數(shù)量不小于所述額度請求的數(shù)量時,對所述額度id值對應(yīng)的數(shù)據(jù)庫執(zhí)行減額度處理;
對于所述額度請求,返回確認(rèn)消息。
仍以上述圖2為例,葉子節(jié)點服務(wù)器d在預(yù)設(shè)時長1min內(nèi)接收到的額度請求的數(shù)量為3個。當(dāng)葉子節(jié)點服務(wù)器d接收到非葉子節(jié)點服務(wù)器b發(fā)送的3個額度id值的額度id范圍為000048~000050之后,葉子節(jié)點服務(wù)器d確定所述額度id值的數(shù)量3不小于所述額度請求的數(shù)量3。
因此,葉子節(jié)點服務(wù)器d能夠處理所述3個額度請求。
葉子節(jié)點服務(wù)器d對所述額度id值對應(yīng)的數(shù)據(jù)庫執(zhí)行減額度處理,即更新額度id值000048、000049、000050對應(yīng)的三行數(shù)據(jù)庫記錄。
執(zhí)行完所述減額度處理之后,針對所述3個額度請求,葉子節(jié)點服務(wù)器返回確認(rèn)消息。
第二種情況:所述判斷結(jié)果為所述額度id值的數(shù)量小于所述額度請求的數(shù)量。
當(dāng)所述額度id值的數(shù)量小于所述額度請求的數(shù)量時,確定任一所述額度請求的請求時間;
根據(jù)所述請求時間,對所述額度請求進(jìn)行由早到晚的排序,確定額度請求列表;
將所述額度請求列表中排在前面與所述額度id值相等數(shù)量的額度請求確定為可處理額度請求,以及將所述額度請求列表中其他的額度請求確定為不可處理額度請求;
對所述額度id值對應(yīng)的數(shù)據(jù)庫執(zhí)行減額度處理;
對于所述可處理額度請求,返回確認(rèn)消息,以及對于所述不可處理額度請求,返回額度不足消息。
仍以上述圖2為例,葉子節(jié)點服務(wù)器d在預(yù)設(shè)時長1min內(nèi)接收到的額度請求的數(shù)量為3個。當(dāng)葉子節(jié)點服務(wù)器d接收到非葉子節(jié)點服務(wù)器b發(fā)送的2個額度id值000099、000100之后,葉子節(jié)點服務(wù)器d確定所述額度id值值的數(shù)量2小于所述額度請求的數(shù)量3。
因此,葉子節(jié)點服務(wù)器d僅能夠處理所述3個額度請求中的2個額度請求。
葉子節(jié)點服務(wù)器接收到的所述3個額度請求分別為額度請求一、額度請求二和額度請求三,其中,額度請求一的請求時間為x年x月x日x時15分,額度請求二的請求時間為x年x月x日x時13分,額度請求三的請求時間為x年x月x日x時17分。
根據(jù)所述請求時間,對所述3個額度請求進(jìn)行由早到晚的排序之后,確定額度請求列表:額度請求二、額度請求一、額度請求三。
由于所述額度id值的數(shù)量為2,葉子節(jié)點服務(wù)器d僅能夠處理2個額度請求,因此,將額度請求二和額度請求一確定為可處理額度請求,將額度請求三確定為不可處理額度請求。
葉子節(jié)點服務(wù)器d對所述額度id值對應(yīng)的數(shù)據(jù)庫執(zhí)行減額度處理,即更新額度id值000099、000100對應(yīng)的兩行數(shù)據(jù)庫記錄。
葉子節(jié)點服務(wù)器d向所述可處理額度請求(即額度請求二和額度請求一)返回確認(rèn)消息,以及向所述不可處理額度請求(即額度請求三)返回額度不足消息。
本申請實施例記載的技術(shù)方案,葉子節(jié)點服務(wù)器接收非葉子節(jié)點服務(wù)器從根節(jié)點服務(wù)器處接收得到并向所述葉子節(jié)點服務(wù)器發(fā)送的額度id值,進(jìn)而根據(jù)所述額度id值,針對預(yù)設(shè)時長內(nèi)的額度請求進(jìn)行數(shù)據(jù)處理,在高并發(fā)的額度請求下,能夠有效提高數(shù)據(jù)處理的效率,從而滿足高并發(fā)的額度數(shù)據(jù)處理請求的需求。
實施例4
圖6為本申請實施例提供的一種電子設(shè)備的示意結(jié)構(gòu)圖。如圖6所示,在硬件層面,該電子設(shè)備包括處理器、內(nèi)部總線、網(wǎng)絡(luò)接口、內(nèi)存以及非易失性存儲器,當(dāng)然還可能包括其他業(yè)務(wù)所需要的硬件。處理器從非易失性存儲器中讀取對應(yīng)的計算機(jī)程序到內(nèi)存中然后運行,在邏輯層面上形成數(shù)據(jù)處理裝置。當(dāng)然,除了軟件實現(xiàn)方式之外,本申請并不排除其他實現(xiàn)方式,比如邏輯器件抑或軟硬件結(jié)合的方式等等,也就是說以下處理流程的執(zhí)行主體并不限定于各個邏輯單元,也可以是硬件或邏輯器件。
圖7為本申請實施例提供的一種數(shù)據(jù)處理裝置的結(jié)構(gòu)示意圖。裝置700應(yīng)用在非葉子節(jié)點服務(wù)器中,所述裝置700包括:聚合單元701和發(fā)送單元702,其中:
聚合單元701,用于通過對子節(jié)點服務(wù)器在預(yù)設(shè)時長內(nèi)的額度請求進(jìn)行請求聚合確定聚合額度請求量;
發(fā)送單元702,用于將所述聚合額度請求量發(fā)送給父節(jié)點服務(wù)器。
可選地,所述裝置700還包括:接收單元703和分配單元704,其中:
接收單元703,用于接收所述父節(jié)點服務(wù)器返回的額度id值;
分配單元704,用于根據(jù)所述子節(jié)點服務(wù)器在預(yù)設(shè)時長內(nèi)的額度請求,將所述額度id值分配給所述子節(jié)點服務(wù)器。
可選地,所述子節(jié)點服務(wù)器是葉子節(jié)點服務(wù)器或下層非葉子節(jié)點服務(wù)器;
所述父節(jié)點服務(wù)器是根節(jié)點服務(wù)器或上層非葉子節(jié)點服務(wù)器。
根據(jù)應(yīng)用在非葉子節(jié)點服務(wù)器中的所述數(shù)據(jù)處理裝置,聚合單元用于通過對子節(jié)點服務(wù)器在預(yù)設(shè)時長內(nèi)的額度請求進(jìn)行請求聚合確定聚合額度請求量;發(fā)送單元用于將所述聚合額度請求量發(fā)送給父節(jié)點服務(wù)器,在高并發(fā)的額度請求下,通過對預(yù)設(shè)時長內(nèi)的額度請求進(jìn)行聚合,能夠減少數(shù)據(jù)庫的訪問次數(shù),有效提高數(shù)據(jù)處理的效率,從而滿足高并發(fā)的額度數(shù)據(jù)處理請求的需求。
圖8為本申請實施例提供的一種數(shù)據(jù)處理裝置的結(jié)構(gòu)示意圖。數(shù)據(jù)處理裝置80可包括:通道接口801和處理器802,可選地,包括存儲器803。
通道接口801、處理器802和存儲器803可以通過總線804系統(tǒng)相互連接??偩€604可以是isa(industrystandardarchitecture,工業(yè)標(biāo)準(zhǔn)體系結(jié)構(gòu))總線、pci(peripheralcomponentinterconnect,外設(shè)部件互連標(biāo)準(zhǔn))總線或eisa(extendedindustrystandardarchitecture,擴(kuò)展工業(yè)標(biāo)準(zhǔn)結(jié)構(gòu))總線等。所述總線可以分為地址總線、數(shù)據(jù)總線、控制總線等。為便于表示,圖8中僅用一個雙向箭頭表示,但并不表示僅有一根總線或一種類型的總線。
可選地,包括存儲器803,用于存放程序。具體地,程序可以包括程序代碼,所述程序代碼包括計算機(jī)操作指令。存儲器803可以包括只讀存儲器和隨機(jī)存取存儲器,并向處理器802提供指令和數(shù)據(jù)。存儲器803可能包含高速隨機(jī)存取存儲器(random-accessmemory,ram),也可能還包括非易失性存儲器(non-volatilememory),例如至少1個磁盤存儲器。
處理器802,用于執(zhí)行以下操作,可選地,執(zhí)行存儲器803所存放的程序,并具體用于執(zhí)行以下操作:
通過對子節(jié)點服務(wù)器在預(yù)設(shè)時長內(nèi)的額度請求進(jìn)行請求聚合確定聚合額度請求量;
將所述聚合額度請求量發(fā)送給父節(jié)點服務(wù)器。
上述如本申請圖1-3和圖7-8所示實施例揭示的數(shù)據(jù)處理裝置或管理者(master)節(jié)點執(zhí)行的方法可以應(yīng)用于處理器802中,或者由處理器802實現(xiàn)。處理器802可能是一種集成電路芯片,具有信號的處理能力。在實現(xiàn)過程中,上述方法的各步驟可以通過處理器802中的硬件的集成邏輯電路或者軟件形式的指令完成。上述的處理器802可以是通用處理器,包括中央處理器(centralprocessingunit,cpu)、網(wǎng)絡(luò)處理器(networkprocessor,np)等;還可以是數(shù)字信號處理器(digitalsignalprocessor,dsp)、專用集成電路(applicationspecificintegratedcircuit,asic)、現(xiàn)場可編程門陣列(field-programmablegatearray,fpga)或者其他可編程邏輯器件、分立門或者晶體管邏輯器件、分立硬件組件??梢詫崿F(xiàn)或者執(zhí)行本申請實施例中的公開的各方法、步驟及邏輯框圖。通用處理器可以是微處理器或者該處理器也可以是任何常規(guī)的處理器等。結(jié)合本申請實施例所公開的方法的步驟可以直接體現(xiàn)為硬件譯碼處理器執(zhí)行完成,或者用譯碼處理器中的硬件及軟件模塊組合執(zhí)行完成。軟件模塊可以位于隨機(jī)存儲器,閃存、只讀存儲器,可編程只讀存儲器或者電可擦寫可編程存儲器、寄存器等本領(lǐng)域成熟的存儲介質(zhì)中。該存儲介質(zhì)位于存儲器803,處理器802讀取存儲器803中的信息,結(jié)合其硬件完成上述方法的步驟。
數(shù)據(jù)處理裝置800還可執(zhí)行圖1的方法,并實現(xiàn)管理者節(jié)點或數(shù)據(jù)處理裝置在圖2、圖3所示實施例的功能,本申請實施例在此不再贅述。
實施例5
圖9為本申請實施例提供的一種電子設(shè)備的示意結(jié)構(gòu)圖。如圖9所示,在硬件層面,該電子設(shè)備包括處理器、內(nèi)部總線、網(wǎng)絡(luò)接口、內(nèi)存以及非易失性存儲器,當(dāng)然還可能包括其他業(yè)務(wù)所需要的硬件。處理器從非易失性存儲器中讀取對應(yīng)的計算機(jī)程序到內(nèi)存中然后運行,在邏輯層面上形成數(shù)據(jù)處理裝置。當(dāng)然,除了軟件實現(xiàn)方式之外,本申請并不排除其他實現(xiàn)方式,比如邏輯器件抑或軟硬件結(jié)合的方式等等,也就是說以下處理流程的執(zhí)行主體并不限定于各個邏輯單元,也可以是硬件或邏輯器件。
圖10為本申請實施例提供的一種數(shù)據(jù)處理裝置的結(jié)構(gòu)示意圖。裝置1000應(yīng)用在在根節(jié)點服務(wù)器中,所述裝置1000包括:接收單元1001和分配單元1002,其中:
接收單元1001,用于接收非葉子節(jié)點服務(wù)器發(fā)送的聚合額度請求量,其中,所述聚合額度請求量為所述非葉子節(jié)點服務(wù)器對葉子節(jié)點服務(wù)器在預(yù)設(shè)時長內(nèi)的額度請求進(jìn)行請求聚合得到的;
分配單元1002,用于根據(jù)所述聚合額度請求量對數(shù)據(jù)庫中存儲的額度數(shù)據(jù)進(jìn)行分配,并向所述非葉子節(jié)點服務(wù)器返回額度id值。
可選地,所述分配單元1002根據(jù)所述聚合額度請求量對數(shù)據(jù)庫中存儲的額度數(shù)據(jù)進(jìn)行分配,并向所述非葉子節(jié)點服務(wù)器返回額度id值,包括:
判斷剩余額度是否小于所述聚合額度請求量;
根據(jù)判斷結(jié)果,進(jìn)行額度分配。
可選地,所述分配單元1002根據(jù)判斷結(jié)果,進(jìn)行額度分配,包括:
當(dāng)所述剩余額度不小于所述聚合額度請求量時,將所述剩余額度中與所述聚合額度請求量相等數(shù)量的額度id值發(fā)送給所述非葉子節(jié)點服務(wù)器。
可選地,所述分配單元1002根據(jù)判斷結(jié)果,進(jìn)行額度分配,包括:
當(dāng)所述剩余額度小于所述聚合額度請求量時,將所述剩余額度中的額度id值全部發(fā)送給所述非葉子節(jié)點服務(wù)器。
根據(jù)應(yīng)用在根節(jié)點服務(wù)器中的所述數(shù)據(jù)處理裝置,接收單元用于接收非葉子節(jié)點服務(wù)器發(fā)送的聚合額度請求量,其中,所述聚合額度請求量為所述非葉子節(jié)點服務(wù)器對葉子節(jié)點服務(wù)器在預(yù)設(shè)時長內(nèi)的額度請求進(jìn)行請求聚合得到的;分配單元用于根據(jù)所述聚合額度請求量對數(shù)據(jù)庫中存儲的額度數(shù)據(jù)進(jìn)行分配,并向所述非葉子節(jié)點服務(wù)器返回額度id值,在高并發(fā)的額度請求下,能夠有效提高數(shù)據(jù)處理的效率,從而滿足高并發(fā)的額度數(shù)據(jù)處理請求的需求。
圖11為本申請實施例提供的一種數(shù)據(jù)處理裝置的結(jié)構(gòu)示意圖。數(shù)據(jù)處理裝置1100可包括:通道接口1101和處理器1102,可選地,包括存儲器1103。
通道接口1101、處理器1102和存儲器1103可以通過總線1104系統(tǒng)相互連接。總線1104可以是isa(industrystandardarchitecture,工業(yè)標(biāo)準(zhǔn)體系結(jié)構(gòu))總線、pci(peripheralcomponentinterconnect,外設(shè)部件互連標(biāo)準(zhǔn))總線或eisa(extendedindustrystandardarchitecture,擴(kuò)展工業(yè)標(biāo)準(zhǔn)結(jié)構(gòu))總線等。所述總線可以分為地址總線、數(shù)據(jù)總線、控制總線等。為便于表示,圖11中僅用一個雙向箭頭表示,但并不表示僅有一根總線或一種類型的總線。
可選地,包括存儲器1103,用于存放程序。具體地,程序可以包括程序代碼,所述程序代碼包括計算機(jī)操作指令。存儲器1103可以包括只讀存儲器和隨機(jī)存取存儲器,并向處理器1102提供指令和數(shù)據(jù)。存儲器1103可能包含高速隨機(jī)存取存儲器(random-accessmemory,ram),也可能還包括非易失性存儲器(non-volatilememory),例如至少1個磁盤存儲器。
處理器1102,用于執(zhí)行以下操作,可選地,執(zhí)行存儲器803所存放的程序,并具體用于執(zhí)行以下操作:
接收非葉子節(jié)點服務(wù)器發(fā)送的聚合額度請求量,其中,所述聚合額度請求量為所述非葉子節(jié)點服務(wù)器對葉子節(jié)點服務(wù)器在預(yù)設(shè)時長內(nèi)的額度請求進(jìn)行請求聚合得到的;
根據(jù)所述聚合額度請求量對數(shù)據(jù)庫中存儲的額度數(shù)據(jù)進(jìn)行分配,并向所述非葉子節(jié)點服務(wù)器返回額度id值。
上述如本申請圖4和圖9-10所示實施例揭示的數(shù)據(jù)處理裝置或管理者(master)節(jié)點執(zhí)行的方法可以應(yīng)用于處理器1102中,或者由處理器1102實現(xiàn)。處理器1102可能是一種集成電路芯片,具有信號的處理能力。在實現(xiàn)過程中,上述方法的各步驟可以通過處理器1102中的硬件的集成邏輯電路或者軟件形式的指令完成。上述的處理器1102可以是通用處理器,包括中央處理器(centralprocessingunit,cpu)、網(wǎng)絡(luò)處理器(networkprocessor,np)等;還可以是數(shù)字信號處理器(digitalsignalprocessor,dsp)、專用集成電路(applicationspecificintegratedcircuit,asic)、現(xiàn)場可編程門陣列(field-programmablegatearray,fpga)或者其他可編程邏輯器件、分立門或者晶體管邏輯器件、分立硬件組件??梢詫崿F(xiàn)或者執(zhí)行本申請實施例中的公開的各方法、步驟及邏輯框圖。通用處理器可以是微處理器或者該處理器也可以是任何常規(guī)的處理器等。結(jié)合本申請實施例所公開的方法的步驟可以直接體現(xiàn)為硬件譯碼處理器執(zhí)行完成,或者用譯碼處理器中的硬件及軟件模塊組合執(zhí)行完成。軟件模塊可以位于隨機(jī)存儲器,閃存、只讀存儲器,可編程只讀存儲器或者電可擦寫可編程存儲器、寄存器等本領(lǐng)域成熟的存儲介質(zhì)中。該存儲介質(zhì)位于存儲器1103,處理器1102讀取存儲器1103中的信息,結(jié)合其硬件完成上述方法的步驟。
數(shù)據(jù)處理裝置1100還可執(zhí)行圖4的方法,并實現(xiàn)管理者節(jié)點或數(shù)據(jù)處理裝置。
實施例6
圖12為本申請實施例提供的一種電子設(shè)備的示意結(jié)構(gòu)圖。如圖12所示,在硬件層面,該電子設(shè)備包括處理器、內(nèi)部總線、網(wǎng)絡(luò)接口、內(nèi)存以及非易失性存儲器,當(dāng)然還可能包括其他業(yè)務(wù)所需要的硬件。處理器從非易失性存儲器中讀取對應(yīng)的計算機(jī)程序到內(nèi)存中然后運行,在邏輯層面上形成數(shù)據(jù)處理裝置。當(dāng)然,除了軟件實現(xiàn)方式之外,本申請并不排除其他實現(xiàn)方式,比如邏輯器件抑或軟硬件結(jié)合的方式等等,也就是說以下處理流程的執(zhí)行主體并不限定于各個邏輯單元,也可以是硬件或邏輯器件。
圖13為本申請實施例提供的一種數(shù)據(jù)處理裝置的結(jié)構(gòu)示意圖。裝置1300應(yīng)用在葉子節(jié)點服務(wù)器中,所述裝置1300包括:接收單元1301和數(shù)據(jù)處理單元1302,其中:
接收單元1301,用于接收非葉子節(jié)點服務(wù)器發(fā)送的額度id值,其中,所述額度id值是所述非葉子節(jié)點服務(wù)器從根節(jié)點服務(wù)器處接收得到的;
數(shù)據(jù)處理單元1302,用于根據(jù)所述額度id值,針對預(yù)設(shè)時長內(nèi)的額度請求進(jìn)行數(shù)據(jù)處理。
可選地,所述數(shù)據(jù)處理單元1302根據(jù)所述額度id值,針對預(yù)設(shè)時長內(nèi)的額度請求進(jìn)行數(shù)據(jù)處理,包括:
判斷所述額度id值的數(shù)量是否小于所述額度請求的數(shù)量;
根據(jù)判斷結(jié)果進(jìn)行數(shù)據(jù)處理。
可選地,所述數(shù)據(jù)處理單元1302根據(jù)判斷結(jié)果進(jìn)行數(shù)據(jù)處理,包括:
當(dāng)所述額度id值的數(shù)量不小于所述額度請求的數(shù)量時,對所述額度id值對應(yīng)的數(shù)據(jù)庫執(zhí)行減額度處理;
對于所述額度請求,返回確認(rèn)消息。
可選地,所述數(shù)據(jù)處理單元1302根據(jù)判斷結(jié)果進(jìn)行數(shù)據(jù)處理,包括:
當(dāng)所述額度id值的數(shù)量小于所述額度請求的數(shù)量時,確定任一所述額度請求的請求時間;
根據(jù)所述請求時間,對所述額度請求進(jìn)行由早到晚的排序,確定額度請求列表;
將所述額度請求列表中排在前面與所述額度id值相等數(shù)量的額度請求確定為可處理額度請求,以及將所述額度請求列表中其他的額度請求確定為不可處理額度請求;
對所述額度id值對應(yīng)的數(shù)據(jù)庫執(zhí)行減額度處理;
對于所述可處理額度請求,返回確認(rèn)消息,以及對于所述不可處理額度請求,返回額度不足消息。
根據(jù)應(yīng)用在葉子節(jié)點服務(wù)器中的所述數(shù)據(jù)處理裝置,接收單元用于接收非葉子節(jié)點服務(wù)器發(fā)送的額度id值,其中,所述額度id值是所述非葉子節(jié)點服務(wù)器從根節(jié)點服務(wù)器處接收得到的;數(shù)據(jù)處理單元用于根據(jù)所述額度id值,針對預(yù)設(shè)時長內(nèi)的額度請求進(jìn)行數(shù)據(jù)處理,在高并發(fā)的額度請求下,能夠有效提高數(shù)據(jù)處理的效率,從而滿足高并發(fā)的額度數(shù)據(jù)處理請求的需求。
圖14為本申請實施例提供的一種數(shù)據(jù)處理裝置的結(jié)構(gòu)示意圖。數(shù)據(jù)處理裝置1400可包括:通道接口1401和處理器1402,可選地,包括存儲器1403。
通道接口1401、處理器1402和存儲器1403可以通過總線1404系統(tǒng)相互連接??偩€1404可以是isa(industrystandardarchitecture,工業(yè)標(biāo)準(zhǔn)體系結(jié)構(gòu))總線、pci(peripheralcomponentinterconnect,外設(shè)部件互連標(biāo)準(zhǔn))總線或eisa(extendedindustrystandardarchitecture,擴(kuò)展工業(yè)標(biāo)準(zhǔn)結(jié)構(gòu))總線等。所述總線可以分為地址總線、數(shù)據(jù)總線、控制總線等。為便于表示,圖14中僅用一個雙向箭頭表示,但并不表示僅有一根總線或一種類型的總線。
可選地,包括存儲器1403,用于存放程序。具體地,程序可以包括程序代碼,所述程序代碼包括計算機(jī)操作指令。存儲器1403可以包括只讀存儲器和隨機(jī)存取存儲器,并向處理器1402提供指令和數(shù)據(jù)。存儲器1403可能包含高速隨機(jī)存取存儲器(random-accessmemory,ram),也可能還包括非易失性存儲器(non-volatilememory),例如至少1個磁盤存儲器。
處理器1402,用于執(zhí)行以下操作,可選地,執(zhí)行存儲器803所存放的程序,并具體用于執(zhí)行以下操作:
接收非葉子節(jié)點服務(wù)器發(fā)送的額度id值,其中,所述額度id值是所述非葉子節(jié)點服務(wù)器從根節(jié)點服務(wù)器處接收得到的;
根據(jù)所述額度id值,針對預(yù)設(shè)時長內(nèi)的額度請求進(jìn)行數(shù)據(jù)處理。
上述如本申請圖5和圖12-13所示實施例揭示的數(shù)據(jù)處理裝置或管理者(master)節(jié)點執(zhí)行的方法可以應(yīng)用于處理器1402中,或者由處理器1402實現(xiàn)。處理器1402可能是一種集成電路芯片,具有信號的處理能力。在實現(xiàn)過程中,上述方法的各步驟可以通過處理器1402中的硬件的集成邏輯電路或者軟件形式的指令完成。上述的處理器1402可以是通用處理器,包括中央處理器(centralprocessingunit,cpu)、網(wǎng)絡(luò)處理器(networkprocessor,np)等;還可以是數(shù)字信號處理器(digitalsignalprocessor,dsp)、專用集成電路(applicationspecificintegratedcircuit,asic)、現(xiàn)場可編程門陣列(field-programmablegatearray,fpga)或者其他可編程邏輯器件、分立門或者晶體管邏輯器件、分立硬件組件??梢詫崿F(xiàn)或者執(zhí)行本申請實施例中的公開的各方法、步驟及邏輯框圖。通用處理器可以是微處理器或者該處理器也可以是任何常規(guī)的處理器等。結(jié)合本申請實施例所公開的方法的步驟可以直接體現(xiàn)為硬件譯碼處理器執(zhí)行完成,或者用譯碼處理器中的硬件及軟件模塊組合執(zhí)行完成。軟件模塊可以位于隨機(jī)存儲器,閃存、只讀存儲器,可編程只讀存儲器或者電可擦寫可編程存儲器、寄存器等本領(lǐng)域成熟的存儲介質(zhì)中。該存儲介質(zhì)位于存儲器1403,處理器1402讀取存儲器1403中的信息,結(jié)合其硬件完成上述方法的步驟。
數(shù)據(jù)處理裝置1400還可執(zhí)行圖5的方法,并實現(xiàn)管理者節(jié)點或數(shù)據(jù)處理裝置在圖12、圖13所示實施例的功能,本申請實施例在此不再贅述。
實施例7
本申請實施例還提出了一種計算機(jī)可讀存儲介質(zhì),該計算機(jī)可讀存儲介質(zhì)存儲一個或多個程序,該一個或多個程序包括指令,該指令當(dāng)被包括多個應(yīng)用程序的便攜式電子設(shè)備執(zhí)行時,能夠使該便攜式電子設(shè)備執(zhí)行實施例一的方法。
實施例8
圖15為本申請實施例提供的一種數(shù)據(jù)處理系統(tǒng)的結(jié)構(gòu)示意圖。
系統(tǒng)1500包括:應(yīng)用在非葉子節(jié)點服務(wù)器中的數(shù)據(jù)處理裝置700、應(yīng)用在根節(jié)點服務(wù)器中的數(shù)據(jù)處理裝置1000和應(yīng)用在葉子節(jié)點服務(wù)器中的數(shù)據(jù)處理裝置1300。
總之,以上所述僅為本申請的較佳實施例而已,并非用于限定本申請的保護(hù)范圍。凡在本申請的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本申請的保護(hù)范圍之內(nèi)。
在20世紀(jì)90年代,對于一個技術(shù)的改進(jìn)可以很明顯地區(qū)分是硬件上的改進(jìn)(例如,對二極管、晶體管、開關(guān)等電路結(jié)構(gòu)的改進(jìn))還是軟件上的改進(jìn)(對于方法流程的改進(jìn))。然而,隨著技術(shù)的發(fā)展,當(dāng)今的很多方法流程的改進(jìn)已經(jīng)可以視為硬件電路結(jié)構(gòu)的直接改進(jìn)。設(shè)計人員幾乎都通過將改進(jìn)的方法流程編程到硬件電路中來得到相應(yīng)的硬件電路結(jié)構(gòu)。因此,不能說一個方法流程的改進(jìn)就不能用硬件實體模塊來實現(xiàn)。例如,可編程邏輯器件(programmablelogicdevice,pld)(例如:現(xiàn)場可編程門陣列(fieldprogrammablegatearray,fpga))就是這樣一種集成電路,其邏輯功能由用戶對器件編程來確定。由設(shè)計人員自行編程來把一個數(shù)字系統(tǒng)“集成”在一片pld上,而不需要請芯片制造廠商來設(shè)計和制作專用的集成電路芯片。而且,如今,取代手工地制作集成電路芯片,這種編程也多半改用“邏輯編譯器(logiccompiler)”軟件來實現(xiàn),它與程序開發(fā)撰寫時所用的軟件編譯器相類似,而要編譯之前的原始代碼也得用特定的編程語言來撰寫,此稱之為硬件描述語言(hardwaredescriptionlanguage,hdl),而hdl也并非僅有一種,而是有許多種,如abel(advancedbooleanexpressionlanguage)、ahdl(alterahardwaredescriptionlanguage)、confluence、cupl(cornelluniversityprogramminglanguage)、hdcal、jhdl(javahardwaredescriptionlanguage)、lava、lola、myhdl、palasm、rhdl(rubyhardwaredescriptionlanguage)等,目前最普遍使用的是vhdl(very-high-speedintegratedcircuithardwaredescriptionlanguage)與verilog。本領(lǐng)域技術(shù)人員也應(yīng)該清楚,只需要將方法流程用上述幾種硬件描述語言稍作邏輯編程并編程到集成電路中,就可以很容易得到實現(xiàn)該邏輯方法流程的硬件電路。
控制器可以按任何適當(dāng)?shù)姆绞綄崿F(xiàn),例如,控制器可以采取例如微處理器或處理器以及存儲可由該(微)處理器執(zhí)行的計算機(jī)可讀程序代碼(例如軟件或固件)的計算機(jī)可讀介質(zhì)、邏輯門、開關(guān)、專用集成電路(applicationspecificintegratedcircuit,asic)、可編程邏輯控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:arc625d、atmelat91sam、microchippic18f26k20以及siliconelabsc8051f320,存儲器控制器還可以被實現(xiàn)為存儲器的控制邏輯的一部分。本領(lǐng)域技術(shù)人員也知道,除了以純計算機(jī)可讀程序代碼方式實現(xiàn)控制器以外,完全可以通過將方法步驟進(jìn)行邏輯編程來使得控制器以邏輯門、開關(guān)、專用集成電路、可編程邏輯控制器和嵌入微控制器等的形式來實現(xiàn)相同功能。因此這種控制器可以被認(rèn)為是一種硬件部件,而對其內(nèi)包括的用于實現(xiàn)各種功能的裝置也可以視為硬件部件內(nèi)的結(jié)構(gòu)。或者甚至,可以將用于實現(xiàn)各種功能的裝置視為既可以是實現(xiàn)方法的軟件模塊又可以是硬件部件內(nèi)的結(jié)構(gòu)。
上述實施例闡明的系統(tǒng)、裝置、模塊或單元,具體可以由計算機(jī)芯片或?qū)嶓w實現(xiàn),或者由具有某種功能的產(chǎn)品來實現(xiàn)。一種典型的實現(xiàn)設(shè)備為計算機(jī)。具體的,計算機(jī)例如可以為個人計算機(jī)、膝上型計算機(jī)、蜂窩電話、相機(jī)電話、智能電話、個人數(shù)字助理、媒體播放器、導(dǎo)航設(shè)備、電子郵件設(shè)備、游戲控制臺、平板計算機(jī)、可穿戴設(shè)備或者這些設(shè)備中的任何設(shè)備的組合。
為了描述的方便,描述以上裝置時以功能分為各種單元分別描述。當(dāng)然,在實施本申請時可以把各單元的功能在同一個或多個軟件和/或硬件中實現(xiàn)。
本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本申請的實施例可提供為方法、系統(tǒng)、或計算機(jī)程序產(chǎn)品。因此,本申請可采用完全硬件實施例、完全軟件實施例、或結(jié)合軟件和硬件方面的實施例的形式。而且,本申請可采用在一個或多個其中包含有計算機(jī)可用程序代碼的計算機(jī)可用存儲介質(zhì)(包括但不限于磁盤存儲器、cd-rom、光學(xué)存儲器等)上實施的計算機(jī)程序產(chǎn)品的形式。
本申請是參照根據(jù)本申請實施例的方法、設(shè)備(系統(tǒng))、和計算機(jī)程序產(chǎn)品的流程圖和/或方框圖來描述的。應(yīng)理解可由計算機(jī)程序指令實現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合。可提供這些計算機(jī)程序指令到通用計算機(jī)、專用計算機(jī)、嵌入式處理機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個機(jī)器,使得通過計算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。
這些計算機(jī)程序指令也可存儲在能引導(dǎo)計算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計算機(jī)可讀存儲器中,使得存儲在該計算機(jī)可讀存儲器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。
這些計算機(jī)程序指令也可裝載到計算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計算機(jī)或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計算機(jī)實現(xiàn)的處理,從而在計算機(jī)或其他可編程設(shè)備上執(zhí)行的指令提供用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。
在一個典型的配置中,計算設(shè)備包括一個或多個處理器(cpu)、輸入/輸出接口、網(wǎng)絡(luò)接口和內(nèi)存。
內(nèi)存可能包括計算機(jī)可讀介質(zhì)中的非永久性存儲器,隨機(jī)存取存儲器(ram)和/或非易失性內(nèi)存等形式,如只讀存儲器(rom)或閃存(flashram)。內(nèi)存是計算機(jī)可讀介質(zhì)的示例。
計算機(jī)可讀介質(zhì)包括永久性和非永久性、可移動和非可移動媒體可以由任何方法或技術(shù)來實現(xiàn)信息存儲。信息可以是計算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序的模塊或其他數(shù)據(jù)。計算機(jī)的存儲介質(zhì)的例子包括,但不限于相變內(nèi)存(pram)、靜態(tài)隨機(jī)存取存儲器(sram)、動態(tài)隨機(jī)存取存儲器(dram)、其他類型的隨機(jī)存取存儲器(ram)、只讀存儲器(rom)、電可擦除可編程只讀存儲器(eeprom)、快閃記憶體或其他內(nèi)存技術(shù)、只讀光盤只讀存儲器(cd-rom)、數(shù)字多功能光盤(dvd)或其他光學(xué)存儲、磁盒式磁帶,磁帶磁磁盤存儲或其他磁性存儲設(shè)備或任何其他非傳輸介質(zhì),可用于存儲可以被計算設(shè)備訪問的信息。按照本文中的界定,計算機(jī)可讀介質(zhì)不包括暫存電腦可讀媒體(transitorymedia),如調(diào)制的數(shù)據(jù)信號和載波。
還需要說明的是,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、商品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、商品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括所述要素的過程、方法、商品或者設(shè)備中還存在另外的相同要素。
本領(lǐng)域技術(shù)人員應(yīng)明白,本申請的實施例可提供為方法、系統(tǒng)或計算機(jī)程序產(chǎn)品。因此,本申請可采用完全硬件實施例、完全軟件實施例或結(jié)合軟件和硬件方面的實施例的形式。而且,本申請可采用在一個或多個其中包含有計算機(jī)可用程序代碼的計算機(jī)可用存儲介質(zhì)(包括但不限于磁盤存儲器、cd-rom、光學(xué)存儲器等)上實施的計算機(jī)程序產(chǎn)品的形式。
本申請可以在由計算機(jī)執(zhí)行的計算機(jī)可執(zhí)行指令的一般上下文中描述,例如程序模塊。一般地,程序模塊包括執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類型的例程、程序、對象、組件、數(shù)據(jù)結(jié)構(gòu)等等。也可以在分布式計算環(huán)境中實踐本申請,在這些分布式計算環(huán)境中,由通過通信網(wǎng)絡(luò)而被連接的遠(yuǎn)程處理設(shè)備來執(zhí)行任務(wù)。在分布式計算環(huán)境中,程序模塊可以位于包括存儲設(shè)備在內(nèi)的本地和遠(yuǎn)程計算機(jī)存儲介質(zhì)中。
本說明書中的各個實施例均采用遞進(jìn)的方式描述,各個實施例之間相同相似的部分互相參見即可,每個實施例重點說明的都是與其他實施例的不同之處。尤其,對于系統(tǒng)實施例而言,由于其基本相似于方法實施例,所以描述的比較簡單,相關(guān)之處參見方法實施例的部分說明即可。
以上所述僅為本申請的實施例而已,并不用于限制本申請。對于本領(lǐng)域技術(shù)人員來說,本申請可以有各種更改和變化。凡在本申請的精神和原理之內(nèi)所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本申請的權(quán)利要求范圍之內(nèi)。