欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

數(shù)據(jù)處理方法、裝置、數(shù)據(jù)處理服務(wù)器及系統(tǒng)的制作方法

文檔序號:6523624閱讀:205來源:國知局
數(shù)據(jù)處理方法、裝置、數(shù)據(jù)處理服務(wù)器及系統(tǒng)的制作方法
【專利摘要】本發(fā)明公開了一種數(shù)據(jù)處理方法、裝置、數(shù)據(jù)處理服務(wù)器及系統(tǒng),屬于信息處理【技術(shù)領(lǐng)域】。所述方法包括:獲取接入配置信息;根據(jù)接入配置信息實時采集至少一個數(shù)據(jù);按照轉(zhuǎn)換后的通用協(xié)議識別出的每個數(shù)據(jù)的業(yè)務(wù)屬性信息將每個數(shù)據(jù)進(jìn)行分布式存儲;對每個數(shù)據(jù)進(jìn)行預(yù)處理及分揀處理,將分揀出的數(shù)據(jù)發(fā)送到分布式文件系統(tǒng),由分布式文件系統(tǒng)進(jìn)行存儲。本發(fā)明通過接入配置信息中的數(shù)據(jù)源信息實時采集至少一個數(shù)據(jù),并按照轉(zhuǎn)換后的通用協(xié)議識別出的業(yè)務(wù)屬性信息將每個數(shù)據(jù)進(jìn)行分布式存儲;再對每個數(shù)據(jù)進(jìn)行預(yù)處理及分揀處理,由分布式文件系統(tǒng)存儲分揀出的數(shù)據(jù),從而實現(xiàn)大量數(shù)據(jù)的實時采集及處理,并且協(xié)議轉(zhuǎn)換可實現(xiàn)不同類型數(shù)據(jù)的接入,提高了數(shù)據(jù)處理的效率。
【專利說明】數(shù)據(jù)處理方法、裝置、數(shù)據(jù)處理服務(wù)器及系統(tǒng)

【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及信息處理【技術(shù)領(lǐng)域】,特別涉及一種數(shù)據(jù)處理方法、裝置、數(shù)據(jù)處理服務(wù) 器及系統(tǒng)。

【背景技術(shù)】
[0002] 隨著信息處理技術(shù)的不斷發(fā)展,獲取的數(shù)據(jù)越來越多。為了更好地利用這些數(shù)據(jù), 需要對數(shù)據(jù)進(jìn)行分揀等處理。由于這些數(shù)據(jù)來自不同的數(shù)據(jù)源,在進(jìn)行數(shù)據(jù)處理時需要考 慮接入系統(tǒng)對不同類型的數(shù)據(jù)源的適配,并且數(shù)據(jù)需要及時采集以及分類等處理,從而避 免數(shù)據(jù)的積壓。因此,如何快速、及時地進(jìn)行數(shù)據(jù)處理成為人們關(guān)注的問題。
[0003] 目前,有兩種處理數(shù)據(jù)的方式。第一種批量預(yù)處理+接口機(jī)批量入庫方式:將待 處理數(shù)據(jù)寫入一個日志文件;根據(jù)接口機(jī)的接口表將一個日志文件拆分為多個日志文件, 使不同的接口對應(yīng)不同的日志文件;發(fā)送每個日志文件到接口機(jī)中與該日志文件對應(yīng)的接 口;通過與該日志文件對應(yīng)的接口存儲日志文件中的數(shù)據(jù)。第二種流式數(shù)據(jù)采集+離線批 量預(yù)處理方式:將數(shù)據(jù)發(fā)送到消息服務(wù)器;通過消息服務(wù)器將數(shù)據(jù)發(fā)送到接口機(jī);通過運(yùn) 行分類程序?qū)?shù)據(jù)進(jìn)行分類,使不同的接口對應(yīng)不同類別的數(shù)據(jù);通過與該類別的數(shù)據(jù)對 應(yīng)的接口存儲數(shù)據(jù)。
[0004] 在實現(xiàn)本發(fā)明的過程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)至少存在以下問題:
[0005] 第一種方式需要將數(shù)據(jù)寫入日志文件來完成數(shù)據(jù)采集的過程,致使采集數(shù)據(jù)的過 程沒有實時性;由于一個日志文件中包括所有數(shù)據(jù),則將一個日志文件拆分為多個日志文 件,即對日志文件中的數(shù)據(jù)進(jìn)行分類處理的過程也沒有實時性。另外,不同的數(shù)據(jù)需要對應(yīng) 的不同的分類處理規(guī)則,增加了數(shù)據(jù)處理的復(fù)雜度和成本。
[0006] 第二種方式需要運(yùn)行分類程序?qū)?shù)據(jù)進(jìn)行離線分類處理,致使數(shù)據(jù)分類處理的過 程沒有實時性。另外,分類程序?qū)?shù)據(jù)進(jìn)行分類處理的效率不高,造成了系統(tǒng)資源的浪費(fèi)。


【發(fā)明內(nèi)容】

[0007] 為了解決現(xiàn)有技術(shù)的問題,本發(fā)明實施例提供了一種數(shù)據(jù)處理方法、裝置、數(shù)據(jù)處 理服務(wù)器及系統(tǒng)。所述技術(shù)方案如下 :
[0008] -方面,提供了一種數(shù)據(jù)處理方法,所述方法包括:
[0009] 獲取接入配置信息,所述接入配置信息中至少包括業(yè)務(wù)標(biāo)識信息、業(yè)務(wù)屬性信息、 數(shù)據(jù)源信息、接口信息及入庫信息;
[0010] 根據(jù)所述接入配置信息中的數(shù)據(jù)源信息實時采集至少一個數(shù)據(jù);
[0011] 將每個數(shù)據(jù)的協(xié)議轉(zhuǎn)換成通用協(xié)議,通過所述通用協(xié)議識別每個數(shù)據(jù)的業(yè)務(wù)屬性 信息,并按照每個數(shù)據(jù)的業(yè)務(wù)屬性信息將每個數(shù)據(jù)進(jìn)行分布式存儲;
[0012] 對每個數(shù)據(jù)進(jìn)行預(yù)處理及分揀處理,將分揀出的數(shù)據(jù)發(fā)送到分布式文件系統(tǒng),由 所述分布式文件系統(tǒng)進(jìn)行存儲。
[0013] 另一方面,提供了一種數(shù)據(jù)處理裝置,所述裝置包括:
[0014] 獲取模塊,用于獲取接入配置信息,所述接入配置信息中至少包括業(yè)務(wù)標(biāo)識信息、 業(yè)務(wù)屬性信息、數(shù)據(jù)源信息、接口信息及入庫信息;
[0015] 采集模塊,用于根據(jù)所述接入配置信息中的數(shù)據(jù)源信息實時采集至少一個數(shù)據(jù);
[0016] 轉(zhuǎn)換模塊,用于將每個數(shù)據(jù)的協(xié)議轉(zhuǎn)換成通用協(xié)議;
[0017] 第一識別模塊,用于通過所述通用協(xié)議識別每個數(shù)據(jù)的業(yè)務(wù)屬性信息;
[0018] 存儲模塊,用于按照每個數(shù)據(jù)的業(yè)務(wù)屬性信息將每個數(shù)據(jù)進(jìn)行分布式存儲;
[0019] 處理模塊,用于對每個數(shù)據(jù)進(jìn)行預(yù)處理及分揀處理,將分揀出的數(shù)據(jù)發(fā)送到分布 式文件系統(tǒng),由所述分布式文件系統(tǒng)進(jìn)行存儲。
[0020] 還提供了一種數(shù)據(jù)處理服務(wù)器,所述數(shù)據(jù)處理服務(wù)器包括:一個或一個以上的處 理器和存儲器,一個或者一個以上的程序存儲于所述存儲器中,且經(jīng)配置以由一個或者一 個以上的處理器執(zhí)行,所述一個或者一個以上的程序包含用于進(jìn)行以下操作的指令:
[0021] 獲取接入配置信息,所述接入配置信息中至少包括業(yè)務(wù)標(biāo)識信息、業(yè)務(wù)屬性信息、 數(shù)據(jù)源信息、接口信息及入庫信息;
[0022] 根據(jù)所述接入配置信息中的數(shù)據(jù)源信息實時采集至少一個數(shù)據(jù);
[0023] 將每個數(shù)據(jù)的協(xié)議轉(zhuǎn)換成通用協(xié)議,通過所述通用協(xié)議識別每個數(shù)據(jù)的業(yè)務(wù)屬性 信息,并按照每個數(shù)據(jù)的業(yè)務(wù)屬性信息將每個數(shù)據(jù)進(jìn)行分布式存儲;
[0024] 對每個數(shù)據(jù)進(jìn)行預(yù)處理及分揀處理,將分揀出的數(shù)據(jù)發(fā)送到分布式文件系統(tǒng),由 所述分布式文件系統(tǒng)進(jìn)行存儲。
[0025] 還提供了一種數(shù)據(jù)處理系統(tǒng),所述系統(tǒng)包括:數(shù)據(jù)處理服務(wù)器、業(yè)務(wù)服務(wù)器和消息 服務(wù)器,所述數(shù)據(jù)處理服務(wù)器分別與所述業(yè)務(wù)服務(wù)器和消息服務(wù)器進(jìn)行無線或有線連接;
[0026] 其中,所述數(shù)據(jù)處理服務(wù)器,用于獲取接入配置信息,根據(jù)所述接入配置信息中的 數(shù)據(jù)源信息實時采集所述業(yè)務(wù)服務(wù)器及所述消息服務(wù)器上的至少一個數(shù)據(jù);將每個數(shù)據(jù)的 協(xié)議轉(zhuǎn)換成通用協(xié)議,通過所述通用協(xié)議識別每個數(shù)據(jù)的業(yè)務(wù)屬性信息,并按照每個數(shù)據(jù) 的業(yè)務(wù)屬性信息將每個數(shù)據(jù)進(jìn)行分布式存儲;對每個數(shù)據(jù)進(jìn)行預(yù)處理及分揀處理,將分揀 出的數(shù)據(jù)發(fā)送到分布式文件系統(tǒng),由所述分布式文件系統(tǒng)進(jìn)行存儲。
[0027] 本發(fā)明實施例提供的技術(shù)方案帶來的有益效果是:
[0028] 通過根據(jù)接入配置信息中的數(shù)據(jù)源信息實時采集至少一個數(shù)據(jù),并按照轉(zhuǎn)換后的 通用協(xié)議識別出的業(yè)務(wù)屬性信息將每個數(shù)據(jù)進(jìn)行分布式存儲;再對每個數(shù)據(jù)進(jìn)行預(yù)處理及 分揀處理,由分布式文件系統(tǒng)存儲分揀出的數(shù)據(jù),從而實現(xiàn)大量數(shù)據(jù)的實時采集及處理,并 且協(xié)議轉(zhuǎn)換可實現(xiàn)不同類型數(shù)據(jù)的接入,提高了數(shù)據(jù)處理的效率。

【專利附圖】

【附圖說明】
[0029] 為了更清楚地說明本發(fā)明實施例中的技術(shù)方案,下面將對實施例描述中所需要使 用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于 本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他 的附圖。
[0030] 圖1是本發(fā)明實施例一提供的數(shù)據(jù)處理方法流程圖;
[0031] 圖2是本發(fā)明實施例二提供的數(shù)據(jù)處理系統(tǒng)的示意圖;
[0032] 圖3是本發(fā)明實施例二提供的數(shù)據(jù)處理方法流程圖;
[0033] 圖4是本發(fā)明實施例二提供的打包結(jié)構(gòu)的示意圖;
[0034] 圖5是本發(fā)明實施例二提供的實時預(yù)處理和分揀模塊中的進(jìn)程的示意圖;
[0035] 圖6是本發(fā)明實施例三提供的第一種數(shù)據(jù)處理裝置的結(jié)構(gòu)示意圖;
[0036] 圖7是本發(fā)明實施例三提供的處理模塊的結(jié)構(gòu)示意圖;
[0037] 圖8是本發(fā)明實施例三提供的第二種數(shù)據(jù)處理裝置的結(jié)構(gòu)示意圖;
[0038] 圖9是本發(fā)明實施例三提供的發(fā)送單元的結(jié)構(gòu)示意圖;
[0039] 圖10是本發(fā)明實施例三提供的第三種數(shù)據(jù)處理裝置的結(jié)構(gòu)示意圖;
[0040] 圖11是本發(fā)明實施例三提供的第四種數(shù)據(jù)處理裝置的結(jié)構(gòu)示意圖;
[0041] 圖12是本發(fā)明實施例四提供的一種服務(wù)器的結(jié)構(gòu)示意圖。

【具體實施方式】
[0042] 為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合附圖對本發(fā)明實施方 式作進(jìn)一步地詳細(xì)描述。
[0043] 實施例一
[0044] 本發(fā)明實施例提供了 一種數(shù)據(jù)處理方法,參見圖1,本實施例提供的方法流程包 括:
[0045] 101 :獲取接入配置信息,接入配置信息中至少包括業(yè)務(wù)標(biāo)識信息、業(yè)務(wù)屬性信息、 數(shù)據(jù)源信息、接口信息及入庫信息。
[0046] 102 :根據(jù)接入配置信息中的數(shù)據(jù)源信息實時采集至少一個數(shù)據(jù)。
[0047] 103:將每個數(shù)據(jù)的協(xié)議轉(zhuǎn)換成通用協(xié)議,通過通用協(xié)議識別每個數(shù)據(jù)的業(yè)務(wù)屬性 信息,并按照每個數(shù)據(jù)的業(yè)務(wù)屬性信息將每個數(shù)據(jù)進(jìn)行分布式存儲。
[0048] 進(jìn)一步地,按照每個數(shù)據(jù)的業(yè)務(wù)屬性信息將每個數(shù)據(jù)進(jìn)行分布式存儲,包括:
[0049] 根據(jù)每個數(shù)據(jù)的業(yè)務(wù)屬性信息將每個數(shù)據(jù)發(fā)送至對應(yīng)的存儲設(shè)備,由每個存儲設(shè) 備將接收到的數(shù)據(jù)存儲到本地硬盤,并緩存至內(nèi)存;
[0050] 通過一至多個解析進(jìn)程讀取存儲的每個數(shù)據(jù),包括:
[0051] 通過一至多個解析進(jìn)程讀取每個存儲設(shè)備的內(nèi)存中存儲的每個數(shù)據(jù)。
[0052] 104:對每個數(shù)據(jù)進(jìn)行預(yù)處理及分揀處理,將分揀出的數(shù)據(jù)發(fā)送到分布式文件系 統(tǒng),由分布式文件系統(tǒng)進(jìn)行存儲。
[0053] 進(jìn)一步地,對每個數(shù)據(jù)進(jìn)行預(yù)處理及分揀處理,將分揀出的數(shù)據(jù)發(fā)送到分布式文 件系統(tǒng),包括:
[0054] 通過一至多個解析進(jìn)程讀取存儲的每個數(shù)據(jù),并獲取每個數(shù)據(jù)的業(yè)務(wù)屬性信息、 接口屬性信息及時間屬性信息,屬性信息相同的數(shù)據(jù)構(gòu)成一個數(shù)據(jù)單元,將同一數(shù)據(jù)單元 中的數(shù)據(jù)發(fā)送至同一分揀進(jìn)程;
[0055] 通過每個分揀進(jìn)程緩存接收到的數(shù)據(jù)單元中的數(shù)據(jù),當(dāng)緩存寫滿后,將緩存中的 數(shù)據(jù)添加到本地文件上,并在本地文件達(dá)到預(yù)設(shè)大小后,將本地文件中的數(shù)據(jù)上傳至分布 式文件系統(tǒng)。
[0056] 進(jìn)一步地,在根據(jù)通用協(xié)議識別每個數(shù)據(jù)的業(yè)務(wù)屬性信息時,根據(jù)通用協(xié)議識別 每個數(shù)據(jù)的接口屬性信息及時間屬性信息;
[0057] 獲取每個數(shù)據(jù)的業(yè)務(wù)屬性信息、接口屬性信息及時間屬性信息,包括:
[0058] 獲取通過通用協(xié)議識別出的每個數(shù)據(jù)的業(yè)務(wù)屬性信息、接口屬性信息及時間屬性 信息。
[0059] 可選地,獲取每個數(shù)據(jù)的業(yè)務(wù)屬性信息、接口屬性信息及時間屬性信息,包括:
[0060] 獲取通過通用協(xié)議識別出的每個數(shù)據(jù)的業(yè)務(wù)屬性信息,并通過一至多個解析進(jìn)程 解析每個數(shù)據(jù)的接口屬性信息及時間屬性信息。
[0061] 進(jìn)一步地,將同一數(shù)據(jù)單元中的數(shù)據(jù)發(fā)送至同一分揀進(jìn)程,包括:
[0062] 根據(jù)每個數(shù)據(jù)的業(yè)務(wù)屬性信息、接口屬性信息及時間屬性信息計算每個數(shù)據(jù)對應(yīng) 的哈希值,同一數(shù)據(jù)單元中的數(shù)據(jù)對應(yīng)相同哈希值;
[0063] 將對應(yīng)相同哈希值的數(shù)據(jù)發(fā)送至同一分揀線程。
[0064] 進(jìn)一步地,通過每個分揀進(jìn)程接收到數(shù)據(jù)單元中的第一個數(shù)據(jù)后,向?qū)?yīng)的對賬 進(jìn)程發(fā)送數(shù)據(jù)單元的創(chuàng)建信息,并通過每個分揀進(jìn)程接收到數(shù)據(jù)單元的最后一個數(shù)據(jù)后, 向?qū)?yīng)的對賬進(jìn)程發(fā)送數(shù)據(jù)單元的結(jié)束信息;
[0065] 通過對賬進(jìn)程收集構(gòu)成數(shù)據(jù)單元的數(shù)據(jù)條數(shù),并根據(jù)數(shù)據(jù)單元的數(shù)據(jù)條數(shù)生成對 賬文件,將對賬文件上傳至對應(yīng)的分布式文件系統(tǒng),由分布式文件信息記錄對賬文件,用以 標(biāo)識數(shù)據(jù)單元分揀完成。
[0066] 進(jìn)一步地,在傳輸每個數(shù)據(jù)之前,按照預(yù)設(shè)格式將每個數(shù)據(jù)進(jìn)行打包及壓縮處理, 并在每個數(shù)據(jù)的傳輸過程中傳輸打包壓縮后的數(shù)據(jù);
[0067] 其中,預(yù)設(shè)格式包括特殊字段、創(chuàng)建時間字段、子包數(shù)目字段、子包字段,每個子包 字段包括屬性字段和包體字段,包體字段包括包體長度字段、包體壓縮字段及包體包含的 消息字段。
[0068] 本發(fā)明實施例提供的方法,通過接入配置信息中的數(shù)據(jù)源信息實時采集至少一個 數(shù)據(jù),并按照轉(zhuǎn)換后的通用協(xié)議識別出的業(yè)務(wù)屬性信息將每個數(shù)據(jù)進(jìn)行分布式存儲;再對 每個數(shù)據(jù)進(jìn)行預(yù)處理及分揀處理,由分布式文件系統(tǒng)存儲分揀出的數(shù)據(jù),從而實現(xiàn)大量數(shù) 據(jù)的實時采集及處理,并且協(xié)議轉(zhuǎn)換可實現(xiàn)不同類型數(shù)據(jù)的接入,提高了數(shù)據(jù)處理的效率。
[0069] 實施例二
[0070] 本發(fā)明實施例提供了一種數(shù)據(jù)處理方法,為了便于理解,結(jié)合上述實施例一的內(nèi) 容,以如圖2所示的數(shù)據(jù)處理系統(tǒng)為例,對本發(fā)明實施例提供的數(shù)據(jù)處理方法進(jìn)行詳細(xì)地 解釋說明。其中,圖2所示的數(shù)據(jù)處理系統(tǒng)包括:數(shù)據(jù)處理服務(wù)器、業(yè)務(wù)服務(wù)器以及消息服 務(wù)器;數(shù)據(jù)處理服務(wù)器包括配置管理中心模塊、數(shù)據(jù)采集模塊、數(shù)據(jù)接入模塊、分布式數(shù)據(jù) 緩存模塊、實時預(yù)處理和分揀模塊以及故障檢測模塊,參見圖3,方法流程包括:
[0071] 301 :獲取接入配置信息,接入配置信息中至少包括業(yè)務(wù)標(biāo)識信息、業(yè)務(wù)屬性信息、 數(shù)據(jù)源信息、接口信息及入庫信息。
[0072] 關(guān)于獲取接入配置信息的方式,本實施例不作具體限定。具體實施時,可以提供交 互界面,獲取用戶通過交互界面輸入的配置信息,并將用戶輸入的配置信息作為獲取到的 接入配置信息。
[0073] 為了便于理解,以如圖2所示的配置管理中心模塊獲取接入配置信息為例,用戶 對數(shù)據(jù)進(jìn)行配置的過程包括但不限于:申請業(yè)務(wù)標(biāo)識;填寫具體業(yè)務(wù)的業(yè)務(wù)屬性;配置數(shù) 據(jù)源信息;配置接口信息;配置接入分布式文件系統(tǒng)信息。
[0074] 優(yōu)選地,配置管理中心模塊將獲取到的接入配置信息寫入配置文件,并存儲該配 置文件后,該配置管理中心模塊向系統(tǒng)中的其他模塊同步接入配置信息,以根據(jù)接入配置 信息觸發(fā)系統(tǒng)中的其他模塊啟動數(shù)據(jù)處理。另外,對于數(shù)據(jù)源信息是數(shù)據(jù)庫或文件的數(shù)據(jù), 配置管理中心會在業(yè)務(wù)服務(wù)器中安裝數(shù)據(jù)采集模塊,以便能夠采集上述兩類數(shù)據(jù)源的數(shù) 據(jù)。
[0075] 302 :根據(jù)接入配置信息中的數(shù)據(jù)源信息實時采集至少一個數(shù)據(jù)。
[0076] 關(guān)于采集數(shù)據(jù)的方式,本實施例不作具體限定。具體實施時,對于不同數(shù)據(jù)源信息 的數(shù)據(jù),需要使用不同的采集方式采集數(shù)據(jù)。例如,對于數(shù)據(jù)庫或文件這兩種數(shù)據(jù)源的數(shù) 據(jù),需要使用配置管理中心預(yù)先安裝的數(shù)據(jù)采集模塊來采集數(shù)據(jù);對于其他數(shù)據(jù)源的數(shù)據(jù), 則可以直接使用業(yè)務(wù)服務(wù)器以及消息服務(wù)器來采集待處理數(shù)據(jù)。
[0077] 進(jìn)一步地,采集數(shù)據(jù)時,接入配置信息中的數(shù)據(jù)源信息所對應(yīng)的數(shù)據(jù)源產(chǎn)生一個 數(shù)據(jù)就可以及時發(fā)現(xiàn)一個數(shù)據(jù),并讀取一個數(shù)據(jù),從而產(chǎn)生一個數(shù)據(jù)就可以采集一個數(shù)據(jù), 使數(shù)據(jù)實時被采集。需要說明的是,從數(shù)據(jù)產(chǎn)生到采集的延時可以根據(jù)實際情況進(jìn)行設(shè)置, 通常情況下時延的單位級別是毫秒。例如,對于離線數(shù)據(jù)等對實時性要求不高的場景,可以 設(shè)置最大延時時間為10秒;而對于實時性要求較高的場景,則可以設(shè)置最大延時時間為1 秒或者更少的時間。
[0078] 另外,根據(jù)接入配置信息中的數(shù)據(jù)源信息實時采集至少一個數(shù)據(jù)后,還包括但不 限于:傳輸采集到的數(shù)據(jù)。為了便于理解,以如圖2所示的系統(tǒng)為例進(jìn)行說明,數(shù)據(jù)采集模 塊將采集到的數(shù)據(jù)發(fā)送給數(shù)據(jù)接入模塊,從而由數(shù)據(jù)采集模塊將采集到的數(shù)據(jù)傳輸?shù)綌?shù)據(jù) 接入1旲塊。
[0079] 優(yōu)選地,為了提高數(shù)據(jù)的傳輸效率和系統(tǒng)利用率,在傳輸每個數(shù)據(jù)之前,本實施例 提供的方法按照預(yù)設(shè)格式將每個數(shù)據(jù)進(jìn)行打包及壓縮處理,并在每個數(shù)據(jù)的傳輸過程中傳 輸打包壓縮后的數(shù)據(jù)。其中,預(yù)設(shè)格式包括特殊字段、創(chuàng)建時間字段、子包數(shù)目字段、子包字 段,每個子包字段包括屬性字段和包體字段,包體字段包括包體長度字段、包體壓縮字段及 包體包含的消息字段。
[0080] 為了便于理解,以如圖4所示的打包結(jié)構(gòu)為例進(jìn)行說明。數(shù)據(jù)進(jìn)行打包及壓縮處 理后,得到數(shù)據(jù)包,數(shù)據(jù)包的結(jié)構(gòu)包括:(1) magic,表示特殊字段,用于標(biāo)識打包結(jié)構(gòu),在數(shù) 據(jù)包的首尾各有一個magic,每個magic占用2個字節(jié),一個數(shù)據(jù)包共有4個字節(jié)的magic ; (2)create time,表示數(shù)據(jù)包的創(chuàng)建時間,用于后續(xù)步驟中的全局對賬;(3)pack num,表示 子包數(shù)目,一個數(shù)據(jù)包中包含多個子包;(4)子包,每個子包由一個attr (屬性)和一個body (包體)組成;其中,body中包含多個數(shù)據(jù),并且一個子包的body中包含的多個數(shù)據(jù)的attr 相同,從而節(jié)省相同attr的數(shù)據(jù)的冗余信息;另外,由于數(shù)據(jù)的壓縮是在body中完成的,避 免了在需要區(qū)分不同attr的數(shù)據(jù)的情況下,需要解開全部的數(shù)據(jù)包,實現(xiàn)了數(shù)據(jù)包的輕度 解包,提高了系統(tǒng)的利用率。
[0081] 進(jìn)一步地,body還包括:(1) body len,表示包體長度;(2) compress,表示子包是 否被壓縮;(3)時間消息,以長度+信息的格式進(jìn)行排列。通過上述打包結(jié)構(gòu)提高了系統(tǒng)中 數(shù)據(jù)的傳輸效率以及系統(tǒng)的利用率。
[0082] 303:將每個數(shù)據(jù)的協(xié)議轉(zhuǎn)換成通用協(xié)議,通過通用協(xié)議識別每個數(shù)據(jù)的業(yè)務(wù)屬性 信息。
[0083] 其中,數(shù)據(jù)接入的單元是業(yè)務(wù),一般來說一個業(yè)務(wù)數(shù)據(jù)對應(yīng)于一個具體的產(chǎn)品、業(yè) 務(wù)的數(shù)據(jù),一個業(yè)務(wù)數(shù)據(jù)擁有一個唯一的業(yè)務(wù)標(biāo)識。通常一個業(yè)務(wù)包含多個接口,一個接口 一般表示一張具體的數(shù)據(jù)表,有著統(tǒng)一的數(shù)據(jù)模式(schema,如數(shù)據(jù)庫中的表)。此外,數(shù)據(jù) 還具有對應(yīng)的時間屬性,表達(dá)一個數(shù)據(jù)的時間,通常代表數(shù)據(jù)的產(chǎn)生時間,此處稱之為數(shù)據(jù) 時間。因此,任何一個數(shù)據(jù)都是由業(yè)務(wù)、接口、時間這三個維度決定的,即每個數(shù)據(jù)都包含業(yè) 務(wù)屬性、接口屬性及時間屬性。
[0084] 當(dāng)然,一個數(shù)據(jù)除了包含以上定義的三種屬性以外,還包含其他的屬性,本實施例 不對數(shù)據(jù)的具體屬性進(jìn)行限定。例如:數(shù)據(jù)來源(文件,數(shù)據(jù)庫,消息);數(shù)據(jù)格式(有分隔符 的文本數(shù)據(jù),KV表達(dá)的數(shù)據(jù),JS0N數(shù)據(jù),PB數(shù)據(jù),其他二進(jìn)制格式的數(shù)據(jù));數(shù)據(jù)解析方法, 如何得出前面所述的三個屬性的方法(在數(shù)據(jù)附帶屬性中定義,在數(shù)據(jù)內(nèi)部解析,在數(shù)據(jù)配 置文件中定義等);對于有分隔符的數(shù)據(jù)還包含分隔符屬性;對于在數(shù)據(jù)內(nèi)部解析時間的數(shù) 據(jù),還包括數(shù)據(jù)時間格式的屬性。
[0085] 由于不同類型數(shù)據(jù)采用的協(xié)議不同,為了能夠識別出每種類型數(shù)據(jù)的業(yè)務(wù)屬性信 息,本實施例提供的方法采取了將每個數(shù)據(jù)的協(xié)議轉(zhuǎn)換成通用協(xié)議的方式,從而能夠通過 通用協(xié)議識別每個數(shù)據(jù)的業(yè)務(wù)屬性信息。
[0086] 例如,通過數(shù)據(jù)采集模塊采集數(shù)據(jù)時,通常情況下采集到的數(shù)據(jù)采用內(nèi)部協(xié)議,將 采集到的數(shù)據(jù)的協(xié)議進(jìn)行替換后就可以將數(shù)據(jù)的協(xié)議轉(zhuǎn)換成通用協(xié)議。
[0087] 又例如,通過業(yè)務(wù)服務(wù)器采集數(shù)據(jù)時,通常情況下采集到的數(shù)據(jù)采用六段協(xié)議或 業(yè)務(wù)自定義協(xié)議。對于采用六段協(xié)議的數(shù)據(jù),數(shù)據(jù)接入模塊將六段協(xié)議按照通用協(xié)議進(jìn)行 轉(zhuǎn)換;對于采用業(yè)務(wù)自定義協(xié)議的數(shù)據(jù),需要通過特定的數(shù)據(jù)端口接入數(shù)據(jù)接入模塊,再通 過定制的數(shù)據(jù)解析插件對數(shù)據(jù)進(jìn)行協(xié)議轉(zhuǎn)換。
[0088] 通過對數(shù)據(jù)進(jìn)行協(xié)議轉(zhuǎn)換,使各種數(shù)據(jù)源的數(shù)據(jù)都可以通過數(shù)據(jù)接入模塊接入系 統(tǒng),擴(kuò)大了數(shù)據(jù)處理的應(yīng)用范圍。實際應(yīng)用中,可以將常用的數(shù)據(jù)總結(jié)成系統(tǒng)能處理的相對 應(yīng)的數(shù)據(jù)模式。對于新接入的數(shù)據(jù),如果在數(shù)據(jù)模式之內(nèi),則可以直接接入;如果在數(shù)據(jù)模 式之外,則需要開發(fā)相應(yīng)的解析插件,并通過調(diào)用相應(yīng)的解析插件完成數(shù)據(jù)的協(xié)議轉(zhuǎn)換,進(jìn) 而簡化數(shù)據(jù)的接入。需要說明的是,此處的解析插件用于將每個數(shù)據(jù)的協(xié)議轉(zhuǎn)換成通用協(xié) 議,是協(xié)議層的解析插件,本實施例不對解析插件的開發(fā)過程進(jìn)行限定。
[0089] 由于已經(jīng)將每個數(shù)據(jù)的協(xié)議轉(zhuǎn)換成通用協(xié)議,則通過通用協(xié)議識別每個數(shù)據(jù)的業(yè) 務(wù)屬性信息時,對于采用內(nèi)部協(xié)議或六段協(xié)議的數(shù)據(jù),可直接在協(xié)議內(nèi)部識別數(shù)據(jù)的業(yè)務(wù) 屬性信息;對于采用業(yè)務(wù)自定義協(xié)議的數(shù)據(jù),需要通過配置文件查找數(shù)據(jù)的業(yè)務(wù)屬性信息, 將查找到業(yè)務(wù)屬性信息作為識別到的業(yè)務(wù)屬性信息。
[0090] 進(jìn)一步地,通過通用協(xié)議識別每個數(shù)據(jù)的業(yè)務(wù)屬性信息,實現(xiàn)了對數(shù)據(jù)初步的解 析;對于一些數(shù)據(jù),還可根據(jù)通用協(xié)議識別每個數(shù)據(jù)的接口屬性信息及時間屬性信息,避免 了后續(xù)步驟中解析進(jìn)程解析每個數(shù)據(jù)的接口屬性信息及時間屬性信息,提高了數(shù)據(jù)處理的 效率。
[0091] 對于接口屬性信息,一些數(shù)據(jù)的接口信息可以在通用協(xié)議中識別,另外一些數(shù)據(jù) 則需要在數(shù)據(jù)內(nèi)容中識別接口信息,具體識別方式詳見后續(xù)步驟中的內(nèi)容;時間屬性信息 與接口屬性信息類似,此處不再贅述,不同的是,大部分?jǐn)?shù)據(jù)的時間屬性都可在通用協(xié)議中 識別。
[0092] 304 :根據(jù)每個數(shù)據(jù)的業(yè)務(wù)屬性信息將每個數(shù)據(jù)發(fā)送至對應(yīng)的存儲設(shè)備,由每個存 儲設(shè)備將接收到的數(shù)據(jù)存儲到本地硬盤,并緩存至內(nèi)存。
[0093] 根據(jù)每個數(shù)據(jù)的業(yè)務(wù)屬性信息將每個數(shù)據(jù)發(fā)送至對應(yīng)的存儲設(shè)備時,也可以先按 照預(yù)設(shè)格式將每個數(shù)據(jù)進(jìn)行打包及壓縮處理,發(fā)送打包壓縮后的數(shù)據(jù)至對應(yīng)的存儲設(shè)備。 關(guān)于打包壓縮的具體內(nèi)容,詳見上述步驟302中的內(nèi)容,此處不再贅述。另外,打包壓縮時, 將識別出的業(yè)務(wù)屬性信息、接口屬性信息及時間屬性信息作為數(shù)據(jù)的屬性信息與數(shù)據(jù)一同 打包壓縮并發(fā)送至對應(yīng)的存儲設(shè)備。其中,不同業(yè)務(wù)屬性信息對應(yīng)不同業(yè)務(wù)屬性標(biāo)識,不同 業(yè)務(wù)屬性標(biāo)識對應(yīng)存儲設(shè)備中不同業(yè)務(wù)主題。
[0094] 根據(jù)每個數(shù)據(jù)的業(yè)務(wù)屬性信息將每個數(shù)據(jù)發(fā)送至對應(yīng)的存儲設(shè)備,還包括但不限 于:確定存儲設(shè)備可以接收的業(yè)務(wù)主題;根據(jù)確定的業(yè)務(wù)主題向?qū)⒚總€數(shù)據(jù)發(fā)送至對應(yīng)的 存儲設(shè)備。
[0095] 例如,分布式數(shù)據(jù)緩存模塊接收數(shù)據(jù)接入模塊發(fā)送的數(shù)據(jù),按照數(shù)據(jù)的業(yè)務(wù)屬性 信息以及分布式數(shù)據(jù)緩存模塊確定的可以接收的業(yè)務(wù)主題,將數(shù)據(jù)存儲到本地硬盤,并緩 存至內(nèi)存。具體實施時,存儲設(shè)備可以是一組服務(wù)器,確定每個服務(wù)器可以接收的業(yè)務(wù)主 題,又由于不同業(yè)務(wù)屬性信息對應(yīng)不同業(yè)務(wù)屬性標(biāo)識,不同業(yè)務(wù)屬性標(biāo)識對應(yīng)服務(wù)器中不 同業(yè)務(wù)主題,則將不同數(shù)據(jù)業(yè)務(wù)屬性的數(shù)據(jù)發(fā)送到不同的服務(wù)器上,從而實現(xiàn)了數(shù)據(jù)的混 洗,減少數(shù)據(jù)的傾斜,還能達(dá)到數(shù)據(jù)隔離的作用。
[0096] 進(jìn)一步地,通過存儲設(shè)備將接收到的數(shù)據(jù)存儲到本地硬盤可以將使數(shù)據(jù)持久化, 避免數(shù)據(jù)丟失,保證數(shù)據(jù)的完整性;通過存儲設(shè)備將接收到的數(shù)據(jù)緩存至內(nèi)存,從而在系統(tǒng) 故障導(dǎo)致阻塞時,數(shù)據(jù)可以大量積壓在內(nèi)存中,而不會對系統(tǒng)有任何影響,從而保護(hù)故障系 統(tǒng)不受大數(shù)據(jù)量的沖擊;另外,通過緩存還可以對系統(tǒng)中的其他模塊進(jìn)行隔離,避免一個模 塊出現(xiàn)故障后,影響其他模塊。
[0097]另外,針對不同模塊的故障,本發(fā)明實施例提供多層的容災(zāi)恢復(fù)功能。例如,在如 圖2所示的結(jié)構(gòu)圖中,還包括故障檢測模塊,通過該故障檢測模塊對數(shù)據(jù)處理系統(tǒng)中的各 個模塊進(jìn)行故障檢測。如果檢測到實時預(yù)處理和分揀模塊出現(xiàn)故障,導(dǎo)致數(shù)據(jù)丟失,則可以 從分布式數(shù)據(jù)緩存模塊中回退到某個檢查站進(jìn)行回退,由于分布式數(shù)據(jù)緩存模塊的本質(zhì)是 一個消息隊列,因此回退僅需要付出很小的代價。
[0098] 如果檢測到分布式數(shù)據(jù)緩存模塊出現(xiàn)故障,則根據(jù)實際應(yīng)用中不同數(shù)據(jù)的重要 性,提供了兩種解決方案:
[0099] 第一種方案:對于數(shù)據(jù)重要性不高的場景,分布式數(shù)據(jù)緩存模塊中的一個數(shù)據(jù)緩 存服務(wù)器發(fā)生故障,新增加的數(shù)據(jù)會自動切換到其他正常的數(shù)據(jù)緩存服務(wù)器中進(jìn)行緩存和 存儲,這種方法會丟失少量的數(shù)據(jù),如果對整體數(shù)據(jù)沒有影響則無需恢復(fù)。
[0100] 第二種方案:對于數(shù)據(jù)重要性較高的場景,分布式數(shù)據(jù)緩存模塊中的一個數(shù)據(jù)緩 存服務(wù)器發(fā)生故障,對數(shù)據(jù)緩存服務(wù)器實施同步復(fù)制,即使用另外一個數(shù)據(jù)緩存服務(wù)器替 換故障的數(shù)據(jù)緩存服務(wù)器,從而保證數(shù)據(jù)不會丟失。
[0101] 如果是數(shù)據(jù)接入模塊或數(shù)據(jù)采集模塊發(fā)生故障,可以通過數(shù)據(jù)采集模塊重新補(bǔ)錄 數(shù)據(jù),從而完成數(shù)據(jù)的接入。
[0102] 通過多層的容災(zāi)恢復(fù)功能,在數(shù)據(jù)處理過程中的任何一個模塊發(fā)生故障時,都可 以及時地恢復(fù),降低了數(shù)據(jù)恢復(fù)的難度,防止故障導(dǎo)致雪崩;尤其對于較長的數(shù)據(jù)處理流 程,減少數(shù)據(jù)的丟失,降低了數(shù)據(jù)恢復(fù)的成本。
[0103] 305:對每個數(shù)據(jù)進(jìn)行預(yù)處理及分揀處理,將分揀出的數(shù)據(jù)發(fā)送到分布式文件系 統(tǒng),由分布式文件系統(tǒng)進(jìn)行存儲。
[0104] 具體地,對每個數(shù)據(jù)進(jìn)行預(yù)處理及分揀處理,將分揀出的數(shù)據(jù)發(fā)送到分布式文件 系統(tǒng),包括但不限于如下步驟:
[0105] 步驟一:通過一至多個解析進(jìn)程讀取存儲的每個數(shù)據(jù),并獲取每個數(shù)據(jù)的業(yè)務(wù)屬 性信息、接口屬性信息及時間屬性信息,屬性信息相同的數(shù)據(jù)構(gòu)成一個數(shù)據(jù)單元,將同一數(shù) 據(jù)單元中的數(shù)據(jù)發(fā)送至同一分揀進(jìn)程;
[0106] 其中,通過一至多個解析進(jìn)程讀取存儲的每個數(shù)據(jù),包括但不限于:通過一至多個 解析進(jìn)程讀取每個存儲設(shè)備的內(nèi)存中存儲的每個數(shù)據(jù)。
[0107] 在根據(jù)通用協(xié)議識別每個數(shù)據(jù)的業(yè)務(wù)屬性信息時,包括但不限于如下兩種情況:
[0108] 第一種情況:如果根據(jù)通用協(xié)議識別每個數(shù)據(jù)的接口屬性信息及時間屬性信息, 則獲取每個數(shù)據(jù)的業(yè)務(wù)屬性信息、接口屬性信息及時間屬性信息,包括但不限于:獲取通過 通用協(xié)議識別出的每個數(shù)據(jù)的業(yè)務(wù)屬性信息、接口屬性信息及時間屬性信息。
[0109] 由于第一種情況下的解析進(jìn)程無需解析數(shù)據(jù)的接口屬性信息及時間屬性信息,從 而可以提高數(shù)據(jù)預(yù)處理及分揀過程的效率。
[0110] 第二種情況:如果根據(jù)通用協(xié)議沒有識別每個數(shù)據(jù)的接口屬性信息及時間屬性信 息,則獲取每個數(shù)據(jù)的業(yè)務(wù)屬性信息、接口屬性信息及時間屬性信息,包括但不限于:獲取 通過通用協(xié)議識別出的每個數(shù)據(jù)的業(yè)務(wù)屬性信息,并通過一至多個解析進(jìn)程解析每個數(shù)據(jù) 的接口屬性信息及時間屬性信息。
[0111] 第二種情況在具體實施時,可以根據(jù)讀取到的數(shù)據(jù)的業(yè)務(wù)屬性信息查找與該業(yè)務(wù) 屬性信息對應(yīng)的解析插件,并調(diào)用查找到的解析插件對數(shù)據(jù)進(jìn)行解析和預(yù)處理,得到數(shù)據(jù) 的接口屬性信息及時間屬性信息。另外,一個解析進(jìn)程可以同時解析多個數(shù)據(jù),進(jìn)而提高數(shù) 據(jù)處理的效率。
[0112] 將同一數(shù)據(jù)單元中的數(shù)據(jù)發(fā)送至同一分揀進(jìn)程,包括但不限于:根據(jù)每個數(shù)據(jù)的 業(yè)務(wù)屬性信息、接口屬性信息及時間屬性信息計算每個數(shù)據(jù)對應(yīng)的哈希值,同一數(shù)據(jù)單元 中的數(shù)據(jù)對應(yīng)相同哈希值;將對應(yīng)相同哈希值的數(shù)據(jù)發(fā)送至同一分揀線程。
[0113] 將同一數(shù)據(jù)單元中的數(shù)據(jù)發(fā)送至同一分揀進(jìn)程時,還可以對數(shù)據(jù)進(jìn)行打包壓縮處 理,關(guān)于打包壓縮的具體內(nèi)容,詳見上述步驟302中的內(nèi)容,此處不再贅述。
[0114] 例如,解析進(jìn)程11對多個數(shù)據(jù)進(jìn)行解析,則解析進(jìn)程11將哈希值相同的數(shù)據(jù)發(fā)送 到同一個分揀進(jìn)程時,根據(jù)哈希值可能將數(shù)據(jù)發(fā)送到分揀進(jìn)程21、22及23中的任何一個分 揀進(jìn)程,也就是說,一個解析進(jìn)程對應(yīng)多個分揀進(jìn)程。
[0115] 步驟二:通過每個分揀進(jìn)程緩存接收到的數(shù)據(jù)單元中的數(shù)據(jù),當(dāng)緩存寫滿后,將緩 存中的數(shù)據(jù)添加到本地文件上,并在本地文件達(dá)到預(yù)設(shè)大小后,將本地文件中的數(shù)據(jù)上傳 至分布式文件系統(tǒng)。
[0116] 其中,緩存的預(yù)設(shè)大小可以為64KB,本地文件的預(yù)設(shè)大小可以為128MB,每個分揀 進(jìn)程緩存接收到的數(shù)據(jù)單元中的數(shù)據(jù),當(dāng)緩存寫滿64KB后,將緩存中的數(shù)據(jù)添加到本地文 件上,并在本地文件達(dá)到128MB后,將本地文件中的數(shù)據(jù)上傳至分布式文件系統(tǒng)。當(dāng)然,緩 存及本地文件除了設(shè)置上述預(yù)設(shè)大小外,還可以設(shè)置其他預(yù)設(shè)大小,本實施例對此不作具 體限定。
[0117] 進(jìn)一步地,本實施例提供的方法還包括:通過每個分揀進(jìn)程接收到數(shù)據(jù)單元中的 第一個數(shù)據(jù)后,向?qū)?yīng)的對賬進(jìn)程發(fā)送數(shù)據(jù)單元的創(chuàng)建信息,并通過每個分揀進(jìn)程接收到 數(shù)據(jù)單元的最后一個數(shù)據(jù)后,向?qū)?yīng)的對賬進(jìn)程發(fā)送數(shù)據(jù)單元的結(jié)束信息;對賬進(jìn)程收集 構(gòu)成數(shù)據(jù)單元的數(shù)據(jù)條數(shù),并根據(jù)數(shù)據(jù)單元的數(shù)據(jù)條數(shù)生成對賬文件,將對賬文件上傳至 對應(yīng)的分布式文件系統(tǒng),由分布式文件信息記錄對賬文件,用以標(biāo)識數(shù)據(jù)單元分揀完成。
[0118] 為了便于理解,以如圖5所示的實時預(yù)處理和分揀模塊中的進(jìn)程為例進(jìn)行說明。 其中,實時預(yù)處理和分揀模塊中的進(jìn)程包括解析進(jìn)程、分揀進(jìn)程以及對賬進(jìn)程;解析進(jìn)程中 包括3個不同解析進(jìn)程,分揀進(jìn)程中包括3個不同分揀進(jìn)程,對賬進(jìn)程中包括2個不同對 賬進(jìn)程。在每個分揀進(jìn)程接收到數(shù)據(jù)單元中的第一個數(shù)據(jù)后,向?qū)?yīng)的對賬進(jìn)程發(fā)送數(shù)據(jù) 單元的創(chuàng)建信息,對賬進(jìn)程在接收到創(chuàng)建數(shù)據(jù)的信息后維護(hù)一個數(shù)據(jù)單元的會話,并在每 個分揀進(jìn)程接收到數(shù)據(jù)單元的最后一個數(shù)據(jù)后,向?qū)?yīng)的對賬進(jìn)程發(fā)送數(shù)據(jù)單元的結(jié)束信 息;當(dāng)接收到數(shù)據(jù)單元的最后一個數(shù)據(jù)時,在達(dá)到預(yù)設(shè)時間后,分揀進(jìn)程向?qū)~進(jìn)程發(fā)送結(jié) 束會話的信息,對賬進(jìn)程在接收到結(jié)束會話的信息后,結(jié)束會話。例如,如果一個數(shù)據(jù)單元 中包括5條數(shù)據(jù),則對賬進(jìn)程收集構(gòu)成數(shù)據(jù)單元的數(shù)據(jù)條數(shù)為5,根據(jù)數(shù)據(jù)單元的數(shù)據(jù)條數(shù) 生成對賬文件,將對賬文件上傳至對應(yīng)的分布式文件系統(tǒng)。
[0119] 本發(fā)明實施例提供的方法,通過接入配置信息中的數(shù)據(jù)源信息實時采集至少一個 數(shù)據(jù),并按照轉(zhuǎn)換后的通用協(xié)議識別出的業(yè)務(wù)屬性信息將每個數(shù)據(jù)進(jìn)行分布式存儲;再對 每個數(shù)據(jù)進(jìn)行預(yù)處理及分揀處理,由分布式文件系統(tǒng)存儲分揀出的數(shù)據(jù),從而實現(xiàn)大量數(shù) 據(jù)的實時采集及處理,并且協(xié)議轉(zhuǎn)換可實現(xiàn)不同類型數(shù)據(jù)的接入,提高了數(shù)據(jù)處理的效率。
[0120] 實施例三
[0121] 參見圖6,本發(fā)明實施例提供了一種數(shù)據(jù)處理裝置,該裝置包括:
[0122] 獲取模塊501,用于獲取接入配置信息,接入配置信息中至少包括業(yè)務(wù)標(biāo)識信息、 業(yè)務(wù)屬性信息、數(shù)據(jù)源信息、接口信息及入庫信息;
[0123] 采集模塊502,用于根據(jù)接入配置信息中的數(shù)據(jù)源信息實時采集至少一個數(shù)據(jù);
[0124] 轉(zhuǎn)換模塊503,用于將每個數(shù)據(jù)的協(xié)議轉(zhuǎn)換成通用協(xié)議;
[0125] 第一識別模塊504,用于通過通用協(xié)議識別每個數(shù)據(jù)的業(yè)務(wù)屬性信息;
[0126] 存儲模塊505,用于按照每個數(shù)據(jù)的業(yè)務(wù)屬性信息將每個數(shù)據(jù)進(jìn)行分布式存儲;
[0127] 處理模塊506,用于對每個數(shù)據(jù)進(jìn)行預(yù)處理及分揀處理,將分揀出的數(shù)據(jù)發(fā)送到分 布式文件系統(tǒng),由分布式文件系統(tǒng)進(jìn)行存儲。
[0128] 作為一種優(yōu)選實施例,參見圖7,處理模塊506,包括:
[0129] 讀取單元5061,用于通過一至多個解析進(jìn)程讀取存儲的每個數(shù)據(jù);
[0130] 獲取單元5062,用于通過一至多個解析進(jìn)程獲取每個數(shù)據(jù)的業(yè)務(wù)屬性信息、接口 屬性信息及時間屬性信息,屬性信息相同的數(shù)據(jù)構(gòu)成一個數(shù)據(jù)單元;
[0131] 發(fā)送單元5063,用于通過一至多個解析進(jìn)程將同一數(shù)據(jù)單元中的數(shù)據(jù)發(fā)送至同一 分揀進(jìn)程;
[0132] 緩存單元5064,用于通過每個分揀進(jìn)程緩存接收到的數(shù)據(jù)單元中的數(shù)據(jù),當(dāng)緩存 寫滿后,將緩存中的數(shù)據(jù)添加到本地文件;
[0133] 上傳單元5065,用于通過每個分揀進(jìn)程在本地文件達(dá)到預(yù)設(shè)大小后,將本地文件 中的數(shù)據(jù)上傳至分布式文件系統(tǒng)。
[0134] 作為一種優(yōu)選實施例,存儲模塊505,用于根據(jù)每個數(shù)據(jù)的業(yè)務(wù)屬性信息將每個數(shù) 據(jù)發(fā)送至對應(yīng)的存儲設(shè)備,由每個存儲設(shè)備將接收到的數(shù)據(jù)存儲到本地硬盤,并緩存至內(nèi) 存;
[0135] 讀取單元5061,用于通過一至多個解析進(jìn)程讀取每個存儲設(shè)備的內(nèi)存中存儲的每 個數(shù)據(jù)。
[0136] 作為一種優(yōu)選實施例,參見圖8,該裝置還包括:
[0137] 第二識別模塊507,用于在根據(jù)通用協(xié)議識別每個數(shù)據(jù)的業(yè)務(wù)屬性信息時,根據(jù)通 用協(xié)議識別每個數(shù)據(jù)的接口屬性信息及時間屬性信息;
[0138] 獲取單元5062,用于獲取通過通用協(xié)議識別出的每個數(shù)據(jù)的業(yè)務(wù)屬性信息、接口 屬性信息及時間屬性信息。
[0139] 作為一種優(yōu)選實施例,獲取單元5062,用于獲取通過通用協(xié)議識別出的每個數(shù)據(jù) 的業(yè)務(wù)屬性信息,并通過一至多個解析進(jìn)程解析每個數(shù)據(jù)的接口屬性信息及時間屬性信 肩、。
[0140] 作為一種優(yōu)選實施例,參見圖9,發(fā)送單元5063,包括:
[0141] 計算子單元50631,用于根據(jù)每個數(shù)據(jù)的業(yè)務(wù)屬性信息、接口屬性信息及時間屬性 信息計算每個數(shù)據(jù)對應(yīng)的哈希值,同一數(shù)據(jù)單元中的數(shù)據(jù)對應(yīng)相同哈希值;
[0142] 發(fā)送子單元50632,用于將對應(yīng)相同哈希值的數(shù)據(jù)發(fā)送至同一分揀線程。
[0143] 作為一種優(yōu)選實施例,參見圖10,該裝置還包括:
[0144] 發(fā)送模塊508,用于通過每個分揀進(jìn)程接收到數(shù)據(jù)單元中的第一個數(shù)據(jù)后,向?qū)?yīng) 的對賬進(jìn)程發(fā)送數(shù)據(jù)單元的創(chuàng)建信息,并通過每個分揀進(jìn)程接收到數(shù)據(jù)單元的最后一個數(shù) 據(jù)后,向?qū)?yīng)的對賬進(jìn)程發(fā)送數(shù)據(jù)單元的結(jié)束信息;
[0145] 對賬模塊509,用于通過對賬進(jìn)程收集構(gòu)成數(shù)據(jù)單元的數(shù)據(jù)條數(shù),并根據(jù)數(shù)據(jù)單元 的數(shù)據(jù)條數(shù)生成對賬文件,將對賬文件上傳至對應(yīng)的分布式文件系統(tǒng),由分布式文件信息 記錄對賬文件,用以標(biāo)識數(shù)據(jù)單元分揀完成。
[0146] 作為一種優(yōu)選實施例,參見圖11,該裝置還包括:
[0147] 打包壓縮模塊510,用于在傳輸每個數(shù)據(jù)之前,按照預(yù)設(shè)格式將每個數(shù)據(jù)進(jìn)行打包 及壓縮處理,并在每個數(shù)據(jù)的傳輸過程中傳輸打包壓縮后的數(shù)據(jù);
[0148] 其中,預(yù)設(shè)格式包括特殊字段、創(chuàng)建時間字段、子包數(shù)目字段、子包字段,每個子包 字段包括屬性字段和包體字段,包體字段包括包體長度字段、包體壓縮字段及包體包含的 消息字段。
[0149] 需要說明的是,本發(fā)明實施例提供的裝置可以安裝于數(shù)據(jù)處理服務(wù)器上,該數(shù)據(jù) 處理服務(wù)器可如圖2所示的數(shù)據(jù)處理服務(wù)器或?qū)嵤├乃龅姆?wù)器或?qū)嵤├逅龅?數(shù)據(jù)處理服務(wù)器。實際應(yīng)用中,本發(fā)明實施例提供的數(shù)據(jù)處理裝置中的獲取模塊501用于 執(zhí)行如圖2所示的數(shù)據(jù)處理服務(wù)器上的配置管理中心模塊的功能;采集模塊502除了執(zhí)行 如圖2所示的數(shù)據(jù)處理服務(wù)器上的數(shù)據(jù)采集模塊的功能外,還可以采集業(yè)務(wù)服務(wù)器及消息 服務(wù)器上的其他數(shù)據(jù);轉(zhuǎn)換模塊503和第一識別模塊504用于執(zhí)行如圖2所示的數(shù)據(jù)處理 服務(wù)器上的數(shù)據(jù)接入模塊的功能;存儲模塊505用于執(zhí)行如圖2所示的數(shù)據(jù)處理服務(wù)器上 的分布式數(shù)據(jù)緩存模塊的功能;處理模塊506用于執(zhí)行如圖2所示的數(shù)據(jù)處理服務(wù)器上的 實時預(yù)處理和分揀模塊的功能。
[0150] 綜上所述,本發(fā)明實施例提供的裝置,通過接入配置信息中的數(shù)據(jù)源信息實時采 集至少一個數(shù)據(jù),并按照轉(zhuǎn)換后的通用協(xié)議識別出的業(yè)務(wù)屬性信息將每個數(shù)據(jù)進(jìn)行分布式 存儲;再對每個數(shù)據(jù)進(jìn)行預(yù)處理及分揀處理,由分布式文件系統(tǒng)存儲分揀出的數(shù)據(jù),從而實 現(xiàn)大量數(shù)據(jù)的實時采集及處理,并且協(xié)議轉(zhuǎn)換可實現(xiàn)不同類型數(shù)據(jù)的接入,提高了數(shù)據(jù)處 理的效率。
[0151] 實施例四
[0152] 本發(fā)明實施例提供了一種服務(wù)器,參見圖12,該服務(wù)器1200可因配置或性能不同 而產(chǎn)生比較大的差異,可以包括一個或一個以上中央處理器(central processing units, CPU) 1922 (例如,一個或一個以上處理器)和存儲器1932, 一個或一個以上存儲應(yīng)用程序 1942或數(shù)據(jù)1944的存儲介質(zhì)1930 (例如一個或一個以上海量存儲設(shè)備)。其中,存儲器 1932和存儲介質(zhì)1930可以是短暫存儲或持久存儲。存儲在存儲介質(zhì)1930的程序可以包 括一個或一個以上模塊(圖示沒標(biāo)出),每個模塊可以包括對服務(wù)器1200中的一系列指令操 作:
[0153] 獲取接入配置信息,接入配置信息中至少包括業(yè)務(wù)標(biāo)識信息、業(yè)務(wù)屬性信息、數(shù)據(jù) 源信息、接口信息及入庫信息;
[0154] 根據(jù)接入配置信息中的數(shù)據(jù)源信息實時采集至少一個數(shù)據(jù);
[0155] 將每個數(shù)據(jù)的協(xié)議轉(zhuǎn)換成通用協(xié)議,通過通用協(xié)議識別每個數(shù)據(jù)的業(yè)務(wù)屬性信 息,并按照每個數(shù)據(jù)的業(yè)務(wù)屬性信息將每個數(shù)據(jù)進(jìn)行分布式存儲;
[0156] 對每個數(shù)據(jù)進(jìn)行預(yù)處理及分揀處理,將分揀出的數(shù)據(jù)發(fā)送到分布式文件系統(tǒng),由 分布式文件系統(tǒng)進(jìn)行存儲。
[0157] 假設(shè)上述為第一種可能的實施方式,則在第一種可能的實施方式作為基礎(chǔ)而提供 的第二種可能的實施方式中,服務(wù)器1200的存儲器1932中,還包含用于執(zhí)行以下操作的指 令:
[0158] 對每個數(shù)據(jù)進(jìn)行預(yù)處理及分揀處理,將分揀出的數(shù)據(jù)發(fā)送到分布式文件系統(tǒng),包 括:
[0159] 通過一至多個解析進(jìn)程讀取存儲的每個數(shù)據(jù),并獲取每個數(shù)據(jù)的業(yè)務(wù)屬性信息、 接口屬性信息及時間屬性信息,屬性信息相同的數(shù)據(jù)構(gòu)成一個數(shù)據(jù)單元,將同一數(shù)據(jù)單元 中的數(shù)據(jù)發(fā)送至同一分揀進(jìn)程;
[0160] 通過每個分揀進(jìn)程緩存接收到的數(shù)據(jù)單元中的數(shù)據(jù),當(dāng)緩存寫滿后,將緩存中的 數(shù)據(jù)添加到本地文件上,并在本地文件達(dá)到預(yù)設(shè)大小后,將本地文件中的數(shù)據(jù)上傳至分布 式文件系統(tǒng)。
[0161] 在第一種或第二種可能的實施方式作為基礎(chǔ)而提供的第三種可能的實施方式中, 服務(wù)器1200的存儲器1932中,還包含用于執(zhí)行以下操作的指令 :
[0162] 按照每個數(shù)據(jù)的業(yè)務(wù)屬性信息將每個數(shù)據(jù)進(jìn)行分布式存儲,包括:
[0163] 根據(jù)每個數(shù)據(jù)的業(yè)務(wù)屬性信息將每個數(shù)據(jù)發(fā)送至對應(yīng)的存儲設(shè)備,由每個存儲設(shè) 備將接收到的數(shù)據(jù)存儲到本地硬盤,并緩存至內(nèi)存;
[0164] 通過一至多個解析進(jìn)程讀取存儲的每個數(shù)據(jù),包括:
[0165] 通過一至多個解析進(jìn)程讀取每個存儲設(shè)備的內(nèi)存中存儲的每個數(shù)據(jù)。
[0166] 在第二種可能的實施方式作為基礎(chǔ)而提供的第四種可能的實施方式中,服務(wù)器 1200的存儲器1932中,還包含用于執(zhí)行以下操作的指令:
[0167] 在根據(jù)通用協(xié)議識別每個數(shù)據(jù)的業(yè)務(wù)屬性信息時,根據(jù)通用協(xié)議識別每個數(shù)據(jù)的 接口屬性信息及時間屬性信息;
[0168] 獲取每個數(shù)據(jù)的業(yè)務(wù)屬性信息、接口屬性信息及時間屬性信息,包括:
[0169] 獲取通過通用協(xié)議識別出的每個數(shù)據(jù)的業(yè)務(wù)屬性信息、接口屬性信息及時間屬性 信息。
[0170] 在第二種可能的實施方式作為基礎(chǔ)而提供的第五種可能的實施方式中,服務(wù)器 1200的存儲器1932中,還包含用于執(zhí)行以下操作的指令 :
[0171] 獲取每個數(shù)據(jù)的業(yè)務(wù)屬性信息、接口屬性信息及時間屬性信息,包括:
[0172] 獲取通過通用協(xié)議識別出的每個數(shù)據(jù)的業(yè)務(wù)屬性信息,并通過一至多個解析進(jìn)程 解析每個數(shù)據(jù)的接口屬性信息及時間屬性信息。
[0173] 在第二種可能的實施方式作為基礎(chǔ)而提供的第六種可能的實施方式中,服務(wù)器 1200的存儲器1932中,還包含用于執(zhí)行以下操作的指令 :
[0174] 將同一數(shù)據(jù)單元中的數(shù)據(jù)發(fā)送至同一分揀進(jìn)程,包括:
[0175] 根據(jù)每個數(shù)據(jù)的業(yè)務(wù)屬性信息、接口屬性信息及時間屬性信息計算每個數(shù)據(jù)對應(yīng) 的哈希值,同一數(shù)據(jù)單元中的數(shù)據(jù)對應(yīng)相同哈希值;
[0176] 將對應(yīng)相同哈希值的數(shù)據(jù)發(fā)送至同一分揀線程。
[0177] 在第二種可能的實施方式作為基礎(chǔ)而提供的第七種可能的實施方式中,服務(wù)器 1200的存儲器1932中,還包含用于執(zhí)行以下操作的指令 :
[0178] 通過每個分揀進(jìn)程接收到數(shù)據(jù)單元中的第一個數(shù)據(jù)后,向?qū)?yīng)的對賬進(jìn)程發(fā)送數(shù) 據(jù)單元的創(chuàng)建信息,并通過每個分揀進(jìn)程接收到數(shù)據(jù)單元的最后一個數(shù)據(jù)后,向?qū)?yīng)的對 賬進(jìn)程發(fā)送數(shù)據(jù)單元的結(jié)束信息;
[0179] 通過對賬進(jìn)程收集構(gòu)成數(shù)據(jù)單元的數(shù)據(jù)條數(shù),并根據(jù)數(shù)據(jù)單元的數(shù)據(jù)條數(shù)生成對 賬文件,將對賬文件上傳至對應(yīng)的分布式文件系統(tǒng),由分布式文件信息記錄對賬文件,用以 標(biāo)識數(shù)據(jù)單元分揀完成。
[0180] 在第一種可能的實施方式作為基礎(chǔ)而提供的第八種可能的實施方式中,服務(wù)器 1200的存儲器1932中,還包含用于執(zhí)行以下操作的指令 :
[0181] 在傳輸每個數(shù)據(jù)之前,按照預(yù)設(shè)格式將每個數(shù)據(jù)進(jìn)行打包及壓縮處理,并在每個 數(shù)據(jù)的傳輸過程中傳輸打包壓縮后的數(shù)據(jù);
[0182] 其中,預(yù)設(shè)格式包括特殊字段、創(chuàng)建時間字段、子包數(shù)目字段、子包字段,每個子包 字段包括屬性字段和包體字段,包體字段包括包體長度字段、包體壓縮字段及包體包含的 消息字段。
[0183] 更進(jìn)一步地,中央處理器1922可以設(shè)置為與存儲介質(zhì)1930通信,在服務(wù)器1200 上執(zhí)行存儲介質(zhì)1930中的一系列指令操作。
[0184] 服務(wù)器1200還可以包括一個或一個以上電源1926, 一個或一個以上有線或無 線網(wǎng)絡(luò)接口 1950, 一個或一個以上輸入輸出接口 1958,和/或,一個或一個以上操作系統(tǒng) 1941,例如 Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,F(xiàn)reeBSDTM 等等。
[0185] 綜上所述,本發(fā)明實施例提供的服務(wù)器,通過接入配置信息中的數(shù)據(jù)源信息實時 采集至少一個數(shù)據(jù),并按照轉(zhuǎn)換后的通用協(xié)議識別出的業(yè)務(wù)屬性信息將每個數(shù)據(jù)進(jìn)行分布 式存儲;再對每個數(shù)據(jù)進(jìn)行預(yù)處理及分揀處理,由分布式文件系統(tǒng)存儲分揀出的數(shù)據(jù),從而 實現(xiàn)大量數(shù)據(jù)的實時采集及處理,并且協(xié)議轉(zhuǎn)換可實現(xiàn)不同類型數(shù)據(jù)的接入,提高了數(shù)據(jù) 處理的效率。
[0186] 實施例五
[0187] 本發(fā)明實施例提供了一種數(shù)據(jù)處理系統(tǒng),該系統(tǒng)包括:數(shù)據(jù)處理服務(wù)器、業(yè)務(wù)服務(wù) 器和消息服務(wù)器,數(shù)據(jù)處理服務(wù)器分別與業(yè)務(wù)服務(wù)器和消息服務(wù)器進(jìn)行無線或有線連接;
[0188] 其中,數(shù)據(jù)處理服務(wù)器,用于獲取接入配置信息,根據(jù)接入配置信息中的數(shù)據(jù)源信 息實時采集業(yè)務(wù)服務(wù)器及消息服務(wù)器上的至少一個數(shù)據(jù);將每個數(shù)據(jù)的協(xié)議轉(zhuǎn)換成通用協(xié) 議,通過通用協(xié)議識別每個數(shù)據(jù)的業(yè)務(wù)屬性信息,并按照每個數(shù)據(jù)的業(yè)務(wù)屬性信息將每個 數(shù)據(jù)進(jìn)行分布式存儲;對每個數(shù)據(jù)進(jìn)行預(yù)處理及分揀處理,將分揀出的數(shù)據(jù)發(fā)送到分布式 文件系統(tǒng),由分布式文件系統(tǒng)進(jìn)行存儲。
[0189] 作為一種優(yōu)選實施例,數(shù)據(jù)處理服務(wù)器對每個數(shù)據(jù)進(jìn)行預(yù)處理及分揀處理,將分 揀出的數(shù)據(jù)發(fā)送到分布式文件系統(tǒng)時,用于通過一至多個解析進(jìn)程讀取存儲的每個數(shù)據(jù), 并獲取每個數(shù)據(jù)的業(yè)務(wù)屬性信息、接口屬性信息及時間屬性信息,屬性信息相同的數(shù)據(jù)構(gòu) 成一個數(shù)據(jù)單元,將同一數(shù)據(jù)單元中的數(shù)據(jù)發(fā)送至同一分揀進(jìn)程;通過每個分揀進(jìn)程緩存 接收到的數(shù)據(jù)單元中的數(shù)據(jù),當(dāng)緩存寫滿后,將緩存中的數(shù)據(jù)添加到本地文件上,并在本地 文件達(dá)到預(yù)設(shè)大小后,將本地文件中的數(shù)據(jù)上傳至分布式文件系統(tǒng)。
[0190] 作為一種優(yōu)選實施例,數(shù)據(jù)處理服務(wù)器按照每個數(shù)據(jù)的業(yè)務(wù)屬性信息將每個數(shù)據(jù) 進(jìn)行分布式存儲時,用于根據(jù)每個數(shù)據(jù)的業(yè)務(wù)屬性信息將每個數(shù)據(jù)發(fā)送至對應(yīng)的存儲設(shè) 備,由每個存儲設(shè)備將接收到的數(shù)據(jù)存儲到本地硬盤,并緩存至內(nèi)存;
[0191] 作為一種優(yōu)選實施例,數(shù)據(jù)處理服務(wù)器通過一至多個解析進(jìn)程讀取存儲的每個數(shù) 據(jù)時,用于通過一至多個解析進(jìn)程讀取每個存儲設(shè)備的內(nèi)存中存儲的每個數(shù)據(jù)。
[0192] 作為一種優(yōu)選實施例,數(shù)據(jù)處理服務(wù)器,還用于在根據(jù)通用協(xié)議識別每個數(shù)據(jù)的 業(yè)務(wù)屬性信息時,根據(jù)通用協(xié)議識別每個數(shù)據(jù)的接口屬性信息及時間屬性信息;
[0193] 作為一種優(yōu)選實施例,數(shù)據(jù)處理服務(wù)器獲取每個數(shù)據(jù)的業(yè)務(wù)屬性信息、接口屬性 信息及時間屬性信息時,用于獲取通過通用協(xié)議識別出的每個數(shù)據(jù)的業(yè)務(wù)屬性信息、接口 屬性信息及時間屬性信息。
[0194] 作為一種優(yōu)選實施例,數(shù)據(jù)處理服務(wù)器獲取每個數(shù)據(jù)的業(yè)務(wù)屬性信息、接口屬性 信息及時間屬性信息時,用于獲取通過通用協(xié)議識別出的每個數(shù)據(jù)的業(yè)務(wù)屬性信息,并通 過一至多個解析進(jìn)程解析每個數(shù)據(jù)的接口屬性信息及時間屬性信息。
[0195] 作為一種優(yōu)選實施例,數(shù)據(jù)處理服務(wù)器將同一數(shù)據(jù)單元中的數(shù)據(jù)發(fā)送至同一分揀 進(jìn)程時,用于根據(jù)每個數(shù)據(jù)的業(yè)務(wù)屬性信息、接口屬性信息及時間屬性信息計算每個數(shù)據(jù) 對應(yīng)的哈希值,同一數(shù)據(jù)單元中的數(shù)據(jù)對應(yīng)相同哈希值;將對應(yīng)相同哈希值的數(shù)據(jù)發(fā)送至 同一分揀線程。
[0196] 作為一種優(yōu)選實施例,數(shù)據(jù)處理服務(wù)器通過每個分揀進(jìn)程接收到數(shù)據(jù)單元中的第 一個數(shù)據(jù)后,向?qū)?yīng)的對賬進(jìn)程發(fā)送數(shù)據(jù)單元的創(chuàng)建信息,并通過每個分揀進(jìn)程接收到數(shù) 據(jù)單元的最后一個數(shù)據(jù)后,向?qū)?yīng)的對賬進(jìn)程發(fā)送數(shù)據(jù)單元的結(jié)束信息;通過對賬進(jìn)程收 集構(gòu)成數(shù)據(jù)單元的數(shù)據(jù)條數(shù),并根據(jù)數(shù)據(jù)單元的數(shù)據(jù)條數(shù)生成對賬文件,將對賬文件上傳 至對應(yīng)的分布式文件系統(tǒng),由分布式文件信息記錄對賬文件,用以標(biāo)識數(shù)據(jù)單元分揀完成。
[0197] 作為一種優(yōu)選實施例,數(shù)據(jù)處理服務(wù)器還用于在傳輸每個數(shù)據(jù)之前,按照預(yù)設(shè)格 式將每個數(shù)據(jù)進(jìn)行打包及壓縮處理,并在每個數(shù)據(jù)的傳輸過程中傳輸打包壓縮后的數(shù)據(jù);
[0198] 其中,預(yù)設(shè)格式包括特殊字段、創(chuàng)建時間字段、子包數(shù)目字段、子包字段,每個子包 字段包括屬性字段和包體字段,包體字段包括包體長度字段、包體壓縮字段及包體包含的 消息字段。
[0199] 需要說明的是,本發(fā)明實施例提供的數(shù)據(jù)處理系統(tǒng)中的數(shù)據(jù)處理服務(wù)器上可以安 裝有數(shù)據(jù)處理裝置,該數(shù)據(jù)處理裝置可以為上述實施例三所述的數(shù)據(jù)處理裝置,具體詳見 上述實施例三的內(nèi)容。
[0200] 本發(fā)明實施例提供的系統(tǒng),通過數(shù)據(jù)處理服務(wù)器根據(jù)接入配置信息中的數(shù)據(jù)源信 息實時采集業(yè)務(wù)服務(wù)器及消息服務(wù)器上的至少一個數(shù)據(jù),并按照轉(zhuǎn)換后的通用協(xié)議識別出 的業(yè)務(wù)屬性信息將每個數(shù)據(jù)進(jìn)行分布式存儲;再對每個數(shù)據(jù)進(jìn)行預(yù)處理及分揀處理,由分 布式文件系統(tǒng)存儲分揀出的數(shù)據(jù),從而實現(xiàn)大量數(shù)據(jù)的實時采集及處理,并且協(xié)議轉(zhuǎn)換可 實現(xiàn)不同類型數(shù)據(jù)的接入,提高了數(shù)據(jù)處理的效率。
[0201] 需要說明的是:上述實施例提供的數(shù)據(jù)處理裝置在處理數(shù)據(jù)時,僅以上述各功能 模塊的劃分進(jìn)行舉例說明,實際應(yīng)用中,可以根據(jù)需要而將上述功能分配由不同的功能模 塊完成,即將裝置的內(nèi)部結(jié)構(gòu)劃分成不同的功能模塊,以完成以上描述的全部或者部分功 能。另外,上述實施例提供的數(shù)據(jù)處理裝置與數(shù)據(jù)處理方法實施例屬于同一構(gòu)思,其具體實 現(xiàn)過程詳見方法實施例,這里不再贅述。
[0202] 上述本發(fā)明實施例序號僅僅為了描述,不代表實施例的優(yōu)劣。
[0203] 本領(lǐng)域普通技術(shù)人員可以理解實現(xiàn)上述實施例的全部或部分步驟可以通過硬件 來完成,也可以通過程序來指令相關(guān)的硬件完成,所述的程序可以存儲于一種計算機(jī)可讀 存儲介質(zhì)中,上述提到的存儲介質(zhì)可以是只讀存儲器,磁盤或光盤等。
[0204] 以上所述僅為本發(fā)明的較佳實施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和 原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
【權(quán)利要求】
1. 一種數(shù)據(jù)處理方法,其特征在于,所述方法包括: 獲取接入配置信息,所述接入配置信息中至少包括業(yè)務(wù)標(biāo)識信息、業(yè)務(wù)屬性信息、數(shù)據(jù) 源信息、接口信息及入庫信息; 根據(jù)所述接入配置信息中的數(shù)據(jù)源信息實時采集至少一個數(shù)據(jù); 將每個數(shù)據(jù)的協(xié)議轉(zhuǎn)換成通用協(xié)議,通過所述通用協(xié)議識別每個數(shù)據(jù)的業(yè)務(wù)屬性信 息,并按照每個數(shù)據(jù)的業(yè)務(wù)屬性信息將每個數(shù)據(jù)進(jìn)行分布式存儲; 對每個數(shù)據(jù)進(jìn)行預(yù)處理及分揀處理,將分揀出的數(shù)據(jù)發(fā)送到分布式文件系統(tǒng),由所述 分布式文件系統(tǒng)進(jìn)行存儲。
2. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述對所述每個數(shù)據(jù)進(jìn)行預(yù)處理及分揀 處理,將分揀出的數(shù)據(jù)發(fā)送到分布式文件系統(tǒng),包括: 通過一至多個解析進(jìn)程讀取存儲的每個數(shù)據(jù),并獲取每個數(shù)據(jù)的業(yè)務(wù)屬性信息、接口 屬性信息及時間屬性信息,屬性信息相同的數(shù)據(jù)構(gòu)成一個數(shù)據(jù)單元,將同一數(shù)據(jù)單元中的 數(shù)據(jù)發(fā)送至同一分揀進(jìn)程; 通過每個分揀進(jìn)程緩存接收到的數(shù)據(jù)單元中的數(shù)據(jù),當(dāng)緩存寫滿后,將緩存中的數(shù)據(jù) 添加到本地文件上,并在本地文件達(dá)到預(yù)設(shè)大小后,將所述本地文件中的數(shù)據(jù)上傳至分布 式文件系統(tǒng)。
3. 根據(jù)權(quán)利要求1或2所述的方法,其特征在于,所述按照每個數(shù)據(jù)的業(yè)務(wù)屬性信息將 每個數(shù)據(jù)進(jìn)行分布式存儲,包括: 根據(jù)每個數(shù)據(jù)的業(yè)務(wù)屬性信息將每個數(shù)據(jù)發(fā)送至對應(yīng)的存儲設(shè)備,由每個存儲設(shè)備將 接收到的數(shù)據(jù)存儲到本地硬盤,并緩存至內(nèi)存; 所述通過一至多個解析進(jìn)程讀取存儲的每個數(shù)據(jù),包括: 通過一至多個解析進(jìn)程讀取每個存儲設(shè)備的內(nèi)存中存儲的每個數(shù)據(jù)。
4. 根據(jù)權(quán)利要求2所述的方法,其特征在于,所述方法還包括: 在根據(jù)所述通用協(xié)議識別每個數(shù)據(jù)的業(yè)務(wù)屬性信息時,根據(jù)所述通用協(xié)議識別每個數(shù) 據(jù)的接口屬性信息及時間屬性信息; 所述獲取每個數(shù)據(jù)的業(yè)務(wù)屬性信息、接口屬性信息及時間屬性信息,包括: 獲取通過所述通用協(xié)議識別出的每個數(shù)據(jù)的業(yè)務(wù)屬性信息、接口屬性信息及時間屬性 信息。
5. 根據(jù)權(quán)利要求2所述的方法,其特征在于,所述獲取每個數(shù)據(jù)的業(yè)務(wù)屬性信息、接口 屬性信息及時間屬性信息,包括: 獲取通過所述通用協(xié)議識別出的每個數(shù)據(jù)的業(yè)務(wù)屬性信息,并通過所述一至多個解析 進(jìn)程解析每個數(shù)據(jù)的接口屬性信息及時間屬性信息。
6. 根據(jù)權(quán)利要求2所述的方法,其特征在于,所述將同一數(shù)據(jù)單元中的數(shù)據(jù)發(fā)送至同 一分揀進(jìn)程,包括: 根據(jù)每個數(shù)據(jù)的業(yè)務(wù)屬性信息、接口屬性信息及時間屬性信息計算每個數(shù)據(jù)對應(yīng)的哈 希值,同一數(shù)據(jù)單元中的數(shù)據(jù)對應(yīng)相同哈希值; 將對應(yīng)相同哈希值的數(shù)據(jù)發(fā)送至同一分揀線程。
7. 根據(jù)權(quán)利要求2所述的方法,其特征在于,所述方法還包括: 通過每個分揀進(jìn)程接收到數(shù)據(jù)單元中的第一個數(shù)據(jù)后,向?qū)?yīng)的對賬進(jìn)程發(fā)送所述數(shù) 據(jù)單元的創(chuàng)建信息,并通過每個分揀進(jìn)程接收到所述數(shù)據(jù)單元的最后一個數(shù)據(jù)后,向所述 對應(yīng)的對賬進(jìn)程發(fā)送所述數(shù)據(jù)單元的結(jié)束信息; 通過所述對賬進(jìn)程收集構(gòu)成所述數(shù)據(jù)單元的數(shù)據(jù)條數(shù),并根據(jù)所述數(shù)據(jù)單元的數(shù)據(jù)條 數(shù)生成對賬文件,將所述對賬文件上傳至對應(yīng)的分布式文件系統(tǒng),由所述分布式文件信息 記錄所述對賬文件,用以標(biāo)識所述數(shù)據(jù)單元分揀完成。
8. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括: 在傳輸每個數(shù)據(jù)之前,按照預(yù)設(shè)格式將每個數(shù)據(jù)進(jìn)行打包及壓縮處理,并在每個數(shù)據(jù) 的傳輸過程中傳輸打包壓縮后的數(shù)據(jù); 其中,所述預(yù)設(shè)格式包括特殊字段、創(chuàng)建時間字段、子包數(shù)目字段、子包字段,每個子包 字段包括屬性字段和包體字段,所述包體字段包括包體長度字段、包體壓縮字段及包體包 含的消息字段。
9. 一種數(shù)據(jù)處理裝置,其特征在于,所述裝置包括: 獲取模塊,用于獲取接入配置信息,所述接入配置信息中至少包括業(yè)務(wù)標(biāo)識信息、業(yè)務(wù) 屬性信息、數(shù)據(jù)源信息、接口信息及入庫信息; 采集模塊,用于根據(jù)所述接入配置信息中的數(shù)據(jù)源信息實時采集至少一個數(shù)據(jù); 轉(zhuǎn)換模塊,用于將每個數(shù)據(jù)的協(xié)議轉(zhuǎn)換成通用協(xié)議; 第一識別模塊,用于通過所述通用協(xié)議識別每個數(shù)據(jù)的業(yè)務(wù)屬性信息; 存儲模塊,用于按照每個數(shù)據(jù)的業(yè)務(wù)屬性信息將每個數(shù)據(jù)進(jìn)行分布式存儲; 處理模塊,用于對每個數(shù)據(jù)進(jìn)行預(yù)處理及分揀處理,將分揀出的數(shù)據(jù)發(fā)送到分布式文 件系統(tǒng),由所述分布式文件系統(tǒng)進(jìn)行存儲。
10. 根據(jù)權(quán)利要求9所述的裝置,其特征在于,所述處理模塊,包括: 讀取單元,用于通過一至多個解析進(jìn)程讀取存儲的每個數(shù)據(jù); 獲取單元,用于通過所述一至多個解析進(jìn)程獲取每個數(shù)據(jù)的業(yè)務(wù)屬性信息、接口屬性 信息及時間屬性信息,屬性信息相同的數(shù)據(jù)構(gòu)成一個數(shù)據(jù)單元; 發(fā)送單元,用于通過所述一至多個解析進(jìn)程將同一數(shù)據(jù)單元中的數(shù)據(jù)發(fā)送至同一分揀 進(jìn)程; 緩存單元,用于通過每個分揀進(jìn)程緩存接收到的數(shù)據(jù)單元中的數(shù)據(jù),當(dāng)緩存寫滿后,將 緩存中的數(shù)據(jù)添加到本地文件上; 上傳單元,用于通過每個分揀進(jìn)程在本地文件達(dá)到預(yù)設(shè)大小后,將所述本地文件中的 數(shù)據(jù)上傳至分布式文件系統(tǒng)。
11. 根據(jù)權(quán)利要求9或10所述的裝置,其特征在于,所述存儲模塊,用于根據(jù)每個數(shù)據(jù) 的業(yè)務(wù)屬性信息將每個數(shù)據(jù)發(fā)送至對應(yīng)的存儲設(shè)備,由每個存儲設(shè)備將接收到的數(shù)據(jù)存儲 到本地硬盤,并緩存至內(nèi)存; 所述讀取單元,用于通過一至多個解析進(jìn)程讀取每個存儲設(shè)備的內(nèi)存中存儲的每個數(shù) 據(jù)。
12. 根據(jù)權(quán)利要求10所述的裝置,其特征在于,所述裝置還包括: 第二識別模塊,用于在根據(jù)所述通用協(xié)議識別每個數(shù)據(jù)的業(yè)務(wù)屬性信息時,根據(jù)所述 通用協(xié)議識別每個數(shù)據(jù)的接口屬性信息及時間屬性信息; 所述獲取單元,用于獲取通過所述通用協(xié)議識別出的每個數(shù)據(jù)的業(yè)務(wù)屬性信息、接口 屬性信息及時間屬性信息。
13. 根據(jù)權(quán)利要求10所述的裝置,其特征在于,所述獲取單元,用于獲取通過所述通用 協(xié)議識別出的每個數(shù)據(jù)的業(yè)務(wù)屬性信息,并通過所述一至多個解析進(jìn)程解析每個數(shù)據(jù)的接 口屬性信息及時間屬性信息。
14. 根據(jù)權(quán)利要求10所述的裝置,其特征在于,所述發(fā)送單元,包括: 計算子單元,用于根據(jù)每個數(shù)據(jù)的業(yè)務(wù)屬性信息、接口屬性信息及時間屬性信息計算 每個數(shù)據(jù)對應(yīng)的哈希值,同一數(shù)據(jù)單元中的數(shù)據(jù)對應(yīng)相同哈希值; 發(fā)送子單元,用于將對應(yīng)相同哈希值的數(shù)據(jù)發(fā)送至同一分揀線程。
15. 根據(jù)權(quán)利要求10所述的裝置,其特征在于,所述裝置還包括: 發(fā)送模塊,用于通過每個分揀進(jìn)程接收到數(shù)據(jù)單元中的第一個數(shù)據(jù)后,向?qū)?yīng)的對賬 進(jìn)程發(fā)送所述數(shù)據(jù)單元的創(chuàng)建信息,并通過每個分揀進(jìn)程接收到所述數(shù)據(jù)單元的最后一個 數(shù)據(jù)后,向所述對應(yīng)的對賬進(jìn)程發(fā)送所述數(shù)據(jù)單元的結(jié)束信息; 對賬模塊,用于通過所述對賬進(jìn)程收集構(gòu)成所述數(shù)據(jù)單元的數(shù)據(jù)條數(shù),并根據(jù)所述數(shù) 據(jù)單元的數(shù)據(jù)條數(shù)生成對賬文件,將所述對賬文件上傳至對應(yīng)的分布式文件系統(tǒng),由所述 分布式文件信息記錄所述對賬文件,用以標(biāo)識所述數(shù)據(jù)單元分揀完成。
16. 根據(jù)權(quán)利要求9所述的裝置,其特征在于,所述裝置還包括: 打包壓縮模塊,用于在傳輸每個數(shù)據(jù)之前,按照預(yù)設(shè)格式將每個數(shù)據(jù)進(jìn)行打包及壓縮 處理,并在每個數(shù)據(jù)的傳輸過程中傳輸打包壓縮后的數(shù)據(jù); 其中,所述預(yù)設(shè)格式包括特殊字段、創(chuàng)建時間字段、子包數(shù)目字段、子包字段,每個子包 字段包括屬性字段和包體字段,所述包體字段包括包體長度字段、包體壓縮字段及包體包 含的消息字段。
17. -種數(shù)據(jù)處理服務(wù)器,其特征在于,所述數(shù)據(jù)處理服務(wù)器包括:一個或一個以上的 處理器和存儲器,一個或者一個以上的程序存儲于所述存儲器中,且經(jīng)配置以由一個或者 一個以上的處理器執(zhí)行,所述一個或者一個以上的程序包含用于進(jìn)行以下操作的指令: 獲取接入配置信息,所述接入配置信息中至少包括業(yè)務(wù)標(biāo)識信息、業(yè)務(wù)屬性信息、數(shù)據(jù) 源信息、接口信息及入庫信息; 根據(jù)所述接入配置信息中的數(shù)據(jù)源信息實時采集至少一個數(shù)據(jù); 將每個數(shù)據(jù)的協(xié)議轉(zhuǎn)換成通用協(xié)議,通過所述通用協(xié)議識別每個數(shù)據(jù)的業(yè)務(wù)屬性信 息,并按照每個數(shù)據(jù)的業(yè)務(wù)屬性信息將每個數(shù)據(jù)進(jìn)行分布式存儲; 對每個數(shù)據(jù)進(jìn)行預(yù)處理及分揀處理,將分揀出的數(shù)據(jù)發(fā)送到分布式文件系統(tǒng),由所述 分布式文件系統(tǒng)進(jìn)行存儲。
18. -種數(shù)據(jù)處理系統(tǒng),其特征在于,所述系統(tǒng)包括:數(shù)據(jù)處理服務(wù)器、業(yè)務(wù)服務(wù)器和 消息服務(wù)器,所述數(shù)據(jù)處理服務(wù)器分別與所述業(yè)務(wù)服務(wù)器和消息服務(wù)器進(jìn)行無線或有線連 接; 其中,所述數(shù)據(jù)處理服務(wù)器,用于獲取接入配置信息,根據(jù)所述接入配置信息中的數(shù)據(jù) 源信息實時采集所述業(yè)務(wù)服務(wù)器及所述消息服務(wù)器上的至少一個數(shù)據(jù);將每個數(shù)據(jù)的協(xié)議 轉(zhuǎn)換成通用協(xié)議,通過所述通用協(xié)議識別每個數(shù)據(jù)的業(yè)務(wù)屬性信息,并按照每個數(shù)據(jù)的業(yè) 務(wù)屬性信息將每個數(shù)據(jù)進(jìn)行分布式存儲;對每個數(shù)據(jù)進(jìn)行預(yù)處理及分揀處理,將分揀出的 數(shù)據(jù)發(fā)送到分布式文件系統(tǒng),由所述分布式文件系統(tǒng)進(jìn)行存儲。
【文檔編號】G06F17/30GK104090891SQ201310683684
【公開日】2014年10月8日 申請日期:2013年12月12日 優(yōu)先權(quán)日:2013年12月12日
【發(fā)明者】田萬鵬 申請人:深圳市騰訊計算機(jī)系統(tǒng)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
铅山县| 昌都县| 南投县| 石首市| 温泉县| 东乡族自治县| 普洱| 鄂托克旗| 新乡市| 伊宁市| 仪征市| 沙河市| 石林| 黄平县| 镇江市| 常州市| 衡东县| 彰化市| 鸡泽县| 永泰县| 鹤岗市| 团风县| 梁平县| 高密市| 郧西县| 两当县| 井冈山市| 杭锦旗| 永宁县| 岳阳市| 克拉玛依市| 上蔡县| 师宗县| 宝山区| 连州市| 连江县| 彝良县| 衢州市| 资溪县| 麻阳| 双桥区|