李代偉+李蕖
摘要:為了解決當前業(yè)務數(shù)據(jù)處理中客戶群龐大、業(yè)務數(shù)據(jù)大、人工操作繁雜、重復性高等問題,針對現(xiàn)有核心系統(tǒng)構架并非針對完全連線化的設計,提出了同一Job內批次作業(yè)平行處理的通用批處理作業(yè)系統(tǒng)框架模型,采用斷點續(xù)接、參數(shù)化和模塊化設計等實現(xiàn)了該系統(tǒng)。研究結果表明:通過調節(jié)參數(shù),Batch循環(huán)流程控制,以滿足氣象、電信等不同業(yè)務的需要,系統(tǒng)能為其提供業(yè)務數(shù)據(jù)的快捷處理手段,提高了操作效率,減少了人工誤操作率,達到了通用批處理作業(yè)的效果。
關鍵詞:批處理作業(yè);Batch循環(huán)流程控制;斷點續(xù)接
中圖分類號:TP311.1 文獻標識碼:A
Design and Implementation of Java-based Universal Batch Job System
LI Daiwei,LI Qu
(Chengdu University of Information Technology,Chengdu 610225,China)
Abstract:In order to solve the current business data processing,with a huge customer base and a mass of business data,complicated manual operation,higher repeatability problems.For existing core system architecture is not directed entirely connection design,the paper proposes a batch job system framework model,which has batch operations in the same general purpose parallel processing job,using breakpoint access mechanisms,parametric and modular design.The results show that: by adjusting parameter,batch loop flow control,to meet the needs of meteorology and telecommunications,etc.The system can provide means of fast processing business data,improve the operational efficiency,reduce labor misuse rate,reaching a common batch job effects.
Keywords:batch job;batch process control loop;resume broken process
1 引言(Introduction)
在當前計算機和網(wǎng)絡高速發(fā)展的時代,現(xiàn)代企事業(yè)單位規(guī)模不斷壯大,眾多企事業(yè)都擁有數(shù)以萬計的客戶群,涉及龐大的業(yè)務數(shù)據(jù),尤其是氣象、電信、銀行、保險等,人們開始充分利用現(xiàn)有資源進行信息的高度集成處理,使用批處理模式使整個流程作業(yè)變得簡單化、規(guī)律化、集成化,逐漸脫離原先人工處理效率低下的局限性,從而大大增強了系統(tǒng)數(shù)據(jù)處理的能力。
傳統(tǒng)的線程和資源鎖并發(fā)編程,復雜、容易出錯、無法橫向擴展。目前,雖然Spring Batch是一款優(yōu)秀的、開源的大數(shù)據(jù)量并行處理框架,通過它也可構建出輕量級的健壯的并行處理應用[1];但卻沒有一個關于Java批處理架構的工業(yè)標準,商業(yè)化的批處理似乎處在一個嚴峻的狀態(tài):錯誤的架構風格和能力。盡管SOA日益增長,但仍需一種高強度的批處理架構來最有效地自動處理大容量的數(shù)據(jù)或事務卻無需人工干預;批處理,作為絕大多數(shù)IT項目的組成部分,當前卻處在一個沒有商業(yè)或開源Java框架來為其提供健壯的企業(yè)解決方案的尷尬境地;在企業(yè)應用里,批處理通常用來處理每天數(shù)以億計的事務處理,且這些處理任務非??量?。
因此,盡管缺乏批處理標準,但構建一個基于Java的通用批處理作業(yè)系統(tǒng)處理海量的業(yè)務數(shù)據(jù),提高業(yè)務工作效率是非常有必要的,也具有很大推廣應用價值。
2 系統(tǒng)總體架構設計(Overall system architecture
design)
Batch處理系統(tǒng)是由服務器統(tǒng)一管理,所有業(yè)務邏輯都集中在此Batch處理系統(tǒng)中,各類用戶負責數(shù)據(jù)的錄入和查詢,用戶分布廣泛,數(shù)據(jù)集中處理,因此在設計時充分考慮多種體系結構的優(yōu)缺點,系統(tǒng)采用三層C/S體系結構進行架構設計。
模塊化就是把一個復雜的系統(tǒng)分解為若干個規(guī)模較小、功能較簡單的、相對獨立、更易于建立和修改的模塊,分別加以設計實現(xiàn),各模塊在一定關系的約束下共同構成一個統(tǒng)一的整體,完成系統(tǒng)的功能[2]。采用模塊化設計思想,系統(tǒng)功能分為七大模塊:用戶交互界面、系統(tǒng)流程控制管理模塊、系統(tǒng)配置文件管理模塊、Batch流程處理模塊、日志管理模塊、數(shù)據(jù)庫管理模塊、文件控制模塊。
由于關系數(shù)據(jù)庫中包含多個數(shù)據(jù)表信息,含有數(shù)據(jù)定義、查詢、更新、控制等。Oracle是關系數(shù)據(jù)庫中使用最為廣泛的一種,采用標準SQL語言,數(shù)據(jù)類型支持大至4GB的二進制數(shù)據(jù),為數(shù)據(jù)庫的面向存儲提供了強大的數(shù)據(jù)支持、安全措施、數(shù)據(jù)互操作性、動態(tài)的數(shù)據(jù)存儲機制??紤]到Batch處理的客觀條件,系統(tǒng)開發(fā)采用了Oracle。當然,此框架系統(tǒng)是一個系統(tǒng)運行框架,可根據(jù)需要簡單、方便地設置數(shù)據(jù)庫類型,比如MySQL、MS SQL等。系統(tǒng)總體架構設計如圖1所示。
圖1 系統(tǒng)總體架構
Fig.1 Overall system architecture
3核心模塊軟件設計(Core Module Software
Design)
根據(jù)面向對象設計和模塊化的設計思想,將系統(tǒng)劃分的七大模塊中:用戶交互界面模塊依賴于系統(tǒng)流程控制管理模塊,為用戶提供可視化交互界面;系統(tǒng)配置文件管理模塊、Batch流程處理模塊、日志管理模塊、數(shù)據(jù)庫管理模塊、文件控制模塊作為獨立模塊存在,相互之間不存在直接依賴關系,其業(yè)務邏輯關系由系統(tǒng)流程控制管理模塊負責維護。其中,系統(tǒng)配置文件管理模塊、Batch流程處理模塊、文件控制模塊(輸入和輸出處理)為系統(tǒng)三大核心模塊。
3.1 系統(tǒng)配置文件管理模塊
通過用戶交互界面,選擇需要運行的Job,系統(tǒng)驅動模塊將讀取系統(tǒng)輸入模塊中所有的配置文件,并傳入系統(tǒng)執(zhí)行模塊,在系統(tǒng)執(zhí)行過程中會產(chǎn)生相應的系統(tǒng)活動日志和系統(tǒng)控制日志等日志文件,并且同時將其處理結果輸出到系統(tǒng)定義的輸出文件或數(shù)據(jù)庫。系統(tǒng)配置文件管理模塊結構如圖2所示。
圖2 系統(tǒng)配置文件管理模塊結構圖
Fig.2System configuration file management
module structure diagram
3.2 Batch流程處理模塊
3.2.1 單次循環(huán)Batch流程處理框架模型
當所有系統(tǒng)配置文件都準備好并運行一個指定的Batch處理程序后,系統(tǒng)框架將按照如圖3所示的流程加載系統(tǒng)配置文件。通過Loadini()讀取系統(tǒng)配置參數(shù),然后傳入CheckFiles()檢查所讀取參數(shù)的合法性,接著CheckOutFiles()檢查系統(tǒng)輸出文件類型及其合法性,當檢查都合法后,調用CheckDB()連接數(shù)據(jù)庫,之后,SetupCheckPoing()檢查系統(tǒng)斷點續(xù)接的屬性,然后系統(tǒng)正式進入系統(tǒng)執(zhí)行模塊Start(),當所有執(zhí)行完成后,通過WriteTraier()輸入系統(tǒng)完成信息,最后調用Shutdown()結束整個流程。
endprint
圖3單次循環(huán)Batch流程處理框架
Fig.3 A single cycle process of batch
processing framework
3.2.2循環(huán)Batch流程處理框架模型
通用批處理作業(yè)系統(tǒng)是對用戶數(shù)據(jù)進行大批量的一次性處理,以完成其人工操作的繁瑣性和復雜性,并且提高其人工操作的低效率。其主要功能是對程序循環(huán)流程的控制和對系統(tǒng)斷點續(xù)接的控制機制,其中核心功能是對系統(tǒng)循環(huán)流程的控制和處理。系統(tǒng)循環(huán)Batch流程處理框架模型如圖4所示。
圖4系統(tǒng)循環(huán)Batch流程處理框架
Fig.4System circulation process of batch
processing framework
為提高批處理效率,通過多線程并行執(zhí)行多個相互獨立的Step[3],設計了同一Job內批次作業(yè)平行處理模型,如圖5所示。
圖5 同一Job內批次作業(yè)平行處理模型
Fig.5 The batch operation parallel processing
model within the same Job
3.3 文件控制模塊
3.3.1 文件輸入處理
文件輸入處理均為ini文件,包括:系統(tǒng)環(huán)境控制文件、系統(tǒng)配置文件、單個Batch處理配置文件。
(1)系統(tǒng)環(huán)境控制文件(Ta_BatchEnvironment.ini)
系統(tǒng)環(huán)境控制文件是系統(tǒng)的核心文件,主要是連接數(shù)據(jù)庫的內容,其格式如下:
OPOMDB=[UID=orscm],[PWD=orscmdd],[DB=thin:@10.5.7.108:1521:ORUT23]
OPOMDB=[UID=root],[PWD=],[DB=localhost:3306/ ComBatchJob]
其中:數(shù)據(jù)庫名稱OPOMDB必須與單個Batch處理輸入文件中數(shù)據(jù)庫名稱一致。
(2)系統(tǒng)配置文件(Ta_BatchBI.ini)
系統(tǒng)配置文件包括系統(tǒng)的輸入輸出文件的物理路徑,其主要內容如下所示:
系統(tǒng)輸出數(shù)據(jù)文件夾,若系統(tǒng)輸出為文件類型輸出,則輸出在此文件夾。
SYS_OUTPUT_DIR=D:\CommBatchJob\output
系統(tǒng)輸入數(shù)據(jù)文件夾,若系統(tǒng)輸入為文件輸入,則輸入文件存放在此文件夾。
SYS_INPUT_DIR=D:\CommBatchJob\input
系統(tǒng)參數(shù)控制文件夾:根據(jù)輸入配置文件中參數(shù)來判斷系統(tǒng)下次啟動后數(shù)據(jù)的處理起始位置。
SYS_RESTART_DIR=D:\CommBatchJob\control\restart
系統(tǒng)錯誤文件夾:程序中產(chǎn)生的錯誤信息存放在此文件夾。
SYS_ERROR_DIR=D:\CommBatchJob\error
系統(tǒng)數(shù)據(jù)統(tǒng)計結果集:在程序最后統(tǒng)計此次batch處理共處理了多少數(shù)據(jù)。
SYS_ACTREP_CENT_DIR=D:\CommBatchJob\cnt_rpt
(3)單個Batch處理配置文件(Ta_Batch_
單個Batch處理配置文件是核心配置文件,程序所有控制參數(shù)都在此配置文件中。例如:
文件輸入控制屬性。若輸入數(shù)據(jù)采用文件輸入,則此處為文件的路徑和名稱;否則為空。
SYS_IN_DIR="[a=${SYS_INPUT_DIR}/OPMCAR101D/*]"
SYS_IN_FILE=""
SYS_IN_ARBDB=""
文件輸出控制屬性。若輸出方式采用文件輸出,則此處為文件的路徑和名稱;否則為空。
SYS_OUT_ARBDB=""
SYS_OUT_ORADB=""
SYS_DEST_DIR="[a=${SYS_OUTPUT_DIR}/OPMIOP101D{o}]"
單次數(shù)據(jù)庫提交處理數(shù)據(jù)最大量設置。Batch處理會涉及大量的數(shù)據(jù)處理,若內存中存放太多沒有提交的數(shù)據(jù),則數(shù)據(jù)庫會出現(xiàn)內存溢出現(xiàn)象,這里設置提交的最大量,例如設為100,則每處理完成100條數(shù)據(jù),則向數(shù)據(jù)庫commit一次。
SYS_COMMIT_FREQ="100"
數(shù)據(jù)庫提交超時時間設置,單位:秒。
SYS_COMMIT_TIMEOUT="10"
重新運行處理標志設置。這是一個相當重要的程序控制屬性,缺省為N。若設置為Y,則程序在下次重新運行程序時,會從上次中斷處接著處理。
SYS_RESTART_FLAG="N"
3.3.2 文件輸出處理
(1)處理結果輸出
用戶需要得到的處理輸出包括文件輸出或存入數(shù)據(jù)庫。如果系統(tǒng)輸入方式為文件輸出,則輸出文件的命名方式為:當前運行程序的Job Id加上輸入配置的seq文件。在通常情況下,需要得到的數(shù)據(jù)文件輸出為文本文件,但在某些特殊需求下,需把文本文件手工地提取為excel文件。為此,系統(tǒng)提供了相應的接口供用戶使用,以便用戶直接得到處理完好的excel文檔。
(2)系統(tǒng)日志
系統(tǒng)日志輸出部分主要包括:系統(tǒng)控制log文件、系統(tǒng)錯誤或異常log文件等。
(3)程序參數(shù)設定
程序在此框架下運行,需設置兩個重要的系統(tǒng)參數(shù):Program參數(shù)和VM參數(shù)。若程序需要調用服務器端的EJB,則需在VM參數(shù)中設置服務器端參數(shù),如IP地址、端口等。
4關鍵技術及其實現(xiàn)(Key technology and its
implementation)
4.1 支持多類型數(shù)據(jù)庫操作
在執(zhí)行數(shù)據(jù)庫操作時,在系統(tǒng)ini配置文件的application query中配置數(shù)據(jù)庫類型,這樣可以在不修改代碼情況下,直接配置設置文件,提高系統(tǒng)的靈活性。實現(xiàn)關鍵技術代碼如下:
paraSqlOpGetSI = "SELECT A.ACCT_ID,B.MASTER_ACCT_ID FROM OP_SVC_INST A, OP_ACCT B WHERE A.ACCT_ID = B.ACCT_ID AND A.SVC_INST_ID = ?"
opGetSI = opomCon.prepareStatement(apc.getAppsParam(paraSqlOpGetSI));
PreparedStatement sqlSelectnwinst = opomCon.prepareStatement(opGetSI);
sqlSelectnwinst.setString(1,SVC_INST_ID);
ResultSet rs = sqlSelectnwinst.executeQuery( );
4.2 Batch循環(huán)流程控制
系統(tǒng)啟動后是否接著上次未處理完處繼續(xù)處理還是從頭開始處理,并循環(huán)處理所有數(shù)據(jù),直至全部處理完成,這就需要對批處理作業(yè)進行循環(huán)流程控制。實現(xiàn)關鍵技術代碼如下:
if(restarted && !restarted_ok){
dbRow = chkpnt.getCurrentDbRow( );
if(dbRow == null) dbRow = chkpnt.getNextDbRow( );
restarted_ok = true;
} elsedbRow = chkpnt.getNextDbRow( );
if (dbRow != null) {
apps.startSource( );
while((rsRow = dbRow.getNextRSRow()) != null){
if(dbRow.keyBased)apps.process(rsRow);
elseapps.process(map);
dbRow.cnt++;
chkpnt.checkPoint( );
}
apps.endSource( );
}
5 實驗結果分析(Experimental results)
利用該系統(tǒng)先后對某氣象局、電信營業(yè)廳的一些歷史業(yè)務數(shù)據(jù)進行了實驗分析,并與這些歷史數(shù)據(jù)以前的實際處理情況進行對比,結果如表1所示。
表1實驗分析結果數(shù)據(jù)
Tab.1Experimental data analysis results
數(shù)據(jù)所屬行業(yè) 數(shù)據(jù)處理方式 數(shù)據(jù)量(條) 處理時間(秒) 斷點續(xù)接能力(%) 異常(錯誤)
中斷數(shù)據(jù)(條)
氣象 通用批處理作業(yè)系統(tǒng) 251345 683 99 28
原有處理系統(tǒng) 251345 915 90 37
電信 通用批處理作業(yè)系統(tǒng) 85420 296 98 12
原有處理系統(tǒng) 85420 410 92 19
從表1可以看出,該系統(tǒng)可明顯縮短業(yè)務數(shù)據(jù)處理時間,處理速度大概提高了1.34倍,斷點續(xù)接能力也有所提高,減少了因異常(或錯誤)而中斷數(shù)據(jù)處理的幾率。從而表明:該系統(tǒng)在批處理方面要比原有系統(tǒng)更準確,也提高了效率。
6 結論(Conclusion)
Batch處理系統(tǒng)由服務器進行統(tǒng)一管理,集中了所有業(yè)務邏輯處理,各類用戶負責數(shù)據(jù)的錄入和查詢,用戶分布廣泛,數(shù)據(jù)集中處理,因此在設計時選擇了三層模式進行設計實現(xiàn)。和類似系統(tǒng)比較,本系統(tǒng)具有如下優(yōu)勢:第一,具有斷點續(xù)接機制:當批處理遇到一些可恢復性錯誤時,比如輸入數(shù)據(jù)不平等,批處理中斷運行,并給出詳細的錯誤提示和運行日志,便于維護人員查找,同時提供斷點續(xù)接功能,使批處理能在斷點處繼續(xù)運行。第二,具備完善的控制機制:應用平臺在各項操作之間提供順序控制,能有效避免人工誤操作帶來的影響。通過調節(jié)參數(shù),對系統(tǒng)運行參數(shù)進行設置,以滿足不同業(yè)務的需要。第三,采用參數(shù)化和模塊化的設計思想:系統(tǒng)的各種控制都以參數(shù)形式實現(xiàn),通過管理和配置可以滿足不同業(yè)務需要;系統(tǒng)分成一些基本處理單元,每一處理單元形成一個模塊,這種模塊化的設計使得應用系統(tǒng)機構清晰、維護方便、具有良好的可擴展性。
因此,本文闡述的通用批處理作業(yè)系統(tǒng)在快速處理海量的業(yè)務數(shù)據(jù)、提高業(yè)務工作效率方面具有較廣意義的普適性和通用性。
參考文獻(References)
[1] 池建強.基于Spring Batch的大數(shù)據(jù)量并行處理[EB/OL].http://wenku.it168.com/d_000687949.shtml,2012-12-13.
[2] 張海藩.軟件工程導論(第6版)[M].北京:清華大學出版社,2013.
[3] 陳亞.基于中間件技術的數(shù)據(jù)批處理系統(tǒng)的設計與實現(xiàn)[J].電腦知識與技術,2008,4(34):1567-1568;1570.
作者簡介:
李代偉(1976-),男,碩士,講師.研究領域:軟件工程,計算機應用技術,云計算與大數(shù)據(jù)處理.
李蕖(1971-), 女, 碩士, 副教授.研究領域:軟件工程,計算機應用技術.
endprint
if (dbRow != null) {
apps.startSource( );
while((rsRow = dbRow.getNextRSRow()) != null){
if(dbRow.keyBased)apps.process(rsRow);
elseapps.process(map);
dbRow.cnt++;
chkpnt.checkPoint( );
}
apps.endSource( );
}
5 實驗結果分析(Experimental results)
利用該系統(tǒng)先后對某氣象局、電信營業(yè)廳的一些歷史業(yè)務數(shù)據(jù)進行了實驗分析,并與這些歷史數(shù)據(jù)以前的實際處理情況進行對比,結果如表1所示。
表1實驗分析結果數(shù)據(jù)
Tab.1Experimental data analysis results
數(shù)據(jù)所屬行業(yè) 數(shù)據(jù)處理方式 數(shù)據(jù)量(條) 處理時間(秒) 斷點續(xù)接能力(%) 異常(錯誤)
中斷數(shù)據(jù)(條)
氣象 通用批處理作業(yè)系統(tǒng) 251345 683 99 28
原有處理系統(tǒng) 251345 915 90 37
電信 通用批處理作業(yè)系統(tǒng) 85420 296 98 12
原有處理系統(tǒng) 85420 410 92 19
從表1可以看出,該系統(tǒng)可明顯縮短業(yè)務數(shù)據(jù)處理時間,處理速度大概提高了1.34倍,斷點續(xù)接能力也有所提高,減少了因異常(或錯誤)而中斷數(shù)據(jù)處理的幾率。從而表明:該系統(tǒng)在批處理方面要比原有系統(tǒng)更準確,也提高了效率。
6 結論(Conclusion)
Batch處理系統(tǒng)由服務器進行統(tǒng)一管理,集中了所有業(yè)務邏輯處理,各類用戶負責數(shù)據(jù)的錄入和查詢,用戶分布廣泛,數(shù)據(jù)集中處理,因此在設計時選擇了三層模式進行設計實現(xiàn)。和類似系統(tǒng)比較,本系統(tǒng)具有如下優(yōu)勢:第一,具有斷點續(xù)接機制:當批處理遇到一些可恢復性錯誤時,比如輸入數(shù)據(jù)不平等,批處理中斷運行,并給出詳細的錯誤提示和運行日志,便于維護人員查找,同時提供斷點續(xù)接功能,使批處理能在斷點處繼續(xù)運行。第二,具備完善的控制機制:應用平臺在各項操作之間提供順序控制,能有效避免人工誤操作帶來的影響。通過調節(jié)參數(shù),對系統(tǒng)運行參數(shù)進行設置,以滿足不同業(yè)務的需要。第三,采用參數(shù)化和模塊化的設計思想:系統(tǒng)的各種控制都以參數(shù)形式實現(xiàn),通過管理和配置可以滿足不同業(yè)務需要;系統(tǒng)分成一些基本處理單元,每一處理單元形成一個模塊,這種模塊化的設計使得應用系統(tǒng)機構清晰、維護方便、具有良好的可擴展性。
因此,本文闡述的通用批處理作業(yè)系統(tǒng)在快速處理海量的業(yè)務數(shù)據(jù)、提高業(yè)務工作效率方面具有較廣意義的普適性和通用性。
參考文獻(References)
[1] 池建強.基于Spring Batch的大數(shù)據(jù)量并行處理[EB/OL].http://wenku.it168.com/d_000687949.shtml,2012-12-13.
[2] 張海藩.軟件工程導論(第6版)[M].北京:清華大學出版社,2013.
[3] 陳亞.基于中間件技術的數(shù)據(jù)批處理系統(tǒng)的設計與實現(xiàn)[J].電腦知識與技術,2008,4(34):1567-1568;1570.
作者簡介:
李代偉(1976-),男,碩士,講師.研究領域:軟件工程,計算機應用技術,云計算與大數(shù)據(jù)處理.
李蕖(1971-), 女, 碩士, 副教授.研究領域:軟件工程,計算機應用技術.
endprint
if (dbRow != null) {
apps.startSource( );
while((rsRow = dbRow.getNextRSRow()) != null){
if(dbRow.keyBased)apps.process(rsRow);
elseapps.process(map);
dbRow.cnt++;
chkpnt.checkPoint( );
}
apps.endSource( );
}
5 實驗結果分析(Experimental results)
利用該系統(tǒng)先后對某氣象局、電信營業(yè)廳的一些歷史業(yè)務數(shù)據(jù)進行了實驗分析,并與這些歷史數(shù)據(jù)以前的實際處理情況進行對比,結果如表1所示。
表1實驗分析結果數(shù)據(jù)
Tab.1Experimental data analysis results
數(shù)據(jù)所屬行業(yè) 數(shù)據(jù)處理方式 數(shù)據(jù)量(條) 處理時間(秒) 斷點續(xù)接能力(%) 異常(錯誤)
中斷數(shù)據(jù)(條)
氣象 通用批處理作業(yè)系統(tǒng) 251345 683 99 28
原有處理系統(tǒng) 251345 915 90 37
電信 通用批處理作業(yè)系統(tǒng) 85420 296 98 12
原有處理系統(tǒng) 85420 410 92 19
從表1可以看出,該系統(tǒng)可明顯縮短業(yè)務數(shù)據(jù)處理時間,處理速度大概提高了1.34倍,斷點續(xù)接能力也有所提高,減少了因異常(或錯誤)而中斷數(shù)據(jù)處理的幾率。從而表明:該系統(tǒng)在批處理方面要比原有系統(tǒng)更準確,也提高了效率。
6 結論(Conclusion)
Batch處理系統(tǒng)由服務器進行統(tǒng)一管理,集中了所有業(yè)務邏輯處理,各類用戶負責數(shù)據(jù)的錄入和查詢,用戶分布廣泛,數(shù)據(jù)集中處理,因此在設計時選擇了三層模式進行設計實現(xiàn)。和類似系統(tǒng)比較,本系統(tǒng)具有如下優(yōu)勢:第一,具有斷點續(xù)接機制:當批處理遇到一些可恢復性錯誤時,比如輸入數(shù)據(jù)不平等,批處理中斷運行,并給出詳細的錯誤提示和運行日志,便于維護人員查找,同時提供斷點續(xù)接功能,使批處理能在斷點處繼續(xù)運行。第二,具備完善的控制機制:應用平臺在各項操作之間提供順序控制,能有效避免人工誤操作帶來的影響。通過調節(jié)參數(shù),對系統(tǒng)運行參數(shù)進行設置,以滿足不同業(yè)務的需要。第三,采用參數(shù)化和模塊化的設計思想:系統(tǒng)的各種控制都以參數(shù)形式實現(xiàn),通過管理和配置可以滿足不同業(yè)務需要;系統(tǒng)分成一些基本處理單元,每一處理單元形成一個模塊,這種模塊化的設計使得應用系統(tǒng)機構清晰、維護方便、具有良好的可擴展性。
因此,本文闡述的通用批處理作業(yè)系統(tǒng)在快速處理海量的業(yè)務數(shù)據(jù)、提高業(yè)務工作效率方面具有較廣意義的普適性和通用性。
參考文獻(References)
[1] 池建強.基于Spring Batch的大數(shù)據(jù)量并行處理[EB/OL].http://wenku.it168.com/d_000687949.shtml,2012-12-13.
[2] 張海藩.軟件工程導論(第6版)[M].北京:清華大學出版社,2013.
[3] 陳亞.基于中間件技術的數(shù)據(jù)批處理系統(tǒng)的設計與實現(xiàn)[J].電腦知識與技術,2008,4(34):1567-1568;1570.
作者簡介:
李代偉(1976-),男,碩士,講師.研究領域:軟件工程,計算機應用技術,云計算與大數(shù)據(jù)處理.
李蕖(1971-), 女, 碩士, 副教授.研究領域:軟件工程,計算機應用技術.
endprint