專利名稱::一種分布式任務(wù)系統(tǒng)及應(yīng)用該系統(tǒng)的數(shù)據(jù)處理方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及分布式任務(wù)
技術(shù)領(lǐng)域:
,特別涉及一種分布式任務(wù)系統(tǒng)及應(yīng)用該系統(tǒng)的數(shù)據(jù)處理方法。
背景技術(shù):
:在小型的服務(wù)器系統(tǒng)中,一般抓取數(shù)據(jù)和數(shù)據(jù)處理都由一臺服務(wù)器來實(shí)現(xiàn),但隨著數(shù)據(jù)量的增大,一臺服務(wù)器的效能已經(jīng)不能滿足系統(tǒng)的要求。于是業(yè)界通常將多臺服務(wù)器布置為分布式任務(wù)系統(tǒng)來進(jìn)行相關(guān)數(shù)據(jù)處理,并且,為了避免多臺服務(wù)器處理時(shí)會存在重復(fù)性的問題,通常采用時(shí)間片段鎖。務(wù),被多個(gè)服務(wù)器并發(fā)處理的情況;為了避免被多個(gè)服務(wù)器并發(fā)處理,根據(jù)任務(wù)的處理間隔時(shí)長決定時(shí)間片段的長度,從而以時(shí)間片段的方式來保證只有多臺服務(wù)器中一臺執(zhí)行操作。例如,設(shè)定的時(shí)間片段范圍為l分鐘(具體根據(jù)任務(wù)的處理間隔時(shí)長決定),在這1分鐘內(nèi),通過數(shù)據(jù)庫鎖的方式來保證只能有1臺服務(wù)器來執(zhí)行定時(shí)任務(wù);具體處理方式可以為以一張數(shù)據(jù)庫表控制并發(fā),這個(gè)表很小(數(shù)據(jù)列少、數(shù)據(jù)量只有一條記錄),只需要記錄上1分鐘執(zhí)行的機(jī)器名、機(jī)器IP或者M(jìn)AC地址即可;在進(jìn)入下l分鐘后,所有的服務(wù)器都來嘗試鎖該筆記錄,由于數(shù)據(jù)庫鎖的排他性,只會有l(wèi)臺服務(wù)器取得對該筆記錄的排他鎖,之后更新鎖時(shí)間和機(jī)器IP或MAC地址;那么別的服務(wù)器一旦鎖不住則自動退出嘗試并暫停任務(wù);等待下1分鐘再次嘗試取得排他鎖,以此類推。基于上述原理,現(xiàn)有的分布式任務(wù)系統(tǒng)及數(shù)據(jù)處理方案如下將服務(wù)器群即多臺服務(wù)器從邏輯上分為兩層,第一層為數(shù)據(jù)抓取層,第二層為數(shù)據(jù)處理層;物理結(jié)構(gòu)上所有的服務(wù)器都可以作為上述邏輯兩層中的口一貝;當(dāng)定時(shí)任務(wù)開始時(shí),通過時(shí)間片段鎖方式,確保一定時(shí)間段內(nèi)如i分鐘內(nèi),只能有一臺服務(wù)器充當(dāng)數(shù)據(jù)抓取的角色,由其與數(shù)據(jù)庫聯(lián)系進(jìn)行數(shù)據(jù)抓3取,根據(jù)優(yōu)化的配置將所抓取的數(shù)據(jù)進(jìn)行分發(fā),由數(shù)據(jù)處理層的服務(wù)器執(zhí)行具體的數(shù)據(jù)處理。比如某個(gè)海量數(shù)據(jù)處理任務(wù),硬件方面投入了20臺服務(wù)器,組成對該任務(wù)的執(zhí)行服務(wù)器群;以當(dāng)前時(shí)間10:OO整為例,在10:00-10:01之間,只能有一臺服務(wù)器鎖住該任務(wù)(可通過數(shù)據(jù)庫表加鎖的方式實(shí)現(xiàn)),由該服務(wù)器一次性讀取10000條數(shù)據(jù);按照10000/20分成500個(gè)批次分發(fā)給數(shù)據(jù)處理層的多臺服務(wù)器共同執(zhí)行,以達(dá)到并發(fā)處理的目的。現(xiàn)有的分布式任務(wù)系統(tǒng)及其數(shù)據(jù)處理方式至少存在如下的缺點(diǎn)1、在同一時(shí)間點(diǎn)只能有一臺服務(wù)器與數(shù)據(jù)庫進(jìn)行交互進(jìn)行業(yè)務(wù)數(shù)據(jù)抓取,那么這臺服務(wù)器就會成為系統(tǒng)的瓶頸所在;即使增加更多的硬件資源如繼續(xù)投入服務(wù)器,也無法解決在同一時(shí)間點(diǎn)的最大并發(fā)處理量,不能夠?qū)崿F(xiàn)水平擴(kuò)容;2、對于現(xiàn)有的分布式任務(wù)系統(tǒng),在程序編寫中勢必會根據(jù)當(dāng)前的業(yè)務(wù)數(shù)據(jù)量及所有的硬件資源綜合考慮,推導(dǎo)出當(dāng)前最優(yōu)的業(yè)務(wù)數(shù)據(jù)分配策略;而一旦增加了一臺或多臺服務(wù)器,程序分配算法勢必要從整體業(yè)務(wù)邏輯上重新設(shè)計(jì),以達(dá)到理論上的最優(yōu),即在增加服務(wù)器時(shí)需要修改程序代碼。
發(fā)明內(nèi)容本申請實(shí)施例在于提供一種分布式任務(wù)系統(tǒng)及應(yīng)用該系統(tǒng)的數(shù)據(jù)處理方法,在保證分布式任務(wù)系統(tǒng)不會重復(fù)處理相同數(shù)據(jù)的同時(shí),還能夠避免系統(tǒng)瓶頸最大限度的實(shí)現(xiàn)多服務(wù)器并發(fā)處理,實(shí)現(xiàn)水平擴(kuò)容,并且,在增加服務(wù)器后無需修改程序代碼。本申請實(shí)施例提供的一種分布式任務(wù)系統(tǒng),包括子任務(wù)拆分層,用于采取時(shí)間片段鎖的方式,將待處理的業(yè)務(wù)數(shù)據(jù)對應(yīng)的查詢過濾條件進(jìn)行拆分,下發(fā)所述拆分后的查詢過濾條件;數(shù)據(jù)裝載層,用于接收所述查詢過濾條件,從數(shù)據(jù)庫中獲取與所述查詢過濾條件對應(yīng)的待處理數(shù)據(jù),根據(jù)數(shù)據(jù)分配策略下發(fā)所述待處理數(shù)據(jù);數(shù)據(jù)處理層,用于對接收到的待處理數(shù)據(jù)進(jìn)行業(yè)務(wù)處理。其中,所述查詢過濾條件根據(jù)業(yè)務(wù)規(guī)則確定。其中,所述分布式任務(wù)系統(tǒng)中包括若干臺服務(wù)器;所述若干臺服務(wù)器中的一臺或多臺作為所述子任務(wù)拆分層、數(shù)據(jù)裝載層和^t據(jù)處理層中的一層或多層。本申請實(shí)施例還提供了一種數(shù)據(jù)處理方法,包括將分布式任務(wù)系統(tǒng)中的服務(wù)器從邏輯上分為子任務(wù)拆分層、數(shù)據(jù)裝載層和數(shù)據(jù)處理層三層;所述方法還包括所述子任務(wù)拆分層采取時(shí)間片段鎖的方式,將待處理的業(yè)務(wù)數(shù)據(jù)對應(yīng)的查詢過濾條件進(jìn)行拆分,下發(fā)所述拆分后的查詢過濾條件;所述數(shù)據(jù)裝載層接收所述查詢過濾條件,從數(shù)據(jù)庫中獲取與所述查詢過濾條件對應(yīng)的待處理數(shù)據(jù),根據(jù)數(shù)據(jù)分配策略下發(fā)所述待處理數(shù)據(jù);所述數(shù)據(jù)處理層對接收到的待處理數(shù)據(jù)進(jìn)行業(yè)務(wù)處理。其中,所述查詢過濾條件根據(jù)業(yè)務(wù)規(guī)則確定。其中,所述業(yè)務(wù)規(guī)則包括數(shù)據(jù)創(chuàng)建時(shí)間,或者,數(shù)據(jù)的處理優(yōu)先級,或者,數(shù)據(jù)創(chuàng)建時(shí)間和數(shù)據(jù)的處理優(yōu)先級。其中,所述若干臺服務(wù)器中的一臺或多臺作為所述子任務(wù)拆分層、數(shù)據(jù)裝載層和凄t據(jù)處理層中的一層或多層。應(yīng)用本申請實(shí)施例所提供的分布式任務(wù)系統(tǒng)及應(yīng)用該系統(tǒng)的數(shù)據(jù)處理方法,在保證分布式任務(wù)系統(tǒng)不會重復(fù)處理相同數(shù)據(jù)的同時(shí),還能夠避免系統(tǒng)瓶頸最大限度的實(shí)現(xiàn)多服務(wù)器并發(fā)處理,達(dá)到了業(yè)務(wù)需求與系統(tǒng)性能的最優(yōu)設(shè)計(jì)。再有,應(yīng)用本申請實(shí)施例,由于子任務(wù)拆分層不與數(shù)據(jù)庫進(jìn)行交互,避免了瓶頸問題,可以對服務(wù)器硬件資源的無限水平擴(kuò)容,無需修改代碼;適用各種大、中型分布式系統(tǒng)。再有,本申請實(shí)施例提供的三層邏輯結(jié)構(gòu)中,每層的處理方式由具體業(yè)務(wù)決定,如不同的任務(wù)、不同的數(shù)據(jù)量級,其查詢過濾條件拆分方式、數(shù)據(jù)裝載方式以及處理方式都會有不同,開發(fā)人員只需針對特定任務(wù),編寫每層的具體業(yè)務(wù)處理邏輯,經(jīng)過筒單的配置即可將該任務(wù)無縫集成至本申請的分布式任務(wù)處理體系中;同時(shí)由于本申請不侵入每個(gè)任務(wù)的具體業(yè)務(wù)邏輯,具有很好的可擴(kuò)展性。再有,本申請實(shí)施例不僅提高了處理數(shù)據(jù)的效能,而且具有;f艮強(qiáng)的通用性,所有的分布式任務(wù)系統(tǒng)都可以使用此方案進(jìn)行處理。為了更清楚地說明本申請實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作筒單地介紹,顯而易見地,下面描述中的附圖僅僅是本申請的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以才艮據(jù)這些附圖獲得其他的附圖。圖1是根據(jù)本申請實(shí)施例的一種分布式任務(wù)系統(tǒng)結(jié)構(gòu)示意圖;圖2是根據(jù)本申請實(shí)施例的數(shù)據(jù)處理方法流程圖。具體實(shí)施例方式下面將結(jié)合本申請實(shí)施例中的附圖,對本申請實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本申請一部分實(shí)施例,而不是全部的實(shí)施例。基于本申請中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實(shí)施例,都屬于本申請保護(hù)的范圍。參見圖l,其是^f艮據(jù)本申請實(shí)施例的一種分布式任務(wù)系統(tǒng)結(jié)構(gòu)示意圖。本例中,假設(shè)分布式任務(wù)系統(tǒng)包括10臺服務(wù)器,以下為描述方便對其進(jìn)行編號,分別為SERVER-1-1、SERVER-1隱2、SERVER-1-3、SERVER-1陽4、SERVER-1匿5、SERVER-2-1、SERVER-2-2、SERVER-2-3、SERVER畫2-4、SERVER-2-5。首先,將分布式任務(wù)系統(tǒng)中的若干臺服務(wù)器從邏輯上分為三層子任務(wù)拆分層、數(shù)據(jù)裝載層和數(shù)據(jù)處理層,以上編號后的服務(wù)器任何一臺都可以為其中一層或多層,也即所述若干臺服務(wù)器中的一臺或多臺可以作為所述子任務(wù)拆分層、數(shù)據(jù)裝載層和數(shù)據(jù)處理層中的一層或多層。這樣,本申請實(shí)施例所提供的分布式任務(wù)系統(tǒng)包括子任務(wù)拆分層101、數(shù)據(jù)裝載層102和數(shù)據(jù)處理層103,其中,子任務(wù)拆分層101,為分布式任務(wù)的啟動入口,用于采取時(shí)間片段鎖的方式,將待處理的業(yè)務(wù)數(shù)據(jù)對應(yīng)的查詢過濾條件進(jìn)行拆分,下發(fā)所述拆分后的查詢過濾條件。該查詢過濾條件根據(jù)業(yè)務(wù)規(guī)則確定,其中的業(yè)務(wù)規(guī)則包括但不限于數(shù)據(jù)創(chuàng)建時(shí)間,或者,數(shù)據(jù)的處理優(yōu)先級,或者,凝:據(jù)創(chuàng)建時(shí)間和數(shù)據(jù)的處理優(yōu)先級。可以理解,任何待處理的數(shù)據(jù),都可以根據(jù)一定的業(yè)務(wù)規(guī)則對其進(jìn)行拆分,也就是分割、細(xì)化數(shù)據(jù)隊(duì)列的查詢過濾條件。子任務(wù)拆分層101所拆分出的每個(gè)查詢過濾條件,是由各個(gè)系統(tǒng)的具體業(yè)務(wù)決定的,本文并不對具體的業(yè)務(wù)規(guī)則做限定。根據(jù)數(shù)據(jù)的創(chuàng)建時(shí)間進(jìn)行拆分是指每個(gè)查詢過濾條件只包含一定時(shí)間內(nèi)的數(shù)據(jù),比如只包含10:00:00~10:01:00的數(shù)據(jù)集。根據(jù)數(shù)據(jù)的處理優(yōu)先級進(jìn)行拆分是指每個(gè)過濾條件中包含了指定處理優(yōu)先級的數(shù)據(jù)集。這里的優(yōu)先級在銀行系統(tǒng)中可以反映為需要對諸如大客戶的數(shù)據(jù)優(yōu)先處理,系統(tǒng)在產(chǎn)生數(shù)據(jù)時(shí)就指定了數(shù)據(jù)的處理優(yōu)先級。當(dāng)然,子任務(wù)拆分層101還可以根據(jù)數(shù)據(jù)的創(chuàng)建時(shí)間和處理優(yōu)先級的復(fù)合方式拆分出查詢過濾條件。下面以最常見的根據(jù)數(shù)據(jù)的創(chuàng)建時(shí)間確定查詢過濾條件為例進(jìn)行說明。比如某大型系統(tǒng)今日處理了會計(jì)賬1000萬筆,需要日終與銀行的流水進(jìn)行勾兌;以系統(tǒng)當(dāng)前時(shí)間為起點(diǎn),至前10分鐘內(nèi);每隔1分鐘建立一個(gè)查詢過濾條件;這里的時(shí)間間隔可以根據(jù)需要任意設(shè)定,如以IO秒鐘、30秒鐘為時(shí)間分割點(diǎn)等等;這樣會產(chǎn)生若干個(gè)數(shù)據(jù)過濾查詢條件。需要說明的是,子任務(wù)拆分層101不進(jìn)行數(shù)據(jù)裝載和處理工作,只是按照業(yè)務(wù)規(guī)則拆分查詢過濾條件,并將拆分后的查詢過濾條件分發(fā)至服務(wù)群內(nèi)。至于如何具體拆分查詢過濾條件是根據(jù)業(yè)務(wù)需要所決定的,本文對此并不做限定。正因?yàn)樽尤蝿?wù)拆分層101僅^t查詢過濾條件的拆分操作,因而其不與凄t據(jù)庫聯(lián)系。需要說明的是,子任務(wù)拆分層101與現(xiàn)有的數(shù)據(jù)抓取層同樣釆取基于時(shí)間片段鎖的方式防止同一時(shí)間內(nèi)對相同數(shù)據(jù)的重復(fù)處理;不同之處在于子任務(wù)拆分層不進(jìn)行數(shù)據(jù)的裝載,不與數(shù)據(jù)庫交互;而是將數(shù)據(jù)裝載的查詢過濾條件分發(fā)至數(shù)據(jù)裝載層,由數(shù)據(jù)裝載層進(jìn)行后續(xù)處理。數(shù)據(jù)裝載層102,用于接收所述查詢過濾條件,從數(shù)據(jù)庫中獲取與所述查詢過濾條件對應(yīng)的待處理數(shù)據(jù),4艮據(jù)數(shù)據(jù)分配策略下發(fā)所述待處理數(shù)據(jù)。7數(shù)據(jù)裝載層102接收來自子任務(wù)拆分層101下發(fā)查詢過濾條件,由于每個(gè)查詢過濾條件是相互獨(dú)立的,比如10:00:00-10:00:59的查詢過濾條件和10:01:00-10:01:59的查詢過濾條件是相互獨(dú)立的,因而其所對應(yīng)的數(shù)據(jù)是不重疊的,所以不存在多臺服務(wù)器重復(fù)處理相同數(shù)據(jù)的風(fēng)險(xiǎn),這樣,處于數(shù)據(jù)裝載層的各服務(wù)器可以自行進(jìn)行數(shù)據(jù)裝載,不存在處理瓶頸。數(shù)據(jù)裝載層102所采用的分配策略是根據(jù)實(shí)際需要設(shè)定或計(jì)算得出的,本實(shí)施例對具體的分配策略不做限定。數(shù)據(jù)處理層103,用于對接收到的待處理數(shù)據(jù)進(jìn)行業(yè)務(wù)處理。數(shù)據(jù)處理層103是分布式任務(wù)系統(tǒng)的真正業(yè)務(wù)處理部分,不同的業(yè)務(wù)有其相應(yīng)的業(yè)務(wù)處理方式;由于前兩層的防重復(fù)處理與并發(fā)處理機(jī)制的保證,此層可專心處理業(yè)務(wù)凄t據(jù),本實(shí)施例對具體的業(yè)務(wù)處理方式不^L限定。可見,應(yīng)用本申請實(shí)施例所提供的分布式任務(wù)系統(tǒng),在保證分布式任務(wù)系統(tǒng)不會重復(fù)處理相同數(shù)據(jù)的同時(shí),還能夠避免系統(tǒng)瓶頸最大限度的實(shí)現(xiàn)多服務(wù)器并發(fā)處理,達(dá)到了業(yè)務(wù)需求與系統(tǒng)性能的最優(yōu)設(shè)計(jì)。再有,應(yīng)用本申請實(shí)施例所提供的分布式任務(wù)系統(tǒng),由于子任務(wù)拆分層不與數(shù)據(jù)庫進(jìn)行交互,避免了瓶頸問題,可以對服務(wù)器硬件資源無限水平擴(kuò)容,無需修改代碼;適用各種大、中型分布式系統(tǒng)。再有,本申請實(shí)施例提供的三層邏輯結(jié)構(gòu)中,每層的處理方式由具體業(yè)務(wù)決定,如不同的任務(wù)、不同的數(shù)據(jù)量級,其查詢過濾條件拆分方式、彩:據(jù)裝載方式以及處理方式都會有不同,開發(fā)人員只需針對特定任務(wù),編寫每層的具體業(yè)務(wù)處理邏輯,經(jīng)過簡單的配置即可將該任務(wù)無縫集成至本申請的分布式任務(wù)處理體系中;同時(shí)由于本申請不侵入每個(gè)任務(wù)的具體業(yè)務(wù)邏輯,具有很好的可擴(kuò)展性。再有,本申請實(shí)施例不僅提高了處理數(shù)據(jù)的效能,而且具有很強(qiáng)的通用性,所有的分布式任務(wù)系統(tǒng)都可以使用此方案進(jìn)行處理。參見圖2,其是才艮據(jù)本申請實(shí)施例的數(shù)據(jù)處理方法流程圖。本例中,已將分布式任務(wù)系統(tǒng)中的若干臺服務(wù)器從邏輯上分為三層即,子任務(wù)拆分層、數(shù)據(jù)裝載層和數(shù)據(jù)處理層,上述若干臺服務(wù)器中的一臺或多臺可以作為所述子任務(wù)拆分層、數(shù)據(jù)裝載層和數(shù)據(jù)處理層中的一層或多層,也就是說,對于一臺物理存在的服務(wù)器,其在邏輯上既可能處于子任務(wù)拆分層,也可能處于數(shù)據(jù)裝載層,還可能處于數(shù)據(jù)處理層,還可能處于上述三層的多層中。本實(shí)施例具體包括以下步驟步驟201,子任務(wù)拆分層采取時(shí)間片段鎖的方式,將待處理的業(yè)務(wù)數(shù)據(jù)對應(yīng)的查詢過濾條件進(jìn)行拆分,下發(fā)所述拆分后的查詢過濾條件,該查詢過濾條件可以是一個(gè)對象。子任務(wù)拆分層為分布式任務(wù)的啟動入口,其中的查詢過濾條件根據(jù)業(yè)務(wù)規(guī)則確定,該業(yè)務(wù)規(guī)則包括但不限于數(shù)據(jù)創(chuàng)建時(shí)間,或者,數(shù)據(jù)的處理優(yōu)先級,或者,數(shù)據(jù)創(chuàng)建時(shí)間和數(shù)據(jù)的處理優(yōu)先級??梢岳斫猓魏未幚淼臄?shù)據(jù),都可以根據(jù)一定的業(yè)務(wù)規(guī)則對其進(jìn)行拆分,也就是分割、細(xì)化數(shù)據(jù)隊(duì)列的查詢過濾條件。子任務(wù)拆分層所拆分出的每個(gè)查詢過濾條件,是由各個(gè)系統(tǒng)的具體業(yè)務(wù)決定的,本文并不對具體的業(yè)務(wù)規(guī)則做限定。需要說明的是,子任務(wù)拆分層不進(jìn)行數(shù)據(jù)裝載和處理工作,只是按照業(yè)務(wù)規(guī)則拆分查詢過濾條件,并將拆分后的查詢過濾條件分發(fā)至服務(wù)群內(nèi)。至于如何具體拆分查詢過濾條件是根據(jù)業(yè)務(wù)需要所決定的,本文對此并不做限定。正因?yàn)樽尤蝿?wù)拆分層僅做查詢過濾條件的拆分操作,因而其不與數(shù)據(jù)庫聯(lián)系。需要說明的是,子任務(wù)拆分層與現(xiàn)有的數(shù)據(jù)抓取層同樣采取基于時(shí)間片段鎖的方式防止同一時(shí)間內(nèi)對相同數(shù)據(jù)的重復(fù)處理;不同之處在于子任務(wù)拆分層不進(jìn)行數(shù)據(jù)的裝載,不與數(shù)據(jù)庫交互;而是將數(shù)據(jù)裝載的查詢過濾條件分發(fā)至數(shù)據(jù)裝載層,由數(shù)據(jù)裝載層進(jìn)行后續(xù)處理。步驟202,數(shù)據(jù)裝載層接收所述查詢過濾條件,從數(shù)據(jù)庫中獲取與所述查詢過濾條件對應(yīng)的待處理數(shù)據(jù),根據(jù)數(shù)據(jù)分配策略下發(fā)所述待處理數(shù)據(jù)??梢岳斫猓尤蝿?wù)拆分層和數(shù)據(jù)裝載層之間的交互是通過一個(gè)個(gè)具體的查詢過濾條件的,簡而言之,當(dāng)需要使用分布式任務(wù)時(shí),開發(fā)人員會事先根據(jù)業(yè)務(wù)特征來設(shè)計(jì)數(shù)據(jù)查詢過濾條件,子任務(wù)拆分層產(chǎn)生多個(gè)所設(shè)計(jì)的數(shù)據(jù)查詢過濾條件項(xiàng),當(dāng)數(shù)據(jù)裝載層接收到這樣的條件項(xiàng)時(shí),就能夠形成本次需要查詢的具體結(jié)構(gòu)4匕查詢i吾言(SQL,StructureQueryLanguage)。例如現(xiàn)有一個(gè)交易超時(shí)提醒用戶的分布式任務(wù),每日零點(diǎn)執(zhí)行,取得上一日零點(diǎn)至當(dāng)前時(shí)間內(nèi)的所有超時(shí)數(shù)據(jù),并進(jìn)行業(yè)務(wù)處理;數(shù)據(jù)量大約有1000萬筆;經(jīng)過評估,得知數(shù)據(jù)的分布比較均勻,每分鐘內(nèi)產(chǎn)生的業(yè)務(wù)數(shù)據(jù)在1000筆左右,由此設(shè)定的數(shù)據(jù)查詢過濾條件為每個(gè)子任務(wù)只裝載l分鐘內(nèi)的業(yè)務(wù)數(shù)據(jù);此時(shí)的數(shù)據(jù)查詢過濾條件可以是一個(gè)java^象,其含有創(chuàng)建時(shí)間起點(diǎn)、創(chuàng)建時(shí)間終點(diǎn)兩個(gè)屬性;自定義兩個(gè)屬性的名稱,如minGmtCreate、maxGmtCreate;定義數(shù)據(jù)裝載層的查詢SQL:select*fromtable—awheregmt—create>andgmt—create<=;子任務(wù)拆分層每次進(jìn)行拆分時(shí),產(chǎn)生若干個(gè)java^"象對數(shù)據(jù)裝載層下發(fā)、、.......數(shù)據(jù)裝載層拿到這樣的查詢過濾條件后,將每個(gè)對象內(nèi)的minGmtCreate、maxGmtCreate屬性填充至預(yù)定義的查詢SQL中,得到最終的查詢SQL:select*fromtable—awheregmt—create>'10:00:00,andgmt—create<='10:01:00,;select*fromtable—awheregmt—create〉'10:01:00,andgmt—create<='10:02:00、select*fromtable—awheregmt_create>,10:02:00,andgmt—create<='10:03:00,;由于每個(gè)查詢過濾條件是相互獨(dú)立的,比如10:00:00-10:00:59的查詢過濾條件和10:01:00-10:01:59的查詢過濾條件是相互獨(dú)立的,因而其所對應(yīng)的數(shù)據(jù)是不重疊的,所以不存在多臺服務(wù)器重復(fù)處理相同數(shù)據(jù)的風(fēng)險(xiǎn),這樣,處于數(shù)據(jù)裝載層的各服務(wù)器可以自行進(jìn)行數(shù)據(jù)裝載,不存在處理瓶頸。上述分配策略是根據(jù)實(shí)際需要設(shè)定或計(jì)算得出的,本實(shí)施例對具體的分配策略不做限定。步驟203,數(shù)據(jù)處理層對接收到的待處理數(shù)據(jù)進(jìn)行業(yè)務(wù)處理。10數(shù)據(jù)處理層103是分布式任務(wù)系統(tǒng)的真正業(yè)務(wù)處理部分,不同的業(yè)務(wù)有其相應(yīng)的業(yè)務(wù)處理方式;由于前兩層的防重復(fù)處理與并發(fā)處理^L制的保證,此層可專心處理業(yè)務(wù)數(shù)據(jù),本實(shí)施例對具體的業(yè)務(wù)處理方式不做限定。至此,完成了數(shù)據(jù)的處理。應(yīng)用本申請實(shí)施例所提供的數(shù)據(jù)處理方法,在保證分布式任務(wù)系統(tǒng)不會重復(fù)處理相同數(shù)據(jù)的同時(shí),還能夠避免系統(tǒng)瓶頸最大限度的實(shí)現(xiàn)多服務(wù)器并發(fā)處理,達(dá)到了業(yè)務(wù)需求與系統(tǒng)性能的最優(yōu)設(shè)計(jì)。再有,應(yīng)用本申請實(shí)施例所提供的數(shù)據(jù)處理方法,由于子任務(wù)拆分層不與數(shù)據(jù)庫進(jìn)行交互,避免了瓶頸問題,可以對服務(wù)器硬件資源的無限水平擴(kuò)容,無需修改代碼;適用各種大、中型分布式系統(tǒng)。再有,本申請實(shí)施例提供的三層邏輯結(jié)構(gòu)中,每層的處理方式由具體業(yè)務(wù)決定,如不同的任務(wù)、不同的數(shù)據(jù)量級,其查詢過濾條件拆分方式、數(shù)據(jù)裝載方式以及處理方式都會有不同,開發(fā)人員只需針對特定任務(wù),編寫每層的具體業(yè)務(wù)處理邏輯,經(jīng)過簡單的配置即可將該任務(wù)無縫集成至本申請的分布式任務(wù)處理體系中;同時(shí)由于本申請不侵入每個(gè)任務(wù)的具體業(yè)務(wù)邏輯,具有很好的可擴(kuò)展性。再有,本申請實(shí)施例不〗義提高了處理tt據(jù)的效能,而且具有^f艮強(qiáng)的通用性,所有的分布式任務(wù)系統(tǒng)都可以使用此方案進(jìn)行處理。本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述方法實(shí)施方式中的全部或部分步驟是可以通過程序來指令相關(guān)的硬件來完成,所述的程序可以存儲于計(jì)算機(jī)可讀取存儲介質(zhì)中,這里所稱得的存儲介質(zhì),如ROM/RAM、磁碟、光盤等。以上所述僅為本申請的較佳實(shí)施例而已,并非用于限定本申請的保護(hù)范圍。凡在本申請的精神和原則之內(nèi)所作的任何修改、等同替換、改進(jìn)等,均包含在本申請的保護(hù)范圍內(nèi)。權(quán)利要求1、一種分布式任務(wù)系統(tǒng),其特征在于,包括子任務(wù)拆分層,用于采取時(shí)間片段鎖的方式,將待處理的業(yè)務(wù)數(shù)據(jù)對應(yīng)的查詢過濾條件進(jìn)行拆分,下發(fā)所述拆分后的查詢過濾條件;數(shù)據(jù)裝載層,用于接收所述查詢過濾條件,從數(shù)據(jù)庫中獲取與所述查詢過濾條件對應(yīng)的待處理數(shù)據(jù),根據(jù)數(shù)據(jù)分配策略下發(fā)所述待處理數(shù)據(jù);數(shù)據(jù)處理層,用于對接收到的待處理數(shù)據(jù)進(jìn)行業(yè)務(wù)處理。2、根據(jù)權(quán)利要求1所述的分布式任務(wù)系統(tǒng),其特征在于,所述查詢過濾條件根據(jù)業(yè)務(wù)規(guī)則確定。3、根據(jù)權(quán)利要求1所述的分布式任務(wù)系統(tǒng),其特征在于,所述分布式任務(wù)系統(tǒng)中包括若干臺服務(wù)器;所述若干臺服務(wù)器中的一臺或多臺作為所述子任務(wù)拆分層、數(shù)據(jù)裝載層和數(shù)據(jù)處理層中的一層或多層。4、一種數(shù)據(jù)處理方法,其特征在于,包括將分布式任務(wù)系統(tǒng)中的若干臺服務(wù)器從邏輯上分為子任務(wù)拆分層、數(shù)據(jù)裝載層和數(shù)據(jù)處理層三層;所述方法還包括所述子任務(wù)拆分層采取時(shí)間片段鎖的方式,將待處理的業(yè)務(wù)數(shù)據(jù)對應(yīng)的查詢過濾條件進(jìn)行拆分,下發(fā)所述拆分后的查詢過濾條件;所述數(shù)據(jù)裝載層接收所述查詢過濾條件,從數(shù)據(jù)庫中獲取與所述查詢過濾條件對應(yīng)的待處理數(shù)據(jù),根據(jù)數(shù)據(jù)分配策略下發(fā)所述待處理數(shù)據(jù);所述數(shù)據(jù)處理層對接收到的待處理數(shù)據(jù)進(jìn)行業(yè)務(wù)處理。5、根據(jù)權(quán)利要求4所述方法,其特征在于,所述查詢過濾條件根據(jù)業(yè)務(wù)步見則確定。6、根據(jù)權(quán)利要求5所述方法,其特征在于,所述業(yè)務(wù)規(guī)則包括數(shù)據(jù)創(chuàng)建時(shí)間,或者,數(shù)據(jù)的處理優(yōu)先級,或者,數(shù)據(jù)創(chuàng)建時(shí)間和數(shù)據(jù)的處理優(yōu)先級。7、根據(jù)權(quán)利要求4所述方法,其特征在于,所述若干臺服務(wù)器中的一臺或多臺作為所述子任務(wù)拆分層、凝:據(jù)裝載層和邀:據(jù)處理層中的一層或多層。全文摘要本申請公開了一種分布式任務(wù)系統(tǒng)及應(yīng)用該系統(tǒng)的數(shù)據(jù)處理方法,所述系統(tǒng)包括子任務(wù)拆分層,用于采取時(shí)間片段鎖的方式,將待處理的業(yè)務(wù)數(shù)據(jù)對應(yīng)的查詢過濾條件進(jìn)行拆分,下發(fā)所述拆分后的查詢過濾條件;數(shù)據(jù)裝載層,用于接收所述查詢過濾條件,從數(shù)據(jù)庫中獲取與所述查詢過濾條件對應(yīng)的待處理數(shù)據(jù),根據(jù)數(shù)據(jù)分配策略下發(fā)所述待處理數(shù)據(jù);數(shù)據(jù)處理層,用于對接收到的待處理數(shù)據(jù)進(jìn)行業(yè)務(wù)處理。應(yīng)用本申請,在保證分布式任務(wù)系統(tǒng)不會重復(fù)處理相同數(shù)據(jù)的同時(shí),還能夠避免系統(tǒng)瓶頸最大限度的實(shí)現(xiàn)多服務(wù)器并發(fā)處理,達(dá)到了業(yè)務(wù)需求與系統(tǒng)性能的最優(yōu)設(shè)計(jì),可以實(shí)現(xiàn)硬件資源水平無限擴(kuò)展。文檔編號G06F17/30GK101464884SQ20081018659公開日2009年6月24日申請日期2008年12月31日優(yōu)先權(quán)日2008年12月31日發(fā)明者寄許申請人:阿里巴巴集團(tuán)控股有限公司