一種基于異步處理的大數(shù)據(jù)量Excel文件導(dǎo)出方法
【專利摘要】一種基于異步處理的大數(shù)據(jù)量Excel文件導(dǎo)出方法,涉及一種數(shù)據(jù)導(dǎo)出方法。目前,處理大規(guī)模數(shù)據(jù)導(dǎo)出方法占用內(nèi)存資源過大。本發(fā)明包括以下步驟:Excel輔助應(yīng)用模塊將Excel數(shù)據(jù)分成若干數(shù)據(jù)組;當(dāng)應(yīng)用系統(tǒng)向Excel輔助應(yīng)用模塊發(fā)送Excel數(shù)據(jù)導(dǎo)出請(qǐng)求時(shí),Excel輔助應(yīng)用模塊向多個(gè)處理器提出Excel數(shù)據(jù)導(dǎo)出請(qǐng)求;每個(gè)處理器處理Excel數(shù)據(jù)導(dǎo)出請(qǐng)求時(shí),都在指定存儲(chǔ)路徑新建一個(gè)Excel文件;多個(gè)Excel文件疊加構(gòu)成的完整的Excel文件,用戶在存儲(chǔ)路徑下查看并下載生成的Excel文件。本技術(shù)方案業(yè)務(wù)處理時(shí)間短,占用單個(gè)處理器的內(nèi)存資源小,系統(tǒng)性能不受影響,提高用戶使用友好度。
【專利說明】一種基于異步處理的大數(shù)據(jù)量Excel文件導(dǎo)出方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種數(shù)據(jù)導(dǎo)出方法。
【背景技術(shù)】
[0002]Excel導(dǎo)出功能是各類信息系統(tǒng)提供的最為基本且頻繁應(yīng)用的功能,處理大規(guī)模數(shù)據(jù)導(dǎo)出業(yè)務(wù)一般采用分批次導(dǎo)出,這種方法消耗過多業(yè)務(wù)處理時(shí)間,影響后續(xù)業(yè)務(wù)應(yīng)用的開展。另一種極端的方式是“一次導(dǎo)出,持續(xù)等待”,如圖1所示,該方法占用內(nèi)存資源過大,導(dǎo)致系統(tǒng)性能下降,且用戶使用友好度下降。
【發(fā)明內(nèi)容】
[0003]本發(fā)明要解決的技術(shù)問題和提出的技術(shù)任務(wù)是對(duì)現(xiàn)有技術(shù)方案進(jìn)行完善與改進(jìn),提供一種基于異步處理的大數(shù)據(jù)量Excel文件導(dǎo)出方法,以達(dá)到提高處理速度及降低內(nèi)存資源的目的。為此,本發(fā)明采取以下技術(shù)方案。
[0004]一種基于異步處理的大數(shù)據(jù)量Excel文件導(dǎo)出方法,其特征在于包括以下步驟: DExcel輔助應(yīng)用模塊將Excel數(shù)據(jù)分成若干數(shù)據(jù)組;
2)當(dāng)應(yīng)用系統(tǒng)向Excel輔助應(yīng)用模塊發(fā)送Excel數(shù)據(jù)導(dǎo)出請(qǐng)求時(shí),Excel輔助應(yīng)用模塊向多個(gè)處理器提出Excel數(shù)據(jù)導(dǎo)出請(qǐng)求;
3)每個(gè)處理器處理Excel數(shù)據(jù)導(dǎo)出請(qǐng)求時(shí),都在指定存儲(chǔ)路徑新建一個(gè)Excel文件,通過訪問數(shù)據(jù)庫(kù),讀取記錄逐條寫入相應(yīng)Excel文件中;
4)多個(gè)處理器在指定的存儲(chǔ)路徑下形成多個(gè)Excel文件;多個(gè)Excel文件疊加構(gòu)成的完整的Excel文件,用戶在存儲(chǔ)路徑下查看并下載生成的Excel文件。
[0005]本技術(shù)方案采用異步導(dǎo)出工作機(jī)制,將Excel數(shù)據(jù)導(dǎo)出業(yè)務(wù)的數(shù)據(jù)查詢和文件生成過程分立,將占用較大時(shí)間和內(nèi)存的文件生成交由后臺(tái)Excel輔助應(yīng)用模塊處理,并在應(yīng)用中獨(dú)立開辟功能區(qū)域提供文件下載服務(wù)。
[0006]作為對(duì)上述技術(shù)方案的進(jìn)一步完善和補(bǔ)充,本發(fā)明還包括以下附加技術(shù)特征。
[0007]應(yīng)用系統(tǒng)通過Webservice接口向Excel輔助應(yīng)用模塊發(fā)送Excel數(shù)據(jù)導(dǎo)出請(qǐng)求。
[0008]Excel輔助應(yīng)用模塊將Excel數(shù)據(jù)分成數(shù)量與處理器相同的數(shù)據(jù)組,一個(gè)處理器導(dǎo)出一個(gè)數(shù)據(jù)組的數(shù)據(jù),多個(gè)處理器異步導(dǎo)出Excel文件的所有數(shù)據(jù)。
[0009]有益效果:本技術(shù)方案采用異步導(dǎo)出工作機(jī)制,將Excel數(shù)據(jù)導(dǎo)出業(yè)務(wù)的數(shù)據(jù)查詢和文件生成過程分立,將占用較大時(shí)間和內(nèi)存的文件生成交由后臺(tái)Excel輔助模塊處理,并在應(yīng)用中獨(dú)立開辟功能區(qū)域提供文件下載服務(wù);業(yè)務(wù)處理時(shí)間短,有利于后續(xù)業(yè)務(wù)應(yīng)用的開展,且占用單個(gè)處理器的內(nèi)存資源小,系統(tǒng)性能不受影響,提高用戶使用友好度。
【專利附圖】
【附圖說明】
[0010]圖1是現(xiàn)有的Excel數(shù)據(jù)導(dǎo)出方法。
[0011]圖2是本發(fā)明的流程圖。[0012]圖3是本發(fā)明的原理結(jié)構(gòu)圖。
【具體實(shí)施方式】
[0013]以下結(jié)合說明書附圖對(duì)本發(fā)明的技術(shù)方案做進(jìn)一步的詳細(xì)說明。
[0014]如圖2所示,本技術(shù)方案采用異步調(diào)用方式,其在響應(yīng)調(diào)用請(qǐng)求后立即返回主程序并執(zhí)行下一步驟,而將具體業(yè)務(wù)操作放至后臺(tái)運(yùn)行。取代如圖1所示的同步調(diào)用方式,步調(diào)用方式需等調(diào)用對(duì)象完成具體的業(yè)務(wù)操作后才能返回主程序并執(zhí)行下一步驟;本技術(shù)方案更好地保證系統(tǒng)的運(yùn)行性能,且有效縮短處理時(shí)間。
[0015]如圖3所示,本發(fā)明包括以下步驟:
DExcel輔助應(yīng)用模塊將Excel數(shù)據(jù)分成若干數(shù)據(jù)組;
2)當(dāng)應(yīng)用系統(tǒng)向Excel輔助應(yīng)用模塊發(fā)送Excel數(shù)據(jù)導(dǎo)出請(qǐng)求時(shí),Excel輔助應(yīng)用模塊向多個(gè)處理器提出Excel數(shù)據(jù)導(dǎo)出請(qǐng)求;
3)每個(gè)處理器處理Excel數(shù)據(jù)導(dǎo)出請(qǐng)求時(shí),都在指定存儲(chǔ)路徑新建一個(gè)Excel文件,通過訪問數(shù)據(jù)庫(kù),讀取記錄逐條寫入相應(yīng)Excel文件中;
4)多個(gè)處理器在指定的存儲(chǔ)路徑下形成多個(gè)Excel文件;多個(gè)Excel文件疊加構(gòu)成的完整的Excel文件,用戶在存儲(chǔ)路徑下查看并下載生成的Excel文件。
[0016]其中,應(yīng)用系統(tǒng)通過Webservice接口向Excel輔助應(yīng)用模塊發(fā)送Excel數(shù)據(jù)導(dǎo)出請(qǐng)求。為降低結(jié)構(gòu)的復(fù)雜性,Excel輔助應(yīng)用模塊將Excel數(shù)據(jù)分成數(shù)量與處理器相同的數(shù)據(jù)組,一個(gè)處理器導(dǎo)出一個(gè)數(shù)據(jù)組的數(shù)據(jù),多個(gè)處理器異步導(dǎo)出Excel文件的所有數(shù)據(jù)。
[0017]以上圖2、3所示的一種基于異步處理的大數(shù)據(jù)量Excel文件導(dǎo)出方法是本發(fā)明的具體實(shí)施例,已經(jīng)體現(xiàn)出本發(fā)明實(shí)質(zhì)性特點(diǎn)和進(jìn)步,可根據(jù)實(shí)際的使用需要,在本發(fā)明的啟示下,對(duì)其進(jìn)行形狀、結(jié)構(gòu)等方面的等同修改,均在本方案的保護(hù)范圍之列。
【權(quán)利要求】
1.一種基于異步處理的大數(shù)據(jù)量Excel文件導(dǎo)出方法,其特征在于包括以下步驟: Excel輔助應(yīng)用模塊將Excel數(shù)據(jù)分成若干數(shù)據(jù)組; 當(dāng)應(yīng)用系統(tǒng)向Excel輔助應(yīng)用模塊發(fā)送Excel數(shù)據(jù)導(dǎo)出請(qǐng)求時(shí),Excel輔助應(yīng)用模塊向多個(gè)處理器提出Excel數(shù)據(jù)導(dǎo)出請(qǐng)求; 每個(gè)處理器處理Excel數(shù)據(jù)導(dǎo)出請(qǐng)求時(shí),都在指定存儲(chǔ)路徑新建一個(gè)Excel文件,通過訪問數(shù)據(jù)庫(kù),讀取記錄逐條寫入相應(yīng)Excel文件中; 多個(gè)處理器在指定的存儲(chǔ)路徑下形成多個(gè)Excel文件;多個(gè)Excel文件疊加構(gòu)成的完整的Excel文件,用戶在存儲(chǔ)路徑下查看并下載生成的Excel文件。
2.根據(jù)權(quán)利要求2所述的一種基于異步處理的大數(shù)據(jù)量Excel文件導(dǎo)出方法,其特征在于:應(yīng)用系統(tǒng)通過Webservice接口向Excel輔助應(yīng)用模塊發(fā)送Excel數(shù)據(jù)導(dǎo)出請(qǐng)求。
3.根據(jù)權(quán)利要求2所述的一種基于異步處理的大數(shù)據(jù)量Excel文件導(dǎo)出方法,其特征在于=Excel輔助應(yīng)用模塊將Excel數(shù)據(jù)分成數(shù)量與處理器相同的數(shù)據(jù)組,一個(gè)處理器導(dǎo)出一個(gè)數(shù)據(jù)組的數(shù)據(jù),多個(gè)處理器異步導(dǎo)出Excel文件的所有數(shù)據(jù)。
【文檔編號(hào)】G06F17/30GK103810238SQ201310584833
【公開日】2014年5月21日 申請(qǐng)日期:2013年11月20日 優(yōu)先權(quán)日:2013年11月20日
【發(fā)明者】陳順德, 王紅凱, 李熊, 裘煒浩, 王志強(qiáng), 洪建光, 裴旭斌, 沈志豪, 蔣錦霞, 肖政, 陳清泰 申請(qǐng)人:國(guó)家電網(wǎng)公司, 國(guó)網(wǎng)浙江省電力公司信息通信分公司, 浙江創(chuàng)維自動(dòng)化工程有限公司