1.一種數(shù)據(jù)導(dǎo)出系統(tǒng),其特征在于,包括服務(wù)器端及與服務(wù)器端通信連接的各個(gè)客戶(hù)端;
各個(gè)客戶(hù)端運(yùn)行有下載系統(tǒng),所述下載系統(tǒng)用于提供用戶(hù)操作界面,根據(jù)用戶(hù)所發(fā)出的數(shù)據(jù)導(dǎo)出請(qǐng)求顯示對(duì)應(yīng)的任務(wù),并在服務(wù)器端準(zhǔn)備好數(shù)據(jù)導(dǎo)出文件后進(jìn)行下載;
所述服務(wù)器端用于響應(yīng)數(shù)據(jù)導(dǎo)出請(qǐng)求,進(jìn)行數(shù)據(jù)導(dǎo)出文件的準(zhǔn)備工作,并接受下載系統(tǒng)對(duì)數(shù)據(jù)導(dǎo)出文件的下載,其建立有數(shù)據(jù)導(dǎo)出請(qǐng)求隊(duì)列、導(dǎo)出線(xiàn)程池,還設(shè)置有請(qǐng)求接收單元、請(qǐng)求隊(duì)列管理單元、導(dǎo)出線(xiàn)程管理單元、導(dǎo)出請(qǐng)求拆分單元、子查詢(xún)單元、文件合并單元;
所述請(qǐng)求接收單元用于接收客戶(hù)端發(fā)送來(lái)的數(shù)據(jù)導(dǎo)出請(qǐng)求;
所述請(qǐng)求隊(duì)列管理單元用于根據(jù)數(shù)據(jù)導(dǎo)出請(qǐng)求,生成數(shù)據(jù)查詢(xún)語(yǔ)句,放入導(dǎo)出請(qǐng)求隊(duì)列;
所述導(dǎo)出線(xiàn)程管理單元用于控制導(dǎo)出線(xiàn)程池里的空閑線(xiàn)程獲取導(dǎo)出請(qǐng)求隊(duì)列中的導(dǎo)出請(qǐng)求對(duì)應(yīng)的數(shù)據(jù)查詢(xún)語(yǔ)句;
所述導(dǎo)出請(qǐng)求拆分單元用于將導(dǎo)出線(xiàn)程獲取的數(shù)據(jù)查詢(xún)語(yǔ)句拆分為多個(gè)子查詢(xún),分發(fā)給子查詢(xún)單元;
所述子查詢(xún)單元是根據(jù)導(dǎo)出請(qǐng)求拆分單元對(duì)數(shù)據(jù)查詢(xún)語(yǔ)句的拆分結(jié)果產(chǎn)生的,子查詢(xún)單元的個(gè)數(shù)與數(shù)據(jù)查詢(xún)語(yǔ)句被拆分個(gè)數(shù)相同,分別執(zhí)行對(duì)應(yīng)的子查詢(xún)操作,并根據(jù)查詢(xún)結(jié)果生成導(dǎo)出文件;
所述文件合并單元用于在各個(gè)子查詢(xún)單元成功生成導(dǎo)出文件后將各個(gè)子查詢(xún)單元的導(dǎo)出文件進(jìn)行合并,形成完整的數(shù)據(jù)導(dǎo)出文件。
2.如權(quán)利要求1所述的數(shù)據(jù)導(dǎo)出系統(tǒng),其特征在于,所述文件合并單元還將合并后的文件進(jìn)行壓縮。
3.如權(quán)利要求1所述的數(shù)據(jù)導(dǎo)出系統(tǒng),其特征在于,所述服務(wù)器端和客戶(hù)端設(shè)置有匹配的實(shí)時(shí)通信組件,所述實(shí)時(shí)通信組件用于服務(wù)器將其對(duì)各個(gè)任務(wù)的執(zhí)行進(jìn)度進(jìn)度以消息的形式發(fā)送給下載系統(tǒng),并在下載系統(tǒng)的界面上將任務(wù)的執(zhí)行進(jìn)度予以顯示。
4.如權(quán)利要求3所述的數(shù)據(jù)導(dǎo)出系統(tǒng),其特征在于,任務(wù)的執(zhí)行進(jìn)度種類(lèi)包括數(shù)據(jù)導(dǎo)出請(qǐng)求已接收和/或數(shù)據(jù)查詢(xún)語(yǔ)句已生成和/或數(shù)據(jù)查詢(xún)語(yǔ)句已導(dǎo)出和/或數(shù)據(jù)查詢(xún)語(yǔ)句已拆分和/或子查詢(xún)單元已生成和/或子查詢(xún)單元已查詢(xún)和/或子查詢(xún)單元導(dǎo)出文件已完成和/或?qū)С鑫募押喜⒑?或?qū)С鑫募?zhǔn)備成功和/或?qū)С鑫募?zhǔn)備失敗。
5.如權(quán)利要求3所述的數(shù)據(jù)導(dǎo)出系統(tǒng),其特征在于,所述下載系統(tǒng)在服務(wù)器端導(dǎo)出文件準(zhǔn)備成功后激活對(duì)應(yīng)對(duì)應(yīng)任務(wù)的下載功能。
6.如權(quán)利要求3所述的數(shù)據(jù)導(dǎo)出系統(tǒng),其特征在于,所述下載系統(tǒng)在服務(wù)器端導(dǎo)出文件準(zhǔn)備失敗后激活對(duì)應(yīng)軟件對(duì)應(yīng)任務(wù)的清除功能。
7.如權(quán)利要求3或4或5或6所述的數(shù)據(jù)導(dǎo)出系統(tǒng)的工作方法,其特征在于,包括如下步驟:
步驟一:客戶(hù)端向服務(wù)器端發(fā)出數(shù)據(jù)導(dǎo)出請(qǐng)求,下載系統(tǒng)創(chuàng)建該請(qǐng)求對(duì)應(yīng)的任務(wù)并予以顯示;
步驟二:服務(wù)端的請(qǐng)求接收單元接收到瀏覽器的數(shù)據(jù)導(dǎo)出請(qǐng)求,請(qǐng)求隊(duì)列管理單元根據(jù)數(shù)據(jù)導(dǎo)出請(qǐng)求生成數(shù)據(jù)查詢(xún)語(yǔ)句,放入導(dǎo)出請(qǐng)求隊(duì)列;
步驟三:導(dǎo)出線(xiàn)程管理單元查看導(dǎo)出線(xiàn)程池中是否有空閑線(xiàn)程,如無(wú)則等待直到具有空閑線(xiàn)程,否則控制空閑線(xiàn)程獲取導(dǎo)出請(qǐng)求隊(duì)列中的導(dǎo)出請(qǐng)求;
步驟四:導(dǎo)出請(qǐng)求拆分單元根據(jù)導(dǎo)出數(shù)據(jù)量,將導(dǎo)出請(qǐng)求拆分為多個(gè)子查詢(xún),系統(tǒng)根據(jù)子查詢(xún)數(shù)量建立對(duì)應(yīng)的子查詢(xún)單元;
步驟五:各個(gè)子查詢(xún)單元執(zhí)行對(duì)應(yīng)查詢(xún)操作,如果執(zhí)行成功,則生成導(dǎo)出文件,并執(zhí)行步驟六,否則不生成,并跳出本次工作流程;
步驟六:文件合并單元用于將各個(gè)子查詢(xún)單元的導(dǎo)出文件進(jìn)行合并,形成完整的數(shù)據(jù)導(dǎo)出文件;
步驟七:用戶(hù)通過(guò)下載系統(tǒng)導(dǎo)出數(shù)據(jù)導(dǎo)出文件。
8.如權(quán)利要求7所述的數(shù)據(jù)導(dǎo)出系統(tǒng)的工作方法,其特征在于,步驟二至步驟六中,服務(wù)器端通過(guò)實(shí)時(shí)通信組件將各個(gè)任務(wù)對(duì)應(yīng)的數(shù)據(jù)導(dǎo)出請(qǐng)求執(zhí)行進(jìn)度以消息的形式發(fā)送給下載系統(tǒng),下載系統(tǒng)將任務(wù)執(zhí)行進(jìn)度予以顯示。
9.如權(quán)利要求8所述的數(shù)據(jù)導(dǎo)出系統(tǒng)的工作方法,其特征在于,步驟二至步驟六中,下載系統(tǒng)顯示的任務(wù)執(zhí)行進(jìn)度的種類(lèi)包括數(shù)據(jù)導(dǎo)出請(qǐng)求已接收和/或數(shù)據(jù)查詢(xún)語(yǔ)句已生成和/或數(shù)據(jù)查詢(xún)語(yǔ)句已導(dǎo)出和/或數(shù)據(jù)查詢(xún)語(yǔ)句已拆分和/或子查詢(xún)單元已生成和/或子查詢(xún)單元已查詢(xún)和/或子查詢(xún)單元導(dǎo)出文件已完成和/或?qū)С鑫募押喜⒑?或?qū)С鑫募?zhǔn)備成功。
10.如權(quán)利要求8所述的數(shù)據(jù)導(dǎo)出系統(tǒng)的工作方法,其特征在于,在步驟五中,所述任務(wù)執(zhí)行進(jìn)度的種類(lèi)還包括導(dǎo)出文件準(zhǔn)備失敗,如果存在子查詢(xún)單元沒(méi)有生成導(dǎo)出文件,則服務(wù)器端通過(guò)實(shí)時(shí)通信組件發(fā)送表示導(dǎo)出文件準(zhǔn)備失敗的消息,用戶(hù)能夠通過(guò)下載系統(tǒng)清除相關(guān)任務(wù)。