一種賬戶處理方法及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本申請(qǐng)涉及數(shù)據(jù)處理技術(shù)領(lǐng)域,尤其涉及一種賬戶處理方法及裝置。
【背景技術(shù)】
[0002]在支付系統(tǒng)中,針對(duì)同一賬戶的余額變更等記賬操作遵循串行化處理的原則。即,針對(duì)同一賬戶,無論同時(shí)并發(fā)多少個(gè)記賬操作請(qǐng)求,在同一時(shí)間點(diǎn)只有一個(gè)記賬操作能夠執(zhí)行。在記賬操作過程中,需要使用排它鎖對(duì)該賬戶進(jìn)行鎖定,每個(gè)賬戶只能使用一個(gè)排它鎖。這種串行化處理的方式可以防止因同時(shí)對(duì)該賬戶執(zhí)行多個(gè)記賬操作導(dǎo)致操作結(jié)果出錯(cuò)而造成資金損失。
[0003]上述串行化處理的方式雖然可以避免因并發(fā)操作造成的資金損失風(fēng)險(xiǎn),但卻無法提高記賬操作效率。在這種方式下,當(dāng)應(yīng)用系統(tǒng)需要對(duì)某個(gè)賬戶執(zhí)行多個(gè)記賬操作時(shí),受理每個(gè)記賬操作的應(yīng)用線程中只有一個(gè)應(yīng)用線程能夠獲取到該賬戶的排它鎖,受理其它記賬操作的應(yīng)用線程只有在該排它鎖被釋放后才能進(jìn)行記賬操作。在這個(gè)過程中,未獲取到排它鎖的應(yīng)用線程必須將進(jìn)行記賬操作的應(yīng)用資源掛起,排隊(duì)等待獲取排它鎖。由于應(yīng)用線程資源無法釋放,在針對(duì)該賬戶的并發(fā)記賬操作請(qǐng)求較多時(shí),很有可能導(dǎo)致應(yīng)用系統(tǒng)崩潰。
[0004]綜上,當(dāng)前的串行化處理方式對(duì)賬戶進(jìn)行記賬操作的效率較低,當(dāng)并發(fā)記賬操作請(qǐng)求較多時(shí),執(zhí)行記賬操作的應(yīng)用系統(tǒng)容易崩潰,從而導(dǎo)致業(yè)務(wù)處理失敗。
【發(fā)明內(nèi)容】
[0005]本申請(qǐng)實(shí)施例提供一種賬戶處理方法及裝置,用以解決現(xiàn)有的串行化處理方式對(duì)賬戶進(jìn)行記賬操作的效率較低的問題。
[0006]本申請(qǐng)實(shí)施例提供的一種賬戶處理方法,包括:
[0007]將主賬戶拆分成多個(gè)子賬戶,其中,所有子賬戶的余額的總和等于所述主賬戶的余額;
[0008]在接收到應(yīng)用系統(tǒng)發(fā)送的針對(duì)所述主賬戶的記賬操作請(qǐng)求后,向所述應(yīng)用系統(tǒng)發(fā)送所述主賬戶的子賬戶信息,所述子賬戶信息用于所述應(yīng)用系統(tǒng)對(duì)所述主賬戶的子賬戶執(zhí)行記賬操作。
[0009]可選地,所述將主賬戶拆分成多個(gè)子賬戶,包括:在確定當(dāng)前處于針對(duì)所述主賬戶的記賬操作并發(fā)高峰期時(shí),將所述主賬戶拆分成多個(gè)子賬戶。
[0010]可選地,根據(jù)以下步驟確定針對(duì)所述主賬戶的記賬操作并發(fā)高峰期:
[0011]從系統(tǒng)處理日志中提取針對(duì)所述主賬戶的記賬操作信息,根據(jù)提取的所述記賬操作信息中的記賬時(shí)間信息,確定針對(duì)所述主賬戶的記賬操作并發(fā)高峰期。
[0012]可選地,根據(jù)提取的所述記賬操作信息中的記賬時(shí)間信息,確定針對(duì)所述主賬戶的記賬操作并發(fā)高峰期,包括:
[0013]將在每個(gè)預(yù)設(shè)時(shí)間段內(nèi)針對(duì)該主賬戶的記賬次數(shù)與預(yù)設(shè)值進(jìn)行比較,當(dāng)在任一預(yù)設(shè)時(shí)間段內(nèi)針對(duì)該主賬戶的記賬次數(shù)大于等于預(yù)設(shè)值時(shí),確定該任一預(yù)設(shè)時(shí)間段為針對(duì)該主賬戶的記賬操作并發(fā)高峰期。
[0014]可選地,所述將主賬戶拆分成多個(gè)子賬戶之后,還包括:在確定當(dāng)前不處于針對(duì)所述主賬戶的記賬操作并發(fā)高峰期時(shí),將所述主賬戶的各個(gè)子賬戶的余額合并至主賬戶。
[0015]可選地,所述將所述主賬戶的各個(gè)子賬戶的余額合并至主賬戶之后,還包括:刪除所述主賬戶的各個(gè)子賬戶。
[0016]可選地,所述將所述主賬戶拆分成多個(gè)子賬戶,包括:
[0017]根據(jù)預(yù)設(shè)的子賬戶個(gè)數(shù),將所述主賬戶拆分成具有相同余額的多個(gè)子賬戶;或,
[0018]根據(jù)多種預(yù)設(shè)的子賬戶余額和具有每種預(yù)設(shè)的子賬戶余額的子賬戶個(gè)數(shù),將所述主賬戶拆分成多個(gè)子賬戶。
[0019]可選地,在接收到應(yīng)用系統(tǒng)發(fā)送的針對(duì)所述主賬戶的記賬操作請(qǐng)求后,向所述應(yīng)用系統(tǒng)發(fā)送所述主賬戶的子賬戶信息,包括:
[0020]若將所述主賬戶拆分成具有相同余額的多個(gè)子賬戶,則在接收到應(yīng)用系統(tǒng)發(fā)送的針對(duì)所述主賬戶的記賬操作請(qǐng)求后,向所述應(yīng)用系統(tǒng)發(fā)送所述主賬戶的至少一個(gè)子賬戶的子賬戶信息;
[0021]若根據(jù)多種預(yù)設(shè)的子賬戶余額和具有每種預(yù)設(shè)的子賬戶余額的子賬戶個(gè)數(shù),將所述主賬戶拆分成多個(gè)子賬戶,則在接收到應(yīng)用系統(tǒng)發(fā)送的針對(duì)所述主賬戶的記賬操作請(qǐng)求后,從多種預(yù)設(shè)的子賬戶余額中選擇符合所述記賬操作請(qǐng)求的記賬金額的子賬戶余額,并向所述應(yīng)用系統(tǒng)發(fā)送具有選擇的所述子賬戶余額的至少一個(gè)子賬戶的子賬戶信息。
[0022]可選地,在將所述主賬戶拆分成多個(gè)子賬戶之后,還包括:
[0023]若接收到針對(duì)所述主賬戶的余額查詢請(qǐng)求,則確定所述主賬戶的各個(gè)子賬戶的余額的總和,并反饋確定的所述各個(gè)子賬戶的余額的總和。
[0024]本申請(qǐng)實(shí)施例提供一種賬戶處理裝置,包括:
[0025]拆分模塊,用于將主賬戶拆分成多個(gè)子賬戶,其中,所有子賬戶的余額的總和等于所述主賬戶的余額;
[0026]發(fā)送模塊,用于在接收到應(yīng)用系統(tǒng)發(fā)送的針對(duì)所述主賬戶的記賬操作請(qǐng)求后,向所述應(yīng)用系統(tǒng)發(fā)送所述主賬戶的子賬戶信息,所述子賬戶信息用于所述應(yīng)用系統(tǒng)對(duì)所述主賬戶的子賬戶執(zhí)行記賬操作。
[0027]采用本申請(qǐng)實(shí)施例提供的上述賬戶處理方法及裝置,將該主賬戶拆分成多個(gè)子賬戶,應(yīng)用系統(tǒng)可以對(duì)不同的子賬戶并行執(zhí)行記賬操作,從而提高了針對(duì)該主賬戶的記賬操作效率,避免了因?qū)υ撝髻~戶的并發(fā)記賬操作請(qǐng)求過多而導(dǎo)致執(zhí)行記賬操作的應(yīng)用系統(tǒng)崩潰,進(jìn)而導(dǎo)致業(yè)務(wù)處理失敗的情況發(fā)生。
【附圖說明】
[0028]為了更清楚地說明本發(fā)明實(shí)施例中的技術(shù)方案,下面將對(duì)實(shí)施例描述中所需要使用的附圖作簡(jiǎn)要介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域的普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0029]圖1為本申請(qǐng)實(shí)施例進(jìn)行賬戶處理的系統(tǒng)結(jié)構(gòu)示意圖;
[0030]圖2為本申請(qǐng)實(shí)施例一提供的賬戶處理方法流程圖;
[0031]圖3為本申請(qǐng)實(shí)施例二提供的賬戶處理方法流程圖;
[0032]圖4為本申請(qǐng)實(shí)施例三提供的賬戶處理方法流程圖;
[0033]圖5為本申請(qǐng)實(shí)施例四提供的賬戶處理方法流程圖;
[0034]圖6為本申請(qǐng)實(shí)施例五提供的賬戶處理方法流程圖;
[0035]圖7a為在進(jìn)行賬戶拆分之前的記賬操作示意圖;
[0036]圖7b為在進(jìn)行賬戶拆分之后的記賬操作示意圖;
[0037]圖8為本申請(qǐng)實(shí)施例六提供的賬戶處理裝置結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0038]本申請(qǐng)實(shí)施例的基本思想是:將主賬戶拆分成多個(gè)子賬戶,在接收到應(yīng)用系統(tǒng)發(fā)送的針對(duì)該主賬戶的記賬操作請(qǐng)求后,向應(yīng)用系統(tǒng)發(fā)送該主賬戶的子賬戶信息,使得應(yīng)用系統(tǒng)對(duì)該主賬戶的子賬戶執(zhí)行記賬操作。本申請(qǐng)實(shí)施例由于將主賬戶拆分成了多個(gè)子賬戶,應(yīng)用系統(tǒng)可以對(duì)該主賬戶的多個(gè)子賬戶并行執(zhí)行記賬操作,從而可以提高對(duì)主賬戶的記賬操作效率,避免因?qū)υ撝髻~戶的并發(fā)記賬操作請(qǐng)求過多而導(dǎo)致執(zhí)行記賬操作的應(yīng)用系統(tǒng)崩潰,從而有效避免業(yè)務(wù)處理失敗的情況發(fā)生。
[0039]本申請(qǐng)實(shí)施例的執(zhí)行主體可稱為賬戶管理系統(tǒng)。如圖1所示,為本申請(qǐng)實(shí)施例進(jìn)行賬戶處理的系統(tǒng)結(jié)構(gòu)示意圖。本申請(qǐng)實(shí)施例涉及應(yīng)用系統(tǒng)和賬戶管理系統(tǒng)之間的交互,應(yīng)用系統(tǒng)向賬戶管理系統(tǒng)發(fā)送針對(duì)主賬戶的記賬操作請(qǐng)求,賬戶管理系統(tǒng)向應(yīng)用系統(tǒng)發(fā)送該主賬戶的子賬戶信息,應(yīng)用系統(tǒng)對(duì)該主賬戶的子賬戶執(zhí)行記賬操作。
[0040]下面結(jié)合說明書附圖對(duì)本申請(qǐng)實(shí)施例作進(jìn)一步詳細(xì)描述。
[0041]如圖2所示,為本申請(qǐng)實(shí)施例一提供的賬戶處理方法流程圖,包括以下步驟:
[0042]S201:將主賬戶拆分成多個(gè)子賬戶,其中,所有子賬戶的余額的總和等于所述主賬戶的余額。
[0043]該步驟中,按照各個(gè)子賬戶的余額的總和等于主賬戶的余額的原則,