欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種業(yè)務(wù)批處理方法、業(yè)務(wù)服務(wù)器以及系統(tǒng)的制作方法

文檔序號:6623780閱讀:295來源:國知局
一種業(yè)務(wù)批處理方法、業(yè)務(wù)服務(wù)器以及系統(tǒng)的制作方法
【專利摘要】本發(fā)明實(shí)施例公開了一種業(yè)務(wù)批處理方法、業(yè)務(wù)服務(wù)器以及系統(tǒng),其中所述業(yè)務(wù)批處理方法包括:集群服務(wù)器中的業(yè)務(wù)服務(wù)器獲取數(shù)據(jù)庫管理服務(wù)器發(fā)送的批處理業(yè)務(wù)的當(dāng)前步驟標(biāo)識(shí);向數(shù)據(jù)庫管理服務(wù)器發(fā)送加鎖請求,以使數(shù)據(jù)庫管理服務(wù)器根據(jù)首個(gè)加鎖請求將批處理業(yè)務(wù)加上排它鎖;更新當(dāng)前步驟標(biāo)識(shí),并執(zhí)行經(jīng)過更新的步驟標(biāo)識(shí)對應(yīng)的業(yè)務(wù)步驟以獲取業(yè)務(wù)步驟的執(zhí)行結(jié)果;根據(jù)執(zhí)行結(jié)果通知數(shù)據(jù)庫管理服務(wù)器更新批處理業(yè)務(wù)的運(yùn)行狀態(tài),包括更新運(yùn)行狀態(tài)中的當(dāng)前步驟標(biāo)識(shí)。采用本發(fā)明實(shí)施例,可由集群部署的多臺(tái)業(yè)務(wù)服務(wù)器通過爭搶模式對批處理業(yè)務(wù)中的各個(gè)業(yè)務(wù)步驟進(jìn)行爭搶并執(zhí)行,以便于集群部署的多個(gè)業(yè)務(wù)服務(wù)器負(fù)載均衡,并提升工作效率。
【專利說明】一種業(yè)務(wù)批處理方法、業(yè)務(wù)服務(wù)器以及系統(tǒng)

【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通信【技術(shù)領(lǐng)域】,尤其涉及一種業(yè)務(wù)批處理方法、業(yè)務(wù)服務(wù)器以及系統(tǒng)。

【背景技術(shù)】
[0002]批處理就是對某對象進(jìn)行批量的處理,例如,通過風(fēng)控強(qiáng)平批處理對大量賬戶交易數(shù)據(jù)進(jìn)行個(gè)人賬戶的保證金重估,通過清算批處理進(jìn)行交易清算,等等,批處理一般包括多個(gè)執(zhí)行步驟,現(xiàn)有的業(yè)務(wù)批處理需要業(yè)務(wù)人員啟動(dòng)針對該業(yè)務(wù)的批處理,一個(gè)業(yè)務(wù)服務(wù)器執(zhí)行該業(yè)務(wù)批處理的一個(gè)步驟后,需要業(yè)務(wù)人員啟動(dòng)下一個(gè)步驟,該業(yè)務(wù)服務(wù)器進(jìn)一步執(zhí)行業(yè)務(wù)人員啟動(dòng)的下一個(gè)步驟,工作效率較低。


【發(fā)明內(nèi)容】

[0003]本發(fā)明實(shí)施例所要解決的技術(shù)問題在于,提供一種業(yè)務(wù)批處理方法、業(yè)務(wù)服務(wù)器以及系統(tǒng),可提升工作效率。
[0004]為了解決上述技術(shù)問題,本發(fā)明實(shí)施例提供了一種業(yè)務(wù)批處理方法,包括:
[0005]集群服務(wù)器中的業(yè)務(wù)服務(wù)器獲取數(shù)據(jù)庫管理服務(wù)器發(fā)送的批處理業(yè)務(wù)的當(dāng)前步驟標(biāo)識(shí);
[0006]所述集群服務(wù)器中的業(yè)務(wù)服務(wù)器向所述數(shù)據(jù)庫管理服務(wù)器發(fā)送加鎖請求,以使所述數(shù)據(jù)庫管理服務(wù)器根據(jù)首個(gè)加鎖請求將所述批處理業(yè)務(wù)加上排它鎖,所述排它鎖用于防止所述首個(gè)加鎖請求對應(yīng)的業(yè)務(wù)服務(wù)器以外的其他業(yè)務(wù)服務(wù)器對所述當(dāng)前步驟標(biāo)識(shí)進(jìn)行更新;
[0007]所述業(yè)務(wù)服務(wù)器更新所述當(dāng)前步驟標(biāo)識(shí),并執(zhí)行所述批處理業(yè)務(wù)中所述經(jīng)過更新的步驟標(biāo)識(shí)對應(yīng)的業(yè)務(wù)步驟以獲取所述業(yè)務(wù)步驟的執(zhí)行結(jié)果;
[0008]所述業(yè)務(wù)服務(wù)器根據(jù)所述業(yè)務(wù)步驟的執(zhí)行結(jié)果通知所述數(shù)據(jù)庫管理服務(wù)器更新所述批處理業(yè)務(wù)的運(yùn)行狀態(tài),包括更新所述運(yùn)行狀態(tài)中的所述當(dāng)前步驟標(biāo)識(shí),所述數(shù)據(jù)庫管理服務(wù)器釋放所述排它鎖并向集群服務(wù)器中的業(yè)務(wù)服務(wù)器發(fā)送所述經(jīng)過更新的步驟標(biāo)識(shí)。
[0009]相應(yīng)地,本發(fā)明實(shí)施例還提供了一種業(yè)務(wù)服務(wù)器,包括:
[0010]步驟標(biāo)識(shí)獲取單元,用于獲取數(shù)據(jù)庫管理服務(wù)器發(fā)送的批處理業(yè)務(wù)的當(dāng)前步驟標(biāo)識(shí);
[0011]加鎖請求發(fā)送單元,用于向所述數(shù)據(jù)庫管理服務(wù)器發(fā)送加鎖請求,以使所述數(shù)據(jù)庫管理服務(wù)器根據(jù)首個(gè)加鎖請求將所述批處理業(yè)務(wù)加上排它鎖,所述排它鎖用于防止所述首個(gè)加鎖請求對應(yīng)的業(yè)務(wù)服務(wù)器以外的其他業(yè)務(wù)服務(wù)器對所述當(dāng)前步驟標(biāo)識(shí)進(jìn)行更新;
[0012]執(zhí)行結(jié)果獲取單元,用于更新所述當(dāng)前步驟標(biāo)識(shí),并執(zhí)行所述批處理業(yè)務(wù)中所述經(jīng)過更新的步驟標(biāo)識(shí)對應(yīng)的業(yè)務(wù)步驟以獲取所述業(yè)務(wù)步驟的執(zhí)行結(jié)果;
[0013]通知單元,用于根據(jù)所述業(yè)務(wù)步驟的執(zhí)行結(jié)果通知所述數(shù)據(jù)庫管理服務(wù)器更新所述批處理業(yè)務(wù)的運(yùn)行狀態(tài),包括更新所述運(yùn)行狀態(tài)中的所述當(dāng)前步驟標(biāo)識(shí),所述數(shù)據(jù)庫管理服務(wù)器釋放所述排它鎖并向集群服務(wù)器中的業(yè)務(wù)服務(wù)器發(fā)送所述經(jīng)過更新的步驟標(biāo)識(shí)。
[0014]相應(yīng)地,本發(fā)明實(shí)施例還提供了一種業(yè)務(wù)批處理系統(tǒng),包括業(yè)務(wù)服務(wù)器和數(shù)據(jù)庫管理服務(wù)器,其中:
[0015]所述業(yè)務(wù)服務(wù)器,用于獲取所述數(shù)據(jù)庫管理服務(wù)器發(fā)送的批處理業(yè)務(wù)的當(dāng)前步驟標(biāo)識(shí),向所述數(shù)據(jù)庫管理服務(wù)器發(fā)送加鎖請求;
[0016]所述數(shù)據(jù)庫管理服務(wù)器,用于根據(jù)首個(gè)加鎖請求將所述批處理業(yè)務(wù)加上排它鎖,所述排它鎖用于防止所述首個(gè)加鎖請求對應(yīng)的業(yè)務(wù)服務(wù)器以外的其他業(yè)務(wù)服務(wù)器對所述當(dāng)前步驟標(biāo)識(shí)進(jìn)行更新;
[0017]所述業(yè)務(wù)服務(wù)器,用于更新所述當(dāng)前步驟標(biāo)識(shí),并執(zhí)行所述批處理業(yè)務(wù)中所述經(jīng)過更新的步驟標(biāo)識(shí)對應(yīng)的業(yè)務(wù)步驟以獲取所述業(yè)務(wù)步驟的執(zhí)行結(jié)果;根據(jù)所述業(yè)務(wù)步驟的執(zhí)行結(jié)果通知所述數(shù)據(jù)庫管理服務(wù)器更新所述批處理業(yè)務(wù)的運(yùn)行狀態(tài),包括更新所述運(yùn)行狀態(tài)中的所述當(dāng)前步驟標(biāo)識(shí);
[0018]所述數(shù)據(jù)庫管理服務(wù)器,用于更新所述批處理業(yè)務(wù)的運(yùn)行狀態(tài),包括更新所述運(yùn)行狀態(tài)中的所述當(dāng)前步驟標(biāo)識(shí),釋放所述排它鎖并向集群服務(wù)器中的業(yè)務(wù)服務(wù)器發(fā)送所述經(jīng)過更新的步驟標(biāo)識(shí)。
[0019]實(shí)施本發(fā)明實(shí)施例,具有如下有益效果:業(yè)務(wù)服務(wù)器獲取批處理業(yè)務(wù)的當(dāng)前步驟標(biāo)識(shí),向數(shù)據(jù)庫管理服務(wù)器發(fā)送加鎖請求,以使數(shù)據(jù)庫管理服務(wù)器根據(jù)首個(gè)加鎖請求將批處理業(yè)務(wù)加上排它鎖,則首個(gè)加鎖請求對應(yīng)的業(yè)務(wù)服務(wù)器更新當(dāng)前步驟標(biāo)識(shí),并執(zhí)行經(jīng)過更新的步驟標(biāo)識(shí)對應(yīng)的業(yè)務(wù)步驟以獲取業(yè)務(wù)步驟的執(zhí)行結(jié)果,根據(jù)業(yè)務(wù)步驟的執(zhí)行結(jié)果通知數(shù)據(jù)庫管理服務(wù)器更新批處理業(yè)務(wù)的運(yùn)行狀態(tài),包括更新運(yùn)行狀態(tài)中的當(dāng)前步驟標(biāo)識(shí),數(shù)據(jù)庫管理服務(wù)器釋放排它鎖并向集群服務(wù)器中的業(yè)務(wù)服務(wù)器發(fā)送經(jīng)過更新的步驟標(biāo)識(shí),針對現(xiàn)有技術(shù)中由一個(gè)業(yè)務(wù)服務(wù)器執(zhí)行批處理業(yè)務(wù),本發(fā)明實(shí)施例可由集群部署的多個(gè)業(yè)務(wù)服務(wù)器通過爭搶模式對批處理業(yè)務(wù)中的各個(gè)業(yè)務(wù)步驟進(jìn)行爭搶并執(zhí)行,以便于集群部署的多個(gè)業(yè)務(wù)服務(wù)器負(fù)載均衡,并提升工作效率。

【專利附圖】

【附圖說明】
[0020]為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí)施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0021]圖1是本發(fā)明實(shí)施例中第一方面提供的一種業(yè)務(wù)批處理方法的流程示意圖;
[0022]圖2是本發(fā)明實(shí)施例中第二方面提供的一種業(yè)務(wù)批處理方法的流程示意圖;
[0023]圖3是本發(fā)明實(shí)施例中第三方面提供的一種業(yè)務(wù)批處理方法的流程示意圖;
[0024]圖4是本發(fā)明實(shí)施例中提供的一種業(yè)務(wù)服務(wù)器的結(jié)構(gòu)示意圖;
[0025]圖5是本發(fā)明實(shí)施例中圖4的通知單元的結(jié)構(gòu)示意圖;
[0026]圖6是本發(fā)明實(shí)施例中提供的一種業(yè)務(wù)批處理系統(tǒng)的結(jié)構(gòu)示意圖。

【具體實(shí)施方式】
[0027]下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0028]本發(fā)明實(shí)施例提供的業(yè)務(wù)批處理方法可以在集群服務(wù)器的業(yè)務(wù)服務(wù)器中通過爭搶模式對批處理業(yè)務(wù)中的各個(gè)業(yè)務(wù)步驟進(jìn)行爭搶并執(zhí)行,業(yè)務(wù)批處理系統(tǒng)以BIP (BusinessIntegrat1n Platform,業(yè)務(wù)集成平臺(tái))作為底層開發(fā)及運(yùn)行平臺(tái),AA(Applicat1nAdapter,應(yīng)用適配器)是為BIP運(yùn)行框架提供業(yè)務(wù)邏輯處理的功能部件,通過開發(fā)不同業(yè)務(wù)處理功能的業(yè)務(wù)邏輯插件實(shí)現(xiàn)業(yè)務(wù)集成,業(yè)務(wù)批處理系統(tǒng)為各個(gè)批處理業(yè)務(wù)分別配置一個(gè)AA,可利用BIP提供的AA自動(dòng)實(shí)現(xiàn)業(yè)務(wù)的批處理,以便于集群部署的多個(gè)業(yè)務(wù)服務(wù)器負(fù)載均衡,并提升工作效率。
[0029]請參見圖1,圖1是本發(fā)明實(shí)施例中第一方面提供的一種業(yè)務(wù)批處理方法的流程示意圖,如圖所示本實(shí)施例中的業(yè)務(wù)批處理方法可以包括:
[0030]步驟S101,獲取數(shù)據(jù)庫管理服務(wù)器發(fā)送的批處理業(yè)務(wù)的當(dāng)前步驟標(biāo)識(shí)。
[0031]集群服務(wù)器中的業(yè)務(wù)服務(wù)器可以獲取數(shù)據(jù)庫管理服務(wù)器發(fā)送的批處理業(yè)務(wù)的當(dāng)前步驟標(biāo)識(shí)。
[0032]具體的,業(yè)務(wù)服務(wù)器可以以集群的方式進(jìn)行部署,則集群服務(wù)器可以包括多個(gè)業(yè)務(wù)服務(wù)器,集群服務(wù)器中的多個(gè)業(yè)務(wù)服務(wù)器可以獲取數(shù)據(jù)庫管理服務(wù)器發(fā)送的批處理業(yè)務(wù)的當(dāng)前步驟標(biāo)識(shí),例如,BIP可提供基于AA的批處理業(yè)務(wù)定時(shí)調(diào)度機(jī)制,即到達(dá)預(yù)設(shè)時(shí)間閾值時(shí),集群服務(wù)器中的業(yè)務(wù)服務(wù)器可以啟動(dòng)該批處理業(yè)務(wù)的批處理進(jìn)程,向數(shù)據(jù)庫管理服務(wù)器發(fā)送針對該批處理業(yè)務(wù)的最新步驟標(biāo)識(shí)的獲取請求,則數(shù)據(jù)庫管理服務(wù)器可以根據(jù)該獲取請求向集群服務(wù)器中的業(yè)務(wù)服務(wù)器發(fā)送批處理業(yè)務(wù)的當(dāng)前步驟標(biāo)識(shí)“O”。批處理業(yè)務(wù)可以包括清算、風(fēng)控強(qiáng)平或者產(chǎn)生會(huì)計(jì)報(bào)表等業(yè)務(wù),其中批處理業(yè)務(wù)可以包括多個(gè)業(yè)務(wù)步驟。
[0033]步驟S102,向數(shù)據(jù)庫管理服務(wù)器發(fā)送加鎖請求,以使數(shù)據(jù)庫管理服務(wù)器根據(jù)首個(gè)加鎖請求將批處理業(yè)務(wù)加上排它鎖。
[0034]集群服務(wù)器中的業(yè)務(wù)服務(wù)器獲取到批處理業(yè)務(wù)的當(dāng)前步驟標(biāo)識(shí)后,可以向數(shù)據(jù)庫管理服務(wù)器發(fā)送加鎖請求,以使數(shù)據(jù)庫管理服務(wù)器根據(jù)首個(gè)加鎖請求將批處理業(yè)務(wù)加上排它鎖,其中排它鎖用于防止首個(gè)加鎖請求對應(yīng)的業(yè)務(wù)服務(wù)器以外的其他業(yè)務(wù)服務(wù)器對當(dāng)前步驟標(biāo)識(shí)進(jìn)行更新。
[0035]例如,批處理業(yè)務(wù)可以是部署在集群服務(wù)器的業(yè)務(wù)服務(wù)器中的定時(shí)業(yè)務(wù),批處理業(yè)務(wù)作為一個(gè)批處理進(jìn)程,可以由BIP定時(shí)調(diào)度,集群服務(wù)器中的多個(gè)業(yè)務(wù)服務(wù)器定時(shí)響應(yīng)該批處理業(yè)務(wù),執(zhí)行同樣的程序,集群服務(wù)器中的多個(gè)業(yè)務(wù)服務(wù)器在執(zhí)行程序的過程中存在時(shí)間差,則集群服務(wù)器中的多個(gè)業(yè)務(wù)服務(wù)器可以通過爭搶模式向數(shù)據(jù)庫管理服務(wù)器發(fā)送加鎖請求,數(shù)據(jù)庫管理服務(wù)器可以基于先到先執(zhí)行的調(diào)度機(jī)制,根據(jù)首個(gè)加鎖請求將批處理業(yè)務(wù)加上排它鎖,即最先發(fā)送加鎖請求的業(yè)務(wù)服務(wù)器可以更新當(dāng)前步驟標(biāo)識(shí),并執(zhí)行批處理業(yè)務(wù)中經(jīng)過更新的步驟標(biāo)識(shí)對應(yīng)的業(yè)務(wù)步驟以獲取業(yè)務(wù)步驟的執(zhí)行結(jié)果,集群服務(wù)器中的其他業(yè)務(wù)服務(wù)器因批處理業(yè)務(wù)加上了排它鎖而無法更新當(dāng)前步驟標(biāo)識(shí),處于等待狀態(tài)。
[0036]本發(fā)明實(shí)施例中的多個(gè)服務(wù)器可以通過爭搶模式執(zhí)行批處理業(yè)務(wù)的業(yè)務(wù)步驟,業(yè)務(wù)服務(wù)器負(fù)載均衡。
[0037]步驟S103,更新當(dāng)前步驟標(biāo)識(shí),并執(zhí)行批處理業(yè)務(wù)中經(jīng)過更新的步驟標(biāo)識(shí)對應(yīng)的業(yè)務(wù)步驟以獲取業(yè)務(wù)步驟的執(zhí)行結(jié)果。
[0038]集群服務(wù)器中的業(yè)務(wù)服務(wù)器向數(shù)據(jù)庫管理服務(wù)器發(fā)送加鎖請求,以使數(shù)據(jù)庫管理服務(wù)器根據(jù)首個(gè)加鎖請求將批處理業(yè)務(wù)加上排它鎖后,首個(gè)加鎖請求對應(yīng)的業(yè)務(wù)服務(wù)器可以更新當(dāng)前步驟標(biāo)識(shí),并執(zhí)行批處理業(yè)務(wù)中經(jīng)過更新的步驟標(biāo)識(shí)對應(yīng)的業(yè)務(wù)步驟以獲取該業(yè)務(wù)步驟的執(zhí)行結(jié)果,集群服務(wù)器中的其他業(yè)務(wù)服務(wù)器因批處理業(yè)務(wù)加上了排它鎖而無法更新當(dāng)前步驟標(biāo)識(shí),處于等待狀態(tài)。例如,批處理業(yè)務(wù)的運(yùn)行狀態(tài)是初始狀態(tài)時(shí),運(yùn)行狀態(tài)中的當(dāng)前步驟標(biāo)識(shí)可以為“0”,則首個(gè)加鎖請求對應(yīng)的業(yè)務(wù)服務(wù)器可以將當(dāng)前步驟標(biāo)識(shí)更新為“ I ”,執(zhí)行批處理業(yè)務(wù)中經(jīng)過更新的步驟標(biāo)識(shí)“ I ”對應(yīng)的業(yè)務(wù)步驟,即第一業(yè)務(wù)步驟,并獲取第一業(yè)務(wù)步驟的執(zhí)行結(jié)果。需要指出的是,步驟標(biāo)識(shí)可以為阿拉伯?dāng)?shù)字以及“2”等標(biāo)識(shí),可選的,步驟標(biāo)識(shí)還可以為英文字母“a”、“b”以及“c”等標(biāo)識(shí),本發(fā)明不做具體限定。
[0039]步驟S104,根據(jù)業(yè)務(wù)步驟的執(zhí)行結(jié)果通知數(shù)據(jù)庫管理服務(wù)器更新批處理業(yè)務(wù)的運(yùn)行狀態(tài),包括更新運(yùn)行狀態(tài)中的當(dāng)前步驟標(biāo)識(shí),數(shù)據(jù)庫管理服務(wù)器釋放排它鎖并向業(yè)務(wù)服務(wù)器發(fā)送經(jīng)過更新的步驟標(biāo)識(shí)。
[0040]首個(gè)加鎖請求對應(yīng)的業(yè)務(wù)服務(wù)器執(zhí)行了經(jīng)過更新的步驟標(biāo)識(shí)對應(yīng)的業(yè)務(wù)步驟后,可以根據(jù)該業(yè)務(wù)步驟的執(zhí)行結(jié)果通知數(shù)據(jù)庫管理服務(wù)器更新批處理業(yè)務(wù)的運(yùn)行狀態(tài),包括更新運(yùn)行狀態(tài)中的當(dāng)前步驟標(biāo)識(shí),例如運(yùn)行狀態(tài)中的當(dāng)前步驟標(biāo)識(shí)為“0”,則首個(gè)加鎖請求對應(yīng)的業(yè)務(wù)服務(wù)器可以將當(dāng)前步驟標(biāo)識(shí)更新為“ 1”,針對該業(yè)務(wù)步驟的數(shù)據(jù)庫事務(wù)執(zhí)行完畢后,若該業(yè)務(wù)步驟的執(zhí)行結(jié)果是執(zhí)行成功結(jié)果,則業(yè)務(wù)服務(wù)器可以根據(jù)該業(yè)務(wù)步驟的執(zhí)行結(jié)果通知數(shù)據(jù)庫管理服務(wù)器將批處理業(yè)務(wù)的運(yùn)行狀態(tài)更新為執(zhí)行成功狀態(tài),包括更新運(yùn)行狀態(tài)中的當(dāng)前步驟標(biāo)識(shí),即將當(dāng)前步驟標(biāo)識(shí)更新為“1”,數(shù)據(jù)庫管理服務(wù)器還可以在針對該業(yè)務(wù)步驟的數(shù)據(jù)庫事務(wù)提交后釋放排它鎖,另外,處于等待狀態(tài)的業(yè)務(wù)服務(wù)器可以向數(shù)據(jù)庫管理服務(wù)器發(fā)送當(dāng)前步驟標(biāo)識(shí)更新請求,并接收數(shù)據(jù)庫管理服務(wù)器返回的步驟標(biāo)識(shí)更新失敗信息,則處于等待狀態(tài)的業(yè)務(wù)服務(wù)器放棄針對該業(yè)務(wù)步驟的爭搶,即針對該業(yè)務(wù)步驟的爭搶執(zhí)行流程結(jié)束,進(jìn)一步的,集群服務(wù)器中的多個(gè)業(yè)務(wù)服務(wù)器可以向數(shù)據(jù)庫管理服務(wù)器發(fā)送針對最新步驟標(biāo)識(shí)的獲取請求,則數(shù)據(jù)庫管理服務(wù)器可以根據(jù)獲取請求向集群服務(wù)器中的多個(gè)業(yè)務(wù)服務(wù)器發(fā)送經(jīng)過更新的步驟標(biāo)識(shí),則集群服務(wù)器中的多個(gè)業(yè)務(wù)服務(wù)器可以將經(jīng)過更新的步驟標(biāo)識(shí)作為當(dāng)前步驟標(biāo)識(shí),并進(jìn)一步執(zhí)行上述步驟,即集群服務(wù)器中的多個(gè)業(yè)務(wù)服務(wù)器獲取數(shù)據(jù)庫管理服務(wù)器發(fā)送的當(dāng)前步驟標(biāo)識(shí)后,向數(shù)據(jù)庫管理服務(wù)器發(fā)送加鎖請求,以使數(shù)據(jù)庫管理服務(wù)器根據(jù)首個(gè)加鎖請求將批處理業(yè)務(wù)加上排它鎖,則首個(gè)加鎖請求對應(yīng)的業(yè)務(wù)服務(wù)器更新所述當(dāng)前步驟標(biāo)識(shí),并執(zhí)行批處理業(yè)務(wù)中經(jīng)過更新的當(dāng)前步驟標(biāo)識(shí)對應(yīng)的業(yè)務(wù)步驟以獲取業(yè)務(wù)步驟的執(zhí)行結(jié)果,首個(gè)加鎖請求對應(yīng)的業(yè)務(wù)服務(wù)器根據(jù)該業(yè)務(wù)步驟的執(zhí)行結(jié)果通知數(shù)據(jù)庫管理服務(wù)器更新批處理業(yè)務(wù)的運(yùn)行狀態(tài),包括更新運(yùn)行狀態(tài)中的步驟標(biāo)識(shí),數(shù)據(jù)庫管理服務(wù)器釋放排它鎖并向業(yè)務(wù)服務(wù)器發(fā)送經(jīng)過更新的步驟標(biāo)識(shí)。
[0041]在圖1所示的業(yè)務(wù)批處理方法中,集群服務(wù)器中的業(yè)務(wù)服務(wù)器通過爭搶模式向數(shù)據(jù)庫管理服務(wù)器發(fā)送加鎖請求,以使數(shù)據(jù)庫管理服務(wù)器根據(jù)首個(gè)加鎖請求將批處理業(yè)務(wù)加上排它鎖,首個(gè)加鎖請求對應(yīng)的業(yè)務(wù)服務(wù)器更新數(shù)據(jù)庫管理服務(wù)器發(fā)送的批處理業(yè)務(wù)的當(dāng)前步驟標(biāo)識(shí),并執(zhí)行經(jīng)過更新的步驟標(biāo)識(shí)對應(yīng)的業(yè)務(wù)步驟以獲取業(yè)務(wù)步驟的執(zhí)行結(jié)果,該業(yè)務(wù)服務(wù)器根據(jù)業(yè)務(wù)步驟的執(zhí)行結(jié)果通知數(shù)據(jù)庫管理服務(wù)器更新批處理業(yè)務(wù)的運(yùn)行狀態(tài),包括更新運(yùn)行狀態(tài)中的當(dāng)前步驟標(biāo)識(shí),數(shù)據(jù)庫管理服務(wù)器釋放排它鎖并向集群服務(wù)器中的業(yè)務(wù)服務(wù)器發(fā)送經(jīng)過更新的步驟標(biāo)識(shí),集群服務(wù)器中的業(yè)務(wù)服務(wù)器可通過爭搶模式對批處理業(yè)務(wù)中的各個(gè)業(yè)務(wù)步驟進(jìn)行爭搶并執(zhí)行,以便于集群部署的多個(gè)業(yè)務(wù)服務(wù)器負(fù)載均衡,并提升工作效率。
[0042]請參見圖2,圖2是本發(fā)明實(shí)施例中第二方面提供的一種業(yè)務(wù)批處理方法的流程示意圖,如圖所示本實(shí)施例中的業(yè)務(wù)批處理方法可以包括:
[0043]步驟S201,獲取數(shù)據(jù)庫管理服務(wù)器發(fā)送的批處理業(yè)務(wù)的運(yùn)行狀態(tài)。
[0044]具體的,集群服務(wù)器中的多個(gè)業(yè)務(wù)服務(wù)器可以獲取數(shù)據(jù)庫管理服務(wù)器發(fā)送的批處理業(yè)務(wù)的運(yùn)行狀態(tài),其中批處理業(yè)務(wù)的運(yùn)行狀態(tài)可以包括初始狀態(tài)、執(zhí)行成功狀態(tài)、失敗狀態(tài)、繼續(xù)執(zhí)行狀態(tài)或者結(jié)束狀態(tài),初始狀態(tài)即批處理業(yè)務(wù)開始啟動(dòng),并且批處理業(yè)務(wù)中的所有業(yè)務(wù)步驟都還沒有執(zhí)行;執(zhí)行成功狀態(tài)用于指示當(dāng)前步驟標(biāo)識(shí)對應(yīng)的業(yè)務(wù)步驟執(zhí)行成功;失敗狀態(tài)用于指示當(dāng)前步驟標(biāo)識(shí)對應(yīng)的業(yè)務(wù)步驟執(zhí)行失??;繼續(xù)執(zhí)行狀態(tài)用于指示當(dāng)前步驟標(biāo)識(shí)對應(yīng)的業(yè)務(wù)步驟執(zhí)行失敗的原因得以解決,繼續(xù)執(zhí)行當(dāng)前步驟標(biāo)識(shí)對應(yīng)的業(yè)務(wù)步驟;結(jié)束狀態(tài)用于指示批處理業(yè)務(wù)的所有業(yè)務(wù)步驟已成功執(zhí)行。
[0045]步驟S202,判斷批處理業(yè)務(wù)的運(yùn)行狀態(tài)是否是失敗狀態(tài)。
[0046]集群服務(wù)器中的業(yè)務(wù)服務(wù)器獲取到批處理業(yè)務(wù)的運(yùn)行狀態(tài)后,可以判斷批處理業(yè)務(wù)的運(yùn)行狀態(tài)是否是失敗狀態(tài),若批處理業(yè)務(wù)的運(yùn)行狀態(tài)是失敗狀態(tài),則集群服務(wù)器中的業(yè)務(wù)服務(wù)器可以經(jīng)過預(yù)設(shè)間隔時(shí)間后,進(jìn)一步執(zhí)行步驟S201 ;若批處理業(yè)務(wù)的運(yùn)行狀態(tài)不是失敗狀態(tài),則集群服務(wù)器中的業(yè)務(wù)服務(wù)器可以進(jìn)一步執(zhí)行步驟S203。
[0047]例如,業(yè)務(wù)服務(wù)器執(zhí)行批處理業(yè)務(wù)的業(yè)務(wù)步驟時(shí)因非系統(tǒng)原因報(bào)錯(cuò),示例性的,非系統(tǒng)原因可以為業(yè)務(wù)服務(wù)器執(zhí)行批處理業(yè)務(wù)的業(yè)務(wù)步驟時(shí),實(shí)現(xiàn)該業(yè)務(wù)步驟的步驟邏輯所需的數(shù)據(jù)來源異常,業(yè)務(wù)服務(wù)器可以向數(shù)據(jù)庫管理服務(wù)器發(fā)送執(zhí)行失敗結(jié)果,以使數(shù)據(jù)庫管理服務(wù)器將業(yè)務(wù)服務(wù)器執(zhí)行的所述業(yè)務(wù)步驟進(jìn)行回滾,所述數(shù)據(jù)庫管理服務(wù)器釋放所述排它鎖并根據(jù)執(zhí)行失敗結(jié)果將運(yùn)行狀態(tài)更新為失敗狀態(tài),則集群服務(wù)器中的業(yè)務(wù)服務(wù)器判斷批處理業(yè)務(wù)的運(yùn)行狀態(tài)是失敗狀態(tài),可以經(jīng)過預(yù)設(shè)間隔時(shí)間后,進(jìn)一步執(zhí)行步驟S201,當(dāng)維護(hù)人員發(fā)現(xiàn)針對該非系統(tǒng)原因的報(bào)錯(cuò)信息并解決針對該報(bào)錯(cuò)信息的問題后,維護(hù)人員可以通過業(yè)務(wù)管理平臺(tái)將該批處理業(yè)務(wù)的運(yùn)行狀態(tài)更新為繼續(xù)執(zhí)行狀態(tài),進(jìn)而業(yè)務(wù)服務(wù)器向數(shù)據(jù)庫管理服務(wù)器發(fā)送狀態(tài)更新請求,數(shù)據(jù)庫管理服務(wù)器可以根據(jù)該狀態(tài)更新請求將運(yùn)行狀態(tài)更新為繼續(xù)執(zhí)行狀態(tài),則集群服務(wù)器中的業(yè)務(wù)服務(wù)器判斷批處理業(yè)務(wù)的運(yùn)行狀態(tài)不是失敗狀態(tài),進(jìn)一步執(zhí)行步驟S203。
[0048]本實(shí)施例通過監(jiān)控批處理業(yè)務(wù)的運(yùn)行狀態(tài),可實(shí)現(xiàn)批處理業(yè)務(wù)報(bào)錯(cuò)修復(fù)后迅速執(zhí)行,時(shí)延小,并提升工作效率。
[0049]步驟S203,判斷批處理業(yè)務(wù)的運(yùn)行狀態(tài)是否是結(jié)束狀態(tài)。
[0050]集群服務(wù)器中的業(yè)務(wù)服務(wù)器確定批處理業(yè)務(wù)的運(yùn)行狀態(tài)不是失敗狀態(tài)后,還可以判斷批處理業(yè)務(wù)的運(yùn)行狀態(tài)是否是結(jié)束狀態(tài),若批處理業(yè)務(wù)的運(yùn)行狀態(tài)是結(jié)束狀態(tài),則表示批處理業(yè)務(wù)的所有業(yè)務(wù)步驟已成功執(zhí)行,該批處理業(yè)務(wù)的批量處理流程結(jié)束;若批處理業(yè)務(wù)的運(yùn)行狀態(tài)不是結(jié)束狀態(tài),則進(jìn)一步執(zhí)行步驟S204。
[0051]步驟S204,獲取數(shù)據(jù)庫管理服務(wù)器發(fā)送的批處理業(yè)務(wù)的當(dāng)前步驟標(biāo)識(shí)。
[0052]集群服務(wù)器中的業(yè)務(wù)服務(wù)器確定批處理的業(yè)務(wù)不是失敗狀態(tài),并且不是結(jié)束狀態(tài)時(shí),可以獲取數(shù)據(jù)庫管理服務(wù)器發(fā)送的批處理業(yè)務(wù)的當(dāng)前步驟標(biāo)識(shí)。例如,集群服務(wù)器中的多個(gè)業(yè)務(wù)服務(wù)器可以向數(shù)據(jù)庫管理服務(wù)器發(fā)送針對該批處理業(yè)務(wù)的當(dāng)前步驟標(biāo)識(shí)的獲取請求,則數(shù)據(jù)庫管理服務(wù)器可以根據(jù)該獲取請求向集群服務(wù)器中的業(yè)務(wù)服務(wù)器發(fā)送批處理業(yè)務(wù)的當(dāng)前步驟標(biāo)識(shí)。
[0053]步驟S205,向數(shù)據(jù)庫管理服務(wù)器發(fā)送加鎖請求,以使數(shù)據(jù)庫管理服務(wù)器根據(jù)首個(gè)加鎖請求將批處理業(yè)務(wù)加上排它鎖。
[0054]集群服務(wù)器中的業(yè)務(wù)服務(wù)器獲取到批處理業(yè)務(wù)的當(dāng)前步驟標(biāo)識(shí)后,可以向數(shù)據(jù)庫管理服務(wù)器發(fā)送加鎖請求,以使數(shù)據(jù)庫管理服務(wù)器根據(jù)首個(gè)加鎖請求將批處理業(yè)務(wù)加上排它鎖,其中排它鎖用于防止首個(gè)加鎖請求對應(yīng)的業(yè)務(wù)服務(wù)器以外的其他業(yè)務(wù)服務(wù)器對當(dāng)前步驟標(biāo)識(shí)進(jìn)行更新,例如,集群服務(wù)器中的多個(gè)業(yè)務(wù)服務(wù)器可以通過爭搶模式向數(shù)據(jù)庫管理服務(wù)器發(fā)送加鎖請求,數(shù)據(jù)庫管理服務(wù)器可以基于先到先執(zhí)行的調(diào)度機(jī)制,根據(jù)首個(gè)加鎖請求將批處理業(yè)務(wù)加上排它鎖,即最先發(fā)送加鎖請求的業(yè)務(wù)服務(wù)器可以更新當(dāng)前步驟標(biāo)識(shí),并執(zhí)行批處理業(yè)務(wù)中經(jīng)過更新的步驟標(biāo)識(shí)對應(yīng)的業(yè)務(wù)步驟以獲取業(yè)務(wù)步驟的執(zhí)行結(jié)果,集群服務(wù)器中的其他服務(wù)器因批處理業(yè)務(wù)加上了排它鎖而無法更新當(dāng)前步驟標(biāo)識(shí),處于等待狀態(tài)。
[0055]本發(fā)明實(shí)施例中的多個(gè)服務(wù)器可以通過爭搶模式執(zhí)行批處理業(yè)務(wù)的業(yè)務(wù)步驟,業(yè)務(wù)服務(wù)器負(fù)載均衡。
[0056]步驟S206,更新當(dāng)前步驟標(biāo)識(shí),并執(zhí)行批處理業(yè)務(wù)中經(jīng)過更新的步驟標(biāo)識(shí)對應(yīng)的業(yè)務(wù)步驟以獲取業(yè)務(wù)步驟的執(zhí)行結(jié)果。
[0057]集群服務(wù)器中的業(yè)務(wù)服務(wù)器向數(shù)據(jù)庫管理服務(wù)器發(fā)送加鎖請求,以使數(shù)據(jù)庫管理服務(wù)器根據(jù)首個(gè)加鎖請求將批處理業(yè)務(wù)加上排它鎖后,首個(gè)加鎖請求對應(yīng)的業(yè)務(wù)服務(wù)器可以更新當(dāng)前步驟標(biāo)識(shí),并執(zhí)行批處理業(yè)務(wù)中經(jīng)過更新的步驟標(biāo)識(shí)對應(yīng)的業(yè)務(wù)步驟以獲取業(yè)務(wù)步驟的執(zhí)行結(jié)果,集群服務(wù)器中的其他業(yè)務(wù)服務(wù)器因批處理業(yè)務(wù)加上了排它鎖而無法更新當(dāng)前步驟標(biāo)識(shí),處于等待狀態(tài)。例如,批處理業(yè)務(wù)的運(yùn)行狀態(tài)是初始狀態(tài)時(shí),運(yùn)行狀態(tài)中的當(dāng)前步驟標(biāo)識(shí)可以為“0”,則業(yè)務(wù)服務(wù)器可以將當(dāng)前步驟標(biāo)識(shí)更新為“1”,并執(zhí)行批處理業(yè)務(wù)中經(jīng)過更新的步驟標(biāo)識(shí)“I”對應(yīng)的業(yè)務(wù)步驟,即第一業(yè)務(wù)步驟,并獲取第一業(yè)務(wù)步驟的執(zhí)行結(jié)果。需要指出的是,步驟標(biāo)識(shí)可以為阿拉伯?dāng)?shù)字以及“2”等標(biāo)識(shí),可選的,步驟標(biāo)識(shí)還可以為英文字母“a”、“b”以及“c”等標(biāo)識(shí),本發(fā)明不做具體限定。
[0058]步驟S207,根據(jù)業(yè)務(wù)步驟的執(zhí)行結(jié)果通知數(shù)據(jù)庫管理服務(wù)器更新批處理業(yè)務(wù)的運(yùn)行狀態(tài),包括更新運(yùn)行狀態(tài)中的當(dāng)前步驟標(biāo)識(shí),數(shù)據(jù)庫管理服務(wù)器釋放排它鎖并向業(yè)務(wù)服務(wù)器發(fā)送經(jīng)過更新的步驟標(biāo)識(shí)。
[0059]首個(gè)加鎖請求對應(yīng)的業(yè)務(wù)服務(wù)器執(zhí)行了經(jīng)過更新的步驟標(biāo)識(shí)對應(yīng)的業(yè)務(wù)步驟后,可以根據(jù)該業(yè)務(wù)步驟的執(zhí)行結(jié)果通知數(shù)據(jù)庫管理服務(wù)器更新批處理業(yè)務(wù)的運(yùn)行狀態(tài),包括更新運(yùn)行狀態(tài)中的當(dāng)前步驟標(biāo)識(shí),數(shù)據(jù)庫管理服務(wù)器釋放排它鎖并向業(yè)務(wù)服務(wù)器發(fā)送經(jīng)過更新的步驟標(biāo)識(shí)。
[0060]例如,若業(yè)務(wù)服務(wù)器執(zhí)行該業(yè)務(wù)步驟而獲取到的執(zhí)行結(jié)果為執(zhí)行成功結(jié)果,針對該業(yè)務(wù)步驟的數(shù)據(jù)庫事務(wù)執(zhí)行完畢,則業(yè)務(wù)服務(wù)器可以判斷業(yè)務(wù)步驟是否是批處理業(yè)務(wù)的最終業(yè)務(wù)步驟,若業(yè)務(wù)步驟是批處理業(yè)務(wù)的最終業(yè)務(wù)步驟,則業(yè)務(wù)服務(wù)器可以根據(jù)執(zhí)行成功結(jié)果通知數(shù)據(jù)庫管理服務(wù)器將運(yùn)行狀態(tài)更新為結(jié)束狀態(tài);若業(yè)務(wù)步驟不是批處理業(yè)務(wù)的最終業(yè)務(wù)步驟,則業(yè)務(wù)服務(wù)器可以根據(jù)執(zhí)行成功結(jié)果通知數(shù)據(jù)庫管理服務(wù)器將運(yùn)行狀態(tài)更新為執(zhí)行成功狀態(tài),數(shù)據(jù)庫管理服務(wù)器還可以更新運(yùn)行狀態(tài)中的當(dāng)前步驟標(biāo)識(shí),例如運(yùn)行狀態(tài)中的當(dāng)前步驟標(biāo)識(shí)為“O”,則數(shù)據(jù)庫管理服務(wù)器可以將當(dāng)前步驟標(biāo)識(shí)更新為“ 1”,數(shù)據(jù)庫管理服務(wù)器還可以在針對該業(yè)務(wù)步驟的數(shù)據(jù)庫事務(wù)提交后釋放排它鎖,處于等待狀態(tài)的業(yè)務(wù)服務(wù)器可以向數(shù)據(jù)庫管理服務(wù)器發(fā)送當(dāng)前步驟標(biāo)識(shí)更新請求時(shí),并接收數(shù)據(jù)庫管理服務(wù)器返回的步驟標(biāo)識(shí)更新失敗信息,則處于等待狀態(tài)的業(yè)務(wù)服務(wù)器放棄針對該業(yè)務(wù)步驟的爭搶,即針對該業(yè)務(wù)步驟的爭搶執(zhí)行流程結(jié)束,集群服務(wù)器中的多個(gè)業(yè)務(wù)服務(wù)器可以向數(shù)據(jù)庫管理服務(wù)器發(fā)送針對最新步驟標(biāo)識(shí)的獲取請求,則數(shù)據(jù)庫管理服務(wù)器可以向集群服務(wù)器中的多個(gè)業(yè)務(wù)服務(wù)器發(fā)送經(jīng)過更新的步驟標(biāo)識(shí),則集群服務(wù)器中的多個(gè)業(yè)務(wù)服務(wù)器可以將經(jīng)過更新的步驟標(biāo)識(shí)作為當(dāng)前步驟標(biāo)識(shí),并進(jìn)一步執(zhí)行上述步驟,即集群服務(wù)器中的多個(gè)業(yè)務(wù)服務(wù)器獲取數(shù)據(jù)庫管理服務(wù)器發(fā)送的當(dāng)前步驟標(biāo)識(shí),并向數(shù)據(jù)庫管理服務(wù)器發(fā)送加鎖請求,以使數(shù)據(jù)庫管理服務(wù)器根據(jù)首個(gè)加鎖請求將批處理業(yè)務(wù)加上排它鎖,則首個(gè)加鎖請求對應(yīng)的業(yè)務(wù)服務(wù)器更新所述當(dāng)前步驟標(biāo)識(shí),并執(zhí)行批處理業(yè)務(wù)中經(jīng)過更新的當(dāng)前步驟標(biāo)識(shí)對應(yīng)的業(yè)務(wù)步驟以獲取業(yè)務(wù)步驟的執(zhí)行結(jié)果,首個(gè)加鎖請求對應(yīng)的業(yè)務(wù)服務(wù)器根據(jù)該業(yè)務(wù)步驟的執(zhí)行結(jié)果通知數(shù)據(jù)庫管理服務(wù)器更新批處理業(yè)務(wù)的運(yùn)行狀態(tài),包括更新運(yùn)行狀態(tài)中的步驟標(biāo)識(shí),數(shù)據(jù)庫管理服務(wù)器釋放排它鎖并向業(yè)務(wù)服務(wù)器發(fā)送經(jīng)過更新的步驟標(biāo)識(shí)。
[0061]在圖2所示的業(yè)務(wù)批處理方法中,集群服務(wù)器中的業(yè)務(wù)服務(wù)器確定批處理業(yè)務(wù)的運(yùn)行狀態(tài)不是失敗狀態(tài),并且不是結(jié)束狀態(tài)時(shí),獲取批處理業(yè)務(wù)的當(dāng)前步驟標(biāo)識(shí),并通過爭搶模式向數(shù)據(jù)庫管理服務(wù)器發(fā)送加鎖請求,以使數(shù)據(jù)庫管理服務(wù)器根據(jù)首個(gè)加鎖請求將批處理業(yè)務(wù)加上排它鎖,首個(gè)加鎖請求對應(yīng)的業(yè)務(wù)服務(wù)器更新當(dāng)前步驟標(biāo)識(shí),并執(zhí)行批處理業(yè)務(wù)中經(jīng)過更新的步驟標(biāo)識(shí)對應(yīng)的業(yè)務(wù)步驟以獲取業(yè)務(wù)步驟的執(zhí)行結(jié)果,該業(yè)務(wù)服務(wù)器根據(jù)業(yè)務(wù)步驟的執(zhí)行結(jié)果通知數(shù)據(jù)庫管理服務(wù)器更新批處理業(yè)務(wù)的運(yùn)行狀態(tài),包括更新運(yùn)行狀態(tài)中的當(dāng)前步驟標(biāo)識(shí),數(shù)據(jù)庫管理服務(wù)器釋放排它鎖并向集群服務(wù)器中的業(yè)務(wù)服務(wù)器發(fā)送經(jīng)過更新的步驟標(biāo)識(shí),集群服務(wù)器中的業(yè)務(wù)服務(wù)器可通過爭搶模式對批處理業(yè)務(wù)中的各個(gè)業(yè)務(wù)步驟進(jìn)行爭搶并執(zhí)行,以便于集群部署的多個(gè)業(yè)務(wù)服務(wù)器負(fù)載均衡,并提升工作效率。
[0062]請參見圖3,圖3是本發(fā)明實(shí)施例中第三方面提供的一種業(yè)務(wù)批處理方法的流程示意圖,如圖所示本實(shí)施例中的業(yè)務(wù)批處理方法可以包括:
[0063]步驟S301,集群服務(wù)器中的業(yè)務(wù)服務(wù)器獲取數(shù)據(jù)庫管理服務(wù)器發(fā)送的批處理業(yè)務(wù)的當(dāng)前步驟標(biāo)識(shí)。
[0064]集群服務(wù)器中的業(yè)務(wù)服務(wù)器可以獲取數(shù)據(jù)庫管理服務(wù)器發(fā)送的批處理業(yè)務(wù)的當(dāng)前步驟標(biāo)識(shí)。
[0065]例如,BIP可提供基于AA的批處理業(yè)務(wù)定時(shí)調(diào)度機(jī)制,即到達(dá)預(yù)設(shè)時(shí)間閾值時(shí),集群服務(wù)器中的多個(gè)業(yè)務(wù)服務(wù)器可以啟動(dòng)該批處理業(yè)務(wù)的批處理進(jìn)程,向數(shù)據(jù)庫管理服務(wù)器發(fā)送針對該批處理業(yè)務(wù)的最新步驟標(biāo)識(shí)的獲取請求,則數(shù)據(jù)庫管理服務(wù)器可以根據(jù)該獲取請求向集群服務(wù)器中的多個(gè)業(yè)務(wù)服務(wù)器發(fā)送批處理業(yè)務(wù)的當(dāng)前步驟標(biāo)識(shí)“O”,批處理業(yè)務(wù)可以包括清算、風(fēng)控強(qiáng)平或者產(chǎn)生會(huì)計(jì)報(bào)表等業(yè)務(wù),其中批處理業(yè)務(wù)可以包括多個(gè)業(yè)務(wù)步驟。
[0066]步驟S302,集群服務(wù)器中的業(yè)務(wù)服務(wù)器向數(shù)據(jù)庫管理服務(wù)器發(fā)送針對批處理業(yè)務(wù)的加鎖請求。
[0067]集群服務(wù)器中的業(yè)務(wù)服務(wù)器接收到批處理業(yè)務(wù)的當(dāng)前步驟標(biāo)識(shí)后,可以向數(shù)據(jù)庫管理服務(wù)器發(fā)送針對該批處理業(yè)務(wù)的加鎖請求。例如,集群服務(wù)器中的多個(gè)業(yè)務(wù)服務(wù)器在執(zhí)行程序的過程中存在時(shí)間差,則集群服務(wù)器中的多個(gè)業(yè)務(wù)服務(wù)器可以通過爭搶模式向數(shù)據(jù)庫管理服務(wù)器發(fā)送加鎖請求。
[0068]步驟S303,數(shù)據(jù)庫管理服務(wù)器根據(jù)首個(gè)加鎖請求將批處理業(yè)務(wù)加上排它鎖。
[0069]數(shù)據(jù)庫管理服務(wù)器接收到集群服務(wù)器中的業(yè)務(wù)服務(wù)器發(fā)送的加鎖請求后,可以基于先到先執(zhí)行的調(diào)度機(jī)制,根據(jù)首個(gè)加鎖請求將批處理業(yè)務(wù)加上排它鎖,其中排它鎖用于防止首個(gè)加鎖請求對應(yīng)的業(yè)務(wù)服務(wù)器以外的其他業(yè)務(wù)服務(wù)器對當(dāng)前步驟標(biāo)識(shí)進(jìn)行更新,即最先發(fā)送加鎖請求的業(yè)務(wù)服務(wù)器可以更新當(dāng)前步驟標(biāo)識(shí),并執(zhí)行批處理業(yè)務(wù)中經(jīng)過更新的步驟標(biāo)識(shí)對應(yīng)的業(yè)務(wù)步驟以獲取業(yè)務(wù)步驟的執(zhí)行結(jié)果,集群服務(wù)器中的其他業(yè)務(wù)服務(wù)器因批處理業(yè)務(wù)加上了排它鎖而無法更新當(dāng)前步驟標(biāo)識(shí),處于等待狀態(tài)。
[0070]步驟S304,業(yè)務(wù)服務(wù)器更新當(dāng)前步驟標(biāo)識(shí),并執(zhí)行批處理業(yè)務(wù)中經(jīng)過更新的步驟標(biāo)識(shí)對應(yīng)的業(yè)務(wù)步驟以獲取業(yè)務(wù)步驟的執(zhí)行結(jié)果。
[0071]首個(gè)加鎖請求對應(yīng)的業(yè)務(wù)服務(wù)器可以更新當(dāng)前步驟標(biāo)識(shí),并執(zhí)行批處理業(yè)務(wù)中經(jīng)過更新的步驟標(biāo)識(shí)對應(yīng)的業(yè)務(wù)步驟以獲取業(yè)務(wù)步驟的執(zhí)行結(jié)果,集群服務(wù)器中的其他業(yè)務(wù)服務(wù)器因批處理業(yè)務(wù)加上了排它鎖而無法更新當(dāng)前步驟標(biāo)識(shí),處于等待狀態(tài)。例如,批處理業(yè)務(wù)的運(yùn)行狀態(tài)是初始狀態(tài)時(shí),運(yùn)行狀態(tài)中的當(dāng)前步驟標(biāo)識(shí)可以為“0”,則首個(gè)加鎖請求對應(yīng)的業(yè)務(wù)服務(wù)器可以將當(dāng)前步驟標(biāo)識(shí)更新為“1”,并執(zhí)行批處理業(yè)務(wù)中經(jīng)過更新的步驟標(biāo)識(shí)“ I”對應(yīng)的業(yè)務(wù)步驟,即第一業(yè)務(wù)步驟,并獲取第一業(yè)務(wù)步驟的執(zhí)行結(jié)果。需要指出的是,步驟標(biāo)識(shí)可以為阿拉伯?dāng)?shù)字以及“2”等標(biāo)識(shí),可選的,步驟標(biāo)識(shí)還可以為英文字母“a”、“b”以及“c”等標(biāo)識(shí),本發(fā)明不做具體限定。
[0072]步驟S305,業(yè)務(wù)服務(wù)器根據(jù)業(yè)務(wù)步驟的執(zhí)行結(jié)果通知數(shù)據(jù)庫管理服務(wù)器將業(yè)務(wù)服務(wù)器執(zhí)行的業(yè)務(wù)步驟進(jìn)行回滾。
[0073]若該業(yè)務(wù)服務(wù)器執(zhí)行該業(yè)務(wù)步驟時(shí)因數(shù)據(jù)來源異常等導(dǎo)致非系統(tǒng)原因報(bào)錯(cuò)或者因故障等導(dǎo)致系統(tǒng)原因報(bào)錯(cuò),則執(zhí)行結(jié)果為執(zhí)行失敗結(jié)果,則首個(gè)加鎖請求對應(yīng)的業(yè)務(wù)服務(wù)器可以根據(jù)業(yè)務(wù)步驟的執(zhí)行失敗結(jié)果通知數(shù)據(jù)庫管理服務(wù)器將業(yè)務(wù)服務(wù)器執(zhí)行的業(yè)務(wù)步驟進(jìn)行回滾。
[0074]例如,業(yè)務(wù)服務(wù)器執(zhí)行該業(yè)務(wù)步驟時(shí)因數(shù)據(jù)來源異常等導(dǎo)致非系統(tǒng)原因報(bào)錯(cuò),首個(gè)加鎖請求對應(yīng)的業(yè)務(wù)服務(wù)器可以根據(jù)業(yè)務(wù)步驟的執(zhí)行失敗結(jié)果通知數(shù)據(jù)庫管理服務(wù)器將批處理業(yè)務(wù)的運(yùn)行狀態(tài)更新為失敗狀態(tài),數(shù)據(jù)庫管理服務(wù)器可以將業(yè)務(wù)服務(wù)器執(zhí)行的業(yè)務(wù)步驟進(jìn)行回滾,即將數(shù)據(jù)庫數(shù)據(jù)恢復(fù)為執(zhí)行該業(yè)務(wù)步驟之前的狀態(tài),其中數(shù)據(jù)庫管理服務(wù)器將業(yè)務(wù)服務(wù)器執(zhí)行的業(yè)務(wù)步驟進(jìn)行回滾之后,數(shù)據(jù)庫管理服務(wù)器中該批處理業(yè)務(wù)的最新步驟標(biāo)識(shí)為當(dāng)前步驟標(biāo)識(shí),該批處理業(yè)務(wù)的運(yùn)行狀態(tài)為失敗狀態(tài)。
[0075]業(yè)務(wù)服務(wù)器執(zhí)行該業(yè)務(wù)步驟時(shí)因故障等導(dǎo)致系統(tǒng)原因報(bào)錯(cuò),針對該業(yè)務(wù)步驟的數(shù)據(jù)庫事務(wù)執(zhí)行中斷,首個(gè)加鎖請求對應(yīng)的業(yè)務(wù)服務(wù)器可以根據(jù)業(yè)務(wù)步驟的執(zhí)行失敗結(jié)果通知數(shù)據(jù)庫管理服務(wù)器將批處理業(yè)務(wù)服務(wù)器執(zhí)行的業(yè)務(wù)步驟進(jìn)行回滾,即將數(shù)據(jù)庫數(shù)據(jù)恢復(fù)為執(zhí)行該業(yè)務(wù)步驟之前的狀態(tài),其中數(shù)據(jù)庫管理服務(wù)器將業(yè)務(wù)服務(wù)器執(zhí)行的業(yè)務(wù)步驟進(jìn)行回滾之后,數(shù)據(jù)庫管理服務(wù)器中該批處理業(yè)務(wù)的最新步驟標(biāo)識(shí)為當(dāng)前步驟標(biāo)識(shí),該批處理業(yè)務(wù)的運(yùn)行狀態(tài)為執(zhí)行該業(yè)務(wù)步驟之前的運(yùn)行狀態(tài)。
[0076]步驟S306,數(shù)據(jù)庫管理服務(wù)器釋放排它鎖。
[0077]數(shù)據(jù)庫管理服務(wù)器將該業(yè)務(wù)服務(wù)器執(zhí)行的業(yè)務(wù)步驟進(jìn)行回滾之后,還可以釋放針對該批處理業(yè)務(wù)的排它鎖。
[0078]在可選實(shí)施例中,若業(yè)務(wù)服務(wù)器因故障等導(dǎo)致系統(tǒng)原因報(bào)錯(cuò),則數(shù)據(jù)庫管理服務(wù)器釋放排它鎖后,處于等待狀態(tài)的其他業(yè)務(wù)服務(wù)器可以向數(shù)據(jù)庫管理服務(wù)器發(fā)送加鎖請求,則數(shù)據(jù)庫管理服務(wù)器可以根據(jù)首個(gè)加鎖請求將批處理業(yè)務(wù)加上排它鎖,首個(gè)加鎖請求對應(yīng)的業(yè)務(wù)服務(wù)器更新當(dāng)前步驟標(biāo)識(shí),并執(zhí)行批處理業(yè)務(wù)中經(jīng)過更新的步驟標(biāo)識(shí)對應(yīng)的業(yè)務(wù)步驟以獲取業(yè)務(wù)步驟的執(zhí)行結(jié)果,該業(yè)務(wù)服務(wù)器根據(jù)執(zhí)行結(jié)果通知數(shù)據(jù)庫管理服務(wù)器更新批處理業(yè)務(wù)的運(yùn)行狀態(tài),包括更新運(yùn)行狀態(tài)中的當(dāng)前步驟標(biāo)識(shí)。針對現(xiàn)有技術(shù)中正在執(zhí)行業(yè)務(wù)步驟的業(yè)務(wù)服務(wù)器發(fā)生系統(tǒng)故障的情況下,需要維護(hù)人員進(jìn)行業(yè)務(wù)服務(wù)器的人工切換,若維護(hù)人員發(fā)現(xiàn)并解決問題不及時(shí),將影響系統(tǒng)穩(wěn)定性,甚至導(dǎo)致系統(tǒng)癱瘓,本發(fā)明實(shí)施例可當(dāng)正在執(zhí)行業(yè)務(wù)步驟的業(yè)務(wù)服務(wù)器發(fā)生系統(tǒng)故障時(shí),集群服務(wù)器中的其他業(yè)務(wù)服務(wù)器通過爭搶模式自動(dòng)實(shí)現(xiàn)該業(yè)務(wù)步驟的處理,可實(shí)現(xiàn)業(yè)務(wù)服務(wù)器的自動(dòng)切換,提升系統(tǒng)的可靠性和穩(wěn)定性。
[0079]在另一可選實(shí)施例中,若業(yè)務(wù)服務(wù)器因數(shù)據(jù)來源異常等導(dǎo)致非系統(tǒng)原因報(bào)錯(cuò),則數(shù)據(jù)庫管理服務(wù)器釋放排它鎖并將運(yùn)行狀態(tài)更新為失敗狀態(tài),當(dāng)維護(hù)人員發(fā)現(xiàn)針對該非系統(tǒng)原因的報(bào)錯(cuò)信息并解決針對該報(bào)錯(cuò)信息的問題后,維護(hù)人員可以通過業(yè)務(wù)管理平臺(tái)將該批處理業(yè)務(wù)的運(yùn)行狀態(tài)更新為繼續(xù)執(zhí)行狀態(tài),進(jìn)而業(yè)務(wù)服務(wù)器向數(shù)據(jù)庫管理服務(wù)器發(fā)送狀態(tài)更新請求,數(shù)據(jù)庫管理服務(wù)器可以根據(jù)該狀態(tài)更新請求將運(yùn)行狀態(tài)更新為繼續(xù)執(zhí)行狀態(tài),則數(shù)據(jù)庫管理服務(wù)器中的所有業(yè)務(wù)服務(wù)器開始對當(dāng)前步驟標(biāo)識(shí)對應(yīng)的業(yè)務(wù)步驟進(jìn)行爭搶,即向數(shù)據(jù)庫管理服務(wù)器發(fā)送加鎖請求,則數(shù)據(jù)庫管理服務(wù)器可以基于先到先執(zhí)行的調(diào)度機(jī)制,根據(jù)首個(gè)加鎖請求將批處理業(yè)務(wù)加上排它鎖,首個(gè)加鎖請求對應(yīng)的業(yè)務(wù)服務(wù)器更新當(dāng)前步驟標(biāo)識(shí),并執(zhí)行批處理業(yè)務(wù)中經(jīng)過更新的步驟標(biāo)識(shí)對應(yīng)的業(yè)務(wù)步驟以獲取業(yè)務(wù)步驟的執(zhí)行結(jié)果,該業(yè)務(wù)服務(wù)器根據(jù)執(zhí)行結(jié)果通知數(shù)據(jù)庫管理服務(wù)器更新批處理業(yè)務(wù)的運(yùn)行狀態(tài),包括更新運(yùn)行狀態(tài)中的當(dāng)前步驟標(biāo)識(shí)。
[0080]在圖3所示的業(yè)務(wù)批處理方法中,首個(gè)加鎖請求對應(yīng)的業(yè)務(wù)服務(wù)器更新數(shù)據(jù)庫管理服務(wù)器發(fā)送的批處理業(yè)務(wù)的當(dāng)前步驟標(biāo)識(shí),并執(zhí)行批處理業(yè)務(wù)中經(jīng)過更新的步驟標(biāo)識(shí)對應(yīng)的業(yè)務(wù)步驟以獲取業(yè)務(wù)步驟的執(zhí)行結(jié)果,業(yè)務(wù)服務(wù)器將業(yè)務(wù)步驟根據(jù)執(zhí)行失敗結(jié)果通知數(shù)據(jù)庫管理服務(wù)器將批處理業(yè)務(wù)的運(yùn)行狀態(tài)更新為失敗狀態(tài),以使數(shù)據(jù)庫管理服務(wù)器將業(yè)務(wù)服務(wù)器執(zhí)行的業(yè)務(wù)步驟進(jìn)行回滾,數(shù)據(jù)庫管理服務(wù)器釋放排它鎖并向集群服務(wù)器中的業(yè)務(wù)服務(wù)器發(fā)送當(dāng)前步驟標(biāo)識(shí),由集群服務(wù)器中的業(yè)務(wù)服務(wù)器通過爭搶模式對批處理業(yè)務(wù)中的各個(gè)業(yè)務(wù)步驟進(jìn)行爭搶并執(zhí)行,提高系統(tǒng)的穩(wěn)定性,并提升工作效率。
[0081]請參見圖4,圖4是本發(fā)明實(shí)施例中提供的一種業(yè)務(wù)服務(wù)器400的結(jié)構(gòu)示意圖,如圖所示本發(fā)明實(shí)施例中的業(yè)務(wù)服務(wù)器400至少可以包括步驟標(biāo)識(shí)獲取單元410、加鎖請求發(fā)送單元420、執(zhí)行結(jié)果獲取單元430以及通知單元440,其中:
[0082]步驟標(biāo)識(shí)獲取單元410,用于獲取數(shù)據(jù)庫管理服務(wù)器發(fā)送的批處理業(yè)務(wù)的當(dāng)前步驟標(biāo)識(shí)。
[0083]加鎖請求發(fā)送單元420,用于向所述數(shù)據(jù)庫管理服務(wù)器發(fā)送加鎖請求,以使所述數(shù)據(jù)庫管理服務(wù)器根據(jù)首個(gè)加鎖請求將所述批處理業(yè)務(wù)加上排它鎖,所述排它鎖用于防止所述首個(gè)加鎖請求對應(yīng)的業(yè)務(wù)服務(wù)器以外的其他業(yè)務(wù)服務(wù)器對所述當(dāng)前步驟標(biāo)識(shí)進(jìn)行更新,集群服務(wù)器中的其他業(yè)務(wù)服務(wù)器因批處理業(yè)務(wù)加上了排它鎖而無法更新當(dāng)前步驟標(biāo)識(shí),處于等待狀態(tài)。
[0084]執(zhí)行結(jié)果獲取單元430,用于更新所述當(dāng)前步驟標(biāo)識(shí),并執(zhí)行所述批處理業(yè)務(wù)中所述經(jīng)過更新的步驟標(biāo)識(shí)對應(yīng)的業(yè)務(wù)步驟以獲取所述業(yè)務(wù)步驟的執(zhí)行結(jié)果。例如,批處理業(yè)務(wù)的運(yùn)行狀態(tài)是初始狀態(tài)時(shí),運(yùn)行狀態(tài)中的當(dāng)前步驟標(biāo)識(shí)可以為“0”,則執(zhí)行結(jié)果獲取單元430可以將當(dāng)前步驟標(biāo)識(shí)更新為“ I”,執(zhí)行批處理業(yè)務(wù)中經(jīng)過更新的步驟標(biāo)識(shí)“ I”對應(yīng)的業(yè)務(wù)步驟,即第一業(yè)務(wù)步驟,并獲取第一業(yè)務(wù)步驟的執(zhí)行結(jié)果。需要指出的是,步驟標(biāo)識(shí)可以為阿拉伯?dāng)?shù)字以及“2”等標(biāo)識(shí),可選的,步驟標(biāo)識(shí)還可以為英文字母“a”、“b”以及“ c ”等標(biāo)識(shí),本發(fā)明不做具體限定。
[0085]通知單元440,用于根據(jù)所述業(yè)務(wù)步驟的執(zhí)行結(jié)果通知所述數(shù)據(jù)庫管理服務(wù)器更新所述批處理業(yè)務(wù)的運(yùn)行狀態(tài),包括更新所述運(yùn)行狀態(tài)中的所述當(dāng)前步驟標(biāo)識(shí),所述數(shù)據(jù)庫管理服務(wù)器釋放所述排它鎖并向集群服務(wù)器中的業(yè)務(wù)服務(wù)器發(fā)送所述經(jīng)過更新的步驟標(biāo)識(shí)。例如,通知單元440根據(jù)所述業(yè)務(wù)步驟的執(zhí)行結(jié)果通知所述數(shù)據(jù)庫管理服務(wù)器更新所述批處理業(yè)務(wù)的運(yùn)行狀態(tài),包括更新所述運(yùn)行狀態(tài)中的所述當(dāng)前步驟標(biāo)識(shí),以使所述數(shù)據(jù)庫管理服務(wù)器釋放所述排它鎖,處于等待狀態(tài)的業(yè)務(wù)服務(wù)器發(fā)送當(dāng)前步驟標(biāo)識(shí)更新請求時(shí),可以接收數(shù)據(jù)庫管理服務(wù)器發(fā)送的步驟標(biāo)識(shí)更新失敗信息,則處于等待狀態(tài)的業(yè)務(wù)服務(wù)器放棄針對該業(yè)務(wù)步驟的爭搶,則針對該業(yè)務(wù)步驟的爭搶執(zhí)行流程結(jié)束,進(jìn)一步的,集群服務(wù)器中的多個(gè)業(yè)務(wù)服務(wù)器可以向數(shù)據(jù)庫管理服務(wù)器發(fā)送針對最新步驟標(biāo)識(shí)的獲取請求,則數(shù)據(jù)庫管理服務(wù)器可以根據(jù)獲取請求向集群服務(wù)器中的多個(gè)業(yè)務(wù)服務(wù)器發(fā)送經(jīng)過更新的步驟標(biāo)識(shí)。
[0086]其中,批處理業(yè)務(wù)的運(yùn)行狀態(tài)還可以包括初始狀態(tài)、執(zhí)行成功狀態(tài)、失敗狀態(tài)、繼續(xù)執(zhí)行狀態(tài)或者結(jié)束狀態(tài)。
[0087]作為一種可選的實(shí)施方式,本發(fā)明實(shí)施例中的業(yè)務(wù)服務(wù)器400還可以包括:
[0088]運(yùn)行狀態(tài)獲取單元450,用于獲取所述數(shù)據(jù)庫管理服務(wù)器發(fā)送的所述批處理業(yè)務(wù)的運(yùn)行狀態(tài),若所述運(yùn)行狀態(tài)不是失敗狀態(tài),并且所述運(yùn)行狀態(tài)不是結(jié)束狀態(tài),則觸發(fā)所述步驟標(biāo)識(shí)獲取單元410獲取所述數(shù)據(jù)庫管理服務(wù)器發(fā)送的所述當(dāng)前步驟標(biāo)識(shí)。
[0089]進(jìn)一步可選的,運(yùn)行狀態(tài)獲取單元450,還用于若所述運(yùn)行狀態(tài)是失敗狀態(tài),則經(jīng)過預(yù)設(shè)間隔時(shí)間后,獲取所述數(shù)據(jù)庫管理服務(wù)器發(fā)送的所述批處理業(yè)務(wù)的運(yùn)行狀態(tài)。
[0090]作為一種可選的實(shí)施方式,執(zhí)行結(jié)果包括執(zhí)行成功結(jié)果,則本發(fā)明實(shí)施例中的通知單元440可以如圖5所示,進(jìn)一步包括:
[0091]判斷模塊510,用于判斷所述業(yè)務(wù)步驟是否是所述批處理業(yè)務(wù)的最終業(yè)務(wù)步驟;
[0092]通知模塊520,用于若所述業(yè)務(wù)步驟是所述批處理業(yè)務(wù)的最終業(yè)務(wù)步驟,則根據(jù)所述執(zhí)行成功結(jié)果通知所述數(shù)據(jù)庫管理服務(wù)器將所述運(yùn)行狀態(tài)更新為結(jié)束狀態(tài);若所述業(yè)務(wù)步驟不是所述批處理業(yè)務(wù)的最終業(yè)務(wù)步驟,則根據(jù)所述執(zhí)行成功結(jié)果通知所述數(shù)據(jù)庫管理服務(wù)器將所述運(yùn)行狀態(tài)更新為執(zhí)行成功狀態(tài)。
[0093]作為一種可選的實(shí)施方式,執(zhí)行結(jié)果包括執(zhí)行失敗結(jié)果,則通知單元440,用于根據(jù)所述執(zhí)行失敗結(jié)果通知所述數(shù)據(jù)庫管理服務(wù)器將所述執(zhí)行結(jié)果獲取單元430執(zhí)行的業(yè)務(wù)步驟進(jìn)行回滾。
[0094]在圖4和圖5所示的業(yè)務(wù)服務(wù)器中,步驟標(biāo)識(shí)獲取單元410獲取數(shù)據(jù)庫管理服務(wù)器發(fā)送的批處理業(yè)務(wù)的當(dāng)前步驟標(biāo)識(shí),加鎖請求發(fā)送單元420向數(shù)據(jù)庫管理服務(wù)器發(fā)送加鎖請求,以使數(shù)據(jù)庫管理服務(wù)器根據(jù)首個(gè)加鎖請求將批處理業(yè)務(wù)加上排它鎖,執(zhí)行結(jié)果獲取單元430更新所述當(dāng)前步驟標(biāo)識(shí),并執(zhí)行批處理業(yè)務(wù)中經(jīng)過更新的步驟標(biāo)識(shí)對應(yīng)的業(yè)務(wù)步驟以獲取業(yè)務(wù)步驟的執(zhí)行結(jié)果,通知單元440根據(jù)業(yè)務(wù)步驟的執(zhí)行結(jié)果通知數(shù)據(jù)庫管理服務(wù)器更新批處理業(yè)務(wù)的運(yùn)行狀態(tài),包括更新運(yùn)行狀態(tài)中的當(dāng)前步驟標(biāo)識(shí),數(shù)據(jù)庫管理服務(wù)器釋放排它鎖并向集群服務(wù)器中的業(yè)務(wù)服務(wù)器發(fā)送經(jīng)過更新的步驟標(biāo)識(shí),可通過爭搶模式對批處理業(yè)務(wù)中的各個(gè)業(yè)務(wù)步驟進(jìn)行爭搶并執(zhí)行,以便于集群部署的多個(gè)業(yè)務(wù)服務(wù)器負(fù)載均衡,并提升工作效率。
[0095]請參見圖6,圖6是本發(fā)明實(shí)施例中提供的一種業(yè)務(wù)批處理系統(tǒng)600的結(jié)構(gòu)示意圖,如圖所示本發(fā)明實(shí)施例中的業(yè)務(wù)批處理系統(tǒng)600至少可以包括業(yè)務(wù)服務(wù)器610和數(shù)據(jù)庫管理服務(wù)器620,其中:
[0096]業(yè)務(wù)服務(wù)器610,用于獲取數(shù)據(jù)庫管理服務(wù)器620發(fā)送的批處理業(yè)務(wù)的當(dāng)前步驟標(biāo)識(shí),并向數(shù)據(jù)庫管理服務(wù)器620發(fā)送加鎖請求。
[0097]數(shù)據(jù)庫管理服務(wù)器620,用于根據(jù)首個(gè)加鎖請求將所述批處理業(yè)務(wù)加上排它鎖,所述排它鎖用于防止所述首個(gè)加鎖請求對應(yīng)的業(yè)務(wù)服務(wù)器610以外的其他業(yè)務(wù)服務(wù)器對所述當(dāng)前步驟標(biāo)識(shí)進(jìn)行更新。
[0098]業(yè)務(wù)服務(wù)器610,用于更新當(dāng)前步驟標(biāo)識(shí),并執(zhí)行批處理業(yè)務(wù)中經(jīng)過更新的步驟標(biāo)識(shí)對應(yīng)的業(yè)務(wù)步驟以獲取業(yè)務(wù)步驟的執(zhí)行結(jié)果,根據(jù)所述業(yè)務(wù)步驟的執(zhí)行結(jié)果通知數(shù)據(jù)庫管理服務(wù)器620更新所述批處理業(yè)務(wù)的運(yùn)行狀態(tài),包括更新所述運(yùn)行狀態(tài)中的所述當(dāng)前步驟標(biāo)識(shí)。
[0099]數(shù)據(jù)庫管理服務(wù)器620,用于更新批處理業(yè)務(wù)的運(yùn)行狀態(tài),包括更新運(yùn)行狀態(tài)中的當(dāng)前步驟標(biāo)識(shí),釋放所述排它鎖,并向業(yè)務(wù)服務(wù)器610發(fā)送經(jīng)過更新的步驟標(biāo)識(shí)。
[0100]其中,批處理業(yè)務(wù)的運(yùn)行狀態(tài)還可以包括初始狀態(tài)、執(zhí)行成功狀態(tài)、失敗狀態(tài)、繼續(xù)執(zhí)行狀態(tài)或者結(jié)束狀態(tài)。
[0101]作為一種可選的實(shí)施方式,業(yè)務(wù)服務(wù)器610獲取數(shù)據(jù)庫管理服務(wù)器620發(fā)送的批處理業(yè)務(wù)的當(dāng)前步驟標(biāo)識(shí)之前,還可以獲取數(shù)據(jù)庫管理服務(wù)器620發(fā)送的所述批處理業(yè)務(wù)的運(yùn)行狀態(tài),進(jìn)一步的,若所述運(yùn)行狀態(tài)不是失敗狀態(tài),并且所述運(yùn)行狀態(tài)不是結(jié)束狀態(tài),則觸發(fā)業(yè)務(wù)服務(wù)器610獲取數(shù)據(jù)庫管理服務(wù)器620發(fā)送的所述當(dāng)前步驟標(biāo)識(shí)。
[0102]進(jìn)一步可選的,若所述運(yùn)行狀態(tài)是失敗狀態(tài),則經(jīng)過預(yù)設(shè)間隔時(shí)間后,觸發(fā)業(yè)務(wù)服務(wù)器610獲取數(shù)據(jù)庫管理服務(wù)器620發(fā)送的所述批處理業(yè)務(wù)的運(yùn)行狀態(tài)。
[0103]作為一種可選的實(shí)施方式,執(zhí)行結(jié)果可以包括執(zhí)行成功結(jié)果,則業(yè)務(wù)服務(wù)器610將所述執(zhí)行結(jié)果發(fā)送給數(shù)據(jù)庫管理服務(wù)器620 ;
[0104]進(jìn)一步的,業(yè)務(wù)服務(wù)器610判斷所述業(yè)務(wù)步驟是否是所述批處理業(yè)務(wù)的最終業(yè)務(wù)步驟,若所述業(yè)務(wù)步驟是所述批處理業(yè)務(wù)的最終業(yè)務(wù)步驟,則根據(jù)所述執(zhí)行成功結(jié)果通知數(shù)據(jù)庫管理服務(wù)器620將所述運(yùn)行狀態(tài)更新為結(jié)束狀態(tài);若所述業(yè)務(wù)步驟不是所述批處理業(yè)務(wù)的最終業(yè)務(wù)步驟,則根據(jù)所述執(zhí)行成功結(jié)果通知數(shù)據(jù)庫管理服務(wù)器620將所述運(yùn)行狀態(tài)更新為執(zhí)行成功狀態(tài)。
[0105]作為一種可選的實(shí)施方式,執(zhí)行結(jié)果可以包括執(zhí)行失敗結(jié)果,則業(yè)務(wù)服務(wù)器610根據(jù)所述執(zhí)行結(jié)果通知數(shù)據(jù)庫管理服務(wù)器620更新所述批處理業(yè)務(wù)的運(yùn)行狀態(tài)具體為:
[0106]業(yè)務(wù)服務(wù)器610根據(jù)所述執(zhí)行失敗結(jié)果通知數(shù)據(jù)庫管理服務(wù)器620將所述業(yè)務(wù)服務(wù)器610執(zhí)行的業(yè)務(wù)步驟進(jìn)行回滾。
[0107]在圖6所示的業(yè)務(wù)批處理系統(tǒng)中,業(yè)務(wù)服務(wù)器610獲取數(shù)據(jù)庫管理服務(wù)器620發(fā)送的批處理業(yè)務(wù)的當(dāng)前步驟標(biāo)識(shí),并向數(shù)據(jù)庫管理服務(wù)器620發(fā)送加鎖請求,數(shù)據(jù)庫管理服務(wù)器620根據(jù)首個(gè)加鎖請求將批處理業(yè)務(wù)加上排它鎖,業(yè)務(wù)服務(wù)器610更新當(dāng)前步驟標(biāo)識(shí),并執(zhí)行批處理業(yè)務(wù)中經(jīng)過更新的步驟標(biāo)識(shí)對應(yīng)的業(yè)務(wù)步驟以獲取業(yè)務(wù)步驟的執(zhí)行結(jié)果,根據(jù)業(yè)務(wù)步驟的執(zhí)行結(jié)果通知數(shù)據(jù)庫管理服務(wù)器620更新批處理業(yè)務(wù)的運(yùn)行狀態(tài),包括更新運(yùn)行狀態(tài)中的當(dāng)前步驟標(biāo)識(shí),釋放所述排它鎖,并向業(yè)務(wù)服務(wù)器610發(fā)送經(jīng)過更新的步驟標(biāo)識(shí),可通過爭搶模式對批處理業(yè)務(wù)中的各個(gè)業(yè)務(wù)步驟進(jìn)行爭搶并執(zhí)行,以便于集群部署的多個(gè)業(yè)務(wù)服務(wù)器負(fù)載均衡,并提升工作效率。
[0108]本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例方法中的全部或部分流程,是可以通過計(jì)算機(jī)程序來指令相關(guān)的硬件來完成,所述的程序可存儲(chǔ)于計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中,該程序在執(zhí)行時(shí),可包括如上述各方法的實(shí)施例的流程。其中,所述的存儲(chǔ)介質(zhì)可為磁碟、光盤、只讀存儲(chǔ)記憶體(Read-Only Memory, ROM)或隨機(jī)存儲(chǔ)記憶體(Random AccessMemory, RAM)等。
[0109]需要說明的是,在上述實(shí)施例中,對各個(gè)實(shí)施例的描述都各有側(cè)重,某個(gè)實(shí)施例中沒有詳細(xì)描述的部分,可以參見其他實(shí)施例的相關(guān)描述。其次,本領(lǐng)域技術(shù)人員也應(yīng)該知悉,說明書中所描述的實(shí)施例均屬于優(yōu)選實(shí)施例,所涉及的動(dòng)作和模塊并不一定是本發(fā)明所必須的。
[0110]本發(fā)明實(shí)施例方法中的步驟可以根據(jù)實(shí)際需要進(jìn)行順序調(diào)整、合并和刪減。
[0111]本發(fā)明實(shí)施例裝置中的模塊可以根據(jù)實(shí)際需要進(jìn)行合并、劃分和刪減。
[0112]本發(fā)明實(shí)施例中所述模塊,可以通過通用集成電路,例如CPU (CentralProcessing Unit,中央處理器),或通過 ASIC (Applicat1n Specific IntegratedCircuit,專用集成電路)來實(shí)現(xiàn)。
[0113]以上對本發(fā)明實(shí)施例所提供的業(yè)務(wù)批處理方法、業(yè)務(wù)服務(wù)器以及系統(tǒng)進(jìn)行了詳細(xì)介紹,本文中應(yīng)用了具體個(gè)例對本發(fā)明的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想;同時(shí),對于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明的思想,在【具體實(shí)施方式】及應(yīng)用范圍上均會(huì)有改變之處,綜上所述,本說明書內(nèi)容不應(yīng)理解為對本發(fā)明的限制。
【權(quán)利要求】
1.一種業(yè)務(wù)批處理方法,其特征在于,所述方法包括: 集群服務(wù)器中的業(yè)務(wù)服務(wù)器獲取數(shù)據(jù)庫管理服務(wù)器發(fā)送的批處理業(yè)務(wù)的當(dāng)前步驟標(biāo)識(shí); 所述集群服務(wù)器中的業(yè)務(wù)服務(wù)器向所述數(shù)據(jù)庫管理服務(wù)器發(fā)送加鎖請求,以使所述數(shù)據(jù)庫管理服務(wù)器根據(jù)首個(gè)加鎖請求將所述批處理業(yè)務(wù)加上排它鎖,所述排它鎖用于防止所述首個(gè)加鎖請求對應(yīng)的業(yè)務(wù)服務(wù)器以外的其他業(yè)務(wù)服務(wù)器對所述當(dāng)前步驟標(biāo)識(shí)進(jìn)行更新; 所述業(yè)務(wù)服務(wù)器更新所述當(dāng)前步驟標(biāo)識(shí),并執(zhí)行所述批處理業(yè)務(wù)中所述經(jīng)過更新的步驟標(biāo)識(shí)對應(yīng)的業(yè)務(wù)步驟以獲取所述業(yè)務(wù)步驟的執(zhí)行結(jié)果; 所述業(yè)務(wù)服務(wù)器根據(jù)所述業(yè)務(wù)步驟的執(zhí)行結(jié)果通知所述數(shù)據(jù)庫管理服務(wù)器更新所述批處理業(yè)務(wù)的運(yùn)行狀態(tài),包括更新所述運(yùn)行狀態(tài)中的所述當(dāng)前步驟標(biāo)識(shí),以使所述數(shù)據(jù)庫管理服務(wù)器釋放所述排它鎖并向集群服務(wù)器中的業(yè)務(wù)服務(wù)器發(fā)送所述經(jīng)過更新的步驟標(biāo)識(shí)。
2.如權(quán)利要求1所述的方法,其特征在于,所述批處理業(yè)務(wù)的運(yùn)行狀態(tài)還包括初始狀態(tài)、執(zhí)行成功狀態(tài)、失敗狀態(tài)、繼續(xù)執(zhí)行狀態(tài)或者結(jié)束狀態(tài)。
3.如權(quán)利要求2所述的方法,其特征在于,所述集群服務(wù)器中的業(yè)務(wù)服務(wù)器獲取數(shù)據(jù)庫管理服務(wù)器發(fā)送的批處理業(yè)務(wù)的當(dāng)前步驟標(biāo)識(shí)之前,還包括: 所述集群服務(wù)器中的業(yè)務(wù)服務(wù)器獲取所述數(shù)據(jù)庫管理服務(wù)器發(fā)送的所述批處理業(yè)務(wù)的運(yùn)行狀態(tài); 若所述運(yùn)行狀態(tài)不是失敗狀態(tài),并且所述運(yùn)行狀態(tài)不是結(jié)束狀態(tài),則觸發(fā)所述集群服務(wù)器中的業(yè)務(wù)服務(wù)器獲取所述數(shù)據(jù)庫管理服務(wù)器發(fā)送的所述當(dāng)前步驟標(biāo)識(shí)。
4.如權(quán)利要求3所述的方法,其特征在于,所述方法還包括: 若所述運(yùn)行狀態(tài)是失敗狀態(tài),則經(jīng)過預(yù)設(shè)間隔時(shí)間后,觸發(fā)所述集群服務(wù)器中的業(yè)務(wù)服務(wù)器獲取所述數(shù)據(jù)庫管理服務(wù)器發(fā)送的所述批處理業(yè)務(wù)的運(yùn)行狀態(tài)。
5.如權(quán)利要求3所述的方法,其特征在于,所述執(zhí)行結(jié)果包括執(zhí)行成功結(jié)果; 所述業(yè)務(wù)服務(wù)器根據(jù)所述執(zhí)行結(jié)果通知所述數(shù)據(jù)庫管理服務(wù)器更新所述批處理業(yè)務(wù)的運(yùn)行狀態(tài)包括: 所述業(yè)務(wù)服務(wù)器判斷所述業(yè)務(wù)步驟是否是所述批處理業(yè)務(wù)的最終業(yè)務(wù)步驟; 若所述業(yè)務(wù)步驟是所述批處理業(yè)務(wù)的最終業(yè)務(wù)步驟,則所述業(yè)務(wù)服務(wù)器根據(jù)所述執(zhí)行成功結(jié)果通知所述數(shù)據(jù)庫管理服務(wù)器將所述運(yùn)行狀態(tài)更新為結(jié)束狀態(tài);若所述業(yè)務(wù)步驟不是所述批處理業(yè)務(wù)的最終業(yè)務(wù)步驟,則所述業(yè)務(wù)服務(wù)器根據(jù)所述執(zhí)行成功結(jié)果通知所述數(shù)據(jù)庫管理服務(wù)器將所述運(yùn)行狀態(tài)更新為執(zhí)行成功狀態(tài)。
6.如權(quán)利要求3所述的方法,其特征在于,所述執(zhí)行結(jié)果包括執(zhí)行失敗結(jié)果; 所述業(yè)務(wù)服務(wù)器根據(jù)所述執(zhí)行結(jié)果通知所述數(shù)據(jù)庫管理服務(wù)器更新所述批處理業(yè)務(wù)的運(yùn)行狀態(tài)包括: 所述業(yè)務(wù)服務(wù)器根據(jù)所述執(zhí)行失敗結(jié)果通知所述數(shù)據(jù)庫管理服務(wù)器將所述業(yè)務(wù)服務(wù)器執(zhí)行的所述業(yè)務(wù)步驟進(jìn)行回滾。
7.—種業(yè)務(wù)服務(wù)器,其特征在于,所述業(yè)務(wù)服務(wù)器包括: 步驟標(biāo)識(shí)獲取單元,用于獲取數(shù)據(jù)庫管理服務(wù)器發(fā)送的批處理業(yè)務(wù)的當(dāng)前步驟標(biāo)識(shí); 加鎖請求發(fā)送單元,用于向所述數(shù)據(jù)庫管理服務(wù)器發(fā)送加鎖請求,以使所述數(shù)據(jù)庫管理服務(wù)器根據(jù)首個(gè)加鎖請求將所述批處理業(yè)務(wù)加上排它鎖,所述排它鎖用于防止所述首個(gè)加鎖請求對應(yīng)的業(yè)務(wù)服務(wù)器以外的其他業(yè)務(wù)服務(wù)器對所述當(dāng)前步驟標(biāo)識(shí)進(jìn)行更新; 執(zhí)行結(jié)果獲取單元,用于更新所述當(dāng)前步驟標(biāo)識(shí),并執(zhí)行所述批處理業(yè)務(wù)中所述經(jīng)過更新的步驟標(biāo)識(shí)對應(yīng)的業(yè)務(wù)步驟以獲取所述業(yè)務(wù)步驟的執(zhí)行結(jié)果; 通知單元,用于根據(jù)所述業(yè)務(wù)步驟的執(zhí)行結(jié)果通知所述數(shù)據(jù)庫管理服務(wù)器更新所述批處理業(yè)務(wù)的運(yùn)行狀態(tài),包括更新所述運(yùn)行狀態(tài)中的所述當(dāng)前步驟標(biāo)識(shí),以使所述數(shù)據(jù)庫管理服務(wù)器釋放所述排它鎖并向集群服務(wù)器中的業(yè)務(wù)服務(wù)器發(fā)送所述經(jīng)過更新的步驟標(biāo)識(shí)。
8.如權(quán)利要求7所述的業(yè)務(wù)服務(wù)器,其特征在于,所述批處理業(yè)務(wù)的運(yùn)行狀態(tài)還包括初始狀態(tài)、執(zhí)行成功狀態(tài)、失敗狀態(tài)、繼續(xù)執(zhí)行狀態(tài)或者結(jié)束狀態(tài)。
9.如權(quán)利要求8所述的業(yè)務(wù)服務(wù)器,其特征在于,所述業(yè)務(wù)服務(wù)器還包括: 運(yùn)行狀態(tài)獲取單元,用于獲取所述數(shù)據(jù)庫管理服務(wù)器發(fā)送的所述批處理業(yè)務(wù)的運(yùn)行狀態(tài),若所述運(yùn)行狀態(tài)不是失敗狀態(tài),并且所述運(yùn)行狀態(tài)不是結(jié)束狀態(tài),則觸發(fā)所述步驟標(biāo)識(shí)獲取單元獲取所述數(shù)據(jù)庫管理服務(wù)器發(fā)送的所述當(dāng)前步驟標(biāo)識(shí)。
10.如權(quán)利要求9所述的業(yè)務(wù)服務(wù)器,其特征在于, 所述運(yùn)行狀態(tài)獲取單元,還用于若所述運(yùn)行狀態(tài)是失敗狀態(tài),則經(jīng)過預(yù)設(shè)間隔時(shí)間后,獲取所述數(shù)據(jù)庫管理服務(wù)器發(fā)送的所述批處理業(yè)務(wù)的運(yùn)行狀態(tài)。
11.如權(quán)利要求9所述的業(yè)務(wù)服務(wù)器,其特征在于,所述執(zhí)行結(jié)果包括執(zhí)行成功結(jié)果; 所述通知單元包括: 判斷模塊,用于判斷所述業(yè)務(wù)步驟是否是所述批處理業(yè)務(wù)的最終業(yè)務(wù)步驟; 通知模塊,用于若所述業(yè)務(wù)步驟是所述批處理業(yè)務(wù)的最終業(yè)務(wù)步驟,則根據(jù)所述執(zhí)行成功結(jié)果通知所述數(shù)據(jù)庫管理服務(wù)器將所述運(yùn)行狀態(tài)更新為結(jié)束狀態(tài);若所述業(yè)務(wù)步驟不是所述批處理業(yè)務(wù)的最終業(yè)務(wù)步驟,則根據(jù)所述執(zhí)行成功結(jié)果通知所述數(shù)據(jù)庫管理服務(wù)器將所述運(yùn)行狀態(tài)更新為執(zhí)行成功狀態(tài)。
12.如權(quán)利要求9所述的業(yè)務(wù)服務(wù)器,其特征在于,所述執(zhí)行結(jié)果包括執(zhí)行失敗結(jié)果; 所述通知單元,用于根據(jù)所述執(zhí)行失敗結(jié)果通知所述數(shù)據(jù)庫管理服務(wù)器將所述執(zhí)行結(jié)果獲取單元執(zhí)行的業(yè)務(wù)步驟進(jìn)行回滾。
13.一種業(yè)務(wù)批處理系統(tǒng),其特征在于,所述業(yè)務(wù)批處理系統(tǒng)包括數(shù)據(jù)庫管理服務(wù)器和如權(quán)利要求7?12所述的業(yè)務(wù)服務(wù)器,其中: 所述業(yè)務(wù)服務(wù)器,用于獲取所述數(shù)據(jù)庫管理服務(wù)器發(fā)送的批處理業(yè)務(wù)的當(dāng)前步驟標(biāo)識(shí),向所述數(shù)據(jù)庫管理服務(wù)器發(fā)送加鎖請求; 所述數(shù)據(jù)庫管理服務(wù)器,用于根據(jù)首個(gè)加鎖請求將所述批處理業(yè)務(wù)加上排它鎖,所述排它鎖用于防止所述首個(gè)加鎖請求對應(yīng)的業(yè)務(wù)服務(wù)器以外的其他業(yè)務(wù)服務(wù)器對所述當(dāng)前步驟標(biāo)識(shí)進(jìn)行更新; 所述業(yè)務(wù)服務(wù)器,用于更新所述當(dāng)前步驟標(biāo)識(shí),并執(zhí)行所述批處理業(yè)務(wù)中所述經(jīng)過更新的步驟標(biāo)識(shí)對應(yīng)的業(yè)務(wù)步驟以獲取所述業(yè)務(wù)步驟的執(zhí)行結(jié)果;根據(jù)所述業(yè)務(wù)步驟的執(zhí)行結(jié)果通知所述數(shù)據(jù)庫管理服務(wù)器更新所述批處理業(yè)務(wù)的運(yùn)行狀態(tài),包括更新所述運(yùn)行狀態(tài)中的所述當(dāng)前步驟標(biāo)識(shí); 所述數(shù)據(jù)庫管理服務(wù)器,用于更新所述批處理業(yè)務(wù)的運(yùn)行狀態(tài),包括更新所述運(yùn)行狀態(tài)中的所述當(dāng)前步驟標(biāo)識(shí),釋放所述排它鎖并向集群服務(wù)器中的業(yè)務(wù)服務(wù)器發(fā)送所述經(jīng)過更新的步驟標(biāo)識(shí)。
【文檔編號】G06F17/30GK104199869SQ201410406566
【公開日】2014年12月10日 申請日期:2014年8月18日 優(yōu)先權(quán)日:2014年8月18日
【發(fā)明者】楊琳, 潘國慧, 李偉, 張康, 吳金橋 申請人:中國建設(shè)銀行股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會(huì)獲得點(diǎn)贊!
1
城固县| 青铜峡市| 斗六市| 盐亭县| 景谷| 大竹县| 武平县| 常熟市| 额敏县| 梧州市| 玉树县| 黄龙县| 乌拉特后旗| 泸定县| 陇南市| 呼伦贝尔市| 娱乐| 太仆寺旗| 县级市| 贺兰县| 仪陇县| 江门市| 临安市| 车致| 思南县| 正定县| 衡阳县| 黄骅市| 西平县| 赤城县| 平顶山市| 余庆县| 开江县| 广水市| 怀宁县| 法库县| 广宁县| 靖远县| 建平县| 西平县| 镇平县|