專利名稱:一種支持高并發(fā)大數(shù)據(jù)量的數(shù)據(jù)抽取處理方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)據(jù)采集統(tǒng)計技術(shù)領(lǐng)域,特別涉及一種支持高并發(fā)大數(shù)據(jù)量的數(shù)據(jù)抽取處理方法。
背景技術(shù):
在企業(yè)決策中,對下游經(jīng)銷商中本企業(yè)產(chǎn)品進(jìn)銷存數(shù)據(jù)有著強(qiáng)烈地統(tǒng)計需求,如何從數(shù)量龐大的經(jīng)銷商處穩(wěn)定地獲取海量數(shù)據(jù)將成為問題關(guān)鍵,目前的采集方法都是獨(dú)立的,其過程不但繁瑣而且不夠穩(wěn)定。
發(fā)明內(nèi)容
為了解決現(xiàn)有技術(shù)的問題,本發(fā)明提供了一種支持高并發(fā)大數(shù)據(jù)量的數(shù)據(jù)抽取處理方法,通過靈活定義采集方案,由客戶端軟件定義采集SQL、采集頻率定時采集數(shù)據(jù),服務(wù)器組件提供安全登錄、數(shù)據(jù)導(dǎo)入、業(yè)務(wù)邏輯處理觸發(fā),從而將海量數(shù)據(jù)穩(wěn)定采集至企業(yè)數(shù)據(jù)庫中,為企業(yè)決策分析提供數(shù)據(jù)源。本發(fā)明所采用的技術(shù)方案如下:
一種支持高并發(fā)大數(shù)據(jù)量的數(shù)據(jù)抽取處理方法,其由客戶端的數(shù)據(jù)采集和服務(wù)器端的數(shù)據(jù)處理的兩部分方法構(gòu)成,其中,
A、客戶端的數(shù)據(jù)采集的方法具體包括:
B、從服務(wù)器端下載配置定義信息;
C、根據(jù)下載的配置定義信息和本地數(shù)據(jù)源結(jié)合,定義出具體的采集結(jié)構(gòu)化查詢語言信
息;
D、同時啟用采集判斷線程、采集線程、數(shù)據(jù)上傳線程和日志緩存線程;
E、采集判斷線程定時檢查采集定義是否可觸發(fā)采集,把需要執(zhí)行的采集明細(xì)傳遞給采集線程進(jìn)行后續(xù)執(zhí)行;
F、采集線程對每個采集明細(xì)信息逐個執(zhí)行,數(shù)據(jù)抽取后壓縮生成文件;
G、數(shù)據(jù)上傳線程定時檢查是否存在新文件,檢查到新文件后進(jìn)行逐個文件上傳;上傳失敗時,則繼續(xù)下個文件上傳,失敗文件等待下次繼續(xù)嘗試上傳;
H、日志緩存提供高效機(jī)制,在各線程和日志文件之間起到訪問緩沖,加快了各線程執(zhí)
行;
服務(wù)器端進(jìn)行數(shù)據(jù)處理的方法具體包括:
a、以網(wǎng)絡(luò)服務(wù)接口對外提供服務(wù),組件以視窗服務(wù)方式運(yùn)行;
b、服務(wù)器端組件啟動客戶端管理線程、文件傳輸管理線程、文件導(dǎo)入調(diào)度線程;
c、客戶端管理線程定時與數(shù)據(jù)庫交互,讀取客戶端配置信息和保存客戶端登錄信息至數(shù)據(jù)庫中;線程緩存客戶端的各類信息為文件傳輸和導(dǎo)入調(diào)度提供信息快速訪問,同時提供客戶端登錄驗(yàn)證功能;
d、文件傳輸管理線程控制傳輸許可分配、回收和數(shù)據(jù)的接收;e、文件導(dǎo)入調(diào)度線程提供相同客戶端同時只能導(dǎo)入一個文件、不同客戶端文件可并發(fā)的控制,對于出錯的文件導(dǎo)入需要提供容錯再次導(dǎo)入機(jī)制。配置定義信息包括以下內(nèi)容:
(O定義目標(biāo)對象:數(shù)據(jù)列名、字段類型、字段長度、字段說明、是否主鍵;
(2 )定義采集對象:表結(jié)構(gòu)信息(目標(biāo)對象),和日、周、月不同采集周期所對應(yīng)表名;
(3)采集方案:所包含采集對象集合定義和后處理方案;
(4)客戶端配置:登錄名、密碼、采集方案。本發(fā)明提供的技術(shù)方案帶來的有益效果是:
本發(fā)明通過靈活定義采集方案,由客戶端定義采集SQL (結(jié)構(gòu)化查詢語言)信息、采集頻率定時采集數(shù)據(jù),服務(wù)器端提供安全登錄、數(shù)據(jù)導(dǎo)入、業(yè)務(wù)邏輯處理觸發(fā),將海量數(shù)據(jù)穩(wěn)定采集至企業(yè)數(shù)據(jù)庫中,為企業(yè)決策分析提供數(shù)據(jù)源。
具體實(shí)施例方式為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合具體實(shí)施例對本發(fā)明實(shí)施方式作進(jìn)一步地詳細(xì)描述。實(shí)施例一
下面給出客戶端的數(shù)據(jù)采集和服務(wù)器端的數(shù)據(jù)處理的具體程序:
1、客戶端:
1.1規(guī)則日志緩存類,提供日志緩存、定時保存日志至文件中: public class TableLogBuffer: ThreadTaskBase
{
III定時執(zhí)行日志保存
protected override void TaskWorkFunc()
{
lock (_lock)
{
//內(nèi)存沒有變動的話,不需要保存至文件中 if (!—ismodified) return;
if (!Directory.Exists(LocalPath.LogPath))
Directory.CreateDirectory (LocalPath.LogPath);
//獲取格式信息的字節(jié)流
string strResult = Serializer.XmlSerialize (_logList); string strPath = LocalPath.LogPath + 〃Logs.xml〃; if (File.Exists(strPath))
File.Delete (strPath);
FileStream fs = new FiIeStream(strPath, FileMode.0penOrCreatej FileAccess.Write);
StreamWriter m_streamWriter = new StreamWriter (fs,
權(quán)利要求
1.一種支持高并發(fā)大數(shù)據(jù)量的數(shù)據(jù)抽取處理方法,其由客戶端的數(shù)據(jù)采集和服務(wù)器端的數(shù)據(jù)處理的兩部分方法構(gòu)成,其中, A、客戶端的數(shù)據(jù)采集的方法具體包括: B、從服務(wù)器端下載配置定義信息; C、根據(jù)下載的配置定義信息和本地數(shù)據(jù)源結(jié)合,定義出具體的采集結(jié)構(gòu)化查詢語言信息; D、同時啟用采集判斷線程、采集線程、數(shù)據(jù)上傳線程和日志緩存線程; E、采集判斷線程定 時檢查采集定義是否可觸發(fā)采集,把需要執(zhí)行的采集明細(xì)傳遞給采集線程進(jìn)行后續(xù)執(zhí)行; F、采集線程對每個采集明細(xì)信息逐個執(zhí)行,數(shù)據(jù)抽取后壓縮生成文件; G、數(shù)據(jù)上傳線程定時檢查是否存在新文件,檢查到新文件后進(jìn)行逐個文件上傳;上傳失敗時,則繼續(xù)下個文件上傳,失敗文件等待下次繼續(xù)嘗試上傳; H、日志緩存提供高效機(jī)制,在各線程和日志文件之間起到訪問緩沖,加快了各線程執(zhí)行; 服務(wù)器端進(jìn)行數(shù)據(jù)處理的方法具體包括: a、以網(wǎng)絡(luò)服務(wù)接口對外提供服務(wù),組件以視窗服務(wù)方式運(yùn)行; b、服務(wù)器端組件啟動客戶端管理線程、文件傳輸管理線程、文件導(dǎo)入調(diào)度線程; C、客戶端管理線程定時與數(shù)據(jù)庫交互,讀取客戶端配置信息和保存客戶端登錄信息至數(shù)據(jù)庫中;線程緩存客戶端的各類信息為文件傳輸和導(dǎo)入調(diào)度提供信息快速訪問,同時提供客戶端登錄驗(yàn)證功能; d、文件傳輸管理線程控制傳輸許可分配、回收和數(shù)據(jù)的接收; e、文件導(dǎo)入調(diào)度線程提供相同客戶端同時只能導(dǎo)入一個文件、不同客戶端文件可并發(fā)的控制,對于出錯的文件導(dǎo)入需要提供容錯再次導(dǎo)入機(jī)制。
2.根據(jù)權(quán)利要求1所述的一種支持高并發(fā)大數(shù)據(jù)量的數(shù)據(jù)抽取處理方法,其特征在于,所述的配置定義信息包括以下內(nèi)容: (O定義目標(biāo)對象:數(shù)據(jù)列名、字段類型、字段長度、字段說明、是否主鍵; (2)定義采集對象:表結(jié)構(gòu)信息(目標(biāo)對象),和日、周、月不同采集周期所對應(yīng)表名; (3)采集方案:所包含采集對象集合定義和后處理方案; (4)客戶端配置:登錄名、密碼、采集方案。
全文摘要
本發(fā)明涉及數(shù)據(jù)采集統(tǒng)計技術(shù)領(lǐng)域,特別涉及一種支持高并發(fā)大數(shù)據(jù)量的數(shù)據(jù)抽取處理方法。其通過靈活定義采集方案,由客戶端軟件定義采集SQL、采集頻率定時采集數(shù)據(jù),服務(wù)器組件提供安全登錄、數(shù)據(jù)導(dǎo)入、業(yè)務(wù)邏輯處理觸發(fā),從而將海量數(shù)據(jù)穩(wěn)定采集至企業(yè)數(shù)據(jù)庫中,為企業(yè)決策分析提供數(shù)據(jù)源。
文檔編號G06F17/30GK103235807SQ20131013832
公開日2013年8月7日 申請日期2013年4月19日 優(yōu)先權(quán)日2013年4月19日
發(fā)明者付傳偉 申請人:浪潮集團(tuán)山東通用軟件有限公司