數(shù)據(jù)處理方法、裝置、數(shù)據(jù)處理服務器及系統(tǒng)的制作方法
【專利摘要】本發(fā)明公開了一種數(shù)據(jù)處理方法、裝置、數(shù)據(jù)處理服務器及系統(tǒng),屬于信息處理【技術領域】。所述方法包括:獲取接入配置信息;根據(jù)接入配置信息實時采集至少一個數(shù)據(jù);按照轉換后的通用協(xié)議識別出的每個數(shù)據(jù)的業(yè)務屬性信息將每個數(shù)據(jù)進行分布式存儲;對每個數(shù)據(jù)進行預處理及分揀處理,將分揀出的數(shù)據(jù)發(fā)送到分布式文件系統(tǒng),由分布式文件系統(tǒng)進行存儲。本發(fā)明通過接入配置信息中的數(shù)據(jù)源信息實時采集至少一個數(shù)據(jù),并按照轉換后的通用協(xié)議識別出的業(yè)務屬性信息將每個數(shù)據(jù)進行分布式存儲;再對每個數(shù)據(jù)進行預處理及分揀處理,由分布式文件系統(tǒng)存儲分揀出的數(shù)據(jù),從而實現(xiàn)大量數(shù)據(jù)的實時采集及處理,并且協(xié)議轉換可實現(xiàn)不同類型數(shù)據(jù)的接入,提高了數(shù)據(jù)處理的效率。
【專利說明】數(shù)據(jù)處理方法、裝置、數(shù)據(jù)處理服務器及系統(tǒng)
【技術領域】
[0001] 本發(fā)明涉及信息處理【技術領域】,特別涉及一種數(shù)據(jù)處理方法、裝置、數(shù)據(jù)處理服務 器及系統(tǒng)。
【背景技術】
[0002] 隨著信息處理技術的不斷發(fā)展,獲取的數(shù)據(jù)越來越多。為了更好地利用這些數(shù)據(jù), 需要對數(shù)據(jù)進行分揀等處理。由于這些數(shù)據(jù)來自不同的數(shù)據(jù)源,在進行數(shù)據(jù)處理時需要考 慮接入系統(tǒng)對不同類型的數(shù)據(jù)源的適配,并且數(shù)據(jù)需要及時采集以及分類等處理,從而避 免數(shù)據(jù)的積壓。因此,如何快速、及時地進行數(shù)據(jù)處理成為人們關注的問題。
[0003] 目前,有兩種處理數(shù)據(jù)的方式。第一種批量預處理+接口機批量入庫方式:將待 處理數(shù)據(jù)寫入一個日志文件;根據(jù)接口機的接口表將一個日志文件拆分為多個日志文件, 使不同的接口對應不同的日志文件;發(fā)送每個日志文件到接口機中與該日志文件對應的接 口;通過與該日志文件對應的接口存儲日志文件中的數(shù)據(jù)。第二種流式數(shù)據(jù)采集+離線批 量預處理方式:將數(shù)據(jù)發(fā)送到消息服務器;通過消息服務器將數(shù)據(jù)發(fā)送到接口機;通過運 行分類程序對數(shù)據(jù)進行分類,使不同的接口對應不同類別的數(shù)據(jù);通過與該類別的數(shù)據(jù)對 應的接口存儲數(shù)據(jù)。
[0004] 在實現(xiàn)本發(fā)明的過程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術至少存在以下問題:
[0005] 第一種方式需要將數(shù)據(jù)寫入日志文件來完成數(shù)據(jù)采集的過程,致使采集數(shù)據(jù)的過 程沒有實時性;由于一個日志文件中包括所有數(shù)據(jù),則將一個日志文件拆分為多個日志文 件,即對日志文件中的數(shù)據(jù)進行分類處理的過程也沒有實時性。另外,不同的數(shù)據(jù)需要對應 的不同的分類處理規(guī)則,增加了數(shù)據(jù)處理的復雜度和成本。
[0006] 第二種方式需要運行分類程序對數(shù)據(jù)進行離線分類處理,致使數(shù)據(jù)分類處理的過 程沒有實時性。另外,分類程序對數(shù)據(jù)進行分類處理的效率不高,造成了系統(tǒng)資源的浪費。
【發(fā)明內容】
[0007] 為了解決現(xiàn)有技術的問題,本發(fā)明實施例提供了一種數(shù)據(jù)處理方法、裝置、數(shù)據(jù)處 理服務器及系統(tǒng)。所述技術方案如下 :
[0008] -方面,提供了一種數(shù)據(jù)處理方法,所述方法包括:
[0009] 獲取接入配置信息,所述接入配置信息中至少包括業(yè)務標識信息、業(yè)務屬性信息、 數(shù)據(jù)源信息、接口信息及入庫信息;
[0010] 根據(jù)所述接入配置信息中的數(shù)據(jù)源信息實時采集至少一個數(shù)據(jù);
[0011] 將每個數(shù)據(jù)的協(xié)議轉換成通用協(xié)議,通過所述通用協(xié)議識別每個數(shù)據(jù)的業(yè)務屬性 信息,并按照每個數(shù)據(jù)的業(yè)務屬性信息將每個數(shù)據(jù)進行分布式存儲;
[0012] 對每個數(shù)據(jù)進行預處理及分揀處理,將分揀出的數(shù)據(jù)發(fā)送到分布式文件系統(tǒng),由 所述分布式文件系統(tǒng)進行存儲。
[0013] 另一方面,提供了一種數(shù)據(jù)處理裝置,所述裝置包括:
[0014] 獲取模塊,用于獲取接入配置信息,所述接入配置信息中至少包括業(yè)務標識信息、 業(yè)務屬性信息、數(shù)據(jù)源信息、接口信息及入庫信息;
[0015] 采集模塊,用于根據(jù)所述接入配置信息中的數(shù)據(jù)源信息實時采集至少一個數(shù)據(jù);
[0016] 轉換模塊,用于將每個數(shù)據(jù)的協(xié)議轉換成通用協(xié)議;
[0017] 第一識別模塊,用于通過所述通用協(xié)議識別每個數(shù)據(jù)的業(yè)務屬性信息;
[0018] 存儲模塊,用于按照每個數(shù)據(jù)的業(yè)務屬性信息將每個數(shù)據(jù)進行分布式存儲;
[0019] 處理模塊,用于對每個數(shù)據(jù)進行預處理及分揀處理,將分揀出的數(shù)據(jù)發(fā)送到分布 式文件系統(tǒng),由所述分布式文件系統(tǒng)進行存儲。
[0020] 還提供了一種數(shù)據(jù)處理服務器,所述數(shù)據(jù)處理服務器包括:一個或一個以上的處 理器和存儲器,一個或者一個以上的程序存儲于所述存儲器中,且經(jīng)配置以由一個或者一 個以上的處理器執(zhí)行,所述一個或者一個以上的程序包含用于進行以下操作的指令:
[0021] 獲取接入配置信息,所述接入配置信息中至少包括業(yè)務標識信息、業(yè)務屬性信息、 數(shù)據(jù)源信息、接口信息及入庫信息;
[0022] 根據(jù)所述接入配置信息中的數(shù)據(jù)源信息實時采集至少一個數(shù)據(jù);
[0023] 將每個數(shù)據(jù)的協(xié)議轉換成通用協(xié)議,通過所述通用協(xié)議識別每個數(shù)據(jù)的業(yè)務屬性 信息,并按照每個數(shù)據(jù)的業(yè)務屬性信息將每個數(shù)據(jù)進行分布式存儲;
[0024] 對每個數(shù)據(jù)進行預處理及分揀處理,將分揀出的數(shù)據(jù)發(fā)送到分布式文件系統(tǒng),由 所述分布式文件系統(tǒng)進行存儲。
[0025] 還提供了一種數(shù)據(jù)處理系統(tǒng),所述系統(tǒng)包括:數(shù)據(jù)處理服務器、業(yè)務服務器和消息 服務器,所述數(shù)據(jù)處理服務器分別與所述業(yè)務服務器和消息服務器進行無線或有線連接;
[0026] 其中,所述數(shù)據(jù)處理服務器,用于獲取接入配置信息,根據(jù)所述接入配置信息中的 數(shù)據(jù)源信息實時采集所述業(yè)務服務器及所述消息服務器上的至少一個數(shù)據(jù);將每個數(shù)據(jù)的 協(xié)議轉換成通用協(xié)議,通過所述通用協(xié)議識別每個數(shù)據(jù)的業(yè)務屬性信息,并按照每個數(shù)據(jù) 的業(yè)務屬性信息將每個數(shù)據(jù)進行分布式存儲;對每個數(shù)據(jù)進行預處理及分揀處理,將分揀 出的數(shù)據(jù)發(fā)送到分布式文件系統(tǒng),由所述分布式文件系統(tǒng)進行存儲。
[0027] 本發(fā)明實施例提供的技術方案帶來的有益效果是:
[0028] 通過根據(jù)接入配置信息中的數(shù)據(jù)源信息實時采集至少一個數(shù)據(jù),并按照轉換后的 通用協(xié)議識別出的業(yè)務屬性信息將每個數(shù)據(jù)進行分布式存儲;再對每個數(shù)據(jù)進行預處理及 分揀處理,由分布式文件系統(tǒng)存儲分揀出的數(shù)據(jù),從而實現(xiàn)大量數(shù)據(jù)的實時采集及處理,并 且協(xié)議轉換可實現(xiàn)不同類型數(shù)據(jù)的接入,提高了數(shù)據(jù)處理的效率。
【專利附圖】
【附圖說明】
[0029] 為了更清楚地說明本發(fā)明實施例中的技術方案,下面將對實施例描述中所需要使 用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于 本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他 的附圖。
[0030] 圖1是本發(fā)明實施例一提供的數(shù)據(jù)處理方法流程圖;
[0031] 圖2是本發(fā)明實施例二提供的數(shù)據(jù)處理系統(tǒng)的示意圖;
[0032] 圖3是本發(fā)明實施例二提供的數(shù)據(jù)處理方法流程圖;
[0033] 圖4是本發(fā)明實施例二提供的打包結構的示意圖;
[0034] 圖5是本發(fā)明實施例二提供的實時預處理和分揀模塊中的進程的示意圖;
[0035] 圖6是本發(fā)明實施例三提供的第一種數(shù)據(jù)處理裝置的結構示意圖;
[0036] 圖7是本發(fā)明實施例三提供的處理模塊的結構示意圖;
[0037] 圖8是本發(fā)明實施例三提供的第二種數(shù)據(jù)處理裝置的結構示意圖;
[0038] 圖9是本發(fā)明實施例三提供的發(fā)送單元的結構示意圖;
[0039] 圖10是本發(fā)明實施例三提供的第三種數(shù)據(jù)處理裝置的結構示意圖;
[0040] 圖11是本發(fā)明實施例三提供的第四種數(shù)據(jù)處理裝置的結構示意圖;
[0041] 圖12是本發(fā)明實施例四提供的一種服務器的結構示意圖。
【具體實施方式】
[0042] 為使本發(fā)明的目的、技術方案和優(yōu)點更加清楚,下面將結合附圖對本發(fā)明實施方 式作進一步地詳細描述。
[0043] 實施例一
[0044] 本發(fā)明實施例提供了 一種數(shù)據(jù)處理方法,參見圖1,本實施例提供的方法流程包 括:
[0045] 101 :獲取接入配置信息,接入配置信息中至少包括業(yè)務標識信息、業(yè)務屬性信息、 數(shù)據(jù)源信息、接口信息及入庫信息。
[0046] 102 :根據(jù)接入配置信息中的數(shù)據(jù)源信息實時采集至少一個數(shù)據(jù)。
[0047] 103:將每個數(shù)據(jù)的協(xié)議轉換成通用協(xié)議,通過通用協(xié)議識別每個數(shù)據(jù)的業(yè)務屬性 信息,并按照每個數(shù)據(jù)的業(yè)務屬性信息將每個數(shù)據(jù)進行分布式存儲。
[0048] 進一步地,按照每個數(shù)據(jù)的業(yè)務屬性信息將每個數(shù)據(jù)進行分布式存儲,包括:
[0049] 根據(jù)每個數(shù)據(jù)的業(yè)務屬性信息將每個數(shù)據(jù)發(fā)送至對應的存儲設備,由每個存儲設 備將接收到的數(shù)據(jù)存儲到本地硬盤,并緩存至內存;
[0050] 通過一至多個解析進程讀取存儲的每個數(shù)據(jù),包括:
[0051] 通過一至多個解析進程讀取每個存儲設備的內存中存儲的每個數(shù)據(jù)。
[0052] 104:對每個數(shù)據(jù)進行預處理及分揀處理,將分揀出的數(shù)據(jù)發(fā)送到分布式文件系 統(tǒng),由分布式文件系統(tǒng)進行存儲。
[0053] 進一步地,對每個數(shù)據(jù)進行預處理及分揀處理,將分揀出的數(shù)據(jù)發(fā)送到分布式文 件系統(tǒng),包括:
[0054] 通過一至多個解析進程讀取存儲的每個數(shù)據(jù),并獲取每個數(shù)據(jù)的業(yè)務屬性信息、 接口屬性信息及時間屬性信息,屬性信息相同的數(shù)據(jù)構成一個數(shù)據(jù)單元,將同一數(shù)據(jù)單元 中的數(shù)據(jù)發(fā)送至同一分揀進程;
[0055] 通過每個分揀進程緩存接收到的數(shù)據(jù)單元中的數(shù)據(jù),當緩存寫滿后,將緩存中的 數(shù)據(jù)添加到本地文件上,并在本地文件達到預設大小后,將本地文件中的數(shù)據(jù)上傳至分布 式文件系統(tǒng)。
[0056] 進一步地,在根據(jù)通用協(xié)議識別每個數(shù)據(jù)的業(yè)務屬性信息時,根據(jù)通用協(xié)議識別 每個數(shù)據(jù)的接口屬性信息及時間屬性信息;
[0057] 獲取每個數(shù)據(jù)的業(yè)務屬性信息、接口屬性信息及時間屬性信息,包括:
[0058] 獲取通過通用協(xié)議識別出的每個數(shù)據(jù)的業(yè)務屬性信息、接口屬性信息及時間屬性 信息。
[0059] 可選地,獲取每個數(shù)據(jù)的業(yè)務屬性信息、接口屬性信息及時間屬性信息,包括:
[0060] 獲取通過通用協(xié)議識別出的每個數(shù)據(jù)的業(yè)務屬性信息,并通過一至多個解析進程 解析每個數(shù)據(jù)的接口屬性信息及時間屬性信息。
[0061] 進一步地,將同一數(shù)據(jù)單元中的數(shù)據(jù)發(fā)送至同一分揀進程,包括:
[0062] 根據(jù)每個數(shù)據(jù)的業(yè)務屬性信息、接口屬性信息及時間屬性信息計算每個數(shù)據(jù)對應 的哈希值,同一數(shù)據(jù)單元中的數(shù)據(jù)對應相同哈希值;
[0063] 將對應相同哈希值的數(shù)據(jù)發(fā)送至同一分揀線程。
[0064] 進一步地,通過每個分揀進程接收到數(shù)據(jù)單元中的第一個數(shù)據(jù)后,向對應的對賬 進程發(fā)送數(shù)據(jù)單元的創(chuàng)建信息,并通過每個分揀進程接收到數(shù)據(jù)單元的最后一個數(shù)據(jù)后, 向對應的對賬進程發(fā)送數(shù)據(jù)單元的結束信息;
[0065] 通過對賬進程收集構成數(shù)據(jù)單元的數(shù)據(jù)條數(shù),并根據(jù)數(shù)據(jù)單元的數(shù)據(jù)條數(shù)生成對 賬文件,將對賬文件上傳至對應的分布式文件系統(tǒng),由分布式文件信息記錄對賬文件,用以 標識數(shù)據(jù)單元分揀完成。
[0066] 進一步地,在傳輸每個數(shù)據(jù)之前,按照預設格式將每個數(shù)據(jù)進行打包及壓縮處理, 并在每個數(shù)據(jù)的傳輸過程中傳輸打包壓縮后的數(shù)據(jù);
[0067] 其中,預設格式包括特殊字段、創(chuàng)建時間字段、子包數(shù)目字段、子包字段,每個子包 字段包括屬性字段和包體字段,包體字段包括包體長度字段、包體壓縮字段及包體包含的 消息字段。
[0068] 本發(fā)明實施例提供的方法,通過接入配置信息中的數(shù)據(jù)源信息實時采集至少一個 數(shù)據(jù),并按照轉換后的通用協(xié)議識別出的業(yè)務屬性信息將每個數(shù)據(jù)進行分布式存儲;再對 每個數(shù)據(jù)進行預處理及分揀處理,由分布式文件系統(tǒng)存儲分揀出的數(shù)據(jù),從而實現(xiàn)大量數(shù) 據(jù)的實時采集及處理,并且協(xié)議轉換可實現(xiàn)不同類型數(shù)據(jù)的接入,提高了數(shù)據(jù)處理的效率。
[0069] 實施例二
[0070] 本發(fā)明實施例提供了一種數(shù)據(jù)處理方法,為了便于理解,結合上述實施例一的內 容,以如圖2所示的數(shù)據(jù)處理系統(tǒng)為例,對本發(fā)明實施例提供的數(shù)據(jù)處理方法進行詳細地 解釋說明。其中,圖2所示的數(shù)據(jù)處理系統(tǒng)包括:數(shù)據(jù)處理服務器、業(yè)務服務器以及消息服 務器;數(shù)據(jù)處理服務器包括配置管理中心模塊、數(shù)據(jù)采集模塊、數(shù)據(jù)接入模塊、分布式數(shù)據(jù) 緩存模塊、實時預處理和分揀模塊以及故障檢測模塊,參見圖3,方法流程包括:
[0071] 301 :獲取接入配置信息,接入配置信息中至少包括業(yè)務標識信息、業(yè)務屬性信息、 數(shù)據(jù)源信息、接口信息及入庫信息。
[0072] 關于獲取接入配置信息的方式,本實施例不作具體限定。具體實施時,可以提供交 互界面,獲取用戶通過交互界面輸入的配置信息,并將用戶輸入的配置信息作為獲取到的 接入配置信息。
[0073] 為了便于理解,以如圖2所示的配置管理中心模塊獲取接入配置信息為例,用戶 對數(shù)據(jù)進行配置的過程包括但不限于:申請業(yè)務標識;填寫具體業(yè)務的業(yè)務屬性;配置數(shù) 據(jù)源信息;配置接口信息;配置接入分布式文件系統(tǒng)信息。
[0074] 優(yōu)選地,配置管理中心模塊將獲取到的接入配置信息寫入配置文件,并存儲該配 置文件后,該配置管理中心模塊向系統(tǒng)中的其他模塊同步接入配置信息,以根據(jù)接入配置 信息觸發(fā)系統(tǒng)中的其他模塊啟動數(shù)據(jù)處理。另外,對于數(shù)據(jù)源信息是數(shù)據(jù)庫或文件的數(shù)據(jù), 配置管理中心會在業(yè)務服務器中安裝數(shù)據(jù)采集模塊,以便能夠采集上述兩類數(shù)據(jù)源的數(shù) 據(jù)。
[0075] 302 :根據(jù)接入配置信息中的數(shù)據(jù)源信息實時采集至少一個數(shù)據(jù)。
[0076] 關于采集數(shù)據(jù)的方式,本實施例不作具體限定。具體實施時,對于不同數(shù)據(jù)源信息 的數(shù)據(jù),需要使用不同的采集方式采集數(shù)據(jù)。例如,對于數(shù)據(jù)庫或文件這兩種數(shù)據(jù)源的數(shù) 據(jù),需要使用配置管理中心預先安裝的數(shù)據(jù)采集模塊來采集數(shù)據(jù);對于其他數(shù)據(jù)源的數(shù)據(jù), 則可以直接使用業(yè)務服務器以及消息服務器來采集待處理數(shù)據(jù)。
[0077] 進一步地,采集數(shù)據(jù)時,接入配置信息中的數(shù)據(jù)源信息所對應的數(shù)據(jù)源產生一個 數(shù)據(jù)就可以及時發(fā)現(xiàn)一個數(shù)據(jù),并讀取一個數(shù)據(jù),從而產生一個數(shù)據(jù)就可以采集一個數(shù)據(jù), 使數(shù)據(jù)實時被采集。需要說明的是,從數(shù)據(jù)產生到采集的延時可以根據(jù)實際情況進行設置, 通常情況下時延的單位級別是毫秒。例如,對于離線數(shù)據(jù)等對實時性要求不高的場景,可以 設置最大延時時間為10秒;而對于實時性要求較高的場景,則可以設置最大延時時間為1 秒或者更少的時間。
[0078] 另外,根據(jù)接入配置信息中的數(shù)據(jù)源信息實時采集至少一個數(shù)據(jù)后,還包括但不 限于:傳輸采集到的數(shù)據(jù)。為了便于理解,以如圖2所示的系統(tǒng)為例進行說明,數(shù)據(jù)采集模 塊將采集到的數(shù)據(jù)發(fā)送給數(shù)據(jù)接入模塊,從而由數(shù)據(jù)采集模塊將采集到的數(shù)據(jù)傳輸?shù)綌?shù)據(jù) 接入1旲塊。
[0079] 優(yōu)選地,為了提高數(shù)據(jù)的傳輸效率和系統(tǒng)利用率,在傳輸每個數(shù)據(jù)之前,本實施例 提供的方法按照預設格式將每個數(shù)據(jù)進行打包及壓縮處理,并在每個數(shù)據(jù)的傳輸過程中傳 輸打包壓縮后的數(shù)據(jù)。其中,預設格式包括特殊字段、創(chuàng)建時間字段、子包數(shù)目字段、子包字 段,每個子包字段包括屬性字段和包體字段,包體字段包括包體長度字段、包體壓縮字段及 包體包含的消息字段。
[0080] 為了便于理解,以如圖4所示的打包結構為例進行說明。數(shù)據(jù)進行打包及壓縮處 理后,得到數(shù)據(jù)包,數(shù)據(jù)包的結構包括:(1) magic,表示特殊字段,用于標識打包結構,在數(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] 進一步地,body還包括:(1) body len,表示包體長度;(2) compress,表示子包是 否被壓縮;(3)時間消息,以長度+信息的格式進行排列。通過上述打包結構提高了系統(tǒng)中 數(shù)據(jù)的傳輸效率以及系統(tǒng)的利用率。
[0082] 303:將每個數(shù)據(jù)的協(xié)議轉換成通用協(xié)議,通過通用協(xié)議識別每個數(shù)據(jù)的業(yè)務屬性 信息。
[0083] 其中,數(shù)據(jù)接入的單元是業(yè)務,一般來說一個業(yè)務數(shù)據(jù)對應于一個具體的產品、業(yè) 務的數(shù)據(jù),一個業(yè)務數(shù)據(jù)擁有一個唯一的業(yè)務標識。通常一個業(yè)務包含多個接口,一個接口 一般表示一張具體的數(shù)據(jù)表,有著統(tǒng)一的數(shù)據(jù)模式(schema,如數(shù)據(jù)庫中的表)。此外,數(shù)據(jù) 還具有對應的時間屬性,表達一個數(shù)據(jù)的時間,通常代表數(shù)據(jù)的產生時間,此處稱之為數(shù)據(jù) 時間。因此,任何一個數(shù)據(jù)都是由業(yè)務、接口、時間這三個維度決定的,即每個數(shù)據(jù)都包含業(yè) 務屬性、接口屬性及時間屬性。
[0084] 當然,一個數(shù)據(jù)除了包含以上定義的三種屬性以外,還包含其他的屬性,本實施例 不對數(shù)據(jù)的具體屬性進行限定。例如:數(shù)據(jù)來源(文件,數(shù)據(jù)庫,消息);數(shù)據(jù)格式(有分隔符 的文本數(shù)據(jù),KV表達的數(shù)據(jù),JS0N數(shù)據(jù),PB數(shù)據(jù),其他二進制格式的數(shù)據(jù));數(shù)據(jù)解析方法, 如何得出前面所述的三個屬性的方法(在數(shù)據(jù)附帶屬性中定義,在數(shù)據(jù)內部解析,在數(shù)據(jù)配 置文件中定義等);對于有分隔符的數(shù)據(jù)還包含分隔符屬性;對于在數(shù)據(jù)內部解析時間的數(shù) 據(jù),還包括數(shù)據(jù)時間格式的屬性。
[0085] 由于不同類型數(shù)據(jù)采用的協(xié)議不同,為了能夠識別出每種類型數(shù)據(jù)的業(yè)務屬性信 息,本實施例提供的方法采取了將每個數(shù)據(jù)的協(xié)議轉換成通用協(xié)議的方式,從而能夠通過 通用協(xié)議識別每個數(shù)據(jù)的業(yè)務屬性信息。
[0086] 例如,通過數(shù)據(jù)采集模塊采集數(shù)據(jù)時,通常情況下采集到的數(shù)據(jù)采用內部協(xié)議,將 采集到的數(shù)據(jù)的協(xié)議進行替換后就可以將數(shù)據(jù)的協(xié)議轉換成通用協(xié)議。
[0087] 又例如,通過業(yè)務服務器采集數(shù)據(jù)時,通常情況下采集到的數(shù)據(jù)采用六段協(xié)議或 業(yè)務自定義協(xié)議。對于采用六段協(xié)議的數(shù)據(jù),數(shù)據(jù)接入模塊將六段協(xié)議按照通用協(xié)議進行 轉換;對于采用業(yè)務自定義協(xié)議的數(shù)據(jù),需要通過特定的數(shù)據(jù)端口接入數(shù)據(jù)接入模塊,再通 過定制的數(shù)據(jù)解析插件對數(shù)據(jù)進行協(xié)議轉換。
[0088] 通過對數(shù)據(jù)進行協(xié)議轉換,使各種數(shù)據(jù)源的數(shù)據(jù)都可以通過數(shù)據(jù)接入模塊接入系 統(tǒng),擴大了數(shù)據(jù)處理的應用范圍。實際應用中,可以將常用的數(shù)據(jù)總結成系統(tǒng)能處理的相對 應的數(shù)據(jù)模式。對于新接入的數(shù)據(jù),如果在數(shù)據(jù)模式之內,則可以直接接入;如果在數(shù)據(jù)模 式之外,則需要開發(fā)相應的解析插件,并通過調用相應的解析插件完成數(shù)據(jù)的協(xié)議轉換,進 而簡化數(shù)據(jù)的接入。需要說明的是,此處的解析插件用于將每個數(shù)據(jù)的協(xié)議轉換成通用協(xié) 議,是協(xié)議層的解析插件,本實施例不對解析插件的開發(fā)過程進行限定。
[0089] 由于已經(jīng)將每個數(shù)據(jù)的協(xié)議轉換成通用協(xié)議,則通過通用協(xié)議識別每個數(shù)據(jù)的業(yè) 務屬性信息時,對于采用內部協(xié)議或六段協(xié)議的數(shù)據(jù),可直接在協(xié)議內部識別數(shù)據(jù)的業(yè)務 屬性信息;對于采用業(yè)務自定義協(xié)議的數(shù)據(jù),需要通過配置文件查找數(shù)據(jù)的業(yè)務屬性信息, 將查找到業(yè)務屬性信息作為識別到的業(yè)務屬性信息。
[0090] 進一步地,通過通用協(xié)議識別每個數(shù)據(jù)的業(yè)務屬性信息,實現(xiàn)了對數(shù)據(jù)初步的解 析;對于一些數(shù)據(jù),還可根據(jù)通用協(xié)議識別每個數(shù)據(jù)的接口屬性信息及時間屬性信息,避免 了后續(xù)步驟中解析進程解析每個數(shù)據(jù)的接口屬性信息及時間屬性信息,提高了數(shù)據(jù)處理的 效率。
[0091] 對于接口屬性信息,一些數(shù)據(jù)的接口信息可以在通用協(xié)議中識別,另外一些數(shù)據(jù) 則需要在數(shù)據(jù)內容中識別接口信息,具體識別方式詳見后續(xù)步驟中的內容;時間屬性信息 與接口屬性信息類似,此處不再贅述,不同的是,大部分數(shù)據(jù)的時間屬性都可在通用協(xié)議中 識別。
[0092] 304 :根據(jù)每個數(shù)據(jù)的業(yè)務屬性信息將每個數(shù)據(jù)發(fā)送至對應的存儲設備,由每個存 儲設備將接收到的數(shù)據(jù)存儲到本地硬盤,并緩存至內存。
[0093] 根據(jù)每個數(shù)據(jù)的業(yè)務屬性信息將每個數(shù)據(jù)發(fā)送至對應的存儲設備時,也可以先按 照預設格式將每個數(shù)據(jù)進行打包及壓縮處理,發(fā)送打包壓縮后的數(shù)據(jù)至對應的存儲設備。 關于打包壓縮的具體內容,詳見上述步驟302中的內容,此處不再贅述。另外,打包壓縮時, 將識別出的業(yè)務屬性信息、接口屬性信息及時間屬性信息作為數(shù)據(jù)的屬性信息與數(shù)據(jù)一同 打包壓縮并發(fā)送至對應的存儲設備。其中,不同業(yè)務屬性信息對應不同業(yè)務屬性標識,不同 業(yè)務屬性標識對應存儲設備中不同業(yè)務主題。
[0094] 根據(jù)每個數(shù)據(jù)的業(yè)務屬性信息將每個數(shù)據(jù)發(fā)送至對應的存儲設備,還包括但不限 于:確定存儲設備可以接收的業(yè)務主題;根據(jù)確定的業(yè)務主題向將每個數(shù)據(jù)發(fā)送至對應的 存儲設備。
[0095] 例如,分布式數(shù)據(jù)緩存模塊接收數(shù)據(jù)接入模塊發(fā)送的數(shù)據(jù),按照數(shù)據(jù)的業(yè)務屬性 信息以及分布式數(shù)據(jù)緩存模塊確定的可以接收的業(yè)務主題,將數(shù)據(jù)存儲到本地硬盤,并緩 存至內存。具體實施時,存儲設備可以是一組服務器,確定每個服務器可以接收的業(yè)務主 題,又由于不同業(yè)務屬性信息對應不同業(yè)務屬性標識,不同業(yè)務屬性標識對應服務器中不 同業(yè)務主題,則將不同數(shù)據(jù)業(yè)務屬性的數(shù)據(jù)發(fā)送到不同的服務器上,從而實現(xiàn)了數(shù)據(jù)的混 洗,減少數(shù)據(jù)的傾斜,還能達到數(shù)據(jù)隔離的作用。
[0096] 進一步地,通過存儲設備將接收到的數(shù)據(jù)存儲到本地硬盤可以將使數(shù)據(jù)持久化, 避免數(shù)據(jù)丟失,保證數(shù)據(jù)的完整性;通過存儲設備將接收到的數(shù)據(jù)緩存至內存,從而在系統(tǒng) 故障導致阻塞時,數(shù)據(jù)可以大量積壓在內存中,而不會對系統(tǒng)有任何影響,從而保護故障系 統(tǒng)不受大數(shù)據(jù)量的沖擊;另外,通過緩存還可以對系統(tǒng)中的其他模塊進行隔離,避免一個模 塊出現(xiàn)故障后,影響其他模塊。
[0097]另外,針對不同模塊的故障,本發(fā)明實施例提供多層的容災恢復功能。例如,在如 圖2所示的結構圖中,還包括故障檢測模塊,通過該故障檢測模塊對數(shù)據(jù)處理系統(tǒng)中的各 個模塊進行故障檢測。如果檢測到實時預處理和分揀模塊出現(xiàn)故障,導致數(shù)據(jù)丟失,則可以 從分布式數(shù)據(jù)緩存模塊中回退到某個檢查站進行回退,由于分布式數(shù)據(jù)緩存模塊的本質是 一個消息隊列,因此回退僅需要付出很小的代價。
[0098] 如果檢測到分布式數(shù)據(jù)緩存模塊出現(xiàn)故障,則根據(jù)實際應用中不同數(shù)據(jù)的重要 性,提供了兩種解決方案:
[0099] 第一種方案:對于數(shù)據(jù)重要性不高的場景,分布式數(shù)據(jù)緩存模塊中的一個數(shù)據(jù)緩 存服務器發(fā)生故障,新增加的數(shù)據(jù)會自動切換到其他正常的數(shù)據(jù)緩存服務器中進行緩存和 存儲,這種方法會丟失少量的數(shù)據(jù),如果對整體數(shù)據(jù)沒有影響則無需恢復。
[0100] 第二種方案:對于數(shù)據(jù)重要性較高的場景,分布式數(shù)據(jù)緩存模塊中的一個數(shù)據(jù)緩 存服務器發(fā)生故障,對數(shù)據(jù)緩存服務器實施同步復制,即使用另外一個數(shù)據(jù)緩存服務器替 換故障的數(shù)據(jù)緩存服務器,從而保證數(shù)據(jù)不會丟失。
[0101] 如果是數(shù)據(jù)接入模塊或數(shù)據(jù)采集模塊發(fā)生故障,可以通過數(shù)據(jù)采集模塊重新補錄 數(shù)據(jù),從而完成數(shù)據(jù)的接入。
[0102] 通過多層的容災恢復功能,在數(shù)據(jù)處理過程中的任何一個模塊發(fā)生故障時,都可 以及時地恢復,降低了數(shù)據(jù)恢復的難度,防止故障導致雪崩;尤其對于較長的數(shù)據(jù)處理流 程,減少數(shù)據(jù)的丟失,降低了數(shù)據(jù)恢復的成本。
[0103] 305:對每個數(shù)據(jù)進行預處理及分揀處理,將分揀出的數(shù)據(jù)發(fā)送到分布式文件系 統(tǒng),由分布式文件系統(tǒng)進行存儲。
[0104] 具體地,對每個數(shù)據(jù)進行預處理及分揀處理,將分揀出的數(shù)據(jù)發(fā)送到分布式文件 系統(tǒng),包括但不限于如下步驟:
[0105] 步驟一:通過一至多個解析進程讀取存儲的每個數(shù)據(jù),并獲取每個數(shù)據(jù)的業(yè)務屬 性信息、接口屬性信息及時間屬性信息,屬性信息相同的數(shù)據(jù)構成一個數(shù)據(jù)單元,將同一數(shù) 據(jù)單元中的數(shù)據(jù)發(fā)送至同一分揀進程;
[0106] 其中,通過一至多個解析進程讀取存儲的每個數(shù)據(jù),包括但不限于:通過一至多個 解析進程讀取每個存儲設備的內存中存儲的每個數(shù)據(jù)。
[0107] 在根據(jù)通用協(xié)議識別每個數(shù)據(jù)的業(yè)務屬性信息時,包括但不限于如下兩種情況:
[0108] 第一種情況:如果根據(jù)通用協(xié)議識別每個數(shù)據(jù)的接口屬性信息及時間屬性信息, 則獲取每個數(shù)據(jù)的業(yè)務屬性信息、接口屬性信息及時間屬性信息,包括但不限于:獲取通過 通用協(xié)議識別出的每個數(shù)據(jù)的業(yè)務屬性信息、接口屬性信息及時間屬性信息。
[0109] 由于第一種情況下的解析進程無需解析數(shù)據(jù)的接口屬性信息及時間屬性信息,從 而可以提高數(shù)據(jù)預處理及分揀過程的效率。
[0110] 第二種情況:如果根據(jù)通用協(xié)議沒有識別每個數(shù)據(jù)的接口屬性信息及時間屬性信 息,則獲取每個數(shù)據(jù)的業(yè)務屬性信息、接口屬性信息及時間屬性信息,包括但不限于:獲取 通過通用協(xié)議識別出的每個數(shù)據(jù)的業(yè)務屬性信息,并通過一至多個解析進程解析每個數(shù)據(jù) 的接口屬性信息及時間屬性信息。
[0111] 第二種情況在具體實施時,可以根據(jù)讀取到的數(shù)據(jù)的業(yè)務屬性信息查找與該業(yè)務 屬性信息對應的解析插件,并調用查找到的解析插件對數(shù)據(jù)進行解析和預處理,得到數(shù)據(jù) 的接口屬性信息及時間屬性信息。另外,一個解析進程可以同時解析多個數(shù)據(jù),進而提高數(shù) 據(jù)處理的效率。
[0112] 將同一數(shù)據(jù)單元中的數(shù)據(jù)發(fā)送至同一分揀進程,包括但不限于:根據(jù)每個數(shù)據(jù)的 業(yè)務屬性信息、接口屬性信息及時間屬性信息計算每個數(shù)據(jù)對應的哈希值,同一數(shù)據(jù)單元 中的數(shù)據(jù)對應相同哈希值;將對應相同哈希值的數(shù)據(jù)發(fā)送至同一分揀線程。
[0113] 將同一數(shù)據(jù)單元中的數(shù)據(jù)發(fā)送至同一分揀進程時,還可以對數(shù)據(jù)進行打包壓縮處 理,關于打包壓縮的具體內容,詳見上述步驟302中的內容,此處不再贅述。
[0114] 例如,解析進程11對多個數(shù)據(jù)進行解析,則解析進程11將哈希值相同的數(shù)據(jù)發(fā)送 到同一個分揀進程時,根據(jù)哈希值可能將數(shù)據(jù)發(fā)送到分揀進程21、22及23中的任何一個分 揀進程,也就是說,一個解析進程對應多個分揀進程。
[0115] 步驟二:通過每個分揀進程緩存接收到的數(shù)據(jù)單元中的數(shù)據(jù),當緩存寫滿后,將緩 存中的數(shù)據(jù)添加到本地文件上,并在本地文件達到預設大小后,將本地文件中的數(shù)據(jù)上傳 至分布式文件系統(tǒng)。
[0116] 其中,緩存的預設大小可以為64KB,本地文件的預設大小可以為128MB,每個分揀 進程緩存接收到的數(shù)據(jù)單元中的數(shù)據(jù),當緩存寫滿64KB后,將緩存中的數(shù)據(jù)添加到本地文 件上,并在本地文件達到128MB后,將本地文件中的數(shù)據(jù)上傳至分布式文件系統(tǒng)。當然,緩 存及本地文件除了設置上述預設大小外,還可以設置其他預設大小,本實施例對此不作具 體限定。
[0117] 進一步地,本實施例提供的方法還包括:通過每個分揀進程接收到數(shù)據(jù)單元中的 第一個數(shù)據(jù)后,向對應的對賬進程發(fā)送數(shù)據(jù)單元的創(chuàng)建信息,并通過每個分揀進程接收到 數(shù)據(jù)單元的最后一個數(shù)據(jù)后,向對應的對賬進程發(fā)送數(shù)據(jù)單元的結束信息;對賬進程收集 構成數(shù)據(jù)單元的數(shù)據(jù)條數(shù),并根據(jù)數(shù)據(jù)單元的數(shù)據(jù)條數(shù)生成對賬文件,將對賬文件上傳至 對應的分布式文件系統(tǒng),由分布式文件信息記錄對賬文件,用以標識數(shù)據(jù)單元分揀完成。
[0118] 為了便于理解,以如圖5所示的實時預處理和分揀模塊中的進程為例進行說明。 其中,實時預處理和分揀模塊中的進程包括解析進程、分揀進程以及對賬進程;解析進程中 包括3個不同解析進程,分揀進程中包括3個不同分揀進程,對賬進程中包括2個不同對 賬進程。在每個分揀進程接收到數(shù)據(jù)單元中的第一個數(shù)據(jù)后,向對應的對賬進程發(fā)送數(shù)據(jù) 單元的創(chuàng)建信息,對賬進程在接收到創(chuàng)建數(shù)據(jù)的信息后維護一個數(shù)據(jù)單元的會話,并在每 個分揀進程接收到數(shù)據(jù)單元的最后一個數(shù)據(jù)后,向對應的對賬進程發(fā)送數(shù)據(jù)單元的結束信 息;當接收到數(shù)據(jù)單元的最后一個數(shù)據(jù)時,在達到預設時間后,分揀進程向對賬進程發(fā)送結 束會話的信息,對賬進程在接收到結束會話的信息后,結束會話。例如,如果一個數(shù)據(jù)單元 中包括5條數(shù)據(jù),則對賬進程收集構成數(shù)據(jù)單元的數(shù)據(jù)條數(shù)為5,根據(jù)數(shù)據(jù)單元的數(shù)據(jù)條數(shù) 生成對賬文件,將對賬文件上傳至對應的分布式文件系統(tǒng)。
[0119] 本發(fā)明實施例提供的方法,通過接入配置信息中的數(shù)據(jù)源信息實時采集至少一個 數(shù)據(jù),并按照轉換后的通用協(xié)議識別出的業(yè)務屬性信息將每個數(shù)據(jù)進行分布式存儲;再對 每個數(shù)據(jù)進行預處理及分揀處理,由分布式文件系統(tǒng)存儲分揀出的數(shù)據(jù),從而實現(xiàn)大量數(shù) 據(jù)的實時采集及處理,并且協(xié)議轉換可實現(xiàn)不同類型數(shù)據(jù)的接入,提高了數(shù)據(jù)處理的效率。
[0120] 實施例三
[0121] 參見圖6,本發(fā)明實施例提供了一種數(shù)據(jù)處理裝置,該裝置包括:
[0122] 獲取模塊501,用于獲取接入配置信息,接入配置信息中至少包括業(yè)務標識信息、 業(yè)務屬性信息、數(shù)據(jù)源信息、接口信息及入庫信息;
[0123] 采集模塊502,用于根據(jù)接入配置信息中的數(shù)據(jù)源信息實時采集至少一個數(shù)據(jù);
[0124] 轉換模塊503,用于將每個數(shù)據(jù)的協(xié)議轉換成通用協(xié)議;
[0125] 第一識別模塊504,用于通過通用協(xié)議識別每個數(shù)據(jù)的業(yè)務屬性信息;
[0126] 存儲模塊505,用于按照每個數(shù)據(jù)的業(yè)務屬性信息將每個數(shù)據(jù)進行分布式存儲;
[0127] 處理模塊506,用于對每個數(shù)據(jù)進行預處理及分揀處理,將分揀出的數(shù)據(jù)發(fā)送到分 布式文件系統(tǒng),由分布式文件系統(tǒng)進行存儲。
[0128] 作為一種優(yōu)選實施例,參見圖7,處理模塊506,包括:
[0129] 讀取單元5061,用于通過一至多個解析進程讀取存儲的每個數(shù)據(jù);
[0130] 獲取單元5062,用于通過一至多個解析進程獲取每個數(shù)據(jù)的業(yè)務屬性信息、接口 屬性信息及時間屬性信息,屬性信息相同的數(shù)據(jù)構成一個數(shù)據(jù)單元;
[0131] 發(fā)送單元5063,用于通過一至多個解析進程將同一數(shù)據(jù)單元中的數(shù)據(jù)發(fā)送至同一 分揀進程;
[0132] 緩存單元5064,用于通過每個分揀進程緩存接收到的數(shù)據(jù)單元中的數(shù)據(jù),當緩存 寫滿后,將緩存中的數(shù)據(jù)添加到本地文件;
[0133] 上傳單元5065,用于通過每個分揀進程在本地文件達到預設大小后,將本地文件 中的數(shù)據(jù)上傳至分布式文件系統(tǒng)。
[0134] 作為一種優(yōu)選實施例,存儲模塊505,用于根據(jù)每個數(shù)據(jù)的業(yè)務屬性信息將每個數(shù) 據(jù)發(fā)送至對應的存儲設備,由每個存儲設備將接收到的數(shù)據(jù)存儲到本地硬盤,并緩存至內 存;
[0135] 讀取單元5061,用于通過一至多個解析進程讀取每個存儲設備的內存中存儲的每 個數(shù)據(jù)。
[0136] 作為一種優(yōu)選實施例,參見圖8,該裝置還包括:
[0137] 第二識別模塊507,用于在根據(jù)通用協(xié)議識別每個數(shù)據(jù)的業(yè)務屬性信息時,根據(jù)通 用協(xié)議識別每個數(shù)據(jù)的接口屬性信息及時間屬性信息;
[0138] 獲取單元5062,用于獲取通過通用協(xié)議識別出的每個數(shù)據(jù)的業(yè)務屬性信息、接口 屬性信息及時間屬性信息。
[0139] 作為一種優(yōu)選實施例,獲取單元5062,用于獲取通過通用協(xié)議識別出的每個數(shù)據(jù) 的業(yè)務屬性信息,并通過一至多個解析進程解析每個數(shù)據(jù)的接口屬性信息及時間屬性信 肩、。
[0140] 作為一種優(yōu)選實施例,參見圖9,發(fā)送單元5063,包括:
[0141] 計算子單元50631,用于根據(jù)每個數(shù)據(jù)的業(yè)務屬性信息、接口屬性信息及時間屬性 信息計算每個數(shù)據(jù)對應的哈希值,同一數(shù)據(jù)單元中的數(shù)據(jù)對應相同哈希值;
[0142] 發(fā)送子單元50632,用于將對應相同哈希值的數(shù)據(jù)發(fā)送至同一分揀線程。
[0143] 作為一種優(yōu)選實施例,參見圖10,該裝置還包括:
[0144] 發(fā)送模塊508,用于通過每個分揀進程接收到數(shù)據(jù)單元中的第一個數(shù)據(jù)后,向對應 的對賬進程發(fā)送數(shù)據(jù)單元的創(chuàng)建信息,并通過每個分揀進程接收到數(shù)據(jù)單元的最后一個數(shù) 據(jù)后,向對應的對賬進程發(fā)送數(shù)據(jù)單元的結束信息;
[0145] 對賬模塊509,用于通過對賬進程收集構成數(shù)據(jù)單元的數(shù)據(jù)條數(shù),并根據(jù)數(shù)據(jù)單元 的數(shù)據(jù)條數(shù)生成對賬文件,將對賬文件上傳至對應的分布式文件系統(tǒng),由分布式文件信息 記錄對賬文件,用以標識數(shù)據(jù)單元分揀完成。
[0146] 作為一種優(yōu)選實施例,參見圖11,該裝置還包括:
[0147] 打包壓縮模塊510,用于在傳輸每個數(shù)據(jù)之前,按照預設格式將每個數(shù)據(jù)進行打包 及壓縮處理,并在每個數(shù)據(jù)的傳輸過程中傳輸打包壓縮后的數(shù)據(jù);
[0148] 其中,預設格式包括特殊字段、創(chuàng)建時間字段、子包數(shù)目字段、子包字段,每個子包 字段包括屬性字段和包體字段,包體字段包括包體長度字段、包體壓縮字段及包體包含的 消息字段。
[0149] 需要說明的是,本發(fā)明實施例提供的裝置可以安裝于數(shù)據(jù)處理服務器上,該數(shù)據(jù) 處理服務器可如圖2所示的數(shù)據(jù)處理服務器或實施例四所述的服務器或實施例五所述的 數(shù)據(jù)處理服務器。實際應用中,本發(fā)明實施例提供的數(shù)據(jù)處理裝置中的獲取模塊501用于 執(zhí)行如圖2所示的數(shù)據(jù)處理服務器上的配置管理中心模塊的功能;采集模塊502除了執(zhí)行 如圖2所示的數(shù)據(jù)處理服務器上的數(shù)據(jù)采集模塊的功能外,還可以采集業(yè)務服務器及消息 服務器上的其他數(shù)據(jù);轉換模塊503和第一識別模塊504用于執(zhí)行如圖2所示的數(shù)據(jù)處理 服務器上的數(shù)據(jù)接入模塊的功能;存儲模塊505用于執(zhí)行如圖2所示的數(shù)據(jù)處理服務器上 的分布式數(shù)據(jù)緩存模塊的功能;處理模塊506用于執(zhí)行如圖2所示的數(shù)據(jù)處理服務器上的 實時預處理和分揀模塊的功能。
[0150] 綜上所述,本發(fā)明實施例提供的裝置,通過接入配置信息中的數(shù)據(jù)源信息實時采 集至少一個數(shù)據(jù),并按照轉換后的通用協(xié)議識別出的業(yè)務屬性信息將每個數(shù)據(jù)進行分布式 存儲;再對每個數(shù)據(jù)進行預處理及分揀處理,由分布式文件系統(tǒng)存儲分揀出的數(shù)據(jù),從而實 現(xiàn)大量數(shù)據(jù)的實時采集及處理,并且協(xié)議轉換可實現(xiàn)不同類型數(shù)據(jù)的接入,提高了數(shù)據(jù)處 理的效率。
[0151] 實施例四
[0152] 本發(fā)明實施例提供了一種服務器,參見圖12,該服務器1200可因配置或性能不同 而產生比較大的差異,可以包括一個或一個以上中央處理器(central processing units, CPU) 1922 (例如,一個或一個以上處理器)和存儲器1932, 一個或一個以上存儲應用程序 1942或數(shù)據(jù)1944的存儲介質1930 (例如一個或一個以上海量存儲設備)。其中,存儲器 1932和存儲介質1930可以是短暫存儲或持久存儲。存儲在存儲介質1930的程序可以包 括一個或一個以上模塊(圖示沒標出),每個模塊可以包括對服務器1200中的一系列指令操 作:
[0153] 獲取接入配置信息,接入配置信息中至少包括業(yè)務標識信息、業(yè)務屬性信息、數(shù)據(jù) 源信息、接口信息及入庫信息;
[0154] 根據(jù)接入配置信息中的數(shù)據(jù)源信息實時采集至少一個數(shù)據(jù);
[0155] 將每個數(shù)據(jù)的協(xié)議轉換成通用協(xié)議,通過通用協(xié)議識別每個數(shù)據(jù)的業(yè)務屬性信 息,并按照每個數(shù)據(jù)的業(yè)務屬性信息將每個數(shù)據(jù)進行分布式存儲;
[0156] 對每個數(shù)據(jù)進行預處理及分揀處理,將分揀出的數(shù)據(jù)發(fā)送到分布式文件系統(tǒng),由 分布式文件系統(tǒng)進行存儲。
[0157] 假設上述為第一種可能的實施方式,則在第一種可能的實施方式作為基礎而提供 的第二種可能的實施方式中,服務器1200的存儲器1932中,還包含用于執(zhí)行以下操作的指 令:
[0158] 對每個數(shù)據(jù)進行預處理及分揀處理,將分揀出的數(shù)據(jù)發(fā)送到分布式文件系統(tǒng),包 括:
[0159] 通過一至多個解析進程讀取存儲的每個數(shù)據(jù),并獲取每個數(shù)據(jù)的業(yè)務屬性信息、 接口屬性信息及時間屬性信息,屬性信息相同的數(shù)據(jù)構成一個數(shù)據(jù)單元,將同一數(shù)據(jù)單元 中的數(shù)據(jù)發(fā)送至同一分揀進程;
[0160] 通過每個分揀進程緩存接收到的數(shù)據(jù)單元中的數(shù)據(jù),當緩存寫滿后,將緩存中的 數(shù)據(jù)添加到本地文件上,并在本地文件達到預設大小后,將本地文件中的數(shù)據(jù)上傳至分布 式文件系統(tǒng)。
[0161] 在第一種或第二種可能的實施方式作為基礎而提供的第三種可能的實施方式中, 服務器1200的存儲器1932中,還包含用于執(zhí)行以下操作的指令 :
[0162] 按照每個數(shù)據(jù)的業(yè)務屬性信息將每個數(shù)據(jù)進行分布式存儲,包括:
[0163] 根據(jù)每個數(shù)據(jù)的業(yè)務屬性信息將每個數(shù)據(jù)發(fā)送至對應的存儲設備,由每個存儲設 備將接收到的數(shù)據(jù)存儲到本地硬盤,并緩存至內存;
[0164] 通過一至多個解析進程讀取存儲的每個數(shù)據(jù),包括:
[0165] 通過一至多個解析進程讀取每個存儲設備的內存中存儲的每個數(shù)據(jù)。
[0166] 在第二種可能的實施方式作為基礎而提供的第四種可能的實施方式中,服務器 1200的存儲器1932中,還包含用于執(zhí)行以下操作的指令:
[0167] 在根據(jù)通用協(xié)議識別每個數(shù)據(jù)的業(yè)務屬性信息時,根據(jù)通用協(xié)議識別每個數(shù)據(jù)的 接口屬性信息及時間屬性信息;
[0168] 獲取每個數(shù)據(jù)的業(yè)務屬性信息、接口屬性信息及時間屬性信息,包括:
[0169] 獲取通過通用協(xié)議識別出的每個數(shù)據(jù)的業(yè)務屬性信息、接口屬性信息及時間屬性 信息。
[0170] 在第二種可能的實施方式作為基礎而提供的第五種可能的實施方式中,服務器 1200的存儲器1932中,還包含用于執(zhí)行以下操作的指令 :
[0171] 獲取每個數(shù)據(jù)的業(yè)務屬性信息、接口屬性信息及時間屬性信息,包括:
[0172] 獲取通過通用協(xié)議識別出的每個數(shù)據(jù)的業(yè)務屬性信息,并通過一至多個解析進程 解析每個數(shù)據(jù)的接口屬性信息及時間屬性信息。
[0173] 在第二種可能的實施方式作為基礎而提供的第六種可能的實施方式中,服務器 1200的存儲器1932中,還包含用于執(zhí)行以下操作的指令 :
[0174] 將同一數(shù)據(jù)單元中的數(shù)據(jù)發(fā)送至同一分揀進程,包括:
[0175] 根據(jù)每個數(shù)據(jù)的業(yè)務屬性信息、接口屬性信息及時間屬性信息計算每個數(shù)據(jù)對應 的哈希值,同一數(shù)據(jù)單元中的數(shù)據(jù)對應相同哈希值;
[0176] 將對應相同哈希值的數(shù)據(jù)發(fā)送至同一分揀線程。
[0177] 在第二種可能的實施方式作為基礎而提供的第七種可能的實施方式中,服務器 1200的存儲器1932中,還包含用于執(zhí)行以下操作的指令 :
[0178] 通過每個分揀進程接收到數(shù)據(jù)單元中的第一個數(shù)據(jù)后,向對應的對賬進程發(fā)送數(shù) 據(jù)單元的創(chuàng)建信息,并通過每個分揀進程接收到數(shù)據(jù)單元的最后一個數(shù)據(jù)后,向對應的對 賬進程發(fā)送數(shù)據(jù)單元的結束信息;
[0179] 通過對賬進程收集構成數(shù)據(jù)單元的數(shù)據(jù)條數(shù),并根據(jù)數(shù)據(jù)單元的數(shù)據(jù)條數(shù)生成對 賬文件,將對賬文件上傳至對應的分布式文件系統(tǒng),由分布式文件信息記錄對賬文件,用以 標識數(shù)據(jù)單元分揀完成。
[0180] 在第一種可能的實施方式作為基礎而提供的第八種可能的實施方式中,服務器 1200的存儲器1932中,還包含用于執(zhí)行以下操作的指令 :
[0181] 在傳輸每個數(shù)據(jù)之前,按照預設格式將每個數(shù)據(jù)進行打包及壓縮處理,并在每個 數(shù)據(jù)的傳輸過程中傳輸打包壓縮后的數(shù)據(jù);
[0182] 其中,預設格式包括特殊字段、創(chuàng)建時間字段、子包數(shù)目字段、子包字段,每個子包 字段包括屬性字段和包體字段,包體字段包括包體長度字段、包體壓縮字段及包體包含的 消息字段。
[0183] 更進一步地,中央處理器1922可以設置為與存儲介質1930通信,在服務器1200 上執(zhí)行存儲介質1930中的一系列指令操作。
[0184] 服務器1200還可以包括一個或一個以上電源1926, 一個或一個以上有線或無 線網(wǎng)絡接口 1950, 一個或一個以上輸入輸出接口 1958,和/或,一個或一個以上操作系統(tǒng) 1941,例如 Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,F(xiàn)reeBSDTM 等等。
[0185] 綜上所述,本發(fā)明實施例提供的服務器,通過接入配置信息中的數(shù)據(jù)源信息實時 采集至少一個數(shù)據(jù),并按照轉換后的通用協(xié)議識別出的業(yè)務屬性信息將每個數(shù)據(jù)進行分布 式存儲;再對每個數(shù)據(jù)進行預處理及分揀處理,由分布式文件系統(tǒng)存儲分揀出的數(shù)據(jù),從而 實現(xiàn)大量數(shù)據(jù)的實時采集及處理,并且協(xié)議轉換可實現(xiàn)不同類型數(shù)據(jù)的接入,提高了數(shù)據(jù) 處理的效率。
[0186] 實施例五
[0187] 本發(fā)明實施例提供了一種數(shù)據(jù)處理系統(tǒng),該系統(tǒng)包括:數(shù)據(jù)處理服務器、業(yè)務服務 器和消息服務器,數(shù)據(jù)處理服務器分別與業(yè)務服務器和消息服務器進行無線或有線連接;
[0188] 其中,數(shù)據(jù)處理服務器,用于獲取接入配置信息,根據(jù)接入配置信息中的數(shù)據(jù)源信 息實時采集業(yè)務服務器及消息服務器上的至少一個數(shù)據(jù);將每個數(shù)據(jù)的協(xié)議轉換成通用協(xié) 議,通過通用協(xié)議識別每個數(shù)據(jù)的業(yè)務屬性信息,并按照每個數(shù)據(jù)的業(yè)務屬性信息將每個 數(shù)據(jù)進行分布式存儲;對每個數(shù)據(jù)進行預處理及分揀處理,將分揀出的數(shù)據(jù)發(fā)送到分布式 文件系統(tǒng),由分布式文件系統(tǒng)進行存儲。
[0189] 作為一種優(yōu)選實施例,數(shù)據(jù)處理服務器對每個數(shù)據(jù)進行預處理及分揀處理,將分 揀出的數(shù)據(jù)發(fā)送到分布式文件系統(tǒng)時,用于通過一至多個解析進程讀取存儲的每個數(shù)據(jù), 并獲取每個數(shù)據(jù)的業(yè)務屬性信息、接口屬性信息及時間屬性信息,屬性信息相同的數(shù)據(jù)構 成一個數(shù)據(jù)單元,將同一數(shù)據(jù)單元中的數(shù)據(jù)發(fā)送至同一分揀進程;通過每個分揀進程緩存 接收到的數(shù)據(jù)單元中的數(shù)據(jù),當緩存寫滿后,將緩存中的數(shù)據(jù)添加到本地文件上,并在本地 文件達到預設大小后,將本地文件中的數(shù)據(jù)上傳至分布式文件系統(tǒng)。
[0190] 作為一種優(yōu)選實施例,數(shù)據(jù)處理服務器按照每個數(shù)據(jù)的業(yè)務屬性信息將每個數(shù)據(jù) 進行分布式存儲時,用于根據(jù)每個數(shù)據(jù)的業(yè)務屬性信息將每個數(shù)據(jù)發(fā)送至對應的存儲設 備,由每個存儲設備將接收到的數(shù)據(jù)存儲到本地硬盤,并緩存至內存;
[0191] 作為一種優(yōu)選實施例,數(shù)據(jù)處理服務器通過一至多個解析進程讀取存儲的每個數(shù) 據(jù)時,用于通過一至多個解析進程讀取每個存儲設備的內存中存儲的每個數(shù)據(jù)。
[0192] 作為一種優(yōu)選實施例,數(shù)據(jù)處理服務器,還用于在根據(jù)通用協(xié)議識別每個數(shù)據(jù)的 業(yè)務屬性信息時,根據(jù)通用協(xié)議識別每個數(shù)據(jù)的接口屬性信息及時間屬性信息;
[0193] 作為一種優(yōu)選實施例,數(shù)據(jù)處理服務器獲取每個數(shù)據(jù)的業(yè)務屬性信息、接口屬性 信息及時間屬性信息時,用于獲取通過通用協(xié)議識別出的每個數(shù)據(jù)的業(yè)務屬性信息、接口 屬性信息及時間屬性信息。
[0194] 作為一種優(yōu)選實施例,數(shù)據(jù)處理服務器獲取每個數(shù)據(jù)的業(yè)務屬性信息、接口屬性 信息及時間屬性信息時,用于獲取通過通用協(xié)議識別出的每個數(shù)據(jù)的業(yè)務屬性信息,并通 過一至多個解析進程解析每個數(shù)據(jù)的接口屬性信息及時間屬性信息。
[0195] 作為一種優(yōu)選實施例,數(shù)據(jù)處理服務器將同一數(shù)據(jù)單元中的數(shù)據(jù)發(fā)送至同一分揀 進程時,用于根據(jù)每個數(shù)據(jù)的業(yè)務屬性信息、接口屬性信息及時間屬性信息計算每個數(shù)據(jù) 對應的哈希值,同一數(shù)據(jù)單元中的數(shù)據(jù)對應相同哈希值;將對應相同哈希值的數(shù)據(jù)發(fā)送至 同一分揀線程。
[0196] 作為一種優(yōu)選實施例,數(shù)據(jù)處理服務器通過每個分揀進程接收到數(shù)據(jù)單元中的第 一個數(shù)據(jù)后,向對應的對賬進程發(fā)送數(shù)據(jù)單元的創(chuàng)建信息,并通過每個分揀進程接收到數(shù) 據(jù)單元的最后一個數(shù)據(jù)后,向對應的對賬進程發(fā)送數(shù)據(jù)單元的結束信息;通過對賬進程收 集構成數(shù)據(jù)單元的數(shù)據(jù)條數(shù),并根據(jù)數(shù)據(jù)單元的數(shù)據(jù)條數(shù)生成對賬文件,將對賬文件上傳 至對應的分布式文件系統(tǒng),由分布式文件信息記錄對賬文件,用以標識數(shù)據(jù)單元分揀完成。
[0197] 作為一種優(yōu)選實施例,數(shù)據(jù)處理服務器還用于在傳輸每個數(shù)據(jù)之前,按照預設格 式將每個數(shù)據(jù)進行打包及壓縮處理,并在每個數(shù)據(jù)的傳輸過程中傳輸打包壓縮后的數(shù)據(jù);
[0198] 其中,預設格式包括特殊字段、創(chuàng)建時間字段、子包數(shù)目字段、子包字段,每個子包 字段包括屬性字段和包體字段,包體字段包括包體長度字段、包體壓縮字段及包體包含的 消息字段。
[0199] 需要說明的是,本發(fā)明實施例提供的數(shù)據(jù)處理系統(tǒng)中的數(shù)據(jù)處理服務器上可以安 裝有數(shù)據(jù)處理裝置,該數(shù)據(jù)處理裝置可以為上述實施例三所述的數(shù)據(jù)處理裝置,具體詳見 上述實施例三的內容。
[0200] 本發(fā)明實施例提供的系統(tǒng),通過數(shù)據(jù)處理服務器根據(jù)接入配置信息中的數(shù)據(jù)源信 息實時采集業(yè)務服務器及消息服務器上的至少一個數(shù)據(jù),并按照轉換后的通用協(xié)議識別出 的業(yè)務屬性信息將每個數(shù)據(jù)進行分布式存儲;再對每個數(shù)據(jù)進行預處理及分揀處理,由分 布式文件系統(tǒng)存儲分揀出的數(shù)據(jù),從而實現(xiàn)大量數(shù)據(jù)的實時采集及處理,并且協(xié)議轉換可 實現(xiàn)不同類型數(shù)據(jù)的接入,提高了數(shù)據(jù)處理的效率。
[0201] 需要說明的是:上述實施例提供的數(shù)據(jù)處理裝置在處理數(shù)據(jù)時,僅以上述各功能 模塊的劃分進行舉例說明,實際應用中,可以根據(jù)需要而將上述功能分配由不同的功能模 塊完成,即將裝置的內部結構劃分成不同的功能模塊,以完成以上描述的全部或者部分功 能。另外,上述實施例提供的數(shù)據(jù)處理裝置與數(shù)據(jù)處理方法實施例屬于同一構思,其具體實 現(xiàn)過程詳見方法實施例,這里不再贅述。
[0202] 上述本發(fā)明實施例序號僅僅為了描述,不代表實施例的優(yōu)劣。
[0203] 本領域普通技術人員可以理解實現(xiàn)上述實施例的全部或部分步驟可以通過硬件 來完成,也可以通過程序來指令相關的硬件完成,所述的程序可以存儲于一種計算機可讀 存儲介質中,上述提到的存儲介質可以是只讀存儲器,磁盤或光盤等。
[0204] 以上所述僅為本發(fā)明的較佳實施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和 原則之內,所作的任何修改、等同替換、改進等,均應包含在本發(fā)明的保護范圍之內。
【權利要求】
1. 一種數(shù)據(jù)處理方法,其特征在于,所述方法包括: 獲取接入配置信息,所述接入配置信息中至少包括業(yè)務標識信息、業(yè)務屬性信息、數(shù)據(jù) 源信息、接口信息及入庫信息; 根據(jù)所述接入配置信息中的數(shù)據(jù)源信息實時采集至少一個數(shù)據(jù); 將每個數(shù)據(jù)的協(xié)議轉換成通用協(xié)議,通過所述通用協(xié)議識別每個數(shù)據(jù)的業(yè)務屬性信 息,并按照每個數(shù)據(jù)的業(yè)務屬性信息將每個數(shù)據(jù)進行分布式存儲; 對每個數(shù)據(jù)進行預處理及分揀處理,將分揀出的數(shù)據(jù)發(fā)送到分布式文件系統(tǒng),由所述 分布式文件系統(tǒng)進行存儲。
2. 根據(jù)權利要求1所述的方法,其特征在于,所述對所述每個數(shù)據(jù)進行預處理及分揀 處理,將分揀出的數(shù)據(jù)發(fā)送到分布式文件系統(tǒng),包括: 通過一至多個解析進程讀取存儲的每個數(shù)據(jù),并獲取每個數(shù)據(jù)的業(yè)務屬性信息、接口 屬性信息及時間屬性信息,屬性信息相同的數(shù)據(jù)構成一個數(shù)據(jù)單元,將同一數(shù)據(jù)單元中的 數(shù)據(jù)發(fā)送至同一分揀進程; 通過每個分揀進程緩存接收到的數(shù)據(jù)單元中的數(shù)據(jù),當緩存寫滿后,將緩存中的數(shù)據(jù) 添加到本地文件上,并在本地文件達到預設大小后,將所述本地文件中的數(shù)據(jù)上傳至分布 式文件系統(tǒng)。
3. 根據(jù)權利要求1或2所述的方法,其特征在于,所述按照每個數(shù)據(jù)的業(yè)務屬性信息將 每個數(shù)據(jù)進行分布式存儲,包括: 根據(jù)每個數(shù)據(jù)的業(yè)務屬性信息將每個數(shù)據(jù)發(fā)送至對應的存儲設備,由每個存儲設備將 接收到的數(shù)據(jù)存儲到本地硬盤,并緩存至內存; 所述通過一至多個解析進程讀取存儲的每個數(shù)據(jù),包括: 通過一至多個解析進程讀取每個存儲設備的內存中存儲的每個數(shù)據(jù)。
4. 根據(jù)權利要求2所述的方法,其特征在于,所述方法還包括: 在根據(jù)所述通用協(xié)議識別每個數(shù)據(jù)的業(yè)務屬性信息時,根據(jù)所述通用協(xié)議識別每個數(shù) 據(jù)的接口屬性信息及時間屬性信息; 所述獲取每個數(shù)據(jù)的業(yè)務屬性信息、接口屬性信息及時間屬性信息,包括: 獲取通過所述通用協(xié)議識別出的每個數(shù)據(jù)的業(yè)務屬性信息、接口屬性信息及時間屬性 信息。
5. 根據(jù)權利要求2所述的方法,其特征在于,所述獲取每個數(shù)據(jù)的業(yè)務屬性信息、接口 屬性信息及時間屬性信息,包括: 獲取通過所述通用協(xié)議識別出的每個數(shù)據(jù)的業(yè)務屬性信息,并通過所述一至多個解析 進程解析每個數(shù)據(jù)的接口屬性信息及時間屬性信息。
6. 根據(jù)權利要求2所述的方法,其特征在于,所述將同一數(shù)據(jù)單元中的數(shù)據(jù)發(fā)送至同 一分揀進程,包括: 根據(jù)每個數(shù)據(jù)的業(yè)務屬性信息、接口屬性信息及時間屬性信息計算每個數(shù)據(jù)對應的哈 希值,同一數(shù)據(jù)單元中的數(shù)據(jù)對應相同哈希值; 將對應相同哈希值的數(shù)據(jù)發(fā)送至同一分揀線程。
7. 根據(jù)權利要求2所述的方法,其特征在于,所述方法還包括: 通過每個分揀進程接收到數(shù)據(jù)單元中的第一個數(shù)據(jù)后,向對應的對賬進程發(fā)送所述數(shù) 據(jù)單元的創(chuàng)建信息,并通過每個分揀進程接收到所述數(shù)據(jù)單元的最后一個數(shù)據(jù)后,向所述 對應的對賬進程發(fā)送所述數(shù)據(jù)單元的結束信息; 通過所述對賬進程收集構成所述數(shù)據(jù)單元的數(shù)據(jù)條數(shù),并根據(jù)所述數(shù)據(jù)單元的數(shù)據(jù)條 數(shù)生成對賬文件,將所述對賬文件上傳至對應的分布式文件系統(tǒng),由所述分布式文件信息 記錄所述對賬文件,用以標識所述數(shù)據(jù)單元分揀完成。
8. 根據(jù)權利要求1所述的方法,其特征在于,所述方法還包括: 在傳輸每個數(shù)據(jù)之前,按照預設格式將每個數(shù)據(jù)進行打包及壓縮處理,并在每個數(shù)據(jù) 的傳輸過程中傳輸打包壓縮后的數(shù)據(jù); 其中,所述預設格式包括特殊字段、創(chuàng)建時間字段、子包數(shù)目字段、子包字段,每個子包 字段包括屬性字段和包體字段,所述包體字段包括包體長度字段、包體壓縮字段及包體包 含的消息字段。
9. 一種數(shù)據(jù)處理裝置,其特征在于,所述裝置包括: 獲取模塊,用于獲取接入配置信息,所述接入配置信息中至少包括業(yè)務標識信息、業(yè)務 屬性信息、數(shù)據(jù)源信息、接口信息及入庫信息; 采集模塊,用于根據(jù)所述接入配置信息中的數(shù)據(jù)源信息實時采集至少一個數(shù)據(jù); 轉換模塊,用于將每個數(shù)據(jù)的協(xié)議轉換成通用協(xié)議; 第一識別模塊,用于通過所述通用協(xié)議識別每個數(shù)據(jù)的業(yè)務屬性信息; 存儲模塊,用于按照每個數(shù)據(jù)的業(yè)務屬性信息將每個數(shù)據(jù)進行分布式存儲; 處理模塊,用于對每個數(shù)據(jù)進行預處理及分揀處理,將分揀出的數(shù)據(jù)發(fā)送到分布式文 件系統(tǒng),由所述分布式文件系統(tǒng)進行存儲。
10. 根據(jù)權利要求9所述的裝置,其特征在于,所述處理模塊,包括: 讀取單元,用于通過一至多個解析進程讀取存儲的每個數(shù)據(jù); 獲取單元,用于通過所述一至多個解析進程獲取每個數(shù)據(jù)的業(yè)務屬性信息、接口屬性 信息及時間屬性信息,屬性信息相同的數(shù)據(jù)構成一個數(shù)據(jù)單元; 發(fā)送單元,用于通過所述一至多個解析進程將同一數(shù)據(jù)單元中的數(shù)據(jù)發(fā)送至同一分揀 進程; 緩存單元,用于通過每個分揀進程緩存接收到的數(shù)據(jù)單元中的數(shù)據(jù),當緩存寫滿后,將 緩存中的數(shù)據(jù)添加到本地文件上; 上傳單元,用于通過每個分揀進程在本地文件達到預設大小后,將所述本地文件中的 數(shù)據(jù)上傳至分布式文件系統(tǒng)。
11. 根據(jù)權利要求9或10所述的裝置,其特征在于,所述存儲模塊,用于根據(jù)每個數(shù)據(jù) 的業(yè)務屬性信息將每個數(shù)據(jù)發(fā)送至對應的存儲設備,由每個存儲設備將接收到的數(shù)據(jù)存儲 到本地硬盤,并緩存至內存; 所述讀取單元,用于通過一至多個解析進程讀取每個存儲設備的內存中存儲的每個數(shù) 據(jù)。
12. 根據(jù)權利要求10所述的裝置,其特征在于,所述裝置還包括: 第二識別模塊,用于在根據(jù)所述通用協(xié)議識別每個數(shù)據(jù)的業(yè)務屬性信息時,根據(jù)所述 通用協(xié)議識別每個數(shù)據(jù)的接口屬性信息及時間屬性信息; 所述獲取單元,用于獲取通過所述通用協(xié)議識別出的每個數(shù)據(jù)的業(yè)務屬性信息、接口 屬性信息及時間屬性信息。
13. 根據(jù)權利要求10所述的裝置,其特征在于,所述獲取單元,用于獲取通過所述通用 協(xié)議識別出的每個數(shù)據(jù)的業(yè)務屬性信息,并通過所述一至多個解析進程解析每個數(shù)據(jù)的接 口屬性信息及時間屬性信息。
14. 根據(jù)權利要求10所述的裝置,其特征在于,所述發(fā)送單元,包括: 計算子單元,用于根據(jù)每個數(shù)據(jù)的業(yè)務屬性信息、接口屬性信息及時間屬性信息計算 每個數(shù)據(jù)對應的哈希值,同一數(shù)據(jù)單元中的數(shù)據(jù)對應相同哈希值; 發(fā)送子單元,用于將對應相同哈希值的數(shù)據(jù)發(fā)送至同一分揀線程。
15. 根據(jù)權利要求10所述的裝置,其特征在于,所述裝置還包括: 發(fā)送模塊,用于通過每個分揀進程接收到數(shù)據(jù)單元中的第一個數(shù)據(jù)后,向對應的對賬 進程發(fā)送所述數(shù)據(jù)單元的創(chuàng)建信息,并通過每個分揀進程接收到所述數(shù)據(jù)單元的最后一個 數(shù)據(jù)后,向所述對應的對賬進程發(fā)送所述數(shù)據(jù)單元的結束信息; 對賬模塊,用于通過所述對賬進程收集構成所述數(shù)據(jù)單元的數(shù)據(jù)條數(shù),并根據(jù)所述數(shù) 據(jù)單元的數(shù)據(jù)條數(shù)生成對賬文件,將所述對賬文件上傳至對應的分布式文件系統(tǒng),由所述 分布式文件信息記錄所述對賬文件,用以標識所述數(shù)據(jù)單元分揀完成。
16. 根據(jù)權利要求9所述的裝置,其特征在于,所述裝置還包括: 打包壓縮模塊,用于在傳輸每個數(shù)據(jù)之前,按照預設格式將每個數(shù)據(jù)進行打包及壓縮 處理,并在每個數(shù)據(jù)的傳輸過程中傳輸打包壓縮后的數(shù)據(jù); 其中,所述預設格式包括特殊字段、創(chuàng)建時間字段、子包數(shù)目字段、子包字段,每個子包 字段包括屬性字段和包體字段,所述包體字段包括包體長度字段、包體壓縮字段及包體包 含的消息字段。
17. -種數(shù)據(jù)處理服務器,其特征在于,所述數(shù)據(jù)處理服務器包括:一個或一個以上的 處理器和存儲器,一個或者一個以上的程序存儲于所述存儲器中,且經(jīng)配置以由一個或者 一個以上的處理器執(zhí)行,所述一個或者一個以上的程序包含用于進行以下操作的指令: 獲取接入配置信息,所述接入配置信息中至少包括業(yè)務標識信息、業(yè)務屬性信息、數(shù)據(jù) 源信息、接口信息及入庫信息; 根據(jù)所述接入配置信息中的數(shù)據(jù)源信息實時采集至少一個數(shù)據(jù); 將每個數(shù)據(jù)的協(xié)議轉換成通用協(xié)議,通過所述通用協(xié)議識別每個數(shù)據(jù)的業(yè)務屬性信 息,并按照每個數(shù)據(jù)的業(yè)務屬性信息將每個數(shù)據(jù)進行分布式存儲; 對每個數(shù)據(jù)進行預處理及分揀處理,將分揀出的數(shù)據(jù)發(fā)送到分布式文件系統(tǒng),由所述 分布式文件系統(tǒng)進行存儲。
18. -種數(shù)據(jù)處理系統(tǒng),其特征在于,所述系統(tǒng)包括:數(shù)據(jù)處理服務器、業(yè)務服務器和 消息服務器,所述數(shù)據(jù)處理服務器分別與所述業(yè)務服務器和消息服務器進行無線或有線連 接; 其中,所述數(shù)據(jù)處理服務器,用于獲取接入配置信息,根據(jù)所述接入配置信息中的數(shù)據(jù) 源信息實時采集所述業(yè)務服務器及所述消息服務器上的至少一個數(shù)據(jù);將每個數(shù)據(jù)的協(xié)議 轉換成通用協(xié)議,通過所述通用協(xié)議識別每個數(shù)據(jù)的業(yè)務屬性信息,并按照每個數(shù)據(jù)的業(yè) 務屬性信息將每個數(shù)據(jù)進行分布式存儲;對每個數(shù)據(jù)進行預處理及分揀處理,將分揀出的 數(shù)據(jù)發(fā)送到分布式文件系統(tǒng),由所述分布式文件系統(tǒng)進行存儲。
【文檔編號】G06F17/30GK104090891SQ201310683684
【公開日】2014年10月8日 申請日期:2013年12月12日 優(yōu)先權日:2013年12月12日
【發(fā)明者】田萬鵬 申請人:深圳市騰訊計算機系統(tǒng)有限公司